extends "res://scripts/nodes/player.gd" signal evaluate_solvability var compass func _ready(): var khl_script = load("res://scripts/nodes/keyHolderListener.gd") var pause_menu = get_node("pause_menu") pause_menu.layer = 3 var ap = global.get_node("Archipelago") var gamedata = global.get_node("Gamedata") compass = global.get_node("Compass") compass.visible = ap.show_compass ap.start_batching_locations() if global.map == "control_center": get_node("/root/scene/Components/Doors/entry_18").queue_free() _set_up_mastery_listener("advanced") _set_up_mastery_listener("charismatic") _set_up_mastery_listener("crystalline") _set_up_mastery_listener("fuzzy") _set_up_mastery_listener("icarus") _set_up_mastery_listener("stellar") if ap.endings_requirement != 12 or ap.masteries_requirement != 0: # Set up listeners for the potential White Ending requirements. var merging_prefab = preload("res://objects/nodes/listeners/mergingListener.tscn") var old_door = get_node("/root/scene/Components/Doors/entry_19") var new_door = old_door.duplicate() new_door.name = "entry_19_new" new_door.senders.clear() new_door.senderGroup.clear() new_door.excludeSenders.clear() if ap.endings_requirement == 12: new_door.senderGroup.append(NodePath("/root/scene/Meshes/Trophies/Listeners")) elif ap.endings_requirement > 0: if ap.masteries_requirement == 0: new_door.senderGroup.append(NodePath("/root/scene/Meshes/Trophies/Listeners")) new_door.complete_at = ap.endings_requirement else: var endings_merge = merging_prefab.instantiate() endings_merge.name = "EndingsMerge" endings_merge.senderGroup.append( NodePath("/root/scene/Meshes/Trophies/Listeners") ) endings_merge.complete_at = ap.endings_requirement get_node("/root/scene/Components").add_child.call_deferred(endings_merge) new_door.senders.append(NodePath("/root/scene/Components/EndingsMerge")) var max_masteries = 13 + ap.enable_gift_maps.size() if ap.enable_icarus: max_masteries += 1 if ap.masteries_requirement == max_masteries: new_door.senderGroup.append( NodePath("/root/scene/Meshes/Trophies/MasteryListeners") ) new_door.excludeSenders.append( NodePath( "/root/scene/Meshes/Trophies/MasteryListeners/unlockReaderListenerWhite" ) ) elif ap.masteries_requirement > 0: if ap.endings_requirement == 0: new_door.senderGroup.append( NodePath("/root/scene/Meshes/Trophies/MasteryListeners") ) new_door.excludeSenders.append( NodePath( "/root/scene/Meshes/Trophies/MasteryListeners/unlockReaderListenerWhite" ) ) new_door.complete_at = ap.masteries_requirement else: var masteries_merge = merging_prefab.instantiate() masteries_merge.name = "MasteriesMerge" masteries_merge.senderGroup.append( NodePath("/root/scene/Meshes/Trophies/MasteryListeners") ) masteries_merge.excludeSenders.append( NodePath( "/root/scene/Meshes/Trophies/MasteryListeners/unlockReaderListenerWhite" ) ) masteries_merge.complete_at = ap.masteries_requirement get_node("/root/scene/Components").add_child.call_deferred(masteries_merge) new_door.senders.append(NodePath("/root/scene/Components/MasteriesMerge")) old_door.queue_free() get_node("/root/scene/Components/Doors").add_child.call_deferred(new_door) if global.map == "daedalus": # Teleport the direction panels when the stairs are there. var tpl_prefab = preload("res://objects/nodes/listeners/teleportListener.tscn") var dir1 = get_node("/root/scene/Panels/Castle Entrance/castle_direction_1") var dir1_tpl = tpl_prefab.instantiate() dir1_tpl.target_path = dir1 dir1_tpl.teleport_point = Vector3(59.5, 8, -6.5) dir1_tpl.teleport_rotate = Vector3(-45, 0, 0) dir1_tpl.senders.append(NodePath("/root/scene/Panels/Castle Entrance/castle_south")) dir1_tpl.senders.append(NodePath("/root/scene/Panels/Castle Entrance/castle_north")) dir1_tpl.senders.append(NodePath("/root/scene/Panels/Castle Entrance/castle_west")) dir1.add_child.call_deferred(dir1_tpl) var dir2 = get_node("/root/scene/Panels/Castle Entrance/castle_direction_2") var dir2_tpl = tpl_prefab.instantiate() dir2_tpl.target_path = dir2 dir2_tpl.teleport_point = Vector3(59.5, 8, 6.5) dir2_tpl.teleport_rotate = Vector3(-45, -180, 0) dir2_tpl.senders.append(NodePath("/root/scene/Panels/Castle Entrance/castle_south")) dir2_tpl.senders.append(NodePath("/root/scene/Panels/Castle Entrance/castle_north")) dir2_tpl.senders.append(NodePath("/root/scene/Panels/Castle Entrance/castle_west")) dir2.add_child.call_deferred(dir2_tpl) var dir3 = get_node("/root/scene/Panels/Castle E
name: "Quiet Entrance"
panel_display_name: "Central"
panels {
name: "HIDDEN"
path: "Panels/Halls/halls_7"
clue: "hidden"
answer: "ceortv"
symbols: SUN
proxies { answer: "covert" path: "Panels/Halls/secret_proxy_3" }
proxies { answer: "secret" path: "Panels/Halls/secret_proxy_4" }
display_name: "HIDDEN (West)"
}
paintings {
name: "PLANET2"
path: "Components/Paintings/Group1/planet2"
}
ports {
name: "QUIET"
path: "Components/Warps/Worldports/worldport5"
}