feat(Core/Instance): Add instance validation for creature scripts (#4596)

This commit is contained in:
Kitzunu
2021-04-05 15:34:26 +02:00
committed by GitHub
parent 60f865fce6
commit f9d708b450
371 changed files with 1315 additions and 767 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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