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()} |
