diff --git a/Legality/Checks.cs b/Legality/Checks.cs index bc93faf92..835c5be22 100644 --- a/Legality/Checks.cs +++ b/Legality/Checks.cs @@ -119,6 +119,28 @@ private LegalityCheck verifyEncounter() ? new LegalityCheck(Severity.Valid, $"Matches #{MatchedWC6.CardID.ToString("0000")} ({MatchedWC6.CardTitle})") : new LegalityCheck(Severity.Invalid, "Not a valid Wonder Card gift."); } + if (pk6.Species == 292) // Shedinja + { + if (pk6.Ball != 4) + return new LegalityCheck(Severity.Invalid, "Invalid Shedinja ball."); + if (pk6.Egg_Location != 0) + return new LegalityCheck(Severity.Invalid, "Shedinja should not have an Egg Met date/location."); + if (pk6.Version < 26) // XY + { + var lc = Legal.ValidMet_XY.Contains(pk6.Met_Location) + ? new LegalityCheck(Severity.Valid, "Valid X/Y Shedinja.") + : new LegalityCheck(Severity.Invalid, "Invalid X/Y location for Shedinja."); + return lc; + } + if (pk6.Version < 28) + { + var lc = Legal.ValidMet_AO.Contains(pk6.Met_Location) + ? new LegalityCheck(Severity.Valid, "Valid OR/AS Shedinja.") + : new LegalityCheck(Severity.Invalid, "Invalid OR/AS location for Shedinja."); + return lc; + } + return new LegalityCheck(Severity.Invalid, "Invalid Shedinja encounter."); + } if (pk6.WasEgg) { // Check Hatch Locations