mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-15 00:06:11 +00:00
feat(Core/Instance): Add instance validation for creature scripts (#4596)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user