From cdcfa67f15c07862d287eb6223b22ac230a1f021 Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Mon, 15 Jan 2024 13:05:22 -0300 Subject: [PATCH 01/15] M.P.E.A.O.S-1 --- .../vending/vendor_types/crew/medical.dm | 83 +++++++++++++------ .../vendor_types/crew/senior_officers.dm | 62 +++++++++++--- .../objects/effects/landmarks/landmarks.dm | 18 ++++ code/modules/clothing/suits/labcoat.dm | 4 + code/modules/gear_presets/uscm_medical.dm | 80 ++++++------------ maps/map_files/USS_Almayer/USS_Almayer.dmm | 36 ++++---- 6 files changed, 170 insertions(+), 113 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/crew/medical.dm b/code/game/machinery/vending/vendor_types/crew/medical.dm index 5dfb6b347b5d..526b10a83db5 100644 --- a/code/game/machinery/vending/vendor_types/crew/medical.dm +++ b/code/game/machinery/vending/vendor_types/crew/medical.dm @@ -29,31 +29,41 @@ //------------ DOCTOR --------------- GLOBAL_LIST_INIT(cm_vending_clothing_doctor, list( - list("MEDICAL SET (MANDATORY)", 0, null, null, null), + list("MEDICAL SET (MANDATORY)", 0, null, null, null), list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), - list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/doc, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), + + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), list("Blue Scrubs", 0, /obj/item/clothing/under/rank/medical/blue, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Purple Scrubs", 0, /obj/item/clothing/under/rank/medical/purple, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), - list("ARMOR (CHOOSE 1)", 0, null, null, null), - list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), - list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + list("SUIT (CHOOSE 1)", 0, null, null, null), + list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_MRE, VENDOR_ITEM_REGULAR), + list("Medical's apron", 0, /obj/item/clothing/suit/chef/classic/medical, MARINE_CAN_BUY_MRE, VENDOR_ITEM_REGULAR), - list("HELMET", 0, null, null, null), + list("SNOW GEAR (SNOW USE ONLY)", 0, null, null, null), + list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Balaclava", 0, /obj/item/clothing/mask/balaclava, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + list("Snow Scarf", 0, /obj/item/clothing/mask/tornscarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + + list("HEADWEAR (CHOOSE 1)", 0, null, null, null), list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("BAG (CHOOSE 1)", 0, null, null, null), + list("Standard Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Standard Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Medical Satchel", 0, /obj/item/storage/backpack/marine/satchel/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), - list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), list("BELT (CHOOSE 1)", 0, null, null, null), list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), @@ -84,32 +94,43 @@ GLOBAL_LIST_INIT(cm_vending_clothing_doctor, list( //------------ NURSE --------------- GLOBAL_LIST_INIT(cm_vending_clothing_nurse, list( - list("MEDICAL SET (MANDATORY)", 0, null, null, null), + list("MEDICAL SET (MANDATORY)", 0, null, null, null), list("Essential Medical Set", 0, /obj/effect/essentials_set/medical, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), - list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/doc, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), + + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), + list("Medical Nurse Scrubs", 0, /obj/item/clothing/under/rank/medical/nurse, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), list("Blue Scrubs", 0, /obj/item/clothing/under/rank/medical/blue, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Purple Scrubs", 0, /obj/item/clothing/under/rank/medical/purple, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), - list("Medical Nurse Scrubs", 0, /obj/item/clothing/under/rank/medical/nurse, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), - list("ARMOR (CHOOSE 1)", 0, null, null, null), - list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), - list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + list("SUIT (CHOOSE 1)", 0, null, null, null), + list("Medical's apron", 0, /obj/item/clothing/suit/chef/classic/medical, MARINE_CAN_BUY_MRE, VENDOR_ITEM_REGULAR), + + list("SNOW GEAR (SNOW USE ONLY)", 0, null, null, null), + list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Balaclava", 0, /obj/item/clothing/mask/balaclava, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + list("Snow Scarf", 0, /obj/item/clothing/mask/tornscarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), - list("HELMET", 0, null, null, null), + list("HEADWEAR (CHOOSE 1)", 0, null, null, null), + + list("Surgical Cap, Orange", 0, /obj/item/clothing/head/surgery/orange, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_RECOMMENDED), list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("BAG (CHOOSE 1)", 0, null, null, null), + list("Standard Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Standard Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Medical Satchel", 0, /obj/item/storage/backpack/marine/satchel/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), - list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), list("BELT (CHOOSE 1)", 0, null, null, null), list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), @@ -143,30 +164,40 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( list("MEDICAL SET (MANDATORY)", 0, null, null, null), list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), - list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/research, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), - list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), + list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), + list("Researcher Uniform", 0, /obj/item/clothing/under/marine/officer/researcher, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), list("Blue Scrubs", 0, /obj/item/clothing/under/rank/medical/blue, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Purple Scrubs", 0, /obj/item/clothing/under/rank/medical/purple, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), - list("Researcher Uniform", 0, /obj/item/clothing/under/marine/officer/researcher, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), - list("ARMOR (CHOOSE 1)", 0, null, null, null), - list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat/researcher, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), - list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + list("SUIT (CHOOSE 1)", 0, null, null, null), + list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat/researcher, MARINE_CAN_BUY_MRE, VENDOR_ITEM_RECOMMENDED), + + list("SNOW GEAR (SNOW USE ONLY)", 0, null, null, null), + list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Balaclava", 0, /obj/item/clothing/mask/balaclava, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + list("Snow Scarf", 0, /obj/item/clothing/mask/tornscarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), - list("HELMET", 0, null, null, null), + list("HEADWEAR (CHOOSE 1)", 0, null, null, null), list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("BAG (CHOOSE 1)", 0, null, null, null), + list("Standard Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Standard Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Medical Satchel", 0, /obj/item/storage/backpack/marine/satchel/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), - list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), list("BELT (CHOOSE 1)", 0, null, null, null), list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), @@ -203,6 +234,9 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( /obj/item/device/healthanalyzer, /obj/item/tool/surgery/surgical_line, /obj/item/tool/surgery/synthgraft, + /obj/item/storage/syringe_case, + /obj/item/storage/surgical_case/regular, + ) /obj/effect/essentials_set/medical/doctor @@ -214,4 +248,5 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( /obj/item/tool/surgery/synthgraft, /obj/item/device/flashlight/pen, /obj/item/clothing/accessory/stethoscope, + /obj/item/storage/syringe_case, ) diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index 9d9c519c285f..7331efbf8f06 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -210,36 +210,61 @@ GLOBAL_LIST_INIT(cm_vending_clothing_req_officer, list( //------------ CHIEF MEDICAL OFFICER --------------- GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( - list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("MEDICAL SET (MANDATORY)", 0, null, null, null), + list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor/CMO, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), + + list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/cmo, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), - list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), - list("EYEWARE (CHOOSE 1)", 0, null, null, null), + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_REGULAR), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("UNIFORM (CHOOSE 1)", 0, null, null, null), - list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), + list("Chief Medical Officer's Uniform", 0, /obj/item/clothing/under/rank/chief_medical_officer, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), + list("Doctor Uniform", 0, /obj/item/clothing/under/rank/medical, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), + list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Blue Scrubs", 0, /obj/item/clothing/under/rank/medical/blue, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Purple Scrubs", 0, /obj/item/clothing/under/rank/medical/purple, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), - list("Doctor Uniform", 0, /obj/item/clothing/under/rank/medical, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), + + list("SUIT (CHOOSE 1)", 0, null, null, null), + list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_MRE, VENDOR_ITEM_RECOMMENDED), + list("Medical's apron", 0, /obj/item/clothing/suit/chef/classic/medical, MARINE_CAN_BUY_MRE, VENDOR_ITEM_REGULAR), + + list("SNOW GEAR (SNOW USE ONLY)", 0, null, null, null), + list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Balaclava", 0, /obj/item/clothing/mask/balaclava, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + list("Snow Scarf", 0, /obj/item/clothing/mask/tornscarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + + list("HEADWEAR (CHOOSE 1)", 0, null, null, null), + list("Chief Medical Officer's Peaked Cap", 0, /obj/item/clothing/head/cmo, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_RECOMMENDED), + list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("BAG (CHOOSE 1)", 0, null, null, null), + + list("Standard Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Standard Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Medical Satchel", 0, /obj/item/storage/backpack/marine/satchel/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), - list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), - list("USCM Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), - list("USCM Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), + + list("BELT (CHOOSE 1)", 0, null, null, null), + list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), + list("M276 Medical Storage Rig (Full)", 0, /obj/item/storage/belt/medical/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), list("M4A3 Service Pistol", 0, /obj/item/storage/belt/gun/m4a3/full, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), list("Mod 88 Pistol", 0, /obj/item/storage/belt/gun/m4a3/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), list("M44 Revolver", 0, /obj/item/storage/belt/gun/m44/mp, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), - list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null), - list("Officer M3 Armor", 0, /obj/item/clothing/suit/storage/marine/MP/SO, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), - list("Officer M10 Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY), - list("Marine Combat Boots", 0, /obj/item/clothing/shoes/marine/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY), + list("COMBAT EQUIPMENT (COMBAT USE ONLY)", 0, null, null, null), + list("Officer M3 Armor", 0, /obj/item/clothing/suit/storage/marine/MP/SO, MARINE_CAN_BUY_COMBAT_ARMOR, VENDOR_ITEM_MANDATORY), + list("Officer M10 Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_COMBAT_HELMET, VENDOR_ITEM_MANDATORY), + list("Marine Combat Boots", 0, /obj/item/clothing/shoes/marine/knife, MARINE_CAN_BUY_COMBAT_SHOES, VENDOR_ITEM_MANDATORY), list("POUCHES (CHOOSE 2)", 0, null, null, null), list("Autoinjector Pouch", 0, /obj/item/storage/pouch/autoinjector, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), @@ -264,6 +289,17 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( )) +/obj/effect/essentials_set/medical/doctor/CMO + spawned_gear_list = list( + /obj/item/device/defibrillator, + /obj/item/storage/firstaid/adv, + /obj/item/device/healthanalyzer, + /obj/item/tool/surgery/surgical_line, + /obj/item/tool/surgery/synthgraft, + /obj/item/device/flashlight/pen, + /obj/item/clothing/accessory/stethoscope, + /obj/item/storage/syringe_case, + ) diff --git a/code/game/objects/effects/landmarks/landmarks.dm b/code/game/objects/effects/landmarks/landmarks.dm index 45cc6fd8b5fa..a7afb80ef080 100644 --- a/code/game/objects/effects/landmarks/landmarks.dm +++ b/code/game/objects/effects/landmarks/landmarks.dm @@ -402,6 +402,24 @@ name = "working joe late join" job = JOB_WORKING_JOE + +/obj/effect/landmark/late_join/cmo + name = "Chief Medical Officer late join" + job = JOB_CMO + +/obj/effect/landmark/late_join/researcher + name = "Researcher late join" + job = JOB_RESEARCHER + +/obj/effect/landmark/late_join/doctor + name = "Doctor late join" + job = JOB_DOCTOR + +/obj/effect/landmark/late_join/nurse + name = "Nurse late join" + job = JOB_NURSE + + /obj/effect/landmark/late_join/Initialize(mapload, ...) . = ..() if(squad) diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 54e9d91576f1..1bdb4ca31176 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -144,6 +144,10 @@ icon_state = "sciencecoat" item_state = "sciencecoat" +/obj/item/clothing/suit/chef/classic/medical + name = "medical's apron" + desc = "A basic and sterile white apron, good for surgical and, of course, other medical practices." + /obj/item/clothing/suit/storage/snow_suit name = "snow suit" desc = "A standard snow suit. It can protect the wearer from extreme cold." diff --git a/code/modules/gear_presets/uscm_medical.dm b/code/modules/gear_presets/uscm_medical.dm index be599755bacf..7923e3a33ece 100644 --- a/code/modules/gear_presets/uscm_medical.dm +++ b/code/modules/gear_presets/uscm_medical.dm @@ -3,22 +3,22 @@ flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE access = list(ACCESS_MARINE_MEDBAY, ACCESS_MARINE_CHEMISTRY, ACCESS_MARINE_MORGUE) - utility_under = list(/obj/item/clothing/under/rank/medical/green) - utility_hat = list() - utility_gloves = list() - utility_shoes = list(/obj/item/clothing/shoes/white) - utility_extra = list() - - service_under = list() - service_over = list() - service_hat = list() - service_shoes = list(/obj/item/clothing/shoes/laceup) - - dress_under = list(/obj/item/clothing/under/suit_jacket) - dress_over = list() - dress_hat = list() + utility_under = list(/obj/item/clothing/under/marine) + utility_hat = list(/obj/item/clothing/head/cmcap) + utility_gloves = list(/obj/item/clothing/gloves/marine) + utility_shoes = list(/obj/item/clothing/shoes/marine) + utility_extra = list(/obj/item/clothing/head/beret/cm, /obj/item/clothing/head/beret/cm/tan) + + service_under = list(/obj/item/clothing/under/marine/officer/bridge) + service_over = list(/obj/item/clothing/suit/storage/jacket/marine/service, /obj/item/clothing/suit/storage/jacket/marine/service/mp) + service_hat = list(/obj/item/clothing/head/cmcap) + service_shoes = list(/obj/item/clothing/shoes/dress) + + dress_under = list(/obj/item/clothing/under/marine/dress) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress) + dress_hat = list(/obj/item/clothing/head/marine/peaked) dress_gloves = list(/obj/item/clothing/gloves/marine/dress) - dress_shoes = list(/obj/item/clothing/shoes/laceup) + dress_shoes = list(/obj/item/clothing/shoes/dress) /datum/equipment_preset/uscm_ship/uscm_medical/cmo name = "USCM Chief Medical Officer (CMO)" @@ -44,34 +44,20 @@ minimap_background = MINIMAP_ICON_BACKGROUND_CIC utility_under = list(/obj/item/clothing/under/rank/chief_medical_officer) - utility_hat = list(/obj/item/clothing/head/cmo) - utility_gloves = list(/obj/item/clothing/gloves/latex) + utility_hat = list() + utility_gloves = list() utility_shoes = list(/obj/item/clothing/shoes/white) - utility_extra = list(/obj/item/clothing/suit/storage/labcoat) + utility_extra = list() /datum/equipment_preset/uscm_ship/uscm_medical/cmo/load_gear(mob/living/carbon/human/new_human) - var/back_item = /obj/item/storage/backpack/marine/satchel + var/back_item = /obj/item/storage/backpack/satchel if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/cmo(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_medical_officer(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/decent(new_human), WEAR_IN_JACKET) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/decent(new_human), WEAR_L_STORE) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical(new_human), WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medkit/full_advanced(new_human), WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmo(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(new_human), WEAR_J_STORE) //*****************************************************************************************************/ @@ -91,15 +77,10 @@ if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/doc(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/green(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) //Surgeon this part of the code is to change the name on your ID @@ -125,16 +106,10 @@ if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/doc(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/nurse(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) - /datum/equipment_preset/uscm_ship/uscm_medical/nurse/load_rank(mob/living/carbon/human/new_human) if(new_human.client) @@ -159,25 +134,18 @@ utility_hat = list() utility_gloves = list() utility_shoes = list(/obj/item/clothing/shoes/laceup) - utility_extra = list(/obj/item/clothing/suit/storage/labcoat/researcher) + utility_extra = list() service_under = list(/obj/item/clothing/under/marine/officer/researcher) /datum/equipment_preset/uscm_ship/uscm_medical/researcher/load_gear(mob/living/carbon/human/new_human) - var/back_item = /obj/item/storage/backpack/marine/satchel + var/back_item = /obj/item/storage/backpack/satchel if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/research(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/researcher(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/researcher(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/bad(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/syringe(new_human), WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/bad(new_human), WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/syringe(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index d637d1fa9b91..0384e969afee 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -3835,8 +3835,8 @@ }, /area/almayer/medical/upper_medical) "aot" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_10" +/obj/structure/machinery/cm_vending/clothing/senior_officer{ + pixel_y = 0 }, /turf/open/floor/almayer{ icon_state = "mono" @@ -10315,6 +10315,7 @@ /area/almayer/hull/upper_hull/u_f_s) "aOi" = ( /obj/effect/landmark/start/nurse, +/obj/effect/landmark/late_join/nurse, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "aOq" = ( @@ -10831,6 +10832,7 @@ /area/almayer/living/offices) "aQI" = ( /obj/effect/landmark/start/researcher, +/obj/effect/landmark/late_join/researcher, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "aQL" = ( @@ -36436,9 +36438,6 @@ icon_state = "cargo" }, /area/almayer/squads/delta) -"hcZ" = ( -/turf/open/floor/plating/plating_catwalk, -/area/almayer/living/offices) "hdb" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -37456,6 +37455,7 @@ /area/almayer/living/commandbunks) "hvQ" = ( /obj/effect/landmark/start/professor, +/obj/effect/landmark/late_join/cmo, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "hwd" = ( @@ -43152,7 +43152,8 @@ /obj/structure/machinery/alarm/almayer{ dir = 1 }, -/obj/effect/landmark/start/doctor, +/obj/effect/landmark/start/nurse, +/obj/effect/landmark/late_join/nurse, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "jKn" = ( @@ -43779,6 +43780,10 @@ /obj/structure/machinery/light{ dir = 1 }, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_10"; + pixel_y = 16 + }, /turf/open/floor/almayer{ icon_state = "mono" }, @@ -45550,13 +45555,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"kDj" = ( -/obj/structure/bed, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lower_medical_medbay) "kDk" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -48616,6 +48614,7 @@ /obj/structure/sign/safety/maint{ pixel_y = 26 }, +/obj/effect/landmark/late_join/doctor, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "lHu" = ( @@ -57539,6 +57538,7 @@ /area/almayer/command/cic) "pbb" = ( /obj/effect/landmark/start/doctor, +/obj/effect/landmark/late_join/doctor, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "pbp" = ( @@ -81260,10 +81260,6 @@ /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 }, -/obj/structure/machinery/cm_vending/clothing/senior_officer{ - density = 0; - pixel_y = 30 - }, /turf/open/floor/almayer{ icon_state = "mono" }, @@ -111248,7 +111244,7 @@ rlZ hBc hzs hzs -kDj +hzs aZK rlZ hYn @@ -113048,7 +113044,7 @@ aKW aSm aVt hhw -aNr +aOi aOi pbb pbb @@ -115487,7 +115483,7 @@ hhw aQI aQI aQI -hcZ +aNr pQY aWD bll From 2b951ea33d5ae7a2c7bf169c0acd333f5cf90837 Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Mon, 15 Jan 2024 14:13:22 -0300 Subject: [PATCH 02/15] R.C.-1 --- .../machinery/vending/vendor_types/crew/senior_officers.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index 7331efbf8f06..a3c87578e827 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -213,11 +213,11 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( list("MEDICAL SET (MANDATORY)", 0, null, null, null), list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor/CMO, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), - list("STANDARD EQUIPMENT", 0, null, null, null), + list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/cmo, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), - list("EYEWEAR (CHOOSE 1)", 0, null, null, null), + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), From 3eee29ec5eecd8d6d071cc56f4d5256e50a2233b Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Mon, 15 Jan 2024 14:17:40 -0300 Subject: [PATCH 03/15] R.C.-2 --- .../machinery/vending/vendor_types/crew/medical.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/crew/medical.dm b/code/game/machinery/vending/vendor_types/crew/medical.dm index 526b10a83db5..1718e67cd409 100644 --- a/code/game/machinery/vending/vendor_types/crew/medical.dm +++ b/code/game/machinery/vending/vendor_types/crew/medical.dm @@ -29,14 +29,14 @@ //------------ DOCTOR --------------- GLOBAL_LIST_INIT(cm_vending_clothing_doctor, list( - list("MEDICAL SET (MANDATORY)", 0, null, null, null), + list("MEDICAL SET (MANDATORY)", 0, null, null, null), list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/doc, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), - list("EYEWEAR (CHOOSE 1)", 0, null, null, null), + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), @@ -94,14 +94,14 @@ GLOBAL_LIST_INIT(cm_vending_clothing_doctor, list( //------------ NURSE --------------- GLOBAL_LIST_INIT(cm_vending_clothing_nurse, list( - list("MEDICAL SET (MANDATORY)", 0, null, null, null), + list("MEDICAL SET (MANDATORY)", 0, null, null, null), list("Essential Medical Set", 0, /obj/effect/essentials_set/medical, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/doc, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), - list("EYEWEAR (CHOOSE 1)", 0, null, null, null), + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), @@ -168,7 +168,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/research, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), - list("EYEWEAR (CHOOSE 1)", 0, null, null, null), + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), From 5a6e0b6ec62dac9c35b0c49907151fced9c8b465 Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Thu, 25 Jan 2024 21:55:12 -0300 Subject: [PATCH 04/15] M.G.A.A.F.-1 --- code/datums/supply_packs/medical.dm | 33 +------- .../vending/vendor_types/crew/medical.dm | 79 +++++++++++++----- .../vendor_types/crew/senior_officers.dm | 62 +++++++++++--- .../machinery/vending/vendor_types/medical.dm | 64 +++++++-------- .../objects/effects/landmarks/landmarks.dm | 18 +++++ code/modules/clothing/suits/labcoat.dm | 4 + code/modules/gear_presets/uscm_medical.dm | 80 ++++++------------- 7 files changed, 184 insertions(+), 156 deletions(-) diff --git a/code/datums/supply_packs/medical.dm b/code/datums/supply_packs/medical.dm index 097642eb163f..05cb4d2f34c0 100644 --- a/code/datums/supply_packs/medical.dm +++ b/code/datums/supply_packs/medical.dm @@ -22,33 +22,8 @@ containername = "medical crate" group = "Medical" -/datum/supply_packs/pillbottle - name = "pill bottle crate (x2 each)" - contains = list( - /obj/item/storage/pill_bottle/inaprovaline, - /obj/item/storage/pill_bottle/antitox, - /obj/item/storage/pill_bottle/bicaridine, - /obj/item/storage/pill_bottle/dexalin, - /obj/item/storage/pill_bottle/kelotane, - /obj/item/storage/pill_bottle/tramadol, - /obj/item/storage/pill_bottle/peridaxon, - /obj/item/storage/pill_bottle/inaprovaline, - /obj/item/storage/pill_bottle/antitox, - /obj/item/storage/pill_bottle/bicaridine, - /obj/item/storage/pill_bottle/dexalin, - /obj/item/storage/pill_bottle/kelotane, - /obj/item/storage/pill_bottle/tramadol, - /obj/item/storage/pill_bottle/peridaxon, - /obj/item/storage/box/pillbottles, - /obj/item/storage/box/pillbottles, - ) - cost = 20 - containertype = /obj/structure/closet/crate/medical - containername = "medical crate" - group = "Medical" - /datum/supply_packs/firstaid - name = "first aid kit crate (x2 each)" + name = "first aid kit crate (2x each)" contains = list( /obj/item/storage/firstaid/regular, /obj/item/storage/firstaid/regular, @@ -61,7 +36,7 @@ /obj/item/storage/firstaid/adv, /obj/item/storage/firstaid/adv, ) - cost = 16 + cost = 20 containertype = /obj/structure/closet/crate/medical containername = "medical crate" group = "Medical" @@ -74,7 +49,7 @@ /obj/item/storage/box/bodybags, /obj/item/storage/box/bodybags, ) - cost = 12 + cost = 20 containertype = /obj/structure/closet/crate/medical containername = "body bag crate" group = "Medical" @@ -86,7 +61,7 @@ /obj/item/bodybag/cryobag, /obj/item/bodybag/cryobag, ) - cost = 20 + cost = 40 containertype = /obj/structure/closet/crate/medical containername = "stasis bag crate" group = "Medical" diff --git a/code/game/machinery/vending/vendor_types/crew/medical.dm b/code/game/machinery/vending/vendor_types/crew/medical.dm index 5dfb6b347b5d..1718e67cd409 100644 --- a/code/game/machinery/vending/vendor_types/crew/medical.dm +++ b/code/game/machinery/vending/vendor_types/crew/medical.dm @@ -32,28 +32,38 @@ GLOBAL_LIST_INIT(cm_vending_clothing_doctor, list( list("MEDICAL SET (MANDATORY)", 0, null, null, null), list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), - list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/doc, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), + + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), list("Blue Scrubs", 0, /obj/item/clothing/under/rank/medical/blue, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Purple Scrubs", 0, /obj/item/clothing/under/rank/medical/purple, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), - list("ARMOR (CHOOSE 1)", 0, null, null, null), - list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), - list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + list("SUIT (CHOOSE 1)", 0, null, null, null), + list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_MRE, VENDOR_ITEM_REGULAR), + list("Medical's apron", 0, /obj/item/clothing/suit/chef/classic/medical, MARINE_CAN_BUY_MRE, VENDOR_ITEM_REGULAR), + + list("SNOW GEAR (SNOW USE ONLY)", 0, null, null, null), + list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Balaclava", 0, /obj/item/clothing/mask/balaclava, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + list("Snow Scarf", 0, /obj/item/clothing/mask/tornscarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), - list("HELMET", 0, null, null, null), + list("HEADWEAR (CHOOSE 1)", 0, null, null, null), list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("BAG (CHOOSE 1)", 0, null, null, null), + list("Standard Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Standard Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Medical Satchel", 0, /obj/item/storage/backpack/marine/satchel/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), - list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), list("BELT (CHOOSE 1)", 0, null, null, null), list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), @@ -87,29 +97,40 @@ GLOBAL_LIST_INIT(cm_vending_clothing_nurse, list( list("MEDICAL SET (MANDATORY)", 0, null, null, null), list("Essential Medical Set", 0, /obj/effect/essentials_set/medical, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), - list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/doc, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), + + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), + list("Medical Nurse Scrubs", 0, /obj/item/clothing/under/rank/medical/nurse, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), list("Blue Scrubs", 0, /obj/item/clothing/under/rank/medical/blue, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Purple Scrubs", 0, /obj/item/clothing/under/rank/medical/purple, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), - list("Medical Nurse Scrubs", 0, /obj/item/clothing/under/rank/medical/nurse, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), - list("ARMOR (CHOOSE 1)", 0, null, null, null), - list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), - list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + list("SUIT (CHOOSE 1)", 0, null, null, null), + list("Medical's apron", 0, /obj/item/clothing/suit/chef/classic/medical, MARINE_CAN_BUY_MRE, VENDOR_ITEM_REGULAR), + + list("SNOW GEAR (SNOW USE ONLY)", 0, null, null, null), + list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Balaclava", 0, /obj/item/clothing/mask/balaclava, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + list("Snow Scarf", 0, /obj/item/clothing/mask/tornscarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + + list("HEADWEAR (CHOOSE 1)", 0, null, null, null), - list("HELMET", 0, null, null, null), + list("Surgical Cap, Orange", 0, /obj/item/clothing/head/surgery/orange, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_RECOMMENDED), list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("BAG (CHOOSE 1)", 0, null, null, null), + list("Standard Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Standard Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Medical Satchel", 0, /obj/item/storage/backpack/marine/satchel/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), - list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), list("BELT (CHOOSE 1)", 0, null, null, null), list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), @@ -143,30 +164,40 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( list("MEDICAL SET (MANDATORY)", 0, null, null, null), list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), - list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/research, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), - list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), + list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), + list("Researcher Uniform", 0, /obj/item/clothing/under/marine/officer/researcher, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), list("Blue Scrubs", 0, /obj/item/clothing/under/rank/medical/blue, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Purple Scrubs", 0, /obj/item/clothing/under/rank/medical/purple, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), - list("Researcher Uniform", 0, /obj/item/clothing/under/marine/officer/researcher, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), - list("ARMOR (CHOOSE 1)", 0, null, null, null), - list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat/researcher, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), - list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + list("SUIT (CHOOSE 1)", 0, null, null, null), + list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat/researcher, MARINE_CAN_BUY_MRE, VENDOR_ITEM_RECOMMENDED), + + list("SNOW GEAR (SNOW USE ONLY)", 0, null, null, null), + list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Balaclava", 0, /obj/item/clothing/mask/balaclava, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + list("Snow Scarf", 0, /obj/item/clothing/mask/tornscarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), - list("HELMET", 0, null, null, null), + list("HEADWEAR (CHOOSE 1)", 0, null, null, null), list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("BAG (CHOOSE 1)", 0, null, null, null), + list("Standard Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Standard Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Medical Satchel", 0, /obj/item/storage/backpack/marine/satchel/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), - list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), list("BELT (CHOOSE 1)", 0, null, null, null), list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), @@ -203,6 +234,9 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( /obj/item/device/healthanalyzer, /obj/item/tool/surgery/surgical_line, /obj/item/tool/surgery/synthgraft, + /obj/item/storage/syringe_case, + /obj/item/storage/surgical_case/regular, + ) /obj/effect/essentials_set/medical/doctor @@ -214,4 +248,5 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( /obj/item/tool/surgery/synthgraft, /obj/item/device/flashlight/pen, /obj/item/clothing/accessory/stethoscope, + /obj/item/storage/syringe_case, ) diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index 9d9c519c285f..a3c87578e827 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -210,36 +210,61 @@ GLOBAL_LIST_INIT(cm_vending_clothing_req_officer, list( //------------ CHIEF MEDICAL OFFICER --------------- GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( - list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("MEDICAL SET (MANDATORY)", 0, null, null, null), + list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor/CMO, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), + + list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/almayer/cmo, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), - list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), - list("EYEWARE (CHOOSE 1)", 0, null, null, null), + list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_REGULAR), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("UNIFORM (CHOOSE 1)", 0, null, null, null), - list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), + list("Chief Medical Officer's Uniform", 0, /obj/item/clothing/under/rank/chief_medical_officer, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), + list("Doctor Uniform", 0, /obj/item/clothing/under/rank/medical, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), + list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Blue Scrubs", 0, /obj/item/clothing/under/rank/medical/blue, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), list("Purple Scrubs", 0, /obj/item/clothing/under/rank/medical/purple, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), - list("Doctor Uniform", 0, /obj/item/clothing/under/rank/medical, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR), + + list("SUIT (CHOOSE 1)", 0, null, null, null), + list("Labcoat", 0, /obj/item/clothing/suit/storage/labcoat, MARINE_CAN_BUY_MRE, VENDOR_ITEM_RECOMMENDED), + list("Medical's apron", 0, /obj/item/clothing/suit/chef/classic/medical, MARINE_CAN_BUY_MRE, VENDOR_ITEM_REGULAR), + + list("SNOW GEAR (SNOW USE ONLY)", 0, null, null, null), + list("Snowcoat", 0, /obj/item/clothing/suit/storage/snow_suit/doctor, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Balaclava", 0, /obj/item/clothing/mask/balaclava, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + list("Snow Scarf", 0, /obj/item/clothing/mask/tornscarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), + + list("HEADWEAR (CHOOSE 1)", 0, null, null, null), + list("Chief Medical Officer's Peaked Cap", 0, /obj/item/clothing/head/cmo, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_RECOMMENDED), + list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("BAG (CHOOSE 1)", 0, null, null, null), + + list("Standard Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Standard Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Medical Satchel", 0, /obj/item/storage/backpack/marine/satchel/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), - list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), - list("USCM Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), - list("USCM Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), + + list("BELT (CHOOSE 1)", 0, null, null, null), + list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), + list("M276 Medical Storage Rig (Full)", 0, /obj/item/storage/belt/medical/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), list("M4A3 Service Pistol", 0, /obj/item/storage/belt/gun/m4a3/full, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), list("Mod 88 Pistol", 0, /obj/item/storage/belt/gun/m4a3/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), list("M44 Revolver", 0, /obj/item/storage/belt/gun/m44/mp, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), - list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null), - list("Officer M3 Armor", 0, /obj/item/clothing/suit/storage/marine/MP/SO, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), - list("Officer M10 Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY), - list("Marine Combat Boots", 0, /obj/item/clothing/shoes/marine/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY), + list("COMBAT EQUIPMENT (COMBAT USE ONLY)", 0, null, null, null), + list("Officer M3 Armor", 0, /obj/item/clothing/suit/storage/marine/MP/SO, MARINE_CAN_BUY_COMBAT_ARMOR, VENDOR_ITEM_MANDATORY), + list("Officer M10 Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_COMBAT_HELMET, VENDOR_ITEM_MANDATORY), + list("Marine Combat Boots", 0, /obj/item/clothing/shoes/marine/knife, MARINE_CAN_BUY_COMBAT_SHOES, VENDOR_ITEM_MANDATORY), list("POUCHES (CHOOSE 2)", 0, null, null, null), list("Autoinjector Pouch", 0, /obj/item/storage/pouch/autoinjector, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), @@ -264,6 +289,17 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( )) +/obj/effect/essentials_set/medical/doctor/CMO + spawned_gear_list = list( + /obj/item/device/defibrillator, + /obj/item/storage/firstaid/adv, + /obj/item/device/healthanalyzer, + /obj/item/tool/surgery/surgical_line, + /obj/item/tool/surgery/synthgraft, + /obj/item/device/flashlight/pen, + /obj/item/clothing/accessory/stethoscope, + /obj/item/storage/syringe_case, + ) diff --git a/code/game/machinery/vending/vendor_types/medical.dm b/code/game/machinery/vending/vendor_types/medical.dm index 07977651b383..7073dc383dcd 100644 --- a/code/game/machinery/vending/vendor_types/medical.dm +++ b/code/game/machinery/vending/vendor_types/medical.dm @@ -132,40 +132,40 @@ /obj/structure/machinery/cm_vending/sorted/medical/populate_product_list(scale) listed_products = list( list("FIELD SUPPLIES", -1, null, null), - list("Burn Kit", round(scale * 6), /obj/item/stack/medical/advanced/ointment, VENDOR_ITEM_REGULAR), - list("Trauma Kit", round(scale * 6), /obj/item/stack/medical/advanced/bruise_pack, VENDOR_ITEM_REGULAR), - list("Ointment", round(scale * 6), /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), - list("Roll of Gauze", round(scale * 6), /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), - list("Splints", round(scale * 6), /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), + list("Burn Kit", round(scale * 7), /obj/item/stack/medical/advanced/ointment, VENDOR_ITEM_REGULAR), + list("Trauma Kit", round(scale * 7), /obj/item/stack/medical/advanced/bruise_pack, VENDOR_ITEM_REGULAR), + list("Ointment", round(scale * 7), /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), + list("Roll of Gauze", round(scale * 7), /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), + list("Splints", round(scale * 7), /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), list("AUTOINJECTORS", -1, null, null), - list("Autoinjector (Bicaridine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/bicaridine, VENDOR_ITEM_REGULAR), - list("Autoinjector (Dexalin+)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/dexalinp, VENDOR_ITEM_REGULAR), - list("Autoinjector (Epinephrine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/adrenaline, VENDOR_ITEM_REGULAR), - list("Autoinjector (Inaprovaline)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, VENDOR_ITEM_REGULAR), - list("Autoinjector (Kelotane)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/kelotane, VENDOR_ITEM_REGULAR), - list("Autoinjector (Oxycodone)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/oxycodone, VENDOR_ITEM_REGULAR), - list("Autoinjector (Tramadol)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/tramadol, VENDOR_ITEM_REGULAR), - list("Autoinjector (Tricord)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/tricord, VENDOR_ITEM_REGULAR), + list("Autoinjector (Bicaridine)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/bicaridine, VENDOR_ITEM_REGULAR), + list("Autoinjector (Dexalin+)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/dexalinp, VENDOR_ITEM_REGULAR), + list("Autoinjector (Epinephrine)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/adrenaline, VENDOR_ITEM_REGULAR), + list("Autoinjector (Inaprovaline)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, VENDOR_ITEM_REGULAR), + list("Autoinjector (Kelotane)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/kelotane, VENDOR_ITEM_REGULAR), + list("Autoinjector (Oxycodone)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/oxycodone, VENDOR_ITEM_REGULAR), + list("Autoinjector (Tramadol)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/tramadol, VENDOR_ITEM_REGULAR), + list("Autoinjector (Tricord)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/tricord, VENDOR_ITEM_REGULAR), list("LIQUID BOTTLES", -1, null, null), - list("Bottle (Bicaridine)", round(scale * 4), /obj/item/reagent_container/glass/bottle/bicaridine, VENDOR_ITEM_REGULAR), - list("Bottle (Dylovene)", round(scale * 4), /obj/item/reagent_container/glass/bottle/antitoxin, VENDOR_ITEM_REGULAR), - list("Bottle (Dexalin)", round(scale * 4), /obj/item/reagent_container/glass/bottle/dexalin, VENDOR_ITEM_REGULAR), - list("Bottle (Inaprovaline)", round(scale * 4), /obj/item/reagent_container/glass/bottle/inaprovaline, VENDOR_ITEM_REGULAR), - list("Bottle (Kelotane)", round(scale * 4), /obj/item/reagent_container/glass/bottle/kelotane, VENDOR_ITEM_REGULAR), - list("Bottle (Oxycodone)", round(scale * 4), /obj/item/reagent_container/glass/bottle/oxycodone, VENDOR_ITEM_REGULAR), - list("Bottle (Peridaxon)", round(scale * 4), /obj/item/reagent_container/glass/bottle/peridaxon, VENDOR_ITEM_REGULAR), - list("Bottle (Tramadol)", round(scale * 4), /obj/item/reagent_container/glass/bottle/tramadol, VENDOR_ITEM_REGULAR), + list("Bottle (Bicaridine)", round(scale * 5), /obj/item/reagent_container/glass/bottle/bicaridine, VENDOR_ITEM_REGULAR), + list("Bottle (Dylovene)", round(scale * 5), /obj/item/reagent_container/glass/bottle/antitoxin, VENDOR_ITEM_REGULAR), + list("Bottle (Dexalin)", round(scale * 5), /obj/item/reagent_container/glass/bottle/dexalin, VENDOR_ITEM_REGULAR), + list("Bottle (Inaprovaline)", round(scale * 5), /obj/item/reagent_container/glass/bottle/inaprovaline, VENDOR_ITEM_REGULAR), + list("Bottle (Kelotane)", round(scale * 5), /obj/item/reagent_container/glass/bottle/kelotane, VENDOR_ITEM_REGULAR), + list("Bottle (Oxycodone)", round(scale * 5), /obj/item/reagent_container/glass/bottle/oxycodone, VENDOR_ITEM_REGULAR), + list("Bottle (Peridaxon)", round(scale * 5), /obj/item/reagent_container/glass/bottle/peridaxon, VENDOR_ITEM_REGULAR), + list("Bottle (Tramadol)", round(scale * 5), /obj/item/reagent_container/glass/bottle/tramadol, VENDOR_ITEM_REGULAR), list("PILL BOTTLES", -1, null, null), - list("Pill Bottle (Bicaridine)", round(scale * 2), /obj/item/storage/pill_bottle/bicaridine, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Dexalin)", round(scale * 2), /obj/item/storage/pill_bottle/dexalin, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Dylovene)", round(scale * 2), /obj/item/storage/pill_bottle/antitox, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Inaprovaline)", round(scale * 2), /obj/item/storage/pill_bottle/inaprovaline, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Kelotane)", round(scale * 2), /obj/item/storage/pill_bottle/kelotane, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Peridaxon)", round(scale * 1), /obj/item/storage/pill_bottle/peridaxon, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Tramadol)", round(scale * 2), /obj/item/storage/pill_bottle/tramadol, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Bicaridine)", round(scale * 3), /obj/item/storage/pill_bottle/bicaridine, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Dexalin)", round(scale * 3), /obj/item/storage/pill_bottle/dexalin, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Dylovene)", round(scale * 3), /obj/item/storage/pill_bottle/antitox, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Inaprovaline)", round(scale * 3), /obj/item/storage/pill_bottle/inaprovaline, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Kelotane)", round(scale * 3), /obj/item/storage/pill_bottle/kelotane, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Peridaxon)", round(scale * 2), /obj/item/storage/pill_bottle/peridaxon, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Tramadol)", round(scale * 3), /obj/item/storage/pill_bottle/tramadol, VENDOR_ITEM_REGULAR), list("MEDICAL UTILITIES", -1, null, null), list("Emergency Defibrillator", round(scale * 3), /obj/item/device/defibrillator, VENDOR_ITEM_REGULAR), @@ -220,10 +220,6 @@ /obj/structure/machinery/cm_vending/sorted/medical/no_access req_access = list() -/obj/structure/machinery/cm_vending/sorted/medical/bolted - req_access = list() - wrenchable = FALSE - /obj/structure/machinery/cm_vending/sorted/medical/chemistry/no_access req_access = list() @@ -299,10 +295,6 @@ chem_refill = null stack_refill = null -/obj/structure/machinery/cm_vending/sorted/medical/blood/bolted - req_access = list() - wrenchable = FALSE - /obj/structure/machinery/cm_vending/sorted/medical/blood/populate_product_list(scale) return diff --git a/code/game/objects/effects/landmarks/landmarks.dm b/code/game/objects/effects/landmarks/landmarks.dm index 45cc6fd8b5fa..a7afb80ef080 100644 --- a/code/game/objects/effects/landmarks/landmarks.dm +++ b/code/game/objects/effects/landmarks/landmarks.dm @@ -402,6 +402,24 @@ name = "working joe late join" job = JOB_WORKING_JOE + +/obj/effect/landmark/late_join/cmo + name = "Chief Medical Officer late join" + job = JOB_CMO + +/obj/effect/landmark/late_join/researcher + name = "Researcher late join" + job = JOB_RESEARCHER + +/obj/effect/landmark/late_join/doctor + name = "Doctor late join" + job = JOB_DOCTOR + +/obj/effect/landmark/late_join/nurse + name = "Nurse late join" + job = JOB_NURSE + + /obj/effect/landmark/late_join/Initialize(mapload, ...) . = ..() if(squad) diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 54e9d91576f1..1bdb4ca31176 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -144,6 +144,10 @@ icon_state = "sciencecoat" item_state = "sciencecoat" +/obj/item/clothing/suit/chef/classic/medical + name = "medical's apron" + desc = "A basic and sterile white apron, good for surgical and, of course, other medical practices." + /obj/item/clothing/suit/storage/snow_suit name = "snow suit" desc = "A standard snow suit. It can protect the wearer from extreme cold." diff --git a/code/modules/gear_presets/uscm_medical.dm b/code/modules/gear_presets/uscm_medical.dm index be599755bacf..7923e3a33ece 100644 --- a/code/modules/gear_presets/uscm_medical.dm +++ b/code/modules/gear_presets/uscm_medical.dm @@ -3,22 +3,22 @@ flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE access = list(ACCESS_MARINE_MEDBAY, ACCESS_MARINE_CHEMISTRY, ACCESS_MARINE_MORGUE) - utility_under = list(/obj/item/clothing/under/rank/medical/green) - utility_hat = list() - utility_gloves = list() - utility_shoes = list(/obj/item/clothing/shoes/white) - utility_extra = list() - - service_under = list() - service_over = list() - service_hat = list() - service_shoes = list(/obj/item/clothing/shoes/laceup) - - dress_under = list(/obj/item/clothing/under/suit_jacket) - dress_over = list() - dress_hat = list() + utility_under = list(/obj/item/clothing/under/marine) + utility_hat = list(/obj/item/clothing/head/cmcap) + utility_gloves = list(/obj/item/clothing/gloves/marine) + utility_shoes = list(/obj/item/clothing/shoes/marine) + utility_extra = list(/obj/item/clothing/head/beret/cm, /obj/item/clothing/head/beret/cm/tan) + + service_under = list(/obj/item/clothing/under/marine/officer/bridge) + service_over = list(/obj/item/clothing/suit/storage/jacket/marine/service, /obj/item/clothing/suit/storage/jacket/marine/service/mp) + service_hat = list(/obj/item/clothing/head/cmcap) + service_shoes = list(/obj/item/clothing/shoes/dress) + + dress_under = list(/obj/item/clothing/under/marine/dress) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress) + dress_hat = list(/obj/item/clothing/head/marine/peaked) dress_gloves = list(/obj/item/clothing/gloves/marine/dress) - dress_shoes = list(/obj/item/clothing/shoes/laceup) + dress_shoes = list(/obj/item/clothing/shoes/dress) /datum/equipment_preset/uscm_ship/uscm_medical/cmo name = "USCM Chief Medical Officer (CMO)" @@ -44,34 +44,20 @@ minimap_background = MINIMAP_ICON_BACKGROUND_CIC utility_under = list(/obj/item/clothing/under/rank/chief_medical_officer) - utility_hat = list(/obj/item/clothing/head/cmo) - utility_gloves = list(/obj/item/clothing/gloves/latex) + utility_hat = list() + utility_gloves = list() utility_shoes = list(/obj/item/clothing/shoes/white) - utility_extra = list(/obj/item/clothing/suit/storage/labcoat) + utility_extra = list() /datum/equipment_preset/uscm_ship/uscm_medical/cmo/load_gear(mob/living/carbon/human/new_human) - var/back_item = /obj/item/storage/backpack/marine/satchel + var/back_item = /obj/item/storage/backpack/satchel if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/cmo(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_medical_officer(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/decent(new_human), WEAR_IN_JACKET) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/decent(new_human), WEAR_L_STORE) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical(new_human), WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medkit/full_advanced(new_human), WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmo(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(new_human), WEAR_J_STORE) //*****************************************************************************************************/ @@ -91,15 +77,10 @@ if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/doc(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/green(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) //Surgeon this part of the code is to change the name on your ID @@ -125,16 +106,10 @@ if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/doc(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/nurse(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) - /datum/equipment_preset/uscm_ship/uscm_medical/nurse/load_rank(mob/living/carbon/human/new_human) if(new_human.client) @@ -159,25 +134,18 @@ utility_hat = list() utility_gloves = list() utility_shoes = list(/obj/item/clothing/shoes/laceup) - utility_extra = list(/obj/item/clothing/suit/storage/labcoat/researcher) + utility_extra = list() service_under = list(/obj/item/clothing/under/marine/officer/researcher) /datum/equipment_preset/uscm_ship/uscm_medical/researcher/load_gear(mob/living/carbon/human/new_human) - var/back_item = /obj/item/storage/backpack/marine/satchel + var/back_item = /obj/item/storage/backpack/satchel if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/research(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/researcher(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/researcher(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/bad(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/syringe(new_human), WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/bad(new_human), WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/syringe(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) From 9da46b0255ceb20bdfddc89ccc24728f280729cd Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Thu, 25 Jan 2024 22:09:28 -0300 Subject: [PATCH 05/15] U.T.S.M.C.-1 --- maps/map_files/USS_Almayer/USS_Almayer.dmm | 24 ++++++++-------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 1030f8a41bbe..94cbce8b64e1 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -3414,8 +3414,8 @@ }, /area/almayer/medical/upper_medical) "aot" = ( -/obj/structure/machinery/cm_vending/clothing/senior_officer{ - pixel_y = 0 +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_10" }, /turf/open/floor/almayer{ icon_state = "mono" @@ -9567,7 +9567,6 @@ /area/almayer/medical/containment/cell) "aOi" = ( /obj/effect/landmark/start/nurse, -/obj/effect/landmark/late_join/nurse, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "aOq" = ( @@ -10085,7 +10084,6 @@ /area/almayer/living/offices) "aQI" = ( /obj/effect/landmark/start/researcher, -/obj/effect/landmark/late_join/researcher, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "aQL" = ( @@ -36529,7 +36527,6 @@ /area/almayer/living/commandbunks) "hvQ" = ( /obj/effect/landmark/start/professor, -/obj/effect/landmark/late_join/cmo, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "hwd" = ( @@ -42353,8 +42350,7 @@ /obj/structure/machinery/alarm/almayer{ dir = 1 }, -/obj/effect/landmark/start/nurse, -/obj/effect/landmark/late_join/nurse, +/obj/effect/landmark/start/doctor, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "jKn" = ( @@ -42996,10 +42992,6 @@ /obj/structure/machinery/light{ dir = 1 }, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_10"; - pixel_y = 16 - }, /turf/open/floor/almayer{ icon_state = "mono" }, @@ -47877,7 +47869,6 @@ /obj/structure/sign/safety/maint{ pixel_y = 26 }, -/obj/effect/landmark/late_join/doctor, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "lHk" = ( @@ -57125,7 +57116,6 @@ /area/almayer/command/cic) "pbb" = ( /obj/effect/landmark/start/doctor, -/obj/effect/landmark/late_join/doctor, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "pbo" = ( @@ -81610,6 +81600,10 @@ /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 }, +/obj/structure/machinery/cm_vending/clothing/senior_officer{ + density = 0; + pixel_y = 30 + }, /turf/open/floor/almayer{ icon_state = "mono" }, @@ -111591,7 +111585,7 @@ rlZ hBc hzs hzs -hzs +kDj aZK rlZ hYn @@ -115830,7 +115824,7 @@ bwG aQI aQI aQI -aNr +hcZ pQY aWD bll From 8848d0202f7ebdcc9a4845c30f9a061e76b8599e Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Thu, 25 Jan 2024 22:30:50 -0300 Subject: [PATCH 06/15] M.O.O. --- code/datums/supply_packs/medical.dm | 496 +++++++++++++++--- .../machinery/vending/vendor_types/medical.dm | 64 ++- 2 files changed, 446 insertions(+), 114 deletions(-) diff --git a/code/datums/supply_packs/medical.dm b/code/datums/supply_packs/medical.dm index 05cb4d2f34c0..07977651b383 100644 --- a/code/datums/supply_packs/medical.dm +++ b/code/datums/supply_packs/medical.dm @@ -1,97 +1,421 @@ -/datum/supply_packs/medical - name = "medical crate" - contains = list( - /obj/item/storage/box/syringes, - /obj/item/reagent_container/glass/bottle/inaprovaline, +//------------SORTED MEDICAL VENDORS--------------- + +/obj/structure/machinery/cm_vending/sorted/medical + name = "\improper Wey-Med Plus" + desc = "Medical Pharmaceutical dispenser. Provided by Wey-Yu Pharmaceuticals Division(TM)." + icon_state = "med" + req_access = list(ACCESS_MARINE_MEDBAY, ACCESS_MARINE_CHEMISTRY) + + unacidable = TRUE + unslashable = FALSE + wrenchable = TRUE + hackable = TRUE + + vendor_theme = VENDOR_THEME_COMPANY + vend_delay = 0.5 SECONDS + + var/datum/health_scan/last_health_display + + var/healthscan = TRUE + var/list/chem_refill = list( + /obj/item/reagent_container/hypospray/autoinjector/bicaridine, + /obj/item/reagent_container/hypospray/autoinjector/dexalinp, + /obj/item/reagent_container/hypospray/autoinjector/adrenaline,, + /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, + /obj/item/reagent_container/hypospray/autoinjector/kelotane, + /obj/item/reagent_container/hypospray/autoinjector/oxycodone, + /obj/item/reagent_container/hypospray/autoinjector/tramadol, + /obj/item/reagent_container/hypospray/autoinjector/tricord, + /obj/item/reagent_container/hypospray/autoinjector/skillless, + /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, + + /obj/item/reagent_container/hypospray/autoinjector/bicaridine/skillless, + /obj/item/reagent_container/hypospray/autoinjector/kelotane/skillless, + /obj/item/reagent_container/hypospray/autoinjector/tramadol/skillless, + /obj/item/reagent_container/hypospray/autoinjector/tricord/skillless, + + /obj/item/reagent_container/glass/bottle/bicaridine, /obj/item/reagent_container/glass/bottle/antitoxin, + /obj/item/reagent_container/glass/bottle/dexalin, + /obj/item/reagent_container/glass/bottle/inaprovaline, + /obj/item/reagent_container/glass/bottle/kelotane, + /obj/item/reagent_container/glass/bottle/oxycodone, + /obj/item/reagent_container/glass/bottle/peridaxon, + /obj/item/reagent_container/glass/bottle/tramadol, + ) + var/list/stack_refill = list( + /obj/item/stack/medical/advanced/ointment, + /obj/item/stack/medical/advanced/bruise_pack, + /obj/item/stack/medical/ointment, + /obj/item/stack/medical/bruise_pack, + /obj/item/stack/medical/splint + ) + +/obj/structure/machinery/cm_vending/sorted/medical/Destroy() + QDEL_NULL(last_health_display) + . = ..() + +/obj/structure/machinery/cm_vending/sorted/medical/get_examine_text(mob/living/carbon/human/user) + . = ..() + if(healthscan) + . += SPAN_NOTICE("The [src.name] offers assisted medical scan, for ease of usage with minimal training. Present the target in front of the scanner to scan.") + +/obj/structure/machinery/cm_vending/sorted/medical/attackby(obj/item/I, mob/user) + if(stat == WORKING && LAZYLEN(chem_refill) && (istype(I, /obj/item/reagent_container/hypospray/autoinjector) || istype(I, /obj/item/reagent_container/glass/bottle))) // only if we are completely fine and working + if(!hacked) + if(!allowed(user)) + to_chat(user, SPAN_WARNING("Access denied.")) + return + + if(LAZYLEN(vendor_role) && !vendor_role.Find(user.job)) + to_chat(user, SPAN_WARNING("This machine isn't for you.")) + return + + var/obj/item/reagent_container/C = I + if(!(C.type in chem_refill)) + to_chat(user, SPAN_WARNING("[src] cannot refill the [C.name].")) + return + + if(C.reagents.total_volume == C.reagents.maximum_volume) + to_chat(user, SPAN_WARNING("[src] makes a warning noise. The [C.name] is currently full.")) + return + + to_chat(user, SPAN_NOTICE("[src] makes a whirring noise as it refills your [C.name].")) + // Since the reagent is deleted on use it's easier to make a new one instead of snowflake checking + var/obj/item/reagent_container/new_container = new C.type(src) + qdel(C) + user.put_in_hands(new_container) + else if(stat == WORKING && LAZYLEN(stack_refill) && (istype(I, /obj/item/stack))) + if(!hacked) + if(!allowed(user)) + to_chat(user, SPAN_WARNING("Access denied.")) + return + + if(LAZYLEN(vendor_role) && !vendor_role.Find(user.job)) + to_chat(user, SPAN_WARNING("This machine isn't for you.")) + return + + var/obj/item/stack/S = I + if(!(S.type in stack_refill)) + to_chat(user, SPAN_WARNING("[src] cannot restock the [S.name].")) + return + + if(S.amount == S.max_amount) + to_chat(user, SPAN_WARNING("[src] makes a warning noise. The [S.name] is currently fully stacked.")) + return + + to_chat(user, SPAN_NOTICE("[src] makes a whirring noise as it restocks your [S.name].")) + S.amount = S.max_amount + S.update_icon() + else + . = ..() + +/obj/structure/machinery/cm_vending/sorted/medical/MouseDrop(obj/over_object as obj) + if(stat == WORKING && over_object == usr && CAN_PICKUP(usr, src)) + var/mob/living/carbon/human/user = usr + if(!hacked && !allowed(user)) + to_chat(user, SPAN_WARNING("Access denied.")) + return + + if(!healthscan) + to_chat(user, SPAN_WARNING("\The [src] does not have health scanning function.")) + return + + if (!last_health_display) + last_health_display = new(user) + else + last_health_display.target_mob = user + + last_health_display.look_at(user, DETAIL_LEVEL_HEALTHANALYSER, bypass_checks = TRUE) + return + +/obj/structure/machinery/cm_vending/sorted/medical/populate_product_list(scale) + listed_products = list( + list("FIELD SUPPLIES", -1, null, null), + list("Burn Kit", round(scale * 6), /obj/item/stack/medical/advanced/ointment, VENDOR_ITEM_REGULAR), + list("Trauma Kit", round(scale * 6), /obj/item/stack/medical/advanced/bruise_pack, VENDOR_ITEM_REGULAR), + list("Ointment", round(scale * 6), /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), + list("Roll of Gauze", round(scale * 6), /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), + list("Splints", round(scale * 6), /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), + + list("AUTOINJECTORS", -1, null, null), + list("Autoinjector (Bicaridine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/bicaridine, VENDOR_ITEM_REGULAR), + list("Autoinjector (Dexalin+)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/dexalinp, VENDOR_ITEM_REGULAR), + list("Autoinjector (Epinephrine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/adrenaline, VENDOR_ITEM_REGULAR), + list("Autoinjector (Inaprovaline)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, VENDOR_ITEM_REGULAR), + list("Autoinjector (Kelotane)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/kelotane, VENDOR_ITEM_REGULAR), + list("Autoinjector (Oxycodone)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/oxycodone, VENDOR_ITEM_REGULAR), + list("Autoinjector (Tramadol)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/tramadol, VENDOR_ITEM_REGULAR), + list("Autoinjector (Tricord)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/tricord, VENDOR_ITEM_REGULAR), + + list("LIQUID BOTTLES", -1, null, null), + list("Bottle (Bicaridine)", round(scale * 4), /obj/item/reagent_container/glass/bottle/bicaridine, VENDOR_ITEM_REGULAR), + list("Bottle (Dylovene)", round(scale * 4), /obj/item/reagent_container/glass/bottle/antitoxin, VENDOR_ITEM_REGULAR), + list("Bottle (Dexalin)", round(scale * 4), /obj/item/reagent_container/glass/bottle/dexalin, VENDOR_ITEM_REGULAR), + list("Bottle (Inaprovaline)", round(scale * 4), /obj/item/reagent_container/glass/bottle/inaprovaline, VENDOR_ITEM_REGULAR), + list("Bottle (Kelotane)", round(scale * 4), /obj/item/reagent_container/glass/bottle/kelotane, VENDOR_ITEM_REGULAR), + list("Bottle (Oxycodone)", round(scale * 4), /obj/item/reagent_container/glass/bottle/oxycodone, VENDOR_ITEM_REGULAR), + list("Bottle (Peridaxon)", round(scale * 4), /obj/item/reagent_container/glass/bottle/peridaxon, VENDOR_ITEM_REGULAR), + list("Bottle (Tramadol)", round(scale * 4), /obj/item/reagent_container/glass/bottle/tramadol, VENDOR_ITEM_REGULAR), + + list("PILL BOTTLES", -1, null, null), + list("Pill Bottle (Bicaridine)", round(scale * 2), /obj/item/storage/pill_bottle/bicaridine, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Dexalin)", round(scale * 2), /obj/item/storage/pill_bottle/dexalin, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Dylovene)", round(scale * 2), /obj/item/storage/pill_bottle/antitox, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Inaprovaline)", round(scale * 2), /obj/item/storage/pill_bottle/inaprovaline, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Kelotane)", round(scale * 2), /obj/item/storage/pill_bottle/kelotane, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Peridaxon)", round(scale * 1), /obj/item/storage/pill_bottle/peridaxon, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Tramadol)", round(scale * 2), /obj/item/storage/pill_bottle/tramadol, VENDOR_ITEM_REGULAR), + + list("MEDICAL UTILITIES", -1, null, null), + list("Emergency Defibrillator", round(scale * 3), /obj/item/device/defibrillator, VENDOR_ITEM_REGULAR), + list("Surgical Line", round(scale * 2), /obj/item/tool/surgery/surgical_line, VENDOR_ITEM_REGULAR), + list("Synth-Graft", round(scale * 2), /obj/item/tool/surgery/synthgraft, VENDOR_ITEM_REGULAR), + list("Hypospray", round(scale * 2), /obj/item/reagent_container/hypospray/tricordrazine, VENDOR_ITEM_REGULAR), + list("Health Analyzer", round(scale * 5), /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR), + list("M276 Pattern Medical Storage Rig", round(scale * 2), /obj/item/storage/belt/medical, VENDOR_ITEM_REGULAR), + list("Medical HUD Glasses", round(scale * 3), /obj/item/clothing/glasses/hud/health, VENDOR_ITEM_REGULAR), + list("Stasis Bag", round(scale * 2), /obj/item/bodybag/cryobag, VENDOR_ITEM_REGULAR), + list("Syringe", round(scale * 7), /obj/item/reagent_container/syringe, VENDOR_ITEM_REGULAR) + ) + +/obj/structure/machinery/cm_vending/sorted/medical/chemistry + name = "\improper Wey-Chem Plus" + desc = "Medical chemistry dispenser. Provided by Wey-Yu Pharmaceuticals Division(TM)." + icon_state = "chem" + + healthscan = FALSE + chem_refill = list( /obj/item/reagent_container/glass/bottle/bicaridine, + /obj/item/reagent_container/glass/bottle/antitoxin, /obj/item/reagent_container/glass/bottle/dexalin, + /obj/item/reagent_container/glass/bottle/inaprovaline, /obj/item/reagent_container/glass/bottle/kelotane, + /obj/item/reagent_container/glass/bottle/oxycodone, + /obj/item/reagent_container/glass/bottle/peridaxon, /obj/item/reagent_container/glass/bottle/tramadol, - /obj/item/storage/pill_bottle/inaprovaline, - /obj/item/storage/pill_bottle/antitox, - /obj/item/storage/pill_bottle/bicaridine, - /obj/item/storage/pill_bottle/dexalin, - /obj/item/storage/pill_bottle/kelotane, - /obj/item/storage/pill_bottle/tramadol, - /obj/item/storage/pill_bottle/peridaxon, - /obj/item/storage/box/pillbottles, ) - cost = 20 - containertype = /obj/structure/closet/crate/medical - containername = "medical crate" - group = "Medical" - -/datum/supply_packs/firstaid - name = "first aid kit crate (2x each)" - contains = list( - /obj/item/storage/firstaid/regular, - /obj/item/storage/firstaid/regular, - /obj/item/storage/firstaid/fire, - /obj/item/storage/firstaid/fire, - /obj/item/storage/firstaid/toxin, - /obj/item/storage/firstaid/toxin, - /obj/item/storage/firstaid/o2, - /obj/item/storage/firstaid/o2, - /obj/item/storage/firstaid/adv, - /obj/item/storage/firstaid/adv, + stack_refill = null + +/obj/structure/machinery/cm_vending/sorted/medical/chemistry/populate_product_list(scale) + listed_products = list( + list("LIQUID BOTTLES", -1, null, null), + list("Bicaridine Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/bicaridine, VENDOR_ITEM_REGULAR), + list("Dylovene Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/antitoxin, VENDOR_ITEM_REGULAR), + list("Dexalin Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/dexalin, VENDOR_ITEM_REGULAR), + list("Inaprovaline Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/inaprovaline, VENDOR_ITEM_REGULAR), + list("Kelotane Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/kelotane, VENDOR_ITEM_REGULAR), + list("Oxycodone Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/oxycodone, VENDOR_ITEM_REGULAR), + list("Peridaxon Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/peridaxon, VENDOR_ITEM_REGULAR), + list("Tramadol Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/tramadol, VENDOR_ITEM_REGULAR), + + list("MISCELLANEOUS", -1, null, null), + list("Beaker (60 Units)", round(scale * 3), /obj/item/reagent_container/glass/beaker, VENDOR_ITEM_REGULAR), + list("Beaker, Large (120 Units)", round(scale * 3), /obj/item/reagent_container/glass/beaker/large, VENDOR_ITEM_REGULAR), + list("Box of Pill Bottles", round(scale * 2), /obj/item/storage/box/pillbottles, VENDOR_ITEM_REGULAR), + list("Dropper", round(scale * 3), /obj/item/reagent_container/dropper, VENDOR_ITEM_REGULAR), + list("Syringe", round(scale * 7), /obj/item/reagent_container/syringe, VENDOR_ITEM_REGULAR) ) - cost = 20 - containertype = /obj/structure/closet/crate/medical - containername = "medical crate" - group = "Medical" - -/datum/supply_packs/bodybag - name = "body bag crate (x28)" - contains = list( - /obj/item/storage/box/bodybags, - /obj/item/storage/box/bodybags, - /obj/item/storage/box/bodybags, - /obj/item/storage/box/bodybags, + +/obj/structure/machinery/cm_vending/sorted/medical/no_access + req_access = list() + +/obj/structure/machinery/cm_vending/sorted/medical/bolted + req_access = list() + wrenchable = FALSE + +/obj/structure/machinery/cm_vending/sorted/medical/chemistry/no_access + req_access = list() + +/obj/structure/machinery/cm_vending/sorted/medical/antag + name = "\improper Medical Equipment Vendor" + desc = "A vending machine dispensing various pieces of medical equipment." + req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL) + req_access = null + vendor_theme = VENDOR_THEME_CLF + +/obj/structure/machinery/cm_vending/sorted/medical/marinemed + name = "\improper ColMarTech MarineMed" + desc = "Medical Pharmaceutical dispenser with basic medical supplies for marines." + icon_state = "marinemed" + req_access = list() + req_one_access = list() + vendor_theme = VENDOR_THEME_USCM + + chem_refill = list( + /obj/item/reagent_container/hypospray/autoinjector/skillless, + /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, + ) + stack_refill = list( + /obj/item/stack/medical/ointment, + /obj/item/stack/medical/bruise_pack, + /obj/item/stack/medical/splint, + ) + +/obj/structure/machinery/cm_vending/sorted/medical/marinemed/populate_product_list(scale) + listed_products = list( + list("AUTOINJECTORS", -1, null, null), + list("First-Aid Autoinjector", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/skillless, VENDOR_ITEM_REGULAR), + list("Pain-Stop Autoinjector", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, VENDOR_ITEM_REGULAR), + + list("DEVICES", -1, null, null), + list("Health Analyzer", round(scale * 3), /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR), + + list("FIELD SUPPLIES", -1, null, null), + list("Fire Extinguisher (portable)", 5, /obj/item/tool/extinguisher/mini, VENDOR_ITEM_REGULAR), + list("Ointment", round(scale * 7), /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), + list("Roll of Gauze", round(scale * 7), /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), + list("Splints", round(scale * 7), /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR) + ) + +/obj/structure/machinery/cm_vending/sorted/medical/marinemed/antag + name = "\improper Basic Medical Supplies Vendor" + desc = "A vending machine dispensing basic medical supplies." + req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL) + req_access = null + vendor_theme = VENDOR_THEME_CLF + +/obj/structure/machinery/cm_vending/sorted/medical/blood + name = "\improper MM Blood Dispenser" + desc = "The Marine Med Brand Blood Pack Dispensary is the premier, top-of-the-line blood dispenser of 2105! Get yours today!" //Don't update this year, the joke is it's old. + icon_state = "blood" + wrenchable = TRUE + hackable = TRUE + + listed_products = list( + list("BLOOD PACKS", -1, null, null), + list("A+ Blood Pack", 5, /obj/item/reagent_container/blood/APlus, VENDOR_ITEM_REGULAR), + list("A- Blood Pack", 5, /obj/item/reagent_container/blood/AMinus, VENDOR_ITEM_REGULAR), + list("B+ Blood Pack", 5, /obj/item/reagent_container/blood/BPlus, VENDOR_ITEM_REGULAR), + list("B- Blood Pack", 5, /obj/item/reagent_container/blood/BMinus, VENDOR_ITEM_REGULAR), + list("O+ Blood Pack", 5, /obj/item/reagent_container/blood/OPlus, VENDOR_ITEM_REGULAR), + list("O- Blood Pack", 5, /obj/item/reagent_container/blood/OMinus, VENDOR_ITEM_REGULAR), + + list("MISCELLANEOUS", -1, null, null), + list("Empty Blood Pack", 5, /obj/item/reagent_container/blood, VENDOR_ITEM_REGULAR) + ) + + healthscan = FALSE + chem_refill = null + stack_refill = null + +/obj/structure/machinery/cm_vending/sorted/medical/blood/bolted + req_access = list() + wrenchable = FALSE + +/obj/structure/machinery/cm_vending/sorted/medical/blood/populate_product_list(scale) + return + +/obj/structure/machinery/cm_vending/sorted/medical/blood/antag + req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL) + req_access = null + vendor_theme = VENDOR_THEME_CLF + +/obj/structure/machinery/cm_vending/sorted/medical/wall_med + name = "\improper NanoMed" + desc = "Wall-mounted Medical Equipment Dispenser." + icon_state = "wallmed" + vend_delay = 0.7 SECONDS + + req_access = list() + + density = FALSE + wrenchable = FALSE + listed_products = list( + list("SUPPLIES", -1, null, null), + list("First-Aid Autoinjector", 1, /obj/item/reagent_container/hypospray/autoinjector/skillless, VENDOR_ITEM_REGULAR), + list("Pain-Stop Autoinjector", 1, /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, VENDOR_ITEM_REGULAR), + list("Roll Of Gauze", 2, /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), + list("Ointment", 2, /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), + list("Medical Splints", 1, /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), + + list("UTILITY", -1, null, null), + list("HF2 Health Analyzer", 1, /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR) + ) + + appearance_flags = TILE_BOUND + + chem_refill = list( + /obj/item/reagent_container/hypospray/autoinjector/skillless, + /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, + /obj/item/reagent_container/hypospray/autoinjector/tricord/skillless, + /obj/item/reagent_container/hypospray/autoinjector/bicaridine/skillless, + /obj/item/reagent_container/hypospray/autoinjector/kelotane/skillless, + /obj/item/reagent_container/hypospray/autoinjector/tramadol/skillless, + ) + stack_refill = list( + /obj/item/stack/medical/bruise_pack, + /obj/item/stack/medical/splint, + /obj/item/stack/medical/ointment, + ) + +/obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited + desc = "Wall-mounted Medical Equipment Dispenser. This version is more limited than standard USCM NanoMeds." + + chem_refill = list( + /obj/item/reagent_container/hypospray/autoinjector/skillless, + /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, + ) + stack_refill = list( + /obj/item/stack/medical/bruise_pack, + /obj/item/stack/medical/ointment, ) - cost = 20 - containertype = /obj/structure/closet/crate/medical - containername = "body bag crate" - group = "Medical" - -/datum/supply_packs/cryobag - name = "stasis bag crate (x3)" - contains = list( - /obj/item/bodybag/cryobag, - /obj/item/bodybag/cryobag, - /obj/item/bodybag/cryobag, + +/obj/structure/machinery/cm_vending/sorted/medical/wall_med/lifeboat + name = "Lifeboat Medical Cabinet" + icon = 'icons/obj/structures/machinery/lifeboat.dmi' + icon_state = "medcab" + desc = "A wall-mounted cabinet containing medical supplies vital to survival. While better equipped, it can only refill basic supplies." + listed_products = list( + list("AUTOINJECTORS", -1, null, null), + list("First-Aid Autoinjector", 8, /obj/item/reagent_container/hypospray/autoinjector/skillless, VENDOR_ITEM_REGULAR), + list("Pain-Stop Autoinjector", 8, /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, VENDOR_ITEM_REGULAR), + + list("DEVICES", -1, null, null), + list("Health Analyzer", 8, /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR), + + list("FIELD SUPPLIES", -1, null, null), + list("Burn Kit", 8, /obj/item/stack/medical/advanced/ointment, VENDOR_ITEM_REGULAR), + list("Trauma Kit", 8, /obj/item/stack/medical/advanced/bruise_pack, VENDOR_ITEM_REGULAR), + list("Ointment", 8, /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), + list("Roll of Gauze", 8, /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), + list("Splints", 8, /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR) ) - cost = 40 - containertype = /obj/structure/closet/crate/medical - containername = "stasis bag crate" - group = "Medical" - -/datum/supply_packs/surgery - name = "surgery crate(tray,anesthetic,surgeon gear)" - contains = list( - /obj/item/storage/surgical_tray, - /obj/item/clothing/mask/breath/medical, - /obj/item/tank/anesthetic, - /obj/item/clothing/under/rank/medical/green, - /obj/item/storage/box/masks, - /obj/item/storage/box/gloves, + stack_refill = list( + /obj/item/stack/medical/ointment, + /obj/item/stack/medical/bruise_pack, + /obj/item/stack/medical/splint, ) - cost = 30 - containertype = /obj/structure/closet/crate/secure/surgery - containername = "surgery crate" - access = ACCESS_MARINE_MEDBAY - group = "Medical" - -/datum/supply_packs/upgraded_medical_kits - name = "upgraded medical equipment crate (x4)" - contains = list( - /obj/item/storage/box/czsp/medic_upgraded_kits, - /obj/item/storage/box/czsp/medic_upgraded_kits, - /obj/item/storage/box/czsp/medic_upgraded_kits, - /obj/item/storage/box/czsp/medic_upgraded_kits, + + unacidable = TRUE + unslashable = TRUE + wrenchable = FALSE + hackable = FALSE + +/obj/structure/machinery/cm_vending/sorted/medical/wall_med/populate_product_list(scale) + return + +/obj/structure/machinery/cm_vending/sorted/medical/wall_med/souto + name = "\improper SoutoMed" + desc = "In Soutoland (Trademark pending), one is never more than 6ft away from canned Havana goodness. Drink a Souto today! For a full selection of Souto products please visit a licensed retailer or vending machine. Also doubles as basic first aid station." + icon_state = "soutomed" + icon = 'icons/obj/structures/souto_land.dmi' + listed_products = list( + list("FIRST AID SUPPLIES", -1, null, null), + list("First-Aid Autoinjector", 1, /obj/item/reagent_container/hypospray/autoinjector/skillless, VENDOR_ITEM_REGULAR), + list("Pain-Stop Autoinjector", 1, /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, VENDOR_ITEM_REGULAR), + list("Roll Of Gauze", 2, /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), + list("Ointment", 2, /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), + list("Medical Splints", 1, /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), + + list("UTILITY", -1, null, null), + list("HF2 Health Analyzer", 1, /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR), + + list("SOUTO", -1, null, null), + list("Souto Classic", 1, /obj/item/reagent_container/food/drinks/cans/souto/classic, VENDOR_ITEM_REGULAR), + list("Diet Souto Classic", 1, /obj/item/reagent_container/food/drinks/cans/souto/diet/classic, VENDOR_ITEM_REGULAR), + list("Souto Cranberry", 1, /obj/item/reagent_container/food/drinks/cans/souto/cranberry, VENDOR_ITEM_REGULAR), + list("Diet Souto Cranberry", 1, /obj/item/reagent_container/food/drinks/cans/souto/diet/cranberry, VENDOR_ITEM_REGULAR), + list("Souto Grape", 1, /obj/item/reagent_container/food/drinks/cans/souto/grape, VENDOR_ITEM_REGULAR), + list("Diet Souto Grape", 1, /obj/item/reagent_container/food/drinks/cans/souto/diet/grape, VENDOR_ITEM_REGULAR) ) - cost = 0 - buyable = FALSE - containertype = /obj/structure/closet/crate/medical - containername = "upgraded medical equipment crate" - group = "Medical" diff --git a/code/game/machinery/vending/vendor_types/medical.dm b/code/game/machinery/vending/vendor_types/medical.dm index 7073dc383dcd..07977651b383 100644 --- a/code/game/machinery/vending/vendor_types/medical.dm +++ b/code/game/machinery/vending/vendor_types/medical.dm @@ -132,40 +132,40 @@ /obj/structure/machinery/cm_vending/sorted/medical/populate_product_list(scale) listed_products = list( list("FIELD SUPPLIES", -1, null, null), - list("Burn Kit", round(scale * 7), /obj/item/stack/medical/advanced/ointment, VENDOR_ITEM_REGULAR), - list("Trauma Kit", round(scale * 7), /obj/item/stack/medical/advanced/bruise_pack, VENDOR_ITEM_REGULAR), - list("Ointment", round(scale * 7), /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), - list("Roll of Gauze", round(scale * 7), /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), - list("Splints", round(scale * 7), /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), + list("Burn Kit", round(scale * 6), /obj/item/stack/medical/advanced/ointment, VENDOR_ITEM_REGULAR), + list("Trauma Kit", round(scale * 6), /obj/item/stack/medical/advanced/bruise_pack, VENDOR_ITEM_REGULAR), + list("Ointment", round(scale * 6), /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), + list("Roll of Gauze", round(scale * 6), /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), + list("Splints", round(scale * 6), /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), list("AUTOINJECTORS", -1, null, null), - list("Autoinjector (Bicaridine)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/bicaridine, VENDOR_ITEM_REGULAR), - list("Autoinjector (Dexalin+)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/dexalinp, VENDOR_ITEM_REGULAR), - list("Autoinjector (Epinephrine)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/adrenaline, VENDOR_ITEM_REGULAR), - list("Autoinjector (Inaprovaline)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, VENDOR_ITEM_REGULAR), - list("Autoinjector (Kelotane)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/kelotane, VENDOR_ITEM_REGULAR), - list("Autoinjector (Oxycodone)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/oxycodone, VENDOR_ITEM_REGULAR), - list("Autoinjector (Tramadol)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/tramadol, VENDOR_ITEM_REGULAR), - list("Autoinjector (Tricord)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/tricord, VENDOR_ITEM_REGULAR), + list("Autoinjector (Bicaridine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/bicaridine, VENDOR_ITEM_REGULAR), + list("Autoinjector (Dexalin+)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/dexalinp, VENDOR_ITEM_REGULAR), + list("Autoinjector (Epinephrine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/adrenaline, VENDOR_ITEM_REGULAR), + list("Autoinjector (Inaprovaline)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, VENDOR_ITEM_REGULAR), + list("Autoinjector (Kelotane)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/kelotane, VENDOR_ITEM_REGULAR), + list("Autoinjector (Oxycodone)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/oxycodone, VENDOR_ITEM_REGULAR), + list("Autoinjector (Tramadol)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/tramadol, VENDOR_ITEM_REGULAR), + list("Autoinjector (Tricord)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/tricord, VENDOR_ITEM_REGULAR), list("LIQUID BOTTLES", -1, null, null), - list("Bottle (Bicaridine)", round(scale * 5), /obj/item/reagent_container/glass/bottle/bicaridine, VENDOR_ITEM_REGULAR), - list("Bottle (Dylovene)", round(scale * 5), /obj/item/reagent_container/glass/bottle/antitoxin, VENDOR_ITEM_REGULAR), - list("Bottle (Dexalin)", round(scale * 5), /obj/item/reagent_container/glass/bottle/dexalin, VENDOR_ITEM_REGULAR), - list("Bottle (Inaprovaline)", round(scale * 5), /obj/item/reagent_container/glass/bottle/inaprovaline, VENDOR_ITEM_REGULAR), - list("Bottle (Kelotane)", round(scale * 5), /obj/item/reagent_container/glass/bottle/kelotane, VENDOR_ITEM_REGULAR), - list("Bottle (Oxycodone)", round(scale * 5), /obj/item/reagent_container/glass/bottle/oxycodone, VENDOR_ITEM_REGULAR), - list("Bottle (Peridaxon)", round(scale * 5), /obj/item/reagent_container/glass/bottle/peridaxon, VENDOR_ITEM_REGULAR), - list("Bottle (Tramadol)", round(scale * 5), /obj/item/reagent_container/glass/bottle/tramadol, VENDOR_ITEM_REGULAR), + list("Bottle (Bicaridine)", round(scale * 4), /obj/item/reagent_container/glass/bottle/bicaridine, VENDOR_ITEM_REGULAR), + list("Bottle (Dylovene)", round(scale * 4), /obj/item/reagent_container/glass/bottle/antitoxin, VENDOR_ITEM_REGULAR), + list("Bottle (Dexalin)", round(scale * 4), /obj/item/reagent_container/glass/bottle/dexalin, VENDOR_ITEM_REGULAR), + list("Bottle (Inaprovaline)", round(scale * 4), /obj/item/reagent_container/glass/bottle/inaprovaline, VENDOR_ITEM_REGULAR), + list("Bottle (Kelotane)", round(scale * 4), /obj/item/reagent_container/glass/bottle/kelotane, VENDOR_ITEM_REGULAR), + list("Bottle (Oxycodone)", round(scale * 4), /obj/item/reagent_container/glass/bottle/oxycodone, VENDOR_ITEM_REGULAR), + list("Bottle (Peridaxon)", round(scale * 4), /obj/item/reagent_container/glass/bottle/peridaxon, VENDOR_ITEM_REGULAR), + list("Bottle (Tramadol)", round(scale * 4), /obj/item/reagent_container/glass/bottle/tramadol, VENDOR_ITEM_REGULAR), list("PILL BOTTLES", -1, null, null), - list("Pill Bottle (Bicaridine)", round(scale * 3), /obj/item/storage/pill_bottle/bicaridine, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Dexalin)", round(scale * 3), /obj/item/storage/pill_bottle/dexalin, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Dylovene)", round(scale * 3), /obj/item/storage/pill_bottle/antitox, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Inaprovaline)", round(scale * 3), /obj/item/storage/pill_bottle/inaprovaline, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Kelotane)", round(scale * 3), /obj/item/storage/pill_bottle/kelotane, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Peridaxon)", round(scale * 2), /obj/item/storage/pill_bottle/peridaxon, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Tramadol)", round(scale * 3), /obj/item/storage/pill_bottle/tramadol, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Bicaridine)", round(scale * 2), /obj/item/storage/pill_bottle/bicaridine, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Dexalin)", round(scale * 2), /obj/item/storage/pill_bottle/dexalin, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Dylovene)", round(scale * 2), /obj/item/storage/pill_bottle/antitox, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Inaprovaline)", round(scale * 2), /obj/item/storage/pill_bottle/inaprovaline, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Kelotane)", round(scale * 2), /obj/item/storage/pill_bottle/kelotane, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Peridaxon)", round(scale * 1), /obj/item/storage/pill_bottle/peridaxon, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Tramadol)", round(scale * 2), /obj/item/storage/pill_bottle/tramadol, VENDOR_ITEM_REGULAR), list("MEDICAL UTILITIES", -1, null, null), list("Emergency Defibrillator", round(scale * 3), /obj/item/device/defibrillator, VENDOR_ITEM_REGULAR), @@ -220,6 +220,10 @@ /obj/structure/machinery/cm_vending/sorted/medical/no_access req_access = list() +/obj/structure/machinery/cm_vending/sorted/medical/bolted + req_access = list() + wrenchable = FALSE + /obj/structure/machinery/cm_vending/sorted/medical/chemistry/no_access req_access = list() @@ -295,6 +299,10 @@ chem_refill = null stack_refill = null +/obj/structure/machinery/cm_vending/sorted/medical/blood/bolted + req_access = list() + wrenchable = FALSE + /obj/structure/machinery/cm_vending/sorted/medical/blood/populate_product_list(scale) return From 9bf549853ba5199f1014e3708c6409ed03996a03 Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Thu, 25 Jan 2024 22:35:42 -0300 Subject: [PATCH 07/15] U.T.S.M.C.-2 --- maps/map_files/USS_Almayer/USS_Almayer.dmm | 54 +++++++++------------- 1 file changed, 23 insertions(+), 31 deletions(-) diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 94cbce8b64e1..72fe718453ed 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -3414,8 +3414,8 @@ }, /area/almayer/medical/upper_medical) "aot" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_10" +/obj/structure/machinery/cm_vending/clothing/senior_officer{ + pixel_y = 0 }, /turf/open/floor/almayer{ icon_state = "mono" @@ -5742,6 +5742,9 @@ }, /area/almayer/command/cic) "awM" = ( +/obj/structure/pipes/vents/pump{ + dir = 4 + }, /turf/open/floor/almayer{ icon_state = "mono" }, @@ -9567,6 +9570,7 @@ /area/almayer/medical/containment/cell) "aOi" = ( /obj/effect/landmark/start/nurse, +/obj/effect/landmark/late_join/nurse, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "aOq" = ( @@ -10084,6 +10088,7 @@ /area/almayer/living/offices) "aQI" = ( /obj/effect/landmark/start/researcher, +/obj/effect/landmark/late_join/researcher, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "aQL" = ( @@ -35407,9 +35412,6 @@ icon_state = "cargo" }, /area/almayer/squads/delta) -"hcZ" = ( -/turf/open/floor/plating/plating_catwalk, -/area/almayer/living/offices) "hdd" = ( /turf/open/floor/almayer{ dir = 9; @@ -36527,6 +36529,7 @@ /area/almayer/living/commandbunks) "hvQ" = ( /obj/effect/landmark/start/professor, +/obj/effect/landmark/late_join/cmo, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "hwd" = ( @@ -42350,7 +42353,8 @@ /obj/structure/machinery/alarm/almayer{ dir = 1 }, -/obj/effect/landmark/start/doctor, +/obj/effect/landmark/start/nurse, +/obj/effect/landmark/late_join/nurse, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "jKn" = ( @@ -42986,12 +42990,13 @@ }, /area/almayer/engineering/lower/workshop) "jUG" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, /obj/structure/machinery/light{ dir = 1 }, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_10"; + pixel_y = 14 + }, /turf/open/floor/almayer{ icon_state = "mono" }, @@ -44845,13 +44850,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_a_s) -"kDj" = ( -/obj/structure/bed, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lower_medical_medbay) "kDk" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -47869,6 +47867,7 @@ /obj/structure/sign/safety/maint{ pixel_y = 26 }, +/obj/effect/landmark/late_join/doctor, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "lHk" = ( @@ -57116,6 +57115,7 @@ /area/almayer/command/cic) "pbb" = ( /obj/effect/landmark/start/doctor, +/obj/effect/landmark/late_join/doctor, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) "pbo" = ( @@ -71313,7 +71313,9 @@ }, /area/almayer/engineering/upper_engineering/starboard) "umC" = ( -/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, /turf/open/floor/almayer{ icon_state = "mono" }, @@ -75830,9 +75832,6 @@ /obj/item/device/flashlight/lamp{ pixel_y = 8 }, -/obj/structure/pipes/vents/pump{ - dir = 4 - }, /obj/item/clothing/glasses/science{ pixel_x = 3; pixel_y = -3 @@ -81597,13 +81596,6 @@ "xRh" = ( /obj/structure/bed, /obj/item/bedsheet/green, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/machinery/cm_vending/clothing/senior_officer{ - density = 0; - pixel_y = 30 - }, /turf/open/floor/almayer{ icon_state = "mono" }, @@ -111585,7 +111577,7 @@ rlZ hBc hzs hzs -kDj +hzs aZK rlZ hYn @@ -113385,7 +113377,7 @@ kyw deq cGY bwG -aNr +aOi aOi pbb pbb @@ -115823,8 +115815,8 @@ lfx bwG aQI aQI -aQI -hcZ +pbb +aNr pQY aWD bll From 9e4b4ee982a9ab6e14ace24a11519de338b845fa Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Thu, 25 Jan 2024 22:40:17 -0300 Subject: [PATCH 08/15] Delete code/datums/supply_packs/medical.dm --- code/datums/supply_packs/medical.dm | 421 ---------------------------- 1 file changed, 421 deletions(-) delete mode 100644 code/datums/supply_packs/medical.dm diff --git a/code/datums/supply_packs/medical.dm b/code/datums/supply_packs/medical.dm deleted file mode 100644 index 07977651b383..000000000000 --- a/code/datums/supply_packs/medical.dm +++ /dev/null @@ -1,421 +0,0 @@ -//------------SORTED MEDICAL VENDORS--------------- - -/obj/structure/machinery/cm_vending/sorted/medical - name = "\improper Wey-Med Plus" - desc = "Medical Pharmaceutical dispenser. Provided by Wey-Yu Pharmaceuticals Division(TM)." - icon_state = "med" - req_access = list(ACCESS_MARINE_MEDBAY, ACCESS_MARINE_CHEMISTRY) - - unacidable = TRUE - unslashable = FALSE - wrenchable = TRUE - hackable = TRUE - - vendor_theme = VENDOR_THEME_COMPANY - vend_delay = 0.5 SECONDS - - var/datum/health_scan/last_health_display - - var/healthscan = TRUE - var/list/chem_refill = list( - /obj/item/reagent_container/hypospray/autoinjector/bicaridine, - /obj/item/reagent_container/hypospray/autoinjector/dexalinp, - /obj/item/reagent_container/hypospray/autoinjector/adrenaline,, - /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, - /obj/item/reagent_container/hypospray/autoinjector/kelotane, - /obj/item/reagent_container/hypospray/autoinjector/oxycodone, - /obj/item/reagent_container/hypospray/autoinjector/tramadol, - /obj/item/reagent_container/hypospray/autoinjector/tricord, - /obj/item/reagent_container/hypospray/autoinjector/skillless, - /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, - - /obj/item/reagent_container/hypospray/autoinjector/bicaridine/skillless, - /obj/item/reagent_container/hypospray/autoinjector/kelotane/skillless, - /obj/item/reagent_container/hypospray/autoinjector/tramadol/skillless, - /obj/item/reagent_container/hypospray/autoinjector/tricord/skillless, - - /obj/item/reagent_container/glass/bottle/bicaridine, - /obj/item/reagent_container/glass/bottle/antitoxin, - /obj/item/reagent_container/glass/bottle/dexalin, - /obj/item/reagent_container/glass/bottle/inaprovaline, - /obj/item/reagent_container/glass/bottle/kelotane, - /obj/item/reagent_container/glass/bottle/oxycodone, - /obj/item/reagent_container/glass/bottle/peridaxon, - /obj/item/reagent_container/glass/bottle/tramadol, - ) - var/list/stack_refill = list( - /obj/item/stack/medical/advanced/ointment, - /obj/item/stack/medical/advanced/bruise_pack, - /obj/item/stack/medical/ointment, - /obj/item/stack/medical/bruise_pack, - /obj/item/stack/medical/splint - ) - -/obj/structure/machinery/cm_vending/sorted/medical/Destroy() - QDEL_NULL(last_health_display) - . = ..() - -/obj/structure/machinery/cm_vending/sorted/medical/get_examine_text(mob/living/carbon/human/user) - . = ..() - if(healthscan) - . += SPAN_NOTICE("The [src.name] offers assisted medical scan, for ease of usage with minimal training. Present the target in front of the scanner to scan.") - -/obj/structure/machinery/cm_vending/sorted/medical/attackby(obj/item/I, mob/user) - if(stat == WORKING && LAZYLEN(chem_refill) && (istype(I, /obj/item/reagent_container/hypospray/autoinjector) || istype(I, /obj/item/reagent_container/glass/bottle))) // only if we are completely fine and working - if(!hacked) - if(!allowed(user)) - to_chat(user, SPAN_WARNING("Access denied.")) - return - - if(LAZYLEN(vendor_role) && !vendor_role.Find(user.job)) - to_chat(user, SPAN_WARNING("This machine isn't for you.")) - return - - var/obj/item/reagent_container/C = I - if(!(C.type in chem_refill)) - to_chat(user, SPAN_WARNING("[src] cannot refill the [C.name].")) - return - - if(C.reagents.total_volume == C.reagents.maximum_volume) - to_chat(user, SPAN_WARNING("[src] makes a warning noise. The [C.name] is currently full.")) - return - - to_chat(user, SPAN_NOTICE("[src] makes a whirring noise as it refills your [C.name].")) - // Since the reagent is deleted on use it's easier to make a new one instead of snowflake checking - var/obj/item/reagent_container/new_container = new C.type(src) - qdel(C) - user.put_in_hands(new_container) - else if(stat == WORKING && LAZYLEN(stack_refill) && (istype(I, /obj/item/stack))) - if(!hacked) - if(!allowed(user)) - to_chat(user, SPAN_WARNING("Access denied.")) - return - - if(LAZYLEN(vendor_role) && !vendor_role.Find(user.job)) - to_chat(user, SPAN_WARNING("This machine isn't for you.")) - return - - var/obj/item/stack/S = I - if(!(S.type in stack_refill)) - to_chat(user, SPAN_WARNING("[src] cannot restock the [S.name].")) - return - - if(S.amount == S.max_amount) - to_chat(user, SPAN_WARNING("[src] makes a warning noise. The [S.name] is currently fully stacked.")) - return - - to_chat(user, SPAN_NOTICE("[src] makes a whirring noise as it restocks your [S.name].")) - S.amount = S.max_amount - S.update_icon() - else - . = ..() - -/obj/structure/machinery/cm_vending/sorted/medical/MouseDrop(obj/over_object as obj) - if(stat == WORKING && over_object == usr && CAN_PICKUP(usr, src)) - var/mob/living/carbon/human/user = usr - if(!hacked && !allowed(user)) - to_chat(user, SPAN_WARNING("Access denied.")) - return - - if(!healthscan) - to_chat(user, SPAN_WARNING("\The [src] does not have health scanning function.")) - return - - if (!last_health_display) - last_health_display = new(user) - else - last_health_display.target_mob = user - - last_health_display.look_at(user, DETAIL_LEVEL_HEALTHANALYSER, bypass_checks = TRUE) - return - -/obj/structure/machinery/cm_vending/sorted/medical/populate_product_list(scale) - listed_products = list( - list("FIELD SUPPLIES", -1, null, null), - list("Burn Kit", round(scale * 6), /obj/item/stack/medical/advanced/ointment, VENDOR_ITEM_REGULAR), - list("Trauma Kit", round(scale * 6), /obj/item/stack/medical/advanced/bruise_pack, VENDOR_ITEM_REGULAR), - list("Ointment", round(scale * 6), /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), - list("Roll of Gauze", round(scale * 6), /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), - list("Splints", round(scale * 6), /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), - - list("AUTOINJECTORS", -1, null, null), - list("Autoinjector (Bicaridine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/bicaridine, VENDOR_ITEM_REGULAR), - list("Autoinjector (Dexalin+)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/dexalinp, VENDOR_ITEM_REGULAR), - list("Autoinjector (Epinephrine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/adrenaline, VENDOR_ITEM_REGULAR), - list("Autoinjector (Inaprovaline)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, VENDOR_ITEM_REGULAR), - list("Autoinjector (Kelotane)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/kelotane, VENDOR_ITEM_REGULAR), - list("Autoinjector (Oxycodone)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/oxycodone, VENDOR_ITEM_REGULAR), - list("Autoinjector (Tramadol)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/tramadol, VENDOR_ITEM_REGULAR), - list("Autoinjector (Tricord)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/tricord, VENDOR_ITEM_REGULAR), - - list("LIQUID BOTTLES", -1, null, null), - list("Bottle (Bicaridine)", round(scale * 4), /obj/item/reagent_container/glass/bottle/bicaridine, VENDOR_ITEM_REGULAR), - list("Bottle (Dylovene)", round(scale * 4), /obj/item/reagent_container/glass/bottle/antitoxin, VENDOR_ITEM_REGULAR), - list("Bottle (Dexalin)", round(scale * 4), /obj/item/reagent_container/glass/bottle/dexalin, VENDOR_ITEM_REGULAR), - list("Bottle (Inaprovaline)", round(scale * 4), /obj/item/reagent_container/glass/bottle/inaprovaline, VENDOR_ITEM_REGULAR), - list("Bottle (Kelotane)", round(scale * 4), /obj/item/reagent_container/glass/bottle/kelotane, VENDOR_ITEM_REGULAR), - list("Bottle (Oxycodone)", round(scale * 4), /obj/item/reagent_container/glass/bottle/oxycodone, VENDOR_ITEM_REGULAR), - list("Bottle (Peridaxon)", round(scale * 4), /obj/item/reagent_container/glass/bottle/peridaxon, VENDOR_ITEM_REGULAR), - list("Bottle (Tramadol)", round(scale * 4), /obj/item/reagent_container/glass/bottle/tramadol, VENDOR_ITEM_REGULAR), - - list("PILL BOTTLES", -1, null, null), - list("Pill Bottle (Bicaridine)", round(scale * 2), /obj/item/storage/pill_bottle/bicaridine, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Dexalin)", round(scale * 2), /obj/item/storage/pill_bottle/dexalin, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Dylovene)", round(scale * 2), /obj/item/storage/pill_bottle/antitox, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Inaprovaline)", round(scale * 2), /obj/item/storage/pill_bottle/inaprovaline, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Kelotane)", round(scale * 2), /obj/item/storage/pill_bottle/kelotane, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Peridaxon)", round(scale * 1), /obj/item/storage/pill_bottle/peridaxon, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Tramadol)", round(scale * 2), /obj/item/storage/pill_bottle/tramadol, VENDOR_ITEM_REGULAR), - - list("MEDICAL UTILITIES", -1, null, null), - list("Emergency Defibrillator", round(scale * 3), /obj/item/device/defibrillator, VENDOR_ITEM_REGULAR), - list("Surgical Line", round(scale * 2), /obj/item/tool/surgery/surgical_line, VENDOR_ITEM_REGULAR), - list("Synth-Graft", round(scale * 2), /obj/item/tool/surgery/synthgraft, VENDOR_ITEM_REGULAR), - list("Hypospray", round(scale * 2), /obj/item/reagent_container/hypospray/tricordrazine, VENDOR_ITEM_REGULAR), - list("Health Analyzer", round(scale * 5), /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR), - list("M276 Pattern Medical Storage Rig", round(scale * 2), /obj/item/storage/belt/medical, VENDOR_ITEM_REGULAR), - list("Medical HUD Glasses", round(scale * 3), /obj/item/clothing/glasses/hud/health, VENDOR_ITEM_REGULAR), - list("Stasis Bag", round(scale * 2), /obj/item/bodybag/cryobag, VENDOR_ITEM_REGULAR), - list("Syringe", round(scale * 7), /obj/item/reagent_container/syringe, VENDOR_ITEM_REGULAR) - ) - -/obj/structure/machinery/cm_vending/sorted/medical/chemistry - name = "\improper Wey-Chem Plus" - desc = "Medical chemistry dispenser. Provided by Wey-Yu Pharmaceuticals Division(TM)." - icon_state = "chem" - - healthscan = FALSE - chem_refill = list( - /obj/item/reagent_container/glass/bottle/bicaridine, - /obj/item/reagent_container/glass/bottle/antitoxin, - /obj/item/reagent_container/glass/bottle/dexalin, - /obj/item/reagent_container/glass/bottle/inaprovaline, - /obj/item/reagent_container/glass/bottle/kelotane, - /obj/item/reagent_container/glass/bottle/oxycodone, - /obj/item/reagent_container/glass/bottle/peridaxon, - /obj/item/reagent_container/glass/bottle/tramadol, - ) - stack_refill = null - -/obj/structure/machinery/cm_vending/sorted/medical/chemistry/populate_product_list(scale) - listed_products = list( - list("LIQUID BOTTLES", -1, null, null), - list("Bicaridine Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/bicaridine, VENDOR_ITEM_REGULAR), - list("Dylovene Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/antitoxin, VENDOR_ITEM_REGULAR), - list("Dexalin Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/dexalin, VENDOR_ITEM_REGULAR), - list("Inaprovaline Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/inaprovaline, VENDOR_ITEM_REGULAR), - list("Kelotane Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/kelotane, VENDOR_ITEM_REGULAR), - list("Oxycodone Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/oxycodone, VENDOR_ITEM_REGULAR), - list("Peridaxon Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/peridaxon, VENDOR_ITEM_REGULAR), - list("Tramadol Bottle", round(scale * 5), /obj/item/reagent_container/glass/bottle/tramadol, VENDOR_ITEM_REGULAR), - - list("MISCELLANEOUS", -1, null, null), - list("Beaker (60 Units)", round(scale * 3), /obj/item/reagent_container/glass/beaker, VENDOR_ITEM_REGULAR), - list("Beaker, Large (120 Units)", round(scale * 3), /obj/item/reagent_container/glass/beaker/large, VENDOR_ITEM_REGULAR), - list("Box of Pill Bottles", round(scale * 2), /obj/item/storage/box/pillbottles, VENDOR_ITEM_REGULAR), - list("Dropper", round(scale * 3), /obj/item/reagent_container/dropper, VENDOR_ITEM_REGULAR), - list("Syringe", round(scale * 7), /obj/item/reagent_container/syringe, VENDOR_ITEM_REGULAR) - ) - -/obj/structure/machinery/cm_vending/sorted/medical/no_access - req_access = list() - -/obj/structure/machinery/cm_vending/sorted/medical/bolted - req_access = list() - wrenchable = FALSE - -/obj/structure/machinery/cm_vending/sorted/medical/chemistry/no_access - req_access = list() - -/obj/structure/machinery/cm_vending/sorted/medical/antag - name = "\improper Medical Equipment Vendor" - desc = "A vending machine dispensing various pieces of medical equipment." - req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL) - req_access = null - vendor_theme = VENDOR_THEME_CLF - -/obj/structure/machinery/cm_vending/sorted/medical/marinemed - name = "\improper ColMarTech MarineMed" - desc = "Medical Pharmaceutical dispenser with basic medical supplies for marines." - icon_state = "marinemed" - req_access = list() - req_one_access = list() - vendor_theme = VENDOR_THEME_USCM - - chem_refill = list( - /obj/item/reagent_container/hypospray/autoinjector/skillless, - /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, - ) - stack_refill = list( - /obj/item/stack/medical/ointment, - /obj/item/stack/medical/bruise_pack, - /obj/item/stack/medical/splint, - ) - -/obj/structure/machinery/cm_vending/sorted/medical/marinemed/populate_product_list(scale) - listed_products = list( - list("AUTOINJECTORS", -1, null, null), - list("First-Aid Autoinjector", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/skillless, VENDOR_ITEM_REGULAR), - list("Pain-Stop Autoinjector", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, VENDOR_ITEM_REGULAR), - - list("DEVICES", -1, null, null), - list("Health Analyzer", round(scale * 3), /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR), - - list("FIELD SUPPLIES", -1, null, null), - list("Fire Extinguisher (portable)", 5, /obj/item/tool/extinguisher/mini, VENDOR_ITEM_REGULAR), - list("Ointment", round(scale * 7), /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), - list("Roll of Gauze", round(scale * 7), /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), - list("Splints", round(scale * 7), /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR) - ) - -/obj/structure/machinery/cm_vending/sorted/medical/marinemed/antag - name = "\improper Basic Medical Supplies Vendor" - desc = "A vending machine dispensing basic medical supplies." - req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL) - req_access = null - vendor_theme = VENDOR_THEME_CLF - -/obj/structure/machinery/cm_vending/sorted/medical/blood - name = "\improper MM Blood Dispenser" - desc = "The Marine Med Brand Blood Pack Dispensary is the premier, top-of-the-line blood dispenser of 2105! Get yours today!" //Don't update this year, the joke is it's old. - icon_state = "blood" - wrenchable = TRUE - hackable = TRUE - - listed_products = list( - list("BLOOD PACKS", -1, null, null), - list("A+ Blood Pack", 5, /obj/item/reagent_container/blood/APlus, VENDOR_ITEM_REGULAR), - list("A- Blood Pack", 5, /obj/item/reagent_container/blood/AMinus, VENDOR_ITEM_REGULAR), - list("B+ Blood Pack", 5, /obj/item/reagent_container/blood/BPlus, VENDOR_ITEM_REGULAR), - list("B- Blood Pack", 5, /obj/item/reagent_container/blood/BMinus, VENDOR_ITEM_REGULAR), - list("O+ Blood Pack", 5, /obj/item/reagent_container/blood/OPlus, VENDOR_ITEM_REGULAR), - list("O- Blood Pack", 5, /obj/item/reagent_container/blood/OMinus, VENDOR_ITEM_REGULAR), - - list("MISCELLANEOUS", -1, null, null), - list("Empty Blood Pack", 5, /obj/item/reagent_container/blood, VENDOR_ITEM_REGULAR) - ) - - healthscan = FALSE - chem_refill = null - stack_refill = null - -/obj/structure/machinery/cm_vending/sorted/medical/blood/bolted - req_access = list() - wrenchable = FALSE - -/obj/structure/machinery/cm_vending/sorted/medical/blood/populate_product_list(scale) - return - -/obj/structure/machinery/cm_vending/sorted/medical/blood/antag - req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL) - req_access = null - vendor_theme = VENDOR_THEME_CLF - -/obj/structure/machinery/cm_vending/sorted/medical/wall_med - name = "\improper NanoMed" - desc = "Wall-mounted Medical Equipment Dispenser." - icon_state = "wallmed" - vend_delay = 0.7 SECONDS - - req_access = list() - - density = FALSE - wrenchable = FALSE - listed_products = list( - list("SUPPLIES", -1, null, null), - list("First-Aid Autoinjector", 1, /obj/item/reagent_container/hypospray/autoinjector/skillless, VENDOR_ITEM_REGULAR), - list("Pain-Stop Autoinjector", 1, /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, VENDOR_ITEM_REGULAR), - list("Roll Of Gauze", 2, /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), - list("Ointment", 2, /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), - list("Medical Splints", 1, /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), - - list("UTILITY", -1, null, null), - list("HF2 Health Analyzer", 1, /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR) - ) - - appearance_flags = TILE_BOUND - - chem_refill = list( - /obj/item/reagent_container/hypospray/autoinjector/skillless, - /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, - /obj/item/reagent_container/hypospray/autoinjector/tricord/skillless, - /obj/item/reagent_container/hypospray/autoinjector/bicaridine/skillless, - /obj/item/reagent_container/hypospray/autoinjector/kelotane/skillless, - /obj/item/reagent_container/hypospray/autoinjector/tramadol/skillless, - ) - stack_refill = list( - /obj/item/stack/medical/bruise_pack, - /obj/item/stack/medical/splint, - /obj/item/stack/medical/ointment, - ) - -/obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited - desc = "Wall-mounted Medical Equipment Dispenser. This version is more limited than standard USCM NanoMeds." - - chem_refill = list( - /obj/item/reagent_container/hypospray/autoinjector/skillless, - /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, - ) - stack_refill = list( - /obj/item/stack/medical/bruise_pack, - /obj/item/stack/medical/ointment, - ) - -/obj/structure/machinery/cm_vending/sorted/medical/wall_med/lifeboat - name = "Lifeboat Medical Cabinet" - icon = 'icons/obj/structures/machinery/lifeboat.dmi' - icon_state = "medcab" - desc = "A wall-mounted cabinet containing medical supplies vital to survival. While better equipped, it can only refill basic supplies." - listed_products = list( - list("AUTOINJECTORS", -1, null, null), - list("First-Aid Autoinjector", 8, /obj/item/reagent_container/hypospray/autoinjector/skillless, VENDOR_ITEM_REGULAR), - list("Pain-Stop Autoinjector", 8, /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, VENDOR_ITEM_REGULAR), - - list("DEVICES", -1, null, null), - list("Health Analyzer", 8, /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR), - - list("FIELD SUPPLIES", -1, null, null), - list("Burn Kit", 8, /obj/item/stack/medical/advanced/ointment, VENDOR_ITEM_REGULAR), - list("Trauma Kit", 8, /obj/item/stack/medical/advanced/bruise_pack, VENDOR_ITEM_REGULAR), - list("Ointment", 8, /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), - list("Roll of Gauze", 8, /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), - list("Splints", 8, /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR) - ) - stack_refill = list( - /obj/item/stack/medical/ointment, - /obj/item/stack/medical/bruise_pack, - /obj/item/stack/medical/splint, - ) - - unacidable = TRUE - unslashable = TRUE - wrenchable = FALSE - hackable = FALSE - -/obj/structure/machinery/cm_vending/sorted/medical/wall_med/populate_product_list(scale) - return - -/obj/structure/machinery/cm_vending/sorted/medical/wall_med/souto - name = "\improper SoutoMed" - desc = "In Soutoland (Trademark pending), one is never more than 6ft away from canned Havana goodness. Drink a Souto today! For a full selection of Souto products please visit a licensed retailer or vending machine. Also doubles as basic first aid station." - icon_state = "soutomed" - icon = 'icons/obj/structures/souto_land.dmi' - listed_products = list( - list("FIRST AID SUPPLIES", -1, null, null), - list("First-Aid Autoinjector", 1, /obj/item/reagent_container/hypospray/autoinjector/skillless, VENDOR_ITEM_REGULAR), - list("Pain-Stop Autoinjector", 1, /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, VENDOR_ITEM_REGULAR), - list("Roll Of Gauze", 2, /obj/item/stack/medical/bruise_pack, VENDOR_ITEM_REGULAR), - list("Ointment", 2, /obj/item/stack/medical/ointment, VENDOR_ITEM_REGULAR), - list("Medical Splints", 1, /obj/item/stack/medical/splint, VENDOR_ITEM_REGULAR), - - list("UTILITY", -1, null, null), - list("HF2 Health Analyzer", 1, /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR), - - list("SOUTO", -1, null, null), - list("Souto Classic", 1, /obj/item/reagent_container/food/drinks/cans/souto/classic, VENDOR_ITEM_REGULAR), - list("Diet Souto Classic", 1, /obj/item/reagent_container/food/drinks/cans/souto/diet/classic, VENDOR_ITEM_REGULAR), - list("Souto Cranberry", 1, /obj/item/reagent_container/food/drinks/cans/souto/cranberry, VENDOR_ITEM_REGULAR), - list("Diet Souto Cranberry", 1, /obj/item/reagent_container/food/drinks/cans/souto/diet/cranberry, VENDOR_ITEM_REGULAR), - list("Souto Grape", 1, /obj/item/reagent_container/food/drinks/cans/souto/grape, VENDOR_ITEM_REGULAR), - list("Diet Souto Grape", 1, /obj/item/reagent_container/food/drinks/cans/souto/diet/grape, VENDOR_ITEM_REGULAR) - ) From 91cce9b554180464c656b4eb4f472f113a5d64ac Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Thu, 25 Jan 2024 22:42:11 -0300 Subject: [PATCH 09/15] M.O.O.-2 --- code/datums/supply_packs/medical.dm | 122 ++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 code/datums/supply_packs/medical.dm diff --git a/code/datums/supply_packs/medical.dm b/code/datums/supply_packs/medical.dm new file mode 100644 index 000000000000..097642eb163f --- /dev/null +++ b/code/datums/supply_packs/medical.dm @@ -0,0 +1,122 @@ +/datum/supply_packs/medical + name = "medical crate" + contains = list( + /obj/item/storage/box/syringes, + /obj/item/reagent_container/glass/bottle/inaprovaline, + /obj/item/reagent_container/glass/bottle/antitoxin, + /obj/item/reagent_container/glass/bottle/bicaridine, + /obj/item/reagent_container/glass/bottle/dexalin, + /obj/item/reagent_container/glass/bottle/kelotane, + /obj/item/reagent_container/glass/bottle/tramadol, + /obj/item/storage/pill_bottle/inaprovaline, + /obj/item/storage/pill_bottle/antitox, + /obj/item/storage/pill_bottle/bicaridine, + /obj/item/storage/pill_bottle/dexalin, + /obj/item/storage/pill_bottle/kelotane, + /obj/item/storage/pill_bottle/tramadol, + /obj/item/storage/pill_bottle/peridaxon, + /obj/item/storage/box/pillbottles, + ) + cost = 20 + containertype = /obj/structure/closet/crate/medical + containername = "medical crate" + group = "Medical" + +/datum/supply_packs/pillbottle + name = "pill bottle crate (x2 each)" + contains = list( + /obj/item/storage/pill_bottle/inaprovaline, + /obj/item/storage/pill_bottle/antitox, + /obj/item/storage/pill_bottle/bicaridine, + /obj/item/storage/pill_bottle/dexalin, + /obj/item/storage/pill_bottle/kelotane, + /obj/item/storage/pill_bottle/tramadol, + /obj/item/storage/pill_bottle/peridaxon, + /obj/item/storage/pill_bottle/inaprovaline, + /obj/item/storage/pill_bottle/antitox, + /obj/item/storage/pill_bottle/bicaridine, + /obj/item/storage/pill_bottle/dexalin, + /obj/item/storage/pill_bottle/kelotane, + /obj/item/storage/pill_bottle/tramadol, + /obj/item/storage/pill_bottle/peridaxon, + /obj/item/storage/box/pillbottles, + /obj/item/storage/box/pillbottles, + ) + cost = 20 + containertype = /obj/structure/closet/crate/medical + containername = "medical crate" + group = "Medical" + +/datum/supply_packs/firstaid + name = "first aid kit crate (x2 each)" + contains = list( + /obj/item/storage/firstaid/regular, + /obj/item/storage/firstaid/regular, + /obj/item/storage/firstaid/fire, + /obj/item/storage/firstaid/fire, + /obj/item/storage/firstaid/toxin, + /obj/item/storage/firstaid/toxin, + /obj/item/storage/firstaid/o2, + /obj/item/storage/firstaid/o2, + /obj/item/storage/firstaid/adv, + /obj/item/storage/firstaid/adv, + ) + cost = 16 + containertype = /obj/structure/closet/crate/medical + containername = "medical crate" + group = "Medical" + +/datum/supply_packs/bodybag + name = "body bag crate (x28)" + contains = list( + /obj/item/storage/box/bodybags, + /obj/item/storage/box/bodybags, + /obj/item/storage/box/bodybags, + /obj/item/storage/box/bodybags, + ) + cost = 12 + containertype = /obj/structure/closet/crate/medical + containername = "body bag crate" + group = "Medical" + +/datum/supply_packs/cryobag + name = "stasis bag crate (x3)" + contains = list( + /obj/item/bodybag/cryobag, + /obj/item/bodybag/cryobag, + /obj/item/bodybag/cryobag, + ) + cost = 20 + containertype = /obj/structure/closet/crate/medical + containername = "stasis bag crate" + group = "Medical" + +/datum/supply_packs/surgery + name = "surgery crate(tray,anesthetic,surgeon gear)" + contains = list( + /obj/item/storage/surgical_tray, + /obj/item/clothing/mask/breath/medical, + /obj/item/tank/anesthetic, + /obj/item/clothing/under/rank/medical/green, + /obj/item/storage/box/masks, + /obj/item/storage/box/gloves, + ) + cost = 30 + containertype = /obj/structure/closet/crate/secure/surgery + containername = "surgery crate" + access = ACCESS_MARINE_MEDBAY + group = "Medical" + +/datum/supply_packs/upgraded_medical_kits + name = "upgraded medical equipment crate (x4)" + contains = list( + /obj/item/storage/box/czsp/medic_upgraded_kits, + /obj/item/storage/box/czsp/medic_upgraded_kits, + /obj/item/storage/box/czsp/medic_upgraded_kits, + /obj/item/storage/box/czsp/medic_upgraded_kits, + ) + cost = 0 + buyable = FALSE + containertype = /obj/structure/closet/crate/medical + containername = "upgraded medical equipment crate" + group = "Medical" From fdfa9e015ae27a814ec661f27166600e15c5d179 Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Mon, 29 Jan 2024 20:00:49 -0300 Subject: [PATCH 10/15] P.H.R.1 --- code/game/machinery/vending/vendor_types/crew/medical.dm | 6 +----- .../machinery/vending/vendor_types/crew/senior_officers.dm | 4 +--- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/crew/medical.dm b/code/game/machinery/vending/vendor_types/crew/medical.dm index 1718e67cd409..2218efc1981c 100644 --- a/code/game/machinery/vending/vendor_types/crew/medical.dm +++ b/code/game/machinery/vending/vendor_types/crew/medical.dm @@ -38,7 +38,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_doctor, list( list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), @@ -103,7 +102,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_nurse, list( list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Medical Nurse Scrubs", 0, /obj/item/clothing/under/rank/medical/nurse, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), @@ -169,10 +167,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( list("Headset", 0, /obj/item/device/radio/headset/almayer/research, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), list("EYEWEAR (CHOOSE 1)", 0, null, null, null), - list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), - list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Researcher Uniform", 0, /obj/item/clothing/under/marine/officer/researcher, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index a3c87578e827..89ceec370566 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -219,9 +219,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), - list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Chief Medical Officer's Uniform", 0, /obj/item/clothing/under/rank/chief_medical_officer, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), @@ -289,7 +287,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( )) -/obj/effect/essentials_set/medical/doctor/CMO +/obj/effect/essentials_set/medical/doctor/cmo spawned_gear_list = list( /obj/item/device/defibrillator, /obj/item/storage/firstaid/adv, From 819f9aa531fc48dea2faad8e1e9707ecda0afc73 Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Mon, 29 Jan 2024 21:12:48 -0300 Subject: [PATCH 11/15] P.H.R.2 --- code/game/machinery/vending/vendor_types/crew/medical.dm | 6 +----- .../machinery/vending/vendor_types/crew/senior_officers.dm | 2 -- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/crew/medical.dm b/code/game/machinery/vending/vendor_types/crew/medical.dm index 1718e67cd409..2218efc1981c 100644 --- a/code/game/machinery/vending/vendor_types/crew/medical.dm +++ b/code/game/machinery/vending/vendor_types/crew/medical.dm @@ -38,7 +38,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_doctor, list( list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), @@ -103,7 +102,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_nurse, list( list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Medical Nurse Scrubs", 0, /obj/item/clothing/under/rank/medical/nurse, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), @@ -169,10 +167,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( list("Headset", 0, /obj/item/device/radio/headset/almayer/research, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), list("EYEWEAR (CHOOSE 1)", 0, null, null, null), - list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), - list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Researcher Uniform", 0, /obj/item/clothing/under/marine/officer/researcher, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index a3c87578e827..4f29d5d10a7c 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -219,9 +219,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), - list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Chief Medical Officer's Uniform", 0, /obj/item/clothing/under/rank/chief_medical_officer, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), From 326eec8fa04be97072faaefa35a3e34d720cb792 Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Mon, 29 Jan 2024 22:03:16 -0300 Subject: [PATCH 12/15] P.H.R.3 --- .../game/machinery/vending/vendor_types/crew/senior_officers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index 89ceec370566..72de291eb5be 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -211,7 +211,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_req_officer, list( GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( list("MEDICAL SET (MANDATORY)", 0, null, null, null), - list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor/CMO, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), + list("Essential Medical Set", 0, /obj/effect/essentials_set/medical/doctor/cmo, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), list("STANDARD EQUIPMENT", 0, null, null, null), list("Gloves", 0, /obj/item/clothing/gloves/latex, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), From 075305aa60608e36a9a9bd69ae6963edb4d11e7f Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Tue, 30 Jan 2024 12:42:16 -0300 Subject: [PATCH 13/15] R.C.O.P.G.1 --- code/game/machinery/vending/vendor_types/crew/medical.dm | 6 +++++- .../machinery/vending/vendor_types/crew/senior_officers.dm | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/vending/vendor_types/crew/medical.dm b/code/game/machinery/vending/vendor_types/crew/medical.dm index 2218efc1981c..1718e67cd409 100644 --- a/code/game/machinery/vending/vendor_types/crew/medical.dm +++ b/code/game/machinery/vending/vendor_types/crew/medical.dm @@ -38,6 +38,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_doctor, list( list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Green Scrubs", 0, /obj/item/clothing/under/rank/medical/green, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), @@ -102,6 +103,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_nurse, list( list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Medical Nurse Scrubs", 0, /obj/item/clothing/under/rank/medical/nurse, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), @@ -167,8 +169,10 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( list("Headset", 0, /obj/item/device/radio/headset/almayer/research, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), list("EYEWEAR (CHOOSE 1)", 0, null, null, null), - list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Researcher Uniform", 0, /obj/item/clothing/under/marine/officer/researcher, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index 72de291eb5be..947b1703c057 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -219,7 +219,9 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Prescription Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), list("Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), + list("Prescription Reagent Scanner HUD Goggles", 0, /obj/item/clothing/glasses/science/prescription, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED), list("UNIFORM (CHOOSE 1)", 0, null, null, null), list("Chief Medical Officer's Uniform", 0, /obj/item/clothing/under/rank/chief_medical_officer, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED), From 8c1a14f81c7a8d2ce033b1dcb97942a3b24fc98f Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Tue, 30 Jan 2024 14:36:56 -0300 Subject: [PATCH 14/15] Update code/game/machinery/vending/vendor_types/crew/senior_officers.dm Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/game/machinery/vending/vendor_types/crew/senior_officers.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index 947b1703c057..96e7bf058924 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -241,6 +241,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( list("HEADWEAR (CHOOSE 1)", 0, null, null, null), list("Chief Medical Officer's Peaked Cap", 0, /obj/item/clothing/head/cmo, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_RECOMMENDED), + list("Surgical Cap, Orange", 0, /obj/item/clothing/head/surgery/orange, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), From f77d951b536a10df39d0434b0b5139079114a873 Mon Sep 17 00:00:00 2001 From: LC4492 <122557086+LC4492@users.noreply.github.com> Date: Tue, 30 Jan 2024 14:39:24 -0300 Subject: [PATCH 15/15] Update code/game/machinery/vending/vendor_types/crew/medical.dm Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/game/machinery/vending/vendor_types/crew/medical.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/vending/vendor_types/crew/medical.dm b/code/game/machinery/vending/vendor_types/crew/medical.dm index 1718e67cd409..29838f3b57d0 100644 --- a/code/game/machinery/vending/vendor_types/crew/medical.dm +++ b/code/game/machinery/vending/vendor_types/crew/medical.dm @@ -189,6 +189,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_researcher, list( list("Snow Scarf", 0, /obj/item/clothing/mask/tornscarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_MANDATORY), list("HEADWEAR (CHOOSE 1)", 0, null, null, null), + list("Surgical Cap, Orange", 0, /obj/item/clothing/head/surgery/orange, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Blue", 0, /obj/item/clothing/head/surgery/blue, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Purple", 0, /obj/item/clothing/head/surgery/purple, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Surgical Cap, Green", 0, /obj/item/clothing/head/surgery/green, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR),