diff --git a/code/__DEFINES/{dripstation_defines}/codewords.dm b/code/__DEFINES/{dripstation_defines}/codewords.dm new file mode 100644 index 000000000000..a8514aad3204 --- /dev/null +++ b/code/__DEFINES/{dripstation_defines}/codewords.dm @@ -0,0 +1,2 @@ +/// File location for codewords +#define CODEWORDS_FILE "rus/codewords.json" \ No newline at end of file diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 39957009ad00..b01ef5fb6291 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -200,6 +200,7 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex) ) var/list/safety = list(1,2,3)//Tells the proc which options to remove later on. +/* var/nouns = strings(ION_FILE, "ionabstract") var/objects = strings(ION_FILE, "ionobjects") var/adjectives = strings(ION_FILE, "ionadjectives") @@ -207,6 +208,16 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex) var/foods = strings(ION_FILE, "ionfood") var/drinks = strings(ION_FILE, "iondrinks") var/list/locations = GLOB.teleportlocs.len ? GLOB.teleportlocs : drinks //if null, defaults to drinks instead. +*/ + var/nouns = strings(CODEWORDS_FILE, "abstract") //dripstation edit + var/objects = strings(CODEWORDS_FILE, "objects") //dripstation edit + var/adjectives = strings(CODEWORDS_FILE, "adjectives") //dripstation edit + var/threats = strings(CODEWORDS_FILE, "threats") //dripstation edit + var/crew = strings(CODEWORDS_FILE, "crew") //dripstation edit + var/drinks = strings(CODEWORDS_FILE, "drinks") //dripstation edit + var/numbers = strings(CODEWORDS_FILE, "numbers") //dripstation edit + var/verb = strings(CODEWORDS_FILE, "verb") //dripstation edit + //var/list/locations = GLOB.teleportlocs.len ? GLOB.teleportlocs : drinks //if null, defaults to drinks instead. dripstation edit var/list/names = list() for(var/datum/data/record/t in GLOB.data_core.general)//Picks from crew manifest. @@ -236,16 +247,16 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex) new_name += pick(GLOB.last_names) . += new_name if(2) - . += pick(get_all_jobs())//Returns a job. + . += lowertext(pick(crew)) //dripstation edit safety -= 1 if(2) switch(rand(1,3))//Food, drinks, or things. Only selectable once. if(1) . += lowertext(pick(drinks)) if(2) - . += lowertext(pick(foods)) + . += lowertext(pick(verb)) //dripstation edit if(3) - . += lowertext(pick(locations)) + . += lowertext(pick(numbers)) //dripstation edit safety -= 2 if(3) switch(rand(1,4))//Abstract nouns, objects, adjectives, threats. Can be selected more than once. diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 6a829ee6086b..dad551dc3213 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -881,4 +881,4 @@ GLOBAL_LIST_INIT(binary, list("0","1")) /// Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts /proc/sanitize_css_class_name(name) var/static/regex/regex = new(@"[^a-zA-Z0-9]","g") - return replacetext(name, regex, "") + return replacetext(name, regex, "") \ No newline at end of file diff --git a/modular_dripstation/code/datums/status_effects/debuffs/speech_debuffs.dm b/modular_dripstation/code/datums/status_effects/debuffs/speech_debuffs.dm new file mode 100644 index 000000000000..e03e9af74723 --- /dev/null +++ b/modular_dripstation/code/datums/status_effects/debuffs/speech_debuffs.dm @@ -0,0 +1,8 @@ +/datum/status_effect/speech/slurring/drunk + text_modification_file = "rus/slurring_drunk_text.json" + +/datum/status_effect/speech/slurring/cult + text_modification_file = "rus/slurring_cult_text.json" + +/datum/status_effect/speech/slurring/heretic + text_modification_file = "rus/slurring_heretic_text.json" \ No newline at end of file diff --git a/modular_dripstation/includes.dm b/modular_dripstation/includes.dm index e4964aa060fb..a7187c51f752 100644 --- a/modular_dripstation/includes.dm +++ b/modular_dripstation/includes.dm @@ -1,3 +1,4 @@ +#include "code\datums\status_effects\debuffs\speech_debuffs.dm" #include "code\modules\antagonists\_common\antag_spawner.dm" #include "code\game\gamemodes\nuclear\nuclear.dm" #include "code\modules\antagonists\nukeop\nukeop.dm" diff --git a/strings/rus/codewords.json b/strings/rus/codewords.json new file mode 100644 index 000000000000..c097674f8986 --- /dev/null +++ b/strings/rus/codewords.json @@ -0,0 +1,486 @@ +{ + "abstract": [ + "ЧЕЛОВЕЧЕСТВО", + "ИСКУССТВО", + "СЧАСТЬЕ", + "НИЩЕТА", + "ЮМОР", + "КОМЕДИЯ", + "КОММУНИЗМ", + "ОТВАГА", + "ЧЕСТЬ", + "ВООБРАЖЕНИЕ", + "УГНЕТЕНИЕ", + "ЧУДО", + "ВЕСЕЛЬЕ", + "ГРУСТЬ", + "ДОБРО", + "УВЛЕЧЕНИЕ", + "ЖИЗНЬ", + "ГРАВИТАЦИЯ", + "ФИЗИКА", + "ИНТЕЛЛЕКТ", + "СВОБОДА", + "СВЕЖЕСТЬ", + "РЕВОЛЮЦИЯ", + "ДОБРОТА", + "ЖЕСТОКОСТЬ", + "СМЕРТЬ", + "ЛОЖЬ", + "ПРОГРЕСС", + "МАРКСИЗМ", + "КАПИТАЛИЗМ", + "АНАРХИЯ", + "ГОЛОД", + "ГОЛОД", + "БОГАТСВО", + "ТЕХНОЛОГИЯ", + "БУДУЩЕЕ", + "НАСТОЯЩЕЕ", + "ПРОШЛОЕ", + "ВРЕМЯ", + "РЕАЛЬНОСТЬ", + "СУЩЕСВТОВАНИЕ", + "ТЕМПЕРАТУРА", + "ЛОГИКА", + "ХАОС", + "ТАЙНА", + "КОНФУЗ", + "БОЛЬ", + "СТРАДАНИЕ", + "ДЕПРЕССИЯ", + "АХУЕВАНИЕ" + ], + "adjectives": [ + "МЯГКИЙ", + "ТЕПЛЫЙ", + "МОКРЫЙ", + "ХОЛОДНЫЙ", + "СНЕЖНЫЙ", + "ЕРПШНЫЙ", + "ПОШЛЫЙ", + "СЕКСУАЛЬНЫЙ", + "МЕРЗКИЙ", + "РОБАСТНЫЙ", + "КУБАНСКИЙ", + "ЖЕСТКИЙ", + "ГОРЯЩИЙ", + "ЗАМОРОЖЕННЫЙ", + "ЯДОВИТЫЙ", + "ВЗРЫВНОЙ", + "БЫСТРЫЙ", + "МЕДЛЕННЫЙ", + "ТОЛСТЫЙ", + "СВЕТЛЫЙ", + "ТЕМНЫЙ", + "СМЕРТЕЛЬНЫЙ", + "ВЕСЕЛЫЙ", + "ГРУСТНЫЙ", + "ГЛУПЫЙ", + "ИНТЕЛЛЕГЕНТНЫЙ", + "НЕЛЕПЫЙ", + "ОГРОМНЫЙ", + "МЕЛКИЙ", + "ДЕПРЕССИВНЫЙ", + "НЕПРИВЛЕКАТЕЛЬНЫЙ", + "ЗЛОЙ", + "ХОРОШИЙ", + "ВРЕДНЫЙ", + "ЗДОРОВЫЙ", + "НАСИЛЬНЫЙ", + "МИРНЫЙ", + "ДЕРЕВЯННЫЙ", + "МЕТАЛЛИЧЕСКИЙ", + "ГИПЕРАКТИВНЫЙ", + "ДРУЖЕЛЮБНЫЙ", + "СКУЧНЫЙ", + "ГОЛОДНЫЙ", + "ЦИФРОВОЙ", + "ВЫМЫШЛЕННЫЙ", + "ВЫДУМАННЫЙ", + "ГРУБЫЙ", + "ПЛАВНЫЙ", + "ГРОМКИЙ", + "ТИХИЙ", + "СУХОЙ", + "ВКУСНЫЙ", + "БОЛЬНОЙ", + "ЗАРАЖЕННЫЙ", + "ХОНКАЮЩИЙ", + "РУГАТЕЛЬНЫЙ", + "ВЕЖЛИВЫЙ", + "НЕВЕЖЛИВЫЙ", + "ОЖИРЕВШИЙ", + "ПИТАЕМЫЙ СОЛНЦЕМ", + "ВОНЯЮЩИЙ", + "СВЕЖИЙ", + "ПОЛИТИЧНЫЙ", + "СКРУЧЕННЫЙ", + "НЕВИДИМЫЙ", + "БОЛЬНОЙ", + "ГОМОСЕКСУАЛЬНЫЙ", + "ГЕТЕРОСЕКСУАЛЬНЫЙ", + "БЛЯДСКИЙ", + "КРОВАВЫЙ", + "ЦВЕТНОЙ", + "БЕСЦВЕТНЫЙ", + "НЕСТАБИЛЬНЫЙ", + "ЯДЕРНЫЙ", + "ТЕРМОЯДЕРНЫЙ", + "РАДИОАКТИВНЫЙ", + "СИНДИКАТСКИЙ", + "КОСМИЧЕСКИЙ", + "ОФИЦИАЛЬНЫЙ", + "ВАЖНЫЙ", + "РАСШИРЯЮЩИЙСЯ", + "МИКРОСКОПИЧЕСКИЙ", + "ПОТРЯСАЮЩИЙ", + "МЕМЕТИЧНЫЙ", + "НЕНУЖНЫЙ", + "ЛАТУННЫЙ", + "НЕПРИЛИНЫЙ", + "ПУСТОЙ", + "ВОДЯНОЙ", + "ЭЛЕКТРИЧЕСКИЙ", + "ПОДЛЫЙ", + "НЕДРУЖЕЛЮБНЫЙ", + "НЕЛЕГАЛЬНЫЙ", + "КОНТРАБАНДНЫЙ", + "РОБОТОТЕХНИЧЕСКИЙ", + "МЕХАНИЧЕСКИЙ", + "ОРГАНИЧЕСКИЙ", + "ЭФИРНЫЙ", + "СВЕТЯЩИЙСЯ", + "ТРЯСУЩИЙСЯ", + "ПЕРДЯЩИЙ", + "СРУЩИЙ", + "ПРЫГАЮЩИЙ", + "СОВЕРШЕННЫЙ", + "ПРЯЧУЩИЙСЯ", + "НЕИЗВЕСТНЫЙ", + "СТРАННЫЙ", + "ГОЛЫЙ", + "РЕДАКТИРОВАННЫЙ", + "ТАКТИЧЕСКИЙ", + "ТАКТИКУЛЬНЫЙ", + "КРАСНЫЙ", + "ОРАНЖЕВЫЙ", + "ЖЕЛТЫЙ", + "ЗЕЛЕНЫЙ", + "СИНИЙ", + "ФИОЛЕТОВЫЙ", + "ЧЕРНЫЙ", + "БЕЛЫЙ", + "КОРИЧНЕВЫЙ", + "СЕРЫЙ", + "НЕСОВЕРШЕННЫЙ", + "БЕЗУМНЫЙ" + ], + "crew": [ + "ЭКИПАЖ", + "КАПИТАН", + "ГЛАВА ПЕРСОНАЛА", + "ГЛАВА СЛУЖБЫ БЕЗОПАСНОСТИ", + "ОФИЦЕР", + "ВАРДЕН", + "ДЕТЕКТИВ", + "ЮРИСТ", + "СЕ", + "ИНЖЕНЕР", + "АТМОСТЕХ", + "УБОРЩИК", + "КВАРТЕРМЕЙСТЕР", + "КАРГОТЕХ", + "ШАХТЕР", + "БОТАНИК", + "РД", + "СМО", + "ВРАЧ", + "ПАРАМЕД", + "ХИМИК", + "ГЕНЕТИК", + "ВИРУСОЛОГ", + "РОБОТОТЕХ", + "УЧЕНЫЙ", + "АССИСТЕНТ", + "БАРМЕН", + "ШЭФ", + "КЛОУН", + "МИМ", + "СВЯЩЕННИК", + "БИБЛИОТЕКАРЬ", + "ГЛАВЫ", + "КИБОРГ", + "ИСКУСТВЕННЫЙ ИНТЕЛЛЕКТ", + "ДРОН" + ], + "drinks": [ + "ВОДКА", + "ВИНО", + "МОЛОКО", + "СОК", + "ЧЕРНЫЙ РУССКИЙ", + "ЛОНГ АЙЛЕНД", + "МАРГАРИТА", + "ИРЛАНДСКИЙ КОФЕ", + "ИРЛАНДСКИЙ КРЕМ", + "КРОВАВАЯ МЭРИ", + "НЮКА КОЛА", + "БЕЛЫЙ РУССКИЙ", + "КУБА ЛИБРЭ", + "СВЯТАЯ ВОДА", + "МЬЕД", + "АБСЕНТ", + "ТОПЛИВО", + "МОРФИН", + "ПЛАЗМА", + "СМАЗКА" + ], + "numbers": [ + "ОДИН", + "ДВА", + "ТРИ", + "ЧЕТЫРЕ", + "ПЯТЬ", + "ШЕСТЬ", + "СЕМЬ", + "ВОСЕМЬ", + "ДЕВЯТЬ", + "ДЕСЯТЬ", + "ДВАДЦАТЬ", + "ТРИДЦАТЬ", + "СОРОК", + "ПЯТЬДЕСЯТЬ", + "ШЕСТЬДЕСЯТ", + "СЕМЬДЕСЯТ", + "ВОСЕМЬДЕСЯТ", + "ДЕВЯНОСТО", + "СТО", + "АЛЬФА", + "БРАВО", + "ЧАРЛИ", + "ДЕЛЬТА", + "ЭХО", + "ФОКСТРОТ", + "ГОЛЬФ", + "ОТЕЛЬ", + "ИНДИЯ", + "ДЖУЛЬЕТ", + "КИЛО", + "ЛИМА", + "МАЙК", + "НОВЕМБЕР", + "ОСКАР", + "ПАПА", + "КВЕБЕК", + "РОМЕО", + "СЬЕРРА", + "ТАНГО", + "УНИФОРМА", + "ВИКТОР", + "ВИСКИ", + "ИКСРЕЙ", + "ЯНКИ", + "ЗУЛУ" + ], + "objects": [ + "ДВЕРЬ", + "АВТОЛАТ", + "КОЖУРКА", + "РЮКЗАК", + "БИКЕР", + "ПОЯС", + "БЕРЕТ", + "БИБЛИЯ", + "БРОНЯ", + "КНИГА", + "БЕРЦЫ", + "БОМБА", + "БУТЫЛКА", + "КОРОБКА", + "МОЗГИ", + "ВЕДРО", + "СВЕЧА", + "КАНИСТРА", + "КАМЕРА", + "ЗВЕЗДА", + "КОШКА", + "КОШАЧЬИ УШКИ", + "ЯЧЕЙКА", + "СТУЛ", + "ШКАФ", + "ХИМИКАТЫ", + "КЛОНИЛКА", + "ОДЕЖДА", + "ГРОБ", + "МОНЕТА", + "КОМПЬЮТЕР", + "КОНТРАБАНДА", + "КОРГИ", + "КОСТЮМ", + "ЯЩИК", + "МОНТИРОВКА", + "ПЕРЧАТКИ", + "ДЕФИБ", + "ДРОН", + "УШИ", + "ЛАЗЕР", + "МУЛЬТИТУЛ", + "ДВИГАТЕЛЬ", + "ОШИБКА", + "ЭКЗОСКЕЛЕТ", + "ЭКСПЕРИМЕНТ", + "ВЗРЫВ", + "ФЕДОРА", + "ТОПОР", + "ОГНЕТУШИТЕЛЬ", + "ОГНЕМЕТ", + "ФЛЭШЕР", + "ФОНАРЬ", + "ХОЛОДИЛЬНИК", + "ПРОТИВОГАЗ", + "СТЕКЛО", + "СТВОЛ", + "СТЯЖКИ", + "ШЛЯПА", + "НАУШНИК", + "ШЛЕМ", + "КАРТА", + "ИЗОЛИ", + "ФОРМА", + "МАШИНА", + "МЕХ", + "АПТЕЧКА", + "ИНСТРУМЕНТ", + "МЕЗОНЫ", + "МЕТАЛЛ", + "ШАХТЕРСКИЕ ИНСТРУМЕНТЫ", + "РУДА", + "ПДА", + "ТРУСЫ", + "БУМАГА", + "РУЧКА", + "ТРУБА", + "РАСТЕНИЕ", + "РАДИО", + "УКРЕПЛЕННАЯ СТЕНА", + "ОТВЕРТКА", + "БОТИНКИ", + "СИНГУЛЯРНОСТЬ", + "СОЛЯРЫ", + "СОЛНЕЧНЫЕ ПАНЕЛИ", + "ЕВА", + "КОСМИЧЕСКАЯ СТАНЦИЯ", + "БАТОН", + "КОСТЮМ", + "ОЧКИ", + "МЕЧ", + "СТОЛ", + "ТЕЛЕПОРТ", + "КОММУНИКАЦИИ", + "ПОЯС ИНСТРУМЕНТОВ", + "ТУЛБОКС", + "ТОЛЧОК", + "ИГРУШКА", + "ВЕНДОР", + "РАЗГРУЗКА", + "СТЕНА", + "СВАРКА", + "ПЛОСКОГУБЦЫ", + "КЛЮЧ" + ], + "threats": [ + "ЛЮДИ", + "КОШКОДЕВОЧКИ", + "ОБЕЗЬЯНА", + "РОБОТ", + "УНАТХ", + "ПЛАЗМЕННИК", + "СЛИЗНЯК", + "ГОЛЕМ", + "ТЕНЬ", + "ГЕНОКРАД", + "ПРИШЕЛЬЦЫ", + "АБДУКТОР", + "АНОМАЛИЯ", + "БАНДИТ", + "МЕДВЕДЬ", + "ПЧЕЛА", + "КАРПЫ", + "ОФИЦЕР ЦК", + "БЫСТРОГО РЕАГИРОВАНИЯ", + "КРАБ", + "КУЛЬТИСТ", + "ЯЩЕРИЦА", + "КСЕНОС", + "ФЕТИШ", + "МЕМ", + "МАГ", + "БЛУНДИР", + "ВОЛШЕБНИК", + "ПРЕДАТЕЛЬ", + "ОПЕРАТИВНИК", + "ПИРАТ", + "АГЕНТ", + "ВИРУС", + "УБИЙЦА", + "МАЛФ", + "ПАУК", + "ЖОПА", + "НИНДЗЯ", + "РЕВЕНАНТ", + "ЗОМБИ", + "ВАМПИР", + "КОВБОЙ", + "КОММУНИСТ", + "СОВЕТ", + "УМНИК", + "ГРИФОН", + "ДИНОЗАВР", + "ТЕМНЫЕ БОГИ", + "НОЧНОЙ КОШМАР", + "НЕЛЕГАЛ", + "НАРКОТИК", + "МЕКСИКАНЕЦ", + "РУССКИЙ", + "ХАЛК", + "СЛАЙМ", + "СКЕЛЕТ", + "КАПИТАЛИСТ", + "СИНГУЛЯРНОСТЬ", + "БОГ", + "ВОР", + "ГОВНАРЬ", + "ТЕРРОРИСТ", + "НЕИЗВЕТНЫЕ СУЩЕСТВА", + "ХИЩНИК", + "ЗМЕЯ", + "БОРЕР", + "МЕГАФАУНА" + ], + "verb": [ + "БЬЕТ", + "СТРОИТ", + "НЕСЕТ", + "РАЗБИРАЕТ", + "ЦЕЛУЕТ", + "ЕСТ", + "ПЬЕТ", + "ТОЛКАЕТ", + "ВРЕДИТ", + "ПОМОГАЕТ", + "СМОТРИТ", + "ПРЕСЛЕДУЕТ", + "УБИВАЕТ", + "КОСМИРУЕТ", + "УНИЧТОЖАЕТ", + "ХОНКАЕТ", + "ЛЮБИТ", + "ДОПРАШИВАЕТ", + "ШПИОНИТ", + "ЛИЖЕТ", + "ПОХИЩАЕТ", + "АРЕСТОВЫВАЕТ", + "ПРОНИКАЕТ" + ] +} diff --git a/strings/rus/slurring_cult_text.json b/strings/rus/slurring_cult_text.json new file mode 100644 index 000000000000..b6add76623c0 --- /dev/null +++ b/strings/rus/slurring_cult_text.json @@ -0,0 +1,37 @@ +{ + "replacements": { + "characters": { + "common": { + "o": "u", + "t": "ch", + "a": "ah", + "u": "oo", + "c": " NAR ", + "s": " SIE ", + "о": "у", + "т": "тц", + "а": "ах", + "у": "оо", + "н": " НАР ", + "с": " СИ " + }, + "uncommon": { + " ": " нет надежды... ", + "Р": " ОНО ТУТ... ", + "H": " IT COMES... " + } + }, + "string_replacements": [ + "'", + "фтх", + "нгх", + "глх", + "fth", + "nglu", + "glor" + ], + "string_additions": [ + "агх" + ] + } +} diff --git a/strings/rus/slurring_drunk_text.json b/strings/rus/slurring_drunk_text.json new file mode 100644 index 000000000000..e02e112b28ad --- /dev/null +++ b/strings/rus/slurring_drunk_text.json @@ -0,0 +1,27 @@ +{ + "replacements": { + "characters": { + "common": { + "o": "u", + "s": "ch", + "a": "ah", + "u": "oo", + "c": "k", + "о": "у", + "с": "сш", + "а": "ах", + "у": "оо", + "л": "к", + "ж": "ш", + "м": "п" + }, + "uncommon": { + " ": "...хууух...", + ".": " *BURP*." + } + }, + "string_additions": [ + "'" + ] + } +} diff --git a/strings/rus/slurring_heretic_text.json b/strings/rus/slurring_heretic_text.json new file mode 100644 index 000000000000..5fbe27ca2003 --- /dev/null +++ b/strings/rus/slurring_heretic_text.json @@ -0,0 +1,44 @@ +{ + "replacements": { + "characters": { + "common": { + "o": "u", + "t": "ch", + "a": "ah", + "c": "th", + "i": "ks", + "m": "nth", + "о": "у", + "т": "чш", + "а": "ах", + "е": "й", + "и": "кс", + "м": "нх" + }, + "uncommon": { + "H": " THE HANDS... ", + "h": " BRIGHT ", + "s": " LEAK ", + "r": " CRACK ", + " ": " бесконечность... ", + "Р": " РУКИ... ", + "с": " СВЕТ ", + "ш": " ТЕК ", + "р": " КРАК " + } + }, + "string_replacements": [ + "'", + "бр", + "эт", + "видь", + "th", + "see", + "etch" + ], + "string_additions": [ + "ах", + "чт" + ] + } +} diff --git a/yogstation.dme b/yogstation.dme index aa62ab5cb810..2a73321698f4 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -244,6 +244,7 @@ #include "code\__DEFINES\{yogs_defines}\telecomms.dm" #include "code\__DEFINES\{yogs_defines}\traits.dm" #include "code\__DEFINES\{yogs_defines}\wires.dm" +#include "code\__DEFINES\{dripstation_defines}\codewords.dm" #include "code\__HELPERS\_extools_api.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_planes.dm"