Pomeg glitch: Difference between revisions

 
(18 intermediate revisions by 12 users not shown)
Line 1: Line 1:
The '''Pomeg glitch''' is a [[glitch]] exclusive to {{game|Emerald}} and [[Generation IV]] games.
The '''Pomeg glitch''' is a [[glitch]] exclusive to {{game|Emerald}}, {{game|Diamond}}, {{game|Pearl}} and {{game|Platinum}}.


==Performing the glitch==
==Performing the glitch==
The Pomeg glitch involves using a [[Pomeg Berry]] on a Pokémon whose current HP is very low. The Pomeg Berry lowers the HP {{EV}}s of a Pokémon by 10 in [[Generation III]]. Since every 4 EVs is equivalent to 1 HP (at level 100), the Pokémon's HP will decrease with each Pomeg Berry used, as long as the Pokémon has 4 or more EVs in HP. In this way, it is possible to lower the Pokémon's current HP to 0 (without causing it to faint) or a negative number.
The Pomeg glitch involves using a [[Pomeg Berry]] on a Pokémon whose current HP is very low. The Pomeg Berry lowers the HP {{EV}}s of a Pokémon by 10 in [[Generation III]]. Since every 4 EVs is equivalent to 1 HP (at level 100), the Pokémon's HP will decrease with each Pomeg Berry used, as long as the Pokémon has 4 or more EVs in HP. In this way, it is possible to lower the Pokémon's current HP to 0 (without causing it to [[Fainting|faint]]) or a negative number.


For example, if a Pokémon with 8 HP EVs currently has 1 HP out of a maximum of 100, using a Pomeg Berry will decrease the EVs to 0. As a result, the Pokémon should lose 2 HP and have a current HP of -1 and a maximum of 98. However, due to the [[wp:Unsigned integer|unsigned]] manner in which this data is stored, the game interprets a negative number as a very high number; therefore, if a Pokémon's current HP drops to -1, it will be interpreted as 65,535 and be displayed as "?35" as well as the HP bar showing the incorrect amount in percent.
For example, if a Pokémon with 8 HP EVs currently has 1 HP out of a maximum of 300, using a Pomeg Berry will decrease the EVs to 0. As a result, the Pokémon should lose 2 HP and have a current HP of -1 and a maximum of 298. However, due to the [[wp:Unsigned integer|unsigned]] manner in which this data is stored, the game interprets a negative number as a very high number; therefore, if a Pokémon's current HP drops to -1, it will be interpreted as 65,535 (two bytes) and be displayed as "?35" as well as the HP bar showing the incorrect amount in percent.


In [[Generation IV]], the glitch was partially corrected so that a Pomeg Berry could not glitch a Pokémon with 3 or fewer HP (a Pomeg Berry will usually decrease a Pokémon's HP by 2). However, the glitch still exists but must be performed on a Pokémon with greater than 4 current HP and 116 or more HP EVs. When a Pomeg Berry is consumed with more than 100 EVs, it resets the EVs to 100. With an EV total of 116, the Pokémon would lose at least 4 HP to reach 0 current HP.  
In [[Generation IV]], the glitch was partially corrected so that a Pomeg Berry could not glitch a Pokémon with 3 or fewer HP (a Pomeg Berry will usually decrease a Pokémon's HP by 2). However, the glitch still exists but must be performed on a Pokémon with 4 or more current HP and 116 or more HP EVs. When a Pomeg Berry is consumed with more than 110 HP EVs, it resets the EVs to 100. With an EV total of 116, the Pokémon would lose at least 4 HP to reach 0 current HP. The Pomeg glitch does not occur in {{game|HeartGold and SoulSilver|s}} or [[Generation V]] as the current HP will no longer change if it would not exceed the reduced maximum HP. In addition, in Generation V, the behavior of the Berries reducing EVs was reverted to always reducing EVs by up to 10, even if it had more than 110 EVs on that particular stat.
 
In [[Generation V]] EV Berries always decrease EVs by 10, and will no longer decrease EVs by more than 10 if the Pokémon has over 100 EVs, making the Pomeg glitch unusable.


The player can undo the effects by simply healing in a [[Pokémon Center]] or using a [[Revive]] when the HP goes back to 0 after using a healing item during which the HP is at "?35".
The player can undo the effects by simply healing in a [[Pokémon Center]] or using a [[Revive]] when the HP goes back to 0 after using a healing item during which the HP is at "?35".
Line 23: Line 21:


====Battling with an Egg====
====Battling with an Egg====
If the player has only an Egg in his or her party with the Pokémon affected, the Egg (or rather, the Pokémon that would be inside) can be forced into battle by following the same steps, but putting the Egg at the head of the party. The Egg will have the same stats it would have upon hatching, as well as all of the moves. This allows it to battle as if it were a normal Pokémon. When battling with an Egg, the sprite of the Pokémon within the Egg is displayed; however, there may be irregularity in the coloring of the Pokémon. This may be because the game is reading the backsprite of the Pokémon within the Egg and the color palette of the Egg itself.  
If the player has only an Egg in their party with the Pokémon affected, the Egg (or rather, the Pokémon that would be inside) can be forced into battle by following the same steps, but putting the Egg at the head of the party. The Egg will have the same stats it would have upon hatching, as well as all the moves. This allows it to battle as if it were a normal Pokémon. When battling with an Egg, the sprite of the Pokémon within the Egg is displayed; however, there may be irregularity in the coloring of the Pokémon. This may be because the game is reading the backsprite of the Pokémon within the Egg and the color palette of the Egg itself.
 
An Egg that battles can gain experience in this way, and with patience, level up, learn moves, and even evolve before hatching. However, when it hatches the level is set to 5, {{EV}}s reset to zero and all [[Experience|EXP]] gained in the Egg is removed. This allows level 5 versions of high-evolutionary Pokémon such as {{p|Tyranitar}} or {{p|Dragonite}} to be obtainable, it also allows otherwise illegal moveset/level combinations, such as a level 5 {{p|Staryu}} with {{m|Hydro Pump}}.
 
If the player has other Pokémon in the party, to prevent [[Black out|blacking out]], the player has to use a (Max) Revive or a Revival Herb on any other Pokémon in the party.


An Egg that battles can gain experience in this way, and with patience, level up, learn moves, and even evolve before hatching. However when it hatches the level is set to 5, {{EV}}s reset to zero and all [[Experience|EXP]] gained in the Egg is removed. This allows level 5 versions of high-evolutionary Pokémon such as {{p|Tyranitar}} or {{p|Dragonite}} to be obtainable, it also allows otherwise illegal moveset/level combinations, such as a level 5 {{p|Staryu}} with {{m|Hydro Pump}}.
====Healing with Eruption/Water Spout====
====Healing with Eruption/Water Spout====
If the Pokémon that has been affected by the glitch uses Eruption or Water Spout, the attack may heal the opponent if the user has enough Sp. Atk and the opponent has low level, low Sp. Def and double weakness to the attack.
If the Pokémon that has been affected by the glitch uses [[Eruption]] or Water Spout, the attack may heal the opponent if the user has high enough Sp. Atk and the opponent has a low level, low Sp. Def and double weakness to the attack.
 
This is because [[Water Spout]] deals damage based on the user's current HP, and performing the Pomeg Glitch gives the user approximately 65535 HP. With a high enough Sp.Atk value, it causes the damage dealt to be so high it underflows to a negative value (the [[damage]] value was a {{wp|signedness|signed}} integer in this generation, which was changed to unsigned in Generation V). A full health opponent's HP bar will appear to drain, but it will not faint. An opponent with less than full HP will be healed to full HP.
 
{{youtubevid|OdHRxG9jC0U|ChickasaurusGL|Spicy}}


{{youtubevid|OdHRxG9jC0U|ChickasaurusGL|HP}}
====Near-infinite battle====
====Infinite battle====
If the Pokémon that has been affected is sent out with 65,535 HP against an opponent that uses an HP-stealing move like {{m|Absorb}}, the Pokémon's HP will be stolen until it reaches the normal maximum amount, which is usually over 65,000 HP lower than the glitched amount for a Pokémon with the absolute maximum HP. If a second HP-stealing move is used, the Pokémon will lose its full HP, go down to 0, and then repeat from the top again.
If the Pokémon that has been affected is sent out with 65,535 HP against an opponent that uses an HP-stealing move like {{m|Absorb}}, the Pokémon's HP will be stolen until it reaches the normal maximum amount, nearly 65,000 HP lower than the glitched amount for a Pokémon with the absolute maximum HP. If a second HP-stealing move is used, the Pokémon will lose its full HP, go down to 0, and then repeat from the top again.


{{youtubevid|om_gbtMAw6I|v0id19|Spicy}}
{{youtubevid|om_gbtMAw6I|v0id19|Spicy}}


====Sprite glitch====
====Sprite glitch====
{{Cleanup|section}}<br>
{{Cleanup|section}}
{{GlitchResearch| Needs list of all moves that work with this glitch }}
{{GlitchResearch| Needs list of all moves that work with this glitch }}


Line 105: Line 109:


====Access Pokémon beyond slot 6====
====Access Pokémon beyond slot 6====
{{Incomplete|section|Huge amount of information missing; e.g. discuss how scrolling far enough corrupts memory in Storage Boxes 3(?) and onward, segue into how this plus the checksum verification and the related dynamic ordering of Pokemon data substructures can cause certain Pokemon (Eggs) to reliably change species based on the EVs they had, allowing the player to obtain any Pokemon ([[Glitzer Popping]]). Maybe also add an aside into how certain Decamarks obtained through this allows arbitrary code execution (though ACE as a topic on its own is pretty huge and might deserve its own article).}}
{{Incomplete|section|Huge amount of information missing; e.g. discuss how scrolling far enough corrupts memory in Storage Boxes 3(?) and onward, segue into how this plus the checksum verification and the related dynamic ordering of Pokemon data substructures can cause certain Pokemon (Eggs) to reliably change species based on the EVs they had, allowing the player to obtain any Pokemon ([[Glitzer Popping]]).}}


This sub-glitch allows the player to access Pokémon beyond slot 6.  
This sub-glitch allows the player to access Pokémon beyond slot 6.  
Line 128: Line 132:
<code>Remaining HP = (HP lost through use of a Pomeg Berry) - (HP gained through use of a Rare Candy after using a Pomeg Berry)</code>
<code>Remaining HP = (HP lost through use of a Pomeg Berry) - (HP gained through use of a Rare Candy after using a Pomeg Berry)</code>


Then a [[Pomeg Berry]] must be used, which makes the Pokémon's HP roll over to a {{tt|very high|or sometimes considered negative}} number. Then a {{DL|Vitamin|Rare Candy}} must be used to level up the Pokémon, causing it to faint. The player does not [[black out]].
Then a [[Pomeg Berry]] must be used, which makes the Pokémon's HP roll over to a {{tt|very high|or sometimes considered negative}} number. Then a [[Rare Candy]] must be used to level up the Pokémon, causing it to faint. The player does not [[black out]].


By battling at the {{si|Pokémon League}} or [[Battleground]], the player will send out a -----.
By battling at the {{si|Pokémon League}} or [[Battleground]], the player will send out a -----.
Line 136: Line 140:
This can be performed with one or more Pokémon, as long as all of them are fainted or {{pkmn|Egg}}s. If performed with more than one Pokémon, the second Pokémon will appear in the first slot on the party screen, the third in the second, etc.
This can be performed with one or more Pokémon, as long as all of them are fainted or {{pkmn|Egg}}s. If performed with more than one Pokémon, the second Pokémon will appear in the first slot on the party screen, the third in the second, etc.


During the battle, if the game checks to see if either player has no Pokémon left (whenever a Pokémon takes damage and at the end of each round), the player will automatically black out if the only Pokémon they have are -----. If performed the glitch with a fainted Pokémon in the second party slot or further and a [[Revive]] or {{DL|Herbal medicine|Revival Herb}} is used to revive it mid-battle, the player will not lose; however, at the end of the round the player will be forced to switch it in. If this happens in a Double Battle under this glitch, the Pokémon will replace the left -----; the right -----'s sprite will remain, but its turn will always be skipped.
During the battle, if the game checks to see if either player has no Pokémon left (whenever a Pokémon takes damage and at the end of each round), the player will automatically black out if the only Pokémon they have are -----. If performed the glitch with a fainted Pokémon in the second party slot or further and a [[Revive]] or [[Revival Herb]] is used to revive it mid-battle, the player will not lose; however, at the end of the round the player will be forced to switch it in. If this happens in a Double Battle under this glitch, the Pokémon will replace the left -----; the right -----'s sprite will remain, but its turn will always be skipped.


{{youtubevid|E12pPXg4-dM|ChickasaurusGL|normal}}
{{youtubevid|E12pPXg4-dM|ChickasaurusGL|Spicy}}
(glitch begins at 5:14)
(glitch begins at 5:14)


Line 149: Line 153:
[[fr:Bug de la Baie Grena]]
[[fr:Bug de la Baie Grena]]
[[it:Glitch della Baccagrana]]
[[it:Glitch della Baccagrana]]
[[zh:红榴漏洞]]
[[zh:榴石果(漏洞)]]
2,380

edits