Please remember to follow the manual of style and code of conduct at all times.
Check BNN and Bulbanews for up-to-date Pokémon news and discuss it on the forums or in our IRC channel #bulbagarden on irc.systemnet.info.

Pokémon base stats data structure in Generation III

From Bulbapedia, the community-driven Pokémon encyclopedia.
Revision as of 19:51, 4 June 2005 by Arty2 (Talk | contribs) (Specs)

Jump to: navigation, search

Specs

A base stats structure is a 28-byte piece of data

Every Pokémon species in the Generation III games has a 28-byte base stats structure stored in the game's ROM somewhere. It determines all information inherent to the species, such as base Sp. Defense, Types, Egg Groups, and EV yield.

Base Stats Data whose names are marked with an asterisk (*) have more information below the table.
Name Type Description
Base HP byte The base HP used in calculating Pokémon of the species's HP.
Base Attack byte The base Attack used in calculating a Pokémon of the species's Attack.
Base Defense byte The base Defense used in calculating a Pokémon of the species's Defense.
Base Speed byte The base Speed used in calculating a Pokémon of the species's Speed.
Base Sp. Attack byte The base Sp. Attack used in calculating a Pokémon of the species's Sp. Attack.
Base Sp. Defense byte The base Sp. Defense used in calculating a Pokémon of the species's Sp. Defense.
Type 1* byte The first type of Pokémon of the species.
Type 2* byte The second type of Pokémon of the species.
Catch rate byte The catch rate used in calculating the probability that a wild Pokémon of the species will be caught.
Base Exp. yield byte The base Experience yield used in calculating how many Exp. points Pokémon who defeat another Pokémon of the species receives.
Effort yield* word How many EVs Pokémon who defeat another Pokémon of the species receives, and in what stats.
Item 1 word An item wild Pokémon of the species may hold, and the probability that they will hold it (?).
Item 2 word Another item wild Pokémon of the species may hold, and the probability that they will hold it (?).
Gender byte The value that is compared against the personality value of Pokémon of the species when determining what gender they will be, i.e. represents rate of females vs. males of the species.
Steps to hatch byte The cumulative number of steps that must be taken before an Egg of the species hatches, divided by 256.
Base Happiness byte The happiness/tameness at which Pokémon of the species have when first caught.
Level-up type byte The pattern of Experience which Pokémon of the species require to level up.
Egg group 1 byte Indicates an Egg Group that the species belongs to.
Egg group 2 byte Indicates another Egg Group that the species belongs to.
Ability 1 byte Indicates a special ability that Pokémon of the species may have.
Ability 2 byte Indicates another special ability that Pokémon of the species may have.
Safari Zone flag byte Determines rate at which Pokémon of the species flee when encountered in the Safari Zone. Only Pokémon that appear in the Safari Zone have this flag.
Color byte The Pokémon's color.
0000 2 bytes Padding.

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.

Effort yield

Certain bits count for particular stats:

(MSB)                        (LSB)
 0000  11  11  11  11  11 11
empty SDF SAK SPD DEF ATK HP

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