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])); }
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); } }