Case Eight — The Smell of Fear (1991). Act II, full colour. Five rooms, 100 points, verified at 100/100 with two verified deaths. The puzzle is identification: Meinheimer has an eidetic memory, so the double cannot be caught out on a fact — he can be caught out on a manner. Ask him two questions and he answers "about four hundred", "roughly", "give or take", and a man who remembers everything never says roughly. The catch is gated on having heard the approximations, so the player has to earn it. Accusing him without that is a death. Also in: the Blue Note, the SWAT tank through the wall into the zoo (which arms the lion that kills Hapsburg two rooms later), the mariachi infiltration, and a nuclear device disarmed by tripping over its power cable. tools/lint.py: three of the four bugs that cost real time here were the same class, and I walked into sets_flag-on-a-takeable twice — once in Case Ten, then again in Case Eight after documenting it. So the rules are a linter now, not a paragraph. It caught two live instances of that trap (case-08 blueprint, case-10 wig) and a scoring mismatch on the first run. All five cases lint clean and all five still win. play.sh is now a case picker: bare invocation lists the cases and asks, or pass a number. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
234 lines
5.8 KiB
JSON
234 lines
5.8 KiB
JSON
{
|
|
"name": "Meinheimer Institute — What's Left of the East Wing",
|
|
"enter_text": "Six people this morning. The fire crew have gone. Nobody has been through here since, because nobody has been asked to.",
|
|
"music": 2,
|
|
"strokes": [
|
|
{
|
|
"Rect": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"w": 160,
|
|
"h": 168,
|
|
"color": 8,
|
|
"meaning": "Floor"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"w": 160,
|
|
"h": 30,
|
|
"color": 1,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 0,
|
|
"y": 26,
|
|
"w": 160,
|
|
"h": 36,
|
|
"color": 7,
|
|
"meaning": "Wall"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 40,
|
|
"y": 26,
|
|
"w": 46,
|
|
"h": 36,
|
|
"color": 0,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 52,
|
|
"y": 30,
|
|
"w": 8,
|
|
"h": 24,
|
|
"color": 8,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 68,
|
|
"y": 34,
|
|
"w": 6,
|
|
"h": 20,
|
|
"color": 8,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 0,
|
|
"y": 60,
|
|
"w": 160,
|
|
"h": 3,
|
|
"color": 0,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 0,
|
|
"y": 63,
|
|
"w": 160,
|
|
"h": 105,
|
|
"color": 8,
|
|
"meaning": "Floor"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 8,
|
|
"y": 32,
|
|
"w": 24,
|
|
"h": 24,
|
|
"color": 15,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 12,
|
|
"y": 36,
|
|
"w": 16,
|
|
"h": 4,
|
|
"color": 0,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 12,
|
|
"y": 44,
|
|
"w": 12,
|
|
"h": 4,
|
|
"color": 0,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 96,
|
|
"y": 32,
|
|
"w": 52,
|
|
"h": 24,
|
|
"color": 15,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 100,
|
|
"y": 36,
|
|
"w": 44,
|
|
"h": 4,
|
|
"color": 0,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 100,
|
|
"y": 44,
|
|
"w": 30,
|
|
"h": 4,
|
|
"color": 0,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 0,
|
|
"y": 100,
|
|
"w": 160,
|
|
"h": 1,
|
|
"color": 7,
|
|
"meaning": "None"
|
|
}
|
|
},
|
|
{
|
|
"Rect": {
|
|
"x": 0,
|
|
"y": 164,
|
|
"w": 160,
|
|
"h": 4,
|
|
"color": 0,
|
|
"meaning": "Wall"
|
|
}
|
|
}
|
|
],
|
|
"spawn": [
|
|
16,
|
|
140
|
|
],
|
|
"exits": [
|
|
null,
|
|
2,
|
|
null,
|
|
0
|
|
],
|
|
"exit_flags": [
|
|
"",
|
|
"has_blueprint",
|
|
"",
|
|
""
|
|
],
|
|
"exit_blocked": [
|
|
"",
|
|
"There is something in this room that somebody came back for and did not find. Find it.",
|
|
"",
|
|
""
|
|
],
|
|
"objects": [
|
|
{
|
|
"name": "rubble",
|
|
"sprite": "rubble",
|
|
"x": 62,
|
|
"y": 132,
|
|
"look": "Masonry and splintered timber where the east wall was. The blast came from inside the room and went out through the wall, which is the wrong way round for a gas main and the right way round for a person.",
|
|
"synonyms": "debris masonry wreckage mess timber",
|
|
"use_text": "You go through it by hand for forty minutes. Under the third slab is a maintenance man's boot with a maintenance man still in it, and you sit back on your heels for a moment, because that is what you do, and then you carry on."
|
|
},
|
|
{
|
|
"name": "clockbomb",
|
|
"sprite": "clockbomb",
|
|
"x": 108,
|
|
"y": 108,
|
|
"look": "The wall clock from the corridor, thrown clear, face down. It stopped at 9:04. The institute went up at 9:11.",
|
|
"synonyms": "clock timer face wires device",
|
|
"points": 10,
|
|
"sets_flag": "saw_timer",
|
|
"use_text": "You turn the clock over. There is a second mechanism taped to the back of it — a timer, wired, and a residue where a small charge sat. The clock did not stop because the building blew up. The building blew up because the clock stopped. It was set at 9:04 by somebody standing on a chair in a corridor, in daylight, in a working building, which means he was wearing something that made him invisible in a working building. A jacket. A clipboard. A leather jacket and no hurry."
|
|
},
|
|
{
|
|
"name": "blueprint",
|
|
"sprite": "blueprint",
|
|
"x": 30,
|
|
"y": 124,
|
|
"look": "A blueprint tube in the corner of what used to be Dr. Meinheimer's office, under a filing cabinet that fell on it and saved it.",
|
|
"synonyms": "plans drawing tube roll paper report",
|
|
"takeable": false,
|
|
"requires_flag": "saw_timer",
|
|
"points": 5,
|
|
"sets_flag": "has_blueprint",
|
|
"use_text": "It is not a blueprint. It is the recommendation — the actual one, four hundred and twelve pages, in Albert Meinheimer's hand, rolled in a tube because a man who remembers everything still likes to hold a thing. Page one, first line, underlined twice: THE SUN ARRIVES EVERY DAY AND SENDS NO INVOICE. Somebody came back into a burning building for this and did not find it, because a filing cabinet fell on it."
|
|
},
|
|
{
|
|
"name": "savage",
|
|
"sprite": "savage",
|
|
"x": 138,
|
|
"y": 148,
|
|
"look": "Across the road, in a parked car that has been there since you arrived, is a thin man in a leather jacket who is not reading the newspaper he is holding.",
|
|
"synonyms": "man thin leather jacket car watcher hitman",
|
|
"kills": true,
|
|
"use_text": "You cross the road alone, at night, to a parked car containing a man who has already killed six people this morning, without calling it in, because Jane is not answering her telephone and you are not thinking clearly. Regulations, page 9, cover approaching an occupied vehicle. You have read them. You wrote part of them."
|
|
}
|
|
]
|
|
} |