diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index 858d3ec155b..39b9a267f9e 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -61,4 +61,7 @@ handle_hud_icons_health() - return 1 \ No newline at end of file + return 1 + +/mob/living/carbon/alien/CheckStamina() + return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 4cd512731e0..120e7da4350 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -274,13 +274,24 @@ if(sleeping) stat = UNCONSCIOUS - CheckStamina() return 1 +/mob/living/carbon/proc/CheckStamina() + if(staminaloss) + var/total_health = (health - staminaloss) + if(total_health <= config.health_threshold_crit && !stat) + src << "You're too exhausted to keep going..." + Weaken(5) + setStaminaLoss(health - 2) + return + setStaminaLoss(max((staminaloss - 2), 0)) + //this updates all special effects: stunned, sleeping, weakened, druggy, stuttering, etc.. /mob/living/carbon/handle_status_effects() ..() + CheckStamina() + if(sleeping) handle_dreams() adjustStaminaLoss(-10) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 5f794989e13..7e1da42729c 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -313,12 +313,10 @@ Sorry Giacom. Please don't be mad :( /mob/living/proc/adjustStaminaLoss(var/amount) if(status_flags & GODMODE) return 0 staminaloss = min(max(staminaloss + amount, 0),(maxHealth*2)) - handle_regular_status_updates() //we update our health right away. /mob/living/proc/setStaminaLoss(var/amount) if(status_flags & GODMODE) return 0 staminaloss = amount - handle_regular_status_updates() //we update our health right away. /mob/living/proc/getMaxHealth() return maxHealth @@ -660,19 +658,6 @@ Sorry Giacom. Please don't be mad :( /mob/living/proc/get_visible_name() return name -/mob/living/proc/CheckStamina() - if(staminaloss) - var/total_health = (health - staminaloss) - if(total_health <= config.health_threshold_crit && !stat) - Exhaust() - setStaminaLoss(health - 2) - return - setStaminaLoss(max((staminaloss - 2), 0)) - -/mob/living/proc/Exhaust() - src << "You're too exhausted to keep going..." - Weaken(5) - /mob/living/update_gravity(has_gravity) if(!ticker) return