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
@@ -134,7 +134,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_grimstoneAI>(creature);
return GetBlackrockDepthsAI<npc_grimstoneAI>(creature);
}
struct npc_grimstoneAI : public npc_escortAI
@@ -331,7 +331,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_phalanxAI(creature);
return GetBlackrockDepthsAI<npc_phalanxAI>(creature);
}
struct npc_phalanxAI : public ScriptedAI
@@ -500,7 +500,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_rocknotAI>(creature);
return GetBlackrockDepthsAI<npc_rocknotAI>(creature);
}
struct npc_rocknotAI : public npc_escortAI
@@ -7,6 +7,9 @@
#ifndef DEF_BRD_H
#define DEF_BRD_H
#include "CreatureAIImpl.h"
#define BRDScriptName "instance_blackrock_depths"
enum FactionIds
{
FACTION_NEUTRAL = 734,
@@ -56,4 +59,10 @@ enum DataTypes
DATA_OPEN_COFFER_DOORS = 30
};
template <class AI, class T>
inline AI* GetBlackrockDepthsAI(T* obj)
{
return GetInstanceAI<AI>(obj, BRDScriptName);
}
#endif
@@ -47,7 +47,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ambassador_flamelashAI>(creature);
return GetBlackrockDepthsAI<boss_ambassador_flamelashAI>(creature);
}
struct boss_ambassador_flamelashAI : public BossAI
@@ -208,7 +208,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_burning_spiritAI>(creature);
return GetBlackrockDepthsAI<npc_burning_spiritAI>(creature);
}
struct npc_burning_spiritAI : public CreatureAI
@@ -4,6 +4,7 @@
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
*/
#include "blackrock_depths.h"
#include "ScriptedCreature.h"
#include "ScriptMgr.h"
@@ -23,7 +24,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_anubshiahAI(creature);
return GetBlackrockDepthsAI<boss_anubshiahAI>(creature);
}
struct boss_anubshiahAI : public ScriptedAI
@@ -27,7 +27,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_draganthaurissanAI>(creature);
return GetBlackrockDepthsAI<boss_draganthaurissanAI>(creature);
}
struct boss_draganthaurissanAI : public ScriptedAI
@@ -4,6 +4,7 @@
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
*/
#include "blackrock_depths.h"
#include "ScriptedCreature.h"
#include "ScriptMgr.h"
@@ -21,7 +22,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_general_angerforgeAI(creature);
return GetBlackrockDepthsAI<boss_general_angerforgeAI>(creature);
}
struct boss_general_angerforgeAI : public ScriptedAI
@@ -4,6 +4,7 @@
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
*/
#include "blackrock_depths.h"
#include "ScriptedCreature.h"
#include "ScriptMgr.h"
@@ -20,7 +21,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gorosh_the_dervishAI(creature);
return GetBlackrockDepthsAI<boss_gorosh_the_dervishAI>(creature);
}
struct boss_gorosh_the_dervishAI : public ScriptedAI
@@ -4,6 +4,7 @@
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
*/
#include "blackrock_depths.h"
#include "ScriptedCreature.h"
#include "ScriptMgr.h"
@@ -21,7 +22,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_grizzleAI(creature);
return GetBlackrockDepthsAI<boss_grizzleAI>(creature);
}
struct boss_grizzleAI : public ScriptedAI
@@ -4,6 +4,7 @@
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
*/
#include "blackrock_depths.h"
#include "ScriptedCreature.h"
#include "ScriptMgr.h"
@@ -22,7 +23,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_high_interrogator_gerstahnAI(creature);
return GetBlackrockDepthsAI<boss_high_interrogator_gerstahnAI>(creature);
}
struct boss_high_interrogator_gerstahnAI : public ScriptedAI
@@ -4,6 +4,7 @@
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
*/
#include "blackrock_depths.h"
#include "ScriptedCreature.h"
#include "ScriptMgr.h"
@@ -13,11 +14,6 @@ enum Spells
SPELL_WARSTOMP = 24375
};
enum Misc
{
DATA_THRONE_DOOR = 24 // not id or guid of doors but number of enum in blackrock_depths.h
};
class boss_magmus : public CreatureScript
{
public:
@@ -25,7 +21,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_magmusAI(creature);
return GetBlackrockDepthsAI<boss_magmusAI>(creature);
}
struct boss_magmusAI : public ScriptedAI
@@ -4,6 +4,7 @@
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
*/
#include "blackrock_depths.h"
#include "ScriptedCreature.h"
#include "ScriptMgr.h"
@@ -24,7 +25,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_moira_bronzebeardAI(creature);
return GetBlackrockDepthsAI<boss_moira_bronzebeardAI>(creature);
}
struct boss_moira_bronzebeardAI : public ScriptedAI
@@ -126,7 +126,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_doomrelAI>(creature);
return GetBlackrockDepthsAI<boss_doomrelAI>(creature);
}
struct boss_doomrelAI : public ScriptedAI
@@ -9,6 +9,8 @@
#ifndef DEF_BLACKROCK_SPIRE_H
#define DEF_BLACKROCK_SPIRE_H
#include "CreatureAIImpl.h"
uint32 const EncounterCount = 23;
#define BRSScriptName "instance_blackrock_spire"
@@ -115,4 +117,10 @@ enum npcspells
SPELL_FINKLE_IS_EINHORN = 16710
};
template <class AI, class T>
inline AI* GetBlackrockSpireAI(T* obj)
{
return GetInstanceAI<AI>(obj, BRSScriptName);
}
#endif
@@ -120,7 +120,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_drakkisathAI(creature);
return GetBlackrockSpireAI<boss_drakkisathAI>(creature);
}
};
@@ -91,7 +91,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gizrul_the_slavenerAI(creature);
return GetBlackrockSpireAI<boss_gizrul_the_slavenerAI>(creature);
}
};
@@ -157,7 +157,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_gythAI>(creature);
return GetBlackrockSpireAI<boss_gythAI>(creature);
}
};
@@ -90,7 +90,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_halyconAI(creature);
return GetBlackrockSpireAI<boss_halyconAI>(creature);
}
};
@@ -27,7 +27,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_highlordomokkAI(creature);
return GetBlackrockSpireAI<boss_highlordomokkAI>(creature);
}
struct boss_highlordomokkAI : public BossAI
@@ -116,7 +116,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lord_valthalakAI>(creature);
return GetBlackrockSpireAI<boss_lord_valthalakAI>(creature);
}
};
@@ -40,7 +40,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_overlordwyrmthalakAI(creature);
return GetBlackrockSpireAI<boss_overlordwyrmthalakAI>(creature);
}
struct boss_overlordwyrmthalakAI : public BossAI
@@ -295,7 +295,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_pyroguard_emberseerAI>(creature);
return GetBlackrockSpireAI<boss_pyroguard_emberseerAI>(creature);
}
};
@@ -416,7 +416,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_blackhand_incarceratorAI(creature);
return GetBlackrockSpireAI<npc_blackhand_incarceratorAI>(creature);
}
};
@@ -78,7 +78,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_quatermasterzigrisAI(creature);
return GetBlackrockSpireAI<boss_quatermasterzigrisAI>(creature);
}
};
@@ -471,7 +471,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_rend_blackhandAI>(creature);
return GetBlackrockSpireAI<boss_rend_blackhandAI>(creature);
}
};
@@ -29,7 +29,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_shadowvoshAI(creature);
return GetBlackrockSpireAI<boss_shadowvoshAI>(creature);
}
struct boss_shadowvoshAI : public BossAI
@@ -29,7 +29,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_thebeastAI(creature);
return GetBlackrockSpireAI<boss_thebeastAI>(creature);
}
struct boss_thebeastAI : public BossAI
@@ -94,7 +94,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_urok_doomhowlAI(creature);
return GetBlackrockSpireAI<boss_urok_doomhowlAI>(creature);
}
};
@@ -104,7 +104,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_warmastervooneAI(creature);
return GetBlackrockSpireAI<boss_warmastervooneAI>(creature);
}
};
@@ -80,4 +80,10 @@ enum BWLMisc
SAY_NEFARIAN_VAEL_INTRO = 100003, // latest id in broadcast_text atm
};
template <class AI, class T>
inline AI* GetBlackwingLairAI(T* obj)
{
return GetInstanceAI<AI>(obj, BWLScriptName);
}
#endif
@@ -120,7 +120,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_broodlordAI>(creature);
return GetBlackwingLairAI<boss_broodlordAI>(creature);
}
};
@@ -281,7 +281,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_chromaggusAI>(creature);
return GetBlackwingLairAI<boss_chromaggusAI>(creature);
}
};
@@ -319,7 +319,7 @@ class go_chromaggus_lever : public GameObjectScript
GameObjectAI* GetAI(GameObject* go) const override
{
return GetInstanceAI<go_chromaggus_leverAI>(go);
return GetBlackwingLairAI<go_chromaggus_leverAI>(go);
}
};
@@ -78,7 +78,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ebonrocAI>(creature);
return GetBlackwingLairAI<boss_ebonrocAI>(creature);
}
};
@@ -80,7 +80,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_firemawAI>(creature);
return GetBlackwingLairAI<boss_firemawAI>(creature);
}
};
@@ -86,7 +86,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_flamegorAI>(creature);
return GetBlackwingLairAI<boss_flamegorAI>(creature);
}
};
@@ -387,7 +387,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_victor_nefariusAI>(creature);
return GetBlackwingLairAI<boss_victor_nefariusAI>(creature);
}
};
@@ -595,7 +595,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_nefarianAI>(creature);
return GetBlackwingLairAI<boss_nefarianAI>(creature);
}
};
@@ -145,7 +145,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_razorgoreAI>(creature);
return GetBlackwingLairAI<boss_razorgoreAI>(creature);
}
};
@@ -267,7 +267,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_vaelAI>(creature);
return GetBlackwingLairAI<boss_vaelAI>(creature);
}
};
@@ -103,7 +103,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_baron_geddonAI(creature);
return GetMoltenCoreAI<boss_baron_geddonAI>(creature);
}
};
@@ -85,7 +85,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_garrAI(creature);
return GetMoltenCoreAI<boss_garrAI>(creature);
}
};
@@ -137,7 +137,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_fireswornAI(creature);
return GetMoltenCoreAI<npc_fireswornAI>(creature);
}
};
@@ -88,7 +88,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gehennasAI(creature);
return GetMoltenCoreAI<boss_gehennasAI>(creature);
}
};
@@ -117,7 +117,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_golemaggAI(creature);
return GetMoltenCoreAI<boss_golemaggAI>(creature);
}
};
@@ -178,7 +178,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_core_ragerAI>(creature);
return GetMoltenCoreAI<npc_core_ragerAI>(creature);
}
};
@@ -86,7 +86,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_lucifronAI(creature);
return GetMoltenCoreAI<boss_lucifronAI>(creature);
}
};
@@ -105,7 +105,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_magmadarAI(creature);
return GetMoltenCoreAI<boss_magmadarAI>(creature);
}
};
@@ -239,7 +239,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_magmadar_core_houndAI(creature);
return GetMoltenCoreAI<npc_magmadar_core_houndAI>(creature);
}
};
@@ -195,7 +195,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_majordomoAI>(creature);
return GetMoltenCoreAI<boss_majordomoAI>(creature);
}
};
@@ -291,7 +291,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ragnarosAI>(creature);
return GetMoltenCoreAI<boss_ragnarosAI>(creature);
}
};
@@ -323,7 +323,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_son_of_flameAI>(creature);
return GetMoltenCoreAI<npc_son_of_flameAI>(creature);
}
};
@@ -101,7 +101,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_shazzrahAI(creature);
return GetMoltenCoreAI<boss_shazzrahAI>(creature);
}
};
@@ -117,7 +117,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new boss_sulfuronAI(creature);
return GetMoltenCoreAI<boss_sulfuronAI>(creature);
}
};
@@ -193,7 +193,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_flamewaker_priestAI(creature);
return GetMoltenCoreAI<npc_flamewaker_priestAI>(creature);
}
};
@@ -9,6 +9,10 @@
#ifndef DEF_MOLTEN_CORE_H
#define DEF_MOLTEN_CORE_H
#include "CreatureAIImpl.h"
#define MCScriptName "instance_molten_core"
enum Encounters
{
BOSS_LUCIFRON = 0,
@@ -68,4 +72,10 @@ enum Data
DATA_RAGNAROS_ADDS = 0,
};
template <class AI, class T>
inline AI* GetMoltenCoreAI(T* obj)
{
return GetInstanceAI<AI>(obj, MCScriptName);
}
#endif