From f8196cd6a8ec888a891ba632ac2635b693f0cc75 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Fri, 11 Feb 2022 11:26:59 +0100 Subject: [PATCH] [MIRROR] Adds a trigger version of the variable setter circuit component [MDB IGNORE] (#11443) * Adds a trigger version of the variable setter component (#64820) See title. Lets you use input and output signals to set variables instead of automatically setting them. Gives more control, additionally there may be cases where you don't want this, and the normal component still exists. They're two separate components so that the first one can be a lot more compact * Adds a trigger version of the variable setter circuit component Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> --- code/modules/research/designs/wiremod_designs.dm | 5 +++++ code/modules/research/techweb/all_nodes.dm | 1 + code/modules/wiremod/components/variables/setter.dm | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/code/modules/research/designs/wiremod_designs.dm b/code/modules/research/designs/wiremod_designs.dm index cdb6a3b790b..8c936b53563 100644 --- a/code/modules/research/designs/wiremod_designs.dm +++ b/code/modules/research/designs/wiremod_designs.dm @@ -381,6 +381,11 @@ id = "comp_id_access_reader" build_path = /obj/item/circuit_component/id_access_reader +/datum/design/component/setter_trigger + name = "Set Variable Trigger" + id = "comp_set_variable_trigger" + build_path = /obj/item/circuit_component/variable/setter/trigger + /datum/design/component/access_checker name = "Access Checker Component" id = "comp_access_checker" diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index a35b531e0ba..09a3861ad11 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -284,6 +284,7 @@ "comp_router", "comp_select_query", "comp_self", + "comp_set_variable_trigger", "comp_soundemitter", "comp_species", "comp_speech", diff --git a/code/modules/wiremod/components/variables/setter.dm b/code/modules/wiremod/components/variables/setter.dm index df5e85db8e6..2703f341550 100644 --- a/code/modules/wiremod/components/variables/setter.dm +++ b/code/modules/wiremod/components/variables/setter.dm @@ -12,6 +12,11 @@ circuit_size = 0 +/obj/item/circuit_component/variable/setter/trigger + display_name = "Trigger Variable Setter" + desc = "A component that sets a variable globally on the circuit. This one requires input signals and also provides an output signal" + circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL + /obj/item/circuit_component/variable/setter/get_variable_list(obj/item/integrated_circuit/integrated_circuit) return integrated_circuit.modifiable_circuit_variables