evandixon

Administrator
  • Content count

    4045
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by evandixon

  1. Genesect (B2W2)

    Version 1.0.0

    206 downloads

    赤いゲノセクト - Red Genesect This Genesect skin was distributed to help promote the newest Pokémon Movie. Japan Dates: 04.19.2013 - 07.12.2013
  2. X/Y File System

    Authors: User:Kaphotics, User:magical, User:Zhorken a/0/0/0: bits of Pokémon status interface? strings seem to indicate status icons, type icons, damage class icons,... a/0/0/1: 3 × CGFX a/0/0/2: pokelist (more bits of interface?), camera & lighting CGFX a/0/0/3: substitute texture (+model?) a/0/0/4: moooore bits of interface? a/0/0/5: battle interface? status/type icons a/0/0/6: species related binary file a/0/0/7: pokemon models a/0/0/8: map fade animation a/0/0/9: 20 BCH (+1 dummy) “tuki(h)(0-9)”, 3 binary a/0/1/0: child menu (gray) a/0/1/1: cute menu (orangered) a/0/1/2: encounters (other map data?) zonedata in [360.0] * encounters - https://db.tt/s8DSBBnz * location names - http://pastebin.com/5nUR9xpU (@0x1C zd, txt file 72) a/0/1/3: map models a/0/1/4: config UI a/0/1/5: bclims/an - berries “nuts_pile”, balloon, background a/0/1/6: amie minigame yarns, puffs & UI a/0/1/7: pokepuff UI a/0/1/8: camera UI a/0/1/9: namechange/input UI a/0/2/0: alphabetical/phonetic sorting logic binaries? a/0/2/1: MM BCH (overworld entity models?) a/0/2/2: 269 * 24byte, 1*136byte (16 entries, 8bp?) a/0/2/3: 78 * (4byte header count, 0x50 entry) a/0/2/4: 380 BM BCH map objects (fountain, chandelier) a/0/2/5: 144 * (4byte header count, 100byte entry) a/0/2/6: bottom screen UI (PSS/Amie bg, Pokemon/Bag Circulars) a/0/2/7: PSS specific UI (dummy trainers, birthday, icons) a/0/2/8: reaction faces, amie buttons UI a/0/2/9: super training UI a/0/3/0: super training bags, enemy portraits a/0/3/1: 59 * (4byte length) a/0/3/2: cursor & hover effects (waza oboe) a/0/3/3: 1779 × CGFX - battle effect graphics? a/0/3/4: pokeball model a/0/3/5: vs trainer plates & battle fade gfx a/0/3/6: 904 × SESD a/0/3/7: 16 × CGFX emitted models (exclamation, heart) a/0/3/8: 785 * 20 bytes a/0/3/9: 178 * 16 bytes a/0/4/0: Trainer Pokemon a/0/4/1: 1030 * varied GR a/0/4/2: 227 * varied MM a/0/4/3: amie face a/0/4/4: amie hand a/0/4/5: pss enemy/self connection a/0/4/6: pss interaction option buttons a/0/4/7: pss lower team bclan a/0/4/8: pss interfare(?) redundant stuff a/0/4/9: pss yesno a/0/5/0: pss msg a/0/5/1: pss npc & icon folder a/0/5/2: pss select effects a/0/5/3: pss checklist a/0/5/4: pss object select a/0/5/5: pss lower window anim a/0/5/6: pss menu sprites a/0/5/7: pss config a/0/5/8: pss selectmenu a/0/5/9: pss battle lower a/0/6/0: 1 binary a/0/6/1: 39 binary * various (floating point numbers?) a/0/6/2: Weather Effects ~ 9 * WE CGFX/BCH a/0/6/3: bag sprites a/0/6/4: salon 8 * CGFX a/0/6/5: 2 * CGFX ~ kujira_CullingShader a/0/6/6: Lumiose subMap a/0/6/7: pss colosseum a/0/6/8: 1 binary (4 byte entries?) a/0/6/9: town map UI a/0/7/0: title language UI a/0/7/1: report (last on / off) a/0/7/[2-9]: text (ja-kana, ja-kanji, en, fr, it, de, es, ko) a/0/8/[0-7]: script text a/0/8/8: Clothing Mannequin model (612 bch), 19 binary a/0/8/9: Player Trainer models a/0/9/0: ??? ← as about everything? (signed int tables? 1091) a/0/9/1: Apparel animation/UI a/0/9/2: TM BCH for gym04 a/0/9/3: pokemon icons (945, 40×30) (montage) a/0/9/4: item icons (579, 30×30) (montage) a/0/9/5: move category sprites a/0/9/6: bordered message boxes (?) a/0/9/7: held item sprite, xp/hp fillers a/0/9/8: pkmdata summary view sprites (pkrscure, penta, marks) a/0/9/9: time spinner a/1/0/0: cursor a/1/0/1: cries (3751×CSEQ + 997×CWAR) a/1/0/2: 160 CGFX (okashi/Candy) a/1/0/3: 2 CGFX (lighting?), 1 BIN (22byte entries, 307 total) a/1/0/4: box UI (backgrounds,etc) a/1/0/5: 24 CGFX pokeballs a/1/0/6: pokeball models a/1/0/7: 1 BIN (2049 bytes) a/1/0/8: TM CGFX (‘jump out’ tobidashi) a/1/0/9: 4 CGFX, 5 BCH, 1 darc (pokeselect) a/1/1/0: grass gym ™ a/1/1/1: shop UI a/1/1/2: 1 bin, PSS spritebuilding a/1/1/3: badge case a/1/1/4: pokemon view UI a/1/1/5: intro CGFX a/1/1/6: encount tile/panels (pc, 30 each) a/1/1/7: pc buttons a/1/1/8: trade UI a/1/1/9: super training UI a/1/2/0: super training minigame stuff with 85 BCH, 1 CGFX a/1/2/1: 47 * 12 bytes a/1/2/2: 36 * (header count @0x4, 0xC entry length) a/1/2/3: 48 * 32 bytes a/1/2/4: 80 * 236 bytes a/1/2/5: 80 * 216 bytes a/1/2/6: 500 * 36 bytes (end is unused) a/1/2/7: 500 * 28 bytes (end is unused) a/1/2/8: 63 * 120 “” a/1/2/9: 50 * 120 “” a/1/3/0: 80 * 20 a/1/3/1: 100 * 244 a/1/3/2: 58 * 244 a/1/3/3: 80 * 64 a/1/3/4: 80 * 80 a/1/3/5: 109 CGFX (effects?) a/1/3/6: little bit of data for each pokemon form a/1/3/7: evolution (shinka) CGFX & UI a/1/3/8: pokedex data sprites a/1/3/9: 2 TM (no ext?) a/1/4/0: Team Flare NPC Models a/1/4/1: common menu window a/1/4/2: 2 binary (index tables?) a/1/4/3: 28 CGFX cameras + darc video related a/1/4/4: 44 CGFX (mega transformation animations?) a/1/4/5: battle backgrounds? a/1/4/6: 26 BCH, 4 CGFX, 105 BG BCH a/1/4/7: 1 TM (rope/door) a/1/4/8: 1 TM BCH (fire) a/1/4/9: 170 binaries a/1/5/0: GTS Background & Windows a/1/5/1: 44 * various a/1/5/2: holo caster streetpass pokeball jpeg (with exif data!), debug camera a/1/5/3: assist power UI related a/1/5/4: box search UI a/1/5/5: 4 * SESD a/1/5/6: TM berrytree a/1/5/7: gym6 cgfx/anim a/1/5/8: customize amie a/1/5/9: amie bg 224 bclim (misc backgrounds/items) a/1/6/0: pokepuff sprites a/1/6/1: benri/handy button a/1/6/2: remembering move (waza omoidashi) UI a/1/6/3: finger pointing down icon a/1/6/4: pokeride TM CGFX (riding rhydon) a/1/6/5: title screens, map models a/1/6/6: list menu window a/1/6/7: 1 TM CGFX (skeletal wing? haze) a/1/6/8: 1 TM CGFX a/1/6/9: 6 × CGFX a/1/7/0: wonder UI a/1/7/1: 6 × CGFX a/1/7/2: gamesync a/1/7/3: 26 BCH a/1/7/4: 1 TM BCH gym08 a/1/7/5: 1 TM CGFX a/1/7/6: text dialog windows a/1/7/7: 1 TM CGFX a/1/7/8: trainer sprites a/1/7/9: battlematch UI a/1/8/0: 66 * SESD a/1/8/1: TM cut tree animation CGFX a/1/8/2: TM rock smash(?) animation CGFX a/1/8/3: TM rock strength(?) animation CGFX a/1/8/4: TM dig animation (anahoru) CGFX a/1/8/5: 4 CFNT fonts a/1/8/6: Friend entry UI a/1/8/7: TM water animation CGFX a/1/8/8: 23 MM a/1/8/9: 38 * 604 bytes a/1/9/0: battle video save a/1/9/1: TM CGFX of a red/blue switch & belt a/1/9/2: a handful of grammar bits in different languages a/1/9/3: traial UI/bg a/1/9/4: 15 * various bin (16bit indexes) a/1/9/5: TM BCH tr0906+ trainer models? a/1/9/6: 2 BCH kujira_CullingShader a/1/9/7: 1 BIN; 2A entries @ 0x54/84d ea a/1/9/8: communications wait a/1/9/9: 22 TGA images (TRUEVISION-XFILE) a/2/0/0: friend safari UI a/2/0/1: camera CGFX a/2/0/{3,5,7}: Normal Maison, Super Maison, and Inverse Battle PKM a/2/0/{4,6}: Normal Maison & Super Maison Trainer choices a/2/0/8: memory clear UI a/2/0/9: homenix UI (no pressing home?) a/2/1/0: com_towerin BCH a/2/1/1: com_tower BCH (buildings)? a/2/1/2: move stats a/2/1/3: egg moves a/2/1/4: level-up moves a/2/1/5: evolution data a/2/1/6: mega "evolution" map a/2/1/7: 8 * 404 bytes (101 entries) a/2/1/8: pokemon stats (personal) a/2/1/9: baby map a/2/2/0: item stats a/2/2/1: 718 byte binary (int vals?) a/2/2/2: battle video UI a/2/2/3: syoujyou (diploma/certificate) dex complete a/2/2/4: dendoiri (certificate) BCH model a/2/2/5: language selection a/2/2/6: number input lower a/2/2/7: ‘picture watch’ a/2/2/8: eshop item present a/2/2/9: battle institute certificate a/2/3/0: TM BCH glittering grass a/2/3/1: miracle wonder trade UI a/2/3/2: vs battle UI (score) a/2/3/3: TM BCH smoke/scaffolding? a/2/3/4: battle house UI a/2/3/5: TM BCH gym05 floor a/2/3/6: TM CGFX lighting (pichu heart/star?) a/2/3/7: 6 TM models (face/armsbody) a/2/3/8: TM BCH waterfall splash a/2/3/9: type icons and other stuff a/2/4/0: bclims: “ally_gauge”, “bag_button”, “battle timer”... a/2/4/1: bclims: “big_four_name01” through 04, “big_four_vs”, similar for champion/gym a/2/4/2: vs win/loss images a/2/4/3: bclims: “high_score”, “result_title”, … a/2/4/4: bclims: “clear”, “cleared”, “gameover_c”, “meter_bougyo”, … a/2/4/5: 1 SESD a/2/4/6: live/world online tournament UI a/2/4/7: 13 CGFX (flower,notes) a/2/4/8: TM BCH fishing float bite a/2/4/9: “The End” screen a/2/5/0: two short files; all bytes 0x06 or below a/2/5/1: odd, short file a/2/5/2: bclans: “tutorial_active_lower”, “tutorial_lower_cansel”, … a/2/5/3: bclims: amie and super training overview pics (tutorial?) a/2/5/4: battle party poke select UI a/2/5/5: 7 bins, 24byte entries (header u32 entry ct) a/2/5/6: SMDH game icon (large/small) & 2 bin a/2/5/7: battle video UI (local tournament?) -- lacking delete a/2/5/8: staffroll credits a/2/5/9: 36200byte & 400byte bins a/2/6/0: stereo frame ani a/2/6/1: game over ani a/2/6/2: battle fade-in effects (flare rock fly etc) a/2/6/3: game sync screenshots a/2/6/4: pokedex captions / search filter UI a/2/6/5: the end “Fin” a/2/6/6: BCH CGFX type backgrounds (color & a sun) (hall of fame?) a/2/6/7: fatal error screen a/2/6/8: mode01 mode02 mode04 bclim a/2/6/9: congratulations a/2/7/0: fade animation Original link: http://pastebin.com/QNCz7Avh
  3. Wi-Fi Protocol Structure

    Generation IV and V Pokemon games communicate with Nintendo's Wi-Fi servers for various parts of the games. Nintendo Servers Nintendo's Wi-Fi servers run Microsoft's IIS and use ASP.NET as the primary language. This data can be confirmed based on the headers sent to the Nintendo DS as well as through error messages sent via browser. The main hostnames of each of these servers are subdomains of nintendowifi.net. conntest.nintendowifi.net The connection test servers are the simplest servers. They contain a single webpage which is retrieved to check that Wi-Fi is working properly. The page can be reached with normal HTTP URL retrieval. This address refers to two servers (192.195.204.216; 69.25.139.140) whose DNS records cycle every 30 seconds to keep the load balanced. gamestats2.gs.nintendowifi.net Protocol specific information about this server can be found in GTS protocol. This gamestats server is used for the GTS in both Generation IV and V primarily. This address refers to a single server (69.10.30.234) whose DNS record updates every 300 seconds. Directory Map /pokemondpds common setProfile.asp worldexchange delete.asp info.asp post.asp post_finish.asp result.asp search.asp
  4. Trash Bytes

    An Introduction to Trash Bytes You will need a basic understanding of the hexadecimal number system and hexadecimal data of files before reading this article Trash bytes are data stored in a .pkm file. They serve no purpose at all ingame or for storing information. Their only use is for hack checking. Three types of pokemon have trash bytes. These are: Hatched Pokemon; Mystery Gift Pokemon; and Pal Park Pokemon. Each has different types of Trash Bytes and different methods for fixing them. The Pokemon Name trash bytes are stored between the offsets 0x48 and 0x5D. The Original Trainer trash bytes are stored between the offsets 0x68 and 0x77. You will also need to know about Terminators (not a movie reference). These terminators are two bytes in a pkm file within the Trash Byte areas. These bytes tell the game when the Pokemon Name or Original Trainer ends, and the Trash Bytes begin. The terminators are simply "FF FF" within the offsets previously mentioned. Hatched Pokemon The easiest of all trash bytes to correct. If you nickname a hatched pokemon and nickname it back to it's original species name, it will not have a nickname and the trash bytes will be corrected. Mystery Gift Pokemon For Reference: The Pokemon Name trash bytes are stored between the offsets 0x48 and 0x5D. The Original Trainer trash bytes are stored between the offsets 0x68 and 0x77. After the terminator, these Trash Bytes are solid "FF"s. Migrated via Pal Park Migrated to English DP 18 20 0D 02 42 00 00 00 00 00 00 00 48 A1 0C 02 E0 FF 05 00 00 00 <random> <8E - 96> 27 02 <random> <D1 or D2> 26 02 E9 9A 06 02 00 00 Migrated to Italian DP 54 20 0D 02 42 00 00 00 00 00 00 00 84 A1 0C 02 E0 FF 05 00 00 00 <random> <8E - 96> 27 02 <random> <D3 or D4> 26 02 25 9B 06 02 00 00 Migrated to German DP 74 20 0D 02 42 00 00 00 00 00 00 00 A4 A1 0C 02 E0 FF 05 00 00 00 <random> <8E - 96> 27 02 <random> D4 26 02 45 9B 06 02 00 00 Migrated to French DP 74 20 0D 02 42 00 00 00 00 00 00 00 A4 A1 0C 02 E0 FF 05 00 00 00 <random> <8E - 96> 27 02 <random> D5 26 02 45 9B 06 02 00 00 Migrated to Spanish DP 74 20 0D 02 42 00 00 00 00 00 00 00 A4 A1 0C 02 E0 FF 05 00 00 00 <random> <8E - 96> 27 02 <random> <D5 or D6> 26 02 45 9B 06 02 00 00 Migrated to Korean DP 00 00 00 00 42 00 00 00 00 00 00 00 18 77 0C 02 E0 FF 05 00 00 00 <random> <07 - 0B> 28 02 <random> 4B 27 02 B1 9F 06 02 00 00 Migrated to Japanese DP 00 00 00 00 B4 C5 0C 02 E0 FF 7F 02 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00* Yes. Solid 00s. How To Fix Trash Bytes Option 1: Download this zip file, extract it, and drag and drop a pkm file over it. This will automatically correct the Trash Bytes. Option 2: Use the guide below. A Guide To Trash Bytes For Diamond and Pearl 1. Download the latest versions of: Pokesav, HxD (or any other hex editor) and Legal.exe 2. Create a pokémon that needs to be fixed with pokesav (for this tutorial use a Pal-Parked pokémon) into storage. Or download the pokémon I used for this tutorial http://www.mediafire.com/?mgzjjtyttn0 3. Make sure all aspects of the pokémon are legal (excluding trash bytes) 4. Once you have made the pokémon, save it and close pokesav 5. Check it with legal.exe. it should look like http://i335.photobucket.com/albums/m443/damio91/Aron_no_TB.jpg 6. Now, open the pokémon in a hex editor and find the bytes 0x48 through to 0x5D 7. Find the terminator (FF FF) and count how many bytes are after that until you reach 0x5D. If you are using my pokémon there should be 12 bytes 8. Now we will actually do some trash byte fixing. We will make it seem as if it got transferred to an English game. http://db.pokesav.org/main/?q=Trash-Bytes-Guide (other language strings here) Migrated to English DP 18 20 0D 02 42 00 00 00 00 00 00 00 48 A1 0C 02 E0 FF 05 00 00 00 <8E - 96> 27 02 26 02 E9 9A 06 02 00 00 The first string is if it was transferred into slot 1 of Pal-Park The second string is if it was transferred to any of slots 2-6 of Pal-Park We will use the first string to make it seem like we Pal-Parked it to slot 1 9. Count from the end of the first string, back however many bytes we counted before (in my case 12) 10. Now type over the bytes after the terminator with the bytes counted out (the last 12) 11. We have finished with the pokémon name trash bytes and will now move on to OT trash bytes. 12. Look through the bytes 0x68 to 0x77 and find the terminator again (FF FF). 13. Type over the bytes after the terminator with the bytes from 2 rows up (the corresponding bytes are 0x48 to 0x57) 14. Save the changes and check with legal.exe it should look like http://i335.photobucket.com/albums/m443/damio91/Aron_TB_fixed.jpg but don’t close legal.exe. We have to fix the checksum 15. Type over the bytes 0x06 and 0x07 with what legal.exe says for the checksum. Save and close HxD check with legal.exe. It should look like http://i335.photobucket.com/albums/m443/damio91/Aron_Legal.jpg 16. Congratulations! You have made a legal pal-parked pokémon from scratch! Mystery Gift Trash Bytes: Just fill in the trash byte areas (0x48 to 0x5D and 0x68 to 0x77) after the terminators with FF
  5. Trainer Card Signature

    First, the offsets. D/P: 1,536 bytes, starting at 0x00005904 Plat: 1,536 bytes, starting at 0x00005BA8 The signature area is 192 x 64 pixels, for a grand total of 12,288 pixels. This area is divided up into 8x8 groups of pixels. Every 8 bytes of the signature's memory block represents one of these boxes, the first being in the upper left, in the order left-to-right, top-to-bottom (just like reading English). Within each of those 8 byte structures, each byte represents a row within the pixel group, the least significant byte being the topmost row. Each bit within each byte represents a pixel (1 = Black, 0 = White) in that row, with the least significant bit representing the leftmost pixel. So, in order to make an 8x8 group with a one pixel black border, you would use the values: FF 81 81 81 81 81 81 FF. 2 dimensionally represented in binary, this gives you: 11111111 10000001 10000001 10000001 10000001 10000001 10000001 11111111 For a 2 pixel wide stripe down the left side, you use: 03 03 03 03 03 03 03 03 11000000 11000000 11000000 11000000 11000000 11000000 11000000 11000000 It's important to remember that the DS uses whichever Endian (I think it's Little) puts the bits in the reverse order that we read them, with the least significant bits to the left. 192 of these groups are assembled to form the image that makes your signature.
  6. Shiny Pokémon

    Intro This page is concerning shiny pokemon. Information on these rare creatures is scattered about all over the web. I thought that it might be a good idea to have this information located in one place for our users. General Information Shiny Pokemon are Pokemon with a different color scheme then normal ones. They are extremely rare and commonly sought after because of their rarity. Shiny Pokemon have a different color scheme and are different from other shiny Pokemon. A shiny Drifloon would not have the same colors as a shiny Pikachu, for example. A shiny Drifloon is yellow where it would normally be purple, and blue where it would normally be. A shiny pikachu is red instead of yellow. Apart from the coloration, a shiny Pokemon will have a red star and Pokedex number its summary screen. Location There is no location, throughout any of the games, that has a higher rate of encountering shiny Pokemon. This is a commonly asked question among those seeking shiny Pokemon; however, a place like this does not exist. The chances are of finding a shiny Pokemon are consistent and small (the exact chance is 1/8192). Increasing the Odds Through use of the Pokeradar, a trainer can dramatically improve his odds of encountering a shiny Pokemon. This is done by attempting to encounter the same species of Pokemon consecutively, a process often referred to as "chaining." With every Pokemon encountered, the chance of finding a shiny Pokemon rises. Using a Poketch app and the Repel item, trainers can extend the length of their "chain" to forty or more consecutive Pokemon. "Chaining" In-Depth A more specific guide to "chaining" Pokemon: Obtain the Pokeradar from Dawn after completing the Sinnoh-dex. Obtain the Trainer Counter Poketch app from Professor Oak in the Pal Park. Have a large stock of Repels/Super Repels/Max Repels. Go to the route where the desired Pokemon can be found. Use a Repel. Use the Pokeradar and enter a grass patch that moved or flashed. Note whether the patch entered moved or whether it flashed. If the encountered Pokemon is not shiny, defeat it to keep the Pokeradar active. When the Pokeradar goes off again, enter grass of the same type. The best odds of finding consecutive Pokemon lie with patches that are more than four spaces away. Repeat until you have defeated forty Pokemon of the same type. The odds of encountering a shiny Pokemon are now at their highest. Keep reseting the Pokeradar until you see a sparkling patch of grass, which indicates a shiny Pokemon. Types of Patches Basic - These will shake for slightly less than a second. Flashing - These will shake and flash foe slightly less than a second. Sparkling - These always indicate a shiny Pokemon and will sparkle and shake for longer than the Basic and Flashing patches. Shiny Legendary Pokemon Legendary Pokemon can not be "chained" using the Pokeradar. The only way to encounter a shiny Legendary Pokemon is by the original 1/8192 chance. Many trainers save before approaching the Pokemon and reset their games until it appears as a shiny.
  7. Priority

    Move Priority Ever wonder why, despite the massive base speed difference in Pokemon, some Pokemon go first anyway? This has to do with Move Priority. Priority Brackets Moves of a higher Priority bracket always go first against moves of a slower priority bracket. If two Pokemon use a move within the same priority bracket the one with higher speed goes first. Example: If two Pokemon use Roar, the one with higher speed goes first. +7 Using pursuit when your opponent switches ( Is +0 if they do not switch or use Baton pass ), Focus punches charge message appears before switching out. +6 Switching out +5 Helping Hand +4 Snatch and Magic coat +3 Protect, Follow me, Detect, Endure +2 Feint +1 Fake Out, Sucker Punch, Extreme Speed, Bullet punch, Mach punch, Vacuum wave, Ice Shard, Shadow Sneak, Quick attack. =0 Sleep Talk, Me First, Metronome, Mirror move and EVERYTHING ELSE -1 Vital Throw -2 Focus punch -3 Avalanche, Revenge -4 Mirror Coat, Counter -5 Roar, Whirlwind -6 Trick Room Points to take note Moves from a lower priority bracket always go last against moves of a higher priority. Quick claw ( when it activates roughly 1/6 of the time )allows you to go first within a speed bracket. So a =0 move will not out speed a +1 move if quick claw activates, but it will always beat any other =0 move unless the opponent is faster and activates their own quick claw. Think of it as adding +0.5 to the bracket whatever move you used is in. Pursuit is a =0 Priority attack unless the opponent switches, or is faster than you and uses U-turn. ( If they are slower, Pursuit stays at =0 ) Lagging Tail and Full Incense make a move go last, within that speed bracket. If a =0 Move is used, you will always go last against another =0 move. Any moves of a lower priority bracket wills till go last. In the case of Lagging Tail/Full incense against Lagging Tail/Full incense the one with Higher speed goes last. Trick room reverses Speed calculations within a speed bracket, + Priority attacks will still go first, - Priority attacks will still go last. But in the case of same priority brackets ( the majority of attacks are =0 ) Speed is reversed, so slower Pokemon will go before faster ones. ( Essentially 100 speed versus 10 speed means that under normal circumstances the 100 speed Pokemon will go first, but under trick room the 10 speed Pokemon will go first. ) Sleep Talk, Me First, Metronome, Mirror move make whatever move they copy/use/steal =0, so if you metronome or sleep talk a roar it's Priority becomes =0. Sources/Credits All of this has been tested in game by hand, except the [=0... "EVERYTHING ELSE"] which was taken from Smogon's priority list, as I did not have the time to test every move in the game.- Enkidu 09:04, 8 May 2009 (UTC)Enkidu.
  8. X/Y Save Structure

    X/Y Save files are comprised of 4 sections, the latter two storing the contents of the two savegames. The game alternates between the two game saves similar to Generations 3 & 4. Save files are 0x100000 (1MB). The area between sections is either FF or 00, for Cartridges and Digital saves respectively. Single Partition Save File http://3dbrew.org/wiki/Savegames Image Header (0x00000-0x00460) Offset Length Hash Details Description 00000 0x10 0x0: Uses the AES Engine & KeyY AES MAC Header 00100 0x100 0x16C: (SHA256) 0x000-0x12C of active DIFI DISA 00200 0x12C 0x30C: (SHA256) 1st IVFC Hash copied to 0x200 zero array DIFI Blob 1 00330 0x12C 0x43C: (SHA256) 1st IVFC Hash copied to 0x200 zero array DIFI Blob 2 First Partition (0x01000-0x01107) Offset Description 01000 DPFS Partition Save File 1 (0x02000 - 0x6AFFF) (420 KB) Offset Description 02000 IVFC Hash Region 03000 SAVE Header (0x3F0 medias, 0x200 length) = 0x7E000 total 03100 SAVE Data ID Start Length CHK Description 0000 05400 000002C8 6A81A 05400 - Pokepuff Inventory (Index * 100ct) 05464 - u32 Received Counter 0001 05800 00000B88 6A822 05800 - Items Pocket 05E40 - Key Items Pocket 05FC0 - TM Pocket 06168 - Medicine Pocket 06268 - Berry Pocket 0002 06400 0000002C 6A82A Select Bound Items 0003 06600 00000038 6A832 ???? 0004 06800 00000150 6A83A Trainer Stat Tracking 0x06802 - Map ID 0x06810 - X Coordinate (<>) 0x06814 - Y Coordinate (Height) 0x06818 - Z Coordinate (^v) 0x068F4 - Map ID 0x06904 - X Coordinate (<>) 0x06808 - Y Coordinate (Height) 0x0680C - Z Coordinate (^v) 0005 06A00 00000004 6A842 ???? 0006 06C00 00000008 6A84A u32 Time Played + u32 Adventure Started 0007 06E00 000001C0 6A852 Wardrobe (Bitflags) & Saved Outfits (Index #s) 0008 07000 000000BE 6A85A u16/u8 storage 0009 07200 00000024 6A862 FFFFFFFF 000A 07400 00002100 6A86A Overworld Data 0x108 per Overworld Entity 000B 09600 00000140 6A872 Trainer Information ($) 000C 09800 00000440 6A87A Box Names [0x22] Box Name (* 31) [0x01] Box Background *31 [0x03] Background Unlock Flags 000D 09E00 00000574 6A882 Battle Box 000E 0A400 00004E28 6A88A PSS Data - Friends 000F 0F400 00004E28 6A892 PSS Data - Acquaintances 0010 14400 00004E28 6A89A PSS Data - Passerby 0011 19400 00000170 6A8A2 Trainer Card (ID/SID/OT/Greeting) 0012 19600 0000061C 6A8AA Party Members 0013 19E00 00000504 6A8B2 Constant & Event Flags 0x1A0FC-0x1A27B - Event Bitflags (0x180 * 8) 0014 1A400 000006A0 6A8BA Pokedex 0x1A400 - Constant? 0x2F120F17 0x1A004 - u32 counter (?) 0x1A408 - 0x60 Region 1 - Owned Native 0x1A468 - 0x60 Region 2 - Encountered Male 0x1A4C8 - 0x60 Region 3 - Encountered Female 0x1A528 - 0x60 Region 4 - Encountered Male * 0x1A588 - 0x60 Region 5 - Encountered Female * 0x1A5E8 - 0x60 Region 6 - Displayed Male 0x1A648 - 0x60 Region 7 - Displayed Female 0x1A6A8 - 0x60 Region 8 - Displayed Male * 0x1A708 - 0x60 Region 9 - Displayed Female * 0x1A768 - 0x18 Form Bitflag Region 1 - Encountered form 0x1A780 - 0x18 Form Bitflag Region 2 - Encountered form * 0x1A798 - 0x18 Form Bitflag Region 3 - Displayed form 0x1A7B0 - 0x18 Form Bitflag Region 4 - Displayed form * 0x1A7C8 - 0x278 7bit/entry flags (Language) 0x1AA40 - u32 ??? 0? 0x1AA44 - Spinda Spot Pattern (First EC encountered) 0x1AA48 - u32 ??? 0x1AA4C - 0x54 Bitflags - Obtained specimen from Previous Console Era (pre Kalos Game Origin, 1-649) 0015 1AC00 00000644 6A8C2 Sorted Variables 0016 1B400 00000104 6A8CA Fused Zekrom/Reshiram Storage 0017 1B600 00000004 6A8D2 ???? 0018 1B800 00000420 6A8DA ???? 0019 1BE00 00000064 6A8E2 O-Power Flags 001A 1C000 000003F0 6A8EA ???? 001B 1C400 0000070C 6A8F2 User Metadata 1C538 - PSS Outfit 1C548 - Trainer Name 1C564 - Favorite Pokemon 1C567 - Pokemon's Gender 1C56C - Encryption Constant 1C57C - Pokemon's Nickname 001C 1CC00 00000180 6A8FA GTS Upload & Match Criteria 001D 1CE00 00000004 6A902 87B1A23F const 001E 1D000 0000000C 6A90A ???? 001F 1D200 00000048 6A912 Repel Info, (Swarm?) and other overworld info 0020 1D400 00000054 6A91A ???? 0021 1D600 00000644 6A922 WiFi Tournament Data 0022 1DE00 000005C8 6A92A Live Tournament Data 0023 1E400 000002F8 6A932 MAC Address & Network Connection Logging (0x98 per entry) 0024 1E800 00001B40 6A93A Hall of Fame Data (First Game Clear + 15 Latest) 0x48 per Pokemon Slot; capped with 4 bytes at end (total 0x1B4) 0x00 - Species 0x02 - Held Item 0x04 - Move 1 0x06 - Move 2 0x08 - Move 3 0x0A - Move 4 0x0C - Encryption Key 0x10 - TID 0x12 - SID 0x14 - [Nicknamed,1][Shiny,1][Level,7][Gender,2][Form,5] bits 0x16 - Unused 0x18 - Nickname (0x16) + 0x3F80 end 0x30 - Trainer Name (0x16) + 0x3F80 end Last 4 bytes: 0x00 - # of Hall of Fame Victory 0x01 - [Unk,1][Day of Month,5][Month,4][Year,8] bits 0025 20400 000001F4 6A942 Maison Data 205C0 - u16 Current Singles Streak 205C2 - u16 Current Super Singles Streak 205C4 - u16 Best Singles Streak 205C6 - u16 Best Super Singles Streak 205C8 - u16 Current Doubles Streak 205CA - u16 Current Super Doubles Streak 205CC - u16 Best Doubles Streak 205CE - u16 Best Super Doubles Streak 205D0 - u16 Current Triples Streak 205D2 - u16 Current Super Triples Streak 205D4 - u16 Best Triples Streak 205D6 - u16 Best Super Triples Streak 205D8 - u16 Current Rotation Streak 205DA - u16 Current Super Rotation Streak 205DC - u16 Best Rotation Streak 205DE - u16 Best Super Multi Streak 205E0 - u16 Current Multi Streak 205E2 - u16 Current Super Multi Streak 205E4 - u16 Best Multi Streaks 205E6 - u16 Best Super Multi Streak 0026 20600 000001F0 6A94A Daycare Data u32 (Slot 1) Occupied Flag u32 (Slot 1) Steps Taken Since Depositing xE8 (Slot 1) Box EK6 1 u32 (Slot 2) Occupied Flag u32 (Slot 2) Steps Taken Since Depositing2 xE8 (Slot 2) Box EK6 2 u64 Flag (egg available) u64 RNG Seed 0027 20800 00000216 6A952 Index Number Related Data 0028 20C00 00000390 6A95A Berry Field Data (0x18 per tree, 36 trees) 0029 21000 00001A90 6A962 Wondercard Data 0x100 bitflag-card received storage Wondercard slots (0x108 between) 002A 22C00 00000308 6A96A Old Man (Anistar) Pokemon Storage 002B 23000 00000618 6A972 Friend Safari Data 002C 23800 0000025C 6A97A PSS Data 23970 (0x20) - Pokémon Bank (application?) data 002D 23C00 00000834 6A982 PSS Friend Data [0x15]*100 entries 002E 24600 00000318 6A98A Super Training Data 24610 - Mission Best Times (seconds as 4 byte floats)*30 24788 - u32 Species That Scored Best Time*30 24908 - Bag Inventory (12 bags) 002F 24A00 000007D0 6A992 ???? 0030 25200 00000C48 6A99A Pokemon Link Gifts 0x25E44 - u16 checksum (ccitt16, 0xFFFF initial) of 0x25400-0x25E43 0031 26000 00000078 6A9A2 Index Number Related Data 0032 26200 00000200 6A9AA PGL Promotion Gifts 0033 26400 00000C84 6A9B2 ???? 0034 27200 00000628 6A9BA Data Block (Purpose Unknown) u64 Length byte[Length] data 0035 27A00 00034AD0 6A9C2 Box Data (31 Boxes, 30 Slots, 232 bytes each) 0036 5C600 0000E058 6A9CA Picture Data (JPEG Exif Ver 2.2) ~ 5C654 starts the JPEG (FF D8 marker) - Sent to PGL ---- 6A800 00000800 ----- Checksum Storage [0x14] Header: u64 savetime1 & u64 savetime2 (First five bytes Anti-Savegame Restore Secure Value),u16 BEEF magic [0x10] Checksum Entries: u32 len, u16 ID, u16 checksum (ccitt16, 0xFFFF initial) Save File 2 (0x81000 - 0xE9FFF) (420 KB) Same as Game Save 1's offsets; add 0x7F000. IVFC Hash Region SHA256 Hash over a 0x1000 large block (4096 bytes). Start End Hash Location 2020 203F 2000 - First Hash: Copied to 0x200 zero array. 2040 2FFF 2020 - Second Hash: Copied to 0x1000 zero array. 3000 3FFF 2040 4000 4FFF 2060 5000 5FFF 2080 6000 6FFF 20A0 7000 7FFF 20C0 8000 8FFF 20E0 9000 9FFF 2100 A000 AFFF 2120 B000 BFFF 2140 C000 CFFF 2160 D000 DFFF 2180 E000 EFFF 21A0 F000 FFFF 21C0 10000 10FFF 21E0 11000 11FFF 2200 12000 12FFF 2220 13000 13FFF 2240 14000 14FFF 2260 15000 15FFF 2280 16000 16FFF 22A0 17000 17FFF 22C0 18000 18FFF 22E0 19000 19FFF 2300 1A000 1AFFF 2320 1B000 1BFFF 2340 1C000 1CFFF 2360 1D000 1DFFF 2380 1E000 1EFFF 23A0 1F000 1FFFF 23C0 20000 20FFF 23E0 21000 21FFF 2400 22000 22FFF 2420 23000 23FFF 2440 24000 24FFF 2460 25000 25FFF 2480 26000 26FFF 24A0 27000 27FFF 24C0 28000 28FFF 24E0 29000 29FFF 2500 2A000 2AFFF 2520 2B000 2BFFF 2540 2C000 2CFFF 2560 2D000 2DFFF 2580 2E000 2EFFF 25A0 2F000 2FFFF 25C0 30000 30FFF 25E0 31000 31FFF 2600 32000 32FFF 2620 33000 33FFF 2640 34000 34FFF 2660 35000 35FFF 2680 36000 36FFF 26A0 37000 37FFF 26C0 38000 38FFF 26E0 39000 39FFF 2700 3A000 3AFFF 2720 3B000 3BFFF 2740 3C000 3CFFF 2760 3D000 3DFFF 2780 3E000 3EFFF 27A0 3F000 3FFFF 27C0 40000 40FFF 27E0 41000 41FFF 2800 42000 42FFF 2820 43000 43FFF 2840 44000 44FFF 2860 45000 45FFF 2880 46000 46FFF 28A0 47000 47FFF 28C0 48000 48FFF 28E0 49000 49FFF 2900 4A000 4AFFF 2920 4B000 4BFFF 2940 4C000 4CFFF 2960 4D000 4DFFF 2980 4E000 4EFFF 29A0 4F000 4FFFF 29C0 50000 50FFF 29E0 51000 51FFF 2A00 52000 52FFF 2A20 53000 53FFF 2A40 54000 54FFF 2A60 55000 55FFF 2A80 56000 56FFF 2AA0 57000 57FFF 2AC0 58000 58FFF 2AE0 59000 59FFF 2B00 5A000 5AFFF 2B20 5B000 5BFFF 2B40 5C000 5CFFF 2B60 5D000 5DFFF 2B80 5E000 5EFFF 2BA0 5F000 5FFFF 2BC0 60000 60FFF 2BE0 61000 61FFF 2C00 62000 62FFF 2C20 63000 63FFF 2C40 64000 64FFF 2C60 65000 65FFF 2C80 66000 66FFF 2CA0 67000 67FFF 2CC0 68000 68FFF 2CE0 69000 69FFF 2D00 6A000 6AFFF 2D20 Pokepuff Index Numbers Index Name 00 Empty 01 Sweet Basic Pokepuff 02 Mint Basic Pokepuff 03 Citrus Basic Pokepuff 04 Mocha Basic Pokepuff 05 Spice Basic Pokepuff 06 Sweet Frosted Pokepuff 07 Mint Frosted Pokepuff 08 Citrus Frosted Pokepuff 09 Mocha Frosted Pokepuff 0A Spice Frosted Pokepuff 0B Sweet Fancy Pokepuff 0C Mint Fancy Pokepuff 0D Citrus Fancy Pokepuff 0E Mocha Fancy Pokepuff 0F Spice Fancy Pokepuff 10 Sweet Deluxe Pokepuff 11 Mint Deluxe Pokepuff 12 Citrus Deluxe Pokepuff 13 Mocha Deluxe Pokepuff 14 Spice Deluxe Pokepuff 15 Wish Supreme Pokepuff 16 Honor Supreme Pokepuff 17 Spring Supreme Pokepuff 18 Summer Supreme Pokepuff 19 Fall Supreme Pokepuff 1A Winter Supreme Pokepuff Super Training Bag Index Numbers Index Name 00 Empty 01 HP Bag S 02 HP Bag M 03 HP Bag L 04 ATK Bag S 05 ATK Bag M 06 ATK Bag L 07 Def Bag S 08 Def Bag M 09 Def Bag L 0A Sp.A Bag S 0B Sp.A Bag M 0C Sp.A Bag L 0D Sp.D Bag S 0E Sp.D Bag M 0F Sp.D Bag L 10 Speed Bag S 11 Speed Bag M 12 Speed Bag L 13 Strength Bag 14 Toughen Up Bag 15 Swiftness Bag 16 Big-Shot Bag 17 Double-Up Bag 18 Team Flare Bag 19 Reset Bag 1A Soothing Bag Form Dex Index Forms follow the same index as used in the pokémon data structure (i.e. first unown form is "A"...) Mega Pokémon have a flag for non-mega form (regardless of gender) and for mega form. Parenthesis indicates how many form flags there are. Unown (28) Deoxys (4) Shaymin (2) Giratina (2) Rotom (6) Shellos (2) Gastrodon (2) Burmy (3) Wormadan (3) Castform (4) Cherrim (2) Deerling (4) Sawsbuck (4) Meloetta (2) Darmanitan (2) Basculin (2) Kyurem (3) Keldeo (2) Thundurus (2) Tornadus (2) Landorus (2) Vivillion (20) Flabebé (5) Floette (6) Florges (5) Pumkaboo (4) Gourgeist (4) Aegislash (2) Xerneas (2) Venusaur (2) Charizard (3) Blastoise (2) Alakazam (2) Gengar (2) Kangaskhan (2) Pinsir (2) Gyarados (2) Aerodactyl (2) Mewtwo (3) Ampharos (2) Scizor (2) Heracross (2) Houndoom (2) Tyranitar (2) Blaziken (2) Gardevoir (2) Mawile (2) Aggron (2) Medicham (2) Manectric (2) Banette (2) Absol (2) Latias (2) Latios (2) Garchomp (2) Lucario (2) Abomasnow (2) Pokémon Bank (application?) data This region is written every time Pokemon Bank saves. It is a copy of first 0x20 bytes of Pokemon Bank savefile (turtle). Maybe this is used to store information of the last application used with the game, but currently no other application that interacts with XY savegame is known. Offset Description 0x00-0x04 Pokemon Bank unique ID? (seems linked to nnid) 0x05-0x08 Unknown (0x00) 0x09-0x0F Unknown, only present in turtle file (0x00 on game's savegame) 0x10-0x14 Bank usage counter backup (previous counter) 0x15-0x18 Bank usage counter 0x19-0x1F Pokemon Bank signature? (always 48CA0A0002000000)
  9. Platinum Save Structure

    This page is under construction, because previously, there was pretty much NO documentation here. I will add more as I continue my research, but since no one seems keen to volunteer the information, it is based off my own research. Small block offsets Trainer Name - 0x68 8 unsigned 16-bit integers. Each word represents a character in the game's character table. Trainer ID - 0x78 Random unsigned 16-bit integer The visible identification number of a trainer Determines ownership of Pokémon. Secret ID - 0x7A Random unsigned 16-bit integer The hidden identification number of a trainer Determines ownership of Pokémon. Determines variation in the game. Money - 0x7C Unsigned 32-bit integer. Limited to 0xF423F (999,999) Trainer Gender - 0x80 0 if male, 1 if female. Determines ownership of Pokémon. Country of Origin - 0x81 Unsigned 8-bit integer. Determines whether or not Pokémon get an outsider EXP bonus. Countries other than Japan are inferred from D/P/Pt, since the game has only been released in Japanese. 0x1 = 日本語 (Japan) 0x2 = English (US/UK/AU) 0x3 = Français (France/Québec) 0x4 = Italiano (Italy) 0x5 = Deutsch (Germany) 0x7 = Español (Spain/Latin Americas) 0x8 = 한국어 (South Korea) Badges - 0x82 Unsigned 8-bit bitfield Determines what PokéMart items are for sale, what level outsider Pokémon will obey until, and flags certain in-game events. 0x01 = Coal Badge 0x02 = Forest Badge 0x04 = Cobble Badge 0x08 = Fen Badge 0x10 = Relic Badge 0x20 = Mine Badge 0x40 = Icicle Badge 0x80 = Beacon Badge Multiplayer Avatar - 0x83 Unsigned 8-bit integer. Determines the sprite seen by other players in a multi-player environment such as the Union Room. 0x00 = None 0x03 = School Kid 0x05 = Bug Catcher 0x06 = Lass 0x07 = Battle Girl 0x0B = Ace Trainer Male 0x0D = Beauty 0x0E = Ace Trainer Female 0x0F = Roughneck 0x1F = Pop Idol 0x23 = Social 0x25 = Cowgirl 0x2A = Ruin Maniac 0x32 = Black Belt 0x3E = Rich Boy 0x3F = Lady 0x46 = Psychic Please correct if these are wrong, or if there are more. Number of Current Party Pokémon - 0x9C Unsigned 8-bit integer. Note: In my opinion this is actually a 32-bit integer, but only 8 bits of it are ever used. Party Pokémon - 0xA0 The Pokémon in the trainer's party. 6 blocks of 236 byte structures Main article: Pokemon NDS Structure General Items - 0x630 Main article: Other items The items in the Trainer's general Items bag pocket. 165 blocks of 4 byte structures (two bytes for item index, two bytes for quantity) Key Items - 0x8C4 Main article: Key items The items in the Trainer's Key Items bag pocket. 50 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). TMs & HMs - 0x98C Main article: TMs and HMs The items in the Trainer's TMs & HMs bag pocket. 100 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). TMs & HMs are auto-sorted by item index in ascending order. Mail - 0xB1C Main article: Mail The items in the Trainer's Mail bag pocket. 12 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Medicine - 0xB4C Main article: Medicine The items in the Trainer's Medicine bag pocket. 40 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Berries - 0xBEC Main article: Berries The items in the Trainer's Berries bag pocket. 64 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Berries are auto-sorted by item index in ascending order. Balls - 0xCEC Main article: Pokéballs The items in the Trainer's Balls bag pocket. 15 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Battle Items - 0xD28 Main article: Battle items The items in the Trainer's Battle Items bag pocket. 30 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Starter Pokémon - 0xE0C The Pokédex number of the starter chosen. Unsigned 16-bit integer. Lotto number - 0xE24 Unsigned 16-bit integer. Has obtained lotto prize - 0x1141 1 if obtained, 0 if not yet obtained. Rival's Name - 0x27E8 8 unsigned 16bit integers. Each word represents a character in the game's character table. Safari Zone Pokémon - 0x7F24 Unsigned 32bit integer result from the ARNG. Four daily safari zone Pokémon Indexn = ( ARNG >> ( n * 0x5 ) ) & 0x1F List of Safari Zone Pokémon Notes: Both Safari Zone Pokémon and Swarm Pokémon have the same ARNG value. Swarm Pokémon - 0x7F28 Unsigned 32bit integer result from the ARNG. One daily swarm Pokémon Index = ARNG % 0x1C List of Swarm Pokémon Notes: Both Safari Zone Pokémon and Swarm Pokémon have the same ARNG value. Daily Trophy Pokémon Today - 0x7F30 Unsigned 8bit integer First daily trophy garden Pokémon List of Daily Trophy Pokémon Daily Trophy Pokémon Yesterday - 0x7F32 Unsigned 8bit integer Second daily trophy garden Pokémon List of Daily Trophy Pokémon Notes: Yesterday's Pokémon can be caught after beating the Elite 4 and receiving the National Pokédex upgrade. Honey Trees - 0x7F38 21 blocks of 8byte structures List of Honey Tree locations Main article: Honey Trees
  10. ORAS Save Structure

    OR/AS Save files are comprised of 4 sections, the latter two storing the contents of the two savegames. The structure of the save is extremely similar to Pokemon X/Y's, with the majority of structural changes being the shifting of the positions of partitions. The game alternates between the two game saves similar to Generations 3 & 4 and X/Y. Save files are 0x100000 (1MB). The area between sections is either FF or 00, for Cartridges and Digital saves respectively. Single Partition Save File http://3dbrew.org/wiki/Savegames Image Header (0x00000-0x00460) Offset Length Hash Details Description 00000 0x10 0x0: Uses the AES Engine & KeyY AES MAC Header 00100 0x100 0x16C: (SHA256) 0x000-0x12C of active DIFI DISA 00200 0x12C 0x30C: (SHA256) 1st IVFC Hash copied to 0x200 zero array DIFI Blob 1 00330 0x12C 0x43C: (SHA256) 1st IVFC Hash copied to 0x200 zero array DIFI Blob 2 First Partition (0x01000-0x01107) Offset Description 01000 DPFS Partition Save File 1 (0x02000 - 0x75FFF) (420 KB) Offset Description 02000 IVFC Hash Region 03000 SAVE Header (0x3F0 medias, 0x200 length) = 0x7E000 total 03100 SAVE Data ID Start Length CHK Description 0000 5400 000002C8 75E1A 05400 - Pokepuff Inventory (Index * 100ct) 05464 - u32 Received Counter 0001 5800 00000B90 75E22 05800 - Items Pocket 05E40 - Key Items Pocket 05FC0 - TM Pocket 06170- Medicine Pocket 06270 - Berry Pocket 0002 6400 0000002C 75E2A Select Bound Items 0003 6600 00000038 75E32 ???? 0004 6800 00000150 75E3A Trainer Stat Tracking 0005 6A00 00000004 75E42 ???? 0006 6C00 00000008 75E4A u32 Time Played + u32 Adventure Started 0007 6E00 000001C0 75E52 Wardrobe (Bitflags) & Saved Outfits (Index #s) - Unused in ORAS 0008 7000 000000BE 75E5A u16/u8 storage 0009 7200 00000024 75E62 FFFFFFFF 000A 7400 00002100 75E6A Overworld Data 0x108 per Overworld Entity 000B 9600 00000130 75E72 Trainer Information ($) 000C 9800 00000440 75E7A Box Names [0x22] Box Name (* 31) [0x01] Box Background *31 [0x03] Background Unlock Flags 000D 9E00 00000574 75E82 Battle Box 000E A400 00004E28 75E8A PSS Data - Friends 000F F400 00004E28 75E92 PSS Data - Acquaintances 0010 14400 00004E28 75E9A PSS Data - Passerby 0011 19400 00000170 75EA2 Trainer Card (ID/SID/OT/Greeting) 0012 19600 0000061C 75EAA Party Members 0013 19E00 00000504 75EB2 Constant & Event Flags 19E78 - Ash Counter 0x1A0FC-0x1A27B - Event Bitflags (0x180 * 8) 0014 1A400 000011CC 75EBA Pokedex & Encounter Count 0x1A400 - Constant? 0x2F120F17 0x1A004 - u32 counter (?) 0x1A408 - 0x60 Region 1 - Owned 0x1A468 - 0x60 Region 2 - Encountered Male 0x1A4C8 - 0x60 Region 3 - Encountered Female 0x1A528 - 0x60 Region 4 - Encountered Male * 0x1A588 - 0x60 Region 5 - Encountered Female * 0x1A5E8 - 0x60 Region 6 - Displayed Male 0x1A648 - 0x60 Region 7 - Displayed Female 0x1A6A8 - 0x60 Region 8 - Displayed Male * 0x1A708 - 0x60 Region 9 - Displayed Female * 0x1A768 - 0x26 Form Bitflag Region 1 - Encountered form 0x1A78E - 0x26 Form Bitflag Region 2 - Encountered form * 0x1A7B4 - 0x26 Form Bitflag Region 3 - Displayed form 0x1A7DA - 0x26 Form Bitflag Region 4 - Displayed form* 0x1A800 - 0x27C 7bit/entry flags (Language) 0x1AA7C - u32 ??? 0? 0x1AA80 - Spinda Spot Pattern (First EC encountered) 0x1AA86 - Encounter Counts 0015 1B600 00000644 75EC2 Sorted Variables 0016 1BE00 00000104 75ECA Fused Zekrom/Reshiram Storage 0017 1C000 00000004 75ED2 ???? 0018 1C200 00000420 75EDA ???? 0019 1C800 00000064 75EE2 O-Power Flags 001A 1CA00 000003F0 75EEA ???? 001B 1CE00 0000070C 75EF2 User Metadata 001C 1D600 00000180 75EFA GTS Upload & Match Criteria 001D 1D800 00000004 75F02 87B1A23F const 001E 1DA00 0000000C 75F0A ???? 001F 1DC00 00000048 75F12 Repel Info, (Swarm?) and other overworld info 0020 1DE00 00000054 75F1A ???? 0021 1E000 00000644 75F22 WiFi Tournament Data 0022 1E800 000005C8 75F2A Live Tournament Data 0023 1EE00 000002F8 75F32 MAC Address & Network Connection Logging (0x98 per entry) 0024 1F200 00001B40 75F3A Hall of Fame Data (First Game Clear + 15 Latest) 0x48 per Pokemon Slot; capped with 4 bytes at end (total 0x1B4) 0x00 - Species 0x02 - Held Item 0x04 - Move 1 0x06 - Move 2 0x08 - Move 3 0x0A - Move 4 0x0C - Encryption Key 0x10 - TID 0x12 - SID 0x14 - [Nicknamed,1][Shiny,1][Level,7][Gender,2][Form,5] bits 0x16 - Unused 0x18 - Nickname (0x16) + 0x3F80 end 0x30 - Trainer Name (0x16) + 0x3F80 end Last 4 bytes: 0x00 - # of Hall of Fame Victory 0x01 - [Unk,1][Day of Month,5][Month,4][Year,8] bits 0025 20E00 000001F4 75F42 Maison Data 205C0 - u16 Current Singles Streak 205C2 - u16 Current Super Singles Streak 205C4 - u16 Best Singles Streak 205C6 - u16 Best Super Singles Streak 205C8 - u16 Current Doubles Streak 205CA - u16 Current Super Doubles Streak 205CC - u16 Best Doubles Streak 205CE - u16 Best Super Doubles Streak 205D0 - u16 Current Triples Streak 205D2 - u16 Current Super Triples Streak 205D4 - u16 Best Triples Streak 205D6 - u16 Best Super Triples Streak 205D8 - u16 Current Rotation Streak 205DA - u16 Current Super Rotation Streak 205DC - u16 Best Rotation Streak 205DE - u16 Best Super Multi Streak 205E0 - u16 Current Multi Streak 205E2 - u16 Current Super Multi Streak 205E4 - u16 Best Multi Streaks 205E6 - u16 Best Super Multi Streak 0026 21000 000003E0 75F4A Daycare Data (Larger than XY) u32 (Slot 1) Occupied Flag u32 (Slot 1) Steps Taken Since Depositing1 xE8 (Slot 1) Box EK6 1 u32 (Slot 2) Occupied Flag u32 (Slot 2) Steps Taken Since Depositing2 xE8 (Slot 2) Box EK6 2 u64 Flag (egg available) u64 RNG Seed 0027 21400 00000216 75F52 Index Number Related Data 0028 21800 00000640 75F5A Berry Field Data (0x10 per tree, 100 trees) 0029 22000 00001A90 75F62 Wondercard Data 0x100 bitflag-card received storage Wondercard slots (0x108 between) 002A 23C00 00000400 75F6A SUBE data (XY: Old Man) - purpose unknown. 002B 24000 00000618 75F72 Friend Safari Data 002C 24800 0000025C 75F7A PSS Data 24970 (0x20) - Pokemon Bank (application?) data 002D 24C00 00000834 75F82 PSS Friend Data [0x15]*100 entries 002E 25600 00000318 75F8A Super Training Data 24610 - Mission Best Times (seconds as 4 byte floats)*30 24788 - u32 Species That Scored Best Time*30 24908 - Bag Inventory (12 bags) 002F 25A00 000007D0 75F92 ???? 0030 26200 00000C48 75F9A Pokemon Link Gifts 0x25E44 - u16 checksum (ccitt16, 0xFFFF initial) of 0x25400-0x25E43 0031 27000 00000078 75FA2 Index Number Related Data 0032 27200 00000200 75FAA PGL Promotion Gifts 0033 27400 00000C84 75FB2 ???? 0034 28200 00000628 75FBA Data Block (Purpose Unknown) u64 Length byte[Length] data 0035 28A00 00000400 75FC2 Contest Data 0036 28E00 00007AD0 75FCA Secret Base (Favorites) 0037 30A00 000078B0 75FD2 Secret Base (Passerby) & Passerby Event Values 0038 38400 00034AD0 75FDA Box Data (31 Boxes, 30 Slots, 232 bytes each) 0039 6D000 0000E058 75FE2 Picture Data (JPEG Exif Ver 2.2) ---- 75E00 00000800 ----- Checksum Storage [0x14] Header: u64 savetime1 & u64 savetime2 (First five bytes Anti-Savegame Restore Secure Value), u16 BEEF magic [0x10] Checksum Entries: u32 len, u16 ID, u16 checksum (ccitt16, 0xFFFF initial) Save File 2 (0x81000 - 0xF1FFF) (420 KB) Same as Game Save 1's offsets; add 0x7F000. IVFC Hash Region SHA256 Hash over a 0x1000 large block (4096 bytes). Start End Hash Location 2020 203F 2000 - First Hash: Copied to 0x200 zero array. 2040 2FFF 2020 - Second Hash: Copied to 0x1000 zero array. 3000 3FFF 2040 4000 4FFF 2060 5000 5FFF 2080 6000 6FFF 20A0 7000 7FFF 20C0 8000 8FFF 20E0 9000 9FFF 2100 A000 AFFF 2120 B000 BFFF 2140 C000 CFFF 2160 D000 DFFF 2180 E000 EFFF 21A0 F000 FFFF 21C0 10000 10FFF 21E0 11000 11FFF 2200 12000 12FFF 2220 13000 13FFF 2240 14000 14FFF 2260 15000 15FFF 2280 16000 16FFF 22A0 17000 17FFF 22C0 18000 18FFF 22E0 19000 19FFF 2300 1A000 1AFFF 2320 1B000 1BFFF 2340 1C000 1CFFF 2360 1D000 1DFFF 2380 1E000 1EFFF 23A0 1F000 1FFFF 23C0 20000 20FFF 23E0 21000 21FFF 2400 22000 22FFF 2420 23000 23FFF 2440 24000 24FFF 2460 25000 25FFF 2480 26000 26FFF 24A0 27000 27FFF 24C0 28000 28FFF 24E0 29000 29FFF 2500 2A000 2AFFF 2520 2B000 2BFFF 2540 2C000 2CFFF 2560 2D000 2DFFF 2580 2E000 2EFFF 25A0 2F000 2FFFF 25C0 30000 30FFF 25E0 31000 31FFF 2600 32000 32FFF 2620 33000 33FFF 2640 34000 34FFF 2660 35000 35FFF 2680 36000 36FFF 26A0 37000 37FFF 26C0 38000 38FFF 26E0 39000 39FFF 2700 3A000 3AFFF 2720 3B000 3BFFF 2740 3C000 3CFFF 2760 3D000 3DFFF 2780 3E000 3EFFF 27A0 3F000 3FFFF 27C0 40000 40FFF 27E0 41000 41FFF 2800 42000 42FFF 2820 43000 43FFF 2840 44000 44FFF 2860 45000 45FFF 2880 46000 46FFF 28A0 47000 47FFF 28C0 48000 48FFF 28E0 49000 49FFF 2900 4A000 4AFFF 2920 4B000 4BFFF 2940 4C000 4CFFF 2960 4D000 4DFFF 2980 4E000 4EFFF 29A0 4F000 4FFFF 29C0 50000 50FFF 29E0 51000 51FFF 2A00 52000 52FFF 2A20 53000 53FFF 2A40 54000 54FFF 2A60 55000 55FFF 2A80 56000 56FFF 2AA0 57000 57FFF 2AC0 58000 58FFF 2AE0 59000 59FFF 2B00 5A000 5AFFF 2B20 5B000 5BFFF 2B40 5C000 5CFFF 2B60 5D000 5DFFF 2B80 5E000 5EFFF 2BA0 5F000 5FFFF 2BC0 60000 60FFF 2BE0 61000 61FFF 2C00 62000 62FFF 2C20 63000 63FFF 2C40 64000 64FFF 2C60 65000 65FFF 2C80 66000 66FFF 2CA0 67000 67FFF 2CC0 68000 68FFF 2CE0 69000 69FFF 2D00 6A000 6AFFF 2D20 6B000 6BFFF 2D40 6C000 6CFFF 2D60 6D000 6DFFF 2D80 6E000 6EFFF 2DA0 6F000 6FFFF 2DC0 70000 70FFF 2DE0 71000 71FFF 2E00 72000 72FFF 2E20 73000 73FFF 2E40 74000 74FFF 2E60 75000 75FFF 2E80 Pokepuff Index Numbers Index Name 00 Empty 01 Sweet Basic Pokepuff 02 Mint Basic Pokepuff 03 Citrus Basic Pokepuff 04 Mocha Basic Pokepuff 05 Spice Basic Pokepuff 06 Sweet Frosted Pokepuff 07 Mint Frosted Pokepuff 08 Citrus Frosted Pokepuff 09 Mocha Frosted Pokepuff 0A Spice Frosted Pokepuff 0B Sweet Fancy Pokepuff 0C Mint Fancy Pokepuff 0D Citrus Fancy Pokepuff 0E Mocha Fancy Pokepuff 0F Spice Fancy Pokepuff 10 Sweet Deluxe Pokepuff 11 Mint Deluxe Pokepuff 12 Citrus Deluxe Pokepuff 13 Mocha Deluxe Pokepuff 14 Spice Deluxe Pokepuff 15 Wish Supreme Pokepuff 16 Honor Supreme Pokepuff 17 Spring Supreme Pokepuff 18 Summer Supreme Pokepuff 19 Fall Supreme Pokepuff 1A Winter Supreme Pokepuff Super Training Bag Index Numbers Index Name 00 Empty 01 HP Bag S 02 HP Bag M 03 HP Bag L 04 ATK Bag S 05 ATK Bag M 06 ATK Bag L 07 Def Bag S 08 Def Bag M 09 Def Bag L 0A Sp.A Bag S 0B Sp.A Bag M 0C Sp.A Bag L 0D Sp.D Bag S 0E Sp.D Bag M 0F Sp.D Bag L 10 Speed Bag S 11 Speed Bag M 12 Speed Bag L 13 Strength Bag 14 Toughen Up Bag 15 Swiftness Bag 16 Big-Shot Bag 17 Double-Up Bag 18 Team Flare Bag 19 Reset Bag 1A Soothing Bag Form Dex Index Forms follow the same index as used in the pokémon data structure (i.e. first unown form is "A"...) Mega Pokémon have a flag for non-mega form (regardless of gender) and for mega form. Parenthesis indicates how many form flags there are. Unown (28) Deoxys (4) Shaymin (2) Giratina (2) Rotom (6) Shellos (2) Gastrodon (2) Burmy (3) Wormadan (3) Castform (4) Cherrim (2) Deerling (4) Sawsbuck (4) Meloetta (2) Darmanitan (2) Basculin (2) Kyurem (3) Keldeo (2) Thundurus (2) Tornadus (2) Landorus (2) Vivillion (20) Flabebé (5) Floette (6) Florges (5) Pumkaboo (4) Gourgeist (4) Aegislash (2) Xerneas (2) Venusaur (2) Charizard (3) Blastoise (2) Alakazam (2) Gengar (2) Kangaskhan (2) Pinsir (2) Gyarados (2) Aerodactyl (2) Mewtwo (3) Ampharos (2) Scizor (2) Heracross (2) Houndoom (2) Tyranitar (2) Blaziken (2) Gardevoir (2) Mawile (2) Aggron (2) Medicham (2) Manectric (2) Banette (2) Absol (2) Latias (2) Latios (2) Garchomp (2) Lucario (2) Abomasnow (2) Pikachu (1) 5 unused bits --> (unused cosplay pikachu formes probably?) Cosplay Pikachu (1) Hoopa (2) Beedrill (2) Pidgeot (2) Slowbro (2) Steelix (2) Sceptile (2) Swampert (2) Sableye (2) Sharpedo (2) Camerupt (2) Altaria (2) Glalie (2) Salamence (2) Metagross (2) Rayquaza (2) Lopunny (2) Gallade (2) Audino (2) Diancie (2) Kyogre (2) Groudon (2) Arceus (18) Genesect (5) Furfrow (10) Pokémon Bank (application?) data This region is written every time Pokemon Bank saves. It is a copy of first 0x20 bytes of Pokemon Bank savefile (turtle). Maybe this is used to store information of the last application used with the game, but currently no other application that interacts with ORAS savegame writes this data (Pokémon ORAS Special Demo does not write to this region). Offset Description 0x00-0x04 Pokemon Bank unique ID? (seems linked to nnid) 0x05-0x08 Unknown (0x00) 0x09-0x0F Unknown, only present in turtle file (0x00 on game's savegame) 0x10-0x14 Bank usage counter backup (previous counter) 0x15-0x18 Bank usage counter 0x19-0x1F Pokemon Bank signature? (always 48CA0A0002000000)
  11. Pokémon NDS Save File Checksum

    Pokémon NDS uses a checksum at the footer each block in the save file to ensure consistent data. Diamond & Pearl usage filestream.Seek( 0xC0FE, SeekOrigin.Begin ); GetCheckSum( smallblock1 ); //small block 1 filestream.Seek( 0x1E2DE, SeekOrigin.Begin ); GetCheckSum( bigblock1 ); //big block 1 filestream.Seek( 0x4C0FE, SeekOrigin.Begin ); GetCheckSum( smallblock2 ); //small block 2 filestream.Seek( 0x5E2DE, SeekOrigin.Begin ); GetCheckSum( bigblock2 ); //big block 2 Platinum usage filestream.Seek( 0xCF2A, SeekOrigin.Begin ); GetCheckSum( smallblock1 ); //small block 1 filestream.Seek( 0x1F10E, SeekOrigin.Begin ); GetCheckSum( bigblock1 ); //big block 1 filestream.Seek( 0x4CF2A, SeekOrigin.Begin ); GetCheckSum( smallblock2 ); //small block 2 filestream.Seek( 0x5F10E, SeekOrigin.Begin ); GetCheckSum( bigblock2 ); //big block 2 Determining the seeds public static int[] SeedTable; public static void GetSeeds() { SeedTable = new int[0x100]; int index = 0; int result = 0; do { result = index << 8; int index2 = 0; do { if (((byte)(result>>8) & 0x80)!=0) result = (2 * result )^ 0x1021; else result *= 2; } while (++index2 < 8); SeedTable[index++] = (ushort)(result); } while (index <= 0xFF); } Also a static list can be used with the following values: public static readonly int[] SeedTable = new int[] { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7, 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF, 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE, 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D, 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4, 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC, 0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823, 0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B, 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12, 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A, 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41, 0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49, 0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70, 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78, 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F, 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067, 0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E, 0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256, 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D, 0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C, 0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634, 0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB, 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3, 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A, 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92, 0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9, 0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1, 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8, 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0 }; Determining the checksum data is a byte array for a small block or big block. public ushort GetCheckSum( byte[] data ) { int sum = 0xFFFF; for ( int i = 0; i < data.Length; i++ ) sum = (sum << 8) ^ SeedTable[ (byte)(data[i] ^ (byte)(sum>>8)) ]; return (ushort)sum; }
  12. Pokémon Legality

    Definition Legal (Valid) Pokémon are able to exist naturally in the game without the use of external devices. Illegal Pokémon are not able to exist naturally in the game without the use of external devices. Legitimate (Legit) Pokémon are created without the use of external devices. Because all of these Pokémon are also able to exist naturally in the game, legitimate Pokémon are a subset of legal Pokémon. Although illegal Pokémon can only be created with the use of an external device (they simply cannot exist without the intervention of such a device), legal Pokémon can be created either naturally or through the intervention of an external device. Legitimate Pokémon, however, are always created naturally. Because of the nature of these definitions, it is possible to check for the legality of the Pokémon, but impossible to check for legitimacy. Therefore, there is no objective way to tell whether a Pokémon is truly legitimate or not. Programs such as Legality Checker and pAC can only check for legality, not legitimacy. Examples: A Torterra, originating as a starter Pokémon in the game and raised only in the game is legitimate. A Spiritomb with Wonder Guard is illegal because Spiritomb cannot naturally have Wonder Guard as an ability. The perfect 31 IVs, shiny, docile, Umbreon from the PKM Database is legal because it was created with the use of external devices, however, it could have naturally occurred or existed in the game without the use of an external device. Although it would be extremely rare to encounter such a Pokémon, all aspects of its underlying data could have been generated by the game naturally. Making a legal Pokémon Preparation First, in order to create a Legal Pokémon, the user will need: Pokesav Legality Checker SCV's PID/IV Program Trash Byte Normalizer And will also need a way of transferring Pokémon into your game. Beginning Open Pokesav Open your .sav file Go into the Storage menu on the bottom right corner of the main Pokesav screen and select an available spot in any of your boxes and click Edit At this point, select a Pokémon and the enter desired Trainer ID, Secret ID, Level, Happiness, Name, Held Item, and OT Name. Enter in the correct ability of the chosen Pokémon. Select a valid moveset. Enter desired EVs, but make sure that the sum does not exceed 510 Contest Stats can be anything desired. Marking can be anything desired. Hatched Pokémon Region/Version, choose either Diamond, Pearl, or Platinum Ball Caught With to Pokéball Egg Hatched at to DayCareCouple Met Level to 0 Met at Place to a location that is in the game, where an egg may hatch. Common locations include Route 209. Wild/Caught Pokémon Region/Version, choose either Diamond, Pearl, or Platinum Ball Caught With to any Pokéball that can be purchased at a PokéMart. It is not recommended to use a Master Ball. The Pokémon may not know any moves which can only be learned from hatching. Met at Place to the location where the desired Pokémon can be caught. Met Level and choose a valid level depending on the Met at Place. Consult a Pokédex for this information. Hidden Hex Values section, change 85h according to the method of encounter: 02 – Tall Grass 04 – Dialga/Palkia 05 – Cave/Hall of Origin 07 – Caught in the Water 09 – Catught in Building 0A – Great Marsh 0C – Starters/Fossils PalParked Pokémon Region/Version, choose the GBA Pokémon Game or Colosseum/XD from where the Pokémon may be caught from. Ball Caught With to any Pokéball that can be purchased at a PokéMart. It is not recommended to use a Master Ball. Met at Place to 55 (Pal Park). Met at Level needs to be the level at which the Pokémon migrated. This should not be lower than the level it can be obtained at. Trash Bytes In POKESAV, click on Save in the Storage menu. Name the file and save it somewhere accessible. Drag the saved file (extension is .pkm) over the Trash Byte Normalizer. The program will ask you to press Enter to exit. Click on Load in POKESAV from the Storage menu to import the normalized Pokémon. PID/IV Individual values (IVs) are stat values given at random to Pokémon when they are encountered in the wild. Pokémon which have been bred have a higher predisposition to the individual values of their parents. Both the PID/IV Generator in POKESAV and SCV’s PID/IV Generator will generate a Personality Value (PID) for a given set of IVs. Normal NDS or GBA This type is the most common and will be seen on wild/legend encountered Pokémon in :NDS/GBA games. Wild NDS or GBA This type is less common and will be seen on wild encountered Pokémon in NDS/ GBA :games. It is unclear whether GBA legends will be seen with this type. Uncommon GBA This type is seen uncommonly by wild encountered Pokémon in GBA games. Rare GBA This type is seen rarely by wild encountered Pokémon in GBA games. Very Rare GBA This type is seen in less than 1% of wild encountered Pokémon in GBA games. Ultra Rare GBA This type is seen in less than 0.01% of wild encountered Pokémon in GBA games. Common GBA Event (Restricted) This type is seen with particular promotional GBA Pokémon. Common GBA Event (Unrestricted) This type is seen with particular promotional GBA Pokémon. Note: For more information on Algorithms, check the readme.txt with the Legality download. Using POKESAV Choose the desired IVs and click on PID/IV in POKESAV. Click Generate, look at the algorithms and find the one that matches the Pokémon being created. eg. A wild Starly will be Normal or Wild NDS. The corresponding natures are displayed to the right of the algorithms. Using SCV's IV/PID Generator Open SCV’s PID/IV Generator and select the appropriate option. The program will guide ask various questions relating to the Pokémon. After answering the questions, the program will output legal PIDs. Copy the first one to POKESAV. TIP: Some natures may not yield desired results. Try changing one of the IVs slightly. This will radically alther the given PIDs. Testing the Pokémon In POKESAV, click on Save from the Storage menu Name the file and save it somewhere accessible. Drag the saved file (extension is .pkm file) over the Legality Checker. Make sure nothing says Invalid. The last line, Type should correspond to the algorithm used during the PID/IV stage. Congratulations! The Pokémon is legal and ready to be used! Frequently Asked Questions Will a legal Pokémon work on Pokémon Battle Revolution? A: Yes, if the Pokémon is legal, it will work on PBR. How does a person make a shiny legal Pokémon? A: Select the option for a shiny Pokémon in SCV’s PID/IV Generator. Exporting the Pokémon as an Action-Replay code does not work? A: Due to translation limitations, a second program was created, POKESAVARDSOutput.exe. Load the Pokémon using this version of POKESAV. Will editing an existing Pokémon still be legal? A: Yes, as long as it follows this article. Credits SCV - IV/PID Program Sabresite - Legality Checker and Trash Byte Normalizer coolhbo3K - Definition section Greencat - Creating this article for the guide.
  13. HGSS Save Structure

    Small block offsets Adventure Started - 0x34 Unsigned 32bit integer. Number of seconds since 1/1/2000 00:00:00 Pokémon League Champ Date - 0x3C Unsigned 32bit integer. Number of seconds since 1/1/2000 00:00:00 Trainer Name - 0x64 8 unsigned 16bit integers. Each word represents a character in the game's character table. Trainer ID - 0x74 Random unsigned 16bit integer The visible identification number of a trainer Determines ownership of Pokémon. Secret ID - 0x76 Random unsigned 16bit integer The hidden identification number of a trainer Determines ownership of Pokémon. Determines variation in the game. Money - 0x78 Unsigned 32bit integer. Limited to 0xF423F (999,999) Trainer Gender - 0x7C 0 if male, 1 if female. Determines ownership of Pokémon. Country of Origin - 0x7D Unsigned 8bit integer. Determines whether or not Pokémon get an outsider EXP bonus. Countries other than Japan are inferred from D/P/Pt, since the game has only been released in Japanese. 0x1 = 日本語 (Japan) 0x2 = English (US/UK/AU) 0x3 = Français (France/Québec) 0x4 = Italiano (Italy) 0x5 = Deutsch (Germany) 0x7 = Español (Spain/Latin Americas) 0x8 = 한국어 (South Korea) Johto League Badges - 0x7E Unsigned 8bit bitfield Determines what PokéMart items are for sale, what level outsider Pokémon will obey until, and flags certain in-game events. 0x01 = Zephyr Badge 0x02 = Hive Badge 0x04 = Plain Badge 0x08 = Fog Badge 0x10 = Storm Badge 0x20 = Mineral Badge 0x40 = Glacier Badge 0x80 = Rising Badge Multiplayer Avatar - 0x7F Unsigned 8bit integer. Determines the sprite seen by other players in a multiplayer environment such as the Union Room. 0x00 = None 0x03 = School Kid 0x05 = Bug Catcher 0x06 = Lass 0x07 = Battle Girl 0x0B = Ace Trainer Male 0x0D = Beauty 0x0E = Ace Trainer Female 0x0F = Roughneck 0x1F = Pop Idol 0x23 = Social 0x25 = Cowgirl 0x2A = Ruin Maniac 0x32 = Black Belt 0x3E = Rich Boy 0x3F = Lady 0x46 = Psychic Kanto League Badges - 0x83 Unsigned 8bit bitfield Determines what PokéMart items are for sale, what level outsider Pokémon will obey until, and flags certain in-game events. 0x01 = Boulder Badge 0x02 = Cascade Badge 0x04 = Thunder Badge 0x08 = Rainbow Badge 0x10 = Soul Badge 0x20 = Marsh Badge 0x40 = Volcano Badge 0x80 = Earth Badge Total Playtime - 0x86 Hours = unsigned 16bit integer. Minutes = unsigned 8bit integer. Seconds = unsigned 8bit integer. Number of Current Party Pokémon - 0x94 Unsigned 8bit integer. Party Pokémon - 0x98 The Pokémon in the trainer's party. 6 blocks of 236byte structures Main article: Pokemon NDS Structure General Items - 0x644 Main article: Other items The items in the Trainer's general Items bag pocket. 165 blocks of 4 byte structures (two bytes for item index, two bytes for quantity) Key Items - 0x8D8 Main article: Key items The items in the Trainer's Key Items bag pocket. 43 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). TMs & HMs - 0x9A4 Main article: TMs and HMs The items in the Trainer's TMs & HMs bag pocket. 100 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). TMs & HMs are auto-sorted by item index in ascending order. Mail - 0xB34 Main article: Mail The items in the Trainer's Mail bag pocket. 12 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Medicine - 0xB64 Main article: Medicine The items in the Trainer's Medicine bag pocket. 40 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Berries - 0xC04 Main article: Berries The items in the Trainer's Berries bag pocket. 64 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Berries are auto-sorted by item index in ascending order. Balls - 0xD04 Main article: Pokéballs The items in the Trainer's Balls bag pocket. 24 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Battle Items - 0xD64 Main article: Battle items The items in the Trainer's Battle Items bag pocket. 31 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). First Registered Item - 0xDE0 The first Key items registered for use with the Y button. Unsigned 16bit integer, representing the ID of the item. Second Registered Item - 0xDE2 The first Key items registered for use with a button on the Touch Screen. Unsigned 16bit integer, representing the ID of the item. Starter Pokémon - 0xE44 The Pokédex number of the starter chosen. Unsigned 16bit integer. Map ID Number - 0x1234 Main article: MAP LIST HGSS Unsigned 16bit integer. Player Map X Coordinate - 0x236E Unsigned 16bit integer. Player Map Y Coordinate - 0x2372 Unsigned 16bit integer. Player Map Z Coordinate - 0x2376 Unsigned 16bit integer. Follower Map X Coordinate - 0x23BE Unsigned 16bit integer. Follower Map Y Coordinate - 0x23C2 Unsigned 16bit integer. Follower Map Z Coordinate - 0x23C6 Unsigned 16bit integer. Money held by mother - 0xC0D8 Unsigned 32bit integer. Limited to 0xF423F (999,999) Big block offsets Pokémon in Storage - 0xF700 The Pokémon in Bill's PC. 18 blocks of 4080byte structures (each box contains 30 136byte Pokémon structures). Each box structure is separated by 16 bytes of space (unlike D/P). Main article: Pokemon NDS Structure Box Names - 0x21708 18 blocks of 40byte structures The first 11 words (22 bytes) each word represent a character in the game's character table. Box Wallpapers - 0x219D8 18 bytes, each representing the wallpaper for the corresponding box. 0x20 = Ho-oh 0x21 = Lugia 0x22 = TV 0x23 = Pokéthlon 0x24 = Starters 0x25 = Pichu 0x26 = Ecruteak 0x27 = Team Rocket
  14. Pokémon Dream Radar Save Structure

    Pokémon Dream Radar Save Data Offset Description 0x00-0x03 "0DSC" header tag 0x04-0x67 Unknown 0x68-0x6B Current orbs 0x6C-0x6F Total orbs collected (highscore data) 0x70 Unknown 0x71 Beam upgrade lvl (Value range 0x00-0x04) 0x72 Battery pack upgrade lvl (Value range 0x00-0x04) 0x73 Visoscope upgrade lvl (Value range 0x00-0x04) 0x74 Number of recharged clouds when game was saved 0x75-0x25C Unknown. Transferable pokemon/item data? 0x25D-261 Save date? Unknown format. 0x261-267 Unknown. 0x268 Vortex Charge stored # (range 0x00-0x63) 0x269 Dragnet Charge stored # (range 0x00-0x63) 0x26A Energy Recharge stored # (range 0x00-0x63) 0x26B Unknown. 0x26C Unknown. 0x00 before tutorial, seems to be fixed to 0xFA after tutorial is completed 0x26D-0x26F Extension Unlock Flags 0x271 Unknown. 0x272-0x273 Legendary Catched Flags 0x274-0x277 Has something to do with pink orbs and preferred orb color 0x278-0x27B Has something to do with green orbs and preferred orb color 0x27C-0x27F Has something to do with orange orbs and preferred orb color 0x284-0x283 Has something to do with blue orbs and preferred orb color 0x244-0x287 Unknown. 0x288-0x28B Orb Count until next story event* Resets to 0 after Tornadus, Thundurus or Landorus are catched 0x28C-0x28F Number of searches (highscore data) 0x290-0x293 Number of examined clouds (highscore data) 0x294-0x297 Number of captured Pokémon (highscore data) 0x298-0x29B Number of recovered items (highscore data) 0x29C-0x29F Tornadus capture time (highscore data) 0x2A0-0x2A3 Thundurus capture time (highscore data) 0x2A4-0x2A7 Landorus capture time (highscore data) 0x2A8-0x2AF Unknown 0x2B0-0x2B3 "1DSC" end of file tag *Story events are: Tornadus catched, Thundurus catched, Landorus catched. Note: The game stores somewhere the timestamp when it was saved, so it knows if clouds have been recharged. Flags Pokémon Dream Radar handles unlockable data trough bit flags. Generation V Extension Unlocked Flags Offset 0x26D Bits are represented in the following order: 76543210 0 = locked, 1 = unlocked, x = unknown bit ? | Eureka G completed? | | Eureka B completed? | | | Eureka A completed? | | | | x x x x x x 1 1 | | | | | | | Game Completed flag (unlocks highscores and credits) | | Eureka A? | Eureka B? Eureka G? note: except the game completed flag, the others are linked to story events stored elsewhere; unseting them won't restart the corresponding events. Generation IV Extension Unlocked Flags Offset 0x26E Bits are represented in the following order: 76543210 0 = locked, 1 = unlocked, x = unknown bit ? | Diving | | Rainbow | | | Renegade | | | | x 1 1 1 1 1 x x | | | | | | | Gets set after completing tutorial | | ? | Temporal Spatial Extension flags Offset 0x26F Bits are represented in the following order: 76543210 0 = locked, 1 = unlocked, x = unknown bit Gets set after tutorial is completed | Retrieval | | ? | | | ? | | | | 1 1 x x 1 1 x x | | | | | | | ? | | ? | Dowsing Simulator A,B,G note: even if simulator A,B,G flag is set they won't appear if other game events aren't flagged. Legendary catched flags offset 0x272-0x273 Bits are represented in the following order: 76543210 0 = locked, 1 = unlocked, x = unknown bit 0x272 1 1 1 1 x x x x | | | | | | | | | | | | ? ? ? ? | | | Dialga | | Palkia | Giratina Ho-Oh 0x273 x x x x 1 1 1 1 | | | | | | | | ? ? ? ? | | | | | | | Lugia | | Tornadus | Thundurus Landorus Note: the corresponding extension needs to be available to catch the Pokémon, for Tornadus, Landorus, Thundurus this means the corresponding extension has to be re-enabled.
  15. DP Save Structure

    General Save File Structure A Pokémon Diamond and Pearl save file is divided into two pairs of blocks. Each pair consists of one general block, one storage box block, and one hall of fame block. The storage box block contains current information regarding Bebe's storage system, including stored Pokémon, box names, box wallpapers, and the current open box. The general block contains current information on every other aspect of the game's progress, such as the trainer's name, ID number, acquired badges, party Pokémon, items, and much more. The hall of fame block contains information about the Pokémon used to defeat the Elite 4. The other pair is a backup from the previous save. The first general block in the file begins at 0x00000. The first storage block begins at 0x0C100. The first hall of fame block starts at 0x20000. The second general, storage, and hall of fame blocks are at the same address + 0x40000. The current blocks are not always stored in linear order in the save file (i.e. if the second general block is the more current, the first or second storage box block can possibly be the current as well). Block Footers The last 20 bytes of each general and storage box block is a footer. The last 24 bytes of each hall of fame block is a footer. The footer is used to determine: The size of the block Whether the block is current or a backup. Which big & small blocks link together. General/Storage Box Footer Offset Purpose 0x00 - 0x03 Storage Block Save Count 0x04 - 0x07 General Block Save Count 0x08 - 0x0B Size of block 0x0C - 0x0F Run-time usage 0x10 - 0x11 Run-time usage 0x12 - 0x13 Checksum Hall of Fame Footer Offset Purpose 0x00 - 0x03 Save ID number 0x04 - 0x07 Save index number 0x08 - 0x0B Run-time usage 0x0C - 0x0F Run-time usage 0x10 - 0x13 Size of block 0x14 - 0x15 Run-time usage 0x16 - 0x17 Checksum Loading/Saving A Save File When one starts a new game for the very first time, every byte of the save file is set to 0xFF. The first time the game is saved, the "current" info is written to the second half of the save file. This is important to note when loading a save. When the game loads a save file, it first compares the small block save count of both general blocks. If the general block with the highest save count has a correct checksum, then the game moves on to check the storage blocks. The storage block with the highest storage block save count is chosen first, and if its general block save count matches the currently chosen general block (and has a correct checksum), the file is successfully loaded. If both storage blocks have the same storage block save count, then the storage block with a higher general block save count is chosen instead, and the if the checksum is correct, the file is successfully loaded. If the checksum was incorrect for either block, the game falls on the other pair of general and storage blocks; if the checksums are correct in both, the game reports a save file corruption error, and that is the data loaded. If the checksum in either block is incorrect, the game reports a save file corruption error, and the save file is not loaded. A new game must be started at that point. When the game saves data, the general block save count is incremented + 1. If nothing in the storage block has changed, then no changes are made to the storage block and no further changes are made to the general block. However, if changes have been made to the storage block, then the storage block save count is incremented by 1 in both the storage block and general block footers. At this point, the backup general block is overwritten with the new general block data, and (if changes were made to the storage block), the backup storage block is also overwritten. This is the reason why the game varies on how long it takes to save. Thus, either general block can be linked with either storage block, and the current pair is identified using the footer information. Small block offsets Adventure Started - 0x34 Unsigned 32bit integer. Number of seconds since 1/1/2000 00:00:00 Pokémon League Champ Date - 0x3C Unsigned 32bit integer. Number of seconds since 1/1/2000 00:00:00 Trainer Name - 0x64 8 unsigned 16bit integers. Each word represents a character in the game's character table. Trainer ID - 0x74 Random unsigned 16bit integer The visible identification number of a trainer Determines ownership of Pokémon. Secret ID - 0x76 Random unsigned 16bit integer The hidden identification number of a trainer Determines ownership of Pokémon. Determines variation in the game. Money - 0x78 Unsigned 32bit integer. Limited to 0xF423F (999,999) Trainer Gender - 0x7C 0 if male, 1 if female. Determines ownership of Pokémon. Country of Origin - 0x7D Unsigned 8bit integer. Determines whether or not Pokémon get an outsider EXP bonus. 0x1 = 日本語 (Japan) 0x2 = English (US/UK/AU) 0x3 = Français (France/Québec) 0x4 = Italiano (Italy) 0x5 = Deutsch (Germany) 0x7 = Español (Spain/Latin Americas) 0x8 = 한국어 (South Korea) Badges - 0x7E Unsigned 8bit bitfield Determines what PokéMart items are for sale, what level outsider Pokémon will obey until, and flags certain in-game events. 0x01 = Coal Badge 0x02 = Forest Badge 0x04 = Cobble Badge 0x08 = Fen Badge 0x10 = Relic Badge 0x20 = Mine Badge 0x40 = Icicle Badge 0x80 = Beacon Badge Multiplayer Avatar - 0x7F Unsigned 8bit integer. Determines the sprite seen by other players in a multiplayer environment such as the Union Room. 0x00 = None 0x03 = School Kid 0x05 = Bug Catcher 0x06 = Lass 0x07 = Battle Girl 0x0B = Ace Trainer Male 0x0D = Beauty 0x0E = Ace Trainer Female 0x0F = Roughneck 0x1F = Pop Idol 0x23 = Social 0x25 = Cowgirl 0x2A = Ruin Maniac 0x32 = Black Belt 0x3E = Rich Boy 0x3F = Lady 0x46 = Psychic Total Playtime - 0x86 Hours = unsigned 16bit integer. Minutes = unsigned 8bit integer. Seconds = unsigned 8bit integer. Number of Current Party Pokémon - 0x94 Unsigned 8bit integer. Party Pokémon - 0x98 The Pokémon in the trainer's party. 6 blocks of 236byte structures Main article: Pokemon NDS Structure General Items - 0x624 Main article: Other items The items in the Trainer's general Items bag pocket. 165 blocks of 4 byte structures (two bytes for item index, two bytes for quantity) Key Items - 0x8B8 Main article: Key items The items in the Trainer's Key Items bag pocket. 50 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). TMs & HMs - 0x980 Main article: TMs and HMs The items in the Trainer's TMs & HMs bag pocket. 100 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). TMs & HMs are auto-sorted by item index in ascending order. Mail - 0xB10 Main article: Mail The items in the Trainer's Mail bag pocket. 12 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Medicine - 0xB40 Main article: Medicine The items in the Trainer's Medicine bag pocket. 40 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Berries - 0xBE0 Main article: Berries The items in the Trainer's Berries bag pocket. 64 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Berries are auto-sorted by item index in ascending order. Balls - 0xCE0 Main article: Pokéballs The items in the Trainer's Balls bag pocket. 15 blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Battle Items - 0xD1C Main article: Battle items The items in the Trainer's Battle Items bag pocket. 56 (?) blocks of 4 byte structures (two bytes for item index, two bytes for quantity). Starter Pokémon - 0xDFC The Pokédex number of the starter chosen. Unsigned 16bit integer. Lotto number - 0xE14 Unsigned 16bit integer. Fly Locations - 0x1112 9byte bit field Has obtained lotto prize - 0x1131 1 if obtained, 0 if not yet obtained Pokétch Enabled (?) - 0x114C 0x00 if disabled, can be 0x03 or 0x07 if enabled Number of Pokétch Apps Enabled - 0x114D Max number = 25 (0x19) Currently Selected Pokétch App - 0x114E Pokétch app currently viewed in DS bottom screen. Pokétch apps are ordered like so: 0x00 = Digital Watch 0x01 = Calculator 0x02 = Memo Pad 0x03 = Pedometer 0x04 = Pokémon List 0x05 = Friendship Checker 0x06 = Dowsing Machine 0x07 = Berry Searcher 0x08 = Day-Care Checker 0x09 = Pokémon History 0x0A = Counter 0x0B = Analog Watch 0x0C = Marking Map 0x0D = Link Searcher 0x0E = Coin Toss 0x0F = Move Tester 0x10 = Calendar 0x11 = Dot Artist 0x12 = Roulette 0x13 = Trainer Counter 0x14 = Kitchen Timer 0x15 = Color Changer 0x16 = Matchup Checker 0x17 = Stopwatch 0x18 = Alarm Clock Pokétch Apps Enabled - 0x114F 25 one byte flags, each corresponding to one Pokétch app (in the same order as above) 1 = enabled, 0 = disabled Map ID Number - 0x1238 Main article: List of Maps Unsigned 16bit integer. Sinnoh Pokédex Unlocked - 0x1414 1 if unlocked, 0 if not unlocked. National Pokédex Unlocked - 0x1415 1 if unlocked, 0 if not unlocked. Berry Trees - 0x1E84 128 blocks of 14byte structures List of Berry Tree locations Main article: Berry Trees Rival's Name - 0x25A8 8 unsigned 16bit integers. Each word represents a character in the game's character table. Map X Coordinate - 0x25FA Unsigned 16bit integer. Map Y Coordinate - 0x25FE Unsigned 16bit integer. Map Z Coordinate - 0x2602 Unsigned 16bit integer. Players Met Underground - 0x3A2C Unsigned 32bit integer Max value = 999999 (0xF423F) Spheres Obtained - 0x3A38 Unsigned 32bit integer Max value = 999999 (0xF423F) Fossils Obtained - 0x3A3C Unsigned 32bit integer Max value = 999999 (0xF423F) Gifts Given - 0x3A40 Unsigned 32bit integer Max value = 999999 (0xF423F) Traps Hit - 0x3A44 Unsigned 32bit integer Max value = 999999 (0xF423F) Traps Triggered - 0x3A48 Unsigned 32bit integer Max value = 999999 (0xF423F) Flags Captured - 0x3A60 Unsigned 32bit integer Max value = 999999 (0xF423F) Poffins - 0x5050 98 (?) blocks of 8byte structures 0x00: Poffin Type (Overall flavor?) 0x01: Spicy/Cool Level 0x02: Dry/Beauty Level 0x03: Sweet/Cute Level 0x04: Bitter/Smart Level 0x05: Sour/Tough Level 0x06: Smooth Level 0x07: value is 0 Trainer Card Signature - 0x5904 The signature on the back of the Trainer Card. 192 blocks of 8 byte structures The signature can be changed by speaking to the NPC behind the leftmost counter on the top floor of any Pokémon Center. It is created using the stylus. Main article: Trainer Card Signature Score - 0x5F08 A measure of the player's progress or performance in the game. Unsigned 32bit integer Max value = 999999 (0xF423F) Pokémon Caught - 0x5F2C Unsigned 32bit integer Max value = 999999 (0xF423F) Pokémon Met While Fishing - 0x5F30 Unsigned 32bit integer Max value = 999999 (0xF423F) Pokémon Eggs - 0x5F34 Unsigned 32bit integer Max value = 999999 (0xF423F) Pokémon Defeated - 0x5FAC Unsigned 32bit integer Max value = 999999 (0xF423F) Single Battle Wins - 0x5FCA Unsigned 16bit integer Max value = 9999 (0x270F) Consecutive Single Battle Wins - 0x5FCC Unsigned 16bit integer Max value = 9999 (0x270F) Double Battle Wins - 0x5FCE Unsigned 16bit integer Max value = 9999 (0x270F) Consecutive Double Battle Wins - 0x5FD0 Unsigned 16bit integer Max value = 9999 (0x270F) Multi Battle Wins - 0x5FD2 Unsigned 16bit integer Max value = 9999 (0x270F) Consecutive Multi Battle Wins - 0x5FD4 Unsigned 16bit integer Max value = 9999 (0x270F) Link Multi Battle Wins - 0x5FD6 Unsigned 16bit integer Max value = 9999 (0x270F) Consecutive Link Multi Battle Wins - 0x5FD8 Unsigned 16bit integer Max value = 9999 (0x270F) Wi-Fi Battle Wins - 0x5FDA Unsigned 16bit integer Max value = 9999 (0x270F) Consecutive Wi-Fi Battle Wins - 0x5FDC Unsigned 16bit integer Max value = 9999 (0x270F) Contests Won - 0x5FE2 Unsigned 16bit integer Max value = 9999 (0x270F) Ribbons - 0x5FE6 Unsigned 16bit integer Max value = 9999 (0x270F) Capsules in PC - 0x6050 12 blocks of 24 bytes structures. Battle Points - 0x65F8 Unsigned 16bit integer Max value = 9999 (0x270F) Safari Zone Pokémon - 0x72D0 Unsigned 32bit integer result from the ARNG. Four daily safari zone Pokémon Indexn = ( ARNG >> ( n * 0x5 ) ) & 0x1F List of Safari Zone Pokémon Notes: Both Safari Zone Pokémon and Swarm Pokémon have the same ARNG value. Swarm Pokémon - 0x72D4 Unsigned 32bit integer result from the ARNG. One daily swarm Pokémon Index = ARNG % 0x1C List of Swarm Pokémon Notes: Both Safari Zone Pokémon and Swarm Pokémon have the same ARNG value. Daily Trophy Pokémon Today - 0x72DC Unsigned 8bit integer First daily trophy garden Pokémon List of Daily Trophy Pokémon Daily Trophy Pokémon Yesterday - 0x72DE Unsigned 8bit integer Second daily trophy garden Pokémon List of Daily Trophy Pokémon Notes: Yesterday's Pokémon can be caught after beating the Elite 4 and receiving the National Pokédex upgrade. Honey Trees - 0x72E4 21 blocks of 8byte structures List of Honey Tree locations Main article: Honey Trees GTS Pokémon - 0x73E8 One Pokémon 1 block of 236byte structures The data for the Pokémon currently uploaded to the GTS (if any). Main article: Pokemon NDS Structure
  16. BW Save Structure

    Save Entry The primary save starts at 0x0. The backup save starts at 0x24000. Main Save File & Backup Start End Size Checksum Mirror Description 00000 003DF 3E0 003E2 23F00 Box Names 00400 013EF FF0 013F2 23F02 Box 1 01400 023EF FF0 023F2 23F04 Box 2 02400 033EF FF0 033F2 23F06 Box 3 03400 043EF FF0 043F2 23F08 Box 4 04400 053EF FF0 053F2 23F0A Box 5 05400 063EF FF0 063F2 23F0C Box 6 06400 073EF FF0 073F2 23F0E Box 7 07400 083EF FF0 083F2 23F10 Box 8 08400 093EF FF0 093F2 23F12 Box 9 09400 0A3EF FF0 0A3F2 23F14 Box 10 0A400 0B3EF FF0 0B3F2 23F16 Box 11 0B400 0C3EF FF0 0C3F2 23F18 Box 12 0C400 0D3EF FF0 0D3F2 23F1A Box 13 0D400 0E3EF FF0 0E3F2 23F1C Box 14 0E400 0F3EF FF0 0F3F2 23F1E Box 15 0F400 103EF FF0 103F2 23F20 Box 16 10400 113EF FF0 113F2 23F22 Box 17 11400 123EF FF0 123F2 23F24 Box 18 12400 133EF FF0 133F2 23F26 Box 19 13400 143EF FF0 143F2 23F28 Box 20 14400 153EF FF0 153F2 23F2A Box 21 15400 163EF FF0 163F2 23F2C Box 22 16400 173EF FF0 173F2 23F2E Box 23 17400 183EF FF0 183F2 23F30 Box 24 18400 18DBF 9C0 18DC2 23F32 Inventory 18E00 19333 534 19336 23F34 Party Pokemon 19400 19467 68 19469 23F36 Trainer Data 19500 1959B 9C 1959E 23F38 ??? 19600 1A937 1338 1A93A 23F3A ??? 1AA00 1B1C3 7C4 1B1C6 23F3C ??? 1B200 1BF53 D54 1BF56 23F3E ??? 1C000 1C02B 2C 1C02E 23F40 ??? 1C100 1C757 658 1C75A 23F42 ??? Gym badge data 1C800 1D293 A94 1D296 23F44 ??? 1D300 1D4AB 1AC 1D4AE 23F46 ??? 1D500 1D8EB 3EC 1D8EE 23F48 ??? 1D900 1D95B 5C 1D95E 23F4A ??? 1DA00 1DBDF 1E0 1DBE2 23F4C ??? 1DC00 1DCA7 A8 1DCAA 23F4E ??? 1DD00 1E15F 460 1E162 23F50 ??? 1E200 1F5FF 1400 1F602 23F52 ??? 1F700 1F9A3 2A4 1F9A6 23F54 ??? 1FA00 1FCDB 2DC 1FCDE 23F56 ??? 1FD00 2004B 34C 2004E 23F58 ??? 20100 204EB 3EC 204EE 23F5A ??? 20500 205F7 F8 205FA 23F5C ??? 20600 208FB 2FC 208FE 23F5E ??? 20900 20993 94 20996 23F60 ??? 20A00 20D5B 35C 20D5E 23F62 ??? 20E00 20FCB 1CC 20FCE 23F64 ??? 21000 21167 168 2116A 23F66 ??? 21200 212EB EC 212EE 23F68 ??? 21300 214AF 1B0 214B2 23F6A ??? 21500 2151B 1C 2151E 23F6C ??? 21600 21AD3 4D4 21AD6 23F6E ??? 21B00 21B33 34 21B36 23F70 ??? 21C00 21C3B 3C 21C3E 23F72 ??? 21D00 21EAB 1AC 21EAE 23F74 ??? 21F00 22A8F B90 22A92 23F76 ??? 22B00 22B9B 9C 22B9E 23F78 ??? 22C00 2344F 850 23452 23F7A Entralink Forest pokémon data 23500 23527 28 2352A 23F7C ??? 23600 23883 284 23886 23F7E ??? 23900 2390F 10 23912 23F80 ??? 23A00 23A5B 5C 23A5E 23F82 ??? 23B00 23C6B 16C 23C6E 23F84 ??? 23D00 23D3F 40 23D42 23F86 ??? 23E00 23EFB FC 23EFE 23F88 ??? 23F00 23F8B 8C 23F9A Checksum Block Start and End indexes are inclusive. note: sections might vary in lenght depending on how much data they store (this behavior has been seen at least in trainer data) Gym Badge Obtained Date Gym badge dates are stored starting 1C704 and 407004. Byte 1 is how many years after 2000, Byte 2 is the month, and Byte 3 is the day (Byte 4 is 0, don't know if it has any meaning or if it's part of the year).
  17. B2W2 Save Structure

    Save Entry The primary save starts at 0x0. The backup save starts at 0x26000. Main Save File & Backup Start End Checksum Mirror Description 00000 003DF 003E2 25F00 Box Names 00400 013EF 013F2 25F02 Box 1 01400 023EF 023F2 25F04 Box 2 02400 033EF 033F2 25F06 Box 3 03400 043EF 043F2 25F08 Box 4 04400 053EF 053F2 25F0A Box 5 05400 063EF 063F2 25F0C Box 6 06400 073EF 073F2 25F0E Box 7 07400 083EF 083F2 25F10 Box 8 08400 093EF 093F2 25F12 Box 9 09400 0A3EF 0A3F2 25F14 Box 10 0A400 0B3EF 0B3F2 25F16 Box 11 0B400 0C3EF 0C3F2 25F18 Box 12 0C400 0D3EF 0D3F2 25F1A Box 13 0D400 0E3EF 0E3F2 25F1C Box 14 0E400 0F3EF 0F3F2 25F1E Box 15 0F400 103EF 103F2 25F20 Box 16 10400 113EF 113F2 25F22 Box 17 11400 123EF 123F2 25F24 Box 18 12400 133EF 133F2 25F26 Box 19 13400 143EF 143F2 25F28 Box 20 14400 153EF 153F2 25F2A Box 21 15400 163EF 163F2 25F2C Box 22 16400 173EF 173F2 25F2E Box 23 17400 183EF 183F2 25F30 Box 24 18400 18DEB 18DEE 25F32 Inventory 18E00 19333 19336 25F34 Party Pokemon 19400 194AF 194B2 25F36 Trainer Data 19500 195A7 195AA 25F38 Trainer Position 19600 1A937 1A93A 25F3A Unity Tower and survey stuff 1AA00 1B1C3 1B1C6 25F3C Pal Pad Player Data (30d) 1B200 1BF53 1BF56 25F3E Pal Pad Friend Data 1C000 1C093 1C096 25F40 C-Gear 1C100 1C757 1C75A 25F42 Card Signature Block & ???? 1C800 1D293 1D296 25F44 Mystery Gift 1D300 1D4AB 1D4AE 25F46 Dream World Stuff (Catalog) 1D500 1D8EB 1D8EE 25F48 Chatter 1D900 1D95B 1D95E 25F4A Adventure data http://projectpokemon.org/forums/showthread.php?24589-B2W2-General-ROM-Info&p=167300&viewfull=1#post167300 1DA00 1DBDF 1DBE2 25F4C Trainer Card Records 1DC00 1DCA7 1DCAA 25F4E 1DD00 1E15F 1E162 25F50 (40d) 1E200 1F5FF 1F602 25F52 1F700 1F9A3 1F9A6 25F54 Contains flags and references for downloaded data (Musical) 1FA00 1FADF 1FAE2 25F56 Fused Reshiram/Zekrom Storage 1FB00 1FE4B 1FE4E 25F58 1FF00 203DF 203E2 25F5A Const Data Block and Event Flag Block (0x35E is the split) 20400 204F7 204FA 25F5C 20500 207FB 207FE 25F5E Tournament Block 20800 20893 20896 25F60 20900 20C5B 20C5E 25F62 Battle Box Block 20D00 20ED3 20ED6 25F64 Daycare Block (50d) 20F00 210DF 201E2 25F66 Strength Boulder Status Block 21100 211EF 211F2 25F68 Badge Flags, Money, Trainer Sayings 21200 213B3 213B6 25F6A Entralink (Level & Powers etc) 21400 218DB 218DE 25F6C Pokedex 21900 21933 21936 25F6E Swarm and other overworld info - 2C - swarm, 2D - repel steps, 2E repel type 21A00 21A3B 21A3E 25F70 21B00 21CAB 21CAE 25F72 21D00 2288F 22892 25F74 22900 229AB 229AE 25F76 Online Records 22A00 2324F 23252 25F78 Area NPC data - encrypted (60d) 23300 23583 23586 25F7A 23600 2360F 23612 25F7C 23700 237A7 237AA 25F7E 23800 2396B 2396E 25F80 23A00 23A7F 23A82 25F82 23B00 23BFB 23BFE 25F84 Hollow/Rival Block 23C00 252A7 252AA 25F86 Join Avenue Block 25300 25797 2579A 25F88 Medal data 25800 2585F 25862 25F8A Key-related data 25900 259FB 259FE 25F8C (70d) 25A00 25DE3 25DE6 25F8E 25E00 25EEF 25EF2 25F90 25F00 25F93 25FA2 Checksum Block (73d) Start and End index are inclusive. Download / Extra Content Start End Checksum Mirror Description 4C000 4D913 ~ ~ Battle Video (Native) 4DA00 4F313 ~ ~ Battle Video (1st Download) 4F400 50D13 ~ ~ Battle Video (2nd Download) 50E00 52713 ~ ~ Battle Video (3rd Download) 52800 54DFF 54E02 54F00 C-Gear Background 55800 6D3FF 6D342 6D500 Musical Download (narc download) 6D800 73A03 73A06 73B00 Pokedex Skin 74000 7555B 7555E 75600 Hall of Fame (Main); Extra Checksum 0x75600-0x75603 @ 0x75612 75800 76D5B 76D5E 76E00 Hall of Fame (Backup); Extra Checksum 0x76E00-0x76E03 @ 0x76E12 77000 77511 77512 - Unknown 7A000 7B213 7B216 7B300 PWT Download 1; Extra Checksum @ 0x7B312 7B400 7C613 7C616 7C700 PWT Download 2; Extra Checksum @ 0x7C712 7C800 7DA13 7DA16 7DB00 PWT Download 3; Extra Checksum @ 0x7DB12 7E000 7EA1F Memory Link Data (2 blocks of 0x400 length, extra data afterwards) 7F000 CRGF - GameFreak CRC table - Nintendo 3DS Link data Nintendo 3DS Link Data Start End Checksum Mirror Description 7F010 7F013 ~ ~ Unknown. Value that prevents receiving a Pokémon again? 7F014 7F093 7F094 ~ Nintendo 3DS Link data slots? 4 bytes each slot, can be item/pokémon
  18. Pokerus

    What is Pokérus? Pokérus, is a Pokémon virus, and combined this makes the word Pokérus. Pokémon-virus Poké + rus. Now this disease helps the Pokémon that has it grow faster. However, it doesn't gain experience faster, it gains EVs faster. It actually doubles the EVs, so lets say that... Empoleon-Pokérus fights a Gastly. Of course the Empoleon would gain experience just like normal, but then the EV gain would be doubled. So instead of getting one special attack EV you would get 2 EVs towards special attack. It's really a nice thing to have in training, you could have an awesome level 50 Pokémon that could take down Pokémon that out level you. Where and how do you get Pokérus? There is no specific place that you can get Pokérus, you can get Pokérus from wild Pokémon. You could either luckily catch a Pokémon with Pokérus and then spread it to the rest of your party. If you battle a wild Pokémon that has pokerus, odds are that you are going to get it. You won't know if the wild Pokémon has it until you actually get it. The odds are just a little bit better then encountering a shiny Pokémon. Basically, the odds are not very good. How do I know if I have Pokérus? This is easy, all you have to do is click on your Pokémon's summary and then look up in the top-right corner of your Pokémon's picture and see if there is a purple block there, if there is then on that block should be the letters PKRS Pokérus just abbreviated. Also, if a Pokémon already has Pokérus then there should a smiley face by their picture. What if my Pokémon already has Pokérus but it has a smiley face? In that case then you can no longer spread the disease using that Pokémon. The effects of Pokérus are still working, it just is no longer contagious. How do I spread Pokérus? This is quite simple. I made up a way to do this effectively. Member 1: Pokérus: Member 2: Member 3: Member 4: Member 5: Member 6: So Member 1 has Pokérus have it battle a few times then member 2 should get it which is perfect. Once member 2 has it then switch member 2 and member three around so it will look like this Member 1: Pokérus: Member 3: Member 2: Pokérus: Member 4: Member 5: member 6: Then battle some more and when member 3 gets Pokérus member 4 will too. So then you switch member 3 and member 5. Member 1: Pokérus: Member 5 Member 2: Pokérus: Member 4: Pokérus Member 3: Pokérus: Member 6: Then battle a few more times and all of the Pokémon should have Pokérus in your party. Be warned at midnight any Pokémon with Pokérus in your party will be cured at midnight. If the Pokémon is in your PC, it wont be cured. To keep Pokémon uncured, put them into your party before midnight so they can continue spreading the virus to other Pokémon. This technique was also posted in the EV guide part of the wiki. When does Pokérus stop being contagious? When it's been in your party for 24 hours. Alternatively, it will naturally cure if it's in your party at midnight. Is Pokérus something I want to have? Just in case you missed this, the answer is yes. If you thought it was a bad thing then read through the guide again.
  19. Pokémon Breeding

    Now, as you may know, I [original author, not evandixon] have written a few guides to a few things on the project pokemon forums and I thought this guide was pretty good and in depth so I put it here. I edited it a little to make it more suitable for Wiki. I hope all readers appreciate it and find it helpful EDIT: Sorry, I found it very confusing and not very Wiki, so I put up the guide I wrote and replaced a lot. Not to mention the amount of errors I spotted while editing <.< Intro Lots of people know how to breed, but not quite how to IV breed or what influences what. Here I will break it down into simple steps and lists of what effects breeding and outcomes of it. What Breeding is: Breeding can be your way to get multiples of the same pokemon, or for filling up your Pokedex with Baby Forms, but most importantly breeding is what many players do to get a pokemon for competitive play. Breeding creates legitimate Pokemon, though it takes lots of patience to get something worth while. How it happens: The Day Care Center attendants are positive they have no clue, but most people who are old enough to understand reproduction know what it is. Leave a female Pokemon with a Male (or any with a Ditto) and if they like each other they will breed and create an Egg. If it is in the Ditto Group (Check Below) it could only be bred with a Ditto. If it is classified in the Cannot be Bred Group (Also check below), as the name tells, it cannot be bred. Gender Contributions Females of the pair determine the species of the offspring. So breeding a male Tyranitar with a female Swampert will yeil a baby Mudkip, not a Larvitar. If one of the parents is Ditto, then the offspring's species will match with the other parent's species; that means that you cannot hatch a Ditto. Males of the pair may determine Egg moves so long as the father knows it and the offspring are able to learn it. Egg Moves and TM moves are passed by the males. Females may pass their nature to the offspring by holding an Everstone. This merely increases the chance of the nature being inherited, so other natures may also still be gained. Both parents influence IVs of the offspring. More of this is explained under the IV section. Both parents may pass moves gained by level up so long as both parents know the move and the baby can learn it as well. If the parents are from different games, there is an increases chance of getting a shiny. Egg Groups NOTE: Some Pokemon have multiple egg groups. They can breed with any gender compatible Pokemon that is in any of their egg groups. You can use these Pokemon to help get your egg moves from one group to another, and perfect your chain bred Pokemon. Ditto breeds with every Pokemon that can breed, and the cannot breed section cannot breed with anything. The Ditto egg group Pokemon ONLY breed with Ditto. Plant Abomasnow,Bayleef, Bellossom, Bellsprout, Breloom, Bulbasaur,Cacnea, Cacturne, Carnivine, Cherrim, Cherubi, Chikorita,Exeggcute, Exeggutor,Gloom, Grotle, Hoppip,Ivysaur, Jumpluff,Lombre, Lotad, Ludicolo,Meganium,Nuzleaf, Oddish, Paras, Parasect, Roselia, Roserade Seedot, Shiftry, Shroomish, Skiploom, Snover, Sunflora, Sunkern, Tangela, Tangrowth, Torterra, Tropius, Turtwig, Venusaur, Victreebel, Vileplume, Weepinbell Bug Ariados,Beautifly, Beedrill, Burmy, Butterfree,Cascoon, Caterpie, Combee,Drapion, Dustox,Flygon, Forretress, Gligar, Gliscor, Heracross,Illumise,Kakuna, Kricketot, Kricketune, Ledian, Ledyba,Masquerain, Metapod, Mothim,Nincada, Ninjask,Paras, Parasect, Pineco, Pinsir Scizor, Scyther, Shuckle, Silcoon, Skorupi, Spinarak, Surskit, Trapinch,Venomoth, Venonat, Vespiquen, Vibrava, Volbeat,Weedle, Wormadam, Wurmple,Yanma, Yanmega, Flying Aerodactyl, Altaria, Chatot, Crobat, Dodrio, Doduo, Farfetch'd, Fearow, Golbat, Honchkrow, Hoothoot, Murkrow, Natu, Noctowl, Pelipper, Pidgeot, Pidgeotto, PidgeySkarmory, Spearow, Staraptor, Staravia, Starly, Swablu, Swellow, Taillow, Togekiss, Togetic, Wingull, Xatu, Zubat Humanshape Abra, Alakazam, Buneary, Cacnea, Cacturne, Chimchar, Croagunk, Drowzee, Electabuzz, Electivire, Hariyama, Hitmonchan, Hitmonlee, Hitmontop, Hypno, Illumise, Infernape, Jynx, Kadabra, Lopunny, Lucario, Machamp, Machoke, Machop, Magmar, Magmortar, Makuhita, Medicham, Meditite, Monferno, Mr. Mime, Sableye, Spinda, Toxicroak, Volbeat Mineral Froslass, Geodude, Glalie, Golem, Graveler, Nosepass, Onix, Probopass, Snorunt, Steelix, Sudowoodo Indeterminate Banette,Castform, Chimecho,Drifblim, Drifloon, Dusclops, Dusknoir, Duskull,Gallade, Gardevoir, Gastly, Gastrodon, Gengar, Grimer, Gulpin,Haunter,Kirlia, Koffing,Magcargo, Misdreavus, Mismagius, Muk,Ralts,Shellos, Shuppet, Slugma, Spiritomb, Swalot,Weezing, Wobbuffet Ground Absol, Aipom, Ambipom, Ampharos, Arbok, Arcanine, Bibarel, Bidoof, Blaziken, Buizel, Buneary Camerupt, Chimchar, Combusken, Cyndaquil Delcatty, Delibird, Dewgong, Diglett, Donphan, Dugtrio, Dunsparce Eevee, Ekans, Electrike, Empoleon, Espeon, Exploud Farfetch'd, Flaaffy, Flareon, Floatzel, Furret, Girafarig, Glaceon, Glameow, Golduck, Granbull, Growlithe, Grumpig Hippopotas, Hippowdon, Houndoom, Houndour, Infernape, Jolteon, Kecleon, Leafeon, Linoone, Lopunny, Loudred, Lucario, Luxio, Luxray, Mamoswine, Manectric, Mankey, Mareep, Mawile, Meowth, Mightyena, Miltank, Monferno, Nidoking, Nidoran (F), Nidoran (M), Nidorino, Ninetales, Numel, Nuzleaf, Pachirisu, Persian, Phanpy, Pikachu, Piloswine, Piplup, Ponyta, Poochyena, Primeape, Prinplup, Psyduck, Purugly, Quagsire, Quilava, Raichu, Rapidash,Raticate, Rattata, Rhydon, Rhyhorn, Rhyperior,Sandshrew, Sandslash, Sealeo, Seedot, Seel, Sentret, Seviper, Shiftry, Shinx, Skitty, Skuntank, Slaking, Slakoth, Smeargle, Sneasel, Snubbull, Spheal, Spinda, Spoink, Stantler, Stunky, Swinub Tauros, Teddiursa, Torchic, Torkoal, Typhlosion Umbreon, Ursaring Vaporeon, Vigoroth, Vulpix Wailmer, Wailord, Walrein, Weavile, Whismur, Wooper Zangoose, Zigzagoon Water 1 Azumarill,Bibarel, Bidoof, Blastoise, Buizel,Clamperl, Corphish, Corsola, Crawdaunt, Croconaw Delibird, Dewgong, Dragonair, Dragonite, Dratini,Empoleon,Feebas, Feraligatr, Floatzel Gastrodon, Golduck, Gorebyss,Horsea, Huntail,Kabuto, Kabutops, Kingdra,Lapras, Lombre, Lotad, Ludicolo,Mantine, Marill, Marshtomp, Masquerain, Milotic, Mudkip,Octillery, Omanyte, Omastar Pelipper, Piplup, Politoed, Poliwag, Poliwhirl, Poliwrath, Prinplup, Psyduck,Quagsire,Relicanth, Remoraid Seadra, Sealeo, Seel, Shellos, Slowbro, Slowking, Slowpoke, Spheal, Squirtle, Surskit, Swampert, Totodile,Walrein, Wartortle, Wingull, Wooper Water 2 Barboach, Carvanha, Chinchou,Finneon,Goldeen, Gyarados,Lanturn, Lumineon, Luvdisc,Magikarp, Octillery, Qwilfish, Relicanth, Remoraid, Seaking, Sharpedo, Wailmer, Wailord, Whiscash Water 3 Anorith, Armaldo,Cloyster, Corphish, Corsola, Cradily, Crawdaunt,Drapion,Kabuto, Kabutops, Kingler, Krabby,Lileep,Omanyte, Omastar,Shellder, Skorupi,Tentacool, Tentacruel Monster Abomasnow, Aggron, Ampharos, Aron Bastiodon, Bayleef, Blastoise, Bulbasaur, Charizard, Charmander, Charmeleon, Chikorita, Cranidos, Croconaw, Cubone, Exploud, Feraligatr, Flaaffy Gabite, Garchomp, Gible, Grotle, Grovyle, Ivysaur, Kangaskhan, Lairon, Lapras, Larvitar, Lickilicky, Lickitung, Loudred, Mareep, Marowak, Marshtomp, Meganium, Mudkip, Nidoking, Nidoran (F), Nidoran (M), Nidorino, Pupitar, Rampardos, Rhydon, Rhyhorn, Rhyperior, Sceptile, Shieldon, Slowbro, Slowking, Slowpoke, Snorlax, Snover, Squirtle, Swampert, Torterra, Totodile, Treecko, Tropius, Turtwig, Tyranitar, Venusaur,Wartortle, Whismur Fairy Azumarill, Blissey, Breloom, Castform, Chansey, Cherrim, Cherubi, Clefable, Clefairy, Delcatty, Froslass, Glalie, Granbull, Hoppip, Jigglypuff, Jumpluff, Marill, Mawile, Minun, Pachirisu, Pikachu, Plusle, Raichu, Roselia, Roserade, Shroomish, Skiploom, Skitty, Snorunt, Snubbull, Togekiss, Togetic, Wigglytuff Dragon Altaria, Arbok, Bagon, Charizard, Charmander, Charmeleon, Dragonair, Dragonite, Dratini, Ekans, Feebas, Gabite, Garchomp, Gible, Grovyle, Gyarados, Horsea, Kingdra, Magikarp, Milotic, Salamence, Sceptile, Seadra, Seviper, Shelgon, Swablu, Treecko Cannot breed Arceus, Articuno, Azelf, Azurill, Bonsly, Budew, Celebi, Cleffa, Cresselia,Darkrai, Deoxys, Dialga, Ditto, Elekid, Entei, Giratina, Groudon, Happiny, Heatran, Ho-oh, Igglybuff, Jirachi, Kyrogre, Latias, Latios, Luigia, Magby, Mantyke, Mesprit, Mew, Mewtwo, Mime Jr., Moltres, Munchlax, Nidoqueen, Nidorina, Palkia, Pichu, Raikou, Rayquaza, Regice, Regigigas, Regirock, Registeel, Riolu, Shaymin, Smoochum, Suicune, Togepi, Tyrogue, Unown, Uxie, Wynaut, Zapdos Ditto Baltoy, Beldum, Bronzong, Bronzor,Claydol, Electrode, Lunatone, Magnemite, Magneton, Magnezone, Manaphy, Metagross, Metang, Phione, Porygon, Porygon2, Porygon-Z, Rotom, Shedinja, Solrock, Starmie, Staryu, Voltorb Types of Breeding Ditto: Ditto may be all too useful for breeding, but its only good for when you just need a quick copy or baby. Ditto can breed with anything that has an egg group, any gender, and essentially every Pokemon (Unless they are not allowed to breed; Legends and Babies). They are essential in breeding and you should get at least a few with different natures. Most people use Dittos with different natures to get a Pokemon with the nature they want. Same Species Breeding: Any Pokemon that is the same species (A Pikachu with another Pikachu) will breed so long as one is male and the other is female. Same Family Breeding: By family, this means the evolutionary line. A Pikachu can breed with a Raichu for instance, again so long as one is male and the other is female. Same Egg Group Breeding: Sometimes the hardest, although best for competative play. This means any pokemon in the same egg group can breed so long as one is male and the other is female. So essentially a Skitty and a Wailord can breed because they are both in the same egg groups. This can make for interesting pairing (Zangoose and Seviper are both in the same egg group and yes, they can breed no matter what the pokedex says) There are some pairs of Pokémon species where the male and female are treated as different Pokémon. However, they can breed with each other. The egg will either hatch into a male or a female varient of the species (The Nidorans for instance). Although breeding the male species with Ditto will not produce the female counterpart. Held Item Breeding: Some Pokemon may only produce its baby form when holding a specific item, aka Incense. Passing Moves Down The moves obtained by a Pokémon when hatching are as follows: The Pokémon will start with any moves that it would learn at a level of 5 or lower. The Pokémon will start with any moves that it would learn by leveling up only if both parents know the move. The Pokémon will start with any TM or HM moves that the father knows and the baby can also learn by machine. The Pokémon will start with any Egg moves that the baby can learn and the father knows. Volt Tackle is a special move only learnable by Pichu. When breeding a Pikachu or Raichu holding a Light Ball, the offspring will know the move Volt Tackle. It should be noted that the parent need not know the move itself, and is not required to be of any specific gender; however, a male Pikachu or Raichu has to breed either with a female counterpart or with Ditto so that the offspring is, in fact, a Pichu. The moves will take precedence in the order listed, and if there are more than four moves to learn, the moves will start being overwritten much like when leveling up at the Pokémon Daycare. Importance of Egg Moves Egg moves are sometimes extreemly useful to have on a Pokemon. Rather then having a Pokemon that only knows moves from TMs, Tutors, or from Levelup, Egg Moves can only be bred into a Pokemon and thus make them stronger then a standard wild Pokemon. A Pichu (or one of its evolutionary line) that knows Volt Tackle is a great example of this. Chain Breeding: Chain Breeding is simply breeding multiple Pokemon in different Egg groups that can also breed together. This is also how you get a Pokemon with multiple egg moves. This also includes any breeding done to get a good parent for the final offspring. Breeding a male Smeargle to get good IVs, Sketching Punishment, then breeding with a female Sneasel with good IVs to produce a baby Sneasel with good IVs and Punishment as a move is a quick example. (quick to write, though the time involved for breeding can be hours to weeks depending on luck) IV Breeding: IVs are individual values and they are hidden from the view of the trainer. However with IV calculators you can find on the internet you can find out your pokemon's IVs. These individual values are what makes every pokemon different as far as stats go. The individual values are numbers that range from 0-31 and below is a number for each stat. HP Atk Def Spd Sp Atk Sp Def Depending on the number the pokemon's IV numbers can effect the growth of a pokemon in certain areas of their stats. IVs add their value to the stat slowly throughout leveling. Essentially they can only be seen on level 100 Pokemon as their stats have been maxed for their level. For example, a pokemon with a 31 IV in speed will have 31 more points in speed then one with a 0 IV in Speed. Even a 1 point difference between a 30 IVed Pokemon and 31 IVed Pokemon can make all the difference in compatative play. Many People do not understand this no matter how simple the concept may be, so I'll work it into a really short term at the end. This is based off of DPPT breeding which works the same way as Emerald in most cases. First, a random IV is passed from one of the parents to the baby. Afterwards, a random IV of any stat other than HP, is inherited from either parent to the baby. If this IV is from the same stat as the first IV (not necessarily the same IV value, depending on whether or not the same parent passed it on), it will override it. Finally, another random IV of any stat other than HP and Defense, is passed from one of the parents to the baby. This IV will override any of the previous two if it is from the same stat. The remaining stats (a number ranging from 3 to 5) are determined at random, again with the possibility of one or more IVs coinciding with those of the parents. Simple Term: Some IVs are random, while others are inherited by the parents. So essentially the better IVs the parents have the better chance of getting good IVs on the offspring. Nature Breeding For those of you who want to have a specific nature so that it makes a great match with IV breeding, you have probably thought of: keep breeding and hatching and i'll eventually get a good nature and high IV pokemon. This may cause a lot of stress and will take a long time especially when you want multiples of the same pokemon with good nature/IV's. You can give one of the pokemon you are breeding (if you are breeding a male and female) or the pokemon which is not Ditto (If you are breeding with Ditto) an Everstone. In-game-uses shows that this hold item prevents pokemon from evolving but it also has another use. Holding this item while breeding, will ensure the offspring to have a 50% chance of being the same nature as the nature of the pokemon holding the everstone. Breeding Elite This type of breeding is best left to those who know what they are doing. It involves breeding IVs, Natures, Moves, and the correct Species to get a perfect Pokemon for competative play. Here is my quick example of a legitimate bred pokemon loaded into a ROM for better screenshots: http://img220.imageshack.us/img220/3164/weavileit4.png Its stats are so high because I bred good IVs into it along with training it in Attack and Speed to max out those stats. I also bred in the Egg Move Ice Punch from having a Medicham Father in its line. It learned Ice Shard by level up as a Sneasel, then after it evolved I went to the move tutor to have it remember Night Slash, and Brick Break came from a TM (can also be inherited as an Egg move from the father if it knows a TM or HM move the baby may learn). Its nature was inherited by a female sneasel with the Jolly Nature holding an Everstone. So thats my example of a quick breeding chain using all of the breeding tips and tricks to create a perfect pokemon! (of course, luck is such a huge factor it took about an entire day consisting of much breeding, many sneasels, and lots of calculating) When that egg will be ready for pickup? The rate of your pokemon being able to have an egg relies on your ID number [TID (Trainer ID) and SID (Secret ID)] and the species of the pokemon. You can tell the chances of your pokemon being able to have an egg by talking to the Old Man near the fence. (The DayCare Keeper's Husband) When he is an extra step forward it means that your egg is ready and you will be able to take it if you have a free slot in your party. When that man has your egg ready for hold, you cannot take the pokemon back from the DayCare Lady before you take the egg from the Old Man. Chance Guide: Parents/Pokemon in Day Care are the same species/pokemon and have different ID's The Old man will say: "The two seem to get along very well." The Chance of receiving an egg at the required time for pickup will be 70%. Parents/Pokemon are same species/pokemon and have same ID's OR are different species/pokemon and have different ID's The Old man will say: "The two seem to get along." The Chance of receiving an egg at the required time for pickup will be 50%. Parents/Pokemon are different species/pokemon and have the same ID's The Old man will say "The two don't seem to like each other." The Chance of receiving an egg at the required time for pickup will be 20%. Parents/Pokemon are in different egg groups The Old man will say "They prefer to play with other pokemon than each other." The Chance of receiving an egg at the required time for pickup will be 0%. at the required time for pickup - means that when the time arrives because you need to walk a certain amount of steps before the man is to give you the egg. Hatching that Egg Name: Magma Armor Effect: User cannot be frozen. Field: Eggs in the party with the user hatch in half the time. Name: Flame Body Effect: 30% chance of inflicting a burn on contact. Field: Eggs in the same Party as this Pokemon hatch twice as fast. Slugma and Magcargo are widely considered THE best egg hatchers, because they are readily available in D/P/Pt, and the 2 abilities they have are the 2 above ones. Other then that it takes a variable amount of steps to hatch the egg depending on the species. Generally a tip to keep in mind is when hatching an egg depending on how good the species is will reflect in how long its going to take. Magikarp is generally weak so its fast to hatch, however rare and strong pokemon like Larvitar will take longer. The best places to ride back and forth are: through Solaceon, theres a one step wide path that gives you 123 steps up, then 123 steps down. Its good because you can quickly change the Pokemon in the daycare, and get more eggs as well without flying. SeaBreak Path: This place is ONLY recommended if you have an Action Replay. If you do, then use the run through walls cheat to get through the Victory Road Area, and bike up and down. Its the longest area in a Pokemon game, so its ok if you have easy access to it. Then, there's the Cycling Road. Its nice if your doing something else, because you only have to press up, when you reach the top, it goes down automatically. Floaroma Town Rumor: It is rumored that if you hatch an egg in Floaroma Town (or Hearthome City) it will have a higher chance of being a female. I first believed this rumor was true though I never actually used it, however I did decide to test it after finding a similar rumor just worded differently and with a percentage rather then 100%. After thinking about it I developed a theory that I proved correct with 5 Houndour Eggs. Here is my theory: The contents of a Pokemon egg are generated when you receive it from the Daycare man. All IVs, Nature, Ability, Gender, and Moves are generated when you receive the egg. I only needed one egg, but I tested 5 to be sure. I took the first two eggs and saved after receiving them then hatched them in Floaroma Town. One was male the other was female (I was using Houndours because they have a 50-50 chance of being male or female). I recorded their nature, ability, gender, and stats before soft resetting then hatching the same two eggs elsewhere (Route 210 to be exact). They hatched exactly how I recorded them. One male, one female, with the same nature ability and stats as when they first hatched. The second two eggs I saved before I received them and hatched them in Floaroma Town. Again one was male one was female, so I recorded their gender, nature, stats, and ability before soft resetting and receiving the eggs again to hatch. The second time I hatched the two eggs both were male and had different natures and one had a different ability. The last egg was just a confirmation to be sure my first set of results and both were confirmed along with my theory. I do not know who started this rumor but it has now been tested and proven false! Sorry guys, Floaroma Town is not a magical egg hatching place since the baby's stats are determined when you receive the egg, not when it hatches. Trivia Happiny takes the longest to hatch from an egg In generations II-III, bred Pokemon were hatched at level 5, while you could find Wild Pokemon from level 2. Manaphy is a legendary, yet it both hatches from an egg, and can breed. (However, Phione, the offspring, does not evolve into a Manaphy) Incest is possible in generation IV In the Anime, Ash rescues a baby Lugia named Silver. Yet, Lugia cannot breed.
  20. Pokemon X/Y RomFS GARC List

    /a/0/0/0 /a/0/0/1 /a/0/0/2 /a/0/0/3 /a/0/0/4 /a/0/0/5 /a/0/0/6 /a/0/0/7 Pokemon models /a/0/0/8 /a/0/0/9 /a/0/1/0 /a/0/1/1 /a/0/1/2 Encounters, zonedata /a/0/1/3 /a/0/1/4 /a/0/1/5 /a/0/1/6 /a/0/1/7 /a/0/1/8 /a/0/1/9 /a/0/2/0 /a/0/2/1 /a/0/2/2 /a/0/2/3 /a/0/2/4 /a/0/2/5 /a/0/2/6 /a/0/2/7 /a/0/2/8 /a/0/2/9 /a/0/3/0 /a/0/3/1 /a/0/3/2 /a/0/3/3 /a/0/3/4 /a/0/3/5 /a/0/3/6 /a/0/3/7 /a/0/3/8 /a/0/3/9 /a/0/4/0 Trainer pokemon /a/0/4/1 /a/0/4/2 /a/0/4/3 /a/0/4/4 /a/0/4/5 /a/0/4/6 /a/0/4/7 /a/0/4/8 /a/0/4/9 /a/0/5/0 /a/0/5/1 /a/0/5/2 /a/0/5/3 /a/0/5/4 /a/0/5/5 /a/0/5/6 /a/0/5/7 /a/0/5/8 /a/0/5/9 /a/0/6/0 /a/0/6/1 /a/0/6/2 /a/0/6/3 /a/0/6/4 /a/0/6/5 /a/0/6/6 /a/0/6/7 /a/0/6/8 /a/0/6/9 /a/0/7/0 /a/0/7/1 /a/0/7/2 Text(Japanese, kana) /a/0/7/3 Text(Japanese, kanji) /a/0/7/4 Text(English) /a/0/7/5 Text(French) /a/0/7/6 Text(Italian) /a/0/7/7 Text(German) /a/0/7/8 Text(Spanish) /a/0/7/9 Text(Korean) /a/0/8/0 Script(Japanese, kana) /a/0/8/1 Script(Japanese, kanji) /a/0/8/2 Script(English) /a/0/8/3 Script(French) /a/0/8/4 Script(Italian) /a/0/8/5 Script(German) /a/0/8/6 Script(Spanish) /a/0/8/7 Script(Korean) /a/0/8/8 /a/0/8/9 /a/0/9/0 /a/0/9/1 Apparel animation/UI /a/0/9/2 /a/0/9/3 /a/0/9/4 /a/0/9/5 /a/0/9/6 /a/0/9/7 /a/0/9/8 /a/0/9/9 /a/1/0/0 /a/1/0/1 /a/1/0/2 /a/1/0/3 /a/1/0/4 /a/1/0/5 /a/1/0/6 /a/1/0/7 /a/1/0/8 /a/1/0/9 /a/1/1/0 /a/1/1/1 /a/1/1/2 /a/1/1/3 /a/1/1/4 /a/1/1/5 /a/1/1/6 /a/1/1/7 /a/1/1/8 /a/1/1/9 /a/1/2/0 /a/1/2/1 /a/1/2/2 /a/1/2/3 /a/1/2/4 /a/1/2/5 /a/1/2/6 /a/1/2/7 /a/1/2/8 /a/1/2/9 /a/1/3/0 /a/1/3/1 /a/1/3/2 /a/1/3/3 /a/1/3/4 /a/1/3/5 /a/1/3/6 /a/1/3/7 /a/1/3/8 /a/1/3/9 /a/1/4/0 /a/1/4/1 /a/1/4/2 /a/1/4/3 /a/1/4/4 /a/1/4/5 /a/1/4/6 /a/1/4/7 /a/1/4/8 /a/1/4/9 /a/1/5/0 /a/1/5/1 /a/1/5/2 /a/1/5/3 /a/1/5/4 /a/1/5/5 /a/1/5/6 /a/1/5/7 /a/1/5/8 /a/1/5/9 /a/1/6/0 /a/1/6/1 /a/1/6/2 /a/1/6/3 /a/1/6/4 /a/1/6/5 Title screens /a/1/6/6 /a/1/6/7 /a/1/6/8 /a/1/6/9 /a/1/7/0 /a/1/7/1 /a/1/7/2 /a/1/7/3 /a/1/7/4 /a/1/7/5 /a/1/7/6 /a/1/7/7 /a/1/7/8 /a/1/7/9 /a/1/8/0 /a/1/8/1 /a/1/8/2 /a/1/8/3 /a/1/8/4 /a/1/8/5 Fonts /a/1/8/6 /a/1/8/7 /a/1/8/8 /a/1/8/9 /a/1/9/0 /a/1/9/1 /a/1/9/2 /a/1/9/3 /a/1/9/4 /a/1/9/5 /a/1/9/6 /a/1/9/7 /a/1/9/8 /a/1/9/9 /a/2/0/0 /a/2/0/1 /a/2/0/2 /a/2/0/3 Maison trainer movesets /a/2/0/4 Trainer data /a/2/0/5 Super Maison trainer movesets /a/2/0/6 /a/2/0/7 Inverse battle trainer movesets /a/2/0/8 /a/2/0/9 /a/2/1/0 /a/2/1/1 /a/2/1/2 Move stats /a/2/1/3 Egg moves /a/2/1/4 Level-up moves /a/2/1/5 Evolution Data /a/2/1/6 Mega evolution map /a/2/1/7 /a/2/1/8 Personal.garc /a/2/1/9 Offspring map /a/2/2/0 Item stats /a/2/2/1 /a/2/2/2 /a/2/2/3 /a/2/2/4 /a/2/2/5 /a/2/2/6 /a/2/2/7
  21. Pokémon White U Overlays

    Overlay 114 - GTS SSL stuff? GTS protection (http_rap_evilcheck.c)-prevent non-DS deposits Overlay 175 - Wifi battling stuff- variables, stats, URLs, etc Overlay 121 - Mystery Gift
  22. PKM Structure (X/Y)

    Pokémon in the games Pokémon X and Y are stored in a new 232 byte structure (for the box data only). Party Pokémon hold 28 bytes of additional data for overworld and battle values. We recommend using the pk6 extension for decrypted 232-byte box data and 260-byte party data structures. Checksum / Block Shuffling / Encryption There have been some changes compared to the Generation 4 and Generation 5 structures. First, the LCRNG to decrypt the structure's blocks is now seeded with the Encryption Key at the beginning of the pk6 file. Second, the blocks are now 56 bytes instead of the previous 32. However, the way the blocks are shuffled based on the PID did not change. That said, the shuffling algorithm now uses the Encryption Key at the beginning of the pk6 instead of the PID. Unencrypted Bytes (0x0-0x7) Offset Contents 0x00-0x03 Encryption Key 0x04-0x05 Sanity Placeholder 0x06-0x07 Checksum Encrypted Bytes Block A (0x8-0x3F) Offset Contents 0x08-0x09 National Pokédex ID 0x0A-0x0B Held Item 0x0C-0x0D OT ID 0x0E-0x0F OT Secret ID 0x10-0x13 Experience Points 0x14 Ability 0x15 Ability Number 0x16-0x17 [Hits Remaining] on [Training Bag] 0x18-0x1B Personality value (Also known as the PID) 0x1C Nature 0x1D Bit 0 - Fateful Encounter Flag Bit 1 - Female Bit 2 - Genderless Bit 3-7 - Alternate Forms 0x1E HP Effort Value 0x1F Attack Effort Value 0x20 Defense Effort Value 0x21 Speed Effort Value 0x22 SP Attack Effort Value 0x23 SP Defense Effort Value 0x24 Contest Stat: Cool 0x25 Contest Stat: Beauty 0x26 Contest Stat: Cute 0x27 Contest Stat: Smart 0x28 Contest Stat: Tough 0x29 Contest Stat: Sheen 0x2A Markings 0x2B Pokérus 0x2C-0x2F (Secret) Super Training Gold Medal Flags 0x30-0x35 Ribbons 0x36-0x37 Unused 0x38 Contest Memory Ribbon [Count] 0x39 Battle Memory Ribbon [Count] 0x3A Distribution Super Training Flags 0x3B-0x3F Unused Block B (0x40-0x77) Offset Contents 0x40-0x57 Nickname 0x58-0x59 Null Terminator 0x5A-0x5B Move 1 ID 0x5C-0x5D Move 2 ID 0x5E-0x5F Move 3 ID 0x60-0x61 Move 4 ID 0x62 Move 1 Current PP 0x63 Move 2 Current PP 0x64 Move 3 Current PP 0x65 Move 4 Current PP 0x66-0x69 Move PP Ups 0x6A-0x6B Relearn Move 1 ID 0x6C-0x6D Relearn Move 2 ID 0x6E-0x6F Relearn Move 3 ID 0x70-0x71 Relearn Move 4 ID 0x72 "Secret" Super Training Flag 0 - Missions Unavailable 1 - Missions Available 0x73 Unused 0x74-0x77 Bits 0-29 - Individual Values HP ( [0-31] << 0 ) Attack ( [0-31] << 5 ) Defense ( [0-31] << 10 ) Speed ( [0-31] << 15 ) SP Attack ( [0-31] << 20 ) SP Defense ( [0-31] << 25 ) Bit 30 - IsEgg Flag Bit 31 - IsNicknamed Flag Block C (0x78-0xAF) Offset Contents 0x78-0x8F Latest NotOT Handler Updates Every Trade 0x90-0x91 Null Terminator 0x92 NotOT Gender 0 - Male 1 - Female 0x93 Current Handler 0 - OT 1 - NotOT 0x94-0x95 Geolocation 1 - (Region,Country) 0x96-0x97 Geolocation 2 - (Region,Country) 0x98-0x99 Geolocation 3 - (Region,Country) 0x9A-0x9B Geolocation 4 - (Region,Country) 0x9C-0x9D Geolocation 5 - (Region,Country) 0x9E-0x9F Unused 0xA0-0xA1 Unused 0xA2 NotOT Friendship 0xA3 NotOT Affection 0xA4 NotOT Memory Intensity 0xA5 NotOT Memory Line 0xA6 NotOT Memory Feeling 0xA7 Unused 0xA8-0xA9 NotOT Memory TextVar 0xAA-0xAB Unused 0xAC-0xAD Unused 0xAE Fullness 0xAF Enjoyment Block D (0xB0-0xE7) Offset Contents 0xB0-0xC7 OT Name 0xC8-0xC9 Null Terminator 0xCA OT Friendship 0xCB OT Affection 0xCC OT Memory Intensity 0xCD OT Memory Line 0xCE-0xCF OT Memory TextVar 0xD0 OT Memory Feeling 0xD1-0xD3 Date Egg Received 0xD4-0xD6 Date Met 0xD7 Unknown / Unused 0xD8-0xD9 Egg Location 0xDA-0xDB Met At Location 0xDC Pokéball 0xDD Bit 0-6 - Encounter Level Bit 7 - Female OT Gender 0xDE Encounter Type (Gen 4) 0xDF OT Game ID 0xE0 Country ID 0xE1 Region ID 0xE2 3DS Region ID 0xE3 OT Language ID 0xE4-0xE7 Unused Battle Stats The battle stats are encrypted in the exact same manner as the main pk6 data. The seed is still the Encryption Key. Encrypted Bytes Offset Contents 0xE8 Bits 0-2 - Asleep (0-7 rounds) Bit 3 - Poisoned Bit 4 - Burned Bit 5 - Frozen Bit 6 - Paralyzed Bit 7 - Toxic 0xE9 Unknown - Flags 0xEA-0xEB Unknown / Unused 0xEC Level 0xED Unknown / Unused 0xEE-0xEF Unknown / Unused 0xF0-0xF1 Current HP 0xF2-0xF3 Max HP 0xF4-0xF5 Attack 0xF6-0xF7 Defense 0xF8-0xF9 Speed 0xFA-0xFB Special Attack 0xFC-0xFD Special Defense 0xFE-0xFF Unknown / Unused 0x100-0x103 Unknown / Unused Original Language Value Language 0x1 日本語 (Japan) 0x2 English (US/UK/AU) 0x3 Français (France/Québec) 0x4 Italiano (Italy) 0x5 Deutsch (Germany) 0x7 Español (Spain/Latin Americas) 0x8 한국어 (South Korea) Markings Bit Marking 0x01 Circle 0x02 Triangle 0x04 Square 0x08 Heart 0x10 Star 0x20 Diamond Encounter Types Encounter Types are not used in X/Y. Transferred Pokemon keep their Encounter Type hex. Value Country 0x0 Pal Park, Egg, Hatched, Special Event 0x2 Tall Grass 0x4 Dialga/Palkia In-Game Event 0x5 Cave, Hall of Origin 0x7 Surfing, Fishing 0x9 Building 0xA Great Marsh (Safari Zone) 0xC Starter, Fossil, Gift (Eevee) Medals & Ribbons Super Training Medals Flag Value 0x2C 0x2D 0x2E 0x2F 0x01 Unused Sp. Atk Level 2 Atk Level 3 Follow Those Fleeing Goals! 0x02 Unused HP Level 2 Sp. Def Level 3 Watch Out! That's One Tricky Second Half! 0x04 Sp. Atk Level 1 Atk Level 2 Speed Level 3 An Opening of Lighting-Quick Attacks! 0x08 HP Level 1 Sp. Def Level 2 Def Level 3 Those Long Shots Are No Long Shot! 0x10 Atk Level 1 Speed Level 2 The Troubles Keep on Coming?! Scatterbug Lugs Back! 0x20 Sp. Def Level 1 Def Level 2 The Leaf Stone Cup Begins! A Barrage of Bitbots! 0x40 Speed Level 1 Sp. Atk Level 3 The Fire Stone Cup Begins! Drag Down Hydreigon! 0x80 Def Level 1 HP Level 3 The Water Stone Cup Begins! The Battle for the Best: Version X/Y! Ribbon Set 1 Flag Value 0x30 0x31 0x01 Kalos Champ Ribbon Alert Ribbon 0x02 Champion Ribbon Shock Ribbon 0x04 Sinnoh Champ Ribbon Downcast Ribbon 0x08 Best Friends Ribbon Careless Ribbon 0x10 Training Ribbon Relax Ribbon 0x20 Skillful Battler Ribbon Snooze Ribbon 0x40 Expert Battler Ribbon Smile Ribbon 0x80 Effort Ribbon Gorgeous Ribbon Ribbon Set 2 Flag Value 0x32 0x33 0x01 Royal Ribbon Earth Ribbon 0x02 Gorgeous Royal Ribbon World Ribbon 0x04 Artist Ribbon Classic Ribbon 0x08 Footprint Ribbon Premier Ribbon 0x10 Record Ribbon Event Ribbon 0x20 Legend Ribbon Birthday Ribbon 0x40 Country Ribbon Special Ribbon 0x80 National Ribbon Souvenir Ribbon Ribbon Set 3 Flag Value 0x34 0x01 Wishing Ribbon 0x02 Battle Champion Ribbon 0x04 Regional Champion Ribbon 0x08 National Champion Ribbon 0x10 World Champion Ribbon 0x20 None 0x40 None 0x80 Hoenn Champion Ribbon Ribbon Set 4 Flag Value 0x35 0x01 Contest Star Ribbon 0x02 Coolness Master Ribbon 0x04 Beauty Master Ribbon 0x08 Cuteness Master Ribbon 0x10 Cleverness Master Ribbon 0x20 Toughness Master Ribbon Pokémon Data The 6th generation games use a different system to handle pokemon data in-game. Previously, a pokémon's data (the equivalent of a pkm file) was passed directly into functions that would act upon it to pull out information that would be used by the game engine. Gen 6 uses a higher-level class called pml::pokepara::Accessor that stores multiple pieces of information that describe a pokémon. This class's object size is 14 bytes. Accessor class Offset Type Description 0x0 u32 vtable pointer 0x4 u32 Is pokemon in party (set to 1 if so) 0x8 Poke* Pointer to this pokémon's data 0xC bool Is pokemon data encrypted 0xD bool Encrypt pokémon data
  23. PKM Structure

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

    The save file for Pokémon Mystery Dungeon Explorers of Sky is 128KB and has three root blocks. The first two store the actual data and are 50KB large each. If the checksum on one of the first two blocks is invalid, the other will be loaded. If both are invalid, the save will be deleted. The third block stores some quick save data, including whether or not a quick save has been resumed. Checksum The checksum is 4 bytes long and is at the beginning of any of the three root blocks. To calculate the checksum, split the data from 0x4 to 0xB65A into 4 byte words, add each word together and truncate the result to 32 bits. VB.Net Code to fix the checksum for both sections, where _rawData is an array of byte containing the save file: Public Sub FixChecksum() Dim words As New List(Of UInt32) For count As Integer = 4 To 46682 Step 4 words.Add(BitConverter.ToUInt32(_rawData, count)) Next Dim sum As UInt64 = 0 For Each item In words sum += item Next Dim buffer() As Byte = BitConverter.GetBytes(sum) For x As Byte = 0 To 3 _rawData(x) = buffer(x) _rawData(x + &HC800) = buffer(x) Next End Sub Byte Storage Due to limited storage space, the game has very efficient storage of data. Unused bits are avoided by not necessarily paying attention to byte lines. Ex. 3 variables, one 3 bits, one 4 bits, and one 11 bits might be stored like 11122223 33333333 33000000. In cases where something is compressed like this and is more than just a few bits, it must be retrieved with a modified kind of bit shifting. It will be referred to as "PMD bit shifting" or the "special bit shifting" on this wiki page. C# code to unshift the bytes: static Stream decode(Stream src, int startbit, int bits) { MemoryStream res = new MemoryStream(bits / 8); int srcbit = startbit; int resbit = 0; byte a = srcbit == 0 ? (byte)0 : (byte)(src.ReadByte() >> srcbit); byte b = 0; while (bits-- > 0) { b >>= 1; if ((a & 1) != 0) b |= 0x80; a >>= 1; if (++srcbit == 8) { a = (byte)src.ReadByte(); srcbit = 0; } if (++resbit == 8) { resbit = 0; res.WriteByte(b); } } return res; } Number of Adventures 0x8B70-0x8B73: 32-bit signed integer in little endian format. Team Name &H994E to &H9958, 9 bytes long. It is similar to ANSI, but slightly different, as shown on this chart. Pokémon Storage Pokémon storage begins at 0x464. There are 720 Pokémon slots, each 362 bits long (45 bytes + 2 bits). If the start bit for a Pokémon (relative to 0x464) is not divisible by 8, it must be bit shifted using the special PMD bit shifting, with the start bit being the remainder of the bit offset divided by 8. In other words, 1st Pokémon, don't bit shift. 2nd, PMD bit shift with the start bit 2. 3rd, PMD bit shift with the start bit 4. 4th, PMD bit shift with the start bit 6. 5th, don't bit shift. And so on. Pokémon Structure *.skypkm File A skypkm file contains all the Pokémon data, padded by 6 bits at the beginning of the file (because the file size is 45 bytes and 2 bits; 6 more bits are needed). The reason the 6 bits aren't at the end is so that reading the nickname is easier. Character Encoding This game stores strings in a format similar to ANSI. The following is a list of HEX values paired with the corresponding character. Brackets indicate that the game does not support that character. 00=[END] 01=[$01] 02=[$02] 03=[$03] 04=[$04] 05=[$05] 06=[$06] 07=[$07] 08=[$08] 09=[$09] 0A=[$0A] 0B=[$0B] 0C=[$0C] 0D=[$0D] 0E=[$0E] 0F=[$0F] 10=[$10] 11=[$11] 12=[$12] 13=[$13] 14=[$14] 15=[$15] 16=[$16] 17=[$17] 18=[$18] 19=[$19] 1A=[$1A] 1B=[$1B] 1C=[$1C] 1D=[$1D] 1E=[$1E] 1F=[$1F] 20= 21=! 22=" 23=# 24=$ 25=% 26=& 27=' 28=( 29=) 2A=* 2B=+ 2C=, 2D=- 2E=. 2F=/ 30=0 31=1 32=2 33=3 34=4 35=5 36=6 37=7 38=8 39=9 3A=: 3B=; 3C=< 3D== 3E=> 3F=? 40=@ 41=A 42=B 43=C 44=D 45=E 46=F 47=G 48=H 49=I 4A=J 4B=K 4C=L 4D=M 4E=N 4F=O 50=P 51=Q 52=R 53=S 54=T 55=U 56=V 57=W 58=X 59=Y 5A=Z 5B=[$5B] 5C=\ 5D=] 5E=^ 5F=_ 60=` 61=a 62=b 63=c 64=d 65=e 66=f 67=g 68=h 69=i 6A=j 6B=k 6C=l 6D=m 6E=n 6F=o 70=p 71=q 72=r 73=s 74=t 75=u 76=v 77=w 78=x 79=y 7A=z 7B={ 7C=| 7D=} 7E=[$7E] 7F=[$7F] 80=€ 81=[$81] 82=[$82] 83=[$83] 84=[$84] 85=… 86=† 87=[$87] 88=ˆ 89=‰ 8A=Š 8B=‹ 8C=Œ 8D=[e] 8E=Ž 8F=[è] 90=• 91=‘ 92=’ 93=“ 94=” 95=• 96=[er] 97=[re] 98=~ 99=™ 9A=š 9B=› 9C=œ 9D=• 9E=ž 9F=Ÿ A0= A1=¡ A2=¢ A3=£ A4=¤ A5=¥ A6=¦ A7=§ A8=¨ A9=© AA=ª AB=« AC=¬ AD=­ AE=® AF=¯ B0=° B1=± B2=² B3=³ B4=´ B5=µ B6=¶ B7=„ B8=‚ B9=¹ BA=º BB=» BC=← BD=♂ BE=♀ BF=¿ C0=À C1=Á C2= C3=à C4=Ä C5=Å C6=Æ C7=Ç C8=È C9=É CA=Ê CB=Ë CC=Ì CD=Í CE=Î CF=Ï D0=Ð D1=Ñ D2=Ò D3=Ó D4=Ô D5=Õ D6=Ö D7=× D8=Ø D9=Ù DA=Ú DB=Û DC=Ü DD=Ý DE=Þ DF=ß E0=à E1=á E2=â E3=ã E4=ä E5=å E6=æ E7=ç E8=è E9=é EA=ê EB=ë EC=ì ED=í EE=î EF=ï F0=ð F1=ñ F2=ò F3=ó F4=ô F5=õ F6=ö F7=÷ F8=ø F9=ù FA=ú FB=û FC=ü FD=ý FE=þ FF=ÿ
  25. Rescue Team Save Structure

    These are the differences in two saves: one that was started from scratch then quicksaved as soon as possible, and another where the walking speed was changed then immediately quicksaved. The unknown fields contain information that changed that appears unrelated to the walking speed and probably aren't checksums (this speculation is based on Explorers of Sky's checksum). Small block offsets Held Money - 0x4E6C Unsigned 32-bit integer. Limited to 0x1869F (99,999) Stored Money/Savings - 0x4E6F Unsigned 32-bit integer. Limited to 0x98967F (9,999,999) Team Name - 0x4EC8 10 unsigned 8-bit integers. The characters are encoded in ANSI. Team Rank - 0x4ED3 Unsigned 32-bit integer. 0x00032 - Bronze Rank 0x001F4 - Silver Rank 0x005DC - Gold Rank 0x00BB8 - Platinum Rank 0x01D4C - Diamond Rank 0x03A98 - Lucario Rank Other Offsets are in hex: 0-3: checksum? 420-423: unknown 4EE0-4EE3: unknown 6000-6003: checksum? 6420-6423: Unknown AEE0-AEE4: Unknown 10000-10003: Checksum 10022 bit 2: walking speed