Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/28/20 in all areas

  1. Sorry to bump this but, I found some interesting stuff. Thanks to Helix Chamber's collection of Pokémon Spaceworld '97 footage, there's actually footage from the Mew Machine area. I also found a version of the Guidebook on Archive.org. One of the pages has info about the Mew distribution. Working to see if I can get an actual scan of that page from someone.
    2 points
  2. PKHeX is now able to edit parts of the save, known as save blocks. It allows users to export and import various save blocks. Here's a tutorial on how to get it done. Steps 0. Keep a safe backup of your unedited save, somewhere on your computer. We're not liable if this results in a corrupted save. 1. Make sure you redownloaded and use the latest PKHeX. (Initial version with this feature caused corruption. Additionally, older copies do not have the feature) 2. Load the target save in PKHeX. 3. Now, click on SAV on the tabs. 4. Now, click on the button Block Data 5. Another window should open up. 6. Scroll through the dropdown list at Block Key:. For this example, I'll be importing the file normal_encount into *Object KNormalEncount (Original quote below, can be found here) Since I'm importing into *Object KNormalEncount, that is what my screenshot shows. 7. Now that Block Key: is showing the correct value, select Import Current Block. 8. A window should pop-up. Select the correct file to import, then select Open. In my case, I'm importing the file normal_encount. 9. Now that the file has been imported, close only the first window 10. Then, proceed to File > Export SAV... > Export main 11. Now close PKHeX. If you want to make sure the new save file is not corrupted, reopen PKHeX and try to load the save. 12. You're done. Now reimport the save into your Switch to observe the effects. Note: As of v.1.2.0 of the game, they added a new file called normal_encount_rigel1, which I've been told is required for wild area events to work. For wild area events Index 24 and lesser, simply also import normal_encount into knormalencountrigel1. This means normal_encount is imported into two block IDs, being knormalencount and knormalencountrigel1.
    1 point
  3. Pokémon Structure in RAM Due to a lack of documentation regarding how Pokémon are stored in RAM during battle of the generation 4 games I have taken it upon myself to document how they are structured and how to extract them. I've found that the Pokémon data is stored around the addresses 002C0BC2 to 002D5780 when a RAM dump is viewed in a hex editor. The length of the data is of 128 bytes (decimal value) or 80 bytes (hexadecimal value) per Pokémon. With that the following is the structure of Pokémon data in the RAM of generation 4 main line games if the relevant 128 bytes were extracted from the RAM; therefore, I'll be starting at address 0x00. Please note that for all values that use 2 or more bytes the values are stored in little-endian format. Offset Content 0x00-0x01 National Pokédex identification number. 0x02-0x0B 0x02-0x03 = Attack stat 0x04-0x05 = Defense stat 0x06-0x07 = Speed stat 0x08-0x09 = Special attack stat 0x0A-0x0B = Special defense stat 0x0C-0x13 The moves known by the Pokémon with every two bytes corresponding to the move index. 0x0C-0x0D = Move 1 0x0E-0x0F = Move 2 0x10-0x11 = Move 3 0x12-0x13 = Move 4 0x14-0x17 IVs, IsEgg Flag, IsNicknamed Flag. Same as in Block B of PKM Structure for Gen 4 found in the tech documents. 0x18-0x1F This set of bytes start at 06 and keeps track of the how the stats of the Pokémon have increased or decreased during the battle. Example 00 = a decrease in a stat by -6 stages and 0C = an increase in a stat by +6 stages. 0x20-0x21 These bytes are linked to the species of the Pokémon in some way. As such a byte combination of 70 0B will be set there if the opposing Pokémon is a Lugia. 0x22-0x23 Unused, in all tests. All bytes have been 00 and after many tests these bytes did not change. 0x24-0x25 These bytes are linked to the species of the Pokémon in some way. As such a byte combination of 0E 02 will be set there if the opposing Pokémon is a Lugia. 0x26 Pokémon form index. If the Pokémon does not have more than one form or the Pokémon is in its base form this value will be 00. Note form and evolution stage are different concepts. 0x27 Ability index 0x28 Unused, in all tests. All bytes have been 00 and after many tests these bytes did not change. 0x29 Appears to change if the Pokémon has a blanket ability activated. 00 = no blanket ability and 04 = the Pressure ability. It is unclear if this byte can have a value other than 00 or 04 depending on the ability. 0x2A-0x2B Unused, in all tests. All bytes have been 00 and after many tests these bytes did not change. 0x2C-0x2F Current Power Points of moves. 0x2C = Power Points Remaining for move 1 0x2D = Power Points Remaining for move 2 0x2E = Power Points Remaining for move 3 0x2F = Power Points Remaining for move 4 0x30-0x33 Number of PP UPs used for each move. 0x30 = Number of PP Ups used on move 1 0x31 = Number of PP Ups used on move 2 0x32 = Number of PP Ups used on move 3 0x33 = Number of PP Ups used on move 4 Values cannot exceed hexadecimal value 03. 0x34 Current level of Pokémon. Value cannot exceed hexadecimal value 64. 0x35 Happiness of Pokémon. 0x36-0x4B Pokémon nickname. If no nickname is set the Pokémon species name will be stored here with a terminating FF value. Note this is a character array; therefore, little-endian formatting does not apply here. 0x4C-0x4D The current Hit Point value of the Pokémon. 0x4E-0x4F Unused, in all tests. All bytes have been 00 and after many tests these bytes did not change. 0x50 The max Hit Point value of the Pokémon. 0x51-0x53 Unused, in all tests. All bytes have been 00 and after many tests these bytes did not change. 0x54-0x63 Original trainer (OT) name. If the Pokémon belongs to a non-playable character (NPC) all bytes will be 00 with a terminating FF. Note this is a character array; therefore, little-endian formatting does not apply here. 0x64-0x67 Current EXP. If the Pokémon belongs to a NPC all bytes will be 00. 0x68-0x6B Pokémon personality identification number (PID). 0x6C This byte gets set if the Pokémon is affected with a status condition that is not temporary such as burn or poison. 0x6D-0x73 Each byte correlates with a temporary status condition. For example the byte set for confusion is the counter for how many turns is remaining before the confusion status effect wears off. 0x74-0x75 Trainer identification number (ID). 0x76-0x77 Trainer secret identification number (SID). 0x78-0x79 The index of the item that the Pokémon is holding. 0x7A-0x7D Each byte correlates with a status condition that is not temporary. The byte set for sleep is the counter for how many turns is remaining before the wakes up. 0x7E This byte is the gender of the Pokémon. 00 = male, 01 = female, 02 = genderless. 0x7F This byte is the type of Poke Ball that the Pokémon is in. If it is in a special ball from Pokémon Heart Gold or Pokémon Soul Silver this byte will be 04 which is the same as the Poke Ball. --footer-- Pokémon Extraction In order to easily extract a Pokémon from RAM I recommend dumping the RAM as soon as the Pokémon that you want to extract is sent into battle. This is done so when viewing the RAM in a hex editor you can find a string of bytes that is both unique enough that it will not appear multiple times in the RAM and consistent with any Pokémon currently in the RAM. With that said the string of bytes that meets both of these conditions in most cases is the stat increase/decrease values with would be 06 06 06 06 06 06 06 06. Please note if an ability such as Intimidate or Download actives before dumping the RAM you will have to adjust the string of bytes accordingly. In a standard 1 vs 1 battle the first Pokémon that will appear in the RAM will be yours and the second one will be your opponents. From there follow how a Pokémon is stored in the save file in order to rearrange the data to create a valid PK4 file. Update: I have developed an application that can find and extract Pokémon from a generation 4 RAM dump file. Application can be downloaded from here Additional Reading
    1 point
  4. Did you find this video from the comments on the Hard4games video? Just wondering haha
    1 point
  5. You'll run into the same legality issues if you do that and using the AR code to catch that way will discard relevant information. That is why I mapped that RAM to preserve the important information. But, in your case I'd say first try to find the Pokemon in the save file. Even though I don't know how much of the Pokemon data is transferred to the Pokewalker, you can hope that the Pokemon in their entirety transferred during friend interaction. If not the RAM dump will be your best bet then,
    1 point
  6. As far as I can see Pokémon House editing isn’t apart of PKHeX so you will not be able to use that to dump then. As far as I’m aware no one has done the research to find that in the save. Also if the save is empty you might not have dumped to save properly. If the save is dumped properly and you can load it up in an emulator you might find the attach thread useful to some degree. However, extracting them directly from the save will probably give better results.
    1 point
  7. I just got Magearna minutes ago. It's definitely possible to get it. You just can't get infinite ones like you could for a couple of days. What I did: 0. (not sure if needed) delete the very fake original colour magearna from years ago that I was surprised it even let me transfer into Pokemon Home. 1. Put all 890 Pokemon into Bank *at the same time*. It isn't enough that you put them in earlier, or that they are all registered in the poke dex. They need to all be stored in Pokemon Home right now. 2. In the Switch version of Pokemon Home, move every single box that has your living dex in it 1 space to the left or right. Every single one. All of them. 3. Save and quit the app. 4. (not sure if needed) clear the cache on the mobile app 5. open up the mobile app and check mystery gifts. I'm pretty sure the problem is that some species failed to register properly when we did mass transfers from the 3DS. The in-game pokedex is working correctly (meaning there's no way to tell which species didn't work) but some other part, which we can't see, did not work correctly. The purpose of putting all species in, and then moving all the boxes, is to force the app to re-check all the boxes, so it can finally notice whatever species it failed to register the first time. Because you can't tell which species is the problem, the best thing to do is just force it to re-check everything.
    1 point
  8. No SwSh or Switch to try the candy thing lol. I played around in hex and made it work for editing pk8 files, but no luck on getting it to stick to pk7 (no real clue what i'm doing.) Looks like there's extra bytes at the end in pk8 file anyway.
    1 point
  9. Thank you so much for the help! However now it marks my Pokemon as Ilegal because "Nickname does not match species name" So I tried this and nothing, pretty sure Im doing something wrong *Edit* Nevermind I got, thank you based @theSLAYER
    1 point
  10. 1 point
×
×
  • Create New...