Makes update_inv_head() respect item_state and item_icons

Fixes #9873
This commit is contained in:
mwerezak
2015-06-26 01:34:15 -04:00
parent 60861b1c64
commit 1b978f9570
5 changed files with 27 additions and 20 deletions

View File

@@ -138,21 +138,18 @@
desc = "A pair of kitty ears. Meow!"
icon_state = "kitty"
body_parts_covered = 0
var/icon/mob
var/icon/mob2
siemens_coefficient = 1.5
item_icons = list()
update_icon(var/mob/living/carbon/human/user)
if(!istype(user)) return
mob = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kitty")
mob2 = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kitty2")
mob.Blend(rgb(user.r_hair, user.g_hair, user.b_hair), ICON_ADD)
mob2.Blend(rgb(user.r_hair, user.g_hair, user.b_hair), ICON_ADD)
var/icon/ears = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kitty")
ears.Blend(rgb(user.r_hair, user.g_hair, user.b_hair), ICON_ADD)
var/icon/earbit = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kittyinner")
var/icon/earbit2 = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kittyinner2")
mob.Blend(earbit, ICON_OVERLAY)
mob2.Blend(earbit2, ICON_OVERLAY)
ears.Blend(earbit, ICON_OVERLAY)
item_icons[icon_head] = ears
/obj/item/clothing/head/richard
name = "chicken mask"

View File

@@ -686,17 +686,24 @@ proc/get_damage_icon_part(damage_state, body_part)
/mob/living/carbon/human/update_inv_head(var/update_icons=1)
if(head)
head.screen_loc = ui_head //TODO
var/image/standing
if(istype(head,/obj/item/clothing/head/kitty))
standing = image("icon" = head:mob)
else
if(head.icon_override)
standing = image("icon" = head.icon_override, "icon_state" = "[head.icon_state]")
else if(head.sprite_sheets && head.sprite_sheets[species.name])
standing = image("icon" = head.sprite_sheets[species.name], "icon_state" = "[head.icon_state]")
else
standing = image("icon" = 'icons/mob/head.dmi', "icon_state" = "[head.icon_state]")
//Determine the icon to use
var/t_icon = INV_HEAD_DEF_ICON
if(head.icon_override)
t_icon = head.icon_override
else if(head.sprite_sheets && head.sprite_sheets[species.name])
t_icon = head.sprite_sheets[species.name]
else if(head.item_icons && (icon_head in head.item_icons))
t_icon = head.item_icons[icon_head]
//Determine the state to use
var/t_state = head.icon_state
if(head.item_state)
t_state = head.item_state
//Create the image
var/image/standing = image(icon = t_icon, icon_state = t_state)
if(head.blood_DNA)
var/image/bloodsies = image("icon" = 'icons/effects/blood.dmi', "icon_state" = "helmetblood")
bloodsies.color = head.blood_color

View File

@@ -2,6 +2,7 @@
//Having them here also makes for a nice reference list of the various overlay-updating procs available
//default item on-mob icons
#define INV_HEAD_DEF_ICON 'icons/mob/head.dmi'
#define INV_L_HAND_DEF_ICON 'icons/mob/items/lefthand.dmi'
#define INV_R_HAND_DEF_ICON 'icons/mob/items/righthand.dmi'

View File

@@ -8,6 +8,7 @@
gender = PLURAL
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "paper"
item_state = "paper"
throwforce = 0
w_class = 1.0
throw_range = 1