- 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>
19 KiB
Items and Inventory
How items work in this app: the campaign's item pool, what a character carries, item levels, and how items are handed out.
This describes the code as it stands. Related: WEAPONS.md (items level up the same way weapons do), SPELLS.md, CHARACTERS.md (money is covered there, in section 12).
Contents
- The basics
- The item pool
- A character's inventory
- Item levels
- Dice on items
- Starting items
- Items as rewards and for sale
- Permissions
- What is not modelled
- The complete item library
1. The basics
- Every campaign has its own item pool: rope, potions, keys, quest items, anything that is not a weapon or a spell.
- A character's inventory is the items it holds from that pool. Players cannot type in items of their own.
- The DM creates items and hands them out. Players can only tick Equipped, and only so much can be equipped at once (section 3).
- Items are descriptive. Holding or equipping one never changes a number on the sheet.
2. The item pool
The pool is the "Items" part of the campaign page (DM only). It lists each item as a short row: its name, then what it does, its dice and its description, as far as they fit on a line. The list has a search box, shows ten to a page, and clicking a row opens the item's pop-out, which shows everything below and is where it is changed.
| Field | What it is |
|---|---|
| Name | Free text, up to 120 characters |
| Description | Optional. Shown under the item in a character's inventory |
| Base dice | Optional dice such as 2d4+2, for items that deal damage or heal (section 5) |
| Starts at level | 1 to 9. The lowest level this item can be (section 4) |
| Growth | Standard, Powerful or Legendary. Only matters if the item has dice |
| Starting option | Whether a brand-new character may pick it in the builder (section 6) |
| Effects | What it does to whoever has it equipped: bonuses and penalties to the sheet's numbers, and a note (section 5) |
- Adding: by hand with "+ Add Item", or with "📚 From Library". Both open in a pop-out; an item added by hand opens its own pop-out straight away, to set what it does, and "+ Add another item" at its top goes straight back to an empty form. The library offers 32 ready-made items: light, medium and heavy armor, shields, worn gear such as a Ring of Protection, and common supplies. Each is copied into the pool with its effects already set (Chain Mail: +6 AC, −10 Speed, and a note about Stealth), at starting level 1 and not ticked as a starting option. The copy is yours to change. The full list is in section 10. Each can be added once: an item the pool already has by that name is left out of the library list, and comes back if the pool's item is renamed or deleted.
- Effects: under "While equipped" in the item's pop-out, saved with "Save Effects". The item's row shows what it does under its name.
- Changing: starting level, growth (when the item has dice) and the starting-option tick box are changed in the pop-out, and saved as they are changed. Name, description and dice cannot be changed on screen once created (the API accepts it); remove and re-add instead.
- Removing: "Remove from campaign" at the foot of the pop-out, after a confirmation. This takes the item out of every inventory and off every encounter's reward list. There is no undo.
3. A character's inventory
On a character's sheet, the DM picks an item from the pool and clicks Give.
| Each held item has | Who changes it |
|---|---|
| Quantity | The DM, with the − and + buttons |
| Level | The DM, with the level picker |
| Equipped | The owning player or the DM |
-
Giving an item the character already holds adds to the stack. A character holds one stack per item, and the whole stack shares one level.
-
Quantity cannot go below 1; to take the last one away the DM uses ✕.
-
Using up an item (drinking a potion) is not automatic: the DM lowers the quantity or removes it.
-
Equipped is what switches an item's effects on (section 5), and what shows the item on the character's encounter card.
-
Only what is equipped counts. A weapon has to be equipped to be used in an encounter, and gear only gives its effects while equipped. What is not equipped stays in the pack: still the character's, still listed on the sheet and in the character panel, but not in hand.
-
There is a limit on how much can be equipped at once, set per campaign in Campaign Settings ("Equipped at once"):
Setting Starts at Means Things equipped at once 2 Weapons and items together Of which weapons 1 So: one weapon, or one weapon and one item, or two items Armor and shields are items and count toward the limit. With the starting numbers a character can have a weapon and a shield, or a weapon and armor, but not all three; a DM who wants armor, shield and weapon together sets the first number to 3.
-
Putting something on when the limit is reached is refused, with a message naming what is already equipped. Take something off first.
-
Equipping can be changed at any time, including in the middle of an encounter, by the owning player or the DM: on the sheet, or in the character panel (the 🧙 button, or "🎒 Inventory" on the character's encounter card).
-
Lowering the limits takes nothing off anyone. A character with more on than the new limit keeps it until they change what they have equipped.
-
Everything arrives unequipped: gear from the DM, from a reward, bought, or given by another character.
-
The whole pack is always listed: on the sheet, and in the character panel (the floating 🧙 button, on every page), which the owning player and the DM can open from anywhere, including from the character's card in an encounter. Things the character is too low level to use are shown and marked "needs level N", not hidden.
Passing items on. A character's owner (or the DM) can give some or all of a held stack to another character in the campaign from the "Give to Another Character" card on the sheet. The items leave the giver and arrive with the recipient at the giver's level, unequipped. If the recipient already holds that item, their stack grows and keeps its own level. Gold is given the same way, and both characters' money logs record it.
4. Item levels
Items use the same level system as weapons (a house rule of this app):
- Each held stack has a level from 1 to 9, never below the pool entry's starting level.
- A character must be at least the item's level to use it. A higher-level item is still held, but shows "Requires level N" and cannot be equipped.
- Only the DM changes an item's level.
- If the DM levels an item past its holder, or lowers the character's level, it is unequipped automatically.
For an item with no dice, the level is purely a requirement: a level 3 amulet is one a character cannot use until level 3.
5. Dice on items
An item can carry optional dice: a healing potion's 2d4+2, a firebomb's
3d6. The app does not know whether they heal or harm; the DM applies them.
The dice grow with the item's level exactly as a weapon's do, climbing the same ladder (1d4 → 1d6 → 1d8 → 1d10 → 1d12 → 2d6 → …) by one, two or three rungs per level depending on Growth. The full ladder is in WEAPONS.md, section 6.
Healing Potion, 2d4+2, Standard growth |
Dice shown |
|---|---|
| Level 1 | 2d4+2 (as typed) |
| Level 2 | 1d6+1d8 |
| Level 3 | 2d8 |
The dice are shown beside the item in the inventory. Nothing is rolled or applied automatically; use the dice roller.
Effects: armor and other gear that changes the sheet
Armor, shields, rings, cloaks and the like are ordinary items that have effects. An effect is a whole number, positive for a bonus and negative for a penalty, on one of the sheet's numbers:
Armor and shields are marked as such. An item's pop-out has an Armor menu: not armor (the default), light, medium, heavy, or shield. Its AC is still an effect (+AC, its usual AC less 10); the mark says what kind of thing it is. The sheet counts all of a character's Dexterity modifier toward AC in light armor, at most +2 in medium armor and none in heavy armor (CHARACTERS.md, section 8), so plate is +8 and comes to AC 18 whoever wears it. Some class features depend on what is worn too: a barbarian's and a monk's Unarmored Defense and a draconic sorcerer's scales stop while armor is equipped, a monk's also stop behind a shield, and a barbarian's extra speed stops in heavy armor (CHARACTERS.md, section 8). The library's armor and shield come marked; mark your own. A ring or cloak that gives +AC is not armor: leave it unmarked.
| It can change | Examples |
|---|---|
| AC | Chain mail +6, a shield +2, a cursed cloak −1 |
| Speed | Heavy armor −10, boots of speed +10. Speed never goes below 0 |
| Initiative | +2 |
| Max HP | +5. Max HP never goes below 1 |
| Passive Perception | +5 |
| An ability score (STR, DEX, CON, INT, WIS, CHA) | Gauntlets +2 STR. The score changes, so its modifier and everything built on it (saves, skills, attacks, HP from CON, AC from DEX) change with it. A score never goes below 1 |
| All saving throws, or one ability's saves | A ring: +1 to all saves |
| All skill checks, or one skill | Noisy armor: −2 Stealth |
An item can have up to 12 effects, one per number, each from −100 to +100, plus a note for what is not a number ("Disadvantage on Stealth", "Resistance to fire").
- They apply on their own. While a character has the item equipped and is high enough level to use it, its effects are part of every number the app shows for that character: the sheet, the character panel, the party overview and their encounter card. Nothing has to be typed in.
- Unequipping takes them away again, as does giving the item away, the DM removing it, or the character dropping below its level.
- Effects add up. Two different items with +1 AC give +2. Carrying two of the same item does not double it: a stack counts once.
- The sheet says where each change comes from. A "From Equipped Gear" card lists every item in force with what it is doing, and its note.
- Max HP can move. If taking something off lowers a character's maximum HP below their current HP, current HP comes down to the new maximum.
- Only the DM sets effects, under "While equipped" in the item's pop-out on the campaign page. Changing them changes the sheet of everyone wearing the item, straight away.
- The DM also has an Extra AC number on each sheet, added on top of gear, for anything an item does not cover. It can be negative.
Weapons can carry effects in exactly the same way (WEAPONS.md, section 2).
6. Starting items
In the builder's equipment step a new character can pick items that are:
- ticked as a starting option in the pool, and
- starting level 1.
Starting items and starting weapons share the campaign's "starting items" allowance. Each arrives at level 1, quantity 1, unequipped.
7. Items as rewards and for sale
On an encounter the DM can line up an item as a reward, at a chosen level and quantity, and later award it to a character. Awarding adds it to the character's inventory, stacking with any they already hold. See ENCOUNTERS.md.
The DM can also put an item up for sale, at a level, a price (in gold, silver, copper or cash) and an optional stock. An NPC can sell it, wherever that NPC is met, or an encounter can sell it itself. Players see what is for sale and buy it in an NPC quest that is in progress: the price leaves their purse and the item joins their inventory. See NPCS.md, section 5, and ENCOUNTERS.md, section 10.
8. Permissions
| Action | DM | Owning player | Other players |
|---|---|---|---|
| See the item pool | Yes | Only what their own character holds, plus the starting options while they have a character to build | The same, for their own character |
| Add, change or remove pool items | Yes | No | No |
| Give an item from the pool, or take one away | Yes | No | No |
| Give a held item to another character | Yes | Yes | No |
| Put an item up for sale | Yes | No | No |
| Buy an item that is for sale, in a quest in progress | Yes, for any character in it | Yes, if the character is in it | No |
| Change quantity or level | Yes | No | No |
| Equip or unequip | Yes | Yes, if the character can use it | No |
| See a character's inventory | Yes | Yes | Yes |
9. What is not modelled
- A Strength score needed for heavy armor, armor proficiency and Stealth disadvantage: these are notes on the armor for the table to apply
- Effects on attack rolls, damage, spell save DC or proficiency bonus
- Effects that depend on something (only at night, only against undead), or that grow with the item's level
- Advantage and disadvantage as rules (write them in the note)
- Using up items automatically, charges, and attunement
- Weight, carrying capacity and containers
- A price on the item itself: a price is set each time it is put up for sale
- Selling items back (record the gold change in the money log)
- Swaps as a single step (each side gives separately), and asking the recipient to accept
- Hands and body slots: the limit is a plain count, so nothing stops two suits of armor being equipped if the count allows it
- Swapping automatically: equipping at the limit is refused, not exchanged
10. The complete item library
Everything "📚 From Library" offers. "While equipped" is what the item does to the sheet of whoever has it on.
Armor is a bonus to AC on top of 10 + Dexterity: each suit's bonus is its standard AC less 10, and it is marked light, medium or heavy, which sets how much Dexterity counts in it (section 5). What that cannot say (a Strength requirement, disadvantage on Stealth) is in the note, for the DM to apply.
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.
Light Armor (3)
| Item | While equipped | Note | Dice | Description |
|---|---|---|---|---|
| Padded Armor | +1 AC | Disadvantage on Stealth checks. | — | Quilted layers of cloth and batting. |
| Leather Armor | +1 AC | — | — | Boiled leather breastplate and shoulder guards over soft leather. |
| Studded Leather | +2 AC | — | — | Tough leather set with close rivets and spikes. |
Medium Armor (5)
| Item | While equipped | Note | Dice | Description |
|---|---|---|---|---|
| Hide Armor | +2 AC | Medium armor: at most +2 from Dexterity counts (worked out on the sheet). | — | Thick furs and pelts. |
| Chain Shirt | +3 AC | Medium armor: at most +2 from Dexterity counts (worked out on the sheet). | — | Interlocking rings worn between layers of clothing. |
| Scale Mail | +4 AC | Disadvantage on Stealth checks. Medium armor: at most +2 from Dexterity counts (worked out on the sheet). | — | A coat and leggings of leather covered in overlapping metal scales. |
| Breastplate | +4 AC | Medium armor: at most +2 from Dexterity counts (worked out on the sheet). | — | A fitted metal chest piece worn with supple leather. |
| Half Plate | +5 AC | Disadvantage on Stealth checks. Medium armor: at most +2 from Dexterity counts (worked out on the sheet). | — | Shaped metal plates covering most of the body. |
Heavy Armor (4)
| Item | While equipped | Note | Dice | Description |
|---|---|---|---|---|
| Ring Mail | +4 AC | Disadvantage on Stealth checks. Heavy armor: Dexterity does not count (worked out on the sheet). | — | Leather armor with heavy rings sewn into it. |
| Chain Mail | +6 AC, −10 Speed | Disadvantage on Stealth checks. Heavy armor: Dexterity does not count (worked out on the sheet). Standard rules: needs Strength 13. | — | Interlocking metal rings over a layer of quilted fabric, with gauntlets. |
| Splint Armor | +7 AC, −10 Speed | Disadvantage on Stealth checks. Heavy armor: Dexterity does not count (worked out on the sheet). Standard rules: needs Strength 15. | — | Narrow vertical strips of metal riveted to a leather backing. |
| Plate Armor | +8 AC, −10 Speed | Disadvantage on Stealth checks. Heavy armor: Dexterity does not count (worked out on the sheet). Standard rules: needs Strength 15. | — | Shaped, interlocking metal plates covering the whole body. |
Shields (2)
| Item | While equipped | Note | Dice | Description |
|---|---|---|---|---|
| Shield | +2 AC | — | — | Wood or metal, carried in one hand. |
| Tower Shield | +3 AC, −5 Speed | — | — | A wall of oak and iron, as tall as its bearer. |
Worn Gear (10)
| Item | While equipped | Note | Dice | Description |
|---|---|---|---|---|
| Ring of Protection | +1 AC, +1 all saves | — | — | A plain band that turns blows aside. |
| Cloak of Protection | +1 AC, +1 all saves | — | — | A heavy cloak that seems to catch what was meant for you. |
| Cloak of Elvenkind | +5 Stealth | With the hood up, others have disadvantage on Perception checks to see you. | — | With the hood up, its colour shifts to match what is behind it. |
| Boots of Striding | +10 Speed | — | — | Light, tireless boots. |
| Gauntlets of Might | +2 STR | — | — | Iron-banded gauntlets that lend a giant’s grip. |
| Gloves of Thievery | +5 Sleight of Hand | — | — | Thin grey gloves that all but vanish when worn. |
| Amulet of Health | +2 CON | — | — | A red stone on a golden chain, warm against the skin. |
| Headband of Intellect | +2 INT | — | — | A silver circlet set with a pale blue stone. |
| Sentinel Charm | +2 Initiative, +5 Passive Perception | — | — | A brass eye on a cord that never quite closes. |
| Stone of Good Luck | +1 all saves, +1 all skill checks | — | — | A polished agate that sits well in a pocket. |
Supplies (8)
| Item | While equipped | Note | Dice | Description |
|---|---|---|---|---|
| Healing Potion | — | — | 2d4+2 | A red liquid that glimmers when shaken. Drink it to regain hit points. |
| Rope (50 ft) | — | — | — | Hempen rope. Holds a climber. |
| Torch | — | Held in a hand to give light. | — | Burns for an hour, lighting 20 feet brightly. |
| Hooded Lantern | — | Held in a hand to give light. | — | Bright light for 30 feet; the hood dims it to a glow. |
| Rations (1 day) | — | — | — | Dried meat, hard biscuit, nuts. |
| Bedroll | — | — | — | A blanket roll for sleeping rough. |
| Thieves’ Tools | — | — | — | A file, picks, a small mirror, narrow scissors and pliers. |
| Healer’s Kit | — | — | — | Bandages, salves and splints. Steadies a dying creature without a check. |