Fixed various Flute logic issues and improved logic efficiency

This commit is contained in:
codemann8
2023-04-01 07:59:13 -05:00
parent d216cb337b
commit 3eeeda363b
5 changed files with 27 additions and 8 deletions

View File

@@ -1299,11 +1299,7 @@ class CollectionState(object):
def can_flute(self, player):
if self.world.mode[player] == 'standard' and not self.has('Zelda Delivered', player):
return False # can't flute in rain state
if any(map(lambda i: i.name in ['Ocarina', 'Ocarina (Activated)'], self.world.precollected_items)):
return True
lw = self.world.get_region('Kakariko Area', player)
return self.has('Ocarina (Activated)', player) or (self.has('Ocarina', player) and lw.can_reach(self)
and self.is_not_bunny(lw, player))
return self.has('Ocarina (Activated)', player)
def can_melt_things(self, player):
return self.has('Fire Rod', player) or (self.has('Bombos', player) and self.has_sword(player))