From 9b5c160f60a4e6c679b0c1afca82d9a58523eaab Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 30 Jan 2026 10:50:01 -0500 Subject: Worked on daed-only mode --- apworld/client/main.gd | 10 ++++++++-- apworld/client/manager.gd | 2 ++ apworld/client/rteMenu.gd | 12 ++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 apworld/client/rteMenu.gd (limited to 'apworld/client') diff --git a/apworld/client/main.gd b/apworld/client/main.gd index c90d6e7..8cac24c 100644 --- a/apworld/client/main.gd +++ b/apworld/client/main.gd @@ -48,6 +48,7 @@ func _ready(): installScriptExtension(runtime.load_script("panel.gd")) installScriptExtension(runtime.load_script("pauseMenu.gd")) installScriptExtension(runtime.load_script("player.gd")) + installScriptExtension(runtime.load_script("rteMenu.gd")) installScriptExtension(runtime.load_script("saver.gd")) installScriptExtension(runtime.load_script("teleport.gd")) installScriptExtension(runtime.load_script("teleportListener.gd")) @@ -229,7 +230,11 @@ func startGame(): Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) global.user = ap.getSaveFileName() global.universe = "lingo" - global.map = "the_entry" + + if ap.daedalus_only: + global.map = "daedalus" + else: + global.map = "the_entry" unlocks.resetCollectables() unlocks.resetData() @@ -263,6 +268,7 @@ func startGame(): clearResourceCache("res://objects/nodes/teleport.tscn") clearResourceCache("res://objects/nodes/worldport.tscn") clearResourceCache("res://objects/scenes/menus/pause_menu.tscn") + clearResourceCache("res://objects/scenes/menus/rte_inner.tscn") var paintings_dir = DirAccess.open("res://objects/meshes/paintings") if paintings_dir: @@ -273,7 +279,7 @@ func startGame(): clearResourceCache("res://objects/meshes/paintings/" + file_name) file_name = paintings_dir.get_next() - switcher.switch_map.call_deferred("res://objects/scenes/the_entry.tscn") + switcher.switch_map.call_deferred("res://objects/scenes/%s.tscn" % global.map) func connectionUnsuccessful(error_message): diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index 8c981f9..381a779 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd @@ -64,6 +64,7 @@ const kEndingNameByVictoryValue = { var apworld_version = [0, 0, 0] var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2 +var daedalus_only = false var daedalus_roof_access = false var enable_gift_maps = [] var enable_icarus = false @@ -463,6 +464,7 @@ func _client_connected(slot_data): # Read slot data. cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0)) + daedalus_only = bool(slot_data.get("daedalus_only", false)) daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false)) enable_gift_maps = slot_data.get("enable_gift_maps", []) enable_icarus = bool(slot_data.get("enable_icarus", false)) diff --git a/apworld/client/rteMenu.gd b/apworld/client/rteMenu.gd new file mode 100644 index 0000000..5882d77 --- /dev/null +++ b/apworld/client/rteMenu.gd @@ -0,0 +1,12 @@ +extends "res://scripts/ui/rteMenu.gd" + + +func _readier(): + var ap = global.get_node("Archipelago") + if ap.daedalus_only: + get_node("rte_the_entry").hide() + get_node("rte_daedalus").show() + + switcher.preload_map("res://objects/scenes/daedalus.tscn") + else: + super()._readier() -- cgit 1.4.1