mirror of
https://gitlab.com/EternalWanderer/sheet-parser.git
synced 2024-11-28 21:13:51 +01:00
154 lines
4 KiB
Markdown
154 lines
4 KiB
Markdown
sheet-parser(1)
|
|
|
|
# NAME
|
|
|
|
sheet-parser - D&D sheet parser utility written in go
|
|
|
|
# SYNOPSIS
|
|
|
|
*sheet-parser* [*-f* _<file>_] [*--file* _<file>_]
|
|
|
|
*sheet-parser* [*-t*] [*--trivia*]
|
|
|
|
*sheet-parser* [*--feats*]
|
|
|
|
*sheet-parser* [*-v*] [*--verbose*]
|
|
|
|
*sheet-parser* [*--advantage*] [*--disadvantage*]
|
|
|
|
*sheet-parser* [*--skill-list*] [*--stat-list*]
|
|
|
|
*sheet-parser* [*--stat* _<stat>_] [*--save* _<stat>_] [*--skill* _<skill>_]
|
|
|
|
# DESCRIPTION
|
|
|
|
*sheet-parser* is a little utility written with the purpose of being able to parse 5e D&D sheets.
|
|
Digging through all the different stats and skills and keeping track of their modifiers got a rather tiresome after a while.
|
|
|
|
This thing makes use of some of the functionality of dice-roller, mainly the way it deals with advantage and disadvantage.
|
|
|
|
# OPTIONS
|
|
|
|
*-f --file*
|
|
Specify path to character sheet. Example character sheet can be found at
|
|
'/etc/sheet-parser/example.json'
|
|
|
|
*-v --verbose*
|
|
Show more information; to be used in conjunction with *--skill-list*,
|
|
*--stat-list* or *--spells*
|
|
|
|
*-t --trivia*
|
|
Used to print character sheet's name, race, class, level and proficiency
|
|
bonus
|
|
|
|
*--stat* _<stat>_
|
|
Roll a stat check, standard stats can be printed using
|
|
*--stat-list* and are also listed in the a dedicated section
|
|
|
|
*--save* _<stat>_
|
|
Roll a saving throw, standard stats can be printed using
|
|
*--stat-list* and are also listed in the a dedicated section
|
|
|
|
*--skill* _<skill>_
|
|
Roll a skill check, standard stats can be printed using
|
|
*--skill-list* and are also listed in the a dedicated section
|
|
|
|
*--stat-list*
|
|
Print list of standard stats
|
|
|
|
*--skill-list*
|
|
Print list of standard skills
|
|
|
|
*--spells*
|
|
Print list of spells found in character sheet
|
|
|
|
*-v --verbose*
|
|
Print given character sheet's scores and modifiers; to be used in
|
|
conjunction with *--stat-list* and *--skill-list*
|
|
|
|
*--advantage*
|
|
Roll a check with 2d20 and take the highest number; to be used in
|
|
conjunction with *--save* *--skill* or *--stat*
|
|
|
|
*--disadvantage*
|
|
Roll a check with 2d20 and take the lowest number; to be used in
|
|
conjunction with *--save* *--skill* or *--stat*
|
|
|
|
*--feats*
|
|
List character feats
|
|
|
|
# CONFIGURATION
|
|
|
|
You can change the default character sheet by setting *$CHARSHEET* to point to a
|
|
character sheet JSON file. This will still be overruled using *--file*.
|
|
|
|
# STATS & SKILLS
|
|
*sheet-parser* makes use of stats and skills according to the rules of D&D 5e.
|
|
This means that the modifies of all the skills and stats are based on the scores
|
|
of the stats.
|
|
|
|
*Default stats are:*
|
|
- strength
|
|
- dexterity
|
|
- constitution
|
|
- intelligence
|
|
- wisdom
|
|
- charisma
|
|
*Default skills are:*
|
|
- athletics
|
|
- acrobatics
|
|
- sleight_of_hand
|
|
- stealth
|
|
- arcana
|
|
- history
|
|
- investigation
|
|
- nature
|
|
- religion
|
|
- animal_handling
|
|
- insight
|
|
- medicine
|
|
- perception
|
|
- survival
|
|
- deception
|
|
- intimidation
|
|
- performance
|
|
- persuasion
|
|
|
|
# CUSTOM CHARACTER SHEETS
|
|
To create a custom character sheet, copy the example file to some place where
|
|
you can edit it.
|
|
|
|
```
|
|
cp /etc/sheet-parser/example.json foo.json
|
|
```
|
|
|
|
From here, the most important fields are the stats scores, the proficiency and
|
|
expertise booleans; and the character level as these determine the results of
|
|
your rolls.
|
|
|
|
```
|
|
"misc":{
|
|
"level": 1,
|
|
...
|
|
},
|
|
"stats":[
|
|
{"name":"strength", "score":20, "proficient":false, "saveProficient":false },
|
|
{"name":"dexterity", "score":1, "proficient":false, "saveProficient":false },
|
|
...
|
|
],
|
|
"skills":[
|
|
{"name":"athletics", "proficient":true, "expertise":false, "baseStat":"strength"},
|
|
{"name":"acrobatics", "proficient":false, "expertise":false, "baseStat":"dexterity"},
|
|
...
|
|
],
|
|
"spells":[
|
|
{"name":"Eldritch Blast", "level":0, "castingTime":"1 Action", "range": 120, "components":"v,s", "duration":"Instantaneous","attack_save":"Ranged", "damage_effect":"Force", "school":"Evocation", "description":"..."},
|
|
...
|
|
],
|
|
"feats":[
|
|
{"name":"Test Dummy", "description":"As the test dummy for this project, you gain the ability to use things from other classes willy nilly."}
|
|
]
|
|
```
|
|
|
|
The "isKurthog" boolean is an injoke that I took a little too far.
|