Don't fix fake worlds for glitched modes.
Pre-open pyramid for crystals goal with entrance shuffles that don't move Ganon (vanilla, dungeon-only shuffles)
This commit is contained in:
@@ -73,7 +73,8 @@ class World(object):
|
||||
self.customitemarray = customitemarray
|
||||
self.can_take_damage = True
|
||||
self.difficulty_requirements = None
|
||||
self.fix_fake_world = True
|
||||
self.fix_fake_world = logic not in ['owglitches', 'nologic'] or shuffle in ['crossed', 'insanity', 'madness_legacy']
|
||||
self.pre_open_pyramid = goal == 'crystals' and shuffle in ['vanilla', 'dungeonssimple', 'dungeonsfull']
|
||||
self.boss_shuffle = boss_shuffle
|
||||
self.hints = hints
|
||||
self.crystals_needed_for_ganon = 7
|
||||
|
||||
8
Rom.py
8
Rom.py
@@ -847,7 +847,7 @@ def patch_rom(world, player, rom):
|
||||
rom.write_byte(0x180211, 0x06) #Game type, we set the Entrance and item randomization flags
|
||||
|
||||
# assorted fixes
|
||||
rom.write_byte(0x1800A2, 0x01) # remain in real dark world when dying in dark world dungeon before killing aga1
|
||||
rom.write_byte(0x1800A2, 0x01 if world.fix_fake_world else 0x00) # remain in real dark world when dying in dark world dungeon before killing aga1
|
||||
rom.write_byte(0x180169, 0x01 if world.lock_aga_door_in_escape else 0x00) # Lock or unlock aga tower door during escape sequence.
|
||||
if world.mode == 'inverted':
|
||||
rom.write_byte(0x180169, 0x02) # lock aga/ganon tower door with crystals in inverted
|
||||
@@ -859,14 +859,14 @@ def patch_rom(world, player, rom):
|
||||
rom.write_bytes(0x50563, [0x3F, 0x14]) # disable below ganon chest
|
||||
rom.write_byte(0x50599, 0x00) # disable below ganon chest
|
||||
rom.write_bytes(0xE9A5, [0x7E, 0x00, 0x24]) # disable below ganon chest
|
||||
rom.write_byte(0x18008B, 0x00) # Pyramid Hole not pre-opened
|
||||
rom.write_byte(0x18008C, 0x01 if world.crystals_needed_for_gt == 0 else 0x00) # Pyramid Hole pre-opened if crystal requirement is 0
|
||||
rom.write_byte(0x18008B, 0x01 if world.pre_open_pyramid else 0x00) # Pyramid Hole pre-opened for crystals goal if Ganon is not shuffled
|
||||
rom.write_byte(0x18008C, 0x01 if world.crystals_needed_for_gt == 0 else 0x00) # Ganon's Tower pre-opened if crystal requirement is 0
|
||||
rom.write_byte(0xF5D73, 0xF0) # bees are catchable
|
||||
rom.write_byte(0xF5F10, 0xF0) # bees are catchable
|
||||
rom.write_byte(0x180086, 0x00 if world.aga_randomness else 0x01) # set blue ball and ganon warp randomness
|
||||
rom.write_byte(0x1800A0, 0x01) # return to light world on s+q without mirror
|
||||
rom.write_byte(0x1800A1, 0x01) # enable overworld screen transition draining for water level inside swamp
|
||||
rom.write_byte(0x180174, 0x01 if world.fix_fake_world else 0x00)
|
||||
rom.write_byte(0x180174, 0x01 if world.fix_fake_world else 0x00) # Fix fake worlds when traveling between light/dark world in the underworld
|
||||
rom.write_byte(0x18017E, 0x01) # Fairy fountains only trade in bottles
|
||||
rom.write_byte(0x180034, 0x0A) # starting max bombs
|
||||
rom.write_byte(0x180035, 30) # starting max arrows
|
||||
|
||||
Reference in New Issue
Block a user