Westmarches — Northern Skies.

⚠ {{ persistError }}
Style Editor
{{ headerSession }}
Guided tour
Support Help
Welcome, player. Please sign in.
You signed in, but your account could not be loaded: {{ authErrText }}
Welcome back, {{ arrivalWho }} What would you like to do?

Character Sheet

No character loaded.

{{ charName }}

{{ charLine }}
{{ c.name }} {{ c.durLabel }}
{{ c.durValue }}
{{ tabLabel }}
Headshot

Select Character

{{ r.name }} {{ r.line }}
{{ adminRosterNote }}
{{ a.name }} {{ a.line }}
Saved characters live in this browser. The DM's roster will replace this list in the real build. {{ rosterScopeNote }}
{{ recordNote }}
Residual Data {{ orphanNote }}
{{ o.name }} {{ o.meta }}
{{ tabName }} — not designed yet
Combat is the reference tab. This one is next in the queue.

Imported — check these

{{ importCount }}
{{ r.label }} {{ r.current }}
Their sheet: “{{ r.original }}” — {{ r.why }} ({{ r.cell }})

Name & Standing

XP
Level
{{ charLevel }}
{{ toNextLabel }}
{{ xpNeeded }}
{{ renameNote }}

Portrait & Vitals

{{ genOverlayTitle }} {{ genOverlaySub }}
{{ cropReadout }}
Past Portraits
{{ pastMsg }}
{{ portraitRisk }}
{{ genMetaText }}
Vitals
Portrait
{{ vitalsNote }}

Portrait Poses

Skin Tone

{{ g.label }}

Persona

visible to the DM · woven into the chronicle

Guild & Allegiance

{{ guildNote }}

Combat

{{ currentWeaponNote }}
-or-
Round {{ roundNo }}
Choose Melee or Ranged for this turn {{ commitNote }}
{{ hpCur }} HP
HP Max
{{ deathLabel }}
AC {{ acTotal }}
BtH {{ hdrBth }}
Dmg {{ currentWeaponDmg }}
{{ rangeBand }}
{{ rangeCur }} FT
Distance
{{ moveRuleNote }}
Jog x 2, Run x 4
Target Status
{{ sp.name }}

Combat Stats

Melee {{ meleeWpnLabel }}
{{ meleeAtkTotal }}
STR {{ strScoreTxt }}
Cursed Attack
Bonus
{{ atkLoseDexBy }}
Ranged {{ rangedWpnLabel }}
{{ rangedAtkTotal }}
DEX {{ dexScoreTxt }}
{{ ammoNote }} {{ chargeNote }} {{ chargeNote }}
Roll
20
+
Attr Mod
STR {{ strModTxt }} melee
-or-
DEX {{ dexModTxt }} ranged
+
Level BtH
{{ lvlBonusTxt }}
{{ lvlBonusSrc }}
Attack Modifier Math
AC Total Cursed
{{ acTotal }}
{{ acNote }}
{{ acUnboxed }} + + + + + + +
Attributes & Saves
Attr Score Mod Save CB Saves Against
{{ a.name }} {{ a.val }} {{ a.mod }} {{ a.save }} {{ a.cb }} {{ a.saves }}
d20 + save ≥ CB · save = mod + level · ● prime: CB 12, else 18

Combat Maneuvers

PHB pp. 245–246 · any class {{ maneuverSummary }}
{{ mv.name }}
{{ mv.effect }} {{ mv.applies }} {{ mv.why }}

Active Conditions

toggles feed the header chips · attack & AC totals
Buffs
Debuffs
Limited Powers

Spellcasting

{{ scNote }}

{{ scEmptyText }}

{{ lv.label }} {{ lv.leftLabel }}
{{ scArmedLabel }}
Quick Use {{ readyNote }}
{{ grp.title }}

Confirm Use

{{ readyConfirmName }}
{{ readyConfirmLine }}

{{ wcTitle }}

{{ wcNote }}
Eldritch Blast {{ wcBlastLeft }} {{ wcBlastDie }}
Touch Attack — {{ wcTouchLeft }}
{{ t.label }}
Invocations — {{ wcInvLeft }}
{{ iv.name }}
nothing learned yet
Spells {{ wcPickNote }}
{{ g.label }} {{ g.slotLabel }}
no slots left today

{{ howToTitle }}

placeholder — not built yet

This tab will gather the rules that gate play for {{ howToClass }} in one place — the things the rest of the sheet enforces silently or not at all, so a player can see why a button is closed to them.

  • Preparation and rest requirements — how long, how often, what interrupts them.
  • The checks this class lives on, and the attribute each is read against.
  • Limits: what it may wear, carry, cast, or attempt, and at which level each opens.
  • Where a house rule overrides the book, marked as a house rule.

Nothing is written here yet on purpose: every line will carry its book and page, or say plainly that it is a house rule. Queued in PROGRESS.md.

Plan skeleton — reminder

HOW TO PLAY A [CLASS] — build plan

0. SOURCE FIRST
   Every line carries book + page, or is labelled HOUSE. Nothing unsourced ships
   in the same visual class as a sourced rule. Waiting on the full PHB + M&M + CKG
   parse (offered 2026-08-29) before any line is written.

1. THE DAILY GATES
   - Rest: how long, what counts as restful, what interrupts and by how much.
   - Preparation: time per spell/ability, what may be left open, what may not be
     swapped once used.
   - What a cast/use in the hours before rest costs the next day.

2. THE CHECKS THIS CLASS LIVES ON
   - Each class ability -> its attribute, its CL, who sets the difficulty.
   - Which checks the sheet already rolls, and which are the CK's.

3. THE LIMITS
   - Armour, weapons, worn magic items, encumbrance thresholds.
   - Spell levels open at this level; slots; bonus slots from the prime.
   - Level-gated abilities: what unlocks when, and what is still closed.

4. THE HOUSE LAYER
   - Northern Skies overrides, each marked, each next to the book rule it replaces.
   - Nat 20 / nat 1 casting, XP for recovered items, negative-HP healing.

5. WIRING
   - Read from the same engine the tabs use (magic-engine.js and its successors),
     so a rule shown here and a rule enforced there cannot drift.
   - Per class, driven by the character's own class + level: no static text.

6. WHAT THIS TAB IS NOT
   - Not book prose. Not a rules reprint. Summaries, limits and pointers only.

Playing the part

prompts, not rules — none of this is from a book

Answer three or four of these and {{ howToClass }} stops being a stat block. None of them bind the character — they are only there to give the table something to play against.

Why this life
  • Chosen, inherited, or fallen into? Somebody taught them — who, and are they still owed for it?
  • What did the training cost: years, money, a name they no longer use, a person they left?
  • Is the calling still the reason they get up, or has it become the only trade they know?
What they want out of the Marches
  • A concrete goal with a price on it — a debt, a passage home, a workshop, a title, a grave to buy back.
  • Something in the north they are looking for specifically. It can be small; it should be findable.
  • One thing they would refuse gold for, and one thing they would take gold to do that they shouldn't.
Under pressure
  • First instinct when a plan collapses: take charge, go quiet, go first, or get everyone out?
  • What they do with fear — hide it, name it, or turn it into speed?
  • The line they won't cross, and the circumstance under which they would.
With the party
  • Which one of them do they trust with their life but not their coin — and why that one?
  • What do they contribute when their class does nothing useful: camp, talk, memory, nerve?
  • Something they are visibly bad at, and let the others see.
Texture
  • A habit before danger and a habit after it — the second one is usually the memorable one.
  • One carried object with no combat value they would go back into a burning building for.
  • How they speak about their own skill: understate, boast, or refuse to discuss it.
  • What they were doing the day before the campaign started.

Written by me as table prompts — no book, no page, nothing to cite. When the class-specific rules land above, these stay separate so the sourced and the invented never share a card.

Sheet saved to the chronicle
{{ hoverTooltip.heading }}
{{ hoverTooltip.verdict }}
"{{ hoverTooltip.text }}"
Captured: {{ hoverTooltip.captured }}
font: {{ hoverTooltip.font }}
letter-spacing: {{ hoverTooltip.ls }}
text-transform: {{ hoverTooltip.tt }}
color: {{ hoverTooltip.color }}
background: {{ hoverTooltip.bg }}{{ hoverTooltip.bgNote }}
data-class: {{ hoverTooltip.dataClass }}
data-class-keep: {{ hoverTooltip.keepNote }}
owns text: {{ hoverTooltip.textNote }}
box: {{ hoverTooltip.box }}
inline style: {{ hoverTooltip.inlineLen }}
{{ hoverTooltip.path }}
family: {{ hoverTooltip.classDefFamily }}
weight: {{ hoverTooltip.classDefWeight }}
size: {{ hoverTooltip.classDefSize }}
color: {{ hoverTooltip.classDefColor }}
extra: {{ hoverTooltip.classDefExtra }}
{{ da.name }}: {{ da.value }}
(no other data-* attributes)
Scale 5 10 20 50
Highlight class on page
You have an extra attack! {{ extraAttackFeat }} · take it and your actions re-arm for another turn in this same round — offered once per combat.
Expired {{ condExpiredText }}
{{ q.question }} {{ q.detail }}
Mismatched Eyes

{{ dossierTitle }}

{{ dossierStanding }}

Portrait Picker

Upload an Image
or drop it on the portrait frame · 2:3 · jpg or png
Find an Image
{{ searchBtnLabel }} -or-
Choose a search engine first.
Create a Portrait
With AI {{ createPortraitNote }}
-or-
Manual Open ChatGPT Images Edit the prompt below, or paste a new one
Tweak the Portrait Type “Keep All” if you want to change just a few tweaks, then specify what they are. {{ tweakNote }}

Save Configuration

Add Condition

{{ condPickCount }}
{{ condPickHint }}
Buffs
Debuffs
Patron
{{ patronMineName }} {{ patronMineCreed }}
A warlock's power comes from a pact with a patron. At 1st level the warlock gains a Mark of Power, an object or tattoo that shows the patron connection (P9). The patron shapes the warlock's invocations (W4), and at the Castle Keeper's discretion each patron may grant unique boons (P9 Patron Boons). The {{ patronCount }} patrons of the Northern Skies
{{ pr.name }} {{ pr.creed }}
Languages of the North
{{ lr.name }} {{ lr.about }}
{{ tipTitle }} {{ tipBody }}