Esempio n. 1
0
    internal static IEnumerable <int> GetValidRelearn(PKM pk, int species, int form, bool inheritlvlmoves, GameVersion version = Any)
    {
        int generation = pk.Generation;

        if (generation < 6)
        {
            return(Array.Empty <int>());
        }

        var r = new List <int>();

        r.AddRange(MoveEgg.GetRelearnLVLMoves(pk, species, form, 1, version));

        if (pk.Format == 6 && pk.Species != (int)Species.Meowstic)
        {
            form = 0;
        }

        r.AddRange(MoveEgg.GetEggMoves(pk.PersonalInfo, species, form, version, Math.Max(2, generation)));
        if (inheritlvlmoves)
        {
            r.AddRange(MoveEgg.GetRelearnLVLMoves(pk, species, form, 100, version));
        }
        return(r.Distinct());
    }