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,82 @@
1
+ class PfrpgTables::Tables::Heroclasses::Shadowdancer
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 => ["hideinplainsight"]
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 => ["evasion", "darkvision", "uncannydodge"]
19
+ }
20
+ when 3
21
+ bonus = { :base_attack_bonus => [1],
22
+ :fort_save => 1,
23
+ :ref_save => 2,
24
+ :will_save => 1,
25
+ :choices => [ChooseRogueTalent.new],
26
+ :granted_features => ["shadowillusion", "summonshadow"]
27
+ }
28
+ when 4
29
+ bonus = { :base_attack_bonus => [3],
30
+ :fort_save => 1,
31
+ :ref_save => 2,
32
+ :will_save => 1,
33
+ :granted_features => ["shadowcall", "shadowjump"]
34
+ }
35
+ when 5
36
+ bonus = { :base_attack_bonus => [3],
37
+ :fort_save => 2,
38
+ :ref_save => 3,
39
+ :will_save => 3,
40
+ :granted_features => ["defensiveroll", "improveduncannydodge"]
41
+ }
42
+ when 6
43
+ bonus = { :base_attack_bonus => [4],
44
+ :fort_save => 2,
45
+ :ref_save => 3,
46
+ :will_save => 2,
47
+ :choices => [ChooseRogueTalent.new],
48
+ :granted_features => []
49
+ }
50
+ when 7
51
+ bonus = { :base_attack_bonus => [5],
52
+ :fort_save => 2,
53
+ :ref_save => 4,
54
+ :will_save => 2,
55
+ :granted_features => ["slipperymind"]
56
+ }
57
+ when 8
58
+ bonus = { :base_attack_bonus => [6],
59
+ :fort_save => 3,
60
+ :ref_save => 4,
61
+ :will_save => 3,
62
+ :granted_features => [ "shadowpower"]
63
+ }
64
+ when 9
65
+ bonus = { :base_attack_bonus => [6],
66
+ :fort_save => 3,
67
+ :ref_save => 5,
68
+ :will_save => 3,
69
+ :granted_features => [], #choose rogue talent
70
+ :choices => [ChooseRogueTalent.new]
71
+ }
72
+ when 10
73
+ bonus = { :base_attack_bonus => [7],
74
+ :fort_save => 3,
75
+ :ref_save => 5,
76
+ :will_save => 3,
77
+ :granted_features => ["improvedevasion", "shadowmaster"]
78
+ }
79
+ end
80
+ bonus
81
+ end
82
+ end
@@ -0,0 +1,169 @@
1
+ class PfrpgTables::Tables::Heroclasses::Sorcerer
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
+ :granted_features => ["cantrips", "eschew_materials"],
11
+ :choices => [ChooseBloodline.new, ChooseSorcererSpells.new]
12
+ }
13
+ when 2
14
+ bonus = { :base_attack_bonus => [1],
15
+ :fort_save => 0,
16
+ :ref_save => 0,
17
+ :will_save => 3,
18
+ :granted_features => [],
19
+ :choices => [ ChooseSorcererSpells.new ]
20
+ }
21
+ when 3
22
+ bonus = { :base_attack_bonus => [1],
23
+ :fort_save => 1,
24
+ :ref_save => 1,
25
+ :will_save => 3,
26
+ :granted_features => [ ],
27
+ :choices => [ ChooseSorcererSpells.new ]
28
+ }
29
+ when 4
30
+ bonus = { :base_attack_bonus => [2],
31
+ :fort_save => 1,
32
+ :ref_save => 1,
33
+ :will_save => 4,
34
+ :granted_features => [],
35
+ :choices => [ ChooseSorcererSpells.new ]
36
+ }
37
+ when 5
38
+ bonus = { :base_attack_bonus => [2],
39
+ :fort_save => 1,
40
+ :ref_save => 1,
41
+ :will_save => 4,
42
+ :choices => [ChooseSorcererSpells.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
+ :granted_features => [],
51
+ :choices => [ ChooseSorcererSpells.new ]
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 => [ ChooseSorcererSpells.new, ChooseBloodlineFeat.new ]
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 => [ ChooseSorcererSpells.new ]
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 => [ ChooseSorcererSpells.new ]
76
+ }
77
+ when 10
78
+ bonus = { :base_attack_bonus => [5],
79
+ :fort_save => 3,
80
+ :ref_save => 3,
81
+ :will_save => 7,
82
+ :granted_features => [],
83
+ :choices => [ ChooseSorcererSpells.new ]
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 => [ ChooseSorcererSpells.new ]
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 => [ ChooseSorcererSpells.new ]
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 => [ ChooseSorcererSpells.new, ChooseBloodlineFeat.new ]
108
+ }
109
+ when 14
110
+ bonus = { :base_attack_bonus => [7,2],
111
+ :fort_save => 4,
112
+ :ref_save => 4,
113
+ :will_save => 9,
114
+ :granted_features => [],
115
+ :choices => [ ChooseSorcererSpells.new ]
116
+ }
117
+ when 15
118
+ bonus = { :base_attack_bonus => [7,2],
119
+ :fort_save => 5,
120
+ :ref_save => 5,
121
+ :will_save => 9,
122
+ :granted_features => [ ],
123
+ :choices => [ ChooseSorcererSpells.new ]
124
+ }
125
+ when 16
126
+ bonus = { :base_attack_bonus => [8,3],
127
+ :fort_save => 5,
128
+ :ref_save => 5,
129
+ :will_save => 10,
130
+ :granted_features => [],
131
+ :choices => [ ChooseSorcererSpells.new ]
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 => [ ChooseSorcererSpells.new ]
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 => [ ChooseSorcererSpells.new ]
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 => [ ChooseSorcererSpells.new, ChooseBloodlineFeat.new ]
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 => [ ChooseSorcererSpells.new ]
164
+ }
165
+ end
166
+ bonus
167
+ end
168
+ end
169
+
@@ -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,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
+