diff --git a/code/modules/integrated_electronics/subtypes/logic.dm b/code/modules/integrated_electronics/subtypes/logic.dm index 37bc93e887..cc04f96e80 100644 --- a/code/modules/integrated_electronics/subtypes/logic.dm +++ b/code/modules/integrated_electronics/subtypes/logic.dm @@ -172,6 +172,15 @@ /obj/item/integrated_circuit/logic/binary/or/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) return A.data || B.data +/obj/item/integrated_circuit/logic/binary/xor + name = "xor gate" + desc = "This gate will output TRUE if only one of the inputs evaluate to true." + icon_state = "xor" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/logic/binary/xor/do_compare(datum/integrated_io/A, datum/integrated_io/B) + return (!!A.data + !!B.data) == 1 + /obj/item/integrated_circuit/logic/binary/less_than name = "less than gate" desc = "This will output TRUE if the first input is less than the second input." diff --git a/icons/obj/assemblies/electronic_components.dmi b/icons/obj/assemblies/electronic_components.dmi index 840b5828f3..fe0e26f10f 100644 Binary files a/icons/obj/assemblies/electronic_components.dmi and b/icons/obj/assemblies/electronic_components.dmi differ