Stat: Difference between revisions

1,927 bytes added ,  11 May 2018
→‎Accuracy and evasion: That formula is actually a huge/old abstraction. It completely misses the effect of adjusted_stages, not to mention screwing up by dividing when the acc/eva scale is inverted
m (Bot: Adding es:Estadísticas)
(→‎Accuracy and evasion: That formula is actually a huge/old abstraction. It completely misses the effect of adjusted_stages, not to mention screwing up by dividing when the acc/eva scale is inverted)
Line 335: Line 335:


====Accuracy and evasion====
====Accuracy and evasion====
No values for accuracy and evasion are directly visible anywhere, but they influence the probability of a move hitting. The formula for this is:
Accuracy and evasion are not visible anywhere as explicit stats, but they influence the probability of a move hitting. The nuances of this calculation differ between games. [[:Category:Moves that cannot miss|Some moves]] ignore accuracy checks.


[[File:Accuracy calc.png]]
=====Generations I and II=====
Whether a move hits depends on the formula:
 
T = Accuracy<sub>move</sub> * Accuracy<sub>user</sub> * Evasion<sub>target</sub> - BrightPowder
 
Where...
* ''T'' is the computed threshold value that will determine whether the move will hit, always at least 1 and at most 255,
* ''Accuracy<sub>move</sub>'' is the move's [[accuracy]], a value from 0 to 255,
* ''Accuracy<sub>user</sub>'' is the accuracy [[#Stage multipliers|stage multiplier]] of the user,
* ''Evasion<sub>target</sub>'' is the evasion stage multiplier of the target, and
* ''BrightPowder'' is 20 if the user is [[held item|holding]] [[Bright Powder|BrightPowder]] (in Generation II) or 0 otherwise.
 
The game then selects a random number ''r'' from 0 to 255 and compares it to ''T'' to determine whether the move hits.
 
In Generation I, if ''r'' is less than ''T'', the move hits. This results in a bug where no move can be guaranteed to hit (excluding {{m|Bide}} and {{m|Swift}}) since even if ''T'' is 255, if ''r'' is also 255, the move will miss.
 
In Generation II, if ''T'' is 255 or else if ''r'' is less than ''T'', the move hits. This eliminates the bug from Generation I.
 
=====Generations III onward=====
Whether a move hits depends on the formula:
 
T = Accuracy<sub>move</sub> * Adjusted_stages * Other_mods


Where...
Where...
* ''P'' is the probability of the move hitting,
* ''T'' is the computed threshold value that will determine whether the move will hit,
* ''A<sub>base</sub>'' is the base [[accuracy]] from the move,
* ''Accuracy<sub>move</sub>'' is the move's [[accuracy]], a value from 1 to 100 (internally, 0 is also a valid value, but this is displayed as "&mdash;" and means that the move ignores accuracy checks),
* ''Accuracy'' is the accuracy [[#Stage multipliers|stage multiplier]] of the user, and
* ''Adjusted_stages'' is the equivalent accuracy [[#Stage multipliers|stage multiplier]] of the user after the target's evasion stage is subtracted from the user's accuracy stage, both possibly modified by Ability or move effects such as {{a|Simple}} or {{m|Foresight}} (to no less than -6 and no more than 6 after the subtraction), and
* ''Evasion'' is the evasion stage multiplier of the target.
* ''Other_mods'' encompasses all multipliers from other accuracy or evasion modifiers from Ability effects, [[fog]], move effects, and item effects (as can be seen in the table in the following section), serially applied.


If P is at least 1, the move will hit. In battles with multiple opponents, the probability for moves that target multiple Pokémon is calculated individually for each target, meaning they can miss some targets and hit others.
The game then selects a random number ''r'' from 1 to 100 and compares it to ''T'' to determine whether the move hits. If ''r'' is less than or equal to ''T'', the move hits.


==Stat modifiers==
==Stat modifiers==