summary refs log tree commit diff stats
path: root/client/Archipelago/animationListener.gd
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-29 12:07:56 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-29 12:07:56 -0400
commitf4a383ae208da8363ef9ffad7763e0853e02a678 (patch)
treec1e5b5453c7cd0dd925a9753174f29f4b3b7f8dd /client/Archipelago/animationListener.gd
parentf97b4ff4821f2945f22198dcbd5c627a64b4be50 (diff)
downloadlingo2-archipelago-f4a383ae208da8363ef9ffad7763e0853e02a678.tar.gz
lingo2-archipelago-f4a383ae208da8363ef9ffad7763e0853e02a678.tar.bz2
lingo2-archipelago-f4a383ae208da8363ef9ffad7763e0853e02a678.zip
[Client] Various fixes
- Locations count puzzles in a map that are already solved.
- Item-controlled paintings, animation listeners, and teleport listeners are handled properly.
Diffstat (limited to 'client/Archipelago/animationListener.gd')
-rw-r--r--client/Archipelago/animationListener.gd38
1 files changed, 38 insertions, 0 deletions
diff --git a/client/Archipelago/animationListener.gd b/client/Archipelago/animationListener.gd new file mode 100644 index 0000000..f1fb5fb --- /dev/null +++ b/client/Archipelago/animationListener.gd
@@ -0,0 +1,38 @@
1extends "res://scripts/nodes/listeners/animationListener.gd"
2
3var item_id
4
5
6func _ready():
7 var node_path = String(
8 get_tree().get_root().get_node("scene").get_path_to(self).get_concatenated_names()
9 )
10
11 print("node: %s" % node_path)
12
13 var gamedata = global.get_node("Gamedata")
14 var door_id = gamedata.get_door_for_map_node_path(global.map, node_path)
15 if door_id != null:
16 print("door_id: %d" % door_id)
17
18 var ap = global.get_node("Archipelago")
19 item_id = ap.get_item_id_for_door(door_id)
20
21 if item_id != null:
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.has_item(item_id):
38 handleTriggered()