Pokémon species data structure (Generation III)
From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
Specs
Every Pokémon in Ruby, Sapphire, FireRed, LeafGreen, and Emerald has a 28-byte base stats structure stored in the game's ROM somewhere.
Base Stats | |
---|---|
HP | byte |
Attack | byte |
Defense | byte |
Speed | byte |
Sp. Attack | byte |
Sp. Defense | byte |
Type 1 | byte |
Type 2 | byte |
Catch rate | byte |
Exp. yield | byte |
Effort yield | word |
Item 1 | word |
Item 2 | word |
Female rate | byte |
Hatch steps | byte |
Base happiness | byte |
Level-up rate | byte |
Egg group 1 | byte |
Egg group 2 | byte |
Ability 1 | byte |
Ability 2 | byte |
Safari Zone flag | byte |
Color | byte |
00 | byte |
Notes
Types
Types are enumerated like this:
00. Normal | 01. Fighting | 02. Flying | 03. Poison | 04. Ground | 05. Rock |
06. Bug | 07. Ghost | 08. Steel | 09. ??? | 10. Fire | 11. Water |
12. Grass | 13. Electric | 14. Psychic | 15. Ice | 16. Dragon | 17. Dark |
Type 9 (???) can be an actual type for a species as well as a type for an attack.
Egg steps
The number of steps this represents is the value multiplied by 256.
Level-up type
Indicates the type of Experience pattern the species follows.
Effort yield
Certain bits count for particular stats:
(MSB) (LSB) 0000 11 11 11 11 11 11 empty SDF SAK SPD DEF ATK HP
Safari Zone flag
Only Pokémon that appear in the Safari Zone have the Safari Zone flag; it determines their escape rate in Safari Zone.
Storage
The following are ROM offsets for the first entry (Bulbasaur) in each GBA game (US version?):
- Ruby: 0x001fec34
- Sapphire: 0x001febc4
- Emerald: 0x002f0d70
- FireRed: 0x002111A8
- LeafGreen: 0x00211184