diff options
author | Ovahlord <dreadkiller@gmx.de> | 2020-01-22 20:40:09 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2020-01-22 20:40:09 +0100 |
commit | 01584cb0b9fe623fdf5694b985a53aa45f9f1d30 (patch) | |
tree | db0035ba0327aee2c0fc3c07a512da5670a66202 /src | |
parent | 02daf1bf3afc570c26e8e9f431866fcb3720174a (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.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 6 |
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; }; |