aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp
index 931d0e2229b..cfcc4e32721 100644
--- a/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/FlightPathMovementGenerator.cpp
@@ -94,8 +94,9 @@ bool FlightPathMovementGenerator::DoUpdate(Player* owner, uint32 /*diff*/)
if (!owner)
return false;
- uint32 pointId = owner->movespline->currentPathIdx() < 0 ? 0 : owner->movespline->currentPathIdx();
- if (pointId > _currentNode && _currentNode < _path.size())
+ // skipping the first spline path point because it's our starting point and not a taxi path point
+ uint32 pointId = owner->movespline->currentPathIdx() <= 0 ? 0 : owner->movespline->currentPathIdx() - 1;
+ if (pointId > _currentNode && _currentNode < _path.size() - 1)
{
bool departureEvent = true;
do
@@ -122,7 +123,7 @@ bool FlightPathMovementGenerator::DoUpdate(Player* owner, uint32 /*diff*/)
_currentNode += departureEvent ? 1 : 0;
departureEvent = !departureEvent;
- } while (_currentNode < _path.size());
+ } while (_currentNode < _path.size() - 1);
}
if (_currentNode >= (_path.size() - 1))