Pokémon Save File Editor
Go to file
javierhimura 0af983547d Fix legality issues (#1055)
* Added method getBaseEggSpecies to get the base species when the pokemon was an egg, is needed because for format 1 pokemon with egg origin every time getBaseSpecies is called is returning the gen 1 base species obtaining invalid eggmoves and base egg moves
Also getBaseEggSpecies was using Evolves1 when format = 1 even when asking for a gen2 egg base species, returning Pikachu egg moves (empty list) instead of Pichu egg moves

* Fix ability checking for generation 3 pokemon, likea de Seadra from Issue #1011
pkm.AbilityNumber have a value assuming PID match ability like a generation 4 pokemon but the validation should be ignored if is a generation 3 pokemon with only one ability in generation 3
Also changed the validation for ingame trades with fixed abilities to check only with generation 3 abilities in the case the species has two abilities generation 3, if only one was possible any PID should be valid with the generation 3 ability
Encounter Trades
Also the check for evolution was wrong, the most evolved species is the first in the evochain, not the last

* Fix evolution chains for gen 3 pokemon in format 4

* Fix ability for generation 3 trades. Ability could not change if there were 2 abilities in generation 3, that means it is irrelevant if the pokemon evolved in gen 4-5, the ability number must match the encounter
2017-04-13 08:48:13 -07:00
PKHeX Fix legality issues (#1055) 2017-04-13 08:48:13 -07:00
PKHeX.WinForms Refactoring 2017-04-12 23:42:08 -07:00
Tests/PKHeX.Tests String editing refactor 2017-04-09 14:06:50 -07:00
.gitattributes Minor changes to git config files 2015-07-21 00:23:50 +02:00
.gitignore Ignore .vs folder, is a folder where Visual Studio 2015 put all machine and user-specific files 2017-02-15 19:53:25 +01:00
LICENSE.md Add license. 2015-07-20 20:54:07 -07:00
PKHeX.sln Made clickonce less intrusive to normal builds 2017-03-01 14:50:38 -06:00
README.md Specify in the readme that only MC containing Pokémon savefiles are valid 2017-04-02 18:47:18 +02:00

PKHeX

License

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.

Screenshots

Main Window

Building

PKHeX is a Windows Forms application which requires .NET Framework v4.6.

The executable can be built with any compiler that supports C# 6.0.

Build Configurations

Use the Debug or Release build configurations when building using the .NET Framework. Use the Mono-Debug or Mono-Release build configurations when building using Mono.

Dependencies

PKHeX's QR code generation code is taken from QRCoder, which is licensed under the MIT license.

IDE

PKHeX can be opened with IDEs such as Visual Studio or MonoDevelop by opening the .sln or .csproj file.

GNU/Linux

Install MonoDevelop and Mono Runtime with flatpak install --user --from https://download.mono-project.com/repo/monodevelop.flatpakref. GNU/Linux is not the main Operating System of developers of this program so there may be bugs; some may come from non GNU/Linux specific code of Mono (so developers using *BSD, Windows and OS X should be able to reproduce them).