pfrpg_classes 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/lib/pfrpg_classes/heroclass/alchemist.rb +92 -0
  3. data/lib/pfrpg_classes/heroclass/arcane_archer.rb +57 -0
  4. data/lib/pfrpg_classes/heroclass/arcane_trickster.rb +76 -0
  5. data/lib/pfrpg_classes/heroclass/assassin.rb +67 -0
  6. data/lib/pfrpg_classes/heroclass/barbarian.rb +77 -0
  7. data/lib/pfrpg_classes/heroclass/bard.rb +98 -0
  8. data/lib/pfrpg_classes/heroclass/cavalier.rb +92 -0
  9. data/lib/pfrpg_classes/heroclass/cleric.rb +87 -0
  10. data/lib/pfrpg_classes/heroclass/dragon_disciple.rb +66 -0
  11. data/lib/pfrpg_classes/heroclass/druid.rb +175 -0
  12. data/lib/pfrpg_classes/heroclass/duelist.rb +60 -0
  13. data/lib/pfrpg_classes/heroclass/eldritch_knight.rb +60 -0
  14. data/lib/pfrpg_classes/heroclass/fighter.rb +75 -0
  15. data/lib/pfrpg_classes/heroclass/gunslinger.rb +92 -0
  16. data/lib/pfrpg_classes/heroclass/inquisitor.rb +92 -0
  17. data/lib/pfrpg_classes/heroclass/loremaster.rb +95 -0
  18. data/lib/pfrpg_classes/heroclass/magus.rb +92 -0
  19. data/lib/pfrpg_classes/heroclass/monk.rb +96 -0
  20. data/lib/pfrpg_classes/heroclass/mystic_theurge.rb +58 -0
  21. data/lib/pfrpg_classes/heroclass/oracle.rb +92 -0
  22. data/lib/pfrpg_classes/heroclass/paladin.rb +119 -0
  23. data/lib/pfrpg_classes/heroclass/pathfinder_chronicler.rb +82 -0
  24. data/lib/pfrpg_classes/heroclass/ranger.rb +97 -0
  25. data/lib/pfrpg_classes/heroclass/rogue.rb +90 -0
  26. data/lib/pfrpg_classes/heroclass/shadowdancer.rb +62 -0
  27. data/lib/pfrpg_classes/heroclass/sorcerer.rb +81 -0
  28. data/lib/pfrpg_classes/heroclass/summoner.rb +92 -0
  29. data/lib/pfrpg_classes/heroclass/version.rb +3 -0
  30. data/lib/pfrpg_classes/heroclass/witch.rb +92 -0
  31. data/lib/pfrpg_classes/heroclass/wizard.rb +92 -0
  32. data/lib/pfrpg_classes/heroclass.rb +160 -0
  33. data/lib/pfrpg_classes/version.rb +3 -0
  34. data/lib/pfrpg_classes.rb +25 -0
  35. metadata +104 -0
@@ -0,0 +1,66 @@
1
+ class PfrpgClasses::DragonDisciple < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Dragon Disciple"
5
+ end
6
+
7
+ def prestige
8
+ true
9
+ end
10
+
11
+ def hit_die
12
+ PfrpgCore::Dice.new(1,12)
13
+ end
14
+
15
+ def alignment
16
+ PfrpgCore::Alignment.any
17
+ end
18
+
19
+ def description
20
+ "With the magic of a spellcasting class at their disposal, dragon disciples can assume the typical role of a magic-user, hampering the movement of the enemy and hurling damage-dealing spells at their opponents. Dragon disciples' draconic abilities, however, make these versatile spellcasters even more formidable, as they use their breath weapons and flight to destroy their foes directly."
21
+ end
22
+
23
+ def skills
24
+ [
25
+ PfrpgSkills::Diplomacy.new,
26
+ PfrpgSkills::EscapeArtist.new,
27
+ PfrpgSkills::Fly.new,
28
+ PfrpgSkills::Knowledge.new("Arcana"),
29
+ PfrpgSkills::Knowledge.new("Dungeoneering"),
30
+ PfrpgSkills::Knowledge.new("Local"),
31
+ PfrpgSkills::Knowledge.new("History"),
32
+ PfrpgSkills::Knowledge.new("Nobility"),
33
+ PfrpgSkills::Knowledge.new("Planes"),
34
+ PfrpgSkills::Knowledge.new("Religion"),
35
+ PfrpgSkills::Knowledge.new("Nature"),
36
+ PfrpgSkills::Knowledge.new("Engineering"),
37
+ PfrpgSkills::Knowledge.new("Geography"),
38
+ PfrpgSkills::Perception.new,
39
+ PfrpgSkills::Spellcraft.new,
40
+ ]
41
+ end
42
+
43
+ def bonuses_for_level(level)
44
+ PfrpgTables::Heroclasses::DragonDisciple.level_bonus(level)
45
+ end
46
+
47
+ def get_spells_table
48
+ return PfrpgTables::Spells::SpellsPerDay.empty
49
+ end
50
+
51
+ def skills_per_level
52
+ 2
53
+ end
54
+
55
+ def feature_type
56
+ 'DragonDiscipleFeature'
57
+ end
58
+
59
+ def prerequisites
60
+ [
61
+ PfrpgCore::Prerequisite::SkillPrereq.new('knowledge : arcana', 4),
62
+ PfrpgCore::Prerequisite::LanguagePrereq.new(nil, 'Draconic'),
63
+ PfrpgCore::Prerequisite::MiscPrereq.new('caster', nil)
64
+ ]
65
+ end
66
+ end
@@ -0,0 +1,175 @@
1
+ class PfrpgClasses::Druid < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Druid"
5
+ end
6
+
7
+ def hit_die
8
+ PfrpgCore::Dice.new(1,8)
9
+ end
10
+
11
+ def starting_wealth
12
+ PfrpgCore::Dice.new(2,6, multiplier = 10)
13
+ end
14
+
15
+ def starting_wealth_avg
16
+ 70
17
+ end
18
+
19
+ def bonuses_for_level(level)
20
+ PfrpgTables::Heroclasses::Druid.level_bonus(level)
21
+ end
22
+
23
+ def create_feature(f)
24
+ DruidFeature.new(:ability_name => f)
25
+ end
26
+
27
+ def alignment
28
+ PfrpgCore::Alignment.any_neutral #???
29
+ end
30
+
31
+ def skills_per_level
32
+ 4
33
+ end
34
+
35
+ def get_spells_table(level)
36
+ return PfrpgTables::Spells::SpellsPerDay.Druid(level)
37
+ end
38
+
39
+ def spells_bonus_attr
40
+ "wis"
41
+ end
42
+
43
+ def description
44
+ "While some druids might keep to the fringe of battle, allowing companions and summoned creatures to fight while they confound foes with the powers of nature, others transform into deadly beasts and savagely wade into combat. Druids worship personifications of elemental forces, natural powers, or nature itself. Typically this means devotion to a nature deity, though druids are just as likely to revere vague spirits, animalistic demigods, or even specific awe-inspiring natural wonders."
45
+ end
46
+
47
+ def skills
48
+ [PfrpgSkills::Climb.new,
49
+ PfrpgSkills::Craft.new,
50
+ PfrpgSkills::Fly.new,
51
+ PfrpgSkills::HandleAnimal.new,
52
+ PfrpgSkills::Heal.new,
53
+ PfrpgSkills::Knowledge.new("Geography"),
54
+ PfrpgSkills::Knowledge.new("Nature"),
55
+ PfrpgSkills::Perception.new,
56
+ PfrpgSkills::Profession.new,
57
+ PfrpgSkills::Ride.new,
58
+ PfrpgSkills::Spellcraft.new,
59
+ PfrpgSkills::Survival.new,
60
+ PfrpgSkills::Swim.new,
61
+ ]
62
+ end
63
+
64
+ def feature_type
65
+ "DruidFeature"
66
+ end
67
+
68
+ def starting_feats
69
+ [
70
+ "Druid Weapon Proficiency",
71
+ "Light Armor Proficiency",
72
+ "Medium Armor Proficiency",
73
+ "Shield Proficiency"
74
+ ]
75
+ end
76
+
77
+ def animal_companions
78
+ [
79
+ 'Allosaurus',
80
+ 'Ankylosaurus',
81
+ 'Ant, giant',
82
+ 'Antelope',
83
+ 'Ape',
84
+ 'Archelon',
85
+ 'Arsinoitherium',
86
+ 'Aurochs',
87
+ 'Axe beak',
88
+ 'Baboon',
89
+ 'Badger',
90
+ 'Baluchitherium',
91
+ 'Basilosaurus',
92
+ 'Bat, dire',
93
+ 'Bear',
94
+ 'Beetle, giant',
95
+ 'Bird',
96
+ 'Boar',
97
+ 'Brachiosaurus',
98
+ 'Camel',
99
+ 'Cat, big',
100
+ 'Cat, Small1',
101
+ 'Centipede, giant',
102
+ 'Chameleon, giant',
103
+ 'Crab, Giant',
104
+ 'Crocodile',
105
+ 'Deinonychus',
106
+ 'Dimetrodon',
107
+ 'Dimorphodon',
108
+ 'Dog',
109
+ 'Dolphin',
110
+ 'Eel, electric',
111
+ 'Elasmosaurus',
112
+ 'Elephant',
113
+ 'Elk',
114
+ 'Frog, giant',
115
+ 'Gar',
116
+ 'Gecko, giant',
117
+ 'Goblin dog',
118
+ 'Glyptodon',
119
+ 'Hippopotamus',
120
+ 'Horse',
121
+ 'Hyena',
122
+ 'Iguanodon',
123
+ 'Kangaroo',
124
+ 'Llama',
125
+ 'Leech, giant',
126
+ 'Manta ray',
127
+ 'Mantis, giant',
128
+ 'Megalania',
129
+ 'Megaloceros',
130
+ 'Megatherium',
131
+ 'Monitor lizard',
132
+ 'Moose',
133
+ 'Moray eel, giant',
134
+ 'Octopus',
135
+ 'Orca',
136
+ 'Pachycephalosaurus',
137
+ 'Panda',
138
+ 'Parasaurolophus',
139
+ 'Pony',
140
+ 'Pteranodon',
141
+ 'Quetzalcoatlus',
142
+ 'Ram',
143
+ 'Rat, dire',
144
+ 'Rhinoceros',
145
+ 'Roc',
146
+ 'Scorpion, giant',
147
+ 'Shark1',
148
+ 'Slug, giant',
149
+ 'Snake, constrictor',
150
+ 'Snake, viper',
151
+ 'Snapping turtle',
152
+ 'Spider, giant',
153
+ 'Spinosaurus',
154
+ 'Squid',
155
+ 'Stegosaurus',
156
+ 'Stingray',
157
+ 'Thylacine',
158
+ 'Toad, giant',
159
+ 'Triceratops',
160
+ 'Tylosaurus',
161
+ 'Tyrannosaurus',
162
+ 'Vulture, giant',
163
+ 'Walrus',
164
+ 'Wasp, giant',
165
+ 'Wolf',
166
+ ]
167
+ end
168
+
169
+ def suggested_items
170
+ [
171
+ ['Club', 'Leather', 'Buckler'],
172
+ ['Quarterstaff', 'Leather']
173
+ ]
174
+ end
175
+ end
@@ -0,0 +1,60 @@
1
+ class PfrpgClasses::Duelist < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Duelist"
5
+ end
6
+
7
+ def prestige
8
+ true
9
+ end
10
+
11
+ def hit_die
12
+ PfrpgCore::Dice.new(1,10)
13
+ end
14
+
15
+ def alignment
16
+ PfrpgCore::Alignment.any
17
+ end
18
+
19
+ def description
20
+ "The abilities of duelists complement those rogues or bards who wish to accentuate their fighting prowess but, because of their lack of heavy armor, are afraid to leap into combat. Duelists fight in the forefront alongside fighters, barbarians, and other melee combatants, deftly avoiding the blades of their opponents while expertly targeting their vulnerabilities."
21
+ end
22
+
23
+ def skills
24
+ [PfrpgSkills::Acrobatics.new,
25
+ PfrpgSkills::Bluff.new,
26
+ PfrpgSkills::EscapeArtist.new,
27
+ PfrpgSkills::Perception.new,
28
+ PfrpgSkills::Perform.new,
29
+ PfrpgSkills::SenseMotive.new
30
+ ]
31
+ end
32
+
33
+ def bonuses_for_level(level)
34
+ PfrpgTables::Heroclasses::Duelist.level_bonus(level)
35
+ end
36
+
37
+ def get_spells_table
38
+ return PfrpgTables::Spells::SpellsPerDay.empty
39
+ end
40
+
41
+ def skills_per_level
42
+ 4
43
+ end
44
+
45
+ def feature_type
46
+ 'DuelistFeature'
47
+ end
48
+
49
+ def prerequisites
50
+ [
51
+ PfrpgCore::Prerequisite::BabPrereq.new(nil, 6),
52
+ PfrpgCore::Prerequisite::SkillPrereq.new('acrobatics', 2),
53
+ PfrpgCore::Prerequisite::SkillPrereq.new('perform', 2),
54
+ PfrpgCore::Prerequisite::FeatPrereq.new('Dodge', nil),
55
+ PfrpgCore::Prerequisite::FeatPrereq.new('Mobility', nil),
56
+ PfrpgCore::Prerequisite::FeatPrereq.new('Weapon Finesse', nil),
57
+ ]
58
+ end
59
+
60
+ end
@@ -0,0 +1,60 @@
1
+ class PfrpgClasses::EldritchKnight < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Eldritch Knight"
5
+ end
6
+
7
+ def prestige
8
+ true
9
+ end
10
+
11
+ def hit_die
12
+ PfrpgCore::Dice.new(1,10)
13
+ end
14
+
15
+ def alignment
16
+ PfrpgCore::Alignment.any
17
+ end
18
+
19
+ def description
20
+ "Eldritch knights blend the abilities of fighting classes and spellcasters, hurling magic at the enemy one moment and hewing down their opponents with steel the next. They are just as comfortable fighting in the thick of combat as they are casting spells at foes while remaining safely behind their compatriots. Their versatility makes them valuable allies when the nature of an upcoming battle is unclear."
21
+ end
22
+
23
+ def feature_type
24
+ 'EldritchKnightFeature'
25
+ end
26
+
27
+ def skills
28
+ [
29
+ PfrpgSkills::Climb.new,
30
+ PfrpgSkills::Knowledge.new('Arcana'),
31
+ PfrpgSkills::Knowledge.new('Nobility'),
32
+ PfrpgSkills::Linguistics.new,
33
+ PfrpgSkills::Ride.new,
34
+ PfrpgSkills::SenseMotive.new,
35
+ PfrpgSkills::Spellcraft.new,
36
+ PfrpgSkills::Swim.new
37
+ ]
38
+ end
39
+
40
+ def bonuses_for_level(level)
41
+ PfrpgTables::Heroclasses::EldritchKnight.level_bonus(level)
42
+ end
43
+
44
+ def get_spells_table
45
+ return PfrpgTables::Spells::SpellsPerDay.empty
46
+ end
47
+
48
+ def skills_per_level
49
+ 2
50
+ end
51
+
52
+
53
+ def prerequisites
54
+ [
55
+ PfrpgCore::Prerequisite::FeatPrereq.new('Martial Weapon Proficiency, All', nil),
56
+ PfrpgCore::Prerequisite::MiscPrereq.new('caster level', 3)
57
+ ]
58
+ end
59
+
60
+ end
@@ -0,0 +1,75 @@
1
+ class PfrpgClasses::Fighter < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Fighter"
5
+ end
6
+
7
+ def hit_die
8
+ PfrpgCore::Dice.new(1,10)
9
+ end
10
+
11
+ def starting_wealth
12
+ PfrpgCore::Dice.new(5,6, multiplier = 10)
13
+ end
14
+
15
+ def starting_wealth_avg
16
+ 140
17
+ end
18
+
19
+ def alignment
20
+ PfrpgCore::Alignment.any
21
+ end
22
+
23
+ def description
24
+ "Fighters excel at combat—defeating their enemies, controlling the flow of battle, and surviving such sorties themselves. While their specific weapons and methods grant them a wide variety of tactics, few can match fighters for sheer battle prowess."
25
+ end
26
+
27
+ def skills
28
+ [
29
+ PfrpgSkills::Climb.new,
30
+ PfrpgSkills::Craft.new,
31
+ PfrpgSkills::HandleAnimal.new,
32
+ PfrpgSkills::Intimidate.new,
33
+ PfrpgSkills::Knowledge.new('Dungeoneering'),
34
+ PfrpgSkills::Knowledge.new('Engineering'),
35
+ PfrpgSkills::Profession.new,
36
+ PfrpgSkills::Ride.new,
37
+ PfrpgSkills::Survival.new,
38
+ PfrpgSkills::Swim.new
39
+ ]
40
+ end
41
+
42
+ def bonuses_for_level(level)
43
+ PfrpgTables::Heroclasses::Fighter.level_bonus(level)
44
+ end
45
+
46
+ def get_spells_table(level)
47
+ return PfrpgTables::Spells::SpellsPerDay.empty
48
+ end
49
+
50
+ def skills_per_level
51
+ 2
52
+ end
53
+
54
+ def feature_type
55
+ 'FighterFeature'
56
+ end
57
+
58
+ def starting_feats
59
+ [
60
+ "Light Armor Proficiency",
61
+ "Medium Armor Proficiency",
62
+ "Heavy Armor Proficiency",
63
+ "Shield Armor Proficiency",
64
+ "Simple Weapon Proficiency",
65
+ "Martial Weapon Proficiency, All",
66
+ ]
67
+ end
68
+
69
+ def suggested_items
70
+ [
71
+ ['Longsword', 'Scale mail', 'Shield, light steel'],
72
+ ['Greatsword', 'Scale mail']
73
+ ]
74
+ end
75
+ end
@@ -0,0 +1,92 @@
1
+ class PfrpgClasses::Wizard < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Wizard"
5
+ end
6
+
7
+ def hit_die
8
+ PfrpgCore::Dice.new(1,6)
9
+ end
10
+
11
+ def starting_wealth
12
+ PfrpgCore::Dice.new(2,6, multiplier = 10)
13
+ end
14
+
15
+ def starting_wealth_avg
16
+ 70
17
+ end
18
+
19
+ def bonuses_for_level(level)
20
+ PfrpgTables::Heroclasses::Wizard.level_bonus(level)
21
+ end
22
+
23
+ def create_feature(f)
24
+ WizardFeature.new(:ability_name => f)
25
+ end
26
+
27
+ def alignment
28
+ PfrpgCore::Alignment.any
29
+ end
30
+
31
+ def skills_per_level
32
+ 2
33
+ end
34
+
35
+ def get_spells_table(level)
36
+ return PfrpgTables::Spells::SpellsPerDay.Wizard(level)
37
+ end
38
+
39
+ def description
40
+ "While universalist wizards might study to prepare themselves for any manner of danger, specialist wizards research schools of magic that make them exceptionally skilled within a specific focus. Yet no matter their specialty, all wizards are masters of the impossible and can aid their allies in overcoming any danger."
41
+ end
42
+
43
+ def spells_bonus_attr
44
+ "int"
45
+ end
46
+
47
+ def skills
48
+ [PfrpgSkills::Appraise.new,
49
+ PfrpgSkills::Craft.new,
50
+ PfrpgSkills::Fly.new,
51
+ PfrpgSkills::Linguistics.new,
52
+ PfrpgSkills::Profession.new,
53
+ PfrpgSkills::Spellcraft.new,
54
+ PfrpgSkills::Knowledge.new('Arcana'),
55
+ PfrpgSkills::Knowledge.new('Dungeoneering'),
56
+ PfrpgSkills::Knowledge.new('Engineering'),
57
+ PfrpgSkills::Knowledge.new('Geography'),
58
+ PfrpgSkills::Knowledge.new('History'),
59
+ PfrpgSkills::Knowledge.new('Local'),
60
+ PfrpgSkills::Knowledge.new('Nature'),
61
+ PfrpgSkills::Knowledge.new('Nobility'),
62
+ PfrpgSkills::Knowledge.new('Planes'),
63
+ PfrpgSkills::Knowledge.new('Religion')
64
+ ]
65
+ end
66
+
67
+ def feature_type
68
+ "WizardFeature"
69
+ end
70
+
71
+ def starting_feats
72
+ [
73
+ "Wizard Weapon Proficiency"
74
+ ]
75
+ end
76
+
77
+ def familiars
78
+ PfrpgTables::Heroclasses::Wizard.familiars
79
+ end
80
+
81
+ def bond_objects
82
+ PfrpgTables::Heroclasses::Wizard.bond_objects
83
+ end
84
+
85
+ def suggested_items
86
+ [
87
+ ['Quarterstaff'],
88
+ ['Dagger']
89
+ ]
90
+ end
91
+ end
92
+
@@ -0,0 +1,92 @@
1
+ class PfrpgClasses::Wizard < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Wizard"
5
+ end
6
+
7
+ def hit_die
8
+ PfrpgCore::Dice.new(1,6)
9
+ end
10
+
11
+ def starting_wealth
12
+ PfrpgCore::Dice.new(2,6, multiplier = 10)
13
+ end
14
+
15
+ def starting_wealth_avg
16
+ 70
17
+ end
18
+
19
+ def bonuses_for_level(level)
20
+ PfrpgTables::Heroclasses::Wizard.level_bonus(level)
21
+ end
22
+
23
+ def create_feature(f)
24
+ WizardFeature.new(:ability_name => f)
25
+ end
26
+
27
+ def alignment
28
+ PfrpgCore::Alignment.any
29
+ end
30
+
31
+ def skills_per_level
32
+ 2
33
+ end
34
+
35
+ def get_spells_table(level)
36
+ return PfrpgTables::Spells::SpellsPerDay.Wizard(level)
37
+ end
38
+
39
+ def description
40
+ "While universalist wizards might study to prepare themselves for any manner of danger, specialist wizards research schools of magic that make them exceptionally skilled within a specific focus. Yet no matter their specialty, all wizards are masters of the impossible and can aid their allies in overcoming any danger."
41
+ end
42
+
43
+ def spells_bonus_attr
44
+ "int"
45
+ end
46
+
47
+ def skills
48
+ [PfrpgSkills::Appraise.new,
49
+ PfrpgSkills::Craft.new,
50
+ PfrpgSkills::Fly.new,
51
+ PfrpgSkills::Linguistics.new,
52
+ PfrpgSkills::Profession.new,
53
+ PfrpgSkills::Spellcraft.new,
54
+ PfrpgSkills::Knowledge.new('Arcana'),
55
+ PfrpgSkills::Knowledge.new('Dungeoneering'),
56
+ PfrpgSkills::Knowledge.new('Engineering'),
57
+ PfrpgSkills::Knowledge.new('Geography'),
58
+ PfrpgSkills::Knowledge.new('History'),
59
+ PfrpgSkills::Knowledge.new('Local'),
60
+ PfrpgSkills::Knowledge.new('Nature'),
61
+ PfrpgSkills::Knowledge.new('Nobility'),
62
+ PfrpgSkills::Knowledge.new('Planes'),
63
+ PfrpgSkills::Knowledge.new('Religion')
64
+ ]
65
+ end
66
+
67
+ def feature_type
68
+ "WizardFeature"
69
+ end
70
+
71
+ def starting_feats
72
+ [
73
+ "Wizard Weapon Proficiency"
74
+ ]
75
+ end
76
+
77
+ def familiars
78
+ PfrpgTables::Heroclasses::Wizard.familiars
79
+ end
80
+
81
+ def bond_objects
82
+ PfrpgTables::Heroclasses::Wizard.bond_objects
83
+ end
84
+
85
+ def suggested_items
86
+ [
87
+ ['Quarterstaff'],
88
+ ['Dagger']
89
+ ]
90
+ end
91
+ end
92
+