pfrpg_core 0.1.7 → 0.1.8
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.
- checksums.yaml +4 -4
- data/lib/pfrpg_core/skills.rb +12 -2
- data/lib/pfrpg_core/version.rb +1 -1
- data/test/skills_test.rb +14 -0
- data/test/test_helper.rb +18 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46b77135cb44d70be9a7a8016e3a16332b9e32e8
|
4
|
+
data.tar.gz: 1bd21a26bdd7b4f585ac9b7b1179f577f4dbef5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a89d1996ccfab038905f889af7c36a9d22dadc5b5034740f6eeb056916a72bd8c6411ffd487475b6ce545c3861725556c3bdd3ee3562e36774aac80108ece26
|
7
|
+
data.tar.gz: a7128e64b9ad51529775096d1d20972af547cd1e98870c0baafc4978e112656ad066fad618a6a10b3b6207e035deb1f425b2294c142b670fb1a873cb6ae248b5
|
data/lib/pfrpg_core/skills.rb
CHANGED
@@ -42,11 +42,21 @@ module PfrpgCore
|
|
42
42
|
}
|
43
43
|
end
|
44
44
|
|
45
|
+
def professional(class_skills, skill)
|
46
|
+
class_skills.find { |x| x.to_s.downcase['profession']} &&
|
47
|
+
skill[:skill].to_s.downcase['profession']
|
48
|
+
end
|
49
|
+
|
50
|
+
def crafty(class_skills, skill)
|
51
|
+
class_skills.find { |x| x.to_s.downcase['craft']} &&
|
52
|
+
skill[:skill].to_s.downcase['craft']
|
53
|
+
end
|
54
|
+
|
45
55
|
def is_class_skill?(skill, character)
|
46
56
|
found = character.levels.any? do |l|
|
47
57
|
(l.heroclass.skills.find { |x| x.to_s == skill[:skill].to_s } ||
|
48
|
-
|
49
|
-
|
58
|
+
professional(l.heroclass.skills, skill) ||
|
59
|
+
crafty(l.heroclass.skills, skill))
|
50
60
|
end
|
51
61
|
found ||= class_skill_bonuses(character).find do |x|
|
52
62
|
if x
|
data/lib/pfrpg_core/version.rb
CHANGED
data/test/skills_test.rb
CHANGED
@@ -125,4 +125,18 @@ class SkillsTest < Minitest::Test
|
|
125
125
|
assert s.is_class_skill?({ skill: MockSkill.new('profession - Nonsense (wis)')}, @c)
|
126
126
|
end
|
127
127
|
|
128
|
+
def test_all_crafts_are_class_skills
|
129
|
+
c = plain_wizard
|
130
|
+
c.base_skills = make_skills
|
131
|
+
skills = PfrpgCore::Skills.new(c)
|
132
|
+
|
133
|
+
assert s = skills.get_skill('Acrobatics')
|
134
|
+
|
135
|
+
assert s.is_class_skill?({ skill: MockSkill.new("Craft Alchemy (int)") } , @c)
|
136
|
+
assert s.is_class_skill?({ skill: MockSkill.new('Craft Armor (int)') }, @c)
|
137
|
+
assert s.is_class_skill?({ skill: MockSkill.new('Craft Locks (int)')} , @c)
|
138
|
+
assert s.is_class_skill?({ skill: MockSkill.new('craft Anything I want (int)')} , @c)
|
139
|
+
assert s.is_class_skill?({ skill: MockSkill.new('Craft Weapons (int)')}, @c)
|
140
|
+
end
|
141
|
+
|
128
142
|
end
|
data/test/test_helper.rb
CHANGED
@@ -62,6 +62,10 @@ module TestHelper
|
|
62
62
|
[ PfrpgCore::Level.new(Le.new('Fighter', 10, true))]
|
63
63
|
end
|
64
64
|
|
65
|
+
def wizard_levels
|
66
|
+
[ PfrpgCore::Level.new(Le.new('Wizard', 10, true))]
|
67
|
+
end
|
68
|
+
|
65
69
|
def plain_character
|
66
70
|
@bonuses = PfrpgCore::Bonuses.new
|
67
71
|
@attributes = PfrpgCore::Attributes.new(basic_attributes, @bonuses)
|
@@ -75,4 +79,18 @@ module TestHelper
|
|
75
79
|
@bonuses,
|
76
80
|
@saves)
|
77
81
|
end
|
82
|
+
|
83
|
+
def plain_wizard
|
84
|
+
@bonuses = PfrpgCore::Bonuses.new
|
85
|
+
@attributes = PfrpgCore::Attributes.new(basic_attributes, @bonuses)
|
86
|
+
@saves = PfrpgCore::SavingThrows.new(basic_saves, @bonuses, @attributes)
|
87
|
+
@levels = wizard_levels
|
88
|
+
|
89
|
+
return MockCharacter.new(PfrpgUtility::Alignment.new("CN"),
|
90
|
+
PfrpgRaces::Race.fetch('Human'),
|
91
|
+
@attributes,
|
92
|
+
@levels,
|
93
|
+
@bonuses,
|
94
|
+
@saves)
|
95
|
+
end
|
78
96
|
end
|