using Content.Shared.Whitelist; using Robust.Shared.Prototypes; using static Robust.Shared.Prototypes.EntityPrototype; // don't worry about it namespace Content.Shared.Traits { /// /// Describes a trait. /// [Prototype("trait")] public sealed class TraitPrototype : IPrototype { private string _name = string.Empty; private string? _description; [ViewVariables] [IdDataField] public string ID { get; } = default!; /// /// The name of this trait. /// [DataField("name")] public string Name { get; private set; } = ""; /// /// The description of this trait. /// [DataField("description")] public string? Description { get; private set; } /// /// Don't apply this trait to entities this whitelist IS NOT valid for. /// [DataField("whitelist")] public EntityWhitelist? Whitelist; /// /// Don't apply this trait to entities this whitelist IS valid for. (hence, a blacklist) /// [DataField("blacklist")] public EntityWhitelist? Blacklist; /// /// The components that get added to the player, when they pick this trait. /// [DataField("components")] public ComponentRegistry Components { get; } = default!; } }