From 1f09fd1e16b83bcb63fcb632f4f71b6b2d2859a5 Mon Sep 17 00:00:00 2001 From: MarplePhonks Date: Sat, 3 Aug 2024 11:53:57 +0200 Subject: [PATCH 1/4] Fixes larva surgery as how it was intended to be. --- code/modules/surgery/chestburster.dm | 30 +++++++++++++++++----------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/code/modules/surgery/chestburster.dm b/code/modules/surgery/chestburster.dm index a840bd026c40..a925507d0231 100644 --- a/code/modules/surgery/chestburster.dm +++ b/code/modules/surgery/chestburster.dm @@ -111,12 +111,12 @@ name = "Remove Larva" desc = "extract the xenomorph larva" accept_hand = TRUE - /*Similar to PINCH, but balanced around 100 = using bare hands. Haemostat is faster and better, - other tools are slower but don't burn the surgeon.*/ + /*Using the hands to forcefully rip out the larva will be faster at the cost of damaging both the doctor and the patient, with the addition of organ damage. + Unlike before, the hemostat is now the best tool for removing removing the larva, as opposed to wirecutters and the fork.*/ tools = list( - /obj/item/tool/surgery/hemostat = 1.5, - /obj/item/tool/wirecutters = SURGERY_TOOL_MULT_SUBOPTIMAL, - /obj/item/tool/kitchen/utensil/fork = SURGERY_TOOL_MULT_SUBSTITUTE + /obj/item/tool/surgery/hemostat = 1.5, //Same as optimal (1) for 9s + /obj/item/tool/wirecutters = 1.8, //Same as suboptimal (1.2) for 9s + /obj/item/tool/kitchen/utensil/fork = 2.1 //Same as substitute (1.4) for 9s ) time = 6 SECONDS preop_sound = 'sound/surgery/hemostat1.ogg' @@ -131,9 +131,9 @@ SPAN_NOTICE("[user] tries to extract the larva from [target]'s chest with \the [tool].")) else user.affected_message(target, - SPAN_NOTICE("You try to extract the larva from [target]'s chest."), - SPAN_NOTICE("[user] tries to extract the larva from your chest."), - SPAN_NOTICE("[user] tries to extract the larva from [target]'s chest.")) + SPAN_NOTICE("You try to forcefully rip the larva from [target]'s chest with your bare hand."), + SPAN_NOTICE("[user] tries to forcefully rip the larva from your chest."), + SPAN_NOTICE("[user] tries to forcefully rip the larva from [target]'s chest.")) target.custom_pain("Something hurts horribly in your chest!",1) log_interact(user, target, "[key_name(user)] started to remove an embryo from [key_name(target)]'s ribcage.") @@ -148,10 +148,16 @@ SPAN_WARNING("[user] pulls a wriggling parasite out of [target]'s ribcage!")) else user.affected_message(target, - SPAN_WARNING("Your hands are burned by acid as you pull a wriggling parasite out of [target]'s ribcage!"), - SPAN_WARNING("[user]'s hands are burned by acid as \he pulls a wriggling parasite out of your ribcage!"), - SPAN_WARNING("[user]'s hands are burned by acid as \he pulls a wriggling parasite out of [target]'s ribcage!")) - + SPAN_WARNING("Your hands are burned by acid as you forcefully rip a wriggling parasite out of [target]'s ribcage!"), + SPAN_WARNING("[user]'s hands are burned by acid as \he rips a wriggling parasite out of your ribcage!"), + SPAN_WARNING("[user]'s hands are burned by acid as \he rips a wriggling parasite out of [target]'s ribcage!")) + var/datum/internal_organ/I = pick(surgery.affected_limb.internal_organs) + I.take_damage(5,0) + if(target.stat == CONSCIOUS) + target.emote("scream") + target.apply_damage(15, BURN, target_zone) + + play_failure_sound(user, target, target_zone, tool, surgery) user.emote("pain") if(user.hand) From 2cecaa482b4b13242618602d0fab30cc84acd159 Mon Sep 17 00:00:00 2001 From: MarplePhonks Date: Sat, 3 Aug 2024 12:02:54 +0200 Subject: [PATCH 2/4] Typos --- code/modules/surgery/chestburster.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/chestburster.dm b/code/modules/surgery/chestburster.dm index a925507d0231..dd095e88d63b 100644 --- a/code/modules/surgery/chestburster.dm +++ b/code/modules/surgery/chestburster.dm @@ -148,7 +148,7 @@ SPAN_WARNING("[user] pulls a wriggling parasite out of [target]'s ribcage!")) else user.affected_message(target, - SPAN_WARNING("Your hands are burned by acid as you forcefully rip a wriggling parasite out of [target]'s ribcage!"), + SPAN_WARNING("Your hands and your patient's insides are burned by acid as you forcefully rip a wriggling parasite out of [target]'s ribcage!"), SPAN_WARNING("[user]'s hands are burned by acid as \he rips a wriggling parasite out of your ribcage!"), SPAN_WARNING("[user]'s hands are burned by acid as \he rips a wriggling parasite out of [target]'s ribcage!")) var/datum/internal_organ/I = pick(surgery.affected_limb.internal_organs) From e4f3da1b662e768f05bd30f9e95379e66c30fd4a Mon Sep 17 00:00:00 2001 From: MPhonks <134622054+MPhonks@users.noreply.github.com> Date: Sun, 4 Aug 2024 16:43:10 +0200 Subject: [PATCH 3/4] Update code/modules/surgery/chestburster.dm with the appropriate defines. Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> --- code/modules/surgery/chestburster.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/surgery/chestburster.dm b/code/modules/surgery/chestburster.dm index dd095e88d63b..4ecd26351500 100644 --- a/code/modules/surgery/chestburster.dm +++ b/code/modules/surgery/chestburster.dm @@ -114,9 +114,9 @@ /*Using the hands to forcefully rip out the larva will be faster at the cost of damaging both the doctor and the patient, with the addition of organ damage. Unlike before, the hemostat is now the best tool for removing removing the larva, as opposed to wirecutters and the fork.*/ tools = list( - /obj/item/tool/surgery/hemostat = 1.5, //Same as optimal (1) for 9s - /obj/item/tool/wirecutters = 1.8, //Same as suboptimal (1.2) for 9s - /obj/item/tool/kitchen/utensil/fork = 2.1 //Same as substitute (1.4) for 9s + /obj/item/tool/surgery/hemostat = 1.5 * SURGERY_TOOL_MULT_IDEAL, + /obj/item/tool/wirecutters = 1.5 * SURGERY_TOOL_MULT_SUBOPTIMAL, + /obj/item/tool/kitchen/utensil/fork = 1.5 * SURGERY_TOOL_MULT_SUBSTITUTE ) time = 6 SECONDS preop_sound = 'sound/surgery/hemostat1.ogg' From c9afde73a0be109a51deb15f4e6171514c8f807a Mon Sep 17 00:00:00 2001 From: MPhonks <134622054+MPhonks@users.noreply.github.com> Date: Mon, 5 Aug 2024 13:33:19 +0200 Subject: [PATCH 4/4] No single letter vars, no 0 instead of false. Co-authored-by: harryob <55142896+harryob@users.noreply.github.com> --- code/modules/surgery/chestburster.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/surgery/chestburster.dm b/code/modules/surgery/chestburster.dm index 4ecd26351500..e387978fb8ee 100644 --- a/code/modules/surgery/chestburster.dm +++ b/code/modules/surgery/chestburster.dm @@ -151,8 +151,8 @@ SPAN_WARNING("Your hands and your patient's insides are burned by acid as you forcefully rip a wriggling parasite out of [target]'s ribcage!"), SPAN_WARNING("[user]'s hands are burned by acid as \he rips a wriggling parasite out of your ribcage!"), SPAN_WARNING("[user]'s hands are burned by acid as \he rips a wriggling parasite out of [target]'s ribcage!")) - var/datum/internal_organ/I = pick(surgery.affected_limb.internal_organs) - I.take_damage(5,0) + var/datum/internal_organ/impacted_organ = pick(surgery.affected_limb.internal_organs) + impacted_organ.take_damage(5, FALSE) if(target.stat == CONSCIOUS) target.emote("scream") target.apply_damage(15, BURN, target_zone)