diff --git a/code/game/jobs/faction/pmc.dm b/code/game/jobs/faction/pmc.dm index e71936070dc..3110169f540 100644 --- a/code/game/jobs/faction/pmc.dm +++ b/code/game/jobs/faction/pmc.dm @@ -133,7 +133,7 @@ name = "Surgeon - PMC" uniform = /obj/item/clothing/under/rank/medical/surgeon/pmc - suit = /obj/item/clothing/suit/storage/toggle/labcoat/pmc + suit = /obj/item/clothing/suit/storage/surgical_gown/pmc/alt id = /obj/item/card/id/pmc shoes = /obj/item/clothing/shoes/sneakers/medsci/pmc diff --git a/code/game/jobs/faction/zeng_hu.dm b/code/game/jobs/faction/zeng_hu.dm index df29540738f..db079f3fe3c 100644 --- a/code/game/jobs/faction/zeng_hu.dm +++ b/code/game/jobs/faction/zeng_hu.dm @@ -82,7 +82,7 @@ name = "Surgeon - Zeng-Hu" uniform = /obj/item/clothing/under/rank/medical/surgeon/zeng - suit = /obj/item/clothing/suit/storage/toggle/labcoat/zeng + suit = /obj/item/clothing/suit/storage/surgical_gown/zeng id = /obj/item/card/id/zeng_hu shoes = /obj/item/clothing/shoes/sneakers/medsci/zeng diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 489118bea2f..2eaaa321154 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -139,7 +139,7 @@ jobtype = /datum/job/surgeon uniform = /obj/item/clothing/under/rank/medical/surgeon - suit = /obj/item/clothing/suit/storage/toggle/labcoat/nt + suit = /obj/item/clothing/suit/storage/surgical_gown/nt shoes = /obj/item/clothing/shoes/sneakers/medsci /obj/outfit/job/doctor/surgeon/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) 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 53dfae3d7d2..6e2a839a91e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -43,26 +43,43 @@ new /obj/item/storage/backpack/satchel/med(src) new /obj/item/storage/backpack/duffel/med(src) new /obj/item/clothing/head/nursehat (src) - switch(pick("blue", "green", "purple")) - if ("blue") + + switch(pick("blue", "gray", "green", "purple")) + if("blue") + new /obj/item/clothing/under/rank/medical/surgeon(src) + new /obj/item/clothing/head/surgery(src) + new /obj/item/clothing/suit/storage/surgical_gown(src) + if ("gray") new /obj/item/clothing/under/rank/medical/surgeon/pmc(src) new /obj/item/clothing/head/surgery/pmc(src) + new /obj/item/clothing/suit/storage/surgical_gown/pmc(src) if ("green") new /obj/item/clothing/under/rank/medical/surgeon/idris(src) new /obj/item/clothing/head/surgery/idris(src) + new /obj/item/clothing/suit/storage/surgical_gown/idris(src) if ("purple") new /obj/item/clothing/under/rank/medical/surgeon/zeng(src) new /obj/item/clothing/head/surgery/zeng(src) - switch(pick("blue", "green", "purple")) - if ("blue") + new /obj/item/clothing/suit/storage/surgical_gown/zeng(src) + + switch(pick("blue", "gray", "green", "purple")) + if("blue") + new /obj/item/clothing/under/rank/medical/surgeon(src) + new /obj/item/clothing/head/surgery(src) + new /obj/item/clothing/suit/storage/surgical_gown(src) + if ("gray") new /obj/item/clothing/under/rank/medical/surgeon/pmc(src) new /obj/item/clothing/head/surgery/pmc(src) + new /obj/item/clothing/suit/storage/surgical_gown/pmc(src) if ("green") new /obj/item/clothing/under/rank/medical/surgeon/idris(src) new /obj/item/clothing/head/surgery/idris(src) + new /obj/item/clothing/suit/storage/surgical_gown/idris(src) if ("purple") new /obj/item/clothing/under/rank/medical/surgeon/zeng(src) new /obj/item/clothing/head/surgery/zeng(src) + new /obj/item/clothing/suit/storage/surgical_gown/zeng(src) + new /obj/item/clothing/suit/storage/hooded/tajaran/surgery(src) new /obj/item/storage/box/gloves(src) new /obj/item/clothing/accessory/storage/white_vest(src) diff --git a/code/modules/client/preference_setup/loadout/items/suit.dm b/code/modules/client/preference_setup/loadout/items/suit.dm index 9aedcf3deec..98083190e4c 100644 --- a/code/modules/client/preference_setup/loadout/items/suit.dm +++ b/code/modules/client/preference_setup/loadout/items/suit.dm @@ -125,6 +125,38 @@ cost = 1 allowed_roles = list("Scientist", "Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "Paramedic", "Medical Intern", "Xenobiologist", "Research Director", "Investigator", "Medical Personnel", "Science Personnel") +/datum/gear/suit/surgicalgown + display_name = "surgical gown selection" + description = "A selection of corporate surgical gowns." + path = /obj/item/clothing/suit/storage/surgical_gown/nt + cost = 1 + allowed_roles = list("Scientist", "Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "Paramedic", "Medical Intern", "Xenobiologist", "Research Director", "Investigator", "Medical Personnel", "Science Personnel") + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION + +/datum/gear/suit/surgicalgown/New() + ..() + var/list/surgical_gowns = list() + surgical_gowns["surgical gown, nanotrasen"] = /obj/item/clothing/suit/storage/surgical_gown/nt + surgical_gowns["surgical gown, zeng-hu"] = /obj/item/clothing/suit/storage/surgical_gown/zeng + surgical_gowns["surgical gown, pmcg"] = /obj/item/clothing/suit/storage/surgical_gown/pmc + surgical_gowns["surgical gown, pmcg, alternate"] = /obj/item/clothing/suit/storage/surgical_gown/pmc/alt + surgical_gowns["surgical gown, zavodskoi"] = /obj/item/clothing/suit/storage/surgical_gown/zavod + surgical_gowns["surgical gown, idris"] = /obj/item/clothing/suit/storage/surgical_gown/idris + gear_tweaks += new /datum/gear_tweak/path(surgical_gowns) + +/datum/gear/suit/surgicalgown_colorable + display_name = "surgical gown, colorable" + description = "A customizable surgical gown." + path = /obj/item/clothing/suit/storage/surgical_gown + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION + +/datum/gear/suit/surgicalgown_colorable/New() + ..() + var/list/surgical_gowns_colorable = list() + surgical_gowns_colorable["surgical gown, colorable"] = /obj/item/clothing/suit/storage/surgical_gown + surgical_gowns_colorable["surgical gown, accented"] = /obj/item/clothing/suit/storage/surgical_gown/accent + gear_tweaks += new /datum/gear_tweak/path(surgical_gowns_colorable) + /datum/gear/suit/medical_outerwear display_name = "medical outerwear (jackets, vests, rigs)" path = /obj/item/clothing/suit/storage/toggle/para_jacket diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 5a1e4dc4425..0ee7ba74a83 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -265,7 +265,6 @@ icon_state = "pmc_alt_emt_jacket" item_state = "pmc_alt_emt_jacket" - /obj/item/clothing/suit/storage/medical_chest_rig name = "medic chest-rig" desc = "A white chest-rig with pouches worn by paramedics, meant to carry their equipment." @@ -276,6 +275,51 @@ /obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/tank/emergency_oxygen, /obj/item/device/breath_analyzer, /obj/item/reagent_containers/blood, /obj/item/clothing/head/hardhat/paramedic) body_parts_covered = UPPER_TORSO +/obj/item/clothing/suit/storage/surgical_gown + name = "surgical gown" + desc = "A sterile overgarment used for surgical settings, like operating theaters, where cleanliness is crucial. Expect these to be routinely splashed by blood." + icon = 'icons/obj/item/clothing/department_uniforms/medical.dmi' + contained_sprite = TRUE + icon_state = "generic_surgown" + item_state = "generic_surgown" + blood_overlay_type = "suit" + allowed = list( + /obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/dnainjector,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle,/obj/item/paper, /obj/item/device/breath_analyzer + ) + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS + armor = list( + bio = ARMOR_BIO_STRONG, + ) + +/obj/item/clothing/suit/storage/surgical_gown/accent + has_accents = TRUE + +/obj/item/clothing/suit/storage/surgical_gown/nt + icon_state = "nt_surgown" + item_state = "nt_surgown" + +/obj/item/clothing/suit/storage/surgical_gown/zeng + icon_state = "zeng_surgown" + item_state = "zeng_surgown" + +/obj/item/clothing/suit/storage/surgical_gown/pmc + icon_state = "pmc_surgown" + item_state = "pmc_surgown" + +/obj/item/clothing/suit/storage/surgical_gown/pmc/alt + icon_state = "pmc_surgown_alt" + item_state = "pmc_surgown_alt" + +/obj/item/clothing/suit/storage/surgical_gown/zavod + icon_state = "zavod_surgown" + item_state = "zavod_surgown" + +/obj/item/clothing/suit/storage/surgical_gown/idris + icon_state = "idris_surgown" + item_state = "idris_surgown" + //Mime /obj/item/clothing/suit/suspenders name = "suspenders" diff --git a/html/changelogs/nauticall-surgical_gown.yml b/html/changelogs/nauticall-surgical_gown.yml new file mode 100644 index 00000000000..aa47e0f08ca --- /dev/null +++ b/html/changelogs/nauticall-surgical_gown.yml @@ -0,0 +1,58 @@ +################################ +# 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 +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: nauticall + +# 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, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added surgical gowns. Includes faction-specific variants as well as a colorable generic variant. Available in the loadout, on Surgeons by default and in medical lockers." diff --git a/icons/obj/item/clothing/department_uniforms/medical.dmi b/icons/obj/item/clothing/department_uniforms/medical.dmi index 3beb4938343..107e0f04edc 100644 Binary files a/icons/obj/item/clothing/department_uniforms/medical.dmi and b/icons/obj/item/clothing/department_uniforms/medical.dmi differ