diff --git a/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm b/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm index cf2328b57f8..d1f5b269301 100644 --- a/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm +++ b/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm @@ -200,7 +200,7 @@ /obj/structure/closet/crate/secure/gear_loadout/ram_ranch/fill() for(var/i in 1 to 6) var/obj/item/clothing/under/shorts/khaki/pants = new(src) - var/obj/item/clothing/accessory/dressshirt_r/shirt = new(src) + var/obj/item/clothing/accessory/dressshirt/rolled/shirt = new(src) var/obj/item/clothing/accessory/chaps/chaps = new(src) var/obj/item/clothing/accessory/suspenders/suspenders = new(src) var/obj/item/clothing/accessory/wcoat_rec/waistcoat = new(src) @@ -221,7 +221,7 @@ /obj/structure/closet/crate/secure/gear_loadout/ram_ranch/single/fill() var/obj/item/clothing/under/shorts/khaki/pants = new(src) - var/obj/item/clothing/accessory/dressshirt_r/shirt = new(src) + var/obj/item/clothing/accessory/dressshirt/rolled/shirt = new(src) var/obj/item/clothing/accessory/chaps/chaps = new(src) var/obj/item/clothing/accessory/suspenders/suspenders = new(src) var/obj/item/clothing/accessory/wcoat_rec/waistcoat = new(src) diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories.dm b/code/modules/client/preference_setup/loadout/loadout_accessories.dm index 74b1a9a7dce..f90e29b1748 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories.dm @@ -177,9 +177,11 @@ ..() var/shirt = list() shirt["dress shirt"] = /obj/item/clothing/accessory/dressshirt - shirt["dress shirt, rolled up"] = /obj/item/clothing/accessory/dressshirt_r - shirt["dress shirt, cropped"] = /obj/item/clothing/accessory/dressshirt_crop - shirt["cropped dress shirt, rolled up"] = /obj/item/clothing/accessory/dressshirt_crop_r + shirt["dress shirt, rolled up"] = /obj/item/clothing/accessory/dressshirt/rolled + shirt["dress shirt, cropped"] = /obj/item/clothing/accessory/dressshirt/crop + shirt["cropped dress shirt, rolled up"] = /obj/item/clothing/accessory/dressshirt/crop/rolled + shirt["dress shirt, alt"] = /obj/item/clothing/accessory/dressshirt/alt + shirt["dress shirt, alt rolled up"] = /obj/item/clothing/accessory/dressshirt/alt/rolled shirt["long-sleeved shirt"] = /obj/item/clothing/accessory/longsleeve shirt["long-sleeved shirt, black striped"] = /obj/item/clothing/accessory/longsleeve_s shirt["long-sleeved shirt, blue striped"] = /obj/item/clothing/accessory/longsleeve_sb diff --git a/code/modules/clothing/under/accessories/shirts.dm b/code/modules/clothing/under/accessories/shirts.dm index 99b69225c34..8aa16738238 100644 --- a/code/modules/clothing/under/accessories/shirts.dm +++ b/code/modules/clothing/under/accessories/shirts.dm @@ -87,24 +87,69 @@ desc = "A casual dress shirt." icon_state = "dressshirt" item_state = "dressshirt" + var/rolled = FALSE -/obj/item/clothing/accessory/dressshirt_r +/obj/item/clothing/accessory/dressshirt/update_clothing_icon() + if(ismob(loc)) + var/mob/M = loc + M.update_inv_wear_suit() + get_mob_overlay(TRUE) + get_inv_overlay(TRUE) + +/obj/item/clothing/accessory/dressshirt/verb/roll_up_shirt_sleeves() + set name = "Roll Up Shirt Sleeves" + set desc = "Roll up your shirt sleeves. Doesn't work with some shirts." + set category = "Object" + set src in usr + + if(use_check_and_message(usr)) + return FALSE + + var/list/icon_states = icon_states(icon) + var/initial_state = initial(icon_state) + var/new_state = "[initial_state]_r" + if(!(new_state in icon_states)) + to_chat(usr, SPAN_WARNING("Your shirt doesn't allow this!")) + return + + rolled = !rolled + to_chat(usr, SPAN_NOTICE("You roll your shirt sleeves [rolled ? "up" : "down"].")) + icon_state = rolled ? new_state : initial_state + item_state = rolled ? new_state : initial_state + overlay_state = rolled ? new_state : initial_state + update_icon() + update_clothing_icon() + +/obj/item/clothing/accessory/dressshirt/alt name = "dress shirt" - desc = "A casual dress shirt. This one has its sleeves rolled up." - icon_state = "dressshirt_r" - item_state = "dressshirt_r" + desc = "A casual dress shirt." + icon_state = "dressshirt_alt" + item_state = "dressshirt_alt" -/obj/item/clothing/accessory/dressshirt_crop +/obj/item/clothing/accessory/dressshirt/crop name = "cropped dress shirt" desc = "A casual cropped dress shirt." icon_state = "dressshirt_crop" item_state = "dressshirt_crop" -/obj/item/clothing/accessory/dressshirt_crop_r +// So people can see how these appear in the loadout +/obj/item/clothing/accessory/dressshirt/rolled + name = "dress shirt" + desc = "A casual dress shirt. This one has its sleeves rolled up." + icon_state = "dressshirt_r" + item_state = "dressshirt_r" + +/obj/item/clothing/accessory/dressshirt/alt/rolled + name = "dress shirt" + desc = "A casual dress shirt. This one has its sleeves rolled up." + icon_state = "dressshirt_alt_r" + item_state = "dressshirt_alt_r" + +/obj/item/clothing/accessory/dressshirt/crop/rolled name = "cropped dress shirt" - desc = "A casual cropped dress shirt. This one has its sleeves rolled up." - icon_state = "dressshirt_crop_r" - item_state = "dressshirt_crop_r" + desc = "A casual cropped dress shirt. This one has its sleeves rolled up" + icon_state = "dressshirt_crop" + item_state = "dressshirt_crop" /obj/item/clothing/accessory/blouse name = "blouse" diff --git a/html/changelogs/wickedcybs_dresshirt.yml b/html/changelogs/wickedcybs_dresshirt.yml new file mode 100644 index 00000000000..23976ec03cc --- /dev/null +++ b/html/changelogs/wickedcybs_dresshirt.yml @@ -0,0 +1,7 @@ +author: WickedCybs + +delete-after: True + +changes: + - rscadd: "Added an alternate dress shirt to the shirt selection in the loadout. It has more detail and colours nicely" + - tweak: "All the loadout dress shirts can now have their sleeves rolled up by using the roll up shirt sleeves verb. This has to be done while it's not attached to your uniform. Pre-rolled dress shirts can still be selected too." \ No newline at end of file diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi index da54d130e76..8e1b0b88f2b 100644 Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi index 0ccc9be8091..6c5c352e78f 100644 Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ