diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-20 15:28:40 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-20 15:28:40 -0400 |
commit | bcf503855107404ab3c8e0a7edd750c2720f8024 (patch) | |
tree | e3b9b98ac0e288fdf9135c161c525392e824191f /apworld/static_logic.py | |
parent | d77c73397b684faa55f0e95484ac89ca68bde1ad (diff) | |
download | lingo2-archipelago-bcf503855107404ab3c8e0a7edd750c2720f8024.tar.gz lingo2-archipelago-bcf503855107404ab3c8e0a7edd750c2720f8024.tar.bz2 lingo2-archipelago-bcf503855107404ab3c8e0a7edd750c2720f8024.zip |
Maps have display names now
Also added endings to the apworld.
Diffstat (limited to 'apworld/static_logic.py')
-rw-r--r-- | apworld/static_logic.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/apworld/static_logic.py b/apworld/static_logic.py index 9cd3ced..965ce3e 100644 --- a/apworld/static_logic.py +++ b/apworld/static_logic.py | |||
@@ -18,7 +18,7 @@ class Lingo2StaticLogic: | |||
18 | 18 | ||
19 | for door in self.objects.doors: | 19 | for door in self.objects.doors: |
20 | if door.type in [data_pb2.DoorType.STANDARD, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE]: | 20 | if door.type in [data_pb2.DoorType.STANDARD, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE]: |
21 | location_name = f"{self.objects.maps[door.map_id].name} - {door.name}" | 21 | location_name = f"{self.get_map_object_map_name(door)} - {door.name}" |
22 | self.location_id_to_name[door.ap_id] = location_name | 22 | self.location_id_to_name[door.ap_id] = location_name |
23 | 23 | ||
24 | if door.type not in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE]: | 24 | if door.type not in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE]: |
@@ -27,16 +27,20 @@ class Lingo2StaticLogic: | |||
27 | 27 | ||
28 | for letter in self.objects.letters: | 28 | for letter in self.objects.letters: |
29 | letter_name = f"{letter.key.upper()}{'2' if letter.level2 else '1'}" | 29 | letter_name = f"{letter.key.upper()}{'2' if letter.level2 else '1'}" |
30 | location_name = f"{self.objects.maps[self.objects.rooms[letter.room_id].map_id].name} - {letter_name}" | 30 | location_name = f"{self.get_room_object_map_name(letter)} - {letter_name}" |
31 | self.location_id_to_name[letter.ap_id] = location_name | 31 | self.location_id_to_name[letter.ap_id] = location_name |
32 | 32 | ||
33 | if not letter.level2: | 33 | if not letter.level2: |
34 | self.item_id_to_name[letter.ap_id] = letter_name | 34 | self.item_id_to_name[letter.ap_id] = letter_name |
35 | 35 | ||
36 | for mastery in self.objects.masteries: | 36 | for mastery in self.objects.masteries: |
37 | location_name = f"{self.objects.maps[self.objects.rooms[mastery.room_id].map_id].name} - Mastery" | 37 | location_name = f"{self.get_room_object_map_name(mastery)} - Mastery" |
38 | self.location_id_to_name[mastery.ap_id] = location_name | 38 | self.location_id_to_name[mastery.ap_id] = location_name |
39 | 39 | ||
40 | for ending in self.objects.endings: | ||
41 | location_name = f"{self.get_room_object_map_name(ending)} - {ending.name.title()} Ending" | ||
42 | self.location_id_to_name[ending.ap_id] = location_name | ||
43 | |||
40 | self.item_id_to_name[self.objects.special_ids["Nothing"]] = "Nothing" | 44 | self.item_id_to_name[self.objects.special_ids["Nothing"]] = "Nothing" |
41 | 45 | ||
42 | self.item_name_to_id = {name: ap_id for ap_id, name in self.item_id_to_name.items()} | 46 | self.item_name_to_id = {name: ap_id for ap_id, name in self.item_id_to_name.items()} |
@@ -44,8 +48,14 @@ class Lingo2StaticLogic: | |||
44 | 48 | ||
45 | def get_door_item_name(self, door_id: int) -> str: | 49 | def get_door_item_name(self, door_id: int) -> str: |
46 | door = self.objects.doors[door_id] | 50 | door = self.objects.doors[door_id] |
47 | return f"{self.objects.maps[door.map_id].name} - {door.name}" | 51 | return f"{self.get_map_object_map_name(door)} - {door.name}" |
48 | 52 | ||
49 | def get_room_region_name(self, room_id: int) -> str: | 53 | def get_room_region_name(self, room_id: int) -> str: |
50 | room = self.objects.rooms[room_id] | 54 | room = self.objects.rooms[room_id] |
51 | return f"{self.objects.maps[room.map_id].name} - {room.name}" | 55 | return f"{self.get_map_object_map_name(room)} - {room.name}" |
56 | |||
57 | def get_map_object_map_name(self, obj) -> str: | ||
58 | return self.objects.maps[obj.map_id].display_name | ||
59 | |||
60 | def get_room_object_map_name(self, obj) -> str: | ||
61 | return self.get_map_object_map_name(self.objects.rooms[obj.room_id]) | ||