Important
This plugin requires my fork of PKHeX to work right.
A seed finder for Brilliant Diamond & Shining Pearl's roaming encounters (Mesprit and Cresselia). These are the only BDSP encounters with a verifiable seed correlation, and since the seed space is only 32 bits, you can search the entire range in minutes.
Author: @hexbyt3
In BDSP, roaming encounters use the Pokemon's Encryption Constant as a 32-bit seed. That single value determines everything — PID, IVs, ability, height, and weight — through the Xoroshiro128Plus8b RNG. This plugin searches that seed space to find encounters matching your criteria.
Other BDSP encounters (static legends, wild Pokemon) use a 128-bit RNG state that can't be practically searched, so this plugin focuses on what's actually useful.
- Search the full 32-bit seed range (~4.3 billion seeds) with multi-core parallel processing
- Filter by shiny type (square, star, any), IV ranges, ability, and nature
- Full range search completes in minutes on a modern CPU
- Dark theme results grid with shiny highlighting
- Preview panel with sprite, stats, and seed details
- Double-click any result to load it directly into PKHeX
- Export results to CSV
- PKHeX (latest version recommended)
- Windows 10 or 11
- .NET 9.0 runtime
- Download the latest
BDSPSeedFinderPlugin.dllfrom the releases page - Place it in PKHeX's
pluginsfolder (create it if it doesn't exist) - Restart PKHeX
- Load a BD or SP save file
- Open from Tools > BDSP Seed Finder (or Ctrl+Shift+B)
- Pick Mesprit or Cresselia
- Set your TID/SID (auto-loaded from your save)
- Set your search criteria — shiny type, IV ranges, ability
- Choose a nature (applied via Synchronize in-game, so any nature is valid)
- Click Search
- Double-click a result to load it into the PKHeX editor
Roaming encounters in BDSP assume Synchronize is used, so nature isn't determined by the seed. Pick whatever nature you want — the plugin will set it on the generated Pokemon. The seed only controls PID, IVs, ability, and height/weight.
The plugin uses all available CPU cores. Since the seed space is only 32 bits:
- 8-core CPU: Full range in ~2-5 minutes
- 16-core CPU: Full range in ~1-3 minutes
You'll usually find what you need well before a full search completes.
- Clone this repository
- Place
PKHeX.Core.dllinBDSPSeedFinderPlugin/Deps/ - Open
BDSPSeedFinderPlugin.slnin Visual Studio 2022+ - Build in Release mode
- Output is in
bin/Release/net9.0-windows/
Optionally create a local.props file at the repo root to auto-deploy:
<Project>
<PropertyGroup>
<PKHeXPluginsPath>path\to\PKHeX\plugins</PKHeXPluginsPath>
</PropertyGroup>
</Project>- Roaming seed = Encryption Constant (32-bit)
- RNG: Xoroshiro128Plus8b with SplitMix64 state expansion
- Sequence: EC → fakeTID → PID → 3 flawless IVs → 3 random IVs → ability → height → weight
- PID is revised to match the player's TID/SID shiny type
- Quick-verify runs the RNG inline without allocating a full PB8, then only generates the real object on match
- Kurt (@kwsch) — PKHeX and the encounter/RNG framework this builds on
- All PKHeX contributors
MIT License. See LICENSE for details.
This tool is for educational purposes. Please respect the game and other players.
For more information about PKHeX, visit the official repository.