From a3995ef30df95ce2612027c5db7eaaa1fdc6e888 Mon Sep 17 00:00:00 2001 From: Geeves Date: Thu, 7 Jan 2021 21:34:57 +0200 Subject: [PATCH] Ling Fakedeath HUD Fix (#10920) --- .../gamemodes/changeling/implements/powers/body.dm | 3 +++ code/modules/mob/living/carbon/human/life.dm | 12 +++++++----- html/changelogs/geeves-ling_fakedeath_hud.yml | 6 ++++++ 3 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 html/changelogs/geeves-ling_fakedeath_hud.yml diff --git a/code/game/gamemodes/changeling/implements/powers/body.dm b/code/game/gamemodes/changeling/implements/powers/body.dm index b0077df2892..5091e3e9190 100644 --- a/code/game/gamemodes/changeling/implements/powers/body.dm +++ b/code/game/gamemodes/changeling/implements/powers/body.dm @@ -210,6 +210,9 @@ C.status_flags |= FAKEDEATH //play dead C.update_canmove() C.remove_changeling_powers() + if(ishuman(C)) + var/mob/living/carbon/human/H = C + H.handle_hud_list(TRUE) C.emote("gasp") C.tod = worldtime2text() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 297c191663d..905b98a9f3a 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1133,10 +1133,12 @@ */ -/mob/living/carbon/human/proc/handle_hud_list() +/mob/living/carbon/human/proc/handle_hud_list(var/force_update = FALSE) + if(force_update) + hud_updateflag = 1022 if (BITTEST(hud_updateflag, HEALTH_HUD) && hud_list[HEALTH_HUD]) var/image/holder = hud_list[HEALTH_HUD] - if(stat == DEAD) + if(stat == DEAD || (status_flags & FAKEDEATH)) holder.icon_state = "0" // X_X else if(is_asystole()) holder.icon_state = "flatline" @@ -1146,7 +1148,7 @@ if (BITTEST(hud_updateflag, LIFE_HUD) && hud_list[LIFE_HUD]) var/image/holder = hud_list[LIFE_HUD] - if(stat == DEAD) + if(stat == DEAD || (status_flags & FAKEDEATH)) holder.icon_state = "huddead" else holder.icon_state = "hudhealthy" @@ -1154,7 +1156,7 @@ if (BITTEST(hud_updateflag, STATUS_HUD) && hud_list[STATUS_HUD] && hud_list[STATUS_HUD_OOC]) var/image/holder = hud_list[STATUS_HUD] - if(stat == DEAD) + if(stat == DEAD || (status_flags & FAKEDEATH)) holder.icon_state = "huddead" else if(status_flags & XENO_HOST) holder.icon_state = "hudxeno" @@ -1162,7 +1164,7 @@ holder.icon_state = "hudhealthy" var/image/holder2 = hud_list[STATUS_HUD_OOC] - if(stat == DEAD) + if(stat == DEAD || (status_flags & FAKEDEATH)) holder2.icon_state = "huddead" else if(status_flags & XENO_HOST) holder2.icon_state = "hudxeno" diff --git a/html/changelogs/geeves-ling_fakedeath_hud.yml b/html/changelogs/geeves-ling_fakedeath_hud.yml new file mode 100644 index 00000000000..94502bc8f0a --- /dev/null +++ b/html/changelogs/geeves-ling_fakedeath_hud.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - bugfix: "Ling fakedeath now properly updates the medhud." \ No newline at end of file