Skip to content

Commit

Permalink
Requisition Centralization [Part 1] (#5490)
Browse files Browse the repository at this point in the history
# About the pull request
Adds a bolted version of the blood and medical vendors
Only the Field Equipment Vendors can down be taken down for FOB
Adds new pill bottle crate to requisitions
Makes medical crates ordered via req cheaper to compensate
<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

# Explain why it's good for the game
Centralizes requisition gameplay and increases its overall importance in
the gameloop. This is just part 1 of a requisitions centralization
update. I highly advise TMing this, to properly balance overall
requestion prices and perhaps add more medical crates as needed

# Testing Photographs and Procedure

<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog

:cl: LTNTS
add: bolted version of blood and medical vendors
add: pill bottle crate
balance: cheaper medical crates from req
balance: less items in med vendors, mainly pill bottles
/:cl:

---------

Co-authored-by: Drathek <[email protected]>
  • Loading branch information
ItsVyzo and Drulikar authored Jan 25, 2024
1 parent eb3fcc1 commit b173347
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 41 deletions.
33 changes: 29 additions & 4 deletions code/datums/supply_packs/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,33 @@
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 (2x each)"
name = "first aid kit crate (x2 each)"
contains = list(
/obj/item/storage/firstaid/regular,
/obj/item/storage/firstaid/regular,
Expand All @@ -36,7 +61,7 @@
/obj/item/storage/firstaid/adv,
/obj/item/storage/firstaid/adv,
)
cost = 20
cost = 16
containertype = /obj/structure/closet/crate/medical
containername = "medical crate"
group = "Medical"
Expand All @@ -49,7 +74,7 @@
/obj/item/storage/box/bodybags,
/obj/item/storage/box/bodybags,
)
cost = 20
cost = 12
containertype = /obj/structure/closet/crate/medical
containername = "body bag crate"
group = "Medical"
Expand All @@ -61,7 +86,7 @@
/obj/item/bodybag/cryobag,
/obj/item/bodybag/cryobag,
)
cost = 40
cost = 20
containertype = /obj/structure/closet/crate/medical
containername = "stasis bag crate"
group = "Medical"
Expand Down
64 changes: 36 additions & 28 deletions code/game/machinery/vending/vendor_types/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down Expand Up @@ -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()

Expand Down Expand Up @@ -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

Expand Down
18 changes: 9 additions & 9 deletions maps/map_files/USS_Almayer/USS_Almayer.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -10373,11 +10373,11 @@
/area/almayer/engineering/lower/engine_core)
"aSl" = (
/obj/structure/machinery/light,
/obj/structure/machinery/cm_vending/sorted/medical,
/obj/effect/decal/warning_stripes{
icon_state = "E";
pixel_x = 1
},
/obj/structure/machinery/cm_vending/sorted/medical/bolted,
/turf/open/floor/almayer{
dir = 4;
icon_state = "sterile_green_corner"
Expand Down Expand Up @@ -16899,7 +16899,7 @@
},
/area/almayer/squads/bravo)
"bET" = (
/obj/structure/machinery/cm_vending/sorted/medical,
/obj/structure/machinery/cm_vending/sorted/medical/bolted,
/turf/open/floor/almayer{
icon_state = "sterile_green_side"
},
Expand Down Expand Up @@ -31337,7 +31337,7 @@
},
/area/almayer/command/cic)
"fvJ" = (
/obj/structure/machinery/cm_vending/sorted/medical,
/obj/structure/machinery/cm_vending/sorted/medical/bolted,
/turf/open/floor/almayer{
dir = 1;
icon_state = "sterile_green_side"
Expand Down Expand Up @@ -36288,11 +36288,11 @@
/turf/open/floor/almayer,
/area/almayer/maint/hull/upper/u_f_p)
"hrJ" = (
/obj/structure/machinery/cm_vending/sorted/medical,
/obj/structure/sign/safety/autodoc{
pixel_x = 20;
pixel_y = -32
},
/obj/structure/machinery/cm_vending/sorted/medical/bolted,
/turf/open/floor/almayer{
icon_state = "sterile_green_side"
},
Expand Down Expand Up @@ -40683,7 +40683,7 @@
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
"jbO" = (
/obj/structure/machinery/cm_vending/sorted/medical,
/obj/structure/machinery/cm_vending/sorted/medical/bolted,
/turf/open/floor/almayer{
icon_state = "sterile_green_side"
},
Expand Down Expand Up @@ -57647,7 +57647,7 @@
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/cells)
"pnC" = (
/obj/structure/machinery/cm_vending/sorted/medical/blood,
/obj/structure/machinery/cm_vending/sorted/medical/blood/bolted,
/turf/open/floor/almayer{
icon_state = "sterile_green_side"
},
Expand Down Expand Up @@ -69480,11 +69480,11 @@
/turf/open/floor/almayer,
/area/almayer/hallways/starboard_hallway)
"tzx" = (
/obj/structure/machinery/cm_vending/sorted/medical/blood,
/obj/structure/machinery/light{
unacidable = 1;
unslashable = 1
},
/obj/structure/machinery/cm_vending/sorted/medical/blood/bolted,
/turf/open/floor/almayer{
icon_state = "sterile_green_side"
},
Expand Down Expand Up @@ -71392,7 +71392,7 @@
/obj/structure/machinery/light{
dir = 4
},
/obj/structure/machinery/cm_vending/sorted/medical,
/obj/structure/machinery/cm_vending/sorted/medical/bolted,
/turf/open/floor/almayer{
dir = 1;
icon_state = "sterile_green_side"
Expand Down Expand Up @@ -79659,10 +79659,10 @@
/turf/open/floor/wood/ship,
/area/almayer/shipboard/brig/chief_mp_office)
"xgJ" = (
/obj/structure/machinery/cm_vending/sorted/medical/blood,
/obj/structure/machinery/light{
dir = 1
},
/obj/structure/machinery/cm_vending/sorted/medical/blood/bolted,
/turf/open/floor/almayer{
dir = 1;
icon_state = "sterile_green_side"
Expand Down

0 comments on commit b173347

Please sign in to comment.