diff --git a/code/_onclick/hud/living.dm b/code/_onclick/hud/living.dm index 71e88d5357d..e0d684a4bd5 100644 --- a/code/_onclick/hud/living.dm +++ b/code/_onclick/hud/living.dm @@ -22,3 +22,6 @@ //mob health doll! assumes whatever sprite the mob is healthdoll = new /atom/movable/screen/healthdoll/living(null, src) infodisplay += healthdoll + + stamina = new /atom/movable/screen/stamina(null, src) + infodisplay += stamina diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 9f82df2cbc2..15d2a78fb84 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -650,34 +650,6 @@ else hud_used.healths.icon_state = "health6" -/mob/living/carbon/update_stamina_hud(shown_stamina_loss) - if(!client || !hud_used?.stamina) - return - - var/stam_crit_threshold = maxHealth - crit_threshold - - if(stat == DEAD) - hud_used.stamina.icon_state = "stamina_dead" - else - - if(shown_stamina_loss == null) - shown_stamina_loss = get_stamina_loss() - - if(shown_stamina_loss >= stam_crit_threshold) - hud_used.stamina.icon_state = "stamina_crit" - else if(shown_stamina_loss > maxHealth*0.8) - hud_used.stamina.icon_state = "stamina_5" - else if(shown_stamina_loss > maxHealth*0.6) - hud_used.stamina.icon_state = "stamina_4" - else if(shown_stamina_loss > maxHealth*0.4) - hud_used.stamina.icon_state = "stamina_3" - else if(shown_stamina_loss > maxHealth*0.2) - hud_used.stamina.icon_state = "stamina_2" - else if(shown_stamina_loss > 0) - hud_used.stamina.icon_state = "stamina_1" - else - hud_used.stamina.icon_state = "stamina_full" - /mob/living/carbon/proc/update_spacesuit_hud_icon(cell_state = "empty") hud_used?.spacesuit?.icon_state = "spacesuit_[cell_state]" diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 90098bef548..bd936af1b48 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1432,6 +1432,34 @@ SEND_SIGNAL(src, COMSIG_LIVING_STAMINA_UPDATE) update_stamina_hud() +/mob/living/update_stamina_hud(shown_stamina_loss) + if(!client || !hud_used?.stamina) + return + + var/stam_crit_threshold = maxHealth - crit_threshold + + if(stat == DEAD) + hud_used.stamina.icon_state = "stamina_dead" + else + + if(shown_stamina_loss == null) + shown_stamina_loss = get_stamina_loss() + + if(shown_stamina_loss >= stam_crit_threshold) + hud_used.stamina.icon_state = "stamina_crit" + else if(shown_stamina_loss > maxHealth*0.8) + hud_used.stamina.icon_state = "stamina_5" + else if(shown_stamina_loss > maxHealth*0.6) + hud_used.stamina.icon_state = "stamina_4" + else if(shown_stamina_loss > maxHealth*0.4) + hud_used.stamina.icon_state = "stamina_3" + else if(shown_stamina_loss > maxHealth*0.2) + hud_used.stamina.icon_state = "stamina_2" + else if(shown_stamina_loss > 0) + hud_used.stamina.icon_state = "stamina_1" + else + hud_used.stamina.icon_state = "stamina_full" + /mob/living/carbon/alien/update_stamina() return