From 07fd3454b2d0b75a8f5d73c0e113fa3ad5551361 Mon Sep 17 00:00:00 2001 From: Bombinos Date: Sun, 1 Sep 2024 20:17:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=95=D0=B2=D1=80=D0=B5=D0=B9=D1=81=D0=BA?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=B0=D0=BA=D1=86=D0=B5=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/JewishAccentComponent.cs | 10 +++ .../EntitySystems/JewishAccentSystem.cs | 70 +++++++++++++++++++ Resources/Prototypes/_Honk/Traits/neutral.yml | 7 ++ 3 files changed, 87 insertions(+) create mode 100644 Content.Server/_Honk/Speech/Components/JewishAccentComponent.cs create mode 100644 Content.Server/_Honk/Speech/EntitySystems/JewishAccentSystem.cs diff --git a/Content.Server/_Honk/Speech/Components/JewishAccentComponent.cs b/Content.Server/_Honk/Speech/Components/JewishAccentComponent.cs new file mode 100644 index 0000000000..e1208bd0ab --- /dev/null +++ b/Content.Server/_Honk/Speech/Components/JewishAccentComponent.cs @@ -0,0 +1,10 @@ +using Content.Server._Honk.Speech.EntitySystems; + +namespace Content.Server._Honk.Speech.Components; + +[RegisterComponent] +[Access(typeof(JewishAccentSystem))] +public sealed partial class JewishAccentComponent : Component +{ + +} diff --git a/Content.Server/_Honk/Speech/EntitySystems/JewishAccentSystem.cs b/Content.Server/_Honk/Speech/EntitySystems/JewishAccentSystem.cs new file mode 100644 index 0000000000..2777463993 --- /dev/null +++ b/Content.Server/_Honk/Speech/EntitySystems/JewishAccentSystem.cs @@ -0,0 +1,70 @@ +using System.Text; +using System.Text.RegularExpressions; +using Content.Server._Honk.Speech.Components; +using Content.Server.Speech; +using Content.Server.Speech.EntitySystems; + +namespace Content.Server._Honk.Speech.EntitySystems; + +public sealed class JewishAccentSystem : EntitySystem +{ + [Dependency] private readonly ReplacementAccentSystem _replacement = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnAccent); + } + + private void OnAccent(EntityUid uid, JewishAccentComponent component, AccentGetEvent args) + { + var message = args.Message; + + message = _replacement.ApplyReplacements(message, "jewish"); + + var words = message.Split(); + var rnd = new Random(); + var value = 0; + if (words.Length >= 2) + { + if (words.Length >= 4) + { + value = rnd.Next(0, words.Length); + var temp = @""; + for (int i = 0; i < words.Length; i++) + { + temp = temp + words[i] + " "; + if (i == value) + { + temp = temp + @"дай шекелей "; + } + } + message = temp; + } + value = rnd.Next(0, 2); + if (value == 1) + { + words = message.Split(); + words[0].ToLower(); + message = @"Таки " + message; + } + } + message = Regex.Replace(message, @"Привет", "шалом "); + message = Regex.Replace(message, @"привет", "Шалом "); + + message = Regex.Replace(message, @"Здравствуйте", "Шалом ходячий кошелёк"); + message = Regex.Replace(message, @"здравствуйте", "шалом ходячий кошелёк"); + message = Regex.Replace(message, @"Здравствуй", "Шалом ходячий кошелёк"); + message = Regex.Replace(message, @"здравствуй", "шалом ходячий кошелёк"); + + message = Regex.Replace(message, @" плати ", " отдай шекели "); + + message = Regex.Replace(message, @" вау ", " ой вей "); + + message = Regex.Replace(message, @"Р", "Л"); + message = Regex.Replace(message, @"р", "л"); + message = Regex.Replace(message, @"ы", "и"); + + args.Message = message; + } +}; diff --git a/Resources/Prototypes/_Honk/Traits/neutral.yml b/Resources/Prototypes/_Honk/Traits/neutral.yml index f131bef9be..d49bc311b0 100644 --- a/Resources/Prototypes/_Honk/Traits/neutral.yml +++ b/Resources/Prototypes/_Honk/Traits/neutral.yml @@ -4,3 +4,10 @@ description: Эу брат, пачэму ты нэ вибрал чэрту components: - type: CaucasianAccent + +- type: trait + id: Jewish + name: Еврейский акцент + description: Ой вей, вы тоже хотите деняг? + components: + - type: JewishAccent