diff --git a/Content.Server/Atmos/Piping/Unary/EntitySystems/GasCanisterSystem.cs b/Content.Server/Atmos/Piping/Unary/EntitySystems/GasCanisterSystem.cs index b5c0ae022d..70fc5bafad 100644 --- a/Content.Server/Atmos/Piping/Unary/EntitySystems/GasCanisterSystem.cs +++ b/Content.Server/Atmos/Piping/Unary/EntitySystems/GasCanisterSystem.cs @@ -38,7 +38,7 @@ public sealed class GasCanisterSystem : EntitySystem SubscribeLocalEvent(OnCanisterStartup); SubscribeLocalEvent(OnCanisterUpdated); - SubscribeLocalEvent(OnCanisterActivate); + SubscribeLocalEvent(OnCanisterActivate, after: new[] { typeof(LockSystem) }); SubscribeLocalEvent(OnCanisterInteractHand); SubscribeLocalEvent(OnCanisterInteractUsing); SubscribeLocalEvent(OnCanisterContainerInserted); @@ -230,6 +230,11 @@ public sealed class GasCanisterSystem : EntitySystem if (CheckLocked(uid, component, args.User)) return; + // Needs to be here so the locked check still happens if the canister + // is locked and you don't have permissions + if (args.Handled) + return; + _ui.TryOpen(uid, GasCanisterUiKey.Key, actor.PlayerSession); args.Handled = true; }