43 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| def create_regions(self, world, player: int):
 | |
|     from . import create_region
 | |
|     from BaseClasses import Entrance
 | |
|     from .variaRandomizer.logic.logic import Logic
 | |
|     from .variaRandomizer.graph.vanilla.graph_locations import locationsDict
 | |
| 
 | |
|     regions = []
 | |
|     for accessPoint in Logic.accessPoints:
 | |
|         if not accessPoint.Escape:
 | |
|             regions.append(create_region(self, 
 | |
|                                          world, 
 | |
|                                          player, 
 | |
|                                          accessPoint.Name, 
 | |
|                                          None,
 | |
|                                          [accessPoint.Name + "->" + key for key in accessPoint.intraTransitions.keys()]))
 | |
| 
 | |
|     world.regions += regions
 | |
| 
 | |
|     # create a region for each location and link each to what the location has access
 | |
|     # we make them one way so that the filler (and spoiler log) doesnt try to use those region as intermediary path
 | |
|     # this is required in AP because a location cant have multiple parent regions
 | |
|     locationRegions = []
 | |
|     for locationName, value in locationsDict.items():
 | |
|         locationRegions.append(create_region(   self, 
 | |
|                                                 world, 
 | |
|                                                 player, 
 | |
|                                                 locationName, 
 | |
|                                                 [locationName]))
 | |
|         for key in value.AccessFrom.keys():
 | |
|             currentRegion =world.get_region(key, player)
 | |
|             currentRegion.exits.append(Entrance(player, key + "->"+ locationName, currentRegion))
 | |
| 
 | |
|     world.regions += locationRegions
 | |
|     #create entrances
 | |
|     regionConcat = regions + locationRegions
 | |
|     for region in regionConcat:
 | |
|         for exit in region.exits:
 | |
|             exit.connect(world.get_region(exit.name[exit.name.find("->") + 2:], player))
 | |
| 
 | |
|     world.regions += [
 | |
|         create_region(self, world, player, 'Menu', None, ['StartAP'])
 | |
|     ]
 | 
