From f3b490b10aeac32ba859b929ff13ff882d818a17 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 1 Nov 2025 14:32:04 -0400 Subject: Store stable IDs in multiworld state --- apworld/static_logic.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'apworld/static_logic.py') diff --git a/apworld/static_logic.py b/apworld/static_logic.py index 8e07b82..8a84111 100644 --- a/apworld/static_logic.py +++ b/apworld/static_logic.py @@ -15,6 +15,9 @@ class Lingo2StaticLogic: letter_weights: dict[str, int] + door_id_by_ap_id: dict[int, int] + port_id_by_ap_id: dict[int, int] + def __init__(self): self.item_id_to_name = {} self.location_id_to_name = {} @@ -83,6 +86,9 @@ class Lingo2StaticLogic: for letter in panel.answer.upper(): self.letter_weights[letter] = self.letter_weights.get(letter, 0) + 1 + self.door_id_by_ap_id = {door.ap_id: door.id for door in self.objects.doors if door.HasField("ap_id")} + self.port_id_by_ap_id = {port.ap_id: port.id for port in self.objects.ports if port.HasField("ap_id")} + def get_door_item_name(self, door: data_pb2.Door) -> str: return f"{self.get_map_object_map_name(door)} - {door.name}" -- cgit 1.4.1