172 lines
3.1 KiB
Markdown
172 lines
3.1 KiB
Markdown
# Playbill Builder CLI
|
|
|
|
This is a CLI tool for compiling YAML files into a validated Playbill for [Proscenium](https://proscenium.game)
|
|
|
|
## Usage
|
|
|
|
```plaintext
|
|
Usage:
|
|
muse [/path/to/binding.yaml] <options>
|
|
|
|
Options:
|
|
--check Only load and check the current binding and resources,
|
|
but do not compile
|
|
--write Write the output to a file. If not specified, outputs to stdout
|
|
--outfile Specify the output file path [default: playbill.json]
|
|
--verbose, -v Verbose output
|
|
--help, -h Show this help message
|
|
```
|
|
|
|
## Binding File
|
|
|
|
```yaml
|
|
$binding: playbill # Required
|
|
id: the-playbill-id # Required
|
|
name: My Playbill # Required
|
|
author: My Name # Required
|
|
version: 0.0.1 # Required
|
|
files: # Optional
|
|
- "**/*.yaml"
|
|
```
|
|
|
|
## Definable Playbill Resources
|
|
|
|
- ability
|
|
- species
|
|
- entity
|
|
- item
|
|
- tag
|
|
- lore
|
|
- method
|
|
- rule
|
|
|
|
### Shape: Ability
|
|
|
|
```yaml
|
|
$define: ability # Required
|
|
id: ability-id # Required
|
|
name: Ability Name # Required
|
|
description: Some description # Required
|
|
type: action | cue | trait # Required
|
|
costs: # Optional, and each subfield is optional
|
|
ap: 1
|
|
hp: 1
|
|
xp: 1
|
|
ep: 1
|
|
roll: none (default), fate or a talent # Optional
|
|
boons: # Optional
|
|
- First boon
|
|
- Second boon
|
|
banes: # Optional
|
|
- First bane
|
|
- Second bane
|
|
|
|
```
|
|
|
|
### Shape: Method
|
|
|
|
```yaml
|
|
$define: method # Required
|
|
id: method-id # Required
|
|
name: Method Name # Required
|
|
description: Method Description # Required
|
|
curator: Method Curator Name # Required
|
|
abilities:
|
|
- [ability-id, another-ability]
|
|
- [yet-anotther, and-so-on]
|
|
```
|
|
|
|
### Shape: Species
|
|
|
|
```yaml
|
|
$define: species # Required
|
|
id: species-id # Required
|
|
name: Species Name # Required
|
|
description: Species Description # Required
|
|
abilities:
|
|
- ability-id
|
|
- another-ability
|
|
bonuses:
|
|
bonusMaxHp: 1
|
|
bonusMaxAp: 1
|
|
bonusMaxEp: 1
|
|
muscleProwess: adept
|
|
knowledgeProwess: adept
|
|
focusProwess: adept
|
|
charmProwess: adept
|
|
cunningProwess: adept
|
|
sparkProwess: adept
|
|
```
|
|
|
|
### Shape: Entity
|
|
|
|
```yaml
|
|
$define: entity
|
|
id: entity-id # Required
|
|
name: Entity Name # Required
|
|
description: Entity Description # Required
|
|
species: species-id # Required
|
|
abilities:
|
|
- some-ability
|
|
- another-ability
|
|
stats:
|
|
hp: 1
|
|
ap: 1
|
|
ep: 1
|
|
xp: 1
|
|
talents:
|
|
muscle: adept
|
|
knowledge: adept
|
|
focus: adept
|
|
charm: adept
|
|
cunning: adept
|
|
spark: adept
|
|
damage: 0
|
|
baggage: []
|
|
```
|
|
|
|
### Shape: Item
|
|
|
|
```yaml
|
|
$define: item
|
|
id: item-id # Required
|
|
name: Item Name # Required
|
|
description: Item Description # Required
|
|
type: wielded | worn | trinket
|
|
slots: 0 | 1 | 2 | 3 | 4 | 5
|
|
tags:
|
|
- some-tag-id
|
|
- another-tag-id
|
|
```
|
|
|
|
### Shape: Item Tag
|
|
|
|
```yaml
|
|
$define: tag
|
|
id: tag-id # Required
|
|
name: Tag Name # Required
|
|
description: Tag Description # Required
|
|
icon: https://some.url/icon.png
|
|
```
|
|
|
|
### Shape: Lore
|
|
|
|
```yaml
|
|
$define: lore
|
|
id: lore-id # Required
|
|
name: Lore Entry Name # Required
|
|
description: Lore entry content # Required
|
|
categories:
|
|
- something
|
|
- another
|
|
```
|
|
|
|
### Shape: Rule
|
|
|
|
```yaml
|
|
$define: rule
|
|
id: rule-id # Required
|
|
name: Rule Name # Required
|
|
description: Rule content # Required
|
|
overrule: existing-rule-id # Optional
|
|
```
|