From c7cb52ecbd15faf3a895f03be93aba38fdf2af97 Mon Sep 17 00:00:00 2001 From: Kaphotics Date: Mon, 14 Mar 2016 17:04:03 -0700 Subject: [PATCH] Add Shedinja encounter check --- Legality/Checks.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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