diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2024-06-03 04:51:27 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-03 03:51:27 -0500 |
| commit | e75c4b6b26ae2406a40718e084ad15421c9ce3be (patch) | |
| tree | e94414fc9b3c3d8ca292222b18460b174f2f2e34 /regions.py | |
| parent | 50e452717500aaaa8ea056f127cc2c4b353c310a (diff) | |
| download | lingo-apworld-e75c4b6b26ae2406a40718e084ad15421c9ce3be.tar.gz lingo-apworld-e75c4b6b26ae2406a40718e084ad15421c9ce3be.tar.bz2 lingo-apworld-e75c4b6b26ae2406a40718e084ad15421c9ce3be.zip | |
Lingo: Fix Basement access with THE MASTER (#3231)
Diffstat (limited to 'regions.py')
| -rw-r--r-- | regions.py | 9 |
1 files changed, 8 insertions, 1 deletions
| diff --git a/regions.py b/regions.py index 4b357db..9834f04 100644 --- a/regions.py +++ b/regions.py | |||
| @@ -49,8 +49,15 @@ def connect_entrance(regions: Dict[str, Region], source_region: Region, target_r | |||
| 49 | if door is not None: | 49 | if door is not None: |
| 50 | effective_room = target_region.name if door.room is None else door.room | 50 | effective_room = target_region.name if door.room is None else door.room |
| 51 | if door.door not in world.player_logic.item_by_door.get(effective_room, {}): | 51 | if door.door not in world.player_logic.item_by_door.get(effective_room, {}): |
| 52 | for region in world.player_logic.calculate_door_requirements(effective_room, door.door, world).rooms: | 52 | access_reqs = world.player_logic.calculate_door_requirements(effective_room, door.door, world) |
| 53 | for region in access_reqs.rooms: | ||
| 53 | world.multiworld.register_indirect_condition(regions[region], connection) | 54 | world.multiworld.register_indirect_condition(regions[region], connection) |
| 55 | |||
| 56 | # This pretty much only applies to Orange Tower Sixth Floor -> Orange Tower Basement. | ||
| 57 | if access_reqs.the_master: | ||
| 58 | for mastery_req in world.player_logic.mastery_reqs: | ||
| 59 | for region in mastery_req.rooms: | ||
| 60 | world.multiworld.register_indirect_condition(regions[region], connection) | ||
| 54 | 61 | ||
| 55 | if not pilgrimage and world.options.enable_pilgrimage and is_acceptable_pilgrimage_entrance(entrance_type, world)\ | 62 | if not pilgrimage and world.options.enable_pilgrimage and is_acceptable_pilgrimage_entrance(entrance_type, world)\ |
| 56 | and source_region.name != "Menu": | 63 | and source_region.name != "Menu": |
