diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index bb8a03107cb..86888b2b1a3 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -228,7 +228,7 @@
spawn (0)
user.visible_message("[user] checks [src]'s pulse.", "You check [src]'s pulse.")
if (do_mob(user, src, 15))
- if(is_pulse_present() == PULSE_NONE)
+ if(!is_pulse_present())
to_chat(user, "[T.He] [T.has] no pulse[src.client ? "" : " and [T.his] soul has departed"]...")
else
to_chat(user, "[T.He] [T.has] a pulse!")
diff --git a/code/modules/organs/internal/_internal.dm b/code/modules/organs/internal/_internal.dm
index eca56b60e5e..3f06ade172f 100644
--- a/code/modules/organs/internal/_internal.dm
+++ b/code/modules/organs/internal/_internal.dm
@@ -97,10 +97,6 @@
..()
handle_regeneration()
-/obj/item/organ/internal/proc/heal_damage(amount)
- if (can_recover())
- damage = between(0, damage - round(amount, 0.1), max_damage)
-
/obj/item/organ/internal/proc/handle_regeneration()
if(!damage || BP_IS_ROBOTIC(src) || !owner || owner.chem_effects[CE_TOXIN])
return
diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm
index 71b1c58ffe9..a1d306c62ea 100644
--- a/code/modules/organs/organ.dm
+++ b/code/modules/organs/organ.dm
@@ -246,6 +246,10 @@
/obj/item/organ/proc/rejuvenate()
damage = 0
+/obj/item/organ/proc/heal_damage(amount)
+ if (can_recover())
+ damage = between(0, damage - round(amount, 0.1), max_damage)
+
/obj/item/organ/proc/is_broken()
return (damage >= min_broken_damage || (status & ORGAN_CUT_AWAY) || (status & ORGAN_BROKEN))
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index 6a56160227b..b7cf0268719 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -344,7 +344,7 @@
droplimb(0, DROPLIMB_EDGE)
-/obj/item/organ/external/proc/heal_damage(brute, burn, internal = 0, robo_repair = 0)
+/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0)
if(status & ORGAN_ROBOT && !robo_repair)
return
diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm
index 241c5a51937..c766d224bb6 100644
--- a/code/modules/surgery/organs_internal.dm
+++ b/code/modules/surgery/organs_internal.dm
@@ -74,7 +74,8 @@
if(I.robotic < 2)
user.visible_message("[user] treats damage to [target]'s [I.name] with [tool_name].", \
"You treat damage to [target]'s [I.name] with [tool_name]." )
- I.damage = 0
+ var/organ_damage = I.damage
+ I.heal_damage(organ_damage)
var/obj/item/organ/internal/brain/sponge = target.internal_organs_by_name[BP_BRAIN]
if(sponge && istype(I, sponge))
target.cure_all_traumas(cure_type = CURE_SURGERY)
diff --git a/html/changelogs/mattatlas-surgerypulse.yml b/html/changelogs/mattatlas-surgerypulse.yml
new file mode 100644
index 00000000000..bdaaa1a9ab9
--- /dev/null
+++ b/html/changelogs/mattatlas-surgerypulse.yml
@@ -0,0 +1,42 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: MattAtlas
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - bugfix: "Organ damage surgery works correctly now."
+ - bugfix: "Dead people no longer have a pulse."