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)