# Lowest possible non-zero hit chance in Pokemon Emerald

Assuming the following about the player's Pokemon:

• Evasiveness has been maximized (+6)

• Held item is Bright Powder

• Ability is Sand Veil and a sandstorm is in effect

Assuming the following about the foe:

• Accuracy has been minimized (-6)

• Ability is Hustle

• Foe is paralyzed, confused, and infatuated

The question is specific to Emerald only if the accuracy calculations are different from Ruby or Sapphire, which I don't believe is the case. Also, let's assume the RNG is truly random. What is the chance that a physical move with the lowest base accuracy (Dynamic Punch at 50%) will hit me?

TL;DR:
Less than 2%.

#### Boring theory

This is the accuracy formula for Generation III: • Accuracymove is the move's accuracy, a value from 1 to 100.
• AdjustedStages is the equivalent accuracy 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 (to no less than -6 and no more than +6 after the subtraction).
• Modifier encompasses all multipliers from other accuracy or evasion modifiers from Ability effects, fog, move effects, and item effects. It starts at 1 (if no modifiers apply), and each applicable modifier is applied. So we know that:

• Dynamic Punch has 50% accuracy;
• In Generation III, accuracy and evasion stages are now combined before determining the multiplier, with the evasion stage subtracted from the accuracy stage. Additionally, the combined stages are capped at -6 and +6, meaning that a Pokémon with minimum accuracy attacking a target with maximum evasion will have no lower than a chance to hit;
• Paralysis runs a 25% risk of losing the turn due to full paralysis;
• During confusion, Pokémon have a 50% chance to damage themselves instead of executing the selected move;
• Infatuation means that a Pokemon cannot use moves 50% of the time (if the Pokémon is both paralyzed and infatuated, its infatuation check works after the paralysis check);
• If the target is holding a Brightpowder the accuracy is multiplied by 0.9;
• If the target has the ability Sand Veil and a sandstorm is raging the accuracy is multiplied by 0.8;
• If the user has the ability Hustle and the move is physical, the accuracy is multiplied by 0.8.

The final calculated accuracy is an integer out of 100 (if it is higher than 100, it is made 100 instead). If a random integer between 0 and 99 inclusive is less than the calculated accuracy, the move hits; otherwise, it misses.

#### Let's do some Math

Accuracy = 50 (move accuracy) * 0.33 (accuracy/evasion) * 0.9 (bright powder) * 0.8 (sand veil) * 0.8 (hustle) = 9,504

So 9,504% chance of not missing the target.

Now we need to consider the additional status:

9.504 * 0.75 (not paralyzed) * 0.5 (not confused) * 0.5 (not infatuated) = 1,782

1,782% chance of using the move and also hitting the target!

Since the final calculated accuracy is an integer out of 100, we can suppose it's rounded to 2%.

Sources:

• ...we can suppose it's rounded to 2%. Potentially yes, but rounding up isn't a given. Depending on how the code is implemented, anything after the decimal point could simply be ignored (or floored in conversion to an integer), meaning it could also be 1%. We would need someone to check the decompiled assembly to confirm for sure.
– Robotnik
Nov 16, 2022 at 11:45
• @Robotnik from the same Accuracy page "each modifier is applied, subject to standard rounding with rounding up at 0.5 if necessary", that's why my assumption. I know that computer science doesn't round up integers, I left the exact number anyway. Nov 16, 2022 at 12:01
• Ahh, somehow I missed that. Thanks for the heads up :)
– Robotnik
Nov 16, 2022 at 12:59
• No worries, thanks for checking! Nov 16, 2022 at 13:23
• "Boring theory" -> I for one find this fascinating Nov 16, 2022 at 14:35