Concepts → Save-for-half math
Save-for-half — when does Fireball's floor(damage / 2)
actually decide the fight?
Fireball, Lightning Bolt, Cone of Cold, Cloudkill — every iconic damage spell at tier 2+ shares the same modulator: full damage on a failed save, half on a success. The dice are rolled once; the save halves the total, not each die. Worked out, the spell DC matters more than the slot level — and a target with a +0 DEX save eats almost twice as much damage per cast as one with +5.
The mechanic, briefly
Per RAW (PHB Saving Throws section): when a damage spell calls
for a saving throw, roll the damage dice once. Each
target makes their save. On a failed save, the target takes the
full rolled damage. On a successful save, the target takes
floor(damage / 2) — half of the same total, not
half the dice rolled separately.
Subtlety: the floor is on the total, not per-die. A
Fireball that rolls [1, 6, 3, 5, 4, 2, 6, 1] = 28
deals 28 on fail and 14 on save, not "round each die down then
sum." The engine matches RAW: the per-attempt distribution
mixes the full dmg distribution with a per-outcome
floor(x/2) transformation of the same.
Save probability is the standard 5e formula:
P(save) = clamp((21 + save_bonus − DC) / 20, 0, 1).
No nat-1 auto-fail, no nat-20 auto-success on standard saves
(that's for attacks; death saves are separate).
The headline panel — Fireball at DC 15 vs +5 DEX
Standard 3rd-level slot Fireball (8d6) against a CR-5 monster with +5 DEX save (P(save) = 11/20 = 55%). The left panel shows the raw 8d6 distribution (mean 28, range 8–48); the right shows the post-save distribution (full mass on fail, halved mass on save):
8d6
- 8 0.00%
- 9 0.00%
- 10 0.00%
- 11 0.01%
- 12 0.02%
- 13 0.05%
- 14 0.10%
- 15 0.20%
- 16 0.37%
- 17 0.62%
- 18 1.00%
- 19 1.52%
- 20 2.18%
- 21 2.99%
- 22 3.92%
- 23 4.90%
- 24 5.88%
- 25 6.77%
- 26 7.48%
- 27 7.94%
- 28 8.09%
- 29 7.94%
- 30 7.48%
- 31 6.77%
- 32 5.88%
- 33 4.90%
- 34 3.92%
- 35 2.99%
- 36 2.18%
- 37 1.52%
- 38 1.00%
- 39 0.62%
- 40 0.37%
- 41 0.20%
- 42 0.10%
- 43 0.05%
- 44 0.02%
- 45 0.01%
- 46 0.00%
- 47 0.00%
- 48 0.00%
8d6 save +5 DC15
- 4 0.00%
- 5 0.01%
- 6 0.04%
- 7 0.17%
- 8 0.54%
- 9 1.39%
- 10 2.85%
- 11 4.86%
- 12 6.97%
- 13 8.50%
- 14 8.86%
- 15 7.93%
- 16 6.10%
- 17 4.08%
- 18 2.49%
- 19 1.58%
- 20 1.29%
- 21 1.43%
- 22 1.78%
- 23 2.21%
- 24 2.65%
- 25 3.05%
- 26 3.36%
- 27 3.57%
- 28 3.64%
- 29 3.57%
- 30 3.36%
- 31 3.05%
- 32 2.65%
- 33 2.21%
- 34 1.76%
- 35 1.35%
- 36 0.98%
- 37 0.68%
- 38 0.45%
- 39 0.28%
- 40 0.16%
- 41 0.09%
- 42 0.05%
- 43 0.02%
- 44 0.01%
- 45 0.00%
- 46 0.00%
- 47 0.00%
- 48 0.00%
The post-save distribution has support down to 4
(floor(8/2) = the all-1s save outcome) — half-on-save means the
lower half of the support fills with 55% of the mass weight.
Mean drops from 28 (always full) to roughly
20.3 (55% half + 45% full = 0.55·14 + 0.45·28 ≈
7.7 + 12.6 ≈ 20.3, modulo floor effects).
The DC table — where the spell lands
P(save) varies linearly with the spread between save bonus and
DC. Mean per-target damage is P(fail)·E[dmg] +
P(save)·E[floor(dmg/2)] — for symmetric dice the
expected halved-damage approximates E[dmg]/2 with
a small floor correction.
| DC | Save bonus | P(save) | E[damage] per cast | vs raw 28 (no save) |
|---|---|---|---|---|
13 |
+0 |
40% | ≈ 22.4 |
−5.6 |
13 |
+5 |
65% | ≈ 18.9 |
−9.1 |
15 |
+0 |
30% | ≈ 23.8 |
−4.2 |
15 |
+5 |
55% | ≈ 20.3 |
−7.7 |
17 |
+0 |
20% | ≈ 25.2 |
−2.8 |
17 |
+5 |
45% | ≈ 21.7 |
−6.3 |
Pattern: every 5 points of DC over the target's bonus halves the save chance, which roughly halves the save-erasure of damage. A Fireball at DC 15 vs +0 (low-tier minions) loses ~15% of mean damage to the save mass; vs +5 (CR-5 monsters) it loses ~28%. Push the DC, recover most of the loss.
Save-or-suck — the binary cousin
Some spells use the same save mechanic but with a binary outcome:
full effect on fail, nothing on success. Hold Person,
Banishment, Tasha's Hideous Laughter, lots of cantrip-tier
controls. The engine models this as the
zero on-success flag. P(save) becomes the
probability the spell does nothing; P(fail) is the
probability of full effect.
Per-cast expected damage for save-or-suck is just
P(fail) · E[dmg] — no half-mass redistribution,
just a binary on/off. Compare:
8d6 save +5 DC15
- 4 0.00%
- 5 0.01%
- 6 0.04%
- 7 0.17%
- 8 0.54%
- 9 1.39%
- 10 2.85%
- 11 4.86%
- 12 6.97%
- 13 8.50%
- 14 8.86%
- 15 7.93%
- 16 6.10%
- 17 4.08%
- 18 2.49%
- 19 1.58%
- 20 1.29%
- 21 1.43%
- 22 1.78%
- 23 2.21%
- 24 2.65%
- 25 3.05%
- 26 3.36%
- 27 3.57%
- 28 3.64%
- 29 3.57%
- 30 3.36%
- 31 3.05%
- 32 2.65%
- 33 2.21%
- 34 1.76%
- 35 1.35%
- 36 0.98%
- 37 0.68%
- 38 0.45%
- 39 0.28%
- 40 0.16%
- 41 0.09%
- 42 0.05%
- 43 0.02%
- 44 0.01%
- 45 0.00%
- 46 0.00%
- 47 0.00%
- 48 0.00%
1d6 save +1 DC13 zero
- 0 45.00%
- 1 9.17%
- 2 9.17%
- 3 9.17%
- 4 9.17%
- 5 9.17%
- 6 9.17%
The save-or-suck panel has 9/20 = 45% mass at 0 (the save succeeded) and the remaining 55% spread per the 1d6 distribution. No half-zone in between.
Trade-off: save-or-suck has higher per-failed-save payoff (full effect with no half-tax) but a hard zero on success. Save-or-suck dominates when P(save) is low — against poor-save targets (CR-1 humanoids, swarms), the binary nature of the effect eats a smaller share of the expected value than save-for-half does.
Upcasting — the slot tradeoff
Fireball adds 1d6 per slot level above 3rd. Upcast at 5th
(10d6), at 7th (12d6), etc. Each die adds mean +3.5 to raw
damage — but the save-for-half tax reduces the effective
contribution. At DC 15 vs +5 save (P(save) = 55%), each
added die contributes 0.45·3.5 + 0.55·1.75 ≈ 2.54
effective mean per cast.
8d6 save +5 DC15
- 4 0.00%
- 5 0.01%
- 6 0.04%
- 7 0.17%
- 8 0.54%
- 9 1.39%
- 10 2.85%
- 11 4.86%
- 12 6.97%
- 13 8.50%
- 14 8.86%
- 15 7.93%
- 16 6.10%
- 17 4.08%
- 18 2.49%
- 19 1.58%
- 20 1.29%
- 21 1.43%
- 22 1.78%
- 23 2.21%
- 24 2.65%
- 25 3.05%
- 26 3.36%
- 27 3.57%
- 28 3.64%
- 29 3.57%
- 30 3.36%
- 31 3.05%
- 32 2.65%
- 33 2.21%
- 34 1.76%
- 35 1.35%
- 36 0.98%
- 37 0.68%
- 38 0.45%
- 39 0.28%
- 40 0.16%
- 41 0.09%
- 42 0.05%
- 43 0.02%
- 44 0.01%
- 45 0.00%
- 46 0.00%
- 47 0.00%
- 48 0.00%
10d6 save +5 DC17
- 5 0.00%
- 6 0.00%
- 7 0.00%
- 8 0.01%
- 9 0.05%
- 10 0.17%
- 11 0.47%
- 12 1.05%
- 13 2.00%
- 14 3.29%
- 15 4.71%
- 16 5.90%
- 17 6.50%
- 18 6.31%
- 19 5.40%
- 20 4.08%
- 21 2.75%
- 22 1.70%
- 23 1.06%
- 24 0.82%
- 25 0.85%
- 26 1.07%
- 27 1.40%
- 28 1.79%
- 29 2.23%
- 30 2.67%
- 31 3.09%
- 32 3.46%
- 33 3.75%
- 34 3.93%
- 35 4.00%
- 36 3.93%
- 37 3.75%
- 38 3.46%
- 39 3.09%
- 40 2.67%
- 41 2.23%
- 42 1.79%
- 43 1.40%
- 44 1.05%
- 45 0.76%
- 46 0.52%
- 47 0.35%
- 48 0.22%
- 49 0.13%
- 50 0.08%
- 51 0.04%
- 52 0.02%
- 53 0.01%
- 54 0.00%
- 55 0.00%
- 56 0.00%
- 57 0.00%
- 58 0.00%
- 59 0.00%
- 60 0.00%
Upcasting Fireball from 3rd (8d6) to 5th-level slot (10d6) ALSO usually means a higher caster level → typically +1 to DC (for prepared casters who upcast at higher proficiency). The DC bump compounds: more raw damage AND a smaller P(save). The right panel shows 10d6 at DC 17 — both effects stacked.
The slot-level question players ask: "Should I upcast Fireball to 5th level instead of casting Cone of Cold (8d8 at DC same)?" Engine answer: at DC 17 vs +5 save, 10d6 (mean ~28) vs 8d8 (mean ~31.5) gives Cone the raw edge — but Cone's tighter single-die-size distribution has lower variance, which matters less per-cast than total damage. Both are within ~10% mean DPS per slot.
The AOE multiplier — why DEX +0 minions are Fireball food
Per-cast damage scales with target count. Per RAW the
dice are rolled once and each target saves independently —
so the per-cast distribution isn't a simple convolution; it's
the joint distribution of one shared damage roll and N
independent Bernoulli saves. The engine computes this exactly
via the t<N> postfix on save expressions.
Same Fireball, three pod sizes, all at DC 15 vs +5 DEX save:
8d6 save +5 DC15
- 4 0.00%
- 5 0.01%
- 6 0.04%
- 7 0.17%
- 8 0.54%
- 9 1.39%
- 10 2.85%
- 11 4.86%
- 12 6.97%
- 13 8.50%
- 14 8.86%
- 15 7.93%
- 16 6.10%
- 17 4.08%
- 18 2.49%
- 19 1.58%
- 20 1.29%
- 21 1.43%
- 22 1.78%
- 23 2.21%
- 24 2.65%
- 25 3.05%
- 26 3.36%
- 27 3.57%
- 28 3.64%
- 29 3.57%
- 30 3.36%
- 31 3.05%
- 32 2.65%
- 33 2.21%
- 34 1.76%
- 35 1.35%
- 36 0.98%
- 37 0.68%
- 38 0.45%
- 39 0.28%
- 40 0.16%
- 41 0.09%
- 42 0.05%
- 43 0.02%
- 44 0.01%
- 45 0.00%
- 46 0.00%
- 47 0.00%
- 48 0.00%
8d6 save +5 DC15 t4
- 16 0.00%
- 17 0.00%
- 18 0.00%
- 19 0.00%
- 20 0.00%
- 21 0.00%
- 22 0.00%
- 23 0.00%
- 24 0.01%
- 25 0.00%
- 26 0.00%
- 27 0.00%
- 28 0.03%
- 29 0.00%
- 30 0.01%
- 31 0.01%
- 32 0.09%
- 33 0.00%
- 34 0.00%
- 35 0.03%
- 36 0.30%
- 37 0.00%
- 38 0.02%
- 39 0.00%
- 40 0.58%
- 41 0.19%
- 42 0.04%
- 43 0.00%
- 44 0.88%
- 45 0.31%
- 46 0.45%
- 47 0.00%
- 48 1.29%
- 49 0.02%
- 50 0.88%
- 51 0.90%
- 52 1.45%
- 53 0.00%
- 54 0.37%
- 55 1.17%
- 56 3.57%
- 57 0.00%
- 58 0.00%
- 59 0.13%
- 60 3.88%
- 61 2.03%
- 62 1.10%
- 63 0.20%
- 64 1.00%
- 65 2.24%
- 66 4.12%
- 67 0.00%
- 68 2.46%
- 69 0.00%
- 70 2.86%
- 71 2.38%
- 72 2.54%
- 73 0.60%
- 74 2.49%
- 75 2.24%
- 76 2.24%
- 77 0.79%
- 78 2.75%
- 79 0.00%
- 80 5.80%
- 81 1.47%
- 82 0.00%
- 83 0.00%
- 84 4.29%
- 85 1.17%
- 86 3.81%
- 87 1.36%
- 88 0.16%
- 89 0.00%
- 90 3.40%
- 91 1.95%
- 92 2.69%
- 93 0.00%
- 94 1.59%
- 95 0.30%
- 96 2.59%
- 97 0.00%
- 98 3.43%
- 99 0.00%
- 100 0.39%
- 101 1.65%
- 102 1.44%
- 103 0.00%
- 104 1.41%
- 105 1.53%
- 106 0.01%
- 107 0.00%
- 108 2.49%
- 109 0.00%
- 110 0.56%
- 111 0.00%
- 112 1.51%
- 113 0.00%
- 114 0.37%
- 115 0.98%
- 116 0.55%
- 117 0.00%
- 118 0.00%
- 119 0.79%
- 120 0.44%
- 121 0.00%
- 122 0.67%
- 123 0.00%
- 124 0.28%
- 125 0.00%
- 126 0.48%
- 127 0.00%
- 128 0.26%
- 129 0.30%
- 130 0.00%
- 131 0.00%
- 132 0.21%
- 133 0.20%
- 134 0.00%
- 135 0.00%
- 136 0.29%
- 137 0.00%
- 138 0.00%
- 139 0.00%
- 140 0.20%
- 141 0.00%
- 142 0.00%
- 143 0.04%
- 144 0.09%
- 145 0.00%
- 146 0.00%
- 147 0.02%
- 148 0.06%
- 149 0.00%
- 150 0.01%
- 151 0.00%
- 152 0.04%
- 153 0.00%
- 154 0.00%
- 155 0.00%
- 156 0.03%
- 157 0.00%
- 158 0.00%
- 159 0.00%
- 160 0.02%
- 161 0.00%
- 162 0.00%
- 163 0.00%
- 164 0.01%
- 165 0.00%
- 166 0.00%
- 167 0.00%
- 168 0.00%
- 169 0.00%
- 170 0.00%
- 171 0.00%
- 172 0.00%
- 173 0.00%
- 174 0.00%
- 175 0.00%
- 176 0.00%
- 177 0.00%
- 178 0.00%
- 179 0.00%
- 180 0.00%
- 181 0.00%
- 182 0.00%
- 183 0.00%
- 184 0.00%
- 185 0.00%
- 186 0.00%
- 187 0.00%
- 188 0.00%
- 189 0.00%
- 190 0.00%
- 191 0.00%
- 192 0.00%
Single target (left) caps at 48; four targets (right) extends to 192. Per-cast mean grows roughly linearly with N — but the shape changes too: more targets means narrower relative spread (CLT in action across the binomial-of-saves).
Same Fireball against weak minions (DEX +0) shows the AOE payoff at its peak — P(save) drops to 30%, mean per target jumps from ~20 to ~24, and 8 of them eats most of the pod's HP in one cast:
8d6 save +0 DC15 t4
- 16 0.00%
- 17 0.00%
- 18 0.00%
- 19 0.00%
- 20 0.00%
- 21 0.00%
- 22 0.00%
- 23 0.00%
- 24 0.00%
- 25 0.00%
- 26 0.00%
- 27 0.00%
- 28 0.00%
- 29 0.00%
- 30 0.00%
- 31 0.00%
- 32 0.01%
- 33 0.00%
- 34 0.00%
- 35 0.01%
- 36 0.04%
- 37 0.00%
- 38 0.02%
- 39 0.00%
- 40 0.07%
- 41 0.05%
- 42 0.03%
- 43 0.00%
- 44 0.13%
- 45 0.10%
- 46 0.11%
- 47 0.00%
- 48 0.20%
- 49 0.04%
- 50 0.33%
- 51 0.23%
- 52 0.22%
- 53 0.00%
- 54 0.26%
- 55 0.30%
- 56 1.08%
- 57 0.00%
- 58 0.00%
- 59 0.26%
- 60 1.19%
- 61 0.51%
- 62 0.79%
- 63 0.41%
- 64 0.18%
- 65 0.57%
- 66 2.26%
- 67 0.00%
- 68 1.50%
- 69 0.00%
- 70 1.51%
- 71 0.60%
- 72 1.83%
- 73 1.23%
- 74 1.79%
- 75 0.57%
- 76 0.89%
- 77 1.61%
- 78 1.98%
- 79 0.00%
- 80 5.09%
- 81 0.37%
- 82 0.00%
- 83 0.00%
- 84 5.28%
- 85 0.30%
- 86 2.33%
- 87 2.79%
- 88 0.94%
- 89 0.00%
- 90 2.14%
- 91 3.19%
- 92 2.97%
- 93 0.00%
- 94 3.27%
- 95 0.08%
- 96 3.02%
- 97 0.00%
- 98 4.63%
- 99 0.00%
- 100 1.65%
- 101 3.28%
- 102 1.04%
- 103 0.00%
- 104 2.59%
- 105 3.09%
- 106 0.00%
- 107 0.00%
- 108 5.27%
- 109 0.00%
- 110 0.40%
- 111 0.00%
- 112 4.36%
- 113 0.00%
- 114 0.26%
- 115 2.02%
- 116 2.07%
- 117 0.00%
- 118 0.00%
- 119 1.61%
- 120 1.89%
- 121 0.00%
- 122 1.29%
- 123 0.00%
- 124 1.63%
- 125 0.00%
- 126 0.93%
- 127 0.00%
- 128 1.43%
- 129 0.62%
- 130 0.00%
- 131 0.00%
- 132 1.18%
- 133 0.41%
- 134 0.00%
- 135 0.00%
- 136 1.20%
- 137 0.00%
- 138 0.00%
- 139 0.00%
- 140 0.87%
- 141 0.00%
- 142 0.00%
- 143 0.08%
- 144 0.52%
- 145 0.00%
- 146 0.00%
- 147 0.04%
- 148 0.36%
- 149 0.00%
- 150 0.02%
- 151 0.00%
- 152 0.24%
- 153 0.00%
- 154 0.01%
- 155 0.00%
- 156 0.15%
- 157 0.00%
- 158 0.00%
- 159 0.00%
- 160 0.09%
- 161 0.00%
- 162 0.00%
- 163 0.00%
- 164 0.05%
- 165 0.00%
- 166 0.00%
- 167 0.00%
- 168 0.02%
- 169 0.00%
- 170 0.00%
- 171 0.00%
- 172 0.01%
- 173 0.00%
- 174 0.00%
- 175 0.00%
- 176 0.00%
- 177 0.00%
- 178 0.00%
- 179 0.00%
- 180 0.00%
- 181 0.00%
- 182 0.00%
- 183 0.00%
- 184 0.00%
- 185 0.00%
- 186 0.00%
- 187 0.00%
- 188 0.00%
- 189 0.00%
- 190 0.00%
- 191 0.00%
- 192 0.00%
8d6 save +0 DC15 t8
- 32 0.00%
- 33 0.00%
- 34 0.00%
- 35 0.00%
- 36 0.00%
- 37 0.00%
- 38 0.00%
- 39 0.00%
- 40 0.00%
- 41 0.00%
- 42 0.00%
- 43 0.00%
- 44 0.00%
- 45 0.00%
- 46 0.00%
- 47 0.00%
- 48 0.00%
- 49 0.00%
- 50 0.00%
- 51 0.00%
- 52 0.00%
- 53 0.00%
- 54 0.00%
- 55 0.00%
- 56 0.00%
- 57 0.00%
- 58 0.00%
- 59 0.00%
- 60 0.00%
- 61 0.00%
- 62 0.00%
- 63 0.00%
- 64 0.00%
- 65 0.00%
- 66 0.00%
- 67 0.00%
- 68 0.00%
- 69 0.00%
- 70 0.00%
- 71 0.00%
- 72 0.01%
- 73 0.00%
- 74 0.00%
- 75 0.00%
- 76 0.01%
- 77 0.00%
- 78 0.00%
- 79 0.00%
- 80 0.01%
- 81 0.00%
- 82 0.01%
- 83 0.01%
- 84 0.02%
- 85 0.00%
- 86 0.00%
- 87 0.00%
- 88 0.05%
- 89 0.00%
- 90 0.03%
- 91 0.06%
- 92 0.02%
- 93 0.00%
- 94 0.00%
- 95 0.00%
- 96 0.10%
- 97 0.01%
- 98 0.03%
- 99 0.05%
- 100 0.11%
- 101 0.00%
- 102 0.10%
- 103 0.00%
- 104 0.16%
- 105 0.02%
- 106 0.00%
- 107 0.00%
- 108 0.14%
- 109 0.17%
- 110 0.14%
- 111 0.00%
- 112 0.41%
- 113 0.14%
- 114 0.00%
- 115 0.00%
- 116 0.00%
- 117 0.26%
- 118 0.19%
- 119 0.00%
- 120 0.44%
- 121 0.18%
- 122 0.45%
- 123 0.00%
- 124 0.64%
- 125 0.00%
- 126 0.31%
- 127 0.13%
- 128 0.02%
- 129 0.00%
- 130 0.63%
- 131 0.00%
- 132 1.34%
- 133 0.00%
- 134 0.00%
- 135 1.28%
- 136 0.71%
- 137 0.00%
- 138 0.00%
- 139 0.00%
- 140 0.73%
- 141 0.00%
- 142 0.38%
- 143 1.34%
- 144 0.87%
- 145 0.01%
- 146 1.26%
- 147 0.00%
- 148 2.17%
- 149 0.00%
- 150 0.51%
- 151 0.00%
- 152 0.16%
- 153 0.00%
- 154 1.54%
- 155 0.00%
- 156 2.51%
- 157 0.96%
- 158 0.00%
- 159 0.00%
- 160 2.72%
- 161 1.72%
- 162 0.05%
- 163 0.00%
- 164 0.00%
- 165 1.12%
- 166 0.00%
- 167 0.00%
- 168 3.33%
- 169 1.90%
- 170 0.04%
- 171 0.00%
- 172 2.08%
- 173 0.00%
- 174 4.02%
- 175 0.00%
- 176 0.50%
- 177 0.00%
- 178 0.00%
- 179 0.23%
- 180 2.20%
- 181 0.00%
- 182 4.29%
- 183 0.00%
- 184 1.20%
- 185 0.00%
- 186 0.00%
- 187 3.54%
- 188 2.35%
- 189 0.00%
- 190 0.15%
- 191 0.00%
- 192 1.15%
- 193 0.00%
- 194 0.00%
- 195 3.38%
- 196 3.07%
- 197 0.00%
- 198 0.10%
- 199 0.00%
- 200 2.11%
- 201 0.07%
- 202 3.92%
- 203 0.00%
- 204 0.53%
- 205 0.00%
- 206 0.00%
- 207 0.00%
- 208 2.33%
- 209 0.05%
- 210 3.82%
- 211 0.00%
- 212 0.03%
- 213 1.25%
- 214 0.00%
- 215 0.00%
- 216 2.76%
- 217 1.57%
- 218 0.00%
- 219 0.00%
- 220 0.22%
- 221 1.00%
- 222 0.00%
- 223 0.01%
- 224 2.21%
- 225 1.48%
- 226 0.76%
- 227 0.00%
- 228 0.14%
- 229 0.00%
- 230 1.45%
- 231 0.00%
- 232 1.88%
- 233 0.00%
- 234 0.56%
- 235 0.00%
- 236 0.00%
- 237 0.00%
- 238 1.16%
- 239 0.39%
- 240 1.64%
- 241 0.00%
- 242 0.00%
- 243 0.00%
- 244 0.91%
- 245 0.00%
- 246 0.00%
- 247 1.22%
- 248 0.39%
- 249 0.00%
- 250 0.00%
- 251 0.00%
- 252 0.82%
- 253 0.00%
- 254 0.00%
- 255 0.77%
- 256 0.35%
- 257 0.00%
- 258 0.45%
- 259 0.00%
- 260 0.09%
- 261 0.00%
- 262 0.59%
- 263 0.00%
- 264 0.29%
- 265 0.05%
- 266 0.30%
- 267 0.00%
- 268 0.00%
- 269 0.00%
- 270 0.43%
- 271 0.00%
- 272 0.41%
- 273 0.03%
- 274 0.00%
- 275 0.00%
- 276 0.00%
- 277 0.30%
- 278 0.01%
- 279 0.00%
- 280 0.28%
- 281 0.00%
- 282 0.00%
- 283 0.00%
- 284 0.00%
- 285 0.20%
- 286 0.06%
- 287 0.00%
- 288 0.13%
- 289 0.00%
- 290 0.00%
- 291 0.00%
- 292 0.12%
- 293 0.00%
- 294 0.03%
- 295 0.00%
- 296 0.09%
- 297 0.00%
- 298 0.00%
- 299 0.00%
- 300 0.09%
- 301 0.00%
- 302 0.00%
- 303 0.00%
- 304 0.06%
- 305 0.00%
- 306 0.00%
- 307 0.04%
- 308 0.01%
- 309 0.00%
- 310 0.00%
- 311 0.00%
- 312 0.04%
- 313 0.00%
- 314 0.00%
- 315 0.02%
- 316 0.00%
- 317 0.00%
- 318 0.00%
- 319 0.00%
- 320 0.02%
- 321 0.00%
- 322 0.01%
- 323 0.00%
- 324 0.00%
- 325 0.00%
- 326 0.00%
- 327 0.00%
- 328 0.01%
- 329 0.00%
- 330 0.00%
- 331 0.00%
- 332 0.00%
- 333 0.00%
- 334 0.00%
- 335 0.00%
- 336 0.01%
- 337 0.00%
- 338 0.00%
- 339 0.00%
- 340 0.00%
- 341 0.00%
- 342 0.00%
- 343 0.00%
- 344 0.00%
- 345 0.00%
- 346 0.00%
- 347 0.00%
- 348 0.00%
- 349 0.00%
- 350 0.00%
- 351 0.00%
- 352 0.00%
- 353 0.00%
- 354 0.00%
- 355 0.00%
- 356 0.00%
- 357 0.00%
- 358 0.00%
- 359 0.00%
- 360 0.00%
- 361 0.00%
- 362 0.00%
- 363 0.00%
- 364 0.00%
- 365 0.00%
- 366 0.00%
- 367 0.00%
- 368 0.00%
- 369 0.00%
- 370 0.00%
- 371 0.00%
- 372 0.00%
- 373 0.00%
- 374 0.00%
- 375 0.00%
- 376 0.00%
- 377 0.00%
- 378 0.00%
- 379 0.00%
- 380 0.00%
- 381 0.00%
- 382 0.00%
- 383 0.00%
- 384 0.00%
Common scenarios, computed by the engine:
- One CR-5 monster (DEX +5): per-cast mean ≈ 20. Equivalent slot single-target spell often wins.
- Pod of 4 humanoids (DEX +1, DC 15 → P(save) = 35%): per-cast mean ≈ 92. Single-target spells lose by roughly 4×.
- Swarm of 8 minions (DEX +0, DC 15 → P(save) = 30%): per-cast mean ≈ 190. The cleric should let the wizard spend a 3rd-slot here even if MM seems "more reliable."
Rule of thumb: Fireball stops being worth the slot against ≤2 high-save targets and starts being worth it against ≥3 low-save targets. The crossover is roughly at 2-3 targets when DC vs save_bonus is even.
Try it yourself
↦ /strike/8d6 save +5 DC15 — Fireball vs single CR-5 monster ↦ /strike/8d6 save +5 DC15 t4 — Fireball into a pod of 4 ↦ /strike/8d6 save +0 DC15 t8 — Fireball into a swarm of 8 weak minions ↦ /strike/8d6 save +0 DC15 — Fireball vs DEX +0 humanoid (single) ↦ /strike/10d6 save +5 DC17 — upcast 5th-level slot ↦ /strike/8d6 save +5 DC17 — DC bump alone (Heightened Spell metamagic) ↦ /strike/1d6 save +1 DC13 zero — save-or-suck distribution ↦ /vs single vs t4 — see how the pod-size payoff unfolds
Drag the HP slider in any /vs view. The save-modulated panel's kill-probability column reflects the post-save distribution — so "P(finish 30 HP)" tells you the per-cast kill probability against a target at that HP, accounting for the save-for-half mass redistribution.
Common questions
- Does Fireball halve each die or the total?
- The total. A Fireball that rolls 8d6 = 30 deals 30 on a failed save and floor(30/2) = 15 on a successful one. The dice are rolled once per cast; the save just halves the total. Per RAW (PHB Saving Throws section), this is a single integer floor on the summed damage.
- How much does upcasting Fireball actually help?
- Each level of upcasting adds 1d6 (mean +3.5 raw damage). At DC 15 with a +5 save bonus (P(save) = 55%), the per-cast mean increase is roughly 3.5 × 0.725 = 2.5 — about half the raw die's contribution gets erased by the save-for-half mass. The slot-vs-damage tradeoff stays in MM's favour for single-target situations, but Fireball's edge grows with target count.
- When does save-or-suck (Hold Person) beat save-for-half (Fireball)?
- Save-or-suck has a higher payoff per failed save (full effect, no half) but zero on success — so it dominates when P(save fail) is high enough that the binary outcome beats Fireball's reliable-half-on-save. Roughly: against a target with a poor save (P(save) ≤ 30%), save-or-suck control spells often beat damage spells of the same slot for action-economy disruption.