"PEOPLE for MOONMIST Copyright (C) 1986 Infocom, Inc. All rights reserved." "By Lan, Ros, Car, Pol, Tre, and Pen Ye may know the Cornishmen." "Constants used as table offsets for each character, including the player:" > ;> "negative => lying down" ;> ;> ) "AUX" (L <>)) > ) ( ) (T )> > ) ( >> )> >> ) ( ) ( ) (T )> )>) (T )>) ( ) (T > >> ; >)> )>) ( > >> ) ( > >> ) ( > ) (> ,HERE ,CAR> ; ;> ) ( ) ( ,ROOMS .L> ) ;(> ) ( ) (T )>) ( ) ( ) ( ) ( ) ( ) ( ) ( > ) ( ) (> ) ( ) ( ) ( ) (> )>> )) ) (T )> > > ) ( > ) (T > )>) (T ) ;(,PLAYER-HIDING > ;) (T )>)>> )) > )>> [ > " " ; > > ) "AUX" P X) %> )>)>> ) ( > )> ) ( > ) ;(T >) ( ) ( ) ( ) ;(T )> > ) (T > > "\"|">) (T > ;>> ) (T )> )>)> )>> ] ) "AUX" OBJ X ;(L )) > > > )> ) (> ) ( > ) ( > ;> ) (T )>) ( ) (> ) (<==? .X ,M-OTHER> ) (T )>) (T )>) ;( > ) (T )>) ( > > ) (T > )> )>) (> > ) ( ) ( > >> >> ) ( ) ( <==? ,VARIATION ,FRIEND-C>> ; ) ( ; ;> )> ) ( > ) ( >>> )> )> )> ) ( > 21 ;"searching">>>> > ) (T )> ) (T )> ,HERE ,PSEUDO-OBJECT> ) (T )> ) (T )> ) (T )>) ( ) ( ) ( )> ) ( ;"preparing to leave" " the office to go to my room. As I opened the door to the " 'CORR-2 ", I saw this ghostly figure with " ,LONG-BLOND-HAIR " and a dead white face. It was holding a sword and about to attack me!\"| " 'FRIEND " gulps and her voice quavers as she concludes, \"I s-s-screamed and shrank back inside the office and slammed the door! That's about all I can tell you, "FN"...\"" CR> ,HERE ,PSEUDO-OBJECT> >> ) (T )>)> ) ( > ) (> ) (T )>) ( >> ) (T ) (T )> )>)>) ( > ) ( ; )> ) (T )>> )> )> )>> > > ;"SHOW [open] PASSAGE TO x" ) ( )>) ;( )>) (T )>> ) (T )> <TELL "Sherlock!\" says " 'LORD> <COND (<OR <ZERO? ,GENDER-KNOWN> <NOT <FSET? ,PLAYER ,FEMALE>>> <TELL ", shaking hands">) ;(<FSET? ,PLAYER ,FEMALE> <TELL "\" says " 'LORD ". \"">) ;(T <TELL !\ >)> <TELL ". \"Tammy's told me about the mysteries you've solved"> <COND (<ZERO? ,GENDER-KNOWN> <TELL ". She seems to think you can unravel the mystery of " 'CASTLE ".\"" CR>) (<FSET? ,PLAYER ,FEMALE> <TELL " -- but she never let on you looked so smashing! Welcome to Cornwall, "FN" luv!\"| Before you know it, he sweeps you into his arms and kisses you warmly! Let's hope " 'FRIEND " doesn't mind -- but for the moment all you can see are " 'LORD "'s dazzling sapphire-blue eyes." CR>) (T <TELL "!\"| His keen blue eyes size you up with a friendly twinkle. Yet his friendliness seems to be all on the surface -- it may take time to figure out where His Lordship's really coming from." CR>)>> <ROUTINE TELL-FULL-NAME () <TITLE> <TELL FN> <COND (<T? ,MIDDLE-WORD> <COND (<NOT <==? ,MIDDLE-WORD ,W?COMMA>> <TELL !\ >)> <PRINTB ,MIDDLE-WORD>)> <TELL !\ LN> <TELL-SUFFIX>> <OBJECT LORD (DESC "Lord Jack") (IN FOYER) (ADJECTIVE TALL MY LORD JACK TRESYLLIAN MAN ;"for poss's") (SYNONYM LORD JACK TRESYLLIAN MAN) (ACTION LORD-F) (DESCFCN LORD-D) (LDESC 0 ;"Lord Jack Tresyllian is here, looking just as you want.") (WEST "surveying his domain") (FLAGS OPENBIT PERSONBIT SEARCHBIT NARTICLEBIT NDESCBIT) (CAPACITY 40) (LINE 0) (CHARACTER 2)> <GLOBAL TRESYLLIAN "Tresyllian"> ;<GLOBAL LORD-SAID-FOYER:FLAG <>> <ROUTINE LORD-D ("OPTIONAL" (ARG <>)) <COND ;(<AND <==? ,HERE ,FOYER> ;<FSET? ,LORD ,TOUCHBIT> ;"delays speech till 2nd turn" <ZERO? ,LORD-SAID-FOYER> <QUEUED? ,I-TOUR> <ZERO? <GETP ,LORD ,P?LINE>>> <SETG LORD-SAID-FOYER T> <TELL "\"This is the residential wing,\" says " 'LORD ". \"I'm told it was added on to the tower keep in the 1500's, when life here became more civilized. Of course there was more of the old castle standing then.\"" CR>) (T <DESCRIBE-PERSON ,LORD>)> <RTRUE>> <GLOBAL WHITISH-GLIMPSE " a glimpse of a whitish figure from the rear"> <ROUTINE LORD-GHOST-STORY () <TELL "\"No use asking ME, "> <COND (<PRINT-NAME ,FIRST-NAME> <TELL !\.>)> <TELL " All I caught was" ,WHITISH-GLIMPSE ". "> <COND (<EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C ,PAINTER-C> <TELL "I couldn't even swear it was a woman; it might've been some bloke in drag.\"" CR>) (T <FSET ,GHOST-NEW ,PERSONBIT> <TELL "She was blonde, definitely female, and about Dee's height...\"| " 'LORD "'s own face is pale as he adds, \"So, yes, it COULD have been her ghost... or Dee herself.\"" CR>)>> <ROUTINE LORD-F ("OPTIONAL" (ARG <>) "AUX" OBJ X) <COND (<==? .ARG ,M-WINNER> <COND (<NOT <GRAB-ATTENTION ,LORD>> <RFATAL>) (<AND <VERB? DESCRIBE> <DOBJ? GHOST-NEW> <NOT <EQUAL? ,VARIATION ,FRIEND-C>>> <LORD-GHOST-STORY> <RTRUE>) (<AND <VERB? ANSWER REPLY> <==? 3 ,LIONEL-SPEAKS-COUNTER>> <SETG WINNER ,PLAYER> <PERFORM ,V?ASK-ABOUT ,LORD ,ARTIFACT> <RTRUE>) (<SET X <COM-CHECK ,LORD>> <COND (<==? .X ,M-FATAL> <RFALSE>) (<==? .X ,M-OTHER> <RFATAL>) (T <RTRUE>)>) (T <WHY-ME> <RFATAL>)>) (<SET OBJ <ASKING-ABOUT? ,LORD>> <COND (<NOT <GRAB-ATTENTION ,LORD .OBJ>> <RFATAL>) (<EQUAL? .OBJ ,ACCIDENT> <TELL "Jack takes a deep breath. \"You've heard the bare facts, I assume -- she was in the " 'BASEMENT ", slipped and fell down the well. The evidence proves what happened: a tent pole she'd stumbled over; her one shoe that came off, with the slippery sole and the loose heel; and of course " 'NECKLACE-OF-D ". I even" ,FOUND-FABRIC "\"| He adds, \"The police never found " 'CORPSE ". But the well is drawing tide water. No doubt she was swept out to sea.\"" CR>) (<EQUAL? .OBJ ,ARTIFACT> <TELL "Jack fidgets and replies, \"Well, ah, we've all HEARD of it, certainly. Uncle Lionel liked to drop teasing hints about how valuable it was. But he was frightfully secretive. He never identified it."> <COND (<NOT <==? ,LIONEL-SPEAKS-COUNTER ,INIT-LIONEL-SPEAKS-COUNTER>> <TELL " He's probably playing the same silly game right now."> <COND (<T? ,LIONEL-SPEAKS-COUNTER> <TELL " Let's hear the old boy out.">)>)> <TELL "\"" CR>) (<EQUAL? .OBJ ,CASTLE ;,HAUNTING> <TELL "\"Well, as I daresay you've heard, the castle's been infested lately with a spook. And it seems bent on harming " 'FRIEND ". All in all, a very rum go.\"" CR>) (<AND <EQUAL? .OBJ ,SEARCHER> <OR <T? ,CONFESSED> <T? <GET ,TOLD-ABOUT-EVID ,LORD-C>>> <NOT <==? ,LORD ,SEARCHER>>> <TELL ,IM-SHOCKED>) (<EQUAL? .OBJ ,FRIEND ,ROMANCE> <TELL "\"She's a darling girl, really first-rate."> <COND (<EQUAL? ,VARIATION ,FRIEND-C> <COND (<EQUAL? <LOC ,LORD> ,HERE ,PSEUDO-OBJECT> <TELL "\" He whispers, \"">) (T <TELL !\ >)> <TELL "Although lately she's seemed cool toward me.">)> <TELL "\"" CR>) (<AND <EQUAL? .OBJ ,GHOST-NEW ,DANGER ,HAUNTING> <NOT <EQUAL? ,VARIATION ,FRIEND-C>>> <LORD-GHOST-STORY> <RTRUE>) (<AND <EQUAL? .OBJ ,CLUE-2> <NOT <EQUAL? ,VARIATION ,LORD-C>> <NOT <IN? .OBJ ,LORD>>> <CLUE-2-STORY ,LORD> <RTRUE>) ;(<EQUAL? .OBJ ,IAN-EVIDENCE> <TELL "\"Good Lord! But... I meant for him to woo her, not kill her!\"" CR>) (<EQUAL? .OBJ ,LENS ,LENS-1 ,LENS-2> <COND ;(<AND <EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C ,PAINTER-C> <T? ,FOUND-IT-PERM> ;<FSET? ,FOUND-IT-PERM ,SEENBIT> ;<FSET? ,LENS ,TOUCHBIT>> <TELL "\"I've no idea where it came from. It's certainly not mine. ">) (T <TELL CHE ,LORD " gives a puzzled shrug, saying, \"">)> <TELL "There's nothing wrong with my eyesight.\"" CR>) (<AND <EQUAL? .OBJ ,MAID> <FSET? ,LETTER ,TOUCHBIT>> <TELL ,JACK-THINKS-GLADYS "\"" CR>) (<AND <EQUAL? .OBJ ,PASSAGE> <ZERO? <GET ,FOUND-PASSAGES ,LORD-C>>> <TELL "\"Hmm... good question. I know there are old tales about " 'CASTLE " being honeycombed with " 'PASSAGE "s, but I've never actually stumbled on any. Uncle Lionel would have known, but I never asked him before he died, worse luck.\"" CR>) (<EQUAL? .OBJ ,PRIEST-DOOR> <TELL "\"It's in the " 'DUNGEON ", close to the curtain wall. Dee used it because her cottage is just down the shore.\"| He adds, \"By the way, the name '" D ,PRIEST-DOOR "' dates back to when the Catholic Church was outlawed in England, and priests had to hide for fear of execution. Many British great houses have " 'PASSAGE "s, hiding places, and entrances.\"" CR>) (<SET X <COMMON-ASK-ABOUT ,LORD .OBJ>> <COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>) (T <TELL-DUNNO ,LORD .OBJ>)>) (<VERB? KISS RUB> <COND (<IN? ,FRIEND ,HERE> <PUTP ,FRIEND ,P?LINE <+ 1 <GETP ,FRIEND ,P?LINE>>> <TELL CHE ,FRIEND " flashes you an angry look." CR>)> <COND (<FSET? ,PLAYER ,FEMALE> <UNSNOOZE ,LORD> <PUTP ,LORD ,P?LINE 0> <PUTP ,LORD ,P?LDESC 0> <TELL "\"I say! You Americans are frightfully friendly!\" says " 'LORD "." CR>)>) (T <PERSON-F ,LORD .ARG>)>> <ROUTINE CLUE-2-STORY (PER) <TELL !\"> ;<COND (<NOT <FSET? ,CLUE-2 ,TOUCHBIT>> <TELL "Well, er, Lionel did give me a card once,\" " D .PER " mumbles. \"Don't recall just what was on it -- some odd picture or jingle. ">)> <TELL "I thought it was just one more of Lionel's weird jokes, or the effect of jungle rot on his brain -- that sort of thing.\"" CR>> <ROUTINE TELL-DUNNO (PER OBJ) <COND (<FSET? .OBJ ,PERSONBIT> <TELL "\"I don't indulge much in idle gossip, you know.\"" CR>) (T <TELL "\"You know as much as I do"> <COND (<EQUAL? .PER ,OFFICER> <IAN-CALLS-YOU> <TELL ".\"" CR>) (T <TELL ", "> <COND (<PRINT-NAME ,FIRST-NAME> <TELL !\.>)> <TELL "\"" CR>)>)>> <GLOBAL JACK-THINKS-GLADYS "\"Dashed if I'm going to have my digestion upset by Gladys's whining, the odious little twit!"> <OBJECT JACK-TAPE ;(IN LOCAL-GLOBALS) (DESC "secret tape recorder" ;"instant camera") (ADJECTIVE SECRET TAPE JACK\'S HIS ;INSTANT) (SYNONYM TAPE RECORD EVIDENCE ;"CAMERA PHOTO") (GENERIC GENERIC-RECORDER) (FLAGS ;NDESCBIT SEENBIT SECRETBIT RMUNGBIT ;"evidence") (CHARACTER 2) ;"for this char" ;(TEXT "If you played it, you'd hear Jack smothering Lionel to death!") ;(SIZE 2) (ACTION JACK-TAPE-F)> <ROUTINE JACK-TAPE-F ("AUX" P) <COND (<VERB? LAMP-ON LISTEN PLAY> <TELL "First you hear Lionel: \"This " 'JACK-TAPE " should capture any sound in the " 'JACK-ROOM " when I run it. Testing, testing,...\"| Then you hear Lionel tell " 'LOVER " that he suspects Jack of coveting the inheritance and wanting to kill him.| After a pause, Jack tells Lionel, with a cold-blooded chuckle, that his time has come. Then " ,LIONELS-VOICE " is urgent and muffled, as if he's being smothered! He calls out, \"Jack! Stop!\" and then... silence." CR> <SET P <FIRST? ,HERE>> <COND (<T? .P> <FOUND-PASSAGES-REPEAT .P ,JACK-TAPE ,TOLD-ABOUT-EVID>)> <COND (<AND <IN? ,FRIEND ,HERE> <NOT <==? ,CAPTOR ,FRIEND>>> <THIS-IS-IT ,FRIEND> <MOVE ,FRIEND ,TAMARA-ROOM> <PUT ,FOLLOW-LOC ,FRIEND-C ,TAMARA-ROOM> <COND (<EQUAL? ,FOLLOWER ,FRIEND ,LORD> <SETG FOLLOWER 0>)> <PUT <GT-O ,FRIEND> ,GOAL-ENABLE 0> <PUTP ,FRIEND ,P?LDESC 7 ;"sobbing quietly"> <TELL 'FRIEND "'s eyes fill with tears, and she runs to her room." CR>)> <COND (<ZERO? ,EVIDENCE-FOUND> <CONGRATS>)> <SETG EVIDENCE-FOUND ,JACK-TAPE> <COND (<T? ,CONFESSED> <RTRUE>) (<IN? ,LORD ,HERE> <CONFESSION ,LORD>) (<SET P <FIND-FLAG-HERE-NOT ,PERSONBIT ,MUNGBIT ,WINNER>> <SETG WINNER ,PLAYER> <PERFORM ,V?ASK-ABOUT .P ,JACK-TAPE>)> <RTRUE>)>> ;<OBJECT LOVER-MISPELLED (DESC "Deirdre") (IN LIMBO ;LOCAL-GLOBALS) (SYNONYM DEIDRE DEIDRA DIERDRE DIEDRE) (ACTION LOVER-MISPELLED-F) (LDESC 0) (FLAGS OPENBIT PERSONBIT SEARCHBIT FEMALE NARTICLEBIT ;TOUCHBIT) (LINE 0) (CHARACTER 9)> <OBJECT LOVER (DESC "Deirdre") (IN LIMBO ;LOCAL-GLOBALS) (ADJECTIVE BLOND BLONDE MS MISS DEIRDRE DEE HALLAM WOMAN ;"for poss's") (SYNONYM DEIRDRE DEE HALLAM WOMAN) (ACTION LOVER-F) (DESCFCN LOVER-D) (LDESC 0) ;(TEXT "She looks almost as lovely as her portrait.") (FLAGS OPENBIT PERSONBIT SEARCHBIT FEMALE NARTICLEBIT ;TOUCHBIT) (LINE 0) (STATION A?DEE\'S) (CHARACTER 9)> <ROUTINE LOVER-D ("OPTIONAL" (ARG <>)) <DESCRIBE-PERSON ,LOVER> <RTRUE>> <GLOBAL LOVER-SAID:FLAG <>> <ROUTINE LOVER-F ("OPTIONAL" (ARG 0)) <COND ;(<AND <IN? ,LOVER ,HERE> ;"never happens" <OR <VERB? ALARM SHAKE> <SPEAKING-VERB?>> <DOBJ? LOVER>> ;<COND (<NOT <GRAB-ATTENTION ,LOVER>> <RFATAL>)> <COND (<UNSNOOZE ,LOVER> <RFATAL>) (T <LOVER-SPEECH>)>) (<AND <IN? ,LOVER-PIC ,HERE> <NOT <REMOTE-VERB?>>> <DO-INSTEAD-OF ,LOVER-PIC ,LOVER> <RTRUE>) (T <PERSON-F ,LOVER .ARG>)>> <OBJECT DEB (DESC "Iris") (IN GREAT-HALL) (ADJECTIVE MS MISS IRIS VANE WOMAN ;DEB ;"for poss's") (SYNONYM IRIS VANE WOMAN ;DEB) (ACTION DEB-F) (DESCFCN DEB-D) (LDESC 1 ;"dancing") (WEST "looking coy") (TEXT "The girl is a stylish London deb type. Her dark hair is cut boyishly short. Her height and figure would make her a perfect high-fashion model.") (FLAGS OPENBIT PERSONBIT SEARCHBIT FEMALE NARTICLEBIT NDESCBIT) (CAPACITY 40) (LINE 0) (CHARACTER 7)> <ROUTINE DEB-D ("OPTIONAL" (ARG 0)) <COND (T ;<OR <FSET? ,DEB ,TOUCHBIT> <T? ,CLOCK-WAIT>> <DESCRIBE-PERSON ,DEB>)> <RTRUE>> <ROUTINE DEB-F ("OPTIONAL" (ARG <>) "AUX" OBJ X) <COND (<==? .ARG ,M-WINNER> <SETG FAWNING <>> <COND (<AND <EQUAL? ,AWAITING-REPLY ,DEB-C> <VERB? YES NO>> <ESTABLISH-GOAL ,DOCTOR ,HERE> <PUTP ,DEB ,P?LDESC 0> <PUTP ,DEB ,P?LINE 0> <SETG AWAITING-REPLY <>> <COND (<VERB? YES> <TELL "\"Splendid!\"" CR>) (T <TELL "\"What a pity!\"" CR>)>) (<NOT <GRAB-ATTENTION ,DEB>> <RFATAL>) (<AND <VERB? DESCRIBE> <DOBJ? GHOST-NEW>> <FSET ,GHOST-NEW ,PERSONBIT> <TELL "\"Well, it appeared to be a woman with " ,LONG-BLOND-HAIR " in a "> <COND (<NOT<EQUAL? ,VARIATION,DOCTOR-C ;,DEALER-C ;,OFFICER-C>> ;<EQUAL? ,VARIATION ,FRIEND-C ,PAINTER-C ,LORD-C> <TELL "sleeveless, ">)> <TELL "silvery white gown. But if you're asking me, 'Was it really poor Dee?' I'm just not sure. "> <COND (<EQUAL? ,VARIATION ,FRIEND-C ,LORD-C> <TELL "I didn't see the face that well. But I'd say the figure was average height, and moved in a very feminine way, just as she did -- so it COULD have been her ghost.\"" CR>) (<EQUAL? ,VARIATION ,PAINTER-C> <TELL "It seemed different from Dee in some way...\"| She snaps her fingers, and her eyes brighten maliciously. \"Now I know! The ghost was too tall! Definitely taller than she!\"" CR>) (T <TELL "It was "> <COND ;(<EQUAL? ,VARIATION ,DEALER-C ,OFFICER-C> <TELL "definitely taller than Dee, and">) (T <TELL"about the right height, I suppose, but">)> <TELL " its gown, with long sleeves and a high neck, seemed different from hers. It lacked her femininity. She was a very feminine woman, you know -- almost seductive, as I'm sure Jack can testify. The ghost was just a sexless spook, one might say.\"" CR>)>) (<AND <VERB? FOLLOW> <DOBJ? PLAYER> <WILLING? ,DEB>> <TELL "\"Ooo! I love an adventure, "FN"!\"" CR> <NEW-FOLLOWER ,DEB> <RTRUE>) (<SET X <COM-CHECK ,DEB>> <COND (<==? .X ,M-FATAL> <RFALSE>) (<==? .X ,M-OTHER> <RFATAL>) (T <RTRUE>)>) (T <WINNER-DEFAULT ,DEB>)>) (<SET OBJ <ASKING-ABOUT? ,DEB>> <COND (<NOT <GRAB-ATTENTION ,DEB .OBJ>> <RFATAL>) (<AND <EQUAL? .OBJ ,SEARCHER> <OR <T? ,CONFESSED> <T? <GET ,TOLD-ABOUT-EVID ,DEB-C>>> ;<NOT <==? ,DEB ,SEARCHER>>> <TELL ,IM-SHOCKED>) (<EQUAL? .OBJ ,GHOST-NEW ,DANGER ,HAUNTING> <TELL "\"It was quite dramatic, really. One night I couldn't sleep, so I got a poetic urge to go up on the " 'DECK " in the moonlight and commune with my soul.\"|" 'DEB " goes on, \"As I started up the tower stairs, I saw this figure in white coming 'round the curve of the stairway. My dear, I absolutely FROZE! The ghost turned 'round and flitted back up the stairs, and by the time I recovered, it was gone!\"" CR>) (<EQUAL? .OBJ ,TAMARA-EVIDENCE> <TELL "\"My word! It looks as if someone dislikes me!\"" CR>) (<SET X <COMMON-ASK-ABOUT ,DEB .OBJ>> <COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>) (T <TELL-DUNNO ,DEB .OBJ>)>) (<VERB? RUB KISS DANCE> <COND (<WILLING? ,DEB T> <UNSNOOZE ,DEB> <PUTP ,DEB ,P?LINE 0> <PUTP ,DEB ,P?LDESC 0> ;<COND (<EQUAL? ,AWAITING-REPLY ,DEB-C> <QUEUE I-REPLY 0>)> <TELL "\"Oooo"> <I-JUST-LOVE-IT> <RTRUE>)>) (T <PERSON-F ,DEB .ARG>)>> <ROUTINE WILLING? (PER "OPT" (KISS <>)) <COND (<ZERO? .KISS> <COND (<L? ,BED-TIME ,PRESENT-TIME> <RFALSE>) (<QUEUED? ,I-TOUR> <RFALSE>) (<OR <EQUAL? ,HERE ,DINING-ROOM> <QUEUED? ,I-DINNER-SIT> ;"not during dinner"> <RFALSE>) (<EQUAL? .PER ,CONFESSED ,CAPTOR> <RFALSE>) (T <RTRUE>)>) (<EQUAL? .PER ,FRIEND> <COND (<NOT <EQUAL? ,VARIATION ,FRIEND-C>> <RTRUE>) (T <RFALSE>)>) (<EQUAL? .PER ,BUTLER> <COND (<AND <VERB? EMPTY ;"UNPACK"> <NOT <==? ,HERE ,YOUR-ROOM>>> <RFALSE>) (<VERB? FOLLOW> <RFALSE>) (T <RTRUE>)>) (<T? ,GENDER-KNOWN> <COND (<==? .PER ,DEB> <COND (<NOT <FSET? ,PLAYER ,FEMALE>> <RTRUE>) (T <RFALSE>)>) (<==? .PER ,OFFICER> <COND (<FSET? ,PLAYER ,FEMALE> <RTRUE>) (T <RFALSE>)>) (T <RFALSE>)>)>> <OBJECT OFFICER (DESC "Ian") (IN GREAT-HALL) (ADJECTIVE TALL BLOND ;LT MR MISTER IAN FORDYCE OFFICE MAN ;"for poss's") (SYNONYM IAN FORDYCE OFFICE MAN) (ACTION OFFICER-F) (DESCFCN OFFICER-D) (LDESC 1 ;"dancing") (WEST "looking debonair") (FLAGS OPENBIT PERSONBIT SEARCHBIT NARTICLEBIT ;TOUCHBIT) (CAPACITY 40) (LINE 0) (CHARACTER 5)> <ROUTINE OFFICER-D ("OPTIONAL" (ARG 0)) <COND (<FSET? ,OFFICER ,TOUCHBIT> <DESCRIBE-PERSON ,OFFICER>) (T <FSET ,OFFICER ,TOUCHBIT> <FSET ,OFFICER ,SEENBIT>)> <RTRUE>> <ROUTINE I-JUST-LOVE-IT () <TELL "! I just love it when you do that, "FN"!\"" CR>> <ROUTINE WINNER-DEFAULT (PER) <COND (<T? ,GENDER-KNOWN> <TELL !\"> <COND (<T? ,FAWNING> <TELL "But ">)> <TELL "I really can't help you with that"> <COND (<EQUAL? .PER ,OFFICER> <IAN-CALLS-YOU>)> <TELL ".\"" CR>) (T <WHY-ME> <RFATAL>)>> <ROUTINE OFFICER-F ("OPTIONAL" (ARG 0) "AUX" P OBJ X) <COND (<==? .ARG ,M-WINNER> <SETG FAWNING <>> <COND (<AND <EQUAL? ,AWAITING-REPLY ,OFFICER-1-R ,OFFICER-2-R> <VERB? YES NO>> <ESTABLISH-GOAL ,DOCTOR ,HERE> <PUTP ,OFFICER ,P?LDESC 0> <PUTP ,OFFICER ,P?LINE 0> <TELL !\"> <COND (<VERB? YES> <TELL "Jolly good"> <COND (<EQUAL? ,AWAITING-REPLY ,OFFICER-1-R> <TELL "! You're certainly quick">)>) (<EQUAL? ,AWAITING-REPLY ,OFFICER-1-R> <TELL "I dare say you soon shall">) (T <TELL "Pity">)> <SETG AWAITING-REPLY <>> <TELL "!\"" CR> <RTRUE>) (<NOT <GRAB-ATTENTION ,OFFICER>> <RFATAL>) (<AND <VERB? DESCRIBE> <DOBJ? GHOST-NEW> <EQUAL? ,VARIATION ;,DEALER-C ,PAINTER-C>> <TELL "\"Ghosts don't turn off lights, to my way of thinking. That alone makes me think our " 'GHOST-OLD "'s a fake. Somebody's sick idea of a joke, perhaps. "> <COND ;(<EQUAL? ,VARIATION ,DEALER-C> <TELL "Come to that, I'm not even sure it WAS a lady. It was too tall for Dee, and there was nothing feminine about its gown, which covered up everything but its face and hands. Just the sort of outfit a bloke might wear with a blonde wig to go flitting about in drag.\"" CR>) (T <FSET ,GHOST-NEW ,PERSONBIT> <TELL "Otherwise, the masquerade was highly effective. A female figure with " ,LONG-BLOND-HAIR ", wearing the same sort of gown Dee was wearing that awful night she died -- at first it left me breathless. The only flaw, I should say, was the spook's height: too tall for Dee.\"" CR>)>) (<AND <VERB? FOLLOW> <DOBJ? PLAYER> <WILLING? ,OFFICER>> <TELL "\"What ho! A bit of sleuthing, eh, "FN"?\"" CR> <NEW-FOLLOWER ,OFFICER> <RTRUE>) (<SET X <COM-CHECK ,OFFICER>> <COND (<==? .X ,M-FATAL> <RFALSE>) (<==? .X ,M-OTHER> <RFATAL>) (T <RTRUE>)>) (T <WINNER-DEFAULT ,OFFICER>)>) (<SET OBJ <ASKING-ABOUT? ,OFFICER>> <COND (<NOT <GRAB-ATTENTION ,OFFICER .OBJ>> <RFATAL>) (<AND <EQUAL? .OBJ ,SEARCHER> <OR <T? ,CONFESSED> <T? <GET ,TOLD-ABOUT-EVID ,OFFICER-C>>> ;<NOT <==? ,OFFICER ,SEARCHER>>> <TELL ,IM-SHOCKED>) ;(<AND <EQUAL? .OBJ ,JEWEL> <EQUAL? ,VARIATION ,OFFICER-C> <SET P <FIND-JEWEL-EXPLAINER>>> <SETG EXPLAINED-JEWEL .P> <TELL "Suddenly" THE .P " exclaims, \"Why, Ian! Isn't this that " 'JEWEL " you wear in one ear? I seem to recall you had it on at dinner just last night!\"| Fordyce looks startled and a trifle embarrassed. \"By jove, perhaps you're right!\"| He fingers his left ear lobe and appears surprised to discover that the jewel is no longer there.| \"Must have dropped off just a few minutes ago. I put it on when I dressed for dinner. Thanks very much for finding it"> <IAN-CALLS-YOU> <TELL ".\"" CR>) (<EQUAL? .OBJ ,LENS ,LENS-1 ,LENS-2> <TELL CHE ,OFFICER " grins, \"It's not mine. Her Majesty would hardly allow me to serve in her Coldstream Guards were my vision faulty!\"" CR>) (<AND <EQUAL? .OBJ ,GHOST-NEW ,DANGER ,HAUNTING> <EQUAL? ,VARIATION ;,DEALER-C ,PAINTER-C>> <TELL "\"It was the last time I came down here to visit Jack. We had been up late, playing cards in the " 'GAME-ROOM ". Then Jack toddled off to bed, but I stayed up to read and finish my drink. I must have dozed off with my glass in my hand, for I woke with a start as it crashed to the floor. And the first thing I saw was this figure in white at the other end of the room.\"| He goes on, \"Blimey, I thought I was seeing things! For a moment I just gaped at it. Then the spook went haring off out the door, flicking off the light on the way. By the time I found the door, it was gone.\"" CR>) (<SET X <COMMON-ASK-ABOUT ,OFFICER .OBJ>> <COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>) (T <TELL-DUNNO ,OFFICER .OBJ>)>) (<VERB? RUB KISS DANCE> <COND (<WILLING? ,OFFICER T> <UNSNOOZE ,OFFICER> <PUTP ,OFFICER ,P?LINE 0> <PUTP ,OFFICER ,P?LDESC 0> ;<COND (<EQUAL? ,AWAITING-REPLY ,OFFICER-1-R ,OFFICER-2-R> <QUEUE I-REPLY 0>)> <TELL"\"Hello"> <I-JUST-LOVE-IT> <RTRUE>)>) (T <PERSON-F ,OFFICER .ARG>)>> <ROUTINE IAN-CALLS-YOU () <COND (<ZERO? <GETB ,LAST-NAME 0>> <RFALSE>)> <TELL ", " FN> <COND (<NOT <ZERO? ,GENDER-KNOWN>> <COND (<FSET? ,PLAYER ,FEMALE> <TELL " luv">) (T <TELL " old "> <COND (<BTST ,PRESENT-TIME 1> <TELL "chap">) (T <TELL "son">)>)>)> <RTRUE>> [ <OBJECT DOCTOR (DESC "Dr. Wendish") (IN GALLERY ;STAIRS-NEW) (ADJECTIVE DR ;DOC DOCTOR NICHOLAS WENDISH MAN ;"for poss's") (SYNONYM DOCTOR NICHOLAS WENDISH MAN) ;"DR here screws parsing" (ACTION DOCTOR-F) (DESCFCN DOCTOR-D) (LDESC 0) (WEST "looking muddled" ;"anxious") (FLAGS OPENBIT PERSONBIT SEARCHBIT NARTICLEBIT ;RMUNGBIT) (CAPACITY 40) (LINE 0) (STATION A?DOC\'S) (CHARACTER 4)> <ROUTINE DOCTOR-D ("OPTIONAL" (ARG 0)) <COND ;(<OR <FSET? ,DOCTOR ,RMUNGBIT> ;<T? ,CLOCK-WAIT>> <FCLEAR ,DOCTOR ,RMUNGBIT> <RTRUE>) (<FSET? ,DOCTOR ,TOUCHBIT> <DESCRIBE-PERSON ,DOCTOR> <RTRUE>) (T <FSET ,DOCTOR ,TOUCHBIT> ;<COND (<EQUAL? <LOC ,FRIEND> ,HERE ,PSEUDO-OBJECT> <SET P ,FRIEND>) (T <SET P ,DEB>)> <COND (T ;<NOT <FSET? ,DOCTOR ,TOUCHBIT>> ;<FSET ,DOCTOR ,TOUCHBIT> <CRLF> <COND (T ;<T? .P> <TELL !\"> <COND (<T? ,TOUR-FORCED> <TELL "Oh,">) (T <TELL "Do excuse me for interrupting,\" " D ,FRIEND ;.P " breaks in, \"but">)> <TELL " here comes " D ,DOCTOR "! I'm sure "FN" wants to meet such a distinguished scientist!\"|">) ;(T <TELL "Your conversation is interrupted. ">)> <TELL "A man is coming downstairs. "> <COMMON-DESC ,DOCTOR> ;<TELL <GETP ,DOCTOR ,P?TEXT> CR> <SETG QCONTEXT ,DOCTOR> <THIS-IS-IT ,DOCTOR> <PUTP ,DOCTOR ,P?LDESC 12 ;"listening to you"> <SETG AWAITING-REPLY ,DOCTOR-C> <QUEUE I-REPLY ,CLOCKER-RUNNING> <TELL D ,FRIEND ;.P ,INTRODUCES "him as one of Lionel's oldest friends, Dr. Nicholas Wendish.| He's carelessly dressed in rumpled evening clothes, but his hawk eyes peering at you through gold-rimmed specs show ruthless intelligence.| \"I read about one of your mystery cases when I was in New York last year, "TN",\" he probes. \"" <GET ,QUESTIONS ,AWAITING-REPLY> "\"|">)> <RFATAL>)>> <ROUTINE DOCTOR-F ("OPTIONAL" (ARG 0) "AUX" OBJ X) <COND (<==? .ARG ,M-WINNER> <COND (<AND <EQUAL? ,AWAITING-REPLY ,DOCTOR-C> <VERB? YES NO>> <PUTP ,DOCTOR ,P?LDESC 0> <PUTP ,DOCTOR ,P?LINE 0> <SETG AWAITING-REPLY <>> <TELL "\"I see...\"" CR>) (<NOT <GRAB-ATTENTION ,DOCTOR>> <RFATAL>) (<AND <VERB? DESCRIBE> <DOBJ? GHOST-NEW> <EQUAL? ,VARIATION ,DOCTOR-C ;,OFFICER-C>> <TELL 'DOCTOR " shrugs, with a look of distaste, as if he'd like to forget the episode. \""> <COND (T ;<EQUAL? ,VARIATION ,DOCTOR-C> <TELL "I'm afraid I can't tell you any more, "> <COND (<TITLE-NAME> <TELL !\.>)> <TELL " I assumed the ghost was " 'LOVER ". It certainly looked like her: a blonde, attractive young woman. If it WASN'T " 'LOVER ", it was a convincing imposture.\"" CR>) ;(T <TELL "The truth is, "> <TITLE-NAME> <TELL ", I'm afraid I over-reacted. Once I'd collected myself and was able to think normally, I had a strong feeling that I'd been the victim of a vulgar hoax. Whomever I saw bore only a superficial resemblance to poor " 'LOVER " Hallam. For one thing, it was definitely too tall. And aside from the " ,LONG-BLOND-HAIR ", which could easily have been a wig, there was really nothing very feminine about it. Judging by its posture and movements, it could have been a man. Even its gown was the kind a man would need to pass as a woman: long sleeves and high neck.\"" CR>)>) (<DIVESTMENT? ,MUSTACHE> <COND (<EQUAL? ,VARIATION ,DOCTOR-C> <TELL ,MUSTACHE-STORY> <RTRUE>) (T <HAR-HAR>)>) (<SET X <COM-CHECK ,DOCTOR>> <COND (<==? .X ,M-FATAL> <RFALSE>) (<==? .X ,M-OTHER> <RFATAL>) (T <RTRUE>)>) (T <WHY-ME> <RFATAL>)>) (<SET OBJ <ASKING-ABOUT? ,DOCTOR>> <COND (<NOT <GRAB-ATTENTION ,DOCTOR .OBJ>> <RFATAL>) (<AND <EQUAL? .OBJ ,SEARCHER> <OR <T? ,CONFESSED> <T? <GET ,TOLD-ABOUT-EVID ,DOCTOR-C>>> <NOT <==? ,DOCTOR ,SEARCHER>>> <TELL ,IM-SHOCKED>) (<EQUAL? .OBJ ,COUSIN ,BUST ;,RECORDER> <TELL "\"He loved me as a brother.\"" CR>) (<AND <EQUAL? .OBJ ,GHOST-NEW ,DANGER ,HAUNTING> <EQUAL? ,VARIATION ,DOCTOR-C ;,OFFICER-C>> <TELL "The doctor pauses, looking troubled, as if reluctant to speak, or perhaps marshaling his thoughts.| \"On the very night after " 'ACCIDENT ",\" he says at last, \"I couldn't sleep. I suppose the tragedy was on my mind. That and the medical cases I have in my London clinic for rare diseases. Anyhow, I took a stroll out in the " 'COURTYARD ". The fresh sea breeze was very soothing. When I went back inside, I felt ready for sleep. I went in through the " 'OLD-GREAT-HALL ;"tower door" ", you see.\"| He goes on, \"Then I saw this ghostly figure in white -- Good Lord, what a shock it gave me! I couldn't move for a moment; I thought " 'LOVER " had come back from the dead. As I stood there, staring, the ghost flitted off toward the " 'BASEMENT "... I felt no impulse to go after it, I might add.\"" CR>) (<EQUAL? .OBJ ,LENS ,LENS-1 ,LENS-2> <TELL !\"> <COND (<AND <EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C ,PAINTER-C> <T? ,FOUND-IT-PERM> ;<FSET? ,FOUND-IT-PERM ,SEENBIT> ;<FSET? ,LENS ,TOUCHBIT>> <TELL "Not mine. ">)> <TELL "As you see, I wear glasses at all times,\" he says." CR>) (<AND <EQUAL? .OBJ ,MUSTACHE> <EQUAL? ,VARIATION ,DOCTOR-C>> <TELL ,MUSTACHE-STORY> <RTRUE>) (<EQUAL? .OBJ ,WENDISH-STUFF> <TELL "\"I always bring them along.\"" CR>) (<SET X <COMMON-ASK-ABOUT ,DOCTOR .OBJ>> <COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>) (T <TELL-DUNNO ,DOCTOR .OBJ>)>) (T <PERSON-F ,DOCTOR .ARG>)>> <OBJECT MUSTACHE (DESC "Wendish's mustache") (IN DOCTOR) (ADJECTIVE DOC\'S HIS) (SYNONYM MUSTACHE) (FLAGS NDESCBIT TRYTAKEBIT NARTICLEBIT) (ACTION MUSTACHE-F)> <ROUTINE MUSTACHE-F () <COND (<AND <OR <VERB? ASK-FOR MOVE TAKE> <DIVESTMENT? ,MUSTACHE>> <IN? ,MUSTACHE ,DOCTOR>> <COND (<FSET? ,DOCTOR ,MUNGBIT> <COND (<EQUAL? ,VARIATION ,DOCTOR-C> <FSET ,MUSTACHE ,TAKEBIT> <FCLEAR ,MUSTACHE ,TRYTAKEBIT>)> <RFALSE>) (<OR <NOT <EQUAL? ,VARIATION ,DOCTOR-C>> <FSET? ,MUSTACHE ,TOUCHBIT>> <FACE-RED ,DOCTOR> <RTRUE>) (T <FSET ,MUSTACHE ,TOUCHBIT> <TELL "It comes off, leaving " 'DOCTOR " blinking with embarrassment. He grabs it and puts it in place again. " ,MUSTACHE-STORY> <RTRUE>)>) (<OR <VERB? WEAR> <AND <VERB? PUT> <FSET? ,PRSI ,PERSONBIT>>> <WEAR-SCARE>)>> <GLOBAL MUSTACHE-STORY "\"Dear me,\" he giggles nervously, \"I'm afraid you've found out my little secret! A lady friend, you see, begged me to shave off my mustache. I did so just before coming to Cornwall. But then I felt so naked without it, that I bought a hair piece until I could grow back my own.\"|"> <OBJECT WENDISH-BOOK (DESC "lab notebook") (ADJECTIVE DOC\'S HIS NOTE LAB LABORATORY) (SYNONYM NOTEBOOK BOOK BOOKS EVIDENCE ;TEXT) (GENERIC GENERIC-BOOK) (FLAGS READBIT CONTBIT NDESCBIT SECRETBIT RMUNGBIT ;"evidence") (CHARACTER 4) ;"for this char" (CAPACITY 4) (ACTION WENDISH-BOOK-F)> <ROUTINE WENDISH-BOOK-F () <COND (<VERB? EXAMINE LOOK-INSIDE READ> <COND (<NOT-HOLDING? ,PRSO> <RTRUE>)> <TELL "The " 'WENDISH-BOOK " contains an incriminating record of " 'DOCTOR "'s fiendish experiments on patients at his clinic. Near the end you read:| \"Finally took care of Poldark's granddau. (comely wench), pity she disc'd facts of his end.\""> ;<TELL " that he \"took care of\" " 'LOVER " after she discovered his fatal mistreatment of her grandfather."> <CRLF> <COND (<ZERO? ,EVIDENCE-FOUND> <CONGRATS>)> <SETG EVIDENCE-FOUND ,WENDISH-BOOK>)>> ] <OBJECT DEALER (DESC "Hyde") (IN DRAWING-ROOM) (ADJECTIVE TALL ART MR MISTER MONTAGUE ;MONTY HYDE DEALER MAN ;"for poss's") (SYNONYM MONTAGUE ;MONTY HYDE DEALER MAN) (ACTION DEALER-F) (DESCFCN DEALER-D) (LDESC 2 ;"sipping sherry") (WEST "examining objects") (FLAGS OPENBIT PERSONBIT SEARCHBIT NARTICLEBIT NDESCBIT) (CAPACITY 40) (LINE 0) (CHARACTER 6)> <ROUTINE DEALER-D ("OPTIONAL" (ARG 0) "AUX" PER) <COND (T ;<FSET? ,DEALER ,TOUCHBIT> <DESCRIBE-PERSON ,DEALER>)> ;<THIS-IS-IT ,PAINTER> ;<THIS-IS-IT ,DEALER> <RTRUE>> <ROUTINE DEALER-F ("OPTIONAL" (ARG 0) "AUX" OBJ X) <COND (<==? .ARG ,M-WINNER> <COND (<NOT <GRAB-ATTENTION ,DEALER>> <RFATAL>) (<AND <VERB? DESCRIBE> <DOBJ? GHOST-NEW> <NOT <EQUAL? ,VARIATION ,PAINTER-C ;,OFFICER-C>>> <TELL "\"You're wondering, I presume, if it really was " 'LOVER " Hallam's ghost? Frankly, I don't put stock in ghosts, but my answer is... "> <FSET ,GHOST-NEW ,PERSONBIT> <COND (<EQUAL? ,VARIATION ;,DEALER-C ,FRIEND-C ,PAINTER-C ,LORD-C> <TELL "possibly. That's as far as I'd go. It was certainly a female figure, in a shimmering whitish gown, sleeveless and cut low. She had " ,LONG-BLOND-HAIR " like " 'LOVER "'s and was about her size. But as for her face -- my view was too brief,\" Hyde shrugs." CR>) (T <TELL "I'm not at all convinced. Somehow it didn't match my memories of " 'LOVER ". For one thing, the gown wasn't her style, at all. Her clothes were always quite revealing. The ghost seemed quite covered up at the throat and arms. You might say it totally lacked feminine sex appeal.\"" CR>)>) (<SET X <COM-CHECK ,DEALER>> <COND (<==? .X ,M-FATAL> <RFALSE>) (<==? .X ,M-OTHER> <RFATAL>) (T <RTRUE>)>) (T <WHY-ME> <RFATAL>)>) (<SET OBJ <ASKING-ABOUT? ,DEALER>> <COND (<NOT <GRAB-ATTENTION ,DEALER .OBJ>> <RFATAL>) (<AND <EQUAL? .OBJ ,SEARCHER> <OR <T? ,CONFESSED> <T? <GET ,TOLD-ABOUT-EVID ,DEALER-C>>> ;<NOT <==? ,DEALER ,SEARCHER>>> <TELL ,IM-SHOCKED>) (<AND <EQUAL? .OBJ ,GHOST-NEW ,DANGER ,HAUNTING> <NOT <EQUAL? ,VARIATION ,PAINTER-C ;,OFFICER-C>>> <TELL "\"I came down late one night to get a book that I'd left in the " 'SITTING-ROOM ". I had just turned 'round to go back upstairs when I saw a ghostly figure in the doorway. It fled as soon as I noticed it, in the " D ,INTDIR " of the tower.\"| He goes on, \"I was stunned, I must admit, so I dare say it took me a moment to collect my wits and go after it. I ran into the tower, but the spectre had vanished. This happened, by the way, a couple of weeks ago, on my last visit to the castle.\"" CR>) (<EQUAL? .OBJ ,LENS ,LENS-1 ,LENS-2> <TELL CHE ,DEALER " displays his monocle, saying, \"This is the only vision aid I require.\"" CR>) (<OR <EQUAL? .OBJ ,ARMOR ,BUST ;,CARTOON> <EQUAL? .OBJ ,FIGURINE ,LOVER-PIC ,OIL-PAINTING> <EQUAL? .OBJ ,PAINTING-GALLERY ,WRITING-DESK>> <TELL "\"I haven't formed my professional opinion as yet.\""CR>) (<SET X <COMMON-ASK-ABOUT ,DEALER .OBJ>> <COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>) (T <TELL-DUNNO ,DEALER .OBJ>)>) (T <PERSON-F ,DEALER .ARG>)>> <OBJECT PAINTER (DESC "Vivien") (IN DRAWING-ROOM) (ADJECTIVE TALL MS MISS MRS VIVIEN VIV PENTREATH WOMAN ;"for poss's") (SYNONYM VIVIEN VIV PENTREATH WOMAN) (ACTION PAINTER-F) (DESCFCN PAINTER-D) (LDESC 2 ;"sipping sherry") (WEST "studying colors") (TEXT "She is a tall, tawny-haired woman of vintage beauty and uncertain age.") (FLAGS OPENBIT PERSONBIT SEARCHBIT FEMALE NARTICLEBIT ;TOUCHBIT) (CAPACITY 40) (LINE 0) (STATION A?VIV\'S) (CHARACTER 3)> <ROUTINE PAINTER-D ("OPTIONAL" (ARG 0)) <COND (<FSET? ,PAINTER ,TOUCHBIT> <DESCRIBE-PERSON ,PAINTER>) (T <FSET ,PAINTER ,TOUCHBIT> <FCLEAR ,DEALER ,NDESCBIT> <COND (<AND <EQUAL? <LOC ,DEALER> ,HERE ,PSEUDO-OBJECT> <=? <GETP ,DEALER ,P?LDESC> 2>> <RFALSE>)>)> <RTRUE>> <GLOBAL GLASSES-FOR " glasses for closeup art work"> <ROUTINE PAINTER-F ("OPTIONAL" (ARG 0) "AUX" OBJ X) <COND (<==? .ARG ,M-WINNER> <COND (<NOT <GRAB-ATTENTION ,PAINTER>> <RFATAL>) (<AND <VERB? DESCRIBE> <DOBJ? GHOST-NEW> <EQUAL? ,VARIATION ,PAINTER-C ;,OFFICER-C>> <FSET ,GHOST-NEW ,PERSONBIT> <COND (T ;<EQUAL? ,VARIATION ,PAINTER-C> <TELL "\"It was " 'LOVER ", or her ghost. What more can I say? A female figure, her size, wearing the same sort of shimmering white gown she had on the night she died -- and unmistakably her face! The likeness was heart-stopping...\"| Vivien chokes up for a moment, then dabs her eyes. \"I'm sorry. I shouldn't let my feelings take over this way, but " 'LOVER " was such a lovely person!\"" CR>) ;(T <TELL "\"Well, it was a figure with a white gown and " ,LONG-BLOND-HAIR ". But other than that, there was nothing very feminine about it. And it was taller than " 'LOVER ". I admit I didn't get a good look at its face, because it was dark and far away. All I can say is, if someone was posing as " 'LOVER "'s ghost, he or she didn't convince me.\"" CR>)>) (<SET X <COM-CHECK ,PAINTER>> <COND (<==? .X ,M-FATAL> <RFALSE>) (<==? .X ,M-OTHER> <RFATAL>) (T <RTRUE>)>) (T <WHY-ME> <RFATAL>)>) (<SET OBJ <ASKING-ABOUT? ,PAINTER>> <COND (<NOT <GRAB-ATTENTION ,PAINTER .OBJ>> <RFATAL>) (<EQUAL? .OBJ ,BUST ,FIGURINE ;,LOVER-PIC> <TELL "\"Yes, that's one of my works.\"" CR>) ;(<EQUAL? .OBJ ,CARTOON> <TELL "\"I don't recall who drew that.\"" CR>) (<AND <EQUAL? .OBJ ,SEARCHER> <OR <T? ,CONFESSED> <T? <GET ,TOLD-ABOUT-EVID ,PAINTER-C>>> <NOT <==? ,PAINTER ,SEARCHER>>> <TELL ,IM-SHOCKED>) (<AND <EQUAL? .OBJ ,FRIEND> <EQUAL? ,VARIATION ,PAINTER-C> ;<T? ,CONFESSED>> ;<DISCRETION ,PAINTER .OBJ> <TELL ,RHYMES-WITH-RICH CR>) (<AND <EQUAL? .OBJ ,GHOST-NEW ,DANGER ,HAUNTING> <EQUAL? ,VARIATION ,PAINTER-C ;,OFFICER-C>> <TELL CHE ,PAINTER " is somber as she replies, \"I dare say it was morbid of me, but one night I went to the " 'BASEMENT ", just to try to imagine the horrible scene when poor " 'LOVER " suffered her... tragic accident. Suddenly I heard someone calling my name softly. I turned 'round, and there was " 'LOVER " herself standing by the stairs"> <COND (T ;<EQUAL? ,VARIATION ,PAINTER-C> <TELL "! I went absolutely numb! She smiled faintly, then fled up the stairs. I started to follow, but then I knew it was no use. " 'LOVER " is dead and gone, and chasing her ghost won't bring her back to me!\"" CR>) ;(T <TELL ". Or so I thought at first. But then I realized it WASN'T " 'LOVER ", that it COULDN'T be she. My disbelief must have been obvious. The imposter suddenly turned and fled. And that was the last I saw of it.\"" CR>)>) (<AND <EQUAL? .OBJ ,CLUE-2> <EQUAL? ,VARIATION ,LORD-C> <NOT <IN? .OBJ ,PAINTER>>> <CLUE-2-STORY ,PAINTER> <RTRUE>) (<EQUAL? .OBJ ,LENS ,LENS-1 ,LENS-2> <TELL CHE ,PAINTER> <COND (<EQUAL? ,VARIATION ,PAINTER-C> <TELL " says she wears" ,GLASSES-FOR ", as everyone knows; then she shudders, \"But " 'LENS "es -- ugh! -- I could never tolerate them!\"" CR>) (T <TELL " admits to wearing " 'LENS "es at all times, and" ,GLASSES-FOR> <COND (<AND <EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C ,PAINTER-C> <T? ,FOUND-IT-PERM> ;<FSET? ,FOUND-IT-PERM ,SEENBIT> ;<FSET? ,LENS ,TOUCHBIT>> <TELL ", but she says the lens you found isn't hers. With a cynical smile, she pops out both lenses, one at a time, to show you." ;"-- and murmurs, \"Satisfied?\"" CR>) (T <TELL "." CR>)>)>) (<EQUAL? .OBJ ,LOVER> <PUTP ,PAINTER ,P?LDESC 7 ;"sobbing quietly"> <TELL "The artist shrugs with a sad, wistful smile. \"What can I say? " 'LOVER " was a most unusual girl... utterly unworldly... almost fey. She grew up in a cottage not far from here, you know. Her drowning was a terrible tragedy... and yet... sometimes I'm not sure she WANTED to go on living.\" She turns her face away to hide a tear." ;"You feel Vivien knows much more about 'LOVER , but she's too discreet to tell." CR>) (<EQUAL? .OBJ ,LOVER-PIC> <TELL "\"Oh, you mean my portrait of dear " 'LOVER ". I don't believe I ever saw such skin as hers... or such hair.\" She stops speaking and bites her lip." CR>) (<EQUAL? .OBJ ,OIL-PAINTING> <TELL "\"I don't admire the heroic style at all.\"" CR>) (<EQUAL? .OBJ ;,VIVIEN-DIARY ;"pass to I-SHOT" ,VIVIEN-STUFF> <TELL "\"That's private property. It's no business of yours.\"" CR>) (<SET X <COMMON-ASK-ABOUT ,PAINTER .OBJ>> <COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>) (T <TELL-DUNNO ,PAINTER .OBJ>)>) (<AND <VERB? KISS> <==? <GETP ,PAINTER ,P?LDESC> 7 ;"sobbing quietly">> <PUTP ,PAINTER ,P?LINE 0> <TELL "\"You're sweet.\"" CR>) (T <PERSON-F ,PAINTER .ARG>)>> <OBJECT VIVIEN-DIARY (DESC "Vivien's diary") (ADJECTIVE VIV\'S HER ;VIVIEN) (SYNONYM EVIDENCE DIARY BOOK BOOKS) (GENERIC GENERIC-BOOK) (FLAGS TAKEBIT NARTICLEBIT READBIT CONTBIT SECRETBIT RMUNGBIT ;"evidence") (CHARACTER 3) ;"for this char" (CAPACITY 4) (ACTION VIVIEN-DIARY-F)> <ROUTINE VIVIEN-DIARY-F () <COND (<VERB? EXAMINE LOOK-INSIDE OPEN READ> <COND (<NOT-HOLDING? ,PRSO> <RTRUE>)> <TELL 'VIVIEN-DIARY " falls open to a tear-stained page, and you read:| \"O " 'LOVER ", sweet " 'LOVER "! Jack will pay dearly for your cruel death by losing his new sweetheart...\"" CR> ;<TELL 'VIVIEN-DIARY " reveals her intense attachment to " 'LOVER ", her obsessive belief that " 'LORD " drove " 'LOVER " to suicide, and her plot for revenge." CR> <COND (<ZERO? ,EVIDENCE-FOUND> <CONGRATS>)> <SETG EVIDENCE-FOUND ,VIVIEN-DIARY>)>> <OBJECT COUSIN (DESC "Lionel Tresyllian") (IN GLOBAL-OBJECTS ;"LOCAL-GLOBALS produces [Which Lionel ...]") (ADJECTIVE JACK\'S HIS LIONEL ;TRESYLLIAN UNCLE ;"for poss's") (SYNONYM LIONEL ;TRESYLLIAN UNCLE) (FLAGS PERSONBIT NARTICLEBIT NDESCBIT) (CHARACTER 11) (ACTION COUSIN-F)> <ROUTINE COUSIN-F () <COND (<AND <EQUAL? ,HERE ,DINING-ROOM> <NOT <REMOTE-VERB?>>> <DO-INSTEAD-OF ,BUST ,COUSIN> <RTRUE>)>> [ <OBJECT BUTLER (DESC "Bolitho") (IN CORR-1 ;KITCHEN) (ADJECTIVE WHITE BOLITHO BUTLER MAN ;"for poss's") (SYNONYM BOLITHO BUTLER MAN) (ACTION BUTLER-F) (DESCFCN BUTLER-D) (LDESC 0) (WEST "awaiting orders") (TEXT "He's a short white-haired gentle man, impeccably dressed tonight in white gloves and tails.") (FLAGS OPENBIT PERSONBIT SEARCHBIT NARTICLEBIT NDESCBIT) (CAPACITY 40) (LINE 0) (CHARACTER 8)> <ROUTINE BOLITHO-WILL () <TELL !\ 'BUTLER " will see to the car and bring " 'LUGGAGE>> <ROUTINE BUTLER-D ("OPTIONAL" (ARG <>) "AUX" GT (SAID <>) (LL <>) L) <COND (<FSET? ,BUTLER ,TOUCHBIT> <DESCRIBE-PERSON ,BUTLER> <RTRUE>)> <FCLEAR ,BUTLER ,NDESCBIT> <FSET ,BUTLER ,TOUCHBIT> <COND (<AND <EQUAL? ,HERE ,COURTYARD ,FOYER> <EQUAL? <LOC ,LORD> ,HERE ,PSEUDO-OBJECT> <ZERO? <GETP ,LORD ,P?LINE>>> <SET LL T>)> <COND (<AND <EQUAL? ,HERE ,COURTYARD ,FOYER> <EQUAL? <LOC ,FRIEND> ,HERE ,PSEUDO-OBJECT>> <SET SAID T> <TELL "| \"We can talk more later, "FN",\" says " 'FRIEND ", taking your arm, \"but let's go in now, so you can meet the other guests.">)> <COND (.LL <COND (.SAID <TELL !\" CR "\"Yes, d">) (T <SET SAID T> <TELL "\"D">)> <TELL "o come in."> <BOLITHO-WILL> <TELL ",\" says " 'LORD " as a">) (.SAID <BOLITHO-WILL> <TELL ".\"" CR !\A>) (T <TELL !\A>)> <THIS-IS-IT ,BUTLER> <TELL "n elderly butler appears."> <COND (<ZERO? .SAID> <TELL " He bows slightly to you.">)> <SET GT <GT-O ,BUTLER>> <COND ;(<NOT <EQUAL? <GET .GT ,GOAL-FUNCTION> ,BUTLER-FETCHES ,BUTLER-CARRIES>> T) (<AND <NOT <EQUAL? <SET L <META-LOC ,LUGGAGE>> ,YOUR-ROOM ,YOUR-BATHROOM>> <T? <GETP .L ,P?LINE>>> <COND (<IN? ,LUGGAGE ,BUTLER> <TELL " He has " D ,LUGGAGE ".">) (<==? <LOC ,BUTLER> .L> <PUT .GT ,GOAL-FUNCTION ,BUTLER-CARRIES> <ESTABLISH-GOAL ,BUTLER ,YOUR-ROOM> <FCLEAR ,LUGGAGE ,OPENBIT> <MOVE ,LUGGAGE ,BUTLER> <TELL " He takes " D ,LUGGAGE ".">) (T <PUT .GT ,GOAL-FUNCTION ,BUTLER-FETCHES> <ESTABLISH-GOAL ,BUTLER .L>)> <COND (<ZERO? .SAID> <TELL " \"I'll carry " D ,LUGGAGE " to " 'YOUR-ROOM ".\"">)>)> <CRLF> <RFATAL>> <GLOBAL FOUND-FABRIC " discovered a strand of fabric from her gown, snagged on a jagged bit of brickwork."> <ROUTINE BUTLER-SORRY () ;<TELL "\"I'm afraid I can't do that now, "> <TELL "\"Sorry, but I have duties to perform, "> <COND (<TITLE-NAME> <TELL !\.>)> <TELL "\"" CR>> <ROUTINE BUTLER-F ("OPTIONAL" (ARG <>) "AUX" OBJ X) <COND (<==? .ARG ,M-WINNER> <COND (<AND <OR <EQUAL? ,AWAITING-REPLY ,BUTLER-1-R ,BUTLER-2-R> <EQUAL? ,AWAITING-REPLY ,BUTLER-3-R ,BUTLER-4-R>> <VERB? YES NO>> <PUTP ,BUTLER ,P?LDESC 0> <PUTP ,BUTLER ,P?LINE 0> <COND (<EQUAL? ,AWAITING-REPLY ,BUTLER-1-R> <SETG AWAITING-REPLY <>> <COND (<VERB? YES> <ROB ,LUGGAGE ,CHEST-OF-DRAWERS>)> <TELL 'BUTLER " responds politely, like the well-trained butler he is. But he seems to have something important on his mind." CR>) (<EQUAL? ,AWAITING-REPLY ,BUTLER-2-R> <SETG AWAITING-REPLY <>> <COND (<NOT <VERB? YES>> <TELL "\"Oh!... Please pardon me.\"" CR>) (T <TELL "\"Then no doubt you are here to investigate the spectral figure which has recently been seen about the castle."> <COND (<ZERO? ,BUTLER-GHOST-STORY-TOLD> <TELL !\ > <BUTLER-GHOST-STORY>) (T <TELL "\"" CR>)>)>) (<EQUAL? ,AWAITING-REPLY ,BUTLER-3-R> <SETG AWAITING-REPLY <>> <COND (<VERB? YES> <MOVE ,MACE ,PLAYER> <FSET ,MACE ,SEENBIT> <FCLEAR ,MACE ,NDESCBIT> <THIS-IS-IT ,MACE> <TELL "\"Should you find " 'PLAYER " in any danger from our " 'GHOST-NEW ", perhaps you could use this.\"| " 'BUTLER " gives you a small " D ,MACE ".||">) (T <TELL "\"As you wish,\" he sniffs." CR>)>) (T ;<EQUAL? ,AWAITING-REPLY ,BUTLER-4-R> <SETG AWAITING-REPLY <>> <COND (<NOT <VERB? YES>> <TELL "\"No doubt you soon shall. ">) (T <TELL !\">)> <COND (<EQUAL? ,VARIATION ,LORD-C ,FRIEND-C ;,OFFICER-C> <TELL "To be precise, the ghost was just beyond the archway. It was bending over, groping for something on the " 'DRAWING-ROOM " carpet.">) (T <TELL "If I may express an opinion, our " 'GHOST-NEW " must need reading glasses. The hall was ablaze with lights, yet it was bending down, groping blindly for something on the marble floor."> <COND (<EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C> <TELL " And, I might add, it must also be left-handed. You see, "TN", while bending over, the figure was using its left hand to grope with. I tried it myself, as did other servants, and we agree that such behavior indicates left-handedness.">)>)> <COND (T ;<NOT <EQUAL? ,VARIATION ,DEALER-C>> <TELL "\"| He continues, \"The ghost must have heard my footsteps, for">) ;(T <TELL "To be frank, "TN", I was quite taken aback when I saw the ghost. I'm afraid I just stood there for a moment, gaping at it stupidly. Then when it found whatever it was looking for,">)> <TELL " it stood up, flashed me a startled glance, and fled into the darkness of the " 'DRAWING-ROOM ". I pursued, turning on the lights, but the thing had disappeared. I went into the foyer, but it was not there either, and the " 'FRONT-DOOR " was still locked -- from the inside.\"" CR>)> <RTRUE>) (<NOT <GRAB-ATTENTION ,BUTLER>> <RFATAL>) (<AND <VERB? DESCRIBE> <DOBJ? GHOST-NEW>> <FSET ,GHOST-NEW ,PERSONBIT> <TELL "\"Frankly, I found it unconvincing. I don't see why a ghost would grope about on the floor to find something -- especially in a spot that wasn't even built when the " 'GHOST-OLD " was walled up in the tower. Besides, why should a ghost be scared away by a human being? It's usually the opposite, is it not?... No, "TN", in my opinion that figure just didn't behave like a proper ghost. It had " ,LONG-BLOND-HAIR " and was clad in a silvery-white "> <COND (<EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C ;,OFFICER-C> <TELL "long-sleeved">) (T <TELL "sleeveless">)> <TELL " gown. I caught only a brief glimpse of its face, deadly white. As to height, it was too bent over for me to make out. If someone was masquerading as a ghost, of course, the imposter might well have been a man. However, as for the figure I saw -- "> <COND (<EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C ;,OFFICER-C> <TELL "I cannot be sure of its sex.\"" CR>) (T <TELL "it seemed to me quite feminine.\"" CR>)>) (<AND <VERB? CLOSE DISEMBARK EMPTY LEAVE OPEN SIT SIT-AT STAND THROUGH WALK WALK-TO> <WILLING? ,BUTLER>> <COND (<AND <NOT <VERB? LEAVE>> <OR <NOT <VERB? THROUGH WALK-TO>> <NOT <DOBJ? DINNER PASSAGE>>>> <TELL "\"As you wish, "> <COND (<TITLE-NAME> <TELL !\.>)> <TELL "\"|">)> <RFALSE>) ;(<VERB? WALK-TO> <COND (<DOBJ? HERE GLOBAL-HERE> <TELL "\"I am here, "TN"!\"" CR>)>) (<SET X <COM-CHECK ,BUTLER>> <COND (<==? .X ,M-FATAL> <RFALSE>) (<==? .X ,M-OTHER> <RFATAL>) (T <RTRUE>)>) (T <BUTLER-SORRY> <RFATAL>)>) (<SET OBJ <ASKING-ABOUT? ,BUTLER>> <COND ;(<T? <GET <GET ,GOAL-TABLES ,BUTLER-C> ,GOAL-S>> <BUTLER-SORRY> <RFATAL>) (<NOT <GRAB-ATTENTION ,BUTLER .OBJ>> <RFATAL>) (<EQUAL? .OBJ ,ACCIDENT ,LOVER> <TELL "\"Perhaps you've heard how I was sent to the " 'BASEMENT " to find her. I found a tent pole and a shoe in front of the well, near one end of the " 'WINE-RACK ". The pole belonged to Lord Lionel. The shoe's spike heel was wrenched loose. I knew at once there had been an accident. Apparently Miss " 'LOVER ", in her cups, had stumbled over the pole and grabbed at the well for support. But as she was nowhere in sight, and her red necklace was lying beside the well, I assumed she had toppled down the well. When " 'LORD " arrived, he shone an electric torch down the well and" ,FOUND-FABRIC " Evidently it was ripped off as she fell. At any rate, the police concluded that she had drowned. They lowered a diver into the well, but " 'CORPSE " was never found.\"" CR>) (<EQUAL? .OBJ ,BUTLER> <TELL "\"There's not much to tell. I've served the family all my life. Should you require anything, feel free to ask.\"" CR>) (<AND <EQUAL? .OBJ ,SEARCHER> <OR <T? ,CONFESSED> <T? <GET ,TOLD-ABOUT-EVID ,BUTLER-C>>> ;<NOT <==? ,BUTLER ,SEARCHER>>> <TELL ,IM-SHOCKED>) (<EQUAL? .OBJ ,GHOST-NEW ,DANGER ,HAUNTING> <TELL !\"> <BUTLER-GHOST-STORY>) (<EQUAL? .OBJ ,GHOST-OLD> <TELL "\"They do say " 'CASTLE " is haunted.\"" ;"in the past, before that, er, unfortunate lady's bones were exhumed and reburied.\"" CR>) (<EQUAL? .OBJ ,LAMP> <TELL "\"Yes, we keep"> <IN-CASE-OF-BLACKOUT> <RTRUE>) (<EQUAL? .OBJ ,YOUR-MIRROR ,DRESSING-MIRROR> <TELL "\"S"> <BUTLER-MIRROR-STORY>) (<OR <EQUAL? .OBJ ,PRIEST-DOOR> <AND <EQUAL? .OBJ ,PASSAGE> <ZERO? <GET ,FOUND-PASSAGES ,BUTLER-C>>>> <TELL "The butler hesitates, looking thoughtful. \"I daresay that sort of thing would be better known to his lordship than to any of the staff, "TN".\"" CR>) (<SET X <COMMON-ASK-ABOUT ,BUTLER .OBJ>> <COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>) (T <TELL "\"I'm afraid it's not my place to say, "> <COND (<TITLE-NAME> <TELL !\.>)> <TELL "\"" CR>)>) (T <PERSON-F ,BUTLER .ARG>)>> <ROUTINE IN-CASE-OF-BLACKOUT () <TELL " that in case of a power outage.\"" CR>> <GLOBAL BUTLER-GHOST-STORY-TOLD:FLAG <>> <ROUTINE BUTLER-GHOST-STORY () <SETG BUTLER-GHOST-STORY-TOLD T> <SETG QCONTEXT ,BUTLER> <THIS-IS-IT ,BUTLER> <PUTP ,BUTLER ,P?LDESC 12 ;"listening to you"> <SETG AWAITING-REPLY ,BUTLER-4-R> <SETG CLOCK-WAIT T> <COND (<==? ,HERE ,GREAT-HALL> <PUT ,QUESTIONS ,AWAITING-REPLY "Can you see where I mean?">)> <TELL "I myself glimpsed the ghost just last night. " 'LORD " and some guests were sitting up late, " <GET ,LDESC-STRINGS 13> ;"lounging and chatting" " in the " 'GREAT-HALL ". After they retired, I came upstairs to clean up and turn off the lights. As I entered the " 'GREAT-HALL " from the west, I saw the ghost on the far side of the room. " <GET ,QUESTIONS ,AWAITING-REPLY> "\"" CR> <RFATAL>> <ROUTINE BUTLER-MIRROR-STORY () <TELL "hould you wish to view " 'PLAYER " from all angles while dressing, you can do so by adjusting the " 'YOUR-MIRROR " and the hinged " 'DRESSING-MIRROR " of the " 'DRESSING-TABLE ".\"" CR>> ] <OBJECT MAID (DESC "upstairs maid") (IN LOCAL-GLOBALS) (ADJECTIVE UPSTAIRS GLADYS MAID ;"for poss's") (SYNONYM GLADYS MAID) (FLAGS PERSONBIT FEMALE SEENBIT VOWELBIT) ;(LDESC 0) (CHARACTER 12)> <OBJECT GHOST-OLD (DESC "White Lady" ;"old ghost spirit") (IN LOCAL-GLOBALS) (ADJECTIVE OLD ;ORIGINAL WHITE) (SYNONYM SPIRIT PHANTOM LADY LEGEND ;WIFE) ;(GHOST GHOSTS SPOOK SPECTER SPECTRE) (FLAGS PERSONBIT FEMALE SEENBIT) (CHARACTER 16)> [ <OBJECT GHOST-NEW (DESC ;"new " "ghost") (IN LOCAL-GLOBALS) (ADJECTIVE BLOND BLONDE NEW DEE\'S HER CASTLE GHOST ;"for poss's") (SYNONYM GHOST ;"GHOSTS SPECTER SPECTRE SPOOK MURDER") ;(SPIRIT PHANTOM) (FLAGS SEENBIT OPENBIT ;PERSONBIT SEARCHBIT NDESCBIT ;ONBIT) (LDESC 0) (WEST "lurking in the shadows") (CAPACITY 40) (LINE 0) (CHARACTER 10 ;0) (DESCFCN GHOST-NEW-D) (ACTION GHOST-NEW-F)> <ROUTINE GHOST-NEW-D ("OPTIONAL" (ARG <>)) <COND (<FSET? ,GHOST-NEW ,TOUCHBIT> <DESCRIBE-PERSON ,GHOST-NEW>) (T <FCLEAR ,GHOST-NEW ,NDESCBIT> <FSET ,GHOST-NEW ,PERSONBIT> <FSET ,GHOST-NEW ,TOUCHBIT> <FSET ,GHOST-NEW ,SEENBIT> <FSET ,COSTUME ,SEENBIT> <CRLF> <COND (<FSET? ,GHOST-NEW ,MUNGBIT> <TELL "Lying " <GROUND-DESC> " i">) (T <TELL "Out of the dark come">)> <TELL "s a figure with " ,LONG-BLOND-HAIR ", dressed all in silvery white and glowing with an almost unearthly light." CR>)> <RTRUE>> <GLOBAL GHOST-CACKLES "The ghost only cackles in response.|"> <ROUTINE GHOST-NEW-F ("OPTIONAL" (ARG <>) "AUX" OBJ ;X) <COND (<==? .ARG ,M-WINNER> <COND (<NOT <GRAB-ATTENTION ,GHOST-NEW>> <RFATAL>) ;(<SET X <COM-CHECK ,GHOST-NEW>> <COND (<==? .X ,M-FATAL> <RFALSE>) (<==? .X ,M-OTHER> <RFATAL>) (T <RTRUE>)>) (T <TELL ,GHOST-CACKLES> <RFATAL>)>) (<SET OBJ <ASKING-ABOUT? ,GHOST-NEW>> <COND (<GRAB-ATTENTION ,GHOST-NEW .OBJ> <COND (<NOT <EQUAL? ,VARIATION ,LORD-C>> <TELL ,GHOST-CACKLES>) (<NOT <LOVER-SPEECH>> <GHOST-FLEES>)>)> <RFATAL>) (<VERB? EXAMINE> <TELL CHE ,GHOST-NEW " is wearing heavy white makeup with black eyes and lips. "> <DESCRIBE-GOWN> <CRLF> <COMMON-OTHER ,GHOST-NEW>) (<OR <VERB? BRUSH SEARCH UNDRESS> <AND <VERB? SEARCH-FOR> <IOBJ? COSTUME>>> <COND (<NOT <FSET? ,GHOST-NEW ,MUNGBIT>> <TELL ,GHOST-CACKLES> <RTRUE>) (<AND <IN? ,COSTUME ,GHOST-NEW> ;<FSET? ,GHOST-NEW ,MUNGBIT>> <UNDRESS-GHOST> <RTRUE>)>) (<SET OBJ <GHOST-NEW-VERBS>> <COND (<GRAB-ATTENTION ,GHOST-NEW> <COND (<NOT <EQUAL? ,VARIATION ,LORD-C>> <TELL ,GHOST-CACKLES>) (<OR <==? .OBJ 2> <NOT <LOVER-SPEECH>>> <GHOST-FLEES>)>)> <RFATAL>) (T <PERSON-F ,GHOST-NEW .ARG>)>> <ROUTINE GHOST-NEW-VERBS () <COND (<VERB? BOW GIVE SGIVE> ;"friendly" <RTRUE>) (<VERB? KISS LISTEN RUB> ;"friendly" <RTRUE>) (<VERB? SMILE> ;"friendly" <RTRUE>) (<SPEAKING-VERB? ,GHOST-NEW> ;"friendly" <RTRUE>) (<VERB? ARREST MUNG PUSH SLAP STOP YELL> ;"unfriendly" <RETURN 2>) (<VERB? TAKE> ;"unfriendly" <COND (<NOT <FSET? ,GHOST-NEW ,MUNGBIT>> <RETURN 2>)>)>> <GLOBAL VILLAIN-KNOWN?:FLAG <>> <ROUTINE UNDRESS-GHOST ("AUX" (L <LOC ,GHOST-NEW>) ADJ ;(C <GETP ,GHOST-NEW ,P?CHARACTER>)) ;<FSET ,GHOST-NEW ,PERSONBIT> <MOVE ,COSTUME ,WINNER> <FCLEAR ,COSTUME ,NDESCBIT> <FCLEAR ,COSTUME ,WORNBIT> <FSET ,COSTUME ,TOUCHBIT> <FSET ,COSTUME ,TAKEBIT> <MOVE ,GHOST-NEW ,LOCAL-GLOBALS> <MOVE ,VILLAIN-PER .L> ;<SETG OTHER-CHAR ,GHOST-NEW> ;<PUT ,CHARACTER-TABLE .C ,VILLAIN-PER> ;<PUT ,CHAR-POSS-TABLE <+ 1 .C> ,OTHER-POSS> ;<SETG OTHER-POSS ,W?G\'S> <COND (<SET ADJ <GETP ,VILLAIN-PER ,P?STATION>> <COND (<T? ,OTHER-POSS-POS> <PUTB <GETPT ,HEAD ,P?ADJECTIVE> ,OTHER-POSS-POS .ADJ> <PUTB <GETPT ,HANDS ,P?ADJECTIVE> ,OTHER-POSS-POS .ADJ> <PUTB <GETPT ,EYE ,P?ADJECTIVE> ,OTHER-POSS-POS .ADJ> <PUTB <GETPT ,OTHER-OUTFIT ,P?ADJECTIVE> ,OTHER-POSS-POS .ADJ>)>)> <THIS-IS-IT ,VILLAIN-PER> <FSET ,VILLAIN-PER ,MUNGBIT> <PUTP ,VILLAIN-PER ,P?LDESC 19 ;"out cold"> <SETG VILLAIN-KNOWN? T> <TELL "When you remove the " D ,COSTUME ", you discover " D ,VILLAIN-PER " underneath!" CR> <CONGRATS ,COSTUME> ;<COND (<==? ,VILLAIN-PER ,LOVER ;,LORD> <UNSNOOZE ,LOVER> ;"because no body parts!")>> <ROUTINE DESCRIBE-GOWN () <FSET ,GHOST-NEW ,PERSONBIT> <TELL "The gown "> <COND (<NOT <==? ,LIT ,HERE>> <TELL "seems to fluoresce in the dark. It ">)> <TELL "has a "> <COND (<EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C ;,OFFICER-C> <TELL "high">) (T <TELL "low">)> <TELL " neckline and "> <COND (<EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C ;,OFFICER-C> <TELL "long">) (T <TELL "no">)> <TELL " sleeves.">> <OBJECT COSTUME (DESC "ghost costume") (ADJECTIVE GHOST G\'S HER HIS WHITE BLOND BLONDE PALE) (SYNONYM COSTUME DISGUISE GOWN WIG ;SHEET) ;(GENERIC GENERIC-CLOTHES) (FLAGS WEARBIT TAKEBIT SECRETBIT ONBIT) (SIZE 20) (ACTION COSTUME-F)> <ROUTINE COSTUME-F () <COND (<VERB? TELL-ABOUT> <COND (<FSET? ,PRSO ,PERSONBIT> <COND (<==? ,VARIATION <GETP ,PRSO ,P?CHARACTER>> <SETG PRSA ,V?ASK-ABOUT> <RFALSE>) (T <TELL-ABOUT-OBJECT ,PRSO ,COSTUME ,FOUND-COSTUME>)>)>) (<REMOTE-VERB?> <RFALSE>) (<AND <NOUN-USED? ,W?WIG> <EQUAL? ,VARIATION ,LORD-C>> <SETG CLOCK-WAIT T> <TELL "(There is no wig!)" CR>) (<VERB? EXAMINE LOOK-INSIDE> <COND (<NOT <NOUN-USED? ,W?WIG>> <DESCRIBE-GOWN> <COND (<EQUAL? <LOC ,COSTUME> ,GHOST-NEW ,VILLAIN-PER> <TELL " It's on">) (T <TELL " When you hold it up, you can see it would fit">)> <TELL " a "> <COND (<EQUAL? ,VARIATION ,LORD-C ,FRIEND-C ,DOCTOR-C> <TELL "person of average height.">) (T ;<EQUAL? ,VARIATION ;,DEALER-C ,PAINTER-C ;,OFFICER-C> <TELL "tall person.">)> <CRLF>)> <COND (<AND <NOT <NOUN-USED? ,W?GOWN>> <NOT <EQUAL? ,VARIATION ,LORD-C>>> <TELL "It's obvious that the wig was designed to resemble " 'LOVER "'s long, flowing hair." CR> <COND (<NOT <EQUAL? <LOC ,COSTUME> ,GHOST-NEW ,VILLAIN-PER>> <TELL "Inside, you notice several individual "> <COND (<EQUAL? ,VARIATION ,FRIEND-C> <TELL "red">) (<EQUAL? ,VARIATION ,DOCTOR-C> <TELL "grayish">) ;(<EQUAL?,VARIATION,DEALER-C><TELL "sandy-brown">) (T ;<EQUAL? ,VARIATION ,PAINTER-C> <TELL "tawny">) ;(<EQUAL?,VARIATION,OFFICER-C><TELL"dark blond">)> <TELL " hairs, the same color as "> <COND ;(<EQUAL? ,VARIATION ,LORD-C> <TELL 'LOVER>) (T <TELL D <GET ,CHARACTER-TABLE ,VARIATION>>)> <TELL "'s hair." CR> <CONGRATS ,COSTUME>)>)> <RTRUE>) ;(<VERB? FIND> <COND (<IN? ,COSTUME ,HERE> <COND (<FSET? ,COSTUME ,NDESCBIT> <DISCOVER ,COSTUME>) (T <TELL "It's right here!" CR>)>) (T <TELL "Results are negative." CR>)>) (<VERB? LOOK-UNDER TAKE TAKE-OFF> <COND (<IN? ,COSTUME ,GHOST-NEW> <PERFORM ,V?UNDRESS ,GHOST-NEW> <RTRUE>)>) (<OR <VERB? WEAR> <AND <VERB? PUT> <T? ,PRSI> <FSET? ,PRSI ,PERSONBIT>>> <WEAR-SCARE>)>> <ROUTINE WEAR-SCARE () <TELL "You start to put" THE ,PRSO " on"> <COND (<T? ,PRSI> <TELL !\ 'PRSI>)> <TELL ", but"> <COND (<DOBJ? NECKLACE-OF-D> <TELL ,CLASP-MUNGED "." CR>) (T <TELL " then decide it might scare the other guests." CR>)>> <GLOBAL LONG-BLOND-HAIR "long blonde hair"> ;<OBJECT WIG (DESC "blonde wig") (ADJECTIVE BLOND BLONDE PALE GHOST) (SYNONYM WIG) (FLAGS WEARBIT NDESCBIT) (SIZE 8) (ACTION WIG-F)> ] <GLOBAL CHARACTER-TABLE <PTABLE PLAYER FRIEND LORD PAINTER DOCTOR OFFICER ;5 DEALER DEB BUTLER LOVER GHOST-NEW ;10 COUSIN MAID DRAGON BUFFALO-HEAD RHINO-HEAD GHOST-OLD ;16>> <GLOBAL GUEST-TABLE <PLTABLE FRIEND DEB OFFICER DOCTOR DEALER PAINTER>> <GLOBAL CHAR-ROOM-TABLE <PLTABLE YOUR-ROOM TAMARA-ROOM JACK-ROOM VIVIEN-ROOM WENDISH-ROOM IAN-ROOM HYDE-ROOM IRIS-ROOM KITCHEN LIMBO LIMBO ;10 ;"just for convenience:" DRAWING-ROOM LIBRARY ;LUMBER-ROOM SITTING-ROOM BACKSTAIRS>> <GLOBAL CHAR-CLOSET-TABLE <LTABLE YOUR-CLOSET SECRET-LANDING-TAM SECRET-LANDING-JACK SECRET-VIVIEN-PASSAGE WENDISH-CORNER SECRET-IAN-PASSAGE HYDE-CLOSET IRIS-CLOSET KITCHEN SECRET-LANDING-JACK 0 ;"just for convenience:" DRAWING-CLOSET SECRET-LANDING-LIB ;SECRET-LANDING-2 SITTING-PASSAGE DINING-PASSAGE>> ;<GLOBAL OTHER-CHAR:OBJECT GHOST-NEW> ;<GLOBAL OTHER-POSS <VOC "G'S" ADJECTIVE>> <GLOBAL OTHER-POSS-POS:NUMBER 0> <GLOBAL CHAR-POSS-TABLE <LTABLE <VOC "MY" ADJECTIVE> <VOC "TAM'S" ADJECTIVE> <VOC "JACK'S" ADJECTIVE> <VOC "VIV'S" ADJECTIVE> <VOC "DOC'S" ADJECTIVE> <VOC "IAN'S" ADJECTIVE> <VOC "HYDE'S" ADJECTIVE> <VOC "IRIS'S" ADJECTIVE> <VOC "B'S" ADJECTIVE> <VOC "DEE'S" ADJECTIVE> <VOC "G'S" ADJECTIVE> <VOC "LI'S" ADJECTIVE> <VOC "MAID'S" ADJECTIVE> <VOC "WORM'S" ADJECTIVE> <VOC "BUF'S" ADJECTIVE> <VOC "RH'S" ADJECTIVE>>> <GLOBAL FOLLOW-LOC <TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ;16>> <GLOBAL TOUCHED-LDESCS <TABLE 0 0 0 0 0 0 0 0 0 0 0>> <GLOBAL FOUND-COSTUME <TABLE 0 0 0 0 0 0 0 0 0 0>> <GLOBAL FOUND-PASSAGES <TABLE 0 0 0 0 0 0 0 0 0 0>> <GLOBAL TOLD-ABOUT-GHOST<TABLE 0 0 0 0 0 0 0 0 0 0>> <GLOBAL TOLD-ABOUT-EVID <TABLE 0 0 0 0 0 0 0 0 0 0>> <GLOBAL SHOT <TABLE 0 0 0 0 0 0 0 0 0 0 0>> <ROUTINE WHY-ME () <COND (<BTST ,PRESENT-TIME 1> <TELL "\"You could do that " 'PLAYER ", you know.\"" CR> ;<TELL "\"If you think that will help, do it!\"" CR>) (T <TELL "\"I think you can do that better " 'PLAYER ".\"" CR>)>> <ROUTINE DESCRIBE-PERSON (PER "AUX" (STR <>)) <SET STR <GETP .PER ,P?LDESC>> <COND (<AND <NOT <EQUAL? .PER ,BUTLER ,LOVER>> <ALL-TOGETHER-NOW?>> <COND (<==? .PER ,LORD> <SETG P-HIM-OBJECT <>> <SETG P-HER-OBJECT <>> <TELL D .PER " and all his guests are here."> ;<COND (<AND .STR ;<NOT <==? .STR 6 ;"walking along">>> <TELL <GET ,LDESC-STRINGS .STR>>) (<AND <SET STR <GETPT .PER ,P?WEST>> <SET STR <GET .STR ,NEXITSTR>>> <TELL .STR>) (T <TELL <GET ,LDESC-STRINGS 13> ;"lounging and chatting">)> <COND (<AND <ZERO? ,CONFESSED> <NOT <QUEUED? ,I-LIONEL-SPEAKS>>> <TELL " They smile pleasantly but, with typical British reserve, seem willing to leave you to your own devices." ;"probably think you're no match for a ghost.">)> <CRLF>)> <RTRUE>)> <COND (<AND .STR ;<NOT <==? .STR 6 ;"walking along">>> <PUT ,TOUCHED-LDESCS <GETP .PER ,P?CHARACTER> .STR> ;<TELL <GET ,LDESC-STRINGS .STR>> <RFALSE>)> <TELL CTHE .PER " is "> <COND (<AND <SET STR <GETPT .PER ,P?WEST>> <SET STR <GET .STR ,NEXITSTR>>> <TELL .STR>) ;(T <TELL "looking just as you want">)> <TELL "."> <COND (<==? .STR 6 ;"walking along"> <PRINTC 32>) (T <CRLF>)> <RTRUE>> <ROUTINE ALL-TOGETHER-NOW? () <COND (<AND <EQUAL? <LOC ,LORD> ,HERE ,PSEUDO-OBJECT> <EQUAL? <LOC ,FRIEND> ,HERE ,PSEUDO-OBJECT> <EQUAL? <LOC ,DEB> ,HERE ,PSEUDO-OBJECT> <EQUAL? <LOC ,OFFICER> ,HERE ,PSEUDO-OBJECT> <EQUAL? <LOC ,DOCTOR> ,HERE ,PSEUDO-OBJECT> <EQUAL? <LOC ,DEALER> ,HERE ,PSEUDO-OBJECT> <EQUAL? <LOC ,PAINTER> ,HERE ,PSEUDO-OBJECT>> ;<MOVE ,CREW ,HERE> ;<PUTP ,LORD ,P?LDESC 13> <RTRUE>) (T ;<REMOVE ,CREW> ;<PUTP ,LORD ,P?LDESC 0> <RFALSE>)>> <GLOBAL LDESC-STRINGS <PLTABLE "dancing" "sipping sherry" ;3 "watching you" ;"talking quietly" "looking at you with suspicion" 0 ;"gazing out the window" ;6 "walking along" "sobbing quietly" "poised to attack" ;9 "waiting patiently" "eating with relish" "preparing dinner" ;12 "listening to you" "lounging and chatting" "asleep" ;15 0 ;"reading a note" "listening" "preparing to leave" ;18 "deep in thought" "out cold" "ignoring you" ;21 "searching" "playing the piano" "following you" ;24 "brushing her hair" "looking sleepy">> <ROUTINE TELL-ABOUT-OBJECT (PER OBJ GL "AUX" C) <COND (<T? <GET .GL ,PLAYER-C>> <SET C <GETP .PER ,P?CHARACTER>> <COND (<ZERO? <GET .GL .C>> <PUT .GL .C T> <COND (<NOT <==? .C ,VARIATION>> <PUTP .PER ,P?LINE 0>)> ;<TELL "\"You mean you found a " D .OBJ "? "> <RETURN <GOOD-SHOW .PER .OBJ>>) (T <TELL"\"I know that you found a " D .OBJ ".\"" CR>)>)>> <ROUTINE PERSON-F (PER ARG "AUX" OBJ X L C N) <SET L <LOC .PER>> <SET C <GETP .PER ,P?CHARACTER>> <COND ;(<==? .ARG ,M-WINNER> <COND (<NOT <GRAB-ATTENTION .PER>> <RFATAL>) (<SET X <COM-CHECK .PER>> <COND (<==? .X ,M-FATAL> <RFALSE>) (<==? .X ,M-OTHER> <RFATAL>) (T <RTRUE>)>) (T <WHY-ME> <RFATAL>)>) (<VERB? ALARM SHAKE> <COND (<==? ,PRSO .PER> <COND (<AND <QUEUED? ,I-COME-TO> <EQUAL? .PER ,VILLAIN-PER ,GHOST-NEW>> <QUEUE I-COME-TO 1> ;"will respond" <RTRUE>) (<UNSNOOZE .PER T> <TELL CHE .PER " gasps to see you so close!" CR> <RTRUE>) (T ;<VERB? SHAKE> <TELL CHE .PER is " still "> <COND (<SET X <GETP .PER ,P?LDESC>> <TELL <GET ,LDESC-STRINGS .X>>) (<SET X <GETPT .PER ,P?WEST>> <TELL <GET .X ,NEXITSTR>>)> <TELL "." CR>)>)>) (<VERB? FORGIVE> <COND (<NOT <GRAB-ATTENTION .PER>> <RFATAL>)> <TELL "\"Thank you so much. I didn't realize I'd offended you.\"" CR>) (<VERB? GIVE> <COND (<AND <EQUAL? ,PRSI .PER> <HELD? ,PRSO>> <COND (<NOT <GRAB-ATTENTION .PER>> <RFATAL>)> <RFALSE>)>) ;(<VERB? LISTEN> ;"moved to PRE-LISTEN" <COND (<==? <GETP .PER ,P?LDESC> 22 ;"playing the piano"> <TELL "The music sounds lovely." CR> <RTRUE>)>) (<VERB? LAMP-OFF> <COND (<T? <GETP .PER ,P?LINE>> <TELL "Seems you've already done that." CR>) (T <WONT-HELP>)>) (<VERB? MUNG SEARCH SEARCH-FOR> <COND (<AND <==? .PER ,PRSO> ;<OR <NOT <==? .PER ,FRIEND>> <EQUAL? ,VARIATION ,FRIEND-C>> <FSET? .PER ,PERSONBIT> <NOT <FSET? .PER ,MUNGBIT>>> <PUTP .PER ,P?LINE <+ 1 <GETP .PER ,P?LINE>>> <COND (<NOT <EQUAL? <GETP .PER ,P?LDESC> 4 ;"looking at you with suspicion">> ;<EQUAL? .PER ,FRIEND> <PUTP .PER ,P?LDESC 20 ;"ignoring you">)> <TELL CHE .PER " pushes you away and mutters, \"I don't think that's called for.\"" CR> <RTRUE>)>) (<VERB? SHOW> <COND (<==? .PER ,PRSO> <COND (<AND ;<NOT <EQUAL? ,PRSI ,PASSAGE>> <NOT <GRAB-ATTENTION .PER>>> <RFATAL>) ;(<EQUAL? ,PRSI ,LOVER> <TELL "\"She's alive! That's incredible!\"" CR> <RTRUE>) (T <PERFORM ,V?TELL-ABOUT ,PRSO ,PRSI> <RTRUE>)>)>) (<VERB? SMILE> <COND (<==? .PER ,PRSO> <COND (<NOT <GRAB-ATTENTION .PER>> <RFATAL>) (T <TELL CHE ,PRSO smile " back at you." CR> <RTRUE>)>)>) (<VERB? TELL-ABOUT> <COND (<==? .PER ,PRSO> <COND (<NOT <GRAB-ATTENTION .PER>> <RFATAL>)> <PUTP .PER ,P?LDESC 12 ;"listening to you"> <COND ;(<EQUAL? ,PRSI ,BELL> <COND (<==? <GET <GT-O .PER> ,GOAL-FUNCTION> ,X-TO-BELL> ;"GOAL-FUNCTION is already changed by now." <TELL "\"Oh, I see. You rang the bell.\"" CR> <RTRUE>)>) (<AND <FSET? ,PRSI ,RMUNGBIT> <FSET? ,PRSI ,SEENBIT> <NOT <FSET? ,PRSI ,PERSONBIT>>> <PUT ,TOLD-ABOUT-EVID <GETP .PER ,P?CHARACTER> T> <TELL ,THATS-INTERESTING> <RTRUE>) (<AND <EQUAL? ,PRSI ,CLUE-1> ;<T? <GET ,CLUE-1-KNOWN ,PLAYER-C>>> ;<PUT ,CLUE-1-KNOWN <GETP .PER ,P?CHARACTER> T> <TELL ,THATS-INTERESTING> <RTRUE>) (<EQUAL? ,PRSI ,CONFESSED> <COND (<NOT <==? .PER ,CONFESSED>> <TELL ,IM-SHOCKED> <RTRUE>)>) (<EQUAL? ,PRSI ,GHOST-NEW> <COND (<AND <FSET? ,GHOST-NEW ,TOUCHBIT> <NOT <==? .PER ,GHOST-NEW>>> <PUT ,TOLD-ABOUT-GHOST <GETP .PER ,P?CHARACTER> T> <TELL "\"You saw the ghost? Tell me, how can I help?\"" CR> <RTRUE>)>) (<SECRET-PASSAGE-OR-DOOR? ,PRSI> <TELL-ABOUT-OBJECT ,PRSO ,PASSAGE ,FOUND-PASSAGES> <RTRUE>)> <TELL "\"I don't know what you mean.\"" CR>)>) (<VERB? THROW-AT> <COND (<AND <==? .PER ,PRSI> <FSET? .PER ,PERSONBIT> <NOT <FSET? .PER ,MUNGBIT>>> <MOVE ,PRSO ,PRSI> <TELL CHE .PER " catches" THE ,PRSO " with" HIS .PER !\ > <COND (<EQUAL? .PER ,DEB ,DOCTOR ;,DEALER> <TELL "lef">) (T <TELL "righ">)> <TELL "t hand." CR> <RTRUE>)>) ;(<SET OBJ <ASKING-ABOUT? .PER>> <COND (<NOT <GRAB-ATTENTION .PER>> <RFATAL>) ;(<SET X <COMMON-ASK-ABOUT .PER .OBJ>> <COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>) (T <DONT-KNOW .PER .OBJ>)>) (T <COMMON-OTHER .PER>)>> <ROUTINE SECRET-PASSAGE-OR-DOOR? (OBJ) <COND (<EQUAL? .OBJ ,PASSAGE ,SECRET-JACK-DOOR ,SECRET-TAMARA-DOOR ,SECRET-LIBRARY-DOOR ,SECRET-DRAWING-DOOR ,SECRET-SITTING-DOOR ,SECRET-DINING-DOOR ,SECRET-YOUR-DOOR ,SECRET-IRIS-DOOR ,SECRET-WENDISH-DOOR ,SECRET-VIVIEN-DOOR ,SECRET-IAN-DOOR ,SECRET-HYDE-DOOR> <RTRUE>)>> "People Functions" <ROUTINE CARRY-CHECK (PER) <COND (<FIRST? .PER> <TELL CHE .PER is " holding"> <PRINT-CONTENTS .PER> <TELL "." CR>)>> <ROUTINE WINNER-DESCRIBE (OBJ RM) <TELL "\"You can see " D .OBJ> <COND (<==? ,HERE .RM> <TELL " right over there">) (T <TELL " in the " D .RM>)> <TELL ".\"" CR>> <ROUTINE TRANSIT-TEST (PER) <COND (<OR <VERB? DISEMBARK LEAVE TAKE-TO THROUGH WALK WALK-TO> ;<AND <VERB? FOLLOW> <DOBJ? PLAYER>>> <WILLING? .PER>)>> <GLOBAL FAWNING:FLAG <>> <ROUTINE COM-CHECK (PER "AUX" N TAG) <SET N <GETP .PER ,P?LINE>> <SET TAG <GET ,TOLD-ABOUT-GHOST <GETP .PER ,P?CHARACTER>>> ;"First section is w/o fawning." <COND (<VERB? $CALL> ;"e.g. TAMARA, LOVE ME" <DONT-UNDERSTAND> <RETURN ,M-OTHER>) (<TRANSIT-TEST .PER> ;<COND (<OR <EQUAL? ,HERE ,DINING-ROOM> <QUEUED? ,I-TOUR>> <TELL "\"Not just now.\"" CR> <RTRUE>)> <RFATAL>) (<VERB? ALARM HELLO SORRY> <COND (<OR <DOBJ? ROOMS> <==? ,PRSO .PER>> <SETG WINNER ,PLAYER> <PERFORM ,PRSA .PER> <RTRUE>) (T <RFALSE>)>) ;(<AND <L? 0 .N> ;<OR <NOT <==? .PER ,FRIEND>> <EQUAL? ,VARIATION ,FRIEND-C>>> <TELL "\"I'm too "> <COND (<1? .N> <TELL "peeved">) (T <TELL "angry">)> <TELL " with you now.\"" CR> <RTRUE>) (<VERB? ARREST NO THANKS YES> <RFATAL> ;"let thru to next handler") (<VERB? DESCRIBE> <COND (<DOBJ? GHOST-NEW> <TELL "\"I'm sorry, but I didn't see" HIM ,GHOST-NEW ".\"" CR> <RTRUE>) (<DOBJ? MAID> <TELL ,NEVER-NOTICED-HER> ;<TELL "\"I've never really noticed" HIM ,PRSO ".\"" CR> <RTRUE>) (<DOBJ? COUSIN BUST ;RECORDER> <WINNER-DESCRIBE ,BUST ,DINING-ROOM> <RTRUE>) (<DOBJ? LOVER> <WINNER-DESCRIBE ,LOVER-PIC ,DRAWING-ROOM> <RTRUE>) ;(<DOBJ? TREASURE> <RFALSE>) (T <TELL "\"You could "> <COND (<NOT <EQUAL? <META-LOC ,PRSO> ,HERE>> <TELL "go ">)> <TELL "have a look for " 'PLAYER ", you know.\"" CR> <RTRUE>)>) (<VERB? FOLLOW WALK-TO> <COND (<==? .PER ,BUTLER> <RFALSE>) (<AND <VERB? WALK-TO> <OR <T? .TAG> <DOBJ? SLEEP-GLOBAL BED TAMARA-BED>>> <RFATAL>) (T <TELL "\"I will go where I please, thank you very much.\"" CR> <RTRUE>)>) (<VERB? INVENTORY> <COND (<NOT <CARRY-CHECK .PER>> <TELL CHE .PER is "n't holding anything." CR>)> <RTRUE>) (<VERB? LISTEN> <COND (<OR <DOBJ? PLAYER PLAYER-NAME> <NOT <IN? ,PRSO ,GLOBAL-OBJECTS>>> <TELL "\"I'm trying to, " FN "!\"" CR> <RTRUE>) (T <RFALSE>)>) (<VERB? RUB> <FACE-RED> <RTRUE>)> <COND (<AND <1? <RANDOM 3>> <WILLING? .PER T>> <COND (<EQUAL? .PER ,DEB> <SETG FAWNING T> <TELL "\"My dear "FN", how could I refuse someone as handsome as you?\" Iris murmurs, batting her eyelashes. ">) (<EQUAL? .PER ,OFFICER> <SETG FAWNING T> <TELL "\"Delighted to help you if I can, "FN" luv! One feels those great luminous eyes of yours can see right through a chap!\" says the handsome young guardsman. ">)>)> <COND (<AND <VERB? DANCE> <DOBJ? PLAYER>> <SETG WINNER ,PLAYER> <PERFORM ,PRSA .PER> <RTRUE>) (<OR <VERB? DANCE ;GOODBYE> <AND <VERB? WALK> <OR <DOBJ? P?OUT> <T? .TAG>>>> <COND ;(<==? .PER ,GHOST-NEW> <TELL "\"Don't be silly.\"" CR> <RTRUE>) (T ;<TELL "\"As you wish.\"" CR> <RFATAL> ;"let thru to next handler")>) (<VERB? SIGN> <TELL "You notice that" HE .PER " is "> <COND (<EQUAL? .PER ,DEB ,DOCTOR ;,DEALER> <TELL "lef">) (T <TELL "righ">)> <TELL "t-handed." CR>) (<VERB? KISS> <UNSNOOZE .PER> <TELL "\"I really don't think this is the proper time or place.\"" CR>) ;(<VERB? WALK-TO> <COND (<DOBJ? HERE GLOBAL-HERE> <TELL "\"I am here, "TN"!\"" CR>)>) (<VERB? TAKE ;"GET SEND SEND-TO BRING"> <COND (<IN? ,PRSO ,PLAYER> <SETG WINNER ,PLAYER> <PERFORM ,V?GIVE ,PRSO .PER> <RTRUE>)>) (<VERB? EXAMINE LOOK-INSIDE READ> <COND (<IN? ,PRSO ,PLAYER> <SETG WINNER ,PLAYER> <PERFORM ,V?SHOW .PER ,PRSO> <RTRUE>)>) (<VERB? FORGIVE> <SETG WINNER ,PRSO> <PERFORM ,V?SORRY .PER> <RTRUE>) (<AND <VERB? GIVE THROW-AT> <FSET? ,PRSI ,PERSONBIT>> <SETG WINNER ,PRSI> <PERFORM ,V?ASK-FOR .PER ,PRSO> <RTRUE>) (<AND <VERB? SGIVE> <FSET? ,PRSO ,PERSONBIT>> <SETG WINNER ,PRSO> <PERFORM ,V?ASK-FOR .PER ,PRSI> <RTRUE>) (<VERB? HELP> <COND (<EQUAL? ,PRSO <> ,PLAYER ,PLAYER-NAME> <SETG WINNER ,PLAYER> <PERFORM ,V?ASK .PER> <RTRUE>) (T <RFATAL>)>) (<VERB? FIND SHOW SSHOW> <COND (<VERB? SHOW> <SETG PRSA ,V?SSHOW> <SET N ,PRSI> <SETG PRSI ,PRSO> <SETG PRSO .N>)> <COND (<IN? ,PRSO ,ROOMS> ;"SHOW ME MY ROOM" <SETG WINNER ,PLAYER> <PERFORM ,V?WALK-TO ,PRSO> <RTRUE>) (<IN? ,PRSO .PER> <COND (<==? <ITAKE> T> <TELL CHE .PER " fumbles in" HIS .PER " pocket and produces" HIM ,PRSO "." CR>)> <RTRUE>) (<VERB? FIND> ;<SETG WINNER ,PLAYER> ;<PERFORM ,PRSA ,PRSO> <RFATAL>)>) (<VERB? PLAY> <COND (<DOBJ? PIANO> <TELL "\"I'm not very good at this sort of thing, but...\"|"> <RFATAL>) (T <RFALSE>)>) (<VERB? TELL> <COND (<DOBJ? PLAYER PLAYER-NAME> <SETG WINNER ,PLAYER> <PERFORM ,V?ASK .PER> <RTRUE>)>) (<VERB? TELL-ABOUT> <COND (<FSET? ,PRSO ,PERSONBIT> ;<DOBJ? PLAYER PLAYER-NAME> <SETG WINNER ,PLAYER> <PERFORM ,V?ASK-ABOUT .PER ,PRSI> <RTRUE>)>) (<VERB? STOP WAIT-FOR> <COND (<DOBJ? HERE GLOBAL-HERE PLAYER PLAYER-NAME ROOMS> <COND (<==? .PER ,FOLLOWER> <SETG FOLLOWER 0> <TELL "\"As you wish, "> <COND (<PRINT-NAME ,FIRST-NAME> <TELL !\.>)> <TELL "\"" CR>) (T <SETG WINNER ,PLAYER> <PERFORM ,V?$CALL .PER> <RTRUE>)>)>) (<VERB? ;WHAT TALK-ABOUT> <SETG WINNER ,PLAYER> <PERFORM ,V?ASK-ABOUT .PER ,PRSO> <RTRUE>)>> <GLOBAL NEVER-NOTICED-HER "\"I can't say that I ever noticed her much.\"|"> <ROUTINE EVIDENCE? (OBJ "OPTIONAL" (PER 0)) <COND (<AND <T? .PER> <NOT <EQUAL? ,VARIATION <GETP .PER ,P?CHARACTER>>>> <RFALSE>) (<EQUAL? .OBJ ,LETTER-MAID ,PASSAGE ,JEWEL> <RTRUE>) (<EQUAL? .OBJ ,LENS ,LENS-1 ,LENS-2> <RTRUE>) (<EQUAL? .OBJ ,COSTUME ,LENS-BOX ,EARRING> <RTRUE>) (<EQUAL? .OBJ ,BLOWGUN> <RTRUE>) (<AND <T? .OBJ> <NOT <FSET? .OBJ ,PERSONBIT>> <FSET? .OBJ ,RMUNGBIT> ;"evidence"> <RTRUE>)>> <GLOBAL IM-SHOCKED "\"I'm shocked!\"|"> <GLOBAL THATS-INTERESTING "\"Hmm... That certainly is interesting.\"|"> <GLOBAL ANCIENT-SECRETS "\"Yes, the oldest parts of the castle hold ancient secrets, some fascinating and some not.\""> <ROUTINE SETUP-SHOT (PER) <SETG VILLAIN-KNOWN? T> <MOVE ,BLOWGUN .PER> <FCLEAR ,BLOWGUN ,NDESCBIT> <FCLEAR ,BLOWGUN ,TAKEBIT> <PUTP .PER ,P?LINE 2> <PUTP .PER ,P?LDESC 8 ;"poised to attack"> <SETG AIMED-HERE ,HERE> <SETG SHOOTER .PER> <QUEUE I-SHOT ,CLOCKER-RUNNING ;2>> <ROUTINE COMMON-ASK-ABOUT (PER OBJ) %<DEBUG-CODE <COND (,DBUG <TELL "{CAB: " D .PER !\/ D .OBJ "}|">)>> <COND (<EVIDENCE? .OBJ .PER> <TELL CHE .PER " flinches a little before answering.|">) (<EVIDENCE? .OBJ> <COND (<T? ,CONFESSED> <TELL ,IM-SHOCKED> <RTRUE>) (T <TELL CHE .PER " says, \""> <COND (<1? <RANDOM 2>> <TELL "Good Lord">) (T <TELL "I say">)> <TELL "! I think you're onto something here.\"" CR> <RTRUE>)>)> <COND (<AND <FSET? .OBJ ,RMUNGBIT> ;"evidence" <VERB? CONFRONT SHOW> <NOT <FSET? .OBJ ,PERSONBIT>>> <PUT ,TOLD-ABOUT-EVID <GETP .PER ,P?CHARACTER> T>)> <COND (<AND <EQUAL? .OBJ ,SEARCHER> <==? <GETP .OBJ ,P?LDESC> 21 ;"searching">> <COND (<EQUAL? .PER ,SEARCHER> <TELL "\"You mean, why am I searching? I'm sure you can guess.\"" CR>) (T <TELL "\"I imagine that " D .OBJ " is searching because"> <THIS-IS-IT .OBJ> <TELL HE .OBJ " got a bright idea. I prefer to let our" ,FAMOUS-YOUNG-DETECTIVE " do the work.\"" CR>)>) (<EQUAL? .OBJ .PER> <TELL "\"I have no secrets. Anyone can see what I am.\"" CR>) (<EQUAL? .OBJ ,PLAYER ,PLAYER-NAME> <TELL "\"You're "> <TELL-FULL-NAME> <TELL ", the" ,FAMOUS-YOUNG-DETECTIVE ".\"" CR>) (<EQUAL? .OBJ ,BUTLER> <TELL "\"He's served the family all his life.\"" CR>) (<EQUAL? .OBJ ,LOVER> <TELL "\"Poor thing, her life came to a sad ending."> <COND (<==? .PER ,DOCTOR> <TELL " As did her grandfather, whom I treated at my clinic.">)> <TELL "\"" CR>) (<EQUAL? .OBJ ,COUSIN ,BUST ;,RECORDER> <COND (T ;<NOT <EQUAL? .PER ,BUTLER ,PAINTER>> <TELL "\"He was a bit of a strange bird, was Lionel.\"" CR>)>) (<EQUAL? .OBJ ,GHOST-NEW ,DANGER ,HAUNTING> <TELL "\"I myself haven't seen" HIM ,GHOST-NEW ".\"" CR>) (<EQUAL? .OBJ ,GHOST-OLD> <TELL "\"Oh, she has haunted " 'CASTLE " for centuries -- a lovely phantom in a white gown, with long pale hair. She was said to be the unfaithful wife of an early Lord " ,TRESYLLIAN ", who had her walled up alive in the tower.\"" ;" Her spirit was sometimes seen at night, until poor " ;"they finally un-walled her bones and gave them decent burial. After that, the haunting stopped -- until a couple of months ago, when poor 'LOVER Hallam drowned in the castle well.\"" ;" That was just before 'LORD hired me to catalog the castle library." CR>) (<EQUAL? .OBJ ,MAID> <TELL ,NEVER-NOTICED-HER> <RTRUE>) (<FSET? .OBJ ,PERSONBIT> <RFALSE>) (<AND <EQUAL? ,VARIATION <GETP .PER ,P?CHARACTER>> <OR <FSET? .OBJ ,RMUNGBIT> ;"evidence" <EQUAL? .OBJ ,BLOWGUN ;,COSTUME>>> ;<PUT ,TOLD-ABOUT-EVID <GETP .PER ,P?CHARACTER> T> ;"done above" <PUTP .PER ,P?LINE 2> ;"angry" <TELL "\"What can I say?\"" HE .PER " shrugs. \"It's a fair cop. You've caught me with damning evidence."> <COND (<OR <EQUAL? ,VARIATION ,FRIEND-C ,LORD-C> <NOT <EQUAL? ,HERE <GET ,CHAR-ROOM-TABLE <+ 1 <GETP .PER ,P?CHARACTER>>>>> <FIND-FLAG-HERE ,PERSONBIT ,PLAYER .PER>> <TELL "\"" CR> <RTRUE>)> <COND (<IN? ,BLOWGUN .PER> <TELL "\" " CHE .PER>) (T <TELL " But there's something you don't know yet"> <IAN-CALLS-YOU> <TELL ", which may put the matter in a different light.\"| Still smiling," HE .PER " puts" HIS .PER " hand into" THE ,HIDING-PLACE ", and">)> <COND (<EQUAL? <LOC ,BLOWGUN> .PER ,HIDING-PLACE> <SETG DISCOVERED-HERE ,HERE> <SETUP-SHOT .PER> <COND (<NOT <FSET? ,BLOWGUN ,NDESCBIT>> ;<VERB? GIVE SGIVE> <TELL " takes">) (T <FCLEAR ,BLOWGUN ,NDESCBIT> <TELL " suddenly extracts">)> <TELL THE ,BLOWGUN " and aims it at you!" CR> <RTRUE>) (T ;<FSET? ,BLOWGUN ,TOUCHBIT> <TELL HIS .PER " jaw drops as" HIS .PER " hand comes out, empty." CR> <RTRUE>)>) (<EQUAL? .OBJ ,ACCIDENT> <TELL "\"You'd best ask Jack about that, or " 'BUTLER ".\"" CR>) (<EQUAL? .OBJ ,BELL> <TELL "\"It's actually a ship's bell off an old British man-o'-war.\"" ;" that was part of Nelson's fleet at Trafalgar.\"" CR>) (<AND <EQUAL? .PER ,SEARCHER> <ZERO? ,LIONEL-SPEAKS-COUNTER> <SHOWING-CLUE? .OBJ> <NOT <VERB? ASK-ABOUT>>> <QUEUE I-SEARCH 1> <TELL ,THATS-INTERESTING> <RTRUE>) (<EQUAL? .OBJ ,CORPSE> <TELL !\" 'CORPSE " was never recovered from the well. They think it was carried out to sea by an underground tidal stream.\"" CR>) (<AND <EQUAL? .OBJ ,COSTUME ,BLOWGUN ,LENS-BOX> <OR <AND <EQUAL? .PER ,PAINTER ,DOCTOR> ;"lie" <EQUAL? ,VARIATION <GETP .PER ,P?CHARACTER>>> <AND <EQUAL? .PER ,DEB> ;"truth" <EQUAL? ,VARIATION ,FRIEND-C>>> ;<EQUAL? ,VARIATION <GETP .PER ,P?CHARACTER>>> <SET OBJ <GET ,CHAR-ROOM-TABLE <+ 1 <GETP .PER ,P?CHARACTER>>>> <TELL D .PER "'s look changes to a puzzled and angry frown. "> <COND (<NOT <EQUAL? .PER ,LORD ,FRIEND>> <TELL "\"You mean you found that "> <COND (<EQUAL? ,HERE .OBJ> <TELL "here ">)> <TELL "in my room?\"" HE .PER " gasps. ">)> <TELL "\"How can I explain it when it doesn't belong to me? If you didn't bring it "> <COND (<NOT <EQUAL? ,HERE .OBJ>> <TELL !\t>)> <TELL "here " 'PLAYER ", then someone else planted it, trying to frame me as the maniac who's been posing as " 'LOVER "'s ghost!\"" CR>) (<EQUAL? .OBJ ,COSTUME> <COND (<T? <GET ,FOUND-COSTUME ,PLAYER-C>> <TELL "\"So that's how "> <COND (<ZERO? ,CONFESSED> <TELL "somebody">) (T <TELL 'VILLAIN-PER>)> <TELL " posed as a ghost!\"" CR>)>) (<EQUAL? .OBJ ,DINNER ,DINNER-2 ;,DINNER-3> <COND (<L? ,PRESENT-TIME ,DINNER-TIME> <TELL "\"Tonight's a dinner in honor of "> <COND (<==? .PER ,BUTLER> <TELL "the late Lord ">)> <TELL "Lionel's birthday. In his will, he asked for these particular guests -- except "> <COND (<==? .PER ,FRIEND> <TELL "me">) (T <PRINTD ,FRIEND>)> <TELL ", of course. It's at eight o'clock"> <COND (<NOT <==? .PER ,BUTLER>> <TELL " -- or whenever " 'BUTLER " gets 'round to it">)> <TELL ".\"" CR>) (<EQUAL? <META-LOC ,DINNER> ,HERE> <TELL "\"It looks delicious!\"" CR>) (T <COND (<==? <GETP .PER ,P?LDESC> 10 ;"eating with relish"> <TELL "\"I'm enjoying">) (T <TELL "\"I enjoyed">)> <TELL " it immensely."> <COND (<T? ,MISSED-DINNER> <TELL " We started without you, as we assumed you were sleuthing.">)> <TELL "\"" CR>)>) (<OR <EQUAL? .OBJ ,BRICKS ,COFFIN ,CRYPT> <EQUAL? .OBJ ,DUNGEON ,IRON-MAIDEN ,TOMB> <EQUAL? .OBJ ,WELL>> <TELL ,ANCIENT-SECRETS CR>) (<EQUAL? .OBJ ,JEWEL> <TELL CHE .PER> <COND (<AND <==? .PER ,FRIEND> <FSET? ,EARRING ,LOCKED>> ;"matched to stone" <TELL " says, \"Oh, thank you for finding it! I've looked everywhere!\"" CR> <RTRUE>) (<==? ,HERE <META-LOC ,JEWEL>> <TELL " looks at it with interest"> <COND (<EQUAL? .PER ,DEALER> <TELL ", putting a monocle in one eye to see better">)>) (T <TELL " listens to your description of it">)> <TELL ". But" HE .PER " says" HE .PER " can't identify it." CR>) (<EQUAL? .OBJ ,LAMP> <TELL "\"I think " 'BUTLER " keeps"> <IN-CASE-OF-BLACKOUT> <RTRUE>) (<AND <EQUAL? .OBJ ,LUGGAGE> <IN? ,LUGGAGE ,BUTLER>> <TELL "\"Don't panic."> <BOLITHO-WILL> <TELL ".\"" CR>) (<EQUAL? .OBJ ,MACE> <TELL "\"That is a long story, "> <COND (<TITLE-NAME> <TELL !\.>)> <TELL " When Lord Lionel was alive, he had a pit bulldog to protect the castle. A right vicious brute it was, too! Several times it attacked the servants, so the master gave out these " 'MACE "s. Just press the button on the side, and it sprays something foul. It always worked a treat on that wretched dog, and I daresay it could stop a ghost just as well.\"" CR>) (<EQUAL? .OBJ ,NECKLACE-OF-D> <TELL "\"The police returned it to "> <COND (<==? .PER ,LORD> <TELL "me">) (T <TELL 'LORD>)> <TELL " after the inquest.\"" CR>) (<SECRET-PASSAGE-OR-DOOR? .OBJ> <TELL-ABOUT-OBJECT .PER ,PASSAGE ,FOUND-PASSAGES>) ;(<EQUAL? .OBJ ,SERVANTS-QUARTERS> <COND (<IN? ,LETTER .PER> <MOVE ,LETTER ,WINNER> <TELL "\"Just read this.\" " CHE .PER " hands you" THE ,LETTER "." CR>) (T <TELL "\"Just read the " 'LETTER ".\"" CR>)>) (<EQUAL? .OBJ ,SKELETON> <TELL "\"Ugh! Those must be the bones of the " 'GHOST-OLD "!\"" ;"very first Lady Tresyllian. I suppose Lionel was morbid indeed if he moved her bones here from the village.\"" CR>) (<TREASURE-FOUND? .OBJ .PER> <RTRUE>) (<EQUAL? .OBJ ,YOUR-ROOM> <TELL "\"It's fortunate that one bedroom was available for you.\"" CR>) (<OR <EQUAL? .OBJ ,CASTLE> <IN? .OBJ ,ROOMS>> <TELL "\"Oh, it is a lovely piece of real estate, "> <COND (<EQUAL? .PER ,FRIEND> <TELL "isn't it">) (T <TELL "what">)> <TELL !\?> <COND (<EQUAL? .PER ,DOCTOR ,PAINTER ,DEALER> <TELL " Almost a shame to admit riffraff on weekends.">)> <TELL "\"" CR>) (<IN? .OBJ .PER> <TELL "\"I have it right here, "> <COND (<TITLE-NAME> <TELL !\.>)> <TELL "\"" CR>)>> <ROUTINE SHOWING-CLUE? (OBJ) <COND (<EQUAL? .OBJ ,CLUE-1 ,CLUE-2> <RTRUE>) (<EQUAL? .OBJ ,CLUE-3 ,CLUE-4> <RTRUE>) (<AND <==? .OBJ ,MAGAZINE> <EQUAL? ,VARIATION ,PAINTER-C>> <RTRUE>)>> <ROUTINE TREASURE-FOUND? (OBJ PER "AUX" X) <COND (<AND ;<T? ,CLUE-1-KNOWN> <OR <==? .OBJ ,TREASURE> ;<AND <==? .OBJ ,BOTTLE> <IN? ,MOONMIST ,BOTTLE>> <AND <==? .OBJ ,INKWELL> <IN? ,MOONMIST ,INKWELL>>>> ;<SETG TREASURE-FOUND .OBJ> <FCLEAR .OBJ ,SECRETBIT> <TELL "\"That must be the " 'ARTIFACT "!"> <SET X <TELL-STOP-SEARCHING? .PER>> <TELL "\"|"> <COND (<OR <IN? <SET PER ,FRIEND> ,HERE> <IN? <SET PER ,LORD> ,HERE>> <COND (<NOT <==? .PER ,CONFESSED>> ;<SET OBJ <GT-O .PER>> <PUTP .PER ,P?LINE 0> <THIS-IS-IT .PER> <TELL "\"That's super!\" adds " D .PER ". \"We can't thank you enough!"> <COND (<ZERO? .X> <SET X <TELL-STOP-SEARCHING? .PER>>)> <TELL "\"|">)>)> <COND (<AND <IN? ,SEARCHER ,HERE> <ZERO? .X> <TELL-STOP-SEARCHING? ,SEARCHER T T>> <TELL "\" says " D ,SEARCHER ".|">)> <COND (<AND ;<T? ,CLUE-1-KNOWN> <ZERO? ,TREASURE-FOUND>> <CONGRATS ,ARTIFACT>)> <RTRUE>)>> <ROUTINE TELL-STOP-SEARCHING? (PER "OPT" (COMMA <>) (NOSP <>) "AUX" OBJ) <COND (<AND <EQUAL? .PER ,SEARCHER> <==? <GET <SET OBJ <GT-O .PER>> ,GOAL-FUNCTION> ,X-SEARCHES>> <PUT .OBJ ,GOAL-FUNCTION ,NULL-F> ;<SETG SEARCHER <>> ;<QUEUE I-SEARCH 0> <COND (<ZERO? .NOSP> <TELL !\ >) (T <TELL !\">)> <TELL "Then that's the end of my searching"> <COND (<T? .COMMA> <TELL !\,>) (T <TELL !\.>)> <COND (<OR <NOT <SET OBJ <ZMEMQ ,HERE ,CHAR-ROOM-TABLE>>> <NOT <==? .PER <GET ,CHARACTER-TABLE <- .OBJ 1>>>>> <ESTABLISH-GOAL .PER ,SITTING-ROOM>)> <RTRUE>)>> <ROUTINE GOOD-SHOW (PER OBJ) <COND (<EQUAL? .PER ,GHOST-NEW ,CONFESSED> <RFALSE>)> <TELL !\"> <COND (<==? ,VARIATION <GETP .PER ,P?CHARACTER>> <TELL "How nice">) (<==? .PER ,FRIEND> <TELL "That's keen">) (<1? <RANDOM 2>> <TELL "Well done">) (T <TELL "Good show">)> <TELL "! You found " A .OBJ !\!> <COND (<==? .OBJ ,TREASURE> <TELL-STOP-SEARCHING? .PER T>)> <TELL "\" says " D .PER "." CR>> ;<ROUTINE DISCRETION (P1 P2 ;"OPTIONAL" ;(P3 <>) "AUX" L2 ;L3) <SET L2 <META-LOC .P2>> ;<COND (<T? .P3> <SET L3 <META-LOC .P3>>)> <COND (<NOT <==? ,HERE .L2>> <COND ;(<AND .P3 <==? ,HERE .L3>> <SET P2 .P3> <SET P3 <>>) (T <RFALSE>)>)> <TELL CHE .P1 " looks briefly toward" HIM .P2> ;<COND (<AND .P3 <==? ,HERE .L3>> <TELL " and" HIM .P3>)> <TELL " and then speaks in a whisper." CR>> <ROUTINE COMMON-DESC (PER) <TELL "He's a "> <COND (<==? .PER ,DOCTOR> <TELL "middle-sized man in his fifties"> <COND (<IN? ,MUSTACHE ,DOCTOR> ;<ZERO? ,WENDISH-BARE> <TELL ", with spectacles and a grizzled mustache">)> <TELL "." CR> <RTRUE>)> <TELL "tall"> <COND (<==? .PER ,LORD> <TELL ", handsome, dark-browed young man"> <COND (<G? ,BED-TIME ,PRESENT-TIME> <TELL " in dinner jacket and black tie">)>) (<==? .PER ,OFFICER> <TELL " blond"> <COND (<G? ,BED-TIME ,PRESENT-TIME> <TELL ", sporting a white dinner jacket and scarlet cummerbund. He moves with the elegant swagger of a Guards officer and young-man-about-Mayfair, both of which he is">)>) (<==? .PER ,DEALER> <TELL ", foppish art and antiques dealer"> <COND (<NOT <FSET? .PER ,MUNGBIT>> <TELL ". Despite his languid manner, you're aware of his penetrating glance. If you were buying a used car from this man, you'd want to check it out carefully">)>)> <TELL "." CR>> <ROUTINE COMMON-OTHER (PER "AUX" (X <>) N) <COND (<VERB? ASK> <RFALSE>) (<VERB? EXAMINE> <COND (<OR <EQUAL? .PER ,DOCTOR> <EQUAL? .PER ,LORD ,OFFICER ,DEALER>> <COMMON-DESC .PER>) (<NOT <==? .PER ,GHOST-NEW>> <TELL <GETP .PER ,P?TEXT> CR>)> ;<THIS-IS-IT .PER> <COND (<AND <IN? .PER ,HERE> <SET N <FIRST? .PER>> <NOT <FSET? .N ,NDESCBIT>>> <COND (<CARRY-CHECK .PER> <SET X T>)>)> <COND (<FSET? .PER ,MUNGBIT> <COND (<NOT <ZERO? .X>> <TELL "And">)> <HE-SHE-IT .PER <NOT .X> "is"> ;<SET X T> <PRINTC 32> <TELL <GET ,LDESC-STRINGS <GETP .PER ,P?LDESC>> "." CR>) ;(<NOT <FSET? .PER ,PERSONBIT>> <COND (<NOT <ZERO? .X>> <TELL "And">)> <FSET .PER ,PERSONBIT> <HE-SHE-IT .PER <NOT .X> "is"> <FCLEAR .PER ,PERSONBIT> <SET X T> <TELL " dead." CR>)> <COND (<EQUAL? .PER ,DEALER> <COND (<AND <EQUAL? <LOC ,LORD> ,HERE ,PSEUDO-OBJECT> <=? <GETP ,DEALER ,P?LDESC> 2> <ZERO? <GETP ,LORD ,P?LINE>>> <TELL "\"Montague began appraising the art works in the castle for Uncle Lionel before he died,\" explains " 'LORD ". \"I've asked him to continue and make up a catalog.\"" CR>)>) (<EQUAL? .PER ,PAINTER> <COND (<EQUAL? <LOC ,FRIEND> ,HERE ,PSEUDO-OBJECT> <SET X ,FRIEND>) (T <SET X <FIND-FLAG-HERE ,PERSONBIT ,PLAYER ,PAINTER>>)> <COND (<AND <T? .X> <==? <LOC ,PAINTER> ,DRAWING-ROOM>> <TELL "\"Vivien painted that portrait of " 'LOVER " Hallam, the girl who drowned in the castle well,\" says " D .X ". She gestures to a framed picture hanging by the " 'FIREPLACE "." CR>)>)> <RTRUE>) (<AND <EQUAL? ,PRSO .PER> <VERB? SHOW>> <PERFORM ,V?ASK-ABOUT ,PRSO ,PRSI> <RTRUE>)>> <ROUTINE UNSNOOZE (PER "OPTIONAL" (NO-TELL? <>) "AUX" RM GT (C <GETP .PER ,P?LDESC>)) <COND (<EQUAL? .C 14 ;"asleep"> <FIX-MUSTACHE .PER> <SET C <GETP .PER ,P?CHARACTER>> <SET GT <GET ,GOAL-TABLES .C>> <PUT .GT ,ATTENTION <GET .GT ,ATTENTION-SPAN>> <PUT .GT ,GOAL-ENABLE 0> <PUT .GT ,GOAL-FUNCTION ,X-RETIRES> <PUT .GT ,GOAL-S T> ;"so GOAL-REACHED will work" <SET RM <GET ,CHAR-ROOM-TABLE <+ 1 .C>>> <COND (<NOT <IN? .PER .RM>> <ESTABLISH-GOAL .PER .RM>)> <COND ;(<EQUAL? .PER ,GHOST-NEW> <PUTP .PER ,P?LDESC 0>) (<EQUAL? ,VARIATION .C> <PUTP .PER ,P?LDESC 4 ;"looking at you with suspicion">) (T <PUTP .PER ,P?LDESC 25 ;"looking sleepy">)> <FCLEAR .PER ,MUNGBIT> <SET RM <META-LOC .PER>> <COND (<AND <IN? .PER ,HERE> <ZERO? .NO-TELL?>> <TELL CHE .PER " wakes up first. "> ;<THIS-IS-IT .PER> <COND (<NOT <FSET? .RM ,ONBIT>> <TELL CHE .PER " turns on the light. ">)>)> <FSET .RM ,ONBIT> <RTRUE>) (<AND <EQUAL? .C 19 ;"out cold"> <ZERO? <GET ,SHOT <GETP .PER ,P?CHARACTER>>>> <FIX-MUSTACHE .PER> <QUEUE I-COME-TO 0> <I-COME-TO> <RTRUE>)>> <ROUTINE FIX-MUSTACHE (PER) <COND (<AND <==? .PER ,DOCTOR> <EQUAL? ,VARIATION ,DOCTOR-C>> <FCLEAR ,MUSTACHE ,TAKEBIT> <FSET ,MUSTACHE ,TRYTAKEBIT>)>> <OBJECT OBJECT-PAIR (DESC "such things") (ACTION OBJECT-PAIR-F)> <ROUTINE OBJECT-PAIR-F ("AUX" P1 P2) <COND (<L? 2 <GET/B ,P-PRSO ,P-MATCHLEN>> <SETG CLOCK-WAIT T> <TELL "(That's too many things to compare all at once!)" CR> <RTRUE>) (T <PERFORM ,PRSA <GET/B ,P-PRSO 1> <GET/B ,P-PRSO 2>> <RTRUE>)>> <OBJECT CREW-GLOBAL (IN GLOBAL-OBJECTS) (DESC "bunch of guests") (SYNONYM BUNCH GUESTS) (FLAGS SEENBIT) (ACTION CREW-GLOBAL-F)> <ROUTINE CREW-GLOBAL-F ("AUX" L) <COND (<AND <QUEUED? ,I-TOUR> <VERB? WALK-TO>> <PERFORM ,PRSA <GET ,TOUR-PATH ,TOUR-INDEX>> <RTRUE>) (<NOT <ALL-TOGETHER-NOW?>> <SETG CLOCK-WAIT T> <TELL "(The guests aren't all together!)" CR> <RFATAL>) (<VERB? EXAMINE> <TELL "There are seven people, not counting you." CR>) (<VERB? ;GOODBYE HELLO> <TELL CTHE ,PRSO " nods at you." CR>) (T ;<SPEAKING-VERB? ,CREW-GLOBAL> <TELL "You'd better stick to one guest at a time." CR> <RFATAL>)>>