using Content.Shared.Whitelist; using Robust.Shared.Audio; using Robust.Shared.GameStates; namespace Content.Shared.Throwing; /// /// Allows this entity to be caught in your hands when someone else throws it at you. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class CatchableComponent : Component { /// /// If true this item can only be caught while in combat mode. /// [DataField, AutoNetworkedField] public bool RequireCombatMode; /// /// The chance of successfully catching. /// [DataField, AutoNetworkedField] public float CatchChance = 1.0f; /// /// Optional whitelist for who can catch this item. /// /// /// Example usecase: Only someone who knows martial arts can catch grenades. /// [DataField, AutoNetworkedField] public EntityWhitelist? CatcherWhitelist; /// /// The sound to play when successfully catching. /// [DataField] public SoundSpecifier? CatchSuccessSound; }