diff --git a/code/datums/tutorial/marine/medical_basic.dm b/code/datums/tutorial/marine/medical_basic.dm index 3a42a6d2ecc2..4817adba7bbd 100644 --- a/code/datums/tutorial/marine/medical_basic.dm +++ b/code/datums/tutorial/marine/medical_basic.dm @@ -1,5 +1,5 @@ /datum/tutorial/marine/medical_basic - name = "Marine - Medical (Basic)" + name = "Marine - Medical Tutorial 1 (Introduction)" desc = "Learn how to treat common injuries you may face as a marine." tutorial_id = "marine_medical_1" tutorial_template = /datum/map_template/tutorial/s7x7 diff --git a/code/datums/tutorial/marine/medical_basic_item.dm b/code/datums/tutorial/marine/medical_basic_item.dm new file mode 100644 index 000000000000..452e06381d7e --- /dev/null +++ b/code/datums/tutorial/marine/medical_basic_item.dm @@ -0,0 +1,294 @@ +/datum/tutorial/marine/medical_basic_item + name = "Marine - Medical Tutorial 2 (Standard Tools)" + desc = "Learn the medical tools you'll need to use to heal yourself and others" + tutorial_id = "marine_medical_2" + tutorial_template = /datum/map_template/tutorial/s8x9 + + var/clothing_items_to_vend = 7 + var/med_one_items_to_vend = 1 + var/med_two_items_to_vend = 1 + var/med_three_items_to_vend = 1 + +// START OF SCRIPTING + +/datum/tutorial/marine/medical_basic_item/start_tutorial(mob/starting_mob) + . = ..() + if(!.) + return + + init_mob() + message_to_player("This tutorial will discuss the medical tools you will use as a standard Marine.") + addtimer(CALLBACK(src, PROC_REF(intro_one)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/intro_one() + message_to_player("You are capable of tending to your own basic injuries without needing Corpsman (sometimes called a Medic) to assist you.") + addtimer(CALLBACK(src, PROC_REF(intro_two)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/intro_two() + message_to_player("The knowledge and ability to tend to your own injuries will allow you to not only survive, but thrive, on the battlefield.") + addtimer(CALLBACK(src, PROC_REF(kit_one)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_one() + message_to_player("We will now show and discuss the basic medical items you can use. Afterwards, we will examine where you can find and store these items.") + addtimer(CALLBACK(src, PROC_REF(kit_two)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_two() + message_to_player("This is a Bandage. You can use these to heal Brute damage and stop bleeding. You always want to carry one of these.") + var/obj/item/stack/medical/bruise_pack/bandage = new(loc_from_corner(0, 5)) + add_to_tracking_atoms(bandage) + add_highlight(bandage) + addtimer(CALLBACK(src, PROC_REF(kit_three)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_three() + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/stack/medical/bruise_pack, bandage) + remove_highlight(bandage) + message_to_player("This is Ointment. You can use these to heal Burn damage. These are less important to carry, but are useful if you have the space for it.") + var/obj/item/stack/medical/ointment/cream = new(loc_from_corner(0, 6)) + add_to_tracking_atoms(cream) + add_highlight(cream) + addtimer(CALLBACK(src, PROC_REF(kit_four)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_four() + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/stack/medical/ointment, cream) + remove_highlight(cream) + message_to_player("This is a Splint. You can use these to stabalize fractures. These are very important to use, as a unsplinted fracture can cause permanent injuries.") + var/obj/item/stack/medical/splint/splint = new(loc_from_corner(1, 5)) + add_to_tracking_atoms(splint) + add_highlight(splint) + addtimer(CALLBACK(src, PROC_REF(interject_one)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/interject_one() + message_to_player("It is significantly faster for someone else to apply a splint to you. It is suggested you ask someone else to splint your fractures.") + addtimer(CALLBACK(src, PROC_REF(interject_two)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/interject_two() + message_to_player("Furthermore, splints can be broken by further damage, requiring a replacement. Keep a close eye on your splints for this.") + addtimer(CALLBACK(src, PROC_REF(kit_five)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_five() + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/stack/medical/splint, splint) + remove_highlight(splint) + message_to_player("These are autoinjectors, these can be used to inject yourself with a healing chemical. This one is a Bicaradine autoinjector, it heals Brute damage.") + var/obj/item/reagent_container/hypospray/autoinjector/bicaridine/autobic = new(loc_from_corner(1, 6)) + add_to_tracking_atoms(autobic) + add_highlight(autobic) + addtimer(CALLBACK(src, PROC_REF(kit_six)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_six() + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/reagent_container/hypospray/autoinjector/bicaridine, autobic) + remove_highlight(autobic) + message_to_player("This one is a Kelotane autoinjector, it heals Burn damage.") + var/obj/item/reagent_container/hypospray/autoinjector/kelotane/autokel = new(loc_from_corner(2, 5)) + add_to_tracking_atoms(autokel) + add_highlight(autokel) + addtimer(CALLBACK(src, PROC_REF(kit_seven)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_seven() + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/reagent_container/hypospray/autoinjector/kelotane, autokel) + remove_highlight(autokel) + message_to_player("This one is a Tramadol autoinjector, it helps counter Pain, which is generated by being injured.") + var/obj/item/reagent_container/hypospray/autoinjector/tramadol/autotra = new(loc_from_corner(2, 6)) + add_to_tracking_atoms(autotra) + add_highlight(autotra) + addtimer(CALLBACK(src, PROC_REF(kit_eight)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_eight() + message_to_player("Tramadol is a highly dangerous medication, be certain to not overdose yourself be injecting more than three doses of this at a time. You will die if you do this.") + addtimer(CALLBACK(src, PROC_REF(kit_nine)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_nine() + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/reagent_container/hypospray/autoinjector/tramadol, autotra) + remove_highlight(autotra) + message_to_player("This one is a Tricordrazine autoinjector, it heals all damage types but slower than other chemicals. Its useful as a generalist medication for minor injuries.") + var/obj/item/reagent_container/hypospray/autoinjector/tricord/autotri = new(loc_from_corner(3, 5)) + add_to_tracking_atoms(autotri) + add_highlight(autotri) + addtimer(CALLBACK(src, PROC_REF(kit_ten)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_ten() + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/reagent_container/hypospray/autoinjector/tricord, autotri) + remove_highlight(autotri) + message_to_player("This is an Emergency autoinjector. It is unique in that it is a single use, non-refillable, injector. It will inject you with a large amount of healing medications and a powerful pain killer. Use this when you are on the brink of death.") + var/obj/item/reagent_container/hypospray/autoinjector/emergency/autoemer = new(loc_from_corner(3, 6)) + add_to_tracking_atoms(autoemer) + add_highlight(autoemer) + addtimer(CALLBACK(src, PROC_REF(kit_eleven)), 8 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_eleven() + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/reagent_container/hypospray/autoinjector/emergency, autoemer) + remove_highlight(autoemer) + message_to_player("These are pill packets. They are uncommonly issued. You get four pills per packet, one dose more than a autoinjector. But you can not refill these.") + var/obj/item/storage/pill_bottle/packet/bicaridine/packetbic = new(loc_from_corner(4, 5)) + var/obj/item/storage/pill_bottle/packet/kelotane/packetkel = new(loc_from_corner(4, 6)) + var/obj/item/storage/pill_bottle/packet/tramadol/packettram = new(loc_from_corner(5, 5)) + add_to_tracking_atoms(packetbic) + add_to_tracking_atoms(packetkel) + add_to_tracking_atoms(packettram) + add_highlight(packetbic) + add_highlight(packetkel) + add_highlight(packettram) + addtimer(CALLBACK(src, PROC_REF(kit_twelve)), 8 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/kit_twelve() + SIGNAL_HANDLER + + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/storage/pill_bottle/packet/bicaridine, packetbic) + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/storage/pill_bottle/packet/kelotane, packetkel) + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/storage/pill_bottle/packet/tramadol, packettram) + remove_highlight(packetbic) + remove_highlight(packetkel) + remove_highlight(packettram) + message_to_player("Take this moment to pause and review the previous chat logs or the medical items on the floor. When you are ready, please take the food bar and eat it.") + update_objective("Eat the food bar when you are ready to continue.") + var/obj/item/reagent_container/food/snacks/protein_pack/food = new(loc_from_corner(3, 3)) + add_to_tracking_atoms(food) + add_highlight(food) + RegisterSignal(tutorial_mob, COMSIG_MOB_EATEN_SNACK, PROC_REF(pouch_one)) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_one() + SIGNAL_HANDLER + + UnregisterSignal(tutorial_mob, COMSIG_MOB_EATEN_SNACK) + TUTORIAL_ATOM_FROM_TRACKING(/obj/item/reagent_container/food/snacks/protein_pack, food) + remove_highlight(food) + message_to_player("This section of the tutorial will discuss where to get these items, and how to store them. To begin, go to the equipment vendor and equip a standard Marine loadout.") + update_objective("Vend everything inside the ColMarTech Automated Closet.") + TUTORIAL_ATOM_FROM_TRACKING(/obj/structure/machinery/cm_vending/clothing/tutorialmed, clothing_vendor) + add_highlight(clothing_vendor) + clothing_vendor.req_access = list() + RegisterSignal(clothing_vendor, COMSIG_VENDOR_SUCCESSFUL_VEND, PROC_REF(pouch_two)) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_two() + SIGNAL_HANDLER + + clothing_items_to_vend-- + if(clothing_items_to_vend <= 0) + TUTORIAL_ATOM_FROM_TRACKING(/obj/structure/machinery/cm_vending/clothing/tutorialmed, clothing_vendor) + UnregisterSignal(clothing_vendor, COMSIG_VENDOR_SUCCESSFUL_VEND) + clothing_vendor.req_access = list(ACCESS_TUTORIAL_LOCKED) + remove_highlight(clothing_vendor) + message_to_player("Now, go to your personal equipment vendor and vend the First-Aid Pouch (Refillable Injectors).") + update_objective("Vend the first-aid pouch.") + TUTORIAL_ATOM_FROM_TRACKING(/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip, medic_vendor_injector) + add_highlight(medic_vendor_injector) + medic_vendor_injector.req_access = list() + RegisterSignal(medic_vendor_injector, COMSIG_VENDOR_SUCCESSFUL_VEND, PROC_REF(pouch_three)) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_three() + SIGNAL_HANDLER + + med_one_items_to_vend-- + if(med_one_items_to_vend <= 0) + TUTORIAL_ATOM_FROM_TRACKING(/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip, medic_vendor_injector) + UnregisterSignal(medic_vendor_injector, COMSIG_VENDOR_SUCCESSFUL_VEND) + medic_vendor_injector.req_access = list(ACCESS_TUTORIAL_LOCKED) + remove_highlight(medic_vendor_injector) + message_to_player("You have equipped this pouch into your pouch slot. This is the first of three medical pouches you can vend for yourself, this is the injector pouch, which contains the basic injectors and a emergency injector.") + update_objective("") + addtimer(CALLBACK(src, PROC_REF(pouch_four)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_four() + message_to_player("This pouch is unique as you can only get this from your personal vendor, the remaining two pouches can be acquired freely from the squad vendor.") + addtimer(CALLBACK(src, PROC_REF(pouch_five)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_five() + SIGNAL_HANDLER + + message_to_player("Vend the First-Aid Pouch (Splints, Gauze, Ointment).") + update_objective("Vend everything inside the ColMarTech Automated Closet.") + TUTORIAL_ATOM_FROM_TRACKING(/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip_bandage, medic_vendor_bandage) + add_highlight(medic_vendor_bandage) + medic_vendor_bandage.req_access = list() + RegisterSignal(medic_vendor_bandage, COMSIG_VENDOR_SUCCESSFUL_VEND, PROC_REF(pouch_six)) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_six() + SIGNAL_HANDLER + + med_two_items_to_vend-- + if(med_two_items_to_vend <= 0) + TUTORIAL_ATOM_FROM_TRACKING(/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip_bandage, medic_vendor_bandage) + UnregisterSignal(medic_vendor_bandage, COMSIG_VENDOR_SUCCESSFUL_VEND) + medic_vendor_bandage.req_access = list(ACCESS_TUTORIAL_LOCKED) + remove_highlight(medic_vendor_bandage) + message_to_player("This pouch contains a set of bandages, ointment, splints and a tricodrazine injector. It is a good generalist pouch.") + update_objective("") + addtimer(CALLBACK(src, PROC_REF(pouch_seven)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_seven() + message_to_player("You can vend these items from the marine medical vendor in the ship's medbay, as an alternative source.") + addtimer(CALLBACK(src, PROC_REF(pouch_eight)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_eight() + SIGNAL_HANDLER + + message_to_player("Vend the First-Aid Pouch (Pills).") + update_objective("Vend everything inside the ColMarTech Automated Closet.") + TUTORIAL_ATOM_FROM_TRACKING(/obj/structure/machinery/cm_vending/sorted/uniform_supply/tutorial_medic_equip_pill, medic_vendor_pill) + add_highlight(medic_vendor_pill) + medic_vendor_pill.req_access = list() + RegisterSignal(medic_vendor_pill, COMSIG_VENDOR_SUCCESSFUL_VEND, PROC_REF(pouch_nine)) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_nine() + SIGNAL_HANDLER + + med_three_items_to_vend-- + if(med_three_items_to_vend <= 0) + TUTORIAL_ATOM_FROM_TRACKING(/obj/structure/machinery/cm_vending/sorted/uniform_supply/tutorial_medic_equip_pill, medic_vendor_pill) + UnregisterSignal(medic_vendor_pill, COMSIG_VENDOR_SUCCESSFUL_VEND) + medic_vendor_pill.req_access = list(ACCESS_TUTORIAL_LOCKED) + remove_highlight(medic_vendor_pill) + message_to_player("This pouch contains a set of pills. You can only get these pill packets from your personal or squad vendor.") + update_objective("") + addtimer(CALLBACK(src, PROC_REF(pouch_ten)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_ten() + message_to_player("It will be up to you to figure out which of these you should take. You can consider using these pouches, or placing some of them in your satchel/backpack.") + addtimer(CALLBACK(src, PROC_REF(pouch_eleven)), 6 SECONDS) + +/datum/tutorial/marine/medical_basic_item/proc/pouch_eleven() + SIGNAL_HANDLER + + message_to_player("Feel free to examine these items, and use the prep vendor to experiment with storing these medical items. When you are finished, eat the food to end the tutoiral.") + update_objective("Eat the food bar when you are ready to end the tutorial.") + TUTORIAL_ATOM_FROM_TRACKING(/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep_tutorial, prep_vendor) + add_highlight(prep_vendor) + prep_vendor.req_access = list() + var/obj/item/reagent_container/food/snacks/protein_pack/food = new(loc_from_corner(3, 3)) + add_to_tracking_atoms(food) + add_highlight(food) + RegisterSignal(tutorial_mob, COMSIG_MOB_EATEN_SNACK, PROC_REF(the_end)) + +/datum/tutorial/marine/medical_basic_item/proc/the_end() + SIGNAL_HANDLER + + message_to_player("Good luck Marine.") + update_objective("") + tutorial_end_in(5 SECONDS, TRUE) + +// END OF SCRIPTING +// START OF SCRIPT HELPERS + +// END OF SCRIPT HELPERS + +/datum/tutorial/marine/medical_basic_item/init_mob() + . = ..() + arm_equipment(tutorial_mob, /datum/equipment_preset/tutorial/fed) + + +/datum/tutorial/marine/medical_basic_item/init_map() + new /obj/structure/surface/table/almayer(loc_from_corner(0, 4)) + new /obj/structure/surface/table/almayer(loc_from_corner(1, 4)) + new /obj/structure/surface/table/almayer(loc_from_corner(2, 4)) + new /obj/structure/surface/table/almayer(loc_from_corner(3, 4)) + new /obj/structure/surface/table/almayer(loc_from_corner(4, 4)) + new /obj/structure/surface/table/almayer(loc_from_corner(5, 4)) + var/obj/structure/machinery/cm_vending/clothing/tutorialmed/clothing_vendor = new(loc_from_corner(5, 0)) + add_to_tracking_atoms(clothing_vendor) + var/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip/medic_vendor_injector = new(loc_from_corner(5, 1)) + add_to_tracking_atoms(medic_vendor_injector) + var/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip_bandage/medic_vendor_bandage = new(loc_from_corner(5, 2)) + add_to_tracking_atoms(medic_vendor_bandage) + var/obj/structure/machinery/cm_vending/sorted/uniform_supply/tutorial_medic_equip_pill/medic_vendor_pill = new(loc_from_corner(5, 3)) + add_to_tracking_atoms(medic_vendor_pill) + var/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep_tutorial/prep_vendor = new(loc_from_corner(0, 2)) + add_to_tracking_atoms(prep_vendor) diff --git a/code/game/machinery/vending/vendor_types/squad_prep/tutorial.dm b/code/game/machinery/vending/vendor_types/squad_prep/tutorial.dm index c1cedd85c7fc..47cb81ee8be9 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/tutorial.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/tutorial.dm @@ -28,3 +28,173 @@ GLOBAL_LIST_INIT(cm_vending_clothing_tutorial, list( /obj/structure/machinery/cm_vending/clothing/tutorial/get_listed_products(mob/user) return GLOB.cm_vending_clothing_tutorial + +// Med Standard Vendor Tutorial + +GLOBAL_LIST_INIT(cm_vending_clothing_tutorialstandard, list( + list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("Standard Marine Apparel", 0, list(/obj/item/clothing/under/marine, /obj/item/clothing/shoes/marine/knife, /obj/item/clothing/gloves/marine, /obj/item/clothing/head/helmet/marine), MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), + + list("ARMOR (CHOOSE 1)", 0, null, null, null), + list("Medium Armor", 0, /obj/item/clothing/suit/storage/marine/medium, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), + + list("BACKPACK (CHOOSE 1)", 0, null, null, null), + list("Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED), + + list("BELT (CHOOSE 1)", 0, null, null, null), + list("M276 Ammo Load Rig", 0, /obj/item/storage/belt/marine, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), + + )) + +/obj/structure/machinery/cm_vending/clothing/tutorialmed + name = "\improper ColMarTech Automated Marine Equipment Rack" + desc = "An automated rack hooked up to a colossal storage of Marine Rifleman standard-issue equipment." + icon_state = "mar_rack" + show_points = TRUE + vendor_theme = VENDOR_THEME_USCM + req_access = list(ACCESS_TUTORIAL_LOCKED) + + vendor_role = list() + +/obj/structure/machinery/cm_vending/clothing/tutorialmed/get_listed_products(mob/user) + return GLOB.cm_vending_clothing_tutorialstandard + +//Standard Med Vendor 1 +GLOBAL_LIST_INIT(cm_vending_clothing_tutorial_medic, list( + list("POUCHES (CHOOSE 1)", 0, null, null, null), + list("First-Aid Pouch (Refillable Injectors)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + )) + +/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip + name = "\improper ColMarTech Automated Marine Equipment Rack" + desc = "An automated rack hooked up to a colossal storage of Marine Rifleman standard-issue equipment." + icon_state = "mar_rack" + show_points = TRUE + vendor_theme = VENDOR_THEME_USCM + req_access = list(ACCESS_TUTORIAL_LOCKED) + + vendor_role = list() + +/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip/get_listed_products(mob/user) + return GLOB.cm_vending_clothing_tutorial_medic + +//Standard Med Vendor 2 +GLOBAL_LIST_INIT(cm_vending_clothing_tutorial_medic_bandage, list( + list("POUCHES (CHOOSE 1)", 0, null, null, null), + list("First-Aid Pouch (Splints, Gauze, Ointment)", 0, /obj/item/storage/pouch/firstaid/full/alternate, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + )) +/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip_bandage + name = "\improper ColMarTech Automated Marine Equipment Rack" + desc = "An automated rack hooked up to a colossal storage of Marine Rifleman standard-issue equipment." + icon_state = "mar_rack" + show_points = TRUE + vendor_theme = VENDOR_THEME_USCM + req_access = list(ACCESS_TUTORIAL_LOCKED) + + vendor_role = list() + +/obj/structure/machinery/cm_vending/clothing/tutorial_medic_equip_bandage/get_listed_products(mob/user) + return GLOB.cm_vending_clothing_tutorial_medic_bandage + +//Standard Med Vendor 3 +GLOBAL_LIST_INIT(cm_vending_clothing_tutorial_medic_pill, list( + list("POUCHES (CHOOSE 1)", 0, null, null, null), + list("First-Aid Pouch (Pill Packets)", 1, /obj/item/storage/pouch/firstaid/full/pills, VENDOR_ITEM_REGULAR), + )) + +/obj/structure/machinery/cm_vending/sorted/uniform_supply/tutorial_medic_equip_pill + name = "\improper ColMarTech Surplus Uniform Vendor" + desc = "An automated supply rack hooked up to a small storage of standard marine uniforms." + icon_state = "mar_rack" + show_points = TRUE + vendor_theme = VENDOR_THEME_USCM + req_access = list(ACCESS_TUTORIAL_LOCKED) + req_one_access = list() + + vendor_role = list() + +/obj/structure/machinery/cm_vending/sorted/uniform_supply/tutorial_medic_equip_pill/get_listed_products(mob/user) + return GLOB.cm_vending_clothing_tutorial_medic_pill + +/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep_tutorial + name = "\improper ColMarTech Surplus Uniform Vendor" + desc = "An automated supply rack hooked up to a small storage of standard marine uniforms." + vendor_theme = VENDOR_THEME_USCM + req_access = list(ACCESS_TUTORIAL_LOCKED) + req_one_access = list() + + vendor_role = list() + +/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep_tutorial/get_listed_products(mob/user) + return GLOB.cm_vending_clothing_tutorial_prep + +GLOBAL_LIST_INIT(cm_vending_clothing_tutorial_prep, list( + list("STANDARD EQUIPMENT", 0, null, null, null), + list("Marine Combat Boots", 1, /obj/item/clothing/shoes/marine, VENDOR_ITEM_REGULAR), + list("Marine Brown Combat Boots", 1, /obj/item/clothing/shoes/marine/brown, VENDOR_ITEM_REGULAR), + list("USCM Uniform", 1, /obj/item/clothing/under/marine, VENDOR_ITEM_REGULAR), + list("Marine Combat Gloves", 1, /obj/item/clothing/gloves/marine, VENDOR_ITEM_REGULAR), + list("Marine Brown Combat Gloves", 1, /obj/item/clothing/gloves/marine/brown, VENDOR_ITEM_REGULAR), + list("Marine Black Combat Gloves", 1, /obj/item/clothing/gloves/marine/black, VENDOR_ITEM_REGULAR), + list("Marine Radio Headset", 1, /obj/item/device/radio/headset/almayer, VENDOR_ITEM_REGULAR), + list("M10 Pattern Marine Helmet", 1, /obj/item/clothing/head/helmet/marine, VENDOR_ITEM_REGULAR), + + list("WEBBINGS", 0, null, null), + list("Brown Webbing Vest", 1, /obj/item/clothing/accessory/storage/black_vest/brown_vest, VENDOR_ITEM_REGULAR), + list("Black Webbing Vest", 1, /obj/item/clothing/accessory/storage/black_vest, VENDOR_ITEM_REGULAR), + list("Webbing", 1, /obj/item/clothing/accessory/storage/webbing, VENDOR_ITEM_REGULAR), + list("Drop Pouch", 1, /obj/item/clothing/accessory/storage/droppouch, VENDOR_ITEM_REGULAR), + list("Shoulder Holster", 1, /obj/item/clothing/accessory/storage/holster, VENDOR_ITEM_REGULAR), + + list("ARMOR", 0, null, null), + list("M3 Pattern Carrier Marine Armor", 1, /obj/item/clothing/suit/storage/marine/medium/carrier, VENDOR_ITEM_REGULAR), + list("M3-EOD Pattern Heavy Armor", 1, /obj/item/clothing/suit/storage/marine/heavy, VENDOR_ITEM_REGULAR), + list("M3-L Pattern Light Armor", 1, /obj/item/clothing/suit/storage/marine/light, VENDOR_ITEM_REGULAR), + + list("BACKPACK", 0, null, null, null), + list("Lightweight IMP Backpack", 1, /obj/item/storage/backpack/marine, VENDOR_ITEM_REGULAR), + list("Technician Backpack", 1, /obj/item/storage/backpack/marine/tech, VENDOR_ITEM_REGULAR), + list("Medical Backpack", 1, /obj/item/storage/backpack/marine/medic, VENDOR_ITEM_REGULAR), + list("USCM Satchel", 1, /obj/item/storage/backpack/marine/satchel, VENDOR_ITEM_REGULAR), + list("USCM Technical Satchel", 1, /obj/item/storage/backpack/marine/satchel/tech, VENDOR_ITEM_REGULAR), + list("USCM Technical Chestrig", 1, /obj/item/storage/backpack/marine/engineerpack/welder_chestrig, VENDOR_ITEM_REGULAR), + list("Medical Satchel", 1, /obj/item/storage/backpack/marine/satchel/medic, VENDOR_ITEM_REGULAR), + list("Shotgun Scabbard", 1, /obj/item/storage/large_holster/m37, VENDOR_ITEM_REGULAR), + + list("RESTRICTED BACKPACKS", 0, null, null), + list("USCM Technician Welderpack", 1, /obj/item/storage/backpack/marine/engineerpack, VENDOR_ITEM_REGULAR), + list("Technician Welder-Satchel", 1, /obj/item/storage/backpack/marine/engineerpack/satchel, VENDOR_ITEM_REGULAR), + list("Radio Telephone Backpack", 1, /obj/item/storage/backpack/marine/satchel/rto, VENDOR_ITEM_REGULAR), + + list("BELTS", 0, null, null), + list("M276 Pattern Ammo Load Rig", 1, /obj/item/storage/belt/marine, VENDOR_ITEM_REGULAR), + list("M276 Pattern M40 Grenade Rig", 1, /obj/item/storage/belt/grenade, VENDOR_ITEM_REGULAR), + list("M276 Pattern Shotgun Shell Loading Rig", 1, /obj/item/storage/belt/shotgun, VENDOR_ITEM_REGULAR), + list("M276 Pattern General Pistol Holster Rig", 1, /obj/item/storage/belt/gun/m4a3, VENDOR_ITEM_REGULAR), + list("M276 Pattern M39 Holster Rig", 1, /obj/item/storage/large_holster/m39, VENDOR_ITEM_REGULAR), + list("M276 Pattern M39 Holster Rig And Pouch", 1, /obj/item/storage/belt/gun/m39, VENDOR_ITEM_REGULAR), + list("M276 Pattern M44 Holster Rig", 1, /obj/item/storage/belt/gun/m44, VENDOR_ITEM_REGULAR), + list("M276 Pattern M82F Holster Rig", 1, /obj/item/storage/belt/gun/flaregun, VENDOR_ITEM_REGULAR), + list("M276 Knife Rig (Full)", 1, /obj/item/storage/belt/knifepouch, VENDOR_ITEM_REGULAR), + list("M276 G8-A General Utility Pouch", 1, /obj/item/storage/backpack/general_belt, VENDOR_ITEM_REGULAR), + + list("POUCHES", 0, null, null, null), + list("Bayonet Sheath (Full)",1, /obj/item/storage/pouch/bayonet, VENDOR_ITEM_REGULAR), + list("First-Aid Pouch (Splints, Gauze, Ointment)", 1, /obj/item/storage/pouch/firstaid/full/alternate, VENDOR_ITEM_REGULAR), + list("First-Aid Pouch (Pill Packets)", 1, /obj/item/storage/pouch/firstaid/full/pills, VENDOR_ITEM_REGULAR), + list("Flare Pouch (Full)", 1, /obj/item/storage/pouch/flare/full, VENDOR_ITEM_REGULAR), + list("Small Document Pouch", 1, /obj/item/storage/pouch/document/small, VENDOR_ITEM_REGULAR), + list("Magazine Pouch", 1, /obj/item/storage/pouch/magazine, VENDOR_ITEM_REGULAR), + list("Shotgun Shell Pouch", 1, /obj/item/storage/pouch/shotgun, VENDOR_ITEM_REGULAR), + list("Medium General Pouch", 1, /obj/item/storage/pouch/general/medium, VENDOR_ITEM_REGULAR), + list("Pistol Magazine Pouch", 1, /obj/item/storage/pouch/magazine/pistol, VENDOR_ITEM_REGULAR), + list("Pistol Pouch", 1, /obj/item/storage/pouch/pistol, VENDOR_ITEM_REGULAR), + + list("RESTRICTED POUCHES", 0, null, null, null), + list("Construction Pouch", 1, /obj/item/storage/pouch/construction, VENDOR_ITEM_REGULAR), + list("Explosive Pouch", 1, /obj/item/storage/pouch/explosive, VENDOR_ITEM_REGULAR), + list("First Responder Pouch (Empty)", 1, /obj/item/storage/pouch/first_responder, VENDOR_ITEM_REGULAR), + list("Large Pistol Magazine Pouch", 1, /obj/item/storage/pouch/magazine/pistol/large, VENDOR_ITEM_REGULAR), + list("Tools Pouch", 1, /obj/item/storage/pouch/tools, VENDOR_ITEM_REGULAR), + list("Sling Pouch", 1, /obj/item/storage/pouch/sling, VENDOR_ITEM_REGULAR), + )) diff --git a/colonialmarines.dme b/colonialmarines.dme index ec330db86a4d..ac159dda6bfe 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -672,6 +672,7 @@ #include "code\datums\tutorial\marine\_marine.dm" #include "code\datums\tutorial\marine\basic_marine.dm" #include "code\datums\tutorial\marine\medical_basic.dm" +#include "code\datums\tutorial\marine\medical_basic_item.dm" #include "code\datums\tutorial\ss13\_ss13.dm" #include "code\datums\tutorial\ss13\basic_ss13.dm" #include "code\datums\tutorial\ss13\intents.dm"