aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2020-01-22 20:40:09 +0100
committerShauren <shauren.trinity@gmail.com>2021-12-20 23:47:37 +0100
commit606597f4f862f9e4906422f1095dc7ae022e2fb6 (patch)
treefdf13f6ab18a749fe1d857f93af817d45e2f1892 /src
parent43a7091e8a86179e195e2bc021133ce751d48d48 (diff)
Core/Movement: reset position update interrupt info after the interrupt checks have been executed
* for discussion see: https://github.com/TrinityCore/TrinityCore/commit/02daf1bf3afc570c26e8e9f431866fcb3720174a#r36916229 (cherry picked from commit 01584cb0b9fe623fdf5694b985a53aa45f9f1d30)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp3
-rw-r--r--src/server/game/Entities/Unit/Unit.h6
2 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 556b6f5ac74..974806c39f1 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -485,6 +485,9 @@ void Unit::Update(uint32 p_time)
else if (!movespline->Finalized())
InterruptMovementBasedAuras();
+ // All position info based actions have been executed, reset info
+ _positionUpdateInfo.Reset();
+
if (!GetAI() && (GetTypeId() != TYPEID_PLAYER || (IsCharmed() && GetCharmerGUID().IsCreature())))
UpdateCharmAI();
RefreshAI();
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index d1a21e06538..9a8d2108e3f 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -723,6 +723,12 @@ enum ReactiveType
struct PositionUpdateInfo
{
+ void Reset()
+ {
+ Relocated = false;
+ Turned = false;
+ }
+
bool Relocated = false;
bool Turned = false;
};