overworld glitches ruleset

This commit is contained in:
qadan
2020-02-11 18:07:38 -04:00
parent 66acd540a7
commit 2ba2f48f92
9 changed files with 283 additions and 64 deletions

View File

@@ -508,6 +508,28 @@ class CollectionState(object):
def has_turtle_rock_medallion(self, player):
return self.has(self.world.required_medallions[player][1], player)
def can_boots_clip_lw(self, player):
if self.world.mode[player] == 'inverted':
return self.has_Boots(player) and self.has_Pearl(player)
return self.has_Boots(player)
def can_boots_clip_dw(self, player):
if self.world.mode[player] != 'inverted':
return self.has_Boots(player) and self.has_Pearl(player)
return self.has_Boots(player)
def can_get_glitched_speed_lw(self, player):
rules = [self.has_Boots(player), any([self.has('Hookshot', player), self.has_sword(player)])]
if self.world.mode[player] == 'inverted':
rules.append(self.has_Pearl(player))
return all(rules)
def can_get_glitched_speed_dw(self, player):
rules = [self.has_Boots(player), any([self.has('Hookshot', player), self.has_sword(player)])]
if self.world.mode[player] != 'inverted':
rules.append(self.has_Pearl(player))
return all(rules)
def collect(self, item, event=False, location=None):
if location:
self.locations_checked.add(location)