From d29d298d1f48e0077dcfca377b5e36a8e590675c Mon Sep 17 00:00:00 2001 From: Kevin Cathcart Date: Wed, 24 Jan 2018 20:07:33 -0500 Subject: [PATCH] Implement Fake World fix Fixes the issues caused by a light world escape with dark world hyrule castle --- BaseClasses.py | 1 + EntranceShuffle.py | 1 + Rom.py | 1 + 3 files changed, 3 insertions(+) diff --git a/BaseClasses.py b/BaseClasses.py index 717608382d..6e05c369f8 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -57,6 +57,7 @@ class World(object): self.customitemarray = customitemarray self.can_take_damage = True self.difficulty_requirements = None + self.fix_fake_world = True self.spoiler = Spoiler(self) def intialize_regions(self): diff --git a/EntranceShuffle.py b/EntranceShuffle.py index 87671a86c3..3ebf82cbc7 100644 --- a/EntranceShuffle.py +++ b/EntranceShuffle.py @@ -499,6 +499,7 @@ def link_entrances(world): connect_doors(world, single_doors, door_targets) elif world.shuffle == 'insanity': + world.fix_fake_world = False # beware ye who enter here entrances = LW_Entrances + LW_Dungeon_Entrances + DW_Entrances + DW_Dungeon_Entrances + ['Skull Woods Second Section Door (East)', 'Skull Woods First Section Door', 'Kakariko Well Cave', 'Bat Cave Cave', 'North Fairy Cave', 'Sanctuary', 'Lost Woods Hideout Stump', 'Lumberjack Tree Cave', 'Hyrule Castle Entrance (South)'] diff --git a/Rom.py b/Rom.py index ac20671a82..9f7310535e 100644 --- a/Rom.py +++ b/Rom.py @@ -655,6 +655,7 @@ def patch_rom(world, rom, hashtable, beep='normal', sprite=None): rom.write_byte(0x1800A1, 0x01) # enable overworld screen transition draining for water level inside swamp rom.write_byte(0x180034, 0x0A) # starting max bombs rom.write_byte(0x180035, 30) # starting max bombs + rom.write_byte(0x180174, 0x01 if world.fix_fake_world else 0x00) if world.goal in ['pedestal', 'triforcehunt']: rom.write_byte(0x18003E, 0x01) # make ganon invincible