Update with latest base ROM changes and such

Update with latest base ROM changes and such
This commit is contained in:
AmazingAmpharos 2018-02-11 03:49:39 -06:00 committed by GitHub
commit 9a2285f8f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 85 additions and 51 deletions

View File

@ -267,7 +267,7 @@ class World(object):
marksequence(['standard', 'open', 'swordless'], self.mode) marksequence(['standard', 'open', 'swordless'], self.mode)
markbool(self.place_dungeon_items) markbool(self.place_dungeon_items)
marksequence(['ganon', 'pedestal', 'dungeons', 'triforcehunt', 'crystals'], self.goal) marksequence(['ganon', 'pedestal', 'dungeons', 'triforcehunt', 'crystals'], self.goal)
marksequence(['vanilla', 'simple', 'restricted', 'full', 'full_cross_worlds','full_legacy', 'madness', 'insanity', 'dungeonsfull', 'dungeonssimple'], self.shuffle) marksequence(['vanilla', 'simple', 'restricted', 'full', 'full_cross_worlds', 'full_legacy', 'madness', 'insanity', 'dungeonsfull', 'dungeonssimple'], self.shuffle)
marksequence(['easy', 'normal', 'hard', 'expert', 'insane'], self.difficulty) marksequence(['easy', 'normal', 'hard', 'expert', 'insane'], self.difficulty)
marksequence(['none', 'display', 'timed', 'timed-ohko', 'timed-countdown', 'ohko'], self.timer) marksequence(['none', 'display', 'timed', 'timed-ohko', 'timed-countdown', 'ohko'], self.timer)
marksequence(['on', 'off', 'random'], self.progressive) marksequence(['on', 'off', 'random'], self.progressive)
@ -406,11 +406,11 @@ class CollectionState(object):
basemagic = 32 basemagic = 32
elif self.has('Half Magic'): elif self.has('Half Magic'):
basemagic = 16 basemagic = 16
if self.world.difficulty == 'hard' and fullrefill == False: if self.world.difficulty == 'hard' and not fullrefill:
basemagic = basemagic + int(basemagic * 0.5 * self.bottle_count()) basemagic = basemagic + int(basemagic * 0.5 * self.bottle_count())
elif self.world.difficulty == 'expert' and fullrefill == False: elif self.world.difficulty == 'expert' and not fullrefill:
basemagic = basemagic + int(basemagic * 0.25 * self.bottle_count()) basemagic = basemagic + int(basemagic * 0.25 * self.bottle_count())
elif self.world.difficulty == 'insane' and fullrefill == False: elif self.world.difficulty == 'insane' and not fullrefill:
basemagic = basemagic basemagic = basemagic
else: else:
basemagic = basemagic + basemagic * self.bottle_count() basemagic = basemagic + basemagic * self.bottle_count()

View File

@ -1379,15 +1379,15 @@ Bomb_Shop_Single_Cave_Doors = ['Waterfall of Wishing',
Single_Cave_Doors = ['Pyramid Fairy'] Single_Cave_Doors = ['Pyramid Fairy']
Single_Cave_Targets = ['Blinds Hideout', Single_Cave_Targets = ['Blinds Hideout',
'Bonk Fairy', 'Bonk Fairy (Light)',
'Healer Fairy', 'Lake Hylia Healer Fairy',
'Healer Fairy', 'Swamp Healer Fairy',
'Healer Fairy', 'Desert Healer Fairy',
'Kings Grave', 'Kings Grave',
'Chicken House', 'Chicken House',
'Aginahs Cave', 'Aginahs Cave',
'Sahasrahlas Hut', 'Sahasrahlas Hut',
'Cave Shop', 'Cave Shop (Lake Hylia)',
'Sick Kids House', 'Sick Kids House',
'Lost Woods Gamble', 'Lost Woods Gamble',
'Fortune Teller (Light)', 'Fortune Teller (Light)',
@ -1415,12 +1415,12 @@ Single_Cave_Targets = ['Blinds Hideout',
'Pyramid Fairy', 'Pyramid Fairy',
'East Dark World Hint', 'East Dark World Hint',
'Palace of Darkness Hint', 'Palace of Darkness Hint',
'Healer Fairy', 'Dark Lake Hylia Healer Fairy',
'Healer Fairy', 'Dark Lake Hylia Ledge Healer Fairy',
'Dark Lake Hylia Ledge Spike Cave', 'Dark Lake Hylia Ledge Spike Cave',
'Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Hint',
'Hype Cave', 'Hype Cave',
'Bonk Fairy', 'Bonk Fairy (Dark)',
'Brewery', 'Brewery',
'C-Shaped House', 'C-Shaped House',
'Chest Game', 'Chest Game',
@ -1428,20 +1428,20 @@ Single_Cave_Targets = ['Blinds Hideout',
'Red Shield Shop', 'Red Shield Shop',
'Dark Sanctuary Hint', 'Dark Sanctuary Hint',
'Fortune Teller (Dark)', 'Fortune Teller (Dark)',
'Dark World Shop', 'Village of Outcasts Shop',
'Dark World Shop', 'Dark Lake Hylia Shop',
'Dark World Shop', 'Dark World Lumberjack Shop',
'Archery Game', 'Archery Game',
'Mire Shed', 'Mire Shed',
'Dark Desert Hint', 'Dark Desert Hint',
'Healer Fairy', 'Dark Desert Healer Fairy',
'Spike Cave', 'Spike Cave',
'Cave Shop', 'Cave Shop (Dark Death Mountain)',
'Healer Fairy', 'Dark Death Mountain Healer Fairy',
'Mimic Cave', 'Mimic Cave',
'Dark World Shop', 'Dark World Potion Shop',
'Lumberjack House', 'Lumberjack House',
'Fortune Teller (Light)', 'Lake Hylia Fortune Teller',
'Kakariko Gamble Game', 'Kakariko Gamble Game',
'Dam'] 'Dam']
@ -1511,6 +1511,8 @@ mandatory_connections = [('Links House', 'Links House'), # unshuffled. For now
('Bat Cave Drop Ledge Mirror Spot', 'Bat Cave Drop Ledge'), ('Bat Cave Drop Ledge Mirror Spot', 'Bat Cave Drop Ledge'),
('East Dark World River Pier', 'East Dark World'), ('East Dark World River Pier', 'East Dark World'),
('West Dark World Gap', 'West Dark World'), ('West Dark World Gap', 'West Dark World'),
('East Dark World Broken Bridge Pass', 'East Dark World'),
('Northeast Dark World Broken Bridge Pass', 'Northeast Dark World'),
('Bumper Cave Entrance Rock', 'Bumper Cave Entrance'), ('Bumper Cave Entrance Rock', 'Bumper Cave Entrance'),
('Bumper Cave Entrance Drop', 'West Dark World'), ('Bumper Cave Entrance Drop', 'West Dark World'),
('Bumper Cave Entrance Mirror Spot', 'Death Mountain Entrance'), ('Bumper Cave Entrance Mirror Spot', 'Death Mountain Entrance'),
@ -1621,17 +1623,17 @@ default_connections = [('Waterfall of Wishing', 'Waterfall of Wishing'),
("Hyrule Castle Secret Entrance Drop", "Hyrule Castle Secret Entrance"), ("Hyrule Castle Secret Entrance Drop", "Hyrule Castle Secret Entrance"),
("Hyrule Castle Secret Entrance Stairs", "Hyrule Castle Secret Entrance"), ("Hyrule Castle Secret Entrance Stairs", "Hyrule Castle Secret Entrance"),
("Hyrule Castle Secret Entrance Exit", "Light World"), ("Hyrule Castle Secret Entrance Exit", "Light World"),
('Bonk Fairy (Light)', 'Bonk Fairy'), ('Bonk Fairy (Light)', 'Bonk Fairy (Light)'),
('Lake Hylia Fairy', 'Healer Fairy'), ('Lake Hylia Fairy', 'Lake Hylia Healer Fairy'),
('Lake Hylia Fortune Teller', 'Fortune Teller (Light)'), ('Lake Hylia Fortune Teller', 'Lake Hylia Fortune Teller'),
('Swamp Fairy', 'Healer Fairy'), ('Swamp Fairy', 'Swamp Healer Fairy'),
('Desert Fairy', 'Healer Fairy'), ('Desert Fairy', 'Desert Healer Fairy'),
('Kings Grave', 'Kings Grave'), ('Kings Grave', 'Kings Grave'),
('Tavern North', 'Tavern'), ('Tavern North', 'Tavern'),
('Chicken House', 'Chicken House'), ('Chicken House', 'Chicken House'),
('Aginahs Cave', 'Aginahs Cave'), ('Aginahs Cave', 'Aginahs Cave'),
('Sahasrahlas Hut', 'Sahasrahlas Hut'), ('Sahasrahlas Hut', 'Sahasrahlas Hut'),
('Cave Shop (Lake Hylia)', 'Cave Shop'), ('Cave Shop (Lake Hylia)', 'Cave Shop (Lake Hylia)'),
('Capacity Upgrade', 'Capacity Upgrade'), ('Capacity Upgrade', 'Capacity Upgrade'),
('Kakariko Well Drop', 'Kakariko Well (top)'), ('Kakariko Well Drop', 'Kakariko Well (top)'),
('Kakariko Well Cave', 'Kakariko Well (bottom)'), ('Kakariko Well Cave', 'Kakariko Well (bottom)'),
@ -1722,13 +1724,13 @@ default_connections = [('Waterfall of Wishing', 'Waterfall of Wishing'),
('East Dark World Hint', 'East Dark World Hint'), ('East Dark World Hint', 'East Dark World Hint'),
('Palace of Darkness Hint', 'Palace of Darkness Hint'), ('Palace of Darkness Hint', 'Palace of Darkness Hint'),
('Big Bomb Shop', 'Big Bomb Shop'), ('Big Bomb Shop', 'Big Bomb Shop'),
('Dark Lake Hylia Shop', 'Dark World Shop'), ('Dark Lake Hylia Shop', 'Dark Lake Hylia Shop'),
('Dark Lake Hylia Fairy', 'Healer Fairy'), ('Dark Lake Hylia Fairy', 'Dark Lake Hylia Healer Fairy'),
('Dark Lake Hylia Ledge Fairy', 'Healer Fairy'), ('Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Ledge Healer Fairy'),
('Dark Lake Hylia Ledge Spike Cave', 'Dark Lake Hylia Ledge Spike Cave'), ('Dark Lake Hylia Ledge Spike Cave', 'Dark Lake Hylia Ledge Spike Cave'),
('Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Hint'), ('Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Hint'),
('Hype Cave', 'Hype Cave'), ('Hype Cave', 'Hype Cave'),
('Bonk Fairy (Dark)', 'Bonk Fairy'), ('Bonk Fairy (Dark)', 'Bonk Fairy (Dark)'),
('Brewery', 'Brewery'), ('Brewery', 'Brewery'),
('C-Shaped House', 'C-Shaped House'), ('C-Shaped House', 'C-Shaped House'),
('Chest Game', 'Chest Game'), ('Chest Game', 'Chest Game'),
@ -1738,20 +1740,20 @@ default_connections = [('Waterfall of Wishing', 'Waterfall of Wishing'),
('Red Shield Shop', 'Red Shield Shop'), ('Red Shield Shop', 'Red Shield Shop'),
('Dark Sanctuary Hint', 'Dark Sanctuary Hint'), ('Dark Sanctuary Hint', 'Dark Sanctuary Hint'),
('Fortune Teller (Dark)', 'Fortune Teller (Dark)'), ('Fortune Teller (Dark)', 'Fortune Teller (Dark)'),
('Dark World Shop', 'Dark World Shop'), ('Dark World Shop', 'Village of Outcasts Shop'),
('Dark World Lumberjack Shop', 'Dark World Shop'), ('Dark World Lumberjack Shop', 'Dark World Lumberjack Shop'),
('Dark World Potion Shop', 'Dark World Shop'), ('Dark World Potion Shop', 'Dark World Potion Shop'),
('Archery Game', 'Archery Game'), ('Archery Game', 'Archery Game'),
('Bumper Cave Exit (Top)', 'Bumper Cave Ledge'), ('Bumper Cave Exit (Top)', 'Bumper Cave Ledge'),
('Bumper Cave Exit (Bottom)', 'West Dark World'), ('Bumper Cave Exit (Bottom)', 'West Dark World'),
('Mire Shed', 'Mire Shed'), ('Mire Shed', 'Mire Shed'),
('Dark Desert Hint', 'Dark Desert Hint'), ('Dark Desert Hint', 'Dark Desert Hint'),
('Dark Desert Fairy', 'Healer Fairy'), ('Dark Desert Fairy', 'Dark Desert Healer Fairy'),
('Spike Cave', 'Spike Cave'), ('Spike Cave', 'Spike Cave'),
('Hookshot Cave', 'Hookshot Cave'), ('Hookshot Cave', 'Hookshot Cave'),
('Superbunny Cave (Top)', 'Superbunny Cave'), ('Superbunny Cave (Top)', 'Superbunny Cave'),
('Cave Shop (Dark Death Mountain)', 'Cave Shop'), ('Cave Shop (Dark Death Mountain)', 'Cave Shop (Dark Death Mountain)'),
('Dark Death Mountain Fairy', 'Healer Fairy'), ('Dark Death Mountain Fairy', 'Dark Death Mountain Healer Fairy'),
('Superbunny Cave (Bottom)', 'Superbunny Cave'), ('Superbunny Cave (Bottom)', 'Superbunny Cave'),
('Superbunny Cave Exit (Top)', 'Dark Death Mountain (Top)'), ('Superbunny Cave Exit (Top)', 'Dark Death Mountain (Top)'),
('Superbunny Cave Exit (Bottom)', 'Dark Death Mountain (East Bottom)'), ('Superbunny Cave Exit (Bottom)', 'Dark Death Mountain (East Bottom)'),
@ -2039,15 +2041,24 @@ exit_ids = {'Desert Palace Exit (South)': (0x09, 0x0A),
'Dam': 0x4E, 'Dam': 0x4E,
'Blinds Hideout': 0x61, 'Blinds Hideout': 0x61,
'Lumberjack House': 0x6B, 'Lumberjack House': 0x6B,
'Bonk Fairy': 0x71, 'Bonk Fairy (Light)': 0x71,
'Healer Fairy': 0x5E, 'Bonk Fairy (Dark)': 0x71,
'Lake Hylia Healer Fairy': 0x5E,
'Swamp Healer Fairy': 0x5E,
'Desert Healer Fairy': 0x5E,
'Dark Lake Hylia Healer Fairy': 0x5E,
'Dark Lake Hylia Ledge Healer Fairy': 0x5E,
'Dark Desert Healer Fairy': 0x5E,
'Dark Death Mountain Healer Fairy': 0x5E,
'Fortune Teller (Light)': 0x65, 'Fortune Teller (Light)': 0x65,
'Lake Hylia Fortune Teller': 0x65,
'Kings Grave': 0x5B, 'Kings Grave': 0x5B,
'Tavern': 0x43, 'Tavern': 0x43,
'Chicken House': 0x4B, 'Chicken House': 0x4B,
'Aginahs Cave': 0x4D, 'Aginahs Cave': 0x4D,
'Sahasrahlas Hut': 0x45, 'Sahasrahlas Hut': 0x45,
'Cave Shop': 0x58, 'Cave Shop (Lake Hylia)': 0x58,
'Cave Shop (Dark Death Mountain)': 0x58,
'Capacity Upgrade': 0x5D, 'Capacity Upgrade': 0x5D,
'Blacksmiths Hut': 0x64, 'Blacksmiths Hut': 0x64,
'Sick Kids House': 0x40, 'Sick Kids House': 0x40,
@ -2076,7 +2087,10 @@ exit_ids = {'Desert Palace Exit (South)': (0x09, 0x0A),
'East Dark World Hint': 0x69, 'East Dark World Hint': 0x69,
'Palace of Darkness Hint': 0x68, 'Palace of Darkness Hint': 0x68,
'Big Bomb Shop': 0x53, 'Big Bomb Shop': 0x53,
'Dark World Shop': 0x60, 'Village of Outcasts Shop': 0x60,
'Dark Lake Hylia Shop': 0x60,
'Dark World Lumberjack Shop': 0x60,
'Dark World Potion Shop': 0x60,
'Dark Lake Hylia Ledge Spike Cave': 0x70, 'Dark Lake Hylia Ledge Spike Cave': 0x70,
'Dark Lake Hylia Ledge Hint': 0x6A, 'Dark Lake Hylia Ledge Hint': 0x6A,
'Hype Cave': 0x3D, 'Hype Cave': 0x3D,

View File

@ -287,6 +287,8 @@ def create_playthrough(world):
old_world.spoiler.paths = {location.name : get_path(state, location.parent_region) for sphere in collection_spheres for location in sphere} old_world.spoiler.paths = {location.name : get_path(state, location.parent_region) for sphere in collection_spheres for location in sphere}
if any(exit == 'Pyramid Fairy' for path in old_world.spoiler.paths.values() for (_, exit) in path): if any(exit == 'Pyramid Fairy' for path in old_world.spoiler.paths.values() for (_, exit) in path):
old_world.spoiler.paths['Big Bomb Shop'] = get_path(state, world.get_region('Big Bomb Shop')) old_world.spoiler.paths['Big Bomb Shop'] = get_path(state, world.get_region('Big Bomb Shop'))
if any(exit == 'Swamp Palace Moat' for path in old_world.spoiler.paths.values() for (_, exit) in path) or 'Sunken Treasure' in old_world.required_locations:
old_world.spoiler.paths['Dam'] = get_path(state, world.get_region('Dam'))
# we can finally output our playthrough # we can finally output our playthrough
old_world.spoiler.playthrough = OrderedDict([(str(i + 1), {str(location): str(location.item) for location in sphere}) for i, sphere in enumerate(collection_spheres)]) old_world.spoiler.playthrough = OrderedDict([(str(i + 1), {str(location): str(location.item) for location in sphere}) for i, sphere in enumerate(collection_spheres)])

View File

@ -38,9 +38,17 @@ def create_regions(world):
create_cave_region('Light World Bomb Hut'), create_cave_region('Light World Bomb Hut'),
create_cave_region('Kakariko Shop'), create_cave_region('Kakariko Shop'),
create_cave_region('Fortune Teller (Light)'), create_cave_region('Fortune Teller (Light)'),
create_cave_region('Lake Hylia Fortune Teller'),
create_cave_region('Lumberjack House'), create_cave_region('Lumberjack House'),
create_cave_region('Bonk Fairy'), # near links house both worlds create_cave_region('Bonk Fairy (Light)'),
create_cave_region('Healer Fairy'), # 8 entrances? create_cave_region('Bonk Fairy (Dark)'),
create_cave_region('Lake Hylia Healer Fairy'),
create_cave_region('Swamp Healer Fairy'),
create_cave_region('Desert Healer Fairy'),
create_cave_region('Dark Lake Hylia Healer Fairy'),
create_cave_region('Dark Lake Hylia Ledge Healer Fairy'),
create_cave_region('Dark Desert Healer Fairy'),
create_cave_region('Dark Death Mountain Healer Fairy'),
create_cave_region('Chicken House', ['Chicken House']), create_cave_region('Chicken House', ['Chicken House']),
create_cave_region('Aginahs Cave', ['Aginah\'s Cave']), create_cave_region('Aginahs Cave', ['Aginah\'s Cave']),
create_cave_region('Sahasrahlas Hut', ['Sahasrahla\'s Hut - Left', 'Sahasrahla\'s Hut - Middle', 'Sahasrahla\'s Hut - Right', 'Sahasrahla']), create_cave_region('Sahasrahlas Hut', ['Sahasrahla\'s Hut - Left', 'Sahasrahla\'s Hut - Middle', 'Sahasrahla\'s Hut - Right', 'Sahasrahla']),
@ -68,7 +76,8 @@ def create_regions(world):
create_cave_region('Ice Rod Cave', ['Ice Rod Cave']), create_cave_region('Ice Rod Cave', ['Ice Rod Cave']),
create_cave_region('Good Bee Cave'), create_cave_region('Good Bee Cave'),
create_cave_region('20 Rupee Cave'), create_cave_region('20 Rupee Cave'),
create_cave_region('Cave Shop'), # two connectors in vanilla create_cave_region('Cave Shop (Lake Hylia)'),
create_cave_region('Cave Shop (Dark Death Mountain)'),
create_cave_region('Bonk Rock Cave', ['Bonk Rock Cave']), create_cave_region('Bonk Rock Cave', ['Bonk Rock Cave']),
create_cave_region('Library', ['Library']), create_cave_region('Library', ['Library']),
create_cave_region('Kakariko Gamble Game'), create_cave_region('Kakariko Gamble Game'),
@ -137,8 +146,9 @@ def create_regions(world):
create_dungeon_region('Tower of Hera (Basement)', ['Tower of Hera - Big Key Chest']), create_dungeon_region('Tower of Hera (Basement)', ['Tower of Hera - Big Key Chest']),
create_dungeon_region('Tower of Hera (Top)', ['Tower of Hera - Compass Chest', 'Tower of Hera - Big Chest', 'Tower of Hera - Moldorm', 'Tower of Hera - Prize']), create_dungeon_region('Tower of Hera (Top)', ['Tower of Hera - Compass Chest', 'Tower of Hera - Big Chest', 'Tower of Hera - Moldorm', 'Tower of Hera - Prize']),
create_dw_region('East Dark World', ['Pyramid', 'Catfish'], ['Pyramid Fairy', 'South Dark World Bridge', 'West Dark World Gap', 'Palace of Darkness', 'Dark Lake Hylia Drop (East)', 'Dark Lake Hylia Teleporter', create_dw_region('East Dark World', ['Pyramid'], ['Pyramid Fairy', 'South Dark World Bridge', 'Palace of Darkness', 'Dark Lake Hylia Drop (East)', 'Dark Lake Hylia Teleporter',
'Hyrule Castle Ledge Mirror Spot', 'Dark Lake Hylia Fairy', 'Palace of Darkness Hint', 'East Dark World Hint', 'Dark World Potion Shop', 'Pyramid Hole']), 'Hyrule Castle Ledge Mirror Spot', 'Dark Lake Hylia Fairy', 'Palace of Darkness Hint', 'East Dark World Hint', 'Pyramid Hole', 'Northeast Dark World Broken Bridge Pass']),
create_dw_region('Northeast Dark World', ['Catfish'], ['West Dark World Gap', 'Dark World Potion Shop', 'East Dark World Broken Bridge Pass']),
create_cave_region('Palace of Darkness Hint'), create_cave_region('Palace of Darkness Hint'),
create_cave_region('East Dark World Hint'), create_cave_region('East Dark World Hint'),
create_dw_region('South Dark World', ['Stumpy', 'Digging Game', 'Bombos Tablet'], ['Dark Lake Hylia Drop (South)', 'Hype Cave', 'Swamp Palace', 'Village of Outcasts Heavy Rock', create_dw_region('South Dark World', ['Stumpy', 'Digging Game', 'Bombos Tablet'], ['Dark Lake Hylia Drop (South)', 'Hype Cave', 'Swamp Palace', 'Village of Outcasts Heavy Rock',
@ -156,7 +166,10 @@ def create_regions(world):
'Bat Cave Drop Ledge Mirror Spot', 'Dark World Hammer Peg Cave', 'Red Shield Shop', 'Dark Sanctuary Hint', 'Fortune Teller (Dark)', 'Dark World Shop', 'Dark World Lumberjack Shop']), 'Bat Cave Drop Ledge Mirror Spot', 'Dark World Hammer Peg Cave', 'Red Shield Shop', 'Dark Sanctuary Hint', 'Fortune Teller (Dark)', 'Dark World Shop', 'Dark World Lumberjack Shop']),
create_dw_region('Bumper Cave Entrance', None, ['Bumper Cave (Bottom)', 'Bumper Cave Entrance Mirror Spot', 'Bumper Cave Entrance Drop']), create_dw_region('Bumper Cave Entrance', None, ['Bumper Cave (Bottom)', 'Bumper Cave Entrance Mirror Spot', 'Bumper Cave Entrance Drop']),
create_cave_region('Fortune Teller (Dark)'), create_cave_region('Fortune Teller (Dark)'),
create_cave_region('Dark World Shop'), create_cave_region('Village of Outcasts Shop'),
create_cave_region('Dark Lake Hylia Shop'),
create_cave_region('Dark World Lumberjack Shop'),
create_cave_region('Dark World Potion Shop'),
create_cave_region('Dark World Hammer Peg Cave', ['Peg Cave']), create_cave_region('Dark World Hammer Peg Cave', ['Peg Cave']),
create_cave_region('Pyramid Fairy', ['Pyramid Fairy - Left', 'Pyramid Fairy - Right']), create_cave_region('Pyramid Fairy', ['Pyramid Fairy - Left', 'Pyramid Fairy - Right']),
create_cave_region('Brewery', ['Brewery']), create_cave_region('Brewery', ['Brewery']),

8
Rom.py
View File

@ -15,7 +15,7 @@ from Items import ItemFactory
JAP10HASH = '03a63945398191337e896e5771f77173' JAP10HASH = '03a63945398191337e896e5771f77173'
RANDOMIZERBASEHASH = '4027d54ccf5c3713dacf7c0d4ef72d75' RANDOMIZERBASEHASH = 'c2ee7540753ec0225372669f830b6edd'
class JsonRom(object): class JsonRom(object):
@ -316,7 +316,11 @@ def patch_rom(world, rom, hashtable, beep='normal', sprite=None):
# Thanks to Zarby89 for originally finding these values # Thanks to Zarby89 for originally finding these values
# todo fix screen scrolling # todo fix screen scrolling
if room_id == 0x0059 and world.fix_skullwoods_exit: 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)']:
# 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:
rom.write_int16_to_rom(0x15DB5 + 2 * offset, 0x00F8) rom.write_int16_to_rom(0x15DB5 + 2 * offset, 0x00F8)
elif room_id == 0x004a and world.fix_palaceofdarkness_exit: elif room_id == 0x004a and world.fix_palaceofdarkness_exit:
rom.write_int16_to_rom(0x15DB5 + 2 * offset, 0x0640) rom.write_int16_to_rom(0x15DB5 + 2 * offset, 0x0640)

View File

@ -137,10 +137,11 @@ def global_rules(world):
set_rule(world.get_entrance('East Death Mountain (Top)'), lambda state: state.has('Hammer')) set_rule(world.get_entrance('East Death Mountain (Top)'), lambda state: state.has('Hammer'))
set_rule(world.get_location('Catfish'), lambda state: state.can_lift_rocks()) set_rule(world.get_location('Catfish'), lambda state: state.can_lift_rocks())
set_rule(world.get_entrance('Dark World Potion Shop'), lambda state: state.has_Pearl() and (state.can_lift_rocks() or state.has('Hammer') or state.has('Flippers'))) set_rule(world.get_entrance('Northeast Dark World Broken Bridge Pass'), lambda state: state.has_Pearl() and (state.can_lift_rocks() or state.has('Hammer') or state.has('Flippers')))
set_rule(world.get_entrance('East Dark World Broken Bridge Pass'), lambda state: state.has_Pearl() and (state.can_lift_rocks() or state.has('Hammer')))
set_rule(world.get_entrance('South Dark World Bridge'), lambda state: state.has('Hammer') and state.has_Pearl()) set_rule(world.get_entrance('South Dark World Bridge'), lambda state: state.has('Hammer') and state.has_Pearl())
set_rule(world.get_entrance('Bonk Fairy (Dark)'), lambda state: state.has_Pearl() and state.has_Boots()) set_rule(world.get_entrance('Bonk Fairy (Dark)'), lambda state: state.has_Pearl() and state.has_Boots())
set_rule(world.get_entrance('West Dark World Gap'), lambda state: state.has_Pearl() and state.has('Hookshot') and (state.has('Flippers') or state.has('Hammer') or state.can_lift_rocks())) set_rule(world.get_entrance('West Dark World Gap'), lambda state: state.has_Pearl() and state.has('Hookshot'))
set_rule(world.get_entrance('Palace of Darkness'), lambda state: state.has_Pearl()) # kiki needs pearl set_rule(world.get_entrance('Palace of Darkness'), lambda state: state.has_Pearl()) # kiki needs pearl
set_rule(world.get_entrance('Hyrule Castle Ledge Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Hyrule Castle Ledge Mirror Spot'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('Hyrule Castle Main Gate'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Hyrule Castle Main Gate'), lambda state: state.has_Mirror())

File diff suppressed because one or more lines are too long