From 7a5d9d53da0b1c56a272dcfd535800e92dfd2e0b Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Mon, 8 Sep 2025 22:10:28 -0400 Subject: [Apworld] Added item/location groups --- apworld/static_logic.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'apworld/static_logic.py') diff --git a/apworld/static_logic.py b/apworld/static_logic.py index 3f6cdea..0cc7e55 100644 --- a/apworld/static_logic.py +++ b/apworld/static_logic.py @@ -8,9 +8,14 @@ class Lingo2StaticLogic: item_name_to_id: dict[str, int] location_name_to_id: dict[str, int] + item_name_groups: dict[str, list[str]] + location_name_groups: dict[str, list[str]] + def __init__(self): self.item_id_to_name = {} self.location_id_to_name = {} + self.item_name_groups = {} + self.location_name_groups = {} file = pkgutil.get_data(__name__, "generated/data.binpb") self.objects = data_pb2.AllObjects() @@ -29,17 +34,21 @@ class Lingo2StaticLogic: letter_name = f"{letter.key.upper()}{'2' if letter.level2 else '1'}" location_name = f"{self.get_room_object_map_name(letter)} - {letter_name}" self.location_id_to_name[letter.ap_id] = location_name + self.location_name_groups.setdefault("Letters", []).append(location_name) if not letter.level2: self.item_id_to_name[letter.ap_id] = letter.key.upper() + self.item_name_groups.setdefault("Letters", []).append(letter.key.upper()) for mastery in self.objects.masteries: location_name = f"{self.get_room_object_map_name(mastery)} - Mastery" self.location_id_to_name[mastery.ap_id] = location_name + self.location_name_groups.setdefault("Masteries", []).append(location_name) for ending in self.objects.endings: location_name = f"{self.get_room_object_map_name(ending)} - {ending.name.title()} Ending" self.location_id_to_name[ending.ap_id] = location_name + self.location_name_groups.setdefault("Endings", []).append(location_name) for progressive in self.objects.progressives: self.item_id_to_name[progressive.ap_id] = progressive.name @@ -51,6 +60,7 @@ class Lingo2StaticLogic: if keyholder.HasField("key"): location_name = f"{self.get_room_object_location_prefix(keyholder)} - {keyholder.key.upper()} Keyholder" self.location_id_to_name[keyholder.ap_id] = location_name + self.location_name_groups.setdefault("Keyholders", []).append(location_name) self.item_id_to_name[self.objects.special_ids["A Job Well Done"]] = "A Job Well Done" -- cgit 1.4.1