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: |
