From 56b49fa86e1cf50645b82903098db0bc5f3769ab Mon Sep 17 00:00:00 2001 From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> Date: Thu, 28 Mar 2024 18:36:05 -0400 Subject: [PATCH] [s] Tis just a flesh wound (#24861) --- .../objects/items/stacks/medical_packs.dm | 22 +++++++++---------- code/modules/surgery/generic.dm | 1 + code/modules/surgery/organs/blood.dm | 4 ++-- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/code/game/objects/items/stacks/medical_packs.dm b/code/game/objects/items/stacks/medical_packs.dm index 4680b1f9a1c..92d5ffed73f 100644 --- a/code/game/objects/items/stacks/medical_packs.dm +++ b/code/game/objects/items/stacks/medical_packs.dm @@ -155,20 +155,20 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/affecting = H.get_organ(user.zone_selected) + for(var/obj/item/organ/external/E in H.bodyparts) + if(E.open == ORGAN_ORGANIC_OPEN) + to_chat(user, "[E] is cut open, you'll need more than a bandage!") + return + affecting.germ_level = 0 - if(affecting.open == ORGAN_CLOSED) - affecting.germ_level = 0 + if(stop_bleeding) + if(!H.bleedsuppress) //so you can't stack bleed suppression + H.suppress_bloodloss(stop_bleeding) - if(stop_bleeding) - if(!H.bleedsuppress) //so you can't stack bleed suppression - H.suppress_bloodloss(stop_bleeding) + heal(H, user) - heal(H, user) - - H.UpdateDamageIcon() - use(1) - else - to_chat(user, "[affecting] is cut open, you'll need more than a bandage!") + H.UpdateDamageIcon() + use(1) /obj/item/stack/medical/bruise_pack/improvised name = "improvised gauze" diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 7a411bb967b..8c8a2906680 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -39,6 +39,7 @@ " You have made an incision on [target]'s [affected.name] with \the [tool]." ) affected.open = ORGAN_ORGANIC_OPEN + target.resume_bleeding() return SURGERY_STEP_CONTINUE /datum/surgery_step/generic/cut_open/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/blood.dm b/code/modules/surgery/organs/blood.dm index e3353fb6b81..c3b4c13111f 100644 --- a/code/modules/surgery/organs/blood.dm +++ b/code/modules/surgery/organs/blood.dm @@ -12,9 +12,9 @@ addtimer(CALLBACK(src, PROC_REF(resume_bleeding)), amount) /mob/living/carbon/human/proc/resume_bleeding() - bleedsuppress = FALSE - if(stat != DEAD && bleed_rate) + if(stat != DEAD && bleed_rate && bleedsuppress) to_chat(src, "The blood soaks through your bandage.") + bleedsuppress = FALSE // Takes care blood loss and regeneration /mob/living/carbon/human/handle_blood()