using Content.Shared.Mind; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Roles; /// /// This holds data for, and indicates, a Mind Role entity /// [RegisterComponent, NetworkedComponent] public sealed partial class MindRoleComponent : BaseMindRoleComponent { /// /// Marks this Mind Role as Antagonist /// A single antag Mind Role is enough to make the owner mind count as Antagonist. /// [DataField] public bool Antag { get; set; } = false; /// /// The mind's current antagonist/special role, or lack thereof; /// [DataField] public ProtoId? RoleType; /// /// True if this mindrole is an exclusive antagonist. Antag setting is not checked if this is True. /// [DataField] public bool ExclusiveAntag { get; set; } = false; /// /// The Mind that this role belongs to /// public Entity Mind { get; set; } /// /// The Antagonist prototype of this role /// [DataField] public ProtoId? AntagPrototype { get; set; } /// /// The Job prototype of this role /// [DataField] public ProtoId? JobPrototype { get; set; } } // Why does this base component actually exist? It does make auto-categorization easy, but before that it was useless? // I used it for easy organisation/bookkeeping of what components are for mindroles [EntityCategory("Roles")] public abstract partial class BaseMindRoleComponent : Component { }