The inconsistency of die mechanics in AD&D is often cited as one of the more confusing parts of the game. Putting aside the cacophony of die types (death to the percentile roll), the main issue is roll-under vs roll-over and where the modifier goes. This can seem arbitrary on first glance, but there is some consistency. Here are (most of) the rolls one can make, the ‘goal’ of that roll, and what’s being modified:
|
Modifier for… |
Attempting to… |
High or Low |
Modifying |
|
Saving Throw |
Beat a Static Value |
High |
Roll |
|
Surprise |
Beat a Static Value |
High |
Roll |
|
Attack Roll |
Beat a Static Value |
High |
Roll |
|
Damage |
Get a High Number |
High |
Roll |
|
Reaction |
Place on a Spectrum |
High (if you fix it) |
Roll |
|
Initiative |
Get a Low Number |
Low |
Roll |
|
Nonweapon Prof. |
Beat a Static Value |
Low |
Ability Score |
|
Thieving Skill |
Beat a Static Value |
Low |
Thieving Skill Score |
|
Morale |
Beat a Static Value |
Low |
Morale Rating |
Note: The assumption in this breakdown is that we’re gunning for the ‘desirable’ result for the PC.
You can see that we’re mostly trying to beat a value, whether that number is based on rolled attributes, level-based tables, more-than-three, or whatever number THAC0 spits out (depending on how one uses THAC0). Damage and Initiative are just seeking straight-up results from the dice. Reaction is our outlier, as it’s used to determine the temperature of the NPCs.
There’s correlation here: you add the modifier to the roll if rolling high, and you add the modifier to a static value if rolling low. Initiative is the weirdo, being the only time you modify the roll while also trying to roll low.
As I’ve made clear in previous discussions, I’m in favor of making everything into a roll-under mechanic. This chart shows that in order to do that, I’ll need to add modifiers to the values rather than the rolls. We’ve already got three rolls with that setup (NWP, Thieving Skills, and Morale), so let’s do the rest.
1. Saving Throw
This is already done. See Saving Throws – Part 2 for my solution, which is to simply invert the values on the 1–20 scale.
2. Surprise
Surprise occurs on a roll of 1, 2, or 3 on a d10. That can be swapped to be a roll of 8, 9, or 10 on a d10, meaning I can make it a Surprise ‘Score’ of 7. Like an ability check, rolling equal to or below your Surprise score means you pass the check and are not surprised. Any modifiers raise or lower this score.
I’ll need to come back to Surprise another day, because there is much more to investigate here, but this will serve for now.
3. Attack Roll
Now here’s a difficult problem. In a prior post (To Hit Descending AC), I suggested a solution for a roll-under mechanic: Add negative modifiers to the roll. That works, but I’m abandoning the idea. No matter how cogent my arguments for why negative modifiers are fine, they still are a bit lame and confusing. Positive modifiers simply say “bonus” without the need for explanation, whereas negative modifiers say “you’re getting the shaft”. Pair that with the simplicity of addition’s commutative nature, and I’m hard pressed to keep this idea. But if it’s getting scrapped, then what’s the solution we’re led to based on our discussion here?
Attack Rolls are checks: you’re attempting to beat the static value of the monster’s AC. All other editions of 20th Century D&D gave you a table, wherein you could find this static value based on the monster’s AC and the player’s level and class. 2e provided a hack to find this static value by subtracting AC from an entirely new table, but this time with a value that could be slapped onto the character sheet. In both cases, the number was derived from AC rather than being the AC itself. This adds complication upon complication, as we’re looking up (or transmuting) a number based on another number. 21st Century D&D solves this problem by simply having you beat the monster’s AC directly; it’s a more elegant method and I think worth using.
How do you do this if you’re attempting to retain descending AC? I’m led to an odd solution, but one which I can’t help but like: Add the modifiers to the monster’s AC.
d20 ≤ AC + Attack mods
And if I adjust the minuses to pluses from the previous post on attack rolls, here’s the bonuses:
|
Group |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
|
Warrior |
+1 |
+2 |
+3 |
+4 |
+5 |
+6 |
+7 |
+8 |
+9 |
+10 |
+11 |
+12 |
+13 |
+14 |
+15 |
+16 |
+17 |
+18 |
+19 |
+20 |
|
Priest |
+1 |
+1 |
+1 |
+3 |
+3 |
+3 |
+5 |
+5 |
+5 |
+7 |
+7 |
+7 |
+9 |
+9 |
+9 |
+11 |
+11 |
+11 |
+13 |
+13 |
|
Rogue |
+1 |
+1 |
+2 |
+2 |
+3 |
+3 |
+4 |
+4 |
+5 |
+5 |
+6 |
+6 |
+7 |
+7 |
+8 |
+8 |
+9 |
+9 |
+10 |
+10 |
|
Wizard |
+1 |
+1 |
+1 |
+2 |
+2 |
+2 |
+3 |
+3 |
+3 |
+4 |
+4 |
+4 |
+5 |
+5 |
+5 |
+6 |
+6 |
+6 |
+7 |
+7 |
Here’s how I’m thinking that would look:
DM: “Fighter, the goblin in front of you has a nasty
looking short sword and he’s wearing fetid hide armor. He waves the sword at
you and yells something unintelligible. Thief, you see all this from your perch
on the ledge above.” (The DM sees that the goblin’s AC is 6.)
Fighter: “He offends me. I take a swing at him.”
Thief: “Same. I’ll pepper him with arrows.”
DM: “Roll initiative.”
The roll results in Fighter going first, the goblin second, and Thief last.
DM: “Fighter, you’re level 4 now, so a +4 Attack Bonus?” (The DM adds
4 to the goblin’s AC, now equaling 10.)
Fighter: “+5! Remember I stole that magical sword.”
DM: “Right, how could I forget about your stolen sword?” (Another +1
added by the DM; the goblin’s AC is now 11. This will remain the goblin’s AC against
Fighter unless circumstances change during the fight.)
Fighter rolls a 5 on the Attack Roll, easily beating the monster’s AC. The
goblin takes some damage, but not enough to die.
DM: “He’s bleeding, but that doesn’t stop him from stabbing at you,
Fighter. What’s your AC?”
Fighter: “Ugh, 5.” (The goblin has a +1 Attack Bonus, so the DM needs
to roll against a modified AC of 6 to hit Fighter. The DM rolls a 7: a miss.)
DM: “He whiffed, stumbling as he thrusts his blade at you. Thief, you’re
up. You get a +1 for having the high ground. Any stolen magical bows I’ve
forgotten?”
Thief: “Great, I have a +3 on the Attack Roll, so that’s +4. And no, I
don’t have a magical bow. Maybe there’s one in this cave?”
DM: “I wouldn’t get your hopes up. Fire away.” (The goblin’s AC of 6
is modified to 10, due to the +3 from Thief’s Attack Bonus and +1 from
having the high ground. Again, this will remain the goblin’s AC against Thief unless the fight changes in a way that warrants new modifiers.)
Thief rolls a 10 and looks up hopefully at the DM, who declares a hit. Thief rolls damage and the goblin drops with an arrow to the face.
![]() |
| Dead! Also, this was drawn to be a kobold. Also, they accidentally used a lower quality version of this image. See more at Tony DiTerlizzi's blog, which also contains a great history of his work on the Monstrous Manual. |
This is definitely more work for the DM, as the math is all on their side. They’ll need to know the bonuses for not only level and class, but also for a player’s magical weapons and other situational modifiers. It also means that the monster’s AC will be different for each player.
When you break down the math, this is just backwards THAC0. A level 4 Fighter with a THAC0 of 17 would have the monster’s AC subtracted from that number, equaling 11 in the case of our AC 6 goblin, which the Fighter needs to equal or exceed. In this altered system, a level 4 Fighter with an Attack Bonus of +4 would have their bonus added to the monster’s AC, equaling 10, which the Fighter needs to meet or roll-under.
Whichever way we swing this, we’re still dealing with static values on a table and a bit of DM math, but this method has the advantage of not dropping an obscure mathematical variable in front of the players. The only issue I see with this is making sure that players don’t add the bonus to their die rolls, as they would be accustomed to in later editions. I think this can be solved by ensuring that (with rare exception) they never add modifiers to their rolls.
Alright, this was supposed to be a small note on a simple mechanic. I don’t know what happened. I’ll tackle Damage, Reactions, and (mostly) Initiative next time.

Ok, the challenge of refactoring all the 2e mechanics into Roll Under is just fascinating.
ReplyDeleteCouple of thoughts.
> As I’ve made clear in previous discussions, I’m in favor of making everything into a roll-under mechanic.
I can't help but think of Mike Shae's (The Lazy GM's) thesis that the main advantage of roll-under mechanics is that -- the players always know what number to beat, _before_ rolling! Like how Nonweapon Proficiencies work in 2e. Or how most rolls work in Dragonbane.
Benefit: Simple, and psychologically satisfying (there is a subtle but very real mental difference, when you're rolling, between when you know already what you need to beat, vs just saying the number to the DM and hearing whether you succeed or not). And also, much less work for the DM (aside from stating the situational modifier).
But with attacking, even with your elegant "d20 ≤ AC + Attack mods" proposal, you don't get that benefit. Because (very understandably) the DM in many cases will want to keep the monster's AC a secret as long as possible. (Though now that I bring that up, I do wonder how valuable that is, exactly.)
So you get all the downsides (unfamiliar mechanic, the monster’s AC will be different for each player, heavier mental lift on the DM's part), without much upside.
You don't get the traditional roll-under benefit of "the player can just look at a single number on their sheet, and know what to beat before rolling". The only benefit that I can see is conceptual elegance, the "everything is roll under" vision.
All of that said, I'm of course super curious to see you go through this mental exercise (like, HOW are you going to do roll-under damage??).
But my counter-proposal to you is... maybe (like you say so yourself in other posts), having a mix of roll-over and roll-under mechanics is part of the AD&D 2e charm? (Especially once you simplify and refactor these mechanics -- your Saving Throws proposals are _amazing_.)
Specifically, maybe it would make more sense to unify everything in the other direction, to be roll high? (Or maybe leave just the NWPs to be roll under, for the player simplicity benefit).
What a great couple of thoughts. I will try to provide a thoughtful answer.
DeleteBecause (very understandably) the DM in many cases will want to keep the monster's AC a secret as long as possible. (Though now that I bring that up, I do wonder how valuable that is, exactly.)
I find great value in keeping AC secret, but that may be due to my experience with more modern systems. Regardless, I love that player moment of "can we even hit this guy?" and its corollary "that missed? RUN!". You can do that with the system as described in the PHB, though my default use for THAC0 has been "THAC0 − d20 ≤ AC" because I’m lazy and I didn’t feel like subtracting two-digit numbers, so I made the players do it. (I’m also cheating now by using Fantasy Grounds to auto-roll, so…)
So you get all the downsides (unfamiliar mechanic, the monster’s AC will be different for each player, heavier mental lift on the DM's part), without much upside.
Absolutely correct. Though I’d argue that the upside is more significant than it appears. The lower mental lift (and chance of errors) on the player side is massive. They’ve got a bonus, and that bonus is very clear: a +4 Attack Bonus is immediately more definable than a THAC0 of 17, even if the math works the same. They know they’re making the enemies easier to hit, but all they ever need to worry about is getting the low number on the d20.
If you break this all down, I haven’t actually suggested anything new with this system. It really is still just THAC0, wherein (unless DMs are handing out AC or making the players subtract, which is not suggested by the PHB) the DM also needs to reference a player value, do some math using that value and AC to derive a To-Hit Number unique for each player, and request a flat roll. The only real change here is giving the players a bonus value rather than a variable, and shifting the DM math from subtraction to addition.
The only benefit that I can see is conceptual elegance
DeleteIt’s absolutely a factor. Beyond that, it also keeps the requirements for the player very clear: They want a low roll. I’d like it so any time my players pick up a d20, they know that the number they want is 1. One of the things I’ve found in my 2e games is that sometimes the players will roll and get a high or low result, and then they’ll celebrate or despair only to be reminded that they wanted the roll to go the other way. I don’t like it. A lot of this work is an effort to remove that moment.
But my counter-proposal to you is... maybe (like you say so yourself in other posts), having a mix of roll-over and roll-under mechanics is part of the AD&D 2e charm?
It certainly is. There’s so much in this 36-year-old game that I find absolutely endearing. I built the 2e Primer to help others get into this game precisely because it charmed me. However, in actual play I find that some of those charming features become annoyances, both for my players and myself. I think it’s possible to retain a great deal of that charm (descending AC, threat-based Saving Throws, rolling initiative every round, etc), while removing some of the crustier aspects that can only be loved by someone who played it in its prime. I, alas, do not have that honor.
Specifically, maybe it would make more sense to unify everything in the other direction, to be roll high?
Oh it would make so much more sense to do that. It would be much easier to work with, too. Trust me I’m there with you, and honestly so is every other OSR game. But two things stop me. First, I really want the ability check to play a larger role in the game, such as subsuming open door checks and the like, and that must be roll-low. If that main component is roll-low, then that’s the direction we’re going. Second, the weird work of rolling low gives the feel of playing a very different game from modern systems. It not only provides an identity to the system that it otherwise wouldn’t have, but brings back some of the charm I’ve been stripping away throughout these posts.
Thanks for the comment! It helped me to think through some of the work. I’m sure many will disagree with my conclusions, but I’m still having a good time. And I’m very glad you enjoyed the Saving Throws, they were a bit of work!
> The lower mental lift (and chance of errors) on the player side is massive.
DeleteAgree, yeah.
> and then they’ll celebrate or despair only to be reminded that they wanted the roll to go the other way. I don’t like it. A lot of this work is an effort to remove that moment.
Ahhh got it, yeah. That's compelling.
> I built the 2e Primer to help others get into this game precisely because it charmed me.
Btw, THANK you for that! The Primer is amazing (and also the tables from it are the ones I used for my DM screen :) )
> First, I really want the ability check to play a larger role in the game, such as subsuming open door checks and the like, and that must be roll-low. If that main component is roll-low, then that’s the direction we’re going.
I see, got it. That makes a lot of sense. (And I agree with you, about the ability checks.)
Looking forward to the other posts in this series!
On a similar note -- the table at the top of this post is missing a crucial column. Which is -- is it player-facing or DM-facing, and if player, then does the player know in advance what the number is?
ReplyDeleteWhen examined from that angle, we have some rough categories:
Saving Throw: Player-facing, player knows the number to beat.
Surprise: Player facing, player knows the number.
Nonweapon prof check: Player facing, player knows the number.
Thieving skill: Player facing, player knows the number.
Initiative: Player facing. Player does not know the number to beat, but DOES know that "lower is better".
Damage: Player facing. Player knows that "higher is better".
Attack Roll: Player-facing, but player does NOT know the target (at least at first).
Reaction: DM-facing. (place on a spectrum)
Morale: DM-facing. (Player does not know what the roll was, nor the number to beat).
Er sorry I didn't mean 'missing' a column :P
DeleteI meant more -- consider the table in the light of a few additional axes :)