Ch1 — Pip collects the hand radio and uses it at the cart
Julia: "pip is supposed to collect the hand radio so he can use it to get the janitor to move
the cart."
I read the script wrong. It says so plainly and I missed it twice:
- coat beat: "(not dialogue) Pip picks up the radio and speaks into it…"
- paging beat: "(not dialogue) Pip pulls the hand radio from his pocket…"
Both point at a carried item. I kept the old backtrack instead — the player had to walk from
the corridor back to the cabin and inspect the coat a second time to page. That is the shipped
code's design, not hers, and I preserved it because the script's ACTION RADIO BACKTRACK line
still described it. That ACTION line is machine-generated from the old code logic (the docx
header says action/gating beats are authored from the code); her authored dialogue governs.
What changed (5d1c841)
- Inspecting the coat collects the radio into the notebook (
kind: 'item'), with
radioDiscovered + talkThroughSpeakers. The coat then stops being inspectable and the
radio sprite stops drawing in the pocket — Pip has it.
- Inspecting the cart while carrying the radio plays the paging beat verbatim
(PIP: "Calling J Henriksen. You cart is blocking the stairs.") and sets janitorPaged.
No backtrack.
- Without the radio, the cart still gives
dc-cart-push-fail, whose line already names the
answer — "Dziadek's radio could call whoever left it." — so a player who walked past the
coat is pointed back at it rather than stuck.
hasHandRadio() also honours the legacy chapterState.radioDiscovered flag, so a save made
before the radio was an item still counts as carrying it. No SAVE_VERSION bump —
notebookItems already persists.
Verification
- Conformance unchanged: 110 comparisons, 0 divergences, no exceptions column.
- Traversal simulated against the real objects lifted from the built file:
- intended flow — collect → cart → page;
- skipped-coat recovery — cart → push-fail → back for the radio → cart → page;
- legacy save (flag set, no item) — can still page;
- sweep of all four
held × cartFound states — every one reaches paging.
node --check PARSE OK.
One thing that is notebook metadata, not script
The collected item needs a name and annotation for the notebook page, which the playscript
does not cover (same category as the R02 recipe annotation). Currently
"Hand-held radio" / "From the pocket of Dziadek's wool coat." — say the word if you want
different wording.
Ch1 — Pip collects the hand radio and uses it at the cart
Julia: "pip is supposed to collect the hand radio so he can use it to get the janitor to move
the cart."
I read the script wrong. It says so plainly and I missed it twice:
Both point at a carried item. I kept the old backtrack instead — the player had to walk from
the corridor back to the cabin and inspect the coat a second time to page. That is the shipped
code's design, not hers, and I preserved it because the script's
ACTION RADIO BACKTRACKlinestill described it. That ACTION line is machine-generated from the old code logic (the docx
header says action/gating beats are authored from the code); her authored dialogue governs.
What changed (
5d1c841)kind: 'item'), withradioDiscovered+talkThroughSpeakers. The coat then stops being inspectable and theradio sprite stops drawing in the pocket — Pip has it.
(PIP: "Calling J Henriksen. You cart is blocking the stairs.") and sets
janitorPaged.No backtrack.
dc-cart-push-fail, whose line already names theanswer — "Dziadek's radio could call whoever left it." — so a player who walked past the
coat is pointed back at it rather than stuck.
hasHandRadio()also honours the legacychapterState.radioDiscoveredflag, so a save madebefore the radio was an item still counts as carrying it. No
SAVE_VERSIONbump —notebookItemsalready persists.Verification
held×cartFoundstates — every one reaches paging.node --checkPARSE OK.One thing that is notebook metadata, not script
The collected item needs a name and annotation for the notebook page, which the playscript
does not cover (same category as the R02 recipe annotation). Currently
"Hand-held radio" / "From the pocket of Dziadek's wool coat." — say the word if you want
different wording.