From c3a6fd2a64d591c3ad41c0e1ceb03526a6940de3 Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 18 Oct 2019 20:50:38 -0700 Subject: [PATCH] Handle bad gennumber indexes Maybe returning 0 for "bad gen" will prevent bad array indexing... --- PKHeX.Core/Legality/Core.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index cc010dcbe..684dde904 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -738,7 +738,11 @@ private static IEnumerable GetValidMoves(PKM pkm, GameVersion Version, IRea if (Relearn && pkm.Format >= 6) r.AddRange(pkm.RelearnMoves); - for (int gen = pkm.GenNumber; gen <= pkm.Format; gen++) + int start = pkm.GenNumber; + if (start < 0) + start = pkm.Format; // be generous instead of returning nothing + + for (int gen = start; gen <= pkm.Format; gen++) { if (vs[gen].Count != 0) r.AddRange(GetValidMoves(pkm, Version, vs[gen], gen, minLvLG1: minLvLG1, minLvLG2: minLvLG2, LVL: LVL, Relearn: false, Tutor: Tutor, Machine: Machine, MoveReminder: MoveReminder, RemoveTransferHM: RemoveTransferHM));