Base Save and Attack Bonus

Base Attack Bonus and base save bonuses work much better in D&D 3.x than they have in previous editions. However, I think there is room for improvement.

Stacking Bonuses

This is a wonderful idea, and part of what makes D&D 3.x better than previous editions. However, the bonuses at first class level add up much too quickly for my taste when two classes both have a good save progression. Why is a Ftr1/Clr1 more resistant to poison than Ftr2 or a Clr2? For that matter, they also stack too slowly when classes don’t have good save progressions. Why is a Ftr2/Clr2 so bad at dodging things (base Reflex +0)?

My solution to both of these is simple. Add all class levels with a like progression for a save before determining the base save bonus. The Ftr1/Clr1 has ‘two levels of good Fortitude’, for a total base Fortitude save of +3. The Ftr2/Clr2 has ‘four levels of poor Reflex’, for a total base Reflex save of +1 (not much better, but better).

Base Attack Bonus works the same way. A Wiz1/Sor1 has ‘two levels of poor BAB’ for a total of +1. A Clr2/Rog2 has ‘four levels of medium BAB’ for a total of +3.

Fractional Bonuses

I first saw these presented in Unearthed Arcana. I have not used them in my campaign, but I see no reason why they could not be combined with this system. A Ftr2/Rog1 would then have a base Reflex save of +3 (2/3 + 2.5, truncated).

Medium Save Progression

Saving Throw Progressions
Level Good Medium Poor
1 +2 +1 +0
2 +3 +1 +0
3 +3 +2 +1
4 +4 +2 +1
5 +4 +3 +1
6 +5 +3 +2
7 +5 +3 +2
8 +6 +4 +2
9 +6 +4 +3
10 +7 +5 +3
11 +7 +5 +3
12 +8 +5 +4
13 +8 +6 +4
14 +9 +6 +4
15 +9 +7 +5
16 +10 +7 +5
17 +10 +7 +5
18 +11 +8 +6
19 +11 +8 +6
20 +12 +9 +6

There is a big jump between ‘poor save’ and ‘good save’. They start off two points different (at first level) and this grows to six points different at twentieth level. Each class has one or the other for each of the saves. Unlike Base Attack Bonus, there is no middle ground.

I propose to change that. I have added a ‘medium save’ progression. The formulas for good and poor saves are fairly simple.

Good: 2 + level/2

Poor: 0 + level/3

It looks like there is room for a medium save:

Medium: 1 + level/2.5

This provides a medium progression that fits nicely between the core good save and bad save. The d20 Star Wars game offered a medium save that was equal to (good save + poor save) / 2; this was a good idea but did not produce a smooth curve ((2 + floor(level/2) + floor(level/3))/2 is kind of awkward).

First-Level Adjustment

There is one small problem with introducing a medium save progression. The first-level adjustment to the save (the +1) stacks with the first-level adjustment from the good save. There is no practical difference between Good10/Medium10 and Good20. In fact, ‘Good2n/Medium1’ is always better than ‘Good2n+1’.

This is not what I want. For any number of levels of Good+Medium, the same number of levels of Good progression should always be at least as much as the mixed levels of Good and Medium. This is easily fixed by only granting the ‘first-level adjustment’ once. You get +2 or +1, once and only once. This can be done by either giving the larger of the two adjustments (changing when you get a bigger one), or by only giving the adjustment at first character level. This would mean that a character starting with a poor save would never get the +1 or +2 at all, but I kind of like that — a Wiz1/Ftr1 would be physically less resilient than a Ftr1/Wiz1, but more mentally resilient (Fort +0 vs. Fort +2, Will +2 vs. Will +0).


  1. Akarius


    Glad to see you also use fractional bonuses.
    I do this differently, separating the bonus into Character Level and Class Levels.
    For BAB, each character has a bonus of Level/2 then I add up all bonus from each character classes:
    Poor: 0
    Average: Class Level/4
    Good: Class Level/2

    Ex: A Fgt 1/Clr 1 would have
    Level 2: 2/2 = 1
    Fgt 1 (Good): 1/2 = 0.5
    Clr 1 (Poor in my campaign): 0
    For a BAB 0f 1.5 -> 1

    It’s a little more complicated for the Save Bonuses… :)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back to Top