Material datum implementation

Material datum functionality changed to mimic that of reagents etc. by
using a global datum list and an assoc value list.
Material datums added at the atom level.
starting_materials var added - on New(), the materials in the list are
added to a datum. An empty list generates an empty datum, a null means no
datum.
m_amt, g_amt, and where applicable gold_amt, etc. completely removed,
replaced with starting_materials where applicable.

Fabricators
Fixed a bug with fabricators taking design cost, not shown cost.
Fixed a bug with fabricators taking costs before a design was shown
completable.
Fabricators now transfer the materials they use in the design to the atom
produced's material datum.
Designs are now world-consistent : scanning the same atom will ref the
same design, and scanning an atom with a design will fetch it.
Mechanic fabs now add plastic cost on top of the design, not to it.
Mechanic designs no longer require random extra materials.
Mechanic designs are now material-specific, not type-specific.
Mechanic blueprint uses have been removed, in favour of a consumable
system.
RnD wires moved to the datum system.
Autolathe moved under fabricators. It preserves as much functionality as
possible.
Framework added for plastic costs on mechanic fabs to be toggled, and for
removal of designs to be toggled also.
This commit is contained in:
ComicIronic
2015-05-21 15:40:20 +01:00
parent 0bb8b9f45d
commit 06b5e60bbe
142 changed files with 1611 additions and 1602 deletions

View File

@@ -13,7 +13,7 @@ datum/design/rust_core_control
id = "rust_core_control"
req_tech = list("programming" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list(MAT_GLASS = 2000, "sacid" = 20)
category = "Misc"
build_path = "/obj/item/weapon/circuitboard/rust_core_control"
@@ -31,7 +31,7 @@ datum/design/rust_fuel_control
id = "rust_fuel_control"
req_tech = list("programming" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list(MAT_GLASS = 2000, "sacid" = 20)
category = "Misc"
build_path = "/obj/item/weapon/circuitboard/rust_fuel_control"
@@ -49,7 +49,7 @@ datum/design/rust_fuel_port
id = "rust_fuel_port"
req_tech = list("engineering" = 4, "materials" = 5)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$uranium" = 3000)
materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_URANIUM = 3000)
category = "Misc"
build_path = "/obj/item/weapon/module/rust_fuel_port"
@@ -67,7 +67,7 @@ datum/design/rust_fuel_compressor
id = "rust_fuel_compressor"
req_tech = list("materials" = 6, "plasmatech" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 3000, "$diamond" = 1000)
materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PLASMA = 3000, MAT_DIAMOND = 1000)
category = "Misc"
build_path = "/obj/item/weapon/module/rust_fuel_compressor"
@@ -94,7 +94,7 @@ datum/design/rust_core
req_tech = list(bluespace = 3, plasmatech = 4, magnets = 5, powerstorage = 6)
build_type = IMPRINTER
reliability_base = 79
materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 3000, "$diamond" = 2000)
materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PLASMA = 3000, MAT_DIAMOND = 2000)
category = "Misc"
build_path = "/obj/item/weapon/circuitboard/rust_core"
@@ -121,6 +121,6 @@ datum/design/rust_injector
req_tech = list(powerstorage = 3, engineering = 4, plasmatech = 4, materials = 6)
build_type = IMPRINTER
reliability_base = 79
materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 3000, "$uranium" = 2000)
materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PLASMA = 3000, MAT_URANIUM = 2000)
category = "Misc"
build_path = "/obj/item/weapon/circuitboard/rust_core"

View File

@@ -22,7 +22,7 @@ datum/design/shield_gen_ex
id = "shield_gen"
req_tech = list("bluespace" = 4, "plasmatech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 10000, "$diamond" = 5000, "$gold" = 10000)
materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PLASMA = 10000, MAT_DIAMOND = 5000, MAT_GOLD = 10000)
build_path = "/obj/machinery/shield_gen/external"
////////////////////////////////////////
@@ -48,7 +48,7 @@ datum/design/shield_gen
id = "shield_gen"
req_tech = list("bluespace" = 4, "plasmatech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 10000, "$diamond" = 5000, "$gold" = 10000)
materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PLASMA = 10000, MAT_DIAMOND = 5000, MAT_GOLD = 10000)
build_path = "/obj/machinery/shield_gen/external"
////////////////////////////////////////
@@ -74,5 +74,5 @@ datum/design/shield_cap
id = "shield_cap"
req_tech = list("magnets" = 3, "powerstorage" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 10000, "$diamond" = 5000, "$silver" = 10000)
materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PLASMA = 10000, MAT_DIAMOND = 5000, MAT_SILVER = 10000)
build_path = "/obj/machinery/shield_gen/external"

View File

@@ -78,8 +78,7 @@
icon_broken = "ashtray_bork_bl"
max_butts = 14
health = 24.0
g_amt = 0
m_amt = 0
starting_materials = list(MAT_PLASTIC = 50)
w_type = RECYK_MISC
empty_desc = "Cheap plastic ashtray."
throwforce = 3.0
@@ -100,7 +99,7 @@
icon_broken = "ashtray_bork_br"
max_butts = 10
health = 72.0
m_amt = 80
starting_materials = list(MAT_IRON = 80)
w_type = RECYK_METAL
empty_desc = "Massive bronze ashtray."
throwforce = 10.0
@@ -122,7 +121,7 @@
icon_broken = "ashtray_bork_gl"
max_butts = 12
health = 12.0
g_amt = 60
starting_materials = list(MAT_GLASS = 60)
empty_desc = "Glass ashtray. Looks fragile."
throwforce = 6.0

View File

@@ -9,7 +9,7 @@ var/global/list/atmos_controllers = list()
id = "atmoscontrol"
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
materials = list(MAT_GLASS = 2000, "sacid" = 20)
category = "Console Boards"
build_path = /obj/item/weapon/circuitboard/atmoscontrol