Finding the optimal amount to Power Attack

Misirlou said:
I'm a bored mathematician who isn't playing D&D right now because our DM is out of town. While watching TV, I came up with a formula for the optimal amount by which you should Power Attack in any situation.

It worked out surprisingly simply:

P = (A - T - D + 21)/2

A is your total attack roll modifier.
T is the target's AC
D is your average total damage per hit (not including any Power Attack), ignoring criticals and any overall multipliers to damage (like Spirited Charge).

EDIT: If using a two-handed weapon, divide D by 2 (oddly enough), and everything works out fine.

EDIT: For any iterative attacks, whether from Flurry of Blows or from full attacking, just use the average for the attack rolls.
I tend to do this without the formula. I just size up an opponent and power attack an appropriate amount. Animals and such get big power attacks, 5 or more, and anything with an AC over 20 gets a 2-4 point power attack for now, until my character's attack bonus rises a few more points. Then a 5-point PA will be the de facto. At super high levels my character will power attack most opponents for 10 or more.
 

log in or register to remove this ad

Conaill said:
Based on this thread over on Goodman Games' website, you can expect to see some errata (including for the Power Attack table) some time after Gencon...
The resident rules lawyer in my Monday group made similar comments about accounting for damage when he first saw the preview. Nonetheless, it's still a great book, and I've found that the table works pretty darn well in play. I stand by my reccomendation of the book. :)
 

Here is my rules of thumb for when power attack is worth your time:
1. If A is at least half of T+D. Use the equation. It might matter.
2. If A exceeds T, P should equal the difference. If your average damage is less than 20, add +1 to P at the end.
3. If A is equal to or lower than T-19. P should equal the maximum you can do.

It's not perfect, but in my experience, most optimal power attacks only give you a fraction of a hit point of advantage over not power attacking. The special cases above cover most of the times that power attack will actually matter.
 

Huh huh.

If you really want it done right, I'd submit (as I have on the referenced WotC thread) that finding an exact analytic solution to the optimized PA problem is almost impossible. Problems crop up when you take into account damage reduction--critical hits is peanuts to this problem. If DR is high, such that the lower weapon damage rolls + your damage bonus doesn't overcome it, then the average weapon damage with DR is NOT = average weapon damage - DR. There are other problems which, while not impossible to solve, add a complexity which renders finding the optimum PA solution a pain in the ass. You know, all those funky feats and weapon enchantments and full attack caveats.

Ok maybe I'm overselling the difficulty a little. That's because I've done _a lot_ of work building a much less elegant but much more accurate and encompassing spreadsheet to do exactly this (optimize PA). Click sig.

Here's an example I've been posting on the WotC boards, which I was able to do with just a few mouse clicks and character parameter entry. It's for a

Barbarian1/Fighter16/ExoticWeaponMaster3

Str 26

Raging

Feats of Exotic weapon proficiency, Bastard Sword (BS); WF BS; gWF BS; WS BS; gWS BS; iC BS; power crit BS

Exotic Weapon Master stunt of Uncanny Blow

Wields +3 speed flaming burst BS

Here's his average full attack damage/round (<dam>), taking into account criticals with no PA (left column), and with optimum PA (right two columns, with damage from best PA listed given):

Code:
opp AC  0PA<dam>  opt PA  max<dam>
10	207.10	20	390.18
11	207.10	20	381.80
12	207.10	20	372.64
13	207.10	19	362.88
14	207.10	18	353.12
15	207.10	17	343.36
16	207.10	16	333.60
17	207.10	15	323.84
18	207.10	14	314.08
19	207.10	13	304.32
20	207.10	12	294.56
21	207.10	11	284.80
22	207.10	10	275.04
23	205.30	10	265.48
24	203.50	9	256.06
25	201.70	9	246.84
26	199.90	8	237.76
27	197.72	8	228.88
28	193.74	7	220.14
29	189.76	7	211.60
30	185.78	6	203.20
31	181.80	5	194.80
32	177.44	5	186.46
33	171.28	4	178.42
34	165.12	3	170.38
35	158.96	2	162.34
36	152.80	1	154.30
37	146.26	0	146.26
38	135.46	0	135.46
39	124.84	0	124.84
40	114.42	0	114.42
41	106.36	0	106.36
42	97.55	0	97.55
43	88.07	0	88.07
44	78.78	0	78.78
45	69.77	0	69.77
46	63.14	0	63.14
47	56.50	0	56.50
48	49.20	0	49.20
49	42.09	0	42.09
50	35.27	0	35.27

And, if you want to see what to do with this character against any DR, well, the sheet can do that too. It's half the reason why it's so big (2.6 MB zipped).
 

I know it's a more complex issue, but I was trying to find something that would work in a majority of cases.

You're right about DR though. I hadn't thought about it much. The thing is, if I recall correctly, DR's tend to be pretty low in 3.5, don't they? A good fighter will often at least overcome the DR, albeit not very efficiently, even with a poor roll.

I still don't see why crits are such a big deal. I posted my argument in more detail a bit further up. Essentially, crit-related effects can be safely ignored, except when your miss range intersects your crit range. I think, absent the occasional enormous crit range, it's not a significant factor.

Similarly, iterative attacks are trivial to a good approximation; you just have to average the attack rolls. Obviously, being more accurate than that is harder, because you have take the frequent auto-hit on the later attacks into account. But this is also a relatively small correction.
 

Misirlou said:
You're right about DR though. I hadn't thought about it much. The thing is, if I recall correctly, DR's tend to be pretty low in 3.5, don't they? A good fighter will often at least overcome the DR, albeit not very efficiently, even with a poor roll.

I still don't see why crits are such a big deal. I posted my argument in more detail a bit further up. Essentially, crit-related effects can be safely ignored, except when your miss range intersects your crit range. I think, absent the occasional enormous crit range, it's not a significant factor.

Similarly, iterative attacks are trivial to a good approximation; you just have to average the attack rolls. Obviously, being more accurate than that is harder, because you have take the frequent auto-hit on the later attacks into account. But this is also a relatively small correction.

Since DR tends to be low, it's usually prudent to simply subtract it from base damage (even though there's really a minimum of 1 point of damage and dX-Y as a result is higher than x/2+.5-Y).

Crits aren't a big deal unless threat ranges are wide. They're a major concern in 3.0, where 9-20 threat ranges are possible; in 3.5 15-20 is the best you're likely to see.

Iterative attacks are not as easy to discount as you assume in your rough calculation. The last iterative attack often hits only on a 20, and the possibility of one of the attacks crossing over from "less than 20 needed" to "20 needed" is quite high.

Here's the thing: a true equation for average damage would have many non-differentiable functions, and this makes it worthless for maximizing directly. But since the damage given 19 to-hit numbers is easy to calculate, it's often best to just pop the relevant information into a spreadsheet and get results. This is really the only good way to do the calculations with all the variables in.

Look at the complexity growing for a simple average damage formula:

A = 1dY+Z

If Z >= 0: A = (Y + 1) / 2 + Z
If -Y < Z < 0: A = (Y + Z)(Y + Z - 1)/(2Y) + 1
If Z <= -Y: A = 1

Adding in DR makes it longer; adding in hit chance and threat range makes it huge. Iterative attacks... let's not go there.
 

Oh, I fully understand the complexity of the problem. I'm just trying to put something together with enough accuracy to be useful at the table.
 

I'm doing all of this without checking my work, so if I err don't be surprised -- just give me the line I screwed up on. :)

CRGreathouse said:
A = 1dY+Z

If Z >= 0: A = (Y + 1) / 2 + Z
If -Y < Z < 0: A = (Y + Z)(Y + Z - 1)/(2Y) + 1
If Z <= -Y: A = 1

So if Z >= -Y:
A = (Y + min(0, Z))(Z + max(0, Z) + Y - 1) / (2Y) + 1

In general, then, A = max(0, (Y + min(0, Z)))(Z + max(0, Z) + Y - 1) / (2Y) + 1

Against DR D/-- (or any unbeatable DR):
A = max(0, max(0, (Y + min(0, Z)))(Z + max(0, Z) + Y - 1) / (2Y) + 1 - D)

With hit chance H (5% to 95%):
A = H max(0, max(0, (Y + min(0, Z)))(Z + max(0, Z) + Y - 1) / (2Y) + 1 - D)

Now it starts to get hard. Critical hits change stratagy when dealing with DR. Adding in threat chance T and critical multiplier M:
A = H(1 - T) max(0, max(0, (Y + min(0, Z)))(Z + max(0, Z) + Y - 1) / (2Y) + 1 - D) + HT max(0, M max(0, (Y + min(0, Z)))(Z + max(0, Z) + Y - 1) / (2Y) + 1 - D)

Actually, the above line isn't strictly correct -- it would give average damage 0 for 1d4/x4 vs. DR 10, when actually the average damage is roughly 1/700 (depending on hit chance). Suggestions here? I guess I need a multidie version of my second equation (quoted above).

In any case, this is just demonstrating how difficult it is to come up with a good formula to maximize. The iterative attacks are by far the hardest part, becasue they really do cause overflow-type errors -- most of the work for the above formula is just covering for corner cases like the oddball above.

Adding PA into these formulae wouldn't be hard, but finding breakpoints would be silly because of the number of cases needed with all the floor functions.
 
Last edited:

Misirlou said:
Oh, I fully understand the complexity of the problem. I'm just trying to put something together with enough accuracy to be useful at the table.

Yep. The thing is, I'm not sure anything more complex than the original formula will be useful at the table, and it does have serious shortcomings -- iterative attacks, in particular, are quite difficult.

I'll try to continue my average damage formula as a demonstration.

Edit: Any thoughts about the critical hit formula, above? I can't think of an easy way to calculate this.
 
Last edited:

As others have pointed out, situations will often dictate different "optimums" than damage per round. However, in the case of optimum power attack calculation, I suspect that approximate accuracy is good enough and that a formula that can be easily calculated in one's head is preferable to a formula that is exactly accurate and takes everything into account.

While one might well be able to come up with a matrix that calculated the optimum power attack for a sixth level fighter with a +1 greatsword, a 16 strength, and weapon specialization standing next to three 23 hit point ogres and which accounted for whether the fighter had cleave and/or great cleave to produce the optimum power attack to drop the highest number of ogres/round, I doubt that it would be something most people could calculate in their head in the amount of time available between ascertaining the relevant tactical situation (which often changes during the round and probably isn't clear until shortly before your initiative) and being told, "Regdar, it's your turn, what will you do?"

Absent a variety of charts (an aquaintance of mine has custom power attack charts for his character in all his various buffed, raging, and unbuffed states) which would allow a quick visual search to take the place of complex calculations, I think an extremely simple formula with only one or two operations is needed.

For instance,
P = (A - T - D + 21)/2
can be simplified to:
P = (C-T)/2
where C is your attack constant (average attack bonus+21-damage--this should be precalculated)

At that point, it's usable by normal people in the time frame allowed by a normal combat.

And, for reference, how would the effect of a wounding weapon usually calculate into this? Obviously, knowing the target's HD is often going to be out of the question so how might one approximate its effect?
 

Remove ads

Top