From 7c8d0dada2bb5a3bbe6a33792c60d11525d9258b Mon Sep 17 00:00:00 2001 From: AmazingAmpharos Date: Tue, 9 Jan 2018 21:14:09 -0600 Subject: [PATCH 1/3] Adjuster Fastmenu Fix It didn't work at all, one line fix, how annoying. --- Gui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gui.py b/Gui.py index cfbb8d1b..5f1e1c0d 100755 --- a/Gui.py +++ b/Gui.py @@ -351,7 +351,7 @@ def guiMain(args=None): def adjustRom(): guiargs = Namespace guiargs.heartbeep = heartbeepVar.get() - guiargs.fastmenu = bool(fastMenuVar.get()) + guiargs.fastmenu = fastMenuVar.get() guiargs.quickswap = bool(quickSwapVar.get()) guiargs.disablemusic = bool(disableMusicVar.get()) guiargs.rom = romVar2.get() From e0026725033a8541e83f09bf61916d0808d903a5 Mon Sep 17 00:00:00 2001 From: Kevin Cathcart Date: Thu, 18 Jan 2018 01:38:28 -0500 Subject: [PATCH 2/3] Critical fixes for bunny logic --- EntranceShuffle.py | 11 +++++++---- Plandomizer_Template.txt | 2 +- Regions.py | 17 ++++++++++------- Rules.py | 10 +++++----- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/EntranceShuffle.py b/EntranceShuffle.py index abf9e05c..87671a86 100644 --- a/EntranceShuffle.py +++ b/EntranceShuffle.py @@ -1069,7 +1069,7 @@ Bomb_Shop_Single_Cave_Doors = ['Waterfall of Wishing', 'Spike Cave', 'Cave Shop (Dark Death Mountain)', 'Dark Death Mountain Fairy', - 'Mimic Cave Mirror Spot', + 'Mimic Cave', 'Big Bomb Shop', 'Dark Lake Hylia Shop'] @@ -1210,7 +1210,7 @@ mandatory_connections = [('Links House', 'Links House'), # unshuffled. For now ('Bumper Cave Ledge Mirror Spot', 'Death Mountain Return Ledge'), ('Skull Woods Forest', 'Skull Woods Forest'), ('Desert Ledge Mirror Spot', 'Desert Ledge'), - ('Desert Ledge (West) Mirror Spot', 'Desert Ledge (West)'), + ('Desert Ledge (Northeast) Mirror Spot', 'Desert Ledge (Northeast)'), ('Desert Palace Entrance (North) Mirror Spot', 'Desert Palace Entrance (North) Spot'), ('Dark Desert Teleporter', 'Dark Desert'), ('Desert Palace Stairs Mirror Spot', 'Desert Palace Stairs'), @@ -1238,6 +1238,9 @@ mandatory_connections = [('Links House', 'Links House'), # unshuffled. For now ('East Death Mountain Teleporter', 'Dark Death Mountain (East Bottom)'), ('Isolated Ledge Mirror Spot', 'Fairy Ascension Ledge'), ('Spiral Cave Mirror Spot', 'Spiral Cave Ledge'), + ('Mimic Cave Mirror Spot', 'Mimic Cave Ledge'), + ('Cave 45 Mirror Spot', 'Cave 45 Ledge'), + ('Graveyard Ledge Mirror Spot', 'Graveyard Ledge'), ('Swamp Palace Moat', 'Swamp Palace (First Room)'), ('Swamp Palace Small Key Door', 'Swamp Palace (Starting Area)'), @@ -1445,7 +1448,7 @@ default_connections = [('Waterfall of Wishing', 'Waterfall of Wishing'), ('Hookshot Cave Exit (South)', 'Dark Death Mountain (Top)'), ('Hookshot Cave Exit (North)', 'Death Mountain Floating Island (Dark World)'), ('Hookshot Cave Back Entrance', 'Hookshot Cave'), - ('Mimic Cave Mirror Spot', 'Mimic Cave'), + ('Mimic Cave', 'Mimic Cave'), ('Pyramid Hole', 'Pyramid'), ('Pyramid Exit', 'Pyramid Ledge'), @@ -1647,7 +1650,7 @@ door_addresses = {'Desert Palace Entrance (South)': ((0xDBB7B, 0x15B02),), 'Spike Cave': (0xDBBB3, 'Spike Cave'), 'Cave Shop (Dark Death Mountain)': (0xDBBE0, 'Cave Shop'), 'Dark Death Mountain Fairy': (0xDBBE2, 'Healer Fairy'), - 'Mimic Cave Mirror Spot': (0xDBBC1, 'Mimic Cave'), + 'Mimic Cave': (0xDBBC1, 'Mimic Cave'), 'Big Bomb Shop': (0xDBBC5, 'Big Bomb Shop'), 'Dark Lake Hylia Shop': (0xDBBE6, 'Dark World Shop'), 'Lumberjack House': (0xDBBE8, 'Lumberjack House'), diff --git a/Plandomizer_Template.txt b/Plandomizer_Template.txt index 44373a4b..514e2f2c 100644 --- a/Plandomizer_Template.txt +++ b/Plandomizer_Template.txt @@ -52,7 +52,7 @@ Hobo: Bottle Lost Woods Hideout: Nothing Lumberjack Tree: Nothing Cave 45: Nothing -Graveyard Ledge: Nothing +Graveyard Cave: Nothing Checkerboard Cave: Nothing Mini Moldorm Cave - Far Left: Nothing Mini Moldorm Cave - Left: Nothing diff --git a/Regions.py b/Regions.py index b59d80d8..88df41a7 100644 --- a/Regions.py +++ b/Regions.py @@ -56,8 +56,10 @@ def create_regions(world): create_region('Lost Woods Hideout (bottom)', None, ['Lost Woods Hideout Exit']), create_region('Lumberjack Tree (top)', ['Lumberjack Tree'], ['Lumberjack Tree (top to bottom)']), create_region('Lumberjack Tree (bottom)', None, ['Lumberjack Tree Exit']), + create_region('Cave 45 Ledge', None, ['Cave 45']), create_region('Cave 45', ['Cave 45']), - create_region('Graveyard Cave', ['Graveyard Ledge']), + create_region('Graveyard Ledge', None, ['Graveyard Cave']), + create_region('Graveyard Cave', ['Graveyard Cave']), create_region('Checkerboard Cave', ['Checkerboard Cave']), create_region('Long Fairy Cave'), create_region('Mini Moldorm Cave', ['Mini Moldorm Cave - Far Left', 'Mini Moldorm Cave - Left', 'Mini Moldorm Cave - Right', @@ -76,7 +78,7 @@ def create_regions(world): create_region('Maze Race Ledge', ['Maze Race'], ['Two Brothers House (West)']), create_region('50 Rupee Cave'), create_region('Desert Ledge', ['Desert Ledge'], ['Desert Palace Entrance (North) Rocks', 'Desert Palace Entrance (West)']), - create_region('Desert Ledge (West)', None, ['Checkerboard Cave']), + create_region('Desert Ledge (Northeast)', None, ['Checkerboard Cave']), create_region('Desert Palace Stairs', None, ['Desert Palace Entrance (South)']), create_region('Desert Palace Lone Stairs', None, ['Desert Palace Stairs Drop', 'Desert Palace Entrance (East)']), create_region('Desert Palace Entrance (North) Spot', None, ['Desert Palace Entrance (North)', 'Desert Ledge Return Rocks']), @@ -138,7 +140,7 @@ def create_regions(world): create_region('Palace of Darkness Hint'), create_region('East Dark World Hint'), create_region('South Dark World', ['Stumpy', 'Digging Game', 'Bombos Tablet'], ['Dark Lake Hylia Drop (South)', 'Hype Cave', 'Swamp Palace', 'Village of Outcasts Heavy Rock', - 'Maze Race Mirror Spot', 'Cave 45', 'East Dark World Bridge', 'Big Bomb Shop', 'Archery Game', 'Bonk Fairy (Dark)', 'Dark Lake Hylia Shop']), + 'Maze Race Mirror Spot', 'Cave 45 Mirror Spot', 'East Dark World Bridge', 'Big Bomb Shop', 'Archery Game', 'Bonk Fairy (Dark)', 'Dark Lake Hylia Shop']), create_region('Big Bomb Shop'), create_region('Archery Game'), create_region('Dark Lake Hylia', None, ['Lake Hylia Island Mirror Spot', 'East Dark World Pier', 'Dark Lake Hylia Ledge']), @@ -148,7 +150,7 @@ def create_regions(world): create_region('Dark Lake Hylia Ledge Spike Cave'), create_region('Hype Cave', ['Hype Cave - Top', 'Hype Cave - Middle Right', 'Hype Cave - Middle Left', 'Hype Cave - Bottom', 'Hype Cave - Generous Guy']), - create_region('West Dark World', None, ['Village of Outcasts Drop', 'East Dark World River Pier', 'Brewery', 'C-Shaped House', 'Chest Game', 'Thieves Town', 'Graveyard Cave', 'Bumper Cave (Bottom)', 'Skull Woods Forest', + create_region('West Dark World', None, ['Village of Outcasts Drop', 'East Dark World River Pier', 'Brewery', 'C-Shaped House', 'Chest Game', 'Thieves Town', 'Graveyard Ledge Mirror Spot', 'Bumper Cave (Bottom)', 'Skull Woods Forest', '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_region('Fortune Teller (Dark)'), create_region('Dark World Shop'), @@ -164,7 +166,7 @@ def create_regions(world): create_region('Skull Woods Forest', None, ['Skull Woods First Section Hole (East)', 'Skull Woods First Section Hole (West)', 'Skull Woods First Section Hole (North)', 'Skull Woods First Section Door', 'Skull Woods Second Section Door (East)']), create_region('Skull Woods Forest (West)', None, ['Skull Woods Second Section Hole', 'Skull Woods Second Section Door (West)', 'Skull Woods Final Section']), - create_region('Dark Desert', None, ['Misery Mire', 'Mire Shed', 'Desert Ledge (West) Mirror Spot', 'Desert Ledge Mirror Spot', 'Desert Palace Stairs Mirror Spot', 'Desert Palace Entrance (North) Mirror Spot', + create_region('Dark Desert', None, ['Misery Mire', 'Mire Shed', 'Desert Ledge (Northeast) Mirror Spot', 'Desert Ledge Mirror Spot', 'Desert Palace Stairs Mirror Spot', 'Desert Palace Entrance (North) Mirror Spot', 'Dark Desert Hint', 'Dark Desert Fairy']), create_region('Mire Shed', ['Mire Shed - Left', 'Mire Shed - Right']), create_region('Dark Desert Hint'), @@ -182,6 +184,7 @@ def create_regions(world): create_region('Death Mountain Floating Island (Dark World)', None, ['Floating Island Drop', 'Hookshot Cave Back Entrance', 'Floating Island Mirror Spot']), create_region('Death Mountain Floating Island (Light World)', ['Floating Island']), create_region('Turtle Rock (Top)', None, ['Turtle Rock Drop']), + create_region('Mimic Cave Ledge', None, ['Mimic Cave']), create_region('Mimic Cave', ['Mimic Cave']), create_region('Swamp Palace (Entrance)', None, ['Swamp Palace Moat', 'Swamp Palace Exit']), @@ -292,7 +295,7 @@ def mark_light_world_regions(world): # Exclude entrances that represent connections from the light world to the dark world excluded_entrances = set(['Top of Pyramid', 'Lake Hylia Central Island Teleporter', 'Dark Desert Teleporter', 'East Hyrule Teleporter', 'South Hyrule Teleporter', 'Kakariko Teleporter', 'Death Mountain Teleporter', 'East Death Mountain Teleporter', 'Turtle Rock Teleporter']) - starting_regions = ['Links House', 'Cave 45', 'Graveyard Cave', 'Mimic Cave', 'Death Mountain Floating Island (Light World)', 'Desert Ledge (West)', 'Lake Hylia Island', 'Spectacle Rock'] + starting_regions = ['Links House', 'Cave 45 Ledge', 'Graveyard Ledge', 'Mimic Cave Ledge', 'Death Mountain Floating Island (Light World)', 'Desert Ledge', 'Desert Ledge (Northeast)', 'Lake Hylia Island', 'Spectacle Rock', 'Death Mountain Return Ledge', 'Hyrule Castle Ledge','Maze Race Ledge'] queue = collections.deque([world.get_region(region) for region in starting_regions]) seen = set(queue) while queue: @@ -344,7 +347,7 @@ location_table = {'Mushroom': (0x180013, False, 'in the woods'), 'Lost Woods Hideout': (0x180000, False, 'near a thief'), 'Lumberjack Tree': (0x180001, False, 'in a hole'), 'Cave 45': (0x180003, False, 'alone in a cave'), - 'Graveyard Ledge': (0x180004, False, 'alone in a cave'), + 'Graveyard Cave': (0x180004, False, 'alone in a cave'), 'Checkerboard Cave': (0x180005, False, 'alone in a cave'), 'Mini Moldorm Cave - Far Left': (0xEB42, False, 'near Moldorms'), 'Mini Moldorm Cave - Left': (0xEB45, False, 'near Moldorms'), diff --git a/Rules.py b/Rules.py index e697996d..36b044f1 100644 --- a/Rules.py +++ b/Rules.py @@ -154,12 +154,12 @@ def global_rules(world): set_rule(world.get_entrance('Thieves Town'), lambda state: state.has_Pearl()) # bunny cannot pull set_rule(world.get_entrance('Skull Woods First Section Hole (North)'), lambda state: state.has_Pearl()) # bunny cannot lift bush set_rule(world.get_entrance('Maze Race Mirror Spot'), lambda state: state.has_Mirror()) - set_rule(world.get_entrance('Cave 45'), lambda state: state.has_Mirror()) + set_rule(world.get_entrance('Cave 45 Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('East Dark World Bridge'), lambda state: state.has_Pearl() and state.has('Hammer')) set_rule(world.get_entrance('Lake Hylia Island Mirror Spot'), lambda state: state.has_Pearl() and state.has_Mirror() and state.has('Flippers')) set_rule(world.get_entrance('Lake Hylia Central Island Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('East Dark World River Pier'), lambda state: state.has_Pearl() and state.has('Flippers')) # ToDo any fake flipper set up? - set_rule(world.get_entrance('Graveyard Cave'), lambda state: state.has_Pearl() and state.has_Mirror()) + set_rule(world.get_entrance('Graveyard Ledge Mirror Spot'), lambda state: state.has_Pearl() and state.has_Mirror()) set_rule(world.get_entrance('Bumper Cave (Bottom)'), lambda state: state.has_Pearl() and state.can_lift_rocks()) set_rule(world.get_entrance('Bumper Cave Ledge Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Bat Cave Drop Ledge Mirror Spot'), lambda state: state.has_Pearl() and state.can_lift_heavy_rocks() and state.has_Mirror()) @@ -170,7 +170,7 @@ def global_rules(world): set_rule(world.get_entrance('Skull Woods Final Section'), lambda state: state.has('Fire Rod') and state.has_Pearl()) # bunny cannot use fire rod set_rule(world.get_entrance('Misery Mire'), lambda state: state.has_Pearl() and state.has_sword() and state.has_misery_mire_medallion()) # sword required to cast magic (!) - set_rule(world.get_entrance('Desert Ledge (West) Mirror Spot'), lambda state: state.has_Mirror()) + set_rule(world.get_entrance('Desert Ledge (Northeast) Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Desert Ledge Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Desert Palace Stairs Mirror Spot'), lambda state: state.has_Mirror()) @@ -601,7 +601,7 @@ def set_big_bomb_rules(world): Isolated_DW_entrances = ['Spike Cave', 'Cave Shop (Dark Death Mountain)', 'Dark Death Mountain Fairy', - 'Mimic Cave Mirror Spot'] + 'Mimic Cave'] Isolated_LW_entrances = ['Capacity Upgrade', 'Hookshot Fairy'] set_rule(world.get_entrance('Pyramid Fairy'), lambda state: state.can_reach('East Dark World', 'Region') and state.can_reach('Big Bomb Shop', 'Region') and state.has('Crystal 5') and state.has('Crystal 6')) @@ -666,7 +666,7 @@ def set_bunny_rules(world): if region.is_light_world: continue for exit in region.exits: - add_rule(exit, lambda state: state.has_Pearl) + add_rule(exit, lambda state: state.has_Pearl()) # Add a moon pearl requirement for all locations that are actually in the dark world, except those available to the bunny for location in world.get_locations(): From 9f76ab025b3707deb56328ad8315b96ebfe259cc Mon Sep 17 00:00:00 2001 From: AmazingAmpharos Date: Thu, 18 Jan 2018 01:10:39 -0600 Subject: [PATCH 3/3] 0.5.2.1 new logic hash --- Main.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Main.py b/Main.py index 4e198ce2..44597dc8 100644 --- a/Main.py +++ b/Main.py @@ -15,24 +15,24 @@ from Fill import distribute_items_cutoff, distribute_items_staleness, distribute from ItemList import generate_itempool, difficulties from Utils import output_path -__version__ = '0.5.2-dev' +__version__ = '0.5.2.1-dev' -logic_hash = [84, 16, 141, 33, 92, 37, 243, 181, 99, 63, 34, 196, 242, 156, 170, 54, - 249, 188, 62, 89, 236, 131, 109, 118, 24, 116, 239, 48, 227, 30, 126, 43, - 160, 20, 12, 130, 201, 166, 23, 76, 195, 21, 238, 145, 228, 178, 229, 47, - 230, 32, 207, 191, 204, 152, 240, 64, 124, 215, 55, 245, 176, 150, 198, 19, - 67, 151, 222, 175, 127, 246, 26, 162, 112, 173, 205, 83, 86, 121, 79, 75, - 185, 102, 157, 85, 69, 4, 125, 211, 115, 155, 78, 220, 45, 169, 143, 18, - 31, 187, 184, 50, 154, 193, 57, 72, 182, 119, 90, 216, 101, 194, 49, 107, - 15, 98, 117, 226, 241, 134, 167, 29, 17, 68, 234, 11, 66, 28, 172, 53, - 97, 183, 250, 14, 221, 110, 104, 203, 200, 153, 137, 128, 105, 6, 8, 142, - 88, 7, 0, 212, 46, 251, 135, 147, 95, 202, 93, 189, 114, 225, 25, 161, - 158, 218, 210, 174, 146, 214, 252, 74, 164, 237, 35, 165, 70, 171, 65, 219, - 27, 38, 224, 51, 248, 82, 122, 148, 73, 60, 168, 247, 163, 41, 44, 133, - 209, 139, 2, 106, 22, 80, 81, 180, 103, 9, 235, 213, 138, 94, 208, 132, - 77, 61, 254, 96, 186, 253, 217, 199, 42, 40, 223, 177, 3, 159, 255, 113, - 58, 129, 197, 91, 52, 233, 1, 144, 59, 123, 87, 149, 140, 231, 5, 10, - 36, 111, 136, 232, 108, 192, 39, 56, 13, 120, 71, 190, 179, 206, 244, 100] +logic_hash = [85, 160, 173, 64, 16, 14, 97, 193, 219, 26, 11, 156, 198, 142, 213, 141, + 55, 60, 32, 174, 77, 128, 147, 3, 1, 118, 74, 50, 243, 6, 251, 36, + 194, 65, 217, 120, 94, 150, 108, 99, 222, 233, 96, 70, 225, 236, 103, 21, + 241, 138, 144, 95, 164, 62, 183, 25, 203, 33, 240, 228, 224, 181, 176, 155, + 247, 151, 140, 24, 221, 53, 83, 37, 71, 195, 188, 184, 90, 61, 13, 154, + 57, 230, 179, 45, 23, 59, 238, 130, 121, 5, 165, 38, 216, 136, 199, 132, + 255, 34, 212, 208, 227, 126, 226, 104, 98, 75, 166, 158, 40, 234, 111, 72, + 58, 133, 157, 252, 192, 84, 152, 116, 177, 124, 190, 46, 214, 8, 10, 81, + 244, 67, 182, 2, 0, 237, 145, 80, 7, 197, 137, 168, 102, 235, 204, 91, + 69, 9, 100, 139, 54, 172, 232, 105, 162, 115, 242, 170, 169, 254, 20, 117, + 180, 220, 191, 110, 93, 163, 223, 185, 211, 210, 39, 47, 114, 207, 73, 146, + 112, 12, 78, 4, 88, 171, 106, 87, 127, 123, 41, 178, 43, 201, 202, 167, + 35, 30, 122, 44, 209, 19, 249, 18, 113, 186, 49, 52, 161, 86, 200, 149, + 218, 107, 29, 27, 135, 159, 66, 17, 131, 129, 76, 250, 15, 248, 82, 239, + 68, 63, 143, 28, 153, 48, 101, 119, 51, 31, 215, 42, 187, 92, 109, 245, + 22, 56, 89, 206, 148, 229, 175, 134, 189, 205, 79, 196, 246, 253, 231, 125] def main(args, seed=None):