Fix logic circuits runtime (#37044)

* 1011101 fix fix fix xif xif xif 1011101

* Update logic.dm
This commit is contained in:
arsserpentarium
2018-04-11 12:23:09 +02:00
committed by CitadelStationBot
parent 4063781baf
commit 0f23e55927
@@ -30,6 +30,9 @@
/obj/item/integrated_circuit/logic/binary/proc/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B)
return FALSE
/obj/item/integrated_circuit/logic/binary/proc/comparable(var/datum/integrated_io/A, var/datum/integrated_io/B)
return (isnum(A.data) && isnum(B.data)) || (istext(A.data) && istext(B.data))
/obj/item/integrated_circuit/logic/unary
inputs = list("A")
activators = list("compare" = IC_PINTYPE_PULSE_IN, "on compare" = IC_PINTYPE_PULSE_OUT)
@@ -176,7 +179,8 @@
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/logic/binary/less_than/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B)
return A.data < B.data
if(comparable(A, B))
return A.data < B.data
/obj/item/integrated_circuit/logic/binary/less_than_or_equal
name = "less than or equal gate"
@@ -185,7 +189,8 @@
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/logic/binary/less_than_or_equal/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B)
return A.data <= B.data
if(comparable(A, B))
return A.data <= B.data
/obj/item/integrated_circuit/logic/binary/greater_than
name = "greater than gate"
@@ -194,7 +199,8 @@
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/logic/binary/greater_than/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B)
return A.data > B.data
if(comparable(A, B))
return A.data > B.data
/obj/item/integrated_circuit/logic/binary/greater_than_or_equal
name = "greater_than or equal gate"
@@ -203,7 +209,8 @@
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/logic/binary/greater_than_or_equal/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B)
return A.data >= B.data
if(comparable(A, B))
return A.data >= B.data
/obj/item/integrated_circuit/logic/unary/not
name = "not gate"