diff --git a/Content.Server/GameTicking/Rules/ChangelingRuleSystem.cs b/Content.Server/GameTicking/Rules/ChangelingRuleSystem.cs index afd42c390c0..451a9c15ace 100644 --- a/Content.Server/GameTicking/Rules/ChangelingRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/ChangelingRuleSystem.cs @@ -25,6 +25,8 @@ public sealed partial class ChangelingRuleSystem : GameRuleSystem ChangelingPrototypeId = "Changeling"; public readonly ProtoId ChangelingFactionId = "Changeling"; @@ -39,6 +41,13 @@ public override void Initialize() SubscribeLocalEvent(OnSelectAntag); SubscribeLocalEvent(OnTextPrepend); + SubscribeLocalEvent(OnGetBriefing); + } + + private void OnGetBriefing(EntityUid uid, ChangelingRuleComponent comp, ref GetBriefingEvent args) + { + TryComp(uid, out var metaData); + args.Append(Loc.GetString("changeling-role-greeting", ("name", metaData?.EntityName ?? "Unknown"))); } private void OnSelectAntag(EntityUid uid, ChangelingRuleComponent comp, ref AfterAntagEntitySelectedEvent args) @@ -54,10 +63,9 @@ public bool MakeChangeling(EntityUid target, ChangelingRuleComponent rule) if (TryComp(target, out var metaData)) { var briefing = Loc.GetString("changeling-role-greeting", ("name", metaData?.EntityName ?? "Unknown")); - var briefingShort = Loc.GetString("changeling-role-greeting-short", ("name", metaData?.EntityName ?? "Unknown")); _antag.SendBriefing(target, briefing, Color.Yellow, BriefingSound); - _role.MindAddRole(mindId, new RoleBriefingComponent { Briefing = briefingShort }, mind, true); + _role.MindAddRole(mindId, ChangelingPrototypeEntityId.ToString(), mind, true); } // hivemind stuff _npcFaction.RemoveFaction(target, NanotrasenFactionId, false); diff --git a/Content.Server/Roles/ChangelingRoleComponent.cs b/Content.Server/Roles/ChangelingRoleComponent.cs index a1184c67959..f59a880700c 100644 --- a/Content.Server/Roles/ChangelingRoleComponent.cs +++ b/Content.Server/Roles/ChangelingRoleComponent.cs @@ -2,7 +2,10 @@ namespace Content.Server.Roles; -[RegisterComponent, ExclusiveAntagonist] -public sealed partial class ChangelingRoleComponent : AntagonistRoleComponent +/// +/// Added to mind role entities to tag that they are a changeling. +/// +[RegisterComponent] +public sealed partial class ChangelingRoleComponent : BaseMindRoleComponent { } diff --git a/Resources/Locale/en-US/game-ticking/game-presets/preset-changeling.ftl b/Resources/Locale/en-US/game-ticking/game-presets/preset-changeling.ftl index 1a1e7abc8b2..fcaa91675f4 100644 --- a/Resources/Locale/en-US/game-ticking/game-presets/preset-changeling.ftl +++ b/Resources/Locale/en-US/game-ticking/game-presets/preset-changeling.ftl @@ -15,6 +15,3 @@ changeling-role-greeting = You are a changeling who has absorbed and taken the form of {$name}! Your objectives are listed in the character menu. Absorb, shapeshift and evolve to complete them! - -changeling-role-greeting-short = - You are a changeling who has absorbed and taken the initial form of {$name}. diff --git a/Resources/Locale/ru-RU/game-ticking/game-presets/preset-changeling.ftl b/Resources/Locale/ru-RU/game-ticking/game-presets/preset-changeling.ftl index bd1bf02a8dc..9c323f8c69a 100644 --- a/Resources/Locale/ru-RU/game-ticking/game-presets/preset-changeling.ftl +++ b/Resources/Locale/ru-RU/game-ticking/game-presets/preset-changeling.ftl @@ -15,6 +15,3 @@ changeling-role-greeting = Вы — генокрад, который поглотил и принял форму {$name}! Ваши цели указаны в меню персонажа. Поглощайте, изменяйте облик и эволюционируйте, чтобы выполнить их! - -changeling-role-greeting-short = - Вы — генокрад, который поглотил и принял начальную форму {$name}. diff --git a/Resources/Prototypes/Roles/MindRoles/mind_roles.yml b/Resources/Prototypes/Roles/MindRoles/mind_roles.yml index 926ce512b41..5b9af479db7 100644 --- a/Resources/Prototypes/Roles/MindRoles/mind_roles.yml +++ b/Resources/Prototypes/Roles/MindRoles/mind_roles.yml @@ -180,3 +180,14 @@ antagPrototype: Zombie exclusiveAntag: true - type: ZombieRole + +- type: entity + parent: BaseMindRoleAntag + id: MindRoleChangeling + name: Changeling Role +# description: mind-role-changeling-description + components: + - type: MindRole + antagPrototype: Changeling + exclusiveAntag: true + - type: ChangelingRole \ No newline at end of file diff --git a/Resources/Prototypes/StatusIcon/faction.yml b/Resources/Prototypes/StatusIcon/faction.yml index 4b27be8dd2a..4db4b414bf4 100644 --- a/Resources/Prototypes/StatusIcon/faction.yml +++ b/Resources/Prototypes/StatusIcon/faction.yml @@ -53,7 +53,7 @@ sprite: /Textures/Interface/Misc/job_icons.rsi state: Syndicate -- type: statusIcon +- type: factionIcon id: HivemindFaction priority: 11 showTo: