From 53f8e306e818f7c18c2a02643a7d469c3ea049ae Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Wed, 22 Jan 2025 22:25:14 -0600 Subject: [PATCH] fix(Scripts/MagistersTerrace) Add 5s Vexallus Pure Energy (#21239) Co-authored-by: Andrew <47818697+Nyeriah@users.noreply.github.com> --- .../MagistersTerrace/boss_vexallus.cpp | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp index 241be9767..a8d515dee 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp @@ -51,24 +51,34 @@ enum Misc struct boss_vexallus : public BossAI { - boss_vexallus(Creature* creature) : BossAI(creature, DATA_VEXALLUS) { } + boss_vexallus(Creature* creature) : BossAI(creature, DATA_VEXALLUS), _energyCooldown(false) { } void Reset() override { _Reset(); + _energyCooldown = false; - ScheduleHealthCheckEvent({ 85, 70, 55, 40 }, [&] + ScheduleHealthCheckEvent({ 85, 70, 55, 40, 25 }, [&] { - Talk(SAY_ENERGY); - Talk(EMOTE_DISCHARGE_ENERGY); - - if (IsHeroic()) + if (!_energyCooldown) { - DoCastSelf(SPELL_SUMMON_PURE_ENERGY_H1); - DoCastSelf(SPELL_SUMMON_PURE_ENERGY_H2); + Talk(SAY_ENERGY); + Talk(EMOTE_DISCHARGE_ENERGY); + + if (IsHeroic()) + { + DoCastSelf(SPELL_SUMMON_PURE_ENERGY_H1); + DoCastSelf(SPELL_SUMMON_PURE_ENERGY_H2); + } + else + DoCastSelf(SPELL_SUMMON_PURE_ENERGY_N); + + _energyCooldown = true; + scheduler.Schedule(5s, [this](TaskContext) + { + _energyCooldown = false; + }); } - else - DoCastSelf(SPELL_SUMMON_PURE_ENERGY_N); }); ScheduleHealthCheckEvent(20, [&] @@ -117,6 +127,9 @@ struct boss_vexallus : public BossAI if (killer) killer->CastSpell(killer, SPELL_ENERGY_FEEDBACK, true, 0, 0, summon->GetGUID()); } + +private: + bool _energyCooldown; }; void AddSC_boss_vexallus()