예제 #1
0
        public static LearnVersion GetIsLevelUpMove(PKM pkm, int species, int form, int lvl, int generation, int move, int minlvlG1, int minlvlG2, GameVersion version = Any)
        {
            if (pkm.IsMovesetRestricted(generation))
            {
                version = (GameVersion)pkm.Version;
            }

            switch (generation)
            {
            case 1: return(GetIsLevelUp1(species, move, lvl, form, minlvlG1, version));

            case 2 when move > MaxMoveID_1 && pkm.LearnMovesNew2Disallowed(): return(LearnNONE);

            case 2: return(GetIsLevelUp2(species, move, lvl, form, minlvlG2, pkm.Korean, version));

            case 3: return(GetIsLevelUp3(species, move, lvl, form, version));

            case 4: return(GetIsLevelUp4(species, move, lvl, form, version));

            case 5: return(GetIsLevelUp5(species, move, lvl, form, version));

            case 6: return(GetIsLevelUp6(species, move, lvl, form, version));

            case 7: return(GetIsLevelUp7(species, move, form, version));    // move reminder can give any move 1-100

            case 8: return(GetIsLevelUp8(species, move, lvl, form, version));
            }
            return(LearnNONE);
        }
        public static IEnumerable <int> GetMovesLevelUp(PKM pkm, int species, int minlvlG1, int minlvlG2, int lvl, int form, GameVersion version, bool MoveReminder, int Generation)
        {
            if (pkm.IsMovesetRestricted())
            {
                version = (GameVersion)pkm.Version;
            }
            switch (Generation)
            {
            case 1: return(GetMovesLevelUp1(species, form, lvl, minlvlG1, version));

            case 2: return(GetMovesLevelUp2(species, form, lvl, minlvlG2, pkm.Korean, pkm.LearnMovesNew2Disallowed(), version));

            case 3: return(GetMovesLevelUp3(species, form, lvl, version));

            case 4: return(GetMovesLevelUp4(species, form, lvl, version));

            case 5: return(GetMovesLevelUp5(species, form, lvl, version));

            case 6: return(GetMovesLevelUp6(species, form, lvl, version));

            case 7: return(GetMovesLevelUp7(species, form, lvl, MoveReminder, version));
            }
            return(Array.Empty <int>());
        }