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 71760838..6e05c369 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 87671a86..3ebf82cb 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 ac20671a..9f731053 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