Pokémon Evolution data structure (Generation III)
From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
Data on the evolution of Pokémon is stored as a series of 6-byte structures in Generation III. These structures must be aligned on a 4-byte boundary, and each Pokémon species has 5 such entries, for a total of 40 bytes per species.
In all Generation III games, evolution data is situated between the Pokémon move list data pool and the actual Pokémon move list index; see Move list data structures in Generation III for a list of locations.
Pokémon Evolution Data Structure
Each species has 5 substructures, as Eevee has 5 evolution options. The overall structure is laid out as follows:
Offset | Size | Type | Notes |
---|---|---|---|
0x00 | 6 | Substructure | First Substructure |
0x06 | 2 | Padding due to alignment | |
0x08 | 6 | Substructure | Second Substructure |
0x0E | 2 | Padding due to alignment | |
0x10 | 6 | Substructure | Third Substructure |
0x16 | 2 | Padding due to alignment | |
0x18 | 6 | Substructure | Fourth Substructure |
0x1E | 2 | Padding due to alignment | |
0x20 | 6 | Substructure | Fifth Substructure |
0x26 | 2 | Padding due to alignment |
Pokémon Evolution Data Substructure
The 6-byte substructure is organized as follows:
Offset | Size | Type | Notes |
---|---|---|---|
0x00 | 2 | uint16_t | Method of evolution - How this Pokémon will evolve. This can be one of the following values:
|
0x02 | 2 | uint16_t | Parameter - The meaning of this is dependent on the method of evolution - the item, the level, etc. Not used and zeroed out where applicable. Note that the parameter is used for the beauty threshold, but is not used for happiness thresholds. |
0x04 | 2 | uint16_t | Target Pokémon - The Pokémon which this Pokémon will evolve to. See List of Pokémon by index number (Generation III) for a list of values. |
All unused entries will be entirely zeroed-out.