about summary refs log tree commit diff stats
path: root/client/Archipelago/visibilityListener.gd
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-11 09:58:54 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-11 09:58:54 -0400
commit90eb3291208def83d01164789250c017a5ce2303 (patch)
tree37e6cefe9d9f76716c88e2808da5bda91da2c9a8 /client/Archipelago/visibilityListener.gd
parent49a19c02520999202c01fd7e46aff42ac9fce52d (diff)
downloadlingo2-archipelago-90eb3291208def83d01164789250c017a5ce2303.tar.gz
lingo2-archipelago-90eb3291208def83d01164789250c017a5ce2303.tar.bz2
lingo2-archipelago-90eb3291208def83d01164789250c017a5ce2303.zip
[Client] Fixed darkroom double letter panel blockers
Diffstat (limited to 'client/Archipelago/visibilityListener.gd')
-rw-r--r--client/Archipelago/visibilityListener.gd38
1 files changed, 38 insertions, 0 deletions
diff --git a/client/Archipelago/visibilityListener.gd b/client/Archipelago/visibilityListener.gd new file mode 100644 index 0000000..5ea17a0 --- /dev/null +++ b/client/Archipelago/visibilityListener.gd
@@ -0,0 +1,38 @@
1extends "res://scripts/nodes/listeners/visibilityListener.gd"
2
3var item_id
4var item_amount
5
6
7func _ready():
8 var node_path = String(
9 get_tree().get_root().get_node("scene").get_path_to(self).get_concatenated_names()
10 )
11
12 var gamedata = global.get_node("Gamedata")
13 var door_id = gamedata.get_door_for_map_node_path(global.map, node_path)
14 if door_id != null:
15 var ap = global.get_node("Archipelago")
16 var item_lock = ap.get_item_id_for_door(door_id)
17
18 if item_lock != null:
19 item_id = item_lock[0]
20 item_amount = item_lock[1]
21
22 self.senders = []
23 self.senderGroup = []
24 self.nested = false
25 self.complete_at = 0
26 self.max_length = 0
27 self.excludeSenders = []
28
29 call_deferred("_readier")
30
31 super._ready()
32
33
34func _readier():
35 var ap = global.get_node("Archipelago")
36
37 if ap.client.getItemAmount(item_id) >= item_amount:
38 handleTriggered()