diff --git a/Dungeons.py b/Dungeons.py index 8fc54156..7b888f5b 100644 --- a/Dungeons.py +++ b/Dungeons.py @@ -13,7 +13,18 @@ def create_dungeons(world, player): dungeon.world = world return dungeon - ES = make_dungeon('Hyrule Castle', 1, None, hyrule_castle_regions, None, [ItemFactory('Small Key (Escape)', player)], [ItemFactory('Map (Escape)', player)]) + hc_dungeon_items = ['Map (Escape)'] + at_dungeon_items = [] + + if world.dropshuffle[player] == 'underworld' or world.pottery[player] in ['dungeon', 'reduced', 'clustered', 'nonempty', 'lottery']: + hc_dungeon_items.append('Compass (Escape)') + at_dungeon_items.append('Compass (Agahnims Tower)') + elif world.compassshuffle[player] == 'wild': + hc_dungeon_items.append('Compass (Escape)') + if world.keyshuffle[player] == 'wild': + at_dungeon_items.append('Compass (Agahnims Tower)') + + ES = make_dungeon('Hyrule Castle', 1, None, hyrule_castle_regions, None, [ItemFactory('Small Key (Escape)', player)], ItemFactory(hc_dungeon_items, player)) EP = make_dungeon('Eastern Palace', 2, 'Armos Knights', eastern_regions, ItemFactory('Big Key (Eastern Palace)', player), [], ItemFactory(['Map (Eastern Palace)', 'Compass (Eastern Palace)'], player)) DP = make_dungeon('Desert Palace', 3, 'Lanmolas', desert_regions, ItemFactory('Big Key (Desert Palace)', player), [ItemFactory('Small Key (Desert Palace)', player)], ItemFactory(['Map (Desert Palace)', 'Compass (Desert Palace)'], player)) ToH = make_dungeon('Tower of Hera', 10, 'Moldorm', hera_regions, ItemFactory('Big Key (Tower of Hera)', player), [ItemFactory('Small Key (Tower of Hera)', player)], ItemFactory(['Map (Tower of Hera)', 'Compass (Tower of Hera)'], player)) @@ -24,7 +35,7 @@ def create_dungeons(world, player): IP = make_dungeon('Ice Palace', 9, 'Kholdstare', ice_regions, ItemFactory('Big Key (Ice Palace)', player), ItemFactory(['Small Key (Ice Palace)'] * 2, player), ItemFactory(['Map (Ice Palace)', 'Compass (Ice Palace)'], player)) MM = make_dungeon('Misery Mire', 7, 'Vitreous', mire_regions, ItemFactory('Big Key (Misery Mire)', player), ItemFactory(['Small Key (Misery Mire)'] * 3, player), ItemFactory(['Map (Misery Mire)', 'Compass (Misery Mire)'], player)) TR = make_dungeon('Turtle Rock', 12, 'Trinexx', tr_regions, ItemFactory('Big Key (Turtle Rock)', player), ItemFactory(['Small Key (Turtle Rock)'] * 4, player), ItemFactory(['Map (Turtle Rock)', 'Compass (Turtle Rock)'], player)) - AT = make_dungeon('Agahnims Tower', 4, 'Agahnim', tower_regions, None, ItemFactory(['Small Key (Agahnims Tower)'] * 2, player), []) + AT = make_dungeon('Agahnims Tower', 4, 'Agahnim', tower_regions, None, ItemFactory(['Small Key (Agahnims Tower)'] * 2, player), ItemFactory(at_dungeon_items, player)) GT = make_dungeon('Ganons Tower', 13, 'Agahnim2', gt_regions, ItemFactory('Big Key (Ganons Tower)', player), ItemFactory(['Small Key (Ganons Tower)'] * 4, player), ItemFactory(['Map (Ganons Tower)', 'Compass (Ganons Tower)'], player)) GT.bosses['bottom'] = BossFactory('Armos Knights', player) diff --git a/ItemList.py b/ItemList.py index 36a2990b..4202719a 100644 --- a/ItemList.py +++ b/ItemList.py @@ -1124,11 +1124,6 @@ def get_pool_core(world, player, progressive, shuffle, difficulty, treasure_hunt diff = difficulties[difficulty] pool.extend(diff.baseitems) - if world.compassshuffle[player] == 'wild': - pool.extend(['Compass (Escape)']) - if world.keyshuffle[player] == 'wild': - pool.extend(['Compass (Agahnims Tower)']) - if bombbag: pool = [item.replace('Bomb Upgrade (+5)','Rupees (5)') for item in pool] pool = [item.replace('Bomb Upgrade (+10)','Rupees (5)') for item in pool] diff --git a/Rom.py b/Rom.py index 0bac0581..0aa48e47 100644 --- a/Rom.py +++ b/Rom.py @@ -44,7 +44,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '8ae09962f63d09c1ba6a8c370819cf4d' +RANDOMIZERBASEHASH = '5a872cafb58faf8d37cff990b477aa41' class JsonRom(object): diff --git a/data/base2current.bps b/data/base2current.bps index 95436056..0e0a8b44 100644 Binary files a/data/base2current.bps and b/data/base2current.bps differ