TG: Fix for Damage Icons. They now have a layer define too.

Revision: r3705
Author: 	 elly1...@rocketmail.com

THIS ALSO FIXES:
Not being able to put items on people's back or belt.
This commit is contained in:
Erthilo
2012-06-03 17:41:54 +01:00
parent 65416c202f
commit de809a19ae
6 changed files with 19 additions and 20 deletions

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB