Revision 27 (Original Source)
authorhistoricalsource <historicalsoftware@textfiles.com>
Sun, 14 Apr 2019 00:28:54 +0000 (20:28 -0400)
committerhistoricalsource <historicalsoftware@textfiles.com>
Sun, 14 Apr 2019 00:28:54 +0000 (20:28 -0400)
12 files changed:
README.md [new file with mode: 0644]
actions.zil [new file with mode: 0644]
clock.zil [new file with mode: 0644]
crufty.zil [new file with mode: 0644]
deadline.zil [new file with mode: 0644]
deadline.zip [new file with mode: 0644]
dungeon.zil [new file with mode: 0644]
goal.zil [new file with mode: 0644]
macros.zil [new file with mode: 0644]
main.zil [new file with mode: 0644]
parser.zil [new file with mode: 0644]
syntax.zil [new file with mode: 0644]

diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..86d1b0f
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+# deadline
diff --git a/actions.zil b/actions.zil
new file mode 100644 (file)
index 0000000..c22cfeb
--- /dev/null
@@ -0,0 +1,4532 @@
+"ACTIONS for
+                           DEADLINE
+       Copyright 1982 Infocom, Inc.  All rights reserved.
+"
+
+<ROUTINE DDESC (STR1 DOOR STR2)
+        #DECL ((STR1) STRING (DOOR) OBJECT (STR2) <OR FALSE STRING>)
+        <TELL .STR1>
+        <COND (<FSET? .DOOR ,OPENBIT> <TELL "open">)
+              (T <TELL "closed">)>
+        <TELL .STR2 CR>>
+
+<ROUTINE WEST-DOOR-F ("OPTIONAL" (RARG <>))
+        <COND (<AND <==? .RARG ,M-BEG>
+                    <VERB? WALK>
+                    <EQUAL? ,PRSO ,P?NE ,P?NORTH>
+                    <IN? ,LADDER ,PLAYER>>
+               <TELL ,NO-LADDERS CR>)>>
+
+<GLOBAL NO-LADDERS 
+"You've got to be crazy, carrying that ladder inside the house!">
+
+<ROUTINE FRONT-PATH-F ("OPTIONAL" (RARG <>))
+        <COND (<AND <==? .RARG ,M-BEG>
+                    <VERB? WALK>
+                    <==? ,PRSO ,P?NORTH>
+                    <IN? ,LADDER ,PLAYER>>
+               <TELL ,NO-LADDERS CR>)
+              (<==? .RARG ,M-LOOK>
+               <DDESC
+"You are at the Robners' front door, which is "
+                      ,FRONT-DOOR ".">
+               <TELL
+"You can walk around the house from here to the east or west. To the south a
+rolling lawn leads to the entrance of the estate." CR>)>>
+
+<ROUTINE ROSE-GARDEN-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <TELL
+"You are at the edge of a large rose garden, meticulously maintained by the
+gardener, Mr. McNabb. He is said to be exceedingly proud of this particular
+garden, which is the envy of the neighbors. Rows of roses are neatly arranged
+and the sweet fragrance of the flowers is worth a trip here in itself. An
+orchard to the east contains many varieties of fruit trees and wide lawns lie
+to the west and north. The roses themselves are to the south, filling the area
+between you and the back of the house." CR>)>>
+
+<ROUTINE IN-ORCHARD-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <TELL
+"You are amidst lovely trees bearing apples, pears, peaches, and other fruits.
+A grape arbor and several berry bushes may also be seen. The kitchen window
+and east side of the house are just to your south, and a path skirts the
+orchard to your north." CR>
+               <COND (,LADDER-FLAG-2
+                      <TELL
+"A ladder is leaning against the balcony above." CR>)
+                     (T
+                      <TELL
+"There is no way into the house from here." CR>)>)>>
+
+<ROUTINE IN-ROSES-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <TELL
+"You are among rows of roses. The ground is soft, and your footsteps leave
+a rather bad impression as many poor seedlings are trampled underfoot. A
+safer place to admire the flowers lies to the north. A window to the south
+allows a view into the house." CR>
+               <COND (<NOT ,LADDER-FLAG>
+                      <TELL
+"There is no way into the house from here." CR>)
+                     (T
+                      <TELL
+"A ladder is leaning against the house, its upper end against a balcony
+above." CR>)>
+               <COND (<NOT <FSET? ,HOLE ,INVISIBLE>>
+                      <TELL
+"There are holes in the soft dirt near your feet." CR>)>
+               <RTRUE>)
+              (<AND <==? .RARG ,M-ENTER>
+                    <NOT ,GARDENER-ANGRY>
+                    <NOT ,GARDENER-SHOW>
+                    <EQUAL? <LOC ,GARDENER>
+                            ,ROSE-GARDEN ,NORTH-LAWN ,WEST-LAWN>>
+               <TELL
+"In the distance you hear \"Hey! WHAT? You, there!\" and other choice words
+muffled by a strong Scottish burr and a stiff breeze. Now, standing at the
+edge of the garden, can be seen the person of Mr. Angus McNabb, the gardener.
+He advances, looking crazed and gesticulating wildly. With each carefully
+chosen step in your direction, a barely visible wince of pain comes to his
+deeply-lined face. He regards you as you would regard the man whose car
+just ran over your little puppy dog." CR>
+               <COND (,G-I-G
+                      <TELL "\"I canna believe it! I've already spent
+an hour fixing up the ground here where some fool was walkin' aboot--and
+now you! I canna believe it!\"" CR>)>
+               <SETG GARDENER-ANGRY T>
+               <SETG GARDENER-NO-REPLY T>
+               <ENABLE <QUEUE I-GARDENER-CALM 90>>
+               <MOVE ,GARDENER ,HERE>)>>
+
+<ROUTINE I-GARDENER-CALM ()
+        <SETG GARDENER-NO-REPLY <>>>
+
+<GLOBAL GARDENER-NO-REPLY <>>
+<GLOBAL GARDENER-ANGRY <>>
+<GLOBAL G-I-G <>>
+
+<GLOBAL PRESENT-TIME 480>              ;"9AM"
+
+<ROUTINE FOYER-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-ENTER>
+               <COND (<AND <NOT ,WELCOMED> <L? ,PRESENT-TIME 700>>
+                      <TELL
+"Mrs. Robner appears, walking down a hallway from the north." CR>
+                      <WELCOME>)>)
+              (<==? .RARG ,M-LOOK>
+               <DDESC
+"This is the foyer of the Robner house, beautifully appointed with a fine
+crystal chandelier, marble floors, and a large marble-topped table. The front
+door, to the south, is " ,FRONT-DOOR ". The foyer continues north.">)>>
+
+<ROUTINE SHALL-1-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <DDESC
+"You are in an east-west hallway south of the staircase. A door to the south
+is " ,ROURKE-DOOR ".">)>>
+
+<ROUTINE SHALL-2-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <DDESC
+"This is the end of the east-west hallway. To the south a small door
+is " ,SOUTH-CLOSET-DOOR ".">
+               <DDESC
+"Another door, to the east, is " ,ROURKE-BATH-DOOR ".">)>>
+
+<ROUTINE ROURKE-ROOM-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <DDESC
+"This is the bedroom of the housekeeper, Mrs. Rourke, and is very simply
+furnished. A single bed, flanked by bare wooden end tables, sits below a
+closed window on the south end of the room. The floor is hardwood, with no
+rug. The only exit is a door to the north, which is " ,ROURKE-DOOR ".">)>>
+
+<ROUTINE ROURKE-BATH-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <DDESC
+"This is Mrs. Rourke's bathroom. Aside from the usual bathroom fixtures
+are two shelves affixed to the wall. The door at the west side of the
+room is " ,ROURKE-BATH-DOOR ".">)>>
+
+<ROUTINE LIVING-ROOM-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <SETG WELCOMED T>
+               <DDESC
+"This is a large and impressive room, whose furnishings bespeak the great
+personal wealth of the Robners. The south side of the room is a large bay
+window, now " ,BAY-WINDOW", which looks out onto the front yard.">
+               <TELL
+"A wood pile sits beside a huge fieldstone fireplace. A double doorway leading
+to the main hall is the only exit. Pictures of Mrs. Robner's colonial ancestors
+line one wall. The room contains formal seating for at least fifteen people,
+in several groups of chairs and couches. Tables and cabinets, all of the
+finest mahogany and walnut, complete the furnishings. On one of the tables is
+a telephone." CR>)>>
+
+<GLOBAL WILL-TIME 0>
+
+<GLOBAL LAWN-ACTIVITIES
+       <LTABLE "picking weeds"
+               "mowing the grass"
+               "wiping his brow"
+               "examining his work">>
+
+<GLOBAL GARDEN-ACTIVITIES
+       <LTABLE "planting seeds"
+               "cutting fresh flowers"
+               "pruning stems">>
+
+<ROUTINE CORRIDOR-1-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <TELL
+"You are just west of the staircase. There are doors on both sides (north and
+south) of the hallway, which continues west. ">
+               <COND (<FSET? ,DUNBAR-DOOR ,OPENBIT>
+                      <COND (<FSET? ,MASTER-BEDROOM-DOOR ,OPENBIT>
+                             <TELL "Both doors are open." CR>)
+                            (T <TELL "The door to the south is open." CR>)>)
+                     (<FSET? ,MASTER-BEDROOM-DOOR ,OPENBIT>
+                      <TELL "The door to the north is open." CR>)
+                     (T <TELL "Both doors are closed." CR>)>)>>
+
+<ROUTINE CORRIDOR-3-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <DDESC
+"This section of hallway is near the west end. Through the window at the end
+of the hall you can see some trees and the lake beyond. The hallway continues
+east and west, and a door to the south is " ,GEORGE-DOOR ".">)>>
+
+<ROUTINE CORRIDOR-4-F ("OPTIONAL" (RARG <>))
+        <COND (<AND <==? .RARG ,M-ENTER>
+                    <==? ,PRESENT-TIME <+ ,GEORGE-RUN 1>>>
+               <TELL
+"As you enter the hallway, you catch a glimpse of George
+running down the stairs." CR>
+               <RFALSE>)
+              (<==? .RARG ,M-LOOK>
+               <TELL
+"This is the west end of the upstairs hall. To the north is the library,
+where Mr. Robner was found. Its solid oak door has been knocked down and
+is lying just inside the entrance to the library. A window which cannot
+be opened is at the end of the hallway." CR>)>>
+
+<ROUTINE LIBRARY-F ("OPTIONAL" (RARG <>))
+        <SETG WELCOMED T>
+        <COND (<==? .RARG ,M-LOOK>
+               <TELL
+"This is the library where Mr. Robner's body was found. It is decorated in a
+simple but comfortable style. Mr. Robner obviously spent a great deal of time
+here. A wide executive desk sits before tall balcony windows which lie at the
+north of the room. A telephone is sitting on the desk. The east side of the
+room is composed of three large bookshelf units containing numerous volumes
+on many topics. The floor is carpeted from wall to wall. The massive oak door
+which blocked the entrance has been forcibly knocked off its hinges and is
+lying by the doorway." CR>
+               <COND (<FSET? ,LIBRARY-BALCONY-DOOR ,OPENBIT>
+                      <TELL
+"The window to the balcony has been opened." CR>)>
+               <COND (<FSET? ,HIDDEN-DOOR-L ,OPENBIT>
+                      <TELL
+"The bookshelf unit on the far left has been swung open,
+revealing a room behind it!" CR>)>
+               <RTRUE>)>>
+
+<ROUTINE LIBRARY-BALCONY-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <DDESC
+"The balcony is bare of furniture, though it has a beautiful view of the rose
+garden, the north lawn and the lake. A metal railing around the balcony 
+prevents an accidental drop to the thorny roses below. The window between the
+balcony and the library is " ,LIBRARY-BALCONY-DOOR ".">
+               <COND (,LADDER-FLAG
+                      <TELL
+"The top of a ladder is resting on the metal railing." CR>)>
+               <COND (<IN? ,GARDENER ,ROSE-GARDEN>
+                      <TELL
+"Mr. McNabb is tending to the roses." CR>)
+                     (<IN? ,GARDENER ,NORTH-LAWN>
+                      <TELL
+                         "Away to the north, Mr. McNabb can be seen "
+                         <PICK-ONE ,LAWN-ACTIVITIES> "." CR>)>
+               <RTRUE>)>>
+
+<ROUTINE HIDDEN-CLOSET-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <TELL
+"This is a secret room situated between the library and the master bedroom.
+The room is bare and somewhat dusty, as if it were not often used. An
+unmarked switchplate surrounds two buttons, one blue and one red. A formidable
+safe is embedded in the south wall.">
+               <COND (<FSET? ,SAFE ,OPENBIT>
+                      <TELL " The heavy safe door is wide open.">)>
+               <CRLF>
+               <COND (<FSET? ,HIDDEN-DOOR-L ,OPENBIT>
+                      <TELL
+"The library can be seen through a door to the west." CR>)
+                     (<FSET? ,HIDDEN-DOOR-B ,OPENBIT>
+                      <TELL
+"The master bedroom can be seen through a door to the east." CR>)>
+               <RTRUE>)>>
+
+<ROUTINE RED-BUTTON-F ()
+        <COND (<VERB? PUSH>
+               <COND (<FSET? ,HIDDEN-DOOR-L ,OPENBIT>
+                      <FCLEAR ,HIDDEN-DOOR-L ,OPENBIT>
+                      <TELL "The wall to the west silently closes." CR>)
+                     (T
+                      <FSET ,HIDDEN-DOOR-L ,OPENBIT>
+                      <TELL
+"The wall to the west swings open, revealing the library on the other
+side." CR>)>)>>
+
+<GLOBAL HC-ROBNER <>>
+
+<ROUTINE BLUE-BUTTON-F ()
+        <COND (<VERB? PUSH>
+               <COND (<FSET? ,HIDDEN-DOOR-B ,OPENBIT>
+                      <FCLEAR ,HIDDEN-DOOR-B ,OPENBIT>
+                      <TELL "The wall to the east swings closed." CR>)
+                     (T
+                      <FSET ,HIDDEN-DOOR-B ,OPENBIT>
+                      <TELL
+"The wall to the east swings open, revealing the master bedroom on the
+other side." CR>
+                      <COND (<AND <NOT ,HC-ROBNER>
+                                  <IN? ,MRS-ROBNER ,MASTER-BEDROOM>>
+                             <TELL
+"Mrs. Robner, sitting on her bed, appears stunned. She walks over and peeks
+in, speaks of her complete surprise at the presence of such a place, and
+returns to her bed, somewhat shaken." CR>
+                             <SETG HC-ROBNER T>)>
+                      <RTRUE>)>)>>
+
+<ROUTINE MASTER-BEDROOM-F ("OPTIONAL" (RARG <>))
+        <COND (<AND <==? .RARG ,M-ENTER>
+                    <==? ,BAXTER-SEQ-LOC ,MASTER-BEDROOM>>
+               <TELL
+"As you walk through the door, there is an explosion from in front of you!
+The impact of the bullet knocks you to the ground, stunned. You struggle,
+trying to look up. Another explosion! You fall back, into a long silence." CR>
+               <QUIT>)
+              (<==? .RARG ,M-LOOK>
+               <DDESC
+"This is the Robners' master bedroom, decorated in the Queen Anne style. A
+large four-poster bed with paired end tables fills the south end of the room.
+On one of the end tables is a telephone. Dressers, a small chair, and a lounge
+are against the walls. The north wall contains a balcony window, which is
+" ,BEDROOM-BALCONY-DOOR ". An open doorway leads east to the bathroom. A large
+mirror with a gilt frame hangs on the west wall.">
+               <COND (<FSET? ,HIDDEN-DOOR-B ,OPENBIT>
+                      <TELL
+"Part of the west wall has been swung away, revealing a hidden closet." CR>)>
+               <RTRUE>)>>
+
+<ROUTINE BEDROOM-BALCONY-F ("OPTIONAL" (RARG <>))
+        <COND (<AND <==? .RARG ,M-ENTER>
+                    <==? ,BAXTER-SEQ-LOC ,BEDROOM-BALCONY>>
+               <TELL
+"As you enter the balcony, there is an explosion and a burst of flame from
+your left. The pain freezes you for a moment as everything becomes black.
+While you await a choir of angels, a short chuckle and the sound of running
+feet are the last you hear." CR>
+               <QUIT>)
+              (<==? .RARG ,M-LOOK>
+               <DDESC
+"This balcony is atop the orchard, with the tallest of the fruit trees rising
+to about the level of the balcony. A metal railing surrounds the balcony,
+preventing a precipitous descent. A glass door leading to the master bedroom
+is " ,BEDROOM-BALCONY-DOOR ".">
+               <COND (,LADDER-FLAG-2
+                      <TELL
+"The top of a ladder is visible here, leaning on the railing." CR>)>
+               <RTRUE>)>>
+
+<ROUTINE SHALL-11-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <DDESC
+"The hallway turns a corner here and continues east. To the north is the
+head of the stairs. A door to the south is " ,DUNBAR-BATH-DOOR ".">)>>
+
+<ROUTINE DUNBAR-BATH-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <TELL
+"This bathroom contains the usual sink, toilet, and bath. A medicine
+cabinet, ">
+               <COND (<FSET? ,DUNBAR-CABINET ,OPENBIT>
+                      <TELL "lying partially open">)
+                     (T <TELL "closed">)>
+               <DDESC ", is above the sink. A door to the north
+is " ,DUNBAR-BATH-DOOR ".">)>>
+
+<GLOBAL CORPSE-SEEN <>>
+
+<ROUTINE DUNBAR-ROOM-F ("OPTIONAL" (RARG <>))
+        <COND (<AND <==? .RARG ,M-ENTER> ,DUNBAR-DEAD>
+               <SETG CORPSE-SEEN T>)
+              (<==? .RARG ,M-LOOK>
+               <DDESC
+"This is Ms. Dunbar's room. It is furnished in the usual style, with a few
+additions indicative of Ms. Dunbar's taste. The bedroom door
+is " ,DUNBAR-DOOR ".">)>>
+
+<ROUTINE GEORGE-BATH-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <DDESC
+"This is George's bathroom, with all the appropriate fixtures. Shaving gear
+sits near the sink. The door, to the west, is " ,GEORGE-BATH-DOOR ".">)>>
+
+<ROUTINE GEORGE-ROOM-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-LOOK>
+               <TELL
+"This is George's bedroom. In addition to the normal furnishings, there
+is a small liquor cabinet, and a stereo with records and tapes. The door,
+leading to the hallway to the north, is ">
+               <COND (<FSET? ,GEORGE-DOOR ,OPENBIT>
+                      <TELL "open">)
+                     (T <TELL "closed">)>
+               <DDESC
+". Another door, to the east, is " ,GEORGE-BATH-DOOR ".">
+               <COND (,TUNE-ON
+                      <TELL
+"Playing on the stereo is a " ,TUNE-ON "." CR>)>
+               <RTRUE>)>>
+
+"Local Global Functions"
+
+<ROUTINE LAWN-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL "The lawn is well manicured." CR>)>>
+
+<ROUTINE BAY-WINDOW-F ()
+        <COND (<VERB? LOOK-INSIDE>
+               <COND (<==? ,HERE ,WEST-OF-DOOR>
+                      <TELL
+"You see the living room through the window." CR>)
+                     (<IN? ,GARDENER ,SOUTH-LAWN>
+                      <TELL
+"Through the bay windows the gardener, Mr. McNabb, can be seen ">
+                      <TELL <PICK-ONE ,LAWN-ACTIVITIES>>
+                      <TELL " on the south lawn." CR>)
+                     (T
+                      <TELL "You can see the south lawn." CR>)>)
+              (<AND <VERB? OPEN> <NOT <FSET? ,FOYER ,TOUCHBIT>>>
+               <TELL "The window seems to be latched from the inside." CR>)>>
+
+<ROUTINE ROSE-F ()
+        <COND (<VERB? SMELL>
+               <TELL "They smell nice." CR>)
+              (<VERB? EXAMINE>
+               <TELL
+"There are rows of yellow, red, pink, and white roses here." CR>)
+              (<VERB? TAKE>
+               <TELL
+"Taking a rose would be most ungracious, and possibly dangerous if Mr. McNabb
+found out." CR>)>>
+
+<ROUTINE HOUSE-F ()
+        <COND (<VERB? FIND>
+               <TELL
+"It's right here. Some inspector you are." CR>)
+              (<VERB? THROUGH>
+               <COND (<AND <EQUAL? ,HERE ,FRONT-PATH>
+                           <FSET? ,FRONT-DOOR ,OPENBIT>>
+                      <GOTO ,FOYER>)
+                     (<AND <EQUAL? ,HERE ,EAST-OF-DOOR>
+                           <FSET? ,BAY-WINDOW ,OPENBIT>>
+                      <GOTO ,LIVING-ROOM>)
+                     (T
+                      <TELL "You might try the front door." CR>)>)
+              (<VERB? EXAMINE>
+               <TELL
+"The house is a magnificent New England colonial, like many other houses
+around the lake. It is painted slate gray with white trim." CR>)>>
+
+<ROUTINE GROUND-F ()
+        <COND (<AND <VERB? BRUSH>
+                    <IN? ,FRAGMENT ,PLAYER>
+                    <NOT ,FRAGMENT-CLEANED>>
+               <PERFORM ,V?BRUSH ,FRAGMENT>
+               <RTRUE>)
+              (<VERB? EXAMINE SEARCH SEARCH-AROUND>
+               <COND (<==? ,HERE ,ROURKE-ROOM>
+                      <TELL "The floor is hardwood." CR>)
+                     (<==? ,HERE ,FOYER>
+                      <TELL "The floor is marble." CR>)
+                     (<==? ,HERE ,IN-ROSES>
+                      <COND (<NOT <FSET? ,HOLE ,INVISIBLE>>
+                             <PERFORM ,V?SEARCH-AROUND ,HOLE>
+                             <RTRUE>)
+                            (<AND <VERB? SEARCH-GROUND-UNDER>
+                                  <==? ,PRSI ,BALCONY>>
+                             <TELL
+"The balcony above is very large. Searching the entire area beneath it
+would take a great deal of time." CR>)
+                            (T
+                             <TELL
+"There are rows upon rows of roses here. It would take you the best part of
+a day to search the ground in great detail." CR>)>)
+                     (T <TELL "You don't find anything new there." CR>)>)>>
+
+<ROUTINE AIR-F ()
+        <COND (<VERB? SMELL>
+               <COND (<EQUAL? ,HERE ,ROSE-GARDEN ,IN-ROSES>
+                      <TELL
+"The smell of roses permeates everything." CR>)
+                     (<EQUAL? ,HERE ,NORTH-LAWN ,EAST-LAWN ,WEST-LAWN>
+                      <TELL
+"A breeze carries the faint smell of roses through the air." CR>)
+                     (<==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>
+                      <TELL "The air is clear and fresh here." CR>)
+                     (<FRESH-AIR? ,HERE> <RTRUE>)
+                     (T <TELL "The air is rather musty here." CR>)>)>>
+
+<ROUTINE FRESH-AIR? (RM "AUX" P L T O)
+        #DECL ((RM O) OBJECT (P L) FIX)
+        <SET P 0>
+        <REPEAT ()
+                <COND (<0? <SET P <NEXTP ,HERE .P>>>
+                       <RFALSE>)
+                      (<NOT <L? .P ,LOW-DIRECTION>>
+                       <SET T <GETPT ,HERE .P>>
+                       <SET L <PTSIZE .T>>
+                       <COND (<AND <EQUAL? .L ,DEXIT>
+                                   <FSET? <SET O <GETB .T ,DEXITOBJ>>
+                                          ,OPENBIT>>
+                              <TELL
+"There is a pleasant breeze coming through the " D .O "." CR>
+                              <RETURN>)>)>>>
+
+<ROUTINE LAKE-F ()
+        <COND (<VERB? SWIM LEAP THROUGH>
+               <TELL
+"You're not on vacation, but with ideas like that you will probably be given
+a rather long one." CR>)
+              (<VERB? LOOK-INSIDE EXAMINE>
+               <COND (<AND <==? ,HERE ,NORTH-LAWN>
+                           <IN? ,SOGGY-WILL ,LAKE>>
+                      <TELL
+"A crumpled piece of paper is floating on the water a few feet from shore.
+With an uncommonly agile motion, you retrieve the drenched paper." CR>
+                      <MOVE ,SOGGY-WILL ,WINNER>)
+                     (T
+                      <TELL
+"Surely you don't suspect the fish also?" CR>)>)>>
+
+<ROUTINE SHED-F ()
+        <COND (<VERB? THROUGH>
+               <COND (<EQUAL? ,HERE ,EAST-LAWN ,BEHIND-SHED>
+                      <GOTO ,SHED-ROOM>
+                      <RTRUE>)
+                     (T <TELL "Senility strikes!" CR>)>)
+              (<VERB? LISTEN>
+               <COND (<NOT <0? ,SECRET-MEETING>>
+                      <TELL
+"You hear two muffled voices inside the shed." CR>)>)
+              (<VERB? HIDE-BEHIND>
+               <COND (<==? ,HERE ,EAST-LAWN>
+                      <TELL
+"You carefully sneak behind the shed. It seems that no one saw you." CR>)
+                     (T
+                      <TELL
+"You leave the shed and quietly slip behind it. Nobody appears to have seen
+you." CR>)>
+               <GOTO ,BEHIND-SHED>
+               <RTRUE>)>>
+
+"People Functions"
+
+<ROUTINE PLAYER-F () <>>
+
+<GLOBAL HOLE-SHOWN <>>
+<GLOBAL HOLE-TELL <>>
+
+<ROUTINE SHOW-HOLE ()
+        <TELL
+"McNabb grabs your arm and leads you to a spot deep within the garden and
+near the house. You might never have found this place alone. He points at
+the ground, where you see two holes in the soft earth." CR>
+        <FCLEAR ,HOLE ,INVISIBLE>
+        <SETG HOLE-SHOWN T>>
+
+<ROUTINE HOLE-F ()
+        <COND (<NOT ,HOLE-TELL>
+               <TELL "What hole?" CR>)
+              (<VERB? ASK-ABOUT> <RFALSE>)
+              (<VERB? FIND>
+               <COND (<NOT <==? ,HERE ,IN-ROSES>>
+                      <TELL
+"They're among the roses, or have you forgotten?" CR>)
+                     (<NOT <FSET? ,HOLE ,INVISIBLE>>
+                      <TELL "They're right here!" CR>)
+                     (<AND <NOT ,HOLE-SHOWN> <PROB 80>>
+                      <TELL
+"The rose garden is vast and full of thorny roses. You might look
+for the rest of the day before you find them." CR>)
+                     (T
+                      <TELL
+"The garden is rather big, even just the area you are searching now, and the
+holes were small. They're not here, but are probably nearby." CR>)>)
+              (<EQUAL? ,HOLE ,PRSI ,PRSO>
+               <COND (<VERB? EXAMINE LOOK-INSIDE>
+                      <TELL
+"There are two holes here, each about two inches by four inches. They are at
+least three inches deep and the soil is compacted around them." CR>)
+                     (<OR <AND <VERB? SEARCH-GROUND-AROUND>
+                               <==? ,PRSO ,GROUND>>
+                          <VERB? SEARCH-AROUND>>
+                      <COND (<==? <LOC ,GARDENER> ,HERE>
+                             <TELL
+"Mr. McNabb watches you with ill-concealed irritation." CR>)>
+                      <COND (,FRAGMENT-FOUND
+                             <TELL
+"Aside from dirt, organic fertilizer, and small crawly creatures, you turn
+up nothing but roses." CR>)
+                            (<OR <G? <SETG RST <+ ,RST 1>> 2>
+                                 <PROB 30>>
+                             <TELL
+"Ouch! You cut your finger on a sharp edge as you dig. You search carefully
+in the dirt, now that you are sure something is there, and pull up a piece
+of porcelain, covered with dirt and dried mud." CR>
+                             <THIS-IS-IT ,FRAGMENT>
+                             <MOVE ,FRAGMENT ,WINNER>
+                             <FCLEAR ,FRAGMENT ,INVISIBLE>
+                             <SETG FRAGMENT-FOUND T>
+                             <SETG FRAGMENT-FELT T>)
+                            (T
+                             <TELL <GET ,ROSE-DIGS ,RST> CR>)>)>)
+              (T <TELL "There is no hole here." CR>)>>
+
+<GLOBAL RST 0>
+
+<GLOBAL ROSE-DIGS
+       <LTABLE
+"You are making quite a mess, but you do run across some tiny pieces of a
+hard, shiny substance, which drop from your fingers and back onto the ground."
+"Although everything is coming up roses, you haven't found anything unusual
+except for a few pieces of a hard substance which fall back to the ground.">>
+
+<GLOBAL FRAGMENT-FLAG <>>
+
+<ROUTINE FRAGMENT-F ()
+        <COND (<VERB? EXAMINE>
+               <COND (,FRAGMENT-CLEANED
+                      <TELL
+"The fragment is beautifully hand-painted">
+                      <SETG FRAGMENT-FLAG T>
+                      <COND (,CHINA-EXAMINED
+                             <TELL ", exactly like those you
+saw in the kitchen">)>
+                      <TELL "." CR>)
+                     (T
+                      <TELL
+"The piece of porcelain is filthy, coated with dried mud. You can barely
+make out some design underneath the dirt." CR>)>)
+              (<VERB? FINGERPRINT>
+               <TELL
+"It's covered with dirt and mud. You realize that there would be no good
+fingerprints on it." CR>)
+              (<VERB? ANALYZE> <DO-ANALYZE>)
+              (<VERB? BRUSH>
+               <SETG FRAGMENT-CLEANED T>
+               <TELL
+"As you wipe off the piece of porcelain, you notice that it is a fragment of
+some very beautiful piece, handsomely painted.">
+               <COND (,CHINA-EXAMINED
+                      <TELL "  The markings are identical
+to those you saw on the china in the kitchen.">)>
+               <CRLF>)>>
+
+<GLOBAL FRAGMENT-CLEANED <>>
+<GLOBAL FRAGMENT-FELT <>>
+<GLOBAL FRAGMENT-FOUND <>>
+<GLOBAL GARDENER-SHOW <>>
+
+<ROUTINE GARDENER-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-OBJDESC>
+               <COND (<IN-MOTION? ,GARDENER> <RTRUE>)
+                     (<==? <LOC ,GARDENER> ,ORCHARD>
+                      <TELL "Mr. McNabb is here, pruning the trees.">)
+                     (<OR <EQUAL? <LOC ,GARDENER> ,NORTH-LAWN ,EAST-LAWN>
+                          <EQUAL? <LOC ,GARDENER> ,SOUTH-LAWN ,WEST-LAWN>>
+                      <TELL "Mr. McNabb is here, ">
+                      <TELL <PICK-ONE ,LAWN-ACTIVITIES>>
+                      <TELL ".">)
+                     (<IN? ,GARDENER ,ROSE-GARDEN>
+                      <TELL "Mr. McNabb is here, ">
+                      <TELL <PICK-ONE ,GARDEN-ACTIVITIES>>
+                      <TELL ".">)
+                     (T <TELL "Mr. McNabb is here.">)>
+               <COND (,G-I-G
+                      <TELL " He seems quite worked up and is talking aloud
+to himself.">)
+                     (,GARDENER-ANGRY
+                      <TELL " He seems pretty angry about something.">)>
+               <CRLF>
+               <CARRY-CHECK ,GARDENER>)
+              (<VERB? HELLO GOODBYE>
+               <COND (,GARDENER-ANGRY
+                      <TELL
+"McNabb grunts briefly in your direction." CR>)
+                     (,G-I-G
+                      <TELL
+"He answers absently and starts to mumble quietly about the roses." CR>)
+                     (T
+                      <TELL
+"He replies with a brief nod, and then starts mumbling to himself
+about the " <PICK-ONE ,GARDEN-MUMBLES> "." CR>)>)
+              (<==? ,WINNER ,GARDENER>
+               <COND (<AND <VERB? SHOW>
+                           <OR <EQUAL? ,PRSI ,GLOBAL-HOLE ,HOLE>
+                               <EQUAL? ,PRSI ,GLOBAL-ROSES ,ROSE>>>
+                      <COND (<AND <NOT ,HOLE-TELL> <NOT ,G-I-G>>
+                             <TELL
+"\"I don't know what you're-a talkin' aboot.\"" CR>)
+                            (,NO-SHOW
+                             <TELL
+"\"I don't think I remember where it was. Now go away,\" he says. He looks a
+bit annoyed at you, probably for asking him before and then running off." CR>)
+                            (,HOLE-SHOWN
+                             <TELL
+"\"I've already shown you plenty. Now, git!\"" CR>)
+                            (<==? ,HERE ,IN-ROSES>
+                             <SETG GARDENER-SHOW T>
+                             <SETG HOLE-TELL T>
+                             <SHOW-HOLE>)
+                            (T
+                             <ESTABLISH-GOAL ,GARDENER ,IN-ROSES T>
+                             <SETG GARDENER-SHOW T>
+                             <SETG HOLE-TELL T>
+                             <TELL
+"\"Follow me!\" he says, and starts walking toward the roses." CR>)>)
+                     (<VERB? FIND> <RFALSE>)
+                     (<COM-CHECK ,GARDENER> <RTRUE>)
+                     (T <TELL <PICK-ONE ,WHY-ME> CR>)>)
+              (<VERB? LISTEN>
+               <COND (,G-I-G
+                      <TELL
+"You can't make out everything, but he seems to be complaining about weeks
+of work on the roses ruined by someone stomping around in the garden. There
+are references to elephants and holes. When he's worked up, as now, he
+doesn't always make much sense." CR>
+                      <SETG HOLE-TELL T>)
+                     (T
+                      <TELL
+"He seems to be mumbling about the " <PICK-ONE ,GARDEN-MUMBLES> "." CR>)>)
+              (<AND <VERB? ASK-ABOUT> <==? ,PRSO ,GARDENER>>
+               <COND (<AND ,GARDENER-NO-REPLY <NOT ,GARDENER-SHOW>>
+                      <TELL
+"\"I dinna give a hoot about you or your questions! Now, begone! Steppin' all
+o'er me roses. A crime, it is! I'll call the police is what!\" He seems pretty
+angry." CR>)
+                     (<AND <EQUAL? ,PRSI ,GLOBAL-HOLE> ,HOLE-TELL>
+                      <TELL
+"\"I've already told you. There's holes in my garden!\"" CR>)
+                     (<AND <EQUAL? ,PRSI ,GLOBAL-WEATHER> <NOT ,G-I-G>>
+                      <TELL
+"\"Beautiful! What a fine day. Except for the rain Wednesday night, I ha'ent
+had such a fine week in a long spell. Not that I'm complainin'. You see, with
+my roses...\" He goes on and on about his roses." CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-LADDER ,LADDER>
+                      <TELL
+"\"What aboot it? I use it for cleanin' the gutters 'n prunin' the
+trees.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-ROSES ,ROSE ,GLOBAL-WEATHER>
+                      <COND (,G-I-G
+                             <TELL
+"He tells you his story. He was tending to the roses this morning when he
+noticed two deep holes in the garden, with a few roses crushed nearby. He
+doesn't know when he'll be able to repair the damage." CR>
+                             <SETG HOLE-TELL T>)
+                            (T
+                             <TELL
+"McNabb goes on for some time about the exquisite nature of the garden in
+general and mentions, for your benefit, some of the finer points of his
+gardening technique." CR>)>)
+                     (<EQUAL? ,PRSI ,LAWN>
+                      <TELL
+"McNabb tells a long tale of woe and hardship, of days and nights
+sweating with the lawn mower, roller, and weed puller." CR>)
+                     (<OR <EQUAL? ,PRSI ,GEORGE ,GLOBAL-GEORGE>
+                          <EQUAL? ,PRSI ,BAXTER ,GLOBAL-BAXTER>
+                          <EQUAL? ,PRSI ,DUNBAR ,GLOBAL-DUNBAR>
+                          <EQUAL? ,PRSI ,MRS-ROBNER ,GLOBAL-MRS-ROBNER>
+                          <EQUAL? ,PRSI ,ROURKE ,GLOBAL-ROURKE>>
+                      <TELL
+"\"I don't care much aboot any of them from in the house. I barely even know
+which is which.\" He shakes his head and continues with his work." CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-MR-ROBNER>
+                      <TELL
+"\"Too bad aboot Mr. Robner. He was a good man, liked to talk aboot the
+garden. He told me 'McNabb', he says, 'this here's the finest garden I've
+seen.' We'd talk for hours about planting and gardening. None of the others
+knows between a rose and a sunflower.\" He shakes his head sadly and
+continues his work." CR>)
+                     (T
+                      <TELL
+"\"I dinna know nothin' aboot that.\"" CR>)>)>>
+
+<GLOBAL GARDEN-MUMBLES
+       <LTABLE "rose garden"
+               "fruit trees"
+               "weather"
+               "snootiness of city slickers"
+               "intricacies of weeding">>
+
+<GLOBAL WHY-ME
+       <LTABLE "\"You can do that yourself.\""
+               "\"Do it yourself!\""
+               "\"Why not do it yourself?\"">>
+
+<GLOBAL PEN-SEEN <>>
+
+<ROUTINE BAXTER-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-OBJDESC>
+               <COND (<IN-MOTION? ,BAXTER> T)
+                     (<AND <IN? ,BAXTER ,SHED> <NOT <0? ,SECRET-MEETING>>>
+                      <TELL
+"Mr. Baxter and Ms. Dunbar are here talking rapidly with each other. They
+haven't noticed you yet." CR>)
+                     (,DUNBAR-BAXTER-MEET
+                      <SETG DUNBAR-BAXTER-MEET <>>
+                      <TELL
+"Mr. Baxter is in one corner, talking to Ms. Dunbar. He notices you and
+motions Dunbar to stop talking." CR>)
+                     (<IN? ,BAXTER ,LIVING-ROOM>
+                      <COND (,POST-WILL
+                             <TELL
+"Mr. Baxter is offering his sympathies to Mrs. Robner." CR>)
+                            (<IN? ,RECURSIVE-BOOK ,BAXTER>
+                             <FSET ,RECURSIVE-BOOK ,NDESCBIT>
+                             <TELL
+"Mr. Baxter is sitting here reading a book." CR>)
+                            (T <TELL
+"Mr. Baxter is sitting quietly here." CR>)>)
+                     (T <TELL "Mr. Baxter is here." CR>)>
+               <CARRY-CHECK ,BAXTER>)
+              (<VERB? EXAMINE>
+               <COND (,SHOT-FIRED
+                      <COND (<IN? ,BAXTER ,DUNBAR-ROOM>
+                             <TELL
+"Baxter seems out of breath. His hair is disheveled and his hands are
+somewhat soiled." CR>)
+                            (T
+                             <TELL
+"Mr. Baxter has recovered his composure and looks calm. His hair is a bit
+disheveled and his hands are dirty." CR>)>)>) 
+              (<VERB? HELLO>
+               <TELL "Mr. Baxter returns your salutation." CR>)
+              (<VERB? GOODBYE>
+               <TELL "Mr. Baxter nods." CR>)
+              (<==? ,WINNER ,BAXTER>
+               <COND (<VERB? FIND> <RFALSE>)
+                     (<COM-CHECK ,BAXTER> <RTRUE>)
+                     (T <TELL <PICK-ONE ,WHY-ME> CR>)>)
+              (<VERB? SEARCH SEARCH-OBJECT-FOR>
+               <TELL
+"Mr. Baxter pushes you away abruptly. \"I don't know what game you're playing,
+Inspector, and frankly I'm not interested. You have been invited here to
+investigate, not molest innocent persons.\"" CR>)
+              (<AND <VERB? ACCUSE> <==? ,PRSI ,GLOBAL-MURDER>>
+               <COND (,PEN-SEEN
+                      <TELL
+"Mr. Baxter turns to run away, but notices Sergeant Duffy by the door. He
+stops abruptly and faces you." CR>)>)
+              (<VERB? ARREST>
+               <COND (<OR ,PEN-SEEN ,BAXTER-SEEN>
+                      <COND (<IN? ,BAXTER ,HERE>
+                             <TELL
+"Sergeant Duffy enters the room solemnly. He places a pair of handcuffs
+on Mr. Baxter, who is stiff and unspeaking.  \"Let's not have any
+trouble, now.\" Duffy remarks to Baxter.">)
+                            (T
+                             <TELL
+"A few moments pass and Sergeant Duffy appears, escorting a handcuffed
+Mr. Baxter.">)>
+                      <TELL " With that, he leads him from
+your view and into a police car waiting near the south lawn.|
+|">
+                      <END-HEADER "August 10">
+                      <TELL
+"Congratulations on your work in the Robner case. As I'm sure you
+are aware, Mr. Baxter was found guilty ">
+                      <COND (<AND <FSET? ,BAXTER-PAPERS ,TOUCHBIT> ,NOTE-READ>
+                             <TELL
+"of two counts of first-degree murder and has been sentenced to two
+consecutive terms of life imprisonment.  My only regret is that Dunbar
+couldn't stand trial with him. We may never know the complete story behind
+the Robner murder. But once again, thanks.|
+|">)
+                            (T
+                             <TELL
+"of first-degree murder in the death of Ms. Dunbar. Unfortunately, Baxter
+remained tight-lipped throughout the proceedings, and except for the
+revelation that Baxter and Dunbar were lovers, there was no motive established
+for her murder. The jury acquitted Mr. Baxter in the murder of Mr. Robner,
+as a motive had not been established. I am indeed sorry that a proper
+conclusion to the case could not have been made.|
+|">)>
+                      <CASE-OVER>)
+                     (<IN? ,CORPSE ,DUNBAR-ROOM>
+                      <TELL
+"Trusty Sergeant Duffy enters and places Mr. Baxter under arrest.
+They leave, Baxter remaining calm.|
+|">
+                      <END-HEADER "August 13">
+                      <TELL
+"I heard today that the jury in the Robner case has voted to
+acquit Mr. Baxter of both murders at the Robner house." CR>
+                      <COND (<FSET? ,BAXTER-PAPERS ,TOUCHBIT>
+                             <TELL
+"While it was clear that Baxter had committed numerous crimes in the Focus
+case, the jury was unconvinced of the relation between that and the murders.
+They felt that Ms. Dunbar had committed the first murder, although I can't
+imagine any scenario in which that would be possible, and had committed
+suicide in desperation. These explanations leave much to be desired, but
+what's done is done. I can't help feeling that there is more to this case than
+has been discovered. Thank you for your work.|
+|">
+                             <CASE-OVER>)
+                            (T
+                             <TELL
+"The jury believed the more probable story: that Ms. Dunbar committed the
+first murder and then committed suicide when her guilt became clear to you.
+I don't really believe this any more than you do, but the evidence is vague,
+you must agree. Thanks again for handling the case.|
+|">
+                             <CASE-OVER>)>)
+                     (<FSET? ,BAXTER-PAPERS ,TOUCHBIT>
+                      <COND (<FSET? ,LAB-REPORT ,TOUCHBIT>
+                             <TELL
+"Trusty Sergeant Duffy enters and places Mr. Baxter under arrest.
+They leave, Baxter remaining calm.|
+|">
+                             <END-HEADER "August 11">
+                             <TELL
+"I am sorry to report that Mr. Baxter was acquitted yesterday of the murder
+of Mr. Robner. In speaking to the District Attorney, I gathered that the jury
+was almost convinced of Baxter's guilt, given that he had both motive and a
+means to enter the house using the ladder. However, the theory had a number of
+serious flaws, including the means by which Baxter could have administered the
+drug either without Robner's knowledge or without a struggle. I must confess
+that I too am baffled. I am convinced that Baxter is guilty, but I fear we
+will never know for certain.|
+|">
+                             <CASE-OVER>)
+                            (T
+                             <MURDER-NOT-PROVEN ,BAXTER T>)>)
+                     (<FSET? ,LAB-REPORT ,TOUCHBIT>
+                      <TELL
+"Duffy enters and places Mr. Baxter under arrest, then leads him away without
+fuss.|
+|">
+                      <END-HEADER "August 11">
+                      <TELL
+"I am indeed sorry that Mr. Baxter was acquitted yesterday of the murder of
+Mr. Robner. From the District Attorney, I gather that the jury was completely
+unconvinced by the our case. They found neither sufficient motive nor any
+plausible means of introducing the fatal medicine into Mr. Robner's drink. I
+must confess to being baffled by this case. Perhaps we shall never know the
+true story of Mr. Robner's murder.|
+|">
+                      <CASE-OVER>)
+                     (T
+                      <MURDER-NOT-PROVEN ,BAXTER <>>)>)
+              (<AND <VERB? ASK-FOR>
+                    <IN? ,CORPSE ,DUNBAR-ROOM>
+                    <==? ,PRSI ,GLOBAL-PEN>>
+               <TELL
+"Baxter reaches instinctively into his jacket and starts to pull out a pen.
+He hesitates suddenly, pen in hand." CR>
+               <MOVE ,PEN ,BAXTER>
+               <SETG PEN-SEEN T>)
+              (<AND <VERB? ASK-ABOUT> <==? ,PRSO ,BAXTER>>
+               <COND (<NOT <GRAB-ATTENTION ,BAXTER>> <RTRUE>)
+                     (<==? ,PRSI ,RECURSIVE-BOOK>
+                      <TELL
+"\"A fascinating story, Inspector. A man is found dead behind a locked door,
+a clear suicide. Yet the detective seems bent on proving that a murder has
+occured. Rather odd, wouldn't you say?\"" CR>)
+                     (<==? ,PRSI ,GLOBAL-CONCERT>
+                      <TELL
+"\"A marvelous concert! There were works by Beethoven, Sibelius, and Ravel. I
+never would've guessed you were interested in serious music, Inspector.\"" CR>)
+                     (<==? ,PRSI ,STUB>
+                      <COND (,STUB-DX
+                             <TELL
+"\"My dear Inspector, it is just as Ms. Dunbar told you.\"" CR>)
+                            (T
+                             <SETG STUB-B T>
+                             <COND (<IN? ,DUNBAR ,HERE>
+                                    <SETG STUB-BX T>)>
+                             <COND (,STUB-D
+                                    <SETG CONTRADICTION T>)>
+                             <TELL
+"\"Ah, that must be Ms. Dunbar's ticket stub. I should have told you earlier.
+Ms. Dunbar was with me at the concert on the night that Marshall killed
+himself. She became ill at intermission and hired a car to take her back home.
+You see, Inspector, I know that Ms. Dunbar appreciates classical music, so I
+occasionally ask her along to my subscription series. I really should
+have told the other detective, but I didn't think it mattered.\"" CR>)>)
+                     (<==? ,PRSI ,GLOBAL-LADDER>
+                      <TELL
+"\"What ladder? You know, Inspector, your questions are becoming
+quite tiresome.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-MERGER ,GLOBAL-OMNIDYNE>
+                      <TELL
+"\"I didn't realize you had an interest in finance. Before Marshall died, we
+agreed that the only reasonable way to protect our interests was to be bought
+out by a larger company which could then provide us with capital for
+expansion. I had been talking to people at Omnidyne and we agreed in
+principle on the terms for such an agreement last week. I'm hopeful that we
+can close the deal quickly.\"" CR>)
+                     (<==? ,PRSI ,GLOBAL-NEW-WILL>
+                      <COND (<G? ,WILL-TIME 0>
+                             <TELL
+"\"It's fortunate for George that Marshall died when he did. It must be quite
+a relief to know that he'll have plenty of money.\" He chuckles softly.">
+                             <COND (,AT-READING
+                                    <TELL
+" \"I guess that explains his reaction at the reading.\"">)>
+                             <CRLF>)
+                            (T
+                             <TELL
+"\"I don't know much about the family's affairs. Marshall threatened
+to make a new will, but it certainly appears that he never did.\"" CR>)>)
+                     (<==? ,PRSI ,GLOBAL-FOCUS>
+                      <COND (,B-FOCUS
+                             <TELL
+"\"I told you already. There was no legal wrongdoing, only
+some reporters trying to stir up a fuss.\" He appears quite nervous." CR>)
+                            (,B-NOTE
+                             <TELL
+"\"I understand the note no more than you do.\" He turns away." CR>)
+                            (T
+                             <TELL
+"There is a flicker of surprise on Baxter's face. \"I'm not sure
+what you mean. Focus Corporation has been a subsidiary of Robner
+Corp. for some years. I fail to see its import.\"" CR>)>)
+                     (<EQUAL? ,PRSI ,GEORGE ,GLOBAL-GEORGE>
+                      <DISCRETION ,BAXTER ,GEORGE>
+                      <TELL
+"\"I've known the boy for some time, and believe me, he's no good. He's
+wasted more money this year than you've probably earned. His father
+reprimanded him frequently, as you know. George even threatened his father
+from time to time.\"" CR>)
+                     (<EQUAL? ,PRSI ,CORPSE ,DUNBAR ,GLOBAL-DUNBAR>
+                      <TELL
+"\"Ms. Dunbar is an efficient and tireless worker. She has been of tremendous
+help to Marshall and has been working quite hard for him lately. She had a
+great deal of respect for him, that's clear. She has a keen mind and is an
+exceptional strategic planner for the corporation.\"" CR>)
+                     (<EQUAL? ,PRSI ,MRS-ROBNER ,GLOBAL-MRS-ROBNER>
+                      <TELL
+"\"Leslie is a fine woman from a distinguished family. She was much more
+outgoing than Marshall, but she seems to have become accustomed to the quiet
+life here. I am quite grieved for her.\"" CR>)
+                     (<OR <EQUAL? ,PRSI ,ROURKE ,GLOBAL-ROURKE>
+                          <EQUAL? ,PRSI ,GARDENER ,GLOBAL-GARDENER>>
+                      <TELL
+"\"I don't know much about " D ,PRSI "\"." CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-OLD-WILL>
+                      <TELL
+"\"I really don't know anything about the old will.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-MR-ROBNER>
+                      <TELL
+"\"Marshall was a truly great man...a brilliant manager; he started the
+corporation single-handedly about 25 years ago and is mostly responsible for
+its reputation. I owe him a great deal. He was also a great philanthropist
+and got the corporation involved in many charitable works. I am not given to
+shows of emotion, Inspector, but I will miss him greatly.\"" CR>)
+                     (T
+                      <TELL
+"\"I can't help you there.\"" CR>)>)
+              (<VERB? CONFRONT SHOW>
+               <COND (<NOT <GRAB-ATTENTION ,BAXTER>> <RTRUE>)
+                     (<==? ,PRSI ,LAB-REPORT>
+                      <TELL
+"Baxter studies the report carefully. \"This is quite peculiar. It appears
+that Marshall was murdered. I wonder...I would have a word with George if I
+were you, Inspector.\"" CR>)
+                     (<==? ,PRSI ,STUB>
+                      <PERFORM ,V?ASK-ABOUT ,BAXTER ,STUB>
+                      <RTRUE>)
+                     (<AND <==? ,PRSI ,NOTE-PAPER>
+                           ,NOTE-READ
+                           <NOT ,B-NOTE>>
+                      <SETG B-NOTE T>
+                      <TELL
+"He reads it carefully against the light, then speaks: \"I really don't know
+what to make of this. Marshall seems to be insisting that I do something. I'm
+afraid we will never know, since I never got the note.\"" CR>)
+                     (<AND <==? ,PRSI ,BAXTER-PAPERS> <NOT ,B-FOCUS>>
+                      <SETG B-FOCUS T>
+                      <TELL
+"He reads slowly and leafs through the pages. \"I'm afraid I haven't been
+entirely candid with you. There was some trouble a few years ago with Focus
+Corp. because of some, let us say, irresponsible dealings on my part. Marshall
+agreed to cover up my involvement to save the company any bad publicity.\"" CR>
+                      <COND (,B-NOTE
+                             <TELL
+"\"I can't understand why he would be insisting that I do this or that,
+though, as it says on that note you showed me. He must have changed his
+mind, since I never received the note.\"" CR>)>
+                      <RTRUE>)
+                     (<==? ,PRSI ,LETTER>
+                      <TELL
+"\"Very interesting, Inspector, but I assure you that this fellow is quite
+off base about the business. Marshall and I were in complete agreement when
+it came to those matters. I can't imagine where he got that idea.\"" CR>)
+                     (T
+                      <TELL
+"\"I can't understand why you are showing this to me. Have
+you nothing better to do than " <PICK-ONE ,BAXTER-ANNOYED> "?\"" CR>)>)>>
+
+<ROUTINE MURDER-NOT-PROVEN (PERSON "OPTIONAL" (ARG T))
+        <TELL
+"Sergeant Duffy dutifully appears and escorts " D .PERSON " from the
+grounds.|
+|">
+        <END-HEADER "July 26">
+        <TELL
+"I am sorry to inform you that the District Attorney's office has declined
+to seek an indictment against " D .PERSON " in the case of the death of Mr.
+Robner, against your recommendation. It is still not clear that Mr. Robner
+was murdered, although, as you point out, there are a number of suspicious
+characters in the Robner household.">
+        <COND (<NOT .ARG>
+               <TELL "  Additionally, Mr. Baxter seems to have
+had no clear motive for killing Mr. Robner.">)>
+        <CRLF>
+        <COND (<==? .PERSON ,BAXTER>
+               <TELL
+"Mr. Baxter has threatened to sue the department for malicious
+arrest, but we feel that he will prefer to avoid the publicity." CR>)>
+        <TELL "     Please be more careful in the future!|
+|">
+        <CASE-OVER>>
+
+<GLOBAL BAXTER-ANNOYED
+       <LTABLE "show me useless items"
+               "pick up every item in the house and show it to me">>
+
+<ROUTINE GLOBAL-PERSON ()
+        <COND (<OR <AND <VERB? ASK-ABOUT>
+                        <FSET? ,PRSO ,PERSON>
+                        <NOT <IN? ,PRSO ,GLOBAL-OBJECTS>>>
+                   <VERB? WHAT FIND WAIT-FOR FOLLOW CALL CALL-LOSE>>
+               <RFALSE>)
+              (<VERB? TELL>
+               <TELL "It's not clear to whom you are referring." CR>
+               <SETG P-CONT <>>
+               <RTRUE>)
+              (T
+               <COND (<FSET? ,PRSO ,PERSON>
+                      <TELL D ,PRSO>)
+                     (T <TELL D ,PRSI>)>
+               <COND (<AND <VERB? ASK-ABOUT TELL>
+                           <NOT <==?
+                                  <BAND
+                                    <GETP
+                                      <LOC <GET ,CHARACTER-TABLE
+                                                <GETP ,PRSO ,P?CHARACTER>>>
+                                      ,P?CORRIDOR>
+                                    <GETP ,HERE ,P?CORRIDOR>> 0>>>
+                      <TELL " can't hear you." CR>)
+                     (<AND <==? ,PRSO ,GLOBAL-MRS-ROBNER>
+                           <==? ,HERE ,MASTER-BATH>
+                           <IN? ,MRS-ROBNER ,MASTER-BEDROOM>>
+                      <TELL " can't hear you." CR>)
+                     (T <TELL " isn't here!" CR>)>
+               <SETG P-CONT <>>
+               <RTRUE>)>>
+
+<ROUTINE GEORGE-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-OBJDESC>
+               <COND (<IN-MOTION? ,GEORGE> <RTRUE>)
+                     (<IN? ,GEORGE ,KITCHEN>
+                      <TELL "George is here, preparing a snack."
+                            CR>)
+                     (<IN? ,GEORGE ,DINING-ROOM>
+                      <TELL
+"George is sitting at the table, eating some red herrings."
+                            CR>)
+                     (<IN? ,GEORGE ,LIVING-ROOM>
+                      <COND (,POST-WILL
+                             <TELL
+"George is staring contentedly out the bay window." CR>)
+                            (T
+                             <TELL
+"George is here, pacing around the room." CR>)>)
+                     (<IN? ,GEORGE ,NORTH-LAWN>
+                      <TELL "George is here, staring out over the lake." CR>)
+                     (<AND <IN? ,GEORGE ,GEORGE-ROOM> <NOT ,GEORGE-WAIT>>
+                      <COND (,TUNE-ON
+                             <TELL
+"George is lying on his bed, listening intently to a " ,TUNE-ON "." CR>)
+                            (T 
+                             <TELL
+"George is sitting on his bed, deep in thought." CR>)>)
+                     (T <TELL "George is here." CR>)>
+               <CARRY-CHECK ,GEORGE>)
+              (<VERB? HELLO GOODBYE>
+               <TELL "George looks up and grunts disinterestedly." CR>)
+              (<==? ,WINNER ,GEORGE>
+               <COND (<VERB? FIND> <RFALSE>)
+                     (<COM-CHECK ,GEORGE> <RTRUE>)
+                     (T <TELL <PICK-ONE ,WHY-ME> CR>)>)
+              (<AND <VERB? CALL> <G? ,GEORGE-RUN 0>>
+               <TELL "\"Don't bother me!\" he shouts, and continues on." CR>)
+              (<VERB? SEARCH SEARCH-OBJECT-FOR>
+               <COND (<==? <GET <GET ,GOAL-TABLES ,GEORGE-C> ,GOAL-S>
+                           ,NORTH-LAWN>
+                      <TELL
+"George points accusingly at you. \"Don't come near me! I'm getting sick and
+tired of your accusing tone. Get lost!\"" CR>)
+                     (T
+                      <TELL
+"\"Buzz off! Don't come back until you get a search warrant!\" He chuckles in
+contempt." CR>)>)
+              (<VERB? ACCUSE>
+               <TELL
+"George sneers at you. \"What an ass! Go on, try to prove it!\"" CR>)
+              (<VERB? ARREST>
+               <COND (<OR ,NEW-WILL-SEEN ,GEORGE-RUN>
+                      <TELL
+"Faithful Sergeant Duffy enters and handcuffs George, who spits at you. \"You
+filthy, stinking...\" is all you hear as George is carted off struggling.|
+|">
+                      <END-HEADER "August 4">
+                      <TELL
+"I am sorry to inform you that George Robner was acquitted in the death of
+his father today. It seems the evidence, consisting mainly of a new will
+which George admitted under pressure that he was trying to destroy, was
+insufficient for the jury to return a guilty verdict. Although I suspect that
+George may have committed the crime, his arrest was a bit premature.|
+|">
+                      <CASE-OVER>)
+                     (T <RFALSE>)>)
+              (<VERB? CONFRONT SHOW>
+               <COND (<NOT <GRAB-ATTENTION ,GEORGE>> <RTRUE>)
+                     (<==? ,PRSI ,LAB-REPORT>
+                      <TELL
+"George scans the report. \"Killed, eh? I wonder who might have wanted...\" He
+cocks his head in thought. \"I'm sorry, Inspector, I really should act a bit
+better with you. I thought you were just snooping about, digging up dirt about
+the family. I'm not sure...I can't believe Mom would have anything to do with
+it, although...Baxter, now there's a worm for you. He'd do anything, maybe
+even murder, to get ahead. I just don't know.\"" CR>)
+                     (<==? ,PRSI ,LETTER>
+                      <TELL
+"George reads the letter quickly. \"Pompous ass! What does he know about
+it?\" He pauses. \"I thought Mom was having an affair. How nice for the
+lovebirds that Dad is dead! They can finish their honeymoon plans without
+worrying. It's perfect!\" With a bitter laugh, he throws the letter to the
+ground." CR>
+                      <SETG G-LETTER T>
+                      <MOVE ,LETTER ,HERE>)
+                     (<AND <==? ,PRSI ,DESK-CALENDAR>
+                           <==? ,CALENDAR-PAGE 8>
+                           <NOT ,GEORGE-SEQUENCE>>
+                      <SETG G-CALENDAR T>
+                      <COND (<G? ,WILL-TIME 0>
+                             <TELL
+"\"I...uh...I don't really know what to say. I guess that Dad...but there is
+no other...I can't help you...sorry.\" George seems to be quite agitated." CR>
+                             <GEORGE-HACK>)
+                            (T
+                             <TELL
+"George tilts his head in thought (or perhaps surprise) but recovers quickly.
+\"All I know is that Coates is my father's personal attorney.\"" CR>)>)
+                     (<AND <==? ,PRSI ,NEWSPAPER> ,NEWSPAPER-READ>
+                      <DISCRETION ,GEORGE ,BAXTER>
+                      <TELL
+"\"So Baxter's arranged the merger. I'll be damned. That's strange, since
+Dad was opposed to the whole thing. He's worried about losing control of
+the company ever since he had to sell off most of his interest. I bet he
+doesn't even own enough shares to prevent the deal.\"
+He shakes his head in disbelief." CR>)>)
+              (<AND <VERB? ASK-ABOUT> <==? ,PRSO ,GEORGE>>
+               <COND (<NOT <GRAB-ATTENTION ,GEORGE>> <RTRUE>)
+                     (<==? ,PRSI ,GLOBAL-HIDDEN-CLOSET>
+                      <COND (<OR ,SAFE-SEEN ,NEW-WILL-SEEN>
+                             <TELL
+"\"What of it? Dad's safe is there. I don't think anyone knows about it
+except Dad and me.\"" CR>)
+                            (T
+                             <TELL
+"\"Hidden closet, you say? Hmm. I think I'd know if there was one, but there
+isn't!\"" CR>)>)
+                     (<==? ,PRSI ,GLOBAL-MERGER>
+                      <TELL
+"\"I've heard talk of a merger between Dad's company and another one,
+but I don't think it's happened yet. Dad would be furious if it did,
+though. I can tell you that!\"" CR>)
+                     (<==? ,PRSI ,GLOBAL-STEVEN>
+                      <COND (,G-LETTER
+                             <TELL
+"\"He's a little worm who's been coming by lately. He's one of those fancy
+ski-instructor types, if you know what I mean. From what I've seen, it
+wouldn't surprise me if he and Mom are having an affair.\"" CR>)
+                            (T
+                             <DISCRETION ,GEORGE ,MRS-ROBNER>
+                             <TELL
+"\"Steven? Oh, you must mean the guy who comes around for Mom now and
+then. I don't know much about him. Dresses a bit above himself, I'll say
+that much.\"" CR>)>)
+                     (<EQUAL? ,PRSI ,BAXTER ,GLOBAL-BAXTER>
+                      <TELL
+"\"I don't know much about him, really. With Baxter, it's always business,
+and he's not here much except to discuss business with Dad. You might ask Ms.
+Dunbar about him, though. She handled lots of Dad's business matters herself,
+so they work together a lot. They probably know each other pretty well.\"" CR>)
+                     (<EQUAL? ,PRSI ,CORPSE ,DUNBAR ,GLOBAL-DUNBAR>
+                      <TELL
+"\"She's been here for about ten years, I guess. She knows a lot about Dad's
+business, and he lets her take care of a lot of stuff by herself. Other than
+that, I can't say. We don't get in each other's way. I think she's heard Dad
+lecture me too often.\"" CR>)
+                     (<EQUAL? ,PRSI ,MRS-ROBNER ,GLOBAL-MRS-ROBNER>
+                      <TELL
+"\"She's OK. Not as stuck up as Dad about money. We've always gotten
+along pretty well. I think she understands me better than Dad ever
+did.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-SAFE>
+                      <COND (,NEW-WILL-SEEN
+                             <TELL
+"\"Let's not go into it, ok? You caught me looking for the will. Well, what of
+it? I didn't kill Dad, if that's what you're thinking. Leave me alone!\"" CR>)
+                            (,SAFE-SEEN
+                             <TELL
+"\"You mean my father's safe? Yeah, if he brings important papers home he puts
+them in there. He keeps most important stuff at the office at the bank. You
+really startled me in there. I thought I might be able to get it open. Dad
+always acted like it was a big secret, something out of a spy story. Anyway,
+it turns out I don't remember the combination. It was a long time ago.\"" CR>)
+                            (,GEORGE-SEQUENCE
+                             <TELL
+"George turns toward you with rage in his eyes. \"I don't know anything about
+any damn safe! Now leave me alone or I'll have you kicked out of here!\" He
+turns away." CR>)
+                            (T
+                             <TELL
+"George looks briefly toward the ceiling, as if recalling something. \"Oh, I'm
+sorry. A safe? No, I don't know about any safe...except at the office, that
+is. I think there's one there.\"" CR>)>)
+                     (<EQUAL? ,PRSI ,GARDENER ,GLOBAL-GARDENER>
+                      <TELL
+"\"McNabb, that old bore? Always talking about the damn roses and weeds. Don't
+ask him about them, unless you have all day.\"" CR>)
+                     (<EQUAL? ,PRSI ,ROURKE ,GLOBAL-ROURKE>
+                      <DISCRETION ,GEORGE ,ROURKE>
+                      <TELL
+"\"She's nice but awfully nosy. She acts like she knows everything that goes
+on around here, but she doesn't know the half of it.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-OLD-WILL>
+                      <TELL
+"\"I know what you know.\"" CR>)
+                     (<EQUAL? ,PRSI ,NEW-WILL ,GLOBAL-NEW-WILL>
+                      <COND (<G? ,PRESENT-TIME ,WILL-TIME>
+                             <COND (<FSET? ,NEW-WILL ,TOUCHBIT>
+                                    <TELL
+"\"You should know what it says.\"" CR>)
+                                   (,NEW-WILL-SEEN
+                                    <TELL
+"\"I don't know what you're talking about. There's no new will. Dad never
+wrote one! He would just threaten me when I asked for spending money.\"" CR>)
+                                   (,GEORGE-SEQUENCE
+                                    <TELL
+"\"Look. I know the same as you. There's no new will. I'm sure of it. Dad
+would have rubbed my nose in it: you can be sure of that!\"" CR>)
+                                   (,AT-READING
+                                    <TELL
+"\"You were there when I was. Coates says there's no new will.\"" CR>)
+                                   (<0? ,WILL-TIME>
+                                    <TELL
+"\"Dad always threatened to write a new will, but I guess he ran out
+of time.\" He chuckles disturbingly." CR>)
+                                   (T
+                                    <TELL
+"\"Oh, yeah. You skipped out on the will reading. Anyhow, Coates says there's
+no new will, and he should know, right?\"" CR>)>)
+                            (,G-CALENDAR
+                             <TELL
+"\"I know what you're getting at...the desk calendar. Look, I've heard nothing
+about a new will. Maybe the old man just wanted to change something.\"" CR>)
+                            (T
+                             <TELL
+"\"I don't know anything about any new will.\"" CR>)>)
+                     (<==? ,PRSI ,GLOBAL-MR-ROBNER>
+                      <TELL
+"\"Like I told your detective friend yesterday, we didn't get along too well.
+He was always riding me, giving me a hard time.\" George gets worked up
+talking about it.\"Look, man. I'm not going to lie and say I loved him, right?
+He got what...\" He stops in mid-sentence." CR>)
+                     (<==? ,PRSI ,GLOBAL-FOCUS>
+                      <TELL
+"\"Focus...Focus...That name rings a bell. Something about the company, quite
+a while ago...what was it? I can't remember now. I don't pay much attention to
+business stuff: I've got better things to do.\"" CR>)
+                     (T <TELL "\"I haven't a clue.\"" CR>)>)>>
+
+<GLOBAL HO-HUMS
+       <LTABLE " is standing here.">>
+
+"Global Flags"
+
+<GLOBAL NOTE-READ <>>
+
+<GLOBAL B-NOTE <>>
+
+<GLOBAL B-FOCUS <>>
+
+<GLOBAL G-CALENDAR <>>
+
+<CONSTANT WILL-READING 720>
+
+<GLOBAL LADDER-FLAG <>>
+
+<GLOBAL WILL-READY <>>
+
+<GLOBAL YUKS
+       <LTABLE "Don't be ridiculous."
+               "Surely you jest."
+               "You can't be serious!">>
+
+<GLOBAL G-LETTER <>>
+
+"Object functions"
+
+<GLOBAL CALENDAR-PAGE 7>
+
+<ROUTINE DESK-CALENDAR-F ("OPTIONAL" (RARG <>) "AUX" PAG)
+        <COND (<AND <VERB? READ EXAMINE> <==? ,PRSI ,INTNUM>>
+               <COND (<OR <0? ,P-NUMBER> <G? ,P-NUMBER 30>>
+                      <TELL "Why?  Is it your birthday?" CR>)
+                     (T
+                      <TELL
+"You flip the pages until you find the page." CR>
+                       <SETG CALENDAR-PAGE ,P-NUMBER>)>)>
+        <COND (<VERB? CLOSE> <TELL "It's not worth the effort." CR>)
+              (<AND <VERB? TURN> <NOT ,PRSI>>
+               <COND (<==? ,CALENDAR-PAGE 31>
+                      <TELL
+"You have reached the end of the book." CR>
+                      <RTRUE>)
+                     (T <SETG CALENDAR-PAGE <+ ,CALENDAR-PAGE 1>>)>
+               <SETG PRSA ,V?READ>)>
+        <SET PAG ,CALENDAR-PAGE>
+        <COND (<==? .RARG ,M-OBJDESC>
+               <TELL
+"A desk calendar is here, open to July " N ,CALENDAR-PAGE "." CR>)
+              (<VERB? READ EXAMINE>
+               <TELL
+"It is open to July " N ,CALENDAR-PAGE "." CR>
+               <COND (<==? .PAG 8>
+                      <TELL
+"There is only one notation here, in the 9AM spot:
+\"Call Coates: Will completed\"." CR>)
+                     (<==? .PAG 7>
+                      <TELL
+"The only listing here is an appointment with Baxter at 2PM
+at the Robner Corp. office." CR>)
+                     (T
+                      <TELL
+"Nothing of interest is scheduled on this date." CR>)>)
+              (<VERB? TURN>
+               <COND (<NOT <==? ,PRSI ,INTNUM>>
+                      <TELL "Huh?" CR>)
+                     (<G? ,P-NUMBER 30>
+                      <TELL
+"Thirty days hath September,|
+April, June, and November,|
+All the rest have " N ,P-NUMBER "???" CR>)
+                     (<0? ,P-NUMBER>
+                      <TELL "Do you suppose that would be June 30?" CR>)
+                     (T
+                      <SETG CALENDAR-PAGE ,P-NUMBER>
+                      <TELL
+"The calendar is now open to July " N ,P-NUMBER "." CR>)>)>>
+
+<ROUTINE NOTE-PAPER-F ()
+        <COND (<VERB? READ EXAMINE>
+               <COND (,NOTE-READ
+                      <PAD-READ "Examination of the paper">)
+                     (<==? ,P-ADVERB ,W?CAREFULLY>
+                      <TELL
+"There are some indentations on the paper. Something may have been
+written on the previous sheet." CR>)
+                     (T 
+                      <TELL
+"There doesn't seem to be anything written on the pad." CR>)>)
+              (<VERB? RUB>
+               <COND (<NOT ,PRSI>
+                      <TELL
+"You should try rubbing or shading the pad with something." CR>)
+                     (<==? ,PRSI ,PENCIL>
+                      <PAD-READ "Shading the paper with the pencil">)>)
+              (<AND <VERB? RUN-OVER> <==? ,PRSO ,PENCIL>>
+               <PAD-READ "Running the pencil over the paper">)
+              (<AND <VERB? HOLD-UP> <==? ,PRSI ,GLOBAL-LIGHT>>
+               <PAD-READ "Looking at the pad against the light">)>>
+
+<ROUTINE PAD-READ (STR)
+        <SETG NOTE-READ T>
+        <TELL .STR
+" reveals impressions left by writing on the previous sheet. The writer must
+borne down heavily, but only a few words come out clearly:|
+|
+  Baxter,|
+|
+                  st time|
+ nsist             op       merg|
+       mnidy               Oth|
+          forc|
+         ocumen     y poss|
+  plica     y      Focus s|
+          recons|
+late!|
+                              rsha|" CR>>
+
+<GLOBAL P-ADVERB <>>
+
+<GLOBAL NEWSPAPER-READ <>>
+
+<ROUTINE READ-SECOND-SECTION ()
+        <SETG NEWSPAPER-READ T>
+        <TELL
+"In your study of the second section, a small item in the financial section
+catches your eye. A merger between Robner Corp. and Omnidyne is set to be
+concluded shortly. There is a picture of Mr. Baxter with Omnidyne president
+Starkwell, both smiling broadly. Baxter is quoted as saying that the deal
+will enable the financially ailing Robner Corp. to continue to produce the
+highest-quality products. The article points out that Marshall Robner, who
+founded Robner Corp. but is no longer its major stockholder, had been found
+dead yesterday morning, an apparent suicide victim. Baxter is quoted as
+saying that Robner was in full agreement with the terms of the merger." CR>>
+
+<ROUTINE NEWSPAPER-F ()
+        <COND (<VERB? EXAMINE READ OPEN>
+               <COND (<EQUAL? ,P-ADVERB ,W?CAREFULLY ,W?SLOWLY>
+                      <READ-SECOND-SECTION>)
+                     (T
+                      <TELL
+"The Daily Herald is a local paper in two sections. In your cursory look at
+the first, you find a brief obituary for Mr. Robner. It details his career,
+including the formation of Robner Corp. A few years ago, Mr. Robner and the
+Robner Corp. were given a prestigious award for works in the community. At
+that time Robner said \"I am proud to accept this award for the Corporation.
+Robner Corp is my whole life, and I will continue to guide it for the public
+interest as long as I live.\" Robner himself had won great public acclaim for
+his charitable works." CR>)>)>>
+
+<ROUTINE SECOND-SECTION-F ()
+        <COND (<VERB? TAKE>
+               <COND (<IN? ,NEWSPAPER ,WINNER>
+                      <TELL "You already have the whole newspaper." CR>)
+                     (T
+                      <PERFORM ,V?TAKE ,NEWSPAPER>
+                      <RTRUE>)>)
+              (<NOT <IN? ,NEWSPAPER ,WINNER>>
+               <TELL "You don't have the newspaper." CR>)
+              (<VERB? EXAMINE READ>
+               <READ-SECOND-SECTION>
+               <RTRUE>)
+              (<VERB? DROP>
+               <TELL
+"You shouldn't leave pieces of the paper lying around. At least
+leave the whole thing." CR>)>>
+
+"Interrupt handlers"
+
+<ROUTINE I-MAIL ()
+        <COND (<OR <EQUAL? ,HERE ,FRONT-PATH>
+                   <AND <EQUAL? ,HERE ,FOYER>
+                        <FSET? ,FRONT-DOOR ,OPENBIT>>>
+               <TELL
+"A mailman walks briskly up to you, hands you an envelope,
+and departs." CR>
+               <MOVE ,ENVELOPE ,WINNER>
+               <FSET ,ENVELOPE ,TOUCHBIT>
+               <RTRUE>)
+              (<EQUAL? ,HERE ,FOYER>
+               <TELL
+"There is a short rap on the front door.  A moment later, a thin
+envelope appears under the door." CR>
+               <MOVE ,ENVELOPE ,FOYER>
+               <PUTP ,ENVELOPE
+                     ,P?FDESC
+                     "Partially exposed under the front door is an envelope.">
+               <ENABLE <QUEUE I-MAIL-2 60>>
+               <RTRUE>)
+              (T
+               <MOVE ,ENVELOPE ,FOYER-TABLE>
+               <ENABLE <QUEUE I-MAIL-2 60>>
+               <COND (<EQUAL? ,HERE ,SOUTH-LAWN ,WEST-OF-DOOR ,EAST-OF-DOOR>
+                      <TELL
+"You notice a mailman stop by the house briefly and depart." CR>
+                      <RTRUE>)
+                     (T <RFALSE>)>)>>
+
+<ROUTINE I-MAIL-2 ()
+        <COND (<EQUAL? <LOC ,ENVELOPE> ,FOYER ,FOYER-TABLE>
+               <ESTABLISH-GOAL ,ROURKE ,FOYER T>
+               <ENABLE <QUEUE I-MAIL-3 -1>>
+               <RFALSE>)>>
+
+<ROUTINE I-MAIL-3 ()
+        <COND (,ROURKE-MAIL
+               <COND (<IN? ,ROURKE <LOC ,MRS-ROBNER>>
+                      <QUEUE I-MAIL-3 0>
+                      <ESTABLISH-GOAL ,ROURKE ,ROURKE-ROOM T>
+                      <COND (<AND <IN? ,ENVELOPE ,WINNER>
+                                  <IN? ,WINNER <LOC ,MRS-ROBNER>>>
+                             <TELL
+"Mrs. Rourke walks up to Mrs. Robner. \"I'm sorry, Ma'am, but this gentleman
+has a letter that just arrived for you.\" Mrs. Robner grabs the letter from
+you. \"That is none of your business!\"" CR>)
+                            (<NOT <IN? ,ENVELOPE ,ROURKE>>
+                             <RTRUE>)>
+                      <COND (<==? ,HERE <LOC ,ROURKE>>
+                             <COND (<IN? ,ENVELOPE ,ROURKE>
+                                    <TELL
+"Mrs. Rourke hands an envelope to Mrs. Robner.">)>
+                             <MOVE ,ENVELOPE ,MRS-ROBNER>
+                             <COND (,ENVELOPE-OPENED
+                                    <TELL " Mrs. Robner examines the
+envelope, then turns to you. \"You did this, I suppose.\" she says. \"You had
+no right! I expected better treatment than this. You would think I were
+suspected of wrongdoing!\"" CR>)
+                                   (T
+                                    <TELL " Mrs. Robner examines
+the envelope briefly, then puts it in her pocket." CR>
+                                    <REMOVE ,ENVELOPE>)>
+                             <RTRUE>)
+                            (T <REMOVE ,ENVELOPE>)>
+                      <RFALSE>)
+                     (T <RFALSE>)>)
+              (<IN? ,ROURKE ,FOYER>
+               <COND (<EQUAL? <LOC ,ENVELOPE> ,FOYER-TABLE ,FOYER>
+                      <MOVE ,ENVELOPE ,ROURKE>
+                      <FSET ,ENVELOPE ,TOUCHBIT>
+                      <ESTABLISH-GOAL ,ROURKE <LOC ,MRS-ROBNER> T>
+                      <SETG ROURKE-MAIL T>
+                      <COND (<==? ,HERE ,FOYER>
+                             <TELL
+"Mrs. Rourke takes the envelope and starts to walk away." CR>
+                             <RTRUE>)
+                            (T <RFALSE>)>)
+                     (T <UNPRIORITIZE ,ROURKE> <RFALSE>)>)>>
+
+<GLOBAL ROURKE-MAIL <>>
+
+<ROUTINE I-NEWSPAPER ()
+        <MOVE ,NEWSPAPER ,FRONT-PATH>
+        <COND (<EQUAL? ,HERE ,SOUTH-LAWN ,FRONT-PATH>
+               <TELL
+"The local paperboy, in an amazing athletic feat, throws a newspaper toward
+the house from a distance of at least 100 feet. It even lands beside the front
+door, rather than in the bushes." CR>
+               <RTRUE>)>>
+
+<GLOBAL WILL-WAIT 0>
+
+<GLOBAL WILL-HOLD <>>
+
+<ROUTINE I-WILL-READING ()
+        <COND (<AND <L? ,PRESENT-TIME 760>
+                    <OR <NOT <IN? ,MRS-ROBNER ,LIVING-ROOM>>
+                        <NOT <IN? ,DUNBAR ,LIVING-ROOM>>
+                        <NOT <IN? ,BAXTER ,LIVING-ROOM>>
+                        <NOT <IN? ,GEORGE ,LIVING-ROOM>>>>
+               <SETG WILL-HOLD T>
+               <QUEUE I-WILL-READING -1>
+               <COND (<==? ,HERE ,LIVING-ROOM>
+                      <COND (<PROB 70> <RFALSE>)
+                            (<PROB 50>
+                             <TELL
+"Mr. Coates asks everyone to be patient, as not everyone is present." CR>)
+                            (T
+                             <TELL
+"Mr. Coates appears distracted, looking frequently toward the door." CR>)>
+                      <RTRUE>)>
+               <RFALSE>)
+              (<NOT <==? ,HERE ,LIVING-ROOM>>
+               <COND (<G? <SETG WILL-WAIT <+ ,WILL-WAIT 1>> 15>
+                      <ENABLE <QUEUE I-WILL-MISSED -1>>
+                      <WILL-HACK>
+                      <RFALSE>)
+                     (T
+                      <QUEUE I-WILL-READING -1>
+                      <RFALSE>)>)>
+        <COND (<==? ,HERE ,LIVING-ROOM>
+               <SETG AT-READING T>
+               <COND (<AND <G? ,PRESENT-TIME 720> <G? ,WILL-WAIT 3>>
+                      <TELL
+"The people present turn to look at you. Mrs. Robner glares at you. \"You
+might at least have the courtesy to be here on time! Haven't you caused enough
+disruption already? We should have started without you. Mr. Coates, please
+proceed.\"" CR>)
+                     (<G? ,PRESENT-TIME 760>
+                      <TELL
+"\"It's late, so let's begin!\" Coates says." CR>)
+                     (,WILL-HOLD
+                      <TELL
+"\"Ah!\" Mr. Coates says, \"Everybody's here now.\"" CR>)>
+               <TELL
+"Mr. Coates begins: \"This is an awkward situation. Mr. Robner told me five
+days ago that he wanted to execute a new will, and promised to call me when
+it was completed. As I never heard from him, I must assume that he either
+changed his mind or did not complete the new will. Therefore, the one in my
+possession must be considered the most recent testament.\"" CR>
+                <COND (,G-CALENDAR
+                      <TELL
+"You notice that George, who was not initially paying close attention, now
+perks up and begins to look about anxiously." CR>)
+                     (T
+                      <TELL
+"From the corner of your eye, you catch George nodding his head, as
+if in approval, and smiling broadly." CR>)>
+               <TELL
+"Continuing, Mr. Coates says: \"Naturally, should a more recent will exist
+and be found within a reasonable period, the present one will be voided.
+I will proceed with reading the will here in my hands, which was executed
+three years ago last month.\" He reads the will, simply written and direct,
+leaving equal parts of the estate to his son, George Arthur Robner, and
+his wife, Mrs. Leslie Phillips Robner." CR>
+               <TELL
+"There is some discussion, understated congratulations and overstated
+sympathy, which Mr. Coates cuts short by clearing his throat. \"I must
+leave now, I'm afraid. If you have any questions, I can be contacted
+tomorrow.\" He picks up the phone, dials his office, and asks to be
+picked up at the Robner estate." CR>
+               <COND (,G-CALENDAR
+                      <TELL
+"George, now looking quite upset, starts for the door." CR>)>
+               <WILL-HACK>
+               <RTRUE>)>
+        <WILL-HACK>
+        <RFALSE>>
+
+<ROUTINE WILL-HACK ()
+        <ESTABLISH-GOAL ,COATES ,SOUTH-LAWN T>
+        <SETG WILL-TIME ,PRESENT-TIME>
+        <SETG POST-WILL T>
+        <QUEUE I-WILL-READING 0>
+        <COND (,G-CALENDAR <GEORGE-HACK>)>>
+
+<GLOBAL POST-WILL <>>
+
+<ROUTINE GEORGE-HACK ("AUX" (GL <LOC ,GEORGE>))
+        #DECL ((GL) OBJECT)
+        <COND (<==? .GL ,HERE>
+               <COND (<==? .GL ,GEORGE-ROOM>
+                      <TELL
+"George paces around. \"I just remembered,\" he says, \"I've got some personal
+business to attend to. Would you mind?\" He shows you to the door." CR>)
+                     (<==? <GETP .GL ,P?LINE> ,TOP-OF-THE-LINE-C>
+                      <TELL
+"\"I'm...I really have some business to do in my room. I'll speak
+to you later,\" George says. He starts off toward his room." CR>)
+                     (T
+                      <TELL
+"\"I've...got to be going now. I'll see you later,\" George says.
+He starts to leave." CR>)>)>
+        <COND (<NOT <==? .GL ,GEORGE-ROOM>>
+               <ESTABLISH-GOAL ,GEORGE ,GEORGE-ROOM T>)>
+        <SETG GEORGE-SEQUENCE T>
+        <ENABLE <QUEUE I-GEORGE-HACK -1>>>
+
+<GLOBAL GEORGE-SEQUENCE <>>
+<GLOBAL GEORGE-WAIT <>>
+<GLOBAL GEORGE-READY <>>
+<GLOBAL GEORGE-SCREAM <>>
+
+<ROUTINE I-GEORGE-HACK ("AUX" (GL <LOC ,GEORGE>) GT (TMP <>))
+        <SET GT <GET ,GOAL-TABLES <GETP ,GEORGE ,P?CHARACTER>>>
+        <COND (,GEORGE-READY
+               <COND (<==? ,HERE .GL>
+                      <SETG GEORGE-READY <>>
+                      <SETG GEORGE-SCREAM <>>
+                      <SETG GEORGE-WAIT 1>
+                      <TELL
+"\"I don't understand you, Inspector. I asked to be alone so I can take care
+of some business. I...I don't see why you have to snoop around here like I was
+some sort of suspect.\"" CR>
+                      <COND (,GEORGE-SCREAM
+                             <TELL
+"\"I said to close that door and not to come in! You must be deaf as well as
+stupid!\"" CR>)>
+                      <RTRUE>)
+                     (<AND <FSET? ,GEORGE-DOOR ,OPENBIT>
+                           <NOT ,GEORGE-SCREAM>>
+                      <TELL
+"As the door opens, you hear George say \"Close that door! I'm working!\"" CR>
+                      <SETG GEORGE-SCREAM T>
+                      <RTRUE>)>)
+              (,GEORGE-WAIT
+               <COND (<==? ,HERE .GL>
+                      <TELL
+"George paces around the room, awaiting your departure with ill-concealed
+impatience." CR>
+                      <COND (<G? <SETG GEORGE-WAIT <+ ,GEORGE-WAIT 1>> 12>
+                             <TELL
+"\"I can't take this. You get on my nerves. I'm leaving.\"" CR>
+                             <COND (<==? ,HERE <GET .GT ,GOAL-QUEUED>>
+                                    <PUT .GT ,GOAL-QUEUED ,LIVING-ROOM>)>
+                             <UNPRIORITIZE ,GEORGE>
+                             <SETG GEORGE-WAIT <>>
+                             <QUEUE I-GEORGE-HACK 0>
+                             <ENABLE <QUEUE GEORGE-HACK 30>>)>
+                      <RTRUE>)
+                     (T
+                      <SETG GEORGE-WAIT <>>
+                      <FCLEAR ,GEORGE-DOOR ,OPENBIT>
+                      <COND (<EQUAL? ,HERE ,LIBRARY ,CORRIDOR-4 ,CORRIDOR-3>
+                             <TELL
+"You hear George's door close." CR>)>)>)
+              (<==? .GL ,GEORGE-ROOM>
+               <COND (<==? ,HERE .GL>
+                      <TELL
+"\"I have business to attend to. Would you mind leaving?\"" CR>
+                      <SETG GEORGE-WAIT 1>)
+                     (T
+                      <ENABLE <QUEUE I-GEORGE-HACK-2 5>>
+                      <SETG GEORGE-READY T>
+                      <COND (<AND <EQUAL? ,HERE ,CORRIDOR-4 ,CORRIDOR-3>
+                                  <FSET? ,GEORGE-DOOR ,OPENBIT>>
+                             <FCLEAR ,GEORGE-DOOR ,OPENBIT>
+                             <SET TMP T>
+                             <TELL
+"You hear George's door close." CR>)>
+                      <FCLEAR ,GEORGE-DOOR ,OPENBIT>
+                      .TMP)>)
+              (<==? ,HERE .GL>
+               <COND (<NOT ,GEORGE-FOLLOW>
+                      <SETG GEORGE-FOLLOW T>
+                      <RFALSE>)
+                     (<PROB 50>
+                      <TELL
+"\"Please stop following me around like this. Can I have no privacy? I'm
+simply trying to take care of something personal.\"" CR>)
+                     (T
+                      <TELL
+"\"Stop following me. My business is private.\"" CR>)>)
+              (<==? .GL ,CORRIDOR-4>
+               <COND (<==? <BAND <GETP ,HERE ,P?CORRIDOR> 1> 1>
+                      <TELL
+"George glances in your direction, then enters his room." CR>
+                      <MOVE ,GEORGE ,GEORGE-ROOM>)>)
+              (<AND <EQUAL? .GL ,CORRIDOR-3 ,CORRIDOR-2>
+                    <EQUAL? ,HERE ,CORRIDOR-1 ,STAIR-TOP>>
+               <TELL
+"George glances back at you briefly, then continues on his way." CR>)>>
+
+<GLOBAL GEORGE-FOLLOW <>>
+
+"At this point, George is in his room having waited for some
+time for his moment to try to enter the library secretly.
+I-GEORGE-HACK is still enabled and running every move to
+detect the chomper entering the room."
+
+<ROUTINE I-GEORGE-HACK-2 ()
+        <COND (,GEORGE-READY
+               <COND (<OR <==? <BAND <GETP ,HERE ,P?CORRIDOR> 1> 1>
+                          <==? ,HERE ,LIBRARY>>
+                      <QUEUE I-GEORGE-HACK-2 <RANDOM 9>>
+                      <COND (<EQUAL? ,HERE ,CORRIDOR-2 ,CORRIDOR-1 ,STAIR-TOP>
+                             <COND (<PROB 30>
+                                    <TELL
+"A door opens down the hall. George steps out, spots you, and looks briefly
+toward the window. After a moment he steps back into his room and shuts the
+door." CR>)
+                                   (T
+                                    <TELL
+"You faintly hear a door open and then close near the end of the hall." CR>)>)
+                            (<EQUAL? ,HERE ,CORRIDOR-4 ,LIBRARY>
+                             <TELL
+"You hear George's door open and ">
+                             <COND (<PROB 30>
+                                    <TELL "you catch a brief glimpse of his
+head darting back into the doorway. You watch as the door closes again." CR>)
+                                   (T
+                                    <TELL "close again immediately." CR>)>)
+                            (<FSET? ,GEORGE-DOOR ,OPENBIT>
+                             <FCLEAR ,GEORGE-DOOR ,OPENBIT>
+                             <TELL
+"George walks up to his door and slams it in your face." CR>)
+                            (<EQUAL? ,HERE ,CORRIDOR-3>
+                             <TELL
+"George opens his door and peeks out. He is startled by your presence,
+excuses himself, and closes the door sharply in your face before you can
+utter a word." CR>)>)
+                     (T
+                      <QUEUE I-GEORGE-HACK 0>
+                      <MOVE ,GEORGE ,LIBRARY>
+                      <FSET ,GEORGE-DOOR ,OPENBIT>
+                      <QUEUE I-GEORGE-HACK-2 0>
+                      <ENABLE <QUEUE I-GEORGE-HACK-3 -1>>
+                      <COND (<==? ,HERE ,UPSTAIRS-CLOSET>
+                             <TELL
+"You hear George's door open and you see his head poke out briefly, scanning
+the hallway. He apparently didn't see you, and darts across the hall to the
+library." CR>)
+                            (<==? ,HERE ,LIBRARY-BALCONY>
+                             <TELL
+"You see George through the doorway, looking down the hallway, then darting
+into the library." CR>)>)>)
+              (T
+               <QUEUE I-GEORGE-HACK-2 <RANDOM 9>>
+               <RFALSE>)>>
+
+<GLOBAL GEORGE-SEARCH 0>
+<GLOBAL GEORGE-RUN 0>
+<GLOBAL BOOKS-MOVED <>>
+
+<ROUTINE I-GEORGE-HACK-3 ("AUX" (FLG <>))
+        <COND (<0? ,GEORGE-SEARCH>
+               <COND (<==? ,HERE ,LIBRARY-BALCONY>
+                      <TELL
+"George walks purposefully toward the bookshelves. He looks around, but you
+react before he can see you. When you peek out again, George is fiddling with
+the shelves. His right arm reaches into the shelf and, to your amazement, the
+unit of bookshelves on the left rotates away from the wall, revealing a
+darkened room behind. George enters it, trembling with barely controlled fear
+and excitement." CR>
+                      <SET FLG T>
+                      <SETG BOOKS-MOVED T>
+                      <SETG GEORGE-MOVES-BOOKS T>
+                      <MOVE ,GEORGE ,HIDDEN-CLOSET>)
+                     (<==? ,HERE ,LIBRARY>
+                      <TELL
+"George hears you walk through the balcony doors and recoils in horror. He
+runs across the hall to his own bedroom, slamming his door shut." CR>
+                      <SET FLG T>
+                      <SETG GEORGE-READY <>>
+                      <SETG GEORGE-WAIT <>>
+                      <FCLEAR ,GEORGE-DOOR ,OPENBIT>
+                      <MOVE ,GEORGE ,GEORGE-ROOM>
+                      <QUEUE I-GEORGE-HACK-3 0>
+                      <QUEUE I-GEORGE-HACK-2 10>)
+                     (T
+                      <MOVE ,GEORGE ,HIDDEN-CLOSET>
+                      <SETG BOOKS-MOVED T>)>)
+              (<1? ,GEORGE-SEARCH>
+               <COND (<EQUAL? ,HERE ,LIBRARY ,LIBRARY-BALCONY>
+                      <TELL
+"A dim light in the hidden closet comes on. In the faint light, you can see
+George motioning with his right hand. All at once, the shelf swings shut!" CR>
+                      <SET FLG T>)>)
+              (<L? ,GEORGE-SEARCH 10>
+               <COND (<FSET? ,HIDDEN-DOOR-L ,OPENBIT>
+                      <TELL
+"As the bookshelf swings open, you see George carefully dialing a combination
+into a large wall safe. He turns in panic and, with an exclamation, knocks you
+down and bolts out of the library." CR>
+                      <SET FLG T>
+                      <SETG SAFE-SEEN T>
+                      <SETG GEORGE-SEARCH 0>
+                      <QUEUE I-GEORGE-HACK-3 0>
+                      <MOVE ,GEORGE ,CORRIDOR-1>
+                      <ESTABLISH-GOAL ,GEORGE ,EAST-LAWN T>)>)
+              (<L? ,GEORGE-SEARCH 16>
+               <COND (<FSET? ,HIDDEN-DOOR-L ,OPENBIT>
+                      <FSET ,SAFE ,OPENBIT>
+                      <SETG SAFE-SEEN T>
+                      <TELL
+"As the shelf swings open, George spins to face you. His expression, first
+seemingly wild with happiness, changes to one of panic and horror. He jerks
+around, trying feebly to conceal a piece of paper in his hands. He jumps
+toward you, then recoils in fear. Finally, sobbing, he crumples to the floor,
+clutching the paper beneath him. A large combination safe, imbedded in a wall,
+is lying open. You enter the hidden closet." CR>
+                      <SET FLG T>
+                      <QUEUE I-GEORGE-HACK-3 0>
+                      <MOVE ,NEW-WILL ,GEORGE>
+                      <GOTO ,HIDDEN-CLOSET>
+                      <ENABLE <QUEUE I-GEORGE-LEAVE-CLOSET 10>>
+                      <SETG HERE ,HIDDEN-CLOSET>
+                      <SETG NEW-WILL-SEEN T>)>)
+              (<==? ,GEORGE-SEARCH 16>
+               <FCLEAR ,SAFE ,OPENBIT>
+               <COND (<==? ,HERE ,LIBRARY>
+                      <TELL
+"Suddenly, the bookshelves swing out, forming an opening to a dark area
+behind. George starts to emerge but stops suddenly as he notices you! With
+jack-rabbit reflexes, he darts back inside.  Before you can act, the
+shelves close again." CR>
+                      <SET FLG T>
+                      <MOVE ,GEORGE ,NORTH-LAWN>
+                      <MOVE ,SOGGY-WILL ,LAKE>
+                      <REMOVE ,NEW-WILL>
+                      <QUEUE I-GEORGE-HACK-3 0>
+                      <SETG GEORGE-RUN ,PRESENT-TIME>)
+                     (T
+                      <MOVE ,GEORGE ,LIBRARY>
+                      ;<MOVE ,NEW-WILL ,GEORGE>
+                      <QUEUE I-GEORGE-HACK-3 0>
+                      <UNPRIORITIZE ,GEORGE>
+                      <ESTABLISH-GOAL ,GEORGE ,NORTH-LAWN T>
+                      <COND (<==? ,HERE ,LIBRARY-BALCONY>
+                             ;<SETG NEW-WILL-SEEN T>
+                             <TELL
+"Suddenly, the shelf swings out, and George emerges. He walks over to a
+special place in the shelves and reaches behind some books. The bookshelves
+silently assume their normal position." ;"You notice that George is carrying a
+piece of paper." CR>
+                             <SET FLG T>)>)>)>
+        <SETG GEORGE-SEARCH <+ ,GEORGE-SEARCH 1>>
+        .FLG>
+
+<GLOBAL SAFE-SEEN <>>
+
+<GLOBAL NEW-WILL-SEEN <>>
+
+<GLOBAL CALL-RING <>>
+
+<GLOBAL GEORGE-MOVES-BOOKS <>>
+
+<ROUTINE I-GEORGE-LEAVE-CLOSET ()
+        <COND (<IN? ,GEORGE ,HIDDEN-CLOSET>
+               <ESTABLISH-GOAL ,GEORGE ,GEORGE-ROOM>
+               <RFALSE>)>>
+
+<ROUTINE I-CALL ("AUX" (MRL <LOC ,MRS-ROBNER>))
+        <COND (,CALL-RING
+               <COND (<==? .MRL ,LIVING-ROOM>
+                      <SETG CALL-RING <>>
+                      <COND (<==? ,HERE ,LIVING-ROOM>
+                             <TELL
+"Mrs. Robner picks up the phone. \"Oh, hi. Look, I can't talk now. I'll call
+you later, okay? Bye, then.\" She hangs up the phone." CR>
+                             <ROBNER-CALL-MOVE>
+                             <RTRUE>)>
+                      <ROBNER-CALL-MOVE>
+                      <RFALSE>)
+                     (T
+                      <TELL "The phone rings again." CR>
+                      <COND (<GLOBAL-IN? ,TELEPHONE ,HERE>
+                             <THIS-IS-IT ,TELEPHONE>)>
+                      <RTRUE>)>)>
+        <COND (,CALL-IN-PROGRESS
+               <COND (<G? <SETG CALL-IN-PROGRESS <+ ,CALL-IN-PROGRESS 1>> 15>
+                      <SETG CALL-IN-PROGRESS <>>
+                      <QUEUE I-CALL 0>
+                      <UNPRIORITIZE ,MRS-ROBNER>
+                      <RFALSE>)
+                     (<OR <FSET? ,MASTER-BEDROOM-DOOR ,OPENBIT>
+                          <==? ,HERE ,MASTER-BEDROOM>>
+                      <TELL
+"Mrs. Robner speaks quietly into the phone and hangs up." CR>
+                      <SETG CALL-IN-PROGRESS <>>
+                      <QUEUE I-CALL 0>
+                      <UNPRIORITIZE ,MRS-ROBNER>
+                      <RTRUE>)>)
+              (,CALL-WAITING
+               <COND (<EQUAL? ,HERE .MRL ,MASTER-BATH ,BEDROOM-BALCONY>
+                      <COND (<NOT <G? <SETG CALL-WAITING <+ ,CALL-WAITING 1>>
+                                      3>>
+                             <TELL
+"Mrs. Robner glares at you, holding the phone in one hand. \"Would you
+mind terribly?\", she asks." CR>)
+                            (,CALL-MOVE
+                             <TELL
+"\"I can't understand why you won't let me use the phone. Can't I talk to
+my best friend? Hummph...I suppose it can wait, since you are being
+so...uh...unhelpful.\" She puts down the receiver, rises from her bed, and
+starts to leave." CR>
+                             <SETG CALL-MOVE <>>
+                             <SETG CALL-WAITING <>>
+                             <QUEUE I-CALL 0>
+                             <UNPRIORITIZE ,MRS-ROBNER>)
+                            (T
+                             <TELL
+"\"I give up. What IS your problem, anyway?,\" Mrs. Robner asks, in a
+barely controllable rage. \"I'll call you back,\" she says, and slams down
+the receiver." CR>
+                             <SETG CALL-MOVE <>>
+                             <QUEUE I-CALL 0>
+                             <UNPRIORITIZE ,MRS-ROBNER>)>)
+                     (T
+                      <ESTABLISH-CALL>
+                      <RFALSE>)>)
+              (,CALL-MOVE
+               <COND (<==? .MRL ,MASTER-BEDROOM>
+                      <COND (<EQUAL? ,HERE ,BEDROOM-BALCONY ,MASTER-BATH
+                                     ,MASTER-BEDROOM>
+                             <COND (<NOT <EQUAL? ,HERE ,MASTER-BEDROOM>>
+                                    <TELL
+"Mrs. Robner enters her bedroom and spots you." CR>)>
+                             <TELL
+"\"I'd like to make a private phone call, if you have no objection,\" she
+says. She motions toward the door." CR>
+                             <SETG CALL-WAITING 1>)
+                            (T
+                             <ESTABLISH-CALL>
+                             <RFALSE>)>)>)
+              (<EQUAL? ,HERE ,LIBRARY ,LIVING-ROOM ,MASTER-BEDROOM>
+               <TELL "The telephone rings." CR>
+               <THIS-IS-IT ,TELEPHONE>
+               <ESTABLISH-GOAL ,MRS-ROBNER ,LIVING-ROOM T>
+               <SETG CALL-RING T>
+               <QUEUE I-CALL -1>)
+              (<==? ,HERE .MRL>
+               <TELL
+"You can hear a telephone ringing in a nearby room. Mrs. Robner
+says \"Pardon me\" and starts for the door." CR>
+               <SETG CALL-RING T>
+               <QUEUE I-CALL -1>
+               <ESTABLISH-GOAL ,MRS-ROBNER ,LIVING-ROOM T>)
+              (T
+               <COND (<NOT <==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>>
+                      <TELL
+"You hear a phone ringing in a nearby room." CR>
+                      <SETG CALL-RING T>
+                      <QUEUE I-CALL -1>
+                      <ESTABLISH-GOAL ,MRS-ROBNER ,LIVING-ROOM T>)
+                     (<PROB 50>
+                      <TELL
+"You notice a very faint ringing sound coming from the house." CR>
+                      <ROBNER-CALL-MOVE>
+                      <RTRUE>)>)>>
+
+<ROUTINE THIS-IS-IT (OBJ)
+        <SETG P-IT-OBJECT .OBJ>
+        <SETG P-IT-LOC ,HERE>>
+
+<ROUTINE ESTABLISH-CALL ("AUX" COR)
+        <SETG CALL-MOVE <>>
+        <SETG CALL-IN-PROGRESS 1>
+        <FCLEAR ,MASTER-BEDROOM-DOOR ,OPENBIT>
+        <COND (<EQUAL? ,HERE ,CORRIDOR-1>
+               <TELL
+"Mrs. Robner shuts the door to the master bedroom." CR>)
+              (<EQUAL? ,HERE ,CORRIDOR-2 ,STAIR-TOP>
+               <TELL
+"You hear the master bedroom door shut." CR>)>>
+
+<ROUTINE MASTER-BEDROOM-DOOR-F ()
+        <COND (<AND <VERB? LISTEN> ,CALL-IN-PROGRESS>
+               <TELL
+"You can hear the muffled voice of Mrs. Robner through the door." CR>)
+              (<VERB? KNOCK>
+               <COND (,CALL-IN-PROGRESS
+                      <TELL
+"Mrs. Robner's calls out. \"Wait just one minute!\"" CR>)
+                     (T <DOOR-F>)>)>>
+
+<ROUTINE DOOR-F ()
+       <COND (<VERB? LISTEN>
+              <TELL "You can't hear anything through the door." CR>)
+             (<VERB? KNOCK>
+              <COND (<AND <==? ,PRSO ,FRONT-DOOR>
+                          <NOT ,WELCOMED>
+                          <L? ,PRESENT-TIME 700>
+                          <==? ,HERE ,FRONT-PATH>>
+                     <TELL
+"You hear footsteps inside the house. Mrs. Robner, dressed in black,
+opens the door and greets you." CR>
+                     <WELCOME>)
+                    (<INHABITED? <DOOR-ROOM>>
+                     <TELL "A muffled voice says, \"Come in!\"" CR>)
+                    (T <TELL
+"There is no answer at the door." CR>)>)>>
+
+<ROUTINE WELCOME ()
+        <TELL
+"\"Hello,\" she says, \"I'm Mrs. Robner. Please come in. I'm afraid I really
+can't help you much. This is surely a terrible waste of time, not to mention
+upsetting, having all these police marching around the house. This has been a
+trying time, as I suppose you can understand. As I told Mr. Coates and the
+other detective, you may look around but you must be out by 8 o'clock at the
+latest. Oh, I almost forgot...Mr. Coates will be reading my husband's will at
+noon in the living room. You may attend if you wish.\"">
+        <SETG WELCOMED T>
+        <REMOVE ,MRS-ROBNER>
+        <COND (<==? ,HERE ,FRONT-PATH>
+               <CRLF>
+               <TELL
+"Mrs. Robner leads you into the house and closes the door behind you." CR>
+               <CRLF>
+               <GOTO ,FOYER>)>
+        <MOVE ,MRS-ROBNER ,FOYER>
+        <TELL
+"\"I'm going to make myself some breakfast now. I'll be around all day if you
+need anything. I'll do what I can to help. Good day!\"" CR>
+        <FCLEAR ,FRONT-DOOR ,OPENBIT>
+        <ESTABLISH-GOAL ,MRS-ROBNER ,KITCHEN>>
+
+<GLOBAL WELCOMED <>>
+<GLOBAL AT-READING <>>
+<GLOBAL LOBLO-FLAG <>>
+
+<ROUTINE INHABITED? (RM "AUX" F)
+        <COND (<NOT <SET F <FIRST? .RM>>> <RFALSE>)>
+        <REPEAT ()
+                <COND (<FSET? .F ,PERSON> <RTRUE>)>
+                <SET F <NEXT? .F>>
+                <COND (<NOT .F> <RFALSE>)>>>
+
+<ROUTINE DOOR-ROOM ()
+        <COND (<==? ,PRSO ,MASTER-BEDROOM-DOOR>
+               ,MASTER-BEDROOM)
+              (<==? ,PRSO ,GEORGE-DOOR>
+               ,GEORGE-ROOM)
+              (<==? ,PRSO ,DUNBAR-DOOR>
+               ,DUNBAR-ROOM)
+              (<==? ,PRSO ,ROURKE-DOOR>
+               ,ROURKE-ROOM)>>
+
+<GLOBAL CALL-IN-PROGRESS <>>
+
+<GLOBAL CALL-WAITING <>>
+
+<GLOBAL CALL-MOVE <>>
+
+<GLOBAL CALL-OVERHEARD <>>
+
+<GLOBAL ROBNER-OLD-LOC <>>
+
+<ROUTINE ROBNER-CALL-MOVE ()
+        <SETG ROBNER-OLD-LOC <LOC ,MRS-ROBNER>>
+        <ESTABLISH-GOAL ,MRS-ROBNER ,MASTER-BEDROOM T>
+        <SETG CALL-MOVE T>
+        <QUEUE I-CALL -1>>
+
+<ROUTINE TELEPHONE-F ()
+        <COND (<NOT <EQUAL? ,HERE ,LIBRARY ,MASTER-BEDROOM ,LIVING-ROOM>>
+               <TELL "There's no telephone here." CR>)
+              (<VERB? FIND>
+               <TELL "You are the detective, after all." CR>)
+              (<VERB? TAKE LISTEN REPLY>
+               <COND (,CALL-RING
+                      <TELL
+"You take the phone and hear an unfamiliar man's voice
+say \"Hello?  Is Leslie there?\"  You start to reply, but Mrs. Robner">
+                      <COND (<==? ,HERE ,LIVING-ROOM>
+                             <TELL "
+enters and takes the phone from you. \"Thank you, inspector,\" she says, and
+then into the telephone: \"Hello? Oh, hi. I can't really talk now. I'll call
+you back soon, OK? Bye.\" She hangs up and starts toward the door." CR>)
+                            (T
+                             <TELL "
+picks up the phone from another extension and hears you. \"I've got it,
+inspector,\" she says. \"Hello? Oh, it's you. I can't talk now. I'll call
+you back soon. Bye!\" You hear two clicks and the line goes dead." CR>)>
+                      <SETG CALL-RING <>>
+                      <MOVE ,MRS-ROBNER ,LIVING-ROOM>
+                      <ROBNER-CALL-MOVE>)
+                     (,CALL-IN-PROGRESS
+                      <TELL
+"You can hear Mrs. Robner and a man whose voice you don't recognize.
+Robner: \"...much too early to consider it.\"|
+Man's Voice: \"But we couldn't have planned it better. You're free.\"|
+Robner: \"Yes, but it will...Wait a second...I think...\"|
+\"Click.\" You realize that the call has been disconnected." CR>
+                      <SETG CALL-OVERHEARD T>
+                      <SETG CALL-IN-PROGRESS <>>
+                      <QUEUE I-CALL 0>
+                      <UNPRIORITIZE ,MRS-ROBNER>)
+                     (T
+                      <TELL
+"All you hear is a dial tone." CR>)>)>>
+
+<GLOBAL ENVELOPE-OPENED <>>
+
+<ROUTINE ENVELOPE-F ()
+        <COND (<VERB? OPEN>
+               <COND (<==? <LOC ,MRS-ROBNER> ,HERE>
+                      <TELL
+"Mrs. Robner grabs the envelope from you. \"That,\" she
+says, \"is none of your business!\"" CR>
+                      <MOVE ,ENVELOPE ,MRS-ROBNER>
+                      <RTRUE>)>
+               <SETG ENVELOPE-OPENED T>
+               <COND (<AND <NOT <IN? ,ENVELOPE ,WINNER>> <ITAKE <>>>
+                      <TELL "(Taken)" CR>)>
+               <RFALSE>)
+              (<AND <VERB? CLOSE> ,ENVELOPE-OPENED>
+               <TELL
+"You close the envelope carefully, but it still looks like it has been
+opened." CR>
+               <FCLEAR ,ENVELOPE ,OPENBIT>
+               <RTRUE>)>>
+
+<ROUTINE IN-MOTION? (PERSON "AUX" GT)
+        <SET GT <GET ,GOAL-TABLES <GETP .PERSON ,P?CHARACTER>>>
+        <COND (<AND <GET .GT ,GOAL-ENABLE>
+                    <GET .GT ,GOAL-S>
+                    <NOT <==? <LOC .PERSON> <GET .GT ,GOAL-F>>>>
+               <RTRUE>)
+              (T <RFALSE>)>>
+
+<ROUTINE MRS-ROBNER-F ("OPTIONAL" (RARG <>))
+        <COND (<AND <NOT .RARG> <VERB? GIVE> <==? ,PRSO ,ENVELOPE>>
+               <PERFORM ,V?SHOW ,MRS-ROBNER ,ENVELOPE>
+               <RTRUE>)>
+        <COND (<==? .RARG ,M-OBJDESC>
+               <COND (<IN-MOTION? ,MRS-ROBNER>
+                      <COND (,CALL-MOVE
+                             <TELL "Mrs. Robner appears to be in a hurry."
+                                   CR>)>
+                      T)
+                     (,CALL-WAITING
+                      <TELL "Mrs. Robner is staring at you." CR>)
+                     (<IN? ,MRS-ROBNER ,KITCHEN>
+                      <TELL "Mrs. Robner is preparing a meal." CR>)
+                     (<IN? ,MRS-ROBNER ,DINING-ROOM>
+                      <TELL "Mrs. Robner is eating breakfast here." CR>)
+                     (<IN? ,MRS-ROBNER ,LIVING-ROOM>
+                      <COND (,POST-WILL <RTRUE>)
+                            (T
+                             <TELL
+ "Mrs. Robner is sitting here, knitting." CR>)>)
+                     (<IN? ,MRS-ROBNER ,MASTER-BEDROOM>
+                      <TELL "Mrs. Robner is sitting on her bed." CR>)
+                     (T <TELL "Mrs. Robner is here." CR>)>
+               <CARRY-CHECK ,MRS-ROBNER>)
+              (<VERB? HELLO GOODBYE>
+               <TELL "Mrs. Robner says a curt \"">
+               <COND (<VERB? HELLO> <TELL "Hello">)
+                     (T <TELL "Bye">)>
+               <TELL "\"." CR>)
+              (<==? ,WINNER ,MRS-ROBNER>
+               <COND (<VERB? FIND> <RFALSE>)
+                     (<AND <VERB? OPEN> <==? ,PRSO ,ENVELOPE>>
+                      <COND (,ENVELOPE-OPENED
+                             <TELL
+"\"You seem to have taken care of that already.\"" CR>)
+                            (T
+                             <TELL
+"\"I believe there are laws protecting the privacy of mail. I will not
+open the envelope for you or anyone else.\"" CR>)>)  
+                     (<COM-CHECK ,MRS-ROBNER> <RTRUE>)
+                     (T <TELL <PICK-ONE ,WHY-ME> CR>)>)
+              (<AND <VERB? ARREST> <OR ,ENVELOPE-OPENED ,CALL-OVERHEARD>>
+               <COND (<NOT <FSET? ,LAB-REPORT ,TOUCHBIT>>
+                      <MURDER-NOT-PROVEN ,MRS-ROBNER>
+                      <RTRUE>)>
+               <TELL
+"Sergeant Duffy enters and leads Mrs. Robner away.|
+|">
+               <END-HEADER "August 2">
+               <TELL
+"I am sorry to inform you that the grand jury investigating the murder charge
+against Mrs. Robner declined to indict her, citing a lack of evidence linking
+her with the execution of the crime. Please try to be more cautious when
+making arrests in the future.|
+|" CR>
+               <CASE-OVER>)
+              (<AND <VERB? ASK-ABOUT> <==? ,PRSO ,MRS-ROBNER>>
+               <COND (<NOT <GRAB-ATTENTION ,MRS-ROBNER>> <RTRUE>)
+                     (<==? ,PRSI ,GLOBAL-HIDDEN-CLOSET>
+                      <COND (,HC-ROBNER
+                             <TELL
+"\"I'm quite shocked about it. I really had no idea!\"" CR>)
+                            (T
+                             <TELL
+"\"I don't know what you're talking about, Inspector. I know of
+no such closet.\"" CR>)>)
+                     (<EQUAL? ,PRSI ,GLOBAL-ALLERGONE ,ALLERGONE
+                                    ,ALLERGONE-BOTTLE>
+                      <TELL
+"\"I have some allergies, Inspector. Simply dreadful in the fall and spring.
+That's what the Allergone is for. I don't use them much this time of year,
+though.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-SNEEZO ,SNEEZO ,SNEEZO-BOTTLE>
+                      <TELL
+"\"Sneezo is a wonderful cold remedy. Whenever I get a cold, I just take
+a few, and I usually feel much better before long.\"" CR>)
+                     (<==? ,PRSI ,GLOBAL-CALL>
+                      <COND (<AND ,CALL-OVERHEARD ,MR-ENVELOPE>
+                             <TELL
+"\"I guess you know it was Steven. I admit we were lovers, and we planned to
+marry if I could get a divorce from Marshall. He refused to consider it, the
+divorce I mean, even though he had no time for me anymore.  He was married to
+the company, and he refused to see my side of things. Steven was suggesting
+that now we could marry. I told him I thought the timing was poor, or at least
+I would have if you hadn't eavesdropped.\"" CR>)
+                            (,CALL-OVERHEARD
+                             <TELL
+"\"I was talking to a good friend of mine. We were discussing some plans we
+made; of course they had to be changed, under the circumstances. They are none
+of your business. They don't concern my husband's suicide at all, I assure
+you.\"" CR>)
+                            (T
+                             <TELL
+"\"It was just a friend of mine, offering his condolences.\"" CR>)>)
+                     (<==? ,PRSI ,GLOBAL-STEVEN>
+                      <COND (<NOT ,MR-ENVELOPE>
+                             <TELL
+"\"I don't know who you mean. I have no friend named Steven.\"" CR>)
+                            (<AND ,CALL-OVERHEARD ,MR-ENVELOPE>
+                             <TELL
+"\"I might as well tell you. Steven and I were lovers and we were going to be
+married if I could divorce Marshall. I asked Marshall about it, but he became
+angry and refused. I didn't know what to do. Don't look at me that way. I had
+nothing to do with my husband's death. Driving him to it with talk of divorce?
+You didn't know Marshall, that's for sure! I should've told the police
+earlier, I suppose, but it's really none of your business.\"" CR>)
+                            (,MR-ENVELOPE
+                             <TELL
+"\"Steven is a close personal friend. We have known each other for many
+years, and I visit his home frequently. Marshall knew of our friendship
+and didn't begrudge it in the slightest. My husband and I had a very
+trusting relationship. You may find the idea of trust difficult to understand,
+I suppose.\"" CR>)>)
+                     (<==? ,PRSI ,GLOBAL-MR-ROBNER>
+                      <TELL
+"\"I loved my husband, no matter what you may think. I am very sorry to have
+lost him.\" The speech is almost a set piece, and not too convincing." CR>)
+                     (<EQUAL? ,PRSI ,GEORGE ,GLOBAL-GEORGE>
+                      <DISCRETION ,MRS-ROBNER ,GEORGE>
+                      <TELL
+"\"A child. He may be a man in age, but he still hasn't really grown up. He'll
+find himself someday, but in the meantime he can be a trial.  I guess Marshall
+and I were too lenient. We probably still are, but he is our son, after all.
+We can't throw him out on the street.\"" CR>)
+                     (<EQUAL? ,PRSI ,BAXTER ,GLOBAL-BAXTER>
+                      <TELL
+"\"Baxter has been my husband's partner for a long time, but they're not close
+friends. Baxter has always had the head for making money, and Marshall had the
+creative spark for new products. The two of them were perfect for each other
+in the early days. Of course, things haven't been going well lately. I guess
+none of that matters much now.\"" CR>)
+                     (<EQUAL? ,PRSI ,CORPSE ,DUNBAR ,GLOBAL-DUNBAR>
+                      <DISCRETION ,MRS-ROBNER ,DUNBAR>
+                      <TELL
+"\"I've always thought she was a bit too smug in her relationships around
+here. A bit above herself, if you see my meaning. After all, she's really
+just a glorified secretary. She acts as though she's part of the family, and
+she does get along well with almost everyone here. I swear, though, Marshall
+spent more time with her than me, lately. Um...not that I'm trying to imply
+that anything went on between them. Quite the contrary.\"" CR>)
+                     (<EQUAL? ,PRSI ,ROURKE ,GLOBAL-ROURKE>
+                      <DISCRETION ,MRS-ROBNER ,ROURKE>
+                      <TELL
+"\"She's an excellent housekeeper and sometimes even helps with the cooking
+For all her good qualities, though, she's too much of a snoop and a gossip.
+She tires to keep track of everyone around here. It's unnerving sometimes.
+But, as servants go these days, she's quite extraordinary.\"" CR>)
+                     (<EQUAL? ,PRSI ,GARDENER ,GLOBAL-GARDENER>
+                      <TELL
+"\"I don't pay much attention to him. He's worked out well; the grounds are
+in excellent condition. You must take a look at his roses while you're here.
+They're really spectacular.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-OLD-WILL>
+                      <COND (<G? ,WILL-TIME 0>
+                             <TELL
+"\"It's what I expected, really.\"" CR>)
+                            (T
+                             <TELL
+"\"Marshall takes care of that sort of thing. The will, I suppose, leaves
+the estate to George and me, but I can't be sure.\"" CR>)>)
+                     (<EQUAL? ,PRSI ,NEW-WILL>
+                      <TELL
+"\"What do you know? Marshall changed the will, after all. Where did you ever
+find this? What? George was trying to destroy it? I'm shocked. You don't think
+George had anything to do...\" She stops short." CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-NEW-WILL>
+                      <TELL
+"\"If there is a new will, I certainly don't know where it is.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-FOCUS>
+                      <TELL
+"\"Oh, you mean the \"scandal\"? Focus Corporation was a subsidiary of Robner
+Corp. some years ago. There was a big to-do about misuse of funds or some such
+thing, but Marshall kept it pretty quiet. He told me that the people
+responsible were forced out of the company, but that charges weren't pressed
+to avoid bad publicity. I didn't realize anyone remembered that.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-SAFE>
+                      <TELL
+"\"I don't know of a safe in the house, although it's perfectly
+believable that Marshall has one hidden somewhere. It would appeal
+to his childish side, I think.\"" CR>)
+                     (T
+                      <TELL
+"\"I don't know much about that.\"" CR>)>)
+              (<VERB? CONFRONT SHOW>
+               <COND (<NOT <GRAB-ATTENTION ,MRS-ROBNER>> <RTRUE>)
+                     (<==? ,PRSI ,LAB-REPORT>
+                      <TELL
+"Mrs. Robner reads the report with shocked disbelief. \"I...I don't know what
+to say. Who would want to kill Marshall? He was so well liked and...\" She
+breaks down, sobbing." CR>)
+                     (<==? ,PRSI ,NEW-WILL>
+                      <TELL
+"Mrs. Robner reads the will. \"That's that, then,\" she says.
+\"I guess Marshall was pushed too far.\"" CR>)
+                     (<EQUAL? ,PRSI ,ENVELOPE ,LETTER>
+                      <COND (<NOT ,ENVELOPE-OPENED>
+                             <TELL
+"\"Thank you, Inspector. The envelope is for me.\" She takes the
+envelope from you and examines it briefly." CR>
+                             <MOVE ,ENVELOPE ,MRS-ROBNER>
+                             <RTRUE>)>
+                      <SETG MR-ENVELOPE T>
+                      <TELL
+"\"You have certainly stooped to a new low, Inspector. Opening people's mail.
+I think there are laws against that sort of thing, but I guess you wouldn't
+know.">
+                      <COND (,CALL-OVERHEARD
+                             <TELL " I suppose you also know that Steven is
+my lover and that we were planning to marry. Don't look so melodramatic: I
+didn't kill my husband. You think my talk of divorce may have driven him to
+it? Why don't you leave me alone!\"" CR>)
+                            (T
+                             <TELL
+" In any case, what of it? It's from a friend of mine, an old friend from
+school. We get together now and then to discuss old times. I don't suppose
+there is a law against that?\"" CR>)>)>)>>
+
+<GLOBAL MR-ENVELOPE <>>
+
+<ROUTINE BOOKSHELVES-F ()
+        <COND (<AND <VERB? TAKE> <==? ,PRSI ,BOOKSHELVES>>
+               <TELL
+"That would make an ungodly pile of books on the floor and take most of
+the day." CR>)
+              (<VERB? TAKE>
+               <TELL
+"You have better things to do than taking books from the shelves." CR>)
+              (<VERB? READ>
+               <TELL
+"Reading, while educational, will not help you solve this case." CR>)
+              (<VERB? LOOK-BEHIND>
+               <TELL
+"It would take all day to look behind all of the books." CR>)
+              (<VERB? EXAMINE SEARCH>
+               <TELL
+"The shelves contain many books and manuscripts covering a wide range of
+subjects. They are meticulously arranged." CR>
+               <COND (<OR ,GEORGE-MOVES-BOOKS
+                          <AND ,BOOKS-MOVED <==? ,P-ADVERB ,W?CAREFULLY>>>
+                      <TELL
+"One book is out of place, however, leaving a gap in one row. On closer
+inspection, a small black button can be seen at the back of this gap." CR>
+                      <SETG BUTTON-REVEALED T>
+                      <FCLEAR ,LIBRARY-BUTTON ,INVISIBLE>)>
+               <RTRUE>)>>
+
+<GLOBAL BUTTON-REVEALED <>>
+
+<ROUTINE LIBRARY-BUTTON-F ()
+        <COND (<VERB? PUSH>
+               <COND (<FSET? ,HIDDEN-DOOR-L ,OPENBIT>
+                      <TELL
+"The bookshelf on the left quietly swings shut." CR>
+                      <FCLEAR ,HIDDEN-DOOR-L ,OPENBIT>)
+                     (T
+                      <TELL
+"The leftmost shelf quietly swings out against the balcony window." CR>
+                      <FSET ,HIDDEN-DOOR-L ,OPENBIT>)>)>>
+
+<GLOBAL COR-1
+       <TABLE P?WEST P?EAST
+              CORRIDOR-4 CORRIDOR-3 CORRIDOR-2 CORRIDOR-1 STAIR-TOP 0>>
+
+<GLOBAL COR-2
+       <TABLE P?NORTH P?SOUTH
+              STAIR-TOP SHALL-11 0>>
+
+<GLOBAL COR-4
+       <TABLE P?WEST P?EAST
+              SHALL-11 SHALL-12 0>>
+
+<GLOBAL COR-8
+       <TABLE P?SOUTH P?NORTH
+              FOYER NFOYER CORNER 0>>
+
+<GLOBAL COR-16
+       <TABLE P?NORTH P?SOUTH
+              STAIR-BOTTOM SHALL-1 0>>
+
+<GLOBAL COR-32
+       <TABLE P?WEST P?EAST
+              WEST-LAWN WEST-OF-DOOR FRONT-PATH EAST-OF-DOOR EAST-LAWN 0>>
+
+<GLOBAL COR-64
+       <TABLE P?NORTH P?SOUTH
+              EAST-SIDE EAST-OF-DOOR SOUTH-LAWN 0>>
+
+<GLOBAL COR-128
+       <TABLE P?NW P?SE
+              NORTH-LAWN ORCHARD EAST-LAWN 0>>
+
+<GLOBAL COR-256
+       <TABLE P?WEST P?EAST
+              NFOYER STAIR-BOTTOM STAIRS 0>>
+
+<GLOBAL COR-512
+       <TABLE P?WEST P?EAST
+              GUEST-ROOM EAST-LAWN 0>>
+
+<GLOBAL COR-1024
+       <TABLE P?NORTH P?SOUTH
+              UPSTAIRS-CLOSET CORRIDOR-2 0>>
+
+<GLOBAL COR-2048
+       <TABLE P?WEST P?EAST
+              ROSE-GARDEN ORCHARD 0>>
+
+<GLOBAL CHINA-EXAMINED <>>
+
+<ROUTINE CSCP ()
+        <COND (<VERB? TAKE RUB MOVE>
+               <TELL
+"These items are very rare and delicate, and were used only by Mr.
+Robner himself.  You shouldn't even be touching them." CR>)
+              (<VERB? EXAMINE>
+               <TELL
+"Each one is hand-painted and depicts a scene from Greek mythology." CR>
+               <SETG CHINA-EXAMINED T>)
+              (<VERB? MUNG>
+               <COND (<PROB 75>
+                      <TELL
+"As you reach for the " D ,PRSO ", you think of the pension awaiting you
+upon retirement. \"Is it worth it?\" you think, to be booted off the force
+for an impulse of anger and stupidity. Fortunately, you calm your temper." CR>)
+                     (T
+                      <TELL
+"With a sweep of your hand, you smash all of them!
+Mrs. Rourke runs into the room, screaming." CR>
+                      <GONE-CRAZY>)>)>>
+
+<ROUTINE GONE-CRAZY ()
+        <TELL
+"Your mind becomes confused amidst strange screaming, yelling, and the pangs
+of your conscience. \"How could I have done it?\" you ask yourself, as you
+hear the distant sound of police sirens. Sergeant Duffy and two other officers
+enter and grab you rather unceremoniously. They take you to a waiting car,
+where, forlorn and disgusted, you begin to ponder prison life. \"Perhaps,\"
+you think, \"I shouldn't have done that.\"" CR>
+        <CASE-OVER>>
+
+<ROUTINE CUPS-F ()
+        <COND (<VERB? TAKE RUB MOVE EXAMINE MUNG>
+               <CSCP>)
+              (<VERB? COUNT>
+               <TELL "There are six hand-painted cups." CR>)>>
+
+<ROUTINE SAUCERS-F ()
+        <COND (<VERB? TAKE RUB MOVE EXAMINE MUNG>
+               <CSCP>)
+              (<VERB? COUNT>
+               <TELL "There are seven hand-painted saucers." CR>)>>
+
+<ROUTINE CHINA-F ()
+        <COND (<VERB? TAKE RUB MOVE EXAMINE MUNG>
+               <CSCP>)
+              (<VERB? COUNT>
+               <TELL
+"There are eight large and small plates, seven saucers, and six cups." CR>)>>
+
+<ROUTINE PLATES-F ()
+        <COND (<VERB? TAKE RUB MOVE EXAMINE MUNG>
+               <CSCP>)
+              (<VERB? COUNT>
+               <TELL
+"There are eight of both the large and the small plates." CR>)>>
+
+<GLOBAL LADDER-POSITIONED <>>
+
+<ROUTINE LADDER-F ()
+        <COND (<AND <VERB? PUT> <==? ,PRSI ,HOLE>>
+               <TELL
+"The ladder fits perfectly in the holes! You slowly release the
+ladder and it rests on the railing of the balcony above." CR>
+               <SETG LADDER-FLAG T>
+               <MOVE ,LADDER ,HERE>
+               <SETG LADDER-POSITIONED T>
+               <FSET ,LADDER ,NDESCBIT>)
+              (<AND <VERB? CLIMB-UP>
+                    <NOT ,LADDER-FLAG>
+                    <NOT ,LADDER-FLAG-2>>
+               <TELL
+"Climbing a ladder while it is horizontal is, at best, a contradiction
+in terms." CR>)
+              (<AND <VERB? LEAN> <EQUAL? ,PRSI ,HOUSE ,BALCONY>>
+               <COND (<==? ,HERE ,IN-ROSES>
+                      <SETG LADDER-FLAG T>
+                      <SETG LADDER-FLAG-2 <>>
+                      <SETG LADDER-POSITIONED T>
+                      <MOVE ,LADDER ,HERE>
+                      <TELL
+"The ladder is now leaning against the railing of a balcony above." CR>)
+                     (<==? ,HERE ,IN-ORCHARD>
+                      <SETG LADDER-FLAG <>>
+                      <SETG LADDER-FLAG-2 T>
+                      <MOVE ,LADDER ,HERE>
+                      <TELL
+"The ladder, firmly planted in the soil of the orchard, is now leaning
+against the balcony above." CR>)
+                     (T
+                      <TELL
+"There is no good spot to lean it against here." CR>
+                      <RTRUE>)>
+               <FSET ,LADDER ,NDESCBIT>)
+              (<VERB? TAKE MOVE>
+               <FCLEAR ,LADDER ,NDESCBIT>
+               <SETG LADDER-FLAG <>>
+               <SETG LADDER-FLAG-2 <>>
+               <RFALSE>)
+              (<VERB? EXAMINE>
+               <TELL
+"The ladder is a typical gardening ladder, about fifteen feet long and caked
+with dirt and dried mud." CR>)>>
+
+<ROUTINE CUP-F ()
+        <COND (<VERB? EXAMINE LOOK-INSIDE>
+               <TELL
+"The cup is painted with a scene from Greek mythology and has a brown
+discoloration at the bottom." CR>)
+              (<VERB? SMELL>
+               <TELL "The cup smells faintly of tea." CR>)
+              (<VERB? FINGERPRINT>
+               <TELL
+"There don't seem to be any fingerprints on the cup." CR>)
+              (<AND <VERB? ANALYZE> <==? ,CUP ,PRSO>> <DO-ANALYZE>)>>
+
+<GLOBAL ANALYSIS-GOAL <>>
+
+<ROUTINE DO-FINGERPRINT ("OPTIONAL" (AN <>))
+        <COND (,FINGERPRINT-OBJ
+               <TELL
+"Sergeant Duffy is already at the lab running a previous errand.
+You will have to wait for him to return." CR>
+               <RTRUE>)>
+        <COND (<NOT .AN>
+               <TELL
+"You look at the " D ,PRSO " closely. It appears to have good
+fingerprints on it, so you call for Sergeant Duffy." CR>)>
+        <COND (<AND .AN ,PRSI>
+               <SETG ANALYSIS-GOAL ,PRSI>)
+              (T <SETG ANALYSIS-GOAL <>>)>
+        <SETG FINGERPRINT-OBJ ,PRSO>
+        <SETG ANALYSIS-OBJ .AN>
+        <COND (<==? ,PRSO ,LADDER>
+               <COND (<G? ,PRESENT-TIME 720>
+                      <TELL
+"Sergeant Duffy arrives and shakes his head sadly. \"I'm sorry, sir, but
+the Ladder Analysis Department closes at noon.\" He leaves." CR>
+                      <SETG FINGERPRINT-OBJ <>>
+                      <RFALSE>)>
+               <SETG LADDER-FLAG <>>
+               <SETG LADDER-FLAG-2 <>>
+               <FCLEAR ,LADDER ,NDESCBIT>)>
+        <ENABLE <QUEUE I-FINGERPRINT <+ 15 <RANDOM 15>>>>
+        <REMOVE ,PRSO>
+        <FSET ,PRSO ,TOUCHBIT>
+        <TELL
+"Sergeant Duffy walks up as quietly as a mouse. He takes the " D ,PRSO " from
+you. \"I'll return soon with the results,\" he says, and leaves as silently as
+he entered." CR>>
+
+<GLOBAL ANALYSIS-OBJ <>>
+
+<ROUTINE DO-ANALYZE () <DO-FINGERPRINT T>>
+
+<ROUTINE I-FINGERPRINT ()
+        <TELL "Sergeant Duffy ">
+        <COND (<==? ,FINGERPRINT-OBJ ,LADDER>
+               <TELL
+"comes onto the scene. ">)
+              (<PROB 30>
+               <TELL
+"appears before you, holding the " D ,FINGERPRINT-OBJ
+" carefully in his hands. His quiet efficiency and youthful vigor impress you
+quite a bit. ">)
+              (<PROB 50>
+               <TELL
+"seems to arrive from nowhere, holding the " D ,FINGERPRINT-OBJ
+" in his hands. ">)
+              (T
+               <TELL
+"returns with the " D ,FINGERPRINT-OBJ ".  For a moment you muse on his almost
+magical entrances. ">)>
+        <COND (<NOT ,ANALYSIS-OBJ>
+               <TELL "\"The fingerprints,\" he begins,
+\"belong to ">
+               <COND (<==? ,FINGERPRINT-OBJ ,CUP>
+                      <TELL "Mr. Robner">)
+                     (<EQUAL? ,FINGERPRINT-OBJ ,SAUCER ,SUGAR-BOWL>
+                      <TELL "Mr. Robner and Ms. Dunbar">)>)
+              (,ANALYSIS-GOAL
+               <COND (<AND <==? ,FINGERPRINT-OBJ ,FRAGMENT>
+                           <EQUAL? ,ANALYSIS-GOAL ,LOBLO
+                                   ,LOBLO-BOTTLE ,GLOBAL-LOBLO>>
+                      <TELL
+"\"The fragment did contain LoBlo. Here is the full report.\"
+He hands you a slip of paper, and departs." CR>
+                      <MOVE ,LAB-REPORT ,PLAYER>
+                      <FSET ,LAB-REPORT ,TOUCHBIT>
+                      <MOVE ,FINGERPRINT-OBJ ,PLAYER>
+                      <SETG FINGERPRINT-OBJ <>>
+                      <RTRUE>)
+                     (T
+                      <TELL "\"The " D ,FINGERPRINT-OBJ
+                            " analysis yielded nothing useful">)>)
+              (<==? ,FINGERPRINT-OBJ ,FRAGMENT>
+               <TELL "\"The fragment,\" he begins,
+\"contains traces of tea and sugar.">
+               <TELL " In addition, there seems to be some other chemical
+present that is not a common medication. It could take weeks to determine
+exactly what it is. It is definitely not Amitraxin (Ebullion), though. There
+are no clear fingerprints">)
+              (<==? ,FINGERPRINT-OBJ ,CUP>
+               <TELL "\"The cup,\" he begins,
+\"contains a trace of tea. The fingerprints are those of Mr. Robner">)
+              (<==? ,FINGERPRINT-OBJ ,SAUCER>
+               <TELL "\"The saucer,\" he begins,
+\"contains traces of tea and sugar. The fingerprints are
+those of Mr. Robner and Ms. Dunbar">)
+              (<==? ,FINGERPRINT-OBJ ,SUGAR-BOWL>
+               <TELL "\"The bowl,\" he begins,
+\"has the fingerprints of Mr. Robner and Ms. Dunbar. The bowl
+contains common table sugar only.">)
+              (T
+               <TELL "\"I am sorry,\" he begins,
+\" but the lab found nothing of interest.">)>
+        <COND (<AND <EQUAL? ,FINGERPRINT-OBJ ,LADDER>
+                    <NOT <==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>>>
+               <TELL " In the interests of
+civility, I have left the ladder outside the house.\" He leaves." CR>
+               <MOVE ,LADDER ,FRONT-PATH>)
+              (T
+               <TELL "\".
+With that, he leaves, handing you the " D ,FINGERPRINT-OBJ
+                                       " as he whisks away." CR>
+               <MOVE ,FINGERPRINT-OBJ ,PLAYER>)>
+        <SETG FINGERPRINT-OBJ <>>
+        <RTRUE>>
+
+<ROUTINE ANALYSIS-PRINT (OBJ)
+        <COND (<EQUAL? .OBJ ,GLOBAL-LOBLO ,LOBLO ,LOBLO-BOTTLE>
+               <TELL "LoBlo">)
+              (<EQUAL? .OBJ ,ASPIRIN ,ASPIRIN-BOTTLE>
+               <TELL "aspirin">)
+              (<EQUAL? .OBJ ,EBULLION ,EBULLION-BOTTLE ,GLOBAL-EBULLION>
+               <TELL "Ebullion">)
+              (<EQUAL? .OBJ ,DUM-KOF ,DUM-KOF-BOTTLE>
+               <TELL "Dum-Kof">)
+              (<EQUAL? .OBJ ,ALLERGONE ,ALLERGONE-BOTTLE ,GLOBAL-ALLERGONE>
+               <TELL "Allergone">)
+              (T <TELL D .OBJ>)>
+        <TELL "\". ">>
+
+<ROUTINE SAUCER-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The saucer is hand-painted with a mythological scene. It has a couple of
+small areas of brown discoloration." CR>)
+              (<VERB? SMELL>
+               <TELL "There is a faint smell of tea." CR>)
+              (<VERB? FINGERPRINT> <DO-FINGERPRINT>)
+              (<VERB? ANALYZE> <DO-ANALYZE>)>>
+
+<ROUTINE SHOWER-F ()
+        <COND (<VERB? TAKE THROUGH>
+               <TELL
+"Being unusually grubby, even for a police detective, this is one of your
+better ideas so far on this case. However, your attire isn't suitable, and
+you probably have better things to do." CR>)>>
+
+<ROUTINE TOILET-F ("OPTIONAL" (RARG 100))
+        <COND (<NOT <==? .RARG 100>> <RFALSE>)
+              (<VERB? EXAMINE LOOK-INSIDE>
+               <TELL
+"You have stooped to a new low, snooping around toilet bowls. Wait! Something
+catches your eye--was it the Tidy-Bowl man? Is he the murderer?  Naw..." CR>)
+              (<VERB? FLUSH>
+               <TELL "Whhoooossshhhhh!" CR>)>>
+
+<ROUTINE SINK-F ()
+        <COND (<VERB? LAMP-ON>
+               <TELL
+"You turn the handle and lo! Water starts to run. Impressed, you turn the
+handle again, and the water stops running! Bravo!" CR>)>>
+
+<ROUTINE RANDOM-PSEUDO ()
+        <TELL "You can't do anything with that." CR>>
+
+<ROUTINE WINDOW-F ()
+        <COND (<VERB? MUNG>
+               <TELL
+"Vandalism is not the answer! Think of your position. How would
+it look for a famous police inspector to be arrested?" CR>)
+              (<VERB? BRUSH>
+               <TELL
+"You think you're clever, don't you? The window is so dirty that
+it isn't easily cleaned." CR>)
+              (<VERB? LOOK-INSIDE>
+               <TELL
+"The window is dirty and impossible to see through clearly." CR>)>>
+
+<ROUTINE WINDOW-KNOCK (RM)
+        <COND (<INHABITED? .RM>
+               <TELL "Someone looks up at you disgustedly." CR>)>>
+
+<ROUTINE KITCHEN-WINDOW-F ()
+        <COND (<VERB? MUNG BRUSH> <WINDOW-F>)
+              (<VERB? OPEN>
+               <TELL "The window can't be opened." CR>)
+              (<VERB? KNOCK>
+               <WINDOW-KNOCK <COND (<==? ,HERE ,KITCHEN> ,ORCHARD)
+                                   (T ,KITCHEN)>>)
+              (<VERB? LOOK-INSIDE>
+               <COND (<==? ,HERE ,KITCHEN>
+                      <TELL
+"You can barely see through the thick leaves of the grape arbor,
+but a lawn and lake can be seen in the distance." CR>)
+                     (T
+                      <TELL
+"You can see the kitchen beyond the tangle of trees and branches.">
+                      <WINDOW-SHOP ,KITCHEN "kitchen">)>)>>
+
+<ROUTINE POPULATION (RM "OPTIONAL" (PR <>) "AUX" (CNT 0) OBJ)
+        #DECL ((RM) OBJECT (CNT) FIX)
+        <COND (<NOT <SET OBJ <FIRST? .RM>>> <RETURN .CNT>)>
+        <REPEAT ()
+                <COND (<FSET? .OBJ ,PERSON>
+                       <SET CNT <+ .CNT 1>>
+                       <COND (.PR <DESCRIBE-PERSON .OBJ "there">)>)>
+                <SET OBJ <NEXT? .OBJ>>
+                <COND (<NOT .OBJ> <RETURN .CNT>)>>>
+
+<ROUTINE SHED-WINDOW-F ()
+        <COND (<VERB? MUNG BRUSH> <WINDOW-F>)
+              (<VERB? OPEN> <TELL "The window can't be opened." CR>)
+              (<AND <VERB? LISTEN> <G? ,SECRET-MEETING 0>>
+               <TELL "You can't make out any of the words." CR>)
+              (<VERB? LOOK-INSIDE>
+               <COND (<==? ,HERE ,SHED-ROOM>
+                      <TELL
+"Although the window is grimy, you can make out the lawn outside. ">
+                      <WINDOW-SHOP ,EAST-LAWN "east lawn">)
+                     (<==? ,SECRET-MEETING 4>
+                      <TELL
+"Mr. Baxter seems furious and about to strike Ms. Dunbar, then calms himself.
+Ms. Dunbar starts to cry and is embraced by Mr. Baxter." CR>)
+                     (<G? ,SECRET-MEETING 2>
+                      <TELL
+"Mr. Baxter and Ms. Dunbar are inside. Although you can't hear them, it's
+clear from their gestures that a serious argument is occurring. Dunbar appears
+very upset and breaks into tears. Baxter remains composed, but tense and 
+perhaps angry -- you can't be sure." CR>)
+                     (<G? ,SECRET-MEETING 0>
+                      <TELL
+"Through the grimy window you see Mr. Baxter and Ms. Dunbar talking. Dunbar
+is doing most of the talking, barely restraining tears. Baxter is listening,
+nodding grimly, and occassionally saying a few words. Unfortunately, you can't
+make any of them out." CR>)
+                     (T
+                      <TELL
+"You can vaguely make out the inside of the shed through the grime. ">
+                      <WINDOW-SHOP ,SHED-ROOM "shed">)>)>>
+
+
+<ROUTINE DINING-ROOM-WINDOW-F ()
+        <COND (<VERB? MUNG> <WINDOW-F>)
+              (<VERB? OPEN> <TELL "The window can't be opened." CR>)
+              (<VERB? LOOK-INSIDE>
+               <COND (<==? ,HERE ,ROSE-GARDEN>
+                      <TELL
+"You can see the dining room through the window.">
+                      <WINDOW-SHOP ,DINING-ROOM "dining room">
+                      <RTRUE>)
+                     (<==? ,HERE ,IN-ROSES>
+                      <TELL
+"You can see the dining room pretty clearly through the window." CR>
+                      <POPULATION ,DINING-ROOM T>
+                      <RTRUE>)
+                     (T
+                      <TELL
+"Through the window, the rose garden can be seen, and, off to
+the north, a wide lawn ending on a blue lake." CR>)>)>>
+
+<ROUTINE WINDOW-SHOP (RM STR "AUX" (P <POPULATION .RM>))
+        <COND (<0? .P> <CRLF> <RTRUE>)
+              (T <TELL "
+You can vaguely see ">)>
+        <COND (<1? .P>
+               <TELL "someone">)
+              (T
+               <PRINTN .P>
+               <TELL " people">)>
+        <TELL " inside the " .STR "." CR>>
+
+<ROUTINE DESCRIBE-PERSON (PERSON "OPTIONAL" (STR <>))
+        <TELL D .PERSON " is "
+              <COND (<NOT .STR> "here")
+                    (T .STR)> "." CR>>
+
+<ROUTINE MASTER-BEDROOM-DRESSER-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The dresser is a beautiful piece of cabinetry." CR>)
+              (<VERB? LOOK-INSIDE SEARCH OPEN>
+               <TELL
+"You open all of the drawers, but find only a variety of stockings,
+undergarments, and handkerchiefs." CR>)>>
+
+<ROUTINE BED-F ("OPTIONAL" (RARG 100))
+        <COND (<NOT <==? .RARG 100>> <RFALSE>)
+              (<VERB? LOOK-UNDER>
+               <TELL
+"No doubt you are looking for the bogeyman, but you are out of luck." CR>)>>
+
+<ROUTINE SUGAR-BOWL-F ()
+        <COND (<VERB? TASTE>
+               <TELL "The powder tastes like sugar." CR>)
+              (<VERB? SMELL>
+               <TELL "There is no high from sniffing this powder." CR>)
+              (<VERB? EAT>
+               <TELL
+"You eat some, but it is cloyingly sweet, so you stop." CR>)
+              (<VERB? FINGERPRINT> <DO-FINGERPRINT>)
+              (<VERB? ANALYZE> <DO-ANALYZE>)>>
+
+<ROUTINE TOOLS-F ()
+        <COND (<VERB? TAKE>
+               <TELL
+"The tools are standard gardening tools, in excellent condition. You have no
+use for them, unless you are looking for a new profession." CR>)>>
+
+<ROUTINE DUNBAR-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-OBJDESC>
+               <COND (<IN-MOTION? ,DUNBAR> <RTRUE>)
+                     (<AND <IN? ,BAXTER ,SHED> <NOT <0? ,SECRET-MEETING>>>
+                      <RTRUE>)
+                     (,DUNBAR-BAXTER-MEET <RTRUE>)
+                     (<IN? ,DUNBAR ,DUNBAR-BATH>
+                      <TELL
+"Ms. Dunbar is here, brushing her hair.">)
+                     (<IN? ,DUNBAR ,DUNBAR-ROOM>
+                      <TELL
+"Ms. Dunbar is lying on her bed.">)
+                     (<IN? ,DUNBAR ,LIVING-ROOM>
+                      <COND (,POST-WILL
+                             <TELL
+"Ms. Dunbar is standing in the corner, looking pensive.">)
+                            (T
+                             <TELL
+"Ms. Dunbar is sitting on the sofa here.">)>)
+                     (T <TELL "Ms. Dunbar is here.">)>
+               <CRLF>
+               <CARRY-CHECK ,DUNBAR>
+               <RTRUE>)
+              (<==? ,WINNER ,DUNBAR>
+               <COND (<VERB? FIND> <RFALSE>)
+                     (<COM-CHECK ,DUNBAR> <RTRUE>)
+                     (<VERB? HELLO GOODBYE>
+                      <TELL "Ms. Dunbar nods at you." CR>
+                      <RTRUE>)
+                     (T <TELL <PICK-ONE ,WHY-ME> CR> <RTRUE>)>)
+              (<AND <VERB? HELLO ASK-ABOUT SHOW>
+                    <NOT <GRAB-ATTENTION ,DUNBAR>>>
+               <RTRUE>)>
+        <COND (<VERB? HELLO>
+               <TELL "Ms. Dunbar nods at you." CR>)
+              (<AND <VERB? ASK-ABOUT> <==? ,PRSO ,DUNBAR>>
+               <COND (<==? ,PRSI ,GLOBAL-CONCERT>
+                      <COND (<OR ,STUB-D ,STUB-DX>
+                             <TELL
+"\"It was an excellent concert, Inspector, but I don't see why you're asking
+about it.\"" CR>)
+                            (T <TELL
+"\"I don't know what you are talking about. I don't go in for concerts much,
+you know.\"" CR>)>)
+                     (<==? ,PRSI ,STUB>
+                      <COND (,STUB-BX
+                             <TELL
+"\"Why, it's just as Mr. Baxter said.\"" CR>)
+                            (T
+                             <SETG STUB-D T>
+                             <COND (<IN? ,BAXTER ,HERE>
+                                    <SETG STUB-DX T>)>
+                             <COND (,STUB-B
+                                    <SETG CONTRADICTION T>)>
+                             <TELL
+"\"Oh, I...well, I guess I should tell you. You see, Mr. Baxter and I, we go
+together to concerts, only occasionally, you understand. We went that night,
+the night Marshall died. Then he took me home and that's it. I should have
+said something before, but I just didn't think it was important, and, well,
+I didn't think that the others should know we were seeing each other socially.
+Our...nobody knows about it, you know. Please don't say anything!\"" CR>)>)
+                     (<EQUAL? ,PRSI ,BAXTER ,GLOBAL-BAXTER>
+                      <TELL
+"\"Mr. Baxter? I see him often when he comes here on business, but I don't
+really know him that well. We keep to business when he comes around, and I
+hardly ever talk with him otherwise. He is, of course, an excellent executive,
+and poor Mr. Robner had every confidence in him.\"" CR>)
+                     (<EQUAL? ,PRSI ,LOBLO ,GLOBAL-LOBLO ,LOBLO-BOTTLE>
+                      <COND (,LOBLO-FLAG
+                             <TELL
+"Ms. Dunbar is taken aback. \"I...I don't really know what to say. I take the
+tablets for my blood pressure. I have for a few months now. I know what you're
+thinking. I can't understand. Someone must have taken my pills and poisoned Mr.
+Robner. That's it. It's probably George. He knew about my pills. He's always
+snooping around. He used to talk about how half the money would be his
+someday.\"" CR>)
+                            (T
+                             <TELL
+"Ms. Dunbar seems a bit surprised. \"You found those in my bathroom, didn't
+you? I've been taking them for months for my blood pressure. Are they
+important?\" she asks." CR>)>)
+                     (<EQUAL? ,PRSI ,GEORGE ,GLOBAL-GEORGE>
+                      <DISCRETION ,DUNBAR ,GEORGE>
+                      <TELL
+"\"Nobody likes George much. He's always alone when he's here, and that's only
+when he can't get more money to waste. I think he's just been waiting for the
+day when his father's money would be his. I can't say I miss him when he's not
+here: A thoroughly obnoxious child.\"" CR>)
+                     (<EQUAL? ,PRSI ,MRS-ROBNER ,GLOBAL-MRS-ROBNER>
+                      <TELL
+"\"She's a lovely person. She and Marshall were always an odd couple: he was
+so quiet and reserved, and she's so lively and sociable. She's changed a lot
+over the last few years. She used to enjoy her life here, but lately she's
+been restless and irritable, and now with Marshall's death, I'm worried about
+what may become of her.\"" CR>)
+                     (<EQUAL? ,PRSI ,ROURKE ,GLOBAL-ROURKE>
+                      <TELL
+"\"Mrs. Rourke is a very good servant. Always helpful, and always
+nearby when needed.\"" CR>)
+                     (<EQUAL? ,PRSI ,GARDENER ,GLOBAL-GARDENER>
+                      <TELL
+"\"He seems nice, if you can talk to him. You usually can't, really.\" She
+laughs briefly. \"Don't ever disturb his roses, or you'll learn the meaning
+of temper.\" She giggles again." CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-OLD-WILL>
+                      <TELL
+"\"I really don't know too much about Marshall's personal business.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-NEW-WILL>
+                      <COND (<G? ,WILL-TIME 0>
+                             <TELL
+"\"I don't know anything about it. I suppose Marshall could have written a new
+will, but I probably would have seen signs of it around the library.\"" CR>)
+                            (T
+                             <TELL
+"\"As far as I know, there was no new will written, although Marshall did
+threaten to disinherit George. I guess he could have written one without my
+knowledge. I'm not always with him, you know.\"" CR>)>)
+                     (<EQUAL? ,PRSI ,NEW-WILL>
+                      <TELL
+"Ms. Dunbar reads the will carefully, nodding slowly. \"I guess I'm not
+surprised that Marshall disinherited George. He's been asking for it.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-MR-ROBNER>
+                      <TELL
+"Ms. Dunbar looks down at the ground and sniffles softly. \"I've known him
+for years. He's been tremendously nervous and depressed lately about business.
+I don't think all was well in his personal life either. George has always been
+a problem for him. He even mentioned suicide once, although I never took it
+seriously. It shows you can never tell.\" She wipes her eyes with her
+hands." CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-FOCUS>
+                      <TELL
+"\"Focus? There was once a subsidiary of Robner Corp. with that name. I can't
+recall much about it, though.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-SAFE>
+                      <TELL
+"\"A safe? I don't think there's one in the house, although there's one at
+the office.\"" CR>)
+                     (T
+                      <TELL
+"\"I'm sorry, but I can't help you with that.\"" CR>)>)
+              (<VERB? SHOW CONFRONT>
+               <COND (<==? ,PRSI ,STUB>
+                      <PERFORM ,V?ASK-ABOUT ,DUNBAR ,STUB>
+                      <RTRUE>)
+                     (<EQUAL? ,PRSI ,LOBLO>
+                      <TELL
+"She glances at the pills. \"They're my pills. You must have taken them from
+my bathroom. Well, what am I supposed to say?\" She looks away." CR>)
+                     (<EQUAL? ,PRSI ,LAB-REPORT>
+                      <TELL
+"She seems stunned but recovers quickly. \"He didn't commit suicide, then?\"
+she says. \"But LoBlo, that's a pill I take for my blood pressure.\" She
+pauses. \"I can tell what you're thinking, but I didn't, couldn't have done
+it. Why should I? Someone must have taken them, maybe George. He knew I used
+them.\"" CR>
+                      <ENABLE <QUEUE I-DUNBAR-ACTIVATE <+ 5 <RANDOM 15>>>>
+                      <SETG LOBLO-FLAG T>)>)
+              (<VERB? ACCUSE>
+               <COND (,LOBLO-FLAG
+                      <TELL
+"\"No! I didn't do it! I've worked for Mr. Robner for years. What possible
+motive could I have?\" With that, Ms. Dunbar begins to cry and move about
+the room quite nervously." CR>
+                      <DUNBAR-SEQUENCE>)
+                     (T
+                      <TELL
+"\"What?\" she cries. \"Murder?\" She regains her composure and asks, \"I
+thought he committed suicide, with his medicine.\"" CR>)>)
+              (<VERB? ARREST>
+               <COND (<NOT <FSET? ,LAB-REPORT ,TOUCHBIT>>
+                      <MURDER-NOT-PROVEN ,DUNBAR>
+                      <RTRUE>)>
+               <TELL
+"Sergeant Duffy enters the room solemnly. He places handcuffs on Ms. Dunbar
+and leads her off. She is sobbing hysterically.|
+|">
+               <END-HEADER "August 10">
+               <COND (,MEETING-INTERRUPTED
+                      <TELL
+"What a tragedy! Ms. Dunbar, released on bail during her trial for the murder
+of Mr. Robner, was found dead this morning, the victim of an apparent suicide.
+Her death is all the more distressing as the district attorney was trying to
+arrange some plea-bargaining deal with her in exchange for information
+implicating an unnamed accomplice. I am sorry to be the one to let you know.
+Thanks for your hard work on the Robner case.|
+|">)
+                     (T <TELL
+"I wanted to let you know the disposition of the Robner case. Ms. Dunbar was
+acquitted today, the jury citing a lack of motive and only circumstantial
+evidence. I am extremely sorry.|
+|">)>
+               <CASE-OVER>)>>
+
+<GLOBAL STUB-D <>>
+<GLOBAL STUB-B <>>
+<GLOBAL STUB-DX <>>
+<GLOBAL STUB-BX <>>
+
+<ROUTINE I-DUNBAR-ACTIVATE ()
+        <COND (<NOT ,DUNBAR-ACCUSED>
+               <DUNBAR-SEQUENCE>
+               <RFALSE>)>>
+
+<ROUTINE ROURKE-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-OBJDESC>
+               <COND (<IN-MOTION? ,ROURKE> <RTRUE>)
+                     (<IN? ,ROURKE ,KITCHEN>
+                      <TELL
+"Mrs. Rourke is here, cleaning the kitchen." CR>)
+                     (<IN? ,ROURKE ,DINING-ROOM>
+                      <TELL "Mrs. Rourke is cleaning the table here." CR>)
+                     (<IN? ,ROURKE ,LIVING-ROOM>
+                      <TELL "Mrs. Rourke is dusting the room." CR>)
+                     (<IN? ,ROURKE ,ROURKE-ROOM>
+                      <TELL "Mrs. Rourke is resting here." CR>)
+                     (T <TELL "Mrs. Rourke is here, tidying up." CR>)>
+               <CARRY-CHECK ,ROURKE>
+               <RTRUE>)
+              (<==? ,WINNER ,ROURKE>
+               <COND (<VERB? FIND> <RFALSE>)
+                     (<COM-CHECK ,ROURKE> <RTRUE>) 
+                     (<VERB? HELLO GOODBYE>
+                      <TELL "Mrs. Rourke looks up from her work and nods."
+                            CR>
+                      <RTRUE>)
+                     (T <TELL <PICK-ONE ,WHY-ME> CR> <RTRUE>)>)
+              (<AND <VERB? HELLO ASK-ABOUT SHOW>
+                    <NOT <GRAB-ATTENTION ,ROURKE>>>
+               <RTRUE>)>
+        <COND (<VERB? HELLO GOODBYE>
+               <TELL "Mrs. Rourke looks up from her work and nods." CR>)
+              (<AND <VERB? ASK-ABOUT> <==? ,PRSO ,ROURKE>>
+               <COND (<AND <==? ,PRSI ,ENVELOPE> <IN? ,ENVELOPE ,ROURKE>>
+                      <TELL
+"\"It's a letter just arrived for Mrs. Robner. I was going to bring
+it to her.\"" CR>)
+                     (<EQUAL? ,PRSI ,BAXTER ,GLOBAL-BAXTER>
+                      <DISCRETION ,ROURKE ,BAXTER>
+                      <TELL
+"\"Baxter! Hmmmph. Stuffiest person I ever met! I don't mind telling you I've
+never liked him much. So serious, businesslike. Thinks he's hot stuff, I
+imagine. I really shouldn't be telling you this, though, I suppose.
+\"Rourke,\" they tell me, \"stop your gossiping.\" Not that I'm a gossip,
+mind you, but I do have my opinions.\"" CR>)
+                     (<EQUAL? ,PRSI ,GEORGE ,GLOBAL-GEORGE>
+                      <DISCRETION ,ROURKE ,GEORGE>
+                      <TELL
+"\"George is something, I tell you. The black sheep of the family, is what I'd
+say. Never met nobody with less respect for money. You'd think it grew on
+trees; not that it don't around here. Well, there I go, shooting off my mouth
+again.\"" CR>)
+                     (<EQUAL? ,PRSI ,CORPSE ,DUNBAR ,GLOBAL-DUNBAR>
+                      <TELL
+"\"Ms. Dunbar is nice; the best of the lot, I think. She's always been real
+friendly to me, and helps out when I have a problem. Mr. Robner, he really
+liked her too. I don't think Mrs. Robner did, though. He's been so busy lately
+with the business and Ms. Dunbar that I don't think the Mrs. hardly saw him
+much. Kind of jealous, maybe, of the two of them, I mean.\"" CR>)
+                     (<EQUAL? ,PRSI ,MRS-ROBNER ,GLOBAL-MRS-ROBNER>
+                      <DISCRETION ,ROURKE ,MRS-ROBNER>
+                      <TELL
+"\"Now she's a strange sort. Real lively when she moved here, but I don't
+think she ever liked the life here. Her people are from Boston, one of those
+old families, and she never got used to Mr. Robner's ways. She goes out a lot,
+and sometimes she doesn't even come back at night. Not that I'm spying on her.
+But I know about these things. She has callers here, a number of men. One in
+particular comes more than others. A widower, I think, a real live wire. Not
+what it's any of my business, but I think someone with a sharp tongue could do
+her a lot of damage if she doesn't watch herself.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-STEVEN>
+                      <DISCRETION ,ROURKE ,MRS-ROBNER>
+                      <TELL
+"\"Ah, that's it! He's the one who's been coming around, taking Mrs. Robner
+out. I don't like the look of it. I mean, I think it looks kind of funny, what
+with she's a married woman. Mr. Robner takes no notice, of course, always
+busy. Oh, well. I shouldn't be telling you this. Now that Mr. Robner's dead,
+I don't suppose it matters, but what do you think people were saying! I tell
+you, gossip is fierce around here!\"" CR>)
+                     (<EQUAL? ,PRSI ,GARDENER ,GLOBAL-GARDENER>
+                      <TELL
+"\"Oh, don't let him frighten you. Let him alone and don't bother his roses.
+Gets positively livid about that. Got the green thumb, that's for sure.\"" CR>)
+                     (<EQUAL? ,PRSI ,GLOBAL-MR-ROBNER>
+                      <TELL
+"\"A fine man, but his head was always in the clouds. Just the opposite of
+Mrs. Robner. Her feet were always on the ground. He's been so worried, it
+makes me sick. I don't understand these business things, but he said something
+about them taking his business away from him just two nights ago. I guess the
+pressure was too much. He was a fine man, full of good works, though charity
+does begin at home, as the saying goes. Not that I have anything to complain
+about. He always treated me right.\"" CR>)
+                     (T
+                      <TELL
+"\"I don't know nothing about no " D ,PRSI "\"." CR>)>)
+              (<VERB? SHOW CONFRONT>
+               <COND (<==? ,PRSI ,LAB-REPORT>
+                      <TELL
+"\"Well, if that don't beat all! A murder here, right under my nose! You've
+got your work cut out for you, Inspector, all right. There's some pretty
+strange people around here, and I wouldn't put it past hardly any of 'em to
+do it. What do you know!\"" CR>)
+                     (T <TELL "Mrs. Rourke seems uninterested in it." CR>)>)>>
+
+<ROUTINE DISCRETION (P1 P2)
+        <COND (<IN? .P2 ,HERE>
+               <TELL D .P1 " looks briefly toward " D .P2 " and then speaks
+in a low whisper." CR>)>>
+
+<ROUTINE CARRY-CHECK (PERSON)
+        <COND (<FIRST? .PERSON>
+               <PRINT-CONT .PERSON T 0>)>
+        T>
+
+<ROUTINE DUM-KOF-F ()
+        <COND (<VERB? DRINK>
+               <TELL
+"You drink the remaining cough syrup. Yuk! That was awful!" CR>
+               <REMOVE ,DUM-KOF>)
+              (<VERB? TASTE>
+               <TELL
+"Yuk! It tastes like cough medicine!" CR>)>>
+
+<ROUTINE LOBLO-F ()
+        <COND (<VERB? TASTE>
+               <TELL "The pills are virtually tasteless." CR>)
+              (<VERB? SMELL>
+               <TELL "The pills are odorless." CR>)
+              (<VERB? EAT>
+               <TELL
+"Nervous? Blood Pressure high? See a doctor." CR>)
+              (<VERB? EXAMINE>
+               <TELL "These are small, yellow pills." CR>)>>
+
+<ROUTINE SNEEZO-F ()
+        <COND (<VERB? TASTE>
+               <TELL "The pills are virtually tasteless." CR>)
+              (<VERB? SMELL>
+               <TELL "The pills are odorless." CR>)
+              (<VERB? EAT>
+               <TELL "You must realize that you aren't sick." CR>)
+              (<VERB? EXAMINE>
+               <TELL "These are small, white pills." CR>)>>
+
+<ROUTINE MEDICINE-BOTTLE-F ()
+        <COND (<VERB? COUNT>
+               <TELL "It's hard to tell with the bottle closed." CR>)>>
+
+<ROUTINE ALLERGONE-F ()
+        <COND (<VERB? TASTE>
+               <TELL "The pills are bitter on the tongue." CR>)
+              (<VERB? SMELL>
+               <TELL "The pills are odorless." CR>)
+              (<VERB? EAT>
+               <TELL"The only allergy you seem to have is to work." CR>)
+              (<VERB? EXAMINE>
+               <TELL "These are tiny red pills." CR>)>>
+
+<ROUTINE EBULLION-F ()
+        <COND (<VERB? TASTE>
+               <TELL "The pills are quite bitter." CR>)
+              (<VERB? SMELL>
+               <TELL "The pills have a faint pungent aroma." CR>)
+              (<VERB? EAT>
+               <TELL
+"Are you depressed? Given your performance on this case, that isn't
+surprising. In any event, you shouldn't take other people's medicine!" CR>)
+              (<VERB? EXAMINE>
+               <TELL "These are little white pills." CR>)>>
+
+\f
+"This is the sequence which starts with accusing Dunbar of
+murder after having gotten the 'goods' on her, i.e. showing
+her the report about the pills.
+
+Basically, she runs around looking for Baxter and talks to him
+briefly.  They agree to meet in the shed at a later time.  There,
+they have a long and heated argument, which can be watched from
+the outside."
+
+<GLOBAL D-S-BAXTER-LOC <>>
+<GLOBAL DUNBAR-ACCUSED <>>
+
+<ROUTINE DUNBAR-SEQUENCE ("AUX" (BL <LOC ,BAXTER>))
+        <COND (,DUNBAR-ACCUSED <RFALSE>)>
+        <COND (<NOT <IN? ,DUNBAR .BL>>
+               <ESTABLISH-GOAL ,DUNBAR .BL T>)>
+        <SETG DUNBAR-ACCUSED T>
+        <SETG D-S-BAXTER-LOC .BL>
+        <ENABLE <QUEUE I-DUNBAR-SEQ -1>>>
+
+<GLOBAL DUNBAR-BAXTER-MEET <>>
+
+<ROUTINE I-DUNBAR-SEQ ("AUX" (BL <LOC ,BAXTER>))
+        <COND (<NOT <==? .BL ,D-S-BAXTER-LOC>>
+               <DUNBAR-SEQUENCE>
+               <RFALSE>)
+              (<==? <LOC ,DUNBAR> .BL>
+               <PUT <GET ,GOAL-TABLES ,BAXTER-C> ,GOAL-ENABLE <>>
+               <COND (<==? ,HERE .BL>
+                      <TELL
+"Ms. Dunbar glances at Baxter and then at you." CR>)
+                     (T
+                      <SETG DUNBAR-BAXTER-MEET T>
+                      <PUT <GET ,GOAL-TABLES ,BAXTER-C> ,GOAL-ENABLE T>
+                      <QUEUE I-DUNBAR-SEQ 0>
+                      <ENABLE <QUEUE I-DUNBAR-SEQ-2 5>>
+                      <RFALSE>)>)>>
+
+<ROUTINE I-DUNBAR-SEQ-2 ()
+        <SETG DUNBAR-BAXTER-MEET <>>
+        <ESTABLISH-GOAL ,DUNBAR ,SHED-ROOM T>
+        <ENABLE <QUEUE I-DUNBAR-SEQ-D -1>>
+        <ENABLE <QUEUE I-DUNBAR-SEQ-3 10>>
+        <RFALSE>>
+
+<ROUTINE I-DUNBAR-SEQ-3 ()
+        <ESTABLISH-GOAL ,BAXTER ,NORTH-LAWN T>
+        <ENABLE <QUEUE I-DUNBAR-SEQ-B -1>>
+        <RFALSE>>
+
+<ROUTINE I-DUNBAR-SEQ-D ("AUX" GT)
+        <SET GT <GET ,GOAL-TABLES ,DUNBAR-C>>
+        <COND (<==? <LOC ,DUNBAR> ,SHED-ROOM>
+               <COND (<==? <LOC ,BAXTER> ,SHED-ROOM>
+                      <ENABLE <QUEUE I-DUNBAR-SEQ-4 -1>>
+                      <QUEUE I-DUNBAR-SEQ-D 0>)
+                     (<==? ,HERE ,SHED-ROOM>
+                      <COND (<PROB 50>
+                             <TELL
+"Dunbar paces around the shed nervously. If she was looking for something,
+she would have found it by now." CR>)
+                            (T
+                             <TELL
+"Ms. Dunbar seems to be looking around for something." CR>)>
+                      <RTRUE>)>
+               <RFALSE>)
+              (<AND <==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>
+                    <FOLLOWED? ,DUNBAR>>
+               <COND (<GET .GT ,GOAL-ENABLE>
+                      <PUT .GT ,GOAL-ENABLE <>>)
+                     (<PROB 28>
+                      <TELL
+"Ms. Dunbar eyes you nervously." CR>
+                      <RTRUE>)
+                     (<PROB 50>
+                      <TELL
+"Ms. Dunbar stares off toward the south." CR>
+                      <RTRUE>)
+                     (T
+                      <TELL
+"Ms. Dunbar seems to be deep in thought." CR>
+                      <RTRUE>)>
+               <COND (<AND <NOT ,STUB-DROPPED>
+                           <==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>>
+                      <TELL
+"Ms. Dunbar spots you and stops. She reaches into her pocket and pulls out a
+cigarette. As she does so, what appears to be a ticket stub falls out of her
+pocket and floats to the ground. She checks her pocket again, apparently for
+a match, but finds none and puts the cigarette back in her pocket." CR>
+                      <MOVE ,STUB <LOC ,DUNBAR>>
+                      <SETG STUB-DROPPED T>)
+                     (<PROB 15>
+                      <TELL
+"Ms. Dunbar glances around as she walks. She takes a quick glance in your
+direction, but it doesn't seem like she noticed you." CR>
+                      <PUT .GT ,GOAL-ENABLE T>)
+                     (<PROB 50>
+                      <TELL
+"Ms. Dunbar looks around as she walks and does a brief double-take
+when she looks in your direction. She slows down and stops." CR>)
+                     (T
+                      <TELL
+"Ms. Dunbar, who has been looking from side to side as she goes,
+comes to a stop. She spins around, looking in all directions." CR>)>)
+              (T
+               <PUT .GT ,GOAL-ENABLE T>
+               <RFALSE>)>>
+
+<GLOBAL STUB-DROPPED <>>
+
+<ROUTINE I-DUNBAR-SEQ-B ()
+        <COND (<OR <==? <LOC ,BAXTER> ,NORTH-LAWN>
+                   <==? <GETP ,HERE ,P?LINE> ,TOP-OF-THE-LINE-C>>
+               <QUEUE I-DUNBAR-SEQ-B 0>
+               <ESTABLISH-GOAL ,BAXTER ,SHED-ROOM T>
+               <ENABLE <QUEUE I-DUNBAR-SEQ-B-2 -1>>)>
+        <RFALSE>>
+
+<ROUTINE I-DUNBAR-SEQ-B-2 ("AUX" GT)
+        <SET GT <GET ,GOAL-TABLES ,BAXTER-C>>
+        <COND (<==? <LOC ,BAXTER> ,SHED-ROOM>
+               <QUEUE I-DUNBAR-SEQ-B-2 0>
+               <RFALSE>)
+              (<FOLLOWED? ,BAXTER>
+               <COND (<GET .GT ,GOAL-ENABLE>
+                      <PUT .GT ,GOAL-ENABLE <>>
+                      <RFALSE>)
+                     (<PROB 50>
+                      <TELL
+"Baxter draws a deep breath and looks about contentedly." CR>
+                      <RTRUE>)
+                     (T
+                      <TELL
+"Baxter stares out over the lake." CR>
+                      <RTRUE>)>
+               <COND (<PROB 50>
+                      <TELL
+"Baxter walks slowly, but with determination. He looks around often, as
+if he were a prospective buyer of the property. He stops now, staring
+up at the sky." CR>)
+                     (T
+                      <TELL
+"Baxter stops, bends down, and ties his shoe.">
+                      <COND (<PROB 30>
+                             <TELL "  As he finishes, he takes stands up,
+and stares at some distant trees." CR>)
+                            (T
+                             <TELL " He stands up and stares off to the
+south." CR>)>)>)
+              (T
+               <PUT .GT ,GOAL-ENABLE T>
+               <RFALSE>)>>
+
+<GLOBAL SECRET-MEETING 0>
+<GLOBAL MEETING-INTERRUPTED <>>
+
+<ROUTINE I-DUNBAR-SEQ-4 ()
+        <COND (<==? ,HERE ,SHED-ROOM>
+               <COND (<OR <L? ,SECRET-MEETING 2>
+                          <G? ,SECRET-MEETING 5>>
+                      <TELL
+"You seem to have walked in on some sort of get-together, although from the
+look on Ms. Dunbar's face, you are not the guest of honor. She is aghast, and
+she continually looks back and forth between Mr. Baxter and yourself." CR>)
+                     (T
+                      <TELL
+"As you enter the shed, Mr. Baxter and Ms. Dunbar, who were in the midst of a
+quiet but heated argument, stop at once. Ms. Dunbar is quite upset and
+clutches Mr. Baxter. Baxter, who has retained his composure throughout,
+attempts to comfort Dunbar. She pushes him away and runs out of the shed." CR>
+                      <MOVE ,DUNBAR ,EAST-LAWN>
+                      <PUT <GET ,WHERE-TABLES ,DUNBAR-C> 0 ,PRESENT-TIME>
+                      <PUT <GET ,WHERE-TABLES 0> ,DUNBAR-C ,PRESENT-TIME>)>
+               <HEAD-FOR-CLIMAX>
+               <RTRUE>)
+              (<==? <LOC ,BAXTER> ,SHED-ROOM>
+               <COND (<G? <SETG SECRET-MEETING <+ ,SECRET-MEETING 1>> 5>
+                      <HEAD-FOR-CLIMAX>)>
+               <RFALSE>)>>
+
+<ROUTINE FOLLOWED? (PERSON "AUX" (L <LOC .PERSON>))
+        <COND (<==? .L ,HERE> <RTRUE>)
+              (<==? ,HERE ,GUEST-ROOM> <RFALSE>)
+              (<NOT <==? <BAND <GETP .L ,P?CORRIDOR>
+                               <GETP ,HERE ,P?CORRIDOR>> 0>>
+               <RTRUE>)
+              (T <RFALSE>)>>
+
+;"Ok, folks.  We have just caused Dunbar to run into the house
+toward her room.  It occurs to Baxter that she may well talk.  He
+then plans to kill her using a similar plan to his original one,
+this time entering the house through the master bedroom.  He
+shoots Dunbar at close range, leaves a forged suicide note, and
+runs outside.  He then runs to the house, 'having heard the shot'."
+
+<ROUTINE HEAD-FOR-CLIMAX ()
+        <COND (<EQUAL? ,HERE ,EAST-LAWN ,EAST-SIDE ,EAST-OF-DOOR>
+               <TELL
+"Baxter and Dunbar both leave the shed, heading off in
+different directions." CR>)
+              (<==? ,HERE ,BEHIND-SHED>
+               <TELL
+"The voices stop and you hear sets of footsteps leaving the shed." CR>)>
+        <ESTABLISH-GOAL ,DUNBAR ,DUNBAR-ROOM T>
+        <ESTABLISH-GOAL ,BAXTER ,NORTH-LAWN T>
+        <ENABLE <QUEUE I-BAXTER-SEQ -1>>
+        <QUEUE I-DUNBAR-SEQ-4 0>
+        <SETG MEETING-INTERRUPTED ,SECRET-MEETING>
+        <SETG SECRET-MEETING 0>>
+
+<GLOBAL BAXTER-SEQ-LOC <>>
+<GLOBAL LADDER-FLAG-2 <>>
+<GLOBAL DUNBAR-DEAD <>>
+
+<ROUTINE I-BAXTER-SEQ ()
+        <COND (<==? ,BAXTER-SEQ-LOC ,MASTER-BEDROOM>
+               <COND (<AND <NOT <==? <BAND <GETP ,HERE ,P?CORRIDOR> 1> 1>>
+                           <NOT <EQUAL? ,HERE ,STAIRS ,STAIR-BOTTOM
+                                        ,DUNBAR-ROOM>>>
+                      <SETG BAXTER-SEQ-LOC ,BEDROOM-BALCONY>
+                      <MOVE ,BAXTER ,BEDROOM-BALCONY>
+                      <REMOVE ,DUNBAR>
+                      <SETG DUNBAR-DEAD T>
+                      <DISABLE <INT I-DUNBAR>>
+                      <MOVE ,PISTOL ,DUNBAR-ROOM>
+                      <MOVE ,SUICIDE-NOTE ,DUNBAR-ROOM>
+                      <MOVE ,CORPSE ,DUNBAR-ROOM>
+                      <QUEUE I-BAXTER-SEQ 0>
+                      <ENABLE <QUEUE I-BAXTER-ESCAPE -1>>
+                      <COND (<==? <GETP ,HERE ,P?LINE> ,TOP-OF-THE-LINE-C>
+                             <SETG SHOT-FIRED T>
+                             <TELL
+"You hear a pistol shot close by." CR>)
+                            (<==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>
+                             <TELL
+"You hear what sounds like a pistol shot from inside the house." CR>)
+                            (T
+                             <TELL
+"From upstairs, you hear a single explosion like a pistol shot." CR>)>
+                      <SHOT-FIRED-F>
+                      <RTRUE>)>)
+              (<==? ,BAXTER-SEQ-LOC ,BEDROOM-BALCONY>
+               <COND (<AND <NOT <==? ,HERE ,MASTER-BEDROOM>>
+                           <NOT <==? <LOC ,MRS-ROBNER> ,MASTER-BEDROOM>>>
+                      <MOVE ,BAXTER ,MASTER-BEDROOM>
+                      <SETG BAXTER-SEQ-LOC ,MASTER-BEDROOM>)>
+               <RFALSE>)
+              (<==? ,BAXTER-SEQ-LOC ,NORTH-LAWN>
+               <COND (<AND <IN? ,DUNBAR ,DUNBAR-ROOM>
+                           <NOT <==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>>
+                           <NOT <==? ,HERE ,BEDROOM-BALCONY>>>
+                      <SETG LADDER-FLAG-2 T>
+                      <SETG LADDER-FLAG <>>
+                      <MOVE ,LADDER ,ORCHARD>
+                      <FCLEAR ,LADDER ,NDESCBIT>
+                      <FSET ,LADDER ,TOUCHBIT>
+                      <MOVE ,BAXTER ,BEDROOM-BALCONY>
+                      <SETG BAXTER-SEQ-LOC ,BEDROOM-BALCONY>)>
+               <RFALSE>)
+              (<IN? ,BAXTER ,NORTH-LAWN>
+               <SETG BAXTER-SEQ-LOC ,NORTH-LAWN>
+               <RFALSE>)>>
+
+<GLOBAL SHOT-FIRED <>>
+<GLOBAL BAXTER-SEEN <>>
+
+<ROUTINE I-BAXTER-ESCAPE ("AUX" (FLG <>))
+        <COND (,SHOT-FIRED
+               <SETG SHOT-FIRED <>>
+               <COND (<EQUAL? ,HERE ,CORRIDOR-4 ,CORRIDOR-3>
+                      <TELL
+"As you enter the hallway, you catch a glimpse of someone running across the
+eastern end of the hallway from south to north." CR>
+                      <SET FLG T>)
+                     (<==? ,HERE ,MASTER-BEDROOM>
+                      <TELL
+"As you walk into the bedroom, you see Baxter running past you to the balcony.
+He doesn't seem to have noticed you." CR>
+                      <SET FLG T>
+                      <SETG BAXTER-SEEN T>)
+                     (<==? <BAND <GETP ,HERE ,P?CORRIDOR> 1> 1>
+                      <TELL
+"As you enter the hallway, you see Baxter running from Dunbar's
+room across the hall to the master bedroom." CR>
+                      <SET FLG T>
+                      <SETG BAXTER-SEEN T>)>)>
+        <SETG BAXTER-SEQ-LOC ,BEDROOM-BALCONY>
+        <COND (<EQUAL? ,HERE ,ORCHARD ,EAST-LAWN ,NORTH-LAWN>
+               .FLG)
+              (T
+               <MOVE ,BAXTER ,IN-ORCHARD>
+               <SETG LADDER-FLAG-2 <>>
+               <ESTABLISH-GOAL ,BAXTER ,DUNBAR-ROOM T>
+               <QUEUE I-BAXTER-ESCAPE 0>
+               <SETG BAXTER-SEQ-LOC <>>
+               .FLG)>>
+
+<ROUTINE I-BAXTER-END-1 ()
+        <UNPRIORITIZE ,BAXTER>
+        <RFALSE>>
+
+<ROUTINE SHOT-FIRED-F ()
+        <ESTABLISH-GOAL ,MRS-ROBNER ,DUNBAR-ROOM T>
+        <ESTABLISH-GOAL ,ROURKE ,CORRIDOR-1 T>
+        <ESTABLISH-GOAL ,GEORGE ,DUNBAR-ROOM T>
+        <ENABLE <QUEUE I-SHOT -1>>>
+
+<GLOBAL SHOT-COUNT 0>
+
+<ROUTINE I-SHOT ("AUX" (FLG <>))
+        <COND (<IN? ,MRS-ROBNER ,DUNBAR-ROOM>
+               <COND (<==? ,HERE ,DUNBAR-ROOM>
+                      <TELL
+"Mrs. Robner, standing quietly by the body, starts sobbing and
+leaves the room." CR>)>
+               <UNPRIORITIZE ,MRS-ROBNER>
+               <MOVE ,MRS-ROBNER ,CORRIDOR-1>
+               <SET FLG T>)
+              (<IN? ,GEORGE ,DUNBAR-ROOM>
+               <COND (<==? ,HERE ,DUNBAR-ROOM>
+                      <TELL
+"George says something like \"My God\" under his breath." CR>)>
+               <UNPRIORITIZE ,GEORGE>)
+              (<IN? ,ROURKE ,CORRIDOR-1>
+               <COND (<==? ,HERE ,CORRIDOR-1>
+                      <TELL
+"Mrs. Rourke peeks in the door and looks sick. \"I'm leaving this
+house,\" she says, and pops out again." CR>)>
+               <MOVE ,ROURKE ,STAIR-TOP>
+               <ESTABLISH-GOAL ,ROURKE ,ROURKE-ROOM T>
+               <SET FLG T>)>
+        <COND (<G? <SETG SHOT-COUNT <+ ,SHOT-COUNT 1>> 20>
+               <QUEUE I-SHOT 0>)>
+        .FLG>
+
+<ROUTINE PISTOL-F ()
+        <COND (<VERB? EXAMINE>
+               <COND (<FSET? ,PISTOL ,TOUCHBIT>
+                      <TELL
+"The pistol is bloody and has clearly been used recently." CR>)
+                     (T
+                      <TELL
+"The pistol has bloodstains on it. It has recently been fired." CR>)>)>>
+
+<ROUTINE CORPSE-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The corpse is most gruesome. Ms. Dunbar was apparently shot in the
+head at close range, leaving a most distasteful mess." CR>)
+              (<VERB? RUB>
+               <TELL
+"The body is still quite warm.">)>>
+
+<ROUTINE GLOBAL-PEN-F ()
+        <COND (<VERB? FIND>
+               <COND (<==? ,HERE ,DUNBAR-ROOM>
+                      <TELL
+"It doesn't seem to be around here." CR>)
+                     (T
+                      <TELL
+"There isn't one here." CR>)>)
+              (<VERB? ASK-FOR ASK-ABOUT> <RFALSE>)
+              (T <TELL "There is no pen to be seen here." CR>)>>
+
+<ROUTINE PEN-F ()
+        <COND (<VERB? WRITE>
+               <TELL
+"The pen makes a mark in a fine blue line." CR>)>>
+
+<GLOBAL SHOW-WAIT 0>
+<GLOBAL NO-SHOW <>>
+
+<ROUTINE I-SHOW-HOLE ()
+        <COND (<G? <SETG SHOW-WAIT <+ ,SHOW-WAIT 1>> 4>
+               <SETG NO-SHOW T>
+               <QUEUE I-SHOW-HOLE 0>
+               <RFALSE>)
+              (<==? ,HERE ,IN-ROSES>
+               <COND (<NOT <==? ,SHOW-WAIT 1>>
+                      <TELL
+"McNabb gives you a sideways glance. \"What kept you?\" he asks." CR>)>
+               <SHOW-HOLE>
+               <QUEUE I-SHOW-HOLE 0>)>>
+
+<ROUTINE TODAY-F ()
+        <COND (<VERB? WHAT>
+               <TELL "Today is Friday, July 10." CR>)>>
+
+<ROUTINE GLOBAL-WARRANT-F ()
+        <COND (<VERB? TAKE FIND>
+               <TELL
+"Knowing the courts, it would take weeks to get one." CR>)>>
+
+<ROUTINE CORRIDOR-WINDOW-F ()
+        <COND (<VERB? LOOK-INSIDE>
+               <TELL "You can see the west lawn through the window." CR>)>>
+
+<ROUTINE I-BAXTER-ARRIVE ()
+        <MOVE ,BAXTER ,SOUTH-LAWN>
+        <COND (<==? ,HERE ,SOUTH-LAWN>
+               <TELL
+"A limosine pulls up the drive. Mr. Baxter exits and the limo pulls away.
+Baxter takes a deep breath and looks around." CR>)
+              (<OR <EQUAL? ,HERE ,FRONT-PATH ,EAST-LAWN ,WEST-LAWN>
+                   <EQUAL? ,HERE ,EAST-OF-DOOR ,WEST-OF-DOOR>>
+               <TELL
+"A car pulls up the drive to the south, and Mr. Baxter steps out onto
+the lawn." CR>)>>
+
+<ROUTINE I-COATES-ARRIVE ()
+        <MOVE ,COATES ,SOUTH-LAWN>
+        <ESTABLISH-GOAL ,COATES ,LIVING-ROOM T>
+        <COND (<==? ,HERE ,SOUTH-LAWN>
+               <TELL
+"A large automobile pulls up the drive. Mr. Coates, the lawyer, steps out of
+the car. \"Oh, hello! You must be the Inspector. I'll be reading the will at
+noon, you know. Don't be late!\" he says." CR>)
+              (<OR <EQUAL? ,HERE ,FRONT-PATH ,EAST-LAWN ,WEST-LAWN>
+                   <EQUAL? ,HERE ,EAST-OF-DOOR ,WEST-OF-DOOR>>
+               <TELL
+"A car pulls up the drive to the south, and Mr. Coates steps out onto
+the lawn." CR>)>>
+
+<ROUTINE TRASH-F ()
+        <COND (<VERB? TAKE READ EXAMINE>
+               <FSET ,TRASH ,TOUCHBIT>
+               <FSET ,TRASH-BASKET ,TOUCHBIT>
+               <RFALSE>)>>
+
+<ROUTINE GLOBAL-DUFFY-F ()
+        <COND (<VERB? FIND>
+               <TELL
+"Like a lurking grue in the dark places of the earth, Sergeant Duffy is always
+near the scene of a crime. If you want something analyzed, he will arrive in
+an instant to take the evidence to the lab. When the results are available,
+he rushes them back to you. If you wish to arrest someone, Duffy will be there
+with the handcuffs. A more dedicated civil servant cannot be found." CR>)>>
+
+<ROUTINE L-RAILING-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The railing is made of a sturdy metal and helps prevent nasty falls. There is
+a small area of paint scraped off the outside edge." CR>)>>
+
+<ROUTINE B-RAILING-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"This sturdy railing protects people on the balcony from being impaled upon
+the exotic plants below. The railing itself is uniformly painted." CR>)>>
+
+<ROUTINE L-BALCONY-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The balcony itself is made of wood, except the railing which is metal. The
+balcony is in good repair, but a few spots of dried mud soil the floor." CR>)>>
+
+<ROUTINE B-BALCONY-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The balcony is wooden, excepting the metal railing surrounding it.
+It is in good repair and is quite clean." CR>)>>
+
+<ROUTINE GLOBAL-ROOM-F ("AUX" TIM)
+        <COND (<VERB? KNOCK>
+               <COND (<==? ,HERE ,UPSTAIRS-CLOSET>
+                      <TELL
+"The wall to the north here sounds unusually hollow." CR>)
+                     (<==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>
+                      <TELL "You're acting very strangely!" CR>)
+                     (T
+                      <TELL
+"Knocking on the walls reveals nothing unusual." CR>)>)
+              (<AND <VERB? LOOK-INSIDE>
+                    <==? ,HERE ,CORRIDOR-2>>
+               <TELL "From here, it looks quite ordinary." CR>)
+              (<VERB? SEARCH EXAMINE>
+               <COND (<==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>
+                      <SET TIM 10>)
+                     (<NOT <0? <GETP ,HERE ,P?CORRIDOR>>>
+                      <SET TIM 3>)
+                     (T <SET TIM <+ 2 <GETP ,HERE ,P?SIZE>>>)>
+               <TELL
+"An exhaustive search of even a single room would take hours. A more
+productive approach would be to examine or search various items of interest
+within the room. A cursory search would take on the order of " N .TIM "
+minutes, but it wouldn't reveal much. Would you like to do it anyway? (Y/N)">
+               <COND (<YES?>
+                      <COND (<INT-WAIT .TIM>
+                             <TELL
+"Your brief search revealed nothing that was not obvious before." CR>)
+                            (T
+                             <TELL
+"You didn't get a chance to finish looking over the room." CR>)>)
+                     (T <TELL "Ok." CR>)>)>>
+
+<ROUTINE COATES-F ("OPTIONAL" (RARG <>))
+        <COND (<==? .RARG ,M-OBJDESC>
+               <COND (<IN-MOTION? ,COATES> T)
+                     (T <TELL "Mr. Coates is here." CR>)>
+               <CARRY-CHECK ,COATES>)
+              (<==? ,WINNER ,COATES>
+               <COND (<VERB? FIND> <RFALSE>)
+                     (<COM-CHECK ,COATES> <RTRUE>)
+                     (T <TELL <PICK-ONE ,WHY-ME> CR>)>)
+              (<VERB? PHONE>
+               <TELL D ,PRSO>
+               <COND (<G? ,PRESENT-TIME 710>
+                      <TELL
+"'s office phone rings. His secretary answers and informs you that
+he will be out for the rest of the day." CR>)
+                     (<G? ,PRESENT-TIME 650>
+                      <TELL
+"'s secretary answers and informs you that Mr. Coates is on his way
+to the Robner estate." CR>)
+                     (T
+                      <TELL
+"'s secretary informs you that Mr. Coates is in a very important
+meeting and can't be disturbed. She reminds you that he
+will be at the Robner estate before noon." CR>)>)
+              (<AND <VERB? ASK-ABOUT> <==? ,PRSO ,COATES>>
+               <COND (<OR <EQUAL? ,PRSI ,GLOBAL-OLD-WILL ,GLOBAL-NEW-WILL>
+                          <EQUAL? ,PRSI ,GLOBAL-FOCUS ,GLOBAL-OMNIDYNE>>
+                      <TELL
+"\"I am not at liberty to discuss Mr. Robner's legal matters. That is
+privileged information between attorney and client.\"" CR>)
+                     (T
+                      <TELL
+"\"I am sorry, but I can't help you there.\"" CR>)>)>>
+
+<ROUTINE LETTER-F ()
+        <COND (<VERB? TAKE>
+               <FSET ,ENVELOPE ,TOUCHBIT>
+               <RFALSE>)>>
+
+<ROUTINE OBJECT-PAIR-F ()
+        <COND (<VERB? ARREST>
+               <COND (<L? ,PRESENT-TIME 600>
+                      <TELL
+"It is rather early in the case to be making hasty judgments." CR>)
+                     (<OR <AND <EQUAL? <1 ,P-PRSO> ,BAXTER ,GLOBAL-BAXTER>
+                               <EQUAL? <2 ,P-PRSO> ,DUNBAR ,GLOBAL-DUNBAR>>
+                          <AND <EQUAL? <1 ,P-PRSO> ,DUNBAR ,GLOBAL-DUNBAR>
+                               <EQUAL? <2 ,P-PRSO> ,BAXTER ,GLOBAL-BAXTER>>>
+                      <COND (,CORPSE-SEEN
+                             <TELL "Ms. Dunbar is dead!" CR>)
+                            (,DUNBAR-DEAD
+                             <TELL
+"Sergeant Duffy rushes into view. \"Ms. Dunbar is dead! She has
+shot herself in her room! Come quickly!\" He dashes off." CR>)
+                            (<AND <FSET? ,BAXTER-PAPERS ,TOUCHBIT>
+                                  <FSET? ,LAB-REPORT ,TOUCHBIT>
+                                  ,NOTE-READ
+                                  ,STUB-D>
+                             <CRLF>
+                             <END-HEADER "September 5">
+                             <TELL
+"Congratulations on your superb handling of the Robner case. As you have
+probably heard, a jury convicted Mr. Baxter and Ms. Dunbar today of the
+murder of Mr. Robner. Thanks to you, the murderers will be behind bars,
+possibly for the rest of their lives. Thanks for a job brilliantly done.
+Which reminds me of another fascinating case I would like to assign you to...|
+|
+Coming soon: Another INTERLOGIC Mystery from Infocom|
+" CR>
+                             <EPILOGUE>)
+                            (<L? ,PRESENT-TIME 700>
+                             <TELL
+"You realize the arrest would be a trifle premature, since you're not even
+sure that a murder was committed." CR>)
+                            (<NOT <FSET? ,LAB-REPORT ,TOUCHBIT>>
+                             <CRLF>
+                             <END-HEADER "August 19">
+                             <TELL
+"The District Attorney has decided not to seek an indictment in the Robner
+case. He points out that it has never been proven that a murder was committed,
+despite the deep suspicions to the contrary. Thanks for your help on this
+case. It's too bad we couldn't find out more about the circumstances
+surrounding the death of Mr. Robner.|
+|">)
+                            (<NOT <FSET? ,BAXTER-PAPERS ,TOUCHBIT>>
+                             <CRLF>
+                             <END-HEADER "September 2">
+                             <TELL
+"A grand jury looking into the death of Mr. Robner has decided not to indict
+the accused. They felt that the lack of motive as well as the contorted
+hypothesis involving the actual mechanism of the murder of Mr. Robner was not
+convincing. Personally, I think you're on the right track, but I must admit
+that the evidence is meager. Thank you for helping in the case.|
+|">)
+                            (<NOT ,NOTE-READ>
+                             <CRLF>
+                             <END-HEADER "October 4">
+                             <TELL
+"The jury in the Robner case has declined to convict Mr. Baxter and Ms.
+Dunbar. Appearances indicate that the verdict was difficult, and that several
+jury members were convinced that the two were guilty. However, no evidence
+was presented directly relating the Focus case with the murder of Mr. Robner.
+This left the question of motive unresolved. I appreciate your efforts in the
+case and am sorry to report this outcome to you.|
+|">)
+                             (T
+                              <CRLF>
+                              <END-HEADER "October 6">
+                              <TELL
+"The jury in the Robner case has declined to convict Mr. Baxter and Ms. Dunbar.
+Although most of the jury was convinced of their guilt, it seems that one or
+two felt there was some reasonable doubt about the proposed conspiracy. Their
+main concern was the lack of evidence that Baxter was near the grounds on the
+night of the murder. His alibi of having been to the symphony was confirmed by
+several people. Although this doesn't mean that he didn't go back to the
+Robner estate later, it nevertheless was not convincing. Thank you for your
+excellent efforts. It is sad to think that we may have let the murderers slip
+between our fingers.|
+|">)>
+                      <CASE-OVER>)
+                     (<OR <AND <EQUAL? <1 ,P-PRSO> ,BAXTER ,GLOBAL-BAXTER>
+                               <EQUAL? <2 ,P-PRSO> ,GEORGE ,GLOBAL-GEORGE>>
+                          <AND <EQUAL? <1 ,P-PRSO> ,GEORGE ,GLOBAL-GEORGE>
+                               <EQUAL? <2 ,P-PRSO> ,BAXTER ,GLOBAL-BAXTER>>>
+                      <COND (<NOT <FSET? ,LAB-REPORT ,TOUCHBIT>>
+                             <TELL
+"You realize that there is no evidence that a murder has been committed
+and decide not to go ahead with the arrest." CR>)
+                            (<AND <OR ,NEW-WILL-SEEN ,GEORGE-RUN>
+                                  <FSET? ,BAXTER-PAPERS ,TOUCHBIT>
+                                  ,NOTE-READ>
+                             <CRLF>
+                             <END-HEADER "November 12">
+                             <TELL "
+The district attorney, after extensive interrogation of George Robner and Mr.
+Baxter, has declined to seek an indictment against them. He agrees that there
+has been foul play in the death of Mr. Robner and that both suspects have
+motives for the crime. However, no coherent theory could be proposed which
+involved the two of them conspiring to murder Mr. Robner. On the other hand,
+it seems unlikely that either of them alone could have committed the crime.
+I am sorry that your work has gone for naught.|
+|">
+                             <CASE-OVER>)
+                            (T
+                             <CRLF>
+                             <END-HEADER "August 1">
+                             <TELL
+"The district attorney has declined to indict George Robner and Mr. Baxter
+in the death of Marshall Robner, noting that there is no link between the
+accused, except hatred, and that all of the evidence is circumstantial.
+I wish you luck on your future cases.|
+|">
+                             <CASE-OVER>)>)
+                     (T
+                      <TELL
+"You realize that this arrest is quite farfetched and would result
+only in your humiliation." CR>)>)>>
+
+<GLOBAL CONTRADICTION <>> 
+
+<ROUTINE EPILOGUE ()
+        <CRLF>
+        <TELL
+"You have solved the case! If you would like, you may see the author's summary
+of the story. We would advise you to come up with your own first! Would you
+like to see the author's summary? (Y/N)">
+        <COND (<YES?>
+               <CRLF>
+               <TELL
+"Mr. Robner's work was his life, as pointed out by a number of the principals.
+George knew that his father had lost control of the company, and a story in
+the newspaper indicated that Baxter intended to sell the company to a
+multi-national conglomerate, presumably to advance his career. Baxter admitted
+to the merger plans, but indicated that Mr. Robner was in complete agreement.
+This is contrary to what George and Mrs. Robner said. The note pad found in
+the library was Robner's last, desperate attempt to save the company, in which
+Robner threatened to expose Baxter's involvement in the Focus scandal. Baxter
+denied getting the note, but it was not in the trash. The papers detailing
+Baxter's criminality in the scandal were kept locked in a safe in a hidden
+closet near the library. Only George and Marshall Robner knew the whereabouts
+of the safe.|
+  Baxter planned to murder his partner, aided by the fact that Robner was
+known to be depressed, even suicidal. He enlisted the help of his lover,
+Dunbar, one of whose medicines was found to interact fatally with the pills
+Robner was taking. The relationship of Baxter and Dunbar was kept quiet,
+although Mrs. Rourke had an inkling of it. After the concert in Hartford which
+both Baxter and Dunbar attended, they returned to the Robner estate. Dunbar
+placed some LoBlo in Robner's tea. After Robner died, Baxter used the ladder
+from the shed to enter the library and exchange the incriminating cup for a
+clean one (counting the china in the kitchen reveals that a cup is missing).
+Coming down the ladder, Baxter presumably dropped the cup and inadvertently
+left one piece on the ground in the rose garden, near the ladder holes that
+McNabb found while tending his roses.|
+|">)>
+        <QUIT>>
+
+<ROUTINE COM-CHECK (PERSON)
+        <COND (<VERB? WHAT>
+               <SETG WINNER ,PLAYER>
+               <PERFORM ,V?ASK-ABOUT .PERSON ,PRSO>
+               <RTRUE>)
+              (<VERB? EXAMINE>
+               <SETG WINNER ,PLAYER>
+               <PERFORM ,V?SHOW .PERSON ,PRSO>
+               <RTRUE>)
+              (<AND <VERB? TELL-ME> <==? ,PRSO ,PLAYER>>
+               <SETG WINNER ,PLAYER>
+               <PERFORM ,V?ASK-ABOUT .PERSON ,PRSI>
+               <RTRUE>)
+              (<AND <VERB? SHOW> <==? ,PRSO ,PLAYER>>
+               <TELL "\"I'm sure you can find it, Inspector.\"" CR>
+               <RTRUE>)
+              (<AND <VERB? FOLLOW> <==? ,PRSO ,PLAYER>>
+               <TELL "\"I would rather not.\"" CR>
+               <RTRUE>)>>
+
+<ROUTINE PORTRAITS-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"There are five portraits: two on each side of and one above the bay window.
+The fading portraits are of members of the Phillips family, among the oldest
+in New England." CR>)
+              (<VERB? TAKE> <NO-TOUCH>)>> 
+
+<ROUTINE LR-CABINETS-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The cabinets are beautifully handworked walnut and mahogany." CR>)>>
+
+<ROUTINE SEURAT-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The painting by Seurat is a cheerful design which suits the bright decor of
+the dining room. It must be worth a fortune." CR>)
+              (<VERB? TAKE> <NO-TOUCH>)>>
+
+<ROUTINE PAINTINGS-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The paintings are by various artists. They are brightly colored (but not
+overly loud) works of cheerful outdoor scenes and still-lifes. They give the
+room a light and pleasant feel." CR>)
+              (<VERB? TAKE> <NO-TOUCH>)>>
+
+<ROUTINE APPLIANCE-F ()
+        <COND (<VERB? TAKE USE>
+               <TELL
+"The appliances here are useful in preparing meals, cleaning dishes, and the
+like. It is unlikely that Mrs. Rourke would like you using them." CR>)>>
+
+<ROUTINE K-CABINETS-F () <>>
+
+<ROUTINE SILVERWARE-F ()
+        <COND (<VERB? TAKE>
+               <TELL
+"Although the set would make a fine addition to your home, you resist the
+temptation. You would never get away with it anyway, as Mrs. Robner will no
+doubt count the silverware upon your departure." CR>)
+              (<VERB? COUNT>
+               <TELL "There are 16 complete sets of silver." CR>)
+              (<VERB? EXAMINE>
+               <TELL "The silver is of the finest quality and design." CR>)>>
+
+<ROUTINE GLASSES-F ()
+        <COND (<VERB? COUNT> <TELL "There are at least two dozen." CR>)
+              (<VERB? TAKE> <NO-TOUCH>)>>
+
+<ROUTINE NO-TOUCH ()
+        <TELL
+"You would be an impolite guest to fool with these things without cause." CR>>
+
+<ROUTINE FOODS-F ()
+        <COND (<VERB? EAT>
+               <TELL
+"Although manners are not taught at the Academy, surely your mother must have
+given you some sense of proper behavior." CR>)>>
+
+<ROUTINE FRUIT-TREES-F ()
+        <COND (<VERB? PICK EAT TAKE>
+               <TELL
+"The fruits are not abundant, and those within reach are far from ripe." CR>)>>
+
+<ROUTINE BERRY-BUSH-F ()
+        <COND (<VERB? PICK EAT TAKE>
+               <TELL
+"You pick a few berries and pop them into your mouth. Delicious!" CR>)>>
+
+<ROUTINE BATHROOM-MIRROR-F ()
+        <COND (<VERB? MUNG>
+               <TELL
+"Don't you know it's bad luck to break mirrors?" CR>)
+              (<VERB? LOOK-INSIDE>
+               <TELL
+"A weary Police Inspector looks back at you, with
+a look that seems to be saying \"Look what the cat dragged in.\"" CR>)>>
+
+<ROUTINE TREE-TOPS-F ()
+        <TELL "You can't reach the tree tops from here." CR>>
+
+<GLOBAL DRUNK-FLAG <>>
+
+<ROUTINE LIQUOR-F ()
+        <COND (<VERB? DRINK>
+               <COND (,DRUNK-FLAG
+                      <TELL
+"It's one thing to take a bracer on occasion, but you must resist
+the temptation to indulge too often." CR>)
+                     (T
+                      <TELL
+"You take a small swig of the golden fluid, which burns as it goes
+down." CR>
+                      <SETG DRUNK-FLAG T>)>)>>
+
+<GLOBAL STEREO-ON <>>
+<GLOBAL TUNE-ON <>>
+
+<ROUTINE STEREO-F ()
+        <COND (<VERB? LAMP-ON>
+               <TELL
+"The stereo is now on." CR>
+               <SETG STEREO-ON T>)
+              (<VERB? LAMP-OFF>
+               <COND (<AND ,TUNE-ON <IN? ,GEORGE ,HERE>>
+                      <TELL
+"George turns toward you in disgust as you turn off the " ,TUNE-ON "." CR>)
+                     (T <TELL "The stereo is now off." CR>)>
+               <SETG STEREO-ON <>>
+               <SETG TUNE-ON <>>
+               <RTRUE>)
+              (<VERB? TURN-UP>
+               <COND (,TUNE-ON
+                      <TELL
+"The " ,TUNE-ON " is already quite loud. Any louder would probably
+disturb the rest of the house." CR>)
+                     (T <TELL "It's not on!" CR>)>)
+              (<VERB? TURN-DOWN>
+               <COND (,TUNE-ON
+                      <COND (<IN? ,GEORGE ,HERE>
+                             <TELL
+"George stops you from turning down the volume. He is practically
+addicted to the " ,TUNE-ON "." CR>)
+                            (T <TELL "You can't." CR>)>)
+                     (T <TELL "It's not on!" CR>)>)
+              (<VERB? LISTEN>
+               <COND (,TUNE-ON
+                      <TELL
+"You can hardly avoid it." CR>)
+                     (T
+                      <TELL
+"Nothing's playing." CR>)>)>>
+
+<ROUTINE RECORDS-F ()
+        <COND (<VERB? PLAY LISTEN>
+               <TELL
+"You pick a record at random and start it playing. It is a ">
+               <SETG TUNE-ON <PICK-ONE ,RECORD-TABLE>>
+               <TELL ,TUNE-ON "." CR>
+               <ENABLE <QUEUE I-TUNE-OFF 20>>)
+              (<VERB? EXAMINE>
+               <TELL
+"This is a large collection, with many different types of music represented.
+George is evidently not very particular when it comes to music." CR>)>>
+
+<ROUTINE TAPES-F ()
+        <COND (<VERB? PLAY LISTEN>
+               <TELL
+"You pick one at random and start it up. What you hear is a ">
+               <SETG TUNE-ON <PICK-ONE ,TAPE-TABLE>>
+               <ENABLE <QUEUE I-TUNE-OFF 30>>
+               <TELL ,TUNE-ON "." CR>)
+              (<VERB? EXAMINE>
+               <TELL
+"George's collection of tapes is large and quite odd in its variety of
+music." CR>)>>
+
+<GLOBAL RECORD-TABLE
+       <LTABLE "Hungarian Rhapsody"
+               "march by Sir Edward Elgar"
+               "chorus of African tribal music"
+               "Hebrew prayer service"
+               "Pretenders concert"
+               "cacophonous electronic jumble"
+               "bluegrass tune">>
+
+<GLOBAL TAPE-TABLE
+       <LTABLE "Wagnerian opera"
+               "New Orleans jazz band"
+               "Bulgarian shepherdess song"
+               "Navajo night chant"
+               "simulated rain shower"
+               "risque Russian drinking song">>
+
+<ROUTINE I-TUNE-OFF ("AUX" TBL)
+        <COND (<==? ,HERE ,GEORGE-ROOM>
+               <TELL
+"The " ,TUNE-ON " has ended (and not soon enough)." CR>
+               <COND (<IN? ,GEORGE ,HERE>
+                      <TELL
+"George walks over to his stereo and returns the music to its
+proper place. He then chooses a ">
+                      <COND (<PROB 50>
+                             <TELL "record">
+                             <SET TBL ,RECORD-TABLE>)
+                            (T
+                             <TELL "tape">
+                             <SET TBL ,TAPE-TABLE>)>
+                      <TELL " from his large collection
+and starts it up. Dear Lord! It's a ">
+                      <SETG TUNE-ON <PICK-ONE .TBL>>
+                      <TELL ,TUNE-ON "." CR>
+                      <ENABLE <QUEUE I-TUNE-OFF 25>>)>
+               <RTRUE>)
+              (<IN? ,GEORGE ,GEORGE-ROOM>
+               <SETG TUNE-ON <PICK-ONE ,TAPE-TABLE>>
+               <ENABLE <QUEUE I-TUNE-OFF 35>>
+               <RFALSE>)>>
+                
+<ROUTINE CLOSET-STUFF-F ()
+        <COND (<VERB? TAKE MOVE USE>
+               <TELL
+"You have no need for them." CR>)
+              (<VERB? SEARCH EXAMINE>
+               <TELL
+"You go through the" PRSO " and find nothing of interest." CR>)>>
+
+<ROUTINE LIBRARY-CARPET-F ()
+        <COND (<VERB? LOOK-UNDER>
+               <TELL
+"The carpeting is wall-to-wall so you can't look under it." CR>)
+              (<VERB? EXAMINE>
+               <TELL
+"The carpet is an expensive affair, and quite clean, except for
+a few small areas of dried mud in the vicinity of the desk.
+There are no other stains or markings that you can see." CR>
+               <FCLEAR ,MUD-SPOT ,INVISIBLE>)>>
+
+;"Handler for both MURDER and SUICIDE"
+
+<ROUTINE GLOBAL-MURDER-F ("AUX" STR)
+        <COND (<VERB? ASK-ABOUT>
+               <COND (<==? ,PRSI ,GLOBAL-MURDER>
+                      <COND (<==? <SET STR
+                                       <GET ,MURDER-TABLE
+                                            <GETP ,PRSO ,P?CHARACTER>>> 0>
+                             <RFALSE>)
+                            (T <TELL .STR CR>)>)
+                     (T
+                      <TELL
+"\"I told everything I know about it to the other detectives.\"" CR>)>)>>
+
+<GLOBAL MURDER-TABLE
+       <TABLE 0
+              0
+"\"Murder? My dear inspector, I believe you are reading too many bad detective
+stories. It's clear that he committed suicide.\""
+"Ms. Dunbar turns toward you, looking quite confused. \"Murder? But...but how
+do you know it was murder? I'm sure...\" She stops short, looking frightened."
+"\"My father killed himself, as everyone knows. Please leave me alone.\""
+"\"That's odd that you should say murder. Surely you don't suspect foul play,
+Inspector. My husband was devoted to his business, and its decline led him to
+take his life. The whole affair is tragic enough without your melodramatic
+insinuations.\""
+"\"Was it a murder, then?\" She bounces with excitement. \"In the book I've
+been reading, the jealous wife did it, but I don't know about this. A whole
+batch of suspects, this group here. What do you know? A murder. Here!\" Her
+enjoyment is barely concealed."
+             0>>
+
+<ROUTINE GUEST-WINDOW-F ()
+        <COND (<VERB? LOOK-INSIDE>
+               <TELL
+"From here you have a good view of the east lawn, a shed, and the
+lake in the background." CR>
+               <PUTP ,GUEST-ROOM ,P?CORRIDOR 512>
+               <CORRIDOR-LOOK>
+               <ENABLE <QUEUE I-WINDOW-LOOK 2>>
+               <RTRUE>)
+              (<VERB? OPEN>
+               <TELL "This window cannot be opened." CR>)>>
+
+<ROUTINE I-WINDOW-LOOK ()
+        <PUTP ,GUEST-ROOM ,P?CORRIDOR 0>
+        <RFALSE>>
+
+<ROUTINE I-WILL-MISSED ()
+        <COND (<IN? ,MRS-ROBNER ,HERE>
+               <TELL
+"Mrs. Robner turns to you. \"I don't understand why you missed the will
+reading. You seem so interested in everything else that goes on around
+here.\"" CR>
+               <QUEUE I-WILL-MISSED 0>)
+              (<IN? ,COATES ,HERE>
+               <TELL
+"Mr. Coates says, in passing, \"To tell you the truth, Inspector, my
+suspicions about this case are not quite allayed. I wish you had been
+at the will reading. Good day.\"" CR>
+               <QUEUE I-WILL-MISSED 0>)>> 
+
+<ROUTINE S-SHELVES-F ()
+        <COND (<VERB? EXAMINE>
+               <TELL
+"The shelves contain various garden tools." CR>)>>
+
+<ROUTINE END-HEADER (STR)
+        <TELL "Text of a letter from Police Commissioner Klutz dated ">
+        <TELL .STR>
+        <TELL ":|
+|
+Dear Inspector,|
+|     ">>
+
+<ROUTINE GLOBAL-HERE-F ("AUX" (FLG <>) F)
+        <COND (<VERB? WHAT ASK-ABOUT>
+               <SET F <FIRST? ,HERE>>
+               <REPEAT ()
+                       <COND (<NOT .F> <RETURN>)
+                             (<AND <FSET? .F ,PERSON> <NOT <==? .F ,PLAYER>>>
+                              <SET FLG T>
+                              <DESCRIBE-OBJECT .F T 0>)>
+                       <SET F <NEXT? .F>>>
+               <COND (<NOT .FLG> <TELL "There's nobody else here." CR>)>
+               <RTRUE>)>>
+                             
+<ROUTINE BALCONY-DOOR-F ()
+        <COND (<VERB? HIDE-BEHIND>
+               <COND (<NOT <FSET? ,PRSO ,OPENBIT>>
+                      <TELL "You open the balcony door carefully." CR>
+                      <FSET ,PRSO ,OPENBIT>)>
+               <COND (<==? ,HERE ,LIBRARY>
+                      <GOTO ,LIBRARY-BALCONY>)
+                     (<==? ,HERE ,LIBRARY-BALCONY>
+                      <GOTO ,LIBRARY>)
+                     (<==? ,HERE ,MASTER-BEDROOM>
+                      <GOTO ,BEDROOM-BALCONY>)
+                     (T <GOTO ,MASTER-BEDROOM>)>
+               <RTRUE>)
+              (<VERB? LOOK-INSIDE>
+               <COND (<EQUAL? ,HERE ,MASTER-BEDROOM ,LIBRARY>
+                      <TELL
+"You can see the balcony, but not much beyond." CR>)
+                     (<EQUAL? ,HERE ,LIBRARY-BALCONY>
+                      <TELL
+"You can see into the library from here." CR>)
+                     (T <TELL "You can see the bedroom from here." CR>)>)>>
+
+<ROUTINE GLOBAL-RED-HERRINGS-F ()
+        <COND (<IN? ,GEORGE ,DINING-ROOM>
+               <COND (<VERB? EAT TAKE MOVE>
+                      <TELL
+"You reach for the juicy herrings, but George forces you away. He
+is a killer where herrings are concerned." CR>)
+                     (<VERB? FIND>
+                      <TELL
+"There are more in this room than elsewhere." CR>)>)
+              (<VERB? FIND>
+               <TELL "They're all around you." CR>)
+              (<VERB? WHAT>
+               <TELL "That would be telling." CR>)>>
+               
+<ROUTINE LIBRARY-DESK-F ()
+        <COND (<VERB? LOOK-INSIDE>
+               <TELL "There's nothing of interest in the desk." CR>)>>
+
+<ROUTINE RECURSIVE-BOOK-F ()
+        <COND (<AND <VERB? ASK-FOR> <==? ,PRSO ,BAXTER>>
+               <FCLEAR ,PRSI ,NDESCBIT>
+               <RFALSE>)
+              (<AND <VERB? TAKE> <IN? ,RECURSIVE-BOOK ,BAXTER>>
+               <FCLEAR ,PRSO ,NDESCBIT>
+               <RFALSE>)
+              (<VERB? EXAMINE>
+               <TELL
+"This is a novelization of DEADLINE, a classic work of computer fiction." CR>)
+              (<VERB? READ OPEN>
+               <TELL
+"The book is a novelization of DEADLINE. You start to read it, and it seems
+oddly familiar, as if you had lived it." CR>)>> 
+
+<ROUTINE GLOBAL-ENDING-F ()
+        <COND (<IN? ,RECURSIVE-BOOK ,PLAYER>
+               <COND (<VERB? READ WHAT TURN>
+                      <TELL
+"You thumb to the last page and start to read the ending, in which the
+protagonist reads the plot of the story and kills himself in disgust.
+Disgustedly, you reach into your pocket, remove a gun, and end your life." CR>
+                      <QUIT>)>)
+              (<VERB? WHAT> <TELL "That's up to you!" CR>)
+              (T <TELL "You don't have the book that tells the ending." CR>)>>
+
+<ROUTINE CASE-OVER ()
+        <CRLF>
+        <CRLF>
+        <TELL
+"The case has ended.  Would you like to start your investigation over
+from scratch? (Y/N)">
+        <COND (<YES?> <RESTART>)
+              (T <QUIT>)>>
+
+<ROUTINE SAFE-F ()
+        <COND (<AND <VERB? OPEN> <NOT <FSET? ,SAFE ,OPENBIT>>>
+               <TELL "The safe is locked." CR>)
+              (<AND <VERB? CLOSE LOCK> <FSET? ,SAFE ,OPENBIT>>
+               <TELL "The safe closes and locks." CR>
+               <FCLEAR ,SAFE ,OPENBIT>)
+              (<VERB? LOCK>
+               <TELL "It already is." CR>)
+              (<VERB? UNLOCK>
+               <TELL "You don't know the combination." CR>)
+              (<VERB? LOOK-INSIDE EXAMINE>
+               <FCLEAR ,BAXTER-PAPERS ,INVISIBLE>
+               <RFALSE>)>>
+
+<ROUTINE SUICIDE-NOTE-F ()
+        <COND (<VERB? ANALYZE>
+               <TELL
+"The handwriting is very shaky and would be impossible to compare with samples
+on file. The blood makes the finding of fingerprints impossible." CR>)>>
+
+<ROUTINE GLOBAL-MR-ROBNER-F ()
+        <COND (<VERB? FOLLOW>
+               <TELL "Is this what they call a death wish?" CR>)
+              (<VERB? CALL>
+               <TELL "You are, for the moment, not with him." CR>)>>
+
+<ROUTINE RANDOM-MEAL-F ()
+        <COND (<VERB? EAT FIND>
+               <TELL
+"Although rather hungry, you realize that the case is too important
+for you to be eating meals." CR>)
+              (T <TELL "What a strange notion!" CR>)>>
+
+<ROUTINE GLOBAL-HOUSE-F ()
+        <COND (<VERB? WALK-AROUND>
+               <TELL "Use directions to move around inside the house." CR>)>>
+
+<ROUTINE GRAPE-ARBOR-F ()
+        <COND (<VERB? EAT>
+               <TELL "You pick a few grapes and eat them. Mmmm!" CR>)>>
+
+<ROUTINE GLOBAL-CALL-F ()
+        <COND (<AND <VERB? LISTEN>
+                    <NOT <0? ,SECRET-MEETING>>
+                    <EQUAL? ,HERE ,BEHIND-SHED ,EAST-LAWN>>
+               <TELL
+"The voices from within the shed are too quiet to make out." CR>)
+              (<AND <VERB? LISTEN>
+                    ,CALL-IN-PROGRESS
+                    <==? ,HERE ,CORRIDOR-1>>
+               <TELL
+"You can't make out the conversation through the door." CR>)
+              (<VERB? LISTEN>
+               <TELL
+"You can't hear any conversation." CR>)>>
+
+<ROUTINE GLOBAL-FINGERPRINTS-F ()
+        <COND (<AND <VERB? TAKE> <==? ,PRSO ,GLOBAL-FINGERPRINTS>>
+               <COND (<NOT ,PRSI>
+                      <TELL
+ "You must specify what to take the fingerprints from." CR>)
+                     (T
+                      <PERFORM ,V?FINGERPRINT ,PRSI>
+                      <RTRUE>)>)>>
+
+<ROUTINE GLOBAL-LADDER-F ()
+        <COND (<OR <AND <==? ,HERE ,LIBRARY-BALCONY> ,LADDER-FLAG>
+                   <AND <==? ,HERE ,BEDROOM-BALCONY> ,LADDER-FLAG-2>>
+               <COND (<VERB? TAKE>
+                      <TELL "It's too difficult from here." CR>)
+                     (<VERB? RUB> <RFALSE>)
+                     (<VERB? EXAMINE>
+                      <TELL
+"The top of the ladder is visible, but the rest is hard to see." CR>)
+                     (T
+                      <TELL "You can't do that from here." CR>)>)>>
\ No newline at end of file
diff --git a/clock.zil b/clock.zil
new file mode 100644 (file)
index 0000000..b8f523e
--- /dev/null
+++ b/clock.zil
@@ -0,0 +1,82 @@
+"CLOCK for
+                           DEADLINE
+       Copyright 1982 Infocom, Inc.  All rights reserved.
+"
+
+<CONSTANT C-TABLELEN 300>
+
+<GLOBAL C-TABLE <ITABLE NONE 300>>
+
+<GLOBAL C-DEMONS 300>
+
+<GLOBAL C-INTS 300>
+
+<CONSTANT C-INTLEN 6>
+
+<CONSTANT C-ENABLED? 0>
+
+<CONSTANT C-TICK 1>
+
+<CONSTANT C-RTN 2>
+
+<ROUTINE DEMON (RTN TICK "AUX" CINT)
+        #DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
+        <PUT <SET CINT <INT .RTN T>> ,C-TICK .TICK>
+        .CINT>
+
+<ROUTINE QUEUE (RTN TICK "AUX" CINT)
+        #DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
+        <PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
+        .CINT>
+
+<ROUTINE INT (RTN "OPTIONAL" (DEMON <>) E C INT)
+        #DECL ((RTN) ATOM (DEMON) <OR ATOM FALSE> (E C INT) <PRIMTYPE
+                                                             VECTOR>)
+        <SET E <REST ,C-TABLE ,C-TABLELEN>>
+        <SET C <REST ,C-TABLE ,C-INTS>>
+        <REPEAT ()
+                <COND (<==? .C .E>
+                       <SETG C-INTS <- ,C-INTS ,C-INTLEN>>
+                       <AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,C-INTLEN>>>
+                       <SET INT <REST ,C-TABLE ,C-INTS>>
+                       <PUT .INT ,C-RTN .RTN>
+                       <RETURN .INT>)
+                      (<==? <GET .C ,C-RTN> .RTN> <RETURN .C>)>
+                <SET C <REST .C ,C-INTLEN>>>>
+
+<GLOBAL CLOCK-WAIT <>>
+
+;"SCORE INDICATES HOURS / MOVES = MINUTES"
+
+<GLOBAL SCORE 8>
+<GLOBAL MOVES 0>
+
+<ROUTINE CLOCKER ("AUX" C E TICK (FLG <>))
+        #DECL ((C E) <PRIMTYPE VECTOR> (TICK) FIX (FLG) <OR FALSE ATOM>)
+        <COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
+        <SETG PRESENT-TIME <+ ,PRESENT-TIME 1>>
+        <COND (<G? ,PRESENT-TIME 1199>
+               <TELL
+"Chief Inspector Klutz walks up to you, seemingly from out of nowhere.
+\"I'm sorry, Inspector, but your time is up here.  I'm sorry that you
+didn't have any more time to investigate the case.  Maybe next time...\"
+He escorts you to a waiting police car, in which  you go off into the
+sunset." CR>
+               <QUIT>)>
+        <COND (<G? <SETG MOVES <+ ,MOVES 1>> 59>
+               <SETG MOVES 0>
+               <COND (<G? <SETG SCORE <+ ,SCORE 1>> 23>
+                      <SETG SCORE 0>)>)>
+        <SET C <REST ,C-TABLE <COND (,P-WON ,C-INTS) (T ,C-DEMONS)>>>
+        <SET E <REST ,C-TABLE ,C-TABLELEN>>
+        <REPEAT ()
+                <COND (<==? .C .E> <RETURN .FLG>)
+                      (<NOT <0? <GET .C ,C-ENABLED?>>>
+                       <SET TICK <GET .C ,C-TICK>>
+                       <COND (<0? .TICK>)
+                             (T
+                              <PUT .C ,C-TICK <- .TICK 1>>
+                              <COND (<AND <NOT <G? .TICK 1>>
+                                          <APPLY <GET .C ,C-RTN>>>
+                                     <SET FLG T>)>)>)>
+                <SET C <REST .C ,C-INTLEN>>>>
diff --git a/crufty.zil b/crufty.zil
new file mode 100644 (file)
index 0000000..4a3cd00
--- /dev/null
@@ -0,0 +1,16 @@
+"(c) Copyright 1983 Infocom, Inc.  All Rights Reserved."
+
+<ROUTINE THIS-IT? (OBJ TBL "AUX" SYNS) 
+ <COND (<FSET? .OBJ ,INVISIBLE> <RFALSE>)
+       (<AND ,P-NAM
+            <NOT <ZMEMQ ,P-NAM
+                        <SET SYNS <GETPT .OBJ ,P?SYNONYM>>
+                        <- </ <PTSIZE .SYNS> 2> 1>>>>
+       <RFALSE>)
+       (<AND ,P-ADJ
+            <OR <NOT <SET SYNS <GETPT .OBJ ,P?ADJECTIVE>>>
+                <NOT <ZMEMQB ,P-ADJ .SYNS <- <PTSIZE .SYNS> 1>>>>>
+       <RFALSE>)
+       (<AND <NOT <0? ,P-GWIMBIT>> <NOT <FSET? .OBJ ,P-GWIMBIT>>>
+       <RFALSE>)>
+ <RTRUE>>
diff --git a/deadline.zil b/deadline.zil
new file mode 100644 (file)
index 0000000..64b942f
--- /dev/null
@@ -0,0 +1,53 @@
+"COMPILE FILE for
+                           DEADLINE
+       Copyright 1982 Infocom, Inc.  All rights reserved.
+"
+
+;<SNAME "INFOCOM.DEADLINE">
+
+<COND (<GASSIGNED? PREDGEN>
+       <PRINC "Compiling">
+       <ID 0>)
+      (T <PRINC "Loading">)>
+
+<PRINC " DEADLINE: An INTERLOGIC Mystery
+">
+
+<BLOAT 90000 0 0 3500 0 0 0 0 0 512>
+
+<SET REDEFINE T>
+
+<GLOBAL BIGFIX 10000>
+
+<OR <GASSIGNED? ZILCH>
+    <SETG WBREAKS <STRING !\" !,WBREAKS>>>
+
+<OR <GASSIGNED? INSERT-CRUFTY>
+    <DEFINE INSERT-CRUFTY (STR) <IFILE .STR T>>>
+
+<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
+       <INSERT-FILE .STR .FLOAD?>>
+
+<IFILE "DUNGEON" T>
+
+<PROPDEF SIZE 5>
+<PROPDEF CAPACITY 0>
+
+<IFILE "SYNTAX" T>
+<ENDLOAD>
+<IFILE "MACROS" T>
+<IFILE "CLOCK" T>
+<IFILE "MAIN" T>
+<IFILE "PARSER" T>
+<INSERT-CRUFTY "CRUFTY">
+<IFILE "VERBS" T>
+<IFILE "ACTIONS" T>
+<IFILE "GOAL" T>
+
+<GC-MON T>
+<GC 0 T 5>
+
+
+
+
+
diff --git a/deadline.zip b/deadline.zip
new file mode 100644 (file)
index 0000000..ebbe260
Binary files /dev/null and b/deadline.zip differ
diff --git a/dungeon.zil b/dungeon.zil
new file mode 100644 (file)
index 0000000..f79e076
--- /dev/null
@@ -0,0 +1,2541 @@
+"DUNGEON for
+                           DEADLINE
+        Copyright 1982 Infocom, Inc.  All rights reserved.
+"
+
+"Directions"
+
+<DIRECTIONS NORTH SOUTH EAST WEST NE NW SE SW UP DOWN IN OUT>
+
+"The usual globals"
+
+<OBJECT GLOBAL-OBJECTS
+       (FLAGS INVISIBLE TOUCHBIT SURFACEBIT OPENBIT TRANSBIT
+              SEARCHBIT)>
+
+<OBJECT LOCAL-GLOBALS
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM ZZKJLK ;"This synonym is necessary - God knows")>
+
+<OBJECT ROOMS>
+
+<OBJECT PSEUDO-OBJECT
+       (IN LOCAL-GLOBALS)
+       (DESC "FROBNO" ;"Place holder (MUST BE 6 CHARACTERS!!!!!)")
+       (ACTION LIBRARY-F ;"Place holder")>
+
+<OBJECT IT
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM IT THEM)
+       (DESC "X")
+       (FLAGS NDESCBIT)>
+
+<OBJECT HIM-HER
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM HE SHE HIM HER)
+       (DESC "X")
+       (FLAGS NDESCBIT)>
+
+"Necessary Flags"
+
+<GLOBAL LOAD-MAX 100>
+<GLOBAL LOAD-ALLOWED 100>
+
+"Grounds of Robner Estate"
+
+<ROOM SOUTH-LAWN
+      (IN ROOMS)
+      (LDESC
+"You are on a wide lawn just north of the entrance to the Robner estate.
+Directly north at the end of a pebbled path is the Robner house, flanked
+to the northeast and northwest by a vast expanse of well-kept lawn.
+Beyond the house can be seen the lakefront.")
+      (DESC "South Lawn")
+      (SYNONYM LAWN)
+      (ADJECTIVE SOUTH)
+      (FLAGS RLANDBIT ONBIT)
+      (NORTH TO FRONT-PATH)
+      (SOUTH "Leaving the estate would mean quitting the case and, most
+probably, your job.")
+      (NW TO WEST-LAWN)
+      (NE TO EAST-LAWN)
+      (GLOBAL LAWN HOUSE)
+      (LINE 2)
+      (STATION FRONT-PATH)
+      (CORRIDOR 64)>
+
+<ROOM FRONT-PATH
+      (IN ROOMS)
+      (DESC "Front Path")
+      (SYNONYM PATH)
+      (ADJECTIVE FRONT)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION FRONT-PATH-F)
+      (IN TO FOYER IF FRONT-DOOR IS OPEN)
+      (NORTH TO FOYER IF FRONT-DOOR IS OPEN)
+      (SOUTH TO SOUTH-LAWN)
+      (SE TO SOUTH-LAWN)
+      (SW TO SOUTH-LAWN)
+      (WEST TO WEST-OF-DOOR)
+      (EAST TO EAST-OF-DOOR)
+      (GLOBAL HOUSE FRONT-DOOR)
+      (LINE 2)
+      (STATION FRONT-PATH)
+      (CORRIDOR 32)>
+
+<ROOM WEST-OF-DOOR
+      (IN ROOMS)
+      (LDESC
+"You are in front of the Robner house just west of the front door.  To the
+north is a large bay window through which can be seen part of the living
+room.  To the northwest is the west side of the house.")
+      (DESC "West of Front Door")
+      (FLAGS RLANDBIT ONBIT)
+      (NORTH TO LIVING-ROOM IF BAY-WINDOW IS OPEN)
+      (NE TO LIVING-ROOM IF BAY-WINDOW IS OPEN)
+      (EAST TO FRONT-PATH)
+      (WEST TO WEST-LAWN)
+      (SOUTH TO SOUTH-LAWN)
+      (SE TO SOUTH-LAWN)
+      (SW TO SOUTH-LAWN)
+      (NW TO WEST-SIDE)
+      (GLOBAL BAY-WINDOW HOUSE)
+      (ACTION WEST-DOOR-F)
+      (LINE 2)
+      (STATION WEST-OF-DOOR)
+      (CORRIDOR 32)>
+
+<ROOM EAST-OF-DOOR
+      (IN ROOMS)
+      (LDESC
+"You are in front of the Robner house just east of the front door.  A small
+window, closed and securely locked, is the only thing of note here. To the
+northeast is the east side of the house.")
+      (DESC "East of Front Door")
+      (FLAGS RLANDBIT ONBIT)
+      (NORTH "The window is closed and locked.")
+      (WEST TO FRONT-PATH)
+      (EAST TO EAST-LAWN)
+      (SOUTH TO SOUTH-LAWN)
+      (SE TO SOUTH-LAWN)
+      (SW TO SOUTH-LAWN)
+      (NE TO EAST-SIDE)
+      (GLOBAL WINDOW HOUSE)
+      (LINE 2)
+      (STATION EAST-OF-DOOR)
+      (CORRIDOR 96)>
+
+ <ROOM WEST-LAWN
+       (IN ROOMS)
+       (LDESC
+"This is a sprawling lawn west of the Robner house. To the west and north is
+the lake shore.  To the northeast is a rose garden, and to the south another
+wide lawn.")
+       (DESC "West Lawn")
+       (SYNONYM LAWN)
+       (ADJECTIVE WEST)
+       (FLAGS RLANDBIT ONBIT)
+       (NORTH "You can't go into the lake.")
+       (NW "You can't go into the lake.")
+       (WEST "You can't go into the lake.")
+       (NE TO ROSE-GARDEN)
+       (EAST TO WEST-SIDE)
+       (SE TO WEST-OF-DOOR)
+       (SOUTH TO SOUTH-LAWN)
+       (GLOBAL LAWN HOUSE LAKE)
+       (LINE 2)
+       (STATION WEST-LAWN)
+       (CORRIDOR 32)> 
+       
+<ROOM EAST-LAWN
+       (IN ROOMS)
+       (LDESC
+"You are on a neatly manicured lawn, east of the house, which extends north
+and east to the shore of a lake. To the northwest is a peaceful orchard, and
+toward the south another wide lawn. Southeast, beside the lake, is a small
+shed with a solitary dirty window.")
+       (DESC "East Lawn")
+       (SYNONYM LAWN)
+       (ADJECTIVE EAST)
+       (FLAGS RLANDBIT ONBIT)
+       (NORTH "You can't go into the lake.")
+       (NE "You can't go into the lake.")
+       (EAST "You can't go into the lake.")
+       (NW TO ORCHARD)
+       (WEST TO EAST-SIDE)
+       (SW TO EAST-OF-DOOR)
+       (SOUTH TO SOUTH-LAWN)
+       (SE TO SHED-ROOM)
+       (IN TO SHED-ROOM)
+       (GLOBAL HOUSE LAWN SHED LAKE SHED-WINDOW)
+       (LINE 2)
+       (STATION EAST-LAWN)
+       (CORRIDOR 672)>
+
+<ROOM EAST-SIDE
+      (IN ROOMS)
+      (LDESC
+"There are no windows or entries of any kind here at the east side of the
+house. To the north is the orchard, and the front lawn lies to the south.
+A lawn also slopes down toward the shore of a lake to the east.")
+      (DESC "East Side of House")
+      (FLAGS RLANDBIT ONBIT)
+      (NORTH TO ORCHARD)
+      (NE TO EAST-LAWN)
+      (SOUTH TO EAST-OF-DOOR)
+      (SE TO EAST-LAWN)
+      (EAST TO EAST-LAWN)
+      (WEST "You can't enter the house here.")
+      (GLOBAL HOUSE)
+      (LINE 2)
+      (STATION EAST-SIDE)
+      (CORRIDOR 64)>
+
+<ROOM WEST-SIDE
+      (IN ROOMS)
+      (LDESC
+"There are no doors or windows at ground level here on the west side of the
+house. A beautiful rose garden, separated by a tall fence, lies to the north,
+and the front of the house is to your south. A large lawn bordering the lake
+lies to the west.")
+      (DESC "West Side of House")
+      (FLAGS RLANDBIT ONBIT)
+      (SW TO WEST-LAWN)
+      (WEST TO WEST-LAWN)
+      (NW TO WEST-LAWN)
+      (NORTH "A fence prevents your mucking up the rose garden.")
+      (SE TO WEST-OF-DOOR)
+      (SOUTH TO WEST-OF-DOOR)
+      (EAST "You can't enter the house here.")
+      (GLOBAL HOUSE)
+      (PSEUDO "FENCE" RANDOM-PSEUDO)
+      (LINE 2)
+      (STATION WEST-SIDE)>
+
+<ROOM SHED-ROOM
+      (IN ROOMS)
+      (LDESC
+"This small garden shed is filled with implements of gardening and lawn care.
+Shelves filled with various tools line the walls and a filthy window looks out
+on the lawn.")    
+      (DESC "Shed")
+      (SYNONYM SHED CABIN)
+      (ADJECTIVE TOOL GARDEN WOODEN)
+      (FLAGS RLANDBIT ONBIT)
+      (OUT TO EAST-LAWN)
+      (NORTH TO EAST-LAWN)
+      (NW TO EAST-LAWN)
+      (GLOBAL SHED SHED-WINDOW)
+      (LINE 2)
+      (STATION EAST-LAWN)>
+
+<ROOM BEHIND-SHED
+      (IN ROOMS)
+      (LDESC
+"You are now between the shed and the lake, a position invisible from the
+house or the adjacent lawns. There are no windows here, but you can easily
+enter the shed via the door around the corner.")
+      (DESC "Behind the Shed")
+      (OUT TO EAST-LAWN)
+      (IN TO SHED-ROOM)
+      (EAST "You can't go into the lake.")
+      (WEST TO EAST-LAWN)
+      (NORTH TO EAST-LAWN)
+      (SOUTH TO SOUTH-LAWN)
+      (FLAGS RLANDBIT ONBIT)
+      (GLOBAL SHED)
+      (LINE 2)
+      (STATION EAST-LAWN)>      
+
+<ROOM ROSE-GARDEN 
+      (IN ROOMS)
+      (DESC "Garden Path")
+      (SYNONYM PATH)
+      (ADJECTIVE GARDEN ROSE FLOWER)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION ROSE-GARDEN-F)
+      (NORTH TO NORTH-LAWN)
+      (NE TO NORTH-LAWN)
+      (NW TO NORTH-LAWN)
+      (SW TO WEST-LAWN)
+      (WEST TO WEST-LAWN)
+      (EAST TO ORCHARD)
+      (SOUTH TO IN-ROSES)
+      (SE TO IN-ROSES)
+      (GLOBAL ROSE HOUSE DINING-ROOM-WINDOW)
+      (LINE 2)
+      (STATION ROSE-GARDEN)
+      (CORRIDOR 2048)>
+
+<ROOM IN-ROSES
+      (IN ROOMS)
+      (DESC "Among the Roses")
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION IN-ROSES-F)
+      (UP TO LIBRARY-BALCONY IF LADDER-FLAG)
+      (NORTH TO ROSE-GARDEN)
+      (NE TO ROSE-GARDEN)
+      (NW TO ROSE-GARDEN)
+      (WEST TO WEST-LAWN)
+      (EAST TO IN-ORCHARD)
+      (SOUTH "You can't enter the house here.")
+      (GLOBAL DINING-ROOM-WINDOW HOUSE ROSE BALCONY)
+      (LINE 2)
+      (STATION ROSE-GARDEN)>
+
+<ROOM ORCHARD
+      (IN ROOMS)
+      (LDESC
+"You are on a path at the edge of a small orchard of fruit trees which abuts
+the eastern side of the back of the house. The orchard is obviously intended
+more to display the beauty of the blossoms in spring than to produce
+significant amounts of fruit. The windows of the kitchen look out onto the
+orchard, although your view of them is blocked by the trees and a small grape
+arbor.  To the west is a path along a rose garden, and lawns sweep out to the
+north and east.")
+      (DESC "Orchard Path")
+      (SYNONYM PATH)
+      (ADJECTIVE ORCHARD)
+      (FLAGS RLANDBIT ONBIT)
+      (EAST TO EAST-LAWN)
+      (SE TO EAST-LAWN)
+      (NORTH TO NORTH-LAWN)
+      (NW TO NORTH-LAWN)
+      (NE TO NORTH-LAWN)
+      (WEST TO ROSE-GARDEN)
+      (SOUTH TO IN-ORCHARD)
+      (SW TO IN-ORCHARD)
+      (GLOBAL KITCHEN-WINDOW HOUSE FRUIT-TREES)
+      (LINE 2)
+      (STATION ORCHARD)
+      (CORRIDOR 2176)>
+
+<ROOM IN-ORCHARD
+      (IN ROOMS)
+      (DESC "In the Orchard")
+      (FLAGS RLANDBIT ONBIT)
+      (NORTH TO ORCHARD)
+      (WEST TO IN-ROSES)
+      (NW TO ORCHARD)
+      (NE TO ORCHARD)
+      (UP TO BEDROOM-BALCONY IF LADDER-FLAG-2)
+      (SOUTH TO EAST-SIDE)
+      (ACTION IN-ORCHARD-F)
+      (GLOBAL KITCHEN-WINDOW HOUSE FRUIT-TREES BALCONY)
+      (LINE 2)
+      (STATION ORCHARD)>
+
+<ROOM NORTH-LAWN
+      (IN ROOMS)
+      (LDESC
+"This idyllic spot lies on a jut of land well north of the house and is
+surrounded on three sides by lake shore.  Its charm includes the sweet smell
+of roses blown on a southwest breeze from the rose garden and by the sound
+of the leaves rustling in the orchard to the southeast.")
+      (DESC "North Lawn")
+      (SYNONYM LAWN)
+      (ADJECTIVE NORTH)
+      (FLAGS RLANDBIT ONBIT)
+      (NE "You can't go into the lake.")
+      (NW "You can't go into the lake.")
+      (NORTH "You can't go into the lake.")
+      (EAST "You can't go into the lake.")
+      (WEST "You can't go into the lake.")
+      (SW TO ROSE-GARDEN)
+      (SE TO ORCHARD)
+      (SOUTH TO ROSE-GARDEN)
+      (GLOBAL LAWN HOUSE LAKE)
+      (LINE 2)
+      (STATION NORTH-LAWN)
+      (CORRIDOR 128)>
+
+"The First Floor"
+
+<ROOM FOYER
+      (IN ROOMS)
+      (DESC "Foyer")
+      (SYNONYM FOYER)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION FOYER-F)
+      (SOUTH TO FRONT-PATH IF FRONT-DOOR IS OPEN)
+      (NORTH TO NFOYER)
+      (OUT TO FRONT-PATH IF FRONT-DOOR IS OPEN)
+      (GLOBAL FRONT-DOOR)
+      (LINE 1)
+      (STATION FOYER)
+      (CORRIDOR 8)>
+
+<ROOM NFOYER
+      (IN ROOMS)
+      (LDESC 
+"This is a hallway north of the foyer. To the west is an open doorway, and to
+the east is the foot of a staircase. The hall continues north.")
+      (DESC "North of Foyer")
+      (FLAGS RLANDBIT ONBIT)
+      (SOUTH TO FOYER)
+      (WEST TO LIVING-ROOM)
+      (EAST TO STAIR-BOTTOM)
+      (NORTH TO CORNER)
+      (LINE 1)
+      (STATION NFOYER)
+      (CORRIDOR 264)>
+
+<ROOM SHALL-1
+      (IN ROOMS)
+      (DESC "South Hallway")
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION SHALL-1-F)
+      (EAST TO SHALL-2)
+      (NORTH TO STAIR-BOTTOM)
+      (SOUTH TO ROURKE-ROOM IF ROURKE-DOOR IS OPEN)
+      (GLOBAL ROURKE-DOOR)
+      (LINE 1)
+      (STATION SHALL-1)
+      (CORRIDOR 16)>
+      
+<ROOM SHALL-2
+      (IN ROOMS)
+      (DESC "South Hallway")
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION SHALL-2-F)
+      (EAST TO ROURKE-BATH IF ROURKE-BATH-DOOR IS OPEN)
+      (WEST TO SHALL-1)
+      (SOUTH TO SOUTH-CLOSET IF SOUTH-CLOSET-DOOR IS OPEN)
+      (GLOBAL ROURKE-BATH-DOOR SOUTH-CLOSET-DOOR)
+      (LINE 1)
+      (STATION SHALL-2)>      
+
+<ROOM ROURKE-ROOM
+      (IN ROOMS)
+      (DESC "Mrs. Rourke's Room")
+      (SYNONYM BEDROOM ROOM)
+      (ADJECTIVE ROURKE)
+      (ACTION ROURKE-ROOM-F)
+      (FLAGS RLANDBIT ONBIT)
+      (NORTH TO SHALL-1 IF ROURKE-DOOR IS OPEN)
+      (OUT TO SHALL-1 IF ROURKE-DOOR IS OPEN)
+      (GLOBAL ROURKE-DOOR END-TABLE CHAIR BED WINDOW)
+      (LINE 1)
+      (STATION SHALL-1)>
+
+<ROOM ROURKE-BATH
+      (IN ROOMS)
+      (DESC "Mrs. Rourke's Bathroom")
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION ROURKE-BATH-F)
+      (WEST TO SHALL-2 IF ROURKE-BATH-DOOR IS OPEN)
+      (GLOBAL ROURKE-BATH-DOOR TOILET SHOWER SINK)
+      (LINE 1)
+      (STATION SHALL-2)>
+
+<ROOM SOUTH-CLOSET
+      (IN ROOMS)
+      (LDESC
+"This is a little-used storage closet containing odds and ends of no interest
+whatsoever. The exit is to the north.")
+      (DESC "South Closet")
+      (SYNONYM CLOSET)
+      (ADJECTIVE SOUTH)
+      (FLAGS RLANDBIT ONBIT)
+      (NORTH TO SHALL-2 IF SOUTH-CLOSET-DOOR IS OPEN)
+      (OUT TO SHALL-2 IF SOUTH-CLOSET-DOOR IS OPEN)
+      (GLOBAL SOUTH-CLOSET-DOOR CLOSET)
+      (LINE 1)
+      (STATION SHALL-2)
+      (SIZE 1)>
+           
+<ROOM STAIR-BOTTOM
+      (IN ROOMS)
+      (LDESC
+"You are at the foot of the stairs to the second floor. Open archways lead
+west and south.")
+      (DESC "Bottom of Stairs")
+      (FLAGS RLANDBIT ONBIT)
+      (UP TO STAIRS)
+      (SOUTH TO SHALL-1)
+      (WEST TO NFOYER)
+      (GLOBAL STAIRS)
+      (LINE 1)
+      (STATION STAIR-BOTTOM)
+      (CORRIDOR 272)>
+
+<ROOM LIVING-ROOM
+      (IN ROOMS)
+      (DESC "Living Room")
+      (SYNONYM ROOM)
+      (ADJECTIVE LIVING)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION LIVING-ROOM-F)
+      (EAST TO NFOYER)
+      (OUT TO NFOYER)
+      (SOUTH TO WEST-OF-DOOR IF BAY-WINDOW IS OPEN)
+      (GLOBAL BAY-WINDOW TELEPHONE SOFA CHAIR LGTABLE)
+      (LINE 1)
+      (STATION NFOYER)>
+
+<ROOM CORNER
+      (IN ROOMS)
+      (DESC "Corner")
+      (LDESC
+"You are at the corner of two halls, one a short hallway to the west ending
+with a set of doors, and the other a long hall leading south toward the front
+door. To the north are swinging double doors leading into the kitchen.")
+      (FLAGS RLANDBIT ONBIT)
+      (SOUTH TO NFOYER)
+      (WEST TO DINING-ROOM)
+      (NORTH TO KITCHEN)
+      (LINE 3)
+      (STATION CORNER)
+      (CORRIDOR 8)>
+
+<ROOM DINING-ROOM
+      (IN ROOMS)
+      (LDESC
+"You have entered the dining room. A long table seating twelve is in the
+center of the room and a large trestle table is against the south wall. A
+large picture window to the north allows a view of the rose garden. Hanging
+on the wall are several cheerful paintings, including one by Seurat which
+appears to be an original.")
+      (DESC "Dining Room")
+      (SYNONYM ROOM)
+      (ADJECTIVE DINING)
+      (FLAGS RLANDBIT ONBIT)
+      (EAST TO CORNER)
+      (OUT TO CORNER)
+      (GLOBAL DINING-ROOM-WINDOW)
+      (LINE 3)
+      (STATION DINING-ROOM)>
+
+<ROOM KITCHEN
+      (IN ROOMS)
+      (LDESC
+"This is the Robner kitchen, quite large and with a full complement of
+appliances and labor-saving devices. On one wall, a beautifully-crafted
+shelf unit contains rare china, a unique hand-painted family heirloom
+depicting scenes from Greek mythology. The china consists of many place
+settings of plates, teacups, and saucers. There are several cabinets which
+likely contain silverware, glasses, and the like. To the east is a pantry.")
+      (DESC "Kitchen")
+      (SYNONYM KITCHEN)
+      (FLAGS RLANDBIT ONBIT)
+      (SOUTH TO CORNER)
+      (EAST TO PANTRY)
+      (GLOBAL KITCHEN-WINDOW SINK)
+      (LINE 3)
+      (STATION KITCHEN)>
+
+<ROOM PANTRY
+      (IN ROOMS)
+      (LDESC
+"This is the pantry with shelves containing a large selection of canned and
+packaged foods, such as fruits, vegetables, and dry goods.")
+      (DESC "Pantry")
+      (SYNONYM PANTRY)
+      (FLAGS RLANDBIT ONBIT)
+      (WEST TO KITCHEN)
+      (LINE 3)
+      (STATION PANTRY)>
+
+"Staircase"
+
+<ROOM STAIRS
+      (IN ROOMS)
+      (LDESC
+"You are on a landing halfway up the flight of stairs. You notice that the
+stairs do indeed make quite a noise when stepped upon.")
+      (DESC "Stairs")
+      (SYNONYM STAIRS)
+      (FLAGS RLANDBIT ONBIT)
+      (UP TO STAIR-TOP)
+      (DOWN TO STAIR-BOTTOM)
+      (GLOBAL STAIRS)
+      (LINE 1)
+      (STATION STAIRS)
+      (CORRIDOR 256)>
+
+"Second Floor of Robner House"
+
+<ROOM STAIR-TOP
+      (IN ROOMS)
+      (LDESC
+"You are at the top of the staircase where short hallways run north and south
+and a corridor the length of the house heads west.")
+      (DESC "Top of Stairs")
+      (FLAGS RLANDBIT ONBIT)
+      (DOWN TO STAIRS)
+      (NORTH TO NORTH-HALL)
+      (SOUTH TO SHALL-11)
+      (WEST TO CORRIDOR-1)
+      (GLOBAL STAIRS)
+      (LINE 0)
+      (STATION STAIR-TOP)
+      (CORRIDOR 3)>
+
+<ROOM CORRIDOR-1
+      (IN ROOMS)
+      (DESC "Hallway")
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION CORRIDOR-1-F)
+      (EAST TO STAIR-TOP)
+      (WEST TO CORRIDOR-2)
+      (SOUTH TO DUNBAR-ROOM IF DUNBAR-DOOR IS OPEN)
+      (NORTH TO MASTER-BEDROOM IF MASTER-BEDROOM-DOOR IS OPEN)
+      (GLOBAL DUNBAR-DOOR MASTER-BEDROOM-DOOR)
+      (LINE 0)
+      (STATION CORRIDOR-1)
+      (CORRIDOR 1)>
+
+<ROOM CORRIDOR-2
+      (IN ROOMS)
+      (LDESC
+"This is approximately the middle of the corridor, a convenient place for a
+closet full of linens. Stairs to the east and a window to the west are about
+equidistant. The closet, to the north, is open and rather shallow.")
+      (DESC "Hallway")
+      (FLAGS RLANDBIT ONBIT)
+      (NORTH TO UPSTAIRS-CLOSET)
+      (EAST TO CORRIDOR-1)
+      (WEST TO CORRIDOR-3)
+      (GLOBAL CLOSET)
+      (LINE 0)
+      (STATION CORRIDOR-2)
+      (CORRIDOR 1025)>
+<ROOM CORRIDOR-3
+      (IN ROOMS)
+      (DESC "Hallway")
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION CORRIDOR-3-F)
+      (EAST TO CORRIDOR-2)
+      (WEST TO CORRIDOR-4)
+      (SOUTH TO GEORGE-ROOM IF GEORGE-DOOR IS OPEN)
+      (GLOBAL GEORGE-DOOR)
+      (LINE 0)
+      (STATION CORRIDOR-3)
+      (CORRIDOR 1)>
+
+<ROOM CORRIDOR-4
+      (IN ROOMS)
+      (DESC "End of Hallway")
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION CORRIDOR-4-F)
+      (EAST TO CORRIDOR-3)
+      (WEST "The hall ends here.")
+      (NORTH TO LIBRARY)
+      (GLOBAL LIBRARY-DOOR)
+      (LINE 0)
+      (STATION CORRIDOR-4)
+      (CORRIDOR 1)>
+
+<ROOM LIBRARY
+      (IN ROOMS)
+      (DESC "Library")
+      (SYNONYM LIBRARY)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION LIBRARY-F)
+      (EAST TO HIDDEN-CLOSET IF HIDDEN-DOOR-L IS OPEN)
+      (SOUTH TO CORRIDOR-4)
+      (NORTH TO LIBRARY-BALCONY IF LIBRARY-BALCONY-DOOR IS OPEN)
+      (GLOBAL HIDDEN-DOOR-L LIBRARY-BALCONY-DOOR TELEPHONE LIBRARY-DOOR)
+      (LINE 0)
+      (STATION LIBRARY)>
+
+<ROOM LIBRARY-BALCONY
+      (IN ROOMS)
+      (DESC "Library Balcony")
+      (SYNONYM BALCONY)
+      (ADJECTIVE LIBRARY)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION LIBRARY-BALCONY-F)
+      (SOUTH TO LIBRARY IF LIBRARY-BALCONY-DOOR IS OPEN)
+      (DOWN TO IN-ROSES IF LADDER-FLAG
+        ELSE "The fall would probably kill you.")
+      (GLOBAL LIBRARY-BALCONY-DOOR)
+      (LINE 0)
+      (STATION LIBRARY-BALCONY)>
+
+<ROOM UPSTAIRS-CLOSET
+      (IN ROOMS)
+      (LDESC
+"The closet is rather shallow and has some shelves full of assorted linens,
+towels, and uninteresting toilet articles.")
+      (DESC "Upstairs Closet")
+      (SYNONYM CLOSET)
+      (ADJECTIVE UPSTAIRS)
+      (FLAGS RLANDBIT ONBIT)
+      (OUT TO CORRIDOR-2)
+      (SOUTH TO CORRIDOR-2)
+      (GLOBAL CLOSET)
+      (LINE 0)
+      (STATION CORRIDOR-2)
+      (CORRIDOR 1024)>
+
+<ROOM HIDDEN-CLOSET
+      (IN ROOMS)
+      (DESC "Hidden Closet")
+      (SYNONYM CLOSET)
+      (ADJECTIVE HIDDEN)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION HIDDEN-CLOSET-F)
+      (EAST TO MASTER-BEDROOM IF HIDDEN-DOOR-B IS OPEN)
+      (WEST TO LIBRARY IF HIDDEN-DOOR-L IS OPEN)
+      (GLOBAL HIDDEN-DOOR-B HIDDEN-DOOR-L CLOSET)
+      (LINE 0)
+      (STATION LIBRARY)>
+
+<ROOM MASTER-BEDROOM
+      (IN ROOMS)
+      (DESC "Master Bedroom")
+      (SYNONYM BEDROOM ROOM)
+      (ADJECTIVE MASTER ROBNER)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION MASTER-BEDROOM-F)
+      (WEST TO HIDDEN-CLOSET IF HIDDEN-DOOR-B IS OPEN)
+      (NORTH TO BEDROOM-BALCONY IF BEDROOM-BALCONY-DOOR IS OPEN)
+      (SOUTH TO CORRIDOR-1 IF MASTER-BEDROOM-DOOR IS OPEN)
+      (EAST TO MASTER-BATH)
+      (GLOBAL HIDDEN-DOOR-B BEDROOM-BALCONY-DOOR MASTER-BEDROOM-DOOR
+              END-TABLE CHAIR TELEPHONE)
+      (LINE 0)
+      (STATION CORRIDOR-1)>
+
+<ROOM MASTER-BATH
+      (IN ROOMS)
+      (LDESC
+"This is Mr. and Mrs. Robner's private bathroom, accessible only from
+the bedroom through a door to the west. On one wall is a mirror over a long
+counter containing two sinks, and in addition to the usual bathroom fixtures
+is a jacuzzi. Hanging plants give the room an almost tropical atmosphere.")
+      (DESC "Master Bathroom")
+      (SYNONYM BATH BATHROOM)
+      (ADJECTIVE MASTER)
+      (FLAGS RLANDBIT ONBIT)
+      (WEST TO MASTER-BEDROOM)
+      (OUT TO MASTER-BEDROOM)
+      (GLOBAL SHOWER TOILET SINK)
+      (PSEUDO "TOOTHPASTE" RANDOM-PSEUDO)>
+
+<ROOM BEDROOM-BALCONY
+      (IN ROOMS)
+      (DESC "Bedroom Balcony")
+      (SYNONYM BALCONY)
+      (ADJECTIVE BEDROOM)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION BEDROOM-BALCONY-F)
+      (SOUTH TO MASTER-BEDROOM IF BEDROOM-BALCONY-DOOR IS OPEN)
+      (DOWN TO IN-ORCHARD IF LADDER-FLAG-2 ELSE "The jump is inadvisable.")
+      (GLOBAL BEDROOM-BALCONY-DOOR)>
+
+<ROOM NORTH-HALL
+      (IN ROOMS)
+      (LDESC
+"This is the end of a short north-south hallway. To the east is a small room.")
+      (DESC "North Upstairs Hall")
+      (FLAGS RLANDBIT ONBIT)
+      (EAST TO GUEST-ROOM)
+      (SOUTH TO STAIR-TOP)
+      (LINE 0)
+      (STATION STAIR-TOP)>
+
+<ROOM GUEST-ROOM
+      (IN ROOMS)
+      (DESC "Guest Room")
+      (LDESC
+"This room contains the bare essentials for a guest room: bed, tables, and a
+chair. A window looks out toward the east.")
+      (FLAGS RLANDBIT ONBIT)
+      (WEST TO NORTH-HALL)
+      (GLOBAL END-TABLE CHAIR BED)
+      (LINE 0)
+      (CORRIDOR 0)
+      (STATION STAIR-TOP)>
+
+<ROOM SHALL-11
+      (IN ROOMS)
+      (DESC "South Upstairs Hall")
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION SHALL-11-F)
+      (NORTH TO STAIR-TOP)
+      (EAST TO SHALL-12)
+      (SOUTH TO DUNBAR-BATH IF DUNBAR-BATH-DOOR IS OPEN)
+      (GLOBAL DUNBAR-BATH-DOOR)
+      (LINE 0)
+      (STATION SHALL-11)
+      (CORRIDOR 6)>
+
+<ROOM SHALL-12
+      (IN ROOMS)
+      (LDESC
+"The hall ends here. To the south is a walk-in closet.")
+      (DESC "End of South Hall")
+      (FLAGS RLANDBIT ONBIT)
+      (WEST TO SHALL-11)
+      (SOUTH TO CLOSET-11)
+      (IN TO CLOSET-11)
+      (LINE 0)
+      (STATION SHALL-12)
+      (CORRIDOR 4)>
+
+<ROOM CLOSET-11
+      (IN ROOMS)
+      (LDESC
+"This large closet has many shelves containing various cleaning equipment
+and supplies.")
+      (DESC "Closet")
+      (FLAGS RLANDBIT ONBIT)
+      (OUT TO SHALL-12)
+      (NORTH TO SHALL-12)
+      (GLOBAL CLOSET)>
+      
+<ROOM DUNBAR-BATH
+      (IN ROOMS)
+      (DESC "Dunbar's Bathroom")
+      (SYNONYM BATHROOM BATH)
+      (ADJECTIVE DUNBAR)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION DUNBAR-BATH-F)
+      (NORTH TO SHALL-11 IF DUNBAR-BATH-DOOR IS OPEN)
+      (GLOBAL DUNBAR-BATH-DOOR SHOWER TOILET SINK)
+      (PSEUDO "POLISH" RANDOM-PSEUDO "NAILPOLISH" RANDOM-PSEUDO)
+      (LINE 0)
+      (STATION SHALL-11)>
+
+<ROOM DUNBAR-ROOM
+      (IN ROOMS)
+      (DESC "Dunbar's Bedroom")
+      (SYNONYM BEDROOM ROOM)
+      (ADJECTIVE DUNBAR)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION DUNBAR-ROOM-F)
+      (NORTH TO CORRIDOR-1 IF DUNBAR-DOOR IS OPEN)
+      (GLOBAL DUNBAR-DOOR END-TABLE CHAIR BED)
+      (LINE 0)
+      (STATION CORRIDOR-1)>
+
+<ROOM GEORGE-BATH
+      (IN ROOMS)
+      (DESC "George's Bathroom")
+      (SYNONYM BATHROOM ROOM)
+      (ADJECTIVE GEORGE)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION GEORGE-BATH-F)
+      (WEST TO GEORGE-ROOM IF GEORGE-BATH-DOOR IS OPEN)
+      (GLOBAL GEORGE-BATH-DOOR TOILET SHOWER SINK)
+      (LINE 0)
+      (STATION CORRIDOR-3)>
+
+<ROOM GEORGE-ROOM
+      (IN ROOMS)
+      (DESC "George's Bedroom")
+      (SYNONYM BEDROOM ROOM)
+      (ADJECTIVE GEORGE)
+      (FLAGS RLANDBIT ONBIT)
+      (ACTION GEORGE-ROOM-F)
+      (NORTH TO CORRIDOR-3 IF GEORGE-DOOR IS OPEN)
+      (EAST TO GEORGE-BATH IF GEORGE-BATH-DOOR IS OPEN)
+      (GLOBAL GEORGE-DOOR GEORGE-BATH-DOOR END-TABLE CHAIR BED)
+      (LINE 0)
+      (STATION CORRIDOR-3)>
+
+"Doors"
+
+<OBJECT SOUTH-CLOSET-DOOR 
+       (IN LOCAL-GLOBALS)
+       (ADJECTIVE CLOSET)
+       (SYNONYM DOOR)
+       (DESC "south closet door")
+       (FLAGS DOORBIT CONTBIT OPENBIT)
+       (ACTION DOOR-F)>
+
+<OBJECT FRONT-DOOR 
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (ADJECTIVE FRONT)
+       (DESC "front door")
+       (FLAGS DOORBIT CONTBIT)
+       (ACTION DOOR-F)>
+
+<OBJECT ROURKE-DOOR 
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (DESC "door")
+       (FLAGS DOORBIT CONTBIT)
+       (ACTION DOOR-F)>
+
+<OBJECT DUNBAR-DOOR 
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (ADJECTIVE DUNBAR SOUTH SOUTHE)
+       (DESC "south door")
+       (FLAGS DOORBIT CONTBIT)
+       (ACTION DOOR-F)>
+
+<OBJECT DUNBAR-BATH-DOOR 
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (DESC "door")
+       (FLAGS DOORBIT CONTBIT OPENBIT)>
+
+<OBJECT ROURKE-BATH-DOOR 
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (ADJECTIVE BATHROOM)
+       (DESC "bathroom door")
+       (FLAGS DOORBIT CONTBIT)>
+
+<OBJECT MASTER-BEDROOM-DOOR 
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (ADJECTIVE BEDROOM MASTER NORTH)
+       (DESC "bedroom door")
+       (FLAGS DOORBIT CONTBIT)
+       (ACTION MASTER-BEDROOM-DOOR-F)>
+
+<OBJECT GEORGE-DOOR
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (ADJECTIVE BEDROOM SOUTH SOUTHE)
+       (DESC "bedroom door")
+       (FLAGS DOORBIT CONTBIT)
+       (ACTION DOOR-F)>
+
+<OBJECT GEORGE-BATH-DOOR 
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (ADJECTIVE BATHROOM EAST)
+       (DESC "bathroom door")
+       (FLAGS DOORBIT CONTBIT OPENBIT)>
+
+<OBJECT HIDDEN-DOOR-L
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (ADJECTIVE HIDDEN)
+       (DESC "hidden door")
+       (FLAGS DOORBIT CONTBIT INVISIBLE)>
+
+<OBJECT HIDDEN-DOOR-B
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR)
+       (ADJECTIVE HIDDEN)
+       (DESC "hidden door")
+       (FLAGS DOORBIT CONTBIT INVISIBLE)>
+
+<OBJECT LIBRARY-BALCONY-DOOR 
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR DOORS WINDOW)
+       (ADJECTIVE BALCONY)
+       (DESC "balcony door")
+       (FLAGS DOORBIT CONTBIT)
+       (ACTION BALCONY-DOOR-F)>
+
+<OBJECT BEDROOM-BALCONY-DOOR 
+       (IN LOCAL-GLOBALS)
+       (SYNONYM DOOR DOORS WINDOW)
+       (ADJECTIVE GLASS BALCONY)
+       (DESC "balcony door")
+       (FLAGS DOORBIT CONTBIT)
+       (ACTION BALCONY-DOOR-F)>
+
+"Objects start here...."
+
+<OBJECT ROSE
+       (IN LOCAL-GLOBALS)
+       (DESC "roses")
+       (SYNONYM BED ROSE ROSES)
+       (ADJECTIVE RED WHITE PINK YELLOW)
+       (ACTION ROSE-F)>
+
+<OBJECT HOUSE
+       (IN LOCAL-GLOBALS)
+       (DESC "house")
+       (SYNONYM HOUSE WALL)
+       (ADJECTIVE ROBNER)
+       (ACTION HOUSE-F)>
+
+<OBJECT LAWN
+       (IN LOCAL-GLOBALS)
+       (DESC "lawn")
+       (SYNONYM LAWN GRASS)
+       (ADJECTIVE GREEN)
+       (ACTION LAWN-F)>
+
+<OBJECT GROUND
+       (IN GLOBAL-OBJECTS)
+       (DESC "ground")
+       (SYNONYM GROUND DIRT MUD SOIL ;AREA)
+       (ADJECTIVE HARD)
+       (ACTION GROUND-F)>
+
+<OBJECT AIR
+       (IN GLOBAL-OBJECTS)
+       (DESC "air")
+       (SYNONYM AIR WIND BREEZE)
+       (ACTION AIR-F)>
+
+<OBJECT SHED
+       (IN LOCAL-GLOBALS)
+       (DESC "shed")
+       (SYNONYM SHED CABIN)
+       (ADJECTIVE LOG WOODEN WOOD)
+       (ACTION SHED-F)>
+
+<OBJECT LAKE
+       (IN LOCAL-GLOBALS)
+       (DESC "lake")
+       (SYNONYM LAKE WATER)
+       (ACTION LAKE-F)>
+
+<OBJECT BALCONY
+       (IN LOCAL-GLOBALS)
+       (DESC "balcony")
+       (SYNONYM BALCONY)>      
+
+<OBJECT BAY-WINDOW
+       (IN LOCAL-GLOBALS)
+       (DESC "bay window")
+       (SYNONYM WINDOW)
+       (ADJECTIVE BAY)
+       (FLAGS DOORBIT CONTBIT)
+       (ACTION BAY-WINDOW-F)>
+       
+"Kludge"
+
+<ROOM XXX
+      (IN ROOMS)
+      (DESC "X")
+      (FDESC "FROB")
+      (SIZE 10)
+      (CAPACITY 10)>
+
+"People"
+
+<OBJECT PLAYER
+       (IN SOUTH-LAWN)
+       (DESC "player")
+       (SYNONYM ME PLAYER INSPECTOR)
+       (ACTION PLAYER-F)
+       (FLAGS NDESCBIT)
+       (CHARACTER 0)>
+
+<OBJECT GARDENER
+       (IN NORTH-LAWN)
+       (DESC "Mr. McNabb")
+       (SYNONYM MCNABB)
+       (ADJECTIVE MR MISTER ANGUS)
+       (ACTION GARDENER-F)
+       (DESCFCN GARDENER-F)
+       (FLAGS PERSON OPENBIT)
+       (CAPACITY 40)
+       (CHARACTER 1)
+       (STATE 0)>
+
+<OBJECT GLOBAL-GARDENER
+       (DESC "Mr. McNabb")
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM MCNABB)
+       (ADJECTIVE MR MISTER ANGUS)
+       (FLAGS PERSON)
+       (ACTION GLOBAL-PERSON)
+       (CHARACTER 1)>
+
+<OBJECT BAXTER
+       (DESC "Mr. Baxter")
+       (SYNONYM BAXTER)
+       (ADJECTIVE MISTER MR)
+       (FLAGS PERSON OPENBIT)
+       (CAPACITY 40)
+       (ACTION BAXTER-F)
+       (DESCFCN BAXTER-F)
+       (STATE 0)
+       (CHARACTER 2)>
+
+<OBJECT GLOBAL-BAXTER
+       (IN GLOBAL-OBJECTS)
+       (DESC "Mr. Baxter")
+       (SYNONYM BAXTER)
+       (ADJECTIVE MISTER MR)
+       (FLAGS PERSON)
+       (ACTION GLOBAL-PERSON)
+       (CHARACTER 2)>
+
+<OBJECT DUNBAR
+       (IN LIVING-ROOM)
+        (DESC "Ms. Dunbar")
+       (SYNONYM DUNBAR)
+       (ADJECTIVE MS MRS)
+       (FLAGS PERSON OPENBIT)
+       (CAPACITY 40)
+       (ACTION DUNBAR-F)
+       (DESCFCN DUNBAR-F)
+       (STATE 0)
+       (CHARACTER 3)>
+
+<OBJECT GLOBAL-DUNBAR
+       (IN GLOBAL-OBJECTS)
+       (DESC "Ms. Dunbar")
+       (SYNONYM DUNBAR)
+       (ADJECTIVE MS MRS)
+       (FLAGS PERSON)
+       (ACTION GLOBAL-PERSON)
+       (CHARACTER 3)>
+
+<OBJECT GEORGE
+       (IN GEORGE-ROOM)
+       (DESC "George")
+       (ADJECTIVE GEORGE)
+       (SYNONYM GEORGE ROBNER)
+       (FLAGS PERSON OPENBIT)
+       (CAPACITY 40)
+       (ACTION GEORGE-F)
+       (DESCFCN GEORGE-F)
+       (STATE 0)
+       (CHARACTER 4)>
+
+<OBJECT GLOBAL-GEORGE
+       (IN GLOBAL-OBJECTS)
+       (DESC "George")
+       (ADJECTIVE GEORGE)
+       (SYNONYM GEORGE ROBNER)
+       (FLAGS PERSON)
+       (ACTION GLOBAL-PERSON)
+       (CHARACTER 4)>
+
+<OBJECT MRS-ROBNER
+       (IN LIVING-ROOM)
+       (DESC "Mrs. Robner")
+       (SYNONYM ROBNER MOTHER LESLIE)
+       (ADJECTIVE MRS MS LESLIE)
+       (FLAGS PERSON OPENBIT)
+       (CAPACITY 40)
+       (ACTION MRS-ROBNER-F)
+       (DESCFCN MRS-ROBNER-F)
+       (STATE 0)
+       (CHARACTER 5)>
+
+<OBJECT GLOBAL-MRS-ROBNER
+       (IN GLOBAL-OBJECTS)
+       (DESC "Mrs. Robner")
+       (SYNONYM ROBNER MOTHER LESLIE)
+       (ADJECTIVE MRS MS LESLIE)
+       (FLAGS PERSON)
+       (ACTION GLOBAL-PERSON)
+       (CHARACTER 5)>
+
+<OBJECT ROURKE
+       (IN KITCHEN)
+       (DESC "Mrs. Rourke")
+       (SYNONYM ROURKE)
+       (ADJECTIVE MS MRS)
+       (FLAGS PERSON OPENBIT)
+       (CAPACITY 40)
+       (ACTION ROURKE-F)
+       (DESCFCN ROURKE-F)
+       (STATE 0)
+       (CHARACTER 6)>
+
+<OBJECT GLOBAL-ROURKE
+       (IN GLOBAL-OBJECTS)
+       (DESC "Mrs. Rourke")
+       (SYNONYM ROURKE)
+       (ADJECTIVE MS MRS)
+       (FLAGS PERSON)
+       (ACTION GLOBAL-PERSON)
+       (CHARACTER 6)>
+
+"Evidence"
+
+<OBJECT LIBRARY-DESK
+       (IN LIBRARY)
+       (SYNONYM DESK)
+       (ADJECTIVE LARGE EXECUTIVE)
+       (DESC "desk")
+       (FLAGS NDESCBIT SURFACEBIT CONTBIT OPENBIT)
+       (ACTION LIBRARY-DESK-F)
+       (CAPACITY 25)>
+
+<OBJECT NOTE-PAPER
+       (IN LIBRARY-DESK)
+       (SYNONYM PAD PAPER NOTEPAD)
+       (ADJECTIVE NOTE WHITE)
+       (FDESC "Lying atop the desk is a pad of white note paper.")
+       (DESC "note pad")
+       (FLAGS TAKEBIT READBIT BURNBIT)
+       (ACTION NOTE-PAPER-F)>
+
+<OBJECT DESK-CALENDAR
+       (IN LIBRARY-DESK)
+       (DESC "desk calendar")
+       (SYNONYM CALENDAR JULY)
+       (ADJECTIVE DESK)
+       (FLAGS TAKEBIT READBIT BURNBIT TURNBIT)
+       (ACTION DESK-CALENDAR-F)
+       (DESCFCN DESK-CALENDAR-F)>
+
+<OBJECT BAXTER-PAPERS
+       (IN SAFE)
+       (SYNONYM STACK PAPERS)
+       (FDESC "A stack of papers bound together is in the safe.")
+       (DESC "stack of papers")
+       (FLAGS TAKEBIT READBIT BURNBIT INVISIBLE)
+       (TEXT
+"Leafing through these papers, it becomes obvious that they incriminate Mr.
+Baxter in wrongdoings regarding the Focus scandal. They document funds which
+were embezzled by Baxter and tell how the scandal was hushed up. This evidence
+would be sufficient to convict Mr. Baxter in the Focus case.")>
+
+<OBJECT NEW-WILL
+       (IN SAFE)
+       (DESC "new will")
+       (SYNONYM WILL)
+       (ADJECTIVE NEW)
+       (FLAGS TAKEBIT READBIT BURNBIT)
+       (TEXT
+"This is Mr. Robner's new will, disowning George and giving his entire
+estate to his wife.")>
+
+<OBJECT NEWSPAPER
+       (FDESC
+"Leaning against the front door is today's issue of the Daily Herald.")
+       (DESC "Daily Herald")
+       (SYNONYM NEWSPAPER HERALD SECTION PAPER)
+       (ADJECTIVE DAILY FRONT FIRST)
+       (FLAGS TAKEBIT READBIT BURNBIT)
+       (ACTION NEWSPAPER-F)>
+
+<OBJECT SECOND-SECTION
+       (IN GLOBAL-OBJECTS)
+       (DESC "second section of the Herald")
+       (SYNONYM SECTION)
+       (ADJECTIVE SECOND BACK LAST)
+       (FLAGS READBIT)
+       (ACTION SECOND-SECTION-F)>
+
+<OBJECT ENVELOPE
+       (FDESC
+"A handwritten envelope, recently delivered, is lying on the table.")
+       (DESC "handwritten envelope")
+       (SYNONYM ENVELOPE)
+       (ADJECTIVE HANDWR)
+       (FLAGS TAKEBIT READBIT BURNBIT CONTBIT)
+       (CAPACITY 2)
+       (TEXT
+"|
+                  CANAAN CT POST OFFICE|
+                   * JULY 06 * 08:00 *|
+|
+          Mrs. Marshall Robner|
+          506 Lake View Rd.|
+          Maitland, Ct.|
+")
+       (ACTION ENVELOPE-F)>
+
+<OBJECT LETTER
+       (IN ENVELOPE)
+       (DESC "letter")
+       (SYNONYM LETTER)
+       (SIZE 1)
+       (FLAGS TAKEBIT READBIT BURNBIT)
+       (TEXT
+"\"Dear Leslie,|
+   I am sorry to learn that Marshall has been despondent again. His
+obsessive interest in business must be causing you terrible anguish. It
+doesn't surprise me that he talks of suicide when he's in this state,
+but the thought of the business going to Baxter after he's gone will keep
+him alive.|
+   So George has finally gone too far? It's hard to believe, after all those
+empty threats, that Marshall actually followed through. It serves that little
+leech right, if you ask me. This means that, should the unthinkable happen,
+you will be provided for as you deserve.|
+   I'll see you Friday as usual.||
+                      Love,|
+                      Steven\"|")
+       (ACTION LETTER-F)>
+
+"Global objects"
+
+<OBJECT GLOBAL-MURDER
+       (IN GLOBAL-OBJECTS)
+       (DESC "murder")
+       (SYNONYM MURDER KILLING CRIME)
+       (ACTION GLOBAL-MURDER-F)>
+
+<OBJECT GLOBAL-SUICIDE
+       (IN GLOBAL-OBJECTS)
+       (DESC "suicide")
+       (SYNONYM SUICIDE)
+       (ACTION GLOBAL-MURDER-F)>
+
+<OBJECT GLOBAL-OMNIDYNE
+       (IN GLOBAL-OBJECTS)
+       (DESC "Omnidyne Corporation")
+       (SYNONYM OMNIDYNE)>
+
+<OBJECT GLOBAL-ROSES
+       (IN GLOBAL-OBJECTS)
+       (DESC "roses")
+       (SYNONYM ROSES GARDEN ROSE)
+       (ADJECTIVE ROSE)>
+
+<OBJECT GLOBAL-WEATHER
+       (IN GLOBAL-OBJECTS)
+       (DESC "weather")
+       (SYNONYM WEATHER CLIMATE WRONG PROBLEM)>
+
+<OBJECT GLOBAL-LIGHT 
+       (IN GLOBAL-OBJECTS)
+       (DESC "light")
+       (SYNONYM LIGHT SUNLIGHT)>
+
+<OBJECT GLOBAL-OLD-WILL
+       (IN GLOBAL-OBJECTS)
+       (DESC "present will")
+       (SYNONYM WILL)
+       (ADJECTIVE CURRENT PRESENT OLD)>
+
+<OBJECT GLOBAL-NEW-WILL
+       (IN GLOBAL-OBJECTS)
+       (DESC "new will")
+       (SYNONYM WILL)
+       (ADJECTIVE NEW)>
+
+<OBJECT FOYER-TABLE
+       (IN FOYER)
+       (DESC "marble-top table")
+       (SYNONYM TABLE)
+       (ADJECTIVE MARBLE)
+       (FLAGS NDESCBIT OPENBIT CONTBIT SURFACEBIT)
+       (CAPACITY 40)>
+
+<OBJECT TELEPHONE
+       (IN LOCAL-GLOBALS)
+       (DESC "telephone")
+       (SYNONYM TELEPHONE PHONE RECEIVER)
+       (ACTION TELEPHONE-F)>
+       
+<OBJECT GLOBAL-FOCUS
+       (IN GLOBAL-OBJECTS)
+       (DESC "Focus")
+       (SYNONYM FOCUS SCANDAL CASE)
+       (ADJECTIVE FOCUS)>
+
+<OBJECT GLOBAL-MR-ROBNER
+       (IN GLOBAL-OBJECTS)
+       (DESC "Mr. Robner")
+       (SYNONYM ROBNER FATHER MARSHALL)
+       (FLAGS PERSON)
+       (ADJECTIVE MR MISTER)
+       (ACTION GLOBAL-MR-ROBNER-F)>
+
+<OBJECT BOOKSHELVES
+       (IN LIBRARY)
+       (SYNONYM BOOKSHELVES SHELVES BOOK BOOKS)
+       (ADJECTIVE BOOK)
+       (DESC "set of bookshelves")
+       (FLAGS NDESCBIT)
+       (ACTION BOOKSHELVES-F)>
+
+<OBJECT LIBRARY-BUTTON
+       (IN LIBRARY)
+       (SYNONYM BUTTON)
+       (ADJECTIVE BLACK)
+       (DESC "black button")
+       (FLAGS NDESCBIT INVISIBLE)
+       (ACTION LIBRARY-BUTTON-F)>
+       
+<OBJECT RED-BUTTON
+       (IN HIDDEN-CLOSET)
+       (SYNONYM BUTTON)
+       (ADJECTIVE RED)
+       (DESC "red button")
+       (FLAGS NDESCBIT)
+       (ACTION RED-BUTTON-F)>
+
+<OBJECT BLUE-BUTTON
+       (IN HIDDEN-CLOSET)
+       (SYNONYM BUTTON)
+       (ADJECTIVE BLUE)
+       (DESC "blue button")
+       (FLAGS NDESCBIT)
+       (ACTION BLUE-BUTTON-F)>
+
+<OBJECT LADDER
+       (IN SHED-ROOM)
+       (SYNONYM LADDER)
+       (ADJECTIVE WOODEN)
+       (DESC "wooden ladder")
+       (FDESC "Leaning in a corner is a wooden ladder.")
+       (FLAGS TAKEBIT CLIMBBIT)
+       (SIZE 50)
+       (ACTION LADDER-F)>
+
+<OBJECT GLOBAL-LADDER
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM LADDER)
+       (ADJECTIVE WOODEN)
+       (DESC "ladder")
+       (FLAGS NDESCBIT)
+       (ACTION GLOBAL-LADDER-F)>
+
+<OBJECT TOOLS-1
+       (IN SHED-ROOM)
+       (SYNONYM TOOLS SAW HAMMER ROPE)
+       (DESC "collection of carpentry tools")
+       (FLAGS NDESCBIT)
+       (ACTION TOOLS-F)>
+
+<OBJECT TOOLS-2
+       (IN SHED-ROOM)
+       (SYNONYM SPADE HOE RAKE HOSE)
+       (DESC "collection of garden tools")
+       (FLAGS NDESCBIT DUPLICATE)
+       (ACTION TOOLS-F)>
+
+<OBJECT S-SHELVES
+       (IN SHED-ROOM)
+       (SYNONYM SHELVES)
+       (DESC "shelf")
+       (FLAGS NDESCBIT OPENBIT CONTBIT SURFACEBIT)
+       (CAPACITY 20)
+       (ACTION S-SHELVES-F)>
+
+<OBJECT CUPS
+       (IN KITCHEN)
+       (SYNONYM GROUP CUPS TEACUP)
+       (ADJECTIVE CUPS ANTIQUE TEA)
+       (DESC "group of cups")
+       (FLAGS NDESCBIT)
+       (ACTION CUPS-F)>
+
+<OBJECT SAUCERS
+       (IN KITCHEN)
+       (SYNONYM GROUP SAUCER)
+       (ADJECTIVE SAUCER ANTIQUE)
+       (DESC "group of saucers")
+       (FLAGS NDESCBIT)
+       (ACTION SAUCERS-F)>
+
+<OBJECT CHINA
+       (IN KITCHEN)
+       (SYNONYM CHINA)
+       (DESC "china")
+       (FLAGS NDESCBIT)
+       (ACTION CHINA-F)>
+
+<OBJECT PLATES
+       (IN KITCHEN)
+       (SYNONYM PLATE PLATES)
+       (DESC "plates")
+       (FLAGS NDESCBIT)
+       (ACTION PLATES-F)>
+
+<OBJECT CUP
+       (IN LIBRARY)
+       (SYNONYM CUP TEACUP)
+       (ADJECTIVE TEA BEAUTIFUL)
+       (DESC "cup")
+       (FDESC
+"Turned onto its side, lying on the floor, is a beautiful teacup.")
+       (FLAGS TAKEBIT)
+       (SIZE 4)
+       (ACTION CUP-F)>
+
+<OBJECT SAUCER
+       (IN LIBRARY)
+       (SYNONYM SAUCER)
+       (ADJECTIVE BEAUTIFUL)
+       (DESC "saucer")
+       (FDESC
+"Lying on the floor, overturned, is a beautiful saucer.")
+       (FLAGS TAKEBIT)
+       (SIZE 4)
+       (ACTION SAUCER-F)>
+
+<OBJECT TRASH-BASKET
+       (IN LIBRARY)
+       (SYNONYM BASKET)
+       (ADJECTIVE WASTEP WICKER TRASH)
+       (DESC "wastepaper basket")
+       (FDESC
+"Alongside the desk is a wicker wastepaper basket.")
+       (FLAGS TAKEBIT OPENBIT CONTBIT)
+       (CAPACITY 15)
+       (SIZE 10)>
+
+<OBJECT TRASH
+       (IN TRASH-BASKET)
+       (SYNONYM TRASH PAPERS)
+       (ADJECTIVE CRUMPLED)
+       (DESC "bunch of crumpled papers")
+       (LDESC
+"Inside the wastepaper basket are some crumpled papers.")
+       (FLAGS TAKEBIT READBIT)
+       (TEXT
+"There are three wads of paper. One is a shopping list. Another is a list
+of current stock prices. The last is the start of a letter to the Board of
+Directors of the Robner Corp.  Unfortunately, it does not contain enough
+information to allow even a guess about the intent of the letter.")
+       (ACTION TRASH-F)>
+        
+<OBJECT GLOBAL-FINGERPRINTS
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM FINGERPRINT)
+       (DESC "fingerprints")
+       (ACTION GLOBAL-FINGERPRINTS-F)>
+
+<OBJECT LIBRARY-CARPET
+       (IN LIBRARY)
+       (SYNONYM CARPET RUG)
+       (DESC "carpet")
+       (FLAGS NDESCBIT)
+       (ACTION LIBRARY-CARPET-F)>
+
+<OBJECT LIBRARY-DOOR
+       (IN LOCAL-GLOBALS)
+       (DESC "oak door")
+       (SYNONYM DOOR)
+       (ADJECTIVE OAK BROKEN)
+       (FLAGS NDESCBIT)
+       (TEXT
+"The door is a magnificent solid oak piece. Its metal bolt is bent and the
+metal piece in which it rested has been sheared off the door frame.  It seems
+clear that the door was securely locked from the inside when it was broken
+down.")>
+
+<OBJECT MUD-SPOT
+       (IN LIBRARY)
+       (DESC "mud spots")
+       (SYNONYM SPOT MARK DIRT MUD)
+       (ADJECTIVE DRIED)
+       (FLAGS NDESCBIT INVISIBLE)
+       (TEXT
+"The spots seem to be dried dirt or mud and are bunched in the area between
+the balcony and the desk.")>
+
+<OBJECT SINK
+       (IN LOCAL-GLOBALS)
+       (DESC "sink")
+       (SYNONYM SINK SINKS BOWL BASIN)
+       (FLAGS NDESCBIT FURNITURE)
+       (ACTION SINK-F)>
+
+<OBJECT TOILET
+       (IN LOCAL-GLOBALS)
+       (DESC "toilet")
+       (SYNONYM TOILET)
+       (FLAGS NDESCBIT FURNITURE SURFACEBIT VEHBIT)
+       (ACTION TOILET-F)>
+
+<OBJECT SHOWER
+       (IN LOCAL-GLOBALS)
+       (DESC "shower")
+       (SYNONYM SHOWER TUB BATH BATHTUB)
+       (ADJECTIVE SHOWER BATH)
+       (FLAGS NDESCBIT TRYTAKEBIT FURNITURE)
+       (ACTION SHOWER-F)>
+
+<OBJECT DUNBAR-CABINET
+       (IN DUNBAR-BATH)
+       (DESC "cabinet")
+       (SYNONYM CABINET CHEST)
+       (ADJECTIVE MEDICINE)
+       (FLAGS NDESCBIT CONTBIT SEARCHBIT)
+       (CAPACITY 50)>
+       
+<OBJECT BATHTUB
+       (IN MASTER-BATH)
+       (DESC "bathtub")
+       (SYNONYM TUB BATHTUB)
+       (ADJECTIVE BATH)
+       (FLAGS NDESCBIT VEHBIT OPENBIT CONTBIT FURNITURE)
+       (CAPACITY 50)>
+
+<OBJECT MASTER-BATH-COUNTER
+       (IN MASTER-BATH)
+       (DESC "counter")
+       (SYNONYM COUNTER)
+       (ADJECTIVE LONG)
+       (FLAGS NDESCBIT FURNITURE SURFACEBIT CONTBIT OPENBIT)
+       (CAPACITY 50)>
+
+<OBJECT CHAIR
+       (IN LOCAL-GLOBALS)
+       (DESC "chair")
+       (SYNONYM CHAIR CHAIRS)
+       (FLAGS NDESCBIT FURNITURE)>
+
+<OBJECT SOFA
+       (IN LOCAL-GLOBALS)
+       (DESC "sofa")
+       (SYNONYM COUCH SOFA COUCHES)
+       (FLAGS NDESCBIT SURFACEBIT CONTBIT OPENBIT VEHBIT FURNITURE)>
+
+<OBJECT LGTABLE
+       (IN LOCAL-GLOBALS)
+       (DESC "table")
+       (SYNONYM TABLE TABLES)
+       (FLAGS NDESCBIT FURNITURE)>
+
+<OBJECT END-TABLE
+       (IN LOCAL-GLOBALS)
+       (DESC "pair of end tables")
+       (SYNONYM TABLE TABLES)
+       (ADJECTIVE END)
+       (FLAGS NDESCBIT FURNITURE)>
+
+<OBJECT LIVING-ROOM-TABLE
+       (IN LIVING-ROOM)
+       (DESC "living room table")
+       (SYNONYM TABLE TABLES)
+       (ADJECTIVE LIVING ROOM)
+       (FLAGS NDESCBIT SURFACEBIT CONTBIT OPENBIT FURNITURE)
+       (CAPACITY 40)>
+
+<OBJECT BED
+       (IN LOCAL-GLOBALS)
+       (DESC "bed")
+       (SYNONYM BED)
+       (FLAGS NDESCBIT SURFACEBIT CONTBIT OPENBIT FURNITURE VEHBIT)
+       (CAPACITY 30)
+       (ACTION BED-F)>
+
+<OBJECT WINDOW
+       (IN LOCAL-GLOBALS)
+       (DESC "window")
+       (SYNONYM WINDOW)
+       (FLAGS NDESCBIT)
+       (ACTION WINDOW-F)>
+
+<OBJECT KITCHEN-WINDOW
+       (IN LOCAL-GLOBALS)
+       (DESC "kitchen window")
+       (SYNONYM WINDOW)
+       (ADJECTIVE KITCHEN)
+       (FLAGS NDESCBIT)
+       (ACTION KITCHEN-WINDOW-F)>
+
+<OBJECT DINING-ROOM-WINDOW
+       (IN LOCAL-GLOBALS)
+       (DESC "dining room window")
+       (SYNONYM WINDOW)
+       (ADJECTIVE DINING ROOM)
+       (FLAGS NDESCBIT)
+       (ACTION DINING-ROOM-WINDOW-F)>
+
+<OBJECT MASTER-BEDROOM-DRESSER
+       (IN MASTER-BEDROOM)
+       (DESC "dresser")
+       (SYNONYM DRESSER)
+       (FLAGS NDESCBIT CONTBIT)
+       (CAPACITY 30)
+       (ACTION MASTER-BEDROOM-DRESSER-F)>
+
+<OBJECT GLOBAL-HOLE
+       (IN GLOBAL-OBJECTS)
+       (DESC "holes")
+       (SYNONYM HOLE HOLES)
+       (FLAGS NDESCBIT)
+       (ACTION HOLE-F)>
+
+<OBJECT HOLE
+       (IN IN-ROSES)
+       (DESC "holes")
+       (SYNONYM HOLE HOLES)
+       (ADJECTIVE DEEP)
+       (FLAGS NDESCBIT INVISIBLE)
+       (ACTION HOLE-F)>
+       
+<OBJECT FRAGMENT
+       (IN IN-ROSES)
+       (DESC "fragment")
+       (SYNONYM PIECE PORCELAIN FRAGMENT SHARD)
+       (FLAGS INVISIBLE TAKEBIT)
+       (ACTION FRAGMENT-F)>
+
+<OBJECT SUGAR-BOWL
+       (IN TRAY)
+       (DESC "sugar bowl")
+       (FDESC
+"Sitting on the tray is a bowl containing a white powdery substance.")
+       (SYNONYM BOWL SUGAR SUBSTANCE POWDER)
+       (ADJECTIVE SUGAR WHITE POWDER)
+       (FLAGS TAKEBIT)
+       (ACTION SUGAR-BOWL-F)>
+
+<OBJECT TRAY
+       (IN LIBRARY)
+       (DESC "tray")
+       (FDESC
+"Beside the desk is a large collapsible tray.")
+       (SYNONYM TRAY)
+       (ADJECTIVE LARGE COLLAPSIBLE)
+       (FLAGS TAKEBIT CONTBIT OPENBIT SURFACEBIT)
+       (CAPACITY 40)
+       (SIZE 40)>
+
+<OBJECT SAFE
+       (IN HIDDEN-CLOSET)
+       (DESC "safe")
+       (SYNONYM COMBINATION SAFE DOOR)
+       (ADJECTIVE SAFE WALL LARGE)
+       (FLAGS NDESCBIT CONTBIT)
+       (CAPACITY 15)
+       (ACTION SAFE-F)>
+       
+<OBJECT CORNERSTONE
+       (IN EAST-OF-DOOR)
+       (DESC "cornerstone")
+       (LDESC
+"The ornately carved cornerstone of the house is nearby.")
+       (SYNONYM CORNERSTONE STONE)
+       (ADJECTIVE CARVED ORNATE)
+       (FLAGS READBIT)
+       (TEXT
+"|
+   DEADLINE: An INTERLOGIC Mystery|
+          By Infocom, Inc.|
+     Marc Blank, Chief Architect|
+   Copyright 1982 by Infocom, Inc.|
+        All rights reserved.|
+DEADLINE and INTERLOGIC are trademarks of Infocom, Inc.|
+")>
+
+"DO DRUGS TO LIVE"
+
+<OBJECT LOBLO-BOTTLE
+       (IN DUNBAR-CABINET)
+       (DESC "bottle of LoBlo")
+       (SYNONYM BOTTLE LOBLO LABEL)
+       (ADJECTIVE LOBLO)
+       (FDESC
+"On the bottom shelf is a bottle of tablets labelled 'LoBlo'.")
+       (FLAGS TAKEBIT READBIT CONTBIT)
+       (CAPACITY 5)
+       (TEXT
+"Frobizz Pharmacy   #69105|
+|
+Ms. S. Dunbar|
+LoBLO|
+Take 1 tablet 3 times daily|
+|
+Fizmo Labs, Ltd. - Kingston, Ont.|
+LoBLO Brand of Methsparin, USP|
+10mg Tablets|
+|
+Warning:  LoBLO may be dangerous|
+when used in combination with|
+other medications.  Please read|
+the enclosed circular prior to|
+using these tablets.|  
+")>
+
+<OBJECT GLOBAL-EBULLION
+       (IN GLOBAL-OBJECTS)
+       (DESC "Ebullion tablets")
+       (SYNONYM TABLETS EBULLION PILLS)
+       (ADJECTIVE EBULLION)>
+
+<OBJECT GLOBAL-LOBLO
+       (IN GLOBAL-OBJECTS)
+       (DESC "LoBlo tablets")
+       (SYNONYM TABLETS LOBLO PILLS)
+       (ADJECTIVE LOBLO)>
+       
+<OBJECT LOBLO
+       (IN LOBLO-BOTTLE)
+       (DESC "couple of LoBLO tablets")
+       (SYNONYM COUPLE TABLETS PILLS LOBLO)
+       (ADJECTIVE LOBLO)
+       (FLAGS TAKEBIT DRUGBIT)
+       (SIZE 4)
+       (ACTION LOBLO-F)
+       (COUNT 10)>
+
+<OBJECT ASPIRIN-BOTTLE
+       (IN DUNBAR-CABINET)
+       (DESC "bottle of aspirin")
+       (FDESC 
+"On the top shelf, among various toilet items, is a bottle of aspirin.")
+       (SYNONYM BOTTLE ASPIRIN LABEL)
+       (ADJECTIVE ASPIRIN)
+       (FLAGS TAKEBIT READBIT CONTBIT)
+       (CAPACITY 5)
+       (TEXT
+"|
+|
+Generic ASPIRIN, usp|
+     30mg / 5 gr|
+|
+")>
+
+<OBJECT ASPIRIN
+       (IN ASPIRIN-BOTTLE)
+       (DESC "handful of aspirin tablets")
+       (SYNONYM PILLS TABLETS ASPIRIN HANDFUL)
+       (ADJECTIVE ASPIRIN)
+       (FLAGS TAKEBIT DRUGBIT)
+       (SIZE 4)
+       (COUNT 15)>
+
+<OBJECT DUM-KOF-BOTTLE
+       (IN DUNBAR-CABINET)
+       (DESC "bottle of cough medicine")
+       (FDESC
+"Standing on a shelf beside some nail polish is a bottle of cough medicine.")
+       (SYNONYM BOTTLE MEDICINE DUM-KOF LABEL)
+       (ADJECTIVE COUGH)
+       (FLAGS TAKEBIT READBIT CONTBIT)
+       (CAPACITY 4)
+       (TEXT
+"|
+General Drug Co.|
+        DUM - KOF|
+     Cough Supressant|
+|
+Directions:  1 tsp every 3-4 hrs|
+Warning:  Take as Directed.  May|
+cause sedation when taken with other|
+drugs.|
+|")>
+
+<OBJECT DUM-KOF
+       (IN DUM-KOF-BOTTLE)
+       (DESC "quantity of cough syrup")
+       (SYNONYM SYRUP)
+       (ADJECTIVE COUGH)
+       (FLAGS TAKEBIT)
+       (SIZE 4)
+       (ACTION DUM-KOF-F)>
+         
+<OBJECT EBULLION-BOTTLE
+       (IN LIBRARY)
+       (DESC "bottle of Ebullion")
+       (SYNONYM LABEL BOTTLE EBULLION)
+       (ADJECTIVE EBULLION)
+       (FLAGS TAKEBIT CONTBIT READBIT)
+       (CAPACITY 5)
+       (TEXT
+"Head Drugs     No. 44543|
+|
+Mr. Marshall Robner|
+|
+EBULLION Tablets, 25mg.|
+|
+Directions: Take 1 or 2 twice|
+daily for depression.|
+|
+Warning:  Keep out of the reach|
+of children.  May be harmful or|
+fatal in sufficient dosage.|
+")>
+
+<OBJECT EBULLION
+       (IN EBULLION-BOTTLE)
+       (DESC "couple of Ebullion tablets")
+       (SYNONYM COUPLE TABLETS EBULLION)
+       (ADJECTIVE EBULLION)
+       (COUNT 3)
+       (SIZE 4)
+       (FLAGS TAKEBIT DRUGBIT)
+       (ACTION EBULLION-F)>
+
+<OBJECT LAB-REPORT
+       (DESC "lab report")
+       (SYNONYM REPORT PAPER NOTE SLIP)
+       (ADJECTIVE LAB) 
+       (FLAGS TAKEBIT READBIT)
+       (TEXT
+"Dear Inspector,|
+|
+    In response to your request for analysis of the ceramic fragment, we have
+found evidence of a drug called Methsparin, which is usually sold in this
+country under the name \"LoBlo\". It is a blood pressure lowering agent used
+primarily in Europe, which explains the oversight in our blood analysis of the
+deceased. A double check reveals a high blood level of Methsparin. While the
+amount of Methsparin in the blood isn't dangerous in itself, a strong reaction
+between it and various other drugs has been well documented. As you may have
+gathered, one of those drugs is Amitraxin (Ebullion). The effect of Methsparin
+is to displace Amitraxin from protein binding, leaving more free in the blood
+and simulating an overdose.|
+    Your new evidence leads me to conclude that the cause of death was
+Amitraxin toxicity secondary to ingestion of Methsparin and Amitraxin in
+combination.|
+|
+Sincerely,|
+|
+Arthur Chatworth, Pathologist|
+")> 
+
+<OBJECT GLOBAL-MEETING
+       (IN GLOBAL-OBJECTS)
+       (DESC "meeting")
+       (SYNONYM MEETING RENDEZVOUS TRYST)
+       (ADJECTIVE SECRET PRIVATE)>
+       
+<OBJECT GLOBAL-CALL
+       (IN GLOBAL-OBJECTS)
+       (DESC "telephone conversation")
+       (SYNONYM CALL CONVERSATION LEFT RIGHT)
+       (ADJECTIVE TELEPHONE PHONE)
+       (ACTION GLOBAL-CALL-F)>
+       
+<OBJECT SHED-WINDOW
+       (IN LOCAL-GLOBALS)
+       (DESC "window")
+       (SYNONYM WINDOW)
+       (ADJECTIVE SHED DIRTY GRIMY)
+       (ACTION SHED-WINDOW-F)>
+
+<OBJECT INTNUM
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM INTNUM)
+       (DESC "number")>
+       
+<OBJECT PISTOL
+       (DESC "smoking gun")
+       (SYNONYM PISTOL GUN)
+       (ADJECTIVE SMOKING)
+       (FDESC "Lying beside the body is a smoking gun.")
+       (FLAGS TAKEBIT)
+       (ACTION PISTOL-F)>
+
+<OBJECT CORPSE
+       (DESC "body of Ms. Dunbar")
+       (SYNONYM BODY DUNBAR CORPSE STIFF)
+       (ADJECTIVE MS BLOODY)
+       (FDESC "Sprawled on the floor is the body of Ms. Dunbar.")
+       (ACTION CORPSE-F)>
+
+<OBJECT SUICIDE-NOTE
+       (DESC "suicide note")
+       (SYNONYM NOTE HANDWR)
+       (ADJECTIVE SUICIDE)
+       (FDESC "Next to the body, near a pool of blood, is a note.")
+       (FLAGS TAKEBIT READBIT)
+       (ACTION SUICIDE-NOTE-F)
+       (TEXT
+"The note is written in thin blue ink in a very unsteady hand and
+is smeared with blood from your touch.  It says:||
+    \"I killed Mr. Robner.  Please forgive me.\"|
+")>
+
+<OBJECT POOL-OF-BLOOD
+       (DESC "pool of blood")
+       (SYNONYM POOL BLOOD)
+       (LDESC "A pool of blood is at the head of the body.")>
+
+<OBJECT GLOBAL-PEN
+       (IN GLOBAL-OBJECTS)
+       (DESC "pen")
+       (SYNONYM PEN)
+       (ADJECTIVE BLUE)
+       (ACTION GLOBAL-PEN-F)>
+
+<OBJECT SEURAT
+       (IN DINING-ROOM)
+       (DESC "Seurat")
+       (SYNONYM SEURAT)
+       (FLAGS NDESCBIT)
+       (ACTION SEURAT-F)>
+
+<OBJECT PAINTINGS
+       (IN DINING-ROOM)
+       (DESC "collection of paintings")
+       (SYNONYM PAINTING COLLECTION PICTURE)
+       (ADJECTIVE PAINTING)
+       (FLAGS NDESCBIT)
+       (ACTION PAINTINGS-F)>
+
+<OBJECT SHELF-UNIT
+       (IN KITCHEN)
+       (DESC "shelf unit")
+       (SYNONYM SHELF UNIT)
+       (ADJECTIVE BEAUTIFUL SHELF)
+       (FLAGS NDESCBIT)>
+
+<OBJECT APPLIANCE-1
+       (IN KITCHEN)
+       (DESC "appliance")
+       (SYNONYM APPLIANCE OVEN STOVE REFRIGERATOR)
+       (FLAGS NDESCBIT)
+       (ACTION APPLIANCE-F)>
+
+<OBJECT APPLIANCE-2
+       (IN KITCHEN)
+       (DESC "appliance")
+       (SYNONYM WASHER DISHWASHER DISPOSAL COMPACTOR)
+       (ADJECTIVE GARBAGE DISH)
+       (FLAGS NDESCBIT DUPLICATE)
+       (ACTION APPLIANCE-F)>
+
+<OBJECT DINING-ROOM-TABLE
+       (IN DINING-ROOM)
+       (DESC "long table")
+       (SYNONYM TABLE)
+       (ADJECTIVE LONG)
+       (FLAGS FURNITURE NDESCBIT)>
+
+<OBJECT TRESTLE-TABLE
+       (IN DINING-ROOM)
+       (DESC "trestle table")
+       (SYNONYM TABLE)
+       (ADJECTIVE LARGE TRESTLE)
+       (FLAGS FURTINTURE NDESCBIT)>
+
+<OBJECT PEN
+       (DESC "blue pen")
+       (SYNONYM PEN)
+       (ADJECTIVE BLUE)
+       (FLAGS TAKEBIT)
+       (ACTION PEN-F)>
+       
+<OBJECT GLOBAL-STEVEN
+       (IN GLOBAL-OBJECTS)
+       (DESC "Steven")
+       (SYNONYM STEVEN STEVE)>
+
+<OBJECT GLOBAL-SAFE
+       (IN GLOBAL-OBJECTS)
+       (DESC "safe")
+       (SYNONYM COMBINATION SAFE)>
+       
+<OBJECT CORRIDOR-WINDOW
+       (IN CORRIDOR-4)
+       (DESC "window")
+       (SYNONYM WINDOW)
+       (FLAGS NDESCBIT)
+       (ACTION CORRIDOR-WINDOW-F)>
+
+<OBJECT TODAY
+       (IN GLOBAL-OBJECTS)
+       (DESC "today")
+       (SYNONYM TODAY)
+       (ACTION TODAY-F)>
+
+<OBJECT GLOBAL-WARRANT
+       (IN GLOBAL-OBJECTS)
+       (DESC "search warrant")
+       (SYNONYM WARRANT)
+       (ADJECTIVE SEARCH)
+       (ACTION GLOBAL-WARRANT-F)>
+       
+<OBJECT GLOBAL-WATER
+       (IN GLOBAL-OBJECTS)
+       (DESC "water")
+       (SYNONYM WATER)>
+
+<OBJECT CIRCULAR
+       (IN GLOBAL-OBJECTS)
+       (DESC "circular")
+       (SYNONYM CIRCULAR)>
+
+<OBJECT GLOBAL-DUFFY
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM DUFFY)
+       (ADJECTIVE SERGEANT)
+       (DESC "Sergeant Duffy")
+       (ACTION GLOBAL-DUFFY-F)>
+
+<OBJECT L-RAILING
+       (IN LIBRARY-BALCONY)
+       (SYNONYM RAILING)
+       (ADJECTIVE METAL)
+       (DESC "railing")
+       (FLAGS NDESCBIT)
+       (ACTION L-RAILING-F)>
+
+<OBJECT B-RAILING
+       (IN BEDROOM-BALCONY)
+       (SYNONYM RAILING)
+       (ADJECTIVE METAL)
+       (DESC "railing")
+       (FLAGS NDESCBIT)
+       (ACTION B-RAILING-F)>
+
+<OBJECT L-BALCONY
+       (IN LIBRARY-BALCONY)
+       (SYNONYM BALCONY)
+       (DESC "balcony")
+       (FLAGS NDESCBIT)
+       (ACTION L-BALCONY-F)>
+
+<OBJECT B-BALCONY
+       (IN BEDROOM-BALCONY)
+       (SYNONYM BALCONY)
+       (DESC "balcony")
+       (FLAGS NDESCBIT)
+       (ACTION B-BALCONY-F)>
+
+<OBJECT GLOBAL-MERGER
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM MERGER)
+       (ADJECTIVE OMNIDYNE)
+       (DESC "merger")>
+
+<OBJECT GLOBAL-ROOM
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM ROOM WALL WALLS)
+       (DESC "room")
+       (ACTION GLOBAL-ROOM-F)>
+
+<OBJECT COATES
+       (SYNONYM COATES)
+       (ADJECTIVE MR)
+       (DESC "Mr. Coates")
+       (FLAGS PERSON)
+       (CHARACTER 7)
+       (STATE 0)
+       (ACTION COATES-F)
+       (DESCFCN COATES-F)>
+
+<OBJECT GLOBAL-COATES
+       (IN GLOBAL-OBJECTS)
+       (SYNONYM COATES)
+       (ADJECTIVE MR)
+       (DESC "Mr. Coates")
+       (FLAGS PERSON)
+       (CHARACTER 7)
+       (ACTION GLOBAL-PERSON)>
+
+<OBJECT OBJECT-PAIR
+       (DESC "combination of objects specified")
+       (ACTION OBJECT-PAIR-F)>
+
+<OBJECT NOON
+       (IN GLOBAL-OBJECTS)
+       (DESC "noontime")
+       (SYNONYM NOON)>
+
+<OBJECT CRYSTAL-LAMP
+       (IN FOYER)
+       (DESC "crystal lamp")
+       (SYNONYM LAMP CHANDELIER)
+       (ADJECTIVE FINE CRYSTAL)
+       (FLAGS NDESCBIT)>
+
+<OBJECT FIREPLACE
+       (IN LIVING-ROOM)
+       (DESC "fieldstone fireplace")
+       (SYNONYM FIREPL)
+       (ADJECTIVE FIELDS)
+       (FLAGS NDESCBIT)>
+
+<OBJECT WOOD-PILE
+       (IN LIVING-ROOM)
+       (DESC "wood pile")
+       (SYNONYM PILE)
+       (ADJECTIVE WOOD)
+       (FLAGS NDESCBIT)>
+
+<OBJECT PORTRAITS
+       (IN LIVING-ROOM)
+       (DESC "collection of portraits")
+       (SYNONYM PORTRAITS COLLECTION PICTURE PAINTING)
+       (ADJECTIVE PORTRAITS)
+       (FLAGS NDESCBIT)
+       (ACTION PORTRAITS-F)>
+
+<OBJECT LR-CABINETS
+       (IN LIVING-ROOM)
+       (DESC "fine wooden cabinets")
+       (SYNONYM CABINET)
+       (ADJECTIVE FINE WOODEN)
+       (FLAGS NDESCBIT)
+       (ACTION LR-CABINETS-F)>
+
+<OBJECT K-CABINETS
+       (IN KITCHEN)
+       (DESC "cabinet")
+       (SYNONYM CABINET)
+       (FLAGS NDESCBIT CONTBIT)
+       (CAPACITY 50)
+       (ACTION K-CABINETS-F)>
+
+<OBJECT SILVERWARE
+       (IN K-CABINETS)
+       (DESC "set of silverware")
+       (SYNONYM SILVER)
+       (FLAGS TRYTAKEBIT)
+       (ACTION SILVERWARE-F)>
+
+<OBJECT GLASSES
+       (IN K-CABINETS)
+       (DESC "glass collection")
+       (SYNONYM GLASS GLASSES COLLECTION)
+       (ADJECTIVE GLASS)
+       (FLAGS TRYTAKEBIT)
+       (ACTION GLASSES-F)>
+
+<OBJECT P-SHELVES
+       (IN PANTRY)
+       (DESC "set of wooden shelves")
+       (SYNONYM SHELVES)
+       (ADJECTIVE WOODEN)
+       (FLAGS NDESCBIT CONTBIT OPENBIT SURFACEBIT)
+       (CAPACITY 30)>
+
+<OBJECT FOODS
+       (IN P-SHELVES) 
+       (DESC "food assortment")
+       (SYNONYM FOOD FOODS CAN CANS)
+       (ADJECTIVE DRIED CANNED PACKAGED)
+       (ACTION FOODS-F)>
+
+<OBJECT FRUIT-TREES
+       (IN LOCAL-GLOBALS)
+       (DESC "fruit tree")
+       (SYNONYM TREE)
+       (ADJECTIVE FRUIT APPLE PEAR PEACH)
+       (FLAGS NDESCBIT)
+       (ACTION FRUIT-TREES-F)>
+
+<OBJECT BERRY-BUSH
+       (IN IN-ORCHARD)
+       (DESC "berry bush")
+       (SYNONYM BUSH)
+       (ADJECTIVE BERRY BERRIE)
+       (FLAGS NDESCBIT)
+       (ACTION BERRY-BUSH-F)>
+
+<OBJECT BATHROOM-MIRROR
+       (IN MASTER-BATH)
+       (DESC "mirror")
+       (SYNONYM MIRROR)
+       (FLAGS NDESCBIT)
+       (ACTION BATHROOM-MIRROR-F)>
+
+<OBJECT HANGING-PLANTS
+       (IN MASTER-BATH)
+       (DESC "hanging plant")
+       (SYNONYM PLANT PLANTS)
+       (ADJECTIVE HANGING)
+       (FLAGS NDESCBIT)>
+       
+<OBJECT DUST
+       (IN HIDDEN-CLOSET)
+       (DESC "dust and cobwebs")
+       (SYNONYM DUST COBWEBS)
+       (FLAGS NDESCBIT)>
+
+<OBJECT GLOBAL-HIDDEN-CLOSET
+       (IN GLOBAL-OBJECTS)
+       (DESC "hidden closet")
+       (SYNONYM CLOSET)
+       (ADJECTIVE HIDDEN)
+       (FLAGS NDESCBIT)>
+
+<OBJECT TREE-TOPS
+       (IN BEDROOM-BALCONY)
+       (DESC "treetop")
+       (SYNONYM TREETOP TOP)
+       (ADJECTIVE TREE)
+       (FLAGS NDESCBIT)
+       (ACTION TREE-TOPS-F)>
+
+<OBJECT FOUR-POSTER
+       (IN MASTER-BEDROOM)
+       (DESC "four-poster bed")
+       (SYNONYM BED POSTER)
+       (ADJECTIVE FOUR FOUR-)
+       (FLAGS NDESCBIT SURFACEBIT CONTBIT OPENBIT FURNITURE VEHBIT)
+       (CAPACITY 30)
+       (ACTION BED-F)>
+
+<OBJECT LOUNGE
+       (IN MASTER-BEDROOM)
+       (DESC "lounge")
+       (SYNONYM LOUNGE)
+       (FLAGS NDESCBIT FURNITURE)>
+
+<OBJECT BEDROOM-MIRROR
+       (IN MASTER-BEDROOM)
+       (DESC "large mirror")
+       (SYNONYM MIRROR FRAME)
+       (ADJECTIVE LARGE GILT)
+       (FLAGS NDESCBIT)
+       (ACTION BATHROOM-MIRROR-F)>
+       
+<OBJECT SHAVING-GEAR
+       (IN GEORGE-BATH)
+       (DESC "shaving gear")
+       (SYNONYM GEAR RAZOR CREAM)
+       (ADJECTIVE SHAVING)
+       (FLAGS NDESCBIT)>
+       
+<OBJECT LIQUOR-CABINET
+       (IN GEORGE-ROOM)
+       (DESC "liquor cabinet")
+       (SYNONYM CABINET)
+       (ADJECTIVE LIQUOR)
+       (FLAGS NDESCBIT CONTBIT SEARCHBIT)
+       (CAPACITY 30)>
+
+<OBJECT SCOTCH
+       (IN LIQUOR-CABINET)
+       (DESC "bottle of Scotch")
+       (FDESC
+"A half-filled bottle of Scotch is in the cabinet.")
+       (SYNONYM BOTTLE SCOTCH)
+       (ADJECTIVE SCOTCH)
+       (FLAGS TAKEBIT)
+       (ACTION LIQUOR-F)>
+
+<OBJECT BOURBON
+       (IN LIQUOR-CABINET)
+       (DESC "bottle of Bourbon")
+       (FDESC
+"A nearly empty bottle of Bourbon is here.")
+       (SYNONYM BOTTLE BOURBON)
+       (ADJECTIVE BOURBON)
+       (FLAGS TAKEBIT)
+       (ACTION LIQUOR-F)>
+
+<OBJECT STEREO
+       (IN GEORGE-ROOM)
+       (DESC "stereo")
+       (SYNONYM STEREO VOLUME MUSIC HIFI)
+       (FLAGS NDESCBIT)
+       (ACTION STEREO-F)>
+
+<OBJECT RECORDS
+       (IN GEORGE-ROOM)
+       (DESC "record collection")
+       (SYNONYM RECORD)
+       (FLAGS NDESCBIT)
+       (ACTION RECORDS-F)>
+
+<OBJECT TAPES
+       (IN GEORGE-ROOM)
+       (DESC "tape collection")
+       (SYNONYM TAPE TAPES CASSETTE)
+       (FLAGS NDESCBIT)
+       (ACTION TAPES-F)>
+
+<OBJECT ROURKE-SHELVES
+       (IN ROURKE-BATH)
+       (DESC "shelf")
+       (SYNONYM SHELVES SHELF)
+       (FLAGS NDESCBIT CONTBIT OPENBIT SURFACEBIT)
+       (CAPACITY 30)>
+
+<OBJECT C11-SHELVES
+       (IN CLOSET-11)
+       (DESC "shelf")
+       (SYNONYM SHELVES SHELF)
+       (FLAGS NDESCBIT CONTBIT OPENBIT SURFACEBIT)
+       (CAPACITY 30)>
+
+<OBJECT C11-LINENS
+       (IN C11-SHELVES)
+       (DESC "linens")
+       (SYNONYM LINENS SHEETS LINEN)
+       (FLAGS NDESCBIT)
+       (ACTION CLOSET-STUFF-F)>
+
+<OBJECT UC-SHELVES
+       (IN UPSTAIRS-CLOSET)
+       (DESC "shelf")
+       (SYNONYM SHELVES SHELF)
+       (FLAGS NDESCBIT CONTBIT OPENBIT SURFACEBIT)
+       (CAPACITY 30)>
+
+<OBJECT UC-LINENS
+       (IN UC-SHELVES)
+       (DESC "linens")
+       (SYNONYM LINENS SHEETS LINEN)
+       (FLAGS NDESCBIT)
+       (ACTION CLOSET-STUFF-F)>
+
+<OBJECT UC-TOWELS
+       (IN UC-SHELVES)
+       (DESC "towel")
+       (SYNONYM TOWEL TOWELS)
+       (FLAGS NDESCBIT)
+       (ACTION CLOSET-STUFF-F)>
+
+<OBJECT SNEEZO-BOTTLE
+       (IN MASTER-BATH-COUNTER)
+       (DESC "bottle of Sneezo brand decongestant")
+       (SYNONYM BOTTLE DECONG SNEEZO)
+       (ADJECTIVE BOTTLE DECONG SNEEZO BRAND)
+       (FDESC
+"On the counter is a bottle of Sneezo tablets.")
+       (FLAGS TAKEBIT READBIT CONTBIT ;TRANSBIT)
+       (CAPACITY 5)
+       (ACTION MEDICINE-BOTTLE-F)
+       (TEXT
+"Lakeville Pharmacy   #223224|
+|
+Mrs. M. Robner|
+Take 1 tablet every 3 hours as needed|
+|
+Sniffle Labs|
+Sneezo Tablets|
+")>
+
+<OBJECT GLOBAL-SNEEZO
+       (IN GLOBAL-OBJECTS)
+       (DESC "Sneezo tablets")
+       (SYNONYM TABLETS SNEEZO DECONG PILLS)
+       (ADJECTIVE DECONG SNEEZO)>
+       
+<OBJECT SNEEZO
+       (IN SNEEZO-BOTTLE)
+       (DESC "handful of Sneezo tablets")
+       (SYNONYM HANDFUL TABLETS DECONG SNEEZO)
+       (ADJECTIVE DECONG SNEEZO)
+       (FLAGS TAKEBIT DRUGBIT)
+       (SIZE 4)
+       (ACTION SNEEZO-F)
+       (COUNT 20)>
+
+<OBJECT ALLERGONE-BOTTLE
+       (IN MASTER-BATH-COUNTER)
+       (DESC "bottle of Allergone")
+       (SYNONYM BOTTLE ALLERGONE)
+       (ADJECTIVE BOTTLE ALLERGONE)
+       (FDESC
+"Beside a toothbrush is a bottle of Allergone.")
+       (FLAGS TAKEBIT READBIT CONTBIT ;TRANSBIT)
+       (ACTION MEDICINE-BOTTLE-F)
+       (CAPACITY 5)
+       (TEXT
+"Lakeville Pharmacy   #220331|
+|
+Mrs. M. Robner|
+Take 2 tablets every 4 hours as needed
+for allergy symptoms.  Do not exceed
+recommended dosage.|
+|
+Rash Labs / Allergone Tablets|
+|
+May cause extreme drowsiness.  Do not|
+use machinery or drive while taking this|
+medication.  Combination of Allergone with|
+alcohol is dangerous.  In case of overdose|
+consult a physician promptly.  Keep out|
+of the reach of children!|
+")>
+
+<OBJECT GLOBAL-ALLERGONE
+       (IN GLOBAL-OBJECTS)
+       (DESC "Allergone tablets")
+       (SYNONYM TABLETS ALLERGONE PILLS)
+       (ADJECTIVE ALLERGONE)>
+       
+<OBJECT ALLERGONE
+       (IN ALLERGONE-BOTTLE)
+       (DESC "bunch of Allergone tablets")
+       (SYNONYM BUNCH TABLETS ALLERGONE)
+       (ADJECTIVE ALLERGONE)
+       (FLAGS TAKEBIT DRUGBIT)
+       (SIZE 4)
+       (ACTION ALLERGONE-F)
+       (COUNT 15)>
+
+<OBJECT CLOSET
+       (IN LOCAL-GLOBALS)
+       (DESC "closet")
+       (SYNONYM CLOSET)
+       (ACTION GLOBAL-ROOM-F)>
+
+<OBJECT GUEST-WINDOW
+       (IN GUEST-ROOM)
+       (DESC "window")
+       (SYNONYM WINDOW)
+       (ACTION GUEST-WINDOW-F)
+       (FLAGS NDESCBIT)>
+
+<OBJECT SOGGY-WILL
+       (DESC "wet piece of paper")
+       (SYNONYM PIECE PAPER)
+       (ADJECTIVE PAPER WET DRENCHED SOGGY)
+       (FLAGS TAKEBIT READBIT)
+       (TEXT
+"The paper was once some sort of document. It is now smeared and
+completely unreadable.")>
+       
+<OBJECT PENCIL
+       (IN LIBRARY)
+       (DESC "pencil")
+       (SYNONYM PENCIL)
+       (FDESC "A pencil is lying on the floor near the desk.")
+       (FLAGS TAKEBIT)> 
+
+<OBJECT GLOBAL-HERE
+       (IN GLOBAL-OBJECTS)
+       (DESC "here")
+       (SYNONYM HERE)
+       (FLAGS NDESCBIT)
+       (ACTION GLOBAL-HERE-F)>
+
+<OBJECT GLOBAL-RED-HERRINGS
+       (IN GLOBAL-OBJECTS)
+       (DESC "red herring")
+       (SYNONYM HERRING)
+       (ADJECTIVE RED)
+       (FLAGS NDESCBIT)
+       (ACTION GLOBAL-RED-HERRINGS-F)>
+
+<OBJECT RECURSIVE-BOOK
+       (IN LIVING-ROOM)
+       (DESC "mystery book")
+       (SYNONYM BOOK)
+       (ADJECTIVE HARDCOVER MYSTERY)
+       (FDESC "Sitting on a table is a hardcover book.")
+       (FLAGS TAKEBIT READBIT)
+       (ACTION RECURSIVE-BOOK-F)>
+
+<OBJECT GLOBAL-ENDING
+       (IN GLOBAL-OBJECTS)
+       (DESC "ending")
+       (ADJECTIVE LAST)
+       (SYNONYM ENDING END BOOK PAGE)
+       (ACTION GLOBAL-ENDING-F)>
+       
+<OBJECT STUB
+       (DESC "ticket stub")
+       (SYNONYM TICKET STUB)
+       (ADJECTIVE TICKET)
+       (FLAGS TAKEBIT READBIT)
+       (LDESC "Lying on the ground is what appears to be a ticket stub.")
+       (TEXT
+"|
+   Hartford|
+ Philharmonic|
+  Orchestra|
+|
+ July 7, 1982|
+|
+   - 8PM -|
+|
+Row R / Seat 7|
+|
+-^-^-^-^-^-^-^|
+|")>
+
+<OBJECT RANDOM-MEAL
+       (IN GLOBAL-OBJECTS)
+       (DESC "meal")
+       (SYNONYM MEAL LUNCH DINNER BREAKFAST)
+       (ACTION RANDOM-MEAL-F)>
+
+<OBJECT GLOBAL-HOUSE
+       (IN GLOBAL-OBJECTS)
+       (DESC "house")
+       (SYNONYM HOUSE)
+       (ACTION GLOBAL-HOUSE-F)>
+
+<OBJECT GRAPE-ARBOR
+       (IN IN-ORCHARD)
+       (DESC "grape arbor")
+       (SYNONYM ARBOR GRAPE)
+       (ADJECTIVE GRAPE)
+       (FLAGS NDESCBIT)
+       (ACTION GRAPE-ARBOR-F)>
+
+<OBJECT GLOBAL-CONCERT
+       (IN GLOBAL-OBJECTS)
+       (DESC "concert")
+       (SYNONYM SYMPHONY CONCERT PERFORMANCE)
+       (ADJECTIVE SYMPHONY PHILHARMONIC)>
+        
\ No newline at end of file
diff --git a/goal.zil b/goal.zil
new file mode 100644 (file)
index 0000000..174c72f
--- /dev/null
+++ b/goal.zil
@@ -0,0 +1,730 @@
+"GOAL for
+                           DEADLINE
+       Copyright 1982 Infocom, Inc.  All rights reserved.
+"
+
+"This code is the local T system.  There are four transit lines:
+  TOP-OF-THE-LINE, BOTTOM-LINE, FOOD-LINE, and OUTSIDE-LINE,
+  corresponding to upstairs, downstairs, kitchen area, and outside.
+  There are routes for each of these lines and transfer points.  Much of
+  this is done for the  general case, except transfers.  Sigh."
+
+<GLOBAL DIR-STRINGS
+       <TABLE  P?NORTH "north" P?SOUTH "south"
+               P?EAST "east" P?WEST "west"
+               P?NW "northwest" P?NE "northeast"
+               P?SW "southwest" P?SE "southeast"
+               P?DOWN "downstairs" P?UP "upstairs"
+               P?IN "in" P?OUT "out">>
+
+<GLOBAL TOP-OF-THE-LINE
+       <TABLE  0 LIBRARY-BALCONY P?SOUTH
+               P?NORTH LIBRARY P?SOUTH
+               P?NORTH CORRIDOR-4 P?EAST
+               P?WEST CORRIDOR-3 P?EAST
+               P?WEST CORRIDOR-2 P?EAST
+               P?WEST CORRIDOR-1 P?EAST
+               P?WEST STAIR-TOP P?SOUTH
+               P?NORTH SHALL-11 P?EAST
+               P?WEST SHALL-12 0 >>
+
+<GLOBAL BOTTOM-LINE
+       <TABLE  0 FOYER P?NORTH
+               P?SOUTH NFOYER P?NORTH
+               P?WEST STAIR-BOTTOM P?SOUTH
+               P?NORTH SHALL-1 P?EAST
+               P?WEST SHALL-2 P?EAST
+               P?WEST SHALL-3 0>>
+
+<GLOBAL OUTSIDE-LINE
+       <TABLE  0 FRONT-PATH P?EAST
+               P?WEST EAST-OF-DOOR P?NE
+               P?SOUTH EAST-SIDE P?EAST
+               P?WEST EAST-LAWN P?NW
+               P?SE ORCHARD P?NORTH
+               P?SE NORTH-LAWN P?SOUTH
+               P?NORTH ROSE-GARDEN P?WEST
+               P?NE WEST-LAWN P?EAST
+               P?WEST WEST-SIDE P?SOUTH
+               P?NW WEST-OF-DOOR P?SOUTH
+               P?NORTH SOUTH-LAWN 0>>
+
+<GLOBAL FOOD-LINE
+       <TABLE  0 DINING-ROOM P?EAST
+               P?WEST CORNER P?NORTH
+               P?SOUTH KITCHEN P?EAST
+               P?WEST PANTRY 0>>
+
+"Rapid Transit Line Identifiers"
+
+<CONSTANT TOP-OF-THE-LINE-C 0>
+<CONSTANT BOTTOM-LINE-C 1>
+<CONSTANT OUTSIDE-LINE-C 2>
+<CONSTANT FOOD-LINE-C 3>
+
+<ROUTINE UNPRIORITIZE (PERSON "AUX" GT)
+        <SET GT <GET ,GOAL-TABLES <GETP .PERSON ,P?CHARACTER>>>
+        <PUT .GT ,GOAL-PRIORITY <>>
+        <COND (<GET .GT ,GOAL-QUEUED>
+               <ESTABLISH-GOAL .PERSON <GET .GT ,GOAL-QUEUED>>
+               <PUT .GT ,GOAL-QUEUED <>>)>>
+
+<ROUTINE ESTABLISH-GOAL (PERSON GOAL "OPTIONAL" (PRIORITY <>)
+                                    "AUX" (HERE <LOC .PERSON>) HL GL GT)
+        #DECL ((PERSON GOAL HERE) OBJECT (HL GL) FIX
+               (PRIORITY) <OR FALSE ATOM>)
+        <SET GT <GET ,GOAL-TABLES <GETP .PERSON ,P?CHARACTER>>>
+        <COND (.PRIORITY
+               <PUT .GT ,GOAL-ENABLE T>
+               <PUT .GT ,GOAL-PRIORITY T>
+               <PUT .GT ,GOAL-QUEUED .HERE>)>
+        <COND (<==? <SET HL <GETP .HERE ,P?LINE>>
+                    <SET GL <GETP .GOAL ,P?LINE>>>
+               <PUT .GT ,GOAL-I <>>)
+              (<==? .HL ,TOP-OF-THE-LINE-C>
+               <PUT .GT ,GOAL-I ,STAIR-TOP>)
+              (<==? .HL ,OUTSIDE-LINE-C>
+               <PUT .GT ,GOAL-I ,FRONT-PATH>)
+              (<==? .HL ,FOOD-LINE-C>
+               <PUT .GT ,GOAL-I ,CORNER>)
+              (<==? .GL ,TOP-OF-THE-LINE-C>
+               <PUT .GT ,GOAL-I ,STAIR-BOTTOM>)
+              (<==? .GL ,FOOD-LINE-C>
+               <PUT .GT ,GOAL-I ,NFOYER>)
+              (T
+               <PUT .GT ,GOAL-I ,FOYER>)>
+        <PUT .GT ,GOAL-S <GETP .GOAL ,P?STATION> ;CHOMP>
+        <PUT .GT ,GOAL-F .GOAL>
+        <LOC .PERSON>>
+
+<ROUTINE FOLLOW-GOAL (PERSON "AUX" (HERE <LOC .PERSON>) LINE LN RM GT GOAL FLG
+                                  (GOAL-FLAG <>) (IGOAL <>) LOC (CNT 1) DIR)
+        #DECL ((PERSON HERE LOC RM) OBJECT (LN CNT) FIX
+               (GOAL-FLAG IGOAL) <OR ATOM FALSE>)
+        <SET GT <GET ,GOAL-TABLES <GETP .PERSON ,P?CHARACTER>>>
+        <COND (<==? .HERE <GET .GT ,GOAL-F>>
+               <SET FLG <GOAL-REACHED .PERSON>>
+               <PUT .GT ,GOAL-S <>>
+               <RETURN .FLG>)
+              (<NOT <GET .GT ,GOAL-ENABLE>> <RFALSE>)>
+        <COND (<NOT <==? <SET LOC <GETP .HERE ,P?STATION> ;CHOMP> .HERE>>
+               <RETURN <MOVE-PERSON .PERSON .LOC>>)>
+        <COND (<SET GOAL <GET .GT ,GOAL-I>>
+               <SET IGOAL T>)
+              (T <SET GOAL <GET .GT ,GOAL-S>>)>
+        <COND (<NOT .GOAL> <RFALSE>)
+              (<==? .HERE ,STAIRS>
+               <RETURN <TRANSFER .PERSON .HERE <GET .GT ,GOAL-F>>>)
+              (<==? .HERE .GOAL>
+               <COND (.IGOAL
+                      <RETURN <TRANSFER .PERSON .GOAL <GET .GT ,GOAL-F>>>)
+                     (<NOT <==? .HERE <GET .GT ,GOAL-F>>>
+                      <SET FLG <MOVE-PERSON .PERSON <GET .GT ,GOAL-F>>>
+                      <PUT .GT ,GOAL-S <>>
+                      <COND (.FLG <GOAL-REACHED .PERSON>)
+                            (T <SET FLG <GOAL-REACHED .PERSON>>)>
+                      <RETURN .FLG>)
+                     (T
+                      <PUT .GT ,GOAL-S <>>
+                      <RETURN <GOAL-REACHED .PERSON>>)>)>
+        <SET LN <GETP .GOAL ,P?LINE>>
+        <SET LINE
+             <COND (<==? .LN ,TOP-OF-THE-LINE-C> ,TOP-OF-THE-LINE)
+                   (<==? .LN ,BOTTOM-LINE-C> ,BOTTOM-LINE)
+                   (<==? .LN ,FOOD-LINE-C> ,FOOD-LINE)
+                   (T ,OUTSIDE-LINE)>>
+        <REPEAT ()
+                <COND (<==? <SET RM <GET .LINE .CNT>> .HERE>
+                       <COND (.GOAL-FLAG
+                              <SET LOC <GET .LINE <- .CNT 3>>>)
+                             (T
+                              <SET LOC <GET .LINE <+ .CNT 3>>>)>
+                       <RETURN <MOVE-PERSON .PERSON .LOC>>)
+                      (<==? .RM .GOAL>
+                       <SET GOAL-FLAG T>)>
+                <SET CNT <+ .CNT 3>>>>
+
+<ROUTINE GOAL-REACHED (PERSON)
+        #DECL ((PERSON) OBJECT)
+        <APPLY <GET <GET ,GOAL-TABLES <GETP .PERSON ,P?CHARACTER>>
+                    ,GOAL-FUNCTION> ,G-REACHED>> 
+
+<ROUTINE MOVE-PERSON (PERSON WHERE "AUX" DIR GT OL COR PCOR CHR NC WT (CNT 0)
+                                        (FLG <>) EX)
+        #DECL ((PERSON WHERE) OBJECT)
+        <SET GT <GET ,GOAL-TABLES <SET CHR <GETP .PERSON ,P?CHARACTER>>>>
+        <SET NC .CHR>
+        <SET OL <LOC .PERSON>>
+        <SET DIR <DIR-FROM .OL .WHERE>>
+        <COND (<==? <PTSIZE <SET EX <GETPT .OL .DIR>>> ,DEXIT>
+               <COND (<NOT <FSET? <SET EX <GETB .EX ,DEXITOBJ>> ,OPENBIT>>
+                      <FSET .EX ,OPENBIT>)
+                     (T <SET EX <>>)>)
+              (T <SET EX <>>)>
+        <PUT .GT ,GOAL-LDIR .DIR>
+        <COND (<==? .OL ,HERE>
+               <SET FLG T>
+               <TELL D .PERSON>
+               <COND (<==? .DIR ,P?OUT>
+                      <TELL " walks out of the room." CR>)
+                     (<EQUAL? .DIR ,P?DOWN> <TELL " is going downstairs." CR>)
+                     (<EQUAL? .DIR ,P?UP> <TELL " is going upstairs." CR>)
+                     (<EQUAL? .DIR ,P?IN>
+                      <COND (.EX <TELL " opens the " D .EX " and">)>
+                      <TELL " goes into another room.">)
+                     (T
+                      <COND (.EX <TELL " opens the " D .EX " and">)>
+                      <TELL " heads off to ">
+                      <DIR-PRINT .DIR>
+                      <TELL "." CR>)>)
+              (<==? .WHERE ,HERE>
+               <SET FLG T>
+               <TELL D .PERSON>
+               <COND (<NOT <==? ,HERE <GET .GT ,GOAL-F>>>
+                      <TELL " is walking past you." CR>)
+                     (<==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>
+                      <TELL " stops here." CR>)
+                     (T <TELL " steps into the room." CR>)>)
+              (<SET COR <GETP ,HERE ,P?CORRIDOR>>
+               <COND (<AND <SET PCOR <GETP .OL ,P?CORRIDOR>>
+                           <NOT <==? <BAND .COR .PCOR> 0>>>
+                      <SET FLG T>
+                      <COND (<==? .WHERE ,STAIRS>
+                             <TELL D .PERSON
+                                   " steps onto the stairs." CR>)
+                            (<NOT <GETP .WHERE ,P?CORRIDOR>>
+                             <TELL D .PERSON ", off to ">
+                             <DIR-PRINT <COR-DIR ,HERE .OL>>
+                             <TELL ",">
+                             <COND (.EX
+                                    <TELL " opens a door and">)>
+                             <COND (<==? <GETP ,HERE ,P?LINE>
+                                         ,OUTSIDE-LINE-C>
+                                    <TELL " leaves your view">)
+                                   (<==? .WHERE ,SHED-ROOM>
+                                    <TELL " darts into the shed">)
+                                   (T
+                                    <TELL " ducks into a room">)>
+                             <TELL " to ">
+                             <DIR-PRINT <DIR-FROM .OL .WHERE>>
+                             <TELL "." CR>)
+                            (<0? <BAND .COR <GETP .WHERE ,P?CORRIDOR>>>
+                             <TELL D .PERSON
+                                   ", off to ">
+                             <DIR-PRINT <COR-DIR ,HERE .OL>>
+                             <TELL ", disappears from sight ">
+                             <SET PCOR <DIR-FROM .OL .WHERE>>
+                             <COND (<==? .PCOR ,P?UP>
+                                    <TELL "up the stairs">)
+                                   (<==? .PCOR ,P?DOWN>
+                                    <TELL "down the stairs">)
+                                   (T
+                                    <TELL "to ">
+                                    <DIR-PRINT .PCOR>)>
+                             <TELL "." CR>)
+                            (T
+                             <TELL D .PERSON " is to ">
+                             <DIR-PRINT <COR-DIR ,HERE .WHERE>>
+                             <TELL ", heading toward ">
+                             <DIR-PRINT <DIR-FROM .OL .WHERE>>
+                             <TELL "." CR>)>)
+                     (<AND <SET PCOR <GETP .WHERE ,P?CORRIDOR>>
+                           <NOT <==? <BAND .COR .PCOR> 0>>>
+                      <SET FLG T>
+                      <TELL "To ">
+                      <DIR-PRINT <COR-DIR ,HERE .WHERE>>
+                      <TELL " " D .PERSON>
+                      <COND (<OR <==? <GETP .WHERE ,P?LINE> ,OUTSIDE-LINE-C>
+                                 <==? .WHERE ,STAIRS>>
+                             <TELL " comes into view from ">)
+                            (T
+                             <TELL " enters the hallway from ">)>
+                      <DIR-PRINT <DIR-FROM .WHERE .OL>>
+                      <TELL "." CR>)>)>
+        <SET WT <GET ,WHERE-TABLES .CHR>>
+        <REPEAT ()
+                <COND (<G? .CNT ,CHARACTER-MAX> <RETURN>)
+                      (T
+                       <COND (<==? <SET CHR <GET ,CHARACTER-TABLE .CNT>>
+                                   .PERSON> T)
+                             (<OR <AND <0? .CNT> .FLG>
+                                  <IN? <GET ,CHARACTER-TABLE .CNT> .OL>>
+                              <PUT .WT .CNT ,PRESENT-TIME>
+                              <PUT <GET ,WHERE-TABLES .CNT>
+                                   .NC
+                                   ,PRESENT-TIME>)>
+                       <SET CNT <+ .CNT 1>>)>>
+        <MOVE .PERSON .WHERE>
+        .FLG>
+
+<ROUTINE DIR-FROM (HERE THERE "AUX" P L T O)
+        #DECL ((HERE THERE O) OBJECT (P L) FIX)
+        <SET P 0>
+        <REPEAT ()
+                <COND (<0? <SET P <NEXTP .HERE .P>>>
+                       <RFALSE>)
+                      (<EQUAL? .P ,P?IN ,P?OUT> T)
+                      (<NOT <L? .P ,LOW-DIRECTION>>
+                       <SET T <GETPT .HERE .P>>
+                       <SET L <PTSIZE .T>>
+                       <COND (<AND <EQUAL? .L ,DEXIT ,UEXIT ,CEXIT>
+                                   <==? <GETB .T ,REXIT> .THERE>>
+                              <RETURN .P>)>)>>>
+
+<ROUTINE COR-DIR (HERE THERE "AUX" COR RM (PAST 0) (CNT 2))
+        <SET COR <GET-COR <BAND <GETP .THERE ,P?CORRIDOR>
+                                <GETP .HERE ,P?CORRIDOR>>>>
+        <REPEAT ()
+                <COND (<==? <SET RM <GET .COR .CNT>> .HERE>
+                       <SET PAST 1>
+                       <RETURN>)
+                      (<==? .RM .THERE>
+                       <RETURN>)>
+                <SET CNT <+ .CNT 1>>>
+        <GET .COR .PAST>>
+
+<ROUTINE GET-COR (NUM)
+        #DECL ((NUM) FIX)
+        <COND (<==? .NUM 1> ,COR-1)
+              (<==? .NUM 2> ,COR-2)
+              (<==? .NUM 4> ,COR-4)
+              (<==? .NUM 8> ,COR-8)
+              (<==? .NUM 16> ,COR-16)
+              (<==? .NUM 32> ,COR-32)
+              (<==? .NUM 64> ,COR-64)
+              (<==? .NUM 128> ,COR-128)
+              (<==? .NUM 256> ,COR-256)
+              (<==? .NUM 512> ,COR-512)
+              (<==? .NUM 1024> ,COR-1024)
+              (T ,COR-2048)>>
+
+<ROUTINE TRANSFER (PERSON IGOAL FGOAL "AUX" V (FLG <>))
+        #DECL ((PERSON IGOAL FGOAL) OBJECT)
+        <COND (<==? .IGOAL ,STAIR-TOP>
+               <COND (<OR <EQUAL? ,HERE ,STAIR-BOTTOM ,NFOYER ,ROURKE-ROOM>
+                          <EQUAL? ,HERE ,LIVING-ROOM ,FOYER ,CORNER>>
+                      <TELL
+"You can hear footsteps on the staircase." CR>
+                      <SET FLG T>)>
+               <OR <MOVE-PERSON .PERSON ,STAIRS> .FLG>)
+              (<==? .IGOAL ,STAIR-BOTTOM>
+               <COND (<OR <EQUAL? ,HERE ,STAIR-TOP ,CORRIDOR-1>
+                          <EQUAL? ,HERE ,CORRIDOR-2 ,CORRIDOR-3>>
+                      <TELL
+"You can hear footsteps on the staircase." CR>
+                      <SET FLG T>)>
+               <OR <MOVE-PERSON .PERSON ,STAIRS> .FLG>) 
+              (T
+               <SET V 
+                    <COND (<==? .IGOAL ,STAIRS>
+                           <COND (<==? <GETP .FGOAL ,P?LINE> 0>
+                                  <MOVE-PERSON .PERSON ,STAIR-TOP>)
+                                 (T <MOVE-PERSON .PERSON ,STAIR-BOTTOM>)>)
+                          (<==? .IGOAL ,FRONT-PATH>
+                           <FSET ,FRONT-DOOR ,OPENBIT>
+                           <MOVE-PERSON .PERSON ,FOYER>)
+                          (<==? .IGOAL ,FOYER>
+                           <FSET ,FRONT-DOOR ,OPENBIT>
+                           <MOVE-PERSON .PERSON ,FRONT-PATH>)
+                          (<==? .IGOAL ,NFOYER>
+                           <MOVE-PERSON .PERSON ,CORNER>)
+                          (T
+                           <MOVE-PERSON .PERSON ,NFOYER>)>>
+               <ESTABLISH-GOAL .PERSON .FGOAL>
+               .V)>>
+
+<ROUTINE DIR-PRINT (DIR "AUX" (CNT 0))
+        #DECL ((DIR CNT) FIX)
+        <REPEAT ()
+                <COND (<==? <GET ,DIR-STRINGS .CNT> .DIR>
+                       <COND (<NOT <EQUAL? .DIR ,P?UP ,P?DOWN>>
+                              <TELL "the ">)>
+                       <PRINT <GET ,DIR-STRINGS <+ .CNT 1>>>
+                       <RTRUE>)>
+                <SET CNT <+ .CNT 1>>>>
+
+"Here is the code for goal motivation for the various characters.
+Each character has a tendency to move from one place to another
+at certain times.  They all converge on the living room at about
+noon."
+
+"Constants used as table offsets for each character, including
+the player."
+
+<CONSTANT PLAYER-C 0>
+<CONSTANT GARDENER-C 1>
+<CONSTANT BAXTER-C 2>
+<CONSTANT DUNBAR-C 3>
+<CONSTANT GEORGE-C 4>
+<CONSTANT MRS-ROBNER-C 5>
+<CONSTANT ROURKE-C 6>
+<CONSTANT COATES-C 7>
+<CONSTANT CHARACTER-MAX 7>
+
+<GLOBAL CHARACTER-DESCS
+       <TABLE 0
+"Mr. McNabb is an elderly Scottish man with a deeply lined face.
+He is wearing overalls."
+"Baxter is an immaculately dressed middle-aged man with rugged good
+looks."
+"Ms. Dunbar, wearing a fashionable pants suit, is a rather attractive
+woman in her early thirties."
+"George is a young man in his mid-twenties.  He is poorly dressed in
+that each item he is wearing clashes with the others.  His attire is
+of the highest quality, however.  He is wearing various pieces of
+jewelry." 
+"Mrs. Robner is a middle-aged woman of great beauty.  She is dressed
+in black."
+"Mrs. Rourke is a short woman, more than a bit overweight.  She is
+wearing a maid's outfit."
+"Mr. Coates is a rather homely man of advancing years.">>
+"Goal tables for the 8 characters (including PLAYER), offset
+by the preceding constants, which, for a given character,
+is the P?CHARACTER property of the object."
+
+<GLOBAL GOAL-TABLES
+       <TABLE <TABLE <> <> <> <> 1 <> <> I-FOLLOW 4 4>
+              <TABLE <> <> <> <> 1 <> <> I-GARDENER 3 3>
+              <TABLE <> <> <> <> 1 <> <> I-BAXTER 4 4>
+              <TABLE <> <> <> <> 1 <> <> I-DUNBAR 3 3>
+              <TABLE <> <> <> <> 1 <> <> I-GEORGE 2 2>
+              <TABLE <> <> <> <> 1 <> <> I-MRS-ROBNER 4 4>
+              <TABLE <> <> <> <> 1 <> <> I-ROURKE 6 6>
+              <TABLE <> <> <> <> 1 <> <> I-COATES 2 2>>>
+
+<GLOBAL ATTENTION-TABLE <TABLE 0 0 0 0 0 0 0 0>>
+
+"Offsets into GOAL-TABLEs"
+
+<CONSTANT GOAL-F 0>
+<CONSTANT GOAL-S 1>
+<CONSTANT GOAL-I 2>
+<CONSTANT GOAL-LDIR 3>
+<CONSTANT GOAL-ENABLE 4>
+<CONSTANT GOAL-PRIORITY 5>
+<CONSTANT GOAL-QUEUED 6>
+<CONSTANT GOAL-FUNCTION 7>
+<CONSTANT ATTENTION-SPAN 8>
+<CONSTANT ATTENTION 9>
+"Goal-function constants, similar to M-xxx in MAIN"
+
+<CONSTANT G-REACHED 1>
+<CONSTANT G-ENROUTE 2>
+
+"Here's how the movement goals are done:  For each player is
+a table which consists of triplets, a number of minutes until
+the next movement (an clock interrupt number), a number of
+minutes allowed variation (for a bit of randomness), and a
+room toward which to start.  All movement is controlled by
+the GOAL-ENABLE flag in the GOAL-TABLE for a character."
+
+"Time starts at 8AM.  Characters are at that point in their
+starting positions, as reflected in DUNGEON."
+
+<GLOBAL CHARACTER-TABLE
+       <TABLE PLAYER GARDENER BAXTER DUNBAR GEORGE MRS-ROBNER ROURKE
+              COATES>> 
+
+<GLOBAL GLOBAL-CHARACTER-TABLE
+       <TABLE PLAYER GLOBAL-GARDENER GLOBAL-BAXTER GLOBAL-DUNBAR GLOBAL-GEORGE
+              GLOBAL-MRS-ROBNER GLOBAL-ROURKE GLOBAL-COATES>>
+
+<GLOBAL MOVEMENT-GOALS <TABLE
+       ;"PLAYER"
+       <TABLE 0 0 0>
+       ;"GARDENER"
+       <TABLE 0
+              60 10 NORTH-LAWN         ;"9-10AM"
+              60 10 EAST-LAWN          ;"10-11AM"
+              60 10 ROSE-GARDEN        ;"11AM-1PM"
+              60 10 ORCHARD            ;"1-2PM"
+              60 15 SOUTH-LAWN         ;"2-3PM"
+              120 15 WEST-LAWN         ;"3-5PM"
+              0>
+       ;"BAXTER"
+       <TABLE 0
+              120 2 LIVING-ROOM        ;"Arrival at 9:55"
+              360 10 SOUTH-LAWN        ;"Leave at 4PM"
+              0>
+       ;"DUNBAR"
+       <TABLE 0
+              60 10 DUNBAR-BATH        ;"9-9:30AM"
+              30 10 DUNBAR-ROOM        ;"9:30-11:30AM"
+              135 20 LIVING-ROOM       ;"11:30AM-2PM"
+              135 20 DUNBAR-ROOM       
+              0>
+       ;"GEORGE"
+       <TABLE 0
+              80 10 KITCHEN            ;"9:20-9:50AM"
+              30 10 DINING-ROOM        ;"9:50-11AM"
+              70 20 GEORGE-ROOM        ;"11-11:45AM"
+              45 15 LIVING-ROOM        ;"11:45AM-12:30PM"
+              60 10 EAST-LAWN          ;"12:30-2PM"
+              75 20 LIVING-ROOM        ;"2-3PM"
+              60 15 GEORGE-ROOM
+              0>
+       ;"MRS-ROBNER"
+       <TABLE 0
+              30 10 DINING-ROOM        ;"8:30-9AM"
+              100 15 DINING-ROOM       ;"10:10-11:10"
+              60 20 LIVING-ROOM        ;"11:10-12:40"
+              90 20 MASTER-BEDROOM     ;"12:40-1:50"
+              70 30 LIVING-ROOM
+              0>
+       ;"ROURKE"
+       <TABLE 0
+              60 10 KITCHEN            ;"9-10AM"
+              60 20 DINING-ROOM        ;"10-11AM"
+              60 10 KITCHEN            ;"11AM-1PM"
+              120 20 LIVING-ROOM       ;"1PM-2PM"
+              60 30 ROURKE-ROOM        
+              0>>>
+
+<ROUTINE START-MOVEMENT ()
+        <ENABLE <QUEUE I-GARDENER 1>>
+        <ENABLE <QUEUE I-BAXTER 1>>
+        <ENABLE <QUEUE I-DUNBAR 1>>
+        <ENABLE <QUEUE I-GEORGE 1>>
+        <ENABLE <QUEUE I-MRS-ROBNER 1>>
+        <ENABLE <QUEUE I-ROURKE 1>>
+        <ENABLE <QUEUE I-FOLLOW -1>>
+        <ENABLE <QUEUE I-ATTENTION -1>>>
+
+<ROUTINE I-G-I-G ()
+        <SETG G-I-G ,PRESENT-TIME>
+        <COND (<AND <==? ,HERE ,ROSE-GARDEN> <NOT ,HOLE-SHOWN>>
+