using Content.Shared.Damage; using Content.Shared.Throwing; using Robust.Shared.Audio; using Robust.Shared.GameStates; namespace Content.Shared.Clumsy.Components; /// /// Afflicted entity will occasionally fail to catch items thrown at it. /// /// [RegisterComponent, NetworkedComponent] [Access(typeof(ClumsyStatusEffectSystem))] public sealed partial class ClumsyCatchStatusEffectComponent : 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"); /// /// Damage taken after failing. /// [DataField] public DamageSpecifier? FailDamage; /// /// Popup played to the afflicted when they fail. /// /// Parameters passed in: /// /// item - The item failed to be caught. /// /// [DataField] public LocId? SelfFailedMessage = "clumsy-catch-fail-message-user"; /// /// Popup played to others when the afflicted fails. /// /// Parameters passed in: /// /// item - The item failed to be caught. /// catcher - The entity failing the catch. /// /// [DataField] public LocId? OtherFailedMessage = "clumsy-catch-fail-message-others"; }