diff --git a/worlds/alttp/Rom.py b/worlds/alttp/Rom.py index 9a183cd1..10354b5a 100644 --- a/worlds/alttp/Rom.py +++ b/worlds/alttp/Rom.py @@ -832,7 +832,9 @@ def patch_rom(world, rom, player, enemized): 'Skull Woods Final Section Exit', 'Ice Palace Exit', 'Misery Mire Exit', 'Palace of Darkness Exit', 'Swamp Palace Exit', 'Ganons Tower Exit', 'Desert Palace Exit (North)', 'Agahnims Tower Exit', 'Spiral Cave Exit (Top)', - 'Superbunny Cave Exit (Bottom)', 'Turtle Rock Ledge Exit (East)'}: + 'Superbunny Cave Exit (Bottom)', 'Turtle Rock Ledge Exit (East)'} and \ + (world.logic[player] not in ['hybridglitches', 'nologic'] or + exit.name not in {'Palace of Darkness Exit', 'Tower of Hera Exit', 'Swamp Palace Exit'}): # For exits that connot be reached from another, no need to apply offset fixes. rom.write_int16(0x15DB5 + 2 * offset, link_y) # same as final else elif room_id == 0x0059 and world.fix_skullwoods_exit[player]: diff --git a/worlds/alttp/Rules.py b/worlds/alttp/Rules.py index 35762fe2..f8ecbb28 100644 --- a/worlds/alttp/Rules.py +++ b/worlds/alttp/Rules.py @@ -261,7 +261,7 @@ def global_rules(world, player): if world.accessibility[player] != 'locations': set_always_allow(world.get_location('Swamp Palace - Big Chest', player), lambda state, item: item.name == 'Big Key (Swamp Palace)' and item.player == player) set_rule(world.get_entrance('Swamp Palace (North)', player), lambda state: state.has('Hookshot', player)) - if not world.smallkey_shuffle[player] and world.logic[player] != 'nologic': + if not world.smallkey_shuffle[player] and world.logic[player] not in ['hybridglitches', 'nologic']: forbid_item(world.get_location('Swamp Palace - Entrance', player), 'Big Key (Swamp Palace)', player) set_rule(world.get_entrance('Thieves Town Big Key Door', player), lambda state: state.has('Big Key (Thieves Town)', player)) diff --git a/worlds/timespinner/Regions.py b/worlds/timespinner/Regions.py index 1d02afcc..92856b27 100644 --- a/worlds/timespinner/Regions.py +++ b/worlds/timespinner/Regions.py @@ -98,7 +98,7 @@ def create_regions(world: MultiWorld, player: int, locations: Tuple[LocationData connect(world, player, names, 'Sealed Caves (Xarion)', 'Sealed Caves (upper)', lambda state: state._timespinner_has_forwarddash_doublejump(world, player)) connect(world, player, names, 'Sealed Caves (Xarion)', 'Space time continuum', lambda state: state.has('Twin Pyramid Key', player)) connect(world, player, names, 'Refugee Camp', 'Forest') - connect(world, player, names, 'Refugee Camp', 'Libary', lambda state: is_option_enabled(world, player, "Inverted")) + connect(world, player, names, 'Refugee Camp', 'Libary', lambda state: not is_option_enabled(world, player, "Inverted")) connect(world, player, names, 'Refugee Camp', 'Space time continuum', lambda state: state.has('Twin Pyramid Key', player)) connect(world, player, names, 'Forest', 'Refugee Camp') connect(world, player, names, 'Forest', 'Left Side forest Caves', lambda state: state.has('Talaria Attachment', player) or state._timespinner_has_timestop(world, player)) @@ -223,4 +223,4 @@ def get_locations_per_region(locations: Tuple[LocationData, ...]) -> Dict[str, L for location in locations: per_region.setdefault(location.region, []).append(location) - return per_region \ No newline at end of file + return per_region