policesquadquest/cases/case-03-big-gulch/rooms/room1.json
type-two 9bfd6ddb44 Cases Three, Four, Five and Nine — the campaign is complete
Thirteen cases, all playable, all lint clean, all verified end-to-end at
100/100 (Case One is 95 + 5 optional by design).

Case Three — Rendezvous at Big Gulch. The racket only shakes down businesses
that are doing well, so to get extorted you must run a genuinely excellent
locksmith shop. Frank reads MODERN LOCKSMITHING cover to cover and retains all
of it while understanding none of it, which for locksmithing is the correct
ratio. The street won't talk because paper doesn't stand in your doorway on a
Friday; Halloran opens up only after you offer to fix his door, and his
extortion ledger has been lying open on a public counter for two and a half
years because nobody ever asked to see his book.

Case Four — Revenge and Remorse. Section 14 paragraph 9 was written in 1949 for
a 1949 timer, and this bomber files his timing stub twice because he cannot
leave a thing not-quite-square, which shortens the contact throw and energises
the trigger first. Follow the manual and it completes. So Frank disarms it
backwards — the one time in nineteen years he departs from a written
instruction, because he can prove the instruction is wrong in four sentences.
Carries PQ1's Captain loop and an explicit refusal of PQ3's centre-pixel bug.

Case Five — The Butler Did It. Chain of custody on a birthday cake: photograph,
weigh with a witness, seal all forty forks. Eleven pounds light in the tier
nobody cuts, because she was inside it for four minutes while forty people
looked at it. And Frank will not suspect the butler because the literature says
it is always the butler, so suspecting him would be quoting rather than
investigating. It is the butler.

Case Nine — The Final Insult. The marriage is a gate, not a subplot: the finale
is locked behind actually answering the counsellor's question, and Jane's terms
are "before you go, not after". He doesn't disarm the envelope, he swaps it and
writes in a winner by hand. He picks the one he liked.

Two point budgets came in over (110, 115) and are trimmed to exactly 100.
Sprite generation needed a kill-and-restart: two overlapping runs were competing
for the farm and producing "Resource temporarily unavailable" — one clean pass
at pool 2 completed all four sets with zero failures.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 00:15:47 +10:00

53 lines
4.7 KiB
JSON

{
"name": "Drebin & Son, Locksmiths — 9 Gulch Street",
"enter_text": "A bell over the door, a key rack, and a machine neither of you has switched on.",
"music": 1,
"strokes": [
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 7, "meaning": "Floor" } },
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 62, "color": 8, "meaning": "Wall" } },
{ "Rect": { "x": 0, "y": 60, "w": 160, "h": 3, "color": 0, "meaning": "None" } },
{ "Rect": { "x": 0, "y": 63, "w": 160, "h": 105, "color": 7, "meaning": "Floor" } },
{ "Rect": { "x": 8, "y": 10, "w": 60, "h": 44, "color": 15, "meaning": "None" } },
{ "Rect": { "x": 12, "y": 14, "w": 52, "h": 3, "color": 0, "meaning": "None" } },
{ "Rect": { "x": 12, "y": 22, "w": 52, "h": 3, "color": 0, "meaning": "None" } },
{ "Rect": { "x": 12, "y": 30, "w": 52, "h": 3, "color": 0, "meaning": "None" } },
{ "Rect": { "x": 12, "y": 38, "w": 52, "h": 3, "color": 0, "meaning": "None" } },
{ "Rect": { "x": 12, "y": 46, "w": 34, "h": 3, "color": 0, "meaning": "None" } },
{ "Rect": { "x": 104, "y": 12, "w": 46, "h": 38, "color": 0, "meaning": "None" } },
{ "Rect": { "x": 108, "y": 16, "w": 38, "h": 30, "color": 15, "meaning": "None" } },
{ "Rect": { "x": 0, "y": 164, "w": 160, "h": 4, "color": 0, "meaning": "Wall" } }
],
"spawn": [18, 146],
"exits": [null, 2, null, 0],
"exit_flags": ["", "shop_trading", "", ""],
"exit_blocked": ["", "A shop with no customers is a shop nobody shakes down. Open up and do the work.", "", ""],
"objects": [
{ "name": "shopcounter", "sprite": "shopcounter", "x": 46, "y": 118,
"look": "The counter, the till, and a board of blanks going back to 1931. The previous owner left the board alphabetised and you have not changed it.",
"synonyms": "counter till board blanks shop",
"use_text": "You stand behind it the way a man stands behind a counter he intends to keep." },
{ "name": "keycutter", "sprite": "keycutter", "x": 116, "y": 116,
"look": "The cutting machine. Belt-driven, 1931, and in perfect order because somebody looked after it for twenty-seven years.",
"synonyms": "machine cutter blade wheel vice",
"points": 25, "sets_flag": "shop_trading",
"use_text": "You open at eight and you do the work. You cut two hundred and eleven keys in nine days. Every one of them turns. You do not cut a single one twice, because you read MODERN LOCKSMITHING, THIRD EDITION, and retained all of it. You re-pin a lock for the woman at forty-one and do not charge her because it took four minutes. You go out on a Sunday to a man locked out of his own bakery. You fit a mortice for the barber at cost and stay to make sure it closes true. By the second Friday there is a queue on the pavement at eight in the morning and Officer Nordberg is in the window with a cast on each arm, waving at people, and the shop is taking sixty dollars a week clear. You have, in nine days, entirely by accident, built the best small business on Gulch Street. (+25)" },
{ "name": "customer", "sprite": "customer", "x": 78, "y": 132,
"look": "Mrs. Ostrowski from forty-one, who has locked herself out three times this month and has stopped apologising for it, which you consider progress.",
"synonyms": "woman lady mrs ostrowski",
"use_text": "You cut her a spare and then a second spare, and you tell her to leave one with her sister, which is the only advice in MODERN LOCKSMITHING, THIRD EDITION that you fully understood.",
"dialogue": [
{ "says": "Mrs. Ostrowski: You're the new man. Number nine's been shut since old Bergman went.",
"choices": [
{ "text": "Drebin. What can I do for you?", "goto": 1 },
{ "text": "Do people on this street have trouble?", "goto": 2 } ] },
{ "says": "Mrs. Ostrowski: Locked out. Again. She puts a key on the counter and does not apologise, and you decide you like this street.",
"choices": [ { "text": "Do people on this street have trouble?", "goto": 2 } ] },
{ "says": "Mrs. Ostrowski: ...You want to talk to Mr. Halloran at the grocer's. Mrs. Ostrowski: No. You don't. Forget I said it. It's a nice street. She takes her keys and goes, and at the door she stops and does not turn round and says: 'He's had it worst. That's all.'",
"choices": [ { "text": "Thank you, Mrs. Ostrowski.", "goto": -1 } ] } ] },
{ "name": "nordberg", "sprite": "nordberg", "x": 124, "y": 144,
"look": "Officer Nordberg in the shop window with a cast on each arm, waving at passers-by. He has been doing this for nine days and takings are up.",
"synonyms": "norberg partner officer apprentice",
"use_text": "You ask him to stop waving. Takings drop eleven per cent. You ask him to start waving again." }
]
}