From 606597f4f862f9e4906422f1095dc7ae022e2fb6 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 (cherry picked from commit 01584cb0b9fe623fdf5694b985a53aa45f9f1d30) --- 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 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; }; -- cgit v1.2.3