ZZAZZ glitch: Difference between revisions
(technically it's special stat modulo 256 (and I see no natural way to phrase that, so I have left it out)) |
(Try to incorporate the latest information known about this glitch, writing's bad though) |
||
Line 2: | Line 2: | ||
The '''ZZAZZ glitch''' is a [[glitch]] found in the [[Generation I]] {{pkmn|games}}. It can be encountered by using the {{DL|Mew glitch|Ditto glitch}} with a {{stat|Special}} stat of 251, 252, 254 or 255. This makes the {{player}} encounter a glitch {{pkmn|Trainer}} that in turn allows this glitch to occur. | The '''ZZAZZ glitch''' is a [[glitch]] found in the [[Generation I]] {{pkmn|games}}. It can be encountered by using the {{DL|Mew glitch|Ditto glitch}} with a {{stat|Special}} stat of 251, 252, 254 or 255. This makes the {{player}} encounter a glitch {{pkmn|Trainer}} that in turn allows this glitch to occur. | ||
This glitch is caused most directly by a buggy multiplication routine used to calculate the amount of money awarded at the end of the battle, though the conditions that trigger the bug do not occur with any normal Trainer. The multiplication routine attempts to ensure that the money value is capped at [[File:PokémonDollar.png|link=Pokémon Dollar]]9999. In the process, it moves a pointer forward, but never moves it back to its original place. This causes the function to write the bytes 0x9999 (as money uses {{wp|binary-coded decimal}} rather than pure hexadecimal) to various places in memory each time the calculated award would exceed [[File:PokémonDollar.png|link=Pokémon Dollar]]9999. For the Trainers that trigger the ZZAZZ glitch, this happens hundreds of times, destroying many important game variables. | |||
This Trainer can be difficult to beat particularly due to the fact that the {{stat|Hit Points|HP}} bar of the first Pokémon is abnormally high, similar to the side-effects of using a {{m|Super Glitch}} move. | This Trainer can be difficult to beat particularly due to the fact that the {{stat|Hit Points|HP}} bar of the first Pokémon is abnormally high, similar to the side-effects of using a {{m|Super Glitch}} move. | ||
The first of the opponent's Pokémon is usually level 153, proving to be more difficult to beat than a normal level 100 Pokémon. | The first of the opponent's Pokémon is usually level 153, proving to be more difficult to beat than a normal level 100 Pokémon. However, the player can easily escape this Trainer by using an item; the memory corruption process sets a flag that causes this behavior. The glitch Trainer usually has a [['M (FF)]] or a [[Q ◣]] in his first slot; depending on whether the version is {{game|Red and Blue|s}} or {{game|Yellow}}. | ||
Both the player and the glitch Trainer have their name and party Pokémon changed. The glitch changes the Pokémon in the Trainer's party to level 153. Most sprites of Pokémon in the party are replaced with the back-sprite of {{p|Bulbasaur}} and outside of battle the Trainer's sprite changes on the {{ga|Trainer Card}}. The party Pokémon are changed to level 153 because a hexadecimal value of 99 is equal to the integer 153 in decimal. A hexadecimal value of 99 also corresponds to the letter 'Z', which fills both the player's and the glitch Trainer's name; and the move 'Explosion,' which appears in the movesets of most Pokémon after the glitch occurs. | |||
Other less noticeable effects include changes to the interfaces in-game such as the menu, where if a player attempts to save the game the cursor scrolls over 'yes' and 'no' causing the game to crash. A white screen will appear if the player attempts to view their party Pokémon. | |||
Although the player's name will glitch, the [[Original Trainer|OT]] values of the party Pokémon will stay the same. This tricks the game into thinking that they are not the player's Pokémon. The combination of this, and the Pokémon's levels being at 153, causes them to disobey the Trainer (as not even the {{badge|Earth}} is programmed to make Pokémon over level 100 obey the player.) | Although the player's name will glitch, the [[Original Trainer|OT]] values of the party Pokémon will stay the same. This tricks the game into thinking that they are not the player's Pokémon. The combination of this, and the Pokémon's levels being at 153, causes them to disobey the Trainer (as not even the {{badge|Earth}} is programmed to make Pokémon over level 100 obey the player.) |
Revision as of 03:56, 11 July 2014
The ZZAZZ glitch is a glitch found in the Generation I games. It can be encountered by using the Ditto glitch with a Special stat of 251, 252, 254 or 255. This makes the player encounter a glitch Trainer that in turn allows this glitch to occur.
This glitch is caused most directly by a buggy multiplication routine used to calculate the amount of money awarded at the end of the battle, though the conditions that trigger the bug do not occur with any normal Trainer. The multiplication routine attempts to ensure that the money value is capped at 9999. In the process, it moves a pointer forward, but never moves it back to its original place. This causes the function to write the bytes 0x9999 (as money uses binary-coded decimal rather than pure hexadecimal) to various places in memory each time the calculated award would exceed 9999. For the Trainers that trigger the ZZAZZ glitch, this happens hundreds of times, destroying many important game variables.
This Trainer can be difficult to beat particularly due to the fact that the HP bar of the first Pokémon is abnormally high, similar to the side-effects of using a Super Glitch move.
The first of the opponent's Pokémon is usually level 153, proving to be more difficult to beat than a normal level 100 Pokémon. However, the player can easily escape this Trainer by using an item; the memory corruption process sets a flag that causes this behavior. The glitch Trainer usually has a 'M (FF) or a Q ◣ in his first slot; depending on whether the version is Pokémon Red and Blue or Pokémon Yellow.
Both the player and the glitch Trainer have their name and party Pokémon changed. The glitch changes the Pokémon in the Trainer's party to level 153. Most sprites of Pokémon in the party are replaced with the back-sprite of Bulbasaur and outside of battle the Trainer's sprite changes on the Trainer Card. The party Pokémon are changed to level 153 because a hexadecimal value of 99 is equal to the integer 153 in decimal. A hexadecimal value of 99 also corresponds to the letter 'Z', which fills both the player's and the glitch Trainer's name; and the move 'Explosion,' which appears in the movesets of most Pokémon after the glitch occurs.
Other less noticeable effects include changes to the interfaces in-game such as the menu, where if a player attempts to save the game the cursor scrolls over 'yes' and 'no' causing the game to crash. A white screen will appear if the player attempts to view their party Pokémon.
Although the player's name will glitch, the OT values of the party Pokémon will stay the same. This tricks the game into thinking that they are not the player's Pokémon. The combination of this, and the Pokémon's levels being at 153, causes them to disobey the Trainer (as not even the Earth Badge is programmed to make Pokémon over level 100 obey the player.)
Any Trainer battle fought during the glitch will become a battle against a glitch Trainer with the player's sprite. He will either borrow the player's original name, their ZZAZZ-glitched name, or sometimes a different glitched name. His party will consist mainly of several 'M (FF) or Q ◣, and this Trainer could be considered almost impossible to defeat, because one of his 'M (FF)s has an extremely large amount of HP that is possibly close to the largest maximum amount of a Pokémon when taking two bytes into account (65535).
If the player saves after activating the ZZAZZ glitch, their save file will be corrupted and they will be forced to start a new save file.
Video
| |
This video is not available on Bulbapedia; instead, you can watch the video on YouTube here. |
This article is part of Project GlitchDex, a Bulbapedia project that aims to write comprehensive articles on glitches in the Pokémon games. |