diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-09 11:51:20 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-09 11:51:20 -0400 |
commit | 9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6 (patch) | |
tree | 6d58ffe2e9a60eac681b22b0cb0bd03baf74990c /apworld | |
parent | 3fcc676cd3b9b3b24a8755612a459d498879b1df (diff) | |
download | lingo2-archipelago-9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6.tar.gz lingo2-archipelago-9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6.tar.bz2 lingo2-archipelago-9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6.zip |
Added support for masteries
Also assigned IDs for the_butterfly, as well as already configured letters.
Diffstat (limited to 'apworld')
-rw-r--r-- | apworld/player_logic.py | 6 | ||||
-rw-r--r-- | apworld/static_logic.py | 12 |
2 files changed, 18 insertions, 0 deletions
diff --git a/apworld/player_logic.py b/apworld/player_logic.py index 1efdbc1..a3b86bf 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py | |||
@@ -18,3 +18,9 @@ class Lingo2PlayerLogic: | |||
18 | for door in world.static_logic.objects.doors: | 18 | for door in world.static_logic.objects.doors: |
19 | if door.type in [common_pb2.DoorType.STANDARD, common_pb2.DoorType.LOCATION_ONLY]: | 19 | if door.type in [common_pb2.DoorType.STANDARD, common_pb2.DoorType.LOCATION_ONLY]: |
20 | self.locations_by_room.setdefault(door.room_id, []).append(PlayerLocation(door.ap_id)) | 20 | self.locations_by_room.setdefault(door.room_id, []).append(PlayerLocation(door.ap_id)) |
21 | |||
22 | for letter in world.static_logic.objects.letters: | ||
23 | self.locations_by_room.setdefault(letter.room_id, []).append(PlayerLocation(letter.ap_id)) | ||
24 | |||
25 | for mastery in world.static_logic.objects.masteries: | ||
26 | self.locations_by_room.setdefault(mastery.room_id, []).append(PlayerLocation(mastery.ap_id)) | ||
diff --git a/apworld/static_logic.py b/apworld/static_logic.py index 1cab340..4fc38f8 100644 --- a/apworld/static_logic.py +++ b/apworld/static_logic.py | |||
@@ -26,5 +26,17 @@ class Lingo2StaticLogic: | |||
26 | item_name = f"{self.objects.maps[door.map_id].name} - {door.name}" | 26 | item_name = f"{self.objects.maps[door.map_id].name} - {door.name}" |
27 | self.item_id_to_name[door.ap_id] = item_name | 27 | self.item_id_to_name[door.ap_id] = item_name |
28 | 28 | ||
29 | for letter in self.objects.letters: | ||
30 | letter_name = f"{letter.key.upper()}{'' if letter.double else '2'}" | ||
31 | location_name = f"{self.objects.maps[self.objects.rooms[letter.room_id].map_id].name} - {letter_name}" | ||
32 | self.location_id_to_name[letter.ap_id] = location_name | ||
33 | |||
34 | if not letter.double: | ||
35 | self.item_id_to_name[letter.ap_id] = letter_name | ||
36 | |||
37 | for mastery in self.objects.masteries: | ||
38 | location_name = f"{self.objects.maps[self.objects.rooms[mastery.room_id].map_id].name} - Mastery" | ||
39 | self.location_id_to_name[mastery.ap_id] = location_name | ||
40 | |||
29 | self.item_name_to_id = {name: ap_id for ap_id, name in self.item_id_to_name.items()} | 41 | self.item_name_to_id = {name: ap_id for ap_id, name in self.item_id_to_name.items()} |
30 | self.location_name_to_id = {name: ap_id for ap_id, name in self.location_id_to_name.items()} | 42 | self.location_name_to_id = {name: ap_id for ap_id, name in self.location_id_to_name.items()} |