Case 8 1/2: The Heron — the Interpol team-up
Fifteen cases, all playable, all lint clean, all verified end-to-end. This one came in at 100/100 on the first verification pass, same as The Liaison. John asked for the Clouseau crossover — Drebin dragged into an Interpol team-up chasing a jewel thief to the UK. The archetype that was the wrong shape for the 1958 era is the exact right shape for Nielsen's Drebin: two detectives on one case, one oblivious-competent, one confident-catastrophic, each convinced the other is a genius. Done as always by archetype, never import: Inspecteur Gustave Fouchard of the Surete, twenty years on one thief, introduced disguised as a chalk outline he drew around himself from inside; an accent the parser's literalism keeps faithfully transcribing and correcting for units; Hugo the driver with standing instructions to attack him at irregular intervals, who crosses the Atlantic in an overhead bin (asking to join the programme is a death); and the Heron, a gentleman thief who leaves an engraved card with nothing on it, because he is not telling you who he is, he is telling you he has a stationer. The thief is R. Fanshawe-Root — cousin of the Quartet's Professor. The family that plans versus the family that does. The scheme launders the stolen Rose through the auction house's own catalogue via a paste copy consigned before the stone ever left Antwerp; Fouchard's destruction of the plinth (a structural event, per the insurance filings) is what exposes the paste, because his catastrophes are always accidentally probative. The catch is the most Drebin thing in the campaign: no signal, no weapon, mid-bidding on the next lot — routine inspection, sir, would you mind turning out your pockets. And he does, because in twenty years and forty-one operations involving a submarine and a trained cormorant, nobody has ever simply asked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
39
DESIGN.md
@ -212,6 +212,45 @@ It also quietly answers Case Eleven's open question: *why did he stop?* The last
|
||||
tin is dated the month Walter Prosky drew nine to fifteen for the Ardmore job.
|
||||
Nobody has ever asked him why he stopped, so he has never had to find out.
|
||||
|
||||
### The third crossover — the French inspector (1992)
|
||||
|
||||
**`cases/case-08b-the-heron/`** — Act II, full colour, slotted between *2½* and
|
||||
*33⅓*. In §2 above, Clouseau was ruled out of the 1958 era for being a bumbling
|
||||
*detective* rather than a criminal — which is exactly why the archetype is
|
||||
perfect for **Nielsen's Drebin**: two detectives on one case, one
|
||||
oblivious-competent, one confident-catastrophic, each convinced the other is a
|
||||
genius. Same rule as always: **archetype parody, never character import** — all
|
||||
original names and lines.
|
||||
|
||||
**Inspecteur Gustave Fouchard, Sûreté** — twenty years on one thief, methods
|
||||
that "continue to be discussed". Introduced disguised as a chalk outline at the
|
||||
crime scene, drawn around himself, from inside ("ze only way to know what ze
|
||||
floor knows"). Drebin is the first policeman in eleven countries to notice the
|
||||
outline breathing, which is how the partnership is founded. The accent runs
|
||||
through the parser's natural literalism: *ze joules* (Drebin notes the units
|
||||
are wrong), *ze wetness* (Drebin checks the weather), and every correction is
|
||||
received with enormous respect: "Zis is what I said."
|
||||
|
||||
**Hugo**, his driver, holds standing instructions to attack him without warning
|
||||
at irregular intervals to maintain readiness, pays his own airfare, and crosses
|
||||
the Atlantic in an overhead bin. Asking to observe the programme is a Sierra
|
||||
death.
|
||||
|
||||
**The Heron** — a gentleman jewel thief, forty-one jobs in eleven countries,
|
||||
photographed eleven times, bowing in every photograph, who leaves an engraved
|
||||
card with nothing on it (he is not telling you who he is; he is telling you he
|
||||
has a stationer). He is **R. Fanshawe-Root** — cousin of the Quartet's
|
||||
Professor, the family that plans versus the family that does. The scheme: the
|
||||
LA theft happened four days before anyone noticed (the velvet's fade ring), and
|
||||
a paste copy was consigned to Harrogate's *before the Rose left Antwerp* — the
|
||||
real stone to be swapped in at the moment of sale, laundering it through the
|
||||
auction house's own catalogue, with the house as unwitting fence.
|
||||
|
||||
**The catch is pure Drebin:** no signal, no weapon, mid-bidding on Lot 45 —
|
||||
"Routine inspection, sir. Would you mind turning out your pockets." And he
|
||||
does, because in twenty years, through forty-one operations involving a
|
||||
submarine and a trained cormorant, **nobody has ever simply asked.**
|
||||
|
||||
### Drebin Jr's homage (John's original ask)
|
||||
|
||||
Neeson's register is *sincerity* where Nielsen's was obliviousness. Jr. isn't
|
||||
|
||||
@ -12,7 +12,7 @@ itself a reimplementation of AGI, the engine Sierra shipped *Police Quest* on.
|
||||
- **[DESIGN.md](DESIGN.md)** — the game bible: the joke engine, the two Drebins,
|
||||
the eleven-case campaign, and how it all maps onto MRPGI data.
|
||||
|
||||
**Fourteen cases, all playable, all verified end-to-end at 100/100** (Case One is
|
||||
**Fifteen cases, all playable, all verified end-to-end at 100/100** (Case One is
|
||||
95 + 5 optional). `python3 tools/lint.py` checks all thirteen clean.
|
||||
|
||||
## Play
|
||||
@ -45,6 +45,7 @@ cargo run -p mrpgi --manifest-path ~/Documents/MRPGI/Cargo.toml -- --game cases/
|
||||
| `cases/case-06-testimony-of-evil/` | **Case Six — playable, 100 points.** Drebin (Nielsen), 1982, monochrome. Five rooms, the whiskey exploit, four deaths. |
|
||||
| `cases/case-07-from-the-files/` | **Case Seven — playable, 100 points.** Drebin (Nielsen), 1988, full colour. Six rooms, the Anaheim Stadium finale. |
|
||||
| `cases/case-02-ring-of-fear/` | **Case Two — playable, 100 points.** Drebin (Nielsen), 1982, monochrome. Five rooms, undercover, three deaths. |
|
||||
| `cases/case-08b-the-heron/` | **Case 8½ — playable, 100 points.** Interpol team-up: Drebin and a Sûreté legend chase a gentleman jewel thief to London. Five rooms. |
|
||||
| `cases/case-09-final-insult/` | **Case Nine — playable, 100 points.** Four rooms, prison undercover and the envelope. |
|
||||
| `cases/case-10-plot-device/` | **Case Ten — playable, 100 points.** Drebin Jr (Neeson), 2025, cold palette. Six rooms, the arena finale and the owl. |
|
||||
| `cases/case-08-smell-of-fear/` | **Case Eight — playable, 100 points.** Drebin (Nielsen), 1991, full colour. Five rooms, the memory test. |
|
||||
|
||||
21
cases/case-08b-the-heron/game.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "Police Squad Quest — Case Eight-and-a-Half: The Heron",
|
||||
"start_room": 0,
|
||||
"max_score": 100,
|
||||
"intro_text": "It's a small world, and somebody keeps stealing the valuable parts of it. Last night the Sazerac Rose — a pink diamond the size of a strawberry, with a flaw at its heart in the shape of absolutely nothing — vanished from its case at the Wilshire Exhibition Hall, and this morning Interpol telephoned to say they were sending their finest man. My father was a liaison once, in 1965, for two weeks. He never said one word about it, which for my father was practically a press conference. My name is Drebin. Detective Lieutenant Frank Drebin, Police Squad. Now it's my turn. Type 'help'.",
|
||||
"death_text": "† OFFICER DOWN. The Rose stays gone. The day restarts. †",
|
||||
"verbs": [
|
||||
{ "name": "use", "words": ["frisk", "search", "cuff", "arrest", "radio", "halt", "translate", "board", "bid", "empty", "check"] },
|
||||
{ "name": "look", "words": ["investigate", "observe", "detect", "examine"] },
|
||||
{ "name": "talk", "words": ["interrogate", "question", "brief"] }
|
||||
],
|
||||
"flags": {
|
||||
"read_dossier": false,
|
||||
"briefed": false,
|
||||
"seen_scene": false,
|
||||
"got_card": false,
|
||||
"met_inspector": false,
|
||||
"landed": false,
|
||||
"found_paste": false
|
||||
}
|
||||
}
|
||||
75
cases/case-08b-the-heron/rooms/room0.json
Normal file
@ -0,0 +1,75 @@
|
||||
{
|
||||
"name": "Police Squad HQ — Squad Room",
|
||||
"enter_text": "Interpol has telexed four times since breakfast. Nordberg is trying to feed the telex a second sheet while it is still eating the first.",
|
||||
"music": 3,
|
||||
"strokes": [
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 7, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 58, "color": 3, "meaning": "Wall" } },
|
||||
{ "Rect": { "x": 0, "y": 58, "w": 160, "h": 110, "color": 7, "meaning": "Floor" } },
|
||||
{ "Rect": { "x": 0, "y": 55, "w": 160, "h": 3, "color": 0, "meaning": "None" } },
|
||||
{ "Rect": { "x": 100, "y": 12, "w": 46, "h": 32, "color": 15, "meaning": "None" } },
|
||||
{ "Rect": { "x": 122, "y": 12, "w": 2, "h": 32, "color": 0, "meaning": "None" } },
|
||||
{ "Rect": { "x": 100, "y": 26, "w": 46, "h": 2, "color": 0, "meaning": "None" } },
|
||||
{ "Rect": { "x": 14, "y": 14, "w": 42, "h": 30, "color": 15, "meaning": "None" } },
|
||||
{ "Rect": { "x": 18, "y": 20, "w": 30, "h": 3, "color": 8, "meaning": "None" } },
|
||||
{ "Rect": { "x": 18, "y": 28, "w": 24, "h": 3, "color": 8, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 5, "h": 168, "color": 0, "meaning": "Wall" } },
|
||||
{ "Rect": { "x": 0, "y": 163, "w": 160, "h": 5, "color": 0, "meaning": "Wall" } }
|
||||
],
|
||||
"spawn": [86, 148],
|
||||
"exits": [null, 1, null, null],
|
||||
"exit_flags": ["", "briefed", "", ""],
|
||||
"exit_blocked": ["", "You have an international liaison assignment and you have not been briefed on it. There is an order to these things and the order is the point of them.", "", ""],
|
||||
"objects": [
|
||||
{
|
||||
"name": "dossier",
|
||||
"sprite": "casefile",
|
||||
"x": 62,
|
||||
"y": 130,
|
||||
"look": "The Interpol dossier. THE HERON — twenty years, forty-one confirmed thefts across eleven countries, jewels only, no violence, no prints, no witnesses. Photographed eleven times. In every photograph, he is bowing.",
|
||||
"synonyms": "interpol file folder papers heron",
|
||||
"points": 10,
|
||||
"sets_flag": "read_dossier",
|
||||
"use_text": "You read all of it. Forty-one jobs and after every one of them, left at the scene, an engraved visiting card with nothing on it. No name, no message. He is not telling you who he is. He is telling you he has a stationer. The final page is a personnel note: the case officer is Inspecteur Gustave Fouchard of the Sûreté, who has pursued the Heron for twenty years, and whom the dossier describes, in a sentence that has clearly survived several rounds of legal review, as 'an investigator of extraordinary persistence whose methods continue to be discussed.' (+10)"
|
||||
},
|
||||
{
|
||||
"name": "nordberg",
|
||||
"sprite": "nordberg",
|
||||
"x": 138,
|
||||
"y": 152,
|
||||
"look": "Officer Nordberg and the telex machine have reached an understanding: it takes what it wants.",
|
||||
"synonyms": "norberg partner officer telex",
|
||||
"use_text": "You help Nordberg free his tie from the telex. The telex issues a receipt."
|
||||
},
|
||||
{
|
||||
"name": "hocken",
|
||||
"sprite": "hocken",
|
||||
"x": 106,
|
||||
"y": 126,
|
||||
"look": "Captain Ed Hocken, holding the fourth telex from Lyon and the expression of a man who has read the previous three.",
|
||||
"synonyms": "captain ed boss",
|
||||
"dialogue": [
|
||||
{
|
||||
"says": "Hocken: The Sazerac Rose, Frank. On tour from Antwerp, insured for eleven million, gone out of a sealed case in a guarded hall between midnight and ten past. Hocken: And Interpol says it's their man. The Heron. Twenty years they've chased him, and now he's done a job on our patch, and they're sending the inspector who knows him best.",
|
||||
"choices": [
|
||||
{ "text": "I've read the dossier, Captain.", "goto": 1 },
|
||||
{ "text": "What do we know about this inspector?", "goto": 2 },
|
||||
{ "text": "I'm ready to liaise, Captain.", "goto": 3, "requires_flag": "read_dossier", "sets_flag": "briefed", "points": 10 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"says": "Hocken: Then you know the man's never used a weapon, never left a print, and never once been seen arriving or leaving. Hocken: Frank, a thief like that isn't stealing jewels. He's making a point. Nobody's ever worked out what the point is, which I suppose is the point.",
|
||||
"choices": [ { "text": "What do we know about the inspector?", "goto": 2 } ]
|
||||
},
|
||||
{
|
||||
"says": "Hocken: Twenty years on one man. Eleven countries. The file says his methods 'continue to be discussed'. Hocken: I telephoned a captain I know in Nice and asked about him. He was quiet for a while, Frank. Then he said: 'You will know him when the room changes.' Hocken: I asked, changes how. He said, 'in number of pieces', and hung up.",
|
||||
"choices": [ { "text": "I'm ready to liaise, Captain.", "goto": 3, "requires_flag": "read_dossier", "sets_flag": "briefed", "points": 10 } ]
|
||||
},
|
||||
{
|
||||
"says": "Hocken: Good. He's at the exhibition hall now — he went straight from the airport. Frank, whatever he does out there, he is a guest of this department. Hocken: And Frank. The scene has been sealed for nine hours. It is pristine. It is the cleanest crime scene this department has ever held. He says it the way a man says a thing he already knows to be over.",
|
||||
"choices": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
89
cases/case-08b-the-heron/rooms/room1.json
Normal file
@ -0,0 +1,89 @@
|
||||
{
|
||||
"name": "Wilshire Exhibition Hall — The Scene",
|
||||
"enter_text": "Sealed for nine hours, pristine at ten, and as of eleven o'clock there is a man in it with a magnifying glass and something has already broken.",
|
||||
"music": 2,
|
||||
"strokes": [
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 7, "meaning": "Floor" } },
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 60, "color": 1, "meaning": "Wall" } },
|
||||
{ "Rect": { "x": 0, "y": 58, "w": 160, "h": 3, "color": 14, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 61, "w": 160, "h": 107, "color": 7, "meaning": "Floor" } },
|
||||
{ "Rect": { "x": 12, "y": 10, "w": 40, "h": 40, "color": 9, "meaning": "None" } },
|
||||
{ "Rect": { "x": 16, "y": 14, "w": 32, "h": 32, "color": 1, "meaning": "None" } },
|
||||
{ "Rect": { "x": 108, "y": 10, "w": 40, "h": 40, "color": 9, "meaning": "None" } },
|
||||
{ "Rect": { "x": 112, "y": 14, "w": 32, "h": 32, "color": 1, "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": ["", "met_inspector", "", ""],
|
||||
"exit_blocked": ["", "You are not leaving this scene until you have been formally introduced to the man who is currently dismantling it.", "", ""],
|
||||
"objects": [
|
||||
{
|
||||
"name": "emptydome",
|
||||
"sprite": "emptydome",
|
||||
"x": 46,
|
||||
"y": 116,
|
||||
"look": "The case the Rose lived in. Sealed glass, pressure alarms, a guard eleven feet away all night — and it is empty, and the seals are intact, and the alarms never fired. On the cushion where an eleven-million-dollar diamond used to be, there is a small engraved card.",
|
||||
"synonyms": "case glass display cushion seals",
|
||||
"points": 10,
|
||||
"sets_flag": "seen_scene",
|
||||
"use_text": "You work the case properly: seals, hinge, alarm circuit, cushion. The seals were never opened. The glass was never cut. The alarm was never bypassed, because the alarm was never triggered, because — you check twice — the case has been empty longer than anybody thinks. The velvet shows a fade ring. Under exhibition lighting, the Rose stopped shading that cushion at least four days ago. It was stolen before it ever went on display, and for four days ten thousand people queued to look at a spotlight. (+10)"
|
||||
},
|
||||
{
|
||||
"name": "callingcard",
|
||||
"sprite": "callingcard",
|
||||
"x": 66,
|
||||
"y": 128,
|
||||
"look": "The card. Heavy stock, engraved borders, and nothing on it whatsoever. Forty-two of these now exist in evidence rooms across eleven countries. This is the forty-second and it is the only one in a country where you hold a badge.",
|
||||
"synonyms": "visiting engraved blank stationery",
|
||||
"requires_flag": "seen_scene",
|
||||
"points": 10,
|
||||
"sets_flag": "got_card",
|
||||
"use_text": "You bag it, seal it, initial it and log the time, and then you do the thing eleven countries have apparently not done: you turn it over. On the reverse, in pencil, very small, in a hand that clearly regretted needing to do it at all: an auction lot number, and Thursday's date, and the single word HARROGATE'S. The Heron has never left a message in twenty years. This is not a message to the police. It is a message to somebody else — and Harrogate's is an auction house, and it is in London. (+10)"
|
||||
},
|
||||
{
|
||||
"name": "outline",
|
||||
"sprite": "outline2",
|
||||
"x": 108,
|
||||
"y": 140,
|
||||
"look": "There is a chalk outline on the parquet. Nobody died here. No officer of this department drew an outline. There was no reason for an outline, and there is an outline, and it is a very good one. It is also, you note over the course of a minute, very slightly breathing.",
|
||||
"synonyms": "chalk figure parquet floor",
|
||||
"requires_flag": "got_card",
|
||||
"points": 10,
|
||||
"sets_flag": "met_inspector",
|
||||
"use_text": "You address the outline directly, because there is a way to do these things, and you say: 'Good morning, Inspector.' The outline rises. Chalk dust everywhere. A trench coat, a moustache, a magnifying glass, and a handshake like a mousetrap going off. Fouchard: 'Inspecteur Gustave Fouchard, Sûreté. You are ze first policeman in eleven countries to notice ze breathing. We will work well togezzer, you and I.' He had been the outline for five hours. He drew it around himself, from inside, which he says is 'ze only way to know what ze floor knows'. You write that down. You have no idea what it means. You will think about it for the rest of your life. (+10)"
|
||||
},
|
||||
{
|
||||
"name": "inspector",
|
||||
"sprite": "frenchcop",
|
||||
"x": 130,
|
||||
"y": 126,
|
||||
"look": "Inspecteur Gustave Fouchard, Sûreté, twenty years on one thief. He is examining the guard's chair through the magnifying glass, at a range of one inch, with total concentration, and he has been doing it for some time. The chair is not evidence. The chair is where he put his sandwich.",
|
||||
"synonyms": "fouchard gustave surete french detective",
|
||||
"visible_flag": "met_inspector",
|
||||
"use_text": "You compare notes. Fouchard: 'Ze Heron has made his first mistake in twenty years, mon ami. He has stolen ze joules.' You note, for the file, that joules are units of energy, and that the missing item is a diamond. Fouchard looks at you for a long moment, with enormous respect. Fouchard: 'Zis is what I said.'",
|
||||
"dialogue": [
|
||||
{
|
||||
"says": "Fouchard: Twenty years I chase zis man. Eleven countries. Four promotions — none of zem mine. Fouchard: But now — now he steals in ze city of ze great Drebin, and togezzer we will find ze wetness.",
|
||||
"choices": [
|
||||
{ "text": "The witness.", "goto": 1 },
|
||||
{ "text": "There were no witnesses, Inspector.", "goto": 1 },
|
||||
{ "text": "I'll check the weather.", "goto": 2 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"says": "Fouchard: Zis is what I said. Ze wetness. He produces a notebook of his own and shows you a page. It is a list of forty-one names, one per job, twenty years of them — every hotel doorman, every night porter, every cloakroom girl who ever half-saw a man who bowed. Fouchard: Nobody interviews ze little people, Inspector Drebin. I interview only ze little people. Ze big people never see anything. Zey are too busy being seen. It is, and you write this down as well, the single soundest investigative principle you have heard in thirty years.",
|
||||
"choices": [ { "text": "The little people. Noted.", "goto": 3 } ]
|
||||
},
|
||||
{
|
||||
"says": "Fouchard: Ze weather also, yes. Be thorough.",
|
||||
"choices": [ { "text": "The witness list, Inspector.", "goto": 1 } ]
|
||||
},
|
||||
{
|
||||
"says": "Fouchard: Ze card says London. Ze auction is Thursday. Fouchard: You will come wiz me, of course. Interpol has authorised one liaison and I have chosen you, because you noticed ze breathing, and because — he lowers ze magnifying glass — in forty years of police work, Inspector Drebin, I have met only one ozzer man who writes down everything I say. You ask who. Fouchard: Ze Heron. He keeps ze clippings.",
|
||||
"choices": [ { "text": "Then let's go to London.", "goto": -1 } ]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
43
cases/case-08b-the-heron/rooms/room2.json
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "Flight 209 — Los Angeles to London",
|
||||
"enter_text": "Eleven hours. The inspector has the window seat, the middle seat, and, in some administrative sense nobody can untangle, your seat.",
|
||||
"music": 1,
|
||||
"strokes": [
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 7, "meaning": "Floor" } },
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 52, "color": 9, "meaning": "Wall" } },
|
||||
{ "Rect": { "x": 0, "y": 50, "w": 160, "h": 3, "color": 15, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 53, "w": 160, "h": 115, "color": 7, "meaning": "Floor" } },
|
||||
{ "Rect": { "x": 10, "y": 12, "w": 20, "h": 14, "color": 11, "meaning": "None" } },
|
||||
{ "Rect": { "x": 44, "y": 12, "w": 20, "h": 14, "color": 11, "meaning": "None" } },
|
||||
{ "Rect": { "x": 78, "y": 12, "w": 20, "h": 14, "color": 11, "meaning": "None" } },
|
||||
{ "Rect": { "x": 112, "y": 12, "w": 20, "h": 14, "color": 11, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 164, "w": 160, "h": 4, "color": 0, "meaning": "Wall" } }
|
||||
],
|
||||
"spawn": [20, 146],
|
||||
"exits": [null, 3, null, 1],
|
||||
"exit_flags": ["", "landed", "", ""],
|
||||
"exit_blocked": ["", "The aircraft is over Greenland. Even you cannot walk to London from here.", "", ""],
|
||||
"objects": [
|
||||
{
|
||||
"name": "planeseat",
|
||||
"sprite": "planeseat",
|
||||
"x": 60,
|
||||
"y": 118,
|
||||
"look": "Row 14. The inspector is asleep against the window in his trench coat, holding the magnifying glass the way other men hold a photograph. The in-flight film is a romantic comedy. He wept through the safety demonstration instead and then slept through the film.",
|
||||
"synonyms": "row seats cabin fourteen aircraft",
|
||||
"points": 5,
|
||||
"sets_flag": "landed",
|
||||
"use_text": "Eleven hours. Somewhere over the Atlantic you review the file and the inspector, waking briefly, reviews you. Fouchard: 'You are wondering, mon ami, why a man leaves a blank card for twenty years and zen writes an auction number on ze back.' You confirm it. Fouchard: 'Because for twenty years, nobody was chasing him who could read.' He goes back to sleep. You look at the card, and the pencil hand, and the fade ring in your memory of the velvet, and somewhere over Greenland the shape of it arrives all at once, the way weather does: the Heron is not selling the Rose at Harrogate's. The Heron is buying something. (+5)"
|
||||
},
|
||||
{
|
||||
"name": "hugo",
|
||||
"sprite": "hugo",
|
||||
"x": 118,
|
||||
"y": 132,
|
||||
"look": "A compact man in a chauffeur's uniform is wedged in the overhead bin above row 20, perfectly still, watching the inspector through the gap. This is Hugo, the inspector's driver. He is not on the passenger manifest and Fouchard has not looked up once.",
|
||||
"synonyms": "chauffeur driver valet uniform bin",
|
||||
"kills": true,
|
||||
"use_text": "You ask Hugo what he is doing in the overhead bin. Hugo explains, courteously, that he is the inspector's driver, that he holds standing instructions to attack the inspector without warning at irregular intervals in order to maintain the inspector's readiness, that he pays his own airfare, that he regards it as the finest position in France, and that the bin gives excellent coverage of rows twelve through eighteen. You ask — and afterwards you will accept that this was the error — whether the programme accepts observers. It does."
|
||||
}
|
||||
]
|
||||
}
|
||||
61
cases/case-08b-the-heron/rooms/room3.json
Normal file
@ -0,0 +1,61 @@
|
||||
{
|
||||
"name": "Harrogate's of St James's — Viewing Day",
|
||||
"enter_text": "Two hundred years of auction house. Everything in this room is worth more than your pension and is insured against everything except what is about to happen to it.",
|
||||
"music": 5,
|
||||
"strokes": [
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 6, "meaning": "Floor" } },
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 60, "color": 4, "meaning": "Wall" } },
|
||||
{ "Rect": { "x": 0, "y": 12, "w": 160, "h": 3, "color": 14, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 58, "w": 160, "h": 3, "color": 14, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 61, "w": 160, "h": 107, "color": 6, "meaning": "Floor" } },
|
||||
{ "Rect": { "x": 14, "y": 18, "w": 34, "h": 34, "color": 0, "meaning": "None" } },
|
||||
{ "Rect": { "x": 18, "y": 22, "w": 26, "h": 26, "color": 6, "meaning": "None" } },
|
||||
{ "Rect": { "x": 112, "y": 18, "w": 34, "h": 34, "color": 0, "meaning": "None" } },
|
||||
{ "Rect": { "x": 116, "y": 22, "w": 26, "h": 26, "color": 6, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 164, "w": 160, "h": 4, "color": 0, "meaning": "Wall" } }
|
||||
],
|
||||
"spawn": [18, 146],
|
||||
"exits": [null, 4, null, 2],
|
||||
"exit_flags": ["", "found_paste", "", ""],
|
||||
"exit_blocked": ["", "Lot 44 is on that plinth and something about it is wrong, and you do not go to the evening sale until you know what.", "", ""],
|
||||
"objects": [
|
||||
{
|
||||
"name": "rostrum",
|
||||
"sprite": "podium",
|
||||
"x": 40,
|
||||
"y": 112,
|
||||
"look": "The auctioneer's rostrum, roped off for tomorrow's evening sale. The catalogue lies open at Lot 44: A PINK DIAMOND OF EXCEPTIONAL PURITY, PROPERTY OF A GENTLEMAN.",
|
||||
"synonyms": "auctioneer lectern catalogue lot",
|
||||
"use_text": "You read the catalogue entry for Lot 44 four times. PROPERTY OF A GENTLEMAN is auction-house language for 'do not ask'. The consignment date is three weeks ago — which is BEFORE the Sazerac Rose left Antwerp on tour. Somebody consigned a pink diamond to Harrogate's while the pink diamond everyone would compare it to was still safely locked up and about to leave the continent."
|
||||
},
|
||||
{
|
||||
"name": "pinkdiamond",
|
||||
"sprite": "pinkdiamond",
|
||||
"x": 80,
|
||||
"y": 118,
|
||||
"look": "Lot 44, on its plinth, under glass. Pink, the size of a strawberry, catalogued at four to six million. It is very beautiful. The inspector has been circling it for an hour, at a range of one inch, making a noise like a kettle.",
|
||||
"synonyms": "rose lot44 gem stone jewel",
|
||||
"use_text": "You look at it the way Olson taught you to look at things: without wanting anything. It is perfect. That is what is wrong with it. The Sazerac Rose has a famous flaw at its heart in the shape of absolutely nothing — and this stone's heart is not empty. It is merely flawless. You cannot prove a stone is the wrong stone because its flaw is insufficiently shaped like nothing. You are going to need the inspector."
|
||||
},
|
||||
{
|
||||
"name": "plinth",
|
||||
"sprite": "plinth",
|
||||
"x": 118,
|
||||
"y": 122,
|
||||
"look": "The plinth under Lot 44. Georgian mahogany, museum glass, and a brass plaque asking patrons in two languages not to lean.",
|
||||
"synonyms": "stand mahogany base display glass",
|
||||
"points": 20,
|
||||
"sets_flag": "found_paste",
|
||||
"use_text": "You ask the inspector for his professional assessment of the stone. What happens next takes nine seconds and will be described in the insurance filings as 'a structural event'. Fouchard leans in with the magnifying glass. Hugo, arriving from behind a tapestry in fulfilment of his standing instructions, meets the inspector at the plinth. The plinth, the glass, Lot 44, the tapestry, a Regency side table, and a marble bust of the founder all reach the floor in an order that experts will dispute for years. In the wreckage, the truth: Lot 44 has bounced. Diamonds do not bounce. Lot 44 is paste — a copy, consigned three weeks ago, catalogued, verified by the house, and waiting for tomorrow's evening sale, where the REAL Rose would quietly replace it at the moment of sale, laundering eleven million dollars of stolen diamond through Harrogate's own catalogue, with the auction house itself as the unwitting fence. The buyer at tomorrow's sale would walk out with the genuine Rose and a genuine receipt. The Heron did not write the lot number for the police. He wrote it for his buyer — and the sale is tomorrow, and the buyer is coming, and so is he. Fouchard, from inside the tapestry: 'You see, mon ami. Ze room has spoken.' (+20)"
|
||||
},
|
||||
{
|
||||
"name": "inspector",
|
||||
"sprite": "frenchcop",
|
||||
"x": 138,
|
||||
"y": 144,
|
||||
"look": "The inspector, being helped out of a tapestry by two porters who have already stopped asking questions.",
|
||||
"synonyms": "fouchard gustave surete french detective",
|
||||
"use_text": "You confirm the plan for tomorrow: evening dress, the sale, no arrests until the switch — take him holding the real stone or not at all. Fouchard: 'Ze last time I wore ze evening dress, Inspector Drebin, I was mistaken for ze headwaiter by ze Belgian ambassador.' He straightens the moustache. Fouchard: 'Nine people gave me zeir coats. I solved two of zem.'"
|
||||
}
|
||||
]
|
||||
}
|
||||
58
cases/case-08b-the-heron/rooms/room4.json
Normal file
@ -0,0 +1,58 @@
|
||||
{
|
||||
"name": "Harrogate's — The Evening Sale",
|
||||
"enter_text": "White tie, a chandelier, and two hundred people who all know each other's net worth to the pound. Lot 44 is next.",
|
||||
"music": 5,
|
||||
"strokes": [
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 6, "meaning": "Floor" } },
|
||||
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 56, "color": 4, "meaning": "Wall" } },
|
||||
{ "Rect": { "x": 0, "y": 10, "w": 160, "h": 3, "color": 14, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 54, "w": 160, "h": 3, "color": 14, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 57, "w": 160, "h": 111, "color": 6, "meaning": "Floor" } },
|
||||
{ "Rect": { "x": 20, "y": 60, "w": 120, "h": 100, "color": 4, "meaning": "None" } },
|
||||
{ "Rect": { "x": 24, "y": 64, "w": 112, "h": 2, "color": 14, "meaning": "None" } },
|
||||
{ "Rect": { "x": 0, "y": 164, "w": 160, "h": 4, "color": 0, "meaning": "Wall" } }
|
||||
],
|
||||
"spawn": [20, 148],
|
||||
"exits": [null, null, null, 3],
|
||||
"objects": [
|
||||
{
|
||||
"name": "chandelier",
|
||||
"sprite": "chandelier",
|
||||
"x": 78,
|
||||
"y": 72,
|
||||
"look": "The chandelier. Two hundred years old, four hundred candles' worth of electric light, and directly beneath it, the inspector, who has been looking up at it for some time with an expression you have learned to act on immediately.",
|
||||
"synonyms": "crystal lights ceiling fixture",
|
||||
"use_text": "You ask the inspector to move out from under the chandelier. He does, with dignity, remarking that in twenty years of zis work he has been struck by only four chandeliers, and that on each occasion ze room was improved by ze extra light being lower down. Ninety seconds later the chandelier holds. It is the first structure to survive his proximity all week, and he glances up at it, once, with something close to disappointment."
|
||||
},
|
||||
{
|
||||
"name": "armour",
|
||||
"sprite": "armour",
|
||||
"x": 30,
|
||||
"y": 108,
|
||||
"look": "A suit of seventeenth-century plate armour flanks the saleroom door. House records state it is empty. It is standing slightly differently than it was an hour ago, and its halberd is being held correctly, which no display armour ever does.",
|
||||
"synonyms": "plate suit halberd knight metal",
|
||||
"use_text": "You address the armour: 'Good evening, Inspector.' A pause. The armour, muffled, with dignity: 'Ze Heron has seen my face for twenty years, mon ami. Tonight he sees only ze fifteenth century.' You note for the record that the armour is seventeenth-century. The armour, after a longer pause: 'Zen he is DOUBLY deceived.'"
|
||||
},
|
||||
{
|
||||
"name": "hugo",
|
||||
"sprite": "hugo",
|
||||
"x": 132,
|
||||
"y": 96,
|
||||
"look": "Hugo, in the gallery above the saleroom, in a waiter's jacket over his chauffeur's uniform, poised on the balustrade like a man who has read about falcons. His standing instructions do not pause for auctions. Nobody has told him which of the two hundred guests is off-limits, because it has never once occurred to the inspector that this information would be needed.",
|
||||
"synonyms": "chauffeur driver valet balustrade waiter",
|
||||
"use_text": "You catch Hugo's eye and indicate the suit of armour by the door. Hugo nods slowly, professionally, gratefully — a man being handed the finest readiness-maintenance opportunity of his career. What happens at the moment of the arrest is therefore, formally, your doing, and it goes in your report, and the report is nine pages, and four of those pages are about the armour."
|
||||
},
|
||||
{
|
||||
"name": "fanshawe",
|
||||
"sprite": "fanshawe",
|
||||
"x": 96,
|
||||
"y": 130,
|
||||
"look": "Paddle 61. Silver temples, white tie, and the stillness of a man who has stood in two hundred rooms like this one and owned something in most of them. The catalogue lists him as R. FANSHAWE-ROOT — which is a name you have seen once before, in a 1958 file your father closed, attached to a man whose plans were magnificent and never once worked. This one's work, evidently, works. He has not looked at Lot 44 all evening. He is the only person in the room not looking at it, which is how you know.",
|
||||
"synonyms": "paddle gentleman heron cousin silver",
|
||||
"requires_flag": "found_paste",
|
||||
"wins": true,
|
||||
"points": 25,
|
||||
"use_text": "Lot 44 opens at two million. Paddle 61 does not move. The switch, when it comes, is beautiful — a porter's tray, a catalogue passed back for signature, eleven seconds in which the paste goes into the house's hands and the true Rose crosses the room in a gentleman's breast pocket, and not one camera in the building sees it. You saw it. You have been watching the only man not watching, all evening, which your father would have called the whole job. You do not signal the armour. You do not draw. You walk across the saleroom during the bidding on Lot 45, and you say, quietly, with your badge open: 'Routine inspection, sir. Would you mind turning out your pockets.' And he does. Because in twenty years, across eleven countries, through forty-one operations involving helicopters, cofferdams, a submarine and, on one occasion in Monte Carlo, a trained cormorant — nobody has ever simply asked. The Sazerac Rose comes out onto his white glove and sits there, pink as a strawberry, flawed at its heart in the shape of absolutely nothing. Fanshawe-Root: 'Twenty years. Interpol built three task forces. Two governments fell — not because of me, but I was THERE. And it ends with a man with a notebook, asking nicely.' He looks at you with genuine professional warmth. Fanshawe-Root: 'My cousin Cecil wrote to me about your city once, Inspector. He said the plans there never work. I see now what he meant.' At the door, the armour starts forward to make the arrest, and Hugo, in fulfilment of standing instructions and your specific nod, meets it mid-saleroom. The two hundred guests will describe what follows in two hundred slightly different ways, all of them correct. Fouchard emerges from the wreckage holding the halberd and one of his own shoes, and formally arrests the Heron on behalf of eleven countries, and weeps, and embraces him, and then embraces you, and then, briefly and by error, the auctioneer. The Rose goes back to Antwerp. Hugo is promoted to a rank the Sûreté has to invent. And on the flight home you write it all up — the outline that breathed, the joules, the wetness, the fifteenth century — every word of it true, and Captain Hocken signs it without reading it, and everybody freezes, smiling, holding it — except the telex, which is still going, and which has begun, very slowly, to eat the commendation. (+25)"
|
||||
}
|
||||
]
|
||||
}
|
||||
14
cases/case-08b-the-heron/sprites.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"_comment": "Act II, 1992, full colour. Interpol team-up. Shared sprites copied from case-07.",
|
||||
"frenchcop": { "h": 26, "prompt": "A French detective inspector in a belted beige trench coat and small dark moustache facing the viewer, holding an enormous magnifying glass up to one eye, chin lifted, supremely confident expression, full colour" },
|
||||
"hugo": { "h": 24, "prompt": "A compact wiry chauffeur in a grey uniform and peaked cap caught mid flying leap sideways through the air, arms outstretched toward the viewer, determined expression, full colour" },
|
||||
"fanshawe": { "h": 26, "prompt": "An elegant silver templed gentleman in white tie evening dress facing the viewer, hands clasped behind his back, small courteous smile, full colour" },
|
||||
"callingcard": { "h": 8, "prompt": "A small engraved visiting card, completely blank, lying on dark velvet, single object, full colour" },
|
||||
"pinkdiamond": { "h": 12, "prompt": "A large pink diamond on a black cushion under a glass display dome, sparkling, single object, full colour" },
|
||||
"emptydome": { "h": 18, "prompt": "An empty glass display dome on a marble museum plinth lit by a single spotlight, seen from the front, full colour" },
|
||||
"plinth": { "h": 18, "prompt": "A museum display plinth with its glass dome shattered and a splintered false bottom hanging open, seen from the front, full colour" },
|
||||
"armour": { "h": 28, "prompt": "A full suit of medieval plate armour standing in a manor hallway holding a halberd, leaning slightly to one side, full colour" },
|
||||
"planeseat": { "h": 20, "prompt": "A row of three 1990s airliner seats in blue upholstery with an open overhead bin above them, seen from the front, full colour" },
|
||||
"chandelier": { "h": 16, "prompt": "An ornate crystal chandelier blazing with candle light, seen from slightly below, full colour" },
|
||||
"outline2": { "h": 12, "prompt": "A white chalk outline of a sprawled human figure drawn on polished parquet flooring, seen from above at a shallow angle, full colour" }
|
||||
}
|
||||
BIN
cases/case-08b-the-heron/sprites/armour.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
cases/case-08b-the-heron/sprites/callingcard.png
Normal file
|
After Width: | Height: | Size: 240 B |
BIN
cases/case-08b-the-heron/sprites/casefile.png
Normal file
|
After Width: | Height: | Size: 310 B |
BIN
cases/case-08b-the-heron/sprites/champagne.png
Normal file
|
After Width: | Height: | Size: 245 B |
BIN
cases/case-08b-the-heron/sprites/chandelier.png
Normal file
|
After Width: | Height: | Size: 539 B |
BIN
cases/case-08b-the-heron/sprites/ego.png
Normal file
|
After Width: | Height: | Size: 813 B |
BIN
cases/case-08b-the-heron/sprites/emptydome.png
Normal file
|
After Width: | Height: | Size: 697 B |
BIN
cases/case-08b-the-heron/sprites/fanshawe.png
Normal file
|
After Width: | Height: | Size: 763 B |
BIN
cases/case-08b-the-heron/sprites/frenchcop.png
Normal file
|
After Width: | Height: | Size: 977 B |
BIN
cases/case-08b-the-heron/sprites/hocken.png
Normal file
|
After Width: | Height: | Size: 659 B |
BIN
cases/case-08b-the-heron/sprites/hugo.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
cases/case-08b-the-heron/sprites/nordberg.png
Normal file
|
After Width: | Height: | Size: 600 B |
BIN
cases/case-08b-the-heron/sprites/outline2.png
Normal file
|
After Width: | Height: | Size: 546 B |
BIN
cases/case-08b-the-heron/sprites/pinkdiamond.png
Normal file
|
After Width: | Height: | Size: 367 B |
BIN
cases/case-08b-the-heron/sprites/planeseat.png
Normal file
|
After Width: | Height: | Size: 902 B |
BIN
cases/case-08b-the-heron/sprites/plinth.png
Normal file
|
After Width: | Height: | Size: 666 B |
BIN
cases/case-08b-the-heron/sprites/podium.png
Normal file
|
After Width: | Height: | Size: 540 B |