From 79ef477d3d52d39bf9e3f6563f6437764166edbb Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 12 Feb 2017 22:51:10 -0800 Subject: [PATCH] Misc tweaks Detecting how a pkm learned a move updated (split TMHM and tutor from validMoves, rearrange checking order) => better indication Levelup -> Level-up --- PKHeX/Legality/Checks.cs | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/PKHeX/Legality/Checks.cs b/PKHeX/Legality/Checks.cs index fab2ec60c..4eaf03b5e 100644 --- a/PKHeX/Legality/Checks.cs +++ b/PKHeX/Legality/Checks.cs @@ -1318,7 +1318,7 @@ private CheckResult verifyHistory() if (pkm.Species != 350) // Milotic return new CheckResult(Severity.Invalid, "Untraded -- requires a trade evolution.", CheckIdentifier.History); if (pkm.CNT_Beauty < 170) // Beauty Contest Stat Requirement - return new CheckResult(Severity.Invalid, "Untraded -- Beauty is not high enough for Levelup Evolution.", CheckIdentifier.History); + return new CheckResult(Severity.Invalid, "Untraded -- Beauty is not high enough for Level-up Evolution.", CheckIdentifier.History); if (pkm.CurrentLevel == 1) return new CheckResult(Severity.Invalid, "Untraded -- Beauty is high enough but still Level 1.", CheckIdentifier.History); } @@ -1349,7 +1349,7 @@ private CheckResult verifyHistory() if (pkm.Species != 350) // Milotic return new CheckResult(Severity.Invalid, "Untraded -- requires a trade evolution.", CheckIdentifier.History); if (pkm.CNT_Beauty < 170) // Beauty Contest Stat Requirement - return new CheckResult(Severity.Invalid, "Untraded -- Beauty is not high enough for Levelup Evolution.", CheckIdentifier.History); + return new CheckResult(Severity.Invalid, "Untraded -- Beauty is not high enough for Level-up Evolution.", CheckIdentifier.History); if (pkm.CurrentLevel == 1) return new CheckResult(Severity.Invalid, "Untraded -- Beauty is high enough but still Level 1.", CheckIdentifier.History); } @@ -1861,7 +1861,9 @@ private CheckResult[] verifyMoves() for (int i = 0; i < 4; i++) res[i] = new CheckResult(CheckIdentifier.Move); - var validMoves = Legal.getValidMoves(pkm, EvoChain).ToArray(); + var validMoves = Legal.getValidMoves(pkm, EvoChain, Tutor: false, Machine: false).ToArray(); + var validTMHM = Legal.getValidMoves(pkm, EvoChain, Tutor: false, MoveReminder: false).ToArray(); + var validTutor = Legal.getValidMoves(pkm, EvoChain, Machine: false, MoveReminder: false).ToArray(); if (pkm.Species == 235) // Smeargle { for (int i = 0; i < 4; i++) @@ -1878,10 +1880,14 @@ private CheckResult[] verifyMoves() { if (Moves[i] == Legal.Struggle) res[i] = new CheckResult(Severity.Invalid, "Invalid Move: Struggle.", CheckIdentifier.Move); - else if (validMoves.Contains(Moves[i])) - res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "Level-up.", CheckIdentifier.Move); else if (RelearnMoves.Contains(Moves[i])) res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "Relearn Move.", CheckIdentifier.Move) { Flag = true }; + else if (validMoves.Contains(Moves[i])) + res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "Level-up.", CheckIdentifier.Move); + else if (validTMHM.Contains(Moves[i])) + res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "TM/HM.", CheckIdentifier.Move); + else if (validTutor.Contains(Moves[i])) + res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "Tutor.", CheckIdentifier.Move); else if (mg.Moves.Contains(Moves[i])) res[i] = new CheckResult(Severity.Valid, "Wonder Card Non-Relearn Move.", CheckIdentifier.Move); else @@ -1904,10 +1910,14 @@ private CheckResult[] verifyMoves() { if (Moves[i] == Legal.Struggle) res[i] = new CheckResult(Severity.Invalid, "Invalid Move: Struggle.", CheckIdentifier.Move); - else if (validMoves.Contains(Moves[i])) - res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "Level-up.", CheckIdentifier.Move); else if (RelearnMoves.Contains(Moves[i])) res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "Relearn Move.", CheckIdentifier.Move) { Flag = true }; + else if (validMoves.Contains(Moves[i])) + res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "Level-up.", CheckIdentifier.Move); + else if (validTMHM.Contains(Moves[i])) + res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "TM/HM.", CheckIdentifier.Move); + else if (validTutor.Contains(Moves[i])) + res[i] = new CheckResult(Severity.Valid, Moves[i] == 0 ? "Empty" : "Tutor.", CheckIdentifier.Move); else if (GiftMoves.Contains(Moves[i])) res[i] = new CheckResult(Severity.Valid, "Wonder Card Non-Relearn Move.", CheckIdentifier.Move); else