Pokémon data structure (Generation I)

From Bulbapedia, the community-driven Pokémon encyclopedia.
Revision as of 08:23, 26 September 2009 by RexRacer (talk | contribs) (→‎Notes)
Jump to navigationJump to search
0572Minccino.png This article does not yet meet the quality standards of Bulbapedia. Please feel free to edit this article to make it conform to Bulbapedia norms and conventions.
050Diglett.png This article is incomplete.
Please feel free to edit this article to add missing information and complete it.

Notes

Pokémon
Species byte
Remaining HP word
Level?? (See left) byte
Status byte
? 3 bytes
Attack 1 byte
Attack 2 byte
Attack 3 byte
Attack 4 byte
OT ID word
Experience 3 bytes
HP Up byte
? byte
Protein 1 byte
? byte
Iron 1 byte
? byte
Carbos byte
? 1 byte
Calcium byte
? 1 byte
DVs word
PP1 byte
PP2 byte
PP3 byte
PP4 byte
level byte
Total HP word
Attack word
Defense word
Speed word
Special word

Pokémon in Generation I games are all stored in the same 44-byte structure.

The trainer EO is stored in other memory address.

Pokémon stored in a PC box use a shortened form of this structure that is 33-bytes in length, ending after the PP data. The Pokémon box data in Pokémon Yellow begins at 0xDA95 in memory (WRAM), and consists only of the currently open Pokémon box (this necessitates the need to save when switching open boxes). This box data is 660-bytes long (33-bytes * 20 Pokémon).

Species

This value is 1 byte length, and is the Pokémon Species.

The value for each Pokémon is listed in this article.

Remaining HP

This value is 2 bytes length.

Is the current level of HP remaining for this Pokémon. The value must not be greater than the total HP.

Level

1-byte in length. Though it appears to be the level of the Pokémon, it seems effectively redundant: Exists as a Pokémon's level when said Pokémon is stored in a PC box, yet is overwritten as part of the recalculation that takes place when the Pokémon is withdrawn. If the Pokémon is re-deposited back into a box, this value is set to the Pokémon's level again. This value's purpose is currently unknown.

Status

This value is 1 byte length, and is the status of the Pokémon:

0 = OK

4 = Sleep

8 = Poisson

10 = Burn

20 = Freezed

40 = Paralysis

OT ID

Is the ID of the trainer who catched the Pokémon. Is is different than ours, the Pokémon will gain extra experience.

Experience

Is the total amount of experience gained. The level of the Pokémon should be concordant with the experience amount. Visit the experience article for more information about Pokémon grow types, and experience formulas.

HP Up

This value informs about the amount of HP Up used in the Pokémon. Just because the number of HP Ups we can use with a Pokémon is limited.

Protein, Carbos, Iron, Calcium

The same as HP Up.

Total HP

Is the total HP the Pokémon can have when we visit a Pokémon Center.

Bulbapedia logo.png This article is a stub. You can help Bulbapedia by expanding it.


Data structure in the Pokémon games
General Character encoding
Generation I Pokémon speciesPokémonPoké MartCharacter encodingSave
Generation II Pokémon speciesPokémonTrainerCharacter encoding (Korean) • Save
Generation III Pokémon species (EvolutionPokédexType chart)
Pokémon (substructures) • MoveContestContest moveItem
Trainer TowerBattle FrontierCharacter encoding (GameCube) • Save
Generation IV Pokémon species (EvolutionLearnsets)
PokémonSaveCharacter encoding (Wii)
Generation V–present Character encoding
Generation VIII Save
TCG GB and GB2 Character encoding