Files
Vanity/conditions.mjs
tevansandClaude Opus 4.8 1045b06670 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>
2026-07-28 08:56:32 +01:00

140 lines
4.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// AUTO-GENERATED by tools/build-conditions.py — do not edit by hand.
export const VANITY_CONDITIONS = [
{
"id": "rattled",
"name": "Rattled",
"group": "combat",
"short": "−1 die on everything",
"rules": "You've lost half your Grit and it shows: <b>−1 die on every roll</b> until you climb back above half.",
"ends": "Grit recovers above half"
},
{
"id": "wounded",
"name": "Wounded",
"group": "combat",
"short": "−1 die to a fitting action",
"rules": "A lingering injury — a gashed arm, a split brow. <b>−1 die</b> to a kind of action the GM rules it hampers.",
"ends": "Treated: kit, Mend, or downtime"
},
{
"id": "off-balance",
"name": "Off-Balance",
"group": "combat",
"short": "−2 dice on your next roll",
"rules": "You're reeling. <b>−2 dice on your next roll</b>, attack or defence — you still act, you just act badly.",
"ends": "After your next roll"
},
{
"id": "prone",
"name": "Prone",
"group": "combat",
"short": "−1 die; rising costs your Move",
"rules": "Flat on your back: <b>−1 die</b> on everything, and standing up costs your Move.",
"ends": "You spend a Move to rise"
},
{
"id": "held",
"name": "Held",
"group": "combat",
"short": "No move, no clean swings",
"rules": "Grappled or snared: <b>no movement, no clean attacks</b>, and defenders hit you as if you were flanked.",
"ends": "You win a Brawn contest to break free"
},
{
"id": "marked",
"name": "Marked",
"group": "combat",
"short": "The next Bane you bank counts as 2",
"rules": "Something patient has written your name. <b>The next Bane you bank counts as 2</b> instead of 1 — the GM will tell you when it lands.",
"ends": "The next time you bank a Bane"
},
{
"id": "encumbered",
"name": "Encumbered",
"group": "combat",
"short": "−1 die Brawn/Flair · half move",
"rules": "Carrying past your Load (6 + Brawn): <b>−1 die on Brawn and Flair, half movement</b> until you drop the excess.",
"ends": "You drop below your Load"
},
{
"id": "slowed",
"name": "Slowed",
"group": "spell",
"short": "−2 dice, no move next round",
"rules": "Frost Grip or its like: <b>−2 dice</b> and you cannot move until the caster's next turn.",
"ends": "The caster's next turn"
},
{
"id": "asleep",
"name": "Asleep",
"group": "spell",
"short": "Unconscious until roused",
"rules": "Dropped by Sleep: unconscious, and may be Subdued without a roll. <b>Damage or loud danger wakes you.</b>",
"ends": "Harm or clamour wakes you"
},
{
"id": "charmed",
"name": "Charmed",
"group": "spell",
"short": "Treats the caster as a trusted friend",
"rules": "You believe the caster is a dear friend for the scene. <b>Requests against your nature, or violence, break it</b> — and you remember.",
"ends": "Scene's end, or a betrayal"
},
{
"id": "blessed",
"name": "Blessed",
"group": "spell",
"short": "+1 die on everything",
"rules": "Conviction, made contagious: <b>+1 die on every roll</b> this scene. Does not stack with itself.",
"ends": "Scene's end"
},
{
"id": "cursed",
"name": "Cursed",
"group": "spell",
"short": "−1 die on everything",
"rules": "Doubt with a pointed finger: <b>−1 die on every roll</b> until cleared by an act the GM rules penitent.",
"ends": "A penitent act, or Cleanse"
},
{
"id": "warded",
"name": "Warded",
"group": "spell",
"short": "+2 defence dice",
"rules": "Arcane Ward, Sanctuary or Aegis: <b>+2 defence dice</b>, stacking with armour and shields.",
"ends": "The ward's stated duration"
},
{
"id": "blurred",
"name": "Blurred",
"group": "spell",
"short": "Attackers take −2 dice",
"rules": "Your edges smear: <b>everyone attacking you takes −2 dice</b> until the caster's next turn (or the scene, if paid up).",
"ends": "The caster's next turn, or scene"
},
{
"id": "downed",
"name": "Downed",
"group": "state",
"short": "A companion is out — not dead",
"rules": "A companion at 0 Grit: <b>out of the scene, not dead.</b> It recovers to full after a night's rest or Mend Beast.",
"ends": "A night's rest, or Mend Beast"
},
{
"id": "spent",
"name": "Spent",
"group": "state",
"short": "A spell can't be cast",
"rules": "A failed spell is <b>spent</b>: it cannot be cast again until you recover it with a rest or a recovery ritual.",
"ends": "Rest, or a recovery ritual"
},
{
"id": "taken-out",
"name": "Taken Out",
"group": "state",
"short": "Down — the fiction decides how badly",
"rules": "Your Grit is empty: <b>you're out</b> — unconscious, routed, captured, dying or dead, as the fiction and the weapons decide. A winner may Subdue instead of kill.",
"ends": "The story says so"
}
];