From be16d63b7ef2dbd87d8f9347416fbc284b80a232 Mon Sep 17 00:00:00 2001 From: ModoX Date: Fri, 5 Jan 2024 18:34:49 +0100 Subject: Scripts/Movement: De-optional followPathBackwardsFromEndToStart in WaypointMovementGenerator (cherry picked from commit 70d0eaf4f82af5c5477971292df55f8a3e01dabb) --- .../game/Movement/MovementGenerators/WaypointMovementGenerator.cpp | 4 ++-- .../game/Movement/MovementGenerators/WaypointMovementGenerator.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp index bd5e6cbe996..f1b118ca8f2 100644 --- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp @@ -287,7 +287,7 @@ void WaypointMovementGenerator::OnArrived(Creature* owner) _nextMoveTime.Reset(waypoint.Delay); } - if (_waitTimeRangeAtPathEnd && _followPathBackwardsFromEndToStart && *_followPathBackwardsFromEndToStart + if (_waitTimeRangeAtPathEnd && _followPathBackwardsFromEndToStart && ((_isReturningToStart && _currentNode == 0) || (!_isReturningToStart && _currentNode == _path->Nodes.size() - 1))) { owner->ClearUnitState(UNIT_STATE_ROAMING_MOVE); @@ -435,7 +435,7 @@ bool WaypointMovementGenerator::ComputeNextNode() if ((_currentNode == _path->Nodes.size() - 1) && !_repeating) return false; - if (!_followPathBackwardsFromEndToStart.value_or(false) || _path->Nodes.size() < WAYPOINT_PATH_FLAG_FOLLOW_PATH_BACKWARDS_MINIMUM_NODES) + if (!_followPathBackwardsFromEndToStart || _path->Nodes.size() < WAYPOINT_PATH_FLAG_FOLLOW_PATH_BACKWARDS_MINIMUM_NODES) _currentNode = (_currentNode + 1) % _path->Nodes.size(); else { diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h index 6474e9df85e..3764a9629f0 100755 --- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h +++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h @@ -85,7 +85,7 @@ class WaypointMovementGenerator : public MovementGeneratorMedium> _waitTimeRangeAtPathEnd; Optional _wanderDistanceAtPathEnds; - Optional _followPathBackwardsFromEndToStart; + bool _followPathBackwardsFromEndToStart; bool _isReturningToStart; bool _generatePath; }; -- cgit v1.2.3