mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
RPED Installation Complete Fix + Circuit changes
- The RPED now sorts its parts when installing new equipment - It will always use the best parts contained within. - Made all the req_component lists of circuitboards actual paths instead of pure text. Hopefully I fixed everything that broke when I did that.
This commit is contained in:
@@ -282,6 +282,11 @@
|
||||
max_w_class = 3
|
||||
max_combined_w_class = 100
|
||||
|
||||
//Sorts stock parts inside an RPED by their rating.
|
||||
//Only use /obj/item/weapon/stock_parts/ with this sort proc!
|
||||
/proc/cmp_rped_sort(var/obj/item/weapon/stock_parts/A, var/obj/item/weapon/stock_parts/B)
|
||||
return B.rating - A.rating
|
||||
|
||||
/obj/item/weapon/stock_parts
|
||||
name = "stock part"
|
||||
desc = "What?"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
req_component_names = new()
|
||||
for(var/tname in req_components)
|
||||
var/path = text2path(tname)
|
||||
var/path = tname
|
||||
var/obj/O = new path()
|
||||
req_component_names[tname] = O.name
|
||||
|
||||
@@ -143,21 +143,22 @@
|
||||
if(istype(P, /obj/item/weapon/storage/part_replacer) && P.contents.len && get_req_components_amt())
|
||||
var/obj/item/weapon/storage/replacer = P
|
||||
var/list/added_components = list()
|
||||
var/list/part_list = list()
|
||||
|
||||
//Assemble a list of current parts, then sort them by their rating!
|
||||
for(var/obj/item/weapon/stock_parts/co in replacer)
|
||||
part_list += co
|
||||
//Sort the parts. This ensures that higher tier items are applied first.
|
||||
part_list = sortTim(part_list, /proc/cmp_rped_sort)
|
||||
|
||||
for(var/path in req_components)
|
||||
while(req_components[path] > 0 && (locate(text2path(path)) in replacer))
|
||||
var/obj/item/part = (locate(text2path(path)) in replacer)
|
||||
while(req_components[path] > 0 && (locate(path) in part_list))
|
||||
var/obj/item/part = (locate(path) in part_list)
|
||||
if(!part.crit_fail)
|
||||
added_components[part] = path
|
||||
replacer.remove_from_storage(part, src)
|
||||
req_components[path]--
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/replace in replacer)
|
||||
for(var/obj/item/weapon/stock_parts/part in added_components)
|
||||
if(istype(replace, part) && (replace.rating > part.rating) && (!replace.crit_fail))
|
||||
replacer.remove_from_storage(replace, src)
|
||||
replacer.handle_item_insertion(part, 1)
|
||||
added_components[replace] = added_components[part]
|
||||
added_components.Remove(part)
|
||||
part_list -= part
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/part in added_components)
|
||||
components += part
|
||||
@@ -169,7 +170,7 @@
|
||||
if(istype(P, /obj/item) && get_req_components_amt())
|
||||
var/success
|
||||
for(var/I in req_components)
|
||||
if(istype(P, text2path(I)) && (req_components[I] > 0))
|
||||
if(istype(P, I) && (req_components[I] > 0))
|
||||
success=1
|
||||
if(istype(P, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/CP = P
|
||||
@@ -206,7 +207,7 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/vending_refill/boozeomat" = 3)
|
||||
/obj/item/weapon/vending_refill/boozeomat = 3)
|
||||
|
||||
var/list/names_paths = list(/obj/machinery/vending/boozeomat = "Booze-O-Mat",
|
||||
/obj/machinery/vending/coffee = "Hot Drinks",
|
||||
@@ -224,7 +225,7 @@ to destroy them and players will be able to make replacements.
|
||||
build_path = typepath
|
||||
name = "circuit board ([names_paths[build_path]] Vendor)"
|
||||
user << "<span class='notice'>You set the board to [names_paths[build_path]].</span>"
|
||||
req_components = list("/obj/item/weapon/vending_refill/[copytext("[build_path]", 24)]" = 3) //Never before has i used a method as horrible as this one, im so sorry
|
||||
req_components = list(text2path("/obj/item/weapon/vending_refill/[copytext("[build_path]", 24)]") = 3) //Never before has i used a method as horrible as this one, im so sorry
|
||||
|
||||
/obj/item/weapon/circuitboard/smes
|
||||
name = "circuit board (SMES)"
|
||||
@@ -232,9 +233,9 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;powerstorage=5;engineering=5"
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 5,
|
||||
"/obj/item/weapon/stock_parts/cell" = 5,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 1)
|
||||
/obj/item/stack/cable_coil = 5,
|
||||
/obj/item/weapon/stock_parts/cell = 5,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/power_compressor
|
||||
name = "circuit board (Power Compressor)"
|
||||
@@ -242,8 +243,8 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;powerstorage=5;engineering=4"
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 5,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 6)
|
||||
/obj/item/stack/cable_coil = 5,
|
||||
/obj/item/weapon/stock_parts/manipulator = 6)
|
||||
|
||||
/obj/item/weapon/circuitboard/power_turbine
|
||||
name = "circuit board (Power Turbine)"
|
||||
@@ -251,8 +252,8 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;powerstorage=4;engineering=5"
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 5,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 6)
|
||||
/obj/item/stack/cable_coil = 5,
|
||||
/obj/item/weapon/stock_parts/capacitor = 6)
|
||||
|
||||
/obj/item/weapon/circuitboard/mech_recharger
|
||||
name = "circuit board (Mechbay Recharger)"
|
||||
@@ -260,8 +261,8 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;powerstorage=4;engineering=4"
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 1,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 5)
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/capacitor = 5)
|
||||
|
||||
/obj/item/weapon/circuitboard/teleporter_hub
|
||||
name = "circuit board (Teleporter Hub)"
|
||||
@@ -269,8 +270,8 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;engineering=5;bluespace=5;materials=4"
|
||||
req_components = list(
|
||||
"/obj/item/bluespace_crystal" = 3,
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1)
|
||||
/obj/item/bluespace_crystal = 3,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/teleporter_station
|
||||
name = "circuit board (Teleporter Station)"
|
||||
@@ -278,9 +279,9 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;engineering=4;bluespace=4"
|
||||
req_components = list(
|
||||
"/obj/item/bluespace_crystal" = 2,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 2,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
/obj/item/bluespace_crystal = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 2,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/telesci_pad
|
||||
name = "circuit board (Telepad)"
|
||||
@@ -288,10 +289,10 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;engineering=3;materials=3;bluespace=4"
|
||||
req_components = list(
|
||||
"/obj/item/bluespace_crystal" = 2,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 1,
|
||||
"/obj/item/stack/cable_coil" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
/obj/item/bluespace_crystal = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/sleeper
|
||||
name = "circuit board (Sleeper)"
|
||||
@@ -299,10 +300,10 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;biotech=2;engineering=3;materials=3"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 1,
|
||||
"/obj/item/stack/cable_coil" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 2)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/cryo_tube
|
||||
name = "circuit board (Cryotube)"
|
||||
@@ -310,9 +311,9 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=4;biotech=3;engineering=4"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1,
|
||||
"/obj/item/stack/cable_coil" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 4)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/thermomachine
|
||||
name = "circuit board (Freezer)"
|
||||
@@ -321,10 +322,10 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;plasmatech=3"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 2,
|
||||
"/obj/item/weapon/stock_parts/micro_laser" = 2,
|
||||
"/obj/item/stack/cable_coil" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 2,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/thermomachine/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
@@ -343,10 +344,10 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;biotech=2;materials=3"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 1,
|
||||
"/obj/item/stack/cable_coil" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/hydroponics
|
||||
name = "circuit board (Hydroponics Tray)"
|
||||
@@ -354,8 +355,8 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1;biotech=1"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 2,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/microwave
|
||||
name = "circuit board (Microwave)"
|
||||
@@ -363,9 +364,9 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/micro_laser" = 1,
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/chem_dispenser
|
||||
name = "circuit board (Portable Chem Dispenser)"
|
||||
@@ -373,11 +374,11 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "materials=4;engineering=4;programming=4;plasmatech=3;biotech=3"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 2,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 1,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1,
|
||||
"/obj/item/weapon/stock_parts/cell" = 1)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/cell = 1)
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/destructive_analyzer
|
||||
@@ -386,9 +387,9 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "magnets=2;engineering=2;programming=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 1,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 1,
|
||||
"/obj/item/weapon/stock_parts/micro_laser" = 1)
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/autolathe
|
||||
name = "circuit board (Autolathe)"
|
||||
@@ -396,9 +397,9 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 3,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 3,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/protolathe
|
||||
name = "circuit board (Protolathe)"
|
||||
@@ -406,9 +407,9 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 2,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
"/obj/item/weapon/reagent_containers/glass/beaker" = 2)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 2)
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/circuit_imprinter
|
||||
@@ -417,9 +418,9 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 1,
|
||||
"/obj/item/weapon/reagent_containers/glass/beaker" = 2)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/pacman
|
||||
name = "circuit board (PACMAN-type Generator)"
|
||||
@@ -427,10 +428,10 @@ to destroy them and players will be able to make replacements.
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;powerstorage=3;plasmatech=3;engineering=3"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1,
|
||||
"/obj/item/weapon/stock_parts/micro_laser" = 1,
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 1)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/pacman/super
|
||||
name = "circuit board (SUPERPACMAN-type Generator)"
|
||||
@@ -448,8 +449,8 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3"
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 1)
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/mechfab
|
||||
name = "circuit board (Exosuit Fabricator)"
|
||||
@@ -457,10 +458,10 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;engineering=3"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 2,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 1,
|
||||
"/obj/item/weapon/stock_parts/micro_laser" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/clonepod
|
||||
name = "circuit board (Clone Pod)"
|
||||
@@ -468,10 +469,10 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
req_components = list(
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 2,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 2,
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/clonescanner
|
||||
name = "circuit board (Cloning Scanner)"
|
||||
@@ -479,11 +480,11 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 1,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 1,
|
||||
"/obj/item/weapon/stock_parts/micro_laser" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1,
|
||||
"/obj/item/stack/cable_coil" = 2,)
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/stack/cable_coil = 2,)
|
||||
|
||||
/obj/item/weapon/circuitboard/cyborgrecharger
|
||||
name = "circuit board (Cyborg Recharger)"
|
||||
@@ -491,9 +492,9 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "powerstorage=3;engineering=3"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 2,
|
||||
"/obj/item/weapon/stock_parts/cell" = 1,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 1,)
|
||||
/obj/item/weapon/stock_parts/capacitor = 2,
|
||||
/obj/item/weapon/stock_parts/cell = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,)
|
||||
|
||||
// Telecomms circuit boards:
|
||||
|
||||
@@ -503,10 +504,10 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2;bluespace=1"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/subspace/ansible" = 1,
|
||||
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
"/obj/item/weapon/stock_parts/micro_laser" = 1)
|
||||
/obj/item/weapon/stock_parts/subspace/ansible = 1,
|
||||
/obj/item/weapon/stock_parts/subspace/filter = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/telecomms/hub
|
||||
name = "circuit board (Hub Mainframe)"
|
||||
@@ -514,9 +515,9 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
"/obj/item/weapon/stock_parts/subspace/filter" = 2)
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/subspace/filter = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/telecomms/relay
|
||||
name = "circuit board (Relay Mainframe)"
|
||||
@@ -524,9 +525,9 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2;bluespace=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
"/obj/item/weapon/stock_parts/subspace/filter" = 2)
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/subspace/filter = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/telecomms/bus
|
||||
name = "circuit board (Bus Mainframe)"
|
||||
@@ -534,9 +535,9 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
"/obj/item/stack/cable_coil" = 1,
|
||||
"/obj/item/weapon/stock_parts/subspace/filter" = 1)
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/subspace/filter = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/telecomms/processor
|
||||
name = "circuit board (Processor Unit)"
|
||||
@@ -544,12 +545,12 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 3,
|
||||
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
|
||||
"/obj/item/weapon/stock_parts/subspace/treatment" = 2,
|
||||
"/obj/item/weapon/stock_parts/subspace/analyzer" = 1,
|
||||
"/obj/item/stack/cable_coil" = 2,
|
||||
"/obj/item/weapon/stock_parts/subspace/amplifier" = 1)
|
||||
/obj/item/weapon/stock_parts/manipulator = 3,
|
||||
/obj/item/weapon/stock_parts/subspace/filter = 1,
|
||||
/obj/item/weapon/stock_parts/subspace/treatment = 2,
|
||||
/obj/item/weapon/stock_parts/subspace/analyzer = 1,
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/subspace/amplifier = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/telecomms/server
|
||||
name = "circuit board (Telecommunication Server)"
|
||||
@@ -557,9 +558,9 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
"/obj/item/stack/cable_coil" = 1,
|
||||
"/obj/item/weapon/stock_parts/subspace/filter" = 1)
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/subspace/filter = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/telecomms/broadcaster
|
||||
name = "circuit board (Subspace Broadcaster)"
|
||||
@@ -567,20 +568,20 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=2;engineering=2;bluespace=1"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 2,
|
||||
"/obj/item/stack/cable_coil" = 1,
|
||||
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
|
||||
"/obj/item/weapon/stock_parts/subspace/crystal" = 1,
|
||||
"/obj/item/weapon/stock_parts/micro_laser/high" = 2)
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/subspace/filter = 1,
|
||||
/obj/item/weapon/stock_parts/subspace/crystal = 1,
|
||||
/obj/item/weapon/stock_parts/micro_laser/high = 2)
|
||||
/obj/item/weapon/circuitboard/ore_redemption
|
||||
name = "circuit board (Ore Redemption)"
|
||||
build_path = /obj/machinery/mineral/ore_redemption
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1;engineering=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1,
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 1,
|
||||
"/obj/item/device/assembly/igniter" = 1)
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/device/assembly/igniter = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/mining_equipment_vendor
|
||||
name = "circuit board (Mining Equipment Vendor)"
|
||||
@@ -588,5 +589,5 @@ obj/item/weapon/circuitboard/rdserver
|
||||
board_type = "machine"
|
||||
origin_tech = "programming=1;engineering=2"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1,
|
||||
"/obj/item/weapon/stock_parts/matter_bin" = 3)
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 3)
|
||||
@@ -348,8 +348,8 @@ Class Procs:
|
||||
var/P
|
||||
for(var/obj/item/weapon/stock_parts/A in component_parts)
|
||||
for(var/D in CB.req_components)
|
||||
if(ispath(A.type, text2path(D)))
|
||||
P = text2path(D)
|
||||
if(ispath(A.type, D))
|
||||
P = D
|
||||
break
|
||||
for(var/obj/item/weapon/stock_parts/B in W.contents)
|
||||
if(istype(B, P) && istype(A, P))
|
||||
|
||||
Reference in New Issue
Block a user