aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI/ScriptedAI
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-03-15 19:42:58 +0100
committerShauren <shauren.trinity@gmail.com>2023-03-15 19:42:58 +0100
commit6e309ed17ff448b971f206c7ea7174c736230299 (patch)
tree92b8965f41027de535a112a2a27ccb36e32f7d27 /src/server/game/AI/ScriptedAI
parentd26d38075cdb56dcef77f05276a360e717cc5032 (diff)
Core/Creatures: Allow flagging creatures to not clear their tap list when evading
Diffstat (limited to 'src/server/game/AI/ScriptedAI')
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp4
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp3
2 files changed, 5 insertions, 2 deletions
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();