From 083d1f90b9f5698073857d84978fc5d26a9c406c Mon Sep 17 00:00:00 2001 From: Atermonera Date: Thu, 22 Apr 2021 16:10:28 -0700 Subject: [PATCH 1/2] Corrected erroneous emote flag. --- code/modules/emotes/definitions/audible.dm | 229 ++++++++++++ .../emotes/definitions/audible_snap.dm | 22 ++ code/modules/emotes/definitions/synthetics.dm | 51 +++ code/modules/emotes/definitions/visible.dm | 336 ++++++++++++++++++ 4 files changed, 638 insertions(+) create mode 100644 code/modules/emotes/definitions/audible.dm create mode 100644 code/modules/emotes/definitions/audible_snap.dm create mode 100644 code/modules/emotes/definitions/synthetics.dm create mode 100644 code/modules/emotes/definitions/visible.dm diff --git a/code/modules/emotes/definitions/audible.dm b/code/modules/emotes/definitions/audible.dm new file mode 100644 index 00000000000..15f547b9e85 --- /dev/null +++ b/code/modules/emotes/definitions/audible.dm @@ -0,0 +1,229 @@ +/decl/emote/audible + key = "burp" + emote_message_3p = "burps." + message_type = AUDIBLE_MESSAGE + +/decl/emote/audible/New() + . = ..() + // Snips the 'USER' from 3p emote messages for radio. + if(!emote_message_radio && emote_message_3p) + emote_message_radio = emote_message_3p + if(!emote_message_radio_synthetic && emote_message_synthetic_3p) + emote_message_radio_synthetic = emote_message_synthetic_3p + +/decl/emote/audible/deathgasp_alien + key = "deathgasp" + emote_message_3p = "lets out a waning guttural screech, green blood bubbling from its maw." + +/decl/emote/audible/whimper + key = "whimper" + emote_message_3p = "whimpers." + +/decl/emote/audible/gasp + key = "gasp" + emote_message_3p = "gasps." + conscious = FALSE + +/decl/emote/audible/scretch + key = "scretch" + emote_message_3p = "scretches." + +/decl/emote/audible/choke + key ="choke" + emote_message_3p = "chokes." + conscious = FALSE + +/decl/emote/audible/gnarl + key = "gnarl" + emote_message_3p = "gnarls and shows USER_THEIR teeth." + +/decl/emote/audible/multichirp + key = "mchirp" + emote_message_3p = "chirps a chorus of notes!" + emote_sound = 'sound/voice/multichirp.ogg' + +/decl/emote/audible/alarm + key = "alarm" + emote_message_1p = "You sound an alarm." + emote_message_3p = "sounds an alarm." + +/decl/emote/audible/alert + key = "alert" + emote_message_1p = "You let out a distressed noise." + emote_message_3p = "lets out a distressed noise." + +/decl/emote/audible/notice + key = "notice" + emote_message_1p = "You play a loud tone." + emote_message_3p = "plays a loud tone." + +/decl/emote/audible/boop + key = "boop" + emote_message_1p = "You boop." + emote_message_3p = "boops." + +/decl/emote/audible/beep + key = "beep" + emote_message_3p = "You beep." + emote_message_3p = "beeps." + emote_sound = 'sound/machines/twobeep.ogg' + +/decl/emote/audible/sniff + key = "sniff" + emote_message_3p = "sniffs." + +/decl/emote/audible/snore + key = "snore" + emote_message_3p = "snores." + conscious = FALSE + +/decl/emote/audible/whimper + key = "whimper" + emote_message_3p = "whimpers." + +/decl/emote/audible/yawn + key = "yawn" + emote_message_3p = "yawns." + +/decl/emote/audible/clap + key = "clap" + emote_message_3p = "claps." + +/decl/emote/audible/chuckle + key = "chuckle" + emote_message_3p = "chuckles." + +/decl/emote/audible/cry + key = "cry" + emote_message_3p = "cries." + +/decl/emote/audible/sigh + key = "sigh" + emote_message_3p = "sighs." + +/decl/emote/audible/laugh + key = "laugh" + emote_message_3p_target = "laughs at TARGET." + emote_message_3p = "laughs." + +/decl/emote/audible/mumble + key = "mumble" + emote_message_3p = "mumbles!" + +/decl/emote/audible/grumble + key = "grumble" + emote_message_3p = "grumbles!" + +/decl/emote/audible/groan + key = "groan" + emote_message_3p = "groans!" + conscious = FALSE + +/decl/emote/audible/moan + key = "moan" + emote_message_3p = "moans!" + conscious = FALSE + +/decl/emote/audible/giggle + key = "giggle" + emote_message_3p = "giggles." + +/decl/emote/audible/grunt + key = "grunt" + emote_message_3p = "grunts." + +/decl/emote/audible/bug_hiss + key ="hiss" + emote_message_3p_target = "hisses at TARGET." + emote_message_3p = "hisses." + emote_sound = 'sound/voice/BugHiss.ogg' + +/decl/emote/audible/bug_buzz + key ="buzz" + emote_message_3p = "buzzes its wings." + emote_sound = 'sound/voice/BugBuzz.ogg' + +/decl/emote/audible/bug_chitter + key ="chitter" + emote_message_3p = "chitters." + emote_sound = 'sound/voice/Bug.ogg' + +/decl/emote/audible/roar + key = "roar" + emote_message_3p = "roars!" + +/decl/emote/audible/bellow + key = "bellow" + emote_message_3p = "bellows!" + +/decl/emote/audible/howl + key = "howl" + emote_message_3p = "howls!" + +/decl/emote/audible/wheeze + key = "wheeze" + emote_message_3p = "wheezes." + +/decl/emote/audible/hiss + key = "hiss" + emote_message_3p_target = "hisses softly at TARGET." + emote_message_3p = "hisses softly." + +/decl/emote/audible/chirp + key = "chirp" + emote_message_3p = "chirps!" + emote_sound = 'sound/misc/nymphchirp.ogg' + +/decl/emote/audible/crack + key = "crack" + emote_message_3p = "cracks USER_THEIR knuckles." + emote_sound = 'sound/voice/knuckles.ogg' + +/decl/emote/audible/squish + key = "squish" + emote_sound = 'sound/effects/slime_squish.ogg' //Credit to DrMinky (freesound.org) for the sound. + emote_message_3p = "squishes." + +/decl/emote/audible/warble + key = "warble" + emote_sound = 'sound/effects/warble.ogg' // Copyright CC BY 3.0 alienistcog (freesound.org) for the sound. + emote_message_3p = "warbles." + +/decl/emote/audible/vox_shriek + key = "shriek" + emote_message_3p = "SHRIEKS!" + emote_sound = 'sound/voice/shriek1.ogg' + +/decl/emote/audible/purr + key = "purr" + emote_message_3p = "purrs." + emote_sound = 'sound/voice/cat_purr.ogg' + +/decl/emote/audible/purrlong + key = "purrl" + emote_message_3p = "purrs." + emote_sound = 'sound/voice/cat_purr_long.ogg' + +/decl/emote/audible/teshsqueak + key = "surprised" + emote_message_1p = "You chirp in surprise!" + emote_message_3p = "chirps in surprise!" + emote_message_1p_target = "You chirp in surprise at TARGET!" + emote_message_3p_target = "chirps in surprise at TARGET!" + emote_sound = 'sound/voice/teshsqueak.ogg' // Copyright CC BY 3.0 InspectorJ (freesound.org) for the source audio. + +/decl/emote/audible/teshchirp + key = "chirp" + emote_message_1p = "You chirp!" + emote_message_3p = "chirps!" + emote_message_1p_target = "You chirp at TARGET!" + emote_message_3p_target = "chirps at TARGET!" + emote_sound = 'sound/voice/teshchirp.ogg' // Copyright Sampling+ 1.0 Incarnidine (freesound.org) for the source audio. + +/decl/emote/audible/teshtrill + key = "trill" + emote_message_1p = "You trill." + emote_message_3p = "trills." + emote_message_1p_target = "You trill at TARGET." + emote_message_3p_target = "trills at TARGET." + emote_sound = 'sound/voice/teshtrill.ogg' // Copyright CC BY-NC 3.0 Arnaud Coutancier (freesound.org) for the source audio. diff --git a/code/modules/emotes/definitions/audible_snap.dm b/code/modules/emotes/definitions/audible_snap.dm new file mode 100644 index 00000000000..d098839f5b8 --- /dev/null +++ b/code/modules/emotes/definitions/audible_snap.dm @@ -0,0 +1,22 @@ +/decl/emote/audible/snap + key = "snap" + emote_message_1p = "You snap your fingers." + emote_message_3p = "snaps USER_THEIR fingers." + emote_message_1p_target = "You snap your fingers at TARGET." + emote_message_3p_target = "snaps USER_THEIR fingers at TARGET." + emote_sound = 'sound/effects/fingersnap.ogg' + +/decl/emote/audible/snap/proc/can_snap(var/atom/user) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + for(var/limb in list(BP_L_HAND, BP_R_HAND)) + var/obj/item/organ/external/L = H.get_organ(limb) + if(istype(L) && L.is_usable() && !L.splinted) + return TRUE + return FALSE + +/decl/emote/audible/snap/do_emote(var/atom/user, var/extra_params) + if(!can_snap(user)) + to_chat(user, SPAN_WARNING("You need at least one working hand to snap your fingers.")) + return FALSE + . = ..() diff --git a/code/modules/emotes/definitions/synthetics.dm b/code/modules/emotes/definitions/synthetics.dm new file mode 100644 index 00000000000..ae87d38a274 --- /dev/null +++ b/code/modules/emotes/definitions/synthetics.dm @@ -0,0 +1,51 @@ +/decl/emote/audible/synth + key = "beep" + emote_message_3p = "beeps." + emote_sound = 'sound/machines/twobeep.ogg' + +/decl/emote/audible/synth/check_user(var/mob/living/user) + if(istype(user) && user.isSynthetic()) + return ..() + return FALSE + +/decl/emote/audible/synth/ping + key = "ping" + emote_message_3p = "pings." + emote_sound = 'sound/machines/ping.ogg' + +/decl/emote/audible/synth/buzz + key = "buzz" + emote_message_3p = "buzzes." + emote_sound = 'sound/machines/buzz-sigh.ogg' + +/decl/emote/audible/synth/confirm + key = "confirm" + emote_message_3p = "emits an affirmative blip." + emote_sound = 'sound/machines/synth_yes.ogg' + +/decl/emote/audible/synth/deny + key = "deny" + emote_message_3p = "emits a negative blip." + emote_sound = 'sound/machines/synth_no.ogg' + +/decl/emote/audible/synth/security + key = "law" + emote_message_3p = "shows USER_THEIR legal authorization barcode." + emote_message_3p_target = "shows TARGET USER_THEIR legal authorization barcode." + emote_sound = 'sound/voice/biamthelaw.ogg' + +/decl/emote/audible/synth/security/check_user(var/mob/living/silicon/robot/user) + return (istype(user) && istype(user.module, /obj/item/weapon/robot_module/robot/security)) + +/decl/emote/audible/synth/security/halt + key = "halt" + emote_message_3p = "USER's speakers skreech, \"Halt! Security!\"." + emote_sound = 'sound/voice/halt.ogg' + +/decl/emote/audible/synth/dwoop + key = "dwoop" + emote_message_1p_target = "You chirp happily at TARGET!" + emote_message_1p = "You chirp happily." + emote_message_3p_target = "chirps happily at TARGET!" + emote_message_3p = "chirps happily." + emote_sound = 'sound/machines/dwoop.ogg' diff --git a/code/modules/emotes/definitions/visible.dm b/code/modules/emotes/definitions/visible.dm new file mode 100644 index 00000000000..986839fff1a --- /dev/null +++ b/code/modules/emotes/definitions/visible.dm @@ -0,0 +1,336 @@ +/decl/emote/visible + key ="tail" + emote_message_3p = "waves USER_THEIR tail." + message_type = VISIBLE_MESSAGE + +/decl/emote/visible/scratch + key = "scratch" + check_restraints = TRUE + emote_message_3p = "scratches." + +/decl/emote/visible/drool + key ="drool" + emote_message_3p = "drools." + conscious = FALSE + +/decl/emote/visible/nod + key ="nod" + emote_message_3p_target = "nods USER_THEIR head at TARGET." + emote_message_3p = "nods USER_THEIR head." + +/decl/emote/visible/sway + key ="sway" + emote_message_3p = "sways around dizzily." + +/decl/emote/visible/sulk + key ="sulk" + emote_message_3p = "sulks down sadly." + +/decl/emote/visible/dance + key ="dance" + check_restraints = TRUE + emote_message_3p = "dances around happily." + +/decl/emote/visible/roll + key ="roll" + check_restraints = TRUE + emote_message_3p = "rolls." + +/decl/emote/visible/shake + key ="shake" + emote_message_3p = "shakes USER_THEIR head." + +/decl/emote/visible/jump + key ="jump" + emote_message_3p = "jumps!" + +/decl/emote/visible/shiver + key ="shiver" + emote_message_3p = "shivers." + conscious = FALSE + +/decl/emote/visible/collapse + key ="collapse" + emote_message_3p = "collapses!" + +/decl/emote/visible/collapse/do_extra(var/mob/user) + ..() + if(istype(user)) + user.Paralyse(2) + +/decl/emote/visible/flash + key = "flash" + emote_message_3p = "flash USER_THEIR lights quickly." + +/decl/emote/visible/blink + key = "blink" + emote_message_3p = "blinks." + +/decl/emote/visible/airguitar + key = "airguitar" + check_restraints = TRUE + emote_message_3p = "is strumming the air and headbanging like a safari chimp." + +/decl/emote/visible/blink_r + key = "blink_r" + emote_message_3p = "blinks rapidly." + +/decl/emote/visible/bow + key = "bow" + emote_message_3p_target = "bows to TARGET." + emote_message_3p = "bows." + +/decl/emote/visible/salute + key = "salute" + emote_message_3p_target = "salutes TARGET." + emote_message_3p = "salutes." + check_restraints = TRUE + +/decl/emote/visible/flap + key = "flap" + check_restraints = TRUE + emote_message_3p = "flaps USER_THEIR wings." + +/decl/emote/visible/aflap + key = "aflap" + check_restraints = TRUE + emote_message_3p = "flaps USER_THEIR wings ANGRILY!" + +/decl/emote/visible/eyebrow + key = "eyebrow" + emote_message_3p = "raises an eyebrow." + +/decl/emote/visible/twitch + key = "twitch" + emote_message_3p = "twitches." + conscious = FALSE + +/decl/emote/visible/twitch_v + key = "twitch_v" + emote_message_3p = "twitches violently." + conscious = FALSE + +/decl/emote/visible/faint + key = "faint" + emote_message_3p = "faints." + +/decl/emote/visible/faint/do_extra(var/mob/user) + . = ..() + if(istype(user) && !user.sleeping) + user.Sleeping(10) + +/decl/emote/visible/frown + key = "frown" + emote_message_3p = "frowns." + +/decl/emote/visible/blush + key = "blush" + emote_message_3p = "blushes." + +/decl/emote/visible/wave + key = "wave" + emote_message_3p_target = "waves at TARGET." + emote_message_3p = "waves." + check_restraints = TRUE + +/decl/emote/visible/glare + key = "glare" + emote_message_3p_target = "glares at TARGET." + emote_message_3p = "glares." + +/decl/emote/visible/stare + key = "stare" + emote_message_3p_target = "stares at TARGET." + emote_message_3p = "stares." + +/decl/emote/visible/look + key = "look" + emote_message_3p_target = "looks at TARGET." + emote_message_3p = "looks." + +/decl/emote/visible/point + key = "point" + check_restraints = TRUE + emote_message_3p_target = "points to TARGET." + emote_message_3p = "points." + +/decl/emote/visible/raise + key = "raise" + check_restraints = TRUE + emote_message_3p = "raises a hand." + +/decl/emote/visible/grin + key = "grin" + emote_message_3p_target = "grins at TARGET." + emote_message_3p = "grins." + +/decl/emote/visible/shrug + key = "shrug" + emote_message_3p = "shrugs." + +/decl/emote/visible/smile + key = "smile" + emote_message_3p_target = "smiles at TARGET." + emote_message_3p = "smiles." + +/decl/emote/visible/pale + key = "pale" + emote_message_3p = "goes pale for a second." + +/decl/emote/visible/tremble + key = "tremble" + emote_message_3p = "trembles in fear!" + +/decl/emote/visible/wink + key = "wink" + emote_message_3p_target = "winks at TARGET." + emote_message_3p = "winks." + +/decl/emote/visible/hug + key = "hug" + check_restraints = TRUE + emote_message_3p_target = "hugs TARGET." + emote_message_3p = "hugs USER_SELF." + check_range = 1 + +/decl/emote/visible/dap + key = "dap" + check_restraints = TRUE + emote_message_3p_target = "gives daps to TARGET." + emote_message_3p = "sadly can't find anybody to give daps to, and daps USER_SELF." + +/decl/emote/visible/bounce + key = "bounce" + emote_message_3p = "bounces in place." + +/decl/emote/visible/jiggle + key = "jiggle" + emote_message_3p = "jiggles!" + +/decl/emote/visible/lightup + key = "light" + emote_message_3p = "lights up for a bit, then stops." + +/decl/emote/visible/vibrate + key = "vibrate" + emote_message_3p = "vibrates!" + +/decl/emote/visible/deathgasp_robot + key = "deathgasp" + emote_message_3p = "shudders violently for a moment, then becomes motionless, USER_THEIR eyes slowly darkening." + +/decl/emote/visible/handshake + key = "handshake" + check_restraints = TRUE + emote_message_3p_target = "shakes hands with TARGET." + emote_message_3p = "shakes hands with USER_SELF." + check_range = 1 + +/decl/emote/visible/handshake/get_emote_message_3p(var/atom/user, var/atom/target, var/extra_params) + if(target && !user.Adjacent(target)) + return "holds out USER_THEIR hand out to TARGET." + return ..() + +/decl/emote/visible/signal + key = "signal" + emote_message_3p_target = "signals at TARGET." + emote_message_3p = "signals." + check_restraints = TRUE + +/decl/emote/visible/signal/check_user(atom/user) + return ismob(user) + +/decl/emote/visible/signal/get_emote_message_3p(var/mob/living/user, var/atom/target, var/extra_params) + if(istype(user) && (!user.get_active_hand() || !user.get_inactive_hand())) + var/t1 = round(text2num(extra_params)) + if(isnum(t1) && t1 <= 5) + return "raises [t1] finger\s." + return .. () + +/decl/emote/visible/afold + key = "afold" + check_restraints = TRUE + emote_message_3p = "folds USER_THEIR arms." + +/decl/emote/visible/alook + key = "alook" + emote_message_3p = "looks away." + +/decl/emote/visible/hbow + key = "hbow" + emote_message_3p = "bows USER_THEIR head." + +/decl/emote/visible/hip + key = "hip" + check_restraints = TRUE + emote_message_3p = "puts USER_THEIR hands on USER_THEIR hips." + +/decl/emote/visible/holdup + key = "holdup" + check_restraints = TRUE + emote_message_3p = "holds up USER_THEIR palms." + +/decl/emote/visible/hshrug + key = "hshrug" + emote_message_3p = "gives a half shrug." + +/decl/emote/visible/crub + key = "crub" + check_restraints = TRUE + emote_message_3p = "rubs USER_THEIR chin." + +/decl/emote/visible/eroll + key = "eroll" + emote_message_3p = "rolls USER_THEIR eyes." + emote_message_3p_target = "rolls USER_THEIR eyes at TARGET." + +/decl/emote/visible/erub + key = "erub" + check_restraints = TRUE + emote_message_3p = "rubs USER_THEIR eyes." + +/decl/emote/visible/fslap + key = "fslap" + check_restraints = TRUE + emote_message_3p = "slaps USER_THEIR forehead." + +/decl/emote/visible/ftap + key = "ftap" + emote_message_3p = "taps USER_THEIR foot." + +/decl/emote/visible/hrub + key = "hrub" + check_restraints = TRUE + emote_message_3p = "rubs USER_THEIR hands together." + +/decl/emote/visible/hspread + key = "hspread" + check_restraints = TRUE + emote_message_3p = "spreads USER_THEIR hands." + +/decl/emote/visible/pocket + key = "pocket" + check_restraints = TRUE + emote_message_3p = "shoves USER_THEIR hands in USER_THEIR pockets." + +/decl/emote/visible/rsalute + key = "rsalute" + check_restraints = TRUE + emote_message_3p = "returns the salute." + +/decl/emote/visible/rshoulder + key = "rshoulder" + emote_message_3p = "rolls USER_THEIR shoulders." + +/decl/emote/visible/squint + key = "squint" + emote_message_3p = "squints." + emote_message_3p_target = "squints at TARGET." + +/decl/emote/visible/tfist + key = "tfist" + emote_message_3p = "tightens USER_THEIR hands into fists." + +/decl/emote/visible/tilt + key = "tilt" + emote_message_3p = "tilts USER_THEIR head." From 9b924e565c3f70f16b5bc77d6f94661c82435e01 Mon Sep 17 00:00:00 2001 From: Novacat <35587478+Novacat@users.noreply.github.com> Date: Wed, 5 May 2021 14:14:18 -0400 Subject: [PATCH 2/2] Update synthetics.dm --- code/modules/emotes/definitions/synthetics.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/emotes/definitions/synthetics.dm b/code/modules/emotes/definitions/synthetics.dm index ae87d38a274..2e31a07f8fd 100644 --- a/code/modules/emotes/definitions/synthetics.dm +++ b/code/modules/emotes/definitions/synthetics.dm @@ -35,7 +35,7 @@ emote_sound = 'sound/voice/biamthelaw.ogg' /decl/emote/audible/synth/security/check_user(var/mob/living/silicon/robot/user) - return (istype(user) && istype(user.module, /obj/item/weapon/robot_module/robot/security)) + return (istype(user) && (istype(user.module, /obj/item/weapon/robot_module/robot/security) || istype(user.module, /obj/item/weapon/robot_module/robot/knine))) //VOREStation Add - knine module /decl/emote/audible/synth/security/halt key = "halt"