From e0bc7d73ddaae154dc113bbfa83390ffbb3040fb Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Thu, 14 Mar 2024 10:12:02 +0100 Subject: [PATCH] fix(Scripts/TheEye): make sure Al'ar doesn't schedule abilities multiple times (#18553) * init * fix --- src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index 4013f01b6..b45f6d86c 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -115,6 +115,7 @@ struct boss_alar : public BossAI _canAttackCooldown = true; _baseAttackOverride = false; _spawnPhoenixes = false; + _hasPretendedToDie = false; _transitionScheduler.CancelAll(); _platform = 0; _noMelee = false; @@ -179,8 +180,9 @@ struct boss_alar : public BossAI void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damagetype*/, SpellSchoolMask /*damageSchoolMask*/) override { - if (damage >= me->GetHealth() && _platform < POINT_MIDDLE) + if (damage >= me->GetHealth() && _platform < POINT_MIDDLE && !_hasPretendedToDie) { + _hasPretendedToDie = true; damage = 0; DoCastSelf(SPELL_EMBER_BLAST, true); PretendToDie(me); @@ -224,6 +226,7 @@ struct boss_alar : public BossAI void ScheduleAbilities() { + _transitionScheduler.CancelAll(); ScheduleTimedEvent(57s, [&] { DoCastVictim(SPELL_MELT_ARMOR); @@ -408,6 +411,7 @@ struct boss_alar : public BossAI } private: + bool _hasPretendedToDie; bool _canAttackCooldown; bool _baseAttackOverride; bool _spawnPhoenixes;