Skip to content

1.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Jul 20:40
b6e9ff3
1.4.0: action/spell parent inheritance + clock-collapse for counters

Action and spell objects can inherit a library entry via `parent: <name>`:
the named entry resolves first, then the object's own fields override it.
Scalars (toHit, verb, slot, ...) replace outright; the dmg and effects
arrays replace the parent's unless they contain an "inherit" string element,
which splices the parent's array in at that position ([inherit, X] appends,
[X, inherit] prepends). The child keeps its own name and `parent` is
consumed. This covers "Roice's Glaive" (Glaive + toHit override), Sneak
Attack re-stats (full dmg replace), magic weapons ("Shortsword of Ice" =
Shortsword dmg + a cold component), and 2024-style spell upcasting
(Fireball + 2d6 at 5th).

A single resolveActionRef in library-loader does the lookup/merge and is
wired through every action-consumption site: the bar's via dropdown
(actions and spells), initActionUses, the per-turn uses reset,
applyStartEffects, and the readiness check. Resolution stays lazy so a
parent pointing at a library entry that loads after first render still
resolves. If a parent name doesn't resolve, the child is used as authored,
minus the dangling pointer.

specs/dnd-combat-schema.md documents parent/inherit (a CombatAction table
row, a dedicated subsection with examples, and the Spell note).

Counters: counter pills auto-added from an action collapse behind a single
clock-icon button (src/icons/clock-solid-full.svg), mirroring the auto-tags
pill. Collapsed by default; the pill shows the count and expands them.
Manually-added counters stay inline. Hidden auto-counters still tick on
commit; the collapse is purely visual.