{
  "id": "pokemon-type",
  "version": "ba8849d68aad",
  "status": "published",
  "name": "Pokemon Type Calculator",
  "question": "How effective is my Pokemon type?",
  "summary": "Finds the damage multiplier of an attacking Pokémon type against a defender with one or two types, from the 18-type chart used since generation 6, with the defender’s weaknesses, resistances and immunities.",
  "category": "game",
  "subcategory": "video-games",
  "url": "https://www.acalculator.org/game/pokemon-type-calculator",
  "markdown": "https://www.acalculator.org/game/pokemon-type-calculator.md",
  "kind": "function",
  "method": "multiplier = chart(attacking type, first type) × chart(attacking type, second type), with chart values 0, 0.5, 1 or 2.",
  "assumptions": [
    "The type chart is the one used from generation 6 (Pokémon X and Y) onward, with 18 types including Fairy.",
    "Only types count: abilities (such as Levitate), held items, Tera types, weather and other battle effects are not included.",
    "Same-type attack bonus (STAB) is not a type matchup and is not included."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "atk": {
        "title": "Attacking move type",
        "description": "The type of the move being used.",
        "type": "string",
        "enum": [
          "normal",
          "fire",
          "water",
          "electric",
          "grass",
          "ice",
          "fighting",
          "poison",
          "ground",
          "flying",
          "psychic",
          "bug",
          "rock",
          "ghost",
          "dragon",
          "dark",
          "steel",
          "fairy"
        ]
      },
      "t1": {
        "title": "Defender’s first type",
        "description": "The first type of the Pokémon being hit.",
        "type": "string",
        "enum": [
          "normal",
          "fire",
          "water",
          "electric",
          "grass",
          "ice",
          "fighting",
          "poison",
          "ground",
          "flying",
          "psychic",
          "bug",
          "rock",
          "ghost",
          "dragon",
          "dark",
          "steel",
          "fairy"
        ]
      },
      "t2": {
        "title": "Defender’s second type",
        "description": "The second type of the Pokémon being hit, or None for a single-type Pokémon.",
        "type": "string",
        "enum": [
          "none",
          "normal",
          "fire",
          "water",
          "electric",
          "grass",
          "ice",
          "fighting",
          "poison",
          "ground",
          "flying",
          "psychic",
          "bug",
          "rock",
          "ghost",
          "dragon",
          "dark",
          "steel",
          "fairy"
        ]
      }
    }
  },
  "outputs": {
    "multiplier": {
      "label": "Damage multiplier",
      "description": "The type multiplier on the move’s damage: the chart value for each defending type, multiplied together.",
      "format": "number"
    },
    "verdict": {
      "label": "Effectiveness",
      "description": "Super effective above 1×, not very effective below 1×, no effect at 0×.",
      "format": "text"
    },
    "defender": {
      "label": "Defender",
      "description": "The defending Pokémon’s type or types.",
      "format": "text"
    },
    "weak4": {
      "label": "Takes 4× from",
      "description": "Attacking types that deal 4× damage to the defender.",
      "format": "text"
    },
    "weak2": {
      "label": "Takes 2× from",
      "description": "Attacking types that deal 2× damage to the defender.",
      "format": "text"
    },
    "resist2": {
      "label": "Takes ½× from",
      "description": "Attacking types that deal 0.5× damage to the defender.",
      "format": "text"
    },
    "resist4": {
      "label": "Takes ¼× from",
      "description": "Attacking types that deal 0.25× damage to the defender.",
      "format": "text"
    },
    "immune": {
      "label": "Takes no damage from",
      "description": "Attacking types that have no effect on the defender.",
      "format": "text"
    },
    "strong": {
      "label": "Move is super effective on",
      "description": "Single defending types the attacking type deals 2× damage to.",
      "format": "text"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "atk": "water",
      "t1": "fire",
      "t2": "flying"
    },
    "outputs": {
      "multiplier": 2,
      "verdict": "Super effective (2×)",
      "defender": "Fire/Flying",
      "weak4": "Rock",
      "weak2": "Water, Electric",
      "resist2": "Fire, Fighting, Steel, Fairy",
      "resist4": "Grass, Bug",
      "immune": "Ground",
      "strong": "Fire, Ground, Rock"
    },
    "text": "A Water move on a Fire/Flying Pokémon does 2× damage."
  },
  "examples": [
    {
      "given": {
        "atk": "water",
        "t1": "fire",
        "t2": "flying"
      },
      "expect": {
        "multiplier": 2,
        "verdict": "Super effective (2×)",
        "weak4": "Rock",
        "weak2": "Water, Electric",
        "resist2": "Fire, Fighting, Steel, Fairy",
        "resist4": "Grass, Bug",
        "immune": "Ground"
      },
      "source": "Pokémon type chart, generation 6 onward (Pokémon Database, https://pokemondb.net/type, retrieved 2026-10-01): Water on Fire 2×, on Flying 1×; hand calculation in content.mdx: 2 × 1 = 2"
    },
    {
      "given": {
        "atk": "electric",
        "t1": "water",
        "t2": "flying"
      },
      "expect": {
        "multiplier": 4,
        "verdict": "Super effective (4×)"
      },
      "source": "Pokémon type chart, generation 6 onward (Pokémon Database, https://pokemondb.net/type, retrieved 2026-10-01): Electric on Water 2×, on Flying 2×; hand calculation in content.mdx: 2 × 2 = 4"
    },
    {
      "given": {
        "atk": "ground",
        "t1": "steel",
        "t2": "flying"
      },
      "expect": {
        "multiplier": 0,
        "verdict": "No effect (0×)"
      },
      "source": "Pokémon type chart, generation 6 onward (Pokémon Database, https://pokemondb.net/type, retrieved 2026-10-01): Ground on Steel 2×, on Flying 0×; hand calculation in content.mdx: 2 × 0 = 0"
    },
    {
      "given": {
        "atk": "dragon",
        "t1": "fairy",
        "t2": "none"
      },
      "expect": {
        "multiplier": 0,
        "strong": "Dragon",
        "weak2": "Poison, Steel",
        "immune": "Dragon"
      },
      "source": "Pokémon type chart, generation 6 onward (Pokémon Database, https://pokemondb.net/type, retrieved 2026-10-01): Fairy is immune to Dragon and weak to Poison and Steel"
    },
    {
      "given": {
        "atk": "fire",
        "t1": "water",
        "t2": "rock"
      },
      "expect": {
        "multiplier": 0.25,
        "verdict": "Not very effective (0.25×)"
      },
      "source": "Pokémon type chart, generation 6 onward (Pokémon Database, https://pokemondb.net/type, retrieved 2026-10-01): Fire on Water 0.5×, on Rock 0.5×; hand calculation in content.mdx: 0.5 × 0.5 = 0.25"
    }
  ],
  "sources": [
    "Pokémon Database, Pokémon type chart (generation 6 onward), retrieved 2026-10-01. https://pokemondb.net/type"
  ],
  "related": [
    "nether-portal",
    "point-buy"
  ],
  "changelog": []
}
