pfrpg_races 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/pfrpg_races.rb +13 -0
- data/lib/pfrpg_races/race.rb +59 -0
- data/lib/pfrpg_races/raced.rb +25 -0
- data/lib/pfrpg_races/races/dwarf.rb +96 -0
- data/lib/pfrpg_races/races/elf.rb +78 -0
- data/lib/pfrpg_races/races/gnome.rb +92 -0
- data/lib/pfrpg_races/races/half_elf.rb +76 -0
- data/lib/pfrpg_races/races/half_orc.rb +75 -0
- data/lib/pfrpg_races/races/halfling.rb +87 -0
- data/lib/pfrpg_races/races/human.rb +50 -0
- data/lib/pfrpg_races/racial_trait.rb +23 -0
- data/lib/pfrpg_races/tickle.rb +7 -0
- data/lib/pfrpg_races/version.rb +3 -0
- metadata +84 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 09d9d388d43b7d693fb9cff7beeab07635ce90ec
|
4
|
+
data.tar.gz: f100b530288b5aa9e829a9cb1bbe62494f9f3e60
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e2a96c0bf23452347078fc5457dc5f822a143231dfc42d6009ee9dfccd380bdca448d71e9551756b547b8d8860e3f9799899402ab7f2e25094b84950164303f0
|
7
|
+
data.tar.gz: 8ffa2812d75838b631fe93bffd30eef5ccb2ea3616f94e73196c49d95c7a3642c1523b5f49ce0876871cb2e8837a96ac93304f9d36bda0bddcca7148f1d28f74
|
data/lib/pfrpg_races.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'pfrpg_races/race'
|
2
|
+
require 'pfrpg_races/racial_trait'
|
3
|
+
require 'pfrpg_races/raced'
|
4
|
+
require 'pfrpg_races/races/elf'
|
5
|
+
require 'pfrpg_races/races/dwarf'
|
6
|
+
require 'pfrpg_races/races/halfling'
|
7
|
+
require 'pfrpg_races/races/half_orc'
|
8
|
+
require 'pfrpg_races/races/half_elf'
|
9
|
+
require 'pfrpg_races/races/gnome'
|
10
|
+
require 'pfrpg_races/races/human'
|
11
|
+
|
12
|
+
module PfrpgRules
|
13
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module PfrpgRaces
|
2
|
+
class Race
|
3
|
+
|
4
|
+
def self.fetch(race_str)
|
5
|
+
begin
|
6
|
+
return Object::const_get(race_str).new
|
7
|
+
rescue Exception
|
8
|
+
return nil
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.race_list
|
13
|
+
[
|
14
|
+
Dwarf.new,
|
15
|
+
Human.new,
|
16
|
+
Gnome.new,
|
17
|
+
HalfElf.new,
|
18
|
+
Elf.new,
|
19
|
+
HalfOrc.new,
|
20
|
+
Halfling.new
|
21
|
+
]
|
22
|
+
end
|
23
|
+
|
24
|
+
def size_modifier
|
25
|
+
PfrpgTables::Tables::Size.get_size_modifier(size)
|
26
|
+
end
|
27
|
+
|
28
|
+
def bonus_feats
|
29
|
+
[]
|
30
|
+
end
|
31
|
+
|
32
|
+
def attributes
|
33
|
+
if attribute_bonuses == nil
|
34
|
+
return "You will later get to choose a +2 bonus to one ability score of your choice"
|
35
|
+
else
|
36
|
+
str = ""
|
37
|
+
attribute_bonuses.each do |a|
|
38
|
+
str += "#{a.to_s}, "
|
39
|
+
end
|
40
|
+
return str
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def as_json(options={})
|
45
|
+
{
|
46
|
+
:name => name,
|
47
|
+
:description => description,
|
48
|
+
:languages => languages,
|
49
|
+
:int_languages => int_languages,
|
50
|
+
:speed => speed,
|
51
|
+
:size => size,
|
52
|
+
:weapons => weapon_familiarity,
|
53
|
+
:attributes => attributes,
|
54
|
+
:traits => traits,
|
55
|
+
:source => source
|
56
|
+
}
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module PfrpgRaces
|
2
|
+
module Raced
|
3
|
+
def get_race
|
4
|
+
Race.fetch(self.race)
|
5
|
+
end
|
6
|
+
|
7
|
+
def racial_size
|
8
|
+
r = race
|
9
|
+
if r
|
10
|
+
self.race.size
|
11
|
+
else
|
12
|
+
nil
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def get_racial_stat_bonuses
|
17
|
+
return [] if self.race == nil
|
18
|
+
bonuses = self.race.attribute_bonuses
|
19
|
+
if bonuses.nil? || bonuses.empty?
|
20
|
+
bonuses = self.racial_stat_bonuses
|
21
|
+
end
|
22
|
+
return bonuses
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
class Dwarf < PfrpgRaces::Race
|
2
|
+
|
3
|
+
def name
|
4
|
+
"Dwarf"
|
5
|
+
end
|
6
|
+
|
7
|
+
def description
|
8
|
+
"Dwarves are both tough and wise, but also a bit gruff. They gain +2 Constitution, +2 Wisdom, and –2 Charisma."
|
9
|
+
end
|
10
|
+
|
11
|
+
def source
|
12
|
+
"PFRPG"
|
13
|
+
end
|
14
|
+
|
15
|
+
def race_id
|
16
|
+
1
|
17
|
+
end
|
18
|
+
|
19
|
+
def attribute_bonuses
|
20
|
+
[ RacialStatBonus.dangling('CON', 2),
|
21
|
+
RacialStatBonus.dangling('WIS', 2),
|
22
|
+
RacialStatBonus.dangling('CHA',-2)
|
23
|
+
]
|
24
|
+
end
|
25
|
+
|
26
|
+
def bonus_choices
|
27
|
+
[]
|
28
|
+
end
|
29
|
+
|
30
|
+
def languages
|
31
|
+
["Common", "Dwarven"]
|
32
|
+
end
|
33
|
+
|
34
|
+
def speed
|
35
|
+
20
|
36
|
+
end
|
37
|
+
|
38
|
+
def int_languages
|
39
|
+
["Giant", "Gnome", "Goblin", "Orc", "Terran", "Undercommon"]
|
40
|
+
end
|
41
|
+
|
42
|
+
def size
|
43
|
+
"MEDIUM"
|
44
|
+
end
|
45
|
+
|
46
|
+
def choose_ability_bonus?
|
47
|
+
false
|
48
|
+
end
|
49
|
+
|
50
|
+
def weapon_familiarity
|
51
|
+
[ "Battleaxe", "Heavy Pick", "Warhammer" ]
|
52
|
+
end
|
53
|
+
|
54
|
+
def noarmor_effect
|
55
|
+
p = Proc.new do |character, attribute, value|
|
56
|
+
begin
|
57
|
+
current_penalty = character.armor_speed_penalty
|
58
|
+
character.bonuses.plus('speed', current_penalty)
|
59
|
+
rescue Exception => e
|
60
|
+
raise e
|
61
|
+
end
|
62
|
+
end
|
63
|
+
Effect.new('misc', 'speed', 'noarmor', p)
|
64
|
+
end
|
65
|
+
|
66
|
+
def traits
|
67
|
+
[
|
68
|
+
RacialTrait.new( :name => "Slow and Steady",
|
69
|
+
:description =>
|
70
|
+
"20FT base speed / not modified by encumbrance or armor",
|
71
|
+
:effects =>
|
72
|
+
[
|
73
|
+
noarmor_effect
|
74
|
+
]
|
75
|
+
),
|
76
|
+
RacialTrait.new( :name => "Defensive Training",
|
77
|
+
:description => "+4 dodge AC bonus vs. Giants"
|
78
|
+
),
|
79
|
+
RacialTrait.new( :name => "Greed",
|
80
|
+
:description => "+2 appraise checks w/ precious metals or gemstones"
|
81
|
+
),
|
82
|
+
RacialTrait.new( :name => "Hatred",
|
83
|
+
:description => "+1 attack bonus vs/ orc & goblinoid"
|
84
|
+
),
|
85
|
+
RacialTrait.new( :name => "Hardy",
|
86
|
+
:description => "+2 save vs poison, spells and spell-like abilities"
|
87
|
+
),
|
88
|
+
RacialTrait.new( :name => "Stabililty",
|
89
|
+
:description => "+4 CMD vs bull rush or trip"
|
90
|
+
),
|
91
|
+
RacialTrait.new( :name => "Stonecunning",
|
92
|
+
:description => "+2 perception check vs unusual stonework"
|
93
|
+
)
|
94
|
+
]
|
95
|
+
end
|
96
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
module PfrpgRaces
|
2
|
+
class Elf < Race
|
3
|
+
|
4
|
+
def name
|
5
|
+
"Elf"
|
6
|
+
end
|
7
|
+
|
8
|
+
def description
|
9
|
+
"Elves are nimble, both in body and mind, but their form is frail. They gain +2 Dexterity, +2 Intelligence, and –2 Constitution."
|
10
|
+
end
|
11
|
+
|
12
|
+
def source
|
13
|
+
"PFRPG"
|
14
|
+
end
|
15
|
+
|
16
|
+
def attribute_bonuses
|
17
|
+
[
|
18
|
+
{ 'DEX' => 2 },
|
19
|
+
{ 'INT' => 2 },
|
20
|
+
{ 'CON' => -2 }
|
21
|
+
]
|
22
|
+
end
|
23
|
+
|
24
|
+
def bonus_choices
|
25
|
+
[]
|
26
|
+
end
|
27
|
+
|
28
|
+
def languages
|
29
|
+
["Common", "Elven"]
|
30
|
+
end
|
31
|
+
|
32
|
+
def speed
|
33
|
+
30
|
34
|
+
end
|
35
|
+
|
36
|
+
def int_languages
|
37
|
+
["Celestial", "Draconic", "Gnoll", "Gnome", "Goblin", "Orc", "Sylvan"]
|
38
|
+
end
|
39
|
+
|
40
|
+
def size
|
41
|
+
"MEDIUM"
|
42
|
+
end
|
43
|
+
|
44
|
+
def choose_ability_bonus?
|
45
|
+
false
|
46
|
+
end
|
47
|
+
|
48
|
+
def weapon_familiarity
|
49
|
+
[ "Longbow", "Composite Longbow", "Longsword", "Rapier", "Shortbow", "Composite Shortbow"]
|
50
|
+
end
|
51
|
+
|
52
|
+
def martial_weapons
|
53
|
+
"elf"
|
54
|
+
end
|
55
|
+
|
56
|
+
def traits
|
57
|
+
[
|
58
|
+
RacialTrait.new( :name => "Low-Light Vision",
|
59
|
+
:description => "See 2x as far in dim light"
|
60
|
+
),
|
61
|
+
RacialTrait.new( :name => "Elven Immunities",
|
62
|
+
:description => "Immune to Magic Sleep, +2 save vs enchantments"
|
63
|
+
),
|
64
|
+
RacialTrait.new( :name => "Elven Magic",
|
65
|
+
:description => "+2 racial bonus on caster level checks for spell resistance,\n
|
66
|
+
+2 racial bonus on Spellcraft to identify magic items"
|
67
|
+
),
|
68
|
+
RacialTrait.new( :name => "Keen Senses",
|
69
|
+
:description => "+2 Perception",
|
70
|
+
:effects =>
|
71
|
+
[
|
72
|
+
PfrpgCore::Effect.new("skill", "perception", 2)
|
73
|
+
]
|
74
|
+
)
|
75
|
+
]
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
module PfrpgRaces
|
2
|
+
class Gnome < Race
|
3
|
+
|
4
|
+
def name
|
5
|
+
"Gnome"
|
6
|
+
end
|
7
|
+
|
8
|
+
def description
|
9
|
+
"Gnomes are physically weak but surprisingly hardy, and their attitude makes them naturally agreeable. They gain +2 Constitution, +2 Charisma, and –2 Strength."
|
10
|
+
end
|
11
|
+
|
12
|
+
def source
|
13
|
+
"PFRPG"
|
14
|
+
end
|
15
|
+
|
16
|
+
def attribute_bonuses
|
17
|
+
[
|
18
|
+
{ 'CON' => 2 },
|
19
|
+
{ 'CHA' => 2 },
|
20
|
+
{ 'STR' => -2 }
|
21
|
+
]
|
22
|
+
end
|
23
|
+
|
24
|
+
def bonus_choices
|
25
|
+
[]
|
26
|
+
end
|
27
|
+
|
28
|
+
def languages
|
29
|
+
["Common", "Gnome", "Sylvan"]
|
30
|
+
end
|
31
|
+
|
32
|
+
def speed
|
33
|
+
20
|
34
|
+
end
|
35
|
+
|
36
|
+
def int_languages
|
37
|
+
["Draconic", "Dwarven", "Elven", "Giant", "Goblin", "Orc"]
|
38
|
+
end
|
39
|
+
|
40
|
+
def size
|
41
|
+
"SMALL"
|
42
|
+
end
|
43
|
+
|
44
|
+
def choose_ability_bonus?
|
45
|
+
false
|
46
|
+
end
|
47
|
+
|
48
|
+
def weapon_familiarity
|
49
|
+
[ ]
|
50
|
+
end
|
51
|
+
|
52
|
+
def martial_weapons
|
53
|
+
"gnome"
|
54
|
+
end
|
55
|
+
|
56
|
+
def traits
|
57
|
+
[
|
58
|
+
RacialTrait.new( :name => "Low-Light Vision",
|
59
|
+
:description => "See 2x as far in dim light"
|
60
|
+
),
|
61
|
+
RacialTrait.new( :name => "Defensive Training",
|
62
|
+
:description => "+4 dodge AC vs giant monsters"
|
63
|
+
),
|
64
|
+
RacialTrait.new( :name => "Hatred",
|
65
|
+
:description => "+1 ATK Bonus vs reptilian humanoids and goblinoid subtypes"
|
66
|
+
),
|
67
|
+
RacialTrait.new( :name => "Illusion Resistance",
|
68
|
+
:description => "+2 save vs illusion spells and effects"
|
69
|
+
),
|
70
|
+
RacialTrait.new( :name => "Obsessive",
|
71
|
+
:description => "+2 to Craft or Profession skill of your choice"
|
72
|
+
),
|
73
|
+
RacialTrait.new( :name => "Gnome Magic",
|
74
|
+
:description => "+1 to DC of any saving throws against illusions they cast, \n
|
75
|
+
with >= 11 Charisma, gain spell-like abilities once per day:\n
|
76
|
+
\tdancing lights,\n
|
77
|
+
\tghost sound,\n
|
78
|
+
\tprestidigitation,\n
|
79
|
+
\tspeak with animals\n
|
80
|
+
The DC for these spells is 10 + spell level + CHA mod",
|
81
|
+
),
|
82
|
+
RacialTrait.new( :name => "Keen Senses",
|
83
|
+
:description => "+2 Perception",
|
84
|
+
:effects =>
|
85
|
+
[
|
86
|
+
PfrpgCore::Effect.new("skill", "perception", 2)
|
87
|
+
]
|
88
|
+
)
|
89
|
+
]
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
module PfrpgRaces
|
2
|
+
class HalfElf < Race
|
3
|
+
|
4
|
+
def name
|
5
|
+
"HalfElf"
|
6
|
+
end
|
7
|
+
|
8
|
+
def description
|
9
|
+
"Half-elf characters gain a +2 bonus to one ability score of their choice at creation to represent their varied nature."
|
10
|
+
end
|
11
|
+
|
12
|
+
def source
|
13
|
+
"PFRPG"
|
14
|
+
end
|
15
|
+
|
16
|
+
def attribute_bonuses
|
17
|
+
nil
|
18
|
+
end
|
19
|
+
|
20
|
+
def bonus_feat
|
21
|
+
[ "Skill Focus" ]
|
22
|
+
end
|
23
|
+
|
24
|
+
def bonus_choices
|
25
|
+
[]
|
26
|
+
end
|
27
|
+
|
28
|
+
def languages
|
29
|
+
["Common", "Elven"]
|
30
|
+
end
|
31
|
+
|
32
|
+
def speed
|
33
|
+
30
|
34
|
+
end
|
35
|
+
|
36
|
+
def int_languages
|
37
|
+
PfrpgTables::Tables::Languages.int_languages
|
38
|
+
end
|
39
|
+
|
40
|
+
def size
|
41
|
+
"MEDIUM"
|
42
|
+
end
|
43
|
+
|
44
|
+
def choose_ability_bonus?
|
45
|
+
true
|
46
|
+
end
|
47
|
+
|
48
|
+
def weapon_familiarity
|
49
|
+
[]
|
50
|
+
end
|
51
|
+
|
52
|
+
def traits
|
53
|
+
[
|
54
|
+
RacialTrait.new( :name => "Low-Light Vision",
|
55
|
+
:description => "See 2x as far in dim light"
|
56
|
+
),
|
57
|
+
RacialTrait.new( :name => "Elven Immunities",
|
58
|
+
:description => "Immune to Magic Sleep, +2 save vs enchantments"
|
59
|
+
),
|
60
|
+
RacialTrait.new( :name => "Elf Blood",
|
61
|
+
:description => "Count as both Elves and Humans for effects"
|
62
|
+
),
|
63
|
+
RacialTrait.new( :name => "Multitalented",
|
64
|
+
:description => "You have two, instead of one, favored class"
|
65
|
+
),
|
66
|
+
RacialTrait.new( :name => "Keen Senses",
|
67
|
+
:description => "+2 Perception",
|
68
|
+
:effects =>
|
69
|
+
[
|
70
|
+
PfrpgCore::Effect.new("skill", "perception", 2)
|
71
|
+
]
|
72
|
+
)
|
73
|
+
]
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
module PfrpgRaces
|
2
|
+
class HalfOrc < Race
|
3
|
+
|
4
|
+
def name
|
5
|
+
"HalfOrc"
|
6
|
+
end
|
7
|
+
|
8
|
+
def description
|
9
|
+
"Half-orcs average around 6 feet tall, with powerful builds and greenish or grayish skin. Their canine teeth often grow long enough to protrude from their mouths, and these “tusks,” combined with heavy brows and slightly pointed ears, give them their notoriously bestial appearance. While half-orcs may be impressive, few ever describe them as beautiful. Despite these obvious orc traits, half-orcs are as varied as their human parents."
|
10
|
+
end
|
11
|
+
|
12
|
+
def source
|
13
|
+
"PFRPG"
|
14
|
+
end
|
15
|
+
|
16
|
+
def attribute_bonuses
|
17
|
+
nil
|
18
|
+
end
|
19
|
+
|
20
|
+
def bonus_choices
|
21
|
+
[]
|
22
|
+
end
|
23
|
+
|
24
|
+
def languages
|
25
|
+
["Common", "Orc"]
|
26
|
+
end
|
27
|
+
|
28
|
+
def speed
|
29
|
+
30
|
30
|
+
end
|
31
|
+
|
32
|
+
def int_languages
|
33
|
+
["Abyssal", "Draconic", "Giant", "Gnoll", "Goblin"]
|
34
|
+
end
|
35
|
+
|
36
|
+
def size
|
37
|
+
"MEDIUM"
|
38
|
+
end
|
39
|
+
|
40
|
+
def choose_ability_bonus?
|
41
|
+
true
|
42
|
+
end
|
43
|
+
|
44
|
+
def weapon_familiarity
|
45
|
+
[ "Greataxe", 'Falchion']
|
46
|
+
end
|
47
|
+
|
48
|
+
def martial_weapons
|
49
|
+
"orc"
|
50
|
+
end
|
51
|
+
|
52
|
+
def traits
|
53
|
+
[
|
54
|
+
RacialTrait.new( :name => "Darkvision",
|
55
|
+
:description => "See in the dark up to 60 feet"
|
56
|
+
),
|
57
|
+
RacialTrait.new( :name => "Intimidating",
|
58
|
+
:description => "+2 racial bonus to intimidate skill checks",
|
59
|
+
:effects =>
|
60
|
+
[
|
61
|
+
PfrpgCore::Effect.new("skill", "intimidate", 2)
|
62
|
+
]
|
63
|
+
),
|
64
|
+
RacialTrait.new( :name => "Orc Blood",
|
65
|
+
:description => "Count as both Orc and Human"
|
66
|
+
),
|
67
|
+
RacialTrait.new( :name => "Orc Ferocity",
|
68
|
+
:description => "1/day, if you are brought below 0 HP but not killed,\n
|
69
|
+
you can fight on for one round as if disabled. You begin\n
|
70
|
+
dying and fall unconscious if are not brought above 0 HP."
|
71
|
+
)
|
72
|
+
]
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
module PfrpgRaces
|
2
|
+
class Halfling < Race
|
3
|
+
|
4
|
+
def name
|
5
|
+
"Halfling"
|
6
|
+
end
|
7
|
+
|
8
|
+
def description
|
9
|
+
"Halflings are nimble and strong-willed, but their small stature makes them weaker than other races. They gain +2 Dexterity, +2 Charisma, and –2 Strength."
|
10
|
+
end
|
11
|
+
|
12
|
+
def source
|
13
|
+
"PFRPG"
|
14
|
+
end
|
15
|
+
|
16
|
+
def attribute_bonuses
|
17
|
+
[ { 'DEX' => 2 },
|
18
|
+
{ 'CHA' => 2 },
|
19
|
+
{ 'STR' => -2 }
|
20
|
+
]
|
21
|
+
end
|
22
|
+
|
23
|
+
def bonus_choices
|
24
|
+
[]
|
25
|
+
end
|
26
|
+
|
27
|
+
def languages
|
28
|
+
["Common", "Halfling"]
|
29
|
+
end
|
30
|
+
|
31
|
+
def speed
|
32
|
+
20
|
33
|
+
end
|
34
|
+
|
35
|
+
def int_languages
|
36
|
+
["Dwarven", "Elven", "Gnome", "Goblin"]
|
37
|
+
end
|
38
|
+
|
39
|
+
def size
|
40
|
+
"SMALL"
|
41
|
+
end
|
42
|
+
|
43
|
+
def choose_ability_bonus?
|
44
|
+
false
|
45
|
+
end
|
46
|
+
|
47
|
+
def weapon_familiarity
|
48
|
+
[ "Sling" ]
|
49
|
+
end
|
50
|
+
|
51
|
+
def martial_weapons
|
52
|
+
"halfling"
|
53
|
+
end
|
54
|
+
|
55
|
+
def traits
|
56
|
+
[
|
57
|
+
RacialTrait.new( :name => "Fearless",
|
58
|
+
:description => "+2 racial bonus save vs fear (This stacks with Luck)"
|
59
|
+
),
|
60
|
+
RacialTrait.new( :name => "Halfling Luck",
|
61
|
+
:description => "+1 racial bonus to all saving throws",
|
62
|
+
:effects =>
|
63
|
+
[
|
64
|
+
PfrpgCore::Effect.new("racial", "fort_save", 1),
|
65
|
+
PfrpgCore::Effect.new("racial", "will_save", 1),
|
66
|
+
PfrpgCore::Effect.new("racial", "ref_save", 1)
|
67
|
+
]
|
68
|
+
),
|
69
|
+
RacialTrait.new( :name => "Sure Footed",
|
70
|
+
:description => "+2 racial bonus on Acrobatic & Climb skill checks",
|
71
|
+
:effects =>
|
72
|
+
[
|
73
|
+
PfrpgCore::Effect.new("skill", "climb", 2),
|
74
|
+
PfrpgCore::Effect.new("skill", "acrobatics", 2)
|
75
|
+
]
|
76
|
+
),
|
77
|
+
RacialTrait.new( :name => "Keen Senses",
|
78
|
+
:description => "+2 Perception",
|
79
|
+
:effects =>
|
80
|
+
[
|
81
|
+
PfrpgCore::Effect.new("skill", "perception", 2)
|
82
|
+
]
|
83
|
+
)
|
84
|
+
]
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
class Human < PfrpgRaces::Race
|
2
|
+
|
3
|
+
def name
|
4
|
+
"Human"
|
5
|
+
end
|
6
|
+
|
7
|
+
def description
|
8
|
+
"Human characters gain a +2 racial bonus to one ability score of their choice at creation to represent their varied nature. Humans select one extra feat at 1st level, and gain an additional skill rank at first level and one additional rank whenever they gain a level."
|
9
|
+
end
|
10
|
+
|
11
|
+
def source
|
12
|
+
"PFRPG"
|
13
|
+
end
|
14
|
+
|
15
|
+
def attribute_bonuses
|
16
|
+
nil
|
17
|
+
end
|
18
|
+
|
19
|
+
def bonus_choices
|
20
|
+
[ChooseFeat.new]
|
21
|
+
end
|
22
|
+
|
23
|
+
def speed
|
24
|
+
30
|
25
|
+
end
|
26
|
+
|
27
|
+
def languages
|
28
|
+
["Common"]
|
29
|
+
end
|
30
|
+
|
31
|
+
def int_languages
|
32
|
+
Tables::Languages.int_languages
|
33
|
+
end
|
34
|
+
|
35
|
+
def size
|
36
|
+
"MEDIUM"
|
37
|
+
end
|
38
|
+
|
39
|
+
def choose_ability_bonus?
|
40
|
+
true
|
41
|
+
end
|
42
|
+
|
43
|
+
def weapon_familiarity
|
44
|
+
[]
|
45
|
+
end
|
46
|
+
|
47
|
+
def traits
|
48
|
+
[]
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module PfrpgRaces
|
2
|
+
class RacialTrait
|
3
|
+
|
4
|
+
attr_accessor :name, :description, :effects
|
5
|
+
def initialize(args)
|
6
|
+
@name = args[:name]
|
7
|
+
@description = args[:description]
|
8
|
+
@effects = args[:effects]
|
9
|
+
@effects ||= []
|
10
|
+
end
|
11
|
+
|
12
|
+
def get_effects
|
13
|
+
effects
|
14
|
+
end
|
15
|
+
|
16
|
+
def as_json(options={})
|
17
|
+
{ :name => name,
|
18
|
+
:description => description
|
19
|
+
}
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pfrpg_races
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jordan OMara
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-11-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 4.1.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 4.1.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sqlite3
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: races
|
42
|
+
email:
|
43
|
+
- jordan@herosheets.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- lib/pfrpg_races.rb
|
49
|
+
- lib/pfrpg_races/race.rb
|
50
|
+
- lib/pfrpg_races/raced.rb
|
51
|
+
- lib/pfrpg_races/races/dwarf.rb
|
52
|
+
- lib/pfrpg_races/races/elf.rb
|
53
|
+
- lib/pfrpg_races/races/gnome.rb
|
54
|
+
- lib/pfrpg_races/races/half_elf.rb
|
55
|
+
- lib/pfrpg_races/races/half_orc.rb
|
56
|
+
- lib/pfrpg_races/races/halfling.rb
|
57
|
+
- lib/pfrpg_races/races/human.rb
|
58
|
+
- lib/pfrpg_races/racial_trait.rb
|
59
|
+
- lib/pfrpg_races/tickle.rb
|
60
|
+
- lib/pfrpg_races/version.rb
|
61
|
+
homepage: http://herosheets.com
|
62
|
+
licenses: []
|
63
|
+
metadata: {}
|
64
|
+
post_install_message:
|
65
|
+
rdoc_options: []
|
66
|
+
require_paths:
|
67
|
+
- lib
|
68
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0'
|
73
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
requirements: []
|
79
|
+
rubyforge_project:
|
80
|
+
rubygems_version: 2.2.2
|
81
|
+
signing_key:
|
82
|
+
specification_version: 4
|
83
|
+
summary: PFRPG races
|
84
|
+
test_files: []
|