Cargo Material Purchasing (#19435)

* material sell tweaks

* material purchases

* test this

* missing 50 spawners

* fix

* missing mats

* oops

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Will
2026-05-03 19:43:46 -04:00
committed by GitHub
parent 1d2cbea8e9
commit 8bbb5a00a9
29 changed files with 216 additions and 13 deletions
@@ -195,3 +195,15 @@
/obj/fiftyspawner/plastitanium_glass
name = "stack of plastitanium glass"
type_to_spawn = /obj/item/stack/material/glass/plastitanium
/obj/fiftyspawner/aluminium
name = "stack of aluminium"
type_to_spawn = /obj/item/stack/material/aluminium
/obj/fiftyspawner/verdantium
name = "stack of verdantium"
type_to_spawn = /obj/item/stack/material/verdantium
/obj/fiftyspawner/painite
name = "stack of painite"
type_to_spawn = /obj/item/stack/material/painite
@@ -321,6 +321,7 @@ GLOBAL_LIST_INIT(name_to_material, populate_material_list())
/datum/material/placeholder
name = "placeholder"
wiki_flag = WIKI_SPOILER
supply_conversion_value = 0
// Places a girder object when a wall is dismantled, also applies reinforced material.
/datum/material/proc/place_dismantled_girder(var/turf/target, var/datum/material/reinf_material, var/datum/material/girder_material)
@@ -12,6 +12,7 @@
weight = 500
protectiveness = 80 // 80%
wiki_flag = WIKI_SPOILER
supply_conversion_value = 5 // Neat if you somehow manage to sell this
/datum/material/alienalloy/elevatorium
name = MAT_ALIEN_ELEVAT
+1
View File
@@ -10,6 +10,7 @@
sheet_plural_name = "bricks"
conductive = 0
wiki_flag = WIKI_SPOILER
supply_conversion_value = 0
/datum/material/cult/place_dismantled_girder(var/turf/target)
new /obj/structure/girder/cult(target, MAT_CULT)
+1
View File
@@ -115,6 +115,7 @@
sheet_plural_name = "gems"
icon_base = "stone"
table_icon_base = "stone"
supply_conversion_value = 10
/datum/material/verdantium
name = MAT_VERDANTIUM
@@ -18,6 +18,7 @@
created_window = /obj/structure/window/basic
created_fulltile_window = /obj/structure/window/basic/full
rod_product = /obj/item/stack/material/glass/reinforced
supply_conversion_value = 0.25
/datum/material/glass/build_windows(var/mob/living/user, var/obj/item/stack/used_stack)
@@ -111,6 +112,7 @@
created_fulltile_window = /obj/structure/window/reinforced/full
wire_product = null
rod_product = null
supply_conversion_value = 0.25
/datum/material/glass/phoron
name = MAT_PGLASS
@@ -124,6 +126,7 @@
created_fulltile_window = /obj/structure/window/phoronbasic/full
wire_product = null
rod_product = /obj/item/stack/material/glass/phoronrglass
supply_conversion_value = 5
/datum/material/glass/phoron/reinforced
name = MAT_RPGLASS
@@ -137,3 +140,4 @@
composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT / 2, MAT_PGLASS = SHEET_MATERIAL_AMOUNT)
rod_product = null
flags = MATERIAL_UNMELTABLE
supply_conversion_value = 5
@@ -12,6 +12,7 @@
created_fulltile_window = /obj/structure/window/titanium/full
wire_product = null
rod_product = /obj/item/stack/material/glass/titanium
supply_conversion_value = 4
/datum/material/glass/plastaniumglass
name = MAT_PLASTITANIUMGLASS
@@ -27,3 +28,4 @@
created_fulltile_window = /obj/structure/window/plastitanium/full
wire_product = null
rod_product = /obj/item/stack/material/glass/plastitanium
supply_conversion_value = 5
@@ -9,6 +9,7 @@
icon_colour = "#666677"
flags = MATERIAL_UNMELTABLE | MATERIAL_NO_SYNTH
composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT)
supply_conversion_value = 0.25
/datum/material/steel/hull/place_sheet(var/turf/target) //Deconstructed into normal steel sheets.
new /obj/item/stack/material/steel(target)
@@ -32,6 +32,7 @@
door_icon_base = "metal"
icon_colour = "#D1E6E3"
icon_reinf = "reinf_metal"
supply_conversion_value = 4
/datum/material/titanium/generate_recipes()
..()
@@ -47,6 +48,7 @@
conductivity = 10
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
supply_conversion_value = 0.25
/datum/material/lead
name = MAT_LEAD
@@ -57,7 +59,7 @@
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
radiation_resistance = 25 // Lead is Special and so gets to block more radiation than it normally would with just weight, totalling in 48 protection.
supply_conversion_value = 2
supply_conversion_value = 0.5
/datum/material/gold
name = MAT_GOLD
@@ -79,7 +81,7 @@
conductivity = 63
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
supply_conversion_value = 2
supply_conversion_value = 1
/datum/material/platinum
name = MAT_PLATINUM
@@ -104,6 +106,7 @@
/datum/material/mhydrogen
name = MAT_METALHYDROGEN
display_name = "metallic hydrogen"
stack_type = /obj/item/stack/material/mhydrogen
icon_colour = "#E6C5DE"
conductivity = 100
@@ -118,6 +121,7 @@
sheet_plural_name = "ingots"
is_fusion_fuel = 1
conductive = 0
supply_conversion_value = 3
/datum/material/tritium
name = MAT_TRITIUM
@@ -127,6 +131,7 @@
sheet_plural_name = "ingots"
is_fusion_fuel = 1
conductive = 0
supply_conversion_value = 4
/datum/material/osmium
name = MAT_OSMIUM
@@ -152,6 +157,7 @@
conductivity = 18
melting_point = T0C+3600
radiation_resistance = 15
supply_conversion_value = 0.5
/datum/material/bronze
name = MAT_BRONZE
@@ -162,6 +168,7 @@
integrity = 120
conductivity = 12
protectiveness = 9 // 33%
supply_conversion_value = 1
/datum/material/tin
name = MAT_TIN
@@ -171,7 +178,7 @@
icon_colour = "#b2afaf"
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
supply_conversion_value = 1
supply_conversion_value = 0.5
hardness = 50
weight = 13
@@ -184,7 +191,7 @@
icon_colour = "#af633e"
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
supply_conversion_value = 1
supply_conversion_value = 0.5
weight = 13
hardness = 50
@@ -196,5 +203,5 @@
stack_type = /obj/item/stack/material/aluminium
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
supply_conversion_value = 2
supply_conversion_value = 1
weight = 10
@@ -7,6 +7,7 @@
icon_base = "solid"
icon_reinf = "reinf_over"
icon_colour = "#666666"
supply_conversion_value = 0.15
/datum/material/steel/generate_recipes()
..()
@@ -5,6 +5,7 @@
integrity = 600
icon_base = "diona"
icon_reinf = "noreinf"
supply_conversion_value = 1
/datum/material/diona/place_dismantled_product()
return
@@ -140,6 +140,7 @@
conductive = 0
hardness = 5
integrity = 40
supply_conversion_value = 0.25
wiki_flag = WIKI_SPOILER
/datum/material/cotton
@@ -153,6 +154,7 @@
conductive = 0
hardness = 5
integrity = 10
supply_conversion_value = 1
stack_type = /obj/item/stack/material/cotton
/datum/material/fibers
@@ -169,3 +171,4 @@
pass_stack_colors = TRUE
hardness = 5
integrity = 5
supply_conversion_value = 1
@@ -7,7 +7,7 @@
protectiveness = 0
conductive = 0
integrity = 10
supply_conversion_value = 1
supply_conversion_value = 0.1
/datum/material/grass/generate_recipes()
recipes = list(
@@ -9,7 +9,7 @@
protectiveness = 3 // 13%
conductive = 0
integrity = 40
supply_conversion_value = 3
supply_conversion_value = 2
/datum/material/leather/generate_recipes()
recipes = list(
@@ -13,6 +13,7 @@
explosion_resistance = 60
radiation_resistance = 10
stack_type = /obj/item/stack/material/resin
supply_conversion_value = 2
/datum/material/resin/can_open_material_door(var/mob/living/user)
var/mob/living/carbon/M = user
@@ -19,6 +19,7 @@
destruction_desc = "splinters"
sheet_singular_name = "plank"
sheet_plural_name = "planks"
supply_conversion_value = 0.25
/datum/material/wood/generate_recipes()
..()
@@ -144,7 +145,7 @@
sheet_plural_name = "logs"
sheet_collective_name = "pile"
pass_stack_colors = TRUE
supply_conversion_value = 1
supply_conversion_value = 0.5
/datum/material/wood/log/generate_recipes()
recipes = list(
@@ -171,7 +172,7 @@
stack_type = /obj/item/stack/material/stick
sheet_collective_name = "pile"
pass_stack_colors = TRUE
supply_conversion_value = 1
supply_conversion_value = 0.05
sheet_singular_name = "stick"
sheet_plural_name = "sticks"
@@ -10,6 +10,7 @@
hardness = 500
weight = 500
wiki_flag = WIKI_SPOILER
supply_conversion_value = 0
/datum/material/fluff //This is to allow for 2 handed weapons that don't want to have a prefix.
name = " "
@@ -20,6 +21,7 @@
hardness = 60
weight = 20 //Strong as iron.
wiki_flag = WIKI_SPOILER
supply_conversion_value = 0
/datum/material/darkglass
name = MAT_DARKGLASS
@@ -28,6 +30,7 @@
table_icon_base = MAT_DARKGLASS
icon_colour = "#FFFFFF"
wiki_flag = WIKI_SPOILER
supply_conversion_value = 0
/datum/material/fancyblack
name = MAT_FANCYBLACK
@@ -36,3 +39,4 @@
table_icon_base = MAT_FANCYBLACK
icon_colour = "#FFFFFF"
wiki_flag = WIKI_SPOILER
supply_conversion_value = 0
+6 -3
View File
@@ -11,6 +11,7 @@
conductive = 0
conductivity = 2 // For the sake of material armor diversity, we're gonna pretend this plastic is a good insulator.
melting_point = T0C+371 //assuming heat resistant plastic
supply_conversion_value = 0.5
/datum/material/plastic/generate_recipes()
..()
@@ -73,6 +74,7 @@
destruction_desc = "crumples"
radiation_resistance = 1
pass_stack_colors = TRUE
supply_conversion_value = 0.05
/datum/material/cardboard/generate_recipes()
..()
@@ -96,9 +98,9 @@
)
/datum/material/toy_foam
name = "foam"
display_name = "foam"
use_name = "foam"
name = MAT_FOAM
display_name = MAT_FOAM
use_name = MAT_FOAM
flags = MATERIAL_PADDING
ignition_point = T0C+232
melting_point = T0C+300
@@ -108,3 +110,4 @@
protectiveness = 0 // 0%
conductive = 0
can_sharpen = FALSE
supply_conversion_value = 0
+2
View File
@@ -14,6 +14,7 @@
sheet_singular_name = "pile"
sheet_plural_name = "pile" //Just a bigger pile
radiation_resistance = 1
supply_conversion_value = 0
/datum/material/snow/generate_recipes()
recipes = list(
@@ -41,6 +42,7 @@
sheet_singular_name = "brick"
sheet_plural_name = "bricks"
radiation_resistance = 1
supply_conversion_value = 0
/datum/material/snowbrick/generate_recipes()
recipes = list(
@@ -14,6 +14,7 @@
door_icon_base = "stone"
sheet_singular_name = "brick"
sheet_plural_name = "bricks"
supply_conversion_value = 0.5
/datum/material/stone/generate_recipes()
..()
@@ -45,6 +46,7 @@
supply_conversion_value = 2
sheet_singular_name = "piece"
sheet_plural_name = "pieces"
supply_conversion_value = 0.1
/datum/material/stone/flint/generate_recipes()
return
@@ -61,6 +63,7 @@
weight = 27
hardness = 60
var/image/texture
supply_conversion_value = 0.1
/datum/material/stone/concrete/generate_recipes()
..()
@@ -15,6 +15,7 @@
sheet_plural_name = "crystals"
is_fusion_fuel = 1
flags = MATERIAL_UNMELTABLE
supply_conversion_value = 30
/datum/material/supermatter/generate_recipes()
recipes = list(
@@ -40,7 +40,7 @@
stack_type = /obj/item/stack/material/fur
sheet_collective_name = "pile"
pass_stack_colors = TRUE
supply_conversion_value = 1
supply_conversion_value = 0.5
sheet_singular_name = "bundle"
sheet_plural_name = "bundles"
ignition_point = T0C+232