From 1bd3ec79cfd91043f5b6bdfe9208940c73e4b2c1 Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 14 Oct 2020 18:55:30 -0700 Subject: [PATCH] Misc tweaks for suggesting moves when IsEgg Closes #3032 Don't suggest tutor moves for current moves if it is an egg --- PKHeX.Core/Editing/Applicators/MoveSetApplicator.cs | 4 ++-- PKHeX.Core/Legality/Analysis.cs | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/PKHeX.Core/Editing/Applicators/MoveSetApplicator.cs b/PKHeX.Core/Editing/Applicators/MoveSetApplicator.cs index 5dfc0329e..cc6d49cb3 100644 --- a/PKHeX.Core/Editing/Applicators/MoveSetApplicator.cs +++ b/PKHeX.Core/Editing/Applicators/MoveSetApplicator.cs @@ -42,7 +42,7 @@ public static int[] GetMoveSet(this LegalityAnalysis la, bool random = false) if (!m.All(z => learn.Contains(z))) m = m.Intersect(learn).ToArray(); - if (random) + if (random && !la.pkm.IsEgg) Util.Shuffle(m); const int count = 4; @@ -76,7 +76,7 @@ public static IReadOnlyList GetSuggestedRelearnMoves(this LegalityAnalysis var encounter = EncounterSuggestion.GetSuggestedMetInfo(legal.pkm); if (encounter is IRelearn r && r.Relearn.Count > 0) - m = r.Relearn; + return r.Relearn; return m; } diff --git a/PKHeX.Core/Legality/Analysis.cs b/PKHeX.Core/Legality/Analysis.cs index a7f639bc8..bacf6fa54 100644 --- a/PKHeX.Core/Legality/Analysis.cs +++ b/PKHeX.Core/Legality/Analysis.cs @@ -456,7 +456,7 @@ public IReadOnlyList GetSuggestedRelearnMovesFromEncounter() return Info.RelearnBase; List window = new List(Info.RelearnBase.Where(z => z != 0)); - window.AddRange(pkm.Moves.Where((_, i) => !Info.Moves[i].Valid || Info.Moves[i].Flag)); + window.AddRange(pkm.Moves.Where((z, i) => z != 0 && !Info.Moves[i].Valid || Info.Moves[i].Flag)); window = window.Distinct().ToList(); int[] moves = new int[4]; int start = Math.Max(0, window.Count - 4); @@ -475,7 +475,9 @@ public int[] GetSuggestedCurrentMoves(bool tm, bool tutor, bool reminder) { if (!Parsed) return new int[4]; - return MoveListSuggest.GetSuggestedMoves(pkm, Info.EvoChainsAllGens, tm, tutor, reminder, EncounterOriginal); + if (pkm.IsEgg && pkm.Format >= 6) + return pkm.RelearnMoves; + return MoveListSuggest.GetSuggestedMoves(pkm, Info.EvoChainsAllGens, tm, !pkm.IsEgg && tutor, reminder, EncounterOriginal); } } }