diff --git a/Content.Server/Construction/ConstructionSystem.Guided.cs b/Content.Server/Construction/ConstructionSystem.Guided.cs index 8d657c5727..b366705774 100644 --- a/Content.Server/Construction/ConstructionSystem.Guided.cs +++ b/Content.Server/Construction/ConstructionSystem.Guided.cs @@ -30,7 +30,7 @@ namespace Content.Server.Construction private void AddDeconstructVerb(EntityUid uid, ConstructionComponent component, GetVerbsEvent args) { - if (!args.CanAccess || !args.CanInteract) + if (!args.CanAccess || !args.CanInteract || args.Hands == null) return; if (component.TargetNode == component.DeconstructionNode || diff --git a/Content.Server/Cuffs/CuffableSystem.cs b/Content.Server/Cuffs/CuffableSystem.cs index a92a921ffd..e3559f5cea 100644 --- a/Content.Server/Cuffs/CuffableSystem.cs +++ b/Content.Server/Cuffs/CuffableSystem.cs @@ -30,7 +30,7 @@ namespace Content.Server.Cuffs private void AddUncuffVerb(EntityUid uid, CuffableComponent component, GetVerbsEvent args) { // Can the user access the cuffs, and is there even anything to uncuff? - if (!args.CanAccess || component.CuffedHandCount == 0) + if (!args.CanAccess || component.CuffedHandCount == 0 || args.Hands == null) return; // We only check can interact if the user is not uncuffing themselves. As a result, the verb will show up diff --git a/Content.Server/Engineering/EntitySystems/DisassembleOnAltVerbSystem.cs b/Content.Server/Engineering/EntitySystems/DisassembleOnAltVerbSystem.cs index 3b6fc91fdf..af7b7dc370 100644 --- a/Content.Server/Engineering/EntitySystems/DisassembleOnAltVerbSystem.cs +++ b/Content.Server/Engineering/EntitySystems/DisassembleOnAltVerbSystem.cs @@ -18,7 +18,7 @@ namespace Content.Server.Engineering.EntitySystems } private void AddDisassembleVerb(EntityUid uid, DisassembleOnAltVerbComponent component, GetVerbsEvent args) { - if (!args.CanInteract || !args.CanAccess) + if (!args.CanInteract || !args.CanAccess || args.Hands == null) return; AlternativeVerb verb = new() diff --git a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs index 0ce6da6d0d..918370c949 100644 --- a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs @@ -110,7 +110,7 @@ public sealed class SharpSystem : EntitySystem private void OnGetInteractionVerbs(EntityUid uid, SharedButcherableComponent component, GetVerbsEvent args) { - if (component.Type != ButcheringType.Knife) + if (component.Type != ButcheringType.Knife || args.Hands == null) return; bool disabled = false; diff --git a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs index 6b6bc88f54..c80e1eabd1 100644 --- a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs +++ b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs @@ -138,7 +138,7 @@ namespace Content.Server.Medical.SuitSensors return; // standard interaction checks - if (!args.CanAccess || !args.CanInteract) + if (!args.CanAccess || !args.CanInteract || args.Hands == null) return; args.Verbs.UnionWith(new[] diff --git a/Content.Server/Sticky/Systems/StickySystem.cs b/Content.Server/Sticky/Systems/StickySystem.cs index 6f6376e991..e2c9016100 100644 --- a/Content.Server/Sticky/Systems/StickySystem.cs +++ b/Content.Server/Sticky/Systems/StickySystem.cs @@ -41,7 +41,7 @@ public sealed class StickySystem : EntitySystem private void AddUnstickVerb(EntityUid uid, StickyComponent component, GetVerbsEvent args) { - if (component.StuckTo == null || !component.CanUnstick || !args.CanInteract) + if (component.StuckTo == null || !component.CanUnstick || !args.CanInteract || args.Hands == null) return; // we can't use args.CanAccess, because it stuck in another container diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs index 5295861577..b67af7514c 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs @@ -50,7 +50,7 @@ public abstract partial class SharedGunSystem private void OnBallisticVerb(EntityUid uid, BallisticAmmoProviderComponent component, GetVerbsEvent args) { - if (!args.CanAccess || !args.CanInteract) return; + if (!args.CanAccess || !args.CanInteract || args.Hands == null) return; args.Verbs.Add(new Verb() { diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs index 13a18ebbde..fb9a4c56bb 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs @@ -98,7 +98,7 @@ public partial class SharedGunSystem private void OnRevolverVerbs(EntityUid uid, RevolverAmmoProviderComponent component, GetVerbsEvent args) { - if (!args.CanAccess || !args.CanInteract) return; + if (!args.CanAccess || !args.CanInteract || args.Hands == null) return; args.Verbs.Add(new Verb() { diff --git a/Resources/Prototypes/Entities/Structures/Furniture/instruments.yml b/Resources/Prototypes/Entities/Structures/Furniture/instruments.yml index 4c7647673a..f321af379f 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/instruments.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/instruments.yml @@ -9,6 +9,7 @@ allowSpectator: false # otherwise they can play client-side music inHandsOnly: false singleUser: true + requireHands: true verbText: verb-instrument-openui key: enum.InstrumentUiKey.Key - type: InteractionOutline