diff options
194 files changed, 414 insertions, 391 deletions
diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h index acc8012bbbc..ade08b3a35d 100644 --- a/src/server/game/Instances/InstanceScript.h +++ b/src/server/game/Instances/InstanceScript.h @@ -243,6 +243,16 @@ AI* GetInstanceAI(T* obj, char const* scriptName) return new AI(obj); return NULL; -} +}; + +template<class AI, class T> +AI* GetInstanceAI(T* obj) +{ + if (InstanceMap* instance = obj->GetMap()->ToInstanceMap()) + if (instance->GetInstanceScript()) + return new AI(obj); + + return NULL; +}; #endif // TRINITY_INSTANCE_DATA_H diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp index ee8f22ca66c..6949c73a1f3 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp @@ -117,7 +117,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_grimstoneAI(creature); + return GetInstanceAI<npc_grimstoneAI>(creature); } struct npc_grimstoneAI : public npc_escortAI @@ -1237,7 +1237,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_rocknotAI(creature); + return GetInstanceAI<npc_rocknotAI>(creature); } struct npc_rocknotAI : public npc_escortAI 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 dcf5ef56848..ecdfafea641 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 @@ -39,7 +39,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_draganthaurissanAI(creature); + return GetInstanceAI<boss_draganthaurissanAI>(creature); } struct boss_draganthaurissanAI : public ScriptedAI 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 55e6862bda7..aa0d0810a08 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 @@ -140,7 +140,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_doomrelAI(creature); + return GetInstanceAI<boss_doomrelAI>(creature); } struct boss_doomrelAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp index dbc3056b1ff..b2d496501ff 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp @@ -162,7 +162,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_gythAI(creature); + return GetInstanceAI<boss_gythAI>(creature); } }; 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 26540eb38a6..5a34bffca6f 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp @@ -128,7 +128,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lord_valthalakAI(creature); + return GetInstanceAI<boss_lord_valthalakAI>(creature); } }; 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 1c40385c0fd..0e14eedc813 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp @@ -316,7 +316,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_pyroguard_emberseerAI(creature); + return GetInstanceAI<boss_pyroguard_emberseerAI>(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 ff839e3cacb..efe53d0825a 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp @@ -438,7 +438,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_rend_blackhandAI(creature); + return GetInstanceAI<boss_rend_blackhandAI>(creature); } }; 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 c9dc3d8f134..77afea4b656 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp @@ -116,7 +116,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_broodlordAI(creature); + return GetInstanceAI<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 05effabe557..9878720b1dd 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp @@ -282,7 +282,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_chromaggusAI(creature); + return GetInstanceAI<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 0d79f3faeee..222bd6f80ea 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp @@ -92,7 +92,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ebonrocAI(creature); + return GetInstanceAI<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 369e4e02f5a..983fe60a2d0 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp @@ -94,7 +94,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_firemawAI(creature); + return GetInstanceAI<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 060bfeb60b3..63b43d81ae4 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp @@ -100,7 +100,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_flamegorAI(creature); + return GetInstanceAI<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 0d3774e1b58..5e0f17b2330 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp @@ -376,7 +376,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_victor_nefariusAI(creature); + return GetInstanceAI<boss_victor_nefariusAI>(creature); } }; @@ -572,7 +572,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_nefarianAI(creature); + return GetInstanceAI<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 caf2719eff9..c2e7b7a091c 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp @@ -156,7 +156,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_razorgoreAI(creature); + return GetInstanceAI<boss_razorgoreAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp index 0fdb88923b3..bc94f1b0267 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp @@ -179,7 +179,7 @@ class npc_core_rager : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_core_ragerAI(creature); + return GetInstanceAI<npc_core_ragerAI>(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 1001516d42e..4c1ae6b302f 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp @@ -207,7 +207,7 @@ class boss_majordomo : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_majordomoAI(creature); + return GetInstanceAI<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 d03f756f366..165c33573bd 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp @@ -306,7 +306,7 @@ class boss_ragnaros : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ragnarosAI(creature); + return GetInstanceAI<boss_ragnarosAI>(creature); } }; @@ -342,7 +342,7 @@ class npc_son_of_flame : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_son_of_flameAI(creature); + return GetInstanceAI<npc_son_of_flameAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp index 8a7836b310e..16142215e9f 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp @@ -45,7 +45,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_mr_smiteAI(creature); + return GetInstanceAI<boss_mr_smiteAI>(creature); } struct boss_mr_smiteAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp index 46683442a60..3fe806e09a8 100644 --- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp +++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp @@ -90,7 +90,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_blastmaster_emi_shortfuseAI(creature); + return GetInstanceAI<npc_blastmaster_emi_shortfuseAI>(creature); } bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp index fc37c42be85..006f619d3ab 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp @@ -98,7 +98,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_moroesAI(creature); + return GetInstanceAI<boss_moroesAI>(creature); } struct boss_moroesAI : public ScriptedAI @@ -393,7 +393,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_baroness_dorothea_millstipeAI(creature); + return GetInstanceAI<boss_baroness_dorothea_millstipeAI>(creature); } struct boss_baroness_dorothea_millstipeAI : public boss_moroes_guestAI @@ -456,7 +456,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_baron_rafe_dreugerAI(creature); + return GetInstanceAI<boss_baron_rafe_dreugerAI>(creature); } struct boss_baron_rafe_dreugerAI : public boss_moroes_guestAI @@ -513,7 +513,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lady_catriona_von_indiAI(creature); + return GetInstanceAI<boss_lady_catriona_von_indiAI>(creature); } struct boss_lady_catriona_von_indiAI : public boss_moroes_guestAI @@ -583,7 +583,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lady_keira_berrybuckAI(creature); + return GetInstanceAI<boss_lady_keira_berrybuckAI>(creature); } struct boss_lady_keira_berrybuckAI : public boss_moroes_guestAI @@ -657,7 +657,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lord_robin_darisAI(creature); + return GetInstanceAI<boss_lord_robin_darisAI>(creature); } struct boss_lord_robin_darisAI : public boss_moroes_guestAI @@ -713,7 +713,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lord_crispin_ferenceAI(creature); + return GetInstanceAI<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 7111056cc69..52bec6dbf27 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp @@ -71,7 +71,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_netherspiteAI(creature); + return GetInstanceAI<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 984ef902f05..5f3156ccc5a 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp @@ -71,7 +71,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_nightbaneAI(creature); + return GetInstanceAI<boss_nightbaneAI>(creature); } struct boss_nightbaneAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp index 9f7db5813d4..d8901174d62 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp @@ -179,7 +179,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_malchezaarAI(creature); + return GetInstanceAI<boss_malchezaarAI>(creature); } struct boss_malchezaarAI : public ScriptedAI 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 2036d083f6b..b2c74fc45f8 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp @@ -86,7 +86,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_aranAI(creature); + return GetInstanceAI<boss_aranAI>(creature); } struct boss_aranAI : 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 9e7897cd56a..68ba0a3fd01 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp @@ -72,7 +72,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_kilrekAI(creature); + return GetInstanceAI<npc_kilrekAI>(creature); } struct npc_kilrekAI : public ScriptedAI @@ -257,7 +257,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_terestianAI(creature); + return GetInstanceAI<boss_terestianAI>(creature); } struct boss_terestianAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index da14ab8646e..c6f37b15a54 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -118,7 +118,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_dorotheeAI(creature); + return GetInstanceAI<boss_dorotheeAI>(creature); } struct boss_dorotheeAI : public ScriptedAI @@ -299,7 +299,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_strawmanAI(creature); + return GetInstanceAI<boss_strawmanAI>(creature); } struct boss_strawmanAI : public ScriptedAI @@ -414,7 +414,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_tinheadAI(creature); + return GetInstanceAI<boss_tinheadAI>(creature); } struct boss_tinheadAI : public ScriptedAI @@ -524,7 +524,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_roarAI(creature); + return GetInstanceAI<boss_roarAI>(creature); } struct boss_roarAI : public ScriptedAI @@ -633,7 +633,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_croneAI(creature); + return GetInstanceAI<boss_croneAI>(creature); } struct boss_croneAI : public ScriptedAI @@ -813,7 +813,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_bigbadwolfAI(creature); + return GetInstanceAI<boss_bigbadwolfAI>(creature); } struct boss_bigbadwolfAI : public ScriptedAI @@ -1015,7 +1015,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_julianneAI(creature); + return GetInstanceAI<boss_julianneAI>(creature); } struct boss_julianneAI : public ScriptedAI @@ -1138,7 +1138,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_romuloAI(creature); + return GetInstanceAI<boss_romuloAI>(creature); } struct boss_romuloAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp index e59889d24aa..ed010124d6f 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp @@ -412,7 +412,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_barnesAI(creature); + return GetInstanceAI<npc_barnesAI>(creature); } }; @@ -476,7 +476,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_image_of_medivhAI(creature); + return GetInstanceAI<npc_image_of_medivhAI>(creature); } struct npc_image_of_medivhAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp index 074ad3f1b96..15b3e6833c6 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp @@ -96,7 +96,7 @@ public: CreatureAI* GetAI(Creature* c) const OVERRIDE { - return new boss_felblood_kaelthasAI(c); + return GetInstanceAI<boss_felblood_kaelthasAI>(c); } struct boss_felblood_kaelthasAI : public ScriptedAI @@ -482,7 +482,7 @@ public: CreatureAI* GetAI(Creature* c) const OVERRIDE { - return new npc_felkael_phoenixAI(c); + return GetInstanceAI<npc_felkael_phoenixAI>(c); } struct npc_felkael_phoenixAI : 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 af78b250ae1..b5110c3c3c7 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp @@ -110,7 +110,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_priestess_delrissaAI(creature); + return GetInstanceAI<boss_priestess_delrissaAI>(creature); } struct boss_priestess_delrissaAI : public ScriptedAI @@ -504,7 +504,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kagani_nightstrikeAI(creature); + return GetInstanceAI<boss_kagani_nightstrikeAI>(creature); } struct boss_kagani_nightstrikeAI : public boss_priestess_lackey_commonAI @@ -608,7 +608,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ellris_duskhallowAI(creature); + return GetInstanceAI<boss_ellris_duskhallowAI>(creature); } struct boss_ellris_duskhallowAI : public boss_priestess_lackey_commonAI @@ -699,7 +699,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_eramas_brightblazeAI(creature); + return GetInstanceAI<boss_eramas_brightblazeAI>(creature); } struct boss_eramas_brightblazeAI : public boss_priestess_lackey_commonAI @@ -760,7 +760,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_yazzaiAI(creature); + return GetInstanceAI<boss_yazzaiAI>(creature); } struct boss_yazzaiAI : public boss_priestess_lackey_commonAI @@ -890,7 +890,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_warlord_salarisAI(creature); + return GetInstanceAI<boss_warlord_salarisAI>(creature); } struct boss_warlord_salarisAI : public boss_priestess_lackey_commonAI @@ -1010,7 +1010,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_garaxxasAI(creature); + return GetInstanceAI<boss_garaxxasAI>(creature); } struct boss_garaxxasAI : public boss_priestess_lackey_commonAI @@ -1121,7 +1121,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_apokoAI(creature); + return GetInstanceAI<boss_apokoAI>(creature); } struct boss_apokoAI : public boss_priestess_lackey_commonAI @@ -1219,7 +1219,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_zelfanAI(creature); + return GetInstanceAI<boss_zelfanAI>(creature); } struct boss_zelfanAI : public boss_priestess_lackey_commonAI diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp index d2dbc85f52a..bcb321cab2e 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp @@ -66,7 +66,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_selin_fireheartAI(creature); + return GetInstanceAI<boss_selin_fireheartAI>(creature); }; struct boss_selin_fireheartAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp index 24b48112bb6..553107b2e82 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp @@ -76,7 +76,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_vexallusAI(creature); + return GetInstanceAI<boss_vexallusAI>(creature); }; struct boss_vexallusAI : public BossAI diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp index 442dcf91f32..7c561f8b920 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp @@ -374,7 +374,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_headless_horsemanAI(creature); + return GetInstanceAI<boss_headless_horsemanAI>(creature); } struct boss_headless_horsemanAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp index a57c237c21a..48b133081bd 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp @@ -48,7 +48,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_interrogator_vishasAI(creature); + return GetInstanceAI<boss_interrogator_vishasAI>(creature); } struct boss_interrogator_vishasAI : public ScriptedAI 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 6e71729ab50..41e961360b5 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp @@ -65,7 +65,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_scarlet_commander_mograineAI(creature); + return GetInstanceAI<boss_scarlet_commander_mograineAI>(creature); } struct boss_scarlet_commander_mograineAI : public ScriptedAI @@ -231,7 +231,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_high_inquisitor_whitemaneAI(creature); + return GetInstanceAI<boss_high_inquisitor_whitemaneAI>(creature); } struct boss_high_inquisitor_whitemaneAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp index 2277c53ae6b..558dc030eaf 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp @@ -128,7 +128,7 @@ class boss_darkmaster_gandling : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_darkmaster_gandlingAI(creature); + return GetInstanceAI<boss_darkmaster_gandlingAI>(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 2433390f8f5..e485db94e42 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp @@ -253,7 +253,7 @@ class boss_kirtonos_the_herald : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kirtonos_the_heraldAI(creature); + return GetInstanceAI<boss_kirtonos_the_heraldAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp index 8d89592090e..b8f3df2da60 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp @@ -72,7 +72,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_shadowfang_prisonerAI(creature); + return GetInstanceAI<npc_shadowfang_prisonerAI>(creature); } bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE @@ -158,7 +158,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_arugal_voidwalkerAI(creature); + return GetInstanceAI<npc_arugal_voidwalkerAI>(creature); } struct npc_arugal_voidwalkerAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp index 16ec442d963..04edf4e3f43 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp @@ -68,7 +68,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_baron_rivendareAI(creature); + return GetInstanceAI<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 1812e2efd8d..2f5750b6141 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp @@ -42,7 +42,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_baroness_anastariAI(creature); + return GetInstanceAI<boss_baroness_anastariAI>(creature); } struct boss_baroness_anastariAI : 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 0f8340891a8..57bd138e7e1 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp @@ -43,7 +43,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_maleki_the_pallidAI(creature); + return GetInstanceAI<boss_maleki_the_pallidAI>(creature); } struct boss_maleki_the_pallidAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp index 2cacf80e27c..2eb5d6024d4 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp @@ -42,7 +42,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_nerubenkanAI(creature); + return GetInstanceAI<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 706c2e7b6fb..b5d03ae9261 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 @@ -58,7 +58,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_silver_hand_bossesAI(creature); + return GetInstanceAI<boss_silver_hand_bossesAI>(creature); } struct boss_silver_hand_bossesAI : public ScriptedAI 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 79b8dd7dfe2..17eebf227e8 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp @@ -45,7 +45,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ramstein_the_gorgerAI(creature); + return GetInstanceAI<boss_ramstein_the_gorgerAI>(creature); } struct boss_ramstein_the_gorgerAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp index 28f4bae9f0f..92d5c3121ed 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp @@ -441,7 +441,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kalecAI(creature); + return GetInstanceAI<boss_kalecAI>(creature); } struct boss_kalecAI : public ScriptedAI @@ -575,7 +575,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_sathrovarrAI(creature); + return GetInstanceAI<boss_sathrovarrAI>(creature); } struct boss_sathrovarrAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index 5db7e182ea1..d3e1661aca9 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -236,7 +236,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kalecgos_kjAI(creature); + return GetInstanceAI<boss_kalecgos_kjAI>(creature); } struct boss_kalecgos_kjAI : public ScriptedAI @@ -389,7 +389,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_kiljaeden_controllerAI(creature); + return GetInstanceAI<npc_kiljaeden_controllerAI>(creature); } struct npc_kiljaeden_controllerAI : public ScriptedAI @@ -1150,7 +1150,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_shield_orbAI(creature); + return GetInstanceAI<npc_shield_orbAI>(creature); } struct npc_shield_orbAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index 8da162bae14..add0885a8a2 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -371,7 +371,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_muru_portalAI(creature); + return GetInstanceAI<npc_muru_portalAI>(creature); } struct npc_muru_portalAI : public ScriptedAI @@ -571,7 +571,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_blackholeAI(creature); + return GetInstanceAI<npc_blackholeAI>(creature); } struct npc_blackholeAI : public ScriptedAI diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp index 69ee53f0762..bae21721634 100644 --- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp +++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp @@ -206,7 +206,7 @@ class boss_archaedas : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_archaedasAI(creature); + return GetInstanceAI<boss_archaedasAI>(creature); } }; @@ -305,7 +305,7 @@ class npc_archaedas_minions : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_archaedas_minionsAI(creature); + return GetInstanceAI<npc_archaedas_minionsAI>(creature); } }; @@ -368,7 +368,7 @@ class npc_stonekeepers : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_stonekeepersAI(creature); + return GetInstanceAI<npc_stonekeepersAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp index f436b3c89ab..f9470f89209 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp @@ -363,7 +363,7 @@ class boss_akilzon : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_akilzonAI(creature); + return GetInstanceAI<boss_akilzonAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp index 594cc3d2918..116c450ddab 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp @@ -343,7 +343,7 @@ class boss_halazzi : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_halazziAI(creature); + return GetInstanceAI<boss_halazziAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index 78c1395d82d..42f8837ac81 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -510,7 +510,7 @@ class boss_hexlord_malacrass : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_hex_lord_malacrassAI(creature); + return GetInstanceAI<boss_hex_lord_malacrassAI>(creature); } }; @@ -567,7 +567,7 @@ class boss_thurg : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_thurgAI(creature); + return GetInstanceAI<boss_thurgAI>(creature); } }; @@ -664,7 +664,7 @@ class boss_alyson_antille : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_alyson_antilleAI(creature); + return GetInstanceAI<boss_alyson_antilleAI>(creature); } }; @@ -757,7 +757,7 @@ class boss_lord_raadan : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lord_raadanAI(creature); + return GetInstanceAI<boss_lord_raadanAI>(creature); } }; @@ -798,7 +798,7 @@ class boss_darkheart : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_darkheartAI(creature); + return GetInstanceAI<boss_darkheartAI>(creature); } }; @@ -857,7 +857,7 @@ class boss_slither : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_slitherAI(creature); + return GetInstanceAI<boss_slitherAI>(creature); } }; @@ -900,7 +900,7 @@ class boss_fenstalker : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_fenstalkerAI(creature); + return GetInstanceAI<boss_fenstalkerAI>(creature); } }; @@ -950,7 +950,7 @@ class boss_koragg : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_koraggAI(creature); + return GetInstanceAI<boss_koraggAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp index cc5acbf8ab3..5d119b1d86a 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp @@ -442,7 +442,7 @@ class boss_janalai : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_janalaiAI(creature); + return GetInstanceAI<boss_janalaiAI>(creature); } }; @@ -612,7 +612,7 @@ class npc_janalai_hatcher : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_janalai_hatcherAI(creature); + return GetInstanceAI<npc_janalai_hatcherAI>(creature); } }; @@ -671,7 +671,7 @@ class npc_janalai_hatchling : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_janalai_hatchlingAI(creature); + return GetInstanceAI<npc_janalai_hatchlingAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp index 25fa16b974c..e97456b3e7d 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp @@ -453,7 +453,7 @@ class boss_nalorakk : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_nalorakkAI(creature); + return GetInstanceAI<boss_nalorakkAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp index ef47fa8877a..ce1c434bb96 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp @@ -555,7 +555,7 @@ class boss_zuljin : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_zuljinAI(creature); + return GetInstanceAI<boss_zuljinAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index a4176322288..6e375114fc6 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -116,7 +116,7 @@ class npc_forest_frog : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_forest_frogAI(creature); + return GetInstanceAI<npc_forest_frogAI>(creature); } }; @@ -460,7 +460,7 @@ class npc_harrison_jones : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_harrison_jonesAI(creature); + return GetInstanceAI<npc_harrison_jonesAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp index b25daf85a7c..d35e9bd31f6 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp @@ -169,7 +169,7 @@ class boss_hakkar : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_hakkarAI(creature); + return GetInstanceAI<boss_hakkarAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp index 50b7d277a70..16cdfc6c10a 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp @@ -286,7 +286,7 @@ class npc_batrider : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_batriderAI(creature); + return GetInstanceAI<npc_batriderAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp index 4a37f3cf597..0bd97ec3bf4 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp @@ -232,7 +232,7 @@ class npc_healing_ward : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_healing_wardAI(creature); + return GetInstanceAI<npc_healing_wardAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp index 121de7d9cf5..392b405b0a8 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp @@ -393,7 +393,7 @@ class npc_vilebranch_speaker : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_vilebranch_speakerAI(creature); + return GetInstanceAI<npc_vilebranch_speakerAI>(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp index d20414705cf..c784b2c65ad 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp @@ -251,7 +251,7 @@ class boss_thekal : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_thekalAI(creature); + return GetInstanceAI<boss_thekalAI>(creature); } }; @@ -406,7 +406,7 @@ class npc_zealot_lorkhan : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_zealot_lorkhanAI(creature); + return GetInstanceAI<npc_zealot_lorkhanAI>(creature); } }; @@ -559,7 +559,7 @@ class npc_zealot_zath : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_zealot_zathAI(creature); + return GetInstanceAI<npc_zealot_zathAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp index e74ed93bc66..f76bf2925ee 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp @@ -73,7 +73,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_blackfathom_deeps_eventAI(creature); + return GetInstanceAI<npc_blackfathom_deeps_eventAI>(creature); } struct npc_blackfathom_deeps_eventAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp index 139eed963c1..092156b632a 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp @@ -31,7 +31,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_gelihastAI(creature); + return GetInstanceAI<boss_gelihastAI>(creature); } struct boss_gelihastAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp index 8eeedb6e15f..d224fa2f06c 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp @@ -36,7 +36,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kelrisAI(creature); + return GetInstanceAI<boss_kelrisAI>(creature); } struct boss_kelrisAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp index d61fbc153e9..fc3252484db 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp @@ -47,7 +47,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_anetheronAI(creature); + return GetInstanceAI<boss_anetheronAI>(creature); } struct boss_anetheronAI : public hyjal_trashAI @@ -180,7 +180,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_towering_infernalAI(creature); + return GetInstanceAI<npc_towering_infernalAI>(creature); } struct npc_towering_infernalAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp index 41cc1d0241d..cd434f4aefd 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp @@ -83,7 +83,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ancient_wispAI(creature); + return GetInstanceAI<npc_ancient_wispAI>(creature); } struct npc_ancient_wispAI : public ScriptedAI @@ -239,7 +239,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_archimondeAI(creature); + return GetInstanceAI<boss_archimondeAI>(creature); } struct boss_archimondeAI : public hyjal_trashAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp index dd486df16ed..91581ac7e92 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp @@ -48,7 +48,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_azgalorAI(creature); + return GetInstanceAI<boss_azgalorAI>(creature); } struct boss_azgalorAI : public hyjal_trashAI @@ -186,7 +186,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_lesser_doomguardAI(creature); + return GetInstanceAI<npc_lesser_doomguardAI>(creature); } struct npc_lesser_doomguardAI : public hyjal_trashAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp index 66e276d25b6..ea5e641347c 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp @@ -49,7 +49,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kazrogalAI(creature); + return GetInstanceAI<boss_kazrogalAI>(creature); } struct boss_kazrogalAI : public hyjal_trashAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp index c163e7c0f1f..6b413ec847b 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp @@ -44,7 +44,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_rage_winterchillAI(creature); + return GetInstanceAI<boss_rage_winterchillAI>(creature); } struct boss_rage_winterchillAI : public hyjal_trashAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp index f4d3f559585..a352c3493ee 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp @@ -102,6 +102,9 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { + if (!creature->GetInstanceScript()) + return NULL; + hyjalAI* ai = new hyjalAI(creature); ai->Reset(); @@ -184,6 +187,9 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { + if (!creature->GetInstanceScript()) + return NULL; + hyjalAI* ai = new hyjalAI(creature); ai->Reset(); @@ -209,6 +215,9 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { + if (!creature->GetInstanceScript()) + return NULL; + hyjalAI* ai = new hyjalAI(creature); ai->Reset(); ai->EnterEvadeMode(); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp index 9245a0c648f..6ca5bfd10d5 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp @@ -537,7 +537,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_giant_infernalAI(creature); + return GetInstanceAI<npc_giant_infernalAI>(creature); } }; @@ -548,7 +548,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_abominationAI(creature); + return GetInstanceAI<npc_abominationAI>(creature); } struct npc_abominationAI : public hyjal_trashAI @@ -646,7 +646,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ghoulAI(creature); + return GetInstanceAI<npc_ghoulAI>(creature); } struct npc_ghoulAI : public hyjal_trashAI @@ -748,7 +748,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_necromancerAI(creature); + return GetInstanceAI<npc_necromancerAI>(creature); } struct npc_necromancerAI : public hyjal_trashAI @@ -875,7 +875,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_bansheeAI(creature); + return GetInstanceAI<npc_bansheeAI>(creature); } struct npc_bansheeAI : public hyjal_trashAI @@ -978,7 +978,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_crypt_fiendAI(creature); + return GetInstanceAI<npc_crypt_fiendAI>(creature); } struct npc_crypt_fiendAI : public hyjal_trashAI @@ -1068,7 +1068,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_fel_stalkerAI(creature); + return GetInstanceAI<npc_fel_stalkerAI>(creature); } struct npc_fel_stalkerAI : public hyjal_trashAI @@ -1158,7 +1158,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_frost_wyrmAI(creature); + return GetInstanceAI<npc_frost_wyrmAI>(creature); } struct npc_frost_wyrmAI : public hyjal_trashAI @@ -1270,7 +1270,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_gargoyleAI(creature); + return GetInstanceAI<npc_gargoyleAI>(creature); } struct npc_gargoyleAI : public hyjal_trashAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp index c049be0309b..15f0df5fae6 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp @@ -52,7 +52,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_epochAI(creature); + return GetInstanceAI<boss_epochAI>(creature); } struct boss_epochAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp index 54438e3b8a9..b12986c72ff 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp @@ -39,7 +39,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_infinite_corruptorAI(creature); + return GetInstanceAI<boss_infinite_corruptorAI>(creature); } struct boss_infinite_corruptorAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp index e16ed882171..0ab5f49fb34 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp @@ -66,7 +66,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_mal_ganisAI(creature); + return GetInstanceAI<boss_mal_ganisAI>(creature); } struct boss_mal_ganisAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp index aff076f4763..490e93ec090 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp @@ -51,7 +51,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_meathookAI(creature); + return GetInstanceAI<boss_meathookAI>(creature); } struct boss_meathookAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp index fc5b3c4a8b0..ffc0c73ecfa 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp @@ -56,7 +56,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_salrammAI(creature); + return GetInstanceAI<boss_salrammAI>(creature); } struct boss_salrammAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index dbead663cff..91a7ca9ab0d 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -344,7 +344,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_arthasAI(creature); + return GetInstanceAI<npc_arthasAI>(creature); } struct npc_arthasAI : public npc_escortAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp index 3b51f6d0f8f..d69137060e0 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp @@ -54,7 +54,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_captain_skarlocAI(creature); + return GetInstanceAI<boss_captain_skarlocAI>(creature); } struct boss_captain_skarlocAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp index 5cbe76671a4..0c20669775c 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp @@ -52,7 +52,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_epoch_hunterAI(creature); + return GetInstanceAI<boss_epoch_hunterAI>(creature); } struct boss_epoch_hunterAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp index bdf7d71a497..031a0f2792e 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp @@ -188,7 +188,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_thrall_old_hillsbradAI(creature); + return GetInstanceAI<npc_thrall_old_hillsbradAI>(creature); } bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE @@ -573,7 +573,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_tarethaAI(creature); + return GetInstanceAI<npc_tarethaAI>(creature); } bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp index 3817c2628e3..a26b8f5556b 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp @@ -141,7 +141,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_aeonusAI(creature); + return GetInstanceAI<boss_aeonusAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp index fe91f3ab712..aa5fb22a24a 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp @@ -145,7 +145,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_chrono_lord_dejaAI(creature); + return GetInstanceAI<boss_chrono_lord_dejaAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp index 4d94edf7339..d496a9a79ab 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp @@ -143,7 +143,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_temporusAI(creature); + return GetInstanceAI<boss_temporusAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp index 4fa7e007a7c..10cd2068f72 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp @@ -70,7 +70,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_medivh_bmAI(creature); + return GetInstanceAI<npc_medivh_bmAI>(creature); } struct npc_medivh_bmAI : public ScriptedAI @@ -268,7 +268,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_time_riftAI(creature); + return GetInstanceAI<npc_time_riftAI>(creature); } struct npc_time_riftAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp index f16441ba72b..c610760a289 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp @@ -469,7 +469,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_onyxiaAI(creature); + return GetInstanceAI<boss_onyxiaAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp index abd76ebe508..28e7759a16f 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp @@ -321,7 +321,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_belnistraszAI(creature); + return GetInstanceAI<npc_belnistraszAI>(creature); } }; @@ -362,7 +362,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_idol_room_spawnerAI(creature); + return GetInstanceAI<npc_idol_room_spawnerAI>(creature); } }; @@ -433,7 +433,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_tomb_creatureAI(creature); + return GetInstanceAI<npc_tomb_creatureAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp index 327fe0d1358..1cdcfae1139 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp @@ -232,7 +232,7 @@ class boss_ayamiss : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ayamissAI(creature); + return GetInstanceAI<boss_ayamissAI>(creature); } }; @@ -286,7 +286,7 @@ class npc_hive_zara_larva : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_hive_zara_larvaAI(creature); + return GetInstanceAI<npc_hive_zara_larvaAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp index 0890a9804f9..ae4b42a4221 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp @@ -236,7 +236,7 @@ class npc_buru_egg : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_buru_eggAI(creature); + return GetInstanceAI<npc_buru_eggAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp index 0b58ded0b1c..09c4734dc49 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp @@ -127,7 +127,7 @@ class boss_kurinnaxx : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kurinnaxxAI(creature); + return GetInstanceAI<boss_kurinnaxxAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp index 366f74f469e..6db8b3dde85 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp @@ -273,7 +273,7 @@ class boss_ossirian : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ossirianAI(creature); + return GetInstanceAI<boss_ossirianAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp index 63d43dcfb4b..e00b46d3ed1 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp @@ -48,7 +48,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kriAI(creature); + return GetInstanceAI<boss_kriAI>(creature); } struct boss_kriAI : public ScriptedAI @@ -145,7 +145,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_vemAI(creature); + return GetInstanceAI<boss_vemAI>(creature); } struct boss_vemAI : public ScriptedAI @@ -238,7 +238,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_yaujAI(creature); + return GetInstanceAI<boss_yaujAI>(creature); } struct boss_yaujAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp index d2b5b5eaf8c..73eb9a8163b 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp @@ -153,7 +153,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new eye_of_cthunAI(creature); + return GetInstanceAI<eye_of_cthunAI>(creature); } struct eye_of_cthunAI : public ScriptedAI @@ -459,7 +459,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new cthunAI(creature); + return GetInstanceAI<cthunAI>(creature); } struct cthunAI : public ScriptedAI diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp index 76665f649b3..e63c2b8545b 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp @@ -394,7 +394,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_veknilashAI(creature); + return GetInstanceAI<boss_veknilashAI>(creature); } struct boss_veknilashAI : public boss_twinemperorsAI @@ -480,7 +480,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_veklorAI(creature); + return GetInstanceAI<boss_veklorAI>(creature); } struct boss_veklorAI : public boss_twinemperorsAI diff --git a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp index a985f353976..fa1b780b258 100644 --- a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp +++ b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp @@ -81,7 +81,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_disciple_of_naralexAI(creature); + return GetInstanceAI<npc_disciple_of_naralexAI>(creature); } bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE diff --git a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp index bc31fd118be..95e2c298af7 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp @@ -150,7 +150,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_zum_rahAI(creature); + return GetInstanceAI<boss_zum_rahAI>(creature); } }; diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp index a2f98b21589..72715c49b8f 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp @@ -97,7 +97,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_sergeant_blyAI(creature); + return GetInstanceAI<npc_sergeant_blyAI>(creature); } struct npc_sergeant_blyAI : public ScriptedAI @@ -296,7 +296,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_weegli_blastfuseAI(creature); + return GetInstanceAI<npc_weegli_blastfuseAI>(creature); } struct npc_weegli_blastfuseAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp index a5997dc4cf8..e43d0846b75 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp @@ -311,7 +311,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_volazjAI(creature); + return GetInstanceAI<boss_volazjAI>(creature); } }; diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp index fcd4d4d73b3..a80b6fda636 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp @@ -337,7 +337,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_jedoga_shadowseekerAI(creature); + return GetInstanceAI<boss_jedoga_shadowseekerAI>(creature); } }; @@ -503,7 +503,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_jedoga_initiandAI(creature); + return GetInstanceAI<npc_jedoga_initiandAI>(creature); } }; @@ -589,7 +589,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_jedogas_aufseher_triggerAI(creature); + return GetInstanceAI<npc_jedogas_aufseher_triggerAI>(creature); } }; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp index 81530265617..155b8aa20b5 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp @@ -355,7 +355,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_anub_arakAI(creature); + return GetInstanceAI<boss_anub_arakAI>(creature); } }; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp index 1664a1375ae..39aaae06ff5 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp @@ -192,7 +192,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_hadronoxAI(creature); + return GetInstanceAI<boss_hadronoxAI>(creature); } }; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp index 143ccc29e0d..86fb0260cc5 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp @@ -195,7 +195,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_krik_thirAI(creature); + return GetInstanceAI<boss_krik_thirAI>(creature); } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp index f6fd1c14a9b..39be0eebf60 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp @@ -248,7 +248,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_eadricAI(creature); + return GetInstanceAI<boss_eadricAI>(creature); } }; @@ -406,7 +406,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_paletressAI(creature); + return GetInstanceAI<boss_paletressAI>(creature); } }; @@ -589,7 +589,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_argent_soldierAI(creature); + return GetInstanceAI<npc_argent_soldierAI>(creature); } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp index 1922ad26060..468ab681389 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp @@ -300,7 +300,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_black_knightAI(creature); + return GetInstanceAI<boss_black_knightAI>(creature); } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp index 8bff123af75..3f86e75a410 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp @@ -300,7 +300,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new generic_vehicleAI_toc5AI(creature); + return GetInstanceAI<generic_vehicleAI_toc5AI>(creature); } }; @@ -433,7 +433,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_warrior_toc5AI(creature); + return GetInstanceAI<boss_warrior_toc5AI>(creature); } }; @@ -572,7 +572,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_mage_toc5AI(creature); + return GetInstanceAI<boss_mage_toc5AI>(creature); } }; @@ -719,7 +719,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_shaman_toc5AI(creature); + return GetInstanceAI<boss_shaman_toc5AI>(creature); } }; @@ -875,7 +875,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_hunter_toc5AI(creature); + return GetInstanceAI<boss_hunter_toc5AI>(creature); } }; @@ -996,7 +996,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_rouge_toc5AI(creature); + return GetInstanceAI<boss_rouge_toc5AI>(creature); } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp index 00b312aa407..2add4e9a1dd 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp @@ -472,7 +472,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_announcer_toc5AI(creature); + return GetInstanceAI<npc_announcer_toc5AI>(creature); } bool OnGossipHello(Player* player, Creature* creature) OVERRIDE diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp index 32a8a2fe379..ddd906c790c 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp @@ -423,7 +423,7 @@ class boss_anubarak_trial : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_anubarak_trialAI(creature); + return GetInstanceAI<boss_anubarak_trialAI>(creature); }; }; @@ -495,7 +495,7 @@ class npc_swarm_scarab : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_swarm_scarabAI(creature); + return GetInstanceAI<npc_swarm_scarabAI>(creature); }; }; @@ -583,7 +583,7 @@ class npc_nerubian_burrower : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_nerubian_burrowerAI(creature); + return GetInstanceAI<npc_nerubian_burrowerAI>(creature); }; }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp index 4c73d1a5f55..db926c32f96 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp @@ -539,7 +539,7 @@ class boss_toc_champion_controller : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_toc_champion_controllerAI(creature); + return GetInstanceAI<boss_toc_champion_controllerAI>(creature); } }; @@ -839,7 +839,7 @@ class npc_toc_druid : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_druidAI(creature); + return GetInstanceAI<npc_toc_druidAI>(creature); } }; @@ -932,7 +932,7 @@ class npc_toc_shaman : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_shamanAI(creature); + return GetInstanceAI<npc_toc_shamanAI>(creature); } }; @@ -1036,7 +1036,7 @@ class npc_toc_paladin : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_paladinAI(creature); + return GetInstanceAI<npc_toc_paladinAI>(creature); } }; @@ -1121,7 +1121,7 @@ class npc_toc_priest : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_priestAI(creature); + return GetInstanceAI<npc_toc_priestAI>(creature); } }; @@ -1219,7 +1219,7 @@ class npc_toc_shadow_priest : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_shadow_priestAI(creature); + return GetInstanceAI<npc_toc_shadow_priestAI>(creature); } }; @@ -1310,7 +1310,7 @@ class npc_toc_warlock : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_warlockAI(creature); + return GetInstanceAI<npc_toc_warlockAI>(creature); } }; @@ -1404,7 +1404,7 @@ class npc_toc_mage : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_mageAI(creature); + return GetInstanceAI<npc_toc_mageAI>(creature); } }; @@ -1506,7 +1506,7 @@ class npc_toc_hunter : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_hunterAI(creature); + return GetInstanceAI<npc_toc_hunterAI>(creature); } }; @@ -1598,7 +1598,7 @@ class npc_toc_boomkin : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_boomkinAI(creature); + return GetInstanceAI<npc_toc_boomkinAI>(creature); } }; @@ -1702,7 +1702,7 @@ class npc_toc_warrior : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_warriorAI(creature); + return GetInstanceAI<npc_toc_warriorAI>(creature); } }; @@ -1798,7 +1798,7 @@ class npc_toc_dk : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_dkAI(creature); + return GetInstanceAI<npc_toc_dkAI>(creature); } }; @@ -1903,7 +1903,7 @@ class npc_toc_rogue : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_rogueAI(creature); + return GetInstanceAI<npc_toc_rogueAI>(creature); } }; @@ -2029,7 +2029,7 @@ class npc_toc_enh_shaman : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_enh_shamanAI(creature); + return GetInstanceAI<npc_toc_enh_shamanAI>(creature); } }; @@ -2135,7 +2135,7 @@ class npc_toc_retro_paladin : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_retro_paladinAI(creature); + return GetInstanceAI<npc_toc_retro_paladinAI>(creature); } }; @@ -2187,7 +2187,7 @@ class npc_toc_pet_warlock : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_pet_warlockAI(creature); + return GetInstanceAI<npc_toc_pet_warlockAI>(creature); } }; @@ -2227,7 +2227,7 @@ class npc_toc_pet_hunter : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toc_pet_hunterAI(creature); + return GetInstanceAI<npc_toc_pet_hunterAI>(creature); } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp index 3fa9ac7387f..55372e73721 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp @@ -214,7 +214,7 @@ class boss_jaraxxus : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_jaraxxusAI(creature); + return GetInstanceAI<boss_jaraxxusAI>(creature); } }; @@ -250,7 +250,7 @@ class npc_legion_flame : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_legion_flameAI(creature); + return GetInstanceAI<npc_legion_flameAI>(creature); } }; @@ -355,7 +355,7 @@ class npc_fel_infernal : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_fel_infernalAI(creature); + return GetInstanceAI<npc_fel_infernalAI>(creature); } }; @@ -488,7 +488,7 @@ class npc_mistress_of_pain : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_mistress_of_painAI(creature); + return GetInstanceAI<npc_mistress_of_painAI>(creature); } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp index 5b90676fffc..3784c69225f 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp @@ -284,7 +284,7 @@ class boss_gormok : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_gormokAI(creature); + return GetInstanceAI<boss_gormokAI>(creature); } }; @@ -454,7 +454,7 @@ class npc_snobold_vassal : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_snobold_vassalAI(creature); + return GetInstanceAI<npc_snobold_vassalAI>(creature); } }; @@ -490,7 +490,7 @@ class npc_firebomb : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_firebombAI(creature); + return GetInstanceAI<npc_firebombAI>(creature); } }; @@ -712,7 +712,7 @@ class boss_acidmaw : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_acidmawAI(creature); + return GetInstanceAI<boss_acidmawAI>(creature); } }; @@ -779,7 +779,7 @@ class boss_dreadscale : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_dreadscaleAI(creature); + return GetInstanceAI<boss_dreadscaleAI>(creature); } }; @@ -820,7 +820,7 @@ class npc_slime_pool : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_slime_poolAI(creature); + return GetInstanceAI<npc_slime_poolAI>(creature); } }; @@ -1137,7 +1137,7 @@ class boss_icehowl : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_icehowlAI(creature); + return GetInstanceAI<boss_icehowlAI>(creature); } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index 0674696a033..88a404e8dfd 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -451,7 +451,7 @@ class boss_fjola : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_fjolaAI(creature); + return GetInstanceAI<boss_fjolaAI>(creature); } }; @@ -486,7 +486,7 @@ class boss_eydis : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_eydisAI(creature); + return GetInstanceAI<boss_eydisAI>(creature); } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp index 36cf9432d96..cd3a4e26924 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp @@ -357,7 +357,7 @@ class boss_lich_king_toc : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lich_king_tocAI(creature); + return GetInstanceAI<boss_lich_king_tocAI>(creature); } }; @@ -531,7 +531,7 @@ class npc_fizzlebang_toc : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_fizzlebang_tocAI(creature); + return GetInstanceAI<npc_fizzlebang_tocAI>(creature); } }; @@ -819,7 +819,7 @@ class npc_tirion_toc : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_tirion_tocAI(creature); + return GetInstanceAI<npc_tirion_tocAI>(creature); } }; @@ -903,7 +903,7 @@ class npc_garrosh_toc : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_garrosh_tocAI(creature); + return GetInstanceAI<npc_garrosh_tocAI>(creature); } }; @@ -987,7 +987,7 @@ class npc_varian_toc : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_varian_tocAI(creature); + return GetInstanceAI<npc_varian_tocAI>(creature); } }; diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp index 2dedc986b0c..7d1fbc752be 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp @@ -188,7 +188,7 @@ class boss_bronjahm : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_bronjahmAI(creature); + return GetInstanceAI<boss_bronjahmAI>(creature); } }; @@ -231,7 +231,7 @@ class npc_corrupted_soul_fragment : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_corrupted_soul_fragmentAI(creature); + return GetInstanceAI<npc_corrupted_soul_fragmentAI>(creature); } }; diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp index f3ed568fe23..52ab910fb9e 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp @@ -345,7 +345,7 @@ class boss_devourer_of_souls : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_devourer_of_soulsAI(creature); + return GetInstanceAI<boss_devourer_of_soulsAI>(creature); } }; diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp index cfa149c134f..0fc5ee29ca0 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp @@ -193,7 +193,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_sylvanas_fosAI(creature); + return GetInstanceAI<npc_sylvanas_fosAI>(creature); } }; @@ -330,7 +330,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_jaina_fosAI(creature); + return GetInstanceAI<npc_jaina_fosAI>(creature); } }; diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp index e2d285f7306..fbdd7f96fbe 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp @@ -52,7 +52,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_falricAI(creature); + return GetInstanceAI<boss_falricAI>(creature); } struct boss_falricAI : public boss_horAI diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp index a87b7b6d93d..b13cae79434 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp @@ -51,7 +51,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_marwynAI(creature); + return GetInstanceAI<boss_marwynAI>(creature); } struct boss_marwynAI : public boss_horAI diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index 96b772df5a9..2561dca0a4a 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -1283,7 +1283,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ghostly_priestAI(creature); + return GetInstanceAI<npc_ghostly_priestAI>(creature); } }; @@ -1355,7 +1355,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_phantom_mageAI(creature); + return GetInstanceAI<npc_phantom_mageAI>(creature); } }; @@ -1447,7 +1447,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_shadowy_mercenaryAI(creature); + return GetInstanceAI<npc_shadowy_mercenaryAI>(creature); } }; @@ -1499,7 +1499,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_spectral_footmanAI(creature); + return GetInstanceAI<npc_spectral_footmanAI>(creature); } }; @@ -1558,7 +1558,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_tortured_riflemanAI(creature); + return GetInstanceAI<npc_tortured_riflemanAI>(creature); } }; @@ -1674,7 +1674,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_frostworn_generalAI(creature); + return GetInstanceAI<npc_frostworn_generalAI>(creature); } }; @@ -1901,7 +1901,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_raging_ghoulAI(creature); + return GetInstanceAI<npc_raging_ghoulAI>(creature); } }; @@ -2021,7 +2021,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_risen_witch_doctorAI(creature); + return GetInstanceAI<npc_risen_witch_doctorAI>(creature); } }; @@ -2111,7 +2111,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_lumbering_abominationAI(creature); + return GetInstanceAI<npc_lumbering_abominationAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp index 93030492caf..f6973581a59 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp @@ -248,7 +248,7 @@ class boss_drakkari_colossus : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_drakkari_colossusAI(creature); + return GetInstanceAI<boss_drakkari_colossusAI>(creature); } }; @@ -381,7 +381,7 @@ class boss_drakkari_elemental : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_drakkari_elementalAI(creature); + return GetInstanceAI<boss_drakkari_elementalAI>(creature); } }; @@ -392,7 +392,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_living_mojoAI(creature); + return GetInstanceAI<npc_living_mojoAI>(creature); } struct npc_living_mojoAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp index c11db7146d1..e597c4c9e96 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp @@ -37,7 +37,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_eckAI(creature); + return GetInstanceAI<boss_eckAI>(creature); } struct boss_eckAI : public ScriptedAI @@ -141,7 +141,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ruins_dwellerAI(creature); + return GetInstanceAI<npc_ruins_dwellerAI>(creature); } struct npc_ruins_dwellerAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp index 7a5520ab145..0337dc07d8a 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp @@ -70,7 +70,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_gal_darahAI(creature); + return GetInstanceAI<boss_gal_darahAI>(creature); } struct boss_gal_darahAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp index 0ccaea316ef..2b621a70a68 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp @@ -54,7 +54,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_moorabiAI(creature); + return GetInstanceAI<boss_moorabiAI>(creature); } struct boss_moorabiAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp index 4c25bead1b4..0dcc2ca9c6e 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp @@ -76,7 +76,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_slad_ranAI(creature); + return GetInstanceAI<boss_slad_ranAI>(creature); } struct boss_slad_ranAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp index bbd700b7edd..9684c7d9cdf 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp @@ -666,7 +666,7 @@ class npc_the_lich_king_controller : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_the_lich_king_controllerAI(creature); + return GetInstanceAI<npc_the_lich_king_controllerAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp index b873b3ee15c..f6d4b5f786e 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp @@ -59,7 +59,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_anubrekhanAI(creature); + return GetInstanceAI<boss_anubrekhanAI>(creature); } struct boss_anubrekhanAI : public BossAI diff --git a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp index b723c2f4139..2d216c78ea8 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp @@ -216,7 +216,7 @@ class npc_faerlina_add : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_faerlina_addAI(creature); + return GetInstanceAI<npc_faerlina_addAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp index 9b336a77e26..04dba1d9fab 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp @@ -89,7 +89,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_four_horsemenAI(creature); + return GetInstanceAI<boss_four_horsemenAI>(creature); } struct boss_four_horsemenAI : public BossAI diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp index f76c46d96ff..46c16320547 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp @@ -500,7 +500,7 @@ class boss_gothik : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_gothikAI(creature); + return GetInstanceAI<boss_gothikAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp index a8e2783602f..3dad2798d2f 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp @@ -61,7 +61,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_heiganAI(creature); + return GetInstanceAI<boss_heiganAI>(creature); } struct boss_heiganAI : public BossAI diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp index f9efdfce28b..e112be27b21 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp @@ -649,7 +649,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kelthuzadAI(creature); + return GetInstanceAI<boss_kelthuzadAI>(creature); } }; @@ -769,7 +769,7 @@ class npc_kelthuzad_abomination : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_kelthuzad_abominationAI(creature); + return GetInstanceAI<npc_kelthuzad_abominationAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp index b56ecdd8b53..d653be216dc 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp @@ -217,7 +217,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_nothAI(creature); + return GetInstanceAI<boss_nothAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp index 96f2d743cac..f6e91d51af1 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp @@ -57,7 +57,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_patchwerkAI(creature); + return GetInstanceAI<boss_patchwerkAI>(creature); } struct boss_patchwerkAI : public BossAI diff --git a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp index 3d121887471..5548e5b7ad4 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp @@ -110,7 +110,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_thaddiusAI(creature); + return GetInstanceAI<boss_thaddiusAI>(creature); } struct boss_thaddiusAI : public BossAI @@ -285,7 +285,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_stalaggAI(creature); + return GetInstanceAI<npc_stalaggAI>(creature); } struct npc_stalaggAI : public ScriptedAI @@ -379,7 +379,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_feugenAI(creature); + return GetInstanceAI<npc_feugenAI>(creature); } struct npc_feugenAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index d113daa4954..81f14206d65 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -1074,7 +1074,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_malygosAI(creature); + return GetInstanceAI<boss_malygosAI>(creature); } }; @@ -1127,7 +1127,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_portal_eoeAI(creature); + return GetInstanceAI<npc_portal_eoeAI>(creature); } }; @@ -1190,7 +1190,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_power_sparkAI(creature); + return GetInstanceAI<npc_power_sparkAI>(creature); } }; @@ -1292,7 +1292,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_melee_hover_diskAI(creature); + return GetInstanceAI<npc_melee_hover_diskAI>(creature); } }; @@ -1374,7 +1374,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_caster_hover_diskAI(creature); + return GetInstanceAI<npc_caster_hover_diskAI>(creature); } }; @@ -1450,7 +1450,7 @@ class npc_nexus_lord : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_nexus_lordAI(creature); + return GetInstanceAI<npc_nexus_lordAI>(creature); } }; @@ -1517,7 +1517,7 @@ class npc_scion_of_eternity : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_scion_of_eternityAI(creature); + return GetInstanceAI<npc_scion_of_eternityAI>(creature); } }; @@ -1575,7 +1575,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_arcane_overloadAI(creature); + return GetInstanceAI<npc_arcane_overloadAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp index f05d065ab34..5d4167cc053 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp @@ -187,7 +187,7 @@ class boss_anomalus : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_anomalusAI(creature); + return GetInstanceAI<boss_anomalusAI>(creature); } }; @@ -255,7 +255,7 @@ class npc_chaotic_rift : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_chaotic_riftAI(creature); + return GetInstanceAI<npc_chaotic_riftAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp index f598de52e49..4d58a3449b9 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp @@ -61,7 +61,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_keristraszaAI(creature); + return GetInstanceAI<boss_keristraszaAI>(creature); } struct boss_keristraszaAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp index 1656d4c5a72..96c8f8c0ec5 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp @@ -65,7 +65,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_magus_telestraAI(creature); + return GetInstanceAI<boss_magus_telestraAI>(creature); } struct boss_magus_telestraAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp index d911aa8ed1a..2c7b16d1160 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp @@ -160,7 +160,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ormorokAI(creature); + return GetInstanceAI<boss_ormorokAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp index 385f80ae37d..3d1872e3f80 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp @@ -241,7 +241,7 @@ class npc_azure_ring_captain : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_ring_captainAI(creature); + return GetInstanceAI<npc_azure_ring_captainAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp index 7d1f2d86b18..b2cdfe0c854 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp @@ -99,7 +99,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_bjarngrimAI(creature); + return GetInstanceAI<boss_bjarngrimAI>(creature); } struct boss_bjarngrimAI : public ScriptedAI @@ -391,7 +391,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_stormforged_lieutenantAI(creature); + return GetInstanceAI<npc_stormforged_lieutenantAI>(creature); } struct npc_stormforged_lieutenantAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp index 68116452082..350a036e861 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp @@ -72,7 +72,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ionarAI(creature); + return GetInstanceAI<boss_ionarAI>(creature); } struct boss_ionarAI : public ScriptedAI @@ -302,7 +302,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_spark_of_ionarAI(creature); + return GetInstanceAI<npc_spark_of_ionarAI>(creature); } struct npc_spark_of_ionarAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp index af6cc7350c3..a2aceb92832 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp @@ -69,7 +69,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lokenAI(creature); + return GetInstanceAI<boss_lokenAI>(creature); } struct boss_lokenAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp index 8f231457619..c916bd06d1f 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp @@ -75,7 +75,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_volkhanAI(creature); + return GetInstanceAI<boss_volkhanAI>(creature); } struct boss_volkhanAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp index e2a8ab25cac..d7fccf22d72 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp @@ -315,7 +315,7 @@ class npc_auriaya_seeping_trigger : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_auriaya_seeping_triggerAI(creature); + return GetInstanceAI<npc_auriaya_seeping_triggerAI>(creature); } }; @@ -390,7 +390,7 @@ class npc_sanctum_sentry : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_sanctum_sentryAI(creature); + return GetInstanceAI<npc_sanctum_sentryAI>(creature); } }; @@ -466,7 +466,7 @@ class npc_feral_defender : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_feral_defenderAI(creature); + return GetInstanceAI<npc_feral_defenderAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index 44c380465a4..14588087e83 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -619,7 +619,7 @@ class boss_flame_leviathan_seat : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_flame_leviathan_seatAI(creature); + return GetInstanceAI<boss_flame_leviathan_seatAI>(creature); } }; @@ -898,7 +898,7 @@ class npc_colossus : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_colossusAI(creature); + return GetInstanceAI<npc_colossusAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp index e8f8e7684c2..19f22947b7c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp @@ -1146,7 +1146,7 @@ class npc_ancient_water_spirit : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ancient_water_spiritAI(creature); + return GetInstanceAI<npc_ancient_water_spiritAI>(creature); } }; @@ -1213,7 +1213,7 @@ class npc_storm_lasher : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_storm_lasherAI(creature); + return GetInstanceAI<npc_storm_lasherAI>(creature); } }; @@ -1258,7 +1258,7 @@ class npc_snaplasher : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_snaplasherAI(creature); + return GetInstanceAI<npc_snaplasherAI>(creature); } }; @@ -1522,7 +1522,7 @@ class npc_unstable_sun_beam : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_unstable_sun_beamAI(creature); + return GetInstanceAI<npc_unstable_sun_beamAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp index 46776ae9b96..d4ef496dba0 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp @@ -369,7 +369,7 @@ class boss_saronite_animus : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_saronite_animusAI(creature); + return GetInstanceAI<boss_saronite_animusAI>(creature); } }; @@ -439,7 +439,7 @@ class npc_saronite_vapors : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_saronite_vaporsAI(creature); + return GetInstanceAI<npc_saronite_vaporsAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index 2fb165b935e..344fd7d3e85 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -235,7 +235,7 @@ class npc_flash_freeze : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_flash_freezeAI(creature); + return GetInstanceAI<npc_flash_freezeAI>(creature); } }; @@ -296,7 +296,7 @@ class npc_ice_block : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ice_blockAI(creature); + return GetInstanceAI<npc_ice_blockAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 31c635c7de5..30b0e41f52a 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -300,7 +300,7 @@ class boss_razorscale_controller : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_razorscale_controllerAI(creature); + return GetInstanceAI<boss_razorscale_controllerAI>(creature); } }; @@ -735,7 +735,7 @@ class npc_expedition_commander : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_expedition_commanderAI(creature); + return GetInstanceAI<npc_expedition_commanderAI>(creature); } }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index 3997a484323..f8a78975117 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -477,7 +477,7 @@ class npc_xt002_heart : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_xt002_heartAI(creature); + return GetInstanceAI<npc_xt002_heartAI>(creature); } }; @@ -493,7 +493,7 @@ class npc_scrapbot : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_scrapbotAI(creature); + return GetInstanceAI<npc_scrapbotAI>(creature); } struct npc_scrapbotAI : public ScriptedAI @@ -550,7 +550,7 @@ class npc_pummeller : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_pummellerAI(creature); + return GetInstanceAI<npc_pummellerAI>(creature); } struct npc_pummellerAI : public ScriptedAI @@ -652,7 +652,7 @@ class npc_boombot : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_boombotAI(creature); + return GetInstanceAI<npc_boombotAI>(creature); } struct npc_boombotAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp index 7a25077cadd..5666c701807 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp @@ -256,7 +256,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ravenous_furbolgAI(creature); + return GetInstanceAI<npc_ravenous_furbolgAI>(creature); } struct npc_ravenous_furbolgAI : public ScriptedAI @@ -364,7 +364,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_frenzied_worgenAI(creature); + return GetInstanceAI<npc_frenzied_worgenAI>(creature); } struct npc_frenzied_worgenAI : public ScriptedAI @@ -475,7 +475,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ferocious_rhinoAI(creature); + return GetInstanceAI<npc_ferocious_rhinoAI>(creature); } struct npc_ferocious_rhinoAI : public ScriptedAI @@ -590,7 +590,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_massive_jormungarAI(creature); + return GetInstanceAI<npc_massive_jormungarAI>(creature); } struct npc_massive_jormungarAI : public ScriptedAI @@ -691,7 +691,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_palehoof_orbAI(creature); + return GetInstanceAI<npc_palehoof_orbAI>(creature); } struct npc_palehoof_orbAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp index 6fdbea2086d..6bbecb35cfb 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp @@ -162,7 +162,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_skadiAI(creature); + return GetInstanceAI<boss_skadiAI>(creature); } struct boss_skadiAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp index 1ceddd4bd66..6fc0ffa2d45 100644 --- a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp +++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp @@ -268,7 +268,7 @@ class npc_tempest_minion : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_tempest_minionAI(creature); + return GetInstanceAI<npc_tempest_minionAI>(creature); } }; diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp index e8e54184cb3..7a42983d4e8 100644 --- a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp +++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp @@ -277,7 +277,7 @@ class npc_frozen_orb_stalker : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_frozen_orb_stalkerAI(creature); + return GetInstanceAI<npc_frozen_orb_stalkerAI>(creature); } }; diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp index 80ebc01debc..5a2bdaad803 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp @@ -50,7 +50,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_cyanigosaAI(creature); + return GetInstanceAI<boss_cyanigosaAI>(creature); } struct boss_cyanigosaAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp index 883ea8fa0c0..eb129bcc774 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp @@ -49,7 +49,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_erekemAI(creature); + return GetInstanceAI<boss_erekemAI>(creature); } struct boss_erekemAI : public ScriptedAI @@ -266,7 +266,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_erekem_guardAI(creature); + return GetInstanceAI<npc_erekem_guardAI>(creature); } struct npc_erekem_guardAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp index 4852b6cea07..d190c8ae90d 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp @@ -78,7 +78,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_ichoronAI(creature); + return GetInstanceAI<boss_ichoronAI>(creature); } struct boss_ichoronAI : public ScriptedAI @@ -342,7 +342,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ichor_globuleAI(creature); + return GetInstanceAI<npc_ichor_globuleAI>(creature); } struct npc_ichor_globuleAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp index 964f6b75e72..f8b21707a7a 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp @@ -37,7 +37,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lavanthorAI(creature); + return GetInstanceAI<boss_lavanthorAI>(creature); } struct boss_lavanthorAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp index d5dd41e7a90..7da9f75ffe6 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp @@ -33,7 +33,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_moraggAI(creature); + return GetInstanceAI<boss_moraggAI>(creature); } struct boss_moraggAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp index 8b39c48fb92..a3e4bfe43f6 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp @@ -63,7 +63,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_xevozzAI(creature); + return GetInstanceAI<boss_xevozzAI>(creature); } struct boss_xevozzAI : public ScriptedAI @@ -231,7 +231,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ethereal_sphereAI(creature); + return GetInstanceAI<npc_ethereal_sphereAI>(creature); } struct npc_ethereal_sphereAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp index 3db389ac703..bcb1a60c744 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp @@ -58,7 +58,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_zuramatAI(creature); + return GetInstanceAI<boss_zuramatAI>(creature); } struct boss_zuramatAI : public ScriptedAI diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index 6897153c44d..491d3bd38ac 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -307,7 +307,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_sinclariAI(creature); + return GetInstanceAI<npc_sinclariAI>(creature); } struct npc_sinclariAI : public ScriptedAI @@ -428,7 +428,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_saboteurAI(creature); + return GetInstanceAI<npc_azure_saboteurAI>(creature); } struct npc_azure_saboteurAI : public npc_escortAI @@ -552,7 +552,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_teleportation_portalAI(creature); + return GetInstanceAI<npc_teleportation_portalAI>(creature); } struct npc_teleportation_portalAI : public ScriptedAI @@ -809,7 +809,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_invaderAI(creature); + return GetInstanceAI<npc_azure_invaderAI>(creature); } struct npc_azure_invaderAI : public violet_hold_trashAI @@ -887,7 +887,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_binderAI(creature); + return GetInstanceAI<npc_azure_binderAI>(creature); } struct npc_azure_binderAI : public violet_hold_trashAI @@ -965,7 +965,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_mage_slayerAI(creature); + return GetInstanceAI<npc_azure_mage_slayerAI>(creature); } struct npc_azure_mage_slayerAI : public violet_hold_trashAI @@ -1025,7 +1025,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_raiderAI(creature); + return GetInstanceAI<npc_azure_raiderAI>(creature); } struct npc_azure_raiderAI : public violet_hold_trashAI @@ -1131,7 +1131,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_stalkerAI(creature); + return GetInstanceAI<npc_azure_stalkerAI>(creature); } }; @@ -1210,7 +1210,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_spellbreakerAI(creature); + return GetInstanceAI<npc_azure_spellbreakerAI>(creature); } }; @@ -1221,7 +1221,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_captainAI(creature); + return GetInstanceAI<npc_azure_captainAI>(creature); } struct npc_azure_captainAI : public violet_hold_trashAI @@ -1273,7 +1273,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_azure_sorcerorAI(creature); + return GetInstanceAI<npc_azure_sorcerorAI>(creature); } struct npc_azure_sorcerorAI : public violet_hold_trashAI diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index cef6c3388de..98a7f456d76 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -439,6 +439,9 @@ public: me->SetReactState(REACT_PASSIVE); + if (!me->GetOwner()) + return; + switch (me->GetOwner()->ToPlayer()->GetTeamId()) { case TEAM_ALLIANCE: diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.cpp b/src/server/scripts/Outland/BlackTemple/black_temple.cpp index 57c494756e5..0f13a03f568 100644 --- a/src/server/scripts/Outland/BlackTemple/black_temple.cpp +++ b/src/server/scripts/Outland/BlackTemple/black_temple.cpp @@ -207,7 +207,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_wrathbone_flayerAI(creature); + return GetInstanceAI<npc_wrathbone_flayerAI>(creature); } }; diff --git a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp index 3a33885144d..9029a8bd2cd 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp @@ -64,7 +64,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_gurtogg_bloodboilAI(creature); + return GetInstanceAI<boss_gurtogg_bloodboilAI>(creature); } struct boss_gurtogg_bloodboilAI : public ScriptedAI diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 46e5c5783e6..2b312aeacde 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -1126,7 +1126,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_illidan_stormrageAI(creature); + return GetInstanceAI<boss_illidan_stormrageAI>(creature); } }; @@ -1794,7 +1794,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_akama_illidanAI(creature); + return GetInstanceAI<npc_akama_illidanAI>(creature); } }; @@ -2228,7 +2228,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_parasitic_shadowfiendAI(creature); + return GetInstanceAI<npc_parasitic_shadowfiendAI>(creature); } }; diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp index aafe5f365b2..6691d04441b 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp @@ -84,7 +84,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_shahrazAI(creature); + return GetInstanceAI<boss_shahrazAI>(creature); } struct boss_shahrazAI : public ScriptedAI diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp index ad913a45071..0c8d7a7206c 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -134,7 +134,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_reliquary_of_soulsAI(creature); + return GetInstanceAI<boss_reliquary_of_soulsAI>(creature); } struct boss_reliquary_of_soulsAI : public ScriptedAI diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index 1a2a55e6d00..0f67ba822a1 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -405,7 +405,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_shade_of_akamaAI(creature); + return GetInstanceAI<boss_shade_of_akamaAI>(creature); } }; @@ -550,7 +550,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_akamaAI(creature); + return GetInstanceAI<npc_akamaAI>(creature); } }; @@ -622,7 +622,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ashtongue_channelerAI(creature); + return GetInstanceAI<npc_ashtongue_channelerAI>(creature); } }; @@ -730,7 +730,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_creature_generator_akamaAI(creature); + return GetInstanceAI<npc_creature_generator_akamaAI>(creature); } }; @@ -851,7 +851,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ashtongue_sorcererAI(creature); + return GetInstanceAI<npc_ashtongue_sorcererAI>(creature); } }; @@ -941,7 +941,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ashtongue_defenderAI(creature); + return GetInstanceAI<npc_ashtongue_defenderAI>(creature); } }; @@ -1021,7 +1021,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ashtongue_rogueAI(creature); + return GetInstanceAI<npc_ashtongue_rogueAI>(creature); } }; @@ -1101,7 +1101,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ashtongue_elementalistAI(creature); + return GetInstanceAI<npc_ashtongue_elementalistAI>(creature); } }; @@ -1198,7 +1198,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ashtongue_spiritbinderAI(creature); + return GetInstanceAI<npc_ashtongue_spiritbinderAI>(creature); } }; diff --git a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp index b62e7b35a3c..0ba2a16e9df 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp @@ -90,7 +90,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_supremusAI(creature); + return GetInstanceAI<boss_supremusAI>(creature); } struct boss_supremusAI : public ScriptedAI diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp index 7d445e23053..e8f2f75abc1 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp @@ -217,7 +217,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_teron_gorefiendAI(creature); + return GetInstanceAI<boss_teron_gorefiendAI>(creature); } struct boss_teron_gorefiendAI : public ScriptedAI diff --git a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp index 1f4a36afad6..c3dceaffd91 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp @@ -78,7 +78,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_najentusAI(creature); + return GetInstanceAI<boss_najentusAI>(creature); } struct boss_najentusAI : public ScriptedAI diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp index 057bb725c32..1ac413f237d 100644 --- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp +++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp @@ -218,7 +218,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_illidari_councilAI(creature); + return GetInstanceAI<npc_illidari_councilAI>(creature); } struct npc_illidari_councilAI : public ScriptedAI @@ -476,7 +476,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_gathios_the_shattererAI(creature); + return GetInstanceAI<boss_gathios_the_shattererAI>(creature); } struct boss_gathios_the_shattererAI : public boss_illidari_councilAI @@ -608,7 +608,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_high_nethermancer_zerevorAI(creature); + return GetInstanceAI<boss_high_nethermancer_zerevorAI>(creature); } struct boss_high_nethermancer_zerevorAI : public boss_illidari_councilAI @@ -712,7 +712,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lady_malandeAI(creature); + return GetInstanceAI<boss_lady_malandeAI>(creature); } struct boss_lady_malandeAI : public boss_illidari_councilAI @@ -790,7 +790,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_veras_darkshadowAI(creature); + return GetInstanceAI<boss_veras_darkshadowAI>(creature); } struct boss_veras_darkshadowAI : public boss_illidari_councilAI diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp index 6ccf69ae39b..b31afd1cdc9 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp @@ -104,7 +104,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_fathomlord_karathressAI(creature); + return GetInstanceAI<boss_fathomlord_karathressAI>(creature); } struct boss_fathomlord_karathressAI : public ScriptedAI @@ -312,7 +312,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_fathomguard_sharkkisAI(creature); + return GetInstanceAI<boss_fathomguard_sharkkisAI>(creature); } struct boss_fathomguard_sharkkisAI : public ScriptedAI @@ -459,7 +459,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_fathomguard_tidalvessAI(creature); + return GetInstanceAI<boss_fathomguard_tidalvessAI>(creature); } struct boss_fathomguard_tidalvessAI : public ScriptedAI @@ -582,7 +582,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_fathomguard_caribdisAI(creature); + return GetInstanceAI<boss_fathomguard_caribdisAI>(creature); } struct boss_fathomguard_caribdisAI : public ScriptedAI diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp index d6205cb3ec7..26119e0eb31 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp @@ -86,7 +86,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_hydross_the_unstableAI(creature); + return GetInstanceAI<boss_hydross_the_unstableAI>(creature); } struct boss_hydross_the_unstableAI : public ScriptedAI diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp index e1d6955cd7d..53ed13e8515 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp @@ -140,7 +140,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lady_vashjAI(creature); + return GetInstanceAI<boss_lady_vashjAI>(creature); } struct boss_lady_vashjAI : public ScriptedAI @@ -556,7 +556,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_enchanted_elementalAI(creature); + return GetInstanceAI<npc_enchanted_elementalAI>(creature); } struct npc_enchanted_elementalAI : public ScriptedAI @@ -651,7 +651,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_tainted_elementalAI(creature); + return GetInstanceAI<npc_tainted_elementalAI>(creature); } struct npc_tainted_elementalAI : public ScriptedAI @@ -720,7 +720,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_toxic_sporebatAI(creature); + return GetInstanceAI<npc_toxic_sporebatAI>(creature); } struct npc_toxic_sporebatAI : public ScriptedAI @@ -819,7 +819,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_shield_generator_channelAI(creature); + return GetInstanceAI<npc_shield_generator_channelAI>(creature); } struct npc_shield_generator_channelAI : public ScriptedAI diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp index 83ec5e053c0..bfe63b80e48 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp @@ -181,7 +181,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_leotheras_the_blindAI(creature); + return GetInstanceAI<boss_leotheras_the_blindAI>(creature); } struct boss_leotheras_the_blindAI : public ScriptedAI @@ -677,7 +677,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_greyheart_spellbinderAI(creature); + return GetInstanceAI<npc_greyheart_spellbinderAI>(creature); } struct npc_greyheart_spellbinderAI : public ScriptedAI diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp index c4a55065f27..392ad2fe2b4 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp @@ -81,7 +81,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_the_lurker_belowAI(creature); + return GetInstanceAI<boss_the_lurker_belowAI>(creature); } struct boss_the_lurker_belowAI : public ScriptedAI diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp index 48a4a1e5ecd..6f507a3c50f 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp @@ -91,7 +91,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_morogrim_tidewalkerAI(creature); + return GetInstanceAI<boss_morogrim_tidewalkerAI>(creature); } struct boss_morogrim_tidewalkerAI : public ScriptedAI diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp index d6162fd1ea4..c7d99b8da85 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp @@ -41,7 +41,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_thespiaAI(creature); + return GetInstanceAI<boss_thespiaAI>(creature); } struct boss_thespiaAI : public ScriptedAI diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp index 241d0f8fec2..6a94fc7ff00 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp @@ -57,7 +57,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_mekgineer_steamriggerAI(creature); + return GetInstanceAI<boss_mekgineer_steamriggerAI>(creature); } struct boss_mekgineer_steamriggerAI : public ScriptedAI @@ -197,7 +197,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_steamrigger_mechanicAI(creature); + return GetInstanceAI<npc_steamrigger_mechanicAI>(creature); } struct npc_steamrigger_mechanicAI : public ScriptedAI diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp index 887d51a43bf..7deed59f8c4 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp @@ -50,7 +50,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_naga_distillerAI(creature); + return GetInstanceAI<npc_naga_distillerAI>(creature); } struct npc_naga_distillerAI : public ScriptedAI @@ -108,7 +108,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_warlord_kalithreshAI(creature); + return GetInstanceAI<boss_warlord_kalithreshAI>(creature); } struct boss_warlord_kalithreshAI : public ScriptedAI diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp index 307a329fd95..d238bf98041 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp @@ -155,7 +155,7 @@ class boss_broggok : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_broggokAI(creature); + return GetInstanceAI<boss_broggokAI>(creature); } }; diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp index 75ccc962996..0aec396afdd 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp @@ -275,7 +275,7 @@ class boss_kelidan_the_breaker : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kelidan_the_breakerAI(creature); + return GetInstanceAI<boss_kelidan_the_breakerAI>(creature); } }; @@ -373,7 +373,7 @@ class npc_shadowmoon_channeler : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_shadowmoon_channelerAI(creature); + return GetInstanceAI<npc_shadowmoon_channelerAI>(creature); } }; diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp index 33e23c12d14..b41b21c5d17 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp @@ -156,7 +156,7 @@ class boss_the_maker : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_the_makerAI(creature); + return GetInstanceAI<boss_the_makerAI>(creature); } }; diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp index 7e80182f1e8..6f8eac88c66 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp @@ -224,7 +224,7 @@ class boss_omor_the_unscarred : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_omor_the_unscarredAI(creature); + return GetInstanceAI<boss_omor_the_unscarredAI>(creature); } }; diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp index 44fcc7b8fe1..5657880cbb6 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp @@ -457,7 +457,7 @@ class boss_magtheridon : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_magtheridonAI(creature); + return GetInstanceAI<boss_magtheridonAI>(creature); } }; @@ -576,7 +576,7 @@ class npc_hellfire_channeler : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_hellfire_channelerAI(creature); + return GetInstanceAI<npc_hellfire_channelerAI>(creature); } }; diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp index 981774a677b..93f8b4f5030 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp @@ -297,7 +297,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_grand_warlock_nethekurseAI(creature); + return GetInstanceAI<boss_grand_warlock_nethekurseAI>(creature); } }; @@ -369,7 +369,7 @@ class npc_fel_orc_convert : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_fel_orc_convertAI(creature); + return GetInstanceAI<npc_fel_orc_convertAI>(creature); } }; diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp index 9c4be7c0b1b..d5e56e13f24 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp @@ -388,7 +388,7 @@ class boss_warbringer_omrogg : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_warbringer_omroggAI(creature); + return GetInstanceAI<boss_warbringer_omroggAI>(creature); } }; @@ -438,7 +438,7 @@ class npc_omrogg_heads : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_omrogg_headsAI(creature); + return GetInstanceAI<npc_omrogg_headsAI>(creature); } }; diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp index f9ec3edb362..4aab27024c1 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp @@ -311,7 +311,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_warchief_kargath_bladefistAI(creature); + return GetInstanceAI<boss_warchief_kargath_bladefistAI>(creature); } }; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index 07401e1efbb..4659c7bc627 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -451,7 +451,7 @@ class boss_alar : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_alarAI(creature); + return GetInstanceAI<boss_alarAI>(creature); } }; @@ -528,7 +528,7 @@ class npc_ember_of_alar : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ember_of_alarAI(creature); + return GetInstanceAI<npc_ember_of_alarAI>(creature); } }; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp index c5c3f6deb12..aede4a6cefc 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp @@ -419,7 +419,7 @@ class boss_high_astromancer_solarian : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_high_astromancer_solarianAI(creature); + return GetInstanceAI<boss_high_astromancer_solarianAI>(creature); } }; @@ -506,7 +506,7 @@ class npc_solarium_priest : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_solarium_priestAI(creature); + return GetInstanceAI<npc_solarium_priestAI>(creature); } }; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index a6ff49d1e48..5651707985c 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -1011,7 +1011,7 @@ class boss_kaelthas : public CreatureScript }; CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_kaelthasAI(creature); + return GetInstanceAI<boss_kaelthasAI>(creature); } }; @@ -1109,7 +1109,7 @@ class boss_thaladred_the_darkener : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_thaladred_the_darkenerAI(creature); + return GetInstanceAI<boss_thaladred_the_darkenerAI>(creature); } }; @@ -1177,7 +1177,7 @@ class boss_lord_sanguinar : public CreatureScript }; CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_lord_sanguinarAI(creature); + return GetInstanceAI<boss_lord_sanguinarAI>(creature); } }; //Grand Astromancer Capernian AI @@ -1321,7 +1321,7 @@ class boss_grand_astromancer_capernian : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_grand_astromancer_capernianAI(creature); + return GetInstanceAI<boss_grand_astromancer_capernianAI>(creature); } }; @@ -1404,7 +1404,7 @@ class boss_master_engineer_telonicus : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_master_engineer_telonicusAI(creature); + return GetInstanceAI<boss_master_engineer_telonicusAI>(creature); } }; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp index f842ed19f3c..ef53d8fed92 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp @@ -172,7 +172,7 @@ class boss_void_reaver : public CreatureScript CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new boss_void_reaverAI(creature); + return GetInstanceAI<boss_void_reaverAI>(creature); } }; diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp index b5172245b49..7e4fc5c9bb5 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp @@ -223,7 +223,7 @@ class npc_ragin_flames : public CreatureScript }; CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_ragin_flamesAI(creature); + return GetInstanceAI<npc_ragin_flamesAI>(creature); } }; diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index bb8bbe9215e..2df2d272c3e 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -132,8 +132,9 @@ public: void JustDied(Unit* killer) OVERRIDE { - if (killer->ToPlayer()->GetQuestRewardStatus(QUEST_INTO_THE_SOULGRINDER)) - Talk(SAY_DEATH); + if (killer->GetTypeId() == TYPEID_PLAYER) + if (killer->ToPlayer()->GetQuestRewardStatus(QUEST_INTO_THE_SOULGRINDER)) + Talk(SAY_DEATH); } void MoveInLineOfSight(Unit* who) OVERRIDE |