The following information applies to generations 1 and 2.
Whenever a Pokémon on the opposite side of the player faints in a battle against a wild Pokémon or an in-game Trainer, each Pokémon that participated in the battle against it gains Exp. Points (or experience points). The number of Exp. Points a Pokémon gains this way is based on a formula shown below. Each multiplication and division given is rounded down.
Exp. Points = ((L*(G/(E*F)))/7))*X*Y*Z
Stat Experience Gained = B/(E*F)
- L = Defeated Pokémon's level
- G = Base Experience for the defeated Pokémon's original species
- X = If the battle is a Trainer battle, X=1.5; else 1.
- Y = If the participating Pokémon's Trainer ID is different from the player's, Y=1.5; else 1 ("[name] gained a boosted [value] Exp. Points!")
- Z = If the participating Pokémon is holding a Lucky Egg, Z=1.5; else 1.
- E = Number of unfainted Pokémon that participated in the battle against the defeated Pokémon.
- F = If at least one Pokémon is holding Exp. Share or Exp. All is in the player's pack, F=2; else 1.
- B = Race value for the defeated Pokémon's current species.
A "participant" means each unfainted Pokémon (other than an egg) in the player's party who had seen the opposing Pokémon since the last time the opposing Pokémon entered the battle. A participant need not have used an attack against the Pokémon, but must merely have seen it. If a Pokémon faints at the same time as the opposing Pokémon, it doesn't count as a participant. (In battles in which Exp. Points can be gained, if both teams have no Pokémon at the same time, it is considered a loss for the player.)
In generation 1, if Exp. All is in the player's pack, the Pokémon earns Exp. Points in up to two stages: once if the Pokémon is a participant as defined above, and once more if it is an unfainted Pokémon regardless of whether it's a participant (in which case E is equal to the number of Pokémon in the player's party in the above formula.) Stat experience is earned in the same way.
In generation 2, if at least one Pokémon is holding Exp. Share, the Pokémon earns Exp. Points in up to two stages: once if the Pokémon is a participant as defined above, and once more if it's holding Exp. Share (in which case E is equal to the number of Pokémon holding Exp. Share in the above formula.) Stat experience is earned in the same way.
When a Pokémon gains a level, its current HP is its new HP minus the HP lost before the level gain. In generation 1, the Pokémon automatically gains up to the new level identified by the new amount of Exp. Points, thus possibly preventing the Pokémon from learning moves that it normally would on levels skipped this way. Even in generation 2, a Pokémon can gain so many Exp. Points at once that it gains more than one level. In generation 2, however, the Pokémon gains the levels one at a time in that case.
When a Pokémon is placed in the Day-Care, its Exp. Points are set to the minimum amount necessary for the current level in the Crystal versions, Gold, and Silver. While a Pokémon is in the Day-Care, it will earn 1 Exp. Point for each step the player walks and will learn new moves as it gains levels; such moves, if the list is full, will overwrite older moves, starting from the top of the list. (Even HM moves will be overwritten this way.) In the first-generation versions, the Day-Care person won't accept a Pokémon that has learned an HM move.
In generations 1 and 2, each Pokémon species belongs in one of four growth rates. Each growth rate determines the number of Exp. Points required to level up, from level 1 through 100.
The Growth Rates list shows which Pokémon species belong in which growth rates.
Here are the four growth rates:
- Fast - Max: 800,000 Exp. Points
- Formula: floor(Level*Level*Level*4/5)
- Medium - Max: 1,000,000 Exp. Points
- Formula: (Level*Level*Level)
- Parabolic - Max: 1,059,860 Exp. Points
- Formula: floor(Level*Level*Level*6/5)-15*Level*Level+100*Level-140
- Slow - Max: 1,250,000 Exp. Points
- Formula: floor(Level*Level*Level*5/4)
The parabolic Exp. Point value at level 1 is -54, truncated to a 24-bit unsigned value, 16,777,162.