diff --git a/worlds/timespinner/Locations.py b/worlds/timespinner/Locations.py index 904240d6..0151a564 100644 --- a/worlds/timespinner/Locations.py +++ b/worlds/timespinner/Locations.py @@ -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), diff --git a/worlds/timespinner/LogicMixin.py b/worlds/timespinner/LogicMixin.py index 8181b309..7a81c25e 100644 --- a/worlds/timespinner/LogicMixin.py +++ b/worlds/timespinner/LogicMixin.py @@ -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) diff --git a/worlds/timespinner/Regions.py b/worlds/timespinner/Regions.py index 827277d8..7fa1ec27 100644 --- a/worlds/timespinner/Regions.py +++ b/worlds/timespinner/Regions.py @@ -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))