diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-02 14:09:35 -0400 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-02 14:09:35 -0400 |
| commit | 7f82beb120e222ace6c258fc3982b5988f9ae070 (patch) | |
| tree | 6a9fdf65badf1ed5e7d26b9a07bf0b0e840ca10e /apworld/player_logic.py | |
| parent | 7f5f14ddb5a67e1ccfdc7aa3d68d829473d0b745 (diff) | |
| download | lingo2-archipelago-7f82beb120e222ace6c258fc3982b5988f9ae070.tar.gz lingo2-archipelago-7f82beb120e222ace6c258fc3982b5988f9ae070.tar.bz2 lingo2-archipelago-7f82beb120e222ace6c258fc3982b5988f9ae070.zip | |
Added keyholder sanity
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: |
