- Unarmored Defense (barbarian, monk), Draconic Resilience, Fast Movement,
Unarmored Movement, Aura of Protection, Diamond Soul, Slippery Mind and
Jack of All Trades are counted, by level in the class that gives them
- Armor and shields are items marked with what kind they are, so the sheet
knows when a character is unarmored or in heavy armor; the library's and
the seeds' are marked
- The sheet lists the class features in force; a speed the DM set is final
- A cantrip can be cast with every spell slot spent (tested end to end)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Free roam no longer adds the whole party: the DM adds who is there
- A spell with no slot of its level or higher left cannot be declared; it
takes the lowest slot left at or above its level. Cantrips take none
- In a battle in progress a player changes the weapon in hand only as the
battle begins or on their own turn after their attack has landed
- Spells are listed cantrips first, then by level, with the level shown
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Turn-order track: names coloured by PC, NPC or monster, this round, a flag
where it ends, and the next round
- Target by clicking a name on the track, the card, or keys 1-9; whoever is
on turn and every target show what they have in hand
- Attacks and spells are declared, rolled and applied: type or roll the d20
and the app says hit, miss or critical; a save spell asks each target for
its save against the caster's DC; the DM overrules anything and applies
- Critical damage by the campaign's rule; a spell spends its slot; a
concentration save is called for
- Auto-rolled monster and NPC attacks: aimed (weighted), rolled, and offered
to the DM to accept, edit or discard; hidden from players until accepted
- Monsters can have named attacks and multiattacks; spells say how they land
- A "What now" line tells the DM (and each player) what the scene waits on
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- With the campaign setting on, the level-up checklist asks which class gains
the level; a new class needs both classes' ability requirements (2014 rules)
- HP, Hit Dice, features, Boons, subclasses and counters go by each class's
own level; spell slots add up to a caster level, pact slots apart
- A first level in a new class writes its level-1 gifts and what it teaches
- Eldritch Knight and Arcane Trickster cast from level 3 with real slots
- The sheet shows each class's road to 20 and suggested multiclass routes
(Hexadin, Sorlock, fighter dip...) with the character's progress and scores
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Spell slots. Every class that casts has a slot tracker, worked out
from class and level: the full-caster table for bards, clerics,
druids, sorcerers and wizards, the half-caster table for paladins and
rangers (from level 2), and a warlock's few slots of one level. It is
in the Spellcasting card on the sheet and in the character panel, and
the party overview has a column for it. A player presses Use to spend
a slot; only the DM gives one back.
- Rests. The DM's "Rest…" button, beside the character list and on the
party overview, rests any of the party at once. A short rest shows
which Hit Dice each character can roll and heals from what they
rolled (typed in, or rolled by the site), and gives a warlock their
slots. A long rest puts back HP, every spell slot and half the level
in Hit Dice, and clears temp HP.
- Hit Dice are counted: one per level, shown on the sheet, the panel
and the party overview.
- Level Up. "Level Up…" on a sheet takes a character up one level with
the whole checklist: the new max HP and a full heal, the class's new
special abilities for levels 2 to 10, a Boon where the level grants
one (Toughened raises Extra AC, Hardy gives temp HP now and after
each long rest), fresh spell slots and new spells, and the free
upgrade of one standard weapon.
- A level typed into the Level field still writes down what the class
gains on the way up, and leaves a line where a Boon is owed.
- The docs cover all of it, with a generated list of what each class
gains at each level. The Hollowcrown seed's note no longer says to
track spell slots on paper.
- New migration: spent spell slots and Hit Dice on a character.
- All packages at version 1.14.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A weapon, item, spell, monster or NPC added by hand opens its own
pop-out, as before. That pop-out now has "+ Add another weapon" (or
item, spell, monster, NPC) at its top, which goes straight back to an
empty form: no closing it and pressing "+ Add" again.
- All packages at version 1.13.1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The campaign page shows one part at a time, picked from a row of
buttons under its name: Overview (characters and encounters), NPCs,
Locations, Weapons, Items, Spells, Monsters, Notes and Settings for
the DM; Overview, Places and Notes for a player. Each button counts
what is in its part. On a phone the row scrolls sideways. The part
showing is in the address (?view=weapons), so the back button steps
through the parts.
- NPCs, weapons, items, spells and monsters are lists of short rows.
Clicking a row opens a pop-out with everything about it and
everything that can be changed. Adding one, by hand or from the
library, is a pop-out too: a window on a wide screen, the whole
screen on a phone.
- "Search this campaign" looks through everything added to the
campaign at once: characters, encounters, locations and notes, and
for the DM also NPCs, weapons, items, spells and monsters. Each of
the DM's lists has a search box of its own as well.
- With three pages or more, the page number of a paged list is a menu
to jump straight to any page.
- The invite code, the party and archive or delete are under Settings.
- A weapon's properties and range, and a spell's casting time, range
and duration, are shown in its pop-out.
- All packages at version 1.13.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A weapon, item, spell or monster from the library can be added to a
campaign once. Adding it again is refused: "Longsword is already in
this campaign."
- The library list leaves out what the campaign already has, so what is
left is what can still be added. When nothing is left it says so.
- An entry counts as added while the campaign has one by that name,
whatever its capitals. Rename or delete the campaign's copy and the
library offers it again. This also covers what a world's seed put in.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A dead character, or a monster or NPC at 0 HP, is out of the fight: the
server no longer sends it to players, target marks included, and it has
no turn. Healing or reviving brings it straight back.
- The DM's screen leaves the fallen out too until "Show dead" is ticked,
which lists them in a group of their own, marked hidden.
- Players see dead characters by name in a Fallen box. The player whose
character is on turn in a battle gets "Try revive" there if that
character is on their feet and knows a spell that revives, at a level
they can cast. The dead come back at 1 HP.
- Spells have a "Revives" tick in the campaign's spell list. Revivify and
Raise Dead have it, in the library and in existing campaigns.
- A dead character cannot be added to an encounter until revived.
- All packages at version 1.8.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Hollowcrown: The Rift Between Worlds as its own seed (npm run
seed:hollowcrown), built from the campaign book: pools, 58 monsters,
57 NPCs, 28 locations, 72 encounters with rewards, and DM notes. Shared
seeding logic moved to prisma/seedCampaign.js.
- What players can see: only encounters their own character is in; only
the pool entries their character holds (plus starting options while
building); only locations their character has been to; no invite code;
no gold, inventory or money log of other players' characters. Socket
events carry ids only and campaign rooms are members-only.
- Encounters have a location; while one is in progress its characters are
there, and visits are remembered.
- Campaign setting to show players a health bar only for monsters and NPCs.
- Initiative is entered as the d20 roll (1-20) and the bonus is added;
players can enter their own character's roll.
- Number fields enforce their limits when typing, and the API enforces
the same limits.
- Temp HP shows on HP bars and absorbs damage before real HP.
- All packages at version 1.3.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Characters
- Builder: pick-then-Next on every step with live preview, Back button,
plain-language help throughout, and "Suggest for me" for ability scores
- Motivation is picked from a list; new steps for special abilities,
background and appearance, all composed from fixed lists and DM-only
to edit afterwards
- Copy a character to another campaign
- Characters can give gold, weapons, items and spells to each other
- Money tracker: gold only changes through a logged ledger
- Fixes: level/XP/location are DM-only, HP stays within 0..max, physical
dice ability rolls, every die is rolled once
Gear
- DM-managed item pool; weapons, items and spells are handed out by the DM
- Starting-option flag per pool entry
- Gear levels 1-9 per held copy with a damage ladder, growth rate and
starting level; spells gated by spell level with a fixed damage value
- Spell library carries default damage; damage is picked from a list
Encounters
- Battle and NPC quest modes, turn tracking, scene description, DM notes
- NPCs, richer combatant cards, conditions from a list
- Rewards (gold, weapons, items) lined up and awarded, with gold splitting
- Character HP is shared between the sheet and the encounter
- Monster stat blocks and NPC secrets are never sent to players
Other
- Dice roller on every page
- Docs for characters, weapons, spells, items, encounters, monsters and
NPCs, with full lists generated from the data (npm run docs:lists)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>