Skip to content

Restore the Panic Table (21.1) #192

Description

@nmbradley

§21.1: "To make a Panic Check, roll the Panic Die (1d20) and attempt to roll greater than your current Stress. If you roll less than or equal to your current Stress you fail, and you look up your result on the Panic Table."

The table runs 02–20 — Nervous, Jumpy, Overwhelmed, Coward, Frightened, Nightmares, Loss of Confidence, Deflated, Doomed, … Prophetic Vision, Catatonic, Rage, Spiraling, Compounding Problems, Heart Attack / Short Circuit, Retire.

Why it is missing

#132 removed panicTable, src/game/data/panic.ts and its tables.ts consumers, on a premise recorded in a comment that is still in the source:

1e has no generic panic effects table — a failure triggers the character's own Trauma Response (their class ability).

Both exist. The Trauma Response is a class ability printed on the character-creation page. The Panic Table is a separate d20 lookup in §21.1. Removing the table lost a mechanic the rules require.

Work

  • Restore src/game/data/panic.ts as a d20-indexed table. Recover the file from git history (git log --all -- src/game/data/panic.ts), then check every entry against §21.1 rather than trusting the 0e text that was in it — the tiers and effects differ.
  • Read it through rollOnTable in src/ts/rules/tables.ts, the shape woundEffect and deathSaveEffect already use.
  • panicComputed in src/ts/rules/rollTemplate.ts resolves the failed roll to its table entry. Keep the Trauma Response as its own line on the card — they are different things and both fire.
  • The result to look up is the Panic Die roll itself, not the margin.

Constraints

  • Never use Promises or await in this legacy sheet's code; only startRoll may be awaited. rollPanicCheck currently needs no getAttrs at all because it references @{stress_effect} in the template — preserve that if you can.
  • Append any new phrase to TEMPLATE_PHRASES; never reorder it.
  • Blocks Adding NPC Sheet #21.3 (Conditions), which are defined as the results this table leaves behind.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    1e1e RulesetmajorBroken or blocking

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions