diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index fded83e24e9..98b99d0a1d3 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -107,8 +107,9 @@ //Middle right (status indicators) #define ui_nutrition "16:28,5:11" #define ui_temp "16:28,6:13" -#define ui_health "16:28,7:15" -#define ui_internal "16:28,8:17" +#define ui_healthdoll "16:28,7:15" +#define ui_health "16:28,8:17" +#define ui_internal "16:28,9:19" //borgs #define ui_borg_health "16:28,6:13" //borgs have the health display where humans have the pressure damage indicator. #define ui_alien_health "16:28,6:13" //aliens have the health display where humans have the pressure damage indicator. diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 134494794cc..20e50d9472c 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -229,6 +229,7 @@ datum/hud/New(mob/owner) else src.client.screen -= src.healths src.client.screen -= src.internals + src.client.screen -= src.healthdoll src.client.screen -= src.gun_setting_icon //These ones are not a part of 'adding', 'other' or 'hotkeybuttons' but we want them gone. @@ -244,6 +245,8 @@ datum/hud/New(mob/owner) src.client.screen += src.hud_used.hotkeybuttons if(src.healths) src.client.screen |= src.healths + if(src.healthdoll) + src.client.screen |= src.healthdoll if(src.internals) src.client.screen |= src.internals if(src.gun_setting_icon) diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 3a80570dbb7..c0dc87b1c0d 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -410,6 +410,12 @@ mymob.healths.name = "health" mymob.healths.screen_loc = ui_health + mymob.healthdoll = new /obj/screen() + mymob.healthdoll.icon = ui_style + mymob.healthdoll.icon_state = "healthdoll_DEAD" + mymob.healthdoll.name = "health doll" + mymob.healthdoll.screen_loc = ui_healthdoll + mymob.nutrition_icon = new /obj/screen() mymob.nutrition_icon.icon = ui_style mymob.nutrition_icon.icon_state = "nutrition0" @@ -479,7 +485,7 @@ mymob.client.screen = null - mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.damageoverlay, mymob.gun_setting_icon) //, mymob.hands, mymob.rest, mymob.sleep) //, mymob.mach ) + mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.healthdoll, mymob.nutrition_icon, mymob.pullin, mymob.blind, mymob.flash, mymob.damageoverlay, mymob.gun_setting_icon) //, mymob.hands, mymob.rest, mymob.sleep) //, mymob.mach ) mymob.client.screen += src.adding + src.hotkeybuttons inventory_shown = 0; diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c016f2204e8..175da10bf00 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1357,6 +1357,29 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc if(0 to 20) healths.icon_state = "health5" else healths.icon_state = "health6" + if(healthdoll) + healthdoll.overlays.Cut() + if(stat == DEAD) + healthdoll.icon_state = "healthdoll_DEAD" + else + healthdoll.icon_state = "healthdoll_OVERLAY" + for(var/datum/organ/external/O in organs) + var/damage = O.burn_dam + O.brute_dam + var/comparison = (O.max_damage/5) + var/icon_num = 0 + if(damage) + icon_num = 1 + if(damage > (comparison)) + icon_num = 2 + if(damage > (comparison*2)) + icon_num = 3 + if(damage > (comparison*3)) + icon_num = 4 + if(damage > (comparison*4)) + icon_num = 5 + if(icon_num) + healthdoll.overlays += image('icons/mob/screen_gen.dmi',"[O.name][icon_num]") + if(nutrition_icon) switch(nutrition) if(450 to INFINITY) nutrition_icon.icon_state = "nutrition0" diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index bb72d480642..3a5d8e7d961 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -40,6 +40,7 @@ */ var/obj/screen/zone_sel/zone_sel = null var/obj/screen/leap_icon = null + var/obj/screen/healthdoll = null var/use_me = 1 //Allows all mobs to use the me verb by default, will have to manually specify they cannot var/damageoverlaytemp = 0 diff --git a/icons/mob/screen1_Midnight.dmi b/icons/mob/screen1_Midnight.dmi index 433e36ee4e1..037224c3eaa 100644 Binary files a/icons/mob/screen1_Midnight.dmi and b/icons/mob/screen1_Midnight.dmi differ diff --git a/icons/mob/screen1_NinjaHUD.dmi b/icons/mob/screen1_NinjaHUD.dmi index eefb0f36d1e..ef9252e30c0 100644 Binary files a/icons/mob/screen1_NinjaHUD.dmi and b/icons/mob/screen1_NinjaHUD.dmi differ diff --git a/icons/mob/screen1_Orange.dmi b/icons/mob/screen1_Orange.dmi index f350ed4de38..ae8b55fd224 100644 Binary files a/icons/mob/screen1_Orange.dmi and b/icons/mob/screen1_Orange.dmi differ diff --git a/icons/mob/screen1_Vampire.dmi b/icons/mob/screen1_Vampire.dmi index 514f66a9a3c..0904e66da0d 100644 Binary files a/icons/mob/screen1_Vampire.dmi and b/icons/mob/screen1_Vampire.dmi differ diff --git a/icons/mob/screen1_White.dmi b/icons/mob/screen1_White.dmi index 3cb1caa489b..9ee72f5a15a 100644 Binary files a/icons/mob/screen1_White.dmi and b/icons/mob/screen1_White.dmi differ diff --git a/icons/mob/screen_gen.dmi b/icons/mob/screen_gen.dmi index 5eace7bf072..1ab23750fdd 100644 Binary files a/icons/mob/screen_gen.dmi and b/icons/mob/screen_gen.dmi differ