Item data structure (Generation III): Difference between revisions

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
(→‎Pocket: correcting the TMs/HMs and Berries pockets' order)
No edit summary
Line 127: Line 127:
==Extra parameter==
==Extra parameter==
Extra parameter is used to distinguish Poké Balls and Mails, as opposed to just using the item index.
Extra parameter is used to distinguish Poké Balls and Mails, as opposed to just using the item index.
==Fingerprint==
<pre>
AC AC AC AC AC AC AC AC FF 00 00 // (item 0)
00 00 00 00 00 00 00 00 00 A0 FE
57 08 00 00 01 04 21 E8 0F 08 00
00 00 00 00 00 00 00 00 00 00 00
C7 BB CD CE BF CC 00 BC BB C6 C6 // Master Ball
FF 00 00 01 00 00 00 00 00 A6 FE
57 08 00 00 02 00 00 00 00 00 02
00 00 00 95 E3 0F 08 00 00 00 00
CF C6 CE CC BB 00 BC BB C6 C6 FF // Ultra Ball
00 00 00 02 00 B0 04 00 00 D9 FE
57 08 00 00 02 01 00 00 00 00 02
00 00 00 95 E3 0F 08 01 00 00 00
...
</pre>


{{data structure}}
{{data structure}}

Revision as of 18:05, 4 June 2010

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 Special value 1 1 byte
19 Special value 2 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

Pocket

This determines which pocket of the bag the item should be stored in.

Number Item type
1 Main pocket
2 Poké Ball
3 TMs and HMs
4 Berries
5 Key items

Type

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.

Mystery values

Mystery value 1 is:

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

Mystery value 2 is:

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

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.

Fingerprint

AC AC AC AC AC AC AC AC FF 00 00 // (item 0)
00 00 00 00 00 00 00 00 00 A0 FE 
57 08 00 00 01 04 21 E8 0F 08 00
00 00 00 00 00 00 00 00 00 00 00
C7 BB CD CE BF CC 00 BC BB C6 C6 // Master Ball
FF 00 00 01 00 00 00 00 00 A6 FE
57 08 00 00 02 00 00 00 00 00 02
00 00 00 95 E3 0F 08 00 00 00 00
CF C6 CE CC BB 00 BC BB C6 C6 FF // Ultra Ball
00 00 00 02 00 B0 04 00 00 D9 FE
57 08 00 00 02 01 00 00 00 00 02
00 00 00 95 E3 0F 08 01 00 00 00
...


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