From a936c5823f12fffe4b6ef70bda17accb15de0b73 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 13 Sep 2025 13:38:47 -0400 Subject: [Client] Prevent breaking roof logic with Icarus --- client/Archipelago/settings_screen.gd | 2 ++ client/Archipelago/worldport.gd | 10 ++++++++++ 2 files changed, 12 insertions(+) create mode 100644 client/Archipelago/worldport.gd (limited to 'client') diff --git a/client/Archipelago/settings_screen.gd b/client/Archipelago/settings_screen.gd index 2236672..140b4f4 100644 --- a/client/Archipelago/settings_screen.gd +++ b/client/Archipelago/settings_screen.gd @@ -47,6 +47,7 @@ func _ready(): installScriptExtension(ResourceLoader.load("user://maps/Archipelago/teleport.gd")) installScriptExtension(ResourceLoader.load("user://maps/Archipelago/teleportListener.gd")) installScriptExtension(ResourceLoader.load("user://maps/Archipelago/visibilityListener.gd")) + installScriptExtension(ResourceLoader.load("user://maps/Archipelago/worldport.gd")) installScriptExtension(ResourceLoader.load("user://maps/Archipelago/worldportListener.gd")) var proto_script = load("user://maps/Archipelago/generated/proto.gd") @@ -199,6 +200,7 @@ func startGame(): clearResourceCache("res://objects/nodes/player.tscn") clearResourceCache("res://objects/nodes/saver.tscn") clearResourceCache("res://objects/nodes/teleport.tscn") + clearResourceCache("res://objects/nodes/worldport.tscn") clearResourceCache("res://objects/scenes/menus/pause_menu.tscn") var paintings_dir = DirAccess.open("res://objects/meshes/paintings") diff --git a/client/Archipelago/worldport.gd b/client/Archipelago/worldport.gd new file mode 100644 index 0000000..d0fb6c9 --- /dev/null +++ b/client/Archipelago/worldport.gd @@ -0,0 +1,10 @@ +extends "res://scripts/nodes/worldport.gd" + + +func _ready(): + if global.map == "icarus" and exit == "daedalus": + var ap = global.get_node("Archipelago") + if not ap.daedalus_roof_access: + entry_point = Vector3(58, 10, 0) + + super._ready() -- cgit 1.4.1