Good bee cave & spiral cave logic for bombs

Good bee cave requires bombs to access.
Spiral cave is never assumed to be transversable as a super bunny, so it makes sense to force bombs OR can_kill_most_things if the cave is in the LW.
This commit is contained in:
StructuralMike
2021-07-24 14:21:22 +02:00
parent 051a47e0cd
commit cce5adc453
2 changed files with 3 additions and 1 deletions

View File

@@ -719,6 +719,7 @@ class CollectionState(object):
def can_get_good_bee(self, player): def can_get_good_bee(self, player):
cave = self.world.get_region('Good Bee Cave', player) cave = self.world.get_region('Good Bee Cave', player)
return ( return (
self.can_use_bombs(player) and
self.has_bottle(player) and self.has_bottle(player) and
self.has('Bug Catching Net', player) and self.has('Bug Catching Net', player) and
(self.has_Boots(player) or (self.has_sword(player) and self.has('Quake', player))) and (self.has_Boots(player) or (self.has_sword(player) and self.has('Quake', player))) and

View File

@@ -576,9 +576,10 @@ def bomb_rules(world, player):
for location in bombable_items: 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'] 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', 'Spiral Cave']
for location in cave_kill_locations: for location in cave_kill_locations:
add_rule(world.get_location(location, player), lambda state: state.can_kill_most_things(player) or state.can_use_bombs(player)) add_rule(world.get_location(location, player), lambda state: state.can_kill_most_things(player) or state.can_use_bombs(player))
add_rule(world.get_entrance('Spiral Cave (top to bottom)', player), lambda state: state.can_kill_most_things(player) or state.can_use_bombs(player))
paradox_switch_chests = ['Paradox Cave Lower - Far Left', 'Paradox Cave Lower - Left', 'Paradox Cave Lower - Right', 'Paradox Cave Lower - Far Right', 'Paradox Cave Lower - Middle'] paradox_switch_chests = ['Paradox Cave Lower - Far Left', 'Paradox Cave Lower - Left', 'Paradox Cave Lower - Right', 'Paradox Cave Lower - Far Right', 'Paradox Cave Lower - Middle']
for location in paradox_switch_chests: for location in paradox_switch_chests: