Jump to content

Leaderboard

  1. theSLAYER

    theSLAYER

    Administrator


    • Points

      56

    • Posts

      22394


  2. evandixon

    evandixon

    Administrator


    • Points

      7

    • Posts

      5910


  3. wwwwwwzx

    wwwwwwzx

    Member


    • Points

      2

    • Posts

      10


  4. Bond697

    Bond697

    Former Staff


    • Points

      1

    • Posts

      1358


Popular Content

Showing content with the highest reputation since 11/30/16 in Technical Documents

  1. Animated gifs are from pkparaiso, PLEASE credit them if use use them! Purpose of this listing is for species and forms introduced in Sword & Shield. Presently have no plans to add any pre-Gen 8 mons and forms Alcremie forms
    7 points
  2. This page is an ongoing progress. It's aim is to list: 1. All the Fly-to points 2. Maps not revisited/cannot be re-accessed after certain points in the story 3. Any Discovered unused maps Fly-To List MELEMELE Image Map Coordinates Comments Credits Route 1 Player's House Map: 0 X: 28213.00000 Y: 0.00000 Z: 18490.00000 @Ruby Genseki Route 1 Ten Carat Hill Map: 0 X: 27578.70000 Y: 0.00000 Z: 23023.70000 @Ruby Genseki Route 1 Pokémon Center Map: 0 X: 25831.30000 Y: 0.00000 Z: 19451.80000 @Ruby Genseki Hau'oli City Shopping District Map: 0 X: 8531.50500 Y: 0.00000 Z: 18201.19000 @Ruby Genseki Route 2 Hau'oli Cementery Map: 0 X: 9249.00000 Y: 0.00000 Z: 14015.00000 Ruby Genseki Route 2 Verdant Cave Map: 0 X: 13879.70000 Y: 0.00000 Z: 7593.20000 Ruby Genseki Route 2 Pokémon Center Map: 0 X: 12629.74000 Y: 0.00000 Z: 6490.64200 Ruby Genseki Melemele Meadow Map: 0 X: 19037.60000 Y: 0.00000 Z: 6979.00000 Ruby Genseki Iki Town Map: 0 X: 18122.30000 Y: 0.00000 Z: 13724.60000 Ruby Genseki Ruins of Conflict Map: 5 X: 1394.34100 Y: 0.00000 Z: 794.84900 Ruby Genseki AKALA Image Map Coordinates Comments Credits Heahea City Map: 49 X: 15253.00000 Y: 0.00000 Z: 30524.60000 @Ruby Genseki Paniola Town Map: 49 X: 19373.00000 Y: 0.00000 Z: 22274.00000 Ruby Genseki Paniola Ranch Map: 88 X: 5839.31800 Y: 0.00000 Z: 3327.02000 Ruby Genseki Route 5 Pokémon Center Map: 49 X: 18523.30000 Y: 0.00000 Z: 16331.50000 Ruby Genseki Route 5 Lush Jungle Map: 49 X: 21419.00000 Y: 0.00000 Z: 12238.00000 Ruby Genseki Royal Avenue Pokémon Center Map: 49 X: 23657.00000 Y: 0.00000 Z: 24250.00000 Ruby Genseki Royal Avenue Battle Royal Dome Map: 49 X: 25242.90000 Y: 0.00000 Z: 21598.06000 Ruby Genseki Route 7 Map: 49 X: 28202.00000 Y: 0.00000 Z: 17408.00000 Ruby Genseki Route 8 Map: 49 X: 18486.57000 Y: 0.00000 Z: 10386.39000 Ruby Genseki Route 9 Map: 49 X: 11662.10000 Y: 0.00000 Z: 39963.90000 Ruby Genseki Konikoni City Map: 49 X: 9274.00000 Y: 0.00000 Z: 36830.00000 Ruby Genseki Ruins of Life Map: 50 X: 1911.44400 Y: 0.00000 Z: 1348.00000 Ruby Genseki Hano Grand Resort Map: 49 X: 25156.00000 Y: 0.00000 Z: 30505.00000 Ruby Genseki ULA'ULA Image Map Coordinates Comments Credits Malie City Map: 97 X: 25782.30000 Y: 0.00000 Z: 18065.57000 @Ruby Genseki Mount Hokulani Map: 103 X: 4472.10000 Y: 0.00000 Z: 3077.18800 Ruby Genseki Route 12 Map: 97 X: 31306.50000 Y: 0.00000 Z: 28674.95000 Ruby Genseki Tapu Village Map: 97 X: 12974.91000 Y: 0.00000 Z: 35026.52000 Ruby Genseki Ruins of Abundance Map: 105 X: 1898.42400 Y: 0.00000 Z: 1342.61300 Ruby Genseki Route 16 Map: 97 X: 5835.00000 Y: 0.00000 Z: 24174.50000 Ruby Genseki Lake of the Sunne/Moone Map: 101 X: 6157.06900 Y: 0.00000 Z: 1612.61100 Technically the entrance, outside of the lake. Whichever one you access, depends on: 1. What game you're playing 2. whether you "crossed the portal" Ruby Genseki Po Town Map: 97 X: 9799.90000 Y: 0.00000 Z: 9905.20000 Ruby Genseki Mount Lanakila Map: 119 X: 6702.00000 Y: 0.00000 Z: 10079.00000 Elite Four gate doesn't check your Trial progress, if warped to here. Ruby Genseki PONI Image Map Coordinates Comments Credits Seafolk Village Map: 168 X: 16024.92000 Y: 0.00000 Z: 17538.70000 @Ruby Genseki Exeggutor Island Map: 185 X: 3764.69100 Y: 0.00000 Z: 7424.45200 Ruby Genseki Ruins of Hope Map: 180 X: 2423.43100 Y: 0.00000 Z: 1251.30000 Ruby Genseki Vast Poni Canyon Map: 168 X: 24716.60000 Y: 0.00000 Z: 14276.30000 Ruby Genseki Altar of the Sunne/Moone Map: 175 X: 2302.09400 Y: 0.00000 Z: 4296.94400 Once again, technically an entrance, so access to whichever, is based on criteria mentioned above at the Lake. Ruby Genseki Poni Meadow Map: 168 X: 31680.90000 Y: 0.00000 Z: 11500.87000 Ruby Genseki Battle Tree Map: 168 X: 25549.25000 Y: 0.00000 Z: 3737.76900 Ruby Genseki AETHER PARADISE Image Map Coordinates Comments Credits Aether Paradise Map: 196 X: 6596.75700 Y: 0.00000 Z: 11714.80000 @Ruby Genseki Limited Access Image Map Coordinates Comments Credits Lusamine's Cryo Chamber Map: 208 X: 2188.56000 Y: 1.00000 Z: 1915.76800 @Ruby Genseki Abandoned Thrifty Megamart (Acerola's Trial) Map: 132 X: 1720.41700 Y: 1.00000 Z: 1472.11200 This version has access to Mimikyu's room @Ruby Genseki Mimikyu's Room Map: 133 X: 925.01460 Y: 0.00000 Z: 825.41140 @Ruby Genseki Ultra Space Map: 211 X: 2050.87400 Y: 0.00000 Z: 6355.98400 @theSLAYER Iki Town (Hau's Ceremonial Battle) Map: 1 X: 16910.58000 Y: 0.00000 Z: 11564.29000 Ruby Genseki Iki Town (Champion Party) Map: 2 X: 16974.28000 Y: 0.00000 Z: 11512.06000 Ruby Genseki Unused Maps Image Map Coordinates Comments Credits Unused Garage Map: 16 X: 18953.10000 Y: 0.00000 Z: 10722.50000 Same Map ID as Mother's Room Also holds a second surfboard. @Ruby Genseki Unused Bathroom Map: 16 X: 10538.05000 Y: 0.00000 Z: 10429.66000 @Lady Ariel @Ruby Genseki Unused Toilet Unused Toilet Map: 16 X: 27427.50000 Y: 0.00000 Z: 2074.60300 Lady Ariel Ruby Genseki
    5 points
  3. On PKHeX and the various parameters Den IDs for Gigantamax (usually 5 stars, 5% in Rare Den [randroll 95 to 100]) Galar mainland Physical dens and the species within: Isle of Armor Physical dens and the species within: This link pretty much compares dens and their in-game values, to the nests (which Serebii uses as Dens). Important to note that Serebii's nests comes from datamining, so it too uses in-game values. https://leanny.github.io/seedchecker/index.html#/dens/
    4 points
  4. Just to make it clear, there’s no official shiny variant of these images. Gen 1 Gen 2 Gen 3 Gen 4 Gen 5 Gen 6 Gen 7 Gen 8 Gen 9
    3 points
  5. 17th September 2023 Preamble With the release of HOME v3.1.0, Pokémon that bears records of not being initialized correctly (technically invalid HOME tracker) can no longer be sent back into HOME, typically with HOME throwing an error 10015. Everything below explains how and why people could obtain a broken or invalid HOME tracker, even if the screenshots aren't fully relevant anymore. Introduction With the release of version 2.0.0 of Pokémon HOME, compatibility with Brilliant Diamond & Shining Pearl and Legends Arceus was added. In version 3.0.0, they also added support for Scarlet and Violet, and allowed Pokémon to be transferred across those games.Pokémon HOME made some changes to how the HOME tracker works, and why it is relevant, when it comes to importing Pokémon. Brief Overview For every individual Pokémon you see in the box in Pokémon HOME, they are made up of the entire ring of data above. These are the data structures within a single structure for a Pokémon file that is in HOME, which is associated and identifiable by the HOME tracker (among other common data that is usually immutable3). While version 3.0.0 made some data more visible to players, not all are. The table below will help to explain what the various substructures are. Important Substructures Purpose Initiated By Used By Views on HOME mobile Core Contains most bits of data that are shared across all games. Gets initiated regardless of what entry game Used across all listed games The data here shows up in all views Child: LGPE Data specific to LGPE Child: SWSH Data specific to SWSH For origin IDs pre-Switch games. Affected by changes in SWSH games. Child: PLA Data specific to PLA Child: BDSP Data specific to BDSP Child: SV Data specific to SV In essence, when a deposited Pokémon first gets a HOME tracker via entry from a specific game, it gets data written to both core and the corresponding child. For the children substructures relating to other games, those get generated when said Pokémon is transferred into those games. This means that is a Pokémon never visits the other games, those children substructures remain blank. Any Pokémon that comes from Bank -> HOME or GO -> HOME gets written into SWSH child. Any children substructure that gets generated afterwards appears to generate data based on core + first child that was first generated A look into HOME mobile's various views As of version 3.0.0, Pokémon HOME added a feature that would allow you to see various 'views', which effectively allows you a sneak peak into the various children substructure. However this view is rather limited; it is constrained by a) the origin game of the Pokémon and b) the species. A few examples: 1. Stuff from GO that have not entered any game would not give you the view option 2. Darkrai from GO that entered PLA and BDSP won't give you an option to use the SWSH view, despite SWSH child being populated. 3. If a species exists in SWSH, and said species went from GO -> HOME -> BDSP without interacting with SWSH, it'll still gain the SWSH view as SWSH child is populated. 4. Bank view is based on game ID. Bank view actually uses SWSH child, so any modifications in SWSH child affects Bank view 5. Mr. Rime that has the origin game of PLA (a Mime Jr. evolved in SWSH) would not give you the option of PLA view, despite PLA child being populated (link). Example on moving mons across games without a valid HOME tracker So this is the example portion. Let's look at this Pichu I bred in BDSP. Pichu, a species that exists in SWSH, BDSP, and PLA. Beast Ball, a ball that visually exists in SWSH and BDSP. Now, for this exercise, I'll take the PB8 of this Pichu, and import it into Legends Arceus. They'll both be clones of each other. Difference being, the one on the left Leftchu has a valid HOME tracker (from entering HOME from BDSP previously), and the one on the right Rightchu does not. (Also note, while it shows as Beast Ball in the PKHeX, due to how PLA works, it'll appear as the Strange Ball in-game or in HOME [when viewing as PLA]) Now that they're both in HOME, entering from PLA (which they've both never entered from before). And they'll be entering Sword (which they've both also not entered before). And this is the result: Leftchu correctly shows that it is in a Beast Ball, while Rightchu shows that it is in a Poké Ball. Also, on mobile HOME, Leftchu shows the correct first met location (Seabreak Path) but Rightchu doesn't. Leftchu also shows Beast Ball, and Rightchu doesn't show any ball. [note: I sent back the mons from Sword for the screenshots] Summary In the present day, if you're injecting Pokémon into any Switch games, and if you're injecting Pokémon with origin games (a) Gen 7 and below or (b) a different Gen 8 game from your current one, make sure they have a valid HOME tracker attached to the file. To keep a HOME tracker valid, make sure you do not change any immutable values3 on your Pokémon. Also, it is okay if your HOME tracker changes on your existing Pokémon; as long as you deposited a Pokémon with a valid HOME tracker, even if the tracker were to change after, all previous data are cloned and carried forward to the next tracker. If you perform any kind of transfer with an invalid HOME tracker via HOME, data would not be displayed correctly on other games. Here's a bunch of mons with valid HOME trackers, make sure you don't change the immutable values3! Footnotes 1. Values stored in Core (Common data) are 2. Values stored in Children substructures for the games are I would like to point out that while the Gmax/Alpha/Noble data is stored in Core, HOME doesn't carry forward that data into every game. 3. Immutable values refer to values that normally can't be changed on a captured Pokémon. Stuff like PID, EC, IVs, etc
    2 points
  6. How/where to find legal shinies of Mythicals Species Where/How - Notes/Transfer status Mew PCNY Shiny Mew - Gen 2 cart only (and technically Gen 1 cart, but shininess cannot be observed), cannot be transferred up to modern generations Emerald Faraway Island Mew - Japan Emerald only, not guaranteed shiny GO Shiny Mew - Guaranteed Shiny, transfer from GO to HOME Celebi PCNY Shiny Celebi - Gen 2 cart only, cannot be transferred up to modern generations Ilex Forest Celebi - VC version only, can be transferred up Coco Movie Celebi - Movie was in Japan, but region free redemption Secrets of the Jungle Movie Celebi - Distributed to EU/US via PTC Newsletter GO Shiny Celebi - Guaranteed shiny, transfer from GO to HOME Jirachi WISHMAKR Jirachi - Not guaranteed shiny. CHANNEL Jirachi - Not guaranteed shiny. Tanabata 2014 Jirachi - 3DS Local Wireless, thus original redemption not region locked Christmas Party 2014 Jirachi - 3DS Serial Code, thus original redemption was region locked to JP 3DS Fukushima Christmas Party 2014 Jirachi - 3DS Local Wireless, thus original redemption not region locked Nintendo HK Shiny Jirachi - 3DS Serial Code, original redemption was region locked to JP and EU 3DS Pokémon Go Tour Hoenn: Masterwork Research Jirachi - Guaranteed Shiny, transfer from GO to HOME Deoxys (Forms interchangeable) Birth Island Deoxys - Not guaranteed shiny. GO Deoxys - Shiny released starting here. Not guaranteed shiny. Transfer from GO to HOME Phione* Standard Phione Egg - Not guaranteed shiny. Manaphy Pokémon Ranger Egg - The Manaphy can only be shiny if the egg was traded away. Recipient of event cannot hatch it shiny. (DP only, not BDSP) Darkrai New Island Darkrai - Legal Shiny can only be found in Platinum and BDSP. Not guaranteed shiny. GO Darkrai - Shiny released starting here. Not guaranteed shiny. Transfer from GO to HOME Shaymin Flower Paradise Shaymin - Legal Shiny can only be found in Platinum and BDSP. Not guaranteed shiny. Arceus (Forms interchangeable) Dahara City Legendary Shiny Arceus - 3DS Serial Code, thus original redemption was region locked to JP 3DS Hall of Origin Arceus - Encounter on BDSP, requires a PLA save. PLA save requirement: completed main missions, captured Arceus. BDSP requirements: Caught Dialga/Palkia in game, reached Hall of Fame, acquired National Dex. Victini A legal shiny does not exist Keldeo (Forms interchangeable) A legal shiny does not exist Meloetta (Forms interchangeable) A legal shiny does not exist Genesect (Forms interchangeable) Movie 2013 Genesect (JPN and KOR) - Language locked to the distribution. GO Genesect - Shiny released starting here. Not guaranteed shiny, transfer from GO to HOME. Presently, while only the driveless raids/encounters can be shiny, after transferred through HOME into any game that has the species, the drives could be attached to it. Diancie Pokémon Center Diancie - 3DS Nintendo Zone, thus original redemption was region locked to JP 3DS All-Stars Battle Diancie - 3DS Infrared, thus original redemption not region locked Hoopa A legal shiny does not exist Volcanion A legal shiny does not exist Magearna A legal shiny does not exist Magearna (Original Color) A legal shiny does not exist Marshadow A legal shiny does not exist Zeraora HOME Shiny Zeraora - Gift guaranteed shiny Meltan GO Meltan (LGPE transfer and HOME transfer) - Limited Shiny period. While they can be encountered shiny within the limited shiny period, the encounters themselves are not guaranteed shiny. Melmetal GO Melmetal (LGPE transfer and HOME transfer) - Limited Shiny period While they can be encountered shiny within the limited shiny period, the encounters themselves are not guaranteed shiny. Melmetal (G-max) A legal shiny does not exist (For your information, in SWSH-Isle of Armor, you can give certain species Max Soup to attain or remove the Gigantamax Status. Max Soup does not work on Melmetal) Zarude A legal shiny does not exist Zarude Dada A legal shiny does not exist * Mythical status disputed Updated as of December 5th, 2020
    2 points
  7. To understand this, you gonna need at least some understanding of what hex editing is. Today, we are going to look at converting the Clothing Set wonder card to bytes on a Fashion block. For this example, we'll be looking at the hex of 0105 - Casual Tee (Pokémon Quest). To the left, is the hex for the wonder card (only front few bytes relevant, the rest all zeros), and the right is a table for converting certain values we'll encounter along the way later on. For starters, the byte addresses for the Fashion block is rather different between Male and Female copies of the save. As such, the developers partitioned it so that row 0x20 to row 0x40 is the male portion, and row 0x50 to row 0x70 is for the female portion. Do note that the Male or Female portion is written to Wonder Card Records, depending on the save's gender. Now, let us look at the male portion. The index we see at byte 0x20 of the hex, is 0x9. With that, we can look at the the left side of the table, and determine that the general offset is 0x480. (Alternatively you can calculate this way: 0x09 [index] x 0x80 [block size] = 0x480 [general offset]. The table is just convenient). The data comes in pairs: general offset & binary spot. They are paired side by side, as can be seen above. [Example, 0x20 is paired with 0x24, and, 0x28 is paired with 0x2C.] The binary spot associated with that index is 0x68. Convert that to decimal, and you'll get 104. Meaning, starting from Spot 0, with it being the right most binary, position 104 of the chain of binaries for 0x480 gets flipped to 1. If you want to narrow it down, position 104 (on the right side of the table) will flow into byte 0xD. (cause each byte is 8 binaries long) With that in mind, you can now combine the results: Spot 0 in 0x48D (0x480 [general offset] + 0xD [cell based on binary spot] = 0x48D) gets written 1. So whatever value is in the cell 0x48D, add binary 00000001 to that value. [remember, left most is 7th slot, and right most is 0th slot] In the above example, for the male portion, we see the indexes of 0x8, 0xA, 0xB, 0xC and 0xD have the binary spot of "FFs". When this happens, it means take no action/ no action required. Each wonder card can have up to 6 edits per portion. Given that Quest T-shirt gift only does 1 unlock, it makes sense the remaining 5 goes unused. That pretty much is all of it. a. Know how to read a clothing set wonder card b. Know where to write the value to in fashion block I'm detailing this down here in case I forget Update: this tool was made in order to specify the offsets and values to add, for the fashion block. Fashion Card Reader.exe
    2 points
  8. Primary analysis is complete. Whatever which is down below is pretty much what the games output. Each WR8 is 0x68 in length. PKHeX now has block importer and exporter, so keep in mind a record is 0x68 in length within the block. The block immediately begins with WR8s... (WR8s are confined within the *Object KMysteryGift block) Do note, the empty cells below represents values that are presently 0x00 on the records, so utility is unknown/not discovered yet. WR8 Hex Pokémon Gift Clothes Gift Items Gift BPs / Money Gift 0x00 Timestamp (Might be easier to just Bitconverter.ToUInt64), since the next 3 bytes appear empty. Year: >> 26 & 0xFFF Month: >>22 & 0xF Day: >> 17 & 0x1F Hour: >> 12 & 0x1F Min: >> 6 & 0x3F Sec: & 0x3F 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 WC ID (0x08 WC) 0x09 WC ID (0x09 WC) 0x0A Card Description (0x15 WC) 0x0B 0x0C Gift Type (Item Gift, Pokémon Gift etc) (0x11 WC) 0x01 - Pokémon, 0x02 - Item, 0x03 - BPs, 0x04 - Clothes, 0x05 - Money 0x0D Amount of line items (if type items/clothes) [max 6] 0x0E 0x01 (unknown) 0x0F Ranked Series Season + 1 (if applicable) 0x10 Held Item (uint16) 0x11 Held Item (uint16) 0x12 Egg Flag 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1A 0x1B 0x1C 0x1D 0x1E 0x1F 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2A 0x2B 0x2C 0x2D 0x2E 0x2F 0x30 Species ID (0x240 WC) Copy from Wonder Card 0x20 to 0x4F if Male, 0x50 to 0x7F if Female (Basically copy 3 rows) Item 1 (0x20 WC) Amount (0x20 WC) 0x31 Species ID (0x241 WC) Item 1 (0x21 WC) 0x32 Form ID (unit16) Amount (0x22 WC) 0x33 Form ID (unit16) Amount (0x23 WC) 0x34 OT Gender (0 if Male, 1 if Female) Item 2 (0x24 WC) 0x35 NIL Item 2 (0x25 WC) 0x36 NIL Amount (0x26 WC) 0x37 NIL Amount (0x27 WC) 0x38 Move 1 (0x230 WC) Item 3 (You see the pattern now...) 0x39 Move 1 (0x231 WC) Item 3 0x3A Amount 0x3B Amount 0x3C Move 2 (0x232 WC) Item 4 0x3D Move 2 (0x233 WC) Item 4 0x3E Amount 0x3F Amount 0x40 Move 3 (0x234 WC) Item 5 0x41 Move 3 (0x235 WC) Item 5 0x42 Amount 0x43 Amount 0x44 Move 4 (0x236 WC) Item 6 0x45 Move 4 (0x237 WC) Item 6 0x46 Amount 0x47 Amount 0x48 OT1 (0x12C WC onwards; if Blank on WC, use recipient's OT) 0x49 OT1 0x4A OT2 0x4B OT2 0x4C OT3 0x4D OT3 0x4E OT4 0x4F OT4 0x50 OT5 0x51 OT5 0x52 OT6 0x53 OT6 0x54 OT7 0x55 OT7 0x56 OT8 0x57 OT8 0x58 OT9 0x59 OT9 0x5A OT10 0x5B OT10 0x5C OT11 0x5D OT11 0x5E OT12 0x5F OT12 0x60 OT13? 0x61 OT13? 0x62 Language Received 0x63 Ribbons (0x25C WC) 0x64 Pokegender (0x243 WC) 0x65 0x66 0x67 more do be discovered.. For the record, these are the gift descriptions, as per found in the text dump: ID Text Dump Gift Type Example 0 [VAR 0101(0000)] Gift Pokémon Meowth Gift 1 Pokémon Egg Gift Pokémon Pokémon Egg Gift 2 Pokémon Gift Pokémon Pokémon Gift 3 [VAR 0109(0008)] Gift Item Dive Balls Gift 4 Item Set Gift Item Item Set Gift 5 Item Gift Item Item Gift 6 Dynamax Crystal Gift Item Dynamax Crystal Gift 7 Curry Ingredient Gift Item Curry Ingredient Gift 8 [VAR 0104(0001)] [VAR 0101(0000)] Gift Pokémon Scratch Cat Pokémon Meowth Gift 9 Legendary Pokémon [VAR 0101(0000)] Gift Pokémon Legendary Pokémon Necrozma Gift 10 Mythical Pokémon [VAR 0101(0000)] Gift Pokémon Mythical Pokémon Mew Gift 11 [VAR 0100(0003)]’s [VAR 0101(0000)] Gift Pokémon PPorg's Mew Gift 12 Shiny [VAR 0101(0000)] Gift Pokémon Shiny Mew Gift 13 [VAR 0101(0000)] ([VAR 01D4(0002)]) Gift Pokémon Necrozma (Dawn Wings) Gift 14 [VAR 01D4(0002)] Gift Pokémon Necrozma (Dawn Wings) Gift 15 Hidden Ability [VAR 0101(0000)] Gift Pokémon Hidden Ability Meowth Gift 16 [VAR 0101(0000)] with [VAR 0107(0004)] Gift Pokémon Meowth with Fake Out Gift 17 [VAR 0101(0000)] with [VAR 0107(0005)] Gift Pokémon Meowth with Growl Gift 18 [VAR 0101(0000)] with [VAR 0107(0006)] Gift Pokémon Meowth with Slash Gift 19 [VAR 0101(0000)] with [VAR 0107(0007)] Gift Pokémon Meowth with Pay Day Gift 20 [VAR 0101(0000)] and [VAR 0109(0009)] Gift Pokémon Meowth with Ultra Ball Gift 21 Gigantamax [VAR 0101(0000)] Gift Pokémon Gigantamax Meowth Gift 22 [VAR 01D1(000B)] Gift Pokémon Meowth the Pokémon fan Gift (based on the ribbon) 23 Downloadable Version Purchase Bonus Depends Downloadable Version Purchase Bonus 24 Special Pack Purchase Bonus Depends Special Pack Purchase Bonus 25 Store Purchase Bonus Depends Store Purchase Bonus 26 Strategy Guide Purchase Bonus Depends Strategy Guide Purchase Bonus 27 Purchase Bonus Depends Purchase Bonus 28 Happy Birthday! Depends Happy Birthday! 29 Virtual Console Purchase Bonus Depends Virtual Console Purchase Bonus 30 Pokémon Trainer Club Gift Depends Pokémon Trainer Club Gift 31 Pokémon Global Link Gift Depends Pokémon Global Link Gift 32 Pokémon Bank Gift Depends Pokémon Bank Gift 33 Pokémon HOME Depends Pokémon HOME 34 Pocket Money Gift Depends Pocket Money Gift 35 [VAR 0206(000C,002C)] Cash Back Money 100 Cash Back 36 Clothing Gift Clothes Clothing Gift 37 Ranked Battle Reward Depends Ranked Battle Reward 38 Online Competition Participation Gift Depends Online Competition Participation Gift 39 BP Gift BP BP Gift 40 Official Competition Item Gift Item Official Competition Item Gift 41 Official Competition BP Gift BP Official Competition BP Gift 42 Official Competition Pokémon Gift Pokémon Official Competition Pokémon Gift 43 Official Competition Egg Gift Pokémon Official Competition Egg Gift 44 Official Competition Clothing Gift Clothes Official Competition Clothing Gift 45 Singles Season [VAR 0201(000A)] Item Gift Item Singles Season 01 Item Gift 46 Singles Season [VAR 0201(000A)] BP Gift BP Singles Season 01 BP Gift 47 Singles Season [VAR 0201(000A)] Pokémon Gift Pokémon Singles Season 01 Pokémon Gift 48 Singles Season [VAR 0201(000A)] Egg Gift Pokémon Singles Season 01 Egg Gift 49 Singles Season [VAR 0201(000A)] Clothing Gift Clothes Singles Season 01 Clothing Gift 50 Doubles Season [VAR 0201(000A)] Item Gift Item Doubles Season 01 Item Gift 51 Doubles Season [VAR 0201(000A)] BP Gift BP Doubles Season 01 BP Gift 52 Doubles Season [VAR 0201(000A)] Pokémon Gift Pokémon Doubles Season 01 Pokémon Gift 53 Doubles Season [VAR 0201(000A)] Egg Gift Pokémon Doubles Season 01 Egg Gift 54 Doubles Season [VAR 0201(000A)] Clothing Gift Clothes Doubles Season 01 Clothing Gift In any case, I've developed a tool to read wr8 and bin files. Check it out.
    2 points
  9. 6th and 7th Generation Wonder Card Map Mystery Gift Data WCxFULL Offset WCx Offset Gen 6 Gen 7 0x00-0x03 - Bit 0 - Y Bit 1 - X Bit 2 - AS Bit 3 - OR Bit 0 - S Bit 1 - M Bit 2 - US Bit 3 - UM 0x04-0x01FD - Redemption Text 0x01FE - 0x01 - Green Background 0x01 - Halo Animation 0x01FF - Allowed Languages 0x00 - Any Language Otherwise Language ID 0x200 - Once Per Week Bit 0 - Multiple WCs 0x201 - Unused? SubID 0x0202-0x0203 - Checksum Checksum is a CCITT-16. (CRC16-CCITT) It is computed using all the 0x310 bytes. The checksum location have to be filled with zeroes. (dates are included in calculation) 0x0204 - Unused? Set Count 0x205 - Always 0x46 Rarity Weight 0x206-0x207 - Always 0x4646 0x208-0x209 0x00-0x01 Card ID 0x20A-0x253 0x02-0x4B Card Title 0x254-0x257 0x4C-0x4F Card Reception Date YYYYMMDD Card Redemption Date YYMMDD 0x258 0x50 Card Location 0x259 0x51 Card Type 0x0 - Pokemon 0x1 - Item Card Type 0x0 - Pokemon 0x1 - Item 0x3 - BP 0x25A 0x52 Statuses Bit 0 - Only Once Bit 1 - Used Statuses Bit 0 - Only Once Bit 1 - Used Bit 2 - Once per Day 0x25B 0x53 Animation Background Color 0x0 - Blue 0x1 - Green (0x53 offset only) Card Background Color 0x0 - Blue 0x1- Purple 0x2 - Gold 0x25C-0x26F 0x54-0x67 Unknown/Unused 0x26E - Always 0xFF Pokémon Cards WCxFULL Offset WCx Offset Gen 6 Gen 7 0x270-0x271 0x68-0x69 Trainer ID 0x272-0x273 0x6A-0x6B Secret ID 0x274 0x6C Game of Origin 0x0 - Receiver's Game 0x274-0x277 0x6D-0x70 Unused 0x278-0x27B 0x71-0x73 Encryption Constant 0x0 - Randomly Generated 0x27C-0x27D 0x74-0x75 Ribbons See Ribbon Data Below 0x27E-0x27F 0x76-0x77 PokéBall Caught In 0x280-0x281 0x78-0x79 Held Item 0x282-0x283 0x7A-0x7B Move #1 0x284-0x285 0x7C-0x7D Move #2 0x286-0x287 0x7E-0x7F Move #3 0x288-0x289 0x80-0x81 Move #4 0x28A-0x28B 0x82-0x83 PokéDex Number 0x28C 0x84 Form Index 0x28D 0x85 Language 0x0 - Receiver's Language Otherwise Language ID 0x28E-0x2A7 0x86-0x9F Pokémon Nickname No terminator if no nickname 0x2A8 0xA0 Nature 0xFF - Random 0x2A9 0xA1 Pokémon Gender 0x0 - Male 0x1 - Female 0x2 - Genderless 0x3 - Random 0x2AA 0xA2 Pokémon Ability 0x0 - Ability 1 0x1 - Ability 2 0x2 - Hidden Ability 0x3 - Ability Random (No HA) 0x4 - Ability Random (All) 0x2AB 0xA3 Personality ID Generation Method 0x0 - Use specified PID 0x1 - Random can be shiny PID 0x2 - Random always shiny PID 0x3 - Random never shiny PID 0x2AC-0x2AD 0xA4-0xA5 Egg Met Location 0x2AE-0x2AF 0xA6-0xA7 Met Location 0x2B0 0xA8 Met Level 0x2B1-0x2B6 0xA9-0xAE Contest Stats Last byte is Sheen 0x2B7-0x2BC 0xAF-0xB4 IVs 0xFFFFFFFF - Random 0xFFFFFFFE - 3 31s 0xFFFFFFFD - 2 31s 0x2BD 0xB5 Trainer Gender 0x0 - Male 0x1 - Female 0x3 - Recipient's Gender 0x2BE-0x2D7 0xB6-0xCF Trainer Name All 00's - Recipient's Name 0x2D8 0xD0 Current Level 0x2D9 0xD1 Egg Flag 0x1 - Is Egg 0x2DA-0x2DB 0xD2-0xD3 Unused Bundled Item ID 0x2DC-0x2DF 0xD4-0xD7 Personality ID Almost Always 0xEE6B2802 Sometimes 0x00000000 0x2E0-0x2E1 0xD8-0xD9 Relearn Move 1 0x2E2-0x2E3 0xDA-0xDB Relearn Move 2 0x2E4-0x2E5 0xDC-0xDD Relearn Move 3 0x2E6-0x2E7 0xDE-0xDF Relearn Move 4 0x2E8-0x2E9 0xE0-0xE1 Trainer Memory Intensity Unused 0x2EA-0x2EB 0xE2-0xE3 Trainer Memory Line Unused 0x2EC-0x2ED 0xE4-0xE5 Trainer Memory TextVar 0xE5-0xEA: EVs 0x2EF-0x2F0 0xE6-0xE7 Trainer Memory Feeling 0x2F1-0x2F3 0xE8-0xEA Unused 0x2F4-0x30F 0xEB-0x107 Unused Unused Item Cards WCxFULL Offset WCx Offset Gen 6 Gen 7 0x270-0x271 0x68-0x69 Item ID Item 1 ID 0x272-0x273 0x6A-0x6B Unused Item 1 Quantity 0x274-0x275 0x6C-0x6D Unused Item 2 ID 0x276-0x277 0x6E-0x6F Unused Item 2 Quantity 0x278-0x279 0x70-0x71 Item Quantity Item 3 ID 0x27A-0x27B 0x72-0x73 Unused Item 3 Quantity 0x27C-0x27D 0x74-0x75 Unused Item 4 ID 0x27E-0x27F 0x76-0x77 Unused Item 4 Quantity 0x280-0x281 0x78-0x79 Unused Item 5 ID 0x282-0x283 0x7A-0x7B Unused Item 5 Quantity 0x284-0x285 0x7C-0x7D Unused Item 6 ID 0x286-0x287 0x7E-0x7F Unused Item 6 Quantity Ribbon Set Flag Value 0x74 0x75 0x01 Battle Champ Ribbon World Champ Ribbon 0x02 Regional Champ Ribbon Birthday Ribbon 0x04 National Champ Ribbon Special Ribbon 0x08 Country Ribbon Souvenir Ribbon 0x10 National Ribbon Wishing Ribbon 0x20 Earth Ribbon Classic Ribbon 0x40 World Ribbon Premier Ribbon 0x80 Event Ribbon Empty
    2 points
  10. Pokemon Temp Data Offset Type Description Before Generation 0x0 u64 Encryption Constant If = 0xFFFFFFFF FFFFFFFF, random u32 0x8 u32 PID If = 0xFFFFFFFF, random 0xC u32 PID Type 1: Anti-Shiny 2: Forced Shiny 3: Random 0x10 u64 OT TID/SID If = 0xFFFFFFFF FFFFFFFF, random u32 0x18 u16 Species ID 0x1A u16 Form ID If = 0xFF, random according to personal info 0x1C u16 Level 0x1E u16 Gender If = 0xFF, random(252) according to personal info 0x20 u16 Nature If = 0xFFFF, random(25) 0x22 u8 Ability Number If = 0xFF, random 1/2; If = 0xFE random 1/2/H. 0x23 u8 PID Roll Count For PID type = 3 (random), related to shiny chance 0x24 u16 HP IV If = 0xFFFF, random(32) 0x26 u16 Attack IV If = 0xFFFF, random(32) 0x28 u16 Defense IV If = 0xFFFF, random(32) 0x2A u16 SpA IV If = 0xFFFF, random(32) 0x2C u16 SpD IV If = 0xFFFF, random(32) 0x2E u16 Speed IV If = 0xFFFF, random(32) 0x30 u16 Friendship If = 0xFFFF, set default friendship 0x34 u8 Perfect IV Count If > 0, clear all IV locks SOS Status Data RAM location: 0x30038E20 (USUM v1.2); 0x30038C44 (SM v1.2) Offset Type Description 0x10 u32 [624] SFMT RNG Table 0x9D0 u16 SFMT RNG Table Index 0x9D8 u8 Adrenaline Orb Used 0x9D9 u8 Chain Length 0x9DA u8 Ally Identifier? 0x9DB u8 Last SOS Call Succeeded Berry Pile Data RAM location: 0x32DE3208 (USUM v1.2) Offset Type Description 0x25 u8 Bit flag for Crabrawler existence 0x26 u16 Crabrawler level 0x28 u16 [6] Regular random berry ID
    2 points
  11. Pokemon Gold, Silver and Crystal introduced the concept of Shiny Pokemon, and in order to retain shininess of a Pokemon that was traded to Pokemon Red, Blue, Yellow, Green, Shininess was set to be determined by a Pokemon's Determinant Values (DVs). As such, this mechanic also allowed for Pokemon caught or received in Gen I with the correct DV combination to become shiny when traded to Gen II. Additionally, with the introduction of Generation I & II to the Virtual Console on the Nintendo 3DS, these shiny Pokemon can be transported up to Generation VII and remain shiny. Generation I's RNG - DV correlation has been analyzed, and it has been discovered that only certain Pokemon can be encountered legitimately shiny (ignoring using glitches), mainly: (1) received by in-game trade, (2) encountered by fishing, (3) stationary encounters, (4) gift (starters, Eevee, game corner, etc). Do note that confusion may arise, if a shiny Pokemon was hatched/caught in Gen II, and traded back to Gen I, before transported to Gen VII. (Even if hatched/caught in Gen II, it will say from Kanto if it was transferred from Gen I) The google sheet below shows the list of Pokemon relating to Gen I shiny legality, and other pages involving RNG-DV correlation based on encounter rate. Sources: Various Encounter Rates on Smogon @Collector Togami's Excel and collected data Pokemon Red and Blue DVs generation
    2 points
  12. 5th Generation Wonder Card Map Gift Data Offset Description 0x00-0x01 Trainer ID Number, Item Number, Power Type 0x02-0x03 Secret ID Number 0x04 Hometown 00 - Game Received In 01 - Hoenn(Sapphire) Values follow in standard order through 21 0x05-0x07 Unused 0x08-0x0B PID Unset = 00000000 0x0C Primary Ribbons Ribbon data available below. 0x0D Secondary Ribbons Ribbon data available below. 0x0E PokéBall 0x0F Unused 0x10-0x11 Held Item 0x12-0x13 Move ID #1 0x14-0x15 Move ID #2 0x16-0x17 Move ID #3 0x18-0x19 Move ID #4 0x1A-0x1B PokéDex Number 0x1C Unused 0x1D Language 00 for Game Received In 0x1E-0x33 Pokémon Nickname (0x32-0x33 FF FF terminated) If no nickname, all FF. 0x34 Nature FF - Unset 0x35 Pokémon Gender 00 - Male 01 - Female 02 - Random 0x36 Pokémon Ability 00 - Ability 1 01 - Ability 2 02 - Dream World Ability 03 - RND(Abil1, Abil2) 04 - RND(Abil1, Abil2, AbilDW) 0x37 Shiny Toggle 00 - Not Shiny 01 - Allow Shiny 02 - Generate Shiny PID Shows Shiny Pokemon on Card 0x38-0x39 Egg Met Location 0x3A-0x3B Met Location of Pokémon 0x3C Level - unused(?) 0x3D-0x42 Contest Stats Last byte is Sheen 0x43-0x48 IVs FFs for unset IVs 0x49 Unused 0x4A-0x59 OT Name 0x5A OT Gender 00 - Male 01 - Female 03 - Recipient's Gender 0x5B Level(random if set to 0) 0x5C Egg Flag 00 - Is Not Egg 01 - Is Egg 0x5D-0x5F Unused Card Data Offset Description 0x60-0xA9 Card Title 0xAA-0xAB Unknown 0xAC-0xAF Date Card Received 0xB0-0xB1 Card ID 0xB2 "Card From" Location 0xB3 Card Type 01 - Pokémon [Blue] 02 - (Key) Item [Pink] 03 - Power [Yellow] 0xB4 Gift Status: Used / Unused 00 - Repeatable gift 01 - Unused 03 - Used 0xB5-0xCB Unused Ribbon Sets These are the values for each ribbon byte: Flag Value 0x0C 0x0D 0x01 Country Ribbon Special Ribbon 0x02 National Ribbon Memorial Ribbon 0x04 Earth Ribbon Wish Ribbon 0x08 World Ribbon Battle Champ Ribbon 0x10 Classic Ribbon Regional Champ Ribbon 0x20 Premiere Ribbon National Champ Ribbon 0x40 Event Ribbon World Champ Ribbon 0x80 Birthday Ribbon No Ribbon(Empty) First Appearance in the Memory The Wonder Cards do appear in the active memory while the game is running, however there are certain things that are set in addition to the card data in addition to it being in two locations. The cards appear in the region of 0x0226BE30-0x0226C87F in Black, and 0x0226BE50-0x0226C89F for White. Card data is unencrypted when viewing, but encrypted at all other times. Each card is separated by 220 bytes of data. Memory Offsets of each Card when viewing, including the leading 4 bytes: Card # Offset (Black) Offset (White) 1 0x0226BE30 0x0226BE50 2 0x0226BF0C 0x0226BF2C 3 0x0226BFE8 0x0226C008 4 0x0226C0C8 0x0226C0E8 5 0x0226C1A4 0x0226C1C4 6 0x0226C280 0x0226C2A0 7 0x0226C35C 0x0226C37C 8 0x0226C438 0x0226C458 9 0x0226C514 0x0226C534 10 0x0226C5F0 0x0226C610 11 0x0226C6CC 0x0226C6EC 12 0x0226C7A8 0x0226C7C8 The card is preceded by 4 bytes, in which the first is 1 to indicate that there is a card present in that slot, being 0 when a card is not present. Meaning Data Card Present 0x00000001 No Card Present 0x00000000 The card data is then present, byte for byte for the entire 204 bytes. After the card data, there are 4 bytes (pointer?). Card # Trash Value (Black) Trash Value (White) 1 0x0226CAA4 0x0226CAC4 2 0x0226CD88 0x0226CDA8 3 0x0226D06C 0x0226D08C 4 0x0226D350 0x0226D370 5 0x0226D388 0x0226D3A8 6 0x0226D3C0 0x0226D3E0 7 0x0226D3F8 0x0226D418 8 0x0226D430 0x0226D450 9 0x0226D468 0x0226D488 10 0x0226D4A0 0x0226D4C0 11 0x0226D4D8 0x0226D4F8 12 0x02270248 0x02270268 There are then 8 unused bytes (all 00), leading up to the next card. Second Appearance in the Memory The second appearance of the unencrypted card data while viewing is varied based on the number of cards currently on the save. Since it has not been tested whether or not active/inactive gifts may change the locations, trash all used cards before using any memory codes. Cards and the surrounding data follow the first appearance's format. Kaphotics' Test Card 1 Memory Location of N Cards [Stop at (N) cards]: Black: 02277F20(1 card) +58C(2c) +590(3) +58C(4) +2E8(5) +2E4(6) +2E8(7) +2E4(8) [9-12 still testing] White: 02277F40(1 card) +58C(2c) +590(3) +58C(4) +2E8(5) +2E4(6) +2E8(7) +2E4(8) [9-12 still testing] Card 2 = Card 1 Memory + 420 Card n = Card 1 Memory + 5020 + (n-3)*4C34 || Number of cards: 13>n>2 For other DS's (with different MAC addresses) the 1st location is the same but the rest follow different additive constants between cards. The second appearances will appear in the block range of 0x02270000-0x022AFFFF.
    2 points
  13. Background When Let's Go Pikachu & Let's Go Eevee launched, the games added back an old forsaken property to various Pokémon, namely sizes. To be specific, height and weight. While this property remains as a core part in data structure of Pokémon past Let's Go Pikachu & Let's Go Eevee, it will go unused in Sword & Shield and Brilliant Diamond & Shining Pearl (while the values for it are still generated and assigned by those games) Well, if we are being technical, height & weight will continue to go unused in Legends: Arceus and Scarlet & Violet, until HOME v3.0.0 makes it relevant to some degree. Size makes a more prominent impact in those games, as scale. One last bit of information to know, is that prior to HOME v3.0.0, any transfers from Bank do not have height & weight, and those Pokémon would be assigned 0 in both height & weight. So right now, 3 properties for size has been described: height, weight, and scale. Relevance In Scarlet & Violet, new marks were added to those games. Two of those marks are of note, as these two marks are different from the marks previously introduced: these two marks can be obtained by a Pokémon after it was caught. These two marks are known as the Mini Mark and the Jumbo Mark. The Mini Mark gets assigned to a Pokémon with 0 scale, and the Jumbo Mark gets assigned to a Pokémon with 255 in scale. The relevance here would be: scale didn't exist as a property before Legends: Arceus. In order to maintain compatibility of transfers between Sword & Shield, Brilliant Diamond & Shining Pearl and Legends: Arceus, HOME made is so that height gets duplicated into scale. As a result of this compatibility, any Pokémon that didn't already have scale attached to their data on HOME's end also get height duplicated into scale. With this, we have arrived at a method for transfers from previous games to acquire those two marks. Origin games: GO (via GO -> HOME direct transfer) The size depends on whether a Pokémon is XXL in GO. If they were XXL, then the height would be 255. It is believed that XXS would correlate to the height of 0, but currently GO transfers do not possess a height of 0. It is not known if it is a bug or intended. Edit 1: As of 17th June 2023, XXS can be sent to HOME and they retain height 0. Edit 2: Some XS and XL Pokémon actually qualify to be 0 or 255 when transferred. This tool helps give you a range based on the height shown in Pokémon GO. Origin games: GO (via GO -> GO Park in LGPE) XXL Pokémon in GO become 255 in height in Let's Go Pikachu & Let's Go Eevee. XXS Pokémon in GO become 0 in height in Let's Go Pikachu & Let's Go Eevee. This is limited by whether the GO species exists in Let's Go Pikachu & Let's Go Eevee. Since the height & weight values are already assigned in Let's Go Pikachu & Let's Go Eevee, there is no need for HOME to assign/reroll them. Edit 1: As of 17th June 2023, XXS can be sent to HOME and they retain height 0. Edit 2: Some XS and XL Pokémon actually qualify to be 0 or 255 when transferred. This tool helps give you a range based on the height shown in Pokémon GO. Origin games: Switch games The summary would be that the scale values are generated via triangular distribution, which would be 1/16,512 (for 0 or 255 in scale) for basic circumstances, without modifiers. Anubis has written up an easy to digest article here. (how those games generate the values aren't the point; this technical documentation category is about how HOME deals with it) I believe the same method of the generating the values were used for Height and Weight in the other games, as it would be a simple task to port over the mechanism without giving the whole thing much thought. Since the height & weight values are already assigned, there is no need for HOME to assign/reroll them. Origin games: Pre-Switch games (Route A) As I mentioned earlier: This means that any pre-Switch Origin Pokémon that enters HOME prior to v3.0.0, would have their height and weight set to 0. And when they enter Legends: Arceus from HOME prior to v3.0.0, their scale gets locked in to 0. And thus, when they enter Scarlet & Violet, they retain the scale of 0, and are eligible for the Mini Mark. It is important to note that with this method, for non-Switch origin Pokémon, they can only qualify for Mini Mark, not Jumbo Mark. Origin games: Pre-Switch games (Route B) One thing that HOME v3.0.0 set out to fix accomplish, was to assign and reroll height & weight values to any Pokémon that had both 0 height & weight values. The only exception to this (as seen in Route A) was any Pokémon that had visited Legends: Arceus (meaning they have a scale value initiated, even if it was 0). [Note: this fix technically had no 'real' repercussions to the user; they would not have been able to see height/weight values without hacking] So if you have a Pokémon with 0 height & 0 weight, but didn't visit Legends: Arceus prior to HOME v3.0.0, it will be assigned a random height & weight the next time it enters HOME. Now that we know that height & weight reroll exists, and that height gets duplicated into scale for Legends: Arceus and Scarlet & Violet, the question becomes: (a) is it possible to get 0 or 255 in height, and if so, (b) what are the odds to getting them? Based on Anubis' simple explanation of the triangular distribution Scarlet & Violet uses (read here), and me throwing stuff into HOME for it to reroll, I came up with this: I did a mini study, where I threw 18,600 Pokémon into HOME to have their height & weight rerolled. I plotted 2 graphs, one for height (blue dots), and one for weight (orange dots). x-axis are for the values (0 to 255), and y-axis for the number of hits I have come across after collecting all the height and weight rerolled. The black line follows Scarlet & Violet's triangular distribution of 1/16,512. There were adjusted to fit the study based on the number of samples I have (18,600). From the looks of it, the generation of height & weight follows the same triangular distribution used in Scarlet & Violet for scale, and so that answers question (b). As for question (a), I confirm that it is indeed possible to generate 0, as well as 255, in height. Here's a picture of my Mew getting the Jumbo Mark. If you're interested in my data, and the crappy plugin (only for SWSH) used to grab the HTWT data, it can be found here: HTWT.rar for the Excel file and plugin With this method, for non-Switch origin Pokémon, they can qualify for either Mini Mark or Jumbo Mark. Notable mentions: HOME gifts redeemed prior to v3.0.0 (origin games appears as Sword & Shield) Those gifts were distributed as height & weight being 0. If they have been transferred to Legends: Arceus prior to v3.0.0, they follow Route A, thus qualifying them for the Mini Mark. If not, they can also go Route B, and have a 1/16,512 chance to qualify for Mini Mark or Jumbo Mark. Alpha Pokémon in Legends: Arceus These Pokémon have their height, weight, and scale, maxed out at 255 each. This means they qualify for the Jumbo Mark when transferred into Scarlet & Violet. Former Titan Pokémon in Scarlet & Violet These Pokémon have their scale maxed out at 255 (as seen in the Iron Treads image at the start of the page). This means they qualify for the Jumbo Mark when transferred into Scarlet & Violet.
    1 point
  14. banner.bin and banner_s.bin are both found in the /FONT/ folder. They contain data for the dungeon title font. File Structure The file uses SIR0 headers to store its pointers. General SIR0 details can be found in the main SIR0 documentation. The sections below will cover only banner.bin-specific blocks of data. Name Offset Size (Per Element) # of Elements Description SIR0 Header 0x00 16 Bytes 1 Details in the SIR0 documentation Glyph Textures Pointed by Glyph Metadata Varies Specified by Content Header Each element is read nibble-by-nibble to assemble the glyph. Glyph Metadata Pointed by Content Header 8 Bytes Specified by Content Header Each element contains a pointer to the glyph texture, the letter it represents, and how many pixels wide the letter is. Content Header Pointed by SIR0 Header 12 Bytes 1 Contains the pointer to Glyph Metadata, and the number of elements in that data block. Pointer Offsets List Pointed by SIR0 Header 1 Byte Varies Details in the SIR0 documentation SIR0 Padding After Pointer Offsets List Varies --- Details in the SIR0 documentation Content Header 3 Sections containing 4 bytes each: AA AA AA AA BB BB BB BB CC CC CC CC A. Pointer to the start of the Glyph Metadata block. Little-Endian. B. Pointer to the number of elements in the Glyph Metadata block. Little-Endian. C. Unknown. Glyph Metadata This is an array of elements, each 8 bytes. Contains 3 sections: AA AA AA AA BB BB CC CC A. Pointer to this element's texture data in the Glyph Textures block. Little-Endian. B. The letter that the glyph represents. Little-Endian. The encoding varies by language, which is covered in the strings documentation. C. The number of pixels to move the cursor to the right, when drawing the text in-game. Little-Endian. Appears to be signed. Glyph Textures Individual elements in the Glyph Textures block have a variable length. Data is read nibble-by-nibble: First, the high bit of the nibble is checked. If it is 1, then the game will read the next nibble as pixel data and draw it N times. N is the other 3 bits of the first nibble. If it is 0, then the game will read the next N nibbles as pixel data and draw them in that order. N is the other 3 bits of the first nibble. The game draws pixels in order of left to right, top to bottom. It moves on to the next row when 24 pixels have been drawn, and ends the parsing when 24 rows have been drawn. Parsing For convenience, the following python code is provided below to parse these files: import sys import os import re import shutil import math import struct import glob from PIL import Image GLYPH_SIZE_D = 24 PALETTE_MAP = [0,8,24,41,57,74,90,107,123,140,156,173,189,206,214,231] def ReadNextNib(reader, next_nibbles): if len(next_nibbles) > 0: return next_nibbles.pop() byte = int.from_bytes(reader.read(1), 'little') next_nibbles.append(byte & 15) return byte >> 4 def ExportDChar(reader, char_val): pixels = [] next_nibbles = [] while len(pixels) < GLYPH_SIZE_D * GLYPH_SIZE_D: control_nib = ReadNextNib(reader, next_nibbles) draw_repeat = control_nib >> 3 draw_amount = control_nib & 7 if draw_repeat == 1: pixel_nib = ReadNextNib(reader, next_nibbles) pixel_val = PALETTE_MAP[pixel_nib] for ii in range(draw_amount): pixels.append(pixel_val) else: for ii in range(draw_amount): pixel_nib = ReadNextNib(reader, next_nibbles) pixel_val = PALETTE_MAP[pixel_nib] pixels.append(pixel_val) return_img = Image.new('RGBA', (GLYPH_SIZE_D, GLYPH_SIZE_D), (0, 0, 0, 0)) datas = [(0, 0, 0, 0)] * (GLYPH_SIZE_D * GLYPH_SIZE_D) for yy in range(GLYPH_SIZE_D): for xx in range(GLYPH_SIZE_D): pixel_idx = yy * GLYPH_SIZE_D + xx if pixels[pixel_idx] > 0: datas[pixel_idx] = (255,255,255,pixels[pixel_idx]) return_img.putdata(datas) return return_img def ReadChars(reader, amt): return_imgs = [] for ii in range(amt): glyph_ptr = int.from_bytes(reader.read(4), 'little') glyph_val = int.from_bytes(reader.read(2), 'little') advance = int.from_bytes(reader.read(2), 'little') cur_ptr = reader.tell() reader.seek(glyph_ptr) return_img = ExportDChar(reader, glyph_val) return_imgs.append((return_img, glyph_val, advance)) reader.seek(cur_ptr) return return_imgs def ReadFont(input_file): output_parent, basename = os.path.split(input_file) dir, _ = os.path.splitext(basename) output_dir = os.path.join(output_parent, dir) if not os.path.exists(output_dir): os.mkdir(output_dir) with open(input_file, "rb") as reader: ##Read SIR0 Header: ptr to font header reader.seek(4) font_ptr = int.from_bytes(reader.read(4),'little') ##Read font header: ptr to charmap, amount of chars reader.seek(font_ptr) list_ptr = int.from_bytes(reader.read(4),'little') char_amt = int.from_bytes(reader.read(4),'little') _ = int.from_bytes(reader.read(4), 'little')#don't know what this is reader.seek(list_ptr) imgs = ReadChars(reader, char_amt, mode) for idx, img_pair in enumerate(imgs): img = img_pair[0] code = img_pair[1] advance = img_pair[2] if advance > 0: img = img.crop((0,0,advance,GLYPH_SIZE_D)) img.save(os.path.join(output_dir, str(code) + '.png'))
    1 point
  15. Background These games do not save the wonder card in their saves, however some details are left behind, in the form of the Wonder Card Records Album (or Gift Records Album). Findings may be incomplete, until more events gets released. Save Offsets Starts at 0x45600, taking up every 0x140 Save Offset (First Slot) Data Offset (from 0x0) Gen 7 0x45600 to 0x45604 0x000 to 0x004 Epoch Time code of Event received 0x45608 to 0x45609 0x008 to 0x009 Wonder Card ID 0x4560A 0x00A Gift Title/Wonder Card Type (as listed below) 0x4560C 0x00C Gift Type 0x01 are for Pokémon type and 0x02 are for Item type. 0x4560D 0x00D Number of kinds of Items, max 06 (for Item-Type gift only) 0x4570C to 0x4570D 0x10C to 0x10D Species Value for Pokémon Item ID 1 for Items only 0x4570E to 0x4570F 0x10E to 0x10F Amount of Item ID 1, for Item-Type gift only 0x45710 to 0x45724 0x110 to 0x124 Item IDs and Amounts (2 byte of Item ID, 2 byte for amount, repeat) 0x45710 to 0x45711 0x110 to 0x111 Move 1 ID, for Pokémon-Type Gift. 0x45714 to 0x45715 0x114 to 0x115 Move 2 ID, for Pokémon-Type Gift. 0x45718 to 0x45719 0x118 to 0x119 Move 3 ID, for Pokémon-Type Gift. 0x4571C to 0x4571D 0x11C to 0x11D Move 4 ID, for Pokémon-Type Gift. 0x45720 to 0x45739 0x120 to 0x139 Original Trainer (used for Pokémon-Type Gift) (follows trainer name if it's unset) 0x4573A 0x13A Language tag assigned upon being received. Gift Title/Wonder Card Type ID Titles ripped from Game Text Example (based on modifying Counterattack Mewtwo) 0 [VAR PKNAME(0000)] Gift Mewtwo Gift 1 [VAR ITEM2(0008)] Gift None Gift Chesto Berry Gift (modified to item-type) 2 Item Set Gift 3 [VAR 0104(0001)] [VAR PKNAME(0000)] Gift Genetic Pokémon Mewtwo Gift 4 Mythical Pokémon [VAR PKNAME(0000)] Gift Mythical Pokémon Mewtwo Gift 5 [VAR TRNAME(0003)]’s [VAR PKNAME(0000)] Gift はかせ's Mewtwo Gift 6 Shiny [VAR PKNAME(0000)] Gift Shiny Mewtwo Gift 7 [VAR PKNAME(0000)] ([VAR 01CA(0002)]) Gift Mewtwo () Gift * (12) Gift (modified to item-type) 8 [VAR 01CA(0002)] Gift Gift 12 Gift (modified to item-type) 9 Hidden Ability [VAR PKNAME(0000)] Gift Hidden Ability Mewtwo Gift 10 [VAR MOVE(0004)] [VAR PKNAME(0000)] Gift Psychic Mewtwo Gift 11 [VAR PKNAME(0000)] with [VAR MOVE(0005)] Gift Mewtwo with Shadow Ball Gift 12 [VAR PKNAME(0000)] with [VAR MOVE(0006)] Gift Mewtwo with Barrier Gift 13 [VAR PKNAME(0000)] with [VAR MOVE(0007)] Gift Mewtwo with Calm Mind Gift 14 [VAR PKNAME(0000)] & [VAR ITEM2(0009)] Gift Mewtwo & None Gift * & None Gift (modified to item-type) 15 Downloadable Version Bonus 16 Special Pack Purchase Bonus 17 Store Purchase Bonus 18 Strategy Guide Purchase Bonus 19 Purchase Bonus 20 Happy Birthday! 21 Virtual Console Bonus 22 Pokémon Trainer Club Gift 23 Pokémon Global Link Gift 24 Pokémon Bank Gift Note: The * appears to be based on total amount of records in the album. I've seen the number change when I add or remove records. If you have 6 records, it'll be 6 & None Gift Additional Notes Can't get WC type 14 to function properly. Keep getting "Mew & None Gift" (Mew intended, None unintended). When I swap past an item entry, the None get's updated to the third item. Maybe this type is a remnant of Gen 8's system? WC type 10 seems to work as per normal, however can't get WC type 11 to 13 to function, even after various tests. I have concluded that it is possibly leftover/unused, as those 3 entries were phrased different from WC type 10, on top of the "not working" issue. Either that, or there's a byte that controls the amount of moves a Pokemon has, and I'm clearly missing it., and so are the other 3! Images: Big thanks to @wo0ts for the various contributions for gift records!
    1 point
  16. 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
    1 point
  17. Balls 0x0001 = Master Ball 0x0002 = Ultra Ball 0x0003 = Great Ball 0x0004 = Poké Ball 0x0005 = Safari Ball 0x0006 = Net Ball 0x0007 = Dive Ball 0x0008 = Nest Ball 0x0009 = Repeat Ball 0x000A = Timer Ball 0x000B = Luxury Ball 0x000C = Premier Ball 0x000D = Dusk Ball 0x000E = Heal Ball 0x000F = Quick Ball 0x0010 = Cherish Ball Medicine 0x0011 = Potion 0x0012 = Antidote 0x0013 = Burn Heal 0x0014 = Ice Heal 0x0015 = Awakening 0x0016 = Parlyz Heal 0x0017 = Full Restore 0x0018 = Max Potion 0x0019 = Hyper Potion 0x001A = Super Potion 0x001B = Full Heal 0x001C = Revive 0x001D = Max Revive 0x001E = Fresh Water 0x001F = Soda Pop 0x0020 = Lemonade 0x0021 = Moomoo Milk 0x0022 = EnergyPowder 0x0023 = Energy Root 0x0024 = Heal Powder 0x0025 = Revival Herb 0x0026 = Ether 0x0027 = Max Ether 0x0028 = Elixir 0x0029 = Max Elixir 0x002A = Lava Cookie 0x002B = Berry Juice 0x002C = Sacred Ash 0x002D = HP Up 0x002E = Protein 0x002F = Iron 0x0030 = Carbos 0x0031 = Calcium 0x0032 = Rare Candy 0x0033 = PP Up 0x0034 = Zinc 0x0035 = PP Max 0x0036 = Old Gateau Battle Items 0x0037 = Guard Spec. 0x0038 = Dire Hit 0x0039 = X Attack 0x003A = X Defend 0x003B = X Speed 0x003C = X Accuracy 0x003D = X Special 0x003E = X Sp. Def 0x003F = Poké Doll 0x0040 = Fluffy Tail 0x0041 = Blue Flute 0x0042 = Yellow Flute 0x0043 = Red Flute 0x0044 = Black Flute 0x0045 = White Flute General Items 1 0x0046 = Shoal Salt 0x0047 = Shoal Shell 0x0048 = Red Shard 0x0049 = Blue Shard 0x004A = Yellow Shard 0x004B = Green Shard 0x004C = Super Repel 0x004D = Max Repel 0x004E = Escape Rope 0x004F = Repel 0x0050 = Sun Stone 0x0051 = Moon Stone 0x0052 = Fire Stone 0x0053 = Thunderstone 0x0054 = Water Stone 0x0055 = Leaf Stone 0x0056 = TinyMushroom 0x0057 = Big Mushroom 0x0058 = Pearl 0x0059 = Big Pearl 0x005A = Stardust 0x005B = Star Piece 0x005C = Nugget 0x005D = Heart Scale 0x005E = Honey 0x005F = Growth Mulch 0x0060 = Damp Mulch 0x0061 = Stable Mulch 0x0062 = Gooey Mulch 0x0063 = Root Fossil 0x0064 = Claw Fossil 0x0065 = Helix Fossil 0x0066 = Dome Fossil 0x0067 = Old Amber 0x0068 = Armor Fossil 0x0069 = Skull Fossil 0x006A = Rare Bone 0x006B = Shiny Stone 0x006C = Dusk Stone 0x006D = Dawn Stone 0x006E = Oval Stone 0x006F = Odd Keystone 0x0070 = Griseous Orb (Platinum only) 0x0087 = Adamant Orb 0x0088 = Lustrous Orb Mail 0x0089 = Grass Mail 0x008A = Flame Mail 0x008B = Bubble Mail 0x008C = Bloom Mail 0x008D = Tunnel Mail 0x008E = Steel Mail 0x008F = Heart Mail 0x0090 = Snow Mail 0x0091 = Space Mail 0x0092 = Air Mail 0x0093 = Mosaic Mail 0x0094 = Brick Mail Berries 0x0095 = Cheri Berry 0x0096 = Chesto Berry 0x0097 = Pecha Berry 0x0098 = Rawst Berry 0x0099 = Aspear Berry 0x009A = Leppa Berry 0x009B = Oran Berry 0x009C = Persim Berry 0x009D = Lum Berry 0x009E = Sitrus Berry 0x009F = Figy Berry 0x00A0 = Wiki Berry 0x00A1 = Mago Berry 0x00A2 = Aguav Berry 0x00A3 = Iapapa Berry 0x00A4 = Razz Berry 0x00A5 = Bluk Berry 0x00A6 = Nanab Berry 0x00A7 = Wepear Berry 0x00A8 = Pinap Berry 0x00A9 = Pomeg Berry 0x00AA = Kelpsy Berry 0x00AB = Qualot Berry 0x00AC = Hondew Berry 0x00AD = Grepa Berry 0x00AE = Tamato Berry 0x00AF = Cornn Berry 0x00B0 = Magost Berry 0x00B1 = Rabuta Berry 0x00B2 = Nomel Berry 0x00B3 = Spelon Berry 0x00B4 = Pamtre Berry 0x00B5 = Watmel Berry 0x00B6 = Durin Berry 0x00B7 = Belue Berry 0x00B8 = Occa Berry 0x00B9 = Passho Berry 0x00BA = Wacan Berry 0x00BB = Rindo Berry 0x00BC = Yache Berry 0x00BD = Chople Berry 0x00BE = Kebia Berry 0x00BF = Shuca Berry 0x00C0 = Coba Berry 0x00C1 = Payapa Berry 0x00C2 = Tanga Berry 0x00C3 = Charti Berry 0x00C4 = Kasib Berry 0x00C5 = Haban Berry 0x00C6 = Colbur Berry 0x00C7 = Babiri Berry 0x00C8 = Chilan Berry 0x00C9 = Liechi Berry 0x00CA = Ganlon Berry 0x00CB = Salac Berry 0x00CC = Petaya Berry 0x00CD = Apicot Berry 0x00CE = Lansat Berry 0x00CF = Starf Berry 0x00D0 = Enigma Berry 0x00D1 = Micle Berry 0x00D2 = Custap Berry 0x00D3 = Jaboca Berry 0x00D4 = Rowap Berry General Items 2 (Held Items) 0x00D5 = BrightPowder 0x00D6 = White Herb 0x00D7 = Macho Brace 0x00D8 = Exp. Share 0x00D9 = Quick Claw 0x00DA = Soothe Bell 0x00DB = Mental Herb 0x00DC = Choice Band 0x00DD = King's Rock 0x00DE = SilverPowder 0x00DF = Amulet Coin 0x00E0 = Cleanse Tag 0x00E1 = Soul Dew 0x00E2 = DeepSeaTooth 0x00E3 = DeepSeaScale 0x00E4 = Smoke Ball 0x00E5 = Everstone 0x00E6 = Focus Band 0x00E7 = Lucky Egg 0x00E8 = Scope Lens 0x00E9 = Metal Coat 0x00EA = Leftovers 0x00EB = Dragon Scale 0x00EC = Light Ball 0x00ED = Soft Sand 0x00EE = Hard Stone 0x00EF = Miracle Seed 0x00F0 = BlackGlasses 0x00F1 = Black Belt 0x00F2 = Magnet 0x00F3 = Mystic Water 0x00F4 = Sharp Beak 0x00F5 = Poison Barb 0x00F6 = NeverMeltIce 0x00F7 = Spell Tag 0x00F8 = TwistedSpoon 0x00F9 = Charcoal 0x00FA = Dragon Fang 0x00FB = Silk Scarf 0x00FC = Up-Grade 0x00FD = Shell Bell 0x00FE = Sea Incense 0x00FF = Lax Incense 0x0100 = Lucky Punch 0x0101 = Metal Powder 0x0102 = Thick Club 0x0103 = Stick 0x0104 = Red Scarf 0x0105 = Blue Scarf 0x0106 = Pink Scarf 0x0107 = Green Scarf 0x0108 = Yellow Scarf 0x0109 = Wide Lens 0x010A = Muscle Band 0x010B = Wise Glasses 0x010C = Expert Belt 0x010D = Light Clay 0x010E = Life Orb 0x010F = Power Herb 0x0110 = Toxic Orb 0x0111 = Flame Orb 0x0112 = Quick Powder 0x0113 = Focus Sash 0x0114 = Zoom Lens 0x0115 = Metronome 0x0116 = Iron Ball 0x0117 = Lagging Tail 0x0118 = Destiny Knot 0x0119 = Black Sludge 0x011A = Icy Rock 0x011B = Smooth Rock 0x011C = Heat Rock 0x011D = Damp Rock 0x011E = Grip Claw 0x011F = Choice Scarf 0x0120 = Sticky Barb 0x0121 = Power Bracer 0x0122 = Power Belt 0x0123 = Power Lens 0x0124 = Power Band 0x0125 = Power Anklet 0x0126 = Power Weight 0x0127 = Shed Shell 0x0128 = Big Root 0x0129 = Choice Specs 0x012A = Flame Plate 0x012B = Splash Plate 0x012C = Zap Plate 0x012D = Meadow Plate 0x012E = Icicle Plate 0x012F = Fist Plate 0x0130 = Toxic Plate 0x0131 = Earth Plate 0x0132 = Sky Plate 0x0133 = Mind Plate 0x0134 = Insect Plate 0x0135 = Stone Plate 0x0136 = Spooky Plate 0x0137 = Draco Plate 0x0138 = Dread Plate 0x0139 = Iron Plate 0x013A = Odd Incense 0x013B = Rock Incense 0x013C = Full Incense 0x013D = Wave Incense 0x013E = Rose Incense 0x013F = Luck Incense 0x0140 = Pure Incense 0x0141 = Protector 0x0142 = Electirizer 0x0143 = Magmarizer 0x0144 = Dubious Disc 0x0145 = Reaper Cloth 0x0146 = Razor Claw 0x0147 = Razor Fang TMs & HMs 0x0148 = TM01 0x0149 = TM02 0x014A = TM03 0x014B = TM04 0x014C = TM05 0x014D = TM06 0x014E = TM07 0x014F = TM08 0x0150 = TM09 0x0151 = TM10 0x0152 = TM11 0x0153 = TM12 0x0154 = TM13 0x0155 = TM14 0x0156 = TM15 0x0157 = TM16 0x0158 = TM17 0x0159 = TM18 0x015A = TM19 0x015B = TM20 0x015C = TM21 0x015D = TM22 0x015E = TM23 0x015F = TM24 0x0160 = TM25 0x0161 = TM26 0x0162 = TM27 0x0163 = TM28 0x0164 = TM29 0x0165 = TM30 0x0166 = TM31 0x0167 = TM32 0x0168 = TM33 0x0169 = TM34 0x016A = TM35 0x016B = TM36 0x016C = TM37 0x016D = TM38 0x016E = TM39 0x016F = TM40 0x0170 = TM41 0x0171 = TM42 0x0172 = TM43 0x0173 = TM44 0x0174 = TM45 0x0175 = TM46 0x0176 = TM47 0x0177 = TM48 0x0178 = TM49 0x0179 = TM50 0x017A = TM51 0x017B = TM52 0x017C = TM53 0x017D = TM54 0x017E = TM55 0x017F = TM56 0x0180 = TM57 0x0181 = TM58 0x0182 = TM59 0x0183 = TM60 0x0184 = TM61 0x0185 = TM62 0x0186 = TM63 0x0187 = TM64 0x0188 = TM65 0x0189 = TM66 0x018A = TM67 0x018B = TM68 0x018C = TM69 0x018D = TM70 0x018E = TM71 0x018F = TM72 0x0190 = TM73 0x0191 = TM74 0x0192 = TM75 0x0193 = TM76 0x0194 = TM77 0x0195 = TM78 0x0196 = TM79 0x0197 = TM80 0x0198 = TM81 0x0199 = TM82 0x019A = TM83 0x019B = TM84 0x019C = TM85 0x019D = TM86 0x019E = TM87 0x019F = TM88 0x01A0 = TM89 0x01A1 = TM90 0x01A2 = TM91 0x01A3 = TM92 0x01A4 = HM01 0x01A5 = HM02 0x01A6 = HM03 0x01A7 = HM04 0x01A8 = HM05 0x01A9 = HM06 0x01AA = HM07 0x01AB = HM08 Key Items 0x01AC = Explorer Kit 0x01AD = Loot Sack 0x01AE = Rule Book 0x01AF = Poké Radar 0x01B0 = Point Card 0x01B1 = Journal 0x01B2 = Seal Case 0x01B3 = Fashion Case 0x01B4 = Seal Bag 0x01B5 = Pal Pad 0x01B6 = Works Key 0x01B7 = Old Charm 0x01B8 = Galactic Key 0x01B9 = Red Chain 0x01BA = Town Map 0x01BB = Vs. Seeker 0x01BC = Coin Case 0x01BD = Old Rod 0x01BE = Good Rod 0x01BF = Super Rod 0x01C0 = Sprayduck 0x01C1 = Poffin Case 0x01C2 = Bicycle 0x01C3 = Suite Key 0x01C4 = Oak's Letter 0x01C5 = Lunar Wing 0x01C6 = Member Card 0x01C7 = Azure Flute 0x01C8 = S.S. Ticket 0x01C9 = Contest Pass 0x01CA = Magma Stone 0x01CB = Parcel 0x01CC = Coupon 1 0x01CD = Coupon 2 0x01CE = Coupon 3 0x01CF = Storage Key 0x01D0 = SecretPotion 0x01D1 = Vs. Recorder (Platinum only) 0x01D2 = Gracidea Flower (Platinum only) 0x01D3 = Secret Key (Platinum only) HeartGold and SoulSilver Exclusive Balls x01EC = Fast Ball 0x01ED = Level Ball 0x01EE = Lure Ball 0x01EF = Heavy Ball 0x01F0 = Love Ball 0x01F1 = Friend Ball 0x01F2 = Moon Ball 0x01F3 = Competition Ball 0x01F4 = Park Ball HeartGold and SoulSilver Exclusive Key Items 0x01D4 = ぼんぐりケース (Apricorn Case) 0x01D5 = アンノーンノート (Unown Notebook) 0x01D6 = きのみプランター (Berry Planter) 0x01D7 = ダウジングマシン (Dowsing Machine) 0x01D8 = ブルーカード (Blue Card) 0x01D9 = おいしいシッポ (Slowpoke Tail) 0x01DA = とうめいなスズ (Clear Bell) 0x01DB = カードキー (Card Key) 0x01DC = ちかのかぎ (Basement Key) 0x01DD = ゼニガメじょうろ (Squirtbottle) 0x01DE = あかいウロコ (Red Scale) 0x01DF = おとしもの (Lost Property) 0x01E0 = リニアパス (Linear Pass) 0x01E1 = きかいのぶひん (Weird Part) 0x01E2 = ぎんいろのはね (Silver Wing) 0x01E3 = にじいろのはね (Rainbow Wing) 0x01E4 = ふしぎなタマゴ (Mystery Egg) 0x01E5 = Red Apricorn 0x01E6 = Yellow Apricorn 0x01E7 = Blue Apricorn 0x01E8 = Green Apricorn 0x01E9 = Pink Apricorn 0x01EA = White Apricorn 0x01EB = Black Apricorn 0x01F5 = フォトアルバム (Photo Album) 0x01F6 = GBプレイヤー (GB Player) 0x01F7 = うみなりのスズ (Sea Bell) 0x01F8 = いかりまんじゅう (Manju Anchor?) 0x01F9 = データカード01 (Date Card 01) 0x01FA = データカード02 (Date Card 02) 0x01FB = データカード03 (Date Card 03) 0x01FC = データカード04 (Date Card 04) 0x01FD = データカード05 (Date Card 05) 0x01FE = データカード06 (Date Card 06) 0x01FF = データカード07 (Date Card 07) 0x0200 = データカード08 (Date Card 08) 0x0201 = データカード09 (Date Card 09) 0x0202 = データカード10 (Date Card 10) 0x0203 = データカード11 (Date Card 11) 0x0204 = データカード12 (Date Card 12) 0x0205 = データカード13 (Date Card 13) 0x0206 = データカード14 (Date Card 14) 0x0207 = データカード15 (Date Card 15) 0x0208 = データカード16 (Date Card 16) 0x0209 = データカード17 (Date Card 17) 0x020A = データカード18 (Date Card 18) 0x020B = データカード19 (Date Card 19) 0x020C = データカード20 (Date Card 20) 0x020D = データカード21 (Date Card 21) 0x020E = データカード22 (Date Card 22) 0x020F = データカード23 (Date Card 23) 0x0210 = データカード24 (Date Card 24) 0x0211 = データカード25 (Date Card 25) 0x0212 = データカード26 (Date Card 26) 0x0213 = データカード27 (Date Card 27) 0x0214 = もえぎいろのたま (Green Orb) 0x0215 = ロックカプセル (Rock Capsule) 0x0216 = べにいろのたま (Red Orb) 0x0217 = あいいろのたま (Blue Orb) 0x0218 = なぞのすいしょう (Crystal Puzzle)
    1 point
  18. Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/. The same protocol is used for all five Gen IV games. HTTP headers The games don't seem to care about these at all. The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length. Protocol All requests to the server are GET requests of the form page.asp?pid=pid followed by page.asp?pid=pid&hash=hash&data=data. The hash variable in the latter, is a hash of the string returned by the former, as described bellow. pid The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge. Although this has not been confirmed entirely: Your PID is generated when you get your friendcode for the first time and is set to: friendcode & 0x7fffffff When you change the device and are forced to change your friendcode with it, your PID doesn't change but you get a new friendcode. Your new Friend Code appears to be set by appending a random byte (likely sent from Nintendo's servers) to the end of your PID. For example, nicholas's Soul Silver PID is 258303618 (0x8266650f)and his Friend Code is 4297 5503 3218 (0xf8266650f64) taking endianness into account. Challenge/response Before each "real" request, the game sends a request of the form page.asp?pid=pid and the server responds with a 32-byte challenge token. The game computes sha1("sAdeqWo3voLeC5r16DYv" + token) and uses that as the hash value which it sends to the server. The data parameter is encrypted, as explained further down. For 5th gen GTS, the hash is instead, generated by sha1("HZEdGCzcGGLvguqUEKQN" + token) That is, each request looks like the following: Game requests GET /pokemondpds/page.asp?pid=pid Server responds with token Game requests GET /pokemondpds/page.asp?pid=pid&hash=sha1(...)&data=data Server responds with payload Data The data sent to the server consists of a checksum, your pid, and a payload. The 5th gen GTS also adds the length of the payload, after the pid. In generation 5, the server must append to all its responses a footer generated by sha1("HZEdGCzcGGLvguqUEKQN"+urlsafe_base64(response)+"HZEdGCzcGGLvguqUEKQN"). Checksum The checksum is a 32-bit integer, computed by simply taking the sum of every byte of the pid and payload. It is the first four bytes of the data, xor-ed with 0x4a3b2c1d (0x2db842b2 for 5th gen) and packed in network byte order (big-endian). Payload The pid and payload are encrypted with a stream cipher in for the 4th gen protocol. This encryption algorithm, like others used in the game, uses a Linear Congruential Generator (not a very strong choice). The multiplicative constant is 0x45, and the additive constant is 0x1111. It appears that the game uses a signed dword to store the seed, which doesn't really matter; it shouldn't affect anything. (It means that the modulus is effectively 0x80000000.) GRNG[n+1] = (GRNG[n] * 0x45 + 0x1111) & 0x7fffffff The GRNG is seeded with the checksum, like so: GRNG[0] = checksum | (checksum << 16) The keystream is composed of the lower byte of the high word of successive GRNG values. keystream[n] = (GRNG[n] >> 16) & 0xff Xor the keystream with the plaintext to get the ciphertext. Xor the keystream with the ciphertext to get the plaintext. The entire data string is then encoded with urlsafe-base64. Conversation The first request the game makes is to /pokemondpds/worldexchange/info.asp. The server responds with 0x0001. Platinum, Heart Gold, and Soul Silver will then make a request to /pokemondpds/common/setProfile.asp. The server responds with eight NULs (0x00000000 0x00000000). After the above step(s) or performing any of the tasks below other than searching, the game makes a request to /pokemondpds/worldexchange/result.asp. If the game has had a Pokémon sent to it via a trade, the server responds with the entire encrypted Pokémon save struct. Otherwise, if there is a Pokémon deposited in the GTS, it responds with 0x0004; if not, it responds with 0x0005. Receiving a traded Pokémon If the game receives a Pokémon from a successful trade as a response from result.asp, it next requests /pokemondpds/worldexchange/delete.asp. The server responds with 0x0001. A note on sendpkm.py After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen. The Pokémon is still successfully received. At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem. Depositing a Pokémon Pokémon are offered on the GTS by requesting /pokemondpds/worldexchange/post.asp. If the Pokémon is rejected by the server, the response is 0x000c; otherwise, if the deposit is successful, 0x0001. Note that in generation 5, some tests are performed on a pokémon before it is deposited. If the pokémon is rejected at this stage (a problem was detected or one of the OT name or nickname is inappropriate) it is NOT sent to the GTS and error 13267 is displayed. The game then saves. After the save is complete, it issues a request to /pokemondpds/worldexchange/post_finish.asp. In generation 5, the sent data is 444 bytes long as follows: Offset Contents 0x00-0x03 Checksum (sum of all bytes xor 0x2db842b2) 0x04-0x07 pid 0x08-0x09 Data length (minus the 12 bytes of header) 0x0A-0x0B Unknown / Zero 0x0C-0xE7 Encrypted party pokemon data structure 0xE8-0xF7 Unknown / Zero 0xF8-0xF9 Nat. Dex ID 0xFA Gender 0xFB Level 0xFC-0xFD Requested Nat. Dex ID 0xFE Requested Gender 0xFF Requested Min Level 0x100 Requested Max Level 0x101 Unknown / Always 0 0x102 Trainer gender 0x103 Trainer nature 0x104-0x107 Always 0? 0x108-0x117 Timestamp placeholder, always 0 (set by server) 0x118-0x119 Trainer ID 0x11A-0x11B Secret ID 0x11C-0x12B OT Name (Unicode, must end with 0xFFFF) 0x12C Country 0x12D City 0x12E Trainer class/sprite 0x12F Is Exchanged Flag (Always 0) 0x130 Game version 0x131 Region/language 0x132 Unknown (0 to 8) 0x133 Unlocked floors in Unity Tower 0x134-0x137 Unused 0x138-0x1B7 Signature of pokémon struct 0x1B8-0x1BB Terminator (0x80000000) In generation 4, the sent data is 296 bytes long and as follows: Offset Contents 0x00-0x04 PID 0x04-0xEF Encrypted party pokemon data structure 0xF0-0xF1 Nat. Dex ID 0xF2 Gender 0xF3 Level 0xF4-Fx05 Requested Nat. Dex ID 0xF6 Requested Gender 0xF7 Requested Min Level 0xF8 Requested Max Level 0x09 Always 0 0x0A Trainer's Gender 0xF9-0x109 Zero / Timestamps and PID placeholders 0x110-0x11F Trainer's Name 0x120-0x121 Trainer's OT ID 0x122 Country 0x123 City 0x124 Trainer's Sprite 0x125 Is Exchanged Flag 0x126 Game Version 0x127 Language Retrieving the deposited Pokémon Checking on the deposited Pokémon is apparently done by /pokemondpds/worldexchange/get.asp. The response appears to be a Pokémon save struct. Retrieving the deposited Pokémon is done by /pokemondpds/worldexchange/return.asp. The response is merely 0x0001; the actual Pokémon data is taken from the get.asp request. Searching Searching is done through /pokemondpds/worldexchange/search.asp. The sent data is either 15 or 16 bytes long. The server responds with a full 292-byte Pokémon struct for each result. If there are n results, the response will be 292 * n bytes long. If there are no results, the server will give an empty response (0 bytes). Pokémon struct The Pokémon data for the Generation IV GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player's name & country, and what Pokémon they are requesting. In Generation IV, the trainer name is encoded with the Pokémon character table, while in Generation V, the trainer name is Unicode encoded. They are as follows: Generation IV Encrypted Bytes Offset Contents 0x00-0x01 Nat. Dex ID 0x02 Gender 0x03 Level 0x04-0x05 Requested Nat. Dex ID 0x06 Requested Gender 0x07 Requested Min Level 0x08 Requested Max Level 0x09 Unknown - always 0? 0x0A Trainer's Gender 0x0B Unknown - always 0? 0x0C-0x13 Timestamp - deposited time 0x14-0x1B Timestamp - time traded? 0x1C-0x1F PID 0x20-0x2F Trainer's Name 0x30-0x31 Trainer's OT ID 0x32 Country 0x33 City 0x34 Trainer's Sprite 0x35 Is Exchanged Flag 0x36 Game Version 0x37 Language The data for the Generation V GTS is 296 bytes (16 bytes of padding in between the encrypted party data and the GTS data) and adds the trainer's secret ID, an additional two unknown bytes at the end, and shifts the position of the trainer name to after the trainer and secret IDs. Generation V Encrypted Bytes Offset Contents 0x00-0x01 Nat. Dex ID 0x02 Gender 0x03 Level 0x04-0x05 Requested Nat. Dex ID 0x06 Requested Gender 0x07 Requested Min Level 0x08 Requested Max Level 0x09 Unknown - always 0? 0x0A Trainer's Gender 0x0B Unknown - always 0? 0x0C-0x13 Timestamp - deposited time 0x14-0x1B Timestamp - time traded? 0x1C-0x1F PID 0x20-0x21 Trainer's OT ID 0x22-0x23 Trainer's Secret ID 0x24-0x33 Trainer's Name 0x34 Country 0x35 City 0x36 Trainer's Sprite 0x37 Is Exchanged Flag 0x38 Game Version 0x39 Language 0x3A-0x3B Unknown Pokémon Gender Value Type 0x01 Male 0x02 Female 0x03 Either/neither Trainer Gender Value Type 0x00 Male 0x01 Female Timestamp Format The timestamps are set by the server, and are always PST (UTC-8). Offset Contents 0x00-0x01 Year 0x02 Month 0x03 Day 0x04 Hour 0x05 Minute 0x06 Second 0x07 Unknown - always 0? Trainer Class (for generation 5) Value Class 0x00 Youngster 0x01 Ace Trainer 0x02 Pokémon Ranger 0x03 Pokémon Breeder 0x04 Researcher 0x05 Hiker 0x06 Skinhead 0x07 Day-Care student 0x08 Lass 0x09 Ace Trainer (female) 0x0a Pokémon Ranger (female) 0x0b Pokémon Breeder (female) 0x0c Researcher (female) 0x0d Parasol Lady 0x0e Nurse 0x0f Day-Care student (female) Game Version Value Version 0x0A Diamond 0x0B Pearl 0x0C Platinum 0x07 HeartGold 0x08 SoulSilver 0x15 Black 0x14 White
    1 point
  19. 85h 85h Values 85h is an offset in the data structure of 4th Generation Pokémon, and shows how a Pokémon was encountered. Currently 85h has no relevance to gameplay, but in certain cases it can be used to determine the Legality of a Pokémon. 85h List 00 - Egg/Pal Park/Event 02 - Tall Grass/Honey Tree 04 - Dialga/Palkia 05 - Cave/Hall of Origin 07 - Caught in the Water 09 - Caught in Buildings 0A - Great Marsh/Safari Zone 0C- Starter Pokemon/Fossils (D/P) 18 - Starter Pokemon/Bebe's Eevee (Platinum) 17- Giratina (Origin)(Platinum) ??- Giratina (Another)(Platinum) ??- Fossils (Platinum)- 18? ??- Honey Tree (Platinum)- Pretty sure its 02 but not confirmed. ??- Dialga/Palkia (Platinum)
    1 point
  20. /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
    1 point
×
×
  • Create New...