‹›Knowledgebase ExpansionFind Powerful Pokémon
In addition to hundreds of entity types covering scientific, geographic, and other "serious" domains, Version 11 also includes built-in data on fun entities like Pokémon, with information on names, evolutionary paths, abilities, and attack and defense statistics. 
Find the height of Pikachu.
Entity["Pokemon", "Pokedex0025:Pikachu"][
 EntityProperty["Pokemon", "Height"]]Get an association of data about Meowth.
Entity["Pokemon", "Pokedex0052:Meowth"]["PropertyAssociation"]Find Pokémon that closely match a given height and weight.
show complete Wolfram Language input
Manipulate[
 Grid@Partition[
   Normal@EntityValue[
      Entity["Pokemon", {"Weight" -> 
         Quantity[ Interval[{w - 5, w + 5}], "Kilograms"], 
        "Height" -> 
         Quantity[ Interval[{h - 5, h + 5}], "Centimeters"]}], 
      "Image", "EntityAssociation"] /. 
    r_Rule :> Tooltip[r[[2]], r[[1]]], UpTo[3]], {{w, 30, 
   "weight (kg)"}, 10, 200, 1, 
  Appearance -> "Open"}, {{h, 130, "height (cm)"}, 100, 200, 1, 
  Appearance -> "Open"}, ContinuousAction -> False, 
 SynchronousUpdating -> False, SynchronousInitialization -> False]From there, you can calculate battle damage for specific Pokémon.
show complete Wolfram Language input
Style[Manipulate[DynamicModule[{damage},
   damage = ((((2*level*(criticalHit /. {True -> 2, False -> 1})/5 + 
              2)*attack*power/defense)/50 + 
         2)*(MatchQ[
          Intersection @@ 
           EntityValue[{attPokemon, defPokemon}, 
            "Type"], {}] /. {True -> 1, False -> 1.5})*typeModifier)*
     Interval[{85, 100}]/100;
   Column[{Row[{"base statistics:"}, BaseStyle -> Bold], 
     Grid[{{Null, "attacker", "defender"}, {"image", 
        attPokemon["Image"], defPokemon["Image"]}, {"name", 
        attPokemon["Name"], defPokemon["Name"]}, {"HP", 
        attPokemon["HitPoints"], defPokemon["HitPoints"]}, {"attack", 
        attPokemon["Attack"], defPokemon["Attack"]}, {"defense", 
        attPokemon["Attack"], 
        defPokemon["Defense"]}, {"special attack", 
        attPokemon["Attack"], 
        defPokemon["SpecialAttack"]}, {"special defense", 
        attPokemon["Attack"], defPokemon["SpecialDefense"]}}, 
      Background -> {None, {Lighter[Yellow, .9], {White, 
          Lighter[Gray, .8]}}}, Frame -> All, 
      FrameStyle -> Directive[Gray, Thick], Spacings -> {1, 1}],
     Row[{Null}], Row[{"damage:"}, BaseStyle -> Bold], 
     Grid[{{"min", "average", 
        "max"}, {N[Min[#]], N[Mean @@ #], N[Max[#]]} &@damage}, 
      Frame -> All, FrameStyle -> Directive[Gray, Thick], 
      Spacings -> {1, 1}, 
      Background -> {None, {Lighter[Yellow, .9], White}}]
     }, BaseStyle -> {FontFamily -> "Helvetica"}]
   ], {{level, 50, "level"}, 1, 100, 
   ControlType -> InputField}, {{attPokemon, 
    Entity["Pokemon", "Pokedex0025:Pikachu"], "attacking Pokemon"}, 
   pm, ControlType -> PopupMenu},
  {{attack, 35, "attack"}, 1, 1000, ControlType -> InputField},
  {{power, 90, "power"}, 1, 300, 
   ControlType -> InputField}, {{defPokemon, 
    Entity["Pokemon", "Pokedex0052:Meowth"], "defensing Pokemon"}, pm,
    ControlType -> PopupMenu},
  {{defense, 35, "defense"}, 1, 1000, 
   ControlType -> InputField}, {{typeModifier, 1, 
    "type modifier"}, {4, 2, 1, 0.5, 0.25, 0}, 
   ControlType -> PopupMenu}, {{criticalHit, False, 
    "critical hit"}, {True, False}, ControlType -> Setter}, 
  ContinuousAction -> False, SynchronousUpdating -> False, 
  ControlPlacement -> Bottom, SynchronousInitialization -> False, 
  Initialization :> {pm = 
     First /@ 
      SortBy[Normal@
        EntityValue[EntityClass["Pokemon", All], "Name", 
         "EntityAssociation"], Last]}], 
 DynamicEvaluationTimeout -> Infinity]You can then find the most powerful Pokémon based on total stat points.
powerful = EntityList[
Entity["Pokemon", {
   "Generation" -> Entity["PokemonGeneration", "GenerationI"], 
    "StatTotal" -> TakeLargest[10]}]]Find fire-type Pokémon with attack point greater than 50 and defense point less than 40.
EntityValue[EntityList[
Entity["Pokemon", {
   "Type" -> "Fire", "Attack" -> GreaterThan[50], 
    "Defense" -> LessThan[40]}]], "Image", "EntityAssociation"]Find pink Pokémon with weight greater than 250 lb.
EntityValue[EntityList[
Entity["Pokemon", {
   "PokedexColor" -> Entity["PokemonPokedexColor", "Pink"], 
    "Weight" -> GreaterThan[
Quantity[250, "Pounds"]]}]], "Image", "EntityAssociation"]