From bb36a5b0d1702257f1c5c7e424fd7423924f4c59 Mon Sep 17 00:00:00 2001 From: alex-gh Date: Tue, 28 Jun 2022 18:30:27 +0200 Subject: [PATCH] Fixes surgery cancellation bug/exploit. (#18097) * Sawing somebodys chest or head open breaks the affected bone * Silences the screams --- code/modules/surgery/encased.dm | 1 + code/modules/surgery/organs/organ_external.dm | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index e1402083dbd..29d34f72808 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -50,6 +50,7 @@ user.visible_message(" [user] has cut [target]'s [affected.encased] open with \the [tool].", \ " You have cut [target]'s [affected.encased] open with \the [tool].") affected.open = 2.5 + affected.fracture(silent = TRUE) return 1 /datum/surgery_step/open_encased/saw/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 01b4e4bd5ce..8aaf73f4e29 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -614,13 +614,13 @@ Note that amputating the affected organ does in fact remove the infection from t "\The [holder.legcuffed.name] falls off you.") holder.unEquip(holder.legcuffed) -/obj/item/organ/external/proc/fracture() +/obj/item/organ/external/proc/fracture(silent = FALSE) if(is_robotic()) return //ORGAN_BROKEN doesn't have the same meaning for robot limbs if((status & ORGAN_BROKEN) || (limb_flags & CANNOT_BREAK)) return - if(owner) + if(owner && !silent) owner.audible_message( "You hear a sickening crack coming from \the [owner].", "[owner]'s [name] appears to buckle unnaturally!"