diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-03-05 16:47:23 -0500 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-03-05 16:47:23 -0500 |
commit | 5add48e21643321859783e069c9266b78245ab31 (patch) | |
tree | 9090a90926d3c24b065febb4e214a525cb7ce5f7 /Archipelago/load.gd | |
parent | 70f8769ad3441af2a0d853d8cdcfa34c2cbbf153 (diff) | |
download | lingo-archipelago-5add48e21643321859783e069c9266b78245ab31.tar.gz lingo-archipelago-5add48e21643321859783e069c9266b78245ab31.tar.bz2 lingo-archipelago-5add48e21643321859783e069c9266b78245ab31.zip |
Sync solved panels with datastorage
Diffstat (limited to 'Archipelago/load.gd')
-rw-r--r-- | Archipelago/load.gd | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Archipelago/load.gd b/Archipelago/load.gd index ba350f6..8510008 100644 --- a/Archipelago/load.gd +++ b/Archipelago/load.gd | |||
@@ -569,6 +569,7 @@ func _load(): | |||
569 | # Attach a script to every panel so that we can do things like conditionally | 569 | # Attach a script to every panel so that we can do things like conditionally |
570 | # disable them. | 570 | # disable them. |
571 | var panel_script = apclient.SCRIPT_panel | 571 | var panel_script = apclient.SCRIPT_panel |
572 | var panel_index = 0 | ||
572 | for panel in gamedata.panels: | 573 | for panel in gamedata.panels: |
573 | var panel_node | 574 | var panel_node |
574 | if panel["id"].begins_with("EndPanel"): | 575 | if panel["id"].begins_with("EndPanel"): |
@@ -578,11 +579,15 @@ func _load(): | |||
578 | var script_instance = panel_script.new() | 579 | var script_instance = panel_script.new() |
579 | script_instance.name = "AP_Panel" | 580 | script_instance.name = "AP_Panel" |
580 | script_instance.data = panel | 581 | script_instance.data = panel |
582 | script_instance.solve_index = panel_index | ||
581 | if apclient._panel_door_shuffle and gamedata.mentioned_panels.has(panel["id"]): | 583 | if apclient._panel_door_shuffle and gamedata.mentioned_panels.has(panel["id"]): |
582 | script_instance.locked = true | 584 | script_instance.locked = true |
583 | panel_node.add_child(script_instance) | 585 | panel_node.add_child(script_instance) |
584 | apclient.connect("evaluate_solvability", script_instance, "evaluate_solvability") | 586 | apclient.connect("evaluate_solvability", script_instance, "evaluate_solvability") |
585 | 587 | ||
588 | apclient._panelsBySolveIndex[panel_index] = panel["id"] | ||
589 | panel_index += 1 | ||
590 | |||
586 | # Hook up the goal panel. | 591 | # Hook up the goal panel. |
587 | if apclient._victory_condition == apclient.kTHE_MASTER: | 592 | if apclient._victory_condition == apclient.kTHE_MASTER: |
588 | var the_master = self.get_node("Panels/Countdown Panels/Panel_master_master") | 593 | var the_master = self.get_node("Panels/Countdown Panels/Panel_master_master") |