mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 14:31:59 +01:00
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:
@@ -495,5 +495,45 @@
|
||||
|
||||
return test_status
|
||||
|
||||
/datum/unit_test/map_test/research_fabricator_connections
|
||||
name = "MAP: Research fabricator connections"
|
||||
|
||||
/datum/unit_test/map_test/research_fabricator_connections/start_test()
|
||||
var/fabricator_count = 0
|
||||
var/console_count = 0
|
||||
var/fabricators_without_console = 0
|
||||
var/consoles_without_silo = 0
|
||||
var/test_status = UNIT_TEST_PASSED
|
||||
|
||||
for(var/obj/structure/machinery/r_n_d/fabricator/fabricator in world)
|
||||
fabricator_count++
|
||||
|
||||
var/obj/structure/machinery/computer/rdconsole/nearby_console = locate() in range(7, fabricator)
|
||||
if(nearby_console)
|
||||
continue
|
||||
|
||||
fabricators_without_console++
|
||||
TEST_FAIL("[fabricator.name] at ([fabricator.x], [fabricator.y], [fabricator.z]) in [get_area(fabricator)] has no research console within 7 turfs.")
|
||||
|
||||
for(var/obj/structure/machinery/computer/rdconsole/console in world)
|
||||
if(QDELETED(console) || !is_station_level(console.z))
|
||||
continue
|
||||
|
||||
console_count++
|
||||
|
||||
var/obj/structure/machinery/r_n_d/material_silo/nearby_silo = locate() in range(7, console)
|
||||
if(nearby_silo)
|
||||
continue
|
||||
|
||||
consoles_without_silo++
|
||||
TEST_FAIL("[console.name] at ([console.x], [console.y], [console.z]) in [get_area(console)] has no material silo within 7 turfs.")
|
||||
|
||||
if(fabricators_without_console || consoles_without_silo)
|
||||
test_status = TEST_FAIL("\[[fabricators_without_console] / [fabricator_count]\] research fabricators lacked a nearby research console. \[[consoles_without_silo] / [console_count]\] research consoles lacked a nearby material silo.")
|
||||
else
|
||||
TEST_PASS("All [fabricator_count] research fabricators had a nearby research console, and all [console_count] research consoles had a nearby material silo.")
|
||||
|
||||
return test_status
|
||||
|
||||
#undef SUCCESS
|
||||
#undef FAILURE
|
||||
|
||||
Reference in New Issue
Block a user