Faire apparaître des Pokémon Shineys grace à un script
Faites apparaître des Pokémon shiny grâce à un script simple ! Découvrez comment intégrer le caractère shiny dans vos ROM Pokémon.
Me revoilà pour un nouveau tuto, que j'ai trouvé plutôt cool (J'vais arrêter les tutos, j'vais faire une overdose xD). Nous allons apprendre à faire apparaître un Pokémon shiney dans un wildbattle, dans un givepokemon (ou giveegg), et dans un trainerbattle.
Ressources :
- [Shinyzer](http://www.pokemon-legendary.com/downloads/Shinyzer.zip) - [XSE](https://www.pokemontrash.com/telecharger/XSE.exe) Bien, commençons par le plus simple.I. Insérer le caractère "shiney" dans la ROM
Ouvrez Shinyzer. Chargez votre ROM. Dans "Offset ASM", entrez un offset libre. Cliquez ensuite sur "Shinyzer", puis sur "OK". Vous pouvez fermer Shinyzer, nous n'en aurons plus besoin.
II. Intégrer le caractère "shiney" dans les scripts
1. Dans les wildbattles
On y va ! ``` '--------------- #org 0x6D13D2 lock faceplayer setvar 0x8003 0x1 setwildbattle 0x196 0x32 0x0 checksound cry 0x196 0x2 pause 0x28 waitcry setflag 0x305 setflag 0x861 special 0x138 waitstate clearflag 0x861 release end ``` C'est un script de wildbattle simple, avec un Rayquaza niveau 50. Seulement une nouvelle commande : ``` setvar 0x8003 0x1 ``` setvar 0x8003 "active" le caractère shiney. "0x1", on le met toujours. En gros, cette commande ne change jamais.
2. Dans un givepokemon ou un giveegg
``` '--------------- #org 0x6D1492 lock setvar 0x8003 0x1 givepokemon 0x1 0x5 0x0 0x0 0x0 0x0 fanfare 0x13E msgbox 0x86D1512 MSG_FACE '"Tiens !" waitfanfare closeonkeypress release end '--------- ' Strings '--------- #org 0x6D1512 = Tiens ! ``` Comme tout à l'heure, une seule nouvelle commande : ``` setvar 0x8003 0x1 ``` Oh, c'est la même ! En effet, c'est exactement la même chose. Pas besoin de réexpliquer. C'est aussi la même chose avec un giveegg.
(faites pas attention au positionnement du sprite x)
3. Dans un trainerbattle
Alors là, ça se complique un peu. Mais ça reste simple. ``` '--------------- #org 0x6D11D2 setvar 0x8003 0x303 trainerbattle 0x0 0x2C7 0x0 0x86D1252 0x86D12D2 msgbox 0x86D1352 MSG_FACE '"J'aime mes Pokémon !" end '--------- ' Strings '--------- #org 0x6D1252 = J'ai de beaux Pokémon ! #org 0x6D12D2 = Mes Pokémon ! #org 0x6D1352 = J'aime mes Pokémon ! ``` La nouvelle commande pour faire apparaître les shineys : ``` setvar 0x8003 0x303 ``` Ca change un peu, ouais, mais pas trop. setvar 0x8003 ne bouge pas. Maintenant, voyons de plus près "0x303". On part du fait que cette commande est au départ "setvar 0x8003 0xXXYY" ("setvar 0x8003 0x303"). On regarde notre dresseur et on voit combien il a de Pokémon. Dans mon exemple, il en a 3. Je les représente par des zéros, un zéro pour chaque Pokémon : 000. Maintenant, choisissez le(s) quel(s) sera (seront) shiny(-ies). Dans mon cas, seront shinies le deuxième et le troisième Pokémon. On dit que "Caractère non shiney = 0", "Caractère shiney = 1". Vous allez remplacer vos zéros de tout à l'heure donc par un "1", pour ceux qui seront shineys. J'obtiens "011". "011", est un chiffre binaire. Maintenant, cherchez une calculette (sur internet, ça se trouve facilement) qui passe du binaire à l'hexadécimal. Convertissez. 011 = 3. Ce "3", on le retrouve à la place des XX dans la commande. Maintenant, on remplace les YY. Dans notre exemple, le dresseur a 3 Pokémon. A la place des YY, on va mettre le nombre de Pokémon que le dresseur avait, avec un "0" devant (obligatoire). J'obtiens "03". Voilà d'où vient "0x303".


(Pareil, faites pas attention au positionnement des sprites x)
L'équipe ROM-Hacking de Pokémon Trash

