Fixed some routing logic + make two checks more easily available
This commit is contained in:
parent
28f5236719
commit
5626ff1582
|
@ -106,8 +106,7 @@ def get_locations(world: Optional[MultiWorld], player: Optional[int]) -> Tuple[L
|
|||
LocationData('Refugee Camp', 'Refugee camp storage chest 2', 1337088),
|
||||
LocationData('Refugee Camp', 'Refugee camp storage chest 1', 1337089),
|
||||
LocationData('Forest', 'Refugee camp roof', 1337090),
|
||||
LocationData('Forest', 'Bat jump chest', 1337091, lambda state: state._timespinner_has_doublejump_of_npc(world, player) or state._timespinner_has_forwarddash_doublejump(world, player)),
|
||||
LocationData('Forest', 'Green platform secret', 1337092, lambda state: state._timespinner_can_break_walls(world, player)),
|
||||
LocationData('Forest', 'Bat jump chest', 1337091, lambda state: state._timespinner_has_doublejump_of_npc(world, player) or state._timespinner_has_forwarddash_doublejump(world, player) or state._timespinner_has_fastjump_on_npc(world, player)), LocationData('Forest', 'Green platform secret', 1337092, lambda state: state._timespinner_can_break_walls(world, player)),
|
||||
LocationData('Forest', 'Rats guarded chest', 1337093),
|
||||
LocationData('Forest', 'Waterfall chest 1', 1337094, lambda state: state.has('Water Mask', player)),
|
||||
LocationData('Forest', 'Waterfall chest 2', 1337095, lambda state: state.has('Water Mask', player)),
|
||||
|
@ -158,7 +157,7 @@ def get_locations(world: Optional[MultiWorld], player: Optional[int]) -> Tuple[L
|
|||
LocationData('Castle Keep', 'Out of the way', 1337139),
|
||||
LocationData('Castle Keep', 'Killed Twins', EventId, lambda state: state._timespinner_has_timestop(world, player)),
|
||||
LocationData('Castle Keep', 'Twins', 1337140, lambda state: state._timespinner_has_timestop(world, player)),
|
||||
LocationData('Castle Keep', 'Royal guard tiny room', 1337141, lambda state: state._timespinner_has_doublejump(world, player)),
|
||||
LocationData('Castle Keep', 'Royal guard tiny room', 1337141, lambda state: state._timespinner_has_doublejump(world, player) or state._timespinner_has_fastjump_on_npc(world,player)),
|
||||
LocationData('Royal towers (lower)', 'Royal tower floor secret', 1337142, lambda state: state._timespinner_has_doublejump(world, player) and state._timespinner_can_break_walls(world, player)),
|
||||
LocationData('Royal towers', 'Above the gap', 1337143),
|
||||
LocationData('Royal towers', 'Under the ice mage', 1337144),
|
||||
|
|
|
@ -15,6 +15,9 @@ class TimespinnerLogic(LogicMixin):
|
|||
def _timespinner_has_doublejump_of_npc(self, world: MultiWorld, player: int) -> bool:
|
||||
return self._timespinner_has_upwarddash(world, player) or (self.has('Timespinner Wheel', player) and self._timespinner_has_doublejump(world, player))
|
||||
|
||||
def _timespinner_has_fastjump_on_npc(self, world: MultiWorld, player: int) -> bool:
|
||||
return self.has_all(['Timespinner Wheel', 'Talaria Attachment'], player)
|
||||
|
||||
def _timespinner_has_multiple_small_jumps_of_npc(self, world: MultiWorld, player: int) -> bool:
|
||||
return self.has('Timespinner Wheel', player) or self._timespinner_has_upwarddash(world, player)
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ def create_regions(world: MultiWorld, player: int, locations: Tuple[LocationData
|
|||
connect(world, player, names, 'Varndagroth tower right (upper)', 'Varndagroth tower right (elevator)', lambda state: state.has('Elevator Keycard', player))
|
||||
connect(world, player, names, 'Varndagroth tower right (elevator)', 'Varndagroth tower right (upper)')
|
||||
connect(world, player, names, 'Varndagroth tower right (elevator)', 'Varndagroth tower right (lower)')
|
||||
connect(world, player, names, 'Varndagroth tower right (lower)', 'Varndagroth tower left')
|
||||
connect(world, player, names, 'Varndagroth tower right (lower)', 'Varndagroth tower left', lambda state: state._timespinner_has_keycard_B(world, player))
|
||||
connect(world, player, names, 'Varndagroth tower right (lower)', 'Varndagroth tower right (elevator)', lambda state: state.has('Elevator Keycard', player))
|
||||
connect(world, player, names, 'Varndagroth tower right (lower)', 'Sealed Caves (Sirens)', lambda state: state._timespinner_has_keycard_B(world, player) and state.has('Elevator Keycard', player))
|
||||
connect(world, player, names, 'Varndagroth tower right (lower)', 'Militairy Fortress', lambda state: state._timespinner_can_kill_all_3_bosses(world, player))
|
||||
|
|
Loading…
Reference in New Issue