diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index e705604be4d..b999e9eb548 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -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?" diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 455c8f79765..d0960ce0415 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -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 << "You set the board to [names_paths[build_path]]." - 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) \ No newline at end of file + /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/weapon/stock_parts/matter_bin = 3) \ No newline at end of file diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 44be02fadac..a5fc57481fe 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -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))