using System.Text; using Content.Shared.Speech.Components; namespace Content.Shared.Speech.EntitySystems; public sealed partial class RussianAccentSystem : RelayAccentSystem { [Dependency] private ReplacementAccentSystem _replacement = default!; public override string Accentuate(string message, Entity? ent = null) { var accentedMessage = new StringBuilder(_replacement.ApplyReplacements(message, "russian", ent?.Owner)); for (var i = 0; i < accentedMessage.Length; i++) { var c = accentedMessage[i]; accentedMessage[i] = c switch { 'A' => 'Д', 'b' => 'в', 'N' => 'И', 'n' => 'и', 'K' => 'К', 'k' => 'к', 'm' => 'м', 'h' => 'н', 't' => 'т', 'R' => 'Я', 'r' => 'я', 'Y' => 'У', 'W' => 'Ш', 'w' => 'ш', _ => accentedMessage[i] }; } return accentedMessage.ToString(); } }