amfv/rockvil.zil

10905 lines
337 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

"ROCKVIL for
A MIND FOREVER VOYAGING
(c) 1985 by Infocom, Inc. All Rights Reserved."
<ROOM ROCKVIL-CENTRE
(LOC ROOMS)
(DESC "Rockvil Centre")
(NORTH TO HALLEY-AND-PARK)
(NE TO CENTRE-AND-KENNEDY)
(EAST TO MAIN-AND-KENNEDY)
(SE PER DUNBARS-ENTER-F)
(SOUTH TO ELM-AND-PARK)
(SW SORRY "There's no entrance to City Hall in that direction.")
(WEST PER CITY-HALL-ENTER-F)
(NW SORRY "There's no entrance to City Hall in that direction.")
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL CITY-HALL-OBJECT DUNBARS-OBJECT PEOPLE)
(ACTION ROCKVILLE-CENTRE-F)>
<ROUTINE ROCKVILLE-CENTRE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "The name of this plaza tells it all. The ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "well-maintained">)
(<EQUAL? ,SYEAR 2051 2061>
<TELL "aging">)
(T
<SCORE 11> ;"1 point"
<TELL "crumbling">)>
<TELL
" portico of City Hall stretches along the west side of the plaza, and
Dunbar's lies on the southeast corner. Park Street leads north and south.
Main Street and Centre Street both begin here, leading eastward and
northeastward, respectively.">)>>
<ROUTINE DUNBARS-ENTER-F ()
<COND (<OR <G? ,STIME 1260>
<L? ,STIME 600>>
<CLOSED-PRINT "Dunbar's">
<RFALSE>)
(<EQUAL? ,SYEAR 2071>
<SCORE 122> ;"1 point"
<TELL
"A security guard stops you at the doorway, scrutinizing you with a haughty
sneer. \"Do you have an appointment?\"">
<COND (<YES?>
<TELL CR "\"">
<REPEAT ()
<TELL "The name on that appointment?\"" CR CR>
<PRINTI ">">
<READ ,P-INBUF ,P-LEXV>
<COND (<ZERO? <GETB ,P-LEXV ,P-LEXWORDS>>
<TELL "\"Sorry, I missed that. ">
<AGAIN>)>
<RETURN>>
<TELL
"\"I'm sorry, sir. There's no appointment in that name.\"">)
(T
<TELL
"\"Next time, please call for an appointment beforehand.\"">)>
<TELL
" The guard leads you firmly away from the building before leaving." CR>
<RFALSE>)
(T
,DUNBARS)>>
<ROOM DUNBARS
(LOC ROOMS)
(DESC "Dunbar's")
(NW TO ROCKVIL-CENTRE)
(OUT TO ROCKVIL-CENTRE)
(FLAGS NARTICLEBIT)
(GLOBAL DUNBARS-OBJECT PEOPLE)
(ACTION DUNBARS-F)>
<ROUTINE DUNBARS-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "clerk">)
(<EQUAL? .RARG ,M-LOOK>
<TELL "You have entered a">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "n upscale">)
(<EQUAL? ,SYEAR 2051>
<TELL " swank">)
(<EQUAL? ,SYEAR 2061>
<TELL " very swank">)>
<TELL " department store, ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "crowded despite its rather steep prices">)
(<EQUAL? ,SYEAR 2051>
<TELL "an elegant boutique with a wealthy clientele">)
(T
<TELL "catering exclusively to the wealthy elite">)>
<COND (<EQUAL? ,SYEAR 2061>
<TELL
". Racks in this part of the store are filled with plainer garments">)
(T
<TELL
". Racks all around you are stocked with the latest fashions">)>
<TELL ". The exit to the street is northwest.">)
(<EQUAL? .RARG ,M-END>
<CLOSING-TIME 1260 "the store" "a guard" ,ROCKVIL-CENTRE>)>>
<OBJECT DUNBARS-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Dunbar's")
(SYNONYM DUNBAR\'S DUNBARS STORE SHOP BOUTIQUE)
(ADJECTIVE VENERABLE DEPARTMEN DEPT SWANK ELEGANT UPSCALE)
(FLAGS NARTICLEBIT)
(ACTION DUNBARS-OBJECT-F)>
<ROUTINE DUNBARS-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,DUNBARS>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SE>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,ROCKVIL-CENTRE>
<TELL ,LOOK-AROUND CR>)
(T
<DO-WALK ,P?NW>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,DUNBARS>
<V-LOOK>)
(T
<TELL
"Dunbar's, a venerable shop, specializes in fashions for both sexes." CR>)>)>>
<OBJECT RACKS
(LOC DUNBARS)
(DESC "racks of fashionable clothes")
(SYNONYM RACK RACKS FASHION FASHIONS)
(ADJECTIVE FASHIONABLE)
(FLAGS NDESCBIT NARTICLEBIT PLURALBIT)
(ACTION RACKS-F)>
<ROUTINE RACKS-F ()
<COND (<VERB? EXAMINE>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"The clothes are diverse and fashionable, and quite steeply priced." CR>)
(<EQUAL? ,SYEAR 2051>
<TELL
"The clothes are quite stylish, and virtually all
out of your price range." CR>)
(T
<TELL
"The clothes in the few racks near you are mostly in the drab browns and
olives worn by the lower classes. Over in the restricted areas of the store,
you can spot racks laden with stylish clothes in the violets and golds
favored by Churchmen and other landowners." CR>)>)>>
<OBJECT CLOTHES
(LOC GLOBAL-OBJECTS)
(DESC "clothes")
(SYNONYM CLOTHES CLOTHING GARMENT GARMENTS PANTS SHIRT SHIRTS)
(ADJECTIVE MY PAIR PAIRS FASHIONABLE DRAB BROWN OLIVE STYLISH
VIOLET GOLD)
(FLAGS NARTICLEBIT TRYTAKEBIT NDESCBIT PLURALBIT)
(ACTION CLOTHES-F)>
<ROUTINE CLOTHES-F ("AUX" GARMENT)
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,DUNBARS>
<COND (<OR <NOT <FSET? ,SWEATER ,TRYTAKEBIT>>
<NOT <IN? ,SCARF ,LOCAL-GLOBALS>>>
<CLOTHES-BUDGET>)
(T
<COND (<EQUAL? ,SYEAR 2041>
<SET GARMENT ,SWEATER>
<TELL
"You look through many racks, finding nothing you like, and finally select
a brightly colored myalon sweater that fits you perfectly">)
(T
<SET GARMENT ,VEST>
<TELL
"After wincing at the prices, you pick out a thin, imitation wool vest">)>
<COND (<TOO-POOR 120 .GARMENT>
<RTRUE>)>
<COND (<EQUAL? ,SYEAR 2041>
<MOVE ,SWEATER ,PLAYER>
<FCLEAR ,SWEATER ,NDESCBIT>
<FCLEAR ,SWEATER ,TRYTAKEBIT>)
(T
<MOVE ,VEST ,PLAYER>
<FCLEAR ,VEST ,NDESCBIT>
<FCLEAR ,VEST ,TRYTAKEBIT>)>
<TELL
". A clerk removes the anti-theft tag from the garment">
<DEBIT 120>
<TELL "." CR>)>)
(<EQUAL? ,HERE ,HEIMAN-VILLAGE ,ROCKVIL-MALL>
<COND (<OR <L? ,STIME 480>
<G? ,STIME 1380>>
<TELL "Every store is closed for the night." CR>
<RTRUE>)
(<OR <NOT <FSET? ,SWEATER ,TRYTAKEBIT>>
<NOT <FSET? ,VEST ,TRYTAKEBIT>>
<NOT <IN? ,SCARF ,LOCAL-GLOBALS>>>
<CLOTHES-BUDGET>
<RTRUE>)>
<PUTP ,SPEAR-CARRIER ,P?SDESC "clerk">
<TELL
"You enter a clothing store, but they have little that suits your taste. You
finally pick out a conservative male scarf">
<COND (<TOO-POOR 39 ,SCARF>
<TELL CR "You meekly leave the store." CR>
<RTRUE>)>
<MOVE ,SCARF ,PLAYER>
<DEBIT 39>
<TELL "." CR>)
(T
<CANT-BUY ,CLOTHES>)>)
(<VERB? TAKE WEAR>
<COND (<AND <EQUAL? ,HERE ,DUNBARS>
<FSET? ,CLOTHES ,TRYTAKEBIT>>
<TELL "You haven't paid for them." CR>)
(T
<TELL "You're already wearing your clothes!" CR>)>)
(<VERB? REMOVE TAKE-OFF ;DROP> ;"DROP is handled by IDROP"
<COND (<IN-APARTMENT?>
<TELL
"You remove your clothes for a minute, but there's a bit of a chill in
the air, so you decide to put them back on." CR>)
(T
<TELL
"You'd be arrested if you removed your clothes in public!" CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,DUNBARS>
<PERFORM ,V?EXAMINE ,RACKS>
<RTRUE>)
(T
<PERFORM ,V?EXAMINE ,ME>
<RTRUE>)>)>>
<OBJECT SWEATER
(LOC DUNBARS)
(DESC "sweater")
(SYNONYM SWEATER SWEATERS)
(ADJECTIVE BRIGHTLY COLORED MYALON MY)
(SIZE 10)
(FLAGS TAKEBIT WEARBIT TRYTAKEBIT NDESCBIT)
(ACTION SWEATER-F)>
<ROUTINE SWEATER-F ()
<COND (<VERB? BUY>
<PERFORM ,V?BUY ,CLOTHES>
<RTRUE>)
(<AND <VERB? TAKE>
<FSET? ,SWEATER ,TRYTAKEBIT>>
<PERFORM ,V?TAKE ,CLOTHES>
<RTRUE>)
(<AND <VERB? EXAMINE>
<NOT <FSET? ,SWEATER ,TRYTAKEBIT>>>
<TELL
"It is a bright and colorful sweater, made of myalon." CR>)>>
<OBJECT VEST
(LOC DUNBARS)
(DESC "vest")
(SYNONYM VEST VESTS)
(ADJECTIVE THIN IMITATION WOOL)
(SIZE 10)
(FLAGS TAKEBIT WEARBIT TRYTAKEBIT NDESCBIT)
(ACTION VEST-F)>
<ROUTINE VEST-F ()
<COND (<VERB? BUY>
<PERFORM ,V?BUY ,CLOTHES>
<RTRUE>)
(<AND <VERB? TAKE>
<FSET? ,VEST ,TRYTAKEBIT>>
<PERFORM ,V?TAKE ,CLOTHES>
<RTRUE>)
(<AND <VERB? EXAMINE>
<NOT <FSET? ,VEST ,TRYTAKEBIT>>>
<TELL "The vest is of thin imitation wool." CR>)>>
<OBJECT SCARF
(LOC LOCAL-GLOBALS)
(DESC "scarf")
(SYNONYM SCARF)
(ADJECTIVE CONSERVATIVE MALE)
(FLAGS TAKEBIT WEARBIT)
(ACTION SCARF-F)>
<ROUTINE SCARF-F ()
<COND (<VERB? BUY>
<PERFORM ,V?BUY ,CLOTHES>
<RTRUE>)
(<VERB? EXAMINE>
<TELL "The scarf is simple and conservatively styled." CR>)>>
<ROOM CITY-HALL
(LOC ROOMS)
(DESC "City Hall")
(EAST TO ROCKVIL-CENTRE)
(OUT TO ROCKVIL-CENTRE)
(FLAGS NARTICLEBIT)
(GLOBAL CITY-HALL-OBJECT)
(ACTION CITY-HALL-F)>
<ROUTINE CITY-HALL-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The city's seat of government is an old concrete-slab building dating back to
the late twentieth century. ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 11> ;"1 point"
<TELL
"The interior is decrepit; it looks as though no maintenance has
been performed here for years. ">)>
<TELL "The only exit is east.">)
(<EQUAL? .RARG ,M-END>
<CLOSING-TIME 1080 "the building" "a guard" ,ROCKVIL-CENTRE>)>>
<ROUTINE CITY-HALL-ENTER-F ()
<COND (<AND <G? ,STIME 600>
<L? ,STIME 1080>>
,CITY-HALL)
(T
<CLOSED-PRINT "City Hall">
<RFALSE>)>>
<OBJECT CITY-HALL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "City Hall")
(SYNONYM HALL)
(ADJECTIVE CITY)
(FLAGS NARTICLEBIT)
(ACTION CITY-HALL-OBJECT-F)>
<ROUTINE CITY-HALL-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,CITY-HALL>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?WEST>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,ROCKVIL-CENTRE>
<TELL ,LOOK-AROUND CR>)
(T
<DO-WALK ,P?WEST>)>)>>
<OBJECT BENCH
(LOC CITY-HALL)
(DESC "bench")
(SYNONYM BENCH)
(FLAGS NDESCBIT VEHBIT CONTBIT FURNITUREBIT SEARCHBIT)
(ACTION BENCH-F)>
<ROUTINE BENCH-F ;("OPTIONAL" RARG) ()
<COND ;(.RARG
<RFALSE>)
;(<VERB? OPEN CLOSE>
<TELL "Huh?" CR>)
(<AND <VERB? EXAMINE>
<IN? ,GOVERNMENT-OFFICIAL ,HERE>>
<TELL "A ">
<PRINTD ,GOVERNMENT-OFFICIAL>
<TELL " is sitting on the bench." CR>)>>
<OBJECT GOVERNMENT-OFFICIAL
(LOC LOCAL-GLOBALS)
(DESC "government official")
(LDESC
"A government official is sitting on a bench in the center of the lobby,
eating a snack.")
(SYNONYM OFFICIAL)
(ADJECTIVE GOVERNMENT GOVT)
(FLAGS ACTORBIT)
(GENERIC GENERIC-OFFICIAL-F)
(ACTION GOVERNMENT-OFFICIAL-F)>
<ROUTINE GOVERNMENT-OFFICIAL-F ()
<COND (<OR <VERB? TELL>
<EQUAL? ,GOVERNMENT-OFFICIAL ,WINNER>>
<SETG PRSO ,GOVERNMENT-OFFICIAL>
<MOVE ,OFFICIAL-SNACK ,LOCAL-GLOBALS>
<BRIEF-CHAT>
<COND (<EQUAL? ,SYEAR 2041>
<COND (,RECORDING
<PUT ,RECORDING-TABLE 2 1>)>
<TELL
"cheerily comments on how well things in the city are running, and how
rewarding his job has been lately" ,OFFICIAL-LEAVES CR>)
(T
<SCORE 136> ;"2 points"
<TELL
"grumpily complains that most of his department has been laid off as city
services are cut back. Suddenly he notices the time, looks frightened,
and rushes away." CR>)>
<CLEAR-BUF>)
;(<AND <VERB? ASK-ABOUT>
<PRSO? ,GOVERNMENT-OFFICIAL>>
<PERFORM ,V?TELL ,PRSO>
<RTRUE>)
(<VERB? SIT-NEXT-TO>
<PERFORM ,V?SIT ,BENCH>
<RTRUE>)>>
<OBJECT OFFICIAL-SNACK
(LOC LOCAL-GLOBALS)
(DESC "snack")
(SYNONYM SNACK CUPCAKE DONUT DOUGHNUT CAKE)
(ADJECTIVE CUP LARGE)
(FLAGS NDESCBIT)
(ACTION SNACK-F)>
<ROUTINE SNACK-F ()
<COND (<VERB? EXAMINE>
<TELL
,IT-LOOKS-LIKE " some kind of large donut or cupcake." CR>)
(<VERB? TAKE EAT>
<TELL "It's not yours." CR>)>>
<ROOM MAIN-AND-KENNEDY
(LOC ROOMS)
(DESC "Main & Kennedy")
(NORTH TO CENTRE-AND-KENNEDY)
(NE PER OFFICE-BUILDING-ENTER-F)
(EAST TO MAIN-AND-RIVER)
(SE PER OFFICE-BUILDING-ENTER-F)
(SOUTH TO ELM-AND-KENNEDY)
(SW PER KENNEDY-PARK-ENTER-F)
(WEST TO ROCKVIL-CENTRE)
(NW PER SKYBUS-TERMINAL-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL SKYBUS-TERMINAL-OBJECT PARK-OBJECT GLASS TOWNHOUSE PEOPLE
CONSTRUCTION-OBJECT GATE)
(ACTION MAIN-AND-KENNEDY-F)>
<ROUTINE MAIN-AND-KENNEDY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is the heart of the downtown area, flanked by classical glass-and-steel
skyscrapers. The skybus terminal ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 12> ;"2 points"
<TELL
"on the northwest corner has been closed for several years, following an
unprofitable experiment to sell the skybus system to a private company">)
(T
<TELL "is on the northwest corner">)>
<TELL ". To the southwest is an entrance to ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "a ">
<PRINTD ,CONSTRUCTION-OBJECT>)
(<EQUAL? ,SYEAR 2071>
<TELL "luxury townhouses">)
(T
<TELL "Kennedy Park">)>
<TELL "." CR CR>
<PERFORM ,V?EXAMINE ,INFOTECH-BUILDING>
<TELL CR ,SILICORP-DESCRIPTION
" From this intersection, Main Street runs east and west, and Kennedy
Street can take you north or south.">)>>
<GLOBAL SILICORP-DESCRIPTION
"The high-rise building on the southeast corner is the Silicorp Building,
a tall office tower.">
<OBJECT SILICORP-BUILDING
(LOC MAIN-AND-KENNEDY)
(DESC "Silicorp Building")
(SYNONYM BUILDING BLDG HIGH-RISE TOWER SKYSCRAPER)
(ADJECTIVE TALL OFFICE SILICORP)
(FLAGS NDESCBIT)
(ACTION SILICORP-BUILDING-F)>
<ROUTINE SILICORP-BUILDING-F ()
<COND (<AND <VERB? THROUGH WALK-TO>
<EQUAL? ,HERE ,MAIN-AND-KENNEDY>>
<DO-WALK ,P?SE>)
(<VERB? DISEMBARK LEAVE>
<TELL ,LOOK-AROUND CR>)
(<VERB? EXAMINE>
<TELL ,SILICORP-DESCRIPTION CR>)>>
<OBJECT INFOTECH-BUILDING
(LOC MAIN-AND-KENNEDY)
(DESC "InfoTech Building")
(SYNONYM BUILDING BLDG LANDMARK TOWER SKYSCRAPER)
(ADJECTIVE INFOTECH INFO TECH TALL OFFICE FAMOUS)
(FLAGS NDESCBIT VOWELBIT)
(ACTION INFOTECH-BUILDING-F)>
<ROUTINE INFOTECH-BUILDING-F ()
<COND (<AND <VERB? THROUGH WALK-TO>
<EQUAL? ,HERE ,MAIN-AND-KENNEDY>>
<DO-WALK ,P?NE>)
(<VERB? DISEMBARK LEAVE>
<TELL ,LOOK-AROUND CR>)
(<VERB? EXAMINE>
<TELL
"The skyscraper on the northeast corner is one of Rockvil's most famous
landmarks, the ">
<PRINTD ,INFOTECH-BUILDING>
<TELL
". This 130-story office tower is the tallest building in the city and the ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "fifth">)
(<EQUAL? ,SYEAR 2071>
<TELL "third">)
(T
<TELL "sixth">)>
<TELL " tallest in the world." CR>)>>
<ROUTINE SKYBUS-TERMINAL-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 12> ;"2 points"
<TELL ,BOARDED-OVER CR>
<RFALSE>)
(T
,SKYBUS-TERMINAL)>>
<ROOM SKYBUS-TERMINAL
(LOC ROOMS)
(DESC "Skybus Terminal")
(DOWN PER TUBES-ENTER-F)
(NW SORRY "The gates are all closed.")
(SE TO MAIN-AND-KENNEDY)
(OUT TO MAIN-AND-KENNEDY)
(FLAGS ONBIT)
(GLOBAL SKYBUS-TERMINAL-OBJECT GATE STAIRS TUBE-STATION
BOARDING-PLATFORM)
(ACTION SKYBUS-TERMINAL-F)>
<ROUTINE SKYBUS-TERMINAL-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"This is part of the Commuter Skybus System (CSS), built during the 2010's by
the now-defunct Federal Energy Independence Agency. ">)
(<EQUAL? ,SYEAR 2061>
<SCORE 123> ;"1 point"
<TELL
"This station, built long ago by government funds, looks run-down
and in need of repair. ">)>
<TELL
"Skybuses depart from this terminal for many suburban points. The ">
<PRINTD ,BOARDING-PLATFORM>
<TELL
"s lie to the northwest, and the exit to the street is southeast. A stairway
leads downward.">)>>
<OBJECT BOARDING-PLATFORM
(LOC LOCAL-GLOBALS)
(DESC "boarding platform")
(SYNONYM PLATFORM)
(ADJECTIVE BOARDING)
(ACTION BOARDING-PLATFORM-F)>
<ROUTINE BOARDING-PLATFORM-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,SKYBUS-TERMINAL>
<DO-WALK ,P?NW>)
(<FSET? ,HERE ,TUBEBIT>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXIT LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,SKYBUS-TERMINAL>
<TELL ,LOOK-AROUND CR>)
(T
<V-WALK-AROUND>)>)>>
<OBJECT SKYBUS
(LOC SKYBUS-TERMINAL)
(DESC "skybus")
(SYNONYM SKYBUS)
(FLAGS NDESCBIT)
(ACTION SKYBUS-F)>
<ROUTINE SKYBUS-F ()
<COND (<VERB? THROUGH>
<DO-WALK ,P?NW>)
(<VERB? WAIT-FOR EXAMINE FIND>
<TELL
"You'd have to be on the skybus boarding platforms for that!" CR>)
(<NOT <MOBY-VERB?>>
<CANT-SEE ,SKYBUS>)>>
<OBJECT SKYBUS-TERMINAL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "terminal")
(SYNONYM TERMINAL STATION)
(ADJECTIVE SKYBUS RUN-DOWN)
(ACTION SKYBUS-TERMINAL-OBJECT-F)>
<ROUTINE SKYBUS-TERMINAL-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,SKYBUS-TERMINAL>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,MAIN-AND-KENNEDY>
<DO-WALK ,P?NW>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?UP>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,SKYBUS-TERMINAL>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)>>
<OBJECT TOWNHOUSE
(LOC LOCAL-GLOBALS)
(DESC "townhouse")
(SYNONYM TOWNHOUSE COMPLEX CLUSTER)
(ADJECTIVE LUXURY HIGH-SECURITY)
(ACTION TOWNHOUSE-F)>
<ROUTINE TOWNHOUSE-F ()
<COND (<AND <NOT <EQUAL? ,SYEAR 2071>>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,TOWNHOUSE>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,MAIN-AND-KENNEDY>
<DO-WALK ,P?SW>)
(<EQUAL? ,HERE ,ELM-AND-KENNEDY>
<DO-WALK ,P?NW>)
(<EQUAL? ,HERE ,ELM-AND-PARK>
<DO-WALK ,P?NE>)>)>>
<ROUTINE KENNEDY-PARK-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<TELL "The entrances to the townhouses are all locked." CR>
<RFALSE>)
(T
,KENNEDY-PARK)>>
<ROOM KENNEDY-PARK
(LOC ROOMS)
(SDESC "")
(NORTH SORRY "There's no exit on that side of the park.")
(NE TO MAIN-AND-KENNEDY)
(EAST SORRY "There's no exit on that side of the park.")
(SE TO ELM-AND-KENNEDY)
(SOUTH SORRY "There's no exit on that side of the park.")
(SW TO ELM-AND-PARK)
(WEST SORRY "There's no exit on that side of the park.")
(NW SORRY "There's no exit on that side of the park.")
(FLAGS OUTSIDEBIT PARKBIT)
(GLOBAL PEOPLE GATE GLOBAL-SIGN WATER PARK-OBJECT CONSTRUCTION-OBJECT)
(ACTION KENNEDY-PARK-F)>
<ROUTINE KENNEDY-PARK-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2041 2051>
<FSET ,KENNEDY-PARK ,NARTICLEBIT>
<PUTP ,KENNEDY-PARK ,P?SDESC "Kennedy Park">)
(T
<FCLEAR ,KENNEDY-PARK ,NARTICLEBIT>
<PUTP ,KENNEDY-PARK ,P?SDESC "Construction Site">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2061>
<SCORE 13> ;"2 points"
<TELL
"There is a construction project in progress here:" CR>
<PERFORM ,V?READ ,GLOBAL-SIGN>
<TELL
"The project is still in the early stages, with trees being torn up on one end
of the site, and digging for the foundation going on at the other end.">)
(T
<TELL
"This is a small, downtown park with gates leading northeast, southeast, and
southwest. There is a sprawling, free-form waterpool surrounding a statue
of John F. Kennedy in the center of the park.">)>)>>
<OBJECT WATERPOOL
(LOC LOCAL-GLOBALS)
(DESC "waterpool")
(SYNONYM WATERPOOL POOL FOUNTAIN)
(ADJECTIVE SPRAWLING FREE-FORM WATER)
(FLAGS NDESCBIT)
(ACTION WATERPOOL-F)>
<ROUTINE WATERPOOL-F ()
<COND (<VERB? THROUGH BOARD SWIM>
<TELL "Swimming in public fountains is illegal." CR>)
(<VERB? LOOK-INSIDE EXAMINE>
<TELL
"You look into the waters of the pool, hoping to find some coins, or
perhaps an unusual fish. However, you discover nothing of interest." CR>)>>
<OBJECT STATUE
(LOC LOCAL-GLOBALS)
(DESC "statue")
(SYNONYM STATUE KENNEDY JOHN JFK)
(ADJECTIVE JOHN FITZGERAL)
(FLAGS NDESCBIT)
(ACTION STATUE-F)>
<ROUTINE STATUE-F ()
<COND (<VERB? READ>
<PERFORM ,V?READ ,PLAQUE>
<RTRUE>)
(<VERB? EXAMINE>
<TELL
"There is a small bronze plaque at the base of the statue." CR>)>>
<OBJECT PLAQUE
(LOC LOCAL-GLOBALS)
(DESC "plaque")
(SYNONYM PLAQUE)
(ADJECTIVE SMALL BRONZE)
(FLAGS NDESCBIT READBIT)
(TEXT
" John Fitzgerald Kennedy|
1917-1963")>
<ROOM ELM-AND-PARK
(LOC ROOMS)
(DESC "Elm & Park")
(NORTH TO ROCKVIL-CENTRE)
(NE PER KENNEDY-PARK-ENTER-F)
(EAST TO ELM-AND-KENNEDY)
(SE TO POST-OFFICE)
(SOUTH TO SOUTHWAY-AND-PARK)
(SW TO POLICE-STATION)
(WEST TO ELM-AND-UNIVERSITY)
(NW PER COURTHOUSE-ENTER-F)
(GLOBAL COURTHOUSE-OBJECT PARK-OBJECT POST-OFFICE-OBJECT TOWNHOUSE
CONSTRUCTION-OBJECT GATE POLICE-STATION-OBJECT PEOPLE)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(ACTION ELM-AND-PARK-F)>
<ROUTINE ELM-AND-PARK-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is the intersection of the north-south Park Street and the
east-west Elm Street. A ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "cluster of townhouses">)
(<EQUAL? ,SYEAR 2061>
<PRINTD ,CONSTRUCTION-OBJECT>)
(T
<TELL "park entrance">)>
<TELL
" is on the northeast corner, and large, old-fashioned edifices occupy
the other three corners of the intersection.">)>>
<ROUTINE COURTHOUSE-ENTER-F ()
<COND (<OR <G? ,STIME 990>
<L? ,STIME 570>>
<CLOSED-PRINT "The courthouse">
<RFALSE>)
(T
,COURTHOUSE)>>
<ROOM COURTHOUSE
(LOC ROOMS)
(DESC "Courthouse")
(SE TO ELM-AND-PARK)
(OUT TO ELM-AND-PARK)
(FLAGS ONBIT)
(GLOBAL COURTHOUSE-OBJECT WOMAN PEOPLE)
(ACTION COURTHOUSE-F)>
<ROUTINE COURTHOUSE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "The ">
<PRINTD ,COURTHOUSE-OBJECT>
<TELL
" is of the same vintage as the other governmental buildings in the area,
dating from around 1990 or so. An exit leads southeast.">
<COND (<AND <G? ,STIME 570>
<L? ,STIME 1080>>
<TELL CR CR "The court is in session. ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "A woman is being tried for petty theft">)
(<EQUAL? ,SYEAR 2051>
<SCORE 14> ;"2 points"
<TELL
"Two men face the death penalty for attempted rape">)
(<EQUAL? ,SYEAR 2061>
<SCORE 15> ;"5 points"
<TELL
"An Asian-American juvenile has just been handed a life sentence for
violating the Uniform Morality Code">)
(<EQUAL? ,SYEAR 2071>
<SCORE 16> ;"8 points"
<TELL
"Twenty pathetic, emaciated people are being tattooed for upcoming Execution
Matches for cheating on their Food Allowance">)>
<TELL ".">)>)
(<EQUAL? .RARG ,M-END>
<SHOP-CLOSES 990 "courthouse" "A bailiff" ,ELM-AND-PARK>)>>
<OBJECT COURTHOUSE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "courthouse")
(SYNONYM COURTHOUSE HOUSE)
(ADJECTIVE COURT)
(ACTION COURTHOUSE-OBJECT-F)>
<ROUTINE COURTHOUSE-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,COURTHOUSE>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NW>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,COURTHOUSE>
<DO-WALK ,P?SE>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,COURTHOUSE>>
<V-LOOK>)>>
<OBJECT POLICE-STATION-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "police station")
(SYNONYM STATION HEADQUARTERS HQ)
(ADJECTIVE POLICE)
(ACTION POLICE-STATION-OBJECT-F)>
<ROUTINE POLICE-STATION-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,ELM-AND-PARK>
<DO-WALK ,P?SW>)
(<GLOBAL-IN? ,POLICE-STATION-OBJECT ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,POLICE-STATION>
<DO-WALK ,P?NE>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,POLICE-STATION>>
<V-LOOK>)>>
<ROOM POLICE-STATION
(LOC ROOMS)
(DESC "Police Station")
(NE TO ELM-AND-PARK)
(EAST SORRY "You're not allowed into the cell area.")
(OUT TO ELM-AND-PARK)
(FLAGS ONBIT)
(GLOBAL JAIL-OBJECT POLICE-STATION-OBJECT DESK PEOPLE)
(ACTION POLICE-STATION-F)>
<ROUTINE POLICE-STATION-F (RARG)
<COND ;(<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "desk officer">
<RFALSE>)
(<EQUAL? .RARG ,M-LOOK>
<TELL
"This is the headquarters for all the city's precinct stations. The building
is at least " N <- ,SYEAR 1966> " years old">
<COND (<EQUAL? ,SYEAR 2041>
<TELL ", but has obviously been recently renovated">)
(<EQUAL? ,SYEAR 2061 2071>
<TELL ", and is obviously ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "badly ">)>
<TELL "in need of renovation">)>
<TELL ". Behind the reception desk, ">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL "crowded ">)
(<EQUAL? ,SYEAR 2071>
<TELL "empty ">)>
<TELL
"jail cells are visible. The desk officer looks at you expectantly.
The only exit is northeast.">)>>
<OBJECT POLICEMAN
(LOC POLICE-STATION)
(DESC "police officer")
(SYNONYM OFFICER POLICE POLICEMAN POLICEMEN COP COPS)
(ADJECTIVE POLICE DESK)
(FLAGS ACTORBIT NDESCBIT)
(ACTION POLICEMAN-F)>
<ROUTINE POLICEMAN-F ()
<COND (<EQUAL? ,POLICEMAN ,WINNER>
<TELL "\"Unless you've got a crime to report, scram.\"" CR>
<CLEAR-BUF>)
(<AND <VERB? TELL-ABOUT>
<PRSI? ,CRIME ,CRIMINAL>>
<TELL
"The officer recites a rapid sing-song about the various forms and
official channels and procedures and personnel required for the
reporting of a crime." CR>)>>
<ROUTINE I-JAIL ()
<SCORE 17> ;"10 points!"
<JIGS-UP
"After many anxious minutes, the door is yanked open, and you are dragged
before a judge, his bench draped with the banner of a Church Holyman. Your
head spins as the proceedings speed past around you. Suddenly you realize
that the judge is addressing you.|
|
\"...a sin against God, Churchmen, and your fellow animals.\" He addresses the
arresting officers. \"He's too old for the Matches. Just take him out back.\"
Seconds later you are in an alley, your face grinding into broken glass as one
of the policemen pounds you again and again and again and again with his
massive club. Finally, bleeding and barely conscious, you hear the second cop,
speaking from a great distance, say \"enough fun -- let's finish it.\" He
draws his biogun.">>
<ROOM JAIL-CELL
(LOC ROOMS)
(DESC "Jail Cell")
(LDESC
"You are in a featureless, grimy jail cell. A heavy metal door forms
the eastern wall of the cell.")
(EAST SORRY "The metal door is locked, of course.")
(OUT SORRY "The metal door is locked, of course.")
(FLAGS ONBIT)
(GLOBAL JAIL-OBJECT UNOPENABLE-DOOR)>
<OBJECT BLANKET
(LOC JAIL-CELL)
(DESC "blanket")
(FDESC "A ratty, bug-infested blanket is the only furnishing.")
(SYNONYM BLANKET)
(ADJECTIVE RATTY TORN BUG-INFESTED)
(FLAGS TAKEBIT)
(SIZE 15)
(ACTION BLANKET-F)>
<ROUTINE BLANKET-F ()
<COND (<AND <VERB? PUT-ON>
<PRSI? ,ME>>
<PERFORM ,V?BOARD ,BLANKET>
<RTRUE>)
(<VERB? EXAMINE>
<TELL "The blanket is torn and crawling with bugs." CR>)
(<VERB? BOARD LIE-DOWN CLIMB-ON WEAR>
<TELL
"You change your mind when some particularly wiggly
bugs crawl onto you." CR>)>>
<ROOM POST-OFFICE
(LOC ROOMS)
(DESC "Post Office")
(NW TO ELM-AND-PARK)
(OUT TO ELM-AND-PARK)
(FLAGS ONBIT)
(GLOBAL GLOBAL-SIGN GLOBAL-WINDOW POST-OFFICE-OBJECT COUNTER PEOPLE)
(ACTION POST-OFFICE-F)>
<ROUTINE POST-OFFICE-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-ENTER>
<EQUAL? ,SYEAR 2061 2071>>
<QUEUE I-POST-OFFICE -1>)
(<EQUAL? .RARG ,M-LOOK>
<TELL "This is an old ">
<PRINTD ,POST-OFFICE-OBJECT>
<TELL
", probably built back in the days when \"mail\" usually meant letters
and packages delivered by human messengers. ">
<COND (<EQUAL? ,SYEAR 2041 2051>
<COND (<AND <G? ,STIME 480>
<L? ,STIME 1020>>
<TELL "A ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "couple">)
(T
<TELL "line">)>
<TELL " of people are waiting at the counter">)
(T
<TELL
"The windows are all closed for the night">)>)
(<OR <AND <EQUAL? ,SYEAR 2061>
<G? ,STIME 600>
<L? ,STIME 960>>
<AND <EQUAL? ,SYEAR 2071>
<G? ,STIME 900>
<L? ,STIME 960>>>
<SCORE 124> ;"1 point"
<TELL
"A long queue of people with resigned expressions are waiting at
the solitary open window">)
(T
<TELL
"The windows along the counter are all closed. One bears a crude,
handwritten sign that reads \"Open daily, ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "10a">)
(T
<TELL "3p">)>
<TELL "m to 4pm\"">)>
<TELL ". A doorway leads out to the northwest.">)>>
<OBJECT POST-OFFICE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "post office")
(SYNONYM OFFICE)
(ADJECTIVE POST)
(ACTION POST-OFFICE-OBJECT-F)>
<ROUTINE POST-OFFICE-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,POST-OFFICE>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SE>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,POST-OFFICE>
<TELL ,LOOK-AROUND CR>)
(T
<DO-WALK ,P?NW>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,POST-OFFICE>>
<V-LOOK>)>>
<ROOM SOUTHWAY-AND-PARK
(LOC ROOMS)
(DESC "Southway & Park")
(NORTH TO ELM-AND-PARK)
(NE TO HOSPITAL-ANNEX)
(EAST TO SOUTHWAY-AND-KENNEDY)
(SE TO ROW-HOUSES)
(SOUTH PER FOODVILLE-ENTER-F)
(SW TO SOUTHWAY-UNDERPASS)
(WEST TO PARKVIEW-APARTMENTS)
(NW PER MAIN-LIBRARY-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL GLOBAL-SIGN GLOBAL-WINDOW SUPERMARKET MAIN-LIBRARY-OBJECT PEOPLE
HOSPITAL-OBJECT ANNEX-OBJECT NOTE PARKVIEW-APARTMENTS-OBJECT)
(ACTION SOUTHWAY-AND-PARK-F)>
<ROUTINE SOUTHWAY-AND-PARK-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,CARD-CATALOG-CARD ,LOCAL-GLOBALS>
<FCLEAR ,PARKVIEW-DOOR ,OPENBIT>)
(<EQUAL? .RARG ,M-LOOK>
<TELL
"Southway bends sharply at this intersection, leading east and southwest.
Park Street begins here and heads north. There are ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "new ">)
(T
<TELL "aging ">)>
<TELL "buildings on the northeast and western corners, and ">
<COND (<NOT <EQUAL? ,SYEAR 2041>>
<TELL "even ">)>
<TELL
"older-looking buildings to the northwest and southeast">
<GROCERY-STORE-DESC>
<TELL ", spans the southern side of the street.">)>>
<ROUTINE GROCERY-STORE-DESC ()
<TELL ". A grocery store, its ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "brightly lit window heaped with food">)
(<EQUAL? ,SYEAR 2051>
<TELL "window filled with food">)
(<EQUAL? ,SYEAR 2061>
<SCORE 18> ;"1 point"
<TELL "dimly-lit windows revealing sparse stacks of cans">)
(T
<SCORE 19> ;"4 points"
<TELL
"grimy windows barely transparent enough to reveal a large sign
reading \"Rations for ">
<COND (<EQUAL? <MOD ,SDATE 3> 0>
<TELL "1's, 2's and 3's">)
(<EQUAL? <MOD ,SDATE 3> 1>
<TELL "4's, 5's and 6's">)
(T
<TELL "7's, 8's, 9's and 10's">)>
<TELL " today\"">)>>
<ROUTINE MAIN-LIBRARY-ENTER-F ()
<COND (<OR <AND <EQUAL? ,SYEAR 2041 2051>
<G? ,STIME 510>
<L? ,STIME 1320>>
<AND <EQUAL? ,SYEAR 2061>
<G? ,STIME 600>
<L? ,STIME 1260>>
<AND <EQUAL? ,SYEAR 2071>
<G? ,STIME 750>
<L? ,STIME 990>>>
,MAIN-LIBRARY)
(T
<CLOSED-PRINT "The library">
<RFALSE>)>>
<OBJECT MAIN-LIBRARY-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "library")
(SYNONYM LIBRARY BRANCH SYSTEM)
(ADJECTIVE MAIN ROCKVIL PUBLIC LIBRARY)
(ACTION MAIN-LIBRARY-OBJECT-F)>
<ROUTINE MAIN-LIBRARY-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,MAIN-LIBRARY>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,MAIN-LIBRARY-OBJECT ,HERE>
<DO-WALK ,P?NW>)
(<NOT ,SIMULATING>
<PERFORM ,V?THROUGH ,LIBRARY-MODE>
<RTRUE>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,MAIN-LIBRARY>
<DO-WALK ,P?SE>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,MAIN-LIBRARY>>
<V-LOOK>)
(<AND <VERB? SMELL>
<EQUAL? ,HERE ,MAIN-LIBRARY>
<EQUAL? ,SYEAR 2071>>
<TELL
"The library is filled with a stale odor: the smell of decaying books." CR>)>>
<ROOM MAIN-LIBRARY
(LOC ROOMS)
(DESC "Main Library")
(SE TO SOUTHWAY-AND-PARK)
(OUT TO SOUTHWAY-AND-PARK)
(FLAGS ONBIT)
(GLOBAL MAIN-LIBRARY-OBJECT PEOPLE)
(ACTION MAIN-LIBRARY-F)>
<ROUTINE MAIN-LIBRARY-F (RARG "AUX" TIME)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<MOVE ,BOOKS ,HERE>
<MOVE ,CARD-CATALOG-CARD ,GLOBAL-OBJECTS>
<PUTP ,SPEAR-CARRIER ,P?SDESC "librarian">)
(<EQUAL? .RARG ,M-LOOK>
<TELL
"This is the main branch of the Rockvil Public Library system, ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "crowded but quiet">)
(<EQUAL? ,SYEAR 2051 2061>
<TELL "not too crowded and very quiet">)
(T
<TELL
"deserted, dusty, and silent as a tomb. The smell of decaying, rotting
books is overpowering. The only thing in sight that doesn't seem hoary
with age is a list hanging on one wall">)>
<TELL ". The librarian is standing near the ">
<PRINTD ,CARD-CATALOG>
<TELL ". The only exit is southeast.">)
(<EQUAL? .RARG ,M-END>
<COND (<EQUAL? ,SYEAR 2071>
<SET TIME 990>)
(<EQUAL? ,SYEAR 2061>
<SET TIME 1260>)
(T
<SET TIME 1320>)>
<SHOP-CLOSES
.TIME "library" "The librarian" ,SOUTHWAY-AND-PARK>)>>
<OBJECT BANNED-TITLES-LIST
(LOC LOCAL-GLOBALS)
(DESC "list of titles")
(SYNONYM LIST TITLES TAPES PROGRAMS)
(ADJECTIVE BANNED LATEST COMPREHENSIVE)
(FLAGS NDESCBIT READBIT)
(ACTION BANNED-TITLES-LIST-F)>
<ROUTINE BANNED-TITLES-LIST-F ()
<COND (<VERB? READ EXAMINE>
<SCORE 121> ;"6 points"
<TELL
"It's the latest comprehensive list of banned books, tapes, and programs,
issued by the Morality Bureau of the government. The list is huge but some
of the titles jump out at you: Thoreau's \"Walden,\" Kafka's \"The Trial,\"
Orwell's \"Animal Farm,\" Kennedy's \"Profiles in Courage,\" Bernstein's
\"Mass,\" Schell's \"Fate of the Earth,\" Maribendu's \"Weep, My Child,\"
and Hathaway's \"Inner Workings of the Church.\" Even Rav's book, \"A Child's
Vision,\" is on the list." CR>)>>
<OBJECT CARD-CATALOG
(LOC MAIN-LIBRARY)
(DESC "card catalog")
(SYNONYM CATALOG FILE)
(ADJECTIVE CARD COMPUTERI)
(FLAGS NDESCBIT)
(ACTION CARD-CATALOG-F)>
<ROUTINE CARD-CATALOG-F ()
<COND (<VERB? OPEN>
<TELL
"\"Card catalog\" is an anachronistic term -- this isn't an old-fashioned
catalog with drawers of cards; it's computerized." CR>)
(<VERB? EXAMINE>
<TELL "Pretty typical computerized ">
<PRINTD ,CARD-CATALOG>
<TELL " for locating titles." CR>)
(<VERB? READ>
<TELL
"It would take days to read all the entries in the catalog." CR>)>>
<OBJECT CARD-CATALOG-CARD
(LOC LOCAL-GLOBALS)
(DESC "card")
(SYNONYM CARD)
(ACTION CARD-CATALOG-CARD-F)>
<ROUTINE CARD-CATALOG-CARD-F ()
<PERFORM ,V?OPEN ,CARD-CATALOG>
<RTRUE>>
<OBJECT LIBRARY-ACCOUNT
(LOC LOCAL-GLOBALS)
(DESC "library account")
(SYNONYM ACCOUNT)
(ADJECTIVE LIBRARY)
(ACTION LIBRARY-ACCOUNT-F)>
<ROUTINE LIBRARY-ACCOUNT-F ()
<COND (<AND <VERB? ASK-FOR>
<PRSO? ,SPEAR-CARRIER>
<EQUAL? ,HERE ,MAIN-LIBRARY>>
<TELL
"The librarian has you fill out several forms. After filing them, she whispers
that your card should arrive in the mail within ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "a month">)
(<EQUAL? ,SYEAR 2071>
<TELL "a year">)
(T
<TELL "several months">)>
<TELL "." CR>)>>
<ROOM FOODVILLE-1
(LOC ROOMS)
(DESC "Foodville")
(NORTH TO SOUTHWAY-AND-PARK)
(SW TO SKYCAR-LOT-1)
(FLAGS ONBIT)
(GLOBAL SUPERMARKET CARLOT SHELVES)
(ACTION FOODVILLE-1-F)>
<ROUTINE FOODVILLE-1-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2071>
<SETG CLERK-WAITING <>>
<QUEUE I-FOODVILLE 1>)>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "clerk">)
(<EQUAL? .RARG ,M-LOOK>
<FOODVILLE-DESC>
<TELL "north, and the exit to the car lot is southwest.">)
(<EQUAL? .RARG ,M-END>
<FOODVILLE-CLOSES>)>>
<ROUTINE FOODVILLE-ENTER-F ("AUX" (X T))
<COND (<AND <EQUAL? ,SYEAR 2041 2051>
<OR <G? ,STIME 1320>
<L? ,STIME 480>>>
<SET X <>>)
(<AND <EQUAL? ,SYEAR 2061>
<OR <G? ,STIME 1140>
<L? ,STIME 600>>>
<SET X <>>)
(<AND <EQUAL? ,SYEAR 2071>
<OR <G? ,STIME 960>
<L? ,STIME 700>>>
<SET X <>>)>
<COND (.X
<COND (<EQUAL? ,HERE ,MAIN-AND-WICKER>
,FOODVILLE-2)
(T
,FOODVILLE-1)>)
(<EQUAL? ,SYEAR 2071>
<TELL
"According to a note on the door, the Foodville is only open from 11:30am
until 4:00 in the afternoon." CR>
<RFALSE>)
(T
<CLOSED-PRINT "The Foodville">
<RFALSE>)>>
<ROUTINE FOODVILLE-DESC ()
<TELL "This is a large ">
<PRINTD ,SUPERMARKET>
<TELL ", ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"brightly lit and stocked with aisle after aisle of slickly packaged food">)
(<EQUAL? ,SYEAR 2051>
<TELL "reasonably clean and well-stocked with food">)
(<EQUAL? ,SYEAR 2061>
<SCORE 18> ;"1 point"
<TELL
"and it is beginning to show its age. The shelves are sparsely filled
with plain, badly labelled tins">)
(T
<SCORE 19> ;"4 points"
<TELL
"and it is literally crumbling. The shelves are empty, and the
interior is uniformly filthy">)>
<TELL ". The exit to the street is ">>
<ROUTINE FOODVILLE-CLOSES ("AUX" TIME NEW-LOC)
<COND (<EQUAL? ,SYEAR 2041 2051>
<SET TIME 1320>)
(<EQUAL? ,SYEAR 2061>
<SET TIME 1140>)
(<EQUAL? ,SYEAR 2071>
<SET TIME 960>)
(T ;"never close in 2081"
<SET TIME 1500>)>
<COND (<EQUAL? ,HERE ,FOODVILLE-1>
<SET NEW-LOC ,SOUTHWAY-AND-PARK>)
(T
<SET NEW-LOC ,MAIN-AND-WICKER>)>
<CLOSING-TIME .TIME "the store" "a clerk" .NEW-LOC>>
<OBJECT NOTE
(LOC LOCAL-GLOBALS)
(DESC "note")
(SYNONYM NOTE)
(FLAGS READBIT)
(TEXT "\"Hours: 11:30am - 4:00pm.\"")
(ACTION NOTE-F)>
<ROUTINE NOTE-F ()
<COND (<AND <NOT <EQUAL? ,SYEAR 2071>>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,NOTE>)>>
<OBJECT SUPERMARKET
(LOC LOCAL-GLOBALS)
(DESC "supermarket")
(SYNONYM FOODVILLE SUPERMARK STORE GROCERY MARKET)
(ADJECTIVE GROCERY FOOD)
(ACTION SUPERMARKET-F)>
<ROUTINE SUPERMARKET-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,FOODVILLE-1 ,FOODVILLE-2>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,SOUTHWAY-AND-PARK>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,HERE ,MAIN-AND-WICKER>
<DO-WALK ,P?SW>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NE>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,FOODVILLE-1>
<V-WALK-AROUND>)
(<EQUAL? ,HERE ,FOODVILLE-2>
<DO-WALK ,P?NW>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,FOODVILLE-1 ,FOODVILLE-2>
<V-LOOK>)
(<EQUAL? ,SYEAR 2081>
<PERFORM ,V?EXAMINE ,BUILDING>
<RTRUE>)>)
(<AND <VERB? SMELL>
<EQUAL? ,SYEAR 2081>>
<TELL "A nauseating, rancid odor hangs in the air." CR>)
(<AND <VERB? WASH>
<EQUAL? ,SYEAR 2071 2081>>
<PERFORM ,V?WASH ,GLOBAL-ROOM>
<RTRUE>)>>
<OBJECT SOY-PATTY
(LOC LOCAL-GLOBALS)
(DESC "soy patty")
(SYNONYM PATTY PACKAGE FOOD)
(ADJECTIVE SOY SMELLY)
(FLAGS TAKEBIT)
(GENERIC GENERIC-FOOD-F)
(ACTION SOY-PATTY-F)>
<ROUTINE SOY-PATTY-F ()
<COND (<VERB? EAT>
<MOVE ,SOY-PATTY ,LOCAL-GLOBALS>
<TELL
"About the only good thing to say is that it was filling." CR>)
(<VERB? EXAMINE>
<SCORE 126> ;"2 points"
<TELL
"Dehydrated soy patties such as these are about the only things that have
been available from ration centers for months. This one looks even more dry
and tasteless than usual." CR>)
(<VERB? BUY>
<COND (<AND <EQUAL? ,HERE ,FOODVILLE-1 ,FOODVILLE-2>
<EQUAL? ,SYEAR 2071>>
<TELL
"You can't buy one; you could use your ration card, though..." CR>)
(T
<CANT-BUY ,SOY-PATTY>)>)>>
<GLOBAL CLERK-WAITING <>>
<ROUTINE I-FOODVILLE ()
<COND (<NOT <EQUAL? ,HERE ,FOODVILLE-1 ,FOODVILLE-2>>
<SETG CLERK-WAITING <>>
<RFALSE>)>
<COND (,CLERK-WAITING
<TELL CR
"The clerk says, \"Listen, joker. I don't have all day.\" He motions to
a bouncer, who grabs you roughly by the collar and tosses you out on
the street." CR CR>
<COND (<EQUAL? ,HERE ,FOODVILLE-1>
<GOTO ,SOUTHWAY-AND-PARK>)
(T
<GOTO ,MAIN-AND-WICKER>)>)
(T
<SETG CLERK-WAITING T>
<QUEUE I-FOODVILLE 2>
<TELL CR "A bored clerk asks for your ">
<PRINTD ,RATION-CARD>
<TELL "." CR>)>>
<ROOM SOUTHWAY-UNDERPASS
(LOC ROOMS)
(DESC "Southway Underpass")
(NORTH SORRY "There's no entrance to the firehouse in that direction.")
(NE TO SOUTHWAY-AND-PARK)
(EAST TO SKYCAR-LOT-1)
(SE TO SKYCAR-LOT-1)
(SOUTH TO SKYCAR-LOT-1)
(SW PER SUBURBS-ENTER-F)
(WEST SORRY "There's no entrance to the firehouse in that direction.")
(NW TO FIREHOUSE)
(FLAGS STREETBIT ONBIT)
(GLOBAL HIGHWAY FIREHOUSE-OBJECT CARLOT PEOPLE)
(ACTION SOUTHWAY-UNDERPASS-F)>
<ROUTINE SOUTHWAY-UNDERPASS-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "Here, Southway passes under the old ">
<PRINTD ,HIGHWAY>
<TELL ". A ">
<PRINTD ,FIREHOUSE-OBJECT>
<TELL
" sits off to the northwest in the shadow of the elevated highway. A car lot
lies to the southeast. Southway continues northeast into the city">
<COND (<EQUAL? ,SYEAR 2071>
<TELL
", but is blocked to the southwest by the collapse of part of the highway.">)
(T
<TELL " and southwest into the suburbs.">)>)>>
<ROOM FIREHOUSE
(LOC ROOMS)
(DESC "Firehouse")
(SE TO SOUTHWAY-UNDERPASS)
(OUT TO SOUTHWAY-UNDERPASS)
(FLAGS ONBIT)
(GLOBAL FIREHOUSE-OBJECT)
(ACTION FIREHOUSE-F)>
<ROUTINE FIREHOUSE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is an old ">
<PRINTD ,FIREHOUSE-OBJECT>
<TELL ", ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "but it is equipped with the latest models of ">)
(<EQUAL? ,SYEAR 2051 2061>
<TELL "equipped with some aging ">)
(T
<SCORE 127> ;"2 points"
<TELL "equipped with a single dilapidated ">)>
<COND (<EQUAL? ,SYEAR 2071>
<PRINTD ,FIRECOPTER>)
(T
<TELL "firetrucks and ">
<PRINTD ,FIRECOPTER>
<TELL "s">)>
<TELL ". Southway lies to the southeast.">)>>
<OBJECT FIREHOUSE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "fire station")
(SYNONYM FIREHOUSE HOUSE STATION)
(ADJECTIVE FIRE OLD)
(ACTION FIREHOUSE-OBJECT-F)>
<ROUTINE FIREHOUSE-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,FIREHOUSE>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NW>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,FIREHOUSE>
<DO-WALK ,P?SE>)
(T
<TELL ,LOOK-AROUND CR>)>)>>
<OBJECT FIRETRUCK
(LOC LOCAL-GLOBALS)
(DESC "firetruck")
(SYNONYM FIRETRUCK TRUCK)
(ADJECTIVE FIRE YELLOW)
(FLAGS VEHBIT NDESCBIT)
(ACTION FIRETRUCK-F)>
<OBJECT FIRECOPTER
(LOC FIREHOUSE)
(DESC "firecopter")
(SYNONYM FIRECOPTE COPTER)
(ADJECTIVE FIRE YELLOW)
(FLAGS VEHBIT NDESCBIT)
(ACTION FIRETRUCK-F)>
<ROUTINE FIRETRUCK-F ;("OPTIONAL" RARG) ()
<COND ;(.RARG
<RFALSE>)
;(<VERB? OPEN CLOSE>
<TELL "Huh?" CR>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,SYEAR 2071>
<TELL "It's">)
(T
<TELL "They're">)>
<TELL " bright yellow, like most firefighting vehicles">
<COND (<EQUAL? ,SYEAR 2061 2071>
<TELL
", but the metal is rusting through in many points">)>
<TELL "." CR>)
(<VERB? BOARD THROUGH>
<TELL
"A firefighter sees you and yells, \"Hey, gettaway from there,\" and escorts
you out of the firehouse." CR CR>
<GOTO ,SOUTHWAY-UNDERPASS>)>>
<ROOM SKYCAR-LOT-1
(LOC ROOMS)
(DESC "Skycar Lot")
(LDESC
"This is a car lot for the Foodville to the northeast. The exit is northwest.
An industrial park is visible beyond the fence that borders the rear of
the lot to the south and east.")
(NORTH SORRY "There's a tall fence in the way.")
(NE PER FOODVILLE-ENTER-F)
(EAST SORRY "There's a tall fence in the way.")
(SE SORRY "There's a tall fence in the way.")
(SOUTH SORRY "There's a tall fence in the way.")
(SW SORRY "There's a tall fence in the way.")
(WEST SORRY "There's a tall fence in the way.")
(NW TO SOUTHWAY-UNDERPASS)
(FLAGS OUTSIDEBIT)
(GLOBAL FENCE SUPERMARKET CARLOT INDUSTRIAL-PARK-OBJECT NOTE)>
<ROOM ELM-AND-UNIVERSITY
(LOC ROOMS)
(DESC "Elm & University")
(NORTH SORRY "There's no entrance to the campus in that direction.")
(NE SORRY "There's no entrance to the campus in that direction.")
(EAST TO ELM-AND-PARK)
(SE SORRY
"There's no entrance to the apartment block in that direction.")
(SOUTH TO UNIVERSITY-HEIGHTS)
(SW SORRY
"There's no entrance to the apartment complex in that direction.")
(WEST TO ELM-UNDERPASS)
(NW TO ROCKVIL-UNIVERSITY)
(DOWN PER TUBES-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL CAMPUS STAIRS UNIVERSITY-HEIGHTS-OBJECT TUBE-STATION PEOPLE)
(ACTION ELM-AND-UNIVERSITY-F)>
<ROUTINE ELM-AND-UNIVERSITY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"University Avenue forks off to the northwest, meandering into the campus
which spans the north side of Elm Street here. A tall apartment complex
is on the south side of the street. The top of some steps indicate ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "a former">)
(T
<TELL "an">)>
<TELL " entrance to the Tubes.">)>>
<OBJECT UNIVERSITY-HEIGHTS-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "University Heights")
(SYNONYM HEIGHTS COMPLEX)
(ADJECTIVE TALL APARTMENT UNIVERSIT)
(FLAGS VOWELBIT NARTICLEBIT)
(ACTION UNIVERSITY-HEIGHTS-OBJECT-F)>
<ROUTINE UNIVERSITY-HEIGHTS-OBJECT-F ()
<COND (<AND <VERB? WALK-TO THROUGH>
<GLOBAL-IN? ,UNIVERSITY-HEIGHTS-OBJECT ,HERE>>
<DO-WALK ,P?SOUTH>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,ELM-AND-UNIVERSITY>
<TELL ,LOOK-AROUND CR>)
(T
<DO-WALK ,P?NORTH>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,UNIVERSITY-HEIGHTS>
<V-LOOK>)
(T
<PRINTD ,UNIVERSITY-HEIGHTS>
<TELL " is a tall apartment complex." CR>)>)>>
<ROOM UNIVERSITY-HEIGHTS
(LOC ROOMS)
(DESC "University Heights")
(IN PER INNER-LOBBY-ENTER-F)
(OUT TO ELM-AND-UNIVERSITY)
(NORTH TO ELM-AND-UNIVERSITY)
(SOUTH PER INNER-LOBBY-ENTER-F)
(FLAGS NARTICLEBIT)
(GLOBAL UNOPENABLE-DOOR MAILBOXES PICTUREPHONE GRAFFITI GLASS
UNIVERSITY-HEIGHTS-OBJECT)
(ACTION UNIVERSITY-HEIGHTS-F)>
<ROUTINE UNIVERSITY-HEIGHTS-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,BUZZERS ,HERE>)
(<EQUAL? .RARG ,M-LOOK>
<DESCRIBE-APARTMENT-VESTIBULE "south" "north">)>>
<ROOM ELM-UNDERPASS
(LOC ROOMS)
(DESC "Elm Underpass")
(NORTH PER EZZIS-BAR-ENTER-F)
(NE SORRY "There's no entrance to the bar in that direction.")
(EAST TO ELM-AND-UNIVERSITY)
(SE SORRY "There's no entrance to the restaurant in that direction.")
(SOUTH PER ROYS-PAGODA-ENTER-F)
(SW SORRY "There's no entrance to the restaurant in that direction.")
(WEST PER SUBURBS-ENTER-F)
(NW SORRY "There's no entrance to the bar in that direction.")
(FLAGS STREETBIT ONBIT)
(GLOBAL PEOPLE GRAFFITI GLOBAL-WINDOW HIGHWAY RESTAURANT-OBJECT
BAR-OBJECT)
(ACTION ELM-UNDERPASS-F)>
<ROUTINE ELM-UNDERPASS-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"Elm Street passes under an elevated roadway, a relic of the last century's ">
<PRINTD ,HIGHWAY>
<TELL
" system. A Chinese restaurant fills the space under the highway to the
south, and a bar is nestled under the roadway north of here. Elm leads
eastward, to downtown, and westward toward the suburbs.">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 20> ;"2 points"
<TELL CR CR "An ">
<PRINTD ,ROY>
<TELL
", perhaps Roy himself, is scrubbing graffiti off the window of the
restaurant. The graffiti reads \"Chinks Get Lost\".">)>)>>
<OBJECT ROY
(DESC "old Chinese man")
(SYNONYM CHINAMAN MAN ROY)
(ADJECTIVE OLD CHINESE)
(FLAGS NDESCBIT ACTORBIT)
(ACTION ROY-F)>
<ROUTINE ROY-F ()
<COND (<EQUAL? ,ROY ,WINNER>
<SCORE 20> ;"2 points"
<TELL
"\"No time for talking, sorry.\" He shakes his head sadly. \"Is a dishonor.
Three times this year already they break my window. Now this.\"" CR>
<CLEAR-BUF>)>>
<ROUTINE ROYS-PAGODA-ENTER-F ()
<COND (<AND <OR <G? ,STIME 1200>
<L? ,STIME 420>>
<NOT <EQUAL? ,SYEAR 2041>>>
<OF-COURSE ,RESTAURANT-OBJECT>
<RFALSE>)
(T
,ROYS-PAGODA)>>
<ROOM ROYS-PAGODA
(LOC ROOMS)
(DESC "Roy's Pagoda")
(NORTH TO ELM-UNDERPASS)
(OUT TO ELM-UNDERPASS)
(FLAGS NARTICLEBIT)
(GLOBAL RESTAURANT-OBJECT MENU PEOPLE GLOBAL-TABLE)
(ACTION ROYS-PAGODA-F)>
<ROUTINE ROYS-PAGODA-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "waiter">
<MOVE ,RESTAURANT-TABLE ,HERE>
<MOVE ,CHAIR ,HERE>)
(<EQUAL? .RARG ,M-LOOK>
<TELL "This is a small Chinese restaurant, ">
<COND (<EQUAL? ,SYEAR 2071 2061>
<TELL "with a scattering of patrons">)
(T
<TELL "crowded with students">)>
<TELL ". There is an exit to the north.">)
(<AND <EQUAL? .RARG ,M-END>
<NOT <EQUAL? ,SYEAR 2041>>
<G? ,STIME 1200>>
<TELL CR
"A waiter, pointing frantically at the clock, urges you politely but
insistently through the door." CR CR>
<GOTO ,ELM-UNDERPASS>)>>
<ROUTINE EZZIS-BAR-ENTER-F ()
<COND (<AND <OR <G? ,STIME 1200>
<L? ,STIME 420>>
<NOT <EQUAL? ,SYEAR 2041>>>
<OF-COURSE ,BAR-OBJECT>
<RFALSE>)
(T
,EZZIS-BAR)>>
<ROOM EZZIS-BAR
(LOC ROOMS)
(DESC "Ezzi's Bar")
(SOUTH PER EZZIS-BAR-EXIT-F)
(OUT PER EZZIS-BAR-EXIT-F)
(FLAGS NARTICLEBIT)
(GLOBAL BAR-OBJECT COUNTER PEOPLE)
(ACTION EZZIS-BAR-F)>
<ROUTINE EZZIS-BAR-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "bartender">
<MOVE ,BEER ,LOCAL-GLOBALS>
<MOVE ,BAR-STOOL ,HERE>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2071>
<TELL
"This club, which has clearly seen better days, is almost empty">)
(T
<TELL "This noisy lounge ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "was once">)
(T
<TELL "is">)>
<TELL
" a favorite hangout for students from the nearby college">)>
<TELL ,STOOL-DESC "The only exit is south.">)
(<EQUAL? .RARG ,M-END>
<CURFEW-CLOSE ,ELM-UNDERPASS>)>>
<ROUTINE EZZIS-BAR-EXIT-F ()
<COND (<HELD? ,BEER>
<TELL ,BARTENDER-YELLS CR>
<RFALSE>)
(T
,ELM-UNDERPASS)>>
<ROOM ROCKVIL-UNIVERSITY
(LOC ROOMS)
(DESC "Rockvil University")
(NORTH TO HALLEY-AND-UNIVERSITY)
(NE PER STUDENT-UNION-ENTER-F)
(EAST SORRY "There's a tall fence in the way.")
(SE PER LECTURE-HALL-ENTER-F)
(SOUTH TO ELM-AND-UNIVERSITY)
(SW SORRY "There's no entrance to the dorm in that direction.")
(WEST PER DORM-ENTER-F)
(NW SORRY "There's no entrance to the dorm in that direction.")
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL FENCE DORM-OBJECT STUDENT-UNION-OBJECT LECTURE-HALL-OBJECT
CAMPUS PEOPLE)
(ACTION ROCKVIL-UNIVERSITY-F)>
<ROUTINE STUDENT-UNION-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 63> ;"2 points"
<TELL ,BOARDED-OVER CR>
<RFALSE>)
(T
,STUDENT-UNION)>>
<ROUTINE LECTURE-HALL-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 63> ;"2 points"
<TELL ,BOARDED-OVER CR>
<RFALSE>)
(T
,LECTURE-HALL)>>
<ROUTINE DORM-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<TELL
"Some of the boards over the entrance have been pried away, and you could
probably squeeze through. However, you hesitate, because it's so dangerous
to enter deserted buildings these days. Do you still want to enter?">
<COND (<YES?>
<SCORE 21> ;"5 points"
<JIGS-UP
"|
Dorm|
As you stand in the lobby, waiting for your eyes to adjust to the dim
lighting, some pathetic squatters jump you. Taking no chances, lest you
get away and rat to the Church Police, they slit your throat.">)>
<RFALSE>)
(T
,DORM)>>
<ROUTINE ROCKVIL-UNIVERSITY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "You are on University Avenue in the center of a ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "bustling">)
(<EQUAL? ,SYEAR 2051>
<TELL "crowded but calm">)
(<EQUAL? ,SYEAR 2061>
<TELL "nearly deserted">)
(T
<SCORE 63> ;"2 points"
<TELL "closed">)>
<TELL " urban campus. ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL
"Closed, boarded buildings lie to the west, northeast, and southeast">)
(T
<TELL
"There is a dormitory complex on the western side of the road, and other
buildings to the northeast and southeast">)>
<TELL ". The street continues north and south.">)>>
<OBJECT CAMPUS
(LOC LOCAL-GLOBALS)
(DESC "campus")
(SYNONYM CAMPUS UNIVERSIT)
(ADJECTIVE ROCKVIL UNIVERSIT BUSTLING QUIET NEARLY DESERTED
URBAN CLOSED)
(ACTION CAMPUS-F)>
<ROUTINE CAMPUS-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,ELM-AND-UNIVERSITY ,LECTURE-HALL>
<DO-WALK ,P?NW>)
(<EQUAL? ,HERE ,DORM>
<DO-WALK ,P?EAST>)
(<EQUAL? ,HERE ,HALLEY-AND-UNIVERSITY>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,HERE ,STUDENT-UNION>
<DO-WALK ,P?SW>)
(<GLOBAL-IN? ,PRSO ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,ROCKVIL-UNIVERSITY>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,DORM ,STUDENT-UNION ,LECTURE-HALL>
<TELL
"There's no way to leave the campus from here." CR>)
(T
<TELL ,LOOK-AROUND CR>)>)>>
<ROOM DORM
(LOC ROOMS)
(DESC "Dorm")
(EAST TO ROCKVIL-UNIVERSITY)
(OUT TO ROCKVIL-UNIVERSITY)
(IN SORRY
"That would be impolite; the lounge is reserved for dorm residents.")
(FLAGS ONBIT)
(GLOBAL DORM-OBJECT CAMPUS CONVERSATION MUSIC)
(ACTION DORM-F)>
<ROUTINE DORM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You have entered one building in the dormitory complex, the very same
dorm where you once lived for several terms when you were a student at
the University. Many doors open onto a nearby lounge. ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "The building is silent as a tomb">)
(T
<TELL "Loud music filters through the walls">
<COND (<NOT ,DORM-RAID-FLAG>
<TELL
", and the odor of mindex hangs in the air">)>)>
<TELL ". The street lies to the east.">)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2051>
<NOT ,DORM-RAID-FLAG>>
<SCORE 23> ;"1 point"
<SETG DORM-RAID-FLAG T>
<SETG ELAPSED-TIME 10>
<TELL CR
"Suddenly, the front door slams open, and dozens of uniformed officers burst
into the building. They force their way into room after room, and through the
nearby doorways you can see the police ransacking every room. Several students
are hustled outside into a waiting police van. A higher-ranking officer passes
by, and you can hear him saying something about \"confiscated drugs\" and
\"arrest will make a good example.\" A few minutes later, the raid is over,
and the dorm is buzzing with subdued ">
<PRINTD ,CONVERSATION>
<TELL "s." CR>)>>
<OBJECT DORM-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "dormitory")
(SYNONYM DORM DORMITORY COMPLEX)
(ADJECTIVE DORM DORMITORY)
(ACTION DORM-OBJECT-F)>
<ROUTINE DORM-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,DORM>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?WEST>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,DORM>
<DO-WALK ,P?EAST>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? SMELL>
<EQUAL? ,SYEAR 2041 2051>>
<PERFORM ,V?SMELL ,MINDEX>
<RTRUE>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,DORM>
<V-LOOK>)
(<EQUAL? ,SYEAR 2071>
<DO-WALK ,P?WEST>)>)>>
<GLOBAL DORM-RAID-FLAG <>>
<OBJECT LOUNGE
(LOC DORM)
(DESC "lounge")
(SYNONYM LOUNGE)
(FLAGS NDESCBIT)
(ACTION LOUNGE-F)>
<ROUTINE LOUNGE-F ()
<COND (<AND <VERB? THROUGH WALK-TO>
<EQUAL? ,HERE ,DORM>>
<DO-WALK ,P?IN>)
(<AND <VERB? SMELL>
<EQUAL? ,SYEAR 2041 2051>>
<PERFORM ,V?SMELL ,MINDEX>
<RTRUE>)>>
<OBJECT LECTURE-HALL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "lecture hall")
(SYNONYM HALL)
(ADJECTIVE LECTURE)
(ACTION LECTURE-HALL-OBJECT-F)>
<ROUTINE LECTURE-HALL-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,ROCKVIL-UNIVERSITY>
<DO-WALK ,P?SE>)
(<GLOBAL-IN? ,LECTURE-HALL-OBJECT ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,LECTURE-HALL>
<DO-WALK ,P?NW>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,LECTURE-HALL>
<V-LOOK>)
(<EQUAL? ,SYEAR 2071>
<DO-WALK ,P?SE>)>)>>
<ROOM LECTURE-HALL
(LOC ROOMS)
(DESC "Lecture Hall")
(NW TO ROCKVIL-UNIVERSITY)
(OUT TO ROCKVIL-UNIVERSITY)
(FLAGS ONBIT)
(GLOBAL CAMPUS LECTURE-HALL-OBJECT)
(ACTION LECTURE-HALL-F)>
<ROUTINE LECTURE-HALL-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SEAT ,HERE>)
(<EQUAL? .RARG ,M-LOOK>
<TELL "This is a ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "decaying ">)>
<TELL
"lecture hall with several hundred seats, surrounded by several
smaller classrooms and professors' offices. An exit leads northwest.">)>>
<OBJECT CLASSROOMS
(LOC LECTURE-HALL)
(DESC "classroom")
(SYNONYM CLASSROOM ROOM ROOMS)
(ADJECTIVE SMALL SMALLER CLASS)
(FLAGS NDESCBIT)
(ACTION LECTURE-HALL-ITEM-F)>
<OBJECT PROFESSOR-OFFICES
(LOC LECTURE-HALL)
(DESC "office")
(SYNONYM OFFICE OFFICES)
(ADJECTIVE PROFESSOR PROF PROF\'S)
(FLAGS NDESCBIT VOWELBIT)
(ACTION LECTURE-HALL-ITEM-F)>
<ROUTINE LECTURE-HALL-ITEM-F ()
<COND (<AND <VERB? THROUGH WALK-TO>
<EQUAL? ,HERE ,LECTURE-HALL>>
<TELL
"Those areas are restricted to University personnel." CR>)>>
<OBJECT STUDENT-UNION-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "student union")
(SYNONYM UNION CENTER)
(ADJECTIVE STUDENT WIDE SPRAWLING)
(ACTION STUDENT-UNION-OBJECT-F)>
<ROUTINE STUDENT-UNION-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,STUDENT-UNION>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,STUDENT-UNION-OBJECT ,HERE>
<DO-WALK ,P?NE>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,STUDENT-UNION>
<DO-WALK ,P?SW>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,STUDENT-UNION>
<V-LOOK>)
(<EQUAL? ,SYEAR 2071>
<DO-WALK ,P?NE>)>)>>
<ROOM STUDENT-UNION
(LOC ROOMS)
(DESC "Student Union")
(LDESC
"You are standing in the lobby of a wide sprawling building containing a
cafeteria, a bookstore, an auditorium, and offices for student activities.
The street is southwest of here.")
(SW TO ROCKVIL-UNIVERSITY)
(OUT TO ROCKVIL-UNIVERSITY)
(FLAGS ONBIT)
(GLOBAL CAMPUS STUDENT-UNION-OBJECT)>
<OBJECT UNIVERSITY-CAFETERIA
(LOC STUDENT-UNION)
(DESC "cafeteria")
(SYNONYM CAFETERIA CAFE)
(FLAGS NDESCBIT)
(ACTION STUDENT-UNION-ITEM-F)>
<OBJECT SCHOOL-BOOKSTORE
(LOC STUDENT-UNION)
(DESC "bookstore")
(SYNONYM STORE BOOKSTORE SHOP BOOKSHOP)
(ADJECTIVE BOOK)
(FLAGS NDESCBIT)
(ACTION STUDENT-UNION-ITEM-F)>
<OBJECT AUDITORIUM
(LOC STUDENT-UNION)
(DESC "auditorium")
(SYNONYM AUDITORIUM)
(ADJECTIVE KRESGE)
(FLAGS NDESCBIT)
(ACTION STUDENT-UNION-ITEM-F)>
<OBJECT FOURTH-FLOOR
(LOC STUDENT-UNION)
(DESC "activity offices")
(SYNONYM OFFICE OFFICES)
(ADJECTIVE STUDENT ACTIVITY ACTIVITIE)
(FLAGS NDESCBIT VOWELBIT NARTICLEBIT PLURALBIT)
(ACTION STUDENT-UNION-ITEM-F)>
<ROUTINE STUDENT-UNION-ITEM-F ()
<COND (<AND <VERB? THROUGH WALK-TO>
<EQUAL? ,HERE ,STUDENT-UNION>>
<TELL "That area is restricted to student use." CR>)>>
<ROOM ELM-AND-KENNEDY
(LOC ROOMS)
(DESC "Elm & Kennedy")
(NORTH TO MAIN-AND-KENNEDY)
(NE PER STOCK-EXCHANGE-ENTER-F)
(EAST TO ELM-AND-RIVER)
(SE PER ROCKVIL-MALL-ENTER-F)
(SOUTH TO SOUTHWAY-AND-KENNEDY)
(SW TO HOSPITAL)
(WEST TO ELM-AND-PARK)
(NW PER KENNEDY-PARK-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL STOCK-EXCHANGE-OBJECT MALL-OBJECT PARK-OBJECT HOSPITAL-OBJECT
CONSTRUCTION-OBJECT GATE TOWNHOUSE PEOPLE)
(ACTION ELM-AND-KENNEDY-F)>
<ROUTINE ELM-AND-KENNEDY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is an intersection with streets heading in the four cardinal
directions. There is a">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "n entrance to a ">
<PRINTD ,CONSTRUCTION-OBJECT>)
(<EQUAL? ,SYEAR 2071>
<TELL " complex of high-security townhouses">)
(T
<TELL " park entrance">)>
<TELL
" on the northwest corner and a hospital on the southwest corner. To the
southeast lies a shopping mall, and a large, old building with an impressive
facade can be entered to the northeast.">)>>
<ROOM HOSPITAL
(LOC ROOMS)
(DESC "Hospital")
(NE TO ELM-AND-KENNEDY)
(SW TO HOSPITAL-ANNEX)
(FLAGS ONBIT)
(GLOBAL HOSPITAL-OBJECT ANNEX-OBJECT HALLWAY DESK)
(ACTION HOSPITAL-F)>
<ROUTINE HOSPITAL-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "nurse">)
(<EQUAL? .RARG ,M-LOOK>
<TELL
"Rockvil General Hospital is an old but prestigious facility">
<COND (<EQUAL? ,SYEAR 2061>
<SCORE 24> ;"1 point"
<TELL
", catering almost exclusively to wealthy patients">)
(<EQUAL? ,SYEAR 2071>
<SCORE 25> ;"3 points"
<TELL
", which was the center of some brief rioting last year when two injured serfs
died at the Admitting Entrance after being refused entry for class reasons">)>
<TELL
". A nurse sits at the admitting desk. The exit is northeast, and a hallway
leads southwest to the annex.">)>>
<OBJECT HOSPITAL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "hospital")
(SYNONYM HOSPITAL FACILITY)
(ADJECTIVE ROCKVIL GENERAL OLD PRESTIGIOUS)
(ACTION HOSPITAL-OBJECT-F)>
<ROUTINE HOSPITAL-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,HOSPITAL>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,ELM-AND-KENNEDY>
<DO-WALK ,P?SW>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NE>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,HOSPITAL ,HOSPITAL-ANNEX>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,HOSPITAL ,HOSPITAL-ANNEX>>
<V-LOOK>)>>
<OBJECT ANNEX-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "annex")
(SYNONYM ANNEX WING)
(ADJECTIVE HOSPITAL NEW MODERN FAIRLY WELL MAINTAINED WELL-MAINTAINED)
(ACTION ANNEX-OBJECT-F)>
<ROUTINE ANNEX-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,HOSPITAL>
<DO-WALK ,P?SW>)
(<EQUAL? ,HERE ,HOSPITAL-ANNEX>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NE>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,HOSPITAL-ANNEX>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,HOSPITAL-ANNEX>>
<V-LOOK>)>>
<ROOM HOSPITAL-ANNEX
(LOC ROOMS)
(DESC "Hospital Annex")
(NE TO HOSPITAL)
(SW TO SOUTHWAY-AND-PARK)
(FLAGS ONBIT)
(GLOBAL HOSPITAL-OBJECT ANNEX-OBJECT HALLWAY)
(ACTION HOSPITAL-ANNEX-F)>
<ROUTINE HOSPITAL-ANNEX-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is a ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "new, modern">)
(<EQUAL? ,SYEAR 2051>
<TELL "fairly modern">)
(T
<TELL "well-maintained">)>
<TELL
" wing of Rockvil General Hospital. The street lies to the southwest,
and a breezeway leads northeast into the old building.">)>>
<ROOM SOUTHWAY-AND-KENNEDY
(LOC ROOMS)
(DESC "Southway & Kennedy")
(NORTH TO ELM-AND-KENNEDY)
(NE TO SKYCAR-LOT-2)
(EAST TO SOUTHWAY-AND-RIVER)
(SE TO ROW-HOUSES)
(SOUTH TO ROW-HOUSES)
(SW TO ROW-HOUSES)
(WEST TO SOUTHWAY-AND-PARK)
(NW PER CONSTRUCTION-SITE-1-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL FENCE CARLOT CONSTRUCTION-OBJECT PEOPLE)
(ACTION SOUTHWAY-AND-KENNEDY-F)>
<ROUTINE SOUTHWAY-AND-KENNEDY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"Kennedy Street, from the north, ends here in a \"T\" with
Southway. On the northwest corner is a">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "n opening in a temporary wooden fence">)
(T
<TELL
" tall, ugly office tower. The words \"First Continent Bank Building\"
hang in large metal letters over the entrance">)>
<TELL
", and a car lot fills the northeast corner. A row of
old brick triple-deckers, ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "recently">)
(T
<TELL "once">)>
<TELL
" renovated, lines the southern side of the street.">)>>
<ROUTINE CONSTRUCTION-SITE-1-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2041>
,CONSTRUCTION-SITE-1)
(T
<OFFICE-BUILDING-ENTER-F>
<RFALSE>)>>
<ROOM CONSTRUCTION-SITE-1
(LOC ROOMS)
(DESC "Construction Site")
(SE TO SOUTHWAY-AND-KENNEDY)
(OUT TO SOUTHWAY-AND-KENNEDY)
(FLAGS OUTSIDEBIT)
(GLOBAL GLOBAL-SIGN FENCE CONSTRUCTION-OBJECT)
(ACTION CONSTRUCTION-SITE-1-F)>
<ROUTINE CONSTRUCTION-SITE-1-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "A high-rise building is under construction here. ">
<COND (<EQUAL? ,LIGHT-LEVEL 3>
<TELL "The chopping of blades is deafening as ">
<PRINTD ,DERRICOPTERS>
<TELL "s lift bundles of ">
<PRINTD ,BEAMS>
<TELL " to the top of the structure. ">)>
<TELL "A sign reads:" CR>
<PERFORM ,V?READ ,GLOBAL-SIGN>
<TELL "An opening in the perimeter fence leads southeast.">)>>
<OBJECT DERRICOPTERS
(LOC CONSTRUCTION-SITE-1)
(DESC "derricopter")
(SYNONYM DERRICOPT)
(FLAGS NDESCBIT)
(ACTION DERRICOPTERS-F)>
<ROUTINE DERRICOPTERS-F ()
<COND (<VERB? EXAMINE>
<COND (<EQUAL? ,LIGHT-LEVEL 3>
<TELL "These are huge ">
<PRINTD ,DERRICOPTERS>
<TELL
"s, befitting a construction project of this size." CR>)
(T
<TELL "The ">
<PRINTD ,DERRICOPTERS>
<TELL "s lie idle at the edge of the site." CR>)>)
(<AND <VERB? LISTEN>
<EQUAL? ,LIGHT-LEVEL 3>>
<TELL "The ">
<PRINTD ,DERRICOPTERS>
<TELL "s are deafeningly loud." CR>)>>
<OBJECT BEAMS
(LOC CONSTRUCTION-SITE-1)
(DESC "plastalloy beams")
(SYNONYM BEAM BEAMS BUNDLE BUNDLES)
(ADJECTIVE PLASTALLO)
(FLAGS NARTICLEBIT PLURALBIT NDESCBIT)>
<ROOM ROW-HOUSES
(LOC ROOMS)
(DESC "Row Houses")
(LDESC
"You are standing just inside the front door of a row of renovated old brick
three-story apartments. The inner door leads south, and Southway is just
outside to the north.")
(NORTH TO SOUTHWAY-AND-KENNEDY)
(NE TO SOUTHWAY-AND-RIVER)
(SOUTH PER INNER-LOBBY-ENTER-F)
(NW TO SOUTHWAY-AND-PARK)
(IN PER INNER-LOBBY-ENTER-F)
(OUT TO SOUTHWAY-AND-KENNEDY)
(FLAGS ONBIT)
(GLOBAL UNOPENABLE-DOOR)>
<ROOM SOUTHWAY-AND-RIVER
(LOC ROOMS)
(DESC "Southway & River")
(NORTH TO ELM-AND-RIVER)
(NE PER NO-ENTRY-TO-HEIMAN-WORLD-F)
(EAST TO CONSTRUCTION-SITE-2)
(SE PER NO-ENTRY-TO-HEIMAN-WORLD-F)
(SOUTH TO BEND)
(SW TO ROW-HOUSES)
(WEST TO SOUTHWAY-AND-KENNEDY)
(NW TO SKYCAR-LOT-2)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL FENCE RIVER RIVER-BANK CONSTRUCTION-OBJECT HEIMAN-WORLD-OBJECT
PEOPLE)
(SCENE 34)
(ACTION SOUTHWAY-AND-RIVER-F)>
<ROUTINE SOUTHWAY-AND-RIVER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"Here at River Street, Southway ends its long trip from the western suburbs.
South of here, the street bends toward the river. To the southwest are some
brick houses, and a car lot occupies the northwest corner. All along the east
side of the street ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "is a huge ">
<PRINTD ,CONSTRUCTION-OBJECT>
<TELL ".">)
(T
<TELL "is the featureless, cliff-like facade of ">
<PRINTD ,HEIMAN-WORLD-OBJECT>
<TELL ".">
<COND (<EQUAL? ,SYEAR 2061 2071>
<SCORE 26> ;"3 points"
<TELL
" Little, if anything, has been done to restore the top
several floors, gutted by fire about ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "five">)
(T
<TELL "fifteen">)>
<TELL " years ago.|
|
That fire, which cost several thousand lives, revealed a severe deficiency
of built-in fire control systems, but the courts threw out all suits since
the building was built after the deregulation of the construction industry
in '38, and the developer never falsely represented the building's safety
systems.">)>)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2071>
<L? <GETP ,SOUTHWAY-AND-RIVER ,P?SCENE> 101>>
<COND (<PROB <GETP ,SOUTHWAY-AND-RIVER ,P?SCENE>>
<PUTP ,SOUTHWAY-AND-RIVER ,P?SCENE 101>
<SCORE 27> ;"7 points"
<TELL CR
"In an alley between two buildings, you spot two Church policemen shooting
an old woman with silenced guns. They drag her out of view." CR>)
(T
<PUTP ,SOUTHWAY-AND-RIVER ,P?SCENE
<+ <GETP ,SOUTHWAY-AND-RIVER ,P?SCENE> 33>>
<RFALSE>)>)>>
<ROOM SKYCAR-LOT-2
(LOC ROOMS)
(DESC "Skycar Lot")
(LDESC
"This large car lot serves Rockvil Mall, which lies to the north. There
are exits from the lot to the southeast and southwest.")
(NORTH PER ROCKVIL-MALL-ENTER-F)
(NE SORRY "There's a tall fence in the way.")
(EAST SORRY "There's a tall fence in the way.")
(SE TO SOUTHWAY-AND-RIVER)
(SOUTH SORRY "There's a tall fence in the way.")
(SW TO SOUTHWAY-AND-KENNEDY)
(WEST SORRY "There's a tall fence in the way.")
(NW SORRY "There's a tall fence in the way.")
(FLAGS OUTSIDEBIT)
(GLOBAL FENCE MALL-OBJECT CARLOT)>
<ROOM CONSTRUCTION-SITE-2
(LOC ROOMS)
(SDESC "")
(WEST TO SOUTHWAY-AND-RIVER)
(SW TO BEND)
(FLAGS OUTSIDEBIT)
(GLOBAL GLOBAL-SIGN CONSTRUCTION-OBJECT HEIMAN-WORLD-OBJECT FENCE)
(ACTION CONSTRUCTION-SITE-2-F)>
<ROUTINE CONSTRUCTION-SITE-2-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2041>
<PUTP ,CONSTRUCTION-SITE-2 ,P?SDESC "Construction Site">
<FCLEAR ,CONSTRUCTION-SITE-2 ,NARTICLEBIT>)
(T
<FSET ,CONSTRUCTION-SITE-2 ,NARTICLEBIT>
<PUTP ,CONSTRUCTION-SITE-2 ,P?SDESC "Heiman World">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"The work in this huge site is still in the foundation
phase. A sign reads:" CR>
<PERFORM ,V?READ ,GLOBAL-SIGN>
<TELL
"You can leave the site to the west or southwest.">)
(<EQUAL? ,SYEAR 2051>
<TELL
"This is the second of developer Salvador Heiman's \"cities within a city.\"
Rumors say that it wasn't built as well as the older ">
<PRINTD ,HEIMAN-VILLAGE>
<TELL
" next door, and indeed, it already shows some minor cracks from settling.
Exits from the vast lobby lead west and southwest.">)
(<EQUAL? ,SYEAR 2061>
<SCORE 28> ;"1 point"
<TELL
"This is a run-down Indoor City. The second of its kind, it was completed
in 2042. The only lighting in the lobby comes from the tall entrance doors
to the west and southwest.">)
(T
<SCORE 29> ;"3 points"
<TELL
"This old Indoor City has become exactly what its critics predicted it would
become: a vast indoor slum. You would be well advised to use the exits that
lie to the west and southwest.">)>)>>
<ROUTINE ROCKVIL-MALL-ENTER-F ()
<COND (<OR <AND <EQUAL? ,SYEAR 2041 2051 2061>
<G? ,STIME 480>
<L? ,STIME 1320>>
<AND <EQUAL? ,SYEAR 2071>
<G? ,STIME 720>
<L? ,STIME 1080>>>
,ROCKVIL-MALL)
(T
<CLOSED-PRINT "The Mall">
<RFALSE>)>>
<ROOM ROCKVIL-MALL
(LOC ROOMS)
(DESC "Rockvil Mall")
(NE TO ELM-AND-RIVER)
(EAST PER JOYBOOTH-ENTER-F)
(SOUTH TO SKYCAR-LOT-2)
(NW TO ELM-AND-KENNEDY)
(IN PER JOYBOOTH-ENTER-F)
(GLOBAL JOYBOOTH-OBJECT MALL-OBJECT CARLOT STORE-OBJECT PEOPLE)
(ACTION ROCKVIL-MALL-F)>
<ROUTINE ROCKVIL-MALL-F (RARG "AUX" TIME)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This">
<COND (<EQUAL? ,SYEAR 2041>
<TELL " busy">)
(<EQUAL? ,SYEAR 2071>
<TELL " deserted">)>
<TELL
" shopping mall is a renovated computer factory. There are many stores">
<COND (<EQUAL? ,SYEAR 2071>
<TELL
", most of them closed, and stark joybooths marked with the symbol of the
Church form a row along the eastern side of the mall">)
(<EQUAL? ,SYEAR 2041>
<TELL
", and Dizzard Joybooths line the eastern side of the mall">)>
<TELL
". There are exits to the northwest, northeast, and south.">)
(<EQUAL? .RARG ,M-END>
<COND (<EQUAL? ,SYEAR 2071>
<SET TIME 1080>)
(T
<SET TIME 1320>)>
<CLOSING-TIME .TIME "the mall" "a guard" ,ELM-AND-KENNEDY>)>>
<OBJECT MALL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "mall")
(SYNONYM MALL)
(ADJECTIVE BUSY DESERTED SHOPPING ROCKVIL)
(ACTION MALL-OBJECT-F)>
<ROUTINE MALL-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,ROCKVIL-MALL>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,ELM-AND-KENNEDY>
<DO-WALK ,P?SE>)
(<EQUAL? ,HERE ,ELM-AND-RIVER>
<DO-WALK ,P?SW>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NORTH>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,ROCKVIL-MALL>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)>>
<ROUTINE JOYBOOTH-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2041 2071>
,JOYBOOTH)
(T
<COND (<EQUAL? ,SYEAR 2051>
<SCORE 30> ;"1 point"
<TELL
"You remember vaguely that the eastern side of the Mall once contained many
joybooths, but of course they were banned years ago. ">)>
<TELL "There's nothing in that direction ">
<COND (<EQUAL? ,SYEAR 2051>
<TELL "now ">)>
<TELL "-- just a featureless wall." CR>
<RFALSE>)>>
<GLOBAL JOYBOOTH-USED <>>
<ROOM JOYBOOTH
(LOC ROOMS)
(DESC "Joybooth")
(OUT PER JOYBOOTH-EXIT-F)
(WEST PER JOYBOOTH-EXIT-F)
(FLAGS ONBIT)
(GLOBAL JOYBOOTH-OBJECT SLOT)
(ACTION JOYBOOTH-F)>
<ROUTINE JOYBOOTH-F (RARG "AUX" TIME)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SEAT ,HERE>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"You are in a Dizzard-brand joybooth, the most expensive but generally
considered the most well-programmed line of booths">)
(T
<TELL
"You are in one of the new, free, Church-sponsored joybooths">)>
<TELL
". The room is small, barely a meter across, with gray carpeted walls, ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "a slot for ">
<PRINTD ,CREDIT-CARD>
<TELL "s">)
(T
<TELL "a ">
<PRINTD ,JOYBOOTH-BUTTON>)>
<TELL ", a headset, and a plain, built-in seat.">)
(<EQUAL? .RARG ,M-END>
<COND (<EQUAL? ,SYEAR 2071>
<SET TIME 1080>)
(T
<SET TIME 1320>)>
<CLOSING-TIME .TIME "the mall" "a guard" ,ELM-AND-KENNEDY>)>>
<ROUTINE JOYBOOTH-EXIT-F ()
<COND (<FSET? ,HEADSET ,WORNBIT>
<TELL "You'll have to remove the headset first." CR>
<SETG P-IT-OBJECT ,HEADSET>
<RFALSE>)
(T
,ROCKVIL-MALL)>>
<OBJECT JOYBOOTH-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "joybooth")
(SYNONYM JOYBOOTH JOYBOOTHS BOOTH BOOTHS)
(ADJECTIVE JOY DIZZARD)
(ACTION JOYBOOTH-OBJECT-F)>
<ROUTINE JOYBOOTH-OBJECT-F ()
<COND (<AND <EQUAL? ,SYEAR 2051 2061>
<NOT <VERB? THROUGH WALK-TO>>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,JOYBOOTH-OBJECT>)
(<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,JOYBOOTH>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,JOYBOOTH-OBJECT ,HERE>
<DO-WALK ,P?EAST>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,ROCKVIL-MALL>
<TELL ,LOOK-AROUND CR>)
(T
<DO-WALK ,P?WEST>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,JOYBOOTH>
<V-LOOK>)
(<EQUAL? ,SYEAR 2071>
<TELL
"The booths are emblazoned with the symbol of the Church." CR>)>)>>
<OBJECT JOYBOOTH-BUTTON
(LOC LOCAL-GLOBALS)
(DESC "red button")
(SYNONYM BUTTON)
(ADJECTIVE RED)
(FLAGS NDESCBIT)
(ACTION JOYBOOTH-BUTTON-F)>
<ROUTINE JOYBOOTH-BUTTON-F ()
<COND (<VERB? PUSH>
<COND (<QUEUED? ,I-JOYBOOTH-RECHARGE>
<TELL
"A light flashes for a moment: \"Recharging. Unit not in operation.\"" CR>)
(<FSET? ,HEADSET ,WORNBIT>
<SCORE 31> ;"3 points"
<SETG ELAPSED-TIME 30>
<QUEUE I-JOYBOOTH-RECHARGE 60>
<COND (<EQUAL? ,SEAT <LOC ,PLAYER>>
<FSET ,SEAT ,ONBIT>)>
<TELL
"The walls of the joybooth recede, and you find yourself in an arena, garbed
in magnificent gladiator's armor. In one hand you hold a long whip, in the
other a mace. The ground around you is literally soggy with blood.|
|
You barely notice as the headset probes into the recesses of your mind,
uncovering hidden thoughts, nurturing certain emotions. An unclad, unwashed
barbarian suddenly stumbles into the arena before you, and at once your
mind is filled with unthinking hatred toward this...this thing, this animal.|
|
The roar of the mob pierces your hatred, the roar of thousands, screaming
for their hero. You can hear many things in those screams; the screams of
women lusting for your manhood, the screams of men jealous of your power,
the screams of everyone for the blood of the barbarian animal|
|
as adrenalin surges through your chest as the creature picks up a battered
sword and shield from the ground. In a flash, the battle begins, and like most
animals, the creature has amazing strength. His blows land on your armor, but
you shake them off like a true hero. Summoning an inner strength, drawing upon
your anger for this filthy beast, you sink the spikes of the mace deep into
the creature's flesh. The bellowing of the crowd becomes deafening, shaking
the ground, resounding through the arena, pounding you, pounding|
|
the blood pounding in your ears, your breath short and excited, you slowly
notice the tiny booth around you. Although disappointed that the fantasy has
ended, you feel somehow refreshed, emotionally nourished; the rare taste of
victory in a life of defeat." CR>
<RTRUE>)
(T
<TELL "Nothing happens." CR>)>)>>
<ROUTINE I-JOYBOOTH-RECHARGE ()
<RFALSE>>
<OBJECT HEADSET
(LOC JOYBOOTH)
(DESC "headset")
(SYNONYM HEADSET HEADPHONE SET)
(ADJECTIVE HEAD)
(FLAGS NDESCBIT WEARBIT)
(ACTION HEADSET-F)>
<ROUTINE HEADSET-F ()
<COND (<VERB? TAKE>
<PERFORM ,V?WEAR ,HEADSET>
<RTRUE>)
(<AND <VERB? PUT-ON>
<PRSI? ,HEAD>>
<PERFORM ,V?WEAR ,HEADSET>
<RTRUE>)>>
<ROOM ELM-AND-RIVER
(LOC ROOMS)
(DESC "Elm & River")
(NORTH TO MAIN-AND-RIVER)
(NE TO HEIMAN-VILLAGE)
(EAST TO HEIMAN-VILLAGE)
(SE TO HEIMAN-VILLAGE)
(SOUTH TO SOUTHWAY-AND-RIVER)
(SW PER ROCKVIL-MALL-ENTER-F)
(WEST TO ELM-AND-KENNEDY)
(NW PER STOCK-EXCHANGE-ENTER-F)
(DOWN PER TUBES-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL STAIRS STOCK-EXCHANGE-OBJECT MALL-OBJECT HEIMAN-VILLAGE-OBJECT
TUBE-STATION PEOPLE)
(ACTION ELM-AND-RIVER-F)>
<ROUTINE ELM-AND-RIVER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"Elm Street begins here and crosses the downtown area to the west. Along
the eastern side of River Street stands the vast ">
<PRINTD ,HEIMAN-VILLAGE>
<TELL " building. You can enter ">
<PRINTD ,ROCKVIL-MALL>
<TELL " to the southwest, or the old ">
<PRINTD ,STOCK-EXCHANGE>
<TELL " building to the northwest. ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "A former Tube entrance occupies">)
(T
<TELL "An entrance to a ">
<PRINTD ,TUBE-STATION>
<TELL " graces">)>
<TELL " one corner of the intersection.">)>>
<ROUTINE STOCK-EXCHANGE-ENTER-F ()
<COND (<OR <AND <EQUAL? ,SYEAR 2041>
<G? ,STIME 360>
<L? ,STIME 1320>>
<AND <EQUAL? ,SYEAR 2051 2061 2071>
<G? ,STIME 420>
<L? ,STIME 1320>>>
,STOCK-EXCHANGE)
(T
<CLOSED-PRINT "The stock exchange building">
<RFALSE>)>>
<ROOM STOCK-EXCHANGE
(LOC ROOMS)
(DESC "Stock Exchange")
(LDESC
"This aging, impressive structure was once the economic center for the
quad-state region (the Dakotas, Wyoming and Montana). However, in this day
and age of decentralization made possible by electronic communications, the
activity here is reduced in both quantity and importance. Much of the building
has been converted to office space. Wide steel portals lead southeast and
southwest.")
(SE TO ELM-AND-RIVER)
(SW TO ELM-AND-KENNEDY)
(FLAGS ONBIT)
(GLOBAL STOCK-EXCHANGE-OBJECT)
(ACTION STOCK-EXCHANGE-F)>
<ROUTINE STOCK-EXCHANGE-F (RARG)
<COND (<EQUAL? .RARG ,M-END>
<CLOSING-TIME 1320 "the stock exchange building"
"a guard" ,ELM-AND-KENNEDY>)>>
<OBJECT STOCK-EXCHANGE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Stock Exchange")
(SYNONYM EXCHANGE BUILDING BLDG)
(ADJECTIVE STOCK EXCHANGE AGING IMPRESSIV OLD)
(ACTION STOCK-EXCHANGE-OBJECT-F)>
<ROUTINE STOCK-EXCHANGE-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,STOCK-EXCHANGE>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,ELM-AND-RIVER>
<DO-WALK ,P?NW>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NE>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,STOCK-EXCHANGE>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,STOCK-EXCHANGE>>
<V-LOOK>)>>
<ROOM MAIN-AND-RIVER
(LOC ROOMS)
(DESC "Main & River")
(NORTH TO MIDLAND-AND-RIVER)
(NE TO HEALTH-CENTER)
(EAST TO MAIN-AND-CHURCH)
(SE TO HEIMAN-VILLAGE)
(SOUTH TO ELM-AND-RIVER)
(SW PER OFFICE-BUILDING-ENTER-F)
(WEST TO MAIN-AND-KENNEDY)
(NW PER APARTMENT-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL GLOBAL-SIGN GLASS HEALTH-CENTER-OBJECT HEIMAN-VILLAGE-OBJECT
PEOPLE)
(SCENE 0)
(ACTION MAIN-AND-RIVER-F)>
<ROUTINE MAIN-AND-RIVER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is a typical four-way intersection between Main and River Streets. An
entranceway through the massive walls of ">
<PRINTD ,HEIMAN-VILLAGE>
<TELL " fills the southeast corner of the street, and a ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "former ">)>
<TELL "health care facility occupies the northeast corner.|
|
To the southwest is 80 River Street, a ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "brand new">)
(<EQUAL? ,SYEAR 2051>
<TELL "fairly modern">)
(T
<TELL "forties-style">)>
<TELL " plastalloy and glass ">
<PRINTD ,CHUN-BUILDING>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
", with many floors still unoccupied according to
the billboard over the entrance">)>
<TELL
". The fourth corner, the northwest, is the site of Perez
Towers, a luxury apartment building.">)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2051>
<L? <GETP ,MAIN-AND-RIVER ,P?SCENE> 101>>
<COND (<PROB <GETP ,MAIN-AND-RIVER ,P?SCENE>>
<PUTP ,MAIN-AND-RIVER ,P?SCENE 101>
<SCORE 33> ;"1 point"
<TELL CR
"Several BSF officers trot out of a nearby building and climb
into an unmarked BSF van which drives away." CR>)
(T
<PUTP ,MAIN-AND-RIVER ,P?SCENE
<+ <GETP ,MAIN-AND-RIVER ,P?SCENE> 50>>
<RFALSE>)>)>>
<OBJECT PEREZ-TOWERS
(LOC MAIN-AND-RIVER)
(DESC "Perez Towers")
(SYNONYM TOWERS TOWER BUILDING BLDG)
(ADJECTIVE PEREZ LUXURY APARTMENT)
(FLAGS NARTICLEBIT NDESCBIT)
(ACTION PEREZ-TOWERS-F)>
<ROUTINE PEREZ-TOWERS-F ()
<COND (<AND <VERB? THROUGH WALK-TO>
<EQUAL? ,HERE ,MAIN-AND-RIVER>>
<DO-WALK ,P?NW>)
(<VERB? EXAMINE>
<PRINTD ,PEREZ-TOWERS>
<TELL " is a luxury apartment building." CR>)>>
<GLOBAL DESCRIBE-VILLAGE <>>
<ROOM HEIMAN-VILLAGE
(LOC ROOMS)
(DESC "Heiman Village")
(EAST TO CHURCH-STREET-PARK)
(WEST TO ELM-AND-RIVER)
(NW TO MAIN-AND-RIVER)
(FLAGS NARTICLEBIT)
(GLOBAL PARK-OBJECT SCHOOL-OBJECT CHURCH-STREET-CITY-OBJECT
HEIMAN-VILLAGE-OBJECT STORE-OBJECT PEOPLE)
(ACTION HEIMAN-VILLAGE-F)>
<ROUTINE HEIMAN-VILLAGE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"This massive complex is a revolutionary and controversial concept in urban
development, the \"city within a city.\" Apartments of every size, schools,
offices, stores, and city services, all can be found under this one gigantic
roof. Exits from the Village lead northwest, west, and east.">
<COND (<NOT ,DESCRIBE-VILLAGE>
<SETG DESCRIBE-VILLAGE T>
<TELL CR CR
"Proponents of this type of city-microcosm say that it makes the desirable
urban lifestyle available to the middle class, saves energy and commuting
time, and shields people from the crime and pollution of the city streets.|
|
Critics call it an urban cocoon, creating a sterile, isolated
environment and eliminating the need to deal with the urban problems
which make isolation so desirable." CR CR>
<PRINTD ,HEIMAN-VILLAGE>
<TELL
", in the few years it has been open, has proved to be a tremendous commercial
success, and more communities of the type are being planned.">)>)
(<EQUAL? ,SYEAR 2051>
<TELL
"This is a landmark in urban development, the first and most famous Indoor
City. It has been extremely popular, allowing the middle class an opportunity
to live in the city. Indoor Cities are being planned in many locations.
You can leave the lobby of ">
<PRINTD ,HEIMAN-VILLAGE>
<TELL " to the east, west, or northwest.">)
(<EQUAL? ,SYEAR 2061>
<SCORE 28> ;"1 point"
<TELL
"This oldest of the Indoor Cities looks typically ill-maintained. The
only lighting in the lobby comes from the tall entrance doors to the
east, west and northwest.">)
(T
<SCORE 29> ;"3 points"
<TELL
"The oldest Indoor City has succumbed to the fate its critics foresaw: a
roofed-in urban ghetto for masses of faceless serfs. You would be well
advised to use the exits that lie to the east, west, or northwest.">)>)>>
<OBJECT HEIMAN-VILLAGE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Heiman Village")
(SYNONYM VILLAGE CITY BUILDING BLDG WALLS COMPLEX MICROCOSM COCOON
GHETTO LANDMARK IC)
(ADJECTIVE HEIMAN OLDER FIRST VAST MASSIVE VILLAGE URBAN INDOOR
REVOLUTIONARY CONTROVERSIAL STERILE ISOLATED POPULAR
MOST FAMOUS ILL-MAINTAINED EXTREMELY ROOFED-IN)
(ACTION HEIMAN-VILLAGE-OBJECT-F)>
<ROUTINE HEIMAN-VILLAGE-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,HEIMAN-VILLAGE>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,CHURCH-STREET-PARK>
<DO-WALK ,P?WEST>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?EAST>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,HEIMAN-VILLAGE>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,HEIMAN-VILLAGE>>
<V-LOOK>)>>
<OBJECT HEIMAN-WORLD-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Heiman World")
(SYNONYM WORLD SLUM CITY IC)
(ADJECTIVE HEIMAN RUN-DOWN SECOND VAST INDOOR)
(ACTION HEIMAN-WORLD-OBJECT-F)>
<ROUTINE HEIMAN-WORLD-OBJECT-F ()
<COND (<AND <EQUAL? ,SYEAR 2041>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,HEIMAN-WORLD-OBJECT>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,SOUTHWAY-AND-RIVER>
<DO-WALK ,P?EAST>)
(<EQUAL? ,HERE ,BEND>
<DO-WALK ,P?NE>)
(<GLOBAL-IN? ,PRSO ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,CONSTRUCTION-SITE-2>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,CONSTRUCTION-SITE-2>>
<V-LOOK>)>>
<OBJECT CHURCH-STREET-CITY-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Church Street City")
(SYNONYM CITY STRUCTURE IC)
(ADJECTIVE CHURCH STREET INDOOR FAIRLY RECENT LOW-QUALITY LOW QUALITY)
(ACTION CHURCH-STREET-CITY-OBJECT-F)>
<ROUTINE CHURCH-STREET-CITY-OBJECT-F ()
<COND (<AND <EQUAL? ,SYEAR 2041 2051>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,CHURCH-STREET-CITY-OBJECT>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,MAIN-AND-CHURCH>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,HERE ,HEIMAN-VILLAGE>
<DO-WALK ,P?EAST>)
(<GLOBAL-IN? ,PRSO ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,CHURCH-STREET-PARK>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,CHURCH-STREET-PARK>>
<V-LOOK>)>>
<ROOM CHURCH-STREET-PARK
(LOC ROOMS)
(SDESC "")
(NORTH TO MAIN-AND-CHURCH)
(NE PER CHURCH-STREET-PARK-EXIT-F)
(EAST PER CHURCH-STREET-PARK-EXIT-F)
(SE PER CHURCH-STREET-PARK-EXIT-F)
(SOUTH PER CHURCH-STREET-PARK-EXIT-F)
(SW PER CHURCH-STREET-PARK-EXIT-F)
(WEST TO HEIMAN-VILLAGE)
(NW PER CHURCH-STREET-PARK-EXIT-F)
(FLAGS NARTICLEBIT)
(GLOBAL GRAFFITI TUNNEL PARK-OBJECT CHURCH-STREET-CITY-OBJECT FENCE
HEIMAN-VILLAGE-OBJECT RAILROAD-TRACKS PEOPLE)
(ACTION CHURCH-STREET-PARK-F)>
<ROUTINE CHURCH-STREET-PARK-EXIT-F ()
<COND (<EQUAL? ,SYEAR 2041 2051>
<COND (<PRSO? ,P?SOUTH>
<TELL "The tracks are fenced off." CR>)
(T
<TELL "There's no exit on that side of the park." CR>)>)
(T
<TELL "There's no exit from the lobby in that direction." CR>)>
<RFALSE>>
<ROUTINE CHURCH-STREET-PARK-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2041 2051>
<PUTP ,CHURCH-STREET-PARK ,P?SDESC "Church Street Park">)
(T
<PUTP ,CHURCH-STREET-PARK ,P?SDESC "Church Street City">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
"This is the oldest existing park in the city, and has not been well kept
up. " ,FOUNTAIN-DESC " The park has a reputation for being very unsafe after
dark, due to the proximity to the poor section of town just across the tracks
to the south. Church Street begins at the entrance to the park and leads
north, and a side entrance to ">
<PRINTD ,HEIMAN-VILLAGE>
<TELL " forms the western boundary of the park.">)
(T
<SCORE 34> ;"1 point"
<TELL
"This Indoor City is a fairly recent one, and almost by definition, therefore,
a fairly low-quality structure. A tunnel leads west toward ">
<PRINTD ,HEIMAN-VILLAGE>
<TELL
", and the main entrance to this IC is from the north.">)>)>>
<OBJECT FOUNTAIN
(LOC LOCAL-GLOBALS)
(DESC "dried-up fountain")
(SYNONYM FOUNTAIN)
(ADJECTIVE ORNATE DRIED-UP DIRTY)
(FLAGS NDESCBIT)
(ACTION FOUNTAIN-F)>
<ROUTINE FOUNTAIN-F ()
<COND (<VERB? EXAMINE>
<TELL ,FOUNTAIN-DESC CR>)>>
<ROOM MAIN-AND-CHURCH
(LOC ROOMS)
(DESC "Main & Church")
(NORTH TO CHURCH-ENTRANCE)
(NE TO CEMETERY)
(EAST TO MAIN-AND-WICKER)
(SE TO CHURCH-STREET-APARTMENTS)
(SOUTH TO CHURCH-STREET-PARK)
(SW PER CONSTRUCTION-SITE-3-ENTER-F)
(WEST TO MAIN-AND-RIVER)
(NW PER CONSTRUCTION-SITE-4-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL CEMETERY-OBJECT PARK-OBJECT CONSTRUCTION-OBJECT GATE PEOPLE
CHURCH-STREET-CITY-OBJECT)
(SCENE 50)
(ACTION MAIN-AND-CHURCH-F)>
<ROUTINE MAIN-AND-CHURCH-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You are at the corner of bustling Main Street and quiet
Church Street. There ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "is construction in progress">)
(T
<TELL "are nondescript buildings">)>
<TELL
" on the northwestern and southwestern corners. A conventional apartment
building occupies the southeast corner, and an entrance to Midland Cemetery
forms the fourth corner. ">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
"Some greenery is visible down Church Street to the south.">)
(T
<TELL
"A particularly blockish Indoor City towers over
Church Street south of here.">)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2071>
<L? <GETP ,MAIN-AND-CHURCH ,P?SCENE> 101>>
<COND (<PROB <GETP ,MAIN-AND-CHURCH ,P?SCENE>>
<PUTP ,MAIN-AND-CHURCH ,P?SCENE 101>
<SCORE 35> ;"6 points"
<TELL CR
"You hear shots from a nearby building. Seconds later, Security Police carry
a bleeding man out of the building and into a waiting skyvan. A woman runs out
of the building, screaming. One of the officers kicks her in the stomach and
clubs her across the skull as she falls. Nonchalantly, the policeman climbs
into the skyvan, which rises away." CR>)
(T
<PUTP ,MAIN-AND-CHURCH ,P?SCENE
<+ <GETP ,MAIN-AND-CHURCH ,P?SCENE> 50>>
<RFALSE>)>)>>
<ROUTINE CONSTRUCTION-SITE-3-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2041>
,CONSTRUCTION-SITE-3)
(T
<OFFICE-BUILDING-ENTER-F>
<RFALSE>)>>
<ROUTINE CONSTRUCTION-SITE-4-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2041>
,CONSTRUCTION-SITE-4)
(T
<APARTMENT-ENTER-F>
<RFALSE>)>>
<ROOM CHURCH-STREET-APARTMENTS
(LOC ROOMS)
(DESC "Church Street Apartments")
(IN PER INNER-LOBBY-ENTER-F)
(OUT TO MAIN-AND-CHURCH)
(NW TO MAIN-AND-CHURCH)
(SE PER INNER-LOBBY-ENTER-F)
(FLAGS ONBIT)
(GLOBAL UNOPENABLE-DOOR MAILBOXES PICTUREPHONE GRAFFITI GLASS)
(ACTION CHURCH-STREET-APARTMENTS-F)>
<ROUTINE CHURCH-STREET-APARTMENTS-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,BUZZERS ,HERE>)
(<EQUAL? .RARG ,M-LOOK>
<DESCRIBE-APARTMENT-VESTIBULE "southeast" "northwest">)>>
<ROOM CONSTRUCTION-SITE-3
(LOC ROOMS)
(SDESC "Construction Site")
(LDESC
"The Johnson Federal Building, which closed last year when the offices of
the few remaining Federal agencies were transferred to City Hall, is being
renovated as an office building with commercial space on the ground floor.
You can leave the site to the northeast.")
(NE TO MAIN-AND-CHURCH)
(OUT TO MAIN-AND-CHURCH)
(FLAGS OUTSIDEBIT)
(GLOBAL CONSTRUCTION-OBJECT)>
<ROOM CONSTRUCTION-SITE-4
(LOC ROOMS)
(SDESC "Construction Site")
(LDESC
"A conventional city apartment block is nearing completion here. There are
openings in the southeast and northeast corners of the perimeter fence.")
(SE TO MAIN-AND-CHURCH)
(NE TO CHURCH-ENTRANCE)
(FLAGS OUTSIDEBIT)
(GLOBAL FENCE CONSTRUCTION-OBJECT)>
<ROUTINE I-HUNGER ()
<COND (,HUNGER-WARNING
<SCORE 40> ;"3 points"
<CRLF>
<JIGS-UP "You finally succumb to the ravages of hunger.">)
(T
<SCORE 40> ;"3 points"
<SETG HUNGER-WARNING T>
<QUEUE I-HUNGER 47>
<TELL CR
"Hunger overwhelms you for a moment. Your head clears, but your
stomach still aches from days without food." CR>)>>
<GLOBAL HUNGER-WARNING <>>
<ROOM MAIN-AND-WICKER
(LOC ROOMS)
(DESC "Main & Wicker")
(NORTH TO CEMETERY)
(NE SORRY "There's no entrance to the cemetery in that direction.")
(EAST TO MAIN-STREET-BRIDGE)
(SE PER THE-COACHMAN-ENTER-F)
(SOUTH TO WICKER-AND-PIER)
(SW PER FOODVILLE-ENTER-F)
(WEST PER MAIN-AND-CHURCH-ENTER-F)
(NW SORRY "There's no entrance to the cemetery in that direction.")
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL CEMETERY-OBJECT GLOBAL-SIGN GLOBAL-WINDOW RAILROAD-BRIDGE GATE
WATER RIVER SUPERMARKET RESTAURANT-OBJECT STREET-BRIDGE GLASS
RAILROAD-TRACKS SMOKE NOTE RIVER-BANK PEOPLE)
(SCENE 25)
(ACTION MAIN-AND-WICKER-F)>
<ROUTINE MAIN-AND-WICKER-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-ENTER>
<IN? ,UNSHAVEN-MAN ,MAIN-AND-WICKER>>
<MOVE ,UNSHAVEN-MAN ,LOCAL-GLOBALS>
<COND (<NOT <HELD? ,BORDELLO-AD>>
<MOVE ,BORDELLO-AD ,LOCAL-GLOBALS>)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2081>
<SCORE 36> ;"8 points"
<TELL
"The street runs from west to east, where a bridge is visible. A crude sign is
posted just west of here. Another road leads south into a different section of
town, where smoke billows upward from scattered fires. Buildings all along the
street look typically looted and deserted; a grocery store, its large plate
glass window shattered, is on the southwest corner. On the southeast corner is
the burnt-out shell of a building, and an overgrown cemetery lies to the north.
As usual, all the telephone poles have been chopped down for firewood.">)
(T
<TELL
"Wicker Drive, which begins here, heads south under a railroad
bridge. Main Street leads west toward the center of the city and
east across a bridge over the river">
<GROCERY-STORE-DESC>
<TELL
", occupies the southwest corner and a restaurant stands amid a
large car lot on the southeast corner. There is an entrance to
the cemetery to the north.">)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2051>
<EQUAL? ,LIGHT-LEVEL 3>
<NOT <EQUAL? ,L-HERE ,MAIN-AND-WICKER>>
<L? <GETP ,MAIN-AND-WICKER ,P?SCENE> 101>>
<COND (<PROB <GETP ,MAIN-AND-WICKER ,P?SCENE>>
<PUTP ,MAIN-AND-WICKER ,P?SCENE 101>
<MOVE ,UNSHAVEN-MAN ,HERE>
<MOVE ,BORDELLO-AD ,UNSHAVEN-MAN>
<TELL CR "An ">
<PRINTD ,UNSHAVEN-MAN>
<TELL " looks bored as he hands out cheaply-printed ">
<PRINTD ,BORDELLO-AD>
<TELL "s." CR>)
(T
<PUTP ,MAIN-AND-WICKER ,P?SCENE
<+ <GETP ,MAIN-AND-WICKER ,P?SCENE> 25>>
<RFALSE>)>)>>
<OBJECT UNSHAVEN-MAN
(LOC LOCAL-GLOBALS)
(DESC "unshaven man")
(LDESC
"There is an unshaven man here, handing out photocopied ads.")
(SYNONYM MAN)
(ADJECTIVE BORED UNSHAVEN)
(FLAGS ACTORBIT VOWELBIT OPENBIT CONTBIT SEARCHBIT)
(ACTION UNSHAVEN-MAN-F)>
<ROUTINE UNSHAVEN-MAN-F ()
<COND (<EQUAL? ,UNSHAVEN-MAN ,WINNER>
<COND (<OR <AND <VERB? GIVE>
<PRSO? ,BORDELLO-AD>>
<AND <VERB? SGIVE>
<PRSI? ,BORDELLO-AD>>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?TAKE ,BORDELLO-AD>)
(T
<TELL "He replies with a few monosyllabic grunts." CR>)>
<CLEAR-BUF>)
(<AND <VERB? ASK-FOR>
<PRSI? ,BORDELLO-AD>>
<PERFORM ,V?TAKE ,BORDELLO-AD>
<RTRUE>)>>
<OBJECT BORDELLO-AD
(LOC LOCAL-GLOBALS)
(DESC "strip joint advertisement")
(SYNONYM AD ADS FLYERS LEAFLETS ADVERTISE FLYER PHOTOCOPI
PHOTOCOPY LEAFLET)
(ADJECTIVE STRIP JOINT BORDELLO CHEAP CHEAP-LOOKING PHOTOCOPI)
(FLAGS READBIT TAKEBIT NDESCBIT TRYTAKEBIT)
(SIZE 2)
(ACTION BORDELLO-AD-F)>
<ROUTINE BORDELLO-AD-F ()
<COND (<AND <VERB? TAKE>
<FSET? ,BORDELLO-AD ,TRYTAKEBIT>>
<FCLEAR ,BORDELLO-AD ,TRYTAKEBIT>
<FCLEAR ,BORDELLO-AD ,NDESCBIT>
<MOVE ,UNSHAVEN-MAN ,LOCAL-GLOBALS>
<MOVE ,BORDELLO-AD ,PLAYER>
<SETG FOLLOW-FLAG 9>
<QUEUE I-UNFOLLOW 2>
<PUTP ,SPEAR-CARRIER ,P?SDESC "man">
<TELL "You take the last photocopy from the ">
<PRINTD ,UNSHAVEN-MAN>
<TELL " and glance at it. When you look up, he is gone." CR>)
(<AND <VERB? READ EXAMINE>
<FSET? ,BORDELLO-AD ,TRYTAKEBIT>>
<TELL "You'll have to take one of the ads first." CR>)
(<VERB? READ EXAMINE>
<SCORE 37> ;"1 point"
<TELL
" GIRLS! GIRLS! GIRLS!|
|
Mona's Pleasure Parlor has it all!!|
* Massage Parlor|
* Topless Club|
* Escort Agency|
* Bordello|
* XXX Videos|
* Accessory Shop and more!|
In Eastbank, on the corner of River|
and Franklin." CR>)>>
<OBJECT RAILROAD-TRACKS
(LOC LOCAL-GLOBALS)
(DESC "train tracks")
(SYNONYM SET PAIR TRACK TRACKS)
(ADJECTIVE RAILROAD RR TRAIN TUBE SUBWAY RUSTING OVERGROWN)
(FLAGS NARTICLEBIT PLURALBIT)
(ACTION RAILROAD-TRACKS-F)>
<ROUTINE RAILROAD-TRACKS-F ()
<COND (<AND <EQUAL? ,HERE ,CHURCH-STREET-PARK>
<EQUAL? ,SYEAR 2061 2071>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,RAILROAD-TRACKS>)
(<AND <EQUAL? ,HERE ,WAREHOUSE-1>
<EQUAL? ,SYEAR 2041 2051>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,RAILROAD-TRACKS>)
(<VERB? CROSS>
<COND (<EQUAL? ,HERE ,WICKER-AND-PIER>
<DO-WALK ,P?NE>)
(<EQUAL? ,HERE ,MAIN-AND-WICKER ,CHURCH-STREET-PARK>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,HERE ,BEND>
<DO-WALK ,P?SE>)
(<EQUAL? ,HERE ,WICKER-AND-RIVER>
<DO-WALK ,P?NW>)
(<EQUAL? ,HERE ,WAREHOUSE-1>
<DO-WALK ,P?WEST>)
(T
<TELL "That would be dangerous and foolhardy." CR>)>)>>
<OBJECT RAILROAD-BRIDGE
(LOC LOCAL-GLOBALS)
(DESC "railroad bridge")
(SYNONYM BRIDGE TRESTLE)
(ADJECTIVE OLD UNUSED RAIL RAILROAD RR)
(ACTION RAILROAD-BRIDGE-F)>
<ROUTINE RAILROAD-BRIDGE-F ()
<COND (<VERB? CROSS WALK-UNDER>
<COND (<EQUAL? ,HERE ,MAIN-AND-WICKER>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,HERE ,BEND>
<DO-WALK ,P?SE>)
(<EQUAL? ,HERE ,WICKER-AND-RIVER>
<DO-WALK ,P?NW>)
(T
<DO-WALK ,P?NW>)>)>>
<OBJECT STREET-BRIDGE
(LOC LOCAL-GLOBALS)
(DESC "street bridge")
(SYNONYM BRIDGE)
(ADJECTIVE MAIN RIVER RIVER-BANK STREET RUSTED NEGLECTED ONCE-PROUD)
(ACTION STREET-BRIDGE-F)>
<ROUTINE STREET-BRIDGE-F ()
<COND (<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,RIVER-STREET-BRIDGE ,MAIN-STREET-BRIDGE>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? THROUGH WALK-TO CROSS>
<COND (<EQUAL? ,HERE ,RIVER-STREET-BRIDGE ,MAIN-STREET-BRIDGE>
<COND (<VERB? CROSS>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<EQUAL? ,HERE ,MAIN-AND-WICKER>
<DO-WALK ,P?EAST>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SE>)>)
(<VERB? LOOK-UNDER>
<TELL "The Little Missouri flows under the bridge." CR>)>>
<ROUTINE MAIN-AND-CHURCH-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2081>
<SCORE 38> ;"6 points"
<JIGS-UP
"As you pass the sign, three men armed with knives leap out of a doorway
and neatly slit your throat. As you lose consciousness, you feel them going
through your pockets.">
<RFALSE>)
(T
,MAIN-AND-CHURCH)>>
<ROOM FOODVILLE-2
(LOC ROOMS)
(DESC "Foodville")
(NE TO MAIN-AND-WICKER)
(OUT TO MAIN-AND-WICKER)
(FLAGS ONBIT)
(GLOBAL SUPERMARKET GLASS SHELVES)
(ACTION FOODVILLE-2-F)>
<ROUTINE FOODVILLE-2-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-ENTER>
<NOT <EQUAL? ,SYEAR 2081>>>
<COND (<EQUAL? ,SYEAR 2071>
<SETG CLERK-WAITING <>>
<QUEUE I-FOODVILLE 1>)>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "clerk">)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2081>
<SCORE 39> ;"3 points"
<TELL
"This grocery has been thoroughly looted; the shelves are all bare. The floor
is strewn with broken glass, and a rancid odor pervades the store. The only
exit leads back out to the street corner northeast of here.">)
(T
<FOODVILLE-DESC>
<TELL "northeast.">)>)
(<EQUAL? .RARG ,M-END>
<FOODVILLE-CLOSES>)>>
<OBJECT MOLD
(LOC LOCAL-GLOBALS)
(DESC "pile of mold")
(FDESC
"A disgusting pile of mold toward the rear indicates where some
soy patties were once stored.")
(SYNONYM PILE MOLD)
(ADJECTIVE DISGUSTIN PUTRID PUTRID-SMELLING)
(FLAGS TRYTAKEBIT TAKEBIT)
(ACTION MOLD-F)>
<ROUTINE MOLD-F ()
<COND (<VERB? EAT>
<SCORE 40> ;"2 points"
<TELL
"Because of your half-crazed state, perhaps brought on by several days without
food, you seriously consider eating the mold. In a lucid moment, though, you
realize how disgusting and dangerous that would be." CR>)
(<VERB? SMELL>
<TELL
"You have just discovered the source of the rancid odor." CR>)
(<AND <VERB? TAKE>
<FSET? ,MOLD ,TRYTAKEBIT>>
<FCLEAR ,MOLD ,TRYTAKEBIT>
<FSET ,MOLD ,TOUCHBIT>
<MOVE ,MOLD ,PLAYER>
<TELL "You scoop up the putrid-smelling mold." CR>)>>
<ROUTINE THE-COACHMAN-ENTER-F ()
<COND (<AND <OR <G? ,STIME 1200>
<L? ,STIME 420>>
<NOT <EQUAL? ,SYEAR 2041>>>
<OF-COURSE ,RESTAURANT-OBJECT>
<RFALSE>)
(T
,THE-COACHMAN)>>
<ROOM THE-COACHMAN
(LOC ROOMS)
(DESC "The Coachman")
(NW TO MAIN-AND-WICKER)
(OUT TO MAIN-AND-WICKER)
(FLAGS NARTICLEBIT)
(GLOBAL RESTAURANT-OBJECT MENU PEOPLE)
(ACTION THE-COACHMAN-F)>
<ROUTINE THE-COACHMAN-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-ENTER>
<NOT <EQUAL? ,SYEAR 2081>>>
<SETG MEAL-STATUS 1>
<SETG MAITRE-COUNTER 0>
<SETG WAITER-COUNTER 0>
<MOVE ,SPEAR-CARRIER ,HERE>
<DISABLE <INT I-MEAL>>
<MOVE ,RESTAURANT-TABLE ,HERE>
<MOVE ,CHAIR ,HERE>
<COND (<IN? ,CREDIT-CARD ,SPEAR-CARRIER>
<MOVE ,CREDIT-CARD ,LOCAL-GLOBALS>)>
<PUTP ,SPEAR-CARRIER ,P?SDESC "maitre d'">)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2081>
<SCORE 41> ;"3 points"
<TELL
"This burned-out shell of a building was once a famous restaurant back
in the civilized days. The ">
<PRINTD ,TIMBERS>
<TELL " shiver as you walk through the ashes.">)
(T
<TELL "You are in a large, well-known restaurant">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 42> ;"score 3"
<TELL
", opulent in the extreme, and known to be restricted to the highest
ecclesiastics of the Church">)
(<EQUAL? ,SYEAR 2061>
<SCORE 43> ;"score 1"
<TELL ", a favorite of wealthy Churchmen">)>
<TELL
". The car lot and street lie to the northwest.">)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2071>>
<TELL CR
"The maitre d' spots you, and gestures a velvet-swathed arm toward
a bouncer waiting in the shadows. \"Throw this animal back out on
the street,\" he sniffs. The bouncer grabs your collar, and shoves
you through the doorway." CR CR>
<GOTO ,MAIN-AND-WICKER>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2081>
<PROB 50>>
<CRLF>
<PERFORM ,V?MOVE ,TIMBERS>
<RTRUE>)
(<AND <EQUAL? .RARG ,M-END>
<NOT <EQUAL? ,SYEAR 2081>>>
<COND (<RESTAURANT-CLOSES ,MAIN-AND-WICKER>
<RTRUE>)
(<PARTY-OF-ONE>
<RTRUE>)>)>>
<OBJECT TIMBERS
(LOC LOCAL-GLOBALS)
(DESC "blackened timbers")
(SYNONYM TIMBER TIMBERS BEAM BEAMS)
(ADJECTIVE BLACKENED BURNED)
(FLAGS NDESCBIT)
(ACTION TIMBERS-F)>
<ROUTINE TIMBERS-F ()
<COND (<VERB? MOVE TOUCH>
<JIGS-UP
"The entire roof suddenly shudders. Amidst screams of splintering wood and
billows of ash and dust, it collapses upon you.">)>>
<OBJECT RESTAURANT-TABLE
(LOC LOCAL-GLOBALS)
(DESC "table")
(SYNONYM TABLE)
(FLAGS VEHBIT SURFACEBIT OPENBIT NDESCBIT)
(ACTION RESTAURANT-TABLE-F)>
<ROUTINE RESTAURANT-TABLE-F ;("OPTIONAL" RARG) ()
<COND ;(.RARG
<RFALSE>)
;(<VERB? OPEN CLOSE>
<TELL "Huh?" CR>)
(<VERB? BOARD SIT>
<COND (<EQUAL? ,RESTAURANT-TABLE <LOC ,PLAYER>>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,ROYS-PAGODA>
<RFALSE>)
(<G? ,MEAL-STATUS 2>
<MOVE ,PLAYER ,RESTAURANT-TABLE>
<TELL "You resume your seat." CR>)
(T
<TELL
"You'll have to wait for the maitre d' to seat you." CR>)>)>>
<OBJECT MENU
(LOC LOCAL-GLOBALS)
(DESC "menu")
(SYNONYM MENU MENUBOARD BOARD)
(ADJECTIVE MENU)
(FLAGS READBIT)
(ACTION MENU-F)>
<ROUTINE MENU-F ()
<COND (<EQUAL? ,HERE ,BURGER-MEISTER>
<COND (<AND <EQUAL? ,SYEAR 2071>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,MENU>)
(<VERB? READ EXAMINE>
<TELL "The menuboard lists ">
<FAST-FOOD-MENU>
<TELL "." CR>)>)
(<VERB? READ EXAMINE ASK-NO-ONE-FOR>
<PERFORM ,V?BUY ,MEAL>
<RTRUE>)>>
<ROUTINE FAST-FOOD-MENU ()
<COND (<EQUAL? ,SYEAR 2061>
<SCORE 73> ;"2 points"
<TELL
"soy and kelp burgers, a variety of algae products, and beer. All beef dishes
on the menuboard have been crudely covered over">)
(T
<TELL
"beef burgers, less-expensive kelp burgers and soy burgers, and beer">)>>
<OBJECT MEAL
(LOC GLOBAL-OBJECTS)
(DESC "food")
(SYNONYM FOOD MEAL LUNCH DINNER BREAKFAST SNACK BURGER HAMBURGER
BEEFBURGE SOYBURGER KELPBURGE TINS)
(ADJECTIVE SOY KELP BEEF PLAIN BADLY LABELLED)
(GENERIC GENERIC-FOOD-F)
(FLAGS NARTICLEBIT)
(ACTION MEAL-F)>
<ROUTINE MEAL-F ()
<COND (<AND <EQUAL? ,SYEAR 2081>
<VERB? EXAMINE TAKE>
<EQUAL? ,HERE ,FOODVILLE-2>>
<CANT-SEE ,MEAL>)
(<VERB? BUY>
<COND (<EQUAL? ,HERE ,SIMONS ,THE-COACHMAN>
<COND (<EQUAL? ,SYEAR 2081>
<TELL ,LOOK-AROUND CR>)
(<NOT <EQUAL? <LOC ,PLAYER> ,RESTAURANT-TABLE>>
<TELL
"You'll have to wait until you're seated." CR>)
(<EQUAL? ,MEAL-STATUS 3>
<I-MEAL>)
(T
<TELL "You've already ">
<COND (<EQUAL? ,MEAL-STATUS 6>
<TELL "eaten">)
(T
<TELL "ordered">)>
<TELL "." CR>)>)
(<EQUAL? ,HERE ,ROYS-PAGODA>
<SETG ELAPSED-TIME 22>
<COND (,RECORDING
<PUT ,RECORDING-TABLE 0 1>)>
<TELL
"You order a bowl of Hot and Sour soup and some assorted appetizers.
The food arrives promptly, steaming hot, delicately spiced, delicious.
Afterward, your check arrives with a typical fortune cookie and a plate
of lychee nuts. The fortune reads: \"">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "Prosperity does not equal happiness">)
(<EQUAL? ,SYEAR 2051>
<TELL "Today's leak is tomorrow's flood">)
(<EQUAL? ,SYEAR 2061>
<TELL "Buddha welcomes even the poorest man">)
(T
<TELL "It is always darkest before dawn">)>
<TELL ".\" You pay with your ">
<PRINTD ,CREDIT-CARD>
<COND (<L? ,CREDIT 30>
<TELL
", but the waiter returns a minute later with your card and says, \"Sorry,
not enough balance to pay for meal. You pay next time you come.\"" CR>
<RTRUE>)>
<DEBIT 30>
<TELL "." CR>)
(<AND <EQUAL? ,HERE ,BURGER-MEISTER>
<NOT <EQUAL? ,SYEAR 2071>>>
<SETG ELAPSED-TIME 12>
<COND (,RECORDING
<PUT ,RECORDING-TABLE 0 1>)>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"The line you picked moves quickly, putting you in a cheerful mood,
and you decide to splurge and buy a beef burger.">)
(T
<TELL
"Your line moves slowly. The person in front of you orders a quarter-pound
soyburger, and it looks halfway decent, so when you reach the counter you
decide to order one also.">)>
<TELL " It arrives a moment later">
<COND (<TOO-POOR 20 ,MEAL>
<RTRUE>)
(T
<DEBIT 20>
<MOVE ,PLAYER ,GLOBAL-TABLE>
<TELL
". You sit down at one of the tiny tables to devour it. It's ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "edible">)
(T
<TELL "juicy and delicious">)>
<TELL "." CR>)>)
(<EQUAL? ,HERE ,FOODVILLE-1 ,FOODVILLE-2>
<COND (<FSET? ,GROCERIES ,TOUCHBIT>
<TELL
"You've already bought enough groceries to last the week." CR>)
(<EQUAL? ,SYEAR 2041 2051>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "cashier">
<SETG ELAPSED-TIME 12>
<TELL
"You wander down the aisles, filling the small cart with various items.
You select the shortest checkout line">
<COND (<TOO-POOR 73 ,MEAL>
<RTRUE>)>
<MOVE ,GROCERIES ,PLAYER>
<FSET ,GROCERIES ,TOUCHBIT>
<SETG P-IT-OBJECT ,GROCERIES>
<DEBIT 73>
<TELL
". A clerk bags your groceries and hands you the bag." CR>)
(<EQUAL? ,SYEAR 2061>
<TELL
"You wander down the aisles, but the food is so sparse and unappetizing
that you decide not to buy anything." CR>)
(<EQUAL? ,SYEAR 2071>
<TELL
"You can only get food these days using your ration card." CR>)
(T
<CANT-SEE ,MEAL>)>)
(T
<TELL "You can't get a meal here!" CR>)>)
(<VERB? WAIT-FOR>
<COND (<IN? ,CREDIT-CARD ,SPEAR-CARRIER>
<V-WAIT 30>)
(<EQUAL? ,HERE ,THE-COACHMAN ,SIMONS>
<PERFORM ,V?BUY ,MEAL>
<RTRUE>)
(T
<PERFORM ,V?WAIT-FOR ,GOLD> ;"...quite a while."
<RTRUE>)>)
(<VERB? TAKE EAT>
<COND (<OR <EQUAL? ,HERE ,FOODVILLE-1 ,FOODVILLE-2>
<EQUAL? ,HERE ,BURGER-MEISTER ,ROYS-PAGODA>>
<TELL "You can't take food you haven't paid for!" CR>)
(<EQUAL? ,HERE ,SIMONS ,THE-COACHMAN>
<COND (<EQUAL? ,MEAL-STATUS 6>
<PERFORM ,V?BUY ,MEAL>
<RTRUE>)
(<EQUAL? ,MEAL-STATUS 4 5>
<TELL "It hasn't arrived yet." CR>)
(T
<TELL "You haven't ordered yet." CR>)>)
(T
<CANT-SEE ,MEAL>)>)
(<AND <VERB? EXAMINE>
<IN-RESTAURANT?>>
<TELL "The food is prepared in another room." CR>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,CAFETERIA>>
<TELL "You can't see much from this high vantage point." CR>)
(<AND <NOT <EQUAL? ,HERE ,FOODVILLE-1 ,FOODVILLE-2>>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,MEAL>)
(<AND <EQUAL? ,SYEAR 2071>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,MEAL>)
(<VERB? WAIT-FOR>
<COND (<EQUAL? ,HERE ,THE-COACHMAN ,SIMONS>
<COND (<IN? ,CREDIT-CARD ,SPEAR-CARRIER>
<V-WAIT 20>)
(T
<PERFORM ,V?READ ,MENU>
<RTRUE>)>)
(T ;"...WAITING QUITE A WHILE, not IT'S RIGHT HERE!"
<PERFORM ,V?WAIT-FOR ,FORTZMAN>
<RTRUE>)>)>>
<GLOBAL WAITER-COUNTER 0>
<GLOBAL MAITRE-COUNTER 0>
<GLOBAL MEAL-STATUS 0>
;"1 = entered restaurant, maitre d' is still asking
2 = maitre d' has given up until the rest of your party arrives
3 = you've been seated but haven't ordered yet
4 = you've ordered, and the waiter is still waiting for your credit card
5 = the waiter has your credit card, but the food hasn't arrived yet
6 = you've finished your meal"
<ROUTINE I-MEAL ("AUX" OLD-WINNER)
<COND (<NOT <EQUAL? ,HERE ,THE-COACHMAN ,SIMONS>>
<RFALSE>)>
<COND (<IN? ,CREDIT-CARD ,SPEAR-CARRIER>
<MOVE ,CREDIT-CARD ,PLAYER>
<COND (<L? ,CREDIT 65>
<TELL CR
"The waiter returns with your card, informing you that you have insufficient
funds to cover the meal. He escorts you out of the restaurant." CR CR>
<SET OLD-WINNER ,WINNER>
<SETG WINNER ,PLAYER>
<DO-WALK ,P?OUT>
<SETG WINNER .OLD-WINNER>)
(T
<COND (,RECORDING
<PUT ,RECORDING-TABLE 0 1>)>
<SETG MEAL-STATUS 6>
<INCREMENT-TIME 12>
<TELL CR "The waiter places ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"your soybean salad on the table. A generous portion, and
quite tasty; you quickly devour it">)
(T
<TELL
"your kelp fillet in front of you. You eat the entire dish, and while it
was tasty, you still feel that it wasn't worth the price">)>
<DEBIT 65>
<TELL "." CR>)>)
(<EQUAL? ,MEAL-STATUS 4>
<SETG WAITER-COUNTER <+ ,WAITER-COUNTER 1>>
<QUEUE I-MEAL 1>
<COND (<EQUAL? ,WAITER-COUNTER 4>
<TELL CR
"The waiter clears his throat. \"If you're unable to produce your credit
card, I'd be glad to ask the maitre d' over here to assist you.\"" CR>)
(<EQUAL? ,WAITER-COUNTER 6>
<TELL CR
"The waiter, looking quite annoyed, leaves the tableside. A moment later,
the maitre d' arrives and shows you out of the restaurant." CR CR>
<SET OLD-WINNER ,WINNER>
<SETG WINNER ,PLAYER>
<DO-WALK ,P?OUT>
<SETG WINNER .OLD-WINNER>
<RFATAL>)
(T
<SETG P-IT-OBJECT ,SPEAR-CARRIER>
<TELL CR
"The waiter is standing at your table, waiting for your ">
<PRINTD ,CREDIT-CARD>
<TELL "." CR>)>)
(<EQUAL? <LOC ,PLAYER> ,RESTAURANT-TABLE>
<SETG P-IT-OBJECT ,SPEAR-CARRIER>
<SETG MEAL-STATUS 4>
<TELL CR "The waiter hands you a ">
<COND (<L? ,STIME 690>
<TELL "breakfast">)
(<G? ,STIME 960>
<TELL "dinner">)
(T
<TELL "lunch">)>
<TELL
" menu, and after perusing the meat prices you settle on a">
<COND (<EQUAL? ,SYEAR 2041>
<TELL " nice, reasonably priced soybean salad">)
(T
<TELL
"n overpriced kelp fillet, the cheapest item on the menu">)>
<TELL
". The waiter jots down your order, and reminds you of the
restaurant's policy of payment in advance." CR>
<QUEUE I-MEAL 1>)
(T
<QUEUE I-MEAL 1>
<RFALSE>)>>
<ROUTINE PARTY-OF-ONE ()
<COND (<EQUAL? ,MEAL-STATUS 1>
<CRLF>
<COND (<G? ,MAITRE-COUNTER 8>
<TELL
"\"I'm afraid you'll have to leave,\" says the maitre d'. \"There's
no loitering here.\" He escorts you to the door." CR CR>
<DO-WALK ,P?OUT>)
(T
<SETG MAITRE-COUNTER <+ ,MAITRE-COUNTER 1>>
<TELL "\"Party of one?\" sniffs the maitre d'." CR>)>)>>
<OBJECT GROCERIES
(LOC LOCAL-GLOBALS)
(DESC "bag of groceries")
(SYNONYM BAG GROCERIES FOOD)
(FLAGS TAKEBIT)
(SIZE 35)
(GENERIC GENERIC-FOOD-F)
(ACTION GROCERIES-F)>
<ROUTINE GROCERIES-F ()
<COND (<VERB? LOOK-INSIDE EXAMINE>
<TELL "Just a bagful of typical groceries." CR>)
(<VERB? OPEN>
<TELL "The bag is open." CR>)
(<VERB? EAT>
<COND (<IN-APARTMENT?>
<MOVE ,GROCERIES ,LOCAL-GLOBALS>
<TELL
"You select one item, a small bag of potato snacks, and eat that. You ">
<COND (<NOT <EQUAL? ,HERE ,KITCHEN>>
<SETG HERE ,KITCHEN>
<MOVE ,PLAYER ,KITCHEN>
<TELL "go to the kitchen and ">)>
<TELL "put the rest of the groceries away." CR>)
(T
<TELL
"Better to wait until you get home and use the groceries for dinner." CR>)>)
(<AND <VERB? PUT>
<PRSI? ,KITCHEN-OBJECT>>
<PERFORM ,V?PUT-AWAY ,GROCERIES>
<RTRUE>)
(<VERB? PUT-AWAY>
<COND (<IN-APARTMENT?>
<TELL "You ">
<COND (<NOT <EQUAL? ,HERE ,KITCHEN>>
<MOVE ,PLAYER ,KITCHEN>
<SETG HERE ,KITCHEN>
<TELL "enter the kitchen and ">)>
<MOVE ,GROCERIES ,LOCAL-GLOBALS>
<TELL "put the groceries neatly away." CR>)
(T
<TELL "Wait until you get home." CR>)>)
(<AND <VERB? PUT>
<PRSI? ,GROCERIES>>
<TELL "The bag is full; besides, that's a dumb place to keep">
<ARTICLE ,PRSO>
<TELL "." CR>)
(<VERB? BUY>
<PERFORM ,V?BUY ,MEAL>
<RTRUE>)>>
<ROOM MAIN-STREET-BRIDGE
(LOC ROOMS)
(DESC "Main Street Bridge")
(NORTH PER RIVER-ENTER-F)
(NE PER RIVER-ENTER-F)
(EAST PER MAIN-STREET-BRIDGE-EXIT-F)
(SE PER RIVER-ENTER-F)
(SOUTH PER RIVER-ENTER-F)
(SW PER RIVER-ENTER-F)
(WEST TO MAIN-AND-WICKER)
(NW PER RIVER-ENTER-F)
(FLAGS OUTSIDEBIT)
(GLOBAL STREET-BRIDGE RIVER RIVER-BANK WATER)
(ACTION MAIN-STREET-BRIDGE-F)>
<ROUTINE MAIN-STREET-BRIDGE-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-ENTER>
<EQUAL? ,SYEAR 2081>>
<QUEUE I-WILD-DOGS -1>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2081>
<SCORE 44> ;"2 points"
<TELL
"This once-proud bridge is now rusted and neglected. To the west, the road
enters the city. An intersection is visible in that direction.">)
(T
<TELL
"You have reached the center of the bridge which carries Main Street across
the river. Westward brings you back into the city, and east of here are the
wealthier suburbs of the east bank.">
<RIVER-FIRE "south">)>)>>
<ROUTINE MAIN-STREET-BRIDGE-EXIT-F ()
<COND (<EQUAL? ,SYEAR 2081>
<DISABLE <INT I-WILD-DOGS>>
<SCORE 45> ;"3 points"
<JIGS-UP
"Within seconds, a pack of wild dogs surrounds you and begins
tearing you to shreds!">)
(T
<SUBURBS-ENTER-F>)>
<RFALSE>>
<OBJECT SACK
(LOC LOCAL-GLOBALS)
(DESC "sack")
(LDESC "A blood-soaked sack is lying at the edge of the bridge.")
(SYNONYM SACK)
(ADJECTIVE BLOOD-SOAKED)
(FLAGS TAKEBIT CONTBIT SEARCHBIT)
(CAPACITY 20)
(ACTION SACK-F)>
<ROUTINE SACK-F ()
<COND (<VERB? EXAMINE>
<SCORE 46> ;"2 points"
<TELL
"The sack is soaked with blood and shows traces of the wild fruits that grow
beyond the city. Judging by how the sack has been clawed to pieces, it would
seem that the owner was killed by wild animals rather than humans." CR>)>>
<GLOBAL WILD-DOG-COUNTER 0>
<OBJECT BARKING
(LOC LOCAL-GLOBALS)
(DESC "barking")
(SYNONYM BARKING)
(ADJECTIVE DISTANT)
(FLAGS NDESCBIT NARTICLEBIT)
(ACTION BARKING-F)>
<ROUTINE BARKING-F ()
<COND (<VERB? LISTEN>
<TELL
"The barking is off to the east. It seems to be getting louder." CR>)>>
<ROOM CEMETERY
(LOC ROOMS)
(DESC "Cemetery")
(NORTH SORRY "There is no gate in that direction.")
(NE PER RIVER-ENTER-F)
(EAST PER RIVER-ENTER-F)
(SE PER RIVER-ENTER-F)
(SOUTH TO MAIN-AND-WICKER)
(SW TO MAIN-AND-CHURCH)
(WEST TO CHURCH-ENTRANCE)
(NW TO MIDLAND-AND-CHURCH)
(FLAGS OUTSIDEBIT)
(GLOBAL GRAFFITI WATER RIVER CEMETERY-OBJECT CONSTRUCTION-OBJECT GATE
RIVER-BANK)
(ACTION CEMETERY-F)>
<ROUTINE CEMETERY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2081>
<SCORE 47> ;"4 points"
<TELL
"Once a lovely old cemetery, the land is now overgrown and the ">
<PRINTD ,HEADSTONES>
<TELL
" toppled and vandalized. Snarled bushes and trees provide countless hiding
places for thieves and cutthroats.">)
(T
<TELL
"Midland Cemetery occupies one of the nicest pieces of land in the city,
atop the rolling bluffs of the west bank. The cemetery dates back to the
time of the original St. Michael's building, and some of the gravestones
are two hundred years old. ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 48> ;"4 points"
<TELL
"Many of the stones have been etched with ugly graffiti, like \"PAP,\"
a derogatory term for Catholics, and \"JEEBOO,\" an epithet for any
nonmember of the Church. Near the main gate of the cemetery, to the
west, the land has been bulldozed but is now overgrown with weeds,
indicating a construction project that was begun but then abandoned. O">)
(T
<TELL
"The main gate of the cemetery is west of here, and o">)>
<TELL
"ther gates lie to the south, southwest, and northwest.">)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2081>>
<TELL CR
"With a rustle of leaves, someone leaps out of concealment. You barely
catch a glimpse of a grizzled man wearing a torn imi-denim outfit before
a fist cracks you across the face, and you pass out as you begin rolling
down the hillside. ">
<COND (<FSET? ,CEMETERY ,ONBIT>
<JIGS-UP "This time, you fail to recover.">)
(T
<TELL "Sometime later, you come to..." CR CR>
<FSET ,CEMETERY ,ONBIT>
<SETG MUGGED T>
<ROB ,PLAYER ,LOCAL-GLOBALS>
<INCREMENT-TIME 23>
<GOTO ,MAIN-AND-WICKER>)>)>>
<OBJECT CEMETERY-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "cemetery")
(SYNONYM CEMETERY GRAVEYARD)
(ADJECTIVE MIDLAND)
(ACTION CEMETERY-OBJECT-F)>
<ROUTINE CEMETERY-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,CEMETERY>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,MAIN-AND-WICKER>
<DO-WALK ,P?NORTH>)
(<EQUAL? ,HERE ,MAIN-AND-CHURCH>
<DO-WALK ,P?NE>)
(<EQUAL? ,HERE ,CHURCH-ENTRANCE>
<DO-WALK ,P?EAST>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SE>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,CEMETERY>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,CEMETERY>
<V-LOOK>)
(T
<FROM-HERE>)>)>>
<OBJECT HEADSTONES
(LOC CEMETERY)
(DESC "headstones")
(SYNONYM HEADSTONE GRAVESTON TOMBSTONE STONE STONES)
(ADJECTIVE HEAD GRAVE TOMB TOPPLED VANDALIZE)
(FLAGS READBIT NDESCBIT NARTICLEBIT)
(ACTION HEADSTONES-F)>
<ROUTINE HEADSTONES-F ()
<COND (<VERB? EXAMINE READ>
<COND (<EQUAL? ,SYEAR 2071>
<PERFORM ,V?READ ,GRAFFITI>
<RTRUE>)
(<EQUAL? ,SYEAR 2081>
<TELL
"Virtually all the stones have been broken and toppled." CR>)
(T
<TELL
"The stones bear the usual epitaphs, names, and dates. Some of the stones
are dated from the middle of the nineteenth century." CR>)>)>>
<ROOM CHURCH-ENTRANCE
(LOC ROOMS)
(SDESC "")
(NORTH TO MIDLAND-AND-CHURCH)
(NE SORRY "There's no entrance to the cemetery in that direction.")
(EAST TO CEMETERY)
(SE SORRY "There's no entrance to the cemetery in that direction.")
(SOUTH TO MAIN-AND-CHURCH)
(SW PER CONSTRUCTION-SITE-4-ENTER-F)
(WEST PER ST-MICHAELS-ENTER-F)
(NW PER CONSTRUCTION-SITE-5-ENTER-F)
(IN PER ST-MICHAELS-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT)
(GLOBAL GRAFFITI CEMETERY-OBJECT VACANT-LOT CONSTRUCTION-OBJECT PEOPLE
CHURCH-OBJECT RECTORY-OBJECT GATE)
(ACTION CHURCH-ENTRANCE-F)>
<ROUTINE CHURCH-ENTRANCE-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2071>
<PUTP ,CHURCH-ENTRANCE ,P?SDESC "Street by Vacant Lot">)
(T
<PUTP ,CHURCH-ENTRANCE ,P?SDESC "Church Entrance">)>)
(<EQUAL? .RARG ,M-LOOK>
<TELL "You are on Church Street, just east of">
<ST-MICHAELS-DESC>
<TELL " The street continues north and south">
<COND (<EQUAL? ,SYEAR 2041>
<TELL ", and ">
<PRINTD ,CONSTRUCTION-OBJECT>
<TELL "s lie to the northwest and southwest">)
(<EQUAL? ,SYEAR 2051>
<TELL
". Another church building, probably a rectory, lies to the northwest, and
an ordinary high-rise apartment is southwest of here">)
(<EQUAL? ,SYEAR 2061>
<TELL
". Another church building to the northwest is also closed. Southwest of
here is an indistinguishable apartment block">)
(T
<TELL
". To the northwest is a ruined structure of some type, and to the
southwest is a luxury apartment tower">)>
<TELL
". The main entrance to Midland Cemetery is east of here.">)>>
<ROUTINE ST-MICHAELS-DESC ()
<TELL " a large">
<COND (<EQUAL? ,SYEAR 2061>
<SCORE 49> ;"2 points"
<TELL
" church with boarded doors and windows. Anti-Catholic
graffiti defaces the facade.">)
(<EQUAL? ,SYEAR 2071>
<TELL " vacant lot.">)
(T
<TELL
", opulent church displaying the architecture of the twentieth century.">)>>
<ROUTINE ST-MICHAELS-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2061>
<SCORE 49> ;"2 points"
<TELL ,BOARDED-OVER CR>
<RFALSE>)
(T
,ST-MICHAELS)>>
<ROUTINE CONSTRUCTION-SITE-5-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2061>
<TELL
"The building is closed, its doorways and windows boarded over." CR>
<RFALSE>)
(T
,CONSTRUCTION-SITE-5)>>
<ROOM ST-MICHAELS
(LOC ROOMS)
(SDESC "")
(EAST TO CHURCH-ENTRANCE)
(OUT TO CHURCH-ENTRANCE)
(FLAGS ONBIT)
(GLOBAL VACANT-LOT CHURCH-OBJECT)
(ACTION ST-MICHAELS-F)>
<ROUTINE ST-MICHAELS-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,CHURCH-OFFICIAL ,LOCAL-GLOBALS>
<COND (<EQUAL? ,SYEAR 2071>
<MOVE ,RUSTY-CROSS ,HERE>
<FCLEAR ,ST-MICHAELS ,NARTICLEBIT>
<PUTP ,ST-MICHAELS ,P?SDESC "Vacant Lot">)
(T
<FSET ,ST-MICHAELS ,NARTICLEBIT>
<PUTP ,ST-MICHAELS ,P?SDESC "St. Michael's">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2071>
<TELL
"You are in a large, vacant lot, strewn with rubble. The only way out of the
lot is a small opening in the rubble to the east.">)
(T
<TELL
"This is a large church with an obviously wealthy congregation.
Although this building is over a century old, it is not the original
St. Michael's, but is built on the site of the even older original
church. The way out is to the east.">)>)
(<EQUAL? .RARG ,M-END>
<ELDER-MOVE>)>>
<OBJECT RUSTY-CROSS
(DESC "rusty cross")
(FDESC
"Lying amidst the debris is a rusty metal object of some kind.")
(SYNONYM CROSS OBJECT)
(ADJECTIVE RUSTY RUSTING METAL)
(FLAGS TRYTAKEBIT TAKEBIT)
(ACTION RUSTY-CROSS-F)>
<ROUTINE RUSTY-CROSS-F ()
<COND (<AND <VERB? TAKE>
<FSET? ,RUSTY-CROSS ,TRYTAKEBIT>>
<FCLEAR ,RUSTY-CROSS ,TRYTAKEBIT>
<FSET ,RUSTY-CROSS ,TOUCHBIT>
<MOVE ,RUSTY-CROSS ,PLAYER>
<TELL
"You pick up the metal object. " ,IT-LOOKS-LIKE " an old, rusting cross." CR>)
(<VERB? EXAMINE>
<TELL
"The cross is ornamental, of the sort once worn by priests. It has rusted
to the point of fragility." CR>)>>
<ROOM CONSTRUCTION-SITE-5
(LOC ROOMS)
(SDESC "")
(NE TO MIDLAND-AND-CHURCH)
(SE TO CHURCH-ENTRANCE)
(FLAGS OUTSIDEBIT)
(GLOBAL GLASS RECTORY-OBJECT CONSTRUCTION-OBJECT)
(ACTION CONSTRUCTION-SITE-5-F)>
<ROUTINE CONSTRUCTION-SITE-5-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2041>
<PUTP ,CONSTRUCTION-SITE-5 ,P?SDESC "Construction Site">)
(<EQUAL? ,SYEAR 2051>
<PUTP ,CONSTRUCTION-SITE-5 ,P?SDESC "Rectory">)
(T
<PUTP ,CONSTRUCTION-SITE-5 ,P?SDESC "Ruined Building">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"An old building, possibly a rectory owned by the church to the
south, is being renovated">)
(<EQUAL? ,SYEAR 2071>
<TELL
"Barely discernible through the ash and broken glass are signs that this
was once a church building of some kind">)
(T
<TELL "This is part of the St. Michael's complex">)>
<TELL
". You can leave to either the northeast or southeast.">)>>
<OBJECT RECTORY-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "rectory")
(SYNONYM RECTORY PARSONAGE PASTORAGE BUILDING)
(ADJECTIVE OLD CHURCH)
(ACTION RECTORY-OBJECT-F)>
<ROUTINE RECTORY-OBJECT-F ()
<COND (<AND <EQUAL? ,SYEAR 2041 2071>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,RECTORY-OBJECT>)
(<VERB? WALK-TO DISEMBARK>
<COND (<EQUAL? ,HERE ,CONSTRUCTION-SITE-5>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,CHURCH-ENTRANCE>
<DO-WALK ,P?NW>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SW>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,CONSTRUCTION-SITE-5>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,CONSTRUCTION-SITE-5>>
<V-LOOK>)>>
<ROOM MIDLAND-AND-CHURCH
(LOC ROOMS)
(DESC "Midland & Church")
(NORTH SORRY "There's no entrance to the railroad yard from here.")
(NE SORRY "There's no entrance to the railroad yard from here.")
(EAST TO CEMETERY)
(SE TO CEMETERY)
(SOUTH TO CHURCH-ENTRANCE)
(SW PER CONSTRUCTION-SITE-5-ENTER-F)
(WEST TO MIDLAND-AND-RIVER)
(NW SORRY "There's no entrance to the railroad yard from here.")
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL CEMETERY-OBJECT RAILROAD-YARD CONSTRUCTION-OBJECT PEOPLE
RECTORY-OBJECT GATE)
(ACTION MIDLAND-AND-CHURCH-F)>
<ROUTINE MIDLAND-AND-CHURCH-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "Church Street, from the south, ends at this corner. A">
<COND (<EQUAL? ,SYEAR 2041>
<TELL " ">
<PRINTD ,RAILROAD-YARD>
<TELL ", no longer used but part of the ">
<PRINTD ,RAILROAD-MUSEUM>
<TELL ",">)
(T
<TELL "n abandoned ">
<PRINTD ,RAILROAD-YARD>)>
<TELL " spans the northern side of Midland. There is ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "construction">)
(<EQUAL? ,SYEAR 2051>
<TELL "a church rectory">)
(<EQUAL? ,SYEAR 2061>
<TELL "a closed church building">)
(T
<TELL "a wreck of a building">)>
<TELL
" on the southwest corner, and to the southeast is an entrance to
Midland Cemetery. Midland Avenue heads eastward into the cemetery.">)>>
<OBJECT HEALTH-CENTER-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "health center")
(SYNONYM CENTER HMO FACILITY)
(ADJECTIVE HEALTH ANDERSON)
(ACTION HEALTH-CENTER-OBJECT-F)>
<ROUTINE HEALTH-CENTER-OBJECT-F ()
<COND (<EQUAL? ,SYEAR 2071>
<CANT-SEE ,HEALTH-CENTER-OBJECT>)
(<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,HEALTH-CENTER>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,MAIN-AND-RIVER>
<DO-WALK ,P?NE>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SOUTH>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,HEALTH-CENTER>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,HEALTH-CENTER>>
<V-LOOK>)>>
<ROOM HEALTH-CENTER
(LOC ROOMS)
(SDESC "")
(NORTH TO SKYCAR-LOT-3)
(SW TO MAIN-AND-RIVER)
(FLAGS ONBIT)
(GLOBAL CARLOT HEALTH-CENTER-OBJECT)
(ACTION HEALTH-CENTER-F)>
<ROUTINE HEALTH-CENTER-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2071>
<PUTP ,HEALTH-CENTER ,P?SDESC "Serf Housing">)
(T
<PUTP ,HEALTH-CENTER ,P?SDESC "Health Center">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"The Anderson Health Center is one of the country's oldest and most
reputable private health maintenance organizations. A directory in the lobby
directs members to various departments on the many floors of the center">)
(<EQUAL? ,SYEAR 2051>
<SCORE 50> ;"1 point"
<TELL
"The Anderson Health Care center is a respected, member-owned HMO which
has consistently refused to follow the trend of providing inferior health
care to those unable to afford the best procedures">)
(<EQUAL? ,SYEAR 2061>
<SCORE 51> ;"2 points"
<TELL
"This once-superb medical facility has fallen upon hard times, as its wealthy
members have abandoned it in favor of better facilities, and the remaining,
poorer members were unable to maintain the previous levels of health care">)
(T
<SCORE 52> ;"4 points"
<TELL
"This building once housed the Anderson Health Care Center, which was among
the last facilities to continue offering medical care to serfs. After finally
succumbing to financial realities, the structure has now become an overcrowded,
unsanitary home-of-last-resort for the poorest of the poor">)>
<TELL
". There are exits southwest, to the street, and north, to a">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "n abandoned">)>
<TELL " car lot.">)>>
<OBJECT ANDERSON-DIRECTORY
(LOC LOCAL-GLOBALS)
(DESC "directory")
(SYNONYM DIRECTORY)
(FLAGS NDESCBIT)
(ACTION ANDERSON-DIRECTORY-F)>
<ROUTINE ANDERSON-DIRECTORY-F ()
<COND (<VERB? READ EXAMINE>
<TELL
"The directory merely tells which floor the various departments of the ">
<PRINTD ,HEALTH-CENTER-OBJECT>
<TELL " are located on." CR>)>>
<ROOM SKYCAR-LOT-3
(LOC ROOMS)
(DESC "Skycar Lot")
(NORTH SORRY "There's a tall fence in the way.")
(NE SORRY "There's a tall fence in the way.")
(EAST SORRY "There's a tall fence in the way.")
(SE SORRY "There's a tall fence in the way.")
(SOUTH TO HEALTH-CENTER)
(SW SORRY "There's a tall fence in the way.")
(WEST SORRY "There's a tall fence in the way.")
(NW TO MIDLAND-AND-RIVER)
(FLAGS OUTSIDEBIT)
(GLOBAL FENCE CARLOT HEALTH-CENTER-OBJECT)
(ACTION SKYCAR-LOT-3-F)>
<ROUTINE SKYCAR-LOT-3-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is a">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "n abandoned">)>
<TELL " multistory car lot ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "that was once used ">)>
<TELL "for the Anderson Health Center ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "that once occupied the building ">)>
<TELL
"that can be entered to the south. The exit to the street is northwest.">)>>
<ROOM MIDLAND-AND-RIVER
(LOC ROOMS)
(DESC "Midland & River")
(NORTH TO BODANSKI-SQUARE)
(NE PER TRAIN-STATION-ENTER-F)
(EAST TO MIDLAND-AND-CHURCH)
(SE TO SKYCAR-LOT-3)
(SOUTH TO MAIN-AND-RIVER)
(SW SORRY "There's no entrance to the skyscraper in that direction.")
(WEST PER OFFICE-BUILDING-ENTER-F)
(NW SORRY "There's no entrance to the skyscraper in that direction.")
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL GLASS CARLOT CHURCH-OBJECT TRAIN-STATION-OBJECT PEOPLE)
(ACTION MIDLAND-AND-RIVER-F)>
<ROUTINE MIDLAND-AND-RIVER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"Eastbound Midland Avenue forms a \"T\" with River Street at this
intersection. To the northeast is a">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "n old but magnificently preserved structure">)
(T
<TELL
" graceful structure of marble and glass, bearing the
black radar dish symbol of the ">
<TELL "Church">
<COND (<EQUAL? ,SYEAR 2051>
<TELL " of God's Word">)>)>
<TELL
". " ,ALI-BUILDING-DESC ", and a car lot occupies the southeast corner.">)>>
<OBJECT ALI-BUILDING
(LOC MIDLAND-AND-RIVER)
(DESC "ALI Building")
(SYNONYM BUILDING BLDG HQ HEADQUARTERS SKYSCRAPER GROUP)
(ADJECTIVE ALI AMERICAN LIFE INSURANCE FAIRLY TYPICAL
TWENTY-FIRST CENTURY)
(FLAGS NDESCBIT VOWELBIT)
(ACTION ALI-BUILDING-F)>
<ROUTINE ALI-BUILDING-F ()
<COND (<VERB? EXAMINE>
<TELL ,ALI-BUILDING-DESC "." CR>)>>
<GLOBAL ALI-BUILDING-DESC
"The ALI Building, headquarters of the American Life Insurance group and
a fairly typical twenty-first century skyscraper, extends along the western
side of the street">
<ROUTINE TRAIN-STATION-ENTER-F ()
<COND (<OR <AND <EQUAL? ,SYEAR 2041>
<G? ,STIME 660>
<L? ,STIME 1260>>
<EQUAL? ,SYEAR 2051 2061 2071>>
,TRAIN-STATION)
(T
<CLOSED-PRINT "The station">
<RFALSE>)>>
<OBJECT TRAIN-STATION-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "train station")
(SYNONYM STATION LANDMARK)
(ADJECTIVE TRAIN OLD NORTH CENTRAL FORMER MAGNIFICE RESTORED
NATIONAL NATL)
(ACTION TRAIN-STATION-OBJECT-F)>
<ROUTINE TRAIN-STATION-OBJECT-F ()
<COND (<AND <NOT <EQUAL? ,SYEAR 2041>>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,TRAIN-STATION-OBJECT>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,BODANSKI-SQUARE>
<DO-WALK ,P?SE>)
(<EQUAL? ,HERE ,MIDLAND-AND-RIVER>
<DO-WALK ,P?NE>)
(<GLOBAL-IN? ,TRAIN-STATION-OBJECT ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,TRAIN-STATION>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,TRAIN-STATION>
<V-LOOK>)
(T
<TELL "The ">
<PRINTD ,TRAIN-STATION-OBJECT>
<TELL
" is a magnificently preserved national landmark." CR>)>)>>
<ROOM TRAIN-STATION
(LOC ROOMS)
(SDESC "")
(EAST PER TRAIN-STATION-EXIT-F)
(NW TO BODANSKI-SQUARE)
(SW TO MIDLAND-AND-RIVER)
(FLAGS ONBIT)
(GLOBAL CHURCH-OBJECT TRAIN-STATION-OBJECT PEOPLE)
(ACTION TRAIN-STATION-F)>
<ROUTINE TRAIN-STATION-EXIT-F ()
<COND (<EQUAL? ,SYEAR 2041>
<TELL ,NO-TICKET CR>)
(T
<TELL
"Only high Church officials are allowed into the inner areas." CR>)>
<RFALSE>>
<ROUTINE TRAIN-STATION-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2041>
<COND (<FSET? ,TICKET ,NDESCBIT>
<MOVE ,TICKET ,HERE>)>
<PUTP ,TRAIN-STATION ,P?SDESC "Train Station">)
(T
<PUTP ,TRAIN-STATION ,P?SDESC "Church Lobby">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"The former North Central Station is a magnificent building from the earliest
part of the twentieth century. Unused for years, it has been restored as a
national landmark. The newsstands have been converted to souvenir stands, and
tourists stream through the station to buy tickets for a fifteen minute ride
on an authentic electric railroad train, which can be boarded to the east. You
can leave the station to the northwest or southwest.">)
(T
<TELL "The regional central headquarters of the Church">
<COND (<EQUAL? ,SYEAR 2051>
<SCORE 53> ;"2 points"
<TELL
" of God's Word, built on the site of an old ">
<PRINTD ,TRAIN-STATION-OBJECT>
<TELL ",">)>
<TELL
" is an architectural splendor; light spills down from above, giving the
illusion that the countenance of God is gazing down upon a visitor in full
force and fury. A huge image of a radar dish, symbol of the Church, hangs
above the inner sanctums to the east, and impressively tall arched doorways
lead out to the northwest and southwest.">)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2041>>
<CLOSING-TIME
1260 "the train station" "a guard" ,BODANSKI-SQUARE>)>>
<OBJECT SOUVENIR
(LOC LOCAL-GLOBALS)
(DESC "souvenir")
(SYNONYM SOUVENIR SOUVENIRS TRINKET TRINKETS JUNK)
(ADJECTIVE TYPICALLY CHEAP OVERPRICED OVER-PRICED TRAIN-RELATED)
(FLAGS NDESCBIT)
(ACTION SOUVENIR-F)>
<ROUTINE SOUVENIR-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,TRAIN-STATION>
<TELL
"You know better than to waste your money on junk like that." CR>)
(T
<TELL "There aren't any souvenirs for sale here!" CR>)>)
(<VERB? EXAMINE>
<TELL
"The souvenirs are typically cheap, overpriced, train-related trinkets." CR>)>>
<OBJECT PAMPHLET
(LOC LOCAL-GLOBALS)
(DESC "glossy pamphlet")
(FDESC
"A wooden rack in the lobby, for the purpose of distributing literature
about the church, contains one pamphlet.")
(SYNONYM LITERATUR PAMPHLET BOOKLET LEAFLET FLYER)
(ADJECTIVE GLOSSY)
(FLAGS TAKEBIT READBIT)
(ACTION PAMPHLET-F)>
<ROUTINE PAMPHLET-F ()
<COND (<VERB? READ>
<COND (<EQUAL? ,SYEAR 2051>
<SCORE 54> ;"1 point"
<TELL
"\"A BRIEF HISTORY OF THE CHURCH OF GOD'S WORD|
|
The Church of God's Word is the vision of a great man, a man named Ellis
Vincent. He alone, of all the scientists on the Mount who heard the signals,
recognized them for what they were, the Word of God.|
|
The Holy Prophet was ridiculed and persecuted for his beliefs, but he had the
strength that comes from knowing the Truth, and Followers began to hear those
Truths and flock around him. They grew in numbers and in strength, and when
the Evil Scientists of the Mount attempted to bar Vincent from the instruments
there, he and his Followers rose up and smote the Evil Scientists.|
|
And so it came to pass, in 2025, that the Temple was founded on the Mount,
and the Instrument of the Word was devoted entirely to listening to God's
Word. Vincent interpreted the Words for his Followers, who broadcast the
Message around the world, and branches of the Church appeared in many cities.|
|
When Vincent finally became very old, and God began to beckon his servant
to his side, he taught the wisest of his Followers how to interpret the
Word, so that the world would continue to understand the Word after he
was gone. These Followers became the High Priests of the Church, who to
this day continue to pass along God's Word.\"" CR>)
(<EQUAL? ,SYEAR 2061>
<SCORE 55> ;"2 points"
<TELL
"\"Hear and obey the Word of God.|
|
Ever since the brave crusade of the Holy Prophet Vincent against the evil
sinners of the Mount, the priests of the Church of God's Word have been
the sacred guardians of God's Mouth, passing along His Word as sent down
from the heavens.|
|
The Lord Most High has been growing angry at His flock -- angry that there are
some who do not heed His Word. He is sending a sign, a fiery star that will
soon burn in our nighttime skies, to warn us that all created in His image
must become brethren of His Church. The punishment for not doing so will be
swift and cruel, and directed not just against the sinners but against all of
mankind, such that all will suffer for the sins of the few.|
|
Our Father and Creator is demanding, but He is also generous and kind. When
the day arrives that all men have joined His Church and heed His Word, he
will bring down upon the Earth an epoch of such peace and beauty as the
world has not seen since Eden. The choice He gives us is simple: Turn away
and suffer, or Follow and live to see Heaven on Earth.\"" CR>)
(T
<SCORE 56> ;"5 points"
<TELL
"\" --- New Pronouncements from The Mount ---|
|
Our Father in Heaven is pleased with the progress the Church is making
toward Purifying His flock, and assures the Faithful that the day of
deliverance is soon.|
|
He has instructed that new Worship Camps for the Unpure be opened in
every part of His favorite nation. He has instructed that these be
filled with more of the Beasts in Human Form, who have not joined the
Church, or who are not considered fit to join the Church, so that they
may be purified and sent to meet Him.|
|
He has instructed that only the officials of the Church may hold
governmental posts, in order to speed His work and facilitate the
dawning of the new Eden. He has, in his generosity, increased the
number of slaves a Churchman may own, from twenty-five to fifty.|
|
This is the Word of God; blessed be His name.\"" CR>)>)>>
<OBJECT PAMPHLET-RACK
(LOC TRAIN-STATION)
(DESC "rack")
(SYNONYM RACK)
(ADJECTIVE WOODEN)
(FLAGS NDESCBIT)
(ACTION RACK-F)>
<ROUTINE RACK-F ()
<COND (<AND <EQUAL? ,SYEAR 2041>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,PAMPHLET-RACK>)
(<AND <VERB? PUT>
<PRSI? ,PAMPHLET-RACK>>
<COND (<PRSO? ,PAMPHLET>
<FCLEAR ,PAMPHLET ,TOUCHBIT>
<MOVE ,PAMPHLET ,HERE>
<TELL "Done." CR>)
(T
<TELL "The rack is for Church literature." CR>)>)
(<VERB? EXAMINE LOOK-INSIDE>
<COND (<FSET? ,PAMPHLET ,TOUCHBIT>
<TELL "It's empty." CR>)
(T
<TELL <GETP ,PAMPHLET ,P?FDESC> CR>)>)>>
<ROOM CENTRE-AND-KENNEDY
(LOC ROOMS)
(DESC "Centre & Kennedy")
(LDESC
"At this intersection, Centre Street cuts across Kennedy Street from
northeast to southwest. A tall hotel has entrances to the east and
southeast. The austere facade of Huang Hall rises to the west. Kennedy
Street continues north and south.")
(NORTH TO PARK-ENTRANCE)
(NE TO BODANSKI-SQUARE)
(EAST TO VELDRAN-HOTEL)
(SE TO VELDRAN-HOTEL)
(SOUTH TO MAIN-AND-KENNEDY)
(SW TO ROCKVIL-CENTRE)
(WEST TO HUANG-HALL)
(NW SORRY "There's no entrance to Huang Hall in that direction.")
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(SCENE 25)
(GLOBAL HOTEL-OBJECT HUANG-HALL-OBJECT PEOPLE)
(ACTION CENTRE-AND-KENNEDY-F)>
<ROUTINE CENTRE-AND-KENNEDY-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2071>
<EQUAL? ,LIGHT-LEVEL 3>
<L? <GETP ,CENTRE-AND-KENNEDY ,P?SCENE> 101>>
<COND (<PROB <GETP ,CENTRE-AND-KENNEDY ,P?SCENE>>
<PUTP ,CENTRE-AND-KENNEDY ,P?SCENE 101>
<SCORE 57> ;"4 points"
<TELL CR
"Across the street, a beggar attempts to approach a wealthy couple, and
is beaten into unconsciousness by bodyguards." CR>)
(T
<PUTP ,CENTRE-AND-KENNEDY ,P?SCENE
<+ <GETP ,CENTRE-AND-KENNEDY ,P?SCENE> 25>>
<RFALSE>)>)>>
<ROOM VELDRAN-HOTEL
(LOC ROOMS)
(DESC "Veldran Hotel")
(LDESC
"This high-rise luxury hotel is frequented by business travellers attending
conventions at Huang Hall across the street. The exit from the lobby is to
the northwest.")
(WEST TO CENTRE-AND-KENNEDY)
(NW TO CENTRE-AND-KENNEDY)
(OUT TO CENTRE-AND-KENNEDY)
(FLAGS ONBIT)
(GLOBAL HOTEL-OBJECT)>
<OBJECT HUANG-HALL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Huang Hall")
(SYNONYM HALL CENTER FACADE)
(ADJECTIVE HUANG CONVENTION AUSTERE BOXY MULTI-PURPOSE PLAIN)
(ACTION HUANG-HALL-OBJECT-F)>
<ROUTINE HUANG-HALL-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,CENTRE-AND-KENNEDY>
<DO-WALK ,P?WEST>)
(<EQUAL? ,HERE ,HALLEY-AND-PARK>
<DO-WALK ,P?EAST>)
(<EQUAL? ,HERE ,HALLEY-PARK-EAST>
<DO-WALK ,P?SOUTH>)
(<GLOBAL-IN? ,HUANG-HALL-OBJECT ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,HUANG-HALL>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,HUANG-HALL>
<V-LOOK>)
(T
<TELL
"The exterior of the hall is plain and boxy." CR>)>)>>
<ROOM HUANG-HALL
(LOC ROOMS)
(DESC "Huang Hall")
(NORTH PER HALLEY-PARK-EAST-ENTER-F)
(EAST TO CENTRE-AND-KENNEDY)
(WEST TO HALLEY-AND-PARK)
(FLAGS NARTICLEBIT)
(GLOBAL PARK-OBJECT HUANG-HALL-OBJECT PEOPLE)
(ACTION HUANG-HALL-F)>
<ROUTINE HUANG-HALL-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This multipurpose hall ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"was built by a grant from the Huang Foundation, with the stipulation
that it be used primarily for artistic and cultural events. It is also">)
(T
<TELL "is">)>
<TELL
" used for conventions, trade shows, and even an occasional sporting
event. The current activity seems to be ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "a publishers' convention">)
(<EQUAL? ,SYEAR 2051>
<SCORE 58> ;"1 point"
<TELL "a jewelry and fur show">)
(<EQUAL? ,SYEAR 2061>
<SCORE 59> ;"2 points"
<TELL
"the graduation festivities for the largest BSF Academy class ever">)
(T
<SCORE 60> ;"7 points"
<TELL
"preparations for the televised, annual Executioners Awards">)>
<TELL ". You can exit to the ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "east or west.">)
(T
<TELL "north, east, or west.">)>)>>
<ROOM HALLEY-AND-PARK
(LOC ROOMS)
(DESC "Halley & Park")
(NORTH SORRY "The tunnel isn't for pedestrian traffic.")
(NE PER HALLEY-PARK-EAST-ENTER-F)
(EAST TO HUANG-HALL)
(SE SORRY "There's no entrance to Huang Hall in that direction.")
(SOUTH TO ROCKVIL-CENTRE)
(SW PER HALLEY-MUSEUM-ENTER-F)
(WEST TO HALLEY-AND-UNIVERSITY)
(NW PER HALLEY-PARK-WEST-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL TUNNEL MUSEUM-OBJECT PARK-OBJECT GATE HUANG-HALL-OBJECT
HALLEY-ESTATES-OBJECT UNOPENABLE-DOOR PEOPLE)
(ACTION HALLEY-AND-PARK-F)>
<ROUTINE HALLEY-AND-PARK-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You are on Park Street, at the eastern terminus of Halley Drive. North
of here, Park Street descends into a tunnel under ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 61> ;"2 points"
<TELL "the estates that were once ">)>
<TELL "Halley Park. ">
<COND (<NOT <EQUAL? ,SYEAR 2071>>
<TELL
"The park can be entered to the northeast or northwest. ">)>
<PRINTD ,HALLEY-MUSEUM>
<COND (<EQUAL? ,SYEAR 2061 2071>
<SCORE 62> ;"2 points"
<TELL
", once the city's pride but now closed for the last several years,">)>
<TELL
" fronts the intersection to the southwest, and Huang Hall can be
entered to the east.">)>>
<ROUTINE HALLEY-MUSEUM-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071 2061>
<SCORE 62> ;"2 points"
<TELL ,BOARDED-OVER CR>
<RFALSE>)
(<AND <G? ,STIME 600>
<L? ,STIME 1290>>
,HALLEY-MUSEUM)
(T
<CLOSED-PRINT "The museum">
<RFALSE>)>>
<ROOM HALLEY-MUSEUM
(LOC ROOMS)
(DESC "Halley Museum")
(NE TO HALLEY-AND-PARK)
(OUT TO HALLEY-AND-PARK)
(FLAGS ONBIT)
(GLOBAL MUSEUM-OBJECT EXHIBITS PEOPLE)
(ACTION HALLEY-MUSEUM-F)>
<ROUTINE HALLEY-MUSEUM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041>
<TELL "Nearly seventy-five">)
(T
<TELL "Nearly eighty-five">)>
<TELL " years old, ">
<PRINTD ,HALLEY-MUSEUM>
<TELL
" is the pride of Rockvil. The museum specializes in classical art, but has
exhibits on science and engineering, natural and human history, and modern
art as well. The museum is">
<COND (<EQUAL? ,SYEAR 2041>
<TELL ", as usual, very">)
(<EQUAL? ,SYEAR 2051>
<SCORE 129> ;"1 point"
<TELL " not very">)>
<TELL " crowded. The street lies to the northeast.">)
(<EQUAL? .RARG ,M-END>
<CLOSING-TIME 1290 "the museum" "a guard" ,HALLEY-AND-PARK>)>>
<ROOM HALLEY-AND-UNIVERSITY
(LOC ROOMS)
(DESC "Halley & University")
(NORTH PER HALLEY-PARK-WEST-ENTER-F)
(NE PER NO-ENTRANCE-TO-PARK-F)
(EAST TO HALLEY-AND-PARK)
(SE SORRY "There's no entrance to the campus in that direction.")
(SOUTH TO ROCKVIL-UNIVERSITY)
(SW SORRY "There's no entrance to the campus in that direction.")
(WEST TO INTERCHANGE)
(NW PER NO-ENTRANCE-TO-PARK-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL HIGHWAY CAMPUS PARK-OBJECT GATE HALLEY-ESTATES-OBJECT PEOPLE
INTERCHANGE-OBJECT)
(SCENE 100)
(ACTION HALLEY-AND-UNIVERSITY-F)>
<ROUTINE HALLEY-AND-UNIVERSITY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"University Avenue begins here, winding southwards into the ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 63> ;"2 points"
<TELL "grounds of what was once ">
<PRINTD ,ROCKVIL-UNIVERSITY>)
(T
<TELL "college">)>
<TELL ". Along the north side of the street is ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 62> ;"2 points"
<TELL
"a high brick wall forming the perimeter of the estates that were built when
Halley Park was carved up a few years ago">)
(T
<TELL "Halley Park">)>
<TELL ". Just to the west is the highway entrance.">)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2051>
<EQUAL? <GETP ,HALLEY-AND-UNIVERSITY ,P?SCENE> 100>>
<PUTP ,HALLEY-AND-UNIVERSITY ,P?SCENE 101>
<MOVE ,CHURCH-SKYCOPTER ,HERE>
<QUEUE I-CHURCH-SKYCOPTER <+ ,ELAPSED-TIME 1>>
<SCORE 64> ;"1 point"
<TELL CR
"A skycopter, with a loudspeaker disguised as a radar dish hanging below it,
drifts slowly by overhead, announcing some sort of prayer meeting." CR>)>>
<OBJECT CHURCH-SKYCOPTER
(LOC LOCAL-GLOBALS)
(DESC "skycopter")
(LDESC
"The skycopter is droning slowing away, repeating its announcement.")
(SYNONYM SKYCOPTER ANNOUNCEM LOUDSPEAK SPEAKER COPTER)
(ADJECTIVE SKY)
(ACTION CHURCH-SKYCOPTER-F)>
<ROUTINE CHURCH-SKYCOPTER-F ()
<COND (<VERB? LISTEN>
<MOVE ,CHURCH-SKYCOPTER ,LOCAL-GLOBALS>
<DISABLE <INT I-CHURCH-SKYCOPTER>>
<SCORE 64> ;"1 point"
<TELL
"\"The Church of God's Word invites you to a prayer meeting tonight at...\" The
skycopter drifts out of range before you can hear the time or location." CR>)
(<VERB? EXAMINE>
<TELL
"Suspended from the skycopter is a speaker modelled to resemble the
symbol of the Church." CR>)>>
<ROUTINE I-CHURCH-SKYCOPTER ()
<TELL "The skycopter, heading away, disappears from view." CR>
<MOVE ,CHURCH-SKYCOPTER ,LOCAL-GLOBALS>
<RFALSE>>
<ROOM INTERCHANGE
(LOC ROOMS)
(DESC "Interchange")
(LDESC
"This is a huge cloverleaf interchange which once carried traffic on and off
the interstate. The highway lies north, south and west of here, and Halley
Drive runs off to the east.")
(NORTH SORRY
"The highway's not a safe place to walk. Even in this day and age, it's still
used occasionally for ground freight.")
(WEST SORRY
"The highway's not a safe place to walk. Even in this day and age, it's still
used occasionally for ground freight.")
(SOUTH SORRY
"The highway's not a safe place to walk. Even in this day and age, it's still
used occasionally for ground freight.")
(EAST TO HALLEY-AND-UNIVERSITY)
(FLAGS STREETBIT OUTSIDEBIT)
(GLOBAL HIGHWAY INTERCHANGE-OBJECT)>
<OBJECT INTERCHANGE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "interchange")
(SYNONYM INTERCHANGE CLOVERLEAF)
(ADJECTIVE HUGE CLOVERLEAF)
(FLAGS VOWELBIT)
(ACTION INTERCHANGE-OBJECT-F)>
<ROUTINE INTERCHANGE-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,INTERCHANGE>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,INTERCHANGE-OBJECT ,HERE>
<DO-WALK ,P?WEST>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,INTERCHANGE>
<DO-WALK ,P?EAST>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,INTERCHANGE>>
<V-LOOK>)>>
<ROUTINE NO-ENTRANCE-TO-PARK-F ()
<TELL "There's no entrance to the ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "estates">)
(T
<TELL "park">)>
<TELL " in that direction." CR>
<RFALSE>>
<ROUTINE HALLEY-PARK-EAST-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<COND (<EQUAL? ,HERE ,HUANG-HALL ,AQUARIUM>
<TELL ,CANT-GO CR>)
(T
<SCORE 65> ;"3 points"
<TELL ,SHOT-ON-SIGHT CR>)>
<RFALSE>)
(T
,HALLEY-PARK-EAST)>>
<ROUTINE HALLEY-PARK-WEST-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 65> ;"3 points"
<TELL ,SHOT-ON-SIGHT CR>
<RFALSE>)
(T
,HALLEY-PARK-WEST)>>
<ROOM HALLEY-PARK-WEST
(LOC ROOMS)
(DESC "Halley Park West")
(NORTH TO SKYCAR-LOT-4)
(NE SORRY "There's no exit from the park in that direction.")
(EAST PER HALLEY-PARK-EAST-ENTER-F)
(SE TO HALLEY-AND-PARK)
(SOUTH TO HALLEY-AND-UNIVERSITY)
(SW SORRY "There's no exit from the park in that direction.")
(WEST TO ZOO)
(NW TO ZOO)
(DOWN PER TUBES-ENTER-F)
(FLAGS PARKBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL PEOPLE STAIRS ZOO-OBJECT PARK-OBJECT WATER CARLOT TUBE-STATION)
(ACTION HALLEY-PARK-WEST-F)>
<ROUTINE HALLEY-PARK-WEST-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is the western half of Halley Park, bordered on the north by a car lot,
on the northwest and west by the zoo, and on the south by Halley Drive. A ">
<COND (<EQUAL? ,SYEAR 2061>
<SCORE 66> ;"1 point"
<TELL "dried-up pond bed">)
(T
<TELL "small duck pond">)>
<TELL
" fills the center of the park. Near the zoo entrance is an entrance
leading down to the Tubes.">)>>
<OBJECT DUCKS
(LOC HALLEY-PARK-WEST)
(DESC "mallard duck")
(SYNONYM DUCK DUCKS MALLARD MALLARDS)
(ADJECTIVE MALLARD COMMON)
(FLAGS NDESCBIT TRYTAKEBIT)
(ACTION DUCKS-F)>
<ROUTINE DUCKS-F ()
<COND (<VERB? EXAMINE>
<TELL
"The ducks are some common variety, probably mallards." CR>)
(<VERB? TAKE KICK>
<TELL "The ducks scatter, quacking noisily." CR>)>>
<OBJECT DUCK-POND
(LOC HALLEY-PARK-WEST)
(DESC "duck pond")
(SYNONYM POND BED)
(ADJECTIVE SMALL DUCK DRIED-OUT)
(FLAGS NDESCBIT)
(GENERIC GENERIC-BED-F)
(ACTION DUCK-POND-F)>
<ROUTINE DUCK-POND-F ()
<COND (<VERB? EXAMINE>
<COND (<EQUAL? ,SYEAR 2061>
<SCORE 66> ;"1 point"
<TELL "It is dry and filled with debris." CR>)
(T
<COND (<EQUAL? ,SYEAR 2041>
<TELL "Many">)
(T
<TELL "A few">)>
<TELL
" ducks are swimming around in the waters of the pond." CR>)>)
(<VERB? LOOK-INSIDE>
<COND (<EQUAL? ,SYEAR 2061>
<PERFORM ,V?EXAMINE ,DUCK-POND>
<RTRUE>)
(T
<TELL
"The water is pretty murky, so you can't see much." CR>)>)
(<AND <VERB? PUT THROW>
<PRSI? ,DUCK-POND>>
<COND (<EQUAL? ,SYEAR 2061>
<PERFORM ,V?THROUGH ,DUCK-POND>
<RTRUE>)
(T
<MOVE ,PRSO ,LOCAL-GLOBALS>
<COND (<FSET? ,PRSO ,PLURALBIT>
<TELL "They sink">)
(T
<TELL "It sinks">)>
<TELL " into the depths of the pond." CR>)>)
(<VERB? BOARD THROUGH SWIM>
<COND (<EQUAL? ,SYEAR 2061>
<TELL "The pond is just a dried-out patch!" CR>)
(T
<TELL "Swimming in public ponds is illegal." CR>)>)>>
<ROOM HALLEY-PARK-EAST
(LOC ROOMS)
(DESC "Halley Park East")
(NORTH PER AQUARIUM-ENTER-F)
(NE SORRY "There's no exit from the park in that direction.")
(EAST TO PARK-ENTRANCE)
(SE SORRY "There's no exit from the park in that direction.")
(SOUTH TO HUANG-HALL)
(SW TO HALLEY-AND-PARK)
(WEST PER HALLEY-PARK-WEST-ENTER-F)
(NW TO SKYCAR-LOT-4)
(FLAGS OUTSIDEBIT PARKBIT NARTICLEBIT)
(GLOBAL GRAFFITI PARK-OBJECT CARLOT AQUARIUM-OBJECT HUANG-HALL-OBJECT
PEOPLE)
(ACTION HALLEY-PARK-EAST-F)>
<ROUTINE HALLEY-PARK-EAST-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2061>
<SCORE 67> ;"1 point"
<TELL
"A pedestal in the center of the park, defaced with multicolored graffiti,
indicates where a now-missing statue once rose">)
(T
<TELL
"A statue of Francisco Halley, founder of Rockvil, rises in
the center of the park">)>
<TELL
". To the north is the Aquarium and south of here is boxy Huang Hall. Other
exits from the park lead east, northwest, and southwest. The larger section
of Halley Park lies to the west.">)>>
<OBJECT HALLEY-STATUE
(LOC HALLEY-PARK-EAST)
(DESC "statue")
(SYNONYM STATUE FRANCISCO HALLEY)
(ADJECTIVE FRANCISCO HALLEY)
(FLAGS NDESCBIT READBIT)
(ACTION HALLEY-STATUE-F)>
<ROUTINE HALLEY-STATUE-F ()
<COND (<AND <EQUAL? ,SYEAR 2061>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,HALLEY-STATUE>)
(<VERB? WHO>
<TELL
"Francisco Halley is considered the founder of Rockvil." CR>)
(<VERB? EXAMINE READ>
<PERFORM ,V?READ ,PEDESTAL>
<RTRUE>)>>
<OBJECT PEDESTAL
(LOC HALLEY-PARK-EAST)
(DESC "pedestal")
(SYNONYM BASE PEDESTAL INSCRIPTI)
(ADJECTIVE DEFACED INSCRIBED)
(FLAGS NDESCBIT READBIT)
(TEXT
"The pedestal is inscribed:|
|
Rockvil's Founding Father:|
Francisco Halley")>
<ROOM ZOO
(LOC ROOMS)
(DESC "Zoo")
(NORTH TO ZOO-ENTRANCE)
(NE SORRY "There's no exit from the zoo in that direction.")
(EAST TO SKYCAR-LOT-4)
(SE PER HALLEY-PARK-WEST-ENTER-F)
(SOUTH PER HALLEY-PARK-WEST-ENTER-F)
(SW SORRY "There's no exit from the zoo in that direction.")
(WEST SORRY "There's no exit from the zoo in that direction.")
(NW SORRY "There's no exit from the zoo in that direction.")
(FLAGS OUTSIDEBIT)
(GLOBAL HIGHWAY ZOO-OBJECT PARK-OBJECT CARLOT CHILDREN GATE ANIMAL
HALLEY-ESTATES-OBJECT GLOBAL-SIGN PEOPLE)
(ACTION ZOO-F)>
<ROUTINE ZOO-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The Rockvil Zoological Garden is a moderately sized zoo,">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
" but it is well-designed, featuring natural habitats">)>
<TELL " nestled between ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "barren">)
(T
<TELL "grassy">)>
<TELL " hills. The main entrance lies to the north">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 68> ;"5 points"
<SETG P-IT-OBJECT ,BANNER>
<TELL
". Affluent estates, recently built on the site of Halley Park, form
the southeastern boundary of the zoo.|
|
Several of the nearby cages are empty, with cheaply-made \"EXTINCT\" signs
bolted over the animal names and descriptions.">
<COND (<AND <G? ,STIME 840>
<L? ,STIME 900>>
<SCORE 69> ;"4 points"
<TELL CR CR
"You can hear squeals of pain from the Monkey Cage, where the daily
torturing of the apes is going on for the amusement of zoo visitors.">)>)
(T
<TELL
", with other exits leading east and southeast. You can just make out the
old elevated interstate, forming the western border of the zoo.">)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2061>
<NOT ,ZOO-FLAG>
<PROB 40>>
<SETG ZOO-FLAG T>
<SCORE 70> ;"2 points"
<TELL CR
"At a nearby cage, a group of children are taunting, one might even
say torturing, a small animal, using rocks and pointy sticks." CR>)>>
<OBJECT CAGES
(LOC ZOO)
(DESC "cages")
(SYNONYM CAGE CAGES)
(FLAGS NDESCBIT NARTICLEBIT PLURALBIT)
(ACTION CAGES-F)>
<ROUTINE CAGES-F ()
<COND (<AND <EQUAL? ,SYEAR 2041 2051>
<EQUAL? ,HERE ,ZOO>>
<TELL "There are no cages here; only natural habitats." CR>)
(<VERB? THROUGH>
<TELL "The cages are all locked, of course." CR>)
(<AND <VERB? EXAMINE>
<EQUAL? ,SYEAR 2071>>
<TELL "Several of the cages are empty." CR>)
(<VERB? LOOK-INSIDE>
<COND (<EQUAL? ,SYEAR 2071>
<PERFORM ,V?EXAMINE ,CAGES>
<RTRUE>)
(T
<PERFORM ,V?EXAMINE ,ANIMAL>
<RTRUE>)>)
(<VERB? OPEN UNLOCK>
<TELL
"Surely you realize that such an action would wreak civic havoc! Fortunately,
the cages are securely bolted." CR>)>>
<OBJECT ANIMAL
(LOC LOCAL-GLOBALS)
(DESC "animal")
(SYNONYM ANIMAL ANIMALS APE APES MONKEY MONKEYS APE APES)
(ADJECTIVE SMALL WHIMPERING VARIOUS WILD)
(FLAGS VOWELBIT)
(ACTION ANIMAL-F)>
<ROUTINE ANIMAL-F ()
<COND (<AND <EQUAL? ,HERE ,ROCKVIL-STADIUM>
<NOT <EQUAL? ,SYEAR 2071>>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,ANIMAL>)
(<VERB? TOUCH>
<TELL
"You can't get close enough to the animals to pet them." CR>)
(<VERB? FEED>
<TELL
"You pick up a few stray bits of popcorn off the ground and toss it into
several of the cages. ">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
"The animals look well fed, however, and ignore the popcorn." CR>)
(T
<TELL
"The animals, which look starved, greedily wolf down the pitifully
few kernels." CR>)>)
(<AND <VERB? GIVE>
<FSET? ,PRSO ,EATBIT>>
<PERFORM ,V?FEED ,ANIMAL>
<RTRUE>)
(<VERB? EXAMINE>
<TELL "The animals look ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "thin and hungry">)
(<EQUAL? ,SYEAR 2071>
<SCORE 69> ;"4 points"
<TELL "starved and beaten, particularly the apes">)
(T
<COND (<EQUAL? ,SYEAR 2061>
<TELL "reasonably">)
(T
<TELL "happy and">)>
<TELL " well-fed">)>
<TELL "." CR>)>>
<OBJECT ZOO-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "zoo")
(SYNONYM ZOO GARDEN)
(ADJECTIVE ROCKVIL ZOOLOGICA MODERATEL SIZED)
(ACTION ZOO-OBJECT-F)>
<ROUTINE ZOO-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,ZOO>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,ZOO-ENTRANCE>
<DO-WALK ,P?SOUTH>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?WEST>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,ZOO>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,ZOO>
<V-LOOK>)
(T
<FROM-HERE>)>)>>
<GLOBAL ZOO-FLAG <>>
<OBJECT BANNER
(LOC LOCAL-GLOBALS)
(DESC "banner")
(LDESC
"A banner is stretched across the central walkway of the zoo.")
(SYNONYM BANNER)
(FLAGS READBIT)
(ACTION BANNER-F)>
<ROUTINE BANNER-F ()
<COND (<VERB? READ EXAMINE>
<SCORE 69> ;"4 points"
<TELL
"\"Monkey Torturing -- 2:00pm Daily at the Monkey Cage\"" CR>)>>
<ROOM SKYCAR-LOT-4
(LOC ROOMS)
(DESC "Skycar Lot")
(NORTH SORRY "There's a tall fence in the way.")
(NE TO AQUARIUM-AND-PARK)
(EAST PER AQUARIUM-ENTER-F)
(SE PER HALLEY-PARK-EAST-ENTER-F)
(SOUTH PER HALLEY-PARK-WEST-ENTER-F)
(SW SORRY "There's a tall fence in the way.")
(WEST TO ZOO)
(NW SORRY "There's a tall fence in the way.")
(FLAGS OUTSIDEBIT)
(GLOBAL FENCE ZOO-OBJECT PARK-OBJECT CARLOT GATE AQUARIUM-OBJECT
HALLEY-ESTATES-OBJECT)
(ACTION SKYCAR-LOT-4-F)>
<ROUTINE SKYCAR-LOT-4-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is a huge parking lot for ">
<COND (<NOT <EQUAL? ,SYEAR 2071>>
<TELL "Halley Park to the south and southeast, ">)>
<TELL
"the Aquarium to the east and the zoo to the west. The exit to the
street is northeast">
<COND (<EQUAL? ,SYEAR 2071>
<TELL
". To the south and southeast are gates leading into ">
<PRINTD ,HALLEY-ESTATES-OBJECT>)>
<TELL ".">)>>
<ROOM AQUARIUM-AND-PARK
(LOC ROOMS)
(DESC "Aquarium & Park")
(NORTH TO RIVER-AND-PARK)
(NE PER BURGER-MEISTER-ENTER-F)
(EAST TO AQUARIUM-AND-KENNEDY)
(SE PER AQUARIUM-ENTER-F)
(SOUTH SORRY "The tunnel isn't for pedestrian traffic.")
(SW TO SKYCAR-LOT-4)
(WEST TO ZOO-ENTRANCE)
(NW TO SERVICE-STATION)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL TUNNEL RESTAURANT-OBJECT BAR-OBJECT CARLOT AQUARIUM-OBJECT
SERVICE-STATION-OBJECT PEOPLE)
(ACTION AQUARIUM-AND-PARK-F)>
<ROUTINE AQUARIUM-AND-PARK-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"South of this intersection, Park Street descends into a tunnel under ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 61> ;"2 points"
<TELL "the Halley Park estates">)
(T
<TELL "Halley Park">)>
<TELL
". The Aquarium can be entered on the southeast corner, and a skycar service
center occupies the northwest corner. To the southwest is a large car lot, and
to the northeast, amidst a small car lot, is a ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "dingy-looking bar.">)
(T
<TELL "fast food restaurant.">)>)>>
<ROUTINE AQUARIUM-ENTER-F ()
<COND (<OR <AND <EQUAL? ,SYEAR 2041>
<G? ,STIME 600>
<L? ,STIME 1320>>
<AND <EQUAL? ,SYEAR 2051>
<G? ,STIME 600>
<L? ,STIME 1200>>
<AND <EQUAL? ,SYEAR 2061>
<G? ,STIME 660>
<L? ,STIME 1080>>
<AND <EQUAL? ,SYEAR 2071>
<G? ,STIME 720>
<L? ,STIME 1020>>>
,AQUARIUM)
(T
<CLOSED-PRINT "The Aquarium">
<RFALSE>)>>
<OBJECT AQUARIUM-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Aquarium")
(SYNONYM AQUARIUM)
(ACTION AQUARIUM-OBJECT-F)>
<ROUTINE AQUARIUM-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,HALLEY-PARK-EAST>
<DO-WALK ,P?NORTH>)
(<EQUAL? ,HERE ,SKYCAR-LOT-4>
<DO-WALK ,P?EAST>)
(<EQUAL? ,HERE ,AQUARIUM-AND-PARK>
<DO-WALK ,P?SE>)
(<EQUAL? ,HERE ,AQUARIUM-AND-KENNEDY>
<DO-WALK ,P?SW>)
(<GLOBAL-IN? ,AQUARIUM-OBJECT ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,AQUARIUM>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,AQUARIUM>>
<V-LOOK>)
(<AND <VERB? SMELL>
<EQUAL? ,SYEAR 2071>
<EQUAL? ,HERE ,AQUARIUM>>
<SCORE 137> ;"2 points"
<TELL ,AQUARIUM-SMELL CR>)>>
<ROOM AQUARIUM
(LOC ROOMS)
(DESC "Aquarium")
(NE TO AQUARIUM-AND-KENNEDY)
(SOUTH PER HALLEY-PARK-EAST-ENTER-F)
(WEST TO SKYCAR-LOT-4)
(NW TO AQUARIUM-AND-PARK)
(UP PER RAMP-MOVEMENT-F)
(DOWN PER RAMP-MOVEMENT-F)
(FLAGS ONBIT)
(GLOBAL EXHIBITS PARK-OBJECT CARLOT WATER AQUARIUM-OBJECT)
(ACTION AQUARIUM-F)>
<ROUTINE AQUARIUM-F (RARG "AUX" TIME)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"A ramp winds around a huge central tank, and smaller
exhibits fill the outside walls. Exits lead ">
<COND (<NOT <EQUAL? ,SYEAR 2071>>
<TELL "south, ">)>
<TELL "west, northwest, and northeast.">
<COND (<EQUAL? ,SYEAR 2071>
<TELL " " ,AQUARIUM-SMELL>)>)
(<EQUAL? .RARG ,M-END>
<COND (<EQUAL? ,SYEAR 2041>
<SET TIME 1320>)
(<EQUAL? ,SYEAR 2051>
<SET TIME 1200>)
(<EQUAL? ,SYEAR 2061>
<SET TIME 1080>)
(T
<SET TIME 1020>)>
<CLOSING-TIME
.TIME "the Aquarium" "a guard" ,AQUARIUM-AND-KENNEDY>)>>
<ROUTINE RAMP-MOVEMENT-F ()
<TELL
"This brings you to a different part of the tank, although the view inside
is pretty much the same." CR>
<RFALSE>>
<OBJECT TANK
(LOC AQUARIUM)
(DESC "tank")
(SYNONYM TANK)
(ADJECTIVE LARGE CENTRAL)
(FLAGS NDESCBIT TRANSBIT)
(ACTION TANK-F)>
<ROUTINE TANK-F ()
<COND (<VERB? LOOK-INSIDE>
<COND (<EQUAL? ,SYEAR 2041>
<TELL "The water is crystal clear, sparkling with ">
<COND (<G? ,LIGHT-LEVEL 2>
<TELL "sun">)
(T
<TELL "artificial ">)>
<TELL
"light from the surface of the water several stories above you.
As you peer into the tank, a ">
<COND (<PROB 25>
<TELL "manta ray">)
(<PROB 50>
<TELL "sea turtle">)
(T
<TELL "large, graceful fish">)>
<TELL
" swims into view and then vanishes among the rocks and greenery
at the bottom of the tank." CR>)
(T
<SCORE 71> ;"1 point"
<TELL
"The water is murky and the walls of the tank need cleaning. You can only
make out vague shapes moving about inside the tank." CR>)>)
(<AND <VERB? WASH>
<NOT <EQUAL? ,SYEAR 2041>>>
<TELL "You don't have the access or the equipment." CR>)
(<VERB? THROUGH BOARD SWIM>
<TELL "There's no visible entrance to the tank." CR>)>>
<OBJECT FISH
(LOC AQUARIUM)
(DESC "fish")
(SYNONYM FISH)
(ADJECTIVE LARGE GRACEFUL)
(FLAGS NDESCBIT)
(ACTION FISH-F)>
<ROUTINE FISH-F ()
<COND (<VERB? EXAMINE>
<COND (<EQUAL? ,SYEAR 2041>
<TELL "The fish are large and graceful." CR>)
(T
<TELL
"Although the central tank is too murky to see into, you can see some fish in
the smaller side exhibits. They are small and of average appearance." CR>)>)
(<VERB? EAT TOUCH>
<TELL "The fish are inside a tank." CR>)>>
<OBJECT TURTLE
(LOC LOCAL-GLOBALS)
(DESC "turtle")
(SYNONYM TURTLE)
(ADJECTIVE SEA)
(FLAGS NDESCBIT)>
<OBJECT MANTA-RAY
(LOC LOCAL-GLOBALS)
(DESC "manta ray")
(SYNONYM RAY)
(ADJECTIVE MANTA)
(FLAGS NDESCBIT)>
<OBJECT RAMP
(LOC AQUARIUM)
(DESC "ramp")
(SYNONYM RAMP)
(FLAGS NDESCBIT)
(ACTION RAMP-F)>
<ROUTINE RAMP-F ()
<COND (<VERB? CLIMB-UP CLIMB-FOO CLIMB-DOWN>
<DO-WALK ,P?UP>)>>
<OBJECT SERVICE-STATION-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "service station")
(SYNONYM STATION CENTER)
(ADJECTIVE UNUSUALLY LARGE SKYCAR SERVICE)
(ACTION SERVICE-STATION-OBJECT-F)>
<ROUTINE SERVICE-STATION-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,AQUARIUM-AND-PARK>
<DO-WALK ,P?NW>)
(<GLOBAL-IN? ,SERVICE-STATION-OBJECT ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,SERVICE-STATION>
<DO-WALK ,P?SE>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,SERVICE-STATION>
<V-LOOK>)
(T
<TELL "The ">
<PRINTD ,SERVICE-STATION-OBJECT>
<TELL
" is unusually large, especially for one so close to the city." CR>)>)>>
<ROOM SERVICE-STATION
(LOC ROOMS)
(DESC "Service Station")
(LDESC
"This is an unusually large skycar service center, where people can bring
their cars for a quick battery replacement, scheduled maintenance, or minor
repairs. The exit to the street is southeast.")
(SE TO AQUARIUM-AND-PARK)
(OUT TO AQUARIUM-AND-PARK)
(FLAGS ONBIT)
(GLOBAL SERVICE-STATION-OBJECT)>
<ROUTINE BURGER-MEISTER-ENTER-F ()
<COND (<AND <OR <G? ,STIME 1200>
<L? ,STIME 420>>
<NOT <EQUAL? ,SYEAR 2041>>>
<OF-COURSE ,BURGER-MEISTER>
<RFALSE>)
(T
,BURGER-MEISTER)>>
<ROOM BURGER-MEISTER
(LOC ROOMS)
(SDESC "")
(SW PER BURGER-MEISTER-EXIT-F)
(OUT PER BURGER-MEISTER-EXIT-F)
(FLAGS ONBIT)
(GLOBAL RESTAURANT-OBJECT BAR-OBJECT COUNTER SMOKE GLOBAL-TABLE MENU
PEOPLE)
(ACTION BURGER-MEISTER-F)>
<ROUTINE BURGER-MEISTER-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2071>
<PUTP ,BURGER-MEISTER ,P?SDESC "Bar">)
(<EQUAL? ,SYEAR 2061>
<PUTP ,BURGER-MEISTER ,P?SDESC "Burgerworld">)
(T
<PUTP ,BURGER-MEISTER ,P?SDESC "Burger Meister">)>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "bartender">
<MOVE ,BEER ,LOCAL-GLOBALS>
<MOVE ,BAR-STOOL ,HERE>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 72> ;"1 point"
<TELL
"You are in a seedy pub, filled with smoke and smelling of urine. A fast-food
counter has been converted into the bar" ,STOOL-DESC "The exit is southwest.">)
(T
<TELL "This is a fast food restaurant serving ">
<FAST-FOOD-MENU>
<TELL
". Stools provide ample seating. The only way out is southwest.">)>)
(<EQUAL? .RARG ,M-END>
<CURFEW-CLOSE ,AQUARIUM-AND-PARK>)>>
<ROUTINE BURGER-MEISTER-EXIT-F ()
<COND (<HELD? ,BEER>
<TELL ,BARTENDER-YELLS CR>
<RFALSE>)
(T
,AQUARIUM-AND-PARK)>>
<ROOM ZOO-ENTRANCE
(LOC ROOMS)
(DESC "Zoo Entrance")
(LDESC
"You are on Aquarium Drive, where a road branches off to the south into the
zoo. To the west, the Drive passes under the old interstate. North of here is
the entrance to a stadium skycar lot.")
(NORTH TO STADIUM-LOT-A)
(NE SORRY "There's no entrance to the stadium lot in that direction.")
(EAST TO AQUARIUM-AND-PARK)
(SE SORRY "There's no entrance to the zoo in that direction.")
(SOUTH TO ZOO)
(SW SORRY "There's no entrance to the zoo in that direction.")
(WEST TO AQUARIUM-UNDERPASS)
(NW SORRY "There's no entrance to the stadium lot in that direction.")
(IN TO ZOO)
(FLAGS STREETBIT OUTSIDEBIT)
(GLOBAL HIGHWAY PEOPLE ZOO-OBJECT)
(SCENE 100)
(ACTION ZOO-ENTRANCE-F)>
<ROUTINE ZOO-ENTRANCE-F (RARG)
<COND (<AND <EQUAL? ,SYEAR 2061>
<EQUAL? .RARG ,M-END>
<EQUAL? ,LIGHT-LEVEL 3>
<L? <GETP ,ZOO-ENTRANCE ,P?SCENE> 101>>
<PUTP ,ZOO-ENTRANCE ,P?SCENE 101>
<SCORE 74> ;"2 points"
<TELL CR
"Down the block, you can see two youths, wearing Church of God's Word
pendants, harassing a middle-aged Hassidic Jew." CR>)>>
<ROOM AQUARIUM-UNDERPASS
(LOC ROOMS)
(DESC "Aquarium Underpass")
(LDESC
"You are on Aquarium Drive where it passes under the old elevated highway
that runs through the city. To the east is the north side of town, and to
the west are the suburbs.")
(EAST TO ZOO-ENTRANCE)
(WEST PER SUBURBS-ENTER-F)
(FLAGS STREETBIT ONBIT)
(GLOBAL HIGHWAY PEOPLE)>
<ROOM STADIUM-LOT-A
(LOC ROOMS)
(DESC "Stadium Lot A")
(NORTH TO ROCKVIL-STADIUM)
(NE SORRY "There's a tall fence in the way.")
(EAST SORRY "There's a tall fence in the way.")
(SE SORRY "There's a tall fence in the way.")
(SOUTH TO ZOO-ENTRANCE)
(SW SORRY "There's a tall fence in the way.")
(WEST SORRY "There's a tall fence in the way.")
(NW SORRY "There's a tall fence in the way.")
(FLAGS OUTSIDEBIT NARTICLEBIT)
(GLOBAL FENCE STADIUM-OBJECT)
(ACTION STADIUM-LOT-A-F)>
<ROUTINE STADIUM-LOT-A-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<STADIUM-LOT-DESC "north" "south">)>>
<ROUTINE STADIUM-LOT-DESC (IN-DIR OUT-DIR)
<TELL
"This is a parking lot for Rockvil Municipal Stadium, which can be entered
to the " .IN-DIR ". You can leave the lot to the " .OUT-DIR ".">>
<ROOM RIVER-AND-PARK
(LOC ROOMS)
(DESC "River & Park")
(LDESC
"River Street, off to the east, ends here at Park Street, which curves from
the south to the northwest. A stadium skycar lot is on the west side of Park,
and some sort of athletic field is to the southeast. All along the north side
of River Street is a vast expanse of placid water, Rockvil Reservoir.")
(NORTH SORRY "The reservoir is fenced off.")
(NE SORRY "The reservoir is fenced off.")
(EAST TO RIVER-AND-KENNEDY)
(SE TO ATHLETIC-FIELD)
(SOUTH TO AQUARIUM-AND-PARK)
(SW SORRY "There's no entrance to the stadium lot in that direction.")
(WEST TO STADIUM-LOT-B)
(NW TO WATER-TOWER)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL FENCE WATER RESERVOIR FIELD PEOPLE)>
<ROOM STADIUM-LOT-B
(LOC ROOMS)
(DESC "Stadium Lot B")
(NORTH SORRY "There's a tall fence in the way.")
(NE SORRY "There's a tall fence in the way.")
(EAST TO RIVER-AND-PARK)
(SE SORRY "There's a tall fence in the way.")
(SOUTH SORRY "There's a tall fence in the way.")
(SW SORRY "There's a tall fence in the way.")
(WEST TO ROCKVIL-STADIUM)
(NW SORRY "There's a tall fence in the way.")
(FLAGS OUTSIDEBIT NARTICLEBIT)
(GLOBAL FENCE STADIUM-OBJECT)
(ACTION STADIUM-LOT-B-F)>
<ROUTINE STADIUM-LOT-B-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<STADIUM-LOT-DESC "west" "east">)>>
<ROOM WATER-TOWER
(LOC ROOMS)
(DESC "Water Tower")
(NORTH TO ROCKVIL-REFORMATORY)
(NE SORRY "The reservoir is fenced off.")
(EAST SORRY "The reservoir is fenced off.")
(SE TO RIVER-AND-PARK)
(SOUTH SORRY "There's no entrance to the stadium lot in that direction.")
(SW TO STADIUM-LOT-C)
(WEST TO PARK-UNDERPASS)
(NW SORRY "There's no entrance to the prison in that direction.")
(FLAGS STREETBIT OUTSIDEBIT)
(GLOBAL HIGHWAY FENCE WATER RESERVOIR JAIL-OBJECT CARLOT PEOPLE)
(ACTION WATER-TOWER-F)>
<ROUTINE WATER-TOWER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"Park Street splits for a block as it climbs Lincoln Hill
and passes around a ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "shiny">)
(<EQUAL? ,SYEAR 2061>
<SCORE 130> ;"1 point"
<TELL "corroding">)
(<EQUAL? ,SYEAR 2071>
<SCORE 131> ;"2 points"
<TELL "decrepit">)>
<TELL " plastalloy ">
<PRINTD ,WATER-TOWER-OBJECT>
<TELL
". The road continues to curve, heading west toward the highway and southeast
toward the city. There's a breathtaking view of the reservoir from this
hilltop, stretching off to the east. To the southwest you can enter a stadium
parking lot. To the north is the ">
<PRINTD ,ROCKVIL-REFORMATORY>
<TELL ".">)>>
<OBJECT WATER-TOWER-OBJECT
(LOC WATER-TOWER)
(DESC "water tower")
(SYNONYM TOWER TANK)
(ADJECTIVE WATER SHINY CORRODING DECREPIT PLASTALLO)
(FLAGS NDESCBIT)
(ACTION WATER-TOWER-OBJECT-F)>
<ROUTINE WATER-TOWER-OBJECT-F ()
<COND (<VERB? THROUGH>
<TELL "There's no visible entrance to the tower." CR>)
(<VERB? CLIMB-FOO CLIMB-UP>
<TELL "There's no way to scale the tower." CR>)>>
<ROOM ROCKVIL-REFORMATORY
(LOC ROOMS)
(DESC "Rockvil Reformatory")
(IN SORRY "You can't enter the prison without a pass.")
(NORTH SORRY "You can't enter the prison without a pass.")
(OUT TO WATER-TOWER)
(SOUTH TO WATER-TOWER)
(FLAGS ONBIT)
(GLOBAL JAIL-OBJECT)
(ACTION ROCKVIL-REFORMATORY-F)>
<ROUTINE ROCKVIL-REFORMATORY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The Park Street Prison was built during the twentieth century. It was
expanded, modernized, and renamed the ">
<PRINTD ,ROCKVIL-REFORMATORY>
<TELL " around ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "ten">)
(<EQUAL? ,SYEAR 2051>
<TELL "twenty">)
(<EQUAL? ,SYEAR 2061>
<TELL "thirty">)
(T
<TELL "forty">)>
<TELL " years ago. ">
<PERFORM ,V?EXAMINE ,WALLS>
<TELL CR "From what you've heard, the prison is ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"overcrowded, because today's stricter law enforcement and mandatory
sentencing regulations are putting people into the penal system even
faster than the military draft can remove them">)
(<EQUAL? ,SYEAR 2051>
<SCORE 75> ;"1 point"
<TELL
"unbelievably overcrowded, with brutally unsanitary conditions">)
(<EQUAL? ,SYEAR 2061>
<SCORE 76> ;"3 points"
<TELL
"much less crowded than it used to be, now that the death penalty has
been extended to cover most crimes">)
(<EQUAL? ,SYEAR 2071>
<SCORE 77> ;"4 points"
<TELL
"almost completely unused these days, with most criminals going to
the execution matches. The few remaining prisoners are just important
Enemies of the Church, former Members who have fallen out of favor
with the Leadership">)>
<TELL ". Park Street is south of here.">)>>
<OBJECT JAIL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "prison")
(SYNONYM JAIL PRISON CELL CELLS REFORMATO)
(ADJECTIVE ROCKVIL JAIL RIVER STREET EMPTY CROWDED)
(ACTION JAIL-OBJECT-F)>
<ROUTINE JAIL-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,WATER-TOWER ,ROCKVIL-REFORMATORY>
<DO-WALK ,P?NORTH>)
(<EQUAL? ,HERE ,POLICE-STATION>
<DO-WALK ,P?EAST>)
(<GLOBAL-IN? ,PRSO ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,WATER-TOWER ,POLICE-STATION>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,ROCKVIL-REFORMATORY>
<DO-WALK ,P?SOUTH>)
(T
<DO-WALK ,P?OUT>)>)
(<AND <VERB? LOOK-INSIDE EXAMINE>
<EQUAL?,HERE ,POLICE-STATION>>
<COND (<EQUAL? ,SYEAR 2061>
<TELL
"You can't tell much about the cells from here." CR>)
(T
<TELL "From here, the jail cells look pretty ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "empty">)
(T
<TELL "crowded">)>
<TELL "." CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,JAIL-CELL ,ROCKVIL-REFORMATORY>
<V-LOOK>)
(T
<FROM-HERE>)>)>>
<ROOM STADIUM-LOT-C
(LOC ROOMS)
(DESC "Stadium Lot C")
(NORTH SORRY "There's a tall fence in the way.")
(NE TO WATER-TOWER)
(EAST SORRY "There's a tall fence in the way.")
(SE SORRY "There's a tall fence in the way.")
(SOUTH SORRY "There's a tall fence in the way.")
(SW TO ROCKVIL-STADIUM)
(WEST SORRY "There's a tall fence in the way.")
(NW SORRY "There's a tall fence in the way.")
(FLAGS OUTSIDEBIT NARTICLEBIT)
(GLOBAL FENCE STADIUM-OBJECT)
(ACTION STADIUM-LOT-C-F)>
<ROUTINE STADIUM-LOT-C-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<STADIUM-LOT-DESC "southwest" "northeast">)>>
<ROOM ROCKVIL-STADIUM
(LOC ROOMS)
(DESC "Rockvil Stadium")
(NE TO STADIUM-LOT-C)
(EAST TO STADIUM-LOT-B)
(SOUTH TO STADIUM-LOT-A)
(DOWN PER TUBES-ENTER-F)
(FLAGS OUTSIDEBIT NARTICLEBIT)
(GLOBAL STAIRS ANIMAL STADIUM-OBJECT TUBE-STATION FIELD PEOPLE)
(ACTION ROCKVIL-STADIUM-F)>
<ROUTINE ROCKVIL-STADIUM-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<FSET ,STADIUM-STANDS ,FURNITUREBIT>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<AND <EQUAL? ,SYEAR 2061 2071>
<OR <G? ,STIME 1200>
<L? ,STIME 480>>>
<TELL "The stadium is dark and deserted">)
(<EQUAL? ,SYEAR 2071>
<SCORE 79> ;"8 points"
<TELL
"The stadium is currently packed by crowds who've come for the weekly
Execution Matches. Convicted criminals are matched, or rather mismatched,
against laser-armed robotoids and various wild animals. The mobs in the
stands roar each time a convict is gored. The field is literally soaked
with blood, and there are numerous fistfights throughout the stands">)
(<EQUAL? ,SYEAR 2061>
<SCORE 78> ;"4 points"
<TELL
"Neither the Bobcats nor the Rockets are playing today; instead, the
stadium is being used for the public execution of criminals. Prisoners
stand in a dock while the announcer reads their crimes. They are then
led into a screened-off area where technicians administer the fatal
injection. The stands are sparsely filled">)
(T
<TELL
"Rockvil Municipal Stadium is a multipurpose sporting event facility, home
of both baseball's Rockvil Bobcats and soccer's Rockvil Rockets">)>
<TELL
". Stadium exits lie to the south, east, and northeast. A ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "closed ">)>
<PRINTD ,TUBE-STATION>
<TELL " lies directly under the stadium.">)>>
<OBJECT STADIUM-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "stadium")
(SYNONYM STADIUM PARK FACILITY)
(ADJECTIVE ROCKVIL MUNICIPAL MONOLITHIC PLASTICRETE DARK DESERTED
MULTI-PURPOSE MULTI PURPOSE PACKED SPORTING SPORTS EVENT)
(ACTION STADIUM-OBJECT-F)>
<ROUTINE STADIUM-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,ROCKVIL-STADIUM>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,STADIUM-LOT-A>
<DO-WALK ,P?NORTH>)
(<EQUAL? ,HERE ,STADIUM-LOT-B>
<DO-WALK ,P?WEST>)
(<EQUAL? ,HERE ,STADIUM-LOT-C>
<DO-WALK ,P?SW>)
(<GLOBAL-IN? ,STADIUM-OBJECT ,HERE>
<DO-WALK ,P?NORTH>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,ROCKVIL-STADIUM>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,ROCKVIL-STADIUM>
<V-LOOK>)
(<EQUAL? ,HERE ,TUBE-AT-STADIUM>
<TELL "You can't see the stadium from down here!" CR>)
(T
<TELL
"The stadium is a monolithic plasticrete park with tall,
narrow, arched entrances." CR>)>)
(<AND <VERB? BOARD SIT>
<EQUAL? ,HERE ,ROCKVIL-STADIUM>>
<PERFORM ,V?SIT ,STADIUM-STANDS>
<RTRUE>)>>
<OBJECT STADIUM-STANDS
(LOC ROCKVIL-STADIUM)
(DESC "the stands")
(SYNONYM STANDS SEAT SEATS DECK BLEACHERS BLEACHER)
(ADJECTIVE BLEACHER UPPER LOWER STADIUM)
(FLAGS VEHBIT FURNITUREBIT NARTICLEBIT PLURALBIT NDESCBIT)>
<ROOM PARK-UNDERPASS
(LOC ROOMS)
(DESC "Park Underpass")
(LDESC
"At this point, the old, rarely-used interstate crosses over Park Street.
The northern suburbs lie to the west, and east of here the street climbs
a hill toward a water tower.")
(EAST TO WATER-TOWER)
(WEST PER SUBURBS-ENTER-F)
(FLAGS STREETBIT ONBIT)
(GLOBAL HIGHWAY PEOPLE)>
<ROOM ATHLETIC-FIELD
(LOC ROOMS)
(DESC "Athletic Field")
(NORTH SORRY "There's no opening in the fence in that direction.")
(NE TO RIVER-AND-KENNEDY)
(EAST SORRY "There's no opening in the fence in that direction.")
(SE SORRY "There's no opening in the fence in that direction.")
(SOUTH SORRY "There's no opening in the fence in that direction.")
(SW SORRY "There's no opening in the fence in that direction.")
(WEST SORRY "There's no opening in the fence in that direction.")
(NW TO RIVER-AND-PARK)
(FLAGS OUTSIDEBIT)
(GLOBAL FENCE CHILDREN FIELD PEOPLE)
(ACTION ATHLETIC-FIELD-F)>
<ROUTINE ATHLETIC-FIELD-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-ENTER>
<EQUAL? ,SYEAR 2061 2071>
<EQUAL? ,LIGHT-LEVEL 3>>
<QUEUE I-ATHLETIC-FIELD 1>)
(<EQUAL? .RARG ,M-LOOK>
<TELL "This is an outdoor athletic field for ">
<COND (<EQUAL? ,SYEAR 2061 2071>
<TELL "the Vincent School">)
(T
<TELL "Rockvil High School">)>
<TELL
", with facilities for baseball and soccer, as well as track and field
events. Bleachers line one side of the field, and there are exits in the
fence to the northeast and northwest.">)>>
<OBJECT BLEACHERS
(LOC ATHLETIC-FIELD)
(DESC "bleachers")
(SYNONYM BLEACHER BLEACHERS)
(FLAGS NDESCBIT VEHBIT FURNITUREBIT)>
<GLOBAL STONING-FLAG <>>
<OBJECT STONES
(LOC LOCAL-GLOBALS)
(DESC "stone")
(SYNONYM STONE STONES ROCK ROCKS)
(FLAGS NDESCBIT TAKEBIT)
(ACTION STONES-F)>
<ROUTINE STONES-F ()
<COND (<VERB? TAKE>
<MOVE ,STONES ,PLAYER>
<TELL "You pick up a stone." CR>)>>
<ROUTINE I-ATHLETIC-FIELD ()
<COND (<NOT <EQUAL? ,HERE ,ATHLETIC-FIELD>>
<SETG STONING-FLAG <>>
<RFALSE>)
(<EQUAL? ,SYEAR 2061>
<SCORE 80> ;"2 points"
<TELL CR
"Some of the schoolchildren notice the stranger who has wandered onto
their field, and begin laughing at you, plucking at your ratty clothing." CR>)
(<AND <EQUAL? ,SYEAR 2071>
<NOT ,STONING-FLAG>>
<SETG STONING-FLAG T>
<QUEUE I-ATHLETIC-FIELD 1>
<TELL CR
"Several of the larger children gather around you menacingly. \"We don't allow
animals onto Church land, pops,\" one of them says, poking you sharply in the
chest with his fingers. Some of the others begin picking up stones." CR>)
(T
<SCORE 81> ;"7 points"
<JIGS-UP
"|
A circle of older children closes in on you with heavy rocks. In the
background, you can hear younger ones chanting a familiar rhyme: \"Pick
an apple, bake a pie, animals deserve to die.\" For a moment, the entire
field seems frozen in a tableau, then a volley of stones is unleashed.
One strikes you in the forehead...">)>>
<ROOM RIVER-AND-KENNEDY
(LOC ROOMS)
(DESC "River & Kennedy")
(NORTH SORRY "The reservoir is fenced off.")
(NE SORRY "The reservoir is fenced off.")
(EAST TO AIRPORTWAY-AND-RIVER)
(SE PER ROCKVIL-HIGH-ENTER-F)
(SOUTH TO AQUARIUM-AND-KENNEDY)
(SW TO ATHLETIC-FIELD)
(WEST TO RIVER-AND-PARK)
(NW SORRY "The reservoir is fenced off.")
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL FENCE WATER RESERVOIR SCHOOL-OBJECT FIELD PEOPLE)
(ACTION RIVER-AND-KENNEDY-F)>
<ROUTINE RIVER-AND-KENNEDY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"River Street, after paralleling Kennedy Street across the city, curves
westward and intersects it here. Kennedy ends at this point, since the
reservoir forms the northern border of River Street. ">
<COND (<EQUAL? ,SYEAR 2061 2071>
<TELL "The Vincent">)
(T
<TELL "Rockvil High">)>
<TELL
" School is on the southeast corner, and its athletic field is
southwest of here.">)>>
<ROUTINE ROCKVIL-HIGH-ENTER-F ()
<COND (<OR <L? ,STIME 420>
<G? ,STIME 1020>>
<CLOSED-PRINT "The school">
<RFALSE>)
(T
,ROCKVIL-HIGH)>>
<ROOM ROCKVIL-HIGH
(LOC ROOMS)
(SDESC "")
(EAST TO AIRPORTWAY-AND-RIVER)
(NW TO RIVER-AND-KENNEDY)
(FLAGS NARTICLEBIT)
(GLOBAL SCHOOL-OBJECT)
(ACTION ROCKVIL-HIGH-F)>
<ROUTINE ROCKVIL-HIGH-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2041 2051>
<PUTP ,ROCKVIL-HIGH ,P?SDESC "Rockvil High">)
(T
<PUTP ,ROCKVIL-HIGH ,P?SDESC "The Vincent School">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
"The oldest secondary school in the city, Rockvil High School moved to
its current location and building approximately ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "thirty">)
(T
<TELL "forty">)>
<TELL " years ago">)
(T
<SCORE 82> ;"5 points"
<TELL
"The old Rockvil High building was purchased by the Church of God's Word
after the public school system shut down in 2058">)>
<TELL
". The building has exits at its eastern and northwestern corners.">)
(<EQUAL? .RARG ,M-END>
<SHOP-CLOSES
1020 "school building" "A janitor" ,RIVER-AND-KENNEDY>)>>
<ROOM AQUARIUM-AND-KENNEDY
(LOC ROOMS)
(DESC "Aquarium & Kennedy")
(NORTH TO RIVER-AND-KENNEDY)
(NE PER OFFICE-BUILDING-ENTER-F)
(EAST TO AQUARIUM-AND-RIVER)
(SE TO DENTAL-SCHOOL)
(SOUTH TO PARK-ENTRANCE)
(SW PER AQUARIUM-ENTER-F)
(WEST TO AQUARIUM-AND-PARK)
(NW PER BANK-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL BANK-OBJECT SCHOOL-OBJECT AQUARIUM-OBJECT PEOPLE)
(ACTION AQUARIUM-AND-KENNEDY-F)>
<ROUTINE AQUARIUM-AND-KENNEDY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You are at a perpendicular intersection formed by the north-south Kennedy
Street and the east-west Aquarium Drive. " ,CHUN-DESC " On the other corners,
scanning clockwise, are a dental school, the Aquarium, and a bank.">)>>
<OBJECT CHUN-BUILDING
(LOC AQUARIUM-AND-KENNEDY)
(DESC "office building")
(SYNONYM BUILDING BLDG)
(ADJECTIVE CHUN SMALL OFFICE)
(FLAGS VOWELBIT NDESCBIT)
(ACTION CHUN-BUILDING-F)>
<ROUTINE CHUN-BUILDING-F ()
<COND (<AND <VERB? WALK-TO THROUGH>
<IN? ,CHUN-BUILDING ,HERE>>
<DO-WALK ,P?NE>)
(<VERB? EXAMINE>
<TELL ,CHUN-DESC CR>)>>
<ROUTINE BANK-ENTER-F ()
<COND (<AND <G? ,STIME 480>
<L? ,STIME 960>>
,BANK)
(T
<CLOSED-PRINT "The bank">
<RFALSE>)>>
<ROOM BANK
(LOC ROOMS)
(DESC "Bank")
(SE TO AQUARIUM-AND-KENNEDY)
(OUT TO AQUARIUM-AND-KENNEDY)
(FLAGS ONBIT)
(GLOBAL BANK-OBJECT)
(ACTION BANK-F)>
<ROUTINE BANK-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "teller">)
(<EQUAL? .RARG M-LOOK>
<TELL "This is the main office of the First Continent Bank, ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 83> ;"3 points"
<TELL "a Church holding and the only">)
(<EQUAL? ,SYEAR 2061>
<SCORE 84> ;"2 points"
<TELL "the only">)
(T
<TELL "the largest">)>
<TELL " bank in Rockvil">
<COND (<EQUAL? ,SYEAR 2061>
<TELL ", following last year's forced merger">)>
<TELL
". The front door is on the southeast wall, opposite the tellers.">)
(<EQUAL? .RARG ,M-END>
<SHOP-CLOSES 960 "bank" "A guard" ,AQUARIUM-AND-KENNEDY>)>>
<OBJECT BANK-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "bank")
(SYNONYM BANK)
(ADJECTIVE FIRST CONTINENT)
(ACTION BANK-OBJECT-F)>
<ROUTINE BANK-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,BANK>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NW>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,BANK>
<DO-WALK ,P?SE>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,BANK>
<V-LOOK>)
(T
<TELL
"It's the main branch of the First Continent Bank." CR>)>)>>
<ROOM DENTAL-SCHOOL
(LOC ROOMS)
(DESC "Dental School")
(NW TO AQUARIUM-AND-KENNEDY)
(OUT TO AQUARIUM-AND-KENNEDY)
(FLAGS ONBIT)
(GLOBAL SCHOOL-OBJECT)
(ACTION DENTAL-SCHOOL-F)>
<ROUTINE DENTAL-SCHOOL-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "The Mortimer ">
<PRINTD ,DENTAL-SCHOOL>
<TELL " is a fairly small">
<COND (<EQUAL? ,SYEAR 2041>
<TELL ", fairly new">)>
<TELL " school">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
", but has been gaining an excellent reputation for dental training">)
(<EQUAL? ,SYEAR 2071>
<TELL
" with a fine reputation, and has remained amazingly unchanged by the
turmoil of the last few decades">)>
<TELL ". The way out is to the northwest.">)>>
<ROOM PARK-ENTRANCE
(LOC ROOMS)
(SDESC "")
(NORTH TO AQUARIUM-AND-KENNEDY)
(NE SORRY "There's no entrance to the lot in that direction.")
(EAST TO SKYCAR-LOT-5)
(SE SORRY "There's no entrance to the lot in that direction.")
(SOUTH TO CENTRE-AND-KENNEDY)
(SW PER NO-ENTRANCE-TO-PARK-F)
(WEST PER HALLEY-PARK-EAST-ENTER-F)
(NW PER NO-ENTRANCE-TO-PARK-F)
(IN PER HALLEY-PARK-EAST-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT)
(GLOBAL PARK-OBJECT CARLOT GATE HALLEY-ESTATES-OBJECT PEOPLE)
(ACTION PARK-ENTRANCE-F)>
<ROUTINE PARK-ENTRANCE-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2071>
<PUTP ,PARK-ENTRANCE ,P?SDESC
"Entrance to Halley Estates">)
(T
<PUTP ,PARK-ENTRANCE ,P?SDESC "Park Entrance">)>)
(<EQUAL? .RARG ,M-LOOK>
<TELL "You are on Kennedy Street near an entrance to ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 61> ;"2 points"
<TELL
"the estates for the wealthy, built on what was formerly ">)>
<TELL
"Halley Park, to the west. On the east side of the street is a large">
<COND (<EQUAL? ,SYEAR 2071>
<TELL ", abandoned">)>
<TELL
" car lot. Kennedy continues to the north and south.">)>>
<OBJECT HALLEY-ESTATES-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Halley Estates")
(SYNONYM ESTATE ESTATES)
(ADJECTIVE HALLEY WEALTHY AFFLUENT)
(FLAGS NARTICLEBIT)
(ACTION HALLEY-ESTATES-OBJECT-F)>
<ROUTINE HALLEY-ESTATES-OBJECT-F ()
<COND (<AND <NOT <EQUAL? ,SYEAR 2071>>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,HALLEY-ESTATES-OBJECT>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,PARK-ENTRANCE>
<DO-WALK ,P?WEST>)
(<EQUAL? ,HERE ,HALLEY-AND-PARK>
<DO-WALK ,P?NW>)
(<EQUAL? ,HERE ,HALLEY-AND-UNIVERSITY>
<DO-WALK ,P?NORTH>)
(<GLOBAL-IN? ,HALLEY-ESTATES-OBJECT ,HERE>
<DO-WALK ,P?SOUTH>)>)
(<VERB? LEAVE DISEMBARK>
<TELL ,LOOK-AROUND CR>)
(<VERB? EXAMINE>
<TELL
"You can't see over the high brick wall that surrounds the estates." CR>)>>
<ROOM SKYCAR-LOT-5
(LOC ROOMS)
(DESC "Skycar Lot")
(NORTH TO FIRST-METHODIST-CHURCH)
(NE SORRY "There's a tall fence in the way.")
(EAST TO BODANSKI-SQUARE)
(SE SORRY "There's a tall fence in the way.")
(SOUTH SORRY "There's a tall fence in the way.")
(SW SORRY "There's a tall fence in the way.")
(WEST TO PARK-ENTRANCE)
(NW SORRY "There's a tall fence in the way.")
(FLAGS OUTSIDEBIT)
(GLOBAL FENCE VACANT-LOT CARLOT CHURCH-OBJECT)
(ACTION SKYCAR-LOT-5-F)>
<ROUTINE SKYCAR-LOT-5-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This parking lot is ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL
"unused, and weeds are beginning to poke through the asphalt. You can reach">)
(T
<TELL
"owned by the First Methodist Church, although it is frequently rented to
organizations using nearby Huang Hall. The parking lot has exits to">)>
<TELL " the street to the east and west. ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "A vacant lot is north of here.">)
(T
<TELL "You can enter the church to the north.">)>)>>
<ROOM FIRST-METHODIST-CHURCH
(LOC ROOMS)
(SDESC "")
(NE TO AQUARIUM-AND-RIVER)
(OUT TO AQUARIUM-AND-RIVER)
(SOUTH TO SKYCAR-LOT-5)
(FLAGS ONBIT)
(GLOBAL VACANT-LOT CARLOT CHURCH-OBJECT)
(ACTION FIRST-METHODIST-CHURCH-F)>
<ROUTINE FIRST-METHODIST-CHURCH-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,CHURCH-OFFICIAL ,LOCAL-GLOBALS>
<COND (<EQUAL? ,SYEAR 2071>
<PUTP ,FIRST-METHODIST-CHURCH ,P?SDESC "Vacant Lot">)
(T
<PUTP ,FIRST-METHODIST-CHURCH ,P?SDESC
"First Methodist Church">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 85> ;"3 points"
<TELL
"This is a vacant lot where a Protestant church once stood, until it was
torched a few years ago by a mob of serfs aroused by a Church revival. You can
reach an overgrown car lot to the south, or the street to the northeast.">)
(T
<COND (<EQUAL? ,SYEAR 2041>
<TELL "This is a new building which">)
(T
<TELL "This building">)>
<TELL
" exhibits both the best and worst features of twenty-first century
neoclassical architecture. The congregation must ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "have once been">)
(T
<TELL "be">)>
<TELL
" very large, judging by the size of the car lot to the south. The
main entrance to the church is at the northeast.">)>)
(<EQUAL? .RARG ,M-END>
<ELDER-MOVE>)>>
<ROUTINE ELDER-MOVE ()
<COND (<AND <EQUAL? ,SYEAR 2041 2051>
<G? ,STIME 480>
<L? ,STIME 1200>
<NOT <FSET? ,CHURCH-OFFICIAL ,TOUCHBIT>>
<NOT <IN? ,CHURCH-OFFICIAL ,HERE>>>
<MOVE ,CHURCH-OFFICIAL ,HERE>
<TELL CR
"You suddenly notice a church elder, pacing around at the other
end of the building." CR>)
(<AND <IN? ,CHURCH-OFFICIAL ,HERE>
<G? ,STIME 1200>>
<MOVE ,CHURCH-OFFICIAL ,LOCAL-GLOBALS>
<TELL CR "The church official wanders off." CR>)>>
<OBJECT CHURCH-OFFICIAL
(LOC LOCAL-GLOBALS)
(DESC "church elder")
(LDESC "A church elder is pacing back and forth nearby.")
(SYNONYM OFFICIAL ELDER)
(ADJECTIVE CHURCH)
(FLAGS ACTORBIT)
(GENERIC GENERIC-OFFICIAL-F)
(ACTION CHURCH-OFFICIAL-F)>
<ROUTINE CHURCH-OFFICIAL-F ()
<COND (<OR <VERB? TELL>
<EQUAL? ,CHURCH-OFFICIAL ,WINNER>>
<SETG PRSO ,CHURCH-OFFICIAL>
<FSET ,CHURCH-OFFICIAL ,TOUCHBIT>
<BRIEF-CHAT>
<COND (<EQUAL? ,SYEAR 2041>
<COND (,RECORDING
<PUT ,RECORDING-TABLE 12 1>)>
<TELL
"smiles and comments on how happy he is about the recent increase in
church attendance, which he attributes to an improving national moral
climate" ,OFFICIAL-LEAVES CR>)
(T
<SCORE 136> ;"2 points"
<TELL
"looks worried and complains about the growth of the Church of God's Word,
and a perceived erosion of religious tolerance. Suddenly he notices the time,
mumbles something about a wedding, and rushes off." CR>)>
<CLEAR-BUF>)
;(<AND <VERB? ASK-ABOUT>
<PRSO? ,CHURCH-OFFICIAL>>
<PERFORM ,V?TELL ,PRSO>
<RTRUE>)>>
<ROUTINE BRIEF-CHAT ()
<SETG ELAPSED-TIME 8>
<SETG FOLLOW-FLAG 9>
<QUEUE I-UNFOLLOW 10>
<MOVE ,PRSO ,LOCAL-GLOBALS>
<TELL "You have a brief chat with the ">
<PRINTD ,PRSO>
<TELL ", who ">>
<ROOM BODANSKI-SQUARE
(LOC ROOMS)
(DESC "Bodanski Square")
(NORTH TO AQUARIUM-AND-RIVER)
(NE PER SIMONS-ENTER-F)
(EAST TO MUSEUM-ENTRANCE)
(SE PER TRAIN-STATION-ENTER-F)
(SOUTH TO MIDLAND-AND-RIVER)
(SW TO CENTRE-AND-KENNEDY)
(WEST TO SKYCAR-LOT-5)
(NW SORRY "There's no entrance to the lot in that direction.")
(DOWN PER TUBES-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL TRAIN-STATION-OBJECT STAIRS SLOT RESTAURANT-OBJECT CARLOT PEOPLE
CHURCH-OBJECT TUBE-STATION)
(ACTION BODANSKI-SQUARE-F)>
<ROUTINE BODANSKI-SQUARE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is a large plaza formed by the intersection of Bodanski Boulevard from
the east, Centre Street from the southwest, and River Street from the north
and south. There is a">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "n abandoned">)>
<TELL
" car lot on the western side of the square. On the northeastern
corner is a restaurant, and the ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "old ">
<PRINTD ,TRAIN-STATION-OBJECT>)
(T
<TELL "Church of God's Word">)>
<TELL " can be entered to the southeast. A ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL
"sealed-off stairway indicates a former entrance to the Tubes.">)
(T
<TELL "covered stairway leads down to the Tubes.">)>)>>
<OBJECT LAMP-POST
(LOC BODANSKI-SQUARE)
(DESC "lamp post")
(SYNONYM POST)
(ADJECTIVE LAMP)
(FLAGS NDESCBIT)
(ACTION LAMP-POST-F)>
<ROUTINE LAMP-POST-F ()
<COND (<VERB? CLIMB-FOO CLIMB-UP>
<TELL "The lamp post is too smooth to climb." CR>)
(<AND <VERB? EXAMINE>
<EQUAL? ,SYEAR 2041 2051>>
<TELL "There's a ">
<PRINTD ,NEWSPAPER-DISPENSER>
<TELL " chained to it." CR>)>>
<OBJECT NEWSPAPER-DISPENSER
(LOC LOCAL-GLOBALS)
(DESC "newspaper dispenser")
(LDESC
"There is a newspaper dispenser chained to a lamp post on the corner.")
(SYNONYM DISPENSER BOX)
(ADJECTIVE NEWSPAPER)
(ACTION NEWSPAPER-DISPENSER-F)>
<ROUTINE NEWSPAPER-DISPENSER-F (RARG)
<COND (<VERB? EXAMINE>
<TELL
"The box dispenses copies of The Rockie Times, a regional weekly newspaper">
<COND (<EQUAL? ,SYEAR 2051>
<SCORE 86> ;"2 points"
<TELL
", and one of the last remaining newspapers in the country">)>
<TELL
". There is a slot on top of the dispenser where you can insert your ">
<PRINTD ,CREDIT-CARD>
<TELL "." CR>)
(<VERB? OPEN>
<TELL
"The dispenser is locked. The only way to get a paper out is by
putting your card in the slot." CR>)
(<AND <VERB? PUT>
<PRSO? ,CREDIT-CARD>>
<PERFORM ,V?PUT ,CREDIT-CARD ,SLOT>
<RTRUE>)>>
<OBJECT NEWSPAPER
(LOC LOCAL-GLOBALS)
(DESC "newspaper")
(SYNONYM NEWSPAPER PAPER TIMES ARTICLE STORY SECTION)
(ADJECTIVE NEWS ROCKIE HEADLINE NEWSPAPER)
(FLAGS READBIT TAKEBIT TRYTAKEBIT NDESCBIT)
(GENERIC GENERIC-NEWSPAPER-F)
(ACTION NEWSPAPER-F)>
<ROUTINE NEWSPAPER-F ()
<COND (<AND <VERB? READ TAKE>
<FSET? ,NEWSPAPER ,TRYTAKEBIT>>
<TELL "It's inside the dispenser!" CR>)
(<VERB? READ>
<COND (<EQUAL? ,SYEAR 2041>
<COND (,RECORDING
<PUT ,RECORDING-TABLE 6 1>)>
<SETG ELAPSED-TIME 10>
<TELL
"The headline story in the news section is about the Index of Leading
Economic Indicators, which are up a stunning 9.7% over last month, yet
another indication of the economy's robust performance. Related stories
discuss the unemployment rate, which is at the lowest level in almost
thirty years, and commercial and housing construction, which are at an
all-time high.|
|
Another major story covers President Ryder's speech for the Distinguished
Lecturer Series of the Border Security Force Academy. In his address, the
President called the '40s a \"decade of new hope,\" and attributed much of
that new hope to the work of the BSF, sending a signal to the entire world
that the USNA \"won't be pushed around by the biggest dictatorship or the
smallest band of terrorist murderers.\"|
|
On one of the inside pages, an in-depth report on crime reveals that,
although the overall crime rate has dropped only 4% over the last decade,
public perception is that crime has fallen much further. The report
attributes this perception to three points: Violent crime has decreased
much faster than other types of crime, and is down by 15% from ten years
ago. Crime in the schools, which has always gotten the most publicity,
has dropped by 40%. Most importantly, offenders are getting harsher
sentences, as opposed to the old days of getting off on technicalities,
low bail, and easy parole.|
|
Other stories in the news section deal with the construction of a new InfoTech
orbiting factory, deregulation of the medicinal drug industry, the war in
Turkey, and plans for a lunar mining operation. An editorial calls for
lowering draft board requirements in order to ease prison overcrowding." CR>)
(<EQUAL? ,SYEAR 2051>
<SETG ELAPSED-TIME 5>
<SCORE 87> ;"3 points"
<TELL
"The newspaper is extremely thin, and the news section is the thinnest section
of all. The lead story deals with the drop in USNA farm output, the first drop
in twenty years. A spokesman for the Department of Agriculture attributed the
decline to a year of unseasonable cold and low rainfall, and predicted that the
coming year would more than make up for it. An alternative viewpoint was
expressed by the head of the American Association of Agribusiness, who claimed
the drop was caused by overfarming of lands, depletion of aquifers, and an
increase in acid rain, and called for a massive government program to save the
country's farms.|
|
Other stories cover the Ryder administration's support for a strip-mining bill;
the announcement by Huang Laboratories that without subsidized shuttle flights
it would be forced to close GEO-7, the last remaining space factory; committee
hearings on euthanasia legislation; the decision by a Church of God's Word
priest in Arizona to run for a Senate seat; and a poll showing President Ryder
enjoying a 71% approval rating." CR>)
(T ;"epilogue"
<TELL
"The headline story is about a newly released study which indicates that the
average life expectancy for both sexes has now passed one hundred years, and
success in the development of regeneratives should send that figure even
higher. Despite the dropping mortality rate, global population remains stable
at just under two billion, with offworlding now running at a staggering
seven million people annually.|
|
To celebrate next month's special twentieth anniversary Disarmament Day, the
World Council has passed a bill authorizing fireworks displays in each of the
former capital cities of the twenty-two former nuclear powers. The fireworks
displays, by Aerialist designer Jean M'gomo, will feature disarmament themes,
and will be the largest display of pyrotechnic art in this century.|
|
A story on an inside page catches your eye: \"Perry Simm, Noted Author, To
Join Crew of Silver Dove,\" reads the headline. \"Perry Simm, author and poet,
recipient of the 2089 Mexicana Prize, has been selected from nearly a thousand
applicants to be the resident author aboard the Silver Dove, the space
colony that is currently being equipped for mankind's first interstellar
journey, a trip expected to last a dozen generations.\"" CR>)>)
(<VERB? BUY>
<COND (<AND <EQUAL? ,HERE ,BODANSKI-SQUARE>
<EQUAL? ,SYEAR 2041 2051>>
<COND (<FSET? ,NEWSPAPER ,TRYTAKEBIT>
<VENDING ,NEWSPAPER-DISPENSER ,NEWSPAPER 1>)
(T
<TELL
"A red empty light flashes for a second." CR>)>)
(<EQUAL? ,HERE ,DRUG-STORE>
<TELL "They seem to be sold out." CR>)
(T
<CANT-BUY ,NEWSPAPER>)>)
(<AND <VERB? PUT>
<PRSI? ,NEWSPAPER-DISPENSER>>
<TELL
"You can't put the paper back into the dispenser!" CR>)>>
<ROUTINE SIMONS-ENTER-F ()
<COND (<AND <OR <G? ,STIME 1200>
<L? ,STIME 420>>
<NOT <EQUAL? ,SYEAR 2041>>>
<OF-COURSE ,RESTAURANT-OBJECT>
<RFALSE>)
(T
,SIMONS)>>
<ROOM SIMONS
(LOC ROOMS)
(DESC "Simon's")
(LDESC
"This expensive four-star restaurant is a favorite after-theatre dining
spot. You can leave to the southwest.")
(SW TO BODANSKI-SQUARE)
(OUT TO BODANSKI-SQUARE)
(FLAGS NARTICLEBIT)
(GLOBAL RESTAURANT-OBJECT MENU PEOPLE)
(ACTION SIMONS-F)>
<ROUTINE SIMONS-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<SETG MEAL-STATUS 1>
<SETG MAITRE-COUNTER 0>
<SETG WAITER-COUNTER 0>
<MOVE ,SPEAR-CARRIER ,HERE>
<DISABLE <INT I-MEAL>>
<MOVE ,RESTAURANT-TABLE ,HERE>
<MOVE ,CHAIR ,HERE>
<COND (<IN? ,CREDIT-CARD ,SPEAR-CARRIER>
<MOVE ,CREDIT-CARD ,LOCAL-GLOBALS>)>
<PUTP ,SPEAR-CARRIER ,P?SDESC "maitre d'">)
(<EQUAL? .RARG ,M-END>
<COND (<RESTAURANT-CLOSES ,BODANSKI-SQUARE>
<RTRUE>)
(<PARTY-OF-ONE>
<RTRUE>)>)>>
<ROOM AQUARIUM-AND-RIVER
(LOC ROOMS)
(DESC "Aquarium & River")
(NORTH TO AIRPORTWAY-AND-RIVER)
(NE SORRY "There's no entrance to the theatre in that direction.")
(EAST TO PICKFORD-THEATRE)
(SE SORRY "There's no entrance to the theatre in that direction.")
(SOUTH TO BODANSKI-SQUARE)
(SW TO FIRST-METHODIST-CHURCH)
(WEST TO AQUARIUM-AND-KENNEDY)
(NW TO WELLS-THEATRE)
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL VACANT-LOT CHURCH-OBJECT PICKFORD-THEATRE-OBJECT PEOPLE
WELLS-THEATRE-OBJECT)
(ACTION AQUARIUM-AND-RIVER-F)>
<ROUTINE AQUARIUM-AND-RIVER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"Aquarium Drive from the west ends at this \"T\" intersection with
River Street. There's a modern theatre building to the northwest, and
an older one to the east. On the southwest corner is a">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "n empty lot.">)
(T
<TELL " church.">)>)>>
<OBJECT PICKFORD-THEATRE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Pickford Theatre")
(SYNONYM THEATRE THEATER)
(ADJECTIVE PICKFORD FINE OLD OLDER)
(ACTION PICKFORD-THEATRE-OBJECT-F)>
<ROUTINE PICKFORD-THEATRE-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,PICKFORD-THEATRE>
<TELL ,NO-TICKET CR>)
(<GLOBAL-IN? ,PICKFORD-THEATRE-OBJECT ,HERE>
<DO-WALK ,P?EAST>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,PICKFORD-THEATRE>
<DO-WALK ,P?WEST>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,PICKFORD-THEATRE>
<V-LOOK>)
(T
<TELL "The Pickford is a fine, old theatre." CR>)>)>>
<ROOM PICKFORD-THEATRE
(LOC ROOMS)
(DESC "Pickford Theatre")
(LDESC
"This building is the last survivor of the fine old theatres of Rockvil's
theatre district. The exit to River Street is to the west.")
(WEST TO AQUARIUM-AND-RIVER)
(OUT TO AQUARIUM-AND-RIVER)
(FLAGS ONBIT)
(GLOBAL PICKFORD-THEATRE-OBJECT PLAY)
(ACTION PICKFORD-THEATRE-F)>
<GLOBAL BEGGAR-FLAG <>>
<ROUTINE PICKFORD-THEATRE-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2061 2071>
<G? ,STIME 1160>
<L? ,STIME 1200>>
<TELL CR
"Skycar after skycar settles onto the sidewalk outside the theatre, and
extravagantly dressed couples walk elegantly into the theatre for the
evening's performance">
<COND (<AND <EQUAL? ,SYEAR 2071>
<PROB 50>
<NOT ,BEGGAR-FLAG>>
<SETG BEGGAR-FLAG T>
<SCORE 57> ;"4 points"
<TELL
". A beggar approaches one of the wealthy couples, but before he can even get
close to them, some theatre guards grab him, beat him viciously, and hurl him
bleeding and dazed into the gutter outside the theatre">)>
<TELL "." CR>)>>
<ROOM AIRPORTWAY-AND-RIVER
(LOC ROOMS)
(DESC "Airportway & River")
(NORTH TO RIVER-AND-KENNEDY)
(NE SORRY "There's no way to enter the base from here.")
(EAST TO SYMPHONY-ENTRANCE)
(SE TO COLONIAL-HOTEL)
(SOUTH TO AQUARIUM-AND-RIVER)
(SW TO WELLS-THEATRE)
(WEST PER ROCKVIL-HIGH-ENTER-F)
(NW SORRY "There's no entrance to the school in that direction.")
(FLAGS STREETBIT OUTSIDEBIT NARTICLEBIT)
(GLOBAL BSF-BASE FENCE WATER RESERVOIR HOTEL-OBJECT SCHOOL-OBJECT PEOPLE
WELLS-THEATRE-OBJECT)
(SCENE 34)
(ACTION AIRPORTWAY-AND-RIVER-F)>
<ROUTINE AIRPORTWAY-AND-RIVER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The road east to the airport begins here. River Street continues north
toward the reservoir, curving around to run along its southern shore. A ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "Church">)
(<EQUAL? ,SYEAR 2061>
<TELL "Church of God's Word">)
(T
<TELL "high">)>
<TELL
" school, a theatre, and a hotel can be entered to the west, southwest,
and southeast, respectively. To the northeast is the perimeter fence of
the Manville Border Security Force Base.">)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2061>
<EQUAL? ,LIGHT-LEVEL 3>
<L? <GETP ,AIRPORTWAY-AND-RIVER ,P?SCENE> 101>>
<COND (<PROB <GETP ,AIRPORTWAY-AND-RIVER ,P?SCENE>>
<PUTP ,AIRPORTWAY-AND-RIVER ,P?SCENE 101>
<SCORE 88> ;"3 points"
<TELL CR
"A huge private skycar glides to a stop at the curb, nearly crushing
an old woman. Several bodyguards leap out, and begin pushing the crowds
back. A heavyset woman wearing thick furs steps out of the car, which
rises and disappears from view. The woman, surrounded by her contingent
of bodyguards, enters the hotel." CR>)
(T
<PUTP ,AIRPORTWAY-AND-RIVER ,P?SCENE
<+ <GETP ,AIRPORTWAY-AND-RIVER ,P?SCENE> 33>>
<RFALSE>)>)>>
<OBJECT WELLS-THEATRE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Wells Theatre")
(SYNONYM THEATRE THEATER)
(ADJECTIVE WELLS MODERN WELL-MAINTAINED)
(ACTION WELLS-THEATRE-OBJECT-F)>
<ROUTINE WELLS-THEATRE-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,AIRPORTWAY-AND-RIVER>
<DO-WALK ,P?SW>)
(<EQUAL? ,HERE ,AQUARIUM-AND-RIVER>
<DO-WALK ,P?NW>)
(<GLOBAL-IN? ,WELLS-THEATRE-OBJECT ,HERE>
<TELL ,NO-TICKET CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,WELLS-THEATRE>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,WELLS-THEATRE>
<V-LOOK>)
(T
<TELL "The Wells is a modern-looking theatre." CR>)>)>>
<ROOM WELLS-THEATRE
(LOC ROOMS)
(DESC "Wells Theatre")
(NE TO AIRPORTWAY-AND-RIVER)
(SE TO AQUARIUM-AND-RIVER)
(FLAGS ONBIT)
(GLOBAL WELLS-THEATRE-OBJECT PLAY)
(ACTION WELLS-THEATRE-F)>
<ROUTINE WELLS-THEATRE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is the lobby of a ">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL "modern">)
(T
<TELL "well-maintained">)>
<TELL " theatre, built on the site of the original ">
<PRINTD ,WELLS-THEATRE>
<TELL
", which dates to the middle of the last century. According to a showcase,
the current season includes productions of ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"Shakespeare's \"Hamlet,\" Williams' \"A Streetcar Named Desire,\" Furrough's
\"Plastic Summer,\" and the classic musical \"Hair.\"">)
(<EQUAL? ,SYEAR 2051>
<TELL
"Wilder's \"Our Town,\" Shakespeare's \"A Midsummer Night's Dream,\" Rodgers
and Hammerstein's \"Oklahoma\", and Grzenda and Rice's \"Prairie Song.\"">)
(<EQUAL? ,SYEAR 2061>
<TELL
"Hilbert's \"Faith of our Fathers,\" Kim's \"Furs, Trees, and Beef,\" and
Shaw's \"Man and Superman.\"">)
(T
<SCORE 89> ;"2 points"
<TELL "several recent ecumenical plays.">)>
<TELL
" The theatre has exits to the northeast and southeast.">)>>
<ROOM MUSEUM-ENTRANCE
(LOC ROOMS)
(DESC "Museum Entrance")
(NORTH TO SKYCAR-LOT-6)
(NE SORRY "There's no entrance to the lot in that direction.")
(EAST PER RIVERSIDE-PARK-ENTER-F)
(SE SORRY "There's no entrance to the museum in that direction.")
(SOUTH PER RAILROAD-MUSEUM-ENTER-F)
(SW SORRY "There's no entrance to the museum in that direction.")
(WEST TO BODANSKI-SQUARE)
(NW PER CINEMA-ENTER-F)
(IN PER RAILROAD-MUSEUM-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT)
(GLOBAL GLOBAL-SIGN MUSEUM-OBJECT MOVIE-THEATRE-OBJECT PEOPLE
PARK-OBJECT CARLOT)
(SCENE 100)
(ACTION MUSEUM-ENTRANCE-F)>
<ROUTINE MUSEUM-ENTRANCE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"Standing on the south side of Bodanski Boulevard is the ">
<COND (<EQUAL? ,SYEAR 2061 2071>
<SCORE 90> ;"1 point"
<TELL "boarded-up ">)>
<PRINTD ,RAILROAD-MUSEUM>
<TELL
". The street runs east toward the park and west toward the square. North of
here is a car lot and to the northwest is a huge cinema complex.">)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2061>
<EQUAL? ,LIGHT-LEVEL 3>
<EQUAL? <GETP ,MUSEUM-ENTRANCE ,P?SCENE> 100>>
<PUTP ,MUSEUM-ENTRANCE ,P?SCENE 101>
<SCORE 91> ;"5 points"
<TELL CR
"Two policemen across the street are savagely beating a dark-skinned youth.
A hot dog peddler catches their attention, and as they begin buying some
food the youth slinks away." CR>)>>
<ROOM SKYCAR-LOT-6
(LOC ROOMS)
(DESC "Skycar Lot")
(NORTH PER SYMPHONY-HALL-ENTER-F)
(NE SORRY "There's a tall fence in the way.")
(EAST PER RIVERSIDE-PARK-ENTER-F)
(SE SORRY "There's a tall fence in the way.")
(SOUTH TO MUSEUM-ENTRANCE)
(SW SORRY "There's a tall fence in the way.")
(WEST PER CINEMA-ENTER-F)
(NW SORRY "There's a tall fence in the way.")
(FLAGS OUTSIDEBIT)
(GLOBAL GLOBAL-SIGN FENCE MOVIE-THEATRE-OBJECT PARK-OBJECT CARLOT
SYMPHONY-HALL-OBJECT UNOPENABLE-DOOR)
(ACTION SKYCAR-LOT-6-F)>
<ROUTINE SKYCAR-LOT-6-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is a large lot ">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
"for the cinema to the west, the park to the east, the symphony to
the north, and the museum across the street to the south.">)
(<EQUAL? ,SYEAR 2061>
<TELL
"for the park to the east, the symphony to the north, and
the cinema to the west.">)
(T
<TELL
"for the park to the east and the cinema to the west, although the sort
of people who would attend that sort of cinema are hardly the sort of
people who could afford to own skycars.">)>)>>
<ROUTINE RAILROAD-MUSEUM-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2041 2051>
<COND (<AND <G? ,STIME 615>
<L? ,STIME 1185>>
,RAILROAD-MUSEUM)
(T
<CLOSED-PRINT "The museum">
<RFALSE>)>)
(T
<SCORE 90> ;"1 point"
<TELL ,BOARDED-OVER>
<COND (<EQUAL? ,SYEAR 2061>
<TELL " A yellowed sign under the boards reads ">
<PERFORM ,V?READ ,GLOBAL-SIGN>)
(T
<CRLF>)>
<RFALSE>)>>
<ROOM RAILROAD-MUSEUM
(LOC ROOMS)
(DESC "Railroad Museum")
(NORTH TO MUSEUM-ENTRANCE)
(OUT TO MUSEUM-ENTRANCE)
(EAST PER RIVERSIDE-PARK-ENTER-F)
(FLAGS ONBIT)
(GLOBAL GLOBAL-WINDOW MUSEUM-OBJECT RAILROAD-YARD EXHIBITS PARK-OBJECT
PEOPLE)
(ACTION RAILROAD-MUSEUM-F)>
<ROUTINE RAILROAD-MUSEUM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This museum is devoted to ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"the old North Central Railroad Station around the corner,
and more generally to ">)>
<TELL
"the entire history of rail travel. Through huge glass windows on the southern
wall of the entrance lobby you can see the old ">
<PRINTD ,RAILROAD-YARD>
<TELL
"s behind the station. The street is to the north and
another exit leads east.">)
(<EQUAL? .RARG ,M-END>
<CLOSING-TIME 1185 "the museum" "a guard" ,MUSEUM-ENTRANCE>)>>
<OBJECT RAILROAD-YARD
(LOC LOCAL-GLOBALS)
(DESC "railroad yard")
(SYNONYM YARD YARDS)
(ADJECTIVE OLD ABANDONED RAILROAD)
(ACTION RAILROAD-YARD-F)>
<ROUTINE RAILROAD-YARD-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,MIDLAND-AND-CHURCH>
<DO-WALK ,P?NORTH>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SOUTH>)>)
(<VERB? DISEMBARK LEAVE>
<TELL ,LOOK-AROUND CR>)>>
<ROUTINE RIVERSIDE-PARK-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 92> ;"2 points"
<TELL
"As you enter the park, a guard stops you, staring with barely concealed
repugnance. \"Admission to the park is restricted,\" he says, twisting your
arm as he pushes you out of the park." CR>
<RFALSE>)
(T
,RIVERSIDE-PARK)>>
<ROOM RIVERSIDE-PARK
(LOC ROOMS)
(DESC "Riverside Park")
(LDESC
"This is the city's most popular park. From the hilltop is a beautiful
view of the river as it bends off to the east. Paths to various exits
lead north, northwest, west, and southwest.")
(NORTH PER SYMPHONY-HALL-ENTER-F)
(NE PER RIVER-ENTER-F)
(EAST PER RIVER-ENTER-F)
(SE PER RIVER-ENTER-F)
(SOUTH SORRY
"A fence separates the park from the railroad yard to the south.")
(SW PER RAILROAD-MUSEUM-ENTER-F)
(WEST TO MUSEUM-ENTRANCE)
(NW TO SKYCAR-LOT-6)
(FLAGS OUTSIDEBIT PARKBIT NARTICLEBIT)
(GLOBAL RAILROAD-YARD FENCE RIVER RIVER-BANK WATER PARK-OBJECT CARLOT
GLOBAL-SIGN MUSEUM-OBJECT SYMPHONY-HALL-OBJECT PEOPLE)>
<ROUTINE CINEMA-ENTER-F ()
<COND (<AND <OR <G? ,STIME 1200>
<L? ,STIME 420>>
<NOT <EQUAL? ,SYEAR 2041>>>
<OF-COURSE ,MOVIE-THEATRE-OBJECT>
<RFALSE>)
(T
,CINEMA)>>
<ROOM CINEMA
(LOC ROOMS)
(DESC "Cinema")
(NORTH TO SKYCAR-LOT-7)
(EAST TO SKYCAR-LOT-6)
(SE TO MUSEUM-ENTRANCE)
(IN PER THEATRE-ENTER-F)
(FLAGS ONBIT)
(GLOBAL SLOT MOVIE-THEATRE-OBJECT CARLOT HALLWAY PEOPLE)
(ACTION CINEMA-F)>
<ROUTINE CINEMA-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-ENTER>
<FSET? ,TICKET ,NDESCBIT>>
<MOVE ,TICKET ,HERE>)
(<EQUAL? .RARG ,M-LOOK>
<TELL "The Downtown Cinema Quad is a ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "modern, ">)
(<EQUAL? ,SYEAR 2061 2071>
<TELL "seedy, ">)>
<TELL "four-theatre movie complex">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
" with all the latest holographic and personalized stereo technology">)
(<EQUAL? ,SYEAR 2071>
<SCORE 128> ;"1 point"
<TELL
". The carpeting is dirty and torn, and the air is rank with a
mixture of putrid odors">)>
<TELL
". A marquee above the ticket \"window\" announces the current features. A
hallway leads in to the theatres, and there are exits north and east to car
lots, and southeast to the street.">)
(<EQUAL? .RARG ,M-END>
<CURFEW-CLOSE ,MUSEUM-ENTRANCE>)>>
<ROUTINE THEATRE-ENTER-F ()
<COND (<HELD? ,TICKET>
<MOVE ,TICKET ,CINEMA>
<FSET ,TICKET ,TRYTAKEBIT>
<FSET ,TICKET ,NDESCBIT>
<FCLEAR ,TICKET ,TOUCHBIT>
<SETG ELAPSED-TIME 15>
<COND (,RECORDING
<PUT ,RECORDING-TABLE 14 1>)>
<TELL
"The usher takes your ticket and you step into the darkened theatre and find
an empty seat.|
|
Movie Theatre|
You begin watching ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"\"Upbeat Patrol II,\" which is funny and fast-moving like the prequel,
but seems to lack some of the originality and freshness. The soundtrack,
locations, and special effects are all top notch. A">)
(<EQUAL? ,SYEAR 2051>
<SCORE 93> ;"1 point"
<TELL
"\"Manure Marauders,\" but it's so insipid that a">)
(<EQUAL? ,SYEAR 2061>
<SCORE 94> ;"2 points"
<TELL
"\"More of Anything,\" and you quickly find yourself being aroused by
the skillfully filmed and edited sex scenes. Then, during a slow moment,
you begin to feel ashamed and guilty, and a">)
(T
<SCORE 95> ;"3 points"
<TELL
"an untitled hatefilm, preceded by a five minute Church propaganda short.
Most of the audience is much younger; many are still in their teens. When
they begin chanting in rhythm with the mobs on the screen, you begin to
feel very uncomfortable. A">)>
<TELL
"fter about fifteen minutes, you decide you've seen enough, and head out to
the lobby." CR>)
(T
<TELL ,NO-TICKET CR>)>
<RFALSE>>
<OBJECT MOVIE-THEATRE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "movie theatre")
(SYNONYM THEATER THEATRE CINEMA COMPLEX)
(ADJECTIVE MOVIE DOWNTOWN QUAD HUGE FOUR-THEATRE)
(ACTION MOVIE-THEATRE-OBJECT-F)>
<ROUTINE MOVIE-THEATRE-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,MUSEUM-ENTRANCE>
<DO-WALK ,P?NW>)
(<EQUAL? ,HERE ,CINEMA>
<DO-WALK ,P?IN>)
(<EQUAL? ,HERE ,SKYCAR-LOT-7>
<DO-WALK ,P?SOUTH>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?WEST>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,CINEMA>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,CINEMA>
<V-LOOK>)
(T
<TELL "The ">
<PRINTD ,MOVIE-THEATRE-OBJECT>
<TELL " is a large four-plex." CR>)>)
(<AND <VERB? SMELL>
<EQUAL? ,HERE ,CINEMA>
<EQUAL? ,SYEAR 2071>>
<TELL "An unidentifiable, putrid odor hangs in the air." CR>)>>
<OBJECT MOVIE
(LOC GLOBAL-OBJECTS)
(DESC "movie")
(SYNONYM MOVIE FILM)
(ACTION MOVIE-F)>
<ROUTINE MOVIE-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<GLOBAL-IN? ,MOVIE-THEATRE-OBJECT ,HERE>
<PERFORM ,V?WALK-TO ,MOVIE-THEATRE-OBJECT>
<RTRUE>)
(T
<V-WALK-AROUND>)>)
(<VERB? EXAMINE>
<COND (<GLOBAL-IN? ,MOVIE-THEATRE-OBJECT ,HERE>
<PERFORM ,V?WALK-TO ,MOVIE-THEATRE-OBJECT>
<RTRUE>)
(T
<TELL "You can't watch a movie here!" CR>)>)>>
<OBJECT MARQUEE
(LOC CINEMA)
(DESC "marquee")
(SYNONYM MARQUEE)
(FLAGS NDESCBIT READBIT)
(ACTION MARQUEE-F)>
<ROUTINE MARQUEE-F ()
<COND (<VERB? READ>
<TELL
"According to the marquee, the current features of the Cinema are ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"an action-romance entitled \"Let's Get Going,\" a comedy called
\"Paulette,\" the sequel to last year's Best Picture, \"Upbeat Patrol II,\"
and \"Freefall,\" a Korean film. " CR>)
(<EQUAL? ,SYEAR 2051>
<SCORE 93> ;"1 point"
<TELL
"\"Manure Marauders,\" a long-running comedy, a horror-thriller called
\"Not Until I Scream,\" and the sixth and seventh films in the popular
Foreign Raiders series." CR>)
(<EQUAL? ,SYEAR 2061>
<SCORE 94> ;"2 points"
<TELL
"a slasher-comedy named \"Gutsplosion,\" a lustfilm called \"More of
Anything,\" \"Gringo Wars,\" a cheap action film, and \"Let's Kill Some
Slants,\" a hatefilm being billed as a \"rousing killer comedy frolic.\"" CR>)
(T
<SCORE 95> ;"3 points"
<TELL
"two hatefilms, a lustfilm called \"Wild and Woolly,\" and a Church
propaganda piece called \"Triumph of Man.\"" CR>)>)>>
<OBJECT TICKET-SELLER
(LOC CINEMA)
(DESC "ticket seller")
(SYNONYM SELLER DISPENSER WINDOW WINDOWS)
(ADJECTIVE TICKET)
(FLAGS NDESCBIT)
(ACTION TICKET-SELLER-F)>
<ROUTINE TICKET-SELLER-F ()
<COND (<VERB? EXAMINE>
<TELL "The ">
<PRINTD ,TICKET-SELLER>
<TELL
" is often called a ticket window, an anachronistic term from the last century
when tickets were sold by humans sitting in glass booths. This typical ">
<PRINTD ,TICKET-SELLER>
<TELL " has a slot for your ">
<PRINTD ,CREDIT-CARD>
<TELL "." CR>)>>
<OBJECT TICKET
(LOC LOCAL-GLOBALS)
(DESC "ticket")
(SYNONYM TICKET PASS)
(ADJECTIVE BOARDING)
(SIZE 1)
(FLAGS TAKEBIT TRYTAKEBIT NDESCBIT)
(ACTION TICKET-F)>
<ROUTINE TICKET-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,CINEMA>
<COND (<FSET? ,TICKET ,NDESCBIT>
<VENDING ,TICKET-SELLER ,TICKET 15>)
(T
<TELL "You already did." CR>)>)
(<AND <EQUAL? ,HERE ,TRAIN-STATION>
<EQUAL? ,SYEAR 2041>>
<TELL
"You discover that all the rides are sold out for the rest of the day." CR>)
(<EQUAL? ,HERE ,WELLS-THEATRE ,PICKFORD-THEATRE>
<TELL
"You discover that the current season is already sold out." CR>)
(<EQUAL? ,HERE ,SKYBUS-TERMINAL ,TERMINAL>
<TELL "You have no reason to leave the city!" CR>)
(T
<CANT-BUY ,TICKET>)>)
(<AND <VERB? TAKE>
<FSET? ,TICKET ,TRYTAKEBIT>>
<PERFORM ,V?BUY ,TICKET>
<RTRUE>)
(<VERB? READ EXAMINE>
<TELL "**Admit One**">
<PRINT-SPACES 18>
<TELL "No." N <+ <RANDOM 899> 100> N <+ <RANDOM 8999> 1000> CR>
<PRINT-SPACES 10>
<TELL "Downtown Cinema Quad" CR>
<PRINT-SPACES 10>
<COND (<EQUAL? ,SYEAR 2041>
<TELL " \"Upbeat Patrol II\"">)
(<EQUAL? ,SYEAR 2051>
<TELL " \"Manure Marauders\"">)
(<EQUAL? ,SYEAR 2061>
<TELL " \"More of Anything\"">)
(T
<TELL "hatefilm number 8722">)>
<TELL CR
"Not refundable or exchangable. Management|
reserves the right to refuse admission by|
refunding the price of this ticket." CR>)>>
<ROOM COLONIAL-HOTEL
(LOC ROOMS)
(DESC "Colonial Hotel")
(LDESC
"This old hotel features many of the architectural luxuries rarely seen
nowadays, most notably the huge, multistory atrium. There are exits leading
northwest and east.")
(NW TO AIRPORTWAY-AND-RIVER)
(EAST TO SKYCAR-LOT-7)
(FLAGS ONBIT)
(GLOBAL CARLOT HOTEL-OBJECT)>
<OBJECT ATRIUM
(LOC COLONIAL-HOTEL)
(DESC "atrium")
(SYNONYM ATRIUM)
(ADJECTIVE TREMENDOU HUGE MULTI STORY MULTI-STORY)
(FLAGS VOWELBIT NDESCBIT)
(ACTION ATRIUM-F)>
<ROUTINE ATRIUM-F ()
<COND (<VERB? EXAMINE>
<TELL
"The atrium is tremendous, rising through the center of the hotel,
ending at roof level with a wide skylight." CR>)>>
<OBJECT SKYLIGHT
(LOC COLONIAL-HOTEL)
(DESC "skylight")
(SYNONYM SKYLIGHT)
(ADJECTIVE WIDE)
(FLAGS NDESCBIT TRANSBIT)
(ACTION SKYLIGHT-F)>
<ROUTINE SKYLIGHT-F ()
<COND (<VERB? LOOK-INSIDE>
<COND (<EQUAL? ,LIGHT-LEVEL 0>
<TELL
"Because it is dark outside, the lights in the atrium prevent you from
seeing through the skylight." CR>)
(T
<TELL "You see the sky." CR>)>)>>
<ROOM SKYCAR-LOT-7
(LOC ROOMS)
(DESC "Skycar Lot")
(LDESC
"You are in a parking lot with entrances to buildings to the east, west and
south. The exit to the street is northeast.")
(NORTH SORRY "There's a tall fence in the way.")
(NE TO SYMPHONY-ENTRANCE)
(EAST PER SYMPHONY-HALL-ENTER-F)
(SE SORRY "There's a tall fence in the way.")
(SOUTH PER CINEMA-ENTER-F)
(SW SORRY "There's a tall fence in the way.")
(WEST TO COLONIAL-HOTEL)
(NW SORRY "There's a tall fence in the way.")
(FLAGS OUTSIDEBIT)
(GLOBAL GLOBAL-SIGN FENCE MOVIE-THEATRE-OBJECT CARLOT HOTEL-OBJECT
SYMPHONY-HALL-OBJECT UNOPENABLE-DOOR)>
<OBJECT SYMPHONY-HALL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Symphony Hall")
(SYNONYM HALL SYMPHONY)
(ADJECTIVE SYMPHONY ORNATE)
(ACTION SYMPHONY-HALL-F)>
<ROUTINE SYMPHONY-HALL-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,SYMPHONY-HALL>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,SYMPHONY-ENTRANCE>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,HERE ,SKYCAR-LOT-7>
<DO-WALK ,P?EAST>)
(<GLOBAL-IN? ,SYMPHONY-HALL-OBJECT ,HERE>
<DO-WALK ,P?NORTH>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,SYMPHONY-HALL>
<DO-WALK ,P?NORTH>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,SYMPHONY-HALL>
<V-LOOK>)
(T
<PRINTD ,SYMPHONY-HALL>
<TELL " is an ornate building">
<COND (<EQUAL? ,SYEAR 2071>
<TELL ", closed for several years">)>
<TELL "." CR>)>)>>
<ROOM SYMPHONY-HALL
(LOC ROOMS)
(DESC "Symphony Hall")
(LDESC
"This is the home of the Rockvil Symphony Orchestra. An exterior balcony
offers a fine view of the river to the east. There are exits to the southeast,
south, west, and north.")
(NORTH TO SYMPHONY-ENTRANCE)
(SE PER RIVERSIDE-PARK-ENTER-F)
(SOUTH TO SKYCAR-LOT-6)
(WEST TO SKYCAR-LOT-7)
(FLAGS NARTICLEBIT)
(GLOBAL WATER RIVER RIVER-BANK PARK-OBJECT CARLOT SYMPHONY-HALL-OBJECT)>
<ROUTINE SYMPHONY-HALL-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 96> ;"2 points"
<COND (<EQUAL? ,HERE ,RIVERSIDE-PARK>
<PRINTD ,SYMPHONY-HALL>
<TELL " has been closed for several years now." CR>)
(T
<TELL
"A faded sign on the boarded up doors reads " ,SYMPHONY-CLOSED CR>)>
<RFALSE>)
(T
,SYMPHONY-HALL)>>
<ROOM SYMPHONY-ENTRANCE
(LOC ROOMS)
(DESC "Symphony Entrance")
(LDESC
"Airportway curves northeast along the river toward the airport, and a road
leads north into the military base. On the south side of the street is
Symphony Hall, and next to it is a car lot.")
(NORTH TO BASE-GATE)
(NE TO AIRPORT-ENTRANCE)
(EAST PER RIVER-ENTER-F)
(SE SORRY "There's no entrance into Symphony Hall in that direction.")
(SOUTH PER SYMPHONY-HALL-ENTER-F)
(SW TO SKYCAR-LOT-7)
(WEST TO AIRPORTWAY-AND-RIVER)
(NW SORRY "There's no entrance to the base in that direction.")
(IN PER SYMPHONY-HALL-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT)
(GLOBAL BSF-BASE GLOBAL-SIGN WATER RIVER CARLOT SYMPHONY-HALL-OBJECT
RIVER-BANK UNOPENABLE-DOOR PEOPLE)>
<ROOM BASE-GATE
(LOC ROOMS)
(DESC "Base Gate")
(LDESC
"This is the entrance gate to the Manville Border Security Force Base. The
base road continues northwest into the base and southeast away from it.")
(NORTH SORRY "The road is surrounded on all sides by a high fence.")
(NE SORRY "The road is surrounded on all sides by a high fence.")
(EAST SORRY "The road is surrounded on all sides by a high fence.")
(SE TO SYMPHONY-ENTRANCE)
(SOUTH SORRY "The road is surrounded on all sides by a high fence.")
(SW SORRY "The road is surrounded on all sides by a high fence.")
(WEST SORRY "The road is surrounded on all sides by a high fence.")
(NW PER BASE-GATE-ENTER-F)
(FLAGS OUTSIDEBIT STREETBIT)
(GLOBAL BSF-BASE FENCE GATE GUN)
(ACTION BASE-GATE-F)>
<ROUTINE BASE-GATE-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "guard">)>>
<ROUTINE BASE-GATE-ENTER-F ()
<TELL "The gate is closed. A guard">
<COND (<EQUAL? ,SYEAR 2041>
<TELL " politely">)
(<EQUAL? ,SYEAR 2051>
<TELL " brusquely">)
(<EQUAL? ,SYEAR 2061>
<SCORE 97> ;"1 point"
<TELL " threateningly">)
(T
<SCORE 98> ;"2 points"
<TELL
", jabbing you painfully with the point of his weapon,">)>
<TELL
" informs you that nonmilitary personnel are not
allowed beyond this point." CR>
<RFALSE>>
<OBJECT BSF-BASE
(LOC LOCAL-GLOBALS)
(DESC "BSF base")
(SYNONYM BASE MONUMENT)
(ADJECTIVE MANVILLE BORDER SECURITY FORCE BSF MILITARY SOBERING)
(GENERIC GENERIC-GUARD-F) ;"confusion with BSF GUARD"
(ACTION BSF-BASE-F)>
<ROUTINE BSF-BASE-F ()
<COND (<EQUAL? ,HERE ,SKYCAB>
<COND (<VERB? EXAMINE>
<TELL "The base has been turned into a museum." CR>)
(T
<MILE-AWAY ,BSF-BASE>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,BASE-GATE>
<DO-WALK ,P?SE>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,BASE-GATE>
<DO-WALK ,P?NW>)
(<EQUAL? ,HERE ,SYMPHONY-ENTRANCE>
<DO-WALK ,P?NORTH>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NE>)>)
(<VERB? EXAMINE>
<TELL
"You can't see much through the perimeter fence." CR>)>>
<ROOM AIRPORT-ENTRANCE
(LOC ROOMS)
(DESC "Airport Entrance")
(LDESC
"Airportway ends here in a huge loop past the terminal buildings of Rockvil
International Airport. The main terminal building can be entered to the
north, and the road leads southwest back toward the city.")
(NORTH TO TERMINAL)
(NE SORRY "There's no entrance to the terminal in that direction.")
(EAST SORRY "There's no entrance to the terminal in that direction.")
(SE SORRY "There's no entrance to the terminal in that direction.")
(SOUTH SORRY "There's no entrance to the terminal in that direction.")
(SW TO SYMPHONY-ENTRANCE)
(WEST SORRY "There's no entrance to the terminal in that direction.")
(NW SORRY "There's no entrance to the terminal in that direction.")
(IN TO TERMINAL)
(FLAGS STREETBIT OUTSIDEBIT)
(GLOBAL AIRPORT-TERMINAL-OBJECT PEOPLE)>
<ROOM TERMINAL
(LOC ROOMS)
(DESC "Terminal")
(NORTH PER SPACEPORT-ENTER-F)
(EAST SORRY "You can't get into the gate area without a boarding pass.")
(SOUTH TO AIRPORT-ENTRANCE)
(DOWN PER TUBES-ENTER-F)
(FLAGS ONBIT)
(SCENE 34)
(GLOBAL STAIRS AIRPORT-TERMINAL-OBJECT GUN TUBE-STATION PEOPLE)
(ACTION TERMINAL-F)>
<ROUTINE TERMINAL-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The main terminal building has an exit to Airportway on the south. The ">
<PRINTD ,AIRPORT-GATE>
<TELL "s are east of here, ">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL "and the ">
<PRINTD ,SPACEPORT-GATE>
<TELL "s lie to the north">)
(T
<SCORE 99> ;"3 point"
<TELL
"and to the north are the shuttered gates of the once thriving spaceport">)>
<TELL ". There is a large red sign over the gates, and ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "a couple of BSF guards stand beneath it">)
(T
<TELL "BSF guards are everywhere">)>
<COND (<EQUAL? ,SYEAR 2071>
<TELL
". Plastiboards seal off a stairway leading down.">)
(T
<TELL ". Stairs lead down to a ">
<PRINTD ,TUBE-STATION>
<TELL ".">)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2071>
<L? <GETP ,TERMINAL ,P?SCENE> 101>>
<COND (<PROB <GETP ,TERMINAL ,P?SCENE>>
<PUTP ,TERMINAL ,P?SCENE 101>
<SCORE 100> ;"5 points"
<TELL CR
"Nearby, a man with an Asian complexion is walking past a pair of BSF guards,
and one of their Belt Rad-Detectors clicks. In the wink of an eye, four guns
are pointed at the man, who looks terrified and begins to run. As the guns
explode, people all around are screaming and throwing themselves on the ground;
the Asian's mutilated body lies sprawled in the middle of the terminal. |
|
A guard cautiously approaches the dead man with a Rad-Detector. He scans
the body until he finds the source of the signal. \"Just a nuke-powered
wristwatch,\" he laughs, waving the other guards over. \"Can you imagine
the gook being dumb enough to wear one of them near a border point?\" They
shake their heads in disbelief as they drag the body away." CR>)
(T
<PUTP ,TERMINAL ,P?SCENE
<+ <GETP ,TERMINAL ,P?SCENE> 33>>
<RFALSE>)>)>>
<ROUTINE SPACEPORT-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
"You can't get into the gate area without a boarding pass." CR>)
(T
<TELL "The ">
<PRINTD ,SPACEPORT-GATE>
<TELL "s are closed and boarded over." CR>)>
<RFALSE>>
<OBJECT SPACEPORT
(LOC TERMINAL)
(DESC "spaceport")
(SYNONYM SPACEPORT)
(ADJECTIVE ONCE THRIVING ONCE-THRIVING)
(FLAGS NDESCBIT)
(ACTION SPACEPORT-F)>
<ROUTINE SPACEPORT-F ()
<COND (<AND <VERB? WALK-TO THROUGH>
<EQUAL? ,HERE ,TERMINAL>>
<DO-WALK ,P?NORTH>)>>
<OBJECT AIRPORT-GATE
(LOC TERMINAL)
(DESC "airport gate")
(SYNONYM GATE GATES)
(ADJECTIVE AIRPORT)
(FLAGS NDESCBIT VOWELBIT)
(ACTION AIRPORT-GATE-F)>
<ROUTINE AIRPORT-GATE-F ()
<COND (<VERB? OPEN>
<TELL "The gates are open!" CR>)
(<VERB? CLOSE>
<TELL "You can't and wouldn't be allowed to if you could." CR>)
(<VERB? THROUGH>
<DO-WALK ,P?EAST>)
(<VERB? EXAMINE>
<TELL "The gates are patrolled by BSF guards." CR>)>>
<OBJECT SPACEPORT-GATE
(LOC TERMINAL)
(DESC "spaceport gate")
(SYNONYM GATE GATES)
(ADJECTIVE SPACEPORT)
(FLAGS NDESCBIT)
(ACTION SPACEPORT-GATE-F)>
<ROUTINE SPACEPORT-GATE-F ()
<COND (<VERB? OPEN>
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL "The gates are open!" CR>)
(T
<TELL
"You'd need a full-scale construction crew to re-open these gates!" CR>)>)
(<VERB? CLOSE>
<COND (<EQUAL? ,SYEAR 2041 2051>
<PERFORM ,V?CLOSE ,AIRPORT-GATE>
<RTRUE>)
(T
<TELL "The gates are closed!" CR>)>)
(<VERB? THROUGH>
<DO-WALK ,P?NORTH>)
(<VERB? EXAMINE>
<TELL "The ">
<PRINTD ,SPACEPORT-GATE>
<TELL "s are ">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL "open">)
(T
<TELL "sealed up">)>
<TELL "." CR>)>>
<OBJECT AIRPORT-TERMINAL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "terminal")
(SYNONYM TERMINAL AIRPORT)
(ADJECTIVE AIRPORT)
(ACTION AIRPORT-TERMINAL-OBJECT-F)>
<ROUTINE AIRPORT-TERMINAL-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,TERMINAL>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,AIRPORT-ENTRANCE>
<DO-WALK ,P?NORTH>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?UP>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,TERMINAL>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,TERMINAL>
<V-LOOK>)
(T
<FROM-HERE>)>)>>
<OBJECT BSF-GUARDS
(LOC TERMINAL)
(DESC "BSF guard")
(SYNONYM GUARD GUARDS)
(ADJECTIVE BSF BORDER SECURITY FORCE)
(FLAGS NDESCBIT ACTORBIT)
(GENERIC GENERIC-GUARD-F)
(ACTION BSF-GUARDS-F)>
<ROUTINE BSF-GUARDS-F ()
<COND (<EQUAL? ,WINNER ,BSF-GUARDS ,NATIONAL-GUARDSMAN>
<TELL "The guard ignores you." CR>
<CLEAR-BUF>)>>
<OBJECT AIRPORT-SIGN
(LOC TERMINAL)
(DESC "red sign")
(SYNONYM SIGN)
(ADJECTIVE RED)
(FLAGS NDESCBIT READBIT)
(ACTION AIRPORT-SIGN-F)>
<ROUTINE AIRPORT-SIGN-F ()
<COND (<VERB? READ>
<COND (<EQUAL? ,SYEAR 2041 2051>
<CRLF>
<PRINT-SPACES 20>
<TELL "Remember! Our security procedures" CR>
<PRINT-SPACES 29>
<TELL "exist to protect" CR>
<PRINT-SPACES 20>
<ITALICIZE "your">
<TELL " country and ">
<ITALICIZE "your">
<TELL " way of life" CR>)
(T
<SCORE 101> ;"2 points"
<CRLF>
<PRINT-SPACES 24>
<TELL "All international travellers" CR>
<PRINT-SPACES 23>
<TELL "must pass through strip-search" CR>
<PRINT-SPACES 30>
<ITALICIZE "no exceptions!">
<CRLF>)>)>>
<ROUTINE NO-ENTRY-TO-HEIMAN-WORLD-F ()
<TELL "There's no ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "opening in the perimeter fence there." CR>)
(T
<TELL "entry into ">
<PRINTD ,HEIMAN-WORLD-OBJECT>
<TELL " in that direction." CR>)>
<RFALSE>>
<ROOM BEND
(LOC ROOMS)
(DESC "Bend")
(NORTH TO SOUTHWAY-AND-RIVER)
(NE TO CONSTRUCTION-SITE-2)
(EAST PER NO-ENTRY-TO-HEIMAN-WORLD-F)
(SE TO WICKER-AND-RIVER)
(SOUTH PER HARDWARE-STORE-ENTER-F)
(SW PER DRUG-STORE-ENTER-F)
(WEST TO LAUNDROMAT)
(NW SORRY "There's no entrance into the row houses from here.")
(FLAGS STREETBIT OUTSIDEBIT)
(GLOBAL PEOPLE RAILROAD-BRIDGE CONSTRUCTION-OBJECT DRUG-STORE-OBJECT
FENCE HARDWARE-STORE-OBJECT HEIMAN-WORLD-OBJECT RAILROAD-TRACKS)
(ACTION BEND-F)>
<ROUTINE BEND-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"River Street curves here, heading downtown to the north and under an old ">
<PRINTD ,RAILROAD-BRIDGE>
<TELL " to the southeast. To the northeast is an ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "opening in a tall fence">)
(T
<TELL "entrance to a massive indoor city">)>
<TELL
". A row of stores round the curve on the other side of the street:
a laundromat to the west, a pharmacy to the southwest, and a hardware
store to the south.">)>>
<ROOM LAUNDROMAT
(LOC ROOMS)
(DESC "Laundromat")
(LDESC
"This laundromat is equipped with a vibramat as well as the traditional
washers and dryers. The exit is east.")
(EAST TO BEND)
(OUT TO BEND)
(FLAGS ONBIT)>
<OBJECT WASHERS
(LOC LAUNDROMAT)
(DESC "washers")
(SYNONYM WASHER WASHERS)
(ADJECTIVE TRADITION CLOTHES)
(FLAGS NDESCBIT NARTICLEBIT PLURALBIT)
(ACTION LAUNDROMAT-OBJECT-F)>
<OBJECT DRYERS
(LOC LAUNDROMAT)
(DESC "dryers")
(SYNONYM DRYER DRYERS)
(ADJECTIVE TRADITION CLOTHES)
(FLAGS NDESCBIT NARTICLEBIT PLURALBIT)
(ACTION LAUNDROMAT-OBJECT-F)>
<OBJECT VIBRAMAT
(LOC LAUNDROMAT)
(DESC "vibramat")
(SYNONYM VIBRAMAT)
(FLAGS NDESCBIT)
(ACTION LAUNDROMAT-OBJECT-F)>
<ROUTINE LAUNDROMAT-OBJECT-F ()
<COND (<VERB? OPEN ON>
<TELL "But you don't have any dirty clothes!" CR>)
(<AND <VERB? PUT>
<PRSI? ,VIBRAMAT ,WASHERS>>
<PERFORM ,V?WASH ,PRSO>
<RTRUE>)
(<AND <VERB? PUT>
<PRSI? ,DRYERS>>
<TELL "But">
<ARTICLE ,PRSO T>
<TELL " isn't wet!" CR>)>>
<OBJECT DRUG-STORE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "drug store")
(SYNONYM STORE STORES SHOP SHOPS PHARMACY)
(ADJECTIVE DRUG)
(ACTION DRUG-STORE-OBJECT-F)>
<ROUTINE DRUG-STORE-OBJECT-F ()
<COND (<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,DRUG-STORE>
<DO-WALK ,P?NE>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,DRUG-STORE>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SW>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,DRUG-STORE>>
<V-LOOK>)>>
<ROUTINE DRUG-STORE-ENTER-F ()
<COND (<AND <G? ,STIME 480>
<L? ,STIME 1305>>
,DRUG-STORE)
(T
<CLOSED-PRINT "The drug store">
<RFALSE>)>>
<ROOM DRUG-STORE
(LOC ROOMS)
(DESC "Drug Store")
(LDESC
"This is one of those \"pharmacies\" that sells everything from milkshakes
to magazines. There is a door leading northeast. A clerk waits nearby.")
(NE TO BEND)
(OUT TO BEND)
(FLAGS ONBIT)
(GLOBAL DRUG-STORE-OBJECT COUNTER PEOPLE)
(ACTION DRUG-STORE-F)>
<ROUTINE DRUG-STORE-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "clerk">)
(<EQUAL? .RARG ,M-END>
<SHOP-CLOSES 1305 "drug store" "A clerk" ,BEND>)>>
<OBJECT MAGAZINE
(LOC DRUG-STORE)
(DESC "magazine")
(SYNONYM MAGAZINE MAGAZINES MAG MAGS PUBLICATI PERIODICA ARTICLE)
(ADJECTIVE MAGAZINE)
(FLAGS NDESCBIT READBIT TRYTAKEBIT)
(ACTION MAGAZINE-F)>
<ROUTINE MAGAZINE-F ()
<COND (<AND <EQUAL? ,HERE ,SKYCAB>
<VERB? TAKE READ EXAMINE>>
<TELL "Jill is reading it!" CR>)
(<VERB? BUY TAKE READ EXAMINE>
<COND (<EQUAL? ,HERE ,DRUG-STORE>
<TELL
"You peruse the rack, but there's nothing that interests you." CR>)
(T
<TELL
"There aren't any magazines for sale here!" CR>)>)>>
<OBJECT MILKSHAKE
(LOC DRUG-STORE)
(DESC "milkshake")
(SYNONYM MILKSHAKE FRAPPE SODA SHAKE FLOAT CREAM)
(ADJECTIVE MILK ICE CREAM)
(GENERIC GENERIC-SODA-F)
(FLAGS NDESCBIT)
(ACTION MILKSHAKE-F)>
<ROUTINE MILKSHAKE-F ()
<COND (<VERB? BUY TAKE>
<COND (<EQUAL? ,HERE ,DRUG-STORE>
<TELL
"You approach the ice cream counter, but it's pretty crowded, so
you decide against it." CR>)
(T
<TELL "You can't get a milkshake here!" CR>)>)
(<VERB? EXAMINE>
<TELL "It's sold at the ice cream counter." CR>)>>
<OBJECT DRUGS
(LOC DRUG-STORE)
(DESC "drugs")
(SYNONYM DRUG DRUGS PILL PILLS PHARMACEU MEDICINE MEDICINES)
(FLAGS NDESCBIT PLURALBIT NARTICLEBIT)
(ACTION DRUGS-F)>
<ROUTINE DRUGS-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,DRUG-STORE>
<TELL
"You decide that it's silly to spend your hard-earned money on
medicine when you're feeling perfectly fine." CR>)
(T
<TELL "This isn't a drug store!" CR>)>)>>
<OBJECT HARDWARE-STORE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "hardware store")
(SYNONYM STORE STORES SHOP SHOPS)
(ADJECTIVE HARDWARE LARGE WELL-STOCKED)
(ACTION HARDWARE-STORE-OBJECT-F)>
<ROUTINE HARDWARE-STORE-OBJECT-F ()
<COND (<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,HARDWARE-STORE>
<DO-WALK ,P?NORTH>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,HARDWARE-STORE>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SOUTH>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,HARDWARE-STORE>>
<V-LOOK>)>>
<ROUTINE HARDWARE-STORE-ENTER-F ()
<COND (<AND <G? ,STIME 600>
<L? ,STIME 1080>>
,HARDWARE-STORE)
(T
<CLOSED-PRINT "The hardware store">
<RFALSE>)>>
<ROOM HARDWARE-STORE
(LOC ROOMS)
(DESC "Hardware Store")
(NORTH TO BEND)
(OUT TO BEND)
(FLAGS ONBIT)
(GLOBAL HARDWARE-STORE-OBJECT)
(ACTION HARDWARE-STORE-F)>
<ROUTINE HARDWARE-STORE-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "clerk">)
(<EQUAL? .RARG ,M-LOOK>
<TELL "You have entered a large ">
<PRINTD ,HARDWARE-STORE-OBJECT>
<TELL ", ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "well-">)
(<EQUAL? ,SYEAR 2071>
<TELL "sparsely ">)>
<TELL
"stocked with various tools and hardware, as well as stuff for
home-improvement, home entertainment facilities, skycars, and so
forth. The front door is on the north side of the store.">)
(<EQUAL? .RARG ,M-END>
<SHOP-CLOSES 1080 "hardware store" "A clerk" ,BEND>)>>
<OBJECT HARDWARE
(LOC HARDWARE-STORE)
(DESC "hardware")
(SYNONYM HARDWARE TOOL TOOLS)
(FLAGS NARTICLEBIT NDESCBIT TRYTAKEBIT)
(ACTION HARDWARE-F)>
<ROUTINE HARDWARE-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,HARDWARE-STORE>
<TELL
"You look around the store, but you don't see anything you need for the
apartment. At least, nothing that will fit within your budget." CR>)
(T
<CANT-BUY ,HARDWARE>)>)
(<VERB? TAKE>
<TELL "You'd be arrested for shoplifting!" CR>)>>
<OBJECT TOOL
(LOC LOCAL-GLOBALS)
(DESC "tool")
(SYNONYM CROWBAR SCREWDRIVER WRENCH HAMMER SAW HACKSAW)
(ACTION TOOL-F)>
<ROUTINE TOOL-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,HARDWARE-STORE>
<TELL
"The clerk says, \"All out. Try again in a coupla weeks.\"" CR>)
(T
<CANT-BUY ,TOOL>)>)>>
<ROOM WICKER-AND-RIVER
(LOC ROOMS)
(DESC "Wicker & River")
(NORTH PER CLOSED-FACTORY-ENTER-F)
(NE TO FACTORY-ENTRANCE)
(EAST SORRY "There's no way to enter that factory from here.")
(SE TO POWER-STATION-ENTRANCE)
(SOUTH TO TENEMENT-1)
(SW TO INDUSTRIAL-PARK-ENTRANCE)
(WEST TO WAREHOUSE-1)
(NW TO BEND)
(DOWN PER TUBES-ENTER-F)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT NARTICLEBIT)
(SCENE 34)
(GLOBAL TENEMENT-OBJECT RAILROAD-BRIDGE VACANT-LOT WAREHOUSE-OBJECT
FACTORY-OBJECT STAIRS RAILROAD-TRACKS TUBE-STATION SOUP-KITCHEN)
(ACTION WICKER-AND-RIVER-F)>
<ROUTINE CLOSED-FACTORY-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2061 2071>
<SCORE 49> ;"2 points"
<TELL "The ">
<PRINTD ,SOUP-KITCHEN>
<TELL " is closed down." CR>
<RFALSE>)
(T
,CLOSED-FACTORY)>>
<ROUTINE WICKER-AND-RIVER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "You have crossed the proverbial railroad tracks. ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"The optimism and economic recovery don't seem to have spilled over into
this run-down section of Rockvil, near the river">)
(T
<TELL "This section of town, near the river, is ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "particularly ">)>
<TELL "run-down and seedy">)>
<TELL
". Wicker Drive, which runs northeast to southwest, cuts perpendicularly across
River Street here. To the northwest, River dips under an unused rail bridge. ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"There are factories on the northern and eastern corners">)
(T
<TELL
"There is a factory on the eastern corner, and on the northern corner a ">
<COND (<EQUAL? ,SYEAR 2051>
<SCORE 102> ;"2 points"
<TELL
"line forms along the sidewalk outside a ">)
(T
<SCORE 49> ;"2 points"
<TELL "boarded-up ">)>
<PRINTD ,SOUP-KITCHEN>)>
<TELL ". To the west is a ">
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL "dingy warehouse">)
(T
<TELL "vacant lot">)>
<TELL ", and south of here are some dilapidated apartments. ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "An entrance to the Tubes is sealed up.">)
(T
<TELL
"The smell of stale urine wafts from a stairway leading down to a gloomy ">
<PRINTD ,TUBE-STATION>
<TELL ".">)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2071>
<L? <GETP ,WICKER-AND-RIVER ,P?SCENE> 101>>
<COND (<PROB <GETP ,WICKER-AND-RIVER ,P?SCENE>>
<PUTP ,WICKER-AND-RIVER ,P?SCENE 101>
<SCORE 103> ;"3 points"
<TELL CR
"A skycopter whizzes overhead, announcing a special series of
execution matches this weekend." CR>)
(T
<PUTP ,WICKER-AND-RIVER ,P?SCENE
<+ <GETP ,WICKER-AND-RIVER ,P?SCENE> 33>>
<RFALSE>)>)>>
<ROOM WAREHOUSE-1
(LOC ROOMS)
(SDESC "")
(NORTH PER WAREHOUSE-1-EXIT-F)
(NE PER WAREHOUSE-1-EXIT-F)
(EAST TO WICKER-AND-RIVER)
(SE PER WAREHOUSE-1-EXIT-F)
(SOUTH PER WAREHOUSE-1-EXIT-F)
(SW PER WAREHOUSE-1-EXIT-F)
(WEST PER WAREHOUSE-1-EXIT-F)
(NW PER WAREHOUSE-1-EXIT-F)
(FLAGS ONBIT BADAREABIT)
(GLOBAL VACANT-LOT WAREHOUSE-OBJECT FENCE RAILROAD-TRACKS)
(ACTION WAREHOUSE-1-F)>
<ROUTINE WAREHOUSE-1-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2041 2051>
<PUTP ,WAREHOUSE-1 ,P?SDESC "Warehouse">)
(T
<PUTP ,WAREHOUSE-1 ,P?SDESC "Vacant Lot">)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041 2051>
<TELL
"You are standing at the front entrance of an old warehouse whose walls
are coated with soot from the nearby factories. The door is locked. The
street is east of here.">)
(T
<TELL
"This lot is completely empty except for a few concrete footings that must
have once formed the foundation for some large building. A rusting, overgrown
set of railroad tracks borders the far side of the lot. An intersection of
two streets lies to the east.">)>)>>
<ROUTINE WAREHOUSE-1-EXIT-F ()
<COND (<EQUAL? ,SYEAR 2041 2051>
<COND (<PRSO? ,P?WEST>
<TELL "The door is locked." CR>)
(T
<TELL ,CANT-GO CR>)>)
(T
<COND (<PRSO? ,P?WEST>
<TELL "The tracks are fenced off." CR>)
(T
<TELL
"There's no exit from the lot in that direction." CR>)>)>
<RFALSE>>
<OBJECT WAREHOUSE-DOOR
(LOC WAREHOUSE-1)
(DESC "door")
(SYNONYM DOOR)
(FLAGS NDESCBIT)
(ACTION WAREHOUSE-DOOR-F)>
<ROUTINE WAREHOUSE-DOOR-F ()
<COND (<VERB? THROUGH OPEN EXAMINE>
<TELL "It's locked." CR>)>>
<ROOM CLOSED-FACTORY
(LOC ROOMS)
(SDESC "")
(SOUTH TO WICKER-AND-RIVER)
(OUT TO WICKER-AND-RIVER)
(FLAGS ONBIT BADAREABIT)
(GLOBAL FACTORY-OBJECT GLOBAL-TABLE SOUP-KITCHEN)
(ACTION CLOSED-FACTORY-F)>
<ROUTINE CLOSED-FACTORY-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,SYEAR 2041>
<PUTP ,CLOSED-FACTORY ,P?SDESC "Closed Factory">)
(T
<PUTP ,CLOSED-FACTORY ,P?SDESC "Soup Kitchen">
<MOVE ,CHAIR ,HERE>)>)
(<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"You have entered the crumbling buildings of a once-booming chip factory, idle
since the invention of the IDF made chips obsolete. The exit leads south.">)
(T
<SCORE 102> ;"2 points"
<TELL "You are in a dirty, crowded ">
<PRINTD ,SOUP-KITCHEN>
<TELL
" run by St. Michael's Church. Dozens and dozens of dispirited people are
sitting at old wooden tables, eating a thin stew. A door leads south.">)>)>>
<OBJECT SOUP-KITCHEN
(LOC LOCAL-GLOBALS)
(DESC "soup kitchen")
(SYNONYM KITCHEN)
(ADJECTIVE SOUP BOARDED-UP CLOSED DIRTY CROWDED)
(GENERIC GENERIC-KITCHEN-F)
(ACTION SOUP-KITCHEN-F)>
<ROUTINE SOUP-KITCHEN-F ()
<COND (<AND <EQUAL? ,SYEAR 2041>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,SOUP-KITCHEN>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,WICKER-AND-RIVER>
<DO-WALK ,P?NORTH>)
(<GLOBAL-IN? ,SOUP-KITCHEN ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,CLOSED-FACTORY>
<DO-WALK ,P?SOUTH>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,CLOSED-FACTORY>
<V-LOOK>)
(<EQUAL? ,SYEAR 2051>
<TELL "There's a long line outside the ">
<PRINTD ,SOUP-KITCHEN>
<TELL "." CR>)
(T
<DO-WALK ,P?NORTH>)>)>>
<OBJECT STEW
(LOC LOCAL-GLOBALS)
(DESC "soup")
(SYNONYM SOUP STEW FOOD MEAL)
(ADJECTIVE THIN)
(FLAGS NARTICLEBIT NDESCBIT)
(GENERIC GENERIC-FOOD-F)
(ACTION STEW-F)>
<ROUTINE STEW-F ()
<COND (<VERB? EXAMINE>
<TELL "The soup is thin, without much substance." CR>)
(<VERB? TAKE EAT>
<TELL "The line of people waiting for soup is too long." CR>)
(<VERB? BUY>
<COND (<EQUAL? ,HERE ,CLOSED-FACTORY>
<TELL "The soup is free." CR>)
(<EQUAL? ,HERE ,ROYS-PAGODA>
<PERFORM ,V?BUY ,MEAL>
<RTRUE>)
(<EQUAL? ,HERE ,SIMONS ,THE-COACHMAN ,BURGER-MEISTER>
<TELL "There's no soup on the menu." CR>)
(T
<CANT-BUY ,STEW>)>)>>
<ROOM TENEMENT-1
(LOC ROOMS)
(DESC "Tenement")
(NORTH TO WICKER-AND-RIVER)
(EAST TO POWER-STATION-ENTRANCE)
(WEST TO INDUSTRIAL-PARK-ENTRANCE)
(FLAGS ONBIT BADAREABIT)
(GLOBAL TENEMENT-OBJECT)
(ACTION TENEMENT-1-F)>
<ROUTINE TENEMENT-1-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You are in the lobby of a run-down apartment building. These apartments
were probably considered desirable when constructed during the latter part
of the last century, but">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
" with the encroachment of the factories and utility stations, ">)>
<TELL " the building, like the entire area, ">
<COND (<EQUAL? ,SYEAR 2071>
<TELL "has long been">)
(T
<TELL "has become">)>
<TELL
" a slum. The lobby has exits to the north, east, and west.">)>>
<OBJECT WAREHOUSE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "warehouse")
(SYNONYM WAREHOUSE)
(ADJECTIVE GRAY GREY OLD DINGY)
(ACTION WAREHOUSE-OBJECT-F)>
<ROUTINE WAREHOUSE-OBJECT-F ()
<COND (<AND <EQUAL? ,HERE ,WAREHOUSE-1 ,WICKER-AND-RIVER>
<EQUAL? ,SYEAR 2061 2071>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,WAREHOUSE-OBJECT>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,WICKER-AND-RIVER>
<DO-WALK ,P?WEST>)
(<EQUAL? ,HERE ,INDUSTRIAL-PARK-ENTRANCE>
<DO-WALK ,P?NORTH>)
(<EQUAL? ,HERE ,INDUSTRIAL-PARK-DRIVE>
<PERFORM ,V?THROUGH ,FACTORY-OBJECT>
<RTRUE>)
(<GLOBAL-IN? ,PRSO ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,WAREHOUSE-1>
<DO-WALK ,P?EAST>)
(<EQUAL? ,HERE ,WAREHOUSE-2>
<DO-WALK ,P?SOUTH>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? HERE ,WAREHOUSE-1 ,WAREHOUSE-2>>
<V-LOOK>)>>
<ROOM INDUSTRIAL-PARK-ENTRANCE
(LOC ROOMS)
(DESC "Industrial Park Entrance")
(LDESC
"You are on Wicker Drive, which leads northeast and southwest. A road
leads northwest into Rockvil Industrial Park. An old, gray warehouse
stands on the northern corner, and an ugly tenement is just east of here.")
(NORTH TO WAREHOUSE-2)
(NE TO WICKER-AND-RIVER)
(EAST TO TENEMENT-1)
(SE SORRY "A tall brick wall fronts the street in that direction.")
(SOUTH SORRY "A tall brick wall fronts the street in that direction.")
(SW TO DUMP-ENTRANCE)
(WEST SORRY "There's no entrance to the industrial park that way.")
(NW TO INDUSTRIAL-PARK-DRIVE)
(IN TO INDUSTRIAL-PARK-DRIVE)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT)
(GLOBAL INDUSTRIAL-PARK-OBJECT WAREHOUSE-OBJECT TENEMENT-OBJECT)>
<ROOM WAREHOUSE-2
(LOC ROOMS)
(DESC "Warehouse")
(SOUTH TO INDUSTRIAL-PARK-ENTRANCE)
(OUT TO INDUSTRIAL-PARK-ENTRANCE)
(FLAGS BADAREABIT)
(GLOBAL WAREHOUSE-OBJECT)
(ACTION WAREHOUSE-2-F)>
<ROUTINE WAREHOUSE-2-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You have entered a warehouse filled with dusty crates. The exit is to
the south. An alarm ">
<COND (<FSET? ,WAREHOUSE-2 ,ONBIT>
<TELL "is ringing">)
(T
<FSET ,WAREHOUSE-2 ,ONBIT>
<TELL "begins to ring">)>
<TELL " loudly.">)>>
<OBJECT ALARM
(LOC WAREHOUSE-2)
(DESC "alarm")
(SYNONYM ALARM)
(ADJECTIVE LOUD)
(FLAGS NDESCBIT VOWELBIT)
(ACTION ALARM-F)>
<ROUTINE ALARM-F ()
<COND (<VERB? LISTEN>
<TELL
"You have little choice -- you can't hear much else." CR>)>>
<OBJECT CRATE
(LOC WAREHOUSE-2)
(DESC "crate")
(SYNONYM CRATE CRATES)
(ADJECTIVE DUSTY)
(FLAGS NDESCBIT CONTBIT SEARCHBIT)
(ACTION CRATE-F)>
<ROUTINE CRATE-F ()
<COND (<VERB? OPEN>
<TELL "You'd need a crowbar to open these crates." CR>)
(<VERB? EXAMINE>
<TELL "The crates are closed." CR>)>>
<ROOM INDUSTRIAL-PARK-DRIVE
(LOC ROOMS)
(DESC "Industrial Park Drive")
(LDESC
"You are on a narrow road circling through a grouping of warehouses and
light factories. There are buildings on every side except southeast,
where the road leads out of the park.")
(NORTH SORRY "The door of that building is locked.")
(NE SORRY "The door of that building is locked.")
(EAST SORRY "The door of that building is locked.")
(SE TO INDUSTRIAL-PARK-ENTRANCE)
(SOUTH SORRY "The door of that building is locked.")
(SW SORRY "The door of that building is locked.")
(WEST SORRY "The door of that building is locked.")
(NW SORRY "The door of that building is locked.")
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT NARTICLEBIT)
(GLOBAL UNOPENABLE-DOOR INDUSTRIAL-PARK-OBJECT FACTORY-OBJECT
WAREHOUSE-OBJECT)>
<OBJECT INDUSTRIAL-PARK-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "industrial park")
(SYNONYM PARK)
(ADJECTIVE INDUSTRIAL ROCKVIL)
(FLAGS VOWELBIT)
(ACTION INDUSTRIAL-PARK-OBJECT-F)>
<ROUTINE INDUSTRIAL-PARK-OBJECT-F ()
<COND (<VERB? THROUGH WALK-TO>
<COND (<EQUAL? ,HERE ,INDUSTRIAL-PARK-ENTRANCE>
<DO-WALK ,P?NW>)
(<EQUAL? ,HERE ,SKYCAR-LOT-1>
<DO-WALK ,P?SOUTH>)
(<GLOBAL-IN? ,PRSO ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,INDUSTRIAL-PARK-ENTRANCE>
<TELL ,LOOK-AROUND CR>)
(T
<DO-WALK ,P?SE>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,INDUSTRIAL-PARK-DRIVE>>
<V-LOOK>)>>
<ROOM DUMP-ENTRANCE
(LOC ROOMS)
(DESC "Dump Entrance")
(LDESC
"Wicker Drive turns ninety degrees here, leading northeast and northwest.
To the southwest is an entrance to the city's primary waste disposal facility,
which extends along the southern side of the street. A deserted tenement
blocks movement north.")
(NORTH SORRY "There's no entrance to that building here.")
(NE TO INDUSTRIAL-PARK-ENTRANCE)
(EAST SORRY "There's no entrance to the dump in that direction.")
(SE SORRY "There's no entrance to the dump in that direction.")
(SOUTH SORRY "There's no entrance to the dump in that direction.")
(SW TO CITY-DUMP)
(WEST SORRY "There's no entrance to the dump in that direction.")
(NW TO BURNED-OUT-AREA)
(IN TO CITY-DUMP)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT)
(GLOBAL DUMP-OBJECT TENEMENT-OBJECT)>
<ROOM CITY-DUMP
(LOC ROOMS)
(DESC "City Dump")
(NE TO DUMP-ENTRANCE)
(OUT TO DUMP-ENTRANCE)
(FLAGS OUTSIDEBIT BADAREABIT)
(GLOBAL FENCE RIVER RIVER-BANK WATER DUMP-OBJECT)
(ACTION CITY-DUMP-F)>
<ROUTINE CITY-DUMP-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This sprawling site along the river is a multiple unit disposal facility
handling all of Rockvil's waste. Garbage ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL
"is processed and shipped downriver for landfilling. Liquid wastes
are dechemified and then">)
(T
<SCORE 104> ;"3 points"
<TELL "and liquid wastes are">)>
<TELL
" dumped into the river. Radioactive wastes are stored for ">
<COND (<EQUAL? ,SYEAR 2061 2071>
<TELL "high-security ">)>
<TELL
"shipment to one of the national storage sites. Energy produced during
processing is piped to the ">
<PRINTD ,POWER-STATION-OBJECT>
<TELL
" nearby. An opening in the perimeter fence leads northeast to Wicker
Drive.">)>>
<OBJECT WASTE
(LOC CITY-DUMP)
(DESC "waste")
(SYNONYM WASTE WASTES GARBAGE LANDFILL)
(ADJECTIVE LIQUID PROCESSED DECHEMIFIED RADIOACTIVE RADIO-ACTIVE)
(FLAGS NDESCBIT NARTICLEBIT)
(ACTION WASTE-F)>
<ROUTINE WASTE-F ()
<COND (<VERB? EXAMINE>
<TELL "Like most waste, it's pretty vile." CR>)>>
<OBJECT DUMP-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "garbage dump")
(SYNONYM DUMP FACILITY SITE)
(ADJECTIVE SPRAWLING CITY CITY\'S ROCKVIL ROCKVIL\'S PRIMARY WASTE
DISPOSAL GARBAGE MULTIPLE UNIT)
(ACTION DUMP-OBJECT-F)>
<ROUTINE DUMP-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,CITY-DUMP>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SW>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,CITY-DUMP>
<DO-WALK ,P?NE>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,CITY-DUMP>
<V-LOOK>)
(T
<FROM-HERE>)>)>>
<ROOM BURNED-OUT-AREA
(LOC ROOMS)
(DESC "Burned-out Area")
(LDESC
"You are in a tangle of narrow streets. All the buildings around you are
deserted, their windows broken, their fixtures looted. Many are no more
than burned-out shells. One street, slightly wider than the rest, leads
southeast.")
(NORTH TO BURNED-OUT-AREA)
(NE TO BURNED-OUT-AREA)
(EAST TO BURNED-OUT-AREA)
(SE TO DUMP-ENTRANCE)
(SOUTH TO BURNED-OUT-AREA)
(SW TO BURNED-OUT-AREA)
(WEST TO BURNED-OUT-AREA)
(NW TO BURNED-OUT-AREA)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT)
(GLOBAL GLOBAL-WINDOW)>
<ROOM POWER-STATION-ENTRANCE
(LOC ROOMS)
(DESC "Power Station Entrance")
(LDESC
"You are on River Street at the entrance of a utility station which lies to
the south. The street continues southeast towards the River Street Bridge.
Northeast of here is the entrance to a huge factory complex, and tenements
line the street to the west and southwest.")
(NORTH SORRY "There's no entrance to the complex in that direction.")
(NE TO SKYCAR-FACTORY)
(EAST SORRY "There's no entrance to the complex in that direction.")
(SE TO RIVER-STREET-BRIDGE)
(SOUTH TO POWER-STATION)
(SW TO TENEMENT-1)
(WEST TO TENEMENT-1)
(NW TO WICKER-AND-RIVER)
(IN TO POWER-STATION)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT)
(GLOBAL POWER-STATION-OBJECT WATER RIVER RIVER-BANK STREET-BRIDGE
FACTORY-OBJECT TENEMENT-OBJECT)>
<OBJECT POWER-STATION-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "power station")
(SYNONYM STATION)
(ADJECTIVE POWER UTILITY CENTRAL)
(ACTION POWER-STATION-OBJECT-F)>
<ROUTINE POWER-STATION-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,POWER-STATION>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SOUTH>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,POWER-STATION>
<DO-WALK ,P?NORTH>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,POWER-STATION>
<V-LOOK>)
(T
<FROM-HERE>)>)>>
<ROOM POWER-STATION
(LOC ROOMS)
(DESC "Power Station")
(NORTH TO POWER-STATION-ENTRANCE)
(OUT TO POWER-STATION-ENTRANCE)
(FLAGS OUTSIDEBIT BADAREABIT)
(GLOBAL POWER-STATION-OBJECT SMOKE)
(ACTION POWER-STATION-F)>
<ROUTINE POWER-STATION-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is the central ">
<PRINTD ,POWER-STATION-OBJECT>
<TELL
" for all of Rockvil. Power is generated here by fusion reactors">
<COND (<EQUAL? ,SYEAR 2041>
<TELL ", and is">)
(<EQUAL? ,SYEAR 2051>
<SCORE 105> ;"1 point"
<TELL
" and supplemental coal-burning generators, and is">)
(<EQUAL? ,SYEAR 2061>
<SCORE 106> ;"2 points"
<TELL
", as well as by more environmentally damaging
coal-burning generators. Power is">)
(T
<SCORE 107> ;"3 points"
<TELL
" in addition to the less expensive coal-burners; each coal generator
is belching tremendous pillars of black, ashy smoke into the sky.
Power is also">)>
<TELL
" received here from distant generators via a huge array of microwave
receivers. The main entrance is on the north side of the plant.">)>>
<ROOM RIVER-STREET-BRIDGE
(LOC ROOMS)
(DESC "River Street Bridge")
(NORTH PER RIVER-ENTER-F)
(NE PER RIVER-ENTER-F)
(EAST PER RIVER-ENTER-F)
(SE PER SUBURBS-ENTER-F)
(SOUTH PER RIVER-ENTER-F)
(SW PER RIVER-ENTER-F)
(WEST PER RIVER-ENTER-F)
(NW TO POWER-STATION-ENTRANCE)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT)
(GLOBAL STREET-BRIDGE RIVER RIVER-BANK WATER)
(ACTION RIVER-STREET-BRIDGE-F)>
<ROUTINE RIVER-STREET-BRIDGE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"River Street leaves Rockvil via this bridge, crossing the river into the
older and poorer southeastern suburbs.">
<RIVER-FIRE "north">
<RTRUE>)>>
<ROUTINE RIVER-FIRE (STRING)
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 108> ;"3 points"
<TELL
" Off to the " .STRING ", the river is on fire again. Nowadays, ">
<PRINTD ,FIRECOPTER>
<TELL
"s usually ignore river fires unless they approach the shoreline.">)>>
<ROOM SKYCAR-FACTORY
(LOC ROOMS)
(DESC "Skycar Factory")
(NORTH SORRY "There's no exit from the factory complex that way.")
(NE SORRY "There's no exit from the factory complex that way.")
(EAST SORRY "There's no exit from the factory complex that way.")
(SE SORRY "There's no exit from the factory complex that way.")
(SOUTH SORRY "There's no exit from the factory complex that way.")
(SW TO POWER-STATION-ENTRANCE)
(WEST SORRY "There's no exit from the factory complex that way.")
(NW TO FACTORY-ENTRANCE)
(FLAGS OUTSIDEBIT BADAREABIT)
(GLOBAL FACTORY-OBJECT CARLOT PEOPLE)
(ACTION SKYCAR-FACTORY-F)>
<ROUTINE SKYCAR-FACTORY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "The Omni-Fabb ">
<PRINTD ,SKYCAR-FACTORY>
<TELL
", the last surviving smokestack industry in the area, provides jobs to many
residents of the city and the suburbs across the river">
<COND (<EQUAL? ,SYEAR 2061 2071>
<TELL
", although not nearly as many as before the suspension of federal regulations
limiting robotic job replacement">)>
<COND (<AND <NOT <EQUAL? ,SYEAR 2041>>
<L? ,STIME 480>
<G? ,STIME 990>>
<SCORE 109> ;"1 point"
<TELL
". The parking lot is empty; there must currently be only one shift per day">)
(T
<TELL
". Judging by the number of cars in the workers' lot, and the general level
of activity, the plant is running at ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "nearly full">)
(<EQUAL? ,SYEAR 2051>
<SCORE 109> ;"1 point"
<TELL "well above half of">)
(<EQUAL? ,SYEAR 2061>
<SCORE 110> ;"2 points"
<TELL "less than half of">)
(T
<SCORE 111> ;"3 points"
<TELL "a fraction of">)>
<TELL " capacity">)>
<TELL
". There are exits from this complex of buildings to the
northwest and the southwest.">)>>
<ROOM FACTORY-ENTRANCE
(LOC ROOMS)
(DESC "Factory Entrance")
(LDESC
"You are on Wicker Drive, which runs northeast to southwest. An alley
forks off to the east. A large factory complex can be entered to the
southeast, and a gun shop is north of here. A row of tenements stretches
off to the northwest and west.")
(NORTH PER GUN-SHOP-ENTER-F)
(NE TO WICKER-AND-PIER)
(EAST TO ALLEY)
(SE TO SKYCAR-FACTORY)
(SOUTH SORRY "There's no entrance to the complex in that direction.")
(SW TO WICKER-AND-RIVER)
(WEST TO TENEMENT-2)
(NW TO TENEMENT-2)
(IN TO SKYCAR-FACTORY)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT)
(GLOBAL FACTORY-OBJECT TENEMENT-OBJECT GUN-SHOP-OBJECT)>
<ROOM TENEMENT-2
(LOC ROOMS)
(DESC "Tenement")
(SE TO FACTORY-ENTRANCE)
(OUT TO FACTORY-ENTRANCE)
(FLAGS ONBIT BADAREABIT)
(GLOBAL TENEMENT-OBJECT)
(ACTION TENEMENT-F)>
<ROUTINE GUN-SHOP-ENTER-F ()
<COND (<AND <G? ,STIME 630>
<L? ,STIME 1230>>
,GUN-SHOP)
(T
<CLOSED-PRINT "The gun store">
<RFALSE>)>>
<OBJECT GUN-SHOP-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "gun shop")
(SYNONYM SHOP STORE)
(ADJECTIVE GUN)
(ACTION GUN-SHOP-OBJECT-F)>
<ROUTINE GUN-SHOP-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,FACTORY-ENTRANCE>
<DO-WALK ,P?NORTH>)
(<NOT <MOBY-VERB?>>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXIT LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,FACTORY-ENTRANCE>
<TELL ,LOOK-AROUND CR>)
(T
<DO-WALK ,P?SOUTH>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,GUN-SHOP>>
<V-LOOK>)>>
<ROOM GUN-SHOP
(LOC ROOMS)
(DESC "Gun Shop")
(LDESC
"You are in a small armaments store, with metal bars over the counter
separating you from the proprietor. There is an exit to the south.")
(SOUTH TO FACTORY-ENTRANCE)
(OUT TO FACTORY-ENTRANCE)
(FLAGS ONBIT BADAREABIT)
(GLOBAL COUNTER GUN GUN-SHOP-OBJECT)
(ACTION GUN-SHOP-F)>
<ROUTINE GUN-SHOP-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "proprietor">)
(<EQUAL? .RARG ,M-END>
<SHOP-CLOSES
1230 "gun shop" "The proprietor" ,FACTORY-ENTRANCE>)>>
<OBJECT GUN
(LOC LOCAL-GLOBALS)
(DESC "firearm")
(SYNONYM FIREARM FIREARMS GUN GUNS RIFLE RIFLES PISTOL PISTOLS
WEAPON WEAPONS GAT GATS HEATER HEATERS ROD RODS PIECE
PIECES AUTOMATIC REVOLVER REVOLVERS SPECIAL SPECIALS
COLT COLTS FORTY-FIVE SHOTGUN SHOTGUNS FLINTLOCK
SIX-SHOOTER BIOGUN) ;"SIX-GUN"
(ADJECTIVE SNUB NOSED SNUB-NOSED COLT SATURDAY NIGHT SAWED-OFF
BB MACHINE SUB-MACHINE SUBMACHINE FORTY-FIVE CALIBER
THIRTY-TWO THIRTY-EIGHT TWENTY-TWO ZIP PELLET SILENCED
POORLY CONCEALED YOUR)
(FLAGS NDESCBIT TRYTAKEBIT)
(ACTION GUN-F)>
<ROUTINE GUN-F ()
<COND (<AND <EQUAL? ,HERE ,CORE>
<NOT <IN? ,SABOTEURS ,HERE>>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,GUN>)
(<AND <EQUAL? ,HERE ,CONTROL-CENTER>
<NOT ,SEIGE>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,GUN>)
(<VERB? BUY>
<COND (<EQUAL? ,HERE ,GUN-SHOP>
<TELL
"The proprietor shows you many different firearms, and you finally settle on
a twenty-two caliber pellet gun. However, when you pass your ">
<PRINTD ,CREDIT-CARD>
<TELL
" through the grill to the proprietor, he looks disappointed as he announces
that you don't have enough in your account for that particular gun. \"In
fact,\" he says, \"I doubt there's anything in the shop in your price range.
You might try Ribeiro's Secondhand Firearms over in Yankton.\"" CR>)
(T
<CANT-BUY ,GUN>)>)
(<AND <EQUAL? ,HERE ,GUN-SHOP>
<VERB? TAKE SHOOT>>
<TELL "You'll have to buy a gun before you can ">
<COND (<VERB? SHOOT>
<TELL "shoot">)
(T
<TELL "take">)>
<TELL " it." CR>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,GUN-SHOP>>
<TELL "There are a staggering variety of weapons here." CR>)>>
<ROOM ALLEY
(LOC ROOMS)
(DESC "Alley")
(LDESC
"This long, narrow, dim alley is flanked by tall, featureless walls. The
alley, which begins to the west, ends east of here at a back doorway, through
which loud, raucous music can be heard.")
(OUT TO FACTORY-ENTRANCE)
(WEST TO FACTORY-ENTRANCE)
(EAST TO BAR)
(IN TO BAR)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT)
(GLOBAL BAR-OBJECT MUSIC)>
<ROOM BAR
(LOC ROOMS)
(DESC "Bar")
(WEST PER BAR-TO-ALLEY-F)
(NE PER BAR-TO-PIER-F)
(FLAGS BADAREABIT)
(GLOBAL BAR-OBJECT COUNTER PIER-OBJECT MUSIC SMOKE BAR PEOPLE)
(ACTION BAR-F)>
<ROUTINE BAR-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<L? ,STIME 1201> ;"for owner's curfew message"
<FCLEAR ,BAR ,ONBIT>)>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "bartender">
<MOVE ,BEER ,LOCAL-GLOBALS>
<MOVE ,BAR-STOOL ,HERE>)
(<EQUAL? .RARG ,M-LOOK>
<TELL
"This is a tiny, smoke-filled bar, with exits to the west and northeast.
Loud, distorted music comes from an old jukebox" ,STOOL-DESC>
<PEOPLE-IN-BAR-DESC>)
(<AND <EQUAL? .RARG ,M-END>
<NOT <EQUAL? ,SYEAR 2041>>
<G? ,STIME 1195>
<L? ,STIME 1255>
<NOT <FSET? ,BAR ,ONBIT>>>
<FSET ,BAR ,ONBIT>
<TELL CR
"Someone, possibly the owner, shouts above the din, \"It's getting near curfew
time; anyone who doesn't wanna stay 'til morning should get a move on it! Of
course, we'll be staying open all night, as usual -- you just gotta know the
right people!\" He rubs his fingers together, indicating that some official
of the Curfew Board is now slightly richer. \"Well, drink up!\"" CR>)>>
<ROUTINE BAR-TO-ALLEY-F ()
<COND (<HELD? ,BEER>
<TELL ,BARTENDER-YELLS CR>
<RFALSE>)
(T
,ALLEY)>>
<ROUTINE BAR-TO-PIER-F ()
<COND (<HELD? ,BEER>
<TELL ,BARTENDER-YELLS CR>
<RFALSE>)
(T
,PIER)>>
<OBJECT BAR-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "bar")
(SYNONYM BAR LOUNGE CLUB SPOT)
(ADJECTIVE NOISY TINY FAVORITE HANGOUT DINGY DINGY-LOOKING
LOOKING SMOKY SMOKE-FILLED SMOKE FILLED EZZIS EZZI\'S)
(ACTION BAR-OBJECT-F)>
<ROUTINE BAR-OBJECT-F ()
<COND (<AND <EQUAL? ,HERE ,BURGER-MEISTER ,AQUARIUM-AND-PARK>
<NOT <EQUAL? ,SYEAR 2071>>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,BAR-OBJECT>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,BURGER-MEISTER ,EZZIS-BAR ,BAR>
<TELL ,LOOK-AROUND CR>)
(<EQUAL? ,HERE ,AQUARIUM-AND-PARK>
<DO-WALK ,P?NE>)
(<EQUAL? ,HERE ,ELM-UNDERPASS>
<DO-WALK ,P?NORTH>)
(<EQUAL? ,HERE ,ALLEY>
<DO-WALK ,P?EAST>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SW>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,BURGER-MEISTER ,EZZIS-BAR ,BAR>
<DO-WALK ,P?OUT>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,BURGER-MEISTER ,EZZIS-BAR ,BAR>>
<V-LOOK>)
(<AND <VERB? SMELL>
<EQUAL? ,HERE ,BURGER-MEISTER>>
<TELL
"The air is heavy with the smells of tobacco smoke,
urine, and spilled beer." CR>)
(<AND <VERB? PUT-ON>
<PRSI? ,BAR-OBJECT>
<EQUAL? ,HERE ,BURGER-MEISTER ,EZZIS-BAR ,BAR>>
<PERFORM ,V?PUT-ON ,PRSO ,COUNTER>
<RTRUE>)>>
<OBJECT BAR-STOOL
(LOC LOCAL-GLOBALS)
(DESC "stool")
(SYNONYM STOOL STOOLS)
(ADJECTIVE BATTERED WOODEN)
(FLAGS VEHBIT FURNITUREBIT NDESCBIT)
(ACTION BAR-STOOL-F)>
<ROUTINE BAR-STOOL-F ;("OPTIONAL" RARG) ()
<COND ;(.RARG
<RFALSE>)
;(<VERB? OPEN CLOSE>
<TELL "Huh?" CR>)
(<AND <VERB? PUT>
<PRSI? ,BAR-STOOL>>
<COND (<PRSO? ,ME>
<PERFORM ,V?SIT ,BAR-STOOL>
<RTRUE>)>
<TELL "Stools are for sitting on." CR>)>>
<OBJECT JUKEBOX
(LOC BAR)
(DESC "jukebox")
(SYNONYM JUKEBOX BOX)
(ADJECTIVE JUKE OLD)
(FLAGS NDESCBIT)
(ACTION JUKEBOX-F)>
<ROUTINE JUKEBOX-F ()
<COND (<VERB? LISTEN>
<SETG ELAPSED-TIME 4>
<COND (<EQUAL? ,SYEAR 2071>
<TELL
"The tune is a jazzed-up version of a popular Church march." CR>)
(T
<TELL
"You listen to the current selection, " <PICK-ONE ,JUKEBOXES> CR>)>)
(<VERB? ON PLAY>
<TELL "It's already playing." CR>)>>
<GLOBAL JUKEBOXES
<LTABLE
0
"a popular country & western tune from the 1990's."
"a recent tri-rock single."
"a jazzy instrumental."
"\"Hey Jude,\" the Beatles classic.">>
<OBJECT PIER-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "pier")
(SYNONYM PIER WHARF DOCK QUAY)
(ADJECTIVE AGING RIVERFRONT SHORT WOODEN ROCKVIL)
(ACTION PIER-OBJECT-F)>
<ROUTINE PIER-OBJECT-F ()
<COND (<AND <EQUAL? ,HERE ,SKYCAB>
<NOT <VERB? EXAMINE>>>
<MILE-AWAY ,PIER-OBJECT>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,BAR>
<DO-WALK ,P?NE>)
(<EQUAL? ,HERE ,WICKER-AND-PIER>
<DO-WALK ,P?SE>)
(<EQUAL? ,HERE ,POOL-HALL>
<DO-WALK ,P?SW>)
(<GLOBAL-IN? ,PIER ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,PIER>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,PIER>>
<V-LOOK>)>>
<ROOM PIER
(LOC ROOMS)
(DESC "Pier")
(NORTH SORRY "There's no entrance to the pool hall in that direction.")
(NE PER POOL-HALL-ENTER-F)
(EAST PER RIVER-ENTER-F)
(SE PER RIVER-ENTER-F)
(SOUTH PER RIVER-ENTER-F)
(SW TO BAR)
(WEST SORRY "There's no entrance to the bar in that direction.")
(NW TO WICKER-AND-PIER)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT)
(GLOBAL WATER RIVER RIVER-BANK BAR-OBJECT POOL-HALL-OBJECT PIER-OBJECT)
(ACTION PIER-F)>
<ROUTINE PIER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is an aging riverfront pier, ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "extending a short way">)
(T
<TELL
"ending abruptly at the river edge. Jagged, splintered wood at the end
of the pier reveals that it once extended further">)>
<TELL
" out into the river. To the northwest, the pier intersects with Wicker
Drive. A bar opens to the southwest, and a pool hall to the northeast.">)>>
<ROUTINE POOL-HALL-ENTER-F ()
<COND (<AND <OR <G? ,STIME 1200>
<L? ,STIME 420>>
<NOT <EQUAL? ,SYEAR 2041>>>
<OF-COURSE ,POOL-HALL-OBJECT>
<RFALSE>)
(T
,POOL-HALL)>>
<ROOM POOL-HALL
(LOC ROOMS)
(DESC "Pool Hall")
(SW TO PIER)
(OUT TO PIER)
(FLAGS ONBIT BADAREABIT)
(GLOBAL POOL-HALL-OBJECT PIER-OBJECT SMOKE PEOPLE)
(ACTION POOL-HALL-F)>
<ROUTINE POOL-HALL-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is a classless establishment, which has clearly seen its better days. "
,TOBACCO-ODOR " A door to the pier lies to the southwest. ">)
(<EQUAL? .RARG ,M-END>
<CURFEW-CLOSE ,PIER>)>>
<OBJECT POOL-HALL-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "pool hall")
(SYNONYM HALL ESTABLISHMENT)
(ADJECTIVE POOL CLASSLESS)
(ACTION POOL-HALL-OBJECT-F)>
<ROUTINE POOL-HALL-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,POOL-HALL>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?NE>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,POOL-HALL>
<DO-WALK ,P?SW>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,POOL-HALL>>
<V-LOOK>)
(<AND <VERB? SMELL>
<EQUAL? ,HERE ,POOL-HALL>>
<TELL ,TOBACCO-ODOR CR>)>>
<OBJECT POOL-TABLE
(LOC POOL-HALL)
(DESC "pool table")
(SYNONYM TABLE TABLES)
(ADJECTIVE POOL BILLIARD)
(FLAGS NDESCBIT)
(ACTION POOL-TABLE-F)>
<ROUTINE POOL-TABLE-F ()
<COND (<VERB? EXAMINE>
<TELL "The ">
<PRINTD ,POOL-TABLE>
<TELL
"s are all in poor shape, frayed in many places and scarred by cigarette
burns." CR>)>>
<OBJECT POOL
(LOC GLOBAL-OBJECTS)
(DESC "billiards")
(SYNONYM POOL BILLIARDS)
(FLAGS NARTICLEBIT)
(ACTION POOL-F)>
<ROUTINE POOL-F ()
<COND (<VERB? PLAY SHOOT>
<COND (<EQUAL? ,HERE ,POOL-HALL>
<TELL
"You knock a few balls around, but, as usual, you have to admit that
you're not very good at cuesmanship." CR>)
(T
<TELL "You'd better find a pool hall first." CR>)>)>>
<ROOM WICKER-AND-PIER
(LOC ROOMS)
(DESC "Wicker & Pier")
(NORTH SORRY "There's no entrance into the tenements in that direction.")
(NE TO MAIN-AND-WICKER)
(EAST PER BOOKSTORE-ENTER-F)
(SE TO PIER)
(SOUTH PER LIQUOR-STORE-ENTER-F)
(SW TO FACTORY-ENTRANCE)
(WEST SORRY "There's no entrance into the tenements in that direction.")
(NW TO TENEMENT-3)
(FLAGS STREETBIT OUTSIDEBIT BADAREABIT NARTICLEBIT)
(GLOBAL RAILROAD-BRIDGE BOOKSTORE-OBJECT LIQUOR-STORE-OBJECT
TENEMENT-OBJECT GLOBAL-WINDOW PIER-OBJECT RAILROAD-TRACKS)
(ACTION WICKER-AND-PIER-F)>
<ROUTINE WICKER-AND-PIER-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<COND (<EQUAL? ,SYEAR 2081>
<SCORE 112> ;"15 points!"
<TELL
"Rats scamper among the weeds growing through the cracks in the street and
among the ruined buildings. A pallor of smoke hangs in the air, and a distant
sound like a drumbeat gives this area the feel of a surreal jungle.">)
(T
<TELL
"Northeast of here, Wicker curves northwards and passes under an old
railroad trestle. An aging, wooden pier leads off to the southeast. On
the eastern corner of the street is what appears to be a ">
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 113> ;"1 point"
<TELL "closed ">)>
<TELL "bookstore. A ">
<PRINTD ,LIQUOR-STORE-OBJECT>
<TELL
" occupies the southern corner, and a row of dismal apartment buildings
lines the northwestern side of Wicker.">)>)
(<AND <EQUAL? .RARG ,M-END>
<EQUAL? ,SYEAR 2081>>
<JIGS-UP
"Suddenly, you are surrounded by a group of men clad only in loin cloths,
their faces marked with charcoal in an identical, tribal pattern. You are
quickly bound and gagged, and carried to an open area where many people
with similar facial markings are gathered.|
|
You are tossed helplessly in the center of the clearing, amidst bones that
are unmistakably human. Wood is quickly gathered for a bonfire, and you are
rudely thrown upon it. Through the agonizing pain of the fire, you hear the
tribal members chanting. Your last sight is of one of your captors, tending
the fire and salivating like a wild animal.">)>>
<ROOM TENEMENT-3
(LOC ROOMS)
(DESC "Tenement")
(SE TO WICKER-AND-PIER)
(OUT TO WICKER-AND-PIER)
(FLAGS ONBIT BADAREABIT)
(GLOBAL TENEMENT-OBJECT)
(ACTION TENEMENT-F)>
<ROUTINE TENEMENT-F (RARG) ;"NOTE: This serves TENEMENT-2 and TENEMENT-3"
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is a ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "substandard residence unit">)
(<EQUAL? ,SYEAR 2071>
<TELL "malodorous, disease-ridden, rat-infested slum">)
(T
<COND (<EQUAL? ,HERE ,TENEMENT-2>
<TELL "filthy">)
(T
<TELL "dirty">)>
<TELL " tenement">)>
<TELL ". The exit is southeast.">)>>
<OBJECT TENEMENT-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "tenement")
(SYNONYM TENEMENT TENEMENTS SLUM SLUMS ROW UNIT)
(ADJECTIVE OLD DIRTY FILTHY RUN-DOWN UGLY DESERTED RESIDENCE DISEASE
RIDDEN DISEASE-RIDDEN MALODOROUS SUBSTANDARD SUB-STANDARD
RAT-INFESTED RAT INFESTED)
(ACTION TENEMENT-OBJECT-F)>
<ROUTINE TENEMENT-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,WICKER-AND-RIVER>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,HERE ,POWER-STATION-ENTRANCE>
<DO-WALK ,P?WEST>)
(<EQUAL? ,HERE ,INDUSTRIAL-PARK-ENTRANCE>
<DO-WALK ,P?EAST>)
(<EQUAL? ,HERE ,DUMP-ENTRANCE>
<DO-WALK ,P?NORTH>)
(<EQUAL? ,HERE ,FACTORY-ENTRANCE ,WICKER-AND-PIER>
<DO-WALK ,P?NW>)
(<GLOBAL-IN? ,PRSO ,HERE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,TENEMENT-2 ,TENEMENT-3>
<DO-WALK ,P?SE>)
(<EQUAL? ,HERE ,TENEMENT-3>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,TENEMENT-1 ,TENEMENT-2 ,TENEMENT-3>>
<V-LOOK>)
(<AND <VERB? SMELL>
<EQUAL? ,HERE ,TENEMENT-2 ,TENEMENT-3>
<EQUAL? ,SYEAR 2071>>
<TELL "The building smells foul." CR>)>>
<ROUTINE BOOKSTORE-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 113> ;"1 point"
<TELL
"The bookstore is locked. Through the grimy window, the bookstore looks
empty and barren." CR>
<RFALSE>)
(<OR <G? ,STIME 1083>
<L? ,STIME 501>>
<CLOSED-PRINT "The bookstore">
<RFALSE>)
(T
,BOOKSTORE)>>
<OBJECT BOOKSTORE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "bookstore")
(SYNONYM STORE STORES SHOP SHOPS BOOKSTORE)
(ADJECTIVE BOOK)
(ACTION BOOKSTORE-OBJECT-F)>
<ROUTINE BOOKSTORE-OBJECT-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,BOOKSTORE>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?EAST>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,BOOKSTORE>
<DO-WALK ,P?WEST>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,BOOKSTORE>>
<V-LOOK>)
(<AND <VERB? SEARCH>
<EQUAL? ,HERE ,BOOKSTORE>
<FSET? ,BOOK ,TRYTAKEBIT>>
<PERFORM ,V?BUY ,BOOKS>
<RTRUE>)
(<AND <VERB? SMELL>
<EQUAL? ,HERE ,BOOKSTORE>>
<TELL "A pleasant, papery odor fills the shop." CR>)>>
<ROOM BOOKSTORE
(LOC ROOMS)
(DESC "Bookstore")
(LDESC
"A less likely place for a bookstore you couldn't imagine. This one seems to
be stocked mostly with used books. Closely-placed shelves, filled with old
books, rise to ceiling, and a pleasant, papery odor fills the shop. The front
door leads west.|
The proprietor smiles at you kindly.")
(WEST TO WICKER-AND-PIER)
(OUT TO WICKER-AND-PIER)
(FLAGS ONBIT BADAREABIT)
(GLOBAL SHELVES BOOKSTORE-OBJECT)
(ACTION BOOKSTORE-F)>
<ROUTINE BOOKSTORE-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<MOVE ,BOOKS ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "proprietor">)
(<EQUAL? .RARG ,M-END>
<SHOP-CLOSES
1083 "bookstore" "The proprietor" ,WICKER-AND-PIER>)>>
<GLOBAL BOOK-PURCHASED <>>
<OBJECT BOOK
(LOC LOCAL-GLOBALS)
(DESC "copy of \"The Wizard of Oz\"")
(SYNONYM BOOK WIZARD OZ COPY)
(ADJECTIVE OLD USED NEW MY)
(SIZE 10)
(FLAGS TRYTAKEBIT TAKEBIT READBIT NDESCBIT)
(GENERIC GENERIC-BOOK-F)
(TEXT
"The book, an aging copy of that timeless fable \"The Wizard of Oz,\"
is in startlingly good condition, and features the original, classic
illustrations. You skim a few chapters, remembering the joy of the
tale from your younger days.")
(ACTION BOOK-F)>
<ROUTINE BOOK-F ()
<COND (<VERB? BUY>
<COND (<FSET? ,BOOK ,TRYTAKEBIT>
<PERFORM ,V?BUY ,BOOKS>
<RTRUE>)
(T
<TELL "You already did." CR>)>)
(<AND <VERB? TAKE>
<FSET? ,BOOK ,TRYTAKEBIT>>
<PERFORM ,V?TAKE ,BOOKS>
<RTRUE>)
(<AND <VERB? FIND>
<EQUAL? ,HERE ,BOOKSTORE>
<FSET? ,BOOK ,TRYTAKEBIT>>
<PERFORM ,V?BUY ,BOOKS>
<RTRUE>)
(<VERB? OPEN>
<PERFORM ,V?READ ,BOOK>
<RTRUE>)
(<VERB? CLOSE>
<TELL "It is." CR>)>>
<OBJECT BOOKS
(LOC LOCAL-GLOBALS)
(DESC "books")
(SYNONYM BOOK BOOKS NOVEL NOVELS)
(ADJECTIVE OLD USED LIBRARY)
(FLAGS NARTICLEBIT PLURALBIT TRYTAKEBIT NDESCBIT)
(GENERIC GENERIC-BOOK-F)
(ACTION BOOKS-F)>
<ROUTINE BOOKS-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,BOOKSTORE>
<COND (,BOOK-PURCHASED
<SETG ELAPSED-TIME 6>
<TELL
"You browse for a few minutes, but don't find anything of interest." CR>)
(<FSET? ,BOOK ,TRYTAKEBIT>
<SETG ELAPSED-TIME 3>
<SETG P-IT-OBJECT ,BOOK>
<TELL
"After browsing for several minutes, something catches your eye: a handsome
edition of Baum's \"The Wizard of Oz.\" Eagerly, you give your ">
<PRINTD ,CREDIT-CARD>
<TELL " to the proprietor">
<COND (<TOO-POOR 30 ,BOOK>
<RTRUE>)>
<MOVE ,BOOK ,PLAYER>
<FCLEAR ,BOOK ,TRYTAKEBIT>
<FCLEAR ,BOOK ,NDESCBIT>
<SETG BOOK-PURCHASED T>
<DEBIT 30>
<TELL "." CR>)
(T
<TELL
"You already bought one book. That's enough extravagance for one day." CR>)>)
(T
<CANT-BUY ,BOOKS>)>)
(<AND <VERB? SEARCH>
<EQUAL? ,HERE ,BOOKSTORE>
<FSET? ,BOOK ,TRYTAKEBIT>>
<PERFORM ,V?BUY ,BOOKS>
<RTRUE>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,BOOKSTORE ,MAIN-LIBRARY>>
<PERFORM ,V?READ ,BOOKS>
<RTRUE>)
(<VERB? READ OPEN>
<COND (<EQUAL? ,HERE ,BOOKSTORE>
<TELL
"There are thousands of books in the store, of many different sizes
and ages. Many are used. You continue to look for one you might be
interested in buying." CR>)
(<EQUAL? ,HERE ,MAIN-LIBRARY>
<TELL "There are many books in the library">
<COND (<EQUAL? ,SYEAR 2071>
<TELL
", although some of the shelves are empty and covered with dust">)>
<TELL "." CR>)
(T ;"Perelman's office"
<PERFORM ,V?TAKE ,BOOKS>
<RTRUE>)>)
(<VERB? TAKE>
<COND (<EQUAL? ,HERE ,MAIN-LIBRARY>
<TELL "You don't have a library account." CR>)
(T
<TELL
"You can't take a book without paying for it." CR>)>)
(<AND <VERB? SMELL>
<EQUAL? ,HERE ,MAIN-LIBRARY>>
<PERFORM ,V?SMELL ,MAIN-LIBRARY-OBJECT>
<RTRUE>)>>
<OBJECT LIQUOR-STORE-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "liquor store")
(SYNONYM STORE STORES SHOP SHOPS)
(ADJECTIVE LIQUOR PACKAGE)
(ACTION LIQUOR-STORE-OBJECT-F)>
<ROUTINE LIQUOR-STORE-OBJECT-F ()
<COND (<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,LIQUOR-STORE>
<DO-WALK ,P?NORTH>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,LIQUOR-STORE>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,PRSO ,HERE>
<DO-WALK ,P?SOUTH>)>)
(<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,LIQUOR-STORE>>
<V-LOOK>)>>
<ROUTINE LIQUOR-STORE-ENTER-F ()
<COND (<AND <G? ,STIME 660>
<L? ,STIME 1320>>
,LIQUOR-STORE)
(T
<CLOSED-PRINT "The liquor store">
<RFALSE>)>>
<ROOM LIQUOR-STORE
(LOC ROOMS)
(DESC "Liquor Store")
(LDESC
"This is a small establishment stocked with cheap scotch and other liquor.
There is an exit to the north.")
(NORTH TO WICKER-AND-PIER)
(OUT TO WICKER-AND-PIER)
(FLAGS ONBIT BADAREABIT)
(GLOBAL LIQUOR-STORE-OBJECT)
(ACTION LIQUOR-STORE-F)>
<ROUTINE LIQUOR-STORE-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<MOVE ,SPEAR-CARRIER ,HERE>
<PUTP ,SPEAR-CARRIER ,P?SDESC "clerk">)
(<EQUAL? .RARG ,M-END>
<SHOP-CLOSES 1320 "liquor store" "A clerk" ,WICKER-AND-PIER>)>>
<OBJECT SCOTCH
(LOC LIQUOR-STORE)
(DESC "bottle of cheap scotch")
(SYNONYM BOTTLE BOTTLES SCOTCH BRAND)
(ADJECTIVE CHEAP)
(FLAGS TAKEBIT TRYTAKEBIT NDESCBIT)
(SIZE 8)
(ACTION SCOTCH-F)>
<ROUTINE SCOTCH-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,LIQUOR-STORE>
<COND (<NOT <FSET? ,SCOTCH ,TRYTAKEBIT>>
<TELL
"On second thought, you decide you've already wasted enough on liquor." CR>
<RTRUE>)>
<TELL "You pick out a ">
<PRINTD ,SCOTCH>
<COND (<TOO-POOR 22 ,SCOTCH>
<RTRUE>)>
<MOVE ,SCOTCH ,PLAYER>
<FCLEAR ,SCOTCH ,TRYTAKEBIT>
<FCLEAR ,SCOTCH ,NDESCBIT>
<DEBIT 22>
<TELL "." CR>)
(<OR <EQUAL? ,HERE ,EZZIS-BAR ,BAR>
<AND <EQUAL? ,HERE ,BURGER-MEISTER>
<EQUAL? ,SYEAR 2071>>>
<PERFORM ,V?BUY ,OTHER-LIQUOR>
<RTRUE>)
(T
<CANT-BUY ,SCOTCH>)>)
(<AND <VERB? TAKE OPEN DRINK>
<FSET? ,SCOTCH ,TRYTAKEBIT>>
<PERFORM ,V?TAKE ,LIQUOR>
<RTRUE>)
(<VERB? OPEN DRINK>
<COND (<OR <IN-APARTMENT?>
,MITCHELL-RAID-FLAG>
<TELL
"You open the bottle, take a swig, and close it again." CR>)
(T
<TELL
"Jill would kill you if you came home drunk." CR>)>)
(<VERB? CLOSE>
<TELL "It is." CR>)
(<VERB? READ>
<TELL "\"Hampton Scotch, 120 Proof\"" CR>)>>
<OBJECT BEER
(LOC LOCAL-GLOBALS)
(DESC "mug of beer")
(LDESC "There is a tall mug of beer in front of you.")
(SYNONYM DRINK BEER ALE GLASS MUG BREW)
(ADJECTIVE TALL FOAMY MY)
(FLAGS TAKEBIT)
(ACTION BEER-F)>
<ROUTINE BEER-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,EZZIS-BAR ,BAR ,BURGER-MEISTER>
<COND (<VISIBLE? ,BEER>
<TELL "You haven't finished your last one." CR>
<RTRUE>)>
<TELL "You give your card to the bartender">
<COND (<TOO-POOR 8 ,BEER>
<RTRUE>)>
<MOVE ,BEER ,HERE>
<DEBIT 8>
<TELL ". He gives you a tall, foamy mug of beer." CR>)
(<EQUAL? ,HERE ,LIQUOR-STORE>
<TELL
"The clerk says, \"Sorry, we don't usually got none.\"" CR>)
(<EQUAL? ,HERE ,ROYS-PAGODA>
<PERFORM ,V?BUY ,LIQUOR>
<RTRUE>)
(T
<CANT-BUY ,BEER>)>)
(<VERB? THROW>
<TELL "You'd probably get thrown out." CR>)
(<VERB? DRINK>
<MOVE ,BEER ,LOCAL-GLOBALS>
<TELL
"You down the brew, and the bartender clears away the empty." CR>)>>
<OBJECT LIQUOR
(LOC LIQUOR-STORE)
(DESC "liquor")
(SYNONYM DRINK LIQUOR BOOZE ALCOHOL)
(FLAGS NARTICLEBIT NDESCBIT)
(ACTION LIQUOR-F)>
<ROUTINE LIQUOR-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,LIQUOR-STORE>
<PERFORM ,V?BUY ,SCOTCH>
<RTRUE>)
(<OR <EQUAL? ,HERE ,EZZIS-BAR ,BAR>
<AND <EQUAL? ,HERE ,BURGER-MEISTER>
<EQUAL? ,SYEAR 2071>>>
<PERFORM ,V?BUY ,BEER>
<RTRUE>)
(<EQUAL? ,HERE ,SIMONS ,THE-COACHMAN>
<TELL
"After a quick glance at the drink prices and the prices on the wine list,
you decide to abstain." CR>)
(<EQUAL? ,HERE ,ROYS-PAGODA>
<TELL "Roy's has no liquor license." CR>)
(T
<CANT-BUY ,OTHER-LIQUOR>)>)
(<VERB? TAKE>
<TELL "You haven't paid for it!" CR>)>>
<OBJECT OTHER-LIQUOR
(LOC LOCAL-GLOBALS)
(DESC "liquor")
(SYNONYM GLASS VODKA RUM WHISKEY WHISKY ALE SCHNAPPS LIQUEUR TEQUILA
WINE KAHLUA AMARETTO COGNAC PORT SHERRY BURGUNDY CHAMPAGNE)
(FLAGS NARTICLEBIT)
(ACTION OTHER-LIQUOR-F)>
<ROUTINE OTHER-LIQUOR-F ()
<COND (<VERB? BUY>
<COND (<EQUAL? ,HERE ,LIQUOR-STORE>
<SETG P-IT-OBJECT ,SCOTCH>
<TELL
"You look for some, but they seem to be all out. The clerk recommends a
cheap brand of scotch that's on sale." CR>)
(<OR <EQUAL? ,HERE ,EZZIS-BAR ,BAR>
<AND <EQUAL? ,HERE ,BURGER-MEISTER>
<EQUAL? ,SYEAR 2071>>>
<TELL
"The bartender tells you that they're all out, recommending beer instead." CR>)
(<EQUAL? ,HERE ,SIMONS ,THE-COACHMAN ,ROYS-PAGODA>
<PERFORM ,V?BUY ,LIQUOR>
<RTRUE>)
(T
<CANT-BUY ,OTHER-LIQUOR>)>)>>
;"TUBE system"
<OBJECT TUBE-STATION
(LOC LOCAL-GLOBALS)
(DESC "Tube station")
(SYNONYM TUBES STATION SYSTEM)
(ADJECTIVE TUBE TUBES)
(ACTION TUBE-STATION-F)>
<ROUTINE TUBE-STATION-F ()
<COND (<VERB? WALK-TO THROUGH>
<COND (<EQUAL? ,HERE ,RED-TUBECAR ,BROWN-TUBECAR>
<DO-WALK ,P?OUT>)
(<FSET? ,HERE ,TUBEBIT>
<TELL ,LOOK-AROUND CR>)
(<GLOBAL-IN? ,TUBE-STATION ,HERE>
<DO-WALK ,P?DOWN>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,RED-TUBECAR ,BROWN-TUBECAR>
<DO-WALK ,P?OUT>)
(<FSET? ,HERE ,TUBEBIT>
<DO-WALK ,P?UP>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? EXAMINE>
<COND (<FSET? ,HERE ,TUBEBIT>
<V-LOOK>)
(<EQUAL? ,SYEAR 2071>
<TELL
"Like the entire Tube system, the station is closed down." CR>)>)
(<AND <VERB? SMELL>
<EQUAL? ,HERE ,WICKER-AND-RIVER>
<NOT <EQUAL? ,SYEAR 2071>>>
<PERFORM ,V?SMELL ,STAIRS>
<RTRUE>)>>
<ROUTINE TUBES-ENTER-F ()
<COND (<EQUAL? ,SYEAR 2071>
<SCORE 32> ;"2 points"
<TELL "The Tube system closed five years ago!" CR>
<RFALSE>)
(<AND <EQUAL? ,SYEAR 2051 2061>
<OR <L? ,STIME 420>
<G? ,STIME 1250>>>
<TELL "As usual, the Tubes have closed for curfew." CR>
<RFALSE>)
(<EQUAL? ,HERE ,HALLEY-PARK-WEST>
,TUBE-AT-PARK)
(<EQUAL? ,HERE ,ROCKVIL-STADIUM>
,TUBE-AT-STADIUM)
(<EQUAL? ,HERE ,SKYBUS-TERMINAL>
,TUBE-JUNCTION)
(<EQUAL? ,HERE ,ELM-AND-UNIVERSITY>
,TUBE-AT-UNIVERSITY)
(<EQUAL? ,HERE ,ELM-AND-RIVER>
,TUBE-AT-HEIMAN)
(<EQUAL? ,HERE ,BODANSKI-SQUARE>
,TUBE-AT-BODANSKI)
(<EQUAL? ,HERE ,TERMINAL>
,TUBE-AT-AIRPORT)
(<EQUAL? ,HERE ,WICKER-AND-RIVER>
,TUBE-AT-FACTORY)
(T
<TELL "Bug #5X." CR>
<RFALSE>)>>
<ROUTINE TUBE-STATION-DESC ("OPTIONAL" (BROWN <>))
<TELL
"You are on a platform between two sets of tracks which lie to the ">
<COND (.BROWN
<TELL "northwest and southeast">)
(T
<TELL "northeast and southwest">)>
<TELL ". On the wall is a ">
<COND (.BROWN
<TELL "brown">)
(T
<TELL "red">)>
<TELL " sign which reads:" CR>
<PERFORM ,V?READ ,TUBE-SIGN>
<TELL "A stairway leads up out of the station.">>
<ROUTINE DEBARK ()
<TELL "he doors open and ">
<COND (<L? ,STIME 360>
<TELL "a few ">)>
<TELL "people begin boarding and debarking." CR>>
<ROOM TUBE-AT-STADIUM
(LOC ROOMS)
(DESC "Tube Station")
(IN PER RED-TUBECAR-ENTER-F)
(UP TO ROCKVIL-STADIUM)
(OUT TO ROCKVIL-STADIUM)
(NE PER RED-TUBECAR-ENTER-F)
(SW PER RED-TUBECAR-ENTER-F)
(FLAGS TUBEBIT)
(GLOBAL TUBE-SIGN STAIRS STADIUM-OBJECT RAILROAD-TRACKS TUBE-STATION
BOARDING-PLATFORM PEOPLE)
(ACTION RED-TUBE-STATION-F)>
<ROOM TUBE-AT-PARK
(LOC ROOMS)
(DESC "Tube Station")
(IN PER RED-TUBECAR-ENTER-F)
(UP TO HALLEY-PARK-WEST)
(OUT TO HALLEY-PARK-WEST)
(NE PER RED-TUBECAR-ENTER-F)
(SW PER RED-TUBECAR-ENTER-F)
(FLAGS TUBEBIT)
(GLOBAL TUBE-SIGN STAIRS RAILROAD-TRACKS TUBE-STATION BOARDING-PLATFORM
PEOPLE)
(ACTION RED-TUBE-STATION-F)>
<ROOM TUBE-AT-HEIMAN
(LOC ROOMS)
(DESC "Tube Station")
(IN PER RED-TUBECAR-ENTER-F)
(UP TO ELM-AND-RIVER)
(OUT TO ELM-AND-RIVER)
(NE PER RED-TUBECAR-ENTER-F)
(SW PER RED-TUBECAR-ENTER-F)
(FLAGS TUBEBIT)
(GLOBAL TUBE-SIGN STAIRS RAILROAD-TRACKS TUBE-STATION BOARDING-PLATFORM
PEOPLE)
(ACTION RED-TUBE-STATION-F)>
<ROOM TUBE-AT-FACTORY
(LOC ROOMS)
(DESC "Tube Station")
(IN PER RED-TUBECAR-ENTER-F)
(UP TO WICKER-AND-RIVER)
(OUT TO WICKER-AND-RIVER)
(NE PER RED-TUBECAR-ENTER-F)
(SW PER RED-TUBECAR-ENTER-F)
(FLAGS TUBEBIT)
(GLOBAL TUBE-SIGN STAIRS RAILROAD-TRACKS TUBE-STATION BOARDING-PLATFORM
PEOPLE)
(ACTION RED-TUBE-STATION-F)>
<ROUTINE RED-TUBE-STATION-F (RARG "AUX" (X <>))
<COND (<EQUAL? .RARG ,M-LOOK>
<TUBE-STATION-DESC>)
(<AND <EQUAL? .RARG ,M-END>
<IN? ,RED-TUBECAR-OBJECT ,HERE>>
<COND (<VERB? LOOK SAVE>
<SET X T>)
(<NOT <EQUAL? ,HERE ,L-HERE>>
<SET X T>)>
<COND (.X
<TELL ,TUBECAR-WAITING>
<COND (,RED-NORTHBOUND
<TELL "northeast">)
(T
<TELL "southwest">)>
<TELL "." CR>)>)>>
<ROOM TUBE-AT-AIRPORT
(LOC ROOMS)
(DESC "Tube Station")
(UP TO TERMINAL)
(SE PER BROWN-TUBECAR-ENTER-F)
(NW PER BROWN-TUBECAR-ENTER-F)
(IN PER BROWN-TUBECAR-ENTER-F)
(OUT TO TERMINAL)
(FLAGS TUBEBIT)
(GLOBAL STAIRS TUBE-SIGN AIRPORT-TERMINAL-OBJECT RAILROAD-TRACKS PEOPLE
TUBE-STATION BOARDING-PLATFORM)
(ACTION BROWN-TUBE-STATION-F)>
<ROOM TUBE-AT-BODANSKI
(LOC ROOMS)
(DESC "Tube Station")
(UP TO BODANSKI-SQUARE)
(SE PER BROWN-TUBECAR-ENTER-F)
(NW PER BROWN-TUBECAR-ENTER-F)
(IN PER BROWN-TUBECAR-ENTER-F)
(OUT TO BODANSKI-SQUARE)
(FLAGS TUBEBIT)
(GLOBAL STAIRS TUBE-SIGN RAILROAD-TRACKS TUBE-STATION BOARDING-PLATFORM
PEOPLE)
(ACTION BROWN-TUBE-STATION-F)>
<ROOM TUBE-AT-UNIVERSITY
(LOC ROOMS)
(DESC "Tube Station")
(UP TO ELM-AND-UNIVERSITY)
(OUT TO ELM-AND-UNIVERSITY)
(SE PER BROWN-TUBECAR-ENTER-F)
(NW PER BROWN-TUBECAR-ENTER-F)
(IN PER BROWN-TUBECAR-ENTER-F)
(FLAGS TUBEBIT)
(GLOBAL STAIRS TUBE-SIGN RAILROAD-TRACKS TUBE-STATION BOARDING-PLATFORM
PEOPLE)
(ACTION BROWN-TUBE-STATION-F)>
<ROUTINE BROWN-TUBE-STATION-F (RARG "AUX" (X <>))
<COND (<EQUAL? .RARG ,M-LOOK>
<TUBE-STATION-DESC T>)
(<AND <EQUAL? .RARG ,M-END>
<IN? ,BROWN-TUBECAR-OBJECT ,HERE>>
<COND (<VERB? LOOK SAVE>
<SET X T>)
(<NOT <EQUAL? ,HERE ,L-HERE>>
<SET X T>)>
<COND (.X
<TELL ,TUBECAR-WAITING>
<COND (,BROWN-NORTHBOUND
<TELL "southeast">)
(T
<TELL "northwest">)>
<TELL "." CR>)>)>>
<ROOM TUBE-JUNCTION
(LOC ROOMS)
(DESC "Tube Station")
(UP TO SKYBUS-TERMINAL)
(DOWN SORRY "Stairs lead down to both the southwest and northeast.")
(IN PER TUBECAR-AT-JUNCTION-ENTER-F)
(OUT TO SKYBUS-TERMINAL)
(NE PER RED-TUBECAR-ENTER-F)
(NW PER BROWN-TUBECAR-ENTER-F)
(SE PER BROWN-TUBECAR-ENTER-F)
(SW PER RED-TUBECAR-ENTER-F)
(FLAGS TUBEBIT)
(GLOBAL STAIRS TUBE-SIGN SKYBUS-TERMINAL-OBJECT RAILROAD-TRACKS PEOPLE
TUBE-STATION BOARDING-PLATFORM)
(ACTION TUBE-JUNCTION-F)>
<ROUTINE TUBECAR-AT-JUNCTION-ENTER-F ()
<COND (<AND <VISIBLE? ,RED-TUBECAR-OBJECT>
<VISIBLE? ,BROWN-TUBECAR-OBJECT>>
<TELL
"At the moment, there's more than one tubecar waiting to be boarded." CR>
<RFALSE>)
(<VISIBLE? ,RED-TUBECAR-OBJECT>
<MOVE ,RED-TUBECAR-OBJECT ,RED-TUBECAR>
<MOVE ,RED-TUBECAR-DOOR ,RED-TUBECAR>
,RED-TUBECAR)
(<VISIBLE? ,BROWN-TUBECAR-OBJECT>
<MOVE ,BROWN-TUBECAR-OBJECT ,BROWN-TUBECAR>
<MOVE ,BROWN-TUBECAR-DOOR ,BROWN-TUBECAR>
,BROWN-TUBECAR)
(T
<TELL "There are no tubecars in the station at the moment." CR>
<RFALSE>)>>
<ROUTINE TUBE-JUNCTION-F (RARG "AUX" (RED <>) (BROWN <>) (BOTH <>) (X <>))
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You are on a central platform between four sets of tracks. On the wall
is a sign, in brown and red:" CR>
<PERFORM ,V?READ ,TUBE-SIGN>
<TELL
"Tracks for the Brownline tubecars lie to the southeast and northwest.
Another pair of tracks, for the Redline, lie down some steps to the
southwest and northeast. A stairway leads up out of the station.">)
(<EQUAL? .RARG ,M-END>
<COND (<VERB? LOOK SAVE>
<SET X T>)
(<NOT <EQUAL? ,HERE ,L-HERE>>
<SET X T>)>
<COND (<NOT .X>
<RFALSE>)>
<COND (<IN? ,RED-TUBECAR-OBJECT ,HERE>
<SET RED T>)>
<COND (<IN? ,BROWN-TUBECAR-OBJECT ,HERE>
<SET BROWN T>
<COND (.RED
<SET BOTH T>)>)>
<COND (<NOT <OR .RED .BROWN>>
<RFALSE>)
(T
<COND (.BOTH
<TELL "Tubecars are">)
(T
<TELL "A tubecar is">)>
<TELL " sitting on the tracks to the ">
<COND (.BROWN
<COND (,BROWN-NORTHBOUND
<TELL "southeast">)
(T
<TELL "northwest">)>)>
<COND (.BOTH
<TELL " and ">)>
<COND (.RED
<COND (,RED-NORTHBOUND
<TELL "northeast">)
(T
<TELL "southwest">)>)>
<TELL "." CR>)>)>>
<OBJECT RED-TUBECAR-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "red tubecar")
(SYNONYM TUBECAR CAR TRAIN SUBWAY)
(ADJECTIVE RED TUBE OMNI-FABB PLANT ROCKVIL STADIUM)
(FLAGS NDESCBIT VEHBIT)
(GENERIC GENERIC-TUBECAR-F)
(ACTION RED-TUBECAR-OBJECT-F)>
<ROUTINE RED-TUBECAR-OBJECT-F ;("OPTIONAL" RARG) ()
<COND ;(.RARG
<RFALSE>)
(<VERB? THROUGH BOARD>
<COND (<EQUAL? ,HERE ,RED-TUBECAR>
<TELL "You've already done that." CR>)
(,RED-NORTHBOUND
<DO-WALK ,P?NE>)
(T
<DO-WALK ,P?SW>)>)
(<VERB? DISEMBARK LEAVE>
<COND (<EQUAL? ,HERE ,RED-TUBECAR>
<DO-WALK ,P?OUT>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? WAIT-FOR>
<V-WAIT 60>)>>
<ROOM RED-TUBECAR
(LOC ROOMS)
(DESC "Tubecar")
(OUT PER RED-TUBECAR-EXIT-F)
(FLAGS ONBIT)
(GLOBAL TUBE-SIGN GRAFFITI TUBE-STATION PEOPLE)
(ACTION TUBECAR-F)>
<OBJECT RED-TUBECAR-DOOR
(LOC RED-TUBECAR)
(DESC "red tubecar doors")
(SYNONYM DOOR DOORS)
(ADJECTIVE TUBECAR RED)
(FLAGS DOORBIT NDESCBIT PLURALBIT)
(ACTION RED-TUBECAR-DOOR-F)>
<ROUTINE RED-TUBECAR-DOOR-F ()
<COND (<VERB? THROUGH>
<COND (<EQUAL? ,HERE ,RED-TUBECAR>
<DO-WALK ,P?OUT>)
(T
<PERFORM ,V?BOARD ,RED-TUBECAR-OBJECT>
<RTRUE>)>)
(<VERB? OPEN CLOSE>
<TELL
"You can't -- the doors open and close automatically." CR>)>>
<OBJECT BROWN-TUBECAR-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "brown tubecar")
(SYNONYM TUBECAR CAR TRAIN SUBWAY)
(ADJECTIVE BROWN TUBE AIRPORT ROCKVIL UNIVERSIT)
(FLAGS NDESCBIT VEHBIT)
(GENERIC GENERIC-TUBECAR-F)
(ACTION BROWN-TUBECAR-OBJECT-F)>
<ROUTINE BROWN-TUBECAR-OBJECT-F ;("OPTIONAL" RARG) ()
<COND ;(.RARG
<RFALSE>)
(<VERB? THROUGH BOARD>
<COND (<EQUAL? ,HERE ,BROWN-TUBECAR>
<TELL ,LOOK-AROUND CR>)
(,BROWN-NORTHBOUND
<DO-WALK ,P?SE>)
(T
<DO-WALK ,P?NW>)>)
(<VERB? LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,BROWN-TUBECAR>
<DO-WALK ,P?OUT>)
(T
<TELL ,LOOK-AROUND CR>)>)
(<VERB? WAIT-FOR>
<V-WAIT 60>)>>
<ROOM BROWN-TUBECAR
(LOC ROOMS)
(DESC "Tubecar")
(OUT PER BROWN-TUBECAR-EXIT-F)
(FLAGS ONBIT)
(GLOBAL TUBE-SIGN GRAFFITI TUBE-STATION PEOPLE)
(ACTION TUBECAR-F)>
<ROUTINE TUBECAR-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL "This is a typical tubecar, ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "clean and free of graffiti">)
(<EQUAL? ,SYEAR 2051>
<SCORE 114> ;"1 point"
<TELL "moderately clean and with a splash of graffiti">)
(T
<SCORE 115> ;"2 points"
<TELL "grimy and covered with layers of graffiti">)>
<TELL ". The doors of the car are ">
<COND (<OR <AND <EQUAL? ,HERE ,RED-TUBECAR>
<FSET? ,RED-TUBECAR-DOOR ,OPENBIT>>
<AND <EQUAL? ,HERE ,BROWN-TUBECAR>
<FSET? ,BROWN-TUBECAR-DOOR ,OPENBIT>>>
<TELL "open.">)
(T
<TELL "closed.">)>)>>
<OBJECT BROWN-TUBECAR-DOOR
(LOC BROWN-TUBECAR)
(DESC "brown tubecar doors")
(SYNONYM DOOR DOORS)
(ADJECTIVE TUBECAR BROWN)
(FLAGS DOORBIT NDESCBIT PLURALBIT)
(ACTION BROWN-TUBECAR-DOOR-F)>
<ROUTINE BROWN-TUBECAR-DOOR-F ()
<COND (<VERB? THROUGH>
<COND (<EQUAL? ,HERE ,BROWN-TUBECAR>
<DO-WALK ,P?OUT>)
(T
<PERFORM ,V?BOARD ,BROWN-TUBECAR-OBJECT>
<RTRUE>)>)
(<VERB? OPEN CLOSE>
<PERFORM ,V?OPEN ,RED-TUBECAR-DOOR>
<RTRUE>)>>
<OBJECT TUBE-SIGN
(LOC LOCAL-GLOBALS)
(DESC "sign")
(SYNONYM SIGN)
(ADJECTIVE RED BROWN)
(FLAGS READBIT)
(ACTION TUBE-SIGN-F)>
<ROUTINE TUBE-SIGN-F ("AUX" CURRENT-STATION)
<COND (<EQUAL? ,HERE ,RED-TUBECAR>
<SET CURRENT-STATION <GET ,RED-TABLE ,RED-POINTER>>)
(<EQUAL? ,HERE ,BROWN-TUBECAR>
<SET CURRENT-STATION <GET ,BROWN-TABLE ,BROWN-POINTER>>)
(T
<SET CURRENT-STATION <>>)>
<COND (<VERB? READ>
<COND (<EQUAL? ,TUBE-AT-STADIUM ,HERE .CURRENT-STATION>
<TELL " ">
<PRINTD ,ROCKVIL-STADIUM>
<TELL CR " (Red Tubeline Terminus)" CR>)
(<EQUAL? TUBE-AT-PARK ,HERE .CURRENT-STATION>
<TELL
" Halley Park|
Rockvil Zoo" CR>)
(<EQUAL? ,TUBE-AT-HEIMAN ,HERE .CURRENT-STATION>
<TELL
" Elm and River Street|
(">
<PRINTD ,HEIMAN-VILLAGE>
<TELL ")" CR>)
(<EQUAL? ,TUBE-AT-FACTORY ,HERE .CURRENT-STATION>
<TELL
" Wicker Drive and River Street|
(Red Tubeline Terminus)|
(Omni-Fabb Plant)" CR>)
(<EQUAL? ,TUBE-AT-AIRPORT ,HERE .CURRENT-STATION>
<TELL
" Airport Terminals|
(Brown Tubeline Terminus)" CR>)
(<EQUAL? ,TUBE-AT-BODANSKI ,HERE .CURRENT-STATION>
<COND (<NOT <EQUAL? ,SYEAR 2041>>
<TELL " ">)> ;"to keep the top line centered"
<TELL " ">
<PRINTD ,BODANSKI-SQUARE>
<CRLF>
<COND (<EQUAL? ,SYEAR 2041>
<TELL " (Train Station)" CR>)
(T
<TELL " (Church of God's Word)" CR>)>)
(<EQUAL? ,TUBE-AT-UNIVERSITY ,HERE .CURRENT-STATION>
<TELL " Elm Street and University Avenue" CR>
<PRINT-SPACES 12>
<TELL "(Rockvil U)|
(Brown Tubeline Terminus)" CR>)
(<EQUAL? ,TUBE-JUNCTION ,HERE .CURRENT-STATION>
<PRINT-SPACES 10>
<PRINTD ,SKYBUS-TERMINAL>
<TELL CR " (Transfer Between Brown and Red)" CR>)
(<NOT <MOBY-VERB?>>
<CANT-SEE ,TUBE-SIGN>)>)>>
<GLOBAL RED-TUBECAR-IN-STATION <>>
<GLOBAL BROWN-TUBECAR-IN-STATION <>>
<GLOBAL RED-POINTER 2>
<GLOBAL BROWN-POINTER 0>
<GLOBAL RED-NORTHBOUND <>>
<GLOBAL BROWN-NORTHBOUND <>>
<GLOBAL RED-TABLE
<TABLE
TUBE-AT-STADIUM
TUBE-AT-PARK
TUBE-JUNCTION
TUBE-AT-HEIMAN
TUBE-AT-FACTORY>>
<GLOBAL BROWN-TABLE
<TABLE
TUBE-AT-AIRPORT
TUBE-AT-BODANSKI
TUBE-JUNCTION
TUBE-AT-UNIVERSITY>>
<ROUTINE I-RED-TUBE ("AUX" OLD-WINNER)
<COND (,RED-TUBECAR-IN-STATION
<SETG RED-TUBECAR-IN-STATION <>>
<FCLEAR ,RED-TUBECAR-DOOR ,OPENBIT>
<COND (<EQUAL? ,SYEAR 2041>
<QUEUE I-RED-TUBE 4>)
(<EQUAL? ,SYEAR 2051>
<QUEUE I-RED-TUBE 6>)
(T
<QUEUE I-RED-TUBE 8>)>
<MOVE ,RED-TUBECAR-OBJECT ,RED-TUBECAR>
<MOVE ,RED-TUBECAR-DOOR ,RED-TUBECAR>
<COND (<AND <EQUAL? ,HERE ,RED-TUBECAR>
,RECORDING>
<PUT ,RECORDING-TABLE 8 1>)>
<COND (<EQUAL? ,HERE ,RED-TUBECAR
<GET ,RED-TABLE ,RED-POINTER>>
<TELL CR "The ">
<PRINTD ,RED-TUBECAR-OBJECT>
<TELL
"'s doors slide shut, and it glides away from the station">
<COND (<EQUAL? ,RED-POINTER 0 4>
<TELL
" in the same direction that it came from">)>
<TELL "." CR>)
(T
<RFALSE>)>)
(T
<COND (,RED-NORTHBOUND
<SETG RED-POINTER <- ,RED-POINTER 1>>)
(T
<SETG RED-POINTER <+ ,RED-POINTER 1>>)>
<COND (<EQUAL? ,RED-POINTER 0>
<SETG RED-NORTHBOUND <>>)
(<EQUAL? ,RED-POINTER 4>
<SETG RED-NORTHBOUND T>)>
<FSET ,RED-TUBECAR-DOOR ,OPENBIT>
<SETG RED-TUBECAR-IN-STATION T>
<COND (<EQUAL? ,SYEAR 2041>
<QUEUE I-RED-TUBE 2>)
(<EQUAL? ,SYEAR 2051>
<QUEUE I-RED-TUBE 3>)
(T
<QUEUE I-RED-TUBE 4>)>
<COND (<EQUAL? ,HERE ,RED-TUBECAR>
<COND (,RECORDING
<PUT ,RECORDING-TABLE 8 1>)>
<TELL CR
"The tubecar glides into a station, and you can make out a sign reading:" CR>
<SET OLD-WINNER ,WINNER>
<SETG WINNER ,PLAYER>
<PERFORM ,V?READ ,TUBE-SIGN>
<SETG WINNER .OLD-WINNER>
<TELL
"The car comes to a stop and the doors slide open." CR>)
(T
<MOVE ,RED-TUBECAR-OBJECT <GET ,RED-TABLE ,RED-POINTER>>
<MOVE ,RED-TUBECAR-DOOR <GET ,RED-TABLE ,RED-POINTER>>
<COND (<EQUAL? ,HERE <GET ,RED-TABLE ,RED-POINTER>>
<SETG P-IT-OBJECT ,RED-TUBECAR-OBJECT>
<TELL CR "A ">
<PRINTD ,RED-TUBECAR-OBJECT>
<TELL ", marked \"">
<COND (<EQUAL? ,HERE ,TUBE-AT-FACTORY>
<TELL "Omni-Fabb Plant">)
(<OR ,RED-NORTHBOUND
<EQUAL? ,HERE ,TUBE-AT-STADIUM>>
<PRINTD ,ROCKVIL-STADIUM>)
(T
<TELL "Omni-Fabb Plant">)>
<TELL "\" whooshes into the station on the ">
<COND (,RED-NORTHBOUND
<TELL "northeast">)
(T
<TELL "southwest">)>
<TELL " set of tracks. ">
<COND (<EQUAL? ,HERE ,TUBE-AT-STADIUM
,TUBE-AT-FACTORY>
<TELL "As the sign changes to \"">
<COND (<EQUAL? ,HERE ,TUBE-AT-STADIUM>
<TELL "Omni-Fabb Plant">)
(T
<PRINTD ,ROCKVIL-STADIUM>)>
<TELL ",\" t">)
(T
<TELL "T">)>
<DEBARK>)>)>)>>
<ROUTINE RED-TUBECAR-ENTER-F ()
<COND (<AND <PRSO? ,P?IN>
,RED-TUBECAR-IN-STATION
<EQUAL? ,HERE <GET ,RED-TABLE ,RED-POINTER>>>
<MOVE ,RED-TUBECAR-OBJECT ,RED-TUBECAR>
<MOVE ,RED-TUBECAR-DOOR ,RED-TUBECAR>
,RED-TUBECAR)
(<AND <PRSO? ,P?NE>
,RED-NORTHBOUND
,RED-TUBECAR-IN-STATION
<EQUAL? ,HERE <GET ,RED-TABLE ,RED-POINTER>>>
<MOVE ,RED-TUBECAR-OBJECT ,RED-TUBECAR>
<MOVE ,RED-TUBECAR-DOOR ,RED-TUBECAR>
,RED-TUBECAR)
(<AND <PRSO? ,P?SW>
<NOT ,RED-NORTHBOUND>
,RED-TUBECAR-IN-STATION
<EQUAL? ,HERE <GET ,RED-TABLE ,RED-POINTER>>>
<MOVE ,RED-TUBECAR-OBJECT ,RED-TUBECAR>
<MOVE ,RED-TUBECAR-DOOR ,RED-TUBECAR>
,RED-TUBECAR)
(T
<TELL "There's no tubecar there at the moment." CR>
<RFALSE>)>>
<ROUTINE RED-TUBECAR-EXIT-F ()
<COND (<FSET? ,RED-TUBECAR-DOOR ,OPENBIT>
<MOVE ,RED-TUBECAR-OBJECT <GET ,RED-TABLE ,RED-POINTER>>
<MOVE ,RED-TUBECAR-DOOR <GET ,RED-TABLE ,RED-POINTER>>
<GET ,RED-TABLE ,RED-POINTER>)
(T
<TELL "You can't leave the tubecar between stations!" CR>
<RFALSE>)>>
<ROUTINE I-BROWN-TUBE ("AUX" OLD-WINNER)
<COND (,BROWN-TUBECAR-IN-STATION
<SETG BROWN-TUBECAR-IN-STATION <>>
<FCLEAR ,BROWN-TUBECAR-DOOR ,OPENBIT>
<MOVE ,BROWN-TUBECAR-OBJECT ,BROWN-TUBECAR>
<MOVE ,BROWN-TUBECAR-DOOR ,BROWN-TUBECAR>
<COND (<AND <EQUAL? ,HERE ,BROWN-TUBECAR>
,RECORDING>
<PUT ,RECORDING-TABLE 8 1>)>
<COND (<EQUAL? ,SYEAR 2041>
<QUEUE I-BROWN-TUBE 4>)
(<EQUAL? ,SYEAR 2051>
<QUEUE I-BROWN-TUBE 6>)
(T
<QUEUE I-BROWN-TUBE 8>)>
<COND (<EQUAL? ,HERE ,BROWN-TUBECAR
<GET ,BROWN-TABLE ,BROWN-POINTER>>
<TELL CR "The doors of the ">
<PRINTD ,BROWN-TUBECAR-OBJECT>
<TELL " slide shut, and it glides out of the station">
<COND (<EQUAL? ,BROWN-POINTER 0 3>
<TELL
" in the same direction that it came from">)>
<TELL "." CR>)
(T
<RFALSE>)>)
(T
<COND (,BROWN-NORTHBOUND
<SETG BROWN-POINTER <- ,BROWN-POINTER 1>>)
(T
<SETG BROWN-POINTER <+ ,BROWN-POINTER 1>>)>
<COND (<EQUAL? ,BROWN-POINTER 0>
<SETG BROWN-NORTHBOUND <>>)
(<EQUAL? ,BROWN-POINTER 3>
<SETG BROWN-NORTHBOUND T>)>
<FSET ,BROWN-TUBECAR-DOOR ,OPENBIT>
<SETG BROWN-TUBECAR-IN-STATION T>
<COND (<EQUAL? ,SYEAR 2041>
<QUEUE I-BROWN-TUBE 2>)
(<EQUAL? ,SYEAR 2051>
<QUEUE I-BROWN-TUBE 3>)
(T
<QUEUE I-BROWN-TUBE 4>)>
<COND (<EQUAL? ,HERE ,BROWN-TUBECAR>
<COND (,RECORDING
<PUT ,RECORDING-TABLE 8 1>)>
<TELL CR
"The tubecar glides into a station, and you can make out a sign reading:" CR>
<SET OLD-WINNER ,WINNER>
<SETG WINNER ,PLAYER>
<PERFORM ,V?READ ,TUBE-SIGN>
<SETG WINNER .OLD-WINNER>
<TELL
"The car comes to a stop and the doors slide open." CR>)
(T
<MOVE ,BROWN-TUBECAR-OBJECT
<GET ,BROWN-TABLE ,BROWN-POINTER>>
<MOVE ,BROWN-TUBECAR-DOOR
<GET ,BROWN-TABLE ,BROWN-POINTER>>
<COND (<EQUAL? ,HERE <GET ,BROWN-TABLE ,BROWN-POINTER>>
<SETG P-IT-OBJECT ,BROWN-TUBECAR-OBJECT>
<TELL CR "A ">
<PRINTD ,BROWN-TUBECAR-OBJECT>
<TELL ", marked \"">
<COND (<EQUAL? ,HERE ,TUBE-AT-UNIVERSITY>
<TELL "University">)
(<OR ,BROWN-NORTHBOUND
<EQUAL? ,HERE ,TUBE-AT-AIRPORT>>
<TELL "Airport">)
(T
<TELL "University">)>
<TELL "\" whooshes into the station on the ">
<COND (,BROWN-NORTHBOUND
<TELL "southeast">)
(T
<TELL "northwest">)>
<TELL " set of tracks. ">
<COND (<EQUAL? ,HERE ,TUBE-AT-AIRPORT
,TUBE-AT-UNIVERSITY>
<TELL "As the sign changes to \"">
<COND (<EQUAL? ,HERE ,TUBE-AT-AIRPORT>
<TELL "University">)
(T
<TELL "Airport">)>
<TELL ",\" t">)
(T
<TELL "T">)>
<DEBARK>)>)>)>>
<ROUTINE BROWN-TUBECAR-ENTER-F ()
<COND (<PRSO? ,P?IN>
<COND (<AND <EQUAL? ,HERE
<GET ,BROWN-TABLE ,BROWN-POINTER>>
,BROWN-TUBECAR-IN-STATION>
<MOVE ,BROWN-TUBECAR-OBJECT ,BROWN-TUBECAR>
<MOVE ,BROWN-TUBECAR-DOOR ,BROWN-TUBECAR>
,BROWN-TUBECAR)
(T
<TELL "There's no train here at the moment." CR>
<RFALSE>)>)
(<AND <PRSO? ,P?SE>
,BROWN-NORTHBOUND
,BROWN-TUBECAR-IN-STATION
<EQUAL? ,HERE <GET ,BROWN-TABLE ,BROWN-POINTER>>>
<MOVE ,BROWN-TUBECAR-OBJECT ,BROWN-TUBECAR>
<MOVE ,BROWN-TUBECAR-DOOR ,BROWN-TUBECAR>
,BROWN-TUBECAR)
(<AND <PRSO? ,P?NW>
<NOT ,BROWN-NORTHBOUND>
,BROWN-TUBECAR-IN-STATION
<EQUAL? ,HERE <GET ,BROWN-TABLE ,BROWN-POINTER>>>
<MOVE ,BROWN-TUBECAR-OBJECT ,BROWN-TUBECAR>
<MOVE ,BROWN-TUBECAR-DOOR ,BROWN-TUBECAR>
,BROWN-TUBECAR)
(T
<TELL "There's no tubecar there at the moment." CR>
<RFALSE>)>>
<ROUTINE BROWN-TUBECAR-EXIT-F ()
<COND (<FSET? ,BROWN-TUBECAR-DOOR ,OPENBIT>
<MOVE ,BROWN-TUBECAR-OBJECT
<GET ,BROWN-TABLE ,BROWN-POINTER>>
<MOVE ,BROWN-TUBECAR-DOOR
<GET ,BROWN-TABLE ,BROWN-POINTER>>
<GET ,BROWN-TABLE ,BROWN-POINTER>)
(T
<TELL "You can't leave the tubecar between stations!" CR>
<RFALSE>)>>
;"city background"
<GLOBAL LIGHT-LEVEL 0> ;"0 = night, 3 = day"
<GLOBAL LAST-SUN-TIME 0>
<ROUTINE I-CITY-NOISES ()
<QUEUE I-CITY-NOISES <+ 6 <RANDOM 7>>>
<COND (<OR <NOT <FSET? ,HERE ,STREETBIT>>
<NOT <EQUAL? ,LIGHT-LEVEL 3>>
<FSET? ,HERE ,BADAREABIT>
<EQUAL? ,HERE ,AIRPORT-ENTRANCE ,BASE-GATE ,INTERCHANGE>
<EQUAL? ,SYEAR 2081>
<PROB 75>>
<RFALSE>)
(<AND <EQUAL? ,HERE ,ROCKVIL-UNIVERSITY>
<EQUAL? ,SYEAR 2061 2071>>
<RFALSE>)
(T
<CRLF>
<SETG FOLLOW-FLAG 9>
<QUEUE I-UNFOLLOW 2>
<COND (<EQUAL? ,SYEAR 2041>
<TELL <PICK-ONE ,2041-CITY-NOISES> CR>)
(<EQUAL? ,SYEAR 2051>
<TELL <PICK-ONE ,2051-CITY-NOISES> CR>)
(<EQUAL? ,SYEAR 2061>
<TELL <PICK-ONE ,2061-CITY-NOISES> CR>)
(<EQUAL? ,SYEAR 2071>
<TELL <PICK-ONE ,2071-CITY-NOISES> CR>)>
<RFALSE>)>>
<GLOBAL 2041-CITY-NOISES
<LTABLE
0
"A swirling wind catches a yellowed newspaper page, and blows it upward,
out of sight."
"The ground shakes as a huge truck rumbles down the street."
"You are startled as a taxi horn blares nearby."
"A skycopter drones by far overhead and disappears into the distance."
"Across the street, two policemen are frisking a youth. As you watch, they
usher the youth into a waiting car and fly off."
"A car alarm shrieks momentarily, then trails off into merciful silence."
"A stranger bumps against you, mumbles an apology, and is swallowed by
the crowds."
"A man with a shaved head asks your views on some obscure religious point,
then wanders off into the crowds.">>
<GLOBAL 2051-CITY-NOISES
<LTABLE
0
"A swirling wind catches a yellowed newspaper page, and blows it upward,
out of sight."
"A panhandler is working his way towards you, but misses you in the crowds."
"A dog runs up to you, barking, then vanishes into the crowds."
"A squeal of rubber against asphalt announces a near-collision between
two road vehicles."
"Two youths wander past carrying loud porta-stereos."
"A policeman strolls past, nonchalantly swinging his club."
"A distant siren pierces the steady background noise of the city streets."
"A stranger bumps against you, mumbles an apology, and is swallowed by
the crowds.">>
<GLOBAL 2061-CITY-NOISES
<LTABLE
0
"A distant siren pierces the steady background noise of the city streets."
"A police van pulls up, and two policemen load a sleeping drunk into the back."
"A pregnant woman walks past you, sobbing quietly. You turn, but she is gone,
swallowed up by the crowds."
"A BSF patrol is moving down the block, searching people indiscriminately.
Fortunately, they pass by without stopping you."
"A change in the wind brings you a sudden odor of something rotting. A moment
later, the odor is gone."
"A siren wails with increasing intensity, but then recedes without ever
revealing its source."
"A sharp crack, like a distant pistol shot, echoes among the buildings."
"A distant splintering explosion could only be the sound of another
skycar crash.">>
<GLOBAL 2071-CITY-NOISES
<LTABLE
0
"A sudden gust of wind blows some dust and paper around."
"A thin teenager passes you, kicking a dented tin can."
"A BSF patrol is moving down the block, searching people indiscriminately.
Fortunately, they pass by without stopping you."
"A Church Police Paddywagon coasts slowly down the street, stopping
here and there to take someone prisoner."
"An ugly mob bearing signs and banners with Church symbols, possibly looking
for a lynching victim, appears down the street. You begin looking for a
hiding place, but fortunately the mob turns onto an adjoining street. You
stand frozen for a minute as the sounds from the mob recede."
"Out of the corner of your eye, you glimpse something that looks like a
panhandler being dragged into an alley, but when you turn, you see nothing."
"A woman dressed in gauzy red fabrics, quite obviously a prostitute, enters
a building with a man garbed in Church robes."
"A scream comes from a nearby building, but before you can even determine
the direction, it has stopped.">>
<ROUTINE I-MUG ("AUX" X)
<SET X <* <+ <- 3 ,LIGHT-LEVEL> 1> 10>> ;"range is 10 to 40"
<COND (<NOT <FSET? ,HERE ,OUTSIDEBIT>>
<SET X 0>)
(<EQUAL? ,HERE ,ATHLETIC-FIELD>
<SET X 0>)
(<NOT <OR <FSET? ,HERE ,BADAREABIT>
<FSET? ,HERE ,PARKBIT>>>
<SET X </ .X 3>>) ;"Safe area? Chance is cut by one-third">
<COND (<PROB .X>
<SCORE 125> ;"2 points"
<INCREMENT-TIME 14>
<SETG MUGGED T>
<TELL CR
"CRACK! Something hits you from behind. As you crumple to the ground, you
catch a glimpse of someone wielding a metal bar. Unknown minutes later,
your head clears, and you stagger slowly to your feet">
<COND (<FIRST? ,PLAYER>
<TELL ". Everything you were carrying is gone">
<ROB ,PLAYER ,LOCAL-GLOBALS>)>
<TELL "." CR>)
(T
<QUEUE I-MUG 7>
<RFALSE>)>>
<GLOBAL BRUISED <>>
<GLOBAL MUGGED <>>
;"objects"
<OBJECT KEY
(DESC "key")
(SYNONYM KEY)
(ADJECTIVE YOUR MY)
(SIZE 2)
(FLAGS TAKEBIT KEYBIT)
(ACTION KEY-F)>
<ROUTINE KEY-F ()
<COND (<VERB? EXAMINE>
<TELL "It's the key to the doors of your apartment">
<COND (<EQUAL? ,SYEAR 2061 2071>
<TELL ", ">
<COND (<EQUAL? ,SYEAR 2061>
<TELL "slightly">)
(T
<TELL "very">)>
<TELL " worn with age">)>
<TELL "." CR>)>>
<OBJECT WALLET
(DESC "wallet")
(SYNONYM WALLET)
(ADJECTIVE YOUR MY)
(SIZE 7)
(CAPACITY 4)
(FLAGS CONTBIT TAKEBIT SEARCHBIT)>
<OBJECT DRIVERS-LICENSE
(LOC WALLET)
(DESC "driver's license")
(SYNONYM LICENSE)
(ADJECTIVE YOUR MY DRIVER\'S DRIVERS)
(SIZE 1)
(FLAGS READBIT TAKEBIT)
(TEXT
"\"Perry Simm ID# 909-147-3838|
Parkview Apartments, Southway|
Rockvil, SD, Zone 55-18901\"")>
<GLOBAL CREDIT 0>
<OBJECT CREDIT-CARD
(LOC WALLET)
(DESC "credit card")
(SYNONYM CARD)
(ADJECTIVE YOUR MY CREDIT)
(SIZE 1)
(FLAGS READBIT TAKEBIT)
(TEXT
"\"Perry Simm|
Acct No 30867592-10\"")>
<OBJECT RATION-CARD
(DESC "ration card")
(SYNONYM CARD)
(ADJECTIVE YOUR MY RATION)
(SIZE 1)
(FLAGS READBIT TAKEBIT)
(TEXT
"\"Perry Simm|
ID No 30867592-10|
Class C\"")
(ACTION RATION-CARD-F)>
<ROUTINE RATION-CARD-F ()
<COND (<AND <EQUAL? ,SYEAR 2071>
<VERB? GIVE SHOW>
<PRSI? ,SPEAR-CARRIER>
<EQUAL? ,HERE ,FOODVILLE-1 ,FOODVILLE-2>>
<DISABLE <INT I-FOODVILLE>>
<COND (<FSET? ,SOY-PATTY ,TOUCHBIT>
<TELL
"The clerk looks incensed and sets off a loud buzzer. \"You lousy
cheater,\" he screams, \"you've already had your ration for this
period!\" Two policemen, wearing patches depicting the familiar black
radar symbol of the Church, grab you and drag you off." CR CR>
<QUEUE I-JAIL <+ 30 <RANDOM 10>>>
<GOTO ,JAIL-CELL>)
(<EQUAL? <MOD ,SDATE 3> 2>
<MOVE ,SOY-PATTY ,PLAYER>
<FSET ,SOY-PATTY ,TOUCHBIT>
<MOVE ,RATION-CARD ,PLAYER>
<TELL
"The clerk electronically \"punches\" your card, hands it back, then
rudely thrusts a smelly package in your face. \"Move along, old man.
There's others waitin' ya know.\"" CR>)
(T
<SCORE 135> ;"2 points"
<MOVE ,RATION-CARD ,PLAYER>
<TELL
"The clerk tosses your card back at you in disgust. \"It's not your
day, you senile idiot.\" He motions to a bouncer, who pushes you
roughly out the door." CR CR>
<COND (<EQUAL? ,HERE ,FOODVILLE-1>
<GOTO ,SOUTHWAY-AND-PARK>)
(T
<GOTO ,MAIN-AND-WICKER>)>)>)>>
<OBJECT SLOT
(LOC LOCAL-GLOBALS)
(DESC "slot")
(SYNONYM SLOT)
(ADJECTIVE CREDIT CARD)
(ACTION SLOT-F)>
<ROUTINE SLOT-F ()
<COND (<AND <EQUAL? ,HERE ,BODANSKI-SQUARE>
<EQUAL? ,SYEAR 2061 2071>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,SLOT>)
(<AND <EQUAL? ,HERE ,JOYBOOTH>
<EQUAL? ,SYEAR 2071>
<NOT <MOBY-VERB?>>>
<CANT-SEE ,SLOT>)
(<AND <VERB? PUT>
<PRSO? ,CREDIT-CARD>>
<MOVE ,CREDIT-CARD ,PLAYER>
<COND (<AND <EQUAL? ,HERE ,JOYBOOTH>
<FSET? ,HEADSET ,WORNBIT>>
<COND (,JOYBOOTH-USED
<TELL
"You almost succumb and put your card in the slot again, but years of
warning messages about joybooth addiction finally prevail and prevent
you from going ahead with it." CR>
<RTRUE>)
(<L? ,CREDIT 12>
<TELL
"A small \"Insufficient Credit\" light flashes incessantly for a moment." CR>
<RTRUE>)>
<SETG JOYBOOTH-USED T>
<SETG CREDIT <- ,CREDIT 12>>
<SETG ELAPSED-TIME 30>
<TELL
"A wave of warm contentment washes over you as the joybooth, and the world,
recede. You barely notice as the headset probes the pleasure and imagination
centers of your brain, and you feel yourself moving down a tunnel of swirling
colors and lights, a warm breeze blowing in your face.|
|
The roller coaster whooshes out of the tunnel, and you scream, not from fear
but from the exhilaration of the experience. Rav, scrunched next to you in the
seat, laughs and laughs and laughs and Frita laughs and laughs and hands you
some cotton candy and suddenly the roller coaster is gone and the park is gone|
|
and you're swimming in a lake of warm clear water. Birds swoop and dive
overhead and land on your outstretched arms and sing little songs in your
ear and dart away as Father calls from the top of the stairs that dinner's
ready and you'd better be on time because it's your favorite cinnamon pie
for dessert and if you're not out of the lake in five minutes we'll miss
our bus and the vacation's almost over as a cloud passes in front of the
sun and a chill passes over you|
|
and you come to realize that you're ">
<COND (<EQUAL? <LOC ,PLAYER> ,SEAT>
<TELL "sitting">)
(T
<TELL "standing">)>
<TELL
" in a tiny, dim joybooth, shivering from imagined cold. You feel depressed
that the experience has ended; an almost physical longing to return to your
fantasy, to the lost innocence of a carefree childhood." CR>
<RTRUE>)
(<EQUAL? ,HERE ,BODANSKI-SQUARE>
<PERFORM ,V?BUY ,NEWSPAPER>
<RTRUE>)
(<EQUAL? ,HERE ,CINEMA>
<PERFORM ,V?BUY ,TICKET>
<RTRUE>)
(T
<TELL "Nothing happens." CR>)>)
(<AND <VERB? PUT>
<PRSO? ,DRIVERS-LICENSE ,RATION-CARD>>
<TELL "Nothing happens." CR>)>>
;"spear carrier list:
LIBRARIAN in Main Library
NURSE in Hospital
PROPRIETOR in Gun Shop, Book Store
MAITRE D' in The Coachman, Simon's
CLERK in Foodville, Hardware Store, Drug Store, Liquor Store
DOORMAN and SECURITY GUARD throughout"
<OBJECT SPEAR-CARRIER
(LOC LOCAL-GLOBALS)
(SDESC "")
(SYNONYM CLERK LIBRARIAN NURSE PROPRIETO PROPRIETE PROP BARTENDER
D\' DOORMAN GUARD MAN WAITER CASHIER TELLER ORDERLY)
(ADJECTIVE MAITRE SECURITY)
(FLAGS ACTORBIT NDESCBIT)
(GENERIC GENERIC-GUARD-F)
(ACTION SPEAR-CARRIER-F)>
<ROUTINE SPEAR-CARRIER-F ()
<COND (<EQUAL? ,WINNER ,SPEAR-CARRIER>
<COND (<AND <EQUAL? ,HERE ,FOODVILLE-1 ,FOODVILLE-2>
,CLERK-WAITING>
<I-FOODVILLE> ;"clerk is about to speak anyway")
(<AND <VERB? YES>
<EQUAL? ,HERE ,SIMONS ,THE-COACHMAN>
<EQUAL? ,MEAL-STATUS 1>>
<V-YES>)
(<AND <VERB? OPEN>
<PRSO? ,GATE>>
<DO-WALK ,P?NW>
<RTRUE>)
(<AND <VERB? TELL-ABOUT>
<PRSO? ,ME>>
<COND (<AND <PRSI? ,MAIN-LIBRARY-OBJECT>
<EQUAL? ,HERE ,MAIN-LIBRARY>>
<TELL
"The " D ,SPEAR-CARRIER " shrugs. \"It's not a bad place to work.\"" CR>)
(T
<TELL
"The " D ,SPEAR-CARRIER " gives you an odd look.">
<COND (<PRSO? ,MINDEX>
<TELL " \"It's an illegal drug.\"">)>
<CRLF>)>)
(<OR <AND <VERB? SHOW>
<PRSO? ,GUN>
<PRSI? ,ME>>
<AND <VERB? SSHOW>
<PRSO? ,ME>
<PRSI? ,GUN>>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?BUY ,GUN>
<SETG WINNER ,SPEAR-CARRIER>
<RTRUE>)
(<OR <AND <VERB? SHOW>
<PRSO? ,BOOKS>
<PRSI? ,ME>>
<AND <VERB? SSHOW>
<PRSO? ,ME>
<PRSI? ,BOOKS>>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?BUY ,BOOKS>
<SETG WINNER ,SPEAR-CARRIER>
<RTRUE>)
(<AND <VERB? SGIVE>
<PRSO? ,ME>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?BUY ,PRSI>
<SETG WINNER ,SPEAR-CARRIER>
<RTRUE>)
(<EQUAL? ,HERE ,MAIN-LIBRARY>
<TELL
"\"Ssshhh!\" hisses the librarian. \"Be quiet!\"" CR>
<CLEAR-BUF>)
(T
<SETG YES-NO-FLAG 12>
<QUEUE I-YES-NO 2>
<TELL "\"Can I help you?\"" CR>
<CLEAR-BUF>)>)
(<AND <EQUAL? ,HERE ,SIMONS ,THE-COACHMAN>
<VERB? WAIT-FOR>>
<PERFORM ,V?BUY ,MEAL>
<RTRUE>)
(<VERB? ASK-FOR>
<COND (<PRSI? ,MENU>
<SETG PRSI ,MEAL>)>
<COND (<AND <EQUAL? ,HERE ,MAIN-LIBRARY>
<PRSI? ,BOOK ,BOOKS>>
<PERFORM ,V?TAKE ,BOOKS>
<RTRUE>)
(T
<PERFORM ,V?BUY ,PRSI>
<RTRUE>)>)
(<AND <VERB? GIVE>
<PRSO? ,CREDIT-CARD>
<EQUAL? ,HERE ,SIMONS ,THE-COACHMAN>
<EQUAL? ,MEAL-STATUS 4>>
<SETG WAITER-COUNTER 0>
<MOVE ,CREDIT-CARD ,SPEAR-CARRIER>
<QUEUE I-MEAL 9>
<TELL
"\"Thank you, sir. I'll be back shortly with your meal.\"" CR>)
(<AND <VERB? GIVE>
<PRSO? ,CREDIT-CARD>
<EQUAL? <GETP ,SPEAR-CARRIER ,P?SDESC> "teller">>
<TELL "You wait ">
<COND (<EQUAL? ,SYEAR 2041>
<TELL "a minute">)
(<EQUAL? ,SYEAR 2051>
<SETG ELAPSED-TIME 7>
<TELL "several minutes">)
(T
<SETG ELAPSED-TIME 22>
<TELL "a long time">)>
<TELL
" for a teller to become available. You finally reach the teller, and hand
her your card, which she runs through a reader. Looking confused, she says
\"You only have one account, so there's no transfer to be performed.\"" CR>)
(<AND <VERB? CALL>
<EQUAL? ,HERE ,SIMONS ,THE-COACHMAN>>
<COND (<EQUAL? ,MEAL-STATUS 1>
<TELL "He's right here." CR>)
(<EQUAL? ,MEAL-STATUS 2>
<SETG MEAL-STATUS 1> ;"so he'll ask PARTY OF ONE again"
<RTRUE> ;"unfortunately, will cause extra CR")
(T
<PERFORM ,V?BUY ,MEAL>
<RTRUE>)>)
(<AND <VERB? THANK>
<EQUAL? ,HERE ,BOOKSTORE>
<NOT <FSET? ,BOOK ,TRYTAKEBIT>>>
<TELL
"\"No, my pleasure!\" The proprietor smiles kindly at you." CR>)
(<AND <VERB? FOLLOW>
<EQUAL? ,HERE ,SIMONS ,THE-COACHMAN>>
<SETG FOLLOW-FLAG 9>
<QUEUE I-UNFOLLOW 2>
<MOVE ,SPEAR-CARRIER ,LOCAL-GLOBALS>
<V-FOLLOW>
<MOVE ,SPEAR-CARRIER ,HERE>)
(<AND <VERB? FOLLOW>
<EQUAL? ,FOLLOW-FLAG 13>>
<DO-WALK ,P?SW>)
;(<VERB? ASK-ABOUT>
<TELL "The " D ,SPEAR-CARRIER " gives you an odd look.">
<COND (<PRSO? ,MINDEX>
<TELL " \"It's an illegal drug.\"">)>
<CRLF>)>>