diff --git a/BaseClasses.py b/BaseClasses.py index 812dd5e7..6e3391c8 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -1265,16 +1265,16 @@ class CollectionState(object): return self.has('Bow', player) and (self.can_buy_unlimited('Single Arrow', player) or self.has('Single Arrow', player)) return self.has('Bow', player) - # def can_get_good_bee(self, player): - # cave = self.world.get_region('Good Bee Cave', player) - # return ( - # self.can_use_bombs(player) and - # self.has_bottle(player) and - # self.has('Bug Catching Net', player) and - # (self.has_Boots(player) or (self.has_sword(player) and self.has('Quake', player))) and - # cave.can_reach(self) and - # self.is_not_bunny(cave, player) - # ) + def can_get_good_bee(self, player): + cave = self.world.get_region('Good Bee Cave', player) + return ( + self.can_use_bombs(player) and + self.has_bottle(player) and + self.has('Bug Catching Net', player) and + (self.has_Boots(player) or (self.can_use_medallions(player) and self.has('Quake', player))) and + cave.can_reach(self) and + self.is_not_bunny(cave, player) + ) def has_beaten_aga(self, player): return self.has('Beat Agahnim 1', player) and (self.world.mode[player] != 'standard' or self.has('Zelda Delivered', player)) diff --git a/Rom.py b/Rom.py index 658ec023..52bda556 100644 --- a/Rom.py +++ b/Rom.py @@ -38,7 +38,7 @@ from source.dungeon.RoomList import Room0127 JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '3e0f7deafc09b3fcfd40922a2abb1491' +RANDOMIZERBASEHASH = '793bf8996f983ca60bfcd814c50e896e' class JsonRom(object): diff --git a/Rules.py b/Rules.py index 8a913a32..5e39a360 100644 --- a/Rules.py +++ b/Rules.py @@ -1671,7 +1671,7 @@ def swordless_rules(world, player): set_rule(world.get_location('Ether Tablet', player), lambda state: state.has('Book of Mudora', player) and state.has('Hammer', player)) set_rule(world.get_location('Bombos Tablet', player), lambda state: state.has('Book of Mudora', player) and state.has('Hammer', player)) - set_rule(world.get_location('Ganon', player), lambda state: state.has('Hammer', player) and state.has_fire_source(player) and state.has('Silver Arrows', player) and state.can_shoot_arrows(player) and state.has_crystals(world.crystals_needed_for_ganon[player], player)) + set_rule(world.get_location('Ganon', player), lambda state: state.has('Hammer', player) and state.has_fire_source(player) and state.can_hit_stunned_ganon(player) and state.has_crystals(world.crystals_needed_for_ganon[player], player)) set_rule(world.get_entrance('Ganon Drop', player), lambda state: state.has('Hammer', player)) # need to damage ganon to get tiles to drop if not world.is_atgt_swapped(player): @@ -1711,7 +1711,7 @@ def cane_mode_rules(world, player): add_bunny_rule(world.get_entrance('Misery Mire', player), player) def pseudo_sword_mode_rules(world, player): - set_rule(world.get_location('Ganon', player), lambda state: state.has('Hammer', player) and state.has_fire_source(player) and state.has('Silver Arrows', player) and state.can_shoot_arrows(player) and state.has_crystals(world.crystals_needed_for_ganon[player], player)) + set_rule(world.get_location('Ganon', player), lambda state: state.has('Hammer', player) and state.has_fire_source(player) and state.can_hit_stunned_ganon(player) and state.has_crystals(world.crystals_needed_for_ganon[player], player)) set_rule(world.get_entrance('Ganon Drop', player), lambda state: state.has('Hammer', player)) # need to damage ganon to get tiles to drop std_kill_rooms = { diff --git a/data/base2current.bps b/data/base2current.bps index db79ebed..939c8f43 100644 Binary files a/data/base2current.bps and b/data/base2current.bps differ