Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
rpg-workshop
Commits
457c3607
Commit
457c3607
authored
Oct 16, 2021
by
Joe Ziemba
Browse files
adding feat levels
parent
0371cbbb
Changes
28
Expand all
Hide whitespace changes
Inline
Side-by-side
package-lock.json
View file @
457c3607
This diff is collapsed.
Click to expand it.
package.json
View file @
457c3607
...
...
@@ -25,21 +25,21 @@
"license"
:
"
ISC
"
,
"dependencies"
:
{
"
@craco/craco
"
:
"
^6.3.0
"
,
"
@tailwindcss/postcss7-compat
"
:
"
^2.2.1
6
"
,
"
@tailwindcss/postcss7-compat
"
:
"
^2.2.1
7
"
,
"
firebase
"
:
"
^8.10.0
"
,
"
focus-trap-react
"
:
"
^8.8.
1
"
,
"
focus-trap-react
"
:
"
^8.8.
2
"
,
"
js-guid
"
:
"
^1.0.0
"
,
"
lodash
"
:
"
^4.17.21
"
,
"
normalize.css
"
:
"
^8.0.1
"
,
"
react
"
:
"
^17.0.2
"
,
"
react-bootstrap-typeahead
"
:
"
^5.2.
0
"
,
"
react-bootstrap-typeahead
"
:
"
^5.2.
1
"
,
"
react-dom
"
:
"
^17.0.2
"
,
"
react-router
"
:
"
^5.2.1
"
,
"
react-router-dom
"
:
"
^5.3.0
"
,
"
react-scripts
"
:
"
^4.0.3
"
,
"
react-toastify
"
:
"
^7.0.0
"
,
"
react-transition-group
"
:
"
^4.4.2
"
,
"
sass
"
:
"
^1.4
2.1
"
"
sass
"
:
"
^1.4
3.2
"
},
"browserslist"
:
[
">0.2%"
,
...
...
@@ -50,19 +50,19 @@
"devDependencies"
:
{
"
@testing-library/jest-dom
"
:
"
^5.14.1
"
,
"
@testing-library/react
"
:
"
^11.2.7
"
,
"
autoprefixer
"
:
"
^9.8.
7
"
,
"
autoprefixer
"
:
"
^9.8.
8
"
,
"
eslint-config-prettier
"
:
"
^8.3.0
"
,
"
eslint-plugin-jest
"
:
"
^24.
5
.0
"
,
"
eslint-plugin-jest
"
:
"
^24.
7
.0
"
,
"
eslint-plugin-jsx-a11y
"
:
"
^6.4.1
"
,
"
eslint-plugin-prettier
"
:
"
^3.4.1
"
,
"
eslint-plugin-react
"
:
"
^7.26.1
"
,
"
eslint-plugin-react-hooks
"
:
"
^4.2.0
"
,
"
jest-environment-jsdom-sixteen
"
:
"
^2.0.0
"
,
"
node-sass
"
:
"
^6.0.1
"
,
"
postcss
"
:
"
^7.0.3
8
"
,
"
postcss
"
:
"
^7.0.3
9
"
,
"
prettier
"
:
"
^2.4.1
"
,
"
tailwindcss
"
:
"
npm:@tailwindcss/postcss7-compat@^2.2.1
6
"
,
"
testcafe
"
:
"
^1.16.
0
"
"
tailwindcss
"
:
"
npm:@tailwindcss/postcss7-compat@^2.2.1
7
"
,
"
testcafe
"
:
"
^1.16.
1
"
},
"jest"
:
{
"resetMocks"
:
false
...
...
src/components/common/Modal.js
View file @
457c3607
...
...
@@ -47,8 +47,6 @@ export const Modal = ({
{
"
md:w-9/12
"
:
large
,
"
md:w-6/12
"
:
!
large
}
)
// const
return
(
<
div
className
=
{
overlayClasses
}
>
<
FocusTrap
>
...
...
@@ -61,6 +59,7 @@ export const Modal = ({
className
=
"
py-2 px-8
"
onClick
=
{
closeModal
}
aria
-
label
=
"
Close Modal
"
id
=
"
close-modal
"
>
<
i
className
=
"
fas fa-times
"
><
/i
>
<
/button
>
...
...
src/components/pfcb/FeatEntry.js
View file @
457c3607
import
React
from
"
react
"
const
FeatEntry
=
(
props
)
=>
{
const
FeatEntry
=
({
addFeat
,
feat
,
deleteFeat
})
=>
{
const
add
=
()
=>
addFeat
(
feat
.
type
)
const
remove
=
()
=>
{
deleteFeat
(
feat
)
}
const
isMisc
=
feat
.
type
.
includes
(
"
misc
"
)
return
(
<
div
className
=
"
mx-4 mb-2 last:mb-0 border-b border-gray-300 pb-2
"
>
{
!
props
.
feat
.
name
?
(
{
!
feat
.
name
?
(
<
button
onClick
=
{
props
.
addFeat
}
onClick
=
{
add
}
className
=
{
"
w-full px-4 py-3 rounded-md
"
+
"
bg-gray-200 text-gray-400
"
+
...
...
@@ -14,23 +20,20 @@ const FeatEntry = (props) => {
aria
-
label
=
"
Choose Feat
"
>
<
i
className
=
"
fas fa-plus text-sm mr-2
"
/>
Choose
{
props
.
lab
el
}
Feat
Choose
{
!
isMisc
&&
"
Lv.
"
+
feat
.
lev
el
}
Feat
<
/button
>
)
:
(
<
div
className
=
"
grid grid-cols-8 gap 2
"
>
<
span
className
=
"
text-lg col-span-1 text-gray-400 pl-2
"
>
{
props
.
lab
el
}
{
!
isMisc
&&
"
Lv.
"
+
feat
.
lev
el
}
<
/span
>
<
span
className
=
"
col-span-6
"
>
<
p
className
=
"
text-lg mb-1
"
>
{
props
.
feat
.
name
}
<
/p
>
<
p
className
=
"
text-lg mb-1
"
>
{
feat
.
name
}
<
/p
>
<
p
className
=
"
text-sm
"
dangerouslySetInnerHTML
=
{{
__html
:
props
.
feat
.
desc
}}
/
>
<
p
className
=
"
text-sm
"
>
{
feat
.
desc
}
<
/p
>
<
/span
>
<
button
onClick
=
{
props
.
remove
Feat
}
onClick
=
{
remove
}
className
=
"
col-span-1 text-gray-400 hover:text-red-700 rounded-md transition-colors
"
aria
-
label
=
"
Remove Feat
"
title
=
"
Delete
"
...
...
src/components/pfcb/FeatSelection.js
View file @
457c3607
...
...
@@ -4,7 +4,7 @@ import FEATS from "data/feats/allFeats.json"
import
{
Modal
}
from
"
components
"
export
const
FeatSelection
=
({
feat
Key
,
feat
Type
,
character
,
selectFeat
,
show
,
...
...
@@ -21,7 +21,7 @@ export const FeatSelection = ({
.
map
((
t
)
=>
t
.
toLowerCase
())
.
includes
(
trait
.
toLowerCase
())
let
isLevel
=
Number
(
feat
.
l
evel
)
<=
Number
(
level
)
let
isLevel
=
+
feat
.
reqL
evel
<=
+
level
return
hasTrait
&&
isLevel
})
...
...
@@ -67,25 +67,28 @@ export const FeatSelection = ({
useEffect
(()
=>
{
let
filteredFeats
=
_
.
cloneDeep
(
FEATS
)
let
[
type
,
level
]
=
feat
Key
.
split
(
"
_
"
)
let
[
type
]
=
feat
Type
.
split
(
"
_
"
)
// Filter to correct feat list
filteredFeats
=
filterFeatsBy
(
filteredFeats
,
getFeatTag
(
type
),
level
)
filteredFeats
=
filterFeatsBy
(
filteredFeats
,
getFeatTag
(
type
),
character
.
level
)
// Additionally filter by query if present
if
(
query
)
filteredFeats
=
filterFeatsByQuery
(
filteredFeats
)
setFeats
(
filteredFeats
.
sort
((
a
,
b
)
=>
Number
(
a
.
level
)
<
Number
(
b
.
level
)
?
-
1
:
1
)
filteredFeats
.
sort
((
a
,
b
)
=>
Number
(
a
.
reqLevel
)
-
Number
(
b
.
reqLevel
))
)
},
[
query
,
character
.
ancestry
.
name
,
character
.
class
.
name
,
feat
Key
,
feat
Type
,
filterFeatsByQuery
,
getFeatTag
,
character
.
level
,
])
return
(
...
...
@@ -117,7 +120,7 @@ export const FeatSelection = ({
<
div
className
=
"
uppercase text-xs mb-2 text-blue-800
"
>
<
div
className
=
"
mr-2 inline-block py-1 px-2 bg-blue-100 rounded-sm
"
>
Level
{
feat
.
l
evel
}
Level
{
feat
.
reqL
evel
}
<
/div
>
{
feat
.
traits
.
map
((
t
)
=>
(
<
div
...
...
src/components/pfcb/FeatsSection.js
View file @
457c3607
...
...
@@ -5,29 +5,22 @@ import { Card } from "./Card"
import
{
SubHeading
}
from
"
./SubHeading
"
import
{
PlaceholderText
}
from
"
./PlaceholderText
"
import
{
PF2CharacterContext
}
from
"
context
"
import
{
Guid
}
from
"
js-guid
"
export
const
FeatsSection
=
()
=>
{
const
{
character
,
selectFeat
,
deleteFeat
}
=
useContext
(
PF2CharacterContext
)
const
[
showFeatSelection
,
setShowFeatSelection
]
=
useState
(
false
)
const
[
featKey
,
setFeatKey
]
=
useState
(
""
)
const
[
numMiscFeats
,
setNumMiscFeats
]
=
useState
(
0
)
const
[
featType
,
setfeatType
]
=
useState
(
""
)
useEffect
(()
=>
{
let
miscFeats
=
character
.
feats
.
filter
((
feat
)
=>
feat
.
type
.
includes
(
"
misc
"
)
)
setNumMiscFeats
(
miscFeats
.
length
+
1
)
},
[
character
.
feats
])
const
openFeatSelection
=
(
featKey
)
=>
{
setFeatKey
(
featKey
)
const
openFeatSelection
=
(
featType
)
=>
{
setfeatType
(
featType
)
setShowFeatSelection
(
true
)
}
const
localSelectFeat
=
(
feat
)
=>
{
selectFeat
(
feat
Key
,
feat
)
selectFeat
(
feat
Type
,
feat
)
setShowFeatSelection
(
false
)
}
...
...
@@ -37,11 +30,12 @@ export const FeatsSection = () => {
const
classFeats
=
[],
ancestryFeats
=
[],
skillFeats
=
[],
generalFeats
=
[],
miscFeats
=
[]
character
.
feats
.
forEach
((
feat
)
=>
{
let
[
type
,
level
]
=
feat
.
type
.
split
(
"
_
"
)
if
(
level
>
character
.
level
)
return
if
(
feat
.
level
>
character
.
level
)
return
let
[
type
]
=
feat
.
type
.
split
(
"
_
"
)
switch
(
type
)
{
case
"
class
"
:
classFeats
.
push
(
feat
)
...
...
@@ -52,6 +46,9 @@ export const FeatsSection = () => {
case
"
skill
"
:
skillFeats
.
push
(
feat
)
break
case
"
general
"
:
generalFeats
.
push
(
feat
)
break
default
:
miscFeats
.
push
(
feat
)
break
...
...
@@ -68,94 +65,89 @@ export const FeatsSection = () => {
<
/span
>
<
/PlaceholderText
>
<
SubHeading
>
Ancestry
Feats
<
/SubHeading
>
<
div
>
{
!
hasAncestry
?
(
<
PlaceholderText
>
choose
an
ancestry
above
<
/PlaceholderText
>
)
:
(
ancestryFeats
.
map
((
feat
,
i
)
=>
{
return
(
<
FeatEntry
key
=
{
i
}
label
=
{
"
Lv
"
+
feat
.
type
.
split
(
"
_
"
)[
1
]}
feat
=
{
feat
}
addFeat
=
{()
=>
openFeatSelection
(
feat
.
type
)}
removeFeat
=
{()
=>
deleteFeat
(
feat
.
type
)}
/
>
)
})
)}
<
/div
>
<
FeatList
addFunc
=
{
openFeatSelection
}
deleteFeat
=
{
deleteFeat
}
featKey
=
"
ancestry
"
featList
=
{
ancestryFeats
}
title
=
"
Ancestry Feats
"
noListMessage
=
"
choose an ancestry above
"
hideListIf
=
{
!
hasAncestry
}
/
>
<
SubHeading
>
Class
Feats
<
/SubHeading
>
<
div
>
{
!
hasClass
?
(
<
PlaceholderText
>
choose
a
class
above
<
/PlaceholderText
>
)
:
(
classFeats
.
map
((
feat
,
i
)
=>
{
return
(
<
FeatEntry
key
=
{
i
}
label
=
{
"
Lv
"
+
feat
.
type
.
split
(
"
_
"
)[
1
]}
feat
=
{
feat
}
addFeat
=
{()
=>
openFeatSelection
(
feat
.
type
)}
removeFeat
=
{()
=>
deleteFeat
(
feat
.
type
)}
/
>
)
})
)}
<
/div
>
<
FeatList
addFunc
=
{
openFeatSelection
}
deleteFeat
=
{
deleteFeat
}
featKey
=
"
class
"
featList
=
{
classFeats
}
title
=
"
Class Feats
"
noListMessage
=
"
choose a class above
"
hideListIf
=
{
!
hasClass
}
/
>
<
FeatList
addFunc
=
{
openFeatSelection
}
deleteFeat
=
{
deleteFeat
}
featKey
=
"
skill
"
featList
=
{
skillFeats
}
title
=
"
Skill Feats
"
noListMessage
=
"
skill feats start at level 2
"
hideListIf
=
{
character
.
level
===
1
}
/
>
<
FeatList
addFunc
=
{
openFeatSelection
}
deleteFeat
=
{
deleteFeat
}
featKey
=
"
misc
"
featList
=
{
miscFeats
}
title
=
"
Other Feats
"
/>
<
SubHeading
>
Skill
Feats
<
/SubHeading
>
<
FeatEntry
label
=
""
feat
=
{{
type
:
"
misc_
"
+
Guid
.
newGuid
()
}}
addFeat
=
{
openFeatSelection
}
/
>
<
FeatSelection
show
=
{
showFeatSelection
}
closeFunction
=
{()
=>
setShowFeatSelection
(
false
)}
selectFeat
=
{
localSelectFeat
}
featType
=
{
featType
}
character
=
{
character
}
/
>
<
/Card
>
)
}
const
FeatList
=
({
hideListIf
,
noListMessage
,
featList
,
addFunc
,
deleteFeat
,
title
,
})
=>
{
return
(
<>
<
SubHeading
>
{
title
}
<
/SubHeading
>
<
div
>
{
!
hasClass
?
(
<
PlaceholderText
>
choose
a
class
above
<
/PlaceholderText
>
)
:
character
.
level
===
1
?
(
<
PlaceholderText
>
skill
feats
start
at
level
2
<
/PlaceholderText
>
{
hideListIf
?
(
<
PlaceholderText
>
{
noListMessage
}
<
/PlaceholderText
>
)
:
(
skillFeats
.
map
((
feat
,
i
)
=>
{
featList
.
map
((
feat
,
i
)
=>
{
return
(
<
FeatEntry
key
=
{
i
}
label
=
{
"
Lv
"
+
feat
.
type
.
split
(
"
_
"
)[
1
]
}
label
=
{
"
Lv
"
+
feat
.
level
}
feat
=
{
feat
}
addFeat
=
{
()
=>
openFeatSelection
(
feat
.
type
)
}
remov
eFeat
=
{
()
=>
deleteFeat
(
feat
.
type
)
}
addFeat
=
{
addFunc
}
delet
eFeat
=
{
deleteFeat
}
/
>
)
})
)}
<
/div
>
<
SubHeading
className
=
"
c-boost-group__heading mt-3
"
>
Other
Feats
<
/SubHeading
>
<
div
>
{
miscFeats
.
map
((
feat
,
i
)
=>
{
return
(
<
FeatEntry
key
=
{
i
}
label
=
""
feat
=
{
feat
}
addFeat
=
{()
=>
openFeatSelection
(
feat
.
type
)}
removeFeat
=
{()
=>
deleteFeat
(
feat
.
type
)}
/
>
)
})}
<
FeatEntry
label
=
""
feat
=
{{}}
addFeat
=
{()
=>
openFeatSelection
(
"
misc_
"
+
numMiscFeats
)}
/
>
<
/div
>
<
FeatSelection
show
=
{
showFeatSelection
}
closeFunction
=
{()
=>
setShowFeatSelection
(
false
)}
selectFeat
=
{
localSelectFeat
}
featKey
=
{
featKey
}
character
=
{
character
}
/
>
<
/Card
>
<
/
>
)
}
src/data/classTemplate.js
View file @
457c3607
...
...
@@ -144,7 +144,7 @@ export function calculatePerception(character) {
let
prof
=
0
if
(
character
.
class
.
perceptionBoosts
)
character
.
class
.
perceptionBoosts
.
forEach
((
boost
)
=>
{
let
level
=
boost
.
type
.
split
(
"
_
"
)[
1
]
let
level
=
boost
.
level
if
(
level
<=
character
.
level
)
prof
=
boost
.
proficiency
})
...
...
@@ -255,24 +255,28 @@ export function getBlankCharacter() {
{
ability
:
Abilities
.
FREE
,
source
:
"
Level_1
"
,
level
:
1
,
id
:
"
Level1-1
"
,
type
:
Abilities
.
FREE
,
},
{
ability
:
Abilities
.
FREE
,
source
:
"
Level_1
"
,
level
:
1
,
id
:
"
Level1-2
"
,
type
:
Abilities
.
FREE
,
},
{
ability
:
Abilities
.
FREE
,
source
:
"
Level_1
"
,
level
:
1
,
id
:
"
Level1-3
"
,
type
:
Abilities
.
FREE
,
},
{
ability
:
Abilities
.
FREE
,
source
:
"
Level_1
"
,
level
:
1
,
id
:
"
Level1-4
"
,
type
:
Abilities
.
FREE
,
},
...
...
@@ -375,37 +379,37 @@ export function getBlankCharacter() {
],
skills
:
_
.
cloneDeep
(
Skills
),
feats
:
[
{
type
:
"
ancestry_1
"
},
{
type
:
"
ancestry_5
"
},
{
type
:
"
ancestry_9
"
},
{
type
:
"
ancestry_13
"
},
{
type
:
"
ancestry_17
"
},
{
type
:
"
class_1
"
},
{
type
:
"
class_2
"
},
{
type
:
"
class_4
"
},
{
type
:
"
class_6
"
},
{
type
:
"
class_8
"
},
{
type
:
"
class_10
"
},
{
type
:
"
class_12
"
},
{
type
:
"
class_14
"
},
{
type
:
"
class_16
"
},
{
type
:
"
class_18
"
},
{
type
:
"
class_20
"
},
{
type
:
"
skill_2
"
},
{
type
:
"
skill_4
"
},
{
type
:
"
skill_6
"
},
{
type
:
"
skill_8
"
},
{
type
:
"
skill_10
"
},
{
type
:
"
skill_12
"
},
{
type
:
"
skill_14
"
},
{
type
:
"
skill_16
"
},
{
type
:
"
skill_18
"
},
{
type
:
"
skill_20
"
},
{
type
:
"
general_3
"
},
{
type
:
"
general_7
"
},
{
type
:
"
general_11
"
},
{
type
:
"
general_15
"
},
{
type
:
"
general_19
"
},
{
type
:
"
ancestry_1
"
,
level
:
1
},
{
type
:
"
ancestry_5
"
,
level
:
5
},
{
type
:
"
ancestry_9
"
,
level
:
9
},
{
type
:
"
ancestry_13
"
,
level
:
13
},
{
type
:
"
ancestry_17
"
,
level
:
17
},
{
type
:
"
class_1
"
,
level
:
1
},
{
type
:
"
class_2
"
,
level
:
2
},
{
type
:
"
class_4
"
,
level
:
4
},
{
type
:
"
class_6
"
,
level
:
6
},
{
type
:
"
class_8
"
,
level
:
8
},
{
type
:
"
class_10
"
,
level
:
10
},
{
type
:
"
class_12
"
,
level
:
12
},
{
type
:
"
class_14
"
,
level
:
14
},
{
type
:
"
class_16
"
,
level
:
16
},
{
type
:
"
class_18
"
,
level
:
18
},
{
type
:
"
class_20
"
,
level
:
20
},
{
type
:
"
skill_2
"
,
level
:
2
},
{
type
:
"
skill_4
"
,
level
:
4
},
{
type
:
"
skill_6
"
,
level
:
6
},
{
type
:
"
skill_8
"
,
level
:
8
},
{
type
:
"
skill_10
"
,
level
:
10
},
{
type
:
"
skill_12
"
,
level
:
12
},
{
type
:
"
skill_14
"
,
level
:
14
},
{
type
:
"
skill_16
"
,
level
:
16
},
{
type
:
"
skill_18
"
,
level
:
18
},
{
type
:
"
skill_20
"
,
level
:
20
},
{
type
:
"
general_3
"
,
level
:
3
},
{
type
:
"
general_7
"
,
level
:
7
},
{
type
:
"
general_11
"
,
level
:
11
},
{
type
:
"
general_15
"
,
level
:
15
},
{
type
:
"
general_19
"
,
level
:
19
},
],
}
}
src/data/classTemplate.test.js
View file @
457c3607
...
...
@@ -15,6 +15,7 @@ const hpTests = [
abilityBoosts
:
[
{
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
],
...
...
@@ -43,6 +44,7 @@ const hpTests = [
abilityBoosts
:
[
{
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
],
...
...
@@ -59,6 +61,7 @@ const hpTests = [
abilityBoosts
:
[
{
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
],
...
...
@@ -73,6 +76,7 @@ const hpTests = [
abilityBoosts
:
[
{
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
{
...
...
@@ -80,7 +84,8 @@ const hpTests = [
ability
:
"
Constitution
"
,
},
{
source
:
"
Level_5
"
,
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
],
...
...
@@ -95,6 +100,7 @@ const hpTests = [
abilityBoosts
:
[
{
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
{
...
...
@@ -102,7 +108,8 @@ const hpTests = [
ability
:
"
Constitution
"
,
},
{
source
:
"
Level_5
"
,
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
],
...
...
@@ -117,10 +124,12 @@ const hpTests = [
abilityBoosts
:
[
{
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
{
source
:
"
Level_5
"
,
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
{
...
...
@@ -143,10 +152,12 @@ const hpTests = [
abilityBoosts
:
[
{
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
{
source
:
"
Level_5
"
,
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
{
...
...
@@ -161,6 +172,7 @@ const hpTests = [
abilityFlaws
:
[
{
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
],
...
...
@@ -175,10 +187,12 @@ const hpTests = [
abilityBoosts
:
[
{
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
{
source
:
"
Level_5
"
,
source
:
"
Level_1
"
,
level
:
1
,
ability
:
"
Constitution
"
,
},
{
...
...
@@ -285,7 +299,7 @@ describe("calculatePerception", () => {
level
:
1
,
class
:
{
perceptionBoosts
:
[
{
type
:
"
ANY_1
"
,
proficiency
:
2
},
{
type
:
"
ANY_1
"
,
level
:
1
,
proficiency
:
2
},
{
type
:
"
ANY_4
"
,
proficiency
:
4
},
{
type
:
"
ANY_6
"
,
proficiency
:
6
},
{
type
:
"
ANOTHER_6
"
,
proficiency
:
10
},
...
...
src/data/classes/alchemist.js
View file @
457c3607
...
...
@@ -15,11 +15,13 @@ export const Alchemist = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
TRAINED
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
},
],
saveBoosts
:
[
...
...
@@ -28,6 +30,7 @@ export const Alchemist = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -35,6 +38,7 @@ export const Alchemist = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -42,6 +46,7 @@ export const Alchemist = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -49,6 +54,7 @@ export const Alchemist = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
4
"
,
type
:
nameOfClass
+
"
_7
"
,
level
:
7
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -56,6 +62,7 @@ export const Alchemist = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_11
"
,
level
:
11
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -63,6 +70,7 @@ export const Alchemist = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
6
"
,
type
:
nameOfClass
+
"
_15
"
,
level
:
15
,
proficiency
:
Proficiencies
.
MASTER
,
},
],
...
...
src/data/classes/barbarian.js
View file @
457c3607
...
...
@@ -16,11 +16,13 @@ export const Barbarian = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
MASTER
,
type
:
nameOfClass
+
"
_17
"
,
level
:
17
,
},
],
...
...
src/data/classes/bard.js
View file @
457c3607
...
...
@@ -15,11 +15,13 @@ export const Bard = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
MASTER
,
type
:
nameOfClass
+
"
_11
"
,
level
:
11
,
},
],
saveBoosts
:
[
...
...
@@ -28,6 +30,7 @@ export const Bard = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -35,6 +38,7 @@ export const Bard = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -42,6 +46,7 @@ export const Bard = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -49,6 +54,7 @@ export const Bard = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
4
"
,
type
:
nameOfClass
+
"
_3
"
,
level
:
3
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -56,6 +62,7 @@ export const Bard = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -63,6 +70,7 @@ export const Bard = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
6
"
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -70,6 +78,7 @@ export const Bard = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
7
"
,
type
:
nameOfClass
+
"
_17
"
,
level
:
17
,
proficiency
:
Proficiencies
.
LEGEND
,
},
],
...
...
src/data/classes/champion.js
View file @
457c3607
...
...
@@ -28,11 +28,13 @@ export const Champion = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
TRAINED
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_11
"
,
level
:
11
,
},
],
hp
:
10
,
...
...
@@ -42,6 +44,7 @@ export const Champion = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -49,6 +52,7 @@ export const Champion = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -56,6 +60,7 @@ export const Champion = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -63,6 +68,7 @@ export const Champion = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
4
"
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -70,6 +76,7 @@ export const Champion = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -77,6 +84,7 @@ export const Champion = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
6
"
,
type
:
nameOfClass
+
"
_11
"
,
level
:
11
,
proficiency
:
Proficiencies
.
MASTER
,
},
],
...
...
src/data/classes/cleric.js
View file @
457c3607
...
...
@@ -14,11 +14,13 @@ export const Cleric = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
TRAINED
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_5
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
],
hp
:
8
,
...
...
@@ -28,6 +30,7 @@ export const Cleric = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -35,6 +38,7 @@ export const Cleric = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -42,6 +46,7 @@ export const Cleric = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -49,6 +54,7 @@ export const Cleric = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
4
"
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -56,6 +62,7 @@ export const Cleric = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_11
"
,
level
:
11
,
proficiency
:
Proficiencies
.
EXPERT
,
},
],
...
...
src/data/classes/druid.js
View file @
457c3607
...
...
@@ -22,11 +22,13 @@ export const Druid = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
TRAINED
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_3
"
,
level
:
3
,
},
],
...
...
@@ -36,6 +38,7 @@ export const Druid = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -43,6 +46,7 @@ export const Druid = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -50,6 +54,7 @@ export const Druid = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -57,6 +62,7 @@ export const Druid = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
4
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -64,6 +70,7 @@ export const Druid = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_3
"
,
level
:
3
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -71,6 +78,7 @@ export const Druid = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
6
"
,
type
:
nameOfClass
+
"
_5
"
,
level
:
5
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -78,6 +86,7 @@ export const Druid = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
7
"
,
type
:
nameOfClass
+
"
_11
"
,
level
:
11
,
proficiency
:
Proficiencies
.
MASTER
,
},
],
...
...
src/data/classes/fighter.js
View file @
457c3607
...
...
@@ -29,11 +29,13 @@ export const Fighter = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
MASTER
,
type
:
nameOfClass
+
"
_7
"
,
level
:
7
,
},
],
...
...
@@ -43,6 +45,7 @@ export const Fighter = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -50,6 +53,7 @@ export const Fighter = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -57,6 +61,7 @@ export const Fighter = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -64,6 +69,7 @@ export const Fighter = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
4
"
,
type
:
nameOfClass
+
"
_3
"
,
level
:
3
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -71,6 +77,7 @@ export const Fighter = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -78,6 +85,7 @@ export const Fighter = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
6
"
,
type
:
nameOfClass
+
"
_15
"
,
level
:
15
,
proficiency
:
Proficiencies
.
MASTER
,
},
],
...
...
src/data/classes/investigator.js
View file @
457c3607
...
...
@@ -21,16 +21,19 @@ export const Investigator = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
MASTER
,
type
:
nameOfClass
+
"
_7
"
,
level
:
7
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
LEGEND
,
type
:
nameOfClass
+
"
_13
"
,
level
:
13
,
},
],
...
...
@@ -40,6 +43,7 @@ export const Investigator = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -47,6 +51,7 @@ export const Investigator = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -54,6 +59,7 @@ export const Investigator = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -61,6 +67,7 @@ export const Investigator = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -68,6 +75,7 @@ export const Investigator = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_11
"
,
level
:
11
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -75,6 +83,7 @@ export const Investigator = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_15
"
,
level
:
15
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -82,6 +91,7 @@ export const Investigator = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
6
"
,
type
:
nameOfClass
+
"
_17
"
,
level
:
17
,
proficiency
:
Proficiencies
.
MASTER
,
},
],
...
...
src/data/classes/monk.js
View file @
457c3607
...
...
@@ -28,11 +28,13 @@ export const Monk = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
TRAINED
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_5
"
,
level
:
5
,
},
],
...
...
@@ -42,6 +44,7 @@ export const Monk = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -49,6 +52,7 @@ export const Monk = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -56,6 +60,7 @@ export const Monk = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
],
...
...
src/data/classes/oracle.js
View file @
457c3607
...
...
@@ -15,11 +15,13 @@ export const Oracle = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
TRAINED
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_11
"
,
level
:
11
,
},
],
saveBoosts
:
[
...
...
@@ -28,6 +30,7 @@ export const Oracle = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -35,6 +38,7 @@ export const Oracle = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -42,6 +46,7 @@ export const Oracle = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -49,6 +54,7 @@ export const Oracle = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
4
"
,
type
:
nameOfClass
+
"
_7
"
,
level
:
7
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -56,6 +62,7 @@ export const Oracle = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -63,6 +70,7 @@ export const Oracle = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
6
"
,
type
:
nameOfClass
+
"
_13
"
,
level
:
13
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -70,6 +78,7 @@ export const Oracle = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
7
"
,
type
:
nameOfClass
+
"
_17
"
,
level
:
17
,
proficiency
:
Proficiencies
.
LEGEND
,
},
],
...
...
src/data/classes/ranger.js
View file @
457c3607
...
...
@@ -15,16 +15,19 @@ export const Ranger = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
MASTER
,
type
:
nameOfClass
+
"
_7
"
,
level
:
7
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
LEGEND
,
type
:
nameOfClass
+
"
_15
"
,
level
:
15
,
},
],
saveBoosts
:
[
...
...
@@ -33,6 +36,7 @@ export const Ranger = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -40,6 +44,7 @@ export const Ranger = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -47,6 +52,7 @@ export const Ranger = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -54,6 +60,7 @@ export const Ranger = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
4
"
,
type
:
nameOfClass
+
"
_3
"
,
level
:
3
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -61,6 +68,7 @@ export const Ranger = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_7
"
,
level
:
7
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -68,6 +76,7 @@ export const Ranger = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
6
"
,
type
:
nameOfClass
+
"
_11
"
,
level
:
11
,
proficiency
:
Proficiencies
.
MASTER
,
},
],
...
...
src/data/classes/rogue.js
View file @
457c3607
...
...
@@ -23,16 +23,19 @@ export const Rogue = {
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
EXPERT
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
MASTER
,
type
:
nameOfClass
+
"
_7
"
,
level
:
7
,
},
{
source
:
nameOfClass
,
proficiency
:
Proficiencies
.
LEGEND
,
type
:
nameOfClass
+
"
_13
"
,
level
:
13
,
},
],
saveBoosts
:
[
...
...
@@ -41,6 +44,7 @@ export const Rogue = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
1
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
TRAINED
,
},
{
...
...
@@ -48,6 +52,7 @@ export const Rogue = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
2
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -55,6 +60,7 @@ export const Rogue = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
3
"
,
type
:
nameOfClass
+
"
_1
"
,
level
:
1
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -62,6 +68,7 @@ export const Rogue = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
4
"
,
type
:
nameOfClass
+
"
_7
"
,
level
:
7
,
proficiency
:
Proficiencies
.
MASTER
,
},
{
...
...
@@ -69,6 +76,7 @@ export const Rogue = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
5
"
,
type
:
nameOfClass
+
"
_9
"
,
level
:
9
,
proficiency
:
Proficiencies
.
EXPERT
,
},
{
...
...
@@ -76,6 +84,7 @@ export const Rogue = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
6
"
,
type
:
nameOfClass
+
"
_13
"
,
level
:
13
,
proficiency
:
Proficiencies
.
LEGEND
,
},
{
...
...
@@ -83,6 +92,7 @@ export const Rogue = {
source
:
nameOfClass
,
id
:
nameOfClass
+
"
7
"
,
type
:
nameOfClass
+
"
_17
"
,
level
:
17
,
proficiency
:
Proficiencies
.
MASTER
,
},
],
...
...
@@ -182,13 +192,13 @@ export const Rogue = {
feats
:
[
{
type
:
"
skill_1
"
},
{
type
:
"
skill_3
"
},
{
type
:
"
skill_5
"
},
{
type
:
"
skill_7
"
},
{
type
:
"
skill_9
"
},
{
type
:
"
skill_11
"
},
{
type
:
"
skill_13
"
},
{
type
:
"
skill_15
"
},
{
type
:
"
skill_17
"
},
{
type
:
"
skill_19
"
},
{
type
:
"
skill_5
"
,
level
:
5
},
{
type
:
"
skill_7
"
,
level
:
7
},
{
type
:
"
skill_9
"
,
level
:
9
},
{
type
:
"
skill_11
"
,
level
:
11
},
{
type
:
"
skill_13
"
,
level
:
13
},
{
type
:
"
skill_15
"
,
level
:
15
},
{
type
:
"
skill_17
"
,
level
:
17
},
{
type
:
"
skill_19
"
,
level
:
19
},
],
}
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment