diff --git a/Content.Server/Atmos/EntitySystems/AtmosPipeLayersSystem.cs b/Content.Server/Atmos/EntitySystems/AtmosPipeLayersSystem.cs index 0cb804bdbd..924a6695fc 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosPipeLayersSystem.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosPipeLayersSystem.cs @@ -38,7 +38,7 @@ public sealed partial class AtmosPipeLayersSystem : SharedAtmosPipeLayersSystem if (ent.Comp.PipeLayersLocked) return; - base.SetPipeLayer(ent, layer); + base.SetPipeLayer(ent, layer, user, used); if (!TryComp(ent, out var nodeContainer)) return; diff --git a/Content.Shared/Atmos/EntitySystems/SharedAtmosPipeLayersSystem.cs b/Content.Shared/Atmos/EntitySystems/SharedAtmosPipeLayersSystem.cs index ff88601330..f6ec1c5799 100644 --- a/Content.Shared/Atmos/EntitySystems/SharedAtmosPipeLayersSystem.cs +++ b/Content.Shared/Atmos/EntitySystems/SharedAtmosPipeLayersSystem.cs @@ -119,14 +119,16 @@ public abstract partial class SharedAtmosPipeLayersSystem : EntitySystem if (ent.Comp.NumberOfPipeLayers <= 1 || ent.Comp.PipeLayersLocked) return; + if (!TryComp(args.Used, out var tool) || !_tool.HasQuality(args.Used, ent.Comp.Tool, tool)) + return; + if (TryComp(ent, out var subFloorHide) && subFloorHide.IsUnderCover) { - _popup.PopupPredicted(Loc.GetString("atmos-pipe-layers-component-cannot-adjust-pipes"), ent, args.User); + _popup.PopupClient(Loc.GetString("atmos-pipe-layers-component-cannot-adjust-pipes"), ent, args.User); return; } - if (TryComp(args.Used, out var tool) && _tool.HasQuality(args.Used, ent.Comp.Tool, tool)) - _tool.UseTool(args.Used, args.User, ent, ent.Comp.Delay, tool.Qualities, new TrySetNextPipeLayerCompletedEvent()); + _tool.UseTool(args.Used, args.User, ent, ent.Comp.Delay, tool.Qualities, new TrySetNextPipeLayerCompletedEvent()); } private void OnUseInHandEvent(Entity ent, ref UseInHandEvent args) @@ -141,7 +143,7 @@ public abstract partial class SharedAtmosPipeLayersSystem : EntitySystem var toolName = Loc.GetString(toolProto.ToolName).ToLower(); var message = Loc.GetString("atmos-pipe-layers-component-tool-missing", ("toolName", toolName)); - _popup.PopupPredicted(message, ent, args.User); + _popup.PopupClient(message, ent, args.User); } return; @@ -217,7 +219,7 @@ public abstract partial class SharedAtmosPipeLayersSystem : EntitySystem var layerName = GetPipeLayerName(ent.Comp.CurrentPipeLayer); var message = Loc.GetString("atmos-pipe-layers-component-change-layer", ("layerName", layerName)); - _popup.PopupPredicted(message, ent, user); + _popup.PopupClient(message, ent, user); } }