Core/Movement: adjust deactivation/reset logic inside GenericMovementGenerator

Port From (https://github.com/TrinityCore/TrinityCore/commit/4487933bd078c2d0087610de967f69f46cf4da60)
This commit is contained in:
hondacrx
2021-09-29 19:23:47 -04:00
parent 5ace2d2c55
commit 8d052d7d51
@@ -48,14 +48,14 @@ namespace Game.Movement
public override void Initialize(Unit owner)
{
if (HasFlag(MovementGeneratorFlags.Deactivated)) // Resume spline is not supported
if (HasFlag(MovementGeneratorFlags.Deactivated) && !HasFlag(MovementGeneratorFlags.InitializationPending)) // Resume spline is not supported
{
RemoveFlag(MovementGeneratorFlags.Deactivated);
AddFlag(MovementGeneratorFlags.Finalized);
return;
}
RemoveFlag(MovementGeneratorFlags.InitializationPending);
RemoveFlag(MovementGeneratorFlags.InitializationPending | MovementGeneratorFlags.Deactivated);
AddFlag(MovementGeneratorFlags.Initialized);
_duration.Reset(_splineInit.Launch());