Jump to content

[PKHeX Plugin] Three Finder - Easily find a rare Dunsparce/Tandemaus in your save


Recommended Posts


This plugin will add a dropdown menu option in "Tools" when a gen 9 savegame is loaded.


After clickling, the program will run trough every pokémon in the savegame (party + boxes) in order to find a Dunsparce or Tandemaus whose encription constant is divisible by 100 with no remainder. This means the dunsparce/tandemaus will evolve into the 1/100 rare form (3 segmented / family of three). A simple text output will tell you if any of the rare-form have been found and where. The report will be copied to the clipboard, so you can paste it onto any text editor.

note: the case were output is longer than screen height is not handled, if it happens just press enter/escape to close the textbox. You can still check the whole output as it was copied to the clipboard.

Since there's no mass release and eggs can't be released, I'm currenty getting a full batch of eggs for dunsparce  (all I can get within the 30 minute egg powerup), then checking the save on pkhex. If there's no 3 segmented, I'm restoring my previous savegame and making another batch of eggs, saving a lot of time hatching and releasing.

Not sure if this will be useful to anyone, but here it is nontheless.


Kaphotics for PKHeX and PKHeXPluginExample
BlackShark for PKHeXMirageIslandPlugin


1.01 (improvements by foohyfooh)
Store copy of the Pokémon at the party and boxes indexes
Remove extra lines if no viable Pokémon was found
Make clipboard copy optional

- Initial release


Get latest version here: https://github.com/suloku/PKHeXThreeFinderPlugin/releases


Edited by suloku
  • Like 4
Link to comment
Share on other sites

Yesterday I edited the post with 1.01 thanks to foohyfooh, main improvement is copying to clipboard is optional.


1.01 (improvements by foohyfooh)
Store copy of the Pokémon at the party and boxes indexes
Remove extra lines if no viable Pokémon was found
Make clipboard copy optional
Link to comment
Share on other sites

  • 4 months later...
On 12/24/2022 at 8:40 AM, suloku said:

I’m very very happy and thankful this exists. I don’t have to check all the EC one by one.

Little feedback, if you don’t mind:
- Tandemaus searching doesn’t seem to work on current PKHeX. I had to change the plugin from .Net framework to .Net (to install latest PKHeX Core), and it threw me an error about main not existing, so ultimately I had to temporarily lift the code into an existing plugin of mine (that I’ve already fixed the .Net thing; I forgot how I did it lol). So the code definitely works on latest PKHeX core, it’s just that the plugin needs to be updated for it 

- In the text lines, the Box and Slot reporting have a -1 error

That’s pretty much it. I’m very thankful that this exists. Trying to hatch for 3 forms one by one.. it’s tough. ><

Link to comment
Share on other sites

If possible, another great feature would be if it supported looking at the PID in Gen 3 through 5, and the EC in Gen 6 through 8 savefiles (excluding LGPE and Legends: Arceus) to look for Dunsparce with the correct value in past-gen titles, since the calculation to determine whether it evolves into 3 Segment would be the same in those titles.

With how the RNG works and various shiny hunting/RNG abuse methods, there's some cases in past-gen titles with much better odds/better access to Dunsparce with 3 Segment PID/ECs. Would make for easy searching for which Dunsparce to move up when HOME support for SV arrives.

Edited by Atrius97
  • Ditto 1
Link to comment
Share on other sites

@suloku I hope I'm not being too presumptuous with this. I'm writing this cause I was having issues with converting old plugins to work with the current PKHeX.Core; I thought that in general I should share my steps that got it working with the public.

For converting from NET framework to NET7.0, in order to use the latest PKHeX.Core nuget (the steps I could remember are):
1. When editing the csproj, change the line <TargetFrameworks>net48</TargetFrameworks> (or whatever applicable netxx) to <TargetFramework>net7.0-windows</TargetFramework>
2. Under Properties for the csproj, enable Window Forms
3. Add new item > Form (Windows Form)
4. Add this within the code of the plugin's namespace that you use

  static void Main()
            Application.Run(new Form1());

5. Update the nuget
6. You should be able to build the plugin now. If you encounter errors, save and reload.

I would imagine there's an easier way to do this, especially without the usage of an untouched Form1, but I couldn't figure it out, and didn't want to port over all my code to the updated Example Plugin.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...