 5f9ce2b7b6
			
		
	
	5f9ce2b7b6
	
	
	
		
			
			Reworking the options to make it work with the new options API. Also reworked stuff in several spots to use world: NoitaWorld instead of multiworld: MultiWorld
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from typing import Dict, TYPE_CHECKING
 | |
| from BaseClasses import Item, ItemClassification, Location, Region
 | |
| from . import items, locations
 | |
| 
 | |
| if TYPE_CHECKING:
 | |
|     from . import NoitaWorld
 | |
| 
 | |
| 
 | |
| def create_event(player: int, name: str) -> Item:
 | |
|     return items.NoitaItem(name, ItemClassification.progression, None, player)
 | |
| 
 | |
| 
 | |
| def create_location(player: int, name: str, region: Region) -> Location:
 | |
|     return locations.NoitaLocation(player, name, None, region)
 | |
| 
 | |
| 
 | |
| def create_locked_location_event(player: int, region: Region, item: str) -> Location:
 | |
|     new_location = create_location(player, item, region)
 | |
|     new_location.place_locked_item(create_event(player, item))
 | |
| 
 | |
|     region.locations.append(new_location)
 | |
|     return new_location
 | |
| 
 | |
| 
 | |
| def create_all_events(world: "NoitaWorld", created_regions: Dict[str, Region]) -> None:
 | |
|     for region_name, event in event_locks.items():
 | |
|         region = created_regions[region_name]
 | |
|         create_locked_location_event(world.player, region, event)
 | |
| 
 | |
|     world.multiworld.completion_condition[world.player] = lambda state: state.has("Victory", world.player)
 | |
| 
 | |
| 
 | |
| # Maps region names to event names
 | |
| event_locks: Dict[str, str] = {
 | |
|     "The Work": "Victory",
 | |
|     "Mines": "Portal to Holy Mountain 1",
 | |
|     "Coal Pits": "Portal to Holy Mountain 2",
 | |
|     "Snowy Depths": "Portal to Holy Mountain 3",
 | |
|     "Hiisi Base": "Portal to Holy Mountain 4",
 | |
|     "Underground Jungle": "Portal to Holy Mountain 5",
 | |
|     "The Vault": "Portal to Holy Mountain 6",
 | |
|     "Temple of the Art": "Portal to Holy Mountain 7",
 | |
| }
 |