about summary refs log tree commit diff stats
path: root/Archipelago/load.gd
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2024-12-08 16:14:53 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2024-12-08 16:14:53 -0500
commit84f4fc2db8b7ada36faa5341cb7bee17750f1a07 (patch)
treee2f05a7dd4e7fe5aa54ea304f8b8de9f5664ba3c /Archipelago/load.gd
parent4b53c8858448e4fc835c907813632f6eeddd543d (diff)
downloadlingo-archipelago-84f4fc2db8b7ada36faa5341cb7bee17750f1a07.tar.gz
lingo-archipelago-84f4fc2db8b7ada36faa5341cb7bee17750f1a07.tar.bz2
lingo-archipelago-84f4fc2db8b7ada36faa5341cb7bee17750f1a07.zip
Add workaround for 0.5.1 number hunt logic bug
Diffstat (limited to 'Archipelago/load.gd')
-rw-r--r--Archipelago/load.gd14
1 files changed, 14 insertions, 0 deletions
diff --git a/Archipelago/load.gd b/Archipelago/load.gd index 4811b47..e593548 100644 --- a/Archipelago/load.gd +++ b/Archipelago/load.gd
@@ -551,6 +551,20 @@ func _load():
551 proxynode.exact_proxy = true 551 proxynode.exact_proxy = true
552 proxynode.request_ready() 552 proxynode.request_ready()
553 oldparent.add_child(proxynode) 553 oldparent.add_child(proxynode)
554
555 # If the world was generated on 0.5.1, apply the hotfix for the number hunt doors.
556 if apclient.wasGeneratedOnVersion(0, 5, 1):
557 var number_hunt_parent = get_node("Doors/Count Up Room Area Doors")
558 var extradata_051_fix = apclient.get_node("Extradata").panels_mode_051_door_fixes
559 for template_door_path in extradata_051_fix:
560 var template_door = number_hunt_parent.get_node(template_door_path)
561 var impacted_doors = extradata_051_fix[template_door_path]
562 for impacted_door_path in impacted_doors:
563 var impacted_door = number_hunt_parent.get_node(impacted_door_path)
564 var copied_door = impacted_door.duplicate()
565 copied_door.panels = template_door.panels
566 number_hunt_parent.add_child(copied_door)
567 impacted_door.queue_free()
554 568
555 # 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
556 # disable them. 570 # disable them.