forked from tgstation/tgstation
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #69 from Striders13/hallucinations
Перевод сообщений-галлюцинаций на русский
- Loading branch information
Showing
6 changed files
with
334 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
/datum/hallucination/chat/start() | ||
var/mob/living/carbon/human/speaker | ||
var/datum/language/understood_language = hallucinator.get_random_understood_language() | ||
for(var/mob/living/carbon/nearby_human in view(hallucinator)) | ||
if(nearby_human == hallucinator) | ||
continue | ||
|
||
if(!speaker) | ||
speaker = nearby_human | ||
else if(get_dist(hallucinator, nearby_human) < get_dist(hallucinator, speaker)) | ||
speaker = nearby_human | ||
|
||
// Get person to affect if radio hallucination | ||
var/is_radio = !speaker || force_radio | ||
if(is_radio) | ||
var/list/humans = list() | ||
|
||
for(var/datum/mind/crew_mind in get_crewmember_minds()) | ||
if(crew_mind.current) | ||
humans += crew_mind.current | ||
if(humans.len) | ||
speaker = pick(humans) | ||
|
||
if(!speaker) | ||
return | ||
|
||
// Time to generate a message. | ||
// Spans of our message | ||
var/spans = list(speaker.speech_span) | ||
|
||
// Contents of our message | ||
var/chosen = specific_message | ||
// If we didn't have a preset one, let's make one up. | ||
if(!chosen) | ||
if(is_radio) | ||
chosen = pick(list("Помогите!", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "people")] [pick_list_replacements(HALLUCINATION_FILE, "accusations")]!", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "threat")] в [pick_list_replacements(HALLUCINATION_FILE, "location")][prob(50)?"!":"!!"]", | ||
"[pick("Где [hallucinator.first_name()]?", "Поставьте [hallucinator.first_name()] на арест!")]", | ||
"[pick("Выз","ИИ, з","Отз")]овите шаттл!", | ||
"ИИ [pick("малф", "мертв")]!!", | ||
"Борги плохие!", | ||
)) | ||
else | ||
chosen = pick(list("[pick_list_replacements(HALLUCINATION_FILE, "suspicion")]", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "conversation")]", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "greetings")][hallucinator.first_name()]!", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "getout")]", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "weird")]", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "didyouhearthat")]", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "doubt")]", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "aggressive")]", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "help")]!!", | ||
"[pick_list_replacements(HALLUCINATION_FILE, "escape")]", | ||
"У меня болезнь, [pick_list_replacements(HALLUCINATION_FILE, "infection_advice")]!", | ||
)) | ||
|
||
chosen = capitalize(chosen) | ||
|
||
chosen = replacetext(chosen, "%TARGETNAME%", hallucinator.first_name()) | ||
|
||
// Log the message | ||
feedback_details += "Type: [is_radio ? "Radio" : "Talk"], Source: [speaker.real_name], Message: [chosen]" | ||
|
||
var/plus_runechat = hallucinator.client?.prefs.read_preference(/datum/preference/toggle/enable_runechat) | ||
|
||
// Display the message | ||
if(!is_radio && !plus_runechat) | ||
var/image/speech_overlay = image('icons/mob/effects/talk.dmi', speaker, "default0", layer = ABOVE_MOB_LAYER) | ||
INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay_global), speech_overlay, list(hallucinator.client), 30) | ||
|
||
if(plus_runechat) | ||
hallucinator.create_chat_message(speaker, understood_language, chosen, spans) | ||
|
||
// And actually show them the message, for real. | ||
var/message = hallucinator.compose_message(speaker, understood_language, chosen, is_radio ? "[FREQ_COMMON]" : null, spans, visible_name = TRUE) | ||
to_chat(hallucinator, message) | ||
|
||
// Then clean up. | ||
qdel(src) | ||
return TRUE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,250 @@ | ||
{ | ||
"suspicion": [ | ||
"@pick(add_name)я слежу за тобой...", | ||
"@pick(add_name)я знаю что ты задумал", | ||
"@pick(add_name)что ты прячешь?", | ||
"Я все про тебя знаю" | ||
], | ||
|
||
"conversation": [ | ||
"Но...", | ||
"Хмм", | ||
"Подожди", | ||
"Не думаю", | ||
"Не", | ||
"Нет", | ||
"Ээ...", | ||
"Странно", | ||
"Почему?", | ||
"Да, знаю", | ||
"Ок", | ||
"Да", | ||
"Ага" | ||
], | ||
|
||
"greetings": [ | ||
"", | ||
"Привет ", | ||
"Эй, ", | ||
"Здарова ", | ||
"Это ", | ||
"Подожди, " | ||
], | ||
|
||
"getout": [ | ||
"@pick(add_name)нахуй вышел", | ||
"@pick(add_name)вали!", | ||
"@pick(add_name)проваливай", | ||
"@pick(add_name)потеряйся", | ||
"@pick(add_name)вон!", | ||
"НА ВЫХОД!" | ||
], | ||
|
||
"weird": [ | ||
"#@§*&£", | ||
"УУУуууууУУУУ", | ||
"Х-хххх...", | ||
"П**ги м*", | ||
"Чкчк-Чкчк? Чкчкчкчк!", | ||
"Чкчкчкчк...", | ||
"Шшшшшшш" | ||
], | ||
|
||
"didyouhearthat": [ | ||
"Что за звук?", | ||
"Все это видели?", | ||
"Что за черт?" | ||
], | ||
|
||
"add_name": [ | ||
"", | ||
"%TARGETNAME% ", | ||
"%TARGETNAME%, " | ||
], | ||
|
||
"doubt": [ | ||
"@pick(add_name)погоди", | ||
"@pick(add_name)постой", | ||
"Ээ...", | ||
"Стоп, что?", | ||
"Чего?", | ||
"Почему?" | ||
], | ||
|
||
"aggressive": [ | ||
"@pick(add_name)пошел нахуй!", | ||
"@pick(add_name)дай сюда!", | ||
"@pick(add_name)я тебя прикончу!", | ||
"@pick(add_name)стоять!" | ||
], | ||
|
||
"help": [ | ||
"ПОМОГИ ЕЙ", | ||
"ПОМОГИ ЕМУ", | ||
"ПОМОГИТЕ ТЕХА", | ||
"ПОМОГИ МНЕ", | ||
"ПОМОГИ ИМ", | ||
"ПОМОГИ НАМ", | ||
"ПОМОГИ СЕБЕ", | ||
"ПОМОГИ", | ||
"ПОМОГИТЕ", | ||
"НА ПОМОЩЬ", | ||
"Помоги", | ||
"Помогите" | ||
], | ||
|
||
"escape": [ | ||
"@pick(add_name)за мной!", | ||
"@pick(add_name)иди сюда", | ||
"@pick(add_name)БЕГИ!!", | ||
"ОНО ЗДЕСЬ!", | ||
"ОНИ ИДУТ ЗА МНОЙ!" | ||
], | ||
|
||
"infection_advice": [ | ||
"@pick(add_name)осторожней", | ||
"@pick(add_name)не подходи", | ||
"@pick(add_name)помоги мне", | ||
"@pick(add_name)убей меня", | ||
"@pick(add_name)оставайся подальше" | ||
], | ||
|
||
"people": [ | ||
"%TARGETNAME%", | ||
"ИИ", | ||
"Борг", | ||
"Капитан", | ||
"ГСБ", | ||
"Генетик", | ||
"ГП", | ||
"Уборщик", | ||
"ГК", | ||
"Роботех", | ||
"Вирусолог" | ||
], | ||
|
||
"accusations": [ | ||
"генокрад", | ||
"культист", | ||
"еретик", | ||
"линг", | ||
"рев", | ||
"глава", | ||
"тритор", | ||
"предатель", | ||
"волшебник", | ||
"плохой", | ||
"культ", | ||
"мертвый", | ||
"майндсвапнутый" | ||
], | ||
|
||
"threat": [ | ||
"%TARGETNAME%", | ||
"Блоб", | ||
"Синий АПЦ", | ||
"Генокрад", | ||
"Культ", | ||
"Хуярят", | ||
"Помоги", | ||
"Еретики", | ||
"Еретик", | ||
"Слышу флешки", | ||
"Линг", | ||
"Опы", | ||
"Ревенант", | ||
"Пауки", | ||
"Предатель", | ||
"Волшебник", | ||
"Ксеносы" | ||
], | ||
|
||
"location": [ | ||
"теха @pick(sublocation)", | ||
"атмос", | ||
"гидропоника", | ||
"офис кэпа", | ||
"карго", | ||
"инженерка", | ||
"офис гп", | ||
"теха", | ||
"медбей", | ||
"морг", | ||
"рнд", | ||
"бриг", | ||
"космос около @pick(sublocation)", | ||
"спутник ии", | ||
"оружейка", | ||
"мостик", | ||
"церковь", | ||
"кухня", | ||
"библиотека", | ||
"вирусология", | ||
"ксенобио" | ||
], | ||
|
||
"sublocation": [ | ||
"атмоса", | ||
"гидропоники", | ||
"офиса кэпа", | ||
"карго", | ||
"инженерки", | ||
"офиса гп", | ||
"медбея", | ||
"морга", | ||
"рнд", | ||
"бриг", | ||
"спутника ии", | ||
"оружейки", | ||
"мостика", | ||
"церкви", | ||
"кухни", | ||
"библиотеки", | ||
"вирусологии", | ||
"ксенобио" | ||
], | ||
|
||
"advice": [ | ||
"Удачи. Понадобится.", | ||
"Хмм... я так не думаю.", | ||
"Просто сделай это.", | ||
"Убей его. Сам знаешь кого.", | ||
"Нет. Прекрати.", | ||
"Тот парень хочет убить тебя.", | ||
"Доверься этому человеку.", | ||
"Отлично. Ты все делаешь правильно.", | ||
"Даю тебе разрешение. Сделай это.", | ||
"Не верь им.", | ||
"Нужно уходить. Быстрее." | ||
], | ||
|
||
"chemicals": [ | ||
"?????", | ||
"Air", | ||
"Awesome", | ||
"Blood", | ||
"Button", | ||
"Death", | ||
"Despair", | ||
"Earth", | ||
"Electronics", | ||
"Energy", | ||
"Fire", | ||
"Guts", | ||
"Happiness", | ||
"Infinity", | ||
"Life", | ||
"Lightning", | ||
"Magic", | ||
"Mana", | ||
"Ooze", | ||
"Pain", | ||
"Phlebotinium", | ||
"Something", | ||
"Space", | ||
"Spiders", | ||
"Surprise", | ||
"Time" | ||
] | ||
|
||
} |