using Content.Shared.Gibbing.Systems; using Robust.Shared.Audio; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Gibbing.Components; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(GibbingSystem))] public sealed partial class GibbableComponent : Component { /// /// Giblet entity prototypes to randomly select from when spawning additional giblets /// [DataField, AutoNetworkedField] public List GibPrototypes = new(); /// /// Number of giblet entities to spawn in addition to entity contents /// [DataField, AutoNetworkedField] public int GibCount; /// /// Sound to be played when this entity is gibbed, only played when playsound is true on the gibbing function /// [DataField, AutoNetworkedField] public SoundSpecifier? GibSound = new SoundCollectionSpecifier("gib", AudioParams.Default.WithVariation(0.025f)); /// /// Max distance giblets can be dropped from an entity when NOT using physics-based scattering /// [DataField, AutoNetworkedField] public float GibScatterRange = 0.3f; }