Jump to content


Helpful Member
  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Kaphotics

  1. Done: https://github.com/kwsch/PKHeX/commit/0156958f1aa330b73d19ca7978829465108eff5a
  2. Edited ROMs can only be played on exploited consoles. Please do not ask (nor private message me) how to obtain/dump/decrypt/unpack/repack ROMs as that is unrelated to the functionality of this program. Download Link At Bottom of Post pk3DS is a ROM editor for 3DS games with tools from various contributors. All editors displayed are fully functional. Simply feed it a folder (drag/drop or by File->Open) which contains the game romfs & exefs extracted content folders. Randomizers available: Trainer Battles (Pokemon / Items / Moves / Abilities / Difficulty / Classes) Wild Encounters (Species, Level, Gen/Legend Specific, ORAS DexNav won't crash!) Personal Data (Pokemon Types / Stats / Abilities / TM Learnset) Move Randomizer (Type / Damage Category) Move Learnset (Level Up / Egg Move) Evolutions TM Moves Special Mart Inventory etc Download the latest version here (log in as guest, zip is under Artifacts tab) Source code is available on my GitHub.
  3. Added Trainer Records editing in the latest commit: https://github.com/kwsch/PKHeX/commit/fa4318ae2f4ca0a6e15c2f4fa5a25438b4fc50d9
  4. >eevee bred it has no relearn moves, thus not bred. There's a gift eevee encounter that looks almost exactly like a bred eevee, except it has no relearn moves. PKHeX is working as intended.
  5. Edited ROMs can only be played on exploited consoles. Please do not ask (nor private message me) how to obtain/dump/decrypt/unpack/repack ROMs as that is unrelated to the functionality of this program. Download Link At Bottom of Post pkNX is a ROM editor for the Nintendo Switch Pokémon games with tools to edit various game data. All editors displayed are fully functional. Simply feed it a folder (drag/drop or by File->Open) which contains the game romfs & exefs extracted content folders. Edited files will be saved to a patch folder (named after the game's title ID), and will preferentially load edited files before defaulting back to the unmodified files in the romfs/exefs folders. Edited files are only saved when the program closes, and edits in individual windows can be discarded by hitting Close (X) rather than Save. Randomizers available: Trainer Battles (Pokemon / Items / Moves / Difficulty / Classes) Wild Encounters (Species, Level) Personal Data (Pokemon Types / Stats / TM Learnset) Move Learnset (Level Up) Evolutions etc Download the latest version here (log in as guest, zip is under Artifacts tab) Source code is available on my GitHub.
  6. RandomGender: It's a derived property (gets a random valid gender), so the dual gendered mons may return a different random gender. Ignore that column -- I just removed it from the export by changing the inner logic (no longer a Property) I'll investigate the others for Trainers edit: @Dziggy thanks, all should be resolved now
  7. Correct, apparently Nascour's team isn't locked at all.
  8. Needs to have full offset list etc. Here's what's needed for full info: for RS: block 2 @ 0x614 = 0x614+0xF80 within the Large save block, which falls under the gameStats region. https://github.com/pret/pokeruby/blob/fef1f0c11af596f9a740bbab82836dcef6978bab/include/global.h#L678 0x1540 starts the Trainer Stats, and is thru 0x1607 (total of 50 stats, 4bytes per stat) Some stats (incremented) have a maximum of 0x00FFFFFF (16,777,215): https://github.com/pret/pokeruby/blob/cbc414c44115550c811d6629c23c2e749d9d7fe3/src/overworld.c#L277-L286 Game Stat enumeration: RS (50): https://github.com/pret/pokeruby/blob/f839afb24aa2c7b70e9c28a5c069aacc46993099/include/constants/game_stat.h E (64): https://github.com/pret/pokeemerald/blob/3a40f5203baafb29f94dda8abdce6489d81635ae/include/constants/game_stat.h FRLG (64): https://github.com/pret/pokefirered/blob/8367b0015fbf99070cc5a5244d8213420419d2c8/include/constants/game_stat.h Confirmation that E/FRLG xor the gamestats: E: https://github.com/pret/pokeemerald/blob/3a88ab831d2fb57e1f3e0908aeb79395700867d4/src/overworld.c#L506-L512 FRLG: https://github.com/pret/pokefirered/blob/8f7400809626c0f72dfe751665126f94181fd7c1/asm/overworld.s#L316-L331 RS (doesn't): https://github.com/pret/pokeruby/blob/fef1f0c11af596f9a740bbab82836dcef6978bab/src/overworld.c#L288-L294 === Outside of that, figuring out how to present the UI without it being a large implementation needs to be done...
  9. For each pokemon that has a PIDIV requirement (nonshadow), the game must [regenerate PIDIVs until satisfied] before generating the next party member. Colosseum usually has Shadow mons first, and XD has them at the end of the party. Results in less locked-down data for Colosseum Anything without locks can have any PIDIV (assuming it's of C/XD type origin)
  10. Kaphotics

    bug in last update

    @ThePunish3D thanks, assuming these were never modified https://github.com/kwsch/PKHeX/commit/3474d97fb29c2f688970ac15e1fddbee04f371b8 (I had made some refinements in the calculation, but still can't match the game's precision )
  11. Kaphotics


    Version 19.02.07


    Pokémon core series save editor, programmed in C#. Supports the following files: Save files ("main", *.sav, *.dsv, *.dat, *.gci) GameCube Memory Card files (.raw, .bin) containing GC Pokémon savegames. Individual Pokémon entity files (.pk*) Mystery Gift files (.pgt, .pcd, .pgf, .wc*) including conversion to .pk* Importing teams from Decrypted 3DS Battle Videos Transferring from one generation to another, converting formats along the way. Data is displayed in a view which can be edited and saved. The interface can be translated with resource/external text files so that different languages can be supported. Pokémon Showdown sets and QR codes can be imported/exported to assist in sharing. Nintendo 3DS savedata containers use an AES MAC that cannot be emulated without the 3DS's keys, thus a resigning service is required (svdt, save_manager, JKSM, or SaveDataFiler). We do not support or condone cheating at the expense of others. Do not use significantly hacked Pokémon in battle or in trades with those who are unaware hacked Pokémon are in use. FAQ Support Forum <-- Post here if you have questions or found bugs
  12. Kaphotics

    bug in last update

    @ThePunish3D Diglett: Fixed in latest commit, ty: https://github.com/kwsch/PKHeX/commit/d03ff3014039dcc94fe0dba8aadade6869eac65b Gyarados: See:
  13. Wait for the next update; has already been fixed. https://projectpokemon.org/home/forums/topic/49137-exception-error/
  14. Nobody has documented how to enable box storage, so I can't implement it unless someone figures it out first. edit: see below, kinda cludgy to get working with PKHeX at the moment
  15. Author's Webpage: http://www.geocities.jp/bt_vermeille/remodel/pokemon_bw/ | (B2W2) Japanese Program. .NET 2.0 Required. Edits the ROM, not narcs. Features: Species Editor Evolution Editor Encounter Slot Editor Move Editor Download *TRANSLATED* Pokemon ROM Changer: B2W2 - English ROMs (by Kaphotics) B2W2 - JP Translation (by Kaphotics and Andibad) BW Translation (by Andibad) For ROM Hacks: PRC for BBVW2 Complete 1.1 PRC for BBVW2 Vanilla 1.1 PRC for BBVW2 Complete 1.00 PRC for BBVW2 Vanilla 1.00 Bond697 has graciously provided decompiled code (via .NET Reflector). It's not the original code, but it compiles into the same program. Original prc_bw2 (B2W2) Original prc_bw (BW) --Source for prc_bw2 translation (English) --Source for prc_bw2's translation (JP)
  16. I looked through the data and the checksums for the backup fail; it looks like it's uninitalized. Try saving a few times in-game, restart the console, repeat, then export.
  17. Assuming it originated from Sun/Moon, it has to have a Handling Trainer set in order to obtain US/UM tutors (it has to leave the OT at least once, since the OT cannot obtain the tutors alone).
  18. pk3DS requires folders of unpacked game data, not raw dumps. You need to unpack them first with another tool.
  19. Can't tell without seeing the save file. PKHeX requires the checksums to be valid, but I don't believe that's it.
  20. PKHeX does not recognize most gen3 events at this time.
  21. PKHeX resets it to 225. https://github.com/pret/pokered/blob/725b86ebbec23bd1f53fd60bf0201c904fee951d/data/baseStats/krabby.asm#L9
  22. If the "allow tradebacks" is set to yes, then the pkm is allowed to be traded to GSC where the held item can be removed, or it can match a GSC encounter instead. Either of those cases will result in a RBY-format catchrate byte being 0, which is perfectly legal. Working as intended The reset functionality just applies a legal value; double check the verbose legality report to see what encounter it matched to.
  23. the game generates a PID for the pokemon. during battle, it will display as shiny if the NPC trainer ID makes the PID shiny. after battle (capture), it will be shiny only if YOUR trainer ID makes the PID shiny. There's no re-rolling involved before/after purification/capture.
  24. Download PWTE 2.1 by Prof.9 == So far there have been 4 download tournaments and one secret relic tournament locked away in the ROM; I might as well explain where it's at and how most of the important stuff is stored. I spent a little bit of time figuring out enough to get meaningful data out like text and teams, nothing more than that... so here's what I've found so far. PWT download events are set into the save file in the latter half along with all of the other downloadable content like mystery gifts. The tournament region is 0x7A000-0x7DFFF, for 0x1400 bytes for each tournament * 3 tournaments. By just looking at a downloaded tournament, it's hard to visually see the general structure via a hex viewer because it doesn't display Japanese characters... for visual help, you can use /a/2/5/8 from B2/W2's files, as this was their hard-coded test tournament that has a bit of English text (and wasn't removed for retail release). 0xA-0x54: Tournament Name ~afterwards, there's text for describing the tournament PKMs are set up to be as compact as possible, skipping nonessential stuff kinda like battle pkms. 52 bytes per PKM (0x34), one after another to make 6. Structure of PWT-DLC PKMs: 0x0-0x1: Species 0x2-0x17: 11 character namefield (after names, they are usually 0xFFFF aka terminators, not characters) 0x18-0x19: Held Item 0x1A: Shiny Flag (00 or 01) ~ unconfirmed, hasn't been used except for the ROM tournament 0x1B: Ability 0x1C: HP EV 0x1D: ATK EV 0x1E: DEF EV 0x1F: SPE EV 0x20: SPA EV 0x21: SPD EV 0x22-0x23: Move 1 0x24-0x25: Move 2 0x26-0x27: Move 3 0x28-0x29: Move 4 0x2A: gender? ~ unconfirmed. may just be bitflags for stuff 0x2B: Nature 0x2C-0x2F: IVs (stored same way as pkms) 0x30: ??? always 0. might be secondary sparkle like N's 0x31: Ball 0x32: Current Level 0x33: Happiness 0x270: Start of Trainer 1 PKM1: 0x274-0x2A7 PKM2: 0x2A8-0x2DB PKM3: 0x2DC-0x30F PKM4: 0x310-0x343 PKM5: 0x344-0x377 PKM6: 0x378-0x3AB 0x3AC-0x3C1 - Trainer Name ~ not sure on the lengths of these 0x3CC-0x3DD - Trainer Class ~ as I haven't seen longer name/classes Trainer win messages or something afterwards, didn't care enough to determine how they worked. Next trainer: 0x650: start of trainer 2 0x654: pkm data.... 0x3E0 between each trainer block, always 4 trainer blocks (0x270, 0x650, 0xA30, 0xE10) 0x1400 next tournament... repeats... 0x1670 trainer 1... 0x1A50 trainer 2... etc. that's all I know, however there's certain bytes somewhere which make the game use other stuff in the ROM instead of the programmed PKMs or trainer name/class. I just wanted to get the important team sets out so I didn't bother figuring out the entire structure. === resources~ Excel Parser ~ paste in tabulated data strings into the proper cells. PKM related lookup tables from Bulbapedia & pkmcodedepo and character tables from here. Ripped Tournament from the region I mentioned above (7A000-7BFFF). "PWT Download" for the file extension naming example results from parsing stuff & (rom example)
  25. The update has been out for a while now; if things were broken, I'd expect to have heard so sooner. It's more likely you've done something wrong in transferring the data to your computer. You can try PMing me the save file so I can confirm it's garbage, but double check you've dumped things correctly.