using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Shared.Species; [Prototype("species")] public sealed class SpeciesPrototype : IPrototype { /// /// Prototype ID of the species. /// [IdDataFieldAttribute] 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; } [DataField("maleFirstNames")] public string MaleFirstNames { get; } = "names_first_male"; [DataField("femaleFirstNames")] public string FemaleFirstNames { get; } = "names_first_female"; [DataField("lastNames")] public string LastNames { get; } = "names_last"; [DataField("naming")] public SpeciesNaming Naming { get; } = SpeciesNaming.FirstLast; } public enum SpeciesSkinColor : byte { HumanToned, Hues, TintedHues, //This gives a color tint to a humanoid's skin (10% saturation with full hue range). } public enum SpeciesNaming : byte { FirstLast, FirstDashFirst, }