]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
fix voice mask working in pockets (#14743)
authordeltanedas <39013340+deltanedas@users.noreply.github.com>
Sun, 19 Mar 2023 23:41:25 +0000 (23:41 +0000)
committerGitHub <noreply@github.com>
Sun, 19 Mar 2023 23:41:25 +0000 (16:41 -0700)
Co-authored-by: deltanedas <@deltanedas:kde.org>
Content.Server/VoiceMask/VoiceMaskSystem.Equip.cs

index 47786b5cb3de7b8700c28be9130c2f8732d20658..74c7b3b77e70c3c1df2402bb5d868fee13c018cc 100644 (file)
@@ -18,7 +18,12 @@ public sealed partial class VoiceMaskSystem
 
     private void OnEquip(EntityUid uid, VoiceMaskerComponent component, GotEquippedEvent args)
     {
-        var comp = EnsureComp<VoiceMaskComponent>(args.Equipee);
+        var user = args.Equipee;
+        // have to be wearing the mask to use it, duh.
+        if (!_inventory.TryGetSlotEntity(user, MaskSlot, out var maskEntity) || maskEntity != uid)
+            return;
+
+        var comp = EnsureComp<VoiceMaskComponent>(user);
         comp.VoiceName = component.LastSetName;
 
         if (!_prototypeManager.TryIndex<InstantActionPrototype>(component.Action, out var action))
@@ -26,7 +31,7 @@ public sealed partial class VoiceMaskSystem
             throw new ArgumentException("Could not get voice masking prototype.");
         }
 
-        _actions.AddAction(args.Equipee, (InstantAction) action.Clone(), uid);
+        _actions.AddAction(user, (InstantAction) action.Clone(), uid);
     }
 
     private void OnUnequip(EntityUid uid, VoiceMaskerComponent compnent, GotUnequippedEvent args)