diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index a5760026a3..e4048e907a 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -70,6 +70,9 @@ void CreatureAI::OnCharmed(bool isNew) } me->LastCharmerGUID.Clear(); + + if (!me->IsInCombat()) + EnterEvadeMode(EVADE_REASON_NO_HOSTILES); } UnitAI::OnCharmed(isNew); diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index aac8edd3a3..8ff5acde3a 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -708,6 +708,9 @@ void SmartAI::OnCharmed(bool /*isNew*/) if (Unit* lastCharmer = ObjectAccessor::GetUnit(*me, me->LastCharmerGUID)) me->EngageWithTarget(lastCharmer); me->LastCharmerGUID.Clear(); + + if (!me->IsInCombat()) + EnterEvadeMode(EVADE_REASON_NO_HOSTILES); } }