예제 #1
0
        public static IReadOnlyList <PBEItem> GetValidItems(PBESpecies species, PBEForm form)
        {
            PBELegalityChecker.ValidateSpecies(species, form, false);
            switch (species)
            {
            case PBESpecies.Arceus:
            {
                switch (form)
                {
                case PBEForm.Arceus: return(_arceusItems);

                case PBEForm.Arceus_Bug: return(_arceusBugItems);

                case PBEForm.Arceus_Dark: return(_arceusDarkItems);

                case PBEForm.Arceus_Dragon: return(_arceusDragonItems);

                case PBEForm.Arceus_Electric: return(_arceusElectricItems);

                case PBEForm.Arceus_Fighting: return(_arceusFightingItems);

                case PBEForm.Arceus_Fire: return(_arceusFireItems);

                case PBEForm.Arceus_Flying: return(_arceusFlyingItems);

                case PBEForm.Arceus_Ghost: return(_arceusGhostItems);

                case PBEForm.Arceus_Grass: return(_arceusGrassItems);

                case PBEForm.Arceus_Ground: return(_arceusGroundItems);

                case PBEForm.Arceus_Ice: return(_arceusIceItems);

                case PBEForm.Arceus_Poison: return(_arceusPoisonItems);

                case PBEForm.Arceus_Psychic: return(_arceusPsychicItems);

                case PBEForm.Arceus_Rock: return(_arceusRockItems);

                case PBEForm.Arceus_Steel: return(_arceusSteelItems);

                case PBEForm.Arceus_Water: return(_arceusWaterItems);

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Genesect:
            {
                switch (form)
                {
                case PBEForm.Genesect: return(_genesectItems);

                case PBEForm.Genesect_Burn: return(_genesectBurnItems);

                case PBEForm.Genesect_Chill: return(_genesectChillItems);

                case PBEForm.Genesect_Douse: return(_genesectDouseItems);

                case PBEForm.Genesect_Shock: return(_genesectShockItems);

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Giratina:
            {
                switch (form)
                {
                case PBEForm.Giratina: return(_giratinaItems);

                case PBEForm.Giratina_Origin: return(_giratinaOriginItems);

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            default: return(AllItems);
            }
        }
 public static PBELocalizedString GetFormName(PBESpecies species, PBEForm form)
 {
     PBELegalityChecker.ValidateSpecies(species, form, false);
     return(new PBELocalizedString(PBEUtils.QueryDatabase <FormNameSearchResult>(string.Format(QuerySpecies, "FormNames", (ushort)species, (byte)form))[0]));
 }
예제 #3
0
        public static string GetNameOfForm(PBESpecies species, PBEForm form)
        {
            PBELegalityChecker.ValidateSpecies(species, form, false);
            switch (species)
            {
            case PBESpecies.Arceus:
            {
                switch (form)
                {
                case PBEForm.Arceus: return(nameof(PBEForm.Arceus));

                case PBEForm.Arceus_Bug: return(nameof(PBEForm.Arceus_Bug));

                case PBEForm.Arceus_Dark: return(nameof(PBEForm.Arceus_Dark));

                case PBEForm.Arceus_Dragon: return(nameof(PBEForm.Arceus_Dragon));

                case PBEForm.Arceus_Electric: return(nameof(PBEForm.Arceus_Electric));

                case PBEForm.Arceus_Fighting: return(nameof(PBEForm.Arceus_Fighting));

                case PBEForm.Arceus_Fire: return(nameof(PBEForm.Arceus_Fire));

                case PBEForm.Arceus_Flying: return(nameof(PBEForm.Arceus_Flying));

                case PBEForm.Arceus_Ghost: return(nameof(PBEForm.Arceus_Ghost));

                case PBEForm.Arceus_Grass: return(nameof(PBEForm.Arceus_Grass));

                case PBEForm.Arceus_Ground: return(nameof(PBEForm.Arceus_Ground));

                case PBEForm.Arceus_Ice: return(nameof(PBEForm.Arceus_Ice));

                case PBEForm.Arceus_Poison: return(nameof(PBEForm.Arceus_Poison));

                case PBEForm.Arceus_Psychic: return(nameof(PBEForm.Arceus_Psychic));

                case PBEForm.Arceus_Rock: return(nameof(PBEForm.Arceus_Rock));

                case PBEForm.Arceus_Steel: return(nameof(PBEForm.Arceus_Steel));

                case PBEForm.Arceus_Water: return(nameof(PBEForm.Arceus_Water));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Basculin:
            {
                switch (form)
                {
                case PBEForm.Basculin_Blue: return(nameof(PBEForm.Basculin_Blue));

                case PBEForm.Basculin_Red: return(nameof(PBEForm.Basculin_Red));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Burmy:
            {
                switch (form)
                {
                case PBEForm.Burmy_Plant: return(nameof(PBEForm.Burmy_Plant));

                case PBEForm.Burmy_Sandy: return(nameof(PBEForm.Burmy_Sandy));

                case PBEForm.Burmy_Trash: return(nameof(PBEForm.Burmy_Trash));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Castform:
            {
                switch (form)
                {
                case PBEForm.Castform: return(nameof(PBEForm.Castform));

                case PBEForm.Castform_Rainy: return(nameof(PBEForm.Castform_Rainy));

                case PBEForm.Castform_Snowy: return(nameof(PBEForm.Castform_Snowy));

                case PBEForm.Castform_Sunny: return(nameof(PBEForm.Castform_Sunny));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Cherrim:
            {
                switch (form)
                {
                case PBEForm.Cherrim: return(nameof(PBEForm.Cherrim));

                case PBEForm.Cherrim_Sunshine: return(nameof(PBEForm.Cherrim_Sunshine));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Darmanitan:
            {
                switch (form)
                {
                case PBEForm.Darmanitan: return(nameof(PBEForm.Darmanitan));

                case PBEForm.Darmanitan_Zen: return(nameof(PBEForm.Darmanitan_Zen));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Deerling:
            {
                switch (form)
                {
                case PBEForm.Deerling_Autumn: return(nameof(PBEForm.Deerling_Autumn));

                case PBEForm.Deerling_Spring: return(nameof(PBEForm.Deerling_Spring));

                case PBEForm.Deerling_Summer: return(nameof(PBEForm.Deerling_Summer));

                case PBEForm.Deerling_Winter: return(nameof(PBEForm.Deerling_Winter));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Deoxys:
            {
                switch (form)
                {
                case PBEForm.Deoxys: return(nameof(PBEForm.Deoxys));

                case PBEForm.Deoxys_Attack: return(nameof(PBEForm.Deoxys_Attack));

                case PBEForm.Deoxys_Defense: return(nameof(PBEForm.Deoxys_Defense));

                case PBEForm.Deoxys_Speed: return(nameof(PBEForm.Deoxys_Speed));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Gastrodon:
            {
                switch (form)
                {
                case PBEForm.Gastrodon_East: return(nameof(PBEForm.Gastrodon_East));

                case PBEForm.Gastrodon_West: return(nameof(PBEForm.Gastrodon_West));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Genesect:
            {
                switch (form)
                {
                case PBEForm.Genesect: return(nameof(PBEForm.Genesect));

                case PBEForm.Genesect_Burn: return(nameof(PBEForm.Genesect_Burn));

                case PBEForm.Genesect_Chill: return(nameof(PBEForm.Genesect_Chill));

                case PBEForm.Genesect_Douse: return(nameof(PBEForm.Genesect_Douse));

                case PBEForm.Genesect_Shock: return(nameof(PBEForm.Genesect_Shock));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Giratina:
            {
                switch (form)
                {
                case PBEForm.Giratina: return(nameof(PBEForm.Giratina));

                case PBEForm.Giratina_Origin: return(nameof(PBEForm.Giratina_Origin));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Keldeo:
            {
                switch (form)
                {
                case PBEForm.Keldeo: return(nameof(PBEForm.Keldeo));

                case PBEForm.Keldeo_Resolute: return(nameof(PBEForm.Keldeo_Resolute));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Kyurem:
            {
                switch (form)
                {
                case PBEForm.Kyurem: return(nameof(PBEForm.Kyurem));

                case PBEForm.Kyurem_Black: return(nameof(PBEForm.Kyurem_Black));

                case PBEForm.Kyurem_White: return(nameof(PBEForm.Kyurem_White));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Landorus:
            {
                switch (form)
                {
                case PBEForm.Landorus: return(nameof(PBEForm.Landorus));

                case PBEForm.Landorus_Therian: return(nameof(PBEForm.Landorus_Therian));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Meloetta:
            {
                switch (form)
                {
                case PBEForm.Meloetta: return(nameof(PBEForm.Meloetta));

                case PBEForm.Meloetta_Pirouette: return(nameof(PBEForm.Meloetta_Pirouette));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Rotom:
            {
                switch (form)
                {
                case PBEForm.Rotom: return(nameof(PBEForm.Rotom));

                case PBEForm.Rotom_Fan: return(nameof(PBEForm.Rotom_Fan));

                case PBEForm.Rotom_Frost: return(nameof(PBEForm.Rotom_Frost));

                case PBEForm.Rotom_Heat: return(nameof(PBEForm.Rotom_Heat));

                case PBEForm.Rotom_Mow: return(nameof(PBEForm.Rotom_Mow));

                case PBEForm.Rotom_Wash: return(nameof(PBEForm.Rotom_Wash));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Sawsbuck:
            {
                switch (form)
                {
                case PBEForm.Sawsbuck_Autumn: return(nameof(PBEForm.Sawsbuck_Autumn));

                case PBEForm.Sawsbuck_Spring: return(nameof(PBEForm.Sawsbuck_Spring));

                case PBEForm.Sawsbuck_Summer: return(nameof(PBEForm.Sawsbuck_Summer));

                case PBEForm.Sawsbuck_Winter: return(nameof(PBEForm.Sawsbuck_Winter));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Shaymin:
            {
                switch (form)
                {
                case PBEForm.Shaymin: return(nameof(PBEForm.Shaymin));

                case PBEForm.Shaymin_Sky: return(nameof(PBEForm.Shaymin_Sky));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Shellos:
            {
                switch (form)
                {
                case PBEForm.Shellos_East: return(nameof(PBEForm.Shellos_East));

                case PBEForm.Shellos_West: return(nameof(PBEForm.Shellos_West));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Thundurus:
            {
                switch (form)
                {
                case PBEForm.Thundurus: return(nameof(PBEForm.Thundurus));

                case PBEForm.Thundurus_Therian: return(nameof(PBEForm.Thundurus_Therian));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Tornadus:
            {
                switch (form)
                {
                case PBEForm.Tornadus: return(nameof(PBEForm.Tornadus));

                case PBEForm.Tornadus_Therian: return(nameof(PBEForm.Tornadus_Therian));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Unown:
            {
                switch (form)
                {
                case PBEForm.Unown_A: return(nameof(PBEForm.Unown_A));

                case PBEForm.Unown_B: return(nameof(PBEForm.Unown_B));

                case PBEForm.Unown_C: return(nameof(PBEForm.Unown_C));

                case PBEForm.Unown_D: return(nameof(PBEForm.Unown_D));

                case PBEForm.Unown_E: return(nameof(PBEForm.Unown_E));

                case PBEForm.Unown_Exclamation: return(nameof(PBEForm.Unown_Exclamation));

                case PBEForm.Unown_F: return(nameof(PBEForm.Unown_F));

                case PBEForm.Unown_G: return(nameof(PBEForm.Unown_G));

                case PBEForm.Unown_H: return(nameof(PBEForm.Unown_H));

                case PBEForm.Unown_I: return(nameof(PBEForm.Unown_I));

                case PBEForm.Unown_J: return(nameof(PBEForm.Unown_J));

                case PBEForm.Unown_K: return(nameof(PBEForm.Unown_K));

                case PBEForm.Unown_L: return(nameof(PBEForm.Unown_L));

                case PBEForm.Unown_M: return(nameof(PBEForm.Unown_M));

                case PBEForm.Unown_N: return(nameof(PBEForm.Unown_N));

                case PBEForm.Unown_O: return(nameof(PBEForm.Unown_O));

                case PBEForm.Unown_P: return(nameof(PBEForm.Unown_P));

                case PBEForm.Unown_Q: return(nameof(PBEForm.Unown_Q));

                case PBEForm.Unown_Question: return(nameof(PBEForm.Unown_Question));

                case PBEForm.Unown_R: return(nameof(PBEForm.Unown_R));

                case PBEForm.Unown_S: return(nameof(PBEForm.Unown_S));

                case PBEForm.Unown_T: return(nameof(PBEForm.Unown_T));

                case PBEForm.Unown_U: return(nameof(PBEForm.Unown_U));

                case PBEForm.Unown_V: return(nameof(PBEForm.Unown_V));

                case PBEForm.Unown_W: return(nameof(PBEForm.Unown_W));

                case PBEForm.Unown_X: return(nameof(PBEForm.Unown_X));

                case PBEForm.Unown_Y: return(nameof(PBEForm.Unown_Y));

                case PBEForm.Unown_Z: return(nameof(PBEForm.Unown_Z));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            case PBESpecies.Wormadam:
            {
                switch (form)
                {
                case PBEForm.Wormadam_Plant: return(nameof(PBEForm.Wormadam_Plant));

                case PBEForm.Wormadam_Sandy: return(nameof(PBEForm.Wormadam_Sandy));

                case PBEForm.Wormadam_Trash: return(nameof(PBEForm.Wormadam_Trash));

                default: throw new ArgumentOutOfRangeException(nameof(form));
                }
            }

            default: return(null);
            }
        }