From eb09ad5d60f6fad323774e567ab8e720c2fda52d Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Tue, 31 Mar 2026 20:22:39 -0300 Subject: [PATCH] fix(Core/Movement): restore JustExitedCombat evade to fix waypoint resume (#25332) Co-authored-by: Claude Opus 4.6 --- src/server/game/AI/CreatureAI.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index 4cfbc1ea3..665b915cb 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -309,8 +309,12 @@ void CreatureAI::EngagementOver() void CreatureAI::JustExitedCombat() { - // Creatures evade through UpdateVictim() detecting out-of-combat state. - // Scripts that need custom combat-exit behavior should override this. + EngagementOver(); + + // If creature is alive, in world, and not already evading, trigger evade to return home + // Check IsInWorld to avoid evade during server shutdown/cleanup + if (me->IsAlive() && me->IsInWorld() && !me->IsInEvadeMode()) + EnterEvadeMode(EVADE_REASON_NO_HOSTILES); } /*void CreatureAI::AttackedBy(Unit* attacker)