// The basement: the four-track, the tape, and the demo that starts it all. fn on_enter() { if once("seen_basement") { say("The bulb hums. Somewhere upstairs, a kettle agrees."); } } fn on_verb(verb, noun) { // The Castle box surrenders its one useful artifact. if noun == "castle box" && (verb == "do" || verb == "take") { if !flag("tape_found") { set_flag("tape_found", true); give("blank tape"); say("Under the Castle setlists (RIP): one fresh reel of tape, still in shrink wrap. The cover band's final gift."); play("pickup"); } else { say("Nothing left in there but regret and a capo."); } return true; } // Recording the demo — the whole first act funnels here. if noun == "portastudio" && (verb == "use:blank tape" || verb == "do" || verb == "play") { if flag("demo_done") { say("The demo's done. It sits there radiating consequence."); return true; } if verb == "do" || verb == "play" { if !has("blank tape") { say("The reels are empty. You need tape — didn't the Castle box have some?"); return true; } } if !has("blank tape") { return false; } if !flag("inspired") { say("Tape, machine, hands. But no reason yet. You keep thinking about that D.O.A. poster."); return true; } if !flag("named") { say("The riff is THERE. But who's it by? A band needs a name before tape makes it real. (Something you saw in the alley keeps circling back.)"); return true; } freeze_ego(true); say("You thread the reel. John counts in — in NINE — and the basement stops being a basement."); say("Two hours, eleven takes, one mother banging the ceiling in what is, honestly, pretty solid time."); say("You mark the box in felt pen: NOMEANSNO."); remove_item("blank tape"); give("demo tape"); set_flag("demo_done", true); points(10); play("win"); freeze_ego(false); say("(The van is out the south door. California knows nothing yet.)"); return true; } false }