From 02de6a37d33589e2dced1010c303ea40ea6e1cfc Mon Sep 17 00:00:00 2001 From: LLCoolDave Date: Tue, 30 May 2017 07:32:41 +0200 Subject: [PATCH] Fix aga tower at mimic cave fix being applied incorrectly. Now should write the correct values. --- EntranceShuffle.py | 17 ++++++++++++++--- Rom.py | 6 +++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/EntranceShuffle.py b/EntranceShuffle.py index 4861935a..5b71608c 100644 --- a/EntranceShuffle.py +++ b/EntranceShuffle.py @@ -655,9 +655,20 @@ def link_entrances(world): if world.agahnim_fix_required: # need to swap contents of Mimic Cave and TRock Ledge Right so Agahnim 1 is in Light World! ret.append('Fix to prevent Agahnim Softlock: Swap Contents of Turtle Rock Ledge (East) and Mimic Cave:') - mimic_cave_target = world.get_entrance('Mimic Cave Mirror Spot').connected_region - ret.append(connect_one_way(world, 'Dark Death Mountain Ledge (East)', mimic_cave_target)) - ret.append(connect_one_way(world, 'Mimic Cave Mirror Spot', 'Agahnims Tower')) + + mimic_cave_entrance = world.get_entrance('Mimic Cave Mirror Spot') + mimic_cave_target = mimic_cave_entrance.connected_region + ddmle_entrance = world.get_entrance('Dark Death Mountain Ledge (East)') + ddmle_entrance.connected_region = mimic_cave_target + mimic_cave_target.entrances.remove(mimic_cave_entrance) + mimic_cave_target.entrances.append(ddmle_entrance) + ret.append('Dark Death Mountain Ledge (East) => %s' % mimic_cave_target) + + aga_tower = world.get_region('Agahnims Tower') + mimic_cave_entrance.connected_region = aga_tower + aga_tower.entrances.remove(ddmle_entrance) + aga_tower.entrances.append(mimic_cave_entrance) + ret.append('Mimic Cave Mirror Spot => Agahnims Tower Exit') # check for swamp palace fix if world.get_entrance('Dam').connected_region.name != 'Dam' or world.get_entrance('Swamp Palace').connected_region.name != 'Swamp Palace (Entrance)': diff --git a/Rom.py b/Rom.py index d8eb4454..3afe1e89 100644 --- a/Rom.py +++ b/Rom.py @@ -37,7 +37,7 @@ def patch_rom(world, rom, hashtable, quickswap=False, beep='normal', sprite=None try: # ugly fix for agahnim fix in simple dungeon shuffle mode if world.agahnim_fix_required and exit.name == 'Dark Death Mountain Ledge (East)': - write_byte(rom, door_addresses[exit.name][0], exit.target) + write_byte(rom, door_addresses[exit.name][0], world.get_entrance('Mimic Cave Mirror Spot').target) continue addresses = door_addresses[exit.name] @@ -48,8 +48,8 @@ def patch_rom(world, rom, hashtable, quickswap=False, beep='normal', sprite=None # ugly fix for agahnim fix in simple dungeon shuffle mode if world.agahnim_fix_required and exit.name == 'Mimic Cave Mirror Spot': - write_byte(rom, single_doors[exit.name], exit.target[0]) - write_byte(rom, door_addresses['Dark Death Mountain Ledge (East)'][1], exit.target[1]) + write_byte(rom, single_doors[exit.name], world.get_entrance('Dark Death Mountain Ledge (East)').target[0]) + write_byte(rom, door_addresses['Dark Death Mountain Ledge (East)'][1], world.get_entrance('Dark Death Mountain Ledge (East)').target[1]) continue addresses = single_doors[exit.name]