// using Content.Shared.Roles; // using Content.Shared.Whitelist; // DeltaV - Traits rework // using Robust.Shared.Prototypes; // using Content.Shared.Humanoid.Prototypes; // DeltaV - Trait species hiding // // 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. // /// NOTE: When implementing a new trait, it's preferable to add it as a status effect instead if possible. // /// // [DataField] // [Obsolete("Use JobSpecial instead.")] // public ComponentRegistry Components { get; private set; } = default!; // // /// // /// Special effects applied to the player who takes this Trait. // /// // [DataField(serverOnly: true)] // public List Specials { get; private set; } = new(); // // /// // /// DeltaV - Components that get added to the player, overriding any existing instances of the component if they exist. // /// // [DataField] // public ComponentRegistry? OverriddenComponents { get; private set; } // // /// // /// 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; // // /// // /// DeltaV - Hides traits from specific species // /// // [DataField] // public HashSet> ExcludedSpecies = new(); // }