diff --git a/code/game/objects/structures/coathanger.dm b/code/game/objects/structures/coathanger.dm index d3368bd443c..c58ddd19acc 100644 --- a/code/game/objects/structures/coathanger.dm +++ b/code/game/objects/structures/coathanger.dm @@ -4,8 +4,11 @@ icon = 'icons/obj/coatrack.dmi' icon_state = "coatrack0" var/obj/item/clothing/suit/coat - var/list/allowed = list(/obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/suit/storage/toggle/det_trench, - /obj/item/clothing/suit/storage/toggle/forensics, /obj/item/clothing/suit/storage/toggle/trench) + var/obj/item/clothing/head/hat + var/list/allowed_coats = list(/obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/suit/storage/toggle/det_trench, + /obj/item/clothing/suit/storage/toggle/forensics, /obj/item/clothing/suit/storage/toggle/trench, + /obj/item/clothing/suit/storage/det_jacket) + var/list/allowed_hats = list(/obj/item/clothing/head/det, /obj/item/clothing/head/beret/security, /obj/item/clothing/head/softcap/security) /obj/structure/coatrack/attack_hand(mob/user as mob) if (!ishuman(user)) @@ -15,36 +18,44 @@ if (!user.can_use_hand()) return if(coat) - user.visible_message("[user] takes [coat] off \the [src].", "You take [coat] off the \the [src]") - coat.forceMove(get_turf(user)) + user.visible_message("[user] takes [coat] off \the [src].", SPAN_NOTICE("You take [coat] off the \the [src].")) user.put_in_hands(coat) coat = null update_icon() + else if(hat) + user.visible_message("[user] takes [hat] off \the [src].", SPAN_NOTICE("You take [hat] off the \the [src].")) + user.put_in_hands(hat) + hat = null + update_icon() /obj/structure/coatrack/attackby(obj/item/W as obj, mob/user as mob) - var/can_hang = 0 - if(is_type_in_list(W, allowed)) - can_hang = 1 - if (can_hang && !coat) - user.visible_message("[user] hangs [W] on \the [src].", "You hang [W] on the \the [src]") + if (is_type_in_list(W, allowed_coats) && !coat) + user.visible_message("[user] hangs [W] on \the [src].", SPAN_NOTICE("You hang [W] on the \the [src].")) coat = W user.drop_from_inventory(coat, src) update_icon() + else if (is_type_in_list(W, allowed_hats) && !hat) + user.visible_message("[user] hangs [W] on \the [src].", SPAN_NOTICE("You hang [W] on the \the [src].")) + hat = W + user.drop_from_inventory(hat, src) + update_icon() else - to_chat(user, "You cannot hang [W] on [src]") + to_chat(user, SPAN_NOTICE("You cannot hang [W] on [src].")) return ..() /obj/structure/coatrack/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) - var/can_hang = 0 - if(is_type_in_list(mover, allowed)) - can_hang = 1 - - if (can_hang && !coat) + if (is_type_in_list(mover, allowed_coats) && !coat) src.visible_message("[mover] lands on \the [src].") coat = mover coat.forceMove(src) update_icon() return 0 + if (is_type_in_list(mover, allowed_hats) && !hat) + src.visible_message("[mover] lands on \the [src].") + hat = mover + hat.forceMove(src) + update_icon() + return 0 else return 1 @@ -54,4 +65,10 @@ if(istype(coat, /obj/item/clothing/suit/storage/toggle)) var/obj/item/clothing/suit/storage/toggle/T = coat T.icon_state = initial(T.icon_state) + T.opened = FALSE add_overlay("coat_[coat.icon_state]") + if (hat) + if(istype(hat, /obj/item/clothing/head/softcap/security/idris) || istype(hat, /obj/item/clothing/head/softcap/security/corp)) + add_overlay("hat_softcap_[hat.icon_state]") + else + add_overlay("hat_[hat.icon_state]") diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index b9ec3830e90..886edcb0f8d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -355,7 +355,7 @@ new /obj/item/storage/backpack/satchel/leather(src) new /obj/item/clothing/suit/storage/det_jacket(src) new /obj/item/clothing/under/det(src) - new /obj/item/clothing/suit/storage/toggle/labcoat(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/security(src) new /obj/item/clothing/under/det/black(src) new /obj/item/clothing/under/det/classic(src) new /obj/item/clothing/accessory/badge/investigator(src) diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index f5a93467c21..d4e19d53f7a 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -16,25 +16,16 @@ desc = "Bluer than the standard model." icon_state = "labcoat_cmo" item_state = "labcoat_cmo" - armor = list( - bio = ARMOR_BIO_RESISTANT - ) /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt name = "chief medical officer labcoat" desc = "A labcoat with command blue highlights." icon_state = "labcoat_cmoalt" - armor = list( - bio = ARMOR_BIO_RESISTANT - ) /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt2 name = "chief medical officer labcoat" desc = "A labcoat with command gold highlights." icon_state = "labcoat_cmoalt2" - armor = list( - bio = ARMOR_BIO_RESISTANT - ) /obj/item/clothing/suit/storage/toggle/labcoat/genetics name = "geneticist labcoat" @@ -43,32 +34,32 @@ /obj/item/clothing/suit/storage/toggle/labcoat/medical name = "medical labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a green stripe on the shoulder." + desc = "A suit that protects against minor chemical spills. Has a green stripe on the shoulder." icon_state = "labcoat_med" /obj/item/clothing/suit/storage/toggle/labcoat/pharmacist name = "pharmacist labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has an orange stripe on the shoulder." + desc = "A suit that protects against minor chemical spills. Has an orange stripe on the shoulder." icon_state = "labcoat_chem" /obj/item/clothing/suit/storage/toggle/labcoat/biochemist name = "protective labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a red stripe on the shoulder." + desc = "A suit that protects against minor chemical spills. Has a red stripe on the shoulder." icon_state = "labcoat_vir" /obj/item/clothing/suit/storage/toggle/labcoat/psych name = "psychiatrist labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a teal stripe on the shoulder." + desc = "A suit that protects against minor chemical spills. Has a teal stripe on the shoulder." icon_state = "labcoat_psych" /obj/item/clothing/suit/storage/toggle/labcoat/surgeon name = "surgeon labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a light blue stripe on the shoulder." + desc = "A suit that protects against minor chemical spills. Has a light blue stripe on the shoulder." icon_state = "labcoat_surgeon" /obj/item/clothing/suit/storage/toggle/labcoat/trauma name = "trauma physician labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a black stripe on the shoulder." + desc = "A suit that protects against minor chemical spills. Has a black stripe on the shoulder." icon_state = "labcoat_trauma" /obj/item/clothing/suit/storage/toggle/labcoat/science @@ -88,7 +79,7 @@ /obj/item/clothing/suit/storage/toggle/labcoat/zeng name = "zeng-hu labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Comes in Zeng-Hu colours." + desc = "A suit that protects against minor chemical spills. Comes in Zeng-Hu colours." icon_state = "labcoat_zeng" /obj/item/clothing/suit/storage/toggle/labcoat/zeng/alt @@ -96,22 +87,21 @@ /obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi name = "Zavodskoi Interstellar labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Comes in Zavodskoi Interstellar colours." + desc = "A suit that protects against minor chemical spills. Comes in Zavodskoi Interstellar colours." icon_state = "labcoat_necro" /obj/item/clothing/suit/storage/toggle/labcoat/heph name = "hephaestus labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Comes in Hephaestus colours." + desc = "A suit that protects against minor chemical spills. Comes in Hephaestus colours." icon_state = "labcoat_heph" - armor = list( - bio = ARMOR_BIO_RESISTANT - ) /obj/item/clothing/suit/storage/toggle/labcoat/iac name = "iac labcoat" - desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Comes in IAC colors." + desc = "A suit that protects against minor chemical spills. Comes in IAC colors." icon_state = "labcoat_iac" item_state = "labcoat_iac" - armor = list( - bio = ARMOR_BIO_RESISTANT - ) + +/obj/item/clothing/suit/storage/toggle/labcoat/security + name = "security labcoat" + desc = "A suit that protects against minor chemical spills. Has a dark blue stripe on the shoulder." + icon_state = "labcoat_sec" diff --git a/html/changelogs/LabCoatRack.yml b/html/changelogs/LabCoatRack.yml new file mode 100644 index 00000000000..450d4b6ca69 --- /dev/null +++ b/html/changelogs/LabCoatRack.yml @@ -0,0 +1,8 @@ +author: TheGreyWolf + +delete-after: True + +changes: + - rscadd: "The coatrack can now hold most forensic coats along with the detective jacket." + - rscadd: "The coatrack can now hold fedoras and several security berets & caps including idris variants of those." + - rscadd: "Investigators are now given security labcoats that button all the way when closed." diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index c227ab8f583..9bb73ab0eff 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index b5328a0653b..4f4f8ddf44f 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/coatrack.dmi b/icons/obj/coatrack.dmi index 3f0725fb24d..0c28e73c98c 100644 Binary files a/icons/obj/coatrack.dmi and b/icons/obj/coatrack.dmi differ