using Robust.Shared.Prototypes; using Robust.Shared.Serialization.Manager.Attributes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.ViewVariables; namespace Content.Shared.Species; [Prototype("species")] public sealed class SpeciesPrototype : IPrototype { /// /// Prototype ID of the species. /// [DataField("id", required: true)] public string ID { get; } = default!; /// /// User visible name of the species. /// [DataField("name", required: true)] public string Name { get; } = default!; /// /// Whether the species is available "at round start" (In the character editor) /// [DataField("roundStart", required: true)] public bool RoundStart { get; } = false; /// /// Prototype used by the species as a body. /// [DataField("prototype", required: true, customTypeSerializer:typeof(PrototypeIdSerializer))] public string Prototype { get; } = default!; /// /// Prototype used by the species for the dress-up doll in various menus. /// [DataField("dollPrototype", required: true, customTypeSerializer:typeof(PrototypeIdSerializer))] public string DollPrototype { get; } = default!; /// /// Method of skin coloration used by the species. /// [DataField("skinColoration", required: true)] public SpeciesSkinColor SkinColoration { get; } } public enum SpeciesSkinColor { HumanToned, Hues, }