Pour la nature qui n'existait pas en 2G, d'après mes recherches et ce qui avait déjà été dit ailleurs sur ce forum, ce n'est pas déterminé au hasard, mais en fonction des deux derniers chiffres du nombre de points d'expérience de ton Pokémon.
C'est expliqué sur ce tableau :

Par exemple, si ton Pokémon a 90435 points d'expérience, tu gardes juste les deux derniers chiffres (35), et tu regardes dans la partie de droite du tableau, ton Pokémon sera timide.
Source de l'image et plus de détails :
https://daily.pokecommunity.com/2017/11/19/pokemon-stats-red-blue-yellow-gold-silver-recalculated/