pfrpg_tables 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +7 -0
  2. data/lib/pfrpg_tables/tables/attribute_modifier.rb +5 -0
  3. data/lib/pfrpg_tables/tables/attributes.rb +13 -0
  4. data/lib/pfrpg_tables/tables/bonus.rb +17 -0
  5. data/lib/pfrpg_tables/tables/equipment_totaler.rb +14 -0
  6. data/lib/pfrpg_tables/tables/feat_options.rb +28 -0
  7. data/lib/pfrpg_tables/tables/feat_totaler.rb +61 -0
  8. data/lib/pfrpg_tables/tables/feature_totaler.rb +86 -0
  9. data/lib/pfrpg_tables/tables/heroclasses/alchemist.rb +189 -0
  10. data/lib/pfrpg_tables/tables/heroclasses/arcane_archer.rb +98 -0
  11. data/lib/pfrpg_tables/tables/heroclasses/arcane_trickster.rb +89 -0
  12. data/lib/pfrpg_tables/tables/heroclasses/assassin.rb +79 -0
  13. data/lib/pfrpg_tables/tables/heroclasses/barbarian.rb +171 -0
  14. data/lib/pfrpg_tables/tables/heroclasses/bard.rb +190 -0
  15. data/lib/pfrpg_tables/tables/heroclasses/cavalier.rb +189 -0
  16. data/lib/pfrpg_tables/tables/heroclasses/cleric.rb +186 -0
  17. data/lib/pfrpg_tables/tables/heroclasses/dragon_disciple.rb +92 -0
  18. data/lib/pfrpg_tables/tables/heroclasses/druid.rb +190 -0
  19. data/lib/pfrpg_tables/tables/heroclasses/duelist.rb +79 -0
  20. data/lib/pfrpg_tables/tables/heroclasses/eldritch_knight.rb +86 -0
  21. data/lib/pfrpg_tables/tables/heroclasses/fighter.rb +170 -0
  22. data/lib/pfrpg_tables/tables/heroclasses/gunslinger.rb +189 -0
  23. data/lib/pfrpg_tables/tables/heroclasses/inquisitor.rb +189 -0
  24. data/lib/pfrpg_tables/tables/heroclasses/loremaster.rb +112 -0
  25. data/lib/pfrpg_tables/tables/heroclasses/magus.rb +189 -0
  26. data/lib/pfrpg_tables/tables/heroclasses/monk.rb +202 -0
  27. data/lib/pfrpg_tables/tables/heroclasses/mystic_theurge.rb +89 -0
  28. data/lib/pfrpg_tables/tables/heroclasses/oracle.rb +189 -0
  29. data/lib/pfrpg_tables/tables/heroclasses/paladin.rb +188 -0
  30. data/lib/pfrpg_tables/tables/heroclasses/pathfinder_chronicler.rb +79 -0
  31. data/lib/pfrpg_tables/tables/heroclasses/ranger.rb +313 -0
  32. data/lib/pfrpg_tables/tables/heroclasses/rogue.rb +168 -0
  33. data/lib/pfrpg_tables/tables/heroclasses/shadowdancer.rb +82 -0
  34. data/lib/pfrpg_tables/tables/heroclasses/sorcerer.rb +169 -0
  35. data/lib/pfrpg_tables/tables/heroclasses/summoner.rb +189 -0
  36. data/lib/pfrpg_tables/tables/heroclasses/witch.rb +189 -0
  37. data/lib/pfrpg_tables/tables/heroclasses/wizard.rb +189 -0
  38. data/lib/pfrpg_tables/tables/heroclasses.rb +4 -0
  39. data/lib/pfrpg_tables/tables/languages.rb +53 -0
  40. data/lib/pfrpg_tables/tables/level_table.rb +195 -0
  41. data/lib/pfrpg_tables/tables/size.rb +25 -0
  42. data/lib/pfrpg_tables/tables/spells/spells_per_day.rb +239 -0
  43. data/lib/pfrpg_tables/tables/spells.rb +28 -0
  44. data/lib/pfrpg_tables/tables/weapons.rb +57 -0
  45. data/lib/pfrpg_tables/tables.rb +10 -0
  46. data/lib/pfrpg_tables/version.rb +3 -0
  47. data/lib/pfrpg_tables.rb +8 -0
  48. metadata +117 -0
@@ -0,0 +1,190 @@
1
+ class PfrpgTables::Tables::Heroclasses::Druid
2
+
3
+ def self.level_bonus(level)
4
+ bonus = nil
5
+ case level
6
+ when 1
7
+ bonus = { :base_attack_bonus => [0],
8
+ :fort_save => 2,
9
+ :ref_save => 0,
10
+ :will_save => 2,
11
+ :granted_features => ["nature_sense", "orisons", "wild_empathy"],
12
+ :choices =>
13
+ [ ChooseNatureBond.new ],
14
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
15
+ }
16
+ when 2
17
+ bonus = { :base_attack_bonus => [1],
18
+ :fort_save => 3,
19
+ :ref_save => 0,
20
+ :will_save => 3,
21
+ :granted_features => ["woodland_stride"],
22
+ :choices => [],
23
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
24
+ }
25
+ when 3
26
+ bonus = { :base_attack_bonus => [2],
27
+ :fort_save => 3,
28
+ :ref_save => 1,
29
+ :will_save => 3,
30
+ :granted_features => ["trackless_step"],
31
+ :choices => [],
32
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
33
+ }
34
+ when 4
35
+ bonus = { :base_attack_bonus => [3],
36
+ :fort_save => 4,
37
+ :ref_save => 1,
38
+ :will_save => 4,
39
+ :granted_features => ["resist_natures_lure", "wild_shape"],
40
+ :choices => [],
41
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
42
+ }
43
+ when 5
44
+ bonus = { :base_attack_bonus => [3],
45
+ :fort_save => 4,
46
+ :ref_save => 1,
47
+ :will_save => 4,
48
+ :granted_features => [],
49
+ :choices => [],
50
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
51
+ }
52
+ when 6
53
+ bonus = { :base_attack_bonus => [4],
54
+ :fort_save => 5,
55
+ :ref_save => 2,
56
+ :will_save => 5,
57
+ :granted_features => [],
58
+ :choices => [],
59
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
60
+ }
61
+ when 7
62
+ bonus = { :base_attack_bonus => [5],
63
+ :fort_save => 5,
64
+ :ref_save => 2,
65
+ :will_save => 5,
66
+ :granted_features => [],
67
+ :choices => [],
68
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
69
+ }
70
+ when 8
71
+ bonus = { :base_attack_bonus => [6,1],
72
+ :fort_save => 6,
73
+ :ref_save => 2,
74
+ :will_save => 6,
75
+ :granted_features => [],
76
+ :choices => [],
77
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
78
+ }
79
+ when 9
80
+ bonus = { :base_attack_bonus => [6,1],
81
+ :fort_save => 6,
82
+ :ref_save => 3,
83
+ :will_save => 6,
84
+ :granted_features => ["venom_immunity"],
85
+ :choices => [],
86
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
87
+ }
88
+ when 10
89
+ bonus = { :base_attack_bonus => [7,2],
90
+ :fort_save => 7,
91
+ :ref_save => 3,
92
+ :will_save => 7,
93
+ :granted_features => [],
94
+ :choices => [],
95
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
96
+ }
97
+ when 11
98
+ bonus = { :base_attack_bonus => [8,3],
99
+ :fort_save => 7,
100
+ :ref_save => 3,
101
+ :will_save => 7,
102
+ :granted_features => [],
103
+ :choices => [],
104
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
105
+ }
106
+ when 12
107
+ bonus = { :base_attack_bonus => [9,4],
108
+ :fort_save => 8,
109
+ :ref_save => 4,
110
+ :will_save => 8,
111
+ :granted_features => [],
112
+ :choices => [],
113
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
114
+ }
115
+ when 13
116
+ bonus = { :base_attack_bonus => [9,4],
117
+ :fort_save => 8,
118
+ :ref_save => 4,
119
+ :will_save => 8,
120
+ :granted_features => ["a_thousand_faces"],
121
+ :choices => [],
122
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
123
+ }
124
+ when 14
125
+ bonus = { :base_attack_bonus => [10,5],
126
+ :fort_save => 9,
127
+ :ref_save => 4,
128
+ :will_save => 9,
129
+ :granted_features => [],
130
+ :choices => [],
131
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
132
+ }
133
+ when 15
134
+ bonus = { :base_attack_bonus => [11,6,1],
135
+ :fort_save => 9,
136
+ :ref_save => 5,
137
+ :will_save => 9,
138
+ :granted_features => ["timeless_body"],
139
+ :choices => [],
140
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
141
+ }
142
+ when 16
143
+ bonus = { :base_attack_bonus => [12,7,2],
144
+ :fort_save => 10,
145
+ :ref_save => 5,
146
+ :will_save => 10,
147
+ :granted_features => [],
148
+ :choices => [],
149
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
150
+ }
151
+ when 17
152
+ bonus = { :base_attack_bonus => [12,7,2],
153
+ :fort_save => 10,
154
+ :ref_save => 5,
155
+ :will_save => 10,
156
+ :granted_features => [],
157
+ :choices => [],
158
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
159
+ }
160
+ when 18
161
+ bonus = { :base_attack_bonus => [13,8,3],
162
+ :fort_save => 11,
163
+ :ref_save => 6,
164
+ :will_save => 11,
165
+ :granted_features => [],
166
+ :choices => [],
167
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
168
+ }
169
+ when 19
170
+ bonus = { :base_attack_bonus => [14,9,4],
171
+ :fort_save => 11,
172
+ :ref_save => 6,
173
+ :will_save => 11,
174
+ :granted_features => [],
175
+ :choices => [],
176
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
177
+ }
178
+ when 20
179
+ bonus = { :base_attack_bonus => [15,10,5],
180
+ :fort_save => 12,
181
+ :ref_save => 6,
182
+ :will_save => 12,
183
+ :granted_features => [],
184
+ :choices => [],
185
+ :spells_per_day => Tables::Spells::SpellsPerDay.Druid(level)
186
+ }
187
+ end
188
+ bonus
189
+ end
190
+ end
@@ -0,0 +1,79 @@
1
+ class PfrpgTables::Tables::Heroclasses::Duelist
2
+
3
+ def self.level_bonus(level)
4
+ bonus = nil
5
+ case level
6
+ when 1
7
+ bonus = { :base_attack_bonus => [1],
8
+ :fort_save => 0,
9
+ :ref_save => 1,
10
+ :will_save => 0,
11
+ :granted_features => ["cannydefense", "precisestrike"]
12
+ }
13
+ when 2
14
+ bonus = { :base_attack_bonus => [2],
15
+ :fort_save => 1,
16
+ :ref_save => 1,
17
+ :will_save => 1,
18
+ :granted_features => ["improvedreaction_2", "parry"]
19
+ }
20
+ when 3
21
+ bonus = { :base_attack_bonus => [3],
22
+ :fort_save => 1,
23
+ :ref_save => 2,
24
+ :will_save => 1,
25
+ :granted_features => ["enhancedmobility"]
26
+ }
27
+ when 4
28
+ bonus = { :base_attack_bonus => [4],
29
+ :fort_save => 1,
30
+ :ref_save => 2,
31
+ :will_save => 1,
32
+ :granted_features => ["combatreflexes", "grace"]
33
+ }
34
+ when 5
35
+ bonus = { :base_attack_bonus => [5],
36
+ :fort_save => 2,
37
+ :ref_save => 3,
38
+ :will_save => 2,
39
+ :granted_features => ["riposte"]
40
+ }
41
+ when 6
42
+ bonus = { :base_attack_bonus => [6],
43
+ :fort_save => 2,
44
+ :ref_save => 3,
45
+ :will_save => 2,
46
+ :granted_features => ["acrobaticcharge"]
47
+ }
48
+ when 7
49
+ bonus = { :base_attack_bonus => [7],
50
+ :fort_save => 2,
51
+ :ref_save => 4,
52
+ :will_save => 2,
53
+ :granted_features => ["elaboratedefense"]
54
+ }
55
+ when 8
56
+ bonus = { :base_attack_bonus => [8],
57
+ :fort_save => 3,
58
+ :ref_save => 4,
59
+ :will_save => 3,
60
+ :granted_features => ["improvedreaction_4"]
61
+ }
62
+ when 9
63
+ bonus = { :base_attack_bonus => [9],
64
+ :fort_save => 3,
65
+ :ref_save => 5,
66
+ :will_save => 3,
67
+ :granted_features => ["deflectarrows", "noretreat"]
68
+ }
69
+ when 10
70
+ bonus = { :base_attack_bonus => [10],
71
+ :fort_save => 3,
72
+ :ref_save => 5,
73
+ :will_save => 3,
74
+ :granted_features => ["cripplingcritical"]
75
+ }
76
+ end
77
+ bonus
78
+ end
79
+ end
@@ -0,0 +1,86 @@
1
+ class PfrpgTables::Tables::Heroclasses::EldritchKnight
2
+
3
+ def self.level_bonus(level)
4
+ bonus = nil
5
+ case level
6
+ when 1
7
+ bonus = { :base_attack_bonus => [1],
8
+ :fort_save => 1,
9
+ :ref_save => 0,
10
+ :will_save => 0,
11
+ :granted_features => [ "diversetraining"],
12
+ :choices => [ChooseEldritchKnightCombatFeat.new],
13
+ :prestige_spells => 0
14
+ }
15
+ when 2
16
+ bonus = { :base_attack_bonus => [2],
17
+ :fort_save => 1,
18
+ :ref_save => 1,
19
+ :will_save => 1,
20
+ :prestige_spells => 1
21
+ }
22
+ when 3
23
+ bonus = { :base_attack_bonus => [3],
24
+ :fort_save => 2,
25
+ :ref_save => 1,
26
+ :will_save => 1,
27
+ :prestige_spells => 1
28
+ }
29
+ when 4
30
+ bonus = { :base_attack_bonus => [4],
31
+ :fort_save => 2,
32
+ :ref_save => 1,
33
+ :will_save => 1,
34
+ :prestige_spells => 1
35
+ }
36
+ when 5
37
+ bonus = { :base_attack_bonus => [5],
38
+ :fort_save => 3,
39
+ :ref_save => 2,
40
+ :will_save => 2,
41
+ :granted_features => [],
42
+ :choices => [ChooseEldritchKnightCombatFeat.new],
43
+ :prestige_spells => 1
44
+ }
45
+ when 6
46
+ bonus = { :base_attack_bonus => [6],
47
+ :fort_save => 3,
48
+ :ref_save => 2,
49
+ :will_save => 2,
50
+ :prestige_spells => 1
51
+ }
52
+ when 7
53
+ bonus = { :base_attack_bonus => [7],
54
+ :fort_save => 4,
55
+ :ref_save => 2,
56
+ :will_save => 2,
57
+ :prestige_spells => 1
58
+ }
59
+ when 8
60
+ bonus = { :base_attack_bonus => [8],
61
+ :fort_save => 4,
62
+ :ref_save => 3,
63
+ :will_save => 3,
64
+ :prestige_spells => 1
65
+ }
66
+ when 9
67
+ bonus = { :base_attack_bonus => [9],
68
+ :fort_save => 5,
69
+ :ref_save => 3,
70
+ :will_save => 3,
71
+ :granted_features => [],
72
+ :choices => [ChooseEldritchKnightCombatFeat.new],
73
+ :prestige_spells => 1
74
+ }
75
+ when 10
76
+ bonus = { :base_attack_bonus => [10],
77
+ :fort_save => 5,
78
+ :ref_save => 3,
79
+ :will_save => 3,
80
+ :granted_features => ["spellcritical"],
81
+ :prestige_spells => 1
82
+ }
83
+ end
84
+ bonus
85
+ end
86
+ end
@@ -0,0 +1,170 @@
1
+ class PfrpgTables::Tables::Heroclasses::Fighter
2
+ def self.level_bonus(level)
3
+ bonus = nil
4
+ case level
5
+ when 1
6
+ bonus = { :base_attack_bonus => [1],
7
+ :fort_save => 2,
8
+ :ref_save => 0,
9
+ :will_save => 0,
10
+ :granted_features => [],
11
+ :choices => [ChooseFeat.new]
12
+ }
13
+ when 2
14
+ bonus = { :base_attack_bonus => [2],
15
+ :fort_save => 3,
16
+ :ref_save => 0,
17
+ :will_save => 0,
18
+ :granted_features => ["bravery1"],
19
+ :choices => [ChooseFeat.new]
20
+ }
21
+ when 3
22
+ bonus = { :base_attack_bonus => [3],
23
+ :fort_save => 3,
24
+ :ref_save => 1,
25
+ :will_save => 1,
26
+ :granted_features => ["armor_training1"],
27
+ :choices => []
28
+ }
29
+ when 4
30
+ bonus = { :base_attack_bonus => [4],
31
+ :fort_save => 4,
32
+ :ref_save => 1,
33
+ :will_save => 1,
34
+ :granted_features => [],
35
+ :choices => [ChooseFeat.new]
36
+ }
37
+ when 5
38
+ bonus = { :base_attack_bonus => [5],
39
+ :fort_save => 4,
40
+ :ref_save => 1,
41
+ :will_save => 1,
42
+ :granted_features => [],
43
+ :choices => [ChooseWeaponTraining.new]
44
+ }
45
+ when 6
46
+ bonus = { :base_attack_bonus => [6,1],
47
+ :fort_save => 5,
48
+ :ref_save => 2,
49
+ :will_save => 2,
50
+ :granted_features => ["bravery2"],
51
+ :choices => [ChooseFeat.new]
52
+ }
53
+ when 7
54
+ bonus = { :base_attack_bonus => [7,2],
55
+ :fort_save => 5,
56
+ :ref_save => 2,
57
+ :will_save => 2,
58
+ :granted_features => ["armor_training2"],
59
+ :choices => []
60
+ }
61
+ when 8
62
+ bonus = { :base_attack_bonus => [8,3],
63
+ :fort_save => 6,
64
+ :ref_save => 2,
65
+ :will_save => 2,
66
+ :granted_features => [],
67
+ :choices => [ChooseFeat.new]
68
+ }
69
+ when 9
70
+ bonus = { :base_attack_bonus => [9,4],
71
+ :fort_save => 6,
72
+ :ref_save => 3,
73
+ :will_save => 3,
74
+ :granted_features => [],
75
+ :choices => [ChooseWeaponTraining.new]
76
+ }
77
+ when 10
78
+ bonus = { :base_attack_bonus => [10,5],
79
+ :fort_save => 7,
80
+ :ref_save => 3,
81
+ :will_save => 3,
82
+ :granted_features => ["bravery3"],
83
+ :choices => [ChooseFeat.new]
84
+ }
85
+ when 11
86
+ bonus = { :base_attack_bonus => [11,6,1],
87
+ :fort_save => 7,
88
+ :ref_save => 3,
89
+ :will_save => 3,
90
+ :granted_features => ["armor_training2"],
91
+ :choices => []
92
+ }
93
+ when 12
94
+ bonus = { :base_attack_bonus => [12,7,2],
95
+ :fort_save => 8,
96
+ :ref_save => 4,
97
+ :will_save => 4,
98
+ :granted_features => [],
99
+ :choices => [ChooseFeat.new]
100
+ }
101
+ when 13
102
+ bonus = { :base_attack_bonus => [13,8,3],
103
+ :fort_save => 8,
104
+ :ref_save => 4,
105
+ :will_save => 4,
106
+ :granted_features => [],
107
+ :choices => [ChooseWeaponTraining.new]
108
+ }
109
+ when 14
110
+ bonus = { :base_attack_bonus => [14,9,4],
111
+ :fort_save => 9,
112
+ :ref_save => 4,
113
+ :will_save => 4,
114
+ :granted_features => ["bravery4"],
115
+ :choices => [ChooseFeat.new]
116
+ }
117
+ when 15
118
+ bonus = { :base_attack_bonus => [15,10,5],
119
+ :fort_save => 9,
120
+ :ref_save => 5,
121
+ :will_save => 5,
122
+ :granted_features => ["armor_training4"],
123
+ :choices => []
124
+ }
125
+ when 16
126
+ bonus = { :base_attack_bonus => [16,11,6,1],
127
+ :fort_save => 10,
128
+ :ref_save => 5,
129
+ :will_save => 5,
130
+ :granted_features => [],
131
+ :choices => [ChooseFeat.new]
132
+ }
133
+ when 17
134
+ bonus = { :base_attack_bonus => [17,12,7,2],
135
+ :fort_save => 10,
136
+ :ref_save => 5,
137
+ :will_save => 5,
138
+ :granted_features => [],
139
+ :choices => [ChooseWeaponTraining.new]
140
+ }
141
+ when 18
142
+ bonus = { :base_attack_bonus => [18,13,8,3],
143
+ :fort_save => 11,
144
+ :ref_save => 6,
145
+ :will_save => 6,
146
+ :granted_features => ["bravery4"],
147
+ :choices => [ChooseFeat.new]
148
+ }
149
+ when 19
150
+ bonus = { :base_attack_bonus => [19,14,9,4],
151
+ :fort_save => 11,
152
+ :ref_save => 6,
153
+ :will_save => 6,
154
+ :granted_features => ["armor_mastery"],
155
+ :choices => []
156
+ }
157
+ when 20
158
+ bonus = { :base_attack_bonus => [20,15,10,5],
159
+ :fort_save => 12,
160
+ :ref_save => 6,
161
+ :will_save => 6,
162
+ :granted_features => [],
163
+ :choices => [ChooseFeat.new, ChooseWeaponMastery.new]
164
+ }
165
+ end
166
+ bonus
167
+ end
168
+ end
169
+
170
+