diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2026-02-23 12:46:37 -0500 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2026-02-23 12:46:37 -0500 |
| commit | 0049d2995ca09324a9c973460c0a4acf97eba907 (patch) | |
| tree | 1f684326f01c4fdfdb9a555f31d51821b9b3323e /apworld/client/gamedata.gd | |
| parent | e38516f2436cb7c403da86d6d588b75644c8cdcf (diff) | |
| download | lingo2-archipelago-0049d2995ca09324a9c973460c0a4acf97eba907.tar.gz lingo2-archipelago-0049d2995ca09324a9c973460c0a4acf97eba907.tar.bz2 lingo2-archipelago-0049d2995ca09324a9c973460c0a4acf97eba907.zip | |
Add settings to prioritize locations on current map
Diffstat (limited to 'apworld/client/gamedata.gd')
| -rw-r--r-- | apworld/client/gamedata.gd | 27 |
1 files changed, 27 insertions, 0 deletions
| 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 = {} | |||
| 14 | var symbol_item_ids = [] | 14 | var symbol_item_ids = [] |
| 15 | var anti_trap_ids = {} | 15 | var anti_trap_ids = {} |
| 16 | var location_name_by_id = {} | 16 | var location_name_by_id = {} |
| 17 | var map_id_by_location_id = {} | ||
| 17 | var ending_display_name_by_name = {} | 18 | var ending_display_name_by_name = {} |
| 18 | var port_id_by_ap_id = {} | 19 | var port_id_by_ap_id = {} |
| 19 | var map_id_by_rte_ap_id = {} | 20 | var map_id_by_rte_ap_id = {} |
| @@ -84,6 +85,7 @@ func load(data_bytes): | |||
| 84 | or door.get_type() == SCRIPT_proto.DoorType.GRAVESTONE | 85 | or door.get_type() == SCRIPT_proto.DoorType.GRAVESTONE |
| 85 | ): | 86 | ): |
| 86 | location_name_by_id[door.get_ap_id()] = _get_door_location_name(door) | 87 | location_name_by_id[door.get_ap_id()] = _get_door_location_name(door) |
| 88 | map_id_by_location_id[door.get_ap_id()] = map.get_id() | ||
| 87 | 89 | ||
| 88 | for painting in objects.get_paintings(): | 90 | for painting in objects.get_paintings(): |
| 89 | var room = objects.get_rooms()[painting.get_room_id()] | 91 | var room = objects.get_rooms()[painting.get_room_id()] |
| @@ -114,18 +116,30 @@ func load(data_bytes): | |||
| 114 | letter_id_by_ap_id[letter.get_ap_id()] = letter.get_id() | 116 | letter_id_by_ap_id[letter.get_ap_id()] = letter.get_id() |
| 115 | location_name_by_id[letter.get_ap_id()] = _get_letter_location_name(letter) | 117 | location_name_by_id[letter.get_ap_id()] = _get_letter_location_name(letter) |
| 116 | 118 | ||
| 119 | var room = objects.get_rooms()[letter.get_room_id()] | ||
| 120 | map_id_by_location_id[letter.get_ap_id()] = room.get_map_id() | ||
| 121 | |||
| 117 | for mastery in objects.get_masteries(): | 122 | for mastery in objects.get_masteries(): |
| 118 | location_name_by_id[mastery.get_ap_id()] = _get_mastery_location_name(mastery) | 123 | location_name_by_id[mastery.get_ap_id()] = _get_mastery_location_name(mastery) |
| 119 | 124 | ||
| 125 | var room = objects.get_rooms()[mastery.get_room_id()] | ||
| 126 | map_id_by_location_id[mastery.get_ap_id()] = room.get_map_id() | ||
| 127 | |||
| 120 | for ending in objects.get_endings(): | 128 | for ending in objects.get_endings(): |
| 121 | var location_name = _get_ending_location_name(ending) | 129 | var location_name = _get_ending_location_name(ending) |
| 122 | location_name_by_id[ending.get_ap_id()] = location_name | 130 | location_name_by_id[ending.get_ap_id()] = location_name |
| 123 | ending_display_name_by_name[ending.get_name()] = location_name | 131 | ending_display_name_by_name[ending.get_name()] = location_name |
| 124 | 132 | ||
| 133 | var room = objects.get_rooms()[ending.get_room_id()] | ||
| 134 | map_id_by_location_id[ending.get_ap_id()] = room.get_map_id() | ||
| 135 | |||
| 125 | for keyholder in objects.get_keyholders(): | 136 | for keyholder in objects.get_keyholders(): |
| 126 | if keyholder.has_key(): | 137 | if keyholder.has_key(): |
| 127 | location_name_by_id[keyholder.get_ap_id()] = _get_keyholder_location_name(keyholder) | 138 | location_name_by_id[keyholder.get_ap_id()] = _get_keyholder_location_name(keyholder) |
| 128 | 139 | ||
| 140 | var room = objects.get_rooms()[keyholder.get_room_id()] | ||
| 141 | map_id_by_location_id[keyholder.get_ap_id()] = room.get_map_id() | ||
| 142 | |||
| 129 | for panel in objects.get_panels(): | 143 | for panel in objects.get_panels(): |
| 130 | var room = objects.get_rooms()[panel.get_room_id()] | 144 | var room = objects.get_rooms()[panel.get_room_id()] |
| 131 | var map = objects.get_maps()[room.get_map_id()] | 145 | var map = objects.get_maps()[room.get_map_id()] |
| @@ -194,6 +208,19 @@ func get_worldport_display_name(port_id): | |||
| 194 | return "%s - %s" % [_get_room_object_map_name(port), port.get_display_name()] | 208 | return "%s - %s" % [_get_room_object_map_name(port), port.get_display_name()] |
| 195 | 209 | ||
| 196 | 210 | ||
| 211 | func get_map_name_for_location(location_id): | ||
| 212 | var map_id = map_id_by_location_id[location_id] | ||
| 213 | var map = objects.get_maps()[map_id] | ||
| 214 | return map.get_name() | ||
| 215 | |||
| 216 | |||
| 217 | func get_map_name_for_port(port_id): | ||
| 218 | var port = objects.get_ports()[port_id] | ||
| 219 | var room = objects.get_rooms()[port.get_room_id()] | ||
| 220 | var map = objects.get_maps()[room.get_map_id()] | ||
| 221 | return map.get_name() | ||
| 222 | |||
| 223 | |||
| 197 | func _get_map_object_map_name(obj): | 224 | func _get_map_object_map_name(obj): |
| 198 | return objects.get_maps()[obj.get_map_id()].get_display_name() | 225 | return objects.get_maps()[obj.get_map_id()].get_display_name() |
| 199 | 226 | ||
