From 01584cb0b9fe623fdf5694b985a53aa45f9f1d30 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Wed, 22 Jan 2020 20:40:09 +0100 Subject: 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 --- src/server/game/Entities/Unit/Unit.cpp | 3 +++ src/server/game/Entities/Unit/Unit.h | 6 ++++++ 2 files changed, 9 insertions(+) (limited to 'src') 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; }; -- cgit v1.2.3