[RPG] When is casting Blade Ward better than taking the Dodge action

advantage-and-disadvantagecantripsdamage-resistancednd-5edodge

I'm considering Blade Ward for a character's cantrip selection. It takes an action to cast, resulting in the following effect:

Until the end of your next turn, you have resistance against bludgeoning, piercing, and slashing damage dealt by weapon attacks. [PHB pg. 219]

Where "resistance" means:

If a creature or an object has resistance to a damage type, damage of that type is halved against it. [PHB pg. 197]

Importantly, this character could make a different defensive choice, using its action to Dodge instead of casting the cantrip. The Dodge action results in the following:

Until the start of your next turn, any attack roll made against you has disadvantage if you can see the attacker, and you make Dexterity saving throws with advantage. You lose this benefit if you are incapacitated (as explained in appendix A) or if your speed drops to 0. [PHB pg. 192]

Because Blade Ward lasts until the end of your next turn while Dodge ends at its start, Blade Ward is clearly better at protecting you from opportunity attacks that happen on the turn after you cast it. Similarly, if you're not facing weapon attacks that deal bludgeoning, piercing, or slashing damage, the Dodge action is clearly the better choice.

However, if you're only considering bludgeoning, piercing, and slashing weapon attacks dealt in the time when Dodge would be active, when is casting Blade Ward the better option? When is taking half-damage from attacks that hit a better choice than reducing those hits through disadvantaged attacks?

Or, to put it more mathematically, when will the Dodge action reduce the number of successful attacks by more than 50%?


FOLLOW-UP

For those of you saying Blade Ward isn't worth taking because offense is typically better than defense, I understand. However, this character already has 2 offensive cantrips — a ranged attack and a saving throw debuff with some damage — plus 3 utility cantrips.

He will learn 2 more as he levels up. I'll probably choose multi-target damage for one of them. Beyond that, I don't see the value in yet another offensive selection, and none of the remaining utility options seemed a good fit for this character. Thus my consideration of Blade Ward.

I was trying to figure out exactly what value Blade Ward added, especially in light of the available Dodge action. (Thank you, all, for your help on that.) Depending on what we conclude here, I'll decide if I should go ahead and take Blade Ward or try to make a 4th utility option fit this guy's themes instead.


Best Answer

Usually, these options break even when your enemies need to roll a natural 11 or better to hit you

Ultimately, which action is better comes down to how easy it is for your enemies to hit you and exactly how much damage they do. When considering statistical questions like this I like to use Anydice to figure them out.

For the case of attacks, I created this anydice script:

function: attack ROLL:n TARGET:n DAM:d CRIT:d {
  if ROLL = 1 { result: 0 }
  if ROLL >= 20 { result: DAM + CRIT }
  if ROLL >= TARGET { result: DAM }
  result: 0
}

DAM: 1d10+3
CRIT: 1d10
loop AC over {1..20} {
  output [attack 1d20 AC DAM CRIT] named "Attack against AC [AC]"
  output [attack 1d20 AC DAM CRIT]/2 named "Attack against AC [AC] with resistance"
  output [attack 2@2d20 AC DAM CRIT] named "Attack against AC [AC] with disadvantage"
}

The function attack calculates the expected damage when making an attack (simply feed in a d20 roll for to hit, the d20 roll needed to hit, and the damage done plus additional damage on a crit). In this example I used a fairly typical longsword attack to set the damage (1d10+3, with an extra d10 on a crit). Resistance is applied by halving the resulting damage, and disadvantage is applied by using the roll 2@2d20 (an expression which selects the second highest die from a 2d20 roll).

You can eyeball the results in Anydice (I suggest using the "Table" and "Summary" view modes to make the most visual sense of it), but I went ahead and exported the results to do a bit more analysis. Below is a table showing the relative benefits of resistance and disadvantage against a 1d10+3 longsword attack.

Min. to-hit Av. Damage Resistance Res. Reduction Disadvantage Disadv. Reduction
1 8.35 3.9375 52.84% 7.685 7.96%
2 8.35 3.9375 52.84% 7.685 7.96%
3 7.925 3.7375 52.84% 6.89875 12.95%
4 7.5 3.5375 52.83% 6.155 17.93%
5 7.075 3.3375 52.83% 5.45375 22.92%
6 6.65 3.1375 52.82% 4.795 27.89%
7 6.225 2.9375 52.81% 4.17875 32.87%
8 5.8 2.7375 52.80% 3.605 37.84%
9 5.375 2.5375 52.79% 3.07375 42.81%
10 4.95 2.3375 52.78% 2.585 47.78%
11 4.525 2.1375 52.76% 2.13875 52.73%
12 4.1 1.9375 52.74% 1.735 57.68%
13 3.675 1.7375 52.72% 1.37375 62.62%
14 3.25 1.5375 52.69% 1.055 67.54%
15 2.825 1.3375 52.65% 0.77875 72.43%
16 2.4 1.1375 52.60% 0.545 77.29%
17 1.975 0.9375 52.53% 0.35375 82.09%
18 1.55 0.7375 52.42% 0.205 86.77%
19 1.125 0.5375 52.22% 0.09875 91.22%
20 0.7 0.3375 51.79% 0.035 95.00%

The results show that the break-even point between resistance to damage and disadvantage on the incoming attack is when the enemy needs to roll ~11 or better hit you. It also shows that though the value of resistance varies very little, the value of disadvantage swings dramatically from very low to very high as the attacker's hit chance decreases.

This makes sense mathematically; if the enemy has a 50% chance to hit, then disadvantage on the attack roll reduces that to 25%, so exactly halves the number of attacks that hit. Above a 50% hit chance, disadvantage becomes proportionally less effective, so the flat 50% of resistance is better; below a 50% hit chance, disadvantage becomes more effective, and so the increasingly reduced chance of being hit overtakes the flat reduction of resistance.

However, the values in the table don't quite perfectly correspond to what we'd naively expect. Because you round down the fraction when halving damage, resistance actually grants slightly better than 50% damage reduction when the original damage is odd; however, disadvantage not only reduces the chance of a hit but even more significantly reduces the chance of a crit, and so also reduces the expected damage by a slightly greater proportion than it reduces hit chance. The exact determination of which is better depends on how much damage the enemy does normally and how much extra damage they do on a crit. In this case, using a typical 1d10+3 damage attack, resistance is ever so slightly better when requiring an 11, but disadvantage is clearly superior on a required 12+.

Resistance becomes a stronger option as the individual attack damage decreases, because when the damage values are already very low, rounding down those fractions is proportionally stronger. In the most extreme case of an attack that only ever does 1 damage or 2 on a crit, such as a rat's bite, then resistance is better all the way up until you're hit on a 17+. Conversely, when the attack damage is very high on average, the effect of rounding fractions is proportionally less; if you're being bitten by a Tarrasque for 4d12+10 damage, then resistance is a better option only up to a required 10, and disadvantage gains the edge on a required 11+.

If an attack has unusually vicious critical damage, the effect of reduced critical hit chance becomes stronger. Taking the 1d10+3 example, if the critical hit instead does an extra 2d10 damage (for instance, as a result of a Half-Orc's Savage Attacks feature), then disadvantage is better on a required 11. If that crit did an extra 4d10 damage (e.g. as delivered by a high-level barbarian half-orc) then disadvantage would be better on a required 10+.

Taken altogether, the general rule of thumb we can derive here is that if the enemy needs to roll an 11 to hit you, resistance and disadvantage will be nearly equivalent; below that, resistance is superior, and above that, disadvantage wins out, except in quite extreme edge cases. For the attacks of most monsters an adventurer is likely to encounter, this rule holds. You could experiment with changing the values in the script I used if you want to figure out the exact break point in different circumstances.

Are they worth it?

In practical terms, the value of either action is somewhat dubious in most situations.

When you're already hard to hit, Dodge is relatively better than blade ward, but the absolute value of Dodging is ultimately quite trivial. If an enemy hits you on a 16+ with a 1d10+3 attack, Dodging saves you just under 2hp per attack. Even for a much deadlier attack, such as the Tarrasque's 4d12+10 bite, at the same hit chance, Dodging saves you only ~8hp per attack.

When you're getting hit half the time, the two actions are roughly equivalent to each other. 1d10+3 on an 11+ loses ~2.4hp to either. If the Tarrasque's 4d12+10 hits on 11+, blade ward saves ~9.1hp, and Dodging saves ~10.2hp.

When you're easy to hit, blade ward is better than Dodge, and the absolute value of the action is greater than when you're harder to hit - but still relatively low. A 1d10+3 attack that hits on a 6+ loses ~3.5hp per attack to a blade ward. A 4d12+10 attack that hits on a 6+ loses ~14.33hp.

Contrast this to using your action to, for instance, cast a 1st level magic missile. That spell will do 10.5hp damage on average, and is likely at the low end of the expected damage output available to your character by the use of their action. That's more damage dealt than is saved in almost all of the examples above, even when accounting for being attacked multiple times!

Unless you expect to be attacked multiple times by enemies that do a lot of damage and will hit you easily, your action would very likely be better spent doing something else. If you are in that circumstance, though, blade ward is a much better option for mitigating your incoming damage than the Dodge action.

As a general rule, as well, you're almost always better off to take damage in a few smaller chunks than in one big chunk. For example, if you're trying to maintain concentration on a clutch spell, you're better off taking two hits that do 25 damage each and making two achievable DC12 concentration saves than one hit that does 50 damage and requires a quite unlikely DC25 save. So, for practical purposes, I judge that blade ward is better than Dodge, damning with faint praise though that may be.

Bonus saving throws tangent: when you can save for none on a natural 10 or less

Blade Ward isn't actually useful against saving throw effects since it only applies to weapon attacks, but the original version of the question did ask and so I figured it out. For the sake of argument, if you were in a situation where you could choose between getting advantage on a saving throw or resistance to the resulting damage, the math basically works out inversely to that of attacks. I used this anydice script in order to calculate the consequences for saving throws:

function: save ROLL:n TARGET:n FULLDAM:n HALF:n {
  if ROLL >= TARGET {
    if HALF { result: FULLDAM/2 }
    result: 0
  }
  result: FULLDAM
}

DAM: 3d6
loop DC over {1..20} {
  output [save 1d20 DC DAM 1]/2 named "Save for half against [DC] with resistance"
  output [save 1@2d20 DC DAM 1] named "Save for half against [DC] with advantage"
}

loop DC over {1..20} {
  output [save 1d20 DC DAM 0]/2 named "Save for none against [DC] with resistance"
  output [save 1@2d20 DC DAM 0] named "Save for none against [DC] with advantage"
}

The results depend on whether or not you save for half damage or no damage, so I split those two out into different sections. The save function takes a d20 roll, a target number, a damage expression and a flag for whether or not it saves for half; then it calculates the expected damage given those values. As above, I recommend table and summary view.

These results show us that when you can save for no damage, advantage on the save is better than resistance if your required number is 10 or less; if you need to roll an 11 or better to save, resistance is superior. Basically, this is the inverse of the result for attacking - on a required 11, advantage will make the save exactly twice as often as a regular roll, but resistance works out slightly better because it rounds down that fractional damage, and this time there are no critical hits to skew it back the other way.

However, if you can only save for half damage, resistance is always better than advantage on the saving throw; there is no required roll where advantage on the save won't reduce your expected damage more than giving yourself resistance will. The chance to halve your incoming damage twice - both with a save and with resistance - simply skews the results strongly in favour of resistance.