using Content.Shared.Damage;
using Content.Shared.Weapons.Ranged.Components;
using Robust.Shared.Audio;
using Robust.Shared.GameStates;
namespace Content.Shared.Clumsy.Components;
///
/// Afflicted entity will occasionally fail to fire a gun.
///
///
[RegisterComponent, NetworkedComponent]
[Access(typeof(ClumsyStatusEffectSystem))]
public sealed partial class ClumsyGunStatusEffectComponent : Component
{
///
/// How often to fail.
///
[DataField]
public float ClumsyChance = 0.5f;
///
/// Sound played upon failure.
///
[DataField]
public SoundSpecifier? ClumsySound = new SoundPathSpecifier("/Audio/Items/bikehorn.ogg");
///
/// Noise to play after failing to shoot a gun. Boom!
///
/// This should probably be on the gun itself, but that's a tall order.
[DataField]
public SoundSpecifier? GunShootFailSound = new SoundPathSpecifier("/Audio/Weapons/Guns/Gunshots/bang.ogg");
///
/// How much damage to take after failing.
///
[DataField]
public DamageSpecifier? FailDamage;
///
/// How long to be stunned after failing.
///
[DataField]
public TimeSpan StunDuration = TimeSpan.FromSeconds(2.5);
///
/// Popup played to the afflicted when they fail.
///
/// Parameters passed in:
///
/// - gun - The gun the blows up.
///
///
[DataField]
public LocId? FailedMessage = "clumsy-gun-fail-message";
}