internal static IEnumerable <int> GetValidRelearn(PKM pkm, int species, bool inheritlvlmoves, GameVersion version = GameVersion.Any) { List <int> r = new List <int> { 0 }; if (pkm.GenNumber < 6 || pkm.VC) { return(r); } r.AddRange(MoveEgg.GetRelearnLVLMoves(pkm, species, 1, pkm.AltForm, version)); int form = pkm.AltForm; if (pkm.Format == 6 && pkm.Species != 678) { form = 0; } r.AddRange(MoveEgg.GetEggMoves(pkm, species, form, version)); if (inheritlvlmoves) { r.AddRange(MoveEgg.GetRelearnLVLMoves(pkm, species, 100, pkm.AltForm, version)); } return(r.Distinct()); }
internal static IEnumerable <int> GetValidRelearn(PKM pkm, int species, int form, bool inheritlvlmoves, GameVersion version = Any) { int generation = pkm.Generation; if (generation < 6) { return(Array.Empty <int>()); } var r = new List <int>(); r.AddRange(MoveEgg.GetRelearnLVLMoves(pkm, species, form, 1, version)); if (pkm.Format == 6 && pkm.Species != (int)Species.Meowstic) { form = 0; } r.AddRange(MoveEgg.GetEggMoves(pkm.PersonalInfo, species, form, version, Math.Max(2, generation))); if (inheritlvlmoves) { r.AddRange(MoveEgg.GetRelearnLVLMoves(pkm, species, form, 100, version)); } return(r.Distinct()); }
internal static IEnumerable <int> GetValidRelearn(PKM pkm, int species, int form, bool inheritlvlmoves, GameVersion version = GameVersion.Any) { if (pkm.GenNumber < 6) { return(Array.Empty <int>()); } var r = new List <int>(); r.AddRange(MoveEgg.GetRelearnLVLMoves(pkm, species, 1, form, version)); if (pkm.Format == 6 && pkm.Species != 678) { form = 0; } r.AddRange(MoveEgg.GetEggMoves(pkm, species, form, version)); if (inheritlvlmoves) { r.AddRange(MoveEgg.GetRelearnLVLMoves(pkm, species, 100, form, version)); } return(r.Distinct()); }