using Content.Shared.Mind; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Roles.Components; /// /// 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; /// /// The mind's current antagonist/special role, or lack thereof. /// [DataField] public ProtoId? RoleType; /// /// The role's subtype, shown only to admins to help with antag categorization. /// [DataField] public LocId? Subtype; /// /// True if this mindrole is an exclusive antagonist. Antag setting is not checked if this is True. /// [DataField] public bool ExclusiveAntag; /// /// The Antagonist prototype of this role. /// [DataField] public ProtoId? AntagPrototype; /// /// The Job prototype of this role. /// [DataField] public ProtoId? JobPrototype; /// /// Used to order the characters on by role/antag status. Highest numbers are shown first. /// [DataField] public int SortWeight; } // 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;