using Content.Shared.Body.Prototypes; using Content.Shared.Body.Systems; using Robust.Shared.Audio; using Robust.Shared.Containers; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Body.Components; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedBodySystem))] public sealed partial class BodyComponent : Component { /// /// Relevant template to spawn for this body. /// [DataField, AutoNetworkedField] public ProtoId? Prototype; /// /// Container that holds the root body part. /// /// /// Typically is the torso. /// [ViewVariables] public ContainerSlot RootContainer = default!; [ViewVariables] public string RootPartSlot => RootContainer.ID; [DataField, AutoNetworkedField] public SoundSpecifier GibSound = new SoundCollectionSpecifier("gib"); /// /// The amount of legs required to move at full speed. /// If 0, then legs do not impact speed. /// [DataField, AutoNetworkedField] public int RequiredLegs; [ViewVariables] [DataField, AutoNetworkedField] public HashSet LegEntities = new(); }