Exemple #1
0
        private static LearnVersion GetIsLevelUp3(int species, int move, int lvl, int form, GameVersion ver = Any)
        {
            if (species == (int)Species.Deoxys)
            {
                return(GetIsLevelUp3Deoxys(form, move, lvl));
            }

            // Emerald level up tables are equal to R/S level up tables
            switch (ver)
            {
            case Any:
                var first = LearnRSE.GetIsLevelUp(species, form, move, lvl);
                if (first.IsLevelUp)
                {
                    return(first);
                }
                return(LearnFRLG.GetIsLevelUp(species, form, move, lvl));

            case R:
            case S:
            case E:
            case RS:
            case RSE:
                return(LearnRSE.GetIsLevelUp(species, form, move, lvl));

            case FR:
            case LG:
            case FRLG:
                return(LearnFRLG.GetIsLevelUp(species, form, move, lvl));
            }
            return(LearnNONE);
        }
        private static List <int> AddMovesLevelUp3(List <int> moves, GameVersion ver, int species, int max, int form)
        {
            if (species == 386)
            {
                var learn = GetDeoxysLearn3(form, ver);
                if (learn != null)
                {
                    moves.AddRange(learn.GetMoves(max));
                }
                return(moves);
            }

            // Emerald level up tables are equal to R/S level up tables
            switch (ver)
            {
            case Any:
                LearnRSE.AddMoves(moves, species, form, max);
                return(LearnFRLG.AddMoves(moves, species, form, max));

            case R:
            case S:
            case E:
            case RS:
            case RSE:
                return(LearnRSE.AddMoves(moves, species, form, max));

            case FR:
            case LG:
            case FRLG:
                return(LearnFRLG.AddMoves(moves, species, form, max));
            }
            return(moves);
        }