Some more consistency-renaming of script-zones
--HG-- branch : trunk rename : src/server/scripts/EasternKingdoms/alterac_valley/alterac_valley.cpp => src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp rename : src/server/scripts/EasternKingdoms/alterac_valley/boss_balinda.cpp => src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp rename : src/server/scripts/EasternKingdoms/alterac_valley/boss_drekthar.cpp => src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp rename : src/server/scripts/EasternKingdoms/alterac_valley/boss_galvangar.cpp => src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp rename : src/server/scripts/EasternKingdoms/alterac_valley/boss_vanndar.cpp => src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/blackrock_depths.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/blackrock_depths.h => src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.h rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_ambassador_flamelash.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_anubshiah.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_emperor_dagran_thaurissan.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_general_angerforge.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_gorosh_the_dervish.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_grizzle.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_high_interrogator_gerstahn.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_magmus.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_moira_bronzebeard.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/boss_tomb_of_seven.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp rename : src/server/scripts/EasternKingdoms/blackrock_depths/instance_blackrock_depths.cpp => src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/blackrock_spire.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/blackrock_spire.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/blackrock_spire.h => src/server/scripts/EasternKingdoms/BlackrockSpire/blackrock_spire.h rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_drakkisath.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_gyth.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_halycon.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_highlord_omokk.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_mother_smolderweb.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_overlord_wyrmthalak.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_pyroguard_emberseer.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_quartermaster_zigris.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_rend_blackhand.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_shadow_hunter_voshgajin.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_the_beast.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/boss_warmaster_voone.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp rename : src/server/scripts/EasternKingdoms/blackrock_spire/instance_blackrock_spire.cpp => src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/boss_broodlord_lashlayer.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/boss_chromaggus.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/boss_ebonroc.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/boss_firemaw.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/boss_firemaw.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/boss_flamegor.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/boss_nefarian.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/boss_razorgore.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/boss_vaelastrasz.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/boss_victor_nefarius.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp rename : src/server/scripts/EasternKingdoms/blackwing_lair/instance_blackwing_lair.cpp => src/server/scripts/EasternKingdoms/BlackwingLair/instance_blackwing_lair.cpp rename : src/server/scripts/EasternKingdoms/deadmines/boss_mr_smite.cpp => src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp rename : src/server/scripts/EasternKingdoms/deadmines/deadmines.cpp => src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp rename : src/server/scripts/EasternKingdoms/deadmines/deadmines.h => src/server/scripts/EasternKingdoms/Deadmines/deadmines.h rename : src/server/scripts/EasternKingdoms/deadmines/instance_deadmines.cpp => src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp rename : src/server/scripts/EasternKingdoms/gnomeregan/gnomeregan.cpp => src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp rename : src/server/scripts/EasternKingdoms/gnomeregan/gnomeregan.h => src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h rename : src/server/scripts/EasternKingdoms/gnomeregan/instance_gnomeregan.cpp => src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp rename : src/server/scripts/EasternKingdoms/karazhan/boss_curator.cpp => src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp rename : src/server/scripts/EasternKingdoms/karazhan/boss_maiden_of_virtue.cpp => src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp rename : src/server/scripts/EasternKingdoms/karazhan/boss_midnight.cpp => src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp rename : src/server/scripts/EasternKingdoms/karazhan/boss_moroes.cpp => src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp rename : src/server/scripts/EasternKingdoms/karazhan/boss_netherspite.cpp => src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp rename : src/server/scripts/EasternKingdoms/karazhan/boss_nightbane.cpp => src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp rename : src/server/scripts/EasternKingdoms/karazhan/boss_prince_malchezaar.cpp => src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp rename : src/server/scripts/EasternKingdoms/karazhan/boss_shade_of_aran.cpp => src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp rename : src/server/scripts/EasternKingdoms/karazhan/boss_terestian_illhoof.cpp => src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp rename : src/server/scripts/EasternKingdoms/karazhan/bosses_opera.cpp => src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp rename : src/server/scripts/EasternKingdoms/karazhan/instance_karazhan.cpp => src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp rename : src/server/scripts/EasternKingdoms/karazhan/karazhan.cpp => src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp rename : src/server/scripts/EasternKingdoms/karazhan/karazhan.h => src/server/scripts/EasternKingdoms/Karazhan/karazhan.h rename : src/server/scripts/EasternKingdoms/magisters_terrace/boss_felblood_kaelthas.cpp => src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp rename : src/server/scripts/EasternKingdoms/magisters_terrace/boss_priestess_delrissa.cpp => src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp rename : src/server/scripts/EasternKingdoms/magisters_terrace/boss_selin_fireheart.cpp => src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp rename : src/server/scripts/EasternKingdoms/magisters_terrace/boss_vexallus.cpp => src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp rename : src/server/scripts/EasternKingdoms/magisters_terrace/instance_magisters_terrace.cpp => src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp rename : src/server/scripts/EasternKingdoms/magisters_terrace/magisters_terrace.cpp => src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp rename : src/server/scripts/EasternKingdoms/magisters_terrace/magisters_terrace.h => src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h rename : src/server/scripts/EasternKingdoms/molten_core/boss_baron_geddon.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp rename : src/server/scripts/EasternKingdoms/molten_core/boss_garr.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp rename : src/server/scripts/EasternKingdoms/molten_core/boss_gehennas.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp rename : src/server/scripts/EasternKingdoms/molten_core/boss_golemagg.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp rename : src/server/scripts/EasternKingdoms/molten_core/boss_lucifron.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp rename : src/server/scripts/EasternKingdoms/molten_core/boss_magmadar.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp rename : src/server/scripts/EasternKingdoms/molten_core/boss_majordomo_executus.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp rename : src/server/scripts/EasternKingdoms/molten_core/boss_ragnaros.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp rename : src/server/scripts/EasternKingdoms/molten_core/boss_shazzrah.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp rename : src/server/scripts/EasternKingdoms/molten_core/boss_sulfuron_harbinger.cpp => src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp rename : src/server/scripts/EasternKingdoms/molten_core/instance_molten_core.cpp => src/server/scripts/EasternKingdoms/MoltenCore/instance_molten_core.cpp rename : src/server/scripts/EasternKingdoms/molten_core/molten_core.cpp => src/server/scripts/EasternKingdoms/MoltenCore/molten_core.cpp rename : src/server/scripts/EasternKingdoms/molten_core/molten_core.h => src/server/scripts/EasternKingdoms/MoltenCore/molten_core.h rename : src/server/scripts/EasternKingdoms/scarlet_enclave/chapter1.cpp => src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp rename : src/server/scripts/EasternKingdoms/scarlet_enclave/chapter2.cpp => src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp rename : src/server/scripts/EasternKingdoms/scarlet_enclave/chapter5.cpp => src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp rename : src/server/scripts/EasternKingdoms/scarlet_enclave/the_scarlet_enclave.cpp => src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_arcanist_doan.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_azshir_the_sleepless.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_bloodmage_thalnos.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_headless_horseman.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_herod.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_houndmaster_loksey.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_interrogator_vishas.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_mograine_and_whitemane.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/boss_scorn.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/instance_scarlet_monastery.cpp => src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp rename : src/server/scripts/EasternKingdoms/scarlet_monastery/scarlet_monastery.h => src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h rename : src/server/scripts/EasternKingdoms/scholomance/boss_darkmaster_gandling.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_death_knight_darkreaver.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_doctor_theolen_krastinov.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_illucia_barov.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_instructor_malicia.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_jandice_barov.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_kormok.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_lord_alexei_barov.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_lorekeeper_polkelt.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_ras_frostwhisper.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_the_ravenian.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp rename : src/server/scripts/EasternKingdoms/scholomance/boss_vectus.cpp => src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp rename : src/server/scripts/EasternKingdoms/scholomance/instance_scholomance.cpp => src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp rename : src/server/scripts/EasternKingdoms/scholomance/scholomance.h => src/server/scripts/EasternKingdoms/Scholomance/scholomance.h rename : src/server/scripts/EasternKingdoms/shadowfang_keep/instance_shadowfang_keep.cpp => src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp rename : src/server/scripts/EasternKingdoms/shadowfang_keep/shadowfang_keep.cpp => src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp rename : src/server/scripts/EasternKingdoms/shadowfang_keep/shadowfang_keep.h => src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h rename : src/server/scripts/EasternKingdoms/stratholme/boss_baron_rivendare.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_baroness_anastari.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_cannon_master_willey.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_dathrohan_balnazzar.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_magistrate_barthilas.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_maleki_the_pallid.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_nerubenkan.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_order_of_silver_hand.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_postmaster_malown.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_ramstein_the_gorger.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp rename : src/server/scripts/EasternKingdoms/stratholme/boss_timmy_the_cruel.cpp => src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp rename : src/server/scripts/EasternKingdoms/stratholme/instance_stratholme.cpp => src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp rename : src/server/scripts/EasternKingdoms/stratholme/stratholme.cpp => src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp rename : src/server/scripts/EasternKingdoms/stratholme/stratholme.h => src/server/scripts/EasternKingdoms/Stratholme/stratholme.h rename : src/server/scripts/EasternKingdoms/sunken_temple/instance_sunken_temple.cpp => src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp rename : src/server/scripts/EasternKingdoms/sunken_temple/sunken_temple.cpp => src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp rename : src/server/scripts/EasternKingdoms/sunken_temple/sunken_temple.h => src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h rename : src/server/scripts/EasternKingdoms/sunwell_plateau/boss_brutallus.cpp => src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp rename : src/server/scripts/EasternKingdoms/sunwell_plateau/boss_eredar_twins.cpp => src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp rename : src/server/scripts/EasternKingdoms/sunwell_plateau/boss_felmyst.cpp => src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp rename : src/server/scripts/EasternKingdoms/sunwell_plateau/boss_kalecgos.cpp => src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp rename : src/server/scripts/EasternKingdoms/sunwell_plateau/boss_kiljaeden.cpp => src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp rename : src/server/scripts/EasternKingdoms/sunwell_plateau/boss_muru.cpp => src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp rename : src/server/scripts/EasternKingdoms/sunwell_plateau/instance_sunwell_plateau.cpp => src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp rename : src/server/scripts/EasternKingdoms/sunwell_plateau/sunwell_plateau.cpp => src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.cpp rename : src/server/scripts/EasternKingdoms/sunwell_plateau/sunwell_plateau.h => src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h rename : src/server/scripts/EasternKingdoms/uldaman/boss_archaedas.cpp => src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp rename : src/server/scripts/EasternKingdoms/uldaman/boss_ironaya.cpp => src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp rename : src/server/scripts/EasternKingdoms/uldaman/instance_uldaman.cpp => src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp rename : src/server/scripts/EasternKingdoms/uldaman/uldaman.cpp => src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp rename : src/server/scripts/EasternKingdoms/zulaman/boss_akilzon.cpp => src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp rename : src/server/scripts/EasternKingdoms/zulaman/boss_halazzi.cpp => src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp rename : src/server/scripts/EasternKingdoms/zulaman/boss_hexlord.cpp => src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp rename : src/server/scripts/EasternKingdoms/zulaman/boss_janalai.cpp => src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp rename : src/server/scripts/EasternKingdoms/zulaman/boss_nalorakk.cpp => src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp rename : src/server/scripts/EasternKingdoms/zulaman/boss_zuljin.cpp => src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp rename : src/server/scripts/EasternKingdoms/zulaman/instance_zulaman.cpp => src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp rename : src/server/scripts/EasternKingdoms/zulaman/zulaman.cpp => src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp rename : src/server/scripts/EasternKingdoms/zulaman/zulaman.h => src/server/scripts/EasternKingdoms/ZulAman/zulaman.h rename : src/server/scripts/EasternKingdoms/zulgurub/boss_arlokk.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_gahzranka.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_grilek.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_hakkar.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_hazzarah.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_jeklik.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_jindo.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_mandokir.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_marli.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_renataki.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_thekal.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_venoxis.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/boss_wushoolay.cpp => src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/instance_zulgurub.cpp => src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp rename : src/server/scripts/EasternKingdoms/zulgurub/zulgurub.h => src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h rename : src/server/scripts/Kalimdor/blackfathom_depths/blackfathom_deeps.cpp => src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp rename : src/server/scripts/Kalimdor/blackfathom_depths/blackfathom_deeps.h => src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h rename : src/server/scripts/Kalimdor/blackfathom_depths/boss_aku_mai.cpp => src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp rename : src/server/scripts/Kalimdor/blackfathom_depths/boss_gelihast.cpp => src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp rename : src/server/scripts/Kalimdor/blackfathom_depths/boss_kelris.cpp => src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp rename : src/server/scripts/Kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp => src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp => src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_epoch.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/culling_of_stratholme/boss_infinite.cpp => src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_infinite.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp => src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_mal_ganis.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp => src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_meathook.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp => src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_salramm.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/culling_of_stratholme/culling_of_stratholme.cpp => src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/culling_of_stratholme.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/culling_of_stratholme/culling_of_stratholme.h => src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/culling_of_stratholme.h rename : src/server/scripts/Kalimdor/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp => src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/instance_culling_of_stratholme.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp => src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/boss_aeonus.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp => src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/boss_chrono_lord_deja.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp => src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/boss_temporus.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/dark_portal/dark_portal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/dark_portal.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/dark_portal/dark_portal.h => src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/dark_portal.h rename : src/server/scripts/Kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/instance_dark_portal.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/boss_anetheron.cpp => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_anetheron.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/boss_archimonde.cpp => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_archimonde.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/boss_azgalor.cpp => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_azgalor.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/boss_kazrogal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_kazrogal.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/boss_rage_winterchill.cpp => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_rage_winterchill.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/hyjal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjal.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/hyjal.h => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjal.h rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/hyjalAI.cpp => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjalAI.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/hyjalAI.h => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjalAI.h rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/hyjal_trash.cpp => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjal_trash.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/hyjal_trash.h => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjal_trash.h rename : src/server/scripts/Kalimdor/caverns_of_time/hyjal/instance_hyjal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/hyjal/instance_hyjal.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp => src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/boss_captain_skarloc.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp => src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/boss_epoch_hunter.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp => src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/boss_leutenant_drake.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp => src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/instance_old_hillsbrad.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp => src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/old_hillsbrad.cpp rename : src/server/scripts/Kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.h => src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/old_hillsbrad.h rename : src/server/scripts/Kalimdor/maraudon/boss_celebras_the_cursed.cpp => src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp rename : src/server/scripts/Kalimdor/maraudon/boss_landslide.cpp => src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp rename : src/server/scripts/Kalimdor/maraudon/boss_noxxion.cpp => src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp rename : src/server/scripts/Kalimdor/maraudon/boss_princess_theradras.cpp => src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp rename : src/server/scripts/Kalimdor/onyxias_lair/boss_onyxia.cpp => src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp rename : src/server/scripts/Kalimdor/onyxias_lair/instance_onyxias_lair.cpp => src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp rename : src/server/scripts/Kalimdor/onyxias_lair/onyxias_lair.h => src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h rename : src/server/scripts/Kalimdor/razorfen_downs/boss_amnennar_the_coldbringer.cpp => src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp rename : src/server/scripts/Kalimdor/razorfen_downs/instance_razorfen_downs.cpp => src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp rename : src/server/scripts/Kalimdor/razorfen_downs/razorfen_downs.cpp => src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp rename : src/server/scripts/Kalimdor/razorfen_downs/razorfen_downs.h => src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h rename : src/server/scripts/Kalimdor/razorfen_kraul/instance_razorfen_kraul.cpp => src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp rename : src/server/scripts/Kalimdor/razorfen_kraul/razorfen_kraul.cpp => src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp rename : src/server/scripts/Kalimdor/razorfen_kraul/razorfen_kraul.h => src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.h rename : src/server/scripts/Kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp => src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp rename : src/server/scripts/Kalimdor/ruins_of_ahnqiraj/boss_buru.cpp => src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp rename : src/server/scripts/Kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp => src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp rename : src/server/scripts/Kalimdor/ruins_of_ahnqiraj/boss_moam.cpp => src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp rename : src/server/scripts/Kalimdor/ruins_of_ahnqiraj/boss_ossirian.cpp => src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp rename : src/server/scripts/Kalimdor/ruins_of_ahnqiraj/boss_rajaxx.cpp => src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp rename : src/server/scripts/Kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp => src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp rename : src/server/scripts/Kalimdor/ruins_of_ahnqiraj/ruins_of_ahnqiraj.h => src/server/scripts/Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/boss_bug_trio.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/boss_cthun.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/boss_fankriss.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/boss_huhuran.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/boss_ouro.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/boss_sartura.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/boss_skeram.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/boss_twinemperors.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/boss_viscidus.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp => src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp rename : src/server/scripts/Kalimdor/temple_of_ahnqiraj/temple_of_ahnqiraj.h => src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h rename : src/server/scripts/Kalimdor/wailing_caverns/instance_wailing_caverns.cpp => src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp rename : src/server/scripts/Kalimdor/wailing_caverns/wailing_caverns.cpp => src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp rename : src/server/scripts/Kalimdor/wailing_caverns/wailing_caverns.h => src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h rename : src/server/scripts/Kalimdor/zulfarrak/instance_zulfarrak.cpp => src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp rename : src/server/scripts/Kalimdor/zulfarrak/zulfarrak.cpp => src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp rename : src/server/scripts/Northrend/azjol_nerub/ahnkahet/ahnkahet.h => src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h rename : src/server/scripts/Northrend/azjol_nerub/ahnkahet/boss_amanitar.cpp => src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_amanitar.cpp rename : src/server/scripts/Northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp => src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_elder_nadox.cpp rename : src/server/scripts/Northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp => src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_herald_volazj.cpp rename : src/server/scripts/Northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp => src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp rename : src/server/scripts/Northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp => src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp rename : src/server/scripts/Northrend/azjol_nerub/ahnkahet/instance_ahnkahet.cpp => src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp rename : src/server/scripts/Northrend/azjol_nerub/azjol_nerub/azjol_nerub.h => src/server/scripts/Northrend/AzjolNerub/azjol_nerub/azjol_nerub.h rename : src/server/scripts/Northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp => src/server/scripts/Northrend/AzjolNerub/azjol_nerub/boss_anubarak.cpp rename : src/server/scripts/Northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp => src/server/scripts/Northrend/AzjolNerub/azjol_nerub/boss_hadronox.cpp rename : src/server/scripts/Northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp => src/server/scripts/Northrend/AzjolNerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp rename : src/server/scripts/Northrend/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp => src/server/scripts/Northrend/AzjolNerub/azjol_nerub/instance_azjol_nerub.cpp rename : src/server/scripts/Northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp => src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/boss_argent_challenge.cpp rename : src/server/scripts/Northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp => src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/boss_black_knight.cpp rename : src/server/scripts/Northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp => src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/boss_grand_champions.cpp rename : src/server/scripts/Northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp => src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/instance_trial_of_the_champion.cpp rename : src/server/scripts/Northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp => src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/trial_of_the_champion.cpp rename : src/server/scripts/Northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.h => src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/trial_of_the_champion.h rename : src/server/scripts/Northrend/draktharon_keep/boss_dred.cpp => src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp rename : src/server/scripts/Northrend/draktharon_keep/boss_novos.cpp => src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp rename : src/server/scripts/Northrend/draktharon_keep/boss_tharon_ja.cpp => src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp rename : src/server/scripts/Northrend/draktharon_keep/boss_trollgore.cpp => src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp rename : src/server/scripts/Northrend/draktharon_keep/drak_tharon_keep.h => src/server/scripts/Northrend/DraktharonKeep/drak_tharon_keep.h rename : src/server/scripts/Northrend/draktharon_keep/instance_drak_tharon_keep.cpp => src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp rename : src/server/scripts/Northrend/frozen_halls/forge_of_souls/boss_bronjahm.cpp => src/server/scripts/Northrend/FrozenHalls/forge_of_souls/boss_bronjahm.cpp rename : src/server/scripts/Northrend/frozen_halls/forge_of_souls/boss_devourer_of_souls.cpp => src/server/scripts/Northrend/FrozenHalls/forge_of_souls/boss_devourer_of_souls.cpp rename : src/server/scripts/Northrend/frozen_halls/forge_of_souls/forge_of_souls.cpp => src/server/scripts/Northrend/FrozenHalls/forge_of_souls/forge_of_souls.cpp rename : src/server/scripts/Northrend/frozen_halls/forge_of_souls/forge_of_souls.h => src/server/scripts/Northrend/FrozenHalls/forge_of_souls/forge_of_souls.h rename : src/server/scripts/Northrend/frozen_halls/forge_of_souls/instance_forge_of_souls.cpp => src/server/scripts/Northrend/FrozenHalls/forge_of_souls/instance_forge_of_souls.cpp rename : src/server/scripts/Northrend/frozen_halls/halls_of_reflection/boss_falric.cpp => src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/boss_falric.cpp rename : src/server/scripts/Northrend/frozen_halls/halls_of_reflection/boss_marwyn.cpp => src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/boss_marwyn.cpp rename : src/server/scripts/Northrend/frozen_halls/halls_of_reflection/halls_of_reflection.cpp => src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/halls_of_reflection.cpp rename : src/server/scripts/Northrend/frozen_halls/halls_of_reflection/halls_of_reflection.h => src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/halls_of_reflection.h rename : src/server/scripts/Northrend/frozen_halls/halls_of_reflection/instance_halls_of_reflection.cpp => src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/instance_halls_of_reflection.cpp rename : src/server/scripts/Northrend/frozen_halls/pit_of_saron/boss_forgemaster_garfrost.cpp => src/server/scripts/Northrend/FrozenHalls/pit_of_saron/boss_forgemaster_garfrost.cpp rename : src/server/scripts/Northrend/frozen_halls/pit_of_saron/boss_krickandick.cpp => src/server/scripts/Northrend/FrozenHalls/pit_of_saron/boss_krickandick.cpp rename : src/server/scripts/Northrend/frozen_halls/pit_of_saron/boss_scourgelord_tyrannus.cpp => src/server/scripts/Northrend/FrozenHalls/pit_of_saron/boss_scourgelord_tyrannus.cpp rename : src/server/scripts/Northrend/frozen_halls/pit_of_saron/instance_pit_of_saron.cpp => src/server/scripts/Northrend/FrozenHalls/pit_of_saron/instance_pit_of_saron.cpp rename : src/server/scripts/Northrend/frozen_halls/pit_of_saron/pit_of_saron.cpp => src/server/scripts/Northrend/FrozenHalls/pit_of_saron/pit_of_saron.cpp rename : src/server/scripts/Northrend/frozen_halls/pit_of_saron/pit_of_saron.h => src/server/scripts/Northrend/FrozenHalls/pit_of_saron/pit_of_saron.h rename : src/server/scripts/Northrend/gundrak/boss_drakkari_colossus.cpp => src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp rename : src/server/scripts/Northrend/gundrak/boss_eck.cpp => src/server/scripts/Northrend/Gundrak/boss_eck.cpp rename : src/server/scripts/Northrend/gundrak/boss_gal_darah.cpp => src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp rename : src/server/scripts/Northrend/gundrak/boss_moorabi.cpp => src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp rename : src/server/scripts/Northrend/gundrak/boss_slad_ran.cpp => src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp rename : src/server/scripts/Northrend/gundrak/gundrak.h => src/server/scripts/Northrend/Gundrak/gundrak.h rename : src/server/scripts/Northrend/gundrak/instance_gundrak.cpp => src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp rename : src/server/scripts/Northrend/naxxramas/boss_anubrekhan.cpp => src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp rename : src/server/scripts/Northrend/naxxramas/boss_faerlina.cpp => src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp rename : src/server/scripts/Northrend/naxxramas/boss_four_horsemen.cpp => src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp rename : src/server/scripts/Northrend/naxxramas/boss_gluth.cpp => src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp rename : src/server/scripts/Northrend/naxxramas/boss_gothik.cpp => src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp rename : src/server/scripts/Northrend/naxxramas/boss_grobbulus.cpp => src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp rename : src/server/scripts/Northrend/naxxramas/boss_heigan.cpp => src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp rename : src/server/scripts/Northrend/naxxramas/boss_highlord_mograine.cpp => src/server/scripts/Northrend/Naxxramas/boss_highlord_mograine.cpp rename : src/server/scripts/Northrend/naxxramas/boss_kelthuzad.cpp => src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp rename : src/server/scripts/Northrend/naxxramas/boss_loatheb.cpp => src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp rename : src/server/scripts/Northrend/naxxramas/boss_maexxna.cpp => src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp rename : src/server/scripts/Northrend/naxxramas/boss_noth.cpp => src/server/scripts/Northrend/Naxxramas/boss_noth.cpp rename : src/server/scripts/Northrend/naxxramas/boss_patchwerk.cpp => src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp rename : src/server/scripts/Northrend/naxxramas/boss_razuvious.cpp => src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp rename : src/server/scripts/Northrend/naxxramas/boss_sapphiron.cpp => src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp rename : src/server/scripts/Northrend/naxxramas/boss_thaddius.cpp => src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp rename : src/server/scripts/Northrend/naxxramas/instance_naxxramas.cpp => src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp rename : src/server/scripts/Northrend/naxxramas/naxxramas.h => src/server/scripts/Northrend/Naxxramas/naxxramas.h rename : src/server/scripts/Northrend/obsidian_sanctum/boss_sartharion.cpp => src/server/scripts/Northrend/ObsidianSanctum/boss_sartharion.cpp rename : src/server/scripts/Northrend/obsidian_sanctum/instance_obsidian_sanctum.cpp => src/server/scripts/Northrend/ObsidianSanctum/instance_obsidian_sanctum.cpp rename : src/server/scripts/Northrend/obsidian_sanctum/obsidian_sanctum.h => src/server/scripts/Northrend/ObsidianSanctum/obsidian_sanctum.h rename : src/server/scripts/Northrend/nexus/eye_of_eternity/boss_malygos.cpp => src/server/scripts/Northrend/TheNexus/eye_of_eternity/boss_malygos.cpp rename : src/server/scripts/Northrend/nexus/eye_of_eternity/eye_of_eternity.h => src/server/scripts/Northrend/TheNexus/eye_of_eternity/eye_of_eternity.h rename : src/server/scripts/Northrend/nexus/eye_of_eternity/instance_eye_of_eternity.cpp => src/server/scripts/Northrend/TheNexus/eye_of_eternity/instance_eye_of_eternity.cpp rename : src/server/scripts/Northrend/nexus/nexus/boss_anomalus.cpp => src/server/scripts/Northrend/TheNexus/nexus/boss_anomalus.cpp rename : src/server/scripts/Northrend/nexus/nexus/boss_keristrasza.cpp => src/server/scripts/Northrend/TheNexus/nexus/boss_keristrasza.cpp rename : src/server/scripts/Northrend/nexus/nexus/boss_magus_telestra.cpp => src/server/scripts/Northrend/TheNexus/nexus/boss_magus_telestra.cpp rename : src/server/scripts/Northrend/nexus/nexus/boss_ormorok.cpp => src/server/scripts/Northrend/TheNexus/nexus/boss_ormorok.cpp rename : src/server/scripts/Northrend/nexus/nexus/commander_kolurg.cpp => src/server/scripts/Northrend/TheNexus/nexus/commander_kolurg.cpp rename : src/server/scripts/Northrend/nexus/nexus/commander_stoutbeard.cpp => src/server/scripts/Northrend/TheNexus/nexus/commander_stoutbeard.cpp rename : src/server/scripts/Northrend/nexus/nexus/instance_nexus.cpp => src/server/scripts/Northrend/TheNexus/nexus/instance_nexus.cpp rename : src/server/scripts/Northrend/nexus/nexus/nexus.h => src/server/scripts/Northrend/TheNexus/nexus/nexus.h rename : src/server/scripts/Northrend/nexus/oculus/boss_drakos.cpp => src/server/scripts/Northrend/TheNexus/oculus/boss_drakos.cpp rename : src/server/scripts/Northrend/nexus/oculus/boss_eregos.cpp => src/server/scripts/Northrend/TheNexus/oculus/boss_eregos.cpp rename : src/server/scripts/Northrend/nexus/oculus/boss_urom.cpp => src/server/scripts/Northrend/TheNexus/oculus/boss_urom.cpp rename : src/server/scripts/Northrend/nexus/oculus/boss_varos.cpp => src/server/scripts/Northrend/TheNexus/oculus/boss_varos.cpp rename : src/server/scripts/Northrend/nexus/oculus/instance_oculus.cpp => src/server/scripts/Northrend/TheNexus/oculus/instance_oculus.cpp rename : src/server/scripts/Northrend/nexus/oculus/oculus.cpp => src/server/scripts/Northrend/TheNexus/oculus/oculus.cpp rename : src/server/scripts/Northrend/nexus/oculus/oculus.h => src/server/scripts/Northrend/TheNexus/oculus/oculus.h rename : src/server/scripts/Northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp => src/server/scripts/Northrend/Ulduar/halls_of_lightning/boss_bjarngrim.cpp rename : src/server/scripts/Northrend/ulduar/halls_of_lightning/boss_ionar.cpp => src/server/scripts/Northrend/Ulduar/halls_of_lightning/boss_ionar.cpp rename : src/server/scripts/Northrend/ulduar/halls_of_lightning/boss_loken.cpp => src/server/scripts/Northrend/Ulduar/halls_of_lightning/boss_loken.cpp rename : src/server/scripts/Northrend/ulduar/halls_of_lightning/boss_volkhan.cpp => src/server/scripts/Northrend/Ulduar/halls_of_lightning/boss_volkhan.cpp rename : src/server/scripts/Northrend/ulduar/halls_of_lightning/halls_of_lightning.h => src/server/scripts/Northrend/Ulduar/halls_of_lightning/halls_of_lightning.h rename : src/server/scripts/Northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp => src/server/scripts/Northrend/Ulduar/halls_of_lightning/instance_halls_of_lightning.cpp rename : src/server/scripts/Northrend/ulduar/halls_of_stone/boss_krystallus.cpp => src/server/scripts/Northrend/Ulduar/halls_of_stone/boss_krystallus.cpp rename : src/server/scripts/Northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp => src/server/scripts/Northrend/Ulduar/halls_of_stone/boss_maiden_of_grief.cpp rename : src/server/scripts/Northrend/ulduar/halls_of_stone/boss_sjonnir.cpp => src/server/scripts/Northrend/Ulduar/halls_of_stone/boss_sjonnir.cpp rename : src/server/scripts/Northrend/ulduar/halls_of_stone/halls_of_stone.cpp => src/server/scripts/Northrend/Ulduar/halls_of_stone/halls_of_stone.cpp rename : src/server/scripts/Northrend/ulduar/halls_of_stone/halls_of_stone.h => src/server/scripts/Northrend/Ulduar/halls_of_stone/halls_of_stone.h rename : src/server/scripts/Northrend/ulduar/halls_of_stone/instance_halls_of_stone.cpp => src/server/scripts/Northrend/Ulduar/halls_of_stone/instance_halls_of_stone.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_algalon.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_algalon.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_assembly_of_iron.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_auriaya.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_auriaya.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_flame_leviathan.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_freya.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_freya.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_general_vezax.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_general_vezax.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_hodir.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_hodir.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_ignis.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_ignis.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_kologarn.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_kologarn.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_mimiron.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_mimiron.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_razorscale.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_razorscale.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_thorim.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_thorim.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_xt002.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_xt002.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/boss_yoggsaron.cpp => src/server/scripts/Northrend/Ulduar/ulduar/boss_yoggsaron.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/instance_ulduar.cpp => src/server/scripts/Northrend/Ulduar/ulduar/instance_ulduar.cpp rename : src/server/scripts/Northrend/ulduar/ulduar/ulduar.h => src/server/scripts/Northrend/Ulduar/ulduar/ulduar.h rename : src/server/scripts/Northrend/ulduar/ulduar/ulduar_teleporter.cpp => src/server/scripts/Northrend/Ulduar/ulduar/ulduar_teleporter.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/boss_ingvar_the_plunderer.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/boss_keleseth.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/boss_skarvald_dalronn.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/instance_utgarde_keep.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_keep/utgarde_keep.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/utgarde_keep.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_keep/utgarde_keep.h => src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/utgarde_keep.h rename : src/server/scripts/Northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/boss_palehoof.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/boss_skadi.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/boss_svala.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/boss_ymiron.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp => src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/instance_pinnacle.cpp rename : src/server/scripts/Northrend/utgarde_keep/utgarde_pinnacle/utgarde_pinnacle.h => src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/utgarde_pinnacle.h rename : src/server/scripts/Northrend/vault_of_archavon/boss_archavon.cpp => src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp rename : src/server/scripts/Northrend/vault_of_archavon/boss_emalon.cpp => src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp rename : src/server/scripts/Northrend/vault_of_archavon/boss_koralon.cpp => src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp rename : src/server/scripts/Northrend/vault_of_archavon/boss_toravon.cpp => src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp rename : src/server/scripts/Northrend/vault_of_archavon/instance_vault_of_archavon.cpp => src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp rename : src/server/scripts/Northrend/vault_of_archavon/vault_of_archavon.h => src/server/scripts/Northrend/VaultOfArchavon/vault_of_archavon.h rename : src/server/scripts/Northrend/violet_hold/boss_cyanigosa.cpp => src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp rename : src/server/scripts/Northrend/violet_hold/boss_erekem.cpp => src/server/scripts/Northrend/VioletHold/boss_erekem.cpp rename : src/server/scripts/Northrend/violet_hold/boss_ichoron.cpp => src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp rename : src/server/scripts/Northrend/violet_hold/boss_lavanthor.cpp => src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp rename : src/server/scripts/Northrend/violet_hold/boss_moragg.cpp => src/server/scripts/Northrend/VioletHold/boss_moragg.cpp rename : src/server/scripts/Northrend/violet_hold/boss_xevozz.cpp => src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp rename : src/server/scripts/Northrend/violet_hold/boss_zuramat.cpp => src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp rename : src/server/scripts/Northrend/violet_hold/instance_violet_hold.cpp => src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp rename : src/server/scripts/Northrend/violet_hold/violet_hold.cpp => src/server/scripts/Northrend/VioletHold/violet_hold.cpp rename : src/server/scripts/Northrend/violet_hold/violet_hold.h => src/server/scripts/Northrend/VioletHold/violet_hold.h rename : src/server/scripts/Outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp => src/server/scripts/Outland/Auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp rename : src/server/scripts/Outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp => src/server/scripts/Outland/Auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp rename : src/server/scripts/Outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp => src/server/scripts/Outland/Auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp rename : src/server/scripts/Outland/auchindoun/mana_tombs/boss_pandemonius.cpp => src/server/scripts/Outland/Auchindoun/mana_tombs/boss_pandemonius.cpp rename : src/server/scripts/Outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp => src/server/scripts/Outland/Auchindoun/sethekk_halls/boss_darkweaver_syth.cpp rename : src/server/scripts/Outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp => src/server/scripts/Outland/Auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp rename : src/server/scripts/Outland/auchindoun/sethekk_halls/instance_sethekk_halls.cpp => src/server/scripts/Outland/Auchindoun/sethekk_halls/instance_sethekk_halls.cpp rename : src/server/scripts/Outland/auchindoun/sethekk_halls/sethekk_halls.h => src/server/scripts/Outland/Auchindoun/sethekk_halls/sethekk_halls.h rename : src/server/scripts/Outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp => src/server/scripts/Outland/Auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp rename : src/server/scripts/Outland/auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp => src/server/scripts/Outland/Auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp rename : src/server/scripts/Outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp => src/server/scripts/Outland/Auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp rename : src/server/scripts/Outland/auchindoun/shadow_labyrinth/boss_murmur.cpp => src/server/scripts/Outland/Auchindoun/shadow_labyrinth/boss_murmur.cpp rename : src/server/scripts/Outland/auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp => src/server/scripts/Outland/Auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp rename : src/server/scripts/Outland/auchindoun/shadow_labyrinth/shadow_labyrinth.h => src/server/scripts/Outland/Auchindoun/shadow_labyrinth/shadow_labyrinth.h rename : src/server/scripts/Outland/black_temple/black_temple.cpp => src/server/scripts/Outland/BlackTemple/black_temple.cpp rename : src/server/scripts/Outland/black_temple/black_temple.h => src/server/scripts/Outland/BlackTemple/black_temple.h rename : src/server/scripts/Outland/black_temple/boss_bloodboil.cpp => src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp rename : src/server/scripts/Outland/black_temple/boss_illidan.cpp => src/server/scripts/Outland/BlackTemple/boss_illidan.cpp rename : src/server/scripts/Outland/black_temple/boss_mother_shahraz.cpp => src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp rename : src/server/scripts/Outland/black_temple/boss_reliquary_of_souls.cpp => src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp rename : src/server/scripts/Outland/black_temple/boss_shade_of_akama.cpp => src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp rename : src/server/scripts/Outland/black_temple/boss_supremus.cpp => src/server/scripts/Outland/BlackTemple/boss_supremus.cpp rename : src/server/scripts/Outland/black_temple/boss_teron_gorefiend.cpp => src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp rename : src/server/scripts/Outland/black_temple/boss_warlord_najentus.cpp => src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp rename : src/server/scripts/Outland/black_temple/illidari_council.cpp => src/server/scripts/Outland/BlackTemple/illidari_council.cpp rename : src/server/scripts/Outland/black_temple/instance_black_temple.cpp => src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp rename : src/server/scripts/Outland/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp => src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_fathomlord_karathress.cpp rename : src/server/scripts/Outland/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp => src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_hydross_the_unstable.cpp rename : src/server/scripts/Outland/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp => src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_lady_vashj.cpp rename : src/server/scripts/Outland/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp => src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_leotheras_the_blind.cpp rename : src/server/scripts/Outland/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp => src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_lurker_below.cpp rename : src/server/scripts/Outland/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp => src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_morogrim_tidewalker.cpp rename : src/server/scripts/Outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp => src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/instance_serpent_shrine.cpp rename : src/server/scripts/Outland/coilfang_resevoir/serpent_shrine/serpent_shrine.h => src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/serpent_shrine.h rename : src/server/scripts/Outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp => src/server/scripts/Outland/CoilfangReservoir/steam_vault/boss_hydromancer_thespia.cpp rename : src/server/scripts/Outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp => src/server/scripts/Outland/CoilfangReservoir/steam_vault/boss_mekgineer_steamrigger.cpp rename : src/server/scripts/Outland/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp => src/server/scripts/Outland/CoilfangReservoir/steam_vault/boss_warlord_kalithresh.cpp rename : src/server/scripts/Outland/coilfang_resevoir/steam_vault/instance_steam_vault.cpp => src/server/scripts/Outland/CoilfangReservoir/steam_vault/instance_steam_vault.cpp rename : src/server/scripts/Outland/coilfang_resevoir/steam_vault/steam_vault.h => src/server/scripts/Outland/CoilfangReservoir/steam_vault/steam_vault.h rename : src/server/scripts/Outland/coilfang_resevoir/underbog/boss_hungarfen.cpp => src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp rename : src/server/scripts/Outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp => src/server/scripts/Outland/CoilfangReservoir/underbog/boss_the_black_stalker.cpp rename : src/server/scripts/Outland/gruuls_lair/boss_gruul.cpp => src/server/scripts/Outland/GruulsLair/boss_gruul.cpp rename : src/server/scripts/Outland/gruuls_lair/boss_high_king_maulgar.cpp => src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp rename : src/server/scripts/Outland/gruuls_lair/gruuls_lair.h => src/server/scripts/Outland/GruulsLair/gruuls_lair.h rename : src/server/scripts/Outland/gruuls_lair/instance_gruuls_lair.cpp => src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp rename : src/server/scripts/Outland/hellfire_citadel/blood_furnace/blood_furnace.h => src/server/scripts/Outland/HellfireCitadel/blood_furnace/blood_furnace.h rename : src/server/scripts/Outland/hellfire_citadel/blood_furnace/boss_broggok.cpp => src/server/scripts/Outland/HellfireCitadel/blood_furnace/boss_broggok.cpp rename : src/server/scripts/Outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp => src/server/scripts/Outland/HellfireCitadel/blood_furnace/boss_kelidan_the_breaker.cpp rename : src/server/scripts/Outland/hellfire_citadel/blood_furnace/boss_the_maker.cpp => src/server/scripts/Outland/HellfireCitadel/blood_furnace/boss_the_maker.cpp rename : src/server/scripts/Outland/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp => src/server/scripts/Outland/HellfireCitadel/blood_furnace/instance_blood_furnace.cpp rename : src/server/scripts/Outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp => src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/boss_omor_the_unscarred.cpp rename : src/server/scripts/Outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp => src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/boss_vazruden_the_herald.cpp rename : src/server/scripts/Outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp => src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp rename : src/server/scripts/Outland/hellfire_citadel/hellfire_ramparts/hellfire_ramparts.h => src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/hellfire_ramparts.h rename : src/server/scripts/Outland/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp => src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/instance_hellfire_ramparts.cpp rename : src/server/scripts/Outland/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp => src/server/scripts/Outland/HellfireCitadel/magtheridons_lair/boss_magtheridon.cpp rename : src/server/scripts/Outland/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp => src/server/scripts/Outland/HellfireCitadel/magtheridons_lair/instance_magtheridons_lair.cpp rename : src/server/scripts/Outland/hellfire_citadel/magtheridons_lair/magtheridons_lair.h => src/server/scripts/Outland/HellfireCitadel/magtheridons_lair/magtheridons_lair.h rename : src/server/scripts/Outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp => src/server/scripts/Outland/HellfireCitadel/shattered_halls/boss_nethekurse.cpp rename : src/server/scripts/Outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp => src/server/scripts/Outland/HellfireCitadel/shattered_halls/boss_warbringer_omrogg.cpp rename : src/server/scripts/Outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp => src/server/scripts/Outland/HellfireCitadel/shattered_halls/boss_warchief_kargath_bladefist.cpp rename : src/server/scripts/Outland/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp => src/server/scripts/Outland/HellfireCitadel/shattered_halls/instance_shattered_halls.cpp rename : src/server/scripts/Outland/hellfire_citadel/shattered_halls/shattered_halls.h => src/server/scripts/Outland/HellfireCitadel/shattered_halls/shattered_halls.h rename : src/server/scripts/Outland/tempest_keep/arcatraz/arcatraz.cpp => src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp rename : src/server/scripts/Outland/tempest_keep/arcatraz/arcatraz.h => src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h rename : src/server/scripts/Outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp => src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp rename : src/server/scripts/Outland/tempest_keep/arcatraz/instance_arcatraz.cpp => src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp rename : src/server/scripts/Outland/tempest_keep/botanica/boss_high_botanist_freywinn.cpp => src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp rename : src/server/scripts/Outland/tempest_keep/botanica/boss_laj.cpp => src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp rename : src/server/scripts/Outland/tempest_keep/botanica/boss_warp_splinter.cpp => src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp rename : src/server/scripts/Outland/tempest_keep/the_eye/boss_alar.cpp => src/server/scripts/Outland/TempestKeep/the_eye/boss_alar.cpp rename : src/server/scripts/Outland/tempest_keep/the_eye/boss_astromancer.cpp => src/server/scripts/Outland/TempestKeep/the_eye/boss_astromancer.cpp rename : src/server/scripts/Outland/tempest_keep/the_eye/boss_kaelthas.cpp => src/server/scripts/Outland/TempestKeep/the_eye/boss_kaelthas.cpp rename : src/server/scripts/Outland/tempest_keep/the_eye/boss_void_reaver.cpp => src/server/scripts/Outland/TempestKeep/the_eye/boss_void_reaver.cpp rename : src/server/scripts/Outland/tempest_keep/the_eye/instance_the_eye.cpp => src/server/scripts/Outland/TempestKeep/the_eye/instance_the_eye.cpp rename : src/server/scripts/Outland/tempest_keep/the_eye/the_eye.cpp => src/server/scripts/Outland/TempestKeep/the_eye/the_eye.cpp rename : src/server/scripts/Outland/tempest_keep/the_eye/the_eye.h => src/server/scripts/Outland/TempestKeep/the_eye/the_eye.h rename : src/server/scripts/Outland/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp => src/server/scripts/Outland/TempestKeep/the_mechanar/boss_gatewatcher_gyrokill.cpp rename : src/server/scripts/Outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp => src/server/scripts/Outland/TempestKeep/the_mechanar/boss_gatewatcher_ironhand.cpp rename : src/server/scripts/Outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp => src/server/scripts/Outland/TempestKeep/the_mechanar/boss_nethermancer_sepethrea.cpp rename : src/server/scripts/Outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp => src/server/scripts/Outland/TempestKeep/the_mechanar/boss_pathaleon_the_calculator.cpp rename : src/server/scripts/Outland/tempest_keep/the_mechanar/instance_mechanar.cpp => src/server/scripts/Outland/TempestKeep/the_mechanar/instance_mechanar.cpp rename : src/server/scripts/Outland/tempest_keep/the_mechanar/mechanar.h => src/server/scripts/Outland/TempestKeep/the_mechanar/mechanar.h
This commit is contained in:
@@ -0,0 +1,278 @@
|
||||
/* 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: Boss_Arlokk
|
||||
SD%Complete: 95
|
||||
SDComment: Wrong cleave and red aura is missing.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
bool GOHello_go_gong_of_bethekk(Player* /*pPlayer*/, GameObject* pGo)
|
||||
{
|
||||
if (ScriptedInstance* m_pInstance = pGo->GetInstanceData())
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_ARLOKK) == DONE || m_pInstance->GetData(TYPE_ARLOKK) == IN_PROGRESS)
|
||||
return true;
|
||||
|
||||
m_pInstance->SetData(TYPE_ARLOKK, IN_PROGRESS);
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
enum eEnums
|
||||
{
|
||||
SAY_AGGRO = -1309011,
|
||||
SAY_FEAST_PANTHER = -1309012,
|
||||
SAY_DEATH = -1309013,
|
||||
|
||||
SPELL_SHADOWWORDPAIN = 23952,
|
||||
SPELL_GOUGE = 24698,
|
||||
SPELL_MARK = 24210,
|
||||
SPELL_CLEAVE = 26350, //Perhaps not right. Not a red aura...
|
||||
SPELL_PANTHER_TRANSFORM = 24190,
|
||||
|
||||
MODEL_ID_NORMAL = 15218,
|
||||
MODEL_ID_PANTHER = 15215,
|
||||
MODEL_ID_BLANK = 11686,
|
||||
|
||||
NPC_ZULIAN_PROWLER = 15101
|
||||
};
|
||||
|
||||
struct boss_arlokkAI : public ScriptedAI
|
||||
{
|
||||
boss_arlokkAI(Creature* pCreature) : ScriptedAI(pCreature)
|
||||
{
|
||||
m_pInstance = pCreature->GetInstanceData();
|
||||
}
|
||||
|
||||
ScriptedInstance* m_pInstance;
|
||||
|
||||
uint32 m_uiShadowWordPain_Timer;
|
||||
uint32 m_uiGouge_Timer;
|
||||
uint32 m_uiMark_Timer;
|
||||
uint32 m_uiCleave_Timer;
|
||||
uint32 m_uiVanish_Timer;
|
||||
uint32 m_uiVisible_Timer;
|
||||
|
||||
uint32 m_uiSummon_Timer;
|
||||
uint32 m_uiSummonCount;
|
||||
|
||||
Unit* m_pMarkedTarget;
|
||||
uint64 MarkedTargetGUID;
|
||||
|
||||
bool m_bIsPhaseTwo;
|
||||
bool m_bIsVanished;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
m_uiShadowWordPain_Timer = 8000;
|
||||
m_uiGouge_Timer = 14000;
|
||||
m_uiMark_Timer = 35000;
|
||||
m_uiCleave_Timer = 4000;
|
||||
m_uiVanish_Timer = 60000;
|
||||
m_uiVisible_Timer = 6000;
|
||||
|
||||
m_uiSummon_Timer = 5000;
|
||||
m_uiSummonCount = 0;
|
||||
|
||||
m_bIsPhaseTwo = false;
|
||||
m_bIsVanished = false;
|
||||
|
||||
MarkedTargetGUID = 0;
|
||||
|
||||
me->SetDisplayId(MODEL_ID_NORMAL);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*pWho*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
{
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_ARLOKK, NOT_STARTED);
|
||||
|
||||
//we should be summoned, so despawn
|
||||
me->ForcedDespawn();
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*pKiller*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
|
||||
me->SetDisplayId(MODEL_ID_NORMAL);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_ARLOKK, DONE);
|
||||
}
|
||||
|
||||
void DoSummonPhanters()
|
||||
{
|
||||
if (Unit *pMarkedTarget = Unit::GetUnit(*me, MarkedTargetGUID))
|
||||
DoScriptText(SAY_FEAST_PANTHER, me, pMarkedTarget);
|
||||
|
||||
me->SummonCreature(NPC_ZULIAN_PROWLER, -11532.7998, -1649.6734, 41.4800, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
me->SummonCreature(NPC_ZULIAN_PROWLER, -11532.9970, -1606.4840, 41.2979, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* pSummoned)
|
||||
{
|
||||
if (Unit *pMarkedTarget = Unit::GetUnit(*me, MarkedTargetGUID))
|
||||
pSummoned->AI()->AttackStart(pMarkedTarget);
|
||||
|
||||
++m_uiSummonCount;
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (!m_bIsPhaseTwo)
|
||||
{
|
||||
if (m_uiShadowWordPain_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SHADOWWORDPAIN);
|
||||
m_uiShadowWordPain_Timer = 15000;
|
||||
}
|
||||
else
|
||||
m_uiShadowWordPain_Timer -= uiDiff;
|
||||
|
||||
if (m_uiMark_Timer <= uiDiff)
|
||||
{
|
||||
Unit *pMarkedTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
|
||||
if (pMarkedTarget)
|
||||
{
|
||||
DoCast(pMarkedTarget, SPELL_MARK);
|
||||
MarkedTargetGUID = pMarkedTarget->GetGUID();
|
||||
}
|
||||
else
|
||||
error_log("TSCR: boss_arlokk could not accuire pMarkedTarget.");
|
||||
|
||||
m_uiMark_Timer = 15000;
|
||||
}
|
||||
else
|
||||
m_uiMark_Timer -= uiDiff;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Cleave_Timer
|
||||
if (m_uiCleave_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CLEAVE);
|
||||
m_uiCleave_Timer = 16000;
|
||||
}
|
||||
else
|
||||
m_uiCleave_Timer -= uiDiff;
|
||||
|
||||
//Gouge_Timer
|
||||
if (m_uiGouge_Timer <= uiDiff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_GOUGE);
|
||||
|
||||
DoModifyThreatPercent(me->getVictim(),-80);
|
||||
|
||||
m_uiGouge_Timer = 17000+rand()%10000;
|
||||
}
|
||||
else
|
||||
m_uiGouge_Timer -= uiDiff;
|
||||
}
|
||||
|
||||
if (m_uiSummonCount <= 30)
|
||||
{
|
||||
if (m_uiSummon_Timer <= uiDiff)
|
||||
{
|
||||
DoSummonPhanters();
|
||||
m_uiSummon_Timer = 5000;
|
||||
}
|
||||
else
|
||||
m_uiSummon_Timer -= uiDiff;
|
||||
}
|
||||
|
||||
if (m_uiVanish_Timer <= uiDiff)
|
||||
{
|
||||
//Invisble Model
|
||||
me->SetDisplayId(MODEL_ID_BLANK);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
me->AttackStop();
|
||||
DoResetThreat();
|
||||
|
||||
m_bIsVanished = true;
|
||||
|
||||
m_uiVanish_Timer = 45000;
|
||||
m_uiVisible_Timer = 6000;
|
||||
}
|
||||
else
|
||||
m_uiVanish_Timer -= uiDiff;
|
||||
|
||||
if (m_bIsVanished)
|
||||
{
|
||||
if (m_uiVisible_Timer <= uiDiff)
|
||||
{
|
||||
//The Panther Model
|
||||
me->SetDisplayId(MODEL_ID_PANTHER);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
const CreatureInfo *cinfo = me->GetCreatureInfo();
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35)));
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
|
||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||
|
||||
if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
AttackStart(pTarget);
|
||||
|
||||
m_bIsPhaseTwo = true;
|
||||
m_bIsVanished = false;
|
||||
}
|
||||
else
|
||||
m_uiVisible_Timer -= uiDiff;
|
||||
}
|
||||
else
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_arlokk(Creature* pCreature)
|
||||
{
|
||||
return new boss_arlokkAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_arlokk()
|
||||
{
|
||||
Script *newscript;
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "go_gong_of_bethekk";
|
||||
newscript->pGOHello = &GOHello_go_gong_of_bethekk;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_arlokk";
|
||||
newscript->GetAI = &GetAI_boss_arlokk;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
/* 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: Boss_Gahz'ranka
|
||||
SD%Complete: 85
|
||||
SDComment: Massive Geyser with knockback not working. Spell buggy.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_FROSTBREATH 16099
|
||||
#define SPELL_MASSIVEGEYSER 22421 //Not working. Cause its a summon...
|
||||
#define SPELL_SLAM 24326
|
||||
|
||||
struct boss_gahzrankaAI : public ScriptedAI
|
||||
{
|
||||
boss_gahzrankaAI(Creature *c) : ScriptedAI(c) {}
|
||||
uint32 Frostbreath_Timer;
|
||||
uint32 MassiveGeyser_Timer;
|
||||
uint32 Slam_Timer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
Frostbreath_Timer = 8000;
|
||||
MassiveGeyser_Timer = 25000;
|
||||
Slam_Timer = 17000;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//Frostbreath_Timer
|
||||
if (Frostbreath_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_FROSTBREATH);
|
||||
Frostbreath_Timer = 7000 + rand()%4000;
|
||||
} else Frostbreath_Timer -= diff;
|
||||
|
||||
//MassiveGeyser_Timer
|
||||
if (MassiveGeyser_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_MASSIVEGEYSER);
|
||||
DoResetThreat();
|
||||
|
||||
MassiveGeyser_Timer = 22000 + rand()%10000;
|
||||
} else MassiveGeyser_Timer -= diff;
|
||||
|
||||
//Slam_Timer
|
||||
if (Slam_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SLAM);
|
||||
Slam_Timer = 12000 + rand()%8000;
|
||||
} else Slam_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
CreatureAI* GetAI_boss_gahzranka(Creature* pCreature)
|
||||
{
|
||||
return new boss_gahzrankaAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_gahzranka()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_gahzranka";
|
||||
newscript->GetAI = &GetAI_boss_gahzranka;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
/* 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: Boss_Grilek
|
||||
SD%Complete: 100
|
||||
SDComment:
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SPELL_AVARTAR 24646 //The Enrage Spell
|
||||
#define SPELL_GROUNDTREMOR 6524
|
||||
|
||||
struct boss_grilekAI : public ScriptedAI
|
||||
{
|
||||
boss_grilekAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
uint32 Avartar_Timer;
|
||||
uint32 GroundTremor_Timer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
Avartar_Timer = 15000 + rand()%10000;
|
||||
GroundTremor_Timer = 8000 + rand()%8000;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//Avartar_Timer
|
||||
if (Avartar_Timer <= diff)
|
||||
{
|
||||
|
||||
DoCast(me, SPELL_AVARTAR);
|
||||
Unit *pTarget = NULL;
|
||||
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,1);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-50);
|
||||
if (pTarget)
|
||||
AttackStart(pTarget);
|
||||
|
||||
Avartar_Timer = 25000 + rand()%10000;
|
||||
} else Avartar_Timer -= diff;
|
||||
|
||||
//GroundTremor_Timer
|
||||
if (GroundTremor_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_GROUNDTREMOR);
|
||||
GroundTremor_Timer = 12000 + rand()%4000;
|
||||
} else GroundTremor_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
CreatureAI* GetAI_boss_grilek(Creature* pCreature)
|
||||
{
|
||||
return new boss_grilekAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_grilek()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_grilek";
|
||||
newscript->GetAI = &GetAI_boss_grilek;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,250 @@
|
||||
/* 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: Boss_Hakkar
|
||||
SD%Complete: 95
|
||||
SDComment: Blood siphon spell buggy cause of Core Issue.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SAY_AGGRO -1309020
|
||||
#define SAY_FLEEING -1309021
|
||||
#define SAY_MINION_DESTROY -1309022 //where does it belong?
|
||||
#define SAY_PROTECT_ALTAR -1309023 //where does it belong?
|
||||
|
||||
#define SPELL_BLOODSIPHON 24322
|
||||
#define SPELL_CORRUPTEDBLOOD 24328
|
||||
#define SPELL_CAUSEINSANITY 24327 //Not working disabled.
|
||||
#define SPELL_WILLOFHAKKAR 24178
|
||||
#define SPELL_ENRAGE 24318
|
||||
|
||||
// The Aspects of all High Priests
|
||||
#define SPELL_ASPECT_OF_JEKLIK 24687
|
||||
#define SPELL_ASPECT_OF_VENOXIS 24688
|
||||
#define SPELL_ASPECT_OF_MARLI 24686
|
||||
#define SPELL_ASPECT_OF_THEKAL 24689
|
||||
#define SPELL_ASPECT_OF_ARLOKK 24690
|
||||
|
||||
struct boss_hakkarAI : public ScriptedAI
|
||||
{
|
||||
boss_hakkarAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
ScriptedInstance *m_pInstance;
|
||||
|
||||
uint32 BloodSiphon_Timer;
|
||||
uint32 CorruptedBlood_Timer;
|
||||
uint32 CauseInsanity_Timer;
|
||||
uint32 WillOfHakkar_Timer;
|
||||
uint32 Enrage_Timer;
|
||||
|
||||
uint32 CheckJeklik_Timer;
|
||||
uint32 CheckVenoxis_Timer;
|
||||
uint32 CheckMarli_Timer;
|
||||
uint32 CheckThekal_Timer;
|
||||
uint32 CheckArlokk_Timer;
|
||||
|
||||
uint32 AspectOfJeklik_Timer;
|
||||
uint32 AspectOfVenoxis_Timer;
|
||||
uint32 AspectOfMarli_Timer;
|
||||
uint32 AspectOfThekal_Timer;
|
||||
uint32 AspectOfArlokk_Timer;
|
||||
|
||||
bool Enraged;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
BloodSiphon_Timer = 90000;
|
||||
CorruptedBlood_Timer = 25000;
|
||||
CauseInsanity_Timer = 17000;
|
||||
WillOfHakkar_Timer = 17000;
|
||||
Enrage_Timer = 600000;
|
||||
|
||||
CheckJeklik_Timer = 1000;
|
||||
CheckVenoxis_Timer = 2000;
|
||||
CheckMarli_Timer = 3000;
|
||||
CheckThekal_Timer = 4000;
|
||||
CheckArlokk_Timer = 5000;
|
||||
|
||||
AspectOfJeklik_Timer = 4000;
|
||||
AspectOfVenoxis_Timer = 7000;
|
||||
AspectOfMarli_Timer = 12000;
|
||||
AspectOfThekal_Timer = 8000;
|
||||
AspectOfArlokk_Timer = 18000;
|
||||
|
||||
Enraged = false;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//BloodSiphon_Timer
|
||||
if (BloodSiphon_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_BLOODSIPHON);
|
||||
BloodSiphon_Timer = 90000;
|
||||
} else BloodSiphon_Timer -= diff;
|
||||
|
||||
//CorruptedBlood_Timer
|
||||
if (CorruptedBlood_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CORRUPTEDBLOOD);
|
||||
CorruptedBlood_Timer = 30000 + rand()%15000;
|
||||
} else CorruptedBlood_Timer -= diff;
|
||||
|
||||
//CauseInsanity_Timer
|
||||
/*if (CauseInsanity_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget, SPELL_CAUSEINSANITY);
|
||||
|
||||
CauseInsanity_Timer = 35000 + rand()%8000;
|
||||
} else CauseInsanity_Timer -= diff;*/
|
||||
|
||||
//WillOfHakkar_Timer
|
||||
if (WillOfHakkar_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget, SPELL_WILLOFHAKKAR);
|
||||
|
||||
WillOfHakkar_Timer = 25000 + rand()%10000;
|
||||
} else WillOfHakkar_Timer -= diff;
|
||||
|
||||
if (!Enraged && Enrage_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_ENRAGE);
|
||||
Enraged = true;
|
||||
} else Enrage_Timer -= diff;
|
||||
|
||||
//Checking if Jeklik is dead. If not we cast her Aspect
|
||||
if (CheckJeklik_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_JEKLIK) != DONE)
|
||||
{
|
||||
if (AspectOfJeklik_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_ASPECT_OF_JEKLIK);
|
||||
AspectOfJeklik_Timer = 10000 + rand()%4000;
|
||||
} else AspectOfJeklik_Timer -= diff;
|
||||
}
|
||||
}
|
||||
CheckJeklik_Timer = 1000;
|
||||
} else CheckJeklik_Timer -= diff;
|
||||
|
||||
//Checking if Venoxis is dead. If not we cast his Aspect
|
||||
if (CheckVenoxis_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_VENOXIS) != DONE)
|
||||
{
|
||||
if (AspectOfVenoxis_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_ASPECT_OF_VENOXIS);
|
||||
AspectOfVenoxis_Timer = 8000;
|
||||
} else AspectOfVenoxis_Timer -= diff;
|
||||
}
|
||||
}
|
||||
CheckVenoxis_Timer = 1000;
|
||||
} else CheckVenoxis_Timer -= diff;
|
||||
|
||||
//Checking if Marli is dead. If not we cast her Aspect
|
||||
if (CheckMarli_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_MARLI) != DONE)
|
||||
{
|
||||
if (AspectOfMarli_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_ASPECT_OF_MARLI);
|
||||
AspectOfMarli_Timer = 10000;
|
||||
} else AspectOfMarli_Timer -= diff;
|
||||
|
||||
}
|
||||
}
|
||||
CheckMarli_Timer = 1000;
|
||||
} else CheckMarli_Timer -= diff;
|
||||
|
||||
//Checking if Thekal is dead. If not we cast his Aspect
|
||||
if (CheckThekal_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_THEKAL) != DONE)
|
||||
{
|
||||
if (AspectOfThekal_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_ASPECT_OF_THEKAL);
|
||||
AspectOfThekal_Timer = 15000;
|
||||
} else AspectOfThekal_Timer -= diff;
|
||||
}
|
||||
}
|
||||
CheckThekal_Timer = 1000;
|
||||
} else CheckThekal_Timer -= diff;
|
||||
|
||||
//Checking if Arlokk is dead. If yes we cast her Aspect
|
||||
if (CheckArlokk_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_ARLOKK) != DONE)
|
||||
{
|
||||
if (AspectOfArlokk_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_ASPECT_OF_ARLOKK);
|
||||
DoResetThreat();
|
||||
|
||||
AspectOfArlokk_Timer = 10000 + rand()%5000;
|
||||
} else AspectOfArlokk_Timer -= diff;
|
||||
}
|
||||
}
|
||||
CheckArlokk_Timer = 1000;
|
||||
} else CheckArlokk_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_hakkar(Creature* pCreature)
|
||||
{
|
||||
return new boss_hakkarAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_hakkar()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_hakkar";
|
||||
newscript->GetAI = &GetAI_boss_hakkar;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
/* 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: Boss_Hazzarah
|
||||
SD%Complete: 100
|
||||
SDComment:
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SPELL_MANABURN 26046
|
||||
#define SPELL_SLEEP 24664
|
||||
|
||||
struct boss_hazzarahAI : public ScriptedAI
|
||||
{
|
||||
boss_hazzarahAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
uint32 ManaBurn_Timer;
|
||||
uint32 Sleep_Timer;
|
||||
uint32 Illusions_Timer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
ManaBurn_Timer = 4000 + rand()%6000;
|
||||
Sleep_Timer = 10000 + rand()%8000;
|
||||
Illusions_Timer = 10000 + rand()%8000;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//ManaBurn_Timer
|
||||
if (ManaBurn_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_MANABURN);
|
||||
ManaBurn_Timer = 8000 + rand()%8000;
|
||||
} else ManaBurn_Timer -= diff;
|
||||
|
||||
//Sleep_Timer
|
||||
if (Sleep_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SLEEP);
|
||||
Sleep_Timer = 12000 + rand()%8000;
|
||||
} else Sleep_Timer -= diff;
|
||||
|
||||
//Illusions_Timer
|
||||
if (Illusions_Timer <= diff)
|
||||
{
|
||||
//We will summon 3 illusions that will spawn on a random gamer and attack this gamer
|
||||
//We will just use one model for the beginning
|
||||
Unit *pTarget = NULL;
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
{
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (!pTarget)
|
||||
return;
|
||||
|
||||
Creature *Illusion = me->SummonCreature(15163,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,30000);
|
||||
if (Illusion)
|
||||
Illusion->AI()->AttackStart(pTarget);
|
||||
}
|
||||
|
||||
Illusions_Timer = 15000 + rand()%10000;
|
||||
} else Illusions_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
CreatureAI* GetAI_boss_hazzarah(Creature* pCreature)
|
||||
{
|
||||
return new boss_hazzarahAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_hazzarah()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_hazzarah";
|
||||
newscript->GetAI = &GetAI_boss_hazzarah;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,291 @@
|
||||
/* 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: Boss_Jeklik
|
||||
SD%Complete: 85
|
||||
SDComment: Problem in finding the right flying batriders for spawning and making them fly.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SAY_AGGRO -1309002
|
||||
#define SAY_RAIN_FIRE -1309003
|
||||
#define SAY_DEATH -1309004
|
||||
|
||||
#define SPELL_CHARGE 22911
|
||||
#define SPELL_SONICBURST 23918
|
||||
#define SPELL_SCREECH 6605
|
||||
#define SPELL_SHADOW_WORD_PAIN 23952
|
||||
#define SPELL_MIND_FLAY 23953
|
||||
#define SPELL_CHAIN_MIND_FLAY 26044 //Right ID unknown. So disabled
|
||||
#define SPELL_GREATERHEAL 23954
|
||||
#define SPELL_BAT_FORM 23966
|
||||
|
||||
// Batriders Spell
|
||||
|
||||
#define SPELL_BOMB 40332 //Wrong ID but Magmadars bomb is not working...
|
||||
|
||||
struct boss_jeklikAI : public ScriptedAI
|
||||
{
|
||||
boss_jeklikAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
ScriptedInstance *m_pInstance;
|
||||
|
||||
uint32 Charge_Timer;
|
||||
uint32 SonicBurst_Timer;
|
||||
uint32 Screech_Timer;
|
||||
uint32 SpawnBats_Timer;
|
||||
uint32 ShadowWordPain_Timer;
|
||||
uint32 MindFlay_Timer;
|
||||
uint32 ChainMindFlay_Timer;
|
||||
uint32 GreaterHeal_Timer;
|
||||
uint32 SpawnFlyingBats_Timer;
|
||||
|
||||
bool PhaseTwo;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
Charge_Timer = 20000;
|
||||
SonicBurst_Timer = 8000;
|
||||
Screech_Timer = 13000;
|
||||
SpawnBats_Timer = 60000;
|
||||
ShadowWordPain_Timer = 6000;
|
||||
MindFlay_Timer = 11000;
|
||||
ChainMindFlay_Timer = 26000;
|
||||
GreaterHeal_Timer = 50000;
|
||||
SpawnFlyingBats_Timer = 10000;
|
||||
|
||||
PhaseTwo = false;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
DoCast(me, SPELL_BAT_FORM);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_JEKLIK, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (me->getVictim() && me->isAlive())
|
||||
{
|
||||
if ((me->GetHealth()*100 / me->GetMaxHealth() > 50))
|
||||
{
|
||||
if (Charge_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
{
|
||||
DoCast(pTarget, SPELL_CHARGE);
|
||||
AttackStart(pTarget);
|
||||
}
|
||||
|
||||
Charge_Timer = 15000 + rand()%15000;
|
||||
} else Charge_Timer -= diff;
|
||||
|
||||
if (SonicBurst_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SONICBURST);
|
||||
SonicBurst_Timer = 8000 + rand()%5000;
|
||||
} else SonicBurst_Timer -= diff;
|
||||
|
||||
if (Screech_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SCREECH);
|
||||
Screech_Timer = 18000 + rand()%8000;
|
||||
} else Screech_Timer -= diff;
|
||||
|
||||
if (SpawnBats_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
|
||||
Creature* Bat = NULL;
|
||||
Bat = me->SummonCreature(11368,-12291.6220,-1380.2640,144.8304,5.483, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
Bat = me->SummonCreature(11368,-12289.6220,-1380.2640,144.8304,5.483, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
Bat = me->SummonCreature(11368,-12293.6220,-1380.2640,144.8304,5.483, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
Bat = me->SummonCreature(11368,-12291.6220,-1380.2640,144.8304,5.483, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
Bat = me->SummonCreature(11368,-12289.6220,-1380.2640,144.8304,5.483, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
Bat = me->SummonCreature(11368,-12293.6220,-1380.2640,144.8304,5.483, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (pTarget && Bat) Bat ->AI()->AttackStart(pTarget);
|
||||
|
||||
SpawnBats_Timer = 60000;
|
||||
} else SpawnBats_Timer -= diff;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (PhaseTwo)
|
||||
{
|
||||
if (PhaseTwo && ShadowWordPain_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
{
|
||||
DoCast(pTarget, SPELL_SHADOW_WORD_PAIN);
|
||||
ShadowWordPain_Timer = 12000 + rand()%6000;
|
||||
}
|
||||
}ShadowWordPain_Timer -=diff;
|
||||
|
||||
if (MindFlay_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_MIND_FLAY);
|
||||
MindFlay_Timer = 16000;
|
||||
}MindFlay_Timer -=diff;
|
||||
|
||||
if (ChainMindFlay_Timer <= diff)
|
||||
{
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
DoCast(me->getVictim(), SPELL_CHAIN_MIND_FLAY);
|
||||
ChainMindFlay_Timer = 15000 + rand()%15000;
|
||||
}ChainMindFlay_Timer -=diff;
|
||||
|
||||
if (GreaterHeal_Timer <= diff)
|
||||
{
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
DoCast(me, SPELL_GREATERHEAL);
|
||||
GreaterHeal_Timer = 25000 + rand()%10000;
|
||||
}GreaterHeal_Timer -=diff;
|
||||
|
||||
if (SpawnFlyingBats_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0);
|
||||
if (!pTarget)
|
||||
return;
|
||||
|
||||
Creature* FlyingBat = me->SummonCreature(14965, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ()+15, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (FlyingBat)
|
||||
FlyingBat->AI()->AttackStart(pTarget);
|
||||
|
||||
SpawnFlyingBats_Timer = 10000 + rand()%5000;
|
||||
} else SpawnFlyingBats_Timer -=diff;
|
||||
}
|
||||
else
|
||||
{
|
||||
me->SetDisplayId(15219);
|
||||
DoResetThreat();
|
||||
PhaseTwo = true;
|
||||
}
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//Flying Bat
|
||||
struct mob_batriderAI : public ScriptedAI
|
||||
{
|
||||
mob_batriderAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
ScriptedInstance *m_pInstance;
|
||||
|
||||
uint32 Bomb_Timer;
|
||||
uint32 Check_Timer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
Bomb_Timer = 2000;
|
||||
Check_Timer = 1000;
|
||||
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/) {}
|
||||
|
||||
void UpdateAI (const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//Bomb_Timer
|
||||
if (Bomb_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
|
||||
{
|
||||
DoCast(pTarget, SPELL_BOMB);
|
||||
Bomb_Timer = 5000;
|
||||
}
|
||||
} else Bomb_Timer -= diff;
|
||||
|
||||
//Check_Timer
|
||||
if (Check_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_JEKLIK) == DONE)
|
||||
{
|
||||
me->setDeathState(JUST_DIED);
|
||||
me->RemoveCorpse();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Check_Timer = 1000;
|
||||
} else Check_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_jeklik(Creature* pCreature)
|
||||
{
|
||||
return new boss_jeklikAI (pCreature);
|
||||
}
|
||||
|
||||
CreatureAI* GetAI_mob_batrider(Creature* pCreature)
|
||||
{
|
||||
return new mob_batriderAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_jeklik()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_jeklik";
|
||||
newscript->GetAI = &GetAI_boss_jeklik;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "mob_batrider";
|
||||
newscript->GetAI = &GetAI_mob_batrider;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,263 @@
|
||||
/* 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: Boss_Jin'do the Hexxer
|
||||
SD%Complete: 85
|
||||
SDComment: Mind Control not working because of core bug. Shades visible for all.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SAY_AGGRO -1309014
|
||||
|
||||
#define SPELL_BRAINWASHTOTEM 24262
|
||||
#define SPELL_POWERFULLHEALINGWARD 24309 //We will not use this spell. We will summon a totem by script cause the spell totems will not cast.
|
||||
#define SPELL_HEX 24053
|
||||
#define SPELL_DELUSIONSOFJINDO 24306
|
||||
#define SPELL_SHADEOFJINDO 24308 //We will not use this spell. We will summon a shade by script.
|
||||
|
||||
//Healing Ward Spell
|
||||
#define SPELL_HEAL 38588 //Totems are not working right. Right heal spell ID is 24311 but this spell is not casting...
|
||||
|
||||
//Shade of Jindo Spell
|
||||
#define SPELL_SHADOWSHOCK 19460
|
||||
#define SPELL_INVISIBLE 24699
|
||||
|
||||
struct boss_jindoAI : public ScriptedAI
|
||||
{
|
||||
boss_jindoAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
uint32 BrainWashTotem_Timer;
|
||||
uint32 HealingWard_Timer;
|
||||
uint32 Hex_Timer;
|
||||
uint32 Delusions_Timer;
|
||||
uint32 Teleport_Timer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
BrainWashTotem_Timer = 20000;
|
||||
HealingWard_Timer = 16000;
|
||||
Hex_Timer = 8000;
|
||||
Delusions_Timer = 10000;
|
||||
Teleport_Timer = 5000;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//BrainWashTotem_Timer
|
||||
if (BrainWashTotem_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_BRAINWASHTOTEM);
|
||||
BrainWashTotem_Timer = 18000 + rand()%8000;
|
||||
} else BrainWashTotem_Timer -= diff;
|
||||
|
||||
//HealingWard_Timer
|
||||
if (HealingWard_Timer <= diff)
|
||||
{
|
||||
//DoCast(me, SPELL_POWERFULLHEALINGWARD);
|
||||
me->SummonCreature(14987, me->GetPositionX()+3, me->GetPositionY()-2, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,30000);
|
||||
HealingWard_Timer = 14000 + rand()%6000;
|
||||
} else HealingWard_Timer -= diff;
|
||||
|
||||
//Hex_Timer
|
||||
if (Hex_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_HEX);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-80);
|
||||
|
||||
Hex_Timer = 12000 + rand()%8000;
|
||||
} else Hex_Timer -= diff;
|
||||
|
||||
//Casting the delusion curse with a shade. So shade will attack the same target with the curse.
|
||||
if (Delusions_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
{
|
||||
DoCast(pTarget, SPELL_DELUSIONSOFJINDO);
|
||||
|
||||
Creature *Shade = me->SummonCreature(14986, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Shade)
|
||||
Shade->AI()->AttackStart(pTarget);
|
||||
}
|
||||
|
||||
Delusions_Timer = 4000 + rand()%8000;
|
||||
} else Delusions_Timer -= diff;
|
||||
|
||||
//Teleporting a random gamer and spawning 9 skeletons that will attack this gamer
|
||||
if (Teleport_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget && pTarget->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
DoTeleportPlayer(pTarget, -11583.7783,-1249.4278,77.5471,4.745);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(pTarget,-100);
|
||||
|
||||
Creature *Skeletons;
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX()+2, pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Skeletons)
|
||||
Skeletons->AI()->AttackStart(pTarget);
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX()-2, pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Skeletons)
|
||||
Skeletons->AI()->AttackStart(pTarget);
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX()+4, pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Skeletons)
|
||||
Skeletons->AI()->AttackStart(pTarget);
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX()-4, pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Skeletons)
|
||||
Skeletons->AI()->AttackStart(pTarget);
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX(), pTarget->GetPositionY()+2, pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Skeletons)
|
||||
Skeletons->AI()->AttackStart(pTarget);
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX(), pTarget->GetPositionY()-2, pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Skeletons)
|
||||
Skeletons->AI()->AttackStart(pTarget);
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX(), pTarget->GetPositionY()+4, pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Skeletons)
|
||||
Skeletons->AI()->AttackStart(pTarget);
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX(), pTarget->GetPositionY()-4, pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Skeletons)
|
||||
Skeletons->AI()->AttackStart(pTarget);
|
||||
Skeletons = me->SummonCreature(14826, pTarget->GetPositionX()+3, pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Skeletons)
|
||||
Skeletons->AI()->AttackStart(pTarget);
|
||||
}
|
||||
|
||||
Teleport_Timer = 15000 + rand()%8000;
|
||||
} else Teleport_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
//Healing Ward
|
||||
struct mob_healing_wardAI : public ScriptedAI
|
||||
{
|
||||
mob_healing_wardAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
uint32 Heal_Timer;
|
||||
|
||||
ScriptedInstance *pInstance;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
Heal_Timer = 2000;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI (const uint32 diff)
|
||||
{
|
||||
//Heal_Timer
|
||||
if (Heal_Timer <= diff)
|
||||
{
|
||||
if (pInstance)
|
||||
{
|
||||
Unit *pJindo = Unit::GetUnit((*me), pInstance->GetData64(DATA_JINDO));
|
||||
if (pJindo)
|
||||
DoCast(pJindo, SPELL_HEAL);
|
||||
}
|
||||
Heal_Timer = 3000;
|
||||
} else Heal_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
//Shade of Jindo
|
||||
struct mob_shade_of_jindoAI : public ScriptedAI
|
||||
{
|
||||
mob_shade_of_jindoAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
uint32 ShadowShock_Timer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
ShadowShock_Timer = 1000;
|
||||
DoCast(me, SPELL_INVISIBLE, true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/){}
|
||||
|
||||
void UpdateAI (const uint32 diff)
|
||||
{
|
||||
|
||||
//ShadowShock_Timer
|
||||
if (ShadowShock_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SHADOWSHOCK);
|
||||
ShadowShock_Timer = 2000;
|
||||
} else ShadowShock_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_jindo(Creature* pCreature)
|
||||
{
|
||||
return new boss_jindoAI (pCreature);
|
||||
}
|
||||
|
||||
CreatureAI* GetAI_mob_healing_ward(Creature* pCreature)
|
||||
{
|
||||
return new mob_healing_wardAI (pCreature);
|
||||
}
|
||||
|
||||
CreatureAI* GetAI_mob_shade_of_jindo(Creature* pCreature)
|
||||
{
|
||||
return new mob_shade_of_jindoAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_jindo()
|
||||
{
|
||||
Script *newscript;
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_jindo";
|
||||
newscript->GetAI = &GetAI_boss_jindo;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "mob_healing_ward";
|
||||
newscript->GetAI = &GetAI_mob_healing_ward;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "mob_shade_of_jindo";
|
||||
newscript->GetAI = &GetAI_mob_shade_of_jindo;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,333 @@
|
||||
/* 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: Boss_Mandokir
|
||||
SD%Complete: 90
|
||||
SDComment: Ohgan function needs improvements.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SAY_AGGRO -1309015
|
||||
#define SAY_DING_KILL -1309016
|
||||
#define SAY_GRATS_JINDO -1309017
|
||||
#define SAY_WATCH -1309018
|
||||
#define SAY_WATCH_WHISPER -1309019 //is this text for real? easter egg?
|
||||
|
||||
#define SPELL_CHARGE 24315
|
||||
#define SPELL_CLEAVE 20691
|
||||
#define SPELL_FEAR 29321
|
||||
#define SPELL_WHIRLWIND 24236
|
||||
#define SPELL_MORTAL_STRIKE 24573
|
||||
#define SPELL_ENRAGE 23537
|
||||
#define SPELL_WATCH 24314
|
||||
#define SPELL_LEVEL_UP 24312
|
||||
|
||||
//Ohgans Spells
|
||||
#define SPELL_SUNDERARMOR 24317
|
||||
|
||||
struct boss_mandokirAI : public ScriptedAI
|
||||
{
|
||||
boss_mandokirAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
uint32 KillCount;
|
||||
uint32 Watch_Timer;
|
||||
uint32 TargetInRange;
|
||||
uint32 Cleave_Timer;
|
||||
uint32 Whirlwind_Timer;
|
||||
uint32 Fear_Timer;
|
||||
uint32 MortalStrike_Timer;
|
||||
uint32 Check_Timer;
|
||||
float targetX;
|
||||
float targetY;
|
||||
float targetZ;
|
||||
|
||||
ScriptedInstance *m_pInstance;
|
||||
|
||||
bool endWatch;
|
||||
bool someWatched;
|
||||
bool RaptorDead;
|
||||
bool CombatStart;
|
||||
|
||||
uint64 WatchTarget;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
KillCount = 0;
|
||||
Watch_Timer = 33000;
|
||||
Cleave_Timer = 7000;
|
||||
Whirlwind_Timer = 20000;
|
||||
Fear_Timer = 1000;
|
||||
MortalStrike_Timer = 1000;
|
||||
Check_Timer = 1000;
|
||||
|
||||
targetX = 0.0;
|
||||
targetY = 0.0;
|
||||
targetZ = 0.0;
|
||||
TargetInRange = 0;
|
||||
|
||||
WatchTarget = 0;
|
||||
|
||||
someWatched = false;
|
||||
endWatch = false;
|
||||
RaptorDead = false;
|
||||
CombatStart = false;
|
||||
|
||||
DoCast(me, 23243);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
++KillCount;
|
||||
|
||||
if (KillCount == 3)
|
||||
{
|
||||
DoScriptText(SAY_DING_KILL, me);
|
||||
|
||||
if (m_pInstance)
|
||||
{
|
||||
uint64 JindoGUID = m_pInstance->GetData64(DATA_JINDO);
|
||||
if (JindoGUID)
|
||||
{
|
||||
if (Unit* jTemp = Unit::GetUnit(*me,JindoGUID))
|
||||
{
|
||||
if (jTemp->isAlive())
|
||||
DoScriptText(SAY_GRATS_JINDO, jTemp);
|
||||
}
|
||||
}
|
||||
}
|
||||
DoCast(me, SPELL_LEVEL_UP, true);
|
||||
KillCount = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (me->getVictim() && me->isAlive())
|
||||
{
|
||||
if (!CombatStart)
|
||||
{
|
||||
//At combat Start Mandokir is mounted so we must unmount it first
|
||||
me->Unmount();
|
||||
|
||||
//And summon his raptor
|
||||
me->SummonCreature(14988, me->getVictim()->GetPositionX(), me->getVictim()->GetPositionY(), me->getVictim()->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 35000);
|
||||
CombatStart = true;
|
||||
}
|
||||
|
||||
if (Watch_Timer <= diff) //Every 20 Sec Mandokir will check this
|
||||
{
|
||||
if (WatchTarget) //If someone is watched and If the Position of the watched target is different from the one stored, or are attacking, mandokir will charge him
|
||||
{
|
||||
Unit* pUnit = Unit::GetUnit(*me, WatchTarget);
|
||||
|
||||
if (pUnit && (
|
||||
targetX != pUnit->GetPositionX() ||
|
||||
targetY != pUnit->GetPositionY() ||
|
||||
targetZ != pUnit->GetPositionZ() ||
|
||||
pUnit->isInCombat()))
|
||||
{
|
||||
if (me->IsWithinMeleeRange(pUnit))
|
||||
{
|
||||
DoCast(pUnit, 24316);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoCast(pUnit, SPELL_CHARGE);
|
||||
//me->SendMonsterMove(pUnit->GetPositionX(), pUnit->GetPositionY(), pUnit->GetPositionZ(), 0, true,1);
|
||||
AttackStart(pUnit);
|
||||
}
|
||||
}
|
||||
}
|
||||
someWatched = false;
|
||||
Watch_Timer = 20000;
|
||||
} else Watch_Timer -= diff;
|
||||
|
||||
if ((Watch_Timer < 8000) && !someWatched) //8 sec(cast time + expire time) before the check for the watch effect mandokir will cast watch debuff on a random target
|
||||
{
|
||||
if (Unit* p = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
{
|
||||
DoScriptText(SAY_WATCH, me, p);
|
||||
DoCast(p, SPELL_WATCH);
|
||||
WatchTarget = p->GetGUID();
|
||||
someWatched = true;
|
||||
endWatch = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ((Watch_Timer < 1000) && endWatch) //1 sec before the debuf expire, store the target position
|
||||
{
|
||||
Unit* pUnit = Unit::GetUnit(*me, WatchTarget);
|
||||
if (pUnit)
|
||||
{
|
||||
targetX = pUnit->GetPositionX();
|
||||
targetY = pUnit->GetPositionY();
|
||||
targetZ = pUnit->GetPositionZ();
|
||||
}
|
||||
endWatch = false;
|
||||
}
|
||||
|
||||
if (!someWatched)
|
||||
{
|
||||
//Cleave
|
||||
if (Cleave_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_CLEAVE);
|
||||
Cleave_Timer = 7000;
|
||||
} else Cleave_Timer -= diff;
|
||||
|
||||
//Whirlwind
|
||||
if (Whirlwind_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_WHIRLWIND);
|
||||
Whirlwind_Timer = 18000;
|
||||
} else Whirlwind_Timer -= diff;
|
||||
|
||||
//If more then 3 targets in melee range mandokir will cast fear
|
||||
if (Fear_Timer <= diff)
|
||||
{
|
||||
TargetInRange = 0;
|
||||
|
||||
std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
|
||||
for (; i != me->getThreatManager().getThreatList().end(); ++i)
|
||||
{
|
||||
Unit* pUnit = Unit::GetUnit(*me, (*i)->getUnitGuid());
|
||||
if (pUnit && me->IsWithinMeleeRange(pUnit))
|
||||
++TargetInRange;
|
||||
}
|
||||
|
||||
if (TargetInRange > 3)
|
||||
DoCast(me->getVictim(), SPELL_FEAR);
|
||||
|
||||
Fear_Timer = 4000;
|
||||
} else Fear_Timer -=diff;
|
||||
|
||||
//Mortal Strike if target below 50% hp
|
||||
if (me->getVictim() && me->getVictim()->GetHealth() < me->getVictim()->GetMaxHealth()*0.5)
|
||||
{
|
||||
if (MortalStrike_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_MORTAL_STRIKE);
|
||||
MortalStrike_Timer = 15000;
|
||||
} else MortalStrike_Timer -= diff;
|
||||
}
|
||||
}
|
||||
//Checking if Ohgan is dead. If yes Mandokir will enrage.
|
||||
if (Check_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_OHGAN) == DONE)
|
||||
{
|
||||
if (!RaptorDead)
|
||||
{
|
||||
DoCast(me, SPELL_ENRAGE);
|
||||
RaptorDead = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Check_Timer = 1000;
|
||||
} else Check_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//Ohgan
|
||||
struct mob_ohganAI : public ScriptedAI
|
||||
{
|
||||
mob_ohganAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
uint32 SunderArmor_Timer;
|
||||
ScriptedInstance *m_pInstance;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
SunderArmor_Timer = 5000;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/) {}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
{
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_OHGAN, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI (const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//SunderArmor_Timer
|
||||
if (SunderArmor_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SUNDERARMOR);
|
||||
SunderArmor_Timer = 10000 + rand()%5000;
|
||||
} else SunderArmor_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_mandokir(Creature* pCreature)
|
||||
{
|
||||
return new boss_mandokirAI (pCreature);
|
||||
}
|
||||
|
||||
CreatureAI* GetAI_mob_ohgan(Creature* pCreature)
|
||||
{
|
||||
return new mob_ohganAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_mandokir()
|
||||
{
|
||||
Script *newscript;
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_mandokir";
|
||||
newscript->GetAI = &GetAI_boss_mandokir;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "mob_ohgan";
|
||||
newscript->GetAI = &GetAI_mob_ohgan;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,261 @@
|
||||
/* 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: Boss_Marli
|
||||
SD%Complete: 80
|
||||
SDComment: Charging healers and casters not working. Perhaps wrong Spell Timers.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SAY_AGGRO -1309005
|
||||
#define SAY_TRANSFORM -1309006
|
||||
#define SAY_SPIDER_SPAWN -1309007
|
||||
#define SAY_DEATH -1309008
|
||||
|
||||
#define SPELL_CHARGE 22911
|
||||
#define SPELL_ASPECT_OF_MARLI 24686 // A stun spell
|
||||
#define SPELL_ENVOLWINGWEB 24110
|
||||
#define SPELL_POISONVOLLEY 24099
|
||||
#define SPELL_SPIDER_FORM 24084
|
||||
|
||||
//The Spider Spells
|
||||
#define SPELL_LEVELUP 24312 //Not right Spell.
|
||||
|
||||
struct boss_marliAI : public ScriptedAI
|
||||
{
|
||||
boss_marliAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
ScriptedInstance *m_pInstance;
|
||||
|
||||
uint32 SpawnStartSpiders_Timer;
|
||||
uint32 PoisonVolley_Timer;
|
||||
uint32 SpawnSpider_Timer;
|
||||
uint32 Charge_Timer;
|
||||
uint32 Aspect_Timer;
|
||||
uint32 Transform_Timer;
|
||||
uint32 TransformBack_Timer;
|
||||
|
||||
bool Spawned;
|
||||
bool PhaseTwo;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
SpawnStartSpiders_Timer = 1000;
|
||||
PoisonVolley_Timer = 15000;
|
||||
SpawnSpider_Timer = 30000;
|
||||
Charge_Timer = 1500;
|
||||
Aspect_Timer = 12000;
|
||||
Transform_Timer = 45000;
|
||||
TransformBack_Timer = 25000;
|
||||
|
||||
Spawned = false;
|
||||
PhaseTwo = false;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_MARLI, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (me->getVictim() && me->isAlive())
|
||||
{
|
||||
if (PoisonVolley_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_POISONVOLLEY);
|
||||
PoisonVolley_Timer = 10000 + rand()%10000;
|
||||
} else PoisonVolley_Timer -= diff;
|
||||
|
||||
if (!PhaseTwo && Aspect_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_ASPECT_OF_MARLI);
|
||||
Aspect_Timer = 13000 + rand()%5000;
|
||||
} else Aspect_Timer -= diff;
|
||||
|
||||
if (!Spawned && SpawnStartSpiders_Timer <= diff)
|
||||
{
|
||||
DoScriptText(SAY_SPIDER_SPAWN, me);
|
||||
|
||||
Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (!pTarget)
|
||||
return;
|
||||
|
||||
Creature *Spider = NULL;
|
||||
|
||||
Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
|
||||
Spawned = true;
|
||||
} else SpawnStartSpiders_Timer -= diff;
|
||||
|
||||
if (SpawnSpider_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (!pTarget)
|
||||
return;
|
||||
|
||||
Creature *Spider = me->SummonCreature(15041,pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
if (Spider)
|
||||
Spider->AI()->AttackStart(pTarget);
|
||||
SpawnSpider_Timer = 12000 + rand()%5000;
|
||||
} else SpawnSpider_Timer -= diff;
|
||||
|
||||
if (!PhaseTwo && Transform_Timer <= diff)
|
||||
{
|
||||
DoScriptText(SAY_TRANSFORM, me);
|
||||
DoCast(me, SPELL_SPIDER_FORM);
|
||||
const CreatureInfo *cinfo = me->GetCreatureInfo();
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35)));
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
|
||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||
DoCast(me->getVictim(), SPELL_ENVOLWINGWEB);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-100);
|
||||
|
||||
PhaseTwo = true;
|
||||
Transform_Timer = urand(35000,60000);
|
||||
} else Transform_Timer -= diff;
|
||||
|
||||
if (PhaseTwo)
|
||||
{
|
||||
if (Charge_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
int i = 0;
|
||||
while (i < 3) // max 3 tries to get a random target with power_mana
|
||||
{
|
||||
++i;
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,1, 100, true); // not aggro leader
|
||||
if (pTarget && pTarget->getPowerType() == POWER_MANA)
|
||||
i = 3;
|
||||
}
|
||||
if (pTarget)
|
||||
{
|
||||
DoCast(pTarget, SPELL_CHARGE);
|
||||
//me->GetMap()->CreatureRelocation(me, pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0);
|
||||
//me->SendMonsterMove(pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ(), 0, true,1);
|
||||
AttackStart(pTarget);
|
||||
}
|
||||
|
||||
Charge_Timer = 8000;
|
||||
} else Charge_Timer -= diff;
|
||||
|
||||
if (TransformBack_Timer <= diff)
|
||||
{
|
||||
me->SetDisplayId(15220);
|
||||
const CreatureInfo *cinfo = me->GetCreatureInfo();
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 1)));
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 1)));
|
||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||
|
||||
PhaseTwo = false;
|
||||
TransformBack_Timer = urand(25000,40000);
|
||||
} else TransformBack_Timer -= diff;
|
||||
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//Spawn of Marli
|
||||
struct mob_spawn_of_marliAI : public ScriptedAI
|
||||
{
|
||||
mob_spawn_of_marliAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
uint32 LevelUp_Timer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
LevelUp_Timer = 3000;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI (const uint32 diff)
|
||||
{
|
||||
//Return since we have no target
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//LevelUp_Timer
|
||||
if (LevelUp_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_LEVELUP);
|
||||
LevelUp_Timer = 3000;
|
||||
} else LevelUp_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_marli(Creature* pCreature)
|
||||
{
|
||||
return new boss_marliAI (pCreature);
|
||||
}
|
||||
|
||||
CreatureAI* GetAI_mob_spawn_of_marli(Creature* pCreature)
|
||||
{
|
||||
return new mob_spawn_of_marliAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_marli()
|
||||
{
|
||||
Script *newscript;
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_marli";
|
||||
newscript->GetAI = &GetAI_boss_marli;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "mob_spawn_of_marli";
|
||||
newscript->GetAI = &GetAI_mob_spawn_of_marli;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
/* 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: Boss_Renataki
|
||||
SD%Complete: 100
|
||||
SDComment:
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SPELL_AMBUSH 24337
|
||||
#define SPELL_THOUSANDBLADES 24649
|
||||
|
||||
#define EQUIP_ID_MAIN_HAND 0 //was item display id 31818, but this id does not exist
|
||||
|
||||
struct boss_renatakiAI : public ScriptedAI
|
||||
{
|
||||
boss_renatakiAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
uint32 Invisible_Timer;
|
||||
uint32 Ambush_Timer;
|
||||
uint32 Visible_Timer;
|
||||
uint32 Aggro_Timer;
|
||||
uint32 ThousandBlades_Timer;
|
||||
|
||||
bool Invisible;
|
||||
bool Ambushed;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
Invisible_Timer = 8000 + rand()%10000;
|
||||
Ambush_Timer = 3000;
|
||||
Visible_Timer = 4000;
|
||||
Aggro_Timer = 15000 + rand()%10000;
|
||||
ThousandBlades_Timer = 4000 + rand()%4000;
|
||||
|
||||
Invisible = false;
|
||||
Ambushed = false;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//Invisible_Timer
|
||||
if (Invisible_Timer <= diff)
|
||||
{
|
||||
me->InterruptSpell(CURRENT_GENERIC_SPELL);
|
||||
|
||||
SetEquipmentSlots(false, EQUIP_UNEQUIP, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
|
||||
me->SetDisplayId(11686);
|
||||
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
Invisible = true;
|
||||
|
||||
Invisible_Timer = 15000 + rand()%15000;
|
||||
} else Invisible_Timer -= diff;
|
||||
|
||||
if (Invisible)
|
||||
{
|
||||
if (Ambush_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget)
|
||||
{
|
||||
DoTeleportTo(pTarget->GetPositionX(), pTarget->GetPositionY(), pTarget->GetPositionZ());
|
||||
DoCast(pTarget, SPELL_AMBUSH);
|
||||
}
|
||||
|
||||
Ambushed = true;
|
||||
Ambush_Timer = 3000;
|
||||
} else Ambush_Timer -= diff;
|
||||
}
|
||||
|
||||
if (Ambushed)
|
||||
{
|
||||
if (Visible_Timer <= diff)
|
||||
{
|
||||
me->InterruptSpell(CURRENT_GENERIC_SPELL);
|
||||
|
||||
me->SetDisplayId(15268);
|
||||
SetEquipmentSlots(false, EQUIP_ID_MAIN_HAND, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
|
||||
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
Invisible = false;
|
||||
|
||||
Visible_Timer = 4000;
|
||||
} else Visible_Timer -= diff;
|
||||
}
|
||||
|
||||
//Resetting some aggro so he attacks other gamers
|
||||
if (!Invisible)
|
||||
if (Aggro_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,1);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-50);
|
||||
|
||||
if (pTarget)
|
||||
AttackStart(pTarget);
|
||||
|
||||
Aggro_Timer = 7000 + rand()%13000;
|
||||
} else Aggro_Timer -= diff;
|
||||
|
||||
if (!Invisible)
|
||||
if (ThousandBlades_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_THOUSANDBLADES);
|
||||
ThousandBlades_Timer = 7000 + rand()%5000;
|
||||
} else ThousandBlades_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
CreatureAI* GetAI_boss_renataki(Creature* pCreature)
|
||||
{
|
||||
return new boss_renatakiAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_renataki()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_renataki";
|
||||
newscript->GetAI = &GetAI_boss_renataki;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,556 @@
|
||||
/* 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: Boss_Thekal
|
||||
SD%Complete: 95
|
||||
SDComment: Almost finished.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SAY_AGGRO -1309009
|
||||
#define SAY_DEATH -1309010
|
||||
|
||||
#define SPELL_MORTALCLEAVE 22859
|
||||
#define SPELL_SILENCE 23207
|
||||
#define SPELL_FRENZY 23342
|
||||
#define SPELL_FORCEPUNCH 24189
|
||||
#define SPELL_CHARGE 24408
|
||||
#define SPELL_ENRAGE 23537
|
||||
#define SPELL_SUMMONTIGERS 24183
|
||||
#define SPELL_TIGER_FORM 24169
|
||||
#define SPELL_RESURRECT 24173 //We will not use this spell.
|
||||
|
||||
//Zealot Lor'Khan Spells
|
||||
#define SPELL_SHIELD 25020
|
||||
#define SPELL_BLOODLUST 24185
|
||||
#define SPELL_GREATERHEAL 24208
|
||||
#define SPELL_DISARM 22691
|
||||
|
||||
//Zealot Lor'Khan Spells
|
||||
#define SPELL_SWEEPINGSTRIKES 18765
|
||||
#define SPELL_SINISTERSTRIKE 15667
|
||||
#define SPELL_GOUGE 24698
|
||||
#define SPELL_KICK 15614
|
||||
#define SPELL_BLIND 21060
|
||||
|
||||
struct boss_thekalAI : public ScriptedAI
|
||||
{
|
||||
boss_thekalAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
uint32 MortalCleave_Timer;
|
||||
uint32 Silence_Timer;
|
||||
uint32 Frenzy_Timer;
|
||||
uint32 ForcePunch_Timer;
|
||||
uint32 Charge_Timer;
|
||||
uint32 Enrage_Timer;
|
||||
uint32 SummonTigers_Timer;
|
||||
uint32 Check_Timer;
|
||||
uint32 Resurrect_Timer;
|
||||
|
||||
ScriptedInstance *m_pInstance;
|
||||
bool Enraged;
|
||||
bool PhaseTwo;
|
||||
bool WasDead;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
MortalCleave_Timer = 4000;
|
||||
Silence_Timer = 9000;
|
||||
Frenzy_Timer = 30000;
|
||||
ForcePunch_Timer = 4000;
|
||||
Charge_Timer = 12000;
|
||||
Enrage_Timer = 32000;
|
||||
SummonTigers_Timer = 25000;
|
||||
Check_Timer = 10000;
|
||||
Resurrect_Timer = 10000;
|
||||
|
||||
Enraged = false;
|
||||
PhaseTwo = false;
|
||||
WasDead = false;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_AGGRO, me);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_THEKAL, DONE);
|
||||
}
|
||||
|
||||
void JustReachedHome()
|
||||
{
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_THEKAL, NOT_STARTED);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//Check_Timer for the death of LorKhan and Zath.
|
||||
if (!WasDead && Check_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_LORKHAN) == SPECIAL)
|
||||
{
|
||||
//Resurrect LorKhan
|
||||
if (Unit *pLorKhan = Unit::GetUnit((*me), m_pInstance->GetData64(DATA_LORKHAN)))
|
||||
{
|
||||
pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
pLorKhan->setFaction(14);
|
||||
pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
pLorKhan->SetHealth(int(pLorKhan->GetMaxHealth()*1.0));
|
||||
|
||||
m_pInstance->SetData(TYPE_LORKHAN, DONE);
|
||||
}
|
||||
}
|
||||
|
||||
if (m_pInstance->GetData(TYPE_ZATH) == SPECIAL)
|
||||
{
|
||||
//Resurrect Zath
|
||||
Unit *pZath = Unit::GetUnit((*me), m_pInstance->GetData64(DATA_ZATH));
|
||||
if (pZath)
|
||||
{
|
||||
pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
pZath->setFaction(14);
|
||||
pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
pZath->SetHealth(int(pZath->GetMaxHealth()*1.0));
|
||||
|
||||
m_pInstance->SetData(TYPE_ZATH, DONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Check_Timer = 5000;
|
||||
} else Check_Timer -= diff;
|
||||
|
||||
if (!PhaseTwo && MortalCleave_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_MORTALCLEAVE);
|
||||
MortalCleave_Timer = 15000 + rand()%5000;
|
||||
} else MortalCleave_Timer -= diff;
|
||||
|
||||
if (!PhaseTwo && Silence_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SILENCE);
|
||||
Silence_Timer = 20000 + rand()%5000;
|
||||
} else Silence_Timer -= diff;
|
||||
|
||||
if (!PhaseTwo && !WasDead && me->GetHealth() <= me->GetMaxHealth() * 0.05)
|
||||
{
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetStandState(UNIT_STAND_STATE_SLEEP);
|
||||
me->AttackStop();
|
||||
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_THEKAL, SPECIAL);
|
||||
|
||||
WasDead=true;
|
||||
}
|
||||
|
||||
//Thekal will transform to Tiger if he died and was not resurrected after 10 seconds.
|
||||
if (!PhaseTwo && WasDead)
|
||||
{
|
||||
if (Resurrect_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_TIGER_FORM);
|
||||
me->SetFloatValue(OBJECT_FIELD_SCALE_X, 2.00f);
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetHealth(int(me->GetMaxHealth()*1.0));
|
||||
const CreatureInfo *cinfo = me->GetCreatureInfo();
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 40)));
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 40)));
|
||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||
DoResetThreat();
|
||||
PhaseTwo = true;
|
||||
} else Resurrect_Timer -= diff;
|
||||
}
|
||||
|
||||
if ((me->GetHealth()*100 / me->GetMaxHealth() == 100) && WasDead)
|
||||
{
|
||||
WasDead = false;
|
||||
}
|
||||
|
||||
if (PhaseTwo)
|
||||
{
|
||||
if (Charge_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
{
|
||||
DoCast(pTarget, SPELL_CHARGE);
|
||||
DoResetThreat();
|
||||
AttackStart(pTarget);
|
||||
}
|
||||
|
||||
Charge_Timer = 15000 + rand()%7000;
|
||||
} else Charge_Timer -= diff;
|
||||
|
||||
if (Frenzy_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_FRENZY);
|
||||
Frenzy_Timer = 30000;
|
||||
} else Frenzy_Timer -= diff;
|
||||
|
||||
if (ForcePunch_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SILENCE);
|
||||
ForcePunch_Timer = 16000 + rand()%5000;
|
||||
} else ForcePunch_Timer -= diff;
|
||||
|
||||
if (SummonTigers_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SUMMONTIGERS);
|
||||
SummonTigers_Timer = 10000 + rand()%4000;
|
||||
} else SummonTigers_Timer -= diff;
|
||||
|
||||
if ((me->GetHealth()*100 / me->GetMaxHealth() < 11) && !Enraged)
|
||||
{
|
||||
DoCast(me, SPELL_ENRAGE);
|
||||
Enraged = true;
|
||||
}
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
//Zealot Lor'Khan
|
||||
struct mob_zealot_lorkhanAI : public ScriptedAI
|
||||
{
|
||||
mob_zealot_lorkhanAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
uint32 Shield_Timer;
|
||||
uint32 BloodLust_Timer;
|
||||
uint32 GreaterHeal_Timer;
|
||||
uint32 Disarm_Timer;
|
||||
uint32 Check_Timer;
|
||||
|
||||
bool FakeDeath;
|
||||
|
||||
ScriptedInstance *m_pInstance;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
Shield_Timer = 1000;
|
||||
BloodLust_Timer = 16000;
|
||||
GreaterHeal_Timer = 32000;
|
||||
Disarm_Timer = 6000;
|
||||
Check_Timer = 10000;
|
||||
|
||||
FakeDeath = false;
|
||||
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_LORKHAN, NOT_STARTED);
|
||||
|
||||
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI (const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//Shield_Timer
|
||||
if (Shield_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_SHIELD);
|
||||
Shield_Timer = 61000;
|
||||
} else Shield_Timer -= diff;
|
||||
|
||||
//BloodLust_Timer
|
||||
if (BloodLust_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_BLOODLUST);
|
||||
BloodLust_Timer = 20000+rand()%8000;
|
||||
} else BloodLust_Timer -= diff;
|
||||
|
||||
//Casting Greaterheal to Thekal or Zath if they are in meele range.
|
||||
if (GreaterHeal_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
Unit *pThekal = Unit::GetUnit((*me), m_pInstance->GetData64(DATA_THEKAL));
|
||||
Unit *pZath = Unit::GetUnit((*me), m_pInstance->GetData64(DATA_ZATH));
|
||||
|
||||
if (!pThekal || !pZath)
|
||||
return;
|
||||
|
||||
switch (urand(0,1))
|
||||
{
|
||||
case 0:
|
||||
if (me->IsWithinMeleeRange(pThekal))
|
||||
DoCast(pThekal, SPELL_GREATERHEAL);
|
||||
break;
|
||||
case 1:
|
||||
if (me->IsWithinMeleeRange(pZath))
|
||||
DoCast(pZath, SPELL_GREATERHEAL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
GreaterHeal_Timer = 15000+rand()%5000;
|
||||
} else GreaterHeal_Timer -= diff;
|
||||
|
||||
//Disarm_Timer
|
||||
if (Disarm_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_DISARM);
|
||||
Disarm_Timer = 15000+rand()%10000;
|
||||
} else Disarm_Timer -= diff;
|
||||
|
||||
//Check_Timer for the death of LorKhan and Zath.
|
||||
if (!FakeDeath && Check_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_THEKAL) == SPECIAL)
|
||||
{
|
||||
//Resurrect Thekal
|
||||
if (Unit *pThekal = Unit::GetUnit((*me), m_pInstance->GetData64(DATA_THEKAL)))
|
||||
{
|
||||
pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
pThekal->setFaction(14);
|
||||
pThekal->SetHealth(int(pThekal->GetMaxHealth()*1.0));
|
||||
}
|
||||
}
|
||||
|
||||
if (m_pInstance->GetData(TYPE_ZATH) == SPECIAL)
|
||||
{
|
||||
//Resurrect Zath
|
||||
if (Unit *pZath = Unit::GetUnit((*me), m_pInstance->GetData64(DATA_ZATH)))
|
||||
{
|
||||
pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
pZath->setFaction(14);
|
||||
pZath->SetHealth(int(pZath->GetMaxHealth()*1.0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Check_Timer = 5000;
|
||||
} else Check_Timer -= diff;
|
||||
|
||||
if (me->GetHealth() <= me->GetMaxHealth() * 0.05)
|
||||
{
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetStandState(UNIT_STAND_STATE_SLEEP);
|
||||
me->setFaction(35);
|
||||
me->AttackStop();
|
||||
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_LORKHAN, SPECIAL);
|
||||
|
||||
FakeDeath = true;
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
//Zealot Zath
|
||||
struct mob_zealot_zathAI : public ScriptedAI
|
||||
{
|
||||
mob_zealot_zathAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
uint32 SweepingStrikes_Timer;
|
||||
uint32 SinisterStrike_Timer;
|
||||
uint32 Gouge_Timer;
|
||||
uint32 Kick_Timer;
|
||||
uint32 Blind_Timer;
|
||||
uint32 Check_Timer;
|
||||
|
||||
bool FakeDeath;
|
||||
|
||||
ScriptedInstance *m_pInstance;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
SweepingStrikes_Timer = 13000;
|
||||
SinisterStrike_Timer = 8000;
|
||||
Gouge_Timer = 25000;
|
||||
Kick_Timer = 18000;
|
||||
Blind_Timer = 5000;
|
||||
Check_Timer = 10000;
|
||||
|
||||
FakeDeath = false;
|
||||
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_ZATH, NOT_STARTED);
|
||||
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI (const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//SweepingStrikes_Timer
|
||||
if (SweepingStrikes_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SWEEPINGSTRIKES);
|
||||
SweepingStrikes_Timer = 22000+rand()%4000;
|
||||
} else SweepingStrikes_Timer -= diff;
|
||||
|
||||
//SinisterStrike_Timer
|
||||
if (SinisterStrike_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_SINISTERSTRIKE);
|
||||
SinisterStrike_Timer = 8000+rand()%8000;
|
||||
} else SinisterStrike_Timer -= diff;
|
||||
|
||||
//Gouge_Timer
|
||||
if (Gouge_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_GOUGE);
|
||||
|
||||
if (DoGetThreat(me->getVictim()))
|
||||
DoModifyThreatPercent(me->getVictim(),-100);
|
||||
|
||||
Gouge_Timer = 17000+rand()%10000;
|
||||
} else Gouge_Timer -= diff;
|
||||
|
||||
//Kick_Timer
|
||||
if (Kick_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_KICK);
|
||||
Kick_Timer = 15000+rand()%10000;
|
||||
} else Kick_Timer -= diff;
|
||||
|
||||
//Blind_Timer
|
||||
if (Blind_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_BLIND);
|
||||
Blind_Timer = 10000+rand()%10000;
|
||||
} else Blind_Timer -= diff;
|
||||
|
||||
//Check_Timer for the death of LorKhan and Zath.
|
||||
if (!FakeDeath && Check_Timer <= diff)
|
||||
{
|
||||
if (m_pInstance)
|
||||
{
|
||||
if (m_pInstance->GetData(TYPE_LORKHAN) == SPECIAL)
|
||||
{
|
||||
//Resurrect LorKhan
|
||||
if (Unit *pLorKhan = Unit::GetUnit((*me), m_pInstance->GetData64(DATA_LORKHAN)))
|
||||
{
|
||||
pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
pLorKhan->setFaction(14);
|
||||
pLorKhan->SetHealth(int(pLorKhan->GetMaxHealth()*1.0));
|
||||
}
|
||||
}
|
||||
|
||||
if (m_pInstance->GetData(TYPE_THEKAL) == SPECIAL)
|
||||
{
|
||||
//Resurrect Thekal
|
||||
if (Unit *pThekal = Unit::GetUnit((*me), m_pInstance->GetData64(DATA_THEKAL)))
|
||||
{
|
||||
pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
pThekal->setFaction(14);
|
||||
pThekal->SetHealth(int(pThekal->GetMaxHealth()*1.0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Check_Timer = 5000;
|
||||
} else Check_Timer -= diff;
|
||||
|
||||
if (me->GetHealth() <= me->GetMaxHealth() * 0.05)
|
||||
{
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetStandState(UNIT_STAND_STATE_SLEEP);
|
||||
me->setFaction(35);
|
||||
me->AttackStop();
|
||||
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_ZATH, SPECIAL);
|
||||
|
||||
FakeDeath = true;
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_thekal(Creature* pCreature)
|
||||
{
|
||||
return new boss_thekalAI (pCreature);
|
||||
}
|
||||
|
||||
CreatureAI* GetAI_mob_zealot_lorkhan(Creature* pCreature)
|
||||
{
|
||||
return new mob_zealot_lorkhanAI (pCreature);
|
||||
}
|
||||
|
||||
CreatureAI* GetAI_mob_zealot_zath(Creature* pCreature)
|
||||
{
|
||||
return new mob_zealot_zathAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_thekal()
|
||||
{
|
||||
Script *newscript;
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_thekal";
|
||||
newscript->GetAI = &GetAI_boss_thekal;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "mob_zealot_lorkhan";
|
||||
newscript->GetAI = &GetAI_mob_zealot_lorkhan;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "mob_zealot_zath";
|
||||
newscript->GetAI = &GetAI_mob_zealot_zath;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,199 @@
|
||||
/* 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: Boss_Venoxis
|
||||
SD%Complete: 100
|
||||
SDComment:
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SAY_TRANSFORM -1309000
|
||||
#define SAY_DEATH -1309001
|
||||
|
||||
#define SPELL_HOLY_FIRE 23860
|
||||
#define SPELL_HOLY_WRATH 28883 //Not sure if this or 23979
|
||||
#define SPELL_VENOMSPIT 23862
|
||||
#define SPELL_HOLY_NOVA 23858
|
||||
#define SPELL_POISON_CLOUD 23861
|
||||
#define SPELL_SNAKE_FORM 23849
|
||||
#define SPELL_RENEW 23895
|
||||
#define SPELL_BERSERK 23537
|
||||
#define SPELL_DISPELL 23859
|
||||
|
||||
struct boss_venoxisAI : public ScriptedAI
|
||||
{
|
||||
boss_venoxisAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
m_pInstance = c->GetInstanceData();
|
||||
}
|
||||
|
||||
ScriptedInstance *m_pInstance;
|
||||
|
||||
uint32 HolyFire_Timer;
|
||||
uint32 HolyWrath_Timer;
|
||||
uint32 VenomSpit_Timer;
|
||||
uint32 Renew_Timer;
|
||||
uint32 PoisonCloud_Timer;
|
||||
uint32 HolyNova_Timer;
|
||||
uint32 Dispell_Timer;
|
||||
uint32 TargetInRange;
|
||||
|
||||
bool PhaseTwo;
|
||||
bool InBerserk;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
HolyFire_Timer = 10000;
|
||||
HolyWrath_Timer = 60500;
|
||||
VenomSpit_Timer = 5500;
|
||||
Renew_Timer = 30500;
|
||||
PoisonCloud_Timer = 2000;
|
||||
HolyNova_Timer = 5000;
|
||||
Dispell_Timer = 35000;
|
||||
TargetInRange = 0;
|
||||
|
||||
PhaseTwo = false;
|
||||
InBerserk= false;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*Killer*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_VENOXIS, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if ((me->GetHealth()*100 / me->GetMaxHealth() > 50))
|
||||
{
|
||||
if (Dispell_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_DISPELL);
|
||||
Dispell_Timer = 15000 + rand()%15000;
|
||||
} else Dispell_Timer -= diff;
|
||||
|
||||
if (Renew_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_RENEW);
|
||||
Renew_Timer = 20000 + rand()%10000;
|
||||
} else Renew_Timer -= diff;
|
||||
|
||||
if (HolyWrath_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_HOLY_WRATH);
|
||||
HolyWrath_Timer = 15000 + rand()%10000;
|
||||
} else HolyWrath_Timer -= diff;
|
||||
|
||||
if (HolyNova_Timer <= diff)
|
||||
{
|
||||
TargetInRange = 0;
|
||||
for (uint8 i = 0; i < 10; ++i)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_TOPAGGRO,i))
|
||||
if (me->IsWithinMeleeRange(pTarget))
|
||||
++TargetInRange;
|
||||
}
|
||||
|
||||
if (TargetInRange > 1)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_HOLY_NOVA);
|
||||
HolyNova_Timer = 1000;
|
||||
}
|
||||
else
|
||||
{
|
||||
HolyNova_Timer = 2000;
|
||||
}
|
||||
|
||||
} else HolyNova_Timer -= diff;
|
||||
|
||||
if (HolyFire_Timer < diff && TargetInRange < 3)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget, SPELL_HOLY_FIRE);
|
||||
|
||||
HolyFire_Timer = 8000;
|
||||
} else HolyFire_Timer -= diff;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!PhaseTwo)
|
||||
{
|
||||
DoScriptText(SAY_TRANSFORM, me);
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
DoCast(me, SPELL_SNAKE_FORM);
|
||||
me->SetFloatValue(OBJECT_FIELD_SCALE_X, 2.00f);
|
||||
const CreatureInfo *cinfo = me->GetCreatureInfo();
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 25)));
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 25)));
|
||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||
DoResetThreat();
|
||||
PhaseTwo = true;
|
||||
}
|
||||
|
||||
if (PhaseTwo && PoisonCloud_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_POISON_CLOUD);
|
||||
PoisonCloud_Timer = 15000;
|
||||
}PoisonCloud_Timer -=diff;
|
||||
|
||||
if (PhaseTwo && VenomSpit_Timer <= diff)
|
||||
{
|
||||
if (Unit *pTarget = SelectUnit(SELECT_TARGET_RANDOM,0))
|
||||
DoCast(pTarget, SPELL_VENOMSPIT);
|
||||
|
||||
VenomSpit_Timer = 15000 + rand()%5000;
|
||||
} else VenomSpit_Timer -= diff;
|
||||
|
||||
if (PhaseTwo && (me->GetHealth()*100 / me->GetMaxHealth() < 11))
|
||||
{
|
||||
if (!InBerserk)
|
||||
{
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
DoCast(me, SPELL_BERSERK);
|
||||
InBerserk = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_boss_venoxis(Creature* pCreature)
|
||||
{
|
||||
return new boss_venoxisAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_venoxis()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_venoxis";
|
||||
newscript->GetAI = &GetAI_boss_venoxis;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
/* 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: Boss_Wushoolay
|
||||
SD%Complete: 100
|
||||
SDComment:
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
#define SPELL_LIGHTNINGCLOUD 25033
|
||||
#define SPELL_LIGHTNINGWAVE 24819
|
||||
|
||||
struct boss_wushoolayAI : public ScriptedAI
|
||||
{
|
||||
boss_wushoolayAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
uint32 LightningCloud_Timer;
|
||||
uint32 LightningWave_Timer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
LightningCloud_Timer = 5000 + rand()%5000;
|
||||
LightningWave_Timer = 8000 + rand()%8000;
|
||||
}
|
||||
|
||||
void EnterCombat(Unit * /*who*/)
|
||||
{
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
//LightningCloud_Timer
|
||||
if (LightningCloud_Timer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_LIGHTNINGCLOUD);
|
||||
LightningCloud_Timer = 15000 + rand()%5000;
|
||||
} else LightningCloud_Timer -= diff;
|
||||
|
||||
//LightningWave_Timer
|
||||
if (LightningWave_Timer <= diff)
|
||||
{
|
||||
Unit *pTarget = NULL;
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
if (pTarget) DoCast(pTarget, SPELL_LIGHTNINGWAVE);
|
||||
|
||||
LightningWave_Timer = 12000 + rand()%4000;
|
||||
} else LightningWave_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
CreatureAI* GetAI_boss_wushoolay(Creature* pCreature)
|
||||
{
|
||||
return new boss_wushoolayAI (pCreature);
|
||||
}
|
||||
|
||||
void AddSC_boss_wushoolay()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "boss_wushoolay";
|
||||
newscript->GetAI = &GetAI_boss_wushoolay;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,159 @@
|
||||
/* 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_ZulGurub
|
||||
SD%Complete: 80
|
||||
SDComment: Missing reset function after killing a boss for Ohgan, Thekal.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
struct instance_zulgurub : public ScriptedInstance
|
||||
{
|
||||
instance_zulgurub(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
|
||||
|
||||
//If all High Priest bosses were killed. Lorkhan, Zath and Ohgan are added too.
|
||||
uint32 m_auiEncounter[MAX_ENCOUNTERS];
|
||||
|
||||
//Storing Lorkhan, Zath and Thekal because we need to cast on them later. Jindo is needed for healfunction too.
|
||||
uint64 m_uiLorKhanGUID;
|
||||
uint64 m_uiZathGUID;
|
||||
uint64 m_uiThekalGUID;
|
||||
uint64 m_uiJindoGUID;
|
||||
|
||||
void Initialize()
|
||||
{
|
||||
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
|
||||
|
||||
m_uiLorKhanGUID = 0;
|
||||
m_uiZathGUID = 0;
|
||||
m_uiThekalGUID = 0;
|
||||
m_uiJindoGUID = 0;
|
||||
}
|
||||
|
||||
bool IsEncounterInProgress() const
|
||||
{
|
||||
//not active in Zul'Gurub
|
||||
return false;
|
||||
}
|
||||
|
||||
void OnCreatureCreate(Creature* pCreature)
|
||||
{
|
||||
switch(pCreature->GetEntry())
|
||||
{
|
||||
case 11347: m_uiLorKhanGUID = pCreature->GetGUID(); break;
|
||||
case 11348: m_uiZathGUID = pCreature->GetGUID(); break;
|
||||
case 14509: m_uiThekalGUID = pCreature->GetGUID(); break;
|
||||
case 11380: m_uiJindoGUID = pCreature->GetGUID(); break;
|
||||
}
|
||||
}
|
||||
|
||||
void SetData(uint32 uiType, uint32 uiData)
|
||||
{
|
||||
switch(uiType)
|
||||
{
|
||||
case TYPE_ARLOKK:
|
||||
m_auiEncounter[0] = uiData;
|
||||
break;
|
||||
|
||||
case TYPE_JEKLIK:
|
||||
m_auiEncounter[1] = uiData;
|
||||
break;
|
||||
|
||||
case TYPE_VENOXIS:
|
||||
m_auiEncounter[2] = uiData;
|
||||
break;
|
||||
|
||||
case TYPE_MARLI:
|
||||
m_auiEncounter[3] = uiData;
|
||||
break;
|
||||
|
||||
case TYPE_THEKAL:
|
||||
m_auiEncounter[4] = uiData;
|
||||
break;
|
||||
|
||||
case TYPE_LORKHAN:
|
||||
m_auiEncounter[5] = uiData;
|
||||
break;
|
||||
|
||||
case TYPE_ZATH:
|
||||
m_auiEncounter[6] = uiData;
|
||||
break;
|
||||
|
||||
case TYPE_OHGAN:
|
||||
m_auiEncounter[7] = uiData;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 uiType)
|
||||
{
|
||||
switch(uiType)
|
||||
{
|
||||
case TYPE_ARLOKK:
|
||||
return m_auiEncounter[0];
|
||||
case TYPE_JEKLIK:
|
||||
return m_auiEncounter[1];
|
||||
case TYPE_VENOXIS:
|
||||
return m_auiEncounter[2];
|
||||
case TYPE_MARLI:
|
||||
return m_auiEncounter[3];
|
||||
case TYPE_THEKAL:
|
||||
return m_auiEncounter[4];
|
||||
case TYPE_LORKHAN:
|
||||
return m_auiEncounter[5];
|
||||
case TYPE_ZATH:
|
||||
return m_auiEncounter[6];
|
||||
case TYPE_OHGAN:
|
||||
return m_auiEncounter[7];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint64 GetData64(uint32 uiData)
|
||||
{
|
||||
switch(uiData)
|
||||
{
|
||||
case DATA_LORKHAN:
|
||||
return m_uiLorKhanGUID;
|
||||
case DATA_ZATH:
|
||||
return m_uiZathGUID;
|
||||
case DATA_THEKAL:
|
||||
return m_uiThekalGUID;
|
||||
case DATA_JINDO:
|
||||
return m_uiJindoGUID;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
InstanceData* GetInstanceData_instance_zulgurub(Map* pMap)
|
||||
{
|
||||
return new instance_zulgurub(pMap);
|
||||
}
|
||||
|
||||
void AddSC_instance_zulgurub()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "instance_zulgurub";
|
||||
newscript->GetInstanceData = &GetInstanceData_instance_zulgurub;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
/* 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 DEF_ZULGURUB_H
|
||||
#define DEF_ZULGURUB_H
|
||||
|
||||
enum eTypes
|
||||
{
|
||||
MAX_ENCOUNTERS = 8,
|
||||
|
||||
TYPE_ARLOKK = 1,
|
||||
TYPE_JEKLIK = 2,
|
||||
TYPE_VENOXIS = 3,
|
||||
TYPE_MARLI = 4,
|
||||
TYPE_OHGAN = 5,
|
||||
TYPE_THEKAL = 6,
|
||||
TYPE_ZATH = 7,
|
||||
TYPE_LORKHAN = 8,
|
||||
|
||||
DATA_JINDO = 10,
|
||||
DATA_LORKHAN = 11,
|
||||
DATA_THEKAL = 12,
|
||||
DATA_ZATH = 13
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user