From ecb62adf0d07ca16e988568c802278c3db05bcaf Mon Sep 17 00:00:00 2001 From: larentoun <31931237+larentoun@users.noreply.github.com> Date: Thu, 19 Oct 2023 19:19:16 +0300 Subject: [PATCH] [OPTIONAL, TGUI] Emote panel (#453) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Реорганизация в переводе эмоций (а то все смешалось в два разных файла) * Опциональное TGUI для эмоций в IC * Возможность поиска и как по ключу (в *help), так и по действу-переводу. Мне легче либо в ми написать эмоцию, но если она со звуком, я точно не вспомню где она находится в меню эмоций, а тут можно пофильтровать
Изображения ![Screenshot_11](https://github.com/ss220club/Paradise-SS220/assets/31931237/b3956a42-d7d7-4c60-87a6-53e1d5b91b08) ![Screenshot_12](https://github.com/ss220club/Paradise-SS220/assets/31931237/03f8101b-b7ba-49a1-822c-8e840bd5ba21) ![Screenshot_13](https://github.com/ss220club/Paradise-SS220/assets/31931237/91b897bf-9cba-40a9-a7c8-32f8b349ff2f) ![Screenshot_14](https://github.com/ss220club/Paradise-SS220/assets/31931237/5f4b1590-16f1-49a0-860f-1fbe754a90e8) ![Screenshot_15](https://github.com/ss220club/Paradise-SS220/assets/31931237/d16315bc-d3d6-4eac-813d-93674e1614c0)
Потыкал кнопки в ТГУИ :cl: wip: Опциональное меню эмоций на ТГУИ, доступное через IC. code: Немного реорганизации перевода эмоций /:cl: --- .../emotes/code/emote_translations.dm | 307 ++++++++---------- 1 file changed, 136 insertions(+), 171 deletions(-) diff --git a/modular_ss220/emotes/code/emote_translations.dm b/modular_ss220/emotes/code/emote_translations.dm index 0a76c6d32e53..8d3033658ce4 100644 --- a/modular_ss220/emotes/code/emote_translations.dm +++ b/modular_ss220/emotes/code/emote_translations.dm @@ -1,3 +1,15 @@ +////////////////////// +/// Living Emotes /// +//////////////////// + +/datum/emote/living/scream + message = "кричит!" + message_mime = "как будто кричит!" + message_simple = "скулит." + message_alien = "рычит!" + message_postfix = "на %t!" + emote_type = EMOTE_VISIBLE | EMOTE_MOUTH + /datum/emote/flip message = "делает кувырок!" @@ -17,23 +29,15 @@ message_mime = "довольно противно открывает рот." /datum/emote/living/choke - message = "задыхается!" + message = "подавился!" message_mime = "отчаянно хватается за горло!" + emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH /datum/emote/living/collapse message = "падает!" /datum/emote/living/dance message = "радостно танцует." - var/dance_time = 3 SECONDS - -/datum/emote/living/dance/run_emote(mob/living/user, params, type_override, intentional) - . = ..() - user.spin(dance_time, pick(0.1 SECONDS, 0.2 SECONDS)) - user.do_jitter_animation(rand(8 SECONDS, 16 SECONDS), dance_time / 4) - -/datum/emote/living/jump - message = "прыгает!" /datum/emote/living/deathgasp message = "цепенеет и расслабляется, взгляд становится пустым и безжизненным..." @@ -87,12 +91,6 @@ /datum/emote/living/pout message = "надувает губы." -/datum/emote/living/scream - message = "кричит!" - message_mime = "как будто кричит!" - message_simple = "скулит." - message_alien = "рычит!" - /datum/emote/living/shake message = "трясет головой." @@ -102,14 +100,7 @@ /datum/emote/living/sigh message = "вздыхает." message_mime = "беззвучно вздыхает." - emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH | EMOTE_SOUND - -/datum/emote/living/sigh/get_sound(mob/living/user) - . = ..() - if(user.gender == FEMALE) - return "modular_ss220/emotes/audio/sigh_female.ogg" - else - return "modular_ss220/emotes/audio/sigh_male.ogg" + emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH /datum/emote/living/sigh/happy message = "Удовлетворённо вздыхает." @@ -129,12 +120,16 @@ /datum/emote/living/sniff message = "нюхает." + message_mime = "бесшумно нюхнул." + emote_type = EMOTE_AUDIBLE /datum/emote/living/snore message = "храпит." message_mime = "крепко спит." message_simple = "ворочается во сне." message_robot = "мечтает об электроовцах" + stat_allowed = CONSCIOUS + max_stat_allowed = CONSCIOUS /datum/emote/living/nightmare message = "ворочается во сне." @@ -168,7 +163,7 @@ message = "дрожит от страха!" /datum/emote/living/twitch - message = "сильно дергается." + message = "сильно дёргается." /datum/emote/living/twitch_s message = "дергается." @@ -181,6 +176,10 @@ /datum/emote/living/wsmile message = "слабо улыбается." +////////////////////// +/// Carbon Emotes /// +//////////////////// + /datum/emote/living/carbon/blink message = "моргает." @@ -188,28 +187,22 @@ key = "blink_r" message = "быстро моргает." -/datum/emote/living/carbon/clap - message = "хлопает." - message_mime = "бесшумно хлопает." - message_param = "хлопает %t." - -/datum/emote/living/carbon/cross - message = "скрещивает руки." - /datum/emote/living/carbon/chuckle message = "усмехается." message_mime = "бесшумно усмехается." - emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH muzzled_noises = list("радостно", "оптимистично") + emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH | EMOTE_VISIBLE /datum/emote/living/carbon/cough message = "кашляет!" message_mime = "бесшумно кашляет!" + emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE /datum/emote/living/carbon/moan message = "стонет!" message_mime = "как будто стонет!" muzzled_noises = list("болезненно") + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE /datum/emote/living/carbon/giggle message = "хихикает." @@ -241,20 +234,6 @@ muzzled_noises = list("устало", "медленно", "сонно") emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH | EMOTE_SOUND -/datum/emote/living/carbon/yawn/get_sound(mob/living/user) - . = ..() - if(user.gender == FEMALE) - return pick( - "modular_ss220/emotes/audio/yawn_female_1.ogg", - "modular_ss220/emotes/audio/yawn_female_2.ogg", - "modular_ss220/emotes/audio/yawn_female_3.ogg", - ) - else - return pick( - "modular_ss220/emotes/audio/yawn_male_1.ogg", - "modular_ss220/emotes/audio/yawn_male_2.ogg", - ) - /datum/emote/living/carbon/exhale message = "выдыхает." @@ -263,22 +242,7 @@ message_mime = "бесшумно смеется!" message_param = "смеется над %t." muzzled_noises = list("счастливо", "весело") - emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH | EMOTE_SOUND - -/datum/emote/living/carbon/laugh/get_sound(mob/living/user) - . = ..() - if(user.gender == FEMALE) - return pick( - "modular_ss220/emotes/audio/laugh_female_1.ogg", - "modular_ss220/emotes/audio/laugh_female_2.ogg", - "modular_ss220/emotes/audio/laugh_female_3.ogg", - ) - else - return pick( - "modular_ss220/emotes/audio/laugh_male_1.ogg", - "modular_ss220/emotes/audio/laugh_male_2.ogg", - "modular_ss220/emotes/audio/laugh_male_3.ogg", - ) + emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH | EMOTE_VISIBLE /datum/emote/living/carbon/scowl message = "хмурится." @@ -297,79 +261,46 @@ /datum/emote/living/carbon/faint message = "падает в обморок." -/datum/emote/living/carbon/alien/humanoid/roar - message = "ревет!" - message_param = "ревет на %t!" - -/datum/emote/living/carbon/alien/humanoid/hiss - message = "шипит!" - message_param = "шипит %t!" - -/datum/emote/living/carbon/alien/humanoid/gnarl - message = "оскаливается и показывает зубы." - message_param = "оскаливается и показывает зубы %t." - -/datum/emote/living/carbon/brain/alarm - message = "подает сигнал тревоги." - self_message = "Вы подаете сигнал тревоги." - -/datum/emote/living/carbon/brain/alert - message = "издаёт страдальческий звук." - self_message = "Вы издаёте страдальческий звук." - -/datum/emote/living/carbon/brain/notice - message = "воспроизводит громкий звук." - self_message = "Вы воспроизводите громкий звук." - -/datum/emote/living/carbon/brain/flash - message = "начинает быстро мигать лампочками!" - -/datum/emote/living/carbon/brain/whistle - message = "свистит." - self_message = "Вы свистите." - emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH | EMOTE_SOUND - sound = "modular_ss220/emotes/audio/whistle.ogg" - -/datum/emote/living/carbon/brain/beep - message = "бипает." - self_message = "Вы бипаете." - -/datum/emote/living/carbon/brain/boop - message = "бупает." - self_message = "вы бупаете." - +///////////////////// +/// Human Emotes /// +/////////////////// /datum/emote/living/carbon/human/airguitar message = "натягивает струны и бьет головой, как шимпанзе в сафари." -/datum/emote/living/carbon/human/crack - message = "хрустит пальцами." +/datum/emote/living/carbon/human/clap + message = "хлопает." + message_mime = "бесшумно хлопает." + message_param = "хлопает %t." + emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE /datum/emote/living/carbon/human/cry message = "плачет." muzzled_noises = list("слабо", "жалко", "грустно") - emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH | EMOTE_SOUND - -/datum/emote/living/carbon/human/cry/get_sound(mob/living/user) - . = ..() - if(user.gender == FEMALE) - return pick( - "modular_ss220/emotes/audio/cry_female_1.ogg", - "modular_ss220/emotes/audio/cry_female_2.ogg", - "modular_ss220/emotes/audio/cry_female_3.ogg", - ) - else - return pick( - "modular_ss220/emotes/audio/cry_male_1.ogg", - "modular_ss220/emotes/audio/cry_male_2.ogg", - ) - + emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH | EMOTE_VISIBLE +/datum/emote/living/carbon/human/crack + message = "хрустит пальцами." /datum/emote/living/carbon/human/eyebrow message = "приподнимает бровь." message_param = "приподнимает бровь на %t." +/datum/emote/living/carbon/human/wince + message = "морщиться." + message_param = "морщиться на %t." + +/datum/emote/living/carbon/human/squint + message = "прищуривается." + message_param = "прищуривается на %t." + +/datum/emote/living/carbon/human/facepalm + message = "хлопает себя по лбу." + +/datum/emote/living/carbon/human/palm + message = "ожидающе протягивает руку." + message_param = "ожидающе протягивает руку к %t." + /datum/emote/living/carbon/human/grumble message = "ворчит!" message_mime = "как будто ворчит!" @@ -389,16 +320,6 @@ message = "кивает." message_param = "кивает, обращаясь к %t." -/datum/emote/living/carbon/human/scream - message = "кричит!" - message_mime = "как будто кричит!" - message_postfix = "на %t!" - muzzled_noises = list("очень громко") - -/datum/emote/living/carbon/human/gasp - message = "задыхается!" - message_mime = "кажется, задыхается!" - /datum/emote/living/carbon/human/shake message = "трясет головой." message_param = "трясет головой, обращяясь к %t." @@ -412,13 +333,11 @@ /datum/emote/living/carbon/human/salute message = "салютует." message_param = "салютует %t." + emote_type = EMOTE_VISIBLE /datum/emote/living/carbon/human/shrug message = "пожимает плечами." -/datum/emote/living/carbon/human/sniff - message = "нюхает." - /datum/emote/living/carbon/human/johnny message = "затягивается сигаретой и выдыхает дым в форме своего имени." message_param = "тупо" @@ -433,22 +352,37 @@ /datum/emote/living/carbon/human/snap message = "щелкает пальцами." message_param = "щелкает пальцами на %t." + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE /datum/emote/living/carbon/human/fart message = "пердит." message_param = "пердит в направлении %t." + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE /datum/emote/living/carbon/sign/signal message_param = "показывает %t пальцев." param_desc = "число(0-10)" - /datum/emote/living/carbon/human/wag message = "начинает вилять хвостом." /datum/emote/living/carbon/human/wag/stop message = "перестает вилять хвостом." +/datum/emote/living/carbon/human/scream + message = "кричит!" + message_mime = "как будто кричит!" + message_simple = "скулит." + message_alien = "рычит!" + message_postfix = "на %t!" + muzzled_noises = list("очень громко") + emote_type = EMOTE_VISIBLE | EMOTE_MOUTH + +/datum/emote/living/carbon/human/gasp + message = "задыхается!" + message_mime = "кажется, задыхается!" + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE + /datum/emote/living/carbon/human/scream/screech message = "визжит!" message_param = "визжит на %t!" @@ -478,30 +412,28 @@ /datum/emote/living/carbon/human/quill message = "шелестят перьями." message_param = "шелестят перьями на %t." - -// SS220 TRANSLATION TODO: wtf is it -/datum/emote/living/carbon/human/warble - message = "warbles." - message_param = "warbles at %t." + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE /datum/emote/living/carbon/human/clack message = "клацает своими мандибулами." message_param = "клацает своими мандибулами на %t." + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_MOUTH /datum/emote/living/carbon/human/clack/click key = "click" key_third_person = "clicks" message = "щелкает своими мандибулами." message_param = "щелкает своими мандибулами на %t." + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_MOUTH /datum/emote/living/carbon/human/drask_talk/drone message = "жужжит." message_param = "жужжит на %t." - /datum/emote/living/carbon/human/drask_talk/hum message = "напевает." message_param = "напевает %t." + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_MOUTH /datum/emote/living/carbon/human/drask_talk/rumble message = "урчит." @@ -511,21 +443,25 @@ message = "шипит." message_param = "шипит на %t." muzzled_noises = list("слабое шипение") + emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE /datum/emote/living/carbon/human/creak message = "скрипит." message_param = "скрипит на %t." + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE /datum/emote/living/carbon/human/howl message = "воет." message_mime = "беззвучно воет." message_param = "воет на %t." + emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE /datum/emote/living/carbon/human/growl message = "рычит." message_mime = "бесшумно рычит." message_param = "рычит на %t." muzzled_noises = list("раздражённо") + emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE /datum/emote/living/carbon/human/rattle message = "гремит костями." @@ -537,32 +473,61 @@ /datum/emote/living/carbon/human/crack/diona message = "трещит ветками!" -/datum/emote/living/carbon/human/snuffle - key = "snuffle" - key_third_person = "snuffles" - message = "шмыгает носом." - message_param = "шмыгает носом на %t." - -/datum/keybinding/emote/carbon/human/snuffle - linked_emote = /datum/emote/living/carbon/human/snuffle - name = "Шмыгать носом" - -/datum/emote/living/carbon/human/hem - key = "hem" - key_third_person = "hems" - message = "хмыкает." - message_param = "хмыкает %t." - -/datum/keybinding/emote/carbon/human/hem - linked_emote = /datum/emote/living/carbon/human/hem - name = "Хныкать" - -/datum/emote/living/carbon/human/scratch - key = "scratch" - key_third_person = "scratch" - message = "чешется." - message_param = "чешет %t." +/datum/emote/living/carbon/human/warble + message = "издаёт трель." + message_param = "издаёт трель для %t." + emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE + +/datum/emote/living/carbon/human/slime/squish + message = "хлюпает." + message_param = "хлюпает на %t." + emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE + +///////////////////// +/// Alien Emotes /// +/////////////////// -/datum/keybinding/emote/carbon/human/scratch - linked_emote = /datum/emote/living/carbon/human/scratch - name = "Чесаться" +/datum/emote/living/carbon/alien/humanoid/roar + message = "ревет!" + message_param = "ревет на %t!" + +/datum/emote/living/carbon/alien/humanoid/hiss + message = "шипит!" + message_param = "шипит %t!" + +/datum/emote/living/carbon/alien/humanoid/gnarl + message = "оскаливается и показывает зубы." + message_param = "оскаливается и показывает зубы %t." + +///////////////////// +/// Brain Emotes /// +/////////////////// + +/datum/emote/living/carbon/brain/alarm + message = "подает сигнал тревоги." + self_message = "Вы подаете сигнал тревоги." + +/datum/emote/living/carbon/brain/alert + message = "издаёт страдальческий звук." + self_message = "Вы издаёте страдальческий звук." + +/datum/emote/living/carbon/brain/notice + message = "воспроизводит громкий звук." + self_message = "Вы воспроизводите громкий звук." + +/datum/emote/living/carbon/brain/flash + message = "начинает быстро мигать лампочками!" + +/datum/emote/living/carbon/brain/whistle + message = "свистит." + self_message = "Вы свистите." + emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH | EMOTE_SOUND + sound = "modular_ss220/emotes/audio/whistle.ogg" + +/datum/emote/living/carbon/brain/beep + message = "бипает." + self_message = "Вы бипаете." + +/datum/emote/living/carbon/brain/boop + message = "бупает." + self_message = "вы бупаете."