diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm
index 64bfe52c622..ee7688431d1 100644
--- a/code/modules/surgery/helpers.dm
+++ b/code/modules/surgery/helpers.dm
@@ -95,6 +95,9 @@
if(is_robotic)
close_tool_type = /obj/item/screwdriver
if(istype(close_tool, close_tool_type) || iscyborg(user))
+ if (ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.bleed_rate = max( (H.bleed_rate - 3), 0)
M.surgeries -= S
user.visible_message("[user] closes [M]'s [parse_zone(selected_zone)] with [close_tool] and removes [I].", \
"You close [M]'s [parse_zone(selected_zone)] with [close_tool] and remove [I].")
diff --git a/code/modules/surgery/organic_steps.dm b/code/modules/surgery/organic_steps.dm
index 01eb751f39f..6e4dda01c30 100644
--- a/code/modules/surgery/organic_steps.dm
+++ b/code/modules/surgery/organic_steps.dm
@@ -16,6 +16,14 @@
return TRUE
+/datum/surgery_step/incise/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
+ if ishuman(target)
+ var/mob/living/carbon/human/H = target
+ if (!(NOBLOOD in H.dna.species.species_traits))
+ H.visible_message("Blood pools around the incision in [H]'s [parse_zone(target_zone)].", "Blood pools around the incision in your [parse_zone(target_zone)].")
+ H.bleed_rate += 3
+ return TRUE
+
//clamp bleeders
/datum/surgery_step/clamp_bleeders
name = "clamp bleeders"
@@ -29,9 +37,11 @@
/datum/surgery_step/clamp_bleeders/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(locate(/datum/surgery_step/saw) in surgery.steps)
target.heal_bodypart_damage(20,0)
+ if (ishuman(target))
+ var/mob/living/carbon/human/H = target
+ H.bleed_rate = max( (H.bleed_rate - 3), 0)
return ..()
-
//retract skin
/datum/surgery_step/retract_skin
name = "retract skin"
@@ -64,6 +74,9 @@
/datum/surgery_step/close/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(locate(/datum/surgery_step/saw) in surgery.steps)
target.heal_bodypart_damage(45,0)
+ if (ishuman(target))
+ var/mob/living/carbon/human/H = target
+ H.bleed_rate = max( (H.bleed_rate - 3), 0)
return ..()