Skip to content

Mathhammer Calculator

Work out the odds of any attack: set the dice, add rerolls, and see not just the averages but the exact probability of every outcome: how many models fall, how likely a wipe is, and how two weapon profiles stack up side by side.

  • Exact probability engine
  • Generic dice only
  • Zero datasheets

Attack profiles

Profile A

Expected result

1.67

models slain on average · 1.67 total damage

P(hit)
66.7%
P(wound)
50.0%
P(unsaved)
50.0%
Expected values through the attack sequence
Attacks10.00
Hits6.67
Wounds3.33
Unsaved1.67
Total damage1.67
Models slain1.67

Models slain (full distribution)

Probability of slaying exactly or at least each number of models
SlainP(exactly)P(≥)
0
16.2%
100.0%
1
32.3%
83.8%
2
29.1%
51.5%
3
15.5%
22.5%
4
5.4%
7.0%
5
1.3%
1.5%
6
0.2%
0.2%
7
0.0%
0.0%
8
0.0%
0.0%
9
0.0%
0.0%
10
0.0%
0.0%
Modeling assumptions
  • Rolls are independent; rerolls follow "reroll 1s" / "reroll all fails".
  • The defender uses the better of armour save (after AP) and invulnerable.
  • Damage from one failed save does NOT spill into the next model: leftover damage beyond the current model's remaining wounds is lost (overkill), while a model that survives keeps its lost wounds for the next hit.
  • Edition-specific special rules (torrent, devastating wounds, feel no pain, …) are intentionally out of scope of the base engine; the reroll/save/damage inputs are generic dice math, not GW data.

How mathhammer works

Every attack in Warhammer passes through the same funnel: roll to hit, roll to wound, let the defender roll saves, then apply damage. “Mathhammer” is chaining the probabilities of each step, but averages alone hide the swing. This calculator computes the exact distribution of outcomes, so alongside the expected hits, wounds, and damage you can see the real chance of slaying exactly 0, 1, 2, or more models, and the odds of clearing at least one, half, or all of a unit.

Set the number of attacks (fixed or dice, like 2d6), what you hit and wound on, and the save your target gets after armour penetration, with invulnerable saves and rerolls of 1s or of all failures on either step. Models are slain with no damage spillover: overkill on the killing blow is lost, and a wounded survivor stays wounded. Flip on the compare toggle to weigh two weapon profiles side by side, and share any setup: the whole configuration lives in the page URL.

It uses generic dice inputs only, so it works for any edition or game system and never reproduces official datasheets. Pair it with the Army Builder to plan a whole list.

The model in plain words

Instead of multiplying averages, the engine carries a full probability table through every stage. It starts from the distribution of your attack count (a fixed number, or dice like 2d6), then works out the probability of every possible number of hits, then wounds, then unsaved wounds, each die treated as an independent d6. Damage is then dealt to one model at a time: a model dies when the damage of a single failed save meets its remaining wounds, excess damage on the killing blow is lost, and a model that survives keeps its lost wounds for the next hit. The result is the exact probability of every possible casualty count, not a simulation or an estimate.

The model assumes:

  • All rolls are independent; rerolls mean “reroll 1s” or “reroll all fails” on that step.
  • The defender always takes the better of the armour save (after AP) and the invulnerable save.
  • Damage never spills from one model to the next: overkill is lost, and wounded survivors stay wounded.
  • Edition-specific special rules (torrent, devastating wounds, feel no pain, and the like) are out of scope: the inputs are generic dice math, not Games Workshop data.