mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-28 11:02:41 +00:00
Adds new RNG circuit, to make random numbers each time. Adds new Concatenating circuit, so you can make lots of small strings into one big one. Adds new light and advanced light circuit. Basic just has a normal light that can be toggled. Advanced allows it to be any color using RGB, and a brightness between 0 and 6. New sprites for the debugger and wirer, by Mechoid. Hopefully finally fixes smoke generator from being unobtainable.
133 lines
3.4 KiB
Plaintext
133 lines
3.4 KiB
Plaintext
//These circuits convert one variable to another.
|
|
/obj/item/integrated_circuit/converter
|
|
complexity = 2
|
|
number_of_inputs = 1
|
|
number_of_outputs = 1
|
|
number_of_activators = 1
|
|
input_names = list(
|
|
"input",
|
|
)
|
|
output_names = list(
|
|
"result"
|
|
)
|
|
activator_names = list(
|
|
"convert"
|
|
)
|
|
|
|
/obj/item/integrated_circuit/converter/num2text
|
|
name = "number to string"
|
|
desc = "This circuit can convert a number variable into a string."
|
|
icon_state = "num-string"
|
|
|
|
/obj/item/integrated_circuit/converter/num2text/work()
|
|
if(..())
|
|
var/result = null
|
|
var/datum/integrated_io/incoming = inputs[1]
|
|
var/datum/integrated_io/outgoing = outputs[1]
|
|
if(incoming.data && isnum(incoming.data))
|
|
result = num2text(incoming.data)
|
|
|
|
outgoing.data = result
|
|
outgoing.push_data()
|
|
|
|
/obj/item/integrated_circuit/converter/text2num
|
|
name = "string to number"
|
|
desc = "This circuit can convert a string variable into a number."
|
|
icon_state = "string-num"
|
|
|
|
/obj/item/integrated_circuit/converter/text2num/work()
|
|
if(..())
|
|
var/result = null
|
|
var/datum/integrated_io/incoming = inputs[1]
|
|
var/datum/integrated_io/outgoing = outputs[1]
|
|
if(incoming.data && istext(incoming.data))
|
|
result = text2num(incoming.data)
|
|
|
|
outgoing.data = result
|
|
outgoing.push_data()
|
|
|
|
/obj/item/integrated_circuit/converter/ref2text
|
|
name = "reference to string"
|
|
desc = "This circuit can convert a reference to something else to a string, specifically the name of that reference."
|
|
icon_state = "ref-string"
|
|
|
|
/obj/item/integrated_circuit/converter/ref2text/work()
|
|
if(..())
|
|
var/result = null
|
|
var/datum/integrated_io/incoming = inputs[1]
|
|
var/datum/integrated_io/outgoing = outputs[1]
|
|
if(incoming.data && istype(incoming.data, /atom/))
|
|
var/atom/A = incoming.data
|
|
result = A.name
|
|
|
|
outgoing.data = result
|
|
outgoing.push_data()
|
|
|
|
/obj/item/integrated_circuit/converter/lowercase
|
|
name = "lowercase string converter"
|
|
desc = "this will cause a string to come out in all lowercase."
|
|
icon_state = "lowercase"
|
|
|
|
/obj/item/integrated_circuit/converter/lowercase/work()
|
|
if(..())
|
|
var/result = null
|
|
var/datum/integrated_io/incoming = inputs[1]
|
|
var/datum/integrated_io/outgoing = outputs[1]
|
|
if(incoming.data && istext(incoming.data))
|
|
result = lowertext(incoming.data)
|
|
|
|
outgoing.data = result
|
|
outgoing.push_data()
|
|
|
|
/obj/item/integrated_circuit/converter/uppercase
|
|
name = "uppercase string converter"
|
|
desc = "THIS WILL CAUSE A STRING TO COME OUT IN ALL UPPERCASE."
|
|
icon_state = "uppercase"
|
|
|
|
/obj/item/integrated_circuit/converter/uppercase/work()
|
|
if(..())
|
|
var/result = null
|
|
var/datum/integrated_io/incoming = inputs[1]
|
|
var/datum/integrated_io/outgoing = outputs[1]
|
|
if(incoming.data && istext(incoming.data))
|
|
result = uppertext(incoming.data)
|
|
|
|
outgoing.data = result
|
|
outgoing.push_data()
|
|
|
|
/obj/item/integrated_circuit/converter/concatenatior
|
|
name = "concatenatior"
|
|
desc = "This joins many strings together to get one big string."
|
|
complexity = 4
|
|
number_of_inputs = 8
|
|
number_of_outputs = 1
|
|
number_of_activators = 1
|
|
input_names = list(
|
|
"A",
|
|
"B",
|
|
"C",
|
|
"D",
|
|
"E",
|
|
"F",
|
|
"G",
|
|
"H"
|
|
)
|
|
output_names = list(
|
|
"result"
|
|
)
|
|
activator_names = list(
|
|
"concatenate"
|
|
)
|
|
|
|
|
|
/obj/item/integrated_circuit/converter/concatenatior/work()
|
|
if(..())
|
|
var/result = null
|
|
for(var/datum/integrated_io/input/I in inputs)
|
|
I.pull_data()
|
|
if(istext(I.data))
|
|
result = result + I.data
|
|
|
|
var/datum/integrated_io/outgoing = outputs[1]
|
|
outgoing.data = result
|
|
outgoing.push_data() |