Pokémon Evolution data structure (Generation III): Difference between revisions
From Bulbapedia, the community-driven Pokémon encyclopedia.
⧼bulbapediamonobook-jumptonavigation⧽⧼bulbapediamonobook-jumptosearch⧽
Considering the padding as part of the struct instead of part of the array makes much more sense. |
m Text replacement - "}}<br>↵{{Project Games notice" to "}} {{Project Games notice" |
||
(8 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
Data on the '''[[Evolution| | Data on the '''[[Evolution|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, | 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 | == Pokémon Evolution data structure == | ||
Each species has 5 substructures, as {{p|Eevee}} has 5 | Each species has 5 substructures, as {{p|Eevee}} has 5 Evolution options in this generation. The overall structure is laid out as follows: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Offset !! Size !! Type !! Notes | ! Offset !! Size !! Type !! Notes | ||
Line 25: | Line 25: | ||
|- | |- | ||
| 0x00 || 2 || uint16_t | | 0x00 || 2 || uint16_t | ||
| Method of | | Method of Evolution - How this Pokémon will evolve. This can be one of the following values: | ||
* 0x0001 - Evolves by friendship without regards to time of day | * 0x0001 - Evolves by friendship without regards to time of day | ||
* 0x0002 - Evolves by friendship during the day | * 0x0002 - Evolves by friendship during the day | ||
Line 36: | Line 36: | ||
* 0x0009 - Evolves by level up, but only when Attack is equal to 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 | * 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 ({{p|Wurmple}} → {{p|Silcoon}} | * 0x000B - Evolves by level up, but only when the [[personality value#Wurmple's evolution|personality value]] permits ({{p|Wurmple}} → {{p|Silcoon}} Evolution) | ||
* 0x000C - Evolves by level up, but only when the personality value permits ({{p|Wurmple}} → {{p|Cascoon}} | * 0x000C - Evolves by level up, but only when the personality value permits ({{p|Wurmple}} → {{p|Cascoon}} Evolution) | ||
* 0x000D - Evolves by level up, but may spawn another Pokémon if permitted ({{p|Nincada}} → {{p|Ninjask}} | * 0x000D - Evolves by level up, but may spawn another Pokémon if permitted ({{p|Nincada}} → {{p|Ninjask}} Evolution) | ||
* 0x000E - Evolves by level up, but is only spawned if the conditions permit ({{p|Nincada}} → {{p|Shedinja}} | * 0x000E - Evolves by level up, but is only spawned if the conditions permit ({{p|Nincada}} → {{p|Shedinja}} Evolution) | ||
* 0x000F - Evolves by beauty | * 0x000F - Evolves by beauty | ||
|- | |- | ||
| 0x02 || 2 || uint16_t | | 0x02 || 2 || uint16_t | ||
| Parameter - The meaning of this is dependent on the method of | | 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. See [[List of Pokémon by index number | | 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 in Generation III]] for a list of values. | ||
|- | |- | ||
| 0x06 || 2 || uint16_t || Padding due to alignment. Zeroed out. | | 0x06 || 2 || uint16_t || Padding due to alignment. Zeroed out. | ||
Line 52: | Line 52: | ||
All unused entries will be entirely zeroed-out. | All unused entries will be entirely zeroed-out. | ||
{{data structure}} | ==Fingerprint== | ||
<pre> | |||
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 // 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 // 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 // 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 // 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 // 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 // CHARIZARD | |||
... | |||
</pre> | |||
==See also== | |||
{{data structure}} | |||
{{Project Games notice|data structure}} | {{Project Games notice|data structure}} | ||
[[Category:Structures]] | [[Category:Structures]] |
Latest revision as of 17:33, 16 September 2024
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 in this generation. The overall structure is laid out as follows:
Offset | Size | Type | Notes |
---|---|---|---|
0x00 | 8 | Substructure | First Substructure |
0x08 | 8 | Substructure | Second Substructure |
0x10 | 8 | Substructure | Third Substructure |
0x18 | 8 | Substructure | Fourth Substructure |
0x20 | 8 | Substructure | Fifth 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. 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 the friendship threshold (which is always 220). |
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 in Generation III for a list of values. |
0x06 | 2 | uint16_t | Padding due to alignment. Zeroed out. |
All unused entries will be entirely zeroed-out.
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 // - 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 // 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 // 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 // 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 // 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 // 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 // CHARIZARD ...
See also
|
![]() |
This data structure article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games. |