PKHeX - By Kaphotics http://projectpokemon.org/pkhex/ 22/02/04 - New Update: - Introducing Pokémon Legends: Arceus support! Thanks @SciresM, @sora10pls, @Lusamine, @architdate, @ReignOfComputer for troubleshooting! - - Initial Legality Checking is provided. Please refer to the forums when reporting legality issues for PLA parsing. - - Save Data is similar to SW/SH; a pokedex, trainer, inventory, and block data editor are provided. - - Encounter legality has been reverse engineered & modeled to pre-compute possible met locations for overworld interactables. - Added: - - Gen8 BDSP wild encounters are now generated with RNG patterns matching the game. Thanks @Lusamine ! - - Gen8 BDSP xorshift RNG implemented, now available for PKHeX.Core referencing. - - Gen8 BDSP zone unlock cheat to fly to all locations. Thanks @sora10pls ! - - Gen8 BDSP named constant for BDSP swarms for the event editor. Thanks @MewTracker ! - Changed: - - Internal asset loading speed has been improved (more friendly to the runtime's garbage collector). - - Internal value read/writes now work correctly for Big Endian runtimes. - - Internal value read/writes are now allocation-free; memory allocation for strings has been reduced drastically too. - - Clicking stat labels now changes nature amplification. Refer to the shortcut list for more info. - Fixed: - - Gen8 BDSP in-game trades are now checked for EC/PID legality. - - Gen4 DPPt Swarm & Safari seeds now read/write correctly. Thanks @edo9300 ! - - Gen4 feeding a single low-quality poffin no longer indicates invalid sheen. Thanks Jollygator ! - - Gen3 Item quantity reads now behave correctly. Thanks @MichiS97 (dev build bug)! - - Gen3 Shadow Monitor now reads all species correctly. Thanks @Mutty99 ! - - Gen2 Odd Eggs and E-Speed Dratini now recognize correctly prior to transfer. Thanks @N-Harmonik ! - - Gen1/2 Evolution chains now return a more accurate min/max level for each stage. Thanks @Ninjistix ! - - Handled more oddball encounters. Thanks @Skadiv & @Ninjistix ! 22/01/01 - New Update: (114030) [4461382] - Legality: - - Added: Hatch Counter legality checking. - - Added: Contest Stat Sheen legality checking (roughly compared to amount of other contest stats gained). - - Added: Munchlax encounter slots for DPPt and BDSP are now checked for Trainer ID legality. - - Fixed: BDSP Gigantamax is now flagged illegal correctly. - - Fixed: BDSP Meister Magikarp now recognized correctly. - - Fixed: BDSP bred (egg) ball legality for Great Marsh exclusives now require Safari Ball. - - Fixed: BDSP underground level ranges for Area 6 revised per National Dex early acquisition. - - Fixed: BDSP encounter searching no longer considers SWSH TR flags when checking if a move is learnable. - - Fixed: BDSP encounter slots that cannot obtain their Hidden Ability via Radar or Ability Patch are now flagged. Thanks @Lusamine ! - - Fixed: BDSP impossible egg hatch locations are now recognized (some version exclusives). Thanks @Lusamine & @sora10pls ! - - Fixed: BDSP location crossover surf encounters now recognized as valid. Thanks @sora10pls ! - - Fixed: SWSH "restaurant" memory now recognized as legal (Circhester restaurant). Thanks @Lusamine ! - - Fixed: Sketched moves are now properly flagged if the move is out of range for the game the PKM is present in. - - Fixed: Gen4 Shedinja now recognizes correctly with Cute Charm, and permits Sport Ball due to HGSS ball quirk. Thanks @Lusamine ! - - Fixed: Gen1/2 Tradeback Catch Rates are now flagged if the PKM has Gen2 moves and the unmodified Gen1 catch rate. Thanks @soopercool101 ! - Added: SWSH Gen8 localization for Memories to display memories as they appeared in the memory's original game. - Added: BDSP Dialga/Palkia & Roamer reset cheats to the Misc Editor. Thanks @sora10pls ! - Added: BDSP In-Game Trainers can now be marked as defeated in bulk in the Misc Editor. - Added: BDSP savedata blocks are now editable for Battle Tower / RandomGroup / Union Room / etc. - Added: BDSP inventory edits now acknowledge the item sort order. - Fixed: BDSP inventory edits no longer set incorrect "NEW" flag values for items that have no quantity. - Fixed: BDSP encrypted pb8 files are now recognized correctly when opened in the program. - Fixed: BDSP daycare no longer indicates gained EXP (can't gain EXP from daycare). - Fixed: BDSP eggs dropped into the program no longer partially set trainer data. - Fixed: BDSP Pokedex clearing all entries now clears all form and language entries. - Fixed: BDSP event work values can now be properly edited in the GUI. Thanks @MewTracker ! - Fixed: Gen4 Rival String can now be edited correctly. - Fixed: Inventory editing can now filter out illegal items for giving all. SWSH no longer gives all illegal dynamax crystals. - Fixed: Program Icon now appears correctly on some generic subform windows. Thanks @murrty ! - Fixed: Clearing Contest Stats now resets to the matched encounter template's minimum values. - Fixed: Hint/Warn image no longer has stray opaque pixels. Thanks @sora10pls ! - Changed: Toggling egg state in the PKM Editor GUI will now update met locations and hatch counters correctly. - Changed: Key Items with changed names (in BDSP) now reflect the BDSP name in prior games (DPPt). 21/11/27 - New Update: (156702) [4347352] - Legality: - - Fixed: Shiny Roamers now recognized correctly (shiny type preservation with fakeTID). - - Fixed: BDSP Milotic Prism Scale evolution is now disallowed. Thanks @sora10pls ! - - Fixed: BDSP Magnezone evolution via Thunder Stone instead of level up is now recognized correctly. Thanks @NinFanBoyFTW ! - - Fixed: BDSP Ribbon indexes for Pioneer and Twinkling Star now recognized correctly. Thanks @sora10pls ! - - Fixed: BDSP Ribbon legality revised to recognize all legal ribbons in BDSP. Thanks @Kermalis & @sora10pls ! - - Changed: BDSP TrainerID + SecretID both being zero is now illegal. Also int.MaxValue due to RNG quirks. - - Added: Setting to flag entities with zero Height & Weight when appropriate; default severity is Fishy. - Added: Height & Weight randomization in the PKM Editor GUI by control clicking the numeric entry. - Added: BDSP Poffin Editor; hit Give All to give super poffins that max out contest stats in a single poffin. - Added: BDSP received Sticker (Ball Capsule) editor; max quantity of a given sticker is 99. - Added: BDSP Misc editor to toggle various cheats active (meeting all Underground NPCs, unlocking Shaymin/Darkrai events on latest patch). - Added: BDSP Battle Team slots are now indicated in boxes, similar to Gen7. If teams ever get locked, then they will show the lock symbol too! - Added: BDSP Safari RNG seed and roamer details now editable in the Encounter block. - Added: BDSP Mystery Gift receiving records are now editable in the MysteryRecords block. - Added: BDSP Player Misc data is now editable in the Player block. - Added: BDSP Underground stats are now editable in UgCount block. - Added: BDSP BP is now editable in the Trainer Info editor. Thanks @Synthlight ! - Fixed: BDSP game clear record is no longer clamped to 999,999. Please double check this record in the Trainer Editor and set to YYYYMMDD if needed. - Fixed: BDSP genderless species are now registered to the Pokédex with both gender flags instead of just Male. Thanks @sora10pls ! - Fixed: BDSP Work values are now unclamped. Thanks @Bl4ckSh4rk ! - Fixed: BDSP custom system flag set now sets the correct flag value. - Fixed: BDSP v1.1 save backups are now loaded into the File Browser (CTRL-F) correctly like v1.0 saves. - Fixed: BDSP affixed ribbon values (not mutable in game, still present) now saves correctly in the Ribbon Editor. - Changed: BDSP Box Backgrounds cropped for better viewing. Thanks @sora10pls! - Changed: BDSP met locations now indicate sublocations if applicable for that zone ID. Met Location drop-downs now auto-size their width to fit all text. - Changed: BDSP egg toggling via the PKM Editor GUI now sets the Nicknamed flag data according to matched encounter data. 21/11/21 - New Update: (50606) [4190650] - Legality: - - Fixed: TM learn permissions now reference the correct move IDs. - - Fixed: Elemental Beam type tutors now permitted for PB8 formats. - - Fixed: Revised roamer met location list to match dumped roam locations. - - Fixed: Feebas and Burmy encounter matching now behaves as intended. - - Fixed: Ball legality for bred Fossil species restricted to only Poké Balls. - - Added: Affixed Ribbon value is now checked for PB8 format. - - Added: Minimum hatch counter values are now checked for all formats. - Added: Clicking the Hatch Counter label now toggles min/max suggested values, similar to clicking the Friendship label shortcut. - Added: BDSP saves now indicate the (computer local time) saved time from the save file. Backups are now saved with this detail. - Added: BDSP Underground player inventory editor. Statues, goods, items, etc. - Added: BDSP Specialized Trainer Info editor is now used for BD/SP instead of the old generic form. - Added: BDSP Fashion unlock flags are now in the Event Flag editor. - Added: BDSP PB8<->PK8 Incompatible conversion path is now available if opted in via program settings. - Added: BDSP Daycare details including the RNG seed are now shown, similar to prior games. - Fixed: BDSP poffin ingredient berries are now able to be edited via the player Inventory Editor. - Fixed: BDSP inventory editor now deletes item slots that have been deleted via the GUI editor. - Fixed: BDSP Blank PB8 files (encounter templates) are created with AffixedRibbon=-1, along with the met locations. - Fixed: BDSP Batch editor now works for the PB8 format. - Fixed: BDSP encounter database now yields Shining Pearl egg encounters. - Fixed: Toggling egg state in the PKM Editor GUI now sets the correct met location values. - Changed: Editing the HT_Friendship value for eggs in the Memories editor is now possible if it is a HT-handled egg, rather than being greyed out. 21/11/19 - New Update: (41229) [4140044] - Introducing Brilliant Diamond & Shining Pearl Support! Thanks @SciresM, @sora10pls, @Lusamine, @architdate, @ReignOfComputer for troubleshooting! - - Initial Legality Checking is provided. Please refer to the forums when reporting legality issues for BDSP parsing. - - Bag editing, Pokédex, and Event Flags, Trainer Info editing is provided. More editable values can be found in the Block Data editor. - - Things to note: no transferring SWSH/HOME<->BDSP, roamer PIDIV correlation, no memories. Future commits may tighten legality checks. - Legality: - - Gen1: Lessened severity of missing moveslots to Fishy, if the Pokémon has been sufficiently leveled up (can skip by leveling up multiple times). - - Gen2: Crystal eggs hatched inside the 2nd floor of the Pokécenter are now correctly recognized. Thanks Freezing Dart! - - Gen4: Cute Charm frame proc yielding now emits the correct seed, and identifies the correct encounter slot value. Thanks @valthisse ! - Added: More event flag data labels. Thanks @FeralFalcon! Event data can now be filtered via settings if you only want to see rebattle, etc. - Added: Rival name changing for all games that didn't yet have it. Thanks @FeralFalcon! - Changed: .NET 6 support added for WinForms builds. .NET Framework 4.6 build is still the main build option. - Changed: Starting up the program with command line arguments (or opening via an associated file) will more intelligently source a parter sav/pkm. - Changed: Exporting a backup save file has been moved to the SAV tab, and the Export main has been merged in with the parent Export SAV item. - Changed: Gen1/2 mainline save files now indicate if they are VC era or GB era in the program title. - Changed: Gen2 modifying Hidden Power type now maximizes IVs for that type. - Changed: Gen3 egg flag being set from the GUI now adapts the language as well to match the Gen3 quirk. - Fixed: Box Report exporting to CSV no longer causes errors if a large amount of data is being written. Thanks GLBBx303! - Fixed: Gen6 Secret Base giving all decorations now correctly gives all. Was overwriting Pokepuffs :( 21/10/01 - New Update: (129061) [4098815] - Legality: - - Added: Gen8 memory checks for unobtainable values. Thanks @Lusamine, @skadiv! - - Changed: Ball legality rules updated for Gen7 starters to account for the new Gen8 raids. - - Changed: Gen1 Tradeback handling reworked for less overhead. - - Fixed more met locations for XD shadow encounters. Thanks @LegoFigure11! - - Fixed: Gen4 Cute Charm PIDs correctly emit RNG frames for encounter matching purposes. Thanks @pp-theSlayer! - - Fixed: Gen2-4 eggs are now permitted to know HM moves while still an egg. Thanks Atrius! - - Fixed: Gen3 Event gifts are now more thoroughly checked for nicknames. Thanks @FeralFalcon! - - Fixed: Gen3 Granbull & Vibrava/Flygon are now correctly handled for their ability bit values. - - Fixed: Gen2 GS eggs in PK2 format are now allowed to have egg moves. Thanks Psyduck! - - Fixed: Gen2 Red Gyarados fixed IVs & gender are now required to match the encounter. - - Fixed: Egg move source indication now shows the correct message in the legality printout. - - Fixed: Volt Tackle is now flagged correctly for non-Pichu eggs :) - Added: Can now specify how the PKM Database is sorted when it loads. - Added: Gen3-5 swarm data can now be edited in the block editor. Thanks @Bl4ckSh4rk, @SpiredMoth, @sora10pls! - Added: Gen3 Walda Wallpaper values can now be edited in the block editor. - Changed: PKM Editor form selection is now slightly wider. - Changed: Encounter Database now shows single Pokéball types if the encounter can only have one type. - Fixed: Gen3 save files that have only been saved once now load more often (empty backup detection fixed). - Fixed: Gen3 XD purification values are now read correctly on Japanese save files. - Fixed: Gen3 Colosseum Fateful encounter flag is now read correctly. - Fixed: Gen5 BW entree forest randomizing now prevents B2W2-only templates from being loaded. Thanks @SunakazeKun! - Fixed: Event Const editor loads consts with a current value of zero correctly if it has a defined name. Thanks @CanoeHope! - Fixed: Batch Editor no longer processes saved pkm files twice. - Fixed: PKM Database searching a specific format now filters correctly. - Updated: Chinese translation updated. Thanks @liketolike! 21/08/06 - New Update: (134592) [3969754] - Legality: - - Added: Gen8 Sociability legality checks. Thanks @Lusamine! - - Added: Gen8 crossover weather checks have been added. Thanks @Lusamine & @Skadiv! - - Added: Gen6/8 Memory checks have been improved a little. Thanks @sora10pls & @Lusamine! - - Added: Gen6/7 Vivillon are now flagged if the form cannot be found in the trainer's 3DS Console Region. Thanks @Lusamine! - - Changed: Wordfilter checking speeds improved drastically by caching created regexes. - - Changed: Gen8 Master Rank ribbons now permitted again for legends due to Season 10 rules. - - Changed: Inaccessible wild encounters and raid dens have been removed from the encounter database. - - Fixed: Gen8 brilliant aura boosts are only permitted if the met level is the maximum allowed for that encounter. - - Fixed: Gen8 Fog encounters are now required to be at least level 60 due to weather not being available until postgame. Thanks @Lusamine! - - Fixed: Gen4 Pokéwalker encounters are now allowed to be recognized with CuteCharm if the TID/SID is appropriate. - - Fixed: Gen4 Bug Catching Contest slots are now loaded completely. Thanks jazpersona! - - Fixed: Gen2 Dark Cave swarm slots (Dunsparce) are now loaded correctly. Thanks Purrmewtations! - - Fixed: Gen1 Yellow encounters now compare the correct catch rate values when not yet transferred. - - Fixed: Gift egg encounters are now checked for their egg locations correctly across all generations. Thanks @sora10pls! - - Fixed: Variable form encounter templates like Unown and Vivillon are now handled correctly. - Added: Gen8 Sociability for individual Pokémon can now be edited in the Memories sub-editor. - Added: Gen7 Battle Agency participant data can now be viewed as a misc slot. - Added: Gen5 GTS and Fused stored data can now be viewed as a misc slot. - Added: Gen4 Pokéwalker stored data can now be viewed as a misc slot. Thanks @Atrius97! - Added: Batch Editor can now be extended via plugins by adding custom code for filters / modifications. - Added: Batch Editor filters can now be used in the Encounter Database (similar to the PKM Database advanced search). - Added: PKM File Naming format has been extracted, and can now be replaced by a plugin to name files differently. - Added: Program settings added for the Encounter Database, to try to make viewed templates match the currently loaded data. - Added: Program settings added for the PKM Database, to prevent loading of backups and extra locations to the database. - Added: Program settings added to allow converting backwards and across incompatible generations. - Fixed: Turkish operating system languages no longer fail to launch the program. - Fixed: Hovering over slots no longer errors on Linux platforms. - Fixed: Deleting slots in the PKM Database is now handled correctly. - Fixed: Gen8 encounter slot templates now load legally when viewed, using the Overworld RNG correlation. Thanks @Atrius97! - Fixed: Gen6 female trainer appearance customization for lip color and freckles now save correctly. Thanks @sora10pls! - Fixed: Gen6 trainer sprite is now shown for XY again, and the PGL photo can be saved correctly again. - Fixed: Gen6 Super Training flags for PKM data is now localized correctly. - Fixed: Gen5 C-Gear Skin images now import correctly. Thanks @Snaid1! - Fixed: Gen5 Dream World slots now have the correct gender restrictions. Thanks @Lusamine! - Fixed: Gen4->5 transfer names with halfwidth characters and symbols are now correct. - Fixed: Gen4 HGSS frontier data is now accessed correctly via the Misc Editor. - Fixed: Gen4 Pokédex seen flags are now set correctly when writing new data to the save file. - Fixed: Gen3 XD - Setting tons of non-XD encounter species will no longer cause an error with the Memo being full. - Changed: "Encounter Type" value saved by Gen4 encounters has been renamed to "Ground Tile" to match its actual function. - Changed: Most popup windows like the Encounter Database are now closed when a new save file is loaded, rather than remain open. - Changed: Gendered species (like Jellicent) now show their genders in the Encounter Database. - Changed: Cyber Gadget quirk workaround for completing the Pokédex in Gen6/7 is no longer necessary (defunct service), and has been removed. - Changed: Updated Chinese/Spanish/German translations. Thanks @easyworld, @ajtudela, @M1atias, @Korados, @JDox! 21/05/21 - New Update: (166981) [3835162] - Fixed: Gen1-5 Money/Coin editing, no longer sets it to 0. - Fixed: Showdown set imports sometimes failing (Gender, Nickname) - Fixed: Country/Region display in the PKM Editor and Box Report now display correctly. 21/05/19 - New Update: (4867) [3668181] - Legality: - - Added: Gen8 Distribution nests / met locations are now checked according to date of availability (epoch). Thanks @Lusamine! - - Added: Gen8 nests that are inaccessible without enough badges are now checked for low level hosted raids. Thanks @Lusamine! - - Fixed: Gen6 Strongest Trainer memories are now allowed for Maison-banned entities due to in-game party bug. Thanks Fetrim & @sora10pls! - - Fixed: Gen2 Stadium gifts are now correctly flagged for having a female OT. Thanks @FeralFalcon! - - Fixed: Egg move sources are now indicated correctly (inherited, egg move, initial, etc). - - Fixed: Gen8 Shedinja affixed ribbon is now handled correctly. Yay bugs! - Added: Program settings now have more customization options, including legality parse preferences. - Removed: 40x30 sprites are now no longer toggleable; the current-gen 68x56 sprites are the way forward. - Changed: Any 40x30 sprite boxes in the UI have been upsized to 68x56. - Changed: Program settings are now saved as json next to the exe, rather than xml in a hidden user folder. - Changed: Plugins failing to load will now indicate a more detailed error message. - Changed: Minor internal refactorings to improve performance. - Changed: String handling for special game characters has been improved (namely, Farfetch’d). - Changed: Gen2 Stadium PKM files detecting language format has been improved. Thanks @suloku! - Fixed: Gen3 Colosseum/XD saves now show the correct max money / item quantities. Thanks @CanoeHope! - Fixed: Met location list now behaves properly when loading a different generation save file. - Fixed: PKM Database no longer fails to load when a savefile has an invalid party count. 21/04/06 - New Update: (87827) [3663314] - Legality: - - Added: New Egg Move order validation logic. Yay inheritance legality checking! Thanks @Lusamine! - - Fixed: Ability Patched wild encounter slots no longer show as invalid if they have the curry mark. Thanks Irina! - - Changed: Smeargle is no longer allowed to know Thousand Arrows/Thousand Waves in Gen6 (unreleased). Thanks @DaWoblefet! - Added: Gen2 Legendary Beast event flag resets. Thanks @CanoeHope, and @brianard52 / @Lusamine for testing! - Changed: The Event Flag editor logic for Gen2-7 has been rewritten, shouldn't notice any difference. - Changed: Hovering over a slot now shows the summary for 30+ seconds rather than 5 seconds, or until you move your mouse away. - Fixed: Gen3 saves no longer randomly corrupt when saving Misc Edits or Trainer Info. Thanks @Kermalis - Fixed: Gen3 saves no longer cause errors when opening some editors, and now load correctly. Thanks @AlamosIT, Sockcos! 21/04/01 - New Update: (15825) [3575487] - Legality: - - Added: Generation 8 Overworld RNG seed legality. The wandering encounters have detectable origins! - - Updated: Mystery Gift & GO Legality encounter data. - - Changed: HOME gifts are now allowed with SID > 0. - - Changed: Updated Ribbon rules for Master Ribbon & non-mythical legends. - - Changed: Gen3 Shadow Pokémon now generate with correct shadow lock data. - - Fixed: Gen6/7 Form Argument values are now handled correctly. Thanks @Lusamine! - - Fixed: Gen3 ability bit mismatching rules for in-game trades have been fixed. - Added: Gen8 Affixed Ribbon/Mark can now be changed in the Ribbon Editor. - Added: Gen7 LGPE now shows Alolan form Height/Weight records in the Pokedex. - Added: Hovering over MGDB and Database slots now shows a summary of the data. - Added: Hovering over a box/party slot now shows some legality origins of the data. - Added: Bulk Legality analysis now flags duplicate HOME tracker values. - Added: Block Editor can now be used for gen5-7 saves to change more values directly. - Added: Gen3 battle video data can now be imported via drag-drop (no BV3 exporting currently via GUI). - Changed: Gen3 save files for RS/E/FRLG are now treated as separate classes. - Changed: Minor internal refactorings to improve performance. - Fixed: Gen6 event flags now are indexed correctly. You shouldn't notice any difference. - Fixed: PKM conversion from future -> Gen1/2 now retains IV proportions correctly. 21/01/30 - New Update: (156366) [3559662] - Legality: - - Updated Mystery Gift & GO Legality encounter data. - - Fixed: Matching encounters where a PKM can be one of many types of encounters (based on its current values) has been improved. - - Fixed: Gen4 HM move recognition has been fixed. Oops! - - Added: Gen8 Weather Permissions for Wild Area Static Encounters is now present in metadata (Mark values permitted). Thanks @Lusamine! - - Added: Gen1 Verbose legality outputs now include the met location (even though it is never stored) based off the matched encounter. - - Changed: Gen2 Headbutt data is now initialized & stored more efficiently. - Added: More Event Flag descriptions for past generation games. Thanks @CanoeHope! - Added: Gen4 Battle Revolution saves can now specify the TID/SID of the currently loaded save entry to unlock Box data access in-game. - Added: Move.cs enumeration has been added to the PKHeX.Core API. - Added: Save File detection can now be extended by adding recognizers to SaveUtil.Handlers (via plugins or code). - Changed: IV/EV/AV shortcuts have been adjusted slightly to add more functionality. Refer to shortcuts (IVs unchanged). - Changed: Some internals have been refactored for better performance / clarity (string conversion, encounter matching, loading). - Fixed: Gen8 Templating fields with a blank PKM on a not-latest DLC SW/SH will load the correct maximum species and proper PP count. - Fixed: Gen8 Battle Ready (Battle Version) marking now updates its opacity when the battle version is changed. - Fixed: Gen7 GameSync ID now shows up in the SAV tab, as intended. - Fixed: Gen4 Battle Revolution saves with a deleted first slot save entry now loads correctly. 20/12/30 - New Update: (84117) [3403296] - Legality: - - Updated Mystery Gift & GO Legality encounter data. - - Added: Gen8 introduced new memory values; these are now checked the same as those introduced in Gen6. Still no intensity/feeling checks. - - Added: Gen5 N's Pokémon now check for a male OT Gender. - - Fixed: Gen1 Non-Japanese VC encounters originating from "Blue (JP)" version are now recognized as invalid. Thanks @CarlosofKalos! - - Fixed: Gen3 Colosseum Starters are now recognized correctly (was ~1% chance of being incorrectly flagged). Thanks Loptous! - - Fixed: Gen8 Simplified Chinese IoA trades are now recognized with the correct OT Name. - - Fixed: Gen8 Base Friendship for HOME/certain forms is now verified correctly. - - Fixed: Gen1/2 Events are now yielded again by the Moveset Generator (used by SysBot/ALM). - Added: Gen8 can now deactivate all raids by holding Alt when clicking the Activate All button. - Added: Gen7 USUM Rotom Dex affection & Loto bitflags can now be edited in the Trainer Editor. - Changed: PKM Database loading now alerts when it fails to load the database. - Fixed: Gen8 setting party to title screen now sets the correct empty slots if your party isn't full. - Fixed: Gen6 Cosplay Pikachu now fetches sprites correctly when using the old 40x30 sprites. - Refactored: Some API's and properties exposed by PKHeX.Core have been renamed/moved. Examples: AltForm/Forme=>Form, GenNumber=>Generation. - Refactored: Implemented new C#9 language features. Some expressions in the source code are cleaner and easier to maintain :) 20/11/28 - New Update: (84108) [3319179] - Legality: - - Added: Pokémon GO Legality checks, including date-range legality checks. Thanks @Lusamine & @sora10pls! - - Added: Nickname checks for Generation 1 in-game trades. Thanks @ShadowMario3! - - Added: RibbonMasterRank permissions now allow the updated species list. Thanks @Bappsack! - - Fixed: Ability Patch edge case for changing forms (ex. Landorus) where the current form does not have a Hidden Ability. - - Fixed: Gen8 Wild encounters with levels above 60 are now required to match the encounter's level. - - Fixed: Gen8 symbol encounters incorrect location ID hash fixed. Thanks @sora10pls! - - Fixed: Added Frostpoint Field for dens 175/176. - Added: Shiny Sprites for Crown Tundra. Thanks @msikma + github.com/msikma/pokesprite! - Added: Fused Calyrex slot viewing. - Added: More Gen4 Event Flags. Thanks @zzzzRuby & @ShadyRelapse-PP! - Changed: KChart now shows the "Native" state for all Armor/Crown natives in addition to the mainland natives. - Changed: .NET Core 3.1 builds changed to .NET 5; downloads are still .NET Framework ~4.6. - Fixed: Clearing a box other than the first box on a blank save file now clears the box... as intended. Thanks @Lusamine! - Fixed: Gen8 Yamask-1 and Runerigus now show all possible FormArgument values. Thanks @sora10pls! - Fixed: Gen1 Daycare slot is no longer marked as active when exporting a save file with an flagged-empty daycare. 20/10/31 - New Update: (93960) [3235071] - Legality: - - Added: Gen8 static encounters now permit more met locations (roamers, strong encounters). Thanks @Lusamine & @ReignOfComputer! - - Fixed: Gen8 breeds of Gen3 Starters and Porygon now allow the Gen8 wild balls. - - Fixed: Gen8 unavailable Alolan evolutions are now recognized correctly. - - Fixed: Gen8 Keldeo now requires a Fateful Encounter Flag. - - Fixed: Gen8 Calyrex fuse-unfuse TR flag edge case is handled correctly, allowing Agility and fused-TR flags when unfused. - - Fixed: Gen6 Friend Safari Vivillon is now recognized correctly. - - Fixed: Gen3 Birth Island Deoxys is now disallowed for Japanese Emerald. - - Fixed: Nicknames can now be set for Gen6+ EncounterTrades that did not originally have a nickname, when in Gen8 format. - Added: Can now control-click the Shiny button to force a Star shiny, and use .PID=$shiny1 in the batch editor for the same effect. - Added: Gen8 now has more block key labels for CT content, like event flags and important stored values. Thanks @CanoeHope, @sora10pls! - Fixed: Gen8 Nidoran♂/♀ strings no longer result in ? for the gender symbol. - Fixed: Gen8 Registering new Pokédex entries on setting a PKM will set female gender if appropriate instead of skipping gender set. Thanks @xXAquaNightXx - Fixed: Gen8 CT raid den list is now clamped at the valid amount of raids. All unused dens are hidden. Thanks @Leanny! - Fixed: Stat tooltips for nature (+/-) now show on both StatNature and Nature. Thanks @ReignOfComputer! - Changed: Dropping a PKM file into the PKM Editor will now try to adapt it to the save file (Handling Trainer details), reducing legality issues. - Changed: Updated Chinese translations. Thanks @easyworld! 20/10/24 - New Update: (50004) [3141111] - Introducing Crown Tundra support! Thanks @SciresM, @sora10pls, @architdate, @Lusamine, @Bappsack, and @ReignOfComputer for troubleshooting prior to release! - Legality: - - Changed: New checking rules for all added content in the latest DLC. - - Added: More Gen1/2-era Event Data has been added, along with shiny checks. Thanks @ShadowMario3! - - Fixed: Gen5 PID bit checking for static encounters now gets flagged correctly. Thanks @LegoFigure11 && Princess Emily#4650! - - Fixed: Gen3 ability bit checking is now done for Gen3 format PKM files. - Added: Crown Tundra Raid Seed / Detail editor; separate from the mainland raids. - Added: Crown Tundra Pokédex editing is now available in the same Pokédex editor. Keep in mind that the game uses the first dex that has the Species-Form. - Changed: Suggested encounters now try to match the current AltForm. Thanks @CScorpion-h! - Changed: Nullable compiler checks enabled for PKHeX.WinForms; all sub-projects now have this feature enabled. - Updated: Spanish GUI localization files updated. Thanks @XxPhoenix1996xX! 20/10/10 - New Update: (44027) [3091107] - Added: Pokémon Stadium save file support! - - Supports all 3 game types: Pocket Monsters Stadium, Pokémon Stadium, and Pokémon Stadium 2. - - Added a new PKM format: SK2. Special format used by Stadium 2, different from PK2. - - Added a team viewer for registered teams; each slot on the team can be viewed into the PKM Editor. - - Due to endianness inconsistencies with emulators and storage media, PKHeX will automatically save-swap endianness for these saves! - - With the addition of Stadium support, every playable game that stores PKM data can now be edited! - Legality: - - Refactored: IEncounterable objects use inheritance rather than having a single base class for each type. - - Refactored: EncounterSlot objects are now pre-computed by another project in order to simplify data loading. - - Added: Gen1/2 GB Era event data is now recognized for most events that were distributed. Thanks @ShadowMario3! - - Added: Gen8 Affixed Ribbon is now legality checked. The value can be changed in the Extra Bytes editor. - - Fixed: Gen8 HOME gifts are now disallowed from having a TSV of 0. - - Fixed: Gen8 PIDs for Mystery Gifts are now generated correctly, and are verified by the legality checks. - - Fixed: Gen8 Shared Egg moves are now verified correctly. Thanks @Lusamine! - - Fixed: Gen8 Gigantamax Forms are now correctly prevented for special forms like Cap Pikachu. - - Fixed: Gen8 transfers from Gen7 without nicknames now re-sync their names. Mismatched Language-NotNicknames are now flagged. Thanks @Lusamine! - - Fixed: Gen7 transfers from VC now generate with the official PID creation method. Star shinies are double shinies! - - Fixed: Gen4 French Egg names are now recognized correctly. Thanks @ReignOfComputer! - - Fixed: Gen4 Korean Arcanine PCD now generates correctly. Thanks @Lusamine! - - Fixed: Gen3 Winning/Victory ribbons are now verified. Thanks @Atrius97! - - Fixed: Gen3 Artist ribbon no longer requires a Master ribbon in any contest due to Link Contests. Thanks @sarahlicity! - - Fixed: Gen3 Shadow Teddiursa is now treated as a "Gift", which only allows it being in a Poké Ball (forced capture, no other balls). - - Fixed: Gen2 eggs are now allowed to have Pokérus. - - Fixed: Gen1 level up moves are now allowed on PK2s with met data when using Stadium 2. Thanks @MrPerson0! - - Fixed: Gen1 Magnemite Types can now have "Steel" as a valid type when using Stadium 2. Thanks @MrPerson0! - Added: Save Files with different revisions (DLC patches) now indicate the patch version they were saved with. - Added: Catch Rate is now shown in KChart. Thanks @sora10pls! - Added: Hidden Power's move power is now shown next to the type. Thanks @soopercool101! - Added: Gen8 SWSH Block Labels have been added for Restricted Sparring. Thanks @CanoeHope! - Added: Gen7 LGPE catch count records can now be edited in the Pokedex Editor. Click labels to min-max the counts. Thanks @sora10pls! - Added: Gen4 Underground Items are now editable. Thanks @egzn! - Changed: Default TID/SID for Gen7+ blank save files is now 123456 (SID 1234). - Changed: Blank Save files will try to initialize with the current save file's language. For Japanese saves, the blank OT will be [a fullwidth PKHeX] if possible. - Fixed: The Gen6 font file will no longer throw errors under certain scenarios. Thanks @foohyfooh! - Fixed: Gen1 Pikachu Beach score editing reads & writes correctly now. Thanks @ShadowMario3! - Showdown Set Imports: - - Importing to a Gen8+ format will retain the specified IVs and not Hyper Train them. Thanks @rat01! - - Importing a set to Gen1/2 format will try to set the EVs to max (65535). Thanks @soopercool101 20/08/07 - New Update: (127790) [3047080] - Legality: - - Added Zarude and Shiny Celebi event data. - - Changed: Payapa berry is now recognized as a legal held item in Gen8. - - Changed: XD antishiny logic simplified slightly. Thanks Admiral-Fish! - Added: Gen8 Inventory editing now preserves and shows the "NEW" flag. - Added: Clicking on the Battle Version / Version sprite on the OT tab will now jump to the Met tab and drop-down the corresponding list. - Added: Gen4 Pokewalker editing now has a GUI in the Misc Edits. Thanks @PlasticJustice! - Fixed: Resizing the recent SaveFile Folder browsing now displays the window correctly for the all-saves tab. - Changed: Spanish translation updated. Thanks @ajtudela! 20/07/18 - New Update: (51597) [2919290] - Legality: - - Added latest HOME gifts (Shiny Zeraora) - - Handled GMax state toggling edge cases. - - Fixed: Gen2 Dizzy Punch egg recognition, DP Rotom egg recognition. - - Fixed: Gen3 event gift encounters should now check the allowed Versions. - - Fixed: Gen8 Memory Check for "Defeated Strongest Trainer" now no longer flags Skillful Battler ribbon. - - Fixed: Den Detail Exporting no longer throws an exception. - Fixed: Gen8 Generating encounters from the Encounter Database will now set the Stat Nature value. - Fixed: Gen4 save file detection should now work better for new saves. 20/06/22 - New Update: (83657) [2867693] - Legality: - - Handled edge cases from various reports, and added the event gift data from the recent events. - - Fixed: Verification for Neutral nature mint, IoA hatch location, Galarian Slowbro, raid Hidden Ability, Master Rank ribbon. - Added: SWSH save file size recognition for 1.0 saves that were directly upgraded to 1.2 (skipped 1.1 unused block additions). - Added: Urshifu-1 Gigantamax form now can be toggled in the Pokédex editor. Thanks @sora10pls! - Fixed: Raid details now save correctly when clicking Save, and show the correct amount of raids. - Changed: Spanish and Chinese translations have been updated. Thanks @XxPhoenix1996xX, @easyworld, @gjfkkk! 20/06/19 - New Update: (21816) [2784036] - Introducing Isle of Armor support! Thanks @SciresM, @sora10pls, @architdate, @Lusamine, @Bappsack for troubleshooting prior to release! - Legality: - - Added: New checking rules for gaining/losing the ability to Gigantamax. - - Added: New checking rules when a past-generation-origin Pokémon's battle version has been set in order to participate in ranked. - - Changed: New checking rules for new Pokéball inheritance, now that Safari and Sport balls can be obtained for regular use. - - Changed: New checking rules for new Hidden Ability availability, as the Isle of Armor raids have vastly simplified restrictions. - Added: Battle Version -- by resetting a past-generation Pokémon's moves, they can participate in ranked. The game saves the version this was performed on. - Added: Isle of Armor Raid Seed / Detail editor; separate from the mainland raids. - Added: Isle of Armor Pokédex editing is now available in the same Pokédex editor. Keep in mind that the game uses the first dex that has the Species-Form. - Added: Isle of Armor trainer records (2 new stats are tracked). === - Legality: - - Added: Fullness checking rules. - - Fixed: Gen8: Level comparison for down-leveled raids has been updated to reflect game behavior. Thanks @Lusamine! - - Fixed: Gen6: Removed edge case static encounter Kecleon that was mismatching a dexnav wild encounter. Thanks @KR1dude! - - Fixed: Gen5: Contest stats are now verified rather than ignored. - - Fixed: Gen4 Tower ribbons are no longer recognized as valid on Gen5 origin Pokémon. - - Fixed: Gen8 Master Rank ribbon is no longer recognized as valid on Pokémon that can't participate in ranked. - Added: Generic [Block Editor] now exposes Gen5-Gen7 save files so you can edit many properties directly from a PropertyGrid. - Added: Gen8 Box Backgrounds are now displayed and can be changed from the Box Layout Editor. Thanks @sora10pls! - Added: Loading a new save file will ask for confirmation if the currently loaded save file hasn't been saved yet. - Added: Battle Tree scout editor. Thanks @sora10pls! - Added: AHTB (hash) names can now be loaded into the block editor via a text file located in the same folder as the executable. - - This is a research feature; only a few people need this. - Added: Gen3 Chinese Event Flag localizations. Thanks @kamisama6866! - Changed: Updated Spanish localization. Thanks @XxPhoenix1996xX! - Changed: IVersion and IGeneration are now implemented into IEncounterable. - Changed: Dynamax Level is now automatically set to 10 (if appropriate) when importing a Showdown Set. Thanks @Mikewando! - Changed: Loading a detected save file is now twice as fast. - Fixed: Sorting Boxes or Modifying Pokémon via the shortcut dropdown will no longer add to trainer stat records or the Pokédex. - Fixed: Gen6 GameSync ID is now displayed rather than hidden. Thanks @sora10pls! - Fixed: Gen6 XY Trainer Nickname is now set correctly, rather than truncated. - Fixed: Gen4 Save Files will now correctly detect the correct save data to edit, rather than the backup. Thanks @Ammako! - Fixed: Gen3 Ruby/Sapphire trainer editor no longer shows unavailable fields like BP. - Fixed: Gen2 Save loading should no longer incorrectly recognize some save files as Korean. - Fixed: Requests for setting square shiny for past-generation-origin Pokémon will now be honored (if allowed), rather than skipped. 20/04/14 - New Update: (163231) [2762220] - Legality: - - Added: Latest raid news data. - - Fixed: HOME gifts now recognized. - - Fixed: Antishiny Colosseum/XD spreads are recognized better for various gifts. - - Fixed: Some unavailable evolution cases are now recognized correctly. - - Fixed: Silvally Pixie Plate is now recognized correctly. - - Fixed: Gen8 Raid downleveling thresholds are now recognized correctly. - - Fixed: Gen8 Link trade eggs are now allowed to have OT memories prior to hatching (...) - - Fixed: Gen8 Chinese2 language in-game trade strings are now recognized correctly (not a copy of the other Chinese strings). - - Changed: Gen3/4 in-game trade met levels are now accurately restricted to their obtainable minimum level. The PID check now works. - - Changed: Gen8 static (gift) encounters now verify specific ability indexes. - Added: Batch Editor $suggest for EggDate/MetDate (copies the other). - Added: Gen8 HOME tracker control can now be hidden (same as PID/EC) if the Hide Secret Values setting is set. - Added: New setting to copy the stat-nature to the behavior (original) nature when importing a Showdown Set. - Added: New setting to force large sprites for past generation games. Old sprites will eventually be removed! - Changed: Past generation sprites will now use the larger sprites from Gen8. Opt out (for now) with the setting described above. - Changed: Met Location combobox has been widened to show more text (Gen8's long met locations). - Fixed: Game Origin markings in PKM Editor now show the correct game lump sprite. - Fixed: BK4 file recognition has been fixed. 20/03/14 - New Update: (81209) [2598989] - Added: Shiny Sprites for the new 68x56 box sprites. Thanks @msikma! https://github.com/msikma/pokesprite - Legality: - - Added: Latest raid news data. - - Fixed: Shared egg moves are now allowed for past-gen transfers. - - Fixed: Gen8 unavailable evolutions (like Alolan Raichu) are now recognized correctly. Thanks @sora10pls! - - Fixed: Gen8 Pumpkaboo/Gourgeist Hidden Abilities are now restricted correctly in Gen8. Thanks @Lusamine! - - Fixed: Gen8 Alola starters are now correctly banned from inheriting balls (only Poké Ball). Thanks @Lusamine! - - Fixed: Gen8 Past gen species are now correctly allowed to inherit balls using Gen7 and prior rules. Thanks @Lusamine! - - Fixed: Gen3 Antishiny trainer Pokémon mechanism for XD is now checked correctly. Thanks @ijuintekka! - - Fixed: Gen4 HGSS egg hatch locations now allow the Battle Fontier. Thanks @sora10pls! - - Added: Gen3/4 Min levels for in-game trades are now enforced. - - Fixed: Gen3/4/5 ShinyXor8-15 Antishiny mechanism is now checked correctly. Thanks @Lusamine! - Added: Current Box is now used when loading SW/SH save files. - Added: Box manipulations (right click the Box tab) now has a Heal All manipulation (like the Pokécenter heal). - Added: Gen8 Indicator for dummied moves. Thanks @sora10pls! - Added: Gen8 now exposes NPC and Friend League card accessors in the block editor. - Added: Gen3 More event flags. Thanks @Kermalis, @FeralFalcon! - Fixed: Gen8 Showdown set parsing for Toxtricity now behaves correctly with Showdown's latest set syntax updates. - Fixed: Gen6+ Loading a version-less PKM will no longer copy PID->EC. Only for Gen3/4/5 origins. - Fixed: Gen8 converted PK2/PK7 files are now healed. - Fixed: Gen8 affection fields are now hidden (properties don't exist in PK8 format). - Fixed: Gen3 PC Item list no longer lists key items twice. Thanks @Kermalis! - Changed: Gen8 now only sets the display form if it is not already owned; retaining the original displayed form. Thanks @CanoeHope! - Updated: Spanish/Chinese translations. Thanks @qhq, @easyworld, @XxPhoenix1996xX ! 20/02/14 - New Update: (106566) [2517780] - Legality: - - Added: Initial handling for HOME Transfers. - - Note: Tracker value is currently not flagged if missing; there's a setting to enable flagging. - - Note: Pokémon that haven't yet visited HOME do not have a tracker. - - Note: Fake WC8 data will have to be prepared to recognize HOME gifts. - Added: More Gen8 editable fields. Thanks @CanoeHope! - Added: More Gen4 Event Flags. Thanks @FeralFalcon! - Changed: Revised suggested hatch locations. Thanks @CanoeHope! - Fixed: Gen5 Entree Forest randomization no longer causes errors. Thanks Pocket Monsters (user)! - Fixed: Gen4 HGSS Box Wallpapers are now read correctly. Thanks @Ammako! 20/02/08 - New Update: (27045) [2411214] - Legality: - - Added: Milcery & Toxtricity distribution data. - - Fixed: Runerigus FormArgument handling checks updated. - - Fixed: ORAS flute level boosts increased from 3 to 4. - - Fixed: FRLG Unown locations are now checked correctly. Thanks @Kermalis! - - Fixed: Gen1/2 Stadium gifts are now checked more thoroughly. Thanks @FeralFalcon! - Added: Gen8 Team Slots are now recognized and locked for editing. Thanks Anubis, @architdate, @Wanderer1391! - Added: Gen8 Block Info editor now has more blocks labeled. - Added: Gen8 Raid editor now shows the raid type enumeration, and more cleanly sets flags. Thanks @3096 & @slp32! - Added: Gen8 setting to a slot will now increment game records. Thanks @CanoeHope! - Added: Gen8 Rental Team reading. Thanks @architdate! - Added: Gen4 Togepi egg gift event constant. Thanks @asterysx! - Changed: Gen8 Block Info editor now sorts blocks by current value. - Changed: Gen7 default hatch location is now Paniola Ranch instead of one of the routes. Thanks @CanoeHope! - Changed: Tab indexes (pressing tab to jump between controls) now behaves more fluidly in the main window. - Changed: Save Editor buttons (like Trainer Info, Pokédex) are now sorted alphabetically for easier locating. - Changed: Mystery Gift - Can now delete multiple Gift Received flags at a time. Thanks @murrty! - Changed: Updated Korean translation. Thanks @yurical! - Fixed: Gen8 Trainer Editor no longer screws up game language. - Fixed: Showdown Sets are now exported more accurately (hyper training / foreign species names). 20/01/26 - New Update: (32160) [2384169] - Legality: - - Added: Form Argument legality checks. Alcremie, Runerigus, Yamask, Hoopa, and Furfrou. Thanks @CanoeHope! - - Added: More static encounter locations. - - Fixed: Footprint ribbon is now checked for Gen8. - - Fixed: Slowpoke-1 Hidden Ability is now banned, and bred Mimikyu now allows Hidden Ability. - - Changed: A little bit of the program's internal structures have been tweaked for performance. - Added: Gen8 Block Research/Export/Import tool, with direct block edits. - - Can swap in a full Fashion block, for example. Or, edit your title screen to show 6 Magikarp! - - Edit things directly! Known block objects can be selected, and all exposed Properties can be changed. - - Can compare two saves to see what blocks/values changed. - Added: Gen5 Subway score editing. Thanks @egzn! - Added: More event flag/const have been documented. Thanks @FeralFalcon & @asterysx! - Fixed: Internal API changes for more Thread safety. (People reuse PKHeX.Core in multithreaded applications, and the Rand utility didn't work correctly). - Fixed: German translation no longer misbehaves for certain ribbons. - Fixed: Handling for Form Arguments is now performed correctly. Will no longer clear for Runerigus on edit. - Fixed: Gen7 LGPE Dumping of Go Park Entities with invalid file names are now sanitized before saving. Thanks @xJam-es! - Fixed: Gen4 HGSS Pokéwalker course unlock cheat now works as intended. - Changed: Gen8 SWSH Block reading/writing is now much more efficient. - Changed: Gen7 LGPE Awakening Values are now applied more liberally via Control-click Random. Only an attack IV of 0 will not add AVs. Thanks slp32! - Changed: Spanish Translation updated. Thanks @egzn! 20/01/10 - New Update: (43722) [2352009] - Added: Gen8 Support for save data from the latest game patch. - Legality: More handling for new additions. - Added: Move#_PP $suggest for batch editor. - Added: Click the PP label to refresh PP counts. - Added: Setting to disable sounds on save file load and legality checks (nuisance). - Fixed: Gen8 Mimikyu Busted form now shows up in Pokédex editor. - Fixed: Gen4 Event Constants are now read correctly. - Fixed: Disabled pkm slot glow effect will no longer leave the frosted effect behind. - Changed: GUI translation (winforms only) files moved to WinForms project (no longer in PKHeX.Core). Still need translations ;)