- "+ Add Monster" takes the whole stat block: challenge rating, speed, the
six ability scores, special trait and notes, as well as name, AC, HP,
attack and damage. Damage can name its type ("1d6+2 necrotic").
- Monsters can be edited: "Edit" on a row opens the same form filled in.
Copies already in encounters show the new stat block.
- The monster list shows each full stat block, the library picker shows
speed and ability scores too, and removing a monster asks first.
- Characters have a fourth balance, cash ($), for crossover worlds. It is
gained, spent, given and awarded like a coin, but it has no worth in
coins: it is never exchanged or used to make change.
- `npm test` in the backend runs again (the script pointed at a jest path
that does not exist in the workspace).
- All packages at version 1.9.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- In a battle in progress, whoever is on turn is at the top of the list
with those still to act beneath them. Each combatant whose turn has
passed drops to a "Next Round" section at the bottom, and a new round
puts everyone back.
- All packages at version 1.8.1.
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>
- In a battle under way, whoever is on turn has no Target button on their
card, and the server refuses a target list that includes them.
- All packages at version 1.7.2.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The amount an area attack adds to each target's AC per extra target is
now set per campaign, from 0 (no penalty) to 10. It starts at 2, so
existing campaigns behave as before.
- The DM changes it in the campaign settings; the attack bar and the
targets' cards use it.
- All packages at version 1.7.1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- More than one combatant can be marked as a target; the Target button now
adds to the targets instead of moving the mark.
- Several targets make an area attack, which is harder to land: every
target's AC counts as 2 higher for each target beyond the first. The
attack bar shows the AC to beat, and each target's card names the penalty.
- The DM unticks any target the roll missed, then applies one total: split
evenly between those hit (remainder to the first marked), or the full
amount to each. Each share is shown before it is applied.
- The single target column from V1.6.0 becomes a list, carried over by the
migration.
- All packages at version 1.7.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- One combatant at a time can be marked as the target with the Target
button on its card. The DM can mark anyone at any time; a player can
while their own character is on turn in a battle.
- The target's card is outlined for everyone and names who is going for it.
- While a target is marked the DM gets an attack bar above the list: who is
attacking whom, the target's AC and HP, the attacker's weapons, spells or
monster attack, and a box to apply damage or healing straight away.
- The target is cleared when the turn or round moves on, when the encounter
begins, ends or is reopened, or when the target is removed.
- All packages at version 1.6.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 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>
- A character's purse holds gold, silver and copper as separate coins:
1 gold = 10 silver = 100 copper. The money log records each entry's coin.
- Spending and giving are paid from the whole purse: coins of the kind
named go first, then the nearest bigger coin is broken (change comes back
in as few coins as possible), then smaller coins are counted out. A
payment is refused only when the whole purse isn't worth enough.
- Exchange converts one coin into another at the fixed worth.
- Encounter rewards and gifts between characters can be in any coin; the
party overview shows the whole purse.
- All packages at version 1.4.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Quests take initiative rolls like battles do; each quest group lists
highest first. The total is roll plus bonus and can exceed 20 (test added).
- Info tooltips are drawn against the viewport, so the party overview
table (or any scrolling container) can't cut them off.
- backend: `npm run deploy` applies migrations and regenerates the Prisma
client in one step; README explains why both are needed on a server.
- All packages at version 1.3.1.
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>