mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-27 07:36:23 +00:00
feat(Core/Instance): Add instance validation for creature scripts (#4596)
This commit is contained in:
@@ -6,6 +6,9 @@
|
||||
#define DEF_BLOOD_FURNACE_H
|
||||
|
||||
#include "Player.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
#define BloodFurnaceScriptName "instance_blood_furnace"
|
||||
|
||||
enum bloodFurnace
|
||||
{
|
||||
@@ -39,4 +42,10 @@ enum bloodFurnaceNPC
|
||||
NPC_CHANNELER = 17653
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetBloodFurnaceAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, BloodFurnaceScriptName);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -126,7 +126,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_broggokAI(creature);
|
||||
return GetBloodFurnaceAI<boss_broggokAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -265,7 +265,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_kelidan_the_breakerAI(creature);
|
||||
return GetBloodFurnaceAI<boss_kelidan_the_breakerAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -336,7 +336,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_shadowmoon_channelerAI(creature);
|
||||
return GetBloodFurnaceAI<npc_shadowmoon_channelerAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_the_makerAI(creature);
|
||||
return GetBloodFurnaceAI<boss_the_makerAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetInstanceAI<boss_omor_the_unscarredAI>(creature);
|
||||
return GetHellfireRampartsAI<boss_omor_the_unscarredAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_vazruden_the_heraldAI(creature);
|
||||
return GetHellfireRampartsAI<boss_vazruden_the_heraldAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -236,7 +236,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_nazanAI(creature);
|
||||
return GetHellfireRampartsAI<boss_nazanAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -307,7 +307,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_vazrudenAI(creature);
|
||||
return GetHellfireRampartsAI<boss_vazrudenAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_watchkeeper_gargolmarAI(creature);
|
||||
return GetHellfireRampartsAI<boss_watchkeeper_gargolmarAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
#define DEF_RAMPARTS_H
|
||||
|
||||
#include "SpellScript.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
#define HellfireRampartsScriptName "instance_hellfire_ramparts"
|
||||
|
||||
enum DataTypes
|
||||
{
|
||||
@@ -29,4 +32,10 @@ enum GameobjectIds
|
||||
GO_FEL_IRON_CHECT_HEROIC = 185169
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetHellfireRampartsAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, HellfireRampartsScriptName);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -246,7 +246,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetInstanceAI<boss_magtheridonAI>(creature);
|
||||
return GetMagtheridonsLairAI<boss_magtheridonAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
#define DEF_MAGTHERIDONS_LAIR_H
|
||||
|
||||
#include "SpellScript.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
#define MagtheridonsLairScriptName "instance_magtheridons_lair"
|
||||
|
||||
enum DataTypes
|
||||
{
|
||||
@@ -38,4 +41,10 @@ enum GoIds
|
||||
GO_MAGTHERIDON_COLUMN5 = 184639
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetMagtheridonsLairAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, MagtheridonsLairScriptName);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -240,7 +240,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetInstanceAI<boss_grand_warlock_nethekurseAI>(creature);
|
||||
return GetShatteredHallsAI<boss_grand_warlock_nethekurseAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -211,7 +211,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetInstanceAI<boss_warbringer_omroggAI>(creature);
|
||||
return GetShatteredHallsAI<boss_warbringer_omroggAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -248,7 +248,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetInstanceAI<npc_omrogg_headsAI>(creature);
|
||||
return GetShatteredHallsAI<npc_omrogg_headsAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetInstanceAI<boss_warchief_kargath_bladefistAI>(creature);
|
||||
return GetShatteredHallsAI<boss_warchief_kargath_bladefistAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -5,9 +5,12 @@
|
||||
#ifndef DEF_SHATTERED_H
|
||||
#define DEF_SHATTERED_H
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define ShatteredHallsLairScriptName "instance_shattered_halls"
|
||||
|
||||
enum DataTypes
|
||||
{
|
||||
DATA_NETHEKURSE = 0,
|
||||
@@ -51,4 +54,10 @@ enum SpellIds
|
||||
SPELL_KARGATHS_EXECUTIONER_3 = 39290
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetShatteredHallsAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, ShatteredHallsLairScriptName);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user