예제 #1
0
파일: Core.cs 프로젝트: LLNet/PKHeX
        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());
        }
예제 #2
0
        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());
        }
예제 #3
0
        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());
        }