diff --git a/code/game/antagonist/outsider/raider.dm b/code/game/antagonist/outsider/raider.dm index 069bbcc3b07..240e807e92a 100644 --- a/code/game/antagonist/outsider/raider.dm +++ b/code/game/antagonist/outsider/raider.dm @@ -60,10 +60,9 @@ var/datum/antagonist/raider/raiders /obj/item/clothing/suit/storage/toggle/bomber, /obj/item/clothing/suit/storage/toggle/leather_jacket, /obj/item/clothing/suit/storage/toggle/brown_jacket, - /obj/item/clothing/suit/storage/toggle/hoodie, - /obj/item/clothing/suit/storage/toggle/hoodie/black, /obj/item/clothing/suit/unathi/mantle, - /obj/item/clothing/accessory/poncho + /obj/item/clothing/accessory/poncho, + /obj/item/clothing/suit/storage/hooded/wintercoat/hoodie/grey ) var/list/raider_guns = list( diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index b9325f15cd0..003c1b5cc94 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -164,8 +164,8 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) if(3 to 6) H.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hooded/wintercoat/hoodie/grey(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/hoodie(H), slot_wear_suit) if(7 to 9) H.equip_to_slot_or_del(new /obj/item/clothing/under/sl_suit(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index e6defb1f5c4..f5b21a1baac 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -50,7 +50,6 @@ new /obj/item/clothing/under/waiter(src) new /obj/item/device/radio/headset/headset_service(src) new /obj/item/device/radio/headset/headset_service(src) - new /obj/item/clothing/suit/storage/toggle/hoodie(src) new /obj/item/weapon/storage/box/gloves(src) new /obj/item/weapon/storage/box/mousetraps(src) new /obj/item/clothing/under/rank/chef(src) diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm index 80ecd912d21..dac5881b971 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm @@ -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" diff --git a/code/modules/clothing/suits/hoodies.dm b/code/modules/clothing/suits/hoodies.dm index 01bec85cc7a..033d487bf2c 100644 --- a/code/modules/clothing/suits/hoodies.dm +++ b/code/modules/clothing/suits/hoodies.dm @@ -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 << "You must be wearing [src] to put up the hood!" + to_chat(H, "You must be wearing [src] to put up the hood!") return if(H.head) - H << "You're already wearing something on your head!" + to_chat(H, "You're already wearing something on your head!") 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, "You must be wearing [src] to put up the hood!") + return + if(H.head) + to_chat(H, "You're already wearing something on your head!") + 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" \ No newline at end of file diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 730e922d6b7..7a33101895b 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -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." diff --git a/code/modules/clothing/suits/storage.dm b/code/modules/clothing/suits/storage.dm index 3a0952ba0f1..8006263af79 100644 --- a/code/modules/clothing/suits/storage.dm +++ b/code/modules/clothing/suits/storage.dm @@ -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 diff --git a/html/changelogs/VTCobaltblood - hoodies.yml b/html/changelogs/VTCobaltblood - hoodies.yml new file mode 100644 index 00000000000..d9f6f8a508d --- /dev/null +++ b/html/changelogs/VTCobaltblood - hoodies.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: VTCobaltblood + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Reworked the hoodies entirely." + - tweak: "Tweaked the cardigan sprite a little for it to be less ugly." \ No newline at end of file diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 12e97187e61..cc7a7029514 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/hoodies.dmi b/icons/obj/hoodies.dmi index 912a069be37..7fab9e5fe5a 100644 Binary files a/icons/obj/hoodies.dmi and b/icons/obj/hoodies.dmi differ