Fixed Timespinner routing + some typing
This commit is contained in:
		
							parent
							
								
									c937167a11
								
							
						
					
					
						commit
						96d7277a22
					
				| 
						 | 
				
			
			@ -47,7 +47,7 @@ def create_regions(world: MultiWorld, player: int, locations: Tuple[LocationData
 | 
			
		|||
 | 
			
		||||
    connectStartingRegion(world, player)
 | 
			
		||||
 | 
			
		||||
    names = {}
 | 
			
		||||
    names: Dict[str, int] = {}
 | 
			
		||||
 | 
			
		||||
    connect(world, player, names, 'Lake desolation', 'Lower lake desolation', lambda state: state._timespinner_has_timestop(world, player or state.has('Talaria Attachment', player)))
 | 
			
		||||
    connect(world, player, names, 'Lake desolation', 'Upper lake desolation', lambda state: state._timespinner_has_fire(world, player) and state.can_reach('Upper Lake Sirine', 'Region', player))
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +60,7 @@ def create_regions(world: MultiWorld, player: int, locations: Tuple[LocationData
 | 
			
		|||
    connect(world, player, names, 'Lower lake desolation', 'Space time continuum', lambda state: state.has('Twin Pyramid Key', player))
 | 
			
		||||
    connect(world, player, names, 'Libary', 'Lower lake desolation') 
 | 
			
		||||
    connect(world, player, names, 'Libary', 'Libary top', lambda state: state._timespinner_has_doublejump(world, player) or state.has('Talaria Attachment', player)) 
 | 
			
		||||
    connect(world, player, names, 'Libary', 'Varndagroth tower left', lambda state: state._timespinner_has_keycard_C(world, player))
 | 
			
		||||
    connect(world, player, names, 'Libary', 'Varndagroth tower left', lambda state: state._timespinner_has_keycard_D(world, player))
 | 
			
		||||
    connect(world, player, names, 'Libary', 'Space time continuum', lambda state: state.has('Twin Pyramid Key', player))
 | 
			
		||||
    connect(world, player, names, 'Libary top', 'Libary')
 | 
			
		||||
    connect(world, player, names, 'Varndagroth tower left', 'Libary')
 | 
			
		||||
| 
						 | 
				
			
			@ -149,6 +149,7 @@ def create_regions(world: MultiWorld, player: int, locations: Tuple[LocationData
 | 
			
		|||
    connect(world, player, names, 'Space time continuum', 'Caves of Banishment (Maw)', lambda state: pyramid_keys_unlock == "GateMaw")
 | 
			
		||||
    connect(world, player, names, 'Space time continuum', 'Caves of Banishment (upper)', lambda state: pyramid_keys_unlock == "GateCavesOfBanishment")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def create_location(player: int, name: str, id: Optional[int], region: Region, rule: Callable, location_cache: List[Location]) -> Location:
 | 
			
		||||
    location = Location(player, name, id, region)
 | 
			
		||||
    location.access_rule = rule
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,8 +64,8 @@ class TimespinnerWorld(World):
 | 
			
		|||
        self.world.itempool += pool
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def fill_slot_data(self) -> Dict:
 | 
			
		||||
        slot_data = {}
 | 
			
		||||
    def fill_slot_data(self) -> Dict[str, object]:
 | 
			
		||||
        slot_data: Dict[str, object] = {}
 | 
			
		||||
 | 
			
		||||
        for option_name in timespinner_options:
 | 
			
		||||
            slot_data[option_name] = is_option_enabled(self.world, self.player, option_name)
 | 
			
		||||
| 
						 | 
				
			
			@ -85,7 +85,7 @@ def create_item(name: str, player: int) -> Item:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
def get_excluded_items_based_on_options(world: MultiWorld, player: int) -> List[str]:
 | 
			
		||||
    excluded_items = []
 | 
			
		||||
    excluded_items: List[str] = []
 | 
			
		||||
 | 
			
		||||
    if is_option_enabled(world, player, "StartWithJewelryBox"):
 | 
			
		||||
        excluded_items.append('Jewelry Box')
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue