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

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3705 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
elly1989@rocketmail.com
2012-05-31 10:53:43 +00:00
parent 1b1ddac33b
commit 7685c4be25
6 changed files with 16 additions and 17 deletions

View File

@@ -17,8 +17,8 @@
var/image/face_standing = null var/image/face_standing = null
var/image/face_lying = null var/image/face_lying = null
var/list/body_standing = list( ) var/image/damageicon_standing = null
var/list/body_lying = list( ) var/image/damageicon_lying = null
/mob/living/carbon/alien/humanoid/hunter /mob/living/carbon/alien/humanoid/hunter
name = "alien hunter" name = "alien hunter"

View File

@@ -327,7 +327,7 @@
// Automatically drop anything in store / id / belt if you're not wearing a uniform. // Automatically drop anything in store / id / belt if you're not wearing a uniform.
if (zone_sel) if (zone_sel)
zone_sel.overlays = null 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)) zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", zone_sel.selecting))
if (lying) if (lying)
@@ -344,7 +344,7 @@
else else
icon = stand_icon icon = stand_icon
overlays += body_lying overlays += damageicon_lying
if (face_lying) if (face_lying)
overlays += face_lying overlays += face_lying
@@ -352,7 +352,7 @@
if(update_icon) if(update_icon)
icon = stand_icon icon = stand_icon
overlays += body_standing overlays += damageicon_standing
if (face_standing) if (face_standing)
overlays += face_standing overlays += face_standing

View File

@@ -47,8 +47,8 @@
var/hair_icon_state = "hair_a" var/hair_icon_state = "hair_a"
var/face_icon_state = "bald" var/face_icon_state = "bald"
var/list/body_standing = list() var/image/damageicon_standing
var/list/body_lying = list() var/image/damageicon_lying
var/mutantrace = null var/mutantrace = null
@@ -820,14 +820,14 @@
if (lying) if (lying)
icon = lying_icon icon = lying_icon
overlays += body_lying overlays += damageicon_lying
if (face_lying) if (face_lying)
overlays += face_lying overlays += face_lying
else else
icon = stand_icon icon = stand_icon
overlays += body_standing overlays += damageicon_standing
if (face_standing) if (face_standing)
overlays += face_standing overlays += face_standing

View File

@@ -11,19 +11,17 @@
// now constructs damage icon for each organ from mask * damage field // now constructs damage icon for each organ from mask * damage field
/mob/living/carbon/human/UpdateDamageIcon() /mob/living/carbon/human/UpdateDamageIcon()
del(body_standing) var/icon/standing = new /icon('dam_human.dmi', "00")
body_standing = list() var/icon/lying = new /icon('dam_human.dmi', "00-2")
del(body_lying)
body_lying = list()
for(var/datum/organ/external/O in organs) for(var/datum/organ/external/O in organs)
var/icon/DI = new /icon('dam_human.dmi', O.damage_state) // the damage icon for whole human 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 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]" standing.Blend(DI,ICON_OVERLAY)
body_standing += DI
DI = new /icon('dam_human.dmi', "[O.damage_state]-2") // repeat for lying icons 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) 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]" lying.Blend(DI,ICON_OVERLAY)
body_lying += DI damageicon_standing = new /image("icon" = standing, "layer" = DAMAGE_LAYER)
damageicon_lying = new /image("icon" = lying, "layer" = DAMAGE_LAYER)
/mob/living/carbon/human/proc/get_organ(var/zone) /mob/living/carbon/human/proc/get_organ(var/zone)

View File

@@ -173,6 +173,7 @@ var/MAX_EXPLOSION_RANGE = 14
#define HIDEEYES 4 //APPLIES ONLY TO HELMETS!! #define HIDEEYES 4 //APPLIES ONLY TO HELMETS!!
//clothing-overlay layers. They are floats so they always appear above the Mob //clothing-overlay layers. They are floats so they always appear above the Mob
#define DAMAGE_LAYER -23
#define UNIFORM_LAYER -22 #define UNIFORM_LAYER -22
#define B_UNIFORM_LAYER -21 #define B_UNIFORM_LAYER -21
#define SHOES_LAYER -20 #define SHOES_LAYER -20

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB