The Pokémon for which the moveset is being generated
The TM move pool
The egg move pool
A holder for the count of moves that have been added to the moveset from TMs
A holder for the count of moves that have been added to the moveset from egg moves
The base weights of all moves in the master pool
The remaining move pool to select from
Fill in the remaining slots in the Pokémon's moveset from the provided pools