// Rain Alley: an after() timer keeps the pipe dripping — on the game's // deterministic 30Hz clock, never the CPU's. fn on_enter() { if val("drip_armed") == 0 { set_val("drip_armed", 1); after(240, "drip"); } } fn drip() { if room() == 2 { say("The pipe drips, once, with great ceremony."); after(300, "drip"); } else { set_val("drip_armed", 0); } }