mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-23 05:36:23 +00:00
feat(Core/Instance): Add instance validation for creature scripts (#4596)
This commit is contained in:
@@ -191,7 +191,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_eadricAI(pCreature);
|
||||
return GetTrialOfTheChampionAI<boss_eadricAI>(pCreature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -374,7 +374,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_paletressAI(pCreature);
|
||||
return GetTrialOfTheChampionAI<boss_paletressAI>(pCreature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -459,7 +459,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_memoryAI(pCreature);
|
||||
return GetTrialOfTheChampionAI<npc_memoryAI>(pCreature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -721,7 +721,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_argent_soldierAI(pCreature);
|
||||
return GetTrialOfTheChampionAI<npc_argent_soldierAI>(pCreature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -312,7 +312,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_black_knightAI (pCreature);
|
||||
return GetTrialOfTheChampionAI<boss_black_knightAI>(pCreature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -365,7 +365,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_black_knight_skeletal_gryphonAI(pCreature);
|
||||
return GetTrialOfTheChampionAI<npc_black_knight_skeletal_gryphonAI>(pCreature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -464,7 +464,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_black_knight_ghoulAI (pCreature);
|
||||
return GetTrialOfTheChampionAI<npc_black_knight_ghoulAI>(pCreature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc5_player_vehicleAI(pCreature);
|
||||
return GetTrialOfTheChampionAI<npc_toc5_player_vehicleAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc5_player_vehicleAI : public NullCreatureAI
|
||||
@@ -210,7 +210,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc5_grand_champion_minionAI(pCreature);
|
||||
return GetTrialOfTheChampionAI<npc_toc5_grand_champion_minionAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc5_grand_champion_minionAI : public ScriptedAI
|
||||
@@ -929,7 +929,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_grand_championAI(pCreature);
|
||||
return GetTrialOfTheChampionAI<boss_grand_championAI>(pCreature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_announcer_toc5AI(creature);
|
||||
return GetTrialOfTheChampionAI<npc_announcer_toc5AI>(creature);
|
||||
}
|
||||
|
||||
struct npc_announcer_toc5AI : public CreatureAI
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
#define DEF_TOC_H
|
||||
|
||||
#include "CombatAI.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
#define TrialOfTheChampionScriptName "instance_trial_of_the_champion"
|
||||
|
||||
enum eData
|
||||
{
|
||||
@@ -222,4 +225,10 @@ enum eTexts
|
||||
TEXT_BK_DEATH = 56,
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetTrialOfTheChampionAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, TrialOfTheChampionScriptName);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -137,7 +137,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_anubarak_trialAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<boss_anubarak_trialAI>(pCreature);
|
||||
};
|
||||
|
||||
struct boss_anubarak_trialAI : public ScriptedAI
|
||||
@@ -434,7 +434,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_swarm_scarabAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_swarm_scarabAI>(pCreature);
|
||||
};
|
||||
|
||||
struct npc_swarm_scarabAI : public ScriptedAI
|
||||
@@ -523,7 +523,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_frost_sphereAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_frost_sphereAI>(pCreature);
|
||||
};
|
||||
|
||||
struct npc_frost_sphereAI : public NullCreatureAI
|
||||
@@ -612,7 +612,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_nerubian_burrowerAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_nerubian_burrowerAI>(pCreature);
|
||||
};
|
||||
|
||||
struct npc_nerubian_burrowerAI : public ScriptedAI
|
||||
@@ -731,7 +731,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_anubarak_spikeAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_anubarak_spikeAI>(pCreature);
|
||||
};
|
||||
|
||||
struct npc_anubarak_spikeAI : public ScriptedAI
|
||||
|
||||
@@ -256,7 +256,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_druidAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_druidAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_druidAI : public boss_faction_championsAI
|
||||
@@ -386,7 +386,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_shamanAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_shamanAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_shamanAI : public boss_faction_championsAI
|
||||
@@ -508,7 +508,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_paladinAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_paladinAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_paladinAI : public boss_faction_championsAI
|
||||
@@ -643,7 +643,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_priestAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_priestAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_priestAI : public boss_faction_championsAI
|
||||
@@ -763,7 +763,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_shadow_priestAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_shadow_priestAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_shadow_priestAI : public boss_faction_championsAI
|
||||
@@ -917,7 +917,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_warlockAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_warlockAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_warlockAI : public boss_faction_championsAI
|
||||
@@ -1061,7 +1061,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_mageAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_mageAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_mageAI : public boss_faction_championsAI
|
||||
@@ -1208,7 +1208,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_hunterAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_hunterAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_hunterAI : public boss_faction_championsAI
|
||||
@@ -1361,7 +1361,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_boomkinAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_boomkinAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_boomkinAI : public boss_faction_championsAI
|
||||
@@ -1506,7 +1506,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_warriorAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_warriorAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_warriorAI : public boss_faction_championsAI
|
||||
@@ -1700,7 +1700,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_dkAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_dkAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_dkAI : public boss_faction_championsAI
|
||||
@@ -1856,7 +1856,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_rogueAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_rogueAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_rogueAI : public boss_faction_championsAI
|
||||
@@ -2014,7 +2014,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_enh_shamanAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_enh_shamanAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_enh_shamanAI : public boss_faction_championsAI
|
||||
@@ -2152,7 +2152,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_retro_paladinAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_retro_paladinAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_retro_paladinAI : public boss_faction_championsAI
|
||||
@@ -2304,7 +2304,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_pet_warlockAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_pet_warlockAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_pet_warlockAI : public boss_faction_championsAI
|
||||
@@ -2379,7 +2379,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_toc_pet_hunterAI (pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_toc_pet_hunterAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_toc_pet_hunterAI : public boss_faction_championsAI
|
||||
|
||||
@@ -83,7 +83,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_jaraxxusAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<boss_jaraxxusAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_jaraxxusAI : public ScriptedAI
|
||||
@@ -286,7 +286,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_fel_infernalAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_fel_infernalAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_fel_infernalAI : public ScriptedAI
|
||||
@@ -356,7 +356,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_mistress_of_painAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_mistress_of_painAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_mistress_of_painAI : public ScriptedAI
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_snobold_vassalAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_snobold_vassalAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_snobold_vassalAI : public ScriptedAI
|
||||
@@ -219,7 +219,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_gormokAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<boss_gormokAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_gormokAI : public ScriptedAI
|
||||
@@ -685,7 +685,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_acidmawAI(creature);
|
||||
return GetTrialOfTheCrusaderAI<boss_acidmawAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -710,7 +710,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_dreadscaleAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<boss_dreadscaleAI>(pCreature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -754,7 +754,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_icehowlAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<boss_icehowlAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_icehowlAI : public ScriptedAI
|
||||
|
||||
@@ -507,7 +507,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_eydisAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<boss_eydisAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_eydisAI : public boss_twin_valkyrAI
|
||||
@@ -533,7 +533,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new boss_fjolaAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<boss_fjolaAI>(pCreature);
|
||||
}
|
||||
|
||||
struct boss_fjolaAI : public boss_twin_valkyrAI
|
||||
@@ -668,7 +668,7 @@ public:
|
||||
|
||||
CreatureAI* GetAI(Creature* pCreature) const override
|
||||
{
|
||||
return new npc_concentrated_ballAI(pCreature);
|
||||
return GetTrialOfTheCrusaderAI<npc_concentrated_ballAI>(pCreature);
|
||||
}
|
||||
|
||||
struct npc_concentrated_ballAI : public NullCreatureAI
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
|
||||
#include "GridNotifiers.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
#define TrialOfTheCrusaderScriptName "instance_trial_of_the_crusader"
|
||||
|
||||
enum DataTypes
|
||||
{
|
||||
@@ -386,4 +389,10 @@ const uint32 dedicatedInsanityItems[405] =
|
||||
48703, 48705, 48708, 48709, 48710, 48711, 48712, 48713, 48714, 48722, 48724, 49233, 49234, 49237, 49238
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetTrialOfTheCrusaderAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, TrialOfTheCrusaderScriptName);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user