Pokémon evolution data structure (Generation IV)

Data on the evolution of Pokémon is stored as a series of 6-byte structures in Generation IV. Each Pokémon species has 7 such entries, for a total of 42 bytes per species.

In all Generation IV 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 IV for a list of locations.

Pokémon Evolution Data Structure

Each species has 7 substructures, as Eevee has 7 evolution options in this generation. The overall structure is laid out as follows:

Offset Size Type Notes
0x00 6 Substructure First Substructure
0x06 6 Substructure Second Substructure
0x0C 6 Substructure Third Substructure
0x12 6 Substructure Fourth Substructure
0x18 6 Substructure Fifth Substructure
0x1E 6 Substructure Sixth Substructure
0x24 6 Substructure Seventh Substructure

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.
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 the friendship threshold (which is always 220).
0x04 2 uint16_t Target Pokémon - The Pokémon which this Pokémon will evolve to.

All unused entries will be entirely zeroed-out.

Evolution Method Values

  • 0x0001 - Evolves by friendship without regards to time of day
  • 0x0002 - Evolves by friendship during the day
  • 0x0003 - Evolves by friendship at night
  • 0x0004 - Evolves by level up
  • 0x0005 - Evolves by trade without items
  • 0x0006 - Evolves by trading the Pokémon while holding an item
  • 0x0007 - Evolves by using an item on the Pokémon
  • 0x0008 - Evolves by level up, but only when Attack is greater than Defense
  • 0x0009 - Evolves by level up, but only when Attack is equal to Defense
  • 0x000A - Evolves by level up, but only when Attack is lower than Defense
  • 0x000B - Evolves by level up, but only when the personality value permits (WurmpleSilcoon evolution)
  • 0x000C - Evolves by level up, but only when the personality value permits (WurmpleCascoon evolution)
  • 0x000D - Evolves by level up, but may spawn another Pokémon if permitted (NincadaNinjask evolution)
  • 0x000E - Evolves by level up, but is only spawned if the conditions permit (NincadaShedinja evolution)
  • 0x000F - Evolves by beauty
  • 0×0010 - Evolves by using an item on a male Pokémon
  • 0×0011 - Evolves by using an item on a female Pokémon
  • 0×0012 - Evolves by level up, regardless of level, but only during the day while holding an item
  • 0×0013 - Evolves by level up, regardless of level, but only during the night while holding an item
  • 0×0014 - Evolves by level up, regardless of level, but only if it knows a particular move
  • 0×0015 - Evolves by level up, regardless of level, but only if the player has a Pokémon of a particular species in his/her party (MantykeMantine evolution, requiring a Remoraid)
  • 0×0016 - Evolves by level up, but only a male Pokémon
  • 0×0017 - Evolves by level up, but only a female Pokémon
  • 0×0018 - Evolves by level up, regardless of level, but only at a special magnetic field
  • 0×0019 - Evolves by level up, regardless of level, but only near a moss rock
  • 0×001A - Evolves by level up, regardless of level, but only near an ice rock

Note that Heart Gold and Soul Silver do list the last 3 evolution methods, even though the games don't have the necessary locations.

Fingerprint

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // -
04 00 10 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // BULBASAUR
04 00 20 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // IVYSAUR
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // VENUSAUR
04 00 10 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // CHARMANDER
04 00 24 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // CHARMELEON
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // CHARIZARD
...

See also


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


  This data structure article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games.