diff --git a/code/modules/mob/living/carbon/handle_corruption.dm b/code/modules/mob/living/carbon/handle_corruption.dm
index 7b84c41e27..5ac2a2f616 100644
--- a/code/modules/mob/living/carbon/handle_corruption.dm
+++ b/code/modules/mob/living/carbon/handle_corruption.dm
@@ -80,10 +80,11 @@
if("shortlimbdisable")
var/disabled_type = pick(list(TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM, TRAIT_PARALYSIS_L_LEG, TRAIT_PARALYSIS_R_LEG))
ADD_TRAIT(src, disabled_type, CORRUPTED_SYSTEM)
+ update_disabled_bodyparts()
addtimer(CALLBACK(src, .proc/reenable_limb, disabled_type), 5 SECONDS)
to_chat(src, "Error - Limb control subsystem partially shutdown, rebooting.")
if("shortblind")
- ADD_TRAIT(src, TRAIT_BLIND, CORRUPTED_SYSTEM)
+ become_blind(CORRUPTED_SYSTEM)
addtimer(CALLBACK(src, .proc/reenable_vision), 5 SECONDS)
to_chat(src, "Visual receptor shutdown detected - Initiating reboot.")
if("shortstun")
@@ -105,10 +106,11 @@
if("longlimbdisable")
var/disabled_type = pick(list(TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM, TRAIT_PARALYSIS_L_LEG, TRAIT_PARALYSIS_R_LEG))
ADD_TRAIT(src, disabled_type, CORRUPTED_SYSTEM)
+ update_disabled_bodyparts()
addtimer(CALLBACK(src, .proc/reenable_limb, disabled_type), 25 SECONDS)
to_chat(src, "Fatal error in limb control subsystem - rebooting.")
if("blindmutedeaf")
- ADD_TRAIT(src, TRAIT_BLIND, CORRUPTED_SYSTEM)
+ become_blind(CORRUPTED_SYSTEM)
addtimer(CALLBACK(src, .proc/reenable_vision), (rand(10, 25)) SECONDS)
ADD_TRAIT(src, TRAIT_DEAF, CORRUPTED_SYSTEM)
addtimer(CALLBACK(src, .proc/reenable_hearing), (rand(15, 35)) SECONDS)
@@ -140,6 +142,7 @@
/mob/living/carbon/proc/reenable_limb(disabled_limb)
REMOVE_TRAIT(src, disabled_limb, CORRUPTED_SYSTEM)
+ update_disabled_bodyparts()
to_chat(src, "Limb control subsystem successfully rebooted.")
/mob/living/carbon/proc/reenable_hearing()
@@ -147,7 +150,7 @@
to_chat(src, "Hearing restored.")
/mob/living/carbon/proc/reenable_vision()
- REMOVE_TRAIT(src, TRAIT_BLIND, CORRUPTED_SYSTEM)
+ cure_blind(CORRUPTED_SYSTEM)
to_chat(src, "Visual receptors back online.")
/mob/living/carbon/proc/reenable_speech()