From c783cf7d0f8673001db124743c624ddb5f19db0c Mon Sep 17 00:00:00 2001 From: sanctum32 Date: Tue, 10 Oct 2023 16:35:36 +0200 Subject: [PATCH] Core/Movement: fixed an issue that allowed waypoint paths to repeat themselves even when repeating is disabled supercedes #423 --- .../MovementGenerators/WaypointMovementGenerator.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp index 9f5bba15b7..695b89fca2 100755 --- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp @@ -27,13 +27,13 @@ #include "Transport.h" #include "WaypointManager.h" -WaypointMovementGenerator::WaypointMovementGenerator(uint32 pathId, bool repeating) : _lastSplineId(0), _pathId(pathId), _waypointDelay(0), _pauseTime(0), -_waypointReached(true), _recalculateSpeed(false), _repeating(repeating), _loadedFromDB(true), _stalled(false), _hasBeenStalled(false), _done(false) +WaypointMovementGenerator::WaypointMovementGenerator(uint32 pathId, bool repeating) : _lastSplineId(0), _pathId(pathId), _waypointDelay(0), + _waypointReached(false), _recalculateSpeed(false), _repeating(repeating), _loadedFromDB(true), _stalled(false), _hasBeenStalled(false), _done(false) { } -WaypointMovementGenerator::WaypointMovementGenerator(WaypointPath& path, bool repeating) : _lastSplineId(0), _pathId(0), _waypointDelay(0), _pauseTime(0), -_waypointReached(true), _recalculateSpeed(false), _repeating(repeating), _loadedFromDB(false), _stalled(false), _hasBeenStalled(false), _done(false) +WaypointMovementGenerator::WaypointMovementGenerator(WaypointPath& path, bool repeating) : _lastSplineId(0), _pathId(0), _waypointDelay(0), + _waypointReached(false), _recalculateSpeed(false), _repeating(repeating), _loadedFromDB(false), _stalled(false), _hasBeenStalled(false), _done(false) { _path = &path; } @@ -341,7 +341,7 @@ bool WaypointMovementGenerator::GetResetPosition(Unit* /*owner*/, floa bool WaypointMovementGenerator::IsAllowedToMove(Creature* creature) const { - if (_stalled) + if (_stalled || _done) return false; if (_pauseTime.has_value())