Protection: Difference between revisions
Unowninator (talk | contribs) (→Unprotectable moves: Missing gen IX.) |
(→Generation V: Mechanics were completely incorrect, original reference was a test that set the byte directly to 0, which would by definition always pass.) |
||
Line 332: | Line 332: | ||
=====Generation V===== | =====Generation V===== | ||
In [[Generation V]], the failure check is implemented by | In [[Generation V]], the failure check is implemented by rolling a 32 bit value, and if the result is less than or equal to the threshold, it would pass. If the move is used in succession, (or with other protective moves), the success rate is halved until the 8th success. At 9+ successive turns, rather than the chance of success being halved, it only succeeds if the value rolled is <code>0x00000000</code>, making all attempts above turn 9 effectively a 1/4294967295 chance of success.<ref>https://github.com/smogon/pokemon-showdown/commit/8f6313a70525a5f6adbba068c2d702c50f6d8373</ref><ref>https://web.archive.org/web/20130412143628/http://www.upokecenter.com/dex/?lang=en&move=182</ref> | ||
{| style="background: #{{normal color light}}; {{roundy|1em}}; border: 3px solid #{{normal color}}" | |||
|- | |||
! style="{{roundytl|5px}}" | Successful turns | |||
! Threshold | |||
! style="{{roundytr|5px}}" | Success rate | |||
|-style="background:#FFF" | |||
| 1 | |||
| 0xFFFFFFFF | |||
| 100%<br>1/1 | |||
|-style="background:#FFF" | |||
| 2 | |||
| 0x7FFFFFFF | |||
| 50%<br>1/2 | |||
|-style="background:#FFF" | |||
| 3 | |||
| 0x3FFFFFFF | |||
| 25%<br>1/4 | |||
|-style="background:#FFF" | |||
| 4 | |||
| 0x1FFFFFFF | |||
| 12.5%<br>1/8 | |||
|-style="background:#FFF" | |||
| 5 | |||
| 0x0FFFFFFF | |||
| 6.25%<br>1/16 | |||
|-style="background:#FFF" | |||
| 6 | |||
| 0x07FFFFFF | |||
| 3.125%<br>1/32 | |||
|-style="background:#FFF" | |||
| 7 | |||
| 0x03FFFFFF | |||
| 1.5625%<br>1/64 | |||
|-style="background:#FFF" | |||
| 8 | |||
| 0x01FFFFFF | |||
| 0.78125%<br>1/128 | |||
|-style="background:#FFF" | |||
| 9+ | |||
| 0x00000000 | |||
| 0.000000023283064%<br>1/4294967295 | |||
|} | |||
=====Generation VI===== | =====Generation VI===== |
Revision as of 21:40, 15 February 2024
A protected Pokémon is unaffected by moves of a certain class during that turn. Many protection moves protect against all damaging moves.
This effect may be described as "evades all attacks" or "negates all damage".
Mechanics
Protection fundamentally grants a turn of invulnerability from moves used directly by other Pokémon. It does not affect damage done at the end of a turn, such as poison, burn, Nightmare, Curse, seeding, binding, sandstorm, hail, Future Sight, or Doom Desire; or the countdown of Perish Song or Perish Body.
Some moves deal damage to Pokémon through protection. Hyper Drill, Mighty Cleave, G-Max One Blow, and G-Max Rapid Flow deal full damage through protection. All other damaging Z-Moves, Max Moves, and G-Max Moves are partially protected and deal 1/4 of their original damage. Moves that break protection, like Feint, will deal full damage and remove the effects of protection.
The Ability Unseen Fist allows all contact moves to bypass protection moves.
The Max Move Max Guard behaves differently than other protection moves. Only Feint, G-Max One Blow, and G-Max Rapid Flow will deal damage through Max Guard, but no move will remove its protection effect. Max Guard also protects the user from some other moves that regular protection does not.
In Pokémon Diamond and Pearl only, due to a bug, if an attack is given perfect accuracy through the effect of a move (such as Lock-On), the weather (such as Blizzard under hail), or an Ability (like No Guard), it ignores protection with inverted accuracy. One-hit knockout moves are unaffected by this bug and will not hit through protection. This bug was fixed in Pokémon Platinum.
In Generation VI, protection would not activate for moves that the user was immune to. Primarily, this meant that King's Shield and Spiky Shield's negative effects would not activate.
Unprotectable moves
The moves marked with a ✔ below are not affected by most protection moves.
Mat Block and Crafty Shield are not affected by this list. Mat Block has no exceptions aside from moves that do damage through protection, and Crafty Shield protects against all status moves except those the user uses on itself, moves that target the user's side of the field, moves that target all Pokémon, and entry hazards.
Max Guard also protects against a few moves below that other protection moves do not: Block, Flower Shield, Gear Up, Magnetic Flux, Phantom Force, Psych Up, Shadow Force, Teatime, and Transform.
This table contains old or outdated information, or has not been updated in a while. Please check the content of this table and update it as required. |
Moves that break protection
These moves will deal damage through any protection move and will lift their protection, with the sole exception of Max Guard. Even if one of these moves makes contact, it will not suffer the negative effect of moves like King's Shield.
|
List of protection moves
Moves that protect only the user
All of these moves protect the user from damaging moves, and some also protect it from status moves. With the sole exception of the Max Move Max Guard, they're all variations of Protect.
They (plus Endure) have a growing chance of failure if used consecutively. This applies across moves: if a Pokémon uses Obstruct and then Endure, Endure may fail.
|
*: This data was different in an earlier generation; refer to the move's page.
Failure chances
Each time a move in the first column in the table below is successfully used without other moves used in between, the subsequent success rate for any of the moves in the second column drops.
Moves that decrease success rate | Moves that check success rate |
---|---|
Endure Moves that protect the user Quick Guard Wide Guard |
Endure Moves that protect the user Generation V only: Quick Guard Wide Guard |
From Generation II to Generation V, the success rate halves each time. Since Generation VI, the success rate is modified by thirds each time[1] (so after two successful uses, the success rate is 1/9).
In Generation IV only, the success rate will never drop below 12.5%; Generation III was intended to behave the same, but a bug causes the rate to follow an erratic sequence after the fourth successful use.
Generation II
In Generation II, the failure check is implemented by comparing a threshold value to a random number (0 to 254), and if the random number is greater than the threshold, the move fails.[2] The threshold starts at 255 and is halved (with the remainder discarded) once for each time a protection move has been used consecutively (so halved once if they've been used twice). This means that the first use will always succeed (the random number cannot be greater than 255), while the ninth and later uses will always have a 1/255 chance to succeed (the threshold will be 0, so the only way to succeed is if the random number is also 0).
Successful turns | Threshold | Success rate |
---|---|---|
0 | 255 | 100% |
1 | 127 | 50.2% |
2 | 63 | 25.1% |
3 | 31 | 12.5% |
4 | 15 | 6.3% |
5 | 7 | 3.1% |
6 | 3 | 1.6% |
7 | 1 | 0.8% |
8 | 0 | 0.4% |
Generation III–IV
In Generations III and IV, the failure check is implemented by comparing a threshold value to a random number (0 to 65535), and if the random number is greater than the threshold, the move fails. The threshold value is taken from an explicitly defined table which starts with 65535, and subsequent values are equal to the previous value halved (with the remainder ignored). The table only has four values, meaning the success rate is meant to have a lower bound.
Two bugs affect the failure check prior to Generation IV. In Pokémon Ruby and Sapphire only, the wrong comparison is made, so protection moves also fail if the threshold value equals the random value,[3] meaning a protection move has a 1/65536 chance (0.001%) of failing on the first use (and the chance of failing in subsequent turns is also greater); this was fixed in Pokémon FireRed and LeafGreen.[4] In all Generation III games, the number of protection uses is incremented with no regard for the limits of the table,[5][6][7] resulting in erratic values being retrieved after four successful turns; in Generation IV, this was fixed to prevent the counter from incrementing beyond the table's size.[8]
Successful turns | Threshold | Success rate |
---|---|---|
0 | 65535 | 100% |
1 | 32767 | 50% |
2 | 16383 | 25% |
3+ | 8191 | 12.5% |
4+III | Erratic values |
Generation V
In Generation V, the failure check is implemented by rolling a 32 bit value, and if the result is less than or equal to the threshold, it would pass. If the move is used in succession, (or with other protective moves), the success rate is halved until the 8th success. At 9+ successive turns, rather than the chance of success being halved, it only succeeds if the value rolled is 0x00000000
, making all attempts above turn 9 effectively a 1/4294967295 chance of success.[9][10]
Successful turns | Threshold | Success rate |
---|---|---|
1 | 0xFFFFFFFF | 100% 1/1 |
2 | 0x7FFFFFFF | 50% 1/2 |
3 | 0x3FFFFFFF | 25% 1/4 |
4 | 0x1FFFFFFF | 12.5% 1/8 |
5 | 0x0FFFFFFF | 6.25% 1/16 |
6 | 0x07FFFFFF | 3.125% 1/32 |
7 | 0x03FFFFFF | 1.5625% 1/64 |
8 | 0x01FFFFFF | 0.78125% 1/128 |
9+ | 0x00000000 | 0.000000023283064% 1/4294967295 |
Generation VI
In Generation VI, the failure check is implemented by picking a random number with a range of X
(so that there are X
values: 0 to X-1
) and if the random number is 0, the move succeeds. X
is taken from an explicitly defined table which starts with 1, and subsequent values are equal to the previous value multiplied by 3.[11] The table only has seven values, giving the success rate a lower bound of approximately 0.1%. In general, the success rate is 1/3^T
, where T
is the number of successful turns a protection move has been used.
Successful turns | Range | Success rate |
---|---|---|
0 | 1 | 100% |
1 | 3 | 33.3% |
2 | 9 | 11.1% |
3 | 27 | 3.7% |
4 | 81 | 1.2% |
5 | 243 | 0.4% |
6 | 729 | 0.1% |
Moves that protect the user's side of the field
These moves protect the user as well as its allies, either only from non-damaging moves or with restrictive conditions.
Since Generation VI, the success of these moves is not tied to any other move—a notable distinction from the moves that protect only the user. However, Quick Guard and Wide Guard do affect the failure chances of the moves listed in the section above. In Generation V only, Quick Guard and Wide Guard also had to pass the same failure check as protection moves that protect only the user.
|
*: This data was different in an earlier generation; refer to the move's page.
In the anime
Quick Guard being used by Cliff's Mienfoo
Spiky Shield being used by Sophocles's Togedemaru
King's Shield being used by Sawyer's Aegislash
Max Guard being used by Lance's Gyarados
References
- ↑ Protect | XY | Smogon Strategy Pokedex
- ↑ Crystal protection failure check in pret disassembly on GitHub
- ↑ RS protection bug (wrong comparison) in pret decompilation on GitHub
- ↑ FRLG protection correct comparison in pret decompilation on GitHub
- ↑ RS unbounded protection rate in pret decompilation on GitHub
- ↑ FRLG unbounded protection rate in pret decompilation on GitHub
- ↑ Em unbounded protection rate in pret decompilation on GitHub
- ↑ HGSS properly bounded protection rate in pret decompilation on GitHub
- ↑ https://github.com/smogon/pokemon-showdown/commit/8f6313a70525a5f6adbba068c2d702c50f6d8373
- ↑ https://web.archive.org/web/20130412143628/http://www.upokecenter.com/dex/?lang=en&move=182
- ↑ AJ Ringer on Twitter: "Protect is a 1/3^(min(protect_counter, 6)) chance for success in 6th gen. From DllBattle.cro."
This game mechanic article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games. |