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,89 @@
1
+ class PfrpgTables::Tables::Heroclasses::ArcaneTrickster
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 => 0,
9
+ :ref_save => 1,
10
+ :will_save => 0,
11
+ :granted_features => ["rangedlegerdemain"],
12
+ :prestige_spells => 1
13
+ }
14
+ when 2
15
+ bonus = { :base_attack_bonus => [1],
16
+ :fort_save => 1,
17
+ :ref_save => 1,
18
+ :will_save => 1,
19
+ :granted_features => ["sneakattack1d6"],
20
+ :prestige_spells => 1
21
+ }
22
+ when 3
23
+ bonus = { :base_attack_bonus => [1],
24
+ :fort_save => 1,
25
+ :ref_save => 2,
26
+ :will_save => 2,
27
+ :granted_features => ["impromptusneakattack"],
28
+ :prestige_spells => 1
29
+ }
30
+ when 4
31
+ bonus = { :base_attack_bonus => [2],
32
+ :fort_save => 1,
33
+ :ref_save => 2,
34
+ :will_save => 2,
35
+ :granted_features => ["sneakattack2d6"],
36
+ :prestige_spells => 1
37
+ }
38
+ when 5
39
+ bonus = { :base_attack_bonus => [2],
40
+ :fort_save => 2,
41
+ :ref_save => 3,
42
+ :will_save => 3,
43
+ :granted_features => ["trickyspells"],
44
+ :prestige_spells => 1
45
+ }
46
+ when 6
47
+ bonus = { :base_attack_bonus => [3],
48
+ :fort_save => 2,
49
+ :ref_save => 3,
50
+ :will_save => 3,
51
+ :granted_features => ["sneakattack3d6"],
52
+ :prestige_spells => 1
53
+ }
54
+ when 7
55
+ bonus = { :base_attack_bonus => [3],
56
+ :fort_save => 2,
57
+ :ref_save => 4,
58
+ :will_save => 4,
59
+ :granted_features => [],
60
+ :prestige_spells => 1
61
+ }
62
+ when 8
63
+ bonus = { :base_attack_bonus => [4],
64
+ :fort_save => 3,
65
+ :ref_save => 4,
66
+ :will_save => 4,
67
+ :granted_features => ["sneakattack4d6"],
68
+ :prestige_spells => 1
69
+ }
70
+ when 9
71
+ bonus = { :base_attack_bonus => [4],
72
+ :fort_save => 3,
73
+ :ref_save => 5,
74
+ :will_save => 5,
75
+ :granted_features => ["invisiblethief"],
76
+ :prestige_spells => 1
77
+ }
78
+ when 10
79
+ bonus = { :base_attack_bonus => [5],
80
+ :fort_save => 3,
81
+ :ref_save => 5,
82
+ :will_save => 5,
83
+ :granted_features => ["sneakattack5d6", "surprisespells"],
84
+ :prestige_spells => 1
85
+ }
86
+ end
87
+ bonus
88
+ end
89
+ end
@@ -0,0 +1,79 @@
1
+ class PfrpgTables::Tables::Heroclasses::Assassin
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 => 0,
9
+ :ref_save => 1,
10
+ :will_save => 0,
11
+ :granted_features => ["sneakattack1d6", "deathattack", "poisonuse"]
12
+ }
13
+ when 2
14
+ bonus = { :base_attack_bonus => [1],
15
+ :fort_save => 1,
16
+ :ref_save => 1,
17
+ :will_save => 1,
18
+ :granted_features => ["poisonsave", "uncanny_dodge"]
19
+ }
20
+ when 3
21
+ bonus = { :base_attack_bonus => [2],
22
+ :fort_save => 1,
23
+ :ref_save => 2,
24
+ :will_save => 1,
25
+ :granted_features => ["sneakattack2d6"]
26
+ }
27
+ when 4
28
+ bonus = { :base_attack_bonus => [3],
29
+ :fort_save => 1,
30
+ :ref_save => 2,
31
+ :will_save => 1,
32
+ :granted_features => ["hiddenweapons", "truedeath"]
33
+ }
34
+ when 5
35
+ bonus = { :base_attack_bonus => [3],
36
+ :fort_save => 2,
37
+ :ref_save => 3,
38
+ :will_save => 2,
39
+ :granted_features => ["improved_uncanny_dodge", "sneakattack3d6"]
40
+ }
41
+ when 6
42
+ bonus = { :base_attack_bonus => [4],
43
+ :fort_save => 2,
44
+ :ref_save => 3,
45
+ :will_save => 2,
46
+ :granted_features => ["quietdeath"]
47
+ }
48
+ when 7
49
+ bonus = { :base_attack_bonus => [5],
50
+ :fort_save => 2,
51
+ :ref_save => 3,
52
+ :will_save => 2,
53
+ :granted_features => ["sneakattack4d6"]
54
+ }
55
+ when 8
56
+ bonus = { :base_attack_bonus => [6],
57
+ :fort_save => 3,
58
+ :ref_save => 4,
59
+ :will_save => 3,
60
+ :granted_features => ["hideinplainsight"]
61
+ }
62
+ when 9
63
+ bonus = { :base_attack_bonus => [6],
64
+ :fort_save => 3,
65
+ :ref_save => 5,
66
+ :will_save => 3,
67
+ :granted_features => ["sneakattack5d6", "swiftdeath"]
68
+ }
69
+ when 10
70
+ bonus = { :base_attack_bonus => [7],
71
+ :fort_save => 3,
72
+ :ref_save => 5,
73
+ :will_save => 3,
74
+ :granted_features => ["angelofdeath"]
75
+ }
76
+ end
77
+ bonus
78
+ end
79
+ end
@@ -0,0 +1,171 @@
1
+ class PfrpgTables::Tables::Heroclasses::Barbarian
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
+ :choices => [],
11
+ :granted_features => ["fast_movement", "rage"]
12
+ }
13
+ when 2
14
+ bonus = { :base_attack_bonus => [2],
15
+ :fort_save => 3,
16
+ :ref_save => 0,
17
+ :will_save => 0,
18
+ :choices => [ ChooseRagePower.new ],
19
+ :granted_features => [ "uncanny_dodge"]
20
+ }
21
+ when 3
22
+ bonus = { :base_attack_bonus => [3],
23
+ :fort_save => 3,
24
+ :ref_save => 1,
25
+ :will_save => 1,
26
+ :choices => [],
27
+ :granted_features => ["trapsense1"]
28
+ }
29
+ when 4
30
+ bonus = { :base_attack_bonus => [4],
31
+ :fort_save => 4,
32
+ :ref_save => 1,
33
+ :will_save => 1,
34
+ :choices => [ ChooseRagePower.new ],
35
+ :granted_features => []
36
+ }
37
+ when 5
38
+ bonus = { :base_attack_bonus => [5],
39
+ :fort_save => 4,
40
+ :ref_save => 1,
41
+ :will_save => 1,
42
+ :choices => [],
43
+ :granted_features => ["improved_uncanny_dodge"]
44
+ }
45
+ when 6
46
+ bonus = { :base_attack_bonus => [6,1],
47
+ :fort_save => 5,
48
+ :ref_save => 2,
49
+ :will_save => 2,
50
+ :choices => [ ChooseRagePower.new ],
51
+ :granted_features => ["trapsense2"]
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 => ["damage_reduction1"],
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 => [ ChooseRagePower.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 => ["trapsense3"],
75
+ :choices => []
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 => ["damage_reduction2"],
83
+ :choices => [ ChooseRagePower.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 => ["greater_rage"],
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 => ["trapsense4"],
99
+ :choices => [ ChooseRagePower.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 => ["damage_reduction3"],
107
+ :choices => []
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
+ :choices => [ ChooseRagePower.new ],
115
+ :granted_features => ["indomitable_will"],
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 => ["trapsense5"],
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
+ :choices => [ ChooseRagePower.new ],
131
+ :granted_features => ["damage_reduction4"],
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 => ["tireless_rage"],
139
+ :choices => []
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
+ :choices => [ ChooseRagePower.new ],
147
+ :granted_features => ["trapsense6"],
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 => ["damage_reduction5"],
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
+ :choices => [ ChooseRagePower.new ],
163
+ :granted_features => ["mighty_rage"],
164
+ }
165
+ end
166
+ bonus
167
+ end
168
+
169
+
170
+ end
171
+
@@ -0,0 +1,190 @@
1
+ class PfrpgTables::Tables::Heroclasses::Bard
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 => 0,
9
+ :ref_save => 2,
10
+ :will_save => 2,
11
+ :granted_features => ["bardic_knowledge", "bardic_performance", "cantrips", "countersong", "distraction", "fascinate", "inspire_courage1"],
12
+ :choices => [],
13
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(1)
14
+ }
15
+ when 2
16
+ bonus = { :base_attack_bonus => [1],
17
+ :fort_save => 0,
18
+ :ref_save => 3,
19
+ :will_save => 3,
20
+ :granted_features => [ 'well_versed' ],
21
+ :choices => [ ChooseVersatilePerformance.new],
22
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(2)
23
+ }
24
+ when 3
25
+ bonus = { :base_attack_bonus => [2],
26
+ :fort_save => 1,
27
+ :ref_save => 3,
28
+ :will_save => 3,
29
+ :granted_features => ["inspire_competence2"],
30
+ :choices => [],
31
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(3)
32
+ }
33
+ when 4
34
+ bonus = { :base_attack_bonus => [3],
35
+ :fort_save => 1,
36
+ :ref_save => 4,
37
+ :will_save => 4,
38
+ :choices => [],
39
+ :granted_features => [],
40
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(4)
41
+ }
42
+ when 5
43
+ bonus = { :base_attack_bonus => [3],
44
+ :fort_save => 1,
45
+ :ref_save => 4,
46
+ :will_save => 4,
47
+ :granted_features => ["inspire_courage2", "lore_master"],
48
+ :choices => [],
49
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
50
+ }
51
+ when 6
52
+ bonus = { :base_attack_bonus => [4],
53
+ :fort_save => 2,
54
+ :ref_save => 5,
55
+ :will_save => 5,
56
+ :choices => [ ChooseVersatilePerformance.new],
57
+ :granted_features => ['suggestion'],
58
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
59
+ }
60
+ when 7
61
+ bonus = { :base_attack_bonus => [5],
62
+ :fort_save => 2,
63
+ :ref_save => 5,
64
+ :will_save => 5,
65
+ :granted_features => ["inspire_competence3"],
66
+ :choices => [],
67
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
68
+ }
69
+ when 8
70
+ bonus = { :base_attack_bonus => [6,1],
71
+ :fort_save => 2,
72
+ :ref_save => 6,
73
+ :will_save => 6,
74
+ :choices => [],
75
+ :granted_features => ['dirge_of_doom'],
76
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
77
+ }
78
+ when 9
79
+ bonus = { :base_attack_bonus => [6,1],
80
+ :fort_save => 3,
81
+ :ref_save => 6,
82
+ :will_save => 6,
83
+ :granted_features => ["inspire_greatness"],
84
+ :choices => [],
85
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
86
+ }
87
+ when 10
88
+ bonus = { :base_attack_bonus => [7,2],
89
+ :fort_save => 3,
90
+ :ref_save => 7,
91
+ :will_save => 7,
92
+ :choices => [ ChooseVersatilePerformance.new],
93
+ :granted_features => ['jack_of_all_trades'],
94
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
95
+ }
96
+ when 11
97
+ bonus = { :base_attack_bonus => [8,3],
98
+ :fort_save => 3,
99
+ :ref_save => 7,
100
+ :will_save => 7,
101
+ :granted_features => ["inspire_competence4", "inspire_courage3"],
102
+ :choices => [],
103
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
104
+ }
105
+ when 12
106
+ bonus = { :base_attack_bonus => [9,4],
107
+ :fort_save => 4,
108
+ :ref_save => 8,
109
+ :will_save => 8,
110
+ :choices => [],
111
+ :granted_features => ['soothing_performance'],
112
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
113
+ }
114
+ when 13
115
+ bonus = { :base_attack_bonus => [9,4],
116
+ :fort_save => 4,
117
+ :ref_save => 8,
118
+ :will_save => 8,
119
+ :granted_features => [],
120
+ :choices => [],
121
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
122
+ }
123
+ when 14
124
+ bonus = { :base_attack_bonus => [10,5],
125
+ :fort_save => 4,
126
+ :ref_save => 9,
127
+ :will_save => 9,
128
+ :choices => [ ChooseVersatilePerformance.new],
129
+ :granted_features => ['frightening_tune'],
130
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
131
+ }
132
+ when 15
133
+ bonus = { :base_attack_bonus => [11,6,1],
134
+ :fort_save => 5,
135
+ :ref_save => 9,
136
+ :will_save => 9,
137
+ :granted_features => ["inspire_competence5", "inspire_heroics"],
138
+ :choices => [],
139
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
140
+ }
141
+ when 16
142
+ bonus = { :base_attack_bonus => [12,7,2],
143
+ :fort_save => 5,
144
+ :ref_save => 10,
145
+ :will_save => 10,
146
+ :choices => [],
147
+ :granted_features => [],
148
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
149
+ }
150
+ when 17
151
+ bonus = { :base_attack_bonus => [12,7,2],
152
+ :fort_save => 5,
153
+ :ref_save => 10,
154
+ :will_save => 10,
155
+ :granted_features => ["inspire_courage4"],
156
+ :choices => [],
157
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
158
+ }
159
+ when 18
160
+ bonus = { :base_attack_bonus => [13,8,3],
161
+ :fort_save => 6,
162
+ :ref_save => 11,
163
+ :will_save => 11,
164
+ :choices => [ ChooseVersatilePerformance.new],
165
+ :granted_features => [ 'mass_suggestion' ],
166
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
167
+ }
168
+ when 19
169
+ bonus = { :base_attack_bonus => [14,9,4],
170
+ :fort_save => 6,
171
+ :ref_save => 11,
172
+ :will_save => 11,
173
+ :granted_features => ["inspire_competence5"],
174
+ :choices => [],
175
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
176
+ }
177
+ when 20
178
+ bonus = { :base_attack_bonus => [15,10,5],
179
+ :fort_save => 6,
180
+ :ref_save => 12,
181
+ :will_save => 12,
182
+ :choices => [],
183
+ :granted_features => ['deadly_performance'],
184
+ :spells_per_day => Tables::Spells::SpellsPerDay.Bard(level)
185
+ }
186
+ end
187
+ bonus
188
+ end
189
+ end
190
+