about summary refs log tree commit diff stats
path: root/apworld/client/gamedata.gd
diff options
context:
space:
mode:
Diffstat (limited to 'apworld/client/gamedata.gd')
-rw-r--r--apworld/client/gamedata.gd27
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 = {}
14var symbol_item_ids = [] 14var symbol_item_ids = []
15var anti_trap_ids = {} 15var anti_trap_ids = {}
16var location_name_by_id = {} 16var location_name_by_id = {}
17var map_id_by_location_id = {}
17var ending_display_name_by_name = {} 18var ending_display_name_by_name = {}
18var port_id_by_ap_id = {} 19var port_id_by_ap_id = {}
19var map_id_by_rte_ap_id = {} 20var 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
211func 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
217func 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
197func _get_map_object_map_name(obj): 224func _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