List of battle glitches in Generation III

:For other glitches in this generation, see List of glitches in Generation III
This is a list of Pokémon battle glitches in Generation III games.
==Pokémon Ruby, Sapphire, Emerald, FireRed, and LeafGreen==
===Focus Punch recall bug===
By selecting in a Double Battle on the first , pressing the B button, then recalling the first Pokémon, the first Pokémon will tighten its focus in preparation for Focus Punch, then be recalled. This is due to the priority of Focus Punch getting prepared being higher than the priority for the recall.
===Mail corruption===
Although later games disallow the removal of during a battle, these games allow in-battle Mail removal due to oversights. This allows the player to corrupt the held Mail.A Piece of Mail Just BROKE Gen 3 Pokemon Speedruns Forever, PulseEffects on YouTube
* In , the move can be used on the player's own Pokémon in a Double Battle to move Mail from one Pokémon to another.
* In the Japanese versions of Ruby and Sapphire only, the move can be used to switch Mail with the held item of the opposing .
* In all Generation III games, during a Double Battle, a Pokémon can consume its held Berry and switch to another Pokémon in the party holding Mail that knows . The Pokémon holding Mail can be hit by the move to lose its Mail, then use Recycle to recover the consumed Berry, overwriting the held Mail.
Mail corruption results in an item that has the Mail icon but acts like the item held afterward. If this bug is repeated six times, Mail can be given to the Pokémon without having to attach a message, and the player can indefinitely withdraw the item from the Pokémon by giving it Mail then withdrawing it again. In Ruby and Sapphire, this can also corrupt tiles and their collision parameters based on the phrase of the buggy Mail when given to another Pokémon in the Pokémon List. In FireRed and LeafGreen, this bug corrupts the Pokémon Storage System data, which allows arbitrary code execution to be performed.Speedrunners FINALLY Broke Pokemon Fire Red After 19 Years, PulseEffects on YouTube
===Move details errors===
The details on the descriptions for many moves show them as having 100% , despite the moves succeeding regardless of accuracy and .
This error is present in the details of , , , , , , , , , , , , , , , , , , , , , , , , , , , , and .
The description for shows it as having 100 power, despite its power being calculated based on the amount of times has been used.
===Softboiled + Brick Break bug===
If is used immediately after , the egg that appears will be transparent rather than solid.
===Status condition delayed cure glitch===
If a Pokémon with a status condition that has an Ability that cures that status condition (e.g. a Pokémon with ) is sent into battle as one of the lead Pokémon or to replace a fainted Pokémon, or gains that Ability due to , it will not be cured of its status condition until after a Pokémon takes its turn (uses a move, switches out, etc.). However, it will be immediately cured of the status condition if it is switched in to replace a switched out Pokémon (including if switched in via ).
Likewise, if a Pokémon with is due to obtaining it from , if it gains via Trace it will not be cured of confusion until after a Pokémon takes its turn (uses a move, switches out, etc.).
===Sticky Hold graphics bug===
When or are used to knock out a holding an item that also has the Ability, the sprite of the defeated Pokémon becomes stuck and gets translucent until another screen is loaded. Switching to the Bag screen or the Pokémon List will cause it to disappear.
On a against a full party, defeating the next Pokémon will cause that Pokémon's sprite to vanish normally, but the stuck sprite will remain. If the second Pokémon is defeated without leaving the battle screen, a third Pokémon will come out, but the second Pokémon's sprite will be flushed out normally. The stuck sprite of the first Pokémon will remain and get recolored to match. This is because the game stores color palettes separately to the sprites themselves.
===Stuck audio bug===
If or are used during with the effects enabled, the sound of the moves may get stuck until the game is rebooted. This is related to the stuck audio freeze glitch.
 
==Pokémon Ruby, Sapphire, FireRed, and LeafGreen==
===Roaming Pokémon IV bug===
In the Generation III games, the data for a 's s are stored in a . For roaming Pokémon, these IVs are stored in a unique place in memory and retrieved whenever the roaming Pokémon is encountered in the wild, so that its IVs remain constant between encounters. However, a glitch causes only the last 8 bits to be transferred from this placehttps://www.pokecommunity.com/showthread.php?t=214655https://projectpokemon.org/home/forums/topic/3849-legendary-beast-glitch/ instead of all 32. Due to this, while the IV is unaffected, the Pokémon can only have a maximum IV of 7, and the other four IVs will always be 0. Their type will always be Fighting with a power of 30 or 31.
This glitch was fixed in .
==Pokémon Ruby, Sapphire, FireRed, LeafGreen, and Colosseum==
===Multistrike moves inflict status upon their target===
If a Pokémon uses a multistrike move other than against a target with an Ability that inflicts a status condition on contact, and the move's user triggers this Ability with the move's final strike, there is a 1% chance that the target also becomes afflicted by the status condition inflicted by their Ability.https://gamefaqs.gamespot.com/boards/918915-pokemon-firered-version/41769517The 20 Year Old Pokemon Glitch You DON'T Know About, Yuki Hoshikawa on YouTube
==Pokémon Ruby, Sapphire, and Emerald==
===Nature Power details error===
's accuracy is listed as 95%, even though , including Nature Power, skip accuracy and evasion checks. The called move performs the accuracy and evasion checks as normal (except , which skips those checks).
===Pokéblock throw bug===
===Wally defeating Ralts oversight===
In Pokémon Ruby, Sapphire and Emerald, it is possible for the capture tutorial where Wally catches a to end with Ralts fainting. This can only happen if is generated with 11 Attack, and the wild Ralts has a Nature that lowers Defense, an IV of 3 or less in HP, and 5 or less in Defense. With all this, Zigzagoon can do a maximum of 10 damage with its first , and after is used on it, 7 with its second. This makes for a total of 17 damage, just enough to knock out Ralts. However, the game continues on as if it had been caught. The probability of this occurring is {182 \over 800} \times {4 \over 25} \times {4 \over 32} \times {6 \over 32} \times {5 \over 16} \times {7 \over 16} = {611,520 \over 5,242,880,000} = {1911 \over 16,384,000} \approx 0.01\% 
===Wally's Shiny Ralts oversight===
In Pokémon Ruby, Sapphire and Emerald, if Wally encounters a in the catching tutorial, this Ralts will appear as a regular non-Shiny Pokémon in subsequent battles. This happens due to the fact that the battles between the player and Wally are scripted with no way to account for a Shiny Ralts.
==Pokémon Ruby and Sapphire==
===HP bar oversight===
During a , if the player's deals more than 33037 damage at once, the opposing Pokémon will faint without its bar being drained. If the damage dealt in one hit is exactly 33037, the HP bar drains instantly.
===Pay Day money error===
The wrong amount of Pokémon Dollars received from will be displayed if the Amulet Coin is held by a , leaving the impression that it does not affect Pay Day. Yet, upon checking the , the player will discover that the amount was doubled accordingly.
===Roaming Pokémon encounter bug===
Encountering and defeating or after losing a Trainer battle (without any other wild encounters in between) will cause the game to keep the data of the opponent's Pokémon List slots 2-6.Battle Tower Lati@s glitch If these slots contain data that does not match a Bad Egg or a fainted , it will be sent out after defeating Latias, as if it were a Trainer battle. The Trainer's name is shown as " TRAINER" (ポケモントレーナー) and their Pokémon can be caught and nicknamed.
The game considers this as a battle in roaming Pokémon mode. As such, the Pokémon is able to flee if it's not trapped by or . The roaming Pokémon is considered defeated or after catching the Trainer's Pokémon or defeating them in battle. If the Pokémon flees or the player loses/decides to run away, the roaming Pokémon will not be recognized as defeated or caught and will keep roaming Hoenn even if it only has 0 left; under such circumstances, the bug will automatically load the Trainer's Pokémon and skip the roaming Pokémon. Since the game behaves as if it were a wild Pokémon battle, it will not present the Trainer's sprite and/or their "victory" speech. Pokédex entry data is also added if the Pokémon is caught.
Experience is gained from defeating the Trainer's Pokémon. If experience gains occur after defeating Latias, the game will keep playing Victory! (Wild Pokémon) while the Trainer sends out their Pokémon. The original s of the Trainer's Pokémon are retained so the Roaming Pokémon IV bug does not apply.
The Trainer's Pokémon caught by the player may also become Bad Eggs, unless the Pokémon was obtained from a Trainer found in the . This is because the Pokémon of other Trainers do not have a Trainer ID number and that match those of the player.
===Shed Skin does not clear Nightmare===
Any awoken through will not be cleared of . This means the Nightmare damage is still applied, even though the affected Pokémon is no longer .
This bug has been addressed in ; interestingly enough the developers also implemented another fail safe in the code of Nightmare in those versions, so it clears the condition, if it detects the victim not being asleep.
===Stuck audio freeze===
In some copies of , using or may cause the game to freeze during the animation sequences of the moves. This can be remedied by turning off the battle effects in the options.
===Toxic catch rate bonus===
If a wild Pokémon is , the 1.5 bonus multiplier for status conditions is not applied to the . It is caused by a faulty bit mask (0x58 instead of 0xD8), which is applied to the .
This was fixed in .
==Pokémon Emerald==
===Battle Pike's poison knockout===
This glitch involves a series of steps before a Double Battle within the Battle Pike. It allows for sending out two Pokémon in a Double Battle even when the player has only one usable Pokémon (i.e. the second is a clone of the first Pokémon), and allows for a glitched party menu similarly to the one accessed when Glitzer Popping. Additionally, it has been recently discovered that the glitch can be used to change a Pokémon's entire moveset to sketch, as shown here.
# Have the first Pokémon faint.
# View the third Pokémon's status in the party.
# Faint the second Pokémon due to poison.
# Enter the Double Battle. 
===Hidden Power disobedience glitch===
If the player commands a Pokémon to use , but it instead uses a different move due to disobedience, the used move uses the type of Hidden Power for that particular Pokémon rather than its usual type.
This glitch affects the type effectiveness of and ; for example, if Thunder Wave becomes a move, Pokémon can be affected by it but Pokémon cannot.
==Pokémon FireRed and LeafGreen==
===Roaming Roar bug===
In the western copies of FireRed and LeafGreen, if a roaming Pokémon uses to flee from , it will no longer appear in the wild. This means the player will no longer be able to obtain it in that save file. This can be avoided if the roaming Pokémon is affected by or , or the player's Pokémon is affected by or has or .
==Pokémon Colosseum==
===Battle Item glitch===
By using an ineffective item, such as a Potion on a Pokémon with full health, the can use a battle item on that Pokémon instead of the Pokémon whose turn it is.
===Perish Song experience bugs===
====Involving status ailments====
When the last opposing is defeated by a or while the player's Pokémon are under the effect of , the player's Pokémon will gain experience immediately after the Pokémon faints, then once again each time one of the player's Pokémon's perish count drops. This allows Pokémon to gain the experience for defeating the Pokémon up to three times.
====Involving weather====
If the last opposing is defeated with Perish Song while is active, the opposing Pokémon that fainted was immune to Sandstorm, and at least one if the player's Pokémon is about to also reach zero, then the battle will continue on with the player's Pokémon also fainting. Those Pokémon that were out with that Pokémon and any Pokémon holding an Exp. Share will gain experience as if it was an opposing Pokémon before the battle concludes.
===Poké Ball amount bug===
By selecting a Poké Ball during the turn of the player's first , changing the location of the selected Poké Ball with another Poké Ball type in the Bag with the Y button on the second Pokémon's turn, then throwing the Poké Ball, the Poké Ball pocket will still display the same amount of Poké Balls, as if the Poké Ball just thrown had not been used.
Additionally, if the second Pokémon is using a multiple-turn move that was selected on a previous turn, the attack prevents the bug from working, which causes the thrown Snag Ball to be used.
This glitch was fixed in the sequel; Pokémon XD: Gale of Darkness.
===Shadow Rush glitch===
If a Shadow Pokémon in Hyper Mode is trying to use , , or , but uses instead due to disobedience, Shadow Rush can hit during the semi-invulnerable turn of , , or .
===Shiny Shadow Pokémon bug===
Like in the core series games, in there is a 1/8192 chance for Shadow Pokémon to be . When fighting a trainer with a Shadow Pokémon for the first time, its information will be decided and there is a 1/8192 chance of spontaneously becoming Shiny for the player after capturing it, but never for the opponent. If the player loses without capturing the Pokémon and decides to rematch the trainer, the information for that Pokémon will be locked in and can be shiny for the opponent, and will only be shiny for the player if it would have been the first time the trainer was fought. Shadow Pokémon retain shininess through purification.
This bug occurs because when the player captures a Shadow Pokémon, their Trainer ID number overwrites the original Trainer's ID number, unlike with traded Pokémon; because the Trainer ID number is a factor in Shiny calculation, this may cause the Pokémon to acquire (or lose) their Shiny status. This is similar to the oddity of a hatched changing from normal to Shiny (or vice-versa) if it was traded to another player before hatching.
In , the game calculates a personality value for a Shadow Pokémon, checks it against the player's and opponent's ID numbers, and if either one would result in a Shiny Pokémon, it generates a new personality value for that Pokémon (repeating if necessary). As a direct result, Shadow Pokémon in can never be Shiny (though other Pokémon, such as those appearing in Poké Spots or Battle CDs, can be).
===Snag recall bug===
If the player snags a Shadow Pokémon on the same turn that the opponent recalls its other Pokémon (e.g.: to avoid 's effect), and the opponent only has two non-Shadow Pokémon left, they will not send out a Pokémon in the place of the snagged one.
==Pokémon XD: Gale of Darkness==
===Shadow Voltorb Catch Bug===
If the player loses the fight with Miror B at the Cave Poké Spot (where he initially has a Shadow Voltorb), it will not reappear in any of the rematches against Miror B. This locks the player out of capturing the Voltorb, and in turn Dragonite without completely restarting the game.
This Shadow Voltorb is missing a flag in its code that is present on every other Shadow Pokémon in battles where players are allowed to lose to still progress the story.
==References==
==Related articles==
Category:Glitches by game