Crédit à Crystal_ @ forums.glitchcity.info
Cité dans le source :
- Lorsque FIGHT est sélectionné, le jeu analyse les quatre emplacements PP, et s'ils sont tous nuls, il utilise Struggle. Normalement, l'emplacement PP d'un coup vide est égal à zéro, mais nous allons voir qu'il peut y avoir un cas limite...
- Le Pokémon actif est copié dans une région de la mémoire (afin que le jeu puisse l'utiliser au lieu de devoir modifier constamment les données du groupe). Pour des éléments tels que les HP, le statut et les PP, le jeu doit également mettre à jour les données du groupe.
- Il y a une exception à cela : lorsqu'un Pokémon est sous Transformation, les données du groupe ne doivent pas être mises à jour. Par exemple, le PP n'est pas soustrait des données du groupe.
- Lorsque Mirror Move (ou Metronome) est utilisé, le jeu décrémente le PP de Mirror Move deux fois (une fois lorsqu'il est effectivement utilisé, et une fois lorsque le coup qu'il représente est utilisé). Ainsi, le jeu augmente le PP de Mirror Move une fois, pour compenser.
Tout cela a du sens. C'est comme ça que le jeu fonctionne. Mais il y a un problème : la fonction "PP increment" ne vérifie pas le statut Transformed !
Voici comment déclencher le problème :
- Faites en sorte que n'importe quel Pokémon avec Transformation (typiquement Ditto, mais aussi Mew, ou un Pokémon avec Métronome) affronte un Pokémon connaissant Mouvement Miroir ou Métronome.
- Transformez-vous en Pokémon avec Mirror Move ;
- Utilisez le mouvement ;
- Le jeu va décrémenter le PP de Mirror Move (mais il ne le fera pas parce que Transform) ;
- (Si le déplacement échoue, rien d'autre ne se produit) ;
- Le jeu incrémentera le PP de Mirror Move (donc, il incrémentera le PP dans l'emplacement correspondant) ;
- Le jeu va décrémenter le PP de Mirror Move (mais pas à cause de Transform).
Ainsi, le jeu incrémente le PP d'un coup dans les données du Pokémon. Si le coup est présent, alors il l'aura simplement incrémenté, pas de problème.
Si ce n'est pas le cas, cela crée un slot qui est vide, mais avec un PP non nul ! Ainsi, le jeu ne parvient pas à utiliser Struggle.
Désactiver
Désactiver vérifie d'abord s'il y a un emplacement avec un PP non nul, et si cela échoue, rate. Avec un Pokémon sans combat, cette vérification sera toujours réussie, à cause de l'emplacement glitch. Ensuite, Disable va essayer de choisir un slot qui doit avoir un mouvement ET un PP non nul. En supposant que Transform a 0 PP, le jeu ne trouvera jamais un tel emplacement (puisque le seul emplacement avec un PP non nul n'a pas de mouvement). Bam, boucle infinie, et softlock.
4 votes
Honnêtement, je ne sais pas pourquoi cette question est fermée, car ce n'est clairement pas l'intention des développeurs. Par définition, un bug n'est pas intentionnel, et même s'il l'était, les questions sur le fonctionnement de la mécanique sont parfaitement pertinentes sur le site. Demander comment les glitchs fonctionnent et comment les exploiter est aussi parfaitement dans le sujet, et aquí son juste trois exemples de questions ouvertes et bien accueillies dans la même veine.