<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://projectpokemon.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E3%82%A4%E3%83%BC%E3%83%96%E3%82%A4</id>
	<title>ProjectPokemon Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://projectpokemon.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E3%82%A4%E3%83%BC%E3%83%96%E3%82%A4"/>
	<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/Special:Contributions/%E3%82%A4%E3%83%BC%E3%83%96%E3%82%A4"/>
	<updated>2026-04-19T06:21:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Pokemon_Save_Structure&amp;diff=3682</id>
		<title>Pokemon Save Structure</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Pokemon_Save_Structure&amp;diff=3682"/>
		<updated>2010-06-18T04:52:00Z</updated>

		<summary type="html">&lt;p&gt;イーブイ: /* Block B */ clarify shiny leaf storage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pokémon in the games Pokémon [[Pokémon Diamond|Diamond]], [[Pokemon Pearl|Pearl]], and [[Pokémon Platinum Version|Platinum]] are stored in a 136 byte or 236 byte structures.  All unencrypted values are stored in [[little-endian|little-endian]] format.  The game encrypts the data when it is stored in the [[Pokémon NDS Save File Structure|save file]].  Party Pokémon have additional values to hold current battle stats and conditions.  The information below describes the Pokémon data format.&lt;br /&gt;
&lt;br /&gt;
== Checksum ==&lt;br /&gt;
&lt;br /&gt;
The checksum serves two purposes:&lt;br /&gt;
# It validates the data after decryption, and&lt;br /&gt;
# It serves as the encryption key for the data.&lt;br /&gt;
&lt;br /&gt;
The checksum is calculated in three steps:&lt;br /&gt;
# Split the unencrypted data from offsets 0x08 to 0x87 into two-byte words,&lt;br /&gt;
# Take the sum of the words, and&lt;br /&gt;
# Truncate the sum to 16 bits.&lt;br /&gt;
&lt;br /&gt;
== Block Shuffling ==&lt;br /&gt;
&lt;br /&gt;
The 128 bytes of Pokémon data are split into four 32-byte blocks for shuffling.  The blocks are shuffled according to a shift value derived from the [[personality value]].  Given the personality value &#039;&#039;pv&#039;&#039;, the expression yielding the shift value is:&lt;br /&gt;
: &#039;&#039;((pv &amp;gt;&amp;gt; 0xD) &amp;amp; 0x1F) % 24&#039;&#039;&lt;br /&gt;
The right shifting (pv &amp;gt;&amp;gt; 0xD) is equivalent to a division of 8192.&lt;br /&gt;
&lt;br /&gt;
To shuffle the blocks, take the four blocks of unencrypted data, &#039;&#039;A&#039;&#039;, &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, and &#039;&#039;D&#039;&#039;.  The blocks shall be rearranged in the encrypted data according to the Block Order column of the following table.  (To unshuffle, use the Inverse column.)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Shift Value (decimal)&lt;br /&gt;
! Block Order&lt;br /&gt;
! Inverse&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 00&lt;br /&gt;
| ABCD&lt;br /&gt;
| ABCD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 01&lt;br /&gt;
| ABDC&lt;br /&gt;
| ABDC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 02&lt;br /&gt;
| ACBD&lt;br /&gt;
| ACBD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 03&lt;br /&gt;
| ACDB&lt;br /&gt;
| ADBC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 04&lt;br /&gt;
| ADBC&lt;br /&gt;
| ACDB&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 05&lt;br /&gt;
| ADCB&lt;br /&gt;
| ADCB&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 06&lt;br /&gt;
| BACD&lt;br /&gt;
| BACD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 07&lt;br /&gt;
| BADC&lt;br /&gt;
| BADC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 08&lt;br /&gt;
| BCAD&lt;br /&gt;
| CABD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 09&lt;br /&gt;
| BCDA&lt;br /&gt;
| DABC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 10&lt;br /&gt;
| BDAC&lt;br /&gt;
| CADB&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 11&lt;br /&gt;
| BDCA&lt;br /&gt;
| DACB&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 12&lt;br /&gt;
| CABD&lt;br /&gt;
| BCAD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 13&lt;br /&gt;
| CADB&lt;br /&gt;
| BDAC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 14&lt;br /&gt;
| CBAD&lt;br /&gt;
| CBAD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 15&lt;br /&gt;
| CBDA&lt;br /&gt;
| DBAC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 16&lt;br /&gt;
| CDAB&lt;br /&gt;
| CDAB&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 17&lt;br /&gt;
| CDBA&lt;br /&gt;
| DCAB&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 18&lt;br /&gt;
| DABC&lt;br /&gt;
| BCDA&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 19&lt;br /&gt;
| DACB&lt;br /&gt;
| BDCA&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 20&lt;br /&gt;
| DBAC&lt;br /&gt;
| CBDA&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 21&lt;br /&gt;
| DBCA&lt;br /&gt;
| DBCA&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 22&lt;br /&gt;
| DCAB&lt;br /&gt;
| CDBA&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 23&lt;br /&gt;
| DCBA&lt;br /&gt;
| DCBA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Encryption ==&lt;br /&gt;
&lt;br /&gt;
The encryption uses the [http://projectpokemon.org/wiki/PRNG_in_Pok%C3%A9mon pseudorandom number generator (PRNG)], a linear congruential generator.  Elements of the PRNG can be described with the recursive function:&lt;br /&gt;
: &#039;&#039;X[n+1] = (0x41C64E6D * X[n] + 0x6073)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To decrypt the data, given a function &#039;&#039;rand()&#039;&#039; which returns the upper 16 bits of consecutive results of the above given function:&lt;br /&gt;
# Seed the PRNG with the checksum (let &#039;&#039;X[n]&#039;&#039; be the checksum).&lt;br /&gt;
# Sequentially, for each 2-byte word &#039;&#039;Y&#039;&#039; from 0x08 to 0x87, apply the transformation: &#039;&#039;unencryptedByte = Y xor rand()&#039;&#039;&lt;br /&gt;
# Unshuffle the blocks using the block shuffling algorithm above.&lt;br /&gt;
&lt;br /&gt;
To encrypt the data:&lt;br /&gt;
# Shuffle the blocks using the block shuffling algorithm above.&lt;br /&gt;
# Seed the PRNG with the checksum (let &#039;&#039;X[n]&#039;&#039; be the checksum),&lt;br /&gt;
# Sequentially, for each 2-byte word &#039;&#039;Y&#039;&#039; from 0x08 to 0x87, apply the transformation: &#039;&#039;unencryptedByte = Y xor rand()&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Unencrypted bytes ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00-0x03&lt;br /&gt;
| [[Personality value]] (Also known as the [[PID]])&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x04-0x05&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x06-0x07&lt;br /&gt;
| Checksum&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Encrypted bytes ==&lt;br /&gt;
=== Block A ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08-0x09 &lt;br /&gt;
| [[Nationaldex|National Pokédex ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0A-0x0B &lt;br /&gt;
| [[item index|Held Item]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0C-0x0D&lt;br /&gt;
| [[Original Trainer|OT ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0E-0x0F &lt;br /&gt;
| [[Original Trainer|OT Secret ID]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10-0x13&lt;br /&gt;
| [[Experience Points|Experience points]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x14&lt;br /&gt;
| Friendship (Steps to Hatch if an egg)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x15&lt;br /&gt;
| [[Ability]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x16&lt;br /&gt;
| [[#Markings|Markings]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x17&lt;br /&gt;
| [[#Original Language|Original Language]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| [[Effort Values#Hit Points|HP Effort Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x19&lt;br /&gt;
| [[Effort Values#Attack Points|Attack Effort Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1A&lt;br /&gt;
| [[Effort Values#Defense Points|Defense Effort Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1B&lt;br /&gt;
| [[Effort Values#Speed Points|Speed Effort Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1C&lt;br /&gt;
| [[Effort Values#Special Attack Points|SP Attack Effort Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1D&lt;br /&gt;
| [[Effort Values#Special Defense Points|SP Defense Effort Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1E&lt;br /&gt;
| [[Contest Stats#Cool|Cool Contest Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1F&lt;br /&gt;
| [[Contest Stats#Beauty|Beauty Contest Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| [[Contest Stats#Cute|Cute Contest Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x21&lt;br /&gt;
| [[Contest Stats#Smart|Smart Contest Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x22&lt;br /&gt;
| [[Contest Stats#Tough|Tough Contest Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x23&lt;br /&gt;
| [[Contest Stats#Sheen|Sheen Contest Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24-0x25&lt;br /&gt;
| [[#Sinnoh Ribbon Set 1|Sinnoh Ribbon Set 1]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26-0x27&lt;br /&gt;
| [[#Sinnoh Ribbon Set 2|Sinnoh Ribbon Set 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Block B ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28-0x29&lt;br /&gt;
| [[Pokemon Moves|Move 1 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2A-0x2B&lt;br /&gt;
| [[Pokemon Moves|Move 2 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2C-0x2D&lt;br /&gt;
| [[Pokemon Moves|Move 3 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2E-0x2F&lt;br /&gt;
| [[Pokemon Moves|Move 4 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x30&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 1 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x31&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 2 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x32&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 3 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x33&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 4 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x34-0x37&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move PP Ups]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x38-0x3B&lt;br /&gt;
| Bits 0-29 - [[Individual Values]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Hit Points|HP]] ( [0-31] &amp;lt;&amp;lt; 0 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Attack Points|Attack]] ( [0-31] &amp;lt;&amp;lt; 5 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Defense Points|Defense]] ( [0-31] &amp;lt;&amp;lt; 10 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Speed Points|Speed]] ( [0-31] &amp;lt;&amp;lt; 15 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Special Attack Points|SP Attack]] ( [0-31] &amp;lt;&amp;lt; 20 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Special Defense Points|SP Defense]] ( [0-31] &amp;lt;&amp;lt; 25 )&amp;lt;br&amp;gt;&lt;br /&gt;
Bit 30 - IsEgg Flag&amp;lt;br&amp;gt;Bit 31 - IsNicknamed Flag&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C-0x3D&lt;br /&gt;
| [[#Hoenn Ribbon Set 1|Hoenn Ribbon Set 1]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E-0x3F&lt;br /&gt;
| [[#Hoenn Ribbon Set 2|Hoenn Ribbon Set 2]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x40&lt;br /&gt;
| Bit 0 - Fateful Encounter Flag&amp;lt;br&amp;gt;Bit 1 - Female&amp;lt;br&amp;gt;Bit 2 - Genderless&amp;lt;br&amp;gt;Bit 3-7 - [[#Alternate Forms|Alternate Forms]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x41 &lt;br /&gt;
| Shiny Leaves (HGSS)&amp;lt;br&amp;gt;Bit 5 - Leaf Crown&amp;lt;br&amp;gt;Bits 0–4 - Leaves A–E (bit 0 is leftmost)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x42-0x43&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x44-0x45&lt;br /&gt;
| Egg [[Pokemon NDS Locations#Egg Locations|Location]] (Platinum)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x46-0x47&lt;br /&gt;
| Met at [[Pokemon NDS Locations|Location]] (Platinum)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Block C ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x48-0x5D&lt;br /&gt;
| Nickname&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5E&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5F&lt;br /&gt;
| [[Pokemon Hometown|Hometown]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60-0x61&lt;br /&gt;
| [[#Sinnoh Ribbon Set 3|Sinnoh Ribbon Set 3]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62-0x63&lt;br /&gt;
| [[#Sinnoh Ribbon Set 4|Sinnoh Ribbon Set 4]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x64-0x67&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Block D ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x68-0x77 &lt;br /&gt;
| [[Original Trainer|OT Name]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x78-0x7A &lt;br /&gt;
| Date Egg Received&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7B-0x7D&lt;br /&gt;
| Date Met&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7E-0x7F&lt;br /&gt;
| Egg [[Pokemon NDS Locations|Location]] (Diamond/Pearl)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x80-0x81&lt;br /&gt;
| Met At [[Pokemon NDS Locations|Location]] (Diamond/Pearl)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x82&lt;br /&gt;
| [[Pokerus|Pokérus]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x83&lt;br /&gt;
| [http://projectpokemon.org/wiki/List_of_Diamond,_Pearl,_Platinum,_HeartGold_and_SoulSilver_Items_by_Index_Number#Balls Poké Ball]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x84&lt;br /&gt;
| Bit 0-6 - Met At Level&amp;lt;br&amp;gt;Bit 7 - Female OT Gender&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x85&lt;br /&gt;
| [[#Encounter Types|Encounter Type]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x86&lt;br /&gt;
|[http://projectpokemon.org/wiki/List_of_Diamond,_Pearl,_Platinum,_HeartGold_and_SoulSilver_Items_by_Index_Number#HeartGold_and_SoulSilver_exclusive_Balls HGSS Poké Ball]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x87&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Battle Stats ==&lt;br /&gt;
&lt;br /&gt;
The battle stats are encrypted in the same manner, however the seed is not the checksum, it is the PID.&lt;br /&gt;
&lt;br /&gt;
=== Encrypted Bytes ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x88&lt;br /&gt;
| Bits 0-2 - Asleep (0-7 rounds)&amp;lt;br&amp;gt;Bit 3 - Poisoned&amp;lt;br&amp;gt;Bit 4 - Burned&amp;lt;br&amp;gt;Bit 5 - Frozen&amp;lt;br&amp;gt;Bit 6 - Paralyzed&amp;lt;br&amp;gt;Bit 7 - Toxic&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x89&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039; - Flags - Max Value 0xF0&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8A-0x8B&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8C&lt;br /&gt;
| Level&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8D&lt;br /&gt;
| Capsule Index (Seals)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8E-0x8F&lt;br /&gt;
| Current HP&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x90-0x91&lt;br /&gt;
| Max HP&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x92-0x93&lt;br /&gt;
| Attack&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x94-0x95&lt;br /&gt;
| Defense&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x96-0x97&lt;br /&gt;
| Speed&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x98-0x99&lt;br /&gt;
| Special Attack&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x9A-0x9B&lt;br /&gt;
| Special Defense&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x9C-0xD3&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039; - Contains Trash Data&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0xD4-0xEB&lt;br /&gt;
| Seal Coordinates&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Original Language ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Language&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1&lt;br /&gt;
| 日本語 (Japan)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2&lt;br /&gt;
| English (US/UK/AU)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3&lt;br /&gt;
| Français (France/Québec)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x4&lt;br /&gt;
| Italiano (Italy)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5&lt;br /&gt;
| Deutsch (Germany)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7&lt;br /&gt;
| Español (Spain/Latin Americas)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8&lt;br /&gt;
| 한국어 (South Korea)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Markings ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Marking&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x01&lt;br /&gt;
| Circle&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x02&lt;br /&gt;
| Triangle&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x04&lt;br /&gt;
| Square&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Heart&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Star&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| Diamond&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternate Forms ==&lt;br /&gt;
Alternate forms are stored at offset 0x40 of the Pokemon structure.  Each form follows the pattern of &#039;&#039;index &amp;lt;&amp;lt; 3&#039;&#039; where index starts at zero for the main form.&lt;br /&gt;
&lt;br /&gt;
=== Unown&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| A&lt;br /&gt;
| 0x38&lt;br /&gt;
| H&lt;br /&gt;
| 0x70&lt;br /&gt;
| O&lt;br /&gt;
| 0xA8&lt;br /&gt;
| V&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| B&lt;br /&gt;
| 0x40&lt;br /&gt;
| I&lt;br /&gt;
| 0x78&lt;br /&gt;
| P&lt;br /&gt;
| 0xB0&lt;br /&gt;
| W&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| C&lt;br /&gt;
| 0x48&lt;br /&gt;
| J&lt;br /&gt;
| 0x80&lt;br /&gt;
| Q&lt;br /&gt;
| 0xB8&lt;br /&gt;
| X&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| D&lt;br /&gt;
| 0x50&lt;br /&gt;
| K&lt;br /&gt;
| 0x88&lt;br /&gt;
| R&lt;br /&gt;
| 0xC0&lt;br /&gt;
| Y&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| E&lt;br /&gt;
| 0x58&lt;br /&gt;
| L&lt;br /&gt;
| 0x90&lt;br /&gt;
| S&lt;br /&gt;
| 0xC8&lt;br /&gt;
| Z&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28&lt;br /&gt;
| F&lt;br /&gt;
| 0x60&lt;br /&gt;
| M&lt;br /&gt;
| 0x98&lt;br /&gt;
| T&lt;br /&gt;
| 0xD0&lt;br /&gt;
| !&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x30&lt;br /&gt;
| G&lt;br /&gt;
| 0x68&lt;br /&gt;
| N&lt;br /&gt;
| 0xA0&lt;br /&gt;
| U&lt;br /&gt;
| 0xD8&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deoxy&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Normal&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Attack&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Defense&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| Speed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Burmy&#039;s &amp;amp; Wormadam&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Plant&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Sandy&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Trash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shellos&#039; &amp;amp; Gastrodon&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| West&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| East&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rotom&#039;s Forms ===&lt;br /&gt;
Rotom&#039;s alternate forms will only be displayed in Pokemon Platinum.  Rotom may be traded between Diamond, Pearl, and Platinum without losing the alternate form.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Normal&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Heat&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Wash&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| Frost&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| Fan&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28&lt;br /&gt;
| Cut&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Giratina&#039;s Forms ===&lt;br /&gt;
Giratina&#039;s Origin form will only be displayed in Pokemon Platinum.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Altered&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Origin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shaymin&#039;s Forms ===&lt;br /&gt;
Shaymin&#039;s Sky form will only be displayed in Pokemon Platinum.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Land&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Sky&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Arceus&#039; Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Normal&lt;br /&gt;
| 0x30&lt;br /&gt;
| Insect&lt;br /&gt;
| 0x60&lt;br /&gt;
| Zap&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Fist&lt;br /&gt;
| 0x38&lt;br /&gt;
| Spooky&lt;br /&gt;
| 0x68&lt;br /&gt;
| Mind&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Sky&lt;br /&gt;
| 0x40&lt;br /&gt;
| Iron&lt;br /&gt;
| 0x70&lt;br /&gt;
| Icicle&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| Toxic&lt;br /&gt;
| 0x48&lt;br /&gt;
| Flame&lt;br /&gt;
| 0x78&lt;br /&gt;
| Draco&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| Earth&lt;br /&gt;
| 0x50&lt;br /&gt;
| Splash&lt;br /&gt;
| 0x80&lt;br /&gt;
| Dread&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28&lt;br /&gt;
| Stone&lt;br /&gt;
| 0x58&lt;br /&gt;
| Meadow&lt;br /&gt;
| 0x4C&lt;br /&gt;
| Curse&lt;br /&gt;
|}&lt;br /&gt;
== Encounter Types ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Country&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0&lt;br /&gt;
| Pal Park, Egg, Hatched, Special Event&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2&lt;br /&gt;
| Tall Grass&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x4&lt;br /&gt;
| Dialga/Palkia In-Game Event&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5&lt;br /&gt;
| Cave, Hall of Origin&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7&lt;br /&gt;
| Surfing, Fishing&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x9&lt;br /&gt;
| Building&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0xA&lt;br /&gt;
| Great Marsh (Safari Zone)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0xC&lt;br /&gt;
| Starter, Fossil, Gift (Eevee)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ribbons ==&lt;br /&gt;
Diamond, Pearl, and Platinum store the ribbon information as [[Bitfields|bitfields]] in 1-byte words.  Given below are the bytewise representation of the ribbon bitfields.&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 1 ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x01&lt;br /&gt;
| Sinnoh Champ Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x02&lt;br /&gt;
| Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x04&lt;br /&gt;
| Great Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x08&lt;br /&gt;
| Double Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x10&lt;br /&gt;
| Multi Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x20&lt;br /&gt;
| Pair Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x40&lt;br /&gt;
| World Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x80&lt;br /&gt;
| Alert Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x01&lt;br /&gt;
| Shock Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x02&lt;br /&gt;
| Downcast Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x04&lt;br /&gt;
| Careless Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x08&lt;br /&gt;
| Relax Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x10&lt;br /&gt;
| Snooze Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x20&lt;br /&gt;
| Smile Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x40&lt;br /&gt;
| Gorgeous Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x80&lt;br /&gt;
| Royal Ribbon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 2 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x01&lt;br /&gt;
| Gorgeous Royal Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x02&lt;br /&gt;
| Footprint Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x04&lt;br /&gt;
| Record Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x08&lt;br /&gt;
| History Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x10&lt;br /&gt;
| Legend Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x20&lt;br /&gt;
| Red Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x40&lt;br /&gt;
| Green Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x80&lt;br /&gt;
| Blue Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x01&lt;br /&gt;
| Festival Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x02&lt;br /&gt;
| Carnival Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x04&lt;br /&gt;
| Classic Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x08&lt;br /&gt;
| Premier Ribbon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 3 ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x01&lt;br /&gt;
| Cool Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x02&lt;br /&gt;
| Cool Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x04&lt;br /&gt;
| Cool Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x08&lt;br /&gt;
| Cool Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x10&lt;br /&gt;
| Beauty Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x20&lt;br /&gt;
| Beauty Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x40&lt;br /&gt;
| Beauty Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x80&lt;br /&gt;
| Beauty Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x01&lt;br /&gt;
| Cute Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x02&lt;br /&gt;
| Cute Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x04&lt;br /&gt;
| Cute Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x08&lt;br /&gt;
| Cute Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x10&lt;br /&gt;
| Smart Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x20&lt;br /&gt;
| Smart Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x40&lt;br /&gt;
| Smart Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x80&lt;br /&gt;
| Smart Ribbon Master&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 4 ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x01&lt;br /&gt;
| Tough Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x02&lt;br /&gt;
| Tough Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x04&lt;br /&gt;
| Tough Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x08&lt;br /&gt;
| Tough Ribbon Master&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hoenn Ribbon Set 1 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x01&lt;br /&gt;
| Cool Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x02&lt;br /&gt;
| Cool Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x04&lt;br /&gt;
| Cool Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x08&lt;br /&gt;
| Cool Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x10&lt;br /&gt;
| Beauty Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x20&lt;br /&gt;
| Beauty Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x40&lt;br /&gt;
| Beauty Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x80&lt;br /&gt;
| Beauty Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x01&lt;br /&gt;
| Cute Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x02&lt;br /&gt;
| Cute Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x04&lt;br /&gt;
| Cute Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x08&lt;br /&gt;
| Cute Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x10&lt;br /&gt;
| Smart Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x20&lt;br /&gt;
| Smart Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x40&lt;br /&gt;
| Smart Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x80&lt;br /&gt;
| Smart Ribbon Master&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hoenn Ribbon Set 2 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x01&lt;br /&gt;
| Tough Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x02&lt;br /&gt;
| Tough Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x04&lt;br /&gt;
| Tough Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x08&lt;br /&gt;
| Tough Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x10&lt;br /&gt;
| Champion Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x20&lt;br /&gt;
| Winning Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x40&lt;br /&gt;
| Victory Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x80&lt;br /&gt;
| Artist Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x01&lt;br /&gt;
| Effort Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x02&lt;br /&gt;
| Marine Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x04&lt;br /&gt;
| Land Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x08&lt;br /&gt;
| Sky Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x10&lt;br /&gt;
| Country Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x20&lt;br /&gt;
| National Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x40&lt;br /&gt;
| Earth Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x80&lt;br /&gt;
| World Ribbon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Save File Location ==&lt;br /&gt;
The party Pokémon are stored in the [[Pokémon NDS Save File Structure|save file]] beginning at offset 0x00098 for the first small block, and 0x40098 for the second small block.&lt;br /&gt;
&lt;br /&gt;
In the first small save block, the first Daycare Pokémon is located at 0x0141C, and the second is located at 0x01508.  In the second small block, the first Daycare Pokémon is located at 0x4141C, and the second is located at 0x41508.&lt;br /&gt;
&lt;br /&gt;
In the first small save block, the Pal Park Pokémon are stored beginning at 0x0BA28.  In the second small save block, the Pal Park Pokémon are stored beginning at 0x4BA28.&lt;br /&gt;
&lt;br /&gt;
Each party, Daycare, and Pal Park Pokémon is 236 bytes in size.&lt;br /&gt;
&lt;br /&gt;
The PC storage Pokémon are stored in the save file from Box 1 to Box 18.  The offset starts at 0x0C104 for the first big block and 0x4C104 for the second big block.  Each PC stored Pokémon is 136 bytes in size.&lt;br /&gt;
&lt;br /&gt;
[[Category:Structures]]&lt;br /&gt;
[[Category:Game Mechanics]]&lt;br /&gt;
[[Category:ROM Research]]&lt;/div&gt;</summary>
		<author><name>イーブイ</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2376</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2376"/>
		<updated>2010-03-21T03:57:17Z</updated>

		<summary type="html">&lt;p&gt;イーブイ: clarify setProfile&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte hex challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039;, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon uploaded to the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Offering a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;, followed by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving an offered Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the currently offered Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the currently offered Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;/div&gt;</summary>
		<author><name>イーブイ</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2374</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2374"/>
		<updated>2010-03-21T02:33:17Z</updated>

		<summary type="html">&lt;p&gt;イーブイ: flesh out the protocol and &amp;quot;commands&amp;quot; a bit, based on mine and LL&amp;#039;s sniffing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
=HTTP headers=&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
=Protocol=&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==pid==&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
==Challenge/response==&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte hex challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
=Conversation=&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sometimes&#039;&#039;, the game will make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).  When this occurs and why is unknown; it happened with Eevee&#039;s Platinum game but not LordLandon&#039;s Diamond/Pearl.&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039;, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon uploaded to the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
==Receiving a Pokémon==&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
===A note on sendpkm.py===&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
==Offering a Pokémon==&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;, followed by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Retrieving an offered Pokémon==&lt;br /&gt;
&lt;br /&gt;
Checking on the currently offered Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the currently offered Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;/div&gt;</summary>
		<author><name>イーブイ</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2371</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2371"/>
		<updated>2010-03-21T01:18:19Z</updated>

		<summary type="html">&lt;p&gt;イーブイ: http headers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.&lt;br /&gt;
&lt;br /&gt;
=HTTP headers=&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;/div&gt;</summary>
		<author><name>イーブイ</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2370</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2370"/>
		<updated>2010-03-21T01:00:22Z</updated>

		<summary type="html">&lt;p&gt;イーブイ: creatin page, worthless atm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.&lt;br /&gt;
&lt;br /&gt;
MORE TO FOLLOW.......???&lt;/div&gt;</summary>
		<author><name>イーブイ</name></author>
	</entry>
</feed>