diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm
index 82790c1304..a1b74942e0 100644
--- a/code/modules/surgery/bodyparts/bodyparts.dm
+++ b/code/modules/surgery/bodyparts/bodyparts.dm
@@ -248,11 +248,12 @@
/obj/item/bodypart/proc/set_disabled(new_disabled)
if(disabled == new_disabled)
- return
+ return FALSE
disabled = new_disabled
owner.update_health_hud() //update the healthdoll
owner.update_body()
owner.update_canmove()
+ return TRUE
//Updates an organ's brute/burn states for use by update_damage_overlays()
//Returns 1 if we need to update overlays. 0 otherwise.
@@ -654,20 +655,17 @@
/obj/item/bodypart/l_arm/set_disabled(new_disabled)
. = ..()
- if(disabled == new_disabled)
+ if(!.)
return
- if(disabled == BODYPART_DISABLED_DAMAGE)
- if(owner.stat > UNCONSCIOUS)
- owner.emote("scream")
- if(. && (owner.stat > DEAD))
- to_chat(owner, "Your [name] is too damaged to function!")
- if(held_index)
- owner.dropItemToGround(owner.get_item_for_held_index(held_index))
- else if(disabled == BODYPART_DISABLED_PARALYSIS)
- if(. && (owner.stat > DEAD))
- to_chat(owner, "You can't feel your [name]!")
- if(held_index)
- owner.dropItemToGround(owner.get_item_for_held_index(held_index))
+ if(owner.stat < UNCONSCIOUS)
+ switch(disabled)
+ if(BODYPART_DISABLED_DAMAGE)
+ owner.emote("scream")
+ to_chat(owner, "Your [name] is too damaged to function!")
+ if(BODYPART_DISABLED_PARALYSIS)
+ to_chat(owner, "You can't feel your [name]!")
+ if(held_index)
+ owner.dropItemToGround(owner.get_item_for_held_index(held_index))
if(owner.hud_used)
var/obj/screen/inventory/hand/L = owner.hud_used.hand_slots["[held_index]"]
if(L)
@@ -718,20 +716,17 @@
/obj/item/bodypart/r_arm/set_disabled(new_disabled)
. = ..()
- if(disabled == new_disabled)
+ if(!.)
return
- if(disabled == BODYPART_DISABLED_DAMAGE)
- if(owner.stat > UNCONSCIOUS)
- owner.emote("scream")
- if(. && (owner.stat > DEAD))
- to_chat(owner, "Your [name] is too damaged to function!")
- if(held_index)
- owner.dropItemToGround(owner.get_item_for_held_index(held_index))
- else if(disabled == BODYPART_DISABLED_PARALYSIS)
- if(. && (owner.stat > DEAD))
- to_chat(owner, "You can't feel your [name]!")
- if(held_index)
- owner.dropItemToGround(owner.get_item_for_held_index(held_index))
+ if(owner.stat < UNCONSCIOUS)
+ switch(disabled)
+ if(BODYPART_DISABLED_DAMAGE)
+ owner.emote("scream")
+ to_chat(owner, "Your [name] is too damaged to function!")
+ if(BODYPART_DISABLED_PARALYSIS)
+ to_chat(owner, "You can't feel your [name]!")
+ if(held_index)
+ owner.dropItemToGround(owner.get_item_for_held_index(held_index))
if(owner.hud_used)
var/obj/screen/inventory/hand/R = owner.hud_used.hand_slots["[held_index]"]
if(R)
@@ -783,15 +778,13 @@
/obj/item/bodypart/l_leg/set_disabled(new_disabled)
. = ..()
- if(disabled == new_disabled)
+ if(!. || owner.stat >= UNCONSCIOUS)
return
- if(disabled == BODYPART_DISABLED_DAMAGE)
- if(owner.stat > UNCONSCIOUS)
+ switch(disabled)
+ if(BODYPART_DISABLED_DAMAGE)
owner.emote("scream")
- if(. && (owner.stat > DEAD))
to_chat(owner, "Your [name] is too damaged to function!")
- else if(disabled == BODYPART_DISABLED_PARALYSIS)
- if(. && (owner.stat > DEAD))
+ if(BODYPART_DISABLED_PARALYSIS)
to_chat(owner, "You can't feel your [name]!")
@@ -845,15 +838,13 @@
/obj/item/bodypart/r_leg/set_disabled(new_disabled)
. = ..()
- if(disabled == new_disabled)
+ if(!. || owner.stat >= UNCONSCIOUS)
return
- if(disabled == BODYPART_DISABLED_DAMAGE)
- if(owner.stat > UNCONSCIOUS)
+ switch(disabled)
+ if(BODYPART_DISABLED_DAMAGE)
owner.emote("scream")
- if(. && (owner.stat > DEAD))
to_chat(owner, "Your [name] is too damaged to function!")
- else if(disabled == BODYPART_DISABLED_PARALYSIS)
- if(. && (owner.stat > DEAD))
+ if(BODYPART_DISABLED_PARALYSIS)
to_chat(owner, "You can't feel your [name]!")
/obj/item/bodypart/r_leg/digitigrade