refactor(Scripts/MagistersTerrace): Update scripts to new register model (#17725)

This commit is contained in:
Andrew
2023-11-15 21:04:14 -03:00
committed by GitHub
parent 01c21539f9
commit 8fbed6c30e
4 changed files with 1111 additions and 1254 deletions
@@ -76,19 +76,9 @@ enum Misc
CREATURE_ARCANE_SPHERE = 24708 CREATURE_ARCANE_SPHERE = 24708
}; };
class boss_felblood_kaelthas : public CreatureScript struct boss_felblood_kaelthas : public ScriptedAI
{ {
public: boss_felblood_kaelthas(Creature* creature) : ScriptedAI(creature), summons(me)
boss_felblood_kaelthas() : CreatureScript("boss_felblood_kaelthas") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_felblood_kaelthasAI>(creature);
}
struct boss_felblood_kaelthasAI : public ScriptedAI
{
boss_felblood_kaelthasAI(Creature* creature) : ScriptedAI(creature), summons(me)
{ {
instance = creature->GetInstanceScript(); instance = creature->GetInstanceScript();
introSpeak = false; introSpeak = false;
@@ -298,16 +288,10 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
class spell_mt_phoenix_burn : public SpellScriptLoader class spell_mt_phoenix_burn : public SpellScript
{ {
public: PrepareSpellScript(spell_mt_phoenix_burn);
spell_mt_phoenix_burn() : SpellScriptLoader("spell_mt_phoenix_burn") { }
class spell_mt_phoenix_burn_SpellScript : public SpellScript
{
PrepareSpellScript(spell_mt_phoenix_burn_SpellScript);
void HandleAfterCast() void HandleAfterCast()
{ {
@@ -317,18 +301,12 @@ public:
void Register() override void Register() override
{ {
AfterCast += SpellCastFn(spell_mt_phoenix_burn_SpellScript::HandleAfterCast); AfterCast += SpellCastFn(spell_mt_phoenix_burn::HandleAfterCast);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_mt_phoenix_burn_SpellScript();
} }
}; };
void AddSC_boss_felblood_kaelthas() void AddSC_boss_felblood_kaelthas()
{ {
new boss_felblood_kaelthas(); RegisterMagistersTerraceCreatureAI(boss_felblood_kaelthas);
new spell_mt_phoenix_burn(); RegisterSpellScript(spell_mt_phoenix_burn);
} }
@@ -77,19 +77,9 @@ enum Events
EVENT_SPELL_IMMUNITY = 7, EVENT_SPELL_IMMUNITY = 7,
}; };
class boss_priestess_delrissa : public CreatureScript struct boss_priestess_delrissa : public ScriptedAI
{ {
public: boss_priestess_delrissa(Creature* creature) : ScriptedAI(creature), summons(me)
boss_priestess_delrissa() : CreatureScript("boss_priestess_delrissa") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_priestess_delrissaAI>(creature);
}
struct boss_priestess_delrissaAI : public ScriptedAI
{
boss_priestess_delrissaAI(Creature* creature) : ScriptedAI(creature), summons(me)
{ {
instance = creature->GetInstanceScript(); instance = creature->GetInstanceScript();
} }
@@ -257,7 +247,6 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
enum helpersShared enum helpersShared
{ {
@@ -420,19 +409,9 @@ enum RogueEnum
EVENT_SPELL_BACKSTAB = 5, EVENT_SPELL_BACKSTAB = 5,
}; };
class boss_kagani_nightstrike : public CreatureScript struct boss_kagani_nightstrike : public boss_priestess_lackey_commonAI
{ {
public: boss_kagani_nightstrike(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
boss_kagani_nightstrike() : CreatureScript("boss_kagani_nightstrike") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_kagani_nightstrikeAI>(creature);
}
struct boss_kagani_nightstrikeAI : public boss_priestess_lackey_commonAI
{
boss_kagani_nightstrikeAI(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
void JustEngagedWith(Unit* who) override void JustEngagedWith(Unit* who) override
{ {
@@ -499,7 +478,6 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
enum WarlockEnum enum WarlockEnum
{ {
@@ -520,19 +498,9 @@ enum WarlockEnum
EVENT_SPELL_FEAR = 5, EVENT_SPELL_FEAR = 5,
}; };
class boss_ellris_duskhallow : public CreatureScript struct boss_ellris_duskhallow : public boss_priestess_lackey_commonAI
{ {
public: boss_ellris_duskhallow(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) { }
boss_ellris_duskhallow() : CreatureScript("boss_ellris_duskhallow") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_ellris_duskhallowAI>(creature);
}
struct boss_ellris_duskhallowAI : public boss_priestess_lackey_commonAI
{
boss_ellris_duskhallowAI(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) { }
void JustEngagedWith(Unit* who) override void JustEngagedWith(Unit* who) override
{ {
@@ -584,7 +552,6 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
enum MonkEnum enum MonkEnum
{ {
@@ -598,19 +565,9 @@ enum MonkEnum
EVENT_SPELL_FISTS = 3, EVENT_SPELL_FISTS = 3,
}; };
class boss_eramas_brightblaze : public CreatureScript struct boss_eramas_brightblaze : public boss_priestess_lackey_commonAI
{ {
public: boss_eramas_brightblaze(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
boss_eramas_brightblaze() : CreatureScript("boss_eramas_brightblaze") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_eramas_brightblazeAI>(creature);
}
struct boss_eramas_brightblazeAI : public boss_priestess_lackey_commonAI
{
boss_eramas_brightblazeAI(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
void JustEngagedWith(Unit* who) override void JustEngagedWith(Unit* who) override
{ {
@@ -647,7 +604,6 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
enum MageEnum enum MageEnum
{ {
@@ -672,19 +628,9 @@ enum MageEnum
EVENT_SPELL_BLINK = 7 EVENT_SPELL_BLINK = 7
}; };
class boss_yazzai : public CreatureScript struct boss_yazzai : public boss_priestess_lackey_commonAI
{ {
public: boss_yazzai(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) { }
boss_yazzai() : CreatureScript("boss_yazzai") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_yazzaiAI>(creature);
}
struct boss_yazzaiAI : public boss_priestess_lackey_commonAI
{
boss_yazzaiAI(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) { }
void JustEngagedWith(Unit* who) override void JustEngagedWith(Unit* who) override
{ {
@@ -760,7 +706,6 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
enum WarriorEnum enum WarriorEnum
{ {
@@ -780,19 +725,9 @@ enum WarriorEnum
EVENT_SPELL_INTERCEPT = 6, EVENT_SPELL_INTERCEPT = 6,
}; };
class boss_warlord_salaris : public CreatureScript struct boss_warlord_salaris : public boss_priestess_lackey_commonAI
{ {
public: boss_warlord_salaris(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
boss_warlord_salaris() : CreatureScript("boss_warlord_salaris") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_warlord_salarisAI>(creature);
}
struct boss_warlord_salarisAI : public boss_priestess_lackey_commonAI
{
boss_warlord_salarisAI(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
void JustEngagedWith(Unit* who) override void JustEngagedWith(Unit* who) override
{ {
@@ -845,7 +780,6 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
enum HunterEnum enum HunterEnum
{ {
@@ -866,19 +800,9 @@ enum HunterEnum
EVENT_SPELL_WING_CLIP = 5 EVENT_SPELL_WING_CLIP = 5
}; };
class boss_garaxxas : public CreatureScript struct boss_garaxxas : public boss_priestess_lackey_commonAI
{ {
public: boss_garaxxas(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) {}
boss_garaxxas() : CreatureScript("boss_garaxxas") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_garaxxasAI>(creature);
}
struct boss_garaxxasAI : public boss_priestess_lackey_commonAI
{
boss_garaxxasAI(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) {}
void Reset() override void Reset() override
{ {
@@ -932,7 +856,6 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
enum ShamanEnum enum ShamanEnum
{ {
@@ -955,19 +878,9 @@ enum ShamanEnum
EVENT_SPELL_FROST_SHOCK = 7 EVENT_SPELL_FROST_SHOCK = 7
}; };
class boss_apoko : public CreatureScript struct boss_apoko : public boss_priestess_lackey_commonAI
{ {
public: boss_apoko(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
boss_apoko() : CreatureScript("boss_apoko") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_apokoAI>(creature);
}
struct boss_apokoAI : public boss_priestess_lackey_commonAI
{
boss_apokoAI(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
// uint32 Totem_Timer; // uint32 Totem_Timer;
uint8 Totem_Amount; uint8 Totem_Amount;
@@ -1033,7 +946,6 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
enum EngineerEnum enum EngineerEnum
{ {
@@ -1053,19 +965,9 @@ enum EngineerEnum
EVENT_SPELL_IRON_BOMB = 5 EVENT_SPELL_IRON_BOMB = 5
}; };
class boss_zelfan : public CreatureScript struct boss_zelfan : public boss_priestess_lackey_commonAI
{ {
public: boss_zelfan(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) { }
boss_zelfan() : CreatureScript("boss_zelfan") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_zelfanAI>(creature);
}
struct boss_zelfanAI : public boss_priestess_lackey_commonAI
{
boss_zelfanAI(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) { }
void JustEngagedWith(Unit* who) override void JustEngagedWith(Unit* who) override
{ {
@@ -1121,17 +1023,16 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
void AddSC_boss_priestess_delrissa() void AddSC_boss_priestess_delrissa()
{ {
new boss_priestess_delrissa(); RegisterMagistersTerraceCreatureAI(boss_priestess_delrissa);
new boss_kagani_nightstrike(); RegisterMagistersTerraceCreatureAI(boss_kagani_nightstrike);
new boss_ellris_duskhallow(); RegisterMagistersTerraceCreatureAI(boss_ellris_duskhallow);
new boss_eramas_brightblaze(); RegisterMagistersTerraceCreatureAI(boss_eramas_brightblaze);
new boss_yazzai(); RegisterMagistersTerraceCreatureAI(boss_yazzai);
new boss_warlord_salaris(); RegisterMagistersTerraceCreatureAI(boss_warlord_salaris);
new boss_garaxxas(); RegisterMagistersTerraceCreatureAI(boss_garaxxas);
new boss_apoko(); RegisterMagistersTerraceCreatureAI(boss_apoko);
new boss_zelfan(); RegisterMagistersTerraceCreatureAI(boss_zelfan);
} }
@@ -52,19 +52,9 @@ enum Events
EVENT_RESTORE_COMBAT = 6 EVENT_RESTORE_COMBAT = 6
}; };
class boss_selin_fireheart : public CreatureScript struct boss_selin_fireheart : public ScriptedAI
{ {
public: boss_selin_fireheart(Creature* creature) : ScriptedAI(creature), summons(me)
boss_selin_fireheart() : CreatureScript("boss_selin_fireheart") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_selin_fireheartAI>(creature);
};
struct boss_selin_fireheartAI : public ScriptedAI
{
boss_selin_fireheartAI(Creature* creature) : ScriptedAI(creature), summons(me)
{ {
instance = creature->GetInstanceScript(); instance = creature->GetInstanceScript();
} }
@@ -231,9 +221,8 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
void AddSC_boss_selin_fireheart() void AddSC_boss_selin_fireheart()
{ {
new boss_selin_fireheart(); RegisterMagistersTerraceCreatureAI(boss_selin_fireheart);
} }
@@ -58,19 +58,9 @@ enum Misc
EVENT_HEALTH_CHECK = 3, EVENT_HEALTH_CHECK = 3,
}; };
class boss_vexallus : public CreatureScript struct boss_vexallus : public ScriptedAI
{ {
public: boss_vexallus(Creature* creature) : ScriptedAI(creature), summons(me)
boss_vexallus() : CreatureScript("boss_vexallus") { }
CreatureAI* GetAI(Creature* creature) const override
{
return GetMagistersTerraceAI<boss_vexallusAI>(creature);
};
struct boss_vexallusAI : public ScriptedAI
{
boss_vexallusAI(Creature* creature) : ScriptedAI(creature), summons(me)
{ {
instance = creature->GetInstanceScript(); instance = creature->GetInstanceScript();
} }
@@ -182,9 +172,8 @@ public:
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
};
void AddSC_boss_vexallus() void AddSC_boss_vexallus()
{ {
new boss_vexallus(); RegisterMagistersTerraceCreatureAI(boss_vexallus);
} }