diff options
Diffstat (limited to 'apworld/player_logic.py')
-rw-r--r-- | apworld/player_logic.py | 9 |
1 files changed, 9 insertions, 0 deletions
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: | |||
166 | 166 | ||
167 | self.event_loc_item_by_room.setdefault(ending.room_id, {})[event_name] = item_name | 167 | self.event_loc_item_by_room.setdefault(ending.room_id, {})[event_name] = item_name |
168 | 168 | ||
169 | if self.world.options.keyholder_sanity: | ||
170 | for keyholder in world.static_logic.objects.keyholders: | ||
171 | if keyholder.HasField("key"): | ||
172 | reqs = AccessRequirements() | ||
173 | reqs.letters[keyholder.key.upper()] = 1 | ||
174 | |||
175 | self.locations_by_room.setdefault(keyholder.room_id, []).append(PlayerLocation(keyholder.ap_id, | ||
176 | reqs)) | ||
177 | |||
169 | def get_panel_reqs(self, panel_id: int, answer: str | None) -> AccessRequirements: | 178 | def get_panel_reqs(self, panel_id: int, answer: str | None) -> AccessRequirements: |
170 | if answer is None: | 179 | if answer is None: |
171 | if panel_id not in self.panel_reqs: | 180 | if panel_id not in self.panel_reqs: |