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;
}