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