about summary refs log tree commit diff stats
path: root/Archipelago/load.gd
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-03-05 16:47:23 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2025-03-05 16:47:23 -0500
commit5add48e21643321859783e069c9266b78245ab31 (patch)
tree9090a90926d3c24b065febb4e214a525cb7ce5f7 /Archipelago/load.gd
parent70f8769ad3441af2a0d853d8cdcfa34c2cbbf153 (diff)
downloadlingo-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.gd5
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")