using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array; namespace Content.Shared.Humanoid.Prototypes; /// /// This is what is used to change a humanoid spawned by RandomHumanoidSystem in Content.Server. /// [Prototype] public sealed partial class RandomHumanoidSettingsPrototype : IPrototype, IInheritingPrototype { [IdDataField] public string ID { get; private set; } = default!; [ParentDataField(typeof(PrototypeIdArraySerializer))] public string[]? Parents { get; private set; } [AbstractDataField] [NeverPushInheritance] public bool Abstract { get; private set; } /// /// Whether the humanoid's name should take from the randomized profile or not. /// [DataField("randomizeName")] public bool RandomizeName { get; private set; } = true; /// /// Species that will be ignored by the randomizer. /// [DataField("speciesBlacklist")] public HashSet SpeciesBlacklist { get; private set; } = new(); /// /// Extra components to add to this entity. /// [DataField] [AlwaysPushInheritance] public ComponentRegistry? Components { get; private set; } }