Makes Circuits Make Their Own Research Designs

Circuits generate a research design datum when the game starts up instead of me having to manually define them every time I make a new circuit.  Hopefully this reduces missing circuits due to mistakes.  The circuit box also spawns specific circuits using a similar method for similar reasons.

Other things this does:
Splits the reagent related manipulation circuits to their own category, which cleans up a few repeated New()s.
This commit is contained in:
Neerti
2016-12-30 02:41:11 -05:00
parent ee9b49ce89
commit cefd8029f7
16 changed files with 292 additions and 630 deletions
@@ -1,3 +1,6 @@
/obj/item/integrated_circuit/transfer
category_text = "Data Transfer"
/obj/item/integrated_circuit/transfer/splitter
name = "splitter"
desc = "Splits incoming data into all of the output pins."
@@ -5,18 +8,21 @@
complexity = 3
inputs = list("data to split")
outputs = list("A","B")
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/transfer/splitter/medium
name = "four splitter"
icon_state = "splitter4"
complexity = 5
outputs = list("A","B","C","D")
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/transfer/splitter/large
name = "eight splitter"
icon_state = "splitter8"
complexity = 9
outputs = list("A","B","C","D","E","F","G","H")
spawn_flags = IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/transfer/splitter/do_work()
var/datum/integrated_io/I = inputs[1]
@@ -33,6 +39,7 @@
"outgoing pulse A",
"outgoing pulse B"
)
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/transfer/activator_splitter/do_work()
for(var/datum/integrated_io/activate/A in outputs)
@@ -53,6 +60,7 @@
"outgoing pulse C",
"outgoing pulse D"
)
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/transfer/activator_splitter/large
name = "eight activator splitter"
@@ -68,4 +76,5 @@
"outgoing pulse F",
"outgoing pulse G",
"outgoing pulse H"
)
)
spawn_flags = IC_SPAWN_RESEARCH