The generator was already writing the timeline, the cast and the texture and
filing all of it behind the GM screen. New PLAYERS page: a read-aloud opening,
what it is like there, what is known so far, who is there and what they want —
but never what they lie about. Page ownership is now declared by the page rather
than guessed from its index, which would have hidden any second player page.
Historical range: 38 weapons (from 6) and 14 armours (from 2), each with its
period stated, from arming swords and longbows through matchlocks and Brown Bess
to the Lee-Enfield and a trench club. Five new skills to hang them on, including
Firearm (Muzzle-loader), because a muzzle-loader is not a rifle.
275 icons; every weapon maps to a real skill and every item has art. Catalogue is
206 items across four eras.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Every case carries a "window closes" clock whose stated cost is THE WAY HOME and
whose steps are "the margin narrows / the return is Difficult / the return is
aimed at -30%". Nothing ever read it, so the phase whose job is getting out had
no consequence of its own and the GM had to invent one.
Extraction now advances that clock: failure and fumble narrow the window, a
critical opens it back up, and returnCrossing() applies the penalty alongside the
classification modifier and the Coherence band. 0/-10/-20/-30, Difficult from two
steps.
Also: legs now store their `kind`. The extraction check matched on the terrain
prose and worked only because the string begins "Extraction —".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Four phases, no weapon drawn. The arrangement with the quiet neighbours (standing
0 -> 2) is the win condition on this case. Nobody lost a hit point. A fumbled
Transposition on 99 cost 3 Coherence and delivered an Art, which is the only way
one ever arrives.
Together with LOW VERGE this brackets the death rules honestly: they bite when
the fiction has already gone badly, not by default.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Hit points clamp at zero, so further damage to somebody already there changed
nothing — and a STABILISED agent absorbed it forever, because the count was held
and there was nothing else left to move. You could empty a magazine into someone
bleeding out and the system would not notice.
Damage at zero now breaks the stabilisation and costs a round of the count, and
hitLocationRoll calls died() when that meets the limit.
Found by playing LOW VERGE until it killed somebody: two agents who were
medically stable died in the water on a failed tidal extraction.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
R-223: nothing happened at 0 hit points. An agent was marked down and lay there
forever; the only mention of death in the system was flavour text on a destroyed
head. Zero now starts a clock whose length is the agent's own Major Wound
threshold, ticked from the same hook that charges blood loss. First Aid or
Medicine stabilises and stops the count; healing above zero clears it; heal()
refuses the dead. On death, Coherence decides what the record says — from a
proper death in service down to not being recorded as dead at all.
Case generator: four phases instead of five (the arc drew two interchangeable
middles that read as padding). The brief now leads with Where / When /
Classification / Phases, states the opposition in full, and has a "How you get
back" section. place and duration were generated and never printed. The same
facts are on the case file itself. 300 seeds checked for object leaks; one found
and fixed (group taboo/desire are objects with .text).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Phases read 41/36/31 before the fumble; the fight with the rival desk cost two
agents; the last two phases resolved at 11% and 1% and the card says why —
Wounded: -20%. The wound pipeline reaches case phases, which is correct and now
legible. Closed at Containment 6, Resources 3, Clearance 5.
Confirms R-222: every agent finished with experience ticks from phase and combat
work, where before the fix a case produced none.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The ramp made every phase after the first Difficult (halving the lead's skill) and
stacked a cumulative -5% on top. Separated in phaseRampFor() in rules.mjs:
difficulty belongs to the phase (only Containment is Difficult, and it does not
also ramp), the modifier is attrition (-5 a phase, capped at -15).
lead 55% was 55 -> 22 -> 17 -> 12 -> 7 now 55 -> 50 -> 45 -> 27 -> 40
Over 20,000 simulated cases with destitution modelled, phases passed roughly
double and destitution incidence roughly halves.
R-222: resolveLegDialog passed no skillFamilyId, so the choke point could not
resolve the skill item and leading a phase never earned a tick — Tradecraft, the
skill the job most uses, could never improve.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bestIn("tradecraft") ?? bestIn("navigate") never reached Navigate, because every
character carries every skill and skillRating() returns the printed base rather
than null — so the first lookup always found somebody. A team of postings that
train Navigate and not Tradecraft was led by whoever had the highest UNTRAINED
Tradecraft, which is 5%, putting phase three at 1%.
TRAINED now means above the printed base. Measured on a Pathology / Overwatch /
Warden / Materials team: lead 5% -> 34%.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Audited every exported rule in rules.mjs against what the rulebook says and closed
the gaps:
- Dodge starts at DEX x 2 — newly evaluated, and stated nowhere until now
- Encumbrance: free carry, and which skill categories it actually penalises
- Bleeding rates and what stops each kind
- The merge ladder for Borrowed Authority, as a table
- A new page listing all 25 postings, generated from ROLES
The rulebook is now 9 pages and every one is generated from the code it documents.
All packs, 231 icons and the dice textures rebuilt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Since 0.6.1:
- VEHICLES as their own Item type: crew, seats, cargo, hull, armour, range,
terrain and the skill that works them, with speed as a band. 14 of them, from
the pool car and the Custodian van to a sealed crawler and the carriage that is
already parked outside wherever you were going to go.
- STORES roughly doubled to 118 gear items across four eras — standing issue and
paperwork, transport stores, and the forward stores Registry will not hand a
probationary officer. Catalogue now 175 items, 231 icons.
- Agents leave creation properly equipped: standing issue, the posting's kit,
what seniority adds, and one personal effect that is theirs and not the
department's.
- All 25 postings now describe themselves in the creation dialog.
- BORROWED AUTHORITY, the access subsystem. No hacking skill and nothing to break
into: access is a named credential with a scope, a Trust that erodes, and red
flags describing how its real owner behaves. Inside scope there is no roll. Two
tiers beyond is impossible at any skill. Coherence widens a record, and pushing
one past what its Trust will carry merges your file with theirs.
- Defences graded by level, and damage now rolls at the level a blow landed at.
- Dodge's DEX x 2 base is finally evaluated; it read 0% for most postings.
- Brawl is a fallback rather than a peer of the weapon in hand.
- check-lang guard: one key that was both a value and a branch silently
un-localised the entire system.
- The case generator is reachable from the Actor Directory, and no longer puts
every character in the world on a new case.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A Foundry VTT game system: Basic Roleplaying d100 in a drab British agency that
deals with crossings, where reality keeps a record of what belongs where and can be
made to get it wrong.
Contents:
- rules.mjs as the single authority for every rule formula, with 40 rules and 132
spot-checked values. Nothing may restate a formula it defines.
- 25 postings, each with a key characteristic, trained skills, talents and its own
kit; a 175-item catalogue across four eras; 231 generated icons.
- Reaction Lanes initiative, re-rolled every round including the first.
- Coherence, and the Quiet Arts, which only ever arrive from a crossing gone wrong.
- Graded defences: only a critical stops a critical.
- Borrowed Authority — access as a record rather than a hacking roll.
- A case generator, and a rules journal generated from rules.mjs so the book cannot
drift from the code.
Built compendia are committed so a remote Foundry needs only the files.
node_modules is not; `npm install` restores it for rebuilding content.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>