Advancing Editions – THAC0: Thoroughly Hating Advanced Calculus 0!

So it really is no secret that I hate the THAC0 system with all of my heart. It is without a doubt the absolute worst part of 2nd Edition, and I celebrated at the day of its death.

A few times people have asked me why I hate THAC0 so much. The answer is… a lot of reasons, really.

But mostly, it just sucks.


Once again – I’m drawing heavily on my own memories of 2e, but I do have quite the collection of old sourcebooks. So I’ll be double-checking my facts, but I might remember some things wrong. You never know!


Sir Isaac Newton’s D&D

Let us begin by explaining the THAC0 system. Trust me, you’ll hate it.

THAC0 stands for To Hit Armor Class 0. It varies based on your class and level, and can be modified by item bonuses or other effects. Every time you want to hit an enemy, you have to consult your THAC0… and do a bit of math.

See, your THAC0 is the number you’d need to roll to hit a creature with an AC of 0 (which is good in 2e, higher AC is worse). If you’re a 5th level warrior, your THAC0 is 16. So to hit something with AC 0, you would need to roll a 16 or higher.

Where this gets complicated is when non-AC 0 enemies show up. For those, you have to subtract the creature’s AC from the attacker’s THAC0, with the resulting number being what you need to roll in order to hit that creature.


So, let’s say that you have an enemy with AC 3 and another with AC -3. Remember, the lower AC is better in this system. The AC -3 is a well-armored creature, while the AC 3 creature is less well defended.

When you attack the AC 3 monster, you take your THAC0 (lets say 16 again) and subtract the monster’s AC. The result is a 13, meaning you need to roll a 13 to hit the monster.

When you attack the AC -3 monster, you once again subtract that from your own THAC0. And, of course, subtracting a negative number ends up as just addition. So we have to roll a 19 to hit an AC -3 creature.

Critical Failure

Now, what is the big problem with this system? For one, it is very needlessly complex. Using THAC0 requires the DM to track every character’s THAC0 and re-calculate their needed to hit roll for each monster that appears. As someone who did this, frequently, let me tell you – it is a massive pain.

Theoretically you can always solve this by simply making a table of each character’s needed to hit roll for every possible AC. So each PC would have their “to hit” requirement written out for AC -10, AC -9, AC -8, and so on. But this would need to be completely rewritten every time the character gains a level or otherwise improves their THAC0.


Additionally, this system is very counterintuitive. Literally every core mechanic in the game except AC uses a “higher is better” approach. Hit points? More the merrier. Ability scores? Bigger is better! Saving throws? Roll high or die!

Just to note – proficiency checks and power checks for psions both also used a “roll under” method where lower is better, but both of those are optional rulesets. You could easily have a D&D game without either of those rolls, and in fact most people did.

Additionally, this also becomes a problem with the magic item naming terminology used in D&D. Basically… higher attack rolls and damage rolls are better, so a sword +1 is good because it adds 1 to your attack. But if lower is better for armor, wouldn’t a shield +1 be a cursed item?

Well… no. Because a shield +1 still improves your defense. So even though it has a literal plus sign in the name, in reality the shield decreases your AC by 1. Which is good, remember! And thus a sword -1 or shield -1 will always be negative, cursed items. Simple, I guess.

So lets review – when it comes to my character, I want to always have the highest numbers. Except with AC and THAC0. What purpose does this serve? Why would we use backwards scaling for just one category of the game?


THAC0 Benefits(?)

Zero, actually. But lets not just settle for that, shall we?

So we have THAC0 and lower-is-better AC. What benefits could that have over 5e’s current “roll over your target’s AC” method?


The primary (and only) benefit to this method is that it allows different classes to be rated with different martial combat chances. Basically, a fighter’s THAC0 will always be better than a wizard’s THAC0, reflecting the fighter’s focus on martial skill and the wizard’s lack thereof.

Much like saving throws in our last article, this is ultimately pointless. By attaching Strength and Dexterity to attack rolls, you’ve effectively excluded spellcasting classes from the ranks of martial competence. Could a caster still choose to go the extra mile and become good at fighting? Sure, sure, but they’re going to be sacrificing a lot of their class’s base power by not having the best stats possible in their class’s actual preferred ability scores.

Additionally, it isn’t like wizards are going to outclass fighters… in martial combat, at least. One of these days we’ll have to talk about the power imbalance between fighters and wizards and how those differences were solved, but today is not that day. Instead, let’s simply state that THAC0 was bad and move on.


THAC0 Drawbacks

Or, on second thought, let’s not. Instead, let’s address a common response to my hatred of THAC0 – “aren’t you just bad at math?

Firstly, yes, next question. But to go on, that isn’t really the point here. Instead, the problem is that there’s no point to any of this. Sure, the math is technically easy. And if you’re well prepared enough the in-the-moment work is minimal. Good players will have their THAC0 memorized or written down, and will regularly update it as things change.

So, in theory, you should be able to have an encounter like this:

DM: Alright, roll to hit the goblin (with AC 6). What’s your THAC0?
PC: It’s 16.
DM: Okay, make your roll.
PC: I got a 12.
DM: Perfect, you hit!

Alternatively you can ask for the THAC0 and the roll at the same time, though that risks a relatively minor and easily fixed mix-up. My players, back in the day, quickly got into the habit of always saying THAC0 first and then the actual roll second, but before they acclimated we had a few mix-ups.


Now let’s look at a modern interaction in the same scenario:

DM: Alright, roll to hit the goblin (with AC 11).
PC: Damn, I got a 10.
DM: Too bad, the goblin carries on his merry way.

And then sometimes you’ll get a little added bit of:

PC 2: I’ve got that new aura this level, did you add an extra +1?
PC: Oh, then I got an 11!
DM: In that case, you hit.

See how easy that is? Even if you ignore the inconsistency of being the only “lower-is-better” aspect in the game, even if you ignore the extra math necessary to compute someone’s to-hit goal against every individual creature, even if you remove all of the needlessly complex processes… THAC0 still sucks for the simple reason that it asks two pieces of info from an attacking PC, while the current system only asks for one.

Literally speaking, the current system asks for half the information of THAC0 and yet works equally well.


To Hit A Conclusion

But we aren’t quite done just yet. As a system, THAC0 represents the single largest hurdle for getting a new player interested in D&D. And that is its biggest failing.

When I explain Dungeons and Dragons to someone unfamiliar with it, or play a game with a new player, THAC0 is the point where that new player gets lost. Everything else in the system is so intuitive.

Oh, more hit points is better because then I won’t die easily!” and “Of course I want the one that deals the most damage!” are very intuitive statements. Very few things go by a lower-is-better system. We, as humans, tend to assume that higher numbers are stronger than lower ones. This only breaks down in list formats, where being “number 1” isn’t so much about the number one as it is about being the first on the list (which is another interesting thing about humans – take two identical ideas and release one first and everyone will, without a doubt, claim that one as the superior simply because they heard it first).


So, when I explain D&D to a newcomer, the last thing I want to do is get into THAC0. It’s a waste of my time and theirs. I am so glad that it’s gone, and I hope it never, ever returns.

Anyway, no teaser for next time on this one, sadly. We’ll have to see what weirdness randomly surfaces in my brain next.

Thanks for reading!

Leave a Reply