.FUNCT READ-NAME,TBL,STR,PTR,LEN,N,NUMTOKENS,TOK ?FCN: PRINT STR CRLF PRINTI ">" READ P-INBUF,P-LEXV GETB P-LEXV,P-LEXWORDS ZERO? STACK \?CND5 PRINTI "I beg your pardon?" CRLF JUMP ?FCN ?CND5: GET P-LEXV,P-LEXSTART >N ZERO? N /?CND10 CALL WT?,N,PS?VERB,P1?VERB >N EQUAL? ACT?RESTART,N \?ELS15 RESTART PRINT FAILED CRLF JUMP ?FCN ?ELS15: EQUAL? N,ACT?$VERIFY \?ELS19 CALL V-$VERIFY JUMP ?FCN ?ELS19: EQUAL? N,ACT?RELEASE \?ELS21 CALL V-VERSION JUMP ?FCN ?ELS21: EQUAL? N,ACT?RESTORE \?CND10 CALL V-RESTORE ZERO? STACK /?FCN RETURN 2 ?CND10: GETB P-LEXV,1 >NUMTOKENS SET 'TOK,NUMTOKENS SET 'NAME-OUTLEN,1 ADD 1,P-LEXSTART MUL 2,STACK >N ?PRG31: DLESS? 'TOK,0 \?CND33 JUMP ?REP32 ?CND33: GETB P-LEXV,N >LEN ADD 1,N GETB P-LEXV,STACK >PTR CALL READ-NAME-REPEAT,TBL,PTR,LEN GRTR? NAME-OUTLEN,NAME-LENGTH \?CND36 JUMP ?REP32 ?CND36: PUTB TBL,NAME-OUTLEN,32 IGRTR? 'NAME-OUTLEN,NAME-LENGTH \?CND39 JUMP ?REP32 ?CND39: EQUAL? TBL,FIRST-NAME \?ELS44 ZERO? FN-SPACE \?CND42 SUB NAME-OUTLEN,1 >FN-SPACE JUMP ?CND42 ?ELS44: ZERO? LN-SPACE \?CND42 SUB NAME-OUTLEN,1 >LN-SPACE ?CND42: ADD 4,N >N JUMP ?PRG31 ?REP32: GRTR? NAME-OUTLEN,NAME-LENGTH \?ELS52 PUTB TBL,0,NAME-LENGTH RTRUE ?ELS52: SUB NAME-OUTLEN,2 PUTB TBL,0,STACK RTRUE .FUNCT READ-NAME-REPEAT,TBL,PTR,LEN,CH ?PRG1: GETB P-INBUF,PTR >CH DLESS? 'LEN,0 /TRUE EQUAL? CH,45,39,38 /?CND6 MOD CH,32 ADD 96,STACK >CH ?CND6: PUTB TBL,NAME-OUTLEN,CH IGRTR? 'NAME-OUTLEN,NAME-LENGTH /TRUE INC 'PTR JUMP ?PRG1 .FUNCT PRINT-NAME,TBL,CAP=0,PTR=0,LEN,CH,SP?=1 GETB TBL,0 >LEN ?PRG1: IGRTR? 'PTR,LEN /TRUE GETB TBL,PTR >CH ZERO? CAP \?THN11 ZERO? SP? /?ELS8 ?THN11: EQUAL? CH,32,45,39 /?ELS8 EQUAL? CH,38 /?ELS8 SUB CH,32 PRINTC STACK JUMP ?CND6 ?ELS8: PRINTC CH ?CND6: EQUAL? CH,32,45,39 \?ELS17 SET 'SP?,TRUE-VALUE JUMP ?PRG1 ?ELS17: EQUAL? CH,38 \?ELS19 SET 'SP?,TRUE-VALUE JUMP ?PRG1 ?ELS19: SET 'SP?,FALSE-VALUE JUMP ?PRG1 .FUNCT NAME?,PTR,?ORTMP CALL XNAME?,PTR,FIRST-NAME,FN-SPACE POP '?ORTMP ZERO? ?ORTMP /?ORP4 RETURN ?ORTMP ?ORP4: CALL XNAME?,PTR,LAST-NAME,LN-SPACE RSTACK .FUNCT XNAME?,PTR,TBL,MAX,CNT,BPTR,CHR,N?=1,NCNT=0 MUL PTR,2 ADD P-LEXV,STACK GETB STACK,2 >CNT GRTR? CNT,6 \?CND1 SET 'CNT,6 ?CND1: MUL PTR,2 ADD P-LEXV,STACK GETB STACK,3 >BPTR ZERO? MAX \?CND4 GETB TBL,0 >MAX ?CND4: DLESS? 'MAX,7 /?CND7 SET 'MAX,6 ?CND7: ?PRG10: IGRTR? 'NCNT,MAX \?ELS14 ZERO? CNT /?REP11 SET 'N?,FALSE-VALUE JUMP ?REP11 ?ELS14: DLESS? 'CNT,0 \?ELS19 SET 'N?,FALSE-VALUE JUMP ?REP11 ?ELS19: GETB P-INBUF,BPTR >CHR EQUAL? CHR,45,38,39 /?CND22 MOD CHR,32 ADD 96,STACK >CHR ?CND22: GETB TBL,NCNT EQUAL? CHR,STACK /?CND25 SET 'N?,FALSE-VALUE ?CND25: INC 'BPTR JUMP ?PRG10 ?REP11: ZERO? N? /FALSE EQUAL? TBL,FIRST-NAME \?ELS38 PUT P-LEXV,PTR,W?$FN RETURN W?$FN ?ELS38: PUT P-LEXV,PTR,W?$LN RETURN W?$LN .FUNCT PLAYER-NAME-F CALL DO-INSTEAD-OF,PLAYER,PLAYER-NAME RTRUE .FUNCT PLAYER-F,LON,LAT EQUAL? PRSO,PLAYER \FALSE EQUAL? PRSA,V?GOODBYE,V?HELLO \?ELS10 CALL HAR-HAR RSTACK ?ELS10: EQUAL? PRSA,V?EXAMINE \?ELS12 CALL PERFORM,V?INVENTORY RTRUE ?ELS12: EQUAL? PRSA,V?FIND \?ELS14 EQUAL? NOW-TERRAIN,BAY-TERRAIN,SEA-TERRAIN \FALSE PRINTI "The " EQUAL? NOW-TERRAIN,BAY-TERRAIN \?ELS24 SUB SUB-LON,SEA-WALL-LON >LON SUB SUB-LAT,SEA-WALL-LAT >LAT PRINTD SEA-WALL JUMP ?CND22 ?ELS24: SET 'LON,SUB-LON SET 'LAT,SUB-LAT ZERO? FINE-SONAR /?CND29 INC 'LAT ?CND29: PRINTD AIRLOCK ?CND22: PRINTI " is " ZERO? LON /?CND37 LESS? LON,0 \?ELS46 SUB 0,LON JUMP ?CND42 ?ELS46: PUSH LON ?CND42: MUL 5,STACK PRINTN STACK ZERO? FINE-SONAR \?CND49 PRINTI "00" ?CND49: PRINTI " meters " GRTR? 0,LON \?ELS60 PUSH STR?78 JUMP ?CND56 ?ELS60: PUSH STR?79 ?CND56: PRINT STACK PRINTI "st " ZERO? LAT /?CND37 PRINTI "and " ?CND37: ZERO? LAT /?CND68 LESS? LAT,0 \?ELS77 SUB 0,LAT JUMP ?CND73 ?ELS77: PUSH LAT ?CND73: MUL 5,STACK PRINTN STACK ZERO? FINE-SONAR \?CND80 PRINTI "00" ?CND80: PRINTI " meters " GRTR? 0,LAT \?ELS91 PUSH STR?80 JUMP ?CND87 ?ELS91: PUSH STR?81 ?CND87: PRINT STACK PRINTI "th " ?CND68: PRINTI "of here." CRLF SUB AIRLOCK-DEPTH,SUB-DEPTH >LON EQUAL? NOW-TERRAIN,SEA-TERRAIN \TRUE ZERO? LON /TRUE PRINTI "It's also " MUL 5,LON PRINTN STACK PRINTR " meters below you." ?ELS14: EQUAL? PRSA,V?SEARCH \FALSE CALL PERFORM,V?INVENTORY RTRUE .FUNCT ARM-F CALL DIVESTMENT?,ARM ZERO? STACK \?THN6 CALL DIVESTMENT?,GASH ZERO? STACK /?ELS5 ?THN6: CALL HAR-HAR RSTACK ?ELS5: EQUAL? PRSA,V?EXAMINE,V?ANALYZE \FALSE FSET? ARM,MUNGBIT \?ELS14 PRINTR "Your arm is seriously gashed." ?ELS14: CALL NOTHING-SPECIAL RSTACK .FUNCT TIP-IS-PLAYING EQUAL? TIP-PLAYS,WINDOW \?ELS7 PUSH STR?82 JUMP ?CND3 ?ELS7: PUSH STR?83 ?CND3: PRINT STACK PRINTI " the " PRINTD TIP-PLAYS RTRUE .FUNCT TIP-F,ARG=0,OBJ,X,L LOC TIP >L EQUAL? ARG,M-OBJDESC \?ELS5 FSET? TIP,TOUCHBIT /?ELS8 FSET TIP,TOUCHBIT CRLF PRINTD TIP PRINTI " follows you into" CALL PRINTT,L EQUAL? L,BLY-OFFICE \?CND11 CALL PICK-ONE,TIP-PICKS >TIP-PLAYS PRINTI " and begins " CALL TIP-IS-PLAYING ?CND11: PRINTR "." ?ELS8: EQUAL? L,SUB \?ELS19 PRINTD TIP PRINTI " is sitting behind you, " IN? MAGAZINE,TIP \?ELS24 PRINTI "reading a " PRINTD MAGAZINE PRINTR "." ?ELS24: ZERO? TIP-FOLLOWS-YOU? \?ELS28 PRINTI "installing a " PRINTD FINE-GRID PRINTR "." ?ELS28: PRINTR "checking the instruments." ?ELS19: EQUAL? L,BLY-OFFICE \?ELS36 PRINTD TIP PRINTI " is " CALL TIP-IS-PLAYING PRINTR "." ?ELS36: CALL DESCRIBE-COLLAPSE,TIP RTRUE ?ELS5: EQUAL? WINNER,TIP \?ELS44 CALL GRAB-ATTENTION,TIP ZERO? STACK /TRUE EQUAL? PRSO,FINE-GRID \?ELS59 EQUAL? PRSA,V?TAKE /?ELS59 EQUAL? PRSA,V?TIE-TO,V?PUT \?ELS59 EQUAL? PRSI,SONARSCOPE,GLOBAL-SONAR,THROTTLE /?THN52 ?ELS59: CALL MOUNTING-VERB?,FINE-GRID ZERO? STACK /?ELS51 ?THN52: SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,TIP,FINE-GRID RTRUE ?ELS51: EQUAL? PRSA,V?WAIT-FOR \?ELS65 EQUAL? PRSO,HERE /?THN62 ?ELS65: EQUAL? PRSA,V?FOLLOW \?ELS61 EQUAL? PRSO,PLAYER \?ELS61 ?THN62: PRINTI """I won't let you out of my sight, " CALL PRINT-NAME,FIRST-NAME PRINTR "!""" ?ELS61: CALL COM-CHECK,TIP >X ZERO? X /?ELS71 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS71: CALL PICK-ONE,WHY-ME PRINT STACK CRLF RETURN 2 ?ELS44: CALL ASK-ABOUT?,TIP >OBJ ZERO? OBJ /?ELS86 CALL GRAB-ATTENTION,TIP ZERO? STACK /TRUE CALL SAID-TO,TIP EQUAL? OBJ,AUTO-PILOT \?ELS94 ZERO? SUB-IN-OPEN-SEA /?ELS94 FSET? AUTO-PILOT,ONBIT /?ELS94 CALL TIME-FOR-PILOT RSTACK ?ELS94: EQUAL? OBJ,REACTOR,CATALYST-CAPSULE \?ELS98 IN? CATALYST-CAPSULE,REACTOR /FALSE CALL TELL-HINT,33,CATALYST-CAPSULE,FALSE-VALUE RSTACK ?ELS98: EQUAL? OBJ,SPECIAL-TOOL-GLOBAL,SPECIAL-TOOL \?ELS105 EQUAL? HERE,SUB \FALSE CALL TELL-HINT,61,TIP,FALSE-VALUE RSTACK ?ELS105: EQUAL? OBJ,TRAITOR,BLACK-BOX \?ELS112 CALL TIP-COMES ZERO? STACK \TRUE ?ELS112: EQUAL? OBJ,TIP-IDEA,GLOBAL-SONAR,GLOBAL-SIEGEL \?ELS116 IN? TIP-IDEA,GLOBAL-OBJECTS \?ELS116 ZERO? SIEGEL-TESTED \?ELS116 FSET? SIEGEL,BUSYBIT /?ELS116 CALL TELL-HINT,13,SIEGEL,FALSE-VALUE RSTACK ?ELS116: EQUAL? OBJ,STATION-MONITOR \?ELS120 PRINTR """I just like to play with it.""" ?ELS120: EQUAL? OBJ,FINE-GRID \?ELS124 ZERO? FINE-SONAR \?THN128 ZERO? SUB-IN-DOME \?CND125 EQUAL? NOW-TERRAIN,SEA-TERRAIN /?CND125 ?THN128: PRINTR """I think it's swell!""" ?CND125: PRINTI """If the " PRINTD SNARK PRINTI " stays near the sea floor, " CALL PRINT-NAME,FIRST-NAME PRINTI ", it may churn up silt. Even with our " PRINTD SEARCH-BEAM PRINTI " on, we might have trouble aiming a weapon. Wouldn't it be easier if we could spot its exact position by sonar?""" CALL YES? ZERO? STACK /TRUE PRINTI """" CALL PRINT-NAME,FIRST-NAME PRINTI ", our " PRINTD SONARSCOPE PRINTI " shows each " PRINTD GRID-UNIT PRINTI " as 500 meters across. A blip indicates the APPROXIMATE position of an object. That's not good enough to hit the broad side of a barn! " ZERO? SUB-IN-DOME \?CND141 IN? FINE-GRID,TIP /?CND141 PRINTI "When we're in the " PRINTD AQUADOME PRINTI ", ask me about a " PRINTD FINE-GRID PRINTR ".""" ?CND141: PRINTI "Let me install a " PRINTD FINE-GRID PRINTI " on the " PRINTD SONARSCOPE PRINTI " that'll show a blip's position to within 5 meters, okay?""" CALL YES? ZERO? STACK /TRUE CALL QUEUE,I-TIP-REPORTS,5 PUT STACK,0,1 FSET TIP,BUSYBIT ZERO? SUB-IN-DOME /TRUE EQUAL? HERE,SUB,AIRLOCK,AIRLOCK-WALL \?ELS159 MOVE TIP,DOME-STORAGE JUMP ?CND157 ?ELS159: MOVE TIP,SUB ?CND157: MOVE FINE-GRID,TIP SET 'TIP-FOLLOWS-YOU?,FALSE-VALUE PRINTI """" CALL PRINT-NAME,FIRST-NAME PRINTI ", I checked" EQUAL? HERE,DOME-STORAGE /?CND164 PRINTI " the " PRINTD DOME-STORAGE ?CND164: PRINTI " and found a " PRINTD FINE-GRID PRINTI " that'll fit our " PRINTD SONARSCOPE PRINTI ". I can install it quickly! I'll have someone install a fine throttle control, too, for tight maneuvering. It has the same 3 settings, but for small " PRINTD GRID-UNIT PRINTI "s -- 0, 5, 10, or 15 meters per turn.""" CRLF RTRUE ?ELS124: CALL COMMON-ASK-ABOUT,TIP,OBJ >X ZERO? X /?ELS172 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS172: PRINTI """You know as much as I do, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS86: EQUAL? PRSA,V?TELL-ABOUT \?ELS185 EQUAL? PRSO,GLOBAL-SNARK \FALSE PRINTI """I know, " CALL PRINT-NAME,FIRST-NAME PRINTI "! We'd better go there fast in the " PRINTD GLOBAL-SUB PRINTR "!""" ?ELS185: CALL COMMON-OTHER,TIP ZERO? STACK \TRUE RFALSE .FUNCT ASK-ABOUT?,PER EQUAL? PRSA,V?CONFRONT,V?ASK-ABOUT \?ELS5 EQUAL? PRSO,PER \?ELS5 ZERO? PRSI /?ELS5 RETURN PRSI ?ELS5: EQUAL? PRSA,V?WHAT,V?FIND \FALSE ZERO? PRSO /FALSE IN? PRSO,GLOBAL-OBJECTS \FALSE RETURN PRSO .FUNCT GLOBAL-SHARON-F,ARG=0,OBJ,L,X SET 'L,REMOTE-PERSON-LOC ZERO? SHARON-EXPLAINED \?ELS5 EQUAL? REMOTE-PERSON,GLOBAL-SHARON \?ELS5 SET 'SHARON-EXPLAINED,TRUE-VALUE CALL SHARON-EXPLAINS RETURN 2 ?ELS5: EQUAL? WINNER,GLOBAL-SHARON \?ELS11 EQUAL? PRSA,V?FIND \?ELS16 EQUAL? PRSO,GLOBAL-SHARON \?ELS16 PRINTI """I'm in the " PRINTD THORPE-SUB PRINTR ".""" ?ELS16: EQUAL? PRSA,V?FIND \?ELS22 EQUAL? PRSO,GLOBAL-SNARK \?ELS22 PRINTR """It's right here, next to me.""" ?ELS22: EQUAL? PRSA,V?SET,V?PUSH /?THN31 EQUAL? PRSA,V?MOVE-DIR,V?MOVE,V?STOP \?ELS28 ?THN31: EQUAL? PRSO,THORPE-SUB,SNARK,ROOMS \?ELS28 PRINTR """I'm afraid I can't control it that well.""" ?ELS28: CALL COM-CHECK,GLOBAL-SHARON >X ZERO? X /?ELS36 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS36: PRINTI """Sorry, " CALL PRINT-NAME,FIRST-NAME PRINTI ", but I'm too busy driving this " PRINTD THORPE-SUB PRINTI ".""" CRLF RETURN 2 ?ELS11: EQUAL? REMOTE-PERSON,GLOBAL-SHARON \?ELS51 CALL ASK-ABOUT?,GLOBAL-SHARON >OBJ ZERO? OBJ /?ELS51 CALL SAID-TO,GLOBAL-SHARON EQUAL? OBJ,SNARK \?ELS58 CALL SHARON-ABOUT-MONSTER RTRUE ?ELS58: EQUAL? OBJ,THORPE-SUB \?ELS60 CALL SHARON-ABOUT-CAT RTRUE ?ELS60: EQUAL? OBJ,GLOBAL-THORPE \?ELS62 CALL SHARON-ABOUT-THORPE RTRUE ?ELS62: CALL COMMON-ASK-ABOUT,GLOBAL-SHARON,OBJ >X ZERO? X /?ELS64 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS64: CALL DONT-KNOW,GLOBAL-SHARON,OBJ RSTACK ?ELS51: EQUAL? PRSO,GLOBAL-SHARON \?ELS75 EQUAL? PRSA,V?HELLO \?ELS75 EQUAL? REMOTE-PERSON-ON,SONARPHONE,INTERCOM \?ELS75 PRINTI "You hear " PRINTD PRSO PRINTR " nodding at you." ?ELS75: EQUAL? PRSO,GLOBAL-SHARON \?ELS81 EQUAL? PRSA,V?REPLY,V?LISTEN \?ELS81 CALL WAITING-FOR-YOU-TO-SPEAK RTRUE ?ELS81: EQUAL? PRSO,GLOBAL-SHARON \?ELS85 EQUAL? PRSA,V?PHONE \?ELS85 EQUAL? HERE,SUB,CRAWL-SPACE /?ELS85 ZERO? SUB-IN-DOME \?ELS85 PRINTR "There's no phone line to where she is." ?ELS85: EQUAL? PRSO,GLOBAL-SHARON \?ELS91 EQUAL? PRSA,V?READ \?ELS91 CALL FIGURE-OF-SPEECH RTRUE ?ELS91: CALL GLOBAL-PERSON RSTACK .FUNCT FIGURE-OF-SPEECH PRINTR "That's just a figure of speech! Try the command: SAY ""HELLO.""" .FUNCT DONT-KNOW-ANYTHING PRINTR """Uh . . . I don't know anything about it.""" .FUNCT SHARON-F,ARG=0,OBJ,L,X LOC SHARON >L EQUAL? ARG,M-OBJDESC \?ELS5 IN? SHARON,OFFICE \?ELS10 PRINTR "Sharon is looking through the file drawer." ?ELS10: IN? SHARON,HERE \?ELS14 IN? HERE,ROOMS \?ELS14 PRINTR "Sharon is pacing back and forth." ?ELS14: PRINTI "Sharon is sitting on the " LOC SHARON PRINTD STACK PRINTR "." ?ELS5: EQUAL? WINNER,SHARON \?ELS24 EQUAL? PRSA,V?FIND \?ELS29 EQUAL? PRSO,MAGAZINE \?ELS34 CALL PERFORM,V?ASK-ABOUT,SHARON,MAGAZINE RTRUE ?ELS34: EQUAL? PRSO,GLOBAL-THORPE \FALSE PRINTI "Sharon looks surprised. ""I don't know, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS29: EQUAL? PRSA,V?LOOK-INSIDE \?ELS40 EQUAL? PRSO,FILE-DRAWER \?ELS40 SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,SHARON,FILE-DRAWER RTRUE ?ELS40: CALL COM-CHECK,SHARON >X ZERO? X /?ELS44 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS44: PRINTR """I'm too busy right now.""" ?ELS24: EQUAL? PRSA,V?ASK \?ELS57 IN? SHARON,OFFICE \?ELS57 CALL PERFORM,V?ASK-ABOUT,SHARON,FILE-DRAWER RTRUE ?ELS57: CALL ASK-ABOUT?,SHARON >OBJ ZERO? OBJ /?ELS61 CALL GRAB-ATTENTION,SHARON ZERO? STACK /TRUE CALL SAID-TO,SHARON EQUAL? OBJ,MAGAZINE,ARTICLE \?ELS69 LOC MAGAZINE EQUAL? STACK,SHARON,PLAYER \?ELS69 PRINTI """Uh . . . That's not the " PRINTD MAGAZINE PRINTR " I'm looking for.""" ?ELS69: EQUAL? OBJ,CIRCUIT-BREAKER,ELECTRICAL-CONTROL-PANEL \?ELS75 ZERO? SHARON-BROKE-CIRCUIT /?ELS75 CALL DONT-KNOW-ANYTHING RSTACK ?ELS75: EQUAL? OBJ,CATALYST-CAPSULE \?ELS79 PRINTR """Uh . . . I guess I forgot about it. Sorry.""" ?ELS79: EQUAL? OBJ,GLOBAL-SHARON,SHARON \?ELS83 PRINTR """You know me well and trust me completely.""" ?ELS83: EQUAL? OBJ,PROBLEM \?ELS87 PRINTI """Sorry, " CALL PRINT-NAME,FIRST-NAME PRINTI ", but I just got word that my mother is ill. They want me to come to the hospital at once." PRINTR """" ?ELS87: EQUAL? OBJ,ARTICLE /?THN96 EQUAL? OBJ,FILE-DRAWER,PAPERS,MAGAZINE \?ELS95 ?THN96: PRINTI """I can't find the " PRINTD MAGAZINE PRINTI " I bought for my mother this morning. I thought it might be in the " PRINTD FILE-DRAWER PRINTI ". I wanted to take it to the hospital for her to read. I really must rush off, " CALL PRINT-NAME,FIRST-NAME PRINTR "!""" ?ELS95: EQUAL? OBJ,THORPE,GLOBAL-THORPE \?ELS101 CALL PERFORM,V?ASK-ABOUT,SHARON,PRIVATE-MATTER RTRUE ?ELS101: CALL COMMON-ASK-ABOUT,SHARON,OBJ >X ZERO? X /?ELS103 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS103: CALL PICK-ONE,SHARON-ASKED PRINT STACK CRLF RTRUE ?ELS61: EQUAL? PRSA,V?GOODBYE \?ELS116 PRINTI """I'm going as soon as I find that " PRINTD MAGAZINE PRINTR ".""" ?ELS116: CALL COMMON-OTHER,SHARON ZERO? STACK \TRUE RFALSE .FUNCT BLY-TELLS-PROBLEM SET 'BLY-TOLD-PROBLEM,TRUE-VALUE CALL QUEUE,I-SHARON-TO-HALLWAY,6 PUT STACK,0,1 CALL SAID-TO,GLOBAL-BLY CALL THIS-IS-IT,GLOBAL-SNARK CALL PRINT-NAME,FIRST-NAME PRINTI "! Our transparent dome enclosing the " PRINT URS PRINTR " is being battered by a huge monster!""" .FUNCT MIKE-2-F PRINTI """The " PRINTD SNARK PRINTI "'s gone for now, " CALL PRINT-NAME,FIRST-NAME PRINTI ". It's no longer in sight." RTRUE .FUNCT GLOBAL-BLY-F,ARG=0,OBJ,L,X SET 'L,REMOTE-PERSON-LOC EQUAL? ARG,M-OBJDESC \?ELS5 EQUAL? L,CENTER-OF-LAB \FALSE ZERO? WOMAN-ON-SCREEN /?ELS15 PRINTR "You can't tell who the woman is." ?ELS15: PRINTI "You can see a picture of " PRINTD BLY PRINTI " on the " PRINTD REMOTE-PERSON-ON PRINTR "." ?ELS5: EQUAL? L,CENTER-OF-LAB \?ELS24 CALL SPEAKING-VERB? ZERO? STACK /?ELS24 EQUAL? PRSO,FALSE-VALUE,GLOBAL-BLY,PLAYER \?ELS24 IN? MICROPHONE,PLAYER \?THN27 FSET? MICROPHONE,ONBIT /?ELS24 ?THN27: SET 'P-CONT,FALSE-VALUE CALL THIS-IS-IT,MICROPHONE PRINTI "She can't hear you unless you " IN? MICROPHONE,PLAYER /?ELS35 PRINTI "pick up your " PRINTD MICROPHONE FSET? MICROPHONE,ONBIT /?CND38 PRINTI " and switch it on" ?CND38: PRINTR "." ?ELS35: PRINTI "switch on your " PRINTD MICROPHONE PRINTR "." ?ELS24: ZERO? BLY-TOLD-PROBLEM \?ELS50 EQUAL? PRSA,V?LISTEN,V?GOODBYE /?ELS50 ZERO? MONSTER-GONE \?ELS50 IN? MICROPHONE,PLAYER \?ELS50 EQUAL? REMOTE-PERSON,GLOBAL-BLY \?ELS50 CALL QUEUE,I-SEND-SUB,8 PUT STACK,0,1 PRINTI """" CALL PRINT-NAME,FIRST-NAME PRINTI "! " CALL BLY-TELLS-PROBLEM RETURN 2 ?ELS50: EQUAL? WINNER,GLOBAL-BLY \?ELS63 EQUAL? PRSA,V?FIND \?ELS68 EQUAL? PRSO,GLOBAL-BLY \?ELS68 PRINTI """I'm at the " PRINTD AQUADOME PRINTR ".""" ?ELS68: EQUAL? PRSO,PLAYER \?ELS74 EQUAL? P-ADVERB,W?PRIVATELY \?ELS74 EQUAL? PRSA,V?TELL /?THN77 EQUAL? PRSA,V?TELL-ABOUT \?ELS74 EQUAL? PRSI,PRIVATE-MATTER \?ELS74 ?THN77: SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,GLOBAL-BLY,PRIVATE-MATTER RTRUE ?ELS74: EQUAL? PRSA,V?EXAMINE \?ELS88 EQUAL? PRSO,GLOBAL-SNARK /?THN85 ?ELS88: EQUAL? PRSA,V?SHOW \?ELS84 EQUAL? PRSO,PLAYER \?ELS84 EQUAL? PRSI,GLOBAL-SNARK \?ELS84 ?THN85: ZERO? MONSTER-GONE /?ELS95 CALL MIKE-2-F PRINTR """" ?ELS95: PRINTI "The " PRINTD AQUADOME PRINTI "'s camera pans, and the monster comes into view on your " PRINTD VIDEOPHONE PRINTR " screen. It resembles a huge sea slug, about 5 meters tall. Its clawed tentacles pound and scratch at the dome." ?ELS84: EQUAL? PRSA,V?KILL \?ELS108 EQUAL? PRSO,GLOBAL-SNARK /?THN113 ?ELS108: EQUAL? PRSA,V?SHOOT,V?ATTACK \?ELS110 EQUAL? PRSO,GLOBAL-SNARK \?ELS110 EQUAL? PRSI,FALSE-VALUE,GLOBAL-WEAPON,GLOBAL-EXPLOSIVE /?THN113 ?ELS110: EQUAL? PRSO,GLOBAL-EXPLOSIVE,GLOBAL-WEAPON \?ELS104 EQUAL? PRSA,V?USE /?THN113 EQUAL? PRSA,V?USE-AGAINST \?ELS104 EQUAL? PRSI,GLOBAL-SNARK \?ELS104 ?THN113: ZERO? MONSTER-GONE /?ELS121 CALL MIKE-2-F PRINTR """" ?ELS121: EQUAL? PRSO,GLOBAL-EXPLOSIVE /?THN127 EQUAL? PRSI,GLOBAL-EXPLOSIVE \?ELS126 ?THN127: PRINTI """Setting off explosions so close might damage the " PRINTD AQUADOME PRINTR " even worse than the Snark is doing.""" ?ELS126: PRINTI """" CALL PRINT-NAME,FIRST-NAME PRINTR ", this is a peaceful research facility. We have no weapons.""" ?ELS104: EQUAL? PRSA,V?SEND-OUT,V?SEND \?ELS136 EQUAL? PRSO,GLOBAL-SUB \?ELS136 PRINTI """No subs are stationed here at the " PRINTD AQUADOME PRINTI ", " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS136: EQUAL? PRSO,DISTRESS-CALL \?ELS142 EQUAL? PRSA,V?SEND /?THN145 EQUAL? PRSA,V?SEND-TO \?ELS142 EQUAL? PRSI,GLOBAL-SUB \?ELS142 ?THN145: PRINTI """No response to our " PRINTD SONARPHONE PRINTI " " PRINTD DISTRESS-CALL PRINTR "s.""" ?ELS142: EQUAL? PRSO,GLOBAL-SUB \?ELS152 EQUAL? PRSA,V?FIND /?THN155 EQUAL? PRSA,V?FIND-WITH \?ELS152 EQUAL? PRSI,GLOBAL-SONAR \?ELS152 ?THN155: PRINTI """No blips appear on the " PRINTD SONAR-EQUIPMENT PRINTR ".""" ?ELS152: EQUAL? PRSA,V?DISEMBARK,V?LEAVE /?THN163 EQUAL? PRSA,V?WALK-TO \?ELS162 EQUAL? PRSO,GLOBAL-HERE,YOUR-LABORATORY,GLOBAL-SURFACE \?ELS162 ?THN163: PRINTR """Our emergency escape bell would be vulnerable to a monster as big as the Snark. Ditto for SCUBA gear, deep-sea diving suits, or jet-propelled observation bubbles.""" ?ELS162: EQUAL? PRSA,V?ASK-FOR,V?ASK-ABOUT \?ELS170 CALL PICK-ONE,WHY-ME PRINT STACK CRLF RETURN 2 ?ELS170: EQUAL? PRSA,V?TELL,V?REPLY \?ELS176 EQUAL? PRSO,PLAYER \?ELS176 SET 'WINNER,PLAYER CALL PERFORM,V?ASK,GLOBAL-BLY RTRUE ?ELS176: EQUAL? PRSA,V?WAIT-FOR /?THN181 EQUAL? PRSA,V?FIND \?ELS180 EQUAL? PRSO,PLAYER \?ELS180 ?THN181: PRINTI """Okay, " CALL PRINT-NAME,FIRST-NAME PRINTR ", but hurry!""" ?ELS180: CALL COM-CHECK,GLOBAL-BLY >X ZERO? X /?ELS190 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS190: CALL PICK-ONE,WHY-ME PRINT STACK CRLF RETURN 2 ?ELS63: EQUAL? REMOTE-PERSON,GLOBAL-BLY \?ELS205 CALL ASK-ABOUT?,GLOBAL-BLY >OBJ ZERO? OBJ /?ELS205 CALL SAID-TO,GLOBAL-BLY EQUAL? OBJ,PROBLEM \?ELS212 EQUAL? L,SUB \?ELS217 PRINTR """I'll tell you when we can talk privately.""" ?ELS217: PRINTI """" CALL BLY-TELLS-PROBLEM RSTACK ?ELS212: EQUAL? OBJ,GLOBAL-SNARK \?ELS225 EQUAL? REMOTE-PERSON-ON,SONARPHONE \?ELS228 MOVE PRIVATE-MATTER,GLOBAL-OBJECTS INC 'BLY-PRIVATELY-COUNT PRINTI """There have been no new attacks, " CALL PRINT-NAME,FIRST-NAME PRINTI ". But the creature may come back. And" CALL DISCUSS-PRIVATE RTRUE ?ELS228: PRINTI """Some of our divers saw it while exploring the undersea environment. They nicknamed it the Snark. This is the first time it has approached the " PRINTD AQUADOME PRINTI ", and it may be the last time, " CALL PRINT-NAME,FIRST-NAME PRINTI "! I'm not sure how long our plastic dome enclosure c" ZERO? MONSTER-GONE /?ELS237 PRINTI "ould" JUMP ?CND235 ?ELS237: PRINTI "an" ?CND235: PRINTR " withstand such a battering!""" ?ELS225: CALL COMMON-ASK-ABOUT,GLOBAL-BLY,OBJ >X ZERO? X /?ELS248 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS248: CALL DONT-KNOW,GLOBAL-BLY,OBJ RSTACK ?ELS205: EQUAL? PRSA,V?$CALL,V?ASK \?ELS259 PRINTI """Ask me about something in particular, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS259: ZERO? WOMAN-ON-SCREEN /?ELS263 EQUAL? PRSA,V?EXAMINE \?ELS263 PRINTR "You can't tell who the woman is." ?ELS263: EQUAL? PRSO,GLOBAL-BLY \?ELS269 EQUAL? PRSA,V?HELLO \?ELS269 EQUAL? REMOTE-PERSON-ON,SONARPHONE,INTERCOM \?ELS269 PRINTI "You hear " PRINTD PRSO PRINTR " nodding at you." ?ELS269: EQUAL? PRSA,V?GOODBYE \?ELS275 PRINTI """I hope to see you soon, " CALL PRINT-NAME,FIRST-NAME PRINTI ".""" CRLF EQUAL? REMOTE-PERSON-ON,VIDEOPHONE \?CND280 CALL I-SHARON-TO-HALLWAY ?CND280: CALL PHONE-OFF RTRUE ?ELS275: EQUAL? PRSO,GLOBAL-BLY \?ELS284 EQUAL? PRSA,V?REPLY,V?LISTEN \?ELS284 CALL WAITING-FOR-YOU-TO-SPEAK RTRUE ?ELS284: EQUAL? PRSO,GLOBAL-BLY \?ELS288 EQUAL? PRSA,V?PHONE \?ELS288 EQUAL? HERE,SUB,CRAWL-SPACE /?ELS288 ZERO? SUB-IN-DOME /FALSE ?ELS288: EQUAL? PRSO,GLOBAL-BLY \?ELS292 EQUAL? PRSA,V?READ \?ELS292 CALL FIGURE-OF-SPEECH RTRUE ?ELS292: EQUAL? PRSA,V?TELL-ABOUT \?ELS296 EQUAL? PRSI,GLOBAL-SUB \FALSE PRINTI """The only submarine capable of hunting it at such depths is your " PRINTD GLOBAL-SUB PRINTR ". Please send us that!""" ?ELS296: CALL COMMON-OTHER,GLOBAL-BLY ZERO? STACK \TRUE CALL GLOBAL-PERSON RSTACK .FUNCT BLY-F,ARG=0,OBJ,L,X LOC BLY >L EQUAL? ARG,M-OBJDESC \?ELS5 CALL DESCRIBE-COLLAPSE,BLY RSTACK ?ELS5: ZERO? DOME-AIR-BAD? /?ELS7 FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS7 PRINTI """Never mind me, " CALL PRINT-NAME,FIRST-NAME PRINTI "!"" she cries. ""S-S-Something's wrong with the " PRINTD AIR-SUPPLY-SYSTEM PRINTI "! ... F-Fix it -- or we'll all s-s-soon be ...""" CRLF RETURN 2 ?ELS7: EQUAL? WINNER,BLY \?ELS15 CALL GRAB-ATTENTION,BLY ZERO? STACK /TRUE EQUAL? PRSA,V?FIND \?ELS22 EQUAL? PRSO,PHOTO \?ELS22 ZERO? BLY-SAW-PHOTO \?ELS22 PRINTR """It's either on his person or in his locker, in the dormitory.""" ?ELS22: EQUAL? PRSA,V?GIVE \?ELS28 EQUAL? PRSO,JOB \?ELS28 EQUAL? PRSI,GLOBAL-SIEGEL,SIEGEL \?ELS28 PRINTI """I'll have him check the " PRINTD SONAR-EQUIPMENT PRINTI ". Okay?""" CALL YES? ZERO? STACK /?CND33 CALL ZOE-SENDS-MARV,COMM-BLDG RTRUE ?CND33: PRINTI """Should I give him some chore that's close to the " PRINTD SONAR-EQUIPMENT PRINTI " so he can keep an eye on it?""" CALL YES? ZERO? STACK /?CND38 CALL ZOE-SENDS-MARV,COMM-BLDG RTRUE ?CND38: PRINTI """Then somewhere out of sight of the " PRINTD COMM-BLDG PRINTI "? That's where the " PRINTD SONAR-EQUIPMENT PRINTI "is.""" CALL YES? ZERO? STACK /?ELS47 SET 'SIEGEL-OUT-OF-SIGHT,TRUE-VALUE CALL ZOE-SENDS-MARV,AIRLOCK RTRUE ?ELS47: PRINTI """Then, you'd better do it, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS28: EQUAL? PRSA,V?TIE-TO,V?PUT \?ELS53 EQUAL? PRSO,BLACK-BOX \?ELS53 EQUAL? PRSI,SONAR-EQUIPMENT,GLOBAL-SONAR \?ELS53 MOVE BLACK-BOX,SONAR-EQUIPMENT PRINTI """Wilco, " CALL PRINT-NAME,FIRST-NAME PRINTR ". Consider it done.""" ?ELS53: EQUAL? PRSA,V?EXAMINE,V?READ \?ELS59 EQUAL? PRSO,DIARY \?ELS59 SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,BLY,DIARY RTRUE ?ELS59: EQUAL? PRSA,V?SHOW \?ELS63 EQUAL? PRSO,PLAYER \?ELS63 EQUAL? PRSI,EVIDENCE \?ELS63 SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,BLY,PRSI RTRUE ?ELS63: EQUAL? PRSO,PLAYER \?ELS67 EQUAL? P-ADVERB,W?PRIVATELY \?ELS67 EQUAL? PRSA,V?TELL /?THN70 EQUAL? PRSA,V?TELL-ABOUT \?ELS67 EQUAL? PRSI,PRIVATE-MATTER \?ELS67 ?THN70: SET 'WINNER,PLAYER CALL ASK-BLY-ABOUT-PRIVATE-MATTER RTRUE ?ELS67: EQUAL? PRSA,V?ASK \?ELS75 EQUAL? PRSO,PLAYER \?ELS75 CALL I-BLY-SAYS,TRUE-VALUE ZERO? STACK \TRUE ?ELS75: FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS79 CALL EXIT-VERB? ZERO? STACK /?ELS79 PRINTI """Not now, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS79: CALL COM-CHECK,BLY >X ZERO? X /?ELS85 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS85: CALL PICK-ONE,WHY-ME PRINT STACK CRLF RETURN 2 ?ELS15: EQUAL? PRSA,V?ASK /?THN101 EQUAL? PRSO,BLY \?ELS100 EQUAL? PRSA,V?TELL \?ELS100 EQUAL? P-ADVERB,W?PRIVATELY \?ELS100 ?THN101: CALL ASK-BLY-ABOUT-PRIVATE-MATTER RTRUE ?ELS100: EQUAL? PRSA,V?TELL-ABOUT,V?ASK-ABOUT \?ELS106 EQUAL? PRSI,CONTROL-CIRCUITS-GAUGE,CONTROL-CIRCUITS,OVERHEATING /?THN109 EQUAL? PRSI,VOLTAGE-REGULATOR,LOCAL-SUB,GLOBAL-SUB \?ELS106 ?THN109: PRINTI """You mean the problem you had on the way here? Shall I ask Mick to check on it?""" CALL YES? ZERO? STACK /TRUE MOVE ANTRIM,HERE SET 'WINNER,ANTRIM CALL PERFORM,V?FIX,GLOBAL-SUB RTRUE ?ELS106: CALL ASK-ABOUT?,BLY >OBJ ZERO? OBJ /?ELS117 CALL GRAB-ATTENTION,BLY ZERO? STACK /TRUE CALL SAID-TO,BLY FSET BLY,TOUCHBIT EQUAL? OBJ,PRIVATE-MATTER \?ELS125 CALL ASK-BLY-ABOUT-PRIVATE-MATTER RSTACK ?ELS125: EQUAL? OBJ,PROBLEM \?ELS127 ZERO? DOME-AIR-BAD? /?ELS132 FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS132 CALL BADGES-RED RTRUE ?ELS132: ZERO? ZOE-MENTIONED-EVIDENCE \?ELS136 SET 'WINNER,PLAYER CALL ASK-BLY-ABOUT-PRIVATE-MATTER RTRUE ?ELS136: EQUAL? HERE,BLY-OFFICE \?ELS138 ZERO? ZOE-BLUSHING /?ELS138 CALL DOC-IN-LOVE RSTACK ?ELS138: PRINTI """I'm worried that the " PRINTD SNARK PRINTI " may attack again, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS127: EQUAL? OBJ,DIARY \?ELS146 PRINTR """I think that I can guess what's in it.""" ?ELS146: EQUAL? OBJ,REASON,PHOTO \?ELS150 EQUAL? OBJ,PHOTO \?CND151 SET 'BLY-SAW-PHOTO,TRUE-VALUE ?CND151: CALL DISCRETION,BLY,HORVAK PRINTI """A friend took a picture of me just before I was assigned here. I usually keep it on my desk, but a few days after Doc came on to me, I realized it was gone." ZERO? BLY-SAW-PHOTO \?CND156 PRINTI " It still hasn't turned up." ?CND156: PRINTR " I think Doc took it. He wanted a picture of me.""" ?ELS150: EQUAL? OBJ,EVIDENCE,BLACK-BOX \?ELS164 ZERO? ZOE-MENTIONED-EVIDENCE \?CND165 CALL ASK-BLY-ABOUT-PRIVATE-MATTER RTRUE ?CND165: PRINTI """I wanted to make sure the " PRINTD SONAR-EQUIPMENT PRINTI " would warn us if the " PRINTD SNARK PRINTI " approached again. I was worried because the blips on the scope looked fuzzy, as if the system was out of alignment. When I inspected it, I found someone had secretly attached " IN? BLACK-BOX,BLY-DESK /?ELS172 IN? BLACK-BOX,BLY \?ELS179 PUSH STR?86 JUMP ?CND175 ?ELS179: PUSH STR?87 ?CND175: PRINT STACK PRINTD BLACK-BOX JUMP ?CND170 ?ELS172: PRINTI "this device" ?CND170: PRINTI " to it!""" CRLF IN? BLACK-BOX,BLY-DESK \?CND188 MOVE BLACK-BOX,BLY CALL THIS-IS-IT,BLACK-BOX PRINTI "Zoe takes a small """ PRINTD BLACK-BOX PRINTI """ device from her desk drawer." CRLF ?CND188: CALL QUEUE,I-TIP-SONAR-PLAN,-1 PUT STACK,0,1 MOVE TIP-IDEA,GLOBAL-OBJECTS RTRUE ?ELS164: EQUAL? OBJ,SIEGEL,GLOBAL-SIEGEL \?ELS194 ZERO? SIEGEL-TESTED \?THN198 FSET? SIEGEL,BUSYBIT /?THN198 IN? BLACK-BOX,BLY-DESK \?ELS197 ?THN198: CALL DISCRETION,BLY,SIEGEL PRINTI """" JUMP ?CND195 ?ELS197: CALL DISCRETION,BLY,SIEGEL,ANTRIM PRINTI """I bet you're wondering if he could have attached that " PRINTD BLACK-BOX PRINTI " to the " PRINTD SONAR-EQUIPMENT PRINTI ". I agree that he had the opportunity, but all I can say, " CALL PRINT-NAME,FIRST-NAME PRINTI ", is that he's no troublemaker like " PRINTD ANTRIM PRINTI "." CRLF ?CND195: PRINTI "He's a great diver and a skilled electronics engineer. I think he really enjoys exploring the undersea environment. He discovered that " PRINTD ORE-NODULES PRINTI " on the sea floor near the " PRINTD AQUADOME PRINTI ". I have no reason to suspect him of trying to sabotage the " PRINT URS PRINTI " of " PRINTD IU-GLOBAL PRINTI "." ZERO? SIEGEL-TESTED \?THN213 FSET? SIEGEL,BUSYBIT /?THN213 IN? BLACK-BOX,BLY-DESK \?ELS212 ?THN213: PRINTR """" ?ELS212: PRINTI " But I do have a plan that will help us find out. Do you want to hear it, " CALL PRINT-NAME,FIRST-NAME PRINTI "?""" MOVE BLY-PLAN,GLOBAL-OBJECTS CALL YES? ZERO? STACK /TRUE CALL QUEUE,I-TIP-SONAR-PLAN,0 CALL TELL-HINT,13,SIEGEL,FALSE-VALUE RTRUE ?ELS194: EQUAL? OBJ,BLY-PLAN \?ELS225 CALL TELL-HINT,13,SIEGEL,FALSE-VALUE RSTACK ?ELS225: EQUAL? OBJ,ANTRIM,GLOBAL-ANTRIM \?ELS227 PRINTI "Just hearing Antrim's name makes her eyes flash fire, and she clenches her fists. You can tell she's had a hard time keeping her temper when dealing with Antrim. " CALL DISCRETION,BLY,ANTRIM PRINTI """" CALL PRINT-NAME,FIRST-NAME PRINTI ", that redheaded troublemaker's been nothing but bad news since the day I arrived! He's always got a chip on his shoulder and looks for ways to embarrass me or start a fight." ZERO? ANTRIM-EXPLODED /?CND232 PRINTI " You heard his remarks about the " PRINTD OXYGEN-GEAR PRINTI "." ?CND232: PRINTR " Most of the time he complains about discipline, but whenever I ease up he's always the first to accuse me of laxity!""" ?ELS227: EQUAL? OBJ,ORE-NODULES \?ELS241 PRINTI """Oops, I forgot you hadn't heard about it, " CALL PRINT-NAME,FIRST-NAME PRINTI ". I was about to report it when we were attacked. " PRINTD SIEGEL PRINTI " discovered it by accident. The ore is mostly manganese and iron, but there's gold and platinum, and there may be traces of rare earths, too. This could be the richest payoff yet from the " PRINTD AQUADOME PRINTR "!""" ?ELS241: EQUAL? OBJ,SPECIAL-TOOL \?ELS245 PRINTI """That belongs on the " PRINTD HOOK PRINTI "!" IN? SPECIAL-TOOL,BLY-OFFICE \?CND248 PRINTI " Why is it in my office? It hasn't been there long! When I " EQUAL? HERE,BLY-OFFICE \?ELS255 PRINTI "came back " JUMP ?CND253 ?ELS255: PRINTI "went back t" ?CND253: PRINTI "here to put something in a drawer, I knocked a pen off my desk. I had to stoop down to find it. Had that wrench been lying under my desk, I would have seen it!" ?CND248: PRINTR """" ?ELS245: EQUAL? OBJ,GLOBAL-HORVAK,HORVAK \?ELS267 FSET? SPECIAL-TOOL,TOUCHBIT /?ELS272 CALL DOC-IN-LOVE RSTACK ?ELS272: SET 'ZOE-BLUSHING,TRUE-VALUE CALL DISCRETION,BLY,HORVAK PRINTI """I wonder if he sabotaged the " PRINTD AIR-SUPPLY-SYSTEM ZERO? HORVAK-FIXED-AIR \?CND277 PRINTI " and then ditched the wrench there" ?CND277: PRINTI "?" ZERO? HORVAK-FIXED-AIR \?CND284 PRINTI " He had the opportunity: he could have tossed it there when he came to get my " PRINTD OXYGEN-GEAR PRINTI ". But" ?CND284: PRINTR " I just can't BELIEVE Doc would cut off our air supply!"" Zoe blushes and her voice trembles with emotion as she speaks." ?ELS267: EQUAL? OBJ,LOWELL,GLOBAL-LOWELL /?THN293 EQUAL? OBJ,GREENUP,GLOBAL-GREENUP \?ELS292 ZERO? GREENUP-GUILT \?ELS292 ?THN293: PRINTI """" CALL HE-SHE-IT,OBJ,TRUE-VALUE PRINTR "'s an excellent diver.""" ?ELS292: EQUAL? OBJ,GREENUP,GLOBAL-GREENUP \?ELS302 PRINTR """I never would have suspected him!""" ?ELS302: FSET? AIR-SUPPLY-SYSTEM,MUNGBIT /?ELS306 EQUAL? OBJ,AIR-SUPPLY-SYSTEM,AIR-SUPPLY-SYSTEM-GLOBAL,GLOBAL-SABOTAGE \?ELS306 IN? CREW,HERE \?CND309 PRINTI "Zoe shoots a troubled glance at her five crew members. " ?CND309: PRINTI """Once we saw your " PRINTD SEARCH-BEAM PRINTI " beam, " CALL PRINT-NAME,FIRST-NAME PRINTI ", we were all watching for your arrival outside the dome. Any one of us could have tampered with the " PRINTD AIR-SUPPLY-SYSTEM PRINTI " without being noticed."" " CALL TIP-SAYS PRINTI "One thing's for sure. Whoever did it also took that " PRINTD SPECIAL-TOOL PRINTI "!"" " IN? ANTRIM,HERE \TRUE SET 'ANTRIM-EXPLODED,TRUE-VALUE PRINTD ANTRIM PRINTI " explodes: ""That shows you what kind of a commander Bly is! Regulations state that EVERYONE has to wear " PRINTD OXYGEN-GEAR PRINTR " all the time. But neither of those two divers were wearing theirs! Bly wasn't even wearing HER OWN!""" ?ELS306: CALL COMMON-ASK-ABOUT,BLY,OBJ >X ZERO? X /?ELS324 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS324: CALL DONT-KNOW,BLY,OBJ RSTACK ?ELS117: CALL COMMON-OTHER,BLY ZERO? STACK \TRUE RFALSE .FUNCT ASK-BLY-ABOUT-PRIVATE-MATTER CALL QUEUE,I-BLY-PRIVATELY,0 EQUAL? HERE,BLY-OFFICE \?CND1 CALL ZOE-MENTIONS-EVIDENCE RTRUE ?CND1: PRINTI """Come to my office" PRINTI ", " CALL PRINT-NAME,FIRST-NAME PRINTI "."" " ZERO? DOME-AIR-BAD? \?ELS10 FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS10 MOVE ANTRIM,HERE PRINTI "As you turn to leave with " PRINTD BLY PRINTI ", " PRINTD ANTRIM PRINTI " explodes angrily: ""What's so private, 'Captain Bly'? If you have a complaint, why not spill it now? Or are you afraid we might complain about YOU?!"" Before you can say anything, Zoe yells: ""That's enough, Antrim! Maybe I have some complaints about the way the crew performs. When I make any about you, or hand out disciplinary action, you'll be the first to -- to --"" " CALL I-DOME-AIR,TRUE-VALUE RSTACK ?ELS10: MOVE BLY,BLY-OFFICE FSET BLY,NDESCBIT SET 'WINNER,PLAYER CALL GOTO,BLY-OFFICE RSTACK .FUNCT DOC-IN-LOVE CALL DISCRETION,BLY,HORVAK PRINTI """This is embarrassing. Doc's in love with me, or so he says. When he said he loved me, I didn't handle it well. I lost my poise and told him this was a scientific research station, not a singles resort, and that I was his commanding officer -- so cut the romantic stuff and go back to work. " FSET? SPECIAL-TOOL,TOUCHBIT \?CND3 MOVE REASON,GLOBAL-OBJECTS PRINTI "Maybe you'll say Doc was angry over that, and hurting the " PRINTD AIR-SUPPLY-SYSTEM PRINTI " was his way of getting revenge. But I don't think so. I've reason to think he still loves me. " ?CND3: PRINTI "Anyhow, if " FSET? SPECIAL-TOOL,TOUCHBIT \?CND10 PRINTI "you still suspect him, and " ?CND10: PRINTI "you want another slant on what makes him tick, you should talk to his " PRINTD LAB-ASSISTANT PRINTR ".""" .FUNCT ZOE-SENDS-MARV,PLACE PRINTI """Wilco, " CALL PRINT-NAME,FIRST-NAME PRINTI "." ZERO? SIEGEL-OUT-OF-SIGHT \?CND3 PRINTI " I'm afraid he may have seen me going there to put the " PRINTD BLACK-BOX PRINTI " on the " PRINTD SONAR-EQUIPMENT PRINTI "." ?CND3: MOVE SIEGEL,PLACE EQUAL? PLACE,COMM-BLDG \?CND8 IN? BLACK-BOX,SONAR-EQUIPMENT \?CND8 FSET SIEGEL,BUSYBIT CALL QUEUE,I-SIEGEL-REPORTS,4 PUT STACK,0,1 ?CND8: PRINTI """" CRLF PRINTI "Zoe sends " PRINTD SIEGEL PRINTI " into the " PRINTD PLACE PRINTR "." .FUNCT IS-CREW?,PER EQUAL? PER,LOWELL,ANTRIM,HORVAK /TRUE EQUAL? PER,SIEGEL,GREENUP /TRUE RFALSE .FUNCT CREW-5-TOGETHER?,L LOC LOWELL >L LOC ANTRIM EQUAL? L,STACK \?ELS5 LOC HORVAK EQUAL? L,STACK \?ELS5 LOC SIEGEL EQUAL? L,STACK \?ELS5 LOC GREENUP EQUAL? L,STACK \?ELS5 MOVE CREW,L RTRUE ?ELS5: REMOVE CREW RFALSE .FUNCT ANTRIM-F,ARG=0,OBJ,X,SUB0,SUB1 EQUAL? ARG,M-OBJDESC \?ELS5 IN? ANTRIM,AIRLOCK \?ELS8 CALL DESCRIBE-PERSON,ANTRIM,STR?88 RTRUE ?ELS8: CALL DESCRIBE-COLLAPSE,ANTRIM RTRUE ?ELS5: EQUAL? WINNER,ANTRIM \?ELS12 CALL GRAB-ATTENTION,ANTRIM ZERO? STACK /TRUE EQUAL? PRSA,V?FIX /?THN22 EQUAL? PRSA,V?EXAMINE,V?ANALYZE,V?ADJUST \?ELS19 ?THN22: EQUAL? PRSO,CONTROL-CIRCUITS-GAUGE,CONTROL-CIRCUITS,OVERHEATING /?THN24 EQUAL? PRSO,VOLTAGE-REGULATOR,LOCAL-SUB,GLOBAL-SUB \?ELS19 ?THN24: ZERO? ANTRIM-CHECKED-SUB /?CND26 PRINTR """I already did that!""" ?CND26: MOVE BLY,HERE SET 'ASKED-ANTRIM,TRUE-VALUE CALL I-ANTRIM-TO-SUB,STR?89 PRINTI "But " PRINTD BLY PRINTI " has heard your order. ""Please remember, " CALL PRINT-NAME,FIRST-NAME PRINTI ","" she says, ""while Mick is working on your " PRINTD SUB PRINTI ", it'll be out of action. The " PRINTD SNARK PRINTI " may return at any time, and we'll be defenseless! Are you sure you want to repair the " PRINTD SUB PRINTI " now?""" CALL YES? ZERO? STACK /TRUE GET ON-SUB,0 >SUB0 GET ON-SUB,1 >SUB1 EQUAL? BAZOOKA,SUB0 \?THN40 EQUAL? DART,SUB1 /TRUE ?THN40: PRINTI """Then why not use the time to arm the " PRINTD SUB EQUAL? BAZOOKA,SUB0 /?THN47 EQUAL? DART,SUB1 \?CND44 ?THN47: PRINTI " better" ?CND44: PRINTI "?"" Zoe goes on." CRLF EQUAL? BAZOOKA,SUB0 /?CND53 CALL TELL-HINT,73,CLAW,FALSE-VALUE ?CND53: EQUAL? DART,SUB1 /?CND56 CALL TELL-HINT,72,DART ?CND56: SET 'BLY-PRIVATELY-DELAY,TRUE-VALUE PRINTI " ""If you want to consider your options" PRINTI ", let's go to" EQUAL? DART,SUB1 /?ELS65 PRINTI " the " PRINTD DOME-LAB JUMP ?CND63 ?ELS65: EQUAL? BAZOOKA,SUB0 /?CND63 LOC BAZOOKA CALL PRINTT,STACK ?CND63: PRINTI ".""" CRLF RTRUE ?ELS19: CALL COM-CHECK,ANTRIM >X ZERO? X /?ELS75 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS75: CALL PICK-ONE,WHY-ME PRINT STACK CRLF RETURN 2 ?ELS12: CALL ASK-ABOUT?,ANTRIM >OBJ ZERO? OBJ /?ELS90 CALL GRAB-ATTENTION,ANTRIM ZERO? STACK /TRUE CALL SAID-TO,ANTRIM EQUAL? OBJ,GLOBAL-BLY \?ELS98 PRINTR """What a slave driver! Sometimes I call her 'Captain Bly'!""" ?ELS98: CALL COMMON-ASK-ABOUT,ANTRIM,OBJ >X ZERO? X /?ELS102 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS102: CALL DONT-KNOW,ANTRIM,OBJ RSTACK ?ELS90: CALL COMMON-OTHER,ANTRIM ZERO? STACK \TRUE RFALSE .FUNCT HORVAK-F,ARG=0,OBJ,X,L LOC HORVAK >L EQUAL? ARG,M-OBJDESC \?ELS5 CALL DESCRIBE-COLLAPSE,HORVAK RSTACK ?ELS5: EQUAL? WINNER,HORVAK \?ELS7 CALL GRAB-ATTENTION,HORVAK ZERO? STACK /TRUE EQUAL? PRSA,V?FIX,V?EXAMINE,V?ANALYZE \?ELS14 EQUAL? PRSO,ESCAPE-POD-UNIT,SYRINGE \?ELS14 MOVE SYRINGE,HORVAK FCLEAR SYRINGE,TAKEBIT FSET HORVAK,BUSYBIT CALL QUEUE,I-ANALYSIS,4 PUT STACK,0,1 IN? HORVAK,DOME-LAB /?CND17 MOVE HORVAK,DOME-LAB PRINTI "He heads for the " PRINTD DOME-LAB PRINTI ". " ?CND17: PRINTI "It will take " PRINTD HORVAK PRINTI " 4 turns to analyze the chemical contents of" CALL THE-PRSO-PRINT PRINTR "." ?ELS14: EQUAL? PRSA,V?TAKE,V?FIX \?ELS25 EQUAL? PRSO,DART \?ELS25 FCLEAR PRSO,NDESCBIT EQUAL? PRSA,V?TAKE \?ELS32 MOVE PRSO,HORVAK PRINTR """Okay.""" ?ELS32: CALL FIX-DART RSTACK ?ELS25: EQUAL? PRSO,HORVAK-LOCKER \?ELS42 EQUAL? PRSA,V?OPEN /?THN39 ?ELS42: EQUAL? PRSO,HORVAK-KEY \?ELS44 EQUAL? PRSA,V?GIVE /?THN39 ?ELS44: EQUAL? PRSI,HORVAK-KEY \?ELS38 EQUAL? PRSA,V?SGIVE \?ELS38 ?THN39: SET 'WINNER,PLAYER CALL PERFORM,V?SEARCH,HORVAK RTRUE ?ELS38: EQUAL? PRSA,V?READ,V?EXAMINE,V?ANALYZE \?ELS48 EQUAL? PRSO,ARTICLE,MAGAZINE \?ELS48 SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,HORVAK,MAGAZINE RTRUE ?ELS48: CALL COM-CHECK,HORVAK >X ZERO? X /?ELS52 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS52: CALL PICK-ONE,WHY-ME PRINT STACK CRLF RETURN 2 ?ELS7: CALL ASK-ABOUT?,HORVAK >OBJ ZERO? OBJ /?ELS67 CALL GRAB-ATTENTION,HORVAK ZERO? STACK /TRUE CALL SAID-TO,HORVAK EQUAL? OBJ,SPECIAL-TOOL,SPECIAL-TOOL-GLOBAL \?ELS75 ZERO? HORVAK-FIXED-AIR /?ELS80 PRINTI """I found it in the " PRINTD BLY-OFFICE PRINTI ", " CALL PRINT-NAME,FIRST-NAME PRINTI ", when I ran in there to get her " PRINTD OXYGEN-GEAR PRINTR ". I spotted it under her desk.""" ?ELS80: CALL DONT-KNOW-ANYTHING RSTACK ?ELS75: EQUAL? OBJ,BLY,GLOBAL-BLY \?ELS87 IN? REASON,GLOBAL-OBJECTS \?ELS92 PRINTR """It's true. I can't hide my love for her any longer.""" ?ELS92: PRINTR """I have no complaints.""" ?ELS87: EQUAL? OBJ,HORVAK-LOCKER,HORVAK-KEY \?ELS100 SET 'WINNER,PLAYER CALL PERFORM,V?SEARCH,HORVAK RTRUE ?ELS100: EQUAL? OBJ,PHOTO \?ELS102 PRINTR """I took it because I wanted a picture of her.""" ?ELS102: EQUAL? OBJ,SYRINGE,ESCAPE-POD-UNIT \?ELS106 ZERO? GREENUP-GUILT /?ELS111 PRINTI """" CALL PRINT-NAME,FIRST-NAME PRINTI ", the " PRINTD SYRINGE PRINTI " contains a lot of arsenic, and some arsenic is missing from my " PRINTD CHEMICAL-SUPPLY-SHELVES PRINTI "! If you'd been jabbed with that " PRINTD SYRINGE PRINTR ", you'd be dead!""" ?ELS111: SET 'WINNER,HORVAK CALL PERFORM,V?ANALYZE,SYRINGE RTRUE ?ELS106: EQUAL? OBJ,MAGAZINE,ARTICLE \?ELS118 FSET? DART,MUNGBIT \?ELS118 PRINTI "Doc quickly reads the " PRINTD ARTICLE PRINTI ", then flashes you an excited glance. """ CALL PRINT-NAME,FIRST-NAME PRINTI ", Thorpe's sea creatures evolved from AMINO-HYDROPHASE. If the Snark's his creation, then I know exactly what drug will tranquilize it! Shall I make some up?""" CALL YES? ZERO? STACK /TRUE CALL FIX-DART GET ON-SUB,0 EQUAL? BAZOOKA,STACK /TRUE CALL META-LOC,BLY EQUAL? STACK,HERE \TRUE PRINTD BLY PRINTI " still looks worried. """ CALL PRINT-NAME,FIRST-NAME PRINTI ", you should have a really high-powered weapon, too. You may run up against an enemy sub, if Thorpe himself is operating around here. Can you think of any device to use as a weapon of last resort?""" CALL YES? ZERO? STACK /?CND133 PRINTI """Show me what device you have in mind, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?CND133: FSET? AIR-SUPPLY-SYSTEM,MUNGBIT /TRUE CALL SAID-TO,TIP CALL THIS-IS-IT,BAZOOKA PRINTI "Once again, Tip has an idea." CRLF CALL TELL-HINT,71,BAZOOKA PRINTI """Shall I have it mounted on the other " PRINTD CLAW PRINTI " of the " PRINTD SUB PRINTI "?""" CALL YES? ZERO? STACK /TRUE CALL MOUNT-WEAPON,BAZOOKA CALL FINE-SEQUENCE RTRUE ?ELS118: CALL COMMON-ASK-ABOUT,HORVAK,OBJ >X ZERO? X /?ELS149 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS149: CALL DONT-KNOW,HORVAK,OBJ RSTACK ?ELS67: EQUAL? PRSA,V?GIVE \?ELS160 IN? PRSO,PLAYER \?ELS160 EQUAL? PRSI,HORVAK \?ELS160 EQUAL? PRSO,MAGAZINE \?ELS167 MOVE PRSO,HORVAK SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,HORVAK,MAGAZINE RTRUE ?ELS167: EQUAL? PRSO,SYRINGE \FALSE MOVE PRSO,HORVAK PRINTI """Want me to analyze this, " CALL PRINT-NAME,FIRST-NAME PRINTI "?""" CALL YES? ZERO? STACK /FALSE SET 'WINNER,HORVAK CALL PERFORM,V?ANALYZE,SYRINGE RTRUE ?ELS160: EQUAL? PRSA,V?SEARCH \?ELS178 PRINTR """Certainly not! The contents of my locker are my private property!""" ?ELS178: CALL COMMON-OTHER,HORVAK ZERO? STACK \TRUE RFALSE .FUNCT FIX-DART FSET? DART,MUNGBIT /?ELS5 PRINTR """Hey, I already did that!""" ?ELS5: MOVE HORVAK,DOME-LAB MOVE DART,HORVAK CALL QUEUE,I-SYNTHESIS,5 PUT STACK,0,1 FSET HORVAK,BUSYBIT PRINTR "This will take 5 turns." .FUNCT SIEGEL-F,ARG=0,OBJ,X,L LOC SIEGEL >L EQUAL? ARG,M-OBJDESC \?ELS5 FSET? SIEGEL,BUSYBIT \?ELS10 CALL DESCRIBE-PERSON,SIEGEL,STR?90 RSTACK ?ELS10: CALL DESCRIBE-COLLAPSE,SIEGEL RSTACK ?ELS5: EQUAL? WINNER,SIEGEL \?ELS14 CALL GRAB-ATTENTION,SIEGEL ZERO? STACK /TRUE EQUAL? PRSA,V?FIX /?THN24 EQUAL? PRSA,V?EXAMINE,V?ANALYZE,V?ADJUST \?ELS21 ?THN24: EQUAL? PRSO,SONAR-EQUIPMENT,GLOBAL-SONAR \?ELS21 PRINTI """Right, " CALL PRINT-NAME,FIRST-NAME PRINTI ". No doubt you're testing all systems. I'll " EQUAL? HERE,COMM-BLDG /?CND31 PRINTI "report back and " ?CND31: PRINTI "let you know if the sonar's working okay.""" CRLF MOVE SIEGEL,COMM-BLDG FSET SIEGEL,BUSYBIT CALL QUEUE,I-SIEGEL-REPORTS,4 PUT STACK,0,1 RTRUE ?ELS21: CALL COM-CHECK,SIEGEL >X ZERO? X /?ELS39 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS39: CALL PICK-ONE,WHY-ME PRINT STACK CRLF RETURN 2 ?ELS14: CALL ASK-ABOUT?,SIEGEL >OBJ ZERO? OBJ /?ELS54 CALL GRAB-ATTENTION,SIEGEL ZERO? STACK /TRUE CALL SAID-TO,SIEGEL EQUAL? OBJ,GLOBAL-SONAR,SONAR-EQUIPMENT,SONAR-MAN \?ELS62 PRINTI """I operate the " PRINTD SONAR-EQUIPMENT PRINTR ".""" ?ELS62: EQUAL? OBJ,BLACK-BOX \?ELS66 FSET? SIEGEL,BUSYBIT \?ELS71 CALL I-SIEGEL-REPORTS ZERO? STACK \TRUE ?ELS71: PRINTI """" CALL SIEGEL-BOX RTRUE ?ELS66: CALL COMMON-ASK-ABOUT,SIEGEL,OBJ >X ZERO? X /?ELS79 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS79: CALL DONT-KNOW,SIEGEL,OBJ RSTACK ?ELS54: CALL COMMON-OTHER,SIEGEL ZERO? STACK \TRUE RFALSE .FUNCT GREENUP-F,ARG=0,OBJ,X,L LOC GREENUP >L EQUAL? ARG,M-OBJDESC \?ELS5 ZERO? GREENUP-CUFFED /?ELS10 PRINTR "Greenup is handcuffed to a pipe." ?ELS10: CALL DESCRIBE-COLLAPSE,GREENUP RSTACK ?ELS5: EQUAL? WINNER,GREENUP \?ELS17 CALL GRAB-ATTENTION,GREENUP ZERO? STACK /TRUE CALL MOUNTING-VERB?,ESCAPE-POD-UNIT ZERO? STACK /?ELS24 FSET? ESCAPE-POD-UNIT,TAKEBIT \?ELS24 CALL INSTALL-ESCAPE-POD-UNIT,GREENUP RSTACK ?ELS24: CALL COM-CHECK,GREENUP >X ZERO? X /?ELS28 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS28: CALL PICK-ONE,WHY-ME PRINT STACK CRLF RETURN 2 ?ELS17: CALL ASK-ABOUT?,GREENUP >OBJ ZERO? OBJ /?ELS43 CALL GRAB-ATTENTION,GREENUP ZERO? STACK /TRUE CALL SAID-TO,GREENUP EQUAL? OBJ,SYRINGE,ESCAPE-POD-UNIT \?ELS51 IN? ESCAPE-POD-UNIT,SUB \?ELS51 ZERO? GREENUP-GUILT /?ELS58 FSET? GREENUP,MUNGBIT /?ELS58 CALL PERFORM,V?ARREST,GREENUP RTRUE ?ELS58: CALL DONT-KNOW-ANYTHING RTRUE ?ELS51: ZERO? GREENUP-TRAPPED \?THN67 ZERO? GREENUP-CUFFED /?ELS64 ?THN67: PRINTR "His only response is a sneer and silence." ?ELS64: CALL COMMON-ASK-ABOUT,GREENUP,OBJ >X ZERO? X /?ELS72 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS72: CALL DONT-KNOW,GREENUP,OBJ RSTACK ?ELS43: EQUAL? PRSA,V?ASK \?ELS83 ZERO? GREENUP-TRAPPED /FALSE CALL PERFORM,V?ASK-ABOUT,GREENUP,MOTIVE RTRUE ?ELS83: CALL COMMON-OTHER,GREENUP ZERO? STACK \TRUE RFALSE .FUNCT LOWELL-F,ARG=0,OBJ,X,L LOC LOWELL >L EQUAL? ARG,M-OBJDESC \?ELS5 CALL DESCRIBE-COLLAPSE,LOWELL RSTACK ?ELS5: EQUAL? WINNER,LOWELL \?ELS7 CALL GRAB-ATTENTION,LOWELL ZERO? STACK /TRUE EQUAL? PRSA,V?FIND \?ELS14 EQUAL? PRSO,DIARY \FALSE CALL PERFORM,V?ASK-ABOUT,LOWELL,DIARY RTRUE ?ELS14: CALL MOUNTING-VERB?,ESCAPE-POD-UNIT ZERO? STACK /?ELS21 FSET? ESCAPE-POD-UNIT,TAKEBIT \?ELS21 CALL INSTALL-ESCAPE-POD-UNIT,LOWELL RSTACK ?ELS21: CALL COM-CHECK,LOWELL >X ZERO? X /?ELS25 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS25: CALL PICK-ONE,WHY-ME PRINT STACK CRLF RETURN 2 ?ELS7: CALL ASK-ABOUT?,LOWELL >OBJ ZERO? OBJ /?ELS40 CALL GRAB-ATTENTION,LOWELL ZERO? STACK /TRUE CALL SAID-TO,LOWELL EQUAL? OBJ,HORVAK,GLOBAL-HORVAK \?ELS48 CALL DISCRETION,LOWELL,HORVAK PRINTI """He's dedicated to scientific research. He's a great marine biologist and enjoys his work here at the " PRINTD AQUADOME PRINTI ", or he HAS enjoyed it until recently. I don't know why, but " PRINTD HORVAK PRINTR " has become moody and introverted. I've seen him writing in a private diary.""" ?ELS48: EQUAL? OBJ,DIARY \?ELS52 FSET? DIARY,TOUCHBIT /?ELS52 CALL DISCRETION,LOWELL,HORVAK PRINTI """It's not in the lab. " PRINTD HORVAK PRINTR "'s always secretive about his diary. He would never leave it around where anyone might find it. It's probably in his locker, in the crew's dormitory.""" ?ELS52: EQUAL? OBJ,LAB-ASSISTANT \?ELS58 PRINTI """I'm " PRINTD HORVAK PRINTI "'s " PRINTD LAB-ASSISTANT PRINTR ".""" ?ELS58: CALL COMMON-ASK-ABOUT,LOWELL,OBJ >X ZERO? X /?ELS62 EQUAL? X,M-FATAL \TRUE RFALSE ?ELS62: CALL DONT-KNOW,LOWELL,OBJ RSTACK ?ELS40: CALL COMMON-OTHER,LOWELL ZERO? STACK \TRUE RFALSE .FUNCT GLOBAL-THORPE-F EQUAL? PRSA,V?AIM \?ELS9 EQUAL? PRSO,BAZOOKA,DART /FALSE ?ELS9: EQUAL? PRSA,V?ATTACK,V?KILL,V?SHOOT \?ELS5 EQUAL? PRSI,BAZOOKA,DART /FALSE ?ELS5: EQUAL? PRSA,V?TELL-ABOUT \?ELS13 EQUAL? PRSO,PLAYER \?ELS13 IN? MAGAZINE,PLAYER \?ELS20 PRINTI "He is a noted marine biologist. The " PRINTD ARTICLE PRINTI " mentions that he may have created synthetic forms of sea life by genetic engineering. He can't be located to discuss this. He apparently has gone into hiding to evade the resulting publicity. He has told close friends he will soon marry an American woman named " PRINTD SHARON PRINTR "." ?ELS20: FSET? MAGAZINE,TOUCHBIT \FALSE PRINTI "Try looking in the " PRINTD MAGAZINE PRINTR "." ?ELS13: CALL GLOBAL-PERSON RSTACK .FUNCT BRING-ME,WHAT,WHO,L IN? WHAT,GLOBAL-OBJECTS \?CND1 FSET? WHAT,PERSON \?CND1 GETP WHAT,P?CHARACTER GET CHARACTER-TABLE,STACK >WHAT ?CND1: CALL META-LOC,WHAT >L IN? L,ROOMS \?ELS10 CALL FAR-AWAY?,L ZERO? STACK \?ELS10 FSET? WHAT,PERSON \?ELS16 FSET? WHAT,MUNGBIT /?ELS16 FSET? WHAT,BUSYBIT \?THN13 ?ELS16: FSET? WHAT,TAKEBIT \?ELS10 EQUAL? HERE,CRAWL-SPACE,SUB /?ELS10 ?THN13: EQUAL? L,HERE \?CND19 FSET? WHAT,PERSON \?CND19 CALL ALREADY,WHAT,STR?50 RTRUE ?CND19: MOVE WHO,HERE MOVE WHAT,WHO FCLEAR WHAT,NDESCBIT FCLEAR WHAT,INVISIBLE FSET WHAT,TOUCHBIT EQUAL? L,HERE \?ELS26 PRINTI """Okay.""" JUMP ?CND24 ?ELS26: PRINTI """Here is" CALL PRINTT,WHAT PRINTI ", " CALL PRINT-NAME,FIRST-NAME PRINTI "."" " ?CND24: FSET? WHAT,PERSON \?CND33 MOVE WHAT,HERE CALL HE-SHE-IT,WHAT,TRUE-VALUE PRINTI "'s wondering why you want to see " CALL HIM-HER-IT,WHAT PRINTI "." ?CND33: CRLF RTRUE ?ELS10: ZERO? ZOE-MENTIONED-EVIDENCE /?ELS41 EQUAL? WHAT,EVIDENCE /FALSE ?ELS41: PRINTI """Sorry, " CALL PRINT-NAME,FIRST-NAME PRINTR ", but I don't think I can.""" .FUNCT CARRY-CHECK,PER CALL PRINT-CONT,PER,TRUE-VALUE,0 RSTACK .FUNCT COM-CHECK,PER CALL GRAB-ATTENTION,PER ZERO? STACK /TRUE EQUAL? PRSA,V?ARM \?ELS7 EQUAL? PRSO,GLOBAL-SUB,LOCAL-SUB \FALSE PRINTI """Good idea, " CALL PRINT-NAME,FIRST-NAME PRINTR "! How do you want to do that?""" ?ELS7: EQUAL? PRSA,V?WALK-TO \?ELS16 EQUAL? PRSO,GLOBAL-HERE \FALSE PRINTI """I am here, " CALL PRINT-NAME,FIRST-NAME PRINTR "!""" ?ELS16: EQUAL? PRSO,BAZOOKA,DART \?ELS25 CALL MOUNTING-VERB?,PRSO ZERO? STACK /?ELS25 SET 'WINNER,PLAYER CALL PERFORM,PRSA,PRSO,PRSI RTRUE ?ELS25: EQUAL? PRSA,V?FIND \?ELS29 EQUAL? PRSO,GLOBAL-SNARK \?ELS34 ZERO? MONSTER-GONE /?ELS34 CALL IS-CREW?,PER ZERO? STACK \?THN37 EQUAL? PER,BLY,GLOBAL-BLY \?ELS34 ?THN37: SET 'TOLD-SNARK-WENT,TRUE-VALUE CALL TELL-HINT,62,SNARK,FALSE-VALUE RSTACK ?ELS34: RETURN 2 ?ELS29: EQUAL? PRSA,V?FIX \?ELS44 EQUAL? PRSO,ARM,GASH \FALSE FSET? ARM,MUNGBIT \FALSE EQUAL? WINNER,HORVAK \?ELS56 FCLEAR ARM,MUNGBIT FSET GASH,INVISIBLE PRINTD HORVAK PRINTR " quickly bandages your gash. Your arm is as good as new." ?ELS56: PRINTR """I think Doc can do that better himself.""" ?ELS44: EQUAL? PRSA,V?THANKS \?ELS64 RETURN 2 ?ELS64: EQUAL? PRSA,V?TAKE /?THN69 EQUAL? PRSA,V?SEND-TO,V?SEND,V?BRING \?ELS68 ?THN69: IN? PRSO,PLAYER \?ELS75 SET 'WINNER,PLAYER CALL PERFORM,V?GIVE,PRSO,PER RTRUE ?ELS75: FSET? PRSO,TRYTAKEBIT /FALSE CALL BRING-ME,PRSO,PER RSTACK ?ELS68: EQUAL? PRSA,V?EXAMINE \?ELS83 SET 'WINNER,PLAYER CALL PERFORM,V?SHOW,PER,PRSO RTRUE ?ELS83: EQUAL? PRSA,V?FOLLOW \?ELS85 EQUAL? PRSO,PLAYER \FALSE PRINTR """If you want me to go somewhere, just say so.""" ?ELS85: EQUAL? PRSA,V?GIVE \?ELS94 EQUAL? PRSI,PLAYER \?ELS94 SET 'WINNER,PLAYER CALL PERFORM,V?TAKE,PRSO,PER RTRUE ?ELS94: EQUAL? PRSA,V?SGIVE \?ELS98 EQUAL? PRSO,PLAYER \?ELS98 SET 'WINNER,PLAYER CALL PERFORM,V?TAKE,PRSI,PER RTRUE ?ELS98: EQUAL? PRSA,V?THROUGH /?THN103 EQUAL? PRSA,V?LEAVE,V?WALK-TO,V?WALK /?THN103 EQUAL? PRSA,V?SGIVE,V?GIVE,V?DROP \?ELS102 ?THN103: EQUAL? PER,REMOTE-PERSON /FALSE RETURN 2 ?ELS102: EQUAL? PRSA,V?GOODBYE,V?HELLO \?ELS113 ZERO? PRSO /?THN119 EQUAL? PRSO,PER \FALSE ?THN119: SET 'WINNER,PLAYER CALL PERFORM,PRSA,PER RTRUE ?ELS113: EQUAL? PRSA,V?HELP \?ELS122 EQUAL? PRSO,FALSE-VALUE,PLAYER \?ELS127 SET 'WINNER,PLAYER CALL PERFORM,V?ASK,PER RTRUE ?ELS127: RETURN 2 ?ELS122: EQUAL? PRSA,V?INVENTORY \?ELS133 CALL CARRY-CHECK,PER ZERO? STACK \TRUE PRINTD PER PRINTR " isn't holding anything." ?ELS133: EQUAL? PRSA,V?LISTEN \?ELS140 EQUAL? PRSO,PLAYER-NAME /?THN146 IN? PRSO,GLOBAL-OBJECTS /FALSE ?THN146: PRINTI """I'm trying to, " CALL PRINT-NAME,FIRST-NAME PRINTR "!""" ?ELS140: EQUAL? PRSA,V?SHOW \?ELS151 EQUAL? PRSO,PLAYER \FALSE IN? PRSI,PER \?ELS161 SET 'WINNER,PLAYER CALL PERFORM,V?TAKE,PRSI,PER RTRUE ?ELS161: PRINTI """I'm sure you can find " CALL HIM-HER-IT,PRSI PRINTI ", " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS151: EQUAL? PRSA,V?TELL \?ELS169 EQUAL? PRSO,PLAYER \FALSE SET 'WINNER,PLAYER CALL PERFORM,V?ASK,PER RTRUE ?ELS169: EQUAL? PRSA,V?TELL-ABOUT \?ELS176 EQUAL? PRSO,PLAYER \FALSE SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,PER,PRSI RTRUE ?ELS176: EQUAL? PRSA,V?WAIT-FOR \?ELS183 EQUAL? PRSO,PLAYER \?ELS183 SET 'WINNER,PLAYER CALL PERFORM,V?$CALL,PER RTRUE ?ELS183: EQUAL? PRSA,V?TALK-ABOUT,V?WHAT \?ELS189 SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,PER,PRSO RTRUE ?ELS189: EQUAL? PRSA,V?NO,V?YES \FALSE PRINTC 34 EQUAL? PRSA,V?YES \?ELS194 PRINTI "Glad" JUMP ?CND192 ?ELS194: PRINTI "Sorry" ?CND192: PRINTI " to hear it, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" .FUNCT COMMON-ASK-ABOUT,PER,OBJ EQUAL? OBJ,DEPTH,CREW,CREW-GLOBAL \?ELS5 RETURN 2 ?ELS5: EQUAL? OBJ,DEPTHFINDER \?ELS9 RETURN 2 ?ELS9: EQUAL? OBJ,GLOBAL-WEAPON,MORE \?ELS13 PRINTI """Ask me about something specific, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS13: EQUAL? OBJ,BAY,GLOBAL-SONAR,SONAR-EQUIPMENT /?THN18 EQUAL? OBJ,GLOBAL-SUB,LOCAL-SUB,CLAW \?ELS17 ?THN18: PRINTI """You know more about it than I do, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS17: EQUAL? OBJ,PER \?ELS23 PRINTR """I have no secrets. Anyone can see what I am.""" ?ELS23: EQUAL? OBJ,PLAYER \?ELS27 PRINTI """You're " CALL PRINT-NAME,FIRST-NAME PRINTI " " CALL PRINT-NAME,LAST-NAME PRINTR ", the famous young inventor.""" ?ELS27: EQUAL? OBJ,AIRLOCK-ELECTRICITY \?ELS31 PRINTI """It powers the " PRINTD AIRLOCK-HATCH PRINTR ".""" ?ELS31: EQUAL? OBJ,VIDEOPHONE \?ELS35 CALL GLOBAL-IN?,VIDEOPHONE,HERE ZERO? STACK /FALSE SET 'P-WON,FALSE-VALUE GETP OBJ,P?TEXT PRINT STACK CRLF RTRUE ?ELS35: FSET? OBJ,PERSON /FALSE GETP OBJ,P?TEXT EQUAL? STACK,STR?26 \?ELS46 SET 'P-WON,FALSE-VALUE GETP OBJ,P?TEXT PRINT STACK CRLF RTRUE ?ELS46: EQUAL? OBJ,DIARY \?ELS50 FSET? DIARY,TOUCHBIT \FALSE PRINTR """I think that it's pretty obvious.""" ?ELS50: EQUAL? OBJ,EVIDENCE,BLACK-BOX \?ELS59 CALL SHOULD-ASK,BLY,PER RSTACK ?ELS59: EQUAL? OBJ,FINE-GRID \?ELS61 CALL SHOULD-ASK,TIP,PER RSTACK ?ELS61: EQUAL? OBJ,MAGAZINE,ARTICLE \?ELS63 PRINTI """It's a " PRINTD MAGAZINE PRINTR " called 'SCIENCE WORLD.'""" ?ELS63: EQUAL? OBJ,CONTROL-CIRCUITS-GAUGE \?ELS67 PRINTI "The " PRINTD CONTROL-CIRCUITS-GAUGE PRINTR " is a thermometer for an important part of the engine." ?ELS67: EQUAL? OBJ,OXYGEN-GEAR \?ELS71 PRINTI """Your Dad made the rule about it, " CALL PRINT-NAME,FIRST-NAME PRINTI ". Everyone in the " PRINTD AQUADOME PRINTI " should carry one at all times, remember? They're little canisters of oxygen that you can wear around your neck. When you turn the valve, you can suck air through the rubber straw at the top." IN? OXYGEN-GEAR,SUB \?CND74 PRINTI " The canister is in the " PRINTD SUB PRINTI ", just like in all " CALL PRINT-NAME,LAST-NAME PRINTI " submarines." ?CND74: PRINTR """" ?ELS71: IN? OBJ,PER \?ELS82 PRINTI """I have it right here, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS82: EQUAL? OBJ,BLACK-CIRCUITRY,GLOBAL-SABOTAGE /?THN87 EQUAL? OBJ,AIR-SUPPLY-SYSTEM,AIR-SUPPLY-SYSTEM-GLOBAL \?ELS86 ?THN87: PRINTR """You know as much as I do.""" ?ELS86: EQUAL? OBJ,PRIVATE-MATTER \?ELS92 EQUAL? PER,REMOTE-PERSON \?ELS97 PRINTI """Wait until you see me, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS97: MOVE PRIVATE-MATTER,GLOBAL-OBJECTS PRINTD PER PRINTI " says, ""I'm sorry, " CALL PRINT-NAME,FIRST-NAME PRINTI ", but that's a " PRINTD PRIVATE-MATTER PRINTR ".""" ?ELS92: EQUAL? OBJ,PROBLEM /?THN106 ZERO? DEPTH-WARNING /?ELS109 EQUAL? OBJ,DEPTHFINDER-LIGHT,ALARM-SUB /?THN106 ?ELS109: ZERO? SONAR-WARNING \?THN112 ZERO? SHIP-WARNING /?ELS105 ?THN112: EQUAL? OBJ,SONARSCOPE-LIGHT,ALARM-SUB \?ELS105 ?THN106: ZERO? DEPTH-WARNING \?THN119 ZERO? SONAR-WARNING \?THN119 ZERO? SHIP-WARNING /?ELS118 ?THN119: PRINTI """I think you're going too close to " ZERO? DEPTH-WARNING /?ELS127 PUSH STR?93 JUMP ?CND123 ?ELS127: PUSH STR?94 ?CND123: PRINT STACK PRINTI ", " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS118: ZERO? DOME-AIR-BAD? /?ELS132 FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS132 CALL BADGES-RED RTRUE ?ELS132: PRINTD PER PRINTI " says, ""I don't know, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS105: EQUAL? OBJ,BADGE-GLOBAL,BADGE-GLOBAL-2,BADGE-GLOBAL-3 \?ELS140 PRINTC 34 CALL EXAMINE-BADGE PRINTR """" ?ELS140: EQUAL? OBJ,GLOBAL-SONAR,SONAR-MAN \?ELS144 PRINTI """" PRINTD SIEGEL PRINTI " operates the " PRINTD SONAR-EQUIPMENT PRINTR ".""" ?ELS144: EQUAL? OBJ,LAB-ASSISTANT \?ELS148 PRINTI """" PRINTD LOWELL PRINTI " is " PRINTD HORVAK PRINTI "'s " PRINTD LAB-ASSISTANT PRINTR ".""" ?ELS148: EQUAL? OBJ,ALARM \?ELS152 ZERO? ALARM-RINGING /FALSE CALL WHY-NOT-VP RSTACK ?ELS152: EQUAL? OBJ,SYRINGE,ESCAPE-POD-UNIT,GLOBAL-GREENUP \?ELS160 ZERO? GREENUP-GUILT /?ELS165 PRINTI """I never suspected " PRINTD GREENUP PRINTI " of being a " PRINTD TRAITOR PRINTI ".""" CRLF IN? GREENUP,HERE \TRUE FSET? GREENUP,MUNGBIT /TRUE CALL PERFORM,V?ARREST,GREENUP RTRUE ?ELS165: EQUAL? OBJ,SYRINGE,ESCAPE-POD-UNIT \FALSE PRINTI """Maybe " PRINTD HORVAK PRINTR " can analyze it.""" ?ELS160: FSET? ARM,MUNGBIT \?ELS179 EQUAL? OBJ,ARM,GASH \?ELS179 PRINTI """That looks pretty serious, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" ?ELS179: CALL IS-CREW?,PER ZERO? STACK \?THN186 EQUAL? PER,BLY \FALSE ?THN186: EQUAL? OBJ,ELECTROLYTE-RELAY \?ELS192 ZERO? SUB-IN-DOME /?ELS192 PRINTI """It belongs in the " PRINTD EMPTY-SPACE PRINTR ".""" ?ELS192: EQUAL? OBJ,SPECIAL-TOOL-GLOBAL,SPECIAL-TOOL \?ELS198 ZERO? SUB-IN-DOME /?ELS198 FSET? SPECIAL-TOOL,INVISIBLE /?THN204 FSET? ELECTROLYTE-RELAY,MUNGBIT \?CND201 ?THN204: PRINTI """The " PRINTD SPECIAL-TOOL PRINTR " should be on that hook.""" ?CND201: PRINTI """I'm sure glad " ZERO? HORVAK-FIXED-AIR /?ELS212 EQUAL? PRSO,HORVAK \?ELS216 PRINTI "I" JUMP ?CND210 ?ELS216: PRINTI "Doc" JUMP ?CND210 ?ELS212: PRINTI "you" ?CND210: PRINTI " fixed the " PRINTD AIR-SUPPLY-SYSTEM PRINTI ", " CALL PRINT-NAME,FIRST-NAME PRINTR "!""" ?ELS198: EQUAL? OBJ,GLOBAL-SNARK \FALSE ZERO? MONSTER-GONE /FALSE SET 'TOLD-SNARK-WENT,TRUE-VALUE CALL TELL-HINT,62,SNARK,FALSE-VALUE RSTACK .FUNCT SHOULD-ASK,WHO,PER=0 ZERO? PER /?CND1 PRINTD PER PRINTI " says, " ?CND1: PRINTI """I think you should ask " PRINTD WHO PRINTR " about that.""" .FUNCT COMMON-OTHER,PER,LPER=0 IN? PER,GLOBAL-OBJECTS \?ELS3 GETP PER,P?CHARACTER GET CHARACTER-TABLE,STACK >LPER JUMP ?CND1 ?ELS3: SET 'LPER,PER ?CND1: EQUAL? PRSA,V?ASK /FALSE EQUAL? PRSA,V?EXAMINE \?ELS12 CALL CARRY-CHECK,LPER ZERO? STACK \TRUE GETP LOCAL-SUB,P?TEXT PRINT STACK CRLF RTRUE ?ELS12: EQUAL? PRSI,LPER \?ELS19 IN? PRSO,PLAYER \?ELS19 EQUAL? PRSO,BADGE-PLAYER /?ELS19 EQUAL? PRSA,V?GIVE \?ELS19 MOVE PRSO,LPER PRINTI """Hey, thanks, " CALL PRINT-NAME,FIRST-NAME PRINTR "!""" ?ELS19: EQUAL? PRSO,PER \?ELS25 EQUAL? PRSA,V?HELP \?ELS25 ZERO? DOME-AIR-BAD? /?ELS32 FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS32 PRINTI "It would help more to fix the " PRINTD AIR-SUPPLY-SYSTEM PRINTR "." ?ELS32: IN? PER,GLOBAL-OBJECTS /FALSE PRINTD PER PRINTR " looks offended. ""I'm quite capable by myself, you know.""" ?ELS25: EQUAL? PRSO,PER \?ELS42 EQUAL? PRSA,V?RUB \?ELS42 PRINTD PER PRINTR " looks bewildered. ""What are you trying to do?""" ?ELS42: EQUAL? PRSO,PER \FALSE EQUAL? PRSA,V?SHOW \FALSE CALL PERFORM,V?ASK-ABOUT,PRSO,PRSI RTRUE .FUNCT DESCRIBE-COLLAPSE,PER FSET? BLY,MUNGBIT \?ELS5 EQUAL? PER,TIP \?ELS10 FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS15 CALL DESCRIBE-PERSON,PER,STR?95 RSTACK ?ELS15: CALL DESCRIBE-PERSON,PER RSTACK ?ELS10: EQUAL? PER,BLY,LOWELL,GREENUP \?ELS19 FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS24 CALL DESCRIBE-PERSON,PER,STR?96 RSTACK ?ELS24: CALL DESCRIBE-PERSON,PER,STR?97 RSTACK ?ELS19: FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS33 ZERO? BADGES-RED-SAID? /?ELS38 CALL DESCRIBE-PERSON,PER,STR?98 RSTACK ?ELS38: CALL DESCRIBE-PERSON,PER,STR?95 RSTACK ?ELS33: CALL DESCRIBE-PERSON,PER RSTACK ?ELS5: CALL DESCRIBE-PERSON,PER RSTACK .FUNCT DESCRIBE-PERSON,PER,STR=0 CALL IS-CREW?,PER ZERO? STACK /?ELS5 CALL CREW-5-TOGETHER? ZERO? STACK /?ELS5 FSET? BLY,MUNGBIT /?ELS5 EQUAL? PER,LOWELL \FALSE PRINTI "The five " PRINTD CREW PRINTR " members are here." ?ELS5: PRINTD PER PRINTI " is " ZERO? STR \?ELS23 PUSH STR?50 JUMP ?CND19 ?ELS23: PUSH STR ?CND19: PRINT STACK PRINTR "." .FUNCT DISCRETION,P1,P2,P3=0 CALL META-LOC,P2 EQUAL? HERE,STACK \?ELS5 ZERO? P3 /?ELS5 CALL META-LOC,P3 EQUAL? HERE,STACK \?ELS5 PRINTD P1 PRINTI " looks briefly toward " PRINTD P2 PRINTI " and " PRINTD P3 PRINTR " and then speaks in a whisper." ?ELS5: CALL META-LOC,P2 EQUAL? HERE,STACK \?ELS11 PRINTD P1 PRINTI " looks briefly toward " PRINTD P2 PRINTR " and then speaks in a whisper." ?ELS11: ZERO? P3 /FALSE CALL META-LOC,P3 EQUAL? HERE,STACK \FALSE PRINTD P1 PRINTI " looks briefly toward " PRINTD P3 PRINTR " and then speaks in a whisper." .FUNCT DONT-KNOW,CHAR,OBJ PRINTD CHAR PRINTI " says, ""I don't think that's important right now, " CALL PRINT-NAME,FIRST-NAME PRINTR ".""" .FUNCT GLOBAL-PERSON,L EQUAL? PRSA,V?WHAT,V?WALK-TO /FALSE EQUAL? PRSA,V?WAIT-FOR,V?PHONE,V?LOOK-UP /FALSE EQUAL? PRSA,V?FOLLOW,V?FIND,V?ARREST /FALSE EQUAL? PRSA,V?EXAMINE \?ELS9 FSET? PRSO,PERSON \?ELS9 GETP PRSO,P?CHARACTER GET CHARACTER-TABLE,STACK >L ZERO? L /?ELS9 CALL CORRIDOR-LOOK,L ZERO? STACK \FALSE CALL NOT-HERE,PRSO RSTACK ?ELS9: EQUAL? PRSA,V?TELL-ABOUT,V?TELL,V?REPLY /?THN21 EQUAL? PRSA,V?HELLO,V?ASK-FOR,V?ASK-ABOUT \?ELS18 ?THN21: ZERO? PRSO /?ELS18 FSET? PRSO,PERSON \?ELS18 IN? PRSO,GLOBAL-OBJECTS /?ELS18 EQUAL? PRSA,V?REPLY \FALSE SET 'PRSA,V?TELL RFALSE ?ELS18: EQUAL? PRSA,V?TELL-ABOUT,V?ASK-ABOUT \?ELS27 ZERO? PRSI /?ELS27 FSET? PRSI,PERSON \?ELS27 IN? PRSI,GLOBAL-OBJECTS \?ELS27 GETP PRSI,P?CHARACTER GET CHARACTER-TABLE,STACK CALL PERFORM,PRSA,PRSO,STACK RTRUE ?ELS27: SET 'P-CONT,FALSE-VALUE EQUAL? PRSA,V?TELL-ABOUT,V?ASK-ABOUT /?THN35 ZERO? NOW-PRSI \?ELS34 ?THN35: PRINTD PRSO JUMP ?CND32 ?ELS34: ZERO? PRSI /?ELS40 PRINTD PRSI JUMP ?CND32 ?ELS40: PRINTD WINNER ?CND32: CALL NOT-HERE-PERSON,PRSO RTRUE .FUNCT NOT-HERE-PERSON,PER,L,?TMP1 FSET? PER,PERSON \?ELS3 GETP PER,P?CHARACTER GET CHARACTER-TABLE,STACK LOC STACK >L JUMP ?CND1 ?ELS3: LOC PER >L ?CND1: ZERO? L /?ELS10 GETP HERE,P?CORRIDOR >?TMP1 GETP L,P?CORRIDOR BAND ?TMP1,STACK EQUAL? 0,STACK /?ELS10 PRINTI " isn't close enough" CALL SPEAKING-VERB? ZERO? STACK /?CND15 PRINTI " to hear you" ?CND15: PRINTR "." ?ELS10: PRINTR " isn't here!" .FUNCT INHABITED?,RM CALL POPULATION,RM ZERO? STACK /FALSE RTRUE .FUNCT POPULATION,RM,NOT1=0,NOT2=0,CNT=0,OBJ FIRST? RM >OBJ /?CND1 RETURN CNT ?CND1: ?PRG4: FSET? OBJ,PERSON \?ELS8 FSET? OBJ,INVISIBLE /?ELS8 ZERO? NOT1 /?THN11 EQUAL? OBJ,NOT1 /?ELS8 ?THN11: ZERO? NOT2 /?THN13 EQUAL? OBJ,NOT2 /?ELS8 ?THN13: INC 'CNT JUMP ?CND6 ?ELS8: FSET? OBJ,CONTBIT \?CND6 CALL POPULATION,OBJ,NOT1,NOT2 ADD CNT,STACK >CNT ?CND6: NEXT? OBJ >OBJ /?KLU20 ?KLU20: ZERO? OBJ \?PRG4 RETURN CNT .ENDI