Jump to content

ZZAZZ glitch: Difference between revisions

m
>Torchickens
 
(16 intermediate revisions by 4 users not shown)
Line 1:
{{Major glitches}}
{{Bulbapedia}}
[[Image:ZZAZZ glitch Trainer.png|frame|right|Encountering 'FF'[[TrainerDex/RB:055|14S]] (Trainer class 55)'s roster 7 in Red.]]
 
The '''ZZAZZ Glitchglitch''' is a major glitch which occurs when the player encounters a certain roster of a [[glitch trainer]].
[[Image:ZZAZZ glitch Trainer.png|frame|right|Encountering 'FF' (Trainer class 55)'s roster 7]]
 
The '''ZZAZZ Glitch''' is a major glitch which occurs when the player encounters a certain roster of a [[glitch trainer]].
 
In Pokémon Red and Blue, using a Special stat of either 248, 251, 252, 254, 255 for the [[Ditto Trick]] and not altering the attack stage of the enemy Pokémon (7 by default) can cause the glitch. Likewise, in Pokémon Yellow if the attack stage is not changed (left at 7), Special stats of 248, 249, 250, 252, 253, 254 and 255 will work.
Line 11:
==Name origin==
 
The name "ZZAZZ Glitchglitch" came from the player using the name "OLD MAN" which resulted in this glitch editing part of the player's name to be "ZZAZZ".
 
==Cause==
 
Whether a Trainer causes the ZZAZZ glitch or not is controlled by two things; firstly their Trainer class (controlled by byte D059 in Red/Blue or D058 in Yellow) and secondly their roster (controlled by byte D05D in Red/Blue or D05C in Yellow). For the effect to be noticeable the Trainer class may have to be a glitch Trainer, because glitch Trainers in Generation I typically have large base money payouts.
 
The Trainer class is important because each Trainer class has a certain base money payout, and the roster is important because the last level{{clarify}} in the roster is multiplied by the base money payout to calculate the Trainer's prize money.
In Pokémon Red/Blue/Yellow, money is stored so that a hexadecimal value represents a decimal value, which is related to why the ZZAZZ glitch writes 99 (normally dec:153) to things.
 
The following factors will cause greater ZZAZZ glitch corruptions:
Upon encountering a ZZAZZ glitch Trainer, its base money payout will be multiplied by the level of the last Pokémon and the result (the prize money) will be stored at D079 (D078 in Yellow), capped at "009999".
 
*If the Trainer is from a glitch Trainer class, because glitch Trainer classes in Generation I typically have large base money payouts.
Multiplication in the winning money calculation is implemented as a consecutive addition (like 3*4 is 3+3+3+3), but a glitch occurs when the money caps at 9999. Every time the game resets the payout back to 9999, the game moves the payout money pointer 3 bytes forward, so the game keeps writing hex:9999 to memory addresses located past the winning money bytes.
*If the last level of the Pokémon is high or 0 (technically 256).
 
In Pokémon Red/Blue/Yellow, money is stored so that a hexadecimal value represents a decimal value, which is related to why the ZZAZZ glitch writes 99 (normally dec:153) to things.
The more times that the money value in the current pointer caps at 00 99 99, the more bytes are corrupted.
 
Upon encountering a ZZAZZ glitch Trainer (or any Trainer), its base money payout will be multiplied by the level of the last Pokémon and the result (the prize money) will be stored at D079 (D078 in Yellow), capped at "009999".
The first byte in the series (XX 99 99) is never written to, meaning that some values stay the way they were. The extent of corruption depends on how many additions the game used. Bytes may not be kept at 99 if they change naturally in battle. An example is the address D083 (D082 in Yellow), which may be constantly changing before the player sends out their Pokémon so that the low HP noise is played.
 
Multiplication in the winning money calculation is implemented as a consecutive addition (like 3*4 is 3+3+3+3), but a glitch occurs when the money caps at 9999. Every time the game resets the payout back to 9999, the game moves the payout money pointer 3 bytes forward, so the game keeps writing hex:9999 to memory addresses located past the winning money bytes when it still has additions left to do and encounters another cap.
(Thanks to the user TheZZAZZGlitch and Bbbbbbbbba for the cause from the forums)
 
The first byte in the series (XX 99 99) is never written to, meaning that some values stay the way they were. The extent of corruption depends on how many additions the game used. Bytes may not be kept at 99 if they change naturally in battle. An example is the address D083 (D082 in Yellow), which may be constantly changing before the player sends out their Pokémon so that the low HP noise is played.
 
(Thanks to the user TheZZAZZGlitch and Bbbbbbbbba for the cause from the forums)
 
==Effects==
Line 39 ⟶ 44:
Though ZZAZZ glitch Trainers have AI that can freeze the game, the player can easily escape the battle if he or she uses any type of Pokéball as the battle will suddenly end even after the Trainer blocks the ball.
 
The reason why using a type of Poké Ball will end the battle is because the memory address D11C (D11B in Yellow) is set to hex:99. and thisThis address is responsiblenormally forinitialized endingto the0, battleand inset to the oldindex man'snumber Pokémonof catchinga demonstrationwild Pokémon when it is caught. After an item is successfully used in battle (this just means that a nonturn 00is spent, so a blocked Poké Ball is still considered successfully used), the battle will end if this address is a non-zero value.
 
"[[Jacred]]" (Trainer C8)'s fifth and eighth rosters in Pokémon Red and Blue cause a much greater degree of corruption than regular ZZAZZ glitch Trainers ([https://www.youtube.com/watch?v=Wll51o2gt1s video]). They replace the item count with 153, and set 153 to various other item bytes. This gives the player many "POKéTRAINER" glitch items, plus some item quantities get changed to 153. When the player exits battle via an item like a Master Ball the map will be corrupted.
Line 53 ⟶ 58:
If the player saves after performing this glitch, the save file will be erased if an end byte (0x50) is not present on the eleventh character of the player's name or less. However, the ZZAZZ glitch may corrupt your box-set, i.e. message box options used for things like saving.
 
In order to save the game, the player must restore their box-set ID back to a normal value. This can be done by talking to a Pokémon Center nurse then cancelling. The [[glitch boxset]] with an index number of hex:99 [httphttps://forumsarchives.glitchcity.info/index.phpforums/topic,board-107/thread-6629.msg189356/page-0.html#msg189356 has a height of 250], so it corrupts memory addresses past the screen data due to the box being too large.
 
If the player battles another trainer after escaping a ZZAZZ glitch Trainer, they will actually battle a 'link battle' Trainer (nicknamed the 'death trainer'), which may have a Charizard 'M or Q with extremely high HP.
Line 68 ⟶ 73:
 
==Party Pokémon box data shift glitch==
The storageparty Pokémon box data shift glitch is available with the ZZAZZ glitch and is closely related to the [[large storage box databyte shift glitch]]. More information about it can be found [httphttps://forumsarchives.glitchcity.info/index.phpforums/topic,board-107/thread-1386.msg194252/page-14.html#msg194252 here]. It involves data between the Pokémon data and a certain point (most favorably the items terminator) being shifted upwards, with D164 (Pokémon 1) taking the first shifted up value.
 
It is possible to change the first item identifier to the number of items, the first item quantity to the first item identifier, etc. and this makes it possible to work with the 'post 20' item bytes that are actually unrelated data, and this way it is possible to do things like warp to the Hall of Fame.
Line 81 ⟶ 86:
 
==External links==
#[httphttps://forums.glitchcity.info/index.php/?topic,=1386.0.html Thread on Glitch City Laboratories Forums on the ZZAZZ Glitchglitch].
#[http://www.youtube.com/watch?v=D3iVFfKjklk Video demonstration by Newo].
 
==More derivative glitches==
*[[Jacred inventory corruption]]
 
==Trivia==
*This glitch also occurs in the Japanese version, but instead of the player's name characters being replaced with "Z" they are replaced with "ハ" (ha) which could be read as an expression of laughing.
 
[[Category:Generation I glitches]]
[[Category:Glitches that allow Pokémon with unobtainable moves]]
[[Category:Instant victory glitches]]
Cookies help us deliver our services. By using our services, you agree to our use of cookies.