diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/bindings/scripts/CMakeLists.txt | 840 | ||||
| -rw-r--r-- | src/bindings/scripts/ScriptMgr.cpp | 312 | ||||
| -rw-r--r-- | src/bindings/scripts/VC80/80ScriptDev2.vcproj | 4775 | ||||
| -rw-r--r-- | src/bindings/scripts/VC90/90ScriptDev2.vcproj | 4775 | ||||
| -rw-r--r-- | src/bindings/scripts/base/escort_ai.cpp (renamed from src/bindings/scripts/base/escortAI.cpp) | 112 | ||||
| -rw-r--r-- | src/bindings/scripts/base/escort_ai.h (renamed from src/bindings/scripts/base/escortAI.h) | 22 | ||||
| -rw-r--r-- | src/bindings/scripts/base/follower_ai.cpp | 309 | ||||
| -rw-r--r-- | src/bindings/scripts/base/follower_ai.h | 50 | ||||
| -rw-r--r-- | src/bindings/scripts/base/guard_ai.cpp | 5 | ||||
| -rw-r--r-- | src/bindings/scripts/base/guard_ai.h | 4 | ||||
| -rw-r--r-- | src/bindings/scripts/include/sc_creature.cpp | 6 | ||||
| -rw-r--r-- | src/bindings/scripts/include/sc_creature.h | 12 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/custom/test.cpp | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp | 7 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_ambassador_flamelash.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_anubshiah.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_emperor_dagran_thaurissan.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_general_angerforge.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_gorosh_the_dervish.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_grizzle.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_high_interrogator_gerstahn.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_magmus.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_moira_bronzebeard.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_tomb_of_seven.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/def_blackrock_depths.h (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/def_blackrock_depths.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/instance_blackrock_depths.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_depths/instance_blackrock_depths.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_drakkisath.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_gyth.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_halycon.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_highlord_omokk.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_mother_smolderweb.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_overlord_wyrmthalak.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_pyroguard_emberseer.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_quartermaster_zigris.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_rend_blackhand.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_shadow_hunter_voshgajin.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_the_beast.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_warmaster_voone.cpp (renamed from src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_broodlord_lashlayer.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_chromaggus.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_ebonroc.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_firemaw.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_flamegor.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_razorgore.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_victor_nefarius.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/instance_blackwing_lair.cpp (renamed from src/bindings/scripts/scripts/zone/blackwing_lair/instance_blackwing_lair.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/deadmines/deadmines.cpp (renamed from src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/deadmines/def_deadmines.h (renamed from src/bindings/scripts/scripts/zone/deadmines/def_deadmines.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp (renamed from src/bindings/scripts/scripts/zone/deadmines/instance_deadmines.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/dun_morogh.cpp | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/elwynn_forest.cpp | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp | 15 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp | 4 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp | 172 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_curator.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_maiden_of_virtue.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_midnight.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_moroes.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_netherspite.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/boss_netherspite.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_nightbane.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_shade_of_aran.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_terestian_illhoof.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/bosses_opera.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/def_karazhan.h (renamed from src/bindings/scripts/scripts/zone/karazhan/def_karazhan.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/instance_karazhan.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/karazhan/karazhan.cpp (renamed from src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp (renamed from src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp (renamed from src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp (renamed from src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp (renamed from src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/def_magisters_terrace.h (renamed from src/bindings/scripts/scripts/zone/magisters_terrace/def_magisters_terrace.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/instance_magisters_terrace.cpp (renamed from src/bindings/scripts/scripts/zone/magisters_terrace/instance_magisters_terrace.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.cpp (renamed from src/bindings/scripts/scripts/zone/magisters_terrace/magisters_terrace.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_baron_geddon.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_garr.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_gehennas.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_golemagg.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_lucifron.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_magmadar.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_majordomo_executus.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_ragnaros.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_shazzrah.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_sulfuron_harbinger.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/def_molten_core.h (renamed from src/bindings/scripts/scripts/zone/molten_core/def_molten_core.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/instance_molten_core.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/molten_core/molten_core.cpp (renamed from src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp | 973 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp | 2225 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp | 1138 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_arcanist_doan.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_azshir_the_sleepless.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_bloodmage_thalnos.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_headless_horseman.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_herod.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_houndmaster_loksey.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_interrogator_vishas.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_mograine_and_whitemane.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_scorn.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/def_scarlet_monastery.h (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/def_scarlet_monastery.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/instance_scarlet_monastery.cpp (renamed from src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_darkmaster_gandling.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_death_knight_darkreaver.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_death_knight_darkreaver.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_doctor_theolen_krastinov.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp) | 64 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_illucia_barov.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_instructor_malicia.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_jandice_barov.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_kormok.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_lord_alexei_barov.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_lorekeeper_polkelt.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_ras_frostwhisper.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_the_ravenian.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_vectus.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp) | 59 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/def_scholomance.h (renamed from src/bindings/scripts/scripts/zone/scholomance/def_scholomance.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scholomance/instance_scholomance.cpp (renamed from src/bindings/scripts/scripts/zone/scholomance/instance_scholomance.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/shadowfang_keep/def_shadowfang_keep.h (renamed from src/bindings/scripts/scripts/zone/shadowfang_keep/def_shadowfang_keep.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/shadowfang_keep/instance_shadowfang_keep.cpp (renamed from src/bindings/scripts/scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp (renamed from src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp | 36 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_baron_rivendare.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_baroness_anastari.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_cannon_master_willey.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_dathrohan_balnazzar.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_magistrate_barthilas.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_maleki_the_pallid.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_nerubenkan.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_order_of_silver_hand.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_postmaster_malown.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_ramstein_the_gorger.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_timmy_the_cruel.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/def_stratholme.h (renamed from src/bindings/scripts/scripts/zone/stratholme/def_stratholme.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/instance_stratholme.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/instance_stratholme.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/stratholme/stratholme.cpp (renamed from src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_brutallus.cpp (renamed from src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp (renamed from src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp (renamed from src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp (renamed from src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_kiljaeden.cpp (renamed from src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp (renamed from src/bindings/scripts/scripts/zone/sunwell_plateau/boss_muru.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/def_sunwell_plateau.h (renamed from src/bindings/scripts/scripts/zone/sunwell_plateau/def_sunwell_plateau.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp (renamed from src/bindings/scripts/scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.cpp (renamed from src/bindings/scripts/scripts/zone/sunwell_plateau/sunwell_plateau.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/uldaman/boss_archaedas.cpp (renamed from src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/uldaman/boss_ironaya.cpp (renamed from src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/uldaman/instance_uldaman.cpp (renamed from src/bindings/scripts/scripts/zone/uldaman/instance_uldaman.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/uldaman/uldaman.cpp (renamed from src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp | 6 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/wetlands.cpp | 167 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_akilzon.cpp (renamed from src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_halazzi.cpp (renamed from src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_hexlord.cpp (renamed from src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_janalai.cpp (renamed from src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_nalorakk.cpp (renamed from src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_zuljin.cpp (renamed from src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulaman/def_zulaman.h (renamed from src/bindings/scripts/scripts/zone/zulaman/def_zulaman.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulaman/instance_zulaman.cpp (renamed from src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulaman/zulaman.cpp (renamed from src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_gahzranka.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_grilek.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_hakkar.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_hazzarah.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_jeklik.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_jindo.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_mandokir.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_wushoolay.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/def_zulgurub.h (renamed from src/bindings/scripts/scripts/zone/zulgurub/def_zulgurub.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/instance_zulgurub.cpp (renamed from src/bindings/scripts/scripts/zone/zulgurub/instance_zulgurub.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/examples/example_escort.cpp | 18 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/ashenvale.cpp | 14 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp | 4 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/blackfathom_depths/def_blackfathom_deeps.h (renamed from src/bindings/scripts/scripts/zone/blackfathom_depths/def_blackfathom_deeps.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp (renamed from src/bindings/scripts/scripts/zone/blackfathom_depths/instance_blackfathom_deeps.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_epoch.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_meathook.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_salramm.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/def_culling_of_stratholme.h (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/def_culling_of_stratholme.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/def_dark_portal.h (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_anetheron.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_archimonde.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_azgalor.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_kazrogal.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_kazrogal.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_rage_winterchill.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_rage_winterchill.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/def_hyjal.h (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/def_hyjal.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjal.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.h (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.h (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/instance_hyjal.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp (renamed from src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp) | 11 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/darkshore.cpp | 9 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/feralas.cpp | 4 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/maraudon/boss_celebras_the_cursed.cpp (renamed from src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/maraudon/boss_landslide.cpp (renamed from src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/maraudon/boss_noxxion.cpp (renamed from src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/maraudon/boss_princess_theradras.cpp (renamed from src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/moonglade.cpp | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/mulgore.cpp | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/onyxias_lair/boss_onyxia.cpp (renamed from src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/razorfen_downs/boss_amnennar_the_coldbringer.cpp (renamed from src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/razorfen_downs/razorfen_downs.cpp (renamed from src/bindings/scripts/scripts/zone/razorfen_downs/razorfen_downs.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/razorfen_kraul/def_razorfen_kraul.h (renamed from src/bindings/scripts/scripts/zone/razorfen_kraul/def_razorfen_kraul.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/razorfen_kraul/instance_razorfen_kraul.cpp (renamed from src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/razorfen_kraul/razorfen_kraul.cpp (renamed from src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp) | 68 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp (renamed from src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_buru.cpp (renamed from src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp (renamed from src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_moam.cpp (renamed from src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_ossirian.cpp (renamed from src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_rajaxx.cpp (renamed from src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp (renamed from src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp | 8 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/tanaris.cpp | 130 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/teldrassil.cpp | 107 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_bug_trio.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_cthun.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_fankriss.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_huhuran.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_ouro.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_sartura.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_skeram.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_twinemperors.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_viscidus.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp (renamed from src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/the_barrens.cpp | 197 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp | 8 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/ungoro_crater.cpp (renamed from src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp) | 81 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/wailing_caverns/def_wailing_caverns.h (renamed from src/bindings/scripts/scripts/zone/wailing_caverns/def_wailing_caverns.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/wailing_caverns/instance_wailing_caverns.cpp (renamed from src/bindings/scripts/scripts/zone/wailing_caverns/instance_wailing_caverns.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/wailing_caverns/wailing_caverns.cpp (renamed from src/bindings/scripts/scripts/zone/wailing_caverns/wailing_caverns.cpp) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/kalimdor/zulfarrak/zulfarrak.cpp (renamed from src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_amanitar.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_amanitar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_elder_nadox.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_herald_volazj.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/def_ahnkahet.h (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/def_ahnkahet.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/instance_ahnkahet.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/instance_ahnkahet.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/boss_anubarak.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/boss_hadronox.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/def_azjol_nerub.h (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/def_azjol_nerub.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp (renamed from src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/draktharon_keep/boss_dred.cpp (renamed from src/bindings/scripts/scripts/zone/draktharon_keep/boss_dred.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/draktharon_keep/boss_novos.cpp (renamed from src/bindings/scripts/scripts/zone/draktharon_keep/boss_novos.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp (renamed from src/bindings/scripts/scripts/zone/draktharon_keep/boss_tharon_ja.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp (renamed from src/bindings/scripts/scripts/zone/draktharon_keep/boss_trollgore.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/draktharon_keep/def_drak_tharon_keep.h (renamed from src/bindings/scripts/scripts/zone/draktharon_keep/def_drak_tharon_keep.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp (renamed from src/bindings/scripts/scripts/zone/draktharon_keep/instance_drak_tharon_keep.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp (renamed from src/bindings/scripts/scripts/zone/gundrak/boss_drakkari_colossus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/gundrak/boss_eck.cpp (renamed from src/bindings/scripts/scripts/zone/gundrak/boss_eck.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp (renamed from src/bindings/scripts/scripts/zone/gundrak/boss_gal_darah.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp (renamed from src/bindings/scripts/scripts/zone/gundrak/boss_moorabi.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp (renamed from src/bindings/scripts/scripts/zone/gundrak/boss_slad_ran.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/gundrak/def_gundrak.h (renamed from src/bindings/scripts/scripts/zone/gundrak/def_gundrak.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/gundrak/instance_gundrak.cpp (renamed from src/bindings/scripts/scripts/zone/gundrak/instance_gundrak.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_anubrekhan.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_four_horsemen.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_gluth.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_grobbulus.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_heigan.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_highlord_mograine.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_maexxna.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_noth.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_patchwerk.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_razuvious.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_sapphiron.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_thaddius.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/boss_thaddius.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/def_naxxramas.h (renamed from src/bindings/scripts/scripts/zone/naxxramas/def_naxxramas.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/instance_naxxramas.cpp (renamed from src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/eye_of_eternity/boss_malygos.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/eye_of_eternity/boss_malygos.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/eye_of_eternity/def_eye_of_eternity.h (renamed from src/bindings/scripts/scripts/zone/nexus/eye_of_eternity/def_eye_of_eternity.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/eye_of_eternity/instance_eye_of_eternity.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/eye_of_eternity/instance_eye_of_eternity.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/nexus/boss_anomalus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/nexus/boss_keristrasza.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/nexus/boss_magus_telestra.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/nexus/boss_ormorok.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/nexus/commander_kolurg.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/nexus/commander_kolurg.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/nexus/commander_stoutbeard.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/nexus/commander_stoutbeard.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/nexus/def_nexus.h (renamed from src/bindings/scripts/scripts/zone/nexus/nexus/def_nexus.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/nexus/instance_nexus.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/nexus/instance_nexus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/oculus/boss_drakos.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/oculus/boss_drakos.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/oculus/boss_eregos.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/oculus/boss_eregos.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/oculus/boss_urom.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/oculus/boss_urom.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/oculus/boss_varos.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/oculus/boss_varos.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/oculus/def_oculus.h (renamed from src/bindings/scripts/scripts/zone/nexus/oculus/def_oculus.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/nexus/oculus/instance_oculus.cpp (renamed from src/bindings/scripts/scripts/zone/nexus/oculus/instance_oculus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp (renamed from src/bindings/scripts/scripts/zone/obsidian_sanctum/boss_sartharion.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/obsidian_sanctum/def_obsidian_sanctum.h (renamed from src/bindings/scripts/scripts/zone/obsidian_sanctum/def_obsidian_sanctum.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/obsidian_sanctum/instance_obsidian_sanctum.cpp (renamed from src/bindings/scripts/scripts/zone/obsidian_sanctum/instance_obsidian_sanctum.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/sholazar_basin.cpp | 13 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_bjarngrim.cpp) | 5 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_ionar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_loken.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_volkhan.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/def_halls_of_lightning.h (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/def_halls_of_lightning.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/boss_krystallus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/boss_maiden_of_grief.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/boss_sjonnir.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/def_halls_of_stone.h (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/def_halls_of_stone.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/instance_halls_of_stone.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/instance_halls_of_stone.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_algalon.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_algalon.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_assembly_of_iron.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_auriaya.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_auriaya.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_flame_leviathan.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_flame_leviathan.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_freya.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_freya.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_general_vezax.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_general_vezax.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_hodir.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_hodir.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_ignis.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_ignis.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_kologarn.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_mimiron.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_mimiron.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_razorscale.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_thorim.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_thorim.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_xt002.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_xt002.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_yoggsaron.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_yoggsaron.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/def_ulduar.h (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/def_ulduar.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp (renamed from src/bindings/scripts/scripts/zone/ulduar/ulduar/instance_ulduar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/boss_keleseth.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/def_utgarde_keep.h (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/def_utgarde_keep.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/utgarde_keep.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_svala.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/def_pinnacle.h (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/def_pinnacle.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp (renamed from src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_archavon.cpp (renamed from src/bindings/scripts/scripts/zone/vault_of_archavon/boss_archavon.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_emalon.cpp (renamed from src/bindings/scripts/scripts/zone/vault_of_archavon/boss_emalon.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/vault_of_archavon/def_vault_of_archavon.h (renamed from src/bindings/scripts/scripts/zone/vault_of_archavon/def_vault_of_archavon.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/vault_of_archavon/instance_vault_of_archavon.cpp (renamed from src/bindings/scripts/scripts/zone/vault_of_archavon/instance_vault_of_archavon.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/violet_hold/boss_cyanigosa.cpp (renamed from src/bindings/scripts/scripts/zone/violet_hold/boss_cyanigosa.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/violet_hold/boss_erekem.cpp (renamed from src/bindings/scripts/scripts/zone/violet_hold/boss_erekem.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/violet_hold/boss_ichoron.cpp (renamed from src/bindings/scripts/scripts/zone/violet_hold/boss_ichoron.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/violet_hold/boss_lavanthor.cpp (renamed from src/bindings/scripts/scripts/zone/violet_hold/boss_lavanthor.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/violet_hold/boss_moragg.cpp (renamed from src/bindings/scripts/scripts/zone/violet_hold/boss_moragg.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/violet_hold/boss_xevozz.cpp (renamed from src/bindings/scripts/scripts/zone/violet_hold/boss_xevozz.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/violet_hold/boss_zuramat.cpp (renamed from src/bindings/scripts/scripts/zone/violet_hold/boss_zuramat.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/violet_hold/def_violet_hold.h (renamed from src/bindings/scripts/scripts/zone/violet_hold/def_violet_hold.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/violet_hold/instance_violet_hold.cpp (renamed from src/bindings/scripts/scripts/zone/violet_hold/instance_violet_hold.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/northrend/wintergrasp.cpp (renamed from src/bindings/scripts/scripts/zone/wintergrasp/wintergrasp.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/def_sethekk_halls.h (renamed from src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/instance_sethekk_halls.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/def_shadow_labyrinth.h (renamed from src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp (renamed from src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/black_temple.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/black_temple.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/boss_bloodboil.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/boss_illidan.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/boss_mother_shahraz.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/boss_reliquary_of_souls.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/boss_shade_of_akama.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/boss_supremus.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/boss_teron_gorefiend.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/boss_warlord_najentus.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/def_black_temple.h (renamed from src/bindings/scripts/scripts/zone/black_temple/def_black_temple.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/illidari_council.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/black_temple/instance_black_temple.cpp (renamed from src/bindings/scripts/scripts/zone/black_temple/instance_black_temple.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp) | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/def_steam_vault.h (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/instance_steam_vault.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp (renamed from src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/gruuls_lair/boss_gruul.cpp (renamed from src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/gruuls_lair/boss_high_king_maulgar.cpp (renamed from src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/gruuls_lair/def_gruuls_lair.h (renamed from src/bindings/scripts/scripts/zone/gruuls_lair/def_gruuls_lair.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/gruuls_lair/instance_gruuls_lair.cpp (renamed from src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_broggok.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_the_maker.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/def_blood_furnace.h (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/def_blood_furnace.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/def_hellfire_ramparts.h (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/def_hellfire_ramparts.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp) | 33 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/def_shattered_halls.h (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp (renamed from src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp | 63 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/nagrand.cpp | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/netherstorm.cpp | 57 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp | 14 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/shattrath_city.cpp | 84 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/arcatraz.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/def_arcatraz.h (renamed from src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/instance_arcatraz.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp) | 3 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_high_botanist_freywinn.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_laj.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_alar.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_astromancer.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_kaelthas.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_void_reaver.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_eye/def_the_eye.h (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_eye/def_the_eye.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_eye/instance_the_eye.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_eye/the_eye.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/def_mechanar.h (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/def_mechanar.h) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/instance_mechanar.cpp (renamed from src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp) | 0 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/terokkar_forest.cpp | 84 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/outland/zangarmarsh.cpp | 18 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/world/npcs_special.cpp | 2 | ||||
| -rw-r--r-- | src/bindings/scripts/scripts/zone/black_temple/.instance_black_temple.cpp-s8inyu | 347 | ||||
| -rw-r--r-- | src/bindings/scripts/system.cpp | 22 | ||||
| -rw-r--r-- | src/bindings/scripts/system/ScriptLoader.cpp | 1204 | ||||
| -rw-r--r-- | src/bindings/scripts/system/system.cpp | 255 | ||||
| -rw-r--r-- | src/bindings/scripts/system/system.h | 78 | ||||
| -rw-r--r-- | src/game/CharacterHandler.cpp | 9 | ||||
| -rw-r--r-- | src/game/Item.cpp | 2 | ||||
| -rw-r--r-- | src/game/Player.cpp | 2 | ||||
| -rw-r--r-- | src/game/SharedDefines.h | 8 | ||||
| -rw-r--r-- | src/game/SpellEffects.cpp | 3 | ||||
| -rw-r--r-- | src/game/Unit.cpp | 460 |
473 files changed, 10630 insertions, 8915 deletions
diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt index 9736d172850..1cd3212f00b 100644 --- a/src/bindings/scripts/CMakeLists.txt +++ b/src/bindings/scripts/CMakeLists.txt @@ -4,8 +4,10 @@ SET(trinityscript_LIB_SRCS ScriptMgr.cpp ScriptMgr.h - base/escortAI.cpp - base/escortAI.h + base/escort_ai.cpp + base/escort_ai.h + base/follower_ai.cpp + base/follower_ai.h base/guard_ai.cpp base/guard_ai.h base/simple_ai.cpp @@ -16,7 +18,159 @@ SET(trinityscript_LIB_SRCS include/sc_creature.h include/sc_gossip.h include/sc_instance.h + scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_ambassador_flamelash.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_anubshiah.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_emperor_dagran_thaurissan.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_general_angerforge.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_gorosh_the_dervish.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_grizzle.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_high_interrogator_gerstahn.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_magmus.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_moira_bronzebeard.cpp + scripts/eastern_kingdoms/blackrock_depths/boss_tomb_of_seven.cpp + scripts/eastern_kingdoms/blackrock_depths/def_blackrock_depths.h + scripts/eastern_kingdoms/blackrock_depths/instance_blackrock_depths.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_drakkisath.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_gyth.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_halycon.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_highlord_omokk.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_mother_smolderweb.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_overlord_wyrmthalak.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_pyroguard_emberseer.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_quartermaster_zigris.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_rend_blackhand.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_shadow_hunter_voshgajin.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_the_beast.cpp + scripts/eastern_kingdoms/blackrock_spire/boss_warmaster_voone.cpp + scripts/eastern_kingdoms/blackwing_lair/boss_broodlord_lashlayer.cpp + scripts/eastern_kingdoms/blackwing_lair/boss_chromaggus.cpp + scripts/eastern_kingdoms/blackwing_lair/boss_ebonroc.cpp + scripts/eastern_kingdoms/blackwing_lair/boss_firemaw.cpp + scripts/eastern_kingdoms/blackwing_lair/boss_flamegor.cpp + scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp + scripts/eastern_kingdoms/blackwing_lair/boss_razorgore.cpp + scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp + scripts/eastern_kingdoms/blackwing_lair/boss_victor_nefarius.cpp + scripts/eastern_kingdoms/blackwing_lair/instance_blackwing_lair.cpp + scripts/eastern_kingdoms/deadmines/def_deadmines.h + scripts/eastern_kingdoms/deadmines/deadmines.cpp + scripts/eastern_kingdoms/karazhan/boss_curator.cpp + scripts/eastern_kingdoms/karazhan/boss_maiden_of_virtue.cpp + scripts/eastern_kingdoms/karazhan/boss_midnight.cpp + scripts/eastern_kingdoms/karazhan/boss_moroes.cpp + scripts/eastern_kingdoms/karazhan/boss_netherspite.cpp + scripts/eastern_kingdoms/karazhan/boss_nightbane.cpp + scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp + scripts/eastern_kingdoms/karazhan/boss_shade_of_aran.cpp + scripts/eastern_kingdoms/karazhan/boss_terestian_illhoof.cpp + scripts/eastern_kingdoms/karazhan/bosses_opera.cpp + scripts/eastern_kingdoms/karazhan/def_karazhan.h + scripts/eastern_kingdoms/karazhan/instance_karazhan.cpp + scripts/eastern_kingdoms/karazhan/karazhan.cpp + scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp + scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp + scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp + scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp + scripts/eastern_kingdoms/magisters_terrace/def_magisters_terrace.h + scripts/eastern_kingdoms/magisters_terrace/instance_magisters_terrace.cpp + scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.cpp + scripts/eastern_kingdoms/molten_core/boss_baron_geddon.cpp + scripts/eastern_kingdoms/molten_core/boss_garr.cpp + scripts/eastern_kingdoms/molten_core/boss_gehennas.cpp + scripts/eastern_kingdoms/molten_core/boss_golemagg.cpp + scripts/eastern_kingdoms/molten_core/boss_lucifron.cpp + scripts/eastern_kingdoms/molten_core/boss_magmadar.cpp + scripts/eastern_kingdoms/molten_core/boss_majordomo_executus.cpp + scripts/eastern_kingdoms/molten_core/boss_ragnaros.cpp + scripts/eastern_kingdoms/molten_core/boss_shazzrah.cpp + scripts/eastern_kingdoms/molten_core/boss_sulfuron_harbinger.cpp + scripts/eastern_kingdoms/molten_core/def_molten_core.h + scripts/eastern_kingdoms/molten_core/instance_molten_core.cpp + scripts/eastern_kingdoms/molten_core/molten_core.cpp scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp + scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp + scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_arcanist_doan.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_azshir_the_sleepless.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_bloodmage_thalnos.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_herod.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_houndmaster_loksey.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_interrogator_vishas.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_scorn.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_headless_horseman.cpp + scripts/eastern_kingdoms/scarlet_monastery/boss_mograine_and_whitemane.cpp + scripts/eastern_kingdoms/scarlet_monastery/instance_scarlet_monastery.cpp + scripts/eastern_kingdoms/scarlet_monastery/def_scarlet_monastery.h + scripts/eastern_kingdoms/scholomance/boss_darkmaster_gandling.cpp + scripts/eastern_kingdoms/scholomance/boss_death_knight_darkreaver.cpp + scripts/eastern_kingdoms/scholomance/boss_doctor_theolen_krastinov.cpp + scripts/eastern_kingdoms/scholomance/boss_illucia_barov.cpp + scripts/eastern_kingdoms/scholomance/boss_instructor_malicia.cpp + scripts/eastern_kingdoms/scholomance/boss_jandice_barov.cpp + scripts/eastern_kingdoms/scholomance/boss_kormok.cpp + scripts/eastern_kingdoms/scholomance/boss_lord_alexei_barov.cpp + scripts/eastern_kingdoms/scholomance/boss_lorekeeper_polkelt.cpp + scripts/eastern_kingdoms/scholomance/boss_ras_frostwhisper.cpp + scripts/eastern_kingdoms/scholomance/boss_the_ravenian.cpp + scripts/eastern_kingdoms/scholomance/boss_vectus.cpp + scripts/eastern_kingdoms/scholomance/def_scholomance.h + scripts/eastern_kingdoms/scholomance/instance_scholomance.cpp + scripts/eastern_kingdoms/shadowfang_keep/def_shadowfang_keep.h + scripts/eastern_kingdoms/shadowfang_keep/instance_shadowfang_keep.cpp + scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp + scripts/eastern_kingdoms/stratholme/boss_baron_rivendare.cpp + scripts/eastern_kingdoms/stratholme/boss_baroness_anastari.cpp + scripts/eastern_kingdoms/stratholme/boss_cannon_master_willey.cpp + scripts/eastern_kingdoms/stratholme/boss_dathrohan_balnazzar.cpp + scripts/eastern_kingdoms/stratholme/boss_magistrate_barthilas.cpp + scripts/eastern_kingdoms/stratholme/boss_maleki_the_pallid.cpp + scripts/eastern_kingdoms/stratholme/boss_nerubenkan.cpp + scripts/eastern_kingdoms/stratholme/boss_order_of_silver_hand.cpp + scripts/eastern_kingdoms/stratholme/boss_postmaster_malown.cpp + scripts/eastern_kingdoms/stratholme/boss_ramstein_the_gorger.cpp + scripts/eastern_kingdoms/stratholme/boss_timmy_the_cruel.cpp + scripts/eastern_kingdoms/stratholme/def_stratholme.h + scripts/eastern_kingdoms/stratholme/instance_stratholme.cpp + scripts/eastern_kingdoms/stratholme/stratholme.cpp + scripts/eastern_kingdoms/sunwell_plateau/boss_kiljaeden.cpp + scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp + scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp + scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp + scripts/eastern_kingdoms/sunwell_plateau/boss_brutallus.cpp + scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp + scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.cpp + scripts/eastern_kingdoms/sunwell_plateau/def_sunwell_plateau.h + scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp + scripts/eastern_kingdoms/uldaman/boss_archaedas.cpp + scripts/eastern_kingdoms/uldaman/instance_uldaman.cpp + scripts/eastern_kingdoms/uldaman/boss_ironaya.cpp + scripts/eastern_kingdoms/uldaman/uldaman.cpp + scripts/eastern_kingdoms/zulaman/boss_akilzon.cpp + scripts/eastern_kingdoms/zulaman/boss_halazzi.cpp + scripts/eastern_kingdoms/zulaman/boss_hexlord.cpp + scripts/eastern_kingdoms/zulaman/boss_janalai.cpp + scripts/eastern_kingdoms/zulaman/boss_nalorakk.cpp + scripts/eastern_kingdoms/zulaman/boss_zuljin.cpp + scripts/eastern_kingdoms/zulaman/def_zulaman.h + scripts/eastern_kingdoms/zulaman/instance_zulaman.cpp + scripts/eastern_kingdoms/zulaman/zulaman.cpp + scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp + scripts/eastern_kingdoms/zulgurub/boss_gahzranka.cpp + scripts/eastern_kingdoms/zulgurub/boss_grilek.cpp + scripts/eastern_kingdoms/zulgurub/boss_hakkar.cpp + scripts/eastern_kingdoms/zulgurub/boss_hazzarah.cpp + scripts/eastern_kingdoms/zulgurub/boss_jeklik.cpp + scripts/eastern_kingdoms/zulgurub/boss_jindo.cpp + scripts/eastern_kingdoms/zulgurub/boss_mandokir.cpp + scripts/eastern_kingdoms/zulgurub/boss_marli.cpp + scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp + scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp + scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp + scripts/eastern_kingdoms/zulgurub/boss_wushoolay.cpp + scripts/eastern_kingdoms/zulgurub/def_zulgurub.h + scripts/eastern_kingdoms/zulgurub/instance_zulgurub.cpp scripts/eastern_kingdoms/alterac_mountains.cpp scripts/eastern_kingdoms/arathi_highlands.cpp scripts/eastern_kingdoms/blasted_lands.cpp @@ -40,10 +194,76 @@ SET(trinityscript_LIB_SRCS scripts/eastern_kingdoms/undercity.cpp scripts/eastern_kingdoms/western_plaguelands.cpp scripts/eastern_kingdoms/westfall.cpp + scripts/eastern_kingdoms/wetlands.cpp scripts/examples/example_creature.cpp scripts/examples/example_escort.cpp scripts/examples/example_gossip_codebox.cpp scripts/examples/example_misc.cpp + scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp + scripts/kalimdor/blackfathom_depths/def_blackfathom_deeps.h + scripts/kalimdor/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp + scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp + scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp + scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp + scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp + scripts/kalimdor/caverns_of_time/culling_of_stratholme/def_culling_of_stratholme.h + scripts/kalimdor/caverns_of_time/dark_portal/def_dark_portal.h + scripts/kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp + scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.cpp + scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp + scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp + scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp + scripts/kalimdor/caverns_of_time/hyjal/boss_anetheron.cpp + scripts/kalimdor/caverns_of_time/hyjal/boss_archimonde.cpp + scripts/kalimdor/caverns_of_time/hyjal/boss_azgalor.cpp + scripts/kalimdor/caverns_of_time/hyjal/boss_kazrogal.cpp + scripts/kalimdor/caverns_of_time/hyjal/boss_rage_winterchill.cpp + scripts/kalimdor/caverns_of_time/hyjal/def_hyjal.h + scripts/kalimdor/caverns_of_time/hyjal/hyjal.cpp + scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.cpp + scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.h + scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.cpp + scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.h + scripts/kalimdor/caverns_of_time/hyjal/instance_hyjal.cpp + scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp + scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp + scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp + scripts/kalimdor/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h + scripts/kalimdor/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp + scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp + scripts/kalimdor/maraudon/boss_celebras_the_cursed.cpp + scripts/kalimdor/maraudon/boss_landslide.cpp + scripts/kalimdor/maraudon/boss_noxxion.cpp + scripts/kalimdor/maraudon/boss_princess_theradras.cpp + scripts/kalimdor/onyxias_lair/boss_onyxia.cpp + scripts/kalimdor/razorfen_downs/boss_amnennar_the_coldbringer.cpp + scripts/kalimdor/razorfen_downs/razorfen_downs.cpp + scripts/kalimdor/razorfen_kraul/def_razorfen_kraul.h + scripts/kalimdor/razorfen_kraul/instance_razorfen_kraul.cpp + scripts/kalimdor/razorfen_kraul/razorfen_kraul.cpp + scripts/kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp + scripts/kalimdor/ruins_of_ahnqiraj/boss_buru.cpp + scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp + scripts/kalimdor/ruins_of_ahnqiraj/boss_moam.cpp + scripts/kalimdor/ruins_of_ahnqiraj/boss_ossirian.cpp + scripts/kalimdor/ruins_of_ahnqiraj/boss_rajaxx.cpp + scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp + scripts/kalimdor/temple_of_ahnqiraj/boss_bug_trio.cpp + scripts/kalimdor/temple_of_ahnqiraj/boss_cthun.cpp + scripts/kalimdor/temple_of_ahnqiraj/boss_fankriss.cpp + scripts/kalimdor/temple_of_ahnqiraj/boss_huhuran.cpp + scripts/kalimdor/temple_of_ahnqiraj/boss_ouro.cpp + scripts/kalimdor/temple_of_ahnqiraj/boss_sartura.cpp + scripts/kalimdor/temple_of_ahnqiraj/boss_skeram.cpp + scripts/kalimdor/temple_of_ahnqiraj/boss_twinemperors.cpp + scripts/kalimdor/temple_of_ahnqiraj/boss_viscidus.cpp + scripts/kalimdor/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h + scripts/kalimdor/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp + scripts/kalimdor/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp + scripts/kalimdor/wailing_caverns/def_wailing_caverns.h + scripts/kalimdor/wailing_caverns/instance_wailing_caverns.cpp + scripts/kalimdor/wailing_caverns/wailing_caverns.cpp + scripts/kalimdor/zulfarrak/zulfarrak.cpp scripts/kalimdor/ashenvale.cpp scripts/kalimdor/azshara.cpp scripts/kalimdor/azuremyst_isle.cpp @@ -64,13 +284,212 @@ SET(trinityscript_LIB_SRCS scripts/kalimdor/the_barrens.cpp scripts/kalimdor/thousand_needles.cpp scripts/kalimdor/thunder_bluff.cpp + scripts/kalimdor/ungoro_crater.cpp scripts/kalimdor/winterspring.cpp + scripts/northrend/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp + scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp + scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp + scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp + scripts/northrend/azjol_nerub/azjol_nerub/def_azjol_nerub.h + scripts/northrend/azjol_nerub/ahnkahet/instance_ahnkahet.cpp + scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp + scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp + scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp + scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp + scripts/northrend/azjol_nerub/ahnkahet/boss_amanitar.cpp + scripts/northrend/azjol_nerub/ahnkahet/def_ahnkahet.h + scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp + scripts/northrend/draktharon_keep/boss_trollgore.cpp + scripts/northrend/draktharon_keep/boss_novos.cpp + scripts/northrend/draktharon_keep/boss_dred.cpp + scripts/northrend/draktharon_keep/boss_tharon_ja.cpp + scripts/northrend/draktharon_keep/def_drak_tharon_keep.h + scripts/northrend/gundrak/instance_gundrak.cpp + scripts/northrend/gundrak/boss_slad_ran.cpp + scripts/northrend/gundrak/boss_moorabi.cpp + scripts/northrend/gundrak/boss_drakkari_colossus.cpp + scripts/northrend/gundrak/boss_gal_darah.cpp + scripts/northrend/gundrak/boss_eck.cpp + scripts/northrend/gundrak/def_gundrak.h + scripts/northrend/naxxramas/boss_anubrekhan.cpp + scripts/northrend/naxxramas/boss_faerlina.cpp + scripts/northrend/naxxramas/boss_gluth.cpp + scripts/northrend/naxxramas/boss_gothik.cpp + scripts/northrend/naxxramas/boss_grobbulus.cpp + scripts/northrend/naxxramas/boss_heigan.cpp + scripts/northrend/naxxramas/boss_kelthuzad.cpp + scripts/northrend/naxxramas/boss_four_horsemen.cpp + scripts/northrend/naxxramas/boss_loatheb.cpp + scripts/northrend/naxxramas/boss_maexxna.cpp + scripts/northrend/naxxramas/boss_noth.cpp + scripts/northrend/naxxramas/boss_patchwerk.cpp + scripts/northrend/naxxramas/boss_razuvious.cpp + scripts/northrend/naxxramas/boss_sapphiron.cpp + scripts/northrend/naxxramas/boss_thaddius.cpp + scripts/northrend/naxxramas/def_naxxramas.h + scripts/northrend/naxxramas/instance_naxxramas.cpp + scripts/northrend/nexus/eye_of_eternity/instance_eye_of_eternity.cpp + scripts/northrend/nexus/eye_of_eternity/boss_malygos.cpp + scripts/northrend/nexus/eye_of_eternity/def_eye_of_eternity.h + scripts/northrend/nexus/nexus/instance_nexus.cpp + scripts/northrend/nexus/nexus/boss_magus_telestra.cpp + scripts/northrend/nexus/nexus/boss_anomalus.cpp + scripts/northrend/nexus/nexus/boss_ormorok.cpp + scripts/northrend/nexus/nexus/boss_keristrasza.cpp + scripts/northrend/nexus/nexus/commander_stoutbeard.cpp + scripts/northrend/nexus/nexus/commander_kolurg.cpp + scripts/northrend/nexus/nexus/def_nexus.h + scripts/northrend/nexus/oculus/instance_oculus.cpp + scripts/northrend/nexus/oculus/boss_drakos.cpp + scripts/northrend/nexus/oculus/boss_urom.cpp + scripts/northrend/nexus/oculus/boss_varos.cpp + scripts/northrend/nexus/oculus/boss_eregos.cpp + scripts/northrend/nexus/oculus/def_oculus.h + scripts/northrend/obsidian_sanctum/instance_obsidian_sanctum.cpp + scripts/northrend/obsidian_sanctum/boss_sartharion.cpp + scripts/northrend/obsidian_sanctum/def_obsidian_sanctum.h + scripts/northrend/ulduar/halls_of_stone/instance_halls_of_stone.cpp + scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp + scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp + scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp + scripts/northrend/ulduar/halls_of_stone/def_halls_of_stone.h + scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp + scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp + scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp + scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp + scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp + scripts/northrend/ulduar/halls_of_lightning/def_halls_of_lightning.h + scripts/northrend/ulduar/ulduar/boss_algalon.cpp + scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp + scripts/northrend/ulduar/ulduar/boss_auriaya.cpp + scripts/northrend/ulduar/ulduar/boss_flame_leviathan.cpp + scripts/northrend/ulduar/ulduar/boss_freya.cpp + scripts/northrend/ulduar/ulduar/boss_general_vezax.cpp + scripts/northrend/ulduar/ulduar/boss_hodir.cpp + scripts/northrend/ulduar/ulduar/boss_ignis.cpp + scripts/northrend/ulduar/ulduar/boss_kologarn.cpp + scripts/northrend/ulduar/ulduar/boss_mimiron.cpp + scripts/northrend/ulduar/ulduar/boss_razorscale.cpp + scripts/northrend/ulduar/ulduar/boss_thorim.cpp + scripts/northrend/ulduar/ulduar/boss_xt002.cpp + scripts/northrend/ulduar/ulduar/boss_yoggsaron.cpp + scripts/northrend/ulduar/ulduar/def_ulduar.h + scripts/northrend/ulduar/ulduar/instance_ulduar.cpp + scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp + scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp + scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp + scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp + scripts/northrend/utgarde_keep/utgarde_keep/def_utgarde_keep.h + scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.cpp + scripts/northrend/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp + scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp + scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp + scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp + scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp + scripts/northrend/utgarde_keep/utgarde_pinnacle/def_pinnacle.h + scripts/northrend/vault_of_archavon/instance_vault_of_archavon.cpp + scripts/northrend/vault_of_archavon/boss_archavon.cpp + scripts/northrend/vault_of_archavon/boss_emalon.cpp + scripts/northrend/vault_of_archavon/def_vault_of_archavon.h + scripts/northrend/violet_hold/instance_violet_hold.cpp + scripts/northrend/violet_hold/boss_cyanigosa.cpp + scripts/northrend/violet_hold/boss_erekem.cpp + scripts/northrend/violet_hold/boss_ichoron.cpp + scripts/northrend/violet_hold/boss_lavanthor.cpp + scripts/northrend/violet_hold/boss_moragg.cpp + scripts/northrend/violet_hold/boss_xevozz.cpp + scripts/northrend/violet_hold/boss_zuramat.cpp + scripts/northrend/violet_hold/def_violet_hold.h scripts/northrend/borean_tundra.cpp scripts/northrend/dragonblight.cpp scripts/northrend/grizzly_hills.cpp scripts/northrend/icecrown.cpp scripts/northrend/sholazar_basin.cpp + scripts/northrend/wintergrasp.cpp scripts/northrend/zuldrak.cpp + scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp + scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp + scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp + scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp + scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp + scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp + scripts/outland/auchindoun/sethekk_halls/def_sethekk_halls.h + scripts/outland/auchindoun/sethekk_halls/instance_sethekk_halls.cpp + scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp + scripts/outland/auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp + scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp + scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp + scripts/outland/auchindoun/shadow_labyrinth/def_shadow_labyrinth.h + scripts/outland/auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp + scripts/outland/black_temple/black_temple.cpp + scripts/outland/black_temple/boss_bloodboil.cpp + scripts/outland/black_temple/boss_illidan.cpp + scripts/outland/black_temple/boss_mother_shahraz.cpp + scripts/outland/black_temple/boss_reliquary_of_souls.cpp + scripts/outland/black_temple/boss_shade_of_akama.cpp + scripts/outland/black_temple/boss_supremus.cpp + scripts/outland/black_temple/boss_teron_gorefiend.cpp + scripts/outland/black_temple/boss_warlord_najentus.cpp + scripts/outland/black_temple/def_black_temple.h + scripts/outland/black_temple/illidari_council.cpp + scripts/outland/black_temple/instance_black_temple.cpp + scripts/outland/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp + scripts/outland/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp + scripts/outland/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp + scripts/outland/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp + scripts/outland/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp + scripts/outland/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp + scripts/outland/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h + scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp + scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp + scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp + scripts/outland/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp + scripts/outland/coilfang_resevoir/steam_vault/def_steam_vault.h + scripts/outland/coilfang_resevoir/steam_vault/instance_steam_vault.cpp + scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp + scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp + scripts/outland/gruuls_lair/boss_gruul.cpp + scripts/outland/gruuls_lair/boss_high_king_maulgar.cpp + scripts/outland/gruuls_lair/def_gruuls_lair.h + scripts/outland/gruuls_lair/instance_gruuls_lair.cpp + scripts/outland/hellfire_citadel/blood_furnace/boss_broggok.cpp + scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp + scripts/outland/hellfire_citadel/blood_furnace/boss_the_maker.cpp + scripts/outland/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp + scripts/outland/hellfire_citadel/blood_furnace/def_blood_furnace.h + scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp + scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp + scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp + scripts/outland/hellfire_citadel/hellfire_ramparts/def_hellfire_ramparts.h + scripts/outland/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp + scripts/outland/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp + scripts/outland/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h + scripts/outland/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp + scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp + scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp + scripts/outland/hellfire_citadel/shattered_halls/def_shattered_halls.h + scripts/outland/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp + scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp + scripts/outland/tempest_keep/arcatraz/arcatraz.cpp + scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp + scripts/outland/tempest_keep/arcatraz/def_arcatraz.h + scripts/outland/tempest_keep/arcatraz/instance_arcatraz.cpp + scripts/outland/tempest_keep/botanica/boss_high_botanist_freywinn.cpp + scripts/outland/tempest_keep/botanica/boss_laj.cpp + scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp + scripts/outland/tempest_keep/the_eye/boss_alar.cpp + scripts/outland/tempest_keep/the_eye/boss_astromancer.cpp + scripts/outland/tempest_keep/the_eye/boss_kaelthas.cpp + scripts/outland/tempest_keep/the_eye/boss_void_reaver.cpp + scripts/outland/tempest_keep/the_eye/def_the_eye.h + scripts/outland/tempest_keep/the_eye/instance_the_eye.cpp + scripts/outland/tempest_keep/the_eye/the_eye.cpp + scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp + scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp + scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp + scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp + scripts/outland/tempest_keep/the_mechanar/def_mechanar.h + scripts/outland/tempest_keep/the_mechanar/instance_mechanar.cpp scripts/outland/blades_edge_mountains.cpp scripts/outland/boss_doomlord_kazzak.cpp scripts/outland/boss_doomwalker.cpp @@ -81,420 +500,6 @@ SET(trinityscript_LIB_SRCS scripts/outland/shattrath_city.cpp scripts/outland/terokkar_forest.cpp scripts/outland/zangarmarsh.cpp - scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp - scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp - scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp - scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp - scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp - scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp - scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h - scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp - scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp - scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp - scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp - scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp - scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h - scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp - scripts/zone/black_temple/black_temple.cpp - scripts/zone/black_temple/boss_bloodboil.cpp - scripts/zone/black_temple/boss_illidan.cpp - scripts/zone/black_temple/boss_mother_shahraz.cpp - scripts/zone/black_temple/boss_reliquary_of_souls.cpp - scripts/zone/black_temple/boss_shade_of_akama.cpp - scripts/zone/black_temple/boss_supremus.cpp - scripts/zone/black_temple/boss_teron_gorefiend.cpp - scripts/zone/black_temple/boss_warlord_najentus.cpp - scripts/zone/black_temple/def_black_temple.h - scripts/zone/black_temple/illidari_council.cpp - scripts/zone/black_temple/instance_black_temple.cpp - scripts/zone/blackfathom_depths/instance_blackfathom_deeps.cpp - scripts/zone/blackfathom_depths/def_blackfathom_deeps.h - scripts/zone/blackrock_depths/blackrock_depths.cpp - scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp - scripts/zone/blackrock_depths/boss_anubshiah.cpp - scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp - scripts/zone/blackrock_depths/boss_general_angerforge.cpp - scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp - scripts/zone/blackrock_depths/boss_grizzle.cpp - scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp - scripts/zone/blackrock_depths/boss_magmus.cpp - scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp - scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp - scripts/zone/blackrock_depths/def_blackrock_depths.h - scripts/zone/blackrock_depths/instance_blackrock_depths.cpp - scripts/zone/blackrock_spire/boss_drakkisath.cpp - scripts/zone/blackrock_spire/boss_gyth.cpp - scripts/zone/blackrock_spire/boss_halycon.cpp - scripts/zone/blackrock_spire/boss_highlord_omokk.cpp - scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp - scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp - scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp - scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp - scripts/zone/blackrock_spire/boss_rend_blackhand.cpp - scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp - scripts/zone/blackrock_spire/boss_the_beast.cpp - scripts/zone/blackrock_spire/boss_warmaster_voone.cpp - scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp - scripts/zone/blackwing_lair/boss_chromaggus.cpp - scripts/zone/blackwing_lair/boss_ebonroc.cpp - scripts/zone/blackwing_lair/boss_firemaw.cpp - scripts/zone/blackwing_lair/boss_flamegor.cpp - scripts/zone/blackwing_lair/boss_nefarian.cpp - scripts/zone/blackwing_lair/boss_razorgore.cpp - scripts/zone/blackwing_lair/boss_vaelastrasz.cpp - scripts/zone/blackwing_lair/boss_victor_nefarius.cpp - scripts/zone/blackwing_lair/instance_blackwing_lair.cpp - scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h - scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp - scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp - scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp - scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp - scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp - scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp - scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp - scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp - scripts/zone/caverns_of_time/hyjal/boss_kazrogal.cpp - scripts/zone/caverns_of_time/hyjal/boss_rage_winterchill.cpp - scripts/zone/caverns_of_time/hyjal/def_hyjal.h - scripts/zone/caverns_of_time/hyjal/hyjal.cpp - scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp - scripts/zone/caverns_of_time/hyjal/hyjal_trash.h - scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp - scripts/zone/caverns_of_time/hyjal/hyjalAI.h - scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp - scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp - scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp - scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp - scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h - scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp - scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp - scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp - scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp - scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp - scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp - scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp - scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp - scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h - scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp - scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp - scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp - scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp - scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h - scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp - scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp - scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp - scripts/zone/deadmines/def_deadmines.h - scripts/zone/deadmines/deadmines.cpp - scripts/zone/gruuls_lair/boss_gruul.cpp - scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp - scripts/zone/gruuls_lair/def_gruuls_lair.h - scripts/zone/gruuls_lair/instance_gruuls_lair.cpp - scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp - scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp - scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp - scripts/zone/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp - scripts/zone/hellfire_citadel/blood_furnace/def_blood_furnace.h - scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp - scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp - scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp - scripts/zone/hellfire_citadel/hellfire_ramparts/def_hellfire_ramparts.h - scripts/zone/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp - scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp - scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h - scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp - scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp - scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp - scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h - scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp - scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp - scripts/zone/karazhan/boss_curator.cpp - scripts/zone/karazhan/boss_maiden_of_virtue.cpp - scripts/zone/karazhan/boss_midnight.cpp - scripts/zone/karazhan/boss_moroes.cpp - scripts/zone/karazhan/boss_netherspite.cpp - scripts/zone/karazhan/boss_nightbane.cpp - scripts/zone/karazhan/boss_prince_malchezaar.cpp - scripts/zone/karazhan/boss_shade_of_aran.cpp - scripts/zone/karazhan/boss_terestian_illhoof.cpp - scripts/zone/karazhan/bosses_opera.cpp - scripts/zone/karazhan/def_karazhan.h - scripts/zone/karazhan/instance_karazhan.cpp - scripts/zone/karazhan/karazhan.cpp - scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp - scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp - scripts/zone/magisters_terrace/boss_selin_fireheart.cpp - scripts/zone/magisters_terrace/boss_vexallus.cpp - scripts/zone/magisters_terrace/def_magisters_terrace.h - scripts/zone/magisters_terrace/instance_magisters_terrace.cpp - scripts/zone/magisters_terrace/magisters_terrace.cpp - scripts/zone/maraudon/boss_celebras_the_cursed.cpp - scripts/zone/maraudon/boss_landslide.cpp - scripts/zone/maraudon/boss_noxxion.cpp - scripts/zone/maraudon/boss_princess_theradras.cpp - scripts/zone/molten_core/boss_baron_geddon.cpp - scripts/zone/molten_core/boss_garr.cpp - scripts/zone/molten_core/boss_gehennas.cpp - scripts/zone/molten_core/boss_golemagg.cpp - scripts/zone/molten_core/boss_lucifron.cpp - scripts/zone/molten_core/boss_magmadar.cpp - scripts/zone/molten_core/boss_majordomo_executus.cpp - scripts/zone/molten_core/boss_ragnaros.cpp - scripts/zone/molten_core/boss_shazzrah.cpp - scripts/zone/molten_core/boss_sulfuron_harbinger.cpp - scripts/zone/molten_core/def_molten_core.h - scripts/zone/molten_core/instance_molten_core.cpp - scripts/zone/molten_core/molten_core.cpp - scripts/zone/naxxramas/boss_anubrekhan.cpp - scripts/zone/naxxramas/boss_faerlina.cpp - scripts/zone/naxxramas/boss_gluth.cpp - scripts/zone/naxxramas/boss_gothik.cpp - scripts/zone/naxxramas/boss_grobbulus.cpp - scripts/zone/naxxramas/boss_heigan.cpp - scripts/zone/naxxramas/boss_kelthuzad.cpp - scripts/zone/naxxramas/boss_four_horsemen.cpp - scripts/zone/naxxramas/boss_loatheb.cpp - scripts/zone/naxxramas/boss_maexxna.cpp - scripts/zone/naxxramas/boss_noth.cpp - scripts/zone/naxxramas/boss_patchwerk.cpp - scripts/zone/naxxramas/boss_razuvious.cpp - scripts/zone/naxxramas/boss_sapphiron.cpp - scripts/zone/naxxramas/boss_thaddius.cpp - scripts/zone/naxxramas/def_naxxramas.h - scripts/zone/naxxramas/instance_naxxramas.cpp - scripts/zone/onyxias_lair/boss_onyxia.cpp - scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp - scripts/zone/razorfen_downs/razorfen_downs.cpp - scripts/zone/razorfen_kraul/def_razorfen_kraul.h - scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp - scripts/zone/razorfen_kraul/razorfen_kraul.cpp - scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp - scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp - scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp - scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp - scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp - scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp - scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp - scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp - scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp - scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp - scripts/zone/scarlet_monastery/boss_herod.cpp - scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp - scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp - scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp - scripts/zone/scarlet_monastery/boss_scorn.cpp - scripts/zone/scarlet_monastery/boss_headless_horseman.cpp - scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp - scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp - scripts/zone/scarlet_monastery/def_scarlet_monastery.h - scripts/zone/scholomance/boss_darkmaster_gandling.cpp - scripts/zone/scholomance/boss_death_knight_darkreaver.cpp - scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp - scripts/zone/scholomance/boss_illucia_barov.cpp - scripts/zone/scholomance/boss_instructor_malicia.cpp - scripts/zone/scholomance/boss_jandice_barov.cpp - scripts/zone/scholomance/boss_kormok.cpp - scripts/zone/scholomance/boss_lord_alexei_barov.cpp - scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp - scripts/zone/scholomance/boss_ras_frostwhisper.cpp - scripts/zone/scholomance/boss_the_ravenian.cpp - scripts/zone/scholomance/boss_vectus.cpp - scripts/zone/scholomance/def_scholomance.h - scripts/zone/scholomance/instance_scholomance.cpp - scripts/zone/shadowfang_keep/def_shadowfang_keep.h - scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp - scripts/zone/shadowfang_keep/shadowfang_keep.cpp - scripts/zone/stratholme/boss_baron_rivendare.cpp - scripts/zone/stratholme/boss_baroness_anastari.cpp - scripts/zone/stratholme/boss_cannon_master_willey.cpp - scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp - scripts/zone/stratholme/boss_magistrate_barthilas.cpp - scripts/zone/stratholme/boss_maleki_the_pallid.cpp - scripts/zone/stratholme/boss_nerubenkan.cpp - scripts/zone/stratholme/boss_order_of_silver_hand.cpp - scripts/zone/stratholme/boss_postmaster_malown.cpp - scripts/zone/stratholme/boss_ramstein_the_gorger.cpp - scripts/zone/stratholme/boss_timmy_the_cruel.cpp - scripts/zone/stratholme/def_stratholme.h - scripts/zone/stratholme/instance_stratholme.cpp - scripts/zone/stratholme/stratholme.cpp - scripts/zone/sunwell_plateau/boss_kiljaeden.cpp - scripts/zone/sunwell_plateau/boss_muru.cpp - scripts/zone/sunwell_plateau/boss_eredar_twins.cpp - scripts/zone/sunwell_plateau/boss_felmyst.cpp - scripts/zone/sunwell_plateau/boss_brutallus.cpp - scripts/zone/sunwell_plateau/boss_kalecgos.cpp - scripts/zone/sunwell_plateau/sunwell_plateau.cpp - scripts/zone/sunwell_plateau/def_sunwell_plateau.h - scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp - scripts/zone/tempest_keep/arcatraz/arcatraz.cpp - scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp - scripts/zone/tempest_keep/arcatraz/def_arcatraz.h - scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp - scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp - scripts/zone/tempest_keep/botanica/boss_laj.cpp - scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp - scripts/zone/tempest_keep/the_eye/boss_alar.cpp - scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp - scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp - scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp - scripts/zone/tempest_keep/the_eye/def_the_eye.h - scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp - scripts/zone/tempest_keep/the_eye/the_eye.cpp - scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp - scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp - scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp - scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp - scripts/zone/tempest_keep/the_mechanar/def_mechanar.h - scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp - scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp - scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp - scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp - scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp - scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp - scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp - scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp - scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp - scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp - scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h - scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp - scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp - scripts/zone/uldaman/boss_archaedas.cpp - scripts/zone/uldaman/instance_uldaman.cpp - scripts/zone/uldaman/boss_ironaya.cpp - scripts/zone/uldaman/uldaman.cpp - scripts/zone/ungoro_crater/ungoro_crater.cpp - scripts/zone/wailing_caverns/def_wailing_caverns.h - scripts/zone/wailing_caverns/instance_wailing_caverns.cpp - scripts/zone/wailing_caverns/wailing_caverns.cpp - scripts/zone/zulaman/boss_akilzon.cpp - scripts/zone/zulaman/boss_halazzi.cpp - scripts/zone/zulaman/boss_hexlord.cpp - scripts/zone/zulaman/boss_janalai.cpp - scripts/zone/zulaman/boss_nalorakk.cpp - scripts/zone/zulaman/boss_zuljin.cpp - scripts/zone/zulaman/def_zulaman.h - scripts/zone/zulaman/instance_zulaman.cpp - scripts/zone/zulaman/zulaman.cpp - scripts/zone/zulfarrak/zulfarrak.cpp - scripts/zone/zulgurub/boss_arlokk.cpp - scripts/zone/zulgurub/boss_gahzranka.cpp - scripts/zone/zulgurub/boss_grilek.cpp - scripts/zone/zulgurub/boss_hakkar.cpp - scripts/zone/zulgurub/boss_hazzarah.cpp - scripts/zone/zulgurub/boss_jeklik.cpp - scripts/zone/zulgurub/boss_jindo.cpp - scripts/zone/zulgurub/boss_mandokir.cpp - scripts/zone/zulgurub/boss_marli.cpp - scripts/zone/zulgurub/boss_renataki.cpp - scripts/zone/zulgurub/boss_thekal.cpp - scripts/zone/zulgurub/boss_venoxis.cpp - scripts/zone/zulgurub/boss_wushoolay.cpp - scripts/zone/zulgurub/def_zulgurub.h - scripts/zone/zulgurub/instance_zulgurub.cpp - scripts/zone/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp - scripts/zone/utgarde_keep/utgarde_keep/boss_keleseth.cpp - scripts/zone/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp - scripts/zone/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp - scripts/zone/utgarde_keep/utgarde_keep/def_utgarde_keep.h - scripts/zone/utgarde_keep/utgarde_keep/utgarde_keep.cpp - scripts/zone/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp - scripts/zone/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp - scripts/zone/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp - scripts/zone/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp - scripts/zone/utgarde_keep/utgarde_pinnacle/boss_svala.cpp - scripts/zone/utgarde_keep/utgarde_pinnacle/def_pinnacle.h - scripts/zone/nexus/nexus/instance_nexus.cpp - scripts/zone/nexus/nexus/boss_magus_telestra.cpp - scripts/zone/nexus/nexus/boss_anomalus.cpp - scripts/zone/nexus/nexus/boss_ormorok.cpp - scripts/zone/nexus/nexus/boss_keristrasza.cpp - scripts/zone/nexus/nexus/commander_stoutbeard.cpp - scripts/zone/nexus/nexus/commander_kolurg.cpp - scripts/zone/nexus/nexus/def_nexus.h - scripts/zone/nexus/oculus/instance_oculus.cpp - scripts/zone/nexus/oculus/boss_drakos.cpp - scripts/zone/nexus/oculus/boss_urom.cpp - scripts/zone/nexus/oculus/boss_varos.cpp - scripts/zone/nexus/oculus/boss_eregos.cpp - scripts/zone/nexus/oculus/def_oculus.h - scripts/zone/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp - scripts/zone/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp - scripts/zone/azjol_nerub/azjol_nerub/boss_hadronox.cpp - scripts/zone/azjol_nerub/azjol_nerub/boss_anubarak.cpp - scripts/zone/azjol_nerub/azjol_nerub/def_azjol_nerub.h - scripts/zone/azjol_nerub/ahnkahet/instance_ahnkahet.cpp - scripts/zone/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp - scripts/zone/azjol_nerub/ahnkahet/boss_elder_nadox.cpp - scripts/zone/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp - scripts/zone/azjol_nerub/ahnkahet/boss_herald_volazj.cpp - scripts/zone/azjol_nerub/ahnkahet/boss_amanitar.cpp - scripts/zone/azjol_nerub/ahnkahet/def_ahnkahet.h - scripts/zone/draktharon_keep/instance_drak_tharon_keep.cpp - scripts/zone/draktharon_keep/boss_trollgore.cpp - scripts/zone/draktharon_keep/boss_novos.cpp - scripts/zone/draktharon_keep/boss_dred.cpp - scripts/zone/draktharon_keep/boss_tharon_ja.cpp - scripts/zone/draktharon_keep/def_drak_tharon_keep.h - scripts/zone/violet_hold/instance_violet_hold.cpp - scripts/zone/violet_hold/boss_cyanigosa.cpp - scripts/zone/violet_hold/boss_erekem.cpp - scripts/zone/violet_hold/boss_ichoron.cpp - scripts/zone/violet_hold/boss_lavanthor.cpp - scripts/zone/violet_hold/boss_moragg.cpp - scripts/zone/violet_hold/boss_xevozz.cpp - scripts/zone/violet_hold/boss_zuramat.cpp - scripts/zone/violet_hold/def_violet_hold.h - scripts/zone/gundrak/instance_gundrak.cpp - scripts/zone/gundrak/boss_slad_ran.cpp - scripts/zone/gundrak/boss_moorabi.cpp - scripts/zone/gundrak/boss_drakkari_colossus.cpp - scripts/zone/gundrak/boss_gal_darah.cpp - scripts/zone/gundrak/boss_eck.cpp - scripts/zone/gundrak/def_gundrak.h - scripts/zone/ulduar/halls_of_stone/instance_halls_of_stone.cpp - scripts/zone/ulduar/halls_of_stone/boss_maiden_of_grief.cpp - scripts/zone/ulduar/halls_of_stone/boss_krystallus.cpp - scripts/zone/ulduar/halls_of_stone/boss_sjonnir.cpp - scripts/zone/ulduar/halls_of_stone/def_halls_of_stone.h - scripts/zone/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp - scripts/zone/ulduar/halls_of_lightning/boss_bjarngrim.cpp - scripts/zone/ulduar/halls_of_lightning/boss_ionar.cpp - scripts/zone/ulduar/halls_of_lightning/boss_volkhan.cpp - scripts/zone/ulduar/halls_of_lightning/boss_loken.cpp - scripts/zone/ulduar/halls_of_lightning/def_halls_of_lightning.h - scripts/zone/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp - scripts/zone/caverns_of_time/culling_of_stratholme/boss_meathook.cpp - scripts/zone/caverns_of_time/culling_of_stratholme/boss_epoch.cpp - scripts/zone/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp - scripts/zone/caverns_of_time/culling_of_stratholme/boss_salramm.cpp - scripts/zone/caverns_of_time/culling_of_stratholme/def_culling_of_stratholme.h - scripts/zone/nexus/eye_of_eternity/instance_eye_of_eternity.cpp - scripts/zone/nexus/eye_of_eternity/boss_malygos.cpp - scripts/zone/nexus/eye_of_eternity/def_eye_of_eternity.h - scripts/zone/obsidian_sanctum/instance_obsidian_sanctum.cpp - scripts/zone/obsidian_sanctum/boss_sartharion.cpp - scripts/zone/obsidian_sanctum/def_obsidian_sanctum.h - scripts/zone/vault_of_archavon/instance_vault_of_archavon.cpp - scripts/zone/vault_of_archavon/boss_archavon.cpp - scripts/zone/vault_of_archavon/boss_emalon.cpp - scripts/zone/vault_of_archavon/def_vault_of_archavon.h - scripts/zone/wintergrasp/wintergrasp.cpp - scripts/zone/ulduar/ulduar/boss_algalon.cpp - scripts/zone/ulduar/ulduar/boss_assembly_of_iron.cpp - scripts/zone/ulduar/ulduar/boss_auriaya.cpp - scripts/zone/ulduar/ulduar/boss_flame_leviathan.cpp - scripts/zone/ulduar/ulduar/boss_freya.cpp - scripts/zone/ulduar/ulduar/boss_general_vezax.cpp - scripts/zone/ulduar/ulduar/boss_hodir.cpp - scripts/zone/ulduar/ulduar/boss_ignis.cpp - scripts/zone/ulduar/ulduar/boss_kologarn.cpp - scripts/zone/ulduar/ulduar/boss_mimiron.cpp - scripts/zone/ulduar/ulduar/boss_razorscale.cpp - scripts/zone/ulduar/ulduar/boss_thorim.cpp - scripts/zone/ulduar/ulduar/boss_xt002.cpp - scripts/zone/ulduar/ulduar/boss_yoggsaron.cpp - scripts/zone/ulduar/ulduar/def_ulduar.h - scripts/zone/ulduar/ulduar/instance_ulduar.cpp scripts/world/areatrigger_scripts.cpp scripts/world/boss_emeriss.cpp scripts/world/boss_lethon.cpp @@ -510,7 +515,8 @@ SET(trinityscript_LIB_SRCS scripts/world/npc_taxi.cpp system/ScriptLoader.cpp system/ScriptLoader.h - system.cpp + system/system.cpp + system/system.h ) add_library(trinityscript SHARED ${trinityscript_LIB_SRCS}) diff --git a/src/bindings/scripts/ScriptMgr.cpp b/src/bindings/scripts/ScriptMgr.cpp index 84215e01a0c..29744ccec9a 100644 --- a/src/bindings/scripts/ScriptMgr.cpp +++ b/src/bindings/scripts/ScriptMgr.cpp @@ -9,6 +9,7 @@ #include "ObjectMgr.h" #include "ProgressBar.h" #include "../system/ScriptLoader.h" +#include "../system/system.h" #define _FULLVERSION "TrinityScript" @@ -19,26 +20,8 @@ int num_sc_scripts; Script *m_scripts[MAX_SCRIPTS]; -DatabaseType TScriptDB; Config TScriptConfig; -// String text additional data, used in TextMap -struct StringTextData -{ - uint32 SoundId; - uint8 Type; - uint32 Language; - uint32 Emote; -}; - -#define TEXT_SOURCE_RANGE -1000000 //the amount of entries each text source has available - -// Text Maps -UNORDERED_MAP<int32, StringTextData> TextMap; - -// Waypoint map (escorts) -UNORDERED_MAP<uint32, std::vector<PointMovement> > PointMovementMap; - void FillSpellSummary(); void LoadOverridenSQLData(); void LoadOverridenDBCData(); @@ -56,228 +39,21 @@ void LoadDatabase() //Initialize connection to DB if (!dbstring.empty() && TScriptDB.Initialize(dbstring.c_str())) - outstring_log("TSCR: TrinityScript database: %s",dbstring.c_str()); - else - { - error_log("TSCR: Unable to connect to Database. Load database aborted."); - return; - } - - //***Preform all DB queries here*** - QueryResult *result; - - //Get Version information - result = TScriptDB.PQuery("SELECT script_version FROM version LIMIT 1"); - - if (result) - { - Field *fields = result->Fetch(); - outstring_log("TSCR: Database version is: %s", fields[0].GetString()); - outstring_log(""); - delete result; - - }else { - error_log("TSCR: Missing `version.script_version` information."); + outstring_log("TSCR: TrinityScript database at %s initialized", dbstring.c_str()); outstring_log(""); - } - - // Drop Existing Text Map, only done once and we are ready to add data from multiple sources. - TextMap.clear(); - - // Load Script Text - outstring_log("TSCR: Loading Script Texts..."); - LoadTrinityStrings(TScriptDB,"script_texts",TEXT_SOURCE_RANGE,1+(TEXT_SOURCE_RANGE*2)); - - // Gather Additional data from Script Texts - result = TScriptDB.PQuery("SELECT entry, sound, type, language, emote FROM script_texts"); - - outstring_log("TSCR: Loading Script Texts additional data..."); - if (result) - { - barGoLink bar(result->GetRowCount()); - uint32 count = 0; - do - { - bar.step(); - Field* fields = result->Fetch(); - StringTextData temp; - - int32 i = fields[0].GetInt32(); - temp.SoundId = fields[1].GetInt32(); - temp.Type = fields[2].GetInt32(); - temp.Language = fields[3].GetInt32(); - temp.Emote = fields[4].GetInt32(); - - if (i >= 0) - { - error_db_log("TSCR: Entry %i in table `script_texts` is not a negative value.",i); - continue; - } - - if (i > TEXT_SOURCE_RANGE || i <= TEXT_SOURCE_RANGE*2) - { - error_db_log("TSCR: Entry %i in table `script_texts` is out of accepted entry range for table.",i); - continue; - } - - if (temp.SoundId) - { - if (!GetSoundEntriesStore()->LookupEntry(temp.SoundId)) - error_db_log("TSCR: Entry %i in table `script_texts` has soundId %u but sound does not exist.",i, temp.SoundId); - } - - if (!GetLanguageDescByID(temp.Language)) - error_db_log("TSCR: Entry %i in table `script_texts` using Language %u but Language does not exist.",i, temp.Language); - - if (temp.Type > CHAT_TYPE_ZONE_YELL) - error_db_log("TSCR: Entry %i in table `script_texts` has Type %u but this Chat Type does not exist.",i, temp.Type); - - TextMap[i] = temp; - ++count; - } while (result->NextRow()); - - delete result; - - outstring_log(""); - outstring_log(">> TSCR: Loaded %u additional Script Texts data.", count); - }else - { - barGoLink bar(1); - bar.step(); - outstring_log(""); - outstring_log(">> Loaded 0 additional Script Texts data. DB table `script_texts` is empty."); - } - - // Load Custom Text - outstring_log("TSCR: Loading Custom Texts..."); - LoadTrinityStrings(TScriptDB,"custom_texts",TEXT_SOURCE_RANGE*2,1+(TEXT_SOURCE_RANGE*3)); - - // Gather Additional data from Custom Texts - result = TScriptDB.PQuery("SELECT entry, sound, type, language, emote FROM custom_texts"); - - outstring_log("TSCR: Loading Custom Texts additional data..."); - if (result) - { - barGoLink bar(result->GetRowCount()); - uint32 count = 0; - - do - { - bar.step(); - Field* fields = result->Fetch(); - StringTextData temp; - - int32 i = fields[0].GetInt32(); - temp.SoundId = fields[1].GetInt32(); - temp.Type = fields[2].GetInt32(); - temp.Language = fields[3].GetInt32(); - temp.Emote = fields[4].GetInt32(); - - if (i >= 0) - { - error_db_log("TSCR: Entry %i in table `custom_texts` is not a negative value.",i); - continue; - } - - if (i > TEXT_SOURCE_RANGE*2 || i <= TEXT_SOURCE_RANGE*3) - { - error_db_log("TSCR: Entry %i in table `custom_texts` is out of accepted entry range for table.",i); - continue; - } - - if (temp.SoundId) - { - if (!GetSoundEntriesStore()->LookupEntry(temp.SoundId)) - error_db_log("TSCR: Entry %i in table `custom_texts` has soundId %u but sound does not exist.",i, temp.SoundId); - } - - if (!GetLanguageDescByID(temp.Language)) - error_db_log("TSCR: Entry %i in table `custom_texts` using Language %u but Language does not exist.",i, temp.Language); - - if (temp.Type > CHAT_TYPE_ZONE_YELL) - error_db_log("TSCR: Entry %i in table `custom_texts` has Type %u but this Chat Type does not exist.",i, temp.Type); - - TextMap[i] = temp; - ++count; - } while (result->NextRow()); - - delete result; - - outstring_log(""); - outstring_log(">> Loaded %u additional Custom Texts data.", count); - }else - { - barGoLink bar(1); - bar.step(); - outstring_log(""); - outstring_log(">> Loaded 0 additional Custom Texts data. DB table `custom_texts` is empty."); - } - - // Drop Existing Waypoint list - PointMovementMap.clear(); - uint64 uiCreatureCount = 0; - - // Load Waypoints - result = TScriptDB.PQuery("SELECT COUNT(entry) FROM script_waypoint GROUP BY entry"); - if (result) - { - uiCreatureCount = result->GetRowCount(); - delete result; - } - - outstring_log("TSCR: Loading Script Waypoints for %u creature(s)...", uiCreatureCount); - - result = TScriptDB.PQuery("SELECT entry, pointid, location_x, location_y, location_z, waittime FROM script_waypoint ORDER BY pointid"); - - if (result) - { - barGoLink bar(result->GetRowCount()); - uint32 uiNodeCount = 0; - - do - { - bar.step(); - Field* pFields = result->Fetch(); - PointMovement pTemp; - - pTemp.m_uiCreatureEntry = pFields[0].GetUInt32(); - uint32 uiCreatureEntry = pTemp.m_uiCreatureEntry; - pTemp.m_uiPointId = pFields[1].GetUInt32(); - pTemp.m_fX = pFields[2].GetFloat(); - pTemp.m_fY = pFields[3].GetFloat(); - pTemp.m_fZ = pFields[4].GetFloat(); - pTemp.m_uiWaitTime = pFields[5].GetUInt32(); - - CreatureInfo const* pCInfo = GetCreatureTemplateStore(pTemp.m_uiCreatureEntry); - if (!pCInfo) - { - error_db_log("TSCR: DB table script_waypoint has waypoint for non-existant creature entry %u", pTemp.m_uiCreatureEntry); - continue; - } - - if (!pCInfo->ScriptID) - error_db_log("TSCR: DB table script_waypoint has waypoint for creature entry %u, but creature does not have ScriptName defined and then useless.", pTemp.m_uiCreatureEntry); - - PointMovementMap[uiCreatureEntry].push_back(pTemp); - ++uiNodeCount; - } while (result->NextRow()); - - delete result; - - outstring_log(""); - outstring_log(">> Loaded %u Script Waypoint nodes.", uiNodeCount); + pSystemMgr.LoadVersion(); + pSystemMgr.LoadScriptTexts(); + pSystemMgr.LoadScriptTextsCustom(); + pSystemMgr.LoadScriptWaypoints(); } else { - barGoLink bar(1); - bar.step(); - outstring_log(""); - outstring_log(">> Loaded 0 Script Waypoints. DB table `script_waypoint` is empty."); + error_log("TSCR: Unable to connect to Database. Load database aborted."); + return; } - //Free database thread and resources TScriptDB.HaltDelayThread(); } @@ -303,8 +79,6 @@ void ScriptsFree() TRINITY_DLL_EXPORT void ScriptsInit(char const* cfg_file = "trinitycore.conf") { - bool CanLoadDB = true; - //Trinity Script startup outstring_log(" _____ _ _ _ ____ _ _"); outstring_log("|_ _| __(_)_ __ (_) |_ _ _/ ___| ___ _ __(_)_ __ | |_ "); @@ -317,17 +91,14 @@ void ScriptsInit(char const* cfg_file = "trinitycore.conf") //Get configuration file if (!TScriptConfig.SetSource(cfg_file)) - { - CanLoadDB = false; error_log("TSCR: Unable to open configuration file. Database will be unaccessible. Configuration values will use default."); - } - else outstring_log("TSCR: Using configuration file %s",cfg_file); + else + outstring_log("TSCR: Using configuration file %s",cfg_file); outstring_log(""); - //Load database (must be called after TScriptConfig.SetSource). In case it failed, no need to even try load. - if (CanLoadDB) - LoadDatabase(); + //Load database (must be called after SD2Config.SetSource). + LoadDatabase(); outstring_log("TSCR: Loading C++ scripts"); barGoLink bar(1); @@ -352,78 +123,78 @@ void ScriptsInit(char const* cfg_file = "trinitycore.conf") //********************************* //*** Functions used globally *** -void DoScriptText(int32 textEntry, WorldObject* pSource, Unit* target) +void DoScriptText(int32 iTextEntry, WorldObject* pSource, Unit* pTarget) { if (!pSource) { - error_log("TSCR: DoScriptText entry %i, invalid Source pointer.",textEntry); + error_log("TSCR: DoScriptText entry %i, invalid Source pointer.", iTextEntry); return; } - if (textEntry >= 0) + if (iTextEntry >= 0) { - error_log("TSCR: DoScriptText with source entry %u (TypeId=%u, guid=%u) attempts to process text entry %i, but text entry must be negative.",pSource->GetEntry(),pSource->GetTypeId(),pSource->GetGUIDLow(),textEntry); + error_log("TSCR: DoScriptText with source entry %u (TypeId=%u, guid=%u) attempts to process text entry %i, but text entry must be negative.", pSource->GetEntry(), pSource->GetTypeId(), pSource->GetGUIDLow(), iTextEntry); return; } - UNORDERED_MAP<int32, StringTextData>::iterator i = TextMap.find(textEntry); + const StringTextData* pData = pSystemMgr.GetTextData(iTextEntry); - if (i == TextMap.end()) + if (!pData) { - error_log("TSCR: DoScriptText with source entry %u (TypeId=%u, guid=%u) could not find text entry %i.",pSource->GetEntry(),pSource->GetTypeId(),pSource->GetGUIDLow(),textEntry); + error_log("TSCR: DoScriptText with source entry %u (TypeId=%u, guid=%u) could not find text entry %i.", pSource->GetEntry(), pSource->GetTypeId(), pSource->GetGUIDLow(), iTextEntry); return; } - debug_log("TSCR: DoScriptText: text entry=%i, Sound=%u, Type=%u, Language=%u, Emote=%u",textEntry,(*i).second.SoundId,(*i).second.Type,(*i).second.Language,(*i).second.Emote); + debug_log("TSCR: DoScriptText: text entry=%i, Sound=%u, Type=%u, Language=%u, Emote=%u", iTextEntry, pData->uiSoundId, pData->uiType, pData->uiLanguage, pData->uiEmote); - if((*i).second.SoundId) + if(pData->uiSoundId) { - if(GetSoundEntriesStore()->LookupEntry((*i).second.SoundId)) + if(GetSoundEntriesStore()->LookupEntry(pData->uiSoundId)) { - pSource->SendPlaySound((*i).second.SoundId, false); + pSource->SendPlaySound(pData->uiSoundId, false); } else - error_log("TSCR: DoScriptText entry %i tried to process invalid sound id %u.",textEntry,(*i).second.SoundId); + error_log("TSCR: DoScriptText entry %i tried to process invalid sound id %u.", iTextEntry, pData->uiSoundId); } - if((*i).second.Emote) + if(pData->uiEmote) { if (pSource->GetTypeId() == TYPEID_UNIT || pSource->GetTypeId() == TYPEID_PLAYER) - { - ((Unit*)pSource)->HandleEmoteCommand((*i).second.Emote); - } + ((Unit*)pSource)->HandleEmoteCommand(pData->uiEmote); else - error_log("TSCR: DoScriptText entry %i tried to process emote for invalid TypeId (%u).",textEntry, pSource->GetTypeId()); + error_log("TSCR: DoScriptText entry %i tried to process emote for invalid TypeId (%u).", iTextEntry, pSource->GetTypeId()); } - switch((*i).second.Type) + switch(pData->uiType) { case CHAT_TYPE_SAY: - pSource->MonsterSay(textEntry, (*i).second.Language, target ? target->GetGUID() : 0); + pSource->MonsterSay(iTextEntry, pData->uiLanguage, pTarget ? pTarget->GetGUID() : 0); break; case CHAT_TYPE_YELL: - pSource->MonsterYell(textEntry, (*i).second.Language, target ? target->GetGUID() : 0); + pSource->MonsterYell(iTextEntry, pData->uiLanguage, pTarget ? pTarget->GetGUID() : 0); break; case CHAT_TYPE_TEXT_EMOTE: - pSource->MonsterTextEmote(textEntry, target ? target->GetGUID() : 0); + pSource->MonsterTextEmote(iTextEntry, pTarget ? pTarget->GetGUID() : 0); break; case CHAT_TYPE_BOSS_EMOTE: - pSource->MonsterTextEmote(textEntry, target ? target->GetGUID() : 0, true); + pSource->MonsterTextEmote(iTextEntry, pTarget ? pTarget->GetGUID() : 0, true); break; case CHAT_TYPE_WHISPER: { - if (target && target->GetTypeId() == TYPEID_PLAYER) - pSource->MonsterWhisper(textEntry, target->GetGUID()); - else error_log("TSCR: DoScriptText entry %i cannot whisper without target unit (TYPEID_PLAYER).", textEntry); + if (pTarget && pTarget->GetTypeId() == TYPEID_PLAYER) + pSource->MonsterWhisper(iTextEntry, pTarget->GetGUID()); + else + error_log("TSCR: DoScriptText entry %i cannot whisper without target unit (TYPEID_PLAYER).", iTextEntry); }break; case CHAT_TYPE_BOSS_WHISPER: { - if (target && target->GetTypeId() == TYPEID_PLAYER) - pSource->MonsterWhisper(textEntry, target->GetGUID(), true); - else error_log("TSCR: DoScriptText entry %i cannot whisper without target unit (TYPEID_PLAYER).", textEntry); + if (pTarget && pTarget->GetTypeId() == TYPEID_PLAYER) + pSource->MonsterWhisper(iTextEntry, pTarget->GetGUID(), true); + else + error_log("TSCR: DoScriptText entry %i cannot whisper without target unit (TYPEID_PLAYER).", iTextEntry); }break; case CHAT_TYPE_ZONE_YELL: - pSource->MonsterYellToZone(textEntry, (*i).second.Language, target ? target->GetGUID() : 0); + pSource->MonsterYellToZone(iTextEntry, pData->uiLanguage, pTarget ? pTarget->GetGUID() : 0); break; } } @@ -454,6 +225,7 @@ char const* ScriptsVersion() { return "Default Trinity scripting library"; } + TRINITY_DLL_EXPORT bool GossipHello (Player * pPlayer, Creature* pCreature) { diff --git a/src/bindings/scripts/VC80/80ScriptDev2.vcproj b/src/bindings/scripts/VC80/80ScriptDev2.vcproj index 2ddcba982b5..ff8b323c54e 100644 --- a/src/bindings/scripts/VC80/80ScriptDev2.vcproj +++ b/src/bindings/scripts/VC80/80ScriptDev2.vcproj @@ -360,2406 +360,2345 @@ <References> </References> <Files> - <Filter - Name="base" - > - <File - RelativePath="..\base\escortAI.cpp" - > - </File> - <File - RelativePath="..\base\escortAI.h" - > - </File> - <File - RelativePath="..\base\guard_ai.cpp" - > - </File> - <File - RelativePath="..\base\guard_ai.h" - > - </File> - <File - RelativePath="..\base\simple_ai.cpp" - > - </File> - <File - RelativePath="..\base\simple_ai.h" - > - </File> - </Filter> - <Filter - Name="scripts" - > - <Filter - Name="eastern_kingdoms" - > - <Filter - Name="scarlet_enclave" - > - <File - RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\the_scarlet_enclave.cpp" - > - </File> - </Filter> - <File - RelativePath="..\scripts\eastern_kingdoms\alterac_mountains.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\arathi_highlands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\blasted_lands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\boss_kruul.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\burning_steppes.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\dun_morogh.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\eastern_plaguelands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\elwynn_forest.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\eversong_woods.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\ghostlands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\hinterlands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\ironforge.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\isle_of_queldanas.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\loch_modan.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\searing_gorge.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\silvermoon_city.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\silverpine_forest.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\stormwind_city.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\stranglethorn_vale.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\tirisfal_glades.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\undercity.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\western_plaguelands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\westfall.cpp" - > - </File> - </Filter> - <Filter - Name="examples" - > - <File - RelativePath="..\scripts\examples\example_creature.cpp" - > - </File> - <File - RelativePath="..\scripts\examples\example_escort.cpp" - > - </File> - <File - RelativePath="..\scripts\examples\example_gossip_codebox.cpp" - > - </File> - <File - RelativePath="..\scripts\examples\example_misc.cpp" - > - </File> - </Filter> - <Filter - Name="kalimdor" - > - <File - RelativePath="..\scripts\kalimdor\ashenvale.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\azshara.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\azuremyst_isle.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\bloodmyst_isle.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\boss_azuregos.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\darkshore.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\desolace.cpp"> - </File> - <File - RelativePath="..\scripts\kalimdor\dustwallow_marsh.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\felwood.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\feralas.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\moonglade.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\mulgore.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\orgrimmar.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\silithus.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\stonetalon_mountains.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\tanaris.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\teldrassil.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\the_barrens.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\thousand_needles.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\thunder_bluff.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\winterspring.cpp" - > - </File> - </Filter> - <Filter - Name="northrend" - > - <File - RelativePath="..\scripts\northrend\borean_tundra.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\dragonblight.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\grizzly_hills.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\icecrown.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\sholazar_basin.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\zuldrak.cpp" - > - </File> - </Filter> - <Filter - Name="outland" - > - <File - RelativePath="..\scripts\outland\blades_edge_mountains.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\boss_doomlord_kazzak.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\boss_doomwalker.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\hellfire_peninsula.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\nagrand.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\netherstorm.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\shadowmoon_valley.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\shattrath_city.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\terokkar_forest.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\zangarmarsh.cpp" - > - </File> - </Filter> - <Filter - Name="zone" - > - <Filter - Name="Kalimdor" - > - <Filter - Name="Blackfathom Depths" - > - <File - RelativePath="..\scripts\zone\blackfathom_depths\instance_blackfathom_deeps.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackfathom_depths\def_blackfathom_deeps.h" - > - </File> - </Filter> - <Filter - Name="Caverns of Time" - > - <Filter - Name="The Dark Portal" - > - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\boss_aeonus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\boss_chrono_lord_deja.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\boss_temporus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\dark_portal.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\def_dark_portal.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\instance_dark_portal.cpp" - > - </File> - </Filter> - <Filter - Name="Battle for Mt. Hyjal" - > - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_anetheron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_archimonde.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_azgalor.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_kazrogal.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_rage_winterchill.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\def_hyjal.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjal.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjal_trash.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjal_trash.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjalAI.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjalAI.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\instance_hyjal.cpp" - > - </File> - </Filter> - <Filter - Name="Culling of Stratholme" - > - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\boss_epoch.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\boss_mal_ganis.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\boss_meathook.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\boss_salramm.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\def_culling_of_stratholme.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\instance_culling_of_stratholme.cpp" - > - </File> - </Filter> - <Filter - Name="Old Hillsbrad" - > - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\boss_captain_skarloc.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\boss_epoch_hunter.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\boss_leutenant_drake.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\def_old_hillsbrad.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\instance_old_hillsbrad.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\old_hillsbrad.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Maraudon" - > - <File - RelativePath="..\scripts\zone\maraudon\boss_celebras_the_cursed.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\maraudon\boss_landslide.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\maraudon\boss_noxxion.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\maraudon\boss_princess_theradras.cpp" - > - </File> - </Filter> - <Filter - Name="Onyxia's Lair" - > - <File - RelativePath="..\scripts\zone\onyxias_lair\boss_onyxia.cpp" - > - </File> - </Filter> - <Filter - Name="Ragefire Chasm" - > - </Filter> - <Filter - Name="Razorfen Downs" - > - <File - RelativePath="..\scripts\zone\razorfen_downs\boss_amnennar_the_coldbringer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\razorfen_downs\razorfen_downs.cpp" - > - </File> - </Filter> - <Filter - Name="Razorfen Kraul" - > - <File - RelativePath="..\scripts\zone\razorfen_kraul\razorfen_kraul.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\razorfen_kraul\instance_razorfen_kraul.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\razorfen_kraul\def_razorfen_kraul.h" - > - </File> - </Filter> - <Filter - Name="Ruins of Ahn'Qiraj" - > - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_ayamiss.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_buru.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_kurinnaxx.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_moam.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_ossirian.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_rajaxx.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\instance_ruins_of_ahnqiraj.cpp" - > - </File> - </Filter> - <Filter - Name="Zul'Farrak" - > - <File - RelativePath="..\scripts\zone\zulfarrak\zulfarrak.cpp" - > - </File> - </Filter> - <Filter - Name="Wailing Caverns" - > - <File - RelativePath="..\scripts\zone\wailing_caverns\def_wailing_caverns.h" - > - </File> - <File - RelativePath="..\scripts\zone\wailing_caverns\instance_wailing_caverns.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\wailing_caverns\wailing_caverns.cpp" - > - </File> - </Filter> - - <Filter - Name="Un'Goro Crater" - > - <File - RelativePath="..\scripts\zone\ungoro_crater\ungoro_crater.cpp" - > - </File> - </Filter> - <Filter - Name="Temple of Ahn'Qiraj" - > - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_bug_trio.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_cthun.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_fankriss.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_huhuran.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_ouro.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_sartura.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_skeram.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_twinemperors.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_viscidus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\def_temple_of_ahnqiraj.h" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\instance_temple_of_ahnqiraj.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\mob_anubisath_sentinel.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Azeroth" - > - <Filter - Name="Molten Core" - > - <File - RelativePath="..\scripts\zone\molten_core\boss_baron_geddon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_garr.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_gehennas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_golemagg.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_lucifron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_magmadar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_majordomo_executus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_ragnaros.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_shazzrah.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_sulfuron_harbinger.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\def_molten_core.h" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\instance_molten_core.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\molten_core.cpp" - > - </File> - </Filter> - <Filter - Name="Magister's Terrace" - > - <File - RelativePath="..\scripts\zone\magisters_terrace\boss_felblood_kaelthas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\boss_priestess_delrissa.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\boss_selin_fireheart.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\boss_vexallus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\def_magisters_terrace.h" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\instance_magisters_terrace.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\magisters_terrace.cpp" - > - </File> - </Filter> - <Filter - Name="Karazhan" - > - <File - RelativePath="..\scripts\zone\karazhan\boss_curator.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_maiden_of_virtue.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_midnight.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_moroes.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_netherspite.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_nightbane.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_prince_malchezaar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_shade_of_aran.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_terestian_illhoof.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\bosses_opera.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\def_karazhan.h" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\instance_karazhan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\karazhan.cpp" - > - </File> - </Filter> - <Filter - Name="Hillsbrad Foothills" - > - </Filter> - <Filter - Name="Gnomeregan" - > - </Filter> - <Filter - Name="Deadmines" - > - <File - RelativePath="..\scripts\zone\deadmines\deadmines.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\deadmines\def_deadmines.h" - > - </File> - </Filter> - <Filter - Name="Deadwind Pass" - > - </Filter> - <Filter - Name="Blackrock Depths" - > - <File - RelativePath="..\scripts\zone\blackrock_depths\blackrock_depths.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_ambassador_flamelash.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_anubshiah.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_emperor_dagran_thaurissan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_general_angerforge.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_gorosh_the_dervish.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_grizzle.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_high_interrogator_gerstahn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_magmus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_moira_bronzebeard.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_tomb_of_seven.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\def_blackrock_depths.h" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\instance_blackrock_depths.cpp" - > - </File> - </Filter> - <Filter - Name="Blackrock Spire" - > - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_drakkisath.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_gyth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_halycon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_highlord_omokk.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_mother_smolderweb.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_overlord_wyrmthalak.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_pyroguard_emberseer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_quartermaster_zigris.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_rend_blackhand.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_shadow_hunter_voshgajin.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_the_beast.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_warmaster_voone.cpp" - > - </File> - </Filter> - <Filter - Name="Blackwing Lair" - > - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_broodlord_lashlayer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_chromaggus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_ebonroc.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_firemaw.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_flamegor.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_nefarian.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_razorgore.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_vaelastrasz.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_victor_nefarius.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\instance_blackwing_lair.cpp" - > - </File> - </Filter> - <Filter - Name="Scarlet Monastery" - > - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_arcanist_doan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_azshir_the_sleepless.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_bloodmage_thalnos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_headless_horseman.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_herod.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_high_inquisitor_fairbanks.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_houndmaster_loksey.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_interrogator_vishas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_mograine_and_whitemane.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_scorn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\def_scarlet_monastery.h" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\instance_scarlet_monastery.cpp" - > - </File> - </Filter> - <Filter - Name="Scholomance" - > - <File - RelativePath="..\scripts\zone\scholomance\boss_darkmaster_gandling.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_death_knight_darkreaver.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_doctor_theolen_krastinov.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_illucia_barov.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_instructor_malicia.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_jandice_barov.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_kormok.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_lord_alexei_barov.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_lorekeeper_polkelt.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_ras_frostwhisper.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_the_ravenian.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_vectus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\def_scholomance.h" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\instance_scholomance.cpp" - > - </File> - </Filter> - <Filter - Name="Shadowfang Keep" - > - <File - RelativePath="..\scripts\zone\shadowfang_keep\def_shadowfang_keep.h" - > - </File> - <File - RelativePath="..\scripts\zone\shadowfang_keep\instance_shadowfang_keep.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\shadowfang_keep\shadowfang_keep.cpp" - > - </File> - </Filter> - <Filter - Name="Stockade" - > - </Filter> - <Filter - Name="Stratholme" - > - <File - RelativePath="..\scripts\zone\stratholme\boss_baron_rivendare.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_baroness_anastari.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_cannon_master_willey.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_dathrohan_balnazzar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_magistrate_barthilas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_maleki_the_pallid.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_nerubenkan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_order_of_silver_hand.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_postmaster_malown.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_ramstein_the_gorger.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_timmy_the_cruel.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\def_stratholme.h" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\instance_stratholme.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\stratholme.cpp" - > - </File> - </Filter> - <Filter - Name="Sunken Temple" - > - </Filter> - <Filter - Name="Sunwell Plateau" - > - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_brutallus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_eredar_twins.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_felmyst.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_kalecgos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_kiljaeden.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_muru.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\def_sunwell_plateau.h" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\instance_sunwell_plateau.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\sunwell_plateau.cpp" - > - </File> - </Filter> - <Filter - Name="Swamp of Sorrows" - > - </Filter> - <Filter - Name="Zul'Gurub" - > - <File - RelativePath="..\scripts\zone\zulgurub\boss_arlokk.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_gahzranka.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_grilek.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_hakkar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_hazzarah.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_jeklik.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_jindo.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_mandokir.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_marli.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_renataki.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_thekal.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_venoxis.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_wushoolay.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\def_zulgurub.h" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\instance_zulgurub.cpp" - > - </File> - </Filter> - <Filter - Name="Zul'Aman" - > - <File - RelativePath="..\scripts\zone\zulaman\boss_akilzon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_halazzi.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_hexlord.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_janalai.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_nalorakk.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_zuljin.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\def_zulaman.h" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\instance_zulaman.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\zulaman.cpp" - > - </File> - </Filter> - <Filter - Name="Uldaman" - > - <File - RelativePath="..\scripts\zone\uldaman\boss_archaedas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\uldaman\boss_ironaya.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\uldaman\instance_uldaman.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\uldaman\uldaman.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Outland" - > - <Filter - Name="Gruul's Lair" - > - <File - RelativePath="..\scripts\zone\gruuls_lair\boss_gruul.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gruuls_lair\boss_high_king_maulgar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gruuls_lair\def_gruuls_lair.h" - > - </File> - <File - RelativePath="..\scripts\zone\gruuls_lair\instance_gruuls_lair.cpp" - > - </File> - </Filter> - <Filter - Name="Hellfire Citadel" - > - <Filter - Name="Blood Furnace" - > - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\boss_broggok.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\boss_kelidan_the_breaker.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\boss_the_maker.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\def_blood_furnace.h" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\instance_blood_furnace.cpp" - > - </File> - </Filter> - <Filter - Name="Magtheridon's lair" - > - <File - RelativePath="..\scripts\zone\hellfire_citadel\magtheridons_lair\boss_magtheridon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\magtheridons_lair\def_magtheridons_lair.h" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\magtheridons_lair\instance_magtheridons_lair.cpp" - > - </File> - </Filter> - <Filter - Name="Hellfire Ramparts" - > - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\boss_omor_the_unscarred.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\boss_vazruden_the_herald.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\boss_watchkeeper_gargolmar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\def_hellfire_ramparts.h" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\instance_hellfire_ramparts.cpp" - > - </File> - </Filter> - <Filter - Name="Shattered Halls" - > - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\boss_nethekurse.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\boss_warbringer_omrogg.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\boss_warchief_kargath_bladefist.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\def_shattered_halls.h" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\instance_shattered_halls.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Tempest Keep" - > - <Filter - Name="Arcatraz" - > - <File - RelativePath="..\scripts\zone\tempest_keep\arcatraz\arcatraz.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\arcatraz\boss_harbinger_skyriss.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\arcatraz\def_arcatraz.h" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\arcatraz\instance_arcatraz.cpp" - > - </File> - </Filter> - <Filter - Name="Botanica" - > - <File - RelativePath="..\scripts\zone\tempest_keep\botanica\boss_high_botanist_freywinn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\botanica\boss_laj.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\botanica\boss_warp_splinter.cpp" - > - </File> - </Filter> - <Filter - Name="The Eye" - > - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_alar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_astromancer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_kaelthas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_void_reaver.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\def_the_eye.h" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\instance_the_eye.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\the_eye.cpp" - > - </File> - </Filter> - <Filter - Name="The Mechanar" - > - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_gatewatcher_gyrokill.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_gatewatcher_ironhand.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_nethermancer_sepethrea.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_pathaleon_the_calculator.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\def_mechanar.h" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\instance_mechanar.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Coilfang Resevoir" - > - <Filter - Name="Serpent Shrine Cavern" - > - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_fathomlord_karathress.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_hydross_the_unstable.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_lady_vashj.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_leotheras_the_blind.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_lurker_below.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_morogrim_tidewalker.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\def_serpent_shrine.h" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\instance_serpent_shrine.cpp" - > - </File> - </Filter> - <Filter - Name="Slave Pens" - > - </Filter> - <Filter - Name="Steam Vault" - > - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\boss_hydromancer_thespia.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\boss_mekgineer_steamrigger.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\boss_warlord_kalithresh.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\def_steam_vault.h" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\instance_steam_vault.cpp" - > - </File> - </Filter> - <Filter - Name="Underbog" - > - <File - RelativePath="..\scripts\zone\coilfang_resevoir\underbog\boss_hungarfen.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\underbog\boss_the_black_stalker.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Aunchindoun" - > - <Filter - Name="Auchenai Crypts" - > - <File - RelativePath="..\scripts\zone\aunchindoun\auchenai_crypts\boss_exarch_maladaar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\auchenai_crypts\boss_shirrak_the_dead_watcher.cpp" - > - </File> - </Filter> - <Filter - Name="Mana Tombs" - > - <File - RelativePath="..\scripts\zone\aunchindoun\mana_tombs\boss_nexusprince_shaffar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\mana_tombs\boss_pandemonius.cpp" - > - </File> - </Filter> - <Filter - Name="Sethekk Halls" - > - <File - RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\boss_darkweaver_syth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\boss_tailonking_ikiss.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\def_sethekk_halls.h" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\instance_sethekk_halls.cpp" - > - </File> - </Filter> - <Filter - Name="Shadow Labyrinth" - > - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_ambassador_hellmaw.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_blackheart_the_inciter.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_grandmaster_vorpil.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_murmur.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\def_shadow_labyrinth.h" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\instance_shadow_labyrinth.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Black Temple" - > - <File - RelativePath="..\scripts\zone\black_temple\black_temple.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_bloodboil.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_illidan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_mother_shahraz.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_reliquary_of_souls.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_shade_of_akama.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_supremus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_teron_gorefiend.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_warlord_najentus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\def_black_temple.h" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\illidari_council.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\instance_black_temple.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Northrend" - > - <Filter - Name="Region" - > - <Filter - Name="Zul'Drak" - > - </Filter> - <Filter - Name="The Storm Peaks" - > - </Filter> - <Filter - Name="Crystalsong Forest" - > - </Filter> - <Filter - Name="Wintergrasp" - > - <File - RelativePath="..\scripts\zone\wintergrasp\wintergrasp.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Dungeon" - > - <Filter - Name="Naxxramas" - > - <File - RelativePath="..\scripts\zone\naxxramas\boss_anubrekhan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_faerlina.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_four_horsemen.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_gluth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_gothik.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_grobbulus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_heigan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_kelthuzad.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_loatheb.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_maexxna.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_noth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_patchwerk.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_razuvious.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_sapphiron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_thaddius.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\def_naxxramas.h" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\instance_naxxramas.cpp" - > - </File> - </Filter> - <Filter - Name="Nexus" - > - <Filter - Name="Nexus" - > - <File - RelativePath="..\scripts\zone\nexus\nexus\boss_anomalus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\boss_keristrasza.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\boss_magus_telestra.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\boss_ormorok.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\commander_kolurg.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\commander_stoutbeard.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\def_nexus.h" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\instance_nexus.cpp" - > - </File> - </Filter> - <Filter - Name="Oculus" - > - <File - RelativePath="..\scripts\zone\nexus\oculus\boss_drakos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\boss_eregos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\boss_urom.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\boss_varos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\def_oculus.h" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\instance_oculus.cpp" - > - </File> - </Filter> - <Filter - Name="Eye of Eternity" - > - <File - RelativePath="..\scripts\zone\nexus\eye_of_eternity\boss_malygos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\eye_of_eternity\def_eye_of_eternity.h" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\eye_of_eternity\instance_eye_of_eternity.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Obsidian Sanctum" - > - <File - RelativePath="..\scripts\zone\obsidian_sanctum\boss_sartharion.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\obsidian_sanctum\def_obsidian_sanctum.h" - > - </File> - <File - RelativePath="..\scripts\zone\obsidian_sanctum\instance_obsidian_sanctum.cpp" - > - </File> - </Filter> - <Filter - Name="Ulduar" - > - <Filter - Name="Halls of Stone" - > - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\boss_krystallus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\boss_maiden_of_grief.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\boss_sjonnir.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\def_halls_of_stone.h" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\instance_halls_of_stone.cpp" - > - </File> - </Filter> - <Filter - Name="Halls of Lightning" - > - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\boss_bjarngrim.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\boss_ionar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\boss_loken.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\boss_volkhan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\def_halls_of_lightning.h" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\instance_halls_of_lightning.cpp" - > - </File> - </Filter> - <Filter - Name="Ulduar" - > - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_algalon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_assembly_of_iron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_auriaya.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_flame_leviathan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_freya.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_general_vezax.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_hodir.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_ignis.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_kologarn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_mimiron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_razorscale.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_thorim.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_xt002.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_yoggsaron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\def_ulduar.h" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\instance_ulduar.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Utgarde Keep" - > - <Filter - Name="Utgarde Keep" - > - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\boss_ingvar_the_plunderer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\boss_keleseth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\boss_skarvald_dalronn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\def_utgarde_keep.h" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\instance_utgarde_keep.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\utgarde_keep.cpp" - > - </File> - </Filter> - <Filter - Name="Utgarde Pinnacle" - > - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\boss_palehoof.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\boss_skadi.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\boss_svala.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\boss_ymiron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\def_pinnacle.h" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\instance_pinnacle.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Vault of Archavon" - > - <File - RelativePath="..\scripts\zone\vault_of_archavon\boss_archavon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\vault_of_archavon\boss_emalon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\vault_of_archavon\def_vault_of_archavon.h" - > - </File> - <File - RelativePath="..\scripts\zone\vault_of_archavon\instance_vault_of_archavon.cpp" - > - </File> - </Filter> - <Filter - Name="Violet Hold" - > - <File - RelativePath="..\scripts\zone\violet_hold\boss_cyanigosa.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_erekem.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_ichoron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_lavanthor.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_moragg.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_xevozz.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_zuramat.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\def_violet_hold.h" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\instance_violet_hold.cpp" - > - </File> - </Filter> - <Filter - Name="Gundrak" - > - <File - RelativePath="..\scripts\zone\gundrak\boss_drakkari_colossus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\boss_eck.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\boss_gal_darah.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\boss_moorabi.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\boss_slad_ran.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\def_gundrak.h" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\instance_gundrak.cpp" - > - </File> - </Filter> - <Filter - Name="Drak'Tharon Keep" - > - <File - RelativePath="..\scripts\zone\draktharon_keep\boss_dred.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\boss_novos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\boss_tharon_ja.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\boss_trollgore.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\def_drak_tharon_keep.h" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\instance_drak_tharon_keep.cpp" - > - </File> - </Filter> - <Filter - Name="Azjol-Nerub" - > - <Filter - Name="Ahn'kahet" - > - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_amanitar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_elder_nadox.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_herald_volazj.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_jedoga_shadowseeker.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_prince_taldaram.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\def_ahnkahet.h" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\instance_ahnkahet.cpp" - > - </File> - </Filter> - <Filter - Name="Azjol-Nerub" - > - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\boss_anubarak.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\boss_hadronox.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\boss_krikthir_the_gatewatcher.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\def_azjol_nerub.h" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\instance_azjol_nerub.cpp" - > - </File> - </Filter> - </Filter> - </Filter> - </Filter> - </Filter> - <Filter - Name="custom" - > - <File - RelativePath="..\scripts\custom\npc_acherus_taxi.cpp" - > - </File> - <File - RelativePath="..\scripts\custom\npc_wyrmresttempel_taxi.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="world" - > - <File - RelativePath="..\scripts\world\areatrigger_scripts.cpp" - > - </File> - <File - RelativePath="..\scripts\world\boss_emeriss.cpp" - > - </File> - <File - RelativePath="..\scripts\world\boss_lethon.cpp" - > - </File> - <File - RelativePath="..\scripts\world\boss_taerar.cpp" - > - </File> - <File - RelativePath="..\scripts\world\boss_ysondre.cpp" - > - </File> - <File - RelativePath="..\scripts\world\go_scripts.cpp" - > - </File> - <File - RelativePath="..\scripts\world\guards.cpp" - > - </File> - <File - RelativePath="..\scripts\world\item_scripts.cpp" - > - </File> - <File - RelativePath="..\scripts\world\mob_generic_creature.cpp" - > - </File> - <File - RelativePath="..\scripts\world\npc_innkeeper.cpp" - > - </File> - <File - RelativePath="..\scripts\world\npc_professions.cpp" - > - </File> - <File - RelativePath="..\scripts\world\npc_taxi.cpp" - > - </File> - <File - RelativePath="..\scripts\world\npcs_special.cpp" - > - </File> - </Filter> + <Filter + Name="base" + > + <File + RelativePath="..\base\escort_ai.cpp" + > + </File> + <File + RelativePath="..\base\escort_ai.h" + > + </File> + <File + RelativePath="..\base\follower_ai.cpp" + > + </File> + <File + RelativePath="..\base\follower_ai.h" + > + </File> + <File + RelativePath="..\base\guard_ai.cpp" + > + </File> + <File + RelativePath="..\base\guard_ai.h" + > + </File> + <File + RelativePath="..\base\simple_ai.cpp" + > + </File> + <File + RelativePath="..\base\simple_ai.h" + > + </File> + </Filter> + <Filter + Name="scripts" + > + <Filter + Name="eastern_kingdoms" + > + <Filter + Name="Blackrock Depths" + > + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\blackrock_depths.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_ambassador_flamelash.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_anubshiah.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_emperor_dagran_thaurissan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_general_angerforge.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_gorosh_the_dervish.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_grizzle.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_high_interrogator_gerstahn.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_magmus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_moira_bronzebeard.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_tomb_of_seven.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\def_blackrock_depths.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\instance_blackrock_depths.cpp" + > + </File> + </Filter> + <Filter + Name="Blackrock Spire" + > + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_drakkisath.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_gyth.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_halycon.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_highlord_omokk.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_mother_smolderweb.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_overlord_wyrmthalak.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_pyroguard_emberseer.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_quartermaster_zigris.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_rend_blackhand.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_shadow_hunter_voshgajin.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_the_beast.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_warmaster_voone.cpp" + > + </File> + </Filter> + <Filter + Name="Blackwing Lair" + > + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_broodlord_lashlayer.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_chromaggus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_ebonroc.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_firemaw.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_flamegor.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_nefarian.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_razorgore.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_vaelastrasz.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_victor_nefarius.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\instance_blackwing_lair.cpp" + > + </File> + </Filter> + <Filter + Name="Deadmines" + > + <File + RelativePath="..\scripts\eastern_kingdoms\deadmines\deadmines.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\deadmines\def_deadmines.h" + > + </File> + </Filter> + <Filter + Name="Karazhan" + > + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_curator.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_maiden_of_virtue.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_midnight.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_moroes.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_netherspite.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_nightbane.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_prince_malchezaar.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_shade_of_aran.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_terestian_illhoof.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\bosses_opera.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\def_karazhan.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\instance_karazhan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\karazhan.cpp" + > + </File> + </Filter> + <Filter + Name="Magister's Terrace" + > + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\boss_felblood_kaelthas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\boss_priestess_delrissa.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\boss_selin_fireheart.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\boss_vexallus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\def_magisters_terrace.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\instance_magisters_terrace.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\magisters_terrace.cpp" + > + </File> + </Filter> + <Filter + Name="Molten Core" + > + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_baron_geddon.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_garr.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_gehennas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_golemagg.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_lucifron.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_magmadar.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_majordomo_executus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_ragnaros.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_shazzrah.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_sulfuron_harbinger.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\def_molten_core.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\instance_molten_core.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\molten_core.cpp" + > + </File> + </Filter> + <Filter + Name="scarlet_enclave" + > + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\the_scarlet_enclave.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\chapter1.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\chapter2.cpp" + > + </File> + </Filter> + <Filter + Name="Scarlet Monastery" + > + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_arcanist_doan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_azshir_the_sleepless.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_bloodmage_thalnos.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_headless_horseman.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_herod.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_high_inquisitor_fairbanks.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_houndmaster_loksey.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_interrogator_vishas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_mograine_and_whitemane.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_scorn.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\def_scarlet_monastery.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\instance_scarlet_monastery.cpp" + > + </File> + </Filter> + <Filter + Name="Scholomance" + > + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_darkmaster_gandling.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_death_knight_darkreaver.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_doctor_theolen_krastinov.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_illucia_barov.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_instructor_malicia.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_jandice_barov.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_kormok.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_lord_alexei_barov.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_lorekeeper_polkelt.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_ras_frostwhisper.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_the_ravenian.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_vectus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\def_scholomance.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\instance_scholomance.cpp" + > + </File> + </Filter> + <Filter + Name="Shadowfang Keep" + > + <File + RelativePath="..\scripts\eastern_kingdoms\shadowfang_keep\def_shadowfang_keep.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\shadowfang_keep\instance_shadowfang_keep.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\shadowfang_keep\shadowfang_keep.cpp" + > + </File> + </Filter> + <Filter + Name="Stratholme" + > + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_baron_rivendare.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_baroness_anastari.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_cannon_master_willey.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_dathrohan_balnazzar.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_magistrate_barthilas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_maleki_the_pallid.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_nerubenkan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_order_of_silver_hand.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_postmaster_malown.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_ramstein_the_gorger.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_timmy_the_cruel.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\def_stratholme.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\instance_stratholme.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\stratholme.cpp" + > + </File> + </Filter> + <Filter + Name="Sunwell Plateau" + > + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_brutallus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_eredar_twins.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_felmyst.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_kalecgos.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_kiljaeden.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_muru.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\def_sunwell_plateau.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\instance_sunwell_plateau.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\sunwell_plateau.cpp" + > + </File> + </Filter> + <Filter + Name="Uldaman" + > + <File + RelativePath="..\scripts\eastern_kingdoms\uldaman\boss_archaedas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\uldaman\boss_ironaya.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\uldaman\instance_uldaman.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\uldaman\uldaman.cpp" + > + </File> + </Filter> + <Filter + Name="Zul'Aman" + > + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_akilzon.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_halazzi.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_hexlord.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_janalai.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_nalorakk.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_zuljin.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\def_zulaman.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\instance_zulaman.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\zulaman.cpp" + > + </File> + </Filter> + <Filter + Name="Zul'Gurub" + > + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_arlokk.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_gahzranka.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_grilek.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_hakkar.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_hazzarah.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_jeklik.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_jindo.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_mandokir.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_marli.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_renataki.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_thekal.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_venoxis.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_wushoolay.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\def_zulgurub.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\instance_zulgurub.cpp" + > + </File> + </Filter> + <File + RelativePath="..\scripts\eastern_kingdoms\alterac_mountains.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\arathi_highlands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blasted_lands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\boss_kruul.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\burning_steppes.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\dun_morogh.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\eastern_plaguelands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\elwynn_forest.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\eversong_woods.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\ghostlands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\hinterlands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\ironforge.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\isle_of_queldanas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\loch_modan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\searing_gorge.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\silvermoon_city.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\silverpine_forest.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stormwind_city.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stranglethorn_vale.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\tirisfal_glades.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\undercity.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\western_plaguelands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\westfall.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\wetlands.cpp" + > + </File> + </Filter> + <Filter + Name="examples" + > + <File + RelativePath="..\scripts\examples\example_creature.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_escort.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_gossip_codebox.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_misc.cpp" + > + </File> + </Filter> + <Filter + Name="kalimdor" + > + <Filter + Name="Blackfathom Depths" + > + <File + RelativePath="..\scripts\kalimdor\blackfathom_depths\instance_blackfathom_deeps.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\blackfathom_depths\def_blackfathom_deeps.h" + > + </File> + </Filter> + <Filter + Name="Caverns of Time" + > + <Filter + Name="Culling of Stratholme" + > + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_epoch.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_mal_ganis.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_meathook.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_salramm.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\def_culling_of_stratholme.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\instance_culling_of_stratholme.cpp" + > + </File> + </Filter> + <Filter + Name="The Dark Portal" + > + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\boss_aeonus.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\boss_chrono_lord_deja.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\boss_temporus.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\dark_portal.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\def_dark_portal.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\instance_dark_portal.cpp" + > + </File> + </Filter> + <Filter + Name="Battle for Mt. Hyjal" + > + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_anetheron.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_archimonde.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_azgalor.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_kazrogal.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_rage_winterchill.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\def_hyjal.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjal.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjal_trash.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjal_trash.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjalAI.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjalAI.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\instance_hyjal.cpp" + > + </File> + </Filter> + <Filter + Name="Old Hillsbrad" + > + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\boss_captain_skarloc.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\boss_epoch_hunter.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\boss_leutenant_drake.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\def_old_hillsbrad.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\instance_old_hillsbrad.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\old_hillsbrad.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Maraudon" + > + <File + RelativePath="..\scripts\kalimdor\maraudon\boss_celebras_the_cursed.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\maraudon\boss_landslide.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\maraudon\boss_noxxion.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\maraudon\boss_princess_theradras.cpp" + > + </File> + </Filter> + <Filter + Name="Onyxia's Lair" + > + <File + RelativePath="..\scripts\kalimdor\onyxias_lair\boss_onyxia.cpp" + > + </File> + </Filter> + <Filter + Name="Razorfen Downs" + > + <File + RelativePath="..\scripts\kalimdor\razorfen_downs\boss_amnennar_the_coldbringer.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\razorfen_downs\razorfen_downs.cpp" + > + </File> + </Filter> + <Filter + Name="Razorfen Kraul" + > + <File + RelativePath="..\scripts\kalimdor\razorfen_kraul\razorfen_kraul.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\razorfen_kraul\instance_razorfen_kraul.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\razorfen_kraul\def_razorfen_kraul.h" + > + </File> + </Filter> + <Filter + Name="Ruins of Ahn'Qiraj" + > + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_ayamiss.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_buru.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_kurinnaxx.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_moam.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_ossirian.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_rajaxx.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\instance_ruins_of_ahnqiraj.cpp" + > + </File> + </Filter> + <Filter + Name="Temple of Ahn'Qiraj" + > + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_bug_trio.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_cthun.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_fankriss.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_huhuran.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_ouro.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_sartura.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_skeram.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_twinemperors.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_viscidus.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\def_temple_of_ahnqiraj.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\instance_temple_of_ahnqiraj.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\mob_anubisath_sentinel.cpp" + > + </File> + </Filter> + <Filter + Name="Wailing Caverns" + > + <File + RelativePath="..\scripts\kalimdor\wailing_caverns\def_wailing_caverns.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\wailing_caverns\instance_wailing_caverns.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\wailing_caverns\wailing_caverns.cpp" + > + </File> + </Filter> + <Filter + Name="Zul'Farrak" + > + <File + RelativePath="..\scripts\kalimdor\zulfarrak\zulfarrak.cpp" + > + </File> + </Filter> + <File + RelativePath="..\scripts\kalimdor\ashenvale.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\azshara.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\azuremyst_isle.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\bloodmyst_isle.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\boss_azuregos.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\darkshore.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\desolace.cpp"> + </File> + <File + RelativePath="..\scripts\kalimdor\dustwallow_marsh.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\felwood.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\feralas.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\moonglade.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\mulgore.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\orgrimmar.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\silithus.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\stonetalon_mountains.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\tanaris.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\teldrassil.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\the_barrens.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\thousand_needles.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\thunder_bluff.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ungoro_crater.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\winterspring.cpp" + > + </File> + </Filter> + <Filter + Name="northrend" + > + <Filter + Name="Azjol-Nerub" + > + <Filter + Name="Ahn'kahet" + > + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_amanitar.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_elder_nadox.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_herald_volazj.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_jedoga_shadowseeker.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_prince_taldaram.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\def_ahnkahet.h" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\instance_ahnkahet.cpp" + > + </File> + </Filter> + <Filter + Name="Azjol-Nerub" + > + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\boss_anubarak.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\boss_hadronox.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\boss_krikthir_the_gatewatcher.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\def_azjol_nerub.h" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\instance_azjol_nerub.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Drak'Tharon Keep" + > + <File + RelativePath="..\scripts\northrend\draktharon_keep\boss_dred.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\boss_novos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\boss_tharon_ja.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\boss_trollgore.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\def_drak_tharon_keep.h" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\instance_drak_tharon_keep.cpp" + > + </File> + </Filter> + <Filter + Name="Gundrak" + > + <File + RelativePath="..\scripts\northrend\gundrak\boss_drakkari_colossus.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\boss_eck.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\boss_gal_darah.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\boss_moorabi.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\boss_slad_ran.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\def_gundrak.h" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\instance_gundrak.cpp" + > + </File> + </Filter> + <Filter + Name="Naxxramas" + > + <File + RelativePath="..\scripts\northrend\naxxramas\boss_anubrekhan.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_faerlina.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_four_horsemen.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_gluth.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_gothik.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_grobbulus.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_heigan.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_kelthuzad.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_loatheb.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_maexxna.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_noth.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_patchwerk.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_razuvious.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_sapphiron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_thaddius.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\def_naxxramas.h" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\instance_naxxramas.cpp" + > + </File> + </Filter> + <Filter + Name="Nexus" + > + <Filter + Name="Nexus" + > + <File + RelativePath="..\scripts\northrend\nexus\nexus\boss_anomalus.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\boss_keristrasza.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\boss_magus_telestra.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\boss_ormorok.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\commander_kolurg.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\commander_stoutbeard.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\def_nexus.h" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\instance_nexus.cpp" + > + </File> + </Filter> + <Filter + Name="Oculus" + > + <File + RelativePath="..\scripts\northrend\nexus\oculus\boss_drakos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\boss_eregos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\boss_urom.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\boss_varos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\def_oculus.h" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\instance_oculus.cpp" + > + </File> + </Filter> + <Filter + Name="Eye of Eternity" + > + <File + RelativePath="..\scripts\northrend\nexus\eye_of_eternity\boss_malygos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\eye_of_eternity\def_eye_of_eternity.h" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\eye_of_eternity\instance_eye_of_eternity.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Obsidian Sanctum" + > + <File + RelativePath="..\scripts\northrend\obsidian_sanctum\boss_sartharion.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\obsidian_sanctum\def_obsidian_sanctum.h" + > + </File> + <File + RelativePath="..\scripts\northrend\obsidian_sanctum\instance_obsidian_sanctum.cpp" + > + </File> + </Filter> + <Filter + Name="Ulduar" + > + <Filter + Name="Halls of Stone" + > + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\boss_krystallus.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\boss_maiden_of_grief.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\boss_sjonnir.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\def_halls_of_stone.h" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\instance_halls_of_stone.cpp" + > + </File> + </Filter> + <Filter + Name="Halls of Lightning" + > + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\boss_bjarngrim.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\boss_ionar.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\boss_loken.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\boss_volkhan.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\def_halls_of_lightning.h" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\instance_halls_of_lightning.cpp" + > + </File> + </Filter> + <Filter + Name="Ulduar" + > + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_algalon.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_assembly_of_iron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_auriaya.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_flame_leviathan.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_freya.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_general_vezax.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_hodir.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_ignis.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_kologarn.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_mimiron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_razorscale.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_thorim.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_xt002.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_yoggsaron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\def_ulduar.h" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\instance_ulduar.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Utgarde Keep" + > + <Filter + Name="Utgarde Keep" + > + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\boss_ingvar_the_plunderer.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\boss_keleseth.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\boss_skarvald_dalronn.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\def_utgarde_keep.h" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\instance_utgarde_keep.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\utgarde_keep.cpp" + > + </File> + </Filter> + <Filter + Name="Utgarde Pinnacle" + > + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\boss_palehoof.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\boss_skadi.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\boss_svala.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\boss_ymiron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\def_pinnacle.h" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\instance_pinnacle.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Vault of Archavon" + > + <File + RelativePath="..\scripts\northrend\vault_of_archavon\boss_archavon.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\vault_of_archavon\boss_emalon.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\vault_of_archavon\def_vault_of_archavon.h" + > + </File> + <File + RelativePath="..\scripts\northrend\vault_of_archavon\instance_vault_of_archavon.cpp" + > + </File> + </Filter> + <Filter + Name="Violet Hold" + > + <File + RelativePath="..\scripts\northrend\violet_hold\boss_cyanigosa.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_erekem.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_ichoron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_lavanthor.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_moragg.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_xevozz.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_zuramat.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\def_violet_hold.h" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\instance_violet_hold.cpp" + > + </File> + </Filter> + <File + RelativePath="..\scripts\northrend\borean_tundra.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\dragonblight.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\grizzly_hills.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\icecrown.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\sholazar_basin.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\wintergrasp.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\zuldrak.cpp" + > + </File> + </Filter> + <Filter + Name="outland" + > + <Filter + Name="Aunchindoun" + > + <Filter + Name="Auchenai Crypts" + > + <File + RelativePath="..\scripts\outland\auchindoun\auchenai_crypts\boss_exarch_maladaar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\auchenai_crypts\boss_shirrak_the_dead_watcher.cpp" + > + </File> + </Filter> + <Filter + Name="Mana Tombs" + > + <File + RelativePath="..\scripts\outland\auchindoun\mana_tombs\boss_nexusprince_shaffar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\mana_tombs\boss_pandemonius.cpp" + > + </File> + </Filter> + <Filter + Name="Sethekk Halls" + > + <File + RelativePath="..\scripts\outland\auchindoun\sethekk_halls\boss_darkweaver_syth.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\sethekk_halls\boss_tailonking_ikiss.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\sethekk_halls\def_sethekk_halls.h" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\sethekk_halls\instance_sethekk_halls.cpp" + > + </File> + </Filter> + <Filter + Name="Shadow Labyrinth" + > + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\boss_ambassador_hellmaw.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\boss_blackheart_the_inciter.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\boss_grandmaster_vorpil.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\boss_murmur.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\def_shadow_labyrinth.h" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\instance_shadow_labyrinth.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Black Temple" + > + <File + RelativePath="..\scripts\outland\black_temple\black_temple.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_bloodboil.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_illidan.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_mother_shahraz.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_reliquary_of_souls.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_shade_of_akama.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_supremus.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_teron_gorefiend.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_warlord_najentus.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\def_black_temple.h" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\illidari_council.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\instance_black_temple.cpp" + > + </File> + </Filter> + <Filter + Name="Coilfang Resevoir" + > + <Filter + Name="Serpent Shrine Cavern" + > + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_fathomlord_karathress.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_hydross_the_unstable.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_lady_vashj.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_leotheras_the_blind.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_lurker_below.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_morogrim_tidewalker.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\def_serpent_shrine.h" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\instance_serpent_shrine.cpp" + > + </File> + </Filter> + <Filter + Name="Steam Vault" + > + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\boss_hydromancer_thespia.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\boss_mekgineer_steamrigger.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\boss_warlord_kalithresh.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\def_steam_vault.h" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\instance_steam_vault.cpp" + > + </File> + </Filter> + <Filter + Name="Underbog" + > + <File + RelativePath="..\scripts\outland\coilfang_resevoir\underbog\boss_hungarfen.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\underbog\boss_the_black_stalker.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Gruul's Lair" + > + <File + RelativePath="..\scripts\outland\gruuls_lair\boss_gruul.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\gruuls_lair\boss_high_king_maulgar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\gruuls_lair\def_gruuls_lair.h" + > + </File> + <File + RelativePath="..\scripts\outland\gruuls_lair\instance_gruuls_lair.cpp" + > + </File> + </Filter> + <Filter + Name="Hellfire Citadel" + > + <Filter + Name="Blood Furnace" + > + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\boss_broggok.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\boss_kelidan_the_breaker.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\boss_the_maker.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\def_blood_furnace.h" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\instance_blood_furnace.cpp" + > + </File> + </Filter> + <Filter + Name="Magtheridon's lair" + > + <File + RelativePath="..\scripts\outland\hellfire_citadel\magtheridons_lair\boss_magtheridon.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\magtheridons_lair\def_magtheridons_lair.h" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\magtheridons_lair\instance_magtheridons_lair.cpp" + > + </File> + </Filter> + <Filter + Name="Hellfire Ramparts" + > + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\boss_omor_the_unscarred.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\boss_vazruden_the_herald.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\boss_watchkeeper_gargolmar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\def_hellfire_ramparts.h" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\instance_hellfire_ramparts.cpp" + > + </File> + </Filter> + <Filter + Name="Shattered Halls" + > + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\boss_nethekurse.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\boss_warbringer_omrogg.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\boss_warchief_kargath_bladefist.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\def_shattered_halls.h" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\instance_shattered_halls.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Tempest Keep" + > + <Filter + Name="Arcatraz" + > + <File + RelativePath="..\scripts\outland\tempest_keep\arcatraz\arcatraz.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\arcatraz\boss_harbinger_skyriss.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\arcatraz\def_arcatraz.h" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\arcatraz\instance_arcatraz.cpp" + > + </File> + </Filter> + <Filter + Name="Botanica" + > + <File + RelativePath="..\scripts\outland\tempest_keep\botanica\boss_high_botanist_freywinn.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\botanica\boss_laj.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\botanica\boss_warp_splinter.cpp" + > + </File> + </Filter> + <Filter + Name="The Eye" + > + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\boss_alar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\boss_astromancer.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\boss_kaelthas.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\boss_void_reaver.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\def_the_eye.h" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\instance_the_eye.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\the_eye.cpp" + > + </File> + </Filter> + <Filter + Name="The Mechanar" + > + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\boss_gatewatcher_gyrokill.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\boss_gatewatcher_ironhand.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\boss_nethermancer_sepethrea.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\boss_pathaleon_the_calculator.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\def_mechanar.h" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\instance_mechanar.cpp" + > + </File> + </Filter> + </Filter> + <File + RelativePath="..\scripts\outland\blades_edge_mountains.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\boss_doomlord_kazzak.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\boss_doomwalker.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_peninsula.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\nagrand.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\netherstorm.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\shadowmoon_valley.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\shattrath_city.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\terokkar_forest.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\zangarmarsh.cpp" + > + </File> + </Filter> + <Filter + Name="custom" + > + <File + RelativePath="..\scripts\custom\npc_acherus_taxi.cpp" + > + </File> + <File + RelativePath="..\scripts\custom\npc_wyrmresttempel_taxi.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="world" + > + <File + RelativePath="..\scripts\world\areatrigger_scripts.cpp" + > + </File> + <File + RelativePath="..\scripts\world\boss_emeriss.cpp" + > + </File> + <File + RelativePath="..\scripts\world\boss_lethon.cpp" + > + </File> + <File + RelativePath="..\scripts\world\boss_taerar.cpp" + > + </File> + <File + RelativePath="..\scripts\world\boss_ysondre.cpp" + > + </File> + <File + RelativePath="..\scripts\world\go_scripts.cpp" + > + </File> + <File + RelativePath="..\scripts\world\guards.cpp" + > + </File> + <File + RelativePath="..\scripts\world\item_scripts.cpp" + > + </File> + <File + RelativePath="..\scripts\world\mob_generic_creature.cpp" + > + </File> + <File + RelativePath="..\scripts\world\npc_innkeeper.cpp" + > + </File> + <File + RelativePath="..\scripts\world\npc_professions.cpp" + > + </File> + <File + RelativePath="..\scripts\world\npc_taxi.cpp" + > + </File> + <File + RelativePath="..\scripts\world\npcs_special.cpp" + > + </File> + </Filter> <Filter Name="Include" > @@ -2824,18 +2763,26 @@ > </File> </Filter> - <Filter - Name="system" - > - <File - RelativePath="..\system\ScriptLoader.cpp" - > - </File> - <File - RelativePath="..\system\ScriptLoader.h" - > - </File> - </Filter> + <Filter + Name="system" + > + <File + RelativePath="..\system\ScriptLoader.cpp" + > + </File> + <File + RelativePath="..\system\ScriptLoader.h" + > + </File> + <File + RelativePath="..\system\system.cpp" + > + </File> + <File + RelativePath="..\system\system.h" + > + </File> + </Filter> <File RelativePath="..\ScriptMgr.cpp" > @@ -2844,10 +2791,6 @@ RelativePath="..\ScriptMgr.h" > </File> - <File - RelativePath="..\system.cpp" - > - </File> </Files> <Globals> </Globals> diff --git a/src/bindings/scripts/VC90/90ScriptDev2.vcproj b/src/bindings/scripts/VC90/90ScriptDev2.vcproj index 85946ca217c..9191348b50f 100644 --- a/src/bindings/scripts/VC90/90ScriptDev2.vcproj +++ b/src/bindings/scripts/VC90/90ScriptDev2.vcproj @@ -357,2406 +357,2345 @@ <References> </References> <Files> - <Filter - Name="base" - > - <File - RelativePath="..\base\escortAI.cpp" - > - </File> - <File - RelativePath="..\base\escortAI.h" - > - </File> - <File - RelativePath="..\base\guard_ai.cpp" - > - </File> - <File - RelativePath="..\base\guard_ai.h" - > - </File> - <File - RelativePath="..\base\simple_ai.cpp" - > - </File> - <File - RelativePath="..\base\simple_ai.h" - > - </File> - </Filter> - <Filter - Name="scripts" - > - <Filter - Name="eastern_kingdoms" - > - <Filter - Name="scarlet_enclave" - > - <File - RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\the_scarlet_enclave.cpp" - > - </File> - </Filter> - <File - RelativePath="..\scripts\eastern_kingdoms\alterac_mountains.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\arathi_highlands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\blasted_lands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\boss_kruul.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\burning_steppes.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\dun_morogh.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\eastern_plaguelands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\elwynn_forest.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\eversong_woods.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\ghostlands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\hinterlands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\ironforge.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\isle_of_queldanas.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\loch_modan.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\searing_gorge.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\silvermoon_city.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\silverpine_forest.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\stormwind_city.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\stranglethorn_vale.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\tirisfal_glades.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\undercity.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\western_plaguelands.cpp" - > - </File> - <File - RelativePath="..\scripts\eastern_kingdoms\westfall.cpp" - > - </File> - </Filter> - <Filter - Name="examples" - > - <File - RelativePath="..\scripts\examples\example_creature.cpp" - > - </File> - <File - RelativePath="..\scripts\examples\example_escort.cpp" - > - </File> - <File - RelativePath="..\scripts\examples\example_gossip_codebox.cpp" - > - </File> - <File - RelativePath="..\scripts\examples\example_misc.cpp" - > - </File> - </Filter> - <Filter - Name="kalimdor" - > - <File - RelativePath="..\scripts\kalimdor\ashenvale.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\azshara.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\azuremyst_isle.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\bloodmyst_isle.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\boss_azuregos.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\darkshore.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\desolace.cpp"> - </File> - <File - RelativePath="..\scripts\kalimdor\dustwallow_marsh.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\felwood.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\feralas.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\moonglade.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\mulgore.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\orgrimmar.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\silithus.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\stonetalon_mountains.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\tanaris.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\teldrassil.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\the_barrens.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\thousand_needles.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\thunder_bluff.cpp" - > - </File> - <File - RelativePath="..\scripts\kalimdor\winterspring.cpp" - > - </File> - </Filter> - <Filter - Name="northrend" - > - <File - RelativePath="..\scripts\northrend\borean_tundra.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\dragonblight.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\grizzly_hills.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\icecrown.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\sholazar_basin.cpp" - > - </File> - <File - RelativePath="..\scripts\northrend\zuldrak.cpp" - > - </File> - </Filter> - <Filter - Name="outland" - > - <File - RelativePath="..\scripts\outland\blades_edge_mountains.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\boss_doomlord_kazzak.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\boss_doomwalker.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\hellfire_peninsula.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\nagrand.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\netherstorm.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\shadowmoon_valley.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\shattrath_city.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\terokkar_forest.cpp" - > - </File> - <File - RelativePath="..\scripts\outland\zangarmarsh.cpp" - > - </File> - </Filter> - <Filter - Name="zone" - > - <Filter - Name="Kalimdor" - > - <Filter - Name="Blackfathom Depths" - > - <File - RelativePath="..\scripts\zone\blackfathom_depths\instance_blackfathom_deeps.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackfathom_depths\def_blackfathom_deeps.h" - > - </File> - </Filter> - <Filter - Name="Caverns of Time" - > - <Filter - Name="The Dark Portal" - > - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\boss_aeonus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\boss_chrono_lord_deja.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\boss_temporus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\dark_portal.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\def_dark_portal.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\dark_portal\instance_dark_portal.cpp" - > - </File> - </Filter> - <Filter - Name="Battle for Mt. Hyjal" - > - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_anetheron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_archimonde.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_azgalor.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_kazrogal.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\boss_rage_winterchill.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\def_hyjal.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjal.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjal_trash.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjal_trash.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjalAI.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\hyjalAI.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\hyjal\instance_hyjal.cpp" - > - </File> - </Filter> - <Filter - Name="Culling of Stratholme" - > - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\boss_epoch.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\boss_mal_ganis.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\boss_meathook.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\boss_salramm.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\def_culling_of_stratholme.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\culling_of_stratholme\instance_culling_of_stratholme.cpp" - > - </File> - </Filter> - <Filter - Name="Old Hillsbrad" - > - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\boss_captain_skarloc.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\boss_epoch_hunter.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\boss_leutenant_drake.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\def_old_hillsbrad.h" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\instance_old_hillsbrad.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\caverns_of_time\old_hillsbrad\old_hillsbrad.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Maraudon" - > - <File - RelativePath="..\scripts\zone\maraudon\boss_celebras_the_cursed.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\maraudon\boss_landslide.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\maraudon\boss_noxxion.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\maraudon\boss_princess_theradras.cpp" - > - </File> - </Filter> - <Filter - Name="Onyxia's Lair" - > - <File - RelativePath="..\scripts\zone\onyxias_lair\boss_onyxia.cpp" - > - </File> - </Filter> - <Filter - Name="Ragefire Chasm" - > - </Filter> - <Filter - Name="Razorfen Downs" - > - <File - RelativePath="..\scripts\zone\razorfen_downs\boss_amnennar_the_coldbringer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\razorfen_downs\razorfen_downs.cpp" - > - </File> - </Filter> - <Filter - Name="Razorfen Kraul" - > - <File - RelativePath="..\scripts\zone\razorfen_kraul\razorfen_kraul.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\razorfen_kraul\instance_razorfen_kraul.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\razorfen_kraul\def_razorfen_kraul.h" - > - </File> - </Filter> - <Filter - Name="Ruins of Ahn'Qiraj" - > - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_ayamiss.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_buru.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_kurinnaxx.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_moam.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_ossirian.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\boss_rajaxx.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ruins_of_ahnqiraj\instance_ruins_of_ahnqiraj.cpp" - > - </File> - </Filter> - <Filter - Name="Zul'Farrak" - > - <File - RelativePath="..\scripts\zone\zulfarrak\zulfarrak.cpp" - > - </File> - </Filter> - <Filter - Name="Wailing Caverns" - > - <File - RelativePath="..\scripts\zone\wailing_caverns\def_wailing_caverns.h" - > - </File> - <File - RelativePath="..\scripts\zone\wailing_caverns\instance_wailing_caverns.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\wailing_caverns\wailing_caverns.cpp" - > - </File> - </Filter> - - <Filter - Name="Un'Goro Crater" - > - <File - RelativePath="..\scripts\zone\ungoro_crater\ungoro_crater.cpp" - > - </File> - </Filter> - <Filter - Name="Temple of Ahn'Qiraj" - > - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_bug_trio.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_cthun.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_fankriss.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_huhuran.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_ouro.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_sartura.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_skeram.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_twinemperors.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\boss_viscidus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\def_temple_of_ahnqiraj.h" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\instance_temple_of_ahnqiraj.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\temple_of_ahnqiraj\mob_anubisath_sentinel.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Azeroth" - > - <Filter - Name="Molten Core" - > - <File - RelativePath="..\scripts\zone\molten_core\boss_baron_geddon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_garr.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_gehennas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_golemagg.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_lucifron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_magmadar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_majordomo_executus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_ragnaros.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_shazzrah.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\boss_sulfuron_harbinger.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\def_molten_core.h" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\instance_molten_core.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\molten_core\molten_core.cpp" - > - </File> - </Filter> - <Filter - Name="Magister's Terrace" - > - <File - RelativePath="..\scripts\zone\magisters_terrace\boss_felblood_kaelthas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\boss_priestess_delrissa.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\boss_selin_fireheart.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\boss_vexallus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\def_magisters_terrace.h" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\instance_magisters_terrace.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\magisters_terrace\magisters_terrace.cpp" - > - </File> - </Filter> - <Filter - Name="Karazhan" - > - <File - RelativePath="..\scripts\zone\karazhan\boss_curator.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_maiden_of_virtue.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_midnight.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_moroes.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_netherspite.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_nightbane.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_prince_malchezaar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_shade_of_aran.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\boss_terestian_illhoof.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\bosses_opera.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\def_karazhan.h" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\instance_karazhan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\karazhan\karazhan.cpp" - > - </File> - </Filter> - <Filter - Name="Hillsbrad Foothills" - > - </Filter> - <Filter - Name="Gnomeregan" - > - </Filter> - <Filter - Name="Deadmines" - > - <File - RelativePath="..\scripts\zone\deadmines\deadmines.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\deadmines\def_deadmines.h" - > - </File> - </Filter> - <Filter - Name="Deadwind Pass" - > - </Filter> - <Filter - Name="Blackrock Depths" - > - <File - RelativePath="..\scripts\zone\blackrock_depths\blackrock_depths.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_ambassador_flamelash.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_anubshiah.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_emperor_dagran_thaurissan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_general_angerforge.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_gorosh_the_dervish.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_grizzle.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_high_interrogator_gerstahn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_magmus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_moira_bronzebeard.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\boss_tomb_of_seven.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\def_blackrock_depths.h" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_depths\instance_blackrock_depths.cpp" - > - </File> - </Filter> - <Filter - Name="Blackrock Spire" - > - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_drakkisath.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_gyth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_halycon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_highlord_omokk.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_mother_smolderweb.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_overlord_wyrmthalak.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_pyroguard_emberseer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_quartermaster_zigris.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_rend_blackhand.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_shadow_hunter_voshgajin.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_the_beast.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackrock_spire\boss_warmaster_voone.cpp" - > - </File> - </Filter> - <Filter - Name="Blackwing Lair" - > - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_broodlord_lashlayer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_chromaggus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_ebonroc.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_firemaw.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_flamegor.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_nefarian.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_razorgore.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_vaelastrasz.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\boss_victor_nefarius.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\blackwing_lair\instance_blackwing_lair.cpp" - > - </File> - </Filter> - <Filter - Name="Scarlet Monastery" - > - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_arcanist_doan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_azshir_the_sleepless.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_bloodmage_thalnos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_headless_horseman.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_herod.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_high_inquisitor_fairbanks.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_houndmaster_loksey.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_interrogator_vishas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_mograine_and_whitemane.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\boss_scorn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\def_scarlet_monastery.h" - > - </File> - <File - RelativePath="..\scripts\zone\scarlet_monastery\instance_scarlet_monastery.cpp" - > - </File> - </Filter> - <Filter - Name="Scholomance" - > - <File - RelativePath="..\scripts\zone\scholomance\boss_darkmaster_gandling.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_death_knight_darkreaver.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_doctor_theolen_krastinov.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_illucia_barov.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_instructor_malicia.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_jandice_barov.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_kormok.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_lord_alexei_barov.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_lorekeeper_polkelt.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_ras_frostwhisper.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_the_ravenian.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\boss_vectus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\def_scholomance.h" - > - </File> - <File - RelativePath="..\scripts\zone\scholomance\instance_scholomance.cpp" - > - </File> - </Filter> - <Filter - Name="Shadowfang Keep" - > - <File - RelativePath="..\scripts\zone\shadowfang_keep\def_shadowfang_keep.h" - > - </File> - <File - RelativePath="..\scripts\zone\shadowfang_keep\instance_shadowfang_keep.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\shadowfang_keep\shadowfang_keep.cpp" - > - </File> - </Filter> - <Filter - Name="Stockade" - > - </Filter> - <Filter - Name="Stratholme" - > - <File - RelativePath="..\scripts\zone\stratholme\boss_baron_rivendare.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_baroness_anastari.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_cannon_master_willey.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_dathrohan_balnazzar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_magistrate_barthilas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_maleki_the_pallid.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_nerubenkan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_order_of_silver_hand.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_postmaster_malown.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_ramstein_the_gorger.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\boss_timmy_the_cruel.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\def_stratholme.h" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\instance_stratholme.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\stratholme\stratholme.cpp" - > - </File> - </Filter> - <Filter - Name="Sunken Temple" - > - </Filter> - <Filter - Name="Sunwell Plateau" - > - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_brutallus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_eredar_twins.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_felmyst.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_kalecgos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_kiljaeden.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\boss_muru.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\def_sunwell_plateau.h" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\instance_sunwell_plateau.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\sunwell_plateau\sunwell_plateau.cpp" - > - </File> - </Filter> - <Filter - Name="Swamp of Sorrows" - > - </Filter> - <Filter - Name="Zul'Gurub" - > - <File - RelativePath="..\scripts\zone\zulgurub\boss_arlokk.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_gahzranka.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_grilek.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_hakkar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_hazzarah.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_jeklik.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_jindo.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_mandokir.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_marli.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_renataki.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_thekal.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_venoxis.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\boss_wushoolay.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\def_zulgurub.h" - > - </File> - <File - RelativePath="..\scripts\zone\zulgurub\instance_zulgurub.cpp" - > - </File> - </Filter> - <Filter - Name="Zul'Aman" - > - <File - RelativePath="..\scripts\zone\zulaman\boss_akilzon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_halazzi.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_hexlord.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_janalai.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_nalorakk.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\boss_zuljin.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\def_zulaman.h" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\instance_zulaman.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\zulaman\zulaman.cpp" - > - </File> - </Filter> - <Filter - Name="Uldaman" - > - <File - RelativePath="..\scripts\zone\uldaman\boss_archaedas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\uldaman\boss_ironaya.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\uldaman\instance_uldaman.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\uldaman\uldaman.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Outland" - > - <Filter - Name="Gruul's Lair" - > - <File - RelativePath="..\scripts\zone\gruuls_lair\boss_gruul.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gruuls_lair\boss_high_king_maulgar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gruuls_lair\def_gruuls_lair.h" - > - </File> - <File - RelativePath="..\scripts\zone\gruuls_lair\instance_gruuls_lair.cpp" - > - </File> - </Filter> - <Filter - Name="Hellfire Citadel" - > - <Filter - Name="Blood Furnace" - > - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\boss_broggok.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\boss_kelidan_the_breaker.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\boss_the_maker.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\def_blood_furnace.h" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\blood_furnace\instance_blood_furnace.cpp" - > - </File> - </Filter> - <Filter - Name="Magtheridon's lair" - > - <File - RelativePath="..\scripts\zone\hellfire_citadel\magtheridons_lair\boss_magtheridon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\magtheridons_lair\def_magtheridons_lair.h" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\magtheridons_lair\instance_magtheridons_lair.cpp" - > - </File> - </Filter> - <Filter - Name="Hellfire Ramparts" - > - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\boss_omor_the_unscarred.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\boss_vazruden_the_herald.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\boss_watchkeeper_gargolmar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\def_hellfire_ramparts.h" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\hellfire_ramparts\instance_hellfire_ramparts.cpp" - > - </File> - </Filter> - <Filter - Name="Shattered Halls" - > - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\boss_nethekurse.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\boss_warbringer_omrogg.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\boss_warchief_kargath_bladefist.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\def_shattered_halls.h" - > - </File> - <File - RelativePath="..\scripts\zone\hellfire_citadel\shattered_halls\instance_shattered_halls.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Tempest Keep" - > - <Filter - Name="Arcatraz" - > - <File - RelativePath="..\scripts\zone\tempest_keep\arcatraz\arcatraz.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\arcatraz\boss_harbinger_skyriss.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\arcatraz\def_arcatraz.h" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\arcatraz\instance_arcatraz.cpp" - > - </File> - </Filter> - <Filter - Name="Botanica" - > - <File - RelativePath="..\scripts\zone\tempest_keep\botanica\boss_high_botanist_freywinn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\botanica\boss_laj.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\botanica\boss_warp_splinter.cpp" - > - </File> - </Filter> - <Filter - Name="The Eye" - > - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_alar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_astromancer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_kaelthas.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\boss_void_reaver.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\def_the_eye.h" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\instance_the_eye.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_eye\the_eye.cpp" - > - </File> - </Filter> - <Filter - Name="The Mechanar" - > - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_gatewatcher_gyrokill.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_gatewatcher_ironhand.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_nethermancer_sepethrea.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\boss_pathaleon_the_calculator.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\def_mechanar.h" - > - </File> - <File - RelativePath="..\scripts\zone\tempest_keep\the_mechanar\instance_mechanar.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Coilfang Resevoir" - > - <Filter - Name="Serpent Shrine Cavern" - > - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_fathomlord_karathress.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_hydross_the_unstable.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_lady_vashj.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_leotheras_the_blind.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_lurker_below.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\boss_morogrim_tidewalker.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\def_serpent_shrine.h" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\serpent_shrine\instance_serpent_shrine.cpp" - > - </File> - </Filter> - <Filter - Name="Slave Pens" - > - </Filter> - <Filter - Name="Steam Vault" - > - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\boss_hydromancer_thespia.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\boss_mekgineer_steamrigger.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\boss_warlord_kalithresh.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\def_steam_vault.h" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\steam_vault\instance_steam_vault.cpp" - > - </File> - </Filter> - <Filter - Name="Underbog" - > - <File - RelativePath="..\scripts\zone\coilfang_resevoir\underbog\boss_hungarfen.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\coilfang_resevoir\underbog\boss_the_black_stalker.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Aunchindoun" - > - <Filter - Name="Auchenai Crypts" - > - <File - RelativePath="..\scripts\zone\aunchindoun\auchenai_crypts\boss_exarch_maladaar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\auchenai_crypts\boss_shirrak_the_dead_watcher.cpp" - > - </File> - </Filter> - <Filter - Name="Mana Tombs" - > - <File - RelativePath="..\scripts\zone\aunchindoun\mana_tombs\boss_nexusprince_shaffar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\mana_tombs\boss_pandemonius.cpp" - > - </File> - </Filter> - <Filter - Name="Sethekk Halls" - > - <File - RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\boss_darkweaver_syth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\boss_tailonking_ikiss.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\def_sethekk_halls.h" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\sethekk_halls\instance_sethekk_halls.cpp" - > - </File> - </Filter> - <Filter - Name="Shadow Labyrinth" - > - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_ambassador_hellmaw.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_blackheart_the_inciter.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_grandmaster_vorpil.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\boss_murmur.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\def_shadow_labyrinth.h" - > - </File> - <File - RelativePath="..\scripts\zone\aunchindoun\shadow_labyrinth\instance_shadow_labyrinth.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Black Temple" - > - <File - RelativePath="..\scripts\zone\black_temple\black_temple.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_bloodboil.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_illidan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_mother_shahraz.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_reliquary_of_souls.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_shade_of_akama.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_supremus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_teron_gorefiend.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\boss_warlord_najentus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\def_black_temple.h" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\illidari_council.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\black_temple\instance_black_temple.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Northrend" - > - <Filter - Name="Region" - > - <Filter - Name="Zul'Drak" - > - </Filter> - <Filter - Name="The Storm Peaks" - > - </Filter> - <Filter - Name="Crystalsong Forest" - > - </Filter> - <Filter - Name="Wintergrasp" - > - <File - RelativePath="..\scripts\zone\wintergrasp\wintergrasp.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Dungeon" - > - <Filter - Name="Naxxramas" - > - <File - RelativePath="..\scripts\zone\naxxramas\boss_anubrekhan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_faerlina.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_four_horsemen.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_gluth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_gothik.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_grobbulus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_heigan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_kelthuzad.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_loatheb.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_maexxna.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_noth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_patchwerk.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_razuvious.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_sapphiron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\boss_thaddius.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\def_naxxramas.h" - > - </File> - <File - RelativePath="..\scripts\zone\naxxramas\instance_naxxramas.cpp" - > - </File> - </Filter> - <Filter - Name="Nexus" - > - <Filter - Name="Nexus" - > - <File - RelativePath="..\scripts\zone\nexus\nexus\boss_anomalus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\boss_keristrasza.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\boss_magus_telestra.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\boss_ormorok.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\commander_kolurg.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\commander_stoutbeard.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\def_nexus.h" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\nexus\instance_nexus.cpp" - > - </File> - </Filter> - <Filter - Name="Oculus" - > - <File - RelativePath="..\scripts\zone\nexus\oculus\boss_drakos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\boss_eregos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\boss_urom.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\boss_varos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\def_oculus.h" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\oculus\instance_oculus.cpp" - > - </File> - </Filter> - <Filter - Name="Eye of Eternity" - > - <File - RelativePath="..\scripts\zone\nexus\eye_of_eternity\boss_malygos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\eye_of_eternity\def_eye_of_eternity.h" - > - </File> - <File - RelativePath="..\scripts\zone\nexus\eye_of_eternity\instance_eye_of_eternity.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Obsidian Sanctum" - > - <File - RelativePath="..\scripts\zone\obsidian_sanctum\boss_sartharion.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\obsidian_sanctum\def_obsidian_sanctum.h" - > - </File> - <File - RelativePath="..\scripts\zone\obsidian_sanctum\instance_obsidian_sanctum.cpp" - > - </File> - </Filter> - <Filter - Name="Ulduar" - > - <Filter - Name="Halls of Stone" - > - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\boss_krystallus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\boss_maiden_of_grief.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\boss_sjonnir.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\def_halls_of_stone.h" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_stone\instance_halls_of_stone.cpp" - > - </File> - </Filter> - <Filter - Name="Halls of Lightning" - > - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\boss_bjarngrim.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\boss_ionar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\boss_loken.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\boss_volkhan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\def_halls_of_lightning.h" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\halls_of_lightning\instance_halls_of_lightning.cpp" - > - </File> - </Filter> - <Filter - Name="Ulduar" - > - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_algalon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_assembly_of_iron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_auriaya.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_flame_leviathan.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_freya.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_general_vezax.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_hodir.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_ignis.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_kologarn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_mimiron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_razorscale.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_thorim.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_xt002.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\boss_yoggsaron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\def_ulduar.h" - > - </File> - <File - RelativePath="..\scripts\zone\ulduar\ulduar\instance_ulduar.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Utgarde Keep" - > - <Filter - Name="Utgarde Keep" - > - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\boss_ingvar_the_plunderer.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\boss_keleseth.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\boss_skarvald_dalronn.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\def_utgarde_keep.h" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\instance_utgarde_keep.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_keep\utgarde_keep.cpp" - > - </File> - </Filter> - <Filter - Name="Utgarde Pinnacle" - > - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\boss_palehoof.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\boss_skadi.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\boss_svala.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\boss_ymiron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\def_pinnacle.h" - > - </File> - <File - RelativePath="..\scripts\zone\utgarde_keep\utgarde_pinnacle\instance_pinnacle.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Vault of Archavon" - > - <File - RelativePath="..\scripts\zone\vault_of_archavon\boss_archavon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\vault_of_archavon\boss_emalon.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\vault_of_archavon\def_vault_of_archavon.h" - > - </File> - <File - RelativePath="..\scripts\zone\vault_of_archavon\instance_vault_of_archavon.cpp" - > - </File> - </Filter> - <Filter - Name="Violet Hold" - > - <File - RelativePath="..\scripts\zone\violet_hold\boss_cyanigosa.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_erekem.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_ichoron.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_lavanthor.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_moragg.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_xevozz.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\boss_zuramat.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\def_violet_hold.h" - > - </File> - <File - RelativePath="..\scripts\zone\violet_hold\instance_violet_hold.cpp" - > - </File> - </Filter> - <Filter - Name="Gundrak" - > - <File - RelativePath="..\scripts\zone\gundrak\boss_drakkari_colossus.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\boss_eck.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\boss_gal_darah.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\boss_moorabi.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\boss_slad_ran.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\def_gundrak.h" - > - </File> - <File - RelativePath="..\scripts\zone\gundrak\instance_gundrak.cpp" - > - </File> - </Filter> - <Filter - Name="Drak'Tharon Keep" - > - <File - RelativePath="..\scripts\zone\draktharon_keep\boss_dred.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\boss_novos.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\boss_tharon_ja.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\boss_trollgore.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\def_drak_tharon_keep.h" - > - </File> - <File - RelativePath="..\scripts\zone\draktharon_keep\instance_drak_tharon_keep.cpp" - > - </File> - </Filter> - <Filter - Name="Azjol-Nerub" - > - <Filter - Name="Ahn'kahet" - > - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_amanitar.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_elder_nadox.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_herald_volazj.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_jedoga_shadowseeker.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\boss_prince_taldaram.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\def_ahnkahet.h" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\ahnkahet\instance_ahnkahet.cpp" - > - </File> - </Filter> - <Filter - Name="Azjol-Nerub" - > - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\boss_anubarak.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\boss_hadronox.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\boss_krikthir_the_gatewatcher.cpp" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\def_azjol_nerub.h" - > - </File> - <File - RelativePath="..\scripts\zone\azjol_nerub\azjol_nerub\instance_azjol_nerub.cpp" - > - </File> - </Filter> - </Filter> - </Filter> - </Filter> - </Filter> - <Filter - Name="custom" - > - <File - RelativePath="..\scripts\custom\npc_acherus_taxi.cpp" - > - </File> - <File - RelativePath="..\scripts\custom\npc_wyrmresttempel_taxi.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="world" - > - <File - RelativePath="..\scripts\world\areatrigger_scripts.cpp" - > - </File> - <File - RelativePath="..\scripts\world\boss_emeriss.cpp" - > - </File> - <File - RelativePath="..\scripts\world\boss_lethon.cpp" - > - </File> - <File - RelativePath="..\scripts\world\boss_taerar.cpp" - > - </File> - <File - RelativePath="..\scripts\world\boss_ysondre.cpp" - > - </File> - <File - RelativePath="..\scripts\world\go_scripts.cpp" - > - </File> - <File - RelativePath="..\scripts\world\guards.cpp" - > - </File> - <File - RelativePath="..\scripts\world\item_scripts.cpp" - > - </File> - <File - RelativePath="..\scripts\world\mob_generic_creature.cpp" - > - </File> - <File - RelativePath="..\scripts\world\npc_innkeeper.cpp" - > - </File> - <File - RelativePath="..\scripts\world\npc_professions.cpp" - > - </File> - <File - RelativePath="..\scripts\world\npc_taxi.cpp" - > - </File> - <File - RelativePath="..\scripts\world\npcs_special.cpp" - > - </File> - </Filter> + <Filter + Name="base" + > + <File + RelativePath="..\base\escort_ai.cpp" + > + </File> + <File + RelativePath="..\base\escort_ai.h" + > + </File> + <File + RelativePath="..\base\follower_ai.cpp" + > + </File> + <File + RelativePath="..\base\follower_ai.h" + > + </File> + <File + RelativePath="..\base\guard_ai.cpp" + > + </File> + <File + RelativePath="..\base\guard_ai.h" + > + </File> + <File + RelativePath="..\base\simple_ai.cpp" + > + </File> + <File + RelativePath="..\base\simple_ai.h" + > + </File> + </Filter> + <Filter + Name="scripts" + > + <Filter + Name="eastern_kingdoms" + > + <Filter + Name="Blackrock Depths" + > + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\blackrock_depths.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_ambassador_flamelash.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_anubshiah.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_emperor_dagran_thaurissan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_general_angerforge.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_gorosh_the_dervish.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_grizzle.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_high_interrogator_gerstahn.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_magmus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_moira_bronzebeard.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\boss_tomb_of_seven.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\def_blackrock_depths.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_depths\instance_blackrock_depths.cpp" + > + </File> + </Filter> + <Filter + Name="Blackrock Spire" + > + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_drakkisath.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_gyth.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_halycon.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_highlord_omokk.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_mother_smolderweb.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_overlord_wyrmthalak.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_pyroguard_emberseer.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_quartermaster_zigris.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_rend_blackhand.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_shadow_hunter_voshgajin.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_the_beast.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackrock_spire\boss_warmaster_voone.cpp" + > + </File> + </Filter> + <Filter + Name="Blackwing Lair" + > + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_broodlord_lashlayer.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_chromaggus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_ebonroc.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_firemaw.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_flamegor.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_nefarian.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_razorgore.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_vaelastrasz.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\boss_victor_nefarius.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blackwing_lair\instance_blackwing_lair.cpp" + > + </File> + </Filter> + <Filter + Name="Deadmines" + > + <File + RelativePath="..\scripts\eastern_kingdoms\deadmines\deadmines.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\deadmines\def_deadmines.h" + > + </File> + </Filter> + <Filter + Name="Karazhan" + > + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_curator.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_maiden_of_virtue.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_midnight.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_moroes.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_netherspite.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_nightbane.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_prince_malchezaar.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_shade_of_aran.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\boss_terestian_illhoof.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\bosses_opera.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\def_karazhan.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\instance_karazhan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\karazhan\karazhan.cpp" + > + </File> + </Filter> + <Filter + Name="Magister's Terrace" + > + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\boss_felblood_kaelthas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\boss_priestess_delrissa.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\boss_selin_fireheart.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\boss_vexallus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\def_magisters_terrace.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\instance_magisters_terrace.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\magisters_terrace\magisters_terrace.cpp" + > + </File> + </Filter> + <Filter + Name="Molten Core" + > + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_baron_geddon.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_garr.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_gehennas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_golemagg.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_lucifron.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_magmadar.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_majordomo_executus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_ragnaros.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_shazzrah.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\boss_sulfuron_harbinger.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\def_molten_core.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\instance_molten_core.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\molten_core\molten_core.cpp" + > + </File> + </Filter> + <Filter + Name="scarlet_enclave" + > + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\the_scarlet_enclave.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\chapter1.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_enclave\chapter2.cpp" + > + </File> + </Filter> + <Filter + Name="Scarlet Monastery" + > + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_arcanist_doan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_azshir_the_sleepless.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_bloodmage_thalnos.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_headless_horseman.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_herod.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_high_inquisitor_fairbanks.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_houndmaster_loksey.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_interrogator_vishas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_mograine_and_whitemane.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\boss_scorn.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\def_scarlet_monastery.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scarlet_monastery\instance_scarlet_monastery.cpp" + > + </File> + </Filter> + <Filter + Name="Scholomance" + > + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_darkmaster_gandling.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_death_knight_darkreaver.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_doctor_theolen_krastinov.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_illucia_barov.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_instructor_malicia.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_jandice_barov.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_kormok.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_lord_alexei_barov.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_lorekeeper_polkelt.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_ras_frostwhisper.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_the_ravenian.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\boss_vectus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\def_scholomance.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\scholomance\instance_scholomance.cpp" + > + </File> + </Filter> + <Filter + Name="Shadowfang Keep" + > + <File + RelativePath="..\scripts\eastern_kingdoms\shadowfang_keep\def_shadowfang_keep.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\shadowfang_keep\instance_shadowfang_keep.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\shadowfang_keep\shadowfang_keep.cpp" + > + </File> + </Filter> + <Filter + Name="Stratholme" + > + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_baron_rivendare.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_baroness_anastari.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_cannon_master_willey.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_dathrohan_balnazzar.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_magistrate_barthilas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_maleki_the_pallid.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_nerubenkan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_order_of_silver_hand.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_postmaster_malown.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_ramstein_the_gorger.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\boss_timmy_the_cruel.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\def_stratholme.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\instance_stratholme.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stratholme\stratholme.cpp" + > + </File> + </Filter> + <Filter + Name="Sunwell Plateau" + > + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_brutallus.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_eredar_twins.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_felmyst.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_kalecgos.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_kiljaeden.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\boss_muru.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\def_sunwell_plateau.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\instance_sunwell_plateau.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\sunwell_plateau\sunwell_plateau.cpp" + > + </File> + </Filter> + <Filter + Name="Uldaman" + > + <File + RelativePath="..\scripts\eastern_kingdoms\uldaman\boss_archaedas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\uldaman\boss_ironaya.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\uldaman\instance_uldaman.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\uldaman\uldaman.cpp" + > + </File> + </Filter> + <Filter + Name="Zul'Aman" + > + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_akilzon.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_halazzi.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_hexlord.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_janalai.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_nalorakk.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\boss_zuljin.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\def_zulaman.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\instance_zulaman.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulaman\zulaman.cpp" + > + </File> + </Filter> + <Filter + Name="Zul'Gurub" + > + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_arlokk.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_gahzranka.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_grilek.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_hakkar.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_hazzarah.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_jeklik.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_jindo.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_mandokir.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_marli.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_renataki.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_thekal.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_venoxis.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\boss_wushoolay.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\def_zulgurub.h" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\zulgurub\instance_zulgurub.cpp" + > + </File> + </Filter> + <File + RelativePath="..\scripts\eastern_kingdoms\alterac_mountains.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\arathi_highlands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\blasted_lands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\boss_kruul.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\burning_steppes.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\dun_morogh.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\eastern_plaguelands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\elwynn_forest.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\eversong_woods.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\ghostlands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\hinterlands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\ironforge.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\isle_of_queldanas.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\loch_modan.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\searing_gorge.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\silvermoon_city.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\silverpine_forest.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stormwind_city.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\stranglethorn_vale.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\tirisfal_glades.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\undercity.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\western_plaguelands.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\westfall.cpp" + > + </File> + <File + RelativePath="..\scripts\eastern_kingdoms\wetlands.cpp" + > + </File> + </Filter> + <Filter + Name="examples" + > + <File + RelativePath="..\scripts\examples\example_creature.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_escort.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_gossip_codebox.cpp" + > + </File> + <File + RelativePath="..\scripts\examples\example_misc.cpp" + > + </File> + </Filter> + <Filter + Name="kalimdor" + > + <Filter + Name="Blackfathom Depths" + > + <File + RelativePath="..\scripts\kalimdor\blackfathom_depths\instance_blackfathom_deeps.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\blackfathom_depths\def_blackfathom_deeps.h" + > + </File> + </Filter> + <Filter + Name="Caverns of Time" + > + <Filter + Name="Culling of Stratholme" + > + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_epoch.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_mal_ganis.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_meathook.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_salramm.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\def_culling_of_stratholme.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\instance_culling_of_stratholme.cpp" + > + </File> + </Filter> + <Filter + Name="The Dark Portal" + > + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\boss_aeonus.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\boss_chrono_lord_deja.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\boss_temporus.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\dark_portal.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\def_dark_portal.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\dark_portal\instance_dark_portal.cpp" + > + </File> + </Filter> + <Filter + Name="Battle for Mt. Hyjal" + > + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_anetheron.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_archimonde.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_azgalor.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_kazrogal.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\boss_rage_winterchill.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\def_hyjal.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjal.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjal_trash.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjal_trash.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjalAI.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\hyjalAI.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\hyjal\instance_hyjal.cpp" + > + </File> + </Filter> + <Filter + Name="Old Hillsbrad" + > + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\boss_captain_skarloc.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\boss_epoch_hunter.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\boss_leutenant_drake.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\def_old_hillsbrad.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\instance_old_hillsbrad.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\old_hillsbrad\old_hillsbrad.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Maraudon" + > + <File + RelativePath="..\scripts\kalimdor\maraudon\boss_celebras_the_cursed.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\maraudon\boss_landslide.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\maraudon\boss_noxxion.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\maraudon\boss_princess_theradras.cpp" + > + </File> + </Filter> + <Filter + Name="Onyxia's Lair" + > + <File + RelativePath="..\scripts\kalimdor\onyxias_lair\boss_onyxia.cpp" + > + </File> + </Filter> + <Filter + Name="Razorfen Downs" + > + <File + RelativePath="..\scripts\kalimdor\razorfen_downs\boss_amnennar_the_coldbringer.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\razorfen_downs\razorfen_downs.cpp" + > + </File> + </Filter> + <Filter + Name="Razorfen Kraul" + > + <File + RelativePath="..\scripts\kalimdor\razorfen_kraul\razorfen_kraul.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\razorfen_kraul\instance_razorfen_kraul.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\razorfen_kraul\def_razorfen_kraul.h" + > + </File> + </Filter> + <Filter + Name="Ruins of Ahn'Qiraj" + > + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_ayamiss.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_buru.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_kurinnaxx.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_moam.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_ossirian.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\boss_rajaxx.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ruins_of_ahnqiraj\instance_ruins_of_ahnqiraj.cpp" + > + </File> + </Filter> + <Filter + Name="Temple of Ahn'Qiraj" + > + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_bug_trio.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_cthun.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_fankriss.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_huhuran.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_ouro.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_sartura.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_skeram.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_twinemperors.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\boss_viscidus.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\def_temple_of_ahnqiraj.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\instance_temple_of_ahnqiraj.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\temple_of_ahnqiraj\mob_anubisath_sentinel.cpp" + > + </File> + </Filter> + <Filter + Name="Wailing Caverns" + > + <File + RelativePath="..\scripts\kalimdor\wailing_caverns\def_wailing_caverns.h" + > + </File> + <File + RelativePath="..\scripts\kalimdor\wailing_caverns\instance_wailing_caverns.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\wailing_caverns\wailing_caverns.cpp" + > + </File> + </Filter> + <Filter + Name="Zul'Farrak" + > + <File + RelativePath="..\scripts\kalimdor\zulfarrak\zulfarrak.cpp" + > + </File> + </Filter> + <File + RelativePath="..\scripts\kalimdor\ashenvale.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\azshara.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\azuremyst_isle.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\bloodmyst_isle.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\boss_azuregos.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\darkshore.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\desolace.cpp"> + </File> + <File + RelativePath="..\scripts\kalimdor\dustwallow_marsh.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\felwood.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\feralas.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\moonglade.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\mulgore.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\orgrimmar.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\silithus.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\stonetalon_mountains.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\tanaris.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\teldrassil.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\the_barrens.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\thousand_needles.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\thunder_bluff.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\ungoro_crater.cpp" + > + </File> + <File + RelativePath="..\scripts\kalimdor\winterspring.cpp" + > + </File> + </Filter> + <Filter + Name="northrend" + > + <Filter + Name="Azjol-Nerub" + > + <Filter + Name="Ahn'kahet" + > + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_amanitar.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_elder_nadox.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_herald_volazj.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_jedoga_shadowseeker.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\boss_prince_taldaram.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\def_ahnkahet.h" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\ahnkahet\instance_ahnkahet.cpp" + > + </File> + </Filter> + <Filter + Name="Azjol-Nerub" + > + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\boss_anubarak.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\boss_hadronox.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\boss_krikthir_the_gatewatcher.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\def_azjol_nerub.h" + > + </File> + <File + RelativePath="..\scripts\northrend\azjol_nerub\azjol_nerub\instance_azjol_nerub.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Drak'Tharon Keep" + > + <File + RelativePath="..\scripts\northrend\draktharon_keep\boss_dred.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\boss_novos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\boss_tharon_ja.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\boss_trollgore.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\def_drak_tharon_keep.h" + > + </File> + <File + RelativePath="..\scripts\northrend\draktharon_keep\instance_drak_tharon_keep.cpp" + > + </File> + </Filter> + <Filter + Name="Gundrak" + > + <File + RelativePath="..\scripts\northrend\gundrak\boss_drakkari_colossus.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\boss_eck.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\boss_gal_darah.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\boss_moorabi.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\boss_slad_ran.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\def_gundrak.h" + > + </File> + <File + RelativePath="..\scripts\northrend\gundrak\instance_gundrak.cpp" + > + </File> + </Filter> + <Filter + Name="Naxxramas" + > + <File + RelativePath="..\scripts\northrend\naxxramas\boss_anubrekhan.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_faerlina.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_four_horsemen.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_gluth.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_gothik.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_grobbulus.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_heigan.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_kelthuzad.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_loatheb.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_maexxna.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_noth.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_patchwerk.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_razuvious.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_sapphiron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\boss_thaddius.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\def_naxxramas.h" + > + </File> + <File + RelativePath="..\scripts\northrend\naxxramas\instance_naxxramas.cpp" + > + </File> + </Filter> + <Filter + Name="Nexus" + > + <Filter + Name="Nexus" + > + <File + RelativePath="..\scripts\northrend\nexus\nexus\boss_anomalus.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\boss_keristrasza.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\boss_magus_telestra.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\boss_ormorok.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\commander_kolurg.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\commander_stoutbeard.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\def_nexus.h" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\nexus\instance_nexus.cpp" + > + </File> + </Filter> + <Filter + Name="Oculus" + > + <File + RelativePath="..\scripts\northrend\nexus\oculus\boss_drakos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\boss_eregos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\boss_urom.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\boss_varos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\def_oculus.h" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\oculus\instance_oculus.cpp" + > + </File> + </Filter> + <Filter + Name="Eye of Eternity" + > + <File + RelativePath="..\scripts\northrend\nexus\eye_of_eternity\boss_malygos.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\eye_of_eternity\def_eye_of_eternity.h" + > + </File> + <File + RelativePath="..\scripts\northrend\nexus\eye_of_eternity\instance_eye_of_eternity.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Obsidian Sanctum" + > + <File + RelativePath="..\scripts\northrend\obsidian_sanctum\boss_sartharion.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\obsidian_sanctum\def_obsidian_sanctum.h" + > + </File> + <File + RelativePath="..\scripts\northrend\obsidian_sanctum\instance_obsidian_sanctum.cpp" + > + </File> + </Filter> + <Filter + Name="Ulduar" + > + <Filter + Name="Halls of Stone" + > + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\boss_krystallus.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\boss_maiden_of_grief.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\boss_sjonnir.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\def_halls_of_stone.h" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_stone\instance_halls_of_stone.cpp" + > + </File> + </Filter> + <Filter + Name="Halls of Lightning" + > + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\boss_bjarngrim.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\boss_ionar.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\boss_loken.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\boss_volkhan.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\def_halls_of_lightning.h" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\halls_of_lightning\instance_halls_of_lightning.cpp" + > + </File> + </Filter> + <Filter + Name="Ulduar" + > + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_algalon.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_assembly_of_iron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_auriaya.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_flame_leviathan.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_freya.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_general_vezax.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_hodir.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_ignis.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_kologarn.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_mimiron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_razorscale.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_thorim.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_xt002.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\boss_yoggsaron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\def_ulduar.h" + > + </File> + <File + RelativePath="..\scripts\northrend\ulduar\ulduar\instance_ulduar.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Utgarde Keep" + > + <Filter + Name="Utgarde Keep" + > + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\boss_ingvar_the_plunderer.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\boss_keleseth.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\boss_skarvald_dalronn.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\def_utgarde_keep.h" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\instance_utgarde_keep.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_keep\utgarde_keep.cpp" + > + </File> + </Filter> + <Filter + Name="Utgarde Pinnacle" + > + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\boss_palehoof.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\boss_skadi.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\boss_svala.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\boss_ymiron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\def_pinnacle.h" + > + </File> + <File + RelativePath="..\scripts\northrend\utgarde_keep\utgarde_pinnacle\instance_pinnacle.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Vault of Archavon" + > + <File + RelativePath="..\scripts\northrend\vault_of_archavon\boss_archavon.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\vault_of_archavon\boss_emalon.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\vault_of_archavon\def_vault_of_archavon.h" + > + </File> + <File + RelativePath="..\scripts\northrend\vault_of_archavon\instance_vault_of_archavon.cpp" + > + </File> + </Filter> + <Filter + Name="Violet Hold" + > + <File + RelativePath="..\scripts\northrend\violet_hold\boss_cyanigosa.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_erekem.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_ichoron.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_lavanthor.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_moragg.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_xevozz.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\boss_zuramat.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\def_violet_hold.h" + > + </File> + <File + RelativePath="..\scripts\northrend\violet_hold\instance_violet_hold.cpp" + > + </File> + </Filter> + <File + RelativePath="..\scripts\northrend\borean_tundra.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\dragonblight.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\grizzly_hills.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\icecrown.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\sholazar_basin.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\wintergrasp.cpp" + > + </File> + <File + RelativePath="..\scripts\northrend\zuldrak.cpp" + > + </File> + </Filter> + <Filter + Name="outland" + > + <Filter + Name="Aunchindoun" + > + <Filter + Name="Auchenai Crypts" + > + <File + RelativePath="..\scripts\outland\auchindoun\auchenai_crypts\boss_exarch_maladaar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\auchenai_crypts\boss_shirrak_the_dead_watcher.cpp" + > + </File> + </Filter> + <Filter + Name="Mana Tombs" + > + <File + RelativePath="..\scripts\outland\auchindoun\mana_tombs\boss_nexusprince_shaffar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\mana_tombs\boss_pandemonius.cpp" + > + </File> + </Filter> + <Filter + Name="Sethekk Halls" + > + <File + RelativePath="..\scripts\outland\auchindoun\sethekk_halls\boss_darkweaver_syth.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\sethekk_halls\boss_tailonking_ikiss.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\sethekk_halls\def_sethekk_halls.h" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\sethekk_halls\instance_sethekk_halls.cpp" + > + </File> + </Filter> + <Filter + Name="Shadow Labyrinth" + > + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\boss_ambassador_hellmaw.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\boss_blackheart_the_inciter.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\boss_grandmaster_vorpil.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\boss_murmur.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\def_shadow_labyrinth.h" + > + </File> + <File + RelativePath="..\scripts\outland\auchindoun\shadow_labyrinth\instance_shadow_labyrinth.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Black Temple" + > + <File + RelativePath="..\scripts\outland\black_temple\black_temple.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_bloodboil.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_illidan.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_mother_shahraz.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_reliquary_of_souls.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_shade_of_akama.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_supremus.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_teron_gorefiend.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\boss_warlord_najentus.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\def_black_temple.h" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\illidari_council.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\black_temple\instance_black_temple.cpp" + > + </File> + </Filter> + <Filter + Name="Coilfang Resevoir" + > + <Filter + Name="Serpent Shrine Cavern" + > + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_fathomlord_karathress.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_hydross_the_unstable.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_lady_vashj.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_leotheras_the_blind.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_lurker_below.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\boss_morogrim_tidewalker.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\def_serpent_shrine.h" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\serpent_shrine\instance_serpent_shrine.cpp" + > + </File> + </Filter> + <Filter + Name="Steam Vault" + > + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\boss_hydromancer_thespia.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\boss_mekgineer_steamrigger.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\boss_warlord_kalithresh.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\def_steam_vault.h" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\steam_vault\instance_steam_vault.cpp" + > + </File> + </Filter> + <Filter + Name="Underbog" + > + <File + RelativePath="..\scripts\outland\coilfang_resevoir\underbog\boss_hungarfen.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\coilfang_resevoir\underbog\boss_the_black_stalker.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Gruul's Lair" + > + <File + RelativePath="..\scripts\outland\gruuls_lair\boss_gruul.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\gruuls_lair\boss_high_king_maulgar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\gruuls_lair\def_gruuls_lair.h" + > + </File> + <File + RelativePath="..\scripts\outland\gruuls_lair\instance_gruuls_lair.cpp" + > + </File> + </Filter> + <Filter + Name="Hellfire Citadel" + > + <Filter + Name="Blood Furnace" + > + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\boss_broggok.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\boss_kelidan_the_breaker.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\boss_the_maker.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\def_blood_furnace.h" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\blood_furnace\instance_blood_furnace.cpp" + > + </File> + </Filter> + <Filter + Name="Magtheridon's lair" + > + <File + RelativePath="..\scripts\outland\hellfire_citadel\magtheridons_lair\boss_magtheridon.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\magtheridons_lair\def_magtheridons_lair.h" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\magtheridons_lair\instance_magtheridons_lair.cpp" + > + </File> + </Filter> + <Filter + Name="Hellfire Ramparts" + > + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\boss_omor_the_unscarred.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\boss_vazruden_the_herald.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\boss_watchkeeper_gargolmar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\def_hellfire_ramparts.h" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\hellfire_ramparts\instance_hellfire_ramparts.cpp" + > + </File> + </Filter> + <Filter + Name="Shattered Halls" + > + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\boss_nethekurse.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\boss_warbringer_omrogg.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\boss_warchief_kargath_bladefist.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\def_shattered_halls.h" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_citadel\shattered_halls\instance_shattered_halls.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Tempest Keep" + > + <Filter + Name="Arcatraz" + > + <File + RelativePath="..\scripts\outland\tempest_keep\arcatraz\arcatraz.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\arcatraz\boss_harbinger_skyriss.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\arcatraz\def_arcatraz.h" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\arcatraz\instance_arcatraz.cpp" + > + </File> + </Filter> + <Filter + Name="Botanica" + > + <File + RelativePath="..\scripts\outland\tempest_keep\botanica\boss_high_botanist_freywinn.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\botanica\boss_laj.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\botanica\boss_warp_splinter.cpp" + > + </File> + </Filter> + <Filter + Name="The Eye" + > + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\boss_alar.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\boss_astromancer.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\boss_kaelthas.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\boss_void_reaver.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\def_the_eye.h" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\instance_the_eye.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_eye\the_eye.cpp" + > + </File> + </Filter> + <Filter + Name="The Mechanar" + > + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\boss_gatewatcher_gyrokill.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\boss_gatewatcher_ironhand.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\boss_nethermancer_sepethrea.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\boss_pathaleon_the_calculator.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\def_mechanar.h" + > + </File> + <File + RelativePath="..\scripts\outland\tempest_keep\the_mechanar\instance_mechanar.cpp" + > + </File> + </Filter> + </Filter> + <File + RelativePath="..\scripts\outland\blades_edge_mountains.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\boss_doomlord_kazzak.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\boss_doomwalker.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\hellfire_peninsula.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\nagrand.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\netherstorm.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\shadowmoon_valley.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\shattrath_city.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\terokkar_forest.cpp" + > + </File> + <File + RelativePath="..\scripts\outland\zangarmarsh.cpp" + > + </File> + </Filter> + <Filter + Name="custom" + > + <File + RelativePath="..\scripts\custom\npc_acherus_taxi.cpp" + > + </File> + <File + RelativePath="..\scripts\custom\npc_wyrmresttempel_taxi.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="world" + > + <File + RelativePath="..\scripts\world\areatrigger_scripts.cpp" + > + </File> + <File + RelativePath="..\scripts\world\boss_emeriss.cpp" + > + </File> + <File + RelativePath="..\scripts\world\boss_lethon.cpp" + > + </File> + <File + RelativePath="..\scripts\world\boss_taerar.cpp" + > + </File> + <File + RelativePath="..\scripts\world\boss_ysondre.cpp" + > + </File> + <File + RelativePath="..\scripts\world\go_scripts.cpp" + > + </File> + <File + RelativePath="..\scripts\world\guards.cpp" + > + </File> + <File + RelativePath="..\scripts\world\item_scripts.cpp" + > + </File> + <File + RelativePath="..\scripts\world\mob_generic_creature.cpp" + > + </File> + <File + RelativePath="..\scripts\world\npc_innkeeper.cpp" + > + </File> + <File + RelativePath="..\scripts\world\npc_professions.cpp" + > + </File> + <File + RelativePath="..\scripts\world\npc_taxi.cpp" + > + </File> + <File + RelativePath="..\scripts\world\npcs_special.cpp" + > + </File> + </Filter> <Filter Name="Include" > @@ -2821,18 +2760,26 @@ > </File> </Filter> - <Filter - Name="system" - > - <File - RelativePath="..\system\ScriptLoader.cpp" - > - </File> - <File - RelativePath="..\system\ScriptLoader.h" - > - </File> - </Filter> + <Filter + Name="system" + > + <File + RelativePath="..\system\ScriptLoader.cpp" + > + </File> + <File + RelativePath="..\system\ScriptLoader.h" + > + </File> + <File + RelativePath="..\system\system.cpp" + > + </File> + <File + RelativePath="..\system\system.h" + > + </File> + </Filter> <File RelativePath="..\ScriptMgr.cpp" > @@ -2841,10 +2788,6 @@ RelativePath="..\ScriptMgr.h" > </File> - <File - RelativePath="..\system.cpp" - > - </File> </Files> <Globals> </Globals> diff --git a/src/bindings/scripts/base/escortAI.cpp b/src/bindings/scripts/base/escort_ai.cpp index 2c9b968d281..34b4efcbe60 100644 --- a/src/bindings/scripts/base/escortAI.cpp +++ b/src/bindings/scripts/base/escort_ai.cpp @@ -10,7 +10,8 @@ SDCategory: Npc EndScriptData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" +#include "../system/system.h" enum { @@ -18,7 +19,24 @@ enum POINT_HOME = 0xFFFFFE }; -extern std::list<PointMovement> PointMovementList; +npc_escortAI::npc_escortAI(Creature* pCreature) : ScriptedAI(pCreature), + IsBeingEscorted(false), + IsOnHold(false), + m_uiPlayerGUID(0), + MaxPlayerDistance(DEFAULT_MAX_PLAYER_DISTANCE), + CanMelee(true), + m_uiPlayerCheckTimer(1000), + m_uiWPWaitTimer(2500), + m_bIsReturning(false), + m_bIsActiveAttacker(true), + m_bIsRunning(false), + DespawnAtEnd(true), + DespawnAtFar(true), + m_pQuestForEscort(NULL), + m_bCanInstantRespawn(false), + m_bCanReturnToStart(false), + ScriptWP(false) +{} void npc_escortAI::AttackStart(Unit* pWho) { @@ -45,10 +63,10 @@ void npc_escortAI::MoveInLineOfSight(Unit* pWho) void npc_escortAI::JustDied(Unit* pKiller) { - if (!IsBeingEscorted || !PlayerGUID || !m_pQuestForEscort) + if (!IsBeingEscorted || !m_uiPlayerGUID || !m_pQuestForEscort) return; - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) { if (Group* pGroup = pPlayer->GetGroup()) { @@ -112,6 +130,32 @@ void npc_escortAI::EnterEvadeMode() Reset(); } +bool npc_escortAI::IsPlayerOrGroupInRange() +{ + if (Player* pPlayer = GetPlayerForEscort()) + { + if (Group* pGroup = pPlayer->GetGroup()) + { + for(GroupReference* pRef = pGroup->GetFirstMember(); pRef != NULL; pRef = pRef->next()) + { + Player* pMember = pRef->getSource(); + + if (pMember && m_creature->IsWithinDistInMap(pMember, GetMaxPlayerDistance())) + { + return true; + break; + } + } + } + else + { + if (m_creature->IsWithinDistInMap(pPlayer, GetMaxPlayerDistance())) + return true; + } + } + return false; +} + void npc_escortAI::UpdateAI(const uint32 uiDiff) { //Waypoint Updating @@ -160,7 +204,10 @@ void npc_escortAI::UpdateAI(const uint32 uiDiff) if (!IsOnHold) { m_creature->GetMotionMaster()->MovePoint(CurrentWP->id, CurrentWP->x, CurrentWP->y, CurrentWP->z); - debug_log("TSCR: EscortAI Next WP is: %u, %f, %f, %f", CurrentWP->id, CurrentWP->x, CurrentWP->y, CurrentWP->z); + debug_log("TSCR: EscortAI start waypoint %u (%f, %f, %f).", CurrentWP->id, CurrentWP->x, CurrentWP->y, CurrentWP->z); + + WaypointStart(CurrentWP->id); + m_uiWPWaitTimer = 0; } } @@ -169,35 +216,11 @@ void npc_escortAI::UpdateAI(const uint32 uiDiff) } //Check if player or any member of his group is within range - if (IsBeingEscorted && PlayerGUID && !m_creature->getVictim() && !m_bIsReturning) + if (IsBeingEscorted && m_uiPlayerGUID && !m_creature->getVictim() && !m_bIsReturning) { if (m_uiPlayerCheckTimer < uiDiff) { - bool bIsMaxRangeExceeded = true; - - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) - { - if (Group* pGroup = pPlayer->GetGroup()) - { - for(GroupReference* pRef = pGroup->GetFirstMember(); pRef != NULL; pRef = pRef->next()) - { - Player* pMember = pRef->getSource(); - - if (pMember && m_creature->IsWithinDistInMap(pMember, GetMaxPlayerDistance())) - { - bIsMaxRangeExceeded = false; - break; - } - } - } - else - { - if (m_creature->IsWithinDistInMap(pPlayer, GetMaxPlayerDistance())) - bIsMaxRangeExceeded = false; - } - } - - if (DespawnAtFar && bIsMaxRangeExceeded) + if (DespawnAtFar && !IsPlayerOrGroupInRange()) { debug_log("TSCR: EscortAI failed because player/group was to far away or not found"); @@ -218,6 +241,11 @@ void npc_escortAI::UpdateAI(const uint32 uiDiff) m_uiPlayerCheckTimer -= uiDiff; } + UpdateEscortAI(uiDiff); +} + +void npc_escortAI::UpdateEscortAI(const uint32 uiDiff) +{ if (CanMelee && UpdateVictim()) DoMeleeAttackIfReady(); } @@ -308,17 +336,17 @@ void npc_escortAI::AddWaypoint(uint32 id, float x, float y, float z, uint32 Wait void npc_escortAI::FillPointMovementListForCreature() { - UNORDERED_MAP<uint32, std::vector<PointMovement> >::iterator pPointsEntries = PointMovementMap.find(m_creature->GetEntry()); + std::vector<ScriptPointMove> const &pPointsEntries = pSystemMgr.GetPointMoveList(m_creature->GetEntry()); - if (pPointsEntries != PointMovementMap.end()) - { - std::vector<PointMovement>::iterator itr; + if (pPointsEntries.empty()) + return; - for (itr = pPointsEntries->second.begin(); itr != pPointsEntries->second.end(); ++itr) - { - Escort_Waypoint pPoint(itr->m_uiPointId,itr->m_fX,itr->m_fY,itr->m_fZ,itr->m_uiWaitTime); - WaypointList.push_back(pPoint); - } + std::vector<ScriptPointMove>::const_iterator itr; + + for (itr = pPointsEntries.begin(); itr != pPointsEntries.end(); ++itr) + { + Escort_Waypoint pPoint(itr->uiPointId, itr->fX, itr->fY, itr->fZ, itr->uiWaitTime); + WaypointList.push_back(pPoint); } } @@ -376,7 +404,7 @@ void npc_escortAI::Start(bool bIsActiveAttacker, bool bRun, uint64 uiPlayerGUID, m_bIsActiveAttacker = bIsActiveAttacker; m_bIsRunning = bRun; - PlayerGUID = uiPlayerGUID; + m_uiPlayerGUID = uiPlayerGUID; m_pQuestForEscort = pQuest; m_bCanInstantRespawn = bInstantRespawn; @@ -395,7 +423,7 @@ void npc_escortAI::Start(bool bIsActiveAttacker, bool bRun, uint64 uiPlayerGUID, //disable npcflags m_creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); - debug_log("TSCR: EscortAI started with %d waypoints. ActiveAttacker = %d, Run = %d, PlayerGUID = %d", WaypointList.size(), m_bIsActiveAttacker, m_bIsRunning, PlayerGUID); + debug_log("TSCR: EscortAI started with %d waypoints. ActiveAttacker = %d, Run = %d, PlayerGUID = %d", WaypointList.size(), m_bIsActiveAttacker, m_bIsRunning, m_uiPlayerGUID); CurrentWP = WaypointList.begin(); diff --git a/src/bindings/scripts/base/escortAI.h b/src/bindings/scripts/base/escort_ai.h index 8ce82eb370a..60e555dcfd4 100644 --- a/src/bindings/scripts/base/escortAI.h +++ b/src/bindings/scripts/base/escort_ai.h @@ -7,8 +7,6 @@ #define DEFAULT_MAX_PLAYER_DISTANCE 50 -extern UNORDERED_MAP<uint32, std::vector<PointMovement> > PointMovementMap; - struct Escort_Waypoint { Escort_Waypoint(uint32 _id, float _x, float _y, float _z, uint32 _w) @@ -30,12 +28,12 @@ struct Escort_Waypoint struct TRINITY_DLL_DECL npc_escortAI : public ScriptedAI { public: - explicit npc_escortAI(Creature* pCreature) : ScriptedAI(pCreature), - IsBeingEscorted(false), IsOnHold(false), PlayerGUID(0), MaxPlayerDistance(DEFAULT_MAX_PLAYER_DISTANCE), CanMelee(true), m_uiPlayerCheckTimer(1000), m_uiWPWaitTimer(2500), m_bIsReturning(false), m_bIsActiveAttacker(true), m_bIsRunning(false), DespawnAtEnd(true), DespawnAtFar(true), m_pQuestForEscort(NULL), m_bCanInstantRespawn(false), m_bCanReturnToStart(false), ScriptWP(false) {} + explicit npc_escortAI(Creature* pCreature); ~npc_escortAI() {} // Pure Virtual Functions - virtual void WaypointReached(uint32) = 0; + virtual void WaypointReached(uint32 uiPointId) = 0; + virtual void WaypointStart(uint32 uiPointId) {} // CreatureAI functions void AttackStart(Unit* who); @@ -50,13 +48,21 @@ struct TRINITY_DLL_DECL npc_escortAI : public ScriptedAI void EnterEvadeMode(); - void UpdateAI(const uint32); + void UpdateAI(const uint32); //the "internal" update, calls UpdateEscortAI() + virtual void UpdateEscortAI(const uint32); //used when it's needed to add code in update (abilities, scripted events, etc) void MovementInform(uint32, uint32); // EscortAI functions void AddWaypoint(uint32 id, float x, float y, float z, uint32 WaitTimeMs = 0); + bool IsPlayerOrGroupInRange(); + + Player* GetPlayerForEscort() + { + return Unit::GetPlayer(m_uiPlayerGUID); + } + void FillPointMovementListForCreature(); void Start(bool bIsActiveAttacker = true, bool bRun = false, uint64 uiPlayerGUID = 0, const Quest* pQuest = NULL, bool bInstantRespawn = false, bool bCanLoopPath = false); @@ -75,15 +81,15 @@ struct TRINITY_DLL_DECL npc_escortAI : public ScriptedAI bool GetIsBeingEscorted() { return IsBeingEscorted; }//used in EnterEvadeMode override void SetReturning(bool returning) { m_bIsReturning = returning; }//used in EnterEvadeMode override void SetCanAttack(bool attack) { m_bIsActiveAttacker = attack; } - uint64 GetEventStarterGUID() { return PlayerGUID; } + uint64 GetEventStarterGUID() { return m_uiPlayerGUID; } // EscortAI variables protected: - uint64 PlayerGUID; bool IsBeingEscorted; bool IsOnHold; private: + uint64 m_uiPlayerGUID; uint32 m_uiWPWaitTimer; uint32 m_uiPlayerCheckTimer; float MaxPlayerDistance; diff --git a/src/bindings/scripts/base/follower_ai.cpp b/src/bindings/scripts/base/follower_ai.cpp new file mode 100644 index 00000000000..eb847c219db --- /dev/null +++ b/src/bindings/scripts/base/follower_ai.cpp @@ -0,0 +1,309 @@ +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + * This program is free software licensed under GPL version 2 + * Please see the included DOCS/LICENSE.TXT for more information */ + +/* ScriptData +SDName: FollowerAI +SD%Complete: 50 +SDComment: This AI is under development +SDCategory: Npc +EndScriptData */ + +#include "precompiled.h" +#include "follower_ai.h" + +const float MAX_PLAYER_DISTANCE = 100.0f; + +enum +{ + POINT_COMBAT_START = 0xFFFFFF +}; + +FollowerAI::FollowerAI(Creature* pCreature) : ScriptedAI(pCreature), + m_uiLeaderGUID(0), + m_pQuestForFollow(NULL), + m_uiUpdateFollowTimer(2500), + m_bIsFollowing(false), + m_bIsReturnToLeader(false), + m_bIsFollowComplete(false) +{} + +void FollowerAI::AttackStart(Unit* pWho) +{ + if (!pWho) + return; + + if (m_creature->Attack(pWho, true)) + { + m_creature->AddThreat(pWho, 0.0f); + m_creature->SetInCombatWith(pWho); + pWho->SetInCombatWith(m_creature); + + if (m_creature->hasUnitState(UNIT_STAT_FOLLOW)) + m_creature->clearUnitState(UNIT_STAT_FOLLOW); + + if (IsCombatMovement()) + m_creature->GetMotionMaster()->MoveChase(pWho); + } +} + +void FollowerAI::MoveInLineOfSight(Unit* pWho) +{ + if (!m_creature->hasUnitState(UNIT_STAT_STUNNED) && pWho->isTargetableForAttack() && + m_creature->IsHostileTo(pWho) && pWho->isInAccessiblePlaceFor(m_creature)) + { + if (!m_creature->canFly() && m_creature->GetDistanceZ(pWho) > CREATURE_Z_ATTACK_RANGE) + return; + + //This part provides assistance to a player that are attacked by pWho, even if out of normal aggro range + //It will cause m_creature to attack pWho that are attacking _any_ player (which has been confirmed may happen also on offi) + //The flag (type_flag) is unconfirmed, but used here for further research and is a good candidate. + if (m_creature->hasUnitState(UNIT_STAT_FOLLOW) && + m_creature->GetCreatureInfo()->type_flags & 0x01000 && + pWho->getVictim() && + pWho->getVictim()->GetCharmerOrOwnerPlayerOrPlayerItself() && + m_creature->IsWithinDistInMap(pWho, MAX_PLAYER_DISTANCE) && + m_creature->IsWithinLOSInMap(pWho)) + { + pWho->RemoveAurasDueToSpell(SPELL_AURA_MOD_STEALTH); + AttackStart(pWho); + } + else + { + float attackRadius = m_creature->GetAttackDistance(pWho); + if (m_creature->IsWithinDistInMap(pWho, attackRadius) && m_creature->IsWithinLOSInMap(pWho)) + { + if (!m_creature->getVictim()) + { + pWho->RemoveAurasDueToSpell(SPELL_AURA_MOD_STEALTH); + AttackStart(pWho); + } + else if (m_creature->GetMap()->IsDungeon()) + { + pWho->SetInCombatWith(m_creature); + m_creature->AddThreat(pWho, 0.0f); + } + } + } + } +} + +void FollowerAI::JustDied(Unit* pKiller) +{ + if (!m_bIsFollowing || !m_uiLeaderGUID) + return; + + //TODO: need a better check for quests with time limit. + if (Player* pPlayer = GetLeaderForFollower()) + { + if (Group* pGroup = pPlayer->GetGroup()) + { + for(GroupReference* pRef = pGroup->GetFirstMember(); pRef != NULL; pRef = pRef->next()) + { + if (Player* pMember = pRef->getSource()) + { + if (pPlayer->GetQuestStatus(m_pQuestForFollow->GetQuestId()) == QUEST_STATUS_INCOMPLETE) + pPlayer->FailQuest(m_pQuestForFollow->GetQuestId()); + } + } + } + else + { + if (pPlayer->GetQuestStatus(m_pQuestForFollow->GetQuestId()) == QUEST_STATUS_INCOMPLETE) + pPlayer->FailQuest(m_pQuestForFollow->GetQuestId()); + } + } +} + +void FollowerAI::JustRespawned() +{ + m_bIsFollowing = false; + m_bIsReturnToLeader = false; + m_bIsFollowComplete = false; + + if (!IsCombatMovement()) + SetCombatMovement(true); + + if (m_creature->getFaction() != m_creature->GetCreatureInfo()->faction_A) + m_creature->setFaction(m_creature->GetCreatureInfo()->faction_A); + + Reset(); +} + +void FollowerAI::EnterEvadeMode() +{ + m_creature->RemoveAllAuras(); + m_creature->DeleteThreatList(); + m_creature->CombatStop(true); + m_creature->SetLootRecipient(NULL); + + if (m_bIsFollowing) + { + debug_log("SD2: FollowerAI left combat, returning to CombatStartPosition."); + + if (m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() == TARGETED_MOTION_TYPE) + { + float fPosX, fPosY, fPosZ; + m_creature->GetPosition(fPosX, fPosY, fPosZ); + m_creature->GetMotionMaster()->MovePoint(POINT_COMBAT_START, fPosX, fPosY, fPosZ); + } + } + else + { + if (m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() == TARGETED_MOTION_TYPE) + m_creature->GetMotionMaster()->MoveTargetedHome(); + } + + Reset(); +} + +void FollowerAI::UpdateAI(const uint32 uiDiff) +{ + if (m_bIsFollowing && !m_creature->getVictim()) + { + if (m_uiUpdateFollowTimer < uiDiff) + { + if (m_bIsFollowComplete) + { + debug_log("SD2: FollowerAI is set completed, despawns."); + m_creature->ForcedDespawn(); + return; + } + + bool bIsMaxRangeExceeded = true; + + if (Player* pPlayer = GetLeaderForFollower()) + { + if (m_bIsReturnToLeader) + { + debug_log("SD2: FollowerAI is returning to leader."); + m_creature->GetMotionMaster()->MoveFollow(pPlayer, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE); + m_bIsReturnToLeader = false; + return; + } + + if (Group* pGroup = pPlayer->GetGroup()) + { + for(GroupReference* pRef = pGroup->GetFirstMember(); pRef != NULL; pRef = pRef->next()) + { + Player* pMember = pRef->getSource(); + + if (pMember && m_creature->IsWithinDistInMap(pMember, MAX_PLAYER_DISTANCE)) + { + bIsMaxRangeExceeded = false; + break; + } + } + } + else + { + if (m_creature->IsWithinDistInMap(pPlayer, MAX_PLAYER_DISTANCE)) + bIsMaxRangeExceeded = false; + } + } + + if (bIsMaxRangeExceeded) + { + debug_log("SD2: FollowerAI failed because player/group was to far away or not found"); + m_creature->ForcedDespawn(); + return; + } + + m_uiUpdateFollowTimer = 1000; + } + else + m_uiUpdateFollowTimer -= uiDiff; + } + + UpdateFollowerAI(uiDiff); +} + +void FollowerAI::UpdateFollowerAI(const uint32 uiDiff) +{ + if (!UpdateVictim()) + return; + + DoMeleeAttackIfReady(); +} + +void FollowerAI::MovementInform(uint32 uiMotionType, uint32 uiPointId) +{ + if (uiMotionType != POINT_MOTION_TYPE || !m_bIsFollowing) + return; + + if (uiPointId == POINT_COMBAT_START) + { + if (GetLeaderForFollower()) + m_bIsReturnToLeader = true; + else + m_creature->ForcedDespawn(); + } +} + +void FollowerAI::StartFollow(Player* pLeader, uint32 uiFactionForFollower, const Quest* pQuest) +{ + if (m_creature->getVictim()) + { + debug_log("SD2: FollowerAI attempt to StartFollow while in combat."); + return; + } + + if (m_bIsFollowing) + { + error_log("SD2: FollowerAI attempt to StartFollow while already following."); + return; + } + + //set variables + m_uiLeaderGUID = pLeader->GetGUID(); + + if (uiFactionForFollower) + m_creature->setFaction(uiFactionForFollower); + + m_pQuestForFollow = pQuest; + + if (m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() == WAYPOINT_MOTION_TYPE) + { + m_creature->GetMotionMaster()->Clear(); + m_creature->GetMotionMaster()->MoveIdle(); + debug_log("SD2: FollowerAI start with WAYPOINT_MOTION_TYPE, set to MoveIdle."); + } + + m_creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); + + m_creature->GetMotionMaster()->MoveFollow(pLeader, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE); + + m_bIsFollowing = true; + + debug_log("SD2: FollowerAI start follow %s (GUID %u)", pLeader->GetName(), m_uiLeaderGUID); +} + +Player* FollowerAI::GetLeaderForFollower() +{ + if (Player* pLeader = (Player*)Unit::GetUnit(*m_creature, m_uiLeaderGUID)) + { + if (pLeader->isAlive()) + return pLeader; + else + { + if (Group* pGroup = pLeader->GetGroup()) + { + for(GroupReference* pRef = pGroup->GetFirstMember(); pRef != NULL; pRef = pRef->next()) + { + Player* pMember = pRef->getSource(); + + if (pMember && pMember->isAlive() && m_creature->IsWithinDistInMap(pMember, MAX_PLAYER_DISTANCE)) + { + debug_log("SD2: FollowerAI GetLeader changed and returned new leader."); + m_uiLeaderGUID = pMember->GetGUID(); + return pMember; + break; + } + } + } + } + } + + debug_log("SD2: FollowerAI GetLeader can not find suitable leader."); + return NULL; +} diff --git a/src/bindings/scripts/base/follower_ai.h b/src/bindings/scripts/base/follower_ai.h new file mode 100644 index 00000000000..d62980d4951 --- /dev/null +++ b/src/bindings/scripts/base/follower_ai.h @@ -0,0 +1,50 @@ +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + * This program is free software licensed under GPL version 2 + * Please see the included DOCS/LICENSE.TXT for more information */ + +#ifndef SC_FOLLOWERAI_H +#define SC_FOLLOWERAI_H + +class TRINITY_DLL_DECL FollowerAI : public ScriptedAI +{ + public: + explicit FollowerAI(Creature* pCreature); + ~FollowerAI() {} + + //virtual void WaypointReached(uint32 uiPointId) = 0; + + void MovementInform(uint32 uiMotionType, uint32 uiPointId); + + void AttackStart(Unit*); + + void MoveInLineOfSight(Unit*); + + void EnterEvadeMode(); + + void JustDied(Unit*); + + void JustRespawned(); + + void UpdateAI(const uint32); //the "internal" update, calls UpdateFollowerAI() + virtual void UpdateFollowerAI(const uint32); //used when it's needed to add code in update (abilities, scripted events, etc) + + void StartFollow(Player* pPlayer, uint32 uiFactionForFollower = 0, const Quest* pQuest = NULL); + + protected: + void SetFollowComplete() { m_bIsFollowComplete = true; } + bool IsFollowComplete() { return m_bIsFollowComplete; } + + Player* GetLeaderForFollower(); + + private: + uint64 m_uiLeaderGUID; + uint32 m_uiUpdateFollowTimer; + + bool m_bIsFollowing; + bool m_bIsReturnToLeader; + bool m_bIsFollowComplete; + + const Quest* m_pQuestForFollow; //normally we have a quest +}; + +#endif diff --git a/src/bindings/scripts/base/guard_ai.cpp b/src/bindings/scripts/base/guard_ai.cpp index 7f1daa1e2df..b55eae2dbad 100644 --- a/src/bindings/scripts/base/guard_ai.cpp +++ b/src/bindings/scripts/base/guard_ai.cpp @@ -32,6 +32,11 @@ EndScriptData */ #define SAY_GUARD_SIL_AGGRO2 -1070002 #define SAY_GUARD_SIL_AGGRO3 -1070003 +guardAI::guardAI(Creature* pCreature) : ScriptedAI(pCreature), + GlobalCooldown(0), + BuffTimer(0) +{} + void guardAI::Reset() { GlobalCooldown = 0; diff --git a/src/bindings/scripts/base/guard_ai.h b/src/bindings/scripts/base/guard_ai.h index 85baa30fb9d..a7fff32e3ab 100644 --- a/src/bindings/scripts/base/guard_ai.h +++ b/src/bindings/scripts/base/guard_ai.h @@ -9,7 +9,9 @@ struct TRINITY_DLL_DECL guardAI : public ScriptedAI { - guardAI(Creature *c) : ScriptedAI(c) {} + public: + explicit guardAI(Creature* pCreature); + ~guardAI() {} uint32 GlobalCooldown; //This variable acts like the global cooldown that players have (1.5 seconds) uint32 BuffTimer; //This variable keeps track of buffs diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp index 1d423574f42..aa64a6fcbf1 100644 --- a/src/bindings/scripts/include/sc_creature.cpp +++ b/src/bindings/scripts/include/sc_creature.cpp @@ -80,7 +80,11 @@ void SummonList::DespawnAll() } } -ScriptedAI::ScriptedAI(Creature* creature) : CreatureAI(creature), m_creature(creature), IsFleeing(false), m_bCombatMovement(true), m_uiEvadeCheckCooldown(2500) +ScriptedAI::ScriptedAI(Creature* pCreature) : CreatureAI(pCreature), + m_creature(pCreature), + IsFleeing(false), + m_bCombatMovement(true), + m_uiEvadeCheckCooldown(2500) { HeroicMode = m_creature->GetMap()->IsHeroic(); } diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h index b0a885643fc..74eea9ad599 100644 --- a/src/bindings/scripts/include/sc_creature.h +++ b/src/bindings/scripts/include/sc_creature.h @@ -41,19 +41,9 @@ class SummonList : private std::list<uint64> Creature *m_creature; }; -struct PointMovement -{ - uint32 m_uiCreatureEntry; - uint32 m_uiPointId; - float m_fX; - float m_fY; - float m_fZ; - uint32 m_uiWaitTime; -}; - struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI { - explicit ScriptedAI(Creature* creature); + explicit ScriptedAI(Creature* pCreature); ~ScriptedAI() {} //************* diff --git a/src/bindings/scripts/scripts/custom/test.cpp b/src/bindings/scripts/scripts/custom/test.cpp index 20a3e2a20e3..121f5a5ec10 100644 --- a/src/bindings/scripts/scripts/custom/test.cpp +++ b/src/bindings/scripts/scripts/custom/test.cpp @@ -22,7 +22,7 @@ SDCategory: Script Examples EndScriptData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI { diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp index bc33d9841eb..e9169ae60f6 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp @@ -26,7 +26,7 @@ npc_professor_phizzlethorpe EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_professor_phizzlethorpe @@ -55,7 +55,10 @@ struct TRINITY_DLL_DECL npc_professor_phizzlethorpeAI : public npc_escortAI void WaypointReached(uint32 uiPointId) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); + + if (!pPlayer) + return; switch(uiPointId) { diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.cpp index a9cf7b7391f..ee193df3430 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.cpp @@ -37,7 +37,7 @@ npc_rocknot EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #include "def_blackrock_depths.h" /*###### diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_ambassador_flamelash.cpp index 1f2147b722c..1f2147b722c 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_ambassador_flamelash.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_anubshiah.cpp index 3ad9458aba4..3ad9458aba4 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_anubshiah.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_emperor_dagran_thaurissan.cpp index 2b6e67a7903..2b6e67a7903 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_emperor_dagran_thaurissan.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_general_angerforge.cpp index 337071c938e..337071c938e 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_general_angerforge.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_gorosh_the_dervish.cpp index a4400e4d663..a4400e4d663 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_gorosh_the_dervish.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_grizzle.cpp index faaa8f0a069..faaa8f0a069 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_grizzle.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_high_interrogator_gerstahn.cpp index c2c97a9ec8a..c2c97a9ec8a 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_high_interrogator_gerstahn.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_magmus.cpp index d0b97116c28..d0b97116c28 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_magmus.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_moira_bronzebeard.cpp index 7602a14fbfe..7602a14fbfe 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_moira_bronzebeard.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_tomb_of_seven.cpp index d7ee6a6667c..d7ee6a6667c 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/boss_tomb_of_seven.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/def_blackrock_depths.h b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/def_blackrock_depths.h index 6ce124a7c3e..6ce124a7c3e 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/def_blackrock_depths.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/def_blackrock_depths.h diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/instance_blackrock_depths.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/instance_blackrock_depths.cpp index f8993b36124..f8993b36124 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/instance_blackrock_depths.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_depths/instance_blackrock_depths.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_drakkisath.cpp index 72bc0aa6bd2..72bc0aa6bd2 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_drakkisath.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_gyth.cpp index 4a6a01af71d..4a6a01af71d 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_gyth.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_halycon.cpp index 1727105427b..1727105427b 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_halycon.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_highlord_omokk.cpp index 06dee5b5775..06dee5b5775 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_highlord_omokk.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_mother_smolderweb.cpp index 0bc2f9d2370..0bc2f9d2370 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_mother_smolderweb.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_overlord_wyrmthalak.cpp index 0931db0319a..0931db0319a 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_overlord_wyrmthalak.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_pyroguard_emberseer.cpp index dd4479fbeaa..dd4479fbeaa 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_pyroguard_emberseer.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_quartermaster_zigris.cpp index c2db9b7f750..c2db9b7f750 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_quartermaster_zigris.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_rend_blackhand.cpp index 2899b05deb6..2899b05deb6 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_rend_blackhand.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_shadow_hunter_voshgajin.cpp index ae44306cf30..ae44306cf30 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_shadow_hunter_voshgajin.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_the_beast.cpp index 802ab32cc80..802ab32cc80 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_the_beast.cpp diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_warmaster_voone.cpp index 2257a290a1b..2257a290a1b 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackrock_spire/boss_warmaster_voone.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_broodlord_lashlayer.cpp index 48a2888c1e6..48a2888c1e6 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_broodlord_lashlayer.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_chromaggus.cpp index 7b3e04f9d37..7b3e04f9d37 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_chromaggus.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_ebonroc.cpp index 02f59819516..02f59819516 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_ebonroc.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_firemaw.cpp index bab716acffd..bab716acffd 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_firemaw.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_flamegor.cpp index 5492477193f..5492477193f 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_flamegor.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp index 4ecfda2e329..4ecfda2e329 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_razorgore.cpp index 731e32578d2..731e32578d2 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_razorgore.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp index 39fbd1f4be9..39fbd1f4be9 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_victor_nefarius.cpp index 78ed29fc27e..78ed29fc27e 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_victor_nefarius.cpp diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/instance_blackwing_lair.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/instance_blackwing_lair.cpp index 97bf717589a..97bf717589a 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/instance_blackwing_lair.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/instance_blackwing_lair.cpp diff --git a/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/deadmines/deadmines.cpp index b631c3b13e7..b631c3b13e7 100644 --- a/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/deadmines/deadmines.cpp diff --git a/src/bindings/scripts/scripts/zone/deadmines/def_deadmines.h b/src/bindings/scripts/scripts/eastern_kingdoms/deadmines/def_deadmines.h index 9b535a9fd80..9b535a9fd80 100644 --- a/src/bindings/scripts/scripts/zone/deadmines/def_deadmines.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/deadmines/def_deadmines.h diff --git a/src/bindings/scripts/scripts/zone/deadmines/instance_deadmines.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp index 35bd4cb34b5..35bd4cb34b5 100644 --- a/src/bindings/scripts/scripts/zone/deadmines/instance_deadmines.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/dun_morogh.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/dun_morogh.cpp index 7e61df13575..29731ca83e3 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/dun_morogh.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/dun_morogh.cpp @@ -43,7 +43,7 @@ struct TRINITY_DLL_DECL npc_narm_faulkAI : public ScriptedAI void Reset() { lifeTimer = 120000; - m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 32); + m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); m_creature->SetStandState(UNIT_STAND_STATE_DEAD); spellHit = false; } diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/elwynn_forest.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/elwynn_forest.cpp index 67456755cd2..e44081d72ba 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/elwynn_forest.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/elwynn_forest.cpp @@ -43,7 +43,7 @@ struct TRINITY_DLL_DECL npc_henze_faulkAI : public ScriptedAI void Reset() { lifeTimer = 120000; - m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 32); + m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); m_creature->SetStandState(UNIT_STAND_STATE_DEAD); // lay down spellHit = false; } diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp index 6c76adeaecb..f63baa7a18f 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp @@ -30,7 +30,7 @@ go_harbinger_second_trial EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_prospector_anvilward @@ -52,7 +52,7 @@ struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI // Pure Virtual Functions void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -65,21 +65,14 @@ struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI } } - void EnterCombat(Unit* who) { } - void Reset() { - m_creature->setFaction(35); + me->RestoreFaction(); } void JustDied(Unit* killer) { - m_creature->setFaction(35); - } - - void UpdateAI(const uint32 diff) - { - npc_escortAI::UpdateAI(diff); + me->RestoreFaction(); } }; diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp index c96923661de..849ed2e029a 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp @@ -29,7 +29,7 @@ npc_ranger_lilatha EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_blood_knight_dawnstar @@ -159,7 +159,7 @@ struct TRINITY_DLL_DECL npc_ranger_lilathaAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp index 46f12159acf..f8ae2bc66ff 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp @@ -17,16 +17,124 @@ /* ScriptData SDName: Hinterlands SD%Complete: 100 -SDComment: Quest support: 2742 +SDComment: Quest support: 863, 2742 SDCategory: The Hinterlands EndScriptData */ /* ContentData +npc_00x09hl npc_rinji EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" + +/*###### +## npc_00x09hl +######*/ + +enum +{ + SAY_OOX_START = -1000416, + SAY_OOX_AGGRO = -1000417, + SAY_OOX_DANGER = -1000418, + SAY_OOX_COMPLETE = -1000419, + + QUEST_RESQUE_OOX_09 = 836, + + NPC_MARAUDING_OWL = 7808, + NPC_VILE_AMBUSHER = 7809, + + FACTION_ESCORTEE_A = 774, + FACTION_ESCORTEE_H = 775 +}; + +struct MANGOS_DLL_DECL npc_00x09hlAI : public npc_escortAI +{ + npc_00x09hlAI(Creature* pCreature) : npc_escortAI(pCreature) { } + + void Reset() { } + + void WaypointReached(uint32 uiPointId) + { + switch(uiPointId) + { + case 26: + DoScriptText(SAY_OOX_DANGER, m_creature); + break; + case 43: + DoScriptText(SAY_OOX_DANGER, m_creature); + break; + case 64: + DoScriptText(SAY_OOX_COMPLETE, m_creature); + if (Player* pPlayer = GetPlayerForEscort()) + pPlayer->GroupEventHappens(QUEST_RESQUE_OOX_09, m_creature); + break; + } + } + + void WaypointStart(uint32 uiPointId) + { + switch(uiPointId) + { + case 27: + for(int i = 0; i < 3; ++i) + { + float fX, fY, fZ; + m_creature->GetRandomPoint(147.927444, -3851.513428, 130.893, 7.0f, fX, fY, fZ); + + m_creature->SummonCreature(NPC_MARAUDING_OWL, fX, fY, fZ, 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 25000); + } + break; + case 44: + for(int i = 0; i < 3; ++i) + { + float fX, fY, fZ; + m_creature->GetRandomPoint(-141.151581, -4291.213867, 120.130, 7.0f, fX, fY, fZ); + + m_creature->SummonCreature(NPC_VILE_AMBUSHER, fX, fY, fZ, 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 25000); + } + break; + } + } + + void Aggro(Unit* pWho) + { + if (pWho->GetEntry() == NPC_MARAUDING_OWL || pWho->GetEntry() == NPC_VILE_AMBUSHER) + return; + + DoScriptText(SAY_OOX_AGGRO, m_creature); + } + + void JustSummoned(Creature* pSummoned) + { + pSummoned->GetMotionMaster()->MovePoint(0, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ()); + } +}; + +bool QuestAccept_npc_00x09hl(Player* pPlayer, Creature* pCreature, const Quest* pQuest) +{ + if (pQuest->GetQuestId() == QUEST_RESQUE_OOX_09) + { + pCreature->SetStandState(UNIT_STAND_STATE_STAND); + + if (pPlayer->GetTeam() == ALLIANCE) + pCreature->setFaction(FACTION_ESCORTEE_A); + else if (pPlayer->GetTeam() == HORDE) + pCreature->setFaction(FACTION_ESCORTEE_H); + + DoScriptText(SAY_OOX_START, pCreature, pPlayer); + + if (npc_00x09hlAI* pEscortAI = CAST_AI(npc_00x09hlAI, pCreature->AI())) + pEscortAI->Start(false, false, pPlayer->GetGUID(), pQuest); + } + return true; +} + +CreatureAI* GetAI_npc_00x09hl(Creature* pCreature) +{ + return new npc_00x09hlAI(pCreature); +} /*###### ## npc_rinji @@ -139,7 +247,7 @@ struct TRINITY_DLL_DECL npc_rinjiAI : public npc_escortAI void WaypointReached(uint32 uiPointId) { - Player* pPlayer = (Player*)Unit::GetUnit(*m_creature, PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -164,39 +272,45 @@ struct TRINITY_DLL_DECL npc_rinjiAI : public npc_escortAI } } - void UpdateAI(const uint32 uiDiff) + void UpdateEscortAI(const uint32 uiDiff) { - npc_escortAI::UpdateAI(uiDiff); - - if (IsBeingEscorted && m_uiPostEventCount && !m_creature->getVictim()) + //Check if we have a current target + if (!UpdateVictim()) { - if (m_uiPostEventTimer < uiDiff) + if (IsBeingEscorted && m_uiPostEventCount) { - m_uiPostEventTimer = 3000; - - if (Unit* pPlayer = Unit::GetUnit(*m_creature, PlayerGUID)) + if (m_uiPostEventTimer < uiDiff) { - switch(m_uiPostEventCount) + m_uiPostEventTimer = 3000; + + if (Unit* pPlayer = GetPlayerForEscort()) + { + switch(m_uiPostEventCount) + { + case 1: + DoScriptText(SAY_RIN_PROGRESS_1, m_creature, pPlayer); + ++m_uiPostEventCount; + break; + case 2: + DoScriptText(SAY_RIN_PROGRESS_2, m_creature, pPlayer); + m_uiPostEventCount = 0; + break; + } + } + else { - case 1: - DoScriptText(SAY_RIN_PROGRESS_1, m_creature, pPlayer); - ++m_uiPostEventCount; - break; - case 2: - DoScriptText(SAY_RIN_PROGRESS_2, m_creature, pPlayer); - m_uiPostEventCount = 0; - break; + m_creature->ForcedDespawn(); + return; } } else - { - m_creature->ForcedDespawn(); - return; - } + m_uiPostEventTimer -= uiDiff; } - else - m_uiPostEventTimer -= uiDiff; + + return; } + + DoMeleeAttackIfReady(); } }; @@ -223,6 +337,12 @@ void AddSC_hinterlands() Script* newscript; newscript = new Script; + newscript->Name = "npc_00x09hl"; + newscript->GetAI = &GetAI_npc_00x09hl; + newscript->pQuestAccept = &QuestAccept_npc_00x09hl; + newscript->RegisterSelf(); + + newscript = new Script; newscript->Name = "npc_rinji"; newscript->GetAI = &GetAI_npc_rinji; newscript->pQuestAccept = &QuestAccept_npc_rinji; diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_curator.cpp index 218a1dafc39..218a1dafc39 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_curator.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_maiden_of_virtue.cpp index 508e718797d..508e718797d 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_maiden_of_virtue.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_midnight.cpp index 53b1c2d11b2..53b1c2d11b2 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_midnight.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_moroes.cpp index 6d871ef04b7..6d871ef04b7 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_moroes.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_netherspite.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_netherspite.cpp index fc90ff5b4f0..fc90ff5b4f0 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_netherspite.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_netherspite.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_nightbane.cpp index cf7d7237042..cf7d7237042 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_nightbane.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp index ba797dc13c2..ba797dc13c2 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_shade_of_aran.cpp index d672851315e..d672851315e 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_shade_of_aran.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_terestian_illhoof.cpp index c824f344942..c824f344942 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_terestian_illhoof.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/bosses_opera.cpp index da6f77e7c20..da6f77e7c20 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/bosses_opera.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/def_karazhan.h b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/def_karazhan.h index 67cb5e6ece5..67cb5e6ece5 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/def_karazhan.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/def_karazhan.h diff --git a/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/instance_karazhan.cpp index 2ee3f3958cf..2ee3f3958cf 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/instance_karazhan.cpp diff --git a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/karazhan.cpp index 91dd4e44ad3..cecdcc6330e 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/karazhan.cpp @@ -29,7 +29,7 @@ EndContentData */ #include "precompiled.h" #include "def_karazhan.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### # npc_barnesAI diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp index 2d6b34d64e5..2d6b34d64e5 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp index e0123a5367b..e0123a5367b 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp index 161852ed99d..161852ed99d 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp index 642d49f68ae..642d49f68ae 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/def_magisters_terrace.h b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/def_magisters_terrace.h index d6419ea409c..d6419ea409c 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/def_magisters_terrace.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/def_magisters_terrace.h diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/instance_magisters_terrace.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/instance_magisters_terrace.cpp index 4b7a68b9a61..4b7a68b9a61 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/instance_magisters_terrace.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/instance_magisters_terrace.cpp diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/magisters_terrace.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.cpp index d9b33bbf4fc..d9b33bbf4fc 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/magisters_terrace.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_baron_geddon.cpp index bd8fd74a66a..bd8fd74a66a 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_baron_geddon.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_garr.cpp index 0dbfab63044..0dbfab63044 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_garr.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_gehennas.cpp index 9b965b38375..9b965b38375 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_gehennas.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_golemagg.cpp index 800a838aabc..800a838aabc 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_golemagg.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_lucifron.cpp index 0b902d30be5..0b902d30be5 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_lucifron.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_magmadar.cpp index 4e7e8497d9a..4e7e8497d9a 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_magmadar.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_majordomo_executus.cpp index a62afe260a6..a62afe260a6 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_majordomo_executus.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_ragnaros.cpp index d665362e3b6..d665362e3b6 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_ragnaros.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_shazzrah.cpp index 928cbf70fc3..928cbf70fc3 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_shazzrah.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_sulfuron_harbinger.cpp index 56cf7fe31e3..56cf7fe31e3 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/boss_sulfuron_harbinger.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/def_molten_core.h b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/def_molten_core.h index 5874d8b9408..5874d8b9408 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/def_molten_core.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/def_molten_core.h diff --git a/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/instance_molten_core.cpp index 2ea052f0a90..2ea052f0a90 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/instance_molten_core.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/instance_molten_core.cpp diff --git a/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/molten_core.cpp index 7af3bcce6b6..7af3bcce6b6 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/molten_core.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/molten_core/molten_core.cpp diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp new file mode 100644 index 00000000000..9b086ea0853 --- /dev/null +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp @@ -0,0 +1,973 @@ +/* + * Copyright (C) 2009 Trinity <http://www.trinitycore.org/> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "precompiled.h" +#include "Vehicle.h" +#include "ObjectMgr.h" +#include "escort_ai.h" + +/*###### +##Quest 12848 +######*/ + +#define GCD_CAST 1 + +enum +{ + SPELL_SOUL_PRISON_CHAIN_SELF = 54612, + SPELL_SOUL_PRISON_CHAIN = 54613, + SPELL_DK_INITIATE_VISUAL = 51519, + + SPELL_ICY_TOUCH = 52372, + SPELL_PLAGUE_STRIKE = 52373, + SPELL_BLOOD_STRIKE = 52374, + SPELL_DEATH_COIL = 52375 +}; + +#define EVENT_ICY_TOUCH 1 +#define EVENT_PLAGUE_STRIKE 2 +#define EVENT_BLOOD_STRIKE 3 +#define EVENT_DEATH_COIL 4 + +int32 say_event_start[8] = +{ + -1609000,-1609001,-1609002,-1609003, + -1609004,-1609005,-1609006,-1609007 +}; + +int32 say_event_attack[9] = +{ + -1609008,-1609009,-1609010,-1609011,-1609012, + -1609013,-1609014,-1609015,-1609016 +}; + +uint32 acherus_soul_prison[12] = +{ + 191577, + 191580, + 191581, + 191582, + 191583, + 191584, + 191585, + 191586, + 191587, + 191588, + 191589, + 191590 +}; + +uint32 acherus_unworthy_initiate[5] = +{ + 29519, + 29520, + 29565, + 29566, + 29567 +}; + +enum UnworthyInitiatePhase +{ + PHASE_CHAINED, + PHASE_TO_EQUIP, + PHASE_EQUIPING, + PHASE_TO_ATTACK, + PHASE_ATTACKING, +}; + +struct TRINITY_DLL_DECL npc_unworthy_initiateAI : public ScriptedAI +{ + npc_unworthy_initiateAI(Creature *c) : ScriptedAI(c) + { + me->SetReactState(REACT_PASSIVE); + if (!me->GetEquipmentId()) + if (const CreatureInfo *info = GetCreatureInfo(28406)) + if (info->equipmentId) + const_cast<CreatureInfo*>(me->GetCreatureInfo())->equipmentId = info->equipmentId; + } + + bool event_startet; + uint64 event_starter; + UnworthyInitiatePhase phase; + uint32 wait_timer; + float targ_x,targ_y,targ_z; + uint64 anchorGUID; + + EventMap events; + + void Reset() + { + anchorGUID = 0; + phase = PHASE_CHAINED; + events.Reset(); + m_creature->setFaction(7); + m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2); + m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 8); + me->LoadEquipment(0, true); + event_startet = false; + } + + void EnterCombat(Unit *who) + { + events.ScheduleEvent(EVENT_ICY_TOUCH, 1000, GCD_CAST); + events.ScheduleEvent(EVENT_PLAGUE_STRIKE, 3000, GCD_CAST); + events.ScheduleEvent(EVENT_BLOOD_STRIKE, 2000, GCD_CAST); + events.ScheduleEvent(EVENT_DEATH_COIL, 5000, GCD_CAST); + } + + void MovementInform(uint32 type, uint32 id) + { + if (type != POINT_MOTION_TYPE) + return; + + if (id == 1) + { + wait_timer = 5000; + m_creature->CastSpell(m_creature,SPELL_DK_INITIATE_VISUAL,true); + + if (Unit* starter = Unit::GetUnit((*m_creature),event_starter)) + DoScriptText(say_event_attack[rand()%9],m_creature,starter); + + phase = PHASE_TO_ATTACK; + } + } + + void EventStart(Creature* anchor, Player* target) + { + wait_timer = 5000; + phase = PHASE_TO_EQUIP; + + m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); + m_creature->RemoveAurasDueToSpell(SPELL_SOUL_PRISON_CHAIN_SELF); + m_creature->RemoveAurasDueToSpell(SPELL_SOUL_PRISON_CHAIN); + + float z; + anchor->GetContactPoint(me, targ_x, targ_y, z, 1.0f); + + event_starter = target->GetGUID(); + DoScriptText(say_event_start[rand()%8], m_creature, target); + } + + void UpdateAI(const uint32 diff); +}; + +CreatureAI* GetAI_npc_unworthy_initiate(Creature* pCreature) +{ + return new npc_unworthy_initiateAI(pCreature); +} + +struct TRINITY_DLL_DECL npc_unworthy_initiate_anchorAI : public PassiveAI +{ + npc_unworthy_initiate_anchorAI(Creature *c) : PassiveAI(c), prisonerGUID(0) {} + + uint64 prisonerGUID; + + void SetGUID(const uint64 &guid, int32 id) + { + if (!prisonerGUID) + prisonerGUID = guid; + } + + uint64 GetGUID(int32 id) { return prisonerGUID; } +}; + +void npc_unworthy_initiateAI::UpdateAI(const uint32 diff) +{ + switch(phase) + { + case PHASE_CHAINED: + if (!anchorGUID) + { + float x, y, z; + float dist = 99.0f; + GameObject *prison = NULL; + + for(uint8 i = 0; i < 12; ++i) + { + if (GameObject* temp_prison = m_creature->FindNearestGameObject(acherus_soul_prison[i],30)) + { + if (dist == 99.0f || m_creature->IsWithinDist(temp_prison, dist, false)) + { + temp_prison->GetPosition(x, y, z); + dist = m_creature->GetDistance2d(temp_prison); + prison = temp_prison; + } + } + } + + if (!prison) + return; + + prison->ResetDoorOrButton(); + + if (Creature* anchor = me->FindNearestCreature(29521, 30)) + { + anchor->GetPosition(targ_x, targ_y, targ_z); + anchor->AI()->SetGUID(m_creature->GetGUID()); + anchor->CastSpell(me, SPELL_SOUL_PRISON_CHAIN, true); + anchorGUID = anchor->GetGUID(); + } + } + return; + case PHASE_TO_EQUIP: + if (wait_timer) + { + if (wait_timer < diff) + { + m_creature->GetMotionMaster()->MovePoint(1,targ_x,targ_y,m_creature->GetPositionZ()); + phase = PHASE_EQUIPING; + wait_timer = 0; + }else wait_timer -= diff; + } + return; + case PHASE_TO_ATTACK: + if (wait_timer) + { + if (wait_timer < diff) + { + m_creature->setFaction(14); + m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2); + phase = PHASE_ATTACKING; + + if (Unit* target = Unit::GetUnit((*m_creature),event_starter)) + m_creature->AI()->AttackStart(target); + wait_timer = 0; + }else wait_timer -= diff; + } + return; + case PHASE_ATTACKING: + if (!UpdateVictim()) + return; + + events.Update(diff); + + while(uint32 eventId = events.ExecuteEvent()) + { + switch(eventId) + { + case EVENT_ICY_TOUCH: + DoCast(m_creature->getVictim(), SPELL_ICY_TOUCH); + events.DelayEvents(1000, GCD_CAST); + events.ScheduleEvent(EVENT_ICY_TOUCH, 5000, GCD_CAST); + break; + case EVENT_PLAGUE_STRIKE: + DoCast(m_creature->getVictim(), SPELL_PLAGUE_STRIKE); + events.DelayEvents(1000, GCD_CAST); + events.ScheduleEvent(SPELL_PLAGUE_STRIKE, 5000, GCD_CAST); + break; + case EVENT_BLOOD_STRIKE: + DoCast(m_creature->getVictim(), SPELL_BLOOD_STRIKE); + events.DelayEvents(1000, GCD_CAST); + events.ScheduleEvent(EVENT_BLOOD_STRIKE, 5000, GCD_CAST); + break; + case EVENT_DEATH_COIL: + DoCast(m_creature->getVictim(), SPELL_DEATH_COIL); + events.DelayEvents(1000, GCD_CAST); + events.ScheduleEvent(EVENT_DEATH_COIL, 5000, GCD_CAST); + break; + } + } + + DoMeleeAttackIfReady(); + return; + } +} + +CreatureAI* GetAI_npc_unworthy_initiate_anchor(Creature* pCreature) +{ + return new npc_unworthy_initiate_anchorAI(pCreature); +} + +bool GOHello_go_acherus_soul_prison(Player* pPlayer, GameObject* pGo) +{ + if (Creature *anchor = pGo->FindNearestCreature(29521, 15)) + if (uint64 prisonerGUID = anchor->AI()->GetGUID()) + if (Creature* prisoner = Creature::GetCreature(*pPlayer, prisonerGUID)) + CAST_AI(npc_unworthy_initiateAI, (prisoner->AI()))->EventStart(anchor, pPlayer); + + return false; +} + +/*###### +## npc_death_knight_initiate +######*/ + +#define GOSSIP_ACCEPT_DUEL "I challenge you, death knight!" + +enum +{ + SAY_DUEL_A = -1609080, + SAY_DUEL_B = -1609081, + SAY_DUEL_C = -1609082, + SAY_DUEL_D = -1609083, + SAY_DUEL_E = -1609084, + SAY_DUEL_F = -1609085, + SAY_DUEL_G = -1609086, + SAY_DUEL_H = -1609087, + SAY_DUEL_I = -1609088, + + SPELL_DUEL = 52996, + SPELL_DUEL_TRIGGERED = 52990, + SPELL_DUEL_VICTORY = 52994, + SPELL_DUEL_FLAG = 52991, + + QUEST_DEATH_CHALLENGE = 12733, + FACTION_HOSTILE = 2068 +}; + +int32 m_auiRandomSay[] = +{ + SAY_DUEL_A, SAY_DUEL_B, SAY_DUEL_C, SAY_DUEL_D, SAY_DUEL_E, SAY_DUEL_F, SAY_DUEL_G, SAY_DUEL_H, SAY_DUEL_I +}; + +struct TRINITY_DLL_DECL npc_death_knight_initiateAI : public SpellAI +{ + npc_death_knight_initiateAI(Creature* pCreature) : SpellAI(pCreature) + { + m_bIsDuelInProgress = false; + } + + bool lose; + uint64 m_uiDuelerGUID; + uint32 m_uiDuelTimer; + bool m_bIsDuelInProgress; + + void Reset() + { + lose = false; + me->RestoreFaction(); + SpellAI::Reset(); + + m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15); + + m_uiDuelerGUID = 0; + m_uiDuelTimer = 5000; + m_bIsDuelInProgress = false; + } + + void SpellHit(Unit* pCaster, const SpellEntry* pSpell) + { + if (!m_bIsDuelInProgress && pSpell->Id == SPELL_DUEL_TRIGGERED) + { + m_uiDuelerGUID = pCaster->GetGUID(); + m_bIsDuelInProgress = true; + } + } + + void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) + { + if (m_bIsDuelInProgress && pDoneBy->IsControlledByPlayer()) + { + if (pDoneBy->GetGUID() != m_uiDuelerGUID && pDoneBy->GetOwnerGUID() != m_uiDuelerGUID) // other players cannot help + uiDamage = 0; + else if (uiDamage >= m_creature->GetHealth()) + { + uiDamage = 0; + + if (!lose) + { + pDoneBy->RemoveGameObject(SPELL_DUEL_FLAG, true); + pDoneBy->AttackStop(); + me->CastSpell(pDoneBy, SPELL_DUEL_VICTORY, true); + lose = true; + me->CastSpell(me, 7267, true); + me->RestoreFaction(); + } + } + } + } + + void UpdateAI(const uint32 uiDiff) + { + if (!UpdateVictim()) + { + if (m_bIsDuelInProgress) + { + if (m_uiDuelTimer < uiDiff) + { + m_creature->setFaction(FACTION_HOSTILE); + + if (Unit* pUnit = Unit::GetUnit(*m_creature, m_uiDuelerGUID)) + AttackStart(pUnit); + } + else + m_uiDuelTimer -= uiDiff; + } + return; + } + + if (m_bIsDuelInProgress) + { + if (lose) + { + if (!me->HasAura(7267)) + EnterEvadeMode(); + return; + } + else if (me->getVictim()->GetTypeId() == TYPEID_PLAYER + && me->getVictim()->GetHealth() * 10 < me->getVictim()->GetMaxHealth()) + { + me->getVictim()->CastSpell(me->getVictim(), 7267, true); // beg + me->getVictim()->RemoveGameObject(SPELL_DUEL_FLAG, true); + EnterEvadeMode(); + return; + } + } + + // TODO: spells + + SpellAI::UpdateAI(uiDiff); + } +}; + +CreatureAI* GetAI_npc_death_knight_initiate(Creature* pCreature) +{ + return new npc_death_knight_initiateAI(pCreature); +} + +bool GossipHello_npc_death_knight_initiate(Player* pPlayer, Creature* pCreature) +{ + if (pPlayer->GetQuestStatus(QUEST_DEATH_CHALLENGE) == QUEST_STATUS_INCOMPLETE && pCreature->GetHealth() == pCreature->GetMaxHealth()) + { + if (pPlayer->GetHealth() * 10 < pPlayer->GetMaxHealth()) + return true; + + if (pPlayer->isInCombat() || pCreature->isInCombat()) + return true; + + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ACCEPT_DUEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(),pCreature->GetGUID()); + } + return true; +} + +bool GossipSelect_npc_death_knight_initiate(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction) +{ + if (uiAction == GOSSIP_ACTION_INFO_DEF) + { + pPlayer->CLOSE_GOSSIP_MENU(); + + if (pPlayer->isInCombat() || pCreature->isInCombat()) + return true; + + if (npc_death_knight_initiateAI* pInitiateAI = CAST_AI(npc_death_knight_initiateAI, pCreature->AI())) + { + if (pInitiateAI->m_bIsDuelInProgress) + return true; + } + + pCreature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15); + + int32 uiSayId = rand()% (sizeof(m_auiRandomSay)/sizeof(int32)); + DoScriptText(m_auiRandomSay[uiSayId], pCreature, pPlayer); + + pCreature->CastSpell(pPlayer, SPELL_DUEL, false); + pPlayer->CastSpell(pPlayer, SPELL_DUEL_FLAG, true); + } + return true; +} + +/*###### +## npc_dark_rider_of_acherus +######*/ + +#define DESPAWN_HORSE 52267 + +struct TRINITY_DLL_DECL npc_dark_rider_of_acherusAI : public ScriptedAI +{ + npc_dark_rider_of_acherusAI(Creature *c) : ScriptedAI(c) {} + + uint32 PhaseTimer; + uint32 Phase; + bool Intro; + Unit *Target; + + void Reset() + { + PhaseTimer = 4000; + Phase = 0; + Intro = false; + Target = NULL; + } + + void UpdateAI(const uint32 diff) + { + if (!Intro) + return; + + if (PhaseTimer < diff) + { + switch(Phase) + { + case 0: + m_creature->MonsterSay("The realm of shadows awaits...", LANG_UNIVERSAL, 0); + PhaseTimer = 5000; + Phase = 1; + break; + case 1: + DoCast(Target, DESPAWN_HORSE, true); + PhaseTimer = 3000; + Phase = 2; + break; + case 2: + m_creature->SetVisibility(VISIBILITY_OFF); + PhaseTimer = 2000; + Phase = 3; + break; + case 3: + m_creature->ForcedDespawn(); + break; + default: + break; + } + }else PhaseTimer -= diff; + + } + + void InitDespawnHorse(Unit *who) + { + if (!who) + return; + + Target = who; + m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + m_creature->SetSpeed(MOVE_RUN, 0.4f); + m_creature->GetMotionMaster()->MoveChase(Target); + m_creature->SetUInt64Value(UNIT_FIELD_TARGET, Target->GetGUID()); + Intro = true; + } + +}; + +CreatureAI* GetAI_npc_dark_rider_of_acherus(Creature* pCreature) +{ + return new npc_dark_rider_of_acherusAI(pCreature); +} + +/*###### +## npc_salanar_the_horseman +######*/ + +enum +{ + REALM_OF_SHADOWS = 52693, + DELIVER_STOLEN_HORSE = 52264, + CALL_DARK_RIDER = 52266 +}; + +struct TRINITY_DLL_DECL npc_salanar_the_horsemanAI : public ScriptedAI +{ + npc_salanar_the_horsemanAI(Creature *c) : ScriptedAI(c) {} + + void SpellHit(Unit *caster, const SpellEntry *spell) + { + if (spell->Id == DELIVER_STOLEN_HORSE) + { + if (caster->GetTypeId() == TYPEID_UNIT && CAST_CRE(caster)->isVehicle()) + { + if (Unit *charmer = caster->GetCharmer()) + { + charmer->ExitVehicle(); + caster->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + caster->setFaction(35); + DoCast(caster, CALL_DARK_RIDER, true); + if (Creature* Dark_Rider = m_creature->FindNearestCreature(28654, 15)) + CAST_AI(npc_dark_rider_of_acherusAI, Dark_Rider->AI())->InitDespawnHorse(caster); + } + } + } + } + + void MoveInLineOfSight(Unit *who) + { + ScriptedAI::MoveInLineOfSight(who); + + if (who->GetTypeId() == TYPEID_UNIT && CAST_CRE(who)->isVehicle() && me->IsWithinDistInMap(who, 10.0f)) + { + if (Unit *charmer = who->GetCharmer()) + { + if (charmer->GetTypeId() == TYPEID_PLAYER) + { + switch(me->GetEntry()) + { + // for quest Into the Realm of Shadows(12687) + case 28788: + if (CAST_PLR(charmer)->GetQuestStatus(12687) == QUEST_STATUS_INCOMPLETE) + { + if (CAST_PLR(charmer)->HasAura(REALM_OF_SHADOWS)) + charmer->RemoveAurasDueToSpell(REALM_OF_SHADOWS); + CAST_PLR(charmer)->GroupEventHappens(12687, me); + } + break; + default: + return; + } + CAST_PLR(charmer)->ExitVehicle(); + CAST_CRE(who)->Respawn(true); + } + } + } + } +}; + +CreatureAI* GetAI_npc_salanar_the_horseman(Creature* pCreature) +{ + return new npc_salanar_the_horsemanAI(pCreature); +} + +/*###### +## npc_ros_dark_rider +######*/ + +struct TRINITY_DLL_DECL npc_ros_dark_riderAI : public ScriptedAI +{ + npc_ros_dark_riderAI(Creature *c) : ScriptedAI(c) {} + + void EnterCombat(Unit *who) + { + me->ExitVehicle(); + } + + void Reset() + { + Creature* deathcharger = me->FindNearestCreature(28782, 30); + if (!deathcharger) return; + deathcharger->RestoreFaction(); + deathcharger->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + deathcharger->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + if (!me->m_Vehicle && deathcharger->isVehicle() && CAST_VEH(deathcharger)->HasEmptySeat(0)) + me->EnterVehicle(CAST_VEH(deathcharger)); + } + + void JustDied(Unit *killer) + { + Creature* deathcharger = me->FindNearestCreature(28782, 30); + if (!deathcharger) return; + if (killer->GetTypeId() == TYPEID_PLAYER && deathcharger->GetTypeId() == TYPEID_UNIT && deathcharger->isVehicle()) + { + deathcharger->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + deathcharger->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + deathcharger->setFaction(2096); + } + } +}; + +CreatureAI* GetAI_npc_ros_dark_rider(Creature* pCreature) +{ + return new npc_ros_dark_riderAI(pCreature); +} + +// correct way: 52312 52314 52555 ... +struct TRINITY_DLL_DECL npc_dkc1_gothikAI : public ScriptedAI +{ + npc_dkc1_gothikAI(Creature *c) : ScriptedAI(c) {} + + void MoveInLineOfSight(Unit *who) + { + ScriptedAI::MoveInLineOfSight(who); + + if (who->GetEntry() == 28845 && me->IsWithinDistInMap(who, 10.0f)) + { + if (Unit *owner = who->GetOwner()) + { + if (owner->GetTypeId() == TYPEID_PLAYER) + { + if (CAST_PLR(owner)->GetQuestStatus(12698) == QUEST_STATUS_INCOMPLETE) + { + CAST_CRE(who)->CastSpell(owner, 52517, true); + CAST_CRE(who)->ForcedDespawn(); + } + } + } + } + } +}; + +CreatureAI* GetAI_npc_dkc1_gothik(Creature* pCreature) +{ + return new npc_dkc1_gothikAI(pCreature); +} + +/*#### +## npc_scarlet_miner_cart +####*/ + +#define SPELL_CART_CHECK 54173 +#define SPELL_CART_DRAG 52465 + +struct TRINITY_DLL_DECL npc_scarlet_miner_cartAI : public PassiveAI +{ + npc_scarlet_miner_cartAI(Creature *c) : PassiveAI(c), minerGUID(0) + { + me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2); + me->SetDisplayId(me->GetCreatureInfo()->DisplayID_A[0]); // H0 is horse + } + + uint64 minerGUID; + + void SetGUID(const uint64 &guid, int32 id) + { + minerGUID = guid; + } + + void DoAction(const int32 param) + { + if(Creature *miner = Unit::GetCreature(*me, minerGUID)) + { + // very bad visual effect + me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + //me->SetSpeed(MOVE_WALK, miner->GetSpeed(MOVE_WALK)); + me->SetSpeed(MOVE_RUN, miner->GetSpeed(MOVE_RUN)); + me->GetMotionMaster()->MoveFollow(miner, 1.0f, 0); + } + } + + void PassengerLeft(Unit *who, int8 seatId) + { + if(Creature *miner = Unit::GetCreature(*me, minerGUID)) + miner->DisappearAndDie(); + } +}; + +CreatureAI* GetAI_npc_scarlet_miner_cart(Creature *_Creature) +{ + return new npc_scarlet_miner_cartAI(_Creature); +} + +/*#### +## npc_scarlet_miner +####*/ + +struct TRINITY_DLL_DECL npc_scarlet_minerAI : public npc_escortAI +{ + npc_scarlet_minerAI(Creature *c) : npc_escortAI(c) + { + me->SetReactState(REACT_PASSIVE); + } + + uint32 IntroTimer; + uint32 IntroPhase; + uint64 carGUID; + + void Reset() + { + carGUID = 0; + IntroTimer = 0; + IntroPhase = 0; + } + + void InitWaypoint() + { + AddWaypoint(1, 2389.03, -5902.74, 109.014, 5000); + AddWaypoint(2, 2341.812012, -5900.484863, 102.619743); + AddWaypoint(3, 2306.561279, -5901.738281, 91.792419 ); + AddWaypoint(4, 2300.098389, -5912.618652, 86.014885 ); + AddWaypoint(5, 2294.142090, -5927.274414, 75.316849 ); + AddWaypoint(6, 2286.984375, -5944.955566, 63.714966 ); + AddWaypoint(7, 2280.001709, -5961.186035, 54.228283 ); + AddWaypoint(8, 2259.389648, -5974.197754, 42.359348 ); + AddWaypoint(9, 2242.882812, -5984.642578, 32.827850 ); + AddWaypoint(10, 2217.265625, -6028.959473, 7.675705 ); + AddWaypoint(11, 2202.595947, -6061.325684, 5.882018 ); + AddWaypoint(12, 2188.974609, -6080.866699, 3.370027 ); + + if(rand()%2) + { + AddWaypoint(13, 2176.483887, -6110.407227, 1.855181 ); + AddWaypoint(14, 2172.516602, -6146.752441, 1.074235 ); + AddWaypoint(15, 2138.918457, -6158.920898, 1.342926 ); + AddWaypoint(16, 2129.866699, -6174.107910, 4.380779 ); + AddWaypoint(17, 2117.709473, -6193.830078, 13.3542, 10000); + } + else + { + AddWaypoint(13, 2184.190186, -6166.447266, 0.968877 ); + AddWaypoint(14, 2234.265625, -6163.741211, 0.916021 ); + AddWaypoint(15, 2268.071777, -6158.750977, 1.822252 ); + AddWaypoint(16, 2270.028320, -6176.505859, 6.340538 ); + AddWaypoint(17, 2271.739014, -6195.401855, 13.3542, 10000); + } + } + + void InitCartQuest(Player *who) + { + carGUID = who->m_Vehicle->GetGUID(); + InitWaypoint(); + Start(false, false, who->GetGUID()); + SetDespawnAtFar(false); + } + + void WaypointReached(uint32 i) + { + switch (i) + { + case 1: + if(Unit *car = Unit::GetCreature(*me, carGUID)) + { + me->SetInFront(car); + me->SendMovementFlagUpdate(); + } + me->MonsterSay("Where'd this come from? I better get this down to the ships before the foreman sees it!",LANG_UNIVERSAL,NULL); + SetRun(true); + IntroTimer = 4000; + IntroPhase = 1; + break; + case 17: + if(Unit *car = Unit::GetCreature(*me, carGUID)) + { + me->SetInFront(car); + me->SendMovementFlagUpdate(); + car->Relocate(car->GetPositionX(), car->GetPositionY(), me->GetPositionZ()); + car->SendMonsterStop(); + //this make player fall under ground, dunno why + //car->GetMotionMaster()->MovePoint(0, car->GetPositionX(), car->GetPositionY(), me->GetPositionZ()); + car->RemoveAura(SPELL_CART_DRAG); + } + me->MonsterSay("Now I can have a rest!",LANG_UNIVERSAL,NULL); + break; + default: + break; + } + } + + void UpdateAI(const uint32 diff) + { + if (IntroPhase) + { + if (IntroTimer < diff) + { + if (IntroPhase == 1) + { + if(Creature *car = Unit::GetCreature(*me, carGUID)) + DoCast(car, SPELL_CART_DRAG); + IntroTimer = 800; + IntroPhase = 2; + } + else + { + if(Creature *car = Unit::GetCreature(*me, carGUID)) + car->AI()->DoAction(); + IntroPhase = 0; + } + }else IntroTimer-=diff; + } + npc_escortAI::UpdateAI(diff); + } +}; + +CreatureAI* GetAI_npc_scarlet_miner(Creature *_Creature) +{ + return new npc_scarlet_minerAI(_Creature); +} + +/*###### +## go_inconspicuous_mine_car +######*/ + +#define SPELL_CART_SUMM 52463 + +bool GOHello_go_inconspicuous_mine_car(Player* pPlayer, GameObject* pGO) +{ + if (pPlayer->GetQuestStatus(12701) == QUEST_STATUS_INCOMPLETE) + { + // Hack Why Trinity Dont Support Custom Summon Location + if(Creature *miner = pPlayer->SummonCreature(28841, 2383.869629, -5900.312500, 107.996086, pPlayer->GetOrientation(),TEMPSUMMON_DEAD_DESPAWN, 1)) + { + pPlayer->CastSpell(pPlayer, SPELL_CART_SUMM, true); + if(Vehicle *car = pPlayer->m_Vehicle) + { + if(car->GetEntry() == 28817) + { + car->AI()->SetGUID(miner->GetGUID()); + CAST_AI(npc_scarlet_minerAI, miner->AI())->InitCartQuest(pPlayer); + }else error_log("TSCR: GOHello_go_inconspicuous_mine_car vehicle entry is not correct."); + }else error_log("TSCR: GOHello_go_inconspicuous_mine_car player is not on the vehicle."); + }else error_log("TSCR: GOHello_go_inconspicuous_mine_car Scarlet Miner cant be found by script."); + } + return true; +} + +// npc 28912 quest 17217 boss 29001 mob 29007 go 191092 + +void AddSC_the_scarlet_enclave_c1() +{ + Script *newscript; + + // 12848 The Endless Hunger + newscript = new Script; + newscript->Name="npc_unworthy_initiate"; + newscript->GetAI = &GetAI_npc_unworthy_initiate; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="npc_unworthy_initiate_anchor"; + newscript->GetAI = &GetAI_npc_unworthy_initiate_anchor; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="go_acherus_soul_prison"; + newscript->pGOHello = &GOHello_go_acherus_soul_prison; + newscript->RegisterSelf(); + + // Death's Challenge + newscript = new Script; + newscript->Name="npc_death_knight_initiate"; + newscript->GetAI = &GetAI_npc_death_knight_initiate; + newscript->pGossipHello = &GossipHello_npc_death_knight_initiate; + newscript->pGossipSelect = &GossipSelect_npc_death_knight_initiate; + newscript->RegisterSelf(); + + // 12680 Grand Theft Palomino + newscript = new Script; + newscript->Name="npc_salanar_the_horseman"; + newscript->GetAI = &GetAI_npc_salanar_the_horseman; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="npc_dark_rider_of_acherus"; + newscript->GetAI = &GetAI_npc_dark_rider_of_acherus; + newscript->RegisterSelf(); + + // 12687 Into the Realm of Shadows + newscript = new Script; + newscript->Name="npc_ros_dark_rider"; + newscript->GetAI = &GetAI_npc_ros_dark_rider; + newscript->RegisterSelf(); + + // 12698 The Gift That Keeps On Giving + newscript = new Script; + newscript->Name="npc_dkc1_gothik"; + newscript->GetAI = &GetAI_npc_dkc1_gothik; + newscript->RegisterSelf(); + + // Massacre At Light's Point + newscript = new Script; + newscript->Name="npc_scarlet_miner"; + newscript->GetAI = &GetAI_npc_scarlet_miner; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="npc_scarlet_miner_cart"; + newscript->GetAI = &GetAI_npc_scarlet_miner_cart; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="go_inconspicuous_mine_car"; + newscript->pGOHello = &GOHello_go_inconspicuous_mine_car; + newscript->RegisterSelf(); +} diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp new file mode 100644 index 00000000000..87033b9899f --- /dev/null +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp @@ -0,0 +1,2225 @@ +/* + * Copyright (C) 2009 Trinity <http://www.trinitycore.org/> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "precompiled.h" +#include "escort_ai.h" + +//How to win friends and influence enemies +enum win_friends +{ + SAY_PERSUADE1 = -1609501, + SAY_PERSUADE2 = -1609502, + SAY_PERSUADE3 = -1609503, + SAY_PERSUADE4 = -1609504, + SAY_PERSUADE5 = -1609505, + SAY_PERSUADE6 = -1609506, + SAY_PERSUADE7 = -1609507, + SAY_CRUSADER1 = -1609508, + SAY_CRUSADER2 = -1609509, + SAY_CRUSADER3 = -1609510, + SAY_CRUSADER4 = -1609511, + SAY_CRUSADER5 = -1609512, + SAY_CRUSADER6 = -1609513, + SAY_PERSUADED1 = -1609514, + SAY_PERSUADED2 = -1609515, + SAY_PERSUADED3 = -1609516, + SAY_PERSUADED4 = -1609517, + SAY_PERSUADED5 = -1609518, + SAY_PERSUADED6 = -1609519, + SPELL_PERSUASIVE_STRIKE = 52781 +}; + +struct TRINITY_DLL_DECL npc_crusade_persuadedAI : public ScriptedAI +{ + npc_crusade_persuadedAI(Creature *pCreature) : ScriptedAI(pCreature) {} + + uint32 uiSpeech_timer; + uint32 uiSpeech_counter; + uint64 uiPlayerGUID; + + void Reset() + { + uiSpeech_timer = 0; + uiSpeech_counter = 0; + uiPlayerGUID = 0; + me->SetReactState(REACT_AGGRESSIVE); + } + + void SpellHit(Unit *caster, const SpellEntry *spell) + { + if (spell->Id == SPELL_PERSUASIVE_STRIKE && caster->GetTypeId() == TYPEID_PLAYER && me->isAlive() && !uiSpeech_counter) + { + if(CAST_PLR(caster)->GetQuestStatus(12720) == QUEST_STATUS_INCOMPLETE) + { + if (rand()%100 < 5) // chance + { + uiPlayerGUID = caster->GetGUID(); + uiSpeech_timer = 1000; + uiSpeech_counter = 1; + me->setFaction(35); + me->CombatStop(true); + me->GetMotionMaster()->MoveIdle(); + me->SetReactState(REACT_PASSIVE); + + switch(rand()%6) + { + case 0: DoScriptText(SAY_PERSUADE1, caster);break; + case 1: DoScriptText(SAY_PERSUADE2, caster);break; + case 2: DoScriptText(SAY_PERSUADE3, caster);break; + case 3: DoScriptText(SAY_PERSUADE4, caster);break; + case 4: DoScriptText(SAY_PERSUADE5, caster);break; + case 5: DoScriptText(SAY_PERSUADE6, caster);break; + case 6: DoScriptText(SAY_PERSUADE7, caster);break; + } + + switch(rand()%5) + { + case 0: DoScriptText(SAY_CRUSADER1, me);break; + case 1: DoScriptText(SAY_CRUSADER2, me);break; + case 2: DoScriptText(SAY_CRUSADER3, me);break; + case 3: DoScriptText(SAY_CRUSADER4, me);break; + case 4: DoScriptText(SAY_CRUSADER5, me);break; + case 5: DoScriptText(SAY_CRUSADER6, me);break; + } + } + } + } + } + + void UpdateAI(const uint32 diff) + { + if (uiSpeech_counter) + { + if (uiSpeech_timer < diff) + { + Player* pPlayer = Unit::GetPlayer(uiPlayerGUID); + if(!pPlayer) + { + EnterEvadeMode(); + return; + } + + switch(uiSpeech_counter) + { + case 1: DoScriptText(SAY_PERSUADED1, me); uiSpeech_timer = 8000; break; + case 2: DoScriptText(SAY_PERSUADED2, me); uiSpeech_timer = 8000; break; + case 3: DoScriptText(SAY_PERSUADED3, me); uiSpeech_timer = 8000; break; + case 4: DoScriptText(SAY_PERSUADED4, me); uiSpeech_timer = 8000; break; + case 5: DoScriptText(SAY_PERSUADED5, pPlayer); uiSpeech_timer = 8000; break; + case 6: DoScriptText(SAY_PERSUADED6, me); + me->RestoreFaction(); + pPlayer->Kill(me); + //me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + //me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + uiSpeech_counter = 0; + if(pPlayer->GetQuestStatus(12720) == QUEST_STATUS_INCOMPLETE) + pPlayer->AreaExploredOrEventHappens(12720); + return; + } + + ++uiSpeech_counter; + }else uiSpeech_timer -= diff; + + return; + } + + if(!UpdateVictim()) + return; + + DoMeleeAttackIfReady(); + } +}; + +CreatureAI* GetAI_npc_crusade_persuaded(Creature* pCreature) +{ + return new npc_crusade_persuadedAI (pCreature); +} + +/*###### +## npc_koltira_deathweaver +######*/ + +enum eKoltira +{ + SAY_BREAKOUT1 = -1609561, + SAY_BREAKOUT2 = -1609562, + SAY_BREAKOUT3 = -1609563, + SAY_BREAKOUT4 = -1609564, + SAY_BREAKOUT5 = -1609565, + SAY_BREAKOUT6 = -1609566, + SAY_BREAKOUT7 = -1609567, + SAY_BREAKOUT8 = -1609568, + SAY_BREAKOUT9 = -1609569, + SAY_BREAKOUT10 = -1609570, + + SPELL_KOLTIRA_TRANSFORM = 52899, + SPELL_ANTI_MAGIC_ZONE = 52894, + + QUEST_BREAKOUT = 12727, + + NPC_CRIMSON_ACOLYTE = 29007, + NPC_HIGH_INQUISITOR_VALROTH = 29001, + NPC_KOLTIRA_ALT = 28447, + + //not sure about this id + //NPC_DEATH_KNIGHT_MOUNT = 29201, + MODEL_DEATH_KNIGHT_MOUNT = 25278 +}; + +struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI +{ + npc_koltira_deathweaverAI(Creature *pCreature) : npc_escortAI(pCreature) { } + + uint32 m_uiWave; + uint32 m_uiWave_Timer; + uint64 m_uiValrothGUID; + + void Reset() + { + if (!IsBeingEscorted) + { + m_uiWave = 0; + m_uiWave_Timer = 3000; + m_uiValrothGUID = 0; + } + } + + void WaypointReached(uint32 uiPointId) + { + switch(uiPointId) + { + case 0: + DoScriptText(SAY_BREAKOUT1, me); + break; + case 1: + me->SetStandState(UNIT_STAND_STATE_KNEEL); + break; + case 2: + me->SetStandState(UNIT_STAND_STATE_STAND); + //me->UpdateEntry(NPC_KOLTIRA_ALT); //unclear if we must update or not + DoCast(me, SPELL_KOLTIRA_TRANSFORM); + break; + case 3: + IsOnHold = true; + me->SetStandState(UNIT_STAND_STATE_KNEEL); + DoScriptText(SAY_BREAKOUT2, me); + DoCast(me, SPELL_ANTI_MAGIC_ZONE); // cast again that makes bubble up + break; + case 4: + SetRun(true); + break; + case 9: + me->Mount(MODEL_DEATH_KNIGHT_MOUNT); + break; + case 10: + me->Unmount(); + break; + } + } + + void JustSummoned(Creature* pSummoned) + { + if (Player* pPlayer = GetPlayerForEscort()) + { + pSummoned->AI()->AttackStart(pPlayer); + pSummoned->AddThreat(me, 0.0f); + } + + if (pSummoned->GetEntry() == NPC_HIGH_INQUISITOR_VALROTH) + m_uiValrothGUID = pSummoned->GetGUID(); + } + + void SummonAcolyte(uint32 uiAmount) + { + for(uint32 i = 0; i < uiAmount; ++i) + me->SummonCreature(NPC_CRIMSON_ACOLYTE, 1642.329, -6045.818, 127.583, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); + } + + void UpdateAI(const uint32 uiDiff) + { + npc_escortAI::UpdateAI(uiDiff); + + if (IsOnHold) + { + if (m_uiWave_Timer < uiDiff) + { + switch(m_uiWave) + { + case 0: + DoScriptText(SAY_BREAKOUT3, me); + SummonAcolyte(3); + m_uiWave_Timer = 20000; + break; + case 1: + DoScriptText(SAY_BREAKOUT4, me); + SummonAcolyte(3); + m_uiWave_Timer = 20000; + break; + case 2: + DoScriptText(SAY_BREAKOUT5, me); + SummonAcolyte(4); + m_uiWave_Timer = 20000; + break; + case 3: + DoScriptText(SAY_BREAKOUT6, me); + me->SummonCreature(NPC_HIGH_INQUISITOR_VALROTH, 1642.329, -6045.818, 127.583, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000); + m_uiWave_Timer = 1000; + break; + case 4: + { + Unit* pTemp = Unit::GetUnit(*me, m_uiValrothGUID); + + if (!pTemp || !pTemp->isAlive()) + { + DoScriptText(SAY_BREAKOUT8, me); + m_uiWave_Timer = 5000; + } + else + { + m_uiWave_Timer = 2500; + return; //return, we don't want m_uiWave to increment now + } + break; + } + case 5: + DoScriptText(SAY_BREAKOUT9, me); + me->RemoveAurasDueToSpell(SPELL_ANTI_MAGIC_ZONE); + m_uiWave_Timer = 2500; + break; + case 6: + DoScriptText(SAY_BREAKOUT10, me); + IsOnHold = false; + break; + } + + ++m_uiWave; + } + else + m_uiWave_Timer -= uiDiff; + } + } +}; + +CreatureAI* GetAI_npc_koltira_deathweaver(Creature* pCreature) +{ + return new npc_koltira_deathweaverAI(pCreature); +} + +bool QuestAccept_npc_koltira_deathweaver(Player* pPlayer, Creature* pCreature, const Quest* pQuest) +{ + if (pQuest->GetQuestId() == QUEST_BREAKOUT) + { + pCreature->SetStandState(UNIT_STAND_STATE_STAND); + + if (npc_escortAI* pEscortAI = CAST_AI(npc_koltira_deathweaverAI,pCreature->AI())) + pEscortAI->Start(false, false, pPlayer->GetGUID()); + } + return true; +} + +//Scarlet courier +enum scarletcourier +{ + SAY_TREE1 = -1609531, + SAY_TREE2 = -1609532, + SPELL_SHOOT = 52818, + GO_INCONSPICUOUS_TREE = 191144, + NPC_SCARLET_COURIER = 29076 +}; + +struct TRINITY_DLL_DECL mob_scarlet_courierAI : public ScriptedAI +{ + mob_scarlet_courierAI(Creature *pCreature) : ScriptedAI(pCreature) + { + Reset(); + } + + uint32 uiStage; + uint32 uiStage_timer; + uint64 pPlayer; + + void Reset() { + uiStage = 0; + uiStage_timer = 3000; + pPlayer = 0; + } + + void MovementInform(uint32 type, uint32 id) + { + if(type != POINT_MOTION_TYPE) + return; + + switch(id) + { + case 0: + uiStage = 1; + break; + case 1: + uiStage = 2; + break; + } + } + + void UpdateAI(const uint32 diff) + { + if (uiStage_timer < diff) + { + switch(uiStage) + { + case 1: + { + me->GetMotionMaster()->Clear(false); + me->GetMotionMaster()->MoveIdle(); + me->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + + if (GameObject* treeGO = me->FindNearestGameObject(GO_INCONSPICUOUS_TREE, 40.0f)) + { + DoScriptText(SAY_TREE1, me); + me->GetMotionMaster()->MovePoint(1, treeGO->GetPositionX(), treeGO->GetPositionY(), treeGO->GetPositionZ()); + } + uiStage = 0; + } break; + case 2: + { + me->GetMotionMaster()->Clear(false); + me->GetMotionMaster()->MoveIdle(); + DoScriptText(SAY_TREE2, me); + me->Unmount(); + //who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); + uiStage = 0; + } break; + } + uiStage_timer = 3000; + }else uiStage_timer -= diff; + + DoMeleeAttackIfReady(); + } +}; +struct TRINITY_DLL_DECL mob_scarlet_courier_controllerAI : public ScriptedAI +{ + mob_scarlet_courier_controllerAI(Creature *pCreature) : ScriptedAI(pCreature) + { + Reset(); + } + + bool bAmbush_overlook; + + void Reset() { + bAmbush_overlook = false; + } + + void UpdateAI(const uint32 diff) + { + GameObject* treeGO = me->FindNearestGameObject(GO_INCONSPICUOUS_TREE, 40.0f); + if(treeGO && bAmbush_overlook == false) + { + Unit* pCourier = me->SummonCreature(NPC_SCARLET_COURIER, 1461.65, -6010.34, 116.369, 0, TEMPSUMMON_TIMED_DESPAWN, 180000); + pCourier->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pCourier->Mount(14338); // not sure about this id + pCourier->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()); + bAmbush_overlook = true; + } + if(!treeGO && bAmbush_overlook == true) + bAmbush_overlook = false; + } +}; +CreatureAI* GetAI_mob_scarlet_courier_controller(Creature* pCreature) +{ + return new mob_scarlet_courier_controllerAI (pCreature); +} + +CreatureAI* GetAI_mob_scarlet_courier(Creature* pCreature) +{ + return new mob_scarlet_courierAI (pCreature); +} + +//Koltira & Valroth- Breakout + + +enum valroth +{ + SAY_VALROTH1 = -1609581, + SAY_VALROTH2 = -1609582, + SAY_VALROTH3 = -1609583, + SAY_VALROTH4 = -1609584, + SAY_VALROTH5 = -1609585, + SAY_VALROTH6 = -1609586, + SPELL_RENEW = 38210, + SPELL_INQUISITOR_PENANCE = 52922, + SPELL_VALROTH_SMITE = 52926, + SPELL_SUMMON_VALROTH_REMAINS = 52929 +}; + +struct TRINITY_DLL_DECL mob_high_inquisitor_valrothAI : public ScriptedAI +{ + mob_high_inquisitor_valrothAI(Creature *pCreature) : ScriptedAI(pCreature) + { + Reset(); + } + + uint32 uiRenew_timer; + uint32 uiInquisitor_Penance_timer; + uint32 uiValroth_Smite_timer; + + void Reset() { + uiRenew_timer = 1000; + uiInquisitor_Penance_timer = 2000; + uiValroth_Smite_timer = 1000; + } + + void Aggro(Unit* who){ + DoScriptText(SAY_VALROTH2, me); + DoCast(who, SPELL_VALROTH_SMITE); + } + + void UpdateAI(const uint32 diff) + { + if (uiRenew_timer < diff) + { + Shout(); + DoCast(me, SPELL_RENEW); + uiRenew_timer = 1000 + rand()%5000; + }else uiRenew_timer -= diff; + + if (uiInquisitor_Penance_timer < diff) + { + Shout(); + DoCast(me->getVictim(), SPELL_INQUISITOR_PENANCE); + uiInquisitor_Penance_timer = 2000 + rand()%5000; + }else uiInquisitor_Penance_timer -= diff; + + if (uiValroth_Smite_timer < diff) + { + Shout(); + DoCast(me->getVictim(), SPELL_VALROTH_SMITE); + uiValroth_Smite_timer = 1000 + rand()%5000; + }else uiValroth_Smite_timer -= diff; + + DoMeleeAttackIfReady(); + } + + void Shout() + { + switch(rand()%20) + { + case 0: DoScriptText(SAY_VALROTH3, me);break; + case 1: DoScriptText(SAY_VALROTH4, me);break; + case 2: DoScriptText(SAY_VALROTH5, me);break; + } + } + + void JustDied(Unit* killer) + { + DoScriptText(SAY_VALROTH6, me); + killer->CastSpell(me, SPELL_SUMMON_VALROTH_REMAINS, true); + } +}; + +CreatureAI* GetAI_mob_high_inquisitor_valroth(Creature* pCreature) +{ + return new mob_high_inquisitor_valrothAI (pCreature); +} + +//Light of Dawn +enum mograine +{ + ENCOUNTER_DK_NUMBER = 5, // how many player queue to start the quest , or - + ENCOUNTER_DK_TIMER = 10, // *every 5 minutes. These have to be done in instance data + ENCOUNTER_DEFENDER_NUMBER = 20, // how many of defender + ENCOUNTER_EARTHSHATTER_NUMBER = 20, // how many of earthshatter + ENCOUNTER_ABOMINATION_NUMBER = 3, // how many of abomination + ENCOUNTER_BEHEMOTH_NUMBER = 2, // how many of behemoth + ENCOUNTER_GHOUL_NUMBER = 10, // how many of ghoul + ENCOUNTER_WARRIOR_NUMBER = 2, // how many of warrior + ENCOUNTER_TOTAL_DAWN = 300, // Total number + ENCOUNTER_TOTAL_SCOURGE = 10000, + + WORLD_STATE_REMAINS = 3592, + WORLD_STATE_COUNTDOWN = 3603, + WORLD_STATE_EVENT_BEGIN = 3605, + + SAY_LIGHT_OF_DAWN01 = -1609201, // pre text + SAY_LIGHT_OF_DAWN02 = -1609202, + SAY_LIGHT_OF_DAWN03 = -1609203, + SAY_LIGHT_OF_DAWN04 = -1609204, // intro + SAY_LIGHT_OF_DAWN05 = -1609205, + SAY_LIGHT_OF_DAWN06 = -1609206, + SAY_LIGHT_OF_DAWN07 = -1609207, // During the fight - Korfax, Champion of the Light + SAY_LIGHT_OF_DAWN08 = -1609208, // Lord Maxwell Tyrosus + SAY_LIGHT_OF_DAWN09 = -1609209, // Highlord Darion Mograine + SAY_LIGHT_OF_DAWN10 = -1609210, + SAY_LIGHT_OF_DAWN11 = -1609211, + SAY_LIGHT_OF_DAWN12 = -1609212, + SAY_LIGHT_OF_DAWN13 = -1609213, + SAY_LIGHT_OF_DAWN14 = -1609214, + SAY_LIGHT_OF_DAWN15 = -1609215, + SAY_LIGHT_OF_DAWN16 = -1609216, + SAY_LIGHT_OF_DAWN17 = -1609217, + SAY_LIGHT_OF_DAWN18 = -1609218, + SAY_LIGHT_OF_DAWN19 = -1609219, + SAY_LIGHT_OF_DAWN20 = -1609220, + SAY_LIGHT_OF_DAWN21 = -1609221, + SAY_LIGHT_OF_DAWN22 = -1609222, + SAY_LIGHT_OF_DAWN23 = -1609223, + SAY_LIGHT_OF_DAWN24 = -1609224, + SAY_LIGHT_OF_DAWN25 = -1609225, // After the fight + SAY_LIGHT_OF_DAWN26 = -1609226, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN27 = -1609227, // Highlord Darion Mograine + SAY_LIGHT_OF_DAWN28 = -1609228, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN29 = -1609229, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN30 = -1609230, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN31 = -1609231, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN32 = -1609232, // Highlord Alexandros Mograine + SAY_LIGHT_OF_DAWN33 = -1609233, // Highlord Darion Mograine + SAY_LIGHT_OF_DAWN34 = -1609234, // Highlord Darion Mograine + SAY_LIGHT_OF_DAWN35 = -1609235, // Darion Mograine + SAY_LIGHT_OF_DAWN36 = -1609236, // Darion Mograine + SAY_LIGHT_OF_DAWN37 = -1609237, // Highlord Alexandros Mograine + SAY_LIGHT_OF_DAWN38 = -1609238, // Darion Mograine + SAY_LIGHT_OF_DAWN39 = -1609239, // Highlord Alexandros Mograine + SAY_LIGHT_OF_DAWN40 = -1609240, // Darion Mograine + SAY_LIGHT_OF_DAWN41 = -1609241, // Highlord Alexandros Mograine + SAY_LIGHT_OF_DAWN42 = -1609242, // Highlord Alexandros Mograine + SAY_LIGHT_OF_DAWN43 = -1609243, // The Lich King + SAY_LIGHT_OF_DAWN44 = -1609244, // Highlord Darion Mograine + SAY_LIGHT_OF_DAWN45 = -1609245, // The Lich King + SAY_LIGHT_OF_DAWN46 = -1609246, // The Lich King + SAY_LIGHT_OF_DAWN47 = -1609247, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN48 = -1609248, // The Lich King + SAY_LIGHT_OF_DAWN49 = -1609249, // The Lich King + SAY_LIGHT_OF_DAWN50 = -1609250, // Lord Maxwell Tyrosus + SAY_LIGHT_OF_DAWN51 = -1609251, // The Lich King + SAY_LIGHT_OF_DAWN52 = -1609252, // Highlord Darion Mograine + SAY_LIGHT_OF_DAWN53 = -1609253, // Highlord Darion Mograine + SAY_LIGHT_OF_DAWN54 = -1609254, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN55 = -1609255, // The Lich King + SAY_LIGHT_OF_DAWN56 = -1609256, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN57 = -1609257, // The Lich King + SAY_LIGHT_OF_DAWN58 = -1609258, // The Lich King + SAY_LIGHT_OF_DAWN59 = -1609259, // The Lich King + SAY_LIGHT_OF_DAWN60 = -1609260, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN61 = -1609261, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN62 = -1609262, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN63 = -1609263, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN64 = -1609264, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN65 = -1609265, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN66 = -1609266, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN67 = -1609267, // Highlord Tirion Fordring + SAY_LIGHT_OF_DAWN68 = -1609268, // Highlord Darion Mograine + + EMOTE_LIGHT_OF_DAWN01 = -1609269, // Emotes + EMOTE_LIGHT_OF_DAWN02 = -1609270, + EMOTE_LIGHT_OF_DAWN03 = -1609271, + EMOTE_LIGHT_OF_DAWN04 = -1609272, + EMOTE_LIGHT_OF_DAWN05 = -1609273, + EMOTE_LIGHT_OF_DAWN06 = -1609274, + EMOTE_LIGHT_OF_DAWN07 = -1609275, + EMOTE_LIGHT_OF_DAWN08 = -1609276, + EMOTE_LIGHT_OF_DAWN09 = -1609277, + EMOTE_LIGHT_OF_DAWN10 = -1609278, + EMOTE_LIGHT_OF_DAWN11 = -1609279, + EMOTE_LIGHT_OF_DAWN12 = -1609280, + EMOTE_LIGHT_OF_DAWN13 = -1609281, + EMOTE_LIGHT_OF_DAWN14 = -1609282, + EMOTE_LIGHT_OF_DAWN15 = -1609283, + EMOTE_LIGHT_OF_DAWN16 = -1609284, + EMOTE_LIGHT_OF_DAWN17 = -1609285, + EMOTE_LIGHT_OF_DAWN18 = -1609286, + + GO_LIGHT_OF_DAWN = 191330, + SPELL_THE_LIGHT_OF_DAWN_Q = 53606, // quest credit + + // ---- Dark Knight npc -------------------- + // Highlord Darion Mograine + NPC_HIGHLORD_DARION_MOGRAINE = 29173, + SPELL_ANTI_MAGIC_ZONE1 = 52893, + SPELL_DEATH_STRIKE = 53639, + SPELL_DEATH_EMBRACE = 53635, + SPELL_ICY_TOUCH1 = 49723, + SPELL_THE_LIGHT_OF_DAWN = 53658, + SPELL_THE_MIGHT_OF_MOGRAINE = 53642, // on players when begins + SPELL_UNHOLY_BLIGHT = 53640, + SPELL_ALEXANDROS_MOGRAINE_SPAWN = 53667, + SPELL_MOGRAINE_CHARGE = 53679, + SPELL_ASHBRINGER = 53701, + + // Koltira Deathweaver & Orbaz Bloodbane are using the same abilities + NPC_KOLTIRA_DEATHWEAVER = 29199, + NPC_ORBAZ_BLOODBANE = 29204, // this guy fleed + NPC_THASSARIAN = 29200, // he also does SPELL_THE_LIGHT_OF_DAWN 53658 + SPELL_BLOOD_STRIKE1 = 52374, + SPELL_DEATH_GRIP = 49576, + SPELL_ICY_TOUCH2 = 52372, + SPELL_PLAGUE_STRIKE1 = 50668, + // all do SPELL_HERO_AGGRO_AURA 53627 + + // Lich King + NPC_THE_LICH_KING = 29183, // show up at end + SPELL_APOCALYPSE = 53210, + SPELL_TELEPORT_VISUAL = 52233, + SPELL_SOUL_FEAST_ALEX = 53677, // on Alexandros + SPELL_SOUL_FEAST_TIRION = 53685, // on Tirion + SPELL_ICEBOUND_VISAGE = 53274, // not sure what is it for + SPELL_REBUKE = 53680, + + // others + NPC_RAMPAGING_ABOMINATION = 29186, + SPELL_CLEAVE1 = 53633, + SPELL_SCOURGE_HOOK = 50335, + SPELL_SCOURGE_AGGRO_AURA = 53624, + + NPC_FLESH_BEHEMOTH = 29190, // giant guy + SPELL_STOMP = 53634, + SPELL_THUNDERCLAP = 36706, + SPELL_HERO_AGGRO_AURA = 53627, + + NPC_ACHERUS_GHOUL = 29219, // just ghoul.... + SPELL_GHOULPLOSION = 53632, + + NPC_WARRIOR_OF_THE_FROZEN_WASTES = 29206, // use SPELL_CLEAVE 53631 + + NPC_HIGHLORD_ALEXANDROS_MOGRAINE = 29227, // ghost + NPC_DARION_MOGRAINE = 29228, // ghost + + // ---- Dawn npc -------------------- + // Highlord Tirion Fordring + NPC_HIGHLORD_TIRION_FORDRING = 29175, + EQUIP_HIGHLORD_TIRION_FORDRING = 13262, + SPELL_LAY_ON_HANDS = 53778, + SPELL_REBIRTH_OF_THE_ASHBRINGER = 53702, + SPELL_TIRION_CHARGE = 53705, + SPELL_TIRION_CHARGE_VISUAL = 53706, + + // others + NPC_KORFAX_CHAMPION_OF_THE_LIGHT = 29176, + SPELL_CLEAVE = 53631, + SPELL_HEROIC_LEAP = 53625, + + NPC_LORD_MAXWELL_TYROSUS = 29178, + NPC_LEONID_BARTHALOMEW_THE_REVERED = 29179, + NPC_DUKE_NICHOLAS_ZVERENHOFF = 29180, + + NPC_COMMANDER_ELIGOR_DAWNBRINGER = 29177, + SPELL_HOLY_LIGHT2 = 37979, + + NPC_RAYNE = 29181, + SPELL_REJUVENATION = 20664, + SPELL_STARFALL = 20678, + SPELL_TRANQUILITY = 25817, + SPELL_WRATH = 21807, + + NPC_DEFENDER_OF_THE_LIGHT = 29174, // also does SPELL_HEROIC_LEAP 53625 + SPELL_HOLY_LIGHT1 = 29427, + SPELL_HOLY_STRIKE = 53643, + SPELL_HOLY_WRATH = 53638, + SPELL_UPPERCUT = 53629, + + NPC_RIMBLAT_EARTHSHATTER = 29182, + SPELL_CHAIN_HEAL = 33642, + SPELL_THUNDER = 53630 +}; + +struct Locations +{ + float x, y, z, o; + uint32 id; +}; + +void UpdateWorldState(Map *map, uint32 id, uint32 state) +{ + Map::PlayerList const& players = map->GetPlayers(); + + if (!players.isEmpty()) + { + for(Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) + { + if (Player* pPlayer = itr->getSource()) + pPlayer->SendUpdateWorldState(id,state); + } + } +} + +static Locations LightofDawnLoc[]= +{ + {2281.335, -5300.409, 85.170, 0}, // 0 Tirion Fordring loc + {2283.896, -5287.914, 83.066, 1.55}, // 1 Tirion Fordring loc2 + {2281.461, -5263.014, 81.164, 0}, // 2 Tirion charges + {2262.277, -5293.477, 82.167, 0}, // 3 Tirion run + {2270.286, -5287.73, 82.262, 0}, // 4 Tirion relocate + {2269.511, -5288.289, 82.225, 0}, // 5 Tirion forward + {2262.277, -5293.477, 82.167, 0}, // 6 Tirion runs to Darion + {2270.286, -5287.73, 82.262, 0}, + {2269.511, -5288.289, 82.225, 0}, + {2273.205, -5288.848, 82.617, 0}, // 9 Korfax loc1 + {2274.739, -5287.926, 82.684, 0}, // 10 Korfax loc2 + {2253.673, -5318.004, 81.724, 0}, // 11 Korfax kicked + {2287.028, -5309.644, 87.253, 0}, // 12 Maxwell loc1 + {2286.978, -5308.025, 86.83, 0}, // 13 Maxwell loc2 + {2248.877, -5307.586, 82.166, 0}, // 14 maxwell kicked + {2278.58, -5316.933, 88.319, 0}, // 15 Eligor loc1 + {2278.535, -5315.479, 88.08, 0}, // 16 Eligor loc2 + {2259.416, -5304.505, 82.149, 0}, // 17 eligor kicked + {2289.259, -5280.355, 82.112, 0}, // 18 Koltira loc1 + {2289.02, -5281.985, 82.207, 0}, // 19 Koltira loc2 + {2273.289, -5273.675, 81.701, 0}, // 20 Thassarian loc1 + {2273.332, -5275.544, 81.849, 0}, // 21 Thassarian loc2 + {2281.198, -5257.397, 80.224, 4.66}, // 22 Alexandros loc1 + {2281.156, -5259.934, 80.647, 0}, // 23 Alexandros loc2 + {2281.294, -5281.895, 82.445, 1.35}, // 24 Darion loc1 + {2281.093, -5263.013, 81.125, 0}, // 25 Darion loc1 + {2281.313, -5250.282, 79.322, 4.69}, // 26 Lich King spawns + {2281.523, -5261.058, 80.877, 0}, // 27 Lich king move forwards + {2272.709, -5255.552, 78.226, 0}, // 28 Lich king kicked + {2273.972, -5257.676, 78.862, 0} // 29 Lich king moves forward +}; + +struct TRINITY_DLL_DECL npc_highlord_darion_mograineAI : public npc_escortAI +{ + npc_highlord_darion_mograineAI(Creature *pCreature) : npc_escortAI(pCreature) + { + Reset(); + } + + bool bIsBattle; + uint32 uiStep; + uint32 uiPhase_timer; + uint32 uiFight_duration; + uint32 uiTotal_dawn; + uint32 uiTotal_scourge; + uint32 uiSummon_counter; + + // Darion Mograine + uint32 uiAnti_magic_zone; + uint32 uiDeath_strike; + uint32 uiDeath_embrace; + uint32 uiIcy_touch; + uint32 uiUnholy_blight; + uint32 uiFight_speech; + uint32 uiSpawncheck; + uint32 uiTargetcheck; + + // Dawn + uint64 uiTirionGUID; + uint64 uiAlexandrosGUID; + uint64 uiDarionGUID; + uint64 uiKorfaxGUID; + uint64 uiMaxwellGUID; + uint64 uiEligorGUID; + uint64 uiRayneGUID; + uint64 uiDefenderGUID[ENCOUNTER_DEFENDER_NUMBER]; + uint64 uiEarthshatterGUID[ENCOUNTER_EARTHSHATTER_NUMBER]; + + // Death + uint64 uiKoltiraGUID; + uint64 uiOrbazGUID; + uint64 uiThassarianGUID; + uint64 uiLichKingGUID; + uint64 uiAbominationGUID[ENCOUNTER_ABOMINATION_NUMBER]; + uint64 uiBehemothGUID[ENCOUNTER_BEHEMOTH_NUMBER]; + uint64 uiGhoulGUID[ENCOUNTER_GHOUL_NUMBER]; + uint64 uiWarriorGUID[ENCOUNTER_WARRIOR_NUMBER]; + + // Misc + uint64 uiDawnofLightGUID; + + void Reset() + { + if (!IsBeingEscorted) + { + bIsBattle = false; + uiStep = 0; + uiPhase_timer = 3000; + uiFight_duration = 300000; // 5 minutes + uiTotal_dawn = ENCOUNTER_TOTAL_DAWN; + uiTotal_scourge = ENCOUNTER_TOTAL_SCOURGE; + uiSummon_counter = 0; + + uiDawnofLightGUID = 0; + + uiAnti_magic_zone = 1000 + rand()%5000; + uiDeath_strike = 5000 + rand()%5000; + uiDeath_embrace = 5000 + rand()%5000; + uiIcy_touch = 5000 + rand()%5000; + uiUnholy_blight = 5000 + rand()%5000; + + uiFight_speech = 15000; + uiSpawncheck = 1000; + uiTargetcheck = 10000; + + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_STAND); + me->Mount(25279); + + UpdateWorldState(me->GetMap(), WORLD_STATE_REMAINS, 0); + //UpdateWorldState(me->GetMap(), WORLD_STATE_COUNTDOWN, 0); + UpdateWorldState(me->GetMap(), WORLD_STATE_EVENT_BEGIN, 0); + + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + pTemp->setDeathState(JUST_DIED); + if (Unit* pTemp = Unit::GetUnit((*me), uiKorfaxGUID)) + pTemp->setDeathState(JUST_DIED); + if (Unit* pTemp = Unit::GetUnit((*me), uiMaxwellGUID)) + pTemp->setDeathState(JUST_DIED); + if (Unit* pTemp = Unit::GetUnit((*me), uiEligorGUID)) + pTemp->setDeathState(JUST_DIED); + if (Unit* pTemp = Unit::GetUnit((*me), uiRayneGUID)) + pTemp->setDeathState(JUST_DIED); + + uiTirionGUID = NULL; + uiKorfaxGUID = NULL; + uiMaxwellGUID = NULL; + uiEligorGUID = NULL; + uiRayneGUID = NULL; + + for(uint8 i = 0; i < ENCOUNTER_DEFENDER_NUMBER; ++i) + { + if (Unit* pTemp = Unit::GetUnit((*me), uiDefenderGUID[i])) + pTemp->setDeathState(JUST_DIED); + uiDefenderGUID[i] = 0; + } + for(uint8 i = 0; i < ENCOUNTER_EARTHSHATTER_NUMBER; ++i) + { + if (Unit* pTemp = Unit::GetUnit((*me), uiEarthshatterGUID[i])) + pTemp->setDeathState(JUST_DIED); + uiEarthshatterGUID[i] = 0; + } + + if (Unit* pTemp = Unit::GetUnit((*me), uiKoltiraGUID)) + pTemp->setDeathState(JUST_DIED); + if (Unit* pTemp = Unit::GetUnit((*me), uiOrbazGUID)) + pTemp->setDeathState(JUST_DIED); + if (Unit* pTemp = Unit::GetUnit((*me), uiThassarianGUID)) + pTemp->setDeathState(JUST_DIED); + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + pTemp->setDeathState(JUST_DIED); + + uiKoltiraGUID = NULL; + uiOrbazGUID = NULL; + uiThassarianGUID = NULL; + uiLichKingGUID = NULL; + for(uint8 i = 0; i < ENCOUNTER_ABOMINATION_NUMBER; ++i) + { + if (Unit* pTemp = Unit::GetUnit((*me), uiAbominationGUID[i])) + pTemp->setDeathState(JUST_DIED); + uiAbominationGUID[i] = 0; + } + for(uint8 i = 0; i < ENCOUNTER_BEHEMOTH_NUMBER; ++i) + { + if (Unit* pTemp = Unit::GetUnit((*me), uiBehemothGUID[i])) + pTemp->setDeathState(JUST_DIED); + uiBehemothGUID[i] = 0; + } + for(uint8 i = 0; i < ENCOUNTER_GHOUL_NUMBER; ++i) + { + if (Unit* pTemp = Unit::GetUnit((*me), uiGhoulGUID[i])) + pTemp->setDeathState(JUST_DIED); + uiGhoulGUID[i] = 0; + } + for(uint8 i = 0; i < ENCOUNTER_WARRIOR_NUMBER; ++i) + { + if (Unit* pTemp = Unit::GetUnit((*me), uiWarriorGUID[i])) + pTemp->setDeathState(JUST_DIED); + uiWarriorGUID[i] = 0; + } + } + } + + void AttackStart(Unit* who) + { + if (!who) + return; + + if (who == me) + return; + + if (me->Attack(who, true)) + { + me->AddThreat(who, 0.0f); + me->SetInCombatWith(who); + who->SetInCombatWith(me); + DoStartMovement(who); + } + } + + void MoveInLineOfSight(Unit* who) + { + if (!who) + return; + + if (who->isTargetableForAttack() && me->IsHostileTo(who)) + if (me->IsWithinDistInMap(who, 20) && me->IsWithinLOSInMap(who)) + AttackStart(who); + } + + void SetHoldState(bool bOnHold) + { + IsOnHold = bOnHold; + } + + void WaypointReached(uint32 i) + { + switch(i) + { + case 0: + me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + SetHoldState(true); + break; + case 1: + SetHoldState(true); + + if (GameObject* pGo = me->FindNearestGameObject(GO_LIGHT_OF_DAWN, 100.0f)) // make dawn of light effect off + { + uiDawnofLightGUID = pGo->GetGUID(); + pGo->SetPhaseMask(0, true); + } + + SpawnNPC(); + if (Unit* pTemp = Unit::GetUnit((*me), uiKorfaxGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN07, pTemp); + if (Unit* pTemp = Unit::GetUnit((*me), uiMaxwellGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN08, pTemp); + + for(uint8 i = 0; i < ENCOUNTER_GHOUL_NUMBER; ++i) + NPCChangeTarget(uiGhoulGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_WARRIOR_NUMBER; ++i) + NPCChangeTarget(uiWarriorGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_ABOMINATION_NUMBER; ++i) + NPCChangeTarget(uiAbominationGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_BEHEMOTH_NUMBER; ++i) + NPCChangeTarget(uiBehemothGUID[i]); + NPCChangeTarget(uiKoltiraGUID); + NPCChangeTarget(uiOrbazGUID); + NPCChangeTarget(uiThassarianGUID); + + me->Unmount(); + me->CastSpell(me, SPELL_THE_MIGHT_OF_MOGRAINE, true); // need to fix, on player only + + if (Unit* pTemp = Unit::GetUnit((*me), uiKoltiraGUID)) + pTemp->Unmount(); + if (Unit* pTemp = Unit::GetUnit((*me), uiThassarianGUID)) + pTemp->Unmount(); + + bIsBattle = true; + break; + case 2: + me->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + DoCast(me, SPELL_THE_LIGHT_OF_DAWN); + break; + case 3: + { + Unit* pTirion = Unit::GetUnit((*me), uiTirionGUID); + + DoScriptText(EMOTE_LIGHT_OF_DAWN05, me); + if (me->HasAura(SPELL_THE_LIGHT_OF_DAWN, 0)) + me->RemoveAurasDueToSpell(SPELL_THE_LIGHT_OF_DAWN); + if (Unit* pTemp = Unit::GetUnit((*me), uiKoltiraGUID)) + { + if (pTemp->HasAura(SPELL_THE_LIGHT_OF_DAWN, 0)) + pTemp->RemoveAurasDueToSpell(SPELL_THE_LIGHT_OF_DAWN); + pTemp->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[19].x, LightofDawnLoc[19].y, LightofDawnLoc[19].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiThassarianGUID)) + { + if (pTemp->HasAura(SPELL_THE_LIGHT_OF_DAWN, 0)) + pTemp->RemoveAurasDueToSpell(SPELL_THE_LIGHT_OF_DAWN); + pTemp->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[21].x, LightofDawnLoc[21].y, LightofDawnLoc[21].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiKorfaxGUID)) + { + pTemp->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[10].x, LightofDawnLoc[10].y, LightofDawnLoc[10].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiMaxwellGUID)) + { + pTemp->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[13].x, LightofDawnLoc[13].y, LightofDawnLoc[13].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiEligorGUID)) + { + pTemp->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[16].x, LightofDawnLoc[16].y, LightofDawnLoc[16].z); + } + JumpToNextStep(10000); + } break; + case 4: + DoScriptText(SAY_LIGHT_OF_DAWN27, me); + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_KNEEL); + + if (Unit* pTemp = Unit::GetUnit((*me), uiKoltiraGUID)) + pTemp->SetStandState(UNIT_STAND_STATE_KNEEL); + if (Unit* pTemp = Unit::GetUnit((*me), uiThassarianGUID)) + pTemp->SetStandState(UNIT_STAND_STATE_KNEEL); + SetHoldState(true); + break; + case 5: + DoScriptText(SAY_LIGHT_OF_DAWN33, me); + SetHoldState(true); + break; + case 6: + SetHoldState(true); + me->HandleEmoteCommand(EMOTE_ONESHOT_SPECIALATTACK1H); + JumpToNextStep(1000); + break; + case 7: + SetHoldState(true); + JumpToNextStep(2000); + break; + case 8: + me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(EQUIP_UNEQUIP)); + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + me->CastSpell(pTemp, SPELL_ASHBRINGER, true); + DoScriptText(EMOTE_LIGHT_OF_DAWN14, me); + SetHoldState(true); + break; + } + } + + void UpdateAI(const uint32 diff) + { + npc_escortAI::UpdateAI(diff); + + if (!bIsBattle) + { + if (uiPhase_timer < diff) + { + // ******* Before battle ***************************************************************** + switch(uiStep) + { + case 0: // countdown + //UpdateWorldState(me->GetMap(), WORLD_STATE_COUNTDOWN, 1); + break; + + case 1: // just delay + //UpdateWorldState(me->GetMap(), WORLD_STATE_REMAINS, 1); + UpdateWorldState(me->GetMap(), WORLD_STATE_COUNTDOWN, 0); + UpdateWorldState(me->GetMap(), WORLD_STATE_EVENT_BEGIN, 1); + me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + JumpToNextStep(3000); + break; + + case 2: + DoScriptText(SAY_LIGHT_OF_DAWN04, me); + if (Creature* pKoltira = GetClosestCreatureWithEntry(me, NPC_KOLTIRA_DEATHWEAVER, 50.0f)) + uiKoltiraGUID = pKoltira->GetGUID(); + if (Creature* pOrbaz = GetClosestCreatureWithEntry(me, NPC_ORBAZ_BLOODBANE, 50.0f)) + uiOrbazGUID = pOrbaz->GetGUID(); + if (Creature* pThassarian = GetClosestCreatureWithEntry(me, NPC_THASSARIAN, 50.0f)) + uiThassarianGUID = pThassarian->GetGUID(); + JumpToNextStep(10000); + break; + + case 3: // rise + DoScriptText(SAY_LIGHT_OF_DAWN05, me); + JumpToNextStep(3000); + break; + + case 4: // summon ghoul + // Dunno whats the summon spell, so workaround + DoCast(me, 33271); // shack effect + uiPhase_timer = 500; + if (uiSummon_counter < ENCOUNTER_GHOUL_NUMBER) + { + Unit* pTemp = me->SummonCreature(NPC_ACHERUS_GHOUL, (me->GetPositionX()-20)+rand()%40, (me->GetPositionY()-20)+rand()%40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->setFaction(2084); + uiGhoulGUID[uiSummon_counter] = pTemp->GetGUID(); + uiSummon_counter++; + } + else + { + uiSummon_counter = 0; + uiStep++; + } + break; + + case 5: // summon abomination + DoCast(me, 33271); // shack effect + uiPhase_timer = 500; + if (uiSummon_counter < ENCOUNTER_ABOMINATION_NUMBER) + { + Unit* pTemp = me->SummonCreature(NPC_RAMPAGING_ABOMINATION, (me->GetPositionX()-20)+rand()%40, (me->GetPositionY()-20)+rand()%40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->setFaction(2084); + uiAbominationGUID[uiSummon_counter] = pTemp->GetGUID(); + uiSummon_counter++; + } + else + { + uiSummon_counter = 0; + uiStep++; + } + break; + + case 6: // summon warrior + DoCast(me, 33271); // shack effect + uiPhase_timer = 500; + if (uiSummon_counter < ENCOUNTER_WARRIOR_NUMBER) + { + Unit* pTemp = me->SummonCreature(NPC_WARRIOR_OF_THE_FROZEN_WASTES, (me->GetPositionX()-20)+rand()%40, (me->GetPositionY()-20)+rand()%40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->setFaction(2084); + uiWarriorGUID[uiSummon_counter] = pTemp->GetGUID(); + uiSummon_counter++; + } + else + { + uiSummon_counter = 0; + uiStep++; + } + break; + + case 7: // summon warrior + DoCast(me, 33271); // shack effect + uiPhase_timer = 500; + if (uiSummon_counter < ENCOUNTER_BEHEMOTH_NUMBER) + { + Unit* pTemp = me->SummonCreature(NPC_FLESH_BEHEMOTH, (me->GetPositionX()-20)+rand()%40, (me->GetPositionY()-20)+rand()%40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->setFaction(2084); + uiBehemothGUID[uiSummon_counter] = pTemp->GetGUID(); + uiSummon_counter++; + } + else + { + uiSummon_counter = 0; + uiStep++; + } + break; + + case 8: // summon announce + DoScriptText(SAY_LIGHT_OF_DAWN06, me); + JumpToNextStep(5000); + break; + + case 9: // charge begins + SetHoldState(false); + if (Unit* pTemp = Unit::GetUnit((*me), uiKoltiraGUID)) + { + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiOrbazGUID)) + { + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiThassarianGUID)) + { + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z); + } + for(uint8 i = 0; i < ENCOUNTER_ABOMINATION_NUMBER; ++i) + if (Unit* pTemp = Unit::GetUnit((*me), uiAbominationGUID[i])) + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z); + for(uint8 i = 0; i < ENCOUNTER_BEHEMOTH_NUMBER; ++i) + if (Unit* pTemp = Unit::GetUnit((*me), uiBehemothGUID[i])) + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z); + for(uint8 i = 0; i < ENCOUNTER_GHOUL_NUMBER; ++i) + if (Unit* pTemp = Unit::GetUnit((*me), uiGhoulGUID[i])) + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z); + for(uint8 i = 0; i < ENCOUNTER_WARRIOR_NUMBER; ++i) + if (Unit* pTemp = Unit::GetUnit((*me), uiWarriorGUID[i])) + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z); + JumpToNextStep(5000); + break; + + // ******* After battle ***************************************************************** + case 11: // Tirion starts to speak + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN28, pTemp); + JumpToNextStep(21000); + break; + + case 12: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN29, pTemp); + JumpToNextStep(13000); + break; + + case 13: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN30, pTemp); + JumpToNextStep(13000); + break; + + case 14: + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_STAND); + DoScriptText(SAY_LIGHT_OF_DAWN31, me); + JumpToNextStep(7000); + break; + + case 15: // summon gate + if (Unit* pTemp = me->SummonCreature(NPC_HIGHLORD_ALEXANDROS_MOGRAINE, LightofDawnLoc[22].x, LightofDawnLoc[22].y, LightofDawnLoc[22].z, LightofDawnLoc[22].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000)) + { + pTemp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + pTemp->CastSpell(pTemp, SPELL_ALEXANDROS_MOGRAINE_SPAWN, true); + DoScriptText(EMOTE_LIGHT_OF_DAWN06, pTemp); + uiAlexandrosGUID = pTemp->GetGUID(); + } + JumpToNextStep(4000); + break; + + case 16: // Alexandros out + if (Unit* pTemp = Unit::GetUnit((*me), uiAlexandrosGUID)) + { + pTemp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[23].x, LightofDawnLoc[23].y, LightofDawnLoc[23].z); + DoScriptText(SAY_LIGHT_OF_DAWN32, pTemp); + } + SetHoldState(false); // makes darion turns back + JumpToNextStep(5000); + break; + + case 17: + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_KNEEL); + DoScriptText(SAY_LIGHT_OF_DAWN34, me); + JumpToNextStep(5000); + break; + + case 18: // Darion's spirit out + if (Unit* pTemp = me->SummonCreature(NPC_DARION_MOGRAINE, LightofDawnLoc[24].x, LightofDawnLoc[24].y, LightofDawnLoc[24].z, LightofDawnLoc[24].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000)) + { + DoScriptText(SAY_LIGHT_OF_DAWN35, pTemp); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + uiDarionGUID = pTemp->GetGUID(); + } + JumpToNextStep(4000); + break; + + case 19: // runs to father + if (Unit* pTemp = Unit::GetUnit((*me), uiDarionGUID)) + { + DoScriptText(EMOTE_LIGHT_OF_DAWN07, pTemp); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[25].x, LightofDawnLoc[25].y, LightofDawnLoc[25].z); + } + JumpToNextStep(4000); + break; + + case 20: + if (Unit* pTemp = Unit::GetUnit((*me), uiDarionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN36, pTemp); + JumpToNextStep(4000); + break; + + case 21: + if (Unit* pTemp = Unit::GetUnit((*me), uiDarionGUID)) + DoScriptText(EMOTE_LIGHT_OF_DAWN08, pTemp); + JumpToNextStep(4000); + break; + + case 22: + if (Unit* pTemp = Unit::GetUnit((*me), uiAlexandrosGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN37, pTemp); + JumpToNextStep(8000); + break; + + case 23: + if (Unit* pTemp = Unit::GetUnit((*me), uiDarionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN38, pTemp); + JumpToNextStep(8000); + break; + + case 24: + if (Unit* pTemp = Unit::GetUnit((*me), uiAlexandrosGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN39, pTemp); + + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) // Tirion moves forward here + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[1].x, LightofDawnLoc[1].y, LightofDawnLoc[1].z); + + JumpToNextStep(15000); + break; + + case 25: + if (Unit* pTemp = Unit::GetUnit((*me), uiDarionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN40, pTemp); + JumpToNextStep(11000); + break; + + case 26: + if (Unit* pTemp = Unit::GetUnit((*me), uiAlexandrosGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN41, pTemp); + JumpToNextStep(5000); + break; + + case 27: + if (Unit* pTemp = Unit::GetUnit((*me), uiDarionGUID)) + pTemp->setDeathState(JUST_DIED); + JumpToNextStep(24000); + break; + + case 28: + if (Unit* pTemp = Unit::GetUnit((*me), uiAlexandrosGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN42, pTemp); + JumpToNextStep(6000); + break; + + case 29: // lich king spawns + if (Unit* pTemp = me->SummonCreature(NPC_THE_LICH_KING, LightofDawnLoc[26].x, LightofDawnLoc[26].y, LightofDawnLoc[26].z, LightofDawnLoc[26].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000)) + { + DoScriptText(SAY_LIGHT_OF_DAWN43, pTemp); + uiLichKingGUID = pTemp->GetGUID(); + if (Unit* pAlex = Unit::GetUnit((*me), uiAlexandrosGUID)) + pTemp->CastSpell(pAlex, SPELL_SOUL_FEAST_ALEX, false); + } + JumpToNextStep(2000); + break; + + case 30: + if (Unit* pTemp = Unit::GetUnit((*me), uiAlexandrosGUID)) // just hide him + { + DoScriptText(EMOTE_LIGHT_OF_DAWN09, pTemp); + pTemp->SetVisibility(VISIBILITY_OFF); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + { + pTemp->InterruptNonMeleeSpells(false); + DoScriptText(SAY_LIGHT_OF_DAWN45, pTemp); + } + JumpToNextStep(3000); + break; + + case 31: + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_STAND); + DoScriptText(EMOTE_LIGHT_OF_DAWN10, me); + DoScriptText(SAY_LIGHT_OF_DAWN44, me); + JumpToNextStep(3000); + break; + + case 32: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[27].x, LightofDawnLoc[27].y, LightofDawnLoc[27].z); + JumpToNextStep(6000); + break; + + case 33: // Darion supports to jump to lich king here +// disable if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) +// because TRINITY DoCast(me, SPELL_MOGRAINE_CHARGE); // jumping charge +// doesn't make it looks well, so workarounds, Darion charges, looks better + me->SetSpeed(MOVE_RUN, 3.0f); + me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + SetHoldState(false); + JumpToNextStep(0); + break; + + case 35: // Lich king counterattacks + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + { + pTemp->HandleEmoteCommand(EMOTE_ONESHOT_KICK); + DoScriptText(SAY_LIGHT_OF_DAWN46, pTemp); + } + me->SetSpeed(MOVE_RUN, 6.0f); + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_DEAD); + SetHoldState(false); // Darion got kicked by lich king + JumpToNextStep(0); + break; + + case 37: // Lich king counterattacks + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_KNEEL); + JumpToNextStep(3000); + break; + + case 38: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN47, pTemp); + JumpToNextStep(8000); + break; + + case 39: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN48, pTemp); + JumpToNextStep(15000); + break; + + case 40: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN49, pTemp); + JumpToNextStep(17000); + break; + + case 41: // Lich king - Apocalypse + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + { + DoScriptText(EMOTE_LIGHT_OF_DAWN11, pTemp); + DoScriptText(SAY_LIGHT_OF_DAWN51, pTemp); + if (Unit* pTirion = Unit::GetUnit((*me), uiTirionGUID)) + { + ((Unit*)pTirion)->SetStandState(UNIT_STAND_STATE_KNEEL); + //pTemp->CastSpell(pTirion, SPELL_APOCALYPSE, false); // not working + pTemp->CastSpell(pTirion, SPELL_SOUL_FEAST_TIRION, false); + DoScriptText(EMOTE_LIGHT_OF_DAWN12, pTirion); + } + } + JumpToNextStep(2000); + break; + + case 42: // Maxwell yells for attack + { + float fLichPositionX, fLichPositionY, fLichPositionZ; + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + { + fLichPositionX = pTemp->GetPositionX(); + fLichPositionY = pTemp->GetPositionY(); + fLichPositionZ = pTemp->GetPositionZ(); + } + + if (fLichPositionX && fLichPositionY) + { + Unit* pTemp; + pTemp = me->SummonCreature(NPC_DEFENDER_OF_THE_LIGHT, LightofDawnLoc[0].x+rand()%10, LightofDawnLoc[0].y+rand()%10, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10000); + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->SetSpeed(MOVE_RUN, 2.0f); + pTemp->setFaction(me->getFaction()); + pTemp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ); + uiDefenderGUID[0] = pTemp->GetGUID(); + + pTemp = me->SummonCreature(NPC_RIMBLAT_EARTHSHATTER, LightofDawnLoc[0].x+rand()%10, LightofDawnLoc[0].y+rand()%10, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10000); + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->SetSpeed(MOVE_RUN, 2.0f); + pTemp->setFaction(me->getFaction()); + pTemp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ); + uiEarthshatterGUID[0] = pTemp->GetGUID(); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiMaxwellGUID)) + { + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->SetSpeed(MOVE_RUN, 2.0f); + pTemp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ); + DoScriptText(SAY_LIGHT_OF_DAWN50, pTemp); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiKorfaxGUID)) + { + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->SetSpeed(MOVE_RUN, 2.0f); + pTemp->HandleEmoteCommand(EMOTE_STATE_ATTACK_UNARMED); + pTemp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiEligorGUID)) + { + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->SetSpeed(MOVE_RUN, 2.0f); + pTemp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ); + } + } + JumpToNextStep(4500); + break; + + case 43: // They all got kicked + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + DoScriptText(EMOTE_LIGHT_OF_DAWN13, pTemp); + + if (Unit* pTemp = Unit::GetUnit((*me), uiMaxwellGUID)) + { + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); + pTemp->SetSpeed(MOVE_RUN, 6.0f); + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_DEAD); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[14].x, LightofDawnLoc[14].y, LightofDawnLoc[14].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiKorfaxGUID)) + { + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); + pTemp->SetSpeed(MOVE_RUN, 6.0f); + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_DEAD); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[11].x, LightofDawnLoc[11].y, LightofDawnLoc[11].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiEligorGUID)) + { + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); + pTemp->SetSpeed(MOVE_RUN, 6.0f); + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_DEAD); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[17].x, LightofDawnLoc[17].y, LightofDawnLoc[17].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiDefenderGUID[0])) + { + pTemp->SetSpeed(MOVE_RUN, 6.0f); + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_DEAD); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%10, LightofDawnLoc[0].y+rand()%10, LightofDawnLoc[0].z); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiEarthshatterGUID[0])) + { + pTemp->SetSpeed(MOVE_RUN, 6.0f); + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_DEAD); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%10, LightofDawnLoc[0].y+rand()%10, LightofDawnLoc[0].z); + } + JumpToNextStep(3000); + break; + + case 44: // make them stand up + if (Unit* pTemp = Unit::GetUnit((*me), uiMaxwellGUID)) + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_STAND); + if (Unit* pTemp = Unit::GetUnit((*me), uiKorfaxGUID)) + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_STAND); + if (Unit* pTemp = Unit::GetUnit((*me), uiEligorGUID)) + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_STAND); + JumpToNextStep(1000); + break; + + case 45: + DoScriptText(SAY_LIGHT_OF_DAWN52, me); + JumpToNextStep(5000); + break; + + case 46: // Darion stand up, "not today" + me->SetSpeed(MOVE_RUN, 1.0f); + me->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_STAND); + DoScriptText(SAY_LIGHT_OF_DAWN53, me); + SetHoldState(false); // Darion throws sword + JumpToNextStep(7000); + break; + + case 47: // Ashbringer rebirth + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_KNEEL); + DoScriptText(EMOTE_LIGHT_OF_DAWN15, me); + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + { + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_STAND); + pTemp->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(EQUIP_HIGHLORD_TIRION_FORDRING)); + pTemp->CastSpell(pTemp, SPELL_REBIRTH_OF_THE_ASHBRINGER, false); + } + JumpToNextStep(1000); + break; + + case 48: // Show the cleansing effect (dawn of light) + if (GameObject* pGo = me->GetMap()->GetGameObject(uiDawnofLightGUID)) + pGo->SetPhaseMask(128, true); + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + { + if (pTemp->HasAura(SPELL_REBIRTH_OF_THE_ASHBRINGER, 0)) + pTemp->RemoveAurasDueToSpell(SPELL_REBIRTH_OF_THE_ASHBRINGER); + pTemp->CastSpell(pTemp, 41542, false); // workarounds, light expoded, makes it cool + pTemp->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); + } + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + pTemp->InterruptNonMeleeSpells(false); + JumpToNextStep(2500); + break; + + case 49: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN54, pTemp); + JumpToNextStep(4000); + break; + + case 50: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN55, pTemp); + JumpToNextStep(5000); + break; + + case 51: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN56, pTemp); + JumpToNextStep(1000); + break; + + case 52: // Tiron charges + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + { + DoScriptText(EMOTE_LIGHT_OF_DAWN16, pTemp); + pTemp->CastSpell(pTemp, SPELL_TIRION_CHARGE, false); // jumping charge + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H); + pTemp->SetSpeed(MOVE_RUN, 3.0f); // workarounds, make Tirion still running + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[2].x, LightofDawnLoc[2].y, LightofDawnLoc[2].z); + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + pTemp->Relocate(LightofDawnLoc[28].x, LightofDawnLoc[28].y, LightofDawnLoc[28].z); // workarounds, he should kick back by Tirion, but here we relocate him + } + JumpToNextStep(1500); + break; + + case 53: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN57, pTemp); + JumpToNextStep(1000); + break; + + case 54: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + { + pTemp->SetSpeed(MOVE_RUN, 1.0f); + me->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[29].x, LightofDawnLoc[29].y, LightofDawnLoc[29].z); // 26 + } + JumpToNextStep(4000); + break; + + case 55: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_KNEEL); + JumpToNextStep(2000); + break; + + case 56: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + ((Unit*)pTemp)->SetStandState(UNIT_STAND_STATE_STAND); + JumpToNextStep(1500); + break; + + case 57: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN58, pTemp); + JumpToNextStep(10000); + break; + + case 58: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN59, pTemp); + JumpToNextStep(10000); + break; + + case 59: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) + pTemp->CastSpell(pTemp, SPELL_TELEPORT_VISUAL, false); + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) // Tirion runs to Darion + { + pTemp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); + pTemp->SetSpeed(MOVE_RUN, 1.0f); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[6].x, LightofDawnLoc[6].y, LightofDawnLoc[6].z); + } + JumpToNextStep(2500); + break; + + case 60: + if (Unit* pTemp = Unit::GetUnit((*me), uiLichKingGUID)) // Lich king disappears here + { + DoScriptText(EMOTE_LIGHT_OF_DAWN17, pTemp); + pTemp->DealDamage(pTemp, pTemp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + } + JumpToNextStep(10000); + break; + + case 61: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN60, pTemp); + JumpToNextStep(3000); + break; + + case 62: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + { + pTemp->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[7].x, LightofDawnLoc[7].y, LightofDawnLoc[7].z); + } + JumpToNextStep(5500); + break; + + case 63: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + { + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[8].x, LightofDawnLoc[8].y, LightofDawnLoc[8].z); + DoScriptText(SAY_LIGHT_OF_DAWN61, pTemp); + } + JumpToNextStep(15000); + break; + + case 64: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN62, pTemp); + JumpToNextStep(7000); + break; + + case 65: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN63, pTemp); + JumpToNextStep(10000); + break; + + case 66: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN64, pTemp); + JumpToNextStep(11000); + break; + + case 67: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN65, pTemp); + JumpToNextStep(10000); + break; + + case 68: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN66, pTemp); + JumpToNextStep(8000); + break; + + case 69: + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN67, pTemp); + JumpToNextStep(10000); + break; + + case 70: + ((Unit*)me)->SetStandState(UNIT_STAND_STATE_STAND); + DoScriptText(SAY_LIGHT_OF_DAWN68, me); + JumpToNextStep(10000); + break; + + case 71: + if (GameObject* pGo = me->GetMap()->GetGameObject(uiDawnofLightGUID)) // Turn off dawn of light + pGo->SetPhaseMask(0, true); + + { + Map *map = me->GetMap(); // search players with in 50 yards for quest credit + Map::PlayerList const &PlayerList = map->GetPlayers(); + if (!PlayerList.isEmpty()) + { + for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i) + if (i->getSource()->isAlive() && me->IsWithinDistInMap(i->getSource(), 50)) + i->getSource()->CastSpell(i->getSource(), SPELL_THE_LIGHT_OF_DAWN_Q, false); + } + } + me->SetVisibility(VISIBILITY_OFF); // respawns another Darion for quest turn in + me->SummonCreature(NPC_HIGHLORD_DARION_MOGRAINE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000); + JumpToNextStep(1000); + break; + + case 72: + SetHoldState(false); // Escort ends + JumpToNextStep(0); + break; + } + + }else uiPhase_timer -= diff; + } + + // ******* During battle ***************************************************************** + else + { + if (uiAnti_magic_zone < diff) + { + DoCast(me, SPELL_ANTI_MAGIC_ZONE1); + uiAnti_magic_zone = 25000 + rand()%5000; + }else uiAnti_magic_zone -= diff; + + if (uiDeath_strike < diff) + { + DoCast(me->getVictim(), SPELL_DEATH_STRIKE); + uiDeath_strike = 5000 + rand()%5000; + }else uiDeath_strike -= diff; + + if (uiDeath_embrace < diff) + { + DoCast(me->getVictim(), SPELL_DEATH_EMBRACE); + uiDeath_embrace = 5000 + rand()%5000; + }else uiDeath_embrace -= diff; + + if (uiIcy_touch < diff) + { + DoCast(me->getVictim(), SPELL_ICY_TOUCH1); + uiIcy_touch = 5000 + rand()%5000; + }else uiIcy_touch -= diff; + + if (uiUnholy_blight < diff) + { + DoCast(me->getVictim(), SPELL_UNHOLY_BLIGHT); + uiUnholy_blight = 5000 + rand()%5000; + }else uiUnholy_blight -= diff; + + if (uiFight_speech < diff) + { + switch(rand()%15) + { + case 0: DoScriptText(SAY_LIGHT_OF_DAWN09, me);break; + case 1: DoScriptText(SAY_LIGHT_OF_DAWN10, me);break; + case 2: DoScriptText(SAY_LIGHT_OF_DAWN11, me);break; + case 3: DoScriptText(SAY_LIGHT_OF_DAWN12, me);break; + case 4: DoScriptText(SAY_LIGHT_OF_DAWN13, me);break; + case 5: DoScriptText(SAY_LIGHT_OF_DAWN14, me);break; + case 6: DoScriptText(SAY_LIGHT_OF_DAWN15, me);break; + case 7: DoScriptText(SAY_LIGHT_OF_DAWN16, me);break; + case 8: DoScriptText(SAY_LIGHT_OF_DAWN17, me);break; + case 9: DoScriptText(SAY_LIGHT_OF_DAWN18, me);break; + case 10: DoScriptText(SAY_LIGHT_OF_DAWN19, me);break; + case 11: DoScriptText(SAY_LIGHT_OF_DAWN20, me);break; + case 12: DoScriptText(SAY_LIGHT_OF_DAWN21, me);break; + case 13: DoScriptText(SAY_LIGHT_OF_DAWN22, me);break; + case 14: DoScriptText(SAY_LIGHT_OF_DAWN23, me);break; + case 15: DoScriptText(SAY_LIGHT_OF_DAWN24, me);break; + } + uiFight_speech = 15000 + rand()%5000; + }else uiFight_speech -= diff; + + // Check spawns + if (uiSpawncheck < diff) + { + SpawnNPC(); + uiSpawncheck = 1000; + }else uiSpawncheck -= diff; + + // Check targets + if (uiTargetcheck < diff) + { + for(uint8 i = 0; i < ENCOUNTER_GHOUL_NUMBER; ++i) + NPCChangeTarget(uiGhoulGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_WARRIOR_NUMBER; ++i) + NPCChangeTarget(uiWarriorGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_ABOMINATION_NUMBER; ++i) + NPCChangeTarget(uiAbominationGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_BEHEMOTH_NUMBER; ++i) + NPCChangeTarget(uiBehemothGUID[i]); + NPCChangeTarget(uiKoltiraGUID); + NPCChangeTarget(uiOrbazGUID); + NPCChangeTarget(uiThassarianGUID); + + uiTargetcheck = 10000; + }else uiTargetcheck -= diff; + + // Battle end + if (uiFight_duration < diff + 5000) + { + if (!uiTirionGUID) + if (Unit* pTemp = me->SummonCreature(NPC_HIGHLORD_TIRION_FORDRING, LightofDawnLoc[0].x, LightofDawnLoc[0].y, LightofDawnLoc[0].z, 1.528, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 600000)) + { + pTemp->setFaction(me->getFaction()); + pTemp->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(EQUIP_UNEQUIP)); + DoScriptText(SAY_LIGHT_OF_DAWN25, pTemp); + uiTirionGUID = pTemp->GetGUID(); + } + } + if (uiFight_duration < diff) + { + bIsBattle = false; + uiFight_duration = 300000; + + if (me->HasAura(SPELL_THE_MIGHT_OF_MOGRAINE, 0)) + me->RemoveAurasDueToSpell(SPELL_THE_MIGHT_OF_MOGRAINE); + me->RemoveAllAuras(); + me->DeleteThreatList(); + me->CombatStop(true); + me->InterruptNonMeleeSpells(false); + me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + + for(uint8 i = 0; i < ENCOUNTER_DEFENDER_NUMBER; ++i) + DespawnNPC(uiDefenderGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_EARTHSHATTER_NUMBER; ++i) + DespawnNPC(uiEarthshatterGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_ABOMINATION_NUMBER; ++i) + DespawnNPC(uiAbominationGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_BEHEMOTH_NUMBER; ++i) + DespawnNPC(uiBehemothGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_GHOUL_NUMBER; ++i) + DespawnNPC(uiGhoulGUID[i]); + for(uint8 i = 0; i < ENCOUNTER_WARRIOR_NUMBER; ++i) + DespawnNPC(uiWarriorGUID[i]); + + if (Unit* pTemp = Unit::GetUnit((*me), uiKorfaxGUID)) + { + pTemp->RemoveAllAuras(); + pTemp->DeleteThreatList(); + pTemp->CombatStop(true); + pTemp->AttackStop(); + pTemp->setFaction(me->getFaction()); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[9].x, LightofDawnLoc[9].y, LightofDawnLoc[9].z); + } + + if (Unit* pTemp = Unit::GetUnit((*me), uiMaxwellGUID)) + { + pTemp->RemoveAllAuras(); + pTemp->DeleteThreatList(); + pTemp->CombatStop(true); + pTemp->AttackStop(); + pTemp->setFaction(me->getFaction()); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[12].x, LightofDawnLoc[12].y, LightofDawnLoc[12].z); + } + + if (Unit* pTemp = Unit::GetUnit((*me), uiEligorGUID)) + { + pTemp->RemoveAllAuras(); + pTemp->DeleteThreatList(); + pTemp->CombatStop(true); + pTemp->AttackStop(); + pTemp->setFaction(me->getFaction()); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[15].x, LightofDawnLoc[15].y, LightofDawnLoc[15].z); + } + DespawnNPC(uiRayneGUID); + + if (Unit* pTemp = Unit::GetUnit((*me), uiKoltiraGUID)) + { + pTemp->RemoveAllAuras(); + pTemp->DeleteThreatList(); + pTemp->CombatStop(true); + pTemp->AttackStop(); + pTemp->setFaction(me->getFaction()); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[18].x, LightofDawnLoc[18].y, LightofDawnLoc[18].z); + pTemp->CastSpell(pTemp, SPELL_THE_LIGHT_OF_DAWN, false); + } + + if (Unit* pTemp = Unit::GetUnit((*me), uiOrbazGUID)) + DoScriptText(EMOTE_LIGHT_OF_DAWN04, pTemp); + + if (Unit* pTemp = Unit::GetUnit((*me), uiThassarianGUID)) + { + pTemp->RemoveAllAuras(); + pTemp->DeleteThreatList(); + pTemp->CombatStop(true); + pTemp->AttackStop(); + pTemp->setFaction(me->getFaction()); + pTemp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); + pTemp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[20].x, LightofDawnLoc[20].y, LightofDawnLoc[20].z); + pTemp->CastSpell(pTemp, SPELL_THE_LIGHT_OF_DAWN, false); + } + + if (Unit* pTemp = Unit::GetUnit((*me), uiTirionGUID)) + DoScriptText(SAY_LIGHT_OF_DAWN26, pTemp); + + SetHoldState(false); + + }else uiFight_duration -= diff; + + DoMeleeAttackIfReady(); + } + } + + void JumpToNextStep(uint32 uiTimer) + { + uiPhase_timer = uiTimer; + uiStep++; + } + + void NPCChangeTarget(uint64 ui_GUID) + { + if (Unit* pTemp = Unit::GetUnit((*me), ui_GUID)) + if (pTemp->isAlive()) + if (Unit* pTarger = SelectUnit(SELECT_TARGET_RANDOM,0)) + if (pTarger->isAlive()) + { + //((Creature*)pTemp)->DeleteThreatList(); + ((Creature*)pTemp)->AddThreat(pTarger, 0.0f); + ((Creature*)pTemp)->AI()->AttackStart(pTarger); + ((Creature*)pTemp)->SetInCombatWith(pTarger); + pTarger->SetInCombatWith(pTemp); + //((Creature*)pTemp)->GetMotionMaster()->MoveChase(pTarger, 20.0f); + } + } + + void SpawnNPC() + { + Unit* pTemp = NULL; + + // Death + for(uint8 i = 0; i < ENCOUNTER_GHOUL_NUMBER; ++i) + { + if (!(pTemp = Unit::GetUnit((*me), uiGhoulGUID[i]))) + { + pTemp = me->SummonCreature(NPC_ACHERUS_GHOUL, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->setFaction(2084); + uiGhoulGUID[i] = pTemp->GetGUID(); + } + } + for(uint8 i = 0; i < ENCOUNTER_ABOMINATION_NUMBER; ++i) + { + if (!(pTemp = Unit::GetUnit((*me), uiAbominationGUID[i]))) + { + pTemp = me->SummonCreature(NPC_WARRIOR_OF_THE_FROZEN_WASTES, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->setFaction(2084); + uiAbominationGUID[i] = pTemp->GetGUID(); + } + } + for(uint8 i = 0; i < ENCOUNTER_WARRIOR_NUMBER; ++i) + { + if (!(pTemp = Unit::GetUnit((*me), uiWarriorGUID[i]))) + { + pTemp = me->SummonCreature(NPC_RAMPAGING_ABOMINATION, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->setFaction(2084); + uiWarriorGUID[i] = pTemp->GetGUID(); + } + } + for(uint8 i = 0; i < ENCOUNTER_BEHEMOTH_NUMBER; ++i) + { + if (!(pTemp = Unit::GetUnit((*me), uiBehemothGUID[i]))) + { + pTemp = me->SummonCreature(NPC_FLESH_BEHEMOTH, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->setFaction(2084); + uiBehemothGUID[i] = pTemp->GetGUID(); + } + } + + // Dawn + for(uint8 i = 0; i < ENCOUNTER_DEFENDER_NUMBER; ++i) + { + if (!(pTemp = Unit::GetUnit((*me), uiDefenderGUID[i]))) + { + pTemp = me->SummonCreature(NPC_DEFENDER_OF_THE_LIGHT, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->setFaction(2089); + me->AddThreat(pTemp, 0.0f); + uiDefenderGUID[i] = pTemp->GetGUID(); + } + } + for(uint8 i = 0; i < ENCOUNTER_EARTHSHATTER_NUMBER; ++i) + { + if (!(pTemp = Unit::GetUnit((*me), uiEarthshatterGUID[i]))) + { + pTemp = me->SummonCreature(NPC_RIMBLAT_EARTHSHATTER, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->setFaction(2089); + me->AddThreat(pTemp, 0.0f); + uiEarthshatterGUID[i] = pTemp->GetGUID(); + } + } + if (!(pTemp = Unit::GetUnit((*me), uiKorfaxGUID))) + { + pTemp = me->SummonCreature(NPC_KORFAX_CHAMPION_OF_THE_LIGHT, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 600000); + pTemp->setFaction(2089); + me->AddThreat(pTemp, 0.0f); + uiKorfaxGUID = pTemp->GetGUID(); + } + if (!(pTemp = Unit::GetUnit((*me), uiMaxwellGUID))) + { + pTemp = me->SummonCreature(NPC_LORD_MAXWELL_TYROSUS, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 600000); + pTemp->setFaction(2089); + me->AddThreat(pTemp, 0.0f); + uiMaxwellGUID = pTemp->GetGUID(); + } + if (!(pTemp = Unit::GetUnit((*me), uiEligorGUID))) + { + pTemp = me->SummonCreature(NPC_COMMANDER_ELIGOR_DAWNBRINGER, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 600000); + pTemp->setFaction(2089); + me->AddThreat(pTemp, 0.0f); + uiEligorGUID = pTemp->GetGUID(); + } + if (!(pTemp = Unit::GetUnit((*me), uiRayneGUID))) + { + pTemp = me->SummonCreature(NPC_RAYNE, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000); + pTemp->setFaction(2089); + me->AddThreat(pTemp, 0.0f); + uiRayneGUID = pTemp->GetGUID(); + } + } + + void DespawnNPC(uint64 pGUID) + { + if (Unit* pTemp = Unit::GetUnit((*me), pGUID)) + if (pTemp->isAlive()) + { + pTemp->SetVisibility(VISIBILITY_OFF); + pTemp->DealDamage(pTemp, pTemp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + } + } +}; + +bool GossipHello_npc_highlord_darion_mograine(Player* pPlayer, Creature* pCreature) +{ + if (pCreature->isQuestGiver()) + pPlayer->PrepareQuestMenu( pCreature->GetGUID() ); + + if (pPlayer->GetQuestStatus(12801) == QUEST_STATUS_INCOMPLETE) + pPlayer->ADD_GOSSIP_ITEM( 0, "I am ready.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + + pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID()); + + return true; +} + +bool GossipSelect_npc_highlord_darion_mograine(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction) +{ + switch (uiAction) + { + case GOSSIP_ACTION_INFO_DEF+1: + pPlayer->CLOSE_GOSSIP_MENU(); + ((npc_highlord_darion_mograineAI*)pCreature->AI())->uiStep = 1; + ((npc_highlord_darion_mograineAI*)pCreature->AI())->Start(true, false, pPlayer->GetGUID()); + break; + } + return true; +} + +/*###### +## npc the lich king in dawn of light +######*/ +struct TRINITY_DLL_DECL npc_the_lich_king_tirion_dawnAI : public ScriptedAI +{ + npc_the_lich_king_tirion_dawnAI(Creature* pCreature) : ScriptedAI(pCreature) { Reset(); } + void Reset() {} + void AttackStart(Unit *who) { return; } // very sample, just don't make them aggreesive + void UpdateAI(const uint32 diff) { return; } + void JustDied(Unit* killer) {} +}; + +CreatureAI* GetAI_npc_highlord_darion_mograine(Creature* pCreature) +{ + npc_highlord_darion_mograineAI* tempAI = new npc_highlord_darion_mograineAI(pCreature); + + tempAI->FillPointMovementListForCreature(); + + return (CreatureAI*)tempAI; +} + +CreatureAI* GetAI_npc_the_lich_king_tirion_dawn(Creature* pCreature) +{ + return new npc_the_lich_king_tirion_dawnAI (pCreature); +} + +void AddSC_the_scarlet_enclave_c2() +{ + Script *newscript; + + newscript = new Script; + newscript->Name="npc_crusade_persuaded"; + newscript->GetAI = &GetAI_npc_crusade_persuaded; + newscript->RegisterSelf(); + + // 12727 Bloody Breakout + newscript = new Script; + newscript->Name = "npc_koltira_deathweaver"; + newscript->GetAI = &GetAI_npc_koltira_deathweaver; + newscript->pQuestAccept = &QuestAccept_npc_koltira_deathweaver; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="mob_scarlet_courier_controller"; + newscript->GetAI = &GetAI_mob_scarlet_courier_controller; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="mob_scarlet_courier"; + newscript->GetAI = &GetAI_mob_scarlet_courier; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="npc_koltira_deathweaver"; + newscript->GetAI = &GetAI_npc_koltira_deathweaver; + newscript->pQuestAccept = &QuestAccept_npc_koltira_deathweaver; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="mob_high_inquisitor_valroth"; + newscript->GetAI = &GetAI_mob_high_inquisitor_valroth; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="npc_highlord_darion_mograine"; + newscript->GetAI = &GetAI_npc_highlord_darion_mograine; + newscript->pGossipHello = &GossipHello_npc_highlord_darion_mograine; + newscript->pGossipSelect = &GossipSelect_npc_highlord_darion_mograine; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name="npc_the_lich_king_tirion_dawn"; + newscript->GetAI = &GetAI_npc_the_lich_king_tirion_dawn; + newscript->RegisterSelf(); +}
\ No newline at end of file diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp index ae6c4942c1a..b9945e4015f 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp @@ -17,11 +17,6 @@ */ #include "precompiled.h" -#include "Vehicle.h" -#include "ObjectMgr.h" -#include "escortAI.h" - -#define GCD_CAST 1 /*###### ## npc_a_special_surprise @@ -480,1068 +475,6 @@ CreatureAI* GetAI_npc_a_special_surprise(Creature* pCreature) return new npc_a_special_surpriseAI(pCreature); } -/*###### -## npc_koltira_deathweaver -######*/ - -enum eKoltira -{ - SAY_BREAKOUT1 = -1609079, - SAY_BREAKOUT2 = -1609080, - SAY_BREAKOUT3 = -1609081, - SAY_BREAKOUT4 = -1609082, - SAY_BREAKOUT5 = -1609083, - SAY_BREAKOUT6 = -1609084, - SAY_BREAKOUT7 = -1609085, - SAY_BREAKOUT8 = -1609086, - SAY_BREAKOUT9 = -1609087, - SAY_BREAKOUT10 = -1609088, - - SPELL_KOLTIRA_TRANSFORM = 52899, - SPELL_ANTI_MAGIC_ZONE = 52894, - - QUEST_BREAKOUT = 12727, - - NPC_CRIMSON_ACOLYTE = 29007, - NPC_HIGH_INQUISITOR_VALROTH = 29001, - NPC_KOLTIRA_ALT = 28447, - - //not sure about this id - //NPC_DEATH_KNIGHT_MOUNT = 29201, - MODEL_DEATH_KNIGHT_MOUNT = 25278 -}; - -struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI -{ - npc_koltira_deathweaverAI(Creature *pCreature) : npc_escortAI(pCreature) { } - - uint32 m_uiWave; - uint32 m_uiWave_Timer; - uint64 m_uiValrothGUID; - - void Reset() - { - if (!IsBeingEscorted) - { - m_uiWave = 0; - m_uiWave_Timer = 3000; - m_uiValrothGUID = 0; - } - } - - void WaypointReached(uint32 uiPointId) - { - switch(uiPointId) - { - case 0: - DoScriptText(SAY_BREAKOUT1, m_creature); - break; - case 1: - m_creature->SetStandState(UNIT_STAND_STATE_KNEEL); - break; - case 2: - m_creature->SetStandState(UNIT_STAND_STATE_STAND); - //m_creature->UpdateEntry(NPC_KOLTIRA_ALT); //unclear if we must update or not - DoCast(m_creature, SPELL_KOLTIRA_TRANSFORM); - break; - case 3: - IsOnHold = true; - m_creature->SetStandState(UNIT_STAND_STATE_KNEEL); - DoScriptText(SAY_BREAKOUT2, m_creature); - DoCast(m_creature, SPELL_ANTI_MAGIC_ZONE); // cast again that makes bubble up - break; - case 4: - SetRun(true); - break; - case 9: - m_creature->Mount(MODEL_DEATH_KNIGHT_MOUNT); - break; - case 10: - m_creature->Unmount(); - break; - } - } - - void JustSummoned(Creature* pSummoned) - { - if (Unit* pPlayer = Unit::GetUnit(*m_creature, PlayerGUID)) - { - pSummoned->AI()->AttackStart(pPlayer); - pSummoned->AddThreat(m_creature, 0.0f); - } - - if (pSummoned->GetEntry() == NPC_HIGH_INQUISITOR_VALROTH) - m_uiValrothGUID = pSummoned->GetGUID(); - } - - void SummonAcolyte(uint32 uiAmount) - { - for(uint32 i = 0; i < uiAmount; ++i) - m_creature->SummonCreature(NPC_CRIMSON_ACOLYTE, 1642.329, -6045.818, 127.583, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); - } - - void UpdateAI(const uint32 uiDiff) - { - npc_escortAI::UpdateAI(uiDiff); - - if (IsOnHold) - { - if (m_uiWave_Timer < uiDiff) - { - switch(m_uiWave) - { - case 0: - DoScriptText(SAY_BREAKOUT3, m_creature); - SummonAcolyte(3); - m_uiWave_Timer = 20000; - break; - case 1: - DoScriptText(SAY_BREAKOUT4, m_creature); - SummonAcolyte(3); - m_uiWave_Timer = 20000; - break; - case 2: - DoScriptText(SAY_BREAKOUT5, m_creature); - SummonAcolyte(4); - m_uiWave_Timer = 20000; - break; - case 3: - DoScriptText(SAY_BREAKOUT6, m_creature); - m_creature->SummonCreature(NPC_HIGH_INQUISITOR_VALROTH, 1642.329, -6045.818, 127.583, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000); - m_uiWave_Timer = 1000; - break; - case 4: - { - Unit* pTemp = Unit::GetUnit(*m_creature, m_uiValrothGUID); - - if (!pTemp || !pTemp->isAlive()) - { - DoScriptText(SAY_BREAKOUT8, m_creature); - m_uiWave_Timer = 5000; - } - else - { - m_uiWave_Timer = 2500; - return; //return, we don't want m_uiWave to increment now - } - break; - } - case 5: - DoScriptText(SAY_BREAKOUT9, m_creature); - m_creature->RemoveAurasDueToSpell(SPELL_ANTI_MAGIC_ZONE); - m_uiWave_Timer = 2500; - break; - case 6: - DoScriptText(SAY_BREAKOUT10, m_creature); - IsOnHold = false; - break; - } - - ++m_uiWave; - } - else - m_uiWave_Timer -= uiDiff; - } - } -}; - -CreatureAI* GetAI_npc_koltira_deathweaver(Creature* pCreature) -{ - return new npc_koltira_deathweaverAI(pCreature); -} - -bool QuestAccept_npc_koltira_deathweaver(Player* pPlayer, Creature* pCreature, const Quest* pQuest) -{ - if (pQuest->GetQuestId() == QUEST_BREAKOUT) - { - pCreature->SetStandState(UNIT_STAND_STATE_STAND); - - if (npc_escortAI* pEscortAI = CAST_AI(npc_koltira_deathweaverAI,pCreature->AI())) - pEscortAI->Start(false, false, pPlayer->GetGUID()); - } - return true; -} - -/*###### -##Quest 12848 -######*/ - -enum -{ - SPELL_SOUL_PRISON_CHAIN_SELF = 54612, - SPELL_SOUL_PRISON_CHAIN = 54613, - SPELL_DK_INITIATE_VISUAL = 51519, - - SPELL_ICY_TOUCH = 52372, - SPELL_PLAGUE_STRIKE = 52373, - SPELL_BLOOD_STRIKE = 52374, - SPELL_DEATH_COIL = 52375 -}; - -#define EVENT_ICY_TOUCH 1 -#define EVENT_PLAGUE_STRIKE 2 -#define EVENT_BLOOD_STRIKE 3 -#define EVENT_DEATH_COIL 4 - -int32 say_event_start[8] = -{ - -1609000,-1609001,-1609002,-1609003, - -1609004,-1609005,-1609006,-1609007 -}; - -int32 say_event_attack[9] = -{ - -1609008,-1609009,-1609010,-1609011,-1609012, - -1609013,-1609014,-1609015,-1609016 -}; - -uint32 acherus_soul_prison[12] = -{ - 191577, - 191580, - 191581, - 191582, - 191583, - 191584, - 191585, - 191586, - 191587, - 191588, - 191589, - 191590 -}; - -uint32 acherus_unworthy_initiate[5] = -{ - 29519, - 29520, - 29565, - 29566, - 29567 -}; - -enum UnworthyInitiatePhase -{ - PHASE_CHAINED, - PHASE_TO_EQUIP, - PHASE_EQUIPING, - PHASE_TO_ATTACK, - PHASE_ATTACKING, -}; - -struct TRINITY_DLL_DECL npc_unworthy_initiateAI : public ScriptedAI -{ - npc_unworthy_initiateAI(Creature *c) : ScriptedAI(c) - { - me->SetReactState(REACT_PASSIVE); - if (!me->GetEquipmentId()) - if (const CreatureInfo *info = GetCreatureInfo(28406)) - if (info->equipmentId) - const_cast<CreatureInfo*>(me->GetCreatureInfo())->equipmentId = info->equipmentId; - } - - bool event_startet; - uint64 event_starter; - UnworthyInitiatePhase phase; - uint32 wait_timer; - float targ_x,targ_y,targ_z; - uint64 anchorGUID; - - EventMap events; - - void Reset() - { - anchorGUID = 0; - phase = PHASE_CHAINED; - events.Reset(); - m_creature->setFaction(7); - m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2); - m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 8); - me->LoadEquipment(0, true); - event_startet = false; - } - - void EnterCombat(Unit *who) - { - events.ScheduleEvent(EVENT_ICY_TOUCH, 1000, GCD_CAST); - events.ScheduleEvent(EVENT_PLAGUE_STRIKE, 3000, GCD_CAST); - events.ScheduleEvent(EVENT_BLOOD_STRIKE, 2000, GCD_CAST); - events.ScheduleEvent(EVENT_DEATH_COIL, 5000, GCD_CAST); - } - - void MovementInform(uint32 type, uint32 id) - { - if (type != POINT_MOTION_TYPE) - return; - - if (id == 1) - { - wait_timer = 5000; - m_creature->CastSpell(m_creature,SPELL_DK_INITIATE_VISUAL,true); - - if (Unit* starter = Unit::GetUnit((*m_creature),event_starter)) - DoScriptText(say_event_attack[rand()%9],m_creature,starter); - - phase = PHASE_TO_ATTACK; - } - } - - void EventStart(Creature* anchor, Player* target) - { - wait_timer = 5000; - phase = PHASE_TO_EQUIP; - - m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); - m_creature->RemoveAurasDueToSpell(SPELL_SOUL_PRISON_CHAIN_SELF); - m_creature->RemoveAurasDueToSpell(SPELL_SOUL_PRISON_CHAIN); - - float z; - anchor->GetContactPoint(me, targ_x, targ_y, z, 1.0f); - - event_starter = target->GetGUID(); - DoScriptText(say_event_start[rand()%8], m_creature, target); - } - - void UpdateAI(const uint32 diff); -}; - -CreatureAI* GetAI_npc_unworthy_initiate(Creature* pCreature) -{ - return new npc_unworthy_initiateAI(pCreature); -} - -struct TRINITY_DLL_DECL npc_unworthy_initiate_anchorAI : public PassiveAI -{ - npc_unworthy_initiate_anchorAI(Creature *c) : PassiveAI(c), prisonerGUID(0) {} - - uint64 prisonerGUID; - - void SetGUID(const uint64 &guid, int32 id) - { - if (!prisonerGUID) - prisonerGUID = guid; - } - - uint64 GetGUID(int32 id) { return prisonerGUID; } -}; - -void npc_unworthy_initiateAI::UpdateAI(const uint32 diff) -{ - switch(phase) - { - case PHASE_CHAINED: - if (!anchorGUID) - { - float x, y, z; - float dist = 99.0f; - GameObject *prison = NULL; - - for(uint8 i = 0; i < 12; ++i) - { - if (GameObject* temp_prison = m_creature->FindNearestGameObject(acherus_soul_prison[i],30)) - { - if (dist == 99.0f || m_creature->IsWithinDist(temp_prison, dist, false)) - { - temp_prison->GetPosition(x, y, z); - dist = m_creature->GetDistance2d(temp_prison); - prison = temp_prison; - } - } - } - - if (!prison) - return; - - if (Creature* trigger = me->FindNearestCreature(29521, 30)) - { - prison->ResetDoorOrButton(); - trigger->AI()->SetGUID(m_creature->GetGUID()); - trigger->CastSpell(me, SPELL_SOUL_PRISON_CHAIN, true); - anchorGUID = trigger->GetGUID(); - } - } - return; - case PHASE_TO_EQUIP: - if (wait_timer) - { - if (wait_timer < diff) - { - m_creature->GetMotionMaster()->MovePoint(1,targ_x,targ_y,m_creature->GetPositionZ()); - phase = PHASE_EQUIPING; - wait_timer = 0; - }else wait_timer -= diff; - } - return; - case PHASE_TO_ATTACK: - if (wait_timer) - { - if (wait_timer < diff) - { - m_creature->setFaction(14); - m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2); - phase = PHASE_ATTACKING; - - if (Unit* target = Unit::GetUnit((*m_creature),event_starter)) - m_creature->AI()->AttackStart(target); - wait_timer = 0; - }else wait_timer -= diff; - } - return; - case PHASE_ATTACKING: - if (!UpdateVictim()) - return; - - events.Update(diff); - - while(uint32 eventId = events.ExecuteEvent()) - { - switch(eventId) - { - case EVENT_ICY_TOUCH: - DoCast(m_creature->getVictim(), SPELL_ICY_TOUCH); - events.DelayEvents(1000, GCD_CAST); - events.ScheduleEvent(EVENT_ICY_TOUCH, 5000, GCD_CAST); - break; - case EVENT_PLAGUE_STRIKE: - DoCast(m_creature->getVictim(), SPELL_PLAGUE_STRIKE); - events.DelayEvents(1000, GCD_CAST); - events.ScheduleEvent(SPELL_PLAGUE_STRIKE, 5000, GCD_CAST); - break; - case EVENT_BLOOD_STRIKE: - DoCast(m_creature->getVictim(), SPELL_BLOOD_STRIKE); - events.DelayEvents(1000, GCD_CAST); - events.ScheduleEvent(EVENT_BLOOD_STRIKE, 5000, GCD_CAST); - break; - case EVENT_DEATH_COIL: - DoCast(m_creature->getVictim(), SPELL_DEATH_COIL); - events.DelayEvents(1000, GCD_CAST); - events.ScheduleEvent(EVENT_DEATH_COIL, 5000, GCD_CAST); - break; - } - } - - DoMeleeAttackIfReady(); - return; - } -} - -CreatureAI* GetAI_npc_unworthy_initiate_anchor(Creature* pCreature) -{ - return new npc_unworthy_initiate_anchorAI(pCreature); -} - -bool GOHello_go_acherus_soul_prison(Player* pPlayer, GameObject* pGo) -{ - if (Creature *anchor = pGo->FindNearestCreature(29521, 15)) - if (uint64 prisonerGUID = anchor->AI()->GetGUID()) - if (Creature* prisoner = Creature::GetCreature(*pPlayer, prisonerGUID)) - CAST_AI(npc_unworthy_initiateAI, (prisoner->AI()))->EventStart(anchor, pPlayer); - - return false; -} - -/*###### -## npc_death_knight_initiate -######*/ - -#define GOSSIP_ACCEPT_DUEL "I challenge you, death knight!" - -enum -{ - SAY_DUEL_A = -1609080, - SAY_DUEL_B = -1609081, - SAY_DUEL_C = -1609082, - SAY_DUEL_D = -1609083, - SAY_DUEL_E = -1609084, - SAY_DUEL_F = -1609085, - SAY_DUEL_G = -1609086, - SAY_DUEL_H = -1609087, - SAY_DUEL_I = -1609088, - - SPELL_DUEL = 52996, - SPELL_DUEL_TRIGGERED = 52990, - SPELL_DUEL_VICTORY = 52994, - SPELL_DUEL_FLAG = 52991, - - QUEST_DEATH_CHALLENGE = 12733, - FACTION_HOSTILE = 2068 -}; - -int32 m_auiRandomSay[] = -{ - SAY_DUEL_A, SAY_DUEL_B, SAY_DUEL_C, SAY_DUEL_D, SAY_DUEL_E, SAY_DUEL_F, SAY_DUEL_G, SAY_DUEL_H, SAY_DUEL_I -}; - -struct TRINITY_DLL_DECL npc_death_knight_initiateAI : public SpellAI -{ - npc_death_knight_initiateAI(Creature* pCreature) : SpellAI(pCreature) - { - m_bIsDuelInProgress = false; - } - - bool lose; - uint64 m_uiDuelerGUID; - uint32 m_uiDuelTimer; - bool m_bIsDuelInProgress; - - void Reset() - { - lose = false; - me->RestoreFaction(); - SpellAI::Reset(); - - m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15); - - m_uiDuelerGUID = 0; - m_uiDuelTimer = 5000; - m_bIsDuelInProgress = false; - } - - void SpellHit(Unit* pCaster, const SpellEntry* pSpell) - { - if (!m_bIsDuelInProgress && pSpell->Id == SPELL_DUEL_TRIGGERED) - { - m_uiDuelerGUID = pCaster->GetGUID(); - m_bIsDuelInProgress = true; - } - } - - void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) - { - if (m_bIsDuelInProgress && pDoneBy->IsControlledByPlayer()) - { - if (pDoneBy->GetGUID() != m_uiDuelerGUID && pDoneBy->GetOwnerGUID() != m_uiDuelerGUID) // other players cannot help - uiDamage = 0; - else if (uiDamage >= m_creature->GetHealth()) - { - uiDamage = 0; - - if (!lose) - { - pDoneBy->RemoveGameObject(SPELL_DUEL_FLAG, true); - pDoneBy->AttackStop(); - me->CastSpell(pDoneBy, SPELL_DUEL_VICTORY, true); - lose = true; - me->CastSpell(me, 7267, true); - me->RestoreFaction(); - } - } - } - } - - void UpdateAI(const uint32 uiDiff) - { - if (!UpdateVictim()) - { - if (m_bIsDuelInProgress) - { - if (m_uiDuelTimer < uiDiff) - { - m_creature->setFaction(FACTION_HOSTILE); - - if (Unit* pUnit = Unit::GetUnit(*m_creature, m_uiDuelerGUID)) - AttackStart(pUnit); - } - else - m_uiDuelTimer -= uiDiff; - } - return; - } - - if (m_bIsDuelInProgress) - { - if (lose) - { - if (!me->HasAura(7267)) - EnterEvadeMode(); - return; - } - else if (me->getVictim()->GetTypeId() == TYPEID_PLAYER - && me->getVictim()->GetHealth() * 10 < me->getVictim()->GetMaxHealth()) - { - me->getVictim()->CastSpell(me->getVictim(), 7267, true); // beg - me->getVictim()->RemoveGameObject(SPELL_DUEL_FLAG, true); - EnterEvadeMode(); - return; - } - } - - // TODO: spells - - SpellAI::UpdateAI(uiDiff); - } -}; - -CreatureAI* GetAI_npc_death_knight_initiate(Creature* pCreature) -{ - return new npc_death_knight_initiateAI(pCreature); -} - -bool GossipHello_npc_death_knight_initiate(Player* pPlayer, Creature* pCreature) -{ - if (pPlayer->GetQuestStatus(QUEST_DEATH_CHALLENGE) == QUEST_STATUS_INCOMPLETE && pCreature->GetHealth() == pCreature->GetMaxHealth()) - { - if (pPlayer->GetHealth() * 10 < pPlayer->GetMaxHealth()) - return true; - - if (pPlayer->isInCombat() || pCreature->isInCombat()) - return true; - - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ACCEPT_DUEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(),pCreature->GetGUID()); - } - return true; -} - -bool GossipSelect_npc_death_knight_initiate(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction) -{ - if (uiAction == GOSSIP_ACTION_INFO_DEF) - { - pPlayer->CLOSE_GOSSIP_MENU(); - - if (pPlayer->isInCombat() || pCreature->isInCombat()) - return true; - - if (npc_death_knight_initiateAI* pInitiateAI = CAST_AI(npc_death_knight_initiateAI, pCreature->AI())) - { - if (pInitiateAI->m_bIsDuelInProgress) - return true; - } - - pCreature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15); - - int32 uiSayId = rand()% (sizeof(m_auiRandomSay)/sizeof(int32)); - DoScriptText(m_auiRandomSay[uiSayId], pCreature, pPlayer); - - pCreature->CastSpell(pPlayer, SPELL_DUEL, false); - pPlayer->CastSpell(pPlayer, SPELL_DUEL_FLAG, true); - } - return true; -} - -/*###### -## npc_dark_rider_of_acherus -######*/ - -#define DESPAWN_HORSE 52267 - -struct TRINITY_DLL_DECL npc_dark_rider_of_acherusAI : public ScriptedAI -{ - npc_dark_rider_of_acherusAI(Creature *c) : ScriptedAI(c) {} - - uint32 PhaseTimer; - uint32 Phase; - bool Intro; - Unit *Target; - - void Reset() - { - PhaseTimer = 4000; - Phase = 0; - Intro = false; - Target = NULL; - } - - void UpdateAI(const uint32 diff) - { - if (!Intro) - return; - - if (PhaseTimer < diff) - { - switch(Phase) - { - case 0: - m_creature->MonsterSay("The realm of shadows awaits...", LANG_UNIVERSAL, 0); - PhaseTimer = 5000; - Phase = 1; - break; - case 1: - DoCast(Target, DESPAWN_HORSE, true); - PhaseTimer = 3000; - Phase = 2; - break; - case 2: - m_creature->SetVisibility(VISIBILITY_OFF); - PhaseTimer = 2000; - Phase = 3; - break; - case 3: - m_creature->ForcedDespawn(); - break; - default: - break; - } - }else PhaseTimer -= diff; - - } - - void InitDespawnHorse(Unit *who) - { - if (!who) - return; - - Target = who; - m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); - m_creature->SetSpeed(MOVE_RUN, 0.4f); - m_creature->GetMotionMaster()->MoveChase(Target); - m_creature->SetUInt64Value(UNIT_FIELD_TARGET, Target->GetGUID()); - Intro = true; - } - -}; - -CreatureAI* GetAI_npc_dark_rider_of_acherus(Creature* pCreature) -{ - return new npc_dark_rider_of_acherusAI(pCreature); -} - -/*###### -## npc_salanar_the_horseman -######*/ - -enum -{ - REALM_OF_SHADOWS = 52693, - DELIVER_STOLEN_HORSE = 52264, - CALL_DARK_RIDER = 52266 -}; - -struct TRINITY_DLL_DECL npc_salanar_the_horsemanAI : public ScriptedAI -{ - npc_salanar_the_horsemanAI(Creature *c) : ScriptedAI(c) {} - - void SpellHit(Unit *caster, const SpellEntry *spell) - { - if (spell->Id == DELIVER_STOLEN_HORSE) - { - if (caster->GetTypeId() == TYPEID_UNIT && CAST_CRE(caster)->isVehicle()) - { - if (Unit *charmer = caster->GetCharmer()) - { - charmer->ExitVehicle(); - caster->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); - caster->setFaction(35); - DoCast(caster, CALL_DARK_RIDER, true); - if (Creature* Dark_Rider = m_creature->FindNearestCreature(28654, 15)) - CAST_AI(npc_dark_rider_of_acherusAI, Dark_Rider->AI())->InitDespawnHorse(caster); - } - } - } - } - - void MoveInLineOfSight(Unit *who) - { - ScriptedAI::MoveInLineOfSight(who); - - if (who->GetTypeId() == TYPEID_UNIT && CAST_CRE(who)->isVehicle() && me->IsWithinDistInMap(who, 10.0f)) - { - if (Unit *charmer = who->GetCharmer()) - { - if (charmer->GetTypeId() == TYPEID_PLAYER) - { - switch(me->GetEntry()) - { - // for quest Into the Realm of Shadows(12687) - case 28788: - if (CAST_PLR(charmer)->GetQuestStatus(12687) == QUEST_STATUS_INCOMPLETE) - { - if (CAST_PLR(charmer)->HasAura(REALM_OF_SHADOWS)) - charmer->RemoveAurasDueToSpell(REALM_OF_SHADOWS); - CAST_PLR(charmer)->GroupEventHappens(12687, me); - } - break; - default: - return; - } - CAST_PLR(charmer)->ExitVehicle(); - CAST_CRE(who)->Respawn(true); - } - } - } - } -}; - -CreatureAI* GetAI_npc_salanar_the_horseman(Creature* pCreature) -{ - return new npc_salanar_the_horsemanAI(pCreature); -} - -/*###### -## npc_ros_dark_rider -######*/ - -struct TRINITY_DLL_DECL npc_ros_dark_riderAI : public ScriptedAI -{ - npc_ros_dark_riderAI(Creature *c) : ScriptedAI(c) {} - - void EnterCombat(Unit *who) - { - me->ExitVehicle(); - } - - void Reset() - { - Creature* deathcharger = me->FindNearestCreature(28782, 30); - if (!deathcharger) return; - deathcharger->RestoreFaction(); - deathcharger->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); - deathcharger->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - if (!me->m_Vehicle && deathcharger->isVehicle() && CAST_VEH(deathcharger)->HasEmptySeat(0)) - me->EnterVehicle(CAST_VEH(deathcharger)); - } - - void JustDied(Unit *killer) - { - Creature* deathcharger = me->FindNearestCreature(28782, 30); - if (!deathcharger) return; - if (killer->GetTypeId() == TYPEID_PLAYER && deathcharger->GetTypeId() == TYPEID_UNIT && deathcharger->isVehicle()) - { - deathcharger->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); - deathcharger->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - deathcharger->setFaction(2096); - } - } -}; - -CreatureAI* GetAI_npc_ros_dark_rider(Creature* pCreature) -{ - return new npc_ros_dark_riderAI(pCreature); -} - -// correct way: 52312 52314 52555 ... -struct TRINITY_DLL_DECL npc_dkc1_gothikAI : public ScriptedAI -{ - npc_dkc1_gothikAI(Creature *c) : ScriptedAI(c) {} - - void MoveInLineOfSight(Unit *who) - { - ScriptedAI::MoveInLineOfSight(who); - - if (who->GetEntry() == 28845 && me->IsWithinDistInMap(who, 10.0f)) - { - if (Unit *owner = who->GetOwner()) - { - if (owner->GetTypeId() == TYPEID_PLAYER) - { - if (CAST_PLR(owner)->GetQuestStatus(12698) == QUEST_STATUS_INCOMPLETE) - { - CAST_CRE(who)->CastSpell(owner, 52517, true); - CAST_CRE(who)->ForcedDespawn(); - } - } - } - } - } -}; - -CreatureAI* GetAI_npc_dkc1_gothik(Creature* pCreature) -{ - return new npc_dkc1_gothikAI(pCreature); -} - - -/*#### -## npc_scarlet_miner_cart -####*/ - -#define SPELL_CART_CHECK 54173 -#define SPELL_CART_DRAG 52465 - -struct TRINITY_DLL_DECL npc_scarlet_miner_cartAI : public PassiveAI -{ - npc_scarlet_miner_cartAI(Creature *c) : PassiveAI(c), minerGUID(0) - { - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2); - me->SetDisplayId(me->GetCreatureInfo()->DisplayID_A[0]); // H0 is horse - } - - uint64 minerGUID; - - void SetGUID(const uint64 &guid, int32 id) - { - minerGUID = guid; - } - - void DoAction(const int32 param) - { - if(Creature *miner = Unit::GetCreature(*me, minerGUID)) - { - // very bad visual effect - me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); - //me->SetSpeed(MOVE_WALK, miner->GetSpeed(MOVE_WALK)); - me->SetSpeed(MOVE_RUN, miner->GetSpeed(MOVE_RUN)); - me->GetMotionMaster()->MoveFollow(miner, 1.0f, 0); - } - } - - void PassengerLeft(Unit *who, int8 seatId) - { - if(Creature *miner = Unit::GetCreature(*me, minerGUID)) - miner->DisappearAndDie(); - } -}; - -CreatureAI* GetAI_npc_scarlet_miner_cart(Creature *_Creature) -{ - return new npc_scarlet_miner_cartAI(_Creature); -} - -/*#### -## npc_scarlet_miner -####*/ - -struct TRINITY_DLL_DECL npc_scarlet_minerAI : public npc_escortAI -{ - npc_scarlet_minerAI(Creature *c) : npc_escortAI(c) - { - me->SetReactState(REACT_PASSIVE); - } - - uint32 IntroTimer; - uint32 IntroPhase; - uint64 carGUID; - - void Reset() - { - carGUID = 0; - IntroTimer = 0; - IntroPhase = 0; - } - - void InitWaypoint() - { - AddWaypoint(1, 2389.03, -5902.74, 109.014, 5000); - AddWaypoint(2, 2341.812012, -5900.484863, 102.619743); - AddWaypoint(3, 2306.561279, -5901.738281, 91.792419 ); - AddWaypoint(4, 2300.098389, -5912.618652, 86.014885 ); - AddWaypoint(5, 2294.142090, -5927.274414, 75.316849 ); - AddWaypoint(6, 2286.984375, -5944.955566, 63.714966 ); - AddWaypoint(7, 2280.001709, -5961.186035, 54.228283 ); - AddWaypoint(8, 2259.389648, -5974.197754, 42.359348 ); - AddWaypoint(9, 2242.882812, -5984.642578, 32.827850 ); - AddWaypoint(10, 2217.265625, -6028.959473, 7.675705 ); - AddWaypoint(11, 2202.595947, -6061.325684, 5.882018 ); - AddWaypoint(12, 2188.974609, -6080.866699, 3.370027 ); - - if(rand()%2) - { - AddWaypoint(13, 2176.483887, -6110.407227, 1.855181 ); - AddWaypoint(14, 2172.516602, -6146.752441, 1.074235 ); - AddWaypoint(15, 2138.918457, -6158.920898, 1.342926 ); - AddWaypoint(16, 2129.866699, -6174.107910, 4.380779 ); - AddWaypoint(17, 2117.709473, -6193.830078, 13.3542, 10000); - } - else - { - AddWaypoint(13, 2184.190186, -6166.447266, 0.968877 ); - AddWaypoint(14, 2234.265625, -6163.741211, 0.916021 ); - AddWaypoint(15, 2268.071777, -6158.750977, 1.822252 ); - AddWaypoint(16, 2270.028320, -6176.505859, 6.340538 ); - AddWaypoint(17, 2271.739014, -6195.401855, 13.3542, 10000); - } - } - - void InitCartQuest(Player *who) - { - carGUID = who->m_Vehicle->GetGUID(); - InitWaypoint(); - Start(false, false, who->GetGUID()); - SetDespawnAtFar(false); - } - - void WaypointReached(uint32 i) - { - switch (i) - { - case 1: - if(Unit *car = Unit::GetCreature(*me, carGUID)) - { - me->SetInFront(car); - me->SendMovementFlagUpdate(); - } - me->MonsterSay("Where'd this come from? I better get this down to the ships before the foreman sees it!",LANG_UNIVERSAL,NULL); - SetRun(true); - IntroTimer = 4000; - IntroPhase = 1; - break; - case 17: - if(Unit *car = Unit::GetCreature(*me, carGUID)) - { - me->SetInFront(car); - me->SendMovementFlagUpdate(); - car->Relocate(car->GetPositionX(), car->GetPositionY(), me->GetPositionZ()); - car->SendMonsterStop(); - //this make player fall under ground, dunno why - //car->GetMotionMaster()->MovePoint(0, car->GetPositionX(), car->GetPositionY(), me->GetPositionZ()); - car->RemoveAura(SPELL_CART_DRAG); - } - me->MonsterSay("Now I can have a rest!",LANG_UNIVERSAL,NULL); - break; - default: - break; - } - } - - void UpdateAI(const uint32 diff) - { - if (IntroPhase) - { - if (IntroTimer < diff) - { - if (IntroPhase == 1) - { - if(Creature *car = Unit::GetCreature(*me, carGUID)) - DoCast(car, SPELL_CART_DRAG); - IntroTimer = 800; - IntroPhase = 2; - } - else - { - if(Creature *car = Unit::GetCreature(*me, carGUID)) - car->AI()->DoAction(); - IntroPhase = 0; - } - }else IntroTimer-=diff; - } - npc_escortAI::UpdateAI(diff); - } -}; - -CreatureAI* GetAI_npc_scarlet_miner(Creature *_Creature) -{ - return new npc_scarlet_minerAI(_Creature); -} - -/*###### -## go_inconspicuous_mine_car -######*/ - -#define SPELL_CART_SUMM 52463 - -bool GOHello_go_inconspicuous_mine_car(Player* pPlayer, GameObject* pGO) -{ - if (pPlayer->GetQuestStatus(12701) == QUEST_STATUS_INCOMPLETE) - { - // Hack Why Trinity Dont Support Custom Summon Location - if(Creature *miner = pPlayer->SummonCreature(28841, 2383.869629, -5900.312500, 107.996086, pPlayer->GetOrientation(),TEMPSUMMON_DEAD_DESPAWN, 1)) - { - pPlayer->CastSpell(pPlayer, SPELL_CART_SUMM, true); - if(Vehicle *car = pPlayer->m_Vehicle) - { - if(car->GetEntry() == 28817) - { - car->AI()->SetGUID(miner->GetGUID()); - CAST_AI(npc_scarlet_minerAI, miner->AI())->InitCartQuest(pPlayer); - }else error_log("TSCR: GOHello_go_inconspicuous_mine_car vehicle entry is not correct."); - }else error_log("TSCR: GOHello_go_inconspicuous_mine_car player is not on the vehicle."); - }else error_log("TSCR: GOHello_go_inconspicuous_mine_car Scarlet Miner cant be found by script."); - } - return true; -} - -// npc 28912 quest 17217 boss 29001 mob 29007 go 191092 - /*#### ## npc_valkyr_battle_maiden ####*/ @@ -1624,6 +557,7 @@ CreatureAI* GetAI_npc_valkyr_battle_maiden(Creature* pCreature) return new npc_valkyr_battle_maidenAI (pCreature); } + void AddSC_the_scarlet_enclave() { Script *newscript; @@ -1633,76 +567,6 @@ void AddSC_the_scarlet_enclave() newscript->GetAI = &GetAI_npc_valkyr_battle_maiden; newscript->RegisterSelf(); - // 12848 The Endless Hunger - newscript = new Script; - newscript->Name="npc_unworthy_initiate"; - newscript->GetAI = &GetAI_npc_unworthy_initiate; - newscript->RegisterSelf(); - - newscript = new Script; - newscript->Name="npc_unworthy_initiate_anchor"; - newscript->GetAI = &GetAI_npc_unworthy_initiate_anchor; - newscript->RegisterSelf(); - - newscript = new Script; - newscript->Name="go_acherus_soul_prison"; - newscript->pGOHello = &GOHello_go_acherus_soul_prison; - newscript->RegisterSelf(); - - // Death's Challenge - newscript = new Script; - newscript->Name="npc_death_knight_initiate"; - newscript->GetAI = &GetAI_npc_death_knight_initiate; - newscript->pGossipHello = &GossipHello_npc_death_knight_initiate; - newscript->pGossipSelect = &GossipSelect_npc_death_knight_initiate; - newscript->RegisterSelf(); - - // 12680 Grand Theft Palomino - newscript = new Script; - newscript->Name="npc_salanar_the_horseman"; - newscript->GetAI = &GetAI_npc_salanar_the_horseman; - newscript->RegisterSelf(); - - newscript = new Script; - newscript->Name="npc_dark_rider_of_acherus"; - newscript->GetAI = &GetAI_npc_dark_rider_of_acherus; - newscript->RegisterSelf(); - - // 12687 Into the Realm of Shadows - newscript = new Script; - newscript->Name="npc_ros_dark_rider"; - newscript->GetAI = &GetAI_npc_ros_dark_rider; - newscript->RegisterSelf(); - - // 12698 The Gift That Keeps On Giving - newscript = new Script; - newscript->Name="npc_dkc1_gothik"; - newscript->GetAI = &GetAI_npc_dkc1_gothik; - newscript->RegisterSelf(); - - // Massacre At Light's Point - newscript = new Script; - newscript->Name="npc_scarlet_miner"; - newscript->GetAI = &GetAI_npc_scarlet_miner; - newscript->RegisterSelf(); - - newscript = new Script; - newscript->Name="npc_scarlet_miner_cart"; - newscript->GetAI = &GetAI_npc_scarlet_miner_cart; - newscript->RegisterSelf(); - - newscript = new Script; - newscript->Name="go_inconspicuous_mine_car"; - newscript->pGOHello = &GOHello_go_inconspicuous_mine_car; - newscript->RegisterSelf(); - - // 12727 Bloody Breakout - newscript = new Script; - newscript->Name = "npc_koltira_deathweaver"; - newscript->GetAI = &GetAI_npc_koltira_deathweaver; - newscript->pQuestAccept = &QuestAccept_npc_koltira_deathweaver; - newscript->RegisterSelf(); - // A Special Suprise newscript = new Script; newscript->Name = "npc_a_special_surprise"; diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_arcanist_doan.cpp index 363b4ccab27..363b4ccab27 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_arcanist_doan.cpp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_azshir_the_sleepless.cpp index e133d52b41b..e133d52b41b 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_azshir_the_sleepless.cpp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_bloodmage_thalnos.cpp index 84febc690d1..84febc690d1 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_bloodmage_thalnos.cpp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_headless_horseman.cpp index 36b4002d48a..36b4002d48a 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_headless_horseman.cpp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_herod.cpp index 5a1c8e6d364..6235499fe13 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_herod.cpp @@ -22,7 +22,7 @@ SDCategory: Scarlet Monastery EndScriptData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #define SAY_AGGRO -1189000 #define SAY_WHIRLWIND -1189001 diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp index d94a55bfad5..d94a55bfad5 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_houndmaster_loksey.cpp index 7d5b6a2dbd2..7d5b6a2dbd2 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_houndmaster_loksey.cpp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_interrogator_vishas.cpp index cfbc0518826..cfbc0518826 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_interrogator_vishas.cpp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_mograine_and_whitemane.cpp index 95a421fed13..95a421fed13 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_mograine_and_whitemane.cpp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_scorn.cpp index fa54e594783..fa54e594783 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/boss_scorn.cpp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/def_scarlet_monastery.h b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/def_scarlet_monastery.h index 2b6399ae3e4..2b6399ae3e4 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/def_scarlet_monastery.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/def_scarlet_monastery.h diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/instance_scarlet_monastery.cpp index 04a63a82319..04a63a82319 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_monastery/instance_scarlet_monastery.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_darkmaster_gandling.cpp index a5f32d9bde1..a5f32d9bde1 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_darkmaster_gandling.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_death_knight_darkreaver.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_death_knight_darkreaver.cpp index d4c19cc6dd6..d4c19cc6dd6 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_death_knight_darkreaver.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_death_knight_darkreaver.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_doctor_theolen_krastinov.cpp index badea0761e4..c4590243571 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_doctor_theolen_krastinov.cpp @@ -24,30 +24,33 @@ EndScriptData */ #include "precompiled.h" #include "def_scholomance.h" -#define EMOTE_GENERIC_FRENZY_KILL -1000001 +enum +{ + EMOTE_GENERIC_FRENZY_KILL = -1000001, -#define SPELL_REND 18106 -#define SPELL_CLEAVE 15584 -#define SPELL_FRENZY 28371 + SPELL_REND = 16509, + SPELL_BACKHAND = 18103, + SPELL_FRENZY = 8269 +}; struct TRINITY_DLL_DECL boss_theolenkrastinovAI : public ScriptedAI { boss_theolenkrastinovAI(Creature *c) : ScriptedAI(c) {} - uint32 Rend_Timer; - uint32 Cleave_Timer; - uint32 Frenzy_Timer; + uint32 m_uiRend_Timer; + uint32 m_uiBackhand_Timer; + uint32 m_uiFrenzy_Timer; void Reset() { - Rend_Timer = 8000; - Cleave_Timer = 9000; - Frenzy_Timer =0; + m_uiRend_Timer = 8000; + m_uiBackhand_Timer = 9000; + m_uiFrenzy_Timer = 1000; } - void JustDied(Unit *killer) + void JustDied(Unit* pKiller) { - ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? (m_creature->GetInstanceData()) : NULL; + ScriptedInstance* pInstance = (m_creature->GetInstanceData()) ? (m_creature->GetInstanceData()) : NULL; if (pInstance) { pInstance->SetData(DATA_DOCTORTHEOLENKRASTINOV_DEATH, 0); @@ -57,44 +60,47 @@ struct TRINITY_DLL_DECL boss_theolenkrastinovAI : public ScriptedAI } } - void EnterCombat(Unit *who) - { - } - - void UpdateAI(const uint32 diff) + void UpdateAI(const uint32 uiDiff) { if (!UpdateVictim()) return; //Rend_Timer - if (Rend_Timer < diff) + if (m_uiRend_Timer < uiDiff) { - DoCast(m_creature->getVictim(),SPELL_REND); - Rend_Timer = 10000; - }else Rend_Timer -= diff; + DoCast(m_creature->getVictim(), SPELL_REND); + m_uiRend_Timer = 10000; + } + else + m_uiRend_Timer -= uiDiff; - //Cleave_Timer - if (Cleave_Timer < diff) + //Backhand_Timer + if (m_uiBackhand_Timer < uiDiff) { - DoCast(m_creature->getVictim(),SPELL_CLEAVE); - Cleave_Timer = 10000; - }else Cleave_Timer -= diff; + DoCast(m_creature->getVictim(), SPELL_BACKHAND); + m_uiBackhand_Timer = 10000; + } + else + m_uiBackhand_Timer -= uiDiff; //Frenzy_Timer if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 26) { - if (Frenzy_Timer < diff) + if (m_uiFrenzy_Timer < uiDiff) { DoCast(m_creature,SPELL_FRENZY); DoScriptText(EMOTE_GENERIC_FRENZY_KILL, m_creature); - Frenzy_Timer = 8000; - }else Frenzy_Timer -= diff; + m_uiFrenzy_Timer = 120000; + } + else + m_uiFrenzy_Timer -= uiDiff; } DoMeleeAttackIfReady(); } }; + CreatureAI* GetAI_boss_theolenkrastinov(Creature* pCreature) { return new boss_theolenkrastinovAI (pCreature); diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_illucia_barov.cpp index 0fd36025676..0fd36025676 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_illucia_barov.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_instructor_malicia.cpp index b7ae2422c92..b7ae2422c92 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_instructor_malicia.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_jandice_barov.cpp index 9996479177f..9996479177f 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_jandice_barov.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_kormok.cpp index c67a49926f9..c67a49926f9 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_kormok.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_lord_alexei_barov.cpp index f8b21ebfd55..f8b21ebfd55 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_lord_alexei_barov.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_lorekeeper_polkelt.cpp index 489e8bbc1cb..489e8bbc1cb 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_lorekeeper_polkelt.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_ras_frostwhisper.cpp index 105beb13375..105beb13375 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_ras_frostwhisper.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_the_ravenian.cpp index ea355c401a3..ea355c401a3 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_the_ravenian.cpp diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_vectus.cpp index 9d343d26a7e..f12b5473abf 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/boss_vectus.cpp @@ -23,65 +23,72 @@ EndScriptData */ #include "precompiled.h" -#define EMOTE_GENERIC_FRENZY_KILL -1000001 +enum +{ + EMOTE_GENERIC_FRENZY_KILL = -1000001, -#define SPELL_FIRESHIELD 19626 -#define SPELL_BLASTWAVE 13021 -#define SPELL_FRENZY 28371 + SPELL_FLAMESTRIKE = 18399, + SPELL_BLAST_WAVE = 16046, + SPELL_FIRESHIELD = 19626, + SPELL_FRENZY = 8269 //28371, +}; struct TRINITY_DLL_DECL boss_vectusAI : public ScriptedAI { boss_vectusAI(Creature *c) : ScriptedAI(c) {} - uint32 FireShield_Timer; - uint32 BlastWave_Timer; - uint32 Frenzy_Timer; + uint32 m_uiFireShield_Timer; + uint32 m_uiBlastWave_Timer; + uint32 m_uiFrenzy_Timer; void Reset() { - FireShield_Timer = 2000; - BlastWave_Timer = 14000; - Frenzy_Timer = 0; - } - - void EnterCombat(Unit *who) - { + m_uiFireShield_Timer = 2000; + m_uiBlastWave_Timer = 14000; + m_uiFrenzy_Timer = 0; } - void UpdateAI(const uint32 diff) + void UpdateAI(const uint32 uiDiff) { if (!UpdateVictim()) return; //FireShield_Timer - if (FireShield_Timer < diff) + if (m_uiFireShield_Timer < uiDiff) { DoCast(m_creature, SPELL_FIRESHIELD); - FireShield_Timer = 90000; - }else FireShield_Timer -= diff; + m_uiFireShield_Timer = 90000; + } + else + m_uiFireShield_Timer -= uiDiff; //BlastWave_Timer - if (BlastWave_Timer < diff) + if (m_uiBlastWave_Timer < uiDiff) { - DoCast(m_creature->getVictim(),SPELL_BLASTWAVE); - BlastWave_Timer = 12000; - }else BlastWave_Timer -= diff; + DoCast(m_creature->getVictim(), SPELL_BLAST_WAVE); + m_uiBlastWave_Timer = 12000; + } + else + m_uiBlastWave_Timer -= uiDiff; //Frenzy_Timer if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 25) { - if (Frenzy_Timer < diff) + if (m_uiFrenzy_Timer < uiDiff) { - DoCast(m_creature,SPELL_FRENZY); + DoCast(m_creature, SPELL_FRENZY); DoScriptText(EMOTE_GENERIC_FRENZY_KILL, m_creature); - Frenzy_Timer = 24000; - }else Frenzy_Timer -= diff; + m_uiFrenzy_Timer = 24000; + } + else + m_uiFrenzy_Timer -= uiDiff; } DoMeleeAttackIfReady(); } }; + CreatureAI* GetAI_boss_vectus(Creature* pCreature) { return new boss_vectusAI (pCreature); diff --git a/src/bindings/scripts/scripts/zone/scholomance/def_scholomance.h b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/def_scholomance.h index 83ce26c9687..83ce26c9687 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/def_scholomance.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/def_scholomance.h diff --git a/src/bindings/scripts/scripts/zone/scholomance/instance_scholomance.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/instance_scholomance.cpp index 282d6e9705a..282d6e9705a 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/instance_scholomance.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scholomance/instance_scholomance.cpp diff --git a/src/bindings/scripts/scripts/zone/shadowfang_keep/def_shadowfang_keep.h b/src/bindings/scripts/scripts/eastern_kingdoms/shadowfang_keep/def_shadowfang_keep.h index 8383a5c3950..8383a5c3950 100644 --- a/src/bindings/scripts/scripts/zone/shadowfang_keep/def_shadowfang_keep.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/shadowfang_keep/def_shadowfang_keep.h diff --git a/src/bindings/scripts/scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/shadowfang_keep/instance_shadowfang_keep.cpp index 5c3cf162b94..5c3cf162b94 100644 --- a/src/bindings/scripts/scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/shadowfang_keep/instance_shadowfang_keep.cpp diff --git a/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp index 5f9d42ea65e..346e922a1b4 100644 --- a/src/bindings/scripts/scripts/zone/shadowfang_keep/shadowfang_keep.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp @@ -26,7 +26,7 @@ npc_shadowfang_prisoner EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #include "def_shadowfang_keep.h" /*###### diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp index bd8b2906c92..409d6702d2b 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/silverpine_forest.cpp @@ -27,7 +27,7 @@ npc_deathstalker_erland EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_astor_hadren @@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL npc_deathstalker_erlandAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -176,37 +176,7 @@ bool QuestAccept_npc_deathstalker_erland(Player* pPlayer, Creature* pCreature, Q CreatureAI* GetAI_npc_deathstalker_erlandAI(Creature* pCreature) { - npc_deathstalker_erlandAI* deathstalker_erlandAI = new npc_deathstalker_erlandAI(pCreature); - - deathstalker_erlandAI->AddWaypoint(0, 1406.32, 1083.10, 52.55); - deathstalker_erlandAI->AddWaypoint(1, 1400.49, 1080.42, 52.50); //first say - deathstalker_erlandAI->AddWaypoint(2, 1388.48, 1083.10, 52.52); - deathstalker_erlandAI->AddWaypoint(3, 1370.16, 1084.02, 52.30); - deathstalker_erlandAI->AddWaypoint(4, 1359.02, 1080.85, 52.46); - deathstalker_erlandAI->AddWaypoint(5, 1341.43, 1087.39, 52.69); - deathstalker_erlandAI->AddWaypoint(6, 1321.93, 1090.51, 50.66); - deathstalker_erlandAI->AddWaypoint(7, 1312.98, 1095.91, 47.49); - deathstalker_erlandAI->AddWaypoint(8, 1301.09, 1102.94, 47.76); - deathstalker_erlandAI->AddWaypoint(9, 1297.73, 1106.35, 50.18); - deathstalker_erlandAI->AddWaypoint(10, 1295.49, 1124.32, 50.49); - deathstalker_erlandAI->AddWaypoint(11, 1294.84, 1137.25, 51.75); - deathstalker_erlandAI->AddWaypoint(12, 1292.89, 1158.99, 52.65); - deathstalker_erlandAI->AddWaypoint(13, 1290.75, 1168.67, 52.56, 1000); //complete quest and say last - deathstalker_erlandAI->AddWaypoint(14, 1287.12, 1203.49, 52.66, 5000); - deathstalker_erlandAI->AddWaypoint(15, 1287.12, 1203.49, 52.66, 4000); - deathstalker_erlandAI->AddWaypoint(16, 1287.12, 1203.49, 52.66, 5000); - deathstalker_erlandAI->AddWaypoint(17, 1287.12, 1203.49, 52.66, 4000); - deathstalker_erlandAI->AddWaypoint(18, 1290.72, 1207.44, 52.69); - deathstalker_erlandAI->AddWaypoint(19, 1297.50, 1207.18, 53.74); - deathstalker_erlandAI->AddWaypoint(20, 1301.32, 1220.90, 53.74); - deathstalker_erlandAI->AddWaypoint(21, 1298.55, 1220.43, 53.74); - deathstalker_erlandAI->AddWaypoint(22, 1297.59, 1211.23, 58.47); - deathstalker_erlandAI->AddWaypoint(23, 1305.01, 1206.10, 58.51); - deathstalker_erlandAI->AddWaypoint(24, 1310.51, 1207.36, 58.51, 5000); - deathstalker_erlandAI->AddWaypoint(25, 1310.51, 1207.36, 58.51, 5000); - deathstalker_erlandAI->AddWaypoint(26, 1310.51, 1207.36, 58.51, 2000); - - return deathstalker_erlandAI; + return new npc_deathstalker_erlandAI(pCreature); } /*###### diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_baron_rivendare.cpp index b83637650bb..b83637650bb 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_baron_rivendare.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_baroness_anastari.cpp index 157c3f166c3..157c3f166c3 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_baroness_anastari.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_cannon_master_willey.cpp index 9d934e87627..9d934e87627 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_cannon_master_willey.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_dathrohan_balnazzar.cpp index 00506ad880c..00506ad880c 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_dathrohan_balnazzar.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_magistrate_barthilas.cpp index fc922a4e39a..fc922a4e39a 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_magistrate_barthilas.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_maleki_the_pallid.cpp index 358e54cd39c..358e54cd39c 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_maleki_the_pallid.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_nerubenkan.cpp index cd007273cd7..cd007273cd7 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_nerubenkan.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_order_of_silver_hand.cpp index b9b07ad3cbb..b9b07ad3cbb 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_order_of_silver_hand.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_postmaster_malown.cpp index 9fd7e550b4f..9fd7e550b4f 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_postmaster_malown.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_ramstein_the_gorger.cpp index 6659e2dfdb1..6659e2dfdb1 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_ramstein_the_gorger.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_timmy_the_cruel.cpp index 27eb2672b33..27eb2672b33 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/boss_timmy_the_cruel.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/def_stratholme.h b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/def_stratholme.h index b9246091a7c..b9246091a7c 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/def_stratholme.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/def_stratholme.h diff --git a/src/bindings/scripts/scripts/zone/stratholme/instance_stratholme.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/instance_stratholme.cpp index c37b1a904f7..c37b1a904f7 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/instance_stratholme.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/instance_stratholme.cpp diff --git a/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/stratholme.cpp index ea8fe41fef0..ea8fe41fef0 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/stratholme/stratholme.cpp diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_brutallus.cpp index 980fe656b4a..980fe656b4a 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_brutallus.cpp diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp index 86ed15ad653..86ed15ad653 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp index 8402f077fdd..8402f077fdd 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp index 874330c0212..874330c0212 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_kiljaeden.cpp index ec5f1d71988..ec5f1d71988 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_kiljaeden.cpp diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_muru.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp index 003080002d1..003080002d1 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_muru.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/def_sunwell_plateau.h b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/def_sunwell_plateau.h index ca8c014d9df..ca8c014d9df 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/def_sunwell_plateau.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/def_sunwell_plateau.h diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp index 8b763e9d7b7..8b763e9d7b7 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/sunwell_plateau.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.cpp index e68717857cb..e68717857cb 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/sunwell_plateau.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.cpp diff --git a/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/uldaman/boss_archaedas.cpp index 43628a6565e..43628a6565e 100644 --- a/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/uldaman/boss_archaedas.cpp diff --git a/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/uldaman/boss_ironaya.cpp index 17e32e7178a..17e32e7178a 100644 --- a/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/uldaman/boss_ironaya.cpp diff --git a/src/bindings/scripts/scripts/zone/uldaman/instance_uldaman.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/uldaman/instance_uldaman.cpp index 21b639e2449..21b639e2449 100644 --- a/src/bindings/scripts/scripts/zone/uldaman/instance_uldaman.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/uldaman/instance_uldaman.cpp diff --git a/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/uldaman/uldaman.cpp index 730dcac211a..730dcac211a 100644 --- a/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/uldaman/uldaman.cpp diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp index 3ddaffe6e25..0799f745a70 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/westfall.cpp @@ -27,7 +27,7 @@ npc_defias_traitor EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_daphne_stilwell @@ -73,7 +73,7 @@ struct TRINITY_DLL_DECL npc_daphne_stilwellAI : public npc_escortAI void WaypointReached(uint32 uiPoint) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -197,7 +197,7 @@ struct TRINITY_DLL_DECL npc_defias_traitorAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/wetlands.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/wetlands.cpp new file mode 100644 index 00000000000..3568c7e555b --- /dev/null +++ b/src/bindings/scripts/scripts/eastern_kingdoms/wetlands.cpp @@ -0,0 +1,167 @@ +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* ScriptData +SDName: Wetlands +SD%Complete: 80 +SDComment: Quest support: 1249 +SDCategory: Wetlands +EndScriptData */ + +/* ContentData +npc_mikhail +npc_tapoke_slim_jahn +EndContentData */ + +#include "precompiled.h" +#include "escort_ai.h" + +/*###### +## npc_tapoke_slim_jahn +######*/ + +enum +{ + QUEST_MISSING_DIPLO_PT11 = 1249, + FACTION_ENEMY = 168, + SPELL_STEALTH = 1785, + NPC_SLIMS_FRIEND = 4971, + NPC_TAPOKE_SLIM_JAHN = 4962 +}; + +struct TRINITY_DLL_DECL npc_tapoke_slim_jahnAI : public npc_escortAI +{ + npc_tapoke_slim_jahnAI(Creature* pCreature) : npc_escortAI(pCreature) { } + + bool m_bFriendSummoned; + + void Reset() + { + if (!IsBeingEscorted) + m_bFriendSummoned = false; + } + + void WaypointReached(uint32 uiPointId) + { + switch(uiPointId) + { + case 2: + if (m_creature->HasStealthAura()) + m_creature->RemoveAurasDueToSpell(SPELL_AURA_MOD_STEALTH); + + SetRun(); + m_creature->setFaction(FACTION_ENEMY); + break; + } + } + + void Aggro(Unit* pWho) + { + Player* pPlayer = GetPlayerForEscort(); + + if (IsBeingEscorted && !m_bFriendSummoned && pPlayer) + { + m_creature->SummonCreature(NPC_SLIMS_FRIEND, 0.0f, 0.0f, 0.0f, 3.10f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000); + m_creature->SummonCreature(NPC_SLIMS_FRIEND, 0.0f, 0.0f, 0.0f, 2.35f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000); + m_creature->SummonCreature(NPC_SLIMS_FRIEND, 0.0f, 0.0f, 0.0f, 2.02f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000); + m_bFriendSummoned = true; + } + } + + void JustSummoned(Creature* pSummoned) + { + if (Player* pPlayer = GetPlayerForEscort()) + pSummoned->AI()->AttackStart(pPlayer); + } + + void AttackedBy(Unit* pAttacker) + { + if (m_creature->getVictim()) + return; + + if (m_creature->IsFriendlyTo(pAttacker)) + return; + + AttackStart(pAttacker); + } + + void DamageTaken(Unit* pDoneBy, uint32& uiDamage) + { + if (m_creature->GetHealth()*100 < m_creature->GetMaxHealth()*20) + { + if (Player* pPlayer = GetPlayerForEscort()) + { + if (pPlayer->GetTypeId() == TYPEID_PLAYER) + CAST_PLR(pPlayer)->GroupEventHappens(QUEST_MISSING_DIPLO_PT11, m_creature); + + uiDamage = 0; + + me->RestoreFaction(); + m_creature->RemoveAllAuras(); + m_creature->DeleteThreatList(); + m_creature->CombatStop(true); + + SetRun(false); + } + } + } +}; + +CreatureAI* GetAI_npc_tapoke_slim_jahn(Creature* pCreature) +{ + return new npc_tapoke_slim_jahnAI(pCreature); +} + +/*###### +## npc_mikhail +######*/ + +bool QuestAccept_npc_mikhail(Player* pPlayer, Creature* pCreature, const Quest* pQuest) +{ + if (pQuest->GetQuestId() == QUEST_MISSING_DIPLO_PT11) + { + Creature* pSlim = pCreature->FindNearestCreature(NPC_TAPOKE_SLIM_JAHN, 25.0f); + + if (!pSlim) + return false; + + if (!pSlim->HasStealthAura()) + pSlim->CastSpell(pSlim, SPELL_STEALTH, true); + + if (npc_tapoke_slim_jahnAI* pEscortAI = CAST_AI(npc_tapoke_slim_jahnAI, pSlim->AI())) + pEscortAI->Start(false, false, pPlayer->GetGUID(), pQuest); + } + return false; +} + +/*###### +## AddSC +######*/ + +void AddSC_wetlands() +{ + Script *newscript; + + newscript = new Script; + newscript->Name = "npc_tapoke_slim_jahn"; + newscript->GetAI = &GetAI_npc_tapoke_slim_jahn; + newscript->RegisterSelf(); + + newscript = new Script; + newscript->Name = "npc_mikhail"; + newscript->pQuestAccept = &QuestAccept_npc_mikhail; + newscript->RegisterSelf(); +} diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_akilzon.cpp index fb369aee5e4..fb369aee5e4 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_akilzon.cpp diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_halazzi.cpp index d8c83039b2f..d8c83039b2f 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_halazzi.cpp diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_hexlord.cpp index 3ccd0ec129f..3ccd0ec129f 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_hexlord.cpp diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_janalai.cpp index 46a6c0dac59..46a6c0dac59 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_janalai.cpp diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_nalorakk.cpp index 817e652706e..817e652706e 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_nalorakk.cpp diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_zuljin.cpp index a0c2bec4428..a0c2bec4428 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/boss_zuljin.cpp diff --git a/src/bindings/scripts/scripts/zone/zulaman/def_zulaman.h b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/def_zulaman.h index 6fb0ef173bd..6fb0ef173bd 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/def_zulaman.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/def_zulaman.h diff --git a/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/instance_zulaman.cpp index 74186442d9e..74186442d9e 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/instance_zulaman.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/instance_zulaman.cpp diff --git a/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/zulaman.cpp index 86cb3196ab7..86cb3196ab7 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulaman/zulaman.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp index 3358255e0bc..3358255e0bc 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_gahzranka.cpp index ab2b4c81704..ab2b4c81704 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_gahzranka.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_grilek.cpp index 696bcded32d..696bcded32d 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_grilek.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_hakkar.cpp index 2fb48ae3a5d..2fb48ae3a5d 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_hakkar.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_hazzarah.cpp index 05ab262c21c..05ab262c21c 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_hazzarah.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_jeklik.cpp index 5b295f35623..5b295f35623 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_jeklik.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_jindo.cpp index e1c5e0ea7c5..e1c5e0ea7c5 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_jindo.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_mandokir.cpp index 892e1cdf8b4..892e1cdf8b4 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_mandokir.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp index 595716f1487..595716f1487 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp index 608897ad18d..608897ad18d 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp index 4c40702b691..4c40702b691 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp index 1376db2d259..1376db2d259 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_wushoolay.cpp index f0dbbda947a..f0dbbda947a 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/boss_wushoolay.cpp diff --git a/src/bindings/scripts/scripts/zone/zulgurub/def_zulgurub.h b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/def_zulgurub.h index 3aab5b24b56..3aab5b24b56 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/def_zulgurub.h +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/def_zulgurub.h diff --git a/src/bindings/scripts/scripts/zone/zulgurub/instance_zulgurub.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/instance_zulgurub.cpp index 03b3e64c5e6..03b3e64c5e6 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/instance_zulgurub.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/zulgurub/instance_zulgurub.cpp diff --git a/src/bindings/scripts/scripts/examples/example_escort.cpp b/src/bindings/scripts/scripts/examples/example_escort.cpp index 23c97fb9b60..4fdc1b7e1ad 100644 --- a/src/bindings/scripts/scripts/examples/example_escort.cpp +++ b/src/bindings/scripts/scripts/examples/example_escort.cpp @@ -22,7 +22,7 @@ SDCategory: Script Examples EndScriptData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" enum { @@ -76,12 +76,12 @@ struct TRINITY_DLL_DECL example_escortAI : public npc_escortAI m_creature->SummonCreature(NPC_FELBOAR, m_creature->GetPositionX()+5.0f, m_creature->GetPositionY()+7.0f, m_creature->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000); break; case 4: - if (Unit* pTmpPlayer = Unit::GetUnit(*m_creature, PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) { //pTmpPlayer is the target of the text - DoScriptText(SAY_WP_3, m_creature, pTmpPlayer); + DoScriptText(SAY_WP_3, m_creature, pPlayer); //pTmpPlayer is the source of the text - DoScriptText(SAY_WP_4, pTmpPlayer); + DoScriptText(SAY_WP_4, pPlayer); } break; } @@ -91,8 +91,8 @@ struct TRINITY_DLL_DECL example_escortAI : public npc_escortAI { if (IsBeingEscorted) { - if (Unit* pTemp = Unit::GetUnit(*m_creature, PlayerGUID)) - DoScriptText(SAY_AGGRO1, m_creature, pTemp); + if (Player* pPlayer = GetPlayerForEscort()) + DoScriptText(SAY_AGGRO1, m_creature, pPlayer); } else DoScriptText(SAY_AGGRO2, m_creature); @@ -108,15 +108,15 @@ struct TRINITY_DLL_DECL example_escortAI : public npc_escortAI { if (IsBeingEscorted) { - if (Unit *pTemp = Unit::GetUnit(*m_creature,PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) { // not a likely case, code here for the sake of example if (pKiller == m_creature) { - DoScriptText(SAY_DEATH_1, m_creature, pTemp); + DoScriptText(SAY_DEATH_1, m_creature, pPlayer); } else - DoScriptText(SAY_DEATH_2, m_creature, pTemp); + DoScriptText(SAY_DEATH_2, m_creature, pPlayer); } } else diff --git a/src/bindings/scripts/scripts/kalimdor/ashenvale.cpp b/src/bindings/scripts/scripts/kalimdor/ashenvale.cpp index 86f3286c92f..7bb193b98be 100644 --- a/src/bindings/scripts/scripts/kalimdor/ashenvale.cpp +++ b/src/bindings/scripts/scripts/kalimdor/ashenvale.cpp @@ -27,7 +27,7 @@ npc_ruul_snowhoof EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*#### # npc_torek @@ -59,7 +59,7 @@ struct TRINITY_DLL_DECL npc_torekAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -81,8 +81,8 @@ struct TRINITY_DLL_DECL npc_torekAI : public npc_escortAI case 20: DoScriptText(SAY_WIN, m_creature, pPlayer); Completed = true; - if (pPlayer && pPlayer->GetTypeId() == TYPEID_PLAYER) - CAST_PLR(pPlayer)->GroupEventHappens(QUEST_TOREK_ASSULT,m_creature); + if (pPlayer) + pPlayer->GroupEventHappens(QUEST_TOREK_ASSULT, m_creature); break; case 21: DoScriptText(SAY_END, m_creature, pPlayer); @@ -160,7 +160,7 @@ struct TRINITY_DLL_DECL npc_ruul_snowhoofAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -185,8 +185,8 @@ struct TRINITY_DLL_DECL npc_ruul_snowhoofAI : public npc_escortAI break; case 21:{ - if (pPlayer && pPlayer->GetTypeId() == TYPEID_PLAYER) - CAST_PLR(pPlayer)->GroupEventHappens(QUEST_FREEDOM_TO_RUUL,m_creature); + if (pPlayer) + pPlayer->GroupEventHappens(QUEST_FREEDOM_TO_RUUL, m_creature); break; } } diff --git a/src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp b/src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp index 71341f4d0ee..f881715ca64 100644 --- a/src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp +++ b/src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp @@ -31,7 +31,7 @@ mob_nestlewood_owlkin EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #include <cmath> /*###### @@ -338,7 +338,7 @@ struct TRINITY_DLL_DECL npc_magwinAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; diff --git a/src/bindings/scripts/scripts/zone/blackfathom_depths/def_blackfathom_deeps.h b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/def_blackfathom_deeps.h index 6a1b1974886..6a1b1974886 100644 --- a/src/bindings/scripts/scripts/zone/blackfathom_depths/def_blackfathom_deeps.h +++ b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/def_blackfathom_deeps.h diff --git a/src/bindings/scripts/scripts/zone/blackfathom_depths/instance_blackfathom_deeps.cpp b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp index 19203ce2d73..19203ce2d73 100644 --- a/src/bindings/scripts/scripts/zone/blackfathom_depths/instance_blackfathom_deeps.cpp +++ b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_epoch.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp index 2e9877e97e2..2e9877e97e2 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_epoch.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp index bd68d94d994..bd68d94d994 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_meathook.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp index 117a17585c6..117a17585c6 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_meathook.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_salramm.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp index 418adb82ff4..418adb82ff4 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/boss_salramm.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/def_culling_of_stratholme.h b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/def_culling_of_stratholme.h index 849549e8f99..849549e8f99 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/def_culling_of_stratholme.h +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/def_culling_of_stratholme.h diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp index 35ee68ea991..35ee68ea991 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp index 5667f5ae0b1..5667f5ae0b1 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp index 2a1d3c4fe03..2a1d3c4fe03 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp index 0d1a6eec214..0d1a6eec214 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.cpp index b57abc8c5d6..b57abc8c5d6 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/def_dark_portal.h index 7bfd8c917d7..7bfd8c917d7 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/def_dark_portal.h diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp index f406bca7113..f406bca7113 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_anetheron.cpp index 9f2971083e4..9f2971083e4 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_anetheron.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_archimonde.cpp index 4819a74fc0c..4819a74fc0c 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_archimonde.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_azgalor.cpp index c4c928359c1..c4c928359c1 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_azgalor.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_kazrogal.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_kazrogal.cpp index 59700ddac0a..59700ddac0a 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_kazrogal.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_kazrogal.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_rage_winterchill.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_rage_winterchill.cpp index a7a9adf1676..a7a9adf1676 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_rage_winterchill.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/boss_rage_winterchill.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/def_hyjal.h b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/def_hyjal.h index c08f28a4f3d..c08f28a4f3d 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/def_hyjal.h +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/def_hyjal.h diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjal.cpp index a7861e11ccc..a7861e11ccc 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjal.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.cpp index 726ce62b4c9..726ce62b4c9 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.h index 3b0ff32a429..c646c47699c 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.h @@ -6,7 +6,7 @@ #define SC_HYJALAI_H #include "def_hyjal.h" -#include "escortAI.h" +#include "escort_ai.h" // Trash Mobs summoned in waves #define NECROMANCER 17899//done diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.cpp index b0739530fdc..b0739530fdc 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.h index 9eeff8a03f4..17fdbad5fda 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.h @@ -3,7 +3,7 @@ #define SC_HYJAL_TRASH_AI_H #include "def_hyjal.h" -#include "escortAI.h" +#include "escort_ai.h" #define MINRAIDDAMAGE 700000//minimal damage before trash can drop loot and reputation, resets if faction leader dies diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/instance_hyjal.cpp index 83fbbc67b73..83fbbc67b73 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/hyjal/instance_hyjal.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp index 0c6c98d9758..0c6c98d9758 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp index 138a59cce93..138a59cce93 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp index 266f61354c0..6200d947b63 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp @@ -23,7 +23,7 @@ EndScriptData */ #include "precompiled.h" #include "def_old_hillsbrad.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## go_barrel_old_hillsbrad diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h index 3253a384217..3253a384217 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp index b8ec8f2e111..b8ec8f2e111 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp index 5559989ef65..d8471deb96b 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp @@ -28,7 +28,7 @@ npc_taretha EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #include "def_old_hillsbrad.h" #define QUEST_ENTRY_HILLSBRAD 10282 @@ -329,14 +329,11 @@ struct TRINITY_DLL_DECL npc_thrall_old_hillsbradAI : public npc_escortAI case 106: { - if (!PlayerGUID) - break; - //trigger taretha to run down outside - if (uint64 TarethaGUID = pInstance->GetData64(DATA_TARETHA)) + if (Creature* Taretha = pInstance->instance->GetCreature(pInstance->GetData64(DATA_TARETHA))) { - if (Creature* Taretha = (Unit::GetCreature(*m_creature, TarethaGUID))) - CAST_AI(npc_escortAI, (Taretha->AI()))->Start(false, true, PlayerGUID); + if (Player* pPlayer = GetPlayerForEscort()) + CAST_AI(npc_escortAI, (Taretha->AI()))->Start(false, true, pPlayer->GetGUID()); } //kill credit Creature for quest diff --git a/src/bindings/scripts/scripts/kalimdor/darkshore.cpp b/src/bindings/scripts/scripts/kalimdor/darkshore.cpp index fef5cf36e43..8ff16a53832 100644 --- a/src/bindings/scripts/scripts/kalimdor/darkshore.cpp +++ b/src/bindings/scripts/scripts/kalimdor/darkshore.cpp @@ -27,7 +27,7 @@ npc_threshwackonator EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*#### # npc_prospector_remtravel @@ -62,7 +62,7 @@ struct TRINITY_DLL_DECL npc_prospector_remtravelAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -136,11 +136,6 @@ struct TRINITY_DLL_DECL npc_prospector_remtravelAI : public npc_escortAI //unsure if it should be any //pSummoned->AI()->AttackStart(m_creature); } - - void UpdateAI(const uint32 diff) - { - npc_escortAI::UpdateAI(diff); - } }; CreatureAI* GetAI_npc_prospector_remtravel(Creature* pCreature) diff --git a/src/bindings/scripts/scripts/kalimdor/feralas.cpp b/src/bindings/scripts/scripts/kalimdor/feralas.cpp index 826d9cf19f8..99090b06039 100644 --- a/src/bindings/scripts/scripts/kalimdor/feralas.cpp +++ b/src/bindings/scripts/scripts/kalimdor/feralas.cpp @@ -22,7 +22,7 @@ SDCategory: Feralas EndScriptData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_gregan_brewspewer @@ -111,7 +111,7 @@ struct TRINITY_DLL_DECL npc_oox22feAI : public npc_escortAI case 37: DoScriptText(SAY_END,m_creature); // Award quest credit - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) { pPlayer->GroupEventHappens(QUEST_RESCUE_OOX22FE, m_creature); } diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp b/src/bindings/scripts/scripts/kalimdor/maraudon/boss_celebras_the_cursed.cpp index f2ac8ff08e1..f2ac8ff08e1 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp +++ b/src/bindings/scripts/scripts/kalimdor/maraudon/boss_celebras_the_cursed.cpp diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp b/src/bindings/scripts/scripts/kalimdor/maraudon/boss_landslide.cpp index 353b9c1e3c0..353b9c1e3c0 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp +++ b/src/bindings/scripts/scripts/kalimdor/maraudon/boss_landslide.cpp diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp b/src/bindings/scripts/scripts/kalimdor/maraudon/boss_noxxion.cpp index 62190d4192a..62190d4192a 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp +++ b/src/bindings/scripts/scripts/kalimdor/maraudon/boss_noxxion.cpp diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp b/src/bindings/scripts/scripts/kalimdor/maraudon/boss_princess_theradras.cpp index 7199c18cf75..7199c18cf75 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp +++ b/src/bindings/scripts/scripts/kalimdor/maraudon/boss_princess_theradras.cpp diff --git a/src/bindings/scripts/scripts/kalimdor/moonglade.cpp b/src/bindings/scripts/scripts/kalimdor/moonglade.cpp index 4206e370f4c..10d61132c5b 100644 --- a/src/bindings/scripts/scripts/kalimdor/moonglade.cpp +++ b/src/bindings/scripts/scripts/kalimdor/moonglade.cpp @@ -30,7 +30,7 @@ npc_clintar_dreamwalker EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_bunthen_plainswind diff --git a/src/bindings/scripts/scripts/kalimdor/mulgore.cpp b/src/bindings/scripts/scripts/kalimdor/mulgore.cpp index 544cce69d28..97e2e1233cc 100644 --- a/src/bindings/scripts/scripts/kalimdor/mulgore.cpp +++ b/src/bindings/scripts/scripts/kalimdor/mulgore.cpp @@ -28,7 +28,7 @@ npc_plains_vision EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### # npc_skorn_whitecloud diff --git a/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp b/src/bindings/scripts/scripts/kalimdor/onyxias_lair/boss_onyxia.cpp index 35608557dad..35608557dad 100644 --- a/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp +++ b/src/bindings/scripts/scripts/kalimdor/onyxias_lair/boss_onyxia.cpp diff --git a/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp b/src/bindings/scripts/scripts/kalimdor/razorfen_downs/boss_amnennar_the_coldbringer.cpp index 2ecccaf2980..2ecccaf2980 100644 --- a/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp +++ b/src/bindings/scripts/scripts/kalimdor/razorfen_downs/boss_amnennar_the_coldbringer.cpp diff --git a/src/bindings/scripts/scripts/zone/razorfen_downs/razorfen_downs.cpp b/src/bindings/scripts/scripts/kalimdor/razorfen_downs/razorfen_downs.cpp index 7515c5a9195..7515c5a9195 100644 --- a/src/bindings/scripts/scripts/zone/razorfen_downs/razorfen_downs.cpp +++ b/src/bindings/scripts/scripts/kalimdor/razorfen_downs/razorfen_downs.cpp diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/def_razorfen_kraul.h b/src/bindings/scripts/scripts/kalimdor/razorfen_kraul/def_razorfen_kraul.h index 96917fcd4bf..96917fcd4bf 100644 --- a/src/bindings/scripts/scripts/zone/razorfen_kraul/def_razorfen_kraul.h +++ b/src/bindings/scripts/scripts/kalimdor/razorfen_kraul/def_razorfen_kraul.h diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp b/src/bindings/scripts/scripts/kalimdor/razorfen_kraul/instance_razorfen_kraul.cpp index 94b0943cf3d..94b0943cf3d 100644 --- a/src/bindings/scripts/scripts/zone/razorfen_kraul/instance_razorfen_kraul.cpp +++ b/src/bindings/scripts/scripts/kalimdor/razorfen_kraul/instance_razorfen_kraul.cpp diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp b/src/bindings/scripts/scripts/kalimdor/razorfen_kraul/razorfen_kraul.cpp index a6bd845b13e..b24a51cb3cb 100644 --- a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp +++ b/src/bindings/scripts/scripts/kalimdor/razorfen_kraul/razorfen_kraul.cpp @@ -26,7 +26,7 @@ npc_willix EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #include "def_razorfen_kraul.h" #define SAY_READY -1047000 @@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL npc_willixAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -114,16 +114,8 @@ struct TRINITY_DLL_DECL npc_willixAI : public npc_escortAI void JustDied(Unit* killer) { - if (PlayerGUID) - { - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) - CAST_PLR(pPlayer)->FailQuest(QUEST_WILLIX_THE_IMPORTER); - } - } - - void UpdateAI(const uint32 diff) - { - npc_escortAI::UpdateAI(diff); + if (Player* pPlayer = GetPlayerForEscort()) + CAST_PLR(pPlayer)->FailQuest(QUEST_WILLIX_THE_IMPORTER); } }; @@ -181,57 +173,7 @@ CreatureAI* GetAI_npc_deaths_head_ward_keeper(Creature* pCreature) CreatureAI* GetAI_npc_willix(Creature* pCreature) { - npc_willixAI* thisAI = new npc_willixAI(pCreature); - - thisAI->AddWaypoint(0, 2194.38, 1791.65, 65.48, 5000); - thisAI->AddWaypoint(1, 2188.56, 1805.87, 64.45); - thisAI->AddWaypoint(2, 2187, 1843.49, 59.33); - thisAI->AddWaypoint(3, 2163.27, 1851.67, 56.73, 5000); - thisAI->AddWaypoint(4, 2137.66, 1843.98, 48.08, 5000); - thisAI->AddWaypoint(5, 2140.22, 1845.02, 48.32); - thisAI->AddWaypoint(6, 2131.5, 1804.29, 46.85); - thisAI->AddWaypoint(7, 2096.18, 1789.03, 51.13); - thisAI->AddWaypoint(8, 2074.46, 1780.09, 55.64, 3000); - thisAI->AddWaypoint(9, 2055.12, 1768.67, 58.46, 5000); - thisAI->AddWaypoint(10, 2037.83, 1748.62, 60.27); - thisAI->AddWaypoint(11, 2037.51, 1728.94, 60.85); - thisAI->AddWaypoint(12, 2044.7, 1711.71, 59.71); - thisAI->AddWaypoint(13, 2067.66, 1701.84, 57.77, 3000); - thisAI->AddWaypoint(14, 2078.91, 1704.54, 56.77, 3000); - thisAI->AddWaypoint(15, 2097.65, 1715.24, 54.74); - thisAI->AddWaypoint(16, 2106.44, 1720.98, 54.41); - thisAI->AddWaypoint(17, 2123.96, 1732.56, 52.27); - thisAI->AddWaypoint(18, 2153.82, 1728.73, 51.92); - thisAI->AddWaypoint(19, 2163.49, 1706.33, 54.42); - thisAI->AddWaypoint(20, 2158.75, 1695.98, 55.70); - thisAI->AddWaypoint(21, 2142.6, 1680.72, 58.24); - thisAI->AddWaypoint(22, 2118.31, 1671.54, 59.21); - thisAI->AddWaypoint(23, 2086.02, 1672.04, 61.24); - thisAI->AddWaypoint(24, 2068.81, 1658.93, 61.24); - thisAI->AddWaypoint(25, 2062.82, 1633.31, 64.35, 3000); - thisAI->AddWaypoint(26, 2063.05, 1589.16, 63.26); - thisAI->AddWaypoint(27, 2063.67, 1577.22, 65.89); - thisAI->AddWaypoint(28, 2057.94, 1560.68, 68.40); - thisAI->AddWaypoint(29, 2052.56, 1548.05, 73.35); - thisAI->AddWaypoint(30, 2045.22, 1543.4, 76.65); - thisAI->AddWaypoint(31, 2034.35, 1543.01, 79.70); - thisAI->AddWaypoint(32, 2029.95, 1542.94, 80.79); - thisAI->AddWaypoint(33, 2021.34, 1538.67, 80.8); - thisAI->AddWaypoint(34, 2012.45, 1549.48, 79.93); - thisAI->AddWaypoint(35, 2008.05, 1554.92, 80.44); - thisAI->AddWaypoint(36, 2006.54, 1562.72, 81.11); - thisAI->AddWaypoint(37, 2003.8, 1576.43, 81.57); - thisAI->AddWaypoint(38, 2000.57, 1590.06, 80.62); - thisAI->AddWaypoint(39, 1998.96, 1596.87, 80.22); - thisAI->AddWaypoint(40, 1991.19, 1600.82, 79.39); - thisAI->AddWaypoint(41, 1980.71, 1601.44, 79.77, 3000); - thisAI->AddWaypoint(42, 1967.22, 1600.18, 80.62, 3000); - thisAI->AddWaypoint(43, 1956.43, 1596.97, 81.75, 3000); - thisAI->AddWaypoint(44, 1954.87, 1592.02, 82.18); - thisAI->AddWaypoint(45, 1948.35, 1571.35, 80.96, 30000); - thisAI->AddWaypoint(46, 1947.02, 1566.42, 81.80, 30000); - - return thisAI; + return new npc_willixAI(pCreature); } void AddSC_razorfen_kraul() diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp index eefedb2c0d5..eefedb2c0d5 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp +++ b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_buru.cpp index 58c48540362..58c48540362 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp +++ b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_buru.cpp diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp index e781c749d0d..e781c749d0d 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp +++ b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_moam.cpp index 4d62a923e16..4d62a923e16 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp +++ b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_moam.cpp diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_ossirian.cpp index 5652b706917..5652b706917 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp +++ b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_ossirian.cpp diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_rajaxx.cpp index fb2c92ff59f..fb2c92ff59f 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp +++ b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_rajaxx.cpp diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp index b94e6f16a80..b94e6f16a80 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp +++ b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp diff --git a/src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp b/src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp index 5c9dbe0b199..272cef3d33b 100644 --- a/src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp +++ b/src/bindings/scripts/scripts/kalimdor/stonetalon_mountains.cpp @@ -27,7 +27,7 @@ npc_kaya_flathoof EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_braug_dimspirit @@ -101,7 +101,7 @@ struct TRINITY_DLL_DECL npc_kaya_flathoofAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -116,8 +116,8 @@ struct TRINITY_DLL_DECL npc_kaya_flathoofAI : public npc_escortAI break; case 18: m_creature->SetInFront(pPlayer); DoScriptText(SAY_END, m_creature, pPlayer); - if (pPlayer && pPlayer->GetTypeId() == TYPEID_PLAYER) - CAST_PLR(pPlayer)->GroupEventHappens(QUEST_PROTECT_KAYA, m_creature); + if (pPlayer) + pPlayer->GroupEventHappens(QUEST_PROTECT_KAYA, m_creature); break; } } diff --git a/src/bindings/scripts/scripts/kalimdor/tanaris.cpp b/src/bindings/scripts/scripts/kalimdor/tanaris.cpp index be97636270e..813e178b6f0 100644 --- a/src/bindings/scripts/scripts/kalimdor/tanaris.cpp +++ b/src/bindings/scripts/scripts/kalimdor/tanaris.cpp @@ -32,7 +32,7 @@ npc_tooga EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## mob_aquementas @@ -153,7 +153,7 @@ struct TRINITY_DLL_DECL npc_custodian_of_timeAI : public npc_escortAI void WaypointReached(uint32 i) { - Player *pPlayer = Unit::GetPlayer(PlayerGUID); + Player *pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -357,7 +357,7 @@ struct TRINITY_DLL_DECL npc_OOX17AI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -424,97 +424,7 @@ bool QuestAccept_npc_OOX17(Player* pPlayer, Creature* pCreature, Quest const* qu CreatureAI* GetAI_npc_OOX17(Creature* pCreature) { - npc_OOX17AI* OOX17AI = new npc_OOX17AI(pCreature); - - OOX17AI->AddWaypoint(0, -8843.73, -4374.44, 43.71); - OOX17AI->AddWaypoint(1, -8834.68, -4373.88, 45.71); - OOX17AI->AddWaypoint(2, -8832.93, -4373.85, 45.67); - OOX17AI->AddWaypoint(3, -8829.21, -4373.72, 44.14); - OOX17AI->AddWaypoint(4, -8825.10, -4373.56, 41.44); - OOX17AI->AddWaypoint(5, -8818.88, -4372.75, 36.43); - OOX17AI->AddWaypoint(6, -8803.37, -4369.68, 30.06); - OOX17AI->AddWaypoint(7, -8786.68, -4366.18, 23.91); - OOX17AI->AddWaypoint(8, -8764.97, -4366.94, 25.23); - OOX17AI->AddWaypoint(9, -8745.49, -4363.16, 22.80); - OOX17AI->AddWaypoint(10, -8724.13, -4353.55, 20.72); - OOX17AI->AddWaypoint(11, -8706.77, -4346.14, 16.12); - OOX17AI->AddWaypoint(12, -8688.27, -4372.85, 13.64); - OOX17AI->AddWaypoint(13, -8668.76, -4380.38, 11.69); - OOX17AI->AddWaypoint(14, -8645.19, -4388.62, 12.56); - OOX17AI->AddWaypoint(15, -8614.73, -4398.60, 9.86); - OOX17AI->AddWaypoint(16, -8560.33, -4411.27, 13.17); - OOX17AI->AddWaypoint(17, -8536.45, -4416.49, 11.84); - OOX17AI->AddWaypoint(18, -8503.48, -4423.70, 13.59); - OOX17AI->AddWaypoint(19, -8471.91, -4430.60, 9.56); - OOX17AI->AddWaypoint(20, -8441.36, -4435.31, 9.40); - OOX17AI->AddWaypoint(21, -8403.41, -4441.16, 11.83); - OOX17AI->AddWaypoint(22, -8371.24, -4446.13, 9.47); - OOX17AI->AddWaypoint(23, -8353.96, -4448.79, 10.10); //Scorpid - OOX17AI->AddWaypoint(24, -8336.40, -4446.39, 8.98); - OOX17AI->AddWaypoint(25, -8303.78, -4441.96, 11.89); - OOX17AI->AddWaypoint(26, -8272.20, -4433.31, 9.60); - OOX17AI->AddWaypoint(27, -8224.76, -4419.39, 13.03); - OOX17AI->AddWaypoint(28, -8193.31, -4406.04, 10.17); - OOX17AI->AddWaypoint(29, -8155.65, -4397.74, 8.99); - OOX17AI->AddWaypoint(30, -8129.25, -4394.57, 10.92); - OOX17AI->AddWaypoint(31, -8104.86, -4399.03, 8.93); - OOX17AI->AddWaypoint(32, -8063.15, -4423.40, 10.07); - OOX17AI->AddWaypoint(33, -8032.15, -4443.47, 9.97); - OOX17AI->AddWaypoint(34, -8015.39, -4454.33, 9.39); - OOX17AI->AddWaypoint(35, -7981.64, -4482.44, 10.32); - OOX17AI->AddWaypoint(36, -7958.83, -4503.98, 9.69); - OOX17AI->AddWaypoint(37, -7932.45, -4528.91, 10.08); - OOX17AI->AddWaypoint(38, -7904.09, -4566.67, 12.59); - OOX17AI->AddWaypoint(39, -7883.33, -4593.91, 12.15); - OOX17AI->AddWaypoint(40, -7862.83, -4624.53, 10.21); - OOX17AI->AddWaypoint(41, -7840.79, -4654.26, 9.45); - OOX17AI->AddWaypoint(42, -7826.17, -4673.99, 10.61); - OOX17AI->AddWaypoint(43, -7807.86, -4698.69, 11.24); - OOX17AI->AddWaypoint(44, -7793.88, -4717.55, 10.48); - OOX17AI->AddWaypoint(45, -7778.68, -4738.05, 8.89); - OOX17AI->AddWaypoint(46, -7746.42, -4780.39, 9.84); - OOX17AI->AddWaypoint(47, -7724.11, -4772.75, 10.28); - OOX17AI->AddWaypoint(48, -7697.98, -4763.80, 9.52); - OOX17AI->AddWaypoint(49, -7665.33, -4752.62, 10.56); - OOX17AI->AddWaypoint(50, -7641.47, -4750.33, 8.94); - OOX17AI->AddWaypoint(51, -7620.08, -4753.96, 8.93); - OOX17AI->AddWaypoint(52, -7603.15, -4757.53, 9.06); - OOX17AI->AddWaypoint(53, -7579.43, -4767.07, 8.93); - OOX17AI->AddWaypoint(54, -7558.51, -4779.01, 9.64); - OOX17AI->AddWaypoint(55, -7536.40, -4789.32, 8.92); - OOX17AI->AddWaypoint(56, -7512.07, -4793.50, 9.35); //Wastewander - OOX17AI->AddWaypoint(57, -7490.79, -4788.80, 10.53); - OOX17AI->AddWaypoint(58, -7469.10, -4785.11, 10.42); - OOX17AI->AddWaypoint(59, -7453.18, -4782.41, 9.15); - OOX17AI->AddWaypoint(60, -7426.27, -4777.83, 9.54); - OOX17AI->AddWaypoint(61, -7393.84, -4770.19, 12.57); - OOX17AI->AddWaypoint(62, -7367.25, -4764.17, 11.92); - OOX17AI->AddWaypoint(63, -7341.00, -4752.11, 10.17); - OOX17AI->AddWaypoint(64, -7321.62, -4744.97, 11.58); - OOX17AI->AddWaypoint(65, -7302.35, -4744.35, 11.97); - OOX17AI->AddWaypoint(66, -7281.00, -4743.66, 11.21); - OOX17AI->AddWaypoint(67, -7258.33, -4742.93, 9.64); - OOX17AI->AddWaypoint(68, -7236.70, -4742.24, 10.16); - OOX17AI->AddWaypoint(69, -7217.52, -4743.87, 10.79); - OOX17AI->AddWaypoint(70, -7201.86, -4746.32, 9.58); - OOX17AI->AddWaypoint(71, -7182.01, -4749.41, 9.09); - OOX17AI->AddWaypoint(72, -7159.61, -4752.90, 9.52); - OOX17AI->AddWaypoint(73, -7139.58, -4756.02, 9.53); - OOX17AI->AddWaypoint(74, -7122.60, -4754.91, 9.66); - OOX17AI->AddWaypoint(75, -7101.06, -4753.87, 8.92); - OOX17AI->AddWaypoint(76, -7082.79, -4752.99, 9.97); - OOX17AI->AddWaypoint(77, -7061.81, -4751.98, 9.26); - OOX17AI->AddWaypoint(78, -7035.12, -4754.39, 9.19); - OOX17AI->AddWaypoint(79, -7013.90, -4758.64, 10.28); - OOX17AI->AddWaypoint(80, -7001.71, -4769.73, 10.59); - OOX17AI->AddWaypoint(81, -6984.95, -4788.61, 9.30); - OOX17AI->AddWaypoint(82, -6970.41, -4788.77, 9.42); - OOX17AI->AddWaypoint(83, -6957.16, -4788.92, 6.26); - OOX17AI->AddWaypoint(84, -6951.29, -4802.73, 4.45); - OOX17AI->AddWaypoint(85, -6944.81, -4816.58, 1.60); - OOX17AI->AddWaypoint(86, -6942.06, -4839.40, 0.66,5000); - - return OOX17AI; + return new npc_OOX17AI(pCreature); } /*#### @@ -582,6 +492,25 @@ struct MANGOS_DLL_DECL npc_toogaAI : public ScriptedAI } } + void AttackStart(Unit* pWho) + { + if (!pWho) + return; + + if (m_creature->Attack(pWho, true)) + { + m_creature->AddThreat(pWho, 0.0f); + m_creature->SetInCombatWith(pWho); + pWho->SetInCombatWith(m_creature); + + if (m_creature->hasUnitState(UNIT_STAT_FOLLOW)) + m_creature->clearUnitState(UNIT_STAT_FOLLOW); + + if (IsCombatMovement()) + m_creature->GetMotionMaster()->MoveChase(pWho); + } + } + void EnterEvadeMode() { m_creature->RemoveAllAuras(); @@ -598,6 +527,9 @@ struct MANGOS_DLL_DECL npc_toogaAI : public ScriptedAI } else { + if (m_creature->hasUnitState(UNIT_STAT_FOLLOW)) + m_creature->clearUnitState(UNIT_STAT_FOLLOW); + m_creature->GetMotionMaster()->MoveTargetedHome(); } } @@ -609,8 +541,7 @@ struct MANGOS_DLL_DECL npc_toogaAI : public ScriptedAI void JustRespawned() { - if (m_creature->getFaction() != m_creature->GetCreatureInfo()->faction_A) - m_creature->setFaction(m_creature->GetCreatureInfo()->faction_A); + me->RestoreFaction(); m_creature->SetUInt32Value(UNIT_NPC_FLAGS, m_creature->GetCreatureInfo()->npcflag); @@ -622,7 +553,7 @@ struct MANGOS_DLL_DECL npc_toogaAI : public ScriptedAI m_uiPlayerGUID = pPlayer->GetGUID(); m_creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); - //m_creature->setFaction(FACTION_TOOG_ESCORTEE); + m_creature->setFaction(FACTION_TOOG_ESCORTEE); m_creature->GetMotionMaster()->MoveFollow(pPlayer, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE); } @@ -662,7 +593,10 @@ struct MANGOS_DLL_DECL npc_toogaAI : public ScriptedAI void JustDied(Unit* pKiller) { if (Player* pPlayer = Unit::GetPlayer(m_uiPlayerGUID)) - pPlayer->FailQuest(QUEST_TOOGA); + { + if (pPlayer->GetQuestStatus(QUEST_TOOGA) == QUEST_STATUS_INCOMPLETE) + pPlayer->FailQuest(QUEST_TOOGA); + } m_uiPlayerGUID = 0; m_creature->GetMotionMaster()->MovementExpired(); diff --git a/src/bindings/scripts/scripts/kalimdor/teldrassil.cpp b/src/bindings/scripts/scripts/kalimdor/teldrassil.cpp index 58cb2a55b2f..40e849fbbe6 100644 --- a/src/bindings/scripts/scripts/kalimdor/teldrassil.cpp +++ b/src/bindings/scripts/scripts/kalimdor/teldrassil.cpp @@ -26,6 +26,7 @@ npc_mist EndContentData */ #include "precompiled.h" +#include "follower_ai.h" /*#### # npc_mist @@ -37,31 +38,20 @@ enum EMOTE_AT_HOME = -1000412, QUEST_MIST = 938, NPC_ARYNIA = 3519, + FACTION_DARNASSUS = 79 }; -struct TRINITY_DLL_DECL npc_mistAI : public ScriptedAI +struct TRINITY_DLL_DECL npc_mistAI : public FollowerAI { - npc_mistAI(Creature *c) : ScriptedAI(c) - { - uiNpcFlags = c->GetUInt32Value(UNIT_NPC_FLAGS); - uiPlayerGUID = 0; - } - - uint64 uiPlayerGUID; - uint32 uiNpcFlags; - uint32 uiCheckPlayerTimer; - - void Reset() - { - uiCheckPlayerTimer = 2500; + npc_mistAI(Creature* pCreature) : FollowerAI(pCreature) { } - if (!uiPlayerGUID) - m_creature->SetUInt32Value(UNIT_NPC_FLAGS, uiNpcFlags); - } + void Reset() { } void MoveInLineOfSight(Unit *pWho) { - if (pWho->GetEntry() == NPC_ARYNIA) + FollowerAI::MoveInLineOfSight(pWho); + + if (!m_creature->getVictim() && !IsFollowComplete() && pWho->GetEntry() == NPC_ARYNIA) { if (m_creature->IsWithinDistInMap(pWho, 10.0f)) { @@ -71,43 +61,11 @@ struct TRINITY_DLL_DECL npc_mistAI : public ScriptedAI } } - void EnterEvadeMode() - { - m_creature->RemoveAllAuras(); - m_creature->DeleteThreatList(); - m_creature->CombatStop(true); - m_creature->LoadCreaturesAddon(); - - if (m_creature->isAlive()) - { - if (Player* pPlayer = Unit::GetPlayer(uiPlayerGUID)) - m_creature->GetMotionMaster()->MoveFollow(pPlayer, PET_FOLLOW_DIST, m_creature->GetFollowAngle()); - else - { - m_creature->GetMotionMaster()->MovementExpired(); - m_creature->GetMotionMaster()->MoveTargetedHome(); - } - } - - m_creature->SetLootRecipient(NULL); - - Reset(); - } - - void DoStart(uint64 uiPlayer) - { - uiPlayerGUID = uiPlayer; - m_creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); - - if (Player* pPlayer = Unit::GetPlayer(uiPlayer)) - m_creature->GetMotionMaster()->MoveFollow(pPlayer, PET_FOLLOW_DIST, m_creature->GetFollowAngle()); - } - void DoComplete() { DoScriptText(EMOTE_AT_HOME, m_creature); - if (Player* pPlayer = Unit::GetPlayer(uiPlayerGUID)) + if (Player* pPlayer = GetLeaderForFollower()) { if (pPlayer->GetQuestStatus(QUEST_MIST) == QUEST_STATUS_INCOMPLETE) { @@ -115,55 +73,25 @@ struct TRINITY_DLL_DECL npc_mistAI : public ScriptedAI if (uiQuestLogSlot < MAX_QUEST_LOG_SIZE) { + //This will be wrong, need to check all group members (if any) for state before event if (pPlayer->GetQuestSlotState(uiQuestLogSlot) != QUEST_STATE_FAIL) pPlayer->AreaExploredOrEventHappens(QUEST_MIST); } } } - uiPlayerGUID = 0; - EnterEvadeMode(); - } - - void EnterCombat(Unit* who) { } - - void JustDied(Unit* pKiller) - { - if (Player* pPlayer = Unit::GetPlayer(uiPlayerGUID)) - pPlayer->FailQuest(QUEST_MIST); - - uiPlayerGUID = 0; - m_creature->GetMotionMaster()->MovementExpired(); + //The follow is over (and for later development to indicate a post event can now run) + SetFollowComplete(); } - void UpdateAI(const uint32 diff) + //call not needed here, no known abilities + /*void UpdateFollowerAI(const uint32 uiDiff) { - if (uiPlayerGUID) - { - if (!m_creature->isInCombat()) - { - if (uiCheckPlayerTimer < diff) - { - uiCheckPlayerTimer = 5000; - - Player* pPlayer = Unit::GetPlayer(uiPlayerGUID); - - if (pPlayer && !pPlayer->isAlive()) - { - uiPlayerGUID = 0; - EnterEvadeMode(); - } - } - else - uiCheckPlayerTimer -= diff; - } - } - if (!UpdateVictim()) return; DoMeleeAttackIfReady(); - } + }*/ }; CreatureAI* GetAI_npc_mist(Creature* pCreature) @@ -174,7 +102,10 @@ CreatureAI* GetAI_npc_mist(Creature* pCreature) bool QuestAccept_npc_mist(Player* pPlayer, Creature* pCreature, Quest const* pQuest) { if (pQuest->GetQuestId() == QUEST_MIST) - CAST_AI(npc_mistAI, (pCreature->AI()))->DoStart(pPlayer->GetGUID()); + { + if (npc_mistAI* pMistAI = CAST_AI(npc_mistAI, pCreature->AI())) + pMistAI->StartFollow(pPlayer, FACTION_DARNASSUS, pQuest); + } return true; } diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_bug_trio.cpp index 042dd5d53f5..042dd5d53f5 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_bug_trio.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_cthun.cpp index 905f46070f7..905f46070f7 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_cthun.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_fankriss.cpp index 6e5992556e3..6e5992556e3 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_fankriss.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_huhuran.cpp index 705e2275d33..705e2275d33 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_huhuran.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_ouro.cpp index d7f6a186316..d7f6a186316 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_ouro.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_sartura.cpp index dd5aa9bae87..dd5aa9bae87 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_sartura.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_skeram.cpp index 780a0c28f22..780a0c28f22 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_skeram.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_twinemperors.cpp index fdc1b6ae408..fdc1b6ae408 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_twinemperors.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_viscidus.cpp index 2bb9f1bfb0b..2bb9f1bfb0b 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/boss_viscidus.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h index 5d545ed7c74..5d545ed7c74 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp index 489a415cf81..489a415cf81 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp index 35882b86ac7..35882b86ac7 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp +++ b/src/bindings/scripts/scripts/kalimdor/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp diff --git a/src/bindings/scripts/scripts/kalimdor/the_barrens.cpp b/src/bindings/scripts/scripts/kalimdor/the_barrens.cpp index aff67963445..d957ba26ae7 100644 --- a/src/bindings/scripts/scripts/kalimdor/the_barrens.cpp +++ b/src/bindings/scripts/scripts/kalimdor/the_barrens.cpp @@ -31,7 +31,7 @@ npc_wizzlecrank_shredder EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_beaten_corpse @@ -94,7 +94,7 @@ struct TRINITY_DLL_DECL npc_giltharesAI : public npc_escortAI void WaypointReached(uint32 uiPointId) { - Player* pPlayer = (Player*)Unit::GetUnit(*m_creature, PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -507,75 +507,143 @@ CreatureAI* GetAI_npc_twiggy_flathead(Creature* pCreature) enum { - SAY_PROGRESS_1 = -1000272, - SAY_PROGRESS_2 = -1000273, - SAY_PROGRESS_3 = -1000274, - - SAY_MERCENARY_4 = -1000275, - - SAY_PROGRESS_5 = -1000276, - SAY_PROGRESS_6 = -1000277, - SAY_PROGRESS_7 = -1000278, - SAY_PROGRESS_8 = -1000279, + SAY_START = -1000272, + SAY_STARTUP1 = -1000273, + SAY_STARTUP2 = -1000274, + SAY_MERCENARY = -1000275, + SAY_PROGRESS_1 = -1000276, + SAY_PROGRESS_2 = -1000277, + SAY_PROGRESS_3 = -1000278, + SAY_END = -1000279, QUEST_ESCAPE = 863, FACTION_RATCHET = 637, - NPC_PILOT = 3451, - MOB_MERCENARY = 3282, + NPC_PILOT_WIZZ = 3451, + NPC_MERCENARY = 3282, }; struct TRINITY_DLL_DECL npc_wizzlecrank_shredderAI : public npc_escortAI { - npc_wizzlecrank_shredderAI(Creature* c) : npc_escortAI(c) { } + npc_wizzlecrank_shredderAI(Creature* pCreature) : npc_escortAI(pCreature) + { + m_bIsPostEvent = false; + m_uiPostEventTimer = 1000; + m_uiPostEventCount = 0; + } - bool Completed; + bool m_bIsPostEvent; + uint32 m_uiPostEventTimer; + uint32 m_uiPostEventCount; - void WaypointReached(uint32 i) + void Reset() { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + if (!IsBeingEscorted) + { + if (m_creature->getStandState() == UNIT_STAND_STATE_DEAD) + m_creature->SetStandState(UNIT_STAND_STATE_STAND); + + m_bIsPostEvent = false; + m_uiPostEventTimer = 1000; + m_uiPostEventCount = 0; + } + } + + void WaypointReached(uint32 uiPointId) + { + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; - switch(i) + switch(uiPointId) { - case 0: DoScriptText(SAY_PROGRESS_1, m_creature); - m_creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); break; - case 1: DoScriptText(SAY_PROGRESS_2, m_creature); break; - case 10: DoScriptText(SAY_PROGRESS_3, m_creature, pPlayer); - m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); break; - case 20:{ - Unit* Mercenary = m_creature->FindNearestCreature(MOB_MERCENARY, 99); - if (Mercenary) + case 0: + DoScriptText(SAY_STARTUP1, m_creature); + break; + case 9: + SetRun(false); + break; + case 17: + if (Creature* pTemp = m_creature->SummonCreature(NPC_MERCENARY, 1128.489f, -3037.611f, 92.701f, 1.472f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000)) { - DoScriptText(SAY_MERCENARY_4, Mercenary); - CAST_CRE(Mercenary)->AI()->AttackStart(m_creature); - AttackStart(Mercenary); + DoScriptText(SAY_MERCENARY, pTemp); + m_creature->SummonCreature(NPC_MERCENARY, 1160.172f, -2980.168f, 97.313f, 3.690f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000); } - }break; - case 21: DoScriptText(SAY_PROGRESS_5, m_creature); - m_creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); break; - case 28: DoScriptText(SAY_PROGRESS_6, m_creature); break; - case 29: DoScriptText(SAY_PROGRESS_7, m_creature); break; - case 30: DoScriptText(SAY_PROGRESS_8, m_creature); break; - case 31: m_creature->SummonCreature(NPC_PILOT, 1088.77, -2985.39, 91.84, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 300000); - m_creature->setDeathState(JUST_DIED); - Completed = true; - pPlayer->GroupEventHappens(QUEST_ESCAPE, m_creature); + break; + case 24: + m_bIsPostEvent = true; break; } } - void Reset() + void WaypointStart(uint32 uiPointId) { - m_creature->setDeathState(ALIVE); - Completed = false; - if (!IsBeingEscorted) + Player* pPlayer = GetPlayerForEscort(); + + if (!pPlayer) + return; + + switch(uiPointId) { - if (m_creature->getStandState() == UNIT_STAND_STATE_DEAD) - m_creature->SetStandState(UNIT_STAND_STATE_STAND); + case 9: + DoScriptText(SAY_STARTUP2, m_creature, pPlayer); + break; + case 18: + DoScriptText(SAY_PROGRESS_1, m_creature, pPlayer); + SetRun(); + break; } } + + void JustSummoned(Creature* pSummoned) + { + if (pSummoned->GetEntry() == NPC_PILOT_WIZZ) + m_creature->SetStandState(UNIT_STAND_STATE_DEAD); + + if (pSummoned->GetEntry() == NPC_MERCENARY) + pSummoned->AI()->AttackStart(m_creature); + } + + void UpdateEscortAI(const uint32 uiDiff) + { + if (!UpdateVictim()) + { + if (m_bIsPostEvent) + { + if (m_uiPostEventTimer < uiDiff) + { + switch(m_uiPostEventCount) + { + case 0: + DoScriptText(SAY_PROGRESS_2, m_creature); + break; + case 1: + DoScriptText(SAY_PROGRESS_3, m_creature); + break; + case 2: + DoScriptText(SAY_END, m_creature); + break; + case 3: + if (Player* pPlayer = GetPlayerForEscort()) + { + pPlayer->GroupEventHappens(QUEST_ESCAPE, m_creature); + m_creature->SummonCreature(NPC_PILOT_WIZZ, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 180000); + } + break; + } + + ++m_uiPostEventCount; + m_uiPostEventTimer = 5000; + } + else + m_uiPostEventTimer -= uiDiff; + } + + return; + } + + DoMeleeAttackIfReady(); + } }; bool QuestAccept_npc_wizzlecrank_shredder(Player* pPlayer, Creature* pCreature, Quest const* quest) @@ -591,42 +659,7 @@ bool QuestAccept_npc_wizzlecrank_shredder(Player* pPlayer, Creature* pCreature, CreatureAI* GetAI_npc_wizzlecrank_shredderAI(Creature* pCreature) { - npc_wizzlecrank_shredderAI* thisAI = new npc_wizzlecrank_shredderAI(pCreature); - - thisAI->AddWaypoint(0, 1109.15, -3104.11, 82.41, 6000); - thisAI->AddWaypoint(1, 1105.39, -3102.86, 82.74, 2000); - thisAI->AddWaypoint(2, 1104.97, -3108.52, 83.10, 1000); - thisAI->AddWaypoint(3, 1110.01, -3110.48, 82.81, 1000); - thisAI->AddWaypoint(4, 1111.72, -3103.03, 82.21, 1000); - thisAI->AddWaypoint(5, 1106.98, -3099.44, 82.18, 1000); - thisAI->AddWaypoint(6, 1103.74, -3103.29, 83.05, 1000); - thisAI->AddWaypoint(7, 1112.55, -3106.56, 82.31, 1000); - thisAI->AddWaypoint(8, 1108.12, -3111.04, 82.99, 1000); - thisAI->AddWaypoint(9, 1109.32, -3100.39, 82.08, 1000); - thisAI->AddWaypoint(10, 1109.32, -3100.39, 82.08, 6000); - thisAI->AddWaypoint(11, 1098.92, -3095.14, 82.97); - thisAI->AddWaypoint(12, 1100.94, -3082.60, 82.83); - thisAI->AddWaypoint(13, 1101.12, -3068.83, 82.53); - thisAI->AddWaypoint(14, 1096.97, -3051.99, 82.50); - thisAI->AddWaypoint(15, 1094.06, -3036.79, 82.70); - thisAI->AddWaypoint(16, 1098.22, -3027.84, 83.79); - thisAI->AddWaypoint(17, 1109.51, -3015.92, 85.73); - thisAI->AddWaypoint(18, 1119.87, -3007.21, 87.08); - thisAI->AddWaypoint(19, 1130.23, -3002.49, 91.27, 5000); - thisAI->AddWaypoint(20, 1130.23, -3002.49, 91.27, 3000); - thisAI->AddWaypoint(21, 1130.23, -3002.49, 91.27, 4000); - thisAI->AddWaypoint(22, 1129.73, -2985.89, 92.46); - thisAI->AddWaypoint(23, 1124.10, -2983.29, 92.81); - thisAI->AddWaypoint(24, 1111.74, -2992.38, 91.59); - thisAI->AddWaypoint(25, 1111.06, -2976.54, 91.81); - thisAI->AddWaypoint(26, 1099.91, -2991.17, 91.67); - thisAI->AddWaypoint(27, 1096.32, -2981.55, 91.73); - thisAI->AddWaypoint(28, 1091.28, -2985.82, 91.74, 4000); - thisAI->AddWaypoint(29, 1091.28, -2985.82, 91.74, 3000); - thisAI->AddWaypoint(30, 1091.28, -2985.82, 91.74, 7000); - thisAI->AddWaypoint(31, 1091.28, -2985.82, 91.74, 3000); - - return thisAI; + return new npc_wizzlecrank_shredderAI(pCreature); } void AddSC_the_barrens() diff --git a/src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp b/src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp index 6ec4a1403ab..24e6a21e743 100644 --- a/src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp +++ b/src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp @@ -29,7 +29,7 @@ npc_plucky EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*##### # npc_kanati @@ -60,7 +60,7 @@ struct TRINITY_DLL_DECL npc_kanatiAI : public npc_escortAI DoSpawnGalak(); break; case 1: - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) pPlayer->GroupEventHappens(QUEST_PROTECT_KANATI, m_creature); break; } @@ -149,7 +149,7 @@ struct TRINITY_DLL_DECL npc_lakota_windsongAI : public npc_escortAI DoSpawnBandits(ID_AMBUSH_3); break; case 45: - if (Player* pPlayer = (Player*)Unit::GetUnit(*m_creature, PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) pPlayer->GroupEventHappens(QUEST_FREE_AT_LAST, m_creature); break; } @@ -222,7 +222,7 @@ struct TRINITY_DLL_DECL npc_paoka_swiftmountainAI : public npc_escortAI DoScriptText(SAY_COMPLETE, m_creature); break; case 27: - if (Player* pPlayer = (Player*)Unit::GetUnit(*m_creature, PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) pPlayer->GroupEventHappens(QUEST_HOMEWARD, m_creature); break; } diff --git a/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp b/src/bindings/scripts/scripts/kalimdor/ungoro_crater.cpp index 426b7fa2217..81f122d61db 100644 --- a/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp +++ b/src/bindings/scripts/scripts/kalimdor/ungoro_crater.cpp @@ -26,7 +26,7 @@ npc_a-me EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #define SAY_READY -1000200 #define SAY_AGGRO1 -1000201 @@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL npc_ameAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -76,21 +76,18 @@ struct TRINITY_DLL_DECL npc_ameAI : public npc_escortAI break; case 55: DoScriptText(SAY_FINISH, m_creature, pPlayer); - if (pPlayer && pPlayer->GetTypeId() == TYPEID_PLAYER) - CAST_PLR(pPlayer)->GroupEventHappens(QUEST_CHASING_AME,m_creature); + if (pPlayer) + pPlayer->GroupEventHappens(QUEST_CHASING_AME,m_creature); break; } - } + } void Reset() { DEMORALIZINGSHOUT_Timer = 5000; } - void EnterCombat(Unit* who) - {} - void JustSummoned(Creature* summoned) { summoned->AI()->AttackStart(m_creature); @@ -98,11 +95,8 @@ struct TRINITY_DLL_DECL npc_ameAI : public npc_escortAI void JustDied(Unit* killer) { - if (PlayerGUID) - { - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) - CAST_PLR(pPlayer)->FailQuest(QUEST_CHASING_AME); - } + if (Player* pPlayer = GetPlayerForEscort()) + pPlayer->FailQuest(QUEST_CHASING_AME); } void UpdateAI(const uint32 diff) @@ -135,66 +129,7 @@ bool QuestAccept_npc_ame(Player* pPlayer, Creature* pCreature, Quest const* ques CreatureAI* GetAI_npc_ame(Creature* pCreature) { - npc_ameAI* thisAI = new npc_ameAI(pCreature); - - thisAI->AddWaypoint(1, -6380.38, -1965.14, -258.292, 5000); - thisAI->AddWaypoint(2, -6383.06, -1962.9, -258.936); - thisAI->AddWaypoint(3, -6391.09, -1956.13, -260.291); - thisAI->AddWaypoint(4, -6395.29, -1933.58, -262.949); - thisAI->AddWaypoint(5, -6396.58, -1919.93, -263.838); - thisAI->AddWaypoint(6, -6389.01, -1912.64, -260.689); - thisAI->AddWaypoint(7, -6369.19, -1892.87, -255.924); - thisAI->AddWaypoint(8, -6373.77, -1879.36, -259.268); - thisAI->AddWaypoint(9, -6377.55, -1869.56, -260.503); - thisAI->AddWaypoint(10, -6376.58, -1860.79, -260.026); - thisAI->AddWaypoint(11, -6373.13, -1847.22, -259.249); - thisAI->AddWaypoint(12, -6370.54, -1837.04, -260.007); - thisAI->AddWaypoint(13, -6372.52, -1829.16, -260.071); - thisAI->AddWaypoint(14, -6377.13, -1815.94, -262.632); - thisAI->AddWaypoint(15, -6380.27, -1806.95, -265.53); - thisAI->AddWaypoint(16, -6386.04, -1790.43, -268.546); - thisAI->AddWaypoint(17, -6386.72, -1776.29, -269.851); - thisAI->AddWaypoint(18, -6385.92, -1762.31, -271.494); - thisAI->AddWaypoint(19, -6384.69, -1744.86, -272.196); - thisAI->AddWaypoint(20, -6383.8, -1732.66, -272.222); - thisAI->AddWaypoint(21, -6382.66, -1716.96, -272.235); - thisAI->AddWaypoint(22, -6381.5, -1703.01, -272.964); - thisAI->AddWaypoint(23, -6379.96, -1685.58, -272.842); - thisAI->AddWaypoint(24, -6379.34, -1678.61, -272.34); - thisAI->AddWaypoint(25, -6364.45, -1636.27, -271.065); - thisAI->AddWaypoint(26, -6371.85, -1626.36, -272.188); - thisAI->AddWaypoint(27, -6383.5, -1629.01, -272.206); - thisAI->AddWaypoint(28, -6388.09, -1635.37, -272.105, 5000); - thisAI->AddWaypoint(29, -6375.42, -1637.33, -272.193); - thisAI->AddWaypoint(30, -6365.46, -1617.25, -272.141); - thisAI->AddWaypoint(31, -6353.79, -1603.48, -271.932); - thisAI->AddWaypoint(32, -6340.24, -1592.41, -269.435); - thisAI->AddWaypoint(33, -6329.45, -1566.89, -269.895); - thisAI->AddWaypoint(34, -6312.2, -1499.06, -269.507); - thisAI->AddWaypoint(35, -6304.55, -1468.5, -269.431); - thisAI->AddWaypoint(36, -6310.36, -1440.94, -268.427); - thisAI->AddWaypoint(37, -6321, -1418.91, -266.525); - thisAI->AddWaypoint(38, -6358.76, -1389.97, -267.522); - thisAI->AddWaypoint(39, -6378.65, -1375.67, -271.749); - thisAI->AddWaypoint(40, -6387.22, -1360.95, -272.109); - thisAI->AddWaypoint(41, -6406.95, -1323.87, -271.586); - thisAI->AddWaypoint(42, -6405, -1311.92, -271.906); - thisAI->AddWaypoint(43, -6395.56, -1303.62, -271.902); - thisAI->AddWaypoint(44, -6375.97, -1296.08, -271.865); - thisAI->AddWaypoint(45, -6364.39, -1281.23, -269.012); - thisAI->AddWaypoint(46, -6353.71, -1263.19, -267.95); - thisAI->AddWaypoint(47, -6340.09, -1248.65, -267.441); - thisAI->AddWaypoint(48, -6338.21, -1237.11, -267.844); - thisAI->AddWaypoint(49, -6336.6, -1219.69, -269.196); - thisAI->AddWaypoint(50, -6334.44, -1202.33, -271.527); - thisAI->AddWaypoint(51, -6329.56, -1189.82, -270.947); - thisAI->AddWaypoint(52, -6324.66, -1179.46, -270.103); - thisAI->AddWaypoint(53, -6315.08, -1176.74, -269.735); - thisAI->AddWaypoint(54, -6308.49, -1179.12, -269.57); - thisAI->AddWaypoint(55, -6302.43, -1181.32, -269.328, 5000); - thisAI->AddWaypoint(56, -6298.87, -1185.79, -269.278); - - return thisAI; + return new npc_ameAI(pCreature); } void AddSC_ungoro_crater() diff --git a/src/bindings/scripts/scripts/zone/wailing_caverns/def_wailing_caverns.h b/src/bindings/scripts/scripts/kalimdor/wailing_caverns/def_wailing_caverns.h index ee03ade365e..ee03ade365e 100644 --- a/src/bindings/scripts/scripts/zone/wailing_caverns/def_wailing_caverns.h +++ b/src/bindings/scripts/scripts/kalimdor/wailing_caverns/def_wailing_caverns.h diff --git a/src/bindings/scripts/scripts/zone/wailing_caverns/instance_wailing_caverns.cpp b/src/bindings/scripts/scripts/kalimdor/wailing_caverns/instance_wailing_caverns.cpp index e535a20a2c1..e535a20a2c1 100644 --- a/src/bindings/scripts/scripts/zone/wailing_caverns/instance_wailing_caverns.cpp +++ b/src/bindings/scripts/scripts/kalimdor/wailing_caverns/instance_wailing_caverns.cpp diff --git a/src/bindings/scripts/scripts/zone/wailing_caverns/wailing_caverns.cpp b/src/bindings/scripts/scripts/kalimdor/wailing_caverns/wailing_caverns.cpp index 622800127db..be222c33e3d 100644 --- a/src/bindings/scripts/scripts/zone/wailing_caverns/wailing_caverns.cpp +++ b/src/bindings/scripts/scripts/kalimdor/wailing_caverns/wailing_caverns.cpp @@ -25,7 +25,7 @@ EndScriptData */ EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #include "def_wailing_caverns.h" /*###### diff --git a/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp b/src/bindings/scripts/scripts/kalimdor/zulfarrak/zulfarrak.cpp index 4e630368db1..4e630368db1 100644 --- a/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp +++ b/src/bindings/scripts/scripts/kalimdor/zulfarrak/zulfarrak.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_amanitar.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_amanitar.cpp index 3538aee0c5b..3538aee0c5b 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_amanitar.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_amanitar.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_elder_nadox.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp index 129f7b34db6..129f7b34db6 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_elder_nadox.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_herald_volazj.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp index 820c260801e..820c260801e 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_herald_volazj.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp index 47a7d79e87b..47a7d79e87b 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp index cb34d8919d7..cb34d8919d7 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/def_ahnkahet.h b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/def_ahnkahet.h index 97c0db55d72..97c0db55d72 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/def_ahnkahet.h +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/def_ahnkahet.h diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/instance_ahnkahet.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/instance_ahnkahet.cpp index db9befd65cf..db9befd65cf 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/instance_ahnkahet.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/instance_ahnkahet.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/boss_anubarak.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp index b4717824443..b4717824443 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/boss_anubarak.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/boss_hadronox.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp index fa85563a2e7..fa85563a2e7 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/boss_hadronox.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp index 3e0d3e97a51..3e0d3e97a51 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/def_azjol_nerub.h b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/def_azjol_nerub.h index 9e319e8fde0..9e319e8fde0 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/def_azjol_nerub.h +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/def_azjol_nerub.h diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp index bac772acc6f..bac772acc6f 100644 --- a/src/bindings/scripts/scripts/zone/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp diff --git a/src/bindings/scripts/scripts/zone/draktharon_keep/boss_dred.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_dred.cpp index 98425a29e1a..98425a29e1a 100644 --- a/src/bindings/scripts/scripts/zone/draktharon_keep/boss_dred.cpp +++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_dred.cpp diff --git a/src/bindings/scripts/scripts/zone/draktharon_keep/boss_novos.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_novos.cpp index 2f1cc7d22fc..2f1cc7d22fc 100644 --- a/src/bindings/scripts/scripts/zone/draktharon_keep/boss_novos.cpp +++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_novos.cpp diff --git a/src/bindings/scripts/scripts/zone/draktharon_keep/boss_tharon_ja.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp index 62d724f4de4..62d724f4de4 100644 --- a/src/bindings/scripts/scripts/zone/draktharon_keep/boss_tharon_ja.cpp +++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp diff --git a/src/bindings/scripts/scripts/zone/draktharon_keep/boss_trollgore.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp index 59f68c37205..59f68c37205 100644 --- a/src/bindings/scripts/scripts/zone/draktharon_keep/boss_trollgore.cpp +++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/boss_trollgore.cpp diff --git a/src/bindings/scripts/scripts/zone/draktharon_keep/def_drak_tharon_keep.h b/src/bindings/scripts/scripts/northrend/draktharon_keep/def_drak_tharon_keep.h index 321d77a9c27..321d77a9c27 100644 --- a/src/bindings/scripts/scripts/zone/draktharon_keep/def_drak_tharon_keep.h +++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/def_drak_tharon_keep.h diff --git a/src/bindings/scripts/scripts/zone/draktharon_keep/instance_drak_tharon_keep.cpp b/src/bindings/scripts/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp index 795f36eca18..795f36eca18 100644 --- a/src/bindings/scripts/scripts/zone/draktharon_keep/instance_drak_tharon_keep.cpp +++ b/src/bindings/scripts/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp diff --git a/src/bindings/scripts/scripts/zone/gundrak/boss_drakkari_colossus.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp index 4d18ad6ba7c..4d18ad6ba7c 100644 --- a/src/bindings/scripts/scripts/zone/gundrak/boss_drakkari_colossus.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp diff --git a/src/bindings/scripts/scripts/zone/gundrak/boss_eck.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_eck.cpp index 8c72de6c9ad..8c72de6c9ad 100644 --- a/src/bindings/scripts/scripts/zone/gundrak/boss_eck.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_eck.cpp diff --git a/src/bindings/scripts/scripts/zone/gundrak/boss_gal_darah.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp index 65edd1b312e..65edd1b312e 100644 --- a/src/bindings/scripts/scripts/zone/gundrak/boss_gal_darah.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_gal_darah.cpp diff --git a/src/bindings/scripts/scripts/zone/gundrak/boss_moorabi.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp index 7bdbe0eebc9..7bdbe0eebc9 100644 --- a/src/bindings/scripts/scripts/zone/gundrak/boss_moorabi.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_moorabi.cpp diff --git a/src/bindings/scripts/scripts/zone/gundrak/boss_slad_ran.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp index 559a0090e3b..559a0090e3b 100644 --- a/src/bindings/scripts/scripts/zone/gundrak/boss_slad_ran.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_slad_ran.cpp diff --git a/src/bindings/scripts/scripts/zone/gundrak/def_gundrak.h b/src/bindings/scripts/scripts/northrend/gundrak/def_gundrak.h index 5f015610312..5f015610312 100644 --- a/src/bindings/scripts/scripts/zone/gundrak/def_gundrak.h +++ b/src/bindings/scripts/scripts/northrend/gundrak/def_gundrak.h diff --git a/src/bindings/scripts/scripts/zone/gundrak/instance_gundrak.cpp b/src/bindings/scripts/scripts/northrend/gundrak/instance_gundrak.cpp index 0ed874d905f..0ed874d905f 100644 --- a/src/bindings/scripts/scripts/zone/gundrak/instance_gundrak.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/instance_gundrak.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_anubrekhan.cpp index 835a5bfa2da..835a5bfa2da 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_anubrekhan.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp index 4be8f839e3d..4be8f839e3d 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_faerlina.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_four_horsemen.cpp index 467f5ef62e9..467f5ef62e9 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_four_horsemen.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gluth.cpp index a92c34a019c..a92c34a019c 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gluth.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp index f98e7667e6e..f98e7667e6e 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_grobbulus.cpp index 9195e0e7828..9195e0e7828 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_grobbulus.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_heigan.cpp index 8491ab95703..8491ab95703 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_heigan.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_heigan.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_highlord_mograine.cpp index 9bef8ebd3f9..9bef8ebd3f9 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_highlord_mograine.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp index a93ff572ab0..a93ff572ab0 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_kelthuzad.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp index eb53583752f..eb53583752f 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_loatheb.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_maexxna.cpp index 63ffb995cd5..63ffb995cd5 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_maexxna.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_noth.cpp index 87f9a96ad61..87f9a96ad61 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_noth.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_patchwerk.cpp index d50c72d8fa6..d50c72d8fa6 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_patchwerk.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_razuvious.cpp index 2ade34b6e6d..2ade34b6e6d 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_razuvious.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_sapphiron.cpp index f0dd9e735cb..f0dd9e735cb 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_sapphiron.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_thaddius.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_thaddius.cpp index b40b5aca876..b40b5aca876 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_thaddius.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_thaddius.cpp diff --git a/src/bindings/scripts/scripts/zone/naxxramas/def_naxxramas.h b/src/bindings/scripts/scripts/northrend/naxxramas/def_naxxramas.h index 383200d4600..383200d4600 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/def_naxxramas.h +++ b/src/bindings/scripts/scripts/northrend/naxxramas/def_naxxramas.h diff --git a/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/instance_naxxramas.cpp index f6121c18ef5..f6121c18ef5 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/instance_naxxramas.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/instance_naxxramas.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/eye_of_eternity/boss_malygos.cpp b/src/bindings/scripts/scripts/northrend/nexus/eye_of_eternity/boss_malygos.cpp index b187fa10656..b187fa10656 100644 --- a/src/bindings/scripts/scripts/zone/nexus/eye_of_eternity/boss_malygos.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/eye_of_eternity/boss_malygos.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/eye_of_eternity/def_eye_of_eternity.h b/src/bindings/scripts/scripts/northrend/nexus/eye_of_eternity/def_eye_of_eternity.h index caa82a92e95..caa82a92e95 100644 --- a/src/bindings/scripts/scripts/zone/nexus/eye_of_eternity/def_eye_of_eternity.h +++ b/src/bindings/scripts/scripts/northrend/nexus/eye_of_eternity/def_eye_of_eternity.h diff --git a/src/bindings/scripts/scripts/zone/nexus/eye_of_eternity/instance_eye_of_eternity.cpp b/src/bindings/scripts/scripts/northrend/nexus/eye_of_eternity/instance_eye_of_eternity.cpp index 7c89a117d92..7c89a117d92 100644 --- a/src/bindings/scripts/scripts/zone/nexus/eye_of_eternity/instance_eye_of_eternity.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/eye_of_eternity/instance_eye_of_eternity.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_anomalus.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp index 832dc9274e2..832dc9274e2 100644 --- a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_anomalus.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_anomalus.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_keristrasza.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp index 072e6db1a1f..072e6db1a1f 100644 --- a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_keristrasza.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_keristrasza.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_magus_telestra.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp index 2fe856cea05..2fe856cea05 100644 --- a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_magus_telestra.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_magus_telestra.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_ormorok.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp index d55e8514cc6..d55e8514cc6 100644 --- a/src/bindings/scripts/scripts/zone/nexus/nexus/boss_ormorok.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/boss_ormorok.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/nexus/commander_kolurg.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/commander_kolurg.cpp index a28deb89264..a28deb89264 100644 --- a/src/bindings/scripts/scripts/zone/nexus/nexus/commander_kolurg.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/commander_kolurg.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/nexus/commander_stoutbeard.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/commander_stoutbeard.cpp index 1bacd679e25..1bacd679e25 100644 --- a/src/bindings/scripts/scripts/zone/nexus/nexus/commander_stoutbeard.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/commander_stoutbeard.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/nexus/def_nexus.h b/src/bindings/scripts/scripts/northrend/nexus/nexus/def_nexus.h index 678e44e5bbe..678e44e5bbe 100644 --- a/src/bindings/scripts/scripts/zone/nexus/nexus/def_nexus.h +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/def_nexus.h diff --git a/src/bindings/scripts/scripts/zone/nexus/nexus/instance_nexus.cpp b/src/bindings/scripts/scripts/northrend/nexus/nexus/instance_nexus.cpp index 169eda90d2a..169eda90d2a 100644 --- a/src/bindings/scripts/scripts/zone/nexus/nexus/instance_nexus.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/nexus/instance_nexus.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/oculus/boss_drakos.cpp b/src/bindings/scripts/scripts/northrend/nexus/oculus/boss_drakos.cpp index bde90bf021e..bde90bf021e 100644 --- a/src/bindings/scripts/scripts/zone/nexus/oculus/boss_drakos.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/oculus/boss_drakos.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/oculus/boss_eregos.cpp b/src/bindings/scripts/scripts/northrend/nexus/oculus/boss_eregos.cpp index cc3fa3b3043..cc3fa3b3043 100644 --- a/src/bindings/scripts/scripts/zone/nexus/oculus/boss_eregos.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/oculus/boss_eregos.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/oculus/boss_urom.cpp b/src/bindings/scripts/scripts/northrend/nexus/oculus/boss_urom.cpp index 1f34ecefbbd..1f34ecefbbd 100644 --- a/src/bindings/scripts/scripts/zone/nexus/oculus/boss_urom.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/oculus/boss_urom.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/oculus/boss_varos.cpp b/src/bindings/scripts/scripts/northrend/nexus/oculus/boss_varos.cpp index 299c54dd8dc..299c54dd8dc 100644 --- a/src/bindings/scripts/scripts/zone/nexus/oculus/boss_varos.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/oculus/boss_varos.cpp diff --git a/src/bindings/scripts/scripts/zone/nexus/oculus/def_oculus.h b/src/bindings/scripts/scripts/northrend/nexus/oculus/def_oculus.h index 0b63a52d866..0b63a52d866 100644 --- a/src/bindings/scripts/scripts/zone/nexus/oculus/def_oculus.h +++ b/src/bindings/scripts/scripts/northrend/nexus/oculus/def_oculus.h diff --git a/src/bindings/scripts/scripts/zone/nexus/oculus/instance_oculus.cpp b/src/bindings/scripts/scripts/northrend/nexus/oculus/instance_oculus.cpp index b5ceee9e5ed..b5ceee9e5ed 100644 --- a/src/bindings/scripts/scripts/zone/nexus/oculus/instance_oculus.cpp +++ b/src/bindings/scripts/scripts/northrend/nexus/oculus/instance_oculus.cpp diff --git a/src/bindings/scripts/scripts/zone/obsidian_sanctum/boss_sartharion.cpp b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp index 01ba351ff99..01ba351ff99 100644 --- a/src/bindings/scripts/scripts/zone/obsidian_sanctum/boss_sartharion.cpp +++ b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp diff --git a/src/bindings/scripts/scripts/zone/obsidian_sanctum/def_obsidian_sanctum.h b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/def_obsidian_sanctum.h index 461834a2386..461834a2386 100644 --- a/src/bindings/scripts/scripts/zone/obsidian_sanctum/def_obsidian_sanctum.h +++ b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/def_obsidian_sanctum.h diff --git a/src/bindings/scripts/scripts/zone/obsidian_sanctum/instance_obsidian_sanctum.cpp b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/instance_obsidian_sanctum.cpp index 5dd3e06e585..5dd3e06e585 100644 --- a/src/bindings/scripts/scripts/zone/obsidian_sanctum/instance_obsidian_sanctum.cpp +++ b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/instance_obsidian_sanctum.cpp diff --git a/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp b/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp index da370ac4978..41454f330f1 100644 --- a/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp +++ b/src/bindings/scripts/scripts/northrend/sholazar_basin.cpp @@ -26,7 +26,7 @@ npc_injured_rainspeaker_oracle EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_injured_rainspeaker_oracle @@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL npc_injured_rainspeaker_oracleAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -90,7 +90,7 @@ struct TRINITY_DLL_DECL npc_injured_rainspeaker_oracleAI : public npc_escortAI m_creature->SetUnitMovementFlags(MOVEMENTFLAG_JUMPING); break; case 28: - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) pPlayer->GroupEventHappens(QUEST_FORTUNATE_MISUNDERSTANDINGS, m_creature); // me->RestoreFaction(); DoScriptText(SAY_END_IRO,m_creature); @@ -104,17 +104,12 @@ struct TRINITY_DLL_DECL npc_injured_rainspeaker_oracleAI : public npc_escortAI if (!IsBeingEscorted) return; - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) { if (pPlayer->GetQuestStatus(QUEST_FORTUNATE_MISUNDERSTANDINGS) != QUEST_STATUS_COMPLETE) pPlayer->FailQuest(QUEST_FORTUNATE_MISUNDERSTANDINGS); } } - - void UpdateAI(Player* pPlayer, Creature* pCreature,const uint32 diff) - { - npc_escortAI::UpdateAI(diff); - } }; diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_bjarngrim.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp index 5b6301019a5..1dc5f77fd96 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_bjarngrim.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp @@ -86,6 +86,7 @@ struct TRINITY_DLL_DECL boss_bjarngrimAI : public ScriptedAI m_pInstance = pCreature->GetInstanceData(); m_bIsHeroic = pCreature->GetMap()->IsHeroic(); m_uiStance = STANCE_DEFENSIVE; + memset(&m_auiStormforgedLieutenantGUID, 0, sizeof(m_auiStormforgedLieutenantGUID)); } ScriptedInstance* m_pInstance; @@ -111,7 +112,7 @@ struct TRINITY_DLL_DECL boss_bjarngrimAI : public ScriptedAI uint32 m_uiMortalStrike_Timer; uint32 m_uiSlam_Timer; - uint64 m_uiStormforgedLieutenantGUID[2]; + uint64 m_auiStormforgedLieutenantGUID[2]; void Reset() { @@ -136,7 +137,7 @@ struct TRINITY_DLL_DECL boss_bjarngrimAI : public ScriptedAI for(uint8 i = 0; i < 2; ++i) { - if (Creature* pStormforgedLieutenant = (Unit::GetCreature((*m_creature), m_uiStormforgedLieutenantGUID[i]))) + if (Creature* pStormforgedLieutenant = (Unit::GetCreature((*m_creature), m_auiStormforgedLieutenantGUID[i]))) { if (!pStormforgedLieutenant->isAlive()) pStormforgedLieutenant->Respawn(); diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_ionar.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp index 227d23b154a..227d23b154a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_ionar.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_loken.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp index 164b393b6d9..164b393b6d9 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_loken.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_volkhan.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp index 35eadb9783e..35eadb9783e 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/boss_volkhan.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/def_halls_of_lightning.h b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/def_halls_of_lightning.h index 8790274e599..8790274e599 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/def_halls_of_lightning.h +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/def_halls_of_lightning.h diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp index e9d75fb8b6f..e9d75fb8b6f 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/boss_krystallus.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp index e7ec03124de..e7ec03124de 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/boss_krystallus.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/boss_maiden_of_grief.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp index 51e8f26f6a9..51e8f26f6a9 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/boss_maiden_of_grief.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/boss_sjonnir.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp index d0b0889ea63..d0b0889ea63 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/boss_sjonnir.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/def_halls_of_stone.h b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/def_halls_of_stone.h index ade934ad921..ade934ad921 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/def_halls_of_stone.h +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/def_halls_of_stone.h diff --git a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/instance_halls_of_stone.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/instance_halls_of_stone.cpp index fa2dd83637f..fa2dd83637f 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/halls_of_stone/instance_halls_of_stone.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/instance_halls_of_stone.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_algalon.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_algalon.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_algalon.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_algalon.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_assembly_of_iron.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_assembly_of_iron.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_auriaya.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_auriaya.cpp index 685e2b506c0..685e2b506c0 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_auriaya.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_auriaya.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_flame_leviathan.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_flame_leviathan.cpp index 20ad85351a9..20ad85351a9 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_flame_leviathan.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_flame_leviathan.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_freya.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_freya.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_freya.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_freya.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_general_vezax.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_general_vezax.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_general_vezax.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_general_vezax.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_hodir.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_hodir.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_hodir.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_hodir.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_ignis.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_ignis.cpp index 56405eb13e1..56405eb13e1 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_ignis.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_ignis.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_kologarn.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_kologarn.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_kologarn.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_mimiron.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_mimiron.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_mimiron.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_mimiron.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_razorscale.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp index 59a7b8e6a9a..59a7b8e6a9a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_razorscale.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_thorim.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_thorim.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_thorim.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_thorim.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_xt002.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_xt002.cpp index a0d265f6224..a0d265f6224 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_xt002.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_xt002.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_yoggsaron.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_yoggsaron.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/boss_yoggsaron.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/boss_yoggsaron.cpp diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/def_ulduar.h b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/def_ulduar.h index d73e6324fc8..d73e6324fc8 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/def_ulduar.h +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/def_ulduar.h diff --git a/src/bindings/scripts/scripts/zone/ulduar/ulduar/instance_ulduar.cpp b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp index a736b2db12a..a736b2db12a 100644 --- a/src/bindings/scripts/scripts/zone/ulduar/ulduar/instance_ulduar.cpp +++ b/src/bindings/scripts/scripts/northrend/ulduar/ulduar/instance_ulduar.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp index a2445a97229..a2445a97229 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/boss_keleseth.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp index b7701a52472..b7701a52472 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/boss_keleseth.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp index 49811125594..49811125594 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/def_utgarde_keep.h b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/def_utgarde_keep.h index b630e156564..b630e156564 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/def_utgarde_keep.h +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/def_utgarde_keep.h diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp index 4c7668970da..4c7668970da 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/utgarde_keep.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.cpp index d82e45f28d4..d82e45f28d4 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/utgarde_keep.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp index 503cae94f4d..503cae94f4d 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp index f21ae75318a..f21ae75318a 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_svala.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp index e43d0cd9d4d..e43d0cd9d4d 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_svala.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp index 43a16a78db4..43a16a78db4 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/def_pinnacle.h b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/def_pinnacle.h index 82e2173fab5..82e2173fab5 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/def_pinnacle.h +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/def_pinnacle.h diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp index e1361c8960e..e1361c8960e 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp diff --git a/src/bindings/scripts/scripts/zone/vault_of_archavon/boss_archavon.cpp b/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_archavon.cpp index 2a0e7fcd007..2a0e7fcd007 100644 --- a/src/bindings/scripts/scripts/zone/vault_of_archavon/boss_archavon.cpp +++ b/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_archavon.cpp diff --git a/src/bindings/scripts/scripts/zone/vault_of_archavon/boss_emalon.cpp b/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_emalon.cpp index 94290a05007..94290a05007 100644 --- a/src/bindings/scripts/scripts/zone/vault_of_archavon/boss_emalon.cpp +++ b/src/bindings/scripts/scripts/northrend/vault_of_archavon/boss_emalon.cpp diff --git a/src/bindings/scripts/scripts/zone/vault_of_archavon/def_vault_of_archavon.h b/src/bindings/scripts/scripts/northrend/vault_of_archavon/def_vault_of_archavon.h index 95c44035184..95c44035184 100644 --- a/src/bindings/scripts/scripts/zone/vault_of_archavon/def_vault_of_archavon.h +++ b/src/bindings/scripts/scripts/northrend/vault_of_archavon/def_vault_of_archavon.h diff --git a/src/bindings/scripts/scripts/zone/vault_of_archavon/instance_vault_of_archavon.cpp b/src/bindings/scripts/scripts/northrend/vault_of_archavon/instance_vault_of_archavon.cpp index 45d0a4be7ae..45d0a4be7ae 100644 --- a/src/bindings/scripts/scripts/zone/vault_of_archavon/instance_vault_of_archavon.cpp +++ b/src/bindings/scripts/scripts/northrend/vault_of_archavon/instance_vault_of_archavon.cpp diff --git a/src/bindings/scripts/scripts/zone/violet_hold/boss_cyanigosa.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_cyanigosa.cpp index 13ad8c27a75..13ad8c27a75 100644 --- a/src/bindings/scripts/scripts/zone/violet_hold/boss_cyanigosa.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_cyanigosa.cpp diff --git a/src/bindings/scripts/scripts/zone/violet_hold/boss_erekem.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_erekem.cpp index d5f18ac806f..d5f18ac806f 100644 --- a/src/bindings/scripts/scripts/zone/violet_hold/boss_erekem.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_erekem.cpp diff --git a/src/bindings/scripts/scripts/zone/violet_hold/boss_ichoron.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_ichoron.cpp index 60b1c656808..60b1c656808 100644 --- a/src/bindings/scripts/scripts/zone/violet_hold/boss_ichoron.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_ichoron.cpp diff --git a/src/bindings/scripts/scripts/zone/violet_hold/boss_lavanthor.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_lavanthor.cpp index 430a8acb178..430a8acb178 100644 --- a/src/bindings/scripts/scripts/zone/violet_hold/boss_lavanthor.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_lavanthor.cpp diff --git a/src/bindings/scripts/scripts/zone/violet_hold/boss_moragg.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_moragg.cpp index fdc18a3c549..fdc18a3c549 100644 --- a/src/bindings/scripts/scripts/zone/violet_hold/boss_moragg.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_moragg.cpp diff --git a/src/bindings/scripts/scripts/zone/violet_hold/boss_xevozz.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_xevozz.cpp index b59c4aec4e1..b59c4aec4e1 100644 --- a/src/bindings/scripts/scripts/zone/violet_hold/boss_xevozz.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_xevozz.cpp diff --git a/src/bindings/scripts/scripts/zone/violet_hold/boss_zuramat.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/boss_zuramat.cpp index 218b5915bec..218b5915bec 100644 --- a/src/bindings/scripts/scripts/zone/violet_hold/boss_zuramat.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/boss_zuramat.cpp diff --git a/src/bindings/scripts/scripts/zone/violet_hold/def_violet_hold.h b/src/bindings/scripts/scripts/northrend/violet_hold/def_violet_hold.h index 71bc0d18d2f..71bc0d18d2f 100644 --- a/src/bindings/scripts/scripts/zone/violet_hold/def_violet_hold.h +++ b/src/bindings/scripts/scripts/northrend/violet_hold/def_violet_hold.h diff --git a/src/bindings/scripts/scripts/zone/violet_hold/instance_violet_hold.cpp b/src/bindings/scripts/scripts/northrend/violet_hold/instance_violet_hold.cpp index 98962b919e0..98962b919e0 100644 --- a/src/bindings/scripts/scripts/zone/violet_hold/instance_violet_hold.cpp +++ b/src/bindings/scripts/scripts/northrend/violet_hold/instance_violet_hold.cpp diff --git a/src/bindings/scripts/scripts/zone/wintergrasp/wintergrasp.cpp b/src/bindings/scripts/scripts/northrend/wintergrasp.cpp index 275043d91e5..275043d91e5 100644 --- a/src/bindings/scripts/scripts/zone/wintergrasp/wintergrasp.cpp +++ b/src/bindings/scripts/scripts/northrend/wintergrasp.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp b/src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp index 414804a6576..414804a6576 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp b/src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp index 4dfdd407731..4dfdd407731 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp index dcaaefee8c2..dcaaefee8c2 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp index 77e1c535340..77e1c535340 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp index 00e43fa257d..00e43fa257d 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp index 7830fc10645..7830fc10645 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/def_sethekk_halls.h index 6156f354d84..6156f354d84 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h +++ b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/def_sethekk_halls.h diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/instance_sethekk_halls.cpp index 060e09a1325..060e09a1325 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/sethekk_halls/instance_sethekk_halls.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp index f9961e10174..66e6b3a108d 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp @@ -22,7 +22,7 @@ SDCategory: Auchindoun, Shadow Labyrinth EndScriptData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #include "def_shadow_labyrinth.h" enum diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp index 73374c08f8c..73374c08f8c 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp index 0cc6255f3cf..0cc6255f3cf 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp index 259f6091af6..259f6091af6 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/def_shadow_labyrinth.h index a78955368bf..a78955368bf 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h +++ b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/def_shadow_labyrinth.h diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp index f8f3b73bffa..f8f3b73bffa 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp +++ b/src/bindings/scripts/scripts/outland/auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/black_temple.cpp b/src/bindings/scripts/scripts/outland/black_temple/black_temple.cpp index 7f0f1e570ba..7f0f1e570ba 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/black_temple.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/black_temple.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp b/src/bindings/scripts/scripts/outland/black_temple/boss_bloodboil.cpp index 12c3d445018..12c3d445018 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/boss_bloodboil.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp b/src/bindings/scripts/scripts/outland/black_temple/boss_illidan.cpp index 2baa0abbe81..2baa0abbe81 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/boss_illidan.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp b/src/bindings/scripts/scripts/outland/black_temple/boss_mother_shahraz.cpp index a33874c74cf..a33874c74cf 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/boss_mother_shahraz.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp b/src/bindings/scripts/scripts/outland/black_temple/boss_reliquary_of_souls.cpp index aa81259e451..aa81259e451 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/boss_reliquary_of_souls.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp b/src/bindings/scripts/scripts/outland/black_temple/boss_shade_of_akama.cpp index ea987bf4963..ea987bf4963 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/boss_shade_of_akama.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp b/src/bindings/scripts/scripts/outland/black_temple/boss_supremus.cpp index 669b0a25629..669b0a25629 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/boss_supremus.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp b/src/bindings/scripts/scripts/outland/black_temple/boss_teron_gorefiend.cpp index 25a82877388..25a82877388 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/boss_teron_gorefiend.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp b/src/bindings/scripts/scripts/outland/black_temple/boss_warlord_najentus.cpp index 1616333b007..1616333b007 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/boss_warlord_najentus.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/def_black_temple.h b/src/bindings/scripts/scripts/outland/black_temple/def_black_temple.h index c98c0b1c363..c98c0b1c363 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/def_black_temple.h +++ b/src/bindings/scripts/scripts/outland/black_temple/def_black_temple.h diff --git a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp b/src/bindings/scripts/scripts/outland/black_temple/illidari_council.cpp index 6b86140b659..6b86140b659 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/illidari_council.cpp diff --git a/src/bindings/scripts/scripts/zone/black_temple/instance_black_temple.cpp b/src/bindings/scripts/scripts/outland/black_temple/instance_black_temple.cpp index 173632009ba..173632009ba 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/instance_black_temple.cpp +++ b/src/bindings/scripts/scripts/outland/black_temple/instance_black_temple.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp index 1e62083f1f9..33e6e8f1b3a 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp @@ -23,7 +23,7 @@ EndScriptData */ #include "precompiled.h" #include "def_serpent_shrine.h" -#include "escortAI.h" +#include "escort_ai.h" #define SAY_AGGRO -1548021 #define SAY_GAIN_BLESSING -1548022 diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp index 434e088cd99..434e088cd99 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp index c1a2280653c..c1a2280653c 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp index e43afc2926f..e43afc2926f 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp index 38abc8f1507..38abc8f1507 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp index 80e05cc494b..80e05cc494b 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h index 13144bc93c0..13144bc93c0 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp index ebeda6aa565..ebeda6aa565 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp index 3bec4de6876..3bec4de6876 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp index d8cc2e0ef47..d8cc2e0ef47 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp index 0f4f2689398..0f4f2689398 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/def_steam_vault.h index 4b407ac4816..4b407ac4816 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/def_steam_vault.h diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/instance_steam_vault.cpp index 29616a123ad..29616a123ad 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/steam_vault/instance_steam_vault.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp index 309c63d857e..309c63d857e 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp b/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp index 6da2a022adf..6da2a022adf 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp +++ b/src/bindings/scripts/scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp b/src/bindings/scripts/scripts/outland/gruuls_lair/boss_gruul.cpp index dc4d9df18c4..dc4d9df18c4 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp +++ b/src/bindings/scripts/scripts/outland/gruuls_lair/boss_gruul.cpp diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp b/src/bindings/scripts/scripts/outland/gruuls_lair/boss_high_king_maulgar.cpp index 6918feaabba..6918feaabba 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp +++ b/src/bindings/scripts/scripts/outland/gruuls_lair/boss_high_king_maulgar.cpp diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/def_gruuls_lair.h b/src/bindings/scripts/scripts/outland/gruuls_lair/def_gruuls_lair.h index 7003dcb1e26..7003dcb1e26 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/def_gruuls_lair.h +++ b/src/bindings/scripts/scripts/outland/gruuls_lair/def_gruuls_lair.h diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp b/src/bindings/scripts/scripts/outland/gruuls_lair/instance_gruuls_lair.cpp index 0ac5cbcaf7a..0ac5cbcaf7a 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp +++ b/src/bindings/scripts/scripts/outland/gruuls_lair/instance_gruuls_lair.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_broggok.cpp index 6c877602426..6c877602426 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_broggok.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp index 097a1f21a0d..097a1f21a0d 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_the_maker.cpp index 9902c505b6b..9902c505b6b 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/boss_the_maker.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/def_blood_furnace.h b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/def_blood_furnace.h index b845c66823f..b845c66823f 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/def_blood_furnace.h +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/def_blood_furnace.h diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp index 5a18ded0c08..5a18ded0c08 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp index e7411187e86..e7411187e86 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp index 98aa4627be2..98aa4627be2 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp index 13059c55ff2..13059c55ff2 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/def_hellfire_ramparts.h b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/def_hellfire_ramparts.h index 4adf140b0ca..4adf140b0ca 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/def_hellfire_ramparts.h +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/def_hellfire_ramparts.h diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp index 5942f0142ef..5942f0142ef 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp index 8f7c076a701..24a3afa1d4b 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp @@ -205,12 +205,6 @@ struct TRINITY_DLL_DECL boss_magtheridonAI : public ScriptedAI void Reset() { - if (pInstance) - { - pInstance->SetData(DATA_MAGTHERIDON_EVENT, NOT_STARTED); - pInstance->SetData(DATA_COLLAPSE, false); - } - Berserk_Timer = 1320000; Quake_Timer = 40000; Debris_Timer = 10000; @@ -229,6 +223,15 @@ struct TRINITY_DLL_DECL boss_magtheridonAI : public ScriptedAI m_creature->CastSpell(m_creature, SPELL_SHADOW_CAGE_C, true); } + void JustReachedHome() + { + if (pInstance) + { + pInstance->SetData(DATA_MAGTHERIDON_EVENT, NOT_STARTED); + pInstance->SetData(DATA_COLLAPSE, false); + } + } + void SetClicker(uint64 cubeGUID, uint64 clickerGUID) { // to avoid multiclicks from 1 cube @@ -432,11 +435,6 @@ struct TRINITY_DLL_DECL mob_hellfire_channelerAI : public ScriptedAI Infernal_Timer = 10000 + rand()%40000; Check_Timer = 5000; - - if (pInstance) - pInstance->SetData(DATA_CHANNELER_EVENT, NOT_STARTED); - - m_creature->CastSpell(m_creature, SPELL_SHADOW_GRASP_C, false); } void EnterCombat(Unit *who) @@ -448,9 +446,18 @@ struct TRINITY_DLL_DECL mob_hellfire_channelerAI : public ScriptedAI DoZoneInCombat(); } - void JustSummoned(Creature *summon) {summon->AI()->AttackStart(m_creature->getVictim());} + void JustReachedHome() + { + if (pInstance) + pInstance->SetData(DATA_CHANNELER_EVENT, NOT_STARTED); + + m_creature->CastSpell(m_creature, SPELL_SHADOW_GRASP_C, false); + } - void MoveInLineOfSight(Unit* who) {} + void JustSummoned(Creature *summon) + { + summon->AI()->AttackStart(m_creature->getVictim()); + } void DamageTaken(Unit*, uint32 &damage) { diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h b/src/bindings/scripts/scripts/outland/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h index c5469acaea0..c5469acaea0 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp index eb8e9b1a961..eb8e9b1a961 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp index 721d1efd03c..721d1efd03c 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp index 0681e94e2b0..0681e94e2b0 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp index 4fa673f3560..4fa673f3560 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/def_shattered_halls.h index cbfa23ec4e0..cbfa23ec4e0 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/def_shattered_halls.h diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp index 864a49a84ba..864a49a84ba 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp diff --git a/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp b/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp index da5d0e15699..9e7e6145178 100644 --- a/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp +++ b/src/bindings/scripts/scripts/outland/hellfire_peninsula.cpp @@ -25,11 +25,12 @@ EndScriptData */ npc_aeranas go_haaleshi_altar npc_naladu +npc_tracy_proudwell npc_wounded_blood_elf EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_aeranas @@ -69,8 +70,6 @@ struct TRINITY_DLL_DECL npc_aeranasAI : public ScriptedAI DoScriptText(SAY_SUMMON, m_creature); } - void EnterCombat(Unit *who) {} - void UpdateAI(const uint32 diff) { if (Faction_Timer) @@ -157,6 +156,54 @@ bool GossipSelect_npc_naladu(Player* pPlayer, Creature* pCreature, uint32 uiSend } /*###### +## npc_tracy_proudwell +######*/ + +#define GOSSIP_TEXT_REDEEM_MARKS "I have marks to redeem!" +#define GOSSIP_TRACY_PROUDWELL_ITEM1 "I heard that your dog Fei Fei took Klatu's prayer beads..." +#define GOSSIP_TRACY_PROUDWELL_ITEM2 "<back>" + +enum +{ + GOSSIP_TEXTID_TRACY_PROUDWELL1 = 10689, + QUEST_DIGGING_FOR_PRAYER_BEADS = 10916 +}; + +bool GossipHello_npc_tracy_proudwell(Player* pPlayer, Creature* pCreature) +{ + if (pCreature->isQuestGiver()) + pPlayer->PrepareQuestMenu(pCreature->GetGUID()); + + if (pCreature->isVendor()) + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_REDEEM_MARKS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + + if (pPlayer->GetQuestStatus(QUEST_DIGGING_FOR_PRAYER_BEADS) == QUEST_STATUS_INCOMPLETE) + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TRACY_PROUDWELL_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + + pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID()); + return true; +} + +bool GossipSelect_npc_tracy_proudwell(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction) +{ + switch(uiAction) + { + case GOSSIP_ACTION_INFO_DEF+1: + pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TRACY_PROUDWELL_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TRACY_PROUDWELL1, pCreature->GetGUID()); + break; + case GOSSIP_ACTION_INFO_DEF+2: + pPlayer->SEND_GOSSIP_MENU(pCreature->GetNpcTextId(), pCreature->GetGUID()); + break; + case GOSSIP_ACTION_TRADE: + pPlayer->SEND_VENDORLIST(pCreature->GetGUID()); + break; + } + + return true; +} + +/*###### ## npc_wounded_blood_elf ######*/ @@ -178,9 +225,9 @@ struct TRINITY_DLL_DECL npc_wounded_blood_elfAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); - if (!pPlayer || pPlayer->GetTypeId() != TYPEID_PLAYER) + if (!pPlayer) return; switch (i) @@ -269,6 +316,12 @@ void AddSC_hellfire_peninsula() newscript->RegisterSelf(); newscript = new Script; + newscript->Name = "npc_tracy_proudwell"; + newscript->pGossipHello = &GossipHello_npc_tracy_proudwell; + newscript->pGossipSelect = &GossipSelect_npc_tracy_proudwell; + newscript->RegisterSelf(); + + newscript = new Script; newscript->Name="npc_wounded_blood_elf"; newscript->GetAI = &GetAI_npc_wounded_blood_elf; newscript->pQuestAccept = &QuestAccept_npc_wounded_blood_elf; diff --git a/src/bindings/scripts/scripts/outland/nagrand.cpp b/src/bindings/scripts/scripts/outland/nagrand.cpp index 09435b91efe..865fc24f922 100644 --- a/src/bindings/scripts/scripts/outland/nagrand.cpp +++ b/src/bindings/scripts/scripts/outland/nagrand.cpp @@ -237,7 +237,7 @@ struct TRINITY_DLL_DECL mob_sunspring_villagerAI : public ScriptedAI void Reset() { - m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 32); + m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); m_creature->SetStandState(UNIT_STAND_STATE_DEAD); } diff --git a/src/bindings/scripts/scripts/outland/netherstorm.cpp b/src/bindings/scripts/scripts/outland/netherstorm.cpp index e251951f4aa..8d1aa2c3b3c 100644 --- a/src/bindings/scripts/scripts/outland/netherstorm.cpp +++ b/src/bindings/scripts/scripts/outland/netherstorm.cpp @@ -29,7 +29,7 @@ npc_bessy EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_manaforge_control_console @@ -803,20 +803,15 @@ struct TRINITY_DLL_DECL npc_bessyAI : public npc_escortAI npc_bessyAI(Creature *c) : npc_escortAI(c) {} - bool Completed; - void JustDied(Unit* killer) { - if (PlayerGUID) - { - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) - CAST_PLR(pPlayer)->FailQuest(Q_ALMABTRIEB); - } + if (Player* pPlayer = GetPlayerForEscort()) + pPlayer->FailQuest(Q_ALMABTRIEB); } void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -836,17 +831,12 @@ struct TRINITY_DLL_DECL npc_bessyAI : public npc_escortAI case 12: if (pPlayer) - { - CAST_PLR(pPlayer)->GroupEventHappens(Q_ALMABTRIEB, m_creature); - Completed = true; - } - {Unit* Thadell = me->FindNearestCreature(N_THADELL, 30); - if (Thadell) - DoScriptText(SAY_THADELL_1, m_creature);}break; + pPlayer->GroupEventHappens(Q_ALMABTRIEB, m_creature); + if (Unit* Thadell = me->FindNearestCreature(N_THADELL, 30)) + DoScriptText(SAY_THADELL_1, m_creature); break; case 13: - {Unit* Thadell = me->FindNearestCreature(N_THADELL, 30); - if (Thadell) - DoScriptText(SAY_THADELL_2, m_creature, pPlayer);}break; + if (Unit* Thadell = me->FindNearestCreature(N_THADELL, 30)) + DoScriptText(SAY_THADELL_2, m_creature, pPlayer); break; } } @@ -855,17 +845,9 @@ struct TRINITY_DLL_DECL npc_bessyAI : public npc_escortAI summoned->AI()->AttackStart(m_creature); } - void EnterCombat(Unit* who){} - void Reset() { - Completed = false; - m_creature->setFaction(35); - } - - void UpdateAI(const uint32 diff) - { - npc_escortAI::UpdateAI(diff); + me->RestoreFaction(); } }; @@ -883,24 +865,7 @@ bool QuestAccept_npc_bessy(Player* pPlayer, Creature* pCreature, Quest const* qu CreatureAI* GetAI_npc_bessy(Creature* pCreature) { - npc_bessyAI* bessyAI = new npc_bessyAI(pCreature); - - bessyAI->AddWaypoint(0, 2488.77, 2184.89, 104.64); - bessyAI->AddWaypoint(1, 2478.72, 2184.77, 98.58); - bessyAI->AddWaypoint(2, 2473.52, 2184.71, 99.00); - bessyAI->AddWaypoint(3, 2453.15, 2184.96, 97.09,4000); - bessyAI->AddWaypoint(4, 2424.18, 2184.15, 94.11); - bessyAI->AddWaypoint(5, 2413.18, 2184.15, 93.42); - bessyAI->AddWaypoint(6, 2402.02, 2183.90, 87.59); - bessyAI->AddWaypoint(7, 2333.31, 2181.63, 90.03,4000); - bessyAI->AddWaypoint(8, 2308.73, 2184.34, 92.04); - bessyAI->AddWaypoint(9, 2303.10, 2196.89, 94.94); - bessyAI->AddWaypoint(10, 2304.58, 2272.23, 96.67); - bessyAI->AddWaypoint(11, 2297.09, 2271.40, 95.16); - bessyAI->AddWaypoint(12, 2297.68, 2266.79, 95.07,4000); - bessyAI->AddWaypoint(13, 2297.67, 2266.76, 95.07,4000); - - return bessyAI; + return new npc_bessyAI(pCreature); } /*###### diff --git a/src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp b/src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp index 41b1ec159b8..5ef2be74bf9 100644 --- a/src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp +++ b/src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp @@ -40,7 +40,7 @@ npc_enraged_spirit EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*##### # mob_mature_netherwing_drake @@ -83,8 +83,6 @@ struct TRINITY_DLL_DECL mob_mature_netherwing_drakeAI : public ScriptedAI CastTimer = 5000; } - void EnterCombat(Unit* who) { } - void SpellHit(Unit* pCaster, SpellEntry const* pSpell) { if (bCanEat || bIsEating) @@ -205,8 +203,6 @@ struct TRINITY_DLL_DECL mob_enslaved_netherwing_drakeAI : public ScriptedAI m_creature->SetVisibility(VISIBILITY_ON); } - void EnterCombat(Unit* who) { } - void SpellHit(Unit* caster, const SpellEntry* spell) { if (!caster) @@ -325,8 +321,6 @@ struct TRINITY_DLL_DECL mob_dragonmaw_peonAI : public ScriptedAI PoisonTimer = 0; } - void EnterCombat(Unit* who) { } - void SpellHit(Unit* caster, const SpellEntry* spell) { if (!caster) @@ -696,8 +690,6 @@ struct TRINITY_DLL_DECL npc_overlord_morghorAI : public ScriptedAI Event = false; } - void EnterCombat(Unit* who){} - void StartEvent() { m_creature->SetUInt32Value(UNIT_NPC_FLAGS, 0); @@ -891,7 +883,7 @@ struct TRINITY_DLL_DECL npc_earthmender_wildaAI : public npc_escortAI void WaypointReached(uint32 uiPointId) { - Player* pPlayer = (Player*)Unit::GetUnit(*m_creature, PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -944,7 +936,7 @@ struct TRINITY_DLL_DECL npc_earthmender_wildaAI : public npc_escortAI case 50: DoScriptText(SAY_WIL_END, m_creature, pPlayer); - if (Player* pPlayer = Unit::GetPlayer(PlayerGUID)) + if (Player* pPlayer = GetPlayerForEscort()) pPlayer->GroupEventHappens(QUEST_ESCAPE_COILSCAR, m_creature); break; } diff --git a/src/bindings/scripts/scripts/outland/shattrath_city.cpp b/src/bindings/scripts/scripts/outland/shattrath_city.cpp index e44aea2e0a0..23d54ce83b6 100644 --- a/src/bindings/scripts/scripts/outland/shattrath_city.cpp +++ b/src/bindings/scripts/scripts/outland/shattrath_city.cpp @@ -33,7 +33,7 @@ npc_khadgar EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npc_raliq_the_drunk @@ -61,12 +61,9 @@ struct TRINITY_DLL_DECL npc_raliq_the_drunkAI : public ScriptedAI void Reset() { Uppercut_Timer = 5000; - if (m_creature->getFaction() != m_uiNormFaction) - m_creature->setFaction(m_uiNormFaction); + me->RestoreFaction(); } - void EnterCombat(Unit *who) {} - void UpdateAI(const uint32 diff) { if (!UpdateVictim()) @@ -126,11 +123,9 @@ struct TRINITY_DLL_DECL npc_salsalabimAI : public ScriptedAI void Reset() { MagneticPull_Timer = 15000; - m_creature->setFaction(FACTION_FRIENDLY_SA); + me->RestoreFaction(); } - void EnterCombat(Unit *who) {} - void DamageTaken(Unit *done_by, uint32 &damage) { if (done_by->GetTypeId() == TYPEID_PLAYER) @@ -288,71 +283,60 @@ public: void WaypointReached(uint32 i) { - Unit *pTemp = Unit::GetUnit(*m_creature,PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); - if (!pTemp) + if (!pPlayer) return; switch(i) { - case 0: DoScriptText(SAY1, m_creature, pTemp); break; - case 4: DoScriptText(WHISP1, m_creature, pTemp); break; - case 6: DoScriptText(WHISP2, m_creature, pTemp); break; - case 7: DoScriptText(WHISP3, m_creature, pTemp); break; - case 8: DoScriptText(WHISP4, m_creature, pTemp); break; - case 17: DoScriptText(WHISP5, m_creature, pTemp); break; - case 18: DoScriptText(WHISP6, m_creature, pTemp); break; - case 19: DoScriptText(WHISP7, m_creature, pTemp); break; - case 33: DoScriptText(WHISP8, m_creature, pTemp); break; - case 34: DoScriptText(WHISP9, m_creature, pTemp); break; - case 35: DoScriptText(WHISP10, m_creature, pTemp); break; - case 36: DoScriptText(WHISP11, m_creature, pTemp); break; - case 43: DoScriptText(WHISP12, m_creature, pTemp); break; - case 44: DoScriptText(WHISP13, m_creature, pTemp); break; - case 49: DoScriptText(WHISP14, m_creature, pTemp); break; - case 50: DoScriptText(WHISP15, m_creature, pTemp); break; - case 51: DoScriptText(WHISP16, m_creature, pTemp); break; - case 52: DoScriptText(WHISP17, m_creature, pTemp); break; - case 53: DoScriptText(WHISP18, m_creature, pTemp); break; - case 54: DoScriptText(WHISP19, m_creature, pTemp); break; - case 55: DoScriptText(WHISP20, m_creature, pTemp); break; - case 56: DoScriptText(WHISP21, m_creature, pTemp); - if (PlayerGUID) - { - Player* pPlayer = (Unit::GetPlayer(PlayerGUID)); - if (pPlayer) - pPlayer->GroupEventHappens(10211,m_creature); - } + case 0: DoScriptText(SAY1, m_creature, pPlayer); break; + case 4: DoScriptText(WHISP1, m_creature, pPlayer); break; + case 6: DoScriptText(WHISP2, m_creature, pPlayer); break; + case 7: DoScriptText(WHISP3, m_creature, pPlayer); break; + case 8: DoScriptText(WHISP4, m_creature, pPlayer); break; + case 17: DoScriptText(WHISP5, m_creature, pPlayer); break; + case 18: DoScriptText(WHISP6, m_creature, pPlayer); break; + case 19: DoScriptText(WHISP7, m_creature, pPlayer); break; + case 33: DoScriptText(WHISP8, m_creature, pPlayer); break; + case 34: DoScriptText(WHISP9, m_creature, pPlayer); break; + case 35: DoScriptText(WHISP10, m_creature, pPlayer); break; + case 36: DoScriptText(WHISP11, m_creature, pPlayer); break; + case 43: DoScriptText(WHISP12, m_creature, pPlayer); break; + case 44: DoScriptText(WHISP13, m_creature, pPlayer); break; + case 49: DoScriptText(WHISP14, m_creature, pPlayer); break; + case 50: DoScriptText(WHISP15, m_creature, pPlayer); break; + case 51: DoScriptText(WHISP16, m_creature, pPlayer); break; + case 52: DoScriptText(WHISP17, m_creature, pPlayer); break; + case 53: DoScriptText(WHISP18, m_creature, pPlayer); break; + case 54: DoScriptText(WHISP19, m_creature, pPlayer); break; + case 55: DoScriptText(WHISP20, m_creature, pPlayer); break; + case 56: DoScriptText(WHISP21, m_creature, pPlayer); + if (pPlayer) + pPlayer->GroupEventHappens(10211,m_creature); break; } } - void EnterCombat(Unit* who) {} - - void MoveInLineOfSight(Unit *who) + void MoveInLineOfSight(Unit* pWho) { if (IsBeingEscorted) return; - if (who->GetTypeId() == TYPEID_PLAYER) + if (pWho->GetTypeId() == TYPEID_PLAYER) { - if (CAST_PLR(who)->GetQuestStatus(10211) == QUEST_STATUS_INCOMPLETE) + if (CAST_PLR(pWho)->GetQuestStatus(10211) == QUEST_STATUS_INCOMPLETE) { float Radius = 10.0; - if (m_creature->IsWithinDistInMap(who, Radius)) + if (m_creature->IsWithinDistInMap(pWho, Radius)) { - Start(false, false, who->GetGUID()); + Start(false, false, pWho->GetGUID()); } } } } void Reset() {} - - void UpdateAI(const uint32 diff) - { - npc_escortAI::UpdateAI(diff); - } }; CreatureAI* GetAI_npc_kservantAI(Creature* pCreature) { diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/arcatraz.cpp index fc855b74bd9..fc855b74bd9 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/arcatraz.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp index bcab1a6257f..bcab1a6257f 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/def_arcatraz.h index 3f8dee8bbd0..3f8dee8bbd0 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/def_arcatraz.h +++ b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/def_arcatraz.h diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/instance_arcatraz.cpp index 081c80c56e5..ebf5484671c 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/arcatraz/instance_arcatraz.cpp @@ -84,8 +84,7 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance bool IsEncounterInProgress() const { for(uint8 i = 0; i < MAX_ENCOUNTER; ++i) - if (m_auiEncounter[i] == IN_PROGRESS) - return true; + if (m_auiEncounter[i] == IN_PROGRESS) return true; return false; } diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_high_botanist_freywinn.cpp index c63fb1b8d58..c63fb1b8d58 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_high_botanist_freywinn.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_laj.cpp index ddd5745f93c..ddd5745f93c 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_laj.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp index a9b111be839..a9b111be839 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_alar.cpp index e57f3294a55..e57f3294a55 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_alar.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_astromancer.cpp index 81f3c619bac..81f3c619bac 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_astromancer.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_kaelthas.cpp index d341e52ae06..d341e52ae06 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_kaelthas.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_void_reaver.cpp index 60cfaf1609d..60cfaf1609d 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/boss_void_reaver.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/def_the_eye.h b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/def_the_eye.h index d0d3ea09061..d0d3ea09061 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/def_the_eye.h +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/def_the_eye.h diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/instance_the_eye.cpp index f973f96c1ff..f973f96c1ff 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/instance_the_eye.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/the_eye.cpp index 2dfff45796f..2dfff45796f 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_eye/the_eye.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp index 268cfeb2918..268cfeb2918 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp index a1ca31c3e5e..a1ca31c3e5e 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp index da6c613d794..da6c613d794 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp index 1e06232c9b6..1e06232c9b6 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/def_mechanar.h b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/def_mechanar.h index d1b53eebf53..d1b53eebf53 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/def_mechanar.h +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/def_mechanar.h diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/instance_mechanar.cpp index e43190620d9..e43190620d9 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp +++ b/src/bindings/scripts/scripts/outland/tempest_keep/the_mechanar/instance_mechanar.cpp diff --git a/src/bindings/scripts/scripts/outland/terokkar_forest.cpp b/src/bindings/scripts/scripts/outland/terokkar_forest.cpp index ebe8c0b944f..bfce48a17dd 100644 --- a/src/bindings/scripts/scripts/outland/terokkar_forest.cpp +++ b/src/bindings/scripts/scripts/outland/terokkar_forest.cpp @@ -32,7 +32,7 @@ npc_slim EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## mob_unkor_the_ruthless @@ -179,7 +179,7 @@ public: void WaypointReached(uint32 i) { - Player *pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -412,11 +412,9 @@ struct TRINITY_DLL_DECL npc_isla_starmaneAI : public npc_escortAI { npc_isla_starmaneAI(Creature* c) : npc_escortAI(c) {} - bool Completed; - void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if (!pPlayer) return; @@ -435,11 +433,11 @@ struct TRINITY_DLL_DECL npc_isla_starmaneAI : public npc_escortAI case 29:DoScriptText(SAY_PROGRESS_4, m_creature, pPlayer); if (pPlayer) { - if (CAST_PLR(pPlayer)->GetTeam() == ALLIANCE) - CAST_PLR(pPlayer)->GroupEventHappens(QUEST_EFTW_A, m_creature); - else if (CAST_PLR(pPlayer)->GetTeam() == HORDE) - CAST_PLR(pPlayer)->GroupEventHappens(QUEST_EFTW_H, m_creature); - } Completed = true; + if (pPlayer->GetTeam() == ALLIANCE) + pPlayer->GroupEventHappens(QUEST_EFTW_A, m_creature); + else if (pPlayer->GetTeam() == HORDE) + pPlayer->GroupEventHappens(QUEST_EFTW_H, m_creature); + } m_creature->SetInFront(pPlayer); break; case 30: m_creature->HandleEmoteCommand(EMOTE_ONESHOT_WAVE); break; case 31: DoCast(m_creature, SPELL_CAT); @@ -449,31 +447,19 @@ struct TRINITY_DLL_DECL npc_isla_starmaneAI : public npc_escortAI void Reset() { - Completed = false; - m_creature->setFaction(1660); + me->RestoreFaction(); } - void EnterCombat(Unit* who){} - void JustDied(Unit* killer) { - if (PlayerGUID) + if (Player* pPlayer = GetPlayerForEscort()) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); - if (pPlayer && !Completed) - { - if (CAST_PLR(pPlayer)->GetTeam() == ALLIANCE) - CAST_PLR(pPlayer)->FailQuest(QUEST_EFTW_A); - else if (CAST_PLR(pPlayer)->GetTeam() == HORDE) - CAST_PLR(pPlayer)->FailQuest(QUEST_EFTW_H); - } + if (pPlayer->GetTeam() == ALLIANCE) + pPlayer->FailQuest(QUEST_EFTW_A); + else if (pPlayer->GetTeam() == HORDE) + pPlayer->FailQuest(QUEST_EFTW_H); } } - - void UpdateAI(const uint32 diff) - { - npc_escortAI::UpdateAI(diff); - } }; bool QuestAccept_npc_isla_starmane(Player* pPlayer, Creature* pCreature, Quest const* quest) @@ -488,45 +474,7 @@ bool QuestAccept_npc_isla_starmane(Player* pPlayer, Creature* pCreature, Quest c CreatureAI* GetAI_npc_isla_starmaneAI(Creature* pCreature) { - npc_isla_starmaneAI* thisAI = new npc_isla_starmaneAI(pCreature); - - thisAI->AddWaypoint(0, -2265.21, 3091.14, 13.91); - thisAI->AddWaypoint(1, -2266.80, 3091.33, 13.82, 1000); - thisAI->AddWaypoint(2, -2268.20, 3091.14, 13.82, 7000);//progress1 - thisAI->AddWaypoint(3, -2278.32, 3098.98, 13.82); - thisAI->AddWaypoint(4, -2294.82, 3110.59, 13.82); - thisAI->AddWaypoint(5, -2300.71, 3114.60, 13.82, 20000);//progress2 - thisAI->AddWaypoint(6, -2300.71, 3114.60, 13.82, 3000);//progress3 - thisAI->AddWaypoint(7, -2307.36, 3122.76, 13.79); - thisAI->AddWaypoint(8, -2312.83, 3130.55, 12.04); - thisAI->AddWaypoint(9, -2345.02, 3151.00, 8.38); - thisAI->AddWaypoint(10, -2351.97, 3157.61, 6.27); - thisAI->AddWaypoint(11, -2360.35, 3171.48, 3.31); - thisAI->AddWaypoint(12, -2371.44, 3185.41, 0.89); - thisAI->AddWaypoint(13, -2371.21, 3197.92, -0.96); - thisAI->AddWaypoint(14, -2380.35, 3210.45, -1.08); - thisAI->AddWaypoint(15, -2384.74, 3221.25, -1.17); - thisAI->AddWaypoint(16, -2386.15, 3233.39, -1.29); - thisAI->AddWaypoint(17, -2383.45, 3247.79, -1.32); - thisAI->AddWaypoint(18, -2367.50, 3265.64, -1.33); - thisAI->AddWaypoint(19, -2354.90, 3273.30, -1.50); - thisAI->AddWaypoint(20, -2348.88, 3280.58, -0.09); - thisAI->AddWaypoint(21, -2349.06, 3295.86, -0.95); - thisAI->AddWaypoint(22, -2350.43, 3328.27, -2.10); - thisAI->AddWaypoint(23, -2346.76, 3356.27, -2.82); - thisAI->AddWaypoint(24, -2340.56, 3370.68, -4.02); - thisAI->AddWaypoint(25, -2318.84, 3384.60, -7.61); - thisAI->AddWaypoint(26, -2313.99, 3398.61, -10.40); - thisAI->AddWaypoint(27, -2320.85, 3414.49, -11.49); - thisAI->AddWaypoint(28, -2338.26, 3426.06, -11.46); - thisAI->AddWaypoint(29, -2342.67, 3439.44, -11.32, 12000);//progress4 - thisAI->AddWaypoint(30, -2342.67, 3439.44, -11.32, 7000);//emote bye - thisAI->AddWaypoint(31, -2342.67, 3439.44, -11.32, 5000);//cat form - thisAI->AddWaypoint(32, -2344.60, 3461.27, -10.44); - thisAI->AddWaypoint(33, -2396.81, 3517.17, -3.55); - thisAI->AddWaypoint(34, -2439.23, 3523.00, -1.05); - - return thisAI; + return new npc_isla_starmaneAI(pCreature); } /*###### @@ -624,7 +572,7 @@ struct TRINITY_DLL_DECL npc_akunoAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pPlayer = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); if(!pPlayer) return; diff --git a/src/bindings/scripts/scripts/outland/zangarmarsh.cpp b/src/bindings/scripts/scripts/outland/zangarmarsh.cpp index 5267767c544..2d505a5183a 100644 --- a/src/bindings/scripts/scripts/outland/zangarmarsh.cpp +++ b/src/bindings/scripts/scripts/outland/zangarmarsh.cpp @@ -30,7 +30,7 @@ npc_kayra_longmane EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" /*###### ## npcs_ashyen_and_keleth @@ -284,34 +284,34 @@ struct TRINITY_DLL_DECL npc_kayra_longmaneAI : public npc_escortAI void WaypointReached(uint32 i) { - Player* pUnit = Unit::GetPlayer(PlayerGUID); + Player* pPlayer = GetPlayerForEscort(); - if (!pUnit) + if (!pPlayer) return; switch(i) { case 4: - DoScriptText(SAY_AMBUSH1, m_creature, pUnit); + DoScriptText(SAY_AMBUSH1, m_creature, pPlayer); DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); break; case 5: - DoScriptText(SAY_PROGRESS, m_creature, pUnit); + DoScriptText(SAY_PROGRESS, m_creature, pPlayer); SetRun(); break; case 16: - DoScriptText(SAY_AMBUSH2, m_creature, pUnit); + DoScriptText(SAY_AMBUSH2, m_creature, pPlayer); DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); break; case 17: SetRun(false); - DoScriptText(SAY_NEAR_END, m_creature, pUnit); + DoScriptText(SAY_NEAR_END, m_creature, pPlayer); break; case 25: - DoScriptText(SAY_END, m_creature, pUnit); - pUnit->GroupEventHappens(QUEST_ESCAPE_FROM, m_creature); + DoScriptText(SAY_END, m_creature, pPlayer); + pPlayer->GroupEventHappens(QUEST_ESCAPE_FROM, m_creature); break; } } diff --git a/src/bindings/scripts/scripts/world/npcs_special.cpp b/src/bindings/scripts/scripts/world/npcs_special.cpp index 2a56a825b11..ef826d4af3a 100644 --- a/src/bindings/scripts/scripts/world/npcs_special.cpp +++ b/src/bindings/scripts/scripts/world/npcs_special.cpp @@ -38,7 +38,7 @@ npc_snake_trap_serpents 80% AI for snakes that summoned by Snake Trap EndContentData */ #include "precompiled.h" -#include "escortAI.h" +#include "escort_ai.h" #include "ObjectMgr.h" /*######## diff --git a/src/bindings/scripts/scripts/zone/black_temple/.instance_black_temple.cpp-s8inyu b/src/bindings/scripts/scripts/zone/black_temple/.instance_black_temple.cpp-s8inyu deleted file mode 100644 index 43646746505..00000000000 --- a/src/bindings/scripts/scripts/zone/black_temple/.instance_black_temple.cpp-s8inyu +++ /dev/null @@ -1,347 +0,0 @@ -/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -/* ScriptData -SDName: Instance_Black_Temple -SD%Complete: 100 -SDComment: Instance Data Scripts and functions to acquire mobs and set encounter status for use in various Black Temple Scripts -SDCategory: Black Temple -EndScriptData */ - -#include "precompiled.h" -#include "def_black_temple.h" - -#define ENCOUNTERS 9 - -/* Black Temple encounters: -0 - High Warlord Naj'entus event -1 - Supremus Event -2 - Shade of Akama Event -3 - Teron Gorefiend Event -4 - Gurtogg Bloodboil Event -5 - Reliquary Of Souls Event -6 - Mother Shahraz Event -7 - Illidari Council Event -8 - Illidan Stormrage Event -*/ - -struct TRINITY_DLL_DECL instance_black_temple : public ScriptedInstance -{ - instance_black_temple(Map *map) : ScriptedInstance(map) {Initialize();}; - - uint32 Encounters[ENCOUNTERS]; - std::string str_data; - - uint64 Najentus; - uint64 Akama; // This is the Akama that starts the Illidan encounter. - uint64 Akama_Shade; // This is the Akama that starts the Shade of Akama encounter. - uint64 ShadeOfAkama; - uint64 Supremus; - uint64 LadyMalande; - uint64 GathiosTheShatterer; - uint64 HighNethermancerZerevor; - uint64 VerasDarkshadow; - uint64 IllidariCouncil; - uint64 BloodElfCouncilVoice; - uint64 IllidanStormrage; - - uint64 NajentusGate; - uint64 MainTempleDoors; - uint64 ShadeOfAkamaDoor; - uint64 CommonDoor;//Teron - uint64 TeronDoor; - uint64 GuurtogDoor; - uint64 MotherDoor; - uint64 TempleDoor;//Befor mother - uint64 CouncilDoor; - uint64 SimpleDoor;//council - uint64 IllidanGate; - uint64 IllidanDoor[2]; - - void Initialize() - { - Najentus = 0; - Akama = 0; - Akama_Shade = 0; - ShadeOfAkama = 0; - Supremus = 0; - LadyMalande = 0; - GathiosTheShatterer = 0; - HighNethermancerZerevor = 0; - VerasDarkshadow = 0; - IllidariCouncil = 0; - BloodElfCouncilVoice = 0; - IllidanStormrage = 0; - - NajentusGate = 0; - MainTempleDoors = 0; - ShadeOfAkamaDoor= 0; - CommonDoor = 0;//teron - TeronDoor = 0; - GuurtogDoor = 0; - MotherDoor = 0; - TempleDoor = 0; - SimpleDoor = 0;//Bycouncil - CouncilDoor = 0; - IllidanGate = 0; - IllidanDoor[0] = 0; - IllidanDoor[1] = 0; - - for(uint8 i = 0; i < ENCOUNTERS; ++i) - Encounters[i] = NOT_STARTED; - } - - bool IsEncounterInProgress() const - { - for(uint8 i = 0; i < ENCOUNTERS; ++i) - if(Encounters[i] == IN_PROGRESS) return true; - - return false; - } - - Player* GetPlayerInMap() - { - Map::PlayerList const& players = instance->GetPlayers(); - - if (!players.isEmpty()) - { - for(Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) - { - if (Player* plr = itr->getSource()) - return plr; - } - } - - debug_log("TSCR: Instance Black Temple: GetPlayerInMap, but PlayerList is empty!"); - return NULL; - } - - void OnCreatureCreate(Creature *creature, uint32 creature_entry) - { - switch(creature->GetEntry()) - { - case 22887: Najentus = creature->GetGUID(); break; - case 23089: Akama = creature->GetGUID(); break; - case 22990: Akama_Shade = creature->GetGUID(); break; - case 22841: ShadeOfAkama = creature->GetGUID(); break; - case 22898: Supremus = creature->GetGUID(); break; - case 22917: IllidanStormrage = creature->GetGUID(); break; - case 22949: GathiosTheShatterer = creature->GetGUID(); break; - case 22950: HighNethermancerZerevor = creature->GetGUID(); break; - case 22951: LadyMalande = creature->GetGUID(); break; - case 22952: VerasDarkshadow = creature->GetGUID(); break; - case 23426: IllidariCouncil = creature->GetGUID(); break; - case 23499: BloodElfCouncilVoice = creature->GetGUID(); break; - } - } - - void OnObjectCreate(GameObject* go) - { - switch(go->GetEntry()) - { - case 185483: NajentusGate = go->GetGUID();// Gate past Naj'entus (at the entrance to Supermoose's courtyards) - if(Encounters[0] == DONE)HandleGameObject(NULL,true,go);break; - case 185882: MainTempleDoors = go->GetGUID();// Main Temple Doors - right past Supermoose (Supremus) - if(Encounters[1] == DONE)HandleGameObject(NULL,true,go);break; - case 185478: ShadeOfAkamaDoor = go->GetGUID();break; - case 185480: CommonDoor = go->GetGUID(); - if(Encounters[3] == DONE)HandleGameObject(NULL,true,go);;break; - case 186153: TeronDoor = go->GetGUID(); - if(Encounters[3] == DONE)HandleGameObject(NULL,true,go);;break; - case 185892: GuurtogDoor = go->GetGUID(); - if(Encounters[4] == DONE)HandleGameObject(NULL,true,go);break; - case 185479: TempleDoor = go->GetGUID(); - if(Encounters[5] == DONE)HandleGameObject(NULL,true,go);break; - case 185482: MotherDoor = go->GetGUID(); - if(Encounters[6] == DONE)HandleGameObject(NULL,true,go);break; - case 185481: CouncilDoor = go->GetGUID(); - if(Encounters[7] == DONE)HandleGameObject(NULL,true,go);break; - case 186152: SimpleDoor = go->GetGUID(); - if(Encounters[7] == DONE)HandleGameObject(NULL,true,go);break; - case 185905: IllidanGate = go->GetGUID(); break; // Gate leading to Temple Summit - case 186261: IllidanDoor[0] = go->GetGUID(); break; // Right door at Temple Summit - case 186262: IllidanDoor[1] = go->GetGUID(); break; // Left door at Temple Summit - } - } - - uint64 GetData64(uint32 identifier) - { - switch(identifier) - { - case DATA_HIGHWARLORDNAJENTUS: return Najentus; - case DATA_AKAMA: return Akama; - case DATA_AKAMA_SHADE: return Akama_Shade; - case DATA_SHADEOFAKAMA: return ShadeOfAkama; - case DATA_SUPREMUS: return Supremus; - case DATA_ILLIDANSTORMRAGE: return IllidanStormrage; - case DATA_GATHIOSTHESHATTERER: return GathiosTheShatterer; - case DATA_HIGHNETHERMANCERZEREVOR: return HighNethermancerZerevor; - case DATA_LADYMALANDE: return LadyMalande; - case DATA_VERASDARKSHADOW: return VerasDarkshadow; - case DATA_ILLIDARICOUNCIL: return IllidariCouncil; - case DATA_GAMEOBJECT_NAJENTUS_GATE: return NajentusGate; - case DATA_GAMEOBJECT_ILLIDAN_GATE: return IllidanGate; - case DATA_GAMEOBJECT_ILLIDAN_DOOR_R: return IllidanDoor[0]; - case DATA_GAMEOBJECT_ILLIDAN_DOOR_L: return IllidanDoor[1]; - case DATA_GAMEOBJECT_SUPREMUS_DOORS: return MainTempleDoors; - case DATA_BLOOD_ELF_COUNCIL_VOICE: return BloodElfCouncilVoice; - } - - return 0; - } - - void SetData(uint32 type, uint32 data) - { - switch(type) - { - case DATA_HIGHWARLORDNAJENTUSEVENT: - if(data == DONE) - { - HandleGameObject(NajentusGate, true); - } - Encounters[0] = data;break; - case DATA_SUPREMUSEVENT: - if(data == DONE) - { - HandleGameObject(NajentusGate, true); - } - Encounters[1] = data; break; - case DATA_SHADEOFAKAMAEVENT: - if(data == IN_PROGRESS) - { - HandleGameObject(ShadeOfAkamaDoor, false); - }else HandleGameObject(ShadeOfAkamaDoor, true); - Encounters[2] = data; break; - case DATA_TERONGOREFIENDEVENT: - if(data == IN_PROGRESS) - { - HandleGameObject(TeronDoor, false); - HandleGameObject(CommonDoor, false); - }else - { - HandleGameObject(TeronDoor, true); - HandleGameObject(CommonDoor, true); - } - Encounters[3] = data; break; - case DATA_GURTOGGBLOODBOILEVENT: - if(data == DONE) - { - HandleGameObject(GuurtogDoor, true); - } - Encounters[4] = data; break; - case DATA_RELIQUARYOFSOULSEVENT: - if(data == DONE) - { - HandleGameObject(TempleDoor, true); - } - Encounters[5] = data; break; - case DATA_MOTHERSHAHRAZEVENT: - if(data == DONE) - { - HandleGameObject(MotherDoor, true); - } - Encounters[6] = data; break; - case DATA_ILLIDARICOUNCILEVENT: - if(data == IN_PROGRESS) - { - HandleGameObject(CouncilDoor, false); - HandleGameObject(SimpleDoor, false); - }else - { - HandleGameObject(CouncilDoor, true); - HandleGameObject(SimpleDoor, true); - } - Encounters[7] = data; break; - case DATA_ILLIDANSTORMRAGEEVENT: Encounters[8] = data; break; - } - - if (data == DONE) - { - OUT_SAVE_INST_DATA; - - std::ostringstream saveStream; - saveStream << Encounters[0] << " " << Encounters[1] << " " - << Encounters[2] << " " << Encounters[3] << " " << Encounters[4] - << " " << Encounters[5] << " " << Encounters[6] << " " << Encounters[7] - << " " << Encounters[8]; - - str_data = saveStream.str(); - - SaveToDB(); - OUT_SAVE_INST_DATA_COMPLETE; - } - } - - uint32 GetData(uint32 type) - { - switch(type) - { - case DATA_HIGHWARLORDNAJENTUSEVENT: return Encounters[0]; - case DATA_SUPREMUSEVENT: return Encounters[1]; - case DATA_SHADEOFAKAMAEVENT: return Encounters[2]; - case DATA_TERONGOREFIENDEVENT: return Encounters[3]; - case DATA_GURTOGGBLOODBOILEVENT: return Encounters[4]; - case DATA_RELIQUARYOFSOULSEVENT: return Encounters[5]; - case DATA_MOTHERSHAHRAZEVENT: return Encounters[6]; - case DATA_ILLIDARICOUNCILEVENT: return Encounters[7]; - case DATA_ILLIDANSTORMRAGEEVENT: return Encounters[8]; - } - - return 0; - } - - const char* Save() - { - return str_data.c_str(); - } - - void Load(const char* in) - { - if (!in) - { - OUT_LOAD_INST_DATA_FAIL; - return; - } - - OUT_LOAD_INST_DATA(in); - - std::istringstream loadStream(in); - loadStream >> Encounters[0] >> Encounters[1] >> Encounters[2] - >> Encounters[3] >> Encounters[4] >> Encounters[5] >> Encounters[6] - >> Encounters[7] >> Encounters[8]; - - for(uint8 i = 0; i < ENCOUNTERS; ++i) - if (Encounters[i] == IN_PROGRESS) - Encounters[i] = NOT_STARTED; - - OUT_LOAD_INST_DATA_COMPLETE; - } -}; - -InstanceData* GetInstanceData_instance_black_temple(Map* map) -{ - return new instance_black_temple(map); -} - -void AddSC_instance_black_temple() -{ - Script *newscript; - newscript = new Script; - newscript->Name = "instance_black_temple"; - newscript->GetInstanceData = &GetInstanceData_instance_black_temple; - newscript->RegisterSelf(); -} - diff --git a/src/bindings/scripts/system.cpp b/src/bindings/scripts/system.cpp deleted file mode 100644 index ab62e530681..00000000000 --- a/src/bindings/scripts/system.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/> - * - * Thanks to the original authors: MaNGOS <http://getmangos.com/> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "precompiled.h" - diff --git a/src/bindings/scripts/system/ScriptLoader.cpp b/src/bindings/scripts/system/ScriptLoader.cpp index 8d2e4466a41..06997e985af 100644 --- a/src/bindings/scripts/system/ScriptLoader.cpp +++ b/src/bindings/scripts/system/ScriptLoader.cpp @@ -26,120 +26,7 @@ extern void AddSC_npcs_special(); extern void AddSC_npc_taxi(); //eastern kingdoms -extern void AddSC_the_scarlet_enclave(); -//extern void AddSC_alterac_mountains(); -extern void AddSC_arathi_highlands(); -extern void AddSC_blasted_lands(); -extern void AddSC_boss_kruul(); -extern void AddSC_burning_steppes(); -extern void AddSC_dun_morogh(); -extern void AddSC_eastern_plaguelands(); -extern void AddSC_elwynn_forest(); -extern void AddSC_eversong_woods(); -extern void AddSC_ghostlands(); -extern void AddSC_hinterlands(); -extern void AddSC_ironforge(); -extern void AddSC_isle_of_queldanas(); -extern void AddSC_loch_modan(); -extern void AddSC_searing_gorge(); -extern void AddSC_silvermoon_city(); -extern void AddSC_silverpine_forest(); -extern void AddSC_stormwind_city(); -extern void AddSC_stranglethorn_vale(); -extern void AddSC_tirisfal_glades(); -extern void AddSC_undercity(); -extern void AddSC_western_plaguelands(); -extern void AddSC_westfall(); - -//kalimdor -extern void AddSC_ashenvale(); -extern void AddSC_azshara(); -extern void AddSC_azuremyst_isle(); -extern void AddSC_bloodmyst_isle(); -extern void AddSC_boss_azuregos(); -extern void AddSC_darkshore(); -extern void AddSC_desolace(); -extern void AddSC_dustwallow_marsh(); -extern void AddSC_felwood(); -extern void AddSC_feralas(); -extern void AddSC_moonglade(); -extern void AddSC_mulgore(); -extern void AddSC_orgrimmar(); -extern void AddSC_silithus(); -extern void AddSC_stonetalon_mountains(); -extern void AddSC_tanaris(); -extern void AddSC_teldrassil(); -extern void AddSC_the_barrens(); -extern void AddSC_thousand_needles(); -extern void AddSC_thunder_bluff(); -extern void AddSC_winterspring(); - -//northrend -extern void AddSC_borean_tundra(); -extern void AddSC_dragonblight(); -extern void AddSC_grizzly_hills(); -extern void AddSC_icecrown(); -extern void AddSC_sholazar_basin(); -extern void AddSC_zuldrak(); - -//outland -extern void AddSC_blades_edge_mountains(); -extern void AddSC_boss_doomlordkazzak(); -extern void AddSC_boss_doomwalker(); -extern void AddSC_hellfire_peninsula(); -extern void AddSC_nagrand(); -extern void AddSC_netherstorm(); -extern void AddSC_shadowmoon_valley(); -extern void AddSC_shattrath_city(); -extern void AddSC_terokkar_forest(); -extern void AddSC_zangarmarsh(); - -//-------------------- -//------ ZONE -------- - -//Aunchindoun -//--Auchenai Crypts -extern void AddSC_boss_exarch_maladaar(); -extern void AddSC_boss_shirrak_the_dead_watcher(); -//--Mana Tombs -extern void AddSC_boss_nexusprince_shaffar(); -extern void AddSC_boss_pandemonius(); - -//--Sekketh Halls -extern void AddSC_boss_darkweaver_syth(); -extern void AddSC_boss_talon_king_ikiss(); -extern void AddSC_instance_sethekk_halls(); - -//--Shadow Labyrinth -extern void AddSC_instance_shadow_labyrinth(); -extern void AddSC_boss_ambassador_hellmaw(); -extern void AddSC_boss_blackheart_the_inciter(); -extern void AddSC_boss_grandmaster_vorpil(); -extern void AddSC_boss_murmur(); - -//Azjol-Nerub -//--Ahn'kahet -extern void AddSC_instance_ahnkahet(); -extern void AddSC_boss_elder_nadox(); - -//Black Temple -extern void AddSC_black_temple(); -extern void AddSC_boss_illidan(); -extern void AddSC_boss_shade_of_akama(); -extern void AddSC_boss_supremus(); -extern void AddSC_boss_gurtogg_bloodboil(); -extern void AddSC_boss_mother_shahraz(); -extern void AddSC_boss_reliquary_of_souls(); -extern void AddSC_boss_teron_gorefiend(); -extern void AddSC_boss_najentus(); -extern void AddSC_boss_illidari_council(); -extern void AddSC_instance_black_temple(); - -//Blackfathom Depths -extern void AddSC_instance_blackfathom_deeps(); - -//Blackrock Depths -extern void AddSC_blackrock_depths(); +extern void AddSC_blackrock_depths(); //Blackrock Depths extern void AddSC_boss_ambassador_flamelash(); extern void AddSC_boss_anubshiah(); extern void AddSC_boss_draganthaurissan(); @@ -151,9 +38,7 @@ extern void AddSC_boss_magmus(); extern void AddSC_boss_moira_bronzebeard(); extern void AddSC_boss_tomb_of_seven(); extern void AddSC_instance_blackrock_depths(); - -//Blackrock Spire -extern void AddSC_boss_drakkisath(); +extern void AddSC_boss_drakkisath(); //Blackrock Spire extern void AddSC_boss_halycon(); extern void AddSC_boss_highlordomokk(); extern void AddSC_boss_mothersmolderweb(); @@ -165,9 +50,7 @@ extern void AddSC_boss_quatermasterzigris(); extern void AddSC_boss_pyroguard_emberseer(); extern void AddSC_boss_gyth(); extern void AddSC_boss_rend_blackhand(); - -//Blackwing lair -extern void AddSC_boss_razorgore(); +extern void AddSC_boss_razorgore(); //Blackwing lair extern void AddSC_boss_vael(); extern void AddSC_boss_broodlord(); extern void AddSC_boss_firemaw(); @@ -176,87 +59,8 @@ extern void AddSC_boss_flamegor(); extern void AddSC_boss_chromaggus(); extern void AddSC_boss_nefarian(); extern void AddSC_boss_victor_nefarius(); - -//Caverns of Time -//--Battle for Mt. Hyjal -extern void AddSC_hyjal(); -extern void AddSC_boss_archimonde(); -extern void AddSC_instance_mount_hyjal(); -extern void AddSC_hyjal_trash(); -extern void AddSC_boss_rage_winterchill(); -extern void AddSC_boss_anetheron(); -extern void AddSC_boss_kazrogal(); -extern void AddSC_boss_azgalor(); - -//--Old Hillsbrad -extern void AddSC_boss_captain_skarloc(); -extern void AddSC_boss_epoch_hunter(); -extern void AddSC_boss_lieutenant_drake(); -extern void AddSC_instance_old_hillsbrad(); -extern void AddSC_old_hillsbrad(); - -//--The Dark Portal -extern void AddSC_boss_aeonus(); -extern void AddSC_boss_chrono_lord_deja(); -extern void AddSC_boss_temporus(); -extern void AddSC_dark_portal(); -extern void AddSC_instance_dark_portal(); - -//Coilfang Resevoir -//--Serpent Shrine Cavern -extern void AddSC_boss_fathomlord_karathress(); -extern void AddSC_boss_hydross_the_unstable(); -extern void AddSC_boss_lady_vashj(); -extern void AddSC_boss_leotheras_the_blind(); -extern void AddSC_boss_morogrim_tidewalker(); -extern void AddSC_instance_serpentshrine_cavern(); -extern void AddSC_boss_the_lurker_below(); - -//--Slave Pens - -//--Steam Vault -extern void AddSC_boss_hydromancer_thespia(); -extern void AddSC_boss_mekgineer_steamrigger(); -extern void AddSC_boss_warlord_kalithresh(); -extern void AddSC_instance_steam_vault(); - -//--Underbog -extern void AddSC_boss_hungarfen(); -extern void AddSC_boss_the_black_stalker(); - -//Deadmines -extern void AddSC_instance_deadmines(); - -//Gruul's Lair -extern void AddSC_boss_gruul(); -extern void AddSC_boss_high_king_maulgar(); -extern void AddSC_instance_gruuls_lair(); - -//Hellfire Citadel -//--Blood Furnace -extern void AddSC_boss_broggok(); -extern void AddSC_boss_kelidan_the_breaker(); -extern void AddSC_boss_the_maker(); -extern void AddSC_instance_blood_furnace(); - -//--Magtheridon's Lair -extern void AddSC_boss_magtheridon(); -extern void AddSC_instance_magtheridons_lair(); - -//--Shattered Halls -extern void AddSC_boss_grand_warlock_nethekurse(); -extern void AddSC_boss_warbringer_omrogg(); -extern void AddSC_boss_warchief_kargath_bladefist(); -extern void AddSC_instance_shattered_halls(); - -//--Ramparts -extern void AddSC_boss_watchkeeper_gargolmar(); -extern void AddSC_boss_omor_the_unscarred(); -extern void AddSC_boss_vazruden_the_herald(); -extern void AddSC_instance_ramparts(); - -//Karazhan -extern void AddSC_boss_attumen(); +extern void AddSC_instance_deadmines(); //Deadmines +extern void AddSC_boss_attumen(); //Karazhan extern void AddSC_boss_curator(); extern void AddSC_boss_maiden_of_virtue(); extern void AddSC_boss_shade_of_aran(); @@ -268,25 +72,13 @@ extern void AddSC_boss_netherspite(); extern void AddSC_instance_karazhan(); extern void AddSC_karazhan(); extern void AddSC_boss_nightbane(); - -//Lower Blackrock Spire - -// Magister's Terrace -extern void AddSC_boss_felblood_kaelthas(); +extern void AddSC_boss_felblood_kaelthas(); // Magister's Terrace extern void AddSC_boss_selin_fireheart(); extern void AddSC_boss_vexallus(); extern void AddSC_boss_priestess_delrissa(); extern void AddSC_instance_magisters_terrace(); extern void AddSC_magisters_terrace(); - -//Maraudon -extern void AddSC_boss_celebras_the_cursed(); -extern void AddSC_boss_landslide(); -extern void AddSC_boss_noxxion(); -extern void AddSC_boss_ptheradras(); - -//Molten core -extern void AddSC_boss_lucifron(); +extern void AddSC_boss_lucifron(); //Molten core extern void AddSC_boss_magmadar(); extern void AddSC_boss_gehennas(); extern void AddSC_boss_garr(); @@ -298,55 +90,10 @@ extern void AddSC_boss_majordomo(); extern void AddSC_boss_ragnaros(); extern void AddSC_instance_molten_core(); extern void AddSC_molten_core(); - -//Naxxramas -extern void AddSC_boss_anubrekhan(); -extern void AddSC_boss_maexxna(); -extern void AddSC_boss_patchwerk(); -extern void AddSC_boss_grobbulus(); -extern void AddSC_boss_razuvious(); -extern void AddSC_boss_kelthuzad(); -extern void AddSC_boss_loatheb(); -extern void AddSC_boss_noth(); -extern void AddSC_boss_gluth(); -extern void AddSC_boss_sapphiron(); -extern void AddSC_boss_four_horsemen(); -extern void AddSC_boss_faerlina(); -extern void AddSC_boss_heigan(); -extern void AddSC_boss_gothik(); -extern void AddSC_boss_thaddius(); -extern void AddSC_instance_naxxramas(); - -//The Nexus -//Eye of Eternety - -//Nexus -extern void AddSC_boss_magus_telestra(); -extern void AddSC_boss_anomalus(); -extern void AddSC_boss_ormorok(); -extern void AddSC_boss_keristrasza(); -extern void AddSC_instance_nexus(); - -//Oculus - -//Obsidian Sanctum -extern void AddSC_boss_sartharion(); -extern void AddSC_instance_obsidian_sanctum(); - -//Onyxia's Lair -extern void AddSC_boss_onyxia(); - -//Ragefire Chasm -//Razorfen Downs -extern void AddSC_boss_amnennar_the_coldbringer(); -extern void AddSC_razorfen_downs(); - -//Razorfen Kraul -extern void AddSC_razorfen_kraul(); - -//Ruins of Ahn'Qiraj -//Scarlet Monastery -extern void AddSC_boss_arcanist_doan(); +extern void AddSC_the_scarlet_enclave(); //Scarlet Enclave +extern void AddSC_the_scarlet_enclave_c1(); +extern void AddSC_the_scarlet_enclave_c2(); +extern void AddSC_boss_arcanist_doan(); //Scarlet Monastery extern void AddSC_boss_azshir_the_sleepless(); extern void AddSC_boss_bloodmage_thalnos(); extern void AddSC_boss_headless_horseman(); @@ -357,9 +104,7 @@ extern void AddSC_boss_interrogator_vishas(); extern void AddSC_boss_scorn(); extern void AddSC_instance_scarlet_monastery(); extern void AddSC_boss_mograine_and_whitemane(); - -//Scholomance -extern void AddSC_boss_darkmaster_gandling(); +extern void AddSC_boss_darkmaster_gandling(); //Scholomance extern void AddSC_boss_death_knight_darkreaver(); extern void AddSC_boss_theolenkrastinov(); extern void AddSC_boss_illuciabarov(); @@ -372,13 +117,9 @@ extern void AddSC_boss_rasfrost(); extern void AddSC_boss_theravenian(); extern void AddSC_boss_vectus(); extern void AddSC_instance_scholomance(); - -//Shadowfang keep -extern void AddSC_shadowfang_keep(); +extern void AddSC_shadowfang_keep(); //Shadowfang keep extern void AddSC_instance_shadowfang_keep(); - -//Stratholme -extern void AddSC_boss_magistrate_barthilas(); +extern void AddSC_boss_magistrate_barthilas(); //Stratholme extern void AddSC_boss_maleki_the_pallid(); extern void AddSC_boss_nerubenkan(); extern void AddSC_boss_cannon_master_willey(); @@ -391,10 +132,7 @@ extern void AddSC_boss_dathrohan_balnazzar(); extern void AddSC_boss_order_of_silver_hand(); extern void AddSC_instance_stratholme(); extern void AddSC_stratholme(); - -//Sunken Temple -//Sunwell Plateau -extern void AddSC_instance_sunwell_plateau(); +extern void AddSC_instance_sunwell_plateau(); //Sunwell Plateau extern void AddSC_boss_kalecgos(); extern void AddSC_boss_brutallus(); extern void AddSC_boss_felmyst(); @@ -402,36 +140,87 @@ extern void AddSC_boss_eredar_twins(); extern void AddSC_boss_muru(); extern void AddSC_boss_kiljaeden(); extern void AddSC_sunwell_plateau(); +extern void AddSC_boss_archaedas(); //Uldaman +extern void AddSC_boss_ironaya(); +extern void AddSC_uldaman(); +extern void AddSC_instance_uldaman(); +extern void AddSC_boss_akilzon(); //Zul'Aman +extern void AddSC_boss_halazzi(); +extern void AddSC_boss_hex_lord_malacrass(); +extern void AddSC_boss_janalai(); +extern void AddSC_boss_nalorakk(); +extern void AddSC_boss_zuljin(); +extern void AddSC_instance_zulaman(); +extern void AddSC_zulaman(); +extern void AddSC_boss_jeklik(); //Zul'Gurub +extern void AddSC_boss_venoxis(); +extern void AddSC_boss_marli(); +extern void AddSC_boss_mandokir(); +extern void AddSC_boss_gahzranka(); +extern void AddSC_boss_thekal(); +extern void AddSC_boss_arlokk(); +extern void AddSC_boss_jindo(); +extern void AddSC_boss_hakkar(); +extern void AddSC_boss_grilek(); +extern void AddSC_boss_hazzarah(); +extern void AddSC_boss_renataki(); +extern void AddSC_boss_wushoolay(); +extern void AddSC_instance_zulgurub(); -//Tanaris - -//Tempest Keep -//--Arcatraz -extern void AddSC_arcatraz(); -extern void AddSC_boss_harbinger_skyriss(); -extern void AddSC_instance_arcatraz(); - -//--Botanica -extern void AddSC_boss_high_botanist_freywinn(); -extern void AddSC_boss_laj(); -extern void AddSC_boss_warp_splinter(); - -//--The Eye -extern void AddSC_boss_alar(); -extern void AddSC_boss_kaelthas(); -extern void AddSC_boss_void_reaver(); -extern void AddSC_boss_high_astromancer_solarian(); -extern void AddSC_instance_the_eye(); -extern void AddSC_the_eye(); - -//--The Mechanar -extern void AddSC_boss_gatewatcher_iron_hand(); -extern void AddSC_boss_nethermancer_sepethrea(); -extern void AddSC_boss_pathaleon_the_calculator(); -extern void AddSC_instance_mechanar(); +//extern void AddSC_alterac_mountains(); +extern void AddSC_arathi_highlands(); +extern void AddSC_blasted_lands(); +extern void AddSC_boss_kruul(); +extern void AddSC_burning_steppes(); +extern void AddSC_dun_morogh(); +extern void AddSC_eastern_plaguelands(); +extern void AddSC_elwynn_forest(); +extern void AddSC_eversong_woods(); +extern void AddSC_ghostlands(); +extern void AddSC_hinterlands(); +extern void AddSC_ironforge(); +extern void AddSC_isle_of_queldanas(); +extern void AddSC_loch_modan(); +extern void AddSC_searing_gorge(); +extern void AddSC_silvermoon_city(); +extern void AddSC_silverpine_forest(); +extern void AddSC_stormwind_city(); +extern void AddSC_stranglethorn_vale(); +extern void AddSC_tirisfal_glades(); +extern void AddSC_undercity(); +extern void AddSC_western_plaguelands(); +extern void AddSC_westfall(); +extern void AddSC_wetlands(); -//Temple of ahn'qiraj -extern void AddSC_boss_cthun(); +//kalimdor +extern void AddSC_instance_blackfathom_deeps(); //Blackfathom Depths +extern void AddSC_hyjal(); //CoT Battle for Mt. Hyjal +extern void AddSC_boss_archimonde(); +extern void AddSC_instance_mount_hyjal(); +extern void AddSC_hyjal_trash(); +extern void AddSC_boss_rage_winterchill(); +extern void AddSC_boss_anetheron(); +extern void AddSC_boss_kazrogal(); +extern void AddSC_boss_azgalor(); +extern void AddSC_boss_captain_skarloc(); //CoT Old Hillsbrad +extern void AddSC_boss_epoch_hunter(); +extern void AddSC_boss_lieutenant_drake(); +extern void AddSC_instance_old_hillsbrad(); +extern void AddSC_old_hillsbrad(); +extern void AddSC_boss_aeonus(); //CoT The Dark Portal +extern void AddSC_boss_chrono_lord_deja(); +extern void AddSC_boss_temporus(); +extern void AddSC_dark_portal(); +extern void AddSC_instance_dark_portal(); +extern void AddSC_boss_celebras_the_cursed(); //Maraudon +extern void AddSC_boss_landslide(); +extern void AddSC_boss_noxxion(); +extern void AddSC_boss_ptheradras(); +extern void AddSC_boss_onyxia(); //Onyxia's Lair +extern void AddSC_boss_amnennar_the_coldbringer(); //Razorfen Downs +extern void AddSC_razorfen_downs(); +extern void AddSC_razorfen_kraul(); //Razorfen Kraul +extern void AddSC_boss_cthun(); //Temple of ahn'qiraj extern void AddSC_boss_fankriss(); extern void AddSC_boss_huhuran(); extern void AddSC_bug_trio(); @@ -440,78 +229,166 @@ extern void AddSC_boss_skeram(); extern void AddSC_boss_twinemperors(); extern void AddSC_mob_anubisath_sentinel(); extern void AddSC_instance_temple_of_ahnqiraj(); +extern void AddSC_wailing_caverns(); //Wailing caverns +extern void AddSC_instance_wailing_caverns(); +extern void AddSC_zulfarrak(); //Zul'Farrak -//Uldaman -extern void AddSC_boss_archaedas(); -extern void AddSC_boss_ironaya(); -extern void AddSC_uldaman(); -extern void AddSC_instance_uldaman(); +extern void AddSC_ashenvale(); +extern void AddSC_azshara(); +extern void AddSC_azuremyst_isle(); +extern void AddSC_bloodmyst_isle(); +extern void AddSC_boss_azuregos(); +extern void AddSC_darkshore(); +extern void AddSC_desolace(); +extern void AddSC_dustwallow_marsh(); +extern void AddSC_felwood(); +extern void AddSC_feralas(); +extern void AddSC_moonglade(); +extern void AddSC_mulgore(); +extern void AddSC_orgrimmar(); +extern void AddSC_silithus(); +extern void AddSC_stonetalon_mountains(); +extern void AddSC_tanaris(); +extern void AddSC_teldrassil(); +extern void AddSC_the_barrens(); +extern void AddSC_thousand_needles(); +extern void AddSC_thunder_bluff(); +extern void AddSC_ungoro_crater(); +extern void AddSC_winterspring(); -//Ulduar -extern void AddSC_boss_auriaya(); +//northrend +extern void AddSC_instance_ahnkahet(); //Azjol-Nerub Ahn'kahet +extern void AddSC_boss_elder_nadox(); +extern void AddSC_boss_anubrekhan(); //Naxxramas +extern void AddSC_boss_maexxna(); +extern void AddSC_boss_patchwerk(); +extern void AddSC_boss_grobbulus(); +extern void AddSC_boss_razuvious(); +extern void AddSC_boss_kelthuzad(); +extern void AddSC_boss_loatheb(); +extern void AddSC_boss_noth(); +extern void AddSC_boss_gluth(); +extern void AddSC_boss_sapphiron(); +extern void AddSC_boss_four_horsemen(); +extern void AddSC_boss_faerlina(); +extern void AddSC_boss_heigan(); +extern void AddSC_boss_gothik(); +extern void AddSC_boss_thaddius(); +extern void AddSC_instance_naxxramas(); +extern void AddSC_boss_magus_telestra(); //The Nexus Nexus +extern void AddSC_boss_anomalus(); +extern void AddSC_boss_ormorok(); +extern void AddSC_boss_keristrasza(); +extern void AddSC_instance_nexus(); +extern void AddSC_boss_sartharion(); //Obsidian Sanctum +extern void AddSC_instance_obsidian_sanctum(); +extern void AddSC_boss_bjarngrim(); //Ulduar Halls of Lightning +extern void AddSC_boss_loken(); +extern void AddSC_instance_halls_of_lightning(); +extern void AddSC_boss_auriaya(); //Ulduar Ulduar extern void AddSC_boss_flame_leviathan(); extern void AddSC_boss_ignis(); extern void AddSC_boss_razorscale(); extern void AddSC_boss_xt002(); //extern void AddSC_instance_ulduar(); - -//Un'Goro Crater -extern void AddSC_ungoro_crater(); - -//Upper blackrock spire - -//Utgarde Keep -extern void AddSC_boss_keleseth(); +extern void AddSC_boss_keleseth(); //Utgarde Keep extern void AddSC_boss_skarvald_dalronn(); extern void AddSC_boss_ingvar_the_plunderer(); extern void AddSC_instance_utgarde_keep(); extern void AddSC_utgarde_keep(); - -//Wailing caverns -extern void AddSC_wailing_caverns(); -extern void AddSC_instance_wailing_caverns(); - -//Zul'Farrak -extern void AddSC_zulfarrak(); - -//Zul'Gurub -extern void AddSC_boss_jeklik(); -extern void AddSC_boss_venoxis(); -extern void AddSC_boss_marli(); -extern void AddSC_boss_mandokir(); -extern void AddSC_boss_gahzranka(); -extern void AddSC_boss_thekal(); -extern void AddSC_boss_arlokk(); -extern void AddSC_boss_jindo(); -extern void AddSC_boss_hakkar(); -extern void AddSC_boss_grilek(); -extern void AddSC_boss_hazzarah(); -extern void AddSC_boss_renataki(); -extern void AddSC_boss_wushoolay(); -extern void AddSC_instance_zulgurub(); - -//Zul'Aman -extern void AddSC_boss_akilzon(); -extern void AddSC_boss_halazzi(); -extern void AddSC_boss_hex_lord_malacrass(); -extern void AddSC_boss_janalai(); -extern void AddSC_boss_nalorakk(); -extern void AddSC_boss_zuljin(); -extern void AddSC_instance_zulaman(); -extern void AddSC_zulaman(); - -//Vault of Archavon -extern void AddSC_boss_archavon(); +extern void AddSC_boss_archavon(); //Vault of Archavon extern void AddSC_boss_emalon(); extern void AddSC_instance_archavon(); -//Halls of Lightning -extern void AddSC_boss_bjarngrim(); -extern void AddSC_boss_loken(); -extern void AddSC_instance_halls_of_lightning(); - -//Region +extern void AddSC_borean_tundra(); +extern void AddSC_dragonblight(); +extern void AddSC_grizzly_hills(); +extern void AddSC_icecrown(); +extern void AddSC_sholazar_basin(); extern void AddSC_wintergrasp(); +extern void AddSC_zuldrak(); + +//outland +extern void AddSC_boss_exarch_maladaar(); //Auchindoun Auchenai Crypts +extern void AddSC_boss_shirrak_the_dead_watcher(); +extern void AddSC_boss_nexusprince_shaffar(); //Auchindoun Mana Tombs +extern void AddSC_boss_pandemonius(); +extern void AddSC_boss_darkweaver_syth(); //Auchindoun Sekketh Halls +extern void AddSC_boss_talon_king_ikiss(); +extern void AddSC_instance_sethekk_halls(); +extern void AddSC_instance_shadow_labyrinth(); //Auchindoun Shadow Labyrinth +extern void AddSC_boss_ambassador_hellmaw(); +extern void AddSC_boss_blackheart_the_inciter(); +extern void AddSC_boss_grandmaster_vorpil(); +extern void AddSC_boss_murmur(); +extern void AddSC_black_temple(); //Black Temple +extern void AddSC_boss_illidan(); +extern void AddSC_boss_shade_of_akama(); +extern void AddSC_boss_supremus(); +extern void AddSC_boss_gurtogg_bloodboil(); +extern void AddSC_boss_mother_shahraz(); +extern void AddSC_boss_reliquary_of_souls(); +extern void AddSC_boss_teron_gorefiend(); +extern void AddSC_boss_najentus(); +extern void AddSC_boss_illidari_council(); +extern void AddSC_instance_black_temple(); +extern void AddSC_boss_fathomlord_karathress(); //CR Serpent Shrine Cavern +extern void AddSC_boss_hydross_the_unstable(); +extern void AddSC_boss_lady_vashj(); +extern void AddSC_boss_leotheras_the_blind(); +extern void AddSC_boss_morogrim_tidewalker(); +extern void AddSC_instance_serpentshrine_cavern(); +extern void AddSC_boss_the_lurker_below(); +extern void AddSC_boss_hydromancer_thespia(); //CR Steam Vault +extern void AddSC_boss_mekgineer_steamrigger(); +extern void AddSC_boss_warlord_kalithresh(); +extern void AddSC_instance_steam_vault(); +extern void AddSC_boss_hungarfen(); //CR Underbog +extern void AddSC_boss_the_black_stalker(); +extern void AddSC_boss_gruul(); //Gruul's Lair +extern void AddSC_boss_high_king_maulgar(); +extern void AddSC_instance_gruuls_lair(); +extern void AddSC_boss_broggok(); //HC Blood Furnace +extern void AddSC_boss_kelidan_the_breaker(); +extern void AddSC_boss_the_maker(); +extern void AddSC_instance_blood_furnace(); +extern void AddSC_boss_magtheridon(); //HC Magtheridon's Lair +extern void AddSC_instance_magtheridons_lair(); +extern void AddSC_boss_grand_warlock_nethekurse(); //HC Shattered Halls +extern void AddSC_boss_warbringer_omrogg(); +extern void AddSC_boss_warchief_kargath_bladefist(); +extern void AddSC_instance_shattered_halls(); +extern void AddSC_boss_watchkeeper_gargolmar(); //HC Ramparts +extern void AddSC_boss_omor_the_unscarred(); +extern void AddSC_boss_vazruden_the_herald(); +extern void AddSC_instance_ramparts(); +extern void AddSC_arcatraz(); //TK Arcatraz +extern void AddSC_boss_harbinger_skyriss(); +extern void AddSC_instance_arcatraz(); +extern void AddSC_boss_high_botanist_freywinn(); //TK Botanica +extern void AddSC_boss_laj(); +extern void AddSC_boss_warp_splinter(); +extern void AddSC_boss_alar(); //TK The Eye +extern void AddSC_boss_kaelthas(); +extern void AddSC_boss_void_reaver(); +extern void AddSC_boss_high_astromancer_solarian(); +extern void AddSC_instance_the_eye(); +extern void AddSC_the_eye(); +extern void AddSC_boss_gatewatcher_iron_hand(); //TK The Mechanar +extern void AddSC_boss_nethermancer_sepethrea(); +extern void AddSC_boss_pathaleon_the_calculator(); +extern void AddSC_instance_mechanar(); + +extern void AddSC_blades_edge_mountains(); +extern void AddSC_boss_doomlordkazzak(); +extern void AddSC_boss_doomwalker(); +extern void AddSC_hellfire_peninsula(); +extern void AddSC_nagrand(); +extern void AddSC_netherstorm(); +extern void AddSC_shadowmoon_valley(); +extern void AddSC_shattrath_city(); +extern void AddSC_terokkar_forest(); +extern void AddSC_zangarmarsh(); void AddScripts() { @@ -537,120 +414,7 @@ void AddScripts() AddSC_npc_taxi(); //eastern kingdoms - AddSC_the_scarlet_enclave(); - //AddSC_alterac_mountains(); - AddSC_arathi_highlands(); - AddSC_blasted_lands(); - AddSC_boss_kruul(); - AddSC_burning_steppes(); - AddSC_dun_morogh(); - AddSC_eastern_plaguelands(); - AddSC_elwynn_forest(); - AddSC_eversong_woods(); - AddSC_ghostlands(); - AddSC_hinterlands(); - AddSC_ironforge(); - AddSC_isle_of_queldanas(); - AddSC_loch_modan(); - AddSC_searing_gorge(); - AddSC_silvermoon_city(); - AddSC_silverpine_forest(); - AddSC_stormwind_city(); - AddSC_stranglethorn_vale(); - AddSC_tirisfal_glades(); - AddSC_undercity(); - AddSC_western_plaguelands(); - AddSC_westfall(); - - //kalimdor - AddSC_ashenvale(); - AddSC_azshara(); - AddSC_azuremyst_isle(); - AddSC_bloodmyst_isle(); - AddSC_boss_azuregos(); - AddSC_darkshore(); - AddSC_desolace(); - AddSC_dustwallow_marsh(); - AddSC_felwood(); - AddSC_feralas(); - AddSC_moonglade(); - AddSC_mulgore(); - AddSC_orgrimmar(); - AddSC_silithus(); - AddSC_stonetalon_mountains(); - AddSC_tanaris(); - AddSC_teldrassil(); - AddSC_the_barrens(); - AddSC_thousand_needles(); - AddSC_thunder_bluff(); - AddSC_winterspring(); - - //northrend - AddSC_borean_tundra(); - AddSC_dragonblight(); - AddSC_grizzly_hills(); - AddSC_icecrown(); - AddSC_sholazar_basin(); - AddSC_zuldrak(); - - //outland - AddSC_blades_edge_mountains(); - AddSC_boss_doomlordkazzak(); - AddSC_boss_doomwalker(); - AddSC_hellfire_peninsula(); - AddSC_nagrand(); - AddSC_netherstorm(); - AddSC_shadowmoon_valley(); - AddSC_shattrath_city(); - AddSC_terokkar_forest(); - AddSC_zangarmarsh(); - - //-------------------- - //------ ZONE -------- - - //Aunchindoun - //--Auchenai Crypts - AddSC_boss_exarch_maladaar(); - AddSC_boss_shirrak_the_dead_watcher(); - //--Mana Tombs - AddSC_boss_nexusprince_shaffar(); - AddSC_boss_pandemonius(); - - //--Sekketh Halls - AddSC_boss_darkweaver_syth(); - AddSC_boss_talon_king_ikiss(); - AddSC_instance_sethekk_halls(); - - //--Shadow Labyrinth - AddSC_instance_shadow_labyrinth(); - AddSC_boss_ambassador_hellmaw(); - AddSC_boss_blackheart_the_inciter(); - AddSC_boss_grandmaster_vorpil(); - AddSC_boss_murmur(); - - //Azjol-Nerub - //--Ahn'kahet - AddSC_instance_ahnkahet(); - AddSC_boss_elder_nadox(); - - //Black Temple - AddSC_black_temple(); - AddSC_boss_illidan(); - AddSC_boss_shade_of_akama(); - AddSC_boss_supremus(); - AddSC_boss_gurtogg_bloodboil(); - AddSC_boss_mother_shahraz(); - AddSC_boss_reliquary_of_souls(); - AddSC_boss_teron_gorefiend(); - AddSC_boss_najentus(); - AddSC_boss_illidari_council(); - AddSC_instance_black_temple(); - - //Blackfathom Depths - AddSC_instance_blackfathom_deeps(); - - //Blackrock Depths - AddSC_blackrock_depths(); + AddSC_blackrock_depths(); //Blackrock Depths AddSC_boss_ambassador_flamelash(); AddSC_boss_anubshiah(); AddSC_boss_draganthaurissan(); @@ -662,9 +426,7 @@ void AddScripts() AddSC_boss_moira_bronzebeard(); AddSC_boss_tomb_of_seven(); AddSC_instance_blackrock_depths(); - - //Blackrock Spire - AddSC_boss_drakkisath(); + AddSC_boss_drakkisath(); //Blackrock Spire AddSC_boss_halycon(); AddSC_boss_highlordomokk(); AddSC_boss_mothersmolderweb(); @@ -676,9 +438,7 @@ void AddScripts() AddSC_boss_pyroguard_emberseer(); AddSC_boss_gyth(); AddSC_boss_rend_blackhand(); - - //Blackwing lair - AddSC_boss_razorgore(); + AddSC_boss_razorgore(); //Blackwing lair AddSC_boss_vael(); AddSC_boss_broodlord(); AddSC_boss_firemaw(); @@ -687,87 +447,8 @@ void AddScripts() AddSC_boss_chromaggus(); AddSC_boss_nefarian(); AddSC_boss_victor_nefarius(); - - //Caverns of Time - //--Battle for Mt. Hyjal - AddSC_hyjal(); - AddSC_boss_archimonde(); - AddSC_instance_mount_hyjal(); - AddSC_hyjal_trash(); - AddSC_boss_rage_winterchill(); - AddSC_boss_anetheron(); - AddSC_boss_kazrogal(); - AddSC_boss_azgalor(); - - //--Old Hillsbrad - AddSC_boss_captain_skarloc(); - AddSC_boss_epoch_hunter(); - AddSC_boss_lieutenant_drake(); - AddSC_instance_old_hillsbrad(); - AddSC_old_hillsbrad(); - - //--The Dark Portal - AddSC_boss_aeonus(); - AddSC_boss_chrono_lord_deja(); - AddSC_boss_temporus(); - AddSC_dark_portal(); - AddSC_instance_dark_portal(); - - //Coilfang Resevoir - //--Serpent Shrine Cavern - AddSC_boss_fathomlord_karathress(); - AddSC_boss_hydross_the_unstable(); - AddSC_boss_lady_vashj(); - AddSC_boss_leotheras_the_blind(); - AddSC_boss_morogrim_tidewalker(); - AddSC_instance_serpentshrine_cavern(); - AddSC_boss_the_lurker_below(); - - //--Slave Pens - - //--Steam Vault - AddSC_boss_hydromancer_thespia(); - AddSC_boss_mekgineer_steamrigger(); - AddSC_boss_warlord_kalithresh(); - AddSC_instance_steam_vault(); - - //--Underbog - AddSC_boss_hungarfen(); - AddSC_boss_the_black_stalker(); - - //Deadmines - AddSC_instance_deadmines(); - - //Gruul's Lair - AddSC_boss_gruul(); - AddSC_boss_high_king_maulgar(); - AddSC_instance_gruuls_lair(); - - //Hellfire Citadel - //--Blood Furnace - AddSC_boss_broggok(); - AddSC_boss_kelidan_the_breaker(); - AddSC_boss_the_maker(); - AddSC_instance_blood_furnace(); - - //--Magtheridon's Lair - AddSC_boss_magtheridon(); - AddSC_instance_magtheridons_lair(); - - //--Shattered Halls - AddSC_boss_grand_warlock_nethekurse(); - AddSC_boss_warbringer_omrogg(); - AddSC_boss_warchief_kargath_bladefist(); - AddSC_instance_shattered_halls(); - - //--Ramparts - AddSC_boss_watchkeeper_gargolmar(); - AddSC_boss_omor_the_unscarred(); - AddSC_boss_vazruden_the_herald(); - AddSC_instance_ramparts(); - - //Karazhan - AddSC_boss_attumen(); + AddSC_instance_deadmines(); //Deadmines + AddSC_boss_attumen(); //Karazhan AddSC_boss_curator(); AddSC_boss_maiden_of_virtue(); AddSC_boss_shade_of_aran(); @@ -779,25 +460,13 @@ void AddScripts() AddSC_instance_karazhan(); AddSC_karazhan(); AddSC_boss_nightbane(); - - //Lower Blackrock Spire - - // Magister's Terrace - AddSC_boss_felblood_kaelthas(); + AddSC_boss_felblood_kaelthas(); // Magister's Terrace AddSC_boss_selin_fireheart(); AddSC_boss_vexallus(); AddSC_boss_priestess_delrissa(); AddSC_instance_magisters_terrace(); AddSC_magisters_terrace(); - - //Maraudon - AddSC_boss_celebras_the_cursed(); - AddSC_boss_landslide(); - AddSC_boss_noxxion(); - AddSC_boss_ptheradras(); - - //Molten core - AddSC_boss_lucifron(); + AddSC_boss_lucifron(); //Molten core AddSC_boss_magmadar(); AddSC_boss_gehennas(); AddSC_boss_garr(); @@ -809,55 +478,10 @@ void AddScripts() AddSC_boss_ragnaros(); AddSC_instance_molten_core(); AddSC_molten_core(); - - //Naxxramas - AddSC_boss_anubrekhan(); - AddSC_boss_maexxna(); - AddSC_boss_patchwerk(); - AddSC_boss_grobbulus(); - AddSC_boss_razuvious(); - AddSC_boss_kelthuzad(); - AddSC_boss_loatheb(); - AddSC_boss_noth(); - AddSC_boss_gluth(); - AddSC_boss_sapphiron(); - AddSC_boss_four_horsemen(); - AddSC_boss_faerlina(); - AddSC_boss_heigan(); - AddSC_boss_gothik(); - AddSC_boss_thaddius(); - AddSC_instance_naxxramas(); - - //The Nexus - //Eye of Eternety - - //Nexus - AddSC_boss_magus_telestra(); - AddSC_boss_anomalus(); - AddSC_boss_ormorok(); - AddSC_boss_keristrasza(); - AddSC_instance_nexus(); - - //Oculus - - //Obsidian Sanctum - AddSC_boss_sartharion(); - AddSC_instance_obsidian_sanctum(); - - //Onyxia's Lair - AddSC_boss_onyxia(); - - //Ragefire Chasm - //Razorfen Downs - AddSC_boss_amnennar_the_coldbringer(); - AddSC_razorfen_downs(); - - //Razorfen Kraul - AddSC_razorfen_kraul(); - - //Ruins of Ahn'Qiraj - //Scarlet Monastery - AddSC_boss_arcanist_doan(); + AddSC_the_scarlet_enclave(); //Scarlet Enclave + AddSC_the_scarlet_enclave_c1(); + AddSC_the_scarlet_enclave_c2(); + AddSC_boss_arcanist_doan(); //Scarlet Monastery AddSC_boss_azshir_the_sleepless(); AddSC_boss_bloodmage_thalnos(); AddSC_boss_headless_horseman(); @@ -868,9 +492,7 @@ void AddScripts() AddSC_boss_scorn(); AddSC_instance_scarlet_monastery(); AddSC_boss_mograine_and_whitemane(); - - //Scholomance - AddSC_boss_darkmaster_gandling(); + AddSC_boss_darkmaster_gandling(); //Scholomance AddSC_boss_death_knight_darkreaver(); AddSC_boss_theolenkrastinov(); AddSC_boss_illuciabarov(); @@ -883,13 +505,9 @@ void AddScripts() AddSC_boss_theravenian(); AddSC_boss_vectus(); AddSC_instance_scholomance(); - - //Shadowfang keep - AddSC_shadowfang_keep(); + AddSC_shadowfang_keep(); //Shadowfang keep AddSC_instance_shadowfang_keep(); - - //Stratholme - AddSC_boss_magistrate_barthilas(); + AddSC_boss_magistrate_barthilas(); //Stratholme AddSC_boss_maleki_the_pallid(); AddSC_boss_nerubenkan(); AddSC_boss_cannon_master_willey(); @@ -902,10 +520,7 @@ void AddScripts() AddSC_boss_order_of_silver_hand(); AddSC_instance_stratholme(); AddSC_stratholme(); - - //Sunken Temple - //Sunwell Plateau - AddSC_instance_sunwell_plateau(); + AddSC_instance_sunwell_plateau(); //Sunwell Plateau AddSC_boss_kalecgos(); AddSC_boss_brutallus(); AddSC_boss_felmyst(); @@ -913,36 +528,87 @@ void AddScripts() AddSC_boss_muru(); AddSC_boss_kiljaeden(); AddSC_sunwell_plateau(); + AddSC_boss_archaedas(); //Uldaman + AddSC_boss_ironaya(); + AddSC_uldaman(); + AddSC_instance_uldaman(); + AddSC_boss_akilzon(); //Zul'Aman + AddSC_boss_halazzi(); + AddSC_boss_hex_lord_malacrass(); + AddSC_boss_janalai(); + AddSC_boss_nalorakk(); + AddSC_boss_zuljin(); + AddSC_instance_zulaman(); + AddSC_zulaman(); + AddSC_boss_jeklik(); //Zul'Gurub + AddSC_boss_venoxis(); + AddSC_boss_marli(); + AddSC_boss_mandokir(); + AddSC_boss_gahzranka(); + AddSC_boss_thekal(); + AddSC_boss_arlokk(); + AddSC_boss_jindo(); + AddSC_boss_hakkar(); + AddSC_boss_grilek(); + AddSC_boss_hazzarah(); + AddSC_boss_renataki(); + AddSC_boss_wushoolay(); + AddSC_instance_zulgurub(); - //Tanaris - - //Tempest Keep - //--Arcatraz - AddSC_arcatraz(); - AddSC_boss_harbinger_skyriss(); - AddSC_instance_arcatraz(); - - //--Botanica - AddSC_boss_high_botanist_freywinn(); - AddSC_boss_laj(); - AddSC_boss_warp_splinter(); - - //--The Eye - AddSC_boss_alar(); - AddSC_boss_kaelthas(); - AddSC_boss_void_reaver(); - AddSC_boss_high_astromancer_solarian(); - AddSC_instance_the_eye(); - AddSC_the_eye(); - - //--The Mechanar - AddSC_boss_gatewatcher_iron_hand(); - AddSC_boss_nethermancer_sepethrea(); - AddSC_boss_pathaleon_the_calculator(); - AddSC_instance_mechanar(); + //AddSC_alterac_mountains(); + AddSC_arathi_highlands(); + AddSC_blasted_lands(); + AddSC_boss_kruul(); + AddSC_burning_steppes(); + AddSC_dun_morogh(); + AddSC_eastern_plaguelands(); + AddSC_elwynn_forest(); + AddSC_eversong_woods(); + AddSC_ghostlands(); + AddSC_hinterlands(); + AddSC_ironforge(); + AddSC_isle_of_queldanas(); + AddSC_loch_modan(); + AddSC_searing_gorge(); + AddSC_silvermoon_city(); + AddSC_silverpine_forest(); + AddSC_stormwind_city(); + AddSC_stranglethorn_vale(); + AddSC_tirisfal_glades(); + AddSC_undercity(); + AddSC_western_plaguelands(); + AddSC_westfall(); + AddSC_wetlands(); - //Temple of ahn'qiraj - AddSC_boss_cthun(); + //kalimdor + AddSC_instance_blackfathom_deeps(); //Blackfathom Depths + AddSC_hyjal(); //CoT Battle for Mt. Hyjal + AddSC_boss_archimonde(); + AddSC_instance_mount_hyjal(); + AddSC_hyjal_trash(); + AddSC_boss_rage_winterchill(); + AddSC_boss_anetheron(); + AddSC_boss_kazrogal(); + AddSC_boss_azgalor(); + AddSC_boss_captain_skarloc(); //CoT Old Hillsbrad + AddSC_boss_epoch_hunter(); + AddSC_boss_lieutenant_drake(); + AddSC_instance_old_hillsbrad(); + AddSC_old_hillsbrad(); + AddSC_boss_aeonus(); //CoT The Dark Portal + AddSC_boss_chrono_lord_deja(); + AddSC_boss_temporus(); + AddSC_dark_portal(); + AddSC_instance_dark_portal(); + AddSC_boss_celebras_the_cursed(); //Maraudon + AddSC_boss_landslide(); + AddSC_boss_noxxion(); + AddSC_boss_ptheradras(); + AddSC_boss_onyxia(); //Onyxia's Lair + AddSC_boss_amnennar_the_coldbringer(); //Razorfen Downs + AddSC_razorfen_downs(); + AddSC_razorfen_kraul(); //Razorfen Kraul + AddSC_boss_cthun(); //Temple of ahn'qiraj AddSC_boss_fankriss(); AddSC_boss_huhuran(); AddSC_bug_trio(); @@ -951,76 +617,164 @@ void AddScripts() AddSC_boss_twinemperors(); AddSC_mob_anubisath_sentinel(); AddSC_instance_temple_of_ahnqiraj(); + AddSC_wailing_caverns(); //Wailing caverns + AddSC_instance_wailing_caverns(); + AddSC_zulfarrak(); //Zul'Farrak - //Uldaman - AddSC_boss_archaedas(); - AddSC_boss_ironaya(); - AddSC_uldaman(); - AddSC_instance_uldaman(); + AddSC_ashenvale(); + AddSC_azshara(); + AddSC_azuremyst_isle(); + AddSC_bloodmyst_isle(); + AddSC_boss_azuregos(); + AddSC_darkshore(); + AddSC_desolace(); + AddSC_dustwallow_marsh(); + AddSC_felwood(); + AddSC_feralas(); + AddSC_moonglade(); + AddSC_mulgore(); + AddSC_orgrimmar(); + AddSC_silithus(); + AddSC_stonetalon_mountains(); + AddSC_tanaris(); + AddSC_teldrassil(); + AddSC_the_barrens(); + AddSC_thousand_needles(); + AddSC_thunder_bluff(); + AddSC_ungoro_crater(); + AddSC_winterspring(); - //Ulduar - AddSC_boss_auriaya(); + //northrend + AddSC_instance_ahnkahet(); //Azjol-Nerub Ahn'kahet + AddSC_boss_elder_nadox(); + AddSC_boss_anubrekhan(); //Naxxramas + AddSC_boss_maexxna(); + AddSC_boss_patchwerk(); + AddSC_boss_grobbulus(); + AddSC_boss_razuvious(); + AddSC_boss_kelthuzad(); + AddSC_boss_loatheb(); + AddSC_boss_noth(); + AddSC_boss_gluth(); + AddSC_boss_sapphiron(); + AddSC_boss_four_horsemen(); + AddSC_boss_faerlina(); + AddSC_boss_heigan(); + AddSC_boss_gothik(); + AddSC_boss_thaddius(); + AddSC_instance_naxxramas(); + AddSC_boss_magus_telestra(); //The Nexus Nexus + AddSC_boss_anomalus(); + AddSC_boss_ormorok(); + AddSC_boss_keristrasza(); + AddSC_instance_nexus(); + AddSC_boss_sartharion(); //Obsidian Sanctum + AddSC_instance_obsidian_sanctum(); + AddSC_boss_bjarngrim(); //Ulduar Halls of Lightning + AddSC_boss_loken(); + AddSC_instance_halls_of_lightning(); + AddSC_boss_auriaya(); //Ulduar Ulduar AddSC_boss_flame_leviathan(); AddSC_boss_ignis(); AddSC_boss_razorscale(); AddSC_boss_xt002(); - // AddSC_instance_ulduar(); - - //Un'Goro Crater - AddSC_ungoro_crater(); - - //Upper blackrock spire - - //Utgarde Keep - AddSC_boss_keleseth(); + //AddSC_instance_ulduar(); + AddSC_boss_keleseth(); //Utgarde Keep AddSC_boss_skarvald_dalronn(); AddSC_boss_ingvar_the_plunderer(); AddSC_instance_utgarde_keep(); AddSC_utgarde_keep(); - - //Wailing caverns - AddSC_wailing_caverns(); - AddSC_instance_wailing_caverns(); - - //Zul'Farrak - AddSC_zulfarrak(); - - //Zul'Gurub - AddSC_boss_jeklik(); - AddSC_boss_venoxis(); - AddSC_boss_marli(); - AddSC_boss_mandokir(); - AddSC_boss_gahzranka(); - AddSC_boss_thekal(); - AddSC_boss_arlokk(); - AddSC_boss_jindo(); - AddSC_boss_hakkar(); - AddSC_boss_grilek(); - AddSC_boss_hazzarah(); - AddSC_boss_renataki(); - AddSC_boss_wushoolay(); - AddSC_instance_zulgurub(); - - //Zul'Aman - AddSC_boss_akilzon(); - AddSC_boss_halazzi(); - AddSC_boss_hex_lord_malacrass(); - AddSC_boss_janalai(); - AddSC_boss_nalorakk(); - AddSC_boss_zuljin(); - AddSC_instance_zulaman(); - AddSC_zulaman(); - - //Vault of Archavon - AddSC_boss_archavon(); + AddSC_boss_archavon(); //Vault of Archavon AddSC_boss_emalon(); AddSC_instance_archavon(); - //Halls of Lightning - AddSC_boss_bjarngrim(); - AddSC_boss_loken(); - AddSC_instance_halls_of_lightning(); - - //Region + AddSC_borean_tundra(); + AddSC_dragonblight(); + AddSC_grizzly_hills(); + AddSC_icecrown(); + AddSC_sholazar_basin(); AddSC_wintergrasp(); + AddSC_zuldrak(); + + //outland + AddSC_boss_exarch_maladaar(); //Auchindoun Auchenai Crypts + AddSC_boss_shirrak_the_dead_watcher(); + AddSC_boss_nexusprince_shaffar(); //Auchindoun Mana Tombs + AddSC_boss_pandemonius(); + AddSC_boss_darkweaver_syth(); //Auchindoun Sekketh Halls + AddSC_boss_talon_king_ikiss(); + AddSC_instance_sethekk_halls(); + AddSC_instance_shadow_labyrinth(); //Auchindoun Shadow Labyrinth + AddSC_boss_ambassador_hellmaw(); + AddSC_boss_blackheart_the_inciter(); + AddSC_boss_grandmaster_vorpil(); + AddSC_boss_murmur(); + AddSC_black_temple(); //Black Temple + AddSC_boss_illidan(); + AddSC_boss_shade_of_akama(); + AddSC_boss_supremus(); + AddSC_boss_gurtogg_bloodboil(); + AddSC_boss_mother_shahraz(); + AddSC_boss_reliquary_of_souls(); + AddSC_boss_teron_gorefiend(); + AddSC_boss_najentus(); + AddSC_boss_illidari_council(); + AddSC_instance_black_temple(); + AddSC_boss_fathomlord_karathress(); //CR Serpent Shrine Cavern + AddSC_boss_hydross_the_unstable(); + AddSC_boss_lady_vashj(); + AddSC_boss_leotheras_the_blind(); + AddSC_boss_morogrim_tidewalker(); + AddSC_instance_serpentshrine_cavern(); + AddSC_boss_the_lurker_below(); + AddSC_boss_hydromancer_thespia(); //CR Steam Vault + AddSC_boss_mekgineer_steamrigger(); + AddSC_boss_warlord_kalithresh(); + AddSC_instance_steam_vault(); + AddSC_boss_hungarfen(); //CR Underbog + AddSC_boss_the_black_stalker(); + AddSC_boss_gruul(); //Gruul's Lair + AddSC_boss_high_king_maulgar(); + AddSC_instance_gruuls_lair(); + AddSC_boss_broggok(); //HC Blood Furnace + AddSC_boss_kelidan_the_breaker(); + AddSC_boss_the_maker(); + AddSC_instance_blood_furnace(); + AddSC_boss_magtheridon(); //HC Magtheridon's Lair + AddSC_instance_magtheridons_lair(); + AddSC_boss_grand_warlock_nethekurse(); //HC Shattered Halls + AddSC_boss_warbringer_omrogg(); + AddSC_boss_warchief_kargath_bladefist(); + AddSC_instance_shattered_halls(); + AddSC_boss_watchkeeper_gargolmar(); //HC Ramparts + AddSC_boss_omor_the_unscarred(); + AddSC_boss_vazruden_the_herald(); + AddSC_instance_ramparts(); + AddSC_arcatraz(); //TK Arcatraz + AddSC_boss_harbinger_skyriss(); + AddSC_instance_arcatraz(); + AddSC_boss_high_botanist_freywinn(); //TK Botanica + AddSC_boss_laj(); + AddSC_boss_warp_splinter(); + AddSC_boss_alar(); //TK The Eye + AddSC_boss_kaelthas(); + AddSC_boss_void_reaver(); + AddSC_boss_high_astromancer_solarian(); + AddSC_instance_the_eye(); + AddSC_the_eye(); + AddSC_boss_gatewatcher_iron_hand(); //TK The Mechanar + AddSC_boss_nethermancer_sepethrea(); + AddSC_boss_pathaleon_the_calculator(); + AddSC_instance_mechanar(); + + AddSC_blades_edge_mountains(); + AddSC_boss_doomlordkazzak(); + AddSC_boss_doomwalker(); + AddSC_hellfire_peninsula(); + AddSC_nagrand(); + AddSC_netherstorm(); + AddSC_shadowmoon_valley(); + AddSC_shattrath_city(); + AddSC_terokkar_forest(); + AddSC_zangarmarsh(); } diff --git a/src/bindings/scripts/system/system.cpp b/src/bindings/scripts/system/system.cpp new file mode 100644 index 00000000000..4ed51825262 --- /dev/null +++ b/src/bindings/scripts/system/system.cpp @@ -0,0 +1,255 @@ +/* + * Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/> + * + * Thanks to the original authors: MaNGOS <http://getmangos.com/> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "precompiled.h" +#include "system.h" +#include "ProgressBar.h" +#include "ObjectMgr.h" +#include "Database/DatabaseEnv.h" + +DatabaseType TScriptDB; + +SystemMgr::SystemMgr() +{ +} + +SystemMgr& SystemMgr::Instance() +{ + static SystemMgr pSysMgr; + return pSysMgr; +} + +void SystemMgr::LoadVersion() +{ + //Get Version information + QueryResult* pResult = TScriptDB.PQuery("SELECT script_version FROM version LIMIT 1"); + + if (pResult) + { + Field* pFields = pResult->Fetch(); + + outstring_log("TSCR: Database version is: %s", pFields[0].GetString()); + outstring_log(""); + } + else + { + error_log("TSCR: Missing `version`.`script_version` information."); + outstring_log(""); + } +} + +void SystemMgr::LoadScriptTexts() +{ + outstring_log("TSCR: Loading Script Texts..."); + LoadTrinityStrings(TScriptDB,"script_texts",TEXT_SOURCE_RANGE,1+(TEXT_SOURCE_RANGE*2)); + + QueryResult* pResult = TScriptDB.PQuery("SELECT entry, sound, type, language, emote FROM script_texts"); + + outstring_log("TSCR: Loading Script Texts additional data..."); + + if (pResult) + { + barGoLink bar(pResult->GetRowCount()); + uint32 uiCount = 0; + + do + { + bar.step(); + Field* pFields = pResult->Fetch(); + StringTextData pTemp; + + int32 iId = pFields[0].GetInt32(); + pTemp.uiSoundId = pFields[1].GetUInt32(); + pTemp.uiType = pFields[2].GetUInt32(); + pTemp.uiLanguage = pFields[3].GetUInt32(); + pTemp.uiEmote = pFields[4].GetUInt32(); + + if (iId >= 0) + { + error_db_log("TSCR: Entry %i in table `script_texts` is not a negative value.", iId); + continue; + } + + if (iId > TEXT_SOURCE_RANGE || iId <= TEXT_SOURCE_RANGE*2) + { + error_db_log("TSCR: Entry %i in table `script_texts` is out of accepted entry range for table.", iId); + continue; + } + + if (pTemp.uiSoundId) + { + if (!GetSoundEntriesStore()->LookupEntry(pTemp.uiSoundId)) + error_db_log("TSCR: Entry %i in table `script_texts` has soundId %u but sound does not exist.", iId, pTemp.uiSoundId); + } + + if (!GetLanguageDescByID(pTemp.uiLanguage)) + error_db_log("TSCR: Entry %i in table `script_texts` using Language %u but Language does not exist.", iId, pTemp.uiLanguage); + + if (pTemp.uiType > CHAT_TYPE_ZONE_YELL) + error_db_log("TSCR: Entry %i in table `script_texts` has Type %u but this Chat Type does not exist.", iId, pTemp.uiType); + + m_mTextDataMap[iId] = pTemp; + ++uiCount; + } while (pResult->NextRow()); + + outstring_log(""); + outstring_log(">> Loaded %u additional Script Texts data.", uiCount); + } + else + { + barGoLink bar(1); + bar.step(); + outstring_log(""); + outstring_log(">> Loaded 0 additional Script Texts data. DB table `script_texts` is empty."); + } +} + +void SystemMgr::LoadScriptTextsCustom() +{ + outstring_log("TSCR: Loading Custom Texts..."); + LoadTrinityStrings(TScriptDB,"custom_texts",TEXT_SOURCE_RANGE*2,1+(TEXT_SOURCE_RANGE*3)); + + QueryResult* pResult = TScriptDB.PQuery("SELECT entry, sound, type, language, emote FROM custom_texts"); + + outstring_log("TSCR: Loading Custom Texts additional data..."); + + if (pResult) + { + barGoLink bar(pResult->GetRowCount()); + uint32 uiCount = 0; + + do + { + bar.step(); + Field* pFields = pResult->Fetch(); + StringTextData pTemp; + + int32 iId = pFields[0].GetInt32(); + pTemp.uiSoundId = pFields[1].GetUInt32(); + pTemp.uiType = pFields[2].GetUInt32(); + pTemp.uiLanguage = pFields[3].GetUInt32(); + pTemp.uiEmote = pFields[4].GetUInt32(); + + if (iId >= 0) + { + error_db_log("TSCR: Entry %i in table `custom_texts` is not a negative value.", iId); + continue; + } + + if (iId > TEXT_SOURCE_RANGE*2 || iId <= TEXT_SOURCE_RANGE*3) + { + error_db_log("TSCR: Entry %i in table `custom_texts` is out of accepted entry range for table.", iId); + continue; + } + + if (pTemp.uiSoundId) + { + if (!GetSoundEntriesStore()->LookupEntry(pTemp.uiSoundId)) + error_db_log("TSCR: Entry %i in table `custom_texts` has soundId %u but sound does not exist.", iId, pTemp.uiSoundId); + } + + if (!GetLanguageDescByID(pTemp.uiLanguage)) + error_db_log("TSCR: Entry %i in table `custom_texts` using Language %u but Language does not exist.", iId, pTemp.uiLanguage); + + if (pTemp.uiType > CHAT_TYPE_ZONE_YELL) + error_db_log("TSCR: Entry %i in table `custom_texts` has Type %u but this Chat Type does not exist.", iId, pTemp.uiType); + + m_mTextDataMap[iId] = pTemp; + ++uiCount; + } while (pResult->NextRow()); + + outstring_log(""); + outstring_log(">> Loaded %u additional Custom Texts data.", uiCount); + } + else + { + barGoLink bar(1); + bar.step(); + outstring_log(""); + outstring_log(">> Loaded 0 additional Custom Texts data. DB table `custom_texts` is empty."); + } +} + +void SystemMgr::LoadScriptWaypoints() +{ + // Drop Existing Waypoint list + m_mPointMoveMap.clear(); + + uint64 uiCreatureCount = 0; + + // Load Waypoints + QueryResult* pResult = TScriptDB.PQuery("SELECT COUNT(entry) FROM script_waypoint GROUP BY entry"); + if (pResult) + { + uiCreatureCount = pResult->GetRowCount(); + delete pResult; + } + + outstring_log("TSCR: Loading Script Waypoints for %u creature(s)...", uiCreatureCount); + + pResult = TScriptDB.PQuery("SELECT entry, pointid, location_x, location_y, location_z, waittime FROM script_waypoint ORDER BY pointid"); + + if (pResult) + { + barGoLink bar(pResult->GetRowCount()); + uint32 uiNodeCount = 0; + + do + { + bar.step(); + Field* pFields = pResult->Fetch(); + ScriptPointMove pTemp; + + pTemp.uiCreatureEntry = pFields[0].GetUInt32(); + uint32 uiEntry = pTemp.uiCreatureEntry; + pTemp.uiPointId = pFields[1].GetUInt32(); + pTemp.fX = pFields[2].GetFloat(); + pTemp.fY = pFields[3].GetFloat(); + pTemp.fZ = pFields[4].GetFloat(); + pTemp.uiWaitTime = pFields[5].GetUInt32(); + + CreatureInfo const* pCInfo = GetCreatureTemplateStore(pTemp.uiCreatureEntry); + + if (!pCInfo) + { + error_db_log("TSCR: DB table script_waypoint has waypoint for non-existant creature entry %u", pTemp.uiCreatureEntry); + continue; + } + + if (!pCInfo->ScriptID) + error_db_log("TSCR: DB table script_waypoint has waypoint for creature entry %u, but creature does not have ScriptName defined and then useless.", pTemp.uiCreatureEntry); + + m_mPointMoveMap[uiEntry].push_back(pTemp); + ++uiNodeCount; + } while (pResult->NextRow()); + + delete pResult; + + outstring_log(""); + outstring_log(">> Loaded %u Script Waypoint nodes.", uiNodeCount); + } + else + { + barGoLink bar(1); + bar.step(); + outstring_log(""); + outstring_log(">> Loaded 0 Script Waypoints. DB table `script_waypoint` is empty."); + } +} diff --git a/src/bindings/scripts/system/system.h b/src/bindings/scripts/system/system.h new file mode 100644 index 00000000000..a9d35b6f3f0 --- /dev/null +++ b/src/bindings/scripts/system/system.h @@ -0,0 +1,78 @@ +/* Copyright (C) 2006 - 2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> +* This program is free software licensed under GPL version 2 +* Please see the included DOCS/LICENSE.TXT for more information */ + +#ifndef SC_SYSTEM_H +#define SC_SYSTEM_H + +extern DatabaseType TScriptDB; + +#define TEXT_SOURCE_RANGE -1000000 //the amount of entries each text source has available + +struct ScriptPointMove +{ + uint32 uiCreatureEntry; + uint32 uiPointId; + float fX; + float fY; + float fZ; + uint32 uiWaitTime; +}; + +struct StringTextData +{ + uint32 uiSoundId; + uint8 uiType; + uint32 uiLanguage; + uint32 uiEmote; +}; + +#define pSystemMgr SystemMgr::Instance() + +class SystemMgr +{ + public: + SystemMgr(); + ~SystemMgr() {} + + static SystemMgr& Instance(); + + //Maps and lists + typedef UNORDERED_MAP<int32, StringTextData> TextDataMap; + typedef UNORDERED_MAP<uint32, std::vector<ScriptPointMove> > PointMoveMap; + + //Database + void LoadVersion(); + void LoadScriptTexts(); + void LoadScriptTextsCustom(); + void LoadScriptWaypoints(); + + //Retrive from storage + StringTextData const* GetTextData(int32 uiTextId) const + { + TextDataMap::const_iterator itr = m_mTextDataMap.find(uiTextId); + + if (itr == m_mTextDataMap.end()) + return NULL; + + return &itr->second; + } + + std::vector<ScriptPointMove> const &GetPointMoveList(uint32 uiCreatureEntry) const + { + static std::vector<ScriptPointMove> vEmpty; + + PointMoveMap::const_iterator itr = m_mPointMoveMap.find(uiCreatureEntry); + + if (itr == m_mPointMoveMap.end()) + return vEmpty; + + return itr->second; + } + + protected: + TextDataMap m_mTextDataMap; //additional data for text strings + PointMoveMap m_mPointMoveMap; //coordinates for waypoints +}; + +#endif diff --git a/src/game/CharacterHandler.cpp b/src/game/CharacterHandler.cpp index f2e5d3be287..d39b881095e 100644 --- a/src/game/CharacterHandler.cpp +++ b/src/game/CharacterHandler.cpp @@ -1259,13 +1259,16 @@ void WorldSession::HandleCharCustomize(WorldPacket& recv_data) } CharacterDatabase.escape_string(newname); + if(QueryResult *result = CharacterDatabase.PQuery("SELECT name FROM characters WHERE guid ='%u'", GUID_LOPART(guid))) + { + std::string oldname = result->Fetch()[0].GetCppString(); + std::string IP_str = GetRemoteAddress(); + sLog.outChar("Account: %d (IP: %s), Character[%s] (guid:%u) Customized to: %s", GetAccountId(), IP_str.c_str(), oldname.c_str(), GUID_LOPART(guid), newname.c_str()); + } Player::Customize(guid, gender, skin, face, hairStyle, hairColor, facialHair); CharacterDatabase.PExecute("UPDATE characters set name = '%s', at_login = at_login & ~ %u WHERE guid ='%u'", newname.c_str(), uint32(AT_LOGIN_CUSTOMIZE), GUID_LOPART(guid)); CharacterDatabase.PExecute("DELETE FROM character_declinedname WHERE guid ='%u'", GUID_LOPART(guid)); - std::string IP_str = GetRemoteAddress(); - sLog.outChar("Account: %d (IP: %s), Character[%s] (guid:%u) Customized to: %s", GetAccountId(), IP_str.c_str(), GetPlayer()->GetName(), GUID_LOPART(guid), newname.c_str()); - WorldPacket data(SMSG_CHAR_CUSTOMIZE, 1+8+(newname.size()+1)+6); data << uint8(RESPONSE_SUCCESS); data << uint64(guid); diff --git a/src/game/Item.cpp b/src/game/Item.cpp index dac3ca8b0c8..9e07dbfaa16 100644 --- a/src/game/Item.cpp +++ b/src/game/Item.cpp @@ -970,6 +970,8 @@ Item* Item::CreateItem( uint32 item, uint32 count, Player const* player ) else delete pItem; } + else + assert(false); return NULL; } diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 25da2b63e75..40dc8b21c62 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -6100,7 +6100,7 @@ int32 Player::CalculateReputationGain(uint32 creatureOrQuestLevel, int32 rep, in if (percent <= 0.0f) return 0; - return int32(rep*percent)/100; + return int32(rep*percent/100); } //Calculates how many reputation points player gains in victim's enemy factions diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index ad94bf4e6f2..24d9a7be213 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -2308,11 +2308,11 @@ enum CorpseDynFlags #define SPELL_ID_FROST_PRESENCE 48263 // Frost Presence #define SPELL_ID_UNHOLY_PRESENCE 48265 // Unholy Presence #define SPELL_ID_NE_GHOST 20584 // Night Elf Ghost Aura -#define SPELL_ID_GHOST 8326 // Ghost +#define SPELL_ID_GHOST 8326 // Ghost #define SPELL_ID_DESERTER 26013 // Deserter -#define SPELL_ID_LOGINEFFECT 836 // LOGINEFFECT -#define SPELL_ID_HONORLESS_TARGET 2479 // Honorless target -#define SPELL_ID_DUEL_BEG 7267 // Beg +#define SPELL_ID_LOGINEFFECT 836 // LOGINEFFECT +#define SPELL_ID_HONORLESS_TARGET 2479 // Honorless target +#define SPELL_ID_DUEL_BEG 7267 // Beg enum WeatherType { diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 4824b260334..39eb470bc9c 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2014,10 +2014,11 @@ void Spell::EffectForceCast(uint32 i) { switch(m_spellInfo->Id) { + // 52463 also use custom damage and the summon veh spell use that damamge and cast mount aura? case 52588: unitTarget->RemoveAura(damage); break; } } - else + else // this was for 52463, need further study { unitTarget->CastCustomSpell(unitTarget, spellInfo->Id, &damage, NULL, NULL, true, NULL, NULL, m_originalCasterGUID); return; diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 179b1104ac3..80ee7bd359b 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5981,6 +5981,16 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger target = this; break; } + // Improved Mend Pet + if ( dummySpell->SpellIconID == 267 ) + { + int32 chance = triggeredByAura->GetSpellProto()->EffectBasePoints[triggeredByAura->GetEffIndex()]; + if(!roll_chance_i(chance)) + return false; + + triggered_spell_id = 24406; + break; + } // Lock and Load if ( dummySpell->SpellIconID == 3579 ) { @@ -7013,43 +7023,48 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig ? ((Player*)this)->GetItemByGuid(triggeredByAura->GetParentAura()->GetCastItemGUID()) : NULL; // Try handle unknown trigger spells - if (sSpellStore.LookupEntry(trigger_spell_id)==NULL) + if (sSpellStore.LookupEntry(trigger_spell_id) == NULL) { switch (auraSpellInfo->SpellFamilyName) { case SPELLFAMILY_GENERIC: - if (auraSpellInfo->Id == 23780) // Aegis of Preservation (Aegis of Preservation trinket) - trigger_spell_id = 23781; - else if (auraSpellInfo->Id==43820) // Charm of the Witch Doctor (Amani Charm of the Witch Doctor trinket) + switch (auraSpellInfo->Id) { - // Pct value stored in dummy - basepoints0 = pVictim->GetCreateHealth() * auraSpellInfo->EffectBasePoints[1] / 100; - target = pVictim; - break; - } - else if (auraSpellInfo->Id==57345) // Darkmoon Card: Greatness - { - float stat = 0.0f; - // strength - if (GetStat(STAT_STRENGTH) > stat) { trigger_spell_id = 60229;stat = GetStat(STAT_STRENGTH); } - // agility - if (GetStat(STAT_AGILITY) > stat) { trigger_spell_id = 60233;stat = GetStat(STAT_AGILITY); } - // intellect - if (GetStat(STAT_INTELLECT)> stat) { trigger_spell_id = 60234;stat = GetStat(STAT_INTELLECT);} - // spirit - if (GetStat(STAT_SPIRIT) > stat) { trigger_spell_id = 60235;stat = GetStat(STAT_SPIRIT); } - } - else if (auraSpellInfo->Id == 33896) // Desperate Defense (Stonescythe Whelp, Stonescythe Alpha, Stonescythe Ambusher) - trigger_spell_id = 33898; - else if (auraSpellInfo->Id==27522 || auraSpellInfo->Id==40336) - // Mana Drain Trigger - { - // On successful melee or ranged attack gain $29471s1 mana and if possible drain $27526s1 mana from the target. - if (this && this->isAlive()) - CastSpell(this, 29471, true, castItem, triggeredByAura); - if (pVictim && pVictim->isAlive()) - CastSpell(pVictim, 27526, true, castItem, triggeredByAura); - return true; + case 23780: // Aegis of Preservation (Aegis of Preservation trinket) + trigger_spell_id = 23781; + break; + case 33896: // Desperate Defense (Stonescythe Whelp, Stonescythe Alpha, Stonescythe Ambusher) + trigger_spell_id = 33898; + break; + case 43820: // Charm of the Witch Doctor (Amani Charm of the Witch Doctor trinket) + // Pct value stored in dummy + basepoints0 = pVictim->GetCreateHealth() * auraSpellInfo->EffectBasePoints[1] / 100; + target = pVictim; + break; + case 57345: // Darkmoon Card: Greatness + { + float stat = 0.0f; + // strength + if (GetStat(STAT_STRENGTH) > stat) { trigger_spell_id = 60229;stat = GetStat(STAT_STRENGTH); } + // agility + if (GetStat(STAT_AGILITY) > stat) { trigger_spell_id = 60233;stat = GetStat(STAT_AGILITY); } + // intellect + if (GetStat(STAT_INTELLECT)> stat) { trigger_spell_id = 60234;stat = GetStat(STAT_INTELLECT);} + // spirit + if (GetStat(STAT_SPIRIT) > stat) { trigger_spell_id = 60235;stat = GetStat(STAT_SPIRIT); } + break; + } + // Mana Drain Trigger + case 27522: + case 40336: + { + // On successful melee or ranged attack gain $29471s1 mana and if possible drain $27526s1 mana from the target. + if (this && this->isAlive()) + CastSpell(this, 29471, true, castItem, triggeredByAura); + if (pVictim && pVictim->isAlive()) + CastSpell(pVictim, 27526, true, castItem, triggeredByAura); + return true; + } } break; case SPELLFAMILY_MAGE: @@ -7073,9 +7088,10 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig break; case SPELLFAMILY_WARLOCK: { - // Improved Drain Soul + // Drain Soul if (auraSpellInfo->SpellFamilyFlags[0] & 0x4000) { + // Improved Drain Soul Unit::AuraEffectList const& mAddFlatModifier = GetAurasByType(SPELL_AURA_DUMMY); for(Unit::AuraEffectList::const_iterator i = mAddFlatModifier.begin(); i != mAddFlatModifier.end(); ++i) { @@ -7174,161 +7190,154 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig return false; basepoints0 = int32(damage * triggerAmount / 100 / (GetSpellMaxDuration(TriggerPS) / TriggerPS->EffectAmplitude[0])); target = pVictim; - } + } break; } case SPELLFAMILY_PALADIN: { - // Healing Discount - if (auraSpellInfo->Id==37705) - { - trigger_spell_id = 37706; - target = this; - } - // Soul Preserver - if (auraSpellInfo->Id==60510) + switch (auraSpellInfo->Id) { - trigger_spell_id = 60515; - target = this; - } - // Illumination - else if (auraSpellInfo->SpellIconID==241) - { - if(!procSpell) - return false; - // procspell is triggered spell but we need mana cost of original casted spell - uint32 originalSpellId = procSpell->Id; - // Holy Shock heal - if(procSpell->SpellFamilyFlags[1] & 0x00010000) + // Healing Discount + case 37705: { - switch(procSpell->Id) - { - case 25914: originalSpellId = 20473; break; - case 25913: originalSpellId = 20929; break; - case 25903: originalSpellId = 20930; break; - case 27175: originalSpellId = 27174; break; - case 33074: originalSpellId = 33072; break; - case 48820: originalSpellId = 48824; break; - case 48821: originalSpellId = 48825; break; - default: - sLog.outError("Unit::HandleProcTriggerSpell: Spell %u not handled in HShock",procSpell->Id); - return false; - } + trigger_spell_id = 37706; + target = this; + break; } - SpellEntry const *originalSpell = sSpellStore.LookupEntry(originalSpellId); - if(!originalSpell) + // Soul Preserver + case 60510: { - sLog.outError("Unit::HandleProcTriggerSpell: Spell %u unknown but selected as original in Illu",originalSpellId); - return false; + trigger_spell_id = 60515; + target = this; + break; } - // percent stored in effect 1 (class scripts) base points - int32 cost = originalSpell->manaCost + originalSpell->ManaCostPercentage * GetCreateMana() / 100; - basepoints0 = cost*auraSpellInfo->CalculateSimpleValue(1)/100; - trigger_spell_id = 20272; - target = this; - } - // Lightning Capacitor - else if (auraSpellInfo->Id==37657) - { - if(!pVictim || !pVictim->isAlive()) - return false; - // stacking - CastSpell(this, 37658, true, NULL, triggeredByAura); + // Lightning Capacitor + case 37657: + { + if(!pVictim || !pVictim->isAlive()) + return false; + // stacking + CastSpell(this, 37658, true, NULL, triggeredByAura); - Aura * dummy = GetAura(37658); - // release at 3 aura in stack (cont contain in basepoint of trigger aura) - if(!dummy || dummy->GetStackAmount() < triggerAmount) - return false; + Aura * dummy = GetAura(37658); + // release at 3 aura in stack (cont contain in basepoint of trigger aura) + if(!dummy || dummy->GetStackAmount() < triggerAmount) + return false; - RemoveAurasDueToSpell(37658); - trigger_spell_id = 37661; - target = pVictim; - } - // Thunder Capacitor - else if (auraSpellInfo->Id == 54841) - { - if(!pVictim || !pVictim->isAlive()) - return false; - // stacking - CastSpell(this, 54842, true, NULL, triggeredByAura); + RemoveAurasDueToSpell(37658); + trigger_spell_id = 37661; + target = pVictim; + break; + } + // Thunder Capacitor + case 54841: + { + if(!pVictim || !pVictim->isAlive()) + return false; + // stacking + CastSpell(this, 54842, true, NULL, triggeredByAura); - // counting - Aura * dummy = GetAura(54842); - // release at 3 aura in stack (cont contain in basepoint of trigger aura) - if(!dummy || dummy->GetStackAmount() < triggerAmount) - return false; + // counting + Aura * dummy = GetAura(54842); + // release at 3 aura in stack (cont contain in basepoint of trigger aura) + if(!dummy || dummy->GetStackAmount() < triggerAmount) + return false; - RemoveAurasDueToSpell(54842); - trigger_spell_id = 54843; - target = pVictim; + RemoveAurasDueToSpell(54842); + trigger_spell_id = 54843; + target = pVictim; + break; + } + default: + // Illumination + if (auraSpellInfo->SpellIconID==241) + { + if(!procSpell) + return false; + // procspell is triggered spell but we need mana cost of original casted spell + uint32 originalSpellId = procSpell->Id; + // Holy Shock heal + if(procSpell->SpellFamilyFlags[1] & 0x00010000) + { + switch(procSpell->Id) + { + case 25914: originalSpellId = 20473; break; + case 25913: originalSpellId = 20929; break; + case 25903: originalSpellId = 20930; break; + case 27175: originalSpellId = 27174; break; + case 33074: originalSpellId = 33072; break; + case 48820: originalSpellId = 48824; break; + case 48821: originalSpellId = 48825; break; + default: + sLog.outError("Unit::HandleProcTriggerSpell: Spell %u not handled in HShock",procSpell->Id); + return false; + } + } + SpellEntry const *originalSpell = sSpellStore.LookupEntry(originalSpellId); + if(!originalSpell) + { + sLog.outError("Unit::HandleProcTriggerSpell: Spell %u unknown but selected as original in Illu",originalSpellId); + return false; + } + // percent stored in effect 1 (class scripts) base points + int32 cost = originalSpell->manaCost + originalSpell->ManaCostPercentage * GetCreateMana() / 100; + basepoints0 = cost*auraSpellInfo->CalculateSimpleValue(1)/100; + trigger_spell_id = 20272; + target = this; + } + break; } break; } case SPELLFAMILY_SHAMAN: { - // Lightning Shield (overwrite non existing triggered spell call in spell.dbc - if(auraSpellInfo->SpellFamilyFlags[0] & 0x400) + switch (auraSpellInfo->Id) { - switch(auraSpellInfo->Id) + // Lightning Shield (The Ten Storms set) + case 23551: { - case 324: // Rank 1 - trigger_spell_id = 26364; break; - case 325: // Rank 2 - trigger_spell_id = 26365; break; - case 905: // Rank 3 - trigger_spell_id = 26366; break; - case 945: // Rank 4 - trigger_spell_id = 26367; break; - case 8134: // Rank 5 - trigger_spell_id = 26369; break; - case 10431: // Rank 6 - trigger_spell_id = 26370; break; - case 10432: // Rank 7 - trigger_spell_id = 26363; break; - case 25469: // Rank 8 - trigger_spell_id = 26371; break; - case 25472: // Rank 9 - trigger_spell_id = 26372; break; - case 49280: // Rank 10 - trigger_spell_id = 49278; break; - case 49281: // Rank 11 - trigger_spell_id = 49279; break; - default: - sLog.outError("Unit::HandleProcTriggerSpell: Spell %u not handled in LShield", auraSpellInfo->Id); - return false; + trigger_spell_id = 23552; + target = pVictim; + break; } - } - // Lightning Shield (The Ten Storms set) - else if (auraSpellInfo->Id == 23551) - { - trigger_spell_id = 23552; - target = pVictim; - } - // Damage from Lightning Shield (The Ten Storms set) - else if (auraSpellInfo->Id == 23552) - trigger_spell_id = 27635; - // Mana Surge (The Earthfury set) - else if (auraSpellInfo->Id == 23572) - { - if(!procSpell) - return false; - basepoints0 = procSpell->manaCost * 35 / 100; - trigger_spell_id = 23571; - target = this; - } - // Nature's Guardian - else if (auraSpellInfo->SpellIconID == 2013) - { - // Check health condition - should drop to less 30% (damage deal after this!) - if (!(10*(int32(GetHealth() - damage)) < 3 * GetMaxHealth())) - return false; + // Damage from Lightning Shield (The Ten Storms set) + case 23552: + { + trigger_spell_id = 27635; + break; + } + // Mana Surge (The Earthfury set) + case 23572: + { + if(!procSpell) + return false; + basepoints0 = procSpell->manaCost * 35 / 100; + trigger_spell_id = 23571; + target = this; + break; + } + default: + { + // Lightning Shield (overwrite non existing triggered spell call in spell.dbc + if(auraSpellInfo->SpellFamilyFlags[0] & 0x400) + { + trigger_spell_id = spellmgr.GetSpellWithRank(26364, spellmgr.GetSpellRank(auraSpellInfo->Id)); + } + // Nature's Guardian + else if (auraSpellInfo->SpellIconID == 2013) + { + // Check health condition - should drop to less 30% (damage deal after this!) + if (!(10*(int32(GetHealth() - damage)) < 3 * GetMaxHealth())) + return false; - if(pVictim && pVictim->isAlive()) - pVictim->getThreatManager().modifyThreatPercent(this,-10); + if(pVictim && pVictim->isAlive()) + pVictim->getThreatManager().modifyThreatPercent(this,-10); - basepoints0 = triggerAmount * GetMaxHealth() / 100; - trigger_spell_id = 31616; - target = this; + basepoints0 = triggerAmount * GetMaxHealth() / 100; + trigger_spell_id = 31616; + target = this; + } + } } break; } @@ -7399,7 +7408,7 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig // Cheat Death case 28845: { - // When your health drops below 20% .... + // When your health drops below 20% if (GetHealth() - damage > GetMaxHealth() / 5 || GetHealth() < GetMaxHealth() / 5) return false; break; @@ -7572,30 +7581,6 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig return false; break; } - // Brain Freeze - case 57761: - { - if(!procSpell) - return false; - // For trigger from Blizzard need exist Improved Blizzard - if (procSpell->SpellFamilyName==SPELLFAMILY_MAGE && procSpell->SpellFamilyFlags[0] & 0x80) - { - bool found = false; - AuraEffectList const& mOverrideClassScript = GetAurasByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS); - for(AuraEffectList::const_iterator i = mOverrideClassScript.begin(); i != mOverrideClassScript.end(); ++i) - { - int32 script = (*i)->GetMiscValue(); - if(script==836 || script==988 || script==989) - { - found=true; - break; - } - } - if(!found) - return false; - } - break; - } // Astral Shift case 52179: { @@ -7706,16 +7691,6 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, AuraE triggered_spell_id = 12486; break; } - case 4086: // Improved Mend Pet (Rank 1) - case 4087: // Improved Mend Pet (Rank 2) - { - int32 chance = triggeredByAura->GetSpellProto()->EffectBasePoints[triggeredByAura->GetEffIndex()]; - if(!roll_chance_i(chance)) - return false; - - triggered_spell_id = 24406; - break; - } case 4533: // Dreamwalker Raiment 2 pieces bonus { // Chance 50% @@ -7735,19 +7710,9 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit *pVictim, uint32 damage, AuraE case 4537: // Dreamwalker Raiment 6 pieces bonus triggered_spell_id = 28750; // Blessing of the Claw break; - case 5497: // Improved Mana Gems (Serpent-Coil Braid) + case 5497: // Improved Mana Gems triggered_spell_id = 37445; // Mana Surge break; - case 8152: // Serendipity - { - // if heal your target over maximum health - if (pVictim->GetHealth() + damage < pVictim->GetMaxHealth()) - return false; - int32 cost = procSpell->manaCost + procSpell->ManaCostPercentage * GetCreateMana() / 100; - int32 basepoints0 = cost * triggeredByAura->GetAmount()/100; - CastCustomSpell(this, 47762, &basepoints0, 0, 0, true, 0, triggeredByAura); - return true; - } case 7010: // Revitalize - can proc on full hp target case 7011: case 7012: @@ -12852,77 +12817,6 @@ void Unit::SendMovementFlagUpdate() SendMessageToSet(&data, false); } -/* -void Unit::SetFeared(bool apply, uint64 casterGUID, uint32 spellID, uint32 time) -{ - if( apply ) - { - if(HasAuraType(SPELL_AURA_PREVENTS_FLEEING)) - return; - - SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING); - - GetMotionMaster()->MovementExpired(false); - CastStop(GetGUID()==casterGUID ? spellID : 0); - - Unit* caster = ObjectAccessor::GetUnit(*this,casterGUID); - - GetMotionMaster()->MoveFleeing(caster, time); // caster==NULL processed in MoveFleeing - } - else - { - RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING); - - GetMotionMaster()->MovementExpired(false); - - if( GetTypeId() != TYPEID_PLAYER && isAlive() ) - { - // restore appropriate movement generator - if(getVictim()) - GetMotionMaster()->MoveChase(getVictim()); - else - GetMotionMaster()->Initialize(); - - // attack caster if can - Unit* caster = ObjectAccessor::GetObjectInWorld(casterGUID, (Unit*)NULL); - if(caster && ((Creature*)this)->AI()) - ((Creature*)this)->AI()->AttackedBy(caster); - } - } - - if (GetTypeId() == TYPEID_PLAYER) - ((Player*)this)->SetClientControl(this, !apply); -} - -void Unit::SetConfused(bool apply, uint64 casterGUID, uint32 spellID) -{ - if( apply ) - { - SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED); - - CastStop(GetGUID()==casterGUID ? spellID : 0); - - GetMotionMaster()->MoveConfused(); - } - else - { - RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED); - - GetMotionMaster()->MovementExpired(false); - - if (GetTypeId() == TYPEID_UNIT) - { - // if in combat restore movement generator - if(getVictim()) - GetMotionMaster()->MoveChase(getVictim()); - } - } - - if(GetTypeId() == TYPEID_PLAYER) - ((Player*)this)->SetClientControl(this, !apply); -} -*/ - bool Unit::IsSitState() const { uint8 s = getStandState(); @@ -13847,7 +13741,7 @@ void Unit::SetRooted(bool apply) { if(apply) { - AddUnitMovementFlag(MOVEMENTFLAG_ROOT); + AddUnitMovementFlag(MOVEMENTFLAG_ROOT); WorldPacket data(SMSG_FORCE_MOVE_ROOT, 10); data.append(GetPackGUID()); |
