From 8ef8ddad24b8d85c66549692143a8110caa8eae0 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sat, 6 Apr 2024 14:14:55 -0300 Subject: [PATCH] =?UTF-8?q?fix(Scripts/TheEye):=20Fix=20Alar=20not=20using?= =?UTF-8?q?=20abilities=20if=20no=20target=20is=20in=20=E2=80=A6=20(#18678?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(Scripts/TheEye): Fix Alar not using abilities if no target is in range --- .../Outland/TempestKeep/Eye/boss_alar.cpp | 41 +++++++++++++++---- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index 21594b256..198abc879 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -102,15 +102,6 @@ struct boss_alar : public BossAI }); } - void JustReachedHome() override - { - BossAI::JustReachedHome(); - if (me->IsEngaged()) - { - ConstructWaypointsAndMove(); - } - } - void Reset() override { BossAI::Reset(); @@ -129,6 +120,15 @@ struct boss_alar : public BossAI ConstructWaypointsAndMove(); } + void JustReachedHome() override + { + BossAI::JustReachedHome(); + if (me->IsEngaged()) + { + ConstructWaypointsAndMove(); + } + } + void JustEngagedWith(Unit* who) override { BossAI::JustEngagedWith(who); @@ -158,6 +158,29 @@ struct boss_alar : public BossAI ScheduleMainSpellAttack(0s); } + bool CanAIAttack(Unit const* victim) const override + { + if (me->isMoving()) + return true; + + return me->IsWithinMeleeRange(victim); + } + + void EnterEvadeMode(EvadeReason why) override + { + if (why == EVADE_REASON_BOUNDARY) + { + BossAI::EnterEvadeMode(why); + } + else + { + if (me->GetThreatMgr().GetThreatList().empty()) + { + BossAI::EnterEvadeMode(why); + } + } + } + void JustDied(Unit* killer) override { BossAI::JustDied(killer);