sheet-parser/sheet-parser.1.scd

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.