147 lines
3 KiB
Markdown
147 lines
3 KiB
Markdown
# Playbill Builder CLI
|
|
|
|
This is a CLI tool for compiling Markdown and 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
|
|
--outfile, -o Specify the output file path. If not specified, output to stdout
|
|
--watch, -w Watch the directory for changes and recompile
|
|
--renderer, -r Specify the output renderer. Options: json, html
|
|
--help, -h Show this help message
|
|
```
|
|
|
|
## Binding File
|
|
|
|
```yaml
|
|
name: My Playbill # Required
|
|
author: My Name # Required
|
|
version: 0.0.1 # Required
|
|
files: # Optional
|
|
- "**/*.yaml"
|
|
styles: # Optional
|
|
- stylesheet.css
|
|
terms: # Optional
|
|
Some Term: Some Definition
|
|
Another Term: Another Definition
|
|
```
|
|
|
|
## Definition Shapes
|
|
|
|
These YAML representations of definitions show the properties available for each Playbill component.
|
|
|
|
Note that every Playbill component definition can define the following properties:
|
|
|
|
```yaml
|
|
id: some-hypenated-id # default: slug-ified file name
|
|
name: The Name of the Component # default: Name of the containing file
|
|
description: A markdown-enabled description # default: Placeholder / empty
|
|
categories: # default: No categories
|
|
- list
|
|
- of
|
|
- categories
|
|
```
|
|
|
|
### Ability Definition
|
|
|
|
```yaml
|
|
$define: ability
|
|
type: action | cue | trait
|
|
ap: 0
|
|
hp: 0
|
|
ep: 0
|
|
xp: 0
|
|
damage: 0
|
|
damageType: phy | arc
|
|
roll: none | attack | fate | <any talent>
|
|
```
|
|
|
|
### Blueprint Definition
|
|
|
|
```yaml
|
|
$define: blueprint
|
|
species: some-hypenated-id
|
|
items:
|
|
- item-id
|
|
- item-id-two
|
|
- item-id-three
|
|
abilities:
|
|
- ability-id
|
|
- ability-id-two
|
|
- ability-id-three
|
|
ap: 0
|
|
hp: 0
|
|
ep: 0
|
|
xp: 0
|
|
muscle: novice | adept | master
|
|
focus: novice | adept | master
|
|
knowledge: novice | adept | master
|
|
charm: novice | adept | master
|
|
cunning: novice | adept | master
|
|
spark: novice | adept | master
|
|
```
|
|
|
|
### Item Definition
|
|
|
|
```yaml
|
|
$define: item
|
|
type: wielded | worn | trinket
|
|
rarity: common | uncommon | rare | legendary
|
|
affinity: none | attack | fate | <any talent>
|
|
damage: 0
|
|
damageType: phy | arc
|
|
hands: 1 | 2 # Only for wielded items
|
|
slot: headgear | outfit | gloves | boots | adornment | unique # Only for worn items
|
|
```
|
|
|
|
### Method Definition
|
|
|
|
```yaml
|
|
$define: method
|
|
curator: Someone
|
|
abilities:
|
|
- [rank-1-ability-id-one, rank-1-ability-id-two]
|
|
- [rank-2-ability-id-one]
|
|
```
|
|
|
|
### Resource Definition
|
|
|
|
```yaml
|
|
$define: resource
|
|
type: text | image | table
|
|
url: https://example.com/image.jpeg # Only for image resources
|
|
data: <a 2-d array of strings> # Only for table resources
|
|
```
|
|
|
|
### Rule Definition
|
|
|
|
```yaml
|
|
$define: rule
|
|
overrule: another-rule-id # Optional
|
|
order: 0 # Optional
|
|
```
|
|
|
|
### Species Definition
|
|
|
|
```yaml
|
|
$define: species
|
|
hands: 2
|
|
abilities:
|
|
- some-ability-id
|
|
- another-ability-id
|
|
ap: 0
|
|
hp: 0
|
|
ep: 0
|
|
xp: 0
|
|
muscle: novice | adept | master
|
|
focus: novice | adept | master
|
|
knowledge: novice | adept | master
|
|
charm: novice | adept | master
|
|
cunning: novice | adept | master
|
|
spark: novice | adept | master
|
|
```
|