.SEGMENT "LAKE" .FUNCT WEST-SHORE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "What's a castle without a lake? Dimwit loved lakes, but hated to go outside, so he had one constructed in his extensive cellars. Once a lovely lake, teeming with life, its waters have grown stagnant. The scummy surface stretches off to the east, and a tunnel leads west." RTRUE .FUNCT NORTH-SHORE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "Stretching off to the south is an impressive sight: a large lake, completely contained within the castle. A red dock protrudes into the lake" IN? YACHT,HERE \?CND4 PRINT YACHT-MOORED ?CND4: PRINTI ". Tunnels lead north and northeast." RTRUE .FUNCT EAST-SHORE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "A narrow beach lies between the lake, to the west, and a tall mountain, to the east. It's hard to remember that you're still within the castle. A blue dock juts out into the lake" IN? YACHT,HERE \?CND4 PRINT YACHT-MOORED ?CND4: PRINTC 46 RTRUE .FUNCT SOUTH-SHORE-F,RARG EQUAL? RARG,M-LOOK \?CCL3 PRINTI "The sandy beach on the south side of the lake is very wide -- in fact, it simply blends into a wide desert to the south. To the north, a green dock extends into the lake" IN? YACHT,HERE \?CND4 PRINT YACHT-MOORED ?CND4: PRINTI ". The shore curves around toward the west." RTRUE ?CCL3: EQUAL? RARG,M-END \FALSE IN? PROTAGONIST,CAMEL \FALSE FSET? CAMEL,TOUCHBIT /FALSE ZERO? CAMEL-THIRSTY /FALSE FSET CAMEL,TOUCHBIT ICALL1 RETURN-FROM-MAP PRINTR " The camel takes one look at the scummy water and wheezes mournfully through parched lips." .FUNCT DOCK-F,VARG EQUAL? PRSA,V?ENTER \FALSE IN? BEDBUG,HERE \FALSE ZERO? TIME-STOPPED \FALSE CALL2 DO-WALK,P?NORTH RSTACK .FUNCT YACHT-F,VARG ZERO? VARG /?CCL3 EQUAL? VARG,M-ENTER \FALSE FSET? PRSO,TOUCHBIT \?CCL8 SET 'COMPASS-CHANGED,TRUE-VALUE RFALSE ?CCL8: SET 'COMPASS-CHANGED,TRUE-VALUE PRINTR " The controls seem worthy of closer examination. A gangway leads belowdecks." ?CCL3: EQUAL? PRSA,V?ENTER \?CCL10 IN? PROTAGONIST,HERE \?CCL10 PRINTR "You can only board the yacht from the dock." ?CCL10: EQUAL? PRSA,V?EXIT \?CCL14 EQUAL? HERE,LAKE-FLATHEAD \?CND15 ICALL PERFORM,V?ENTER,LAKE-FLATHEAD RTRUE ?CND15: EQUAL? HERE,WEST-SHORE \?CCL19 PUSH WEST-DOCK JUMP ?CND17 ?CCL19: EQUAL? HERE,NORTH-SHORE \?CCL21 PUSH NORTH-DOCK JUMP ?CND17 ?CCL21: EQUAL? HERE,EAST-SHORE \?CCL23 PUSH EAST-DOCK JUMP ?CND17 ?CCL23: PUSH SOUTH-DOCK ?CND17: MOVE PROTAGONIST,STACK SET 'OLD-HERE,FALSE-VALUE SET 'COMPASS-CHANGED,TRUE-VALUE PRINTI "You step off the boat, onto the dock." CRLF EQUAL? VERBOSITY,1 \?CCL26 CRLF ICALL1 SAY-HERE CRLF RTRUE ?CCL26: EQUAL? VERBOSITY,2 \TRUE CRLF ICALL1 V-LOOK RTRUE ?CCL14: EQUAL? PRSA,V?SINK \?CCL29 SET 'AWAITING-REPLY,1 ICALL QUEUE,I-REPLY,2 PRINTR "You have a torpedo, maybe?" ?CCL29: EQUAL? PRSA,V?SET \?CCL31 EQUAL? P-PRSA-WORD,W?STEER \?CCL31 PRINTR "There's no wheel." ?CCL31: EQUAL? PRSA,V?THROW-FROM \FALSE EQUAL? PRSI,YACHT \FALSE ICALL PERFORM,V?PUT,PRSO,WATER RTRUE .FUNCT YACHT-CONTROLS-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The controls are quite simple, consisting of a small brass plaque and an ornate compass rose. There are buttons on the four cardinal points of the rose: a red button at the north point, blue at the east, green south, and yellow west. A fifth button, white, is at the center of the rose." .FUNCT YACHT-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE FSET? OUTER-GATE,OPENBIT /?CTR5 ZERO? TIME-STOPPED /?CCL6 ?CTR5: PRINT NOTHING-HAPPENS RTRUE ?CCL6: FSET? SEAMANS-CAP,WORNBIT /?CCL10 PRINTI "You meet an invisible resistance. A peal of laughter from behind turns out to be the jester. ""The button may seem like a demon, telling landlubber from seaman; but the truth's not so queer -- you need nautical gear!""" ICALL1 J-EXITS RTRUE ?CCL10: EQUAL? PRSO,WHITE-BUTTON \?CCL12 EQUAL? HERE,LAKE-FLATHEAD \?CCL15 ICALL2 DEQUEUE,I-YACHT PRINT NOTHING-HAPPENS RTRUE ?CCL15: SET 'YACHT-DESTINATION,LAKE-FLATHEAD ICALL2 I-YACHT,TRUE-VALUE RTRUE ?CCL12: IN? DB,HOLD /?CCL17 PRINTR "A message flashes: ""Warning -- diving bell lowered!""" ?CCL17: EQUAL? PRSO,RED-BUTTON \?CCL19 EQUAL? HERE,NORTH-SHORE \?CCL22 PRINT NOTHING-HAPPENS RTRUE ?CCL22: SET 'YACHT-DESTINATION,NORTH-SHORE ICALL2 I-YACHT,TRUE-VALUE RTRUE ?CCL19: EQUAL? PRSO,GREEN-BUTTON \?CCL24 EQUAL? HERE,SOUTH-SHORE \?CCL27 PRINT NOTHING-HAPPENS RTRUE ?CCL27: SET 'YACHT-DESTINATION,SOUTH-SHORE ICALL2 I-YACHT,TRUE-VALUE RTRUE ?CCL24: EQUAL? PRSO,BLUE-BUTTON \?CCL29 EQUAL? HERE,EAST-SHORE \?CCL32 PRINT NOTHING-HAPPENS RTRUE ?CCL32: SET 'YACHT-DESTINATION,EAST-SHORE ICALL2 I-YACHT,TRUE-VALUE RTRUE ?CCL29: EQUAL? HERE,WEST-SHORE \?CCL35 PRINT NOTHING-HAPPENS RTRUE ?CCL35: SET 'YACHT-DESTINATION,WEST-SHORE ICALL2 I-YACHT,TRUE-VALUE RTRUE .FUNCT I-YACHT,CALLED-BY-BUTTON-F ZERO? CALLED-BY-BUTTON-F /?CND1 ICALL QUEUE,I-YACHT,2 EQUAL? HERE,LAKE-FLATHEAD \?CCL5 EQUAL? YACHT-DESTINATION,LAKE-FLATHEAD /?CCL5 PRINTI "The boat heads for the " ICALL2 DPRINT,YACHT-DESTINATION PRINT PERIOD-CR JUMP ?CND1 ?CCL5: PRINTI "The yacht moves away from the dock, toward the middle of the lake." CRLF CRLF ?CND1: IN? YACHT,LAKE-FLATHEAD \?CCL10 MOVE YACHT,YACHT-DESTINATION ICALL1 RETURN-FROM-MAP IN? PROTAGONIST,YACHT \?CND8 PRINTI " The yacht reaches the " ICALL2 DPRINT,YACHT-DESTINATION PRINTI " and docks magically." CRLF CRLF ICALL2 GOTO,YACHT JUMP ?CND8 ?CCL10: MOVE YACHT,LAKE-FLATHEAD IN? PROTAGONIST,YACHT \?CND8 ICALL1 RETURN-FROM-MAP ICALL2 GOTO,YACHT PRINTI " The boat reaches the middle of the lake" EQUAL? YACHT-DESTINATION,LAKE-FLATHEAD \?CCL17 PRINTI ", slows, and stops" JUMP ?CND15 ?CCL17: PRINTI " and heads straight for the dock on the " ICALL2 DPRINT,YACHT-DESTINATION ?CND15: PRINT PERIOD-CR ?CND8: IN? YACHT,YACHT-DESTINATION \TRUE ICALL2 DEQUEUE,I-YACHT RTRUE .FUNCT YACHT-ENTER-F,RARG ZERO? RARG \FALSE ICALL2 GOTO,YACHT RFALSE .FUNCT DB-ENTER-F,RARG ZERO? RARG \FALSE FSET? DB,OPENBIT \?CCL5 ICALL PERFORM,V?ENTER,DB RFALSE ?CCL5: ICALL1 RETURN-FROM-MAP ICALL2 THIS-IS-IT,DB ICALL2 DO-FIRST,STR?566 RFALSE .FUNCT DB-F,VARG ZERO? VARG /?CCL3 EQUAL? VARG,M-ENTER \FALSE ?CCL3: ZERO? VARG /?CCL7 ZERO? DB-CONTROLS-DESCRIBED \FALSE SET 'DB-CONTROLS-DESCRIBED,TRUE-VALUE PRINTC 32 ICALL PERFORM,V?EXAMINE,DB RTRUE ?CCL7: EQUAL? PRSA,V?EXAMINE \?CCL12 IN? PROTAGONIST,DB \?CCL15 PRINTI "This is a cramped diving bell. The door is " ICALL2 OPEN-CLOSED,DB PRINTR ". A brass plaque is mounted next to a small porthole. You may want to examine the controls." ?CCL15: PRINTI "The diving bell is " ICALL2 OPEN-CLOSED,DB PRINTR ". Mounted on the outside of it is a claw-like waldo." ?CCL12: EQUAL? PRSA,V?ENTER \?CCL17 IN? PROTAGONIST,DB /?CCL17 FSET? DB,OPENBIT /?CCL17 CALL2 DO-WALK,P?IN RSTACK ?CCL17: EQUAL? PRSA,V?EXIT \?CCL22 IN? PROTAGONIST,DB \?CCL22 ZERO? HAND-IN-WALDO /?CCL27 CALL2 DO-FIRST,STR?567 RSTACK ?CCL27: FSET? DB,OPENBIT /?CCL29 ICALL2 THIS-IS-IT,DB CALL2 DO-FIRST,STR?566 RSTACK ?CCL29: IN? RUBY,WALDO \FALSE FCLEAR RUBY,TRYTAKEBIT RFALSE ?CCL22: EQUAL? PRSA,V?LOWER,V?RAISE \?CCL33 IN? PROTAGONIST,DB \?CCL36 PRINT YOULL-HAVE-TO PRINTR "use the controls." ?CCL36: PRINTR "You can't do that from out here." ?CCL33: EQUAL? PRSA,V?OPEN \FALSE EQUAL? HERE,HOLD /FALSE CALL2 JIGS-UP,STR?568 RSTACK .FUNCT DB-CONTROLS-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The controls seem simple enough: an up-down lever, an exterior light, and a hand-hole for controlling the exterior waldo." .FUNCT G-DB-HOLE-F,TBL,F GET F,6 EQUAL? STACK,W?CONTROL \?CCL3 RETURN DB-CONTROLS ?CCL3: RETURN HAND-HOLE .FUNCT PORTHOLE-F EQUAL? PRSA,V?LOOK-INSIDE \FALSE CALL1 V-LOOK RSTACK .FUNCT WALDO-F FSET? EXTERIOR-LIGHT,ONBIT /?CCL3 EQUAL? HERE,HOLD /?CCL3 CALL2 HANDLE,WALDO ZERO? STACK /?CCL3 CALL2 CANT-SEE,WALDO RSTACK ?CCL3: EQUAL? PRSA,V?REACH-IN \?CCL8 IN? PROTAGONIST,DB \?CCL8 ICALL PERFORM,V?REACH-IN,HAND-HOLE RTRUE ?CCL8: EQUAL? PRSA,V?DROP \?CCL12 PRINTR "Although you can manipulate the waldo, you aren't holding it. [If you want to remove your hand, try REMOVE HAND.]" ?CCL12: EQUAL? PRSA,V?PUT \?CCL14 MOVE PRSO,HERE PRINT YOU-CANT PRINTI "budge the waldo's claw, so" ICALL1 TPRINT-PRSO PRINTR " falls right out." ?CCL14: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL16 ZERO? HAND-IN-WALDO /?CCL19 FIRST? WALDO \?CCL22 EQUAL? PRSA,V?OPEN \?CCL25 FIRST? WALDO /?BOGUS26 ?BOGUS26: ICALL PERFORM,V?DROP,STACK RTRUE ?CCL25: PRINTI "The waldo IS closed! It's holding" FIRST? WALDO /?BOGUS27 ?BOGUS27: CALL2 ARPRINT,STACK RSTACK ?CCL22: PRINTR "The claws of the waldo open and close." ?CCL19: PRINTR "The claws of the waldo won't budge." ?CCL16: EQUAL? PRSA,V?TAKE-WITH \FALSE EQUAL? PRSI,WALDO \FALSE EQUAL? PRSO,WALDO,DB \?CCL34 CALL1 IMPOSSIBLES RSTACK ?CCL34: ZERO? HAND-IN-WALDO /?CCL36 SET 'PRSI,FALSE-VALUE ICALL PERFORM,V?TAKE,PRSO RTRUE ?CCL36: PRINTR "Your hand isn't in the hand-hole!" .FUNCT HAND-HOLE-F IN? PROTAGONIST,DB /?CCL3 CALL2 CANT-REACH,HAND-HOLE RSTACK ?CCL3: EQUAL? PRSA,V?REACH-IN \?CCL5 PRINTI "Your hand is " ZERO? HAND-IN-WALDO /?CCL8 PRINTR "already in the hand-hole!" ?CCL8: SET 'HAND-IN-WALDO,TRUE-VALUE PRINTI "now in the hand-hole" FSET? WALDO,TOUCHBIT /?CND9 FSET WALDO,TOUCHBIT PRINTI ". The waldo feels like an extension of your own hand. You flex your fingers a few times" FSET? EXTERIOR-LIGHT,ONBIT /?CCL12 EQUAL? HERE,HOLD \?CND9 ?CCL12: PRINTI ", and through the viewport, you see the waldo flex correspondingly" ?CND9: PRINT PERIOD-CR RTRUE ?CCL5: EQUAL? PRSA,V?LOOK-INSIDE \FALSE ZERO? HAND-IN-WALDO /?CCL19 PRINTR "Your hand is in the hole." ?CCL19: PRINT ONLY-BLACKNESS RTRUE .FUNCT WALDO-TAKE EQUAL? PRSI,WALDO \?CCL3 EQUAL? P-PRSA-WORD,W?REMOVE \?CCL6 ICALL PERFORM,V?DROP,PRSO RTRUE ?CCL6: CALL2 CANT-REACH,PRSO RSTACK ?CCL3: FIRST? WALDO \?CCL8 PRINTI "There's already" FIRST? WALDO /?BOGUS9 ?BOGUS9: ICALL2 APRINT,STACK PRINTR " in the waldo." ?CCL8: EQUAL? HERE,LAKE-BOTTOM \?CCL11 IN? SQUID-REPELLENT,LAKE-BOTTOM /?CCL11 PRINTI "Before the waldo can grab" ICALL1 TPRINT-PRSO PRINTI ", a baby squid swims into view and snatches" ICALL1 TPRINT-PRSO PRINTI ". The squid playfully squirts black ink toward the porthole, and by the time the view clears, the squid is gone" FSET? PRSO,TAKEBIT \?CND14 PRINTI " and" ICALL1 TPRINT-PRSO PRINTI " is lying right where it was before" ?CND14: PRINT PERIOD-CR RTRUE ?CCL11: FSET? PRSO,TAKEBIT \?CCL17 MOVE PRSO,WALDO FSET PRSO,TOUCHBIT PRINTI "You pick up" ICALL1 TPRINT-PRSO PRINTR " in the waldo." ?CCL17: EQUAL? PRSO,SPENSEWEED \?CCL19 PRINT DEEPLY-ROOTED RTRUE ?CCL19: EQUAL? PRSO,J-POCKET,J-HAT,JESTER /?CTR20 EQUAL? PRSO,J-SHOE \?CCL21 ?CTR20: PRINTR "Your attempt ends up giving the jester a pinch with the waldo. ""Please!"" he exclaims. ""I'm not that sort of jester!""" ?CCL21: CALL1 YUKS RSTACK .FUNCT LEVER-F,X EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "The lever is in the " EQUAL? DB-DIRECTION,1 \?CCL6 PRINTI "up" JUMP ?CND4 ?CCL6: EQUAL? DB-DIRECTION,-1 \?CCL8 PRINTI "down" JUMP ?CND4 ?CCL8: PRINTI "neutral" ?CND4: PRINTI " position" ZERO? DB-DIRECTION \?CCL11 PRINTR ", from which it can be raised or lowered." ?CCL11: PRINT PERIOD-CR RTRUE ?CCL3: EQUAL? PRSA,V?RAISE \?CCL13 EQUAL? DB-DIRECTION,1 \?CCL16 PRINTR "The lever is already raised." ?CCL16: EQUAL? HERE,HOLD \?CCL18 PRINT NOTHING-HAPPENS RTRUE ?CCL18: SET 'DB-DIRECTION,1 ICALL QUEUE,I-DB,2 PRINTI "The bathysphere ascends." EQUAL? HERE,LAKE-BOTTOM \?CCL21 SET 'DB-DEPTH,4 MOVE DB,UNDERWATER MOVE WALDO,UNDERWATER CALL1 GLANCE RSTACK ?CCL21: CRLF RTRUE ?CCL13: EQUAL? PRSA,V?LOWER \FALSE EQUAL? DB-DIRECTION,-1 \?CCL26 PRINTR "The lever is already lowered." ?CCL26: EQUAL? DB-DEPTH,4 /?CTR27 IN? YACHT,LAKE-FLATHEAD /?CCL28 ?CTR27: PRINT NOTHING-HAPPENS RTRUE ?CCL28: FIRST? WALDO >X \?CCL32 EQUAL? X,FOX,FLAMINGO,ROOSTER /?CTR31 EQUAL? X,SNAKE \?CCL32 ?CTR31: PRINTI "You'd drown the poor " PRINTD X PRINTR "!" ?CCL32: FSET? DB,OPENBIT \?CCL38 CALL2 JIGS-UP,STR?573 RSTACK ?CCL38: SET 'DB-DIRECTION,-1 ICALL QUEUE,I-DB,2 PRINTI "The bathysphere descends into the waters of the lake" CALL FIND-IN,WALDO,FLAMEBIT >X ZERO? X /?CND39 FCLEAR X,ONBIT FCLEAR X,FLAMEBIT CALL2 VISIBLE?,X ZERO? STACK /?CND39 PRINTI ", extinguishing" ICALL2 TPRINT,X ?CND39: PRINTC 46 EQUAL? HERE,HOLD \?CCL45 SET 'DB-DEPTH,0 MOVE DB,UNDERWATER MOVE WALDO,UNDERWATER CALL1 GLANCE RSTACK ?CCL45: CRLF RTRUE .FUNCT GLANCE PRINTI " You glance out the porthole" PRINT ELLIPSIS CALL2 GOTO,DB RSTACK .FUNCT I-DB ICALL QUEUE,I-DB,-1 SUB DB-DEPTH,DB-DIRECTION >DB-DEPTH IN? PROTAGONIST,DB \?CND1 ICALL1 RETURN-FROM-MAP PRINTI " The bathysphere " ?CND1: LESS? DB-DEPTH,1 \?CCL5 ICALL2 DEQUEUE,I-DB SET 'DB-DIRECTION,0 MOVE DB,HOLD MOVE WALDO,HOLD IN? PROTAGONIST,DB \?CCL8 PRINTI "rises into the yacht's hold and stops." ICALL1 GLANCE RTRUE ?CCL8: EQUAL? HERE,HOLD \FALSE ICALL1 RETURN-FROM-MAP PRINTR " A diving bell rises into the Hold." ?CCL5: GRTR? DB-DEPTH,3 \?CCL12 ICALL2 DEQUEUE,I-DB SET 'DB-DIRECTION,0 MOVE DB,LAKE-BOTTOM MOVE WALDO,LAKE-BOTTOM IN? PROTAGONIST,DB \FALSE PRINTI "bumps against the bottom of the lake." ICALL1 GLANCE RTRUE ?CCL12: IN? PROTAGONIST,DB \FALSE PRINTI "continues to " EQUAL? DB-DIRECTION,-1 \?CCL20 PRINTI "de" JUMP ?CND18 ?CCL20: EQUAL? DB-DIRECTION,1 \?CND18 PRINTC 97 ?CND18: PRINTI "scend." CRLF GRTR? PIECE-DROWNED,0 \TRUE RANDOM 100 LESS? PIECE-DROWNED,STACK /?CCL26 SET 'PIECE-DROWNED,1 PRINTR " The drowned carcass of a chess piece drifts momentarily through the beam of the exterior light." ?CCL26: ADD PIECE-DROWNED,10 >PIECE-DROWNED RTRUE .FUNCT LAKE-FLATHEAD-F,RARG ZERO? RARG \FALSE EQUAL? PRSA,V?ENTER,V?DRINK-FROM,V?DRINK /?CTR4 EQUAL? PRSA,V?REACH-IN,V?LOOK-UNDER \?CCL5 ?CTR4: CALL PERFORM-PRSA,WATER,PRSI RSTACK ?CCL5: EQUAL? PRSA,V?PUT,V?FILL \?CCL9 EQUAL? PRSI,GLOBAL-HERE \?CCL9 CALL PERFORM-PRSA,PRSO,WATER RSTACK ?CCL9: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE PRINTR "The water is scummy and murky." .FUNCT LAKE-BOTTOM-F,RARG EQUAL? RARG,M-ENTER \?CCL3 MOVE SPENSEWEED,HERE FSET SPENSEWEED,NDESCBIT RTRUE ?CCL3: EQUAL? RARG,M-END \FALSE IN? WORM,WALDO \FALSE REMOVE WORM ICALL1 RETURN-FROM-MAP PRINTR " A fish snatches the worm from the waldo and swims away with it." .FUNCT LAKE-BOTTOM-FISH-F CALL2 TOUCHING?,LAKE-BOTTOM-FISH ZERO? STACK /FALSE CALL2 CANT-REACH,LAKE-BOTTOM-FISH RSTACK .FUNCT G-U-MOUNTAIN-ENTER-F,RARG IN? PROTAGONIST,CAMEL \?CCL3 ZERO? RARG \FALSE ICALL1 RETURN-FROM-MAP PRINTI "Like most camels, this one isn't very good at mountain climbing." CRLF RFALSE ?CCL3: RETURN G-U-MOUNTAIN .FUNCT STABLE-F,RARG EQUAL? RARG,M-ENTER \FALSE FSET? STABLE,TOUCHBIT /FALSE CALL QUEUE,I-ROOSTER,-1 RSTACK .FUNCT STALL-PS EQUAL? PRSA,V?ENTER,V?EXAMINE \FALSE PRINTR "The stalls are all empty." .SEGMENT "0" .FUNCT SADDLE-F EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSO,SADDLE \FALSE PRINTI "You'd be kicked out of riding school -- imagine, trying to saddle" ICALL2 APRINT,PRSI PRINTR "!" .FUNCT ROOSTER-F EQUAL? PRSA,V?RESEARCH \?CCL3 CALL NOUN-USED?,ROOSTER,W?ROOSTER ZERO? STACK /?CCL3 PRINTR """A common barnyard animal.""" ?CCL3: FSET? ROOSTER,ANIMATEDBIT \FALSE EQUAL? PRSA,V?EAT \?CCL9 EQUAL? TURNED-INTO,FOX \?CCL12 CALL2 GOOD-MEAL,ROOSTER RSTACK ?CCL12: PRINTR "Unfortunately, you have no training in the butchering and culinary techniques involved in turning live poultry into edible meals." ?CCL9: EQUAL? PRSA,V?EXAMINE \?CCL14 PRINTR "It is a handsome, mature rooster, with a full red comb." ?CCL14: EQUAL? PRSA,V?TOUCH \?CCL16 PRINTR "The bird pecks at your hand." ?CCL16: EQUAL? PRSA,V?TAKE \?CCL18 FSET? ROOSTER,ANIMATEDBIT \?CCL18 CALL2 ITAKE,TRUE-VALUE EQUAL? STACK,M-FATAL /TRUE MOVE ROOSTER,PROTAGONIST PRINTR "The bird flaps angrily, but you manage to pick it up." ?CCL18: EQUAL? PRSA,V?GIVE \?CCL25 EQUAL? PRSO,WORM \?CCL25 REMOVE WORM PRINTR "The bird sucks down the worm and crows happily." ?CCL25: EQUAL? PRSA,V?FEED \FALSE CALL2 ULTIMATELY-IN?,WORM ZERO? STACK /FALSE CALL WOULDNT-MIND,ROOSTER,WORM RSTACK .FUNCT I-W-ROOSTER,L LOC ROOSTER >L FSET ROOSTER,ANIMATEDBIT IN? ROOSTER,LAKE-BOTTOM \?CCL3 REMOVE ROOSTER RTRUE ?CCL3: CALL2 META-LOC,ROOSTER EQUAL? STACK,HERE \?CCL5 ICALL1 RETURN-FROM-MAP PRINTI " The air is split by a loud ""Cock-a-doodle-doo!"" as the weather vane once again becomes a rooster" EQUAL? L,PROTAGONIST,HERE /?CND6 FSET? L,DROPBIT /?CND6 MOVE ROOSTER,HERE FSET L,OPENBIT PRINTI " and pops out of" ICALL2 TPRINT,L ?CND6: PRINT PERIOD-CR RTRUE ?CCL5: CALL2 META-LOC,ROOSTER MOVE ROOSTER,STACK RFALSE .FUNCT I-ROOSTER,L FSET? ROOSTER,ANIMATEDBIT \FALSE CALL2 VISIBLE?,ROOSTER ZERO? STACK \?CCL5 LOC ROOSTER >L ZERO? L /FALSE LOC WORM EQUAL? L,STACK \FALSE FSET? WORM,ANIMATEDBIT \FALSE FSET? L,ACTORBIT /FALSE SET 'ROOSTER-BURP,TRUE-VALUE REMOVE WORM RFALSE ?CCL5: ZERO? ROOSTER-BURP /?CCL13 SET 'ROOSTER-BURP,FALSE-VALUE ICALL1 RETURN-FROM-MAP PRINTR " The rooster fails to hide a satisfied burp." ?CCL13: CALL2 VISIBLE?,WORM ZERO? STACK /FALSE FSET? WORM,ANIMATEDBIT \FALSE RANDOM 100 LESS? ROOSTER-PROB,STACK /?CCL19 ICALL1 RETURN-FROM-MAP SET 'ROOSTER-PROB,0 PRINTR " The rooster hungrily eyes the worm." ?CCL19: ADD ROOSTER-PROB,10 >ROOSTER-PROB RFALSE .ENDSEG .SEGMENT "LAKE" .FUNCT G-U-MOUNTAIN-F,RARG EQUAL? RARG,M-ENTER \?CCL3 GRTR? ORACLE-EXIT-NUMBER,4 \?CCL3 RANDOM 5 SUB STACK,1 >ORACLE-EXIT-NUMBER CALL QUEUE,I-AMULET,4 RSTACK ?CCL3: EQUAL? RARG,M-LOOK \FALSE PRINTI "The mountain crests with a tiny plateau. The view is inspiring; it's easy to see why Dimwit climbed this mountain with such frequency. (Some quibblers insisted that it's hardly ""mountain climbing"" to be carried up in a plush sedan chair, but those quibblers were all tortured to death years ago.) Off to the west are the placid waters of Lake Flathead; to the southwest is a vast indoor desert; to the south spreads a verdant forest. The ceiling of the castle is just a few feet above your head. " IN? BOULDER,HERE \?CCL10 PRINTI "An enormous boulder is balanced precariously at the western edge of the plateau" JUMP ?CND8 ?CCL10: PRINTI "A small cave opens to the north" ?CND8: PRINTI ". A trail leads down the mountain to the west." RTRUE .FUNCT CAVE-ENTER-F,RARG IN? BOULDER,HERE \?CCL3 ZERO? RARG \FALSE ICALL1 CANT-GO RFALSE ?CCL3: RETURN GROTTO .FUNCT BOULDER-F EQUAL? PRSA,V?KICK,V?MOVE,V?PUSH /?CTR2 EQUAL? PRSA,V?ROLL \?CCL3 ?CTR2: REMOVE BOULDER SET 'COMPASS-CHANGED,TRUE-VALUE MOVE CAVE-OBJECT,HERE PRINTI "You give the boulder a shove. It lurches and begins careening down the mountain. Picking up speed, it flattens several trees, hits an outcropping, and shoots into the air, toward the lake. It lands " IN? YACHT,EAST-SHORE \?CCL8 PRINTI "right on the yacht" JUMP ?CND6 ?CCL8: PRINTI "in the lake with a tremendous splash, just missing the blue dock" ?CND6: PRINTI "! The rock " IN? YACHT,EAST-SHORE \?CCL11 REMOVE YACHT CALL ULTIMATELY-IN?,PERCH,YACHT ZERO? STACK \?CCL13 CALL ULTIMATELY-IN?,PERCH,HOLD ZERO? STACK /?CND12 ?CCL13: SET 'REMOVED-PERCH-LOC,WATER REMOVE PERCH ?CND12: PRINTI "and the yacht vanish" JUMP ?CND9 ?CCL11: PRINTI "disappears" ?CND9: PRINTI " beneath the water, leaving only a series of widening ripples. As you recuperate from the excitement, you notice a feature that was formerly blocked by the boulder: a small cave leading north into the mountain." CRLF CALL2 INC-SCORE,6 RSTACK ?CCL3: EQUAL? PRSA,V?LOWER \?CCL17 EQUAL? P-PRSA-WORD,W?PUSH \?CCL17 ICALL PERFORM,V?PUSH,BOULDER RTRUE ?CCL17: EQUAL? PRSA,V?PUSH-DIR \FALSE EQUAL? PRSI,INTDIR \FALSE CALL NOUN-USED?,INTDIR,W?WEST ZERO? STACK /FALSE ICALL PERFORM,V?PUSH,BOULDER RTRUE .FUNCT CAVE-OBJECT-F EQUAL? PRSA,V?ENTER \FALSE CALL2 GOTO,GROTTO RSTACK .FUNCT LOWEST-HALL-ENTER-F,RARG,CURRENT-GRAVEL,SPILL ZERO? RARG /?CND1 RETURN LOWEST-HALL ?CND1: ICALL1 RETURN-FROM-MAP PRINTI "You lose your footing on the gravel, drop your possessions, and begin sliding down the dark tunnel! Finally, you land on a hard floor" IN? GRAVEL,LOCAL-GLOBALS \?PRD6 SET 'CURRENT-GRAVEL,GRAVEL ZERO? CURRENT-GRAVEL \?CCL4 ?PRD6: IN? MORE-GRAVEL,LOCAL-GLOBALS \?PRD9 SET 'CURRENT-GRAVEL,MORE-GRAVEL ZERO? CURRENT-GRAVEL \?CCL4 ?PRD9: IN? EVEN-MORE-GRAVEL,LOCAL-GLOBALS \?CND3 SET 'CURRENT-GRAVEL,EVEN-MORE-GRAVEL ZERO? CURRENT-GRAVEL /?CND3 ?CCL4: PRINTI "; a shower of gravel lands on top of you" ?CND3: CALL2 ULTIMATELY-IN?,LARGE-VIAL ZERO? STACK /?CND14 GRTR? LARGE-VIAL-GLOOPS,0 \?CND14 SET 'LARGE-VIAL-GLOOPS,0 REMOVE LARGE-VIAL-WATER SET 'SPILL,TRUE-VALUE ?CND14: CALL2 ULTIMATELY-IN?,SMALL-VIAL ZERO? STACK /?CND18 GRTR? SMALL-VIAL-GLOOPS,0 \?CND18 SET 'SMALL-VIAL-GLOOPS,0 REMOVE SMALL-VIAL-WATER SET 'SPILL,TRUE-VALUE ?CND18: CALL2 ULTIMATELY-IN?,CUP ZERO? STACK /?CND22 IN? POTION,CUP \?CND22 REMOVE POTION SET 'SPILL,TRUE-VALUE ?CND22: ZERO? SPILL /?CND26 PRINTI ". You seem to have spilled something, also" ?CND26: PRINTC 46 ZERO? CURRENT-GRAVEL /?CND28 MOVE CURRENT-GRAVEL,PROTAGONIST ?CND28: SET 'HERE,LOWEST-HALL ICALL ROB,PROTAGONIST,LOWEST-HALL,TRUE-VALUE CRLF CRLF RETURN LOWEST-HALL .SEGMENT "0" .FUNCT G-GRAVEL-F,TBL,LEN,?TMP1 ADD TBL,8 >?TMP1 GET TBL,1 INTBL? GRAVEL,?TMP1,STACK \?CCL3 RETURN GRAVEL ?CCL3: RETURN MORE-GRAVEL .FUNCT GRAVEL-F EQUAL? PRSA,V?TAKE \?CCL3 ICALL2 ORDER-GRAVEL,PROTAGONIST RFALSE ?CCL3: EQUAL? PRSA,V?DROP \?CCL5 ICALL2 ORDER-GRAVEL,HERE RFALSE ?CCL5: EQUAL? PRSA,V?COUNT,V?MEASURE,V?EXAMINE \?CCL7 PRINTR "It's about a handful." ?CCL7: EQUAL? PRSA,V?POUR \FALSE EQUAL? PRSO,EVEN-MORE-GRAVEL,MORE-GRAVEL,GRAVEL \FALSE ICALL PERFORM,V?PUT,PRSO,PRSI RTRUE .ENDSEG .SEGMENT "LAKE" .FUNCT IDOL-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The idol has been carved into the cave wall by the hand of a master sculptor (who obviously spent far more time on the project than a saint of Foobus' stature deserves)." .FUNCT BOWL-F,CNT CALL1 GRAVEL-COUNT >CNT EQUAL? PRSA,V?CLOSE \?CCL3 PRINT HUH RTRUE ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5 PRINTI "The bowl is tall and narrow, like a large drinking glass. " ICALL PERFORM,V?LOOK-INSIDE,BOWL RTRUE ?CCL5: EQUAL? PRSA,V?LOOK-INSIDE \?CCL7 PRINTI "It is " ZERO? CNT \?CCL10 PRINTI "less than a quarter" JUMP ?CND8 ?CCL10: EQUAL? CNT,1 \?CCL12 PRINTI "more than a quarter" JUMP ?CND8 ?CCL12: EQUAL? CNT,2 \?CCL14 PRINTI "less than half" JUMP ?CND8 ?CCL14: PRINTI "more than half" ?CND8: PRINTR " full with a milky elixir." ?CCL7: EQUAL? PRSA,V?REACH-IN \?CCL16 EQUAL? CNT,3 \?CCL19 PRINTI "Your fingers are just long enough to touch the elixir. " CALL1 TOUCH-ELIXIR RSTACK ?CCL19: PRINTI "Because the bowl is so narrow, you can only get your fingers halfway to the bottom, " ZERO? CNT \?CCL22 PRINTI "well" JUMP ?CND20 ?CCL22: EQUAL? CNT,1 \?CCL24 PRINTI "somewhat" JUMP ?CND20 ?CCL24: EQUAL? CNT,2 \?CND20 PRINTI "a smidgeon" ?CND20: PRINTR " short of the elixir." ?CCL16: EQUAL? PRSA,V?PUT \?CCL27 EQUAL? PRSI,BOWL \?CCL27 EQUAL? PRSO,EVEN-MORE-GRAVEL,MORE-GRAVEL,GRAVEL \?CCL32 MOVE PRSO,BOWL FCLEAR PRSO,TAKEBIT PRINTI "The gravel sinks to the bottom of the bowl, thus raising the level of the elixir. It is now " INC 'CNT EQUAL? CNT,1 \?CCL35 PRINTI "somewhat more than one-quarter" JUMP ?CND33 ?CCL35: EQUAL? CNT,2 \?CCL37 PRINTI "just less than half" JUMP ?CND33 ?CCL37: PRINTI "a bit over half" ?CND33: PRINTR "way to the brim." ?CCL32: EQUAL? PRSO,STRAW \?CCL39 MOVE STRAW,BOWL PRINTR "The straw extends just above the rim of the bowl." ?CCL39: EQUAL? PRSO,EAST-KEY,ZORKMID-COIN,RING /?CTR40 EQUAL? PRSO,SQUID-REPELLENT,RUSTY-KEY,WEST-KEY /?CTR40 EQUAL? PRSO,NUT,NUT-SHELL,UNOPENED-NUT /?CTR40 EQUAL? PRSO,SAPPHIRE,RUBY \?CCL41 ?CTR40: MOVE PRSO,BOWL FCLEAR PRSO,TAKEBIT PRINTI "With a tiny splash," ICALL1 TPRINT-PRSO PRINTR " sinks to the bottom of the bowl. It's not clear how you'll ever get it out again..." ?CCL41: PRINTR "The rim of the bowl is too narrow." ?CCL27: EQUAL? PRSA,V?TIP,V?MOVE,V?TAKE /?PRD49 EQUAL? PRSA,V?TIP-OVER \FALSE ?PRD49: EQUAL? PRSO,BOWL \FALSE PRINTR "The bowl is affixed to the cave floor." .FUNCT GRAVEL-COUNT,CNT SET 'CNT,0 IN? GRAVEL,BOWL \?CND1 INC 'CNT ?CND1: IN? MORE-GRAVEL,BOWL \?CND3 INC 'CNT ?CND3: IN? EVEN-MORE-GRAVEL,BOWL /?CCL6 RETURN CNT ?CCL6: INC 'CNT RETURN CNT .FUNCT ELIXIR-F EQUAL? PRSA,V?REACH-IN,V?TOUCH \?CCL3 ICALL PERFORM,V?REACH-IN,BOWL RTRUE ?CCL3: EQUAL? PRSA,V?TASTE,V?DRINK \?CCL5 IN? STRAW,BOWL \?CCL8 ICALL PERFORM,V?DRINK-WITH,ELIXIR,STRAW RTRUE ?CCL8: PRINTR "The elixir is at the bottom of a bowl which is affixed to the cave floor." ?CCL5: EQUAL? PRSA,V?CLEAN \?CCL10 EQUAL? P-PRSA-WORD,W?SOAK \?CCL10 EQUAL? PRSI,ELIXIR \?CCL10 ICALL PERFORM,V?PUT,PRSO,ELIXIR RTRUE ?CCL10: EQUAL? PRSA,V?PUT \?CCL15 EQUAL? PRSI,ELIXIR \?CCL15 ICALL PERFORM,V?PUT,PRSO,BOWL RTRUE ?CCL15: EQUAL? PRSA,V?EXAMINE \?CCL19 PRINTR "The milky liquid swirls with secret energies." ?CCL19: EQUAL? PRSA,V?FILL \FALSE EQUAL? PRSI,ELIXIR \FALSE EQUAL? PRSO,STRAW \?CCL26 PRINTR "You'll have to be more specific about how you propose to do that." ?CCL26: PRINTI "The bowl's narrowness prevents you from filling" CALL2 TRPRINT,PRSO RSTACK .FUNCT LAIR-EXIT-F,RARG ZERO? RARG \?CCL2 EQUAL? CURRENT-SPLIT,MAP-TOP-LEFT-LOC \?CND1 ?CCL2: RETURN G-U-WOODS ?CND1: PRINTI "You lose your footing on the treacherous path, and tumble painfully down a steep incline. " FIRST? PROTAGONIST \?CND5 PRINTI "Amazingly, you hold on to everything you have. " ?CND5: PRINTI "You roll to a stop as dim green light filters around you" PRINT ELLIPSIS RETURN G-U-WOODS .FUNCT G-U-WOODS-F,RARG EQUAL? RARG,M-ENTER \FALSE FSET? G-U-WOODS,TOUCHBIT /FALSE CALL QUEUE,I-FOX,-1 RSTACK .SEGMENT "0" .FUNCT FOX-F EQUAL? PRSA,V?RESEARCH \?CCL3 CALL NOUN-USED?,FOX,W?FOX ZERO? STACK /?CCL3 PRINTR """A common animal.""" ?CCL3: FSET? FOX,ANIMATEDBIT \FALSE EQUAL? PRSA,V?TAKE \?CCL9 FSET? FOX,ANIMATEDBIT \?CCL9 CALL2 ITAKE,TRUE-VALUE EQUAL? STACK,M-FATAL /TRUE MOVE FOX,PROTAGONIST PRINTR "The fox slyly allows himself to be picked up." ?CCL9: EQUAL? PRSA,V?GIVE \?CCL16 EQUAL? PRSO,ROOSTER \?CCL16 REMOVE ROOSTER PRINTR "The fox must be thinking that you're Santa Claus and this is Christmas (but of course he's too sly to let you see that he's thinking that). After a few messy moments, the rooster is history." ?CCL16: EQUAL? PRSA,V?FEED \FALSE CALL2 ULTIMATELY-IN?,ROOSTER ZERO? STACK /FALSE CALL WOULDNT-MIND,FOX,ROOSTER RSTACK .FUNCT WOULDNT-MIND,EATER,EATEE PRINTI "The " ICALL2 DPRINT,EATER PRINTI " looks as though he wouldn't mind eating the " ICALL2 DPRINT,EATEE PRINTR "..." .FUNCT I-W-FOX,L LOC FOX >L FSET FOX,ANIMATEDBIT FCLEAR FOX,WEARBIT FCLEAR FOX,WORNBIT IN? FOX,LAKE-BOTTOM \?CCL3 REMOVE FOX RTRUE ?CCL3: CALL2 META-LOC,FOX EQUAL? STACK,HERE \?CCL5 ICALL1 RETURN-FROM-MAP PRINTI " The fox suddenly " EQUAL? L,PROTAGONIST,HERE /?CND6 FSET? L,DROPBIT /?CND6 MOVE FOX,HERE FSET L,OPENBIT PRINTI "pops out of" ICALL2 TPRINT,L PRINTI " and " ?CND6: PRINTR "shakes its bushy tail." ?CCL5: CALL2 META-LOC,FOX MOVE FOX,STACK RFALSE .FUNCT I-FOX,L FSET? FOX,ANIMATEDBIT \FALSE CALL2 VISIBLE?,FOX ZERO? STACK \?CCL5 LOC FOX >L ZERO? L /FALSE LOC ROOSTER EQUAL? L,STACK \FALSE FSET? ROOSTER,ANIMATEDBIT \FALSE FSET? L,ACTORBIT /FALSE SET 'FOX-BURP,TRUE-VALUE REMOVE ROOSTER RFALSE ?CCL5: ZERO? FOX-BURP /?CCL13 SET 'FOX-BURP,FALSE-VALUE ICALL1 RETURN-FROM-MAP PRINTR " The fox produces a deep and very sly burp." ?CCL13: CALL2 VISIBLE?,ROOSTER ZERO? STACK /FALSE FSET? ROOSTER,ANIMATEDBIT \FALSE RANDOM 100 LESS? FOX-PROB,STACK /?CCL19 SET 'FOX-PROB,0 ICALL1 RETURN-FROM-MAP PRINTR " The fox stares at the rooster and smacks its lips." ?CCL19: ADD FOX-PROB,10 >FOX-PROB RFALSE .ENDSEG .SEGMENT "LAKE" .FUNCT UNICORNS-F EQUAL? PRSA,V?SIT,V?CLIMB-ON,V?ENTER \?CCL3 PRINTR "As you approach, the unicorns move gracefully away." ?CCL3: EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSO,SADDLE \FALSE ICALL PERFORM,V?ENTER,UNICORNS RTRUE .FUNCT BRIDGE-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "The bridge looks odd, perhaps because of its unusual green color." ?CCL3: EQUAL? PRSA,V?STAND-ON,V?ENTER,V?CROSS \FALSE CALL2 DO-WALK,P?WEST RSTACK .FUNCT BRIDGE-ENTER-F,RARG ZERO? RARG \FALSE IN? BRIDGE,HERE \?CCL5 IN? PROTAGONIST,CAMEL \?CCL8 ICALL1 RETURN-FROM-MAP PRINTI "The bridge is too small for the huge, lumbering camel." CRLF RFALSE ?CCL8: ICALL1 RETURN-FROM-MAP REMOVE BRIDGE ICALL2 DEQUEUE,I-JESTER MOVE JESTER,HERE ICALL2 THIS-IS-IT,JESTER MOVE DIPLOMA,JESTER FCLEAR DIPLOMA,NDESCBIT ICALL2 SETUP-ORPHAN,STR?44 PRINTI "As you step onto the bridge, it begins transforming and withdrawing from the opposite bank of the stream. When the transformation ends, the bridge has become the jester, who is on all fours, and you are standing in the center of his back! With clumsy haste and muttered apologies, you dismount. The jester straightens up, and laughs, ""No hard feelings! I'll be fit as a fiddle, once you answer this riddle:" GETP STREAM,P?RIDDLE PRINT STACK CRLF RFALSE ?CCL5: PRINTI "Without a bridge, the stream is uncrossable." CRLF RFALSE .FUNCT MUSIC-F EQUAL? PRSA,V?PLAY \?CCL3 CALL2 PERFORM-PRSA,LULLABY RSTACK ?CCL3: EQUAL? PRSA,V?LISTEN \FALSE PRINTR "[You can't hear any music right here!]" .FUNCT STREAM-OBJECT-F EQUAL? PRSA,V?CROSS \FALSE CALL2 DO-WALK,P?WEST RSTACK .FUNCT CAMEL-DRINK-ROOM-F,RARG EQUAL? RARG,M-LOOK \?CCL3 EQUAL? HERE,OASIS \?CCL6 PRINTI "An underground spring bubbles up through the sands, forming a pool of clear, cold water. A hot wind blows off the desert to the southwest." RTRUE ?CCL6: PRINTI "A wide stream gurgles out of the rocks, feeding the waters of the lake. " FSET? DIPLOMA,NDESCBIT \?CND7 PRINTI "A strange green bridge spans the stream to the west. At the far end of the bridge, you can see a framed document of some sort. " ?CND7: PRINTI "A path follows the shoreline to the east." RTRUE ?CCL3: EQUAL? RARG,M-ENTER \?CCL10 EQUAL? HERE,STREAM \?CCL10 FSET? DIPLOMA,TRYTAKEBIT \?CCL10 MOVE BRIDGE,HERE FSET DIPLOMA,NDESCBIT MOVE DIPLOMA,HERE RTRUE ?CCL10: EQUAL? RARG,M-END \FALSE EQUAL? HERE,STREAM \?CND16 IN? JESTER,HERE \?CND16 FSET? DIPLOMA,TRYTAKEBIT \?CND16 ICALL2 SETUP-ORPHAN,STR?44 ?CND16: IN? CAMEL,HERE \FALSE FSET? CAMEL,ANIMATEDBIT \FALSE ZERO? CAMEL-THIRSTY /FALSE SET 'CAMEL-THIRSTY,FALSE-VALUE ICALL1 RETURN-FROM-MAP PRINTI " The camel lumbers over to the " EQUAL? HERE,OASIS \?CCL29 PRINTI "oasis" JUMP ?CND27 ?CCL29: PRINTI "stream" ?CND27: PRINTR " and takes an amazingly long sip." .SEGMENT "0" .FUNCT DIPLOMA-F EQUAL? PRSA,V?TAKE \FALSE FSET? DIPLOMA,TRYTAKEBIT \FALSE IN? DIPLOMA,JESTER \?CCL8 PRINT ANSWER-MY-RIDDLE RTRUE ?CCL8: CALL2 DO-FIRST,STR?602 RSTACK .ENDSEG .SEGMENT "LAKE" .FUNCT G-CAMEL-F,X,Y RETURN CAMEL .FUNCT CAMEL-F,VARG FSET? CAMEL,ANIMATEDBIT \FALSE EQUAL? VARG,M-WINNER \?CCL5 EQUAL? PRSA,V?WALK \?CCL8 IN? PROTAGONIST,CAMEL \?CCL11 SET 'WINNER,PROTAGONIST ICALL2 DO-WALK,PRSO SET 'WINNER,CAMEL RTRUE ?CCL11: PRINTI "Perhaps if you were ON the camel..." CRLF JUMP ?CND6 ?CCL8: EQUAL? PRSA,V?DRINK \?CCL13 EQUAL? PRSO,LAKE-FLATHEAD,WATER \?CCL13 EQUAL? HERE,SOUTH-SHORE,EAST-SHORE \?CCL13 PRINTI "You can lead a camel to water, but you can't make him drink." CRLF JUMP ?CND6 ?CCL13: RANDOM 100 LESS? 33,STACK /?CCL18 PRINTI """Snort.""" CRLF JUMP ?CND6 ?CCL18: RANDOM 100 LESS? 50,STACK /?CCL20 PRINTI """Grunt.""" CRLF JUMP ?CND6 ?CCL20: PRINTI """Groan.""" CRLF ?CND6: CALL1 STOP RSTACK ?CCL5: ZERO? VARG \FALSE EQUAL? PRSA,V?TOUCH \?CCL24 EQUAL? P-PRSA-WORD,W?PAT,W?PET \?CCL24 PRINTR "The camel emits an (almost) endearing bray." ?CCL24: EQUAL? PRSA,V?EXAMINE \?CCL28 PRINTI "The camel looks " ZERO? CAMEL-THIRSTY /?CCL31 PRINTI "thirsty" JUMP ?CND29 ?CCL31: PRINTI "sated" ?CND29: PRINT PERIOD-CR RTRUE ?CCL28: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTR "Never look a gift camel in the mouth." .FUNCT I-W-CAMEL ZERO? TIME-STOPPED /?CND1 ICALL QUEUE,I-W-CAMEL,3 RFALSE ?CND1: FSET CAMEL,ANIMATEDBIT FSET CAMEL,ACTORBIT CALL2 VISIBLE?,CAMEL ZERO? STACK /FALSE ICALL1 RETURN-FROM-MAP PRINTR " The camel's garish colors fade once again to the color of sand. His tail begins swishing around, and he emits a forlorn bray." .FUNCT DESERT-ENTER-F,RARG ZERO? RARG /?CCL3 RETURN G-U-DESERT ?CCL3: IN? PROTAGONIST,CAMEL \?CCL5 ZERO? CAMEL-THIRSTY /?CCL5 ICALL1 RETURN-FROM-MAP PRINTI "The camel takes one look at the vast desert, gives a dry croak, and refuses to budge." CRLF RFALSE ?CCL5: IN? PROTAGONIST,CAMEL \?CND8 SET 'CAMEL-THIRSTY,TRUE-VALUE ?CND8: RETURN G-U-DESERT .FUNCT CACTI-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "All the cacti look particularly prickly." ?CCL3: EQUAL? PRSA,V?LISTEN \?CCL5 ZERO? PLANT-TALKER /?CCL5 PRINTR "The cacti, in parched voices, are exchanging wry witticisms. It seems that all cacti have a very dry sense of humor." ?CCL5: CALL2 TOUCHING?,CACTI ZERO? STACK /FALSE PRINTR "Youch! Nasty cactus pricks!" .FUNCT DESERT-ROOM-F,RARG EQUAL? RARG,M-ENTER \?CCL3 IN? PROTAGONIST,CAMEL /?CCL3 INC 'DESERT-DEATH ICALL QUEUE,I-DESERT-RESET,-1 ICALL1 RETURN-FROM-MAP PRINTI "You trudge along beneath the searing gaze of an artificial desert sun" EQUAL? DESERT-DEATH,4 \?CCL8 PRINTI ". Wavering dizziness threatens your every step" JUMP ?CND6 ?CCL8: EQUAL? DESERT-DEATH,3 \?CND6 PRINTI ". You won't last much longer in this dry heat" ?CND6: PRINT ELLIPSIS RTRUE ?CCL3: EQUAL? RARG,M-END \FALSE EQUAL? DESERT-DEATH,5 \FALSE ICALL1 RETURN-FROM-MAP CALL2 JIGS-UP,STR?610 RSTACK .FUNCT I-DESERT-RESET FSET? HERE,DESERTBIT /FALSE SET 'DESERT-DEATH,0 ICALL2 DEQUEUE,I-DESERT-RESET RFALSE .FUNCT PHIL-HALL-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This was the visually impressive but acoustically abysmal home of the royal orchestra, but the musicians (like everyone else) have fled the eastlands. Uncountable rows of velvet-covered seats extend into the shadows beyond your light. Gilt-trimmed balconies hang above the huge wooden stage. " IN? CONDUCTOR-STAND,HERE \?CND4 PRINTI "A lone spotlight illuminates the conductor's stand. " ?CND4: PRINTI "Passages lead east, north and south." RTRUE .FUNCT PHIL-SHADOW-PS EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "Like most shadows, a little creepy." .FUNCT SPOTLIGHT-PS EQUAL? PRSA,V?EXAMINE \?CCL3 IN? CONDUCTOR-STAND,HERE \?CCL3 PRINTR "The spotlight bathes the conductor's stand in a circle of light." ?CCL3: EQUAL? PRSA,V?ENTER \FALSE IN? PROTAGONIST,CONDUCTOR-STAND \?CCL10 PRINT LOOK-AROUND RTRUE ?CCL10: IN? CONDUCTOR-STAND,HERE \?CCL12 ICALL PERFORM,V?ENTER,CONDUCTOR-STAND RTRUE ?CCL12: PRINTR "You stand in the center of the circle of light, to little effect." .FUNCT CONDUCTOR-STAND-F,OARG ZERO? OARG \FALSE EQUAL? PRSA,V?STAND-ON,V?ENTER \?CCL5 ZERO? TIME-STOPPED \?CCL5 PRINTI "The " ICALL2 DPRINT,CONDUCTOR-STAND PRINTI " plunges " EQUAL? HERE,CONDUCTOR-PIT \?CCL10 PRINTI "up" JUMP ?CND8 ?CCL10: PRINTI "down" ?CND8: PRINTI "ward, and you along with it" PRINT ELLIPSIS EQUAL? HERE,CONDUCTOR-PIT \?CCL13 FSET CONDUCTOR-STAND,NDESCBIT PUSH PHIL-HALL JUMP ?CND11 ?CCL13: FCLEAR CONDUCTOR-STAND,NDESCBIT PUSH CONDUCTOR-PIT ?CND11: MOVE CONDUCTOR-STAND,STACK CALL2 GOTO,CONDUCTOR-STAND RSTACK ?CCL5: EQUAL? PRSA,V?EXAMINE \FALSE PRINTI "The stand is a rectangular platform about a foot high." FIRST? CONDUCTOR-STAND \?CCL18 PRINTC 32 RFALSE ?CCL18: CRLF RTRUE .FUNCT CONDUCTOR-PIT-F,RARG EQUAL? RARG,M-ENTER \FALSE IN? CONDUCTOR-STAND,CONDUCTOR-PIT /FALSE FSET VIOLIN,TOUCHBIT RTRUE .SEGMENT "0" .FUNCT VIOLIN-F EQUAL? PRSA,V?PLAY \?CCL3 PRINTR "An amazingly offensive noise issues from the violin." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "This is a beautiful instrument which, in the right hands, would certainly produce magnificent music." .ENDSEG .SEGMENT "LAKE" .FUNCT DIMWIT-BOX-PS EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "Plush. Very plush." ?CCL3: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL5 ICALL PERFORM,V?SEARCH,GLOBAL-HERE RTRUE ?CCL5: EQUAL? PRSA,V?PUT \?CCL7 ICALL PERFORM,V?DROP,PRSO RTRUE ?CCL7: EQUAL? PRSA,V?CLIMB-ON,V?ENTER \FALSE PRINTR "Why bother? No show tonight." .ENDSEG .ENDI