- All of a Dexterity modifier counts toward AC in light armor, at most +2
in medium armor, none in heavy armor, going by the equipped item's kind
- The gear card says when the armor is holding something back
- Library and seed armor notes and docs brought in line
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 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>
- 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>
- Weapons and items can carry effects: bonuses and penalties to AC, speed,
initiative, max HP, passive Perception, ability scores, saving throws
and skills, plus a note. They apply on their own while equipped and stop
when the thing comes off. Armor is an item with an AC effect. The DM
sets them with "Effects" on a row in the weapon or item pool.
- The sheet's "armor bonus" is now "Extra AC", the DM's own adjustment on
top of gear, and only the DM can set it.
- Only what is equipped counts: a weapon has to be equipped to be used in
an encounter. A character can have two things equipped at once, one of
them a weapon (campaign settings). Equipping at the limit is refused
with a message, and can be changed at any time, mid-encounter included.
- A built-in item library: armor, shields, worn gear and supplies, with
their effects set. The weapon library gains paired weapons (a pair of
daggers is one weapon).
- A floating character button on every page opens a panel with a
character's numbers and everything they hold, with equip ticks. Players
get their own characters, the DM everyone's, and each character card in
an encounter has an Inventory button. It replaces the quick stats drawer.
- A player's own characters stand out: marked and highlighted in
encounters, with a button that jumps to their card; highlighted on the
party screen; and listed once, not twice, on the campaign page.
- All packages at version 1.11.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- An NPC can change gold and cash at a rate of their own ("2 gold = $15"),
the same both ways. Only gold and cash are taken: no silver, no copper
and no change, and the amount has to be a whole multiple of the rate.
- An NPC can sell weapons and items from the campaign pools, each with a
price in any coin or in cash, a level and an optional stock. The wares
follow the NPC into every quest. An encounter can sell things itself
too, for a stall with nobody behind it.
- Trading is open only in an NPC quest in progress, never in a battle,
with an NPC who is in the scene and standing, for a character who is in
it. Players see every rate and ware and trade for their own character
in a new Trade card; the DM can trade for anyone.
- Only the DM sets trade up: "Trade" on an NPC's row on the campaign page,
and the DM's part of the Trade card for an encounter's own wares. A
ware's price and stock can be edited afterwards.
- Every exchange and purchase is written to the character's money log.
- All packages at version 1.10.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>