- A character at 0 HP is Dying, Stable or Dead. The tallies live on the character, so the sheet and the encounter card always agree. - Death saves are typed in as the d20 showed: 10 or more succeeds, less fails, a 1 fails twice, a 20 puts the character back up at 1 HP. Three successes make them stable; three failures kill. - Damage taken at 0 HP is a failed save and ends stable. A blow that leaves as much as max HP still to take after reaching 0 kills outright. - Healing from 0 clears the tallies. The dead cannot be healed; the DM revives them at 1 HP. - A player rolls and stabilises for their own character; the DM for anyone, and only the DM sets tallies by hand or revives. - The party overview, campaign list and quick stats show the state. - All packages at version 1.5.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
47 KiB
Characters
How characters work in this app: how they are created, what is stored, how every number on the sheet is calculated, who can do what, and what is not modelled.
This describes the code as it stands. The formulas live in
backend/src/game/calculations.js; the build flow lives in
backend/src/game/buildFlow.js and backend/src/routes/characters.routes.js;
the lists the story steps pick from are in
backend/src/game/data/characterOptions.js.
Related: WEAPONS.md, SPELLS.md,
ITEMS.md, ENCOUNTERS.md,
MONSTERS.md and NPCS.md cover those subjects in
full. GAME_RULES_REFERENCE.md and ROLL_YOUR_CHARACTER.md are the original
specifications the app was first built from; where they differ from this
document (the story steps, gear levels, picking a motivation), this document
is the current behaviour.
Contents
- The basics
- Creating a character
- Species
- Classes
- Ability scores and modifiers
- Level and XP
- Hit points
- Other derived stats
- Saving throws and skills
- Gear pools, starting options and gear levels
- Weapons and spells
- Inventory and money
- Story fields, location and notes
- Where characters appear
- Characters in encounters
- Copying to another campaign
- Permissions
- Deleting
- What is not modelled
- Everything the builder offers
1. The basics
- A character belongs to exactly one campaign. Its weapons, spells, items and location all come from that campaign's own lists.
- A character has an owner (a user who is a member of the campaign) and a creator (whoever started it — the owner, or the DM on their behalf).
- A user can have any number of characters in a campaign, and characters in many campaigns. Nothing limits it to one each.
- A character is either being built or complete. Only a complete character has a sheet, quick stats, can join an encounter, or can be copied.
2. Creating a character
Any campaign member can start a character for themselves from the campaign page ("Roll a New Character"). The DM can also create one on behalf of another member through the API (the page itself always creates for the logged-in user).
A new character starts with the campaign's starting gold (recorded as the first entry in its money log) and goes straight into the builder.
Dice mode
Chosen once, before the first roll, and then locked:
| Mode | How rolls happen |
|---|---|
| Digital (default) | The server rolls using a cryptographic random source. |
| Physical | The player rolls real dice and types the results in; the server checks each value is in range for the die. |
The build steps
| # | Step | What happens |
|---|---|---|
| 1 | Species | Roll a d6. Each result offers a pair to choose from; a 6 is a wildcard (any species). |
| 2 | Class | Roll a d8. Each result offers a pair; a 7 means roll again; an 8 is a wildcard (any class). |
| 3 | Motivation | Pick a story hook from a list of six, or press "Surprise me". No dice: it changes no numbers. Skipped entirely if the campaign has "skip the motivation step" on. |
| 4 | Ability scores | Roll six scores (4d6, drop the lowest die, sum the other three), then assign each score to one ability. |
| 5 | Skills | Skills are picked at random from the class's list the moment scores are locked in. The DM can override them at this step. |
| 6 | Special abilities | See what the species and class grant automatically, then pick two talents from a list. |
| 7 | Background | Answer five questions (upbringing, home, turning point, personality, flaw) by picking from lists. |
| 8 | Appearance | Pick build, height, hair, eyes, skin, up to two distinguishing features, and usual clothing. |
| 9 | Equipment | Pick starting weapons, items and spells from the ones the DM has marked as starting options, within the campaign's limits. |
| — | Finalize | Everything is written to the character, saving throw proficiencies are set from the class, and current HP is set to max. |
Species roll (d6)
| Roll | Choose between |
|---|---|
| 1 | Human, Half-Elf |
| 2 | Elf, Gnome |
| 3 | Dwarf, Halfling |
| 4 | Dragonborn, Tiefling |
| 5 | Half-Orc, Orc |
| 6 | Wildcard — any species |
Class roll (d8)
| Roll | Choose between |
|---|---|
| 1 | Fighter, Barbarian |
| 2 | Rogue, Ranger |
| 3 | Wizard, Sorcerer |
| 4 | Cleric, Paladin |
| 5 | Bard, Warlock |
| 6 | Druid, Monk |
| 7 | Roll again |
| 8 | Wildcard — any class |
Motivations to pick from
- Revenge for a past wrong
- Seeking fortune or wealth
- Protecting someone they love
- Redemption for a past mistake
- Driven by curiosity or knowledge
- Duty or oath to a cause or order
The story steps
Steps 6 to 8 never involve typing. The player picks from fixed lists, and the app writes the text that appears on the sheet. Each has a "Surprise me" button that picks at random, which the player can then adjust.
Special abilities are listed one per line as "Name — what it does", in this order:
- What the species grants automatically (for example Dwarf: Darkvision, Dwarven Resilience).
- What the class grants automatically at level 1 (for example Barbarian: Rage, Unarmored Defense).
- The two talents the player picked from a list of fourteen (Alert, Keen Eye, Silver Tongue, Field Medic, Tough as Nails, …).
These are table rules written in plain words for the DM to apply. The app does not calculate anything from them: Rage does not add damage by itself, and Unarmored Defense does not change AC unless the DM sets the armor bonus.
Background is five lines, one per question:
| Question | Picks |
|---|---|
| Upbringing — what were you before? | 1 of 14 (Soldier, Acolyte, Criminal, Noble, Scholar, Farmer, …) |
| Home — where did you grow up? | 1 of 8 |
| Turning point — what set you on the road? | 1 of 9 |
| Personality — how do others describe you? | 1 or 2 of 14 |
| Flaw — what gets you into trouble? | 1 of 9 |
Appearance is built the same way from build, height, hair, eyes, skin, distinguishing features (none, one or two) and usual clothing.
Once the character is finalized, the player cannot change any of the three. The DM can edit all of them on the sheet, which is how new abilities are added as a character levels up. Every option is listed in section 20.
Choosing versus committing
- A dice roll is final the moment it is made.
- A choice is not: on every step, clicking an option only selects it. The live preview beside the steps shows what it would do, and the player can switch as often as they like. Nothing is saved until they press Next.
- Back returns to the previous step so its choice can be changed. The step comes back with the same dice roll, the same options and the earlier pick still selected; nothing is re-rolled. Starting equipment is the one thing that has to be confirmed again on the way forward.
- Skills are drawn once per class. Going back and forward again, or switching class and switching back, gives the same skills each time.
- Back stops working once the character is finalized.
The builder explains itself as it goes: each step opens with a line on what it is for, every species and class option is a card describing what it is like to play and what it changes, and the ⓘ icons explain each number. On the ability score step, "Suggest for me" puts the best rolls where the chosen class needs them, and the player can still rearrange them.
Rules the builder enforces
- Every die is rolled once: species, class (unless it landed on "roll again") and ability scores. Going back never gives a fresh roll.
- Special abilities, background and appearance accept only entries from their lists, in the numbers each question allows.
- A Half-Elf must pick two different abilities (not Charisma) for its flexible +1/+1.
- All six rolled scores must be assigned, one per ability.
- Only pool entries the DM has marked as a starting option can be picked (section 10).
- Starting weapons and items together cannot exceed the campaign's starting item count.
- Starting spells cannot exceed the campaign's starting spell count, only a class with a spellcasting ability can pick any, and a new (level 1) character can only start with cantrips and level 1 spells.
- Starting weapons and items arrive at gear level 1, so one that starts at a higher level (section 10) cannot be picked even if it is ticked.
3. Species
Species sets ability bonuses and walking speed, which feed the calculations, and grants special abilities, which are written on the sheet for the DM to apply (section 2, "The story steps").
| Species | Ability bonuses | Speed | Special abilities granted |
|---|---|---|---|
| Human | +1 to all six | 30 | Versatile |
| Half-Elf | +2 CHA, and +1 to two others of the player's choice | 30 | Darkvision, Fey Ancestry |
| Elf | +2 DEX | 30 | Darkvision, Fey Ancestry, Trance |
| Gnome | +2 INT | 25 | Darkvision, Gnome Cunning |
| Dwarf | +2 CON | 25 | Darkvision, Dwarven Resilience |
| Halfling | +2 DEX | 25 | Lucky, Brave |
| Dragonborn | +2 STR, +1 CHA | 30 | Breath Weapon, Draconic Resistance |
| Tiefling | +2 CHA, +1 INT | 30 | Darkvision, Hellish Resistance |
| Half-Orc | +2 STR, +1 CON | 30 | Darkvision, Relentless Endurance |
| Orc | +2 STR, +1 CON | 30 | Darkvision, Aggressive |
4. Classes
Class sets the hit die, the two saving throw proficiencies, the spellcasting ability (if any), and which skills can be picked. Each class also grants two special abilities at level 1, written on the sheet for the DM to apply:
| Class | Special abilities granted |
|---|---|
| Barbarian | Rage, Unarmored Defense |
| Bard | Bardic Inspiration, Jack of Many Tales |
| Cleric | Divine Domain, Healing Hands |
| Druid | Druidic, Nature's Voice |
| Fighter | Second Wind, Fighting Style |
| Monk | Martial Arts, Unarmored Defense |
| Paladin | Divine Sense, Lay on Hands |
| Ranger | Favored Enemy, Natural Explorer |
| Rogue | Sneak Attack, Thieves' Cant |
| Sorcerer | Innate Magic, Wild Talent |
| Warlock | Otherworldly Patron, Pact Magic |
| Wizard | Spellbook, Arcane Recovery |
The numbers each class sets:
| Class | Hit die | Saves | Spellcasting | Skills |
|---|---|---|---|---|
| Barbarian | d12 | STR, CON | — | 2 from Animal Handling, Athletics, Intimidation, Nature, Perception, Survival |
| Bard | d8 | DEX, CHA | CHA | 3 from any skill |
| Cleric | d8 | WIS, CHA | WIS | 2 from History, Insight, Medicine, Persuasion, Religion |
| Druid | d8 | INT, WIS | WIS | 2 from Arcana, Animal Handling, Insight, Medicine, Nature, Perception, Religion, Survival |
| Fighter | d10 | STR, CON | — | 2 from Acrobatics, Animal Handling, Athletics, History, Insight, Intimidation, Perception, Survival |
| Monk | d8 | STR, DEX | — | 2 from Acrobatics, Athletics, History, Insight, Religion, Stealth |
| Paladin | d10 | WIS, CHA | CHA | 2 from Athletics, Insight, Intimidation, Medicine, Persuasion, Religion |
| Ranger | d10 | STR, DEX | WIS | 3 from Animal Handling, Athletics, Insight, Investigation, Nature, Perception, Stealth, Survival |
| Rogue | d8 | DEX, INT | — | 4 from Acrobatics, Athletics, Deception, Insight, Intimidation, Investigation, Perception, Performance, Persuasion, Sleight of Hand, Stealth |
| Sorcerer | d6 | CON, CHA | CHA | 2 from Arcana, Deception, Insight, Intimidation, Persuasion, Religion |
| Warlock | d8 | WIS, CHA | CHA | 2 from Arcana, Deception, History, Intimidation, Investigation, Nature, Religion |
| Wizard | d6 | INT, WIS | INT | 2 from Arcana, History, Insight, Investigation, Medicine, Religion |
5. Ability scores and modifiers
The six abilities are Strength, Dexterity, Constitution, Intelligence, Wisdom and Charisma.
- The rolled score is what the dice gave (3–18). This is what is stored.
- The final score is the rolled score plus the species bonus. This is what the sheet shows and what every calculation uses.
- The modifier is
(final score − 10) ÷ 2, rounded down.
| Final score | Modifier |
|---|---|
| 8–9 | −1 |
| 10–11 | 0 |
| 12–13 | +1 |
| 14–15 | +2 |
| 16–17 | +3 |
| 18–19 | +4 |
| 20 | +5 |
Ability scores cannot be changed after the build is finalized.
6. Level and XP
- Every character starts at level 1. The range is 1 to 20.
- Levelling is manual: the DM changes the Level field on the sheet. Only the DM can change level or XP.
- XP is stored but no screen shows or edits it, and it does not drive level.
Level feeds two things:
Proficiency bonus — 2 + (level − 1) ÷ 4, rounded down.
| Level | Proficiency bonus |
|---|---|
| 1–4 | +2 |
| 5–8 | +3 |
| 9–12 | +4 |
| 13–16 | +5 |
| 17–20 | +6 |
Max HP — see the next section.
7. Hit points
Max HP is calculated, never stored:
- Level 1: the full hit die + CON modifier.
- Each level after: the die's fixed average (half the die, plus 1) + CON modifier.
| Hit die | Level 1 | Each later level |
|---|---|---|
| d6 | 6 + CON | 4 + CON |
| d8 | 8 + CON | 5 + CON |
| d10 | 10 + CON | 6 + CON |
| d12 | 12 + CON | 7 + CON |
Example: a Fighter (d10) with CON 14 (+2) has 12 at level 1 and 28 at level 3.
Current HP is a stored number, separate from max:
- Set to max when the build is finalized, and when a character is copied.
- Changed with the Damage and Heal buttons on the sheet, or by the DM in an encounter (section 15). Both change the same number.
- Always kept between 0 and max: healing stops at max and damage stops at 0.
- A level-up raises max but leaves current HP where it was; the DM clicks "Recompute Max HP" to set current HP to the new max (a full heal). If a level change lowers max below current HP, current HP drops to the new max.
Temp HP is a tracked number shown beside HP. Damage is not taken from it automatically.
At 0 HP: death saves
A character at 0 HP is in one of three states, shown on the sheet under the HP bar, on their encounter card, in the quick stats and in the party lists.
| State | Meaning | How it ends |
|---|---|---|
| Dying | Rolling death saves | Three successes, three failures, healing, or being stabilised |
| Stable | At 0 HP, no longer rolling | Healing wakes them; damage makes them Dying again |
| Dead | Three failures, or one blow too big to survive | Only the DM's Revive at 1 HP |
Rolling. While Dying, type what the d20 showed and click Death save. The app does not roll it.
| Roll | Result |
|---|---|
| 1 | Two failures |
| 2 to 9 | One failure |
| 10 to 19 | One success |
| 20 | Back up with 1 HP, tallies cleared |
- Three successes: Stable. The tallies are cleared.
- Three failures: Dead.
- Stabilise makes a Dying character Stable without a roll, for when someone steadies them (a Medicine check, a healer's kit, a spell).
- Damage at 0 HP is one failed save, and makes a Stable character Dying again. Damage soaked entirely by temp HP does not count. The app cannot tell a critical hit; the DM adds its second failure by clicking a pip.
- Massive damage: if a blow leaves as much as the character's max HP still to take once HP reaches 0, they are Dead at once. A character with 12 max HP on 5 HP dies from 17 damage or more.
- Healing from 0, by any amount, puts the character back up and clears the tallies and Stable.
- Dead characters cannot be healed: Heal is refused with a message. The DM clicks Revive at 1 HP, then heals as normal.
- The DM can click a pip to set either tally by hand, to fix a mistake.
Dropping to 0 always starts from empty tallies. None of this changes any other number on the sheet, and nothing is added to the conditions in an encounter.
8. Other derived stats
| Stat | Formula |
|---|---|
| Armor Class | 10 + DEX modifier + armor bonus |
| Initiative | DEX modifier |
| Speed | Species speed, unless a speed override is set |
| Passive Perception | 10 + Perception skill bonus |
| Hit dice | One per level, of the class's die size (shown only; not spent or tracked) |
| Spell save DC | 8 + proficiency bonus + spellcasting ability modifier |
| Spell attack bonus | Proficiency bonus + spellcasting ability modifier |
Armor bonus is a single number typed in on the sheet to stand for armor and shield. There are no armor items, and equipping an inventory item does not change AC.
Speed override exists in the data and API (DM only) but has no field on the sheet.
9. Saving throws and skills
Saving throws: ability modifier, plus proficiency bonus if the class is proficient in that save. Fixed by class; not editable.
Skills: governing ability modifier, plus proficiency bonus if proficient, or double the proficiency bonus with expertise.
| Ability | Skills |
|---|---|
| STR | Athletics |
| DEX | Acrobatics, Sleight of Hand, Stealth |
| INT | Arcana, History, Investigation, Nature, Religion |
| WIS | Animal Handling, Insight, Medicine, Perception, Survival |
| CHA | Deception, Intimidation, Performance, Persuasion |
Skill proficiencies are drawn at random during the build (step 5) and cannot be changed from the sheet afterwards. Expertise is supported by the calculations but is only ever set if the DM supplies it during step 5.
10. Gear pools, starting options and gear levels
Each campaign has three pools, managed by the DM on the campaign page:
| Pool | What an entry holds | How entries are added |
|---|---|---|
| Weapons | Name, base damage dice, damage type, attack ability, starting level, growth | By hand, or from the built-in library |
| Spells | Name, level, school, optional damage | By hand, or from the built-in library (which supplies a default damage) |
| Items | Name, optional description, optional base dice, starting level, growth | By hand |
Everything a character carries or knows is an entry from its campaign's pools. WEAPONS.md, SPELLS.md and ITEMS.md describe each pool in full; this section is the part that matters to a character.
- Only the DM adds to a pool, edits or removes entries, gives entries to characters from the pool, changes how many a character has, levels them up, and takes them away.
- The owning player can tick and untick Equipped (weapons, items) and Prepared (spells) on gear their character can use, and can give what their character holds to another character (section 12).
- Removing an entry from a pool removes it from every character holding it.
Starting options. Every pool entry has a "Starting" tick box. Only ticked entries are offered in the equipment step of the builder (step 9); everything else has to be given out by the DM later. New entries are not starting options until the DM ticks them.
Gear levels
This is a house rule of this app, not standard D&D.
Each weapon or item a character holds has its own level, 1 to 9. The level belongs to that character's copy, not to the pool entry, so two characters can hold spears of different levels. Only the DM changes it, with the level picker next to it on the sheet. A character holds one stack of each weapon or item, and the whole stack shares one level.
Starting level. Each weapon and item in a pool has a level it starts at — 1 for most, higher for gear that should only exist later (a greatsword that starts at level 3, say). A copy is given at that level unless the DM picks a higher one, and can never go below it. If the DM later raises an entry's starting level, copies below it are lifted to it and unequipped.
Who can use what. A character can use gear of their own level or lower:
| Character level | Can use gear of level |
|---|---|
| 1 | 1 |
| 2 | 1–2 |
| 3 | 1–3 |
| … | … |
Gear above the character's level can still be held, but it shows "Requires level N", cannot be equipped, and is left out of quick stats and encounters. If the DM levels a piece of gear past its holder, or lowers the character's level, anything now out of reach is unequipped automatically.
How damage grows. The dice in the pool are the damage at the gear's starting level. Each level above that moves the dice up a fixed ladder, in the smallest steps the dice allow:
| Rung | Dice | Average |
|---|---|---|
| 1 | 1d4 | 2.5 |
| 2 | 1d6 | 3.5 |
| 3 | 1d8 | 4.5 |
| 4 | 1d10 | 5.5 |
| 5 | 1d12 | 6.5 |
| 6 | 2d6 | 7 |
| 7 | 1d6+1d8 | 8 |
| 8 | 2d8 | 9 |
| 9 | 1d8+1d10 | 10 |
| 10 | 2d10 | 11 |
| 11 | 1d10+1d12 | 12 |
| 12 | 2d12 | 13 |
| 13 | 3d8 | 13.5 |
| 14 | 2d8+1d10 | 14.5 |
| … | and so on, adding a die each time the current dice max out |
Every rung is +1 average damage over the last, or +0.5 where a die is added.
Each weapon and item has a growth setting that says how many rungs it climbs per level:
| Growth | Rungs per level | A 1d6 weapon at levels 1, 2, 3, 4 | At level 9 |
|---|---|---|---|
| Standard | 1 | 1d6, 1d8, 1d10, 1d12 | 2d10 |
| Powerful | 2 | 1d6, 1d10, 2d6, 2d8 | 1d10+2d12 |
| Legendary | 3 | 1d6, 1d12, 2d8, 1d10+1d12 | 4d12 |
A 2d6 greatsword that starts at level 3 with Standard growth is 2d6 at level 3, 1d6+1d8 at level 4, 2d8 at level 5, and so on.
- At its starting level, gear always shows the dice exactly as the DM typed them.
- Dice that are not on the ladder (for example
2d4+2or1d4+1) start climbing from the highest rung that is not stronger than them:2d4+2(average 7) continues from 2d6, so it becomes 1d6+1d8 one level up. - Dice the app cannot read (free text such as "special") never change.
- Level changes the dice only. The attack bonus and the flat damage bonus still come from the character's ability scores and proficiency bonus.
Spells do not have a level of their own to raise. The classic spell level is the requirement: a character must be at least that level to prepare or use the spell, and cantrips are open to everyone. A spell can carry a damage value, which is fixed.
11. Weapons and spells
A character holds weapons, each with a quantity, a level and an equipped flag.
| Number | Formula |
|---|---|
| Attack bonus | Ability modifier + proficiency bonus |
| Damage | The weapon's dice at the held copy's level (section 10) + ability modifier |
The ability depends on the weapon: Strength, Dexterity, or "finesse" (whichever of the two is higher).
- Characters are treated as proficient with every weapon.
- Giving a weapon the character already has increases its quantity; the stack keeps the level it has.
A character knows spells, each with a prepared flag.
- The sheet's "Spells Known" card only appears when the campaign has at least one spell.
- After the build, the DM can grant spells to any class; the "must be a spellcaster" rule applies only to starting spells.
- A spell above the character's level can be known but not prepared, and is left out of encounters (section 10).
- A spell's damage, if it has one, is shown beside it. It is fixed.
- Spell save DC and attack bonus are shown only for classes with a spellcasting ability.
- There are no spell slots.
12. Inventory and money
Inventory is the items a character holds from the campaign's item pool, each with a quantity, a level and an equipped flag. Giving an item the character already has adds to the stack. Items have no effect on any stat. An item can carry optional dice (a potion's healing, a bomb's damage) that grow with its level exactly like a weapon's (section 10).
Money is a purse of three coins, each counted on its own, with a log behind it.
| Coin | Worth |
|---|---|
| Gold (gp) | 1 gold |
| Silver (sp) | 0.1 gold — 10 to the gold |
| Copper (cp) | 0.01 gold — 100 to the gold, 10 to the silver |
- The sheet's Money card shows the three balances, what the purse is worth in gold altogether, and every change: the amount and coin, what it was for, who recorded it, when, and that coin's balance afterwards.
- The owning player and the DM can both record a gain or a spend, choosing the coin. Other players cannot see the purse or the log.
- Spending makes change for you. A spend (or a gift to another character) is paid from the whole purse. Coins of the kind named go first; if there aren't enough, the nearest bigger coin is broken and the change comes back in as few coins as possible; if there are no bigger coins, smaller ones are counted out. Spending 3 silver from a purse of 5 gold leaves 4 gold and 7 silver. Each coin that moved gets its own log entry, marked "with change".
- A spend is refused only when the whole purse isn't worth enough.
- Exchange turns coins of one kind into another at the worth above, and logs both sides. It moves exactly the coins named and has to come to whole coins: silver into gold goes in tens, copper into silver in tens, copper into gold in hundreds.
- The log is the only way a balance changes. Entries cannot be edited or deleted; to correct a mistake, record the opposite entry.
- Starting gold (a campaign setting) is gold only. Encounter rewards and gifts between characters can be in any coin.
Giving to another character
The "Give to Another Character" card on the sheet lets a character's owner (or the DM) hand over something the character holds to another finished character in the same campaign.
| What | How much | What happens |
|---|---|---|
| Gold | Any amount up to the balance | Both money logs get an entry: "Gave to Bo" and "Received from Aria" |
| A weapon or item | Some or all of the stack | It leaves the giver's stack and joins the recipient's |
| A spell | The spell | The giver no longer knows it; the recipient does |
- Giving always moves. Nothing is copied: whatever is given, the giver no longer has. This keeps the DM in control of how much gear, gold and magic exists while letting the party share it out.
- A weapon or item arrives at the giver's level, unequipped. If the recipient already holds some, theirs simply grows and keeps its own level.
- The recipient may be too low a level to use it. They hold it anyway, marked "Requires level N" (section 10).
- A spell cannot be given to someone who already knows it.
- The recipient does not have to accept; it just arrives.
13. Story fields, location and notes
| Field | Who can see it | Who can edit it |
|---|---|---|
| Motivation | Everyone in the campaign | Set during the build only |
| Background | Everyone in the campaign | Built from picks; afterwards the DM only |
| Appearance | Everyone in the campaign | Built from picks; afterwards the DM only |
| Special abilities | Everyone in the campaign (sheet and quick stats) | Built from picks; afterwards the DM only |
| Private notes | The owner only — not even the DM | Owner only |
| Current location | The owner and the DM. Another player sees it in the party list only if their own character has been to that place | DM picks it on the sheet; an encounter in progress with a location also moves its characters there |
Character notes are a separate, running log on the sheet:
- Any campaign member can post a note on any character.
- Notes posted from the sheet are shared with the whole campaign.
- The API also supports DM-only notes, visible to the DM and the author.
- Only the author can delete a note.
14. Where characters appear
| Screen | What it shows |
|---|---|
| Campaign page | Character list: species, class, level, HP, AC, location. Players see their own first, then the rest of the party. |
| Party overview | One table of every character with an HP bar, AC, gold and location. |
| Character sheet | Everything in this document. |
| Character builder | A character that is still being built (section 2). |
| Quick stats drawer | A combat summary: HP, AC, initiative, speed, proficiency bonus, spellcasting numbers, special abilities, and each weapon's attack and damage. |
| Encounter page | Characters taking part in a battle or quest (next section). |
Changes are pushed live to everyone who has the campaign open, so sheets and lists update without a refresh.
15. Characters in encounters
ENCOUNTERS.md covers encounters in full; this is the part that concerns characters.
An encounter is a scene the DM runs. It has a mode:
| Mode | What it is for | What the screen shows |
|---|---|---|
| Battle | A fight | Everyone in initiative order, a round counter, and whose turn it is |
| NPC quest | A scene built around people and an objective | The NPCs, the party and any creatures as separate groups; no rounds or turns |
The DM can switch an encounter's mode at any time. Every encounter also has a description shown to everyone (the scene or the quest), and DM notes that players never receive.
Who can be in one
- Characters. A character's HP in an encounter is its sheet HP: damage or healing the DM applies there changes the sheet, and a change on the sheet shows in the encounter. Max HP always comes from the sheet.
- Monsters, from the campaign's monster list (MONSTERS.md). Each keeps its own HP per encounter, held between 0 and its max.
- NPCs, from the campaign's NPC list (NPCS.md). An NPC has a name, role, attitude (friendly, neutral or hostile), a description for players, and DM-only notes. Combat stats are optional; an NPC without hit points simply has no health bar.
What each side sees
| DM | Players | |
|---|---|---|
| A character | Level, species, class, HP, AC, speed, initiative bonus, passive perception, proficiency bonus, ability scores, saves, usable weapons and spells, special abilities | The same |
| A monster | The full stat block: AC, speed, attack, damage, challenge, ability scores, trait, notes | Name, HP and conditions only |
| An NPC | Everything, including DM notes and stats | Name, role, attitude and description |
| Rewards | All of them | Only the ones that have been awarded |
| DM notes | Yes | Never |
Running a battle
- Only the DM adds or removes combatants and changes HP, initiative or conditions. Initiative is typed in; the app does not roll it.
- "Begin Battle" puts the highest initiative on turn. "Next Turn" passes the turn down the order, and going past the last combatant starts the next round. "Next Round" jumps straight to the top of the next round.
- A monster or NPC at 0 HP is marked Down; a character is Dying and makes death saves on its card (section 7). Either still has its place in the order.
- Conditions (Prone, Poisoned, …) are picked from a list and removed with a click.
Rewards
The DM can line up rewards on any encounter: an amount of gold, or a weapon or item from the campaign pools at a chosen level and quantity.
- A reward does nothing until the DM awards it, and it can only be awarded once.
- Awarding gold adds a "Reward: " entry to the character's money log. Gold can also be split evenly between the characters in the encounter; any remainder goes one gold each down the initiative order.
- Awarding a weapon or item adds it to what the character holds, at the reward's level. A character below that level holds it but cannot use it yet (section 10).
- A reward can go to any character in the campaign, not only those in the encounter.
- Removing a reward from the list does not take back anything already awarded.
16. Copying to another campaign
A complete character can be copied into another campaign from the "Copy to Another Campaign" card on its sheet.
- Who: the owner, or the DM of the character's campaign. You must already be a member of the target campaign.
- Copied: name, species, class, level, XP, ability scores, skill and save proficiencies, armor bonus, speed override, special abilities, gold (as a single opening entry in the copy's money log), background, appearance, motivation, inventory, weapons and spells, with each weapon's and item's level.
- Not copied: location, character notes and encounter entries.
- The copy arrives at full HP with no temp HP.
- The copy is owned by whoever made it. If a DM copies a player's character, the DM owns the copy and the player's private notes are not carried over.
- Weapons, spells and items are matched to the target campaign's pools by name (ignoring case). Any that are missing are added to the target's pool, never as starting options.
- The copy is independent: the original is untouched and the two never sync.
17. Permissions
| Action | Owner | DM of the campaign | Other members |
|---|---|---|---|
| View the sheet and quick stats | Yes | Yes | Yes |
| View private notes | Yes | No | No |
| Run the builder | Yes | Yes | No |
| Change HP, temp HP, armor bonus | Yes | Yes | No |
| Enter a death save, or stabilise | Yes | Yes | No |
| Set death-save tallies by hand, revive from dead | No | Yes | No |
| Edit special abilities, background, appearance (after the build) | No | Yes | No |
| Tick Equipped / Prepared | Yes | Yes | No |
| Give, remove or re-count weapons, spells and items | No | Yes | No |
| Level a weapon or item up or down | No | Yes | No |
| Record a gold gain or spend | Yes | Yes | No |
| Give gold, weapons, items or spells to another character | Yes | Yes | No |
| View the money log, gold and inventory | Yes | Yes | No |
| Change level, XP, location or speed override | No | Yes | No |
| Post a character note | Yes | Yes | Yes |
| Copy to another campaign | Yes | Yes | No |
| Delete the character | No | Yes | No |
People outside the campaign cannot see a character at all.
18. Deleting
- Only the DM can delete a character (from the campaign page).
- Deleting removes its proficiencies, inventory, weapon and spell assignments, money log and notes. Encounter entries that pointed at it stay in the encounter, with the name and the last HP seen, but lose everything else.
- Deleting a campaign deletes every character in it.
19. What is not modelled
Use special abilities (via the DM), items or notes for these; the app does no calculations for them.
- The effects of special abilities: species traits and class features are written on the sheet for the DM to apply, but nothing is calculated from them
- Class features beyond level 1 (the DM adds them to the sheet by hand), subclasses and multiclassing
- Spell slots, spell preparation limits and concentration
- Ability score increases and feats on level-up
- Armor and shields as items (only the single armor bonus number)
- Weapon proficiency (everyone is proficient with everything)
- Rolling attacks, damage, saves or checks for a character (the dice roller, bottom left of every page, is a plain roller that knows nothing about the sheet)
- Conditions on the sheet, and resting
- Automatic levelling from XP
- Alignment, languages, tool proficiencies and backgrounds-as-rules
- Encumbrance and item weight
- Currencies other than gold, and item prices
20. Everything the builder offers
Every motivation, special ability, talent, background answer and appearance answer a player can end up with.
This list is written from the app's own data by npm run docs:lists (in /backend). Re-run it after changing the data; do not edit the list by hand.
Motivations
- Revenge for a past wrong
- Seeking fortune or wealth
- Protecting someone they love
- Redemption for a past mistake
- Driven by curiosity or knowledge
- Duty or oath to a cause or order
Special abilities granted by species
| Species | Abilities |
|---|---|
| Human | Versatile — Once per day, reroll one skill check you just failed and keep the new result. |
| Half-Elf | Darkvision — See in dim light within 60 feet as if it were bright, and in darkness as if it were dim. Fey Ancestry — Advantage on saves against being charmed, and magic cannot put you to sleep. |
| Elf | Darkvision — See in dim light within 60 feet as if it were bright, and in darkness as if it were dim. Fey Ancestry — Advantage on saves against being charmed, and magic cannot put you to sleep. Trance — You do not sleep. Four hours of meditation rests you as well as a full night. |
| Gnome | Darkvision — See in dim light within 60 feet as if it were bright, and in darkness as if it were dim. Gnome Cunning — Advantage on Intelligence, Wisdom and Charisma saves against magic. |
| Dwarf | Darkvision — See in dim light within 60 feet as if it were bright, and in darkness as if it were dim. Dwarven Resilience — Advantage on saves against poison, and poison damage against you is halved. |
| Halfling | Lucky — When you roll a 1 on a d20 for an attack, check or save, reroll it and use the new roll. Brave — Advantage on saves against being frightened. |
| Dragonborn | Breath Weapon — Once per rest, exhale destructive energy: creatures in a 15-foot cone take 2d6 damage (Dexterity save for half). Draconic Resistance — Damage of your breath weapon’s type against you is halved. |
| Tiefling | Darkvision — See in dim light within 60 feet as if it were bright, and in darkness as if it were dim. Hellish Resistance — Fire damage against you is halved. |
| Half-Orc | Darkvision — See in dim light within 60 feet as if it were bright, and in darkness as if it were dim. Relentless Endurance — Once per day, when you would drop to 0 hit points, drop to 1 instead. |
| Orc | Darkvision — See in dim light within 60 feet as if it were bright, and in darkness as if it were dim. Aggressive — As a bonus action, move up to your speed toward an enemy you can see. |
Special abilities granted by class
| Class | Abilities |
|---|---|
| Barbarian | Rage — Twice per day, for one minute: +2 melee damage, advantage on Strength checks and saves, and physical damage against you is halved. Unarmored Defense — Without armor, add your Constitution modifier to your AC (ask your DM to set your armor bonus). |
| Bard | Bardic Inspiration — A few times per day, as a bonus action, give an ally a d6 to add to one attack, check or save. Jack of Many Tales — You have heard a story about nearly everything: ask your DM for one useful rumour per session. |
| Cleric | Divine Domain — Choose with your DM what your god stands for (life, light, war, knowledge…). It shapes the favours you can ask. Healing Hands — Once per rest, touch a creature to restore 1d8 + your Wisdom modifier hit points. |
| Druid | Druidic — You know the secret language of druids and can leave hidden messages in it. Nature’s Voice — You can calm and make simple requests of ordinary animals. |
| Fighter | Second Wind — Once per rest, as a bonus action, recover 1d10 + your level hit points. Fighting Style — Choose one with your DM: +2 to ranged attacks, +1 AC in armor, or +2 damage with a one-handed weapon. |
| Monk | Martial Arts — Your unarmed strikes deal 1d4 damage and can use Dexterity. After attacking, make one unarmed strike as a bonus action. Unarmored Defense — Without armor, add your Wisdom modifier to your AC (ask your DM to set your armor bonus). |
| Paladin | Divine Sense — A few times per day, sense any celestial, fiend or undead within 60 feet. Lay on Hands — A pool of healing equal to 5 × your level per day, spent by touch however you like. |
| Ranger | Favored Enemy — Choose a kind of creature with your DM. Advantage on checks to track them and to recall what you know about them. Natural Explorer — In the wild you cannot get lost, you find twice as much food, and difficult terrain does not slow your group. |
| Rogue | Sneak Attack — Once per turn, deal an extra 1d6 damage to a target you have advantage against, or that has one of your allies next to it. Thieves’ Cant — You know the secret slang and signs of the criminal underworld. |
| Sorcerer | Innate Magic — Your magic comes from within: you need no spellbook and no prayers. Wild Talent — Once per day, reroll the damage dice of one spell and keep the better result. |
| Warlock | Otherworldly Patron — Choose with your DM who granted your power, and what they want in return. Pact Magic — Your magic returns after a short rest, not only a long one. |
| Wizard | Spellbook — Your spells are written in a book. You can copy new spells into it when you find them. Arcane Recovery — Once per day, after a short rest, regain some of your spent magic. |
Talents (pick 2)
| Talent | What it does |
|---|---|
| Alert | You cannot be surprised while you are awake. |
| Keen Eye | Advantage on checks to spot hidden doors, traps and things out of place. |
| Silver Tongue | Once per day, reroll a Persuasion or Deception check and keep the better result. |
| Light Sleeper | You wake at the slightest sound, and keeping watch does not tire you. |
| Iron Stomach | Advantage on saves against spoiled food, strong drink and swallowed poisons. |
| Animal Friend | Ordinary animals are calm around you unless provoked. |
| Quick Hands | Once per turn, draw, stow or pick up an object without using your action. |
| Sure-Footed | Advantage on checks to keep your balance or avoid being knocked down. |
| Linguist | You speak two extra languages of your choice, agreed with your DM. |
| Field Medic | Steadying a dying creature is automatic for you; no roll needed. |
| Strong Back | You can carry, lift and drag twice as much as your size suggests. |
| Good Memory | You recall exactly anything you have seen or heard in the last month. |
| Streetwise | In any town you can find a place to sleep, a rumour, and someone who buys things without asking questions. |
| Tough as Nails | Once per day, shrug off a blow: reduce one instance of damage by 1d6. |
Background questions
Upbringing — What were you before you became an adventurer? (pick 1)
| Option | What it adds |
|---|---|
| Soldier | Served in an army or militia, and still thinks in terms of orders and watches. |
| Acolyte | Raised in a temple, tending shrines and copying scripture. |
| Criminal | Made a living outside the law, and knows who to ask for what. |
| Noble | Born to wealth and a family name that opens doors — and makes enemies. |
| Scholar | Spent years among books, chasing answers to old questions. |
| Farmer | Worked the land from dawn to dusk, and knows the value of a good harvest. |
| Sailor | Grew up on deck, at home with rope, salt and bad weather. |
| Guild artisan | Learned a craft in a workshop and takes pride in good work. |
| Entertainer | Sang, juggled or acted for coin in taverns and market squares. |
| Outlander | Raised far from towns, among hunters, herders or nomads. |
| Urchin | Grew up alone on city streets, surviving on wits and quick feet. |
| Hermit | Lived apart from the world for years, with only thoughts for company. |
| Merchant | Travelled the trade roads buying low and selling high. |
| Village healer | Set bones, brewed remedies and sat with the sick. |
Home — Where did you grow up? (pick 1)
| Option | What it adds |
|---|---|
| A crowded city | Noise, alleys and a thousand strangers. |
| A small village | Everyone knew everyone, and nothing stayed secret. |
| A harbour town | Ships, gulls and news from far away. |
| A mountain hold | Thin air, stone halls and long winters. |
| Deep in the forest | Under old trees, far from any road. |
| A frontier fort | The last wall before the wild. |
| On the road | Never in one place long enough to call it home. |
| A remote monastery | Bells, silence and routine. |
Turning point — What set you on the road? (pick 1)
| Option | What it adds |
|---|---|
| Lost someone dear | And have not been the same since. |
| Was betrayed | By someone they trusted completely. |
| Survived a disaster | Fire, flood, plague or war — and walked away when others did not. |
| Found a secret | Something they were never meant to see. |
| Owes a debt | One that cannot be repaid by staying home. |
| Was cast out | Rightly or wrongly, there is no going back. |
| Was saved by a stranger | And means to pass the favour on. |
| Heard a calling | A dream, a sign or a voice that would not let them rest. |
| Could not stand the quiet | An ordinary life was never going to be enough. |
Personality — How do others describe you? Pick one or two. (pick 1 to 2)
| Option | What it adds |
|---|---|
| Brave | — |
| Cautious | — |
| Curious | — |
| Kind | — |
| Hot-headed | — |
| Sarcastic | — |
| Loyal | — |
| Honest to a fault | — |
| Cheerful | — |
| Quiet | — |
| Proud | — |
| Superstitious | — |
| Generous | — |
| Stubborn | — |
Flaw — What gets you into trouble? (pick 1)
| Option | What it adds |
|---|---|
| Greedy | Cannot walk past treasure. |
| Reckless | Acts first and thinks later. |
| Holds grudges | Never forgets a slight. |
| Too trusting | Believes a good story. |
| Loses their nerve | When it matters most. |
| Boastful | Promises more than they can deliver. |
| Secretive | Keeps things even from friends. |
| Soft-hearted | Cannot refuse someone in need. |
| Short temper | Easily provoked. |
Appearance questions
Build — What shape are you? (pick 1)
| Option | What it adds |
|---|---|
| Slight | — |
| Lean | — |
| Average | — |
| Stocky | — |
| Muscular | — |
| Heavyset | — |
Height — For your species, are you… (pick 1)
| Option | What it adds |
|---|---|
| Short | — |
| Average height | — |
| Tall | — |
| Towering | — |
Hair — Hair (or what you have instead). (pick 1)
| Option | What it adds |
|---|---|
| Black | — |
| Brown | — |
| Blonde | — |
| Red | — |
| Grey | — |
| White | — |
| An unusual colour | — |
| Bald | — |
| None — scales, horns or crest | — |
Eyes — Eye colour. (pick 1)
| Option | What it adds |
|---|---|
| Brown | — |
| Blue | — |
| Green | — |
| Grey | — |
| Amber | — |
| Black | — |
| Violet | — |
| Mismatched | — |
Skin — Skin or scales. (pick 1)
| Option | What it adds |
|---|---|
| Pale | — |
| Fair | — |
| Tanned | — |
| Brown | — |
| Dark | — |
| Weathered | — |
| Ashen grey | — |
| Green-tinged | — |
| Deep red | — |
| Scaled | — |
Distinguishing features — What would a stranger remember? Pick up to two, or none. (pick 0 to 2)
| Option | What it adds |
|---|---|
| A scar across the face | — |
| A tattoo | — |
| Freckles | — |
| A broken nose | — |
| An eyepatch | — |
| A braided beard | — |
| Piercings | — |
| A birthmark | — |
| An old burn | — |
| A missing finger | — |
| A slight limp | — |
| An easy grin | — |
Usually wears — What are you usually seen in? (pick 1)
| Option | What it adds |
|---|---|
| Travel-worn leathers | — |
| Well-kept armor | — |
| A hooded cloak | — |
| Fine clothes | — |
| Patched and mended clothes | — |
| Long robes | — |
| Furs and hides | — |
| Bright colours | — |
| Plain, practical clothes | — |