Commit Graph

4 Commits

Author SHA1 Message Date
type-two
7b2222f97a Beirut cold open, the unused film beats, and ZAZ's back catalogue
MRPGI is verified clean and in sync; all thirteen cases still pass against it.
This pass closes the content gaps a sprite audit turned up — several generated
sprites were never placed, and each one was a missing film beat.

- Case Seven now opens in BEIRUT, as the film does: four days at the back of a
  summit of the six least popular men on earth, holding a glass of water,
  which is where a Los Angeles shipping company with two hundred and six ships
  gets named out loud. Added as room6 with start_room pointed at it, so nothing
  renumbered. Case is now 140 points across seven rooms. The despots are
  generic fictional strongmen rather than caricatures of real heads of state.
- Case Ten: the P.L.O.T. Device itself now appears — the title object of the
  case had never once been on screen — plus Cane's self-driving car, which
  refuses the destination and plays an advertisement before the paperclip
  intervenes.
- Case Six: Danny Cavanaugh's publicity still, captioned in his own hand,
  "DANNY CAVANAUGH — AVAILABLE."
- Case Eight: Hector Savage's fire hose, and Meinheimer's own wheelchair.
- Case Nine: Tanya Peters and the clinic on Wilshire (Frank is DONOR OF THE
  QUARTER; there is a plaque; his wife has not seen it).
- Case 00b: the Professor's four-foot diagram, admitted as Exhibit 1 over a
  defence objection that it is prejudicial, which the judge agrees it is.

ZAZ's own earlier films go in as texture, not cases (DESIGN §10):
Airplane!'s "don't call me Shirley" in Case Five, the escalating "wrong week to
quit" across four rooms of Case Eight, the drink poured into his own face, and
Otto the inflatable partner in Act III at forty per cent with no pump. Kentucky
Fried Movie's news anchor who doesn't know he's on air (twice, 1988 and 2025)
and Feel-A-Round at the Academy Awards, where the usher cannot move because he
is the horse.

Six name-shadowing blockers caught by the linter on the way in, including
'earpiece' swallowing 'plotdevice' and 'body' swallowing 'comedian'.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 18:37:54 +10:00
type-two
72815f8c55 Case Six: Testimony of Evil — the whiskey exploit is the puzzle
Act I, monochrome. Five rooms, 100 points, verified at 100/100 with four
verified deaths.

Built out of John's Police Quest material. PQ1's famous 8-bit integer underflow
is not an easter egg here, it is the central puzzle: Frank signs for a $40
operational float clipped to a note reading DO NOT EXCEED YOUR FLOAT, the back
room costs $2,500, and exceeding the float by one dollar wraps the department
ledger's eight-bit field to 255 — the terminal appends the cents column and
authorises $2,550.00. He keeps drinking to 132 because it will not do to stop
suddenly. Accounts raise it in March; it goes to a hearing.

PQ1's Gremlin runs through the whole case and is never resolved: chickens on the
Captain's desk, on Al's shoulder, on the murdered guest star, and one in the
winning freeze-frame. Nobody has said the word "chicken" out loud in eleven
years. No file was ever opened.

Then the stage: six memorised jokes, in order, and every "improvise" option is
fatal — plus a full glass on a stool three feet from the microphone, which is
how Danny Cavanaugh died and which you must not touch.

Linter gained the rule that actually caused this session's bug: MRPGI's
obj_matches is a BIDIRECTIONAL substring test over name AND synonyms, and
match_obj takes the first hit in array order, so an earlier object can make a
later one unreachable by its own name. `talk barman` was addressing `clubbar`.
It found two more: `sideboard` swallowing `cardtable`, and `bouncer` swallowing
`bunkerdoor` — the last of which shipped broken in Case Ten. All six cases lint
clean and all six still win.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 23:11:22 +10:00
type-two
3b20f7accc Case Eight, a case picker, and a linter for the authoring traps
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>
2026-07-25 22:55:40 +10:00
type-two
e95360a1b2 Case Ten: The P.L.O.T. Device (2025) — Drebin Jr, and the owl
Act III, cold-palette EGA. Six rooms, 100 points, verified end-to-end
headlessly at 100/100 with the win firing.

The homage John asked for is a register, not a costume. Nielsen played Drebin Sr
oblivious — the joke was he never noticed. Neeson plays Jr sincere: he notices
everything and means all of it, so his text is written straight and often
genuinely moving, and the comedy is what it turns out to be about. He gives a
Taken speech about his particular set of skills, chief among them paperwork. He
takes four armed robbers in eleven seconds dressed as a schoolgirl with his back
to the actual crime. Cane gets the same sincerity back at him from the wrong
face.

The three-era payoff pays off: the owl sprite is generated monochrome and placed
in a full-colour room, so Frank Drebin Sr is visibly lit by a different decade
than everything around him. The palette rule from DESIGN §2 doing the emotional
work at the climax.

Planned cases 10 and 11 merged into one folder — same film, same cast, no
duplicated sprite set, and the owl payoff lands in the same case as its setup.

Third authoring trap documented: sets_flag fires on use, never on take (points
does both). A takeable item silently failed to set its flag and the gate it fed
never opened; gate on `needs`, which checks inventory, instead.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 22:39:00 +10:00