NO AI This tool does not use a language model to compute damage or guess missing fields. Every number is produced by Pokemon Showdown’s own @smogon/calc engine.

WHAT IS THIS?

VGC Calcr is a thin natural-language wrapper around Pokemon Showdown’s damage calculator, tuned for VGC 2026 Reg M-A (Champions). Type a question in plain English like does max attack Iron Fist Infernape with Ice Punch OHKO 0 HP Garchomp? and get back the exact damage range, percentages, and KO verdict, matching Showdown byte-for-byte.

You can also speak queries with the mic button, save your team’s specific EV/SP spreads from a pokepaste and recall them with a slash command, and jump between recent calcs with a keyboard shortcut. Everything lives in the browser: no account, no server, no tracking.

VOICE INPUT

Tap the MIC button next to the query box (or open the command palette with Ctrl+K and pick Voice input) and speak your calc. Interim text streams into the textarea live; when you stop, the transcript is cleaned up against the dictionary of known species, moves, items, and abilities, so "in scene a roar" snaps to Incineroar.

SAVED SPREADS

Open the ··· overflow menu → Saved spreads to paste a Showdown team export. Each Pokemon previews with an editable slug; pick the ones you want, hit Save selected, and they stick around in localStorage.

In the calc box, type /slug (e.g. /incini-slow) to recall the spread. A mini move picker appears: click a move or press 14, and the slash token is replaced with a full query fragment: incineroar assault vest intimidate adamant 32 sp hp 32 sp spd tera ghost flare blitz. Anything you typed before or after (into amoonguss, in sun, etc.) stays put.

HOW DOES IT WORK?

Your query goes through three deterministic stages. None use an LLM.

If the parser can’t confidently resolve a name or stat, it refuses: no guessing. You get a clear error explaining what was ambiguous.

WHY NOT USE AI?

Damage calc math is precise to the individual EV. One EV off can be the difference between a guaranteed OHKO and a 5-roll range that lets the opponent survive. A language model hallucinating "max attack" as 250 EVs instead of 252 would silently give you a wrong answer on every roll, which is unacceptable for a tool whose whole value is trust.

Every number in your query is pulled from a dictionary generated directly from Showdown’s source. If a word doesn’t match something real, you see an error; you never see a fabricated calc.

CHAMPIONS SP VS. STANDARD EV

Pokemon Champions replaced EVs with Stat Points (SP):

That 4-EV difference matters: at certain base stats, 256 EVs rounds one point higher than 252. The toggle at the top of the calc picks which system your query is in; the resulting EVs are echoed back so you can verify what actually went into @smogon/calc.

SURVIVAL QUESTIONS

You can phrase a question either way and the parser figures out who is attacking and who is defending. Forward phrasings treat the first Pokemon as the attacker; reverse phrasings treat the first Pokemon as the defender and return a survives / doesn’t-survive verdict alongside the usual damage range.

Example: does max hp max sp def milotic survive a +1 sp atk archaludon max sp atk electro shot? Milotic is the defender; Archaludon (at +1 SpA stat stage, max Sp Atk, no item) is the attacker using Electro Shot. The result shows damage range plus a verdict like "Survives 18.8% of rolls (3/16)."

SLASH COMMANDS

Type / in the query box to open a menu of field-state shortcuts:

KEYBOARD SHORTCUTS

TYPO CORRECTION

Nature names (adamant, jolly, etc.) allow a single-edit typo: insertion, deletion, substitution, or adjacent swap. adamat resolves to Adamant; seriosu to Serious. Each correction shows a warning like Interpreted "adamat" as Adamant so you always see what was fixed.

If a typo is one edit from two natures, the parser refuses and will never pick one and hide the ambiguity.

LEARNSET LEGALITY

Moves are checked against data/champions/learnsets.json for species with Champions-specific overrides, falling back to the Gen 9 learnset otherwise. Incineroar can’t learn Knock Off in VGC 2026 Reg M-A, the parser rejects that query with "Incineroar cannot learn Knock Off" and suggests legal alternatives.

To run the calc anyway for a hypothetical matchup, add the word hypothetical anywhere in your query. The calc runs with a visible warning banner.

LANGUAGES

The language select inside the ··· menu switches the display language for species, moves, items, and abilities. Supported: English, 日本語, 한국어, Français, Deutsch, Español, Italiano, 简体中文. You can also type Pokemon and moves in any of these: Carchacrok Séisme resolves to Garchomp Earthquake, and ガブリアス じしん does the same.

Translations are synced from PokeAPI (~1025 species, 800+ moves, 300+ abilities per language). Forms like Mega Charizard X or Landorus-Therian fall back to English because PokeAPI only translates base species. The calc itself is unchanged; names are just aliases for the English canonical values @smogon/calc consumes.

MEGA EVOLUTIONS & FORM NAMES

All 98 Mega forms in the Champions dex are supported. Natural phrasing works: mega gengar, mega charizard y, mega tatsugiri curly, mega meowstic m. Regional forms too: alolan ninetales, galarian rapidash, hisuian zoroark.

RECENTS & PRESETS

The two side columns flanking the calc hold your last nine queries and any named presets you’ve saved. Recents stack vertically; presets show a named list you can load or re-run. Click the SWAP button in either header to flip which panel is on which side, and your choice persists to localStorage (vgc-panel-order-v1).

Recents, presets, and saved spreads all live in your browser’s localStorage. Nothing ever hits the server.

HEADS UP Clearing your browser’s site data (specifically localStorage) will delete saved calcs, spreads, recents, and panel preferences. There’s no server-side backup.

DATA FRESHNESS

All game data syncs directly from smogon/pokemon-showdown via npm run sync. When Showdown updates (new moves, new formats, tier shifts), re-run the sync and you’re current. data/_meta.json tracks which commit you’re on.

WHAT FORMAT DOES THIS SUPPORT?

The default is VGC 2026 Reg M-A (Gen 9 Champions, Level 50, Doubles). Species legality, learnsets, and the stat-point system all follow Champions rules. You can still calc anything: flip to Standard EV mode for traditional Gen 9 OU / Smogon Singles numbers.

← BACK TO CALC