/// <inheritdoc/> protected override void Configure(IObjectTypeDescriptor <VersionGroupFlavorText> descriptor) { descriptor.Field(x => x.Text) .Description("The localized name for an api resource in a specific language."); descriptor.UseNamedApiResourceField <VersionGroupFlavorText, Language, LanguageType>(x => x.Language); descriptor.UseNamedApiResourceField <VersionGroupFlavorText, VersionGroup, VersionGroupType>(x => x.VersionGroup); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <Machine> descriptor) { descriptor.Description(@"Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine."); descriptor.UseNamedApiResourceField <Machine, Item, ItemType>(x => x.Item); descriptor.UseNamedApiResourceField <Machine, Move, MoveType>(x => x.Move); descriptor.UseNamedApiResourceField <Machine, VersionGroup, VersionGroupType>(x => x.VersionGroup); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <Berry> descriptor) { descriptor.Description("Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by pokemon."); descriptor.Field(x => x.Flavors) .Type <ListType <BerryFlavorMapType> >(); descriptor.UseNamedApiResourceField <Berry, Type, TypePropertyType>(x => x.NaturalGiftType); descriptor.UseNamedApiResourceField <Berry, BerryFirmness, BerryFirmnessType>(x => x.Firmness); descriptor.UseNamedApiResourceField <Berry, Item, ItemType>(x => x.Item); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <Nature> descriptor) { descriptor.Description("Natures influence how a pokémon's stats grow."); descriptor.UseNamedApiResourceField <Nature, Stat, StatType>(x => x.DecreasedStat); descriptor.UseNamedApiResourceField <Nature, Stat, StatType>(x => x.IncreasedStat); descriptor.UseNamedApiResourceField <Nature, BerryFlavor, BerryFlavorType>(x => x.HatesFlavor); descriptor.UseNamedApiResourceField <Nature, BerryFlavor, BerryFlavorType>(x => x.LikesFlavor); descriptor.Field(x => x.PokeathlonStatChanges) .Description("A list of pokéathlon stats this nature effects and how much it effects them.") .Type <ListType <NatureStatChangeType> >(); descriptor.Field(x => x.MoveBattleStylePreferences) .Description("A list of battle styles and how likely a pokémon with this nature is to use them in the Battle Palace or Battle Tent.") .Type <ListType <MoveBattleStylePreferenceType> >(); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <BerryFlavor> descriptor) { descriptor.Description("Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their nature."); descriptor.UseNamedApiResourceField <BerryFlavor, ContestType, ContestTypeType>(x => x.ContestType); descriptor.Field(x => x.Berries) .Type <ListType <FlavorBerryMapType> >(); }
protected override void Configure(IObjectTypeDescriptor <EncounterMethodRate> descriptor) { descriptor.UseNamedApiResourceField <EncounterMethodRate, EncounterMethod, EncounterMethodType>(x => x.EncounterMethod); descriptor.Field(x => x.VersionDetails) .Description("The chance of the encounter to occur on a version of the game.") .Type <ListType <EncounterVersionDetailsType> >(); }
protected override void Configure(IObjectTypeDescriptor <EvolutionDetail> descriptor) { descriptor.UseNullableNamedApiResourceField <EvolutionDetail, Item, ItemType>(x => x.Item); descriptor.UseNamedApiResourceField <EvolutionDetail, EvolutionTrigger, EvolutionTriggerType>(x => x.Trigger); descriptor.Field(x => x.Gender) .Description("The gender the evolving pokémon species must be in order to evolve into this pokémon species."); descriptor.UseNullableNamedApiResourceField <EvolutionDetail, Item, ItemType>(x => x.HeldItem); descriptor.UseNullableNamedApiResourceField <EvolutionDetail, Move, MoveType>(x => x.KnownMove); descriptor.UseNullableNamedApiResourceField <EvolutionDetail, Type, TypePropertyType>(x => x.KnownMoveType); descriptor.UseNullableNamedApiResourceField <EvolutionDetail, Location, LocationType>(x => x.Location); descriptor.Field(x => x.MinLevel) .Description("The minimum required level of the evolving pokémon species to evolve into this pokémon species."); descriptor.Field(x => x.MinHappiness) .Description("The minimum required level of happiness the evolving pokémon species to evolve into this pokémon species."); descriptor.Field(x => x.MinBeauty) .Description("The minimum required level of beauty the evolving pokémon species to evolve into this pokémon species."); descriptor.Field(x => x.MinAffection) .Description("The minimum required level of affection the evolving pokémon species to evolve into this pokémon species."); descriptor.Field(x => x.NeedsOverworldRain) .Description("Whether or not it must be raining in the overworld to cause evolution this pokémon species."); descriptor.UseNullableNamedApiResourceField <EvolutionDetail, PokemonSpecies, PokemonSpeciesType>(x => x.PartySpecies); descriptor.UseNullableNamedApiResourceField <EvolutionDetail, Type, TypePropertyType>(x => x.PartyType); descriptor.Field(x => x.RelativePhysicalStats) .Description("The required relation between the Pokémon's Attack and Defense stats. 1 means Attack > Defense. 0 means Attack = Defense. -1 means Attack < Defense."); descriptor.Field(x => x.TimeOfDay) .Description("The required time of day. Day or night."); descriptor.UseNullableNamedApiResourceField <EvolutionDetail, PokemonSpecies, PokemonSpeciesType>(x => x.TradeSpecies); descriptor.Field(x => x.TurnUpsideDown) .Description("Whether or not the 3DS needs to be turned upside-down as this Pokémon levels up."); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <Item> descriptor) { descriptor.Description(@"An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokémon, or to access a new area."); descriptor.Field(x => x.Cost) .Description("The price of this item in stores."); descriptor.Field(x => x.FlingPower) .Description("The power of the move Fling when used with this item."); descriptor.UseNullableNamedApiResourceField <Item, ItemFlingEffect, ItemFlingEffectType>(x => x.FlingEffect); descriptor.UseNamedApiResourceCollectionField <Item, ItemAttribute, ItemAttributeType>(x => x.Attributes); descriptor.UseNamedApiResourceField <Item, ItemCategory, ItemCategoryType>(x => x.Category); descriptor.Field(x => x.HeldByPokemon) .Description("A list of pokémon that might be found in the wild holding this item.") .Type <ListType <ItemHolderPokemonType> >(); descriptor.Field(x => x.GameIndices) .Description("A list of game indices relevent to this item by generation.") .Type <ListType <GenerationGameIndexType> >(); descriptor.UseNullableApiResourceField <Item, EvolutionChain, EvolutionChainType>(x => x.BabyTriggerFor); descriptor.Field(x => x.EffectEntries) .Description("The effect of this ability listed in different languages.") .Type <ListType <VerboseEffectType> >(); descriptor.Field(x => x.FlavorGroupTextEntries) .Description("The flavor text of this ability listed in different languages.") .Type <ListType <VersionGroupFlavorTextType> >(); }
/// <inheritdoc/> protected override void Configure(IObjectTypeDescriptor <ItemHolderPokemon> descriptor) { descriptor.UseNamedApiResourceField <ItemHolderPokemon, Pokemon, PokemonType>(x => x.Pokemon); descriptor.Field(x => x.VersionDetails) .Description("Details on chance of the pokemon having the item based on version.") .Type <ListType <HeldItemVersionDetailsType> >(); }
protected override void Configure(IObjectTypeDescriptor <PokemonEncounter> descriptor) { descriptor.UseNamedApiResourceField <PokemonEncounter, Pokemon, PokemonType>(x => x.Pokemon); descriptor.Field(x => x.VersionDetails) .Description("A list of versions and encounters with pokémon that might happen in the referenced location area.") .Type <ListType <VersionEncounterDetailType> >(); }
protected override void Configure(IObjectTypeDescriptor <PokemonSpeciesGender> descriptor) { descriptor.Field(x => x.Rate) .Name("genderRate") .Description("The chance of this Pokémon being female, in eighths; or -1 for genderless."); descriptor.UseNamedApiResourceField <PokemonSpeciesGender, PokemonSpecies, PokemonSpeciesType>(x => x.PokemonSpecies); }
/// <inheritdoc/> protected override void Configure(IObjectTypeDescriptor <AbilityEffectChange> descriptor) { descriptor.Field(x => x.EffectEntries) .Description("The previous effect of this ability listed in different languages.") .Type <ListType <EffectsType> >(); descriptor.UseNamedApiResourceField <AbilityEffectChange, VersionGroup, VersionGroupType>(x => x.VersionGroup); }
protected override void Configure(IObjectTypeDescriptor <PastMoveStatValues> descriptor) { descriptor.Field(x => x.Accuracy) .Description("The percent value of how likely this move is to be successful."); descriptor.Field(x => x.EffectChance) .Description("The percent value of how likely it is this moves effect will take effect."); descriptor.Field(x => x.Power) .Description("The base power of this move with a value of 0 if it does not have a base power."); descriptor.Field(x => x.Pp) .Description("Power points. The number of times this move can be used."); descriptor.Field(x => x.EffectEntries) .Description("The effect of this move listed in different languages.") .Ignore(); descriptor.UseNamedApiResourceField <PastMoveStatValues, Type, TypePropertyType>(x => x.Type); descriptor.UseNamedApiResourceField <PastMoveStatValues, VersionGroup, VersionGroupType>(x => x.VersionGroup); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <PokemonSpecies> descriptor) { descriptor.Description(@"A Pokémon Species forms the basis for at least one pokémon. Attributes of a Pokémon species are shared across all varieties of pokémon within the species. A good example is Wormadam; Wormadam is the species which can be found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant."); descriptor.Ignore(x => x.FormDescriptions); descriptor.Field(x => x.Order) .Description(@"The order in which species should be sorted. Based on National Dex order, except families are grouped together and sorted by stage."); descriptor.Field(x => x.GenderRate) .Description("The chance of this Pokémon being female, in eighths; or -1 for genderless."); descriptor.Field(x => x.CaptureRate) .Description("The base capture rate; up to 255. The higher the number, the easier the catch."); descriptor.Field(x => x.BaseHappiness) .Description("The happiness when caught by a normal pokéball; up to 255. The higher the number, the happier the pokémon."); descriptor.Field(x => x.IsBaby) .Description("Whether or not this is a baby pokémon."); descriptor.Field(x => x.HatchCounter) .Description("Initial hatch counter: one must walk 255 × (hatch_counter + 1) steps before this Pokémon's egg hatches, unless utilizing bonuses like Flame Body's."); descriptor.Field(x => x.HasGenderDifferences) .Description("Whether or not this pokémon can have different genders."); descriptor.Field(x => x.FormsSwitchable) .Description("Whether or not this pokémon has multiple forms and can switch between them."); descriptor.UseNamedApiResourceField <PokemonSpecies, GrowthRate, GrowthRateType>(x => x.GrowthRate); descriptor.Field(x => x.PokedexNumbers) .Description("A list of pokedexes and the indexes reserved within them for this pokémon species.") .Type <ListType <PokemonSpeciesDexEntryType> >(); descriptor.UseNamedApiResourceCollectionField <PokemonSpecies, EggGroup, EggGroupType>(x => x.EggGroups); descriptor.UseNamedApiResourceField <PokemonSpecies, PokemonColor, PokemonColorType>(x => x.Color); descriptor.UseNamedApiResourceField <PokemonSpecies, PokemonShape, PokemonShapeType>(x => x.Shape); descriptor.UseNullableNamedApiResourceField <PokemonSpecies, PokemonSpecies, PokemonSpeciesType>(x => x.EvolvesFromSpecies); descriptor.UseApiResourceField <PokemonSpecies, EvolutionChain, EvolutionChainType>(x => x.EvolutionChain); descriptor.UseNamedApiResourceField <PokemonSpecies, PokemonHabitat, PokemonHabitatType>(x => x.Habitat); descriptor.UseNamedApiResourceField <PokemonSpecies, Generation, GenerationType>(x => x.Generation); descriptor.Field(x => x.PalParkEncounters) .Description("A list of encounters that can be had with this pokémon species in pal park.") .Type <ListType <PalParkEncounterAreaType> >(); descriptor.Field(x => x.Genera) .Description("The genus of this pokémon species listed in multiple languages.") .Type <ListType <GenusType> >(); descriptor.Field(x => x.Varieties) .Description("A list of the pokémon that exist within this pokémon species.") .Type <ListType <PokemonSpeciesVarietyType> >(); descriptor.Field(x => x.FlavorTextEntries) .Type <ListType <PokemonSpeciesFlavorTextsType> >(); }
protected override void Configure(IObjectTypeDescriptor <AbilityPokemon> descriptor) { descriptor.Field(x => x.IsHidden) .Description("Whether or not this a hidden ability for the referenced pokémon."); descriptor.Field(x => x.Slot) .Description("Pokémon have 3 ability 'slots' which hold references to possible abilities they could have. This is the slot of this ability for the referenced pokémon."); descriptor.UseNamedApiResourceField <AbilityPokemon, Pokemon, PokemonType>(x => x.Pokemon); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <ContestType> descriptor) { descriptor.Description("Contest types are categories judges used to weigh a pokémon's condition in pokemon contests."); descriptor.Field(x => x.Name) .Description($"The name for this {this.ResourceName} resource.") .Type <NonNullType <StringType> >(); descriptor.UseNamedApiResourceField <ContestType, BerryFlavor, BerryFlavorType>(x => x.BerryFlavor); }
protected override void Configure(IObjectTypeDescriptor <PokemonAbility> descriptor) { descriptor.Field(x => x.IsHidden) .Description("Whether or not this is a hidden ability."); descriptor.Field(x => x.Slot) .Description("The slot this ability occupies in this pokémon species."); descriptor.UseNamedApiResourceField <PokemonAbility, Ability, AbilityType>(x => x.Ability); }
protected override void Configure(IObjectTypeDescriptor <PalParkEncounterSpecies> descriptor) { descriptor.Field(x => x.BaseScore) .Description("The base score given to the player when this pokémon is caught during a pal park run."); descriptor.Field(x => x.Rate) .Description("The base rate for encountering this pokémon in this pal park area."); descriptor.UseNamedApiResourceField <PalParkEncounterSpecies, PokemonSpecies, PokemonSpeciesType>(x => x.PokemonSpecies); }
/// <inheritdoc/> protected override void Configure(IObjectTypeDescriptor <VerboseEffect> descriptor) { descriptor.Field(x => x.Effect) .Description("The localized effect text for an api resource in a specific language."); descriptor.Field(x => x.ShortEffect) .Description("The localized effect text in brief."); descriptor.UseNamedApiResourceField <VerboseEffect, Language, LanguageType>(x => x.Language); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <Move> descriptor) { descriptor.Description(@"Moves are the skills of pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including those learned by Hidden Machine) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas."); descriptor.Ignore(x => x.FlavorTextEntries); descriptor.Field(x => x.Accuracy) .Description("The percent value of how likely this move is to be successful."); descriptor.Field(x => x.EffectChance) .Description("The percent value of how likely it is this moves effect will happen."); descriptor.Field(x => x.Pp) .Description("Power points. The number of times this move can be used."); descriptor.Field(x => x.Priority) .Description("A value between -8 and 8. Sets the order in which moves are executed during battle."); descriptor.Field(x => x.Power) .Description("The base power of this move with a value of 0 if it does not have a base power"); descriptor.Field(x => x.ContestCombos) .Description("A detail of normal and super contest combos that require this move.") .Type <ContestComboSetsType>(); descriptor.UseNamedApiResourceField <Move, ContestType, ContestTypeType>(x => x.ContestType); descriptor.UseApiResourceField <Move, ContestEffect, ContestEffectType>(x => x.ContestEffect); descriptor.UseNamedApiResourceField <Move, MoveDamageClass, MoveDamageClassType>(x => x.DamageClass); descriptor.Field(x => x.EffectEntries) .Description("The effect of this move listed in different languages.") .Type <ListType <VerboseEffectType> >(); descriptor.Field(x => x.EffectChanges) .Description("The list of previous effects this move has had across version groups of the games.") .Type <ListType <AbilityEffectChangeType> >(); descriptor.UseNamedApiResourceField <Move, Generation, GenerationType>(x => x.Generation); descriptor.Field(x => x.Meta) .Description("Meta data about this move.") .Type <MoveMetaDataType>(); descriptor.Field(x => x.PastValues) .Description("A list of move resource value changes across ersion groups of the game.") .Type <ListType <PastMoveStatValuesType> >(); descriptor.Field(x => x.StatChanges) .Description("A list of stats this moves effects and how much it effects them.") .Type <ListType <MoveStatChangeType> >(); descriptor.UseApiResourceField <Move, SuperContestEffect, SuperContestEffectType>(x => x.SuperContestEffect); descriptor.UseNamedApiResourceField <Move, MoveTarget, MoveTargetType>(x => x.Target); descriptor.UseNamedApiResourceField <Move, Type, TypePropertyType>(x => x.Type); descriptor.Field(x => x.Machines) .Type <ListType <MachineVersionDetailType> >(); }
protected override void Configure(IObjectTypeDescriptor <MoveBattleStylePreference> descriptor) { descriptor.Field(x => x.LowHpPreference) .Description("Chance of using the move, in percent, if HP is under one half."); descriptor.Field(x => x.HighHpPreference) .Name("highHpPreference") .Description("Chance of using the move, in percent, if HP is over one half."); descriptor.UseNamedApiResourceField <MoveBattleStylePreference, MoveBattleStyle, MoveBattleStyleType>(x => x.MoveBattleStyle); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <Location> descriptor) { descriptor.Description("Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes."); descriptor.UseNamedApiResourceField <Location, Region, RegionType>(x => x.Region); descriptor.Field(x => x.GameIndices) .Description("A list of game indices relevent to this location by generation.") .Type <ListType <GenerationGameIndexType> >(); descriptor.UseNamedApiResourceCollectionField <Location, LocationArea, LocationAreaType>(x => x.Areas); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <TypeProperty> descriptor) { descriptor.Description(@"Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is super effective against, which types of Pokémon it is not very effective against and which types of Pokémon it is completely ineffective against."); descriptor.Field(x => x.DamageRelations) .Description("A detail of how effective this type is toward others and vice versa.") .Type <TypeRelationsType>(); descriptor.Field(x => x.GameIndices) .Description("A list of game indices relevent to this item by generation.") .Type <ListType <GenerationGameIndexType> >(); descriptor.UseNamedApiResourceField <TypeProperty, Generation, GenerationType>(x => x.Generation); descriptor.UseNamedApiResourceField <TypeProperty, MoveDamageClass, MoveDamageClassType>(x => x.MoveDamageClass); descriptor.Field(x => x.Pokemon) .Description("A list of details of pokemon that have this type.") .Type <ListType <TypePokemonType> >(); descriptor.UseNamedApiResourceCollectionField <TypeProperty, Move, MoveType>(x => x.Moves); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <Region> descriptor) { descriptor.Description(@"A region is an organized area of the pokémon world. Most often, the main difference between regions is the species of pokémon that can be encountered within them."); descriptor.UseNamedApiResourceCollectionField <Region, Location, LocationType>(x => x.Locations); descriptor.UseNamedApiResourceField <Region, Generation, GenerationType>(x => x.MainGeneration); descriptor.UseNamedApiResourceCollectionField <Region, Pokedex, PokedexType>(x => x.Pokedexes); descriptor.UseNamedApiResourceCollectionField <Region, VersionGroup, VersionGroupType>(x => x.VersionGroups); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <VersionGroup> descriptor) { descriptor.Description("Version groups categorize highly similar versions of the games."); descriptor.Field(x => x.Order) .Description("Order for sorting. Almost by date of release, except similar versions are grouped together."); descriptor.UseNamedApiResourceField <VersionGroup, Generation, GenerationType>(x => x.Generation); descriptor.UseNamedApiResourceCollectionField <VersionGroup, MoveLearnMethod, MoveLearnMethodType>(x => x.MoveLearnMethods); descriptor.UseNamedApiResourceCollectionField <VersionGroup, Pokedex, PokedexType>(x => x.Pokedexes); descriptor.UseNamedApiResourceCollectionField <VersionGroup, Region, RegionType>(x => x.Regions); descriptor.UseNamedApiResourceCollectionField <VersionGroup, Version, VersionType>(x => x.Versions); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <Generation> descriptor) { descriptor.Description(@"A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each generation, a new set of Pokémon, Moves, Abilities and Types that did not exist in the previous generation are released."); descriptor.UseNamedApiResourceCollectionField <Generation, Ability, AbilityType>(x => x.Abilities); descriptor.UseNamedApiResourceField <Generation, Region, RegionType>(x => x.MainRegion); descriptor.UseNamedApiResourceCollectionField <Generation, Move, MoveType>(x => x.Moves); descriptor.UseNamedApiResourceCollectionField <Generation, PokemonSpecies, PokemonSpeciesType>(x => x.PokemonSpecies); descriptor.UseNamedApiResourceCollectionField <Generation, Type, TypePropertyType>(x => x.Types); descriptor.UseNamedApiResourceCollectionField <Generation, VersionGroup, VersionGroupType>(x => x.VersionGroups); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <Characteristic> descriptor) { descriptor.Description(@"Characteristics indicate which stat contains a Pokémon's highest IV. A Pokémon's Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo)."); descriptor.Field(x => x.GeneModulo) .Description("The remainder of the highest stat/IV divided by 5."); descriptor.Field(x => x.PossibleValues) .Description("The possible values of the highest stat that would result in a pokémon recieving this characteristic when divided by 5.") .Type <ListType <IntType> >(); descriptor.UseNamedApiResourceField <Characteristic, Stat, StatType>(x => x.HighestStat); descriptor.Ignore(x => x.Descriptions); }
protected override void Configure(IObjectTypeDescriptor <ChainLink> descriptor) { descriptor.Field(x => x.IsBaby) .Description(@"Whether or not this link is for a baby pokémon. This would only ever be true on the base link."); descriptor.UseNamedApiResourceField <ChainLink, PokemonSpecies, PokemonSpeciesType>(x => x.Species); descriptor.Field(x => x.EvolutionDetails) .Description("All details regarding the specific details of the referenced pokémon species evolution.") .Type <ListType <EvolutionDetailType> >(); descriptor.Field(x => x.EvolvesTo) .Description("A List of chain objects.") .Type <ListType <ChainLinkType> >(); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <PokemonForm> descriptor) { descriptor.Description(@"Some pokémon have the ability to take on different forms. At times, these differences are purely cosmetic and have no bearing on the difference in the Pokémon's stats from another; however, several Pokémon differ in stats (other than HP), type, and Ability depending on their form."); descriptor.Ignore(x => x.FormNames); descriptor.Ignore(x => x.Sprites); descriptor.Field(x => x.Order) .Description(@"The order in which forms should be sorted within all forms. Multiple forms may have equal order, in which case they should fall back on sorting by name."); descriptor.Field(x => x.FormOrder) .Description("The order in which forms should be sorted within a species' forms."); descriptor.Field(x => x.IsDefault) .Description("True for exactly one form used as the default for each pokémon."); descriptor.Field(x => x.IsBattleOnly) .Description("Whether or not this form can only happen during battle."); descriptor.Field(x => x.IsMega) .Description("Whether or not this form requires mega evolution."); descriptor.Field(x => x.FormName) .Description("The name of this form."); descriptor.UseNamedApiResourceField <PokemonForm, Pokemon, PokemonType>(x => x.Pokemon); descriptor.UseNamedApiResourceField <PokemonForm, VersionGroup, VersionGroupType>(x => x.VersionGroup); }
/// <inheritdoc/> protected override void ConcreteConfigure(IObjectTypeDescriptor <LocationArea> descriptor) { descriptor.Description(@"Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible pokemon encounters."); descriptor.Field(x => x.GameIndex) .Description("The internal id of an api resource within game data."); descriptor.Field(x => x.EncounterMethodRates) .Description(@"A list of methods in which pokémon may be encountered in this area and how likely the method will occur depending on the version of the game.") .Type <ListType <EncounterMethodRateType> >(); descriptor.UseNamedApiResourceField <LocationArea, Location, LocationType>(x => x.Location); descriptor.Field(x => x.PokemonEncounters) .Description("A list of pokémon that can be encountered in this area along with version specific details about the encounter.") .Type <ListType <PokemonEncounterType> >(); }