refactor(Scripts/UtgardeKeep): Upgrade scripts to new register method (#20795)

This commit is contained in:
Andrew
2024-11-30 20:25:27 -03:00
committed by GitHub
parent 5e4f6ac576
commit a4a278a0e7
5 changed files with 711 additions and 797 deletions
@@ -99,19 +99,9 @@ enum eEvents
EVENT_AXE_PICKUP,
};
class boss_ingvar_the_plunderer : public CreatureScript
struct boss_ingvar_the_plunderer : public ScriptedAI
{
public:
boss_ingvar_the_plunderer() : CreatureScript("boss_ingvar_the_plunderer") { }
CreatureAI* GetAI(Creature* pCreature) const override
{
return GetUtgardeKeepAI<boss_ingvar_the_plundererAI>(pCreature);
}
struct boss_ingvar_the_plundererAI : public ScriptedAI
{
boss_ingvar_the_plundererAI(Creature* c) : ScriptedAI(c), summons(me)
boss_ingvar_the_plunderer(Creature* c) : ScriptedAI(c), summons(me)
{
pInstance = c->GetInstanceScript();
}
@@ -327,7 +317,7 @@ public:
events.Repeat(15s, 20s);
break;
case EVENT_SPELL_CLEAVE_OR_WOE_STRIKE:
if (me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0 )
if (me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0)
{
events.Repeat(3s);
break;
@@ -339,7 +329,7 @@ public:
events.Repeat(3s, 7s);
break;
case EVENT_SPELL_SMASH:
if (me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0 )
if (me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0)
{
events.Repeat(3s);
break;
@@ -388,10 +378,9 @@ public:
if (!me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE))
DoMeleeAttackIfReady();
}
};
};
void AddSC_boss_ingvar_the_plunderer()
{
new boss_ingvar_the_plunderer();
RegisterUtgardeKeepCreatureAI(boss_ingvar_the_plunderer);
}
@@ -58,19 +58,9 @@ enum eEvents
EVENT_SUMMON_SKELETONS,
};
class npc_frost_tomb : public CreatureScript
struct npc_frost_tomb : public NullCreatureAI
{
public:
npc_frost_tomb() : CreatureScript("npc_frost_tomb") { }
CreatureAI* GetAI(Creature* pCreature) const override
{
return GetUtgardeKeepAI<npc_frost_tombAI>(pCreature);
}
struct npc_frost_tombAI : public NullCreatureAI
{
npc_frost_tombAI(Creature* c) : NullCreatureAI(c)
npc_frost_tomb(Creature* c) : NullCreatureAI(c)
{
if (TempSummon* t = c->ToTempSummon())
if (Unit* s = t->GetSummonerUnit())
@@ -112,22 +102,11 @@ public:
me->KillSelf();
}
}
};
};
class boss_keleseth : public CreatureScript
struct boss_keleseth : public ScriptedAI
{
public:
boss_keleseth() : CreatureScript("boss_keleseth") { }
CreatureAI* GetAI(Creature* pCreature) const override
{
return GetUtgardeKeepAI<boss_kelesethAI>(pCreature);
}
struct boss_kelesethAI : public ScriptedAI
{
boss_kelesethAI(Creature* c) : ScriptedAI(c)
boss_keleseth(Creature* c) : ScriptedAI(c)
{
pInstance = c->GetInstanceScript();
}
@@ -227,7 +206,6 @@ public:
DoMeleeAttackIfReady();
}
};
};
enum eSkeletonEnum
@@ -242,19 +220,9 @@ enum eSkeletonEnum
EVENT_RESURRECT_2,
};
class npc_vrykul_skeleton : public CreatureScript
struct npc_vrykul_skeleton : public ScriptedAI
{
public:
npc_vrykul_skeleton() : CreatureScript("npc_vrykul_skeleton") { }
CreatureAI* GetAI(Creature* pCreature) const override
{
return GetUtgardeKeepAI<npc_vrykul_skeletonAI>(pCreature);
}
struct npc_vrykul_skeletonAI : public ScriptedAI
{
npc_vrykul_skeletonAI(Creature* c) : ScriptedAI(c)
npc_vrykul_skeleton(Creature* c) : ScriptedAI(c)
{
pInstance = c->GetInstanceScript();
}
@@ -292,7 +260,7 @@ public:
void UpdateAI(uint32 diff) override
{
if (pInstance && pInstance->GetData(DATA_KELESETH) != IN_PROGRESS )
if (pInstance && pInstance->GetData(DATA_KELESETH) != IN_PROGRESS)
{
if (me->IsAlive())
me->KillSelf();
@@ -340,7 +308,6 @@ public:
if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE))
DoMeleeAttackIfReady();
}
};
};
class spell_frost_tomb_aura : public AuraScript
@@ -368,8 +335,8 @@ class spell_frost_tomb_aura : public AuraScript
void AddSC_boss_keleseth()
{
new boss_keleseth();
new npc_frost_tomb();
new npc_vrykul_skeleton();
RegisterUtgardeKeepCreatureAI(boss_keleseth);
RegisterUtgardeKeepCreatureAI(npc_frost_tomb);
RegisterUtgardeKeepCreatureAI(npc_vrykul_skeleton);
RegisterSpellScript(spell_frost_tomb_aura);
}
@@ -66,19 +66,9 @@ enum eEvents
EVENT_MATE_DIED
};
class boss_skarvald_the_constructor : public CreatureScript
struct boss_skarvald_the_constructor : public ScriptedAI
{
public:
boss_skarvald_the_constructor() : CreatureScript("boss_skarvald_the_constructor") { }
CreatureAI* GetAI(Creature* pCreature) const override
{
return GetUtgardeKeepAI<boss_skarvald_the_constructorAI>(pCreature);
}
struct boss_skarvald_the_constructorAI : public ScriptedAI
{
boss_skarvald_the_constructorAI(Creature* c) : ScriptedAI(c)
boss_skarvald_the_constructor(Creature* c) : ScriptedAI(c)
{
pInstance = c->GetInstanceScript();
}
@@ -226,22 +216,11 @@ public:
}
DoMeleeAttackIfReady();
}
};
};
class boss_dalronn_the_controller : public CreatureScript
{
public:
boss_dalronn_the_controller() : CreatureScript("boss_dalronn_the_controller") { }
CreatureAI* GetAI(Creature* pCreature) const override
struct boss_dalronn_the_controller : public ScriptedAI
{
return GetUtgardeKeepAI<boss_dalronn_the_controllerAI>(pCreature);
}
struct boss_dalronn_the_controllerAI : public ScriptedAI
{
boss_dalronn_the_controllerAI(Creature* c) : ScriptedAI(c), summons(me)
boss_dalronn_the_controller(Creature* c) : ScriptedAI(c), summons(me)
{
pInstance = c->GetInstanceScript();
}
@@ -397,10 +376,9 @@ public:
DoMeleeAttackIfReady();
}
};
};
void AddSC_boss_skarvald_dalronn()
{
new boss_skarvald_the_constructor();
new boss_dalronn_the_controller();
RegisterUtgardeKeepCreatureAI(boss_skarvald_the_constructor);
RegisterUtgardeKeepCreatureAI(boss_dalronn_the_controller);
}
@@ -23,19 +23,9 @@
#include "SpellScriptLoader.h"
#include "Vehicle.h"
class npc_dragonflayer_forge_master : public CreatureScript
struct npc_dragonflayer_forge_master : public ScriptedAI
{
public:
npc_dragonflayer_forge_master() : CreatureScript("npc_dragonflayer_forge_master") { }
CreatureAI* GetAI(Creature* pCreature) const override
{
return GetUtgardeKeepAI<npc_dragonflayer_forge_masterAI>(pCreature);
}
struct npc_dragonflayer_forge_masterAI : public ScriptedAI
{
npc_dragonflayer_forge_masterAI(Creature* c) : ScriptedAI(c)
npc_dragonflayer_forge_master(Creature* c) : ScriptedAI(c)
{
pInstance = c->GetInstanceScript();
@@ -88,7 +78,6 @@ public:
}
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
}
};
};
enum EnslavedProtoDrake
@@ -111,14 +100,9 @@ enum EnslavedProtoDrake
const Position protodrakeCheckPos = {206.24f, -190.28f, 200.11f, 0.f};
class npc_enslaved_proto_drake : public CreatureScript
struct npc_enslaved_proto_drake : public ScriptedAI
{
public:
npc_enslaved_proto_drake() : CreatureScript("npc_enslaved_proto_drake") { }
struct npc_enslaved_proto_drakeAI : public ScriptedAI
{
npc_enslaved_proto_drakeAI(Creature* creature) : ScriptedAI(creature)
npc_enslaved_proto_drake(Creature* creature) : ScriptedAI(creature)
{
_setData = false;
}
@@ -193,15 +177,9 @@ public:
DoMeleeAttackIfReady();
}
private:
private:
bool _setData;
EventMap _events;
};
CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardeKeepAI<npc_enslaved_proto_drakeAI>(creature);
}
};
enum TickingTimeBomb
@@ -234,8 +212,8 @@ class spell_ticking_time_bomb_aura : public AuraScript
void AddSC_utgarde_keep()
{
new npc_dragonflayer_forge_master();
new npc_enslaved_proto_drake();
RegisterUtgardeKeepCreatureAI(npc_dragonflayer_forge_master);
RegisterUtgardeKeepCreatureAI(npc_enslaved_proto_drake);
RegisterSpellScript(spell_ticking_time_bomb_aura);
}
@@ -83,4 +83,6 @@ inline AI* GetUtgardeKeepAI(T* obj)
return GetInstanceAI<AI>(obj, UtgardeKeepScriptName);
}
#define RegisterUtgardeKeepCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetUtgardeKeepAI)
#endif