From 220914beca96b8073d2680f804d1723542016c3d Mon Sep 17 00:00:00 2001 From: hondacrx Date: Thu, 18 Feb 2021 12:34:38 -0500 Subject: [PATCH] Core/Movement: some corrections on WaypointMovementGenerator Port From (https://github.com/TrinityCore/TrinityCore/commit/88c3a184cc9cfd7457f5c4e5f743161c763cddf7) --- .../Movement/Generators/WaypointMovement.cs | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/Source/Game/Movement/Generators/WaypointMovement.cs b/Source/Game/Movement/Generators/WaypointMovement.cs index 0438a085f..56d871254 100644 --- a/Source/Game/Movement/Generators/WaypointMovement.cs +++ b/Source/Game/Movement/Generators/WaypointMovement.cs @@ -252,16 +252,15 @@ namespace Game.Movement if (!_nextMoveTime.Passed()) { - _nextMoveTime.Update((int)diff); - if (_nextMoveTime.Passed()) - return StartMoveNow(creature); + if (creature.MoveSpline.Finalized()) + { + _nextMoveTime.Update((int)diff); + if (_nextMoveTime.Passed()) + return StartMoveNow(creature); + } } else { - // Set home position at place on waypoint movement. - if (creature.GetTransGUID().IsEmpty()) - creature.SetHomePosition(creature.GetPosition()); - if (creature.MoveSpline.Finalized()) { OnArrived(creature); @@ -270,10 +269,17 @@ namespace Game.Movement if (_nextMoveTime.Passed()) return StartMove(creature); } - else if (_recalculateSpeed) + else { - if (_nextMoveTime.Passed()) - StartMove(creature); + // Set home position at place on waypoint movement. + if (creature.GetTransGUID().IsEmpty()) + creature.SetHomePosition(creature.GetPosition()); + + if (_recalculateSpeed) + { + if (_nextMoveTime.Passed()) + StartMove(creature); + } } }