User:SnorlaxMonster/Wonder Card data structure (Generation VI)

< User:SnorlaxMonster
Revision as of 11:39, 16 July 2014 by SnorlaxMonster (talk | contribs) (Mainly for personal use)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Most things are done in two-byte pairs (characters are all two-byte pairs).

Offset Pokémon Item
0x00-0x01 unknown (WC type?) unknown (WC type?)
0x02-0x4B Event title Event title
0x4C-0x53 unknown (date received?) unknown (date received?)
0x54-0x65 null null
0x66-0x67 255 255
0x68-0x69 OT ID Item
0x6A-0x6B unknown null
0x6C-0x6F null null
0x70-0x71 null Quantity
0x72-0x73 null null
0x74-0x75 Ribbon (bitlist) null
0x76-0x77 Poké Ball 255
0x78-0x79 Item null
0x7A-0x7B Move 1 null
0x7C-0x7D Move 2 null
0x7E-0x7F Move 3 null
0x80-0x81 Move 4 null
0x82-0x83 Pokémon null
0x84-0x85 Form null
0x86-0x9F null null
0xA0 Nature (255 for random) null
0xA1 Gender (0 ♂, 1 ♀) null
0xA2-0xA3 Ability (see below) null
0xA4-0xA5 null null
0xA6-0xA7 Met location null
0xA8-0xA9 Level null
0xAA-0xAE null null
0xAF-0xB4 FF null
0xB5 null null
0xB6-0xCF OT null
0xD0-0xD1 unknown null
0xD2-0xD3 null null
0xD4-0xD7 always 02 28 6B EE (FE?) null
0xD8-0xDB unknown (Shiny?) null
0xDC- null (nickname?) null

Things missing: WC type (the WC text that is used; these are known to be pulled from a fixed pool stored on the game), date received (probably at least part of 0x4C-0x4F, not sure how it is stored), fixed IVs (probably 0xAF-0xB4 if set individually), Shininess (probably 0xD8-0xDB, since it is 0 for everything by Mamoswine, but not sure how it flags it), fateful encounter (may just be always on, or may be 0xD4-0xD7 since it is always the same value for WCs I can look at)

Note that some slots identified as always null/FF may have some use that has not yet been determined. Nickname is likely in one of the long strings of nulls, but nicknamed events have not yet been distributed (although have been announced). 0xD4-0xD7 also probably has some meaning.

Ribbons

Ribbons are stored as a two-byte bitlist across 0x74 and 0x75.

Bit# Hex Ribbon
01 0x0001 ???
02 0x0002 ???
03 0x0004 ???
04 0x0008 ???
05 0x0010 ???
06 0x0020 ???
07 0x0040 ???
08 0x0080 Event
09 0x0100 ???
10 0x0200 ???
11 0x0400 ???
12 0x0800 Souvenir
13 0x1000 ???
14 0x2000 Classic
15 0x4000 Premier
16 0x8000 ???

Ability

Abilities are stored as a two-byte word at 0xA2-0xA3.

"S#" is the number of non-Hidden Abilities a Pokémon has in that form (either 1 or 2). "Standards" means that the Pokémon can have either standard Ability. "HA?" is whether the Pokémon's species has a Hidden Ability in that form (even if not currently obtainable).

Hex Ability S# HA?
0x0202 Hidden 2 yes
0x0300 Standard 1 yes
0x0302 Hidden 1 yes
0x0303 Standards 2 yes

Poké Balls

This is actually the standard method for storing Poké Balls for Pokémon that has been used since Gen V, but it isn't listed anywhere else on Bulbapedia so I'm including it here.

Dec Hex Ball
001 0x0001 Master Ball
002 0x0002 Ultra Ball
003 0x0003 Great Ball
004 0x0004 Poké Ball
005 0x0005 Safari Ball
006 0x0006 Net Ball
007 0x0007 Dive Ball
008 0x0008 Nest Ball
009 0x0009 Repeat Ball
010 0x000A Timer Ball
011 0x000B Luxury Ball
012 0x000C Premier Ball
013 0x000D Dusk Ball
014 0x000E Heal Ball
015 0x000F Quick Ball
016 0x0010 Cherish Ball
017 0x0011 Fast Ball
018 0x0012 Level Ball
019 0x0013 Lure Ball
020 0x0014 Heavy Ball
021 0x0015 Love Ball
022 0x0016 Friend Ball
023 0x0017 Moon Ball
024 0x0018 Sport Ball
025 0x0019 Dream Ball