diff --git a/code/WorkInProgress/surgery.dm b/code/WorkInProgress/surgery.dm index 7bb1944ef40..caa01a69346 100644 --- a/code/WorkInProgress/surgery.dm +++ b/code/WorkInProgress/surgery.dm @@ -110,9 +110,6 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) spread_germs_to_organ(affected, user) if (target_zone == "head") target.brain_op_stage = 1 - if (prob(40)) - if (ishuman(user)) - user:bloody_hands(target) fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -120,7 +117,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) "\red Your hand slips, slicing open [target]'s [affected.display_name] in a wrong spot with \the [tool]!") affected.createwound(CUT, 10) if (ishuman(user)) - user:bloody_hands(target) + user:bloody_hands(target, 0) /datum/surgery_step/generic/clamp_bleeders required_tool = /obj/item/weapon/hemostat @@ -151,7 +148,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) "\red Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.display_name] with \the [tool]!",) affected.createwound(CUT, 10) if (ishuman(user)) - user:bloody_hands(target) + user:bloody_hands(target, 0) /datum/surgery_step/generic/retract_skin required_tool = /obj/item/weapon/retractor @@ -188,9 +185,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) user.visible_message(msg, self_msg) affected.open = 2 spread_germs_to_organ(affected, user) - if (prob(60)) - if (ishuman(user)) - user:bloody_hands(target) + if (prob(40)) user:bloody_hands(target, 0) fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -268,9 +263,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) user.visible_message("\blue [user] has separated [target]'s appendix with \the [tool]." , \ "\blue You have separated [target]'s appendix with \the [tool].") target.op_stage.appendix = 1 - if (prob(40)) - if (ishuman(user)) - user:bloody_hands(target) + if (ishuman(user) && prob(40)) user:bloody_hands(target, 0) fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/groin = target.get_organ("groin") @@ -307,9 +300,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) new /obj/item/weapon/reagent_containers/food/snacks/appendix(get_turf(target)) target.resistances += app target.op_stage.appendix = 2 - if (prob(40)) - if (ishuman(user)) - user:bloody_hands(target) + if (ishuman(user) && prob(40)) user:bloody_hands(target, 0) fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -354,9 +345,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) for(var/datum/wound/W in affected.wounds) if(W.internal) affected.wounds -= W affected.update_damages() - if (prob(40)) - if (ishuman(user)) - user:bloody_hands(target) + if (ishuman(user) && prob(40)) user:bloody_hands(target, 0) fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -392,9 +381,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) "\blue You apply some [tool] to [target]'s bone in [affected.display_name] with \the [tool].") affected.stage = 1 spread_germs_to_organ(affected, user) - if (prob(80)) - if (ishuman(user)) - user:bloody_hands(target) + if (ishuman(user) && prob(80)) user:bloody_hands(target, 0) fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -489,9 +476,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) affected.stage = 0 affected.perma_injury = 0 spread_germs_to_organ(affected, user) - if (prob(80)) - if (ishuman(user)) - user:bloody_hands(target) + if (ishuman(user) && prob(80)) user:bloody_hands(target, 0) fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -673,7 +658,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) target.losebreath += 10 if (ishuman(user)) user:bloody_body(target) - user:bloody_hands(target) + user:bloody_hands(target, 0) /datum/surgery_step/face/fix_face required_tool = /obj/item/weapon/retractor @@ -782,6 +767,9 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) user.visible_message("\red [user]'s hand slips, cutting a vein in [target]'s brain with \the [tool]!", \ "\red Your hand slips, cutting a vein in [target]'s brain with \the [tool]!") target.apply_damage(50, BRUTE, "head", 1) + if (ishuman(user)) + user:bloody_body(target) + user:bloody_hands(target, 0) /datum/surgery_step/brain/saw_spine required_tool = /obj/item/weapon/circular_saw @@ -819,7 +807,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) target.apply_damage(30, BRUTE, "head", 1) if (ishuman(user)) user:bloody_body(target) - user:bloody_hands(target) + user:bloody_hands(target, 0) ////////////////////////////////////////////////////////////////// @@ -1104,7 +1092,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) affected.fracture() if (ishuman(user)) - user:bloody_hands(target) + user:bloody_hands(target, 0) fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/msg = "\red [user]'s hand slips, breaking [target]'s ribcage!" @@ -1188,8 +1176,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) for(var/datum/disease/alien_embryo in target.viruses) alien_embryo.cure() - if (ishuman(user)) - user:bloody_hands(target) + if (ishuman(user)) user:bloody_hands(target, 0) /datum/surgery_step/ribcage/fix_lungs required_tool = /obj/item/weapon/scalpel @@ -1210,6 +1197,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) user.visible_message("\blue [user] mends the rupture in [target]'s lungs with \the [tool].", \ "\blue You mend the rupture in [target]'s lungs with \the [tool]." ) affected.ruptured_lungs = 0 + if (ishuman(user) && prob(80)) user:bloody_hands(target, 0) fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/chest/affected = target.get_organ("chest") @@ -1217,6 +1205,6 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) "\red Your hand slips, slicing an artery inside [target]'s chest with \the [tool]!") affected.createwound(CUT, 20) if (ishuman(user)) - user:bloody_hands(target) + user:bloody_hands(target, 0) user:bloody_body(target) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index ff4809134bc..29b309ae384 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -178,14 +178,14 @@ emp_act if(bloody) bloody_body(src) -/mob/living/carbon/human/proc/bloody_hands(var/mob/living/source) +/mob/living/carbon/human/proc/bloody_hands(var/mob/living/source, var/amount = 2) if (gloves) gloves.add_blood(source) - gloves:transfer_blood = 2 + gloves:transfer_blood = amount gloves:bloody_hands_mob = source else add_blood(source) - bloody_hands = 2 + bloody_hands = amount bloody_hands_mob = source update_inv_gloves() //updates on-mob overlays for bloody hands and/or bloody gloves