From b1aef029517eb6948654ce6ea9a6615ef17ea7af Mon Sep 17 00:00:00 2001 From: Mikhail G <68264134+Furrior@users.noreply.github.com> Date: Mon, 29 Jan 2024 17:05:23 +0700 Subject: [PATCH] Fix: minor tts stuff (#943) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Что этот PR делает ## Почему это хорошо для игры ## Изображения изменений ## Тестирование ## Changelog :cl: fix: Санитайз +(ударение) в сообщениях fix: Перевод названий работ в озвучке /:cl: --------- Co-authored-by: Mikhail Dzianishchyts --- modular_ss220/text_to_speech/code/hear.dm | 4 + .../text_to_speech/code/tts_subsystem.dm | 160 +++++++++--------- 2 files changed, 82 insertions(+), 82 deletions(-) diff --git a/modular_ss220/text_to_speech/code/hear.dm b/modular_ss220/text_to_speech/code/hear.dm index bea4f3ab0fe5..0bbf59db9be8 100644 --- a/modular_ss220/text_to_speech/code/hear.dm +++ b/modular_ss220/text_to_speech/code/hear.dm @@ -30,6 +30,10 @@ return trim(msg) +/mob/combine_message(list/message_pieces, verb, mob/speaker, always_stars) + . = ..() + return replace_characters(., list("+")) + /mob/hear_say(list/message_pieces, verb, italics, mob/speaker, sound/speech_sound, sound_vol, sound_frequency, use_voice) . = ..() if(!can_hear()) diff --git a/modular_ss220/text_to_speech/code/tts_subsystem.dm b/modular_ss220/text_to_speech/code/tts_subsystem.dm index 6dd04fba02e8..ca8f0f3a3114 100644 --- a/modular_ss220/text_to_speech/code/tts_subsystem.dm +++ b/modular_ss220/text_to_speech/code/tts_subsystem.dm @@ -52,6 +52,75 @@ SUBSYSTEM_DEF(tts220) var/debug_mode_enabled = FALSE + var/static/tts_acronym_replacements = list( + "нт" = "Эн Тэ", + "смо" = "Эс Мэ О", + "гп" = "Гэ Пэ", + "рд" = "Эр Дэ", + "гсб" = "Гэ Эс Бэ", + "срп" = "Эс Эр Пэ", + "цк" = "Цэ Каа", + "рнд" = "Эр Эн Дэ", + "сб" = "Эс Бэ", + "рцд" = "Эр Цэ Дэ", + "брпд" = "Бэ Эр Пэ Дэ", + "рпд" = "Эр Пэ Дэ", + "рпед" = "Эр Пед", + "тсф" = "Тэ Эс Эф", + "срт" = "Эс Эр Тэ", + "обр" = "О Бэ Эр", + "кпк" = "Кэ Пэ Каа", + "пда" = "Пэ Дэ А", + "id" = "Ай Ди", + "мщ" = "Эм Ще", + "вт" = "Вэ Тэ", + "ерп" = "Йе Эр Пэ", + "се" = "Эс Йе", + "апц" = "А Пэ Цэ", + "лкп" = "Эл Ка Пэ", + "см" = "Эс Эм", + "ека" = "Йе Ка", + "ка" = "Кэ А", + "бса" = "Бэ Эс Аа", + "днк" = "Дэ Эн Ка", + "тк" = "Тэ Ка", + "бфл" = "Бэ Эф Эл", + "бщ" = "Бэ Щэ", + "кк" = "Кэ Ка", + "ск" = "Эс Ка", + "зк" = "Зэ Ка", + "ерт" = "Йе Эр Тэ", + "вкд" = "Вэ Ка Дэ", + "нтр" = "Эн Тэ Эр", + "пнт" = "Пэ Эн Тэ", + "авд" = "А Вэ Дэ", + "пнв" = "Пэ Эн Вэ", + "ссд" = "Эс Эс Дэ", + "кпб" = "Кэ Пэ Бэ", + "сссп" = "Эс Эс Эс Пэ", + "крб" = "Ка Эр Бэ", + "бд" = "Бэ Дэ", + "сст" = "Эс Эс Тэ", + "скс" = "Эс Ка Эс", + "икн" = "И Ка Эн", + "нсс" = "Эн Эс Эс", + "емп" = "Йе Эм Пэ", + "бс" = "Бэ Эс", + "цкс" = "Цэ Ка Эс", + "срд" = "Эс Эр Дэ", + "жпс" = "Джи Пи Эс", + "gps" = "Джи Пи Эс", + "ннксс" = "Эн Эн Ка Эс Эс", + "ss" = "Эс Эс", + "сс" = "Эс Эс", + "тесла" = "тэсла", + "трейзен" = "трэйзэн", + "нанотрейзен" = "нанотрэйзэн", + "мед" = "м ед", + "меде" = "м еде", + "кз" = "Кэ Зэ", + ) + var/static/list/tts_job_replacements = list( "nanotrasen navy field officer" = "Полевой офицер флота Нанотрэйзен", "nanotrasen navy officer" = "Офицер флота nanotrasen", @@ -115,18 +184,18 @@ SUBSYSTEM_DEF(tts220) "warden" = "Смотритель", "detective" = "Детектив", "forensic technician" = "Криминалист", + "junior security officer" = "Младший офицер службы безопасности", "security officer" = "Офицер службы безопасности", "security trainer" = "Тренер службы безопасности", - "junior security officer" = "Младший офицер службы безопасности", "security cadet" = "Кадет службы безопасности", "Security Assistant" = "Ассистент службы безопасности", "Security Graduate" = "Выпускник кадетской академии", "brig physician" = "Врач брига", "security pod pilot" = "Пилот пода службы безопасности", + "captain" = "Капитан", "ai" = "И И", "cyborg" = "Киборг", "robot" = "Робот", - "captain" = "Капитан", "head of personnel" = "Глава персонала", "nanotrasen representative" = "Представитель Нанотрэйзен", "blueshield" = "Блюшилд", @@ -471,106 +540,33 @@ SUBSYSTEM_DEF(tts220) sanitized_messages_cache_miss++ . = message . = trim(.) - var/static/regex/punctuation_check = new(@"[.,?!]\Z") if(!punctuation_check.Find(.)) . += "." - var/static/regex/html_tags = new(@"<[^>]*>", "g") . = html_tags.Replace(., "") . = html_decode(.) - var/static/regex/forbidden_symbols = new(@"[^a-zA-Z0-9а-яА-ЯёЁ,!?+./ \r\n\t:—()-]", "g") . = forbidden_symbols.Replace(., "") - - var/static/regex/words = new(@"(?