Skip to content

Ch1 — Pip collects the hand radio and uses it at the cart #135

Description

@juliatetrud

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    chapter-1Chapter 1: Cabin 646sprintIndividual sprint issue

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions