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,97 @@
1
+ class PfrpgClasses::Ranger < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Ranger"
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
+ 175
17
+ end
18
+
19
+ def bonuses_for_level(level)
20
+ PfrpgTables::Heroclasses::Ranger.level_bonus(level)
21
+ end
22
+
23
+ def create_feature(f)
24
+ RangerFeature.new(:ability_name => f)
25
+ end
26
+
27
+ def alignment
28
+ PfrpgCore::Alignment.any
29
+ end
30
+
31
+ def skills_per_level
32
+ 6
33
+ end
34
+
35
+ def get_spells_table(level)
36
+ return PfrpgTables::Spells::SpellsPerDay.Ranger(level)
37
+ end
38
+
39
+ def spells_bonus_attr
40
+ "wis"
41
+ end
42
+
43
+ def description
44
+ "Ranger are deft skirmishers, either in melee or at range, capable of skillfully dancing in and out of battle. Their abilities allow them to deal significant harm to specific types of foes, but their skills are valuable against all manner of enemies."
45
+ end
46
+
47
+ def skills
48
+ [PfrpgSkills::Climb.new,
49
+ PfrpgSkills::Craft.new,
50
+ PfrpgSkills::HandleAnimal.new,
51
+ PfrpgSkills::Heal.new,
52
+ PfrpgSkills::Intimidate.new,
53
+ PfrpgSkills::Knowledge.new("Dungeoneering"),
54
+ PfrpgSkills::Knowledge.new("Geography"),
55
+ PfrpgSkills::Knowledge.new("Nature"),
56
+ PfrpgSkills::Perception.new,
57
+ PfrpgSkills::Profession.new,
58
+ PfrpgSkills::Ride.new,
59
+ PfrpgSkills::Spellcraft.new,
60
+ PfrpgSkills::Stealth.new,
61
+ PfrpgSkills::Survival.new,
62
+ PfrpgSkills::Swim.new,
63
+ ]
64
+ end
65
+
66
+ def feature_type
67
+ "RangerFeature"
68
+ end
69
+
70
+ def starting_feats
71
+ [
72
+ "Light Armor Proficiency",
73
+ "Medium Armor Proficiency",
74
+ "Simple Weapon Proficiency",
75
+ "Martial Weapon Proficiency, All"
76
+ ]
77
+ end
78
+
79
+ def favored_enemies
80
+ PfrpgTables::Heroclasses::Ranger.favored_enemies
81
+ end
82
+
83
+ def animals
84
+ PfrpgTables::Heroclasses::Ranger.animals
85
+ end
86
+
87
+ def combat_style_feats(level)
88
+ PfrpgTables::Heroclasses::Ranger.combat_style_feats(level)
89
+ end
90
+
91
+ def suggested_items
92
+ [
93
+ ['Sword, short', 'Sword, short', 'Leather'],
94
+ ['Longbow', 'Leather', 'Arrow(s), common (20)']
95
+ ]
96
+ end
97
+ end
@@ -0,0 +1,90 @@
1
+ class PfrpgClasses::Rogue < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Rogue"
5
+ end
6
+
7
+ def heroclass_id
8
+ 2
9
+ end
10
+
11
+ def hit_die
12
+ PfrpgCore::Dice.new(1,8)
13
+ end
14
+
15
+ def starting_wealth
16
+ PfrpgCore::Dice.new(4,6, multiplier = 10)
17
+ end
18
+
19
+ def starting_wealth_avg
20
+ 140
21
+ end
22
+
23
+ def bonuses_for_level(level)
24
+ PfrpgTables::Heroclasses::Rogue.level_bonus(level)
25
+ end
26
+
27
+ def create_feature(f)
28
+ RogueFeature.new(:ability_name => f)
29
+ end
30
+
31
+ def alignment
32
+ PfrpgCore::Alignment.any
33
+ end
34
+
35
+ def skills_per_level
36
+ 8
37
+ end
38
+
39
+ def get_spells_table(level)
40
+ return PfrpgTables::Spells::SpellsPerDay.empty
41
+ end
42
+
43
+ def description
44
+ "Rogues excel at moving about unseen and catching foes unaware, and tend to avoid head-to-head combat. Their varied skills and abilities allow them to be highly versatile, with great variations in expertise existing between different rogues. Most, however, excel in overcoming hindrances of all types, from unlocking doors and disarming traps to outwitting magical hazards and conning dull-witted opponents."
45
+ end
46
+
47
+ def skills
48
+ [PfrpgSkills::Acrobatics.new,
49
+ PfrpgSkills::Appraise.new,
50
+ PfrpgSkills::Bluff.new,
51
+ PfrpgSkills::Climb.new,
52
+ PfrpgSkills::Craft.new,
53
+ PfrpgSkills::Diplomacy.new,
54
+ PfrpgSkills::DisableDevice.new,
55
+ PfrpgSkills::Disguise.new,
56
+ PfrpgSkills::EscapeArtist.new,
57
+ PfrpgSkills::Intimidate.new,
58
+ PfrpgSkills::Knowledge.new("Dungeoneering"),
59
+ PfrpgSkills::Knowledge.new("Local"),
60
+ PfrpgSkills::Linguistics.new,
61
+ PfrpgSkills::Perception.new,
62
+ PfrpgSkills::Perform.new,
63
+ PfrpgSkills::Profession.new,
64
+ PfrpgSkills::SenseMotive.new,
65
+ PfrpgSkills::SleightOfHand.new,
66
+ PfrpgSkills::Stealth.new,
67
+ PfrpgSkills::Swim.new,
68
+ PfrpgSkills::UseMagicDevice.new
69
+ ]
70
+ end
71
+
72
+ def feature_type
73
+ "RogueFeature"
74
+ end
75
+
76
+ def starting_feats
77
+ [
78
+ "Light Armor Proficiency",
79
+ "Simple Weapon Proficiency",
80
+ "Rogue Weapon Proficiency"
81
+ ]
82
+ end
83
+
84
+ def suggested_items
85
+ [
86
+ ['Sword, short', 'Sword, short', 'Leather'],
87
+ ['Longbow', 'Leather', 'Arrow(s), common (20)']
88
+ ]
89
+ end
90
+ end
@@ -0,0 +1,62 @@
1
+ class PfrpgClasses::Shadowdancer < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Shadowdancer"
5
+ end
6
+
7
+ def prestige
8
+ true
9
+ end
10
+
11
+ def hit_die
12
+ PfrpgCore::Dice.new(1,8)
13
+ end
14
+
15
+ def alignment
16
+ PfrpgCore::Alignment.any
17
+ end
18
+
19
+ def description
20
+ "Shadowdancers adventure for a wide variety of reasons. Many adventuring parties find shadowdancers valuable members of their teams due to their incredible stealth and ability to surprise enemies with lightning-quick attacks where they're least expected. For this reason, their services are often sought out by those groups in need of scouts or spies."
21
+ end
22
+
23
+ def skills
24
+ [PfrpgSkills::Acrobatics.new,
25
+ PfrpgSkills::Bluff.new,
26
+ PfrpgSkills::Diplomacy.new,
27
+ PfrpgSkills::Disguise.new,
28
+ PfrpgSkills::EscapeArtist.new,
29
+ PfrpgSkills::Perception.new,
30
+ PfrpgSkills::Perform.new,
31
+ PfrpgSkills::SleightOfHand.new,
32
+ PfrpgSkills::Stealth.new,
33
+ ]
34
+ end
35
+
36
+ def bonuses_for_level(level)
37
+ PfrpgTables::Heroclasses::Shadowdancer.level_bonus(level)
38
+ end
39
+
40
+ def get_spells_table
41
+ return PfrpgTables::Spells::SpellsPerDay.empty
42
+ end
43
+
44
+ def skills_per_level
45
+ 6
46
+ end
47
+
48
+ def feature_type
49
+ 'ShadowdancerFeature'
50
+ end
51
+
52
+ def prerequisites
53
+ [
54
+ PfrpgCore::Prerequisite::SkillPrereq.new('stealth', 5),
55
+ PfrpgCore::Prerequisite::SkillPrereq.new('perform', 2),
56
+ PfrpgCore::Prerequisite::FeatPrereq.new('Combat Reflexes', nil),
57
+ PfrpgCore::Prerequisite::FeatPrereq.new('Dodge', nil),
58
+ PfrpgCore::Prerequisite::FeatPrereq.new('Mobility', nil),
59
+ ]
60
+ end
61
+
62
+ end
@@ -0,0 +1,81 @@
1
+ class PfrpgClasses::Sorcerer < PfrpgClasses::Heroclass
2
+
3
+ def name
4
+ "Sorcerer"
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::Sorcerer.level_bonus(level)
21
+ end
22
+
23
+ def create_feature(f)
24
+ SorcererFeature.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.Sorcerer(level)
37
+ end
38
+
39
+ def spells_bonus_attr
40
+ "cha"
41
+ end
42
+
43
+ def description
44
+ "Sorcerers excel at casting a selection of favored spells frequently, making them powerful battle mages. As they become familiar with a specific and ever-widening set of spells, sorcerers often discover new and versatile ways of making use of magics other spellcasters might overlook. Their bloodlines also grant them additional abilities, assuring that no two sorcerers are ever quite alike."
45
+ end
46
+
47
+ def skills
48
+ [PfrpgSkills::Appraise.new,
49
+ PfrpgSkills::Bluff.new,
50
+ PfrpgSkills::Craft.new,
51
+ PfrpgSkills::Fly.new,
52
+ PfrpgSkills::Intimidate.new,
53
+ PfrpgSkills::Knowledge.new('Arcana'),
54
+ PfrpgSkills::Profession.new,
55
+ PfrpgSkills::Spellcraft.new,
56
+ PfrpgSkills::UseMagicDevice.new
57
+ ]
58
+ end
59
+
60
+ def feature_type
61
+ "SorcererFeature"
62
+ end
63
+
64
+ def spells_known(level)
65
+ return PfrpgTables::Spells.sorcerer_spells_known[level]
66
+ end
67
+
68
+ def starting_feats
69
+ [
70
+ "Simple Weapon Proficiency"
71
+ ]
72
+ end
73
+
74
+ def suggested_items
75
+ [
76
+ ['Quarterstaff'],
77
+ ['Dagger']
78
+ ]
79
+ end
80
+ end
81
+
@@ -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,3 @@
1
+ module PfrpgClasses
2
+ VERSION = "0.0.1"
3
+ 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
+