diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 8caa0407d1..0f10c46097 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -534,6 +534,17 @@ /obj/item/stock_parts/capacitor = 1) def_components = list(/obj/item/stock_parts/cell = /obj/item/stock_parts/cell/high/empty) +/obj/item/circuitboard/machine/rad_collector + name = "Radiation Collector (Machine Board)" + build_path = /obj/machinery/power/rad_collector + req_components = list( + /obj/item/stack/cable_coil = 5, + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stack/sheet/plasmarglass = 2, + /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/manipulator = 1) + needs_anchored = FALSE + /obj/item/circuitboard/machine/tesla_coil name = "Tesla Controller (Machine Board)" desc = "You can use a screwdriver to switch between Research and Power Generation" diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index fcbb366187..ff78a71bda 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -15,6 +15,7 @@ // use_power = NO_POWER_USE max_integrity = 350 integrity_failure = 80 + circuit = /obj/item/circuitboard/machine/rad_collector var/obj/item/tank/internals/plasma/loaded_tank = null var/last_power = 0 var/active = 0 @@ -112,6 +113,9 @@ if(loaded_tank) to_chat(user, "There's already a plasma tank loaded!") return TRUE + if(panel_open) + to_chat(user, "Close the maintenance panel first!") + return TRUE if(!user.transferItemToLoc(W, src)) return loaded_tank = W @@ -133,6 +137,13 @@ default_unfasten_wrench(user, I, 0) return TRUE +/obj/machinery/power/rad_collector/screwdriver_act(mob/living/user, obj/item/I) + if(loaded_tank) + to_chat(user, "Remove the plasma tank first!") + else + default_deconstruction_screwdriver(user, icon_state, icon_state, I) + return TRUE + /obj/machinery/power/rad_collector/crowbar_act(mob/living/user, obj/item/I) if(loaded_tank) if(locked) @@ -140,6 +151,8 @@ return TRUE eject() return TRUE + if(default_deconstruction_crowbar(I)) + return TRUE to_chat(user, "There isn't a tank loaded!") return TRUE diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 330b6f57a1..e1a2695a2f 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -419,6 +419,14 @@ category = list ("Misc. Machinery") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE +/datum/design/board/rad_collector + name = "Machine Design (Radiation Collector Board)" + desc = "The circuit board for a radiation collector array." + id = "rad_collector" + build_path = /obj/item/circuitboard/machine/rad_collector + category = list ("Misc. Machinery") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE + /datum/design/board/grounding_rod name = "Machine Design (Grounding Rod Board)" desc = "The circuit board for a grounding rod." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 881211ea83..aea94b1f2c 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -93,7 +93,7 @@ description = "A refresher course on modern engineering technology." prereq_ids = list("base") design_ids = list("solarcontrol", "recharger", "powermonitor", "rped", "pacman", "adv_capacitor", "adv_scanning", "emitter", "high_cell", "adv_matter_bin", - "atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "tesla_coil", "grounding_rod", "apc_control", "cell_charger") + "atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", "apc_control", "cell_charger") research_cost = 7500 export_price = 5000