示例#1
0
        private static void AddMovesTutor7(List <int> moves, int species, int form, PKM pkm, bool specialTutors)
        {
            var pi = PersonalTable.USUM.GetFormeEntry(species, form);

            moves.AddRange(TypeTutor6.Where((_, i) => pi.TypeTutors[i]));
            if (specialTutors && pkm.HasVisitedUSUM())
            {
                moves.AddRange(GetTutors(PersonalTable.USUM.GetFormeEntry(species, form), Tutors_USUM));
            }
        }
示例#2
0
        private static void AddMovesTutor5(List <int> moves, int species, int form, PKM pkm, bool specialTutors)
        {
            var pi = PersonalTable.B2W2[species];

            moves.AddRange(TypeTutor6.Where((_, i) => pi.TypeTutors[i]));
            if (pkm.InhabitedGeneration(5) && specialTutors)
            {
                moves.AddRange(GetTutors(PersonalTable.B2W2.GetFormeEntry(species, form), Tutors_B2W2));
            }
        }
示例#3
0
        private static IEnumerable <int> getTutorMoves(PKM pkm, int species, int form, bool specialTutors)
        {
            PersonalInfo info  = pkm.PersonalInfo;
            List <int>   moves = new List <int>();

            // Type Tutors -- Pledge moves and High BP moves switched places in G7+
            if (pkm.Format <= 6)
            {
                moves.AddRange(TypeTutor6.Where((t, i) => info.TypeTutors[i]));
            }
            else if (pkm.Format >= 7)
            {
                moves.AddRange(TypeTutor7.Where((t, i) => info.TypeTutors[i]));
            }

            // Varied Tutors
            //if (pkm.InhabitedGeneration(5) && Tutors)
            //{
            //    //PersonalInfo pi = PersonalTable.B2W2.getFormeEntry(species, form);
            //    //for (int i = 0; i < Tutors_B2W2.Length; i++)
            //    //    for (int b = 0; b < Tutors_B2W2[i].Length; b++)
            //    //        if (pi.SpecialTutors[i][b])
            //    //            moves.Add(Tutors_B2W2[i][b]);
            //}
            if (pkm.InhabitedGeneration(6) && specialTutors && (pkm.AO || !pkm.IsUntraded))
            {
                PersonalInfo pi = PersonalTable.AO.getFormeEntry(species, form);
                for (int i = 0; i < Tutors_AO.Length; i++)
                {
                    for (int b = 0; b < Tutors_AO[i].Length; b++)
                    {
                        if (pi.SpecialTutors[i][b])
                        {
                            moves.Add(Tutors_AO[i][b]);
                        }
                    }
                }
            }
            // No tutors in G7

            // Keldeo - Secret Sword
            if (species == 647)
            {
                moves.Add(548);
            }
            return(moves.Distinct());
        }