Compute and assign a weight to the TM moves currently available to the Pokémon
The Pokémon to generate a TM-based move pool for
The TM move pool to add to, which will be modified in place
A map of move IDs to their computed weights
Only trainer pokemon can learn TM moves, and there are restrictions as to how many and which TMs are available based on the level of the Pokémon.
Compute and assign a weight to the TM moves currently available to the Pokémon