From ac14675461e40d2a0a8f5c1d9c30e69661c4010b Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Mon, 12 Jul 2021 16:36:45 -0700 Subject: [PATCH] Update code to not start with bombs in bomb-only mode --- BaseClasses.py | 17 +++++++++++++---- ItemList.py | 2 +- Items.py | 11 ++++++----- Rom.py | 4 ++-- Rules.py | 32 ++++++++++++++++---------------- data/base2current.bps | Bin 143000 -> 143114 bytes 6 files changed, 38 insertions(+), 28 deletions(-) diff --git a/BaseClasses.py b/BaseClasses.py index e156830c..a63fe4e5 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -350,8 +350,10 @@ class World(object): ret.prog_items['L4 Bombs', item.player] += 1 elif ret.has('L2 Bombs', item.player): ret.prog_items['L3 Bombs', item.player] += 1 - else: + elif ret.has('L1 Bombs', item.player): ret.prog_items['L2 Bombs', item.player] += 1 + else: + ret.prog_items['L1 Bombs', item.player] += 1 elif 'Glove' in item.name: if ret.has('Titans Mitts', item.player): pass @@ -741,10 +743,10 @@ class CollectionState(object): or self.can_shoot_arrows(player) or self.has('Fire Rod', player))) - # In the future, this can be used to check if the player starts without bombs + # Check if the player starts without bombs def can_use_bombs(self, player): StartingBombs = True - return StartingBombs or self.has('Bomb Upgrade (+10)', player) + return (self.bomb_mode_check(player, 1) and (StartingBombs or self.has('Bomb Upgrade (+10)', player))) def can_hit_crystal(self, player): return (self.can_use_bombs(player) @@ -800,6 +802,8 @@ class CollectionState(object): return self.has('L5 Bombs', player) or self.has('L4 Bombs', player) or self.has('L3 Bombs', player) elif level == 2: return self.has('L5 Bombs', player) or self.has('L4 Bombs', player) or self.has('L3 Bombs', player) or self.has('L2 Bombs', player) + elif level == 1: + return self.has('L5 Bombs', player) or self.has('L4 Bombs', player) or self.has('L3 Bombs', player) or self.has('L2 Bombs', player) or self.has('L1 Bombs', player) return True def bomb_mode_check(self, player, level): @@ -952,9 +956,12 @@ class CollectionState(object): elif self.has('L2 Bombs', item.player): self.prog_items['L3 Bombs', item.player] += 1 changed = True - else: + elif self.has('L1 Bombs', item.player): self.prog_items['L2 Bombs', item.player] += 1 changed = True + else: + self.prog_items['L1 Bombs', item.player] += 1 + changed = True elif 'Glove' in item.name: if self.has('Titans Mitts', item.player): pass @@ -1036,6 +1043,8 @@ class CollectionState(object): to_remove = 'L3 Bombs' elif self.has('L2 Bombs', item.player): to_remove = 'L2 Bombs' + elif self.has('L1 Bombs', item.player): + to_remove = 'L1 Bombs' else: to_remove = None elif 'Glove' in item.name: diff --git a/ItemList.py b/ItemList.py index d5413b75..f74eb0f8 100644 --- a/ItemList.py +++ b/ItemList.py @@ -905,7 +905,7 @@ def make_custom_item_pool(progressive, shuffle, difficulty, timer, goal, mode, s itemtotal = itemtotal + customitemarray["generickeys"] customitems = [ - "Bow", "Silver Arrows", "Blue Boomerang", "Red Boomerang", "Hookshot", "Mushroom", "Magic Powder", "Fire Rod", "Ice Rod", "Bombos", "Ether", "Quake", "Lamp", "Hammer", "Shovel", "Ocarina", "Bug Catching Net", "Book of Mudora", "Cane of Somaria", "Cane of Byrna", "Cape", "Pegasus Boots", "Power Glove", "Titans Mitts", "Progressive Glove", "Flippers", "Piece of Heart", "Boss Heart Container", "Sanctuary Heart Container", "Master Sword", "Tempered Sword", "Golden Sword", "L2 Bombs", "L3 Bombs", "L4 Bombs", "L5 Bombs", "Progressive Bombs", "Blue Shield", "Red Shield", "Mirror Shield", "Progressive Shield", "Blue Mail", "Red Mail", "Progressive Armor", "Magic Upgrade (1/2)", "Magic Upgrade (1/4)", "Bomb Upgrade (+5)", "Bomb Upgrade (+10)", "Arrow Upgrade (+5)", "Arrow Upgrade (+10)", "Single Arrow", "Arrows (10)", "Single Bomb", "Bombs (3)", "Rupee (1)", "Rupees (5)", "Rupees (20)", "Rupees (50)", "Rupees (100)", "Rupees (300)", "Rupoor", "Blue Clock", "Green Clock", "Red Clock", "Progressive Bow", "Bombs (10)", "Triforce Piece", "Triforce" + "Bow", "Silver Arrows", "Blue Boomerang", "Red Boomerang", "Hookshot", "Mushroom", "Magic Powder", "Fire Rod", "Ice Rod", "Bombos", "Ether", "Quake", "Lamp", "Hammer", "Shovel", "Ocarina", "Bug Catching Net", "Book of Mudora", "Cane of Somaria", "Cane of Byrna", "Cape", "Pegasus Boots", "Power Glove", "Titans Mitts", "Progressive Glove", "Flippers", "Piece of Heart", "Boss Heart Container", "Sanctuary Heart Container", "Master Sword", "Tempered Sword", "Golden Sword", "L1 Bombs", "L2 Bombs", "L3 Bombs", "L4 Bombs", "L5 Bombs", "Progressive Bombs", "Blue Shield", "Red Shield", "Mirror Shield", "Progressive Shield", "Blue Mail", "Red Mail", "Progressive Armor", "Magic Upgrade (1/2)", "Magic Upgrade (1/4)", "Bomb Upgrade (+5)", "Bomb Upgrade (+10)", "Arrow Upgrade (+5)", "Arrow Upgrade (+10)", "Single Arrow", "Arrows (10)", "Single Bomb", "Bombs (3)", "Rupee (1)", "Rupees (5)", "Rupees (20)", "Rupees (50)", "Rupees (100)", "Rupees (300)", "Rupoor", "Blue Clock", "Green Clock", "Red Clock", "Progressive Bow", "Bombs (10)", "Triforce Piece", "Triforce" ] for customitem in customitems: pool.extend([customitem] * customitemarray[get_custom_array_key(customitem)]) diff --git a/Items.py b/Items.py index be566bc8..53a62ee4 100644 --- a/Items.py +++ b/Items.py @@ -166,11 +166,12 @@ item_table = {'Bow': (True, False, None, 0x0B, 200, 'You have\nchosen the\narche 'Small Key (Universal)': (False, True, None, 0xAF, 100, 'A small key for any door', 'and the key', 'the unlocking kid', 'keys for sale', 'unlock the fungus', 'key boy opens door again', 'a small key'), 'Nothing': (False, False, None, 0x5A, 1, 'Some Hot Air', 'and the Nothing', 'the zen kid', 'outright theft', 'shroom theft', 'empty boy is bored again', 'nothing'), 'Bee Trap': (False, False, None, 0xB0, 50, 'We will sting your face a whole lot!', 'and the sting buddies', 'the beekeeper kid', 'insects for sale', 'shroom pollenation', 'bottle boy has mad bees again', 'friendship'), - 'L2 Bombs': (True, False, 'SwordBomb', 0xB1, 100, 'Some decent\nexplosives\nrest here!', 'the decent grenades', 'the bomb-holding kid', 'better booms for sale', 'blend fungus into bombs', '\'splosion boy explodes againsword boy fights again', 'fancy bombs'), - 'L3 Bombs': (True, False, 'SwordBomb', 0xB2, 150, 'Some good\nexplosives\nrest here!', 'the good grenades sword', 'the bomb-holding kid', 'better booms for sale', 'blend fungus into bombs', '\'splosion boy explodes againsword boy fights again', 'fancy bombs'), - 'L4 Bombs': (True, False, 'SwordBomb', 0xB3, 200, 'The golden\nexplosives\nrest here!', 'the golden grenades', 'the bomb-holding kid', 'better booms for sale', 'blend fungus into bombs', '\'splosion boy explodes againsword boy fights again', 'fancy bombs'), - 'L5 Bombs': (True, False, 'SwordBomb', 0xB4, 200, 'The golden\nexplosives\nrest here!', 'the golden grenades', 'the bomb-holding kid', 'better booms sale', 'blend fungus into bombs', '\'splosion boy explodes againsword boy fights again', 'fancy bombs'), - 'Progressive Bombs': (True, False, 'SwordBomb', 0xB5, 200, 'throw more\npowerful\nexplosives', 'the unknown grenades', 'the bomb-holding kid', 'better booms sale', 'blend fungus into bombs', '\'splosion boy explodes again', 'fancy bombs'), + 'L1 Bombs': (True, False, 'SwordBomb', 0xB1, 50, 'Some basic\nexplosives\nrest here!', 'the basic grenades', 'the bomb-holding kid', 'booms for sale', 'blend fungus into bombs', '\'splosion boy explodes again', 'basic bombs'), + 'L2 Bombs': (True, False, 'SwordBomb', 0xB2, 100, 'Some decent\nexplosives\nrest here!', 'the decent grenades', 'the bomb-holding kid', 'better booms for sale', 'blend fungus into bombs', '\'splosion boy explodes again', 'fancy bombs'), + 'L3 Bombs': (True, False, 'SwordBomb', 0xB3, 150, 'Some good\nexplosives\nrest here!', 'the good grenades sword', 'the bomb-holding kid', 'better booms for sale', 'blend fungus into bombs', '\'splosion boy explodes again', 'fancy bombs'), + 'L4 Bombs': (True, False, 'SwordBomb', 0xB4, 200, 'The golden\nexplosives\nrest here!', 'the golden grenades', 'the bomb-holding kid', 'better booms for sale', 'blend fungus into bombs', '\'splosion boy explodes again', 'fancy bombs'), + 'L5 Bombs': (True, False, 'SwordBomb', 0xB5, 200, 'The golden\nexplosives\nrest here!', 'the golden grenades', 'the bomb-holding kid', 'better booms sale', 'blend fungus into bombs', '\'splosion boy explodes again', 'fancy bombs'), + 'Progressive Bombs': (True, False, 'SwordBomb', 0xB6, 200, 'throw more\npowerful\nexplosives', 'the unknown grenades', 'the bomb-holding kid', 'better booms sale', 'blend fungus into bombs', '\'splosion boy explodes again', 'fancy bombs'), 'Red Potion': (False, False, None, 0x2E, 150, 'Hearty red goop!', 'and the red goo', 'the liquid kid', 'potion for sale', 'free samples', 'bottle boy has red goo again', 'a red potion'), 'Green Potion': (False, False, None, 0x2F, 60, 'Refreshing green goop!', 'and the green goo', 'the liquid kid', 'potion for sale', 'free samples', 'bottle boy has green goo again', 'a green potion'), 'Blue Potion': (False, False, None, 0x30, 160, 'Delicious blue goop!', 'and the blue goo', 'the liquid kid', 'potion for sale', 'free samples', 'bottle boy has blue goo again', 'a blue potion'), diff --git a/Rom.py b/Rom.py index 0281ccd8..baf4f0d5 100644 --- a/Rom.py +++ b/Rom.py @@ -31,7 +31,7 @@ from OverworldShuffle import default_flute_connections, flute_data JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'b6c98e872be23f268ff6678aa3eeaee4' +RANDOMIZERBASEHASH = '5a85c6c90ed1e6a66236fd10e96d496b' class JsonRom(object): @@ -894,7 +894,7 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): write_int16(rom, 0x187010, credits_total) # dynamic credits if credits_total != 216: # collection rate address: - cr_address = 0x2391E0 + cr_address = 0x2391DE cr_pc = cr_address - 0x120000 # convert to pc mid_top, mid_bot = credits_digit((credits_total // 10) % 10) last_top, last_bot = credits_digit(credits_total % 10) diff --git a/Rules.py b/Rules.py index 69e129fb..76a311bc 100644 --- a/Rules.py +++ b/Rules.py @@ -172,7 +172,7 @@ def global_rules(world, player): world.get_region('Menu', player).can_reach_private = lambda state: True for exit in world.get_region('Menu', player).exits: exit.hide_path = True - + world.get_region('Flute Sky', player).can_reach_private = lambda state: True for exit in world.get_region('Flute Sky', player).exits: exit.hide_path = True @@ -187,7 +187,7 @@ def global_rules(world, player): set_rule(world.get_entrance('Flute Spot 6', player), lambda state: state.can_flute(player)) set_rule(world.get_entrance('Flute Spot 7', player), lambda state: state.can_flute(player)) set_rule(world.get_entrance('Flute Spot 8', player), lambda state: state.can_flute(player)) - + set_rule(world.get_location('Sunken Treasure', player), lambda state: state.has('Open Floodgate', player)) set_rule(world.get_location('Dark Blacksmith Ruins', player), lambda state: state.has('Return Smith', player)) set_rule(world.get_location('Purple Chest', player), lambda state: state.has('Pick Up Purple Chest', player)) # Can S&Q with chest @@ -610,18 +610,18 @@ def bomb_rules(world, player): bombable_doors = ['Ice Rod Cave', 'Light World Bomb Hut', 'Light World Death Mountain Shop', 'Mini Moldorm Cave', 'Hookshot Cave Exit (South)', 'Hookshot Cave Exit (North)', 'Dark Lake Hylia Ledge Fairy', 'Hype Cave', 'Brewery'] for entrance in bonkable_doors: - add_rule(world.get_entrance(entrance, player), lambda state: state.can_use_bombs(player) or state.has_Boots(player)) + add_rule(world.get_entrance(entrance, player), lambda state: state.can_use_bombs(player) or state.has_Boots(player)) for entrance in bombable_doors: - add_rule(world.get_entrance(entrance, player), lambda state: state.can_use_bombs(player)) + add_rule(world.get_entrance(entrance, player), lambda state: state.can_use_bombs(player)) bonkable_items = ['Sahasrahla\'s Hut - Left', 'Sahasrahla\'s Hut - Middle', 'Sahasrahla\'s Hut - Right'] bombable_items = ['Blind\'s Hideout - Top', 'Kakariko Well - Top', 'Chicken House', 'Aginah\'s Cave', 'Graveyard Cave', 'Paradox Cave Upper - Left', 'Paradox Cave Upper - Right', 'Hype Cave - Top', 'Hype Cave - Middle Right', 'Hype Cave - Middle Left', 'Hype Cave - Bottom'] for location in bonkable_items: - add_rule(world.get_location(location, player), lambda state: state.can_use_bombs(player) or state.has_Boots(player)) + add_rule(world.get_location(location, player), lambda state: state.can_use_bombs(player) or state.has_Boots(player)) for location in bombable_items: - add_rule(world.get_location(location, player), lambda state: state.can_use_bombs(player)) + add_rule(world.get_location(location, player), lambda state: state.can_use_bombs(player)) cave_kill_locations = ['Mini Moldorm Cave - Far Left', 'Mini Moldorm Cave - Far Right', 'Mini Moldorm Cave - Left', 'Mini Moldorm Cave - Right', 'Mini Moldorm Cave - Generous Guy'] for location in cave_kill_locations: @@ -653,7 +653,7 @@ def bomb_rules(world, player): else: add_rule(world.get_entrance(killdoor, player), lambda state: state.can_kill_most_things(player)) add_rule(world.get_entrance('Ice Stalfos Hint SE', player), lambda state: state.can_use_bombs(player)) # Need bombs for big stalfos knights - add_rule(world.get_entrance('Mire Cross ES', player), lambda state: state.can_kill_most_things(player)) # 4 Sluggulas. Bombs don't work // or (state.can_use_bombs(player) and state.has('Magic Powder'), player) + add_rule(world.get_entrance('Mire Cross ES', player), lambda state: state.can_kill_most_things(player)) # 4 Sluggulas. Bombs don't work // or (state.can_use_bombs(player) and state.has('Magic Powder'), player) enemy_kill_drops = [ # Location, bool-bombable ('Hyrule Castle - Map Guard Key Drop', True), @@ -662,7 +662,7 @@ def bomb_rules(world, player): # ('Hyrule Castle - Big Key Drop', True), # Pots are available # ('Eastern Palace - Dark Eyegore Key Drop', True), # Pots are available ('Castle Tower - Dark Archer Key Drop', True), -# ('Castle Tower - Circle of Pots Key Drop', True), # Pots are available +# ('Castle Tower - Circle of Pots Key Drop', True), # Pots are available # ('Skull Woods - Spike Corner Key Drop', True), # Pots are available ('Ice Palace - Jelly Key Drop', True), ('Ice Palace - Conveyor Key Drop', True), @@ -703,9 +703,9 @@ def bomb_rules(world, player): 'GT Warp Maze (Rails) WS', 'GT Bob\'s Room Hole', 'GT Randomizer Room ES', 'GT Bomb Conveyor SW', 'GT Crystal Circles NW', 'GT Cannonball Bridge SE', 'GT Refill NE' ] for entrance in dungeon_bonkable: - add_rule(world.get_entrance(entrance, player), lambda state: state.can_use_bombs(player) or state.has_Boots(player)) + add_rule(world.get_entrance(entrance, player), lambda state: state.can_use_bombs(player) or state.has_Boots(player)) for entrance in dungeon_bombable: - add_rule(world.get_entrance(entrance, player), lambda state: state.can_use_bombs(player)) + add_rule(world.get_entrance(entrance, player), lambda state: state.can_use_bombs(player)) else: doors_to_bomb_check = [x for x in world.doors if x.player == player and x.type in [DoorType.Normal, DoorType.Interior]] for door in doors_to_bomb_check: @@ -801,9 +801,9 @@ def default_rules(world, player): set_rule(world.get_entrance('Hammer Bridge Pegs (South)', player), lambda state: state.has('Hammer', player)) set_rule(world.get_entrance('Dark C Whirlpool Rock (Bottom)', player), lambda state: state.can_lift_rocks(player)) set_rule(world.get_entrance('Dark C Whirlpool Rock (Top)', player), lambda state: state.can_lift_rocks(player)) - + set_rule(world.get_entrance('Flute Away', player), lambda state: state.can_flute(player)) - + set_rule(world.get_entrance('Zora Waterfall Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Zora Waterfall Water Entry', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Waterfall of Wishing Cave Entry', player), lambda state: state.has('Flippers', player)) @@ -1524,9 +1524,9 @@ std_kill_rooms = { 'Desert Compass Room': ['Desert Compass NW'], # Three popos 'Desert Four Statues': ['Desert Four Statues NW', 'Desert Four Statues ES'], # Four popos 'Hera Beetles': ['Hera Beetles WS'], # Three blue beetles and only two pots, and bombs don't work. - 'Tower Gold Knights': ['Tower Gold Knights SW', 'Tower Gold Knights EN'], # Two ball and chain + 'Tower Gold Knights': ['Tower Gold Knights SW', 'Tower Gold Knights EN'], # Two ball and chain 'Tower Dark Archers': ['Tower Dark Archers WN'], # Not a kill room - 'Tower Red Spears': ['Tower Red Spears WN'], # Two spear soldiers + 'Tower Red Spears': ['Tower Red Spears WN'], # Two spear soldiers 'Tower Red Guards': ['Tower Red Guards EN', 'Tower Red Guards SW'], # Two usain bolts 'Tower Circle of Pots': ['Tower Circle of Pots NW'], # Two spear soldiers. Plenty of pots. 'PoD Turtle Party': ['PoD Turtle Party ES', 'PoD Turtle Party NW'], # Lots of turtles. @@ -2302,14 +2302,14 @@ bunny_impassible_doors = { 'PoD Arena Landing Bonk Path', 'PoD Sexy Statue NW', 'PoD Map Balcony Drop Down', 'PoD Mimics 1 NW', 'PoD Falling Bridge Path N', 'PoD Falling Bridge Path S', 'PoD Mimics 2 NW', 'PoD Bow Statue Down Ladder', 'PoD Dark Pegs Landing to Right', - 'PoD Dark Pegs Left to Middle Barrier - Blue', 'PoD Dark Pegs Left to Ranged Crystal', + 'PoD Dark Pegs Left to Middle Barrier - Blue', 'PoD Dark Pegs Left to Ranged Crystal', 'PoD Turtle Party ES', 'PoD Turtle Party NW', 'PoD Callback Warp', 'Swamp Lobby Moat', 'Swamp Entrance Moat', 'Swamp Trench 1 Approach Swim Depart', 'Swamp Trench 1 Approach Key', 'Swamp Trench 1 Key Approach', 'Swamp Trench 1 Key Ledge Depart', 'Swamp Trench 1 Departure Approach', 'Swamp Trench 1 Departure Key', 'Swamp Hub Hook Path', 'Swamp Shortcut Blue Barrier', 'Swamp Trench 2 Pots Blue Barrier', 'Swamp Trench 2 Pots Wet', 'Swamp Trench 2 Departure Wet', 'Swamp West Ledge Hook Path', 'Swamp Barrier Ledge Hook Path', 'Swamp Attic Left Pit', 'Swamp Attic Right Pit', 'Swamp Push Statue NW', 'Swamp Push Statue NE', - 'Swamp Drain Right Switch', 'Swamp Waterway NE', 'Swamp Waterway N', 'Swamp Waterway NW', + 'Swamp Drain Right Switch', 'Swamp Waterway NE', 'Swamp Waterway N', 'Swamp Waterway NW', 'Skull Pot Circle WN', 'Skull Pot Circle Star Path', 'Skull Pull Switch S', 'Skull Big Chest N', 'Skull Big Chest Hookpath', 'Skull 2 East Lobby NW', 'Skull Back Drop Star Path', 'Skull 2 West Lobby NW', 'Skull 3 Lobby EN', 'Skull Star Pits SW', 'Skull Star Pits ES', 'Skull Torch Room WN', 'Skull Vines NW', diff --git a/data/base2current.bps b/data/base2current.bps index 7e9f20bacfb59cf6862ca9991b1835cc8cc4a8fd..aea7ca98c0e77be8fc734bd6cc9ee3fd939539c3 100644 GIT binary patch delta 16820 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 delta 16876 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