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