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,189 @@
1
+ class PfrpgTables::Tables::Heroclasses::Wizard
2
+ def self.level_bonus(level)
3
+ bonus = nil
4
+ case level
5
+ when 1
6
+ bonus = { :base_attack_bonus => [0],
7
+ :fort_save => 0,
8
+ :ref_save => 0,
9
+ :will_save => 2,
10
+ :choices => [ ChooseArcaneBond.new, ChooseArcaneSchool.new ],
11
+ :granted_features => ["cantrips", "scribe_spell"]
12
+ }
13
+ when 2
14
+ bonus = { :base_attack_bonus => [1],
15
+ :fort_save => 0,
16
+ :ref_save => 0,
17
+ :will_save => 3,
18
+ :choices => [],
19
+ :granted_features => []
20
+ }
21
+ when 3
22
+ bonus = { :base_attack_bonus => [1],
23
+ :fort_save => 1,
24
+ :ref_save => 1,
25
+ :will_save => 3,
26
+ :choices => [],
27
+ :granted_features => []
28
+ }
29
+ when 4
30
+ bonus = { :base_attack_bonus => [2],
31
+ :fort_save => 1,
32
+ :ref_save => 1,
33
+ :will_save => 4,
34
+ :choices => [],
35
+ :granted_features => []
36
+ }
37
+ when 5
38
+ bonus = { :base_attack_bonus => [2],
39
+ :fort_save => 1,
40
+ :ref_save => 1,
41
+ :will_save => 4,
42
+ :choices => [ ChooseWizardBonusFeat.new],
43
+ :granted_features => []
44
+ }
45
+ when 6
46
+ bonus = { :base_attack_bonus => [3],
47
+ :fort_save => 2,
48
+ :ref_save => 2,
49
+ :will_save => 5,
50
+ :choices => [],
51
+ :granted_features => []
52
+ }
53
+ when 7
54
+ bonus = { :base_attack_bonus => [3],
55
+ :fort_save => 2,
56
+ :ref_save => 2,
57
+ :will_save => 5,
58
+ :granted_features => [],
59
+ :choices => []
60
+ }
61
+ when 8
62
+ bonus = { :base_attack_bonus => [4],
63
+ :fort_save => 2,
64
+ :ref_save => 2,
65
+ :will_save => 6,
66
+ :granted_features => [],
67
+ :choices => []
68
+ }
69
+ when 9
70
+ bonus = { :base_attack_bonus => [4],
71
+ :fort_save => 3,
72
+ :ref_save => 3,
73
+ :will_save => 6,
74
+ :granted_features => [],
75
+ :choices => []
76
+ }
77
+ when 10
78
+ bonus = { :base_attack_bonus => [5],
79
+ :fort_save => 3,
80
+ :ref_save => 3,
81
+ :will_save => 7,
82
+ :choices => [ ChooseWizardBonusFeat.new],
83
+ :granted_features => [],
84
+ }
85
+ when 11
86
+ bonus = { :base_attack_bonus => [5],
87
+ :fort_save => 3,
88
+ :ref_save => 3,
89
+ :will_save => 7,
90
+ :granted_features => [],
91
+ :choices => []
92
+ }
93
+ when 12
94
+ bonus = { :base_attack_bonus => [6,1],
95
+ :fort_save => 4,
96
+ :ref_save => 4,
97
+ :will_save => 8,
98
+ :granted_features => [],
99
+ :choices => []
100
+ }
101
+ when 13
102
+ bonus = { :base_attack_bonus => [6,1],
103
+ :fort_save => 4,
104
+ :ref_save => 4,
105
+ :will_save => 8,
106
+ :granted_features => [],
107
+ :choices => []
108
+ }
109
+ when 14
110
+ bonus = { :base_attack_bonus => [7,2],
111
+ :fort_save => 4,
112
+ :ref_save => 4,
113
+ :will_save => 9,
114
+ :choices => [],
115
+ :granted_features => []
116
+ }
117
+ when 15
118
+ bonus = { :base_attack_bonus => [7,2],
119
+ :fort_save => 5,
120
+ :ref_save => 5,
121
+ :will_save => 9,
122
+ :choices => [ ChooseWizardBonusFeat.new],
123
+ :granted_features => [],
124
+ }
125
+ when 16
126
+ bonus = { :base_attack_bonus => [8,3],
127
+ :fort_save => 5,
128
+ :ref_save => 5,
129
+ :will_save => 10,
130
+ :choices => [],
131
+ :granted_features => []
132
+ }
133
+ when 17
134
+ bonus = { :base_attack_bonus => [8,3],
135
+ :fort_save => 5,
136
+ :ref_save => 5,
137
+ :will_save => 10,
138
+ :granted_features => [],
139
+ :choices => []
140
+ }
141
+ when 18
142
+ bonus = { :base_attack_bonus => [9,4],
143
+ :fort_save => 6,
144
+ :ref_save => 6,
145
+ :will_save => 11,
146
+ :granted_features => [],
147
+ :choices => []
148
+ }
149
+ when 19
150
+ bonus = { :base_attack_bonus => [9,4],
151
+ :fort_save => 6,
152
+ :ref_save => 6,
153
+ :will_save => 11,
154
+ :granted_features => [],
155
+ :choices => []
156
+ }
157
+ when 20
158
+ bonus = { :base_attack_bonus => [10,5],
159
+ :fort_save => 6,
160
+ :ref_save => 6,
161
+ :will_save => 12,
162
+ :granted_features => [],
163
+ :choices => [ ChooseWizardBonusFeat.new]
164
+ }
165
+ end
166
+ bonus
167
+ end
168
+
169
+ def self.familiars
170
+ {
171
+ "Bat" => "Master gains a +3 bonus on Fly checks",
172
+ "Cat" => "Master gains a +3 bonus on Stealth checks",
173
+ "Hawk" => "Master gains a +3 bonus on sight-based and opposed Perception checks in bright light",
174
+ "Lizard" => "Master gains a +3 bonus on Climb checks",
175
+ "Monkey" => "Master gains a +3 bonus on Acrobatics checks",
176
+ "Owl" => "Master gains a +3 bonus on sight-based and opposed Perception checks in shadows or darkness",
177
+ "Rat" => "Master gains a +2 bonus on Fortitude saves",
178
+ "Raven" => "Master gains a +3 bonus on Appraise checks, Speaks one language of its Master",
179
+ "Toad" => "Master gains +3 hit points",
180
+ "Viper" => "Master gains a +3 bonus on Bluff checks",
181
+ "Weasel" => "Master gains a +2 bonus on Reflex saves"
182
+ }
183
+ end
184
+
185
+ def self.bond_objects
186
+ ["amulet", "ring", "staff", "wand","weapon"]
187
+ end
188
+ end
189
+
@@ -0,0 +1,186 @@
1
+ class PfrpgTables::Tables::Heroclasses::Cleric
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 => ["aura", "channelenergy1"],
12
+ :choices =>
13
+ [
14
+ ChooseClericDomain.new,
15
+ ChooseClericDomain.new
16
+ ],
17
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(1)
18
+ }
19
+ when 2
20
+ bonus = { :base_attack_bonus => [1],
21
+ :fort_save => 3,
22
+ :ref_save => 0,
23
+ :will_save => 3,
24
+ :special => {
25
+ :ability => []
26
+ },
27
+ :choices => [],
28
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(2)
29
+ }
30
+ when 3
31
+ bonus = { :base_attack_bonus => [2],
32
+ :fort_save => 3,
33
+ :ref_save => 1,
34
+ :will_save => 3,
35
+ :granted_features => ["channelenergy2"],
36
+ :choices => [],
37
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(3)
38
+ }
39
+ when 4
40
+ bonus = { :base_attack_bonus => [3],
41
+ :fort_save => 4,
42
+ :ref_save => 1,
43
+ :will_save => 4,
44
+ :choices => [],
45
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(4)
46
+ }
47
+ when 5
48
+ bonus = { :base_attack_bonus => [3],
49
+ :fort_save => 4,
50
+ :ref_save => 1,
51
+ :will_save => 4,
52
+ :granted_features => ["channelenergy3"],
53
+ :choices => [],
54
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
55
+ }
56
+ when 6
57
+ bonus = { :base_attack_bonus => [4],
58
+ :fort_save => 5,
59
+ :ref_save => 2,
60
+ :will_save => 5,
61
+ :choices => [],
62
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
63
+ }
64
+ when 7
65
+ bonus = { :base_attack_bonus => [5],
66
+ :fort_save => 5,
67
+ :ref_save => 2,
68
+ :will_save => 5,
69
+ :granted_features => ["channelenergy4"],
70
+ :choices => [],
71
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
72
+ }
73
+ when 8
74
+ bonus = { :base_attack_bonus => [6,1],
75
+ :fort_save => 6,
76
+ :ref_save => 2,
77
+ :will_save => 6,
78
+ :choices => [],
79
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
80
+ }
81
+ when 9
82
+ bonus = { :base_attack_bonus => [6,1],
83
+ :fort_save => 6,
84
+ :ref_save => 3,
85
+ :will_save => 6,
86
+ :granted_features => ["channelenergy5"],
87
+ :choices => [],
88
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
89
+ }
90
+ when 10
91
+ bonus = { :base_attack_bonus => [7,2],
92
+ :fort_save => 7,
93
+ :ref_save => 3,
94
+ :will_save => 7,
95
+ :choices => [],
96
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
97
+ }
98
+ when 11
99
+ bonus = { :base_attack_bonus => [8,3],
100
+ :fort_save => 7,
101
+ :ref_save => 3,
102
+ :will_save => 7,
103
+ :granted_features => ["channelenergy6"],
104
+ :choices => [],
105
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
106
+ }
107
+ when 12
108
+ bonus = { :base_attack_bonus => [9,4],
109
+ :fort_save => 8,
110
+ :ref_save => 4,
111
+ :will_save => 8,
112
+ :choices => [],
113
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(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 => ["channelenergy7"],
121
+ :choices => [],
122
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(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
+ :choices => [],
130
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
131
+ }
132
+ when 15
133
+ bonus = { :base_attack_bonus => [11,6,1],
134
+ :fort_save => 9,
135
+ :ref_save => 5,
136
+ :will_save => 9,
137
+ :granted_features => ["channelenergy8"],
138
+ :choices => [],
139
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
140
+ }
141
+ when 16
142
+ bonus = { :base_attack_bonus => [12,7,2],
143
+ :fort_save => 10,
144
+ :ref_save => 5,
145
+ :will_save => 10,
146
+ :choices => [],
147
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
148
+ }
149
+ when 17
150
+ bonus = { :base_attack_bonus => [12,7,2],
151
+ :fort_save => 10,
152
+ :ref_save => 5,
153
+ :will_save => 10,
154
+ :granted_features => ["channelenergy8"],
155
+ :choices => [],
156
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
157
+ }
158
+ when 18
159
+ bonus = { :base_attack_bonus => [13,8,3],
160
+ :fort_save => 11,
161
+ :ref_save => 6,
162
+ :will_save => 11,
163
+ :choices => [],
164
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
165
+ }
166
+ when 19
167
+ bonus = { :base_attack_bonus => [14,9,4],
168
+ :fort_save => 11,
169
+ :ref_save => 6,
170
+ :will_save => 11,
171
+ :granted_features => ["channelenergy9"],
172
+ :choices => [],
173
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
174
+ }
175
+ when 20
176
+ bonus = { :base_attack_bonus => [15,10,5],
177
+ :fort_save => 12,
178
+ :ref_save => 6,
179
+ :will_save => 12,
180
+ :choices => [],
181
+ :spells_per_day => Tables::Spells::SpellsPerDay.Cleric(level)
182
+ }
183
+ end
184
+ bonus
185
+ end
186
+ end
@@ -0,0 +1,92 @@
1
+ class PfrpgTables::Tables::Heroclasses::DragonDisciple
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 => 1,
9
+ :ref_save => 0,
10
+ :will_save => 1,
11
+ :granted_features => ["bloodofdragons", "naturalarmorincrease1"],
12
+ :prestige_spells => 0
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 => ["abilityboost_str", "dragonbite"],
20
+ :choices => [ ChooseBloodlineFeat.new ],
21
+ :prestige_spells => 1
22
+ }
23
+ when 3
24
+ bonus = { :base_attack_bonus => [2],
25
+ :fort_save => 2,
26
+ :ref_save => 1,
27
+ :will_save => 2,
28
+ :granted_features => ["breathweapon"],
29
+ :prestige_spells => 1
30
+ }
31
+ when 4
32
+ bonus = { :base_attack_bonus => [3],
33
+ :fort_save => 2,
34
+ :ref_save => 1,
35
+ :will_save => 2,
36
+ :granted_features => ["abilityboost_str", "naturalarmorincrease2"], #armor increase stacks
37
+ :prestige_spells => 1
38
+ }
39
+ when 5
40
+ bonus = { :base_attack_bonus => [3],
41
+ :fort_save => 3,
42
+ :ref_save => 2,
43
+ :will_save => 3,
44
+ :granted_features => ["blindsense"],
45
+ :choices => [ ChooseBloodlineFeat.new ],
46
+ :prestige_spells => 0
47
+ }
48
+ when 6
49
+ bonus = { :base_attack_bonus => [4],
50
+ :fort_save => 3,
51
+ :ref_save => 2,
52
+ :will_save => 3,
53
+ :granted_features => ["abilityboost_con"],
54
+ :prestige_spells => 1
55
+ }
56
+ when 7
57
+ bonus = { :base_attack_bonus => [5],
58
+ :fort_save => 4,
59
+ :ref_save => 2,
60
+ :will_save => 4,
61
+ :granted_features => ["dragonform", "naturalarmorincrease3"], #armor increase stacks
62
+ :prestige_spells => 1
63
+ }
64
+ when 8
65
+ bonus = { :base_attack_bonus => [6],
66
+ :fort_save => 4,
67
+ :ref_save => 3,
68
+ :will_save => 4,
69
+ :granted_features => ["abilityboost_int"],
70
+ :choices => [ ChooseBloodlineFeat.new ],
71
+ :prestige_spells => 1
72
+ }
73
+ when 9
74
+ bonus = { :base_attack_bonus => [6],
75
+ :fort_save => 5,
76
+ :ref_save => 3,
77
+ :will_save => 5,
78
+ :granted_features => ["wings"],
79
+ :prestige_spells => 0
80
+ }
81
+ when 10
82
+ bonus = { :base_attack_bonus => [7],
83
+ :fort_save => 5,
84
+ :ref_save => 3,
85
+ :will_save => 5,
86
+ :granted_features => [],
87
+ :prestige_spells => 1
88
+ }
89
+ end
90
+ bonus
91
+ end
92
+ end