At its core, Emerald uses a fixed formula then layers modifiers for weather, items, abilities, type, and more. Because rounding down happens many times, order matters.
The core formula
For a successful hit that is not a fixed-damage move, base damage is:
Damage = floor( floor( floor( ((2 × Level) / 5) + 2 ) × Power × A / D / 50 ) + 2 )
- Level is the attacker’s level.
- Power is the move’s listed power after any power changes that apply before damage (for example, SolarBeam in rain or sand).
- A is the relevant attacking stat and D is the relevant defending stat. In Generation III, the move’s category depends on its type, not the move itself:
- Physical types: Normal, Fighting, Flying, Ground, Rock, Bug, Ghost, Poison, Steel
- Special types: Water, Fire, Grass, Electric, Ice, Psychic, Dragon, Dark
After base damage is found, the game multiplies by a combined Modifier and rounds down again.
The modifier stack (in order used in Emerald)
- Targets
- If the move hits multiple targets in a double battle, multiply by 0.5.
- Weather
- Rain: Water moves ×1.5, Fire moves ×0.5.
- Sun: Fire moves ×1.5, Water moves ×0.5.
- Sand: SolarBeam power halves, and some recovery moves are reduced; no global damage boost.
- Hail: no boost to Ice moves in Gen III, but chip damage applies separately to most non-Ice Pokémon.
- Critical
- Critical hits multiply damage by 2.
- They ignore negative Attack or Sp. Atk stages on the attacker and ignore positive Defense or Sp. Def stages on the defender. They also ignore Reflect or Light Screen.
- Random factor
- Multiply by a random value uniformly chosen between 0.85 and 1.00.
- STAB
- Same-type attack bonus is ×1.5 if the user’s type matches the move.
- Type effectiveness
- Multiply by 0, 0.25, 0.5, 1, 2, or 4 depending on the defender’s types.
- Burn
- If the attacker is burned, physical damage is halved unless the attacker has Guts.
- Other field, item, and ability modifiers
- Reflect or Light Screen: halve physical or special damage respectively.
- Choice Band: ×1.5 to the user’s Attack (applies to A before the main fraction).
- Type-boosting items like Charcoal, Mystic Water, etc.: ×1.1 to damage of that type.
- Huge Power or Pure Power: double Attack (affects A).
- Blaze, Overgrow, Torrent, Swarm at low HP: ×1.5 to matching move types.
- Flash Fire (after activation): ×1.5 to Fire moves.
- Thick Club on Cubone/Marowak or Light Ball on Pikachu: double the listed stat as noted.
- Helping Hand: ×1.5 to the ally’s move that turn.
- Charge: ×2 to the user’s next Electric move.
Finally, after multiplying all applicable modifiers, the result is floored. If the target is not immune, minimum damage is 1.
Important Gen III specifics
- Weather from Drizzle and Sand Stream is indefinite until replaced.
- Rock types do not gain a Special Defense boost in sandstorm in Gen III.
- Category is tied to type, so every Water move is special and every Fighting move is physical.
- Natures and EVs alter stats before battle, which then feed into A and D.
- Accuracy and evasion are checked before damage; if a move misses, the damage formula is not used.
Worked example
Level 50 Swampert uses Surf (Power 95) in rain on a neutral target, no items, no crit, single target.
- Base damage from the core formula using Swampert’s Sp. Atk as A and the foe’s Sp. Def as D.
- Targets: ×1 (single target).
- Weather: ×1.5 (rain boosts Water).
- Critical: ×1.
- Random: ×0.85 to ×1.00.
- STAB: ×1.5 (Water user with a Water move).
- Type: ×1 (neutral).
- Other: none.
Net multiplicative modifier range = 1.5 × 1.5 × [0.85..1.00] = [1.9125..2.25] applied to the base damage, then floored.
Bottom line
Emerald computes base damage from level, power, and the appropriate attacking and defending stats, then applies a precise sequence of modifiers with frequent rounding down. Because order and flooring matter, small differences in items, weather, or abilities can swing outcomes dramatically.