Skip to content

THAC0 and Attack Rolls

THAC0

THAC0 ("To Hit Armor Class 0") is the number a character, NPC, or monster needs on a d20 to successfully hit a target with Armor Class of 0. THAC0 depends on class and level — see the progression tables.

The number is used to calculate the "to hit" roll for any other AC.

The attack roll

The attack roll is the d20 at the heart of the combat system. The game does it for you behind the scenes:

  1. Subtract the target's AC from the attacker's THAC0 → this is the "to hit" number.
  2. Roll d20.
  3. If the result is equal to or greater than the to-hit number, the attack lands and damage is dealt. Otherwise it misses.

Example: A 3rd-level Fighter has THAC0 18 and attacks a hobgoblin with AC 5. 18 – 5 = 13. The Fighter must roll 13 or higher on the d20 to hit.

Attack rolls cover all attacks — swords, bows, rocks, fists, claws — anything that's trying to land a blow.

Admittedly, a rather draconian system for determining whether your enemies live or die, but not without a certain brand of elegance.

— Volo

Critical hits and misses

  • A natural 20 (the raw d20 result before modifiers) is a critical hit: the attack always lands and damage is doubled.
  • A natural 1 is a critical miss: the attack always misses and the character suffers a time penalty to recover (a delay before they can act again).
  • Critical hits and misses happen regardless of AC — a natural 20 always hits, a natural 1 always misses.

Helmets protect against criticals

Characters wearing helmets (where their class allows it) cannot be the target of a critical hit. For Fighters, Paladins, and other front-line classes a helmet is essentially mandatory.


Source: bg2ee/original_manuals/baldurs_gate_2_ee_mastering_melee_and_magic.pdf — "THAC0", "The Attack Roll", "Critical Hits and Misses".