Difference between revisions of "Item data structure in Generation III"

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to: navigation, search
m (Pocket)
Line 85: Line 85:
| [[TM]]s and [[HM]]s
| [[TM]]s and [[HM]]s
For Emerald, Ruby and Sapphire
For Emerald, Ruby and Sapphire

Revision as of 11:16, 7 February 2017

Item data is stored in a 44-byte structure in the US version of the GBA games.

Offset Field Size
0 Name 14 bytes
14 Index number 2 bytes
16 Price 2 bytes
18 Hold effect 1 byte
19 Parameter 1 byte
20 Description pointer 4 bytes
24 Mystery value 2 bytes
26 Pocket 1 byte
27 Type 1 byte
28 Pointer to field usage code 4 bytes
32 Battle usage 4 bytes
36 Pointer to battle usage code 4 bytes
40 Extra parameter 4 bytes


This determines which pocket of the Bag the item should be stored in. This does not prevent the item from being in another pocket, though. The game uses it to see where it should place the item upon collection.

For FireRed and LeafGreen

Number Pocket
1 Items pocket
2 Key items pocket
3 Poké Balls pocket
4 Berries pocket
5 TMs and HMs

For Emerald, Ruby and Sapphire

Number Pocket
1 Items pocket
2 Poké Balls pocket
3 TMs and HMs
4 Berries pocket
5 Key items pocket


For items other than Poké Balls, the type determines how the item can be used. With Poké Balls, the type indicates the Poké Ball type, and is one less than the index number.

Type Description
0 Mail
1 Items which can be used out-of-battle.
2 Items which must be used in a certain location; key items of this type can be assigned to select.
3 Only the Pokéblock case is of this type.
4 Items which cannot be used out-of-battle.


A parameter used by different kind of items. It is used to represent the number of steps repels and flute effects last. HP and PP recovering items have this value as their number of HP/PP recovered, but the actual number of HP/PP restored is stored in a different table.

Mystery values

Mystery value 1 is:

  • 0 for normal items.
  • 1 for HMs and most key items.
  • 2 for some plot-related key items: Blue Orb, Devon Goods, Letter, Oak's Parcel and Red Orb.

Mystery value 2 is:

  • 0 for most items.
  • 1 for many key items: Acro Bike, AuroraTicket, Berry Pouch, Bicycle, Fame Checker, Good Rod, Itemfinder, Mach Bike, Magma Emblem, MysticTicket, Old Rod, Old Sea Map, Pokéblock Case, Powder Jar, Rainbow Pass, Ruby, Sapphire, Super Rod, TM Case, Tea, Teachy TV, Town Map, Tri-Pass and VS Seeker.

Battle usage

Battle usage can be:

  • 0 if the item can't be used in battle at all.
  • 1 if the item's effect is seen during battle but on a subscreen, such as healing items.
  • 2 if the item's effect is seen in battle such as Poké Balls.

Extra parameter

Extra parameter is used to distinguish Poké Balls and Mails, as opposed to just using the item index.


These are for US Versions:

  • Ruby: 0x083C5564
  • Sapphire: 0x083C55BC
  • Emerald: 0x085839A0
  • FireRed: 0x083DB028
  • LeafGreen: 0x083DAE64

Data structure in the Pokémon games
Generation I Pokémon data structurePokémon base stats data structureSave data structureCharacter encoding
Generation II Pokémon data structurePokémon base stats data structureTrainer data structureSave data structureCharacter encoding
Generation III Pokémon data structurePokémon data substructuresPokémon base stats data structureMove data structure
Contest data structureContest move data structureItem data structurePokédex data structureBattle Frontier data structures
Trainer Tower data structuresPokémon evolution data structureType Chart data structureSave data structureCharacter encoding
Generation IV Pokémon data structureSave data structure

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