using Content.Shared.Roles; using Robust.Shared.Prototypes; namespace Content.Server.Ghost.Roles.Components; /// /// This is used for a ghost role which can be toggled on and off at will, like a PAI. /// [RegisterComponent, Access(typeof(ToggleableGhostRoleSystem))] public sealed partial class ToggleableGhostRoleComponent : Component { /// /// The text shown on the entity's Examine when it is controlled by a player /// [DataField] public string ExamineTextMindPresent = string.Empty; /// /// The text shown on the entity's Examine when it is waiting for a controlling player /// [DataField] public string ExamineTextMindSearching = string.Empty; /// /// The text shown on the entity's Examine when it has no controlling player /// [DataField] public string ExamineTextNoMind = string.Empty; /// /// The popup text when the entity (PAI/positronic brain) it is activated to seek a controlling player /// [DataField] public string BeginSearchingText = string.Empty; /// /// The name shown on the Ghost Role list /// [DataField] public string RoleName = string.Empty; /// /// The description shown on the Ghost Role list /// [DataField] public string RoleDescription = string.Empty; /// /// The introductory message shown when trying to take the ghost role/join the raffle /// [DataField] public string RoleRules = string.Empty; /// /// A list of mind roles that will be added to the entity's mind /// [DataField] public List MindRoles; /// /// The displayed name of the verb to wipe the controlling player /// [DataField] public string WipeVerbText = string.Empty; /// /// /// The popup message when wiping the controlling player /// [DataField] public string WipeVerbPopup = string.Empty; /// /// The displayed name of the verb to stop searching for a controlling player /// [DataField] public string StopSearchVerbText = string.Empty; /// /// /// The popup message when stopping to search for a controlling player /// [DataField] public string StopSearchVerbPopup = string.Empty; /// /// /// The prototype ID of the job that will be given to the controlling mind /// [DataField("job")] public ProtoId? JobProto; }