Skip to content

Commit

Permalink
Merge pull request #69 from Striders13/hallucinations
Browse files Browse the repository at this point in the history
Перевод сообщений-галлюцинаций на русский
  • Loading branch information
Huz2e authored Jan 19, 2024
2 parents 2bcf84a + f3d7d7f commit 00140e5
Show file tree
Hide file tree
Showing 6 changed files with 334 additions and 12 deletions.
4 changes: 2 additions & 2 deletions code/__DEFINES/text.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@

// JSON text files found in the tgstation/strings folder
/// File location for brain damage traumas
#define BRAIN_DAMAGE_FILE "traumas.json"
#define BRAIN_DAMAGE_FILE "massmeta/traumas.json" //MASSMETA EDIT
/// File location for AI ion laws
#define ION_FILE "ion_laws.json"
/// File location for pirate names
Expand Down Expand Up @@ -95,7 +95,7 @@
/// File location for eigenstasium lines
#define EIGENSTASIUM_FILE "eigenstasium.json"
/// File location for hallucination lines
#define HALLUCINATION_FILE "hallucination.json"
#define HALLUCINATION_FILE "massmeta/hallucination.json" //MASSMETA EDIT
/// File location for ninja lines
#define NINJA_FILE "ninja.json"
/// File loation for title splashes
Expand Down
2 changes: 0 additions & 2 deletions massmeta/code/__DEFINES/text.dm

This file was deleted.

6 changes: 0 additions & 6 deletions massmeta/code/datums/brain_damage/mild.dm

This file was deleted.

81 changes: 81 additions & 0 deletions massmeta/code/modules/hallucination/fake_chat.dm
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
3 changes: 1 addition & 2 deletions massmeta/includes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,6 @@
#include "code\modules\jobs\job_types\head_of_personnel.dm"
#include "game\objects\items\storage\garment.dm"
#include "code\modules\hooch.dm"
#include "code\__DEFINES\text.dm"
#include "code\datums\brain_damage\mild.dm"
#include "code\datums\quirks\positive_quirks\augmented.dm"
#include "code\game\machinery\computer\orders\order_items\mining\order_mining.dm"
#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm"
Expand All @@ -70,6 +68,7 @@
#include "code\modules\projectiles\ammunition\ballistic\rifle.dm"
#include "code\modules\projectiles\projectile\bullets\rifle.dm"
#include "code\modules\map_vote.dm"
#include "code\modules\hallucination\fake_chat.dm"
//features
#include "features\additional_circuit\includes.dm"
#include "features\hardsuits\code\_jetpack.dm"
Expand Down
250 changes: 250 additions & 0 deletions strings/massmeta/hallucination.json
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"
]

}

0 comments on commit 00140e5

Please sign in to comment.