From 12d09536fa42f462641a6a28d914606df0f2d4d1 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sat, 6 Jul 2024 03:37:48 -0400 Subject: [PATCH 01/17] changes runechat layer --- code/__DEFINES/layers.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index ee958d87f580..57d815dfe21e 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -237,12 +237,12 @@ #define EXTERIOR_LIGHTING_PLANE 101 #define NVG_PLANE 110 -///Popup Chat Messages -#define RUNECHAT_PLANE 501 - #define RENDER_PLANE_GAME 990 #define RENDER_PLANE_NON_GAME 995 +///Popup Chat Messages +#define RUNECHAT_PLANE 996 + #define ESCAPE_MENU_PLANE 997 #define RENDER_PLANE_MASTER 999 From 84d359982baeb034998c46efc54d6c4017d55f36 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sat, 6 Jul 2024 03:38:27 -0400 Subject: [PATCH 02/17] refactors emotes, adds new section of emotes --- code/datums/emotes.dm | 66 +++--- code/modules/mob/emote.dm | 2 + code/modules/mob/living/carbon/human/emote.dm | 216 +++++++++++++++++- 3 files changed, 250 insertions(+), 34 deletions(-) diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 6e84052720d4..6cdf6bfe221b 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -39,7 +39,9 @@ var/sound /// Used for the honk borg emote. var/vary = FALSE - /// Can only code call this event instead of the player. + /// Can only code call this emote + var/only_forced = FALSE + /// Can only code call this audio instead of the player. var/only_forced_audio = FALSE /// The cooldown between the uses of the emote. var/cooldown = 0.8 SECONDS @@ -119,38 +121,46 @@ continue if(ghost.client.prefs.toggles_chat & CHAT_GHOSTSIGHT && !(ghost in viewers(user_turf, null))) ghost.show_message(formatted_message) - if(emote_type & EMOTE_AUDIBLE) //emote is audible - var/formatted_deaf_message = "[paygrade][user] [alt_message ? alt_message : key_third_person] silently." - user.audible_message(formatted_message, deaf_message = formatted_deaf_message) - else if(emote_type & EMOTE_VISIBLE) //emote is visible - user.visible_message(formatted_message, blind_message = SPAN_EMOTE("You see how [user] [msg]")) if(emote_type & EMOTE_IMPORTANT) for(var/mob/living/viewer in viewers()) if(is_blind(viewer) && isdeaf(viewer)) to_chat(viewer, msg) - if(intentional) - if(emote_type & EMOTE_VISIBLE) - var/list/viewers = get_mobs_in_view(7, user) - for(var/mob/current_mob in viewers) - for(var/obj/object in current_mob.contents) - if((object.flags_atom & USES_SEEING)) - seeing_obj |= object - if(!(current_mob.client?.prefs.toggles_langchat & LANGCHAT_SEE_EMOTES)) - viewers -= current_mob - run_langchat(user, viewers) - else if(emote_type & EMOTE_AUDIBLE) - var/list/heard = get_mobs_in_view(7, user) - for(var/mob/current_mob in heard) - for(var/obj/object in current_mob.contents) - if((object.flags_atom & USES_HEARING)) - seeing_obj |= object - if(current_mob.ear_deaf) - heard -= current_mob - continue - if(!(current_mob.client?.prefs.toggles_langchat & LANGCHAT_SEE_EMOTES)) - heard -= current_mob - run_langchat(user, heard) + if(emote_type & EMOTE_VISIBLE && emote_type & EMOTE_AUDIBLE) + var/list/viewers = get_mobs_in_view(7, user) + for(var/mob/current_mob in viewers) + for(var/obj/object in current_mob.contents) + if((object.flags_atom & USES_SEEING)) + seeing_obj |= object + if(!(current_mob.client?.prefs.toggles_langchat & LANGCHAT_SEE_EMOTES) || current_mob.stat == UNCONSCIOUS) + viewers -= current_mob + var/formatted_deaf_message = "[paygrade][user] [alt_message ? alt_message : key_third_person] but you can't hear a thing." + user.audible_message(formatted_message, deaf_message = formatted_deaf_message) + run_langchat(user, viewers) + else if(emote_type & EMOTE_VISIBLE) + var/list/viewers = get_mobs_in_view(7, user) + for(var/mob/current_mob in viewers) + for(var/obj/object in current_mob.contents) + if((object.flags_atom & USES_SEEING)) + seeing_obj |= object + if(!(current_mob.client?.prefs.toggles_langchat & LANGCHAT_SEE_EMOTES) || current_mob.stat == UNCONSCIOUS) + viewers -= current_mob + if(is_blind(current_mob) && user != current_mob) //no emote if they blind + viewers -= current_mob + user.ranged_message(formatted_message) + run_langchat(user, viewers) + else if(emote_type & EMOTE_AUDIBLE) + var/list/hearers = get_mobs_in_view(7, user) + for(var/mob/current_mob in hearers) + for(var/obj/object in current_mob.contents) + if((object.flags_atom & USES_HEARING)) + seeing_obj |= object + if(!(current_mob.client?.prefs.toggles_langchat & LANGCHAT_SEE_EMOTES) || current_mob.stat == UNCONSCIOUS) + hearers -= current_mob + if(isdeaf(current_mob)) //no emote if they deaf + hearers -= current_mob + user.audible_message(formatted_message) + run_langchat(user, hearers) for(var/obj/object as anything in seeing_obj) object.see_emote(user, msg, (emote_type & EMOTE_AUDIBLE)) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index fa7c7ec3176e..6ac75a2b4062 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -15,6 +15,8 @@ return FALSE var/silenced = FALSE for(var/datum/emote/current_emote in key_emotes) + if(current_emote.only_forced && intentional) + return FALSE if(!current_emote.check_cooldown(src, intentional)) silenced = TRUE continue diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 7da0376bbef1..acaa8c94e416 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -42,7 +42,7 @@ key = "chuckle" key_third_person = "chuckles" message = "chuckles." - emote_type = EMOTE_AUDIBLE + emote_type = EMOTE_VISIBLE|EMOTE_AUDIBLE /datum/emote/living/carbon/human/clap key = "clap" @@ -66,11 +66,13 @@ key = "cough" key_third_person = "coughs" message = "coughs!" + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE /datum/emote/living/carbon/human/cry key = "cry" key_third_person = "cries" message = "cries." + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE /datum/emote/living/carbon/human/eyebrow key = "eyebrow" @@ -99,6 +101,9 @@ key = "gasp" key_third_person = "gasps" message = "gasps!" + emote_type = EMOTE_AUDIBLE + stat_allowed = CONSCIOUS|UNCONSCIOUS + /datum/emote/living/carbon/human/giggle key = "giggle" @@ -130,6 +135,7 @@ key = "grumble" key_third_person = "grumbles" message = "grumbles." + emote_type = EMOTE_AUDIBLE /datum/emote/living/carbon/human/handshake key = "handshake" @@ -174,15 +180,18 @@ var/medic_message = pick("Corpsman!", "Doc!", "Help!") user.langchat_speech(medic_message, group, GLOB.all_languages, skip_language_check = TRUE, animation_style = LANGCHAT_FAST_POP, additional_styles = list("langchat_bolded")) -/datum/emote/living/carbon/human/moan - key = "moan" - key_third_person = "moans" - message = "moans." +/datum/emote/living/carbon/human/groan + key = "groan" + message = "groans." + stat_allowed = CONSCIOUS|UNCONSCIOUS + emote_type = EMOTE_AUDIBLE + /datum/emote/living/carbon/human/mumble key = "mumble" key_third_person = "mumbles" message = "mumbles." + emote_type = EMOTE_AUDIBLE /datum/emote/living/carbon/human/nod key = "nod" @@ -219,6 +228,12 @@ var/pain_message = pick("OW!!", "AGH!!", "ARGH!!", "OUCH!!", "ACK!!", "OUF!") user.langchat_speech(pain_message, group, GLOB.all_languages, skip_language_check = TRUE, animation_style = LANGCHAT_FAST_POP, additional_styles = list("langchat_yell")) + +/datum/emote/living/carbon/human/eyerub + key = "eyerub" + key_third_person = "rubeyes" + message = "rubs their eyes." + /datum/emote/living/carbon/human/salute key = "salute" key_third_person = "salutes" @@ -294,7 +309,8 @@ key = "snore" key_third_person = "snores" message = "snores." - emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + stat_allowed = CONSCIOUS|UNCONSCIOUS + emote_type = EMOTE_AUDIBLE /datum/emote/living/carbon/human/stare key = "stare" @@ -320,6 +336,11 @@ message = "holds out an open palm, gesturing to stop." hands_use_check = TRUE +/datum/emote/living/carbon/human/squint + key = "squint" + key_third_person = "squints" + message = "squints their eyes." + /datum/emote/living/carbon/human/thumbsup key = "thumbsup" message = "gives a thumbs up." @@ -340,10 +361,22 @@ key_third_person = "waves" message = "waves." +/datum/emote/living/carbon/human/wince + key = "wince" + key_third_person = "winces" + message = "winces." + +/datum/emote/living/carbon/human/writhe + key = "writhe" + key_third_person = "writhes" + message = "writhes in pain!" + stat_allowed = CONSCIOUS|UNCONSCIOUS + /datum/emote/living/carbon/human/yawn key = "yawn" key_third_person = "yawns" message = "yawns." + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE /datum/emote/living/carbon/human/warcry key = "warcry" @@ -375,6 +408,7 @@ key = "whimper" key_third_person = "whimpers" message = "whimpers." + emote_type = EMOTE_AUDIBLE /datum/emote/living/carbon/human/whimper/run_emote(mob/living/user, params, type_override, intentional) . = ..() @@ -382,3 +416,173 @@ return user.show_speech_bubble("scream") + +//list of emotes that can't be called by players but only by code + +/datum/emote/living/carbon/human/bloodcough + key = "bloodcough" + message = "coughs up blood." + alt_message = "is coughing up something." + stat_allowed = CONSCIOUS|UNCONSCIOUS + emote_type = EMOTE_VISIBLE|EMOTE_AUDIBLE + only_forced = TRUE + +/datum/emote/living/carbon/human/bloodcough/run_emote(mob/living/carbon/user, params, type_override, intentional) + user.drip(10) + return ..() + +/datum/emote/living/carbon/human/eyebleed + key = "eyebleed" + message = "bleeds profusley from their eyes." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/eyebleed/run_emote(mob/living/carbon/user, params, type_override, intentional) + user.drip(10) + return ..() + +/datum/emote/living/carbon/human/stumble + key = "stumble" + message = "stumbles around in confusion." + only_forced = TRUE + +/datum/emote/living/carbon/human/seize + key = "seize" + message = "violently convulses." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/foam + key = "foam" + message = "foams at the mouth." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/foamfall + key = "foamfall" + message = "falls to the ground and begins foaming at the mouth." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/paralyzed + key = "paralyzed" + message = "falls to the ground paralyzed." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/eyescratch + key = "eyescratch" + message = "scratches at their eyes." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/drool + key = "drool" + message = "drools." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/foamchoke + key = "foamchoke" + message = "spasms as they suffocate from the foam." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + + +/datum/emote/living/carbon/human/wheeze + key = "wheeze" + message = "raspily wheezes." + stat_allowed = CONSCIOUS|UNCONSCIOUS + emote_type = EMOTE_AUDIBLE + only_forced = TRUE + +/datum/emote/living/carbon/human/thrash + key = "trash" + message = "thrashes about wildly." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/acidglob + key = "acidglob" + message = "falls to the ground coated in acid." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/neuroglob + key = "neuroglob" + message = "falls to the ground coasted in the neurotoxic liquid." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/electrocuted + key = "electrocuted" + message = "convulses as the electricity enters their body." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/shake + key = "shake" + message = "shakes uncontrollably!" + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/vomit + key = "vomit" + message = "vomits profusely!" + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/badlung + key = "badlung" + message = "breathes with an awful rattling noise." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + emote_type = EMOTE_AUDIBLE + +/datum/emote/living/carbon/human/pale + key = "pale" + message = "goes pale." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/clutchstomach + key = "stomachclutch" + message = "clutches at their stomach!" + only_forced = TRUE + +/datum/emote/living/carbon/human/clutchchest + key = "chestclutch" + message = "clutches at their chest!" + only_forced = TRUE + +/datum/emote/living/carbon/human/tremors + key = "tremors" + message = "tremors." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/clutchhead + key = "headclutch" + message = "clutches at their head!" + only_forced = TRUE + +/datum/emote/living/carbon/human/pain/legcollapse + key = "legcollapse" + message = "yells out in pain and collapses as their legs buckle." + only_forced = TRUE + +/datum/emote/living/carbon/human/paincollapse + key = "paincollapse" + message = "writhes in pain, unable to go on." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + + +/* + +/datum/emote/living/carbon/human/ + key = " + message = " + only_forced = TRUE + +*/ From 26813bbad413dd91ae317f6eec7c06d73e080bfb Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sat, 6 Jul 2024 03:38:48 -0400 Subject: [PATCH 03/17] adds emotes to surgery --- code/modules/surgery/amputation.dm | 15 +++++++++++++++ code/modules/surgery/bones.dm | 4 ++++ code/modules/surgery/brainrepair.dm | 4 ++++ code/modules/surgery/chestburster.dm | 4 ++++ code/modules/surgery/eye.dm | 8 ++++++++ code/modules/surgery/face.dm | 8 ++++++++ code/modules/surgery/generic.dm | 17 +++++++++++++++++ code/modules/surgery/internal_bleeding.dm | 2 ++ code/modules/surgery/mcomp_tendwounds.dm | 11 +++++++++++ code/modules/surgery/organs_internal.dm | 2 ++ code/modules/surgery/robolimb_repair.dm | 1 + code/modules/surgery/robolimbs.dm | 5 +++++ code/modules/surgery/surgery_steps.dm | 4 ++-- code/modules/surgery/tendwounds.dm | 1 + 14 files changed, 84 insertions(+), 2 deletions(-) diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm index c9c1c92d4877..93274923a59b 100644 --- a/code/modules/surgery/amputation.dm +++ b/code/modules/surgery/amputation.dm @@ -75,6 +75,7 @@ SPAN_WARNING("[user] has severed the muscles in your [surgery.affected_limb.display_name]!"), SPAN_NOTICE("[user] has severed the muscles in [target]'s [surgery.affected_limb.display_name].")) + user.emote("me", 1, "severs the muscles in [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] successfully began an amputation on [key_name(target)]'s [surgery.affected_limb.display_name] with [tool ? "\the [tool]" : "their hands"], starting [surgery].") /datum/surgery_step/cut_muscle/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -83,6 +84,7 @@ SPAN_WARNING("[user]'s hand slips, slicing your [surgery.affected_limb.display_name] in the wrong place!"), SPAN_WARNING("[user]'s hand slips, slicing [target]'s [surgery.affected_limb.display_name] in the wrong place!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(15, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to begin an amputation on [key_name(target)]'s [surgery.affected_limb.display_name] with [tool ? "\the [tool]" : "their hands"], aborting [surgery].") return FALSE @@ -117,6 +119,7 @@ SPAN_NOTICE("[user] has reconnected the muscles in your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] has reconnected the muscles in [target]'s [surgery.affected_limb.display_name].")) + user.emote("me", 1, "finishes reconnecting the muscles in [target]'s [surgery.affected_limb.display_name].") complete(target, surgery) log_interact(user, target, "[key_name(user)] successfully aborted an amputation on [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], ending [surgery].") @@ -126,6 +129,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your [surgery.affected_limb.display_name] with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s [surgery.affected_limb.display_name] with \the [tool]!")) + user.emote("me", 1, "slips, slicing [target] in the wrong place!") target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to abort an amputation on [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") return FALSE @@ -166,6 +170,7 @@ SPAN_WARNING("[user] cuts your [surgery.affected_limb.display_name] off!"), SPAN_NOTICE("[user] cuts [target]'s [surgery.affected_limb.display_name] off.")) + user.emote("me", 1, "saws [target]'s [surgery.affected_limb.display_name] off.") user.count_niche_stat(STATISTICS_NICHE_SURGERY_AMPUTATE) surgery.affected_limb.droplimb(amputation = TRUE, surgery_in_progress = TRUE) target.incision_depths[target_zone] = SURGERY_DEPTH_SURFACE @@ -190,6 +195,7 @@ SPAN_WARNING("[user] hacks your [surgery.affected_limb.display_name] off!"), SPAN_WARNING("[user] hacks [target]'s [surgery.affected_limb.display_name] off!")) + user.emote("me", 1, "hacks [target]'s [surgery.affected_limb.display_name] off.") user.animation_attack_on(target) user.count_niche_stat(STATISTICS_NICHE_SURGERY_AMPUTATE) surgery.affected_limb.droplimb() //This will sever the limb messily and reset incision depth. The stump cleanup surgery will have to be done to properly amputate, but doing this saved two seconds. Worth it? @@ -223,6 +229,7 @@ SPAN_NOTICE("[user] cuts away uneven flesh where your [surgery.affected_limb.display_name] used to be."), SPAN_NOTICE("[user] cuts away uneven flesh where [target]'s [surgery.affected_limb.display_name] used to be.")) + user.emote("me", 1, "cuts away uneven flesh from [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] successfully began cleaning up the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], possibly starting [surgery].") /datum/surgery_step/carve_amputation/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -231,6 +238,7 @@ SPAN_WARNING("[user]'s hand slips, cutting your [surgery.affected_limb.parent.display_name] open!"), SPAN_WARNING("[user]'s hand slips, cutting [target]'s [surgery.affected_limb.parent.display_name] open!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to clean up the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], possibly aborting [surgery].") return FALSE @@ -260,6 +268,7 @@ SPAN_NOTICE("[user] finishes repairing the blood vessels in your stump."), SPAN_NOTICE("[user] finishes repairing the blood vessels in [target]'s stump.")) + user.emote("me", 1, "repairs the blood vessels in [target]'s [surgery.affected_limb.display_name].") surgery.affected_limb.remove_all_bleeding() log_interact(user, target, "[key_name(user)] mended blood vessels in the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") @@ -275,6 +284,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your [surgery.affected_limb.display_name]'s stump with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s [surgery.affected_limb.display_name]'s stump with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to mend blood vessels in the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") return FALSE @@ -305,6 +315,7 @@ SPAN_NOTICE("[user] finishes repairing the stump of your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] finishes repairing the stump of [target]'s [surgery.affected_limb.display_name].")) + user.emote("me", 1, "repairs the stump of [target]'s [surgery.affected_limb.display_name].") surgery.affected_limb.setAmputatedTree() target.pain.recalculate_pain() log_interact(user, target, "[key_name(user)] closed the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], ending [surgery].") @@ -315,6 +326,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your [surgery.affected_limb.display_name]'s stump with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s [surgery.affected_limb.display_name]'s stump with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to close the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") return FALSE @@ -343,6 +355,7 @@ SPAN_NOTICE("[user] cuts through the last of the clamps. Your prosthetic [surgery.affected_limb.display_name] can now be removed."), SPAN_NOTICE("[user] cuts through the last of the clamps. [target]'s prosthetic [surgery.affected_limb.display_name] can now be removed.")) + user.emote("me", 1, "cuts through the last of the clamps on [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] successfully began repairing the stump of [key_name(target)]'s severed prosthetic [surgery.affected_limb.display_name] with \the [tool], starting [surgery].") /datum/surgery_step/sever_prosthetic_clamps/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -351,6 +364,7 @@ SPAN_WARNING("[user]'s hand slips, cutting into the flesh of your [surgery.affected_limb.display_name]!"), SPAN_WARNING("[user]'s hand slips, cutting into the flesh of [target]'s [surgery.affected_limb.display_name]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(20, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to begin repairing the stump of [key_name(target)]'s severed prosthetic [surgery.affected_limb.display_name] with \the [tool], aborting [surgery].") return FALSE @@ -379,6 +393,7 @@ SPAN_NOTICE("[user] has revealed the bare stump of your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] has revealed the bare stump of [target]'s [surgery.affected_limb.display_name].")) + user.emote("me", 1, "reveals the bare stump of [target]'s [surgery.affected_limb.display_name].") surgery.affected_limb.setAmputatedTree() target.pain.recalculate_pain() log_interact(user, target, "[key_name(user)] successfully removed the last of [key_name(target)]'s severed prosthetic [surgery.affected_limb.display_name], ending [surgery].") diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index 399f5f5360c3..fead3857a8bc 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -120,6 +120,7 @@ SPAN_NOTICE("[user] crudely reinforces the bones in your [surgery.affected_limb.display_name] like [improvised_desc]."), SPAN_NOTICE("[user] crudely reinforces the bones in [target]'s [surgery.affected_limb.display_name] like [improvised_desc].")) + user.emote("me", 1, "mends the bones in [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] successfully began repairing bones in [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], starting [surgery].") /datum/surgery_step/mend_bones/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/bone_repair/surgery) @@ -134,6 +135,7 @@ SPAN_WARNING("[user]'s hand slips, damaging the bones in your [surgery.affected_limb.display_name] even more!"), SPAN_WARNING("[user]'s hand slips, damaging the bones in [target]'s [surgery.affected_limb.display_name] even more!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to begin repairing bones in [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], aborting [surgery].") @@ -198,6 +200,7 @@ SPAN_NOTICE("[user] sets the bones in your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] sets the bones in [target]'s [surgery.affected_limb.display_name].")) + user.emote("me", 1, "sets the bones in [target]'s [surgery.affected_limb.display_name].") user.count_niche_stat(STATISTICS_NICHE_SURGERY_BONES) if(surgery.affected_limb.status & LIMB_SPLINTED_INDESTRUCTIBLE) new /obj/item/stack/medical/splint/nano(get_turf(target), 1) @@ -218,6 +221,7 @@ SPAN_WARNING("[user]'s hand slips, damaging the bones in your [surgery.affected_limb.display_name] with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging the bones in [target]'s [surgery.affected_limb.display_name] with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to set bones in [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") return FALSE diff --git a/code/modules/surgery/brainrepair.dm b/code/modules/surgery/brainrepair.dm index 2b4e51292203..0aca16b46383 100644 --- a/code/modules/surgery/brainrepair.dm +++ b/code/modules/surgery/brainrepair.dm @@ -62,6 +62,7 @@ target.jitteriness = 0 target.pain.recalculate_pain() + user.emote("me", 1, "picks the bone fragments out of [target]'s brain.") log_interact(user, target, "[key_name(user)] finished taking bone chips out of [key_name(target)]'s brain with \the [tool], finishing [surgery].") /datum/surgery_step/remove_bone_chips/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -72,6 +73,7 @@ log_interact(user, target, "[key_name(user)] failed to take the bone chips out of [key_name(target)]'s brain with \the [tool], possibly aborting [surgery].") + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") var/datum/wound/internal_bleeding/I = new (0) surgery.affected_limb.add_bleeding(I, TRUE) surgery.affected_limb.wounds += I @@ -100,6 +102,7 @@ SPAN_NOTICE("[user] finishes mending the hematoma in your brain."), SPAN_NOTICE("[user] finishes mending the hematoma in [target]'s brain.")) + user.emote("me", 1, "mends the hematoma in [target]'s brain.") log_interact(user, target, "[key_name(user)] finished mending a hematoma in [key_name(target)]'s brain with \the [tool], beginning [surgery].") var/datum/internal_organ/brain/B = target.internal_organs_by_name["brain"] @@ -115,6 +118,7 @@ SPAN_WARNING("[user]'s hand slips, bruising your brain with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, bruising [target]'s brain with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to mend the hematoma in [key_name(target)]'s brain with \the [tool], aborting [surgery].") target.apply_damage(15, BRUTE, target_zone) diff --git a/code/modules/surgery/chestburster.dm b/code/modules/surgery/chestburster.dm index a840bd026c40..0783f4f9eda1 100644 --- a/code/modules/surgery/chestburster.dm +++ b/code/modules/surgery/chestburster.dm @@ -96,6 +96,8 @@ /datum/surgery_step/cut_larval_pseudoroots/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) user.visible_message(SPAN_WARNING("[user]'s hand slips and a jet of acid spurts as \he slices the larva with \the [tool]!"), SPAN_WARNING("Your hand slips and a jet of acid spurts as you slice the larva with \the [tool]!")) + user.emote("me", 1, "slips, cutting open a psuedoroot!") + if(target.stat == CONSCIOUS) target.emote("scream") @@ -168,6 +170,7 @@ A.forceMove(target.loc) target.status_flags &= ~XENO_HOST + user.emote("me", 1, "pries out the embryo from [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] removed an embryo from [key_name(target)]'s ribcage with [tool ? "\the [tool]" : "their hands"], ending [surgery].") /datum/surgery_step/remove_larva/failure(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -176,6 +179,7 @@ SPAN_WARNING("[user]'s hand slips, bruising your organs and spilling acid in your [surgery.affected_limb.cavity]!"), SPAN_WARNING("[user]'s hand slips, bruising [target]'s organs and spilling acid in \his [surgery.affected_limb.cavity]!")) + user.emote("me", 1, "slips, leaking acid everywhere insided [target]!") var/datum/internal_organ/I = pick(surgery.affected_limb.internal_organs) I.take_damage(5,0) if(target.stat == CONSCIOUS) diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm index b9efb0371ee3..108937fe89b4 100644 --- a/code/modules/surgery/eye.dm +++ b/code/modules/surgery/eye.dm @@ -50,6 +50,7 @@ SPAN_NOTICE("[user] has separated your corneas."), SPAN_NOTICE("[user] has separated [target]'s corneas.")) + user.emote("me", 1, "seperates [target]'s corneas.") log_interact(user, target, "[key_name(user)] separated the cornea on [key_name(target)]'s eyes with \the [tool], starting [surgery].") target.incision_depths[target_zone] = SURGERY_DEPTH_SHALLOW @@ -61,6 +62,7 @@ SPAN_WARNING("[user]'s hand slips, slicing your eyes with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, slicing [target]'s eyes with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to separate the cornea on [key_name(target)]'s eyes with \the [tool], aborting [surgery].") target.apply_damage(10, BRUTE, target_zone) @@ -89,6 +91,7 @@ SPAN_NOTICE("[user] has lifted your corneas."), SPAN_NOTICE("[user] has lifted [target]'s corneas.")) + user.emote("me", 1, "lifts [target]'s corneas.") log_interact(user, target, "[key_name(user)] lifted the cornea from [key_name(target)]'s eyes with \the [tool].") /datum/surgery_step/lift_eyes/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/eye_repair/surgery) @@ -97,6 +100,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your eyes with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s eyes with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to lift the cornea from [key_name(target)]'s eyes with \the [tool].") target.apply_damage(10, BRUTE, target_zone) @@ -125,6 +129,7 @@ SPAN_NOTICE("[user] mends the nerves and lenses in your eyes."), SPAN_NOTICE("[user] mends the nerves and lenses in [target]'s eyes.")) + user.emote("me", 1, "mends the nerves and lenses in [target]'s eyes.") log_interact(user, target, "[key_name(user)] mended the nerves and lenses in [key_name(target)]'s eyes with \the [tool].") /datum/surgery_step/mend_eyes/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/eye_repair/surgery) @@ -133,6 +138,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your eyes with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s eyes with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to mend the nerves and lenses in [key_name(target)]'s eyes with \the [tool].") target.apply_damage(10, BRUTE, target_zone, sharp = 1) @@ -161,6 +167,7 @@ SPAN_NOTICE("[user] reattaches your corneas."), SPAN_NOTICE("[user] reattaches [target]'s corneas.")) + user.emote("me", 1, "reattatches [target]'s corneas.") log_interact(user, target, "[key_name(user)] cauterized the incision around [key_name(target)]'s eyes with \the [tool], ending [surgery].") target.incision_depths[target_zone] = SURGERY_DEPTH_SURFACE @@ -176,6 +183,7 @@ SPAN_WARNING("[user]'s hand slips, searing your eyes with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, searing [target]'s eyes with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to cauterize the incision around [key_name(target)]'s eyes with \the [tool].") target.apply_damage(15, BURN, target_zone) diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 7d13c0ed5675..6c34a2aa6406 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -43,6 +43,7 @@ SPAN_NOTICE("[user] finishes opening incisions on your face and neck."), SPAN_NOTICE("[user] finishes opening incisions on [target]'s face and neck.")) + user.emote("me", 1, "makes an incision [target]'s face and neck.") target.incision_depths[target_zone] = SURGERY_DEPTH_SHALLOW log_interact(user, target, "[key_name(user)] cut open [key_name(target)]'s face and neck with \the [tool].") @@ -52,6 +53,7 @@ SPAN_DANGER("[user]'s hand slips, slicing [target]'s throat wth \the [tool]!"), SPAN_DANGER("[user]'s hand slips, slicing [target]'s throat wth \the [tool]!")) + user.emote("me", 1, "slips, slicing [target]'s throat!") log_interact(user, target, "[key_name(user)] failed to cut open [key_name(target)]'s face and neck with \the [tool].") target.apply_damage(40, BRUTE, target_zone) @@ -82,6 +84,7 @@ SPAN_NOTICE("[user] mends your vocal cords."), SPAN_NOTICE("[user] mends [target]'s vocal cords.")) + user.emote("me", 1, "mends [target]'s vocal chords.") log_interact(user, target, "[key_name(user)] mended [key_name(target)]'s vocal cords with \the [tool].") /datum/surgery_step/mend_vocals/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -118,6 +121,7 @@ SPAN_NOTICE("[user] reconstructs your facial features."), SPAN_NOTICE("[user] reconstructs [target]'s facial features.")) + user.emote("me", 1, "reconstructs [target]'s facial features.") log_interact(user, target, "[key_name(user)] pulled the skin on [key_name(target)]'s face back in place with \the [tool].") /datum/surgery_step/pull_skin/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -126,6 +130,7 @@ SPAN_WARNING("[user]'s hand slips, tearing skin on your face with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, tearing skin on [target]'s face with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to pull the skin on [key_name(target)]'s face back in place with \the [tool].") target.apply_damage(10, BRUTE, target_zone) @@ -154,6 +159,8 @@ SPAN_NOTICE("[user] cauterizes the incisions on your face and neck."), SPAN_NOTICE("[user] cauterizes the incision on [target]'s face and neck.")) + user.emote("me", 1, "cauterizes the incision on [target]'s facial features.") + log_interact(user, target, "[key_name(user)] cauterized [key_name(target)]'s face and neck with \the [tool], ending [surgery].") target.incision_depths[target_zone] = SURGERY_DEPTH_SURFACE @@ -168,6 +175,7 @@ SPAN_WARNING("[user]'s hand slips, leaving a small burn on your face!"), SPAN_WARNING("[user]'s hand slips, leaving a small burn on [target]'s face!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to cauterize [key_name(target)]'s face and neck with \the [tool].") target.apply_damage(5, BURN, target_zone) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index c5d7f37a444c..597d6dd4928d 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -78,6 +78,7 @@ else surgery.status++ // synth skin doesn't cause bleeders + user.emote("me", 1, "makes an incision on [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_SHALLOW //Descriptionwise this is done by the retractor, but putting it here means people can examine to see if an unfinished surgery has been done. user.add_blood(target.get_blood_color(), BLOOD_HANDS) log_interact(user, target, "[key_name(user)] made an incision in [key_name(target)]'s [surgery.affected_limb.display_name], beginning [surgery].") @@ -107,6 +108,8 @@ SPAN_WARNING("[user]'s hand slips, slicing [target]'s [surgery.affected_limb.display_name] in the wrong place!")) target.apply_damage(10, BRUTE, target_zone) + + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to make an incision in [key_name(target)]'s [surgery.affected_limb.display_name], aborting [surgery].") return FALSE @@ -176,6 +179,7 @@ SPAN_NOTICE("[user] clamps bleeders in your [parse_zone(target_zone)]."), SPAN_NOTICE("[user] clamps bleeders in [target]'s [parse_zone(target_zone)].")) + user.emote("me", 1, "clamps the bleeders in [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] clamped bleeders in [key_name(target)]'s [surgery.affected_limb.display_name], possibly ending [surgery].") var/surface_modifier = target.buckled?.surgery_duration_multiplier @@ -201,6 +205,7 @@ SPAN_WARNING("[user]'s hand slips, tearing blood vessels in your [surgery.affected_limb.display_name] and causing massive bleeding!"), SPAN_WARNING("[user]'s hand slips, tearing blood vessels in [target]'s [surgery.affected_limb.display_name] and causing massive bleeding!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(4, BRUTE, target_zone) surgery.affected_limb.add_bleeding(null, FALSE, 15) log_interact(user, target, "[key_name(user)] failed to clamp bleeders in [key_name(target)]'s [surgery.affected_limb.display_name], possibly ending [surgery].") @@ -269,6 +274,7 @@ SPAN_NOTICE("[user] holds the incision on your [surgery.affected_limb.display_name] open with \the [tool]."), SPAN_NOTICE("[user] holds the incision on [target]'s [surgery.affected_limb.display_name] open with \the [tool].")) + user.emote("me", 1, "retracts the skin on [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] retracted skin in [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") /datum/surgery_step/retract_skin/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -296,6 +302,7 @@ SPAN_WARNING("[user] tears the incision on your [surgery.affected_limb.display_name] open with \the [tool]!"), SPAN_WARNING("[user] tears the incision on [target]'s [surgery.affected_limb.display_name] open with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(15, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] violently retracted skin in [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") return TRUE //Failing to finish this step doesn't fail it, it just means you do it a lot more violently. @@ -348,6 +355,7 @@ SPAN_NOTICE("[user] cauterizes the incision on your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] cauterizes the incision on [target]'s [surgery.affected_limb.display_name].")) + user.emote("me", 1, "cauterizes the incision on [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_SURFACE surgery.affected_limb.remove_all_bleeding(TRUE, FALSE) target.pain.recalculate_pain() @@ -359,6 +367,7 @@ SPAN_WARNING("[user]'s hand slips, leaving a small burn on your [surgery.affected_limb.display_name]!"), SPAN_WARNING("[user]'s hand slips, leaving a small burn on [target]'s [surgery.affected_limb.display_name]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(3, BURN, target_zone) log_interact(user, target, "[key_name(user)] failed to cauterize an incision in [key_name(target)]'s [surgery.affected_limb.display_name], aborting [surgery].") return FALSE @@ -422,6 +431,7 @@ SPAN_NOTICE("[user] finishes cutting through your [surgery.affected_limb.encased]."), SPAN_NOTICE("[user] finishes cutting through [target]'s [surgery.affected_limb.encased].")) + user.emote("me", 1, "cuts through the bones of [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] cut through [key_name(target)]'s [surgery.affected_limb.encased], beginning [surgery].") /datum/surgery_step/saw_encased/failure(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -440,6 +450,7 @@ surgery.affected_limb.fracture(100) + user.emote("me", 1, "slips, shattering the bones in [target]'s [surgery.affected_limb.display_name]!") user.animation_attack_on(target) if(tool.hitsound) playsound(target.loc, tool.hitsound, 25, TRUE) @@ -479,6 +490,7 @@ SPAN_NOTICE("[user] uses \the [tool] to hold your [surgery.affected_limb.encased] open, exposing your [brain ? "brain" : "vital organs"]."), SPAN_NOTICE("[user] uses \the [tool] to hold [target]'s [surgery.affected_limb.encased] open, exposing \his [brain ? "brain" : "vital organs"].")) + user.emote("me", 1, "pries open the bones of [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_DEEP complete(target, surgery) //This finishes the surgery. @@ -498,6 +510,7 @@ SPAN_WARNING("[user]'s hand slips, cracking your [surgery.affected_limb.encased]!"), SPAN_WARNING("[user]'s hand slips, cracking [target]'s [surgery.affected_limb.encased]!")) + user.emote("me", 1, "slips, smashing the bones in [target]'s [surgery.affected_limb.display_name]!") surgery.affected_limb.fracture(100) target.apply_damage(15, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to open [key_name(target)]'s [surgery.affected_limb.encased].") @@ -543,6 +556,7 @@ SPAN_NOTICE("[user] closes your [surgery.affected_limb.encased]."), SPAN_NOTICE("[user] closes [target]'s [surgery.affected_limb.encased].")) + user.emote("me", 1, "closes the bones in [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_SHALLOW log_interact(user, target, "[key_name(user)] closed [key_name(target)]'s [surgery.affected_limb.encased], beginning [surgery].") @@ -558,6 +572,7 @@ SPAN_WARNING("[user]'s hand slips, cracking your [surgery.affected_limb.encased]!"), SPAN_WARNING("[user]'s hand slips, cracking [target]'s [surgery.affected_limb.encased]!")) + user.emote("me", 1, "slips, smashing the bones in [target]'s [surgery.affected_limb.display_name]!") surgery.affected_limb.fracture(100) target.apply_damage(15, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to close [key_name(target)]'s [surgery.affected_limb.encased], aborting [surgery].") @@ -623,6 +638,7 @@ SPAN_NOTICE("[user] haphazardly repairs your [surgery.affected_limb.encased] like some kind of [improvised_desc]."), SPAN_NOTICE("[user] haphazardly repairs [target]'s [surgery.affected_limb.encased] like some kind of [improvised_desc].")) + user.emote("me", 1, "mends the bones in [target]'s [surgery.affected_limb.display_name].") if(surgery.affected_limb.status & LIMB_BROKEN) to_chat(user, SPAN_NOTICE("You've repaired the damage done by prying it open, but it's still fractured.")) log_interact(user, target, "[key_name(user)] mended [key_name(target)]'s [surgery.affected_limb.encased], ending [surgery].") @@ -641,6 +657,7 @@ surgery.affected_limb.fracture(100) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to mend [key_name(target)]'s [surgery.affected_limb.encased].") diff --git a/code/modules/surgery/internal_bleeding.dm b/code/modules/surgery/internal_bleeding.dm index e4afcad5ec99..35e25988f42c 100644 --- a/code/modules/surgery/internal_bleeding.dm +++ b/code/modules/surgery/internal_bleeding.dm @@ -51,6 +51,7 @@ surgery.affected_limb.remove_all_bleeding(FALSE, TRUE) surgery.affected_limb.update_damages() + user.emote("me", 1, "repairs the damaged veins in [target]'s [surgery.affected_limb.display_name].") if(prob(40)) user.add_blood(target.get_blood_color(), BLOOD_HANDS) target.pain.recalculate_pain() @@ -68,6 +69,7 @@ SPAN_WARNING("[user]'s hand slips, damaging the incision in your [surgery.affected_limb.display_name] with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging the incision in [target]'s [surgery.affected_limb.display_name] with \the [tool]!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") user.add_blood(target.get_blood_color(), BLOOD_HANDS) target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to repair internal bleeding in [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") diff --git a/code/modules/surgery/mcomp_tendwounds.dm b/code/modules/surgery/mcomp_tendwounds.dm index 3a876a8b5730..07df916c2f24 100644 --- a/code/modules/surgery/mcomp_tendwounds.dm +++ b/code/modules/surgery/mcomp_tendwounds.dm @@ -70,11 +70,14 @@ if(user == target) user.visible_message(SPAN_NOTICE("[user] finishes stabilizing the wounds on their body with [tool]."), SPAN_HELPFUL("You finish stabilizing your wounds with [tool].")) + user.emote("me", 1, "stabilizes their wound with [tool]") else user.affected_message(target, SPAN_HELPFUL("You finish stabilizing [target]'s wounds with [tool]."), SPAN_HELPFUL("[user] finished stabilizing your wounds with [tool]."), SPAN_NOTICE("[user] finished treating [target]'s wounds with [tool].")) + user.emote("me", 1, "stabilizes [target]'s wound with [tool]") + log_interact(user, target, "[key_name(user)] stabilized some of [key_name(target)]'s wounds with [tool].") @@ -127,11 +130,14 @@ if(user == target) user.visible_message(SPAN_NOTICE("[user] finishes treating the stabilized wounds on their body with [tool]."), SPAN_HELPFUL("You finish treating the stabilized wounds on your body with [tool].")) + user.emote("me", 1, "treats their stabilized wounds with [tool]") else user.affected_message(target, SPAN_HELPFUL("You finish treating [target]'s stabilized wounds with [tool]."), SPAN_HELPFUL("[user] finished treating your stabilized wounds with [tool]."), SPAN_NOTICE("[user] finished treating [target]'s stabilized wounds with [tool].")) + user.emote("me", 1, "treats [target]'s stabilized wounds with [tool]") + if(!istype(tool, /obj/item/tool/surgery/healing_gun)) return @@ -159,6 +165,7 @@ if(user == target) user.visible_message(SPAN_NOTICE("[user] begins to close the treated wounds on their body with [tool]."), SPAN_HELPFUL("You begin to close your treated wounds with [tool].")) + else user.affected_message(target, SPAN_HELPFUL("You begin to close the treated wounds on [target]'s body with [tool]."), @@ -171,11 +178,15 @@ if(user == target) user.visible_message(SPAN_NOTICE("[user] finshes closing the treated wounds on their body with [tool]."), SPAN_HELPFUL("You finish closing the treated wounds on your body with [tool]")) + user.emote("me", 1, "clamps their wounds shut with [tool]") + else user.affected_message(target, SPAN_HELPFUL("You finish closing [target]'s treated wounds with [tool]."), SPAN_HELPFUL("[user] finished closing your treated wounds with [tool]."), SPAN_NOTICE("[user] finished closing [target]'s treated wounds with [tool].")) + user.emote("me", 1, "clamps [target]'s wounds shut with [tool]") + if(isyautja(target)) target.emote("loudroar") diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 37f3be625f1b..0e26fc4e5cca 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -82,6 +82,7 @@ and organ transplant code which may come in handy in future but haven't been edi SPAN_NOTICE("[user] finishes treating your damaged [I.name]."), SPAN_NOTICE("[user] finishes treating [target]'s damaged [I.name].")) + user.emote("me", 1, "mends [target]'s damaged [I.name].") user.count_niche_stat(STATISTICS_NICHE_SURGERY_ORGAN_REPAIR) I.rejuvenate() target.pain.recalculate_pain() @@ -106,6 +107,7 @@ and organ transplant code which may come in handy in future but haven't been edi if(I && I.damage > 0) I.take_damage(dam_amt,0) + user.emote("me", 1, "slips, damaging [target]'s organs!") log_interact(user, target, "[key_name(user)] failed to mend organs in [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") return FALSE diff --git a/code/modules/surgery/robolimb_repair.dm b/code/modules/surgery/robolimb_repair.dm index f7ec1b483f66..4250ba9a6bb4 100644 --- a/code/modules/surgery/robolimb_repair.dm +++ b/code/modules/surgery/robolimb_repair.dm @@ -46,6 +46,7 @@ SPAN_NOTICE("[user] finishes recalibrating your prosthesis, and it now moves as you command once again."), SPAN_NOTICE("[user] finishes recalibrating [target]'s prosthesis, and it now moves as \he commands once again.")) + user.emote("me", 1, "recalibrates [target]'s prosthesis.") log_interact(user, target, "[key_name(user)] recalibrated a prosthesis on [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") if(surgery.affected_limb.parent.status & LIMB_UNCALIBRATED_PROSTHETIC) surgery.affected_limb.parent.calibrate_prosthesis() diff --git a/code/modules/surgery/robolimbs.dm b/code/modules/surgery/robolimbs.dm index 81b1855ed396..28433bf937c0 100644 --- a/code/modules/surgery/robolimbs.dm +++ b/code/modules/surgery/robolimbs.dm @@ -47,6 +47,7 @@ SPAN_NOTICE("[user] replaces your severed [parse_zone(target_zone)] with \the [tool]."), SPAN_NOTICE("[user] replaces [target]'s severed [parse_zone(target_zone)] with \the [tool].")) + user.emote("me", 1, "replaces [target]'s [target]'s severed [parse_zone(target_zone)] with \the [tool].") surgery.affected_limb.robotize(surgery_in_progress = TRUE, uncalibrated = TRUE, synth_skin = issynth(target)) target.update_body() target.pain.recalculate_pain() @@ -61,6 +62,7 @@ SPAN_WARNING("[user] slips, damaging your stump!"), SPAN_WARNING("[user] slips, damaging [target]'s stump!")) + user.emote("me", 1, "slips, damaging [target]'s stump!") target.apply_damage(10, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to begin attaching a prosthesis to [key_name(target)]'s [surgery.affected_limb.display_name], aborting [surgery].") return FALSE @@ -91,6 +93,7 @@ SPAN_NOTICE("[user] firmly attaches the prosthesis to your body."), SPAN_NOTICE("[user] firmly attaches the prosthesis to [target]'s body.")) + user.emote("me", 1, "firmly attaches the prosthesis to [target].") log_interact(user, target, "[key_name(user)] finished tightening a prosthesis to [key_name(target)]'s [surgery.affected_limb.display_name].") /datum/surgery_step/strenghten_prosthesis_connection/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -99,6 +102,7 @@ SPAN_WARNING("[user] slips while trying to tighten the prosthesis, pinching your stump painfully!"), SPAN_WARNING("[user] slips while trying to tighten [target]'s prosthesis, pinching \his stump painfully!")) + user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to tighten a prosthesis to [key_name(target)]'s [surgery.affected_limb.display_name].") return FALSE @@ -129,6 +133,7 @@ SPAN_NOTICE("[user] finishes calibrating your prosthesis, and it now moves as you command."), SPAN_NOTICE("[user] finishes calibrating [target]'s prosthesis, and it now moves as \he commands.")) + user.emote("me", 1, "calibrates [target]'s prosthesis.") log_interact(user, target, "[key_name(user)] calibrated a prosthesis on [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") surgery.affected_limb.calibrate_prosthesis() diff --git a/code/modules/surgery/surgery_steps.dm b/code/modules/surgery/surgery_steps.dm index 9e1450868d1c..2fbfa04b2abd 100644 --- a/code/modules/surgery/surgery_steps.dm +++ b/code/modules/surgery/surgery_steps.dm @@ -189,7 +189,7 @@ affected_limb, or location vars. Also, in that case there may be a wait between to_chat(target, SPAN_DANGER("The pain was too much, you couldn't hold still!")) if(failure(user, target, target_zone, tool, tool_type, surgery)) //Failure returns TRUE if the step should complete anyway. advance = TRUE - target.emote("pain") + target.emote(pick("wince", "pain", "write", "scream")) play_failure_sound(user, target, target_zone, tool, surgery) else if(prob(surgery_failure_chance)) @@ -199,7 +199,7 @@ affected_limb, or location vars. Also, in that case there may be a wait between SPAN_DANGER("You are struggling to perform the surgery with these tools and conditions!")) if(failure(user, target, target_zone, tool, tool_type, surgery)) //Failure returns TRUE if the step should complete anyway. advance = TRUE - target.emote("pain") + target.emote(pick("wince", "pain", "write", "scream")) play_failure_sound(user, target, target_zone, tool, surgery) msg_admin_niche("[user] failed a [surgery] step on [target] because of [failure_penalties] failure possibility penalties ([surgery_failure_chance]%)") diff --git a/code/modules/surgery/tendwounds.dm b/code/modules/surgery/tendwounds.dm index 56b2d6ee150e..31e4d3973fd1 100644 --- a/code/modules/surgery/tendwounds.dm +++ b/code/modules/surgery/tendwounds.dm @@ -51,6 +51,7 @@ log_interact(user, target, "[key_name(user)] finished suturing an incision in [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], ending [surgery].") + user.emote("me", 1, "sutures closed the incision on [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_SURFACE /datum/surgery_step/suture_incision/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) From 2b704342ca59a78d9ea8c6999c77c794dcc2c209 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sat, 6 Jul 2024 03:39:53 -0400 Subject: [PATCH 04/17] adds emotes to a bunch of different misc things --- code/_onclick/ventcrawl.dm | 1 + code/datums/ammo/bullet/bullet.dm | 2 ++ code/datums/ammo/bullet/shotgun.dm | 4 ++++ code/datums/ammo/energy.dm | 1 + code/datums/ammo/xeno.dm | 4 +++- code/datums/elements/strippable.dm | 3 +++ code/datums/elements/suturing.dm | 1 + code/game/objects/effects/aliens.dm | 3 ++- code/game/objects/effects/effect_system/smoke.dm | 10 ++++------ code/game/objects/items/devices/defibrillator.dm | 1 + code/game/objects/items/handcuffs.dm | 2 ++ code/game/objects/items/legcuffs.dm | 2 ++ code/game/objects/items/stacks/medical.dm | 3 +++ code/game/objects/items/weapons/blades.dm | 2 ++ code/modules/mob/death.dm | 1 + code/modules/mob/living/carbon/carbon.dm | 3 +++ code/modules/mob/living/carbon/human/human.dm | 6 ++---- .../mob/living/carbon/human/human_attackhand.dm | 1 + code/modules/mob/living/carbon/human/human_defense.dm | 6 +++--- .../mob/living/carbon/human/life/handle_organs.dm | 2 +- .../carbon/human/life/handle_regular_status_updates.dm | 2 ++ code/modules/mob/living/carbon/xenomorph/Embryo.dm | 4 ++++ .../mob/living/carbon/xenomorph/castes/Sentinel.dm | 2 ++ .../reagents/chemistry_properties/prop_neutral.dm | 2 +- 24 files changed, 51 insertions(+), 17 deletions(-) diff --git a/code/_onclick/ventcrawl.dm b/code/_onclick/ventcrawl.dm index 72fe31f35cdc..92c51150de82 100644 --- a/code/_onclick/ventcrawl.dm +++ b/code/_onclick/ventcrawl.dm @@ -82,6 +82,7 @@ return visible_message(SPAN_NOTICE("[src] begins climbing into [vent_found]."), SPAN_NOTICE("We begin climbing into [vent_found].")) + emote("me", 1, "begins crawling into [vent_found].") vent_found.animate_ventcrawl() if(!do_after(src, 45, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) vent_found.animate_ventcrawl_reset() diff --git a/code/datums/ammo/bullet/bullet.dm b/code/datums/ammo/bullet/bullet.dm index dadb644201df..03f7eb130b54 100644 --- a/code/datums/ammo/bullet/bullet.dm +++ b/code/datums/ammo/bullet/bullet.dm @@ -47,6 +47,8 @@ SPAN_HIGHDANGER("[user] aims \the [fired_from] directly at your head!"), SPAN_DANGER("[user] aims \the [fired_from] at [execution_target]'s head!")) + user.emote("me", 1, "aims [fired_from] at [execution_target]'s head!") + user.next_move += 1.1 SECONDS //PB has no click delay; readding it here to prevent people accidentally queuing up multiple executions. if(!do_after(user, 1 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE) || !user.Adjacent(execution_target)) diff --git a/code/datums/ammo/bullet/shotgun.dm b/code/datums/ammo/bullet/shotgun.dm index e71114dc24de..fa9d3643b8ed 100644 --- a/code/datums/ammo/bullet/shotgun.dm +++ b/code/datums/ammo/bullet/shotgun.dm @@ -34,6 +34,8 @@ living_mob.apply_effect(1, SUPERSLOW) living_mob.apply_effect(2, SLOW) to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) + if(ishuman(living_mob)) + living_mob.emote("me", 1, "is knocked off their feet by the [src]") living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) /datum/ammo/bullet/shotgun/beanbag @@ -259,6 +261,8 @@ living_mob.apply_effect(1, SUPERSLOW) living_mob.apply_effect(2, SLOW) to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) + if(ishuman(living_mob)) + living_mob.emote("me", 1, "is knocked off their feet by the [src]") living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) /datum/ammo/bullet/shotgun/heavy/beanbag diff --git a/code/datums/ammo/energy.dm b/code/datums/ammo/energy.dm index 3ddd11eedf55..a317942428f8 100644 --- a/code/datums/ammo/energy.dm +++ b/code/datums/ammo/energy.dm @@ -38,6 +38,7 @@ var/mob/living/carbon/human/humanus = mobs humanus.disable_special_items() // Disables scout cloak humanus.make_jittery(40) + humanus.emote("electrocuted") /datum/ammo/energy/taser/precise name = "precise taser bolt" diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm index 7b5c8ee71257..a67d52ef1c73 100644 --- a/code/datums/ammo/xeno.dm +++ b/code/datums/ammo/xeno.dm @@ -69,6 +69,7 @@ if(M.GetKnockDownDuration() < 5) // Nobody actually knows what this means. Supposedly it means less than 10 seconds. Frankly if you get locked into 10s of knockdown to begin with there are bigger issues. M.KnockDown(power) M.Stun(power) + M.emote("foamfall") M.visible_message(SPAN_DANGER("[M] falls prone.")) /proc/apply_scatter_neuro(mob/living/M) @@ -252,6 +253,7 @@ neuro_effect.duration += 5 moob.apply_effect(3, DAZE) to_chat(moob, SPAN_HIGHDANGER("Neurotoxic liquid spreads all over you and immediately soaks into your pores and orifices! Oh fuck!")) // Fucked up but have a chance to escape rather than being game-ended + INVOKE_ASYNC(moob, TYPE_PROC_REF(/mob, emote), "neuroglob") drop_nade(get_turf(proj), proj,TRUE) /datum/ammo/xeno/boiler_gas/on_hit_obj(obj/outbacksteakhouse, obj/projectile/proj) @@ -298,7 +300,7 @@ return to_chat(moob,SPAN_HIGHDANGER("Acid covers your body! Oh fuck!")) playsound(moob,"acid_strike",75,1) - INVOKE_ASYNC(moob, TYPE_PROC_REF(/mob, emote), "pain") // why do I need this bullshit + INVOKE_ASYNC(moob, TYPE_PROC_REF(/mob, emote), "acidglob") // why do I need this bullshit new /datum/effects/acid(moob, proj.firer) drop_nade(get_turf(proj), proj,TRUE) diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm index e0daaee74a8c..ddb0ed5ee58d 100644 --- a/code/datums/elements/strippable.dm +++ b/code/datums/elements/strippable.dm @@ -99,6 +99,8 @@ SPAN_NOTICE("[user] tries to put [equipping] on [source]."), SPAN_NOTICE("[user] tries to put [equipping] on you.") ) + user.emote("me", 1, "begins to put [equipping] on [source].") + if (ismob(source)) var/mob/sourcemob = source @@ -152,6 +154,7 @@ SPAN_WARNING("[user] tries to remove [source]'s [item]."), SPAN_DANGER("[user] tries to remove your [item].") ) + user.emote("me", 1, "begins to remove [item] from [source].") if (ismob(source)) var/mob/sourcemob = source diff --git a/code/datums/elements/suturing.dm b/code/datums/elements/suturing.dm index eee65b0ba7df..53459dce07d7 100644 --- a/code/datums/elements/suturing.dm +++ b/code/datums/elements/suturing.dm @@ -169,6 +169,7 @@ YOU TO 200 DAMAGE. I ASK NOT FOR MY OWN MEDIC EGOSTROKING, BUT FOR THE GOOD OF T SPAN_HELPFUL("[user] [description_verb]s some of the [description_wounds] on your [target_limb.display_name]."), SPAN_NOTICE("[user] [description_verb]s some of the [description_wounds] on [possessive_their] [target_limb.display_name].")) + user.emote("me", 1, "[description_verb]s some of the [description_wounds] on [possessive_their] [target_limb.display_name].") suture(suturing_item, user, target, target_limb, TRUE) //Loop - untreated wounds remain. //////////////////////////////////// diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index 10d4e8d098fb..7ff86c76ec89 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -148,7 +148,7 @@ ..() if(AM == cause_data.resolve_mob()) return - + if(isliving(AM)) var/mob/living/living_mob = AM if(living_mob.ally_of_hivenumber(hivenumber)) @@ -222,6 +222,7 @@ if (buffed_splash) hooman.KnockDown(stun_duration) to_chat(hooman, SPAN_HIGHDANGER("The acid coating on you starts bubbling and sizzling wildly!")) + hooman.emote("acidglob") hooman.last_damage_data = cause_data hooman.apply_armoured_damage(damage * 0.25, ARMOR_BIO, BURN, "l_foot", 20) hooman.apply_armoured_damage(damage * 0.25, ARMOR_BIO, BURN, "r_foot", 20) diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index d4152bdee37e..4364803865af 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -156,7 +156,7 @@ if(affected_mob.coughedtime < world.time && !affected_mob.stat) affected_mob.coughedtime = world.time + 2 SECONDS if(ishuman(affected_mob)) //Humans only to avoid issues - affected_mob.emote("cough") + affected_mob.emote(pick("cough", "squint")) return TRUE ///////////////////////////////////////////// @@ -300,7 +300,7 @@ if(creature.coughedtime < world.time && !creature.stat) creature.coughedtime = world.time + 2 SECONDS if(ishuman(creature)) //Humans only to avoid issues - creature.emote("gasp") + creature.emote(pick("gasp", "squint", "eyebleed", "bloodcough")) return TRUE ///////////////////////////////////////////// @@ -346,7 +346,7 @@ affected_mob.visible_message(SPAN_DANGER("[affected_mob]'s skin is sloughing off!"),\ SPAN_DANGER("Your skin is sloughing off!")) else - affected_mob.emote("cough") + affected_mob.emote(pick("gasp", "squint", "eyebleed", "bloodcough")) if(isyautja(affected_mob) || isxeno(affected_mob)) damage *= xeno_yautja_reduction @@ -427,9 +427,7 @@ if(human_creature && creature.coughedtime < world.time && !creature.stat) //Coughing/gasping creature.coughedtime = world.time + 1.5 SECONDS if(prob(50)) - creature.emote("cough") - else - creature.emote("gasp") + creature.emote(pick("cough", "bloodcough", "squint", "gasp")) var/stun_chance = 20 if(xeno_affecting) diff --git a/code/game/objects/items/devices/defibrillator.dm b/code/game/objects/items/devices/defibrillator.dm index 518fdb1a9591..ec9dc11353f3 100644 --- a/code/game/objects/items/devices/defibrillator.dm +++ b/code/game/objects/items/devices/defibrillator.dm @@ -172,6 +172,7 @@ user.visible_message(SPAN_NOTICE("[user] starts setting up the paddles on [H]'s chest"), \ SPAN_HELPFUL("You start setting up the paddles on [H]'s chest.")) + user.emote("me", 1, "starts setting up the paddles on [H]'s chest.") playsound(get_turf(src),'sound/items/defib_charge.ogg', 25, 0) //Do NOT vary this tune, it needs to be precisely 7 seconds //Taking square root not to make defibs too fast... diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index af71b806ed42..06bd2610294b 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -43,6 +43,7 @@ msg_admin_attack("[key_name(user)] attempted to handcuff [key_name(human_mob)] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).", loc.x, loc.y, loc.z) user.visible_message(SPAN_NOTICE("[user] tries to put [src] on [human_mob].")) + user.emote("me", 1, "attempts to put [src] on [human_mob].") if(do_after(user, cuff_delay, INTERRUPT_MOVED, BUSY_ICON_HOSTILE, human_mob, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) if(src == user.get_active_hand() && !human_mob.handcuffed && Adjacent(user)) if(iscarbon(human_mob)) @@ -55,6 +56,7 @@ user.count_niche_stat(STATISTICS_NICHE_HANDCUFF) else if(ismonkey(target)) + user.emote("me", 1, "attempts to put [src] on [target].") user.visible_message(SPAN_NOTICE("[user] tries to put [src] on [target].")) if(do_after(user, 30, INTERRUPT_MOVED, BUSY_ICON_HOSTILE, target, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) if(src == user.get_active_hand() && !target.handcuffed && Adjacent(user)) diff --git a/code/game/objects/items/legcuffs.dm b/code/game/objects/items/legcuffs.dm index 1d216e6556e2..fdbee7c6ffdd 100644 --- a/code/game/objects/items/legcuffs.dm +++ b/code/game/objects/items/legcuffs.dm @@ -28,6 +28,7 @@ msg_admin_attack("[key_name(user)] attempted to legcuff [key_name(human_target)] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).", loc.x, loc.y, loc.z) user.visible_message(SPAN_NOTICE("[user] tries to put [src] on [human_target].")) + user.emote("me", 1, "tries to put [src] on [human_target]") if(do_after(user, cuff_delay, INTERRUPT_MOVED, BUSY_ICON_HOSTILE, human_target, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) if(src == user.get_active_hand() && !human_target.legcuffed && Adjacent(user)) if(iscarbon(human_target)) @@ -40,6 +41,7 @@ user.count_niche_stat(STATISTICS_NICHE_HANDCUFF) else if (ismonkey(target)) + user.emote("me", 1, "tries to put [src] on [target]") user.visible_message(SPAN_NOTICE("[user] tries to put [src] on [target].")) if(do_after(user, 30, INTERRUPT_MOVED, BUSY_ICON_HOSTILE, target, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) if(src == user.get_active_hand() && !target.legcuffed && Adjacent(user)) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index c4a496a12366..71198603ea57 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -303,6 +303,7 @@ SPAN_HELPFUL("You start splinting [possessive] [affecting.display_name]."), SPAN_HELPFUL("[user] starts splinting your [affecting.display_name]."), SPAN_NOTICE("[user] starts splinting [possessive_their] [affecting.display_name].")) + user.emote("me", 1, "begins splinting [M]'s [affecting.display_name].") else if((!user.hand && (affecting.name in list("r_arm", "r_hand"))) || (user.hand && (affecting.name in list("l_arm", "l_hand")))) to_chat(user, SPAN_WARNING("You can't apply a splint to the \ @@ -313,6 +314,8 @@ SPAN_HELPFUL("You start splinting your [affecting.display_name]."), , SPAN_NOTICE("[user] starts splinting \his [affecting.display_name].")) + user.emote("me", 1, "begins splinting their [affecting.display_name].") + if(affecting.apply_splints(src, user, M, indestructible_splints)) // Referenced in external organ helpers. use(1) diff --git a/code/game/objects/items/weapons/blades.dm b/code/game/objects/items/weapons/blades.dm index ce1bb2ded072..5a2b6ce7b1ba 100644 --- a/code/game/objects/items/weapons/blades.dm +++ b/code/game/objects/items/weapons/blades.dm @@ -172,12 +172,14 @@ SPAN_NOTICE("[user] begins to examine your body for shrapnel to dig out. Hold still, this will probably hurt..."), SPAN_NOTICE("[user] begins to examine [embedded_human]'s body for shrapnel.")) address_mode = "out of [embedded_human]'s" //includes "out of " to prevent capital-T 'The unknown'. + user.emote("me", 1, "begins examining [embedded_human]'s body for shrapnel.") if(!do_after(user, 20, INTERRUPT_ALL, BUSY_ICON_FRIENDLY, embedded_human, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) to_chat(user, SPAN_NOTICE("You were interrupted!")) return else user.visible_message(SPAN_NOTICE("[user] starts checking \his body for shrapnel."), \ SPAN_NOTICE("You begin searching your body for shrapnel.")) + user.emote("me", 1, "begins to check their body for shrapnel.") address_mode = "out of your" if(!do_after(embedded_human, 20, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) to_chat(user, SPAN_NOTICE("You were interrupted!")) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index 8aea59b96a81..e1b334350622 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -50,6 +50,7 @@ if(!gibbed) visible_message("\The [src.name] [deathmessage]") + emote("me", 1, "[deathmessage]") if(cause_data && !istype(cause_data)) stack_trace("death called with string cause ([cause_data]) instead of datum") diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 36d2518d7e75..d2bd8cc6d93c 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -191,6 +191,9 @@ playsound(loc, "sparks", 25, 1) if(shock_damage > 10) + if(ishuman(src)) + emote("electrocuted") + make_jittery(40) src.visible_message( SPAN_DANGER("[src] was shocked by [source]!"), \ SPAN_DANGER("You feel a powerful shock course through your body!"), \ diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 62e2c7a01cd1..fe08005b1e12 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -888,6 +888,7 @@ if(stat == 2) //One last corpse check return src.visible_message(SPAN_WARNING("[src] throws up!"), SPAN_WARNING("You throw up!"), null, 5) + emote("vomit") playsound(loc, 'sound/effects/splat.ogg', 25, 1, 7) var/turf/location = loc @@ -1707,15 +1708,12 @@ /mob/living/carbon/human/on_knockedout_trait_gain(datum/source) . = ..() - update_execute_hud() - return . /mob/living/carbon/human/on_knockedout_trait_loss(datum/source) . = ..() update_execute_hud() - return . - + diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index e664143be74d..749da8302eed 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -44,6 +44,7 @@ attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] starts performing CPR on [src]."), SPAN_HELPFUL("You start performing CPR on [src].")) + attacking_mob.emote("me", 1, "begins performing CPR on [src]") cpr_attempt_timer = world.time + HUMAN_STRIP_DELAY * attacking_mob.get_skill_duration_multiplier(SKILL_MEDICAL) if(do_after(attacking_mob, HUMAN_STRIP_DELAY * attacking_mob.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 09ce5bb9c149..a672893a2445 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -23,10 +23,10 @@ Contains most of the procs that are called when a mob is attacked by something drop_inv_item_on_ground(c_hand) if (affected.status & (LIMB_ROBOT|LIMB_SYNTHSKIN)) - emote("me", 1, "drops what they were holding, their [affected.display_name] malfunctioning!") + emote("me", 1, "[affected.display_name] malfunctions, rops what it was holding!") else - var/emote_scream = pick("screams in pain and", "lets out a sharp cry and", "cries out and") - emote("me", 1, "[(!pain.feels_pain) ? "" : emote_scream ] drops what they were holding in their [affected.display_name]!") + var/emote_scream = pick("winces in pain,", "cries out,") + emote("me", 1, "[(!pain.feels_pain) ? "" : emote_scream ] dropping what was in their [affected.display_name]!") ..(stun_amount, agony_amount, def_zone) diff --git a/code/modules/mob/living/carbon/human/life/handle_organs.dm b/code/modules/mob/living/carbon/human/life/handle_organs.dm index 706e8567a50c..f6ed80f72faa 100644 --- a/code/modules/mob/living/carbon/human/life/handle_organs.dm +++ b/code/modules/mob/living/carbon/human/life/handle_organs.dm @@ -56,6 +56,6 @@ if(left_leg_crippled && right_leg_crippled) if(pain.feels_pain) - emote("pain") + emote("legcollapse") custom_pain("You can't stand on broken legs!", 1) apply_effect(5, WEAKEN) diff --git a/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm b/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm index 5b37238d28ab..006b0a31a108 100644 --- a/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm +++ b/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm @@ -37,6 +37,8 @@ if(halloss > 100) visible_message(SPAN_WARNING("\The [src] slumps to the ground, too weak to continue fighting."), \ SPAN_WARNING("You slump to the ground, you're in too much pain to keep going.")) + if(prob(10)) + emote("paincollapse") apply_effect(10, PARALYZE) setHalLoss(99) diff --git a/code/modules/mob/living/carbon/xenomorph/Embryo.dm b/code/modules/mob/living/carbon/xenomorph/Embryo.dm index d0890bd3cf37..197820c035f6 100644 --- a/code/modules/mob/living/carbon/xenomorph/Embryo.dm +++ b/code/modules/mob/living/carbon/xenomorph/Embryo.dm @@ -109,6 +109,7 @@ affected_mob.pain.apply_pain(PAIN_CHESTBURST_WEAK) affected_mob.visible_message(SPAN_DANGER("[affected_mob] starts shaking uncontrollably!"), \ SPAN_DANGER("You feel something moving inside you! You start shaking uncontrollably!")) + affected_mob.emote("tremor") affected_mob.apply_effect(1, PARALYZE) affected_mob.make_jittery(105) affected_mob.take_limb_damage(1) @@ -130,6 +131,7 @@ affected_mob.pain.apply_pain(PAIN_CHESTBURST_WEAK) affected_mob.visible_message(SPAN_DANGER("\The [affected_mob] starts shaking uncontrollably!"), \ SPAN_DANGER("You feel something moving inside you! You start shaking uncontrollably!")) + affected_mob.emote(pick("tremor", "shake")) affected_mob.apply_effect(2, PARALYZE) affected_mob.make_jittery(105) affected_mob.take_limb_damage(1) @@ -148,6 +150,7 @@ SPAN_DANGER("You feel something moving inside you! You start shaking uncontrollably!")) affected_mob.apply_effect(3, PARALYZE) affected_mob.make_jittery(105) + affected_mob.emote(pick("seize", "tremor","shake")) affected_mob.take_limb_damage(1) if(5) become_larva() @@ -329,6 +332,7 @@ for(var/mob/living/carbon/xenomorph/larva/larva_embryo in victim) var/datum/hive_status/hive = GLOB.hive_datum[larva_embryo.hivenumber] + larva_embryo.emote("me", 1, "rips their way out from inside the chest of [victim]") larva_embryo.forceMove(get_turf(victim)) //moved to the turf directly so we don't get stuck inside a cryopod or another mob container. playsound(larva_embryo, pick('sound/voice/alien_chestburst.ogg','sound/voice/alien_chestburst2.ogg'), 25) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Sentinel.dm b/code/modules/mob/living/carbon/xenomorph/castes/Sentinel.dm index 01963496f967..3ddca73665b3 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Sentinel.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Sentinel.dm @@ -92,6 +92,7 @@ to_chat(carbon_target, SPAN_XENOHIGHDANGER("You feel like you're about to fall over, as [bound_xeno] slashes you with its neurotoxin coated claws!")) carbon_target.sway_jitter(times = 3, steps = floor(NEURO_TOUCH_DELAY/3)) carbon_target.apply_effect(4, DAZE) + carbon_target.emote(pick("drool","tremor","rapidblink","stumble")) addtimer(CALLBACK(src, PROC_REF(paralyzing_slash), carbon_target), NEURO_TOUCH_DELAY) next_slash_buffed = FALSE if(!next_slash_buffed) @@ -105,4 +106,5 @@ /datum/behavior_delegate/sentinel_base/proc/paralyzing_slash(mob/living/carbon/human/human_target) human_target.KnockDown(2) human_target.Stun(2) + human_target.emote("paralyzed") to_chat(human_target, SPAN_XENOHIGHDANGER("You fall over, paralyzed by the toxin!")) diff --git a/code/modules/reagents/chemistry_properties/prop_neutral.dm b/code/modules/reagents/chemistry_properties/prop_neutral.dm index da0cc0c6054f..5042398970e7 100644 --- a/code/modules/reagents/chemistry_properties/prop_neutral.dm +++ b/code/modules/reagents/chemistry_properties/prop_neutral.dm @@ -192,7 +192,7 @@ /datum/chem_property/neutral/hallucinogenic/process(mob/living/M, potency = 1, delta_time) if(prob(5 * delta_time)) - M.emote(pick("twitch","drool","moan","giggle")) + M.emote(pick("twitch","drool","groan","giggle")) if(potency > CREATE_MAX_TIER_1) M.hallucination = min(M.hallucination + potency, potency * 10) M.make_jittery(5) From 7a2e6942a69fd8c7c739d01ab825889721d62aef Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sat, 6 Jul 2024 03:40:08 -0400 Subject: [PATCH 05/17] major boiler gas emote stuff addition --- code/datums/effects/neurotoxin.dm | 43 +++++++++++++++++-------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/code/datums/effects/neurotoxin.dm b/code/datums/effects/neurotoxin.dm index b1edca7d5806..1e7fa75d9e41 100644 --- a/code/datums/effects/neurotoxin.dm +++ b/code/datums/effects/neurotoxin.dm @@ -12,8 +12,8 @@ var/stumble = TRUE /// Probability of stumbling per proc. Changed by code. var/stumble_prob = 0 - /// Chance of blood_cough per proc (damaging) - var/bloodcough_prob = 0 + /// Chance of emote_prob per proc (damaging) + var/emote_prob = 0 /// Whether or not we hallucinate. (small rng stun chance) var/hallucinate = TRUE // Tick-based chat cooldown so it doesn't get too spammy @@ -40,7 +40,7 @@ if(issynth(affected_atom)) return - + // General effects affected_mob.last_damage_data = cause_data affected_mob.apply_stamina_damage(stam_dam) @@ -48,24 +48,23 @@ // Effect levels (shit that doesn't stack) switch(duration) - if(0 to 9) msg = initial(msg) - bloodcough_prob = initial(bloodcough_prob) + emote_prob = initial(emote_prob) stumble_prob = initial(stumble_prob) if(10 to 14) // 2 ticks in smoke msg = SPAN_DANGER("You body starts feeling numb, you can't feel your fingers!") - bloodcough_prob = 10 + emote_prob = 10 if(15 to 19) // 3 ticks in smoke msg = pick(SPAN_BOLDNOTICE("Why am I here?"),SPAN_HIGHDANGER("Your entire body feels numb!"), SPAN_HIGHDANGER("You notice your movement is erratic!"), SPAN_HIGHDANGER("You panic as numbness takes over your body!")) - bloodcough_prob = 20 + emote_prob = 20 stumble_prob = 5 if(20 to 24) // 4 ticks in smoke msg = SPAN_DANGER("Your eyes sting, you can't see!") - bloodcough_prob = 25 + emote_prob = 25 stumble_prob = 25 if(25 to INFINITY) // 5+ ticks in smoke @@ -95,28 +94,34 @@ affected_mob.SetEarDeafness(max(affected_mob.ear_deaf, floor(strength*1.5))) //Paralysis of hearing system, aka deafness if(duration >= 50) // 10+ ticks, apply some semi-perm damage and end their suffering if they are somehow still alive by now + affected_mob.emote("foamchoke") affected_mob.apply_internal_damage(10,"liver") affected_mob.apply_damage(150,OXY) + // Applying additonal effects and messages - if(prob(stumble_prob) && stumble) - if(affected_mob.is_mob_incapacitated()) - return - affected_mob.visible_message(SPAN_DANGER("[affected_mob] misteps in their confusion!") - ,SPAN_HIGHDANGER("You stumble!")) + if(prob(stumble_prob) && stumble &! affected_mob.is_mob_incapacitated()) + affected_mob.emote("stumble") step(affected_mob, pick(CARDINAL_ALL_DIRS)) affected_mob.apply_effect(5, DAZE) // Unable to talk and weldervision affected_mob.make_jittery(25) affected_mob.make_dizzy(55) - affected_mob.emote("pain") stumble = FALSE addtimer(VARSET_CALLBACK(src,stumble,TRUE),3 SECONDS) duration++ - if(prob(bloodcough_prob)) - affected_mob.emote("cough") + if(prob(emote_prob)) affected_mob.Slow(1) - affected_mob.apply_damage(5,BRUTE, "chest") - to_chat(affected_mob, SPAN_DANGER("You cough up blood!")) + affected_mob.apply_damage(5, BRUTE, "chest") + switch(duration) + if(0 to 19) + if(affected_mob.is_mob_incapacitated()) + affected_mob.emote(pick("seize", "thrash", "shake", "bloodcough", )) + else + affected_mob.emote(pick("bloodcough", "headclutch", "wheeze")) + if(20 to 27) + affected_mob.emote(pick("seize", "eyescratch", "bloodcough")) + if(28 to INFINITY) + affected_mob.emote(pick("seize", "thrash", "shake", "foam", "eyescratch")) if(chat_cd <= 0) to_chat(affected_mob,msg) @@ -150,7 +155,7 @@ to_chat(victim,SPAN_HIGHDANGER("A SHELL IS ABOUT TO IMPACT [pick(SPAN_UNDERLINE("TOWARDS THE [pick("WEST","EAST","SOUTH","NORTH")]"),SPAN_UNDERLINE("RIGHT ONTOP OF YOU!"))]!")) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound_client), victim.client,'sound/weapons/gun_mortar_travel.ogg'), 1 SECONDS) if(43 to 69) - victim.emote(pick("twitch","drool","moan","giggle")) + victim.emote(pick("twitch", "drool"," groan", "giggle", "rapidblink", "stare")) victim.hallucination = 3 victim.druggy = 3 if(70 to 100) // sound based hallucination From 3999ab048676092eed4ef356b264b7ee197c0df6 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sat, 6 Jul 2024 03:40:53 -0400 Subject: [PATCH 06/17] adds emotes for organ damage --- code/modules/organs/organ_internal.dm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index dd37ac5a8af1..c202c8e35ab7 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -145,12 +145,15 @@ if(owner.chem_effect_flags & CHEM_EFFECT_ORGAN_STASIS) return if(organ_status >= ORGAN_BRUISED) - if(prob(2)) - spawn owner.emote("me", 1, "coughs up blood!") - owner.drip(10) - if(prob(4)) - spawn owner.emote("me", 1, "gasps for air!") + if(prob(5)) + owner.emote(pick("bloodcough", "gasp", "wheeze")) owner.losebreath += 15 + if(organ_status >= ORGAN_BROKEN) + if(prob(12)) + owner.emote("badlung") + else if(prob(10)) + owner.emote(pick("bloodcough", "wheeze", "gasp", "clutchchest", "pale")) + /datum/internal_organ/lungs/rejuvenate() owner.losebreath = 0 @@ -214,6 +217,9 @@ owner.apply_damage(0.1 * (damage/2), TOX) else if(organ_status >= ORGAN_BROKEN && prob(50)) owner.apply_damage(0.3 * (damage/2), TOX) + if(prob(10)) + owner.emote(pick("groan", "stomachclutch", "wince", "tremors", "pain")) + /datum/internal_organ/liver/prosthetic robotic = ORGAN_ROBOT @@ -234,6 +240,9 @@ owner.apply_damage(0.1 * (damage/3), TOX) else if(organ_status >= ORGAN_BROKEN && prob(50)) owner.apply_damage(0.2 * (damage/3), TOX) + if(prob(10)) + owner.emote(pick("groan", "chestclutch", "gasp",)) + /datum/internal_organ/kidneys/prosthetic robotic = ORGAN_ROBOT @@ -258,12 +267,14 @@ owner.drop_held_items() if(!owner.buckled && owner.stat == CONSCIOUS) owner.Move(get_step(get_turf(owner), dir_choice)) + owner.emote(pick("rapidblink", "tremors", "stumble")) to_chat(owner, SPAN_DANGER("Your mind wanders and goes blank for a moment...")) if(organ_status >= ORGAN_BROKEN && prob(5 * delta_time)) owner.apply_effect(1, PARALYZE) if(owner.jitteriness < 100) owner.make_jittery(50) + owner.emote(pick("headclutch", "foam", "seizes", "shake", "thrash")) to_chat(owner, SPAN_DANGER("Your body seizes up!")) /datum/internal_organ/brain/prosthetic //used by synthetic species @@ -287,8 +298,12 @@ return if(organ_status >= ORGAN_BRUISED) owner.SetEyeBlur(20) + if(prob(3)) + owner.emote(pick("blink", "eyerub", "squint")) if(organ_status >= ORGAN_BROKEN) owner.SetEyeBlind(20) + if(prob(8)) + owner.emote(pick("rapidblink", "eyerub", "headclutch")) /datum/internal_organ/eyes/prosthetic robotic = ORGAN_ROBOT From 47edb5737ca01eeb5bbb451ff56ab126bffc31f6 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sat, 6 Jul 2024 04:06:21 -0400 Subject: [PATCH 07/17] redoes the clutches emotes into player avail ones --- code/datums/effects/neurotoxin.dm | 2 +- code/modules/mob/living/carbon/human/emote.dm | 50 ++++++++----------- code/modules/organs/organ_internal.dm | 8 +-- 3 files changed, 27 insertions(+), 33 deletions(-) diff --git a/code/datums/effects/neurotoxin.dm b/code/datums/effects/neurotoxin.dm index 1e7fa75d9e41..b218e75dbdce 100644 --- a/code/datums/effects/neurotoxin.dm +++ b/code/datums/effects/neurotoxin.dm @@ -117,7 +117,7 @@ if(affected_mob.is_mob_incapacitated()) affected_mob.emote(pick("seize", "thrash", "shake", "bloodcough", )) else - affected_mob.emote(pick("bloodcough", "headclutch", "wheeze")) + affected_mob.emote(pick("bloodcough", "clutchhead", "wheeze")) if(20 to 27) affected_mob.emote(pick("seize", "eyescratch", "bloodcough")) if(28 to INFINITY) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index acaa8c94e416..fcd0840a0364 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -53,6 +53,21 @@ emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE sound = 'sound/misc/clap.ogg' +/datum/emote/living/carbon/human/clutchchest + key = "clutchchest" + key_third_person = "clutcheschest" + message = "clutches at their chest!" + +/datum/emote/living/carbon/human/clutchhead + key = "clutchhead" + key_third_person = "clutcheshead" + message = "clutches at their head!" + +/datum/emote/living/carbon/human/clutchstomach + key = "clutchstomach" + key_third_person = "clutchesstomach" + message = "clutches at their stomach!" + /datum/emote/living/carbon/human/collapse key = "collapse" key_third_person = "collapses" @@ -431,6 +446,12 @@ user.drip(10) return ..() +/datum/emote/living/carbon/human/drool + key = "drool" + message = "drools." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + /datum/emote/living/carbon/human/eyebleed key = "eyebleed" message = "bleeds profusley from their eyes." @@ -476,11 +497,7 @@ stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/drool - key = "drool" - message = "drools." - stat_allowed = CONSCIOUS|UNCONSCIOUS - only_forced = TRUE + /datum/emote/living/carbon/human/foamchoke key = "foamchoke" @@ -545,15 +562,6 @@ stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/clutchstomach - key = "stomachclutch" - message = "clutches at their stomach!" - only_forced = TRUE - -/datum/emote/living/carbon/human/clutchchest - key = "chestclutch" - message = "clutches at their chest!" - only_forced = TRUE /datum/emote/living/carbon/human/tremors key = "tremors" @@ -561,11 +569,6 @@ stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/clutchhead - key = "headclutch" - message = "clutches at their head!" - only_forced = TRUE - /datum/emote/living/carbon/human/pain/legcollapse key = "legcollapse" message = "yells out in pain and collapses as their legs buckle." @@ -577,12 +580,3 @@ stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE - -/* - -/datum/emote/living/carbon/human/ - key = " - message = " - only_forced = TRUE - -*/ diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index c202c8e35ab7..16ea84b82ce3 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -218,7 +218,7 @@ else if(organ_status >= ORGAN_BROKEN && prob(50)) owner.apply_damage(0.3 * (damage/2), TOX) if(prob(10)) - owner.emote(pick("groan", "stomachclutch", "wince", "tremors", "pain")) + owner.emote(pick("groan", "clutchstomach", "wince", "tremors", "pain")) /datum/internal_organ/liver/prosthetic @@ -241,7 +241,7 @@ else if(organ_status >= ORGAN_BROKEN && prob(50)) owner.apply_damage(0.2 * (damage/3), TOX) if(prob(10)) - owner.emote(pick("groan", "chestclutch", "gasp",)) + owner.emote(pick("groan", "clutchchest", "gasp",)) /datum/internal_organ/kidneys/prosthetic @@ -274,7 +274,7 @@ owner.apply_effect(1, PARALYZE) if(owner.jitteriness < 100) owner.make_jittery(50) - owner.emote(pick("headclutch", "foam", "seizes", "shake", "thrash")) + owner.emote(pick("clutchhead", "foam", "seizes", "shake", "thrash")) to_chat(owner, SPAN_DANGER("Your body seizes up!")) /datum/internal_organ/brain/prosthetic //used by synthetic species @@ -303,7 +303,7 @@ if(organ_status >= ORGAN_BROKEN) owner.SetEyeBlind(20) if(prob(8)) - owner.emote(pick("rapidblink", "eyerub", "headclutch")) + owner.emote(pick("rapidblink", "eyerub", "clutchhead")) /datum/internal_organ/eyes/prosthetic robotic = ORGAN_ROBOT From be5729153719df3f9749359b743b147076aa82a4 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sat, 6 Jul 2024 04:11:54 -0400 Subject: [PATCH 08/17] puts the emotes in alphaetical order --- code/modules/mob/living/carbon/human/emote.dm | 125 +++++++++--------- 1 file changed, 60 insertions(+), 65 deletions(-) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index fcd0840a0364..72e119de4afa 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -434,6 +434,19 @@ //list of emotes that can't be called by players but only by code +/datum/emote/living/carbon/human/acidglob + key = "acidglob" + message = "falls to the ground coated in acid." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + +/datum/emote/living/carbon/human/badlung + key = "badlung" + message = "inhales with an awful rattling noise." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + emote_type = EMOTE_AUDIBLE + /datum/emote/living/carbon/human/bloodcough key = "bloodcough" message = "coughs up blood." @@ -452,6 +465,12 @@ stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE +/datum/emote/living/carbon/human/electrocuted + key = "electrocuted" + message = "convulses as the electricity enters their body." + stat_allowed = CONSCIOUS|UNCONSCIOUS + only_forced = TRUE + /datum/emote/living/carbon/human/eyebleed key = "eyebleed" message = "bleeds profusley from their eyes." @@ -462,14 +481,9 @@ user.drip(10) return ..() -/datum/emote/living/carbon/human/stumble - key = "stumble" - message = "stumbles around in confusion." - only_forced = TRUE - -/datum/emote/living/carbon/human/seize - key = "seize" - message = "violently convulses." +/datum/emote/living/carbon/human/eyescratch + key = "eyescratch" + message = "scratches at their eyes." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE @@ -479,61 +493,50 @@ stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/foamfall - key = "foamfall" - message = "falls to the ground and begins foaming at the mouth." - stat_allowed = CONSCIOUS|UNCONSCIOUS - only_forced = TRUE - -/datum/emote/living/carbon/human/paralyzed - key = "paralyzed" - message = "falls to the ground paralyzed." +/datum/emote/living/carbon/human/foamchoke + key = "foamchoke" + message = "spasms as they suffocate from the foam." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/eyescratch - key = "eyescratch" - message = "scratches at their eyes." +/datum/emote/living/carbon/human/foamfall + key = "foamfall" + message = "falls to the ground and begins foaming at the mouth." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE - - -/datum/emote/living/carbon/human/foamchoke - key = "foamchoke" - message = "spasms as they suffocate from the foam." +/datum/emote/living/carbon/human/neuroglob + key = "neuroglob" + message = "falls to the ground coasted in the neurotoxic liquid." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE - -/datum/emote/living/carbon/human/wheeze - key = "wheeze" - message = "raspily wheezes." - stat_allowed = CONSCIOUS|UNCONSCIOUS - emote_type = EMOTE_AUDIBLE +/datum/emote/living/carbon/human/pain/legcollapse + key = "legcollapse" + message = "yells out in pain and collapses as their legs buckle." only_forced = TRUE -/datum/emote/living/carbon/human/thrash - key = "trash" - message = "thrashes about wildly." +/datum/emote/living/carbon/human/paincollapse + key = "paincollapse" + message = "writhes in pain, unable to go on." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/acidglob - key = "acidglob" - message = "falls to the ground coated in acid." +/datum/emote/living/carbon/human/pale + key = "pale" + message = "goes pale." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/neuroglob - key = "neuroglob" - message = "falls to the ground coasted in the neurotoxic liquid." +/datum/emote/living/carbon/human/paralyzed + key = "paralyzed" + message = "falls to the ground paralyzed." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/electrocuted - key = "electrocuted" - message = "convulses as the electricity enters their body." +/datum/emote/living/carbon/human/seize + key = "seize" + message = "violently convulses." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE @@ -543,40 +546,32 @@ stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/vomit - key = "vomit" - message = "vomits profusely!" - stat_allowed = CONSCIOUS|UNCONSCIOUS - only_forced = TRUE - -/datum/emote/living/carbon/human/badlung - key = "badlung" - message = "breathes with an awful rattling noise." - stat_allowed = CONSCIOUS|UNCONSCIOUS +/datum/emote/living/carbon/human/stumble + key = "stumble" + message = "stumbles around in confusion." only_forced = TRUE - emote_type = EMOTE_AUDIBLE -/datum/emote/living/carbon/human/pale - key = "pale" - message = "goes pale." +/datum/emote/living/carbon/human/thrash + key = "trash" + message = "thrashes about wildly." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE - /datum/emote/living/carbon/human/tremors key = "tremors" message = "tremors." stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/pain/legcollapse - key = "legcollapse" - message = "yells out in pain and collapses as their legs buckle." +/datum/emote/living/carbon/human/vomit + key = "vomit" + message = "vomits profusely!" + stat_allowed = CONSCIOUS|UNCONSCIOUS only_forced = TRUE -/datum/emote/living/carbon/human/paincollapse - key = "paincollapse" - message = "writhes in pain, unable to go on." +/datum/emote/living/carbon/human/wheeze + key = "wheeze" + message = "raspily wheezes." stat_allowed = CONSCIOUS|UNCONSCIOUS + emote_type = EMOTE_AUDIBLE only_forced = TRUE - From 77644f528cfb7dfdee118bbdd57813b14782320e Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sat, 6 Jul 2024 05:30:29 -0400 Subject: [PATCH 09/17] cant sleep, mass fix of the "me", 1 --- code/_onclick/ventcrawl.dm | 2 +- code/datums/ammo/bullet/bullet.dm | 2 +- code/datums/ammo/bullet/shotgun.dm | 4 +-- code/datums/elements/suturing.dm | 2 +- .../objects/items/devices/defibrillator.dm | 2 +- code/game/objects/items/handcuffs.dm | 4 +-- code/game/objects/items/legcuffs.dm | 4 +-- code/game/objects/items/stacks/medical.dm | 4 +-- code/game/objects/items/weapons/blades.dm | 4 +-- code/modules/mob/death.dm | 2 +- .../living/carbon/human/human_attackhand.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 4 +-- .../mob/living/carbon/xenomorph/Embryo.dm | 2 +- code/modules/organs/limbs.dm | 4 +-- .../chemistry_properties/prop_negative.dm | 2 +- code/modules/surgery/amputation.dm | 30 ++++++++--------- code/modules/surgery/bones.dm | 8 ++--- code/modules/surgery/brainrepair.dm | 8 ++--- code/modules/surgery/chestburster.dm | 6 ++-- code/modules/surgery/eye.dm | 16 +++++----- code/modules/surgery/face.dm | 14 ++++---- code/modules/surgery/generic.dm | 32 +++++++++---------- code/modules/surgery/internal_bleeding.dm | 4 +-- code/modules/surgery/mcomp_tendwounds.dm | 12 +++---- code/modules/surgery/organs_internal.dm | 4 +-- code/modules/surgery/robolimb_repair.dm | 2 +- code/modules/surgery/robolimbs.dm | 10 +++--- code/modules/surgery/tendwounds.dm | 2 +- 28 files changed, 96 insertions(+), 96 deletions(-) diff --git a/code/_onclick/ventcrawl.dm b/code/_onclick/ventcrawl.dm index 92c51150de82..cbad12106cdd 100644 --- a/code/_onclick/ventcrawl.dm +++ b/code/_onclick/ventcrawl.dm @@ -82,7 +82,7 @@ return visible_message(SPAN_NOTICE("[src] begins climbing into [vent_found]."), SPAN_NOTICE("We begin climbing into [vent_found].")) - emote("me", 1, "begins crawling into [vent_found].") + emote("me", message = "begins crawling into [vent_found].") vent_found.animate_ventcrawl() if(!do_after(src, 45, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) vent_found.animate_ventcrawl_reset() diff --git a/code/datums/ammo/bullet/bullet.dm b/code/datums/ammo/bullet/bullet.dm index 03f7eb130b54..c6d9f1e40fb0 100644 --- a/code/datums/ammo/bullet/bullet.dm +++ b/code/datums/ammo/bullet/bullet.dm @@ -47,7 +47,7 @@ SPAN_HIGHDANGER("[user] aims \the [fired_from] directly at your head!"), SPAN_DANGER("[user] aims \the [fired_from] at [execution_target]'s head!")) - user.emote("me", 1, "aims [fired_from] at [execution_target]'s head!") + user.emote("me", message = "aims [fired_from] at [execution_target]'s head!") user.next_move += 1.1 SECONDS //PB has no click delay; readding it here to prevent people accidentally queuing up multiple executions. diff --git a/code/datums/ammo/bullet/shotgun.dm b/code/datums/ammo/bullet/shotgun.dm index fa9d3643b8ed..80ddc9a1fd57 100644 --- a/code/datums/ammo/bullet/shotgun.dm +++ b/code/datums/ammo/bullet/shotgun.dm @@ -35,7 +35,7 @@ living_mob.apply_effect(2, SLOW) to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) if(ishuman(living_mob)) - living_mob.emote("me", 1, "is knocked off their feet by the [src]") + living_mob.emote("me", message = "is knocked off their feet by the [src]") living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) /datum/ammo/bullet/shotgun/beanbag @@ -262,7 +262,7 @@ living_mob.apply_effect(2, SLOW) to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) if(ishuman(living_mob)) - living_mob.emote("me", 1, "is knocked off their feet by the [src]") + living_mob.emote("me", message = "is knocked off their feet by the [src]") living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) /datum/ammo/bullet/shotgun/heavy/beanbag diff --git a/code/datums/elements/suturing.dm b/code/datums/elements/suturing.dm index 53459dce07d7..3f72b1866db9 100644 --- a/code/datums/elements/suturing.dm +++ b/code/datums/elements/suturing.dm @@ -169,7 +169,7 @@ YOU TO 200 DAMAGE. I ASK NOT FOR MY OWN MEDIC EGOSTROKING, BUT FOR THE GOOD OF T SPAN_HELPFUL("[user] [description_verb]s some of the [description_wounds] on your [target_limb.display_name]."), SPAN_NOTICE("[user] [description_verb]s some of the [description_wounds] on [possessive_their] [target_limb.display_name].")) - user.emote("me", 1, "[description_verb]s some of the [description_wounds] on [possessive_their] [target_limb.display_name].") + user.emote("me", message = "[description_verb]s some of the [description_wounds] on [possessive_their] [target_limb.display_name].") suture(suturing_item, user, target, target_limb, TRUE) //Loop - untreated wounds remain. //////////////////////////////////// diff --git a/code/game/objects/items/devices/defibrillator.dm b/code/game/objects/items/devices/defibrillator.dm index ec9dc11353f3..b824fd3ac67c 100644 --- a/code/game/objects/items/devices/defibrillator.dm +++ b/code/game/objects/items/devices/defibrillator.dm @@ -172,7 +172,7 @@ user.visible_message(SPAN_NOTICE("[user] starts setting up the paddles on [H]'s chest"), \ SPAN_HELPFUL("You start setting up the paddles on [H]'s chest.")) - user.emote("me", 1, "starts setting up the paddles on [H]'s chest.") + user.emote("me", message = "starts setting up the paddles on [H]'s chest.") playsound(get_turf(src),'sound/items/defib_charge.ogg', 25, 0) //Do NOT vary this tune, it needs to be precisely 7 seconds //Taking square root not to make defibs too fast... diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 06bd2610294b..bcbf4a5788fd 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -43,7 +43,7 @@ msg_admin_attack("[key_name(user)] attempted to handcuff [key_name(human_mob)] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).", loc.x, loc.y, loc.z) user.visible_message(SPAN_NOTICE("[user] tries to put [src] on [human_mob].")) - user.emote("me", 1, "attempts to put [src] on [human_mob].") + user.emote("me", message = "attempts to put [src] on [human_mob].") if(do_after(user, cuff_delay, INTERRUPT_MOVED, BUSY_ICON_HOSTILE, human_mob, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) if(src == user.get_active_hand() && !human_mob.handcuffed && Adjacent(user)) if(iscarbon(human_mob)) @@ -56,7 +56,7 @@ user.count_niche_stat(STATISTICS_NICHE_HANDCUFF) else if(ismonkey(target)) - user.emote("me", 1, "attempts to put [src] on [target].") + user.emote("me", message = "attempts to put [src] on [target].") user.visible_message(SPAN_NOTICE("[user] tries to put [src] on [target].")) if(do_after(user, 30, INTERRUPT_MOVED, BUSY_ICON_HOSTILE, target, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) if(src == user.get_active_hand() && !target.handcuffed && Adjacent(user)) diff --git a/code/game/objects/items/legcuffs.dm b/code/game/objects/items/legcuffs.dm index fdbee7c6ffdd..aeff0c2c54e3 100644 --- a/code/game/objects/items/legcuffs.dm +++ b/code/game/objects/items/legcuffs.dm @@ -28,7 +28,7 @@ msg_admin_attack("[key_name(user)] attempted to legcuff [key_name(human_target)] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).", loc.x, loc.y, loc.z) user.visible_message(SPAN_NOTICE("[user] tries to put [src] on [human_target].")) - user.emote("me", 1, "tries to put [src] on [human_target]") + user.emote("me", message = "tries to put [src] on [human_target]") if(do_after(user, cuff_delay, INTERRUPT_MOVED, BUSY_ICON_HOSTILE, human_target, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) if(src == user.get_active_hand() && !human_target.legcuffed && Adjacent(user)) if(iscarbon(human_target)) @@ -41,7 +41,7 @@ user.count_niche_stat(STATISTICS_NICHE_HANDCUFF) else if (ismonkey(target)) - user.emote("me", 1, "tries to put [src] on [target]") + user.emote("me", message = "tries to put [src] on [target]") user.visible_message(SPAN_NOTICE("[user] tries to put [src] on [target].")) if(do_after(user, 30, INTERRUPT_MOVED, BUSY_ICON_HOSTILE, target, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) if(src == user.get_active_hand() && !target.legcuffed && Adjacent(user)) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 71198603ea57..3253a781abff 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -303,7 +303,7 @@ SPAN_HELPFUL("You start splinting [possessive] [affecting.display_name]."), SPAN_HELPFUL("[user] starts splinting your [affecting.display_name]."), SPAN_NOTICE("[user] starts splinting [possessive_their] [affecting.display_name].")) - user.emote("me", 1, "begins splinting [M]'s [affecting.display_name].") + user.emote("me", message = "begins splinting [M]'s [affecting.display_name].") else if((!user.hand && (affecting.name in list("r_arm", "r_hand"))) || (user.hand && (affecting.name in list("l_arm", "l_hand")))) to_chat(user, SPAN_WARNING("You can't apply a splint to the \ @@ -314,7 +314,7 @@ SPAN_HELPFUL("You start splinting your [affecting.display_name]."), , SPAN_NOTICE("[user] starts splinting \his [affecting.display_name].")) - user.emote("me", 1, "begins splinting their [affecting.display_name].") + user.emote("me", message = "begins splinting their [affecting.display_name].") if(affecting.apply_splints(src, user, M, indestructible_splints)) // Referenced in external organ helpers. diff --git a/code/game/objects/items/weapons/blades.dm b/code/game/objects/items/weapons/blades.dm index 5a2b6ce7b1ba..3fabcb1a8acb 100644 --- a/code/game/objects/items/weapons/blades.dm +++ b/code/game/objects/items/weapons/blades.dm @@ -172,14 +172,14 @@ SPAN_NOTICE("[user] begins to examine your body for shrapnel to dig out. Hold still, this will probably hurt..."), SPAN_NOTICE("[user] begins to examine [embedded_human]'s body for shrapnel.")) address_mode = "out of [embedded_human]'s" //includes "out of " to prevent capital-T 'The unknown'. - user.emote("me", 1, "begins examining [embedded_human]'s body for shrapnel.") + user.emote("me", message = "begins examining [embedded_human]'s body for shrapnel.") if(!do_after(user, 20, INTERRUPT_ALL, BUSY_ICON_FRIENDLY, embedded_human, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) to_chat(user, SPAN_NOTICE("You were interrupted!")) return else user.visible_message(SPAN_NOTICE("[user] starts checking \his body for shrapnel."), \ SPAN_NOTICE("You begin searching your body for shrapnel.")) - user.emote("me", 1, "begins to check their body for shrapnel.") + user.emote("me", message = "begins to check their body for shrapnel.") address_mode = "out of your" if(!do_after(embedded_human, 20, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) to_chat(user, SPAN_NOTICE("You were interrupted!")) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index e1b334350622..43eb472430bc 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -50,7 +50,7 @@ if(!gibbed) visible_message("\The [src.name] [deathmessage]") - emote("me", 1, "[deathmessage]") + emote("me", message = "[deathmessage]") if(cause_data && !istype(cause_data)) stack_trace("death called with string cause ([cause_data]) instead of datum") diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 749da8302eed..d64cdd29ba34 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -44,7 +44,7 @@ attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] starts performing CPR on [src]."), SPAN_HELPFUL("You start performing CPR on [src].")) - attacking_mob.emote("me", 1, "begins performing CPR on [src]") + attacking_mob.emote("me", message = "begins performing CPR on [src]") cpr_attempt_timer = world.time + HUMAN_STRIP_DELAY * attacking_mob.get_skill_duration_multiplier(SKILL_MEDICAL) if(do_after(attacking_mob, HUMAN_STRIP_DELAY * attacking_mob.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index a672893a2445..7d4c75904225 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -23,10 +23,10 @@ Contains most of the procs that are called when a mob is attacked by something drop_inv_item_on_ground(c_hand) if (affected.status & (LIMB_ROBOT|LIMB_SYNTHSKIN)) - emote("me", 1, "[affected.display_name] malfunctions, rops what it was holding!") + emote("me", message = "[affected.display_name] malfunctions, rops what it was holding!") else var/emote_scream = pick("winces in pain,", "cries out,") - emote("me", 1, "[(!pain.feels_pain) ? "" : emote_scream ] dropping what was in their [affected.display_name]!") + emote("me", message = "[(!pain.feels_pain) ? "" : emote_scream ] dropping what was in their [affected.display_name]!") ..(stun_amount, agony_amount, def_zone) diff --git a/code/modules/mob/living/carbon/xenomorph/Embryo.dm b/code/modules/mob/living/carbon/xenomorph/Embryo.dm index 197820c035f6..cce7b43581b8 100644 --- a/code/modules/mob/living/carbon/xenomorph/Embryo.dm +++ b/code/modules/mob/living/carbon/xenomorph/Embryo.dm @@ -332,7 +332,7 @@ for(var/mob/living/carbon/xenomorph/larva/larva_embryo in victim) var/datum/hive_status/hive = GLOB.hive_datum[larva_embryo.hivenumber] - larva_embryo.emote("me", 1, "rips their way out from inside the chest of [victim]") + larva_embryo.emote("me", message = "rips their way out from inside the chest of [victim]") larva_embryo.forceMove(get_turf(victim)) //moved to the turf directly so we don't get stuck inside a cryopod or another mob container. playsound(larva_embryo, pick('sound/voice/alien_chestburst.ogg','sound/voice/alien_chestburst2.ogg'), 25) diff --git a/code/modules/organs/limbs.dm b/code/modules/organs/limbs.dm index 37ebac207c28..50e74d09627a 100644 --- a/code/modules/organs/limbs.dm +++ b/code/modules/organs/limbs.dm @@ -1204,11 +1204,11 @@ treat_grafted var tells it to apply to grafted but unsalved wounds, for burn kit if(prob(15)) owner.drop_inv_item_on_ground(c_hand) var/emote_scream = pick("screams in pain and", "lets out a sharp cry and", "cries out and") - owner.emote("me", 1, "[(!owner.pain.feels_pain) ? "" : emote_scream ] drops what they were holding in their [hand_name]!") + owner.emote("me", message = "[(!owner.pain.feels_pain) ? "" : emote_scream ] drops what they were holding in their [hand_name]!") if(is_malfunctioning()) if(prob(10)) owner.drop_inv_item_on_ground(c_hand) - owner.emote("me", 1, "drops what they were holding, their [hand_name] malfunctioning!") + owner.emote("me", message = "drops what they were holding, their [hand_name] malfunctioning!") var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() spark_system.set_up(5, 0, owner) spark_system.attach(owner) diff --git a/code/modules/reagents/chemistry_properties/prop_negative.dm b/code/modules/reagents/chemistry_properties/prop_negative.dm index 783584102182..7d1731d26bf7 100644 --- a/code/modules/reagents/chemistry_properties/prop_negative.dm +++ b/code/modules/reagents/chemistry_properties/prop_negative.dm @@ -258,7 +258,7 @@ L.add_bleeding(I, TRUE) L.wounds += I if(prob(POTENCY_MULTIPLIER_VHIGH * potency)) - spawn L.owner.emote("me", 1, "coughs up blood!") + spawn L.owner.emote("me", message = "coughs up blood!") L.owner.drip(10) /datum/chem_property/negative/hemorrhaging/process_overdose(mob/living/M, potency = 1, delta_time) diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm index 93274923a59b..752ff3eda960 100644 --- a/code/modules/surgery/amputation.dm +++ b/code/modules/surgery/amputation.dm @@ -75,7 +75,7 @@ SPAN_WARNING("[user] has severed the muscles in your [surgery.affected_limb.display_name]!"), SPAN_NOTICE("[user] has severed the muscles in [target]'s [surgery.affected_limb.display_name].")) - user.emote("me", 1, "severs the muscles in [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "severs the muscles in [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] successfully began an amputation on [key_name(target)]'s [surgery.affected_limb.display_name] with [tool ? "\the [tool]" : "their hands"], starting [surgery].") /datum/surgery_step/cut_muscle/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -84,7 +84,7 @@ SPAN_WARNING("[user]'s hand slips, slicing your [surgery.affected_limb.display_name] in the wrong place!"), SPAN_WARNING("[user]'s hand slips, slicing [target]'s [surgery.affected_limb.display_name] in the wrong place!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(15, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to begin an amputation on [key_name(target)]'s [surgery.affected_limb.display_name] with [tool ? "\the [tool]" : "their hands"], aborting [surgery].") return FALSE @@ -119,7 +119,7 @@ SPAN_NOTICE("[user] has reconnected the muscles in your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] has reconnected the muscles in [target]'s [surgery.affected_limb.display_name].")) - user.emote("me", 1, "finishes reconnecting the muscles in [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "finishes reconnecting the muscles in [target]'s [surgery.affected_limb.display_name].") complete(target, surgery) log_interact(user, target, "[key_name(user)] successfully aborted an amputation on [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], ending [surgery].") @@ -129,7 +129,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your [surgery.affected_limb.display_name] with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s [surgery.affected_limb.display_name] with \the [tool]!")) - user.emote("me", 1, "slips, slicing [target] in the wrong place!") + user.emote("me", message = "slips, slicing [target] in the wrong place!") target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to abort an amputation on [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") return FALSE @@ -170,7 +170,7 @@ SPAN_WARNING("[user] cuts your [surgery.affected_limb.display_name] off!"), SPAN_NOTICE("[user] cuts [target]'s [surgery.affected_limb.display_name] off.")) - user.emote("me", 1, "saws [target]'s [surgery.affected_limb.display_name] off.") + user.emote("me", message = "saws [target]'s [surgery.affected_limb.display_name] off.") user.count_niche_stat(STATISTICS_NICHE_SURGERY_AMPUTATE) surgery.affected_limb.droplimb(amputation = TRUE, surgery_in_progress = TRUE) target.incision_depths[target_zone] = SURGERY_DEPTH_SURFACE @@ -195,7 +195,7 @@ SPAN_WARNING("[user] hacks your [surgery.affected_limb.display_name] off!"), SPAN_WARNING("[user] hacks [target]'s [surgery.affected_limb.display_name] off!")) - user.emote("me", 1, "hacks [target]'s [surgery.affected_limb.display_name] off.") + user.emote("me", message = "hacks [target]'s [surgery.affected_limb.display_name] off.") user.animation_attack_on(target) user.count_niche_stat(STATISTICS_NICHE_SURGERY_AMPUTATE) surgery.affected_limb.droplimb() //This will sever the limb messily and reset incision depth. The stump cleanup surgery will have to be done to properly amputate, but doing this saved two seconds. Worth it? @@ -229,7 +229,7 @@ SPAN_NOTICE("[user] cuts away uneven flesh where your [surgery.affected_limb.display_name] used to be."), SPAN_NOTICE("[user] cuts away uneven flesh where [target]'s [surgery.affected_limb.display_name] used to be.")) - user.emote("me", 1, "cuts away uneven flesh from [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "cuts away uneven flesh from [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] successfully began cleaning up the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], possibly starting [surgery].") /datum/surgery_step/carve_amputation/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -238,7 +238,7 @@ SPAN_WARNING("[user]'s hand slips, cutting your [surgery.affected_limb.parent.display_name] open!"), SPAN_WARNING("[user]'s hand slips, cutting [target]'s [surgery.affected_limb.parent.display_name] open!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to clean up the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], possibly aborting [surgery].") return FALSE @@ -268,7 +268,7 @@ SPAN_NOTICE("[user] finishes repairing the blood vessels in your stump."), SPAN_NOTICE("[user] finishes repairing the blood vessels in [target]'s stump.")) - user.emote("me", 1, "repairs the blood vessels in [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "repairs the blood vessels in [target]'s [surgery.affected_limb.display_name].") surgery.affected_limb.remove_all_bleeding() log_interact(user, target, "[key_name(user)] mended blood vessels in the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") @@ -284,7 +284,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your [surgery.affected_limb.display_name]'s stump with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s [surgery.affected_limb.display_name]'s stump with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to mend blood vessels in the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") return FALSE @@ -315,7 +315,7 @@ SPAN_NOTICE("[user] finishes repairing the stump of your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] finishes repairing the stump of [target]'s [surgery.affected_limb.display_name].")) - user.emote("me", 1, "repairs the stump of [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "repairs the stump of [target]'s [surgery.affected_limb.display_name].") surgery.affected_limb.setAmputatedTree() target.pain.recalculate_pain() log_interact(user, target, "[key_name(user)] closed the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], ending [surgery].") @@ -326,7 +326,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your [surgery.affected_limb.display_name]'s stump with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s [surgery.affected_limb.display_name]'s stump with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to close the stump of [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") return FALSE @@ -355,7 +355,7 @@ SPAN_NOTICE("[user] cuts through the last of the clamps. Your prosthetic [surgery.affected_limb.display_name] can now be removed."), SPAN_NOTICE("[user] cuts through the last of the clamps. [target]'s prosthetic [surgery.affected_limb.display_name] can now be removed.")) - user.emote("me", 1, "cuts through the last of the clamps on [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "cuts through the last of the clamps on [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] successfully began repairing the stump of [key_name(target)]'s severed prosthetic [surgery.affected_limb.display_name] with \the [tool], starting [surgery].") /datum/surgery_step/sever_prosthetic_clamps/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -364,7 +364,7 @@ SPAN_WARNING("[user]'s hand slips, cutting into the flesh of your [surgery.affected_limb.display_name]!"), SPAN_WARNING("[user]'s hand slips, cutting into the flesh of [target]'s [surgery.affected_limb.display_name]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(20, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to begin repairing the stump of [key_name(target)]'s severed prosthetic [surgery.affected_limb.display_name] with \the [tool], aborting [surgery].") return FALSE @@ -393,7 +393,7 @@ SPAN_NOTICE("[user] has revealed the bare stump of your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] has revealed the bare stump of [target]'s [surgery.affected_limb.display_name].")) - user.emote("me", 1, "reveals the bare stump of [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "reveals the bare stump of [target]'s [surgery.affected_limb.display_name].") surgery.affected_limb.setAmputatedTree() target.pain.recalculate_pain() log_interact(user, target, "[key_name(user)] successfully removed the last of [key_name(target)]'s severed prosthetic [surgery.affected_limb.display_name], ending [surgery].") diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index fead3857a8bc..4ab82426e17e 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -120,7 +120,7 @@ SPAN_NOTICE("[user] crudely reinforces the bones in your [surgery.affected_limb.display_name] like [improvised_desc]."), SPAN_NOTICE("[user] crudely reinforces the bones in [target]'s [surgery.affected_limb.display_name] like [improvised_desc].")) - user.emote("me", 1, "mends the bones in [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "mends the bones in [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] successfully began repairing bones in [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], starting [surgery].") /datum/surgery_step/mend_bones/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/bone_repair/surgery) @@ -135,7 +135,7 @@ SPAN_WARNING("[user]'s hand slips, damaging the bones in your [surgery.affected_limb.display_name] even more!"), SPAN_WARNING("[user]'s hand slips, damaging the bones in [target]'s [surgery.affected_limb.display_name] even more!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to begin repairing bones in [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], aborting [surgery].") @@ -200,7 +200,7 @@ SPAN_NOTICE("[user] sets the bones in your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] sets the bones in [target]'s [surgery.affected_limb.display_name].")) - user.emote("me", 1, "sets the bones in [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "sets the bones in [target]'s [surgery.affected_limb.display_name].") user.count_niche_stat(STATISTICS_NICHE_SURGERY_BONES) if(surgery.affected_limb.status & LIMB_SPLINTED_INDESTRUCTIBLE) new /obj/item/stack/medical/splint/nano(get_turf(target), 1) @@ -221,7 +221,7 @@ SPAN_WARNING("[user]'s hand slips, damaging the bones in your [surgery.affected_limb.display_name] with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging the bones in [target]'s [surgery.affected_limb.display_name] with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to set bones in [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool].") return FALSE diff --git a/code/modules/surgery/brainrepair.dm b/code/modules/surgery/brainrepair.dm index 0aca16b46383..9f9ac8dc5771 100644 --- a/code/modules/surgery/brainrepair.dm +++ b/code/modules/surgery/brainrepair.dm @@ -62,7 +62,7 @@ target.jitteriness = 0 target.pain.recalculate_pain() - user.emote("me", 1, "picks the bone fragments out of [target]'s brain.") + user.emote("me", message = "picks the bone fragments out of [target]'s brain.") log_interact(user, target, "[key_name(user)] finished taking bone chips out of [key_name(target)]'s brain with \the [tool], finishing [surgery].") /datum/surgery_step/remove_bone_chips/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -73,7 +73,7 @@ log_interact(user, target, "[key_name(user)] failed to take the bone chips out of [key_name(target)]'s brain with \the [tool], possibly aborting [surgery].") - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") var/datum/wound/internal_bleeding/I = new (0) surgery.affected_limb.add_bleeding(I, TRUE) surgery.affected_limb.wounds += I @@ -102,7 +102,7 @@ SPAN_NOTICE("[user] finishes mending the hematoma in your brain."), SPAN_NOTICE("[user] finishes mending the hematoma in [target]'s brain.")) - user.emote("me", 1, "mends the hematoma in [target]'s brain.") + user.emote("me", message = "mends the hematoma in [target]'s brain.") log_interact(user, target, "[key_name(user)] finished mending a hematoma in [key_name(target)]'s brain with \the [tool], beginning [surgery].") var/datum/internal_organ/brain/B = target.internal_organs_by_name["brain"] @@ -118,7 +118,7 @@ SPAN_WARNING("[user]'s hand slips, bruising your brain with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, bruising [target]'s brain with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to mend the hematoma in [key_name(target)]'s brain with \the [tool], aborting [surgery].") target.apply_damage(15, BRUTE, target_zone) diff --git a/code/modules/surgery/chestburster.dm b/code/modules/surgery/chestburster.dm index 0783f4f9eda1..6456a9c92ee6 100644 --- a/code/modules/surgery/chestburster.dm +++ b/code/modules/surgery/chestburster.dm @@ -96,7 +96,7 @@ /datum/surgery_step/cut_larval_pseudoroots/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) user.visible_message(SPAN_WARNING("[user]'s hand slips and a jet of acid spurts as \he slices the larva with \the [tool]!"), SPAN_WARNING("Your hand slips and a jet of acid spurts as you slice the larva with \the [tool]!")) - user.emote("me", 1, "slips, cutting open a psuedoroot!") + user.emote("me", message = "slips, cutting open a psuedoroot!") if(target.stat == CONSCIOUS) @@ -170,7 +170,7 @@ A.forceMove(target.loc) target.status_flags &= ~XENO_HOST - user.emote("me", 1, "pries out the embryo from [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "pries out the embryo from [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] removed an embryo from [key_name(target)]'s ribcage with [tool ? "\the [tool]" : "their hands"], ending [surgery].") /datum/surgery_step/remove_larva/failure(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -179,7 +179,7 @@ SPAN_WARNING("[user]'s hand slips, bruising your organs and spilling acid in your [surgery.affected_limb.cavity]!"), SPAN_WARNING("[user]'s hand slips, bruising [target]'s organs and spilling acid in \his [surgery.affected_limb.cavity]!")) - user.emote("me", 1, "slips, leaking acid everywhere insided [target]!") + user.emote("me", message = "slips, leaking acid everywhere insided [target]!") var/datum/internal_organ/I = pick(surgery.affected_limb.internal_organs) I.take_damage(5,0) if(target.stat == CONSCIOUS) diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm index 108937fe89b4..1733491f68e5 100644 --- a/code/modules/surgery/eye.dm +++ b/code/modules/surgery/eye.dm @@ -50,7 +50,7 @@ SPAN_NOTICE("[user] has separated your corneas."), SPAN_NOTICE("[user] has separated [target]'s corneas.")) - user.emote("me", 1, "seperates [target]'s corneas.") + user.emote("me", message = "seperates [target]'s corneas.") log_interact(user, target, "[key_name(user)] separated the cornea on [key_name(target)]'s eyes with \the [tool], starting [surgery].") target.incision_depths[target_zone] = SURGERY_DEPTH_SHALLOW @@ -62,7 +62,7 @@ SPAN_WARNING("[user]'s hand slips, slicing your eyes with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, slicing [target]'s eyes with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to separate the cornea on [key_name(target)]'s eyes with \the [tool], aborting [surgery].") target.apply_damage(10, BRUTE, target_zone) @@ -91,7 +91,7 @@ SPAN_NOTICE("[user] has lifted your corneas."), SPAN_NOTICE("[user] has lifted [target]'s corneas.")) - user.emote("me", 1, "lifts [target]'s corneas.") + user.emote("me", message = "lifts [target]'s corneas.") log_interact(user, target, "[key_name(user)] lifted the cornea from [key_name(target)]'s eyes with \the [tool].") /datum/surgery_step/lift_eyes/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/eye_repair/surgery) @@ -100,7 +100,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your eyes with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s eyes with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to lift the cornea from [key_name(target)]'s eyes with \the [tool].") target.apply_damage(10, BRUTE, target_zone) @@ -129,7 +129,7 @@ SPAN_NOTICE("[user] mends the nerves and lenses in your eyes."), SPAN_NOTICE("[user] mends the nerves and lenses in [target]'s eyes.")) - user.emote("me", 1, "mends the nerves and lenses in [target]'s eyes.") + user.emote("me", message = "mends the nerves and lenses in [target]'s eyes.") log_interact(user, target, "[key_name(user)] mended the nerves and lenses in [key_name(target)]'s eyes with \the [tool].") /datum/surgery_step/mend_eyes/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/eye_repair/surgery) @@ -138,7 +138,7 @@ SPAN_WARNING("[user]'s hand slips, damaging your eyes with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging [target]'s eyes with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to mend the nerves and lenses in [key_name(target)]'s eyes with \the [tool].") target.apply_damage(10, BRUTE, target_zone, sharp = 1) @@ -167,7 +167,7 @@ SPAN_NOTICE("[user] reattaches your corneas."), SPAN_NOTICE("[user] reattaches [target]'s corneas.")) - user.emote("me", 1, "reattatches [target]'s corneas.") + user.emote("me", message = "reattatches [target]'s corneas.") log_interact(user, target, "[key_name(user)] cauterized the incision around [key_name(target)]'s eyes with \the [tool], ending [surgery].") target.incision_depths[target_zone] = SURGERY_DEPTH_SURFACE @@ -183,7 +183,7 @@ SPAN_WARNING("[user]'s hand slips, searing your eyes with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, searing [target]'s eyes with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to cauterize the incision around [key_name(target)]'s eyes with \the [tool].") target.apply_damage(15, BURN, target_zone) diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 6c34a2aa6406..5ac9822ef2bb 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -43,7 +43,7 @@ SPAN_NOTICE("[user] finishes opening incisions on your face and neck."), SPAN_NOTICE("[user] finishes opening incisions on [target]'s face and neck.")) - user.emote("me", 1, "makes an incision [target]'s face and neck.") + user.emote("me", message = "makes an incision [target]'s face and neck.") target.incision_depths[target_zone] = SURGERY_DEPTH_SHALLOW log_interact(user, target, "[key_name(user)] cut open [key_name(target)]'s face and neck with \the [tool].") @@ -53,7 +53,7 @@ SPAN_DANGER("[user]'s hand slips, slicing [target]'s throat wth \the [tool]!"), SPAN_DANGER("[user]'s hand slips, slicing [target]'s throat wth \the [tool]!")) - user.emote("me", 1, "slips, slicing [target]'s throat!") + user.emote("me", message = "slips, slicing [target]'s throat!") log_interact(user, target, "[key_name(user)] failed to cut open [key_name(target)]'s face and neck with \the [tool].") target.apply_damage(40, BRUTE, target_zone) @@ -84,7 +84,7 @@ SPAN_NOTICE("[user] mends your vocal cords."), SPAN_NOTICE("[user] mends [target]'s vocal cords.")) - user.emote("me", 1, "mends [target]'s vocal chords.") + user.emote("me", message = "mends [target]'s vocal chords.") log_interact(user, target, "[key_name(user)] mended [key_name(target)]'s vocal cords with \the [tool].") /datum/surgery_step/mend_vocals/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -121,7 +121,7 @@ SPAN_NOTICE("[user] reconstructs your facial features."), SPAN_NOTICE("[user] reconstructs [target]'s facial features.")) - user.emote("me", 1, "reconstructs [target]'s facial features.") + user.emote("me", message = "reconstructs [target]'s facial features.") log_interact(user, target, "[key_name(user)] pulled the skin on [key_name(target)]'s face back in place with \the [tool].") /datum/surgery_step/pull_skin/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -130,7 +130,7 @@ SPAN_WARNING("[user]'s hand slips, tearing skin on your face with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, tearing skin on [target]'s face with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to pull the skin on [key_name(target)]'s face back in place with \the [tool].") target.apply_damage(10, BRUTE, target_zone) @@ -159,7 +159,7 @@ SPAN_NOTICE("[user] cauterizes the incisions on your face and neck."), SPAN_NOTICE("[user] cauterizes the incision on [target]'s face and neck.")) - user.emote("me", 1, "cauterizes the incision on [target]'s facial features.") + user.emote("me", message = "cauterizes the incision on [target]'s facial features.") log_interact(user, target, "[key_name(user)] cauterized [key_name(target)]'s face and neck with \the [tool], ending [surgery].") @@ -175,7 +175,7 @@ SPAN_WARNING("[user]'s hand slips, leaving a small burn on your face!"), SPAN_WARNING("[user]'s hand slips, leaving a small burn on [target]'s face!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to cauterize [key_name(target)]'s face and neck with \the [tool].") target.apply_damage(5, BURN, target_zone) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 597d6dd4928d..599214f633db 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -78,7 +78,7 @@ else surgery.status++ // synth skin doesn't cause bleeders - user.emote("me", 1, "makes an incision on [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "makes an incision on [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_SHALLOW //Descriptionwise this is done by the retractor, but putting it here means people can examine to see if an unfinished surgery has been done. user.add_blood(target.get_blood_color(), BLOOD_HANDS) log_interact(user, target, "[key_name(user)] made an incision in [key_name(target)]'s [surgery.affected_limb.display_name], beginning [surgery].") @@ -109,7 +109,7 @@ target.apply_damage(10, BRUTE, target_zone) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to make an incision in [key_name(target)]'s [surgery.affected_limb.display_name], aborting [surgery].") return FALSE @@ -179,7 +179,7 @@ SPAN_NOTICE("[user] clamps bleeders in your [parse_zone(target_zone)]."), SPAN_NOTICE("[user] clamps bleeders in [target]'s [parse_zone(target_zone)].")) - user.emote("me", 1, "clamps the bleeders in [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "clamps the bleeders in [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] clamped bleeders in [key_name(target)]'s [surgery.affected_limb.display_name], possibly ending [surgery].") var/surface_modifier = target.buckled?.surgery_duration_multiplier @@ -205,7 +205,7 @@ SPAN_WARNING("[user]'s hand slips, tearing blood vessels in your [surgery.affected_limb.display_name] and causing massive bleeding!"), SPAN_WARNING("[user]'s hand slips, tearing blood vessels in [target]'s [surgery.affected_limb.display_name] and causing massive bleeding!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(4, BRUTE, target_zone) surgery.affected_limb.add_bleeding(null, FALSE, 15) log_interact(user, target, "[key_name(user)] failed to clamp bleeders in [key_name(target)]'s [surgery.affected_limb.display_name], possibly ending [surgery].") @@ -274,7 +274,7 @@ SPAN_NOTICE("[user] holds the incision on your [surgery.affected_limb.display_name] open with \the [tool]."), SPAN_NOTICE("[user] holds the incision on [target]'s [surgery.affected_limb.display_name] open with \the [tool].")) - user.emote("me", 1, "retracts the skin on [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "retracts the skin on [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] retracted skin in [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") /datum/surgery_step/retract_skin/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -302,7 +302,7 @@ SPAN_WARNING("[user] tears the incision on your [surgery.affected_limb.display_name] open with \the [tool]!"), SPAN_WARNING("[user] tears the incision on [target]'s [surgery.affected_limb.display_name] open with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(15, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] violently retracted skin in [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") return TRUE //Failing to finish this step doesn't fail it, it just means you do it a lot more violently. @@ -355,7 +355,7 @@ SPAN_NOTICE("[user] cauterizes the incision on your [surgery.affected_limb.display_name]."), SPAN_NOTICE("[user] cauterizes the incision on [target]'s [surgery.affected_limb.display_name].")) - user.emote("me", 1, "cauterizes the incision on [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "cauterizes the incision on [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_SURFACE surgery.affected_limb.remove_all_bleeding(TRUE, FALSE) target.pain.recalculate_pain() @@ -367,7 +367,7 @@ SPAN_WARNING("[user]'s hand slips, leaving a small burn on your [surgery.affected_limb.display_name]!"), SPAN_WARNING("[user]'s hand slips, leaving a small burn on [target]'s [surgery.affected_limb.display_name]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(3, BURN, target_zone) log_interact(user, target, "[key_name(user)] failed to cauterize an incision in [key_name(target)]'s [surgery.affected_limb.display_name], aborting [surgery].") return FALSE @@ -431,7 +431,7 @@ SPAN_NOTICE("[user] finishes cutting through your [surgery.affected_limb.encased]."), SPAN_NOTICE("[user] finishes cutting through [target]'s [surgery.affected_limb.encased].")) - user.emote("me", 1, "cuts through the bones of [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "cuts through the bones of [target]'s [surgery.affected_limb.display_name].") log_interact(user, target, "[key_name(user)] cut through [key_name(target)]'s [surgery.affected_limb.encased], beginning [surgery].") /datum/surgery_step/saw_encased/failure(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -450,7 +450,7 @@ surgery.affected_limb.fracture(100) - user.emote("me", 1, "slips, shattering the bones in [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, shattering the bones in [target]'s [surgery.affected_limb.display_name]!") user.animation_attack_on(target) if(tool.hitsound) playsound(target.loc, tool.hitsound, 25, TRUE) @@ -490,7 +490,7 @@ SPAN_NOTICE("[user] uses \the [tool] to hold your [surgery.affected_limb.encased] open, exposing your [brain ? "brain" : "vital organs"]."), SPAN_NOTICE("[user] uses \the [tool] to hold [target]'s [surgery.affected_limb.encased] open, exposing \his [brain ? "brain" : "vital organs"].")) - user.emote("me", 1, "pries open the bones of [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "pries open the bones of [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_DEEP complete(target, surgery) //This finishes the surgery. @@ -510,7 +510,7 @@ SPAN_WARNING("[user]'s hand slips, cracking your [surgery.affected_limb.encased]!"), SPAN_WARNING("[user]'s hand slips, cracking [target]'s [surgery.affected_limb.encased]!")) - user.emote("me", 1, "slips, smashing the bones in [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, smashing the bones in [target]'s [surgery.affected_limb.display_name]!") surgery.affected_limb.fracture(100) target.apply_damage(15, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to open [key_name(target)]'s [surgery.affected_limb.encased].") @@ -556,7 +556,7 @@ SPAN_NOTICE("[user] closes your [surgery.affected_limb.encased]."), SPAN_NOTICE("[user] closes [target]'s [surgery.affected_limb.encased].")) - user.emote("me", 1, "closes the bones in [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "closes the bones in [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_SHALLOW log_interact(user, target, "[key_name(user)] closed [key_name(target)]'s [surgery.affected_limb.encased], beginning [surgery].") @@ -572,7 +572,7 @@ SPAN_WARNING("[user]'s hand slips, cracking your [surgery.affected_limb.encased]!"), SPAN_WARNING("[user]'s hand slips, cracking [target]'s [surgery.affected_limb.encased]!")) - user.emote("me", 1, "slips, smashing the bones in [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, smashing the bones in [target]'s [surgery.affected_limb.display_name]!") surgery.affected_limb.fracture(100) target.apply_damage(15, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to close [key_name(target)]'s [surgery.affected_limb.encased], aborting [surgery].") @@ -638,7 +638,7 @@ SPAN_NOTICE("[user] haphazardly repairs your [surgery.affected_limb.encased] like some kind of [improvised_desc]."), SPAN_NOTICE("[user] haphazardly repairs [target]'s [surgery.affected_limb.encased] like some kind of [improvised_desc].")) - user.emote("me", 1, "mends the bones in [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "mends the bones in [target]'s [surgery.affected_limb.display_name].") if(surgery.affected_limb.status & LIMB_BROKEN) to_chat(user, SPAN_NOTICE("You've repaired the damage done by prying it open, but it's still fractured.")) log_interact(user, target, "[key_name(user)] mended [key_name(target)]'s [surgery.affected_limb.encased], ending [surgery].") @@ -657,7 +657,7 @@ surgery.affected_limb.fracture(100) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to mend [key_name(target)]'s [surgery.affected_limb.encased].") diff --git a/code/modules/surgery/internal_bleeding.dm b/code/modules/surgery/internal_bleeding.dm index 35e25988f42c..a483ded2dfdd 100644 --- a/code/modules/surgery/internal_bleeding.dm +++ b/code/modules/surgery/internal_bleeding.dm @@ -51,7 +51,7 @@ surgery.affected_limb.remove_all_bleeding(FALSE, TRUE) surgery.affected_limb.update_damages() - user.emote("me", 1, "repairs the damaged veins in [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "repairs the damaged veins in [target]'s [surgery.affected_limb.display_name].") if(prob(40)) user.add_blood(target.get_blood_color(), BLOOD_HANDS) target.pain.recalculate_pain() @@ -69,7 +69,7 @@ SPAN_WARNING("[user]'s hand slips, damaging the incision in your [surgery.affected_limb.display_name] with \the [tool]!"), SPAN_WARNING("[user]'s hand slips, damaging the incision in [target]'s [surgery.affected_limb.display_name] with \the [tool]!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") user.add_blood(target.get_blood_color(), BLOOD_HANDS) target.apply_damage(10, BRUTE, target_zone) log_interact(user, target, "[key_name(user)] failed to repair internal bleeding in [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") diff --git a/code/modules/surgery/mcomp_tendwounds.dm b/code/modules/surgery/mcomp_tendwounds.dm index 07df916c2f24..43369f13ca9d 100644 --- a/code/modules/surgery/mcomp_tendwounds.dm +++ b/code/modules/surgery/mcomp_tendwounds.dm @@ -70,13 +70,13 @@ if(user == target) user.visible_message(SPAN_NOTICE("[user] finishes stabilizing the wounds on their body with [tool]."), SPAN_HELPFUL("You finish stabilizing your wounds with [tool].")) - user.emote("me", 1, "stabilizes their wound with [tool]") + user.emote("me", message = "stabilizes their wound with [tool]") else user.affected_message(target, SPAN_HELPFUL("You finish stabilizing [target]'s wounds with [tool]."), SPAN_HELPFUL("[user] finished stabilizing your wounds with [tool]."), SPAN_NOTICE("[user] finished treating [target]'s wounds with [tool].")) - user.emote("me", 1, "stabilizes [target]'s wound with [tool]") + user.emote("me", message = "stabilizes [target]'s wound with [tool]") log_interact(user, target, "[key_name(user)] stabilized some of [key_name(target)]'s wounds with [tool].") @@ -130,13 +130,13 @@ if(user == target) user.visible_message(SPAN_NOTICE("[user] finishes treating the stabilized wounds on their body with [tool]."), SPAN_HELPFUL("You finish treating the stabilized wounds on your body with [tool].")) - user.emote("me", 1, "treats their stabilized wounds with [tool]") + user.emote("me", message = "treats their stabilized wounds with [tool]") else user.affected_message(target, SPAN_HELPFUL("You finish treating [target]'s stabilized wounds with [tool]."), SPAN_HELPFUL("[user] finished treating your stabilized wounds with [tool]."), SPAN_NOTICE("[user] finished treating [target]'s stabilized wounds with [tool].")) - user.emote("me", 1, "treats [target]'s stabilized wounds with [tool]") + user.emote("me", message = "treats [target]'s stabilized wounds with [tool]") if(!istype(tool, /obj/item/tool/surgery/healing_gun)) @@ -178,14 +178,14 @@ if(user == target) user.visible_message(SPAN_NOTICE("[user] finshes closing the treated wounds on their body with [tool]."), SPAN_HELPFUL("You finish closing the treated wounds on your body with [tool]")) - user.emote("me", 1, "clamps their wounds shut with [tool]") + user.emote("me", message = "clamps their wounds shut with [tool]") else user.affected_message(target, SPAN_HELPFUL("You finish closing [target]'s treated wounds with [tool]."), SPAN_HELPFUL("[user] finished closing your treated wounds with [tool]."), SPAN_NOTICE("[user] finished closing [target]'s treated wounds with [tool].")) - user.emote("me", 1, "clamps [target]'s wounds shut with [tool]") + user.emote("me", message = "clamps [target]'s wounds shut with [tool]") if(isyautja(target)) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 0e26fc4e5cca..0e7ef6cbe34d 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -82,7 +82,7 @@ and organ transplant code which may come in handy in future but haven't been edi SPAN_NOTICE("[user] finishes treating your damaged [I.name]."), SPAN_NOTICE("[user] finishes treating [target]'s damaged [I.name].")) - user.emote("me", 1, "mends [target]'s damaged [I.name].") + user.emote("me", message = "mends [target]'s damaged [I.name].") user.count_niche_stat(STATISTICS_NICHE_SURGERY_ORGAN_REPAIR) I.rejuvenate() target.pain.recalculate_pain() @@ -107,7 +107,7 @@ and organ transplant code which may come in handy in future but haven't been edi if(I && I.damage > 0) I.take_damage(dam_amt,0) - user.emote("me", 1, "slips, damaging [target]'s organs!") + user.emote("me", message = "slips, damaging [target]'s organs!") log_interact(user, target, "[key_name(user)] failed to mend organs in [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") return FALSE diff --git a/code/modules/surgery/robolimb_repair.dm b/code/modules/surgery/robolimb_repair.dm index 4250ba9a6bb4..e0a6173ebf96 100644 --- a/code/modules/surgery/robolimb_repair.dm +++ b/code/modules/surgery/robolimb_repair.dm @@ -46,7 +46,7 @@ SPAN_NOTICE("[user] finishes recalibrating your prosthesis, and it now moves as you command once again."), SPAN_NOTICE("[user] finishes recalibrating [target]'s prosthesis, and it now moves as \he commands once again.")) - user.emote("me", 1, "recalibrates [target]'s prosthesis.") + user.emote("me", message = "recalibrates [target]'s prosthesis.") log_interact(user, target, "[key_name(user)] recalibrated a prosthesis on [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") if(surgery.affected_limb.parent.status & LIMB_UNCALIBRATED_PROSTHETIC) surgery.affected_limb.parent.calibrate_prosthesis() diff --git a/code/modules/surgery/robolimbs.dm b/code/modules/surgery/robolimbs.dm index 28433bf937c0..2bf27f466a16 100644 --- a/code/modules/surgery/robolimbs.dm +++ b/code/modules/surgery/robolimbs.dm @@ -47,7 +47,7 @@ SPAN_NOTICE("[user] replaces your severed [parse_zone(target_zone)] with \the [tool]."), SPAN_NOTICE("[user] replaces [target]'s severed [parse_zone(target_zone)] with \the [tool].")) - user.emote("me", 1, "replaces [target]'s [target]'s severed [parse_zone(target_zone)] with \the [tool].") + user.emote("me", message = "replaces [target]'s [target]'s severed [parse_zone(target_zone)] with \the [tool].") surgery.affected_limb.robotize(surgery_in_progress = TRUE, uncalibrated = TRUE, synth_skin = issynth(target)) target.update_body() target.pain.recalculate_pain() @@ -62,7 +62,7 @@ SPAN_WARNING("[user] slips, damaging your stump!"), SPAN_WARNING("[user] slips, damaging [target]'s stump!")) - user.emote("me", 1, "slips, damaging [target]'s stump!") + user.emote("me", message = "slips, damaging [target]'s stump!") target.apply_damage(10, BRUTE, surgery.affected_limb.parent) log_interact(user, target, "[key_name(user)] failed to begin attaching a prosthesis to [key_name(target)]'s [surgery.affected_limb.display_name], aborting [surgery].") return FALSE @@ -93,7 +93,7 @@ SPAN_NOTICE("[user] firmly attaches the prosthesis to your body."), SPAN_NOTICE("[user] firmly attaches the prosthesis to [target]'s body.")) - user.emote("me", 1, "firmly attaches the prosthesis to [target].") + user.emote("me", message = "firmly attaches the prosthesis to [target].") log_interact(user, target, "[key_name(user)] finished tightening a prosthesis to [key_name(target)]'s [surgery.affected_limb.display_name].") /datum/surgery_step/strenghten_prosthesis_connection/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) @@ -102,7 +102,7 @@ SPAN_WARNING("[user] slips while trying to tighten the prosthesis, pinching your stump painfully!"), SPAN_WARNING("[user] slips while trying to tighten [target]'s prosthesis, pinching \his stump painfully!")) - user.emote("me", 1, "slips, damaging [target]'s [surgery.affected_limb.display_name]!") + user.emote("me", message = "slips, damaging [target]'s [surgery.affected_limb.display_name]!") log_interact(user, target, "[key_name(user)] failed to tighten a prosthesis to [key_name(target)]'s [surgery.affected_limb.display_name].") return FALSE @@ -133,7 +133,7 @@ SPAN_NOTICE("[user] finishes calibrating your prosthesis, and it now moves as you command."), SPAN_NOTICE("[user] finishes calibrating [target]'s prosthesis, and it now moves as \he commands.")) - user.emote("me", 1, "calibrates [target]'s prosthesis.") + user.emote("me", message = "calibrates [target]'s prosthesis.") log_interact(user, target, "[key_name(user)] calibrated a prosthesis on [key_name(target)]'s [surgery.affected_limb.display_name], ending [surgery].") surgery.affected_limb.calibrate_prosthesis() diff --git a/code/modules/surgery/tendwounds.dm b/code/modules/surgery/tendwounds.dm index 31e4d3973fd1..f4b4f593c9fb 100644 --- a/code/modules/surgery/tendwounds.dm +++ b/code/modules/surgery/tendwounds.dm @@ -51,7 +51,7 @@ log_interact(user, target, "[key_name(user)] finished suturing an incision in [key_name(target)]'s [surgery.affected_limb.display_name] with \the [tool], ending [surgery].") - user.emote("me", 1, "sutures closed the incision on [target]'s [surgery.affected_limb.display_name].") + user.emote("me", message = "sutures closed the incision on [target]'s [surgery.affected_limb.display_name].") target.incision_depths[target_zone] = SURGERY_DEPTH_SURFACE /datum/surgery_step/suture_incision/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, tool_type, datum/surgery/surgery) From 566de84c1a240c730d8a60aac69a634873f55cc6 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sun, 7 Jul 2024 16:17:15 -0400 Subject: [PATCH 10/17] removes yawning from table salt --- code/modules/reagents/chemistry_reagents/food.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/reagents/chemistry_reagents/food.dm b/code/modules/reagents/chemistry_reagents/food.dm index 939772825408..93d1dcd92041 100644 --- a/code/modules/reagents/chemistry_reagents/food.dm +++ b/code/modules/reagents/chemistry_reagents/food.dm @@ -192,7 +192,6 @@ overdose = REAGENTS_OVERDOSE overdose_critical = REAGENTS_OVERDOSE_CRITICAL chemclass = CHEM_CLASS_COMMON - properties = list(PROPERTY_RELAXING = 1) /datum/reagent/blackpepper name = "Black Pepper" From 3ad7103cdfac238a7919b4e4f3c0887383f183be Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sun, 7 Jul 2024 16:32:57 -0400 Subject: [PATCH 11/17] fixes death emote not always emoting --- code/modules/mob/death.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index 43eb472430bc..167c2dd94d9a 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -45,12 +45,13 @@ return /mob/proc/death(datum/cause_data/cause_data, gibbed = 0, deathmessage = "seizes up and falls limp...") + emote("me", message = "[deathmessage]") + if(stat == DEAD) return 0 if(!gibbed) visible_message("\The [src.name] [deathmessage]") - emote("me", message = "[deathmessage]") if(cause_data && !istype(cause_data)) stack_trace("death called with string cause ([cause_data]) instead of datum") From 1d73ce590ed706274844eb1fea83538da4b40bf5 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sun, 7 Jul 2024 16:35:37 -0400 Subject: [PATCH 12/17] shortens CPR message --- code/modules/mob/living/carbon/human/human_attackhand.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index d64cdd29ba34..2906785081a9 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -44,7 +44,7 @@ attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] starts performing CPR on [src]."), SPAN_HELPFUL("You start performing CPR on [src].")) - attacking_mob.emote("me", message = "begins performing CPR on [src]") + attacking_mob.emote("me", message = "performs CPR on [src]") cpr_attempt_timer = world.time + HUMAN_STRIP_DELAY * attacking_mob.get_skill_duration_multiplier(SKILL_MEDICAL) if(do_after(attacking_mob, HUMAN_STRIP_DELAY * attacking_mob.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) From 6d68fca9bf39cd7a42dfc42471dff2717953aa3c Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sun, 7 Jul 2024 17:19:29 -0400 Subject: [PATCH 13/17] adds emote for delimb --- code/modules/organs/limbs.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/organs/limbs.dm b/code/modules/organs/limbs.dm index 50e74d09627a..18dba3894d1a 100644 --- a/code/modules/organs/limbs.dm +++ b/code/modules/organs/limbs.dm @@ -948,6 +948,7 @@ This function completely restores a damaged organ to perfect condition. if(delete_limb) qdel(organ) else + owner.emote("me", message = "screams in pain as their [display_name] flies off in an arc!") owner.visible_message(SPAN_WARNING("[owner.name]'s [display_name] flies off in an arc!"), SPAN_HIGHDANGER("Your [display_name] goes flying off!"), SPAN_WARNING("You hear a terrible sound of ripping tendons and flesh!"), 3) From dd9fede4c699fe177327ca74ae4aa85356265ff1 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sun, 7 Jul 2024 17:30:47 -0400 Subject: [PATCH 14/17] fixes another unnecessarily long emote --- code/modules/organs/limbs.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/organs/limbs.dm b/code/modules/organs/limbs.dm index 18dba3894d1a..c5b89cf3a026 100644 --- a/code/modules/organs/limbs.dm +++ b/code/modules/organs/limbs.dm @@ -1204,8 +1204,8 @@ treat_grafted var tells it to apply to grafted but unsalved wounds, for burn kit if(is_broken()) if(prob(15)) owner.drop_inv_item_on_ground(c_hand) - var/emote_scream = pick("screams in pain and", "lets out a sharp cry and", "cries out and") - owner.emote("me", message = "[(!owner.pain.feels_pain) ? "" : emote_scream ] drops what they were holding in their [hand_name]!") + var/emote_scream = pick("winces in pain,", "cries out,") + owner.emote("me", message = "[(!owner.pain.feels_pain) ? "" : emote_scream ] dropping what was in their [hand_name]!") if(is_malfunctioning()) if(prob(10)) owner.drop_inv_item_on_ground(c_hand) From 45fcfeb09ddfaa99dc5213e24ea38266986e3010 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sun, 7 Jul 2024 19:02:30 -0400 Subject: [PATCH 15/17] tones down hurt lung emotes by 90% --- code/modules/organs/organ_internal.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index 16ea84b82ce3..d4ae18d89e71 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -146,8 +146,9 @@ return if(organ_status >= ORGAN_BRUISED) if(prob(5)) - owner.emote(pick("bloodcough", "gasp", "wheeze")) owner.losebreath += 15 + if(prob(10)) + owner.emote(pick("bloodcough", "gasp", "wheeze")) if(organ_status >= ORGAN_BROKEN) if(prob(12)) owner.emote("badlung") From 29d79b23e48ba120931fe519376a555ccbdefaea Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sun, 7 Jul 2024 19:33:19 -0400 Subject: [PATCH 16/17] removes double chat call for death --- code/modules/mob/death.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index 167c2dd94d9a..e6b8de7823a0 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -46,13 +46,10 @@ /mob/proc/death(datum/cause_data/cause_data, gibbed = 0, deathmessage = "seizes up and falls limp...") emote("me", message = "[deathmessage]") - + if(stat == DEAD) return 0 - if(!gibbed) - visible_message("\The [src.name] [deathmessage]") - if(cause_data && !istype(cause_data)) stack_trace("death called with string cause ([cause_data]) instead of datum") cause_data = create_cause_data(cause_data) From fe7a420eb099f70e3524a3e864c2cfaa62ffd363 Mon Sep 17 00:00:00 2001 From: GrrrKitten Date: Sun, 7 Jul 2024 20:42:18 -0400 Subject: [PATCH 17/17] reduces some emote spam on properties --- .../reagents/chemistry_properties/prop_negative.dm | 2 +- .../modules/reagents/chemistry_properties/prop_neutral.dm | 8 ++++---- .../reagents/chemistry_properties/prop_positive.dm | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/reagents/chemistry_properties/prop_negative.dm b/code/modules/reagents/chemistry_properties/prop_negative.dm index 7d1731d26bf7..c21bc2016362 100644 --- a/code/modules/reagents/chemistry_properties/prop_negative.dm +++ b/code/modules/reagents/chemistry_properties/prop_negative.dm @@ -231,7 +231,7 @@ M.drowsyness = min(M.drowsyness + 0.5 * potency * delta_time, 15 * potency) M.reagent_move_delay_modifier += potency M.recalculate_move_delay = TRUE - if(prob(5 * delta_time)) + if(prob(2 * delta_time)) M.emote(pick("yawn","gasp")) /datum/chem_property/negative/hemolytic/process_critical(mob/living/M, potency = 1) diff --git a/code/modules/reagents/chemistry_properties/prop_neutral.dm b/code/modules/reagents/chemistry_properties/prop_neutral.dm index 5042398970e7..4b1f2b0656ed 100644 --- a/code/modules/reagents/chemistry_properties/prop_neutral.dm +++ b/code/modules/reagents/chemistry_properties/prop_neutral.dm @@ -191,7 +191,7 @@ category = PROPERTY_TYPE_STIMULANT /datum/chem_property/neutral/hallucinogenic/process(mob/living/M, potency = 1, delta_time) - if(prob(5 * delta_time)) + if(prob(3 * delta_time)) M.emote(pick("twitch","drool","groan","giggle")) if(potency > CREATE_MAX_TIER_1) M.hallucination = min(M.hallucination + potency, potency * 10) @@ -217,7 +217,7 @@ /datum/chem_property/neutral/relaxing/process(mob/living/M, potency = 1, delta_time) M.reagent_move_delay_modifier += potency - if(prob(5 * delta_time)) + if(prob(2 * delta_time)) M.emote("yawn") M.recalculate_move_delay = TRUE @@ -245,7 +245,7 @@ volatile = TRUE /datum/chem_property/neutral/hyperthermic/process(mob/living/M, potency = 1, delta_time) - if(prob(5 * delta_time)) + if(prob(2 * delta_time)) M.emote("gasp") to_chat(M, SPAN_DANGER("Your insides feel uncomfortably hot !")) M.bodytemperature = max(M.bodytemperature + POTENCY_MULTIPLIER_MEDIUM * potency,0) @@ -269,7 +269,7 @@ category = PROPERTY_TYPE_METABOLITE /datum/chem_property/neutral/hypothermic/process(mob/living/M, potency = 1, delta_time) - if(prob(5 * delta_time)) + if(prob(3 * delta_time)) M.emote("shiver") M.bodytemperature = max(M.bodytemperature - POTENCY_MULTIPLIER_MEDIUM * potency,0) M.recalculate_move_delay = TRUE diff --git a/code/modules/reagents/chemistry_properties/prop_positive.dm b/code/modules/reagents/chemistry_properties/prop_positive.dm index 40867892afbd..32f28c79e268 100644 --- a/code/modules/reagents/chemistry_properties/prop_positive.dm +++ b/code/modules/reagents/chemistry_properties/prop_positive.dm @@ -927,7 +927,7 @@ if(!ishuman(M)) //Critical overdose causes total blackout and heart damage. Too much stimulant return M.apply_internal_damage(0.25 * delta_time, "heart") - if(prob(5 * delta_time)) + if(prob(3 * delta_time)) M.emote(pick("twitch","blink_r","shiver")) /datum/chem_property/positive/cardiostabilizing/reaction_mob(mob/M, method=TOUCH, volume, potency)