Added rule changes that only apply to reachability checks, prior to actual game simluation

This commit is contained in:
codemann8
2021-10-14 14:15:51 -05:00
parent 1327408a01
commit 6aeabc5e66
2 changed files with 3 additions and 2 deletions

View File

@@ -1234,7 +1234,7 @@ class CollectionState(object):
# In the future, this can be used to check if the player starts without bombs # In the future, this can be used to check if the player starts without bombs
def can_use_bombs(self, player): def can_use_bombs(self, player):
return (not self.world.bombbag[player] or self.has('Bomb Upgrade (+10)', player)) and self.can_farm_bombs(player) return (not self.world.bombbag[player] or self.has('Bomb Upgrade (+10)', player)) and ((hasattr(self.world,"override_bomb_check") and self.world.override_bomb_check) or self.can_farm_bombs(player))
def can_hit_crystal(self, player): def can_hit_crystal(self, player):
return (self.can_use_bombs(player) return (self.can_use_bombs(player)

View File

@@ -24,7 +24,8 @@ def set_rules(world, player):
ow_bunny_rules(world, player) ow_bunny_rules(world, player)
if world.mode[player] == 'standard': if world.mode[player] == 'standard':
standard_rules(world, player) if world.get_region('Big Bomb Shop', player).entrances: # just some location that is placed late in the ER algorithm, prevent standard rules from applying when trying to search reachability in the overworld
standard_rules(world, player)
elif world.mode[player] == 'open' or world.mode[player] == 'inverted': elif world.mode[player] == 'open' or world.mode[player] == 'inverted':
open_rules(world, player) open_rules(world, player)
else: else: