From cd9987ed09e589b1632b63b31aad293bd184bc05 Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 3 Apr 2017 20:28:04 -0700 Subject: [PATCH] Cleanup Removed unnecessary parenthesis Simplified use of linq Fixed encounterstatic error (wrong variable referenced in linq) --- PKHeX/Game/GameVersion.cs | 45 ++++++++++++++++++++------------------- PKHeX/Legality/Checks.cs | 2 +- PKHeX/Legality/Core.cs | 9 +++++--- PKHeX/Legality/Tables4.cs | 4 ++-- 4 files changed, 32 insertions(+), 28 deletions(-) diff --git a/PKHeX/Game/GameVersion.cs b/PKHeX/Game/GameVersion.cs index 9567fbc8c..298c431ca 100644 --- a/PKHeX/Game/GameVersion.cs +++ b/PKHeX/Game/GameVersion.cs @@ -52,56 +52,57 @@ public static class Extension { public static bool Contains(this GameVersion g1, GameVersion g2) { - if (g1 == g2 || g1 == GameVersion.Any) return true; + if (g1 == g2 || g1 == GameVersion.Any) + return true; switch (g1) { case GameVersion.RBY: - return (g2 == GameVersion.RD || g2 == GameVersion.BU || g2 == GameVersion.YW || g2 == GameVersion.GN); + return g2 == GameVersion.RD || g2 == GameVersion.BU || g2 == GameVersion.YW || g2 == GameVersion.GN; case GameVersion.Gen1: - return ( GameVersion.RBY.Contains(g2) || g2 == GameVersion.Stadium || g2 == GameVersion.EventsGBGen1 || g2 == GameVersion.VCEvents); + return GameVersion.RBY.Contains(g2) || g2 == GameVersion.Stadium || g2 == GameVersion.EventsGBGen1 || g2 == GameVersion.VCEvents; case GameVersion.Stadium: case GameVersion.EventsGBGen1: case GameVersion.VCEvents: return GameVersion.RBY.Contains(g2); - case GameVersion.GS: return (g2 == GameVersion.GD || g2 == GameVersion.SV); + case GameVersion.GS: return g2 == GameVersion.GD || g2 == GameVersion.SV; case GameVersion.GSC: - return (GameVersion.GS.Contains(g2) || g2 == GameVersion.C); + return GameVersion.GS.Contains(g2) || g2 == GameVersion.C; case GameVersion.Gen2: - return (GameVersion.GSC.Contains(g2) || g2 == GameVersion.Stadium2 || g2 == GameVersion.EventsGBGen2); + return GameVersion.GSC.Contains(g2) || g2 == GameVersion.Stadium2 || g2 == GameVersion.EventsGBGen2; case GameVersion.Stadium2: case GameVersion.EventsGBGen2: return GameVersion.GSC.Contains(g2); case GameVersion.GBCartEraOnly: return g2 == GameVersion.Stadium || g2 == GameVersion.Stadium2 || g2 == GameVersion.EventsGBGen1 || g2 == GameVersion.EventsGBGen2; - case GameVersion.RS: return (g2 == GameVersion.R || g2 == GameVersion.S); - case GameVersion.FRLG: return (g2 == GameVersion.FR || g2 == GameVersion.LG); - case GameVersion.CXD: return (g2 == GameVersion.COLO || g2 == GameVersion.XD); - case GameVersion.RSBOX: return (GameVersion.RS.Contains(g2) || g2 == GameVersion.E || GameVersion.FRLG.Contains(g2)); + case GameVersion.RS: return g2 == GameVersion.R || g2 == GameVersion.S; + case GameVersion.FRLG: return g2 == GameVersion.FR || g2 == GameVersion.LG; + case GameVersion.CXD: return g2 == GameVersion.COLO || g2 == GameVersion.XD; + case GameVersion.RSBOX: return GameVersion.RS.Contains(g2) || g2 == GameVersion.E || GameVersion.FRLG.Contains(g2); case GameVersion.Gen3: - return (GameVersion.RS.Contains(g2) || g2 == GameVersion.E || GameVersion.FRLG.Contains(g2) || GameVersion.CXD.Contains(g2) || g2 == GameVersion.RSBOX); + return GameVersion.RS.Contains(g2) || g2 == GameVersion.E || GameVersion.FRLG.Contains(g2) || GameVersion.CXD.Contains(g2) || g2 == GameVersion.RSBOX; - case GameVersion.DP: return (g2 == GameVersion.D || g2 == GameVersion.P); - case GameVersion.HGSS: return (g2 == GameVersion.HG || g2 == GameVersion.SS); - case GameVersion.BATREV: return (GameVersion.DP.Contains(g2) || g2 == GameVersion.Pt || GameVersion.HGSS.Contains(g2)); + case GameVersion.DP: return g2 == GameVersion.D || g2 == GameVersion.P; + case GameVersion.HGSS: return g2 == GameVersion.HG || g2 == GameVersion.SS; + case GameVersion.BATREV: return GameVersion.DP.Contains(g2) || g2 == GameVersion.Pt || GameVersion.HGSS.Contains(g2); case GameVersion.Gen4: - return (GameVersion.DP.Contains(g2) || g2 == GameVersion.Pt || GameVersion.HGSS.Contains(g2) || g2 == GameVersion.BATREV); + return GameVersion.DP.Contains(g2) || g2 == GameVersion.Pt || GameVersion.HGSS.Contains(g2) || g2 == GameVersion.BATREV; - case GameVersion.BW: return (g2 == GameVersion.B || g2 == GameVersion.W); - case GameVersion.B2W2: return (g2 == GameVersion.B2 || g2 == GameVersion.W2); + case GameVersion.BW: return g2 == GameVersion.B || g2 == GameVersion.W; + case GameVersion.B2W2: return g2 == GameVersion.B2 || g2 == GameVersion.W2; case GameVersion.Gen5: - return (GameVersion.BW.Contains(g2) || GameVersion.B2W2.Contains(g2)); + return GameVersion.BW.Contains(g2) || GameVersion.B2W2.Contains(g2); - case GameVersion.XY: return (g2 == GameVersion.X || g2 == GameVersion.Y); - case GameVersion.ORAS: return (g2 == GameVersion.OR || g2 == GameVersion.AS); + case GameVersion.XY: return g2 == GameVersion.X || g2 == GameVersion.Y; + case GameVersion.ORAS: return g2 == GameVersion.OR || g2 == GameVersion.AS; case GameVersion.Gen6: - return (GameVersion.XY.Contains(g2) || GameVersion.ORAS.Contains(g2)); + return GameVersion.XY.Contains(g2) || GameVersion.ORAS.Contains(g2); case GameVersion.SM: case GameVersion.Gen7: - return (g2 == GameVersion.SN || g2 == GameVersion.MN); + return g2 == GameVersion.SN || g2 == GameVersion.MN; default: return false; } diff --git a/PKHeX/Legality/Checks.cs b/PKHeX/Legality/Checks.cs index 53989bda1..ae1d23bc8 100644 --- a/PKHeX/Legality/Checks.cs +++ b/PKHeX/Legality/Checks.cs @@ -959,7 +959,7 @@ private CheckResult verifyVCEncounter(int baseSpecies) return new CheckResult(Severity.Invalid, V80, CheckIdentifier.Encounter); var s = EncounterMatch as List; - var sgb = s?.Where(v => GameVersion.GBCartEraOnly.Contains(v.Version) || v.Version == GameVersion.VCEvents).FirstOrDefault(); + var sgb = s?.FirstOrDefault(v => GameVersion.GBCartEraOnly.Contains(v.Version) || v.Version == GameVersion.VCEvents); if (sgb != null) { bool exceptions = false; diff --git a/PKHeX/Legality/Core.cs b/PKHeX/Legality/Core.cs index cccf1dbe9..e14840692 100644 --- a/PKHeX/Legality/Core.cs +++ b/PKHeX/Legality/Core.cs @@ -1108,8 +1108,11 @@ private static EncounterTrade getValidEncounterTradeVC1(PKM pkm, DexLevel[] p, E var em = e != null ? vs.Reverse().First(evo => e.Any(slot => slot.Species == evo.Species)).Species : invalid; var tm = t?.Species ?? invalid; - if (s != null && (s?.Any(m => m.Moves[0] != 0 && pkm.Moves.Contains(m.Moves[0])) ?? false)) - return new Tuple(s, s.Where(m => m.Moves[0] != 0 && pkm.Moves.Contains(m.Moves[0])).First().Level, 20); // special move + // check for special move static encounter + var special = s?.FirstOrDefault(m => m.Moves[0] != 0 && pkm.Moves.Contains(m.Moves[0])); + if (special != null) // return with high priority + return new Tuple(s, special.Level, 20); + if (game == GameVersion.GSC) { if (t != null && t.TID != 0) @@ -1120,7 +1123,7 @@ private static EncounterTrade getValidEncounterTradeVC1(PKM pkm, DexLevel[] p, E if (em <= sm && em <= tm) return new Tuple(e, e.Where(slot => slot.Species == em).Min(slot => slot.LevelMin), 3); if (sm <= em && sm <= tm) - return new Tuple(s, s.Where(slot => slot.Species == em).Min(slot => slot.Level), 2); + return new Tuple(s, s.Where(slot => slot.Species == sm).Min(slot => slot.Level), 2); if (tm <= sm && tm <= em) return new Tuple(t, t.Level, 1); return null; diff --git a/PKHeX/Legality/Tables4.cs b/PKHeX/Legality/Tables4.cs index 133a2d180..8034bc9cc 100644 --- a/PKHeX/Legality/Tables4.cs +++ b/PKHeX/Legality/Tables4.cs @@ -1175,11 +1175,11 @@ public static partial class Legal 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 234, //233: Pokéwalker }; - internal static int[] GiftEggLocation4 = + internal static readonly int[] GiftEggLocation4 = { 2009, 2010, 2011, 2013, 2014 }; - internal static int[] EggLocations4 = + internal static readonly int[] EggLocations4 = { 2000, 2002, 2009, 2010, 2011, 2013, 2014 };