Improved readme
This commit is contained in:
parent
655a105924
commit
2c42ebd246
2 changed files with 116 additions and 46 deletions
156
README.md
156
README.md
|
@ -18,19 +18,66 @@ Options:
|
||||||
|
|
||||||
## Binding File
|
## Binding File
|
||||||
|
|
||||||
|
Each Muse project should specify a `binding.yaml` file with the following shape:
|
||||||
```yaml
|
```yaml
|
||||||
name: My Playbill # Required
|
name: My Playbill # Required
|
||||||
author: My Name # Required
|
author: My Name # Required
|
||||||
version: 0.0.1 # Required
|
version: 0.0.1 # Required
|
||||||
files: # Optional
|
extend: ../another-playbill # Optional
|
||||||
|
files: # Optional
|
||||||
- "**/*.yaml"
|
- "**/*.yaml"
|
||||||
styles: # Optional
|
styles: # Optional
|
||||||
- stylesheet.css
|
- stylesheet.css
|
||||||
terms: # Optional
|
terms: # Optional
|
||||||
Some Term: Some Definition
|
Some Term: Some Definition
|
||||||
Another Term: Another Definition
|
Another Term: Another Definition
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The **Binding** file is used to specify the metadata for the Playbill, as well as the files to be compiled. It is also the entry point for a project.
|
||||||
|
|
||||||
|
When using the `muse` CLI, you must provide either a path to a `binding.yaml` file or a directory which contains a `binding.yaml` file.
|
||||||
|
|
||||||
|
## Common Types
|
||||||
|
|
||||||
|
Many Playbill components share common properties that expect a value
|
||||||
|
from a predefined list. These are the common types used in the Playbill.
|
||||||
|
|
||||||
|
### `Roll` Options
|
||||||
|
|
||||||
|
- `none`
|
||||||
|
- `attack`
|
||||||
|
- `fate`
|
||||||
|
- `muscle`
|
||||||
|
- `focus`
|
||||||
|
- `knowledge`
|
||||||
|
- `charm`
|
||||||
|
- `cunning`
|
||||||
|
- `spark`
|
||||||
|
|
||||||
|
### `Damage Type` Options
|
||||||
|
|
||||||
|
- `phy` (denotes "physical damage")
|
||||||
|
- `arc` (denotes "arcane damage")
|
||||||
|
|
||||||
|
### `Prowess` Options
|
||||||
|
|
||||||
|
- `novice`
|
||||||
|
- `adept`
|
||||||
|
- `master`
|
||||||
|
|
||||||
|
### `Challenge` Options
|
||||||
|
|
||||||
|
- `novice`
|
||||||
|
- `adept`
|
||||||
|
- `master`
|
||||||
|
- `theatrical`
|
||||||
|
|
||||||
|
### `Ability Type` Options
|
||||||
|
|
||||||
|
- `action`
|
||||||
|
- `cue`
|
||||||
|
- `trait`
|
||||||
|
|
||||||
## Definition Shapes
|
## Definition Shapes
|
||||||
|
|
||||||
These YAML representations of definitions show the properties available for each Playbill component.
|
These YAML representations of definitions show the properties available for each Playbill component.
|
||||||
|
@ -51,54 +98,71 @@ categories: # default: No categories
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
$define: ability
|
$define: ability
|
||||||
type: action | cue | trait
|
type: <ability type> # Default: action
|
||||||
ap: 0
|
ap: 0 # AP cost to use this ability (default: 0)
|
||||||
hp: 0
|
hp: 0 # HP cost to use this ability (default: 0)
|
||||||
ep: 0
|
ep: 0 # EP cost to use this ability (default: 0)
|
||||||
xp: 0
|
xp: 0 # XP cost to learn this ability (default: 1)
|
||||||
damage: 0
|
damage: 0 # Damage dealt by this ability (default: 0)
|
||||||
damageType: phy | arc
|
damageType: <damage type> # Type of damage dealt by this ability (default: phy)
|
||||||
roll: none | attack | fate | <any talent>
|
roll: <roll type> # Roll type for this ability (default: none)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Blueprint Definition
|
### Blueprint Definition
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
$define: blueprint
|
$define: blueprint
|
||||||
species: some-hypenated-id
|
species: species-id # ID of the species this blueprint is for
|
||||||
items:
|
items: # List of item IDs (default: empty)
|
||||||
- item-id
|
- item-id
|
||||||
- item-id-two
|
abilities: # List of ability IDs (default: empty)
|
||||||
- item-id-three
|
|
||||||
abilities:
|
|
||||||
- ability-id
|
- ability-id
|
||||||
- ability-id-two
|
ap: 0 # Starting AP (default: 4)
|
||||||
- ability-id-three
|
hp: 0 # Starting HP (default: 5)
|
||||||
ap: 0
|
ep: 0 # Starting EP (default: 1)
|
||||||
hp: 0
|
xp: 0 # Starting XP (default: 0)
|
||||||
ep: 0
|
muscle: <prowess> # Starting muscle prowess (default: novice)
|
||||||
xp: 0
|
focus: <prowess> # Starting focus prowess (default: novice)
|
||||||
muscle: novice | adept | master
|
knowledge: <prowess> # Starting knowledge prowess (default: novice)
|
||||||
focus: novice | adept | master
|
charm: <prowess> # Starting charm prowess (default: novice)
|
||||||
knowledge: novice | adept | master
|
cunning: <prowess> # Starting cunning prowess (default: novice)
|
||||||
charm: novice | adept | master
|
spark: <prowess> # Starting spark prowess (default: novice)
|
||||||
cunning: novice | adept | master
|
|
||||||
spark: novice | adept | master
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Item Definition
|
### Item Definition
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
$define: item
|
$define: item
|
||||||
type: wielded | worn | trinket
|
type: <item type>
|
||||||
rarity: common | uncommon | rare | legendary
|
rarity: <rarity>
|
||||||
affinity: none | attack | fate | <any talent>
|
affinity: <roll type>
|
||||||
damage: 0
|
damage: 0
|
||||||
damageType: phy | arc
|
damageType: <damage type>
|
||||||
hands: 1 | 2 # Only for wielded items
|
hands: 1 | 2 # Only for wielded items
|
||||||
slot: headgear | outfit | gloves | boots | adornment | unique # Only for worn items
|
slot: <item slot> # Only for worn items
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### `Item Type` Options
|
||||||
|
|
||||||
|
- `wielded`
|
||||||
|
- `worn`
|
||||||
|
- `trinket`
|
||||||
|
|
||||||
|
#### `Rarity` Options
|
||||||
|
|
||||||
|
- `common`
|
||||||
|
- `uncommon`
|
||||||
|
- `rare`
|
||||||
|
- `legendary`
|
||||||
|
|
||||||
|
#### `Item Slot` Options
|
||||||
|
|
||||||
|
- `headgear`
|
||||||
|
- `outfit`
|
||||||
|
- `gloves`
|
||||||
|
- `boots`
|
||||||
|
- `adornment`
|
||||||
|
|
||||||
### Method Definition
|
### Method Definition
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -113,11 +177,17 @@ abilities:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
$define: resource
|
$define: resource
|
||||||
type: text | image | table
|
type: <resource type>
|
||||||
url: https://example.com/image.jpeg # Only for image resources
|
url: https://example.com/image.jpeg # Only for image resources
|
||||||
data: <a 2-d array of strings> # Only for table resources
|
data: <a 2-d array of strings> # Only for table resources
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### `Resource Type` Options
|
||||||
|
|
||||||
|
- `text`
|
||||||
|
- `image`
|
||||||
|
- `table`
|
||||||
|
|
||||||
### Rule Definition
|
### Rule Definition
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -138,10 +208,10 @@ ap: 0
|
||||||
hp: 0
|
hp: 0
|
||||||
ep: 0
|
ep: 0
|
||||||
xp: 0
|
xp: 0
|
||||||
muscle: novice | adept | master
|
muscle: <prowess>
|
||||||
focus: novice | adept | master
|
focus: <prowess>
|
||||||
knowledge: novice | adept | master
|
knowledge: <prowess>
|
||||||
charm: novice | adept | master
|
charm: <prowess>
|
||||||
cunning: novice | adept | master
|
cunning: <prowess>
|
||||||
spark: novice | adept | master
|
spark: <prowess>
|
||||||
```
|
```
|
||||||
|
|
|
@ -41,9 +41,9 @@ const BlueprintSchema = Base.extend({
|
||||||
species: z.string(),
|
species: z.string(),
|
||||||
items: z.array(z.string()).default([]),
|
items: z.array(z.string()).default([]),
|
||||||
abilities: z.array(z.string()).default([]),
|
abilities: z.array(z.string()).default([]),
|
||||||
ap: z.number().int().default(0),
|
ap: z.number().int().default(4),
|
||||||
hp: z.number().int().default(0),
|
hp: z.number().int().default(5),
|
||||||
ep: z.number().int().default(0),
|
ep: z.number().int().default(1),
|
||||||
xp: z.number().int().default(0),
|
xp: z.number().int().default(0),
|
||||||
muscle: z.string().default("novice"),
|
muscle: z.string().default("novice"),
|
||||||
focus: z.string().default("novice"),
|
focus: z.string().default("novice"),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue