Pokémon Save File Editor
Go to file
javierhimura 60cde3ec68 Split Breed Egg Moves improvements (#1058)
* 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 evoltuion 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

* Added missing skipOption to a call to getBaseEggSpecies

* Functions to obtain moves excluvie to preevolutions, like moves that Azurill/Happiny could learn throught level up or TM but Marill/Chansey could not learn, icompatible with any Marill/Chansey egg moves
Also add functions to return egg moves and base egg moves for both possible species for split breed eggs

* Check both species from split breed egg at the same time to report moves incompatibilities

* Reduced generation 4-5 was egg game check
There is no need to check every possible generation game.
For every egg species HGSS learnset tables y egg moves table contains all the moves from the same species in DP and Pt, without any move exclusive to that games except in legendaries, and they cant breed
In generation 5 is the same with B2W2 except for Exxegutte, it have a exclusive level up move from B1W1, Psychic, but it can learn the move with TM, it wont count as an egg move

* Check incompatible split breed moves in verify relearn egg

* Fix generation 1 incompatibility moves check
SolarBeam removed from Exeggcute/Exeggutor incompatiblity, Exeggutor could learn it with a TM in generation 1
Removed Vaporeon Mist and Eevee Take Down incompatiblity, Vaporeon could learn Take Down with a TM in generation 1
2017-04-14 10:11:50 -07:00
PKHeX Split Breed Egg Moves improvements (#1058) 2017-04-14 10:11:50 -07:00
PKHeX.WinForms Improve visual interactivity with storage slots 2017-04-13 23:05:19 -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).