From bb2cc2b8d5503442e77c9539ac0a13b69b371d9b Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 14 Nov 2016 07:33:39 -0800 Subject: [PATCH] Add form personalinfo check exclusions --- PKHeX/Legality/Checks.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/PKHeX/Legality/Checks.cs b/PKHeX/Legality/Checks.cs index 9055fcfce..47fc31e84 100644 --- a/PKHeX/Legality/Checks.cs +++ b/PKHeX/Legality/Checks.cs @@ -1287,8 +1287,23 @@ private void verifyForm() if (pkm.AltForm > pkm.PersonalInfo.FormeCount) { - AddLine(Severity.Invalid, $"Form Count is out of range. Expected <= {pkm.PersonalInfo.FormeCount}, got {pkm.AltForm}", CheckIdentifier.Form); - return; + bool valid = false; + int species = pkm.Species; + if (species == 201) // Unown + { + if (pkm.GenNumber == 2 && pkm.AltForm < 26) // A-Z + valid = true; + else if (pkm.GenNumber >= 3 && pkm.AltForm >= 28) // A-Z?! + valid = true; + } + if (species == 414 && pkm.AltForm < 3) // Wormadam base form kept + valid = true; + + if ((species == 664 || species == 665) && pkm.AltForm < 18) // Vivillon Pre-evolutions + valid = true; + + if (!valid) // ignore list + { AddLine(Severity.Invalid, $"Form Count is out of range. Expected <= {pkm.PersonalInfo.FormeCount}, got {pkm.AltForm}", CheckIdentifier.Form); return; } } switch (pkm.Species)