]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
SignalSwitchSystem: Check button is locked before toggling (#38474)
authorWhatstone <166147148+whatston3@users.noreply.github.com>
Sat, 21 Jun 2025 09:41:04 +0000 (05:41 -0400)
committerGitHub <noreply@github.com>
Sat, 21 Jun 2025 09:41:04 +0000 (11:41 +0200)
Check button is locked before toggling

Content.Server/DeviceLinking/Systems/SignalSwitchSystem.cs

index 67fad29d934e5ea89313dc460d6cbfe066c67b17..8a557049bc3bfd0dbdd58b1cad0af3229de5ffc0 100644 (file)
@@ -1,6 +1,7 @@
 using Content.Server.DeviceLinking.Components;
 using Content.Server.DeviceNetwork;
 using Content.Shared.Interaction;
+using Content.Shared.Lock;
 using Robust.Shared.Audio;
 using Robust.Shared.Audio.Systems;
 
@@ -10,6 +11,7 @@ public sealed class SignalSwitchSystem : EntitySystem
 {
     [Dependency] private readonly DeviceLinkSystem _deviceLink = default!;
     [Dependency] private readonly SharedAudioSystem _audio = default!;
+    [Dependency] private readonly LockSystem _lock = default!;
 
     public override void Initialize()
     {
@@ -29,6 +31,9 @@ public sealed class SignalSwitchSystem : EntitySystem
         if (args.Handled || !args.Complex)
             return;
 
+        if (_lock.IsLocked(uid))
+            return;
+
         comp.State = !comp.State;
         _deviceLink.InvokePort(uid, comp.State ? comp.OnPort : comp.OffPort);