Bonjour,
Vous vous dites sûrement, au titre, « tuto vu 100 fois partout sur Internet ». Je peux vous dire que c'est loin d'être évident. J'aimerais donc ici vous résumer toutes les informations que j'ai pu récolter.
Voici ma motivation initiale : débloquer la quête officielle de Celebi sur ma cartouche originale. Impossible sur les versions US et européennes : soit il faut une cartouche japonaise + des événements impossibles à déclencher ( https://eternia.fr/fr/site/article/2563-pokemon-cristal-capturer-celebi/ ), soit la version dématérialisée du jeu sur 3DS.
Dans ces conditions, ok pour moi pour passer par un Action Replay juste pour cette action.
Déjà, vous ne pouvez pas déclencher cette quête sur Or et Argent. Ces versions n'ont pas l'événement. Donc ça se passe sur Pokémon Cristal (Crystal aux US).
Par conséquent, impossible d'utiliser l'Action Replay Pro que j'avais en ma possession. Il ne fonctionne que sur Or et Argent. Si vous tentez de lancer Cristal avec, le jeu ne se lance pas.
Il vous faut donc l' « Action Replay Xtreme Special Edition for Pokémon Crystal ».
Ce n'est pas tout. Cet Action Replay spécifique ne fonctionne que sur une Game Boy Color. Alors vous pouvez le démarrer sur une Game Boy Advance, ou sur une Analogue Pocket comme j'avais tenté au début, mais les codes ne fonctionneront pas. Et je rappelle que Cristal n'est pas jouable sur GB classique, contrairement à Or et Argent.
Je précise si vous n'avez aucune notice de l'appareil, ce qui est fort probable, que veulent dire les boutons. Quand vous avez l'étiquette du produit face à vous (comme s'il était posé sur le "dos"), le switch en haut à gauche est un "on/off". "Off" à gauche et "On" à droite. Le bouton au-dessus est "Reset" mais je n'en ai jamais eu l'utilité.
Pour paramétrer les codes, il faut accéder au menu principal, aller dans "Codes". Par précaution, décochez tous les codes de tous les jeux présents et enregistrés pour qu'aucun ne soit activé par défaut au démarrage.
Créez un nouveau jeu, "Pokemon Cristal" (peu importe le nom, c'est juste de l'organisation, ça n'influe pas sur les codes). Pour ajouter un code, pressez "Select" et là vous avez un menu pour ajouter/supprimer/éditer etc. les codes. Ici encore le nom du code n'a aucune influence, c'est seulement le code hexadécimal qui en a. Vous pouvez choisir d'activer ou non un code. Note : pour mettre une majuscule, maintenez "Select" avant d'appuyer sur la lettre.
Vidéo qui m'avait partiellement aidé : https://www.youtube.com/watch?v=881OxyYr4dw (+ la section commentaires)
Je précise aussi : par précaution, j'encourage à ne pas tester plein de codes ultra craqués en même temps mais plutôt d'en essayer un pour tester si son Action Replay fonctionne (moi je faisais le test d'une rencontre aléatoire de Bulbizarre). En désactivant tout le reste. Là on sait que ça fonctionne. C'est comme ça que je me suis rendu compte que l'Action Replay Pro était incompatible avec l'Analogue Pocket MAIS compatible avec une GBA. Et que l'Action Replay Xtreme était compatible avec une GB Color mais pas avec une GBA (et pas une Analogue Pocket non plus, même si celle-ci est censée reproduire le hardware d'une console, on peut même choisir lu comme avec une GB/GBC/GBA pour un jeu GB). J'ai fait beaucoup de test, en pensant à plusieurs reprises que l'Action Replay Pro ou Xtreme ne fonctionnait pas, alors qu'en fait c'était une histoire de paramétrage.
Voici ce qui fonctionne sur Cristal : mettre Action Replay Xtreme + cartouche Cristal dans une GB Color. Placer l'interrupteur de l'AR sur "On". Lancer la console, paramétrer ses codes, etc. Lancer le jeu avec codes activés. L'AR va mettre un message en anglais comme quoi il faut que l'interrupteur soit sur "Off" avant de lancer le jeu. Vous le faites, sans bouger l'AR ou la cartouche (je dis ça car avec Pokémon Or, en bougeant un peu le truc ça a effacé ma partie, tout juste commencée donc c'était ok, donc je me méfie d'effacer par mégarde une sauvegarde, soit avec une mauvaise manip physique, soit avec des codes qui corrompent la mémoire du jeu). Le jeu se lance, laisser sur "Off". Une fois le jeu lancé, pas la peine de mettre direct sur "On". Faites-le au moment voulu. Et contrairement à ce que j'ai lu ou entendu, pas la peine de le faire à l'écran titre, ça peut être mis "On" plus tard.
Reprenons notre sujet principal. L'événement en question pour Celebi est l'obtention de la GS Ball, initialement par une infirmière. J'ai lu de tout sur le web, des forums, des vidéos.
Ce qui n'a pas fonctionné chez moi :
• Acheter la GS Ball chez n'importe quel marchand pour 0$. Code 0173F2D0.
Sources :
https://www.youtube.com/watch?v=Gd_O9IaQ4MA
https://www.jeuxvideo.com/forums/42-3530-51845733-1-0-1-0-tuto-debloquer-la-quete-de-celebi-sur-une-version-francaise.htm
https://www.reddit.com/r/Gameboy/comments/15vablw/action_replay_pro_1999_for_celebi_event/
https://gamefaqs.gamespot.com/boards/375087-pokemon-crystal-version/62992136
https://pokemon-event.forum-actif.net/t44-code-ar-pour-avoir-la-gs-ball-dans-pokemon-crystal
• Déclencher l'événement de manière classique au centre Pokémon de Doublonville. Code 010B3CBE.
Source :
https://gamefaqs.gamespot.com/boards/375087-pokemon-crystal-version/75155171
• Avec la GS Ball en poche, déclencher l'événement. Code 914089DA.
Source :
https://pokemon-event.forum-actif.net/t44-code-ar-pour-avoir-la-gs-ball-dans-pokemon-crystal
Alors je suis bien conscient que les américains parlent de Game Shark et nous plutôt d'Action Replay, mais je me suis dit qu'il y avait des chances que les codes soient communs aux deux. Voir que ce soit le même produit mais avec des noms différents.
Note intermédiaire : les codes Action Replay sont différents entre les versions Or/Argent et la version Cristal !
Or/Argent :
https://www.pokemon-france.com/jeux/gen2/or_argent/actionreplay/index.php
https://www.gamekult.com/forum/t/comment-se-servir-dune-action-replay-sur-gbc/66981/3
https://www.jeuxvideo.com/forums/1-3530-10705366-1-0-1-0-0.htm
Cristal :
http://pokesite.kazeo.com/code-pokemon-cristal-a120731026
https://pokemon.forumactif.fr/t2151-codes-action-replay
Voici ce qui a fonctionné chez moi :
1) Acheter une lettre quelconque (par exemple LETR FLEUR à Ecorcia) à 50$, la mettre en première position, sauvegarder, quitter.
2) Allumer une GB Color + Action Replay Xtreme avec cartouche. Mettre uniquement le code changeant l'objet en première position par GS Ball : 017393D8.
3) Lancer le jeu avec codes activés, et au moment de passer le switch à "On" vous aurez le premier objet en GS Ball. Sauvegarder, quitter.
Notez les informations suivantes : la ball est vos objets classiques (Potion, Repousse, etc.). Elle n'est pas jetable, elle est juste "utilisable" (avec Chen qui vous dit que ce n'est pas le moment). Elle n'a pas non plus de quantité contrairement aux autres objets. Si vous essayez de la stocker, elle reste dans votre inventaire et à la fois dans votre stock. Bref, je conseille de, dès que vous avez la ball, vous sauvegardez et quittez. En relançant le jeu sans AR.
Si vous allez voir Faras à Ecorcia, il vous fera le blabla habituel pour transformer vos noigrumes en balls. Il ne verra pas que vous avez la GS Ball en poche, alors qu'il est censé le détecter automatiquement. Il faut donc préparer un autre code.
4) Relancer le jeu avec AR sur "On". Désactiver tous les codes. En créer un nouveau pour déclencher l'événement Fargas : 01C089DA.
Sources :
https://www.pokemontrash.com/or-argent-cristal/avoir-celebi.php
https://www.youtube.com/watch?v=Gd_O9IaQ4MA
Note : si Fargas est en train de vous fabriquer une ball, je vous encourage à attendre tranquillement le lendemain qu'il ait fini plutôt qu'esssayer de trafiquer l'heure de la cartouche... Un risque bête à prendre.
5) Lancer le jeu avec codes activés, aller voir Fargas et là, normalement, il vous dit que la ball bouge etc. Il vous donne la GS Ball mais cette fois en objet rare (et non plus en objet classique) et c'est seulement lorsqu'elle est dans cet inventaire-là que l'événement Celebi peut se déclencher dans le Bois aux Chênes, sur l'autel. La suite vous avez dû la lire plein de fois. Sauvegarder, quitter.
Notez que la GS Ball reste dans l'inventaire des objets classiques même après le dialogue.
6) Relancer le jeu avec AR sur "On". Désactiver tous les codes. En créer un nouveau pour remplacer votre GS Ball plus ou moins buguée par une LETTR FLEUR (par exemple), en admettant qu'elle soit toujours en première position : 019E93D8.
7) Après lancement du jeu, passer le switch en "On", puis tout de suite en "Off", ce qui a pour effet de remplacer votre GS Ball par la lettre. À ce moment-là, vous pouvez jeter la lettre et la GS Ball n'occupe plus une place dans l'inventaire pour rien. Si vous laissez le switch sur "On", le code reste activé donc jettera la lettre puis changera votre second objet, devenu premier objet, par la lettre. Sauvegarder, quitter, puis laisser de côté l'AR et jouer normalement ;)
Je n'ai pas pu tester mais compte-tenu du dialogue avec Fargas, je soupçonne que l'événement soit disponible seulement avec le dernier code, même si vous n'avez pas de GS Ball en poche. À tenter.
J'espère que tout ça pourra aider d'autres personnes que moi dans cette quête. Tellement d'efforts pour pas grand chose au final
Cimer BORDEL
J'ajoute quand même : j'étais pas allé au bout du procédé, mais l'événement semble se déclencher en boucle. C'est-à-dire que Fargas, une fois qu'il a donné la GS Ball en objet spécial, attend qu'on aille au Bois. Une fois que c'est fait, que vous avez rencontré Celebi, il vient vous féliciter. Si vous retournez le voir, il va lancer le même dialogue qu'auparavant, avec la ball qui bouge. Et on peut re-rencontrer Celebi à l'infini. Et ce, alors même qu'aucun code n'est activé (jeu lancé sans AR).
Sympa pour les échanges, moins sympa pour les noigrumes (et pour la cohérence globale du jeu).
Je vais faire d'autres recherches plus tard, voir si on ne peut pas corriger ce problème.
Je confirme que l'événement Celebi se déclenche à l'infini. D'ailleurs ce site anglais le mentionne :
https://www.supercheats.ccom/gameboy/pokemoncrystal.htm
« Catch Celebi all the time [...] Repeat the same process to get celebi as many times as you want. »
Après de nouvelles longues recherches, j'ai trouvé le moyen de désactiver cet événement.
Déjà, j'ai vu à plusieurs reprise que les codes donnés commençant par "91" peuvent tout aussi bien commencer par "01". Voilà pourquoi j'ai vu ici et là deux versions du code 01C089DA.
Sources :
https://www.reddit.com/r/GBA4iOS/comments/5wiln7/pok%C3%A9mon_crystal_game_shark_help/
https://www.pokemontrash.com/club/triche/jeux-gbc-demande-de-codes/
D'ailleurs ce second lien m'aurait mis la puce à l'oreille si je l'avais lu plus tôt, je cite :
« Faire l’Evènement Célébi et à l’Infini : 01C089DA »
Le mec qui a écrit tout ça a fait plutôt du beau boulot, alors que ça date de 2010. À ajouter dans la liste des sites répertoriant de manière exhaustive les codes GameShark / Action Replay Xtreme.
Ok donc j'essaie de comprendre comment le Game Shark fonctionne, je tombe sur plusieurs sites américains.
Un mec pose clairement la question ici :
https://gaming.stackexchange.com/questions/76858/how-do-gameshark-codes-work
C'est partiellement expliqué dans cet « The Ultimate Pokémon Codes Guide » :
https://www.ocf.berkeley.edu/~jdonald/pokemon/PKCodes.pdf
Et celui-ci attire mon attention :
https://bluemoonfalls.comm/pages/general/gs-ball-celebi
On peut voir un programme d'édition tournant sous Windows, et on peut voir deux cases à cocher sur des flags d'événement :
"Kurt can check GS Ball"
"Kurt ready to return GS Ball (combine with above flag)"
Kurt est l'équivalent du PNJ Fargas aux US. Il y a donc bien deux événements distincts : celui où il vérifie qu'on a la ball, et celui où il lance son discours "ça bouge" et qu'il nous demande d'aller dans le bois.
Ce que j'en déduis, c'est que dans ma version, ce flag reste constamment activé. Il faudrait que je le désactive, mais comment ? L'Action Replay ne donne le code que pour l'activer. J'ai essayé de relancer le jeu avec le même code voir si ça changeait, comme pour un booléen, mais rien à faire.
Toujours sur le même site, ça parle de PkHex. C'est l'outil précédemment nommé. Mais pour le faire fonctionner, il faut le combiner avec un GBxCart RW :
https://shop.insidegadgets.com/product/gbxcart-rw/
ou vendu par des français (super au passage, ils m'ont moddé une NES, je les recommande) :
https://shop.modinfrance.fr/fr/gameboy/57-gbxcart-rw-v14-pro.html
Un outil : « pour les cartouches GB, GBC et GBA qui vous permet de sauvegarder vos ROMs et de sauvegarder/restaurer vos sauvegardes. »
Je suis pas chaud. Ça veut dire encore acheter quelque chose, tester sans forcément de succès, etc. Mais ça peut toujours servir pour d'autres personnes dont les sauvegardes de jeux Game Boy sont précieuses.
Mais je continue de croire que ce flag peut être désactivé. Je regarde si je peux trouver des infos dans le code source de PxHex :
https://github.com/kwsch/PKHeX
Mais rien.
Je retombe sur des sites qui permettent de modifier la RAM dans l'espoir de tomber sur des codes héxadécimaux :
https://gbatemp.net/threads/pokemon-crystal-gs-ball-questions.485844/
https://www.neoseeker.comm/forums/2020/t602147-gs-ball/
Toujours rien.
Et je tombe sur ce forum :
https://gbatemp.net/threads/pokemon-crystal-japanese-codes.499027/
où le mec dit ceci :
« 01C089DA means it writes C0 to DA89. »
Ok, donc 01 on va dire que c'est le début, comme si ça annonçait un code. 89DA c'est l'événement, et C0 c'est la valeur de l'événement "final", celui où Fargas dit que la ball bouge.
Je trouve ces deux sites :
https://games.narkive.com/veWtv7eA/help-me-with-pokemon-crystal-please
https://archives.glitchcity.info/wiki/Pok%C3%A9mon_Crystal_GameShark_codes.html
Les deux disent la même chose :
1. Give GS Ball to Kurt 014089DA
2. Get GS Ball from Kurt 01C089DA
Je retrouve les événement distincts présentés par le PkHex, mais aussi ma logique précédente. Ici le 40 du premier code est une autre partie de l'événement 89DA. Hé oui, car je n'avais pas envie de tester des codes hexadécimaux au hasard entre le 01 et 89DA, c'était un coup à corrompre ma sauvegarde.
Et j'ai besoin d'une dernière dose de sérénité. En poursuivant toujours plus mes recherches, je tombe sur ce site :
https://tcrf.net/Pok%C3%A9mon_Crystal
Il liste tous les éléments inutilisés du jeu. Mais plus intéressant encore, il donne un lien vers... le code source du jeu, "Pokemon Crystal disassembly" :
https://github.com/pret/pokecrystal/tree/master/gfx/title
Je farfouille à l'intérieur, et je finis par tomber là-dessus :
https://github.com/pret/pokecrystal/blob/master/maps/KurtsHouse.asm
Hyper intéressant, notamment tout ce qui concerne :
EVENT_GAVE_GS_BALL_TO_KURT
ou ce qui semble être des class (je ne connais pas ce langage de programmation mais ça se devine) :
.CanGiveGSBallToKurt:
.GaveGSBallToKurt:
.NotMakingBalls:
Allez, je passe les détails mais la page est passionnante si vous vous intéressez un peu à la programmation, et à Pokémon
Le code semble me confirmer que le 2e event ne sera pas actif si le 1er est actif. Je relance mon AR Extreme, je prépare le code "014089DA" comme seul code cette fois, et je me dis que normalement, même si le 1er événement est encore actif (Fargas qui attend ma GS Ball), comme je n'ai plus rien en poche, il me fera son discours classique sur les noigrumes.
Banco ! Je sauvegarde, je retire l'Action Replay, et je peux reprendre ma partie normalement après avoir capturé Celebi "légalement"