THAC0, To Hit AC 0, is one of the big mysteries for younger or fresher players of older Dungeons & Dragons editions. It is something that is closely tied to Descending Armor Class, Descending AC, which was a thing in in D&D-versions starting in the 1970ies and going on up until some time in the 1990ies, when Ascending Armor Class became the norm.
Counting Down from 9 or Counting Up from 10
Descending AC feels very weird and un-intuitive at first: The MORE armor you put on, the LOWER your AC becomes. You start at 9 for unarmored, and with every 2 more points of armor you go down to 7, to 5, to 3. Whereas Ascending Armor class adds numbers by exactly the same amount. You start at 10, and with every 2 more points of armor you go up to 12, to 14, to 16. Descending and ascending are exactly the same, only one is counting down from 9 and the other up from 10.
Fight or play?
The existence of this slight difference – counting up or down – creates passionate enemies, who hate the “other” way to do things. Many modern players hate THAC0 and would see it purged, and wish only death and decay on those who defend it. “It makes no sense!” “It is a useless complication!”
Physics and Psychology tell us that where there is force there must be counter-force, and so it happens that with the anger and hate there has also risen a fascination and love of THAC0, and those who would defend it, and in return slander the style of Ascending AC as fit for crybabies with low IQ.
The friends of additions call their enemies vile gatekeepers who need to be kicked out of conventions, while the friends of subtraction call their enemies simpletons and fools who have no place at a “real” table.
Similarly strong emotions are found in many, many, too many topics, most prominently among Apple-Users and their mice that scroll in the wrong direction (or the correct one, depending on your point of view). What can we say, humans like nothing more than to fight and win.
But what if we could, instead, just play together?
To give this wild dream a chance, I shall explain the mystery of Descending Armor Class and THAC0.
So, THAC0, where does it come from?
Old original Dungeons & Dragons had a to-hit-table that told players if their attack hit a certain AC. This original to-hit-table had some bumps and twists, it was not linear. It differed from class to class. Why? Because they had grown historically from gameplay and corrections of imbalances encountered during play. And the tables changed over time, still with different numbers for every class. That means you had to look it up in a table, and it was different for each class.

In the Holmes Basic Edition the table was already pretty regular, and it was already possible to find a THAC0-like number, if one was so inclined, but it was not yet really there. Mostly because it was very unlikely to ever meet anyone with AC 0.

Then Tom Moldvay came around and created B/X, and while he still had tables with odd bumps between level 3 and 4, he already put in the AC Zero, a baseline to hold on to if you ever wanted to calculate to-hit-rolls.


He did not call his system THAC0, but the To-Hit-System was already a meta-view on the old way of tables, a linear progression including the zero that would, in later editions, be named THAC0: To Hit AC Zero.
To repeat that point: THAC0 was a simplification.
You will eventually find the word “THAC0” in both Dungeons & Dragons lines, in AD&D 2nd Edition and in the Rules Cyclopedia that followed Frank Mentzer’s BECMI (which did not yet use the THAC0 concept, but continued to show the zero like Moldvay’s B/X).



“Some experienced players will not want to
have an entire table cluttering up their character
sheets; they’ll just record their characters’
THACO number.”
But what is it?
Essentially THAC0 defines for every character and monster a fixed number that needs to be rolled to hit AC Zero, and this creature would hit AC 1 with 1 number more, AC 2 with 2 numbers more, AC 3 with 3 numbers more, etc.
To wit, a standard 1st level PC had a THAC0 of 19, so he would hit AC 0 on a 19 or a 20.
He would hit AC 1 on 18 or more
AC 2 on 17 or more,
AC 3 on 16 or more (remember? AC 3 in Descending = AC 16 in Ascending)
and so on.
Again, it is the same thing as with Ascending AC that everyone knows nowadays, with the only difference that
- Ascending tells you a target number you have to shoot for on the d20, whereas
- Descending AC does not.
Why does it not tell us? Because it assumed that the player would not know the AC of the opponent. The player would just have a description of the enemy and might assume an AC, but the truth would be something to explore. For the time being, he would just roll a die and say: “I hit AC 5.”
It would fall to the Dungeon Master (the D&D word for a Game Master, Referee, Storyteller, Director or whatever the living hell you want to call it) to ask for damage, or tell the player that no, that would not do. So this person playing the enemies will keep the target number secret until the players deduce it from their hits or misses.
But how would the player know what AC his roll hit?
You know your THAC0. That is easy: As a 1st level character, a beginner, you have a THAC0 of 19. Your STR or DEX score may change that up for the better (lower) or worse (higher).
- But your character will always have the same THAC0 in every fight.
You attack an enemy, and you go ahead and roll a d20.
- THAC0 minus Roll is the AC you hit. That is the normal case, where you do not know the AC of your foe.
- THAC0 minus AC is your target number.
- Roll plus target AC must be THAC0 or better.
Example time:
You are a first level character and your THAC0 is 19.
- You want to attack a foe and roll a 12. 19 minus 12 is 7. You hit AC 7 or weaker. The DM makes a poker face and says: “Not quite.”
- You want to attack a foe with an AC of 5. Subtract 5 from your THAC0 of 19 and you get 14 as your target number. You roll an 8 and miss.
- You want to attack a foe with AC 4. You roll a 14 and add 4 to get 18. You did not quite reach your THAC0 of 19, so you miss narrowly.
Ascending AC and modern post-THAC0
In modern editions of Dungeons & Dragons, you start with an unarmored AC of 10, (or 12 in case of Lamentations of the Flame Princess). You put on leather and go up by 2, or put on chain and go up 4, etc. The AC number is also the target number of the attacker’s roll on a d20.
This, too, is a simplification. A simplification of the simplification.
- THAC0 replaced looking up rows and columns in tables with a subtraction.
- Ascending AC as Target Number does away with arithmetics.
Anyway, so much for the facts of THAC0: It is not the simplest solution in the world, but it is also not the horrible incomprehensible beast some people make it out to be.
TL;DR:
- All you need to remember is your THAC0-Number, and subtract the dice roll, to get the AC you hit.