mirror of
https://github.com/historicalsource/checkpoint
synced 2024-05-04 09:58:22 +03:00
747 lines
20 KiB
Plaintext
747 lines
20 KiB
Plaintext
|
"CARS for CHECKPOINT
|
||
|
Copyright (C) 1985 Infocom, Inc. All rights reserved."
|
||
|
|
||
|
<OBJECT DINER
|
||
|
(LOC GLOBAL-OBJECTS)
|
||
|
(DESC "dining car")
|
||
|
(ADJECTIVE DINER DINING CLUB)
|
||
|
(SYNONYM DINER CAR CARRIAGE)
|
||
|
(ACTION DINER-F)>
|
||
|
|
||
|
<ROUTINE DINER-F ()
|
||
|
<COND (<VERB? WALK-TO>
|
||
|
<COND (<==? ,CAR-HERE ,DINER-CAR>
|
||
|
<HAR-HAR>)
|
||
|
(,DINER-TOUCHED
|
||
|
<SETG CLOCK-WAIT T>
|
||
|
<TELL "(You'll have to get there on your own.)" CR>)>)>>
|
||
|
|
||
|
<ROOM REST-ROOM-FWD-DINER
|
||
|
(LOC ROOMS)
|
||
|
;(OTHER OTHER-REST-ROOM-FWD)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "forward restroom")
|
||
|
(ADJECTIVE NORTH N FORWARD FRONT F FORE REST)
|
||
|
(SYNONYM RESTROOM BATHROOM LAVATORY TOILET ROOM)
|
||
|
(GENERIC GENERIC-REST-ROOM-F)
|
||
|
(LINE 3)
|
||
|
(STATION VESTIBULE-FWD-DINER)
|
||
|
;(NORTH TO VESTIBULE-FWD-DINER IF REST-ROOM-FWD-DINER-DOOR IS OPEN)
|
||
|
(WEST TO VESTIBULE-FWD-DINER IF REST-ROOM-FWD-DINER-DOOR IS OPEN)
|
||
|
(OUT TO VESTIBULE-FWD-DINER IF REST-ROOM-FWD-DINER-DOOR IS OPEN)
|
||
|
(GLOBAL REST-ROOM-FWD-DINER-DOOR ;STOP-CORD MIRROR TOILET
|
||
|
SINK TOWEL-FIXTURE TOWEL-LOOP FIXTURES)
|
||
|
(ACTION REST-ROOM-F)>
|
||
|
|
||
|
<ROOM BOOTH-1
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "first booth")
|
||
|
(ADJECTIVE FIRST)
|
||
|
(SYNONYM BOOTH ROOM)
|
||
|
(LINE 3)
|
||
|
(CORRIDOR *2000*)
|
||
|
(STATION HALL-1-DINER)
|
||
|
(EAST TO HALL-1-DINER)
|
||
|
(OUT TO HALL-1-DINER)
|
||
|
(GLOBAL WINDOW-1 SCENERY-LEFT ;STOP-CORD MENU ITEMS ;CHAIR)
|
||
|
(GENERIC GENERIC-BOOTH-F)
|
||
|
(ACTION BOOTH-F)>
|
||
|
|
||
|
<OBJECT TABLE-1
|
||
|
(LOC BOOTH-1)
|
||
|
(ADJECTIVE DINING)
|
||
|
(SYNONYM TABLE)
|
||
|
(FLAGS SEARCHBIT SURFACEBIT OPENBIT NDESCBIT ;VEHBIT)
|
||
|
(CAPACITY 100)
|
||
|
(DESC "dining table")>
|
||
|
|
||
|
<ROOM BOOTH-2
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "second booth")
|
||
|
(ADJECTIVE SECOND)
|
||
|
(SYNONYM BOOTH ROOM)
|
||
|
(STATION HALL-2-DINER)
|
||
|
(LINE 3)
|
||
|
(CORRIDOR *4000*)
|
||
|
(EAST TO HALL-2-DINER)
|
||
|
(OUT TO HALL-2-DINER)
|
||
|
(GLOBAL WINDOW-2 SCENERY-LEFT ;STOP-CORD MENU ITEMS ;CHAIR)
|
||
|
(GENERIC GENERIC-BOOTH-F)
|
||
|
(ACTION BOOTH-F)>
|
||
|
|
||
|
<OBJECT TABLE-2
|
||
|
(LOC BOOTH-2)
|
||
|
(ADJECTIVE DINING)
|
||
|
(SYNONYM TABLE)
|
||
|
(FLAGS SEARCHBIT SURFACEBIT OPENBIT NDESCBIT ;VEHBIT)
|
||
|
(CAPACITY 100)
|
||
|
(DESC "dining table")>
|
||
|
|
||
|
<ROOM BOOTH-3
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "third booth")
|
||
|
(ADJECTIVE THIRD LAST)
|
||
|
(SYNONYM BOOTH ROOM)
|
||
|
(STATION HALL-3-DINER)
|
||
|
(LINE 3)
|
||
|
(CORRIDOR *10000*)
|
||
|
(EAST TO HALL-3-DINER)
|
||
|
(OUT TO HALL-3-DINER)
|
||
|
(GLOBAL WINDOW-3 SCENERY-LEFT ;STOP-CORD MENU ITEMS ;CHAIR)
|
||
|
(GENERIC GENERIC-BOOTH-F)
|
||
|
(ACTION BOOTH-F)>
|
||
|
|
||
|
<OBJECT TABLE-3
|
||
|
(LOC BOOTH-3)
|
||
|
(ADJECTIVE DINING)
|
||
|
(SYNONYM TABLE)
|
||
|
(FLAGS SEARCHBIT SURFACEBIT OPENBIT NDESCBIT ;VEHBIT)
|
||
|
(CAPACITY 100)
|
||
|
(DESC "dining table")>
|
||
|
|
||
|
<ROUTINE GENERIC-BOOTH-F (X)
|
||
|
<COND (<EQUAL? ,HERE ,HALL-1-DINER ,BOOTH-1> ,BOOTH-1)
|
||
|
(<EQUAL? ,HERE ,HALL-2-DINER ,BOOTH-2> ,BOOTH-2)
|
||
|
(<EQUAL? ,HERE ,HALL-3-DINER ,BOOTH-3> ,BOOTH-3)
|
||
|
(<REMOTE-VERB?> <RFALSE>)
|
||
|
(T
|
||
|
<SETG CLOCK-WAIT T>
|
||
|
<TELL "(You can't see any booth here.)" CR>
|
||
|
,NOT-HERE-OBJECT)>>
|
||
|
|
||
|
<OBJECT EQUIPMENT
|
||
|
(LOC LOCAL-GLOBALS)
|
||
|
(DESC "equipment")
|
||
|
(SYNONYM EQUIPMENT SUPPLIES)
|
||
|
(ACTION RANDOM-PSEUDO)>
|
||
|
|
||
|
<ROOM PANTRY
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "pantry")
|
||
|
(ADJECTIVE FOURTH)
|
||
|
(SYNONYM PANTRY ROOM)
|
||
|
(STATION HALL-4-DINER)
|
||
|
(LINE 3)
|
||
|
(CORRIDOR *20000*)
|
||
|
(EAST TO HALL-4-DINER)
|
||
|
(OUT TO HALL-4-DINER)
|
||
|
(GLOBAL WINDOW-4 SCENERY-LEFT ;STOP-CORD EQUIPMENT)
|
||
|
(ACTION PANTRY-F)>
|
||
|
|
||
|
<ROUTINE PANTRY-F ("OPTIONAL" (RARG <>))
|
||
|
<COND (<==? .RARG ,M-LOOK>
|
||
|
<ROOM-IS-CROWDED ,PANTRY>)
|
||
|
(<==? .RARG ,M-END>
|
||
|
<COND (<IN? ,WAITER ,PANTRY>
|
||
|
<INVASION? ,WAITER>
|
||
|
<RFALSE>)>)>>
|
||
|
|
||
|
<GLOBAL INVASION-TIME 0>
|
||
|
<ROUTINE INVASION? (PER)
|
||
|
<COND (<L? 0 <GETP .PER ,P?SOUTH>> <RFALSE>) ;"(partly) bribed"
|
||
|
(<VERB? $CALL GIVE KISS SMILE> <RFALSE>)
|
||
|
(<==? ,INVASION-TIME ,PRESENT-TIME> <RFALSE>)
|
||
|
(<AND ;,P-WON <NOT ,CLOCK-WAIT>>
|
||
|
<SETG INVASION-TIME ,PRESENT-TIME>
|
||
|
<TELL
|
||
|
CHE .PER make " a pushing motion with one hand and points forward with
|
||
|
the other. " CHE .PER seem " angry that you're invading" HIS .PER
|
||
|
" space." CR>)>>
|
||
|
|
||
|
<ROOM GALLEY
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "galley")
|
||
|
(ADJECTIVE FIFTH)
|
||
|
(SYNONYM GALLEY KITCHEN ROOM)
|
||
|
(STATION HALL-5-DINER)
|
||
|
(LINE 3)
|
||
|
(CORRIDOR *40000*)
|
||
|
(EAST TO HALL-5-DINER)
|
||
|
(OUT TO HALL-5-DINER)
|
||
|
(GLOBAL WINDOW-5 SCENERY-LEFT ;STOP-CORD EQUIPMENT)
|
||
|
(ACTION GALLEY-F)>
|
||
|
|
||
|
<ROUTINE GALLEY-F ("OPTIONAL" (RARG <>))
|
||
|
<COND (<==? .RARG ,M-LOOK>
|
||
|
<ROOM-IS-CROWDED ,GALLEY>)
|
||
|
(<==? .RARG ,M-END>
|
||
|
<COND (<IN? ,COOK ,GALLEY>
|
||
|
<INVASION? ,COOK>
|
||
|
<RFALSE>)>)>>
|
||
|
|
||
|
<OBJECT COUNTER-GALLEY
|
||
|
(LOC GALLEY)
|
||
|
(DESC "counter")
|
||
|
(ADJECTIVE CROWDED)
|
||
|
(SYNONYM COUNTER)
|
||
|
(FLAGS SEARCHBIT SURFACEBIT OPENBIT NDESCBIT ;VEHBIT)
|
||
|
(CAPACITY 200)
|
||
|
(ACTION COUNTER-GALLEY-F)>
|
||
|
|
||
|
<ROUTINE COUNTER-GALLEY-F ()
|
||
|
<COND (<VERB? EXAMINE LOOK-ON>
|
||
|
<TELL
|
||
|
"The counter is crowded with kitchen hardware and software." CR>)>>
|
||
|
|
||
|
<ROUTINE ROOM-IS-CROWDED (RM)
|
||
|
<TELL
|
||
|
CTHE .RM " is crowded with supplies and equipment. The locked cabinets
|
||
|
are probably filled with ">
|
||
|
<COND (<==? .RM ,PANTRY>
|
||
|
<TELL "dishes, tableware, and napkins">)
|
||
|
(<==? .RM ,GALLEY>
|
||
|
<TELL
|
||
|
"food, kettles, and kitchen tools. There's a crowded counter for preparing
|
||
|
food">)>
|
||
|
<TELL
|
||
|
". If you want to find something, you'll have to search for it." CR>>
|
||
|
|
||
|
<ROUTINE BOOTH-F ("OPTIONAL" (RARG <>))
|
||
|
<COND (<EQUAL? .RARG ,M-ENTER>
|
||
|
<COND (,DEBUG <TELL "[booth entry routine]" CR>)>
|
||
|
<COND (<IN? ,WAITER ,HERE>
|
||
|
<PUTP ,WAITER ,P?LDESC 25 ;"waiting for your order">
|
||
|
<RFALSE>)
|
||
|
(<NOT <EQUAL? ,SCENERY-OBJ ,STATION-GRNZ>>
|
||
|
<ESTABLISH-GOAL ,WAITER ,HERE>
|
||
|
<RFALSE>)
|
||
|
(T <RFALSE>)>)
|
||
|
(<EQUAL? .RARG ,M-END>
|
||
|
<COND (<AND <EXIT-VERB?>
|
||
|
<OR <EQUAL? ,HERE <META-LOC ,FOOD>>
|
||
|
<EQUAL? ,HERE <META-LOC ,CUP-A> <META-LOC ,CUP-B>>>>
|
||
|
<ESTABLISH-GOAL ,WAITER ,HERE>
|
||
|
<RFALSE>)>)
|
||
|
(<EQUAL? .RARG ,M-LOOK>
|
||
|
<FSET ,BOOTH-1 ,TOUCHBIT>
|
||
|
<FSET ,BOOTH-2 ,TOUCHBIT>
|
||
|
<FSET ,BOOTH-3 ,TOUCHBIT>
|
||
|
<BOOTH-DESC>
|
||
|
<MOTION-PREFIX>
|
||
|
<RTRUE>)
|
||
|
(<EQUAL? .RARG ,M-BEG>
|
||
|
<PERSON-TAKES-GUN?>)>>
|
||
|
|
||
|
<ROUTINE BOOTH-DESC ()
|
||
|
<TELL
|
||
|
"This is a diner booth on the " ,TRAIN-NAME ". In fact, it looks as if
|
||
|
the railway company just converted a first-class coach into a diner by
|
||
|
removing the door and adding a table to each compartment." CR>>
|
||
|
|
||
|
"Allusion to Hitchcock's THE LADY VANISHES --"
|
||
|
|
||
|
<OBJECT FROY
|
||
|
(DESC "window writing")
|
||
|
(ADJECTIVE WINDOW)
|
||
|
(SYNONYM WRITING SOMETHING MESSAGE)
|
||
|
(LDESC "There seems to be something written on the window.")
|
||
|
(FLAGS READBIT)
|
||
|
(ACTION FROY-F)>
|
||
|
|
||
|
<ROUTINE FROY-F ()
|
||
|
<COND (<VERB? ANALYZE EXAMINE READ>
|
||
|
<COND (<NOT <FSET? ,FROY ,TOUCHBIT>>
|
||
|
<FSET ,FROY ,TOUCHBIT>
|
||
|
<FSET ,FROY ,NDESCBIT>
|
||
|
<TELL
|
||
|
"It's hard to read in this light, but the writing seems to say \"FROY.\"" CR>)
|
||
|
(T
|
||
|
<TELL "Hmmm... The writing seems to have vanished." CR>)>)>>
|
||
|
|
||
|
<ROOM REST-ROOM-REAR-DINER
|
||
|
(LOC ROOMS)
|
||
|
;(OTHER OTHER-REST-ROOM-REAR)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "rear restroom")
|
||
|
(ADJECTIVE SOUTH S REAR R AFT REST)
|
||
|
(SYNONYM RESTROOM BATHROOM LAVATORY TOILET ROOM)
|
||
|
(GENERIC GENERIC-REST-ROOM-F)
|
||
|
(LINE 3)
|
||
|
(STATION VESTIBULE-REAR-DINER)
|
||
|
;(SOUTH TO VESTIBULE-REAR-DINER IF REST-ROOM-REAR-DINER-DOOR IS OPEN)
|
||
|
(WEST TO VESTIBULE-REAR-DINER IF REST-ROOM-REAR-DINER-DOOR IS OPEN)
|
||
|
(OUT TO VESTIBULE-REAR-DINER IF REST-ROOM-REAR-DINER-DOOR IS OPEN)
|
||
|
(GLOBAL REST-ROOM-REAR-DINER-DOOR ;STOP-CORD MIRROR TOILET
|
||
|
SINK TOWEL-FIXTURE TOWEL-LOOP FIXTURES)
|
||
|
(ACTION REST-ROOM-F)>
|
||
|
|
||
|
<OBJECT REST-ROOM-REAR-DINER-DOOR
|
||
|
(LOC LOCAL-GLOBALS)
|
||
|
(DESC "restroom door")
|
||
|
(ADJECTIVE RESTROOM BATHROOM LAVATORY TOILET ROOM SMALL)
|
||
|
(SYNONYM DOOR)
|
||
|
(FLAGS DOORBIT)
|
||
|
(ACTION REST-ROOM-REAR-DINER-DOOR-F)>
|
||
|
|
||
|
<ROUTINE REST-ROOM-REAR-DINER-DOOR-F ()
|
||
|
<REST-ROOM-DOOR-F ,REST-ROOM-REAR-DINER-DOOR ,REST-ROOM-REAR-DINER>>
|
||
|
|
||
|
<ROOM VESTIBULE-FWD-DINER
|
||
|
(LOC ROOMS)
|
||
|
;(OTHER OTHER-VESTIBULE-FWD)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "forward vestibule")
|
||
|
(ADJECTIVE NORTH N FORWARD FRONT F FORE)
|
||
|
(SYNONYM VESTIBULE V)
|
||
|
(GENERIC GENERIC-VESTIBULE-F)
|
||
|
(NORTH PER NEXT-CAR-TO-FWD-F)
|
||
|
(SOUTH TO HALL-1-DINER IF VESTIBULE-FWD-DOOR ;-DINER IS OPEN)
|
||
|
(EAST TO REST-ROOM-FWD-DINER IF REST-ROOM-FWD-DOOR IS OPEN)
|
||
|
(IN TO REST-ROOM-FWD-DINER IF REST-ROOM-FWD-DOOR IS OPEN)
|
||
|
(LINE 3)
|
||
|
(STATION VESTIBULE-FWD-DINER)
|
||
|
(GLOBAL REST-ROOM-FWD-DOOR VESTIBULE-FWD-DOOR ;-DINER
|
||
|
VESTIBULE-FWD-WINDOW ;STOP-CORD)
|
||
|
(CORRIDOR -1)
|
||
|
(ACTION VESTIBULE-FWD-F)>
|
||
|
|
||
|
<OBJECT REST-ROOM-FWD-DINER-DOOR
|
||
|
(LOC LOCAL-GLOBALS)
|
||
|
(DESC "restroom door")
|
||
|
(ADJECTIVE RESTROOM BATHROOM LAVATORY TOILET ROOM SMALL)
|
||
|
(SYNONYM DOOR)
|
||
|
(FLAGS DOORBIT)
|
||
|
(ACTION REST-ROOM-FWD-DINER-DOOR-F)>
|
||
|
|
||
|
<ROUTINE REST-ROOM-FWD-DINER-DOOR-F ()
|
||
|
<REST-ROOM-DOOR-F ,REST-ROOM-FWD-DINER-DOOR ,REST-ROOM-FWD-DINER>>
|
||
|
|
||
|
<ROOM HALL-1-DINER
|
||
|
(LOC ROOMS)
|
||
|
(DESC "forward end")
|
||
|
(ADJECTIVE NORTH N FORWARD FRONT F FORE)
|
||
|
(SYNONYM END)
|
||
|
(GENERIC GENERIC-HALL-1-F)
|
||
|
(STATION HALL-1-DINER)
|
||
|
(LINE 3)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(WEST TO BOOTH-1)
|
||
|
(IN TO BOOTH-1)
|
||
|
(GLOBAL HALL-WINDOW SCENERY-RIGHT VESTIBULE-FWD-DOOR ;-DINER)
|
||
|
(NORTH TO VESTIBULE-FWD-DINER IF VESTIBULE-FWD-DOOR ;-DINER IS OPEN)
|
||
|
(SOUTH TO HALL-2-DINER)
|
||
|
(CORRIDOR *2002*)
|
||
|
(ACTION HALL-F)>
|
||
|
|
||
|
<ROOM HALL-2-DINER
|
||
|
(LOC ROOMS)
|
||
|
(DESC "forward middle")
|
||
|
(ADJECTIVE NORTH N FORWARD FRONT F FORE)
|
||
|
(SYNONYM MIDDLE)
|
||
|
(GENERIC GENERIC-MIDDLE-F)
|
||
|
(STATION HALL-2-DINER)
|
||
|
(LINE 3)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(WEST TO BOOTH-2)
|
||
|
(IN TO BOOTH-2)
|
||
|
(GLOBAL HALL-WINDOW SCENERY-RIGHT)
|
||
|
(NORTH TO HALL-1-DINER)
|
||
|
(SOUTH TO HALL-3-DINER)
|
||
|
(CORRIDOR *4002*)
|
||
|
(ACTION HALL-F)>
|
||
|
|
||
|
<ROOM HALL-3-DINER
|
||
|
(LOC ROOMS)
|
||
|
(DESC "middle")
|
||
|
(SYNONYM MIDDLE)
|
||
|
(GENERIC GENERIC-MIDDLE-F)
|
||
|
(STATION HALL-3-DINER)
|
||
|
(LINE 3)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(WEST TO BOOTH-3)
|
||
|
(IN TO BOOTH-3)
|
||
|
(GLOBAL HALL-WINDOW SCENERY-RIGHT)
|
||
|
(NORTH TO HALL-2-DINER)
|
||
|
(SOUTH TO HALL-4-DINER)
|
||
|
(CORRIDOR *10002*)
|
||
|
(ACTION HALL-3-F)>
|
||
|
|
||
|
<ROOM HALL-4-DINER
|
||
|
(DESC "rear middle")
|
||
|
(ADJECTIVE SOUTH S REAR R AFT)
|
||
|
(SYNONYM MIDDLE)
|
||
|
(GENERIC GENERIC-MIDDLE-F)
|
||
|
(LOC ROOMS)
|
||
|
(STATION HALL-4-DINER)
|
||
|
(LINE 3)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(WEST TO PANTRY)
|
||
|
(IN TO PANTRY)
|
||
|
(GLOBAL HALL-WINDOW SCENERY-RIGHT)
|
||
|
(SOUTH TO HALL-5-DINER)
|
||
|
(NORTH TO HALL-3-DINER)
|
||
|
(CORRIDOR *20002*)
|
||
|
(ACTION HALL-F)>
|
||
|
|
||
|
<ROOM HALL-5-DINER
|
||
|
(DESC "rear end")
|
||
|
(ADJECTIVE SOUTH S REAR R AFT)
|
||
|
(SYNONYM END)
|
||
|
(GENERIC GENERIC-HALL-5-F)
|
||
|
(LOC ROOMS)
|
||
|
(STATION HALL-5-DINER)
|
||
|
(LINE 3)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(WEST TO GALLEY)
|
||
|
(IN TO GALLEY)
|
||
|
(GLOBAL HALL-WINDOW SCENERY-RIGHT VESTIBULE-REAR-DOOR ;-DINER)
|
||
|
(SOUTH TO VESTIBULE-REAR-DINER IF VESTIBULE-REAR-DOOR ;-DINER IS OPEN)
|
||
|
(NORTH TO HALL-4-DINER)
|
||
|
(CORRIDOR *40002*)
|
||
|
(ACTION HALL-F)>
|
||
|
|
||
|
<ROOM VESTIBULE-REAR-DINER
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "rear vestibule")
|
||
|
(ADJECTIVE SOUTH S REAR R AFT)
|
||
|
(SYNONYM VESTIBULE V)
|
||
|
(GENERIC GENERIC-VESTIBULE-F)
|
||
|
(SOUTH PER NEXT-CAR-TO-REAR-F)
|
||
|
(NORTH TO HALL-5-DINER IF VESTIBULE-REAR-DOOR ;-DINER IS OPEN)
|
||
|
(EAST TO REST-ROOM-REAR-DINER IF REST-ROOM-REAR-DOOR IS OPEN)
|
||
|
(IN TO REST-ROOM-REAR-DINER IF REST-ROOM-REAR-DOOR IS OPEN)
|
||
|
(LINE 3)
|
||
|
(STATION VESTIBULE-REAR-DINER)
|
||
|
(GLOBAL REST-ROOM-REAR-DOOR VESTIBULE-REAR-DOOR ;-DINER
|
||
|
VESTIBULE-REAR-WINDOW ;STOP-CORD LADDER)
|
||
|
(WEST PER DETRAIN-F)
|
||
|
(OUT PER DETRAIN-F)
|
||
|
(DOWN PER DETRAIN-F)
|
||
|
(UP PER LADDER-EXIT-F)
|
||
|
(CORRIDOR -1)
|
||
|
(ACTION VESTIBULE-REAR-F)>
|
||
|
|
||
|
<OBJECT MACHINE
|
||
|
(LOC VESTIBULE-REAR-DINER)
|
||
|
(DESC "cigarette machine")
|
||
|
(ADJECTIVE CIGARETTE VENDING PLASTIC)
|
||
|
(SYNONYM MACHINE PANEL)
|
||
|
(FLAGS CONTBIT OPENBIT)
|
||
|
(CAPACITY 99)
|
||
|
(FDESC
|
||
|
"A cigarette machine stands in one corner, waiting to be either used or
|
||
|
discarded -- it's hard to say which.")
|
||
|
(ACTION MACHINE-F)>
|
||
|
|
||
|
<ROUTINE MACHINE-F ("AUX" P)
|
||
|
<COND (<AND <DOBJ? MACHINE> <VERB? OPEN CLOSE>>
|
||
|
<YOU-CANT>)
|
||
|
(<VERB? ANALYZE EXAMINE LOOK-INSIDE LOOK-THROUGH>
|
||
|
<TELL
|
||
|
"The plastic panel is so scratched and grimy that you can barely see
|
||
|
the display of cigarette packs inside." CR>)
|
||
|
(<VERB? MUNG>
|
||
|
<TELL "It seems that someone else beat you to it." CR>)
|
||
|
(<AND <VERB? ATTACK SLAP SHAKE>
|
||
|
<NOT <FSET? ,MACHINE ,MUNGBIT>>
|
||
|
<NOT <FSET? ,CIGARETTE ,TOUCHBIT>>>
|
||
|
<SET P <LOC ,CIGARETTE>>
|
||
|
<COND (<AND <FSET? .P ,PERSONBIT> <==? 5 <GETP .P ,P?LDESC>>>
|
||
|
<FCLEAR .P ,TOUCHBIT>
|
||
|
<PUTP .P ,P?LDESC 4 ;"gum">)>
|
||
|
<FSET ,CIGARETTE ,TOUCHBIT>
|
||
|
<FSET ,CIGARETTE ,TAKEBIT>
|
||
|
<MOVE ,CIGARETTE ,HERE>
|
||
|
<THIS-IS-IT ,CIGARETTE>
|
||
|
<TELL
|
||
|
"The machine shudders and disgorges a single cigarette onto the floor." CR>)
|
||
|
(<VERB? ATTACK SLAP SHAKE PUT-IN>
|
||
|
<COND (<VERB? PUT-IN>
|
||
|
<COND (<AND ,P-DOLLAR-FLAG
|
||
|
<DOBJ? INTNUM GLOBAL-MONEY>
|
||
|
<NOT <L? <GETP ,PLAYER ,P?SOUTH> ,P-AMOUNT>>>
|
||
|
<COND (<HARD?>
|
||
|
<FSET ,MACHINE ,MUNGBIT>)>
|
||
|
<PUTP ,PLAYER ,P?SOUTH
|
||
|
<- <GETP ,PLAYER ,P?SOUTH> ,P-AMOUNT>>)
|
||
|
(T <YOU-CANT> <RTRUE>)>)>
|
||
|
<COND (<PROB 50>
|
||
|
<TELL "\"Whirr, buzz">)
|
||
|
(T
|
||
|
<TELL "\"Whizz, burr">)>
|
||
|
<TELL ", click!\" Nothing else happens." CR>)>>
|
||
|
|
||
|
<ROOM LIMBO-FWD-DINER
|
||
|
(DESC "diner forward limbo")
|
||
|
(LOC ROOMS)
|
||
|
(SOUTH TO VESTIBULE-FWD-DINER)
|
||
|
(LINE 3)
|
||
|
(STATION LIMBO-FWD-DINER)>
|
||
|
|
||
|
<ROOM LIMBO-REAR-DINER
|
||
|
(DESC "diner rear limbo")
|
||
|
(LOC ROOMS)
|
||
|
(NORTH TO VESTIBULE-REAR-DINER)
|
||
|
(LINE 3)
|
||
|
(STATION LIMBO-REAR-DINER)>
|
||
|
|
||
|
;<OBJECT VESTIBULE-FWD-DINER-DOOR
|
||
|
(LOC LOCAL-GLOBALS)
|
||
|
(DESC "swinging door")
|
||
|
(FLAGS DOORBIT TRANSBIT)
|
||
|
(ADJECTIVE METAL VESTIBULE HALL SWINGING)
|
||
|
(SYNONYM DOOR)
|
||
|
(LDESC "This is a swinging metal door with a brass handle.")
|
||
|
(ACTION VESTIBULE-FWD-DINER-DOOR-F)>
|
||
|
|
||
|
;<ROUTINE VESTIBULE-FWD-DINER-DOOR-F ()
|
||
|
<VESTIBULE-DOOR-F ,VESTIBULE-FWD-DINER-DOOR>>
|
||
|
|
||
|
;<OBJECT VESTIBULE-REAR-DINER-DOOR
|
||
|
(LOC LOCAL-GLOBALS)
|
||
|
(DESC "swinging door")
|
||
|
(FLAGS DOORBIT TRANSBIT)
|
||
|
(ADJECTIVE METAL VESTIBULE HALL SWINGING)
|
||
|
(SYNONYM DOOR)
|
||
|
(LDESC "This is a swinging metal door with a brass handle.")
|
||
|
(ACTION VESTIBULE-REAR-DINER-DOOR-F)>
|
||
|
|
||
|
;<ROUTINE VESTIBULE-REAR-DINER-DOOR-F ()
|
||
|
<VESTIBULE-DOOR-F ,VESTIBULE-REAR-DINER-DOOR>>
|
||
|
|
||
|
<GLOBAL DINER-CAR 3> ;"Diner can't be first or last car."
|
||
|
<GLOBAL DINER-TOUCHED <>>
|
||
|
<GLOBAL FANCY-CAR 0>
|
||
|
|
||
|
<GLOBAL CAR-ROOMS-COMPS-DINER
|
||
|
<PLTABLE BOOTH-1 BOOTH-2 BOOTH-3 PANTRY GALLEY>>
|
||
|
|
||
|
<GLOBAL CAR-ROOMS-DINER
|
||
|
<PLTABLE REST-ROOM-FWD-DINER
|
||
|
BOOTH-1 BOOTH-2 BOOTH-3 PANTRY GALLEY REST-ROOM-REAR-DINER
|
||
|
VESTIBULE-FWD-DINER HALL-1-DINER HALL-2-DINER HALL-3-DINER
|
||
|
HALL-4-DINER HALL-5-DINER VESTIBULE-REAR-DINER>>
|
||
|
|
||
|
<GLOBAL CAR-ROOMS-FANCY
|
||
|
<PLTABLE ;REST-ROOM-FWD-FANCY
|
||
|
SUITE-1 SUITE-2 SUITE-3 ;REST-ROOM-REAR-FANCY
|
||
|
VESTIBULE-FWD-FANCY HALL-1-FANCY HALL-2-FANCY HALL-3-FANCY
|
||
|
VESTIBULE-REAR-FANCY>>
|
||
|
|
||
|
<ROUTINE PICK-ONE-BOOTH ("AUX" X)
|
||
|
<SET X <RANDOM 3>>
|
||
|
<COND (<==? .X 1> ,BOOTH-1)
|
||
|
(<==? .X 2> ,BOOTH-2)
|
||
|
(<==? .X 3> ,BOOTH-3)>>
|
||
|
|
||
|
<ROOM VESTIBULE-FWD-FANCY
|
||
|
(LOC ROOMS)
|
||
|
;(OTHER OTHER-VESTIBULE-FWD)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "forward vestibule")
|
||
|
(ADJECTIVE NORTH N FORWARD FRONT F FORE)
|
||
|
(SYNONYM VESTIBULE V)
|
||
|
(GENERIC GENERIC-VESTIBULE-F)
|
||
|
(NORTH PER NEXT-CAR-TO-FWD-F)
|
||
|
(SOUTH TO HALL-1-FANCY IF VESTIBULE-FWD-DOOR ;-FANCY IS OPEN)
|
||
|
(LINE 6)
|
||
|
(STATION VESTIBULE-FWD-FANCY)
|
||
|
(GLOBAL VESTIBULE-FWD-DOOR ;-FANCY VESTIBULE-FWD-WINDOW ;STOP-CORD)
|
||
|
(CORRIDOR -1)
|
||
|
(ACTION VESTIBULE-FWD-F)>
|
||
|
|
||
|
<ROOM HALL-1-FANCY
|
||
|
(LOC ROOMS)
|
||
|
(DESC "forward end")
|
||
|
(ADJECTIVE NORTH N FORWARD FRONT F FORE)
|
||
|
(SYNONYM END)
|
||
|
(GENERIC GENERIC-HALL-1-F)
|
||
|
(STATION HALL-1-FANCY)
|
||
|
(LINE 6)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(WEST TO SUITE-1 IF SUITE-1-DOOR IS OPEN)
|
||
|
(IN TO SUITE-1 IF SUITE-1-DOOR IS OPEN)
|
||
|
(NORTH TO VESTIBULE-FWD-FANCY IF VESTIBULE-FWD-DOOR IS OPEN)
|
||
|
(SOUTH TO HALL-2-FANCY)
|
||
|
(CORRIDOR *10*)
|
||
|
(GLOBAL SUITE-1-DOOR HALL-WINDOW VESTIBULE-FWD-DOOR
|
||
|
SCENERY-RIGHT)
|
||
|
(ACTION HALL-FANCY-F)>
|
||
|
|
||
|
<OBJECT SUITE-1-DOOR
|
||
|
(LOC LOCAL-GLOBALS)
|
||
|
(DESC "compartment door")
|
||
|
(ADJECTIVE COMPARTMENT C)
|
||
|
(SYNONYM DOOR)
|
||
|
(FLAGS DOORBIT LOCKED)
|
||
|
(ACTION SUITE-1-DOOR-F)>
|
||
|
|
||
|
<ROUTINE SUITE-1-DOOR-F () <COMPARTMENT-DOOR-F ,SUITE-1-DOOR>>
|
||
|
|
||
|
<ROOM HALL-2-FANCY
|
||
|
(LOC ROOMS)
|
||
|
(DESC "middle")
|
||
|
(SYNONYM MIDDLE)
|
||
|
(GENERIC GENERIC-MIDDLE-F)
|
||
|
(STATION HALL-2-FANCY)
|
||
|
(LINE 6)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(WEST TO SUITE-2 IF SUITE-2-DOOR IS OPEN)
|
||
|
(IN TO SUITE-2 IF SUITE-2-DOOR IS OPEN)
|
||
|
(GLOBAL SUITE-2-DOOR HALL-WINDOW SCENERY-RIGHT)
|
||
|
(NORTH TO HALL-1-FANCY)
|
||
|
(SOUTH TO HALL-3-FANCY)
|
||
|
(CORRIDOR *10*)
|
||
|
(ACTION HALL-FANCY-F ;HALL-3-F)>
|
||
|
|
||
|
<OBJECT SUITE-2-DOOR
|
||
|
(LOC LOCAL-GLOBALS)
|
||
|
(DESC "compartment door")
|
||
|
(ADJECTIVE COMPARTMENT C)
|
||
|
(SYNONYM DOOR)
|
||
|
(FLAGS DOORBIT LOCKED)
|
||
|
(ACTION SUITE-2-DOOR-F)>
|
||
|
|
||
|
<ROUTINE SUITE-2-DOOR-F () <COMPARTMENT-DOOR-F ,SUITE-2-DOOR>>
|
||
|
|
||
|
<ROOM HALL-3-FANCY
|
||
|
(LOC ROOMS)
|
||
|
(DESC "rear end")
|
||
|
(ADJECTIVE SOUTH S REAR R AFT)
|
||
|
(SYNONYM END)
|
||
|
(GENERIC GENERIC-HALL-5-F)
|
||
|
(STATION HALL-3-FANCY)
|
||
|
(LINE 6)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(WEST TO SUITE-3 IF SUITE-3-DOOR IS OPEN)
|
||
|
(IN TO SUITE-3 IF SUITE-3-DOOR IS OPEN)
|
||
|
(GLOBAL SUITE-3-DOOR HALL-WINDOW VESTIBULE-REAR-DOOR
|
||
|
SCENERY-RIGHT)
|
||
|
(SOUTH TO VESTIBULE-REAR-FANCY IF VESTIBULE-REAR-DOOR IS OPEN)
|
||
|
(NORTH TO HALL-2-FANCY)
|
||
|
(CORRIDOR *10*)
|
||
|
(ACTION HALL-FANCY-F)>
|
||
|
|
||
|
<OBJECT SUITE-3-DOOR
|
||
|
(LOC LOCAL-GLOBALS)
|
||
|
(DESC "compartment door")
|
||
|
(ADJECTIVE COMPARTMENT C)
|
||
|
(SYNONYM DOOR)
|
||
|
(FLAGS DOORBIT LOCKED)
|
||
|
(ACTION SUITE-3-DOOR-F)>
|
||
|
|
||
|
<ROUTINE SUITE-3-DOOR-F () <COMPARTMENT-DOOR-F ,SUITE-3-DOOR>>
|
||
|
|
||
|
<ROOM VESTIBULE-REAR-FANCY
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "rear vestibule")
|
||
|
(ADJECTIVE SOUTH S REAR R AFT)
|
||
|
(SYNONYM VESTIBULE V)
|
||
|
(GENERIC GENERIC-VESTIBULE-F)
|
||
|
(SOUTH PER NEXT-CAR-TO-REAR-F)
|
||
|
(NORTH TO HALL-3-FANCY IF VESTIBULE-REAR-DOOR ;-FANCY IS OPEN)
|
||
|
(LINE 6)
|
||
|
(STATION VESTIBULE-REAR-FANCY)
|
||
|
(GLOBAL VESTIBULE-REAR-DOOR ;-FANCY VESTIBULE-REAR-WINDOW LADDER)
|
||
|
(WEST PER DETRAIN-F)
|
||
|
(OUT PER DETRAIN-F)
|
||
|
(DOWN PER DETRAIN-F)
|
||
|
(UP PER LADDER-EXIT-F)
|
||
|
(CORRIDOR -1)
|
||
|
(ACTION VESTIBULE-REAR-F)>
|
||
|
|
||
|
<ROOM LIMBO-FWD-FANCY
|
||
|
(DESC "fancy forward limbo")
|
||
|
(LOC ROOMS)
|
||
|
(SOUTH TO VESTIBULE-FWD-FANCY)
|
||
|
(LINE 6)
|
||
|
(STATION LIMBO-FWD-FANCY)>
|
||
|
|
||
|
<ROOM LIMBO-REAR-FANCY
|
||
|
(DESC "fancy rear limbo")
|
||
|
(LOC ROOMS)
|
||
|
(NORTH TO VESTIBULE-REAR-FANCY)
|
||
|
(LINE 6)
|
||
|
(STATION LIMBO-REAR-FANCY)>
|
||
|
|
||
|
<ROOM SUITE-1
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "first suite")
|
||
|
(ADJECTIVE FIRST 1ST \#1)
|
||
|
(SYNONYM SUITE ROOM)
|
||
|
(STATION HALL-1-FANCY)
|
||
|
(LINE 6)
|
||
|
(EAST TO HALL-1-FANCY IF SUITE-1-DOOR IS OPEN)
|
||
|
(OUT TO HALL-1-FANCY IF SUITE-1-DOOR IS OPEN)
|
||
|
(GLOBAL SUITE-1-DOOR WINDOW-1 SCENERY-LEFT ;STOP-CORD)
|
||
|
;(GENERIC GENERIC-COMPARTMENT-F)
|
||
|
(ACTION SUITE-F)>
|
||
|
|
||
|
<ROOM SUITE-2
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "second suite")
|
||
|
(ADJECTIVE SECOND 2ND \#2)
|
||
|
(SYNONYM SUITE ROOM)
|
||
|
(STATION HALL-2-FANCY)
|
||
|
(LINE 6)
|
||
|
(EAST TO HALL-2-FANCY IF SUITE-2-DOOR IS OPEN)
|
||
|
(OUT TO HALL-2-FANCY IF SUITE-2-DOOR IS OPEN)
|
||
|
(GLOBAL SUITE-2-DOOR WINDOW-2 SCENERY-LEFT ;STOP-CORD)
|
||
|
;(GENERIC GENERIC-COMPARTMENT-F)
|
||
|
(ACTION SUITE-F)>
|
||
|
|
||
|
<ROOM SUITE-3
|
||
|
(LOC ROOMS)
|
||
|
(FLAGS ;RLANDBIT ONBIT)
|
||
|
(DESC "third suite")
|
||
|
(ADJECTIVE THIRD 3RD \#3 LAST)
|
||
|
(SYNONYM SUITE ROOM)
|
||
|
(STATION HALL-3-FANCY)
|
||
|
(LINE 6)
|
||
|
(EAST TO HALL-3-FANCY IF SUITE-3-DOOR IS OPEN)
|
||
|
(OUT TO HALL-3-FANCY IF SUITE-3-DOOR IS OPEN)
|
||
|
(GLOBAL SUITE-3-DOOR WINDOW-3 SCENERY-LEFT ;STOP-CORD)
|
||
|
;(GENERIC GENERIC-COMPARTMENT-F)
|
||
|
(ACTION SUITE-F)>
|
||
|
|
||
|
<ROUTINE SUITE-F ("OPTIONAL" (RARG <>) "AUX" N)
|
||
|
<COND (.RARG
|
||
|
<V-FOO>
|
||
|
<RTRUE>)>>
|
||
|
|
||
|
<ROUTINE HALL-FANCY-F ("OPTIONAL" (RARG <>) "AUX" X (TOUCHED <>) (VAL <>))
|
||
|
<COND (<OR <FSET? ,HALL-1-FANCY ,TOUCHBIT>
|
||
|
<FSET? ,HALL-1-FANCY ,TOUCHBIT>
|
||
|
<FSET? ,HALL-1-FANCY ,TOUCHBIT>>
|
||
|
<SET TOUCHED T>)>
|
||
|
<COND (<OR <EQUAL? .RARG ,M-LOOK>
|
||
|
<AND <ZERO? .RARG> <VERB? LOOK>>>
|
||
|
<FSET ,HERE ,TOUCHBIT>
|
||
|
<TELL "This is the " D ,HERE " of the corridor.">
|
||
|
<COND (<OR <VERB? LOOK> <ZERO? .TOUCHED>>
|
||
|
<TELL
|
||
|
" The floor and walls are covered with grey carpet, worn thin
|
||
|
in spots but intact. A long series of
|
||
|
windows, framed by polished wood, runs along the corridor on the right-hand
|
||
|
side of the train.">)>
|
||
|
<COND (<==? ,PLAYER-NOT-FACING ,P?WEST>
|
||
|
<CRLF>)
|
||
|
(T
|
||
|
<SET X <GET-REXIT-ROOM <GETPT ,HERE ,P?IN>>>
|
||
|
<THIS-IS-IT .X>
|
||
|
<TELL
|
||
|
" On the left side of the train, behind a locked door, lies the " D .X"."CR>)>
|
||
|
<RTRUE>)
|
||
|
(<EQUAL? .RARG ,M-ENTER>
|
||
|
<COND (<NOISY? ,LAST-PLAYER-LOC>
|
||
|
<SET VAL T>
|
||
|
<COND (T;<OR <AND<EQUAL? ,LAST-PLAYER-LOC ,VESTIBULE-FWD-FANCY>
|
||
|
<EQUAL? ,HERE ,HALL-1-FANCY>>
|
||
|
<AND <EQUAL? ,LAST-PLAYER-LOC ,VESTIBULE-REAR-FANCY>
|
||
|
<EQUAL? ,HERE ,HALL-3-FANCY>>>
|
||
|
<TELL "The relative quiet here is welcome. ">)>)>
|
||
|
<COND (<NOT .TOUCHED>
|
||
|
<SET VAL T>
|
||
|
<TELL "The feel of luxury here is unmistakable.">)>
|
||
|
<COND (.VAL <CRLF>)>
|
||
|
<RFALSE>)>>
|