En résumé, il s'agit d'essais et d'erreurs. Il y a une feuille de données de jeu qui contient les statistiques de base et ensuite un tas de fonctions qui essaient différentes valeurs de IV qui correspondraient aux chiffres que vous avez donnés. Étant donné qu'une combinaison CP/HP donnée peut avoir plusieurs ensembles de statistiques possibles, il suggère de la mettre à niveau et de réessayer, ce qui permet d'éliminer certaines des possibilités incorrectes.
Plus en détail, voici l'algorithme qui est utilisé...
-
Il calcule le niveau du Pokémon (et les niveaux peuvent être des moitiés aussi bien que des nombres entiers) par le coût en poussières d'étoiles de l'amélioration suivante (le tableau est dans la fiche technique du jeu). La colonne "powered up ?" détermine si ces demi niveaux sont réellement autorisés. Si "powered up" est VRAI, alors les demi niveaux sont autorisés, sinon le niveau doit être un nombre entier. Je suppose que c'est parce que les pokémons, lorsqu'ils sont attrapés, ont toujours un niveau entier.
-
Il passe ensuite en revue tous les niveaux possibles en obtenant toutes les combinaisons de statistiques qui fonctionnent pour ce niveau.
2.1. Tout d'abord, pour un niveau donné, il calcule les valeurs d'endurance possibles. Chaque niveau a un multiplicateur de CP (dans la fiche technique du jeu). L'endurance IV peut être comprise entre 0 et 15. Il ajoute cette valeur à l'endurance de base du pokémon et la multiplie par la valeur CP. Il prend ensuite le plancher de cette valeur (en prenant juste la partie entière du nombre, donc 59.9 serait 59). Si cela correspond au HP qui vous a été donné, alors l'endurance est une possibilité valide.
2.2 L'attaque et la défense sont également comprises entre 0 et 15 et il essaie toutes les 256 combinaisons de celles-ci avec les staminas possibles. Il calcule le CP de chaque combinaison possible et toutes celles qui correspondent au CP que vous lui avez donné sont ajoutées comme possibilités.
2.2.1 Le CP est calculé en prenant l'attaque ((base+IV)*CPMultiplicateur), la racine carrée de la défense ((base+IV)*CPMultiplicateur), et la racine carrée de l'endurance ((base+IV)*CPMultiplicateur), en les multipliant ensemble et en les divisant par 10.
-
Vous obtenez ainsi votre liste de possibilités.
-
Lorsque vous réessayez après un niveau supérieur, en raison de la façon dont les arrondis fonctionnent, certaines des possibilités calculées précédemment seront probablement différentes de 1 (ou peut-être plus) et pourront donc être écartées. Faites cela suffisamment de fois et vous obtiendrez un ensemble unique de valeurs pour les statistiques.
L'exemple de Dratini devrait vous montrer comment cela fonctionne. Suivez les calculs pour chacun d'entre eux afin de voir comment cela fonctionne.
Si vous avez des questions sur des éléments spécifiques de cette opération, faites-le moi savoir et je verrai si je peux clarifier quelque chose.
Source : Ces informations sont toutes issues de la lecture des scripts de la feuille. Vous pouvez voir le code une fois que vous avez copié la feuille pour vous-même en cliquant sur "Outils...Editeur de script..."