diff options
| author | Shauren <shauren.trinity@gmail.com> | 2023-03-15 19:42:58 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2023-03-15 19:42:58 +0100 |
| commit | 6e309ed17ff448b971f206c7ea7174c736230299 (patch) | |
| tree | 92b8965f41027de535a112a2a27ccb36e32f7d27 /src/server/game/AI/ScriptedAI | |
| parent | d26d38075cdb56dcef77f05276a360e717cc5032 (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.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp | 3 |
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(); |
