Saturday, October 1, 2011

THAC0 Explained

Advanced Dungeons & Dragons 2nd Edition (1989) is often described as too complex, especially when it comes to the 'dreaded' THAC0 (To Hit Armor Class 0). This game mechanic is considered easy to demonstrate, yet difficult to describe. While this mathematical formula is a bit abstract, I will attempt to teach THAC0 in a way that anyone can understand (theoretically).

Like the modern d20 System D&D (3rd and 4th Edition D&D), when you want to attack something in the Advanced D&D 2nd Edition game you roll a d20 (a 20-sided die).

But first, we need a target number (the number you need to roll on a d20 to successfully hit a monster).

When you want to attack an AD&D 2nd Edition monster, you look at your character sheet and note your characters THAC0. Lets assume that you just started playing AD&D 2E and are at 1st Level. In the AD&D 2E game, all 1st level characters start with a THAC0 of 20 (the lower your characters THAC0, the better; a 19 THAC0 makes you better at attacking than a THAC0 of 20 does).

Next, take note of the monsters Armor Class (AC). In AD&D 2E, AC runs from 10 (the worst armor class) all the way to -10 (the best AC). So a creature with an AC of 0 (zero) would be right in the middle range of AC. A creature with an AC of 10 would not have any armor at all. A creature with an AC of -10 would be nearly impossible to hit successfully.

Armor Class is not an indication of a creatures literal 'suit of armor,' being rather an indication of how hard it would be for your character to successfully strike (hit) the creature. Note: Some Dungeon Masters won't tell you what the AC of a monster is, and will simply tell you if you hit or miss the creature (thus maintaining mystery).

Let's attack (and attempt to hit) a Gelatinous Cube.

Take a look at it's monster stats (click the image for a larger view, if needed):

You will note that it's AC is 8. Your 1st level character has a THAC0 of 20. In order to calculate the target number you need to roll on a d20 to hit the beast, you will need to subtract the Gelatinous Cube's AC from your THAC0 (20 minus 8). 20 - 8 = 12. So you now know that you need to roll a 12 or higher on the d20 to successfully make a hit.

Yes, it's really that simple! But there is a little bit more to it than that.

For instance, if the creature you're attacking has a negative AC (for example, a -2 AC) you would then add this number to your THAC0 before calculating the target number. If your THAC0 is a 15, you would then have a new THAC0 of 17 when attacking a -2 creature.

The weapon you're using may have a modifier (most weapons have a modifier). Lets assume that the sword you're using is well crafted, and has a +3 modifier (this attack-roll-modifying-number helps you to hit targets). So subtract the swords +3 modifier from your THAC0 of 17; which is now a 14 (15 THAC0 vs. -2 AC = 17 THAC0 - +3 modifier = Target Number 14), so you need to roll a 14 or higher on a d20 to hit the beast. Note: there are also other types of modifiers that can come into play.

For example, lets assume your character (THAC0 15) is attacking a -2 AC monster, and with the +3 sword you're using your THAC0 is a 12. Since this monsters AC is -2, you add it to your THAC0; you have now calculated that the target number is 14 (THAC0 15 - +3 sword modifier = THAC0 12 vs. AC -2 = target number of 14).

Remember to add a targets negative AC number to your THAC0 as opposed to subtracting a targets positive AC number from your THAC0 when calculating the target number you need to equal or beat in order to hit.

When you hit, you then roll for damage according to the weapon you're using (for example, if you attacked with a dagger, you would roll a d4 to determine how much damage you deal). Each weapon or spell that you can attack with will list the type of dice you use when rolling for damage.

Another way to determine if your character hits a creature is to roll a d20, and add the creatures AC to your THAC0. If the total is equal to or greater than your THAC0, you hit. For example, lets say you're attacking an Orc. You roll a d20 and get a 12. Lets assume your THAC0 is 15. The Orc has an AC of 4 that you add to your attack roll of 12 and thus calculate a 16; a 16 is equal to or greater than your THAC0, so you hit!

Hope this helps to dispel the myth that THAC0 is extremely difficult to comprehend. In actual fact, 2nd Edition AD&D's THAC0 and 3rd/4th Edition D&D's 'd20 System,' are mathematically equivalent; the former using descending AC and the latter using ascending AC, but both reaching the same mathematical conclusion.


  1. Except that 2nd edition does not allow for armor better than -10.

    Masterful 3.5 Edition is simple, logical, and allows a ceiling of infinite armor rating.

  2. Tks a lot. All the explanations i've read about thac0 simply FORGET to mention that, after all calculations to know if you hit the opponent, you have to roll dice AGAIN to calculate damage. Really. They forget. Indeed I haven't ever played D&D, but I'm playing Baldur's Gate and wanted to understand the workings. Tks for mentioning the damage roll.

  3. I was using a THACO before second edition... it was just easier than listing the To Hits for each AC..

  4. I always liked the quirks of the old AD&D system. There's no problem using a THACO system or the AC tables which can go beyond -10. The system worked well enough.

    Looking at the AC for a Red Chromatic Dragon you can see that the last age category has AC -11.

    I think the problem with people and the rules is they use them too rigidly. Why not ignore various restrictions if you wish?

  5. That's fantastic. simply the best explination about THAC0 i've heard yet. thank you very much.

  6. The easiest way to explain THAC0 as a single formula is this:

    THAC0 - (d20 roll + mods) = AC hit

    Anything with an AC at or worse than that is hit, roll damage.

    It keeps the modifiers with the same sign regardless of whether it's the attack roll or the damage roll, that is, a +3 modifier is added to the d20 roll and added to damage die roll (subtracting a bonus is counterintuitive, no matter how simple the actual calculation is).

    It's also the simplest one line algebraic formula for it I've ever seen while keeping the players' stuff on the players' side and the DM's stuff on the DM's side. Explanations that require the player to know the target AC are poorer, as that's the sort of thing many (if not most) DMs don't want to give out.

    In practice, though, players rarely use any actually formula. From an algebraic standpoint, the negative sign can be distributed to the d20 and the modifiers, and the addition of the negative numbers can be done in any order (subtraction is really adding a negative number, and addition is commutative). Which is why many players usually pre-calculate their modified THAC0 by subtracting the modifiers (which don't usually change), and then just subtract the d20 from the modified THAC0. It's mathematically identical, and may be a bit quicker at the table, but it's not nearly as elegant to explain.

  7. I very much desire to frame this and place it above my mantle. Wait, I don't have a mantle, Argh!