Scripts/Movement: De-optional followPathBackwardsFromEndToStart in WaypointMovementGenerator

(cherry picked from commit 70d0eaf4f8)
This commit is contained in:
ModoX
2024-01-05 18:34:49 +01:00
committed by funjoker
parent e1737f0f72
commit be16d63b7e
2 changed files with 3 additions and 3 deletions

View File

@@ -287,7 +287,7 @@ void WaypointMovementGenerator<Creature>::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<Creature>::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
{

View File

@@ -85,7 +85,7 @@ class WaypointMovementGenerator<Creature> : public MovementGeneratorMedium<Creat
MovementWalkRunSpeedSelectionMode _speedSelectionMode;
Optional<std::pair<Milliseconds, Milliseconds>> _waitTimeRangeAtPathEnd;
Optional<float> _wanderDistanceAtPathEnds;
Optional<bool> _followPathBackwardsFromEndToStart;
bool _followPathBackwardsFromEndToStart;
bool _isReturningToStart;
bool _generatePath;
};