From 9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 9 Aug 2025 11:51:20 -0400 Subject: Added support for masteries Also assigned IDs for the_butterfly, as well as already configured letters. --- apworld/player_logic.py | 6 ++++++ apworld/static_logic.py | 12 ++++++++++++ 2 files changed, 18 insertions(+) (limited to 'apworld') 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: for door in world.static_logic.objects.doors: if door.type in [common_pb2.DoorType.STANDARD, common_pb2.DoorType.LOCATION_ONLY]: self.locations_by_room.setdefault(door.room_id, []).append(PlayerLocation(door.ap_id)) + + for letter in world.static_logic.objects.letters: + self.locations_by_room.setdefault(letter.room_id, []).append(PlayerLocation(letter.ap_id)) + + for mastery in world.static_logic.objects.masteries: + 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: item_name = f"{self.objects.maps[door.map_id].name} - {door.name}" self.item_id_to_name[door.ap_id] = item_name + for letter in self.objects.letters: + letter_name = f"{letter.key.upper()}{'' if letter.double else '2'}" + location_name = f"{self.objects.maps[self.objects.rooms[letter.room_id].map_id].name} - {letter_name}" + self.location_id_to_name[letter.ap_id] = location_name + + if not letter.double: + self.item_id_to_name[letter.ap_id] = letter_name + + for mastery in self.objects.masteries: + location_name = f"{self.objects.maps[self.objects.rooms[mastery.room_id].map_id].name} - Mastery" + self.location_id_to_name[mastery.ap_id] = location_name + self.item_name_to_id = {name: ap_id for ap_id, name in self.item_id_to_name.items()} self.location_name_to_id = {name: ap_id for ap_id, name in self.location_id_to_name.items()} -- cgit 1.4.1