- rules/RUNDOWN.md: the complete system, self-contained - reference/obstacle-ladders.md: eight six-rung ladders across foot, ground vehicle and spinner terrain - reference/converting-from-raw.md: switching from the published chase rules mid-campaign or mid-chase, plus rulings the conversion needs - reference/rundown-gm-sheet.html: one-page printable GM sheet - gm-utility/rundown-console.html + modules/rundown.js: touch console matching the REP-DETECT panel style, no dependencies, runs from file:// Console logic verified by gm-utility/test/rundown.test.js — 42 assertions driving the real module through a stub DOM, covering LEAD movement and clamping, round capping, Overtime drift, undo, Collateral pips and every outcome band. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
238 lines
12 KiB
HTML
238 lines
12 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>RUNDOWN — GM Sheet</title>
|
||
<style>
|
||
@page { size: A4 portrait; margin: 10mm; }
|
||
*{box-sizing:border-box;margin:0;padding:0}
|
||
body{
|
||
font-family:"Avenir Next","Segoe UI",Helvetica,Arial,sans-serif;
|
||
font-size:8.4pt; line-height:1.32; color:#111; background:#fff;
|
||
padding:10mm; max-width:210mm; margin:0 auto;
|
||
}
|
||
h1{font-size:17pt;letter-spacing:.16em;font-weight:800;margin-bottom:1px}
|
||
h1 .sub{display:block;font-size:7.2pt;letter-spacing:.22em;font-weight:400;color:#555;margin-top:3px;text-transform:uppercase}
|
||
h2{
|
||
font-size:7.4pt;letter-spacing:.2em;text-transform:uppercase;font-weight:800;
|
||
border-bottom:1.5px solid #111;padding-bottom:2px;margin-bottom:5px;
|
||
}
|
||
header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2.5px solid #111;padding-bottom:5px;margin-bottom:8px}
|
||
header .lead-set{font-size:7.2pt;color:#333;text-align:right;line-height:1.5}
|
||
header .lead-set b{letter-spacing:.06em}
|
||
|
||
.cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
|
||
.box{border:1px solid #999;padding:6px 7px;margin-bottom:7px;break-inside:avoid}
|
||
table{width:100%;border-collapse:collapse;font-size:8pt}
|
||
th,td{text-align:left;padding:2.5px 4px;vertical-align:top;border-bottom:.5px solid #ccc}
|
||
th{font-size:6.8pt;letter-spacing:.13em;text-transform:uppercase;color:#444;border-bottom:1px solid #888}
|
||
tr:last-child td{border-bottom:none}
|
||
.role{font-weight:800;letter-spacing:.05em;white-space:nowrap}
|
||
.skill{color:#555;font-size:7.4pt;white-space:nowrap}
|
||
.k{font-weight:700}
|
||
|
||
/* LEAD track */
|
||
.track{display:flex;gap:3px;margin:5px 0 3px}
|
||
.track .n{
|
||
flex:1;text-align:center;border:1px solid #666;padding:7px 0 6px;
|
||
font-size:12pt;font-weight:800;font-family:"Courier New",monospace;
|
||
}
|
||
.track .n.end{background:#111;color:#fff;border-color:#111}
|
||
.track .n small{display:block;font-size:5.4pt;letter-spacing:.1em;font-weight:600;font-family:inherit;margin-top:1px}
|
||
.tracknote{display:flex;justify-content:space-between;font-size:6.6pt;letter-spacing:.14em;text-transform:uppercase;color:#444}
|
||
|
||
/* Collateral pips */
|
||
.pips{display:flex;gap:5px;margin:4px 0 5px}
|
||
.pips div{width:19px;height:19px;border:1.5px solid #333;border-radius:50%}
|
||
.pips div:nth-child(n+5){border-color:#111;border-width:2.5px}
|
||
|
||
/* procedure */
|
||
ol.proc{list-style:none;counter-reset:p;font-size:8.2pt}
|
||
ol.proc li{counter-increment:p;padding:2.5px 0 2.5px 20px;position:relative;border-bottom:.5px solid #ddd}
|
||
ol.proc li:last-child{border-bottom:none}
|
||
ol.proc li::before{
|
||
content:counter(p);position:absolute;left:0;top:2.5px;width:14px;height:14px;
|
||
background:#111;color:#fff;font-size:7pt;font-weight:800;text-align:center;line-height:14px;border-radius:2px;
|
||
}
|
||
.formula{background:#f0f0f0;border-left:2.5px solid #111;padding:4px 7px;margin:5px 0;font-size:7.8pt;line-height:1.45}
|
||
|
||
/* ladder */
|
||
.ladder td{height:19px;border-bottom:.5px solid #999}
|
||
.ladder td.num{width:16px;text-align:center;font-weight:800;font-family:"Courier New",monospace;border-right:1px solid #999;background:#f2f2f2}
|
||
.ladder tr:last-child td{border-bottom:1.5px solid #111}
|
||
.ladder tr:last-child td.num{background:#111;color:#fff}
|
||
.fill{border-bottom:.5px solid #999;height:19px}
|
||
|
||
.note{font-size:7pt;color:#444;line-height:1.4;margin-top:4px;font-style:italic}
|
||
footer{margin-top:8px;padding-top:5px;border-top:1px solid #999;font-size:6.2pt;color:#666;line-height:1.45;text-align:center}
|
||
@media print{ body{padding:0} .noprint{display:none} }
|
||
.noprint{position:fixed;top:8px;right:8px;background:#111;color:#fff;border:none;padding:8px 14px;font-size:9pt;border-radius:4px;cursor:pointer;font-family:inherit;letter-spacing:.1em}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<button class="noprint" onclick="window.print()">PRINT</button>
|
||
|
||
<header>
|
||
<h1>RUNDOWN<span class="sub">Cardless chases · Blade Runner RPG</span></h1>
|
||
<div class="lead-set">
|
||
<b>START LEAD</b> 3 close · 4 standard · 5 distant<br>
|
||
<b>6 ROUNDS</b> ~15 min · Overtime max 3
|
||
</div>
|
||
</header>
|
||
|
||
<!-- LEAD TRACK -->
|
||
<div class="box">
|
||
<h2>LEAD — mark it, move it once a round</h2>
|
||
<div class="track">
|
||
<div class="n end">0<small>ENGAGED</small></div>
|
||
<div class="n">1</div><div class="n">2</div><div class="n">3</div><div class="n">4</div>
|
||
<div class="n">5</div><div class="n">6</div><div class="n">7</div>
|
||
<div class="n end">8<small>GHOST</small></div>
|
||
</div>
|
||
<div class="tracknote"><span>◀ Pursuers gain</span><span>Prey gains ▶</span></div>
|
||
</div>
|
||
|
||
<div class="cols">
|
||
<div>
|
||
|
||
<!-- ROLES -->
|
||
<div class="box">
|
||
<h2>Roles — everyone takes one, every round</h2>
|
||
<table>
|
||
<tr><th>Role</th><th>Roll</th><th>Effect</th></tr>
|
||
<tr>
|
||
<td class="role">RUNNER</td><td class="skill">Mobility<br>Driving</td>
|
||
<td>Successes move LEAD. <span class="k">Free.</span> The default — declare nothing, you are this.</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="role">PRESSURE</td><td class="skill">Firearms<br>Manipulation<br>Connections</td>
|
||
<td>Successes move LEAD. <span class="k">1 Collateral each.</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="role">SPOTTER</td><td class="skill">Observation</td>
|
||
<td>Spend each success: negate a Toll · <span class="k">remove 1 Collateral</span> · +1 advantage die to an ally · reveal next rung.</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="role">CUTTER</td><td class="skill">Mobility<br>Driving</td>
|
||
<td><span class="k">Banks</span> successes — spend all at once later. No successes = out 1 round, bank lost.</td>
|
||
</tr>
|
||
</table>
|
||
<div class="note">Fast is expensive. Pure Runners win slowly and clean; Pressure wins fast and bills the city.</div>
|
||
</div>
|
||
|
||
<!-- PROCEDURE -->
|
||
<div class="box">
|
||
<h2>The round</h2>
|
||
<ol class="proc">
|
||
<li><b>Reveal the obstacle</b> — before anyone declares.</li>
|
||
<li><b>Prey</b> declares a role and rolls.</li>
|
||
<li><b>Pursuers</b> declare in any order and roll.</li>
|
||
<li><b>Net</b> → move LEAD.</li>
|
||
<li><b>Collateral.</b> Narrate. Next rung.</li>
|
||
</ol>
|
||
<div class="formula">
|
||
<b>SIDE TOTAL</b> = highest <u>single</u> Runner result
|
||
+ all Pressure successes + banked Cutter spent<br>
|
||
<b>NET</b> = pursuers − prey → <b>+</b> lowers LEAD · <b>−</b> raises it
|
||
</div>
|
||
<div class="note">NPC side: <b>one roll per round</b>, whatever the table size. A real edge is +1 advantage die, never an extra roll.</div>
|
||
</div>
|
||
|
||
<!-- GAMBIT -->
|
||
<div class="box">
|
||
<h2>Gambit — once each per chase</h2>
|
||
<table>
|
||
<tr><td class="k" style="width:62px">Roll</td><td>At <b>disadvantage</b>. Modifies your role roll — not an extra roll.</td></tr>
|
||
<tr><td class="k">Success</td><td><b>Double</b> your successes this round.</td></tr>
|
||
<tr><td class="k">Failure</td><td><b>Out of the chase</b>, terrain-appropriate consequence, +1 Collateral.</td></tr>
|
||
</table>
|
||
</div>
|
||
|
||
</div>
|
||
<div>
|
||
|
||
<!-- COLLATERAL -->
|
||
<div class="box">
|
||
<h2>Collateral — the city pays, never the sheet</h2>
|
||
<div class="pips"><div></div><div></div><div></div><div></div><div></div><div></div></div>
|
||
<table>
|
||
<tr><td class="k" style="width:34px">+1</td><td>each Pressure success · each failed Toll in a crowd · each failed Gambit</td></tr>
|
||
<tr><td class="k">−1</td><td>each Spotter success, same round it is generated</td></tr>
|
||
</table>
|
||
<table style="margin-top:4px">
|
||
<tr><th>Spend after</th><th>Cost</th></tr>
|
||
<tr><td class="k">1–2</td><td>Noise. Someone remembers your face.</td></tr>
|
||
<tr><td class="k">3–4</td><td>A report gets filed. LAPD attention, or the case gets harder.</td></tr>
|
||
<tr><td class="k">5–6</td><td>A body, or a burned asset. Something you needed is gone.</td></tr>
|
||
</table>
|
||
<div class="note">Never spent during the chase. Never modifies a roll. Capped at 6.</div>
|
||
</div>
|
||
|
||
<!-- OUTCOMES -->
|
||
<div class="box">
|
||
<h2>Outcomes — LEAD 0, LEAD 8, or end of round 6</h2>
|
||
<table>
|
||
<tr><td class="k" style="width:34px">0</td><td><b>ENGAGED</b> — hands on them.</td></tr>
|
||
<tr><td class="k">1–2</td><td><b>CORNERED</b> — trapped, not held. Standoff, negotiation, or a jump.</td></tr>
|
||
<tr><td class="k">3–4</td><td><b>LOST, BUT</b> — gone, and you have a direction, an object, a plate, a witness.</td></tr>
|
||
<tr><td class="k">5–7</td><td><b>GONE</b> — clean. The street remembers.</td></tr>
|
||
<tr><td class="k">8</td><td><b>GHOST</b> — you never had them.</td></tr>
|
||
</table>
|
||
<div class="note">No outcome is a dead end. LOST, BUT is the ordinary failure and it still hands you the next scene.</div>
|
||
</div>
|
||
|
||
<!-- OVERTIME + TERRAIN -->
|
||
<div class="box">
|
||
<h2>Overtime & terrain</h2>
|
||
<table>
|
||
<tr><td colspan="2" style="padding-bottom:4px"><b>OVERTIME</b> — max 3 rounds, GM's call at end of round 6. Terminator stands, no new rungs. <b>LEAD −1 at the start of each round.</b> Collateral doubled.</td></tr>
|
||
<tr><th>Terrain</th><th>Runner / Cutter · Start · Collateral</th></tr>
|
||
<tr><td class="k">Foot</td><td>Mobility · LEAD 3–4 · standard</td></tr>
|
||
<tr><td class="k">Vehicle</td><td>Driving · LEAD 4 · <b>doubled</b></td></tr>
|
||
<tr><td class="k">Spinner</td><td>Driving · LEAD 5 · <b>halved</b>, each point severe</td></tr>
|
||
</table>
|
||
<div class="note">Mixed chase: each side uses its own layer; Collateral takes the higher rate.</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<!-- LADDER -->
|
||
<div class="box">
|
||
<h2>Obstacle ladder — six rungs, in order, one per round. Rung 6 forces the ending.</h2>
|
||
<table class="ladder">
|
||
<tr><th style="width:16px"></th><th style="width:34%">Obstacle</th><th style="width:33%">Toll</th><th>Tilt</th></tr>
|
||
<tr><td class="num">1</td><td></td><td></td><td></td></tr>
|
||
<tr><td class="num">2</td><td></td><td></td><td></td></tr>
|
||
<tr><td class="num">3</td><td></td><td></td><td></td></tr>
|
||
<tr><td class="num">4</td><td></td><td></td><td></td></tr>
|
||
<tr><td class="num">5</td><td></td><td></td><td></td></tr>
|
||
<tr><td class="num">6</td><td></td><td></td><td></td></tr>
|
||
</table>
|
||
<div class="note">Toll = a roll or lose your roll this round. Tilt = who the terrain favours, usually +1 die. Mark crowded rungs [C] — a failed Toll there costs 1 Collateral.</div>
|
||
</div>
|
||
|
||
<!-- ROUND LOG -->
|
||
<div class="box">
|
||
<h2>Round log</h2>
|
||
<table>
|
||
<tr><th style="width:16px">#</th><th style="width:30%">Roles taken</th><th style="width:12%">Net</th><th style="width:12%">LEAD</th><th style="width:12%">Coll.</th><th>Note</th></tr>
|
||
<tr><td class="k">1</td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td></tr>
|
||
<tr><td class="k">2</td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td></tr>
|
||
<tr><td class="k">3</td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td></tr>
|
||
<tr><td class="k">4</td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td></tr>
|
||
<tr><td class="k">5</td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td></tr>
|
||
<tr><td class="k">6</td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td><td class="fill"></td></tr>
|
||
</table>
|
||
</div>
|
||
|
||
<footer>
|
||
RUNDOWN v1 — unofficial fan supplement. Not affiliated with, endorsed by, or sponsored by Free League Publishing
|
||
or the rights holders of Blade Runner. Requires the Blade Runner RPG core rulebook to play. Not for sale.
|
||
</footer>
|
||
|
||
</body>
|
||
</html>
|