About
This project uses PKHeX.Core
and PKHeX's IPlugin
interface to add enhancements to the PKHeX program, namely Automated Modifications to simplify creation of legal Pokémon.
This project is owned by @architdate (Discord: thecommondude#8240) and @kwsch (Discord: Kurt#6024).
Feature Demonstration Video by AAron#2420.
This is an older video but features are still largely similar.
Building
This project requires an IDE that supports compiling .NET based code, such as Visual Studio 2022, and the .NET 7.0 SDK.
Regular Builds
Regular builds will usually succeed unless there are changes that are incompatible with the NuGet PKHeX.Core package dependency specified in the .csproj
files of the projects. If building fails, use the bleeding edge method instead.
- Clone the PKHeX-Plugins repository using:
$ git clone https://github.com/architdate/PKHeX-Plugins.git
. - Right-click on the solution and click
Rebuild All
. - These DLLs should be placed into a
plugins
directory where the PKHeX executable is.- The compiled DLL
AutoModPlugins.dll
for AutoLegality will be in theAutoLegalityMod\bin\Release\net7.0-windows
directory.
- The compiled DLL
Bleeding Edge Builds
Use this build method only if the regular builds fail. The Azure Pipelines CI will always use the bleeding edge build method. More details regarding this can be seen in the azure-pipelines.yml file.
- Clone the PKHeX repository using:
$ git clone https://github.com/kwsch/PKHeX.git
. - Clone the PKHeX-Plugins repository using:
$ git clone https://github.com/architdate/PKHeX-Plugins.git
. - Open the PKHeX solution, change your environment to
Release
, right-click on thePKHeX.Core
project, and clickRebuild
to build the project. - Open the PKHeX-Plugins solution and right-click to
Restore NuGet Packages
. - Next, replace the most recent NuGet packages with the newly-built
PKHeX.Core.dll
files.- Copy the
PKHeX.Core.dll
file located inPKHeX.Core\bin\Release\net7.0
to the following folder with the most recent date:C:\Users\%USERNAME%\.nuget\packages\pkhex.core\YY.MM.DD\lib\net7.0
- Copy the
- Right click the PKHeX-Plugins solution and
Rebuild All
. This should build the mod with the latestPKHeX.Core
version so that it can be used with the latest commit of PKHeX. - The compiled DLLs will be in the same location as with the regular builds.
Usage
To use the plugins:
- Create a folder named
plugins
in the same directory as PKHeX.exe. - Put the compiled plugins from this project in the
plugins
folder. If you downloaded the plugins from online, you will need to unblock them. - Start PKHeX.exe.
- The plugins should be available for use in
Tools > Auto Legality Mod
drop-down menu.
Support Server
Please refer to the Wiki first for usage information and help first, as most queries are answered there. If you have looked and need additional help, you can join the dedicated Discord server for this mod!
Contributing
To contribute to the repository, you can submit a pull request to the repository. Try to follow a format similar to the current codebase. All contributions are greatly appreciated! If you would like to discuss possible contributions without using GitHub, please contact us on the support server above.
Credits
Repository Owners
Credit must be given where due... This project would not be as amazing without the help of the following people who have helped me since the original Auto-Legality-Mod.
- @kwsch for providing the IPlugin interface in PKHeX, which allows loading of this project's Plugin DLL files. Also for the support provided in the support server.
- @berichan for adding USB-Botbase support to LiveHeX.
- @soopercool101 for many improvements to Smogon StrategyDex imports and various other fixes.
- @Lusamine for all the help with stress testing the code with wacky sets!
- @ReignOfComputer for the sets found in RoCs-PC which are used for unit testing.
- TORNADO for help with test cases.
- @Rino6357 and @crzyc for initial help with the Wiki.
- @hp3721 for help with adding localization based on PKHeX's implementation.
- @Bappsack for his help on Discord in voice chats!
- @chenzw95 for help with integration.
- @BernardoGiordano for many ideas on improving speed.
- @olliz0r for developing and maintaining
sys-botbase
as well which is necessary for LiveHeX to work. - @SteveCookTU and @olliz0r for LedyLib from which a lot of the NTR processing code is liberally referenced.
- @fishguy6564 for creating
USB-Botbase
(by extending sys-botbase). - FlatIcon for their icons. Author credits (Those Icons, Pixel perfect).
- Project Pokémon for their Mystery Gift Event Gallery.
- And all the countless users who have helped improve this project with ideas and suggestions!