From 7f82beb120e222ace6c258fc3982b5988f9ae070 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Tue, 2 Sep 2025 14:09:35 -0400 Subject: Added keyholder sanity --- apworld/player_logic.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'apworld/player_logic.py') diff --git a/apworld/player_logic.py b/apworld/player_logic.py index e08f644..dc1bdf0 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py @@ -166,6 +166,15 @@ class Lingo2PlayerLogic: self.event_loc_item_by_room.setdefault(ending.room_id, {})[event_name] = item_name + if self.world.options.keyholder_sanity: + for keyholder in world.static_logic.objects.keyholders: + if keyholder.HasField("key"): + reqs = AccessRequirements() + reqs.letters[keyholder.key.upper()] = 1 + + self.locations_by_room.setdefault(keyholder.room_id, []).append(PlayerLocation(keyholder.ap_id, + reqs)) + def get_panel_reqs(self, panel_id: int, answer: str | None) -> AccessRequirements: if answer is None: if panel_id not in self.panel_reqs: -- cgit 1.4.1