Implement Fake World fix

Fixes the issues caused by a light world escape with dark world hyrule
castle
This commit is contained in:
Kevin Cathcart 2018-01-24 20:07:33 -05:00
parent f90653f1b8
commit d29d298d1f
3 changed files with 3 additions and 0 deletions

View File

@ -57,6 +57,7 @@ class World(object):
self.customitemarray = customitemarray self.customitemarray = customitemarray
self.can_take_damage = True self.can_take_damage = True
self.difficulty_requirements = None self.difficulty_requirements = None
self.fix_fake_world = True
self.spoiler = Spoiler(self) self.spoiler = Spoiler(self)
def intialize_regions(self): def intialize_regions(self):

View File

@ -499,6 +499,7 @@ def link_entrances(world):
connect_doors(world, single_doors, door_targets) connect_doors(world, single_doors, door_targets)
elif world.shuffle == 'insanity': elif world.shuffle == 'insanity':
world.fix_fake_world = False
# beware ye who enter here # 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)'] 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)']

1
Rom.py
View File

@ -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(0x1800A1, 0x01) # enable overworld screen transition draining for water level inside swamp
rom.write_byte(0x180034, 0x0A) # starting max bombs rom.write_byte(0x180034, 0x0A) # starting max bombs
rom.write_byte(0x180035, 30) # 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']: if world.goal in ['pedestal', 'triforcehunt']:
rom.write_byte(0x18003E, 0x01) # make ganon invincible rom.write_byte(0x18003E, 0x01) # make ganon invincible