From 0e7c66cb4c7ff7d44e232d0b50703a48605ffd24 Mon Sep 17 00:00:00 2001 From: Treeston Date: Sun, 21 Jul 2019 01:49:58 +0200 Subject: Core/AI: Finally move the "is creature engaged" flag to be a property of the creature AI, where it honestly always belonged. Fixes #17981 and #23602 for real this time. --- src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp | 3 ++- src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/server/game/AI/ScriptedAI') diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp index dcbdd631edf..cd42ffa5157 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp @@ -97,8 +97,9 @@ void EscortAI::EnterEvadeMode(EvadeReason /*why*/) { me->RemoveAllAuras(); me->CombatStop(true); - me->GetThreatManager().NotifyDisengaged(); me->SetLootRecipient(nullptr); + + EngagementOver(); if (HasEscortState(STATE_ESCORT_ESCORTING)) { diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp index 04c6f0a3376..6d9c9d6fe69 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp @@ -104,14 +104,18 @@ void FollowerAI::JustAppeared() void FollowerAI::EnterEvadeMode(EvadeReason /*why*/) { if (!me->IsAlive()) + { + EngagementOver(); return; + } me->RemoveAllAuras(); me->CombatStop(true); - me->GetThreatManager().NotifyDisengaged(); me->SetLootRecipient(nullptr); me->SetCannotReachTarget(false); me->DoNotReacquireTarget(); + + EngagementOver(); if (HasFollowState(STATE_FOLLOW_INPROGRESS)) { -- cgit v1.2.3