Hoodie rework & resprite (#5998)

Hoodies have been resprited to be less ugly, and now also function in a similar way to winter coats, i.e. actually having a hood. In addition to that, they can still be opened and closed. They're also recolorable in the loadout.
The hood icon not being colored is a known issue, but I'm not sure how to fix it. This affects roughly nothing except for the UI.
The PR also makes a slight tweak to my cardigan sprite for it to be less ugly.
This commit is contained in:
VTCobaltblood
2019-02-03 20:40:52 +02:00
committed by Erki
parent b9a541af70
commit 0427b3ebea
10 changed files with 127 additions and 36 deletions
@@ -44,12 +44,12 @@
gear_tweaks += new/datum/gear_tweak/path(hazard)
/datum/gear/suit/hoodie
display_name = "hoodie, grey"
path = /obj/item/clothing/suit/storage/toggle/hoodie
display_name = "hoodie"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/hoodie
/datum/gear/suit/hoodie/black
display_name = "hoodie, black"
path = /obj/item/clothing/suit/storage/toggle/hoodie/black
/datum/gear/suit/hoodie/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/suit/labcoat
display_name = "labcoat"
+74 -5
View File
@@ -24,8 +24,8 @@
..()
/obj/item/clothing/suit/storage/hooded/proc/RemoveHood()
icon_state = "[initial(icon_state)]"
item_state = "[initial(item_state)]"
icon_state = initial(icon_state)
item_state = initial(item_state)
suittoggled = 0
// Hood got nuked. Probably because of RIGs or the like.
@@ -51,17 +51,17 @@
set category = "Object"
set src in usr
if(!usr.canmove || usr.stat || usr.restrained())
if(!use_check(usr))
return 0
if(!suittoggled)
if(ishuman(loc))
var/mob/living/carbon/human/H = src.loc
if(H.wear_suit != src)
H << "<span class='warning'>You must be wearing [src] to put up the hood!</span>"
to_chat(H, "<span class='warning'>You must be wearing [src] to put up the hood!</span>")
return
if(H.head)
H << "<span class='warning'>You're already wearing something on your head!</span>"
to_chat(H, "<span class='warning'>You're already wearing something on your head!</span>")
return
else
H.equip_to_slot_if_possible(hood,slot_head,0,0,1)
@@ -174,3 +174,72 @@
name = "space carp hood"
desc = "A hood attached to a space carp costume."
icon_state = "carp_helm"
/obj/item/clothing/suit/storage/hooded/wintercoat/hoodie
name = "hoodie"
desc = "Warm and cozy."
icon_state = "hoodie"
var/icon_open = "hoodie_open"
var/icon_closed = "hoodie"
item_state = "hoodie"
hoodtype = /obj/item/clothing/head/winterhood/hoodie
/obj/item/clothing/suit/storage/hooded/wintercoat/hoodie/RemoveHood()
..()
icon_open = initial(icon_open)
icon_closed = initial(icon_closed)
/obj/item/clothing/suit/storage/hooded/wintercoat/hoodie/verb/Toggle() //copied from storage toggle
set name = "Toggle Coat Buttons"
set category = "Object"
set src in usr
if(!use_check(usr))
return 0
if(icon_state == icon_open)
icon_state = icon_closed
item_state = icon_closed
to_chat(usr, "You zip the hoodie.")
else if(icon_state == icon_closed)
icon_state = icon_open
item_state = icon_open
to_chat(usr, "You unzip the hoodie.")
else
to_chat(usr, "You attempt to zip the velcro on your [src], before promptly realising how silly you are.")
return
update_clothing_icon()
/obj/item/clothing/suit/storage/hooded/wintercoat/hoodie/verb/ToggleHoodie()
set name ="Toggle Coat Hood"
set category = "Object"
set src in usr
if(!use_check(usr))
return 0
if(!suittoggled)
if(ishuman(loc))
var/mob/living/carbon/human/H = src.loc
if(H.wear_suit != src)
to_chat(H, "<span class='warning'>You must be wearing [src] to put up the hood!</span>")
return
if(H.head)
to_chat(H, "<span class='warning'>You're already wearing something on your head!</span>")
return
else
H.equip_to_slot_if_possible(hood,slot_head,0,0,1)
suittoggled = 1
icon_open = "[initial(icon_open)]_t" // this is where the change is.
icon_closed = "[initial(icon_closed)]_t"
icon_state = "[initial(icon_state)]_t"
item_state = "[initial(item_state)]_t"
H.update_inv_wear_suit()
else
RemoveHood()
/obj/item/clothing/head/winterhood/hoodie
name = "hood"
desc = "A hood attached to a warm hoodie."
icon_state = "hoodie_hood"
/obj/item/clothing/suit/storage/hooded/wintercoat/hoodie/grey //legacy item. for raiders, shuttle spawn
color = "#777777"
@@ -283,24 +283,6 @@
icon_open = "brown_jacket_nt_open"
icon_closed = "brown_jacket_nt"
/obj/item/clothing/suit/storage/toggle/hoodie
name = "grey hoodie"
desc = "A warm, grey sweatshirt."
icon_state = "grey_hoodie"
item_state = "grey_hoodie"
icon_open = "grey_hoodie_open"
icon_closed = "grey_hoodie"
min_cold_protection_temperature = T0C - 20
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/suit/storage/toggle/hoodie/black
name = "black hoodie"
desc = "A warm, black sweatshirt."
icon_state = "black_hoodie"
item_state = "black_hoodie"
icon_open = "black_hoodie_open"
icon_closed = "black_hoodie"
/obj/item/clothing/suit/storage/toggle/flannel
name = "green flannel shirt"
desc = "A flannel shirt, for all your space hipster needs."
+3 -3
View File
@@ -47,13 +47,13 @@
if(icon_state == icon_open) //Will check whether icon state is currently set to the "open" or "closed" state and switch it around with a message to the user
icon_state = icon_closed
item_state = icon_closed
usr << "You button up the coat."
to_chat(usr, "You button up the coat.")
else if(icon_state == icon_closed)
icon_state = icon_open
item_state = icon_open
usr << "You unbutton the coat."
to_chat(usr, "You unbutton the coat.")
else //in case some goofy admin switches icon states around without switching the icon_open or icon_closed
usr << "You attempt to button-up the velcro on your [src], before promptly realising how silly you are."
to_chat(usr, "You attempt to button-up the velcro on your [src], before promptly realising how silly you are.")
return
update_clothing_icon() //so our overlays update