From 0049d2995ca09324a9c973460c0a4acf97eba907 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Mon, 23 Feb 2026 12:46:37 -0500 Subject: Add settings to prioritize locations on current map --- apworld/client/gamedata.gd | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'apworld/client/gamedata.gd') diff --git a/apworld/client/gamedata.gd b/apworld/client/gamedata.gd index 373f981..a2e023c 100644 --- a/apworld/client/gamedata.gd +++ b/apworld/client/gamedata.gd @@ -14,6 +14,7 @@ var letter_id_by_ap_id = {} var symbol_item_ids = [] var anti_trap_ids = {} var location_name_by_id = {} +var map_id_by_location_id = {} var ending_display_name_by_name = {} var port_id_by_ap_id = {} var map_id_by_rte_ap_id = {} @@ -84,6 +85,7 @@ func load(data_bytes): or door.get_type() == SCRIPT_proto.DoorType.GRAVESTONE ): location_name_by_id[door.get_ap_id()] = _get_door_location_name(door) + map_id_by_location_id[door.get_ap_id()] = map.get_id() for painting in objects.get_paintings(): var room = objects.get_rooms()[painting.get_room_id()] @@ -114,18 +116,30 @@ func load(data_bytes): letter_id_by_ap_id[letter.get_ap_id()] = letter.get_id() location_name_by_id[letter.get_ap_id()] = _get_letter_location_name(letter) + var room = objects.get_rooms()[letter.get_room_id()] + map_id_by_location_id[letter.get_ap_id()] = room.get_map_id() + for mastery in objects.get_masteries(): location_name_by_id[mastery.get_ap_id()] = _get_mastery_location_name(mastery) + var room = objects.get_rooms()[mastery.get_room_id()] + map_id_by_location_id[mastery.get_ap_id()] = room.get_map_id() + for ending in objects.get_endings(): var location_name = _get_ending_location_name(ending) location_name_by_id[ending.get_ap_id()] = location_name ending_display_name_by_name[ending.get_name()] = location_name + var room = objects.get_rooms()[ending.get_room_id()] + map_id_by_location_id[ending.get_ap_id()] = room.get_map_id() + for keyholder in objects.get_keyholders(): if keyholder.has_key(): location_name_by_id[keyholder.get_ap_id()] = _get_keyholder_location_name(keyholder) + var room = objects.get_rooms()[keyholder.get_room_id()] + map_id_by_location_id[keyholder.get_ap_id()] = room.get_map_id() + for panel in objects.get_panels(): var room = objects.get_rooms()[panel.get_room_id()] var map = objects.get_maps()[room.get_map_id()] @@ -194,6 +208,19 @@ func get_worldport_display_name(port_id): return "%s - %s" % [_get_room_object_map_name(port), port.get_display_name()] +func get_map_name_for_location(location_id): + var map_id = map_id_by_location_id[location_id] + var map = objects.get_maps()[map_id] + return map.get_name() + + +func get_map_name_for_port(port_id): + var port = objects.get_ports()[port_id] + var room = objects.get_rooms()[port.get_room_id()] + var map = objects.get_maps()[room.get_map_id()] + return map.get_name() + + func _get_map_object_map_name(obj): return objects.get_maps()[obj.get_map_id()].get_display_name() -- cgit 1.4.1