One-Way Materials Market (#5137)

## About The Pull Request

Re-enables purchase of the GMM, however the GMM can only be used to
purchase materials not sell them.

## Why It's Good For The Game

Let the station buy materials if they're desperate/lowpop. If people
were selling insane amounts of material inflating the budget, just
remove the ability to sell. Don't remove the entire machine.

## Changelog

🆑 LT3
add: Galactic materials market can be used by cargo for purchasing
materials only
/🆑
This commit is contained in:
LT3
2026-01-24 14:37:51 -08:00
committed by GitHub
parent 8a05c0f266
commit 6c5fa75ecd
8 changed files with 35 additions and 12 deletions
+9
View File
@@ -50,6 +50,13 @@
if(!isstack(exportable))
return
// BUBBER EDIT ADDITION BEGIN - GMM can't sell materials
balloon_alert(user, "export not available!")
return ITEM_INTERACT_FAILURE
// BUBBER EDIT ADDITION END - GMM can't sell materials
// BUBBER EDIT REMOVAL BEGIN - GMM can't sell materials
/*
if(!is_operational)
balloon_alert(user, "no power!")
return ITEM_INTERACT_FAILURE
@@ -76,6 +83,8 @@
qdel(exportable)
use_energy(active_power_usage)
return ITEM_INTERACT_SUCCESS
*/
// BUBBER EDIT REMOVAL END - GMM can't sell materials
/obj/machinery/materials_market/power_change()
. = ..()
+2 -2
View File
@@ -315,8 +315,9 @@
order_flags = ORDER_CONTRABAND
contains = list(/obj/item/weaponcrafting/giant_wrench)
crate_name = "unknown parts crate"
Removal End */
/datum/supply_pack/imports/materials_market - RENABLE IF FIXED UPSTREAM
/datum/supply_pack/imports/materials_market
name = "Galactic Materials Market Crate"
desc = "A circuit board to build your own materials market for use by certified market traders. Warning: Losses are not covered by insurance."
cost = CARGO_CRATE_VALUE * 3
@@ -329,7 +330,6 @@
)
crate_name = "materials market crate"
crate_type = /obj/structure/closet/crate/cargo
Removal End */
/datum/supply_pack/imports/floortilecamo
name = "Floor-tile Camouflage Uniform"
@@ -350,6 +350,9 @@
var/final_desired_atom = desired_atom
new final_desired_atom(candidate_turf)
/datum/area_spawn/export_gate/materials
desired_atom = /obj/item/flatpack/materials_market
/datum/design/board/export_gate
name = "Export Gate Board"
desc = "The circuit board for an export gate."
@@ -16,3 +16,8 @@
return ITEM_INTERACT_BLOCKING
return ..()
/obj/item/flatpack/materials_market
name = "materials import market"
board = /obj/item/circuitboard/machine/materials_market
custom_premium_price = PAYCHECK_CREW * 1.5
@@ -0,0 +1,5 @@
/obj/machinery/materials_market
name = "materials import market"
desc = "This machine allows the user to buy sheets of minerals \
from the central logistics facility. All transactions are final."
ordering_private = FALSE
@@ -1,29 +1,28 @@
/datum/supply_pack/materials/glass50 // Introduced with the GMM disable. Delete this file when the GMM gets fixed.
// Materials are sold at a premium to the GMM, if you're in an emergency
/datum/supply_pack/materials/glass50
name = "50 Glass Sheets"
desc = "Let some nice light in with fifty glass sheets!"
cost = CARGO_CRATE_VALUE * 3
desc = "Let some nice light in with glass sheets! You can probably find it cheaper using the Materials Market."
cost = CARGO_CRATE_VALUE * 4.5
contains = list(/obj/item/stack/sheet/glass/fifty)
crate_name = "glass sheets crate"
test_ignored = TRUE
/datum/supply_pack/materials/iron50
name = "50 Iron Sheets"
desc = "Any construction project begins with a good stack of fifty iron sheets!"
cost = CARGO_CRATE_VALUE * 2
desc = "Any good construction project begins with a stack of iron. You can probably find it cheaper using the Materials Market."
cost = CARGO_CRATE_VALUE * 4.5
contains = list(/obj/item/stack/sheet/iron/fifty)
crate_name = "iron sheets crate"
test_ignored = TRUE
/datum/supply_pack/materials/plasteel20
name = "20 Plasteel Sheets"
desc = "Reinforce the station's integrity with twenty plasteel sheets!"
cost = CARGO_CRATE_VALUE * 15
cost = CARGO_CRATE_VALUE * 10.5
contains = list(/obj/item/stack/sheet/plasteel/twenty)
crate_name = "plasteel sheets crate"
/datum/supply_pack/materials/plasteel50
name = "50 Plasteel Sheets"
desc = "For when you REALLY have to reinforce something."
cost = CARGO_CRATE_VALUE * 33
cost = CARGO_CRATE_VALUE * 24.6
contains = list(/obj/item/stack/sheet/plasteel/fifty)
crate_name = "plasteel sheets crate"
@@ -211,6 +211,7 @@
)
zubbers_premium = list(
/obj/item/flatpack/export_gate = 1,
/obj/item/flatpack/materials_market = 1,
)
/obj/machinery/vending/wardrobe/chap_wardrobe
+2 -1
View File
@@ -9244,6 +9244,7 @@
#include "modular_zubbers\code\modules\bubber_tram\code\moonstation_tram.dm"
#include "modular_zubbers\code\modules\cargo\cargo_spawners.dm"
#include "modular_zubbers\code\modules\cargo\expressconsole.dm"
#include "modular_zubbers\code\modules\cargo\materials_market.dm"
#include "modular_zubbers\code\modules\cargo\bounties\assistant.dm"
#include "modular_zubbers\code\modules\cargo\bounties\blacksmith.dm"
#include "modular_zubbers\code\modules\cargo\bounties\prisoner.dm"
@@ -9252,7 +9253,7 @@
#include "modular_zubbers\code\modules\cargo\packs\general.dm"
#include "modular_zubbers\code\modules\cargo\packs\goodies.dm"
#include "modular_zubbers\code\modules\cargo\packs\medical.dm"
#include "modular_zubbers\code\modules\cargo\packs\metalsheets.dm"
#include "modular_zubbers\code\modules\cargo\packs\minerals.dm"
#include "modular_zubbers\code\modules\cargo\packs\security.dm"
#include "modular_zubbers\code\modules\cargo\packs\service.dm"
#include "modular_zubbers\code\modules\changeling_zombies\antagonist.dm"