using Content.Shared.Whitelist; using Robust.Shared.Prototypes; namespace Content.Shared.Traits; /// /// Describes a trait. /// [Prototype] public sealed partial class TraitPrototype : IPrototype { [ViewVariables] [IdDataField] public string ID { get; private set; } = default!; /// /// The name of this trait. /// [DataField] public LocId Name { get; private set; } = string.Empty; /// /// The description of this trait. /// [DataField] public LocId? Description { get; private set; } /// /// Don't apply this trait to entities this whitelist IS NOT valid for. /// [DataField] public EntityWhitelist? Whitelist; /// /// Don't apply this trait to entities this whitelist IS valid for. (hence, a blacklist) /// [DataField] public EntityWhitelist? Blacklist; /// /// The components that get added to the player, when they pick this trait. /// [DataField] public ComponentRegistry Components { get; private set; } = default!; /// /// Gear that is given to the player, when they pick this trait. /// [DataField] public EntProtoId? TraitGear; /// /// Trait Price. If negative number, points will be added. /// [DataField] public int Cost = 0; /// /// Adds a trait to a category, allowing you to limit the selection of some traits to the settings of that category. /// [DataField] public ProtoId? Category; }