mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-26 05:25:54 +00:00
feat(Core/Instance): Add instance validation for creature scripts (#4596)
This commit is contained in:
@@ -54,7 +54,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_anubrekhanAI (pCreature);
|
||||
return GetNaxxramasAI<boss_anubrekhanAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_anubrekhanAI : public BossAI
|
||||
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_faerlinaAI (pCreature);
|
||||
return GetNaxxramasAI<boss_faerlinaAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_faerlinaAI : public BossAI
|
||||
|
||||
@@ -111,7 +111,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_four_horsemenAI (pCreature);
|
||||
return GetNaxxramasAI<boss_four_horsemenAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_four_horsemenAI : public BossAI
|
||||
|
||||
@@ -58,7 +58,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_gluthAI (pCreature);
|
||||
return GetNaxxramasAI<boss_gluthAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_gluthAI : public BossAI
|
||||
|
||||
@@ -178,7 +178,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_gothikAI (pCreature);
|
||||
return GetNaxxramasAI<boss_gothikAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_gothikAI : public BossAI
|
||||
@@ -504,7 +504,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_boss_gothik_minionAI (pCreature);
|
||||
return GetNaxxramasAI<npc_boss_gothik_minionAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_boss_gothik_minionAI : public CombatAI
|
||||
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_grobbulusAI (pCreature);
|
||||
return GetNaxxramasAI<boss_grobbulusAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_grobbulusAI : public BossAI
|
||||
@@ -186,7 +186,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_grobbulus_poison_cloudAI(pCreature);
|
||||
return GetNaxxramasAI<boss_grobbulus_poison_cloudAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_grobbulus_poison_cloudAI : public NullCreatureAI
|
||||
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_heiganAI (pCreature);
|
||||
return GetNaxxramasAI<boss_heiganAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_heiganAI : public BossAI
|
||||
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_kelthuzadAI (pCreature);
|
||||
return GetNaxxramasAI<boss_kelthuzadAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_kelthuzadAI : public BossAI
|
||||
@@ -505,7 +505,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_kelthuzad_minionAI (pCreature);
|
||||
return GetNaxxramasAI<boss_kelthuzad_minionAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_kelthuzad_minionAI : public ScriptedAI
|
||||
|
||||
@@ -42,7 +42,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_loathebAI (pCreature);
|
||||
return GetNaxxramasAI<boss_loathebAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_loathebAI : public BossAI
|
||||
|
||||
@@ -57,7 +57,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_maexxnaAI (pCreature);
|
||||
return GetNaxxramasAI<boss_maexxnaAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_maexxnaAI : public BossAI
|
||||
@@ -214,7 +214,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_maexxna_webwrapAI (pCreature);
|
||||
return GetNaxxramasAI<boss_maexxna_webwrapAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_maexxna_webwrapAI : public NullCreatureAI
|
||||
|
||||
@@ -70,7 +70,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_nothAI (pCreature);
|
||||
return GetNaxxramasAI<boss_nothAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_nothAI : public BossAI
|
||||
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_patchwerkAI (pCreature);
|
||||
return GetNaxxramasAI<boss_patchwerkAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_patchwerkAI : public BossAI
|
||||
|
||||
@@ -45,7 +45,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_razuviousAI (pCreature);
|
||||
return GetNaxxramasAI<boss_razuviousAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_razuviousAI : public BossAI
|
||||
@@ -168,7 +168,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_razuvious_minionAI (pCreature);
|
||||
return GetNaxxramasAI<boss_razuvious_minionAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_razuvious_minionAI : public ScriptedAI
|
||||
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_sapphironAI (pCreature);
|
||||
return GetNaxxramasAI<boss_sapphironAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_sapphironAI : public BossAI
|
||||
|
||||
@@ -102,7 +102,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_thaddiusAI (pCreature);
|
||||
return GetNaxxramasAI<boss_thaddiusAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_thaddiusAI : public BossAI
|
||||
@@ -356,7 +356,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_thaddius_summonAI (pCreature);
|
||||
return GetNaxxramasAI<boss_thaddius_summonAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_thaddius_summonAI : public ScriptedAI
|
||||
@@ -709,7 +709,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetInstanceAI<npc_teslaAI>(creature);
|
||||
return GetNaxxramasAI<npc_teslaAI>(creature);
|
||||
}
|
||||
|
||||
struct npc_teslaAI : public ScriptedAI
|
||||
|
||||
@@ -1189,7 +1189,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_naxxramas_miscAI (pCreature);
|
||||
return GetNaxxramasAI<boss_naxxramas_miscAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_naxxramas_miscAI : public NullCreatureAI
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
#define DEF_NAXXRAMAS_H
|
||||
|
||||
#include "SpellScript.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
#define NaxxramasScriptName "instance_naxxramas"
|
||||
|
||||
enum Encouters
|
||||
{
|
||||
@@ -176,4 +179,10 @@ enum NXEvents
|
||||
EVENT_FROSTWYRM_WATERFALL_DOOR = 2
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetNaxxramasAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, NaxxramasScriptName);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user