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!;
}
}