Fix a player's mob continuing to move after disconnecting (#1265)
This commit is contained in:
@@ -46,7 +46,7 @@ namespace Content.Client.GameObjects.EntitySystems
|
||||
|
||||
protected override void SetController(PhysicsComponent physics)
|
||||
{
|
||||
((PhysicsComponent)physics).SetController<MoverController>();
|
||||
physics.SetController<MoverController>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace Content.Shared.GameObjects.Components.Movement
|
||||
|
||||
/// <summary>
|
||||
/// Toggles one of the four cardinal directions. Each of the four directions are
|
||||
/// composed into a single direction vector, <see cref="PlayerInputMoverComponent.VelocityDir"/>. Enabling
|
||||
/// composed into a single direction vector, <see cref="SharedPlayerInputMoverComponent.VelocityDir"/>. Enabling
|
||||
/// opposite directions will cancel each other out, resulting in no direction.
|
||||
/// </summary>
|
||||
/// <param name="direction">Direction to toggle.</param>
|
||||
|
||||
@@ -54,7 +54,6 @@ namespace Content.Shared.GameObjects.EntitySystems
|
||||
base.Shutdown();
|
||||
}
|
||||
|
||||
|
||||
protected void UpdateKinematics(ITransformComponent transform, IMoverComponent mover, PhysicsComponent physics,
|
||||
CollidableComponent? collider = null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user