using Content.Shared.Mind; using JetBrains.Annotations; 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; /// /// 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? [EntityCategory("Roles")] public abstract partial class BaseMindRoleComponent : Component { }