From 3f53502a5907ed1982d28a392c54331f0c1c2c42 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Thu, 25 Sep 2025 12:09:50 -0400 Subject: Move the client into the apworld Only works on source right now, not as an apworld. --- apworld/client/keyHolderChecker.gd | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 apworld/client/keyHolderChecker.gd (limited to 'apworld/client/keyHolderChecker.gd') diff --git a/apworld/client/keyHolderChecker.gd b/apworld/client/keyHolderChecker.gd new file mode 100644 index 0000000..a75a9e4 --- /dev/null +++ b/apworld/client/keyHolderChecker.gd @@ -0,0 +1,24 @@ +extends "res://scripts/nodes/listeners/keyHolderChecker.gd" + + +func check(): + var ap = global.get_node("Archipelago") + var matches = [] + for map in ap.keyboard.keyholder_state.keys(): + var nodes = ap.keyboard.keyholder_state[map] + for node in nodes.keys(): + matches.append([nodes[node], 1, map, "/root/scene/%s" % node]) + + var count = 0 + for key_match in matches: + var active = ( + key_match[2] + String(key_match[3]).replace("/root/scene/Components/KeyHolders/", ".") + ) + if map[active] == key_match[0]: + emit_signal("trigger_letter", key_match[0], true) + count += 1 + else: + emit_signal("trigger_letter", key_match[0], false) + + if count > 25: + emit_signal("trigger") -- cgit 1.4.1