Reconciling THAC0, Target 20, and More!
I’m annoyed at people who are uppity about THAC0 and say something like, “It’s just simple subtraction!” However, it’s not for the reason you might think. Like yeah, I don’t use THAC0 because it’s kinda annoying and introduces a wider range of armor class values than I care to use. But the reason it bothers me is because you don’t have to read it as subtraction at all. It’s much easier to read it as an inverted attack roll, where you roll greater than your attack value and use your target’s armor class as a “bonus”.
It’s just algebra. The typical formula below:
- d20 ≥ THAC0 - AC
- d20 + AC ≥ THAC0
And that’s all there is to it (or, at least, all there should be to it).
What got me thinking about this was Delta’s Target 20 house rule, where you roll d20 plus your fighter level plus the target’s AC, attempting to roll greater than or equal to 20. This is basically the same thing as THAC0 except with separate attack bonuses, which is to say that both of the typical D&D combat methods— ascending AC and THAC0—can be read as abstractions of Target 20 (so long as you ignore the specificity that Target 20 uses fighter levels).
- Target 20: d20 + AB + AC ≥ 20
- Classic: d20 ≥ AS, where AS = 20 - AB - AC
- THAC0: d20 + AC ≥ TH, where TH = 20 - AB
- Modern: d20 + AB ≥ AAC, where AAC = 20 - AC
This holds true for both Advanced and Original/Basic D&D, so long as for the latter you interpret characters as having a base attack bonus of +1 rather than +0. Not only is this simpler than the typical common wisdom that you subtract from 19 for O/BD&D, but it aligns better with the expectations of that system—especially if you rely on one’s hit dice as an approximation of their attack bonus (as per Necropraxis). Therefore, rather than reading AD&D as having different armor class values than O/BD&D, you can read it as having a different progression for attack bonuses.
To this end, I made charts of attack bonuses for fighters and monsters based on O/BD&D, AD&D, and Necropraxis’ rationalized hit dice.
Fighter Attack Bonuses
|0||+1 (?)||+0||+1 (?)1|
Monster Attack Bonuses
|1/2 d||+1||+0||+0 (?)|
The values for O/BD&D are different from what appear in Fantastic Medieval Campaigns as well as in Old School Essentials, because of my reasoning above—still, I won’t change the FMC values because starting from +0 is more convenient when working from the original rules as written. After all, I would refactor a lot of math in FMC if I gave myself the freedom to do so, but it’s not my place—the best I can do is offer breadcrumbs in the optional rules section.
Assuming that a “zeroth level fighter” is, really, a non-fighter and (by extension) regular HD 1d figure. ↩︎