.FUNCT LOCAL-GLOBALS-F CALL REMOTE-VERB? ZERO? STACK \FALSE CALL CREEPY?,HERE ZERO? STACK \?CTR4 CALL OUTSIDE?,HERE ZERO? STACK /?CCL5 ?CTR4: CALL RANDOM-PSEUDO RSTACK ?CCL5: CALL NOT-HERE,LOCAL-GLOBALS RSTACK .FUNCT UPSTAIRS-DOWNSTAIRS,N,TBL,HR,?TMP1 LOC WINNER >HR EQUAL? PRSA,V?WALK-TO,V?WALK,V?THROUGH /?CCL3 EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-DOWN,V?BOARD \FALSE ?CCL3: FSET? HR,SECRETBIT /FALSE FSET? HR,WEARBIT \?CCL10 SET 'TBL,WING-STAIRS JUMP ?CND6 ?CCL10: SET 'TBL,TOWER-STAIRS ?CND6: EQUAL? PRSA,V?CLIMB-UP,V?BOARD \?CCL13 GETPT HR,P?UP ZERO? STACK /?CCL17 CALL DO-WALK,P?UP RTRUE ?CCL17: GETP HR,P?CHARACTER >N ZERO? N /FALSE GET TBL,0 >?TMP1 INC 'N LESS? ?TMP1,N /FALSE GET TBL,N >N CALL PERFORM,V?WALK-TO,N RTRUE ?CCL13: GETPT HR,P?DOWN ZERO? STACK /?CCL24 CALL DO-WALK,P?DOWN RTRUE ?CCL24: GETP HR,P?CHARACTER >N ZERO? N /FALSE DEC 'N LESS? 0,N \FALSE GET TBL,N >N CALL PERFORM,V?WALK-TO,N RTRUE .FUNCT DO-INSTEAD-OF,OBJ1,OBJ2 EQUAL? PRSI,OBJ2 \?CCL3 CALL PERFORM,PRSA,PRSO,OBJ1 RTRUE ?CCL3: EQUAL? PRSO,OBJ2 \?CCL5 CALL PERFORM,PRSA,OBJ1,PRSI RTRUE ?CCL5: CALL V-FOO RSTACK .FUNCT TURN-F EQUAL? PRSA,V?USE \FALSE CALL PERFORM,V?WAIT-FOR,PRSO RTRUE .FUNCT IT-F EQUAL? PRSI,IT \?PRD5 EQUAL? PRSA,V?TELL-ABOUT /?PRG12 EQUAL? PRSA,V?SEARCH-FOR,V?ASK-FOR,V?ASK-ABOUT /?PRG12 ?PRD5: EQUAL? PRSO,IT \FALSE EQUAL? PRSA,V?FIND,V?ASK-CONTEXT-FOR,V?ASK-CONTEXT-ABOUT \FALSE ?PRG12: PRINTR """I'm not sure what you're talking about.""" .FUNCT FLOOR-F,OBJ=0,N EQUAL? PRSA,V?CLIMB-ON \?CCL3 CALL ALREADY,WINNER,STR?278 RSTACK ?CCL3: EQUAL? PRSA,V?THROW-AT,V?PUT \?CCL5 EQUAL? PRSO,MOONMIST /?CCL5 EQUAL? PRSI,FLOOR \?CCL5 MOVE PRSO,HERE PRINTR "Okay." ?CCL5: EQUAL? PRSA,V?SEARCH-FOR /?CTR11 EQUAL? PRSA,V?SEARCH,V?LOOK-ON,V?EXAMINE \?CCL12 ?CTR11: EQUAL? HERE,DRAWING-ROOM \?CCL17 PRINTI "The carpet ends flush with the archway to the " PRINTD GREAT-HALL PRINTI ", where the footsteps of visitors have begun to wear it thin. It's a magnificent red Brussels carpet with deep pile and a medieval design." CRLF JUMP ?CND15 ?CCL17: EQUAL? HERE,GREAT-HALL \?CND15 CALL GREAT-HALL-IS-FLOORED ?CND15: EQUAL? HERE,GARDEN \?CCL23 EQUAL? VARIATION,LORD-C \?CCL23 FSET? CLUE-4,SECRETBIT \?CCL23 SET 'OBJ,CLUE-4 JUMP ?CND21 ?CCL23: EQUAL? HERE,DRAWING-ROOM \?CCL28 EQUAL? VARIATION,LORD-C,FRIEND-C \?CCL28 FSET? JEWEL,TOUCHBIT /?CCL28 SET 'OBJ,JEWEL JUMP ?CND21 ?CCL28: EQUAL? HERE,GREAT-HALL \?CND21 EQUAL? VARIATION,DOCTOR-C,PAINTER-C \?CND21 EQUAL? FOUND-IT-PERM,LENS,LENS-2 /?CND21 SET 'OBJ,LENS ?CND21: CALL START-SEARCH,OBJ RTRUE ?CCL12: CALL ADJ-USED?,W?DRAWING ZERO? STACK /?CCL37 EQUAL? HERE,DRAWING-ROOM /FALSE CALL DO-INSTEAD-OF,DRAWING-ROOM,FLOOR RTRUE ?CCL37: CALL ADJ-USED?,W?GREAT ZERO? STACK /FALSE EQUAL? HERE,GREAT-HALL /FALSE CALL DO-INSTEAD-OF,GREAT-HALL,FLOOR RTRUE .FUNCT START-SEARCH,OBJ=0 PRINTI "Nothing suspicious meets your eye after a moment's scrutiny. Do you want to continue?" CALL YES? ZERO? STACK \?CCL5 CALL OKAY RTRUE ?CCL5: SET 'FOUND-IT,OBJ SET 'FOUND-LOC,HERE RANDOM 7 CALL QUEUE,I-FOUND-IT,STACK CALL V-WAIT,8,FALSE-VALUE,TRUE-VALUE RTRUE .FUNCT I-FOUND-IT,GARG=0,OBJ EQUAL? FOUND-LOC,HERE \FALSE EQUAL? FOUND-IT,JEWEL \?CCL5 MOVE FOUND-IT,HERE PRINTI "Suddenly you notice a glittering speck. Probing for it with your fingers, you discover a " PRINTD JEWEL PRINTC 46 CRLF JUMP ?CND1 ?CCL5: EQUAL? FOUND-IT,LENS \?CCL9 FSET? LENS,SEENBIT /?CCL12 LOC LENS MOVE LENS-2,STACK JUMP ?CND10 ?CCL12: FSET? LENS-2,SEENBIT /FALSE SET 'FOUND-IT,LENS-2 LOC LENS MOVE LENS-1,STACK REMOVE LENS ?CND10: MOVE FOUND-IT,HERE PRINTI "Suddenly you find something small, smooth and slippery -- a " PRINTD FOUND-IT PRINTI "! Its transparency, of course, made it practically invisible." ZERO? BUTLER-GHOST-STORY-TOLD /?CND17 PRINTI " No wonder you and the ghost had such a hard time finding it!" ?CND17: CRLF JUMP ?CND1 ?CCL9: ZERO? FOUND-IT \?CCL22 PRINT NOTHING-NEW RETURN 2 ?CCL22: FSET? FOUND-IT,SECRETBIT \?PRG29 CALL DISCOVER,FOUND-IT JUMP ?CND1 ?PRG29: PRINTC 89 PRINT OU-STOP-SEARCHING PRINTI " when you find" CALL PRINTT,FOUND-IT PRINTI ". " ?CND1: FSET FOUND-IT,TOUCHBIT FSET FOUND-IT,SEENBIT EQUAL? FOUND-IT,YOUR-SWITCH /?CND32 FCLEAR FOUND-IT,NDESCBIT ?CND32: EQUAL? FOUND-IT,LENS,LENS-2 \?CND34 SET 'FOUND-IT-PERM,FOUND-IT ?CND34: SET 'FOUND-IT,FALSE-VALUE RETURN 2 .FUNCT YOU-F,X EQUAL? WINNER,PLAYER /?CCL3 CALL DO-INSTEAD-OF,WINNER,YOU RTRUE ?CCL3: EQUAL? PRSA,V?ASK-ABOUT \?CCL5 EQUAL? PRSI,YOU \?CCL5 CALL PERFORM,V?ASK-ABOUT,PRSO,PRSO RTRUE ?CCL5: EQUAL? PRSA,V?THANKS \FALSE CALL QCONTEXT-GOOD? >X ZERO? X /FALSE CALL PERFORM,V?THANKS,X RTRUE .FUNCT WALL-F,OBJ EQUAL? VARIATION,FRIEND-C \?CCL3 EQUAL? HERE,BASEMENT,CRYPT \?CCL3 CALL BRICKS-F RSTACK ?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL7 CALL FIND-FLAG-LG,HERE,DOORBIT,SECRETBIT >OBJ ZERO? OBJ /?CCL7 CALL DO-INSTEAD-OF,OBJ,WALL RTRUE ?CCL7: EQUAL? PRSA,V?KNOCK \FALSE FSET? HERE,WEARBIT \?PRG17 CALL FIND-FLAG-LG,HERE,DOORBIT,SECRETBIT ZERO? STACK /?PRG19 ?PRG17: PRINTR "You hear a hollow sound." ?PRG19: PRINTR "Knocking on the walls reveals nothing unusual." .FUNCT GLOBAL-HERE-F,OBJ,X=0 EQUAL? PRSA,V?WALK-TO,V?SMELL /?CTR2 EQUAL? PRSA,V?SIT,V?LIE,V?EXAMINE \?CCL3 ?CTR2: CALL DO-INSTEAD-OF,HERE,GLOBAL-HERE RTRUE ?CCL3: EQUAL? PRSA,V?PUT-IN,V?PUT \?CCL7 CALL MORE-SPECIFIC RSTACK ?CCL7: EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH \FALSE IN? MAGAZINE,HERE \?CCL12 FSET? MAGAZINE,NDESCBIT \?CCL12 SET 'X,MAGAZINE JUMP ?CND10 ?CCL12: IN? BRICKS,HERE \?CCL16 FSET? BRICKS,NDESCBIT \?CCL16 SET 'X,BRICKS JUMP ?CND10 ?CCL16: ZERO? PRSI /?CCL20 CALL META-LOC,PRSI EQUAL? STACK,HERE \?CCL20 SET 'X,PRSI JUMP ?CND10 ?CCL20: FIRST? HERE >OBJ /?PRG24 ?PRG24: ZERO? OBJ /?CND10 FSET? OBJ,SECRETBIT \?CCL30 SET 'X,OBJ JUMP ?CND10 ?CCL30: FSET? OBJ,PERSONBIT /?CCL32 FSET? OBJ,CONTBIT /?PRD35 FSET? OBJ,SURFACEBIT \?CCL32 ?PRD35: CALL FIND-FLAG,OBJ,SECRETBIT >X ZERO? X \?CTR31 CALL FIND-FLAG,OBJ,RMUNGBIT >X ZERO? X /?CCL32 ?CTR31: FSET OBJ,OPENBIT ?CND10: CALL START-SEARCH,X RTRUE ?CCL32: NEXT? OBJ >OBJ /?PRG24 JUMP ?PRG24 .FUNCT CHAIR-F EQUAL? PRSA,V?BOARD,V?CLIMB-ON,V?SIT \?CCL3 CALL WONT-HELP RSTACK ?CCL3: CALL RANDOM-PSEUDO RSTACK .FUNCT CLOTHES-FCN EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL3 EQUAL? PRSO,TWEED-OUTFIT \?CCL6 PRINTI "These are sensible clothes for this clammy climate: your new tweed " ZERO? GENDER-KNOWN \?PRG14 PRINTI "suit" JUMP ?PRG23 ?PRG14: PRINTI "blazer and " FSET? PLAYER,FEMALE \?PRG21 PRINTI "skirt" JUMP ?PRG23 ?PRG21: PRINTI "pants" ?PRG23: PRINTR ", with woolen sweater, should keep you warm enough." ?CCL6: EQUAL? PRSO,EXERCISE-OUTFIT \?CCL26 PRINTI "This is your favorite outfit for workouts: a cotton sweatsuit with a sporty " CALL PRINT-COLOR ZERO? STACK /?PRG33 PRINTC 32 ?PRG33: PRINTR "stripe." ?CCL26: EQUAL? PRSO,DINNER-OUTFIT \?PRG70 ZERO? GENDER-KNOWN \?PRG42 PRINTI "You have a decent formal ensemble, with frills in the right places" JUMP ?PRG53 ?PRG42: PRINTI "Your new " FSET? PLAYER,FEMALE \?PRG49 PRINTI "floor-length dinner gown" JUMP ?PRG51 ?PRG49: PRINTI "tuxedo" ?PRG51: PRINTI " is particularly good-looking" ?PRG53: PRINTI " and a perfect fit" ZERO? VARIATION /?PRG68 PRINTI ", " FSET? PLAYER,FEMALE \?PRG64 PRINTI "not to mention that it's all" JUMP ?PRG66 ?PRG64: PRINTI "with shirt and accessories" ?PRG66: PRINTI " in " CALL PRINT-COLOR ?PRG68: PRINTR "." ?PRG70: PRINTI "Your new " CALL PRINT-COLOR ZERO? STACK /?PRG76 PRINTC 32 ?PRG76: PRINTD SLEEP-OUTFIT PRINTI " is " ZERO? GENDER-KNOWN \?CCL80 PRINTR "nothing to write home about, but it is so-o-o comfy for sleeping." ?CCL80: FSET? PLAYER,FEMALE \?PRG87 PRINTR "made of fine Chinese silk." ?PRG87: PRINTR "decorated with a Union Jack flag." ?CCL3: EQUAL? PRSA,V?DISEMBARK \?CCL90 CALL PERFORM,V?TAKE-OFF,PRSO RTRUE ?CCL90: EQUAL? PRSA,V?EMPTY \FALSE CALL META-LOC,LUGGAGE EQUAL? STACK,HERE \?CCL95 CALL PERFORM,V?EMPTY,LUGGAGE RTRUE ?CCL95: CALL NOT-HERE,LUGGAGE RSTACK .FUNCT SLEEP-GLOBAL-F EQUAL? PRSA,V?DRESS \?CCL3 CALL META-LOC,SLEEP-OUTFIT EQUAL? HERE,STACK \FALSE CALL PERFORM,V?WEAR,SLEEP-OUTFIT RTRUE ?CCL3: EQUAL? PRSA,V?WALK-TO \FALSE CALL PERFORM,V?FAINT RTRUE .FUNCT ROB,WHAT,THIEF,TELL?=0,N,X,TOLD?=0 FIRST? WHAT >X /?PRG2 ?PRG2: ZERO? X /TRUE NEXT? X >N /?BOGUS6 ?BOGUS6: ZERO? N \?CND7 ZERO? TOLD? /?CND7 ZERO? TELL? /?CND7 PRINTI " and" ?CND7: SET 'TOLD?,TRUE-VALUE ZERO? TELL? /?CND14 CALL PRINTT,X ZERO? N /?PRG23 PRINTC 44 JUMP ?CND14 ?PRG23: PRINTI ". " ?CND14: MOVE X,THIEF SET 'X,N JUMP ?PRG2 .FUNCT LIGHT-GLOBAL-F,P CALL REMOTE-VERB? ZERO? STACK \FALSE EQUAL? PRSA,V?LAMP-OFF,V?LAMP-ON \FALSE CALL CREEPY?,HERE ZERO? STACK /?CCL8 CALL ACCESSIBLE?,LAMP ZERO? STACK /?CCL11 CALL PERFORM,PRSA,LAMP RTRUE ?CCL11: CALL NOT-HERE,LIGHT-GLOBAL RSTACK ?CCL8: CALL OUTSIDE?,HERE ZERO? STACK /?CCL13 PRINTR "You can't reach it from here." ?CCL13: EQUAL? PRSA,V?LAMP-ON \?CCL18 FSET? HERE,ONBIT \?CCL21 CALL ALREADY,LIGHT-GLOBAL,STR?64 RSTACK ?CCL21: FSET HERE,ONBIT CALL OKAY,LIGHT-GLOBAL,STR?64 RSTACK ?CCL18: EQUAL? PRSA,V?LAMP-OFF \FALSE FSET? HERE,ONBIT /?CCL26 CALL ALREADY,LIGHT-GLOBAL,STR?65 RSTACK ?CCL26: CALL FIND-FLAG-HERE-NOT,PERSONBIT,MUNGBIT,PLAYER >P ZERO? P /?CCL28 PRINTD P PRINTR " says, ""Please don't leave us in the dark.""" ?CCL28: FCLEAR HERE,ONBIT CALL OKAY,LIGHT-GLOBAL,STR?65 RSTACK .FUNCT HAUNTING-F EQUAL? PRSA,V?PLAY,V?LAMP-ON \FALSE CALL PERFORM,PRSA,COMPUTER RTRUE .FUNCT KEYHOLE-F,P,RM CALL REMOTE-VERB? ZERO? STACK /?CCL3 EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH \FALSE ?CCL3: CALL ADJ-USED?,FALSE-VALUE ZERO? STACK /?CCL7 CALL ZMEMQ,HERE,CHAR-ROOM-TABLE ZERO? STACK /?CCL10 GETPT HERE,P?OUT GETB STACK,REXIT >RM JUMP ?CND1 ?CCL10: EQUAL? HERE,CORR-2 /?PRG15 EQUAL? HERE,WEST-HALL,GALLERY,EAST-HALL \?CCL12 ?PRG15: PRINT YOU-DIDNT-SAY-W PRINTI "hose " PRINTD KEYHOLE PRINTR "!]" ?CCL12: CALL NOT-HERE,KEYHOLE RTRUE ?CCL7: CALL ADJ-USED? CALL ZMEMQ,STACK,CHAR-POSS-TABLE >P ZERO? P /?CND1 GET CHAR-ROOM-TABLE,P >RM EQUAL? HERE,RM \?CCL21 GETPT HERE,P?OUT GETB STACK,REXIT >RM ?CND1: EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH /?CCL25 EQUAL? PRSA,V?LOOK-THROUGH,V?LOOK-INSIDE,V?EXAMINE \FALSE ?CCL25: EQUAL? JACK-ROOM,HERE,RM \?CCL30 EQUAL? VARIATION,LORD-C \?CCL30 PRINTI "You see a microphone with its wires leading toward the " PRINTD CREST PRINTR "." ?CCL21: GETPT RM,P?OUT GETB STACK,REXIT EQUAL? HERE,STACK /?CND1 CALL NOT-HERE,KEYHOLE RTRUE ?CCL30: CALL ROOM-PEEK,RM,TRUE-VALUE RTRUE .FUNCT HANDS-F,P,A CALL FIND-BODY,HANDS >P ZERO? P /TRUE CALL REMOTE-VERB? ZERO? STACK \FALSE EQUAL? PRSA,V?KISS \?CCL7 FSET? P,FEMALE \?CCL10 ZERO? GENDER-KNOWN /?CCL10 FSET? PLAYER,FEMALE /?CCL10 CALL PERFORM,V?HELLO,P RTRUE ?CCL10: CALL PERFORM,V?KISS,P RTRUE ?CCL7: EQUAL? PRSA,V?TAKE,V?SHAKE \FALSE EQUAL? PRSO,HANDS \FALSE ZERO? PRSI /?CND18 SET 'P,PRSI ?CND18: CALL PERFORM,V?HELLO,P RTRUE .FUNCT HEAD-F,P,P2 CALL FIND-BODY,HEAD >P ZERO? P /TRUE CALL REMOTE-VERB? ZERO? STACK \FALSE EQUAL? PRSA,V?NOD \?CCL7 CALL PERFORM,V?YES RTRUE ?CCL7: EQUAL? PRSA,V?SHAKE \FALSE CALL PERFORM,V?NO RTRUE .FUNCT EYE-F,P,P2 CALL FIND-BODY,EYE >P ZERO? P /TRUE CALL REMOTE-VERB? ZERO? STACK \FALSE EQUAL? PRSA,V?OPEN \?CCL7 SET 'WINNER,PLAYER CALL PERFORM,V?ALARM,P RTRUE ?CCL7: EQUAL? PRSA,V?CLOSE \?CCL9 SET 'WINNER,P CALL PERFORM,V?FAINT RTRUE ?CCL9: EQUAL? PRSA,V?LOOK-INSIDE,V?FIND,V?EXAMINE \FALSE EQUAL? P,PLAYER \?CCL14 FSET? HERE,WORNBIT /?CCL14 CALL NOT-HERE,MIRROR-GLOBAL RSTACK ?CCL14: EQUAL? GHOST-NEW,P \?CCL18 CALL PERFORM,PRSA,GHOST-NEW RTRUE ?CCL18: FSET? LENS,SEENBIT /?PRG37 FSET? P,MUNGBIT \?CCL24 CALL HE-SHE-IT,P,TRUE-VALUE PRINTR " has closed eyes." ?CCL24: GETP P,P?CHARACTER EQUAL? VARIATION,STACK \?CCL28 CALL HE-SHE-IT,P,TRUE-VALUE PRINTR " turns away from you." ?CCL28: LESS? BED-TIME,PRESENT-TIME \?PRG35 CALL HE-SHE-IT,P,TRUE-VALUE,STR?84 PRINTR " sleepy." ?PRG35: CALL HE-SHE-IT,P,TRUE-VALUE,STR?218 PRINTR " at you." ?PRG37: CALL HE-SHE-IT,P,TRUE-VALUE,STR?1 EQUAL? P,DEALER \?PRG43 EQUAL? VARIATION,PAINTER-C \?PRG45 ?PRG43: PRINTI " not" ?PRG45: PRINTI " wearing a " PRINTD LENS PRINTR "." .FUNCT OTHER-OUTFIT-F,P,P2 CALL FIND-BODY,OTHER-OUTFIT >P ZERO? P /TRUE CALL REMOTE-VERB? ZERO? STACK \FALSE EQUAL? PRSA,V?LOOK-INSIDE,V?FIND,V?EXAMINE \?CCL7 EQUAL? GHOST-NEW,P \FALSE CALL PERFORM,PRSA,GHOST-NEW RTRUE ?CCL7: EQUAL? PRSA,V?TAKE-OFF,V?REMOVE,V?DISEMBARK \FALSE CALL YOU-SHOULDNT RTRUE .FUNCT FIND-BODY,OBJ,A,P CALL ADJ-USED? >A ZERO? A \?CCL3 PRINT I-ASSUME PRINTC 32 EQUAL? PRSA,V?SEARCH-FOR,V?FIND,V?CLOSE /?CTR7 EQUAL? PRSA,V?SLAP /?PRD12 EQUAL? PRSA,V?MUNG,V?KILL,V?ATTACK \?CCL8 ?PRD12: ZERO? NOW-PRSI /?CCL8 ?CTR7: SET 'P,PLAYER PRINTI "your" JUMP ?CND6 ?CCL8: EQUAL? PRSA,V?SHAKE \?PRD20 ZERO? PRSI /?PRD20 SET 'P,PRSI FSET? P,PERSONBIT /?PRG25 ?PRD20: CALL QCONTEXT-GOOD? >P ZERO? P \?PRG25 CALL FIND-FLAG-HERE,PERSONBIT,PLAYER >P ZERO? P /?CCL18 ?PRG25: PRINTD P PRINTI "'s" JUMP ?CND6 ?CCL18: SET 'P,PLAYER PRINTI "your" ?CND6: GETP P,P?CHARACTER ADD 1,STACK GET CHAR-POSS-TABLE,STACK PUT P-ADJW,NOW-PRSI,STACK PRINTC 32 GET P-NAMW,NOW-PRSI >A ZERO? A /?PRG34 PRINTB A JUMP ?PRG36 ?PRG34: PRINTD OBJ ?PRG36: PRINTI ".]" CRLF JUMP ?CND1 ?CCL3: CALL ZMEMQ,A,CHAR-POSS-TABLE >P ZERO? P /?CCL39 SUB P,1 GET CHARACTER-TABLE,STACK >P JUMP ?CND1 ?CCL39: EQUAL? A,W?HER \?CCL41 SET 'P,P-HER-OBJECT JUMP ?CND1 ?CCL41: EQUAL? A,W?HIS \?CND1 SET 'P,P-HIM-OBJECT ?CND1: ZERO? P \?CND43 CALL DONT-UNDERSTAND RFALSE ?CND43: CALL THIS-IS-IT,P CALL META-LOC,P EQUAL? STACK,HERE /?CCL47 CALL NOT-HERE,P RFALSE ?CCL47: CALL DIVESTMENT?,OBJ ZERO? STACK /?CCL49 CALL HAR-HAR RFALSE ?CCL49: RETURN P .FUNCT PASSAGE-F,RM CALL FIND-FLAG-LG,HERE,DOORBIT,SECRETBIT >RM EQUAL? PRSA,V?WALK-TO,V?TAKE \?CCL3 CALL PERFORM,V?THROUGH,PRSO RTRUE ?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL5 ZERO? RM /?CCL5 CALL DO-INSTEAD-OF,RM,PASSAGE RTRUE ?CCL5: FSET? HERE,SECRETBIT \?CCL9 CALL DO-INSTEAD-OF,HERE,PASSAGE RTRUE ?CCL9: CALL REMOTE-VERB? ZERO? STACK \FALSE ZERO? RM /?CCL14 CALL DOOR-ROOM,HERE,RM >RM ZERO? RM /?CCL14 FSET? RM,SEENBIT \?CCL14 CALL DO-INSTEAD-OF,RM,PASSAGE RTRUE ?CCL14: CALL GENERIC-CLOSET,0 >RM ZERO? RM /?CCL19 CALL DO-INSTEAD-OF,RM,PASSAGE RTRUE ?CCL19: CALL NOT-HERE,PASSAGE RSTACK .FUNCT CORPSE-F EQUAL? PRSA,V?FIND \FALSE CALL WHO-KNOWS?,CORPSE RSTACK .FUNCT UNDRESSED-F CALL REMOTE-VERB? ZERO? STACK \FALSE EQUAL? PRSA,V?TAKE /FALSE EQUAL? PRSA,V?LOOK-ON /?CTR6 EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE,V?SEARCH-FOR /?CTR6 EQUAL? PRSA,V?SEARCH,V?CLOSE,V?OPEN \?CCL7 ?CTR6: CALL GLOBAL-IN?,DRESSING-TABLE-LG,HERE ZERO? STACK /?CCL13 CALL DO-INSTEAD-OF,DRESSING-TABLE-LG,UNDRESSED RTRUE ?CCL13: CALL NOT-HERE,DRESSING-TABLE-LG RSTACK ?CCL7: CALL DONT-UNDERSTAND RSTACK .FUNCT ARTIFACT-F ZERO? TREASURE-FOUND /?CCL3 CALL DO-INSTEAD-OF,TREASURE,ARTIFACT RTRUE ?CCL3: EQUAL? PRSA,V?TAKE-TO,V?SSHOW,V?SHOW /?CCL5 CALL REMOTE-VERB? ZERO? STACK \FALSE ?CCL5: CALL NOT-FOUND,ARTIFACT RTRUE .FUNCT TIMES-UP PRINTI "At first light, the police arrive and take over the investigation." CRLF CALL FINISH RSTACK .ENDI