2022-10-23 00:46:28 +02:00
|
|
|
using Content.Shared.Body.Part;
|
|
|
|
|
using Content.Shared.Body.Prototypes;
|
|
|
|
|
using Content.Shared.Body.Systems;
|
|
|
|
|
using Robust.Shared.Audio;
|
|
|
|
|
using Robust.Shared.GameStates;
|
|
|
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
|
|
|
|
|
|
|
|
|
namespace Content.Shared.Body.Components;
|
|
|
|
|
|
|
|
|
|
[RegisterComponent, NetworkedComponent]
|
|
|
|
|
[Access(typeof(SharedBodySystem))]
|
2023-02-14 00:29:34 +11:00
|
|
|
public sealed class BodyComponent : Component
|
2022-10-23 00:46:28 +02:00
|
|
|
{
|
|
|
|
|
[DataField("prototype", customTypeSerializer: typeof(PrototypeIdSerializer<BodyPrototype>))]
|
|
|
|
|
public readonly string? Prototype;
|
|
|
|
|
|
|
|
|
|
[DataField("root")]
|
2022-11-27 19:25:55 +01:00
|
|
|
public BodyPartSlot? Root;
|
2022-10-23 00:46:28 +02:00
|
|
|
|
|
|
|
|
[DataField("gibSound")]
|
|
|
|
|
public SoundSpecifier GibSound = new SoundCollectionSpecifier("gib");
|
|
|
|
|
|
2022-12-09 20:08:47 -05:00
|
|
|
/// <summary>
|
|
|
|
|
/// The amount of legs required to move at full speed.
|
|
|
|
|
/// If 0, then legs do not impact speed.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("requiredLegs")]
|
|
|
|
|
public int RequiredLegs;
|
2022-10-23 00:46:28 +02:00
|
|
|
}
|