diff --git a/README.md b/README.md index 956f839..2bea341 100644 --- a/README.md +++ b/README.md @@ -180,7 +180,7 @@ The build runs all five guards before it writes anything: ``` -check-rules: OK — 96 rules, 21 files scanned, 3 aliases + 46 constant sets checked, 306 formulas verified +check-rules: OK — 96 rules, 22 files scanned, 3 aliases + 46 constant sets checked, 306 formulas verified check-kits: OK — 25 roles, 10 trades, 218 catalogue items, every kit key resolves, every posting can use what it carries, every loadout distinct check-lang: OK — en.json, 995 keys, no leaf/branch collisions check-behaviour: OK — 67 behavioural tests diff --git a/art/scenes/tt_11_bureau.webp b/art/scenes/tt_11_bureau.webp new file mode 100644 index 0000000..48e64ce Binary files /dev/null and b/art/scenes/tt_11_bureau.webp differ diff --git a/art/scenes/tt_12_northbench.webp b/art/scenes/tt_12_northbench.webp new file mode 100644 index 0000000..48e64ce Binary files /dev/null and b/art/scenes/tt_12_northbench.webp differ diff --git a/art/scenes/tt_13_standoff.webp b/art/scenes/tt_13_standoff.webp new file mode 100644 index 0000000..48e64ce Binary files /dev/null and b/art/scenes/tt_13_standoff.webp differ diff --git a/docs/scenarios/THROUGH_TRAIN.md b/docs/scenarios/THROUGH_TRAIN.md index 469e3fa..717e3ac 100644 --- a/docs/scenarios/THROUGH_TRAIN.md +++ b/docs/scenarios/THROUGH_TRAIN.md @@ -11,62 +11,71 @@ - **System:** d100 roll-under. Special under a fifth, critical under a twentieth. 96–99 never succeed; 00 always fumbles; a 60% skill fumbles on 98–00. - **Panic is live** — 0–5, up. A trigger costs a point with no roll; relief is rolled. - **This is the case where it earns its keep.** + **This is the case where it earns its keep.** Triggers are marked per act. - **Standing Order 9 is live** — nothing modern goes through. Charge for *using*, never for carrying. Anchors are exempt. - **Runs with 4–6 agents from the duty roster.** Not the "(before)" sheets — this is the job, and it wants people who have been trained. - **The four minutes are lethal.** Webley 1d10, Martini-Henry 2d6+2, against 11–16 hit - points. **Use the exposure table** — unrestricted fire from all nine wipes the party - five times in six. + points. **Use the exposure table in Act Five** — unrestricted fire from all nine wipes + the party five times in six. - **The mission is to CLOSE it**, which releases everyone aboard into their own history — including the two men who did not survive the real four minutes. -- **Hard rule: at 2:45 on the clock, they are on the train.** +- **Hard rule: at 2:55 on the clock, they are aboard.** - **Content warnings:** gun violence at close quarters, repeatedly; entrapment and confinement; bystanders wounded on screen; a decision that lets named people die; - period hardship and labour exploitation; heights. + period hardship and labour exploitation; heights; a sibling present at a death. --- ## Overview -- **Setting:** Mercy Draw, Nevada — present day, and 3–4 November 1881. +- **Setting:** the Bureau, present day — then Cordera, Nevada Territory, 4 November 1881. - **Tone:** Procedural, then unbearable. It is a paperwork error with sixty-one people inside it. -- **Runtime:** 3h30 play + a 10 minute break. -- **The crossing:** opens at 11:40 every day, for about four minutes, on the grade. +- **Runtime:** 4h00 including a 10 minute break. +- **The crossing:** opens at 11:40 every day, for about four minutes, on the grade at + Mercy Draw. ### Design intent 1. **The supernatural is science fiction underneath.** Nobody is dead, nothing is haunting anybody, and the whole event has a mechanism the players can understand and explain back. If a table leaves thinking "ghost train", it has been run wrong. -2. **The obstacle is a physical problem, not a mystery.** They will know what is - happening by the end of Act One. Acts Two and Three are about a train that cannot - stop and an arithmetic that cannot be beaten. -3. **Standing Order 9 is the tutorial.** One shot at a time, no radio, a lantern that - runs out. The period kit *is* the difficulty setting, and it is the scene where - players learn what kind of game this is. -4. **The ending is a decision priced on both sides**, with no roll and no correct +2. **Act One is the induction.** For most tables this is the first hour they have ever + spent in the department. They should leave it knowing the building, the standing + order, what an anchor is, and who signs for them. +3. **The train has to be found.** They arrive where the paperwork says the railway is, + which is a bench of empty ground. Act Two is an investigation with a map at the end + of it, not a corridor. +4. **Standing Order 9 is the difficulty setting.** One shot at a time, no radio, a + lantern that runs out. The period kit *is* the tutorial. +5. **The ending is a decision priced on both sides**, with no roll and no correct answer, taken in front of a woman holding a manifest. -5. **There is a fight, and there is no villain in it.** Two armed parties, both with - genuine paper, both convinced the others are robbers. The players can survive it, - shape it and pull people out of it. They cannot end it — only the brakes end it. +6. **There is no villain anywhere in this case.** Not in town, not on the train. Two + armed parties aboard, both with genuine paper. A crew of unpaid miners in Cordera who + are right to be suspicious. The players can survive all of it and shape some of it. + They cannot make anybody wrong. --- ## Session Timing -| Section | Time | Cumulative | Checkpoint | +| Act | Time | Cumulative | Checkpoint | |---|---|---|---| -| Briefing — the standing order | ~20 min | 0:20 | kit swapped, somebody has complained | -| Act One — Mercy Draw, now | ~50 min | 1:10 | they know it is a survey fraud, and they have heard 11:40 | -| *Break* | *10 min* | *1:10* | lands on the whistle | -| Act Two — Cordera, 1881 | ~70 min | 2:20 | they are on the train | -| Act Three — Aboard | ~50 min | 3:10 | they have decided | -| Epilogue — the register | ~20 min | 3:30 | sixty-one names, written down | +| **One** — The Bureau | ~35 min | 0:35 | kit swapped, anchors issued, somebody has complained | +| **Two** — Cordera, and where the train went | ~50 min | 1:25 | they know where the line actually is, and when it passes | +| *Break* | *10 min* | *1:35* | — | +| **Three** — Rance Doyle's men | ~35 min | 2:10 | resolved one way or another; they still have a route to the Draw | +| **Four** — Getting aboard | ~45 min | 2:55 | **they are on the train** | +| **Five** — The four minutes | ~50 min | 3:45 | they have decided | +| Epilogue — the register | ~15 min | 4:00 | sixty-one names, written down | -**Hard rule:** at 2:45 they are aboard, by the department's wagon if not by their own wit. +**Hard rule:** at 2:55 they are aboard, by the department's wagon if not by their own wit. + +**If you are running short:** cut the town down to the telegraph office and the +roundhouse (Act Two), and play Act Three as a single street confrontation with no fight. +**Never cut the boarding.** --- @@ -94,7 +103,17 @@ three seconds old**. a train; it captured four minutes, and those four minutes contain two armed parties shooting the length of car three. It has run about two million times. -### The two sides — and neither is the villain +### Why the agents arrive in the wrong place + +**The crossing opens where the record says the line is: the north bench.** It has to — +that is the wrongness it is made of. Agents step off a real grade in the present and step +out onto a bench of empty scrub in 1881, with no rails, no ballast and no Draw in front +of them. + +This is not a trick played on them. **It is the case, stated as geography**, and a party +that works out why they came out where they did has solved half of Act Two. + +### The two sides aboard — and neither is the villain | | Who | What they have | What they believe | |---|---|---|---| @@ -122,13 +141,15 @@ of November 1881 resumes from 11:44, and every person aboard walks forward into they would have had. **Including the ones who did not survive the real four minutes.** History resumes as -history: Josiah Ambrose and a miner named Doyle died in that gunfight, and when the loop -lets go they die in it. Not because the agents killed them — because that is what -happened, and it has been prevented from happening for a hundred and forty-five years. +history: Josiah Ambrose and a miner named **Tom Doyle** died in that gunfight, and when +the loop lets go they die in it. Not because the agents killed them — because that is +what happened, and it has been prevented from happening for a hundred and forty-five +years. **That is the weight of this ending and it is the whole point.** The agents are not choosing who lives. They are choosing to stop holding history still, and they will have -met the people it lands on. +met the people it lands on — and, if Act Three went a certain way, the brother of one of +them. The department's position is unambiguous: **close it.** A crossing held open by a repeating event degrades, and when it fails on its own — Registry's read is within a @@ -147,47 +168,53 @@ direct question honestly because he has been waiting a very long time to be aske | 12 Apr 1881 | Vane files the survey. North bench. | | Apr–Oct 1881 | Line laid on the south bench. Six months of paperwork says otherwise. | | **3 Nov 1881, 11:40** | The record gives way, with No. 9 inside it. | +| 3 Nov, evening | Cordera learns No. 9 never reached Fallon. | +| **4 Nov 1881** | **Play begins on this day.** Ambrose and five men have been gone a day. | | 1889 | Rails lifted. The grade is still there. | | 1974, 1991, 2009 | Three departmental attempts. No survivors. All tried to stop it. | -| Every day, 11:40 | The crossing opens on the grade for about four minutes. | +| Every day, 11:40 | The crossing opens on the north bench for about four minutes. | ### Revelations -| # | Revelation | -|---|---| -| R1 | The filed survey puts the line on the north bench | -| R2 | There has never been a railway on the north bench | -| R3 | Six months of paperwork repeated it | -| R4 | The dispatcher's book has no 11:45 entry | -| R5 | The 11:40 sound is a train working *up* a grade — always accelerating | -| R6 | Nobody aboard is dead, and by their clocks it has been nine hours | -| R7 | The running is what holds the crossing open | -| R8 | Coal that should have lasted four hours has lasted a hundred and forty-five years | -| R9 | Kell will stop if told to, out loud, to his face — and only then | -| R10 | Vane signed it, and knows exactly what stopping it costs | -| R11 | The four minutes contain a gunfight, and it repeats exactly | -| R12 | Both sides have genuine paper, and the company sold the money twice | -| R13 | Closing it releases everyone into their own history — including the two who die in it | +| # | Revelation | Where | +|---|---|---| +| R1 | The filed survey puts the line on the north bench | Act One handout | +| R2 | There is no railway on the north bench — they are standing on it | Act Two, automatic | +| R3 | The line is on the **south** bench, four miles out | Act Two | +| R4 | Six months of paperwork repeated the wrong one | Act Two | +| R5 | The dispatcher's book has no 11:45 entry | Act Two | +| R6 | No. 9 went into the Draw and did not come out | Act Two | +| R7 | Something still passes the Draw, roughly every forty minutes | Act Two | +| R8 | Ambrose took five men out to serve a writ on it, and none came back | Act Three | +| R9 | The sound is a train working *up* a grade — always accelerating | Act Four | +| R10 | Nobody aboard is dead, and by their clocks it has been nine hours | Act Five | +| R11 | The running is what holds the crossing open | Act Five | +| R12 | Coal that should have lasted four hours has lasted a hundred and forty-five years | Act Five | +| R13 | The four minutes contain a gunfight, and it repeats exactly | Act Five | +| R14 | Both sides have genuine paper, and the company sold the money twice | Act Five | +| R15 | Kell will stop if told to, out loud, to his face — and only then | Act Five | +| R16 | Closing it releases everyone into their own history — including the two who die in it | Act Five | --- ## Player Experience -You are handed a Webley, a single-shot rifle, an oil lantern and a pocket watch, and told -that the handset stays behind. Then you stand in a dry wash in Nevada at 11:38 in the -morning and listen to a train you cannot see work a grade that has had no rails on it -since 1889. By lunchtime you know it is a survey fraud from 1881. By the evening you are -lying on the top of a water tower waiting for forty seconds of slow track, and after that -you are in a warm carriage that smells of coffee, being asked by a conductor with a -manifest whether you are from the company. She has counted sixty-one every hour for a -hundred and forty-five years. She would like that noted. +You sign a form in a building with no sign on it, and a storeman takes your phone off you +and gives you a revolver that holds six. Then you step off a railway embankment in Nevada +and come out on the wrong side of a valley in 1881, where there is no railway at all. It +takes you an afternoon and an argument with a dozen unpaid miners to find out where the +line actually is. By evening you are lying on the top of a water tower waiting for forty +seconds of slow track, and after that you are in a warm carriage that smells of coffee, +being asked by a conductor with a manifest whether you are from the company. She has +counted sixty-one every hour for a hundred and forty-five years. She would like that +noted. --- ## The Countdown — the crossing clock (0–6) -Move it on **each pass of the train**, when **somebody uses a modern object across**, and -on a **fumbled boarding attempt**. +Move it on **each pass of the train the agents watch go by**, when **somebody uses a +modern object across**, and on a **fumbled boarding attempt**. | Clock | What | |---|---| @@ -199,34 +226,103 @@ on a **fumbled boarding attempt**. | 5 | One pass left, and everybody can tell. | | 6 | It closes, with whoever is aboard. | +**Act Three does not move the clock.** Whatever happens with Rance Doyle's men, it +happens in a town four miles from the Draw and the crossing does not care. + --- ## Handouts | ID | Description | When | |---|---|---| -| TT-H01 | Case brief TT-004 | Briefing | -| TT-H02 | **Standing Order 9** — period crossings | Briefing | -| TT-H03 | Issue list, 1881 | Briefing | +| TT-H01 | Case brief TT-004 | Act One | +| TT-H02 | **Standing Order 9** — period crossings | Act One | +| TT-H03 | Issue list, 1881 | Act One | | TT-H04 | **The filed survey** — the line on the north bench | Act One | -| TT-H05 | Working timetable and the dispatcher's book | Act One | -| TT-H06 | **Passenger manifest** — sixty-one souls, nine children | Act Three | -| TT-H07 | **Letter of engagement** — found on Merritt | Act Three, when searched | -| TT-H08 | **Writ of attachment** — found on Ambrose | Act Three, when searched | +| TT-H05 | Company notice — No. 9 overdue, reward offered | Act Two | +| TT-H06 | Working timetable and the dispatcher's book | Act Two | +| TT-H07 | **The writ men's list** — six names, in Ambrose's hand | Act Three | +| TT-H08 | **Passenger manifest** — sixty-one souls, nine children | Act Five | +| TT-H09 | **Letter of engagement** — found on Merritt | Act Five, when searched | +| TT-H10 | **Writ of attachment** — found on Ambrose | Act Five, when searched | -The two papers are the ambiguity, and they only mean anything **held in the same hand**. +**H09 and H10 are the ambiguity, and they only mean anything held in the same hand.** Give them separately and let the table put them together. -The manifest is deliberately held back to Act Three. It is a list of names, and the -players should not be holding it until the moment it starts to weigh something. +**H07 is the wiring between the acts.** It is a list of six names written by a man the +players have not met. In Act Five they will be standing in a car with all six of them. +Hand it over in Act Three and never mention it again. + +The manifest is held back to Act Five. It is a list of names, and the players should not +be holding it until the moment it starts to weigh something. --- -## Briefing — the standing order *(~20 min)* +# Act One — The Bureau *(~35 min)* -> You will be crossing to November 1881. Nothing you are carrying goes with you. Stores -> has laid out what you may take instead, and I would ask you not to argue with the -> storeman, because he is right and you are in a hurry. +> **Goal:** they learn where they work, what an anchor is, why the phone stays behind, +> and what the case is. + +> Read aloud or paraphrase: +> +> The building has no sign on it. It has a commissionaire, a lift that only goes to four +> of the six floors, and a smell of floor polish and old paper that you will come to know +> very well. Somebody has left a birthday card going round the third floor for a woman in +> Accounts. You are here because a train has been missing since 1881, and it is Tuesday. + +**Play this as an ordinary morning at an ordinary job.** The horror in this game is that +the paperwork is real. Nobody is portentous. Nobody explains that the world is stranger +than they know. + +### The four stops + +Run these as four short beats. Let the players wander between them; do not queue them up. + +| Stop | Who | What happens | +|---|---|---| +| **The desk** | a commissionaire with a ledger | They sign in. Names, times, and their **anchor numbers**. He will not be hurried. | +| **Registry** | **Mr Bewley** | The case. The survey. The three previous attempts. | +| **Stores** | **Mr Prosser** | The kit swap, and the argument. | +| **Medical** | a nurse, briskly | Anchors issued. Two minutes. Do not make a scene of it. | + +### Registry — the briefing + +**Mr Bewley has the file and would prefer the players read it.** Give **TT-H01** and +**TT-H04** and let them ask. + +What he will say, if asked: + +- **The crossing opens on the grade at Mercy Draw, Nevada, at 11:40, for about four + minutes.** It has done so every day for as long as the department has watched it. +- **A train is inside it.** Cordera & Western No. 9, five cars, out of Cordera on 3 + November 1881, never arrived at Fallon. +- **Sixty-one people, by the manifest.** He will not hand the manifest over yet, and if + pressed he says so plainly: *"You will read it aboard. It reads differently there."* +- **Three attempts are on file** — 1974, 1991, 2009. **No survivors. All three tried to + stop it.** He does not know why that failed and he says so. +- **The order is to close it.** A crossing held open by a repeating event degrades. When + it fails on its own — his read is within the year — everyone inside is lost outright. +- **The survey is the case.** *"Bring me the paper. The paper is the case."* + +> **The one thing Bewley gets wrong.** He believes the crossing puts you on the grade. +> Every previous team went in expecting to arrive beside the line. **Do not correct +> this.** It is on the file wrong, and the file is what they have. + +**[CUS: Research or Insight]** on the file: the three previous attempts all logged their +last position as *"the north bench"*, which nobody has ever queried because nobody has +ever come back to be asked about it. **Optional. It is a very good catch and it should +feel like one.** + +### Stores — Standing Order 9 + +**Give TT-H02 and TT-H03.** Mr Prosser has laid the kit out on a counter and he is not +interested in negotiation. + +> Read aloud or paraphrase: +> +> Nothing you are carrying goes with you. I have laid out what you may take instead. You +> may argue with me if you like, but I have been doing this for nineteen years and you +> have been doing it since Thursday. **Nothing modern goes through.** Give both reasons: @@ -239,9 +335,11 @@ players should not be holding it until the moment it starts to weigh something. **Charge for using, never for carrying.** A player who smuggles a torch across and never switches it on has made a good decision and should get away with it. -**The anchor is exempt.** Everybody keeps theirs. +**The anchor is exempt.** Everybody keeps theirs. If nobody asks what an anchor is, the +nurse tells them: *it is the department's record that you exist and belong here, and it +is the reason you can come back.* -### The 1881 issue +#### The 1881 issue | Instead of | They get | |---|---| @@ -253,106 +351,325 @@ switches it on has made a good decision and should get away with it. | medkit | **chirurgeon's roll** and **laudanum** | | phone and GPS | **brass compass**, **pocket watch**, **spyglass** | +Plus **period coin**, which will matter in Cordera, and **iron manacles**, which will not. + +### Failure case for Act One + +**There isn't one.** Nobody can fail the Bureau. If the table is quiet, cut to Prosser +taking somebody's phone out of their hand and move on. **If it is running long at 35 +minutes, stop it** — the case is on the handouts and they can read on the drive. + +**Panic:** no triggers in Act One. Say the word "panic" once, explain the track in two +sentences, and leave it. + --- -## Act One — Mercy Draw, now *(~50 min)* +# Act Two — Cordera, and where the train went *(~50 min)* -> **Goal:** find the fraud, hear the train, understand it is on a timetable. +> **Goal:** find out where the line actually is, that something still passes it, and when. -Nevada. A dry wash four miles long with a railway grade along the south side. Rails -lifted in 1889; ballast and tie marks still there. Your watch says 11:38. +### The crossing -- **The south bench** — the grade, real and obvious. -- **The north bench** — nothing, and never anything. `[CUS: Spot or Engineering]` -- **The water tower footing**, half a mile up at the top of the grade. *Remember it.* -- **11:40.** A whistle a long way off, then four minutes of a train working a grade, - getting no nearer. **Automatic — nobody rolls for this.** +Mercy Draw, Nevada, 11:38. A dry wash four miles long. The grade runs along the **south** +side — ballast and tie marks, rails lifted in 1889. **The crossing does not open there.** + +It opens on the **north bench**: a strip of empty scrub on the wrong side of the wash, +where no railway has ever been. + +> Read aloud or paraphrase: +> +> The air over the north bench goes wrong at 11:40 — not shimmering, *creased*, like a +> page folded and opened again. Somewhere behind it a whistle sounds, a long way off, and +> a locomotive starts working a grade. You cannot see it. It does not get any nearer. + +**Everybody crosses. Nobody rolls for it.** + +> **The four minutes is the door, not the visit.** The crossing is *openable* for four +> minutes at 11:40 — that is the window to step through. Once across, the agents are in +> 1881 for as long as the crossing clock holds, which is an afternoon and an evening, not +> four minutes. **Say this to the table the moment somebody starts counting seconds.** +> The clock at 6 is the deadline, and it is measured in passes of the train, not minutes. + +> Read aloud or paraphrase: +> +> The other side is the fourth of November, 1881, at about four in the afternoon, and it +> is twenty degrees colder. You are standing on a bench of scrub and sage on the north +> side of a dry wash. There is no railway here. There is no railway anywhere you can see. + +**R2 is automatic and it should land hard.** They came out where the chart said the +railway was. The chart is in their hands. **[CUS: Navigate or Engineering]** confirms in +one roll that nothing has ever been built here — no cut, no fill, no ballast, nothing. + +**Cordera is visible**, about three miles south-west: smoke, a water tank, a grid of +roofs. + +### Cordera + +**A railroad and mining town of about eighteen hundred.** Woodsmoke, horses, coal dust, +and mud that freezes at night. Nobody is frightened yet. A train went missing yesterday +and the town is treating it as a company problem, which is to say somebody else's. + +**Nobody here can help them stop it, and almost everybody will help them get near it.** +The company wants its train back. Let the players use that. + +| Location | Who | What is here | +|---|---|---| +| **The company office** | a harried dispatcher | Orders on spikes, the working timetable, **the original survey in a drawer** | +| **The telegraph office** | **Ada Reyes** | The dispatcher's book, and the only person in town who is ahead of it | +| **The roundhouse** | fitters, a foreman | Men who know the road. One of them walked the Draw this morning and will not go back. | +| **The Bullion** (saloon) | everybody | Talk, and the wrong kind of attention. **This is where Act Three finds them.** | +| **The livery** | a liveryman who wants paying | Horses. This matters in Act Four. | +| **The assay office** | a clerk | The company's notice, and the reward. | ### Clue trail | # | Clue | How found | Type | |---|---|---|---| -| 1 | The filed survey puts the line on the **north** bench | **Automatic** — it is a handout with a line drawn on it | Essential | -| 2 | There has never been a railway on the north bench | **Automatic** to anyone who walks it | Essential | -| 3 | Six months of paperwork all say north bench | `[CUS: Research]`, or Registry provides | Essential | -| 4 | No 11:45 entry in the dispatcher's book | `[CUS: Research]` | Essential | -| 5 | E. Vane, surveyor, is on the manifest | `[CUS: Research]` | Optional | -| 6 | Three previous attempts, no survivors, all tried to stop it | Registry, if asked | Optional | -| 7 | The sound is a train *accelerating* up a grade | `[CUS: Listen or Engineering]` | Optional | +| 1 | There is no railway on the north bench, and never has been | **Automatic** — they are standing on it | Essential | +| 2 | The line is on the **south** bench, four miles out | Anyone in town, for the asking. **Automatic to a single question.** | Essential | +| 3 | No. 9 left Cordera 3 Nov and never reached Fallon | **Automatic** — it is the talk of the town, and it is on **TT-H05** | Essential | +| 4 | The filed survey and the built line disagree | Compare **TT-H04** with the ground or the drawer copy — `[CUS: Engineering, or automatic if they simply look]` | Essential | +| 5 | Six months of orders all say north bench | `[CUS: Research]` at the company office, on the spiked orders | Essential | +| 6 | **Something still passes the Draw, roughly every forty minutes** | The roundhouse man, or `[CUS: Listen]` within a mile of the wash | **Essential** | +| 7 | No 11:45 entry in the dispatcher's book | `[CUS: Research]`, or Ada Reyes volunteers it if treated civilly | Optional | +| 8 | Ada has sent the same query up the line forty times | Talk to her | Optional | +| 9 | E. Vane, surveyor, was aboard | `[CUS: Research]` on the waybills | Optional | +| 10 | Six men went out yesterday to serve a paper on the train | The saloon, `[CUS: Insight]` or buying a drink | Optional — **and it is the hook into Act Three** | -**Fallbacks.** 1 and 2 are the handout and the ground. 3 and 4 arrive from Registry by -telephone at the twenty-minute mark if nobody goes looking — Bewley is thorough and -slightly impatient. +**Clue 6 is the one the act exists for.** If they have not got it by 1:15, the roundhouse +foreman comes and finds *them*: a section hand called **Tobin Cray** walked out to the +Draw at first light to look for No. 9, heard it coming, and came back without looking. -**They cannot board at this end.** Too fast, grade against them. Let them try: a bruise, a -lesson, and the clock moves one. +> Read aloud or paraphrase: +> +> I heard her working the grade, mister. Steam and rods and all of it, close enough to +> throw a stone at. There's nothing on that line. I stood there till it came round again +> and then I stopped standing there. -> **Fast-track at 1:10:** the 11:40 comes round again and the door stays open long enough -> to walk through. That is what degrading looks like. +**Fallbacks.** Clues 1 and 3 cannot be missed. Clue 2 is one question to one person. If +the party stalls on 4 or 5, the dispatcher — who wants his train found — puts the filed +survey in their hands himself and asks them what they make of it. + +**Money.** Period coin from Stores buys drinks, a room, a liveryman's goodwill and a +roundhouse man's hour. **A party that tries to pay with anything else has used a modern +object across:** 1 Coherence, and the clock moves. + +**Panic triggers in Act Two:** +- **Arriving on ground that should have a railway on it and does not** — 1 point, if a + player wants it. Offer; do not force. +- **Hearing the train pass with nothing on the line** — 1 point, and this one is not + optional for anyone who goes and listens. + +### Failure case + +**They cannot fail to find the Draw** — the town will tell them where the line is. What +they can fail to do is find out that something still runs on it, and the roundhouse +fallback covers that. **If Act Two overruns, cut the assay office and the saloon talk and +let Act Three come to them.** --- -## Act Two — Cordera, 1881 *(~70 min)* +# Act Three — Rance Doyle's men *(~35 min)* -> **Goal:** the far side, the standing order in practice, and the boarding. +> **Goal:** a town-side obstacle with the same shape as the one on the train, and a name +> the players will meet again. -The fourth of November, 1881. A town of four hundred that smells of woodsmoke and horses. -Nobody is frightened yet — a train went into the Draw yesterday and has not come out, and -the wire says it never arrived. +**One-line essence: Rance Doyle wants his brother back, and the agents look exactly like +the people who took him.** -- **The company office** — dispatcher, orders on spikes, the original survey in a drawer. -- **The livery** — horses. This matters. -- **Ada Reyes**, telegraph, who has sent the same query forty times and has noticed the - missing 11:45. -- **The Draw**, four miles out. The train passes about every forty minutes. +### What is actually going on -**Nobody in 1881 can help them stop it, and everybody will help them get near it.** The -company wants its train back. Let the players use that. +Eleven weeks ago the Cordera & Western stopped paying the mine. Nine days ago **Josiah +Ambrose** got a writ of attachment out of a territorial judge in Fallon against the +company payroll. **On 3 November he and five men went out to serve it on No. 9**, and +none of them came back — because the train did not come back. -### The set-piece — getting aboard +The company's response was to post a **notice** (**TT-H05**) calling No. 9 overdue, +offering a reward for information, and naming Ambrose's six as wanted for interfering +with company property. There is a **company detective in town**, **Mr Shard**, buying +drinks and asking who was friendly with the writ men. -The train cannot stop and cannot be flagged. The only way on is to **match its speed**, -and the only place it is slow is **the top of the grade at the water tower** — about eight +**Then five strangers arrive in coats that do not fit, with money, asking about the +train.** + +**Rance Doyle is not stupid and he is not wrong to draw the conclusion he draws.** + +### The confrontation + +**Where:** the street outside The Bullion, or the livery, or wherever the party is when +the act needs to start. **Six men**, Rance at the front, two with revolvers, one with a +shotgun, three with what was to hand. + +> Read aloud or paraphrase: +> +> There are six of them and they have arranged themselves across the street in the way +> men do when they have talked about it first. The one at the front has a face like his +> brother's, which you have no way of knowing yet. He says: *"You've been asking after the +> train. So've we. Ours went out on it."* + +**Rance wants three things, in this order:** to know where his brother is, to know +whether the agents are Shard's, and to be taken seriously. + +### How this resolves + +**There is no roll that makes this go away, and there is no roll that makes it a fight.** +It resolves on what the players say. + +| They do | What happens | +|---|---| +| **Tell him the truth** — the train is still out there, still running, and they are going to it | **It works. No roll.** He believes them, because it matches what Cray said and nothing else has. He wants to come. | +| **Show him TT-H04 or explain the survey** | Works as well as the truth, and faster. He cannot read a chart, but he can tell when somebody is not performing. | +| Deny everything, stonewall, pull rank | `[CUS: Fast Talk or Persuade — difficult]`. Success buys an exit, not an ally. Failure goes to the standoff below. | +| **Claim to be from the company, or get caught lying** | Straight to the standoff, and Rance's men mean it | +| Draw first | The standoff, immediately, and the agents started it | + +### The standoff — and what losing costs + +**Rance's men are not trying to kill anybody.** They intend to take the agents somewhere +quiet and find out what they know. **Run it as a fight that stops early.** + +- **Rance calls it off the moment one of his men goes down**, or one of the agents does. + He has already lost a brother this week. +- **A downed agent is captured, not killed.** The dying rules apply and Rance's men will + fetch a doctor, because they are not murderers and they know what a murder charge does + to a strike. + +**MEASURED, 400 runs each, four duty-roster agents against the six:** + +| The agents | Result | +|---|---| +| **From cover, and Rance folds early** | 0.4 of 4 hurt, effectively nobody down, over in about 2 rounds | +| **In the open, and Rance folds early** | 1.25 of 4 hurt, one party in eight loses somebody to the floor | +| **Shoot to kill — fought to the finish** | **1.75 of 4 down, ten rounds, and the party is wiped in 24% of runs** | + +> **The early stop is what makes this act survivable, not the miners being weak.** Six +> armed men fought to a finish are as dangerous as the payroll box in Act Five — nearly +> one party in four does not walk out of the street. **If the agents start executing +> people, do not quietly soften it.** Let Rance's men fight for their lives, and let the +> table find out that a frontier mining town's grievance crew is not a random encounter. + +**Losing the standoff costs them the 1881 issue.** Rance's men take the Webleys, the +Martini, the spyglass and the coin, and hold the agents in a back room for two hours. +**Nobody dies and nothing is unrecoverable** — but Act Four now starts with an unarmed +party, and Act Five is a gunfight. **Say this cost out loud before the first shot**, the +way you say the payroll-box row in Act Five. + +**Getting the kit back:** ask Rance for it, once they have told him the truth. He returns +it, minus the coin, which has been spent. + +### Rance wants to come + +**This is the important part of the act and it is easy to miss.** + +Once he believes them, **Rance Doyle asks to come to the Draw**, and he will follow at a +distance if refused. He is a fit, angry, useful man with a horse and no idea what he is +walking towards. + +| The players | What it buys, what it costs | +|---|---| +| **Take him as far as the Draw** | The default. He knows the ground, he gets them horses, and he stands on the bench and watches. | +| **Take him aboard** | He is competent in the four minutes — and **he is in car three when his brother is shot, every pass.** Then they have to tell him what closing it does. **Powerful, and only run it if the table can hold it.** | +| **Refuse him** | He follows anyway, arrives late, and is on the bench at the end. | +| **Never tell him anything** | He is in the crowd at the epilogue asking a Registry man questions nobody will answer. | + +**Give TT-H07 here** — the list of six names in Ambrose's hand, which Rance has carried +in his coat since Thursday. **Do not explain it.** In Act Five they will be standing in a +car with all six. + +**Panic triggers in Act Three:** +- Being taken and held — 1 point to anyone disarmed and locked in. +- Nothing else. **This act is meant to be a hard hour in an ordinary world**, not a + supernatural one. + +### Failure case + +**If the table talks its way out in five minutes, that is a win and you have thirty +minutes back** — spend them on Act Four, which always wants more. **If it goes to a +fight and stalls,** Shard's arrival with two hired men breaks it up: everybody scatters, +and now the agents owe Rance nothing and know nothing. + +--- + +# Act Four — Getting aboard *(~45 min)* + +> **Goal:** the Draw, the arithmetic of a train that cannot stop, and forty seconds of +> slow track. + +Four miles out. The line is on the south bench, exactly where the chart says it is not. + +> Read aloud or paraphrase: +> +> The Draw is a dry wash a quarter-mile across with a made grade running the length of the +> south side. There is nothing on the line. At eleven minutes past the hour you hear a +> whistle, and then a locomotive working hard up the grade towards you, and the sound goes +> past at about thirty miles an hour, and there is nothing there. Four minutes later it is +> quiet, and your watch says it will do it again at ten to. + +**It passes roughly every forty minutes.** Let them watch two passes before they commit +to anything. **Each pass they watch moves the crossing clock one.** + +**R9 — the sound is a train *accelerating*, always** — is `[CUS: Listen or Engineering]`, +or free to anybody who was at the roundhouse. + +### What they are up against + +**The train cannot stop and cannot be flagged.** Thirty miles an hour on the level, and +the only place it is slow is **the top of the grade at the water tower** — about eight miles an hour, for perhaps forty seconds. -1. **Ride it down.** Horses alongside on the bench, step across. `[CUS: Ride, then - Athletics]` — and the horse needs its own Ride roll to go near the train at all. -2. **Drop from the tower.** Twelve feet onto a moving roof. `[CUS: Athletics — average; - **only a fumble is a fall**]`. **Do not make this difficult** — playtested at halved - skill it put four agents on 12–31% and all four missed, which stalls the one scene the - scenario is built around. -3. **The wagon on the grade.** Four horses, a plank across. Slowest to arrange, safest to - cross, and it needs the company's help. +**The water tower is half a mile up the grade** and it is still standing in 1881, which +it will not be in the present day. Anybody who looks at the ground sees the answer. + +### The three routes + +**Say which route suits whom, out loud, before they choose.** + +| Route | Roll | Suits | +|---|---|---| +| **Drop from the tower** — twelve feet onto a moving roof | `[CUS: Athletics — average; **only a fumble is a fall**]` | Containment, the criminal, the Field Lead | +| **Ride it down** — horses alongside on the bench, step across | `[CUS: Athletics — difficult]`. **A local does the riding** — Rance, one of his men, or the liveryman. No agent from 2026 rides well enough to bring a horse alongside a moving train. | Nobody, really. It is the fast option and the worst one. | +| **The wagon on the grade** — four horses, a plank across | `[CUS: Athletics — easy]`, slowest to arrange, needs the company's or Rance's help | **The doctor and the Registry officer** | + +**There is no Ride skill in this game and the agents do not have one.** Any horse work +is done by a local who is doing the players a favour, and the agent's roll is only for +the step across. Say so plainly the moment somebody suggests horses. **The wagon is easier than the tower, and the tower is easier than the horses.** A party -that spends an hour arranging the wagon has bought an easy roll and should get one. +that spends twenty minutes arranging the wagon has bought an easy roll and should get one. -**Say which route suits whom, out loud, before they choose.** Athletics on a duty-roster -sheet runs from about 25% to 60%, and the split is not subtle: the Containment officer and -the criminal take the tower, the Field Lead can, and **the doctor and the Registry officer -should be on the wagon**. Playtested by putting all five on the tower: two missed twice, -had to be carried across on the department's plank, and became passengers in their own -set-piece — at a cost of two passes on the clock. +> **Do not make the tower difficult.** Playtested at halved skill it put four agents on +> 12–31% and all four missed, which stalls the one scene the scenario is built around. +> Playtested with all five on the tower: two missed twice, had to be carried across on +> the department's plank, and became passengers in their own set-piece. -**Everybody has to get on.** A failed attempt gets the next pass, forty minutes later, and -the clock moves — not a full stop. +**Everybody has to get on.** A failed attempt gets the next pass, forty minutes later, +and the clock moves — not a full stop. **Panic:** boarding is worth a point to anybody who wants one. Offer it; do not force it. -> **At 2:45 they are aboard.** If two attempts have failed, the department's second wagon +> **At 2:55 they are aboard.** If two attempts have failed, the department's second wagon > arrives with two more agents and a plank, and the players owe somebody a favour. +### Failure case + +**They cannot fail this act, only pay for it.** Every failure is forty minutes and a +click of the clock. If the clock reaches 5 during Act Four, tell them plainly: **one +pass left.** + --- -## Act Three — Aboard, and the four minutes *(~50 min)* +# Act Five — The four minutes *(~50 min)* > **Goal:** survive a gunfight nobody started for their benefit, work out that it repeats, > and close the crossing anyway. -> It is warm. That is the first thing. Sixty-one people in five cars, and it smells of -> bodies and coal smoke and coffee. Somebody has organised a rota for the water. A child -> is asleep across two seats with a coat over her. They look up when you come through the -> door, and one of them says: *"You want to be somewhere else in about six minutes."* +> Read aloud or paraphrase: +> +> It is warm. That is the first thing. Sixty-one people in five cars and it smells of +> bodies and coal smoke and coffee, and somebody has organised a rota for the water. A +> child is asleep across two seats with a coat over her. They look up when you come +> through the door, and one of them says: *"You want to be somewhere else in about six +> minutes."* | Where | What | |---|---| @@ -363,6 +680,8 @@ the clock moves — not a full stop. | Car four | Freight, the payroll box bolted down, the signed survey in the satchel | | Car five | **Elias Vane**, alone, watching the line come out from under | +**Give TT-H08, the manifest, when Hester Bligh first speaks to them.** + ### The four minutes Starts on the whistle for the grade. Run it in rounds. **It is the same four minutes every @@ -371,10 +690,15 @@ time** — same men, same shots, same two passengers hit in the second minute. | Minute | What happens if nobody interferes | |---|---| | 1 | Ambrose's five come forward from car four. Merritt's four are at the front of car three. Somebody shouts *put it down*; both sides think they said it. | -| 2 | First volley. **Two passengers are hit** — a miner named Doyle, and Mrs Danforth's arm. Every time. | +| 2 | First volley. **Two passengers are hit** — **Tom Doyle**, and Mrs Danforth's arm. Every time. | | 3 | Merritt falls back to the car four door and holds it. Ambrose takes the overturned seats. Everybody reloads: a Webley is six, a Martini is one. | | 4 | Ambrose reaches the box. Merritt shoots him through the door. The whistle sounds, and it resets. | +> **If Rance came aboard**, he is in car three from minute one and he has seen his +> brother. He will go to him. **He cannot be talked out of it and he cannot be hurt** — +> he is not part of the loop, so he *can* be shot, and the exposure table applies to him +> as to any agent. **Play him as a man with no interest at all in the mission.** + ### HOW MUCH FIRE THE AGENTS DRAW — read before running it **The two sides are shooting at each other, not at the agents.** Getting this wrong turns @@ -455,14 +779,14 @@ Seven of the ten duty-roster agents have neither Persuade nor Status trained; pl three separate attempts on Kell all failed and the scenario had no way to end. **When the brakes go on, the loop lets go.** Four minutes finish for the first time since -1881. Doyle and Ambrose do not get up. They never did. +1881. Tom Doyle and Josiah Ambrose do not get up. They never did. ### The choices — no roll resolves this | Choice | What it costs | |---|---| | **Close it as ordered** | The mission, done. Fifty-nine released into their own century. Two men die of wounds taken in 1881, in 1881. | -| **Close it, having pulled Doyle and Mrs Danforth clear** | Works for those two. Nobody can save Ambrose — only stopping the train stops Merritt shooting him, and stopping the train is what kills him. | +| **Close it, having pulled Doyle and Mrs Danforth clear** | Works for Mrs Danforth. **It does not save Tom Doyle** — he is shot again on every pass they spend arranging it, and the wound that kills him is the one from the pass they stop on. Nobody can save Ambrose: only stopping the train stops Merritt shooting him, and stopping the train is what kills him. | | **Try to end the fight first** | Admirable, probably impossible. Every pass spent trying moves the crossing clock; at 6 it closes with everyone inside. | | **Refuse, leave it running** | Everyone lives, for a value of living four minutes long. It fails inside a year and then nobody is released at all. | @@ -476,34 +800,46 @@ three separate attempts on Kell all failed and the scenario had no way to end. --- -## Epilogue — the register *(~20 min)* +## Epilogue — the register *(~15 min)* A Registry room, a form, and somebody writing down sixty-one names. | Ending | What the register says | |---|---| | **Closed as ordered** | Fifty-nine walk forward into their own century. Ambrose and Doyle die of wounds taken on 3 November 1881, four minutes after they took them. Registry counts it a success and it is one. | -| **Closed, the two passengers pulled clear first** | As above, and Mrs Danforth keeps her arm. | +| **Closed, Mrs Danforth pulled clear first** | As above, and she keeps her arm. | | **Closed late** | The same ending, more expensively. If the clock reached 6 first, add the agents to the list. | | **Left running** | Logged, monitored, inherited. Sixty-one people continue to live four minutes. When it fails, nobody is released at all. | +**If Rance was aboard:** he is in the Registry corridor, and nobody has told him he cannot +be. He wants to know why a government he has never heard of decided his brother should +die on schedule. **Let a player answer him. Do not answer for them.** + +**If Rance was not aboard:** he is on the north bench at dusk with six horses and no +riders coming back, and he is still there when the crossing closes. + **Registry's note on any ending:** *"The department did not cause these deaths. It ceased to prevent them. The distinction matters to the file and it is not expected to matter to the agents."* --- -## Cast +## NPC Roster — quick sheet -| Who | Wants | Key line | +| Who | Essence | Key line | |---|---|---| +| **Mr Bewley**, Registry | wants the chart and the truth written down | *"Bring me the paper. The paper is the case."* | +| **Mr Prosser**, Stores | has done this nineteen years and will not be argued with | *"You may argue. I have laid out what you may take."* | +| **Ada Reyes**, telegraph | an answer up the line | *"It never got to Fallon. I've sent it forty times."* | +| **Tobin Cray**, section hand | to not go back out there | *"There's nothing on that line. I stopped standing there."* | +| **Rance Doyle**, miner | his brother back, and to be taken seriously | *"You've been asking after the train. So've we. Ours went out on it."* | +| **Mr Shard**, company detective | names, and the reward money | *"Who drank with them? That's all. Who drank with them."* | +| **Marius Kell**, engineer | to be allowed to stop | *"You tell me when. I'll not do it before you say."* | +| **Hester Bligh**, conductor | her passengers accounted for | *"Sixty-one aboard. I have counted them every hour since."* | | **Cass Merritt**, hired guard | to see the box to Fallon, as engaged | *"I have a letter. Whatever you have, I have a letter."* | | **Josiah Ambrose**, miner | eleven weeks of wages, lawfully | *"There is a judge's seal on this. Read it and then shoot me."* | -| **Marius Kell**, engineer | to be allowed to stop | *"You tell me when. I'll not do it before you say."* | +| **Tom Doyle**, miner | to go home. Dies at minute two, every time. | *"Rance said don't. I should've listened to Rance."* | | **Elias Vane**, surveyor | to be asked, at last | *"I signed it. Six months of honest men made it true."* | -| **Hester Bligh**, conductor | her passengers accounted for | *"Sixty-one aboard. I have counted them every hour since."* | -| **Ada Reyes**, telegraph | an answer up the line | *"It never got to Fallon. I've sent it forty times."* | -| **Mr Bewley**, Registry | the chart, and the truth written down | *"Bring me the paper. The paper is the case."* | --- @@ -516,15 +852,20 @@ the agents."* - **What is at the far end of the line.** Nobody aboard has reached it. - **Whether closing it was a rescue.** Fifty-nine people say yes. Two men do not get to say. +- **Whether Rance forgives them.** He does not say, and Registry does not ask. ## GM notes +- **Act One is not a briefing, it is a workplace.** The birthday card going round Accounts + is doing as much work as the case file. - **Play the passengers as people, hard** — and the nine men in the fight hardest of all. - **Never let the players win the fight.** They can survive it, shape it, and pull people out of it. They cannot end it. Only the brakes end it. - **Standing Order 9 is the tutorial.** Do not soften it and do not apologise for it. -- **Cut first:** the town, down to the livery and the telegraph office. Never cut the - boarding. +- **Rance is the emotional wiring of the whole case.** He turns a number into a surname. + If the table takes to him, take him aboard. If they do not, leave him on the bench. +- **Cut first:** the assay office, the saloon talk, and the Act Three fight. **Never cut + the boarding.** - **If they crack it early,** run the passes — six of them, forty minutes apart — and let the table feel the arithmetic they are betting on. @@ -536,8 +877,9 @@ the agents."* |---|---|---|---| | **LAST ADMISSION** | 2h | yes, one fight | no — prologue, civilians | | **OPEN DAY** | 2h15 | no | no — prologue, civilians | -| **THROUGH TRAIN** | 3h30 | no | **yes** — the first real case | +| **THROUGH TRAIN** | 4h | yes, twice | **yes** — the first real case | | **BLACK PLATFORM** | 3–4h | yes, heavily | no — a modern-day action case | -Run a prologue, then THROUGH TRAIN. BLACK PLATFORM is the one to reach for when a table -wants a fight. +THROUGH TRAIN now opens with its own induction and does not need a prologue in front of +it. Run a prologue first if the table wants to play civilians before they play agents. +BLACK PLATFORM is the one to reach for when a table wants a fight. diff --git a/package.json b/package.json index 6f7f6b9..fbe784f 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "build": "node tools/build-packs.mjs && node tools/update-readme.mjs", "icons": "node tools/make-icons.mjs", - "check": "node tools/check-rules.mjs && node tools/check-kits.mjs && node tools/check-lang.mjs && node tools/check-templates.mjs && node tools/check-behaviour.mjs", + "check": "node tools/check-rules.mjs && node tools/check-kits.mjs && node tools/check-lang.mjs && node tools/check-templates.mjs && node tools/check-behaviour.mjs && node tools/check-scenarios.mjs", "test": "npm run check", "readme": "node tools/update-readme.mjs" }, diff --git a/packs/armour/000003.log b/packs/armour/000003.log new file mode 100644 index 0000000..9b6d27d Binary files /dev/null and b/packs/armour/000003.log differ diff --git a/packs/armour/000005.ldb b/packs/armour/000005.ldb deleted file mode 100644 index c982555..0000000 Binary files a/packs/armour/000005.ldb and /dev/null differ diff --git a/packs/armour/000006.log b/packs/armour/000006.log deleted file mode 100644 index 1a1bb27..0000000 Binary files a/packs/armour/000006.log and /dev/null differ diff --git a/packs/armour/CURRENT b/packs/armour/CURRENT index cacca75..1a84852 100644 --- a/packs/armour/CURRENT +++ b/packs/armour/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/armour/LOG b/packs/armour/LOG index 3669d22..4b51090 100644 --- a/packs/armour/LOG +++ b/packs/armour/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.522827 16edc3000 Recovering log #3 -2026/08/18-23:21:42.522857 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.523016 16edc3000 Level-0 table #5: 4591 bytes OK -2026/08/18-23:21:42.523288 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.523332 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.062011 172aa7000 Delete type=3 #1 diff --git a/packs/armour/LOG.old b/packs/armour/LOG.old deleted file mode 100644 index f1db83c..0000000 --- a/packs/armour/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.000759 16ec7f000 Delete type=3 #1 diff --git a/packs/armour/MANIFEST-000002 b/packs/armour/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/armour/MANIFEST-000002 differ diff --git a/packs/armour/MANIFEST-000004 b/packs/armour/MANIFEST-000004 deleted file mode 100644 index 9c05997..0000000 Binary files a/packs/armour/MANIFEST-000004 and /dev/null differ diff --git a/packs/expedition/000003.log b/packs/expedition/000003.log new file mode 100644 index 0000000..263295b Binary files /dev/null and b/packs/expedition/000003.log differ diff --git a/packs/expedition/000005.ldb b/packs/expedition/000005.ldb deleted file mode 100644 index 4ff460d..0000000 Binary files a/packs/expedition/000005.ldb and /dev/null differ diff --git a/packs/expedition/000006.log b/packs/expedition/000006.log deleted file mode 100644 index 268b187..0000000 Binary files a/packs/expedition/000006.log and /dev/null differ diff --git a/packs/expedition/CURRENT b/packs/expedition/CURRENT index cacca75..1a84852 100644 --- a/packs/expedition/CURRENT +++ b/packs/expedition/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/expedition/LOG b/packs/expedition/LOG index 331cc1f..db97f05 100644 --- a/packs/expedition/LOG +++ b/packs/expedition/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.542861 1705e7000 Recovering log #3 -2026/08/18-23:21:42.542881 1705e7000 Level-0 table #5: started -2026/08/18-23:21:42.543000 1705e7000 Level-0 table #5: 4129 bytes OK -2026/08/18-23:21:42.543233 1705e7000 Delete type=0 #3 -2026/08/18-23:21:42.543262 1705e7000 Delete type=3 #2 +2026/08/19-19:25:20.141345 173abf000 Delete type=3 #1 diff --git a/packs/expedition/LOG.old b/packs/expedition/LOG.old deleted file mode 100644 index c6c19fb..0000000 --- a/packs/expedition/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.085840 1704a3000 Delete type=3 #1 diff --git a/packs/expedition/MANIFEST-000002 b/packs/expedition/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/expedition/MANIFEST-000002 differ diff --git a/packs/expedition/MANIFEST-000004 b/packs/expedition/MANIFEST-000004 deleted file mode 100644 index 47fbcd4..0000000 Binary files a/packs/expedition/MANIFEST-000004 and /dev/null differ diff --git a/packs/gear/000003.log b/packs/gear/000003.log new file mode 100644 index 0000000..629ba6d Binary files /dev/null and b/packs/gear/000003.log differ diff --git a/packs/gear/000005.ldb b/packs/gear/000005.ldb deleted file mode 100644 index d9bac03..0000000 Binary files a/packs/gear/000005.ldb and /dev/null differ diff --git a/packs/gear/000006.log b/packs/gear/000006.log deleted file mode 100644 index d1deb9b..0000000 Binary files a/packs/gear/000006.log and /dev/null differ diff --git a/packs/gear/CURRENT b/packs/gear/CURRENT index cacca75..1a84852 100644 --- a/packs/gear/CURRENT +++ b/packs/gear/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/gear/LOG b/packs/gear/LOG index 3289fc0..eea13bc 100644 --- a/packs/gear/LOG +++ b/packs/gear/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.523809 16edc3000 Recovering log #3 -2026/08/18-23:21:42.523911 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.524193 16edc3000 Level-0 table #5: 31614 bytes OK -2026/08/18-23:21:42.524392 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.524442 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.063575 173abf000 Delete type=3 #1 diff --git a/packs/gear/LOG.old b/packs/gear/LOG.old deleted file mode 100644 index 4e62250..0000000 --- a/packs/gear/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.002659 1704a3000 Delete type=3 #1 diff --git a/packs/gear/MANIFEST-000002 b/packs/gear/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/gear/MANIFEST-000002 differ diff --git a/packs/gear/MANIFEST-000004 b/packs/gear/MANIFEST-000004 deleted file mode 100644 index f7cd73c..0000000 Binary files a/packs/gear/MANIFEST-000004 and /dev/null differ diff --git a/packs/lastadmission/000003.log b/packs/lastadmission/000003.log new file mode 100644 index 0000000..bfabd98 Binary files /dev/null and b/packs/lastadmission/000003.log differ diff --git a/packs/lastadmission/000005.ldb b/packs/lastadmission/000005.ldb deleted file mode 100644 index 9c4e166..0000000 Binary files a/packs/lastadmission/000005.ldb and /dev/null differ diff --git a/packs/lastadmission/000006.log b/packs/lastadmission/000006.log deleted file mode 100644 index 40f2dad..0000000 Binary files a/packs/lastadmission/000006.log and /dev/null differ diff --git a/packs/lastadmission/CURRENT b/packs/lastadmission/CURRENT index cacca75..1a84852 100644 --- a/packs/lastadmission/CURRENT +++ b/packs/lastadmission/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/lastadmission/LOG b/packs/lastadmission/LOG index 92ad3e4..b8f8abc 100644 --- a/packs/lastadmission/LOG +++ b/packs/lastadmission/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.537220 1705e7000 Recovering log #3 -2026/08/18-23:21:42.537462 1705e7000 Level-0 table #5: started -2026/08/18-23:21:42.537820 1705e7000 Level-0 table #5: 46857 bytes OK -2026/08/18-23:21:42.538102 1705e7000 Delete type=0 #3 -2026/08/18-23:21:42.538144 1705e7000 Delete type=3 #2 +2026/08/19-19:25:20.126868 1742cb000 Delete type=3 #1 diff --git a/packs/lastadmission/LOG.old b/packs/lastadmission/LOG.old deleted file mode 100644 index 5549886..0000000 --- a/packs/lastadmission/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.066464 16ec7f000 Delete type=3 #1 diff --git a/packs/lastadmission/MANIFEST-000002 b/packs/lastadmission/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/lastadmission/MANIFEST-000002 differ diff --git a/packs/lastadmission/MANIFEST-000004 b/packs/lastadmission/MANIFEST-000004 deleted file mode 100644 index 061c146..0000000 Binary files a/packs/lastadmission/MANIFEST-000004 and /dev/null differ diff --git a/packs/npcs/000003.log b/packs/npcs/000003.log new file mode 100644 index 0000000..535c9fd Binary files /dev/null and b/packs/npcs/000003.log differ diff --git a/packs/npcs/000005.ldb b/packs/npcs/000005.ldb deleted file mode 100644 index c1a43df..0000000 Binary files a/packs/npcs/000005.ldb and /dev/null differ diff --git a/packs/npcs/000006.log b/packs/npcs/000006.log deleted file mode 100644 index 76e0001..0000000 Binary files a/packs/npcs/000006.log and /dev/null differ diff --git a/packs/npcs/CURRENT b/packs/npcs/CURRENT index cacca75..1a84852 100644 --- a/packs/npcs/CURRENT +++ b/packs/npcs/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/npcs/LOG b/packs/npcs/LOG index f37bb6d..8e6f1dc 100644 --- a/packs/npcs/LOG +++ b/packs/npcs/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.511991 16edc3000 Recovering log #3 -2026/08/18-23:21:42.512828 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.514313 16edc3000 Level-0 table #5: 234672 bytes OK -2026/08/18-23:21:42.514681 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.514785 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.101699 172aa7000 Delete type=3 #1 diff --git a/packs/npcs/LOG.old b/packs/npcs/LOG.old deleted file mode 100644 index 65c1374..0000000 --- a/packs/npcs/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.040817 1704a3000 Delete type=3 #1 diff --git a/packs/npcs/MANIFEST-000002 b/packs/npcs/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/npcs/MANIFEST-000002 differ diff --git a/packs/npcs/MANIFEST-000004 b/packs/npcs/MANIFEST-000004 deleted file mode 100644 index 93be6b6..0000000 Binary files a/packs/npcs/MANIFEST-000004 and /dev/null differ diff --git a/packs/powers/000003.log b/packs/powers/000003.log new file mode 100644 index 0000000..d723043 Binary files /dev/null and b/packs/powers/000003.log differ diff --git a/packs/powers/000005.ldb b/packs/powers/000005.ldb deleted file mode 100644 index 7f540c6..0000000 Binary files a/packs/powers/000005.ldb and /dev/null differ diff --git a/packs/powers/000006.log b/packs/powers/000006.log deleted file mode 100644 index 43e306f..0000000 Binary files a/packs/powers/000006.log and /dev/null differ diff --git a/packs/powers/CURRENT b/packs/powers/CURRENT index cacca75..1a84852 100644 --- a/packs/powers/CURRENT +++ b/packs/powers/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/powers/LOG b/packs/powers/LOG index 3a1ae77..16b38bd 100644 --- a/packs/powers/LOG +++ b/packs/powers/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.520180 16edc3000 Recovering log #3 -2026/08/18-23:21:42.520206 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.520334 16edc3000 Level-0 table #5: 3295 bytes OK -2026/08/18-23:21:42.520647 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.520681 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.136777 173abf000 Delete type=3 #1 diff --git a/packs/powers/LOG.old b/packs/powers/LOG.old deleted file mode 100644 index 23535aa..0000000 --- a/packs/powers/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.079222 16f48b000 Delete type=3 #1 diff --git a/packs/powers/MANIFEST-000002 b/packs/powers/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/powers/MANIFEST-000002 differ diff --git a/packs/powers/MANIFEST-000004 b/packs/powers/MANIFEST-000004 deleted file mode 100644 index 20de082..0000000 Binary files a/packs/powers/MANIFEST-000004 and /dev/null differ diff --git a/packs/pregens/000003.log b/packs/pregens/000003.log new file mode 100644 index 0000000..703492d Binary files /dev/null and b/packs/pregens/000003.log differ diff --git a/packs/pregens/000005.ldb b/packs/pregens/000005.ldb deleted file mode 100644 index 3c6c0b9..0000000 Binary files a/packs/pregens/000005.ldb and /dev/null differ diff --git a/packs/pregens/000006.log b/packs/pregens/000006.log deleted file mode 100644 index 3829ac2..0000000 Binary files a/packs/pregens/000006.log and /dev/null differ diff --git a/packs/pregens/CURRENT b/packs/pregens/CURRENT index cacca75..1a84852 100644 --- a/packs/pregens/CURRENT +++ b/packs/pregens/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/pregens/LOG b/packs/pregens/LOG index e268a49..62881b6 100644 --- a/packs/pregens/LOG +++ b/packs/pregens/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.501500 16edc3000 Recovering log #3 -2026/08/18-23:21:42.503444 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.506554 16edc3000 Level-0 table #5: 560581 bytes OK -2026/08/18-23:21:42.506965 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.507130 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.086192 1742cb000 Delete type=3 #1 diff --git a/packs/pregens/LOG.old b/packs/pregens/LOG.old deleted file mode 100644 index 8b53a27..0000000 --- a/packs/pregens/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.025927 16fc97000 Delete type=3 #1 diff --git a/packs/pregens/MANIFEST-000002 b/packs/pregens/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/pregens/MANIFEST-000002 differ diff --git a/packs/pregens/MANIFEST-000004 b/packs/pregens/MANIFEST-000004 deleted file mode 100644 index 61a6fea..0000000 Binary files a/packs/pregens/MANIFEST-000004 and /dev/null differ diff --git a/packs/primer/000003.log b/packs/primer/000003.log new file mode 100644 index 0000000..4a43c24 Binary files /dev/null and b/packs/primer/000003.log differ diff --git a/packs/primer/000005.ldb b/packs/primer/000005.ldb deleted file mode 100644 index 75e5695..0000000 Binary files a/packs/primer/000005.ldb and /dev/null differ diff --git a/packs/primer/000006.log b/packs/primer/000006.log deleted file mode 100644 index bb91941..0000000 Binary files a/packs/primer/000006.log and /dev/null differ diff --git a/packs/primer/CURRENT b/packs/primer/CURRENT index cacca75..1a84852 100644 --- a/packs/primer/CURRENT +++ b/packs/primer/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/primer/LOG b/packs/primer/LOG index f6a0730..f6341af 100644 --- a/packs/primer/LOG +++ b/packs/primer/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.526413 16edc3000 Recovering log #3 -2026/08/18-23:21:42.526467 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.526727 16edc3000 Level-0 table #5: 24730 bytes OK -2026/08/18-23:21:42.526971 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.526999 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.134073 173abf000 Delete type=3 #1 diff --git a/packs/primer/LOG.old b/packs/primer/LOG.old deleted file mode 100644 index 5835654..0000000 --- a/packs/primer/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.075510 16fc97000 Delete type=3 #1 diff --git a/packs/primer/MANIFEST-000002 b/packs/primer/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/primer/MANIFEST-000002 differ diff --git a/packs/primer/MANIFEST-000004 b/packs/primer/MANIFEST-000004 deleted file mode 100644 index 7f1100d..0000000 Binary files a/packs/primer/MANIFEST-000004 and /dev/null differ diff --git a/packs/prologue/000003.log b/packs/prologue/000003.log new file mode 100644 index 0000000..122ec89 Binary files /dev/null and b/packs/prologue/000003.log differ diff --git a/packs/prologue/000005.ldb b/packs/prologue/000005.ldb deleted file mode 100644 index f989b58..0000000 Binary files a/packs/prologue/000005.ldb and /dev/null differ diff --git a/packs/prologue/000006.log b/packs/prologue/000006.log deleted file mode 100644 index 57e3987..0000000 Binary files a/packs/prologue/000006.log and /dev/null differ diff --git a/packs/prologue/CURRENT b/packs/prologue/CURRENT index cacca75..1a84852 100644 --- a/packs/prologue/CURRENT +++ b/packs/prologue/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/prologue/LOG b/packs/prologue/LOG index 412ad02..8e34220 100644 --- a/packs/prologue/LOG +++ b/packs/prologue/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.538839 16f5cf000 Recovering log #3 -2026/08/18-23:21:42.539012 16f5cf000 Level-0 table #5: started -2026/08/18-23:21:42.539381 16f5cf000 Level-0 table #5: 44887 bytes OK -2026/08/18-23:21:42.539604 16f5cf000 Delete type=0 #3 -2026/08/18-23:21:42.539638 16f5cf000 Delete type=3 #2 +2026/08/19-19:25:20.130966 172aa7000 Delete type=3 #1 diff --git a/packs/prologue/LOG.old b/packs/prologue/LOG.old deleted file mode 100644 index 36808ba..0000000 --- a/packs/prologue/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.071063 16ec7f000 Delete type=3 #1 diff --git a/packs/prologue/MANIFEST-000002 b/packs/prologue/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/prologue/MANIFEST-000002 differ diff --git a/packs/prologue/MANIFEST-000004 b/packs/prologue/MANIFEST-000004 deleted file mode 100644 index c033d8f..0000000 Binary files a/packs/prologue/MANIFEST-000004 and /dev/null differ diff --git a/packs/rules/000003.log b/packs/rules/000003.log new file mode 100644 index 0000000..602aa25 Binary files /dev/null and b/packs/rules/000003.log differ diff --git a/packs/rules/000005.ldb b/packs/rules/000005.ldb deleted file mode 100644 index b4e6a9a..0000000 Binary files a/packs/rules/000005.ldb and /dev/null differ diff --git a/packs/rules/000006.log b/packs/rules/000006.log deleted file mode 100644 index e5ce67c..0000000 Binary files a/packs/rules/000006.log and /dev/null differ diff --git a/packs/rules/CURRENT b/packs/rules/CURRENT index cacca75..1a84852 100644 --- a/packs/rules/CURRENT +++ b/packs/rules/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/rules/LOG b/packs/rules/LOG index e9bdaeb..3a5db23 100644 --- a/packs/rules/LOG +++ b/packs/rules/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.527792 16f5cf000 Recovering log #3 -2026/08/18-23:21:42.527874 16f5cf000 Level-0 table #5: started -2026/08/18-23:21:42.528257 16f5cf000 Level-0 table #5: 37376 bytes OK -2026/08/18-23:21:42.528527 16f5cf000 Delete type=0 #3 -2026/08/18-23:21:42.528572 16f5cf000 Delete type=3 #2 +2026/08/19-19:25:20.139904 172aa7000 Delete type=3 #1 diff --git a/packs/rules/LOG.old b/packs/rules/LOG.old deleted file mode 100644 index fcea83e..0000000 --- a/packs/rules/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.083980 16fc97000 Delete type=3 #1 diff --git a/packs/rules/MANIFEST-000002 b/packs/rules/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/rules/MANIFEST-000002 differ diff --git a/packs/rules/MANIFEST-000004 b/packs/rules/MANIFEST-000004 deleted file mode 100644 index bbb24de..0000000 Binary files a/packs/rules/MANIFEST-000004 and /dev/null differ diff --git a/packs/skills/000003.log b/packs/skills/000003.log new file mode 100644 index 0000000..d985ef5 Binary files /dev/null and b/packs/skills/000003.log differ diff --git a/packs/skills/000005.ldb b/packs/skills/000005.ldb deleted file mode 100644 index 2ac258b..0000000 Binary files a/packs/skills/000005.ldb and /dev/null differ diff --git a/packs/skills/000006.log b/packs/skills/000006.log deleted file mode 100644 index 3318040..0000000 Binary files a/packs/skills/000006.log and /dev/null differ diff --git a/packs/skills/CURRENT b/packs/skills/CURRENT index cacca75..1a84852 100644 --- a/packs/skills/CURRENT +++ b/packs/skills/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/skills/LOG b/packs/skills/LOG index 5ecdd3f..55d7bd4 100644 --- a/packs/skills/LOG +++ b/packs/skills/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.517325 16edc3000 Recovering log #3 -2026/08/18-23:21:42.517371 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.517580 16edc3000 Level-0 table #5: 7806 bytes OK -2026/08/18-23:21:42.518061 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.518138 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.056617 172aa7000 Delete type=3 #1 diff --git a/packs/skills/LOG.old b/packs/skills/LOG.old deleted file mode 100644 index 3b01202..0000000 --- a/packs/skills/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:16.994201 1704a3000 Delete type=3 #1 diff --git a/packs/skills/MANIFEST-000002 b/packs/skills/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/skills/MANIFEST-000002 differ diff --git a/packs/skills/MANIFEST-000004 b/packs/skills/MANIFEST-000004 deleted file mode 100644 index 39883ac..0000000 Binary files a/packs/skills/MANIFEST-000004 and /dev/null differ diff --git a/packs/slice/000003.log b/packs/slice/000003.log new file mode 100644 index 0000000..39926e8 Binary files /dev/null and b/packs/slice/000003.log differ diff --git a/packs/slice/000005.ldb b/packs/slice/000005.ldb deleted file mode 100644 index ac4df01..0000000 Binary files a/packs/slice/000005.ldb and /dev/null differ diff --git a/packs/slice/000006.log b/packs/slice/000006.log deleted file mode 100644 index c25ac75..0000000 Binary files a/packs/slice/000006.log and /dev/null differ diff --git a/packs/slice/CURRENT b/packs/slice/CURRENT index cacca75..1a84852 100644 --- a/packs/slice/CURRENT +++ b/packs/slice/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/slice/LOG b/packs/slice/LOG index ecfa214..bbed8ca 100644 --- a/packs/slice/LOG +++ b/packs/slice/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.540416 16fddb000 Recovering log #3 -2026/08/18-23:21:42.540459 16fddb000 Level-0 table #5: started -2026/08/18-23:21:42.540720 16fddb000 Level-0 table #5: 16902 bytes OK -2026/08/18-23:21:42.540972 16fddb000 Delete type=0 #3 -2026/08/18-23:21:42.541026 16fddb000 Delete type=3 #2 +2026/08/19-19:25:20.135477 1732b3000 Delete type=3 #1 diff --git a/packs/slice/LOG.old b/packs/slice/LOG.old deleted file mode 100644 index c64b8c7..0000000 --- a/packs/slice/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.077585 16fc97000 Delete type=3 #1 diff --git a/packs/slice/MANIFEST-000002 b/packs/slice/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/slice/MANIFEST-000002 differ diff --git a/packs/slice/MANIFEST-000004 b/packs/slice/MANIFEST-000004 deleted file mode 100644 index 0966a50..0000000 Binary files a/packs/slice/MANIFEST-000004 and /dev/null differ diff --git a/packs/starter/000003.log b/packs/starter/000003.log new file mode 100644 index 0000000..b2f102f Binary files /dev/null and b/packs/starter/000003.log differ diff --git a/packs/starter/000005.ldb b/packs/starter/000005.ldb deleted file mode 100644 index c6c3cf0..0000000 Binary files a/packs/starter/000005.ldb and /dev/null differ diff --git a/packs/starter/000006.log b/packs/starter/000006.log deleted file mode 100644 index dc42692..0000000 Binary files a/packs/starter/000006.log and /dev/null differ diff --git a/packs/starter/CURRENT b/packs/starter/CURRENT index cacca75..1a84852 100644 --- a/packs/starter/CURRENT +++ b/packs/starter/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/starter/LOG b/packs/starter/LOG index 4ea1137..c3d36b9 100644 --- a/packs/starter/LOG +++ b/packs/starter/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.534997 16edc3000 Recovering log #3 -2026/08/18-23:21:42.535341 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.535924 16edc3000 Level-0 table #5: 84039 bytes OK -2026/08/18-23:21:42.536290 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.536355 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.112836 172aa7000 Delete type=3 #1 diff --git a/packs/starter/LOG.old b/packs/starter/LOG.old deleted file mode 100644 index f520bc2..0000000 --- a/packs/starter/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.052004 1704a3000 Delete type=3 #1 diff --git a/packs/starter/MANIFEST-000002 b/packs/starter/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/starter/MANIFEST-000002 differ diff --git a/packs/starter/MANIFEST-000004 b/packs/starter/MANIFEST-000004 deleted file mode 100644 index ff0842a..0000000 Binary files a/packs/starter/MANIFEST-000004 and /dev/null differ diff --git a/packs/tables/000003.log b/packs/tables/000003.log new file mode 100644 index 0000000..f125b7d Binary files /dev/null and b/packs/tables/000003.log differ diff --git a/packs/tables/000005.ldb b/packs/tables/000005.ldb deleted file mode 100644 index 64baa1c..0000000 Binary files a/packs/tables/000005.ldb and /dev/null differ diff --git a/packs/tables/000006.log b/packs/tables/000006.log deleted file mode 100644 index d5e06f3..0000000 Binary files a/packs/tables/000006.log and /dev/null differ diff --git a/packs/tables/CURRENT b/packs/tables/CURRENT index cacca75..1a84852 100644 --- a/packs/tables/CURRENT +++ b/packs/tables/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/tables/LOG b/packs/tables/LOG index 4158d77..7ec9150 100644 --- a/packs/tables/LOG +++ b/packs/tables/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.541794 1705e7000 Recovering log #3 -2026/08/18-23:21:42.541832 1705e7000 Level-0 table #5: started -2026/08/18-23:21:42.541980 1705e7000 Level-0 table #5: 3739 bytes OK -2026/08/18-23:21:42.542243 1705e7000 Delete type=0 #3 -2026/08/18-23:21:42.542288 1705e7000 Delete type=3 #2 +2026/08/19-19:25:20.105972 1732b3000 Delete type=3 #1 diff --git a/packs/tables/LOG.old b/packs/tables/LOG.old deleted file mode 100644 index 786f74a..0000000 --- a/packs/tables/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.045501 1704a3000 Delete type=3 #1 diff --git a/packs/tables/MANIFEST-000002 b/packs/tables/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/tables/MANIFEST-000002 differ diff --git a/packs/tables/MANIFEST-000004 b/packs/tables/MANIFEST-000004 deleted file mode 100644 index 004ff30..0000000 Binary files a/packs/tables/MANIFEST-000004 and /dev/null differ diff --git a/packs/talents/000003.log b/packs/talents/000003.log new file mode 100644 index 0000000..443b7ea Binary files /dev/null and b/packs/talents/000003.log differ diff --git a/packs/talents/000005.ldb b/packs/talents/000005.ldb deleted file mode 100644 index fb653de..0000000 Binary files a/packs/talents/000005.ldb and /dev/null differ diff --git a/packs/talents/000006.log b/packs/talents/000006.log deleted file mode 100644 index 29003f7..0000000 Binary files a/packs/talents/000006.log and /dev/null differ diff --git a/packs/talents/CURRENT b/packs/talents/CURRENT index cacca75..1a84852 100644 --- a/packs/talents/CURRENT +++ b/packs/talents/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/talents/LOG b/packs/talents/LOG index 2ab73b9..39e0be6 100644 --- a/packs/talents/LOG +++ b/packs/talents/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.519065 16edc3000 Recovering log #3 -2026/08/18-23:21:42.519098 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.519276 16edc3000 Level-0 table #5: 5770 bytes OK -2026/08/18-23:21:42.519549 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.519584 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.058885 173abf000 Delete type=3 #1 diff --git a/packs/talents/LOG.old b/packs/talents/LOG.old deleted file mode 100644 index ff775fa..0000000 --- a/packs/talents/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:16.997485 1704a3000 Delete type=3 #1 diff --git a/packs/talents/MANIFEST-000002 b/packs/talents/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/talents/MANIFEST-000002 differ diff --git a/packs/talents/MANIFEST-000004 b/packs/talents/MANIFEST-000004 deleted file mode 100644 index f8c6b47..0000000 Binary files a/packs/talents/MANIFEST-000004 and /dev/null differ diff --git a/packs/throughtrain/000003.log b/packs/throughtrain/000003.log new file mode 100644 index 0000000..803aa37 Binary files /dev/null and b/packs/throughtrain/000003.log differ diff --git a/packs/throughtrain/000005.ldb b/packs/throughtrain/000005.ldb deleted file mode 100644 index 80fed13..0000000 Binary files a/packs/throughtrain/000005.ldb and /dev/null differ diff --git a/packs/throughtrain/000006.log b/packs/throughtrain/000006.log deleted file mode 100644 index 123c757..0000000 Binary files a/packs/throughtrain/000006.log and /dev/null differ diff --git a/packs/throughtrain/CURRENT b/packs/throughtrain/CURRENT index cacca75..1a84852 100644 --- a/packs/throughtrain/CURRENT +++ b/packs/throughtrain/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/throughtrain/LOG b/packs/throughtrain/LOG index 9db2725..9b0e77e 100644 --- a/packs/throughtrain/LOG +++ b/packs/throughtrain/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.531147 1705e7000 Recovering log #3 -2026/08/18-23:21:42.531387 1705e7000 Level-0 table #5: started -2026/08/18-23:21:42.531924 1705e7000 Level-0 table #5: 68636 bytes OK -2026/08/18-23:21:42.532247 1705e7000 Delete type=0 #3 -2026/08/18-23:21:42.532303 1705e7000 Delete type=3 #2 +2026/08/19-19:25:20.120612 1742cb000 Delete type=3 #1 diff --git a/packs/throughtrain/LOG.old b/packs/throughtrain/LOG.old deleted file mode 100644 index de05636..0000000 --- a/packs/throughtrain/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.060194 16f48b000 Delete type=3 #1 diff --git a/packs/throughtrain/MANIFEST-000002 b/packs/throughtrain/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/throughtrain/MANIFEST-000002 differ diff --git a/packs/throughtrain/MANIFEST-000004 b/packs/throughtrain/MANIFEST-000004 deleted file mode 100644 index a516370..0000000 Binary files a/packs/throughtrain/MANIFEST-000004 and /dev/null differ diff --git a/packs/vehicles/000003.log b/packs/vehicles/000003.log new file mode 100644 index 0000000..9950ce5 Binary files /dev/null and b/packs/vehicles/000003.log differ diff --git a/packs/vehicles/000005.ldb b/packs/vehicles/000005.ldb deleted file mode 100644 index f6b2cd4..0000000 Binary files a/packs/vehicles/000005.ldb and /dev/null differ diff --git a/packs/vehicles/000006.log b/packs/vehicles/000006.log deleted file mode 100644 index 47800e2..0000000 Binary files a/packs/vehicles/000006.log and /dev/null differ diff --git a/packs/vehicles/CURRENT b/packs/vehicles/CURRENT index cacca75..1a84852 100644 --- a/packs/vehicles/CURRENT +++ b/packs/vehicles/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/vehicles/LOG b/packs/vehicles/LOG index 309684b..30950d4 100644 --- a/packs/vehicles/LOG +++ b/packs/vehicles/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.525170 16edc3000 Recovering log #3 -2026/08/18-23:21:42.525197 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.525391 16edc3000 Level-0 table #5: 6939 bytes OK -2026/08/18-23:21:42.525699 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.525727 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.065415 172aa7000 Delete type=3 #1 diff --git a/packs/vehicles/LOG.old b/packs/vehicles/LOG.old deleted file mode 100644 index 7358978..0000000 --- a/packs/vehicles/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:17.004916 1704a3000 Delete type=3 #1 diff --git a/packs/vehicles/MANIFEST-000002 b/packs/vehicles/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/vehicles/MANIFEST-000002 differ diff --git a/packs/vehicles/MANIFEST-000004 b/packs/vehicles/MANIFEST-000004 deleted file mode 100644 index d4d73b7..0000000 Binary files a/packs/vehicles/MANIFEST-000004 and /dev/null differ diff --git a/packs/weapons/000003.log b/packs/weapons/000003.log new file mode 100644 index 0000000..e1488ed Binary files /dev/null and b/packs/weapons/000003.log differ diff --git a/packs/weapons/000005.ldb b/packs/weapons/000005.ldb deleted file mode 100644 index 742beba..0000000 Binary files a/packs/weapons/000005.ldb and /dev/null differ diff --git a/packs/weapons/000006.log b/packs/weapons/000006.log deleted file mode 100644 index 4d427a6..0000000 Binary files a/packs/weapons/000006.log and /dev/null differ diff --git a/packs/weapons/CURRENT b/packs/weapons/CURRENT index cacca75..1a84852 100644 --- a/packs/weapons/CURRENT +++ b/packs/weapons/CURRENT @@ -1 +1 @@ -MANIFEST-000004 +MANIFEST-000002 diff --git a/packs/weapons/LOG b/packs/weapons/LOG index 8157caa..04ed580 100644 --- a/packs/weapons/LOG +++ b/packs/weapons/LOG @@ -1,5 +1 @@ -2026/08/18-23:21:42.521392 16edc3000 Recovering log #3 -2026/08/18-23:21:42.521476 16edc3000 Level-0 table #5: started -2026/08/18-23:21:42.521798 16edc3000 Level-0 table #5: 14767 bytes OK -2026/08/18-23:21:42.522090 16edc3000 Delete type=0 #3 -2026/08/18-23:21:42.522134 16edc3000 Delete type=3 #2 +2026/08/19-19:25:20.060522 172aa7000 Delete type=3 #1 diff --git a/packs/weapons/LOG.old b/packs/weapons/LOG.old deleted file mode 100644 index 1d7a683..0000000 --- a/packs/weapons/LOG.old +++ /dev/null @@ -1 +0,0 @@ -2026/08/18-23:21:16.999207 1704a3000 Delete type=3 #1 diff --git a/packs/weapons/MANIFEST-000002 b/packs/weapons/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/weapons/MANIFEST-000002 differ diff --git a/packs/weapons/MANIFEST-000004 b/packs/weapons/MANIFEST-000004 deleted file mode 100644 index 6a582af..0000000 Binary files a/packs/weapons/MANIFEST-000004 and /dev/null differ diff --git a/system.json b/system.json index 4c6c988..6a34b4f 100644 --- a/system.json +++ b/system.json @@ -2,7 +2,7 @@ "id": "ringbrp", "title": "The Custodians", "description": "A Basic Roleplaying game of agents who cross the crossing to contain what should not be there — and who come back a little less from here each time.", - "version": "1.5.0", + "version": "1.6.0", "compatibility": { "minimum": 13, "verified": "14.364" diff --git a/tools/build-packs.mjs b/tools/build-packs.mjs index d5c03db..0ea42b5 100644 --- a/tools/build-packs.mjs +++ b/tools/build-packs.mjs @@ -547,6 +547,10 @@ async function writePack(packName, entries) { // guards cannot tell whether a rule is READ; these tests can. execFileSync(process.execPath, [new URL("check-behaviour.mjs", import.meta.url).pathname], { stdio: "inherit" }); + // And refuse a scenario that tells the GM to roll a skill nobody has. THROUGH TRAIN + // asked for Ride through several drafts and a playtest; there is no Ride skill. + execFileSync(process.execPath, [new URL("check-scenarios.mjs", import.meta.url).pathname], + { stdio: "inherit" }); } catch { console.error("build aborted: pre-build checks failed"); process.exit(1); } } @@ -918,16 +922,19 @@ function cullandScene() { for (const pg of handouts.pages) pg.ownership = { default: 2 }; const showJournal = imageJournal("THROUGH TRAIN — Show the players", "tt_show", [ - { name: "1 · Mercy Draw, now", src: "art/scenes/tt_01_draw.webp" }, + { name: "1 · The Bureau", src: "art/scenes/tt_11_bureau.webp" }, { name: "2 · Stores, and the 1881 issue", src: "art/scenes/tt_02_stores.webp" }, - { name: "3 · The grade on the south bench", src: "art/scenes/tt_03_bench.webp" }, - { name: "4 · Cordera, 1881", src: "art/scenes/tt_04_cordera.webp" }, - { name: "5 · The water tower — boarding", src: "art/scenes/tt_05_boarding.webp" }, - { name: "6 · Inside car three, between passes", src: "art/scenes/tt_06_car.webp" }, - { name: "7 · The four minutes", src: "art/scenes/tt_08_gunfight.webp" }, - { name: "8 · The payroll box, car four", src: "art/scenes/tt_09_payroll.webp" }, - { name: "9 · The gap between the cars", src: "art/scenes/tt_10_couple.webp" }, - { name: "10 · Afterwards, the register", src: "art/scenes/tt_07_after.webp" } + { name: "3 · Mercy Draw, now", src: "art/scenes/tt_01_draw.webp" }, + { name: "4 · The north bench, 1881", src: "art/scenes/tt_12_northbench.webp" }, + { name: "5 · Cordera, 1881", src: "art/scenes/tt_04_cordera.webp" }, + { name: "6 · Six men across the street", src: "art/scenes/tt_13_standoff.webp" }, + { name: "7 · The grade on the south bench", src: "art/scenes/tt_03_bench.webp" }, + { name: "8 · The water tower — boarding", src: "art/scenes/tt_05_boarding.webp" }, + { name: "9 · Inside car three, between passes", src: "art/scenes/tt_06_car.webp" }, + { name: "10 · The four minutes", src: "art/scenes/tt_08_gunfight.webp" }, + { name: "11 · The payroll box, car four", src: "art/scenes/tt_09_payroll.webp" }, + { name: "12 · The gap between the cars", src: "art/scenes/tt_10_couple.webp" }, + { name: "13 · Afterwards, the register", src: "art/scenes/tt_07_after.webp" } ]); const advId = idFor("adventure:through_train"); @@ -935,7 +942,7 @@ function cullandScene() { _id: advId, name: "THROUGH TRAIN — The Mercy Draw Crossing", img: IC("actor_case") ?? ICON.caseFile ?? ICON.actor, - caption: "The crossing starter. Three and a half hours, and nothing modern goes through.", + caption: "The crossing starter. Four hours in five acts, and nothing modern goes through.", description: "
A train has been running the same four miles of track since the third of "
+ "November, 1881. It has never stopped. There are sixty-one people on it and they "
@@ -947,9 +954,14 @@ function cullandScene() {
+ " The running is what holds the crossing open. The agents have to board a train "
+ "that cannot stop, get sixty-one people off it, and decide what to do about the "
+ "arithmetic when they find they cannot. Five acts, four hours. An induction at the Bureau; a crossing "
+ + "that puts them where the paperwork says the railway is, which is an empty bench; "
+ + "an investigation to find the line at all; six unpaid miners in a Cordera street "
+ + "who think they are company detectives; forty seconds of slow track at a water "
+ + "tower; and four minutes that have run about two million times. Also the case that teaches Standing Order 9: nothing modern goes "
- + "through. Seven GM pages, six handouts including the survey that started "
- + "it, the case file, four of the people aboard, and seven plates to show.
Crossing clock 0 / 6. Move it on each pass of the train, when " @@ -889,6 +1112,9 @@ export const TT_CASE = { + "
0 Open · 1 Thinning · 2 Slipping (−1 Coherence, once) · 3 The line flickers " + "· 4 The far end stops answering · 5 One pass left · 6 It closes, with whoever is " + "aboard.
" + + "The crossing opens on the NORTH bench — where the record says " + + "the line is, not where it is. Registry's file has this wrong and Bewley believes " + + "the file.
" + "Standing Order 9 is live: using any modern item across costs 1 " + "Coherence the first time and moves this clock. Carrying costs nothing. Anchors " + "are exempt.
" @@ -896,9 +1122,9 @@ export const TT_CASE = { + "lanterns and oil, brass compass, pocket watch, spyglass, buff coats, a chirurgeon's " + "roll, laudanum, iron manacles, and period coin.", legs: [ - { label: "Approach — Mercy Draw, present day", kindId: "approach", difficulty: "average", mod: 0 }, - { label: "Across — Cordera, 1881", kindId: "cordon", difficulty: "average", mod: -5 }, - { label: "Containment — board the train", kindId: "containment", difficulty: "difficult", mod: -10 }, - { label: "Extraction — off the grade, and out", kindId: "extraction", difficulty: "average", mod: -10 } + { label: "Act Two — across, and find the line", kindId: "approach", difficulty: "average", mod: 0 }, + { label: "Act Three — Cordera, and Rance Doyle's men", kindId: "cordon", difficulty: "average", mod: -5 }, + { label: "Act Four — board the train", kindId: "containment", difficulty: "difficult", mod: -10 }, + { label: "Act Five — the four minutes, and out", kindId: "extraction", difficulty: "average", mod: -10 } ] };