aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/AI/CreatureAI.cpp3
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp
index a5760026a3b..e4048e907a6 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 aac8edd3a37..8ff5acde3ae 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);
}
}