Comment modifier le Pokémon que Timmy attrape ?
Ce tutoriel est valable pour la version Émeraude française uniquement.
Une très grande partie d'entre vous ont certainement déjà essayé de faire une Hack-Rom de Pokémon Emeraude. Et vous avez sûrement déjà modifié les combats contre Timmy en remplaçant son Tarsal par un Pokémon bien cheaté histoire de donner à ce gamin un peu plus de hype.
Seulement, l'illogisme reste : le premier Pokémon que vous le voyez attraper reste Tarsal. Je vais vous apprendre aujourd'hui comment modifier ce combat sur une rom FR !
Pré-requis
- Advanced Pokémon Sprite Editor (juste pour connaître le numéro du Pokémon)
- Une calculatrice pouvant passer en mode "programmeur" (celle de Windows par exemple)
- Un éditeur hexadécimal
- De la concentration (sans déconner ?)
La théorie
Pour commencer, je vais vous expliquer comment le script fonctionne. C'est un script ASM, un "special". Il est donc nécessaire de passer par l'hexadécimal pour le modifier. Si vous suivez mes instructions à la lettre, c'est à la portée de n'importe quel glandu.
Le script se trouve à l'offset B0884 sur la rom FR et se présente comme ceci :
'--------------- #org 0xB0884 warp6 0x21 0x49 0x0 0x2205 0xF7B7 removecoins 0xE8FB
La valeur hexadécimale qui va renvoyer à Tarsal est C4 mais n'est pas affichée ici, c'est pourquoi nous allons visualiser l'offset en héxadécimal :
0x00B0884 C421 4900 0522 B7F7 B5FB E8F7
Comme vous pouvez remarquer sur le script ci-dessus, C4 se trouve être la première valeur de l'offset.
"Pourquoi C4 renvoie à Tarsal ?" me demanderiez-vous ? Eh bien, c'est parce qu'il faut multiplier C4 par deux puis le convertir en décimal, ce qui donne 392, le numéro du fameux Tarsal dans l'ordre des Pokémon, en comptant tous les Pokémon "? ? ? ? ? ? ? ? ? ?" entre Célébi et Arcko. (visibles sur Advanced Pokémon Sprite Editor)
Nous allons donc nous servir de ce calcul pour le remplacer par le Pokémon de notre choix.
La pratique
Dans cet exemple, nous remplacerons Tarsal par Spinda (au pif). Ouvrez Advanced Pokémon Sprite Editor. Choisissez d'abord le ".ini" correspondant à votre rom (Emeraude FR). Chargez ensuite votre rom. Dans "Species name", choisissez votre Pokémon (ici Spinda).
Vous pouvez donc constater dans "Species number" que le nombre correspondant à Spinda est 308 alors que son numéro dans le Pokédex national est le 327. Notez le nombre de votre Pokémon et fermez ce logiciel.
Passons au calcul ! On va inverser l'équation pour trouver la valeur par laquelle il faudra remplacer le C4 correspondant à Tarsal. Ouvrez votre calculatrice en mode "Programmeur". (ici, celle fournie avec Windows : Affichage > Programmeur)
À gauche, cliquez sur "Déc" si elle est dans un autre mode de calcul, puis tapez le nombre correspondant à votre Pokémon (ici, 308 pour Spinda).
Divisez ce nombre par 2 et cliquez sur "Hex" pour convertir le résultat en hexadécimal. Vous obtiendrez donc un nombre composé de deux caractère. (ici, 9A)
On a presque fini ! Ouvrez maintenant votre éditeur hexadécimal (personnellement, j'utilise RHack, téléchargeable sur SourceForge).
Ouvrez votre rom à l'aide de celui-ci et allez à la ligne correspondant à l'offset B0884.
À présent, remplacez la valeur C4 par celle que vous avez obtenue grâce au calcul précédent. Vous avez juste à cliquer dessus et taper votre valeur.
Vous pouvez aussi modifier son niveau en remplaçant la valeur 05 de l'offset B0888 par un nombre entre 1 et 100 que vous aurez préalablement converti en hexadécimal.
Une fois que c'est fait, enregistrez votre rom, fermez les différents logiciels et sortez une bière du frigo : c'est fini !
Attention cependant à ne pas choisir un Pokémon invincible par le Zigzaton comme un type Spectre ou un Pokémon trop puissant pour lui.
Par Julink
Merci à Link et Arnikum Plus