diff --git a/code/WorkInProgress/Cael_Aislinn/Tajara/tajaran.dm b/code/WorkInProgress/Cael_Aislinn/Tajara/tajaran.dm index 8f4a741ff7..1814d6c4ea 100644 --- a/code/WorkInProgress/Cael_Aislinn/Tajara/tajaran.dm +++ b/code/WorkInProgress/Cael_Aislinn/Tajara/tajaran.dm @@ -127,14 +127,14 @@ if (lying) icon = lying_icon - overlays += body_lying + overlays += damageicon_lying if (face_lying) overlays += face_lying else icon = stand_icon - overlays += body_standing + overlays += damageicon_standing if (face_standing) overlays += face_standing diff --git a/code/defines/mob/living/carbon/alien_humanoid.dm b/code/defines/mob/living/carbon/alien_humanoid.dm index ffbfc7aa49..af03496ff6 100644 --- a/code/defines/mob/living/carbon/alien_humanoid.dm +++ b/code/defines/mob/living/carbon/alien_humanoid.dm @@ -17,8 +17,8 @@ var/image/face_standing = null var/image/face_lying = null - var/list/body_standing = list( ) - var/list/body_lying = list( ) + var/image/damageicon_standing = null + var/image/damageicon_lying = null /mob/living/carbon/alien/humanoid/hunter name = "alien hunter" diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index c00deab594..707490f220 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -327,7 +327,7 @@ // Automatically drop anything in store / id / belt if you're not wearing a uniform. if (zone_sel) zone_sel.overlays = null - zone_sel.overlays += body_standing + zone_sel.overlays += damageicon_standing zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", zone_sel.selecting)) if (lying) @@ -344,7 +344,7 @@ else icon = stand_icon - overlays += body_lying + overlays += damageicon_lying if (face_lying) overlays += face_lying @@ -352,7 +352,7 @@ if(update_icon) icon = stand_icon - overlays += body_standing + overlays += damageicon_standing if (face_standing) overlays += face_standing diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 3cb98d82a7..9855d9488f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -52,8 +52,8 @@ var/hair_icon_state = "hair_a" var/face_icon_state = "bald" - var/list/body_standing = list() - var/list/body_lying = list() + var/image/damageicon_standing + var/image/damageicon_lying var/mutantrace = null @@ -936,8 +936,8 @@ // Other procs(probably update_face() and update_body() ) also rebuild their own // kinds of overlay lists. Think about merging those procs into this proc. - body_overlays_lying += body_lying - body_overlays_standing += body_standing + body_overlays_lying += damageicon_lying + body_overlays_standing += damageicon_standing // face_lying and face_standing are the face icons, not a flag body_overlays_lying += face_lying @@ -1866,7 +1866,7 @@ It can still be worn/put on as normal. W.add_fingerprint(source) else if(!item) return - if ((istype(item, /obj) && item.flags & 128 && target.w_uniform)) + if ((istype(item, /obj) && (item.slot_flags & SLOT_BELT) && target.w_uniform)) source.drop_item() loc = target item.layer = 20 @@ -2160,7 +2160,7 @@ It can still be worn/put on as normal. W.add_fingerprint(source) else if(!item) return - if ((istype(item, /obj/item) && item.flags & 1)) + if ((istype(item, /obj/item) && (item.slot_flags & SLOT_BACK))) source.drop_item() loc = target item.layer = 20 diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 2ece10b0b2..45041e244b 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -21,11 +21,8 @@ // now constructs damage icon for each organ from mask * damage field /mob/living/carbon/human/UpdateDamageIcon() - del(body_standing) - body_standing = list() - del(body_lying) - body_lying = list() - + var/icon/standing = new /icon('dam_human.dmi', "00") + var/icon/lying = new /icon('dam_human.dmi', "00-2") for(var/name in organs) var/datum/organ/external/O = organs[name] if(!O.destroyed) @@ -33,11 +30,13 @@ var/icon/DI = new /icon('dam_human.dmi', O.damage_state) // the damage icon for whole human DI.Blend(new /icon('dam_mask.dmi', O.icon_name), ICON_MULTIPLY) // mask with this organ's pixels // world << "[O.icon_name] [O.damage_state] \icon[DI]" - body_standing += DI + standing.Blend(DI,ICON_OVERLAY) DI = new /icon('dam_human.dmi', "[O.damage_state]-2") // repeat for lying icons DI.Blend(new /icon('dam_mask.dmi', "[O.icon_name]2"), ICON_MULTIPLY) // world << "[O.r_name]2 [O.d_i_state]-2 \icon[DI]" - body_lying += DI + lying.Blend(DI,ICON_OVERLAY) + damageicon_standing = new /image("icon" = standing, "layer" = DAMAGE_LAYER) + damageicon_lying = new /image("icon" = lying, "layer" = DAMAGE_LAYER) /mob/living/carbon/human/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = 0, var/used_weapon = null) diff --git a/icons/mob/dam_human.dmi b/icons/mob/dam_human.dmi index 5b4c87cf3d..c68299554c 100644 Binary files a/icons/mob/dam_human.dmi and b/icons/mob/dam_human.dmi differ