diff --git a/Content.Server/Atmos/Piping/EntitySystems/AtmosUnsafeUnanchorSystem.cs b/Content.Server/Atmos/Piping/EntitySystems/AtmosUnsafeUnanchorSystem.cs index 5496771423..296cebf6ac 100644 --- a/Content.Server/Atmos/Piping/EntitySystems/AtmosUnsafeUnanchorSystem.cs +++ b/Content.Server/Atmos/Piping/EntitySystems/AtmosUnsafeUnanchorSystem.cs @@ -14,8 +14,8 @@ namespace Content.Server.Atmos.Piping.EntitySystems [UsedImplicitly] public sealed class AtmosUnsafeUnanchorSystem : EntitySystem { - [Dependency] private readonly AtmosphereSystem _atmosphereSystem = default!; - [Dependency] private readonly PopupSystem _popupSystem = default!; + [Dependency] private readonly AtmosphereSystem _atmosphere = default!; + [Dependency] private readonly PopupSystem _popup = default!; public override void Initialize() { @@ -28,17 +28,18 @@ namespace Content.Server.Atmos.Piping.EntitySystems if (!component.Enabled || !EntityManager.TryGetComponent(uid, out NodeContainerComponent? nodes)) return; - if (_atmosphereSystem.GetContainingMixture(uid, true) is not {} environment) + if (_atmosphere.GetContainingMixture(uid, true) is not {} environment) return; foreach (var node in nodes.Nodes.Values) { - if (node is not PipeNode pipe) continue; + if (node is not PipeNode pipe) + continue; - if ((pipe.Air.Pressure - environment.Pressure) > 2 * Atmospherics.OneAtmosphere) + if (pipe.Air.Pressure - environment.Pressure > 2 * Atmospherics.OneAtmosphere) { - args.Delay += 1.5f; - _popupSystem.PopupCursor(Loc.GetString("comp-atmos-unsafe-unanchor-warning"), + args.Delay += 2f; + _popup.PopupEntity(Loc.GetString("comp-atmos-unsafe-unanchor-warning"), pipe.Owner, Filter.Entities(args.User), PopupType.MediumCaution); return; // Show the warning only once. } @@ -50,7 +51,7 @@ namespace Content.Server.Atmos.Piping.EntitySystems if (!component.Enabled || !EntityManager.TryGetComponent(uid, out NodeContainerComponent? nodes)) return; - if (_atmosphereSystem.GetContainingMixture(uid, true, true) is not {} environment) + if (_atmosphere.GetContainingMixture(uid, true, true) is not {} environment) environment = GasMixture.SpaceGas; var lost = 0f; @@ -58,7 +59,8 @@ namespace Content.Server.Atmos.Piping.EntitySystems foreach (var node in nodes.Nodes.Values) { - if (node is not PipeNode pipe) continue; + if (node is not PipeNode pipe) + continue; var difference = pipe.Air.Pressure - environment.Pressure; lost += difference * environment.Volume / (environment.Temperature * Atmospherics.R); @@ -70,12 +72,13 @@ namespace Content.Server.Atmos.Piping.EntitySystems foreach (var node in nodes.Nodes.Values) { - if (node is not PipeNode pipe) continue; + if (node is not PipeNode pipe) + continue; - _atmosphereSystem.Merge(buffer, pipe.Air.Remove(sharedLoss)); + _atmosphere.Merge(buffer, pipe.Air.Remove(sharedLoss)); } - _atmosphereSystem.Merge(environment, buffer); + _atmosphere.Merge(environment, buffer); } } } diff --git a/Content.Server/Construction/AnchorableSystem.cs b/Content.Server/Construction/AnchorableSystem.cs index 4e115dac3f..c25fd46208 100644 --- a/Content.Server/Construction/AnchorableSystem.cs +++ b/Content.Server/Construction/AnchorableSystem.cs @@ -20,8 +20,8 @@ namespace Content.Server.Construction [Dependency] private readonly IAdminLogManager _adminLogger = default!; [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly PopupSystem _popup = default!; - [Dependency] private readonly ToolSystem _toolSystem = default!; - [Dependency] private readonly PullingSystem _pullingSystem = default!; + [Dependency] private readonly ToolSystem _tool = default!; + [Dependency] private readonly PullingSystem _pulling = default!; public override void Initialize() { @@ -85,7 +85,7 @@ namespace Content.Server.Construction if (TryComp(uid, out var pullable) && pullable.Puller != null) { - _pullingSystem.TryStopPull(pullable); + _pulling.TryStopPull(pullable); } // TODO: Anchoring snaps rn anyway! @@ -155,6 +155,8 @@ namespace Content.Server.Construction else RaiseLocalEvent(uid, (UnanchorAttemptEvent) attempt, false); + anchorable.Delay += attempt.Delay; + if (attempt.Cancelled) return false; @@ -192,7 +194,7 @@ namespace Content.Server.Construction anchorable.CancelToken = new CancellationTokenSource(); - _toolSystem.UseTool(usingUid, userUid, uid, 0f, anchorable.Delay, usingTool.Qualities, + _tool.UseTool(usingUid, userUid, uid, 0f, anchorable.Delay, usingTool.Qualities, new TryAnchorCompletedEvent(), new TryAnchorCancelledEvent(), uid, cancelToken: anchorable.CancelToken.Token); } @@ -215,7 +217,7 @@ namespace Content.Server.Construction anchorable.CancelToken = new CancellationTokenSource(); - _toolSystem.UseTool(usingUid, userUid, uid, 0f, anchorable.Delay, usingTool.Qualities, + _tool.UseTool(usingUid, userUid, uid, 0f, anchorable.Delay, usingTool.Qualities, new TryUnanchorCompletedEvent(), new TryUnanchorCancelledEvent(), uid, cancelToken: anchorable.CancelToken.Token); }