v0.10.3: graft the live-play changes onto Draft 14

Reconciles the parallel Draft 14 line (targeting, spell effects, Straining the
Weave) with the mechanics designed in a live pencil-and-paper session:

- Banes (replacing the Stumble, by design decision): two or more 1s bank a Bane
  regardless of Successes; burn 1 Success to cancel a fail (drop below two → no
  Bane); a single 1 is the free twist. The roll card offers Burn / Take the Bane.
  Threaded through the Draft 14 targeting/apply-damage so effective Successes drive
  net damage and spend budgets.
- Twist the Knife: the d66 table replaced by a tuned 2d6 table (single fail
  triggers it; effects hit the roller or a chosen comrade).
- Momentum: a 3+ Success roll grants +1 die on the next Draw (keep highest,
  stacks to +2) via a VanityCombatant subclass; shown on the sheet's Draw button.
- Initiative: right-click a combatant to "Go first — make an entrance (1 Vanity)"
  or (GM) "Move to top", instead of re-rolling for a 6.
- Conditions: token/HUD icons rebuilt as bold colour-coded badges (red=combat,
  teal=spell, plum=state) with white glyphs; renderer moved to headless Chrome.
- Marked reworded (no more "Stumble"); build-conditions now targets Draft 14.

Rules brought into line: Draft 14 (§1, §3, §6, §11b, §21a, Common Sense, the
Reckoning reference), the player rulebook (regenerated HTML + PDF, 43pp), the
condition card deck & GM summary, and the system description.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-28 08:56:32 +01:00
co-authored by Claude Opus 4.8
parent 3216621324
commit 1045b06670
60 changed files with 340 additions and 132 deletions
+24
View File
@@ -592,6 +592,30 @@
.vanity-buttons button:hover { background: var(--v-teal-d); }
.vanity-buttons .vanity-fizzle { background: var(--v-plum); }
/* The Bane decision: burn a Success, or take the Bane */
.vanity-bane-choice {
margin-top: 7px; padding: 8px 10px; border-radius: 5px;
background: rgba(138, 31, 31, 0.08); border: 1px solid rgba(138, 31, 31, 0.35);
}
.vanity-bane-choice .warn {
display: block; color: #8a1f1f; font-size: 12px; line-height: 1.35;
margin-bottom: 7px; text-transform: none; letter-spacing: normal;
}
.vanity-bane-choice .vanity-buttons { margin-top: 0; }
.vanity-bane-choice .vanity-buttons button {
display: inline-flex; align-items: center; justify-content: center; gap: 5px;
line-height: 1.2; letter-spacing: 0.02em; padding: 8px 6px; text-align: center;
}
.vanity-bane-choice .vanity-burn { background: var(--v-gold); color: #2a1c06; }
.vanity-bane-choice .vanity-burn:hover { background: #caa23f; }
.vanity-bane-choice .vanity-takebane { background: #8a1f1f; color: var(--v-paper); }
.vanity-bane-choice .vanity-takebane:hover { background: #6f1717; }
/* Momentum — a great roll earns a die on the next Draw */
.vanity-momentum { border-color: var(--v-gold); }
.vanity-momentum .vanity-roll-label, .vanity-momentum p b { color: var(--v-gold); }
.vanity-sheet .roll-draw .mo { color: var(--v-gold); font-weight: 700; margin-left: 3px; }
/* ---------------- Roll dialog ---------------- */
.vanity-roll-dialog .pool-line { font-size: 14px; }