Skip to content

Character sheets

A character sheet is made of cards. Each card is a fenced code block with the language dicelist, containing YAML. A card has a name, a description and a picture, plus any components you add to it: rolls, values, modifiers, an inventory, and so on.

```dicelist
type: weapon
name: Longbow
description: Two-handed, heavy. Range 150/600 ft.
rolls:
  - name: Hit
    dice: 1d20 + {{dex mod}} + {{proficiency}}
    categories: [attack, ranged]
  - name: Damage
    dice: 1d8 + {{dex mod}}
    categories: [damage]
```

In reading view or live preview, the block becomes an interactive card. Click its buttons to roll.

Nothing about a weapon, spell or character is built in. A weapon is a card with Hit and Damage rolls; a spell is a card with rolls, effects that spend a spell slot, and maybe a modifier like Bless; a character is a card with values like level and armor class. See the example sheet for a full character to copy.

Card fields

Field Description
name The card's title.
type A tag shown beside the name, such as weapon or spell, so you can tell cards apart. It's only a label: any card can have any components.
description Markdown shown under the title. Links and formatting work.
picture An image in your vault, as a path or a wiki link, shown beside the title.
layout Which components show as a grid of tiles, like layout: { rolls: grid } for a skill list, or layout: { rolls: { columns: 3 } } for at most three columns. Each component named gets its own grid; the rest stay as rows. rolls and values can be grids. See grids.
on Event subscriptions: actions this card runs when an event fires.

Grids

A grid uses as many columns as fit the note's width, up to its columns if you give one, then keeps its rows even. Six tiles with room for five show as two rows of three, not five and one. Narrow the note and it uses fewer columns, still keeping rows as even as it can.

layout:
  rolls: { columns: 3 }
  values: grid

Components

Add a component by writing its key. They're shown in the order you write them.

Key What it adds Limits
fields Labelled details, like Class, Speed or Languages
values Named numbers that formulas use, like level or armor class Each name once per character
rolls Buttons that roll dice and run effects
modifiers Bonuses with switches, like Bless or Poisoned Each name once per character
consumables Spell slots, hit dice, and other limited uses Each name once per character
inventory Items and quantities Each item name once per character
health Hit points and temporary hit points One per character
events Buttons for rests and other events

A card with a field it doesn't know, such as a misspelled component, shows a warning listing the fields it can have.

Formulas

Dice and numbers anywhere on a card can use the character's values by name, like 1d20 + {{dex mod}}. See values and formulas.

Linking notes to a character

A character can be spread across several notes, such as a main sheet, a spellbook, and an inventory. Give every note for that character the same character property in its frontmatter:

---
character: Aria Stormwind
---

Cards find each other through this property: a roll in the spellbook can use values from the main sheet and spend spell slots from another note.

If a note has no character property, its cards only look within that same note.

Some things must be unique across all of a character's notes: only one card can have health, and each item, value, modifier and consumable name can be used only once. A card that breaks one of these shows an error with links to every card involved.

Editing from the sheet

Switches, counters, quantities and hit points write changes back into your note's YAML. Comments and formatting in the block are preserved.