diff --git a/Content.Server/Communications/CommunicationsConsoleSystem.cs b/Content.Server/Communications/CommunicationsConsoleSystem.cs index 74880884a5ee3..09cbc8bc3d684 100644 --- a/Content.Server/Communications/CommunicationsConsoleSystem.cs +++ b/Content.Server/Communications/CommunicationsConsoleSystem.cs @@ -22,6 +22,8 @@ using Content.Shared.DeadSpace.Languages.Components; using Content.Server.DeadSpace.Languages; using Content.Shared.Corvax.TTS; +using Content.Shared.Humanoid; // DS14 +using Content.Shared.Humanoid.Prototypes; // DS14 namespace Content.Server.Communications { @@ -275,8 +277,65 @@ private void OnAnnounceMessage(EntityUid uid, CommunicationsConsoleComponent com // DS14-Languages-end if (comp.AnnounceSentBy) - msg += "\n" + Loc.GetString("comms-console-announcement-sent-by") + " " + author; - + // DS14-Start + { + Sex sex = Sex.Unsexed; + string selectedSentByString; + + if (TryComp(message.Actor, out var humanoid)) + { + sex = humanoid.Sex; + } + + if (sex == Sex.Female) + { + // Female + var femaleSentByStrings = new[] + { + "comms-console-announcement-sent-by-female1", + "comms-console-announcement-sent-by-female2", + "comms-console-announcement-sent-by-female3", + "comms-console-announcement-sent-by-female4" + }; + + var random = new Random(); + var randomIndex = random.Next(femaleSentByStrings.Length); + selectedSentByString = femaleSentByStrings[randomIndex]; + } + else if (sex == Sex.Male) + { + // Male + var maleSentByStrings = new[] + { + "comms-console-announcement-sent-by-male1", + "comms-console-announcement-sent-by-male2", + "comms-console-announcement-sent-by-male3", + "comms-console-announcement-sent-by-male4" + }; + + var random = new Random(); + var randomIndex = random.Next(maleSentByStrings.Length); + selectedSentByString = maleSentByStrings[randomIndex]; + } + else + { + // Nonsexed + var unsexedSentByStrings = new[] + { + "comms-console-announcement-sent-by-nonsexed1", + "comms-console-announcement-sent-by-nonsexed2", + "comms-console-announcement-sent-by-nonsexed3", + "comms-console-announcement-sent-by-nonsexed4" + }; + + var random = new Random(); + var randomIndex = random.Next(unsexedSentByStrings.Length); + selectedSentByString = unsexedSentByStrings[randomIndex]; + } + + msg += "\n" + Loc.GetString(selectedSentByString) + " " + author; + } + // DS14-End if (comp.Global) { _chatSystem.DispatchGlobalAnnouncement(msg, title, announcementSound: comp.Sound, colorOverride: comp.Color, originalMessage: originalMessage, author: message.Actor, languageId: languageId); // DS14-TTS diff --git a/Resources/Locale/ru-RU/communications/communications-console-component.ftl b/Resources/Locale/ru-RU/communications/communications-console-component.ftl index 3f28f66dbc8c3..4c148b7b17001 100644 --- a/Resources/Locale/ru-RU/communications/communications-console-component.ftl +++ b/Resources/Locale/ru-RU/communications/communications-console-component.ftl @@ -11,7 +11,18 @@ comms-console-permission-denied = В доступе отказано comms-console-shuttle-unavailable = В настоящее время шаттл недоступен comms-console-message-too-long = Сообщение слишком длинное # Placeholder values -comms-console-announcement-sent-by = Отправитель +comms-console-announcement-sent-by-female1 = Передала сообщение +comms-console-announcement-sent-by-female2 = Высказалась +comms-console-announcement-sent-by-female3 = Сообщила +comms-console-announcement-sent-by-female4 = Ваша любимая +comms-console-announcement-sent-by-male1 = Передал сообщение +comms-console-announcement-sent-by-male2 = Высказался +comms-console-announcement-sent-by-male3 = Сообщил +comms-console-announcement-sent-by-male4 = Ваш любимый +comms-console-announcement-sent-by-nonsexed1 = Передали сообщение +comms-console-announcement-sent-by-nonsexed2 = Высказались +comms-console-announcement-sent-by-nonsexed3 = Сообщили +comms-console-announcement-sent-by-nonsexed4 = Ваши любимые comms-console-announcement-unknown-sender = Неизвестный # User interface comms-console-menu-title = Консоль связи