aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2020-01-22 20:40:09 +0100
committerOvahlord <dreadkiller@gmx.de>2020-01-22 20:40:09 +0100
commit01584cb0b9fe623fdf5694b985a53aa45f9f1d30 (patch)
treedb0035ba0327aee2c0fc3c07a512da5670a66202 /src
parent02daf1bf3afc570c26e8e9f431866fcb3720174a (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
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 40f0ec3725b..7640d6ece0b 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -461,6 +461,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 bf37de2b822..fac7433ee89 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -716,6 +716,12 @@ enum ReactiveType
struct PositionUpdateInfo
{
+ void Reset()
+ {
+ Relocated = false;
+ Turned = false;
+ }
+
bool Relocated = false;
bool Turned = false;
};