From 69809d12031d055d8d0cffb5a187d9af09dd0efe Mon Sep 17 00:00:00 2001 From: jackpoz Date: Mon, 2 Mar 2020 20:43:52 +0100 Subject: Core/AI: Fix remaining charming issue Make creatures evade when a charming expires and they cannot attack the charmer (i.e. charmer with .gm on) --- src/server/game/AI/CreatureAI.cpp | 3 +++ src/server/game/AI/SmartScripts/SmartAI.cpp | 3 +++ 2 files changed, 6 insertions(+) (limited to 'src/server') diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index 75f45395e4f..e028665e843 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -62,6 +62,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 4bc9aeafe0c..f09db2f1c68 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -706,6 +706,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); } } -- cgit v1.2.3