From c0e5db6bb0adbcc0f0cf0e0ce37110ce359203de Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 2 Feb 2017 19:27:48 -0800 Subject: [PATCH] Add party-only form legality checks Closes #806 --- PKHeX.WinForms/MainWindow/Main.cs | 4 ++++ PKHeX/Legality/Checks.cs | 8 ++++++++ 2 files changed, 12 insertions(+) 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)