From abedfd4d1eb00e88ba169cf0037a770e3e994e74 Mon Sep 17 00:00:00 2001 From: AmazingAmpharos Date: Sun, 11 Feb 2018 22:25:19 -0600 Subject: [PATCH] Quick Mushroom turn-in fix This is a quick and dirty (will be replaced later) fix for having to screen transition after turning in the Mushroom, not applied in shuffles that don't move the potion shop. Also a minor fix is in place so the list of entrances that don't invoke the Skull Final etc. exit offset is expanded to include the bottom of Superbunny Cave and TR Big Chest. --- BaseClasses.py | 1 + Rom.py | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/BaseClasses.py b/BaseClasses.py index c26eba3d..43e6ce88 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -59,6 +59,7 @@ class World(object): self.can_take_damage = True self.difficulty_requirements = None self.fix_fake_world = True + self.powder_patch_required = self.shuffle not in ['vanilla', 'dungeonssimple', 'dungeonsfull'] self.spoiler = Spoiler(self) def intialize_regions(self): diff --git a/Rom.py b/Rom.py index aa85dfd6..b99d9aac 100644 --- a/Rom.py +++ b/Rom.py @@ -317,7 +317,8 @@ def patch_rom(world, rom, hashtable, beep='normal', sprite=None): # todo fix screen scrolling if exit.name in ['Eastern Palace Exit', 'Tower of Hera Exit', 'Thieves Town Exit', '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)']: + '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)']: # For exits that connot be reached from another, no need to apply offset fixes. rom.write_int16_to_rom(0x15DB5 + 2 * offset, link_y) # same as final else elif room_id == 0x0059 and world.fix_skullwoods_exit: @@ -747,6 +748,10 @@ def patch_rom(world, rom, hashtable, beep='normal', sprite=None): # patch swamp: Need to enable permanent drain of water as dam or swamp were moved rom.write_byte(0x18003D, 0x01 if world.swamp_patch_required else 0x00) + # powder patch: remove the need to leave the scrren after powder, since it causes problems for potion shop at race game + # temporarally we are just nopping out this check we will conver this to a rom fix soon. + rom.write_bytes(0x02F539,[0xEA,0xEA,0xEA,0xEA,0xEA] if world.powder_patch_required else [0xAD, 0xBF, 0x0A, 0xF0, 0x4F]) + # set correct flag for hera basement item if world.get_location('Tower of Hera - Basement Cage').item is not None and world.get_location('Tower of Hera - Basement Cage').item.name == 'Small Key (Tower of Hera)': rom.write_byte(0x4E3BB, 0xE4)