THAC0 is an acronym standing for "To Hit Armor Class 0". It refers to the roll required for a character to score a hit on a hypothetical opponent with an armor class of zero, which in turn is used to calculate other attack rolls.
THAC0 is associated primarily with Advanced Dungeons & Dragons 2nd edition, and was discontinued in later editions of the game. It is variously pronounced "thack-oh" or "thay-ko"; though former TSR employee Tim Kask preferred the pronunciation "thay-ko".
Prior to the publication of D&D 3rd edition in the year 2000, Dungeons & Dragons used a descending armor class scale, where a lower armor class meant that the character was harder to hit.
Each player character and monster has a statistic known as THAC0, which is calculated based on their level or hit dice. Against an opponent with an armor class of zero, you must roll equal to or above your own THAC0 on a twenty-sided die in order to score a hit. In practice, most opponents do not have an armor class of zero. The target's armor class is subtracted from the attacker's THAC0 when determining a hit.
For example, a character with a THAC0 of 14 must roll between 14 and 20 on a d20 to hit an opponent with AC 0. Against an opponent with AC6, he hits on a roll between 8 and 20 (14 − 6 = 8).
Precursors to THAC0Edit
In the original D&D rulebook Men & Magic (1974), p.190, a chart was provided to determine the roll needed to hit, based on the attacker's level and the target's armor class. A separate chart on page 20 determined monster to-hit values based on their "dice", i.e. hit dice, a concept roughly equivalent to character level. Similar tables for player characters and monsters appeared in the AD&D Dungeon Masters Guide (1e) (1979), p.74-75 and the various Basic/Expert rules sets.
Development of THAC0Edit
In 2017, former TSR employee Tim Kask noted that THAC0 was originally created as an in-house design tool to calculate average hit chances. THAC0 eventually leaked out into published books. though Kask could not recall which writer originally invented THAC0, or who first used it in a sourcebook.
Early use of THAC0Edit
An early use of THAC0 appeared in the Dungeon Masters Guide (1e) (1979), p.197-215, Appendix E: Alphabetical Recapitulation of Monsters. This listed each monster's attack capability under a column called "To Hit A.C. 0", which for convenience gave the roll required for the monster to hit AC 0 in addition to the monster's hit dice. However, the lookup tables on page 75 were the standard method of monster statistics, and the exact term "THAC0" was not used by AD&D 1st edition's core rulebooks.
The abbreviation THAC0 began to gain traction in adventure modules beginning in 1982, seeing use in Frank Mentzer's RPGA adventure R-1 To the Aid of Falx (1982), where it is written THACO (using the letter O rather than the numeral 0). The use of THAC0 would continue through the R-series. The RPGA module series for the D&D Basic game, beginning with Tracy and Laura Hickman's Rahasia, also used THAC0, as did UK2 The Sentinel (1983). THAC0 began appearing in Dragon Magazine in Dragon #92 (Dec 1984), with Jon Mattson's adventure module The Sword of Justice.
AD&D 2nd editionEdit
In Advanced Dungeons & Dragons 2nd edition, THAC0 replaced the to-hit charts as the primary method to determine a hit. These rules are described in Player's Handbook (2e) (1989), p.89 and Player's Handbook (2e revised) (1995), p.119.
The THAC0 system was later supplied as an option in the D&D Rules Compendium, p.8-9, where it is recommended "for experienced players who don't have trouble juggling numbers". An alternative is to pre-calculate and record the attack rolls necessary for ACs from 9 to -5.
Dungeons & Dragons third edition (2000) changed to a more intuitive ascending armor class system, where a higher armor class is better. Characters and monsters now have an attack bonus, which is added to a d20 roll and compared to the target's armor class to determine a hit.
This change eliminated the need for THAC0. All editions of the game since then have continued to use the ascending armor class system.