Esempio n. 1
0
        private void GetLearnset()
        {
            int formx = form;

            learnset = new List <int>();

            if (!(number == Ps.WORMADAM || number == Ps.ROTOM || number == Ps.KYUREM || number == Ps.FLOETTE && formx == 5 || number == Ps.MEOWSTIC || number == Ps.Lycanroc || GameHelper.Alola(number)))
            {
                formx = 0;
            }
            GetGenericLearnset(number, formx);
            switch (number)
            {
            case Ps.SMEARGLE:
                for (var m = 1; m <= RomData.Moves.Count(); ++m)
                {
                    if (m != Ms.STRUGGLE && m != Ms.CHATTER)
                    {
                        GetLearnVM(m);
                    }
                }
                break;

            case Ps.ROTOM:
                if (formx != 0)
                {
                    GetLearnVM(formx == 1 ? Ms.OVERHEAT : formx == 2 ? Ms.HYDRO_PUMP : formx == 3 ? Ms.BLIZZARD : formx == 4 ? Ms.AIR_SLASH : Ms.LEAF_STORM);
                }
                break;

            case Ps.SHAYMIN:
                GetGenericLearnset(Ps.SHAYMIN, 1 - formx);
                break;

            default:
                if (!(number == Ps.FLOETTE && formx == 5))
                {
                    foreach (var e1 in RomData.Evolutions)
                    {
                        if (e1.To == number)
                        {
                            int x = 0;
                            if (GameHelper.Alola(number))
                            {
                                x = formx;
                            }
                            GetGenericLearnset(e1.From, x);
                            foreach (var e2 in RomData.Evolutions)
                            {
                                if (e2.To == e1.From)
                                {
                                    GetGenericLearnset(e2.From, x);
                                    break;
                                }
                            }
                            break;
                        }
                    }
                }
                break;
            }
        }