.FUNCT INIT-STATUS-LINE LESS? WIDTH,38 \?CND1 PRINTI "[Screen too narrow.]" CRLF QUIT ?CND1: SET 'OHERE,FALSE-VALUE SET 'OLD-LEN,0 SPLIT 1 SCREEN S-WINDOW HLIGHT H-INVERSE CURSET 1,1 ICALL2 PRINT-SPACES,WIDTH GRTR? WIDTH,74 \?CND3 CURSET 1,51 PRINTI "Score:" CURSET 1,64 PRINTI "Time:" ?CND3: HLIGHT H-NORMAL SCREEN S-TEXT RTRUE .FUNCT UPDATE-STATUS-LINE SCREEN S-WINDOW HLIGHT H-NORMAL HLIGHT H-INVERSE EQUAL? HERE,OHERE /?CND1 SET 'OHERE,HERE DIROUT D-TABLE-ON,SL-TABLE ICALL1 SAY-HERE DIROUT D-TABLE-OFF CURSET 1,2 ICALL2 PRINT-SPACES,OLD-LEN GET SL-TABLE,0 >OLD-LEN CURSET 1,2 ICALL1 SAY-HERE ?CND1: GRTR? WIDTH,74 \?CCL5 CURSET 1,58 PRINTN SCORE PRINTC 32 CURSET 1,70 PRINTN MOVES JUMP ?CND3 ?CCL5: DIROUT D-TABLE-ON,SL-TABLE PRINTN SCORE PRINTC 47 PRINTN MOVES PRINTC 32 DIROUT D-TABLE-OFF GET SL-TABLE,0 ADD STACK,1 SUB WIDTH,STACK CURSET 1,STACK PRINTN SCORE PRINTC 47 PRINTN MOVES PRINTC 32 ?CND3: HLIGHT H-NORMAL SCREEN S-TEXT RTRUE .FUNCT PRINT-SPACES,N,AMT ?PRG1: GRTR? N,BLANKS-LEN \?CCL5 SET 'AMT,BLANKS-LEN JUMP ?CND3 ?CCL5: SET 'AMT,N ?CND3: PRINTT BLANKS,AMT SUB N,AMT >N GRTR? N,0 /?PRG1 RTRUE .FUNCT SAY-HERE ZERO? LIT? \?CCL3 PRINTI "Darkness" RTRUE ?CCL3: PRINTD HERE GRTR? WIDTH,74 \TRUE LOC ADVENTURER FSET? STACK,VEHBIT \TRUE PRINTI ", in the " LOC ADVENTURER PRINTD STACK RTRUE .FUNCT GROUND-F EQUAL? PRSA,V?PUT \?CCL3 EQUAL? PRSI,GROUND \?CCL3 ICALL PERFORM,V?DROP,PRSO RTRUE ?CCL3: EQUAL? PRSA,V?BOARD,V?CLIMB-ON \?CCL7 SET 'C-ELAPSED,28 PRINTR "You sit down on the floor. After a brief rest, you stand again." ?CCL7: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,ADMIN-CORRIDOR-S \FALSE PRINTR "A narrow, jagged crevice runs across the floor." .FUNCT WINDOW-F EQUAL? PRSA,V?LOOK-INSIDE \?CCL3 EQUAL? HERE,BIO-LOCK-EAST \?CCL6 PRINTI "You can see a large laboratory, dimly illuminated. A blue glow comes from a crack in the northern wall of the lab. Shadowy, ominous shapes move about within the room." FSET? MINI-CARD,TOUCHBIT /?CND7 PRINTR " On the floor, just inside the door, you can see a magnetic-striped card." ?CND7: CRLF RTRUE ?CCL6: EQUAL? HERE,BIO-LAB \?CCL10 PRINTR "You see the Bio Lock." ?CCL10: EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR11 EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL12 ?CTR11: PRINTI "You see " ICALL1 DESCRIBE-VIEW CRLF RTRUE ?CCL12: EQUAL? HERE,BALCONY \?CCL16 PRINTR "Water. Lots and lots of water." ?CCL16: EQUAL? HERE,HELICOPTER \?CCL18 PRINTR "You see the helipad and the ocean beyond." ?CCL18: EQUAL? HERE,ESCAPE-POD \?CCL20 LESS? TRIP-COUNTER,2 \?CCL23 PRINTR "You can see debris from the exploding Feinstein." ?CCL23: GRTR? TRIP-COUNTER,8 \?CCL25 PRINTR "You can see a planet, hopefully a hospitable one." ?CCL25: PRINTR "The window has polarized to blackness." ?CCL20: EQUAL? HERE,LARGE-OFFICE \FALSE PRINTR "You can see the dormitories and other parts of the complex in the distance. Water is visible in every direction." ?CCL3: EQUAL? PRSA,V?THROUGH \?CCL29 EQUAL? HERE,BALCONY \?CCL29 CALL2 JIGS-UP,STR?48 RSTACK ?CCL29: EQUAL? PRSA,V?OPEN \?CCL33 PRINTR "This window doesn't open." ?CCL33: EQUAL? PRSA,V?EXAMINE \?CCL35 EQUAL? HERE,BALCONY \?CCL35 PRINTR "They're shattered." ?CCL35: EQUAL? PRSA,V?MUNG \FALSE EQUAL? HERE,BALCONY \?CCL42 PRINTR "They're already broken." ?CCL42: PRINTR "It's made of tough Zynoid plastic." .FUNCT CLIFF-F EQUAL? HERE,WEST-WING \?CCL3 EQUAL? PRSA,V?LEAP \?CCL6 CALL2 JIGS-UP,STR?49 RSTACK ?CCL6: EQUAL? PRSA,V?THROW-OFF \FALSE EQUAL? PRSO,LASER \?CND9 CALL2 INT,I-WARMTH PUT STACK,0,0 ?CND9: REMOVE PRSO PRINTI "The " PRINTD PRSO PRINTR " falls into the ocean below." ?CCL3: EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \?CCL13 CALL2 DO-WALK,P?UP RSTACK ?CCL13: EQUAL? PRSA,V?CLIMB-DOWN \FALSE CALL2 DO-WALK,P?DOWN RSTACK .FUNCT OCEAN-F EQUAL? PRSA,V?RUB,V?THROUGH,V?TAKE \?CCL3 PRINTR "You can't reach the ocean from here." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It stretches as far as you can see." .FUNCT TABLES-F EQUAL? PRSA,V?LOOK-UNDER \?CCL3 EQUAL? HERE,MESS-HALL \?CCL3 PRINTR "Wow!!! Under the table are three keys, a sack of food, a reactor elevator access pass, one hundred gold pieces ... Just kidding. Actually, there's nothing there." ?CCL3: EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSI,TABLES \FALSE PRINTR "That would accomplish nothing useful." .FUNCT SHELVES-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "The shelves are pretty dusty." ?CCL3: EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSI,SHELVES \FALSE PRINTR "That would be a waste of time." .FUNCT LIGHTS-F EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,COMPUTER-ROOM \FALSE PRINTR "The red light would seem to indicate a malfunction in the computer." .FUNCT GLOBAL-DOORWAY-F EQUAL? PRSA,V?THROUGH \?CCL3 CALL1 USE-DIRECTIONS RSTACK ?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL5 PRINTR "It's just an opening; you can't open or close it." ?CCL5: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTR "Can't see much from here. Try going there." .FUNCT USE-DIRECTIONS PRINTR "Use compass directions for movement." .FUNCT NO-CLOSE PRINTR "There's no way to close it." .FUNCT CONTROLS-F EQUAL? HERE,UPPER-ELEVATOR,LOWER-ELEVATOR,BOOTH-1 /?CTR2 EQUAL? HERE,REACTOR-ELEVATOR,BOOTH-2,BOOTH-3 \?CCL3 ?CTR2: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The control panel is a simple one, as described. Just a small slot and two buttons." ?CCL3: EQUAL? PRSA,V?TURN,V?MOVE,V?RUB /?CTR9 EQUAL? PRSA,V?EXAMINE,V?TAKE,V?SET /?CTR9 EQUAL? PRSA,V?PULL,V?PUSH \?CCL10 ?CTR9: EQUAL? HERE,HELICOPTER \?CCL16 PRINTR "The controls are covered and locked." ?CCL16: EQUAL? HERE,ESCAPE-POD \?CCL18 PRINTR "The controls are entirely automated." ?CCL18: PRINTR "The controls are incredibly complicated and you shouldn't even be thinking about touching them." ?CCL10: EQUAL? HERE,HELICOPTER \FALSE EQUAL? PRSA,V?UNLOCK,V?OPEN \FALSE PRINTR "You don't even have the orange key!" .FUNCT GLOBAL-GAMES-F EQUAL? PRSA,V?PLAY \FALSE IN? FLOYD,HERE \?CCL6 ICALL PERFORM,V?PLAY-WITH,FLOYD RTRUE ?CCL6: PRINTR "Okay. Gee, that was fun." .FUNCT HANDS-F EQUAL? PRSA,V?SHAKE \FALSE IN? AMBASSADOR,HERE \?CCL6 PRINTR "A repulsive idea." ?CCL6: IN? BLATHER,HERE \?CCL8 PRINTR "Saluting might be a better idea." ?CCL8: IN? FLOYD,HERE \?CCL10 FSET? FLOYD,RLANDBIT \?CCL10 PRINTR "You shake one of Floyd's grasping extensions." ?CCL10: PRINTR "There's no one to shake hands with." .FUNCT SLEEP-F EQUAL? PRSA,V?WALK-TO \FALSE CALL1 V-SLEEP RSTACK .FUNCT CRETIN-F EQUAL? PRSA,V?GIVE \?CCL3 ICALL PERFORM,V?TAKE,PRSO RTRUE ?CCL3: EQUAL? PRSA,V?SCRUB \?CCL5 PRINTR "If only you'd done that before the last inspection, you wouldn't have gotten 300 demerits." ?CCL5: EQUAL? PRSA,V?DROP \?CCL7 PRINTR "Huh?" ?CCL7: EQUAL? PRSA,V?SMELL \?CCL9 PRINTR "Phew!" ?CCL9: EQUAL? PRSA,V?FOLLOW \?CCL11 PRINTR "It would be hard not to." ?CCL11: EQUAL? PRSA,V?EAT \?CCL13 PRINTR "Auto-cannibalism is not the answer." ?CCL13: EQUAL? PRSA,V?MUNG,V?ATTACK \?CCL15 EQUAL? PRSO,ME \?CCL18 CALL2 JIGS-UP,STR?50 RSTACK ?CCL18: PRINTR "What a silly idea!" ?CCL15: EQUAL? PRSA,V?TAKE \?CCL20 PRINTR "How romantic!" ?CCL20: EQUAL? PRSA,V?DISEMBARK \?CCL22 PRINTR "You'll have to do that on your own." ?CCL22: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "That's difficult unless your eyes are prehensile." .FUNCT DDESC,DOOR FSET? DOOR,OPENBIT \?CCL3 PRINTI "open" RTRUE ?CCL3: PRINTI "closed" RTRUE .FUNCT ALREADY-OPEN PRINTR "It's already open!" .FUNCT IS-CLOSED PRINTR "It is closed!" .FUNCT V-THROUGH,OBJ,M ZERO? OBJ \?CCL3 FSET? PRSO,VEHBIT \?CCL3 ICALL PERFORM,V?BOARD,PRSO RTRUE ?CCL3: ZERO? OBJ \?CCL7 FSET? PRSO,TAKEBIT /?CCL7 PRINTI "You hit your head against the " PRINTD PRSO PRINTR " as you attempt this feat." ?CCL7: ZERO? OBJ /?CCL11 PRINTR "You can't do that!" ?CCL11: IN? PRSO,ADVENTURER \?CCL13 PRINTR "That would involve quite a contortion!" ?CCL13: CALL2 PICK-ONE,YUKS PRINT STACK CRLF RTRUE .FUNCT FIND-IN,WHERE,WHAT,W FIRST? WHERE >W /?BOGUS1 ?BOGUS1: ZERO? W /FALSE ?PRG4: FSET? W,WHAT \?CCL8 RETURN W ?CCL8: NEXT? W >W /?PRG4 RFALSE .FUNCT NOT-HERE-OBJECT-F,TBL,PRSO?,OBJ SET 'PRSO?,TRUE-VALUE EQUAL? PRSO,NOT-HERE-OBJECT \?CCL3 EQUAL? PRSI,NOT-HERE-OBJECT \?CCL3 PRINTR "Those things aren't here!" ?CCL3: EQUAL? PRSO,NOT-HERE-OBJECT \?CCL7 SET 'TBL,P-PRSO JUMP ?CND1 ?CCL7: SET 'TBL,P-PRSI SET 'PRSO?,FALSE-VALUE ?CND1: ZERO? PRSO? /?CND8 EQUAL? PRSA,V?TYPE \?CCL12 ICALL PERFORM,V?TYPE,FLOYD RTRUE ?CCL12: EQUAL? PRSA,V?EXAMINE /?CCL13 EQUAL? WINNER,FLOYD \?CND8 EQUAL? PRSA,V?FIND,V?TAKE \?CND8 ?CCL13: CALL FIND-NOT-HERE,TBL,PRSO? >OBJ ZERO? OBJ /FALSE EQUAL? OBJ,NOT-HERE-OBJECT \TRUE ?CND8: EQUAL? WINNER,ADVENTURER \?CCL25 PRINTI "You can't see any" ICALL2 NOT-HERE-PRINT,PRSO? PRINTI " here!" CRLF EQUAL? PRSA,V?TELL \TRUE SET 'P-CONT,FALSE-VALUE SET 'QUOTE-FLAG,FALSE-VALUE RETURN 2 ?CCL25: PRINTI "The " PRINTD WINNER PRINTI " seems confused. ""I don't see any" ICALL2 NOT-HERE-PRINT,PRSO? PRINTR " here!""" .FUNCT FIND-NOT-HERE,TBL,PRSO?,M-F,OBJ CALL2 MOBY-FIND,TBL >M-F EQUAL? 1,M-F \?CCL3 ZERO? PRSO? /?CCL6 SET 'PRSO,P-MOBY-FOUND RFALSE ?CCL6: SET 'PRSI,P-MOBY-FOUND RFALSE ?CCL3: ZERO? PRSO? \?CCL8 PRINTI "You wouldn't find any" ICALL2 NOT-HERE-PRINT,PRSO? PRINTR " there." ?CCL8: RETURN NOT-HERE-OBJECT .FUNCT NOT-HERE-PRINT,PRSO?,?TMP1 ZERO? P-OFLAG \?CTR2 ZERO? P-MERGED /?CCL3 ?CTR2: ZERO? P-XADJ /?CND6 PRINTC 32 PRINTB P-XADJ ?CND6: ZERO? P-XNAM /FALSE PRINTC 32 PRINTB P-XNAM RTRUE ?CCL3: ZERO? PRSO? /?CCL12 GET P-ITBL,P-NC1 >?TMP1 GET P-ITBL,P-NC1L CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE RSTACK ?CCL12: GET P-ITBL,P-NC2 >?TMP1 GET P-ITBL,P-NC2L CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE RSTACK .FUNCT DECK-NINE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a featureless corridor similar to every other corridor on the ship. It curves away to starboard, and a gangway leads up" FSET? GANGWAY-DOOR,OPENBIT \?CCL6 PRINTC 46 JUMP ?CND4 ?CCL6: PRINTI ", but both of these are blocked by closed bulkheads." ?CND4: PRINTI " To port is the entrance to one of the ship's primary escape pods. The pod bulkhead is " ICALL2 DDESC,POD-DOOR PRINTR "." .FUNCT CHRONOMETER-F EQUAL? PRSA,V?READ,V?EXAMINE \FALSE PRINTI "It is a standard wrist chronometer with a digital display. " ICALL1 TELL-TIME PRINTR " The back is engraved with the message ""Good luck in the Patrol! Love, Mom and Dad.""" .FUNCT TELL-TIME PRINTI "According to the chronometer, the current time is " FSET? CHRONOMETER,MUNGEDBIT \?CCL3 PRINTN MUNGED-TIME JUMP ?CND1 ?CCL3: PRINTN INTERNAL-MOVES ?CND1: PRINTC 46 RTRUE .FUNCT PATROL-UNIFORM-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "It is a standard-issue one-pocket Stellar Patrol uniform, a miracle of modern technology. It will keep its owner warm in cold climates and cool in warm locales. It provides protection against mild radiation, repels all insects, absorbs sweat, promotes healthy skin tone, and on top of everything else, it is supercomfy." EQUAL? TRIP-COUNTER,15 \?CND4 PRINTR " There are definitely worse things to find yourself wearing when stranded on a strange planet." ?CND4: CRLF RTRUE ?CCL3: EQUAL? PRSA,V?WEAR \?CCL7 FSET? LAB-UNIFORM,WORNBIT \?CCL7 PRINTR "It won't fit over the lab uniform." ?CCL7: EQUAL? PRSA,V?TAKE-OFF \?CCL11 FSET? PATROL-UNIFORM,WORNBIT \?CCL11 FCLEAR PATROL-UNIFORM,WORNBIT PRINTI "You have removed your Patrol uniform." EQUAL? TRIP-COUNTER,15 \?CND14 PRINTI " You suddenly realize how warm it is. You also feel naked and vulnerable." ?CND14: IN? BLATHER,HERE \?CCL18 PRINTR " ""Removing your uniform while on duty? Five hundred demerits!""" ?CCL18: IN? FLOYD,HERE \?CND16 PRINTR " Floyd giggles. ""You look funny without any clothes on.""" ?CND16: CRLF RTRUE ?CCL11: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE PRINTI "There's no way to open or close the pocket of the " PRINTD PRSO PRINTR "." .FUNCT DIARY-F EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL3 PRINTR "It's not that kind of diary." ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5 PRINTI "You've used this battered old recording machine as a diary for years. It includes a little button" FSET? DIARY,ACTIVEBIT \?CND6 PRINTI ", which is flashing," ?CND6: PRINTR " and a microphone/speaker. To read its screen, type READ DIARY." ?CCL5: EQUAL? PRSA,V?READ \FALSE IN? BLATHER,HERE \?CCL12 PRINTR "Blather stops you, scribbling madly. ""I warned you, Ensign! That's another two hundred demerits!""" ?CCL12: FSET? DIARY,ACTIVEBIT /?CCL14 FSET DIARY,ACTIVEBIT SET 'DIARY-CTR,0 CALL1 READ-DIARY RSTACK ?CCL14: CALL1 WORDS-ON-SCREEN RSTACK .FUNCT DIARY-BUTTON-F EQUAL? PRSA,V?PUSH \?CCL3 FSET? DIARY,ACTIVEBIT \?CCL6 EQUAL? DIARY-CTR,14 \?CCL9 FCLEAR DIARY,ACTIVEBIT SET 'DIARY-CTR,0 PRINTR """END OF DIARY -- REWINDING"" flashes across the screen; the machine whirrs, stops, and the little button flickers off." ?CCL9: CALL1 READ-DIARY RSTACK ?CCL6: PRINTR "Nothing happens." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE FSET? DIARY,ACTIVEBIT \FALSE PRINTR "It is flashing." .FUNCT READ-DIARY INC 'DIARY-CTR EQUAL? DIARY-CTR,1 \?CND1 PRINTI "Words start to scroll across the screen: " ?CND1: CALL1 WORDS-ON-SCREEN RSTACK .FUNCT WORDS-ON-SCREEN PRINTI """11,344 " GET DIARY-ENTRIES,DIARY-CTR PRINT STACK PRINTC 34 EQUAL? DIARY-CTR,14 /?CND1 CRLF CRLF PRINTR "The single word, ""More,"" appears at the bottom of the diary screen, and the little button flashes." ?CND1: CRLF RTRUE .FUNCT GANGWAY-F,RARG EQUAL? RARG,M-END \FALSE RANDOM 100 LESS? 15,STACK /FALSE ZERO? BLOWUP-COUNTER \FALSE PRINTR "You hear a distant bellowing ... something about an Ensign Seventh Class whose life is in danger." .FUNCT I-BLATHER EQUAL? HERE,DECK-EIGHT,REACTOR-LOBBY \?CCL3 IN? BLATHER,HERE \?CCL6 IGRTR? 'BRIGS-UP,3 \?CCL9 CRLF PRINTI "Blather loses his last vestige of patience and drags you to the Feinstein's brig. He throws you in, and the door clangs shut behind you." CRLF CRLF ICALL2 GOTO,BRIG ICALL ROB,ADVENTURER,CRAG MOVE PADLOCK,HERE FCLEAR PADLOCK,TAKEBIT RTRUE ?CCL9: CRLF PRINTR """I said to return to your post, Ensign Seventh Class!"" bellows Blather, turning a deepening shade of crimson." ?CCL6: ZERO? BLOWUP-COUNTER \FALSE MOVE BLATHER,HERE ICALL2 THIS-IS-IT,BLATHER CRLF PRINTR "Ensign Blather, his uniform immaculate, enters and notices you are away from your post. ""Twenty demerits, Ensign Seventh Class!"" bellows Blather. ""Forty if you're not back on Deck Nine in five seconds!"" He curls his face into a hideous mask of disgust at your unbelievable negligence." ?CCL3: EQUAL? HERE,DECK-NINE \FALSE EQUAL? BLATHER-LEAVE,3 \?CCL16 IN? BLATHER,HERE \?CCL16 SET 'BLATHER-LEAVE,0 REMOVE BLATHER CRLF PRINTR "Blather, adding fifty more demerits for good measure, moves off in search of more young ensigns to terrorize." ?CCL16: IN? BLATHER,DECK-NINE \?CCL20 INC 'BLATHER-LEAVE RFALSE ?CCL20: IN? AMBASSADOR,HERE /FALSE ZERO? BLOWUP-COUNTER \FALSE RANDOM 100 LESS? 5,STACK /FALSE MOVE BLATHER,HERE ICALL2 THIS-IS-IT,BLATHER CRLF PRINTI "Ensign First Class Blather swaggers in. He studies your work with half-closed eyes. ""You call this polishing, Ensign Seventh Class?"" he sneers. ""We have a position for an Ensign Ninth Class in the toilet-scrubbing division, you know. Thirty demerits." FSET? PATROL-UNIFORM,WORNBIT /?CND26 PRINTI " And another sixty for improper dress!" ?CND26: PRINTR """ He glares at you, his arms crossed." .FUNCT BLATHER-F EQUAL? PRSA,V?HELLO,V?TALK /?CTR2 EQUAL? BLATHER,WINNER \?CCL3 ?CTR2: PRINTI "Blather shouts ""Speak when you're spoken to, Ensign Seventh Class!"" He breaks three pencil points in a frenzied rush to give you more demerits." CRLF SET 'P-CONT,FALSE-VALUE SET 'QUOTE-FLAG,FALSE-VALUE RETURN 2 ?CCL3: EQUAL? PRSA,V?KICK,V?ATTACK \?CCL9 CALL2 JIGS-UP,STR?78 RSTACK ?CCL9: EQUAL? PRSA,V?SALUTE \?CCL11 PRINTR "Blather's sneer softens a bit. ""First right thing you've done today. Only five demerits.""" ?CCL11: EQUAL? PRSA,V?THROW \?CCL13 EQUAL? BLATHER,PRSI \?CCL13 MOVE PRSO,HERE PRINTI "The " PRINTD PRSO PRINTR " bounces off Blather's bulbous nose. He becomes livid, orders you to do five hundred push-ups, gives you ten thousand demerits, and assigns you five years of extra galley duty." ?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL17 PRINTR "Ensign Blather is a tall, beefy officer with a tremendous, misshapen nose. His uniform is perfect in every respect, and the crease in his trousers could probably slice diamonds in half." ?CCL17: EQUAL? PRSA,V?TAKE \FALSE PRINTR "Blather brushes you away, muttering about suspended shore leave." .FUNCT CELERY-F EQUAL? PRSA,V?EAT \?CCL3 CALL2 JIGS-UP,STR?80 RSTACK ?CCL3: EQUAL? PRSA,V?TAKE \FALSE PRINTR "The ambassador seems perturbed by your lack of normal protocol." .FUNCT I-AMBASSADOR GRTR? AMBASSADOR-LEAVE,2 \?CCL3 IN? AMBASSADOR,HERE \?CCL3 REMOVE AMBASSADOR REMOVE CELERY EQUAL? HERE,DECK-NINE \?CND6 CRLF PRINTI "The ambassador grunts a polite farewell, and disappears up the gangway, leaving a trail of dripping slime." CRLF ?CND6: CALL2 INT,I-AMBASSADOR PUT STACK,0,0 RTRUE ?CCL3: IN? AMBASSADOR,DECK-NINE \?CCL9 INC 'AMBASSADOR-LEAVE EQUAL? HERE,DECK-NINE \FALSE CRLF PRINTI "The ambassador " CALL2 PICK-ONE,AMBASSADOR-QUOTES PRINT STACK CRLF RTRUE ?CCL9: EQUAL? HERE,DECK-NINE \FALSE IN? AMBASSADOR,HERE /FALSE IN? BLATHER,HERE /FALSE ZERO? BLOWUP-COUNTER \FALSE RANDOM 100 LESS? 15,STACK /FALSE MOVE AMBASSADOR,HERE MOVE CELERY,HERE ICALL2 THIS-IS-IT,AMBASSADOR MOVE BROCHURE,ADVENTURER CRLF PRINTR "The alien ambassador from the planet Blow'k-bibben-Gordo ambles toward you from down the corridor. He is munching on something resembling an enormous stalk of celery, and he leaves a trail of green slime on the deck. He stops nearby, and you wince as a pool of slime begins forming beneath him on your newly polished deck. The ambassador wheezes loudly and hands you a brochure outlining his planet's major exports." .FUNCT AMBASSADOR-F EQUAL? PRSA,V?HELLO,V?TALK /?CTR2 EQUAL? AMBASSADOR,WINNER \?CCL3 ?CTR2: PRINTI "The ambassador taps his translator, and then touches his center knee to his left ear (the Blow'k-bibben-Gordoan equivalent of shrugging)." CRLF SET 'P-CONT,FALSE-VALUE SET 'QUOTE-FLAG,FALSE-VALUE RETURN 2 ?CCL3: EQUAL? PRSA,V?ASK-FOR \?CCL9 EQUAL? PRSI,CELERY \?CCL9 PRINTR "The ambassador seems willing to let you eat some of it, but I doubt he wants to part with the entire stalk." ?CCL9: EQUAL? PRSA,V?KICK,V?ATTACK \?CCL13 PRINTR "The ambassador is startled, and emits an amazing quantity of slime which spreads across the section of the deck you just polished." ?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL15 PRINTR "The ambassador has around twenty eyes, seven of which are currently open. Half of his six legs are retracted. Green slime oozes from multiple orifices in his scaly skin. He speaks through a mechanical translator slung around his neck." ?CCL15: EQUAL? PRSA,V?LISTEN \FALSE PRINTR "The alien makes a wheezing noise as he breathes." .FUNCT GLOBAL-POD-F EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL3 EQUAL? HERE,ESCAPE-POD \?CCL6 PRINTR "You're already in it!" ?CCL6: ICALL2 DO-WALK,P?WEST RTRUE ?CCL3: EQUAL? PRSA,V?DROP,V?DISEMBARK,V?EXIT \?CCL8 EQUAL? HERE,DECK-NINE \?CCL11 PRINTR "You're not in it!" ?CCL11: ICALL2 DO-WALK,P?OUT RTRUE ?CCL8: EQUAL? PRSA,V?OPEN \FALSE ICALL PERFORM,V?OPEN,POD-DOOR RTRUE .FUNCT POD-EXIT-F GRTR? BLOWUP-COUNTER,4 \?CCL3 EQUAL? PRSO,P?EAST \?CCL6 PRINT CANT-GO CRLF RFALSE ?CCL6: FSET? POD-DOOR,OPENBIT /?CCL8 PRINTI "The pod door is closed." CRLF RFALSE ?CCL8: SET 'C-ELAPSED,30 RETURN UNDERWATER ?CCL3: EQUAL? PRSO,P?UP \?CCL11 PRINT CANT-GO CRLF RFALSE ?CCL11: FSET? POD-DOOR,OPENBIT /?CCL13 PRINTI "The pod door is closed." CRLF RFALSE ?CCL13: RETURN DECK-NINE .FUNCT SAFETY-WEB-F,RARG ASSIGNED? 'RARG /?CND1 SET 'RARG,M-OBJECT ?CND1: EQUAL? PRSA,V?EXAMINE \?CCL5 ZERO? RARG \?CCL5 PRINTR "The safety webbing fills most of the pod. It could accomodate from one to, perhaps, twenty people." ?CCL5: EQUAL? PRSA,V?TAKE \?CCL9 ZERO? RARG \?CCL9 PRINTR "The safety web seems to be more intended for getting into than grabbing onto." ?CCL9: EQUAL? PRSA,V?CLIMB-ON,V?BOARD \?CCL13 ZERO? RARG \?CCL13 ICALL2 GOTO,SAFETY-WEB PRINTR "You are now safely cushioned within the web." ?CCL13: EQUAL? PRSA,V?TAKE,V?OPEN \?CCL17 EQUAL? RARG,M-BEG \?CCL17 EQUAL? PRSO,SAFETY-WEB \?CCL22 PRINTR "You're in it!" ?CCL22: PRINTR "You can't reach it from here." ?CCL17: EQUAL? PRSA,V?WALK \?CCL24 EQUAL? RARG,M-BEG \?CCL24 PRINTR "You'll have to stand up, first." ?CCL24: EQUAL? PRSA,V?DROP,V?DISEMBARK,V?EXIT /?PRD30 EQUAL? PRSA,V?STAND \FALSE ?PRD30: ZERO? RARG \FALSE IN? ADVENTURER,SAFETY-WEB \FALSE ICALL2 GOTO,HERE GRTR? TRIP-COUNTER,14 \?CCL36 CALL2 INT,I-SINK-POD GET STACK,C-ENABLED? ZERO? STACK \?CCL36 CALL QUEUE,I-SINK-POD,-1 PUT STACK,0,1 PRINTR "As you stand, the pod shifts slightly and you feel it falling. A moment later, the fall stops with a shock, and you see water rising past the viewport." ?CCL36: PRINTR "You are standing again." .FUNCT TOWEL-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "A pretty ordinary towel. Something is written in its corner." .FUNCT FOOD-KIT-F EQUAL? PRSA,V?EMPTY \FALSE FSET? FOOD-KIT,OPENBIT /?CCL6 PRINTR "The kit is closed!" ?CCL6: FIRST? PRSO \FALSE PRINTR "The goo, being gooey, sticks to the inside of the kit. You would probably have to shake the kit to get the goo out." .FUNCT GOO-F EQUAL? PRSA,V?EAT \?CCL3 ZERO? HUNGER-LEVEL \?CCL6 PRINT NOT-HUNGRY CRLF RTRUE ?CCL6: IN? FOOD-KIT,ADVENTURER /?CCL8 SET 'PRSO,FOOD-KIT ICALL1 NOT-HOLDING CALL2 THIS-IS-IT,FOOD-KIT RSTACK ?CCL8: REMOVE PRSO SET 'C-ELAPSED,15 SET 'HUNGER-LEVEL,0 CALL QUEUE,I-HUNGER-WARNINGS,1450 PUT STACK,0,1 PRINTI "Mmmm...that tasted just like " EQUAL? PRSO,BROWN-GOO \?CCL11 PRINTI "delicious Nebulan fungus pudding" JUMP ?CND9 ?CCL11: EQUAL? PRSO,RED-GOO \?CCL13 PRINTI "scrumptious cherry pie" JUMP ?CND9 ?CCL13: PRINTI "yummy lima beans" ?CND9: PRINTR "." ?CCL3: EQUAL? PRSA,V?DROP,V?TAKE \FALSE EQUAL? PRSA,V?DROP \?CCL18 PRINTI "The goo, being gooey, sticks where it is" JUMP ?CND16 ?CCL18: EQUAL? PRSA,V?TAKE \?CND16 PRINTI "It would ooze through your fingers" ?CND16: PRINTR ". You'll have to eat it right from the survival kit." .FUNCT ESCAPE-POD-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is one of the Feinstein's primary escape pods, for use in extreme emergencies. A mass of safety webbing, large enough to hold several dozen people, fills half the pod. The controls are entirely automated. The bulkhead leading out is " ICALL2 DDESC,POD-DOOR PRINTR "." .FUNCT POD-DOOR-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? POD-DOOR,OPENBIT \?CCL6 CALL1 ALREADY-OPEN RSTACK ?CCL6: GRTR? TRIP-COUNTER,14 \?CCL8 FSET POD-DOOR,OPENBIT PRINTR "The bulkhead opens and cold ocean water rushes in!" ?CCL8: GRTR? BLOWUP-COUNTER,0 \?CCL10 EQUAL? HERE,DECK-NINE \?CCL13 PRINTR "Too late. The pod's launching procedure has already begun." ?CCL13: PRINTR "Opening the door now would be a phenomenally stupid idea." ?CCL10: PRINTR "Why open the door to the emergency escape pod if there's no emergency?" ?CCL3: EQUAL? PRSA,V?CLOSE \?CCL15 FSET? POD-DOOR,OPENBIT /?CCL18 CALL1 IS-CLOSED RSTACK ?CCL18: PRINTR "You can't close it yourself." ?CCL15: EQUAL? PRSA,V?THROUGH \FALSE EQUAL? HERE,DECK-NINE \?CCL23 CALL2 DO-WALK,P?WEST RSTACK ?CCL23: CALL2 DO-WALK,P?OUT RSTACK .FUNCT GANGWAY-DOOR-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? PRSO,OPENBIT \?CCL6 CALL1 ALREADY-OPEN RSTACK ?CCL6: PRINTR "There doesn't seem to be any way to open it." ?CCL3: EQUAL? PRSA,V?CLOSE \FALSE FSET? PRSO,OPENBIT \?CCL11 PRINTR "You can't close it yourself." ?CCL11: CALL1 IS-CLOSED RSTACK .FUNCT I-BLOWUP-FEINSTEIN CALL QUEUE,I-BLOWUP-FEINSTEIN,-1 PUT STACK,0,1 INC 'BLOWUP-COUNTER EQUAL? BLOWUP-COUNTER,5 \?CCL3 EQUAL? HERE,DECK-NINE \?CCL6 CALL2 JIGS-UP,STR?91 RSTACK ?CCL6: CRLF PRINTI "Through the viewport of the pod you see the Feinstein dwindle as you head away. Bursts of light dot its hull. Suddenly, a huge explosion blows the Feinstein into tiny pieces, sending the escape pod tumbling away! " CRLF CALL QUEUE,I-POD-TRIP,-1 PUT STACK,0,1 CALL2 INT,I-BLOWUP-FEINSTEIN PUT STACK,0,0 IN? ADVENTURER,SAFETY-WEB /?CCL9 RANDOM 100 LESS? 20,STACK /?CCL9 CALL2 JIGS-UP,STR?92 RSTACK ?CCL9: IN? ADVENTURER,SAFETY-WEB /FALSE CRLF PRINTR "You are thrown against the bulkhead, bruising a few limbs. The safety webbing might have offered a bit more protection." ?CCL3: EQUAL? BLOWUP-COUNTER,4 \?CCL15 CALL2 INT,I-BLATHER PUT STACK,0,0 CALL2 INT,I-AMBASSADOR PUT STACK,0,0 EQUAL? HERE,DECK-NINE \?CCL18 CRLF PRINTR "Explosions continue to rock the ship." ?CCL18: CRLF PRINTR "You feel the pod begin to slide down its ejection tube as explosions shake the mother ship." ?CCL15: EQUAL? BLOWUP-COUNTER,3 \?CCL20 FCLEAR POD-DOOR,OPENBIT EQUAL? HERE,DECK-NINE \?CCL23 CRLF PRINTR "More powerful explosions buffet the ship. The lights flicker madly, and the escape-pod bulkhead clangs shut." ?CCL23: EQUAL? HERE,ESCAPE-POD \?CCL25 CRLF PRINTR "The pod door clangs shut as heavy explosions continue to buffet the Feinstein." ?CCL25: CALL2 JIGS-UP,STR?93 RSTACK ?CCL20: EQUAL? BLOWUP-COUNTER,2 \?CCL27 FCLEAR CORRIDOR-DOOR,OPENBIT FCLEAR CORRIDOR-DOOR,INVISIBLE FCLEAR GANGWAY-DOOR,OPENBIT FCLEAR GANGWAY-DOOR,INVISIBLE EQUAL? HERE,DECK-NINE \?CCL30 CRLF PRINTR "More distant explosions! A narrow emergency bulkhead at the base of the gangway and a wider one along the corridor to starboard both crash shut!" ?CCL30: EQUAL? HERE,ESCAPE-POD,BRIG \?CCL32 CRLF PRINTR "The ship shakes again. You hear, from close by, the sounds of emergency bulkheads closing." ?CCL32: EQUAL? HERE,GANGWAY \?CCL34 CRLF PRINTR "Another explosion. A narrow bulkhead at the base of the gangway slams shut!" ?CCL34: CRLF PRINTI "You are deafened by more explosions and by the sound of emergency bulkheads slamming closed. " IN? BLATHER,HERE \?CCL37 PRINTI "Blather, foaming slightly at the mouth, screams at you to swab the decks" JUMP ?CND35 ?CCL37: MOVE BLATHER,HERE PRINTI "Blather enters, looking confused, and begins ranting madly at you" ?CND35: PRINTR "." ?CCL27: EQUAL? BLOWUP-COUNTER,1 \FALSE SET 'BRIGS-UP,0 FSET POD-DOOR,OPENBIT CRLF PRINTI "A massive explosion rocks the ship. Echoes from the explosion resound deafeningly down the halls. " EQUAL? HERE,DECK-NINE \?CCL42 PRINTI "The door to port slides open. " IN? AMBASSADOR,HERE \?CCL45 REMOVE AMBASSADOR REMOVE CELERY PRINTR "The ambassador squawks frantically, evacuates a massive load of gooey slime, and rushes away." ?CCL45: IN? BLATHER,HERE \?CCL47 REMOVE BLATHER PRINTR "Blather, confused by this nonroutine occurrence, orders you to continue scrubbing the floor, and then dashes off." ?CCL47: CRLF RTRUE ?CCL42: EQUAL? HERE,ESCAPE-POD,GANGWAY,BRIG \?CCL49 CRLF RTRUE ?CCL49: PRINTR "Blather, looking slightly disoriented, barks at you to resume your assigned duties." .FUNCT I-POD-TRIP INC 'TRIP-COUNTER EQUAL? TRIP-COUNTER,1 \?CCL3 CRLF PRINTR "As the escape pod tumbles away from the former location of the Feinstein, its gyroscopes whine. The pod slowly stops tumbling. Lights on the control panel blink furiously as the autopilot searches for a reasonable destination." ?CCL3: EQUAL? TRIP-COUNTER,2 \?CCL5 CRLF PRINTR "The auxiliary rockets fire briefly, and a nearby planet swings into view through the port. It appears to be almost entirely ocean, with just a few visible islands and an unusually small polar ice cap. A moment later, the system's sun swings into view, and the viewport polarizes into a featureless black rectangle." ?CCL5: EQUAL? TRIP-COUNTER,3 \?CCL7 CRLF PRINTR "The main thrusters fire a long, gentle burst. A monotonic voice issues from the control panel. ""Approaching planet...human-habitable.""" ?CCL7: EQUAL? TRIP-COUNTER,7 \?CCL9 CRLF PRINTR "The pod is buffeted as it enters the planet's atmosphere." ?CCL9: EQUAL? TRIP-COUNTER,8 \?CCL11 CRLF PRINTR "You feel the temperature begin to rise, and the pod's climate control system roars as it labors to compensate." ?CCL11: EQUAL? TRIP-COUNTER,9 \?CCL13 CRLF PRINTR "The viewport suddenly becomes transparent again, giving you a view of endless ocean below. The lights on the control panel flash madly as the pod's computer searches for a suitable landing site. The thrusters fire long and hard, slowing the pod's descent." ?CCL13: EQUAL? TRIP-COUNTER,10 \?CCL15 CRLF PRINTR "The pod is now approaching the closer of a pair of islands. It appears to be surrounded by sheer cliffs rising from the water, and is topped by a wide plateau. The plateau seems to be covered by a sprawling complex of buildings." ?CCL15: EQUAL? TRIP-COUNTER,11 \FALSE IN? ADVENTURER,SAFETY-WEB \?CCL20 MOVE FOOD-KIT,HERE MOVE TOWEL,HERE CRLF PRINTI "The pod lands with a thud. Through the viewport you can see a rocky cleft and some water below. The pod rocks gently back and forth as if it was precariously balanced. A previously unseen panel slides open, revealing some emergency provisions, including a survival kit and a towel." CRLF SET 'TRIP-COUNTER,15 CALL2 INT,I-POD-TRIP PUT STACK,0,0 RTRUE ?CCL20: CALL2 JIGS-UP,STR?94 RSTACK .FUNCT I-SINK-POD INC 'SINK-COUNTER EQUAL? SINK-COUNTER,3 \?CCL3 EQUAL? HERE,ESCAPE-POD \?CCL3 CRLF PRINTR "The pod is now completely submerged, and you feel it smash against underwater rocks. Bubbles streaming upward past the window indicate that the pod is continuing to sink." ?CCL3: EQUAL? SINK-COUNTER,4 \?CCL7 EQUAL? HERE,ESCAPE-POD \?CCL7 FSET? POD-DOOR,OPENBIT /?CCL7 CRLF PRINTR "The pod creaks ominously from the increasing pressure." ?CCL7: EQUAL? SINK-COUNTER,5 \FALSE EQUAL? HERE,ESCAPE-POD \FALSE FSET? POD-DOOR,OPENBIT \?CCL17 CALL2 JIGS-UP,STR?95 RSTACK ?CCL17: CALL2 JIGS-UP,STR?96 RSTACK .FUNCT SLOT-F EQUAL? PRSA,V?PUT \?CCL3 EQUAL? SLOT,PRSI \?CCL3 PRINTR "The slot is shallow, so you can't put anything in it. It may be possible to slide something through the slot, though." ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7 PRINTR "The slot is about ten centimeters wide, but only about two centimeters deep. It is surrounded on its long sides by parallel ridges of metal." ?CCL7: EQUAL? PRSA,V?SLIDE \FALSE EQUAL? SLOT,PRSI \FALSE MOVE PRSO,ADVENTURER FSET? PRSO,SCRAMBLEDBIT \?CCL14 PRINTR "A sign flashes ""Magnetik striip randumiizd...konsult Prajekt Handbuk abowt propur kaar uv awtharazaashun kardz.""" ?CCL14: EQUAL? PRSO,KITCHEN-CARD \?CCL16 EQUAL? HERE,MESS-HALL \?CCL19 FSET? KITCHEN-DOOR,OPENBIT \?CCL22 PRINTR "Nothing happens." ?CCL22: FSET KITCHEN-DOOR,OPENBIT CALL QUEUE,I-KITCHEN-DOOR-CLOSES,50 PUT STACK,0,1 PRINTI "The kitchen door quietly slides open." CRLF ICALL1 FLOYD-REVEAL-CARD-F RTRUE ?CCL19: PRINT WRONG-CARD CRLF RTRUE ?CCL16: EQUAL? PRSO,UPPER-ELEVATOR-CARD \?CCL24 EQUAL? HERE,UPPER-ELEVATOR \?CCL27 SET 'UPPER-ELEVATOR-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-UPPER-ELEVATOR,180 PUT STACK,0,1 PRINT ELEVATOR-ENABLED CRLF ICALL1 FLOYD-REVEAL-CARD-F RTRUE ?CCL27: PRINT WRONG-CARD CRLF RTRUE ?CCL24: EQUAL? PRSO,LOWER-ELEVATOR-CARD \?CCL29 EQUAL? HERE,LOWER-ELEVATOR \?CCL32 SET 'LOWER-ELEVATOR-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-LOWER-ELEVATOR,200 PUT STACK,0,1 PRINT ELEVATOR-ENABLED CRLF RTRUE ?CCL32: PRINT WRONG-CARD CRLF RTRUE ?CCL29: EQUAL? PRSO,TELEPORTATION-CARD \?CCL34 EQUAL? HERE,BOOTH-1,BOOTH-2,BOOTH-3 \?CCL37 SET 'TELEPORTATION-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-TELEPORTATION,30 PUT STACK,0,1 PRINTR "Nothing happens for a moment. Then a light flashes ""Redee.""" ?CCL37: PRINT WRONG-CARD CRLF RTRUE ?CCL34: EQUAL? PRSO,SHUTTLE-CARD \?CCL39 CALL1 SHUTTLE-ACTIVATE RSTACK ?CCL39: EQUAL? PRSO,MINI-CARD \?CCL41 EQUAL? HERE,MINI-BOOTH \?CCL44 SET 'MINI-ACTIVATED,TRUE-VALUE CALL QUEUE,I-TURNOFF-MINI,30 PUT STACK,0,1 PRINTR "A melodic high-pitched voice says ""Miniaturization and teleportation booth activated. Please type in damaged sector number.""" ?CCL44: PRINT WRONG-CARD CRLF RTRUE ?CCL41: EQUAL? PRSO,ID-CARD \FALSE PRINT WRONG-CARD CRLF RTRUE .FUNCT FLOYD-REVEAL-CARD-F IN? FLOYD,HERE \FALSE ZERO? CARD-REVEALED \FALSE EQUAL? DAY,2 \?PRD8 LESS? INTERNAL-MOVES,5000 \?PRD8 RANDOM 100 LESS? 5,STACK \?CCL3 ?PRD8: EQUAL? DAY,2 \?PRD12 GRTR? INTERNAL-MOVES,4999 \?PRD12 RANDOM 100 LESS? 10,STACK \?CCL3 ?PRD12: EQUAL? DAY,3 \?PRD16 LESS? INTERNAL-MOVES,5000 \?PRD16 RANDOM 100 LESS? 20,STACK \?CCL3 ?PRD16: EQUAL? DAY,3 \?PRD20 GRTR? INTERNAL-MOVES,4999 \?PRD20 RANDOM 100 LESS? 40,STACK \?CCL3 ?PRD20: GRTR? DAY,3 \FALSE ?CCL3: SET 'CARD-REVEALED,TRUE-VALUE SET 'FLOYD-SPOKE,TRUE-VALUE ZERO? CARD-STOLEN \?CCL26 MOVE LOWER-ELEVATOR-CARD,FLOYD PRINTR "Floyd claps his hands with excitement. ""Those cards are really neat, huh? Floyd has one for himself--see?"" He reaches behind one of his panels and retrieves a magnetic-striped card. He waves it exuberantly in the air." ?CCL26: PRINTR "Floyd bobs up and down with excitement. ""Those cards are really neat! Floyd has one, too."" He begins searching through his compartments, but finds nothing. He scratches his head and looks confused." .FUNCT I-KITCHEN-DOOR-CLOSES EQUAL? HERE,KITCHEN \?CCL3 CALL QUEUE,I-KITCHEN-DOOR-CLOSES,-1 PUT STACK,0,1 RFALSE ?CCL3: FCLEAR KITCHEN-DOOR,OPENBIT CALL2 INT,I-KITCHEN-DOOR-CLOSES PUT STACK,0,0 EQUAL? HERE,MESS-HALL \FALSE CRLF PRINTR "The kitchen door slides quietly closed." .FUNCT TELEPORT,BOOTH EQUAL? PRSA,V?PUSH \FALSE EQUAL? TELEPORTATION-ON,TRUE-VALUE \?CCL6 PRINTI "You experience a strange feeling in the pit of your stomach." CRLF IN? FLOYD,HERE \?CND7 PRINTI "Floyd gives a terrified squeal, and clutches at his guidance mechanism." CRLF SET 'FLOYD-SPOKE,TRUE-VALUE CALL QUEUE,I-FLOYD,1 PUT STACK,0,1 ?CND7: ICALL ROB,HERE,BOOTH ICALL GOTO,BOOTH,FALSE-VALUE CALL2 INT,I-TURNOFF-TELEPORTATION PUT STACK,0,0 SET 'TELEPORTATION-ON,FALSE-VALUE RTRUE ?CCL6: PRINTR "A sign flashes ""Teleportaashun buux not aktivaatid.""" .FUNCT TELEPORTATION-BUTTON-1-F CALL2 TELEPORT,BOOTH-1 RSTACK .FUNCT TELEPORTATION-BUTTON-2-F CALL2 TELEPORT,BOOTH-2 RSTACK .FUNCT TELEPORTATION-BUTTON-3-F CALL2 TELEPORT,BOOTH-3 RSTACK .FUNCT I-TURNOFF-TELEPORTATION SET 'TELEPORTATION-ON,FALSE-VALUE EQUAL? HERE,BOOTH-1,BOOTH-2,BOOTH-3 \FALSE CRLF PRINTR "The ready light goes dark." .FUNCT GLOBAL-SHUTTLE-F EQUAL? PRSA,V?WALK-TO,V?THROUGH,V?ENTER /?CTR2 EQUAL? PRSA,V?BOARD \?CCL3 ?CTR2: EQUAL? HERE,SHUTTLE-CAR-ALFIE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR7 EQUAL? HERE,SHUTTLE-CAR-BETTY,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL8 ?CTR7: PRINTR "You ARE in the shuttle car." ?CCL8: PRINTR "Use 'north' or 'south'." ?CCL3: EQUAL? PRSA,V?DROP,V?DISEMBARK,V?EXIT \FALSE EQUAL? HERE,SHUTTLE-CAR-ALFIE \?CCL15 CALL2 DO-WALK,P?NORTH RSTACK ?CCL15: EQUAL? HERE,SHUTTLE-CAR-BETTY \?CCL17 CALL2 DO-WALK,P?SOUTH RSTACK ?CCL17: EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CTR18 EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL19 ?CTR18: PRINTR "You can't exit the shuttle car from here." ?CCL19: PRINTR "You're not in the shuttle car!" .FUNCT SHUTTLE-CAR-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is the cabin of a large transport, with seating for around 20 people plus space for freight. There are open doors at the eastern and western ends of the cabin, and a doorway leads out to a wide platform to the " EQUAL? HERE,SHUTTLE-CAR-ALFIE \?CCL6 PRINTI "north" JUMP ?CND4 ?CCL6: PRINTI "south" ?CND4: PRINTR "." .FUNCT CONTROL-CABIN-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a small control cabin. A control panel contains a slot, a lever, and a display. The lever can be set at a central position, or it could be pushed up to a position labelled ""+"", or pulled down to a position labelled ""-"". It is currently at the " ZERO? LEVER-SETTING \?CCL6 PRINTI "center" JUMP ?CND4 ?CCL6: EQUAL? LEVER-SETTING,1 \?CCL8 PRINTI "upper" JUMP ?CND4 ?CCL8: PRINTI "lower" ?CND4: PRINTI " setting. The display, a digital readout, currently reads " PRINTN SHUTTLE-VELOCITY PRINTI ". Through the cabin window you can see " ICALL1 DESCRIBE-VIEW CRLF RTRUE .FUNCT DESCRIBE-VIEW EQUAL? HERE,ALFIE-CONTROL-WEST \?PRD5 ZERO? ALFIE-AT-KALAMONTEE \?CTR2 ?PRD5: EQUAL? HERE,BETTY-CONTROL-WEST \?PRD8 ZERO? BETTY-AT-KALAMONTEE \?CTR2 ?PRD8: EQUAL? HERE,ALFIE-CONTROL-EAST \?PRD11 ZERO? ALFIE-AT-KALAMONTEE /?CTR2 ?PRD11: EQUAL? HERE,BETTY-CONTROL-EAST \?CCL3 ZERO? BETTY-AT-KALAMONTEE \?CCL3 ?CTR2: PRINTI "a featureless concrete wall." RTRUE ?CCL3: ZERO? SHUTTLE-MOVING /?CCL17 EQUAL? SHUTTLE-COUNTER,23 \?CCL17 PRINTI "parallel rails ending at a brightly lit station ahead." RTRUE ?CCL17: PRINTI "parallel rails running along the floor of a long tunnel, vanishing in the distance." RTRUE .FUNCT SHUTTLE-DOOR-F EQUAL? PRSA,V?OPEN \FALSE ZERO? SHUTTLE-MOVING /?CCL6 PRINTR "A recorded voice says ""Operator should remain in control cabin while shuttle car is between stations.""" ?CCL6: PRINTR "Are you sure it isn't?" .FUNCT SHUTTLE-ENTER-F EQUAL? HERE,KALAMONTEE-PLATFORM \?CCL3 EQUAL? PRSO,P?NORTH \?CCL6 ZERO? BETTY-AT-KALAMONTEE /?CCL9 RETURN SHUTTLE-CAR-BETTY ?CCL9: PRINT CANT-GO CRLF RFALSE ?CCL6: EQUAL? PRSO,P?SOUTH \FALSE ZERO? ALFIE-AT-KALAMONTEE /?CCL14 RETURN SHUTTLE-CAR-ALFIE ?CCL14: PRINT CANT-GO CRLF RFALSE ?CCL3: EQUAL? HERE,LAWANDA-PLATFORM \FALSE EQUAL? PRSO,P?NORTH \?CCL19 ZERO? BETTY-AT-KALAMONTEE /?CCL22 PRINT CANT-GO CRLF RFALSE ?CCL22: RETURN SHUTTLE-CAR-BETTY ?CCL19: EQUAL? PRSO,P?SOUTH \FALSE ZERO? ALFIE-AT-KALAMONTEE /?CCL27 PRINT CANT-GO CRLF RFALSE ?CCL27: RETURN SHUTTLE-CAR-ALFIE .FUNCT SHUTTLE-EXIT-F EQUAL? HERE,SHUTTLE-CAR-ALFIE \?CCL3 ZERO? ALFIE-AT-KALAMONTEE /?CCL6 RETURN KALAMONTEE-PLATFORM ?CCL6: RETURN LAWANDA-PLATFORM ?CCL3: EQUAL? HERE,SHUTTLE-CAR-BETTY \FALSE ZERO? BETTY-AT-KALAMONTEE /?CCL11 RETURN KALAMONTEE-PLATFORM ?CCL11: RETURN LAWANDA-PLATFORM .FUNCT SHUTTLE-ACTIVATE EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CCL3 EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CCL3 PRINT WRONG-CARD CRLF RTRUE ?CCL3: ZERO? ALFIE-BROKEN /?PRD9 EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR6 ?PRD9: ZERO? BETTY-BROKEN /?CCL7 EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL7 ?CTR6: PRINTR "A garbled recording mentions that the shuttle car has undergone some damage and that the repair robot has been summoned." ?CCL7: GRTR? INTERNAL-MOVES,6000 \?CND1 PRINTR "A recorded voice explains that using the shuttle car during the evening hours requires special authorization." ?CND1: EQUAL? HERE,ALFIE-CONTROL-EAST \?CCL17 ZERO? SHUTTLE-ON /?CCL20 PRINT SHUTTLE-RECORDING-1 CRLF RTRUE ?CCL20: ZERO? ALFIE-AT-KALAMONTEE \?CCL22 PRINT SHUTTLE-RECORDING-2 CRLF RTRUE ?CCL22: SET 'SHUTTLE-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 PRINT SHUTTLE-RECORDING-3 CRLF RTRUE ?CCL17: EQUAL? HERE,ALFIE-CONTROL-WEST \?CCL24 ZERO? SHUTTLE-ON /?CCL27 PRINT SHUTTLE-RECORDING-1 CRLF RTRUE ?CCL27: ZERO? ALFIE-AT-KALAMONTEE /?CCL29 PRINT SHUTTLE-RECORDING-2 CRLF RTRUE ?CCL29: SET 'SHUTTLE-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 PRINT SHUTTLE-RECORDING-3 CRLF RTRUE ?CCL24: EQUAL? HERE,BETTY-CONTROL-EAST \?CCL31 ZERO? SHUTTLE-ON /?CCL34 PRINT SHUTTLE-RECORDING-1 CRLF RTRUE ?CCL34: ZERO? BETTY-AT-KALAMONTEE \?CCL36 PRINT SHUTTLE-RECORDING-2 CRLF RTRUE ?CCL36: SET 'SHUTTLE-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 PRINT SHUTTLE-RECORDING-3 CRLF RTRUE ?CCL31: EQUAL? HERE,BETTY-CONTROL-WEST \?CCL38 ZERO? SHUTTLE-ON /?CCL41 PRINT SHUTTLE-RECORDING-1 CRLF RTRUE ?CCL41: ZERO? BETTY-AT-KALAMONTEE /?CCL43 PRINT SHUTTLE-RECORDING-2 CRLF RTRUE ?CCL43: SET 'SHUTTLE-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 PRINT SHUTTLE-RECORDING-3 CRLF RTRUE ?CCL38: PRINT WRONG-CARD CRLF RTRUE .FUNCT I-TURNOFF-SHUTTLE ZERO? SHUTTLE-MOVING /?CCL3 CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 RFALSE ?CCL3: SET 'SHUTTLE-ON,FALSE-VALUE RFALSE .FUNCT LEVER-F EQUAL? PRSA,V?PUSH-UP,V?PUSH \?CCL3 ZERO? SHUTTLE-ON /?CCL6 EQUAL? LEVER-SETTING,1 \?CCL9 PRINTR "The lever is already in the upper position." ?CCL9: ZERO? LEVER-SETTING \?CCL11 SET 'LEVER-SETTING,1 CALL QUEUE,I-SHUTTLE,1 PUT STACK,0,1 PRINTR "The lever is now in the upper position." ?CCL11: SET 'LEVER-SETTING,0 PRINTR "The lever is now in the central position." ?CCL6: PRINT SHUTTLE-RECORDING-4 CRLF RTRUE ?CCL3: EQUAL? PRSA,V?PUSH-DOWN,V?PULL \FALSE ZERO? SHUTTLE-ON /?CCL16 EQUAL? LEVER-SETTING,1 \?CCL19 SET 'LEVER-SETTING,0 PRINTR "The lever is now in the central position." ?CCL19: ZERO? LEVER-SETTING \?CCL21 ZERO? SHUTTLE-VELOCITY \?CCL24 PRINTR "The lever immediately pops back to the central position." ?CCL24: SET 'LEVER-SETTING,-1 CALL QUEUE,I-SHUTTLE,1 PUT STACK,0,1 PRINTR "The lever is now in the lower position." ?CCL21: PRINTR "The lever is already in the lower position." ?CCL16: PRINT SHUTTLE-RECORDING-4 CRLF RTRUE .FUNCT I-SHUTTLE CALL QUEUE,I-SHUTTLE,-1 PUT STACK,0,1 ZERO? SHUTTLE-MOVING \?CCL3 SET 'SHUTTLE-MOVING,TRUE-VALUE FCLEAR SHUTTLE-DOOR,OPENBIT FCLEAR SHUTTLE-DOOR,INVISIBLE PRINTI "The control cabin door slides shut and the shuttle car begins to move " EQUAL? LEVER-SETTING,1 \FALSE ADD SHUTTLE-VELOCITY,5 >SHUTTLE-VELOCITY PRINTR "forward! The display changes to 5." ?CCL3: GRTR? SHUTTLE-VELOCITY,0 \?CND7 INC 'SHUTTLE-COUNTER ?CND7: EQUAL? LEVER-SETTING,1 \?CCL11 ADD SHUTTLE-VELOCITY,5 >SHUTTLE-VELOCITY JUMP ?CND9 ?CCL11: EQUAL? LEVER-SETTING,-1 \?CND9 GRTR? SHUTTLE-VELOCITY,0 \?CCL15 SUB SHUTTLE-VELOCITY,5 >SHUTTLE-VELOCITY JUMP ?CND9 ?CCL15: SET 'LEVER-SETTING,0 PRINTI "The shuttle car comes to a stop and the lever pops back to the central position." CRLF ?CND9: EQUAL? SHUTTLE-COUNTER,24 \?CCL18 CALL1 DESCRIBE-SHUTTLE-ARRIVE RSTACK ?CCL18: GRTR? SHUTTLE-VELOCITY,0 \FALSE ICALL1 DESCRIBE-SHUTTLE-TRIP RTRUE .FUNCT DESCRIBE-SHUTTLE-TRIP PRINTI "The shuttle car continues to move. The display " ZERO? LEVER-SETTING \?CCL3 PRINTI "still reads " JUMP ?CND1 ?CCL3: PRINTI "blinks, and now reads " ?CND1: PRINTN SHUTTLE-VELOCITY PRINTC 46 CRLF EQUAL? SHUTTLE-COUNTER,2 \?CND4 PRINTI "You pass a sign which says ""Limit 45.""" CRLF ?CND4: EQUAL? SHUTTLE-COUNTER,12 \?CND6 PRINTI "The tunnel levels out and begins to slope upward. A sign flashes by which reads ""Hafwaa Mark -- Beegin Deeseluraashun.""" CRLF ?CND6: EQUAL? SHUTTLE-COUNTER,20 \?CND8 PRINT SIGN-PASS PRINTI """15.""" CRLF ?CND8: EQUAL? SHUTTLE-COUNTER,21 \?CND10 PRINT SIGN-PASS PRINTI """10.""" CRLF ?CND10: EQUAL? SHUTTLE-COUNTER,22 \?CND12 PRINT SIGN-PASS PRINTI """5.""" CRLF ?CND12: EQUAL? SHUTTLE-COUNTER,23 \FALSE PRINTR "The shuttle car is approaching a brightly lit area. As you near it, you make out the concrete platforms of a shuttle station." .FUNCT DESCRIBE-SHUTTLE-ARRIVE EQUAL? SHUTTLE-COUNTER,24 \FALSE ZERO? SHUTTLE-VELOCITY \?CCL6 PRINTI "The shuttle car glides into the station and comes to rest at the concrete platform. You hear the cabin doors slide open." CRLF JUMP ?CND4 ?CCL6: LESS? SHUTTLE-VELOCITY,20 \?CCL8 EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL11 SET 'ALFIE-BROKEN,TRUE-VALUE JUMP ?CND9 ?CCL11: SET 'BETTY-BROKEN,TRUE-VALUE ?CND9: PRINTI "The shuttle car rumbles through the station and smashes into the wall at the far end. You are thrown forward into the control panel. Both you and the shuttle car produce unhealthy crunching sounds as the cabin doors creak slowly open." CRLF JUMP ?CND4 ?CCL8: ICALL2 JIGS-UP,STR?104 ?CND4: SET 'SHUTTLE-VELOCITY,0 SET 'SHUTTLE-MOVING,FALSE-VALUE SET 'SHUTTLE-COUNTER,0 SET 'LEVER-SETTING,0 SET 'SHUTTLE-ON,FALSE-VALUE FSET SHUTTLE-DOOR,INVISIBLE FSET SHUTTLE-DOOR,OPENBIT CALL2 INT,I-SHUTTLE PUT STACK,0,0 EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL14 ZERO? ALFIE-AT-KALAMONTEE /?CCL17 SET 'ALFIE-AT-KALAMONTEE,FALSE-VALUE RETURN ALFIE-AT-KALAMONTEE ?CCL17: SET 'ALFIE-AT-KALAMONTEE,TRUE-VALUE RETURN ALFIE-AT-KALAMONTEE ?CCL14: ZERO? BETTY-AT-KALAMONTEE /?CCL20 SET 'BETTY-AT-KALAMONTEE,FALSE-VALUE RETURN BETTY-AT-KALAMONTEE ?CCL20: SET 'BETTY-AT-KALAMONTEE,TRUE-VALUE RETURN BETTY-AT-KALAMONTEE .FUNCT I-SLEEP-WARNINGS INC 'SLEEPY-LEVEL IN? ADVENTURER,BED \?CND1 CRLF PRINTI "You suddenly realize how tired you were and how comfortable the bed is. You should be asleep in no time." CRLF CALL2 INT,I-SLEEP-WARNINGS PUT STACK,0,0 CALL QUEUE,I-FALL-ASLEEP,16 PUT STACK,0,1 RTRUE ?CND1: EQUAL? SLEEPY-LEVEL,1 \?CCL5 CRLF PRINTI "You begin to feel weary. It might be time to think about finding a nice safe place to sleep." CRLF CALL QUEUE,I-SLEEP-WARNINGS,400 PUT STACK,0,1 RTRUE ?CCL5: EQUAL? SLEEPY-LEVEL,2 \?CCL7 CRLF PRINTI "You're really tired now. You'd better find a place to sleep real soon." CRLF CALL QUEUE,I-SLEEP-WARNINGS,135 PUT STACK,0,1 RTRUE ?CCL7: EQUAL? SLEEPY-LEVEL,3 \?CCL9 CRLF PRINTI "If you don't get some sleep soon you'll probably drop." CRLF CALL QUEUE,I-SLEEP-WARNINGS,60 PUT STACK,0,1 RTRUE ?CCL9: EQUAL? SLEEPY-LEVEL,4 \?CCL11 CRLF PRINTI "You can barely keep your eyes open." CRLF CALL QUEUE,I-SLEEP-WARNINGS,50 PUT STACK,0,1 RTRUE ?CCL11: EQUAL? SLEEPY-LEVEL,5 \FALSE EQUAL? HERE,BED \?CCL16 CRLF PRINTI "You slowly sink into a deep and blissful sleep." CRLF CALL1 DREAMING RSTACK ?CCL16: EQUAL? HERE,DORM-A,DORM-B /?CTR17 EQUAL? HERE,DORM-C,DORM-D \?CCL18 ?CTR17: CRLF PRINTI "You climb into one of the bunk beds and immediately fall asleep." CRLF ICALL2 GOTO,BED CALL1 DREAMING RSTACK ?CCL18: CRLF PRINTI "You can't stay awake a moment longer. You drop to the ground and fall into a deep but fitful sleep." CRLF EQUAL? DAY,1 \?PRD25 EQUAL? HERE,CRAG /?CTR22 ?PRD25: EQUAL? DAY,3 \?PRD28 EQUAL? HERE,BALCONY /?CTR22 ?PRD28: EQUAL? DAY,5 \?CCL23 EQUAL? HERE,WINDING-STAIR \?CCL23 ?CTR22: CALL2 JIGS-UP,STR?106 RSTACK ?CCL23: RANDOM 100 LESS? 30,STACK /?CCL34 CALL2 JIGS-UP,STR?107 RSTACK ?CCL34: CALL1 DREAMING RSTACK .FUNCT BED-F,RARG ASSIGNED? 'RARG /?CND1 SET 'RARG,M-OBJECT ?CND1: EQUAL? PRSA,V?WALK \?CCL5 EQUAL? RARG,M-BEG \?CCL5 PRINTR "You'll have to stand up, first." ?CCL5: EQUAL? PRSA,V?CLOSE,V?OPEN,V?TAKE /?PRD11 EQUAL? PRSA,V?RUB \?CCL9 ?PRD11: EQUAL? RARG,M-BEG \?CCL9 EQUAL? PRSO,BED /?CCL9 PRINTR "You can't reach it from here." ?CCL9: ZERO? RARG \FALSE EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL18 EQUAL? HERE,INFIRMARY \?CCL21 CALL2 JIGS-UP,STR?108 RSTACK ?CCL21: GRTR? SLEEPY-LEVEL,0 \?CCL23 ICALL2 GOTO,BED CALL QUEUE,I-FALL-ASLEEP,16 PUT STACK,0,1 CALL2 INT,I-SLEEP-WARNINGS PUT STACK,0,0 PRINTR "Ahhh...the bed is soft and comfortable. You should be asleep in short order." ?CCL23: ICALL2 GOTO,BED PRINTR "You are now in bed." ?CCL18: EQUAL? PRSA,V?EXIT,V?STAND,V?DISEMBARK /?PRD27 EQUAL? PRSA,V?DROP \?CCL25 ?PRD27: CALL2 INT,I-FALL-ASLEEP GET STACK,C-TICK ZERO? STACK /?CCL25 PRINTR "How could you suggest such a thing when you're so tired and this bed is so comfy?" ?CCL25: EQUAL? PRSA,V?DROP,V?EXIT,V?LEAVE \?CCL31 ICALL PERFORM,V?DISEMBARK,BED RTRUE ?CCL31: EQUAL? PRSA,V?PUT \FALSE EQUAL? BED,PRSI \FALSE MOVE PRSO,HERE PRINTI "The " PRINTD PRSO PRINTR " bounces off the bed and lands on the floor." .FUNCT I-FALL-ASLEEP CRLF PRINTI "You slowly sink into a deep and restful sleep." CRLF CALL2 INT,I-FALL-ASLEEP PUT STACK,0,0 CALL1 DREAMING RSTACK .FUNCT DREAMING FSET? FORK,TOUCHBIT \?CCL3 RANDOM 100 LESS? 13,STACK /?CCL3 PRINTI "You are in a busy office crowded with people. The only one you recognize is Floyd. He rushes back and forth between the desks, carrying papers and delivering coffee. He notices you, and asks how your project is coming, and whether you have time to tell him a story. You look into his deep, trusting eyes..." CRLF JUMP ?CND1 ?CCL3: RANDOM 100 LESS? 60,STACK /?CND1 CRLF CALL2 PICK-ONE,DREAMS PRINT STACK CRLF ?CND1: CALL1 WAKING-UP RSTACK .FUNCT WAKING-UP,X,N INC 'DAY SET 'SICKNESS-WARNING-FLAG,TRUE-VALUE SET 'SLEEPY-LEVEL,0 ICALL1 RESET-TIME FIRST? ADVENTURER >X /?PRG2 ?PRG2: ZERO? X /?REP3 NEXT? X >N /?BOGUS7 ?BOGUS7: FSET? X,WORNBIT /?CND8 MOVE X,HERE ?CND8: EQUAL? X,CANTEEN \?CND10 IN? HIGH-PROTEIN,CANTEEN \?CND10 FSET? CANTEEN,OPENBIT \?CND10 REMOVE HIGH-PROTEIN ?CND10: EQUAL? X,FLASK \?CND15 IN? CHEMICAL-FLUID,FLASK \?CND15 REMOVE CHEMICAL-FLUID ?CND15: SET 'X,N JUMP ?PRG2 ?REP3: PRINTI " ***** SEPTEM " ADD DAY,5 PRINTN STACK PRINTI ", 11344 ***** " IN? ADVENTURER,BED /?CCL21 PRINTI "You wake and slowly stand up, feeling stiff from your night on the floor." JUMP ?CND19 ?CCL21: LESS? SICKNESS-LEVEL,3 \?CCL23 PRINTI "You wake up feeling refreshed and ready to face the challenges of this mysterious world." JUMP ?CND19 ?CCL23: LESS? SICKNESS-LEVEL,6 \?CCL25 PRINTI "You wake after sleeping restlessly. You feel weak and listless." JUMP ?CND19 ?CCL25: PRINTI "You wake feeling weak and worn-out. It will be an effort just to stand up." ?CND19: GRTR? HUNGER-LEVEL,0 \?CCL28 SET 'HUNGER-LEVEL,4 CALL QUEUE,I-HUNGER-WARNINGS,100 PUT STACK,0,1 PRINTI " You are also incredibly famished. Better get some breakfast!" JUMP ?CND26 ?CCL28: CALL QUEUE,I-HUNGER-WARNINGS,400 PUT STACK,0,1 ?CND26: CRLF FSET? FLOYD,RLANDBIT \FALSE ZERO? FLOYD-INTRODUCED /FALSE MOVE FLOYD,HERE SET 'FLOYD-SPOKE,TRUE-VALUE IN? ADVENTURER,BED \?CCL36 PRINTR "Floyd bounces impatiently at the foot of the bed. ""About time you woke up, you lazy bones! Let's explore around some more!""" ?CCL36: PRINTR "Floyd gives you a nudge with his foot and giggles. ""You sure look silly sleeping on the floor,"" he says." .FUNCT RESET-TIME EQUAL? DAY,2 \?CCL3 FCLEAR BALCONY,TOUCHBIT RANDOM 80 ADD 1600,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,5800 PUT STACK,0,1 RTRUE ?CCL3: EQUAL? DAY,3 \?CCL5 FCLEAR BALCONY,TOUCHBIT RANDOM 80 ADD 1750,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,5550 PUT STACK,0,1 RTRUE ?CCL5: EQUAL? DAY,4 \?CCL7 FCLEAR WINDING-STAIR,TOUCHBIT RANDOM 80 ADD 1950,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,5200 PUT STACK,0,1 RTRUE ?CCL7: EQUAL? DAY,5 \?CCL9 FCLEAR WINDING-STAIR,TOUCHBIT RANDOM 80 ADD 2150,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,4800 PUT STACK,0,1 RTRUE ?CCL9: EQUAL? DAY,6 \?CCL11 FCLEAR COURTYARD,TOUCHBIT RANDOM 80 ADD 2450,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,4300 PUT STACK,0,1 RTRUE ?CCL11: EQUAL? DAY,7 \?CCL13 FCLEAR COURTYARD,TOUCHBIT RANDOM 80 ADD 2800,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,3700 PUT STACK,0,1 RTRUE ?CCL13: EQUAL? DAY,8 \?CCL15 RANDOM 80 ADD 3200,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,3000 PUT STACK,0,1 RTRUE ?CCL15: EQUAL? DAY,9 \FALSE CALL2 JIGS-UP,STR?114 RSTACK .FUNCT I-HUNGER-WARNINGS INC 'HUNGER-LEVEL EQUAL? HUNGER-LEVEL,1 \?CCL3 CALL QUEUE,I-HUNGER-WARNINGS,450 PUT STACK,0,1 CRLF PRINTR "A growl from your stomach warns that you're getting pretty hungry and thirsty." ?CCL3: EQUAL? HUNGER-LEVEL,2 \?CCL5 CALL QUEUE,I-HUNGER-WARNINGS,150 PUT STACK,0,1 CRLF PRINTR "You're now really ravenous and your lips are quite parched." ?CCL5: EQUAL? HUNGER-LEVEL,3 \?CCL7 CALL QUEUE,I-HUNGER-WARNINGS,100 PUT STACK,0,1 CRLF PRINTR "You're starting to feel faint from lack of food and liquid." ?CCL7: EQUAL? HUNGER-LEVEL,4 \?CCL9 CALL QUEUE,I-HUNGER-WARNINGS,50 PUT STACK,0,1 CRLF PRINTR "If you don't eat or drink something in a few millichrons, you'll probably pass out." ?CCL9: EQUAL? HUNGER-LEVEL,5 \FALSE CALL2 JIGS-UP,STR?115 RSTACK .FUNCT I-SICKNESS-WARNINGS CALL QUEUE,I-SICKNESS-WARNINGS,700 PUT STACK,0,1 ZERO? SICKNESS-WARNING-FLAG /FALSE SET 'SICKNESS-WARNING-FLAG,FALSE-VALUE SUB LOAD-ALLOWED,10 >LOAD-ALLOWED INC 'SICKNESS-LEVEL EQUAL? SICKNESS-LEVEL,1 \?CCL6 CRLF PRINTR "You notice that you feel a bit weak and slightly flushed, but you're not sure why." ?CCL6: EQUAL? SICKNESS-LEVEL,2 \?CCL8 CRLF PRINTR "You notice that you feel unusually weak, and you suspect that you have a fever." ?CCL8: EQUAL? SICKNESS-LEVEL,3 \?CCL10 CRLF PRINTR "You are now feeling quite under the weather, not unlike a bad flu." ?CCL10: EQUAL? SICKNESS-LEVEL,4 \?CCL12 CRLF PRINTR "Your fever seems to have gotten worse, and you're developing a bad headache." ?CCL12: EQUAL? SICKNESS-LEVEL,5 \?CCL14 CRLF PRINTR "Your health has deteriorated further. You feel hot and weak, and your head is throbbing." ?CCL14: EQUAL? SICKNESS-LEVEL,6 \?CCL16 CRLF PRINTR "You feel very, very sick, and have almost no strength left." ?CCL16: EQUAL? SICKNESS-LEVEL,7 \?CCL18 CRLF PRINTR "You feel like you're on fire, burning up from the fever. You're almost too weak to move, and your brain is reeling from the pounding headache." ?CCL18: EQUAL? SICKNESS-LEVEL,8 \?CCL20 CRLF PRINTR "You're no longer sure of where you are and what you're doing. You stumble about, your pain subsiding into a dull numbness." ?CCL20: EQUAL? SICKNESS-LEVEL,9 \FALSE CALL2 JIGS-UP,STR?117 RSTACK .FUNCT TRANSLATOR-PSEUDO IN? AMBASSADOR,HERE \?CCL3 EQUAL? PRSA,V?TAKE \?CCL6 PRINTR "The ambassador whimpers and slaps your wrist." ?CCL6: EQUAL? PRSA,V?MUNG \FALSE PRINTR "Are you trying to create an interplanetary incident?" ?CCL3: PRINTR "What translator?" .FUNCT SLIME-PSEUDO IN? AMBASSADOR,HERE /?CTR2 GRTR? AMBASSADOR-LEAVE,0 \?CCL3 ?CTR2: EQUAL? PRSA,V?TASTE,V?EAT \?CCL8 CALL2 LIKE-SLIME,STR?118 RSTACK ?CCL8: EQUAL? PRSA,V?RUB,V?TAKE \?CCL10 CALL2 LIKE-SLIME,STR?119 RSTACK ?CCL10: EQUAL? PRSA,V?EXAMINE \?CCL12 CALL2 LIKE-SLIME,STR?120 RSTACK ?CCL12: EQUAL? PRSA,V?SMELL \?CCL14 CALL2 LIKE-SLIME,STR?121 RSTACK ?CCL14: EQUAL? PRSA,V?REMOVE,V?SCRUB \FALSE PRINTI "Whew. You've cleaned up maybe one ten-thousandth of the slime." IN? BLATHER,HERE /?CND17 PRINTR " If you hurry, it might be all cleaned up before Ensign Blather gets here." ?CND17: CRLF RTRUE ?CCL3: PRINTR "What slime?" .FUNCT LIKE-SLIME,STRING PRINTI "It " PRINT STRING PRINTR " like slime. Aren't you glad you didn't step in it?" .FUNCT GRAFFITI-PSEUDO EQUAL? PRSA,V?READ \FALSE SET 'C-ELAPSED,28 PRINTR "All the graffiti seem to be about Blather. One of the least obscene items reads: There once was a krip, name of Blather Who told a young Ensign named Smather ""I'll make you inherit A trotting demerit And ship you off to those stinking fawg-infested tar pools of Krather."" It's not a very good limerick, is it?" .FUNCT DOOR-PSEUDO EQUAL? PRSA,V?UNLOCK,V?OPEN \FALSE PRINTR "No way, Jose." .FUNCT WALKWAY-PSEUDO EQUAL? PRSA,V?LAMP-ON,V?EXAMINE \FALSE PRINTR "The walkway, which hastened the trip down that long corridor, is no longer in service." .FUNCT BENCH-PSEUDO EQUAL? PRSA,V?BOARD,V?CLIMB-ON \FALSE PRINTR "The benches look uncomfortable." .FUNCT CATWALK-PSEUDO EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP,V?CLIMB-ON \FALSE PRINTR "The catwalks are too high for you to access." .FUNCT EQUIPMENT-PSEUDO EQUAL? PRSA,V?LAMP-ON,V?RUB,V?EXAMINE /?CCL3 EQUAL? PRSA,V?LAMP-OFF \FALSE ?CCL3: PRINTR "The equipment here is so complicated that you couldn't even begin to figure out how to operate it." .FUNCT MONITORS-PSEUDO EQUAL? PRSA,V?READ,V?EXAMINE \FALSE CALL1 DESCRIBE-MONITORS RSTACK .FUNCT MURAL-PSEUDO ZERO? COMPUTER-FIXED /?CCL3 CALL1 ANYMORE RSTACK ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL6 PRINTR "It's a gaudy work of orange and purple abstract shapes, reminiscent of the early works of Burstini Bonz. It doesn't appear to fit the decor of the room at all. The mural seems to ripple now and then, as though a breeze were blowing behind it." ?CCL6: EQUAL? PRSA,V?MUNG \?CCL8 PRINTR "My sentiments also, but let's be civil." ?CCL8: EQUAL? PRSA,V?LOOK-BEHIND,V?MOVE \FALSE PRINTR "It won't budge." .FUNCT LOGO-PSEUDO EQUAL? PRSA,V?EXAMINE,V?READ \FALSE PRINTR "The logo shows a flame burning over a sleep chamber of some type. Under that is the phrase ""Prajekt Kuntrool.""" .FUNCT KEYBOARD-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It is a standard numeric keyboard with ten keys labelled from 0 through 9." .FUNCT CRACK-PSEUDO EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "The crack is too small to go through, but large enough to look through." ?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \FALSE EQUAL? HERE,RADIATION-LAB \?CCL8 PRINTR "You see a dimly lit Bio Lab. Sinister shapes lurk about within." ?CCL8: PRINTR "You see a laboratory suffused with a pale blue glow." .FUNCT VOID-PSEUDO EQUAL? PRSA,V?PUT \?CCL3 EQUAL? PRSI,PSEUDO-OBJECT \?CCL3 ICALL PERFORM,V?THROW-OFF,PRSO,STRIP RTRUE ?CCL3: EQUAL? PRSA,V?ZAP \?CCL7 EQUAL? PRSO,LASER \?CCL7 EQUAL? PRSI,PSEUDO-OBJECT \?CCL7 SET 'PRSI,FALSE-VALUE ICALL PERFORM,V?ZAP,LASER RTRUE ?CCL7: EQUAL? PRSA,V?LEAP,V?THROUGH \?CCL12 CALL2 JIGS-UP,STR?122 RSTACK ?CCL12: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE PRINTR "The void extends downward into the gloom far below." .FUNCT SPOUT-PSEUDO EQUAL? PRSA,V?PUT-UNDER \?CCL3 EQUAL? PRSO,CANTEEN \?CCL3 ICALL PERFORM,V?PUT,CANTEEN,DISPENSER RTRUE ?CCL3: EQUAL? PRSA,V?LOOK-UNDER \FALSE IN? CANTEEN,DISPENSER \FALSE PRINTR "The canteen is sitting under the spout." .FUNCT TOILET-PSEUDO EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "The fixtures are all dry and dusty." ?CCL3: EQUAL? PRSA,V?FLUSH \FALSE PRINTR "The water seems to be turned off." .FUNCT GAMES-PSEUDO EQUAL? PRSA,V?TAKE,V?PLAY \?CCL3 ICALL PERFORM,V?PLAY,GLOBAL-GAMES RTRUE ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "All the usual games -- Chess, Cribbage, Galactic Overlord, Double Fannucci..." .FUNCT TAPES-PSEUDO EQUAL? PRSA,V?TAKE,V?PLAY,V?READ \?CCL3 PRINTR "Hardly the time or place for reading recreational tapes." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "Let's see...here are some musical selections, here are some bestselling romantic novels, here is a biography of a famous Double Fannucci champion..." .FUNCT PARTITION-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The partitions are very plain, and were obviously intended to separate this huge room into smaller areas." .FUNCT CUBBYHOLE-PSEUDO EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE PRINTR "The cubbyholes look like the kind that are used to hold maps or blueprints. They are all empty now." .FUNCT MAPS-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "Examining the maps reveals no new information." .FUNCT DEVICES-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "They are components of disassembled robots, beyond repair." .FUNCT CABLES-PSEUDO EQUAL? PRSA,V?FOLLOW,V?EXAMINE \?CCL3 PRINTR "These heavy cables merely run from the two consoles up into the ceiling." ?CCL3: EQUAL? PRSA,V?MUNG \FALSE CALL2 JIGS-UP,STR?123 RSTACK .FUNCT STRUCTURE-PSEUDO EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "You'd be able to tell more about it if you climbed up to it." ?CCL3: EQUAL? PRSA,V?CLIMB-UP \FALSE CALL2 DO-WALK,P?UP RSTACK .FUNCT BUTTON-PSEUDO EQUAL? PRSA,V?PUSH \FALSE FSET? DISPENSER,MUNGEDBIT \?CCL6 PRINTR "The dispenser sputters a few times." ?CCL6: IN? CANTEEN,DISPENSER \?CCL8 FSET? CANTEEN,OPENBIT /?CCL11 PRINTR "A thick, brown liquid spills over the closed canteen, dribbles down the side of the machine, and forms a puddle on the floor which quickly dries up." ?CCL11: IN? HIGH-PROTEIN,CANTEEN \?CCL13 PRINTI "The brown liquid splashes over the mouth of the already-filled canteen, creating a mess" FSET? PATROL-UNIFORM,WORNBIT \?CND14 PRINTI " and staining your uniform" ?CND14: PRINTR "." ?CCL13: MOVE HIGH-PROTEIN,CANTEEN PRINTR "The canteen fills almost to the brim with a brown liquid." ?CCL8: PRINTR "A thick, brownish liquid pours from the spout and splashes to the floor, where it quickly evaporates." .FUNCT CARPET-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It's pretty dusty." .FUNCT CABINETS-PSEUDO EQUAL? PRSA,V?OPEN,V?EXAMINE \?CCL3 PRINTR "The cabinets are locked." ?CCL3: EQUAL? PRSA,V?UNLOCK \FALSE PRINTR "You don't have the correct key." .FUNCT PLATE-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The plates seem to be featureless metal squares." .FUNCT ESCALATOR-PSEUDO EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \?CCL3 EQUAL? HERE,FORK \?CCL6 PRINTR "You're already at the top of the escalator." ?CCL6: CALL2 DO-WALK,P?UP RSTACK ?CCL3: EQUAL? PRSA,V?CLIMB-DOWN \?CCL8 EQUAL? HERE,LAWANDA-PLATFORM \?CCL11 PRINTR "You're already at the bottom of the escalator." ?CCL11: CALL2 DO-WALK,P?DOWN RSTACK ?CCL8: EQUAL? PRSA,V?LAMP-ON \FALSE CALL2 PICK-ONE,YUKS PRINT STACK CRLF RTRUE .FUNCT REACTOR-BUTTON-PSEUDO EQUAL? PRSA,V?PUSH \FALSE FSET REACTOR-ELEVATOR-DOOR,OPENBIT CALL QUEUE,I-REACTOR-DOOR-CLOSE,30 PUT STACK,0,1 PRINTR "The metal doors slide open, revealing a small room to the east." .FUNCT SUPPLIES-PSEUDO EQUAL? PRSA,V?TAKE \FALSE PRINTR "These supplies are of absolutely no use." .FUNCT DESK-PSEUDO EQUAL? PRSA,V?OPEN \?CCL3 PRINTR "All the drawers are empty." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It is bare except for the microfilm reader." .FUNCT CRYO-BUTTON-PSEUDO EQUAL? PRSA,V?PUSH \?CCL3 ZERO? CRYO-SCORE-FLAG \?CCL3 CALL QUEUE,I-CRYO-ELEVATOR-ARRIVE,100 PUT STACK,0,1 CALL2 INT,I-CHASE-SCENE PUT STACK,0,0 FCLEAR CRYO-ELEVATOR-DOOR,OPENBIT SET 'CRYO-SCORE-FLAG,TRUE-VALUE ADD SCORE,5 >SCORE PRINTR "The elevator door closes just as the monsters reach it! You slump back against the wall, exhausted from the chase. The elevator begins to move downward." ?CCL3: EQUAL? PRSA,V?PUSH \FALSE ZERO? CRYO-SCORE-FLAG /FALSE FSET? CRYO-ELEVATOR-DOOR,OPENBIT \FALSE CALL2 JIGS-UP,STR?124 RSTACK .FUNCT CASTLE-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The castle is ancient and crumbling." .FUNCT CHEM-SPOUT-PSEUDO EQUAL? PRSA,V?PUT-UNDER \?CCL3 EQUAL? PRSI,PSEUDO-OBJECT \?CCL3 ICALL PERFORM,V?PUT-UNDER,PRSO,CHEMICAL-DISPENSER RTRUE ?CCL3: EQUAL? PRSA,V?LOOK-UNDER \FALSE ZERO? SPOUT-PLACED /FALSE PRINTI "There is " ICALL1 A-AN PRINTD SPOUT-PLACED PRINTR " under the spout." .FUNCT CLEFT-PSEUDO EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \FALSE CALL2 DO-WALK,P?UP RSTACK .FUNCT RUBBLE-PSEUDO EQUAL? PRSA,V?MOVE \FALSE CALL2 PICK-ONE,YUKS PRINT STACK CRLF RTRUE .FUNCT PLAQUE-PSEUDO EQUAL? PRSA,V?EXAMINE,V?READ \FALSE PRINTR " SEENIK VISTA Xis stuneeng vuu uf xee Kalamontee Valee kuvurz oovur fortee skwaar miilz uf xat faamus tuurist spot. Xee larj bildeeng at xee bend in xee Gulmaan Rivur iz xee formur pravincul kapitul bildeeng." .FUNCT FENCE-PSEUDO EQUAL? PRSA,V?LEAP,V?CLIMB-FOO,V?CLIMB-UP \FALSE PRINTR "You can't." .FUNCT LOCK-PSEUDO EQUAL? PRSA,V?UNLOCK,V?OPEN \FALSE ZERO? PRSI /?CCL6 PRINTR "That won't unlock it." ?CCL6: PRINTR "But you don't have the orange key!" .FUNCT DIAGRAM-PSEUDO EQUAL? PRSA,V?READ \FALSE PRINTR "Not unless you've taken a special twelve-year course in ninth-order molecular physics." .FUNCT ENUNCIATOR-PSEUDO EQUAL? PRSA,V?MOVE,V?PUSH,V?LOOK-INSIDE \FALSE CALL2 PICK-ONE,YUKS PRINT STACK RTRUE .FUNCT NEAR-BOOTH-PSEUDO EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?DROP \?CCL3 PRINTR "You're not in the booth!" ?CCL3: EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \FALSE CALL2 DO-WALK,P?IN RSTACK .FUNCT IN-BOOTH-PSEUDO EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL3 PRINTR "You're already in the booth!" ?CCL3: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?DROP \FALSE CALL2 DO-WALK,P?OUT RSTACK .FUNCT CANT-USE-THAT-WAY,STRING PRINTI "[You can't use " PRINT STRING PRINTR " that way.]" .ENDI