diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 12925ffc613..319dae0d88b 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -450,7 +450,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee containertype = /obj/structure/closet/crate containername = "Wooden planks crate" group = "Engineering" - + /datum/supply_packs/plastic50 name = "50 plastic sheets" contains = list(/obj/item/stack/sheet/mineral/plastic) @@ -980,7 +980,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/clothing/under/rank/mailman, /obj/item/clothing/under/dress/dress_saloon, /obj/item/clothing/suit/suspenders, - /obj/item/clothing/suit/storage/labcoat/mad, + /obj/item/clothing/suit/storage/toggle/labcoat/mad, /obj/item/clothing/suit/bio_suit/plaguedoctorsuit, /obj/item/clothing/under/schoolgirl, /obj/item/clothing/under/owl, diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index c38ed72ab12..64209f675b3 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -352,7 +352,7 @@ if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back) if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/internalaffairs(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/internalaffairs(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/internalaffairs(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(H), slot_glasses) H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 07250e2dd3b..aed23c4288e 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -27,7 +27,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_medical_officer(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/heads/cmo(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/cmo(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) if(H.backbag == 1) @@ -62,13 +62,13 @@ switch(H.mind.role_alt_title) if("Emergency Physician") H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/fr_jacket(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit) if("Surgeon") H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/blue(H), slot_head) if("Virologist") - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(H), slot_wear_mask) switch(H.backbag) @@ -125,7 +125,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chemist(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/chemist(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/chemist(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(H), slot_wear_suit) switch(H.backbag) if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/chemistry(H), slot_back) @@ -155,7 +155,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/geneticist(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/geneticist(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/genetics(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) switch(H.backbag) if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) @@ -232,4 +232,4 @@ if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 3a0118e9b8f..f6cc6b169d0 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -58,7 +58,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/science(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) switch(H.backbag) if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) @@ -89,7 +89,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/science(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit) switch(H.backbag) if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back) diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 514a5b38f9f..8294a6f23ee 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -133,7 +133,7 @@ /obj/effect/landmark/costume/madscientist/New() new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc) new /obj/item/clothing/head/flatcap(src.loc) - new /obj/item/clothing/suit/storage/labcoat/mad(src.loc) + new /obj/item/clothing/suit/storage/toggle/labcoat/mad(src.loc) new /obj/item/clothing/glasses/gglasses(src.loc) del(src) diff --git a/code/game/objects/structures/coathanger.dm b/code/game/objects/structures/coathanger.dm index b79588b78f3..0d09d57c645 100644 --- a/code/game/objects/structures/coathanger.dm +++ b/code/game/objects/structures/coathanger.dm @@ -45,9 +45,9 @@ /obj/structure/coatrack/update_icon() overlays.Cut() - if (istype(coat, /obj/item/clothing/suit/storage/labcoat)) + if (istype(coat, /obj/item/clothing/suit/storage/toggle/labcoat)) overlays += image(icon, icon_state = "coat_lab") - if (istype(coat, /obj/item/clothing/suit/storage/labcoat/cmo)) + if (istype(coat, /obj/item/clothing/suit/storage/toggle/labcoat/cmo)) overlays += image(icon, icon_state = "coat_cmo") if (istype(coat, /obj/item/clothing/suit/storage/det_suit)) overlays += image(icon, icon_state = "coat_det") \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index e36dd4759d7..bff4401de22 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -95,7 +95,7 @@ new /obj/item/clothing/under/rank/nurse(src) new /obj/item/clothing/under/rank/orderly(src) new /obj/item/clothing/suit/storage/labcoat(src) - new /obj/item/clothing/suit/storage/fr_jacket(src) + new /obj/item/clothing/suit/storage/toggle/fr_jacket(src) new /obj/item/clothing/shoes/white(src) // new /obj/item/weapon/cartridge/medical(src) new /obj/item/device/radio/headset/headset_med(src) @@ -134,8 +134,8 @@ new /obj/item/clothing/under/rank/medical/purple(src) new /obj/item/clothing/head/surgery/purple(src) new /obj/item/clothing/under/rank/chief_medical_officer(src) - new /obj/item/clothing/suit/storage/labcoat/cmo(src) - new /obj/item/clothing/suit/storage/labcoat/cmoalt(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src) new /obj/item/weapon/cartridge/cmo(src) new /obj/item/clothing/gloves/latex(src) new /obj/item/clothing/shoes/brown (src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index d660cee8254..9f0fddd1992 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -281,8 +281,8 @@ new /obj/item/clothing/under/rank/chemist(src) new /obj/item/clothing/shoes/white(src) new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/storage/labcoat/chemist(src) - new /obj/item/clothing/suit/storage/labcoat/chemist(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(src) return @@ -297,8 +297,8 @@ new /obj/item/clothing/under/rank/geneticist(src) new /obj/item/clothing/shoes/white(src) new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/storage/labcoat/genetics(src) - new /obj/item/clothing/suit/storage/labcoat/genetics(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(src) return @@ -313,8 +313,8 @@ new /obj/item/clothing/under/rank/virologist(src) new /obj/item/clothing/shoes/white(src) new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/storage/labcoat/virologist(src) - new /obj/item/clothing/suit/storage/labcoat/virologist(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(src) + new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(src) new /obj/item/clothing/mask/surgical(src) new /obj/item/clothing/mask/surgical(src) return diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 8bbbe6a5cc5..212b266c56c 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -181,7 +181,7 @@ name = "Scientist" corpseradio = /obj/item/device/radio/headset/headset_sci corpseuniform = /obj/item/clothing/under/rank/scientist - corpsesuit = /obj/item/clothing/suit/storage/labcoat/science + corpsesuit = /obj/item/clothing/suit/storage/toggle/labcoat/science corpseback = /obj/item/weapon/storage/backpack corpseshoes = /obj/item/clothing/shoes/white corpseid = 1 diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 3e34179da3b..0cd4a4dd2d9 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -18,13 +18,13 @@ var/global/list/gear_datums = list() //create a list of gear datums to sort for(var/type in typesof(/datum/gear)-/datum/gear) var/datum/gear/G = new type() - + var/category = (G.sort_category in sort_categories)? G.sort_category : "unknown" sort_categories[category][G.display_name] = G - + for (var/category in sort_categories) gear_datums.Add(sortAssoc(sort_categories[category])) - + return 1 /datum/gear @@ -475,13 +475,13 @@ var/global/list/gear_datums = list() /datum/gear/brown_jacket display_name = "leather jacket, brown" - path = /obj/item/clothing/suit/storage/brown_jacket + path = /obj/item/clothing/suit/storage/toggle/brown_jacket cost = 3 slot = slot_wear_suit /datum/gear/brown_jacket_nt display_name = "leather jacket, NanoTrasen, brown" - path = /obj/item/clothing/suit/storage/brown_jacket/nanotrasen + path = /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen cost = 3 slot = slot_wear_suit diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index c3ba549526f..9f35f4c2c75 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -158,62 +158,31 @@ body_parts_covered = UPPER_TORSO|ARMS //Internal Affairs -/obj/item/clothing/suit/storage/internalaffairs +/obj/item/clothing/suit/storage/toggle/internalaffairs name = "Internal Affairs Jacket" desc = "A smooth black jacket." icon_state = "ia_jacket_open" item_state = "ia_jacket" + icon_open = "ia_jacket_open" + icon_closed = "ia_jacket" blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|ARMS - verb/toggle() - set name = "Toggle Coat Buttons" - set category = "Object" - set src in usr - if(!usr.canmove || usr.stat || usr.restrained()) - return 0 - - switch(icon_state) - if("ia_jacket_open") - src.icon_state = "ia_jacket" - usr << "You button up the jacket." - if("ia_jacket") - src.icon_state = "ia_jacket_open" - usr << "You unbutton the jacket." - else - usr << "You attempt to button-up the velcro on your [src], before promptly realising how retarded you are." - return - update_clothing_icon() //so our overlays update //Medical -/obj/item/clothing/suit/storage/fr_jacket +/obj/item/clothing/suit/storage/toggle/fr_jacket name = "first responder jacket" desc = "A high-visibility jacket worn by medical first responders." icon_state = "fr_jacket_open" item_state = "fr_jacket" + icon_open = "fr_jacket_open" + icon_closed = "fr_jacket" blood_overlay_type = "armor" allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \ /obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen) body_parts_covered = UPPER_TORSO|ARMS - verb/toggle() - set name = "Toggle Jacket Buttons" - set category = "Object" - set src in usr - - if(!usr.canmove || usr.stat || usr.restrained()) - return 0 - - switch(icon_state) - if("fr_jacket_open") - src.icon_state = "fr_jacket" - usr << "You button up the jacket." - if("fr_jacket") - src.icon_state = "fr_jacket_open" - usr << "You unbutton the jacket." - update_clothing_icon() //so our overlays update - //Mime /obj/item/clothing/suit/suspenders name = "suspenders" diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index ed215172d34..ba16b51f615 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -1,4 +1,4 @@ -/obj/item/clothing/suit/storage/labcoat +/obj/item/clothing/suit/storage/toggle/labcoat name = "labcoat" desc = "A suit that protects against minor chemical spills." icon_state = "labcoat_open" @@ -8,29 +8,8 @@ allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi') - /obj/item/clothing/suit/storage/labcoat/var/icon_open = "labcoat_open" - /obj/item/clothing/suit/storage/labcoat/var/icon_closed = "labcoat_closed" - verb/toggle() - set name = "Toggle Labcoat Buttons" - set category = "Object" - set src in usr - - if(!usr.canmove || usr.stat || usr.restrained()) - return 0 - - if(icon_state == icon_open) //Changes whatever the current icon state is for the other, tells user about it. - icon_state = icon_closed - usr << "You button up the labcoat." - else if(icon_state == icon_closed) - icon_state = icon_open - usr << "You unbutton the labcoat." - else //Left in in case an admin does something silly and changes the icon state without changing labcoat_open or labcoat_closed - 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 - -/obj/item/clothing/suit/storage/labcoat/red +/obj/item/clothing/suit/storage/toggle/labcoat/red name = "red labcoat" desc = "A suit that protects against minor chemical spills. This one is red." icon_state = "red_labcoat_open" @@ -38,7 +17,7 @@ icon_open = "red_labcoat_open" icon_closed = "red_labcoat" -/obj/item/clothing/suit/storage/labcoat/blue +/obj/item/clothing/suit/storage/toggle/labcoat/blue name = "blue labcoat" desc = "A suit that protects against minor chemical spills. This one is blue." icon_state = "blue_labcoat_open" @@ -46,7 +25,7 @@ icon_open = "blue_labcoat_open" icon_closed = "blue_labcoat" -/obj/item/clothing/suit/storage/labcoat/purple +/obj/item/clothing/suit/storage/toggle/labcoat/purple name = "purple labcoat" desc = "A suit that protects against minor chemical spills. This one is purple." icon_state = "purple_labcoat_open" @@ -54,7 +33,7 @@ icon_open = "purple_labcoat_open" icon_closed = "purple_labcoat" -/obj/item/clothing/suit/storage/labcoat/orange +/obj/item/clothing/suit/storage/toggle/labcoat/orange name = "orange labcoat" desc = "A suit that protects against minor chemical spills. This one is orange." icon_state = "orange_labcoat_open" @@ -62,7 +41,7 @@ icon_open = "orange_labcoat_open" icon_closed = "orange_labcoat" -/obj/item/clothing/suit/storage/labcoat/green +/obj/item/clothing/suit/storage/toggle/labcoat/green name = "green labcoat" desc = "A suit that protects against minor chemical spills. This one is green." icon_state = "green_labcoat_open" @@ -70,7 +49,7 @@ icon_open = "green_labcoat_open" icon_closed = "green_labcoat" -/obj/item/clothing/suit/storage/labcoat/cmo +/obj/item/clothing/suit/storage/toggle/labcoat/cmo name = "chief medical officer's labcoat" desc = "Bluer than the standard model." icon_state = "labcoat_cmo_open" @@ -78,14 +57,14 @@ icon_open = "labcoat_cmo_open" icon_closed = "labcoat_cmo" -/obj/item/clothing/suit/storage/labcoat/cmoalt +/obj/item/clothing/suit/storage/toggle/labcoat/cmoalt name = "chief medical officer labcoat" desc = "A labcoat with command blue highlights." icon_state = "labcoat_cmoalt_open" icon_open = "labcoat_cmoalt_open" icon_closed = "labcoat_cmoalt" -/obj/item/clothing/suit/storage/labcoat/mad +/obj/item/clothing/suit/storage/toggle/labcoat/mad name = "The Mad's labcoat" desc = "It makes you look capable of konking someone on the noggin and shooting them into space." icon_state = "labgreen_open" @@ -93,21 +72,21 @@ icon_open = "labgreen_open" icon_closed = "labgreen" -/obj/item/clothing/suit/storage/labcoat/genetics +/obj/item/clothing/suit/storage/toggle/labcoat/genetics name = "Geneticist labcoat" desc = "A suit that protects against minor chemical spills. Has a blue stripe on the shoulder." icon_state = "labcoat_gen_open" icon_open = "labcoat_gen_open" icon_closed = "labcoat_gen" -/obj/item/clothing/suit/storage/labcoat/chemist +/obj/item/clothing/suit/storage/toggle/labcoat/chemist name = "Chemist labcoat" desc = "A suit that protects against minor chemical spills. Has an orange stripe on the shoulder." icon_state = "labcoat_chem_open" icon_open = "labcoat_chem_open" icon_closed = "labcoat_chem" -/obj/item/clothing/suit/storage/labcoat/virologist +/obj/item/clothing/suit/storage/toggle/labcoat/virologist name = "Virologist 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." icon_state = "labcoat_vir_open" @@ -115,7 +94,7 @@ icon_closed = "labcoat_vir" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0) -/obj/item/clothing/suit/storage/labcoat/science +/obj/item/clothing/suit/storage/toggle/labcoat/science name = "Scientist labcoat" desc = "A suit that protects against minor chemical spills. Has a purple stripe on the shoulder." icon_state = "labcoat_tox_open" diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 06b913a335e..15705005a4f 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -401,38 +401,20 @@ icon_state = "leather_jacket_nt" //This one has buttons for some reason -/obj/item/clothing/suit/storage/brown_jacket +/obj/item/clothing/suit/storage/toggle/brown_jacket name = "leather jacket" desc = "A brown leather coat." icon_state = "brown_jacket" item_state = "brown_jacket" - var/open_state = "brown_jacket_open" + icon_open = "brown_jacket_open" + icon_closed = "brown_jacket" body_parts_covered = UPPER_TORSO|ARMS -/obj/item/clothing/suit/storage/brown_jacket/nanotrasen +/obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen desc = "A brown leather coat. The letters NT are proudly displayed on the back." icon_state = "brown_jacket_nt" - open_state = "brown_jacket_nt_open" - -/obj/item/clothing/suit/storage/brown_jacket/verb/toggle() - set name = "Toggle Jacket Buttons" - set category = "Object" - set src in usr - - if(!usr.canmove || usr.stat || usr.restrained()) - return 0 - - //The inhand sprite (the mob sprite that appears when holding the item in your hand) - //is unchanged, so update only icon_state, not item_state. - if(icon_state == open_state) - usr << "You button up the jacket." - src.icon_state = initial(icon_state) - - else if(icon_state == initial(icon_state)) - usr << "You unbutton the jacket." - src.icon_state = open_state - - update_clothing_icon() //so our overlays update + icon_open = "brown_jacket_nt_open" + icon_closed = "brown_jacket_nt" /obj/item/clothing/suit/hoodie name = "grey hoodie" diff --git a/code/modules/clothing/suits/storage.dm b/code/modules/clothing/suits/storage.dm index cb03feb5997..874ce3fd6d3 100644 --- a/code/modules/clothing/suits/storage.dm +++ b/code/modules/clothing/suits/storage.dm @@ -26,4 +26,26 @@ /obj/item/clothing/suit/storage/hear_talk(mob/M, var/msg) pockets.hear_talk(M, msg) - ..() \ No newline at end of file + ..() + +//Jackets with buttons, used for labcoats, IA jackets, First Responder jackets, and brown jackets. +/obj/item/clothing/suit/storage/toggle + /obj/item/clothing/suit/storage/toggle/var/icon_open + /obj/item/clothing/suit/storage/toggle/var/icon_closed + verb/toggle() + set name = "Toggle Coat Buttons" + set category = "Object" + set src in usr + if(!usr.canmove || usr.stat || usr.restrained()) + return 0 + + 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 + usr << "You button up the coat." + else if(icon_state == icon_closed) + icon_state = icon_open + 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 retarded you are." + return + update_clothing_icon() //so our overlays update \ No newline at end of file