No description
Find a file
Kurt 3e7775fc44
Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222)
* Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately

Don't store within the object, track the slot origin data separately.

Batch editing now pre-filters if using Box/Slot/Identifier logic; split up mods/filters as they're starting to get pretty hefty.

- Requesting a Box Data report now shows all slots in the save file (party, misc)
- Can now exclude backup saves from database search via toggle (separate from settings preventing load entirely)
- Replace some linq usages with direct code

* Remove WasLink virtual in PKM

Inline any logic, since we now have encounter objects to indicate matching, rather than the proto-legality logic checking properties of a PKM.

* Use Fateful to directly check gen5 mysterygift origins

No other encounter types in gen5 apply Fateful

* Simplify double ball comparison

Used to be separate for deferral cases, now no longer needed to be separate.

* Grab move/relearn reference and update locally

Fix relearn move identifier

* Inline defog HM transfer preference check

HasMove is faster than getting moves & checking contains. Skips allocation by setting values directly.

* Extract more met location metadata checks: WasBredEgg

* Replace Console.Write* with Debug.Write*

There's no console output UI, so don't include them in release builds.

* Inline WasGiftEgg, WasEvent, and WasEventEgg logic

Adios legality tags that aren't entirely correct for the specific format. Just put the computations in EncounterFinder.
2021-06-22 20:23:48 -07:00
.github Updated German translation (#3223) 2021-06-22 20:12:15 -07:00
PKHeX.Core Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
PKHeX.Drawing Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
PKHeX.WinForms Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
Tests/PKHeX.Core.Tests Get criteria from set details 2021-06-14 21:11:46 -07:00
.gitattributes Minor changes to git config files 2015-07-21 00:23:50 +02:00
.gitignore Fix save resigning for USUM, add resources for new pokemon 2017-11-08 11:31:09 -08:00
LICENSE.md Add license. 2015-07-20 20:54:07 -07:00
PKHeX.sln Remove explicit mono build, update readme 2019-10-16 20:52:09 -07:00
README.md Updated German translation (#3223) 2021-06-22 20:12:15 -07:00

PKHeX

English / Español / Français / Deutsch

License

Pokémon core series save editor, programmed in C#.

Supports the following files:

  • Save files ("main", *.sav, *.dsv, *.dat, *.gci, *.bin)
  • GameCube Memory Card files (*.raw, *.bin) containing GC Pokémon savegames.
  • Individual Pokémon entity files (.pk*, *.ck3, *.xk3, *.pb7, *.sk2, *.bk4)
  • Mystery Gift files (*.pgt, *.pcd, *.pgf, .wc*) including conversion to .pk*
  • Importing GO Park entities (*.gp1) including conversion to .pb7
  • 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.

PKHeX expects save files that are not encrypted with console-specific keys. Use a savedata manager to import and export savedata from the console (Checkpoint, 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, with experimental support for .NET 5.0.

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

Build Configurations

Use the Debug or Release build configurations when building. There isn't any platform specific code to worry about!

Dependencies

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

PKHeX's shiny sprite collection is taken from pokesprite, which is licensed under the MIT license.

IDE

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

GNU/Linux

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/Wine, so other users may not be able to reproduce the error you are experiencing.