Porting a couple material datums code updates and fixes.
This commit is contained in:
@@ -191,7 +191,7 @@
|
||||
return 0
|
||||
|
||||
/obj/item/IntegrateAmount() //returns the amount of resources gained when eating this item
|
||||
if(custom_materials[getmaterialref(/datum/material/iron)] || custom_materials[getmaterialref(/datum/material/glass)])
|
||||
if(custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)] || custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)])
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
if(!isitem(O))
|
||||
return 0
|
||||
var/obj/item/I = O
|
||||
if(!(getmaterialref(material_id) in I.custom_materials))
|
||||
if(!(SSmaterials.GetMaterialRef(material_id) in I.custom_materials))
|
||||
return 0
|
||||
|
||||
var/amount = I.custom_materials[getmaterialref(material_id)]
|
||||
var/amount = I.custom_materials[SSmaterials.GetMaterialRef(material_id)]
|
||||
|
||||
if(istype(I, /obj/item/stack/ore))
|
||||
amount *= 0.8 // Station's ore redemption equipment is really goddamn good.
|
||||
|
||||
@@ -243,7 +243,7 @@
|
||||
icon_state = "knight_greyscale"
|
||||
item_state = "knight_greyscale"
|
||||
armor = list("melee" = 35, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 40, "acid" = 40)
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR //Can change color and add prefix
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Can change color and add prefix
|
||||
|
||||
/obj/item/clothing/head/helmet/skull
|
||||
name = "skull helmet"
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
icon_state = "knight_greyscale"
|
||||
item_state = "knight_greyscale"
|
||||
armor = list("melee" = 35, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 40, "acid" = 40)
|
||||
material_flags = MATERIAL_ADD_PREFIX //Can change color and add prefix
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Can change color and add prefix
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/durathread
|
||||
name = "makeshift vest"
|
||||
|
||||
@@ -310,7 +310,7 @@
|
||||
for(var/obj/item/O in ingredients)
|
||||
O.microwave_act(src)
|
||||
if(O.custom_materials?.len)
|
||||
metal += O.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
metal += O.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)]
|
||||
|
||||
if(metal)
|
||||
spark()
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
dat += "<A href='?src=[REF(src)];create=[D.id];amount=5'>x5</A>"
|
||||
if(ispath(D.build_path, /obj/item/stack))
|
||||
dat += "<A href='?src=[REF(src)];create=[D.id];amount=10'>x10</A>"
|
||||
dat += "([D.materials[getmaterialref(/datum/material/biomass)]/efficiency])<br>"
|
||||
dat += "([D.materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]/efficiency])<br>"
|
||||
dat += "</div>"
|
||||
else
|
||||
dat += "<div class='statusDisplay'>No container inside, please insert container.</div>"
|
||||
@@ -233,14 +233,14 @@
|
||||
menustat = "void"
|
||||
|
||||
/obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = TRUE)
|
||||
if(materials.len != 1 || materials[1] != getmaterialref(/datum/material/biomass))
|
||||
if(materials.len != 1 || materials[1] != SSmaterials.GetMaterialRef(/datum/material/biomass))
|
||||
return FALSE
|
||||
if (materials[getmaterialref(/datum/material/biomass)]*multiplier/efficiency > points)
|
||||
if (materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]*multiplier/efficiency > points)
|
||||
menustat = "nopoints"
|
||||
return FALSE
|
||||
else
|
||||
if(remove_points)
|
||||
points -= materials[getmaterialref(/datum/material/biomass)]*multiplier/efficiency
|
||||
points -= materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]*multiplier/efficiency
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
return TRUE
|
||||
|
||||
@@ -190,10 +190,10 @@
|
||||
var/cost = 400
|
||||
if(ispath(build_type, /obj/item/electronic_assembly))
|
||||
var/obj/item/electronic_assembly/E = SScircuit.cached_assemblies[build_type]
|
||||
cost = E.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
cost = E.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)]
|
||||
else if(ispath(build_type, /obj/item/integrated_circuit))
|
||||
var/obj/item/integrated_circuit/IC = SScircuit.cached_components[build_type]
|
||||
cost = IC.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
cost = IC.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)]
|
||||
else if(!(build_type in SScircuit.circuit_fabricator_recipe_list["Tools"]))
|
||||
return
|
||||
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
blocks["max_space"] = assembly.max_components
|
||||
|
||||
// Start keeping track of total metal cost
|
||||
blocks["metal_cost"] = assembly.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
blocks["metal_cost"] = assembly.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)]
|
||||
|
||||
|
||||
// Block 2. Components.
|
||||
@@ -291,7 +291,7 @@
|
||||
// Update estimated assembly complexity, taken space and material cost
|
||||
blocks["complexity"] += component.complexity
|
||||
blocks["used_space"] += component.size
|
||||
blocks["metal_cost"] += component.custom_materials[getmaterialref(/datum/material/iron)]
|
||||
blocks["metal_cost"] += component.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)]
|
||||
|
||||
// Check if the assembly requires printer upgrades
|
||||
if(!(component.spawn_flags & IC_SPAWN_DEFAULT))
|
||||
|
||||
@@ -414,7 +414,7 @@
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
set_pin_data(IC_OUTPUT, 2, materials.total_amount)
|
||||
for(var/I in 1 to mtypes.len)
|
||||
var/datum/material/M = materials.materials[getmaterialref(I)]
|
||||
var/datum/material/M = materials.materials[SSmaterials.GetMaterialRef(I)]
|
||||
var/amount = materials[M]
|
||||
if(M)
|
||||
set_pin_data(IC_OUTPUT, I+2, amount)
|
||||
@@ -452,7 +452,7 @@
|
||||
continue
|
||||
if(!mt) //Invalid input
|
||||
if(U>0)
|
||||
if(materials.retrieve_sheets(U, getmaterialref(mtypes[I]), T))
|
||||
if(materials.retrieve_sheets(U, SSmaterials.GetMaterialRef(mtypes[I]), T))
|
||||
suc = TRUE
|
||||
else
|
||||
if(mt.transer_amt_to(materials, U, mtypes[I]))
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
proximity_monitor = new(src, 1)
|
||||
AddComponent(/datum/component/material_container, list(/datum/material/iron, /datum/material/glass, /datum/material/silver, /datum/material/gold, /datum/material/diamond, /datum/material/plasma, /datum/material/uranium, /datum/material/bananium, /datum/material/titanium, /datum/material/bluespace), INFINITY, TRUE, /obj/item/stack)
|
||||
stored_research = new /datum/techweb/specialized/autounlocking/smelter
|
||||
selected_material = getmaterialref(/datum/material/iron)
|
||||
selected_material = SSmaterials.GetMaterialRef(/datum/material/iron)
|
||||
|
||||
/obj/machinery/mineral/processing_unit/Destroy()
|
||||
CONSOLE = null
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
/datum/material/plastic,
|
||||
/datum/material/runite
|
||||
), MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack)
|
||||
chosen = getmaterialref(chosen)
|
||||
chosen = SSmaterials.GetMaterialRef(chosen)
|
||||
|
||||
/obj/machinery/mineral/mint/process()
|
||||
var/turf/T = get_step(src, input_dir)
|
||||
|
||||
@@ -320,7 +320,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
throwforce = 2
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
custom_materials = list(/datum/material/iron = 400)
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR
|
||||
material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS
|
||||
var/string_attached
|
||||
var/list/sideslist = list("heads","tails")
|
||||
var/cooldown = 0
|
||||
|
||||
@@ -97,8 +97,8 @@
|
||||
var/obj/item/stack/S = I
|
||||
|
||||
if(is_type_in_list(S, list(/obj/item/stack/sheet/metal, /obj/item/stack/rods, /obj/item/stack/tile/plasteel)))
|
||||
if(S.custom_materials?.len && S.custom_materials[getmaterialref(/datum/material/iron)])
|
||||
S.cost = S.custom_materials[getmaterialref(/datum/material/iron)] * 0.25
|
||||
if(S.custom_materials?.len && S.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)])
|
||||
S.cost = S.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)] * 0.25
|
||||
S.source = get_or_create_estorage(/datum/robot_energy_storage/metal)
|
||||
|
||||
else if(istype(S, /obj/item/stack/sheet/glass))
|
||||
|
||||
@@ -53,7 +53,7 @@ other types of metals and chemistry for reagents).
|
||||
for(var/i in materials) //Go through all of our materials, get the subsystem instance, and then replace the list.
|
||||
var/amount = materials[i]
|
||||
if(!istext(i)) //Not a category, so get the ref the normal way
|
||||
var/datum/material/M = getmaterialref(i)
|
||||
var/datum/material/M = SSmaterials.GetMaterialRef(i)
|
||||
temp_list[M] = amount
|
||||
else
|
||||
temp_list[i] = amount
|
||||
|
||||
Reference in New Issue
Block a user