drpedia_lite 0.0.25 → 0.0.26
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/RawReader.rb +25 -9
- data/lib/Validator.rb +1 -1
- data/lib/input/input.txt +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53481d0abe915467a2aecfb4db9dc1609ea8e11c
|
4
|
+
data.tar.gz: 09c6b00e9ff91146630b699f150be79732430846
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b120077a75ec5a3d2b3271f54880db2f5c791b55c7f31d6e6da221643ec585f95a3feb27f4f3493f4349a8238433b1b41f1892d53386dbe566ac46396f94fe7
|
7
|
+
data.tar.gz: 8dfb85713e2576ed45088ed593fbb0fdd7eb5c52ebe85524ad0a21919231dd54909e3383772ee66365899a78ace000e0e0ae6075ed8f62071eaccd8637e70751
|
data/lib/RawReader.rb
CHANGED
@@ -11,7 +11,8 @@ class RawReader
|
|
11
11
|
STATE_TRANSITION = {
|
12
12
|
:undef => { pattern: /== Advantage Skill ==/, next: :innate },
|
13
13
|
:innate => { pattern: /== Disadvantage Skill ==/, next: :strain_disadv },
|
14
|
-
:strain_disadv => { pattern: /== Innate Skill
|
14
|
+
:strain_disadv => { pattern: /== Disabled Innate Skill ==/, next: :strain_block },
|
15
|
+
:strain_block => { pattern: /== Innate Skill Prerequisite ==/, next: :innate_preq },
|
15
16
|
:innate_preq => { pattern: /== Profession Concentration ==/, next: :prof_concent },
|
16
17
|
:prof_concent => { pattern: /== Concentration Hierarchy ==/, next: :prof_hierarc },
|
17
18
|
:prof_hierarc => { pattern: /== Concentration Group ==/, next: :conc_group },
|
@@ -80,6 +81,7 @@ private
|
|
80
81
|
@skill_cat.each do |_junk, data|
|
81
82
|
data[:innate] = data[:innate].to_a
|
82
83
|
data[:innate_disadvantage] = data[:innate_disadvantage].to_a
|
84
|
+
data[:innate_disabled] = data[:innate_disabled].to_a
|
83
85
|
end
|
84
86
|
end
|
85
87
|
|
@@ -120,6 +122,7 @@ private
|
|
120
122
|
case state
|
121
123
|
when :innate then process_innate_skills line: line
|
122
124
|
when :strain_disadv then process_innate_skills line: line, disadvantage: true
|
125
|
+
when :strain_block then process_innate_skills line: line, disabled: true
|
123
126
|
when :innate_preq then process_innate_preqs line: line
|
124
127
|
when :prof_concent then process_profession_concentration line: line
|
125
128
|
when :prof_hierarc then process_profession_concentration_hierarchy line: line
|
@@ -139,12 +142,12 @@ private
|
|
139
142
|
end
|
140
143
|
end
|
141
144
|
|
142
|
-
def process_innate_skills line:, disadvantage: false
|
145
|
+
def process_innate_skills line:, disadvantage: false, disabled: false
|
143
146
|
innate_skill = line.split(/:/)
|
144
147
|
strain = innate_skill[0].to_sym
|
145
148
|
skills = innate_skill[1].split(/,/)
|
146
149
|
|
147
|
-
smart_insert strain: strain, skills: skills, disadvantage: disadvantage
|
150
|
+
smart_insert strain: strain, skills: skills, disadvantage: disadvantage, disabled: disabled
|
148
151
|
end
|
149
152
|
|
150
153
|
def process_innate_preqs line:
|
@@ -344,7 +347,7 @@ private
|
|
344
347
|
end
|
345
348
|
end
|
346
349
|
|
347
|
-
def smart_insert strain: nil, skills: nil, open_skills: nil, profession_skills: nil, disadvantage: false, type: nil
|
350
|
+
def smart_insert strain: nil, skills: nil, open_skills: nil, profession_skills: nil, disadvantage: false, disabled: false, type: nil
|
348
351
|
if strain and skills
|
349
352
|
@strains.add strain
|
350
353
|
skills.each do |_skill|
|
@@ -353,14 +356,27 @@ private
|
|
353
356
|
@skill_cat[skill] ||= Hash.new
|
354
357
|
@skill_cat[skill][:innate] ||= Set.new
|
355
358
|
@skill_cat[skill][:innate_disadvantage] ||= Set.new
|
359
|
+
@skill_cat[skill][:innate_disabled] ||= Set.new
|
356
360
|
|
357
|
-
if
|
358
|
-
|
359
|
-
|
361
|
+
if disadvantage
|
362
|
+
@skill_cat[skill][:innate_disadvantage].add strain.to_sym
|
363
|
+
elsif disabled
|
364
|
+
@skill_cat[skill][:innate_disabled].add strain.to_sym
|
360
365
|
else
|
361
|
-
|
362
|
-
skill_cat_innate.add strain.to_sym
|
366
|
+
@skill_cat[skill][:innate].add strain.to_sym
|
363
367
|
end
|
368
|
+
# if !disadvantage
|
369
|
+
# if !disabled
|
370
|
+
# skill_cat_innate = @skill_cat[skill][:innate]
|
371
|
+
# skill_cat_innate.add strain.to_sym
|
372
|
+
# else
|
373
|
+
# skill_cat_innate_disabled = @skill_cat[skill][:innate_disabled]
|
374
|
+
# skill_cat_innate_disabled.add strain.to_sym
|
375
|
+
# end
|
376
|
+
# else
|
377
|
+
# skill_cat_innate = @skill_cat[skill][:innate_disadvantage]
|
378
|
+
# skill_cat_innate.add strain.to_sym
|
379
|
+
# end
|
364
380
|
end
|
365
381
|
elsif open_skills
|
366
382
|
@skill_cat[open_skills[:skill]] ||= Hash.new
|
data/lib/Validator.rb
CHANGED
data/lib/input/input.txt
CHANGED
@@ -24,6 +24,9 @@ Yorker: Barricade, Bomb Awareness, Chase, Entertain, Interfere, Melee Weapon - S
|
|
24
24
|
== Disadvantage Skill ==
|
25
25
|
Natural Ones: Bolt Action, Scatter Shot, Gun Aficionado
|
26
26
|
|
27
|
+
== Disabled Innate Skill ==
|
28
|
+
The Red Star: Income I, Income II, Income III, Income IV, Income V
|
29
|
+
|
27
30
|
== Innate Skill Prerequisite ==
|
28
31
|
Iron Slaves: Iron Fists: Brawling
|
29
32
|
Full Dead: Income II: Income I
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drpedia_lite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gloria Budiman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Extracts skills, strains, profession, and requirement trees into JSON
|
14
14
|
email: wahyu.g@gmail.com
|