From f1f1bc01ba418056bdfd311fc9df218213e83009 Mon Sep 17 00:00:00 2001 From: Giacomo Pozzoni Date: Sat, 1 Feb 2020 14:47:06 +0100 Subject: Core/Movement: Fix WaypointMovementGenerator ignoring EscortAI::SetEscortPaused() on Gossip Hello (#24005) Fix WaypointMovementGenerator ignoring EscortAI::SetEscortPaused() when talking to a NPC, scheduling a 3 minutes pause on the WaypointMovementGenerator even if it was already disabled with no timer, waiting for the player to select a gossip entry to resume the movement. (cherry picked from commit a9e534762f2517a37d595cdfef527ab55b6339ba) --- .../game/Movement/MovementGenerators/WaypointMovementGenerator.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/server') diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp index 6421de3eb02..7d1fc1f133f 100644 --- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp @@ -56,6 +56,10 @@ void WaypointMovementGenerator::Pause(uint32 timer/* = 0*/) { if (timer) { + // Don't try to paused an already paused generator + if (HasFlag(MOVEMENTGENERATOR_FLAG_PAUSED)) + return; + AddFlag(MOVEMENTGENERATOR_FLAG_TIMED_PAUSED); _nextMoveTime.Reset(timer); RemoveFlag(MOVEMENTGENERATOR_FLAG_PAUSED); -- cgit v1.2.3