diff --git a/PKHeX.WinForms/MainWindow/Main.cs b/PKHeX.WinForms/MainWindow/Main.cs index 97991faa1..d5b27fecc 100644 --- a/PKHeX.WinForms/MainWindow/Main.cs +++ b/PKHeX.WinForms/MainWindow/Main.cs @@ -3531,7 +3531,11 @@ private void clickLegality(object sender, EventArgs e) int slot = getSlot(sender); PKM pk; if (slot >= 0) + { pk = SAV.getStoredSlot(getPKXOffset(slot)); + if (slot < 30 || slot >= 36) // not party + pk.Box = CB_BoxSelect.SelectedIndex; // mark as in a box + } else if (verifiedPKM()) pk = preparePKM(); else diff --git a/PKHeX/Legality/Checks.cs b/PKHeX/Legality/Checks.cs index c797cc566..5562c928e 100644 --- a/PKHeX/Legality/Checks.cs +++ b/PKHeX/Legality/Checks.cs @@ -1677,6 +1677,14 @@ private void verifyForm() return; } break; + + // Party Only Forms + case 492: // Shaymin + case 676: // Furfrou + case 720: // Hoopa + if (pkm.AltForm != 0 && pkm.Box > -1) // has form but stored in box + AddLine(Severity.Invalid, "Form cannot exist outside of Party.", CheckIdentifier.Form); + break; } if (pkm.Format >= 7 && pkm.GenNumber < 7 && pkm.AltForm != 0)