Skip to content

I thought I understood thac0

Hello everyone. Last night I finally had some time to fire up BG2EE ans embark on my journey.

I fiddled around a bit with the options and turned on hit rolls. I then noticed that when Minsc hit with his twohanded sword his roll was +5. I checked his thac0 and it was 13 iirc. Why then is his roll only +5? Shouldn't be something like +7and then some for strength and specilization?

Cheers everyone!
«1

Comments

  • EmptinessEmptiness Member Posts: 238
    edited December 2013
    If I understand correctly, the +5 you are seeing there is the correction made to bring the target's actual AC to AC0, so that it can then be compared with your THAC0 to see if you hit. In this case, the target's AC would have been 5, so your chance to hit that target is greater than your THAC0 by 5, thus +5. Your character's combat ability (as determined by class and level), strength adjustment, and weapon proficiencies are already factored in to your THAC0, and so don't appear directly as modifiers to the to hit roll.

    In the case of Minsc from your example, he will hit when his to hit roll + the AC adjustment for the target is 13 or higher.
  • MathsorcererMathsorcerer Member Posts: 3,037
    The to hit roll you see is a random d20 roll followed by all modifiers for strength, specialization, weapon bonuses, class/kit bonuses, etc. The final result is checked against (thac0 - opponent AC); if the final to hit roll is greater than or equal to this value then the target is hit and if not then the attack is a miss.
  • RyuukaRyuuka Member Posts: 20
    Thanks! Now I get it :) I think ;p
    Pantalion said:

    "I thought I understood thac0"

    That was your first mistake.

    Haha yeah :D

  • scriverscriver Member Posts: 2,072
    And here we have the big issue with THAC0. Even after you've understood it on the theoretical level, the actual execution just keeps confusing the fuck out of people.
  • KaltzorKaltzor Member Posts: 1,050
    edited December 2013
    The game seems to love putting every piece of + to hit rolls into your THAC0... So rahter than seeing a +1 on your hit rolls with a magical +1 weapon, you're instead seeing a -1 on your THAC0 (and since you need to roll over your THAC0 to hit, lower is better for it).

    The bonus or penalty on the hit roll you see is just your targets AC affecting the roll.
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    edited December 2013
    THAC0 is not all that difficult to understand, but does require that you do some research into how a character's THAC0 is calculated.

    I'll take an example from BG2:EE, since I'm playing that right now.

    In RE: Compiled Character Tables, Table 38, Player's Handbook. The pre-calculated THAC0 for a level 7 warrior class, which is what Minsc is, should be 14.

    That's what it is in-game. All bonuses are then subtracted from that.

    In RE: Compiled Character Tables, Table 1, Player's Handbook. Strength totals +2 for a character with 18/51 to 18/99, which leaves him at 12.

    In RE: Proficiency from in-game. Proficiency is then subtracted, which is +1 for two slots. That puts him on 11.

    Since most of the Mephits are AC0, AC4 with a bonus of +4 from from Dexterity. You need to roll 11 or higher (I'm not sure if this is actually a bug or not, but it still seems to be determined by the pre-bonus score of 14; I've rolled several 12s and 13s and missed in a test I just did).

    The AC for the standard goblin in dungeon at the start of the game is 7. So if you assume there is a bug, then it is 14-7 (Base THAC0 - AC of creature) = 7. Roll 7 or greater on a 1d20 and you hit.
  • EmptinessEmptiness Member Posts: 238

    The to hit roll you see is a random d20 roll followed by all modifiers for strength, specialization, weapon bonuses, class/kit bonuses, etc. The final result is checked against (thac0 - opponent AC); if the final to hit roll is greater than or equal to this value then the target is hit and if not then the attack is a miss.

    That doesn't make sense. If the displayed number is a d20 roll + a number that is the sum of all the character's to hit modifiers, then one would expect to see the same number when attacking any enemy (when all other factors are equal). I just attacked two different enemies with a character, and I'm getting a different number displayed. For a Kobold, I'm seeing d20 + 5; for a Kobold Captain, I'm seeing d20 - 3. This is the same character using the same weapon to attack, at the same level, and with no change in modifiers between attacking the two enemies.

    The character's modifiers are -1 (Pale Green Ioun Stone), -2 (Dex; it is a ranged weapon), -2 (bonus from 10 levels of Swashbuckler), -1 (+1 weapon). If the game was displaying a number that represented this character's combined modifiers I'd expect to see +6, which is neither +5 nor -3.
  • the_spyderthe_spyder Member Posts: 5,018
    edited December 2013
    THACO = What you need to roll To Hit an Armor Class of Zero (0).

    What this means quite simply is this number is what you need to roll (the higher the better) on 1-20 in order to hit your opponent “If their AC is ZERO”. So a generic fighter with a THAC0 of 15 (No STR Bonus, specialization or magical weapons) means that if he is fighting a monster who has an Armor Class of Zero needs to roll a 15 or higher on Die 20. Now, that same fighter gets hit with a Strength spell (raising their Strength to 18/50) they get +1 to their Role, thus REDUCING their THAC0 to 14 (15-1 for the STR bonus). They also pick up a +1 Sword and their THAC0 goes down another making it 13 (15-1 for STR and -1 for Magical sword). Basically any Plus Adjustment to your THAC0 ‘Reduces’ the base role you need to hit Armor Class zero. This is because those plusses are ADDED to your base role and reduces what that base role needs to be to actually hit that 15 on 1-20 (13 roll, plus 1 for strength, plus another 1 for magic sword equals the 15 you need THAC0). Your need to hit 15 doesn’t change, but what the base unadjusted roll needs does go down with every bonus you pick up.

    What you see on your character spreadsheet is the unadjusted roll you need. The Adjustments (being plusses to whatever you roll) are ADDED by the computer to determine if you hit that magical 15 that you need to hit an armor class of Zero. Thus an unadjusted roll of 13 for this Fighter (that you might see on your character sheet when equipped with the magic sword and the STR bonus from the spell) gets a PLUS 1 for STR and a Plus 1 for Magical sword, bringing the total to 15 and making the roll a HIT. Remove those influences and your THAC0 will go back to 15.

    Now, this can be confusing if your opponent doesn’t have an Armor Class of Zero. That same fighter (with a THAC0 of 15) who happens to face a goblin with an Armor Class of 4 will hit on a roll of 11 or higher. This represents the fact that their armor class is actually 4 points worse than 0 (0 + 4 = 4) and so you hit them 4 points more easily. Likewise, if you are facing a Dragon with an Armor class of -5, that same Fighter will need a roll of 20 (15 THAC0 + 5 because the armor is +5 better than zero) or higher on 1-20. Be aware that if that same Dragon had an Armor Class of -6, the fighter would NOT need a roll of 21 because a roll of 20 hits anything regardless of your skill.

    Hope this helps people.
  • EmptinessEmptiness Member Posts: 238
    That's an excellent explanation, but it does have one possible point of confusion:

    What you see on your character spreadsheet is the unadjusted roll you need.

    The THAC0 displayed on the character sheet is not unadjusted*. (The unadjusted THAC0 is displayed, as part of the THAC0 breakdown, to the right of the THAC0. It is called "Base THAC0", and is determined by class and level. That value is unadjusted, but it is not the character's THAC0. THAC0 is displayed (on the character record screen) just to the right of race/alignment/sex, in a spiky rectangle.) One can confirm that the THAC0 is an adjusted figure by applying or removing any item or effect that would adjust the character's THAC0 and noting that the THAC0 changes.

    (* It will be equal to the unadjusted value in the special circumstance where a character has no to hit adjustments to apply, but this is a case of a +/- 0 adjustment rather than being actually unadjusted.)
  • the_spyderthe_spyder Member Posts: 5,018
    @Emptiness - I think it is a matter of wording. My statement wasn't "Unadjusted THAC0", it was unadjusted roll. That is the unadjusted number on the twenty sided die that you need in order for the attack to hit. Either that or we are talking about two different things.

    It actually makes things more confusing that way because in the example I gave, the Unadjusted THAC0 for my Fighter is 15. The unadjusted roll that hits is 13. The difference between the two is the adjustments, but depending on your point of view, they are either positive or negative. An unadjusted throw of 13 needs adjustments of +2 (in whatever form) in order to hit an unadjusted THAC0 of 15.

    I'm going to stop now or I will confuse myself now. But thanks for bringing that up.
  • MathsorcererMathsorcerer Member Posts: 3,037
    No, it makes perfect sense. Be aware that if you are "too close" to an enemy with a ranged weapon that you will suffer a -8 penalty to your thac0; this will account for the difference between the +5 versus the kobold and the -3 when attacking the captain. There is no "close combat" or "point blank shot" feat in this game engine to improve close combat ranged attacks.

  • WilburWilbur Member Posts: 1,173
    THAC0 is like a woman. You don't understand it.
  • the_spyderthe_spyder Member Posts: 5,018
    Wilbur said:

    THAC0 is like a woman. You don't understand it.

    Nah. I understand THAC0 just fine. Women? They don't even understand themselves.
  • EmptinessEmptiness Member Posts: 238
    @the_spyder - Ah, I missed the "unadjusted roll" part. I see that we are saying the same thing.

    @Mathsorcerer - Same character attacking with same weapon against two other enemies:
    Goblin Commando: Attack roll (d20) + 8
    Kobold Commando: Attack roll (d20) + 6

    Both attacks were performed at extreme range (ie the character had to walk forward to attack, and then stopped and fired as soon as the distance decreased to maximum). These attacks were with a +1 bolt (everything else was as before). The modifier total displayed on the character record is -7, which doesn't match either the 8 or the 6 seen in the attack feedback text.
  • SchneidendSchneidend Member Posts: 3,190
    *Reads thread, shaking head the entire time.*

    By the Nine. Thank the gods for 3E and above.
  • MathsorcererMathsorcerer Member Posts: 3,037
    Kobold Commando is wearing no armor and is at +6. Goblin Commando is wearing leather armor, which suffers a -2 penalty versus missile weapons, hence the +8.

    Can you upload a screenshot of your character record? If so, we can look at the modifiers which are adding to the -7 you are seeing. The frustrating thing is this: on the character record page the thac0 number will start at the base (which depends upon the character's level and class) and then all the modifiers, whether due to strength, dexterity, class, kit, specialization/mastery, or weapon bonuses will *subtract* from the base to arrive at the final modified thac0. When you attack something, all those bonuses--the ones which are displayed as negative numbers on the record page--will be *added* to the random roll. No, I didn't design it that way but it is internally self-consistent.

    Consider. I just started a new game and chose the default level 7 fighter. His base thac0 is 14, then -1 for strength, -1 for extra strength, and -3 because he has grandmastery in long sword; this brings his modified thac0 down to a 9. When he attacks the jailkeep golem--which never fights back, by the way--he rolls to hit and it shows up as "Abdel: Attack Roll 11 + 5 = 16: Hit". The +5 is coming from the very same strength, extra strength, and grandmastery which were listed as -5 on the record page.

    Which weapon were you using? With that, I can probably figure out the discrepancy between the -7 on the record page and the +6 you are seeing when you attack the kobold commando.
  • MathsorcererMathsorcerer Member Posts: 3,037
    At the risk of double-posting, let's analyze what is really going on with the thac0 and the to hit roll.
    Modified thac0 - AC = the d20 roll needed to hit an opponent
    (base thac0 - modifiers) - AC = the d20 roll needed to hit an opponent

    If the random roll on a d20 >= the roll needed to hit then you hit the opponent.
    random d20 roll >= (base thac0 - modifiers) - AC
    random d20 roll + modifiers + AC >= base thac0 --> as long as this is a true statement you will hit the opponent.

    You won't normally see the AC of your opponent but you will see the random d20 roll and your modifiers. In my example, the jailkeep golem has an AC of 7 so as long as d20 + 5 + 7 >= 14 the default fighter will hit, which reduces to d20 >= 2, so he will miss only on a 1. Of course, his only longsword is normal right now so he'll never do any damage.....
  • EmptinessEmptiness Member Posts: 238
    I did some testing of my own and I see that you are correct. Specifically, I made a L1 Fighter in BG:EE with all 10's for stats and 2 proficiency points in longsword. Attacking a Warden in Candlekeep with a Longsword shows +0, with a Ninjato shows -3, with a Shortsword shows -1, and with a Quarterstaff shows -2. If I were correct then the Longsword and Ninjato would both show the same bonus (as they are both slashing weapons attacking the same AC target) even though they have different to hit modifiers (-1 for the Longsword, +2 for the Ninjato due to non-proficiency).

    It is unfortunate that this is how the attack feedback text works, because it effectively conveys no information to the player. The only way to reliably interpret the number displayed is to already know all the factors affecting the chance to hit, including the enemy's AC versus your attack type. (If you don't know that AC then you can't calculate it with certainty, even if you think you know all the modifiers affecting the roll, because there will remain the possibility that some effect is applying a modifier you don't know about.) If it worked the way I thought it did then you'd be able to derive the enemy's AC easily, and it would be possible to determine which damage type an opponent was most vulnerable to without other factors like weapon proficiency or strength obfuscating matters.

    Oh well.

    Thanks for helping me to see that I was wrong.
  • the_spyderthe_spyder Member Posts: 5,018

    *Reads thread, shaking head the entire time.*

    By the Nine. Thank the gods for 3E and above.

    LOL. I feel I might be in the minority here, but I actually like the 2E/Advanced To Hit system far better than the 3E.

    It makes sense for me because I look at the roll versus the THAC0. What I mean by this is, I roll the dice and whatever I get receives a bonus for STR or Magic or Specialization or whatever. That Roll PLUS the bonuses are then compared to the THAC0 (adjusted up or down for the various armor values) and Hey, presto. So it is Roll plus bonuses. When I think about it that way it is simple. Ok, so maybe I am weird.
  • MathsorcererMathsorcerer Member Posts: 3,037
    edited December 2013
    Emptiness said:

    Thanks for helping me to see that I was wrong.

    No worries. Let us *not* discuss all the times I have been wrong about something, okay?

    @the_spyder don't take it personally--I agreed that you are weird. That simply means you are in good company here.
  • EmptinessEmptiness Member Posts: 238
    edited December 2013
    The confusing and redundant aspect of THAC0 is that it is an intermediary step. The simplest way for it to work is to have no such thing as base THAC0, but rather have your class and level provide a to hit bonus that gets added in with the other to hit modifiers. Then you have AC start at 10 and go up instead of going down. This results in d20 + modifiers which must equal or exceed target AC. Later versions of D&D work this way and calculating hits is much less confusing as a result.
  • MathsorcererMathsorcerer Member Posts: 3,037
    Many people really like the (BAB + modifiers) version of to hit rolls and AC which exist in later editions of the game. It took me a while to get used to that system in IWD2--"*gasp* My AC is 13?! What the--?! Oh.....okay."

    I am simply as old as dirt and got used to 2nd edition thac0 back in 1982.
  • the_spyderthe_spyder Member Posts: 5,018
    What I don't like about the 3E and beyond systems is that it is so open ended and makes for ridiculous Armor Classes (54 +) and ludicrous BAB bonuses. It just seems anti-intuitive that if I am a 400 lb meat sack in a full suit of armor the size of a house and you can't be hit??? WTH???

    But then I have a huge problem with the whole 'Add points to stats as you level up which, as a human, can go above and beyond Titan strength'. It's a whole thing. Or maybe I'm old.
  • Troodon80Troodon80 Member, Developer Posts: 4,110

    Basically any Plus Adjustment to your THAC0 ‘Reduces’ the base role you need to hit Armor Class zero.

    I think I'm seeing a bug where the Base THAC0 is being used instead of the THAC0 with modifiers applied. I'll need to dig into this and find out.
  • ZarakinthishZarakinthish Member Posts: 214
    I remember when I first started out playing with my first gaming group. They were still playing 1st edition AD&D. I distinctly remember us using what amounted to a slide rule. All of us could figure it out without it, but it certainly sped up the game.
  • mylegbigmylegbig Member Posts: 292

    THACO = What you need to roll To Hit an Armor Class of Zero (0).

    What this means quite simply is this number is what you need to roll (the higher the better) on 1-20 in order to hit your opponent “If their AC is ZERO”. So a generic fighter with a THAC0 of 15 (No STR Bonus, specialization or magical weapons) means that if he is fighting a monster who has an Armor Class of Zero needs to roll a 15 or higher on Die 20. Now, that same fighter gets hit with a Strength spell (raising their Strength to 18/50) they get +1 to their Role, thus REDUCING their THAC0 to 14 (15-1 for the STR bonus). They also pick up a +1 Sword and their THAC0 goes down another making it 13 (15-1 for STR and -1 for Magical sword). Basically any Plus Adjustment to your THAC0 ‘Reduces’ the base role you need to hit Armor Class zero. This is because those plusses are ADDED to your base role and reduces what that base role needs to be to actually hit that 15 on 1-20 (13 roll, plus 1 for strength, plus another 1 for magic sword equals the 15 you need THAC0). Your need to hit 15 doesn’t change, but what the base unadjusted roll needs does go down with every bonus you pick up.

    What you see on your character spreadsheet is the unadjusted roll you need. The Adjustments (being plusses to whatever you roll) are ADDED by the computer to determine if you hit that magical 15 that you need to hit an armor class of Zero. Thus an unadjusted roll of 13 for this Fighter (that you might see on your character sheet when equipped with the magic sword and the STR bonus from the spell) gets a PLUS 1 for STR and a Plus 1 for Magical sword, bringing the total to 15 and making the roll a HIT. Remove those influences and your THAC0 will go back to 15.

    Now, this can be confusing if your opponent doesn’t have an Armor Class of Zero. That same fighter (with a THAC0 of 15) who happens to face a goblin with an Armor Class of 4 will hit on a roll of 11 or higher. This represents the fact that their armor class is actually 4 points worse than 0 (0 + 4 = 4) and so you hit them 4 points more easily. Likewise, if you are facing a Dragon with an Armor class of -5, that same Fighter will need a roll of 20 (15 THAC0 + 5 because the armor is +5 better than zero) or higher on 1-20. Be aware that if that same Dragon had an Armor Class of -6, the fighter would NOT need a roll of 21 because a roll of 20 hits anything regardless of your skill.

    Hope this helps people.

    Definitely helped me. Finally, after years of playing this game I know what this all means besides: low AC and THAC0 good.

  • GamingFreakGamingFreak Member Posts: 639
    thac0 is a complicated mistress, especially when you start getting thac0 in the negatives and your opponents get AC in the negatives. Then that shit just gets insane.
  • FinneousPJFinneousPJ Member Posts: 6,455

    What I don't like about the 3E and beyond systems is that it is so open ended and makes for ridiculous Armor Classes (54 +) and ludicrous BAB bonuses. It just seems anti-intuitive that if I am a 400 lb meat sack in a full suit of armor the size of a house and you can't be hit??? WTH???

    But then I have a huge problem with the whole 'Add points to stats as you level up which, as a human, can go above and beyond Titan strength'. It's a whole thing. Or maybe I'm old.

    That same "problem" exists in 2nd ed, too. A berserker in massive armour is the hardest thing to hit.
  • scriverscriver Member Posts: 2,072
    In many aspects DnD doesn't work with "to hit" as much as it does "to hurt". So you're not unable to hit the giant armoured blob, you're just unable to hit him well enough and your blows keep glancing off the armour.
Sign In or Register to comment.