using Robust.Shared.Audio; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared._DV.Abilities; /// /// Adds an action to cough up an item. /// Other systems can enable this action when their conditions are met. /// [RegisterComponent, NetworkedComponent, Access(typeof(ItemCougherSystem))] public sealed partial class ItemCougherComponent : Component { /// /// The item to spawn after the coughing sound plays. /// [DataField(required: true)] public EntProtoId Item; /// /// The action to give the player. /// [DataField(required: true)] public EntProtoId Action; [DataField] public EntityUid? ActionEntity; /// /// Popup to show to everyone when coughing up an item. /// Gets "name" passed as the identity of the mob. /// [DataField(required: true)] public LocId CoughPopup; /// /// Sound played /// The sound length controls how long it takes for the item to spawn. /// [DataField] public SoundSpecifier Sound = new SoundPathSpecifier("/Audio/Animals/cat_hiss.ogg") { Params = new AudioParams { Variation = 0.15f } }; }