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

@@ -93,7 +93,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_ingvar_the_plundererAI(pCreature);
return GetUtgardeKeepAI<boss_ingvar_the_plundererAI>(pCreature);
}
struct boss_ingvar_the_plundererAI : public ScriptedAI

View File

@@ -50,7 +50,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_frost_tombAI(pCreature);
return GetUtgardeKeepAI<npc_frost_tombAI>(pCreature);
}
struct npc_frost_tombAI : public NullCreatureAI
@@ -107,7 +107,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_kelesethAI (pCreature);
return GetUtgardeKeepAI<boss_kelesethAI>(pCreature);
}
struct boss_kelesethAI : public ScriptedAI
@@ -235,7 +235,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_vrykul_skeletonAI (pCreature);
return GetUtgardeKeepAI<npc_vrykul_skeletonAI>(pCreature);
}
struct npc_vrykul_skeletonAI : public ScriptedAI

View File

@@ -60,7 +60,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_skarvald_the_constructorAI (pCreature);
return GetUtgardeKeepAI<boss_skarvald_the_constructorAI>(pCreature);
}
struct boss_skarvald_the_constructorAI : public ScriptedAI
@@ -223,7 +223,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_dalronn_the_controllerAI (pCreature);
return GetUtgardeKeepAI<boss_dalronn_the_controllerAI>(pCreature);
}
struct boss_dalronn_the_controllerAI : public ScriptedAI

View File

@@ -15,7 +15,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_dragonflayer_forge_masterAI(pCreature);
return GetUtgardeKeepAI<npc_dragonflayer_forge_masterAI>(pCreature);
}
struct npc_dragonflayer_forge_masterAI : public ScriptedAI
@@ -187,7 +187,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_enslaved_proto_drakeAI(creature);
return GetUtgardeKeepAI<npc_enslaved_proto_drakeAI>(creature);
}
};

View File

@@ -6,6 +6,9 @@
#define DEF_UTGARDE_KEEP_H
#include "SpellScript.h"
#include "CreatureAIImpl.h"
#define UtgardeKeepScriptName "instance_utgarde_keep"
enum eData
{
@@ -59,4 +62,10 @@ enum eCreatures
NPC_ENSLAVED_PROTO_DRAKE = 24083,
};
template <class AI, class T>
inline AI* GetUtgardeKeepAI(T* obj)
{
return GetInstanceAI<AI>(obj, UtgardeKeepScriptName);
}
#endif

View File

@@ -101,7 +101,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_palehoofAI (pCreature);
return GetUtgardePinnacleAI<boss_palehoofAI>(pCreature);
}
struct boss_palehoofAI : public ScriptedAI
@@ -333,7 +333,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_massive_jormungarAI (pCreature);
return GetUtgardePinnacleAI<npc_massive_jormungarAI>(pCreature);
}
struct npc_massive_jormungarAI : public ScriptedAI
@@ -461,7 +461,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ferocious_rhinoAI (pCreature);
return GetUtgardePinnacleAI<npc_ferocious_rhinoAI>(pCreature);
}
struct npc_ferocious_rhinoAI : public ScriptedAI
@@ -571,7 +571,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ravenous_furbolgAI (pCreature);
return GetUtgardePinnacleAI<npc_ravenous_furbolgAI>(pCreature);
}
struct npc_ravenous_furbolgAI : public ScriptedAI
@@ -679,7 +679,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_frenzied_worgenAI (pCreature);
return GetUtgardePinnacleAI<npc_frenzied_worgenAI>(pCreature);
}
struct npc_frenzied_worgenAI : public ScriptedAI

View File

@@ -100,7 +100,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_skadiAI (pCreature);
return GetUtgardePinnacleAI<boss_skadiAI>(pCreature);
}
struct boss_skadiAI : public ScriptedAI
@@ -260,7 +260,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_skadi_graufAI (pCreature);
return GetUtgardePinnacleAI<boss_skadi_graufAI>(pCreature);
}
struct boss_skadi_graufAI : public VehicleAI

View File

@@ -92,7 +92,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_svalaAI (creature);
return GetUtgardePinnacleAI<boss_svalaAI>(creature);
}
struct boss_svalaAI : public ScriptedAI
@@ -363,7 +363,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new npc_ritual_channelerAI (pCreature);
return GetUtgardePinnacleAI<npc_ritual_channelerAI>(pCreature);
}
struct npc_ritual_channelerAI : public NullCreatureAI

View File

@@ -92,7 +92,7 @@ public:
CreatureAI* GetAI(Creature* pCreature) const override
{
return new boss_ymironAI (pCreature);
return GetUtgardePinnacleAI<boss_ymironAI>(pCreature);
}
struct boss_ymironAI : public ScriptedAI

View File

@@ -1,7 +1,14 @@
/*
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3
*/
#ifndef DEF_PINNACLE_H
#define DEF_PINNACLE_H
#include "Opcodes.h"
#include "CreatureAIImpl.h"
#define UtgardePinnacleScriptName "instance_utgarde_pinnacle"
enum Data
{
@@ -52,4 +59,10 @@ enum Objects
NPC_GARUF = 26893,
};
template <class AI, class T>
inline AI* GetUtgardePinnacleAI(T* obj)
{
return GetInstanceAI<AI>(obj, UtgardePinnacleScriptName);
}
#endif