Pokémon Gold Version, Silver Version, and Crystal Version - Exp. Points
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. Note that the formulas below can return 0.
Exp. Points = ((L*(G/(E*F)))/7))*X*Y*Z
Stat Experience Gained = B/(E*F)
where:
- 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, F=2; else 1.
- B = Race value (commonly called "base stat") 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.)
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 (in which case E is defined as usual), 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. A Pokémon can gain so many Exp. Points at once that it gains more than one level; 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 Pokémon Gold Version, Pokémon Silver Version, and Pokémon Crystal Version. 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.)