summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-30 18:36:12 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-30 18:36:12 -0400
commitdba2528e0833050f81175358976fc7cac31c867d (patch)
treeb2754225612b96fbdfb86d4d23da413d2ef0b7d0
parent8ad846ce1ea9e12026512ea81f4baf1309d2b6d8 (diff)
downloadlingo2-archipelago-dba2528e0833050f81175358976fc7cac31c867d.tar.gz
lingo2-archipelago-dba2528e0833050f81175358976fc7cac31c867d.tar.bz2
lingo2-archipelago-dba2528e0833050f81175358976fc7cac31c867d.zip
[Client] Handle locations needing specific answers
-rw-r--r--client/Archipelago/player.gd11
1 files changed, 9 insertions, 2 deletions
diff --git a/client/Archipelago/player.gd b/client/Archipelago/player.gd index 082aa64..46b5940 100644 --- a/client/Archipelago/player.gd +++ b/client/Archipelago/player.gd
@@ -21,9 +21,16 @@ func _ready():
21 locationListener.name = "locationListener_%d" % door.get_ap_id() 21 locationListener.name = "locationListener_%d" % door.get_ap_id()
22 22
23 for panel_ref in door.get_panels(): 23 for panel_ref in door.get_panels():
24 # TODO: specific answers
25 var panel_data = gamedata.objects.get_panels()[panel_ref.get_panel()] 24 var panel_data = gamedata.objects.get_panels()[panel_ref.get_panel()]
26 locationListener.senders.append(NodePath("/root/scene/" + panel_data.get_path())) 25 var panel_path = panel_data.get_path()
26
27 if panel_ref.has_answer():
28 for proxy in panel_data.get_proxies():
29 if proxy.get_answer() == panel_ref.get_answer():
30 panel_path = proxy.get_path()
31 break
32
33 locationListener.senders.append(NodePath("/root/scene/" + panel_path))
27 34
28 get_parent().add_child.call_deferred(locationListener) 35 get_parent().add_child.call_deferred(locationListener)
29 36