Please donate money to The Ultimate Pokemon Center.

Attack Explanations

PP

PP is stored as a byte whose bottom 6 bits contain the base PP and the top 2 bits contain the number of PP Ups used. PP of a move equals A+((Base PP)/5)*(PP Ups Used) where A equals (PP Byte & 0xC0)+(Base PP).

In certain situations when the game automatically uses a move, it is possible to use a move even if it has zero PP. In these cases, the game erroneously subtracts 0 by 1, ending with the result 0xFF, or 63 PP (bottom 6 bits) with three PP Ups applied (top 2 bits). (PP Up increases a move's maximum PP by 20%.)

Badge levels

  • No badges: Level 10
  • Cascade Badge: Level 30
  • Rainbow Badge: Level 50
  • Marsh Badge: Level 70
  • Earth Badge: Level 100

Explosion

The base damage for Explosion is effectively 170.

Notes on items

  • PokéFlute - Awakens both active Pokemon; outside of battle, awakens all Pokemon in party.
  • Full Restore - Restores all HP and heals all status problems and confusion.
  • Full Heal - Heals all status problems and confusion.

Fainting by user

If a Pokemon faints at any time before the end of its turn (other than using Selfdestruct or Explosion), unless its opponent also faints, any end-of-turn effects are applied to the Pokemon before it faints. If the Pokemon struck first, the opponent's turn is skipped. (If the opponent just used Hyper Beam, it "must recharge" on the next possible turn.)

Definitions of variables

Last damage dealt

The "last damage dealt" variable begins at zero. It is set whenever the attack process determines the HP to reduce to an opponent, usually by applying the damage formula. It is not reset by switching. If an attack cannot deal damage, this variable is set to zero. This variable is set before damage is passed to a substitute. Because each hit of a multi-hit attack deals damage separately, only the final hit of multi-hit attacks can count as the "last damage dealt" for the purposes of Bide and Counter. Recoil damage doesn't count as "damage dealt". Damage due to confusion, and HP loss due to a miss from Jump Kick and Hi Jump Kick can count as the "last damage dealt".

Damage dealt is adjusted to the opponent's current HP, but not when the target is a Substitute decoy.

When Metronome is used, the "last damage dealt" is reset.

In Stadium 1, this variable is reset when switching, being unable to move due to paralysis, or beginning to use a two-turn attack.

In the Gameboy games, this variable is not reset when a battle starts or ends, or when an item is used.

Last move chosen for use

The "last move chosen for use" changes when the player moves the cursor on the list of moves. The "last move chosen for use" is retained when a Pokemon is switched.

In Stadium 1, players always get a chance to select a move, even when the Pokemon is asleep, frozen, etc.

If a Pokemon was somehow forced not to choose a move for use in a round, (for instance, when a Pokemon is asleep), then it simply doesn't use any moves in that round.

Type of last move chosen for use

Changes with the "last move chosen for use" variable, except it is reset to zero (Normal) when the Pokemon is switched.

Last move used

Each active Pokemon has a "last move used", which is the last move that the Pokemon chose for use and successfully used. Mirror Move, for example, depends on the "last move opponent used." Switching will reset the "last move opponent used" and "last move user used" to zero.

Except in Stadium 1, for two-turn attacks, the move is considered the "last used" only when it is used on its second turn.

A disabled move can be successfully used by use of Mirror Move.

Switching

When a Pokemon is switched, the new Pokemon is considered not to have made a move; except in Stadium 1, any end-of-turn effects apply to this Pokemon when it is switched, following the rules of priority.

Stat stage increases and reductions

A stat stage increasing effect will do nothing if the stat stage for the pertinent stat is +6, and will fail if the pertinent stat has reached a value of 999.

A stat stage decreasing effect will do nothing if the stat stage for the pertinent stat is -6, or if the pertinent stat is 1.

Timing

Priority

All attacks are categorized in three priority levels. The attack chosen for use with the higher priority level strikes first. When two attacks are of the same priority level, the Pokémon with the higher Speed strikes first. If both Pokemon have the same Speed, the one who goes first is randomly determined.

Quick Attack -> All other attacks -> Counter

The attacks last chosen for use for both players determine the priority of attacks in a round. If a Pokemon becomes asleep or frozen, its "attack last chosen for use" will not be reset. It becomes reset when the Pokemon is switched.

Turn Process

Here are all the steps taken during a Pokemon's turn.

  • Sleep check
  • Freeze check
  • Hyper Beam check
  • Attack is executed
  • Disable check
  • Confusion check
  • Paralysis check
  • Attack succeeded in being used
  • Deduct PP
  • Did the attack miss?
  • Damage calculation
  • Perform effect of attack
  • Substitute
  • Critical hit/type effectiveness message
  • Check if opponent faints
  • Rage check
  • End of turn
  • HP loss due to poison/burn
  • HP loss due to Leech Seed
  • Flinch check (for opponent if attacker struck first)

If an "attack was executed" it means that its user did not flinch, did not need to skip a turn due to Hyper Beam, and was not asleep or frozen when it attempted to use an attack.

Haze

If the last move the user used on the previous round is not set, Haze resets the last move chosen for use to the invalid 0xFF, which causes erroneous behavior if Hyper Beam was used immediately before it became frozen: the Pokemon can't make a move until it faints, even after being defrosted by the opponent's Haze.

Substitute

When the user uses Substitute, the user's HP is reduced by (total HP/4). This move will fail if the user has less than that (or in Stadium 1, less than or equal to that). The substitute's HP upon creation is (total HP/4)+1.

Damage due to confusion is erroneously directed to the opponent's sub if it has one.

While the user has a sub out, the opponent cannot be poisoned or frozen, it can't flinch, and it is protected from paralysis as an additional effect and confusion as a primary effect. In Stadium 1, the user is also protected from all effects of confusion, all effects of paralysis, and from burns and sleep, from the opponent.

Recoil damage from a user's recoil attack is given to the user. HP loss due to a miss from Jump Kick and Hi Jump Kick is be given to the user.

The user can use Bide and Counter normally; Substitute does not alter their use or effects. The opponent can use Leech Seed and Transform normally. Damage from multi-turn attacks is given to the sub, as the continuous attack is an attack by the opponent.

The opponent can use a recoil move and receives normal recoil damage, but does not receive recoil damage after breaking a sub.

Super Fang calculates damage based on the HP of the user, and passes the damage to the sub.

The effects of multi-hit attacks end after it breaks a sub. If a move that drains HP breaks a sub, no HP is restored to its user.

Haze is unaffected by Substitute.

Except in Stadium 1, if the opponent uses Selfdestruct or Explosion to break the sub, it will not faint.

In Stadium 1, moves that drain HP, and Leech Seed, will fail for the opponent.

Toxic

Toxic uses a value called T to calculate how much HP to remove from the opponent. When Toxic is used, T is set to 0. At the end of the opponent's turn every round, including the current one, T is increased by 1 and the opponent's HP is reduced by int(total HP/16)*T, as long as the opponent remains poisoned. This is also the amount of HP lost to the opponent due to the effect of Leech Seed. T will stop increasing and its effect will end when the battle ends or the opponent is switched, upon which all poisoning on the opponent's side reverts to normal poison. Curing the poison will, of course, also end the effect.

Toxic will fail if the opponent is already poisoned, by any means.

Rest has no effect on T, except in Stadium 1.

Haze resets T to zero and ends the effect of Toxic.

Hyper Beam

On the second turn, the game checks if the last move chosen for use was Hyper Beam, and if so, the user "must recharge." If a Pokemon is asleep or flinches, or comes under the effect of a multi-turn attack, these events take the place of the turn during which the Pokemon "must recharge." If the Pokemon is frozen, the "recharge" turn is delayed.

After a successful use, on the second round, if the user doesn't have the initiative and the opponent either uses a multi-turn attack and misses (except in Stadium 1); or defrosts the user with fire, the user will use Hyper Beam without recharging for the previous use, even if Hyper Beam now has zero PP. (This behavior is covered in the "Freeze" section, below.)

In Stadium 1, a "recharge" turn is required every time it is used.

Two-turn attacks

In two-turn attacks, the user prepares for the attack on the first turn, and hits the opponent on the next. During the effect, the user cannot switch or use items.

If a two-turn attack failed to be executed after effect began, the effect continues. Once this attack succeeds in being used on the second turn, PP is deducted from this attack, effect ends, and this attack is considered the "last move used" by the user. Effect ends if attack was executed, but was prevented from being used.

In Red/Blue, if the user cannot move due to paralysis after effect began, the effect of Dig or Fly will also continue. This is no longer the case in Yellow/Stadium 1.

In Stadium 1, Bide will miss when used when the user is using Dig or Fly.

In Stadium 1, a two-turn attack is considered the "last move used" by the user on the turn that the effect began.

Descriptions of Common Effects

Common effects of attacks include status problems, confusion, and flinch. These effects are described below. A status problem is one of burn, poison, paralysis, sleep, or freeze. Status problems do not go away by replacing Pokemon, and they linger after battle. The status monitor also indicates fainting (FNT), when a Pokemon runs out of HP. Because of this, fainting overwrites other status problems. A status problem cannot be inflicted on a Pokemon if it already has a status problem.

Poison (PSN)

If a Pokemon is poisoned, it loses 1/16 of total HP at the end of its turn. Poison types cannot be poisoned, not even by Twineedle. Outside of battle, a poisoned Pokemon loses 1 HP every four steps the player walks. (The effect of Toxic is similar to poison, see "Toxic".)

Paralysis (PAR)

When a Pokemon becomes paralyzed, its Speed is recalculated so that it is reduced to 25% (the "Speed reduction"). If a Pokemon is paralyzed, there is a 25% chance that it will lose its chance to attack. If a Pokemon is paralyzed when it becomes active, the Speed reduction will be imposed.

In Red/Blue/Yellow, the Speed reduction may no longer apply if a Speed stat stage modifier is used on the Pokemon. If the last Speed stage modifier on the Pokemon was an increaser, use the non-reduced Speed. If the last Speed stage modifier on the Pokemon was a decreaser, use the non-reduced Speed in internal battles or the reduced Speed in external battles.

Rest removes the paralysis status. In Red/Blue/Yellow, Haze removes the paralysis status and the Speed reduction if used by the opponent, but only the Speed reduction if used by the afflicted Pokemon. In Stadium 1, Haze removes the paralysis status and the Speed reduction when used by either Pokemon.

Burn (PSN)

When a Pokemon becomes burned, its Attack is recalculated so that it is halved (the Attack reduction). If a Pokemon is burned, it loses 1/16 of total HP at the end of its turn. Fire types cannot be burned.

Behavior regarding stat stage modifiers, Rest, Haze, and imposition of the Attack reduction are as in paralysis.

Sleep (SLP)

A sleeping Pokémon can't can't choose any moves. When a Pokemon becomes asleep, it receives a count of 1 to 7. At a sleep check, this count is reduced by 1. If the count reaches zero, the Pokemon wakes up, but cannot attack on the same turn. In Stadium 1, the Pokemon receives a count of 1 to 3. The game stores the current duration of a Pokemon who is asleep, in case the Pokemon leaves battle and becomes active in another one.

Freeze (FRZ)

A frozen Pokémon can't choose any moves. Use of Haze or fire-type moves by the opponent will cure this status problem. Ice types cannot be frozen. If the Pokemon doesn't have the initiative and was defrosted by fire, it will use the last move chosen for use if possible, even if its current PP is zero.

In Stadium 1, it is possible to choose a move while the Pokemon is frozen.

Confusion

When a Pokemon becomes confused, it receives a count of 2 to 5. At the beginning of the Pokemon's turn, this count declines by 1, then if it is greater than 0, there is a 50% chance that the Pokemon will deal damage to itself rather than use an attack. Damage due to confusion has a base damage of 40, has no type, is physical, can never be a critical hit, is not weighted by a random number, and ignores the effect of Reflect. Confusion is removed from the Pokemon when it is switched.

In Stadium 1, messages concerning confusion are displayed after the message concerning the move to be used.

Flinch

After another Pokemon uses a move that causes a Pokemon to flinch in the same round, it skips its attack this round. A Pokemon can't flinch if it is asleep or frozen.

Changes in Stadium 1

Effect chance for Acid is 20%. Effect chance for Aurora Beam is 30%. Effect chance for Bubblebeam is 30%.

Multi-turn attacks

In internal battles, the player's opponent chooses a move for use and will use it instead of the multi-turn attack if the player decides to switch before the effect ends.

On the last turn of the multi-turn attack's effect, if the user attacks, the effect ends at the end of the round (the opponent "can't move" during that round.) Otherwise (e.g. if the user uses an item), the effect ends before each Pokemon's turn begins.

Transform

If a wild Pokemon has the effect of Transform and it is caught, its species becomes Ditto, regardless of its original species. After it is caught, its stats and moves become those of a wild Ditto at the same level, except current HP.

In internal battles, the player's Pokemon gain Exp. Points based on the original species of the enemy Pokemon under Transform.

Disable

Disable causes a random attack of the opponent (with at least 1 PP) to be disabled, or prevented from being used or chosen. When Disable is used, the opponent receives a count of 1 to 8 (random). Every round, including the current round, during the effect, this count is reduced by 1 when the opponent has executed an attack (before confusion check). When the count is reduced to zero or the opponent is switched, the opponent is no longer disabled. During the effect, Disable will fail for the user. A disabled move effectively has zero PP. If the opponent uses Transform, the moves located where the disabled moves were become disabled until Disable's effect ends.

In the unusual case that the opponent has more than one copy of the attack, the first copy will be prevented from being chosen, and the other copies will be prevented from being used.

Apparently using Disable against the opponent (even if in Red/Blue/Yellow it fails) counts as a hit for the purposes of Rage.


Discussion