Fix pulling cancelling randomly. (#9982)
This commit is contained in:
@@ -31,6 +31,9 @@ namespace Content.Server.Physics.Controllers
|
||||
// Velocity change of -LinearVelocity * frameTime * this
|
||||
private const float SettleShutdownMultiplier = 20.0f;
|
||||
|
||||
// How much you must move for the puller movement check to actually hit.
|
||||
private const float MinimumMovementDistance = 0.005f;
|
||||
|
||||
[Dependency] private readonly SharedPullingSystem _pullableSystem = default!;
|
||||
|
||||
// TODO: Move this stuff to pullingsystem
|
||||
@@ -64,6 +67,10 @@ namespace Content.Server.Physics.Controllers
|
||||
|
||||
UpdatePulledRotation(uid, pullable.Owner);
|
||||
|
||||
if (args.NewPosition.EntityId == args.OldPosition.EntityId &&
|
||||
(args.NewPosition.Position - args.OldPosition.Position).LengthSquared < MinimumMovementDistance * MinimumMovementDistance)
|
||||
return;
|
||||
|
||||
if (TryComp<PhysicsComponent>(pullable.Owner, out var physics))
|
||||
physics.WakeBody();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user