Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ulduar: Convert Flame Leviathan to BossAI & Spell Lists #429

Draft
wants to merge 104 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
345932e
Add Meson Build System to CMaNGOS WotLK
insunaa Oct 9, 2022
aeed048
Meson: Add SQLite
insunaa Feb 4, 2024
4493100
Meson: Update wrap dependencies
insunaa Feb 5, 2024
bdf12d3
Meson: Fix some Windows issues
insunaa Feb 6, 2024
a7247f8
Meson: Remove Experiment
insunaa Feb 7, 2024
fafb149
Meson: Add license, minimum version, fix PCH
insunaa Feb 19, 2024
5416170
Add changes to Log.h
insunaa Mar 14, 2024
e494004
Meson: Remove unused files
insunaa May 3, 2024
064e206
Meson: Ignore Modules
insunaa May 4, 2024
3474443
Meson: Add Botanica changes
insunaa May 10, 2024
459dda3
BossAI: Add Queued Casts
insunaa Dec 21, 2022
a8763ba
BossAI: Add timed respawn on evade
insunaa Dec 28, 2022
74372b3
BossAI: Add despawning of subordinates on Evade
insunaa Dec 28, 2022
3223183
BossAI: Add Resettable Values
insunaa Dec 29, 2022
561bbd4
Ulduar: Convert Flame Leviathan to BossAI + Spell Lists
insunaa Jan 9, 2023
fe870e1
Ulduar: Minor Leviathan improvements.
insunaa Jan 9, 2023
da34332
Ulduar: Get Flame Leviathan to a working state
insunaa Jan 10, 2023
1cf967c
Vehicles/Transport: Fix boarding with existing driver
insunaa Jan 10, 2023
d0dd15e
Vehicles: Also count passengers inside of passengers
insunaa Jan 11, 2023
fa4ba94
Vehicles: More Vehicle fixes
insunaa Jan 15, 2023
e0453c0
Ulduar: Leviathan Fixes
insunaa Jan 15, 2023
b05350a
BossAI: Minor execution order fix
insunaa Jan 15, 2023
7ebd046
Ulduar: Add Smoke Trail spellscript
insunaa Jan 16, 2023
861d3d2
Ulduar: Ensure SpellClick is active during Leviathan encounter
insunaa Jan 16, 2023
7295fb7
Ulduar: Add Spellscript for Parachute
insunaa Jan 16, 2023
b87b748
Ulduar: Remove incorrect line, add comment
insunaa Jan 16, 2023
797505b
Ulduar: Unmagic some magic numbers
insunaa Jan 16, 2023
a9137aa
Ulduar: Fix targeting reticle npc issues
insunaa Jan 28, 2023
9cb4edd
Ulduar: Minor Leviathan fixes
insunaa Jan 30, 2023
7978b49
Ulduar: Fix demolisher energy-sync & Targetting issues
insunaa Feb 5, 2023
fd17676
Ulduar: Flip seat Power sync
insunaa Feb 5, 2023
9575c50
Ulduar: Minor Leviathan fixes
insunaa Feb 5, 2023
682d375
Fix Hodir's Fury Reticle
insunaa Feb 10, 2023
3184b3f
Ulduar: Add Leashing to Flame Leviathan
insunaa Feb 13, 2023
ac5d9c2
Ulduar: fix spellscript for eject passenger 1
insunaa Feb 13, 2023
c0872c1
Ulduar: Partially fix initial Leviathan Gossip
insunaa Feb 13, 2023
07c40de
Ulduar: Fix friendly fire by vehicles
insunaa Feb 13, 2023
4b06d00
Ulduar: Open Leviathan door on Fail
insunaa Feb 13, 2023
b502789
Ulduar: Make Thorim's Hammer repeatable
insunaa Feb 13, 2023
38c21f6
Ulduar: Fix Freya-Tower
insunaa Feb 13, 2023
bf70bcc
Ulduar: Fix Hodir's Fury
insunaa Feb 13, 2023
04846c6
Ulduar: Fix Thorim's Hammer
insunaa Feb 13, 2023
c644ad7
Ulduar: Rework Demolisher Energy
insunaa Feb 14, 2023
3e82a80
Ulduar: Make Bosses immune to Knockback
insunaa Feb 14, 2023
0571977
Ulduar: Implement Ready to Fly spell and fix seat ejections
insunaa Feb 14, 2023
a8cb513
Ulduar: Minor semantic fix
insunaa Feb 14, 2023
58a2623
Ulduar: Fix Visibility for Destructible Buildings
insunaa Feb 14, 2023
863a32c
Allow triggering spell to serve as casterauraspell
insunaa Feb 16, 2023
205c301
Ulduar: Fully working pyrite refuel
insunaa Feb 16, 2023
8ae5a06
Ulduar: Final(ish) Pyrite Refueling fix
insunaa Feb 16, 2023
d52fa0b
Ulduar: Fix Friendly Fire for AA Rocket
insunaa Feb 16, 2023
37602e1
Ulduar: Fix Mechanolifts
insunaa Feb 16, 2023
3f882c1
Ulduar: Implement Serverside Pyrite Spell
insunaa Feb 16, 2023
d66a18e
Ulduar: neutral targetting for pyrite spells
insunaa Feb 16, 2023
240ef50
Leviathan: Cleanup
insunaa Feb 16, 2023
fff90e2
Ulduar: Improve vehicle spellclick behaviour
insunaa Feb 17, 2023
ef96342
WotLK: add Eject Passenger (Chopper) SpellScript
insunaa Feb 17, 2023
2099ddb
Ulduar: Spawn dead-by-default vehicles as dead
insunaa Feb 17, 2023
edf0040
Vehicles: Eject Passengers across subvehicles
insunaa Feb 17, 2023
6e97ccc
Ulduar: Fix BCTs for Leviathan
insunaa Feb 17, 2023
1e6f791
Ulduar: Kill Leviathan Adds on death
insunaa Feb 17, 2023
e1fe8db
Ulduar: Make reticles float for spell visibility
insunaa Feb 17, 2023
19c86ce
Ulduar: Increase Bubble visbility
insunaa Feb 17, 2023
e290b66
Ulduar: Fix Freya's Ward spawn (Levi)
insunaa Feb 17, 2023
2a006f9
Ulduar: Improve Hookshot Aura and Shutdown BCT
insunaa Feb 17, 2023
5c929d1
Leviathan: Update SD2 comment
insunaa Feb 17, 2023
99a042e
Ulduar: Improve Salvaged Chopper
insunaa Feb 18, 2023
eb42a7a
Ulduar: Cleanup in Leviathan code
insunaa Feb 18, 2023
6194315
Ulduar: Simplify Chopper code slightly
insunaa Feb 18, 2023
831429f
Ulduar: Temporarily disable trigger spell
insunaa Feb 19, 2023
6a543de
Ulduar: Use new vehicle hooks
insunaa Feb 19, 2023
270f9d9
Respect Knockback Immunity
insunaa Jun 17, 2023
028af43
Spell: Handle Knockback immunity in boss script
insunaa Jun 17, 2023
fa5a675
Vehicles: Ensure vehicle attachments stay attached
insunaa Jun 17, 2023
3ec691d
Ulduar: Use BossAI door controls for Leviathan
insunaa Jun 17, 2023
de5587d
Spells: Allow secondary target checking for area auras
insunaa Jun 17, 2023
a96257c
Fix Mimiron's Fury
insunaa Jun 17, 2023
1b9ab9c
Spells: Allow secondary target checking for area auras
insunaa Jun 17, 2023
26c301e
Ulduar: Fix AreaAuraCheck for Leviathan
insunaa Jun 17, 2023
49f8429
Vehicles: Allow switching between vehicles from within vehicles
insunaa Aug 4, 2023
f409f49
Spells: Add Spellscripts to spell.sql
insunaa Aug 4, 2023
dd390cc
BossAI: Minor Leviathan touchups
insunaa Oct 27, 2023
bf65c98
BossAI: prepare for rebase
insunaa Oct 28, 2023
49cd268
Leviathan: Use string_ids
insunaa Oct 28, 2023
f21c920
BossAI: Only target Flame Leviathan and Friends for hardmode spell
insunaa Oct 28, 2023
64c3d85
BossAI: cleanup
insunaa Oct 28, 2023
12f1a38
Ulduar: Fix OnAreaAuraCheckTarget invocation
insunaa Jan 12, 2024
a34d3f1
Ulduar: Leviathan optimizations
insunaa Jan 12, 2024
24cf1ed
Ulduar: Update Spellscript data
insunaa Jan 13, 2024
59a0d98
Vehicles: Fix various issues
insunaa Jan 27, 2024
d37fbe6
Vehicles: Fix switching seats
insunaa Jan 28, 2024
a003294
Leviathan: Remove debug-print include
insunaa Jun 13, 2024
aa6ae54
Leviathan: Fix door
insunaa Jun 13, 2024
636b7bd
Vehicles: Don't respawn entities in non-existent seats
insunaa Jun 13, 2024
c0df9dd
Vehicles: Remove check for switching vehicles directly
insunaa Jul 10, 2024
87a9734
Vehicle: Fix memory leak
insunaa Jul 10, 2024
f4aebf1
BossAI: Remove resettable values
insunaa Jul 10, 2024
c050497
BossAI: Remove Subordinate-Despawn
insunaa Jul 10, 2024
946ff36
BossAI: Change documentation for QueuedCasts
insunaa Jul 10, 2024
0f3571c
Ulduar: Remove unneeded Leviathan changes
insunaa Jul 10, 2024
a43c2d7
Vehicle: Style Changes
insunaa Jul 10, 2024
b380c7d
Vehicle: Return unit to passive instead of aggressive after unboarding
insunaa Jul 10, 2024
477979a
Leviathan: Minor style changes
insunaa Jul 10, 2024
74d9cc6
Leviathan: Fix friendly fire and mulitboarding
insunaa Jul 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ cmake_install.cmake
# Special exceptions
#

src/modules

# recastnavigation directory needs exception
!dep/recastnavigation/RecastDemo/Build/
/_build/
18 changes: 18 additions & 0 deletions contrib/extractor/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
ad_sources = [
'loadlib/loadlib.cpp',
'loadlib/adt.cpp',
'loadlib/wdt.cpp',
'dbcfile.cpp',
'mpq_libmpq.cpp',
'System.cpp',
]

executable('ad',
ad_sources,
link_with: [lib_libmpq],
include_directories: global_includes,
dependencies: [boost_dep, zlib_dep],
link_args: _linker_args,
install_dir: 'bin/tools',
install: true
)
3 changes: 3 additions & 0 deletions contrib/git_id/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
executable('git_id',
'git_id.cpp',
)
51 changes: 51 additions & 0 deletions contrib/mmap/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
movemapgen_args = ''
movemapgen_args = [movemapgen_args, '-DMMAP_GENERATOR', '-DNO_CORE_FUNCS', '-DNO_vsnprintf', '-DDT_POLYREF64']
movemapgen_sources = [
'src/generator.cpp',
'src/IntermediateValues.cpp',
'src/MapBuilder.cpp',
'src/TerrainBuilder.cpp',
'src/VMapExtensions.cpp'
]

if build_machine.system() == 'linux'
movemapgen_args = [movemapgen_args, '-ggdb']
endif

vmaplib = static_library('vmaplib',
['../../src/game/Vmap/BIH.cpp', '../../src/game/Vmap/VMapManager2.cpp', '../../src/game/Vmap/MapTree.cpp', '../../src/game/Vmap/TileAssembler.cpp', '../../src/game/Vmap/WorldModel.cpp', '../../src/game/Vmap/ModelInstance.cpp', '../../src/game/Vmap/GameObjectModelVmaps.cpp'],
include_directories: global_includes,
dependencies: [zlib_dep, boost_dep],
cpp_args: movemapgen_args,
link_with: [g3dlib, detourlib, recastlib, frameworklib, sharedlib],
install : false
)

mmaplib = static_library('mmaplib',
['src/generator.cpp', 'src/IntermediateValues.cpp', 'src/MapBuilder.cpp', 'src/TerrainBuilder.cpp', 'src/VMapExtensions.cpp', '../../src/game/MotionGenerators/MoveMapSharedDefines.cpp'],
include_directories: global_includes,
dependencies: [zlib_dep, boost_dep],
cpp_args: movemapgen_args,
link_with: [vmaplib, detourlib, recastlib, g3dlib, frameworklib],
install: false
)

if get_option('BUILD_EXTRACTORS')
if build_machine.system() == 'linux'
local_linker = [_linker_args, '-rdynamic']
endif
executable('MoveMapGen',
movemapgen_sources,
link_with: [vmaplib, detourlib, recastlib, mmaplib],
include_directories: global_includes,
dependencies: [boost_dep, zlib_dep],
cpp_args: movemapgen_args,
link_args: _linker_args,
install_dir: 'bin/tools',
install: true
)
install_data(movemapgen_script_file, install_dir: 'bin/tools')
install_data(offmesh_file, install_dir: 'bin/tools')
install_data(config_json_file, install_dir: 'bin/tools')
endif

31 changes: 31 additions & 0 deletions contrib/vmap_assembler/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
assembler_args = ''
if get_option('DEBUG')
assembler_args = [assembler_args, '-DIOMAP_DEBUG']
endif

assembler_args = [assembler_args, '-DNO_CORE_FUNCS']

if build_machine.system() == 'linux'
assembler_args = [assembler_args, '-ggdb']
endif

vmap_assembler_sources = [
'../../src/game/Vmap/BIH.cpp',
'../../src/game/Vmap/VMapManager2.cpp',
'../../src/game/Vmap/MapTree.cpp',
'../../src/game/Vmap/TileAssembler.cpp',
'../../src/game/Vmap/WorldModel.cpp',
'../../src/game/Vmap/ModelInstance.cpp',
'vmap_assembler.cpp'
]

executable('vmap_assembler',
vmap_assembler_sources,
link_with: [sharedlib, g3dlib, frameworklib],
include_directories: global_includes,
dependencies: [boost_dep, zlib_dep],
cpp_args: assembler_args,
link_args: _linker_args,
install_dir: 'bin/tools',
install: true
)
7 changes: 7 additions & 0 deletions contrib/vmap_extractor/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
vmap_extractor_args = ['-DIOMAP_DEBUG', '-DUSE_LIBMPQ04']

if build_machine.system() == 'linux'
vmap_extractor_args = [vmap_extractor_args, '-ggdb']
endif

subdir('vmapextract')
20 changes: 20 additions & 0 deletions contrib/vmap_extractor/vmapextract/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
vmap_extractor_sources = [
'adtfile.cpp',
'dbcfile.cpp',
'gameobject_extract.cpp',
'model.cpp',
'mpq_libmpq.cpp',
'vmapexport.cpp',
'wdtfile.cpp',
'wmo.cpp'
]

executable('vmap_extractor',
vmap_extractor_sources,
include_directories: global_includes,
link_with: [g3dlib, lib_libmpq, detourlib, recastlib],
link_args: _linker_args,
install_dir: 'bin/tools',
install: true
)
install_data(extractor_script_file, install_dir: 'bin/tools')
52 changes: 52 additions & 0 deletions dep/g3dlite/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
g3d_sources = [
'AABox.cpp',
'Any.cpp',
'BinaryFormat.cpp',
'BinaryInput.cpp',
'BinaryOutput.cpp',
'Box.cpp',
'Capsule.cpp',
'CollisionDetection.cpp',
'CoordinateFrame.cpp',
'Crypto.cpp',
'Cylinder.cpp',
'FileSystem.cpp',
'Line.cpp',
'LineSegment.cpp',
'Log.cpp',
'Matrix3.cpp',
'Matrix4.cpp',
'MemoryManager.cpp',
'PhysicsFrame.cpp',
'Plane.cpp',
'Quat.cpp',
'Random.cpp',
'Ray.cpp',
'ReferenceCount.cpp',
'RegistryUtil.cpp',
'Sphere.cpp',
'System.cpp',
'TextInput.cpp',
'TextOutput.cpp',
'Triangle.cpp',
'UprightFrame.cpp',
'Vector2.cpp',
'Vector3.cpp',
'Vector4.cpp',
'debugAssert.cpp',
'fileutils.cpp',
'format.cpp',
'g3dfnmatch.cpp',
'g3dmath.cpp',
'prompt.cpp',
'stringutils.cpp',
'uint128.cpp'
]

g3d_inc = include_directories('G3D', '../include')

g3dlib = static_library('g3dlite',
g3d_sources,
include_directories: g3d_inc,
dependencies: zlib_dep,
install : false)
34 changes: 34 additions & 0 deletions dep/libmpq/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
libmpq_sources = [
'config.h',
'libmpq/common.c',
'libmpq/common.h',
'libmpq/crypt_buf.h',
'libmpq/explode.c',
'libmpq/explode.h',
'libmpq/extract.c',
'libmpq/huffman.c',
'libmpq/huffman.h',
'libmpq/mpq-internal.h',
'libmpq/mpq.c',
'libmpq/mpq.h',
'libmpq/pack_begin.h',
'libmpq/pack_end.h',
'libmpq/platform.h',
'libmpq/wave.c',
'libmpq/wave.h'
]

libmpq_inc_dir = ['.']

if meson.get_compiler('cpp').get_id() == 'msvc'
libmpq_inc_dir = [libmpq_inc_dir, 'win']
endif

libmpq_inc = include_directories(libmpq_inc_dir)

lib_libmpq = static_library('libmpq',
libmpq_sources,
include_directories: libmpq_inc,
dependencies: [zlib_dep, bzip2_dep],
install : false
)
8 changes: 8 additions & 0 deletions dep/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
if get_option('BUILD_GAME_SERVER') or get_option('BUILD_LOGIN_SERVER') or get_option('BUILD_EXTRACTORS')
subdir('recastnavigation')
subdir('src')
subdir('g3dlite')
if get_option('BUILD_EXTRACTORS')
subdir('libmpq')
endif
endif
26 changes: 26 additions & 0 deletions dep/recastnavigation/Detour/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
detour_sources = [
'Source/DetourAlloc.cpp',
'Source/DetourAssert.cpp',
'Source/DetourCommon.cpp',
'Source/DetourNavMesh.cpp',
'Source/DetourNavMeshBuilder.cpp',
'Source/DetourNavMeshQuery.cpp',
'Source/DetourNode.cpp',
'Include/DetourAlloc.h',
'Include/DetourAssert.h',
'Include/DetourCommon.h',
'Include/DetourMath.h',
'Include/DetourNavMesh.h',
'Include/DetourNavMeshBuilder.h',
'Include/DetourNavMeshQuery.h',
'Include/DetourNode.h',
'Include/DetourStatus.h'
]

detour_inc = include_directories('Include')

detourlib = static_library('Detour',
detour_sources,
include_directories: detour_inc,
cpp_args: recastnav_args,
install : false)
23 changes: 23 additions & 0 deletions dep/recastnavigation/Recast/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
recast_sources = [
'Source/Recast.cpp',
'Source/RecastAlloc.cpp',
'Source/RecastArea.cpp',
'Source/RecastAssert.cpp',
'Source/RecastContour.cpp',
'Source/RecastFilter.cpp',
'Source/RecastLayers.cpp',
'Source/RecastMesh.cpp',
'Source/RecastMeshDetail.cpp',
'Source/RecastRasterization.cpp',
'Source/RecastRegion.cpp',
'Include/Recast.h',
'Include/RecastAlloc.h',
'Include/RecastAssert.h'
]

recastlib = static_library('recast',
recast_sources,
include_directories: include_directories('Include'),
cpp_args: recastnav_args,
install : false
)
14 changes: 14 additions & 0 deletions dep/recastnavigation/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
if get_option('BUILD_GAME_SERVER') or get_option('BUILD_EXTRACTORS') or get_option('BUILD_RECASTDEMOMOD')
recastnav_args = '-DDT_POLYREF64'
subdir('Detour')
endif

if get_option('BUILD_EXTRACTORS') or get_option('BUILD_RECASTDEMOMOD')
subdir('Recast')
endif

if get_option('BUILD_RECASTDEMOMOD')
subdir('DetourCrowd')
subdir('DetourTileCache')
subdir('DebugUtils')
endif
21 changes: 21 additions & 0 deletions dep/src/bzip2/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
bzip2_sources = [
'compress.c',
'crctable.c',
'decompress.c',
'huffman.c',
'randtable.c',
'blocksort.c',
'bzlib.c'
]

bz2_inc = include_directories('.')

bz2lib = static_library('bzip2',
bzip2_sources,
include_directories: [global_includes, bz2_inc],
install : false)

bzip2_dep = declare_dependency(
include_directories: bz2_inc,
link_with: bz2lib
)
6 changes: 6 additions & 0 deletions dep/src/gsoap/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
gsoap_sources = ['stdsoap2.cpp']

gsoaplib = static_library('gsoap',
gsoap_sources,
include_directories: global_includes,
install : false)
7 changes: 7 additions & 0 deletions dep/src/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
subdir('gsoap')
if get_option('BUILD_EXTRACTORS')
bzip2_dep = dependency('bzip2', required: false)
if not bzip2_dep.found()
subdir('bzip2')
endif
endif
12 changes: 12 additions & 0 deletions doc/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
doxygen = find_program('doxygen', required : false)
if doxygen.found()
doxy_file = configure_file(
configuration: {'PACKAGE': meson.project_name(), 'VERSION': meson.project_version(), 'TOPSRCDIR': meson.source_root(), 'DESTDIR': meson.build_root() + '/doc/docs'},
input: 'Doxyfile.dist',
output: 'Doxyfile'
)
run_command([doxygen, meson.build_root() + '/doc/Doxyfile'], check: false)
install_subdir(meson.build_root() + '/doc/docs/html', install_dir: 'docs')
else
warning('Documentation disabled without doxygen')
endif
Loading