diff --git a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs index d43d845b16..9186772dc5 100644 --- a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs @@ -74,7 +74,7 @@ public sealed partial class GunSystem : SharedGunSystem // Try a clumsy roll // TODO: Who put this here - if (TryComp(user, out var clumsy)) + if (TryComp(user, out var clumsy) && gun.ClumsyProof == false) { for (var i = 0; i < ammo.Count; i++) { diff --git a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs b/Content.Shared/Weapons/Ranged/Components/GunComponent.cs index df897bcc0f..6577137ce7 100644 --- a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs +++ b/Content.Shared/Weapons/Ranged/Components/GunComponent.cs @@ -142,6 +142,13 @@ public partial class GunComponent : Component /// [DataField("showExamineText")] public bool ShowExamineText = true; + + /// + /// Whether or not someone with the + /// clumsy trait can shoot this + /// + [DataField("clumsyProof")] + public bool ClumsyProof = false; } [Flags] diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 02a9f6c521..26392094a4 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -597,6 +597,7 @@ - SemiAuto soundGunshot: path: /Audio/Weapons/Guns/Gunshots/revolver.ogg + clumsyProof: true - type: RevolverAmmoProvider whitelist: tags: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml index a2a25b56ab..0906f2c30e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml @@ -12,6 +12,7 @@ sprite: Objects/Weapons/Guns/Pistols/water_pistol.rsi size: 10 - type: Gun + clumsyProof: true cameraRecoilScalar: 0 #no recoil fireRate: 1 selectedMode: SemiAuto @@ -101,4 +102,4 @@ - enum.DamageStateVisualLayers.Base: icon: Rainbow - enum.PowerDeviceVisualLayers.Powered: - detail2: Sixteen \ No newline at end of file + detail2: Sixteen diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml index 46138ae233..b79ec2c673 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml @@ -27,6 +27,7 @@ path: /Audio/Effects/thunk.ogg soundEmpty: path: /Audio/Items/hiss.ogg + clumsyProof: true - type: ContainerAmmoProvider container: storagebase - type: PneumaticCannon @@ -85,6 +86,7 @@ path: /Audio/Effects/thunk.ogg soundEmpty: path: /Audio/Items/hiss.ogg + clumsyProof: true - type: ContainerAmmoProvider container: storagebase - type: Item