From e2f7787950cdf6eb69a4eff9b7225d3a5e3259a2 Mon Sep 17 00:00:00 2001 From: balakethelock <111737968+balakethelock@users.noreply.github.com> Date: Thu, 28 Dec 2023 10:45:19 +0100 Subject: [PATCH] Fix to sylvanas getting stuck in idle motion and not evading outside throne room --- src/game/AI/ScriptedAI.cpp | 2 +- src/scripts/eastern_kingdoms/undercity/undercity.cpp | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/game/AI/ScriptedAI.cpp b/src/game/AI/ScriptedAI.cpp index 0913c12e130..611cfe4ac8b 100644 --- a/src/game/AI/ScriptedAI.cpp +++ b/src/game/AI/ScriptedAI.cpp @@ -238,7 +238,7 @@ bool ScriptedAI::EnterEvadeIfOutOfCombatArea(uint32 const uiDiff) break; case NPC_SYLVANAS: case NPC_VARIMATHRAS: - if (m_creature->GetDistance(fX, fY, fZ) < 120.0f) + if (fZ < -53.0f) return false; break; default: diff --git a/src/scripts/eastern_kingdoms/undercity/undercity.cpp b/src/scripts/eastern_kingdoms/undercity/undercity.cpp index 544d996b7b0..0d5a153d0a6 100644 --- a/src/scripts/eastern_kingdoms/undercity/undercity.cpp +++ b/src/scripts/eastern_kingdoms/undercity/undercity.cpp @@ -69,6 +69,9 @@ struct boss_sylvanasAI : public ScriptedAI void UpdateAI(uint32 const uiDiff) override { + if (!m_creature->SelectHostileTarget() || !m_creature->GetVictim()) + return; + if (m_uiFadedTimer) { if (m_uiFadedTimer > uiDiff) @@ -77,12 +80,10 @@ struct boss_sylvanasAI : public ScriptedAI return; } m_uiFadedTimer = 0; - m_creature->GetMotionMaster()->Clear(); + m_creature-> GetMotionMaster()->Clear(); + m_creature-> GetMotionMaster()->MoveChase(m_creature->GetVictim()); } - if (!m_creature->SelectHostileTarget() || !m_creature->GetVictim()) - return; - if (m_uiSummSkelTimer <= uiDiff) { if (DoCastSpellIfCan(m_creature, SPELL_SUMMON_SKEL) == CAST_OK)