Fix a player's mob continuing to move after disconnecting (#1265)
This commit is contained in:
@@ -79,7 +79,7 @@ namespace Content.Server.GameObjects.EntitySystems
|
||||
|
||||
protected override void SetController(PhysicsComponent physics)
|
||||
{
|
||||
((PhysicsComponent) physics).SetController<MoverController>();
|
||||
physics.SetController<MoverController>();
|
||||
}
|
||||
|
||||
private static void PlayerAttached(PlayerAttachSystemMessage ev)
|
||||
@@ -96,6 +96,11 @@ namespace Content.Server.GameObjects.EntitySystems
|
||||
{
|
||||
ev.Entity.RemoveComponent<PlayerInputMoverComponent>();
|
||||
}
|
||||
|
||||
if (ev.Entity.TryGetComponent(out PhysicsComponent physics))
|
||||
{
|
||||
(physics.Controller as MoverController)?.StopMoving();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void HandleFootsteps(IMoverComponent mover)
|
||||
|
||||
@@ -22,6 +22,7 @@ using Content.Shared;
|
||||
using Content.Shared.Chat;
|
||||
using Content.Shared.GameObjects.Components.PDA;
|
||||
using Content.Shared.Jobs;
|
||||
using Content.Shared.Physics;
|
||||
using Content.Shared.Preferences;
|
||||
using Prometheus;
|
||||
using Robust.Server.Interfaces;
|
||||
@@ -32,6 +33,7 @@ using Robust.Server.ServerStatus;
|
||||
using Robust.Shared.Configuration;
|
||||
using Robust.Shared.Enums;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.GameObjects.Components;
|
||||
using Robust.Shared.GameObjects.Systems;
|
||||
using Robust.Shared.Interfaces.Configuration;
|
||||
using Robust.Shared.Interfaces.GameObjects;
|
||||
|
||||
Reference in New Issue
Block a user