Upgrades the research console to TGUI and adds the material silo (#22987)

This updates the research console to be a TGUI and fixes several bugs
with it.
It now uses a material silo for materials, while the acid for the
circuit imprinter is still given directly to the machine.
Mech fabricators now also need to be linked to a research console.
It is also capable of connecting to multiple fabricators and distribute
tasks between them.

The sprite originates from TG station.

Unit tests were also made to ensure there is no fabricators missing
consoles and no console missing material silos.

<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/b2076036-18e5-4518-9af1-3ac3698b3924"
/>
<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/e954e1e4-cf2d-4472-8386-10d8993ac375"
/>
<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/df690b93-c7ff-49a3-a1b3-002f6807981b"
/>
<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/ff10ef88-e1d9-4b6f-9643-309d919a601f"
/>
This commit is contained in:
Casper3667
2026-08-06 09:34:34 +00:00
committed by GitHub
parent 42bba7fa3c
commit 2f5d7e8422
46 changed files with 3094 additions and 2026 deletions
@@ -51,7 +51,7 @@
/obj/item/circuitboard/protolathe
name = T_BOARD("protolathe")
build_path = /obj/structure/machinery/r_n_d/protolathe
build_path = /obj/structure/machinery/r_n_d/fabricator/protolathe
board_type = BOARD_MACHINE
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
req_components = list(
@@ -62,7 +62,7 @@
/obj/item/circuitboard/circuit_imprinter
name = T_BOARD("circuit imprinter")
build_path = /obj/structure/machinery/r_n_d/circuit_imprinter
build_path = /obj/structure/machinery/r_n_d/fabricator/circuit_imprinter
board_type = BOARD_MACHINE
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
req_components = list(
@@ -72,7 +72,7 @@
/obj/item/circuitboard/mechfab
name = T_BOARD("mechatronic fabricator")
build_path = /obj/structure/machinery/mecha_part_fabricator
build_path = /obj/structure/machinery/r_n_d/fabricator/mecha_part_fabricator
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
req_components = list(