cls_savthr_xxx.2da defines the saving throw progression of classes via. being defined as SavingThrowTable in classes.2da.

While the file defines levels 1-60 after level 20 the epic saving throw progression is used. It is probable that the 1-60 was the original OC where monsters could go above level 20 and epic levels were not clearly defined. Epic progression of saving throws starts at +0 for level 21, up to +10 for level 40.

To do: Work out what creature saving throws are post-level-40 and how they're calculated (ie what classes of a 30 Wizard / 30 Rogue would it take for the first 20 levels? Presumably the 1st class slot).

Existing 2da Files

There is usually no need to write your own file, just use an existing one, since all the combinations of Fortitude, Will and Reflex High/Low are available.

There are two types of progression, High and Low:

  • High: Floor( (Level / 2) ) + 2, eg: level 7 is Floor(7 / 2) + 2 = Floor(3.5) + 2, so floored to 5.
  • Low: Floor(Level / 3), eg: level 7 is Floor( 7 / 3 ) = Floor(2.333), so floored to 2
FortitudeReflexWillFilesDefault Classes
lowlowlowcls_savthr_consConstruct, Commoner
HIGHlowlow

cls_savthr_barb

cls_savthr_fight

cls_savthr_pal

cls_savthr_rang

Barbarian

Fighter, Humanoid, Giant, Vermin, Blackguard, Purple Dragon Knight

Paladin

Ranger

lowHIGHlowcls_savthr_rogRogue, Shadowdancer, Assassin, Weapon Master
lowlowHIGH

cls_savthr_sorc

cls_savthr_wiz

Sorcerer

Wizard, Aberration, Elemental, Undead

HIGHHIGHlowcls_savthr_wildAnimal, Beast, Magic Beast, Arcane Archer, Champion of Torm, Shifter
HIGHlowHIGH

cls_savthr_cler

cls_savthr_dru

Cleric, Dwarvern Defender, Dragon Disciple, Ooze

Druid, Pale Master

lowHIGHHIGHcls_savthr_bardBard, Monstrous, Fey, Harper
HIGHHIGHHIGHcls_savthr_monkMonk, Dragon, Outsider, Shapechanger

2da Columns

Column LabelExampleValid ValuesDescription and Notes
Level5TextThis appears to be unused by the game and is essentially a label, the row ID is used instead. However it is a lot easier to read if these are left as 1-60.
FortSave4IntegerFortitude save at the given level
RefSave1IntegerReflex save at the given level
WillSave1IntegerWill save at the given level

2da Contents

Example file cls_savthr_barb.2da:

2DA V2.0                                           
                                                   
           Level   FortSave   RefSave   WillSave   
                                                   
0          1       2          0         0          
1          2       3          0         0          
2          3       3          1         1          
3          4       4          1         1          
4          5       4          1         1          
5          6       5          2         2          
6          7       5          2         2          
7          8       6          2         2          
8          9       6          3         3          
9          10      7          3         3          
10         11      7          3         3          
11         12      8          4         4          
12         13      8          4         4          
13         14      9          4         4          
14         15      9          5         5          
15         16      10         5         5          
16         17      10         5         5          
17         18      11         6         6          
18         19      11         6         6          
19         20      12         6         6          
20         21      12         6         6          
21         22      13         7         7          
22         23      13         7         7          
23         24      14         8         8          
24         25      14         8         8          
25         26      15         9         9          
26         27      15         9         9          
27         28      16         10        10         
28         29      16         10        10         
29         30      17         11        11         
30         31      17         11        11         
31         32      18         12        12         
32         33      18         12        12         
33         34      19         13        13         
34         35      19         13        13         
35         36      20         14        14         
36         37      20         14        14         
37         38      21         15        15         
38         39      21         15        15         
39         40      22         16        16         
40         41      22         16        16         
41         42      23         17        17         
42         43      23         17        17         
43         44      24         18        18         
44         45      24         18        18         
45         46      25         19        19         
46         47      25         19        19         
47         48      26         20        20         
48         49      26         20        20         
49         50      27         21        21         
50         51      27         21        21         
51         52      28         22        22         
52         53      28         22        22         
53         54      29         23        23         
54         55      29         23        23         
55         56      30         24        24         
56         57      30         24        24         
57         58      31         25        25         
58         59      31         25        25         
59         60      32         26        26         


  • No labels