26 lines
		
	
	
		
			566 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			566 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | 
 | ||
|  | def shuffle_random_entrances(ootworld): | ||
|  |     world = ootworld.world | ||
|  |     player = ootworld.player | ||
|  | 
 | ||
|  |     # Gather locations to keep reachable for validation | ||
|  | 
 | ||
|  |     # Set entrance data for all entrances | ||
|  | 
 | ||
|  |     # Determine entrance pools based on settings | ||
|  | 
 | ||
|  |     # Mark shuffled entrances | ||
|  | 
 | ||
|  |     # Build target entrance pools | ||
|  | 
 | ||
|  |     # Place priority entrances | ||
|  | 
 | ||
|  |     # Delete priority targets from one-way pools | ||
|  | 
 | ||
|  |     # Shuffle all entrance pools, in order | ||
|  | 
 | ||
|  |     # Verification steps:  | ||
|  |     # All entrances are properly connected to a region | ||
|  |     # Game is beatable | ||
|  |     # Validate world |