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
};
class boss_felblood_kaelthas : public CreatureScript
struct boss_felblood_kaelthas : public ScriptedAI
{
public:
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)
boss_felblood_kaelthas(Creature* creature) : ScriptedAI(creature), summons(me)
{
instance = creature->GetInstanceScript();
introSpeak = false;
@@ -298,16 +288,10 @@ public:
DoMeleeAttackIfReady();
}
};
};
class spell_mt_phoenix_burn : public SpellScriptLoader
class spell_mt_phoenix_burn : public SpellScript
{
public:
spell_mt_phoenix_burn() : SpellScriptLoader("spell_mt_phoenix_burn") { }
class spell_mt_phoenix_burn_SpellScript : public SpellScript
{
PrepareSpellScript(spell_mt_phoenix_burn_SpellScript);
PrepareSpellScript(spell_mt_phoenix_burn);
void HandleAfterCast()
{
@@ -317,18 +301,12 @@ public:
void Register() override
{
AfterCast += SpellCastFn(spell_mt_phoenix_burn_SpellScript::HandleAfterCast);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_mt_phoenix_burn_SpellScript();
AfterCast += SpellCastFn(spell_mt_phoenix_burn::HandleAfterCast);
}
};
void AddSC_boss_felblood_kaelthas()
{
new boss_felblood_kaelthas();
new spell_mt_phoenix_burn();
RegisterMagistersTerraceCreatureAI(boss_felblood_kaelthas);
RegisterSpellScript(spell_mt_phoenix_burn);
}
@@ -77,19 +77,9 @@ enum Events
EVENT_SPELL_IMMUNITY = 7,
};
class boss_priestess_delrissa : public CreatureScript
struct boss_priestess_delrissa : public ScriptedAI
{
public:
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)
boss_priestess_delrissa(Creature* creature) : ScriptedAI(creature), summons(me)
{
instance = creature->GetInstanceScript();
}
@@ -257,7 +247,6 @@ public:
DoMeleeAttackIfReady();
}
};
};
enum helpersShared
{
@@ -420,19 +409,9 @@ enum RogueEnum
EVENT_SPELL_BACKSTAB = 5,
};
class boss_kagani_nightstrike : public CreatureScript
struct boss_kagani_nightstrike : public boss_priestess_lackey_commonAI
{
public:
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) { }
boss_kagani_nightstrike(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
void JustEngagedWith(Unit* who) override
{
@@ -499,7 +478,6 @@ public:
DoMeleeAttackIfReady();
}
};
};
enum WarlockEnum
{
@@ -520,19 +498,9 @@ enum WarlockEnum
EVENT_SPELL_FEAR = 5,
};
class boss_ellris_duskhallow : public CreatureScript
struct boss_ellris_duskhallow : public boss_priestess_lackey_commonAI
{
public:
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) { }
boss_ellris_duskhallow(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) { }
void JustEngagedWith(Unit* who) override
{
@@ -584,7 +552,6 @@ public:
DoMeleeAttackIfReady();
}
};
};
enum MonkEnum
{
@@ -598,19 +565,9 @@ enum MonkEnum
EVENT_SPELL_FISTS = 3,
};
class boss_eramas_brightblaze : public CreatureScript
struct boss_eramas_brightblaze : public boss_priestess_lackey_commonAI
{
public:
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) { }
boss_eramas_brightblaze(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
void JustEngagedWith(Unit* who) override
{
@@ -647,7 +604,6 @@ public:
DoMeleeAttackIfReady();
}
};
};
enum MageEnum
{
@@ -672,19 +628,9 @@ enum MageEnum
EVENT_SPELL_BLINK = 7
};
class boss_yazzai : public CreatureScript
struct boss_yazzai : public boss_priestess_lackey_commonAI
{
public:
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) { }
boss_yazzai(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) { }
void JustEngagedWith(Unit* who) override
{
@@ -760,7 +706,6 @@ public:
DoMeleeAttackIfReady();
}
};
};
enum WarriorEnum
{
@@ -780,19 +725,9 @@ enum WarriorEnum
EVENT_SPELL_INTERCEPT = 6,
};
class boss_warlord_salaris : public CreatureScript
struct boss_warlord_salaris : public boss_priestess_lackey_commonAI
{
public:
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) { }
boss_warlord_salaris(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
void JustEngagedWith(Unit* who) override
{
@@ -845,7 +780,6 @@ public:
DoMeleeAttackIfReady();
}
};
};
enum HunterEnum
{
@@ -866,19 +800,9 @@ enum HunterEnum
EVENT_SPELL_WING_CLIP = 5
};
class boss_garaxxas : public CreatureScript
struct boss_garaxxas : public boss_priestess_lackey_commonAI
{
public:
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) {}
boss_garaxxas(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) {}
void Reset() override
{
@@ -932,7 +856,6 @@ public:
DoMeleeAttackIfReady();
}
};
};
enum ShamanEnum
{
@@ -955,19 +878,9 @@ enum ShamanEnum
EVENT_SPELL_FROST_SHOCK = 7
};
class boss_apoko : public CreatureScript
struct boss_apoko : public boss_priestess_lackey_commonAI
{
public:
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) { }
boss_apoko(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_MELEE) { }
// uint32 Totem_Timer;
uint8 Totem_Amount;
@@ -1033,7 +946,6 @@ public:
DoMeleeAttackIfReady();
}
};
};
enum EngineerEnum
{
@@ -1053,19 +965,9 @@ enum EngineerEnum
EVENT_SPELL_IRON_BOMB = 5
};
class boss_zelfan : public CreatureScript
struct boss_zelfan : public boss_priestess_lackey_commonAI
{
public:
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) { }
boss_zelfan(Creature* creature) : boss_priestess_lackey_commonAI(creature, AI_TYPE_RANGED) { }
void JustEngagedWith(Unit* who) override
{
@@ -1121,17 +1023,16 @@ public:
DoMeleeAttackIfReady();
}
};
};
void AddSC_boss_priestess_delrissa()
{
new boss_priestess_delrissa();
new boss_kagani_nightstrike();
new boss_ellris_duskhallow();
new boss_eramas_brightblaze();
new boss_yazzai();
new boss_warlord_salaris();
new boss_garaxxas();
new boss_apoko();
new boss_zelfan();
RegisterMagistersTerraceCreatureAI(boss_priestess_delrissa);
RegisterMagistersTerraceCreatureAI(boss_kagani_nightstrike);
RegisterMagistersTerraceCreatureAI(boss_ellris_duskhallow);
RegisterMagistersTerraceCreatureAI(boss_eramas_brightblaze);
RegisterMagistersTerraceCreatureAI(boss_yazzai);
RegisterMagistersTerraceCreatureAI(boss_warlord_salaris);
RegisterMagistersTerraceCreatureAI(boss_garaxxas);
RegisterMagistersTerraceCreatureAI(boss_apoko);
RegisterMagistersTerraceCreatureAI(boss_zelfan);
}
@@ -52,19 +52,9 @@ enum Events
EVENT_RESTORE_COMBAT = 6
};
class boss_selin_fireheart : public CreatureScript
struct boss_selin_fireheart : public ScriptedAI
{
public:
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)
boss_selin_fireheart(Creature* creature) : ScriptedAI(creature), summons(me)
{
instance = creature->GetInstanceScript();
}
@@ -231,9 +221,8 @@ public:
DoMeleeAttackIfReady();
}
};
};
void AddSC_boss_selin_fireheart()
{
new boss_selin_fireheart();
RegisterMagistersTerraceCreatureAI(boss_selin_fireheart);
}
@@ -58,19 +58,9 @@ enum Misc
EVENT_HEALTH_CHECK = 3,
};
class boss_vexallus : public CreatureScript
struct boss_vexallus : public ScriptedAI
{
public:
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)
boss_vexallus(Creature* creature) : ScriptedAI(creature), summons(me)
{
instance = creature->GetInstanceScript();
}
@@ -182,9 +172,8 @@ public:
DoMeleeAttackIfReady();
}
};
};
void AddSC_boss_vexallus()
{
new boss_vexallus();
RegisterMagistersTerraceCreatureAI(boss_vexallus);
}