Thank you for visiting the Championite Beta!Submit your feedback or bug reports .
← Home

Calculation methodology

Every number on the board comes from somewhere. This page says where.

AI disclosure: this page was written by AI and reviewed by humans.

It covers the damage engine, the stat and Speed formulas, how an opponent's unknown EV spread turns into a range, what the KO verdicts mean, and which effects the board wires up on its own versus which ones you set by hand. It assumes you play VGC. It does not explain what an EV is.

If you want the short version: damage is computed by Smogon's damage calculator, Speed and turn order are computed here from the standard stat formula, anything about the opponent that you have not seen is an estimate drawn from usage data and labeled as one, and anything that depends on what happened earlier in the match is yours to tell it.

1. The one rule

The board reads the position. It never infers the history.

Everything the app works out on its own comes from state you could read off the screen if you walked up to the game cold: species, ability, item, HP, status, stat stages, weather, terrain, who is out, who has fainted.

Plenty of real effects do not live in the position. Rage Fist grows with every hit its user has taken. Avalanche doubles if the target already struck you this turn. Libero changes a Pokémon's type the moment it attacks. Unburden needs the holder to have lost its item and not replaced it. A snapshot shows none of that, so the app never assumes it.

It does not have to guess, though, because you were there. The common cases carry a control on the Pokémon's card: you say what happened, and the numbers follow. The rest stay yours to account for, and the board says nothing rather than inventing a figure. Section 8 lists both groups.

That is what makes the board trustworthy mid-turn. Every number is one of three things: computed from something on screen, set by you, or labeled an estimate. None of them is inferred from a turn nobody recorded.

2. Where the damage math comes from

Damage is not reimplemented here. Every damage number is produced by @smogon/calc v0.10.0, the open source engine (MIT licensed) that also powers the Smogon damage calculator that most players already use. It is maintained by the Smogon community and is the reference implementation of the cartridge damage formula.

Fixed settings on every calc the app runs:

SettingValueWhy
Generation dataGen 9Champions mechanics sit on the Gen 9 engine
Game typeDoublesSpread moves already have their 0.75x applied
Level50Champions is a level 50 format
Critical hitsoffA crit is a separate question, not the expected case

Because the game type is always Doubles, a spread move's chip is the number it deals when it hits two targets. You never have to subtract the reduction yourself.

Where the engine has never heard of a mechanic, or knows the move but leaves its power flat, the app supplies the missing piece. Dragonize retypes Normal moves to Dragon and adds 20% base power, Fire Mane adds 50% to Fire moves, and Mega Sol calculates under forced Sun. Those three exist nowhere but Champions. Rage Fist and Last Respects are the other case: the engine never scales them, so their power comes from the counter you set (Section 8). All of these use the engine's own fixed-point rounding, so they round the way the cartridge would.

Reference: the damage formula itself is documented at Bulbapedia: Damage.

3. Stats

The formula

Standard Gen 3 and later, at level 50.

HP        = floor((2 x base + IV + floor(EV / 4)) x 50 / 100) + 50 + 10
Other     = floor((floor((2 x base + IV + floor(EV / 4)) x 50 / 100) + 5) x nature)

Nature is 1.1 on the raised stat, 0.9 on the lowered stat, 1.0 on both stats of a neutral nature. Shedinja is 1 HP, as always.

Reference: Bulbapedia: Statistic.

Champions specifics

Pokémon Champions changes the inputs, not the formula:

  • Level is always 50. No level scaling anywhere.
  • IVs are always 31. The app assumes 31 unless a Poképaste import says otherwise.
  • EVs are denominated as points. A stat takes 0 to 32 points, and a team has 66 points to spend. One point is 8 conventional EVs at level 50, so 32 points is the conventional 252 cap.

The Team Builder stores and displays points, because that is what the game shows you. Points are converted to conventional EVs at the calc boundary, since the damage engine and the stat formulas above expect the 0 to 252 scale. Usage data arrives in points and is converted the same way.

4. Confirmed, manual, or estimate

Three kinds of number appear on the board, and they are never blended.

KindWhat it meansWhere it comes from
confirmedYou saw it happenA reveal in battle, or your own imported team
manualYou set itAnything you typed or toggled
estimateThe app guessedUsage data for this format

Your Pokémon are exact. You imported the team, so the app knows the EV spread, the nature, the item, and the IVs, and it uses them without modification. If you did not import a team, your Pokémon fall back to 0 EVs and 31 IVs, which is almost certainly wrong, so import the Poképaste.

The opponent's Pokémon are unknown until they are not. Species is known from team preview. Ability, item, and moves become confirmed the moment they show themselves, and until then the EV spread is an estimate. Every damage response carries the assumption it used, in words, so you can see which spread produced the number.

Where that estimate comes from depends on what the usage snapshot contains. When it carries EV spreads, the estimate is the most common spread played. Not every usage source publishes spreads; some report only which Pokémon, moves, items and abilities see play. When there is no spread on file for a Pokémon, the estimate falls back to a standard maximum-investment build chosen from that Pokémon's base stats, and the assumption text says which of the two you are looking at. It is still an estimate, and still labeled as one, but a fallback is not a read on what people are actually running.

Observed reality always wins. Once you record a Speed observation, the estimate narrows to fit it rather than being averaged with it.

5. How a damage range is built

A single damage number would be a lie about an opponent you have not scouted. So the board shows a band, and the band is built to be a true bound.

Which side is uncertain

Exactly one side of any pair is uncertain, and it is always the opponent.

  • You attack them. Their bulk is the unknown, so the app varies their defensive investment and leaves your attacker on its exact EV spread.
  • They attack you. Their offense is the unknown, so the app varies their offensive investment and leaves your defender on its exact EV spread.

The two end builds

The app costs out the two extremes of what the opponent could legally be running, in investment and in nature.

  • The floor is the weakest legal build: zero investment plus a nature that lowers the stat that matters.
  • The ceiling is the strongest legal build: 252 EVs plus a nature that raises it.

A zero EV neutral spread is not a floor. A special attacker running Adamant deals about 10% less than a neutral one, and a real opponent could be running exactly that. Both ends use a hindering nature so the bound holds.

The usage markers

Alongside the two ends, the app calculates the top three EV spreads from usage data for that Pokémon. Those appear as markers on the range bar, labeled with the spread and how often it is played. The most common spread is what the headline number on the chip reflects.

These markers need a usage snapshot that publishes EV spreads. When the snapshot in use carries none, there are no markers, and the headline number falls back to the midpoint of the range. The chip says so on hover rather than calling a midpoint a most-common build. The same applies to the speed ladder's most-likely marker, which becomes the midpoint of the speed range and is dimmed to show it.

The band

The range spans the worst roll and the best roll across every build the app costed out, which is the two ends plus any usage spreads, not just the two ends. With no usage spreads, that is the two ends alone.

That matters because damage does not always move with bulk in the direction you would expect. Foul Play attacks with the target's own Attack, so investing in Attack makes a defender take more damage, not less, and neither end build would have caught that. Covering every build checked means the headline number can never sit outside its own range, whichever stat a move happens to read. Doing it this way only ever widens the range, so the KO claims below stay on the safe side.

Moves that read a stat their category does not imply

Most moves are what they look like: physical reads Attack into Defense, special reads Special Attack into Special Defense. A handful are not, and the end builds have to know which stat actually matters or they bracket the wrong thing.

BehaviorMoves
Attacks with the user's DefenseBody Press
Attacks with the target's AttackFoul Play
Special, but hits physical DefensePsyshock, Psystrike, Secret Sword
Base power from a Speed ratio or turn orderGyro Ball, Electro Ball, Bolt Beak, Fishious Rend
Damage is the user's current HPFinal Gambit
Category decided at calc timeShell Side Arm, Photon Geyser, Light That Burns the Sky

Moves whose damage does not move with EVs at all are deliberately absent from that table: weight-based moves (Grass Knot, Heavy Slam) read species data, and HP-fraction moves (Eruption, Water Spout, Flail, Hard Press) read a ratio that is the same whatever the HP EVs are.

6. Reading a damage chip

The expected number

The percentage on a chip is the average of the 16 damage rolls against whichever spread the app is assuming for that opponent (Section 4). The engine returns 16 rolls spanning 85% to 100% of base damage, and the worst of them under-reports typical damage by roughly 8%, which is why the average is what gets shown rather than the minimum.

KO verdicts

The verdict word is decided by where the band sits, not by the expected number:

VerdictCondition
OHKOThe worst roll against the bulkiest legal spread still reaches 100%
OHKO?The best roll against the frailest legal spread reaches 100%, but the worst does not
2KO / 3KO / 4KO+ceil(100 / expected %), floored at 2 once a one-hit KO is off the table
immuneThe engine reported an immunity, with a reason
unknownThe calc failed, so the range is genuinely not known

"OHKO" without the question mark is a guarantee. It is only claimed when even the worst roll into the bulkiest spread the opponent could be running gets there. "Cannot KO" is only implied when the best roll into the frailest spread does not.

The immune and unknown split matters. A failed calc and a real immunity both produce 0%, and calling a failure "immune" would put a type matchup on screen that does not exist. Immunity is only ever claimed on the engine's say-so, with the reason attached, and an immunity names the move's effective type: a Water Absorb eating a rain-boosted Weather Ball reads "absorbs Water", not Normal.

The worst-roll tick

When the worst roll implies a slower KO than the expected number does, the chip carries an under-tick, for example "3KO at worst roll". A 2KO that only works on good rolls is a different decision from a 2KO that always works.

7. Speed

Damage has a reference implementation to defer to. Turn order does not, so the Speed formula is the app's own.

The formula

Speed = floor(floor((2 x base + IV + floor(EV / 4)) x 50 / 100 + 5) x nature)

then, in order: the stat stage multiplier, then every passive multiplier below, then the observed clamps.

Stat stages use the standard table: (2 + stage) / 2 at or above zero, 2 / (2 - stage) below.

Passive multipliers

SourceEffect
Choice Scarfx1.5
Iron Ball, Lagging Tail, Macho Brace, the Power itemsx0.5
Tailwindx2
Paralysisx0.5
Swift Swim in rain, Chlorophyll in sun, Sand Rush in sand, Slush Rush in snowx2
Surge Surfer on Electric Terrainx2
Quick Feet with any major statusx1.5

Quick Feet replaces the paralysis penalty rather than stacking with it. A paralyzed Jolteon is x1.5, not x0.75.

Priority

The move capsule shows the ability-adjusted priority, not the move's dex value.

AbilityEffect
Prankster+1 to status moves
Gale Wings+1 to Flying moves, at full HP only
Triage+3 to drain moves
Queenly Majesty, Armor Tail, Dazzlingopposing priority moves fail

When an opposing active would blank a move outright, the capsule says "priority blocked" instead of showing a number. Gale Wings is the one priority effect that changes as you move the HP slider.

The speed ladder

The ladder places every in-scope Pokémon on one rail.

  • Your rungs are exact. You know the EV spread, so there is one number.
  • Their rungs are a range, from 0 EVs with a hindering nature at the bottom to 252 EVs with a boosting nature at the top.
  • The most common rung is the Speed their most-played usage spread produces. That is the best single guess, and it is drawn differently from an exact rung.
  • Ghost rungs show the alternate slot a Choice Scarf would put them in.
  • Any of your rungs that an opponent's unknown range crosses gets a warning mark, because that race is not decided.

Every multiplier in the table above is applied to the ladder, not only to the turn-order row. A Swift Swim Pokémon in rain moves on the ladder.

Narrowing a Speed range

When you learn something about an opponent's Speed, for example they outsped a Pokémon whose Speed you know, you can record it. The observation clamps the range from that side, and the clamp applies to the ladder and the turn-order row together. Enough observations collapse the range to a single locked rung. If the accumulated observations become impossible, the rung says so rather than picking a side.

8. What the board wires up, and what you set

Derived automatically from the board

You never enter these. They follow from state already on screen.

  • Weather and terrain effects on damage, including Weather Ball's retype and its effective base power.
  • Trick Room, Gravity, Tailwind, Reflect, Light Screen, Aurora Veil, from the field and side toggles.
  • Entry hazards, from the side toggles. They feed exactly one thing, and it is covered on its own below.
  • Aura abilities, from whoever is standing on the field: Friend Guard, Battery, Power Spot, Flower Gift, the four Ruin abilities, Fairy Aura, Dark Aura, Aura Break. Friend Guard, Battery, and Power Spot buff allies and not the holder, and the app excludes the holder accordingly.
  • Plus and Minus, which turn on when an ally with either ability is also out.
  • Fainted teammates, counted off the board. Supreme Overlord gains 10% per fainted ally, so it climbs through a game without you touching anything. Last Respects counts the same events but not the same way, so it has a control of its own, below.
  • HP-dependent damage: Eruption, Water Spout, Flail, Reversal, Final Gambit, Hard Press, Overgrow, Blaze, Torrent, Swarm, Multiscale. Move the HP slider and the numbers these affect move with it.
  • Mega Evolution: the mega form's real base stats, types, and granted ability, including the Champions megas that exist in no other calculator.
  • Type effectiveness marks on chips.

What entry hazards actually do

They do one job, and it is narrower than it looks: they decide whether Multiscale and Shadow Shield are live.

Both abilities halve damage only while their holder is at untouched full HP. A Pokémon that switched in over Stealth Rock took chip on the way in, so it cannot be at untouched full HP even when the bar reads 100%. Set the hazard and the halving correctly stops applying.

Three details follow from that:

  • Spikes do not ground a Flying type, so a Flying-type Dragonite keeps Multiscale over Spikes. Stealth Rock still breaks it.
  • Heavy-Duty Boots exempt the holder from both, so a booted Dragonite keeps Multiscale over anything.
  • Hazards never subtract HP for you. The app does not chip a Pokémon's HP on switch-in and it never will, because HP is yours to set. Nothing is double-counted.

Toxic Spikes and Sticky Web feed no calculation, because what they do resolves to something you set anyway: Toxic Spikes to a status, Sticky Web to a Speed stage.

Yours to set

The board gives you a control for each of these because nothing on screen can tell the app the answer.

  • Weather, terrain, Trick Room, Gravity, and the per-side screens and Tailwind.
  • HP percentage.
  • Status and volatile conditions.
  • Stat stages.
  • Revealed abilities, items, moves, and Mega Stones on the opponent's side.
  • Whether the held item is gone, whether it was eaten, knocked off, or Tricked away.
  • Whether a side has Mega Evolved.
  • Speed observations.
  • The history-dependent effects below, each through its own control.

Stat stages are worth calling out. Every ability that raises Speed from an event, such as Speed Boost, Motor Drive, Weak Armor, and Steadfast, resolves to a Speed stat stage. They are modeled, through the field you already edit.

Effects you switch on

These controls live where the effect does. On a battle card, the small button beside a move or an ability opens its description, and where that move or ability is one of the ones below, it opens a control instead. Each asks a single question you already know the answer to, and the numbers on screen change the moment you answer it.

Did it happen? A button. The effect stays off until you say otherwise.

EffectThe question it asksWhat turning it on does
StakeoutDid this target just switch in?Doubles damage into that target
Stomping TantrumDid your last action fail or miss?75 to 150 base power
AssuranceHas the target already taken damage this turn?60 to 120 base power
AvalancheDid this target damage you this turn?60 to 120 base power
Lash OutWas one of your stats lowered this turn?75 to 150 base power
PaybackAre you moving after the target?50 to 100 base power
Glaive RushDid this Pokémon just use Glaive Rush?It takes double damage until it acts again

Stakeout asks you to pick which opposing Pokémon switched in, because the answer differs for each one. The rest describe the single attack you are weighing up, so they apply wherever you point it.

How many? A counter.

EffectThe question it asksWhat each step does
Rage FistHow many times has this Pokémon been hit?+50 base power, from 50 up to 350
Last RespectsHow many teammates have gone down?+50 base power, from 50 up to 200

Last Respects counts fainting events, not bodies currently down, which is why it is not read off the board the way Supreme Overlord is. The two come apart the moment a teammate is revived: the count does not go back down.

Type changes.

EffectThe question it asksWhat it does
Double ShockHas it been used?Removes the user's Electric typing
Burn UpHas it been used?Removes the user's Fire typing
SoakWhich Pokémon was soaked?Makes that target pure Water

Protean and Libero need no menu. Each changes the Pokémon's type to match the move it uses, so every move it uses is counted with STAB automatically.

A type change carries through everything that depends on typing: the Pokémon's card, what its own moves are boosted by, and what it takes from each incoming move. A Pokémon that loses its only type this way is typeless rather than Normal, and the board treats it as typeless. Using Double Shock or Burn Up a second time fails instead of dealing damage.

When these reset. Every one of them clears the moment that Pokémon leaves the field, because every one of them ends there in game too. Last Respects is the single exception and carries across switches, as it does in game. Nothing resets on its own between turns, so switch the turn-scoped ones back off once the turn they describe is over.

Deliberately not modeled

Section 1's rule decides these: the board reads the position, not the log. Every effect below is real, and every one is yours to account for. They are grouped by why, because what you do about them differs.

Effects that switch on because of something that happened, and have no control of their own. The board cannot see the turn that caused them, and it will not apply them on a hunch.

EffectWhat it doesWhat the board shows
Flash Firex1.5 Fire moves, after absorbing oneThe unboosted number
Unburdenx2 Speed, after the holder loses its itemThe unboosted rung

Unburden is the clearest case of why the line sits where it does. Losing the item is visible, and you can mark it gone. Whether the boost is still live is not, because it ends when the holder picks up a new item and it ends when the holder switches out. The board sees neither. Applying the x2 from a missing item alone would be right often and confidently wrong the rest of the time, which is worse than leaving it with you.

What to do about Unburden. Put it in the Speed stage. The stage table's +2 is exactly x2, so a Hawlucha or a Sneasler that has eaten its Berry lands on the right rung the moment you set Speed +2, on the ladder and in the turn-order row together. Sceptile, Liepard, and Slurpuff carry it too.

Effects you are already entering, through a field that exists. Every ability here resolves to a Speed stat stage, which the board tracks and you edit. They are modeled. Nothing extra is needed, and nothing is missing.

Speed Boost (end of turn), Motor Drive (absorbed Electric), Weak Armor (was hit), Steadfast (flinched), Gooey and Tangling Hair (lower the attacker's Speed on contact), and Cotton Down (lowers everyone else's).

One-turn moves. Helping Hand and Protect last a single turn, so they belong to the turn rather than to the position. Helping Hand is deliberately not derived from an ally standing on the field: that ally is there every turn, and the boost is not, so deriving it would invent a boost that is not active.

Effects with nothing honest to display.

EffectWhy
Quick DrawA 30% random priority proc. No single number is true
StallAlways moves last in its bracket. Real and passive, but neither a multiplier nor a priority stage, so it has no home in the Speed formula. It belongs on the ladder as an annotation
Mycelium MightStatus moves ignore abilities at the cost of priority, which is a trade the ladder cannot show as a single number

Effects shown as something other than a number. The priority blockers (Queenly Majesty, Armor Tail, Dazzling) change whether a move works rather than how fast anyone is, so they move no rung. The affected move capsule reads "priority blocked" instead. Two Champions abilities sit here too: Piercing Drill bypasses Protect and Spicy Spray burns on contact, and neither changes a damage number.

The test for a new case. Would this be true of the board if you walked up to it cold, knowing nothing about previous turns? If yes, the app computes it. If no, the answer has to come from you: through a control where one exists, and by your own reckoning where one does not. What the app never does is supply the answer itself.

9. Usage data, type effectiveness, and threat scoring

Usage data

Estimates about the opponent come from a usage snapshot for this format, taken from tournament team sheets rather than ladder replays. For each Pokémon the snapshot carries moves, items, abilities and teammates with their share of usage. It does not carry EV spreads: Pikalytics publishes none for Regulation M-C, from either of its feeds. Where the app needs a spread it says so rather than implying one. Sources and refresh cadence are on the data sources page.

The distinction matters for how the numbers read. A team-sheet source reports what a set contained; a replay-derived one reports only what a battle revealed. On the same Pokémon and the same regulation, a move carried on essentially every set reads 99% in the first and about 50% in the second.

Usage data is used in exactly three places: the assumed EV spread on an unscouted opponent, the three spread markers on a range bar, and the most common rung on the speed ladder. It never overrides something you confirmed.

Usage is popularity, not legality. What a regulation permits comes from a separate source, because usage records only what people play and a legal pool is always much wider than that.

Type effectiveness

The chips carry a plain Gen 6 and later 18-type chart, with no ability or item overrides. It decides the effectiveness mark only. Damage numbers always come from the engine, which is why a chip never shows a 0x mark next to real damage: Scrappy and Thousand Arrows beat the chart, and the engine's own immunity result is what the app trusts.

One caveat worth knowing: the mark reads a Pokémon's original typing, so after a type change it can disagree with the damage printed beside it. The damage number is the one that has followed the change.

Threat scoring on the Draft Board

The Draft Board ranks opposing Pokémon by how much of your team they break. The score is a weighted count of fast KOs, plus a Speed edge, plus a few flagged status moves.

Each (move, target) outcome is weighted: an OHKO counts 1.5, an OHKO? counts 1.25, a 2KO counts 1, and anything slower counts 0. Those are summed across your Pokémon and scaled by how often that move is actually played, so a move used 8% of the time barely registers.

Two adjustments sit on top:

  • Speed. +1 for being faster than your team's median at common spreads, and another +1 for outrunning every one of your Pokémon.
  • Status danger. A short curated list, weighted by how much each move swings a game. A move has to be played at least 15% of the time to count at all, so 2%-of-the-time tech does not inflate every score.
WeightMoves
1.0Spore
0.75Sleep Powder, Dark Void, Trick Room
0.6Shell Smash
0.5Hypnosis, Yawn, Tailwind
0.4Follow Me, Rage Powder, Swords Dance, Nasty Plot

A Pokémon is marked a top threat once its score reaches 2.5, calibrated so a high-usage move that 2KOs about two of your Pokémon plus a Speed edge clears it.

The answer rings on your side are a two-way read, using hits to KO in each direction plus the Speed race:

  • Green, a clean answer: you KO in two or fewer while they need three or more, or you wall them and still break through in three.
  • Amber, shaky: you trade, or you revenge kill in a way a Choice Scarf would flip, or you win slowly and need the Speed.
  • No ring: you cannot break them in three hits, or they remove you first.

These weights are judgment calls, not derived constants. They are the one part of this page that is opinion rather than mechanics.

10. What the numbers do not include

Stated plainly, so nothing on the board reads as a promise it is not making.

  • No critical hits. Every calc is a non-crit.
  • No accuracy. A 100% roll is what the move does when it hits.
  • No multi-turn projection. Chip damage, recoil, Leftovers, and residual weather are not simulated forward.
  • No turn tracking. The controls in Section 8 hold whatever you last told them until you change them or the Pokémon switches out. Nothing expires on its own at the end of a turn.
  • No Protect, no redirection, no move-order simulation. The board tells you what a move does to a target, not what your opponent will do about it.
  • On an immune matchup, the base power shown is the move's book value, not what it would have been after weather or an ability changed it. The effective type is still right, which is the part that explains the immunity.
  • Mega Sol is calculated under Sun for both sides. Its own damage is right; a defender with a sun-reactive ability of its own will read slightly high.

11. How this is kept honest

A damage calculator can be wrong without ever looking wrong. Miss one input and it still returns a clean, confident number, and only someone who already knew the right answer would catch it.

So every effect on this page is checked automatically rather than by eye. The checks re-derive what should be modeled from the engine's own data and from the move and ability descriptions, then flip one input at a time and confirm the number on screen actually moves. An effect that is listed but inert fails the check the same as one that was never added.

They run on every engine upgrade and every regulation change, and each carries a written record of what was considered and deliberately left out, so a skipped effect stays distinct from a forgotten one. Sections 8 and 10 are that record, in plain language.

Sources