From 8548e939e279115f624e29d53ff4038736279bce Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Wed, 14 Oct 2020 22:46:39 +0200 Subject: [PATCH] Fix disconnecting discontinuing your adventures off into deep space (#2256) * Fix stopping when disconnecting while weightless * Use extension --- Content.Server/GameObjects/EntitySystems/MoverSystem.cs | 5 +++-- .../GameObjects/EntitySystems/SharedMoverSystem.cs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Content.Server/GameObjects/EntitySystems/MoverSystem.cs b/Content.Server/GameObjects/EntitySystems/MoverSystem.cs index 0dcfc3ad64..f33305ed18 100644 --- a/Content.Server/GameObjects/EntitySystems/MoverSystem.cs +++ b/Content.Server/GameObjects/EntitySystems/MoverSystem.cs @@ -76,7 +76,7 @@ namespace Content.Server.GameObjects.EntitySystems } } - private static void PlayerDetached(PlayerDetachedSystemMessage ev) + private void PlayerDetached(PlayerDetachedSystemMessage ev) { if (ev.Entity.HasComponent()) { @@ -84,7 +84,8 @@ namespace Content.Server.GameObjects.EntitySystems } if (ev.Entity.TryGetComponent(out IPhysicsComponent? physics) && - physics.TryGetController(out MoverController controller)) + physics.TryGetController(out MoverController controller) && + !ev.Entity.IsWeightless()) { controller.StopMoving(); } diff --git a/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs b/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs index a4782391ea..c192b0cfc2 100644 --- a/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs +++ b/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs @@ -22,7 +22,7 @@ namespace Content.Shared.GameObjects.EntitySystems public abstract class SharedMoverSystem : EntitySystem { [Dependency] private readonly IEntityManager _entityManager = default!; - [Dependency] private readonly IPhysicsManager _physicsManager = default!; + [Dependency] protected readonly IPhysicsManager PhysicsManager = default!; [Dependency] private readonly IConfigurationManager _configurationManager = default!; public override void Initialize()