From 6e309ed17ff448b971f206c7ea7174c736230299 Mon Sep 17 00:00:00 2001 From: Shauren Date: Wed, 15 Mar 2023 19:42:58 +0100 Subject: Core/Creatures: Allow flagging creatures to not clear their tap list when evading --- src/server/game/AI/ScriptedAI/ScriptedCreature.cpp | 4 +++- src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/server/game/AI/ScriptedAI') diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index 9b06aebd30a..0d007751677 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -254,7 +254,9 @@ void ScriptedAI::ForceCombatStop(Creature* who, bool reset /*= true*/) if (reset) { who->LoadCreaturesAddon(); - who->SetTappedBy(nullptr); + if (!me->IsTapListNotClearedOnEvade()) + who->SetTappedBy(nullptr); + who->ResetPlayerDamageReq(); who->SetLastDamagedTime(0); who->SetCannotReachTarget(false); diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp index 27f3aa8ff31..f5a26fa4efc 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp @@ -94,7 +94,8 @@ void EscortAI::EnterEvadeMode(EvadeReason /*why*/) { me->RemoveAllAuras(); me->CombatStop(true); - me->SetTappedBy(nullptr); + if (!me->IsTapListNotClearedOnEvade()) + me->SetTappedBy(nullptr); EngagementOver(); -- cgit v1.2.3