aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/CMakeLists.txt840
-rw-r--r--src/bindings/scripts/ScriptMgr.cpp312
-rw-r--r--src/bindings/scripts/VC80/80ScriptDev2.vcproj4775
-rw-r--r--src/bindings/scripts/VC90/90ScriptDev2.vcproj4775
-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.cpp309
-rw-r--r--src/bindings/scripts/base/follower_ai.h50
-rw-r--r--src/bindings/scripts/base/guard_ai.cpp5
-rw-r--r--src/bindings/scripts/base/guard_ai.h4
-rw-r--r--src/bindings/scripts/include/sc_creature.cpp6
-rw-r--r--src/bindings/scripts/include/sc_creature.h12
-rw-r--r--src/bindings/scripts/scripts/custom/test.cpp2
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/arathi_highlands.cpp7
-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.cpp2
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/elwynn_forest.cpp2
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/eversong_woods.cpp15
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/ghostlands.cpp4
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/hinterlands.cpp172
-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.cpp973
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp2225
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp1138
-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.cpp36
-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.cpp6
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/wetlands.cpp167
-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.cpp18
-rw-r--r--src/bindings/scripts/scripts/kalimdor/ashenvale.cpp14
-rw-r--r--src/bindings/scripts/scripts/kalimdor/azuremyst_isle.cpp4
-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.cpp9
-rw-r--r--src/bindings/scripts/scripts/kalimdor/feralas.cpp4
-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.cpp2
-rw-r--r--src/bindings/scripts/scripts/kalimdor/mulgore.cpp2
-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.cpp8
-rw-r--r--src/bindings/scripts/scripts/kalimdor/tanaris.cpp130
-rw-r--r--src/bindings/scripts/scripts/kalimdor/teldrassil.cpp107
-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.cpp197
-rw-r--r--src/bindings/scripts/scripts/kalimdor/thousand_needles.cpp8
-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.cpp13
-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.cpp63
-rw-r--r--src/bindings/scripts/scripts/outland/nagrand.cpp2
-rw-r--r--src/bindings/scripts/scripts/outland/netherstorm.cpp57
-rw-r--r--src/bindings/scripts/scripts/outland/shadowmoon_valley.cpp14
-rw-r--r--src/bindings/scripts/scripts/outland/shattrath_city.cpp84
-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.cpp84
-rw-r--r--src/bindings/scripts/scripts/outland/zangarmarsh.cpp18
-rw-r--r--src/bindings/scripts/scripts/world/npcs_special.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/.instance_black_temple.cpp-s8inyu347
-rw-r--r--src/bindings/scripts/system.cpp22
-rw-r--r--src/bindings/scripts/system/ScriptLoader.cpp1204
-rw-r--r--src/bindings/scripts/system/system.cpp255
-rw-r--r--src/bindings/scripts/system/system.h78
-rw-r--r--src/game/CharacterHandler.cpp9
-rw-r--r--src/game/Item.cpp2
-rw-r--r--src/game/Player.cpp2
-rw-r--r--src/game/SharedDefines.h8
-rw-r--r--src/game/SpellEffects.cpp3
-rw-r--r--src/game/Unit.cpp460
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&apos;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&apos;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&apos;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&apos;Goro Crater"
- >
- <File
- RelativePath="..\scripts\zone\ungoro_crater\ungoro_crater.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Temple of Ahn&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;Goro Crater"
- >
- <File
- RelativePath="..\scripts\zone\ungoro_crater\ungoro_crater.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Temple of Ahn&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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&apos;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());