aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/EasternKingdoms
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-06-19 23:20:06 -0300
committerariel- <ariel-@users.noreply.github.com>2017-06-19 23:20:06 -0300
commit85a7d5ce9ac68b30da2277cc91d4b70358f1880d (patch)
treedf3d2084ee2e35008903c03178039b9c986e2d08 /src/server/scripts/EasternKingdoms
parent052fc24315ace866ea1cf610e85df119b68100c9 (diff)
Core: ported headers cleanup from master branch
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h9
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp45
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp5
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp9
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp255
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp5
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp5
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp5
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp41
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp21
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp23
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp9
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp11
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp11
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp9
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h15
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/deadmines.h9
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp30
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h9
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp19
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp9
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp22
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp13
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp35
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp19
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.h4
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp39
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp31
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp9
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h9
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp27
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp11
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp50
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp5
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp13
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp40
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp13
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/scholomance.h9
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp11
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h9
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.h9
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp11
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h9
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp13
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp15
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp21
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h4
-rw-r--r--src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/uldaman.h9
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp17
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp15
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp5
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp13
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.h8
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp9
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h9
-rw-r--r--src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/zone_duskwood.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/zone_ghostlands.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/zone_hinterlands.cpp5
-rw-r--r--src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp19
-rw-r--r--src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_undercity.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp2
175 files changed, 1139 insertions, 815 deletions
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
index 9b18098417f..cc0ff3fd650 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
@@ -16,6 +16,7 @@
*/
#include "ScriptMgr.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
enum Spells
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
index 3b727fd1bc1..bcd4a915595 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
@@ -16,12 +16,16 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedEscortAI.h"
-#include "ScriptedGossip.h"
-#include "GameObjectAI.h"
#include "blackrock_depths.h"
+#include "GameObject.h"
+#include "GameObjectAI.h"
+#include "InstanceScript.h"
+#include "Log.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
+#include "ScriptedGossip.h"
+#include "TemporarySummon.h"
#include "WorldSession.h"
//go_shadowforge_brazier
@@ -54,7 +58,7 @@ class go_shadowforge_brazier : public GameObjectScript
GameObjectAI* GetAI(GameObject* go) const override
{
- return GetInstanceAI<go_shadowforge_brazierAI>(go);
+ return GetBlackrockDepthsAI<go_shadowforge_brazierAI>(go);
}
};
@@ -93,7 +97,7 @@ class at_ring_of_law : public AreaTriggerScript
public:
at_ring_of_law() : AreaTriggerScript("at_ring_of_law") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override
{
if (InstanceScript* instance = player->GetInstanceScript())
{
@@ -128,7 +132,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_grimstoneAI>(creature);
+ return GetBlackrockDepthsAI<npc_grimstoneAI>(creature);
}
struct npc_grimstoneAI : public npc_escortAI
@@ -224,7 +228,7 @@ public:
Event_Timer = 5000;
break;
case 5:
- instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, NPC_GRIMSTONE, me);
+ instance->UpdateEncounterStateForKilledCreature(NPC_GRIMSTONE, me);
instance->SetData(TYPE_RING_OF_LAW, DONE);
TC_LOG_DEBUG("scripts", "npc_grimstone: event reached end and set complete.");
break;
@@ -365,7 +369,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_phalanxAI(creature);
+ return GetBlackrockDepthsAI<npc_phalanxAI>(creature);
}
struct npc_phalanxAI : public ScriptedAI
@@ -489,7 +493,7 @@ class npc_lokhtos_darkbargainer : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_lokhtos_darkbargainerAI(creature);
+ return GetBlackrockDepthsAI<npc_lokhtos_darkbargainerAI>(creature);
}
};
@@ -535,7 +539,7 @@ public:
void DoGo(uint32 id, uint32 state)
{
- if (GameObject* go = instance->instance->GetGameObject(instance->GetGuidData(id)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(id)))
go->SetGoState((GOState)state);
}
@@ -622,7 +626,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_rocknotAI>(creature);
+ return GetBlackrockDepthsAI<npc_rocknotAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
index 9944300d7f1..5102c58b9b6 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
@@ -19,6 +19,9 @@
#ifndef DEF_BRD_H
#define DEF_BRD_H
+#include "CreatureAIImpl.h"
+
+#define BRDScriptName "instance_blackrock_depths"
#define DataHeader "BRD"
enum BRDFactionIds
@@ -64,4 +67,10 @@ enum BRDDataTypes
DATA_COREN = 28
};
+template <class AI, class T>
+inline AI* GetBlackrockDepthsAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, BRDScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
index 41beda843e4..83c3f7037c4 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
@@ -16,6 +16,7 @@
*/
#include "ScriptMgr.h"
+#include "blackrock_depths.h"
#include "ScriptedCreature.h"
enum Spells
@@ -89,7 +90,7 @@ class boss_ambassador_flamelash : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_ambassador_flamelashAI(creature);
+ return GetBlackrockDepthsAI<boss_ambassador_flamelashAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp
index 37b7e892ae5..7d3d77f52b1 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp
@@ -16,16 +16,20 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
#include "blackrock_depths.h"
+#include "GameObjectAI.h"
+#include "GridNotifiers.h"
+#include "Group.h"
+#include "InstanceScript.h"
+#include "LFGMgr.h"
+#include "Map.h"
+#include "ObjectAccessor.h"
#include "Player.h"
-#include "SpellScript.h"
+#include "ScriptedCreature.h"
+#include "ScriptedGossip.h"
#include "SpellAuras.h"
-#include "LFGMgr.h"
-#include "Group.h"
-#include "GridNotifiers.h"
-#include "GameObjectAI.h"
+#include "SpellScript.h"
+#include "TemporarySummon.h"
enum DirebrewSays
{
@@ -274,7 +278,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_coren_direbrewAI>(creature);
+ return GetBlackrockDepthsAI<boss_coren_direbrewAI>(creature);
}
};
@@ -338,7 +342,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_coren_direbrew_sistersAI>(creature);
+ return GetBlackrockDepthsAI<npc_coren_direbrew_sistersAI>(creature);
}
};
@@ -370,7 +374,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_direbrew_minionAI>(creature);
+ return GetBlackrockDepthsAI<npc_direbrew_minionAI>(creature);
}
};
@@ -412,7 +416,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_direbrew_antagonistAI>(creature);
+ return GetBlackrockDepthsAI<npc_direbrew_antagonistAI>(creature);
}
};
@@ -455,7 +459,7 @@ public:
GameObjectAI* GetAI(GameObject* go) const override
{
- return GetInstanceAI<go_direbrew_mole_machineAI>(go);
+ return GetBlackrockDepthsAI<go_direbrew_mole_machineAI>(go);
}
};
@@ -471,10 +475,7 @@ class spell_direbrew_disarm : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_DIREBREW_DISARM)
- || !sSpellMgr->GetSpellInfo(SPELL_DIREBREW_DISARM_GROW))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_DIREBREW_DISARM, SPELL_DIREBREW_DISARM_GROW });
}
void PeriodicTick(AuraEffect const* /*aurEff*/)
@@ -517,9 +518,7 @@ class spell_direbrew_summon_mole_machine_target_picker : public SpellScriptLoade
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_MOLE_MACHINE_MINION_SUMMONER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_MOLE_MACHINE_MINION_SUMMONER });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -603,9 +602,7 @@ class spell_request_second_mug : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SEND_SECOND_MUG))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SEND_SECOND_MUG });
}
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
@@ -637,9 +634,7 @@ class spell_send_mug_control_aura : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SEND_MUG_TARGET_PICKER))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SEND_MUG_TARGET_PICKER });
}
void PeriodicTick(AuraEffect const* /*aurEff*/)
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
index b3b3a0f2b4c..0f518a8284a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
@@ -16,8 +16,10 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_depths.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
enum Yells
{
@@ -112,7 +114,7 @@ class boss_emperor_dagran_thaurissan : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_draganthaurissanAI>(creature);
+ return GetBlackrockDepthsAI<boss_draganthaurissanAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
index c17de75a6cf..b9883a1e9f0 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
@@ -16,6 +16,7 @@
*/
#include "ScriptMgr.h"
+#include "blackrock_depths.h"
#include "ScriptedCreature.h"
enum Spells
@@ -130,7 +131,7 @@ class boss_general_angerforge : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_general_angerforgeAI(creature);
+ return GetBlackrockDepthsAI<boss_general_angerforgeAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
index 691df9b587d..277af244871 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
@@ -16,6 +16,7 @@
*/
#include "ScriptMgr.h"
+#include "blackrock_depths.h"
#include "ScriptedCreature.h"
enum Spells
@@ -99,7 +100,7 @@ class boss_high_interrogator_gerstahn : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_high_interrogator_gerstahnAI(creature);
+ return GetBlackrockDepthsAI<boss_high_interrogator_gerstahnAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
index fe432438811..68441159eaa 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
@@ -16,8 +16,9 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_depths.h"
+#include "InstanceScript.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -105,7 +106,7 @@ class boss_magmus : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_magmusAI(creature);
+ return GetBlackrockDepthsAI<boss_magmusAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
index b1cc51e37a9..461322596cc 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
@@ -16,6 +16,7 @@
*/
#include "ScriptMgr.h"
+#include "blackrock_depths.h"
#include "ScriptedCreature.h"
enum Spells
@@ -93,7 +94,7 @@ class boss_moira_bronzebeard : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_moira_bronzebeardAI(creature);
+ return GetBlackrockDepthsAI<boss_moira_bronzebeardAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
index 31dd2ffd487..787de8711f2 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
@@ -17,10 +17,11 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
#include "blackrock_depths.h"
+#include "InstanceScript.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "ScriptedGossip.h"
enum Spells
{
@@ -102,7 +103,7 @@ class boss_gloomrel : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_gloomrelAI>(creature);
+ return GetBlackrockDepthsAI<boss_gloomrelAI>(creature);
}
};
@@ -265,7 +266,7 @@ class boss_doomrel : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_doomrelAI>(creature);
+ return GetBlackrockDepthsAI<boss_doomrelAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
index 1bc8d78b79a..1ac6dfd542c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
@@ -17,9 +17,14 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "InstanceScript.h"
#include "blackrock_depths.h"
+#include "Creature.h"
+#include "CreatureAI.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "Log.h"
+#include "Map.h"
+#include "MotionMaster.h"
#define TIMER_TOMBOFTHESEVEN 15000
#define MAX_ENCOUNTER 6
@@ -68,7 +73,7 @@ enum GameObjects
class instance_blackrock_depths : public InstanceMapScript
{
public:
- instance_blackrock_depths() : InstanceMapScript("instance_blackrock_depths", 230) { }
+ instance_blackrock_depths() : InstanceMapScript(BRDScriptName, 230) { }
InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
@@ -130,22 +135,22 @@ public:
{
switch (creature->GetEntry())
{
- case NPC_EMPEROR: EmperorGUID = creature->GetGUID(); break;
- case NPC_PHALANX: PhalanxGUID = creature->GetGUID(); break;
- case NPC_MOIRA: MoiraGUID = creature->GetGUID(); break;
- case NPC_COREN: CorenGUID = creature->GetGUID(); break;
- case NPC_DOOMREL: TombBossGUIDs[0] = creature->GetGUID(); break;
- case NPC_DOPEREL: TombBossGUIDs[1] = creature->GetGUID(); break;
- case NPC_HATEREL: TombBossGUIDs[2] = creature->GetGUID(); break;
- case NPC_VILEREL: TombBossGUIDs[3] = creature->GetGUID(); break;
- case NPC_SEETHREL: TombBossGUIDs[4] = creature->GetGUID(); break;
- case NPC_GLOOMREL: TombBossGUIDs[5] = creature->GetGUID(); break;
- case NPC_ANGERREL: TombBossGUIDs[6] = creature->GetGUID(); break;
- case NPC_MAGMUS:
- MagmusGUID = creature->GetGUID();
- if (!creature->IsAlive())
- HandleGameObject(GetGuidData(DATA_THRONE_DOOR), true); // if Magmus is dead open door to last boss
- break;
+ case NPC_EMPEROR: EmperorGUID = creature->GetGUID(); break;
+ case NPC_PHALANX: PhalanxGUID = creature->GetGUID(); break;
+ case NPC_MOIRA: MoiraGUID = creature->GetGUID(); break;
+ case NPC_COREN: CorenGUID = creature->GetGUID(); break;
+ case NPC_DOOMREL: TombBossGUIDs[0] = creature->GetGUID(); break;
+ case NPC_DOPEREL: TombBossGUIDs[1] = creature->GetGUID(); break;
+ case NPC_HATEREL: TombBossGUIDs[2] = creature->GetGUID(); break;
+ case NPC_VILEREL: TombBossGUIDs[3] = creature->GetGUID(); break;
+ case NPC_SEETHREL: TombBossGUIDs[4] = creature->GetGUID(); break;
+ case NPC_GLOOMREL: TombBossGUIDs[5] = creature->GetGUID(); break;
+ case NPC_ANGERREL: TombBossGUIDs[6] = creature->GetGUID(); break;
+ case NPC_MAGMUS:
+ MagmusGUID = creature->GetGUID();
+ if (!creature->IsAlive())
+ HandleGameObject(GetGuidData(DATA_THRONE_DOOR), true); // if Magmus is dead open door to last boss
+ break;
}
}
@@ -153,33 +158,33 @@ public:
{
switch (go->GetEntry())
{
- case GO_ARENA1: GoArena1GUID = go->GetGUID(); break;
- case GO_ARENA2: GoArena2GUID = go->GetGUID(); break;
- case GO_ARENA3: GoArena3GUID = go->GetGUID(); break;
- case GO_ARENA4: GoArena4GUID = go->GetGUID(); break;
- case GO_SHADOW_LOCK: GoShadowLockGUID = go->GetGUID(); break;
- case GO_SHADOW_MECHANISM: GoShadowMechGUID = go->GetGUID(); break;
- case GO_SHADOW_GIANT_DOOR: GoShadowGiantGUID = go->GetGUID(); break;
- case GO_SHADOW_DUMMY: GoShadowDummyGUID = go->GetGUID(); break;
- case GO_BAR_KEG_SHOT: GoBarKegGUID = go->GetGUID(); break;
- case GO_BAR_KEG_TRAP: GoBarKegTrapGUID = go->GetGUID(); break;
- case GO_BAR_DOOR: GoBarDoorGUID = go->GetGUID(); break;
- case GO_TOMB_ENTER: GoTombEnterGUID = go->GetGUID(); break;
- case GO_TOMB_EXIT:
- GoTombExitGUID = go->GetGUID();
- if (GhostKillCount >= 7)
- HandleGameObject(ObjectGuid::Empty, true, go);
- else
- HandleGameObject(ObjectGuid::Empty, false, go);
- break;
- case GO_LYCEUM: GoLyceumGUID = go->GetGUID(); break;
- case GO_SF_S: GoSFSGUID = go->GetGUID(); break;
- case GO_SF_N: GoSFNGUID = go->GetGUID(); break;
- case GO_GOLEM_ROOM_N: GoGolemNGUID = go->GetGUID(); break;
- case GO_GOLEM_ROOM_S: GoGolemSGUID = go->GetGUID(); break;
- case GO_THRONE_ROOM: GoThroneGUID = go->GetGUID(); break;
- case GO_CHEST_SEVEN: GoChestGUID = go->GetGUID(); break;
- case GO_SPECTRAL_CHALICE: GoSpectralChaliceGUID = go->GetGUID(); break;
+ case GO_ARENA1: GoArena1GUID = go->GetGUID(); break;
+ case GO_ARENA2: GoArena2GUID = go->GetGUID(); break;
+ case GO_ARENA3: GoArena3GUID = go->GetGUID(); break;
+ case GO_ARENA4: GoArena4GUID = go->GetGUID(); break;
+ case GO_SHADOW_LOCK: GoShadowLockGUID = go->GetGUID(); break;
+ case GO_SHADOW_MECHANISM: GoShadowMechGUID = go->GetGUID(); break;
+ case GO_SHADOW_GIANT_DOOR: GoShadowGiantGUID = go->GetGUID(); break;
+ case GO_SHADOW_DUMMY: GoShadowDummyGUID = go->GetGUID(); break;
+ case GO_BAR_KEG_SHOT: GoBarKegGUID = go->GetGUID(); break;
+ case GO_BAR_KEG_TRAP: GoBarKegTrapGUID = go->GetGUID(); break;
+ case GO_BAR_DOOR: GoBarDoorGUID = go->GetGUID(); break;
+ case GO_TOMB_ENTER: GoTombEnterGUID = go->GetGUID(); break;
+ case GO_TOMB_EXIT:
+ GoTombExitGUID = go->GetGUID();
+ if (GhostKillCount >= 7)
+ HandleGameObject(ObjectGuid::Empty, true, go);
+ else
+ HandleGameObject(ObjectGuid::Empty, false, go);
+ break;
+ case GO_LYCEUM: GoLyceumGUID = go->GetGUID(); break;
+ case GO_SF_S: GoSFSGUID = go->GetGUID(); break;
+ case GO_SF_N: GoSFNGUID = go->GetGUID(); break;
+ case GO_GOLEM_ROOM_N: GoGolemNGUID = go->GetGUID(); break;
+ case GO_GOLEM_ROOM_S: GoGolemSGUID = go->GetGUID(); break;
+ case GO_THRONE_ROOM: GoThroneGUID = go->GetGUID(); break;
+ case GO_CHEST_SEVEN: GoChestGUID = go->GetGUID(); break;
+ case GO_SPECTRAL_CHALICE: GoSpectralChaliceGUID = go->GetGUID(); break;
}
}
@@ -205,30 +210,30 @@ public:
switch (type)
{
- case TYPE_RING_OF_LAW:
- encounter[0] = data;
- break;
- case TYPE_VAULT:
- encounter[1] = data;
- break;
- case TYPE_BAR:
- if (data == SPECIAL)
- ++BarAleCount;
- else
- encounter[2] = data;
- break;
- case TYPE_TOMB_OF_SEVEN:
- encounter[3] = data;
- break;
- case TYPE_LYCEUM:
- encounter[4] = data;
- break;
- case TYPE_IRON_HALL:
- encounter[5] = data;
- break;
- case DATA_GHOSTKILL:
- GhostKillCount += data;
- break;
+ case TYPE_RING_OF_LAW:
+ encounter[0] = data;
+ break;
+ case TYPE_VAULT:
+ encounter[1] = data;
+ break;
+ case TYPE_BAR:
+ if (data == SPECIAL)
+ ++BarAleCount;
+ else
+ encounter[2] = data;
+ break;
+ case TYPE_TOMB_OF_SEVEN:
+ encounter[3] = data;
+ break;
+ case TYPE_LYCEUM:
+ encounter[4] = data;
+ break;
+ case TYPE_IRON_HALL:
+ encounter[5] = data;
+ break;
+ case DATA_GHOSTKILL:
+ GhostKillCount += data;
+ break;
}
if (data == DONE || GhostKillCount >= 7)
@@ -250,23 +255,23 @@ public:
{
switch (type)
{
- case TYPE_RING_OF_LAW:
- return encounter[0];
- case TYPE_VAULT:
- return encounter[1];
- case TYPE_BAR:
- if (encounter[2] == IN_PROGRESS && BarAleCount == 3)
- return SPECIAL;
- else
- return encounter[2];
- case TYPE_TOMB_OF_SEVEN:
- return encounter[3];
- case TYPE_LYCEUM:
- return encounter[4];
- case TYPE_IRON_HALL:
- return encounter[5];
- case DATA_GHOSTKILL:
- return GhostKillCount;
+ case TYPE_RING_OF_LAW:
+ return encounter[0];
+ case TYPE_VAULT:
+ return encounter[1];
+ case TYPE_BAR:
+ if (encounter[2] == IN_PROGRESS && BarAleCount == 3)
+ return SPECIAL;
+ else
+ return encounter[2];
+ case TYPE_TOMB_OF_SEVEN:
+ return encounter[3];
+ case TYPE_LYCEUM:
+ return encounter[4];
+ case TYPE_IRON_HALL:
+ return encounter[5];
+ case DATA_GHOSTKILL:
+ return GhostKillCount;
}
return 0;
}
@@ -275,42 +280,42 @@ public:
{
switch (data)
{
- case DATA_EMPEROR:
- return EmperorGUID;
- case DATA_PHALANX:
- return PhalanxGUID;
- case DATA_MOIRA:
- return MoiraGUID;
- case DATA_COREN:
- return CorenGUID;
- case DATA_ARENA1:
- return GoArena1GUID;
- case DATA_ARENA2:
- return GoArena2GUID;
- case DATA_ARENA3:
- return GoArena3GUID;
- case DATA_ARENA4:
- return GoArena4GUID;
- case DATA_GO_BAR_KEG:
- return GoBarKegGUID;
- case DATA_GO_BAR_KEG_TRAP:
- return GoBarKegTrapGUID;
- case DATA_GO_BAR_DOOR:
- return GoBarDoorGUID;
- case DATA_EVENSTARTER:
- return TombEventStarterGUID;
- case DATA_SF_BRAZIER_N:
- return GoSFNGUID;
- case DATA_SF_BRAZIER_S:
- return GoSFSGUID;
- case DATA_THRONE_DOOR:
- return GoThroneGUID;
- case DATA_GOLEM_DOOR_N:
- return GoGolemNGUID;
- case DATA_GOLEM_DOOR_S:
- return GoGolemSGUID;
- case DATA_GO_CHALICE:
- return GoSpectralChaliceGUID;
+ case DATA_EMPEROR:
+ return EmperorGUID;
+ case DATA_PHALANX:
+ return PhalanxGUID;
+ case DATA_MOIRA:
+ return MoiraGUID;
+ case DATA_COREN:
+ return CorenGUID;
+ case DATA_ARENA1:
+ return GoArena1GUID;
+ case DATA_ARENA2:
+ return GoArena2GUID;
+ case DATA_ARENA3:
+ return GoArena3GUID;
+ case DATA_ARENA4:
+ return GoArena4GUID;
+ case DATA_GO_BAR_KEG:
+ return GoBarKegGUID;
+ case DATA_GO_BAR_KEG_TRAP:
+ return GoBarKegTrapGUID;
+ case DATA_GO_BAR_DOOR:
+ return GoBarDoorGUID;
+ case DATA_EVENSTARTER:
+ return TombEventStarterGUID;
+ case DATA_SF_BRAZIER_N:
+ return GoSFNGUID;
+ case DATA_SF_BRAZIER_S:
+ return GoSFSGUID;
+ case DATA_THRONE_DOOR:
+ return GoThroneGUID;
+ case DATA_GOLEM_DOOR_N:
+ return GoGolemNGUID;
+ case DATA_GOLEM_DOOR_S:
+ return GoGolemSGUID;
+ case DATA_GO_CHALICE:
+ return GoSpectralChaliceGUID;
}
return ObjectGuid::Empty;
}
@@ -320,7 +325,7 @@ public:
return str_data;
}
- void Load(const char* in) override
+ void Load(char const* in) override
{
if (!in)
{
@@ -375,7 +380,7 @@ public:
boss->CombatStop(true);
boss->LoadCreaturesAddon();
boss->GetMotionMaster()->MoveTargetedHome();
- boss->SetLootRecipient(NULL);
+ boss->SetLootRecipient(nullptr);
}
boss->SetFaction(FACTION_FRIENDLY);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
index 8251d96dc58..8d9b2c393bb 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
@@ -18,6 +18,8 @@
#ifndef DEF_BLACKROCK_SPIRE_H
#define DEF_BLACKROCK_SPIRE_H
+#include "CreatureAIImpl.h"
+
uint32 const EncounterCount = 23;
#define BRSScriptName "instance_blackrock_spire"
@@ -120,4 +122,10 @@ enum BRSGameObjectsIds
GO_PORTCULLIS_TOBOSSROOMS = 175186
};
+template <class AI, class T>
+inline AI* GetBlackrockSpireAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, BRSScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
index 56f5580daa0..6dac4937a8a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -105,7 +105,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_drakkisathAI(creature);
+ return GetBlackrockSpireAI<boss_drakkisathAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
index 5e76a4e020b..a62da8ea9ed 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
@@ -16,8 +16,9 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "MotionMaster.h"
+#include "ScriptedCreature.h"
#include "TemporarySummon.h"
enum Spells
@@ -105,7 +106,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_gizrul_the_slavenerAI(creature);
+ return GetBlackrockSpireAI<boss_gizrul_the_slavenerAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
index 34eae895bae..4a469a3b716 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
@@ -16,8 +16,11 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -176,7 +179,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_gythAI>(creature);
+ return GetBlackrockSpireAI<boss_gythAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
index 7626afd3fff..591cb75ecc7 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
@@ -16,8 +16,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -112,7 +112,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_halyconAI(creature);
+ return GetBlackrockSpireAI<boss_halyconAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
index a8766ac625b..39742ea6a3f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -39,7 +39,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_highlordomokkAI(creature);
+ return GetBlackrockSpireAI<boss_highlordomokkAI>(creature);
}
struct boss_highlordomokkAI : public BossAI
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
index 17ae664c816..576b9e5e3eb 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
@@ -16,8 +16,9 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "InstanceScript.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -138,7 +139,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_lord_valthalakAI>(creature);
+ return GetBlackrockSpireAI<boss_lord_valthalakAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
index aaf86640eb7..92df2fa0d74 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -40,7 +40,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_mothersmolderwebAI(creature);
+ return GetBlackrockSpireAI<boss_mothersmolderwebAI>(creature);
}
struct boss_mothersmolderwebAI : public BossAI
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
index 18689249237..eb77fa7bf5e 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
@@ -17,8 +17,9 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
enum Spells
{
@@ -52,7 +53,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_overlordwyrmthalakAI(creature);
+ return GetBlackrockSpireAI<boss_overlordwyrmthalakAI>(creature);
}
struct boss_overlordwyrmthalakAI : public BossAI
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
index 9dcaf290cb8..61aa94b4d02 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
@@ -15,12 +15,15 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ObjectMgr.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "Player.h"
-#include "Spell.h"
#include "blackrock_spire.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "Map.h"
+#include "ObjectAccessor.h"
+#include "Player.h"
+#include "ScriptedCreature.h"
+#include "SpellInfo.h"
enum Text
{
@@ -104,10 +107,10 @@ public:
break;
case 2:
// Close these two doors on Blackhand Incarcerators aggro
- if (GameObject* door1 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_IN)))
+ if (GameObject* door1 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_IN)))
if (door1->GetGoState() == GO_STATE_ACTIVE)
door1->SetGoState(GO_STATE_READY);
- if (GameObject* door2 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_DOORS)))
+ if (GameObject* door2 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_DOORS)))
if (door2->GetGoState() == GO_STATE_ACTIVE)
door2->SetGoState(GO_STATE_READY);
break;
@@ -166,33 +169,33 @@ public:
void OpenDoors(bool Boss_Killed)
{
// These two doors reopen on reset or boss kill
- if (GameObject* door1 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_IN)))
+ if (GameObject* door1 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_IN)))
door1->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* door2 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_DOORS)))
+ if (GameObject* door2 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_DOORS)))
door2->SetGoState(GO_STATE_ACTIVE);
// This door opens on boss kill
if (Boss_Killed)
- if (GameObject* door3 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_OUT)))
+ if (GameObject* door3 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_OUT)))
door3->SetGoState(GO_STATE_ACTIVE);
}
void UpdateRunes(GOState state)
{
// update all runes
- if (GameObject* rune1 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_1)))
+ if (GameObject* rune1 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_RUNE_1)))
rune1->SetGoState(state);
- if (GameObject* rune2 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_2)))
+ if (GameObject* rune2 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_RUNE_2)))
rune2->SetGoState(state);
- if (GameObject* rune3 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_3)))
+ if (GameObject* rune3 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_RUNE_3)))
rune3->SetGoState(state);
- if (GameObject* rune4 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_4)))
+ if (GameObject* rune4 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_RUNE_4)))
rune4->SetGoState(state);
- if (GameObject* rune5 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_5)))
+ if (GameObject* rune5 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_RUNE_5)))
rune5->SetGoState(state);
- if (GameObject* rune6 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_6)))
+ if (GameObject* rune6 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_RUNE_6)))
rune6->SetGoState(state);
- if (GameObject* rune7 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_7)))
+ if (GameObject* rune7 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_EMBERSEER_RUNE_7)))
rune7->SetGoState(state);
}
@@ -250,7 +253,7 @@ public:
{
// Check to see if all players in instance have aura SPELL_EMBERSEER_START before starting event
bool _hasAura = true;
- Map::PlayerList const &players = me->GetMap()->GetPlayers();
+ Map::PlayerList const& players = me->GetMap()->GetPlayers();
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
if (Player* player = itr->GetSource()->ToPlayer())
if (!player->HasAura(SPELL_EMBERSEER_OBJECT_VISUAL))
@@ -312,7 +315,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_pyroguard_emberseerAI>(creature);
+ return GetBlackrockSpireAI<boss_pyroguard_emberseerAI>(creature);
}
};
@@ -436,7 +439,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_blackhand_incarceratorAI(creature);
+ return GetBlackrockSpireAI<npc_blackhand_incarceratorAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
index aff9775b795..9ca38215d2d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
@@ -16,8 +16,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -92,7 +92,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_quatermasterzigrisAI(creature);
+ return GetBlackrockSpireAI<boss_quatermasterzigrisAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
index 1e99e07f9e0..1f5bd2a4cd0 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
@@ -17,9 +17,12 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "Player.h"
#include "blackrock_spire.h"
+#include "GameObject.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
+#include "Player.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -372,37 +375,37 @@ public:
me->SummonCreature(NPC_GYTH, 211.762f, -397.5885f, 111.1817f, 4.747295f);
break;
case EVENT_WAVE_1:
- if (GameObject* portcullis = me->GetMap()->GetGameObject(portcullisGUID))
+ if (GameObject* portcullis = ObjectAccessor::GetGameObject(*me, portcullisGUID))
portcullis->UseDoorOrButton();
// move wave
break;
case EVENT_WAVE_2:
// spawn wave
- if (GameObject* portcullis = me->GetMap()->GetGameObject(portcullisGUID))
+ if (GameObject* portcullis = ObjectAccessor::GetGameObject(*me, portcullisGUID))
portcullis->UseDoorOrButton();
// move wave
break;
case EVENT_WAVE_3:
// spawn wave
- if (GameObject* portcullis = me->GetMap()->GetGameObject(portcullisGUID))
+ if (GameObject* portcullis = ObjectAccessor::GetGameObject(*me, portcullisGUID))
portcullis->UseDoorOrButton();
// move wave
break;
case EVENT_WAVE_4:
// spawn wave
- if (GameObject* portcullis = me->GetMap()->GetGameObject(portcullisGUID))
+ if (GameObject* portcullis = ObjectAccessor::GetGameObject(*me, portcullisGUID))
portcullis->UseDoorOrButton();
// move wave
break;
case EVENT_WAVE_5:
// spawn wave
- if (GameObject* portcullis = me->GetMap()->GetGameObject(portcullisGUID))
+ if (GameObject* portcullis = ObjectAccessor::GetGameObject(*me, portcullisGUID))
portcullis->UseDoorOrButton();
// move wave
break;
case EVENT_WAVE_6:
// spawn wave
- if (GameObject* portcullis = me->GetMap()->GetGameObject(portcullisGUID))
+ if (GameObject* portcullis = ObjectAccessor::GetGameObject(*me, portcullisGUID))
portcullis->UseDoorOrButton();
// move wave
break;
@@ -452,7 +455,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_rend_blackhandAI>(creature);
+ return GetBlackrockSpireAI<boss_rend_blackhandAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
index 79d556fc51d..3b3dd5c1892 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -41,7 +41,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_shadowvoshAI(creature);
+ return GetBlackrockSpireAI<boss_shadowvoshAI>(creature);
}
struct boss_shadowvoshAI : public BossAI
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
index 5cd6e60a186..6b1c72cb715 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -41,7 +41,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_thebeastAI(creature);
+ return GetBlackrockSpireAI<boss_thebeastAI>(creature);
}
struct boss_thebeastAI : public BossAI
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
index 0b4e238a8b1..fb0fc3e20d8 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
@@ -16,8 +16,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -101,7 +101,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_urok_doomhowlAI(creature);
+ return GetBlackrockSpireAI<boss_urok_doomhowlAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
index b1db789dcb3..6b627e97a8d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackrock_spire.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -119,7 +119,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_warmastervooneAI(creature);
+ return GetBlackrockSpireAI<boss_warmastervooneAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
index bf6197110fa..21fe1450a3b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
@@ -15,15 +15,14 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "Cell.h"
+#include "ScriptMgr.h"
+#include "blackrock_spire.h"
#include "CellImpl.h"
-#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#include "InstanceScript.h"
+#include "ObjectAccessor.h"
#include "Player.h"
#include "ScriptedCreature.h"
-#include "ScriptMgr.h"
-#include "blackrock_spire.h"
//uint32 const DragonspireRunes[7] = { GO_HALL_RUNE_1, GO_HALL_RUNE_2, GO_HALL_RUNE_3, GO_HALL_RUNE_4, GO_HALL_RUNE_5, GO_HALL_RUNE_6, GO_HALL_RUNE_7 };
@@ -120,7 +119,7 @@ public:
switch (go->GetEntry())
{
case GO_WHELP_SPAWNER:
- go->CastSpell(NULL, SPELL_SUMMON_ROOKERY_WHELP);
+ go->CastSpell(nullptr, SPELL_SUMMON_ROOKERY_WHELP);
break;
case GO_EMBERSEER_IN:
go_emberseerin = go->GetGUID();
@@ -419,8 +418,8 @@ public:
void Dragonspireroomcheck()
{
- Creature* mob = NULL;
- GameObject* rune = NULL;
+ Creature* mob = nullptr;
+ GameObject* rune = nullptr;
for (uint8 i = 0; i < 7; ++i)
{
@@ -528,7 +527,7 @@ class at_dragonspire_hall : public AreaTriggerScript
public:
at_dragonspire_hall() : AreaTriggerScript("at_dragonspire_hall") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override
{
if (player && player->IsAlive())
{
@@ -552,7 +551,7 @@ class at_blackrock_stadium : public AreaTriggerScript
public:
at_blackrock_stadium() : AreaTriggerScript("at_blackrock_stadium") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override
{
if (player && player->IsAlive())
{
@@ -576,10 +575,12 @@ class at_nearby_scarshield_infiltrator : public AreaTriggerScript
public:
at_nearby_scarshield_infiltrator() : AreaTriggerScript("at_nearby_scarshield_infiltrator") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override
{
if (player->IsAlive())
+ {
if (InstanceScript* instance = player->GetInstanceScript())
+ {
if (Creature* infiltrator = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_SCARSHIELD_INFILTRATOR)))
{
if (player->getLevel() >= 57)
@@ -589,6 +590,8 @@ public:
return true;
}
+ }
+ }
return false;
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
index 79f47eeb412..ce31344222d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
@@ -18,9 +18,11 @@
#ifndef DEF_BLACKWING_LAIR_H
#define DEF_BLACKWING_LAIR_H
+#include "CreatureAIImpl.h"
+
uint32 const EncounterCount = 8;
-#define BRLScriptName "instance_blackwing_lair"
+#define BWLScriptName "instance_blackwing_lair"
#define DataHeader "BWL"
enum BWLEncounter
@@ -80,4 +82,10 @@ enum BWLMisc
DATA_EGG_EVENT
};
+template <class AI, class T>
+inline AI* GetBlackwingLairAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, BWLScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
index 2973622d842..d8403641dfa 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackwing_lair.h"
+#include "ScriptedCreature.h"
enum Say
{
@@ -110,7 +110,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_broodlordAI>(creature);
+ return GetBlackwingLairAI<boss_broodlordAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
index 7198bd276e6..26619a9b730 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
@@ -17,9 +17,10 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "Player.h"
#include "blackwing_lair.h"
+#include "Map.h"
+#include "Player.h"
+#include "ScriptedCreature.h"
enum Emotes
{
@@ -240,7 +241,7 @@ public:
break;
case EVENT_AFFLICTION:
{
- Map::PlayerList const &players = me->GetMap()->GetPlayers();
+ Map::PlayerList const& players = me->GetMap()->GetPlayers();
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
{
if (Player* player = itr->GetSource()->ToPlayer())
@@ -290,7 +291,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_chromaggusAI>(creature);
+ return GetBlackwingLairAI<boss_chromaggusAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
index 44332ac7663..d31b9f84778 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackwing_lair.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -90,7 +90,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_ebonrocAI>(creature);
+ return GetBlackwingLairAI<boss_ebonrocAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
index 958ff2ef3fa..024fc54e6a0 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackwing_lair.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -92,7 +92,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_firemawAI>(creature);
+ return GetBlackwingLairAI<boss_firemawAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
index 9161c6bb4ca..31d606975bb 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
@@ -17,8 +17,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "blackwing_lair.h"
+#include "ScriptedCreature.h"
enum Emotes
{
@@ -98,7 +98,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_flamegorAI>(creature);
+ return GetBlackwingLairAI<boss_flamegorAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
index 1d4ce755908..f213a2be37c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
@@ -17,10 +17,14 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedGossip.h"
-#include "ScriptedCreature.h"
#include "blackwing_lair.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "ScriptedGossip.h"
+#include "TemporarySummon.h"
enum Events
{
@@ -351,7 +355,7 @@ public:
nefarian->setActive(true);
nefarian->SetCanFly(true);
nefarian->SetDisableGravity(true);
- nefarian->CastSpell((Unit*)NULL, SPELL_SHADOWFLAME_INITIAL);
+ nefarian->CastSpell((Unit*)nullptr, SPELL_SHADOWFLAME_INITIAL);
nefarian->GetMotionMaster()->MovePoint(1, NefarianLoc[1]);
}
events.CancelEvent(EVENT_MIND_CONTROL);
@@ -388,7 +392,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_victor_nefariusAI>(creature);
+ return GetBlackwingLairAI<boss_victor_nefariusAI>(creature);
}
};
@@ -594,7 +598,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_nefarianAI>(creature);
+ return GetBlackwingLairAI<boss_nefarianAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
index b425f234df9..b7c4e32188d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
@@ -17,11 +17,13 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "SpellScript.h"
-#include "GameObjectAI.h"
#include "blackwing_lair.h"
+#include "InstanceScript.h"
+#include "GameObject.h"
+#include "GameObjectAI.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "SpellScript.h"
enum Say
{
@@ -169,7 +171,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_razorgoreAI>(creature);
+ return GetBlackwingLairAI<boss_razorgoreAI>(creature);
}
};
@@ -200,7 +202,7 @@ class go_orb_of_domination : public GameObjectScript
GameObjectAI* GetAI(GameObject* go) const override
{
- return GetInstanceAI<go_orb_of_dominationAI>(go);
+ return GetBlackwingLairAI<go_orb_of_dominationAI>(go);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
index b8993354501..491d37f59c4 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
@@ -17,12 +17,13 @@
*/
#include "ScriptMgr.h"
-#include "SpellScript.h"
-#include "SpellAuraEffects.h"
-#include "ScriptedCreature.h"
#include "blackwing_lair.h"
-#include "ScriptedGossip.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "ScriptedGossip.h"
+#include "SpellAuraEffects.h"
+#include "SpellScript.h"
enum Says
{
@@ -239,7 +240,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_vaelAI(creature);
+ return GetBlackwingLairAI<boss_vaelAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
index a65620d7dca..bfd3d2ef3be 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
@@ -15,10 +15,15 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "Player.h"
-#include "ScriptedCreature.h"
#include "ScriptMgr.h"
#include "blackwing_lair.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "Map.h"
+#include "MotionMaster.h"
+#include "Player.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
DoorData const doorData[] =
{
@@ -63,7 +68,7 @@ uint32 const Entry[5] = {12422, 12458, 12416, 12420, 12459};
class instance_blackwing_lair : public InstanceMapScript
{
public:
- instance_blackwing_lair() : InstanceMapScript(BRLScriptName, 469) { }
+ instance_blackwing_lair() : InstanceMapScript(BWLScriptName, 469) { }
struct instance_blackwing_lair_InstanceMapScript : public InstanceScript
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
index 7f473c00f53..ef9378df968 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
@@ -23,12 +23,12 @@ SDComment:
SDCategory: Molten Core
EndScriptData */
-#include "ObjectMgr.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "molten_core.h"
+#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
+#include "ObjectMgr.h"
enum Emotes
{
@@ -121,7 +121,7 @@ class boss_baron_geddon : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_baron_geddonAI(creature);
+ return GetMoltenCoreAI<boss_baron_geddonAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
index 64e59f480bf..580495bd6c7 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
@@ -23,10 +23,10 @@ SDComment: Adds NYI
SDCategory: Molten Core
EndScriptData */
-#include "ObjectMgr.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "molten_core.h"
+#include "ObjectMgr.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -100,7 +100,7 @@ class boss_garr : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_garrAI(creature);
+ return GetMoltenCoreAI<boss_garrAI>(creature);
}
};
@@ -160,7 +160,7 @@ class npc_firesworn : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_fireswornAI(creature);
+ return GetMoltenCoreAI<npc_fireswornAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
index b55c939bfec..43454e9b840 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
@@ -23,10 +23,10 @@ SDComment: Adds MC NYI
SDCategory: Molten Core
EndScriptData */
-#include "ObjectMgr.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "molten_core.h"
+#include "ObjectMgr.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -103,7 +103,7 @@ class boss_gehennas : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_gehennasAI(creature);
+ return GetMoltenCoreAI<boss_gehennasAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
index 1fa97bdecdb..c05454daea7 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
@@ -23,10 +23,12 @@ SDComment: Timers need to be confirmed, Golemagg's Trust need to be checked
SDCategory: Molten Core
EndScriptData */
-#include "ObjectMgr.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "InstanceScript.h"
#include "molten_core.h"
+#include "ObjectAccessor.h"
+#include "ObjectMgr.h"
+#include "ScriptedCreature.h"
enum Texts
{
@@ -121,7 +123,7 @@ class boss_golemagg : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_golemaggAI(creature);
+ return GetMoltenCoreAI<boss_golemaggAI>(creature);
}
};
@@ -188,7 +190,7 @@ class npc_core_rager : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_core_ragerAI>(creature);
+ return GetMoltenCoreAI<npc_core_ragerAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
index 190aa91aa6d..5a5baf50b79 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
@@ -23,10 +23,10 @@ SDComment:
SDCategory: Molten Core
EndScriptData */
-#include "ObjectMgr.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "molten_core.h"
+#include "ObjectMgr.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -101,7 +101,7 @@ class boss_lucifron : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_lucifronAI(creature);
+ return GetMoltenCoreAI<boss_lucifronAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
index 6ed123d465b..1fa9bfeec25 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
@@ -23,10 +23,10 @@ SDComment: Conflag on ground nyi
SDCategory: Molten Core
EndScriptData */
-#include "ObjectMgr.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "molten_core.h"
+#include "ObjectMgr.h"
+#include "ScriptedCreature.h"
enum Texts
{
@@ -115,7 +115,7 @@ class boss_magmadar : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_magmadarAI(creature);
+ return GetMoltenCoreAI<boss_magmadarAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
index 7bf91173432..73c1664e71f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
@@ -23,12 +23,14 @@ SDComment: Correct spawning and Event NYI
SDCategory: Molten Core
EndScriptData */
-#include "ObjectMgr.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
+#include "InstanceScript.h"
+#include "Map.h"
#include "molten_core.h"
+#include "ObjectMgr.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "ScriptedGossip.h"
enum Texts
{
@@ -108,7 +110,7 @@ class boss_majordomo : public CreatureScript
if (!me->FindNearestCreature(NPC_FLAMEWAKER_HEALER, 100.0f) && !me->FindNearestCreature(NPC_FLAMEWAKER_ELITE, 100.0f))
{
- instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, me->GetEntry(), me);
+ instance->UpdateEncounterStateForKilledCreature(me->GetEntry(), me);
me->SetFaction(FACTION_FRIENDLY);
EnterEvadeMode();
Talk(SAY_DEFEAT);
@@ -208,7 +210,7 @@ class boss_majordomo : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_majordomoAI>(creature);
+ return GetMoltenCoreAI<boss_majordomoAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
index 481472f854e..49bb5f11ecc 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
@@ -24,8 +24,11 @@ SDCategory: Molten Core
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "InstanceScript.h"
#include "molten_core.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
enum Texts
{
@@ -309,7 +312,7 @@ class boss_ragnaros : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_ragnarosAI>(creature);
+ return GetMoltenCoreAI<boss_ragnarosAI>(creature);
}
};
@@ -344,7 +347,7 @@ class npc_son_of_flame : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_son_of_flameAI>(creature);
+ return GetMoltenCoreAI<npc_son_of_flameAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
index 1ea9a069588..bf7e1d8a213 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
@@ -16,9 +16,9 @@
*/
#include "ScriptMgr.h"
+#include "molten_core.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
-#include "molten_core.h"
enum Spells
{
@@ -115,7 +115,7 @@ class boss_shazzrah : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_shazzrahAI(creature);
+ return GetMoltenCoreAI<boss_shazzrahAI>(creature);
}
};
@@ -131,9 +131,7 @@ class spell_shazzrah_gate_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SHAZZRAH_GATE))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SHAZZRAH_GATE });
}
void FilterTargets(std::list<WorldObject*>& targets)
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
index 6f1cfa94114..778e4bd9069 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
@@ -23,10 +23,10 @@ SDComment: Adds NYI
SDCategory: Molten Core
EndScriptData */
-#include "ObjectMgr.h"
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "molten_core.h"
+#include "ObjectMgr.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -132,7 +132,7 @@ class boss_sulfuron : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_sulfuronAI(creature);
+ return GetMoltenCoreAI<boss_sulfuronAI>(creature);
}
};
@@ -211,7 +211,7 @@ class npc_flamewaker_priest : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_flamewaker_priestAI(creature);
+ return GetMoltenCoreAI<npc_flamewaker_priestAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
index 47797d09332..a3f990ea34d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
@@ -15,10 +15,13 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "InstanceScript.h"
-#include "ScriptedCreature.h"
#include "ScriptMgr.h"
#include "molten_core.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "Map.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
Position const SummonPositions[10] =
{
@@ -34,10 +37,13 @@ Position const SummonPositions[10] =
{838.510f, -829.840f, -232.000f, 2.00000f},
};
+Position const RagnarosTelePos = {829.159f, -815.773f, -228.972f, 5.30500f};
+Position const RagnarosSummonPos = {838.510f, -829.840f, -232.000f, 2.00000f};
+
class instance_molten_core : public InstanceMapScript
{
public:
- instance_molten_core() : InstanceMapScript("instance_molten_core", 409) { }
+ instance_molten_core() : InstanceMapScript(MCScriptName, 409) { }
struct instance_molten_core_InstanceMapScript : public InstanceScript
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
index 45037170b7e..9e582985088 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
@@ -19,6 +19,11 @@
#ifndef DEF_MOLTEN_CORE_H
#define DEF_MOLTEN_CORE_H
+#include "CreatureAIImpl.h"
+
+struct Position;
+
+#define MCScriptName "instance_molten_core"
#define DataHeader "MC"
enum MCEncounters
@@ -42,8 +47,8 @@ enum MCActions
ACTION_START_RAGNAROS_ALT = 1,
};
-Position const RagnarosTelePos = {829.159f, -815.773f, -228.972f, 5.30500f};
-Position const RagnarosSummonPos = {838.510f, -829.840f, -232.000f, 2.00000f};
+extern Position const RagnarosTelePos;
+extern Position const RagnarosSummonPos;
enum MCCreatures
{
@@ -71,4 +76,10 @@ enum MCData
DATA_RAGNAROS_ADDS = 0,
};
+template <class AI, class T>
+inline AI* GetMoltenCoreAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, MCScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
index b9d3a96f338..89239a8fb24 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
@@ -22,8 +22,12 @@ SDComment: Timers and say taken from acid script
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "deadmines.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -53,7 +57,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_mr_smiteAI>(creature);
+ return GetDeadminesAI<boss_mr_smiteAI>(creature);
}
struct boss_mr_smiteAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp
index c9e83cf2bfe..d8887dea5a7 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp
@@ -24,10 +24,13 @@ SDCategory: Deadmines
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "deadmines.h"
-#include "Spell.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "Item.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "Spell.h"
#include "WorldSession.h"
/*#####
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h
index 33abf4b8eee..a2778fb38c0 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h
+++ b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h
@@ -18,6 +18,9 @@
#ifndef DEF_DEADMINES_H
#define DEF_DEADMINES_H
+#include "CreatureAIImpl.h"
+
+#define DMScriptName "instance_deadmines"
#define DataHeader "DM"
enum DMCannonState
@@ -61,4 +64,10 @@ enum DMInstanceTexts
SAY_ALARM2 = 1
};
+template <class AI, class T>
+inline AI* GetDeadminesAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, DMScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
index 877ffd70a1b..d87274818b1 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
@@ -24,10 +24,13 @@ SDCategory: Deadmines
EndScriptData */
#include "ScriptMgr.h"
-#include "InstanceScript.h"
+#include "CreatureAI.h"
#include "deadmines.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "Map.h"
+#include "MotionMaster.h"
#include "TemporarySummon.h"
-#include "WorldPacket.h"
enum Sounds
{
@@ -45,8 +48,7 @@ enum Misc
class instance_deadmines : public InstanceMapScript
{
public:
- instance_deadmines()
- : InstanceMapScript("instance_deadmines", 36)
+ instance_deadmines() : InstanceMapScript(DMScriptName, 36)
{
}
@@ -213,15 +215,15 @@ class instance_deadmines : public InstanceMapScript
{
switch (type)
{
- case EVENT_STATE:
- if (DefiasCannonGUID && IronCladDoorGUID)
- State=data;
- break;
- case EVENT_RHAHKZOR:
- if (data == DONE)
- if (GameObject* go = instance->GetGameObject(FactoryDoorGUID))
- go->SetGoState(GO_STATE_ACTIVE);
- break;
+ case EVENT_STATE:
+ if (DefiasCannonGUID && IronCladDoorGUID)
+ State = data;
+ break;
+ case EVENT_RHAHKZOR:
+ if (data == DONE)
+ if (GameObject* go = instance->GetGameObject(FactoryDoorGUID))
+ go->SetGoState(GO_STATE_ACTIVE);
+ break;
}
}
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
index bf781c171e5..f787da07308 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
@@ -23,12 +23,16 @@ SDComment: Some visual effects are not implemented.
Script Data End */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
+#include "gnomeregan.h"
+#include "InstanceScript.h"
+#include "Map.h"
+#include "ObjectAccessor.h"
+#include "Player.h"
#include "ScriptedEscortAI.h"
#include "ScriptedGossip.h"
#include "SpellScript.h"
-#include "Player.h"
-#include "gnomeregan.h"
+#include "TemporarySummon.h"
enum BlastmasterEmi
{
@@ -87,7 +91,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_blastmaster_emi_shortfuseAI>(creature);
+ return GetGnomereganAI<npc_blastmaster_emi_shortfuseAI>(creature);
}
struct npc_blastmaster_emi_shortfuseAI : public npc_escortAI
@@ -201,7 +205,7 @@ public:
void AggroAllPlayers(Creature* temp)
{
- Map::PlayerList const &PlList = me->GetMap()->GetPlayers();
+ Map::PlayerList const& PlList = me->GetMap()->GetPlayers();
for (Map::PlayerList::const_iterator i = PlList.begin(); i != PlList.end(); ++i)
{
if (Player* player = i->GetSource())
@@ -304,7 +308,7 @@ public:
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[9], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
break;
case 2:
- if (GameObject* go = me->SummonGameObject(183410, -533.140f, -105.322f, -156.016f, 0.f, G3D::Quat(), 1))
+ if (GameObject* go = me->SummonGameObject(183410, -533.140f, -105.322f, -156.016f, 0.f, QuaternionData(), 1))
{
GoSummonList.push_back(go->GetGUID());
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
@@ -319,7 +323,7 @@ public:
Talk(SAY_BLASTMASTER_7);
break;
case 4:
- if (GameObject* go = me->SummonGameObject(183410, -542.199f, -96.854f, -155.790f, 0.f, G3D::Quat(), 1))
+ if (GameObject* go = me->SummonGameObject(183410, -542.199f, -96.854f, -155.790f, 0.f, QuaternionData(), 1))
{
GoSummonList.push_back(go->GetGUID());
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
@@ -333,7 +337,7 @@ public:
me->SummonCreature(NPC_CAVERNDEEP_AMBUSHER, SpawnPosition[14], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
break;
case 6:
- if (GameObject* go = me->SummonGameObject(183410, -507.820f, -103.333f, -151.353f, 0.f, G3D::Quat(), 1))
+ if (GameObject* go = me->SummonGameObject(183410, -507.820f, -103.333f, -151.353f, 0.f, QuaternionData(), 1))
{
GoSummonList.push_back(go->GetGUID());
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
@@ -341,7 +345,7 @@ public:
}
break;
case 7:
- if (GameObject* go = me->SummonGameObject(183410, -511.829f, -86.249f, -151.431f, 0.f, G3D::Quat(), 1))
+ if (GameObject* go = me->SummonGameObject(183410, -511.829f, -86.249f, -151.431f, 0.f, QuaternionData(), 1))
{
GoSummonList.push_back(go->GetGUID());
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
@@ -353,9 +357,9 @@ public:
me->SummonCreature(NPC_CHOMPER, SpawnPosition[16], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1800000);
break;
case 9:
- me->SummonGameObject(GO_RED_ROCKET, SpawnPosition[17], G3D::Quat(), 7200);
- me->SummonGameObject(GO_RED_ROCKET, SpawnPosition[18], G3D::Quat(), 7200);
- me->SummonGameObject(GO_RED_ROCKET, SpawnPosition[19], G3D::Quat(), 7200);
+ me->SummonGameObject(GO_RED_ROCKET, SpawnPosition[17], QuaternionData(), 7200);
+ me->SummonGameObject(GO_RED_ROCKET, SpawnPosition[18], QuaternionData(), 7200);
+ me->SummonGameObject(GO_RED_ROCKET, SpawnPosition[19], QuaternionData(), 7200);
break;
}
}
@@ -503,7 +507,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_grubbisAI(creature);
+ return GetGnomereganAI<boss_grubbisAI>(creature);
}
struct boss_grubbisAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h
index 4cf4fcd0a1d..ad64a301e0a 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.h
@@ -18,6 +18,9 @@
#ifndef DEF_GNOMEREGAN_H
#define DEF_GNOMEREGAN_H
+#include "CreatureAIImpl.h"
+
+#define GNOScriptName "instance_gnomeregan"
#define DataHeader "GNO"
enum GNOGameObjectIds
@@ -47,4 +50,10 @@ enum GNOData64
DATA_NPC_BASTMASTER_EMI_SHORTFUSE
};
+template <class AI, class T>
+inline AI* GetGnomereganAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, GNOScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
index 9a8ec451232..2f5f80d0f0d 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
@@ -16,8 +16,12 @@
*/
#include "ScriptMgr.h"
-#include "InstanceScript.h"
+#include "Creature.h"
+#include "GameObject.h"
#include "gnomeregan.h"
+#include "InstanceScript.h"
+#include "Log.h"
+#include "Map.h"
#include "Player.h"
#define MAX_ENCOUNTER 1
@@ -25,7 +29,7 @@
class instance_gnomeregan : public InstanceMapScript
{
public:
- instance_gnomeregan() : InstanceMapScript("instance_gnomeregan", 90) { }
+ instance_gnomeregan() : InstanceMapScript(GNOScriptName, 90) { }
InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
@@ -47,7 +51,7 @@ public:
ObjectGuid uiBastmasterEmiShortfuseGUID;
- void Load(const char* in) override
+ void Load(char const* in) override
{
if (!in)
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
index 3c4025084d2..8676bbe9520 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
@@ -16,8 +16,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "karazhan.h"
+#include "ScriptedCreature.h"
enum CuratorSays
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
index 2adb2d445e6..ef9dc5e2e98 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
@@ -16,8 +16,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "karazhan.h"
+#include "ScriptedCreature.h"
enum Spells
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index 55b089842e0..fa7a27082d8 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -24,9 +24,11 @@ SDCategory: Karazhan
EndScriptData */
#include "ScriptMgr.h"
+#include "karazhan.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
-#include "karazhan.h"
enum Texts
{
@@ -171,7 +173,7 @@ public:
scheduler.Schedule(Seconds(10), Seconds(25), [this](TaskContext task)
{
Unit* target = nullptr;
- ThreatContainer::StorageType const &t_list = me->getThreatManager().getThreatList();
+ ThreatContainer::StorageType const& t_list = me->getThreatManager().getThreatList();
std::vector<Unit*> target_list;
for (ThreatContainer::StorageType::const_iterator itr = t_list.begin(); itr != t_list.end(); ++itr)
@@ -222,7 +224,7 @@ public:
std::bind(&BossAI::DoMeleeAttackIfReady, this));
}
- void SpellHit(Unit* /*source*/, const SpellInfo* spell) override
+ void SpellHit(Unit* /*source*/, SpellInfo const* spell) override
{
if (spell->Mechanic == MECHANIC_DISARM)
Talk(SAY_DISARMED);
@@ -275,7 +277,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_attumenAI(creature);
+ return GetKarazhanAI<boss_attumenAI>(creature);
}
};
@@ -377,7 +379,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_midnightAI(creature);
+ return GetKarazhanAI<boss_midnightAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
index 1adbbec120f..8b0f5a7a150 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
@@ -24,8 +24,11 @@ SDCategory: Karazhan
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "karazhan.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
enum Yells
{
@@ -98,7 +101,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_moroesAI>(creature);
+ return GetKarazhanAI<boss_moroesAI>(creature);
}
struct boss_moroesAI : public ScriptedAI
@@ -381,7 +384,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_baroness_dorothea_millstipeAI>(creature);
+ return GetKarazhanAI<boss_baroness_dorothea_millstipeAI>(creature);
}
struct boss_baroness_dorothea_millstipeAI : public boss_moroes_guestAI
@@ -452,7 +455,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_baron_rafe_dreugerAI>(creature);
+ return GetKarazhanAI<boss_baron_rafe_dreugerAI>(creature);
}
struct boss_baron_rafe_dreugerAI : public boss_moroes_guestAI
@@ -517,7 +520,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_lady_catriona_von_indiAI>(creature);
+ return GetKarazhanAI<boss_lady_catriona_von_indiAI>(creature);
}
struct boss_lady_catriona_von_indiAI : public boss_moroes_guestAI
@@ -595,7 +598,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_lady_keira_berrybuckAI>(creature);
+ return GetKarazhanAI<boss_lady_keira_berrybuckAI>(creature);
}
struct boss_lady_keira_berrybuckAI : public boss_moroes_guestAI
@@ -677,7 +680,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_lord_robin_darisAI>(creature);
+ return GetKarazhanAI<boss_lord_robin_darisAI>(creature);
}
struct boss_lord_robin_darisAI : public boss_moroes_guestAI
@@ -741,7 +744,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_lord_crispin_ferenceAI>(creature);
+ return GetKarazhanAI<boss_lord_crispin_ferenceAI>(creature);
}
struct boss_lord_crispin_ferenceAI : public boss_moroes_guestAI
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
index d026182fcb5..36777a5670c 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
@@ -24,9 +24,14 @@ SDCategory: Karazhan
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
#include "karazhan.h"
+#include "Map.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
enum Netherspite
{
@@ -71,7 +76,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_netherspiteAI>(creature);
+ return GetKarazhanAI<boss_netherspiteAI>(creature);
}
struct boss_netherspiteAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
index a5c968ce55a..95510202610 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
@@ -16,11 +16,15 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
-#include "SpellScript.h"
-#include "SpellAuraEffects.h"
+#include "InstanceScript.h"
#include "karazhan.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
+#include "SpellAuraEffects.h"
+#include "SpellScript.h"
enum NightbaneSpells
{
@@ -375,7 +379,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_nightbaneAI>(creature);
+ return GetKarazhanAI<boss_nightbaneAI>(creature);
}
};
@@ -391,9 +395,7 @@ class spell_rain_of_bones : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_SKELETON))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SUMMON_SKELETON });
}
void OnTrigger(AuraEffect const* aurEff)
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
index 3fc3dd1c8f8..e2843844076 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
@@ -24,9 +24,13 @@ SDCategory: Karazhan
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "karazhan.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
#include "SpellInfo.h"
+#include "SpellMgr.h"
+#include "TemporarySummon.h"
// 18 Coordinates for Infernal spawns
struct InfernalPoint
@@ -104,13 +108,13 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new netherspite_infernalAI(creature);
+ return GetKarazhanAI<netherspite_infernalAI>(creature);
}
struct netherspite_infernalAI : public ScriptedAI
{
netherspite_infernalAI(Creature* creature) : ScriptedAI(creature),
- HellfireTimer(0), CleanupTimer(0), point(NULL) { }
+ HellfireTimer(0), CleanupTimer(0), point(nullptr) { }
uint32 HellfireTimer;
uint32 CleanupTimer;
@@ -151,7 +155,7 @@ public:
creature->AI()->KilledUnit(who);
}
- void SpellHit(Unit* /*who*/, const SpellInfo* spell) override
+ void SpellHit(Unit* /*who*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_INFERNAL_RELAY)
{
@@ -179,7 +183,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_malchezaarAI>(creature);
+ return GetKarazhanAI<boss_malchezaarAI>(creature);
}
struct boss_malchezaarAI : public ScriptedAI
@@ -308,11 +312,11 @@ public:
void EnfeebleHealthEffect()
{
- const SpellInfo* info = sSpellMgr->GetSpellInfo(SPELL_ENFEEBLE_EFFECT);
+ SpellInfo const* info = sSpellMgr->GetSpellInfo(SPELL_ENFEEBLE_EFFECT);
if (!info)
return;
- ThreatContainer::StorageType const &t_list = me->getThreatManager().getThreatList();
+ ThreatContainer::StorageType const& t_list = me->getThreatManager().getThreatList();
std::vector<Unit*> targets;
if (t_list.empty())
@@ -356,7 +360,7 @@ public:
void SummonInfernal(const uint32 /*diff*/)
{
- InfernalPoint *point = NULL;
+ InfernalPoint *point = nullptr;
Position pos;
if ((me->GetMapId() != 532) || positions.empty())
pos = me->GetRandomNearPosition(60);
@@ -524,7 +528,7 @@ public:
{
if (SWPainTimer <= diff)
{
- Unit* target = NULL;
+ Unit* target = nullptr;
if (phase == 1)
target = me->GetVictim(); // the tank
else // anyone but the tank
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
index d3a580f5159..0f44933caeb 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
@@ -24,10 +24,13 @@ SDCategory: Karazhan
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "karazhan.h"
+#include "InstanceScript.h"
#include "GameObject.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
#include "SpellInfo.h"
+#include "TemporarySummon.h"
enum ShadeOfAran
{
@@ -86,7 +89,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_aranAI>(creature);
+ return GetKarazhanAI<boss_aranAI>(creature);
}
struct boss_aranAI : public ScriptedAI
@@ -182,7 +185,7 @@ public:
void FlameWreathEffect()
{
std::vector<Unit*> targets;
- ThreatContainer::StorageType const &t_list = me->getThreatManager().getThreatList();
+ ThreatContainer::StorageType const& t_list = me->getThreatManager().getThreatList();
if (t_list.empty())
return;
@@ -482,7 +485,7 @@ public:
DrinkInturrupted = true;
}
- void SpellHit(Unit* /*pAttacker*/, const SpellInfo* Spell) override
+ void SpellHit(Unit* /*pAttacker*/, SpellInfo const* Spell) override
{
//We only care about interrupt effects and only if they are durring a spell currently being cast
if ((Spell->Effects[0].Effect != SPELL_EFFECT_INTERRUPT_CAST &&
@@ -513,7 +516,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new water_elementalAI(creature);
+ return GetKarazhanAI<water_elementalAI>(creature);
}
struct water_elementalAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
index d1743771363..37c944500e5 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
@@ -16,9 +16,10 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "karazhan.h"
+#include "ObjectAccessor.h"
#include "PassiveAI.h"
+#include "ScriptedCreature.h"
#include "SpellInfo.h"
enum TerestianSays
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index 589fa02f1a2..9a01970f68b 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -24,11 +24,16 @@ SDCategory: Karazhan
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
+#include "InstanceScript.h"
#include "karazhan.h"
+#include "Log.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "ScriptedGossip.h"
#include "SpellInfo.h"
+#include "TemporarySummon.h"
/***********************************/
/*** OPERA WIZARD OF OZ EVENT *****/
@@ -118,7 +123,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_dorotheeAI>(creature);
+ return GetKarazhanAI<boss_dorotheeAI>(creature);
}
struct boss_dorotheeAI : public ScriptedAI
@@ -238,7 +243,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_titoAI(creature);
+ return GetKarazhanAI<npc_titoAI>(creature);
}
struct npc_titoAI : public ScriptedAI
@@ -312,7 +317,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_strawmanAI>(creature);
+ return GetKarazhanAI<boss_strawmanAI>(creature);
}
struct boss_strawmanAI : public ScriptedAI
@@ -368,7 +373,7 @@ public:
me->DespawnOrUnsummon();
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) override
+ void SpellHit(Unit* /*caster*/, SpellInfo const* Spell) override
{
if ((Spell->SchoolMask == SPELL_SCHOOL_MASK_FIRE) && (!(rand32() % 10)))
{
@@ -432,7 +437,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_tinheadAI>(creature);
+ return GetKarazhanAI<boss_tinheadAI>(creature);
}
struct boss_tinheadAI : public ScriptedAI
@@ -547,7 +552,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_roarAI>(creature);
+ return GetKarazhanAI<boss_roarAI>(creature);
}
struct boss_roarAI : public ScriptedAI
@@ -661,7 +666,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_croneAI>(creature);
+ return GetKarazhanAI<boss_croneAI>(creature);
}
struct boss_croneAI : public ScriptedAI
@@ -745,7 +750,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_cycloneAI(creature);
+ return GetKarazhanAI<npc_cycloneAI>(creature);
}
struct npc_cycloneAI : public ScriptedAI
@@ -833,7 +838,7 @@ class npc_grandmother : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_grandmotherAI(creature);
+ return GetKarazhanAI<npc_grandmotherAI>(creature);
}
};
@@ -844,7 +849,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_bigbadwolfAI>(creature);
+ return GetKarazhanAI<boss_bigbadwolfAI>(creature);
}
struct boss_bigbadwolfAI : public ScriptedAI
@@ -1043,7 +1048,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_julianneAI>(creature);
+ return GetKarazhanAI<boss_julianneAI>(creature);
}
struct boss_julianneAI : public ScriptedAI
@@ -1131,7 +1136,7 @@ public:
me->DespawnOrUnsummon();
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) override
+ void SpellHit(Unit* /*caster*/, SpellInfo const* Spell) override
{
if (Spell->Id == SPELL_DRINK_POISON)
{
@@ -1164,7 +1169,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_romuloAI>(creature);
+ return GetKarazhanAI<boss_romuloAI>(creature);
}
struct boss_romuloAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
index 6e0dd3b1ee5..9daf041e54e 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
@@ -24,8 +24,11 @@ SDCategory: Karazhan
EndScriptData */
#include "ScriptMgr.h"
+#include "Creature.h"
+#include "GameObject.h"
#include "InstanceScript.h"
#include "karazhan.h"
+#include "Map.h"
/*
0 - Attumen + Midnight (optional)
@@ -52,7 +55,7 @@ const Position OptionalSpawn[] =
class instance_karazhan : public InstanceMapScript
{
public:
- instance_karazhan() : InstanceMapScript("instance_karazhan", 532) { }
+ instance_karazhan() : InstanceMapScript(KZScriptName, 532) { }
InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
@@ -161,7 +164,7 @@ public:
HandleGameObject(StageDoorRightGUID, true);
if (GameObject* sideEntrance = instance->GetGameObject(SideEntranceDoor))
sideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
- UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, 16812, NULL);
+ UpdateEncounterStateForKilledCreature(16812, nullptr);
}
break;
case DATA_CHESS:
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
index 09dff7b6f0f..8c5f57e9a8e 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
@@ -29,11 +29,16 @@ npc_image_of_medivh
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
+#include "InstanceScript.h"
#include "karazhan.h"
-#include "ScriptedEscortAI.h"
+#include "Log.h"
+#include "Map.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
+#include "ScriptedGossip.h"
+#include "TemporarySummon.h"
enum Spells
{
@@ -309,7 +314,7 @@ public:
{
if (WipeTimer <= diff)
{
- Map::PlayerList const &PlayerList = me->GetMap()->GetPlayers();
+ Map::PlayerList const& PlayerList = me->GetMap()->GetPlayers();
if (PlayerList.isEmpty())
return;
@@ -429,7 +434,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_image_of_medivhAI>(creature);
+ return GetKarazhanAI<npc_image_of_medivhAI>(creature);
}
struct npc_image_of_medivhAI : public ScriptedAI
@@ -566,7 +571,7 @@ public:
me->SetVisible(false);
me->ClearInCombat();
- InstanceMap::PlayerList const &PlayerList = me->GetMap()->GetPlayers();
+ InstanceMap::PlayerList const& PlayerList = me->GetMap()->GetPlayers();
for (InstanceMap::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
if (i->GetSource()->IsAlive())
@@ -579,7 +584,7 @@ public:
}
case 15:
if (Creature* arca = ObjectAccessor::GetCreature(*me, ArcanagosGUID))
- arca->DealDamage(arca, arca->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
+ arca->DealDamage(arca, arca->GetHealth(), nullptr, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, nullptr, false);
return 5000;
default:
return 9999999;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.h b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.h
index c36b99e6e49..e13e108eb4b 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.h
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.h
@@ -19,6 +19,8 @@
#ifndef DEF_KARAZHAN_H
#define DEF_KARAZHAN_H
+#include "CreatureAIImpl.h"
+
#define KZScriptName "instance_karazhan"
#define DataHeader "KZ"
@@ -111,7 +113,7 @@ enum KZMisc
OPTIONAL_BOSS_REQUIRED_DEATH_COUNT = 50
};
-template<class AI, class T>
+template <class AI, class T>
inline AI* GetKarazhanAI(T* obj)
{
return GetInstanceAI<AI>(obj, KZScriptName);
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
index 11e4fc35fdf..600ab5d379b 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -24,10 +24,13 @@ SDCategory: Magisters' Terrace
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
#include "magisters_terrace.h"
-#include "WorldPacket.h"
-#include "Opcodes.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
enum Says
{
@@ -69,8 +72,6 @@ enum Spells
SPELL_POWER_FEEDBACK = 44233 // Stuns him, making him take 50% more damage for 10 seconds. Cast after Gravity Lapse
};
-
-
enum Creatures
{
CREATURE_PHOENIX = 24674,
@@ -96,7 +97,7 @@ public:
CreatureAI* GetAI(Creature* c) const override
{
- return GetInstanceAI<boss_felblood_kaelthasAI>(c);
+ return GetMagistersTerraceAI<boss_felblood_kaelthasAI>(c);
}
struct boss_felblood_kaelthasAI : public ScriptedAI
@@ -198,7 +199,7 @@ public:
if (!summonedUnit)
return;
- ThreatContainer::StorageType const &threatlist = me->getThreatManager().getThreatList();
+ ThreatContainer::StorageType const& threatlist = me->getThreatManager().getThreatList();
ThreatContainer::StorageType::const_iterator i = threatlist.begin();
for (i = threatlist.begin(); i != threatlist.end(); ++i)
{
@@ -251,11 +252,7 @@ public:
{
// Also needs an exception in spell system.
unit->CastSpell(unit, SPELL_GRAVITY_LAPSE_FLY, true, 0, 0, me->GetGUID());
- // Use packet hack
- WorldPacket data(SMSG_MOVE_SET_CAN_FLY, 12);
- data << unit->GetPackGUID();
- data << uint32(0);
- unit->SendMessageToSet(&data, true);
+ unit->SetCanFly(true);
}
}
}
@@ -271,11 +268,7 @@ public:
{
unit->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_FLY);
unit->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_DOT);
-
- WorldPacket data(SMSG_MOVE_UNSET_CAN_FLY, 12);
- data << unit->GetPackGUID();
- data << uint32(0);
- unit->SendMessageToSet(&data, true);
+ unit->SetCanFly(false);
}
}
}
@@ -399,7 +392,7 @@ public:
for (uint8 i = 0; i < 3; ++i)
{
- Unit* target = NULL;
+ Unit* target = nullptr;
target = SelectTarget(SELECT_TARGET_RANDOM, 0);
Creature* Orb = DoSpawnCreature(CREATURE_ARCANE_SPHERE, 5, 5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 30000);
@@ -438,7 +431,7 @@ public:
CreatureAI* GetAI(Creature* c) const override
{
- return new npc_felkael_flamestrikeAI(c);
+ return GetMagistersTerraceAI<npc_felkael_flamestrikeAI>(c);
}
struct npc_felkael_flamestrikeAI : public ScriptedAI
@@ -486,7 +479,7 @@ public:
CreatureAI* GetAI(Creature* c) const override
{
- return GetInstanceAI<npc_felkael_phoenixAI>(c);
+ return GetMagistersTerraceAI<npc_felkael_phoenixAI>(c);
}
struct npc_felkael_phoenixAI : public ScriptedAI
@@ -589,7 +582,7 @@ public:
{
//spell Burn should possible do this, but it doesn't, so do this for now.
uint16 dmg = urand(1650, 2050);
- me->DealDamage(me, dmg, 0, DOT, SPELL_SCHOOL_MASK_FIRE, NULL, false);
+ me->DealDamage(me, dmg, 0, DOT, SPELL_SCHOOL_MASK_FIRE, nullptr, false);
BurnTimer += 2000;
} BurnTimer -= diff;
@@ -605,7 +598,7 @@ public:
CreatureAI* GetAI(Creature* c) const override
{
- return new npc_felkael_phoenix_eggAI(c);
+ return GetMagistersTerraceAI<npc_felkael_phoenix_eggAI>(c);
}
struct npc_felkael_phoenix_eggAI : public ScriptedAI
@@ -649,7 +642,7 @@ public:
CreatureAI* GetAI(Creature* c) const override
{
- return new npc_arcane_sphereAI(c);
+ return GetMagistersTerraceAI<npc_arcane_sphereAI>(c);
}
struct npc_arcane_sphereAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
index ca816e8f512..8cddec4b58f 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
@@ -24,8 +24,11 @@ SDCategory: Magister's Terrace
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "magisters_terrace.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
struct Speech
{
@@ -110,7 +113,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_priestess_delrissaAI>(creature);
+ return GetMagistersTerraceAI<boss_priestess_delrissaAI>(creature);
}
struct boss_priestess_delrissaAI : public ScriptedAI
@@ -315,7 +318,7 @@ public:
if (DispelTimer <= diff)
{
- Unit* target = NULL;
+ Unit* target = nullptr;
if (urand(0, 1))
target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
@@ -497,7 +500,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_kagani_nightstrikeAI>(creature);
+ return GetMagistersTerraceAI<boss_kagani_nightstrikeAI>(creature);
}
struct boss_kagani_nightstrikeAI : public boss_priestess_lackey_commonAI
@@ -609,7 +612,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_ellris_duskhallowAI>(creature);
+ return GetMagistersTerraceAI<boss_ellris_duskhallowAI>(creature);
}
struct boss_ellris_duskhallowAI : public boss_priestess_lackey_commonAI
@@ -708,7 +711,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_eramas_brightblazeAI>(creature);
+ return GetMagistersTerraceAI<boss_eramas_brightblazeAI>(creature);
}
struct boss_eramas_brightblazeAI : public boss_priestess_lackey_commonAI
@@ -777,7 +780,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_yazzaiAI>(creature);
+ return GetMagistersTerraceAI<boss_yazzaiAI>(creature);
}
struct boss_yazzaiAI : public boss_priestess_lackey_commonAI
@@ -871,7 +874,7 @@ public:
if (Blink_Timer <= diff)
{
bool InMeleeRange = false;
- ThreatContainer::StorageType const &t_list = me->getThreatManager().getThreatList();
+ ThreatContainer::StorageType const& t_list = me->getThreatManager().getThreatList();
for (ThreatContainer::StorageType::const_iterator itr = t_list.begin(); itr!= t_list.end(); ++itr)
{
if (Unit* target = ObjectAccessor::GetUnit(*me, (*itr)->getUnitGuid()))
@@ -915,7 +918,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_warlord_salarisAI>(creature);
+ return GetMagistersTerraceAI<boss_warlord_salarisAI>(creature);
}
struct boss_warlord_salarisAI : public boss_priestess_lackey_commonAI
@@ -965,7 +968,7 @@ public:
if (Intercept_Stun_Timer <= diff)
{
bool InMeleeRange = false;
- ThreatContainer::StorageType const &t_list = me->getThreatManager().getThreatList();
+ ThreatContainer::StorageType const& t_list = me->getThreatManager().getThreatList();
for (ThreatContainer::StorageType::const_iterator itr = t_list.begin(); itr!= t_list.end(); ++itr)
{
if (Unit* target = ObjectAccessor::GetUnit(*me, (*itr)->getUnitGuid()))
@@ -1043,7 +1046,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_garaxxasAI>(creature);
+ return GetMagistersTerraceAI<boss_garaxxasAI>(creature);
}
struct boss_garaxxasAI : public boss_priestess_lackey_commonAI
@@ -1159,7 +1162,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_apokoAI>(creature);
+ return GetMagistersTerraceAI<boss_apokoAI>(creature);
}
struct boss_apokoAI : public boss_priestess_lackey_commonAI
@@ -1256,7 +1259,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_zelfanAI>(creature);
+ return GetMagistersTerraceAI<boss_zelfanAI>(creature);
}
struct boss_zelfanAI : public boss_priestess_lackey_commonAI
@@ -1349,7 +1352,7 @@ public:
//CreatureAI* GetAI(Creature* creature) const override
//{
- // return new npc_high_explosive_sheepAI(creature);
+ // return GetMagistersTerraceAI<npc_high_explosive_sheepAI>(creature);
//};
};
*/
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
index 1d738d56984..86592f5677c 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
@@ -16,8 +16,11 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "InstanceScript.h"
#include "magisters_terrace.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
enum Says
{
@@ -263,7 +266,7 @@ class boss_selin_fireheart : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_selin_fireheartAI>(creature);
+ return GetMagistersTerraceAI<boss_selin_fireheartAI>(creature);
};
};
@@ -289,7 +292,7 @@ class npc_fel_crystal : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_fel_crystalAI>(creature);
+ return GetMagistersTerraceAI<npc_fel_crystalAI>(creature);
};
};
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
index 421c5ac45af..cf45d54cc22 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
@@ -16,8 +16,9 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "magisters_terrace.h"
+#include "MotionMaster.h"
+#include "ScriptedCreature.h"
enum Yells
{
@@ -182,7 +183,7 @@ class boss_vexallus : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_vexallusAI>(creature);
+ return GetMagistersTerraceAI<boss_vexallusAI>(creature);
};
};
@@ -214,7 +215,7 @@ class npc_pure_energy : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_pure_energyAI(creature);
+ return GetMagistersTerraceAI<npc_pure_energyAI>(creature);
};
};
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
index d145944bf35..8428762b109 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
@@ -16,10 +16,14 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "EventMap.h"
+#include "GameObject.h"
#include "InstanceScript.h"
#include "magisters_terrace.h"
-#include "EventMap.h"
+#include "Map.h"
+#include "MotionMaster.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
/*
0 - Selin Fireheart
@@ -43,7 +47,7 @@ Position const KalecgosSpawnPos = { 164.3747f, -397.1197f, 2.151798f, 1.66219f }
class instance_magisters_terrace : public InstanceMapScript
{
public:
- instance_magisters_terrace() : InstanceMapScript("instance_magisters_terrace", 585) { }
+ instance_magisters_terrace() : InstanceMapScript(MGTScriptName, 585) { }
struct instance_magisters_terrace_InstanceMapScript : public InstanceScript
{
@@ -147,10 +151,10 @@ class instance_magisters_terrace : public InstanceMapScript
}
}
- void ProcessEvent(WorldObject* obj, uint32 eventId) override
+ void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override
{
if (eventId == EVENT_SPAWN_KALECGOS)
- if (!ObjectAccessor::GetCreature(*obj, KalecgosGUID) && Events.Empty())
+ if (!instance->GetCreature(KalecgosGUID) && Events.Empty())
Events.ScheduleEvent(EVENT_SPAWN_KALECGOS, Minutes(1));
}
@@ -159,11 +163,13 @@ class instance_magisters_terrace : public InstanceMapScript
Events.Update(diff);
if (Events.ExecuteEvent() == EVENT_SPAWN_KALECGOS)
+ {
if (Creature* kalecgos = instance->SummonCreature(NPC_KALECGOS, KalecgosSpawnPos))
{
kalecgos->GetMotionMaster()->MovePath(PATH_KALECGOS_FLIGHT, false);
kalecgos->AI()->Talk(SAY_KALECGOS_SPAWN);
}
+ }
}
bool SetBossState(uint32 type, EncounterState state) override
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
index 21e90d9a24d..8dd266c5613 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
@@ -28,11 +28,11 @@ npc_kalecgos
EndContentData */
#include "ScriptMgr.h"
+#include "magisters_terrace.h"
+#include "MotionMaster.h"
+#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
-#include "Player.h"
-#include "magisters_terrace.h"
-#include "EventMap.h"
/*######
## npc_kalecgos
@@ -155,7 +155,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_kalecgosAI(creature);
+ return GetMagistersTerraceAI<npc_kalecgosAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h
index cfdee423ef1..31716bcd478 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.h
@@ -19,6 +19,9 @@
#ifndef DEF_MAGISTERS_TERRACE_H
#define DEF_MAGISTERS_TERRACE_H
+#include "CreatureAIImpl.h"
+
+#define MGTScriptName "instance_magisters_terrace"
#define DataHeader "MT"
uint32 const EncounterCount = 4;
@@ -74,4 +77,10 @@ enum MTMovementData
PATH_KALECGOS_FLIGHT = 248440
};
+template <class AI, class T>
+inline AI* GetMagistersTerraceAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, MGTScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index c384419db06..630e362957b 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -16,18 +16,21 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
-#include "Vehicle.h"
-#include "ObjectMgr.h"
-#include "ScriptedEscortAI.h"
#include "CombatAI.h"
-#include "PassiveAI.h"
+#include "CreatureTextMgr.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
+#include "Log.h"
+#include "MotionMaster.h"
+#include "MoveSplineInit.h"
+#include "ObjectAccessor.h"
+#include "ObjectMgr.h"
+#include "PassiveAI.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
+#include "ScriptedGossip.h"
#include "SpellInfo.h"
-#include "CreatureTextMgr.h"
-#include "MoveSplineInit.h"
+#include "Vehicle.h"
/*######
##Quest 12848
@@ -191,7 +194,7 @@ public:
TC_LOG_ERROR("scripts", "npc_unworthy_initiateAI: unable to find anchor!");
float dist = 99.0f;
- GameObject* prison = NULL;
+ GameObject* prison = nullptr;
for (uint8 i = 0; i < 12; ++i)
{
@@ -512,7 +515,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15);
}
- void SpellHit(Unit* pCaster, const SpellInfo* pSpell) override
+ void SpellHit(Unit* pCaster, SpellInfo const* pSpell) override
{
if (!m_bIsDuelInProgress && pSpell->Id == SPELL_DUEL)
{
@@ -767,7 +770,7 @@ public:
return false;
}
- void SpellHit(Unit* caster, const SpellInfo* spell) override
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id == SPELL_DELIVER_STOLEN_HORSE)
{
@@ -1068,7 +1071,7 @@ class npc_scarlet_miner_cart : public CreatureScript
if (apply)
{
_playerGUID = who->GetGUID();
- me->CastSpell((Unit*)NULL, SPELL_SUMMON_MINER, true);
+ me->CastSpell((Unit*)nullptr, SPELL_SUMMON_MINER, true);
}
else
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index 8ee7049398e..2378d8ddad2 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -16,11 +16,13 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedEscortAI.h"
+#include "CreatureTextMgr.h"
+#include "GameObject.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
#include "SpellInfo.h"
-#include "CreatureTextMgr.h"
//How to win friends and influence enemies
// texts signed for creature 28939 but used for 28939, 28940, 28610
@@ -74,7 +76,7 @@ public:
me->RestoreFaction();
}
- void SpellHit(Unit* caster, const SpellInfo* spell) override
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id == SPELL_PERSUASIVE_STRIKE && caster->GetTypeId() == TYPEID_PLAYER && me->IsAlive() && !speechCounter)
{
@@ -91,7 +93,7 @@ public:
me->SetReactState(REACT_PASSIVE);
DoCastAOE(SPELL_THREAT_PULSE, true);
- sCreatureTextMgr->SendChat(me, SAY_PERSUADE_RAND, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player);
+ sCreatureTextMgr->SendChat(me, SAY_PERSUADE_RAND, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player);
Talk(SAY_CRUSADER);
}
}
@@ -134,7 +136,7 @@ public:
break;
case 5:
- sCreatureTextMgr->SendChat(me, SAY_PERSUADED5, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player);
+ sCreatureTextMgr->SendChat(me, SAY_PERSUADED5, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player);
speechTimer = 8000;
break;
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
index 319ac6b8ad3..bc950388ec7 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
@@ -16,10 +16,14 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
-#include "ScriptedEscortAI.h"
+#include "GameObject.h"
+#include "Map.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
+#include "ScriptedGossip.h"
+#include "TemporarySummon.h"
#define LESS_MOB // if you do not have a good server and do not want it to be laggy as hell
//Light of Dawn
@@ -1084,7 +1088,7 @@ public:
case 48: // Show the cleansing effect (dawn of light)
//if (GameObject* go = me->GetMap()->GetGameObject(uiDawnofLightGUID))
// go->SetPhaseMask(128, true);
- me->SummonGameObject(GO_LIGHT_OF_DAWN, 2283.896f, -5287.914f, 83.066f, 0.f, G3D::Quat(), 30);
+ me->SummonGameObject(GO_LIGHT_OF_DAWN, 2283.896f, -5287.914f, 83.066f, 0.f, QuaternionData(), 30);
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiTirionGUID))
{
if (temp->HasAura(SPELL_REBIRTH_OF_THE_ASHBRINGER))
@@ -1262,7 +1266,7 @@ public:
// go->SetPhaseMask(0, true);
{
// search players with in 50 yards for quest credit
- Map::PlayerList const &PlayerList = me->GetMap()->GetPlayers();
+ Map::PlayerList const& PlayerList = me->GetMap()->GetPlayers();
if (!PlayerList.isEmpty())
{
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
@@ -1494,7 +1498,7 @@ public:
void SpawnNPC()
{
- Unit* temp = NULL;
+ Unit* temp = nullptr;
// Death
for (uint8 i = 0; i < ENCOUNTER_GHOUL_NUMBER; ++i)
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
index 6eb25dbd8f0..2adfea2f577 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
@@ -16,9 +16,11 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "MotionMaster.h"
#include "PassiveAI.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
/*####
## npc_valkyr_battle_maiden
@@ -83,7 +85,7 @@ public:
{
if (FlyBackTimer <= diff)
{
- Player* player = NULL;
+ Player* player = nullptr;
if (me->IsSummon())
if (Unit* summoner = me->ToTempSummon()->GetSummoner())
player = summoner->ToPlayer();
@@ -129,10 +131,11 @@ public:
break;
}
++phase;
- } else FlyBackTimer-=diff;
+ }
+ else
+ FlyBackTimer -= diff;
}
};
-
};
void AddSC_the_scarlet_enclave()
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index 697ff3b454e..5dcbf9490ec 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -24,14 +24,20 @@ SDCategory: Scarlet Monastery
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
-#include "SpellMgr.h"
-#include "scarlet_monastery.h"
+#include "Group.h"
+#include "InstanceScript.h"
#include "LFGMgr.h"
+#include "Map.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "Player.h"
-#include "Group.h"
+#include "scarlet_monastery.h"
+#include "ScriptedCreature.h"
#include "SpellInfo.h"
+#include "SpellMgr.h"
+#include "TemporarySummon.h"
//this texts are already used by 3975 and 3976
enum Says
@@ -96,7 +102,7 @@ enum Spells
SPELL_DEATH = 42566 //not correct spell
};
-G3D::Vector3 const FlightPoint[]=
+Position const FlightPoint[]=
{
{1754.00f, 1346.00f, 17.50f},
{1765.00f, 1347.00f, 19.00f},
@@ -121,7 +127,7 @@ G3D::Vector3 const FlightPoint[]=
{1758.00f, 1367.00f, 19.51f}
};
-G3D::Vector3 const Spawn[]=
+Position const Spawn[]=
{
{1776.27f, 1348.74f, 19.20f}, //spawn point for pumpkin shrine mob
{1765.28f, 1347.46f, 17.55f} //spawn point for smoke
@@ -142,7 +148,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_wisp_invisAI(creature);
+ return GetScarletMonasteryAI<npc_wisp_invisAI>(creature);
}
struct npc_wisp_invisAI : public ScriptedAI
@@ -183,7 +189,7 @@ public:
DoCast(me, _spell);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_WISP_FLIGHT_PORT && Creaturetype == 4)
me->SetDisplayId(2027);
@@ -221,7 +227,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_headAI(creature);
+ return GetScarletMonasteryAI<npc_headAI>(creature);
}
struct npc_headAI : public ScriptedAI
@@ -298,7 +304,7 @@ public:
}
}
- void SpellHit(Unit* caster, const SpellInfo* spell) override
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (!withbody)
return;
@@ -374,7 +380,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_headless_horsemanAI>(creature);
+ return GetScarletMonasteryAI<boss_headless_horsemanAI>(creature);
}
struct boss_headless_horsemanAI : public ScriptedAI
@@ -473,7 +479,7 @@ public:
break;
case 1:
{
- if (Creature* smoke = me->SummonCreature(HELPER, Spawn[1].x, Spawn[1].y, Spawn[1].z, 0, TEMPSUMMON_TIMED_DESPAWN, 20000))
+ if (Creature* smoke = me->SummonCreature(HELPER, Spawn[1], TEMPSUMMON_TIMED_DESPAWN, 20000))
ENSURE_AI(npc_wisp_invis::npc_wisp_invisAI, smoke->AI())->SetType(3);
DoCast(me, SPELL_RHYME_BIG);
break;
@@ -536,9 +542,9 @@ public:
Player* SelectRandomPlayer(float range = 0.0f, bool checkLoS = true)
{
- Map::PlayerList const &PlayerList = me->GetMap()->GetPlayers();
+ Map::PlayerList const& PlayerList = me->GetMap()->GetPlayers();
if (PlayerList.isEmpty())
- return NULL;
+ return nullptr;
std::list<Player*> temp;
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
@@ -552,10 +558,10 @@ public:
advance(j, rand32() % temp.size());
return (*j);
}
- return NULL;
+ return nullptr;
}
- void SpellHitTarget(Unit* unit, const SpellInfo* spell) override
+ void SpellHitTarget(Unit* unit, SpellInfo const* spell) override
{
if (spell->Id == SPELL_CONFLAGRATION && unit->HasAura(SPELL_CONFLAGRATION))
SaySound(SAY_CONFLAGRATION, unit);
@@ -581,7 +587,7 @@ public:
}
}
- void SpellHit(Unit* caster, const SpellInfo* spell) override
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (withhead)
return;
@@ -682,7 +688,7 @@ public:
{
wp_reached = false;
me->GetMotionMaster()->Clear(false);
- me->GetMotionMaster()->MovePoint(id, FlightPoint[id].x, FlightPoint[id].y, FlightPoint[id].z);
+ me->GetMotionMaster()->MovePoint(id, FlightPoint[id]);
}
}
}
@@ -692,7 +698,7 @@ public:
break;
if (burn <= diff)
{
- if (Creature* flame = me->SummonCreature(HELPER, Spawn[0].x, Spawn[0].y, Spawn[0].z, 0, TEMPSUMMON_TIMED_DESPAWN, 17000))
+ if (Creature* flame = me->SummonCreature(HELPER, Spawn[0], TEMPSUMMON_TIMED_DESPAWN, 17000))
ENSURE_AI(npc_wisp_invis::npc_wisp_invisAI, flame->AI())->SetType(2);
burned = true;
}
@@ -784,7 +790,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_pulsing_pumpkinAI(creature);
+ return GetScarletMonasteryAI<npc_pulsing_pumpkinAI>(creature);
}
struct npc_pulsing_pumpkinAI : public ScriptedAI
@@ -820,7 +826,7 @@ public:
void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_SPROUTING)
{
@@ -900,7 +906,7 @@ class go_loosely_turned_soil : public GameObjectScript
return;
player->AreaExploredOrEventHappens(11405);
- if (Creature* horseman = me->SummonCreature(HH_MOUNTED, FlightPoint[20].x, FlightPoint[20].y, FlightPoint[20].z, 0, TEMPSUMMON_MANUAL_DESPAWN, 0))
+ if (Creature* horseman = me->SummonCreature(HH_MOUNTED, FlightPoint[20], TEMPSUMMON_MANUAL_DESPAWN, 0))
{
ENSURE_AI(boss_headless_horseman::boss_headless_horsemanAI, horseman->AI())->PlayerGUID = player->GetGUID();
ENSURE_AI(boss_headless_horseman::boss_headless_horsemanAI, horseman->AI())->FlyMode();
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
index 7d3f0dd941c..509faae7957 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
@@ -24,9 +24,9 @@ SDCategory: Scarlet Monastery
EndScriptData */
#include "ScriptMgr.h"
+#include "scarlet_monastery.h"
#include "ScriptedCreature.h"
#include "ScriptedEscortAI.h"
-#include "scarlet_monastery.h"
enum Says
{
@@ -146,7 +146,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_scarlet_traineeAI(creature);
+ return GetScarletMonasteryAI<npc_scarlet_traineeAI>(creature);
}
struct npc_scarlet_traineeAI : public npc_escortAI
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
index 12e28747256..92db652813a 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
@@ -24,8 +24,9 @@ SDCategory: Scarlet Monastery
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "scarlet_monastery.h"
+#include "InstanceScript.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -44,7 +45,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_high_inquisitor_fairbanksAI>(creature);
+ return GetScarletMonasteryAI<boss_high_inquisitor_fairbanksAI>(creature);
}
struct boss_high_inquisitor_fairbanksAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
index 3ec1664ee74..3a68e3a01e5 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
@@ -16,8 +16,8 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "scarlet_monastery.h"
+#include "ScriptedCreature.h"
enum Yells
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
index dd2443c12d7..eee97d1a134 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
@@ -16,8 +16,10 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "scarlet_monastery.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
enum Says
{
@@ -115,7 +117,7 @@ class boss_interrogator_vishas : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_interrogator_vishasAI>(creature);
+ return GetScarletMonasteryAI<boss_interrogator_vishasAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
index cea8aa3b600..3f2a149771e 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
@@ -24,8 +24,11 @@ SDCategory: Scarlet Monastery
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "scarlet_monastery.h"
+#include "ScriptedCreature.h"
#include "SpellInfo.h"
enum Says
@@ -65,7 +68,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_scarlet_commander_mograineAI>(creature);
+ return GetScarletMonasteryAI<boss_scarlet_commander_mograineAI>(creature);
}
struct boss_scarlet_commander_mograineAI : public ScriptedAI
@@ -160,7 +163,7 @@ public:
}
}
- void SpellHit(Unit* /*who*/, const SpellInfo* spell) override
+ void SpellHit(Unit* /*who*/, SpellInfo const* spell) override
{
//When hit with resurrection say text
if (spell->Id == SPELL_SCARLETRESURRECTION)
@@ -228,7 +231,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_high_inquisitor_whitemaneAI>(creature);
+ return GetScarletMonasteryAI<boss_high_inquisitor_whitemaneAI>(creature);
}
struct boss_high_inquisitor_whitemaneAI : public ScriptedAI
@@ -331,7 +334,7 @@ public:
//If we are <75% hp cast healing spells at self or Mograine
if (Heal_Timer <= diff)
{
- Creature* target = NULL;
+ Creature* target = nullptr;
if (!HealthAbovePct(75))
target = me;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
index cd07bedc628..bbce3417c02 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
@@ -16,7 +16,10 @@
*/
#include "ScriptMgr.h"
+#include "Creature.h"
+#include "GameObject.h"
#include "InstanceScript.h"
+#include "Map.h"
#include "scarlet_monastery.h"
DoorData const doorData[] =
@@ -43,26 +46,13 @@ class instance_scarlet_monastery : public InstanceMapScript
void OnGameObjectCreate(GameObject* go) override
{
+ InstanceScript::OnGameObjectCreate(go);
+
switch (go->GetEntry())
{
case GO_PUMPKIN_SHRINE:
PumpkinShrineGUID = go->GetGUID();
break;
- case GO_HIGH_INQUISITORS_DOOR:
- AddDoor(go, true);
- break;
- default:
- break;
- }
- }
-
- void OnGameObjectRemove(GameObject* go) override
- {
- switch (go->GetEntry())
- {
- case GO_HIGH_INQUISITORS_DOOR:
- AddDoor(go, false);
- break;
default:
break;
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h b/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h
index 94db224f4ce..4653303cc21 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/scarlet_monastery.h
@@ -18,6 +18,8 @@
#ifndef SCARLET_M_
#define SCARLET_M_
+#include "CreatureAIImpl.h"
+
#define SMScriptName "instance_scarlet_monastery"
#define DataHeader "SM"
@@ -60,7 +62,7 @@ enum SMGameObjectIds
GO_PUMPKIN_SHRINE = 186267
};
-template<class AI, class T>
+template <class AI, class T>
inline AI* GetScarletMonasteryAI(T* obj)
{
return GetInstanceAI<AI>(obj, SMScriptName);
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
index 338aa2f62d0..dee7ea2a950 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
@@ -23,9 +23,15 @@ Category: Scholomance
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "scholomance.h"
+#include "ScriptedCreature.h"
+#include "SpellInfo.h"
#include "SpellScript.h"
+#include "TemporarySummon.h"
enum Says
{
@@ -59,14 +65,14 @@ class boss_darkmaster_gandling : public CreatureScript
void Reset() override
{
_Reset();
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING)))
+ if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_ACTIVE);
}
void JustDied(Unit* /*killer*/) override
{
_JustDied();
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING)))
+ if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_ACTIVE);
}
@@ -78,7 +84,7 @@ class boss_darkmaster_gandling : public CreatureScript
events.ScheduleEvent(EVENT_CURSE, 2000);
events.ScheduleEvent(EVENT_SHADOW_PORTAL, 16000);
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING)))
+ if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_READY);
}
@@ -131,7 +137,7 @@ class boss_darkmaster_gandling : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_darkmaster_gandlingAI>(creature);
+ return GetScholomanceAI<boss_darkmaster_gandlingAI>(creature);
}
};
@@ -165,17 +171,10 @@ class spell_shadow_portal : public SpellScriptLoader
{
PrepareSpellScript(spell_shadow_portal_SpellScript);
- public:
- spell_shadow_portal_SpellScript()
- {
- _instance = nullptr;
- }
-
- private:
bool Load() override
{
_instance = GetCaster()->GetInstanceScript();
- return _instance != nullptr;
+ return InstanceHasScript(GetCaster(), ScholomanceScriptName);
}
void HandleCast(SpellEffIndex /*effIndex*/)
@@ -232,7 +231,7 @@ class spell_shadow_portal : public SpellScriptLoader
OnEffectHitTarget += SpellEffectFn(spell_shadow_portal_SpellScript::HandleCast, EFFECT_0, SPELL_EFFECT_DUMMY);
}
- InstanceScript* _instance;
+ InstanceScript* _instance = nullptr;
};
SpellScript* GetSpellScript() const override
@@ -294,17 +293,10 @@ class spell_shadow_portal_rooms : public SpellScriptLoader
{
PrepareSpellScript(spell_shadow_portal_rooms_SpellScript);
- public:
- spell_shadow_portal_rooms_SpellScript()
- {
- _instance = nullptr;
- }
-
- private:
bool Load() override
{
_instance = GetCaster()->GetInstanceScript();
- return _instance != nullptr;
+ return InstanceHasScript(GetCaster(), ScholomanceScriptName);
}
void HandleSendEvent(SpellEffIndex effIndex)
@@ -353,7 +345,7 @@ class spell_shadow_portal_rooms : public SpellScriptLoader
break;
}
- if (gate_to_close && (caster->GetMap()->GetId() == 289))
+ if (gate_to_close)
{
for (uint8 i = 0; i < 3; ++i)
{
@@ -374,7 +366,7 @@ class spell_shadow_portal_rooms : public SpellScriptLoader
OnEffectHit += SpellEffectFn(spell_shadow_portal_rooms_SpellScript::HandleSendEvent, EFFECT_1, SPELL_EFFECT_SEND_EVENT);
}
- InstanceScript* _instance;
+ InstanceScript* _instance = nullptr;
};
SpellScript* GetSpellScript() const override
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
index e1b491e7453..239c042d1d4 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
@@ -24,6 +24,7 @@ SDCategory: Scholomance
EndScriptData */
#include "ScriptMgr.h"
+#include "scholomance.h"
#include "ScriptedCreature.h"
class boss_death_knight_darkreaver : public CreatureScript
@@ -33,7 +34,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_death_knight_darkreaverAI(creature);
+ return GetScholomanceAI<boss_death_knight_darkreaverAI>(creature);
}
struct boss_death_knight_darkreaverAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
index 03a2bf0f293..9eec06cbb33 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
@@ -23,8 +23,8 @@ Category: Scholomance
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "scholomance.h"
+#include "ScriptedCreature.h"
enum Say
{
@@ -102,7 +102,7 @@ class boss_doctor_theolen_krastinov : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_theolenkrastinovAI(creature);
+ return GetScholomanceAI<boss_theolenkrastinovAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
index cb569d2e238..8db6ade664d 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
@@ -23,8 +23,8 @@ Category: Scholomance
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "scholomance.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -103,7 +103,7 @@ class boss_illucia_barov : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_illuciabarovAI(creature);
+ return GetScholomanceAI<boss_illuciabarovAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
index e7a3bf99b43..1627fd52c9b 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
@@ -23,8 +23,8 @@ SDCategory: Scholomance
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
#include "scholomance.h"
+#include "ScriptedCreature.h"
enum Spells
{
@@ -148,7 +148,7 @@ class boss_instructor_malicia : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_instructormaliciaAI(creature);
+ return GetScholomanceAI<boss_instructormaliciaAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
index a55ecfe6a84..e4d7140e6f1 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
@@ -16,6 +16,7 @@
*/
#include "ScriptMgr.h"
+#include "scholomance.h"
#include "ScriptedCreature.h"
enum Spells
@@ -116,7 +117,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_jandicebarovAI>(creature);
+ return GetScholomanceAI<boss_jandicebarovAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
index 4d7a8e599ab..33ad88e8d9e 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
@@ -16,11 +16,15 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "scholomance.h"
-#include "MoveSplineInit.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "MoveSplineInit.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "scholomance.h"
+#include "ScriptedCreature.h"
enum Says
{
@@ -98,9 +102,9 @@ class boss_kirtonos_the_herald : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_KIRTONOS)))
+ if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetGuidData(GO_BRAZIER_OF_THE_HERALD)))
+ if (GameObject* brazier = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_BRAZIER_OF_THE_HERALD)))
{
brazier->ResetDoorOrButton();
brazier->SetGoState(GO_STATE_READY);
@@ -110,9 +114,9 @@ class boss_kirtonos_the_herald : public CreatureScript
void EnterEvadeMode(EvadeReason /*why*/) override
{
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_KIRTONOS)))
+ if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetGuidData(GO_BRAZIER_OF_THE_HERALD)))
+ if (GameObject* brazier = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_BRAZIER_OF_THE_HERALD)))
{
brazier->ResetDoorOrButton();
brazier->SetGoState(GO_STATE_READY);
@@ -137,9 +141,7 @@ class boss_kirtonos_the_herald : public CreatureScript
void MovementInform(uint32 type, uint32 id) override
{
if (type == WAYPOINT_MOTION_TYPE && id == POINT_KIRTONOS_LAND)
- {
events.ScheduleEvent(INTRO_2, 1500);
- }
}
void UpdateAI(uint32 diff) override
@@ -160,13 +162,13 @@ class boss_kirtonos_the_herald : public CreatureScript
events.ScheduleEvent(INTRO_3, 1000);
break;
case INTRO_3:
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_KIRTONOS)))
+ if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_READY);
me->SetFacingTo(0.01745329f);
events.ScheduleEvent(INTRO_4, 3000);
break;
case INTRO_4:
- if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetGuidData(GO_BRAZIER_OF_THE_HERALD)))
+ if (GameObject* brazier = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_BRAZIER_OF_THE_HERALD)))
brazier->SetGoState(GO_STATE_READY);
me->SetWalk(true);
me->SetDisableGravity(false);
@@ -256,7 +258,7 @@ class boss_kirtonos_the_herald : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_kirtonos_the_heraldAI>(creature);
+ return GetScholomanceAI<boss_kirtonos_the_heraldAI>(creature);
}
};
@@ -295,7 +297,7 @@ class go_brazier_of_the_herald : public GameObjectScript
GameObjectAI* GetAI(GameObject* go) const override
{
- return GetInstanceAI<go_brazier_of_the_heraldAI>(go);
+ return GetScholomanceAI<go_brazier_of_the_heraldAI>(go);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
index 121d6b51b42..8ff5fa9ccd3 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
@@ -16,9 +16,9 @@
*/
#include "ScriptMgr.h"
+#include "scholomance.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
-#include "scholomance.h"
enum Spells
{
@@ -130,7 +130,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_kormokAI(creature);
+ return GetScholomanceAI<boss_kormokAI>(creature);
}
};
@@ -154,10 +154,7 @@ class spell_kormok_summon_bone_mages : SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- for (uint32 i = 0; i < 4; ++i)
- if (!sSpellMgr->GetSpellInfo(SummonMageSpells[i]))
- return false;
- return true;
+ return ValidateSpellInfo(SummonMageSpells);
}
void HandleScript(SpellEffIndex effIndex)
@@ -191,9 +188,7 @@ class spell_kormok_summon_bone_minions : SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_BONE_MINIONS))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_SUMMON_BONE_MINIONS });
}
void HandleScript(SpellEffIndex effIndex)
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
index 82feeaf5dd9..b5e64141aa8 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
@@ -22,9 +22,9 @@ SDComment: aura applied/defined in database
SDCategory: Scholomance
EndScriptData */
+#include "scholomance.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#include "scholomance.h"
enum Spells
{
@@ -98,7 +98,7 @@ class boss_lord_alexei_barov : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_lordalexeibarovAI(creature);
+ return GetScholomanceAI<boss_lordalexeibarovAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
index c162de33a3b..4ffb4591e09 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
@@ -22,9 +22,9 @@ Comment:
Category: Scholomance
*/
+#include "scholomance.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#include "scholomance.h"
enum Spells
{
@@ -103,7 +103,7 @@ class boss_lorekeeper_polkelt : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_lorekeeperpolkeltAI(creature);
+ return GetScholomanceAI<boss_lorekeeperpolkeltAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
index 77244dc7a93..f9994e6a3cf 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
@@ -15,6 +15,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "scholomance.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
@@ -118,7 +119,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_rasfrostAI(creature);
+ return GetScholomanceAI<boss_rasfrostAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
index d2e54bf433c..75b9dc12ded 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
@@ -22,9 +22,9 @@ Comment:
Category: Scholomance
*/
+#include "scholomance.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#include "scholomance.h"
enum Spells
{
@@ -103,7 +103,7 @@ class boss_the_ravenian : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_theravenianAI(creature);
+ return GetScholomanceAI<boss_theravenianAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
index d24648b6d81..10beaee60ca 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
@@ -15,6 +15,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "scholomance.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
@@ -112,7 +113,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_vectusAI(creature);
+ return GetScholomanceAI<boss_vectusAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
index c6c3c6c4d10..984487f3d61 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
@@ -16,7 +16,9 @@
*/
#include "ScriptMgr.h"
+#include "GameObject.h"
#include "InstanceScript.h"
+#include "Map.h"
#include "Player.h"
#include "scholomance.h"
@@ -25,7 +27,7 @@ Position const GandlingLoc = { 180.7712f, -5.428603f, 75.57024f, 1.291544f };
class instance_scholomance : public InstanceMapScript
{
public:
- instance_scholomance() : InstanceMapScript("instance_scholomance", 289) { }
+ instance_scholomance() : InstanceMapScript(ScholomanceScriptName, 289) { }
InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h b/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h
index abe6a7b415a..3b88f54775b 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h
+++ b/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h
@@ -18,6 +18,9 @@
#ifndef DEF_SCHOLOMANCE_H
#define DEF_SCHOLOMANCE_H
+#include "CreatureAIImpl.h"
+
+#define ScholomanceScriptName "instance_scholomance"
#define DataHeader "SC"
uint32 const EncounterCount = 8;
@@ -53,4 +56,10 @@ enum SCGameobjectIds
GO_BRAZIER_OF_THE_HERALD = 175564
};
+template <class AI, class T>
+inline AI* GetScholomanceAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, ScholomanceScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
index 8e4eb61d322..e39bf1d83f3 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
@@ -16,15 +16,17 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
+#include "GridNotifiersImpl.h"
+#include "Group.h"
+#include "InstanceScript.h"
#include "LFGMgr.h"
+#include "Map.h"
+#include "MotionMaster.h"
#include "Player.h"
-#include "Group.h"
-#include "SpellScript.h"
-#include "SpellAuraEffects.h"
+#include "ScriptedCreature.h"
+#include "ScriptedGossip.h"
#include "shadowfang_keep.h"
-#include "GridNotifiersImpl.h"
+#include "SpellScript.h"
enum ApothecarySpells
{
@@ -275,7 +277,7 @@ class boss_apothecary_hummel : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_apothecary_hummelAI>(creature);
+ return GetShadowfangKeepAI<boss_apothecary_hummelAI>(creature);
}
};
@@ -325,7 +327,7 @@ class npc_apothecary_frye : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_apothecary_fryeAI>(creature);
+ return GetShadowfangKeepAI<npc_apothecary_fryeAI>(creature);
}
};
@@ -388,7 +390,7 @@ class npc_apothecary_baxter : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_apothecary_baxterAI>(creature);
+ return GetShadowfangKeepAI<npc_apothecary_baxterAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
index 9e84eb6f59e..9ec2a58f742 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
@@ -23,10 +23,13 @@ SDComment:
SDCategory: Shadowfang Keep
EndScriptData */
-#include "ScriptedCreature.h"
#include "ScriptMgr.h"
-#include "InstanceScript.h"
#include "shadowfang_keep.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "Log.h"
+#include "Map.h"
+#include "ScriptedCreature.h"
#include "TemporarySummon.h"
#define MAX_ENCOUNTER 4
@@ -69,7 +72,7 @@ const Position SpawnLocation[] =
class instance_shadowfang_keep : public InstanceMapScript
{
public:
- instance_shadowfang_keep() : InstanceMapScript("instance_shadowfang_keep", 33) { }
+ instance_shadowfang_keep() : InstanceMapScript(SFKScriptName, 33) { }
InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
@@ -214,7 +217,7 @@ public:
return str_data;
}
- void Load(const char* in) override
+ void Load(char const* in) override
{
if (!in)
{
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
index 077a5664b93..86ef68e8c4a 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
@@ -28,13 +28,13 @@ npc_shadowfang_prisoner
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
-#include "SpellScript.h"
-#include "SpellAuraEffects.h"
-#include "ScriptedEscortAI.h"
#include "shadowfang_keep.h"
+#include "InstanceScript.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
+#include "ScriptedGossip.h"
+#include "SpellAuraEffects.h"
+#include "SpellScript.h"
/*######
## npc_shadowfang_prisoner
@@ -138,7 +138,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_shadowfang_prisonerAI>(creature);
+ return GetShadowfangKeepAI<npc_shadowfang_prisonerAI>(creature);
}
};
@@ -149,7 +149,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_arugal_voidwalkerAI>(creature);
+ return GetShadowfangKeepAI<npc_arugal_voidwalkerAI>(creature);
}
struct npc_arugal_voidwalkerAI : public ScriptedAI
@@ -312,7 +312,7 @@ class boss_archmage_arugal : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_archmage_arugalAI>(creature);
+ return GetShadowfangKeepAI<boss_archmage_arugalAI>(creature);
}
};
@@ -333,7 +333,7 @@ class spell_shadowfang_keep_haunting_spirits : public SpellScriptLoader
void HandleDummyTick(AuraEffect const* aurEff)
{
- GetTarget()->CastSpell((Unit*)NULL, aurEff->GetAmount(), true);
+ GetTarget()->CastSpell((Unit*)nullptr, aurEff->GetAmount(), true);
}
void HandleUpdatePeriodic(AuraEffect* aurEff)
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
index 7571f6f8fe3..3b2f6a7e105 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
@@ -19,6 +19,9 @@
#ifndef DEF_SHADOWFANG_H
#define DEF_SHADOWFANG_H
+#include "CreatureAIImpl.h"
+
+#define SFKScriptName "instance_shadowfang_keep"
#define DataHeader "SK"
enum SKDataTypes
@@ -31,4 +34,10 @@ enum SKDataTypes
DATA_APOTHECARY_HUMMEL = 6
};
+template <class AI, class T>
+inline AI* GetShadowfangKeepAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, SFKScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
index ed8b2cfc853..2110b2b1d77 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
@@ -24,6 +24,7 @@ SDCategory: Stratholme
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
#include "ScriptedCreature.h"
#include "stratholme.h"
@@ -68,7 +69,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_baron_rivendareAI>(creature);
+ return GetStratholmeAI<boss_baron_rivendareAI>(creature);
}
struct boss_baron_rivendareAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
index f44a914121e..241f576260a 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
@@ -24,6 +24,7 @@ SDCategory: Stratholme
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
#include "ScriptedCreature.h"
#include "stratholme.h"
@@ -42,7 +43,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_baroness_anastariAI>(creature);
+ return GetStratholmeAI<boss_baroness_anastariAI>(creature);
}
struct boss_baroness_anastariAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
index 23111e1d0fc..463c6de61bc 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "stratholme.h"
//front, left
#define ADD_1X 3553.851807f
@@ -87,7 +88,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_cannon_master_willeyAI(creature);
+ return GetStratholmeAI<boss_cannon_master_willeyAI>(creature);
}
struct boss_cannon_master_willeyAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
index 7fcb5e0ec0b..d1c9532ec85 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "stratholme.h"
enum Spells
{
@@ -76,7 +77,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_dathrohan_balnazzarAI(creature);
+ return GetStratholmeAI<boss_dathrohan_balnazzarAI>(creature);
}
struct boss_dathrohan_balnazzarAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
index 389aa1b497d..9c7c39718b8 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
@@ -48,7 +48,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_magistrate_barthilasAI(creature);
+ return GetStratholmeAI<boss_magistrate_barthilasAI>(creature);
}
struct boss_magistrate_barthilasAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
index 768c414a01c..10c2b1327bb 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
@@ -24,6 +24,7 @@ SDCategory: Stratholme
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
#include "ScriptedCreature.h"
#include "stratholme.h"
@@ -117,7 +118,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_maleki_the_pallidAI>(creature);
+ return GetStratholmeAI<boss_maleki_the_pallidAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp
index c38ba7aad1d..ecf0bf7fe00 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp
@@ -24,6 +24,7 @@ SDCategory: Stratholme
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
#include "ScriptedCreature.h"
#include "stratholme.h"
@@ -42,7 +43,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_nerubenkanAI>(creature);
+ return GetStratholmeAI<boss_nerubenkanAI>(creature);
}
struct boss_nerubenkanAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
index f1052bc16dc..8824367fe4b 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
@@ -24,6 +24,7 @@ SDCategory: Stratholme
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
#include "ScriptedCreature.h"
#include "stratholme.h"
#include "Player.h"
@@ -58,7 +59,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_silver_hand_bossesAI>(creature);
+ return GetStratholmeAI<boss_silver_hand_bossesAI>(creature);
}
struct boss_silver_hand_bossesAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
index 23b2e55c928..373ca3a1bda 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
@@ -131,7 +131,7 @@ class boss_postmaster_malown : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_postmaster_malownAI>(creature);
+ return GetStratholmeAI<boss_postmaster_malownAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
index 51725964ac5..cd7aa959c9e 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
@@ -24,8 +24,10 @@ SDCategory: Stratholme
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
#include "ScriptedCreature.h"
#include "stratholme.h"
+#include "TemporarySummon.h"
enum Spells
{
@@ -45,7 +47,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_ramstein_the_gorgerAI>(creature);
+ return GetStratholmeAI<boss_ramstein_the_gorgerAI>(creature);
}
struct boss_ramstein_the_gorgerAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
index 6508c527cc0..473fc9b9048 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "stratholme.h"
enum Says
{
@@ -43,7 +44,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_timmy_the_cruelAI(creature);
+ return GetStratholmeAI<boss_timmy_the_cruelAI>(creature);
}
struct boss_timmy_the_cruelAI : public ScriptedAI
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
index e0edf1d189c..f55ed325148 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
@@ -24,10 +24,14 @@ SDCategory: Stratholme
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "Creature.h"
+#include "EventMap.h"
+#include "GameObject.h"
#include "InstanceScript.h"
-#include "stratholme.h"
+#include "Log.h"
+#include "Map.h"
#include "Player.h"
+#include "stratholme.h"
enum Misc
{
@@ -43,7 +47,7 @@ enum InstanceEvents
class instance_stratholme : public InstanceMapScript
{
public:
- instance_stratholme() : InstanceMapScript("instance_stratholme", 329) { }
+ instance_stratholme() : InstanceMapScript(StratholmeScriptName, 329) { }
struct instance_stratholme_InstanceMapScript : public InstanceScript
{
@@ -349,7 +353,7 @@ class instance_stratholme : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* in) override
+ void Load(char const* in) override
{
if (!in)
{
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
index 7ce650779de..02cb2e71667 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
@@ -31,12 +31,16 @@ npc_spectral_ghostly_citizen
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
-#include "stratholme.h"
#include "Group.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedCreature.h"
#include "SpellInfo.h"
+#include "stratholme.h"
/*######
## go_gauntlet_gate (this is the _first_ of the gauntlet gates, two exist)
@@ -84,7 +88,7 @@ class go_gauntlet_gate : public GameObjectScript
GameObjectAI* GetAI(GameObject* go) const override
{
- return GetInstanceAI<go_gauntlet_gateAI>(go);
+ return GetStratholmeAI<go_gauntlet_gateAI>(go);
}
};
@@ -113,7 +117,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_restless_soulAI(creature);
+ return GetStratholmeAI<npc_restless_soulAI>(creature);
}
struct npc_restless_soulAI : public ScriptedAI
@@ -141,7 +145,7 @@ public:
void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* caster, const SpellInfo* spell) override
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (Tagged || spell->Id != SPELL_EGAN_BLASTER)
return;
@@ -206,7 +210,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_spectral_ghostly_citizenAI(creature);
+ return GetStratholmeAI<npc_spectral_ghostly_citizenAI>(creature);
}
struct npc_spectral_ghostly_citizenAI : public ScriptedAI
@@ -232,7 +236,7 @@ public:
void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (!Tagged && spell->Id == SPELL_EGAN_BLASTER)
Tagged = true;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.h b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.h
index dd98843e6b5..e30d6feecdc 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.h
+++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.h
@@ -19,6 +19,9 @@
#ifndef DEF_STRATHOLME_H
#define DEF_STRATHOLME_H
+#include "CreatureAIImpl.h"
+
+#define StratholmeScriptName "instance_stratholme"
#define DataHeader "STR"
enum STRDataTypes
@@ -81,4 +84,10 @@ enum STRSpellIds
SPELL_BARON_ULTIMATUM = 27861
};
+template <class AI, class T>
+inline AI* GetStratholmeAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, StratholmeScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
index 396d3f0c004..74d00fbc3ee 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
@@ -24,7 +24,9 @@ SDCategory: Sunken Temple
EndScriptData */
#include "ScriptMgr.h"
+#include "GameObject.h"
#include "InstanceScript.h"
+#include "Map.h"
#include "sunken_temple.h"
enum Gameobject
@@ -59,7 +61,7 @@ static Position const statuePositions[nStatues]
class instance_sunken_temple : public InstanceMapScript
{
public:
- instance_sunken_temple() : InstanceMapScript("instance_sunken_temple", 109) { }
+ instance_sunken_temple() : InstanceMapScript(STScriptName, 109) { }
InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
@@ -176,14 +178,14 @@ public:
void UseStatue(GameObject* go)
{
- go->SummonGameObject(GO_ATALAI_LIGHT1, *go, G3D::Quat(), 0);
+ go->SummonGameObject(GO_ATALAI_LIGHT1, *go, QuaternionData(), 0);
go->SetUInt32Value(GAMEOBJECT_FLAGS, 4);
}
void UseLastStatue(GameObject* go)
{
for (uint8 i = 0; i < nStatues; ++i)
- go->SummonGameObject(GO_ATALAI_LIGHT2, statuePositions[i], G3D::Quat(), 0);
+ go->SummonGameObject(GO_ATALAI_LIGHT2, statuePositions[i], QuaternionData(), 0);
go->SummonCreature(NPC_ATALALARION, atalalarianPos, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 7200);
}
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp
index a39f636ee86..f896f7ba17a 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp
@@ -28,10 +28,13 @@ at_malfurion_Stormrage_trigger
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
-#include "sunken_temple.h"
+#include "InstanceScript.h"
+#include "Map.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "sunken_temple.h"
/*#####
# at_malfurion_Stormrage_trigger
@@ -49,7 +52,7 @@ class at_malfurion_stormrage : public AreaTriggerScript
public:
at_malfurion_stormrage() : AreaTriggerScript("at_malfurion_stormrage") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override
{
if (player->GetInstanceScript() && !player->FindNearestCreature(NPC_MALFURION_STORMRAGE, 15.0f) &&
player->GetQuestStatus(QUEST_THE_CHARGE_OF_DRAGONFLIGHTS) == QUEST_STATUS_REWARDED && player->GetQuestStatus(QUEST_ERANIKUS_TYRANT_OF_DREAMS) != QUEST_STATUS_REWARDED)
@@ -82,7 +85,7 @@ class go_atalai_statue : public GameObjectScript
GameObjectAI* GetAI(GameObject* go) const override
{
- return GetInstanceAI<go_atalai_statueAI>(go);
+ return GetSunkenTempleAI<go_atalai_statueAI>(go);
}
};
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h
index c6c2f087850..f2687c5de68 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h
@@ -19,6 +19,9 @@
#ifndef DEF_SUNKEN_TEMPLE_H
#define DEF_SUNKEN_TEMPLE_H
+#include "CreatureAIImpl.h"
+
+#define STScriptName "instance_sunken_temple"
#define DataHeader "ST"
enum STEvents
@@ -26,4 +29,10 @@ enum STEvents
EVENT_STATE = 1
};
+template <class AI, class T>
+inline AI* GetSunkenTempleAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, STScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
index 924d00169c8..66ef84c2273 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
@@ -23,6 +23,8 @@ SDComment: Find a way to start the intro, best code for the intro
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
+#include "Log.h"
#include "ScriptedCreature.h"
#include "sunwell_plateau.h"
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
index 195fc2bf0a9..51aad495c37 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
@@ -16,9 +16,10 @@
*/
#include "ScriptMgr.h"
+#include "InstanceScript.h"
#include "ScriptedCreature.h"
-#include "sunwell_plateau.h"
#include "SpellInfo.h"
+#include "sunwell_plateau.h"
enum Quotes
{
@@ -160,7 +161,7 @@ public:
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
}
- void SpellHitTarget(Unit* target, const SpellInfo* spell) override
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
switch (spell->Id)
{
@@ -266,8 +267,8 @@ public:
if (ShadowimageTimer <= diff)
{
- Unit* target = NULL;
- Creature* temp = NULL;
+ Unit* target = nullptr;
+ Creature* temp = nullptr;
for (uint8 i = 0; i<3; ++i)
{
target = SelectTarget(SELECT_TARGET_RANDOM, 0);
@@ -436,7 +437,7 @@ public:
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
}
- void SpellHitTarget(Unit* target, const SpellInfo* spell) override
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
switch (spell->Id)
{
@@ -673,7 +674,7 @@ public:
void EnterCombat(Unit* /*who*/) override { }
- void SpellHitTarget(Unit* target, const SpellInfo* spell) override
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
switch (spell->Id)
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
index aa5720bef4e..045f6d956bb 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
@@ -22,12 +22,14 @@ SDComment:
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "GridNotifiers.h"
-#include "GridNotifiersImpl.h"
-#include "Cell.h"
#include "CellImpl.h"
+#include "GridNotifiersImpl.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
#include "sunwell_plateau.h"
+#include "TemporarySummon.h"
enum Yells
{
@@ -196,7 +198,7 @@ public:
instance->SetBossState(DATA_FELMYST, DONE);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) override
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
// workaround for linked aura
/*if (spell->Id == SPELL_VAPOR_FORCE)
@@ -215,7 +217,7 @@ public:
summon->CastSpell(summon, SPELL_FOG_CHARM, true);
summon->CastSpell(summon, SPELL_FOG_CHARM2, true);
}
- me->DealDamage(caster, caster->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
+ me->DealDamage(caster, caster->GetHealth(), nullptr, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, nullptr, false);
}
}
@@ -360,7 +362,7 @@ public:
}
case 6:
me->SetFacingTo(me->GetAngle(breathX, breathY));
- //DoTextEmote("takes a deep breath.", NULL);
+ //DoTextEmote("takes a deep breath.", nullptr);
events.ScheduleEvent(EVENT_FLIGHT_SEQUENCE, 10000);
break;
case 7:
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
index 83c8281a036..f6c02074774 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
@@ -24,10 +24,17 @@ SDCategory: Sunwell_Plateau
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
-#include "sunwell_plateau.h"
+#include "InstanceScript.h"
+#include "Log.h"
+#include "Map.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "sunwell_plateau.h"
+#include "TemporarySummon.h"
#include "WorldSession.h"
enum Yells
@@ -548,7 +555,7 @@ public:
{
#if MAX_PLAYERS_IN_SPECTRAL_REALM > 0
uint8 SpectralPlayers = 0;
- Map::PlayerList const &PlayerList = go->GetMap()->GetPlayers();
+ Map::PlayerList const& PlayerList = go->GetMap()->GetPlayers();
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
if (i->GetSource() && i->GetSource()->GetPositionZ() < DEMON_REALM_Z + 5)
@@ -685,7 +692,7 @@ public:
void TeleportAllPlayersBack()
{
- Map::PlayerList const &playerList = me->GetMap()->GetPlayers();
+ Map::PlayerList const& playerList = me->GetMap()->GetPlayers();
Position const& homePos = me->GetHomePosition();
for (Map::PlayerList::const_iterator itr = playerList.begin(); itr != playerList.end(); ++itr)
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index 08bd7809f8e..4e841a82e14 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -25,11 +25,16 @@ EndScriptData */
/// @todo rewrite Armageddon
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
-#include "sunwell_plateau.h"
-#include <math.h>
+#include "InstanceScript.h"
+#include "Log.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "sunwell_plateau.h"
+#include "TemporarySummon.h"
/*** Speech and sounds***/
enum Yells
@@ -280,7 +285,7 @@ public:
return ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4));
}
- return NULL;
+ return nullptr;
}
void ResetOrbs()
@@ -701,7 +706,7 @@ public:
case TIMER_SPEECH:
if (SpeechBegins)
{
- SpeechBegins=false;
+ SpeechBegins = false;
switch (Phase)
{
case PHASE_NORMAL:
@@ -744,7 +749,7 @@ public:
case TIMER_LEGION_LIGHTNING:
if (!me->IsNonMeleeSpellCast(false))
{
- Unit* pRandomPlayer = NULL;
+ Unit* pRandomPlayer = nullptr;
me->RemoveAurasDueToSpell(SPELL_SOUL_FLAY);
for (uint8 z = 0; z < 6; ++z)
@@ -839,7 +844,7 @@ public:
TimerIsDeactivated[TIMER_ORBS_EMPOWER] = true;
break;
case TIMER_ARMAGEDDON: //Phase 4
- Unit* target = NULL;
+ Unit* target = nullptr;
for (uint8 z = 0; z < 6; ++z)
{
target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
@@ -987,7 +992,7 @@ public:
{
if (Creature* pPortal = DoSpawnCreature(NPC_FELFIRE_PORTAL, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 20000))
{
- ThreatContainer::StorageType const &threatlist = me->getThreatManager().getThreatList();
+ ThreatContainer::StorageType const& threatlist = me->getThreatManager().getThreatList();
for (ThreatContainer::StorageType::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
{
Unit* unit = ObjectAccessor::GetUnit(*me, (*itr)->getUnitGuid());
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index fed97fc8488..f0bcb9dd3de 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -16,10 +16,12 @@
*/
#include "ScriptMgr.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
-#include "sunwell_plateau.h"
+#include "SpellAuras.h"
#include "SpellScript.h"
-#include "SpellAuraEffects.h"
+#include "sunwell_plateau.h"
enum Spells
{
@@ -581,10 +583,7 @@ class spell_summon_blood_elves_script : SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- for (uint8 i = 0; i < MAX_SUMMON_BLOOD_ELVES; ++i)
- if (!sSpellMgr->GetSpellInfo(SummonBloodElvesSpells[i]))
- return false;
- return true;
+ return ValidateSpellInfo(SummonBloodElvesSpells);
}
void HandleScript(SpellEffIndex /*effIndex*/)
@@ -616,10 +615,7 @@ class spell_muru_darkness : SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- for (uint8 i = 0; i < MAX_SUMMON_DARK_FIEND; ++i)
- if (!sSpellMgr->GetSpellInfo(SummonDarkFiendSpells[i]))
- return false;
- return true;
+ return ValidateSpellInfo(SummonDarkFiendSpells);
}
void HandleAfterCast()
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
index 17325e9e00f..6b3c2b1bcaf 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
@@ -17,6 +17,8 @@
#include "ScriptMgr.h"
#include "InstanceScript.h"
+#include "Log.h"
+#include "Map.h"
#include "Player.h"
#include "sunwell_plateau.h"
@@ -89,7 +91,7 @@ class instance_sunwell_plateau : public InstanceMapScript
else
TC_LOG_DEBUG("scripts", "Instance Sunwell Plateau: GetPlayerInMap, but PlayerList is empty!");
- return NULL;
+ return nullptr;
}
ObjectGuid GetGuidData(uint32 id) const override
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h b/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h
index a25ed5b0ca2..cec43582958 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.h
@@ -18,6 +18,8 @@
#ifndef SUNWELL_PLATEAU_H
#define SUNWELL_PLATEAU_H
+#include "CreatureAIImpl.h"
+
#define SunwellPlateauScriptName "instance_sunwell_plateau"
#define DataHeader "SWP"
@@ -112,7 +114,7 @@ enum SWPGameObjectIds
GO_MURUS_GATE_2 = 188118
};
-template<class AI, class T>
+template <class AI, class T>
AI* GetSunwellPlateauAI(T* obj)
{
return GetInstanceAI<AI>(obj, SunwellPlateauScriptName);
diff --git a/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp
index 822737dad87..c222f395a50 100644
--- a/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp
+++ b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp
@@ -24,6 +24,7 @@ gets instead the deserter debuff.
#include "ScriptMgr.h"
#include "InstanceScript.h"
+#include "Map.h"
class instance_the_stockade : public InstanceMapScript
{
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
index af8ef8f4f39..c96d86aff57 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
@@ -27,10 +27,14 @@ On his death the vault door opens.
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
-#include "uldaman.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "SpellInfo.h"
+#include "uldaman.h"
enum Says
{
@@ -125,10 +129,10 @@ class boss_archaedas : public CreatureScript
me->SetControlled(false, UNIT_STATE_ROOT);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
// Being woken up from the altar, start the awaken sequence
- if (spell == sSpellMgr->GetSpellInfo(SPELL_ARCHAEDAS_AWAKEN))
+ if (spell->Id == SPELL_ARCHAEDAS_AWAKEN)
{
Talk(SAY_AGGRO);
iAwakenTimer = 4000;
@@ -212,7 +216,7 @@ class boss_archaedas : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_archaedasAI>(creature);
+ return GetUldamanAI<boss_archaedasAI>(creature);
}
};
@@ -276,10 +280,10 @@ class npc_archaedas_minions : public CreatureScript
bAmIAwake = true;
}
- void SpellHit(Unit * /*caster*/, const SpellInfo* spell) override
+ void SpellHit(Unit * /*caster*/, SpellInfo const* spell) override
{
// time to wake up, start animation
- if (spell == sSpellMgr->GetSpellInfo(SPELL_ARCHAEDAS_AWAKEN))
+ if (spell->Id == SPELL_ARCHAEDAS_AWAKEN)
{
iAwakenTimer = 5000;
bWakingUp = true;
@@ -318,7 +322,7 @@ class npc_archaedas_minions : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_archaedas_minionsAI>(creature);
+ return GetUldamanAI<npc_archaedas_minionsAI>(creature);
}
};
@@ -381,7 +385,7 @@ class npc_stonekeepers : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_stonekeepersAI>(creature);
+ return GetUldamanAI<npc_stonekeepersAI>(creature);
}
};
@@ -414,7 +418,7 @@ class go_altar_of_archaedas : public GameObjectScript
GameObjectAI* GetAI(GameObject* go) const override
{
- return GetInstanceAI<go_altar_of_archaedasAI>(go);
+ return GetUldamanAI<go_altar_of_archaedasAI>(go);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
index 98b94e09c70..5a17339b4de 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "uldaman.h"
enum Ironaya
{
@@ -110,7 +111,7 @@ class boss_ironaya : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_ironayaAI(creature);
+ return GetUldamanAI<boss_ironayaAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
index 360794facf6..a72acba44b3 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
@@ -24,8 +24,14 @@ SDCategory: Uldaman
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "Creature.h"
+#include "CreatureAI.h"
+#include "GameObject.h"
#include "InstanceScript.h"
+#include "Log.h"
+#include "Map.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "uldaman.h"
enum Spells
@@ -51,7 +57,7 @@ const Position IronayaPoint = { -231.228f, 246.6135f, -49.01617f, 0.0f };
class instance_uldaman : public InstanceMapScript
{
public:
- instance_uldaman() : InstanceMapScript("instance_uldaman", 70) { }
+ instance_uldaman() : InstanceMapScript(UldamanScriptName, 70) { }
struct instance_uldaman_InstanceMapScript : public InstanceScript
{
@@ -416,7 +422,7 @@ class instance_uldaman : public InstanceMapScript
return str_data;
}
- void Load(const char* in) override
+ void Load(char const* in) override
{
if (!in)
{
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
index 14fb5a06d43..9c84b399e43 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
@@ -30,10 +30,12 @@ at_map_chamber
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
-#include "uldaman.h"
+#include "InstanceScript.h"
#include "Player.h"
+#include "ScriptedCreature.h"
+#include "uldaman.h"
/*######
## npc_jadespine_basilisk
@@ -107,7 +109,7 @@ class npc_jadespine_basilisk : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_jadespine_basiliskAI(creature);
+ return GetUldamanAI<npc_jadespine_basiliskAI>(creature);
}
};
@@ -135,7 +137,7 @@ class go_keystone_chamber : public GameObjectScript
GameObjectAI* GetAI(GameObject* go) const override
{
- return GetInstanceAI<go_keystone_chamberAI>(go);
+ return GetUldamanAI<go_keystone_chamberAI>(go);
}
};
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.h b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.h
index 0578da35895..d81793cf61c 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.h
+++ b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.h
@@ -19,6 +19,9 @@
#ifndef DEF_ULDAMAN_H
#define DEF_ULDAMAN_H
+#include "CreatureAIImpl.h"
+
+#define UldamanScriptName "instance_uldaman"
#define DataHeader "UD"
#define MAX_ENCOUNTER 3
@@ -42,4 +45,10 @@ enum UDGameObjectIds
GO_KEYSTONE = 124371,
};
+template <class AI, class T>
+inline AI* GetUldamanAI(T* obj)
+{
+ return GetInstanceAI<AI>(obj, UldamanScriptName);
+}
+
#endif
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
index 1ab0ea8908c..f1b6c993a41 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
@@ -26,13 +26,14 @@ SQLUpdate:
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "GridNotifiers.h"
-#include "GridNotifiersImpl.h"
-#include "Cell.h"
#include "CellImpl.h"
-#include "zulaman.h"
+#include "GridNotifiersImpl.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
#include "Weather.h"
+#include "zulaman.h"
enum Spells
{
@@ -170,7 +171,7 @@ class boss_akilzon : public CreatureScript
if (Unit* target = (*i))
{
if (Cloud && !Cloud->IsWithinDist(target, 6, false))
- Cloud->CastCustomSpell(target, SPELL_ZAP, &bp0, NULL, NULL, true, 0, 0, me->GetGUID());
+ Cloud->CastCustomSpell(target, SPELL_ZAP, &bp0, nullptr, nullptr, true, 0, 0, me->GetGUID());
}
}
@@ -189,7 +190,7 @@ class boss_akilzon : public CreatureScript
trigger->SetHealth(100000);
trigger->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
if (Cloud)
- Cloud->CastCustomSpell(trigger, /*43661*/SPELL_ZAP, &bp0, NULL, NULL, true, 0, 0, Cloud->GetGUID());
+ Cloud->CastCustomSpell(trigger, /*43661*/SPELL_ZAP, &bp0, nullptr, nullptr, true, 0, 0, Cloud->GetGUID());
}
}
}
@@ -203,7 +204,7 @@ class boss_akilzon : public CreatureScript
me->InterruptNonMeleeSpells(false);
CloudGUID.Clear();
if (Cloud)
- Cloud->DealDamage(Cloud, Cloud->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
+ Cloud->DealDamage(Cloud, Cloud->GetHealth(), nullptr, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, nullptr, false);
SetWeather(WEATHER_STATE_FINE, 0.0f);
isRaining = false;
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
index 618190f750c..9443c9a9e6a 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
@@ -17,9 +17,11 @@
*/
#include "ScriptMgr.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
-#include "zulaman.h"
#include "SpellInfo.h"
+#include "zulaman.h"
enum Spells
{
@@ -134,7 +136,7 @@ class boss_halazzi : public CreatureScript
damage = 0;
}
- void SpellHit(Unit*, const SpellInfo* spell) override
+ void SpellHit(Unit*, SpellInfo const* spell) override
{
if (spell->Id == SPELL_TRANSFORM_SPLIT2)
EnterPhase(PHASE_HUMAN);
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
index 95600a06d36..ead3781d89b 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
@@ -24,9 +24,12 @@ SDCategory: Zul'Aman
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
-#include "SpellAuraEffects.h"
+#include "TemporarySummon.h"
#include "zulaman.h"
enum Yells
@@ -328,7 +331,7 @@ class boss_hexlord_malacrass : public CreatureScript
{
Unit* Temp = ObjectAccessor::GetUnit(*me, AddGUID[i]);
if (Temp && Temp->IsAlive())
- Temp->DealDamage(Temp, Temp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
+ Temp->DealDamage(Temp, Temp->GetHealth(), nullptr, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, nullptr, false);
}
}
@@ -471,7 +474,7 @@ class boss_hexlord_malacrass : public CreatureScript
void UseAbility()
{
uint8 random = urand(0, 2);
- Unit* target = NULL;
+ Unit* target = nullptr;
switch (PlayerAbility[PlayerClass][random].target)
{
case ABILITY_TARGET_SELF:
@@ -1015,15 +1018,13 @@ class spell_hexlord_unstable_affliction : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WL_UNSTABLE_AFFL_DISPEL))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_WL_UNSTABLE_AFFL_DISPEL });
}
void HandleDispel(DispelInfo* dispelInfo)
{
if (Unit* caster = GetCaster())
- caster->CastSpell(dispelInfo->GetDispeller(), SPELL_WL_UNSTABLE_AFFL_DISPEL, true, NULL, GetEffect(EFFECT_0));
+ caster->CastSpell(dispelInfo->GetDispeller(), SPELL_WL_UNSTABLE_AFFL_DISPEL, true, nullptr, GetEffect(EFFECT_0));
}
void Register() override
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
index 91978d052ad..90c0516da52 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
@@ -24,10 +24,14 @@ SDCategory: Zul'Aman
EndScriptData */
#include "ScriptMgr.h"
+#include "CellImpl.h"
+#include "GridNotifiers.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
#include "zulaman.h"
-#include "GridNotifiers.h"
-#include "CellImpl.h"
enum Yells
{
@@ -194,7 +198,7 @@ class boss_janalai : public CreatureScript
void FireWall()
{
uint8 WallNum;
- Creature* wall = NULL;
+ Creature* wall = nullptr;
for (uint8 i = 0; i < 4; ++i)
{
if (i == 0 || i == 2)
@@ -366,7 +370,7 @@ class boss_janalai : public CreatureScript
if (!map->IsDungeon())
return;
- Map::PlayerList const &PlayerList = map->GetPlayers();
+ Map::PlayerList const& PlayerList = map->GetPlayers();
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
if (Player* i_pl = i->GetSource())
if (i_pl->IsAlive())
@@ -441,7 +445,7 @@ class npc_janalai_firebomb : public CreatureScript
void Reset() override { }
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_FIRE_BOMB_THROW)
DoCast(me, SPELL_FIRE_BOMB_DUMMY, true);
@@ -667,7 +671,7 @@ class npc_janalai_egg : public CreatureScript
void UpdateAI(uint32 /*diff*/) override { }
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_HATCH_EGG)
DoCast(SPELL_SUMMON_HATCHLING);
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
index e2acc47d651..559390fece3 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
@@ -24,11 +24,11 @@ SDCategory: Zul'Aman
EndScriptData */
#include "ScriptMgr.h"
+#include "CellImpl.h"
+#include "GridNotifiersImpl.h"
+#include "MotionMaster.h"
#include "ScriptedCreature.h"
#include "zulaman.h"
-#include "GridNotifiers.h"
-#include "GridNotifiersImpl.h"
-#include "CellImpl.h"
enum Yells
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
index 10d0772932c..1ebecc41b4b 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
@@ -23,9 +23,12 @@ SDComment:
EndScriptData */
#include "ScriptMgr.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
-#include "zulaman.h"
#include "SpellInfo.h"
+#include "TemporarySummon.h"
+#include "zulaman.h"
enum Says
{
@@ -580,7 +583,7 @@ class npc_zuljin_vortex : public CreatureScript
void EnterCombat(Unit* /*target*/) override { }
- void SpellHit(Unit* caster, const SpellInfo* spell) override
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id == SPELL_ZAP_INFORM)
DoCast(caster, SPELL_ZAP_DAMAGE, true);
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
index f0eb8ef7911..0c972756a72 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
@@ -24,10 +24,13 @@ SDCategory: Zul'Aman
EndScriptData */
#include "ScriptMgr.h"
+#include "GameObject.h"
#include "InstanceScript.h"
-#include "zulaman.h"
+#include "Log.h"
+#include "Map.h"
#include "Player.h"
#include "TemporarySummon.h"
+#include "zulaman.h"
enum Misc
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
index affb1ab9406..9598940bbd4 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
@@ -28,12 +28,15 @@ npc_forest_frog
EndContentData */
#include "ScriptMgr.h"
+#include "GameObject.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
-#include "zulaman.h"
-#include "Player.h"
#include "SpellInfo.h"
#include "SpellScript.h"
+#include "zulaman.h"
/*######
## npc_forest_frog
@@ -103,7 +106,7 @@ class npc_forest_frog : public CreatureScript
me->UpdateEntry(cEntry);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) override
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id == SPELL_REMOVE_AMANI_CURSE && caster->GetTypeId() == TYPEID_PLAYER && me->GetEntry() == NPC_FOREST_FROG)
{
@@ -171,7 +174,7 @@ class npc_zulaman_hostage : public CreatureScript
{
if (HostageEntry[i] == entry)
{
- me->SummonGameObject(ChestEntry[i], Position(x - 2, y, z, 0.f), G3D::Quat(), 0);
+ me->SummonGameObject(ChestEntry[i], Position(x - 2, y, z, 0.f), QuaternionData(), 0);
break;
}
}
@@ -292,7 +295,7 @@ class npc_harrison_jones : public CreatureScript
return false;
}
- void SpellHit(Unit*, const SpellInfo* spell) override
+ void SpellHit(Unit*, SpellInfo const* spell) override
{
if (spell->Id == SPELL_COSMETIC_SPEAR_THROW)
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h
index 99988310544..ae1323af6aa 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h
@@ -19,6 +19,8 @@
#ifndef DEF_ZULAMAN_H
#define DEF_ZULAMAN_H
+#include "CreatureAIImpl.h"
+
#define ZulamanScriptName "instance_zulaman"
#define DataHeader "ZA"
@@ -65,10 +67,10 @@ enum ZAGameObjectIds
GO_STRANGE_GONG = 187359
};
-template <class AI>
-inline AI* GetZulAmanAI(Creature* creature)
+template <class AI, class T>
+inline AI* GetZulAmanAI(T* obj)
{
- return GetInstanceAI<AI>(creature, ZulamanScriptName);
+ return GetInstanceAI<AI>(obj, ZulamanScriptName);
}
#endif
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
index 40a1836d46a..8946edbe809 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
@@ -25,8 +25,12 @@ TCCategory: Zul'Gurub
EndScriptData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
+#include "MotionMaster.h"
+#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "zulgurub.h"
@@ -240,7 +244,7 @@ class boss_arlokk : public CreatureScript
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(EQUIP_UNEQUIP));
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, uint32(EQUIP_UNEQUIP));
/*
- const CreatureTemplate* cinfo = me->GetCreatureTemplate();
+ CreatureTemplate const* cinfo = me->GetCreatureTemplate();
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);
@@ -288,7 +292,7 @@ class boss_arlokk : public CreatureScript
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_DAGGER));
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, uint32(WEAPON_DAGGER));
/*
- const CreatureTemplate* cinfo = me->GetCreatureTemplate();
+ CreatureTemplate const* cinfo = me->GetCreatureTemplate();
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg));
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg));
me->UpdateDamagePhysical(BASE_ATTACK);
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
index a32e2fba7c0..f29babec4fe 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
@@ -108,7 +108,7 @@ class boss_gahzranka : public CreatureScript // gahzranka
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_gahzrankaAI(creature);
+ return GetZulGurubAI<boss_gahzrankaAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
index cb3859bf94e..4a6feab82eb 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
@@ -109,7 +109,7 @@ class boss_grilek : public CreatureScript // grilek
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_grilekAI(creature);
+ return GetZulGurubAI<boss_grilekAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
index fb573604e74..16c8154af87 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
@@ -23,6 +23,7 @@ Category: Zul'Gurub
*/
#include "ScriptMgr.h"
+#include "InstanceScript.h"
#include "ScriptedCreature.h"
#include "zulgurub.h"
@@ -173,7 +174,7 @@ class boss_hakkar : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_hakkarAI>(creature);
+ return GetZulGurubAI<boss_hakkarAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
index ac223fff71f..6b0c75b9cc3 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
#include "zulgurub.h"
enum Spells
@@ -114,7 +115,7 @@ class boss_hazzarah : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_hazzarahAI(creature);
+ return GetZulGurubAI<boss_hazzarahAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
index ab62c42ab18..63d6388d497 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
@@ -17,6 +17,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
#include "zulgurub.h"
enum Says
@@ -257,7 +258,7 @@ class npc_batrider : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_batriderAI(creature);
+ return GetZulGurubAI<npc_batriderAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
index a849a680621..2c6ebefd1cb 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
@@ -17,7 +17,10 @@
*/
#include "ScriptMgr.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
#include "zulgurub.h"
enum Say
@@ -164,7 +167,7 @@ class boss_jindo : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_jindoAI(creature);
+ return GetZulGurubAI<boss_jindoAI>(creature);
}
};
@@ -213,7 +216,7 @@ class npc_healing_ward : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_healing_wardAI>(creature);
+ return GetZulGurubAI<npc_healing_wardAI>(creature);
}
};
@@ -260,7 +263,7 @@ class npc_shade_of_jindo : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_shade_of_jindoAI(creature);
+ return GetZulGurubAI<npc_shade_of_jindoAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
index e30fe8861f2..17027e2d056 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
@@ -24,10 +24,13 @@ SDCategory: Zul'Gurub
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
-#include "Spell.h"
#include "SpellAuras.h"
#include "SpellScript.h"
+#include "TemporarySummon.h"
#include "zulgurub.h"
enum Says
@@ -429,7 +432,7 @@ class npc_vilebranch_speaker : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_vilebranch_speakerAI>(creature);
+ return GetZulGurubAI<npc_vilebranch_speakerAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
index 03bc99d177a..9537aaec3e5 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
@@ -25,6 +25,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
#include "zulgurub.h"
enum Says
@@ -168,7 +169,7 @@ class boss_marli : public CreatureScript
}
case EVENT_CHARGE_PLAYER:
{
- Unit* target = NULL;
+ Unit* target = nullptr;
int i = 0;
while (i++ < 3) // max 3 tries to get a random target with power_mana
{
@@ -216,7 +217,7 @@ class boss_marli : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_marliAI(creature);
+ return GetZulGurubAI<boss_marliAI>(creature);
}
};
@@ -265,7 +266,7 @@ class npc_spawn_of_marli : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new npc_spawn_of_marliAI(creature);
+ return GetZulGurubAI<npc_spawn_of_marliAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
index 502630a8a89..351445c0c62 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
@@ -165,7 +165,7 @@ class boss_renataki : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_renatakiAI(creature);
+ return GetZulGurubAI<boss_renatakiAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
index ac4d6d9e96f..7e6a9970629 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
@@ -24,6 +24,8 @@ SDCategory: Zul'Gurub
EndScriptData */
#include "ScriptMgr.h"
+#include "InstanceScript.h"
+#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "zulgurub.h"
@@ -164,7 +166,7 @@ class boss_thekal : public CreatureScript
me->SetStandState(UNIT_STAND_STATE_STAND);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
/*
- const CreatureTemplate* cinfo = me->GetCreatureTemplate();
+ CreatureTemplate const* cinfo = me->GetCreatureTemplate();
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);
@@ -257,7 +259,7 @@ class boss_thekal : public CreatureScript
me->SetStandState(UNIT_STAND_STATE_SLEEP);
me->AttackStop();
instance->SetBossState(DATA_THEKAL, SPECIAL);
- WasDead=true;
+ WasDead = true;
}
if (me->HasUnitState(UNIT_STATE_CASTING))
@@ -269,7 +271,7 @@ class boss_thekal : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_thekalAI>(creature);
+ return GetZulGurubAI<boss_thekalAI>(creature);
}
};
@@ -422,7 +424,7 @@ class npc_zealot_lorkhan : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_zealot_lorkhanAI>(creature);
+ return GetZulGurubAI<npc_zealot_lorkhanAI>(creature);
}
};
@@ -572,7 +574,7 @@ class npc_zealot_zath : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_zealot_zathAI>(creature);
+ return GetZulGurubAI<npc_zealot_zathAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
index caa4587aaa1..e8b0b59d317 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
@@ -275,7 +275,7 @@ class boss_venoxis : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_venoxisAI(creature);
+ return GetZulGurubAI<boss_venoxisAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
index 750b6d2246a..44500347ca2 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
@@ -101,7 +101,7 @@ class boss_wushoolay : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return new boss_wushoolayAI(creature);
+ return GetZulGurubAI<boss_wushoolayAI>(creature);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
index b1b7869f4a9..b9ec02029f1 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
@@ -24,7 +24,10 @@ SDCategory: Zul'Gurub
EndScriptData */
#include "ScriptMgr.h"
+#include "Creature.h"
+#include "GameObject.h"
#include "InstanceScript.h"
+#include "Map.h"
#include "zulgurub.h"
DoorData const doorData[] =
@@ -79,11 +82,10 @@ class instance_zulgurub : public InstanceMapScript
void OnGameObjectCreate(GameObject* go) override
{
+ InstanceScript::OnGameObjectCreate(go);
+
switch (go->GetEntry())
{
- case GO_FORCEFIELD:
- AddDoor(go, true);
- break;
case GO_GONG_OF_BETHEKK:
_goGongOfBethekkGUID = go->GetGUID();
if (GetBossState(DATA_ARLOKK) == DONE)
@@ -96,18 +98,6 @@ class instance_zulgurub : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) override
- {
- switch (go->GetEntry())
- {
- case GO_FORCEFIELD:
- AddDoor(go, false);
- break;
- default:
- break;
- }
- }
-
ObjectGuid GetGuidData(uint32 uiData) const override
{
switch (uiData)
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
index 4148b4d9e08..b2adf8cfe04 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
@@ -18,12 +18,13 @@
#ifndef DEF_ZULGURUB_H
#define DEF_ZULGURUB_H
+#include "CreatureAIImpl.h"
+
+#define ZGScriptName "instance_zulgurub"
#define DataHeader "ZG"
uint32 const EncounterCount = 13;
-#define ZGScriptName "instance_zulgurub"
-
enum ZGDataTypes
{
DATA_JEKLIK = 0, // Main boss
@@ -67,8 +68,8 @@ enum ZGGameObjectIds
GO_GONG_OF_BETHEKK = 180526 // Arlokk Event
};
-template<class AI, class T>
-AI* GetZulGurubAI(T* obj)
+template <class AI, class T>
+inline AI* GetZulGurubAI(T* obj)
{
return GetInstanceAI<AI>(obj, ZGScriptName);
}
diff --git a/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp b/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp
index 2e4fd37554d..ae5435aa571 100644
--- a/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp
@@ -48,9 +48,7 @@ class spell_razelikh_teleport_group : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_TELEPORT_SINGLE) && !sSpellMgr->GetSpellInfo(SPELL_TELEPORT_SINGLE_IN_GROUP))
- return false;
- return true;
+ return ValidateSpellInfo({ SPELL_TELEPORT_SINGLE, SPELL_TELEPORT_SINGLE_IN_GROUP });
}
void HandleScriptEffect(SpellEffIndex /* effIndex */)
@@ -59,7 +57,7 @@ class spell_razelikh_teleport_group : public SpellScriptLoader
{
if (Group* group = player->GetGroup())
{
- for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
+ for (GroupReference* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next())
if (Player* member = itr->GetSource())
if (member->IsWithinDistInMap(player, 20.0f) && !member->isDead())
member->CastSpell(member, SPELL_TELEPORT_SINGLE_IN_GROUP, true);
diff --git a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
index e521a3d1bb7..f350efd6396 100644
--- a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
@@ -26,6 +26,7 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "Player.h"
+#include "TemporarySummon.h"
enum TwilightCorrupter
{
@@ -146,7 +147,7 @@ class at_twilight_grove : public AreaTriggerScript
public:
at_twilight_grove() : AreaTriggerScript("at_twilight_grove") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override
{
if (player->GetQuestStatus(QUEST_NIGHTMARES_CORRUPTION) == QUEST_STATUS_INCOMPLETE)
if (!player->FindNearestCreature(NPC_TWILIGHT_CORRUPTER, 500.0f, true))
diff --git a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp b/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
index edf1d87c677..5a8197d8f5f 100644
--- a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
@@ -28,10 +28,11 @@ npc_ranger_lilatha
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
-#include "ScriptedEscortAI.h"
+#include "GameObject.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
+#include "ScriptedGossip.h"
+#include "TemporarySummon.h"
#include "WorldSession.h"
/*######
diff --git a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
index 5f7f56eee8e..af79fd66ea5 100644
--- a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
@@ -29,9 +29,10 @@ npc_rinji
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedEscortAI.h"
+#include "GameObject.h"
+#include "MotionMaster.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
/*######
## npc_oox09hl
diff --git a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
index 20b628e95d8..bc0f6ea959f 100644
--- a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
@@ -29,9 +29,11 @@ pyrewood_ambush
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "CreatureAIImpl.h"
#include "ScriptedEscortAI.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "TemporarySummon.h"
/*######
## npc_deathstalker_erland
@@ -224,7 +226,7 @@ public:
{
if (Creature* summoned = me->SummonCreature(creatureId, PyrewoodSpawnPoints[position][0], PyrewoodSpawnPoints[position][1], PyrewoodSpawnPoints[position][2], PyrewoodSpawnPoints[position][3], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000))
{
- Unit* target = NULL;
+ Unit* target = nullptr;
if (PlayerGUID)
if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID))
if (player->IsAlive() && RAND(0, 1))
diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
index dab69c434e6..d883f282549 100644
--- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
@@ -32,10 +32,12 @@ npc_lord_gregor_lescovar
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
-#include "ScriptedEscortAI.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
+#include "ScriptedGossip.h"
+#include "TemporarySummon.h"
/*######
## npc_bartleby
diff --git a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
index 4fd9fa4d865..edcfc78d510 100644
--- a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
@@ -68,7 +68,7 @@ public:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) override
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (bReset || spell->Id != 3607)
return;
diff --git a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
index 5cd85585a9d..e0396397889 100644
--- a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
@@ -17,9 +17,10 @@
*/
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedEscortAI.h"
+#include "GameObject.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedEscortAI.h"
/*######
## npc_galen_goodward
@@ -74,11 +75,11 @@ public:
{
switch (uiPointId)
{
- case 0:
+ case 0:
{
- GameObject* cage = NULL;
+ GameObject* cage = nullptr;
if (galensCageGUID)
- cage = me->GetMap()->GetGameObject(galensCageGUID);
+ cage = ObjectAccessor::GetGameObject(*me, galensCageGUID);
else
cage = GetClosestGameObjectWithEntry(me, GO_GALENS_CAGE, INTERACTION_DISTANCE);
if (cage)
@@ -88,9 +89,9 @@ public:
}
break;
}
- case 21:
- Talk(EMOTE_DISAPPEAR);
- break;
+ case 21:
+ Talk(EMOTE_DISAPPEAR);
+ break;
}
}
@@ -99,7 +100,7 @@ public:
switch (waypointId)
{
case 0:
- if (GameObject* cage = me->GetMap()->GetGameObject(galensCageGUID))
+ if (GameObject* cage = ObjectAccessor::GetGameObject(*me, galensCageGUID))
cage->ResetDoorOrButton();
break;
case 20:
diff --git a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
index a8d6b67b718..19833db218c 100644
--- a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
@@ -30,9 +30,11 @@ go_mausoleum_trigger
EndContentData */
#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
+#include "GameObject.h"
#include "GameObjectAI.h"
+#include "ObjectAccessor.h"
#include "Player.h"
+#include "ScriptedCreature.h"
/*######
## npc_calvin_montague
diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
index 9524e341b1c..37fe5cec1f9 100644
--- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
@@ -30,9 +30,11 @@ npc_parqual_fintallas
EndContentData */
#include "ScriptMgr.h"
+#include "MotionMaster.h"
+#include "ObjectAccessor.h"
+#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
-#include "Player.h"
/*######
## npc_lady_sylvanas_windrunner
diff --git a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
index 5839d40c15f..7ba95268562 100644
--- a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
@@ -153,7 +153,7 @@ public:
void DoDie()
{
//summoner dies here
- me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
+ me->DealDamage(me, me->GetHealth(), nullptr, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, nullptr, false);
//override any database `spawntimesecs` to prevent duplicated summons
uint32 rTime = me->GetRespawnDelay();
if (rTime < 600)