diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-30 18:36:12 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-30 18:36:12 -0400 |
commit | dba2528e0833050f81175358976fc7cac31c867d (patch) | |
tree | b2754225612b96fbdfb86d4d23da413d2ef0b7d0 /client/Archipelago/player.gd | |
parent | 8ad846ce1ea9e12026512ea81f4baf1309d2b6d8 (diff) | |
download | lingo2-archipelago-dba2528e0833050f81175358976fc7cac31c867d.tar.gz lingo2-archipelago-dba2528e0833050f81175358976fc7cac31c867d.tar.bz2 lingo2-archipelago-dba2528e0833050f81175358976fc7cac31c867d.zip |
[Client] Handle locations needing specific answers
Diffstat (limited to 'client/Archipelago/player.gd')
-rw-r--r-- | client/Archipelago/player.gd | 11 |
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 | ||