7497 lines
220 KiB
Plaintext
7497 lines
220 KiB
Plaintext
|
|
|
|
.FUNCT ROCKVILLE-CENTRE-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "The name of this plaza tells it all. The "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "well-maintained"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2051,2061 \?ELS14
|
|
PRINTI "aging"
|
|
JUMP ?CND8
|
|
?ELS14: CALL2 SCORE,11
|
|
PRINTI "crumbling"
|
|
?CND8: PRINTI " 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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DUNBARS-ENTER-F
|
|
GRTR? STIME,1260 /?THN6
|
|
LESS? STIME,600 \?ELS5
|
|
?THN6: CALL2 CLOSED-PRINT,STR?15
|
|
RFALSE
|
|
?ELS5: EQUAL? SYEAR,2071 \?ELS9
|
|
CALL2 SCORE,122
|
|
PRINTI "A security guard stops you at the doorway, scrutinizing you with a haughty sneer. ""Do you have an appointment?"""
|
|
CALL1 YES?
|
|
ZERO? STACK /?ELS14
|
|
CRLF
|
|
PRINTI """"
|
|
?PRG17: PRINTI "The name on that appointment?"""
|
|
CRLF
|
|
CRLF
|
|
PRINTI ">"
|
|
READ P-INBUF,P-LEXV
|
|
GETB P-LEXV,P-LEXWORDS
|
|
ZERO? STACK \?REP18
|
|
PRINTI """Sorry, I missed that. "
|
|
JUMP ?PRG17
|
|
?REP18: PRINTI """I'm sorry, sir. There's no appointment in that name."""
|
|
JUMP ?CND12
|
|
?ELS14: PRINTI """Next time, please call for an appointment beforehand."""
|
|
?CND12: PRINTI " The guard leads you firmly away from the building before leaving."
|
|
CRLF
|
|
RFALSE
|
|
?ELS9: RETURN DUNBARS
|
|
|
|
|
|
.FUNCT DUNBARS-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?16
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS7
|
|
PRINTI "You have entered a"
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI "n upscale"
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? SYEAR,2051 \?ELS16
|
|
PRINTI " swank"
|
|
JUMP ?CND10
|
|
?ELS16: EQUAL? SYEAR,2061 \?CND10
|
|
PRINTI " very swank"
|
|
?CND10: PRINTI " department store, "
|
|
EQUAL? SYEAR,2041 \?ELS27
|
|
PRINTI "crowded despite its rather steep prices"
|
|
JUMP ?CND25
|
|
?ELS27: EQUAL? SYEAR,2051 \?ELS31
|
|
PRINTI "an elegant boutique with a wealthy clientele"
|
|
JUMP ?CND25
|
|
?ELS31: PRINTI "catering exclusively to the wealthy elite"
|
|
?CND25: EQUAL? SYEAR,2061 \?ELS40
|
|
PRINTI ". Racks in this part of the store are filled with plainer garments"
|
|
JUMP ?CND38
|
|
?ELS40: PRINTI ". Racks all around you are stocked with the latest fashions"
|
|
?CND38: PRINTI ". The exit to the street is northwest."
|
|
RTRUE
|
|
?ELS7: EQUAL? RARG,M-END \FALSE
|
|
CALL CLOSING-TIME,1260,STR?17,STR?18,ROCKVIL-CENTRE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT DUNBARS-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,DUNBARS \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS16
|
|
EQUAL? HERE,ROCKVIL-CENTRE \?ELS21
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS21: CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,DUNBARS \?ELS32
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS32: PRINTR "Dunbar's, a venerable shop, specializes in fashions for both sexes."
|
|
|
|
|
|
.FUNCT RACKS-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTR "The clothes are diverse and fashionable, and quite steeply priced."
|
|
?ELS10: EQUAL? SYEAR,2051 \?ELS14
|
|
PRINTR "The clothes are quite stylish, and virtually all out of your price range."
|
|
?ELS14: PRINTR "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."
|
|
|
|
|
|
.FUNCT CLOTHES-F,GARMENT
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
EQUAL? HERE,DUNBARS \?ELS10
|
|
FSET? SWEATER,TRYTAKEBIT \?THN16
|
|
IN? SCARF,LOCAL-GLOBALS /?ELS15
|
|
?THN16: CALL1 CLOTHES-BUDGET
|
|
RSTACK
|
|
?ELS15: EQUAL? SYEAR,2041 \?ELS22
|
|
SET 'GARMENT,SWEATER
|
|
PRINTI "You look through many racks, finding nothing you like, and finally select a brightly colored myalon sweater that fits you perfectly"
|
|
JUMP ?CND20
|
|
?ELS22: SET 'GARMENT,VEST
|
|
PRINTI "After wincing at the prices, you pick out a thin, imitation wool vest"
|
|
?CND20: CALL TOO-POOR,120,GARMENT
|
|
ZERO? STACK \TRUE
|
|
EQUAL? SYEAR,2041 \?ELS34
|
|
MOVE SWEATER,PLAYER
|
|
FCLEAR SWEATER,NDESCBIT
|
|
FCLEAR SWEATER,TRYTAKEBIT
|
|
JUMP ?CND32
|
|
?ELS34: MOVE VEST,PLAYER
|
|
FCLEAR VEST,NDESCBIT
|
|
FCLEAR VEST,TRYTAKEBIT
|
|
?CND32: PRINTI ". A clerk removes the anti-theft tag from the garment"
|
|
CALL2 DEBIT,120
|
|
PRINTR "."
|
|
?ELS10: EQUAL? HERE,HEIMAN-VILLAGE,ROCKVIL-MALL \?ELS42
|
|
LESS? STIME,480 /?THN46
|
|
GRTR? STIME,1380 \?ELS45
|
|
?THN46: PRINTR "Every store is closed for the night."
|
|
?ELS45: FSET? SWEATER,TRYTAKEBIT \?THN52
|
|
FSET? VEST,TRYTAKEBIT \?THN52
|
|
IN? SCARF,LOCAL-GLOBALS /?CND43
|
|
?THN52: CALL1 CLOTHES-BUDGET
|
|
RTRUE
|
|
?CND43: PUTP SPEAR-CARRIER,P?SDESC,STR?16
|
|
PRINTI "You enter a clothing store, but they have little that suits your taste. You finally pick out a conservative male scarf"
|
|
CALL TOO-POOR,39,SCARF
|
|
ZERO? STACK /?CND56
|
|
CRLF
|
|
PRINTR "You meekly leave the store."
|
|
?CND56: MOVE SCARF,PLAYER
|
|
CALL2 DEBIT,39
|
|
PRINTR "."
|
|
?ELS42: CALL2 CANT-BUY,CLOTHES
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?WEAR,V?TAKE \?ELS66
|
|
EQUAL? HERE,DUNBARS \?ELS71
|
|
FSET? CLOTHES,TRYTAKEBIT \?ELS71
|
|
PRINTR "You haven't paid for them."
|
|
?ELS71: PRINTR "You're already wearing your clothes!"
|
|
?ELS66: EQUAL? PRSA,V?TAKE-OFF,V?REMOVE \?ELS81
|
|
CALL1 IN-APARTMENT?
|
|
ZERO? STACK /?ELS86
|
|
PRINTR "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."
|
|
?ELS86: PRINTR "You'd be arrested if you removed your clothes in public!"
|
|
?ELS81: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,DUNBARS \?ELS99
|
|
CALL PERFORM,V?EXAMINE,RACKS
|
|
RTRUE
|
|
?ELS99: CALL PERFORM,V?EXAMINE,ME
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SWEATER-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
CALL PERFORM,V?BUY,CLOTHES
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?TAKE \?ELS7
|
|
FSET? SWEATER,TRYTAKEBIT \?ELS7
|
|
CALL PERFORM,V?TAKE,CLOTHES
|
|
RTRUE
|
|
?ELS7: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
FSET? SWEATER,TRYTAKEBIT /FALSE
|
|
PRINTR "It is a bright and colorful sweater, made of myalon."
|
|
|
|
|
|
.FUNCT VEST-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
CALL PERFORM,V?BUY,CLOTHES
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?TAKE \?ELS7
|
|
FSET? VEST,TRYTAKEBIT \?ELS7
|
|
CALL PERFORM,V?TAKE,CLOTHES
|
|
RTRUE
|
|
?ELS7: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
FSET? VEST,TRYTAKEBIT /FALSE
|
|
PRINTR "The vest is of thin imitation wool."
|
|
|
|
|
|
.FUNCT SCARF-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
CALL PERFORM,V?BUY,CLOTHES
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "The scarf is simple and conservatively styled."
|
|
|
|
|
|
.FUNCT CITY-HALL-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "The city's seat of government is an old concrete-slab building dating back to the late twentieth century. "
|
|
EQUAL? SYEAR,2071 \?CND8
|
|
CALL2 SCORE,11
|
|
PRINTI "The interior is decrepit; it looks as though no maintenance has been performed here for years. "
|
|
?CND8: PRINTI "The only exit is east."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL CLOSING-TIME,1080,STR?19,STR?18,ROCKVIL-CENTRE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CITY-HALL-ENTER-F
|
|
GRTR? STIME,600 \?ELS5
|
|
LESS? STIME,1080 \?ELS5
|
|
RETURN CITY-HALL
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?20
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CITY-HALL-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,CITY-HALL \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \FALSE
|
|
EQUAL? HERE,ROCKVIL-CENTRE \?ELS21
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS21: CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BENCH-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
IN? GOVERNMENT-OFFICIAL,HERE \FALSE
|
|
PRINTI "A "
|
|
PRINTD GOVERNMENT-OFFICIAL
|
|
PRINTR " is sitting on the bench."
|
|
|
|
|
|
.FUNCT GOVERNMENT-OFFICIAL-F
|
|
EQUAL? PRSA,V?TELL /?THN6
|
|
EQUAL? GOVERNMENT-OFFICIAL,WINNER \?ELS5
|
|
?THN6: SET 'PRSO,GOVERNMENT-OFFICIAL
|
|
MOVE OFFICIAL-SNACK,LOCAL-GLOBALS
|
|
CALL1 BRIEF-CHAT
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
ZERO? RECORDING /?CND11
|
|
PUT RECORDING-TABLE,2,1
|
|
?CND11: PRINTI "cheerily comments on how well things in the city are running, and how rewarding his job has been lately"
|
|
PRINT OFFICIAL-LEAVES
|
|
CRLF
|
|
JUMP ?CND8
|
|
?ELS10: CALL2 SCORE,136
|
|
PRINTI "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."
|
|
CRLF
|
|
?CND8: CALL1 CLEAR-BUF
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?SIT-NEXT-TO \FALSE
|
|
CALL PERFORM,V?SIT,BENCH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SNACK-F
|
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
|
PRINT IT-LOOKS-LIKE
|
|
PRINTR " some kind of large donut or cupcake."
|
|
?ELS5: EQUAL? PRSA,V?EAT,V?TAKE \FALSE
|
|
PRINTR "It's not yours."
|
|
|
|
|
|
.FUNCT MAIN-AND-KENNEDY-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is the heart of the downtown area, flanked by classical glass-and-steel skyscrapers. The skybus terminal "
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
CALL2 SCORE,12
|
|
PRINTI "on the northwest corner has been closed for several years, following an unprofitable experiment to sell the skybus system to a private company"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "is on the northwest corner"
|
|
?CND8: PRINTI ". To the southwest is an entrance to "
|
|
EQUAL? SYEAR,2061 \?ELS21
|
|
PRINTI "a "
|
|
PRINTD CONSTRUCTION-OBJECT
|
|
JUMP ?CND19
|
|
?ELS21: EQUAL? SYEAR,2071 \?ELS25
|
|
PRINTI "luxury townhouses"
|
|
JUMP ?CND19
|
|
?ELS25: PRINTI "Kennedy Park"
|
|
?CND19: PRINTI "."
|
|
CRLF
|
|
CRLF
|
|
CALL PERFORM,V?EXAMINE,INFOTECH-BUILDING
|
|
CRLF
|
|
PRINT SILICORP-DESCRIPTION
|
|
PRINTI " From this intersection, Main Street runs east and west, and Kennedy Street can take you north or south."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SILICORP-BUILDING-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,MAIN-AND-KENNEDY \?ELS5
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS9
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINT SILICORP-DESCRIPTION
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT INFOTECH-BUILDING-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,MAIN-AND-KENNEDY \?ELS5
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS9
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "The skyscraper on the northeast corner is one of Rockvil's most famous landmarks, the "
|
|
PRINTD INFOTECH-BUILDING
|
|
PRINTI ". This 130-story office tower is the tallest building in the city and the "
|
|
EQUAL? SYEAR,2061 \?ELS20
|
|
PRINTI "fifth"
|
|
JUMP ?CND18
|
|
?ELS20: EQUAL? SYEAR,2071 \?ELS24
|
|
PRINTI "third"
|
|
JUMP ?CND18
|
|
?ELS24: PRINTI "sixth"
|
|
?CND18: PRINTR " tallest in the world."
|
|
|
|
|
|
.FUNCT SKYBUS-TERMINAL-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
CALL2 SCORE,12
|
|
PRINT BOARDED-OVER
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN SKYBUS-TERMINAL
|
|
|
|
|
|
.FUNCT SKYBUS-TERMINAL-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2041 \?ELS8
|
|
PRINTI "This is part of the Commuter Skybus System (CSS), built during the 2010's by the now-defunct Federal Energy Independence Agency. "
|
|
JUMP ?CND6
|
|
?ELS8: EQUAL? SYEAR,2061 \?CND6
|
|
CALL2 SCORE,123
|
|
PRINTI "This station, built long ago by government funds, looks run-down and in need of repair. "
|
|
?CND6: PRINTI "Skybuses depart from this terminal for many suburban points. The "
|
|
PRINTD BOARDING-PLATFORM
|
|
PRINTI "s lie to the northwest, and the exit to the street is southeast. A stairway leads downward."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BOARDING-PLATFORM-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,SKYBUS-TERMINAL \?ELS10
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS10: FSET? HERE,TUBEBIT \FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE,V?EXIT \FALSE
|
|
EQUAL? HERE,SKYBUS-TERMINAL \?ELS21
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS21: CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SKYBUS-F
|
|
EQUAL? PRSA,V?THROUGH \?ELS5
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?FIND,V?EXAMINE,V?WAIT-FOR \?ELS7
|
|
PRINTR "You'd have to be on the skybus boarding platforms for that!"
|
|
?ELS7: CALL1 MOBY-VERB?
|
|
ZERO? STACK \FALSE
|
|
CALL2 CANT-SEE,SKYBUS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SKYBUS-TERMINAL-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,SKYBUS-TERMINAL \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,MAIN-AND-KENNEDY \?ELS14
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS14: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?UP
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \FALSE
|
|
EQUAL? HERE,SKYBUS-TERMINAL \?ELS23
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TOWNHOUSE-F
|
|
EQUAL? SYEAR,2071 /?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,TOWNHOUSE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \FALSE
|
|
EQUAL? HERE,MAIN-AND-KENNEDY \?ELS14
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,ELM-AND-KENNEDY \?ELS16
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS16: EQUAL? HERE,ELM-AND-PARK \FALSE
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT KENNEDY-PARK-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
PRINTI "The entrances to the townhouses are all locked."
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN KENNEDY-PARK
|
|
|
|
|
|
.FUNCT KENNEDY-PARK-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2041,2051 \?ELS10
|
|
FSET KENNEDY-PARK,NARTICLEBIT
|
|
PUTP KENNEDY-PARK,P?SDESC,STR?25
|
|
RTRUE
|
|
?ELS10: FCLEAR KENNEDY-PARK,NARTICLEBIT
|
|
PUTP KENNEDY-PARK,P?SDESC,STR?26
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2061 \?ELS19
|
|
CALL2 SCORE,13
|
|
PRINTI "There is a construction project in progress here:"
|
|
CRLF
|
|
CALL PERFORM,V?READ,GLOBAL-SIGN
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS19: PRINTI "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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WATERPOOL-F
|
|
EQUAL? PRSA,V?SWIM,V?BOARD,V?THROUGH \?ELS5
|
|
PRINTR "Swimming in public fountains is illegal."
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE
|
|
PRINTR "You look into the waters of the pool, hoping to find some coins, or perhaps an unusual fish. However, you discover nothing of interest."
|
|
|
|
|
|
.FUNCT STATUE-F
|
|
EQUAL? PRSA,V?READ \?ELS5
|
|
CALL PERFORM,V?READ,PLAQUE
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "There is a small bronze plaque at the base of the statue."
|
|
|
|
|
|
.FUNCT ELM-AND-PARK-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is the intersection of the north-south Park Street and the east-west Elm Street. A "
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PRINTI "cluster of townhouses"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2061 \?ELS14
|
|
PRINTD CONSTRUCTION-OBJECT
|
|
JUMP ?CND8
|
|
?ELS14: PRINTI "park entrance"
|
|
?CND8: PRINTI " is on the northeast corner, and large, old-fashioned edifices occupy the other three corners of the intersection."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT COURTHOUSE-ENTER-F
|
|
GRTR? STIME,990 /?THN6
|
|
LESS? STIME,570 \?ELS5
|
|
?THN6: CALL2 CLOSED-PRINT,STR?28
|
|
RFALSE
|
|
?ELS5: RETURN COURTHOUSE
|
|
|
|
|
|
.FUNCT COURTHOUSE-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "The "
|
|
PRINTD COURTHOUSE-OBJECT
|
|
PRINTI " is of the same vintage as the other governmental buildings in the area, dating from around 1990 or so. An exit leads southeast."
|
|
GRTR? STIME,570 \FALSE
|
|
LESS? STIME,1080 \FALSE
|
|
CRLF
|
|
CRLF
|
|
PRINTI "The court is in session. "
|
|
EQUAL? SYEAR,2041 \?ELS21
|
|
PRINTI "A woman is being tried for petty theft"
|
|
JUMP ?CND19
|
|
?ELS21: EQUAL? SYEAR,2051 \?ELS25
|
|
CALL2 SCORE,14
|
|
PRINTI "Two men face the death penalty for attempted rape"
|
|
JUMP ?CND19
|
|
?ELS25: EQUAL? SYEAR,2061 \?ELS29
|
|
CALL2 SCORE,15
|
|
PRINTI "An Asian-American juvenile has just been handed a life sentence for violating the Uniform Morality Code"
|
|
JUMP ?CND19
|
|
?ELS29: EQUAL? SYEAR,2071 \?CND19
|
|
CALL2 SCORE,16
|
|
PRINTI "Twenty pathetic, emaciated people are being tattooed for upcoming Execution Matches for cheating on their Food Allowance"
|
|
?CND19: PRINTI "."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL SHOP-CLOSES,990,STR?29,STR?30,ELM-AND-PARK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT COURTHOUSE-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,COURTHOUSE \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,COURTHOUSE \?ELS21
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,COURTHOUSE \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT POLICE-STATION-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,ELM-AND-PARK \?ELS10
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS10: CALL GLOBAL-IN?,POLICE-STATION-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,POLICE-STATION \?ELS21
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,POLICE-STATION \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT POLICE-STATION-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is the headquarters for all the city's precinct stations. The building is at least "
|
|
SUB SYEAR,1966
|
|
PRINTN STACK
|
|
PRINTI " years old"
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI ", but has obviously been recently renovated"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2061,2071 \?CND8
|
|
PRINTI ", and is obviously "
|
|
EQUAL? SYEAR,2071 \?CND17
|
|
PRINTI "badly "
|
|
?CND17: PRINTI "in need of renovation"
|
|
?CND8: PRINTI ". Behind the reception desk, "
|
|
EQUAL? SYEAR,2041,2051 \?ELS28
|
|
PRINTI "crowded "
|
|
JUMP ?CND26
|
|
?ELS28: EQUAL? SYEAR,2071 \?CND26
|
|
PRINTI "empty "
|
|
?CND26: PRINTI "jail cells are visible. The desk officer looks at you expectantly. The only exit is northeast."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT POLICEMAN-F
|
|
EQUAL? POLICEMAN,WINNER \?ELS5
|
|
PRINTI """Unless you've got a crime to report, scram."""
|
|
CRLF
|
|
CALL1 CLEAR-BUF
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?TELL-ABOUT \FALSE
|
|
EQUAL? PRSI,CRIMINAL,CRIME \FALSE
|
|
PRINTR "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."
|
|
|
|
|
|
.FUNCT I-JAIL
|
|
CALL2 SCORE,17
|
|
CALL2 JIGS-UP,STR?32
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BLANKET-F
|
|
EQUAL? PRSA,V?PUT-ON \?ELS5
|
|
EQUAL? PRSI,ME \?ELS5
|
|
CALL PERFORM,V?BOARD,BLANKET
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
|
|
PRINTR "The blanket is torn and crawling with bugs."
|
|
?ELS9: EQUAL? PRSA,V?CLIMB-ON,V?LIE-DOWN,V?BOARD /?THN14
|
|
EQUAL? PRSA,V?WEAR \FALSE
|
|
?THN14: PRINTR "You change your mind when some particularly wiggly bugs crawl onto you."
|
|
|
|
|
|
.FUNCT POST-OFFICE-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2061,2071 \?ELS5
|
|
CALL QUEUE,I-POST-OFFICE,-1
|
|
RSTACK
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is an old "
|
|
PRINTD POST-OFFICE-OBJECT
|
|
PRINTI ", probably built back in the days when ""mail"" usually meant letters and packages delivered by human messengers. "
|
|
EQUAL? SYEAR,2041,2051 \?ELS16
|
|
GRTR? STIME,480 \?ELS19
|
|
LESS? STIME,1020 \?ELS19
|
|
PRINTI "A "
|
|
EQUAL? SYEAR,2041 \?ELS26
|
|
PRINTI "couple"
|
|
JUMP ?CND24
|
|
?ELS26: PRINTI "line"
|
|
?CND24: PRINTI " of people are waiting at the counter"
|
|
JUMP ?CND14
|
|
?ELS19: PRINTI "The windows are all closed for the night"
|
|
JUMP ?CND14
|
|
?ELS16: EQUAL? SYEAR,2061 \?ELS44
|
|
GRTR? STIME,600 \?ELS44
|
|
LESS? STIME,960 /?THN41
|
|
?ELS44: EQUAL? SYEAR,2071 \?ELS40
|
|
GRTR? STIME,900 \?ELS40
|
|
LESS? STIME,960 \?ELS40
|
|
?THN41: CALL2 SCORE,124
|
|
PRINTI "A long queue of people with resigned expressions are waiting at the solitary open window"
|
|
JUMP ?CND14
|
|
?ELS40: PRINTI "The windows along the counter are all closed. One bears a crude, handwritten sign that reads ""Open daily, "
|
|
EQUAL? SYEAR,2061 \?ELS55
|
|
PRINTI "10a"
|
|
JUMP ?CND53
|
|
?ELS55: PRINTI "3p"
|
|
?CND53: PRINTI "m to 4pm"""
|
|
?CND14: PRINTI ". A doorway leads out to the northwest."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT POST-OFFICE-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,POST-OFFICE \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,POST-OFFICE \?ELS21
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS21: CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,POST-OFFICE \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SOUTHWAY-AND-PARK-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE CARD-CATALOG-CARD,LOCAL-GLOBALS
|
|
FCLEAR PARKVIEW-DOOR,OPENBIT
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "Southway bends sharply at this intersection, leading east and southwest. Park Street begins here and heads north. There are "
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI "new "
|
|
JUMP ?CND10
|
|
?ELS12: PRINTI "aging "
|
|
?CND10: PRINTI "buildings on the northeast and western corners, and "
|
|
EQUAL? SYEAR,2041 /?CND21
|
|
PRINTI "even "
|
|
?CND21: PRINTI "older-looking buildings to the northwest and southeast"
|
|
CALL1 GROCERY-STORE-DESC
|
|
PRINTI ", spans the southern side of the street."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GROCERY-STORE-DESC
|
|
PRINTI ". A grocery store, its "
|
|
EQUAL? SYEAR,2041 \?ELS7
|
|
PRINTI "brightly lit window heaped with food"
|
|
RTRUE
|
|
?ELS7: EQUAL? SYEAR,2051 \?ELS11
|
|
PRINTI "window filled with food"
|
|
RTRUE
|
|
?ELS11: EQUAL? SYEAR,2061 \?ELS15
|
|
CALL2 SCORE,18
|
|
PRINTI "dimly-lit windows revealing sparse stacks of cans"
|
|
RTRUE
|
|
?ELS15: CALL2 SCORE,19
|
|
PRINTI "grimy windows barely transparent enough to reveal a large sign reading ""Rations for "
|
|
MOD SDATE,3
|
|
ZERO? STACK \?ELS24
|
|
PRINTI "1's, 2's and 3's"
|
|
JUMP ?CND22
|
|
?ELS24: MOD SDATE,3
|
|
EQUAL? STACK,1 \?ELS28
|
|
PRINTI "4's, 5's and 6's"
|
|
JUMP ?CND22
|
|
?ELS28: PRINTI "7's, 8's, 9's and 10's"
|
|
?CND22: PRINTI " today"""
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MAIN-LIBRARY-ENTER-F
|
|
EQUAL? SYEAR,2041,2051 \?ELS9
|
|
GRTR? STIME,510 \?ELS9
|
|
LESS? STIME,1320 /?THN6
|
|
?ELS9: EQUAL? SYEAR,2061 \?ELS11
|
|
GRTR? STIME,600 \?ELS11
|
|
LESS? STIME,1260 /?THN6
|
|
?ELS11: EQUAL? SYEAR,2071 \?ELS5
|
|
GRTR? STIME,750 \?ELS5
|
|
LESS? STIME,990 \?ELS5
|
|
?THN6: RETURN MAIN-LIBRARY
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?36
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MAIN-LIBRARY-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,MAIN-LIBRARY \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,MAIN-LIBRARY-OBJECT,HERE
|
|
ZERO? STACK /?ELS14
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS14: ZERO? SIMULATING \FALSE
|
|
CALL PERFORM,V?THROUGH,LIBRARY-MODE
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS18
|
|
EQUAL? HERE,MAIN-LIBRARY \?ELS23
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \?ELS29
|
|
EQUAL? HERE,MAIN-LIBRARY \?ELS29
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS29: EQUAL? PRSA,V?SMELL \FALSE
|
|
EQUAL? HERE,MAIN-LIBRARY \FALSE
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
PRINTR "The library is filled with a stale odor: the smell of decaying books."
|
|
|
|
|
|
.FUNCT MAIN-LIBRARY-F,RARG,TIME
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
MOVE BOOKS,HERE
|
|
MOVE CARD-CATALOG-CARD,GLOBAL-OBJECTS
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?37
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS7
|
|
PRINTI "This is the main branch of the Rockvil Public Library system, "
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI "crowded but quiet"
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? SYEAR,2051,2061 \?ELS16
|
|
PRINTI "not too crowded and very quiet"
|
|
JUMP ?CND10
|
|
?ELS16: PRINTI "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"
|
|
?CND10: PRINTI ". The librarian is standing near the "
|
|
PRINTD CARD-CATALOG
|
|
PRINTI ". The only exit is southeast."
|
|
RTRUE
|
|
?ELS7: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2071 \?ELS31
|
|
SET 'TIME,990
|
|
JUMP ?CND29
|
|
?ELS31: EQUAL? SYEAR,2061 \?ELS33
|
|
SET 'TIME,1260
|
|
JUMP ?CND29
|
|
?ELS33: SET 'TIME,1320
|
|
?CND29: CALL SHOP-CLOSES,TIME,STR?38,STR?39,SOUTHWAY-AND-PARK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BANNED-TITLES-LIST-F
|
|
EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
|
|
CALL2 SCORE,121
|
|
PRINTR "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."
|
|
|
|
|
|
.FUNCT CARD-CATALOG-F
|
|
EQUAL? PRSA,V?OPEN \?ELS5
|
|
PRINTR """Card catalog"" is an anachronistic term -- this isn't an old-fashioned catalog with drawers of cards; it's computerized."
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
|
|
PRINTI "Pretty typical computerized "
|
|
PRINTD CARD-CATALOG
|
|
PRINTR " for locating titles."
|
|
?ELS9: EQUAL? PRSA,V?READ \FALSE
|
|
PRINTR "It would take days to read all the entries in the catalog."
|
|
|
|
|
|
.FUNCT CARD-CATALOG-CARD-F
|
|
CALL PERFORM,V?OPEN,CARD-CATALOG
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LIBRARY-ACCOUNT-F
|
|
EQUAL? PRSA,V?ASK-FOR \FALSE
|
|
EQUAL? PRSO,SPEAR-CARRIER \FALSE
|
|
EQUAL? HERE,MAIN-LIBRARY \FALSE
|
|
PRINTI "The librarian has you fill out several forms. After filing them, she whispers that your card should arrive in the mail within "
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI "a month"
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? SYEAR,2071 \?ELS16
|
|
PRINTI "a year"
|
|
JUMP ?CND10
|
|
?ELS16: PRINTI "several months"
|
|
?CND10: PRINTR "."
|
|
|
|
|
|
.FUNCT FOODVILLE-1-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2071 \?CND6
|
|
SET 'CLERK-WAITING,FALSE-VALUE
|
|
CALL QUEUE,I-FOODVILLE,1
|
|
?CND6: MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?16
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS10
|
|
CALL1 FOODVILLE-DESC
|
|
PRINTI "north, and the exit to the car lot is southwest."
|
|
RTRUE
|
|
?ELS10: EQUAL? RARG,M-END \FALSE
|
|
CALL1 FOODVILLE-CLOSES
|
|
RSTACK
|
|
|
|
|
|
.FUNCT FOODVILLE-ENTER-F,X=1
|
|
EQUAL? SYEAR,2041,2051 \?ELS3
|
|
GRTR? STIME,1320 /?THN6
|
|
LESS? STIME,480 \?ELS3
|
|
?THN6: SET 'X,FALSE-VALUE
|
|
JUMP ?CND1
|
|
?ELS3: EQUAL? SYEAR,2061 \?ELS9
|
|
GRTR? STIME,1140 /?THN12
|
|
LESS? STIME,600 \?ELS9
|
|
?THN12: SET 'X,FALSE-VALUE
|
|
JUMP ?CND1
|
|
?ELS9: EQUAL? SYEAR,2071 \?CND1
|
|
GRTR? STIME,960 /?THN18
|
|
LESS? STIME,700 \?CND1
|
|
?THN18: SET 'X,FALSE-VALUE
|
|
?CND1: ZERO? X /?ELS24
|
|
EQUAL? HERE,MAIN-AND-WICKER \?ELS30
|
|
RETURN FOODVILLE-2
|
|
?ELS30: RETURN FOODVILLE-1
|
|
?ELS24: EQUAL? SYEAR,2071 \?ELS34
|
|
PRINTI "According to a note on the door, the Foodville is only open from 11:30am until 4:00 in the afternoon."
|
|
CRLF
|
|
RFALSE
|
|
?ELS34: CALL2 CLOSED-PRINT,STR?40
|
|
RFALSE
|
|
|
|
|
|
.FUNCT FOODVILLE-DESC
|
|
PRINTI "This is a large "
|
|
PRINTD SUPERMARKET
|
|
PRINTI ", "
|
|
EQUAL? SYEAR,2041 \?ELS7
|
|
PRINTI "brightly lit and stocked with aisle after aisle of slickly packaged food"
|
|
JUMP ?CND5
|
|
?ELS7: EQUAL? SYEAR,2051 \?ELS11
|
|
PRINTI "reasonably clean and well-stocked with food"
|
|
JUMP ?CND5
|
|
?ELS11: EQUAL? SYEAR,2061 \?ELS15
|
|
CALL2 SCORE,18
|
|
PRINTI "and it is beginning to show its age. The shelves are sparsely filled with plain, badly labelled tins"
|
|
JUMP ?CND5
|
|
?ELS15: CALL2 SCORE,19
|
|
PRINTI "and it is literally crumbling. The shelves are empty, and the interior is uniformly filthy"
|
|
?CND5: PRINTI ". The exit to the street is "
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FOODVILLE-CLOSES,TIME,NEW-LOC
|
|
EQUAL? SYEAR,2041,2051 \?ELS3
|
|
SET 'TIME,1320
|
|
JUMP ?CND1
|
|
?ELS3: EQUAL? SYEAR,2061 \?ELS5
|
|
SET 'TIME,1140
|
|
JUMP ?CND1
|
|
?ELS5: EQUAL? SYEAR,2071 \?ELS7
|
|
SET 'TIME,960
|
|
JUMP ?CND1
|
|
?ELS7: SET 'TIME,1500
|
|
?CND1: EQUAL? HERE,FOODVILLE-1 \?ELS12
|
|
SET 'NEW-LOC,SOUTHWAY-AND-PARK
|
|
JUMP ?CND10
|
|
?ELS12: SET 'NEW-LOC,MAIN-AND-WICKER
|
|
?CND10: CALL CLOSING-TIME,TIME,STR?17,STR?41,NEW-LOC
|
|
RSTACK
|
|
|
|
|
|
.FUNCT NOTE-F
|
|
EQUAL? SYEAR,2071 /FALSE
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \FALSE
|
|
CALL2 CANT-SEE,NOTE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SUPERMARKET-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,SOUTHWAY-AND-PARK \?ELS14
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,MAIN-AND-WICKER \?ELS16
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS16: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS20
|
|
EQUAL? HERE,FOODVILLE-1 \?ELS25
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS25: EQUAL? HERE,FOODVILLE-2 \?ELS27
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS27: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS20: EQUAL? PRSA,V?EXAMINE \?ELS33
|
|
EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 \?ELS38
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS38: EQUAL? SYEAR,2081 \FALSE
|
|
CALL PERFORM,V?EXAMINE,BUILDING
|
|
RTRUE
|
|
?ELS33: EQUAL? PRSA,V?SMELL \?ELS42
|
|
EQUAL? SYEAR,2081 \?ELS42
|
|
PRINTR "A nauseating, rancid odor hangs in the air."
|
|
?ELS42: EQUAL? PRSA,V?WASH \FALSE
|
|
EQUAL? SYEAR,2071,2081 \FALSE
|
|
CALL PERFORM,V?WASH,GLOBAL-ROOM
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SOY-PATTY-F
|
|
EQUAL? PRSA,V?EAT \?ELS5
|
|
MOVE SOY-PATTY,LOCAL-GLOBALS
|
|
PRINTR "About the only good thing to say is that it was filling."
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
|
|
CALL2 SCORE,126
|
|
PRINTR "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."
|
|
?ELS9: EQUAL? PRSA,V?BUY \FALSE
|
|
EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 \?ELS18
|
|
EQUAL? SYEAR,2071 \?ELS18
|
|
PRINTR "You can't buy one; you could use your ration card, though..."
|
|
?ELS18: CALL2 CANT-BUY,SOY-PATTY
|
|
RSTACK
|
|
|
|
|
|
.FUNCT I-FOODVILLE
|
|
EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 /?CND1
|
|
SET 'CLERK-WAITING,FALSE-VALUE
|
|
RFALSE
|
|
?CND1: ZERO? CLERK-WAITING /?ELS8
|
|
CRLF
|
|
PRINTI "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."
|
|
CRLF
|
|
CRLF
|
|
EQUAL? HERE,FOODVILLE-1 \?ELS16
|
|
CALL2 GOTO,SOUTHWAY-AND-PARK
|
|
RSTACK
|
|
?ELS16: CALL2 GOTO,MAIN-AND-WICKER
|
|
RSTACK
|
|
?ELS8: SET 'CLERK-WAITING,TRUE-VALUE
|
|
CALL QUEUE,I-FOODVILLE,2
|
|
CRLF
|
|
PRINTI "A bored clerk asks for your "
|
|
PRINTD RATION-CARD
|
|
PRINTR "."
|
|
|
|
|
|
.FUNCT SOUTHWAY-UNDERPASS-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "Here, Southway passes under the old "
|
|
PRINTD HIGHWAY
|
|
PRINTI ". A "
|
|
PRINTD FIREHOUSE-OBJECT
|
|
PRINTI " 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"
|
|
EQUAL? SYEAR,2071 \?ELS16
|
|
PRINTI ", but is blocked to the southwest by the collapse of part of the highway."
|
|
RTRUE
|
|
?ELS16: PRINTI " and southwest into the suburbs."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FIREHOUSE-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is an old "
|
|
PRINTD FIREHOUSE-OBJECT
|
|
PRINTI ", "
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI "but it is equipped with the latest models of "
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? SYEAR,2051,2061 \?ELS16
|
|
PRINTI "equipped with some aging "
|
|
JUMP ?CND10
|
|
?ELS16: CALL2 SCORE,127
|
|
PRINTI "equipped with a single dilapidated "
|
|
?CND10: EQUAL? SYEAR,2071 \?ELS25
|
|
PRINTD FIRECOPTER
|
|
JUMP ?CND23
|
|
?ELS25: PRINTI "firetrucks and "
|
|
PRINTD FIRECOPTER
|
|
PRINTI "s"
|
|
?CND23: PRINTI ". Southway lies to the southeast."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FIREHOUSE-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,FIREHOUSE \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \FALSE
|
|
EQUAL? HERE,FIREHOUSE \?ELS21
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FIRETRUCK-F
|
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
|
EQUAL? SYEAR,2071 \?ELS8
|
|
PRINTI "It's"
|
|
JUMP ?CND6
|
|
?ELS8: PRINTI "They're"
|
|
?CND6: PRINTI " bright yellow, like most firefighting vehicles"
|
|
EQUAL? SYEAR,2061,2071 \?CND17
|
|
PRINTI ", but the metal is rusting through in many points"
|
|
?CND17: PRINTR "."
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?BOARD \FALSE
|
|
PRINTI "A firefighter sees you and yells, ""Hey, gettaway from there,"" and escorts you out of the firehouse."
|
|
CRLF
|
|
CRLF
|
|
CALL2 GOTO,SOUTHWAY-UNDERPASS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ELM-AND-UNIVERSITY-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "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 "
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PRINTI "a former"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "an"
|
|
?CND8: PRINTI " entrance to the Tubes."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT UNIVERSITY-HEIGHTS-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
CALL GLOBAL-IN?,UNIVERSITY-HEIGHTS-OBJECT,HERE
|
|
ZERO? STACK /?ELS5
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS9
|
|
EQUAL? HERE,ELM-AND-UNIVERSITY \?ELS14
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS14: CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,UNIVERSITY-HEIGHTS \?ELS25
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS25: PRINTD UNIVERSITY-HEIGHTS
|
|
PRINTR " is a tall apartment complex."
|
|
|
|
|
|
.FUNCT UNIVERSITY-HEIGHTS-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE BUZZERS,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
CALL DESCRIBE-APARTMENT-VESTIBULE,STR?49,STR?50
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ELM-UNDERPASS-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "Elm Street passes under an elevated roadway, a relic of the last century's "
|
|
PRINTD HIGHWAY
|
|
PRINTI " 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."
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
CALL2 SCORE,20
|
|
CRLF
|
|
CRLF
|
|
PRINTI "An "
|
|
PRINTD ROY
|
|
PRINTI ", perhaps Roy himself, is scrubbing graffiti off the window of the restaurant. The graffiti reads ""Chinks Get Lost""."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ROY-F
|
|
EQUAL? ROY,WINNER \FALSE
|
|
CALL2 SCORE,20
|
|
PRINTI """No time for talking, sorry."" He shakes his head sadly. ""Is a dishonor. Three times this year already they break my window. Now this."""
|
|
CRLF
|
|
CALL1 CLEAR-BUF
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ROYS-PAGODA-ENTER-F
|
|
GRTR? STIME,1200 /?THN8
|
|
LESS? STIME,420 \?ELS5
|
|
?THN8: EQUAL? SYEAR,2041 /?ELS5
|
|
CALL2 OF-COURSE,RESTAURANT-OBJECT
|
|
RFALSE
|
|
?ELS5: RETURN ROYS-PAGODA
|
|
|
|
|
|
.FUNCT ROYS-PAGODA-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?53
|
|
MOVE RESTAURANT-TABLE,HERE
|
|
MOVE CHAIR,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS7
|
|
PRINTI "This is a small Chinese restaurant, "
|
|
EQUAL? SYEAR,2071,2061 \?ELS12
|
|
PRINTI "with a scattering of patrons"
|
|
JUMP ?CND10
|
|
?ELS12: PRINTI "crowded with students"
|
|
?CND10: PRINTI ". There is an exit to the north."
|
|
RTRUE
|
|
?ELS7: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2041 /FALSE
|
|
GRTR? STIME,1200 \FALSE
|
|
CRLF
|
|
PRINTI "A waiter, pointing frantically at the clock, urges you politely but insistently through the door."
|
|
CRLF
|
|
CRLF
|
|
CALL2 GOTO,ELM-UNDERPASS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT EZZIS-BAR-ENTER-F
|
|
GRTR? STIME,1200 /?THN8
|
|
LESS? STIME,420 \?ELS5
|
|
?THN8: EQUAL? SYEAR,2041 /?ELS5
|
|
CALL2 OF-COURSE,BAR-OBJECT
|
|
RFALSE
|
|
?ELS5: RETURN EZZIS-BAR
|
|
|
|
|
|
.FUNCT EZZIS-BAR-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?54
|
|
MOVE BEER,LOCAL-GLOBALS
|
|
MOVE BAR-STOOL,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS7
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PRINTI "This club, which has clearly seen better days, is almost empty"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "This noisy lounge "
|
|
EQUAL? SYEAR,2061 \?ELS19
|
|
PRINTI "was once"
|
|
JUMP ?CND17
|
|
?ELS19: PRINTI "is"
|
|
?CND17: PRINTI " a favorite hangout for students from the nearby college"
|
|
?CND8: PRINT STOOL-DESC
|
|
PRINTI "The only exit is south."
|
|
RTRUE
|
|
?ELS7: EQUAL? RARG,M-END \FALSE
|
|
CALL2 CURFEW-CLOSE,ELM-UNDERPASS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT EZZIS-BAR-EXIT-F
|
|
CALL2 HELD?,BEER
|
|
ZERO? STACK /?ELS5
|
|
PRINT BARTENDER-YELLS
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN ELM-UNDERPASS
|
|
|
|
|
|
.FUNCT STUDENT-UNION-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
CALL2 SCORE,63
|
|
PRINT BOARDED-OVER
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN STUDENT-UNION
|
|
|
|
|
|
.FUNCT LECTURE-HALL-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
CALL2 SCORE,63
|
|
PRINT BOARDED-OVER
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN LECTURE-HALL
|
|
|
|
|
|
.FUNCT DORM-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
PRINTI "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?"
|
|
CALL1 YES?
|
|
ZERO? STACK /FALSE
|
|
CALL2 SCORE,21
|
|
CALL2 JIGS-UP,STR?56
|
|
RFALSE
|
|
?ELS5: RETURN DORM
|
|
|
|
|
|
.FUNCT ROCKVIL-UNIVERSITY-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "You are on University Avenue in the center of a "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "bustling"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2051 \?ELS14
|
|
PRINTI "crowded but calm"
|
|
JUMP ?CND8
|
|
?ELS14: EQUAL? SYEAR,2061 \?ELS18
|
|
PRINTI "nearly deserted"
|
|
JUMP ?CND8
|
|
?ELS18: CALL2 SCORE,63
|
|
PRINTI "closed"
|
|
?CND8: PRINTI " urban campus. "
|
|
EQUAL? SYEAR,2071 \?ELS29
|
|
PRINTI "Closed, boarded buildings lie to the west, northeast, and southeast"
|
|
JUMP ?CND27
|
|
?ELS29: PRINTI "There is a dormitory complex on the western side of the road, and other buildings to the northeast and southeast"
|
|
?CND27: PRINTI ". The street continues north and south."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CAMPUS-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,ELM-AND-UNIVERSITY,LECTURE-HALL \?ELS10
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,DORM \?ELS12
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS12: EQUAL? HERE,HALLEY-AND-UNIVERSITY \?ELS14
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,STUDENT-UNION \?ELS16
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS16: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \FALSE
|
|
EQUAL? HERE,ROCKVIL-UNIVERSITY \?ELS27
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS27: EQUAL? HERE,DORM,STUDENT-UNION,LECTURE-HALL \?ELS31
|
|
PRINTR "There's no way to leave the campus from here."
|
|
?ELS31: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DORM-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "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. "
|
|
EQUAL? SYEAR,2061 \?ELS10
|
|
PRINTI "The building is silent as a tomb"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "Loud music filters through the walls"
|
|
ZERO? DORM-RAID-FLAG \?CND8
|
|
PRINTI ", and the odor of mindex hangs in the air"
|
|
?CND8: PRINTI ". The street lies to the east."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2051 \FALSE
|
|
ZERO? DORM-RAID-FLAG \FALSE
|
|
CALL2 SCORE,23
|
|
SET 'DORM-RAID-FLAG,TRUE-VALUE
|
|
SET 'ELAPSED-TIME,10
|
|
CRLF
|
|
PRINTI "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
|
|
PRINTR "s."
|
|
|
|
|
|
.FUNCT DORM-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,DORM \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS16
|
|
EQUAL? HERE,DORM \?ELS21
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?SMELL \?ELS27
|
|
EQUAL? SYEAR,2041,2051 \?ELS27
|
|
CALL PERFORM,V?SMELL,MINDEX
|
|
RTRUE
|
|
?ELS27: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,DORM \?ELS36
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS36: EQUAL? SYEAR,2071 \FALSE
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
|
|
|
|
.FUNCT LOUNGE-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,DORM \?ELS5
|
|
CALL2 DO-WALK,P?IN
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?SMELL \FALSE
|
|
EQUAL? SYEAR,2041,2051 \FALSE
|
|
CALL PERFORM,V?SMELL,MINDEX
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LECTURE-HALL-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,ROCKVIL-UNIVERSITY \?ELS10
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS10: CALL GLOBAL-IN?,LECTURE-HALL-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,LECTURE-HALL \?ELS21
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,LECTURE-HALL \?ELS32
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS32: EQUAL? SYEAR,2071 \FALSE
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT LECTURE-HALL-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SEAT,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is a "
|
|
EQUAL? SYEAR,2061 \?CND10
|
|
PRINTI "decaying "
|
|
?CND10: PRINTI "lecture hall with several hundred seats, surrounded by several smaller classrooms and professors' offices. An exit leads northwest."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LECTURE-HALL-ITEM-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \FALSE
|
|
EQUAL? HERE,LECTURE-HALL \FALSE
|
|
PRINTR "Those areas are restricted to University personnel."
|
|
|
|
|
|
.FUNCT STUDENT-UNION-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,STUDENT-UNION \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,STUDENT-UNION-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,STUDENT-UNION \?ELS21
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,STUDENT-UNION \?ELS32
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS32: EQUAL? SYEAR,2071 \FALSE
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT STUDENT-UNION-ITEM-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \FALSE
|
|
EQUAL? HERE,STUDENT-UNION \FALSE
|
|
PRINTR "That area is restricted to student use."
|
|
|
|
|
|
.FUNCT ELM-AND-KENNEDY-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is an intersection with streets heading in the four cardinal directions. There is a"
|
|
EQUAL? SYEAR,2061 \?ELS10
|
|
PRINTI "n entrance to a "
|
|
PRINTD CONSTRUCTION-OBJECT
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2071 \?ELS14
|
|
PRINTI " complex of high-security townhouses"
|
|
JUMP ?CND8
|
|
?ELS14: PRINTI " park entrance"
|
|
?CND8: PRINTI " 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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HOSPITAL-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?59
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "Rockvil General Hospital is an old but prestigious facility"
|
|
EQUAL? SYEAR,2061 \?ELS12
|
|
CALL2 SCORE,24
|
|
PRINTI ", catering almost exclusively to wealthy patients"
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? SYEAR,2071 \?CND10
|
|
CALL2 SCORE,25
|
|
PRINTI ", 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"
|
|
?CND10: PRINTI ". A nurse sits at the admitting desk. The exit is northeast, and a hallway leads southwest to the annex."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HOSPITAL-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,HOSPITAL \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,ELM-AND-KENNEDY \?ELS14
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS14: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS18
|
|
EQUAL? HERE,HOSPITAL,HOSPITAL-ANNEX \?ELS23
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,HOSPITAL,HOSPITAL-ANNEX \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANNEX-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,HOSPITAL \?ELS10
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,HOSPITAL-ANNEX \?ELS12
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS12: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS18
|
|
EQUAL? HERE,HOSPITAL-ANNEX \?ELS23
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,HOSPITAL-ANNEX \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HOSPITAL-ANNEX-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is a "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "new, modern"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2051 \?ELS14
|
|
PRINTI "fairly modern"
|
|
JUMP ?CND8
|
|
?ELS14: PRINTI "well-maintained"
|
|
?CND8: PRINTI " wing of Rockvil General Hospital. The street lies to the southwest, and a breezeway leads northeast into the old building."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SOUTHWAY-AND-KENNEDY-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "Kennedy Street, from the north, ends here in a ""T"" with Southway. On the northwest corner is a"
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "n opening in a temporary wooden fence"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI " tall, ugly office tower. The words ""First Continent Bank Building"" hang in large metal letters over the entrance"
|
|
?CND8: PRINTI ", and a car lot fills the northeast corner. A row of old brick triple-deckers, "
|
|
EQUAL? SYEAR,2041 \?ELS21
|
|
PRINTI "recently"
|
|
JUMP ?CND19
|
|
?ELS21: PRINTI "once"
|
|
?CND19: PRINTI " renovated, lines the southern side of the street."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CONSTRUCTION-SITE-1-ENTER-F
|
|
EQUAL? SYEAR,2041 \?ELS5
|
|
RETURN CONSTRUCTION-SITE-1
|
|
?ELS5: CALL1 OFFICE-BUILDING-ENTER-F
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CONSTRUCTION-SITE-1-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "A high-rise building is under construction here. "
|
|
EQUAL? LIGHT-LEVEL,3 \?CND8
|
|
PRINTI "The chopping of blades is deafening as "
|
|
PRINTD DERRICOPTERS
|
|
PRINTI "s lift bundles of "
|
|
PRINTD BEAMS
|
|
PRINTI " to the top of the structure. "
|
|
?CND8: PRINTI "A sign reads:"
|
|
CRLF
|
|
CALL PERFORM,V?READ,GLOBAL-SIGN
|
|
PRINTI "An opening in the perimeter fence leads southeast."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DERRICOPTERS-F
|
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
|
EQUAL? LIGHT-LEVEL,3 \?ELS10
|
|
PRINTI "These are huge "
|
|
PRINTD DERRICOPTERS
|
|
PRINTR "s, befitting a construction project of this size."
|
|
?ELS10: PRINTI "The "
|
|
PRINTD DERRICOPTERS
|
|
PRINTR "s lie idle at the edge of the site."
|
|
?ELS5: EQUAL? PRSA,V?LISTEN \FALSE
|
|
EQUAL? LIGHT-LEVEL,3 \FALSE
|
|
PRINTI "The "
|
|
PRINTD DERRICOPTERS
|
|
PRINTR "s are deafeningly loud."
|
|
|
|
|
|
.FUNCT SOUTHWAY-AND-RIVER-F,RARG,?TMP1
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "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 "
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI "is a huge "
|
|
PRINTD CONSTRUCTION-OBJECT
|
|
PRINTI "."
|
|
RTRUE
|
|
?ELS12: PRINTI "is the featureless, cliff-like facade of "
|
|
PRINTD HEIMAN-WORLD-OBJECT
|
|
PRINTI "."
|
|
EQUAL? SYEAR,2061,2071 \FALSE
|
|
CALL2 SCORE,26
|
|
PRINTI " Little, if anything, has been done to restore the top several floors, gutted by fire about "
|
|
EQUAL? SYEAR,2061 \?ELS32
|
|
PRINTI "five"
|
|
JUMP ?CND30
|
|
?ELS32: PRINTI "fifteen"
|
|
?CND30: PRINTI " 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."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
GETP SOUTHWAY-AND-RIVER,P?SCENE
|
|
LESS? STACK,101 \FALSE
|
|
GETP SOUTHWAY-AND-RIVER,P?SCENE >?TMP1
|
|
RANDOM 100
|
|
LESS? ?TMP1,STACK /?ELS49
|
|
PUTP SOUTHWAY-AND-RIVER,P?SCENE,101
|
|
CALL2 SCORE,27
|
|
CRLF
|
|
PRINTR "In an alley between two buildings, you spot two Church policemen shooting an old woman with silenced guns. They drag her out of view."
|
|
?ELS49: GETP SOUTHWAY-AND-RIVER,P?SCENE
|
|
ADD STACK,33
|
|
PUTP SOUTHWAY-AND-RIVER,P?SCENE,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CONSTRUCTION-SITE-2-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PUTP CONSTRUCTION-SITE-2,P?SDESC,STR?26
|
|
FCLEAR CONSTRUCTION-SITE-2,NARTICLEBIT
|
|
RTRUE
|
|
?ELS10: FSET CONSTRUCTION-SITE-2,NARTICLEBIT
|
|
PUTP CONSTRUCTION-SITE-2,P?SDESC,STR?62
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2041 \?ELS19
|
|
PRINTI "The work in this huge site is still in the foundation phase. A sign reads:"
|
|
CRLF
|
|
CALL PERFORM,V?READ,GLOBAL-SIGN
|
|
PRINTI "You can leave the site to the west or southwest."
|
|
RTRUE
|
|
?ELS19: EQUAL? SYEAR,2051 \?ELS25
|
|
PRINTI "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
|
|
PRINTI " next door, and indeed, it already shows some minor cracks from settling. Exits from the vast lobby lead west and southwest."
|
|
RTRUE
|
|
?ELS25: EQUAL? SYEAR,2061 \?ELS31
|
|
CALL2 SCORE,28
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS31: CALL2 SCORE,29
|
|
PRINTI "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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ROCKVIL-MALL-ENTER-F
|
|
EQUAL? SYEAR,2041,2051,2061 \?ELS9
|
|
GRTR? STIME,480 \?ELS9
|
|
LESS? STIME,1320 /?THN6
|
|
?ELS9: EQUAL? SYEAR,2071 \?ELS5
|
|
GRTR? STIME,720 \?ELS5
|
|
LESS? STIME,1080 \?ELS5
|
|
?THN6: RETURN ROCKVIL-MALL
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?63
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ROCKVIL-MALL-F,RARG,TIME
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "This"
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI " busy"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2071 \?CND8
|
|
PRINTI " deserted"
|
|
?CND8: PRINTI " shopping mall is a renovated computer factory. There are many stores"
|
|
EQUAL? SYEAR,2071 \?ELS21
|
|
PRINTI ", most of them closed, and stark joybooths marked with the symbol of the Church form a row along the eastern side of the mall"
|
|
JUMP ?CND19
|
|
?ELS21: EQUAL? SYEAR,2041 \?CND19
|
|
PRINTI ", and Dizzard Joybooths line the eastern side of the mall"
|
|
?CND19: PRINTI ". There are exits to the northwest, northeast, and south."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2071 \?ELS34
|
|
SET 'TIME,1080
|
|
JUMP ?CND32
|
|
?ELS34: SET 'TIME,1320
|
|
?CND32: CALL CLOSING-TIME,TIME,STR?64,STR?18,ELM-AND-KENNEDY
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MALL-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,ROCKVIL-MALL \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,ELM-AND-KENNEDY \?ELS14
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,ELM-AND-RIVER \?ELS16
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS16: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \FALSE
|
|
EQUAL? HERE,ROCKVIL-MALL \?ELS25
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS25: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT JOYBOOTH-ENTER-F
|
|
EQUAL? SYEAR,2041,2071 \?ELS5
|
|
RETURN JOYBOOTH
|
|
?ELS5: EQUAL? SYEAR,2051 \?CND8
|
|
CALL2 SCORE,30
|
|
PRINTI "You remember vaguely that the eastern side of the Mall once contained many joybooths, but of course they were banned years ago. "
|
|
?CND8: PRINTI "There's nothing in that direction "
|
|
EQUAL? SYEAR,2051 \?CND15
|
|
PRINTI "now "
|
|
?CND15: PRINTI "-- just a featureless wall."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT JOYBOOTH-F,RARG,TIME
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SEAT,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS7
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "You are in a Dizzard-brand joybooth, the most expensive but generally considered the most well-programmed line of booths"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "You are in one of the new, free, Church-sponsored joybooths"
|
|
?CND8: PRINTI ". The room is small, barely a meter across, with gray carpeted walls, "
|
|
EQUAL? SYEAR,2041 \?ELS21
|
|
PRINTI "a slot for "
|
|
PRINTD CREDIT-CARD
|
|
PRINTI "s"
|
|
JUMP ?CND19
|
|
?ELS21: PRINTI "a "
|
|
PRINTD JOYBOOTH-BUTTON
|
|
?CND19: PRINTI ", a headset, and a plain, built-in seat."
|
|
RTRUE
|
|
?ELS7: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2071 \?ELS36
|
|
SET 'TIME,1080
|
|
JUMP ?CND34
|
|
?ELS36: SET 'TIME,1320
|
|
?CND34: CALL CLOSING-TIME,TIME,STR?64,STR?18,ELM-AND-KENNEDY
|
|
RSTACK
|
|
|
|
|
|
.FUNCT JOYBOOTH-EXIT-F
|
|
FSET? HEADSET,WORNBIT \?ELS5
|
|
PRINTI "You'll have to remove the headset first."
|
|
CRLF
|
|
SET 'P-IT-OBJECT,HEADSET
|
|
RFALSE
|
|
?ELS5: RETURN ROCKVIL-MALL
|
|
|
|
|
|
.FUNCT JOYBOOTH-OBJECT-F
|
|
EQUAL? SYEAR,2051,2061 \?ELS5
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH /?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,JOYBOOTH-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS9
|
|
EQUAL? HERE,JOYBOOTH \?ELS14
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS14: CALL GLOBAL-IN?,JOYBOOTH-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS20
|
|
EQUAL? HERE,ROCKVIL-MALL \?ELS25
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS25: CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS20: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,JOYBOOTH \?ELS36
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS36: EQUAL? SYEAR,2071 \FALSE
|
|
PRINTR "The booths are emblazoned with the symbol of the Church."
|
|
|
|
|
|
.FUNCT JOYBOOTH-BUTTON-F
|
|
EQUAL? PRSA,V?PUSH \FALSE
|
|
CALL2 QUEUED?,I-JOYBOOTH-RECHARGE
|
|
ZERO? STACK /?ELS10
|
|
PRINTR "A light flashes for a moment: ""Recharging. Unit not in operation."""
|
|
?ELS10: FSET? HEADSET,WORNBIT \?ELS14
|
|
CALL2 SCORE,31
|
|
SET 'ELAPSED-TIME,30
|
|
CALL QUEUE,I-JOYBOOTH-RECHARGE,60
|
|
LOC PLAYER
|
|
EQUAL? SEAT,STACK \?CND15
|
|
FSET SEAT,ONBIT
|
|
?CND15: PRINTR "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."
|
|
?ELS14: PRINTR "Nothing happens."
|
|
|
|
|
|
.FUNCT I-JOYBOOTH-RECHARGE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT HEADSET-F
|
|
EQUAL? PRSA,V?TAKE \?ELS5
|
|
CALL PERFORM,V?WEAR,HEADSET
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?PUT-ON \FALSE
|
|
EQUAL? PRSI,HEAD \FALSE
|
|
CALL PERFORM,V?WEAR,HEADSET
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ELM-AND-RIVER-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "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
|
|
PRINTI " building. You can enter "
|
|
PRINTD ROCKVIL-MALL
|
|
PRINTI " to the southwest, or the old "
|
|
PRINTD STOCK-EXCHANGE
|
|
PRINTI " building to the northwest. "
|
|
EQUAL? SYEAR,2071 \?ELS16
|
|
PRINTI "A former Tube entrance occupies"
|
|
JUMP ?CND14
|
|
?ELS16: PRINTI "An entrance to a "
|
|
PRINTD TUBE-STATION
|
|
PRINTI " graces"
|
|
?CND14: PRINTI " one corner of the intersection."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT STOCK-EXCHANGE-ENTER-F
|
|
EQUAL? SYEAR,2041 \?ELS9
|
|
GRTR? STIME,360 \?ELS9
|
|
LESS? STIME,1320 /?THN6
|
|
?ELS9: EQUAL? SYEAR,2051,2061,2071 \?ELS5
|
|
GRTR? STIME,420 \?ELS5
|
|
LESS? STIME,1320 \?ELS5
|
|
?THN6: RETURN STOCK-EXCHANGE
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?65
|
|
RFALSE
|
|
|
|
|
|
.FUNCT STOCK-EXCHANGE-F,RARG
|
|
EQUAL? RARG,M-END \FALSE
|
|
CALL CLOSING-TIME,1320,STR?67,STR?18,ELM-AND-KENNEDY
|
|
RSTACK
|
|
|
|
|
|
.FUNCT STOCK-EXCHANGE-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,STOCK-EXCHANGE \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,ELM-AND-RIVER \?ELS14
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS14: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS18
|
|
EQUAL? HERE,STOCK-EXCHANGE \?ELS23
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,STOCK-EXCHANGE \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MAIN-AND-RIVER-F,RARG,?TMP1
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "This is a typical four-way intersection between Main and River Streets. An entranceway through the massive walls of "
|
|
PRINTD HEIMAN-VILLAGE
|
|
PRINTI " fills the southeast corner of the street, and a "
|
|
EQUAL? SYEAR,2071 \?CND10
|
|
PRINTI "former "
|
|
?CND10: PRINTI "health care facility occupies the northeast corner.
|
|
|
|
To the southwest is 80 River Street, a "
|
|
EQUAL? SYEAR,2041 \?ELS19
|
|
PRINTI "brand new"
|
|
JUMP ?CND17
|
|
?ELS19: EQUAL? SYEAR,2051 \?ELS23
|
|
PRINTI "fairly modern"
|
|
JUMP ?CND17
|
|
?ELS23: PRINTI "forties-style"
|
|
?CND17: PRINTI " plastalloy and glass "
|
|
PRINTD CHUN-BUILDING
|
|
EQUAL? SYEAR,2041 \?CND32
|
|
PRINTI ", with many floors still unoccupied according to the billboard over the entrance"
|
|
?CND32: PRINTI ". The fourth corner, the northwest, is the site of Perez Towers, a luxury apartment building."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2051 \FALSE
|
|
GETP MAIN-AND-RIVER,P?SCENE
|
|
LESS? STACK,101 \FALSE
|
|
GETP MAIN-AND-RIVER,P?SCENE >?TMP1
|
|
RANDOM 100
|
|
LESS? ?TMP1,STACK /?ELS47
|
|
PUTP MAIN-AND-RIVER,P?SCENE,101
|
|
CALL2 SCORE,33
|
|
CRLF
|
|
PRINTR "Several BSF officers trot out of a nearby building and climb into an unmarked BSF van which drives away."
|
|
?ELS47: GETP MAIN-AND-RIVER,P?SCENE
|
|
ADD STACK,50
|
|
PUTP MAIN-AND-RIVER,P?SCENE,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT PEREZ-TOWERS-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,MAIN-AND-RIVER \?ELS5
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTD PEREZ-TOWERS
|
|
PRINTR " is a luxury apartment building."
|
|
|
|
|
|
.FUNCT HEIMAN-VILLAGE-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "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."
|
|
ZERO? DESCRIBE-VILLAGE \FALSE
|
|
SET 'DESCRIBE-VILLAGE,TRUE-VALUE
|
|
CRLF
|
|
CRLF
|
|
PRINTI "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."
|
|
CRLF
|
|
CRLF
|
|
PRINTD HEIMAN-VILLAGE
|
|
PRINTI ", 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."
|
|
RTRUE
|
|
?ELS10: EQUAL? SYEAR,2051 \?ELS23
|
|
PRINTI "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
|
|
PRINTI " to the east, west, or northwest."
|
|
RTRUE
|
|
?ELS23: EQUAL? SYEAR,2061 \?ELS29
|
|
CALL2 SCORE,28
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS29: CALL2 SCORE,29
|
|
PRINTI "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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HEIMAN-VILLAGE-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,HEIMAN-VILLAGE \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,CHURCH-STREET-PARK \?ELS14
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS14: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS18
|
|
EQUAL? HERE,HEIMAN-VILLAGE \?ELS23
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,HEIMAN-VILLAGE \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HEIMAN-WORLD-OBJECT-F
|
|
EQUAL? SYEAR,2041 \?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,HEIMAN-WORLD-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9
|
|
EQUAL? HERE,SOUTHWAY-AND-RIVER \?ELS14
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,BEND \?ELS16
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS16: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS22
|
|
EQUAL? HERE,CONSTRUCTION-SITE-2 \?ELS27
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS27: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS22: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,CONSTRUCTION-SITE-2 \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CHURCH-STREET-CITY-OBJECT-F
|
|
EQUAL? SYEAR,2041,2051 \?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,CHURCH-STREET-CITY-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9
|
|
EQUAL? HERE,MAIN-AND-CHURCH \?ELS14
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,HEIMAN-VILLAGE \?ELS16
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS16: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS22
|
|
EQUAL? HERE,CHURCH-STREET-PARK \?ELS27
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS27: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS22: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,CHURCH-STREET-PARK \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CHURCH-STREET-PARK-EXIT-F
|
|
EQUAL? SYEAR,2041,2051 \?ELS3
|
|
EQUAL? PRSO,P?SOUTH \?ELS6
|
|
PRINTI "The tracks are fenced off."
|
|
CRLF
|
|
RFALSE
|
|
?ELS6: PRINTI "There's no exit on that side of the park."
|
|
CRLF
|
|
RFALSE
|
|
?ELS3: PRINTI "There's no exit from the lobby in that direction."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CHURCH-STREET-PARK-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2041,2051 \?ELS10
|
|
PUTP CHURCH-STREET-PARK,P?SDESC,STR?68
|
|
RTRUE
|
|
?ELS10: PUTP CHURCH-STREET-PARK,P?SDESC,STR?69
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2041,2051 \?ELS19
|
|
PRINTI "This is the oldest existing park in the city, and has not been well kept up. "
|
|
PRINT FOUNTAIN-DESC
|
|
PRINTI " 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
|
|
PRINTI " forms the western boundary of the park."
|
|
RTRUE
|
|
?ELS19: CALL2 SCORE,34
|
|
PRINTI "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
|
|
PRINTI ", and the main entrance to this IC is from the north."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FOUNTAIN-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINT FOUNTAIN-DESC
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MAIN-AND-CHURCH-F,RARG,?TMP1
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "You are at the corner of bustling Main Street and quiet Church Street. There "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "is construction in progress"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "are nondescript buildings"
|
|
?CND8: PRINTI " on the northwestern and southwestern corners. A conventional apartment building occupies the southeast corner, and an entrance to Midland Cemetery forms the fourth corner. "
|
|
EQUAL? SYEAR,2041,2051 \?ELS23
|
|
PRINTI "Some greenery is visible down Church Street to the south."
|
|
RTRUE
|
|
?ELS23: PRINTI "A particularly blockish Indoor City towers over Church Street south of here."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
GETP MAIN-AND-CHURCH,P?SCENE
|
|
LESS? STACK,101 \FALSE
|
|
GETP MAIN-AND-CHURCH,P?SCENE >?TMP1
|
|
RANDOM 100
|
|
LESS? ?TMP1,STACK /?ELS38
|
|
PUTP MAIN-AND-CHURCH,P?SCENE,101
|
|
CALL2 SCORE,35
|
|
CRLF
|
|
PRINTR "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."
|
|
?ELS38: GETP MAIN-AND-CHURCH,P?SCENE
|
|
ADD STACK,50
|
|
PUTP MAIN-AND-CHURCH,P?SCENE,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CONSTRUCTION-SITE-3-ENTER-F
|
|
EQUAL? SYEAR,2041 \?ELS5
|
|
RETURN CONSTRUCTION-SITE-3
|
|
?ELS5: CALL1 OFFICE-BUILDING-ENTER-F
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CONSTRUCTION-SITE-4-ENTER-F
|
|
EQUAL? SYEAR,2041 \?ELS5
|
|
RETURN CONSTRUCTION-SITE-4
|
|
?ELS5: CALL1 APARTMENT-ENTER-F
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CHURCH-STREET-APARTMENTS-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE BUZZERS,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
CALL DESCRIBE-APARTMENT-VESTIBULE,STR?70,STR?71
|
|
RSTACK
|
|
|
|
|
|
.FUNCT I-HUNGER
|
|
ZERO? HUNGER-WARNING /?ELS5
|
|
CALL2 SCORE,40
|
|
CRLF
|
|
CALL2 JIGS-UP,STR?74
|
|
RSTACK
|
|
?ELS5: CALL2 SCORE,40
|
|
SET 'HUNGER-WARNING,TRUE-VALUE
|
|
CALL QUEUE,I-HUNGER,47
|
|
CRLF
|
|
PRINTR "Hunger overwhelms you for a moment. Your head clears, but your stomach still aches from days without food."
|
|
|
|
|
|
.FUNCT MAIN-AND-WICKER-F,RARG,?TMP1
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
IN? UNSHAVEN-MAN,MAIN-AND-WICKER \?ELS5
|
|
MOVE UNSHAVEN-MAN,LOCAL-GLOBALS
|
|
CALL2 HELD?,BORDELLO-AD
|
|
ZERO? STACK \FALSE
|
|
MOVE BORDELLO-AD,LOCAL-GLOBALS
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS14
|
|
EQUAL? SYEAR,2081 \?ELS19
|
|
CALL2 SCORE,36
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS19: PRINTI "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"
|
|
CALL1 GROCERY-STORE-DESC
|
|
PRINTI ", 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."
|
|
RTRUE
|
|
?ELS14: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2051 \FALSE
|
|
EQUAL? LIGHT-LEVEL,3 \FALSE
|
|
EQUAL? L-HERE,MAIN-AND-WICKER /FALSE
|
|
GETP MAIN-AND-WICKER,P?SCENE
|
|
LESS? STACK,101 \FALSE
|
|
GETP MAIN-AND-WICKER,P?SCENE >?TMP1
|
|
RANDOM 100
|
|
LESS? ?TMP1,STACK /?ELS36
|
|
PUTP MAIN-AND-WICKER,P?SCENE,101
|
|
MOVE UNSHAVEN-MAN,HERE
|
|
MOVE BORDELLO-AD,UNSHAVEN-MAN
|
|
CRLF
|
|
PRINTI "An "
|
|
PRINTD UNSHAVEN-MAN
|
|
PRINTI " looks bored as he hands out cheaply-printed "
|
|
PRINTD BORDELLO-AD
|
|
PRINTR "s."
|
|
?ELS36: GETP MAIN-AND-WICKER,P?SCENE
|
|
ADD STACK,25
|
|
PUTP MAIN-AND-WICKER,P?SCENE,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT UNSHAVEN-MAN-F
|
|
EQUAL? UNSHAVEN-MAN,WINNER \?ELS5
|
|
EQUAL? PRSA,V?GIVE \?ELS12
|
|
EQUAL? PRSO,BORDELLO-AD /?THN9
|
|
?ELS12: EQUAL? PRSA,V?SGIVE \?ELS8
|
|
EQUAL? PRSI,BORDELLO-AD \?ELS8
|
|
?THN9: SET 'WINNER,PLAYER
|
|
CALL PERFORM,V?TAKE,BORDELLO-AD
|
|
JUMP ?CND6
|
|
?ELS8: PRINTI "He replies with a few monosyllabic grunts."
|
|
CRLF
|
|
?CND6: CALL1 CLEAR-BUF
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?ASK-FOR \FALSE
|
|
EQUAL? PRSI,BORDELLO-AD \FALSE
|
|
CALL PERFORM,V?TAKE,BORDELLO-AD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BORDELLO-AD-F
|
|
EQUAL? PRSA,V?TAKE \?ELS5
|
|
FSET? BORDELLO-AD,TRYTAKEBIT \?ELS5
|
|
FCLEAR BORDELLO-AD,TRYTAKEBIT
|
|
FCLEAR BORDELLO-AD,NDESCBIT
|
|
MOVE UNSHAVEN-MAN,LOCAL-GLOBALS
|
|
MOVE BORDELLO-AD,PLAYER
|
|
SET 'FOLLOW-FLAG,9
|
|
CALL QUEUE,I-UNFOLLOW,2
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?77
|
|
PRINTI "You take the last photocopy from the "
|
|
PRINTD UNSHAVEN-MAN
|
|
PRINTR " and glance at it. When you look up, he is gone."
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE,V?READ \?ELS13
|
|
FSET? BORDELLO-AD,TRYTAKEBIT \?ELS13
|
|
PRINTR "You'll have to take one of the ads first."
|
|
?ELS13: EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
|
|
CALL2 SCORE,37
|
|
PRINTR " 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."
|
|
|
|
|
|
.FUNCT RAILROAD-TRACKS-F
|
|
EQUAL? HERE,CHURCH-STREET-PARK \?ELS5
|
|
EQUAL? SYEAR,2061,2071 \?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,RAILROAD-TRACKS
|
|
RSTACK
|
|
?ELS5: EQUAL? HERE,WAREHOUSE-1 \?ELS9
|
|
EQUAL? SYEAR,2041,2051 \?ELS9
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS9
|
|
CALL2 CANT-SEE,RAILROAD-TRACKS
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?CROSS \FALSE
|
|
EQUAL? HERE,WICKER-AND-PIER \?ELS18
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS18: EQUAL? HERE,MAIN-AND-WICKER,CHURCH-STREET-PARK \?ELS20
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS20: EQUAL? HERE,BEND \?ELS22
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS22: EQUAL? HERE,WICKER-AND-RIVER \?ELS24
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS24: EQUAL? HERE,WAREHOUSE-1 \?ELS26
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS26: PRINTR "That would be dangerous and foolhardy."
|
|
|
|
|
|
.FUNCT RAILROAD-BRIDGE-F
|
|
EQUAL? PRSA,V?WALK-UNDER,V?CROSS \FALSE
|
|
EQUAL? HERE,MAIN-AND-WICKER \?ELS10
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,BEND \?ELS12
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS12: EQUAL? HERE,WICKER-AND-RIVER \?ELS14
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS14: CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
|
|
|
|
.FUNCT STREET-BRIDGE-F
|
|
EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS5
|
|
EQUAL? HERE,RIVER-STREET-BRIDGE,MAIN-STREET-BRIDGE \?ELS10
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS10: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?CROSS,V?WALK-TO,V?THROUGH \?ELS16
|
|
EQUAL? HERE,RIVER-STREET-BRIDGE,MAIN-STREET-BRIDGE \?ELS21
|
|
EQUAL? PRSA,V?CROSS \?ELS26
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS26: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS21: EQUAL? HERE,MAIN-AND-WICKER \?ELS32
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS32: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS16: EQUAL? PRSA,V?LOOK-UNDER \FALSE
|
|
PRINTR "The Little Missouri flows under the bridge."
|
|
|
|
|
|
.FUNCT MAIN-AND-CHURCH-ENTER-F
|
|
EQUAL? SYEAR,2081 \?ELS5
|
|
CALL2 SCORE,38
|
|
CALL2 JIGS-UP,STR?78
|
|
RFALSE
|
|
?ELS5: RETURN MAIN-AND-CHURCH
|
|
|
|
|
|
.FUNCT FOODVILLE-2-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2081 /?ELS5
|
|
EQUAL? SYEAR,2071 \?CND8
|
|
SET 'CLERK-WAITING,FALSE-VALUE
|
|
CALL QUEUE,I-FOODVILLE,1
|
|
?CND8: MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?16
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS12
|
|
EQUAL? SYEAR,2081 \?ELS17
|
|
CALL2 SCORE,39
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS17: CALL1 FOODVILLE-DESC
|
|
PRINTI "northeast."
|
|
RTRUE
|
|
?ELS12: EQUAL? RARG,M-END \FALSE
|
|
CALL1 FOODVILLE-CLOSES
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MOLD-F
|
|
EQUAL? PRSA,V?EAT \?ELS5
|
|
CALL2 SCORE,40
|
|
PRINTR "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."
|
|
?ELS5: EQUAL? PRSA,V?SMELL \?ELS9
|
|
PRINTR "You have just discovered the source of the rancid odor."
|
|
?ELS9: EQUAL? PRSA,V?TAKE \FALSE
|
|
FSET? MOLD,TRYTAKEBIT \FALSE
|
|
FCLEAR MOLD,TRYTAKEBIT
|
|
FSET MOLD,TOUCHBIT
|
|
MOVE MOLD,PLAYER
|
|
PRINTR "You scoop up the putrid-smelling mold."
|
|
|
|
|
|
.FUNCT THE-COACHMAN-ENTER-F
|
|
GRTR? STIME,1200 /?THN8
|
|
LESS? STIME,420 \?ELS5
|
|
?THN8: EQUAL? SYEAR,2041 /?ELS5
|
|
CALL2 OF-COURSE,RESTAURANT-OBJECT
|
|
RFALSE
|
|
?ELS5: RETURN THE-COACHMAN
|
|
|
|
|
|
.FUNCT THE-COACHMAN-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2081 /?ELS5
|
|
SET 'MEAL-STATUS,1
|
|
SET 'MAITRE-COUNTER,0
|
|
SET 'WAITER-COUNTER,0
|
|
MOVE SPEAR-CARRIER,HERE
|
|
CALL2 INT,I-MEAL
|
|
PUT STACK,0,0
|
|
MOVE RESTAURANT-TABLE,HERE
|
|
MOVE CHAIR,HERE
|
|
IN? CREDIT-CARD,SPEAR-CARRIER \?CND8
|
|
MOVE CREDIT-CARD,LOCAL-GLOBALS
|
|
?CND8: PUTP SPEAR-CARRIER,P?SDESC,STR?80
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS12
|
|
EQUAL? SYEAR,2081 \?ELS17
|
|
CALL2 SCORE,41
|
|
PRINTI "This burned-out shell of a building was once a famous restaurant back in the civilized days. The "
|
|
PRINTD TIMBERS
|
|
PRINTI " shiver as you walk through the ashes."
|
|
RTRUE
|
|
?ELS17: PRINTI "You are in a large, well-known restaurant"
|
|
EQUAL? SYEAR,2071 \?ELS28
|
|
CALL2 SCORE,42
|
|
PRINTI ", opulent in the extreme, and known to be restricted to the highest ecclesiastics of the Church"
|
|
JUMP ?CND26
|
|
?ELS28: EQUAL? SYEAR,2061 \?CND26
|
|
CALL2 SCORE,43
|
|
PRINTI ", a favorite of wealthy Churchmen"
|
|
?CND26: PRINTI ". The car lot and street lie to the northwest."
|
|
RTRUE
|
|
?ELS12: EQUAL? RARG,M-END \?ELS38
|
|
EQUAL? SYEAR,2071 \?ELS38
|
|
CRLF
|
|
PRINTI "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."
|
|
CRLF
|
|
CRLF
|
|
CALL2 GOTO,MAIN-AND-WICKER
|
|
RSTACK
|
|
?ELS38: EQUAL? RARG,M-END \?ELS44
|
|
EQUAL? SYEAR,2081 \?ELS44
|
|
RANDOM 100
|
|
LESS? 50,STACK /?ELS44
|
|
CRLF
|
|
CALL PERFORM,V?MOVE,TIMBERS
|
|
RTRUE
|
|
?ELS44: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2081 /FALSE
|
|
CALL2 RESTAURANT-CLOSES,MAIN-AND-WICKER
|
|
ZERO? STACK \TRUE
|
|
CALL1 PARTY-OF-ONE
|
|
ZERO? STACK \TRUE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TIMBERS-F
|
|
EQUAL? PRSA,V?TOUCH,V?MOVE \FALSE
|
|
CALL2 JIGS-UP,STR?81
|
|
RSTACK
|
|
|
|
|
|
.FUNCT RESTAURANT-TABLE-F
|
|
EQUAL? PRSA,V?SIT,V?BOARD \FALSE
|
|
LOC PLAYER
|
|
EQUAL? RESTAURANT-TABLE,STACK \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,ROYS-PAGODA /FALSE
|
|
GRTR? MEAL-STATUS,2 \?ELS16
|
|
MOVE PLAYER,RESTAURANT-TABLE
|
|
PRINTR "You resume your seat."
|
|
?ELS16: PRINTR "You'll have to wait for the maitre d' to seat you."
|
|
|
|
|
|
.FUNCT MENU-F
|
|
EQUAL? HERE,BURGER-MEISTER \?ELS5
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS10
|
|
CALL2 CANT-SEE,MENU
|
|
RSTACK
|
|
?ELS10: EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
|
|
PRINTI "The menuboard lists "
|
|
CALL1 FAST-FOOD-MENU
|
|
PRINTR "."
|
|
?ELS5: EQUAL? PRSA,V?ASK-NO-ONE-FOR,V?EXAMINE,V?READ \FALSE
|
|
CALL PERFORM,V?BUY,MEAL
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FAST-FOOD-MENU
|
|
EQUAL? SYEAR,2061 \?ELS5
|
|
CALL2 SCORE,73
|
|
PRINTI "soy and kelp burgers, a variety of algae products, and beer. All beef dishes on the menuboard have been crudely covered over"
|
|
RTRUE
|
|
?ELS5: PRINTI "beef burgers, less-expensive kelp burgers and soy burgers, and beer"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MEAL-F
|
|
EQUAL? SYEAR,2081 \?ELS5
|
|
EQUAL? PRSA,V?TAKE,V?EXAMINE \?ELS5
|
|
EQUAL? HERE,FOODVILLE-2 \?ELS5
|
|
CALL2 CANT-SEE,MEAL
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?BUY \?ELS9
|
|
EQUAL? HERE,SIMONS,THE-COACHMAN \?ELS14
|
|
EQUAL? SYEAR,2081 \?ELS19
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS19: LOC PLAYER
|
|
EQUAL? STACK,RESTAURANT-TABLE /?ELS23
|
|
PRINTR "You'll have to wait until you're seated."
|
|
?ELS23: EQUAL? MEAL-STATUS,3 \?ELS27
|
|
CALL1 I-MEAL
|
|
RSTACK
|
|
?ELS27: PRINTI "You've already "
|
|
EQUAL? MEAL-STATUS,6 \?ELS34
|
|
PRINTI "eaten"
|
|
JUMP ?CND32
|
|
?ELS34: PRINTI "ordered"
|
|
?CND32: PRINTR "."
|
|
?ELS14: EQUAL? HERE,ROYS-PAGODA \?ELS44
|
|
SET 'ELAPSED-TIME,22
|
|
ZERO? RECORDING /?CND45
|
|
PUT RECORDING-TABLE,0,1
|
|
?CND45: PRINTI "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: """
|
|
EQUAL? SYEAR,2041 \?ELS53
|
|
PRINTI "Prosperity does not equal happiness"
|
|
JUMP ?CND51
|
|
?ELS53: EQUAL? SYEAR,2051 \?ELS57
|
|
PRINTI "Today's leak is tomorrow's flood"
|
|
JUMP ?CND51
|
|
?ELS57: EQUAL? SYEAR,2061 \?ELS61
|
|
PRINTI "Buddha welcomes even the poorest man"
|
|
JUMP ?CND51
|
|
?ELS61: PRINTI "It is always darkest before dawn"
|
|
?CND51: PRINTI "."" You pay with your "
|
|
PRINTD CREDIT-CARD
|
|
LESS? CREDIT,30 \?CND70
|
|
PRINTR ", 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."""
|
|
?CND70: CALL2 DEBIT,30
|
|
PRINTR "."
|
|
?ELS44: EQUAL? HERE,BURGER-MEISTER \?ELS78
|
|
EQUAL? SYEAR,2071 /?ELS78
|
|
SET 'ELAPSED-TIME,12
|
|
ZERO? RECORDING /?CND81
|
|
PUT RECORDING-TABLE,0,1
|
|
?CND81: EQUAL? SYEAR,2041 \?ELS87
|
|
PRINTI "The line you picked moves quickly, putting you in a cheerful mood, and you decide to splurge and buy a beef burger."
|
|
JUMP ?CND85
|
|
?ELS87: PRINTI "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."
|
|
?CND85: PRINTI " It arrives a moment later"
|
|
CALL TOO-POOR,20,MEAL
|
|
ZERO? STACK \TRUE
|
|
CALL2 DEBIT,20
|
|
MOVE PLAYER,GLOBAL-TABLE
|
|
PRINTI ". You sit down at one of the tiny tables to devour it. It's "
|
|
EQUAL? SYEAR,2061 \?ELS107
|
|
PRINTI "edible"
|
|
JUMP ?CND105
|
|
?ELS107: PRINTI "juicy and delicious"
|
|
?CND105: PRINTR "."
|
|
?ELS78: EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 \?ELS117
|
|
FSET? GROCERIES,TOUCHBIT \?ELS122
|
|
PRINTR "You've already bought enough groceries to last the week."
|
|
?ELS122: EQUAL? SYEAR,2041,2051 \?ELS126
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?82
|
|
SET 'ELAPSED-TIME,12
|
|
PRINTI "You wander down the aisles, filling the small cart with various items. You select the shortest checkout line"
|
|
CALL TOO-POOR,73,MEAL
|
|
ZERO? STACK \TRUE
|
|
MOVE GROCERIES,PLAYER
|
|
FSET GROCERIES,TOUCHBIT
|
|
SET 'P-IT-OBJECT,GROCERIES
|
|
CALL2 DEBIT,73
|
|
PRINTR ". A clerk bags your groceries and hands you the bag."
|
|
?ELS126: EQUAL? SYEAR,2061 \?ELS135
|
|
PRINTR "You wander down the aisles, but the food is so sparse and unappetizing that you decide not to buy anything."
|
|
?ELS135: EQUAL? SYEAR,2071 \?ELS139
|
|
PRINTR "You can only get food these days using your ration card."
|
|
?ELS139: CALL2 CANT-SEE,MEAL
|
|
RSTACK
|
|
?ELS117: PRINTR "You can't get a meal here!"
|
|
?ELS9: EQUAL? PRSA,V?WAIT-FOR \?ELS149
|
|
IN? CREDIT-CARD,SPEAR-CARRIER \?ELS154
|
|
CALL2 V-WAIT,30
|
|
RSTACK
|
|
?ELS154: EQUAL? HERE,THE-COACHMAN,SIMONS \?ELS156
|
|
CALL PERFORM,V?BUY,MEAL
|
|
RTRUE
|
|
?ELS156: CALL PERFORM,V?WAIT-FOR,GOLD
|
|
RTRUE
|
|
?ELS149: EQUAL? PRSA,V?EAT,V?TAKE \?ELS160
|
|
EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 /?THN166
|
|
EQUAL? HERE,BURGER-MEISTER,ROYS-PAGODA \?ELS165
|
|
?THN166: PRINTR "You can't take food you haven't paid for!"
|
|
?ELS165: EQUAL? HERE,SIMONS,THE-COACHMAN \?ELS171
|
|
EQUAL? MEAL-STATUS,6 \?ELS176
|
|
CALL PERFORM,V?BUY,MEAL
|
|
RTRUE
|
|
?ELS176: EQUAL? MEAL-STATUS,4,5 \?ELS178
|
|
PRINTR "It hasn't arrived yet."
|
|
?ELS178: PRINTR "You haven't ordered yet."
|
|
?ELS171: CALL2 CANT-SEE,MEAL
|
|
RSTACK
|
|
?ELS160: EQUAL? PRSA,V?EXAMINE \?ELS188
|
|
CALL1 IN-RESTAURANT?
|
|
ZERO? STACK /?ELS188
|
|
PRINTR "The food is prepared in another room."
|
|
?ELS188: EQUAL? PRSA,V?EXAMINE \?ELS194
|
|
EQUAL? HERE,CAFETERIA \?ELS194
|
|
PRINTR "You can't see much from this high vantage point."
|
|
?ELS194: EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 /?ELS200
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS200
|
|
CALL2 CANT-SEE,MEAL
|
|
RSTACK
|
|
?ELS200: EQUAL? SYEAR,2071 \?ELS204
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS204
|
|
CALL2 CANT-SEE,MEAL
|
|
RSTACK
|
|
?ELS204: EQUAL? PRSA,V?WAIT-FOR \FALSE
|
|
EQUAL? HERE,THE-COACHMAN,SIMONS \?ELS213
|
|
IN? CREDIT-CARD,SPEAR-CARRIER \?ELS218
|
|
CALL2 V-WAIT,20
|
|
RSTACK
|
|
?ELS218: CALL PERFORM,V?READ,MENU
|
|
RTRUE
|
|
?ELS213: CALL PERFORM,V?WAIT-FOR,FORTZMAN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT I-MEAL,OLD-WINNER
|
|
EQUAL? HERE,THE-COACHMAN,SIMONS \FALSE
|
|
IN? CREDIT-CARD,SPEAR-CARRIER \?ELS8
|
|
MOVE CREDIT-CARD,PLAYER
|
|
LESS? CREDIT,65 \?ELS13
|
|
CRLF
|
|
PRINTI "The waiter returns with your card, informing you that you have insufficient funds to cover the meal. He escorts you out of the restaurant."
|
|
CRLF
|
|
CRLF
|
|
SET 'OLD-WINNER,WINNER
|
|
SET 'WINNER,PLAYER
|
|
CALL2 DO-WALK,P?OUT
|
|
SET 'WINNER,OLD-WINNER
|
|
RETURN WINNER
|
|
?ELS13: ZERO? RECORDING /?CND18
|
|
PUT RECORDING-TABLE,0,1
|
|
?CND18: SET 'MEAL-STATUS,6
|
|
CALL2 INCREMENT-TIME,12
|
|
CRLF
|
|
PRINTI "The waiter places "
|
|
EQUAL? SYEAR,2041 \?ELS26
|
|
PRINTI "your soybean salad on the table. A generous portion, and quite tasty; you quickly devour it"
|
|
JUMP ?CND24
|
|
?ELS26: PRINTI "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"
|
|
?CND24: CALL2 DEBIT,65
|
|
PRINTR "."
|
|
?ELS8: EQUAL? MEAL-STATUS,4 \?ELS36
|
|
INC 'WAITER-COUNTER
|
|
CALL QUEUE,I-MEAL,1
|
|
EQUAL? WAITER-COUNTER,4 \?ELS41
|
|
CRLF
|
|
PRINTR "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."""
|
|
?ELS41: EQUAL? WAITER-COUNTER,6 \?ELS45
|
|
CRLF
|
|
PRINTI "The waiter, looking quite annoyed, leaves the tableside. A moment later, the maitre d' arrives and shows you out of the restaurant."
|
|
CRLF
|
|
CRLF
|
|
SET 'OLD-WINNER,WINNER
|
|
SET 'WINNER,PLAYER
|
|
CALL2 DO-WALK,P?OUT
|
|
SET 'WINNER,OLD-WINNER
|
|
RETURN 2
|
|
?ELS45: SET 'P-IT-OBJECT,SPEAR-CARRIER
|
|
CRLF
|
|
PRINTI "The waiter is standing at your table, waiting for your "
|
|
PRINTD CREDIT-CARD
|
|
PRINTR "."
|
|
?ELS36: LOC PLAYER
|
|
EQUAL? STACK,RESTAURANT-TABLE \?ELS57
|
|
SET 'P-IT-OBJECT,SPEAR-CARRIER
|
|
SET 'MEAL-STATUS,4
|
|
CRLF
|
|
PRINTI "The waiter hands you a "
|
|
LESS? STIME,690 \?ELS62
|
|
PRINTI "breakfast"
|
|
JUMP ?CND60
|
|
?ELS62: GRTR? STIME,960 \?ELS66
|
|
PRINTI "dinner"
|
|
JUMP ?CND60
|
|
?ELS66: PRINTI "lunch"
|
|
?CND60: PRINTI " menu, and after perusing the meat prices you settle on a"
|
|
EQUAL? SYEAR,2041 \?ELS77
|
|
PRINTI " nice, reasonably priced soybean salad"
|
|
JUMP ?CND75
|
|
?ELS77: PRINTI "n overpriced kelp fillet, the cheapest item on the menu"
|
|
?CND75: PRINTI ". The waiter jots down your order, and reminds you of the restaurant's policy of payment in advance."
|
|
CRLF
|
|
CALL QUEUE,I-MEAL,1
|
|
RSTACK
|
|
?ELS57: CALL QUEUE,I-MEAL,1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT PARTY-OF-ONE
|
|
EQUAL? MEAL-STATUS,1 \FALSE
|
|
CRLF
|
|
GRTR? MAITRE-COUNTER,8 \?ELS10
|
|
PRINTI """I'm afraid you'll have to leave,"" says the maitre d'. ""There's no loitering here."" He escorts you to the door."
|
|
CRLF
|
|
CRLF
|
|
CALL2 DO-WALK,P?OUT
|
|
RSTACK
|
|
?ELS10: INC 'MAITRE-COUNTER
|
|
PRINTR """Party of one?"" sniffs the maitre d'."
|
|
|
|
|
|
.FUNCT GROCERIES-F
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \?ELS5
|
|
PRINTR "Just a bagful of typical groceries."
|
|
?ELS5: EQUAL? PRSA,V?OPEN \?ELS9
|
|
PRINTR "The bag is open."
|
|
?ELS9: EQUAL? PRSA,V?EAT \?ELS13
|
|
CALL1 IN-APARTMENT?
|
|
ZERO? STACK /?ELS18
|
|
MOVE GROCERIES,LOCAL-GLOBALS
|
|
PRINTI "You select one item, a small bag of potato snacks, and eat that. You "
|
|
EQUAL? HERE,KITCHEN /?CND21
|
|
SET 'HERE,KITCHEN
|
|
MOVE PLAYER,KITCHEN
|
|
PRINTI "go to the kitchen and "
|
|
?CND21: PRINTR "put the rest of the groceries away."
|
|
?ELS18: PRINTR "Better to wait until you get home and use the groceries for dinner."
|
|
?ELS13: EQUAL? PRSA,V?PUT \?ELS33
|
|
EQUAL? PRSI,KITCHEN-OBJECT \?ELS33
|
|
CALL PERFORM,V?PUT-AWAY,GROCERIES
|
|
RTRUE
|
|
?ELS33: EQUAL? PRSA,V?PUT-AWAY \?ELS37
|
|
CALL1 IN-APARTMENT?
|
|
ZERO? STACK /?ELS42
|
|
PRINTI "You "
|
|
EQUAL? HERE,KITCHEN /?CND45
|
|
MOVE PLAYER,KITCHEN
|
|
SET 'HERE,KITCHEN
|
|
PRINTI "enter the kitchen and "
|
|
?CND45: MOVE GROCERIES,LOCAL-GLOBALS
|
|
PRINTR "put the groceries neatly away."
|
|
?ELS42: PRINTR "Wait until you get home."
|
|
?ELS37: EQUAL? PRSA,V?PUT \?ELS57
|
|
EQUAL? PRSI,GROCERIES \?ELS57
|
|
PRINTI "The bag is full; besides, that's a dumb place to keep"
|
|
CALL2 ARTICLE,PRSO
|
|
PRINTR "."
|
|
?ELS57: EQUAL? PRSA,V?BUY \FALSE
|
|
CALL PERFORM,V?BUY,MEAL
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MAIN-STREET-BRIDGE-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2081 \?ELS5
|
|
CALL QUEUE,I-WILD-DOGS,-1
|
|
RSTACK
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2081 \?ELS14
|
|
CALL2 SCORE,44
|
|
PRINTI "This once-proud bridge is now rusted and neglected. To the west, the road enters the city. An intersection is visible in that direction."
|
|
RTRUE
|
|
?ELS14: PRINTI "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."
|
|
CALL2 RIVER-FIRE,STR?49
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MAIN-STREET-BRIDGE-EXIT-F
|
|
EQUAL? SYEAR,2081 \?ELS3
|
|
CALL2 INT,I-WILD-DOGS
|
|
PUT STACK,0,0
|
|
CALL2 SCORE,45
|
|
CALL2 JIGS-UP,STR?83
|
|
RFALSE
|
|
?ELS3: CALL1 SUBURBS-ENTER-F
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SACK-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
CALL2 SCORE,46
|
|
PRINTR "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."
|
|
|
|
|
|
.FUNCT BARKING-F
|
|
EQUAL? PRSA,V?LISTEN \FALSE
|
|
PRINTR "The barking is off to the east. It seems to be getting louder."
|
|
|
|
|
|
.FUNCT CEMETERY-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
EQUAL? SYEAR,2081 \?ELS10
|
|
CALL2 SCORE,47
|
|
PRINTI "Once a lovely old cemetery, the land is now overgrown and the "
|
|
PRINTD HEADSTONES
|
|
PRINTI " toppled and vandalized. Snarled bushes and trees provide countless hiding places for thieves and cutthroats."
|
|
RTRUE
|
|
?ELS10: PRINTI "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. "
|
|
EQUAL? SYEAR,2071 \?ELS21
|
|
CALL2 SCORE,48
|
|
PRINTI "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"
|
|
JUMP ?CND19
|
|
?ELS21: PRINTI "The main gate of the cemetery is west of here, and o"
|
|
?CND19: PRINTI "ther gates lie to the south, southwest, and northwest."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2081 \FALSE
|
|
CRLF
|
|
PRINTI "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. "
|
|
FSET? CEMETERY,ONBIT \?ELS40
|
|
CALL2 JIGS-UP,STR?86
|
|
RSTACK
|
|
?ELS40: PRINTI "Sometime later, you come to..."
|
|
CRLF
|
|
CRLF
|
|
FSET CEMETERY,ONBIT
|
|
SET 'MUGGED,TRUE-VALUE
|
|
CALL ROB,PLAYER,LOCAL-GLOBALS
|
|
CALL2 INCREMENT-TIME,23
|
|
CALL2 GOTO,MAIN-AND-WICKER
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CEMETERY-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,CEMETERY \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,MAIN-AND-WICKER \?ELS14
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,MAIN-AND-CHURCH \?ELS16
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS16: EQUAL? HERE,CHURCH-ENTRANCE \?ELS18
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS18: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS22
|
|
EQUAL? HERE,CEMETERY \?ELS27
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS27: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS22: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,CEMETERY \?ELS38
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS38: CALL1 FROM-HERE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HEADSTONES-F
|
|
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
CALL PERFORM,V?READ,GRAFFITI
|
|
RTRUE
|
|
?ELS10: EQUAL? SYEAR,2081 \?ELS12
|
|
PRINTR "Virtually all the stones have been broken and toppled."
|
|
?ELS12: PRINTR "The stones bear the usual epitaphs, names, and dates. Some of the stones are dated from the middle of the nineteenth century."
|
|
|
|
|
|
.FUNCT CHURCH-ENTRANCE-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PUTP CHURCH-ENTRANCE,P?SDESC,STR?87
|
|
RTRUE
|
|
?ELS10: PUTP CHURCH-ENTRANCE,P?SDESC,STR?88
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "You are on Church Street, just east of"
|
|
CALL1 ST-MICHAELS-DESC
|
|
PRINTI " The street continues north and south"
|
|
EQUAL? SYEAR,2041 \?ELS21
|
|
PRINTI ", and "
|
|
PRINTD CONSTRUCTION-OBJECT
|
|
PRINTI "s lie to the northwest and southwest"
|
|
JUMP ?CND19
|
|
?ELS21: EQUAL? SYEAR,2051 \?ELS27
|
|
PRINTI ". Another church building, probably a rectory, lies to the northwest, and an ordinary high-rise apartment is southwest of here"
|
|
JUMP ?CND19
|
|
?ELS27: EQUAL? SYEAR,2061 \?ELS31
|
|
PRINTI ". Another church building to the northwest is also closed. Southwest of here is an indistinguishable apartment block"
|
|
JUMP ?CND19
|
|
?ELS31: PRINTI ". To the northwest is a ruined structure of some type, and to the southwest is a luxury apartment tower"
|
|
?CND19: PRINTI ". The main entrance to Midland Cemetery is east of here."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ST-MICHAELS-DESC
|
|
PRINTI " a large"
|
|
EQUAL? SYEAR,2061 \?ELS7
|
|
CALL2 SCORE,49
|
|
PRINTI " church with boarded doors and windows. Anti-Catholic graffiti defaces the facade."
|
|
RTRUE
|
|
?ELS7: EQUAL? SYEAR,2071 \?ELS11
|
|
PRINTI " vacant lot."
|
|
RTRUE
|
|
?ELS11: PRINTI ", opulent church displaying the architecture of the twentieth century."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ST-MICHAELS-ENTER-F
|
|
EQUAL? SYEAR,2061 \?ELS5
|
|
CALL2 SCORE,49
|
|
PRINT BOARDED-OVER
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN ST-MICHAELS
|
|
|
|
|
|
.FUNCT CONSTRUCTION-SITE-5-ENTER-F
|
|
EQUAL? SYEAR,2061 \?ELS5
|
|
PRINTI "The building is closed, its doorways and windows boarded over."
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN CONSTRUCTION-SITE-5
|
|
|
|
|
|
.FUNCT ST-MICHAELS-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE CHURCH-OFFICIAL,LOCAL-GLOBALS
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
MOVE RUSTY-CROSS,HERE
|
|
FCLEAR ST-MICHAELS,NARTICLEBIT
|
|
PUTP ST-MICHAELS,P?SDESC,STR?89
|
|
RTRUE
|
|
?ELS10: FSET ST-MICHAELS,NARTICLEBIT
|
|
PUTP ST-MICHAELS,P?SDESC,STR?90
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS14
|
|
EQUAL? SYEAR,2071 \?ELS19
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS19: PRINTI "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."
|
|
RTRUE
|
|
?ELS14: EQUAL? RARG,M-END \FALSE
|
|
CALL1 ELDER-MOVE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT RUSTY-CROSS-F
|
|
EQUAL? PRSA,V?TAKE \?ELS5
|
|
FSET? RUSTY-CROSS,TRYTAKEBIT \?ELS5
|
|
FCLEAR RUSTY-CROSS,TRYTAKEBIT
|
|
FSET RUSTY-CROSS,TOUCHBIT
|
|
MOVE RUSTY-CROSS,PLAYER
|
|
PRINTI "You pick up the metal object. "
|
|
PRINT IT-LOOKS-LIKE
|
|
PRINTR " an old, rusting cross."
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "The cross is ornamental, of the sort once worn by priests. It has rusted to the point of fragility."
|
|
|
|
|
|
.FUNCT CONSTRUCTION-SITE-5-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PUTP CONSTRUCTION-SITE-5,P?SDESC,STR?26
|
|
RTRUE
|
|
?ELS10: EQUAL? SYEAR,2051 \?ELS12
|
|
PUTP CONSTRUCTION-SITE-5,P?SDESC,STR?92
|
|
RTRUE
|
|
?ELS12: PUTP CONSTRUCTION-SITE-5,P?SDESC,STR?93
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2041 \?ELS19
|
|
PRINTI "An old building, possibly a rectory owned by the church to the south, is being renovated"
|
|
JUMP ?CND17
|
|
?ELS19: EQUAL? SYEAR,2071 \?ELS23
|
|
PRINTI "Barely discernible through the ash and broken glass are signs that this was once a church building of some kind"
|
|
JUMP ?CND17
|
|
?ELS23: PRINTI "This is part of the St. Michael's complex"
|
|
?CND17: PRINTI ". You can leave to either the northeast or southeast."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RECTORY-OBJECT-F
|
|
EQUAL? SYEAR,2041,2071 \?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,RECTORY-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?WALK-TO \?ELS9
|
|
EQUAL? HERE,CONSTRUCTION-SITE-5 \?ELS14
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS14: EQUAL? HERE,CHURCH-ENTRANCE \?ELS18
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS18: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS22
|
|
EQUAL? HERE,CONSTRUCTION-SITE-5 \?ELS27
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS27: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS22: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,CONSTRUCTION-SITE-5 \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIDLAND-AND-CHURCH-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "Church Street, from the south, ends at this corner. A"
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI " "
|
|
PRINTD RAILROAD-YARD
|
|
PRINTI ", no longer used but part of the "
|
|
PRINTD RAILROAD-MUSEUM
|
|
PRINTI ","
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "n abandoned "
|
|
PRINTD RAILROAD-YARD
|
|
?CND8: PRINTI " spans the northern side of Midland. There is "
|
|
EQUAL? SYEAR,2041 \?ELS25
|
|
PRINTI "construction"
|
|
JUMP ?CND23
|
|
?ELS25: EQUAL? SYEAR,2051 \?ELS29
|
|
PRINTI "a church rectory"
|
|
JUMP ?CND23
|
|
?ELS29: EQUAL? SYEAR,2061 \?ELS33
|
|
PRINTI "a closed church building"
|
|
JUMP ?CND23
|
|
?ELS33: PRINTI "a wreck of a building"
|
|
?CND23: PRINTI " on the southwest corner, and to the southeast is an entrance to Midland Cemetery. Midland Avenue heads eastward into the cemetery."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HEALTH-CENTER-OBJECT-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
CALL2 CANT-SEE,HEALTH-CENTER-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS7
|
|
EQUAL? HERE,HEALTH-CENTER \?ELS12
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS12: EQUAL? HERE,MAIN-AND-RIVER \?ELS16
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS16: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS7: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS20
|
|
EQUAL? HERE,HEALTH-CENTER \?ELS25
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS25: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS20: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,HEALTH-CENTER \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HEALTH-CENTER-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PUTP HEALTH-CENTER,P?SDESC,STR?95
|
|
RTRUE
|
|
?ELS10: PUTP HEALTH-CENTER,P?SDESC,STR?96
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2041 \?ELS17
|
|
PRINTI "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"
|
|
JUMP ?CND15
|
|
?ELS17: EQUAL? SYEAR,2051 \?ELS21
|
|
CALL2 SCORE,50
|
|
PRINTI "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"
|
|
JUMP ?CND15
|
|
?ELS21: EQUAL? SYEAR,2061 \?ELS25
|
|
CALL2 SCORE,51
|
|
PRINTI "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"
|
|
JUMP ?CND15
|
|
?ELS25: CALL2 SCORE,52
|
|
PRINTI "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"
|
|
?CND15: PRINTI ". There are exits southwest, to the street, and north, to a"
|
|
EQUAL? SYEAR,2071 \?CND34
|
|
PRINTI "n abandoned"
|
|
?CND34: PRINTI " car lot."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ANDERSON-DIRECTORY-F
|
|
EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
|
|
PRINTI "The directory merely tells which floor the various departments of the "
|
|
PRINTD HEALTH-CENTER-OBJECT
|
|
PRINTR " are located on."
|
|
|
|
|
|
.FUNCT SKYCAR-LOT-3-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is a"
|
|
EQUAL? SYEAR,2071 \?CND8
|
|
PRINTI "n abandoned"
|
|
?CND8: PRINTI " multistory car lot "
|
|
EQUAL? SYEAR,2071 \?CND15
|
|
PRINTI "that was once used "
|
|
?CND15: PRINTI "for the Anderson Health Center "
|
|
EQUAL? SYEAR,2071 \?CND22
|
|
PRINTI "that once occupied the building "
|
|
?CND22: PRINTI "that can be entered to the south. The exit to the street is northwest."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MIDLAND-AND-RIVER-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "Eastbound Midland Avenue forms a ""T"" with River Street at this intersection. To the northeast is a"
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "n old but magnificently preserved structure"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI " graceful structure of marble and glass, bearing the black radar dish symbol of the "
|
|
PRINTI "Church"
|
|
EQUAL? SYEAR,2051 \?CND8
|
|
PRINTI " of God's Word"
|
|
?CND8: PRINTI ". "
|
|
PRINT ALI-BUILDING-DESC
|
|
PRINTI ", and a car lot occupies the southeast corner."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ALI-BUILDING-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINT ALI-BUILDING-DESC
|
|
PRINTR "."
|
|
|
|
|
|
.FUNCT TRAIN-STATION-ENTER-F
|
|
EQUAL? SYEAR,2041 \?ELS9
|
|
GRTR? STIME,660 \?ELS9
|
|
LESS? STIME,1260 /?THN6
|
|
?ELS9: EQUAL? SYEAR,2051,2061,2071 \?ELS5
|
|
?THN6: RETURN TRAIN-STATION
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?99
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TRAIN-STATION-OBJECT-F
|
|
EQUAL? SYEAR,2041 /?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,TRAIN-STATION-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9
|
|
EQUAL? HERE,BODANSKI-SQUARE \?ELS14
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,MIDLAND-AND-RIVER \?ELS16
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS16: CALL GLOBAL-IN?,TRAIN-STATION-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS22
|
|
EQUAL? HERE,TRAIN-STATION \?ELS27
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS27: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS22: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,TRAIN-STATION \?ELS38
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS38: PRINTI "The "
|
|
PRINTD TRAIN-STATION-OBJECT
|
|
PRINTR " is a magnificently preserved national landmark."
|
|
|
|
|
|
.FUNCT TRAIN-STATION-EXIT-F
|
|
EQUAL? SYEAR,2041 \?ELS3
|
|
PRINT NO-TICKET
|
|
CRLF
|
|
RFALSE
|
|
?ELS3: PRINTI "Only high Church officials are allowed into the inner areas."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TRAIN-STATION-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
FSET? TICKET,NDESCBIT \?CND11
|
|
MOVE TICKET,HERE
|
|
?CND11: PUTP TRAIN-STATION,P?SDESC,STR?100
|
|
RTRUE
|
|
?ELS10: PUTP TRAIN-STATION,P?SDESC,STR?101
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS17
|
|
EQUAL? SYEAR,2041 \?ELS22
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS22: PRINTI "The regional central headquarters of the Church"
|
|
EQUAL? SYEAR,2051 \?CND29
|
|
CALL2 SCORE,53
|
|
PRINTI " of God's Word, built on the site of an old "
|
|
PRINTD TRAIN-STATION-OBJECT
|
|
PRINTI ","
|
|
?CND29: PRINTI " 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."
|
|
RTRUE
|
|
?ELS17: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2041 \FALSE
|
|
CALL CLOSING-TIME,1260,STR?102,STR?18,BODANSKI-SQUARE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SOUVENIR-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
EQUAL? HERE,TRAIN-STATION \?ELS10
|
|
PRINTR "You know better than to waste your money on junk like that."
|
|
?ELS10: PRINTR "There aren't any souvenirs for sale here!"
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "The souvenirs are typically cheap, overpriced, train-related trinkets."
|
|
|
|
|
|
.FUNCT PAMPHLET-F
|
|
EQUAL? PRSA,V?READ \FALSE
|
|
EQUAL? SYEAR,2051 \?ELS10
|
|
CALL2 SCORE,54
|
|
PRINTR """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."""
|
|
?ELS10: EQUAL? SYEAR,2061 \?ELS14
|
|
CALL2 SCORE,55
|
|
PRINTR """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."""
|
|
?ELS14: CALL2 SCORE,56
|
|
PRINTR """ --- 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."""
|
|
|
|
|
|
.FUNCT RACK-F
|
|
EQUAL? SYEAR,2041 \?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,PAMPHLET-RACK
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?PUT \?ELS9
|
|
EQUAL? PRSI,PAMPHLET-RACK \?ELS9
|
|
EQUAL? PRSO,PAMPHLET \?ELS16
|
|
FCLEAR PAMPHLET,TOUCHBIT
|
|
MOVE PAMPHLET,HERE
|
|
PRINTR "Done."
|
|
?ELS16: PRINTR "The rack is for Church literature."
|
|
?ELS9: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE
|
|
FSET? PAMPHLET,TOUCHBIT \?ELS29
|
|
PRINTR "It's empty."
|
|
?ELS29: GETP PAMPHLET,P?FDESC
|
|
PRINT STACK
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CENTRE-AND-KENNEDY-F,RARG,?TMP1
|
|
EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
EQUAL? LIGHT-LEVEL,3 \FALSE
|
|
GETP CENTRE-AND-KENNEDY,P?SCENE
|
|
LESS? STACK,101 \FALSE
|
|
GETP CENTRE-AND-KENNEDY,P?SCENE >?TMP1
|
|
RANDOM 100
|
|
LESS? ?TMP1,STACK /?ELS12
|
|
PUTP CENTRE-AND-KENNEDY,P?SCENE,101
|
|
CALL2 SCORE,57
|
|
CRLF
|
|
PRINTR "Across the street, a beggar attempts to approach a wealthy couple, and is beaten into unconsciousness by bodyguards."
|
|
?ELS12: GETP CENTRE-AND-KENNEDY,P?SCENE
|
|
ADD STACK,25
|
|
PUTP CENTRE-AND-KENNEDY,P?SCENE,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT HUANG-HALL-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,CENTRE-AND-KENNEDY \?ELS10
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,HALLEY-AND-PARK \?ELS12
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS12: EQUAL? HERE,HALLEY-PARK-EAST \?ELS14
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS14: CALL GLOBAL-IN?,HUANG-HALL-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS20
|
|
EQUAL? HERE,HUANG-HALL \?ELS25
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS25: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS20: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,HUANG-HALL \?ELS36
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS36: PRINTR "The exterior of the hall is plain and boxy."
|
|
|
|
|
|
.FUNCT HUANG-HALL-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This multipurpose hall "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "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"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "is"
|
|
?CND8: PRINTI " used for conventions, trade shows, and even an occasional sporting event. The current activity seems to be "
|
|
EQUAL? SYEAR,2041 \?ELS21
|
|
PRINTI "a publishers' convention"
|
|
JUMP ?CND19
|
|
?ELS21: EQUAL? SYEAR,2051 \?ELS25
|
|
CALL2 SCORE,58
|
|
PRINTI "a jewelry and fur show"
|
|
JUMP ?CND19
|
|
?ELS25: EQUAL? SYEAR,2061 \?ELS29
|
|
CALL2 SCORE,59
|
|
PRINTI "the graduation festivities for the largest BSF Academy class ever"
|
|
JUMP ?CND19
|
|
?ELS29: CALL2 SCORE,60
|
|
PRINTI "preparations for the televised, annual Executioners Awards"
|
|
?CND19: PRINTI ". You can exit to the "
|
|
EQUAL? SYEAR,2071 \?ELS42
|
|
PRINTI "east or west."
|
|
RTRUE
|
|
?ELS42: PRINTI "north, east, or west."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HALLEY-AND-PARK-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "You are on Park Street, at the eastern terminus of Halley Drive. North of here, Park Street descends into a tunnel under "
|
|
EQUAL? SYEAR,2071 \?CND8
|
|
CALL2 SCORE,61
|
|
PRINTI "the estates that were once "
|
|
?CND8: PRINTI "Halley Park. "
|
|
EQUAL? SYEAR,2071 /?CND15
|
|
PRINTI "The park can be entered to the northeast or northwest. "
|
|
?CND15: PRINTD HALLEY-MUSEUM
|
|
EQUAL? SYEAR,2061,2071 \?CND20
|
|
CALL2 SCORE,62
|
|
PRINTI ", once the city's pride but now closed for the last several years,"
|
|
?CND20: PRINTI " fronts the intersection to the southwest, and Huang Hall can be entered to the east."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HALLEY-MUSEUM-ENTER-F
|
|
EQUAL? SYEAR,2071,2061 \?ELS5
|
|
CALL2 SCORE,62
|
|
PRINT BOARDED-OVER
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: GRTR? STIME,600 \?ELS9
|
|
LESS? STIME,1290 \?ELS9
|
|
RETURN HALLEY-MUSEUM
|
|
?ELS9: CALL2 CLOSED-PRINT,STR?108
|
|
RFALSE
|
|
|
|
|
|
.FUNCT HALLEY-MUSEUM-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
EQUAL? SYEAR,2041 \?ELS8
|
|
PRINTI "Nearly seventy-five"
|
|
JUMP ?CND6
|
|
?ELS8: PRINTI "Nearly eighty-five"
|
|
?CND6: PRINTI " years old, "
|
|
PRINTD HALLEY-MUSEUM
|
|
PRINTI " 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"
|
|
EQUAL? SYEAR,2041 \?ELS21
|
|
PRINTI ", as usual, very"
|
|
JUMP ?CND19
|
|
?ELS21: EQUAL? SYEAR,2051 \?CND19
|
|
CALL2 SCORE,129
|
|
PRINTI " not very"
|
|
?CND19: PRINTI " crowded. The street lies to the northeast."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL CLOSING-TIME,1290,STR?109,STR?18,HALLEY-AND-PARK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HALLEY-AND-UNIVERSITY-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "University Avenue begins here, winding southwards into the "
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
CALL2 SCORE,63
|
|
PRINTI "grounds of what was once "
|
|
PRINTD ROCKVIL-UNIVERSITY
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "college"
|
|
?CND8: PRINTI ". Along the north side of the street is "
|
|
EQUAL? SYEAR,2071 \?ELS21
|
|
CALL2 SCORE,62
|
|
PRINTI "a high brick wall forming the perimeter of the estates that were built when Halley Park was carved up a few years ago"
|
|
JUMP ?CND19
|
|
?ELS21: PRINTI "Halley Park"
|
|
?CND19: PRINTI ". Just to the west is the highway entrance."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2051 \FALSE
|
|
GETP HALLEY-AND-UNIVERSITY,P?SCENE
|
|
EQUAL? STACK,100 \FALSE
|
|
PUTP HALLEY-AND-UNIVERSITY,P?SCENE,101
|
|
MOVE CHURCH-SKYCOPTER,HERE
|
|
ADD ELAPSED-TIME,1
|
|
CALL QUEUE,I-CHURCH-SKYCOPTER,STACK
|
|
CALL2 SCORE,64
|
|
CRLF
|
|
PRINTR "A skycopter, with a loudspeaker disguised as a radar dish hanging below it, drifts slowly by overhead, announcing some sort of prayer meeting."
|
|
|
|
|
|
.FUNCT CHURCH-SKYCOPTER-F
|
|
EQUAL? PRSA,V?LISTEN \?ELS5
|
|
MOVE CHURCH-SKYCOPTER,LOCAL-GLOBALS
|
|
CALL2 INT,I-CHURCH-SKYCOPTER
|
|
PUT STACK,0,0
|
|
CALL2 SCORE,64
|
|
PRINTR """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."
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "Suspended from the skycopter is a speaker modelled to resemble the symbol of the Church."
|
|
|
|
|
|
.FUNCT I-CHURCH-SKYCOPTER
|
|
PRINTI "The skycopter, heading away, disappears from view."
|
|
CRLF
|
|
MOVE CHURCH-SKYCOPTER,LOCAL-GLOBALS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT INTERCHANGE-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,INTERCHANGE \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,INTERCHANGE-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,INTERCHANGE \?ELS21
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,INTERCHANGE \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT NO-ENTRANCE-TO-PARK-F
|
|
PRINTI "There's no entrance to the "
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
PRINTI "estates"
|
|
JUMP ?CND3
|
|
?ELS5: PRINTI "park"
|
|
?CND3: PRINTI " in that direction."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT HALLEY-PARK-EAST-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
EQUAL? HERE,HUANG-HALL,AQUARIUM \?ELS8
|
|
PRINT CANT-GO
|
|
CRLF
|
|
RFALSE
|
|
?ELS8: CALL2 SCORE,65
|
|
PRINT SHOT-ON-SIGHT
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN HALLEY-PARK-EAST
|
|
|
|
|
|
.FUNCT HALLEY-PARK-WEST-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
CALL2 SCORE,65
|
|
PRINT SHOT-ON-SIGHT
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN HALLEY-PARK-WEST
|
|
|
|
|
|
.FUNCT HALLEY-PARK-WEST-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "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 "
|
|
EQUAL? SYEAR,2061 \?ELS10
|
|
CALL2 SCORE,66
|
|
PRINTI "dried-up pond bed"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "small duck pond"
|
|
?CND8: PRINTI " fills the center of the park. Near the zoo entrance is an entrance leading down to the Tubes."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DUCKS-F
|
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
|
PRINTR "The ducks are some common variety, probably mallards."
|
|
?ELS5: EQUAL? PRSA,V?KICK,V?TAKE \FALSE
|
|
PRINTR "The ducks scatter, quacking noisily."
|
|
|
|
|
|
.FUNCT DUCK-POND-F
|
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
|
EQUAL? SYEAR,2061 \?ELS10
|
|
CALL2 SCORE,66
|
|
PRINTR "It is dry and filled with debris."
|
|
?ELS10: EQUAL? SYEAR,2041 \?ELS17
|
|
PRINTI "Many"
|
|
JUMP ?CND15
|
|
?ELS17: PRINTI "A few"
|
|
?CND15: PRINTR " ducks are swimming around in the waters of the pond."
|
|
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS27
|
|
EQUAL? SYEAR,2061 \?ELS32
|
|
CALL PERFORM,V?EXAMINE,DUCK-POND
|
|
RTRUE
|
|
?ELS32: PRINTR "The water is pretty murky, so you can't see much."
|
|
?ELS27: EQUAL? PRSA,V?THROW,V?PUT \?ELS38
|
|
EQUAL? PRSI,DUCK-POND \?ELS38
|
|
EQUAL? SYEAR,2061 \?ELS45
|
|
CALL PERFORM,V?THROUGH,DUCK-POND
|
|
RTRUE
|
|
?ELS45: MOVE PRSO,LOCAL-GLOBALS
|
|
FSET? PRSO,PLURALBIT \?ELS50
|
|
PRINTI "They sink"
|
|
JUMP ?CND48
|
|
?ELS50: PRINTI "It sinks"
|
|
?CND48: PRINTR " into the depths of the pond."
|
|
?ELS38: EQUAL? PRSA,V?SWIM,V?THROUGH,V?BOARD \FALSE
|
|
EQUAL? SYEAR,2061 \?ELS65
|
|
PRINTR "The pond is just a dried-out patch!"
|
|
?ELS65: PRINTR "Swimming in public ponds is illegal."
|
|
|
|
|
|
.FUNCT HALLEY-PARK-EAST-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2061 \?ELS8
|
|
CALL2 SCORE,67
|
|
PRINTI "A pedestal in the center of the park, defaced with multicolored graffiti, indicates where a now-missing statue once rose"
|
|
JUMP ?CND6
|
|
?ELS8: PRINTI "A statue of Francisco Halley, founder of Rockvil, rises in the center of the park"
|
|
?CND6: PRINTI ". 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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HALLEY-STATUE-F
|
|
EQUAL? SYEAR,2061 \?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,HALLEY-STATUE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?WHO \?ELS9
|
|
PRINTR "Francisco Halley is considered the founder of Rockvil."
|
|
?ELS9: EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
|
|
CALL PERFORM,V?READ,PEDESTAL
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ZOO-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "The Rockvil Zoological Garden is a moderately sized zoo,"
|
|
EQUAL? SYEAR,2041,2051 \?CND8
|
|
PRINTI " but it is well-designed, featuring natural habitats"
|
|
?CND8: PRINTI " nestled between "
|
|
EQUAL? SYEAR,2071 \?ELS17
|
|
PRINTI "barren"
|
|
JUMP ?CND15
|
|
?ELS17: PRINTI "grassy"
|
|
?CND15: PRINTI " hills. The main entrance lies to the north"
|
|
EQUAL? SYEAR,2071 \?ELS30
|
|
CALL2 SCORE,68
|
|
SET 'P-IT-OBJECT,BANNER
|
|
PRINTI ". 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."
|
|
GRTR? STIME,840 \FALSE
|
|
LESS? STIME,900 \FALSE
|
|
CALL2 SCORE,69
|
|
CRLF
|
|
CRLF
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS30: PRINTI ", with other exits leading east and southeast. You can just make out the old elevated interstate, forming the western border of the zoo."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2061 \FALSE
|
|
ZERO? ZOO-FLAG \FALSE
|
|
RANDOM 100
|
|
LESS? 40,STACK /FALSE
|
|
SET 'ZOO-FLAG,TRUE-VALUE
|
|
CALL2 SCORE,70
|
|
CRLF
|
|
PRINTR "At a nearby cage, a group of children are taunting, one might even say torturing, a small animal, using rocks and pointy sticks."
|
|
|
|
|
|
.FUNCT CAGES-F
|
|
EQUAL? SYEAR,2041,2051 \?ELS5
|
|
EQUAL? HERE,ZOO \?ELS5
|
|
PRINTR "There are no cages here; only natural habitats."
|
|
?ELS5: EQUAL? PRSA,V?THROUGH \?ELS11
|
|
PRINTR "The cages are all locked, of course."
|
|
?ELS11: EQUAL? PRSA,V?EXAMINE \?ELS15
|
|
EQUAL? SYEAR,2071 \?ELS15
|
|
PRINTR "Several of the cages are empty."
|
|
?ELS15: EQUAL? PRSA,V?LOOK-INSIDE \?ELS21
|
|
EQUAL? SYEAR,2071 \?ELS26
|
|
CALL PERFORM,V?EXAMINE,CAGES
|
|
RTRUE
|
|
?ELS26: CALL PERFORM,V?EXAMINE,ANIMAL
|
|
RTRUE
|
|
?ELS21: EQUAL? PRSA,V?UNLOCK,V?OPEN \FALSE
|
|
PRINTR "Surely you realize that such an action would wreak civic havoc! Fortunately, the cages are securely bolted."
|
|
|
|
|
|
.FUNCT ANIMAL-F
|
|
EQUAL? HERE,ROCKVIL-STADIUM \?ELS5
|
|
EQUAL? SYEAR,2071 /?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,ANIMAL
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?TOUCH \?ELS9
|
|
PRINTR "You can't get close enough to the animals to pet them."
|
|
?ELS9: EQUAL? PRSA,V?FEED \?ELS13
|
|
PRINTI "You pick up a few stray bits of popcorn off the ground and toss it into several of the cages. "
|
|
EQUAL? SYEAR,2041,2051 \?ELS20
|
|
PRINTR "The animals look well fed, however, and ignore the popcorn."
|
|
?ELS20: PRINTR "The animals, which look starved, greedily wolf down the pitifully few kernels."
|
|
?ELS13: EQUAL? PRSA,V?GIVE \?ELS28
|
|
FSET? PRSO,EATBIT \?ELS28
|
|
CALL PERFORM,V?FEED,ANIMAL
|
|
RTRUE
|
|
?ELS28: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "The animals look "
|
|
EQUAL? SYEAR,2061 \?ELS37
|
|
PRINTI "thin and hungry"
|
|
JUMP ?CND35
|
|
?ELS37: EQUAL? SYEAR,2071 \?ELS41
|
|
CALL2 SCORE,69
|
|
PRINTI "starved and beaten, particularly the apes"
|
|
JUMP ?CND35
|
|
?ELS41: EQUAL? SYEAR,2061 \?ELS48
|
|
PRINTI "reasonably"
|
|
JUMP ?CND46
|
|
?ELS48: PRINTI "happy and"
|
|
?CND46: PRINTI " well-fed"
|
|
?CND35: PRINTR "."
|
|
|
|
|
|
.FUNCT ZOO-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,ZOO \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,ZOO-ENTRANCE \?ELS14
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS14: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS18
|
|
EQUAL? HERE,ZOO \?ELS23
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,ZOO \?ELS34
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS34: CALL1 FROM-HERE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BANNER-F
|
|
EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
|
|
CALL2 SCORE,69
|
|
PRINTR """Monkey Torturing -- 2:00pm Daily at the Monkey Cage"""
|
|
|
|
|
|
.FUNCT SKYCAR-LOT-4-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is a huge parking lot for "
|
|
EQUAL? SYEAR,2071 /?CND8
|
|
PRINTI "Halley Park to the south and southeast, "
|
|
?CND8: PRINTI "the Aquarium to the east and the zoo to the west. The exit to the street is northeast"
|
|
EQUAL? SYEAR,2071 \?CND15
|
|
PRINTI ". To the south and southeast are gates leading into "
|
|
PRINTD HALLEY-ESTATES-OBJECT
|
|
?CND15: PRINTI "."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT AQUARIUM-AND-PARK-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "South of this intersection, Park Street descends into a tunnel under "
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
CALL2 SCORE,61
|
|
PRINTI "the Halley Park estates"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "Halley Park"
|
|
?CND8: PRINTI ". 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 "
|
|
EQUAL? SYEAR,2071 \?ELS23
|
|
PRINTI "dingy-looking bar."
|
|
RTRUE
|
|
?ELS23: PRINTI "fast food restaurant."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT AQUARIUM-ENTER-F
|
|
EQUAL? SYEAR,2041 \?ELS9
|
|
GRTR? STIME,600 \?ELS9
|
|
LESS? STIME,1320 /?THN6
|
|
?ELS9: EQUAL? SYEAR,2051 \?ELS11
|
|
GRTR? STIME,600 \?ELS11
|
|
LESS? STIME,1200 /?THN6
|
|
?ELS11: EQUAL? SYEAR,2061 \?ELS13
|
|
GRTR? STIME,660 \?ELS13
|
|
LESS? STIME,1080 /?THN6
|
|
?ELS13: EQUAL? SYEAR,2071 \?ELS5
|
|
GRTR? STIME,720 \?ELS5
|
|
LESS? STIME,1020 \?ELS5
|
|
?THN6: RETURN AQUARIUM
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?117
|
|
RFALSE
|
|
|
|
|
|
.FUNCT AQUARIUM-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,HALLEY-PARK-EAST \?ELS10
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,SKYCAR-LOT-4 \?ELS12
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS12: EQUAL? HERE,AQUARIUM-AND-PARK \?ELS14
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,AQUARIUM-AND-KENNEDY \?ELS16
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS16: CALL GLOBAL-IN?,AQUARIUM-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS22
|
|
EQUAL? HERE,AQUARIUM \?ELS27
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS27: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS22: EQUAL? PRSA,V?EXAMINE \?ELS33
|
|
EQUAL? HERE,AQUARIUM \?ELS33
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS33: EQUAL? PRSA,V?SMELL \FALSE
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
EQUAL? HERE,AQUARIUM \FALSE
|
|
CALL2 SCORE,137
|
|
PRINT AQUARIUM-SMELL
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT AQUARIUM-F,RARG,TIME
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "A ramp winds around a huge central tank, and smaller exhibits fill the outside walls. Exits lead "
|
|
EQUAL? SYEAR,2071 /?CND8
|
|
PRINTI "south, "
|
|
?CND8: PRINTI "west, northwest, and northeast."
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
PRINTI " "
|
|
PRINT AQUARIUM-SMELL
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2041 \?ELS26
|
|
SET 'TIME,1320
|
|
JUMP ?CND24
|
|
?ELS26: EQUAL? SYEAR,2051 \?ELS28
|
|
SET 'TIME,1200
|
|
JUMP ?CND24
|
|
?ELS28: EQUAL? SYEAR,2061 \?ELS30
|
|
SET 'TIME,1080
|
|
JUMP ?CND24
|
|
?ELS30: SET 'TIME,1020
|
|
?CND24: CALL CLOSING-TIME,TIME,STR?118,STR?18,AQUARIUM-AND-KENNEDY
|
|
RSTACK
|
|
|
|
|
|
.FUNCT RAMP-MOVEMENT-F
|
|
PRINTI "This brings you to a different part of the tank, although the view inside is pretty much the same."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TANK-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE \?ELS5
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "The water is crystal clear, sparkling with "
|
|
GRTR? LIGHT-LEVEL,2 \?ELS15
|
|
PRINTI "sun"
|
|
JUMP ?CND13
|
|
?ELS15: PRINTI "artificial "
|
|
?CND13: PRINTI "light from the surface of the water several stories above you. As you peer into the tank, a "
|
|
RANDOM 100
|
|
LESS? 25,STACK /?ELS26
|
|
PRINTI "manta ray"
|
|
JUMP ?CND24
|
|
?ELS26: RANDOM 100
|
|
LESS? 50,STACK /?ELS30
|
|
PRINTI "sea turtle"
|
|
JUMP ?CND24
|
|
?ELS30: PRINTI "large, graceful fish"
|
|
?CND24: PRINTR " swims into view and then vanishes among the rocks and greenery at the bottom of the tank."
|
|
?ELS10: CALL2 SCORE,71
|
|
PRINTR "The water is murky and the walls of the tank need cleaning. You can only make out vague shapes moving about inside the tank."
|
|
?ELS5: EQUAL? PRSA,V?WASH \?ELS44
|
|
EQUAL? SYEAR,2041 /?ELS44
|
|
PRINTR "You don't have the access or the equipment."
|
|
?ELS44: EQUAL? PRSA,V?SWIM,V?BOARD,V?THROUGH \FALSE
|
|
PRINTR "There's no visible entrance to the tank."
|
|
|
|
|
|
.FUNCT FISH-F
|
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTR "The fish are large and graceful."
|
|
?ELS10: PRINTR "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."
|
|
?ELS5: EQUAL? PRSA,V?TOUCH,V?EAT \FALSE
|
|
PRINTR "The fish are inside a tank."
|
|
|
|
|
|
.FUNCT RAMP-F
|
|
EQUAL? PRSA,V?CLIMB-DOWN,V?CLIMB-FOO,V?CLIMB-UP \FALSE
|
|
CALL2 DO-WALK,P?UP
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SERVICE-STATION-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,AQUARIUM-AND-PARK \?ELS10
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS10: CALL GLOBAL-IN?,SERVICE-STATION-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,SERVICE-STATION \?ELS21
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,SERVICE-STATION \?ELS32
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS32: PRINTI "The "
|
|
PRINTD SERVICE-STATION-OBJECT
|
|
PRINTR " is unusually large, especially for one so close to the city."
|
|
|
|
|
|
.FUNCT BURGER-MEISTER-ENTER-F
|
|
GRTR? STIME,1200 /?THN8
|
|
LESS? STIME,420 \?ELS5
|
|
?THN8: EQUAL? SYEAR,2041 /?ELS5
|
|
CALL2 OF-COURSE,BURGER-MEISTER
|
|
RFALSE
|
|
?ELS5: RETURN BURGER-MEISTER
|
|
|
|
|
|
.FUNCT BURGER-MEISTER-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2071 \?ELS8
|
|
PUTP BURGER-MEISTER,P?SDESC,STR?120
|
|
JUMP ?CND6
|
|
?ELS8: EQUAL? SYEAR,2061 \?ELS10
|
|
PUTP BURGER-MEISTER,P?SDESC,STR?121
|
|
JUMP ?CND6
|
|
?ELS10: PUTP BURGER-MEISTER,P?SDESC,STR?122
|
|
?CND6: MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?54
|
|
MOVE BEER,LOCAL-GLOBALS
|
|
MOVE BAR-STOOL,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS14
|
|
EQUAL? SYEAR,2071 \?ELS19
|
|
CALL2 SCORE,72
|
|
PRINTI "You are in a seedy pub, filled with smoke and smelling of urine. A fast-food counter has been converted into the bar"
|
|
PRINT STOOL-DESC
|
|
PRINTI "The exit is southwest."
|
|
RTRUE
|
|
?ELS19: PRINTI "This is a fast food restaurant serving "
|
|
CALL1 FAST-FOOD-MENU
|
|
PRINTI ". Stools provide ample seating. The only way out is southwest."
|
|
RTRUE
|
|
?ELS14: EQUAL? RARG,M-END \FALSE
|
|
CALL2 CURFEW-CLOSE,AQUARIUM-AND-PARK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BURGER-MEISTER-EXIT-F
|
|
CALL2 HELD?,BEER
|
|
ZERO? STACK /?ELS5
|
|
PRINT BARTENDER-YELLS
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN AQUARIUM-AND-PARK
|
|
|
|
|
|
.FUNCT ZOO-ENTRANCE-F,RARG
|
|
EQUAL? SYEAR,2061 \FALSE
|
|
EQUAL? RARG,M-END \FALSE
|
|
EQUAL? LIGHT-LEVEL,3 \FALSE
|
|
GETP ZOO-ENTRANCE,P?SCENE
|
|
LESS? STACK,101 \FALSE
|
|
PUTP ZOO-ENTRANCE,P?SCENE,101
|
|
CALL2 SCORE,74
|
|
CRLF
|
|
PRINTR "Down the block, you can see two youths, wearing Church of God's Word pendants, harassing a middle-aged Hassidic Jew."
|
|
|
|
|
|
.FUNCT STADIUM-LOT-A-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
CALL STADIUM-LOT-DESC,STR?50,STR?49
|
|
RSTACK
|
|
|
|
|
|
.FUNCT STADIUM-LOT-DESC,IN-DIR,OUT-DIR
|
|
PRINTI "This is a parking lot for Rockvil Municipal Stadium, which can be entered to the "
|
|
PRINT IN-DIR
|
|
PRINTI ". You can leave the lot to the "
|
|
PRINT OUT-DIR
|
|
PRINTI "."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT STADIUM-LOT-B-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
CALL STADIUM-LOT-DESC,STR?129,STR?130
|
|
RSTACK
|
|
|
|
|
|
.FUNCT WATER-TOWER-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "Park Street splits for a block as it climbs Lincoln Hill and passes around a "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "shiny"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2061 \?ELS14
|
|
CALL2 SCORE,130
|
|
PRINTI "corroding"
|
|
JUMP ?CND8
|
|
?ELS14: EQUAL? SYEAR,2071 \?CND8
|
|
CALL2 SCORE,131
|
|
PRINTI "decrepit"
|
|
?CND8: PRINTI " plastalloy "
|
|
PRINTD WATER-TOWER-OBJECT
|
|
PRINTI ". 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
|
|
PRINTI "."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WATER-TOWER-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH \?ELS5
|
|
PRINTR "There's no visible entrance to the tower."
|
|
?ELS5: EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-FOO \FALSE
|
|
PRINTR "There's no way to scale the tower."
|
|
|
|
|
|
.FUNCT ROCKVIL-REFORMATORY-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "The Park Street Prison was built during the twentieth century. It was expanded, modernized, and renamed the "
|
|
PRINTD ROCKVIL-REFORMATORY
|
|
PRINTI " around "
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI "ten"
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? SYEAR,2051 \?ELS16
|
|
PRINTI "twenty"
|
|
JUMP ?CND10
|
|
?ELS16: EQUAL? SYEAR,2061 \?ELS20
|
|
PRINTI "thirty"
|
|
JUMP ?CND10
|
|
?ELS20: PRINTI "forty"
|
|
?CND10: PRINTI " years ago. "
|
|
CALL PERFORM,V?EXAMINE,WALLS
|
|
CRLF
|
|
PRINTI "From what you've heard, the prison is "
|
|
EQUAL? SYEAR,2041 \?ELS33
|
|
PRINTI "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"
|
|
JUMP ?CND31
|
|
?ELS33: EQUAL? SYEAR,2051 \?ELS37
|
|
CALL2 SCORE,75
|
|
PRINTI "unbelievably overcrowded, with brutally unsanitary conditions"
|
|
JUMP ?CND31
|
|
?ELS37: EQUAL? SYEAR,2061 \?ELS41
|
|
CALL2 SCORE,76
|
|
PRINTI "much less crowded than it used to be, now that the death penalty has been extended to cover most crimes"
|
|
JUMP ?CND31
|
|
?ELS41: EQUAL? SYEAR,2071 \?CND31
|
|
CALL2 SCORE,77
|
|
PRINTI "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"
|
|
?CND31: PRINTI ". Park Street is south of here."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT JAIL-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,WATER-TOWER,ROCKVIL-REFORMATORY \?ELS10
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,POLICE-STATION \?ELS12
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS12: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS18
|
|
EQUAL? HERE,WATER-TOWER,POLICE-STATION \?ELS23
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS23: EQUAL? HERE,ROCKVIL-REFORMATORY \?ELS27
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS27: CALL2 DO-WALK,P?OUT
|
|
RSTACK
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \?ELS31
|
|
EQUAL? HERE,POLICE-STATION \?ELS31
|
|
EQUAL? SYEAR,2061 \?ELS38
|
|
PRINTR "You can't tell much about the cells from here."
|
|
?ELS38: PRINTI "From here, the jail cells look pretty "
|
|
EQUAL? SYEAR,2071 \?ELS47
|
|
PRINTI "empty"
|
|
JUMP ?CND45
|
|
?ELS47: PRINTI "crowded"
|
|
?CND45: PRINTR "."
|
|
?ELS31: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,JAIL-CELL,ROCKVIL-REFORMATORY \?ELS62
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS62: CALL1 FROM-HERE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT STADIUM-LOT-C-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
CALL STADIUM-LOT-DESC,STR?133,STR?134
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ROCKVIL-STADIUM-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
FSET STADIUM-STANDS,FURNITUREBIT
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2061,2071 \?ELS10
|
|
GRTR? STIME,1200 /?THN13
|
|
LESS? STIME,480 \?ELS10
|
|
?THN13: PRINTI "The stadium is dark and deserted"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2071 \?ELS18
|
|
CALL2 SCORE,79
|
|
PRINTI "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"
|
|
JUMP ?CND8
|
|
?ELS18: EQUAL? SYEAR,2061 \?ELS22
|
|
CALL2 SCORE,78
|
|
PRINTI "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"
|
|
JUMP ?CND8
|
|
?ELS22: PRINTI "Rockvil Municipal Stadium is a multipurpose sporting event facility, home of both baseball's Rockvil Bobcats and soccer's Rockvil Rockets"
|
|
?CND8: PRINTI ". Stadium exits lie to the south, east, and northeast. A "
|
|
EQUAL? SYEAR,2071 \?CND31
|
|
PRINTI "closed "
|
|
?CND31: PRINTD TUBE-STATION
|
|
PRINTI " lies directly under the stadium."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT STADIUM-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,ROCKVIL-STADIUM \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,STADIUM-LOT-A \?ELS14
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,STADIUM-LOT-B \?ELS16
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS16: EQUAL? HERE,STADIUM-LOT-C \?ELS18
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS18: CALL GLOBAL-IN?,STADIUM-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS22
|
|
EQUAL? HERE,ROCKVIL-STADIUM \?ELS27
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS27: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS22: EQUAL? PRSA,V?EXAMINE \?ELS33
|
|
EQUAL? HERE,ROCKVIL-STADIUM \?ELS38
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS38: EQUAL? HERE,TUBE-AT-STADIUM \?ELS40
|
|
PRINTR "You can't see the stadium from down here!"
|
|
?ELS40: PRINTR "The stadium is a monolithic plasticrete park with tall, narrow, arched entrances."
|
|
?ELS33: EQUAL? PRSA,V?SIT,V?BOARD \FALSE
|
|
EQUAL? HERE,ROCKVIL-STADIUM \FALSE
|
|
CALL PERFORM,V?SIT,STADIUM-STANDS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ATHLETIC-FIELD-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2061,2071 \?ELS5
|
|
EQUAL? LIGHT-LEVEL,3 \?ELS5
|
|
CALL QUEUE,I-ATHLETIC-FIELD,1
|
|
RSTACK
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is an outdoor athletic field for "
|
|
EQUAL? SYEAR,2061,2071 \?ELS14
|
|
PRINTI "the Vincent School"
|
|
JUMP ?CND12
|
|
?ELS14: PRINTI "Rockvil High School"
|
|
?CND12: PRINTI ", 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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT STONES-F
|
|
EQUAL? PRSA,V?TAKE \FALSE
|
|
MOVE STONES,PLAYER
|
|
PRINTR "You pick up a stone."
|
|
|
|
|
|
.FUNCT I-ATHLETIC-FIELD
|
|
EQUAL? HERE,ATHLETIC-FIELD /?ELS5
|
|
SET 'STONING-FLAG,FALSE-VALUE
|
|
RFALSE
|
|
?ELS5: EQUAL? SYEAR,2061 \?ELS7
|
|
CALL2 SCORE,80
|
|
CRLF
|
|
PRINTR "Some of the schoolchildren notice the stranger who has wandered onto their field, and begin laughing at you, plucking at your ratty clothing."
|
|
?ELS7: EQUAL? SYEAR,2071 \?ELS11
|
|
ZERO? STONING-FLAG \?ELS11
|
|
SET 'STONING-FLAG,TRUE-VALUE
|
|
CALL QUEUE,I-ATHLETIC-FIELD,1
|
|
CRLF
|
|
PRINTR "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."
|
|
?ELS11: CALL2 SCORE,81
|
|
CALL2 JIGS-UP,STR?137
|
|
RSTACK
|
|
|
|
|
|
.FUNCT RIVER-AND-KENNEDY-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "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. "
|
|
EQUAL? SYEAR,2061,2071 \?ELS10
|
|
PRINTI "The Vincent"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "Rockvil High"
|
|
?CND8: PRINTI " School is on the southeast corner, and its athletic field is southwest of here."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ROCKVIL-HIGH-ENTER-F
|
|
LESS? STIME,420 /?THN6
|
|
GRTR? STIME,1020 \?ELS5
|
|
?THN6: CALL2 CLOSED-PRINT,STR?138
|
|
RFALSE
|
|
?ELS5: RETURN ROCKVIL-HIGH
|
|
|
|
|
|
.FUNCT ROCKVIL-HIGH-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2041,2051 \?ELS10
|
|
PUTP ROCKVIL-HIGH,P?SDESC,STR?139
|
|
RTRUE
|
|
?ELS10: PUTP ROCKVIL-HIGH,P?SDESC,STR?140
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS14
|
|
EQUAL? SYEAR,2041,2051 \?ELS17
|
|
PRINTI "The oldest secondary school in the city, Rockvil High School moved to its current location and building approximately "
|
|
EQUAL? SYEAR,2041 \?ELS22
|
|
PRINTI "thirty"
|
|
JUMP ?CND20
|
|
?ELS22: PRINTI "forty"
|
|
?CND20: PRINTI " years ago"
|
|
JUMP ?CND15
|
|
?ELS17: CALL2 SCORE,82
|
|
PRINTI "The old Rockvil High building was purchased by the Church of God's Word after the public school system shut down in 2058"
|
|
?CND15: PRINTI ". The building has exits at its eastern and northwestern corners."
|
|
RTRUE
|
|
?ELS14: EQUAL? RARG,M-END \FALSE
|
|
CALL SHOP-CLOSES,1020,STR?141,STR?142,RIVER-AND-KENNEDY
|
|
RSTACK
|
|
|
|
|
|
.FUNCT AQUARIUM-AND-KENNEDY-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "You are at a perpendicular intersection formed by the north-south Kennedy Street and the east-west Aquarium Drive. "
|
|
PRINT CHUN-DESC
|
|
PRINTI " On the other corners, scanning clockwise, are a dental school, the Aquarium, and a bank."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CHUN-BUILDING-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
IN? CHUN-BUILDING,HERE \?ELS5
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINT CHUN-DESC
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BANK-ENTER-F
|
|
GRTR? STIME,480 \?ELS5
|
|
LESS? STIME,960 \?ELS5
|
|
RETURN BANK
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?143
|
|
RFALSE
|
|
|
|
|
|
.FUNCT BANK-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?144
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS7
|
|
PRINTI "This is the main office of the First Continent Bank, "
|
|
EQUAL? SYEAR,2071 \?ELS12
|
|
CALL2 SCORE,83
|
|
PRINTI "a Church holding and the only"
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? SYEAR,2061 \?ELS16
|
|
CALL2 SCORE,84
|
|
PRINTI "the only"
|
|
JUMP ?CND10
|
|
?ELS16: PRINTI "the largest"
|
|
?CND10: PRINTI " bank in Rockvil"
|
|
EQUAL? SYEAR,2061 \?CND25
|
|
PRINTI ", following last year's forced merger"
|
|
?CND25: PRINTI ". The front door is on the southeast wall, opposite the tellers."
|
|
RTRUE
|
|
?ELS7: EQUAL? RARG,M-END \FALSE
|
|
CALL SHOP-CLOSES,960,STR?145,STR?146,AQUARIUM-AND-KENNEDY
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BANK-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,BANK \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS16
|
|
EQUAL? HERE,BANK \?ELS21
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,BANK \?ELS32
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS32: PRINTR "It's the main branch of the First Continent Bank."
|
|
|
|
|
|
.FUNCT DENTAL-SCHOOL-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "The Mortimer "
|
|
PRINTD DENTAL-SCHOOL
|
|
PRINTI " is a fairly small"
|
|
EQUAL? SYEAR,2041 \?CND10
|
|
PRINTI ", fairly new"
|
|
?CND10: PRINTI " school"
|
|
EQUAL? SYEAR,2041,2051 \?ELS19
|
|
PRINTI ", but has been gaining an excellent reputation for dental training"
|
|
JUMP ?CND17
|
|
?ELS19: EQUAL? SYEAR,2071 \?CND17
|
|
PRINTI " with a fine reputation, and has remained amazingly unchanged by the turmoil of the last few decades"
|
|
?CND17: PRINTI ". The way out is to the northwest."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PARK-ENTRANCE-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PUTP PARK-ENTRANCE,P?SDESC,STR?148
|
|
RTRUE
|
|
?ELS10: PUTP PARK-ENTRANCE,P?SDESC,STR?149
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "You are on Kennedy Street near an entrance to "
|
|
EQUAL? SYEAR,2071 \?CND17
|
|
CALL2 SCORE,61
|
|
PRINTI "the estates for the wealthy, built on what was formerly "
|
|
?CND17: PRINTI "Halley Park, to the west. On the east side of the street is a large"
|
|
EQUAL? SYEAR,2071 \?CND24
|
|
PRINTI ", abandoned"
|
|
?CND24: PRINTI " car lot. Kennedy continues to the north and south."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HALLEY-ESTATES-OBJECT-F
|
|
EQUAL? SYEAR,2071 /?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,HALLEY-ESTATES-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9
|
|
EQUAL? HERE,PARK-ENTRANCE \?ELS14
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,HALLEY-AND-PARK \?ELS16
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS16: EQUAL? HERE,HALLEY-AND-UNIVERSITY \?ELS18
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS18: CALL GLOBAL-IN?,HALLEY-ESTATES-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS22
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS22: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "You can't see over the high brick wall that surrounds the estates."
|
|
|
|
|
|
.FUNCT SKYCAR-LOT-5-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This parking lot is "
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PRINTI "unused, and weeds are beginning to poke through the asphalt. You can reach"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "owned by the First Methodist Church, although it is frequently rented to organizations using nearby Huang Hall. The parking lot has exits to"
|
|
?CND8: PRINTI " the street to the east and west. "
|
|
EQUAL? SYEAR,2071 \?ELS23
|
|
PRINTI "A vacant lot is north of here."
|
|
RTRUE
|
|
?ELS23: PRINTI "You can enter the church to the north."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FIRST-METHODIST-CHURCH-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE CHURCH-OFFICIAL,LOCAL-GLOBALS
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PUTP FIRST-METHODIST-CHURCH,P?SDESC,STR?89
|
|
RTRUE
|
|
?ELS10: PUTP FIRST-METHODIST-CHURCH,P?SDESC,STR?150
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS14
|
|
EQUAL? SYEAR,2071 \?ELS19
|
|
CALL2 SCORE,85
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS19: EQUAL? SYEAR,2041 \?ELS26
|
|
PRINTI "This is a new building which"
|
|
JUMP ?CND24
|
|
?ELS26: PRINTI "This building"
|
|
?CND24: PRINTI " exhibits both the best and worst features of twenty-first century neoclassical architecture. The congregation must "
|
|
EQUAL? SYEAR,2061 \?ELS37
|
|
PRINTI "have once been"
|
|
JUMP ?CND35
|
|
?ELS37: PRINTI "be"
|
|
?CND35: PRINTI " very large, judging by the size of the car lot to the south. The main entrance to the church is at the northeast."
|
|
RTRUE
|
|
?ELS14: EQUAL? RARG,M-END \FALSE
|
|
CALL1 ELDER-MOVE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ELDER-MOVE
|
|
EQUAL? SYEAR,2041,2051 \?ELS5
|
|
GRTR? STIME,480 \?ELS5
|
|
LESS? STIME,1200 \?ELS5
|
|
FSET? CHURCH-OFFICIAL,TOUCHBIT /?ELS5
|
|
IN? CHURCH-OFFICIAL,HERE /?ELS5
|
|
MOVE CHURCH-OFFICIAL,HERE
|
|
CRLF
|
|
PRINTR "You suddenly notice a church elder, pacing around at the other end of the building."
|
|
?ELS5: IN? CHURCH-OFFICIAL,HERE \FALSE
|
|
GRTR? STIME,1200 \FALSE
|
|
MOVE CHURCH-OFFICIAL,LOCAL-GLOBALS
|
|
CRLF
|
|
PRINTR "The church official wanders off."
|
|
|
|
|
|
.FUNCT CHURCH-OFFICIAL-F
|
|
EQUAL? PRSA,V?TELL /?THN6
|
|
EQUAL? CHURCH-OFFICIAL,WINNER \FALSE
|
|
?THN6: SET 'PRSO,CHURCH-OFFICIAL
|
|
FSET CHURCH-OFFICIAL,TOUCHBIT
|
|
CALL1 BRIEF-CHAT
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
ZERO? RECORDING /?CND11
|
|
PUT RECORDING-TABLE,12,1
|
|
?CND11: PRINTI "smiles and comments on how happy he is about the recent increase in church attendance, which he attributes to an improving national moral climate"
|
|
PRINT OFFICIAL-LEAVES
|
|
CRLF
|
|
JUMP ?CND8
|
|
?ELS10: CALL2 SCORE,136
|
|
PRINTI "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."
|
|
CRLF
|
|
?CND8: CALL1 CLEAR-BUF
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BRIEF-CHAT
|
|
SET 'ELAPSED-TIME,8
|
|
SET 'FOLLOW-FLAG,9
|
|
CALL QUEUE,I-UNFOLLOW,10
|
|
MOVE PRSO,LOCAL-GLOBALS
|
|
PRINTI "You have a brief chat with the "
|
|
PRINTD PRSO
|
|
PRINTI ", who "
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BODANSKI-SQUARE-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "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"
|
|
EQUAL? SYEAR,2071 \?CND8
|
|
PRINTI "n abandoned"
|
|
?CND8: PRINTI " car lot on the western side of the square. On the northeastern corner is a restaurant, and the "
|
|
EQUAL? SYEAR,2041 \?ELS17
|
|
PRINTI "old "
|
|
PRINTD TRAIN-STATION-OBJECT
|
|
JUMP ?CND15
|
|
?ELS17: PRINTI "Church of God's Word"
|
|
?CND15: PRINTI " can be entered to the southeast. A "
|
|
EQUAL? SYEAR,2071 \?ELS30
|
|
PRINTI "sealed-off stairway indicates a former entrance to the Tubes."
|
|
RTRUE
|
|
?ELS30: PRINTI "covered stairway leads down to the Tubes."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LAMP-POST-F
|
|
EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-FOO \?ELS5
|
|
PRINTR "The lamp post is too smooth to climb."
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? SYEAR,2041,2051 \FALSE
|
|
PRINTI "There's a "
|
|
PRINTD NEWSPAPER-DISPENSER
|
|
PRINTR " chained to it."
|
|
|
|
|
|
.FUNCT NEWSPAPER-DISPENSER-F,RARG
|
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
|
PRINTI "The box dispenses copies of The Rockie Times, a regional weekly newspaper"
|
|
EQUAL? SYEAR,2051 \?CND8
|
|
CALL2 SCORE,86
|
|
PRINTI ", and one of the last remaining newspapers in the country"
|
|
?CND8: PRINTI ". There is a slot on top of the dispenser where you can insert your "
|
|
PRINTD CREDIT-CARD
|
|
PRINTR "."
|
|
?ELS5: EQUAL? PRSA,V?OPEN \?ELS18
|
|
PRINTR "The dispenser is locked. The only way to get a paper out is by putting your card in the slot."
|
|
?ELS18: EQUAL? PRSA,V?PUT \FALSE
|
|
EQUAL? PRSO,CREDIT-CARD \FALSE
|
|
CALL PERFORM,V?PUT,CREDIT-CARD,SLOT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NEWSPAPER-F
|
|
EQUAL? PRSA,V?TAKE,V?READ \?ELS5
|
|
FSET? NEWSPAPER,TRYTAKEBIT \?ELS5
|
|
PRINTR "It's inside the dispenser!"
|
|
?ELS5: EQUAL? PRSA,V?READ \?ELS11
|
|
EQUAL? SYEAR,2041 \?ELS16
|
|
ZERO? RECORDING /?CND17
|
|
PUT RECORDING-TABLE,6,1
|
|
?CND17: SET 'ELAPSED-TIME,10
|
|
PRINTR "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."
|
|
?ELS16: EQUAL? SYEAR,2051 \?ELS24
|
|
SET 'ELAPSED-TIME,5
|
|
CALL2 SCORE,87
|
|
PRINTR "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."
|
|
?ELS24: PRINTR "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."""
|
|
?ELS11: EQUAL? PRSA,V?BUY \?ELS32
|
|
EQUAL? HERE,BODANSKI-SQUARE \?ELS37
|
|
EQUAL? SYEAR,2041,2051 \?ELS37
|
|
FSET? NEWSPAPER,TRYTAKEBIT \?ELS44
|
|
CALL VENDING,NEWSPAPER-DISPENSER,NEWSPAPER,1
|
|
RSTACK
|
|
?ELS44: PRINTR "A red empty light flashes for a second."
|
|
?ELS37: EQUAL? HERE,DRUG-STORE \?ELS50
|
|
PRINTR "They seem to be sold out."
|
|
?ELS50: CALL2 CANT-BUY,NEWSPAPER
|
|
RSTACK
|
|
?ELS32: EQUAL? PRSA,V?PUT \FALSE
|
|
EQUAL? PRSI,NEWSPAPER-DISPENSER \FALSE
|
|
PRINTR "You can't put the paper back into the dispenser!"
|
|
|
|
|
|
.FUNCT SIMONS-ENTER-F
|
|
GRTR? STIME,1200 /?THN8
|
|
LESS? STIME,420 \?ELS5
|
|
?THN8: EQUAL? SYEAR,2041 /?ELS5
|
|
CALL2 OF-COURSE,RESTAURANT-OBJECT
|
|
RFALSE
|
|
?ELS5: RETURN SIMONS
|
|
|
|
|
|
.FUNCT SIMONS-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
SET 'MEAL-STATUS,1
|
|
SET 'MAITRE-COUNTER,0
|
|
SET 'WAITER-COUNTER,0
|
|
MOVE SPEAR-CARRIER,HERE
|
|
CALL2 INT,I-MEAL
|
|
PUT STACK,0,0
|
|
MOVE RESTAURANT-TABLE,HERE
|
|
MOVE CHAIR,HERE
|
|
IN? CREDIT-CARD,SPEAR-CARRIER \?CND6
|
|
MOVE CREDIT-CARD,LOCAL-GLOBALS
|
|
?CND6: PUTP SPEAR-CARRIER,P?SDESC,STR?80
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL2 RESTAURANT-CLOSES,BODANSKI-SQUARE
|
|
ZERO? STACK \TRUE
|
|
CALL1 PARTY-OF-ONE
|
|
ZERO? STACK \TRUE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT AQUARIUM-AND-RIVER-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "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"
|
|
EQUAL? SYEAR,2071 \?ELS12
|
|
PRINTI "n empty lot."
|
|
RTRUE
|
|
?ELS12: PRINTI " church."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PICKFORD-THEATRE-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,PICKFORD-THEATRE \?ELS10
|
|
PRINT NO-TICKET
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PICKFORD-THEATRE-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,PICKFORD-THEATRE \?ELS21
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,PICKFORD-THEATRE \?ELS32
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS32: PRINTR "The Pickford is a fine, old theatre."
|
|
|
|
|
|
.FUNCT PICKFORD-THEATRE-F,RARG
|
|
EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2061,2071 \FALSE
|
|
GRTR? STIME,1160 \FALSE
|
|
LESS? STIME,1200 \FALSE
|
|
CRLF
|
|
PRINTI "Skycar after skycar settles onto the sidewalk outside the theatre, and extravagantly dressed couples walk elegantly into the theatre for the evening's performance"
|
|
EQUAL? SYEAR,2071 \?CND10
|
|
RANDOM 100
|
|
LESS? 50,STACK /?CND10
|
|
ZERO? BEGGAR-FLAG \?CND10
|
|
SET 'BEGGAR-FLAG,TRUE-VALUE
|
|
CALL2 SCORE,57
|
|
PRINTI ". 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"
|
|
?CND10: PRINTR "."
|
|
|
|
|
|
.FUNCT AIRPORTWAY-AND-RIVER-F,RARG,?TMP1
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "The road east to the airport begins here. River Street continues north toward the reservoir, curving around to run along its southern shore. A "
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PRINTI "Church"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2061 \?ELS14
|
|
PRINTI "Church of God's Word"
|
|
JUMP ?CND8
|
|
?ELS14: PRINTI "high"
|
|
?CND8: PRINTI " 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."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2061 \FALSE
|
|
EQUAL? LIGHT-LEVEL,3 \FALSE
|
|
GETP AIRPORTWAY-AND-RIVER,P?SCENE
|
|
LESS? STACK,101 \FALSE
|
|
GETP AIRPORTWAY-AND-RIVER,P?SCENE >?TMP1
|
|
RANDOM 100
|
|
LESS? ?TMP1,STACK /?ELS31
|
|
PUTP AIRPORTWAY-AND-RIVER,P?SCENE,101
|
|
CALL2 SCORE,88
|
|
CRLF
|
|
PRINTR "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."
|
|
?ELS31: GETP AIRPORTWAY-AND-RIVER,P?SCENE
|
|
ADD STACK,33
|
|
PUTP AIRPORTWAY-AND-RIVER,P?SCENE,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT WELLS-THEATRE-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,AIRPORTWAY-AND-RIVER \?ELS10
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,AQUARIUM-AND-RIVER \?ELS12
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS12: CALL GLOBAL-IN?,WELLS-THEATRE-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT NO-TICKET
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS18
|
|
EQUAL? HERE,WELLS-THEATRE \?ELS23
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,WELLS-THEATRE \?ELS34
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS34: PRINTR "The Wells is a modern-looking theatre."
|
|
|
|
|
|
.FUNCT WELLS-THEATRE-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is the lobby of a "
|
|
EQUAL? SYEAR,2041,2051 \?ELS10
|
|
PRINTI "modern"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "well-maintained"
|
|
?CND8: PRINTI " theatre, built on the site of the original "
|
|
PRINTD WELLS-THEATRE
|
|
PRINTI ", which dates to the middle of the last century. According to a showcase, the current season includes productions of "
|
|
EQUAL? SYEAR,2041 \?ELS23
|
|
PRINTI "Shakespeare's ""Hamlet,"" Williams' ""A Streetcar Named Desire,"" Furrough's ""Plastic Summer,"" and the classic musical ""Hair."""
|
|
JUMP ?CND21
|
|
?ELS23: EQUAL? SYEAR,2051 \?ELS27
|
|
PRINTI "Wilder's ""Our Town,"" Shakespeare's ""A Midsummer Night's Dream,"" Rodgers and Hammerstein's ""Oklahoma"", and Grzenda and Rice's ""Prairie Song."""
|
|
JUMP ?CND21
|
|
?ELS27: EQUAL? SYEAR,2061 \?ELS31
|
|
PRINTI "Hilbert's ""Faith of our Fathers,"" Kim's ""Furs, Trees, and Beef,"" and Shaw's ""Man and Superman."""
|
|
JUMP ?CND21
|
|
?ELS31: CALL2 SCORE,89
|
|
PRINTI "several recent ecumenical plays."
|
|
?CND21: PRINTI " The theatre has exits to the northeast and southeast."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MUSEUM-ENTRANCE-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "Standing on the south side of Bodanski Boulevard is the "
|
|
EQUAL? SYEAR,2061,2071 \?CND8
|
|
CALL2 SCORE,90
|
|
PRINTI "boarded-up "
|
|
?CND8: PRINTD RAILROAD-MUSEUM
|
|
PRINTI ". 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."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2061 \FALSE
|
|
EQUAL? LIGHT-LEVEL,3 \FALSE
|
|
GETP MUSEUM-ENTRANCE,P?SCENE
|
|
EQUAL? STACK,100 \FALSE
|
|
PUTP MUSEUM-ENTRANCE,P?SCENE,101
|
|
CALL2 SCORE,91
|
|
CRLF
|
|
PRINTR "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."
|
|
|
|
|
|
.FUNCT SKYCAR-LOT-6-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is a large lot "
|
|
EQUAL? SYEAR,2041,2051 \?ELS12
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS12: EQUAL? SYEAR,2061 \?ELS16
|
|
PRINTI "for the park to the east, the symphony to the north, and the cinema to the west."
|
|
RTRUE
|
|
?ELS16: PRINTI "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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RAILROAD-MUSEUM-ENTER-F
|
|
EQUAL? SYEAR,2041,2051 \?ELS5
|
|
GRTR? STIME,615 \?ELS10
|
|
LESS? STIME,1185 \?ELS10
|
|
RETURN RAILROAD-MUSEUM
|
|
?ELS10: CALL2 CLOSED-PRINT,STR?108
|
|
RFALSE
|
|
?ELS5: CALL2 SCORE,90
|
|
PRINT BOARDED-OVER
|
|
EQUAL? SYEAR,2061 \?ELS21
|
|
PRINTI " A yellowed sign under the boards reads "
|
|
CALL PERFORM,V?READ,GLOBAL-SIGN
|
|
RFALSE
|
|
?ELS21: CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT RAILROAD-MUSEUM-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "This museum is devoted to "
|
|
EQUAL? SYEAR,2041 \?CND8
|
|
PRINTI "the old North Central Railroad Station around the corner, and more generally to "
|
|
?CND8: PRINTI "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
|
|
PRINTI "s behind the station. The street is to the north and another exit leads east."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL CLOSING-TIME,1185,STR?109,STR?18,MUSEUM-ENTRANCE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT RAILROAD-YARD-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,MIDLAND-AND-CHURCH \?ELS10
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RIVERSIDE-PARK-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
CALL2 SCORE,92
|
|
PRINTI "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."
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN RIVERSIDE-PARK
|
|
|
|
|
|
.FUNCT CINEMA-ENTER-F
|
|
GRTR? STIME,1200 /?THN8
|
|
LESS? STIME,420 \?ELS5
|
|
?THN8: EQUAL? SYEAR,2041 /?ELS5
|
|
CALL2 OF-COURSE,MOVIE-THEATRE-OBJECT
|
|
RFALSE
|
|
?ELS5: RETURN CINEMA
|
|
|
|
|
|
.FUNCT CINEMA-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
FSET? TICKET,NDESCBIT \?ELS5
|
|
MOVE TICKET,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS9
|
|
PRINTI "The Downtown Cinema Quad is a "
|
|
EQUAL? SYEAR,2041 \?ELS14
|
|
PRINTI "modern, "
|
|
JUMP ?CND12
|
|
?ELS14: EQUAL? SYEAR,2061,2071 \?CND12
|
|
PRINTI "seedy, "
|
|
?CND12: PRINTI "four-theatre movie complex"
|
|
EQUAL? SYEAR,2041,2051 \?ELS25
|
|
PRINTI " with all the latest holographic and personalized stereo technology"
|
|
JUMP ?CND23
|
|
?ELS25: EQUAL? SYEAR,2071 \?CND23
|
|
CALL2 SCORE,128
|
|
PRINTI ". The carpeting is dirty and torn, and the air is rank with a mixture of putrid odors"
|
|
?CND23: PRINTI ". 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."
|
|
RTRUE
|
|
?ELS9: EQUAL? RARG,M-END \FALSE
|
|
CALL2 CURFEW-CLOSE,MUSEUM-ENTRANCE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT THEATRE-ENTER-F
|
|
CALL2 HELD?,TICKET
|
|
ZERO? STACK /?ELS3
|
|
MOVE TICKET,CINEMA
|
|
FSET TICKET,TRYTAKEBIT
|
|
FSET TICKET,NDESCBIT
|
|
FCLEAR TICKET,TOUCHBIT
|
|
SET 'ELAPSED-TIME,15
|
|
ZERO? RECORDING /?CND4
|
|
PUT RECORDING-TABLE,14,1
|
|
?CND4: PRINTI "The usher takes your ticket and you step into the darkened theatre and find an empty seat.
|
|
|
|
Movie Theatre
|
|
You begin watching "
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI """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"
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? SYEAR,2051 \?ELS16
|
|
CALL2 SCORE,93
|
|
PRINTI """Manure Marauders,"" but it's so insipid that a"
|
|
JUMP ?CND10
|
|
?ELS16: EQUAL? SYEAR,2061 \?ELS20
|
|
CALL2 SCORE,94
|
|
PRINTI """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"
|
|
JUMP ?CND10
|
|
?ELS20: CALL2 SCORE,95
|
|
PRINTI "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"
|
|
?CND10: PRINTI "fter about fifteen minutes, you decide you've seen enough, and head out to the lobby."
|
|
CRLF
|
|
RFALSE
|
|
?ELS3: PRINT NO-TICKET
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MOVIE-THEATRE-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,MUSEUM-ENTRANCE \?ELS10
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,CINEMA \?ELS12
|
|
CALL2 DO-WALK,P?IN
|
|
RSTACK
|
|
?ELS12: EQUAL? HERE,SKYCAR-LOT-7 \?ELS14
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS14: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS18
|
|
EQUAL? HERE,CINEMA \?ELS23
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \?ELS29
|
|
EQUAL? HERE,CINEMA \?ELS34
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS34: PRINTI "The "
|
|
PRINTD MOVIE-THEATRE-OBJECT
|
|
PRINTR " is a large four-plex."
|
|
?ELS29: EQUAL? PRSA,V?SMELL \FALSE
|
|
EQUAL? HERE,CINEMA \FALSE
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
PRINTR "An unidentifiable, putrid odor hangs in the air."
|
|
|
|
|
|
.FUNCT MOVIE-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
CALL GLOBAL-IN?,MOVIE-THEATRE-OBJECT,HERE
|
|
ZERO? STACK /?ELS10
|
|
CALL PERFORM,V?WALK-TO,MOVIE-THEATRE-OBJECT
|
|
RTRUE
|
|
?ELS10: CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
CALL GLOBAL-IN?,MOVIE-THEATRE-OBJECT,HERE
|
|
ZERO? STACK /?ELS19
|
|
CALL PERFORM,V?WALK-TO,MOVIE-THEATRE-OBJECT
|
|
RTRUE
|
|
?ELS19: PRINTR "You can't watch a movie here!"
|
|
|
|
|
|
.FUNCT MARQUEE-F
|
|
EQUAL? PRSA,V?READ \FALSE
|
|
PRINTI "According to the marquee, the current features of the Cinema are "
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTR "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. "
|
|
?ELS12: EQUAL? SYEAR,2051 \?ELS16
|
|
CALL2 SCORE,93
|
|
PRINTR """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."
|
|
?ELS16: EQUAL? SYEAR,2061 \?ELS20
|
|
CALL2 SCORE,94
|
|
PRINTR "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."""
|
|
?ELS20: CALL2 SCORE,95
|
|
PRINTR "two hatefilms, a lustfilm called ""Wild and Woolly,"" and a Church propaganda piece called ""Triumph of Man."""
|
|
|
|
|
|
.FUNCT TICKET-SELLER-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "The "
|
|
PRINTD TICKET-SELLER
|
|
PRINTI " 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
|
|
PRINTI " has a slot for your "
|
|
PRINTD CREDIT-CARD
|
|
PRINTR "."
|
|
|
|
|
|
.FUNCT TICKET-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
EQUAL? HERE,CINEMA \?ELS10
|
|
FSET? TICKET,NDESCBIT \?ELS15
|
|
CALL VENDING,TICKET-SELLER,TICKET,15
|
|
RSTACK
|
|
?ELS15: PRINTR "You already did."
|
|
?ELS10: EQUAL? HERE,TRAIN-STATION \?ELS21
|
|
EQUAL? SYEAR,2041 \?ELS21
|
|
PRINTR "You discover that all the rides are sold out for the rest of the day."
|
|
?ELS21: EQUAL? HERE,WELLS-THEATRE,PICKFORD-THEATRE \?ELS27
|
|
PRINTR "You discover that the current season is already sold out."
|
|
?ELS27: EQUAL? HERE,SKYBUS-TERMINAL,TERMINAL \?ELS31
|
|
PRINTR "You have no reason to leave the city!"
|
|
?ELS31: CALL2 CANT-BUY,TICKET
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?TAKE \?ELS37
|
|
FSET? TICKET,TRYTAKEBIT \?ELS37
|
|
CALL PERFORM,V?BUY,TICKET
|
|
RTRUE
|
|
?ELS37: EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
|
|
PRINTI "**Admit One**"
|
|
CALL2 PRINT-SPACES,18
|
|
PRINTI "No."
|
|
RANDOM 899
|
|
ADD STACK,100
|
|
PRINTN STACK
|
|
RANDOM 8999
|
|
ADD STACK,1000
|
|
PRINTN STACK
|
|
CRLF
|
|
CALL2 PRINT-SPACES,10
|
|
PRINTI "Downtown Cinema Quad"
|
|
CRLF
|
|
CALL2 PRINT-SPACES,10
|
|
EQUAL? SYEAR,2041 \?ELS50
|
|
PRINTI " ""Upbeat Patrol II"""
|
|
JUMP ?CND48
|
|
?ELS50: EQUAL? SYEAR,2051 \?ELS54
|
|
PRINTI " ""Manure Marauders"""
|
|
JUMP ?CND48
|
|
?ELS54: EQUAL? SYEAR,2061 \?ELS58
|
|
PRINTI " ""More of Anything"""
|
|
JUMP ?CND48
|
|
?ELS58: PRINTI "hatefilm number 8722"
|
|
?CND48: CRLF
|
|
PRINTR "Not refundable or exchangable. Management
|
|
reserves the right to refuse admission by
|
|
refunding the price of this ticket."
|
|
|
|
|
|
.FUNCT ATRIUM-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "The atrium is tremendous, rising through the center of the hotel, ending at roof level with a wide skylight."
|
|
|
|
|
|
.FUNCT SKYLIGHT-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE \FALSE
|
|
ZERO? LIGHT-LEVEL \?ELS10
|
|
PRINTR "Because it is dark outside, the lights in the atrium prevent you from seeing through the skylight."
|
|
?ELS10: PRINTR "You see the sky."
|
|
|
|
|
|
.FUNCT SYMPHONY-HALL-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,SYMPHONY-HALL \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,SYMPHONY-ENTRANCE \?ELS14
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,SKYCAR-LOT-7 \?ELS16
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS16: CALL GLOBAL-IN?,SYMPHONY-HALL-OBJECT,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS20
|
|
EQUAL? HERE,SYMPHONY-HALL \?ELS25
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS25: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS20: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,SYMPHONY-HALL \?ELS36
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS36: PRINTD SYMPHONY-HALL
|
|
PRINTI " is an ornate building"
|
|
EQUAL? SYEAR,2071 \?CND41
|
|
PRINTI ", closed for several years"
|
|
?CND41: PRINTR "."
|
|
|
|
|
|
.FUNCT SYMPHONY-HALL-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
CALL2 SCORE,96
|
|
EQUAL? HERE,RIVERSIDE-PARK \?ELS8
|
|
PRINTD SYMPHONY-HALL
|
|
PRINTI " has been closed for several years now."
|
|
CRLF
|
|
RFALSE
|
|
?ELS8: PRINTI "A faded sign on the boarded up doors reads "
|
|
PRINT SYMPHONY-CLOSED
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN SYMPHONY-HALL
|
|
|
|
|
|
.FUNCT BASE-GATE-F,RARG
|
|
EQUAL? RARG,M-ENTER \FALSE
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?169
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BASE-GATE-ENTER-F
|
|
PRINTI "The gate is closed. A guard"
|
|
EQUAL? SYEAR,2041 \?ELS5
|
|
PRINTI " politely"
|
|
JUMP ?CND3
|
|
?ELS5: EQUAL? SYEAR,2051 \?ELS9
|
|
PRINTI " brusquely"
|
|
JUMP ?CND3
|
|
?ELS9: EQUAL? SYEAR,2061 \?ELS13
|
|
CALL2 SCORE,97
|
|
PRINTI " threateningly"
|
|
JUMP ?CND3
|
|
?ELS13: CALL2 SCORE,98
|
|
PRINTI ", jabbing you painfully with the point of his weapon,"
|
|
?CND3: PRINTI " informs you that nonmilitary personnel are not allowed beyond this point."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT BSF-BASE-F
|
|
EQUAL? HERE,SKYCAB \?ELS5
|
|
EQUAL? PRSA,V?EXAMINE \?ELS10
|
|
PRINTR "The base has been turned into a museum."
|
|
?ELS10: CALL2 MILE-AWAY,BSF-BASE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,BASE-GATE \?ELS21
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS27
|
|
EQUAL? HERE,BASE-GATE \?ELS32
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS32: EQUAL? HERE,SYMPHONY-ENTRANCE \?ELS34
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS34: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS27: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "You can't see much through the perimeter fence."
|
|
|
|
|
|
.FUNCT TERMINAL-F,RARG,?TMP1
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "The main terminal building has an exit to Airportway on the south. The "
|
|
PRINTD AIRPORT-GATE
|
|
PRINTI "s are east of here, "
|
|
EQUAL? SYEAR,2041,2051 \?ELS12
|
|
PRINTI "and the "
|
|
PRINTD SPACEPORT-GATE
|
|
PRINTI "s lie to the north"
|
|
JUMP ?CND10
|
|
?ELS12: CALL2 SCORE,99
|
|
PRINTI "and to the north are the shuttered gates of the once thriving spaceport"
|
|
?CND10: PRINTI ". There is a large red sign over the gates, and "
|
|
EQUAL? SYEAR,2041 \?ELS25
|
|
PRINTI "a couple of BSF guards stand beneath it"
|
|
JUMP ?CND23
|
|
?ELS25: PRINTI "BSF guards are everywhere"
|
|
?CND23: EQUAL? SYEAR,2071 \?ELS36
|
|
PRINTI ". Plastiboards seal off a stairway leading down."
|
|
RTRUE
|
|
?ELS36: PRINTI ". Stairs lead down to a "
|
|
PRINTD TUBE-STATION
|
|
PRINTI "."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
GETP TERMINAL,P?SCENE
|
|
LESS? STACK,101 \FALSE
|
|
GETP TERMINAL,P?SCENE >?TMP1
|
|
RANDOM 100
|
|
LESS? ?TMP1,STACK /?ELS53
|
|
PUTP TERMINAL,P?SCENE,101
|
|
CALL2 SCORE,100
|
|
CRLF
|
|
PRINTR "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."
|
|
?ELS53: GETP TERMINAL,P?SCENE
|
|
ADD STACK,33
|
|
PUTP TERMINAL,P?SCENE,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SPACEPORT-ENTER-F
|
|
EQUAL? SYEAR,2041,2051 \?ELS3
|
|
PRINTI "You can't get into the gate area without a boarding pass."
|
|
CRLF
|
|
RFALSE
|
|
?ELS3: PRINTI "The "
|
|
PRINTD SPACEPORT-GATE
|
|
PRINTI "s are closed and boarded over."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SPACEPORT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \FALSE
|
|
EQUAL? HERE,TERMINAL \FALSE
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
|
|
|
|
.FUNCT AIRPORT-GATE-F
|
|
EQUAL? PRSA,V?OPEN \?ELS5
|
|
PRINTR "The gates are open!"
|
|
?ELS5: EQUAL? PRSA,V?CLOSE \?ELS9
|
|
PRINTR "You can't and wouldn't be allowed to if you could."
|
|
?ELS9: EQUAL? PRSA,V?THROUGH \?ELS13
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS13: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "The gates are patrolled by BSF guards."
|
|
|
|
|
|
.FUNCT SPACEPORT-GATE-F
|
|
EQUAL? PRSA,V?OPEN \?ELS5
|
|
EQUAL? SYEAR,2041,2051 \?ELS10
|
|
PRINTR "The gates are open!"
|
|
?ELS10: PRINTR "You'd need a full-scale construction crew to re-open these gates!"
|
|
?ELS5: EQUAL? PRSA,V?CLOSE \?ELS18
|
|
EQUAL? SYEAR,2041,2051 \?ELS23
|
|
CALL PERFORM,V?CLOSE,AIRPORT-GATE
|
|
RTRUE
|
|
?ELS23: PRINTR "The gates are closed!"
|
|
?ELS18: EQUAL? PRSA,V?THROUGH \?ELS29
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS29: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "The "
|
|
PRINTD SPACEPORT-GATE
|
|
PRINTI "s are "
|
|
EQUAL? SYEAR,2041,2051 \?ELS38
|
|
PRINTI "open"
|
|
JUMP ?CND36
|
|
?ELS38: PRINTI "sealed up"
|
|
?CND36: PRINTR "."
|
|
|
|
|
|
.FUNCT AIRPORT-TERMINAL-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,TERMINAL \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,AIRPORT-ENTRANCE \?ELS14
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS14: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?UP
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS18
|
|
EQUAL? HERE,TERMINAL \?ELS23
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS23: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,TERMINAL \?ELS34
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS34: CALL1 FROM-HERE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BSF-GUARDS-F
|
|
EQUAL? WINNER,BSF-GUARDS,NATIONAL-GUARDSMAN \FALSE
|
|
PRINTI "The guard ignores you."
|
|
CRLF
|
|
CALL1 CLEAR-BUF
|
|
RSTACK
|
|
|
|
|
|
.FUNCT AIRPORT-SIGN-F
|
|
EQUAL? PRSA,V?READ \FALSE
|
|
EQUAL? SYEAR,2041,2051 \?ELS10
|
|
CRLF
|
|
CALL2 PRINT-SPACES,20
|
|
PRINTI "Remember! Our security procedures"
|
|
CRLF
|
|
CALL2 PRINT-SPACES,29
|
|
PRINTI "exist to protect"
|
|
CRLF
|
|
CALL2 PRINT-SPACES,20
|
|
CALL2 ITALICIZE,STR?173
|
|
PRINTI " country and "
|
|
CALL2 ITALICIZE,STR?173
|
|
PRINTR " way of life"
|
|
?ELS10: CALL2 SCORE,101
|
|
CRLF
|
|
CALL2 PRINT-SPACES,24
|
|
PRINTI "All international travellers"
|
|
CRLF
|
|
CALL2 PRINT-SPACES,23
|
|
PRINTI "must pass through strip-search"
|
|
CRLF
|
|
CALL2 PRINT-SPACES,30
|
|
CALL2 ITALICIZE,STR?174
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NO-ENTRY-TO-HEIMAN-WORLD-F
|
|
PRINTI "There's no "
|
|
EQUAL? SYEAR,2041 \?ELS5
|
|
PRINTI "opening in the perimeter fence there."
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: PRINTI "entry into "
|
|
PRINTD HEIMAN-WORLD-OBJECT
|
|
PRINTI " in that direction."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT BEND-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "River Street curves here, heading downtown to the north and under an old "
|
|
PRINTD RAILROAD-BRIDGE
|
|
PRINTI " to the southeast. To the northeast is an "
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI "opening in a tall fence"
|
|
JUMP ?CND10
|
|
?ELS12: PRINTI "entrance to a massive indoor city"
|
|
?CND10: PRINTI ". 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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LAUNDROMAT-OBJECT-F
|
|
EQUAL? PRSA,V?ON,V?OPEN \?ELS5
|
|
PRINTR "But you don't have any dirty clothes!"
|
|
?ELS5: EQUAL? PRSA,V?PUT \?ELS9
|
|
EQUAL? PRSI,WASHERS,VIBRAMAT \?ELS9
|
|
CALL PERFORM,V?WASH,PRSO
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?PUT \FALSE
|
|
EQUAL? PRSI,DRYERS \FALSE
|
|
PRINTI "But"
|
|
CALL ARTICLE,PRSO,TRUE-VALUE
|
|
PRINTR " isn't wet!"
|
|
|
|
|
|
.FUNCT DRUG-STORE-OBJECT-F
|
|
EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS5
|
|
EQUAL? HERE,DRUG-STORE \?ELS10
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS10: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS16
|
|
EQUAL? HERE,DRUG-STORE \?ELS21
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS21: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,DRUG-STORE \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT DRUG-STORE-ENTER-F
|
|
GRTR? STIME,480 \?ELS5
|
|
LESS? STIME,1305 \?ELS5
|
|
RETURN DRUG-STORE
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?177
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DRUG-STORE-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?16
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL SHOP-CLOSES,1305,STR?179,STR?180,BEND
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MAGAZINE-F
|
|
EQUAL? HERE,SKYCAB \?ELS5
|
|
EQUAL? PRSA,V?EXAMINE,V?READ,V?TAKE \?ELS5
|
|
PRINTR "Jill is reading it!"
|
|
?ELS5: EQUAL? PRSA,V?READ,V?TAKE,V?BUY /?THN12
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
?THN12: EQUAL? HERE,DRUG-STORE \?ELS18
|
|
PRINTR "You peruse the rack, but there's nothing that interests you."
|
|
?ELS18: PRINTR "There aren't any magazines for sale here!"
|
|
|
|
|
|
.FUNCT MILKSHAKE-F
|
|
EQUAL? PRSA,V?TAKE,V?BUY \?ELS5
|
|
EQUAL? HERE,DRUG-STORE \?ELS10
|
|
PRINTR "You approach the ice cream counter, but it's pretty crowded, so you decide against it."
|
|
?ELS10: PRINTR "You can't get a milkshake here!"
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "It's sold at the ice cream counter."
|
|
|
|
|
|
.FUNCT DRUGS-F
|
|
EQUAL? PRSA,V?BUY \FALSE
|
|
EQUAL? HERE,DRUG-STORE \?ELS10
|
|
PRINTR "You decide that it's silly to spend your hard-earned money on medicine when you're feeling perfectly fine."
|
|
?ELS10: PRINTR "This isn't a drug store!"
|
|
|
|
|
|
.FUNCT HARDWARE-STORE-OBJECT-F
|
|
EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS5
|
|
EQUAL? HERE,HARDWARE-STORE \?ELS10
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS10: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS16
|
|
EQUAL? HERE,HARDWARE-STORE \?ELS21
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS21: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,HARDWARE-STORE \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HARDWARE-STORE-ENTER-F
|
|
GRTR? STIME,600 \?ELS5
|
|
LESS? STIME,1080 \?ELS5
|
|
RETURN HARDWARE-STORE
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?181
|
|
RFALSE
|
|
|
|
|
|
.FUNCT HARDWARE-STORE-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?16
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS7
|
|
PRINTI "You have entered a large "
|
|
PRINTD HARDWARE-STORE-OBJECT
|
|
PRINTI ", "
|
|
EQUAL? SYEAR,2041 \?ELS14
|
|
PRINTI "well-"
|
|
JUMP ?CND12
|
|
?ELS14: EQUAL? SYEAR,2071 \?CND12
|
|
PRINTI "sparsely "
|
|
?CND12: PRINTI "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."
|
|
RTRUE
|
|
?ELS7: EQUAL? RARG,M-END \FALSE
|
|
CALL SHOP-CLOSES,1080,STR?182,STR?180,BEND
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HARDWARE-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
EQUAL? HERE,HARDWARE-STORE \?ELS10
|
|
PRINTR "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."
|
|
?ELS10: CALL2 CANT-BUY,HARDWARE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?TAKE \FALSE
|
|
PRINTR "You'd be arrested for shoplifting!"
|
|
|
|
|
|
.FUNCT TOOL-F
|
|
EQUAL? PRSA,V?BUY \FALSE
|
|
EQUAL? HERE,HARDWARE-STORE \?ELS10
|
|
PRINTR "The clerk says, ""All out. Try again in a coupla weeks."""
|
|
?ELS10: CALL2 CANT-BUY,TOOL
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CLOSED-FACTORY-ENTER-F
|
|
EQUAL? SYEAR,2061,2071 \?ELS5
|
|
CALL2 SCORE,49
|
|
PRINTI "The "
|
|
PRINTD SOUP-KITCHEN
|
|
PRINTI " is closed down."
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN CLOSED-FACTORY
|
|
|
|
|
|
.FUNCT WICKER-AND-RIVER-F,RARG,?TMP1
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "You have crossed the proverbial railroad tracks. "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "The optimism and economic recovery don't seem to have spilled over into this run-down section of Rockvil, near the river"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "This section of town, near the river, is "
|
|
EQUAL? SYEAR,2071 \?CND17
|
|
PRINTI "particularly "
|
|
?CND17: PRINTI "run-down and seedy"
|
|
?CND8: PRINTI ". Wicker Drive, which runs northeast to southwest, cuts perpendicularly across River Street here. To the northwest, River dips under an unused rail bridge. "
|
|
EQUAL? SYEAR,2041 \?ELS28
|
|
PRINTI "There are factories on the northern and eastern corners"
|
|
JUMP ?CND26
|
|
?ELS28: PRINTI "There is a factory on the eastern corner, and on the northern corner a "
|
|
EQUAL? SYEAR,2051 \?ELS37
|
|
CALL2 SCORE,102
|
|
PRINTI "line forms along the sidewalk outside a "
|
|
JUMP ?CND35
|
|
?ELS37: CALL2 SCORE,49
|
|
PRINTI "boarded-up "
|
|
?CND35: PRINTD SOUP-KITCHEN
|
|
?CND26: PRINTI ". To the west is a "
|
|
EQUAL? SYEAR,2041,2051 \?ELS48
|
|
PRINTI "dingy warehouse"
|
|
JUMP ?CND46
|
|
?ELS48: PRINTI "vacant lot"
|
|
?CND46: PRINTI ", and south of here are some dilapidated apartments. "
|
|
EQUAL? SYEAR,2071 \?ELS61
|
|
PRINTI "An entrance to the Tubes is sealed up."
|
|
RTRUE
|
|
?ELS61: PRINTI "The smell of stale urine wafts from a stairway leading down to a gloomy "
|
|
PRINTD TUBE-STATION
|
|
PRINTI "."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
GETP WICKER-AND-RIVER,P?SCENE
|
|
LESS? STACK,101 \FALSE
|
|
GETP WICKER-AND-RIVER,P?SCENE >?TMP1
|
|
RANDOM 100
|
|
LESS? ?TMP1,STACK /?ELS78
|
|
PUTP WICKER-AND-RIVER,P?SCENE,101
|
|
CALL2 SCORE,103
|
|
CRLF
|
|
PRINTR "A skycopter whizzes overhead, announcing a special series of execution matches this weekend."
|
|
?ELS78: GETP WICKER-AND-RIVER,P?SCENE
|
|
ADD STACK,33
|
|
PUTP WICKER-AND-RIVER,P?SCENE,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT WAREHOUSE-1-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2041,2051 \?ELS10
|
|
PUTP WAREHOUSE-1,P?SDESC,STR?184
|
|
RTRUE
|
|
?ELS10: PUTP WAREHOUSE-1,P?SDESC,STR?89
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2041,2051 \?ELS19
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS19: PRINTI "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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WAREHOUSE-1-EXIT-F
|
|
EQUAL? SYEAR,2041,2051 \?ELS3
|
|
EQUAL? PRSO,P?WEST \?ELS6
|
|
PRINTI "The door is locked."
|
|
CRLF
|
|
RFALSE
|
|
?ELS6: PRINT CANT-GO
|
|
CRLF
|
|
RFALSE
|
|
?ELS3: EQUAL? PRSO,P?WEST \?ELS17
|
|
PRINTI "The tracks are fenced off."
|
|
CRLF
|
|
RFALSE
|
|
?ELS17: PRINTI "There's no exit from the lot in that direction."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT WAREHOUSE-DOOR-F
|
|
EQUAL? PRSA,V?EXAMINE,V?OPEN,V?THROUGH \FALSE
|
|
PRINTR "It's locked."
|
|
|
|
|
|
.FUNCT CLOSED-FACTORY-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PUTP CLOSED-FACTORY,P?SDESC,STR?185
|
|
RTRUE
|
|
?ELS10: PUTP CLOSED-FACTORY,P?SDESC,STR?186
|
|
MOVE CHAIR,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
|
EQUAL? SYEAR,2041 \?ELS19
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS19: CALL2 SCORE,102
|
|
PRINTI "You are in a dirty, crowded "
|
|
PRINTD SOUP-KITCHEN
|
|
PRINTI " 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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SOUP-KITCHEN-F
|
|
EQUAL? SYEAR,2041 \?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,SOUP-KITCHEN
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9
|
|
EQUAL? HERE,WICKER-AND-RIVER \?ELS14
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS14: CALL GLOBAL-IN?,SOUP-KITCHEN,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS20
|
|
EQUAL? HERE,CLOSED-FACTORY \?ELS25
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS25: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS20: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,CLOSED-FACTORY \?ELS36
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS36: EQUAL? SYEAR,2051 \?ELS38
|
|
PRINTI "There's a long line outside the "
|
|
PRINTD SOUP-KITCHEN
|
|
PRINTR "."
|
|
?ELS38: CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
|
|
|
|
.FUNCT STEW-F
|
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
|
PRINTR "The soup is thin, without much substance."
|
|
?ELS5: EQUAL? PRSA,V?EAT,V?TAKE \?ELS9
|
|
PRINTR "The line of people waiting for soup is too long."
|
|
?ELS9: EQUAL? PRSA,V?BUY \FALSE
|
|
EQUAL? HERE,CLOSED-FACTORY \?ELS18
|
|
PRINTR "The soup is free."
|
|
?ELS18: EQUAL? HERE,ROYS-PAGODA \?ELS22
|
|
CALL PERFORM,V?BUY,MEAL
|
|
RTRUE
|
|
?ELS22: EQUAL? HERE,SIMONS,THE-COACHMAN,BURGER-MEISTER \?ELS24
|
|
PRINTR "There's no soup on the menu."
|
|
?ELS24: CALL2 CANT-BUY,STEW
|
|
RSTACK
|
|
|
|
|
|
.FUNCT TENEMENT-1-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "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"
|
|
EQUAL? SYEAR,2041 \?CND8
|
|
PRINTI " with the encroachment of the factories and utility stations, "
|
|
?CND8: PRINTI " the building, like the entire area, "
|
|
EQUAL? SYEAR,2071 \?ELS17
|
|
PRINTI "has long been"
|
|
JUMP ?CND15
|
|
?ELS17: PRINTI "has become"
|
|
?CND15: PRINTI " a slum. The lobby has exits to the north, east, and west."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WAREHOUSE-OBJECT-F
|
|
EQUAL? HERE,WAREHOUSE-1,WICKER-AND-RIVER \?ELS5
|
|
EQUAL? SYEAR,2061,2071 \?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,WAREHOUSE-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9
|
|
EQUAL? HERE,WICKER-AND-RIVER \?ELS14
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,INDUSTRIAL-PARK-ENTRANCE \?ELS16
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS16: EQUAL? HERE,INDUSTRIAL-PARK-DRIVE \?ELS18
|
|
CALL PERFORM,V?THROUGH,FACTORY-OBJECT
|
|
RTRUE
|
|
?ELS18: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS24
|
|
EQUAL? HERE,WAREHOUSE-1 \?ELS29
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS29: EQUAL? HERE,WAREHOUSE-2 \?ELS31
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS31: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS24: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? 'HERE,WAREHOUSE-1,WAREHOUSE-2 \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT WAREHOUSE-2-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "You have entered a warehouse filled with dusty crates. The exit is to the south. An alarm "
|
|
FSET? WAREHOUSE-2,ONBIT \?ELS10
|
|
PRINTI "is ringing"
|
|
JUMP ?CND8
|
|
?ELS10: FSET WAREHOUSE-2,ONBIT
|
|
PRINTI "begins to ring"
|
|
?CND8: PRINTI " loudly."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ALARM-F
|
|
EQUAL? PRSA,V?LISTEN \FALSE
|
|
PRINTR "You have little choice -- you can't hear much else."
|
|
|
|
|
|
.FUNCT CRATE-F
|
|
EQUAL? PRSA,V?OPEN \?ELS5
|
|
PRINTR "You'd need a crowbar to open these crates."
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "The crates are closed."
|
|
|
|
|
|
.FUNCT INDUSTRIAL-PARK-OBJECT-F
|
|
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5
|
|
EQUAL? HERE,INDUSTRIAL-PARK-ENTRANCE \?ELS10
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,SKYCAR-LOT-1 \?ELS12
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS12: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS18
|
|
EQUAL? HERE,INDUSTRIAL-PARK-ENTRANCE \?ELS23
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS23: CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,INDUSTRIAL-PARK-DRIVE \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CITY-DUMP-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This sprawling site along the river is a multiple unit disposal facility handling all of Rockvil's waste. Garbage "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "is processed and shipped downriver for landfilling. Liquid wastes are dechemified and then"
|
|
JUMP ?CND8
|
|
?ELS10: CALL2 SCORE,104
|
|
PRINTI "and liquid wastes are"
|
|
?CND8: PRINTI " dumped into the river. Radioactive wastes are stored for "
|
|
EQUAL? SYEAR,2061,2071 \?CND19
|
|
PRINTI "high-security "
|
|
?CND19: PRINTI "shipment to one of the national storage sites. Energy produced during processing is piped to the "
|
|
PRINTD POWER-STATION-OBJECT
|
|
PRINTI " nearby. An opening in the perimeter fence leads northeast to Wicker Drive."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WASTE-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "Like most waste, it's pretty vile."
|
|
|
|
|
|
.FUNCT DUMP-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,CITY-DUMP \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,CITY-DUMP \?ELS21
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,CITY-DUMP \?ELS32
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS32: CALL1 FROM-HERE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT POWER-STATION-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,POWER-STATION \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,POWER-STATION \?ELS21
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,POWER-STATION \?ELS32
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS32: CALL1 FROM-HERE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT POWER-STATION-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is the central "
|
|
PRINTD POWER-STATION-OBJECT
|
|
PRINTI " for all of Rockvil. Power is generated here by fusion reactors"
|
|
EQUAL? SYEAR,2041 \?ELS12
|
|
PRINTI ", and is"
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? SYEAR,2051 \?ELS16
|
|
CALL2 SCORE,105
|
|
PRINTI " and supplemental coal-burning generators, and is"
|
|
JUMP ?CND10
|
|
?ELS16: EQUAL? SYEAR,2061 \?ELS20
|
|
CALL2 SCORE,106
|
|
PRINTI ", as well as by more environmentally damaging coal-burning generators. Power is"
|
|
JUMP ?CND10
|
|
?ELS20: CALL2 SCORE,107
|
|
PRINTI " 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"
|
|
?CND10: PRINTI " received here from distant generators via a huge array of microwave receivers. The main entrance is on the north side of the plant."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RIVER-STREET-BRIDGE-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "River Street leaves Rockvil via this bridge, crossing the river into the older and poorer southeastern suburbs."
|
|
CALL2 RIVER-FIRE,STR?50
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RIVER-FIRE,STRING
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
CALL2 SCORE,108
|
|
PRINTI " Off to the "
|
|
PRINT STRING
|
|
PRINTI ", the river is on fire again. Nowadays, "
|
|
PRINTD FIRECOPTER
|
|
PRINTI "s usually ignore river fires unless they approach the shoreline."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SKYCAR-FACTORY-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "The Omni-Fabb "
|
|
PRINTD SKYCAR-FACTORY
|
|
PRINTI ", the last surviving smokestack industry in the area, provides jobs to many residents of the city and the suburbs across the river"
|
|
EQUAL? SYEAR,2061,2071 \?CND10
|
|
PRINTI ", although not nearly as many as before the suspension of federal regulations limiting robotic job replacement"
|
|
?CND10: EQUAL? SYEAR,2041 /?ELS17
|
|
LESS? STIME,480 \?ELS17
|
|
GRTR? STIME,990 \?ELS17
|
|
CALL2 SCORE,109
|
|
PRINTI ". The parking lot is empty; there must currently be only one shift per day"
|
|
JUMP ?CND15
|
|
?ELS17: PRINTI ". Judging by the number of cars in the workers' lot, and the general level of activity, the plant is running at "
|
|
EQUAL? SYEAR,2041 \?ELS28
|
|
PRINTI "nearly full"
|
|
JUMP ?CND26
|
|
?ELS28: EQUAL? SYEAR,2051 \?ELS32
|
|
CALL2 SCORE,109
|
|
PRINTI "well above half of"
|
|
JUMP ?CND26
|
|
?ELS32: EQUAL? SYEAR,2061 \?ELS36
|
|
CALL2 SCORE,110
|
|
PRINTI "less than half of"
|
|
JUMP ?CND26
|
|
?ELS36: CALL2 SCORE,111
|
|
PRINTI "a fraction of"
|
|
?CND26: PRINTI " capacity"
|
|
?CND15: PRINTI ". There are exits from this complex of buildings to the northwest and the southwest."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GUN-SHOP-ENTER-F
|
|
GRTR? STIME,630 \?ELS5
|
|
LESS? STIME,1230 \?ELS5
|
|
RETURN GUN-SHOP
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?200
|
|
RFALSE
|
|
|
|
|
|
.FUNCT GUN-SHOP-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,FACTORY-ENTRANCE \?ELS10
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS10: CALL1 MOBY-VERB?
|
|
ZERO? STACK \FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE,V?EXIT \?ELS16
|
|
EQUAL? HERE,FACTORY-ENTRANCE \?ELS21
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS21: CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,GUN-SHOP \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT GUN-SHOP-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?202
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL SHOP-CLOSES,1230,STR?203,STR?204,FACTORY-ENTRANCE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT GUN-F
|
|
EQUAL? HERE,CORE \?ELS5
|
|
IN? SABOTEURS,HERE /?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,GUN
|
|
RSTACK
|
|
?ELS5: EQUAL? HERE,CONTROL-CENTER \?ELS9
|
|
ZERO? SEIGE \?ELS9
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS9
|
|
CALL2 CANT-SEE,GUN
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?BUY \?ELS13
|
|
EQUAL? HERE,GUN-SHOP \?ELS18
|
|
PRINTI "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
|
|
PRINTR " 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."""
|
|
?ELS18: CALL2 CANT-BUY,GUN
|
|
RSTACK
|
|
?ELS13: EQUAL? HERE,GUN-SHOP \?ELS26
|
|
EQUAL? PRSA,V?SHOOT,V?TAKE \?ELS26
|
|
PRINTI "You'll have to buy a gun before you can "
|
|
EQUAL? PRSA,V?SHOOT \?ELS33
|
|
PRINTI "shoot"
|
|
JUMP ?CND31
|
|
?ELS33: PRINTI "take"
|
|
?CND31: PRINTR " it."
|
|
?ELS26: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,GUN-SHOP \FALSE
|
|
PRINTR "There are a staggering variety of weapons here."
|
|
|
|
|
|
.FUNCT BAR-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
LESS? STIME,1201 \?CND6
|
|
FCLEAR BAR,ONBIT
|
|
?CND6: MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?54
|
|
MOVE BEER,LOCAL-GLOBALS
|
|
MOVE BAR-STOOL,HERE
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-LOOK \?ELS10
|
|
PRINTI "This is a tiny, smoke-filled bar, with exits to the west and northeast. Loud, distorted music comes from an old jukebox"
|
|
PRINT STOOL-DESC
|
|
CALL1 PEOPLE-IN-BAR-DESC
|
|
RSTACK
|
|
?ELS10: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2041 /FALSE
|
|
GRTR? STIME,1195 \FALSE
|
|
LESS? STIME,1255 \FALSE
|
|
FSET? BAR,ONBIT /FALSE
|
|
FSET BAR,ONBIT
|
|
CRLF
|
|
PRINTR "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!"""
|
|
|
|
|
|
.FUNCT BAR-TO-ALLEY-F
|
|
CALL2 HELD?,BEER
|
|
ZERO? STACK /?ELS5
|
|
PRINT BARTENDER-YELLS
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN ALLEY
|
|
|
|
|
|
.FUNCT BAR-TO-PIER-F
|
|
CALL2 HELD?,BEER
|
|
ZERO? STACK /?ELS5
|
|
PRINT BARTENDER-YELLS
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: RETURN PIER
|
|
|
|
|
|
.FUNCT BAR-OBJECT-F
|
|
EQUAL? HERE,BURGER-MEISTER,AQUARIUM-AND-PARK \?ELS5
|
|
EQUAL? SYEAR,2071 /?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,BAR-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9
|
|
EQUAL? HERE,BURGER-MEISTER,EZZIS-BAR,BAR \?ELS14
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS14: EQUAL? HERE,AQUARIUM-AND-PARK \?ELS18
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS18: EQUAL? HERE,ELM-UNDERPASS \?ELS20
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS20: EQUAL? HERE,ALLEY \?ELS22
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS22: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS26
|
|
EQUAL? HERE,BURGER-MEISTER,EZZIS-BAR,BAR \?ELS31
|
|
CALL2 DO-WALK,P?OUT
|
|
RSTACK
|
|
?ELS31: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS26: EQUAL? PRSA,V?EXAMINE \?ELS37
|
|
EQUAL? HERE,BURGER-MEISTER,EZZIS-BAR,BAR \?ELS37
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS37: EQUAL? PRSA,V?SMELL \?ELS41
|
|
EQUAL? HERE,BURGER-MEISTER \?ELS41
|
|
PRINTR "The air is heavy with the smells of tobacco smoke, urine, and spilled beer."
|
|
?ELS41: EQUAL? PRSA,V?PUT-ON \FALSE
|
|
EQUAL? PRSI,BAR-OBJECT \FALSE
|
|
EQUAL? HERE,BURGER-MEISTER,EZZIS-BAR,BAR \FALSE
|
|
CALL PERFORM,V?PUT-ON,PRSO,COUNTER
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BAR-STOOL-F
|
|
EQUAL? PRSA,V?PUT \FALSE
|
|
EQUAL? PRSI,BAR-STOOL \FALSE
|
|
EQUAL? PRSO,ME \?CND8
|
|
CALL PERFORM,V?SIT,BAR-STOOL
|
|
RTRUE
|
|
?CND8: PRINTR "Stools are for sitting on."
|
|
|
|
|
|
.FUNCT JUKEBOX-F
|
|
EQUAL? PRSA,V?LISTEN \?ELS5
|
|
SET 'ELAPSED-TIME,4
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PRINTR "The tune is a jazzed-up version of a popular Church march."
|
|
?ELS10: PRINTI "You listen to the current selection, "
|
|
CALL2 PICK-ONE,JUKEBOXES
|
|
PRINT STACK
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?PLAY,V?ON \FALSE
|
|
PRINTR "It's already playing."
|
|
|
|
|
|
.FUNCT PIER-OBJECT-F
|
|
EQUAL? HERE,SKYCAB \?ELS5
|
|
EQUAL? PRSA,V?EXAMINE /?ELS5
|
|
CALL2 MILE-AWAY,PIER-OBJECT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9
|
|
EQUAL? HERE,BAR \?ELS14
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,WICKER-AND-PIER \?ELS16
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS16: EQUAL? HERE,POOL-HALL \?ELS18
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS18: CALL GLOBAL-IN?,PIER,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS24
|
|
EQUAL? HERE,PIER \?ELS29
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS29: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS24: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,PIER \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PIER-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is an aging riverfront pier, "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "extending a short way"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "ending abruptly at the river edge. Jagged, splintered wood at the end of the pier reveals that it once extended further"
|
|
?CND8: PRINTI " 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."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT POOL-HALL-ENTER-F
|
|
GRTR? STIME,1200 /?THN8
|
|
LESS? STIME,420 \?ELS5
|
|
?THN8: EQUAL? SYEAR,2041 /?ELS5
|
|
CALL2 OF-COURSE,POOL-HALL-OBJECT
|
|
RFALSE
|
|
?ELS5: RETURN POOL-HALL
|
|
|
|
|
|
.FUNCT POOL-HALL-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "This is a classless establishment, which has clearly seen its better days. "
|
|
PRINT TOBACCO-ODOR
|
|
PRINTI " A door to the pier lies to the southwest. "
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL2 CURFEW-CLOSE,PIER
|
|
RSTACK
|
|
|
|
|
|
.FUNCT POOL-HALL-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,POOL-HALL \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,POOL-HALL \?ELS21
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \?ELS27
|
|
EQUAL? HERE,POOL-HALL \?ELS27
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS27: EQUAL? PRSA,V?SMELL \FALSE
|
|
EQUAL? HERE,POOL-HALL \FALSE
|
|
PRINT TOBACCO-ODOR
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT POOL-TABLE-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "The "
|
|
PRINTD POOL-TABLE
|
|
PRINTR "s are all in poor shape, frayed in many places and scarred by cigarette burns."
|
|
|
|
|
|
.FUNCT POOL-F
|
|
EQUAL? PRSA,V?SHOOT,V?PLAY \FALSE
|
|
EQUAL? HERE,POOL-HALL \?ELS10
|
|
PRINTR "You knock a few balls around, but, as usual, you have to admit that you're not very good at cuesmanship."
|
|
?ELS10: PRINTR "You'd better find a pool hall first."
|
|
|
|
|
|
.FUNCT WICKER-AND-PIER-F,RARG
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
EQUAL? SYEAR,2081 \?ELS10
|
|
CALL2 SCORE,112
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS10: PRINTI "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 "
|
|
EQUAL? SYEAR,2071 \?CND17
|
|
CALL2 SCORE,113
|
|
PRINTI "closed "
|
|
?CND17: PRINTI "bookstore. A "
|
|
PRINTD LIQUOR-STORE-OBJECT
|
|
PRINTI " occupies the southern corner, and a row of dismal apartment buildings lines the northwestern side of Wicker."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? SYEAR,2081 \FALSE
|
|
CALL2 JIGS-UP,STR?212
|
|
RSTACK
|
|
|
|
|
|
.FUNCT TENEMENT-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is a "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "substandard residence unit"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2071 \?ELS14
|
|
PRINTI "malodorous, disease-ridden, rat-infested slum"
|
|
JUMP ?CND8
|
|
?ELS14: EQUAL? HERE,TENEMENT-2 \?ELS21
|
|
PRINTI "filthy"
|
|
JUMP ?CND19
|
|
?ELS21: PRINTI "dirty"
|
|
?CND19: PRINTI " tenement"
|
|
?CND8: PRINTI ". The exit is southeast."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TENEMENT-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,WICKER-AND-RIVER \?ELS10
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,POWER-STATION-ENTRANCE \?ELS12
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS12: EQUAL? HERE,INDUSTRIAL-PARK-ENTRANCE \?ELS14
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS14: EQUAL? HERE,DUMP-ENTRANCE \?ELS16
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS16: EQUAL? HERE,FACTORY-ENTRANCE,WICKER-AND-PIER \?ELS18
|
|
CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS18: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS24
|
|
EQUAL? HERE,TENEMENT-2,TENEMENT-3 \?ELS29
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS29: EQUAL? HERE,TENEMENT-3 \?ELS31
|
|
CALL1 V-WALK-AROUND
|
|
RSTACK
|
|
?ELS31: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS24: EQUAL? PRSA,V?EXAMINE \?ELS37
|
|
EQUAL? HERE,TENEMENT-1,TENEMENT-2,TENEMENT-3 \?ELS37
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS37: EQUAL? PRSA,V?SMELL \FALSE
|
|
EQUAL? HERE,TENEMENT-2,TENEMENT-3 \FALSE
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
PRINTR "The building smells foul."
|
|
|
|
|
|
.FUNCT BOOKSTORE-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
CALL2 SCORE,113
|
|
PRINTI "The bookstore is locked. Through the grimy window, the bookstore looks empty and barren."
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: GRTR? STIME,1083 /?THN10
|
|
LESS? STIME,501 \?ELS9
|
|
?THN10: CALL2 CLOSED-PRINT,STR?213
|
|
RFALSE
|
|
?ELS9: RETURN BOOKSTORE
|
|
|
|
|
|
.FUNCT BOOKSTORE-OBJECT-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,BOOKSTORE \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS16
|
|
EQUAL? HERE,BOOKSTORE \?ELS21
|
|
CALL2 DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS21: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \?ELS27
|
|
EQUAL? HERE,BOOKSTORE \?ELS27
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS27: EQUAL? PRSA,V?SEARCH \?ELS31
|
|
EQUAL? HERE,BOOKSTORE \?ELS31
|
|
FSET? BOOK,TRYTAKEBIT \?ELS31
|
|
CALL PERFORM,V?BUY,BOOKS
|
|
RTRUE
|
|
?ELS31: EQUAL? PRSA,V?SMELL \FALSE
|
|
EQUAL? HERE,BOOKSTORE \FALSE
|
|
PRINTR "A pleasant, papery odor fills the shop."
|
|
|
|
|
|
.FUNCT BOOKSTORE-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
MOVE BOOKS,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?202
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL SHOP-CLOSES,1083,STR?215,STR?204,WICKER-AND-PIER
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BOOK-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
FSET? BOOK,TRYTAKEBIT \?ELS10
|
|
CALL PERFORM,V?BUY,BOOKS
|
|
RTRUE
|
|
?ELS10: PRINTR "You already did."
|
|
?ELS5: EQUAL? PRSA,V?TAKE \?ELS16
|
|
FSET? BOOK,TRYTAKEBIT \?ELS16
|
|
CALL PERFORM,V?TAKE,BOOKS
|
|
RTRUE
|
|
?ELS16: EQUAL? PRSA,V?FIND \?ELS20
|
|
EQUAL? HERE,BOOKSTORE \?ELS20
|
|
FSET? BOOK,TRYTAKEBIT \?ELS20
|
|
CALL PERFORM,V?BUY,BOOKS
|
|
RTRUE
|
|
?ELS20: EQUAL? PRSA,V?OPEN \?ELS24
|
|
CALL PERFORM,V?READ,BOOK
|
|
RTRUE
|
|
?ELS24: EQUAL? PRSA,V?CLOSE \FALSE
|
|
PRINTR "It is."
|
|
|
|
|
|
.FUNCT BOOKS-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
EQUAL? HERE,BOOKSTORE \?ELS10
|
|
ZERO? BOOK-PURCHASED /?ELS15
|
|
SET 'ELAPSED-TIME,6
|
|
PRINTR "You browse for a few minutes, but don't find anything of interest."
|
|
?ELS15: FSET? BOOK,TRYTAKEBIT \?ELS20
|
|
SET 'ELAPSED-TIME,3
|
|
SET 'P-IT-OBJECT,BOOK
|
|
PRINTI "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
|
|
PRINTI " to the proprietor"
|
|
CALL TOO-POOR,30,BOOK
|
|
ZERO? STACK \TRUE
|
|
MOVE BOOK,PLAYER
|
|
FCLEAR BOOK,TRYTAKEBIT
|
|
FCLEAR BOOK,NDESCBIT
|
|
SET 'BOOK-PURCHASED,TRUE-VALUE
|
|
CALL2 DEBIT,30
|
|
PRINTR "."
|
|
?ELS20: PRINTR "You already bought one book. That's enough extravagance for one day."
|
|
?ELS10: CALL2 CANT-BUY,BOOKS
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?SEARCH \?ELS37
|
|
EQUAL? HERE,BOOKSTORE \?ELS37
|
|
FSET? BOOK,TRYTAKEBIT \?ELS37
|
|
CALL PERFORM,V?BUY,BOOKS
|
|
RTRUE
|
|
?ELS37: EQUAL? PRSA,V?EXAMINE \?ELS41
|
|
EQUAL? HERE,BOOKSTORE,MAIN-LIBRARY \?ELS41
|
|
CALL PERFORM,V?READ,BOOKS
|
|
RTRUE
|
|
?ELS41: EQUAL? PRSA,V?OPEN,V?READ \?ELS45
|
|
EQUAL? HERE,BOOKSTORE \?ELS50
|
|
PRINTR "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."
|
|
?ELS50: EQUAL? HERE,MAIN-LIBRARY \?ELS54
|
|
PRINTI "There are many books in the library"
|
|
EQUAL? SYEAR,2071 \?CND57
|
|
PRINTI ", although some of the shelves are empty and covered with dust"
|
|
?CND57: PRINTR "."
|
|
?ELS54: CALL PERFORM,V?TAKE,BOOKS
|
|
RTRUE
|
|
?ELS45: EQUAL? PRSA,V?TAKE \?ELS67
|
|
EQUAL? HERE,MAIN-LIBRARY \?ELS72
|
|
PRINTR "You don't have a library account."
|
|
?ELS72: PRINTR "You can't take a book without paying for it."
|
|
?ELS67: EQUAL? PRSA,V?SMELL \FALSE
|
|
EQUAL? HERE,MAIN-LIBRARY \FALSE
|
|
CALL PERFORM,V?SMELL,MAIN-LIBRARY-OBJECT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LIQUOR-STORE-OBJECT-F
|
|
EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS5
|
|
EQUAL? HERE,LIQUOR-STORE \?ELS10
|
|
CALL2 DO-WALK,P?NORTH
|
|
RSTACK
|
|
?ELS10: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS16
|
|
EQUAL? HERE,LIQUOR-STORE \?ELS21
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS21: CALL GLOBAL-IN?,PRSO,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?SOUTH
|
|
RSTACK
|
|
?ELS16: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
EQUAL? HERE,LIQUOR-STORE \FALSE
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT LIQUOR-STORE-ENTER-F
|
|
GRTR? STIME,660 \?ELS5
|
|
LESS? STIME,1320 \?ELS5
|
|
RETURN LIQUOR-STORE
|
|
?ELS5: CALL2 CLOSED-PRINT,STR?217
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LIQUOR-STORE-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
MOVE SPEAR-CARRIER,HERE
|
|
PUTP SPEAR-CARRIER,P?SDESC,STR?16
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
CALL SHOP-CLOSES,1320,STR?219,STR?180,WICKER-AND-PIER
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SCOTCH-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
EQUAL? HERE,LIQUOR-STORE \?ELS10
|
|
FSET? SCOTCH,TRYTAKEBIT /?CND11
|
|
PRINTR "On second thought, you decide you've already wasted enough on liquor."
|
|
?CND11: PRINTI "You pick out a "
|
|
PRINTD SCOTCH
|
|
CALL TOO-POOR,22,SCOTCH
|
|
ZERO? STACK \TRUE
|
|
MOVE SCOTCH,PLAYER
|
|
FCLEAR SCOTCH,TRYTAKEBIT
|
|
FCLEAR SCOTCH,NDESCBIT
|
|
CALL2 DEBIT,22
|
|
PRINTR "."
|
|
?ELS10: EQUAL? HERE,EZZIS-BAR,BAR /?THN25
|
|
EQUAL? HERE,BURGER-MEISTER \?ELS24
|
|
EQUAL? SYEAR,2071 \?ELS24
|
|
?THN25: CALL PERFORM,V?BUY,OTHER-LIQUOR
|
|
RTRUE
|
|
?ELS24: CALL2 CANT-BUY,SCOTCH
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DRINK,V?OPEN,V?TAKE \?ELS32
|
|
FSET? SCOTCH,TRYTAKEBIT \?ELS32
|
|
CALL PERFORM,V?TAKE,LIQUOR
|
|
RTRUE
|
|
?ELS32: EQUAL? PRSA,V?DRINK,V?OPEN \?ELS36
|
|
CALL1 IN-APARTMENT?
|
|
ZERO? STACK \?THN42
|
|
ZERO? MITCHELL-RAID-FLAG /?ELS41
|
|
?THN42: PRINTR "You open the bottle, take a swig, and close it again."
|
|
?ELS41: PRINTR "Jill would kill you if you came home drunk."
|
|
?ELS36: EQUAL? PRSA,V?CLOSE \?ELS51
|
|
PRINTR "It is."
|
|
?ELS51: EQUAL? PRSA,V?READ \FALSE
|
|
PRINTR """Hampton Scotch, 120 Proof"""
|
|
|
|
|
|
.FUNCT BEER-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
EQUAL? HERE,EZZIS-BAR,BAR,BURGER-MEISTER \?ELS10
|
|
CALL2 VISIBLE?,BEER
|
|
ZERO? STACK /?CND11
|
|
PRINTR "You haven't finished your last one."
|
|
?CND11: PRINTI "You give your card to the bartender"
|
|
CALL TOO-POOR,8,BEER
|
|
ZERO? STACK \TRUE
|
|
MOVE BEER,HERE
|
|
CALL2 DEBIT,8
|
|
PRINTR ". He gives you a tall, foamy mug of beer."
|
|
?ELS10: EQUAL? HERE,LIQUOR-STORE \?ELS24
|
|
PRINTR "The clerk says, ""Sorry, we don't usually got none."""
|
|
?ELS24: EQUAL? HERE,ROYS-PAGODA \?ELS28
|
|
CALL PERFORM,V?BUY,LIQUOR
|
|
RTRUE
|
|
?ELS28: CALL2 CANT-BUY,BEER
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?THROW \?ELS32
|
|
PRINTR "You'd probably get thrown out."
|
|
?ELS32: EQUAL? PRSA,V?DRINK \FALSE
|
|
MOVE BEER,LOCAL-GLOBALS
|
|
PRINTR "You down the brew, and the bartender clears away the empty."
|
|
|
|
|
|
.FUNCT LIQUOR-F
|
|
EQUAL? PRSA,V?BUY \?ELS5
|
|
EQUAL? HERE,LIQUOR-STORE \?ELS10
|
|
CALL PERFORM,V?BUY,SCOTCH
|
|
RTRUE
|
|
?ELS10: EQUAL? HERE,EZZIS-BAR,BAR /?THN13
|
|
EQUAL? HERE,BURGER-MEISTER \?ELS12
|
|
EQUAL? SYEAR,2071 \?ELS12
|
|
?THN13: CALL PERFORM,V?BUY,BEER
|
|
RTRUE
|
|
?ELS12: EQUAL? HERE,SIMONS,THE-COACHMAN \?ELS18
|
|
PRINTR "After a quick glance at the drink prices and the prices on the wine list, you decide to abstain."
|
|
?ELS18: EQUAL? HERE,ROYS-PAGODA \?ELS22
|
|
PRINTR "Roy's has no liquor license."
|
|
?ELS22: CALL2 CANT-BUY,OTHER-LIQUOR
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?TAKE \FALSE
|
|
PRINTR "You haven't paid for it!"
|
|
|
|
|
|
.FUNCT OTHER-LIQUOR-F
|
|
EQUAL? PRSA,V?BUY \FALSE
|
|
EQUAL? HERE,LIQUOR-STORE \?ELS10
|
|
SET 'P-IT-OBJECT,SCOTCH
|
|
PRINTR "You look for some, but they seem to be all out. The clerk recommends a cheap brand of scotch that's on sale."
|
|
?ELS10: EQUAL? HERE,EZZIS-BAR,BAR /?THN15
|
|
EQUAL? HERE,BURGER-MEISTER \?ELS14
|
|
EQUAL? SYEAR,2071 \?ELS14
|
|
?THN15: PRINTR "The bartender tells you that they're all out, recommending beer instead."
|
|
?ELS14: EQUAL? HERE,SIMONS,THE-COACHMAN,ROYS-PAGODA \?ELS22
|
|
CALL PERFORM,V?BUY,LIQUOR
|
|
RTRUE
|
|
?ELS22: CALL2 CANT-BUY,OTHER-LIQUOR
|
|
RSTACK
|
|
|
|
|
|
.FUNCT TUBE-STATION-F
|
|
EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5
|
|
EQUAL? HERE,RED-TUBECAR,BROWN-TUBECAR \?ELS10
|
|
CALL2 DO-WALK,P?OUT
|
|
RSTACK
|
|
?ELS10: FSET? HERE,TUBEBIT \?ELS12
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS12: CALL GLOBAL-IN?,TUBE-STATION,HERE
|
|
ZERO? STACK /FALSE
|
|
CALL2 DO-WALK,P?DOWN
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS18
|
|
EQUAL? HERE,RED-TUBECAR,BROWN-TUBECAR \?ELS23
|
|
CALL2 DO-WALK,P?OUT
|
|
RSTACK
|
|
?ELS23: FSET? HERE,TUBEBIT \?ELS25
|
|
CALL2 DO-WALK,P?UP
|
|
RSTACK
|
|
?ELS25: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \?ELS31
|
|
FSET? HERE,TUBEBIT \?ELS36
|
|
CALL1 V-LOOK
|
|
RSTACK
|
|
?ELS36: EQUAL? SYEAR,2071 \FALSE
|
|
PRINTR "Like the entire Tube system, the station is closed down."
|
|
?ELS31: EQUAL? PRSA,V?SMELL \FALSE
|
|
EQUAL? HERE,WICKER-AND-RIVER \FALSE
|
|
EQUAL? SYEAR,2071 /FALSE
|
|
CALL PERFORM,V?SMELL,STAIRS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TUBES-ENTER-F
|
|
EQUAL? SYEAR,2071 \?ELS5
|
|
CALL2 SCORE,32
|
|
PRINTI "The Tube system closed five years ago!"
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: EQUAL? SYEAR,2051,2061 \?ELS9
|
|
LESS? STIME,420 /?THN12
|
|
GRTR? STIME,1250 \?ELS9
|
|
?THN12: PRINTI "As usual, the Tubes have closed for curfew."
|
|
CRLF
|
|
RFALSE
|
|
?ELS9: EQUAL? HERE,HALLEY-PARK-WEST \?ELS17
|
|
RETURN TUBE-AT-PARK
|
|
?ELS17: EQUAL? HERE,ROCKVIL-STADIUM \?ELS19
|
|
RETURN TUBE-AT-STADIUM
|
|
?ELS19: EQUAL? HERE,SKYBUS-TERMINAL \?ELS21
|
|
RETURN TUBE-JUNCTION
|
|
?ELS21: EQUAL? HERE,ELM-AND-UNIVERSITY \?ELS23
|
|
RETURN TUBE-AT-UNIVERSITY
|
|
?ELS23: EQUAL? HERE,ELM-AND-RIVER \?ELS25
|
|
RETURN TUBE-AT-HEIMAN
|
|
?ELS25: EQUAL? HERE,BODANSKI-SQUARE \?ELS27
|
|
RETURN TUBE-AT-BODANSKI
|
|
?ELS27: EQUAL? HERE,TERMINAL \?ELS29
|
|
RETURN TUBE-AT-AIRPORT
|
|
?ELS29: EQUAL? HERE,WICKER-AND-RIVER \?ELS31
|
|
RETURN TUBE-AT-FACTORY
|
|
?ELS31: PRINTI "Bug #5X."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TUBE-STATION-DESC,BROWN=0
|
|
PRINTI "You are on a platform between two sets of tracks which lie to the "
|
|
ZERO? BROWN /?ELS5
|
|
PRINTI "northwest and southeast"
|
|
JUMP ?CND3
|
|
?ELS5: PRINTI "northeast and southwest"
|
|
?CND3: PRINTI ". On the wall is a "
|
|
ZERO? BROWN /?ELS17
|
|
PRINTI "brown"
|
|
JUMP ?CND15
|
|
?ELS17: PRINTI "red"
|
|
?CND15: PRINTI " sign which reads:"
|
|
CRLF
|
|
CALL PERFORM,V?READ,TUBE-SIGN
|
|
PRINTI "A stairway leads up out of the station."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DEBARK
|
|
PRINTI "he doors open and "
|
|
LESS? STIME,360 \?CND3
|
|
PRINTI "a few "
|
|
?CND3: PRINTR "people begin boarding and debarking."
|
|
|
|
|
|
.FUNCT RED-TUBE-STATION-F,RARG,X=0
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
CALL1 TUBE-STATION-DESC
|
|
RSTACK
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
IN? RED-TUBECAR-OBJECT,HERE \FALSE
|
|
EQUAL? PRSA,V?SAVE,V?LOOK \?ELS12
|
|
SET 'X,TRUE-VALUE
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? HERE,L-HERE /?CND10
|
|
SET 'X,TRUE-VALUE
|
|
?CND10: ZERO? X /FALSE
|
|
PRINT TUBECAR-WAITING
|
|
ZERO? RED-NORTHBOUND /?ELS25
|
|
PRINTI "northeast"
|
|
JUMP ?CND23
|
|
?ELS25: PRINTI "southwest"
|
|
?CND23: PRINTR "."
|
|
|
|
|
|
.FUNCT BROWN-TUBE-STATION-F,RARG,X=0
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
CALL2 TUBE-STATION-DESC,TRUE-VALUE
|
|
RSTACK
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
IN? BROWN-TUBECAR-OBJECT,HERE \FALSE
|
|
EQUAL? PRSA,V?SAVE,V?LOOK \?ELS12
|
|
SET 'X,TRUE-VALUE
|
|
JUMP ?CND10
|
|
?ELS12: EQUAL? HERE,L-HERE /?CND10
|
|
SET 'X,TRUE-VALUE
|
|
?CND10: ZERO? X /FALSE
|
|
PRINT TUBECAR-WAITING
|
|
ZERO? BROWN-NORTHBOUND /?ELS25
|
|
PRINTI "southeast"
|
|
JUMP ?CND23
|
|
?ELS25: PRINTI "northwest"
|
|
?CND23: PRINTR "."
|
|
|
|
|
|
.FUNCT TUBECAR-AT-JUNCTION-ENTER-F
|
|
CALL2 VISIBLE?,RED-TUBECAR-OBJECT
|
|
ZERO? STACK /?ELS5
|
|
CALL2 VISIBLE?,BROWN-TUBECAR-OBJECT
|
|
ZERO? STACK /?ELS5
|
|
PRINTI "At the moment, there's more than one tubecar waiting to be boarded."
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: CALL2 VISIBLE?,RED-TUBECAR-OBJECT
|
|
ZERO? STACK /?ELS11
|
|
MOVE RED-TUBECAR-OBJECT,RED-TUBECAR
|
|
MOVE RED-TUBECAR-DOOR,RED-TUBECAR
|
|
RETURN RED-TUBECAR
|
|
?ELS11: CALL2 VISIBLE?,BROWN-TUBECAR-OBJECT
|
|
ZERO? STACK /?ELS13
|
|
MOVE BROWN-TUBECAR-OBJECT,BROWN-TUBECAR
|
|
MOVE BROWN-TUBECAR-DOOR,BROWN-TUBECAR
|
|
RETURN BROWN-TUBECAR
|
|
?ELS13: PRINTI "There are no tubecars in the station at the moment."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TUBE-JUNCTION-F,RARG,RED=0,BROWN=0,BOTH=0,X=0
|
|
EQUAL? RARG,M-LOOK \?ELS5
|
|
PRINTI "You are on a central platform between four sets of tracks. On the wall is a sign, in brown and red:"
|
|
CRLF
|
|
CALL PERFORM,V?READ,TUBE-SIGN
|
|
PRINTI "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."
|
|
RTRUE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? PRSA,V?SAVE,V?LOOK \?ELS14
|
|
SET 'X,TRUE-VALUE
|
|
JUMP ?CND12
|
|
?ELS14: EQUAL? HERE,L-HERE /?CND12
|
|
SET 'X,TRUE-VALUE
|
|
?CND12: ZERO? X /FALSE
|
|
IN? RED-TUBECAR-OBJECT,HERE \?CND20
|
|
SET 'RED,TRUE-VALUE
|
|
?CND20: IN? BROWN-TUBECAR-OBJECT,HERE \?CND23
|
|
SET 'BROWN,TRUE-VALUE
|
|
ZERO? RED /?CND23
|
|
SET 'BOTH,TRUE-VALUE
|
|
?CND23: ZERO? RED \?ELS34
|
|
ZERO? BROWN /FALSE
|
|
?ELS34: ZERO? BOTH /?ELS41
|
|
PRINTI "Tubecars are"
|
|
JUMP ?CND39
|
|
?ELS41: PRINTI "A tubecar is"
|
|
?CND39: PRINTI " sitting on the tracks to the "
|
|
ZERO? BROWN /?CND51
|
|
ZERO? BROWN-NORTHBOUND /?ELS57
|
|
PRINTI "southeast"
|
|
JUMP ?CND51
|
|
?ELS57: PRINTI "northwest"
|
|
?CND51: ZERO? BOTH /?CND65
|
|
PRINTI " and "
|
|
?CND65: ZERO? RED /?CND71
|
|
ZERO? RED-NORTHBOUND /?ELS77
|
|
PRINTI "northeast"
|
|
JUMP ?CND71
|
|
?ELS77: PRINTI "southwest"
|
|
?CND71: PRINTR "."
|
|
|
|
|
|
.FUNCT RED-TUBECAR-OBJECT-F
|
|
EQUAL? PRSA,V?BOARD,V?THROUGH \?ELS5
|
|
EQUAL? HERE,RED-TUBECAR \?ELS10
|
|
PRINTR "You've already done that."
|
|
?ELS10: ZERO? RED-NORTHBOUND /?ELS14
|
|
CALL2 DO-WALK,P?NE
|
|
RSTACK
|
|
?ELS14: CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS19
|
|
EQUAL? HERE,RED-TUBECAR \?ELS24
|
|
CALL2 DO-WALK,P?OUT
|
|
RSTACK
|
|
?ELS24: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS19: EQUAL? PRSA,V?WAIT-FOR \FALSE
|
|
CALL2 V-WAIT,60
|
|
RSTACK
|
|
|
|
|
|
.FUNCT RED-TUBECAR-DOOR-F
|
|
EQUAL? PRSA,V?THROUGH \?ELS5
|
|
EQUAL? HERE,RED-TUBECAR \?ELS10
|
|
CALL2 DO-WALK,P?OUT
|
|
RSTACK
|
|
?ELS10: CALL PERFORM,V?BOARD,RED-TUBECAR-OBJECT
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
|
|
PRINTR "You can't -- the doors open and close automatically."
|
|
|
|
|
|
.FUNCT BROWN-TUBECAR-OBJECT-F
|
|
EQUAL? PRSA,V?BOARD,V?THROUGH \?ELS5
|
|
EQUAL? HERE,BROWN-TUBECAR \?ELS10
|
|
PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS10: ZERO? BROWN-NORTHBOUND /?ELS14
|
|
CALL2 DO-WALK,P?SE
|
|
RSTACK
|
|
?ELS14: CALL2 DO-WALK,P?NW
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS19
|
|
EQUAL? HERE,BROWN-TUBECAR \?ELS24
|
|
CALL2 DO-WALK,P?OUT
|
|
RSTACK
|
|
?ELS24: PRINT LOOK-AROUND
|
|
CRLF
|
|
RTRUE
|
|
?ELS19: EQUAL? PRSA,V?WAIT-FOR \FALSE
|
|
CALL2 V-WAIT,60
|
|
RSTACK
|
|
|
|
|
|
.FUNCT TUBECAR-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "This is a typical tubecar, "
|
|
EQUAL? SYEAR,2041 \?ELS10
|
|
PRINTI "clean and free of graffiti"
|
|
JUMP ?CND8
|
|
?ELS10: EQUAL? SYEAR,2051 \?ELS14
|
|
CALL2 SCORE,114
|
|
PRINTI "moderately clean and with a splash of graffiti"
|
|
JUMP ?CND8
|
|
?ELS14: CALL2 SCORE,115
|
|
PRINTI "grimy and covered with layers of graffiti"
|
|
?CND8: PRINTI ". The doors of the car are "
|
|
EQUAL? HERE,RED-TUBECAR \?ELS31
|
|
FSET? RED-TUBECAR-DOOR,OPENBIT /?THN28
|
|
?ELS31: EQUAL? HERE,BROWN-TUBECAR \?ELS27
|
|
FSET? BROWN-TUBECAR-DOOR,OPENBIT \?ELS27
|
|
?THN28: PRINTI "open."
|
|
RTRUE
|
|
?ELS27: PRINTI "closed."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BROWN-TUBECAR-DOOR-F
|
|
EQUAL? PRSA,V?THROUGH \?ELS5
|
|
EQUAL? HERE,BROWN-TUBECAR \?ELS10
|
|
CALL2 DO-WALK,P?OUT
|
|
RSTACK
|
|
?ELS10: CALL PERFORM,V?BOARD,BROWN-TUBECAR-OBJECT
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
|
|
CALL PERFORM,V?OPEN,RED-TUBECAR-DOOR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TUBE-SIGN-F,CURRENT-STATION
|
|
EQUAL? HERE,RED-TUBECAR \?ELS3
|
|
GET RED-TABLE,RED-POINTER >CURRENT-STATION
|
|
JUMP ?CND1
|
|
?ELS3: EQUAL? HERE,BROWN-TUBECAR \?ELS5
|
|
GET BROWN-TABLE,BROWN-POINTER >CURRENT-STATION
|
|
JUMP ?CND1
|
|
?ELS5: SET 'CURRENT-STATION,FALSE-VALUE
|
|
?CND1: EQUAL? PRSA,V?READ \FALSE
|
|
EQUAL? TUBE-AT-STADIUM,HERE,CURRENT-STATION \?ELS17
|
|
PRINTI " "
|
|
PRINTD ROCKVIL-STADIUM
|
|
CRLF
|
|
PRINTR " (Red Tubeline Terminus)"
|
|
?ELS17: EQUAL? TUBE-AT-PARK,HERE,CURRENT-STATION \?ELS23
|
|
PRINTR " Halley Park
|
|
Rockvil Zoo"
|
|
?ELS23: EQUAL? TUBE-AT-HEIMAN,HERE,CURRENT-STATION \?ELS27
|
|
PRINTI " Elm and River Street
|
|
("
|
|
PRINTD HEIMAN-VILLAGE
|
|
PRINTR ")"
|
|
?ELS27: EQUAL? TUBE-AT-FACTORY,HERE,CURRENT-STATION \?ELS33
|
|
PRINTR " Wicker Drive and River Street
|
|
(Red Tubeline Terminus)
|
|
(Omni-Fabb Plant)"
|
|
?ELS33: EQUAL? TUBE-AT-AIRPORT,HERE,CURRENT-STATION \?ELS37
|
|
PRINTR " Airport Terminals
|
|
(Brown Tubeline Terminus)"
|
|
?ELS37: EQUAL? TUBE-AT-BODANSKI,HERE,CURRENT-STATION \?ELS41
|
|
EQUAL? SYEAR,2041 /?CND42
|
|
PRINTI " "
|
|
?CND42: PRINTI " "
|
|
PRINTD BODANSKI-SQUARE
|
|
CRLF
|
|
EQUAL? SYEAR,2041 \?ELS53
|
|
PRINTR " (Train Station)"
|
|
?ELS53: PRINTR " (Church of God's Word)"
|
|
?ELS41: EQUAL? TUBE-AT-UNIVERSITY,HERE,CURRENT-STATION \?ELS61
|
|
PRINTI " Elm Street and University Avenue"
|
|
CRLF
|
|
CALL2 PRINT-SPACES,12
|
|
PRINTR "(Rockvil U)
|
|
(Brown Tubeline Terminus)"
|
|
?ELS61: EQUAL? TUBE-JUNCTION,HERE,CURRENT-STATION \?ELS67
|
|
CALL2 PRINT-SPACES,10
|
|
PRINTD SKYBUS-TERMINAL
|
|
CRLF
|
|
PRINTR " (Transfer Between Brown and Red)"
|
|
?ELS67: CALL1 MOBY-VERB?
|
|
ZERO? STACK \FALSE
|
|
CALL2 CANT-SEE,TUBE-SIGN
|
|
RSTACK
|
|
|
|
|
|
.FUNCT I-RED-TUBE,OLD-WINNER
|
|
ZERO? RED-TUBECAR-IN-STATION /?ELS5
|
|
SET 'RED-TUBECAR-IN-STATION,FALSE-VALUE
|
|
FCLEAR RED-TUBECAR-DOOR,OPENBIT
|
|
EQUAL? SYEAR,2041 \?ELS9
|
|
CALL QUEUE,I-RED-TUBE,4
|
|
JUMP ?CND7
|
|
?ELS9: EQUAL? SYEAR,2051 \?ELS11
|
|
CALL QUEUE,I-RED-TUBE,6
|
|
JUMP ?CND7
|
|
?ELS11: CALL QUEUE,I-RED-TUBE,8
|
|
?CND7: MOVE RED-TUBECAR-OBJECT,RED-TUBECAR
|
|
MOVE RED-TUBECAR-DOOR,RED-TUBECAR
|
|
EQUAL? HERE,RED-TUBECAR \?CND14
|
|
ZERO? RECORDING /?CND14
|
|
PUT RECORDING-TABLE,8,1
|
|
?CND14: GET RED-TABLE,RED-POINTER
|
|
EQUAL? HERE,RED-TUBECAR,STACK \FALSE
|
|
CRLF
|
|
PRINTI "The "
|
|
PRINTD RED-TUBECAR-OBJECT
|
|
PRINTI "'s doors slide shut, and it glides away from the station"
|
|
EQUAL? RED-POINTER,0,4 \?CND28
|
|
PRINTI " in the same direction that it came from"
|
|
?CND28: PRINTR "."
|
|
?ELS5: ZERO? RED-NORTHBOUND /?ELS41
|
|
DEC 'RED-POINTER
|
|
JUMP ?CND39
|
|
?ELS41: INC 'RED-POINTER
|
|
?CND39: ZERO? RED-POINTER \?ELS47
|
|
SET 'RED-NORTHBOUND,FALSE-VALUE
|
|
JUMP ?CND45
|
|
?ELS47: EQUAL? RED-POINTER,4 \?CND45
|
|
SET 'RED-NORTHBOUND,TRUE-VALUE
|
|
?CND45: FSET RED-TUBECAR-DOOR,OPENBIT
|
|
SET 'RED-TUBECAR-IN-STATION,TRUE-VALUE
|
|
EQUAL? SYEAR,2041 \?ELS52
|
|
CALL QUEUE,I-RED-TUBE,2
|
|
JUMP ?CND50
|
|
?ELS52: EQUAL? SYEAR,2051 \?ELS54
|
|
CALL QUEUE,I-RED-TUBE,3
|
|
JUMP ?CND50
|
|
?ELS54: CALL QUEUE,I-RED-TUBE,4
|
|
?CND50: EQUAL? HERE,RED-TUBECAR \?ELS61
|
|
ZERO? RECORDING /?CND62
|
|
PUT RECORDING-TABLE,8,1
|
|
?CND62: CRLF
|
|
PRINTI "The tubecar glides into a station, and you can make out a sign reading:"
|
|
CRLF
|
|
SET 'OLD-WINNER,WINNER
|
|
SET 'WINNER,PLAYER
|
|
CALL PERFORM,V?READ,TUBE-SIGN
|
|
SET 'WINNER,OLD-WINNER
|
|
PRINTR "The car comes to a stop and the doors slide open."
|
|
?ELS61: GET RED-TABLE,RED-POINTER
|
|
MOVE RED-TUBECAR-OBJECT,STACK
|
|
GET RED-TABLE,RED-POINTER
|
|
MOVE RED-TUBECAR-DOOR,STACK
|
|
GET RED-TABLE,RED-POINTER
|
|
EQUAL? HERE,STACK \FALSE
|
|
SET 'P-IT-OBJECT,RED-TUBECAR-OBJECT
|
|
CRLF
|
|
PRINTI "A "
|
|
PRINTD RED-TUBECAR-OBJECT
|
|
PRINTI ", marked """
|
|
EQUAL? HERE,TUBE-AT-FACTORY \?ELS83
|
|
PRINTI "Omni-Fabb Plant"
|
|
JUMP ?CND81
|
|
?ELS83: ZERO? RED-NORTHBOUND \?THN88
|
|
EQUAL? HERE,TUBE-AT-STADIUM \?ELS87
|
|
?THN88: PRINTD ROCKVIL-STADIUM
|
|
JUMP ?CND81
|
|
?ELS87: PRINTI "Omni-Fabb Plant"
|
|
?CND81: PRINTI """ whooshes into the station on the "
|
|
ZERO? RED-NORTHBOUND /?ELS98
|
|
PRINTI "northeast"
|
|
JUMP ?CND96
|
|
?ELS98: PRINTI "southwest"
|
|
?CND96: PRINTI " set of tracks. "
|
|
EQUAL? HERE,TUBE-AT-STADIUM,TUBE-AT-FACTORY \?ELS110
|
|
PRINTI "As the sign changes to """
|
|
EQUAL? HERE,TUBE-AT-STADIUM \?ELS115
|
|
PRINTI "Omni-Fabb Plant"
|
|
JUMP ?CND113
|
|
?ELS115: PRINTD ROCKVIL-STADIUM
|
|
?CND113: PRINTI ","" t"
|
|
JUMP ?CND108
|
|
?ELS110: PRINTI "T"
|
|
?CND108: CALL1 DEBARK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT RED-TUBECAR-ENTER-F
|
|
EQUAL? PRSO,P?IN \?ELS5
|
|
ZERO? RED-TUBECAR-IN-STATION /?ELS5
|
|
GET RED-TABLE,RED-POINTER
|
|
EQUAL? HERE,STACK \?ELS5
|
|
MOVE RED-TUBECAR-OBJECT,RED-TUBECAR
|
|
MOVE RED-TUBECAR-DOOR,RED-TUBECAR
|
|
RETURN RED-TUBECAR
|
|
?ELS5: EQUAL? PRSO,P?NE \?ELS9
|
|
ZERO? RED-NORTHBOUND /?ELS9
|
|
ZERO? RED-TUBECAR-IN-STATION /?ELS9
|
|
GET RED-TABLE,RED-POINTER
|
|
EQUAL? HERE,STACK \?ELS9
|
|
MOVE RED-TUBECAR-OBJECT,RED-TUBECAR
|
|
MOVE RED-TUBECAR-DOOR,RED-TUBECAR
|
|
RETURN RED-TUBECAR
|
|
?ELS9: EQUAL? PRSO,P?SW \?ELS13
|
|
ZERO? RED-NORTHBOUND \?ELS13
|
|
ZERO? RED-TUBECAR-IN-STATION /?ELS13
|
|
GET RED-TABLE,RED-POINTER
|
|
EQUAL? HERE,STACK \?ELS13
|
|
MOVE RED-TUBECAR-OBJECT,RED-TUBECAR
|
|
MOVE RED-TUBECAR-DOOR,RED-TUBECAR
|
|
RETURN RED-TUBECAR
|
|
?ELS13: PRINTI "There's no tubecar there at the moment."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT RED-TUBECAR-EXIT-F
|
|
FSET? RED-TUBECAR-DOOR,OPENBIT \?ELS5
|
|
GET RED-TABLE,RED-POINTER
|
|
MOVE RED-TUBECAR-OBJECT,STACK
|
|
GET RED-TABLE,RED-POINTER
|
|
MOVE RED-TUBECAR-DOOR,STACK
|
|
GET RED-TABLE,RED-POINTER
|
|
RSTACK
|
|
?ELS5: PRINTI "You can't leave the tubecar between stations!"
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT I-BROWN-TUBE,OLD-WINNER
|
|
ZERO? BROWN-TUBECAR-IN-STATION /?ELS5
|
|
SET 'BROWN-TUBECAR-IN-STATION,FALSE-VALUE
|
|
FCLEAR BROWN-TUBECAR-DOOR,OPENBIT
|
|
MOVE BROWN-TUBECAR-OBJECT,BROWN-TUBECAR
|
|
MOVE BROWN-TUBECAR-DOOR,BROWN-TUBECAR
|
|
EQUAL? HERE,BROWN-TUBECAR \?CND7
|
|
ZERO? RECORDING /?CND7
|
|
PUT RECORDING-TABLE,8,1
|
|
?CND7: EQUAL? SYEAR,2041 \?ELS14
|
|
CALL QUEUE,I-BROWN-TUBE,4
|
|
JUMP ?CND12
|
|
?ELS14: EQUAL? SYEAR,2051 \?ELS16
|
|
CALL QUEUE,I-BROWN-TUBE,6
|
|
JUMP ?CND12
|
|
?ELS16: CALL QUEUE,I-BROWN-TUBE,8
|
|
?CND12: GET BROWN-TABLE,BROWN-POINTER
|
|
EQUAL? HERE,BROWN-TUBECAR,STACK \FALSE
|
|
CRLF
|
|
PRINTI "The doors of the "
|
|
PRINTD BROWN-TUBECAR-OBJECT
|
|
PRINTI " slide shut, and it glides out of the station"
|
|
EQUAL? BROWN-POINTER,0,3 \?CND28
|
|
PRINTI " in the same direction that it came from"
|
|
?CND28: PRINTR "."
|
|
?ELS5: ZERO? BROWN-NORTHBOUND /?ELS41
|
|
DEC 'BROWN-POINTER
|
|
JUMP ?CND39
|
|
?ELS41: INC 'BROWN-POINTER
|
|
?CND39: ZERO? BROWN-POINTER \?ELS47
|
|
SET 'BROWN-NORTHBOUND,FALSE-VALUE
|
|
JUMP ?CND45
|
|
?ELS47: EQUAL? BROWN-POINTER,3 \?CND45
|
|
SET 'BROWN-NORTHBOUND,TRUE-VALUE
|
|
?CND45: FSET BROWN-TUBECAR-DOOR,OPENBIT
|
|
SET 'BROWN-TUBECAR-IN-STATION,TRUE-VALUE
|
|
EQUAL? SYEAR,2041 \?ELS52
|
|
CALL QUEUE,I-BROWN-TUBE,2
|
|
JUMP ?CND50
|
|
?ELS52: EQUAL? SYEAR,2051 \?ELS54
|
|
CALL QUEUE,I-BROWN-TUBE,3
|
|
JUMP ?CND50
|
|
?ELS54: CALL QUEUE,I-BROWN-TUBE,4
|
|
?CND50: EQUAL? HERE,BROWN-TUBECAR \?ELS61
|
|
ZERO? RECORDING /?CND62
|
|
PUT RECORDING-TABLE,8,1
|
|
?CND62: CRLF
|
|
PRINTI "The tubecar glides into a station, and you can make out a sign reading:"
|
|
CRLF
|
|
SET 'OLD-WINNER,WINNER
|
|
SET 'WINNER,PLAYER
|
|
CALL PERFORM,V?READ,TUBE-SIGN
|
|
SET 'WINNER,OLD-WINNER
|
|
PRINTR "The car comes to a stop and the doors slide open."
|
|
?ELS61: GET BROWN-TABLE,BROWN-POINTER
|
|
MOVE BROWN-TUBECAR-OBJECT,STACK
|
|
GET BROWN-TABLE,BROWN-POINTER
|
|
MOVE BROWN-TUBECAR-DOOR,STACK
|
|
GET BROWN-TABLE,BROWN-POINTER
|
|
EQUAL? HERE,STACK \FALSE
|
|
SET 'P-IT-OBJECT,BROWN-TUBECAR-OBJECT
|
|
CRLF
|
|
PRINTI "A "
|
|
PRINTD BROWN-TUBECAR-OBJECT
|
|
PRINTI ", marked """
|
|
EQUAL? HERE,TUBE-AT-UNIVERSITY \?ELS83
|
|
PRINTI "University"
|
|
JUMP ?CND81
|
|
?ELS83: ZERO? BROWN-NORTHBOUND \?THN88
|
|
EQUAL? HERE,TUBE-AT-AIRPORT \?ELS87
|
|
?THN88: PRINTI "Airport"
|
|
JUMP ?CND81
|
|
?ELS87: PRINTI "University"
|
|
?CND81: PRINTI """ whooshes into the station on the "
|
|
ZERO? BROWN-NORTHBOUND /?ELS100
|
|
PRINTI "southeast"
|
|
JUMP ?CND98
|
|
?ELS100: PRINTI "northwest"
|
|
?CND98: PRINTI " set of tracks. "
|
|
EQUAL? HERE,TUBE-AT-AIRPORT,TUBE-AT-UNIVERSITY \?ELS112
|
|
PRINTI "As the sign changes to """
|
|
EQUAL? HERE,TUBE-AT-AIRPORT \?ELS117
|
|
PRINTI "University"
|
|
JUMP ?CND115
|
|
?ELS117: PRINTI "Airport"
|
|
?CND115: PRINTI ","" t"
|
|
JUMP ?CND110
|
|
?ELS112: PRINTI "T"
|
|
?CND110: CALL1 DEBARK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BROWN-TUBECAR-ENTER-F
|
|
EQUAL? PRSO,P?IN \?ELS5
|
|
GET BROWN-TABLE,BROWN-POINTER
|
|
EQUAL? HERE,STACK \?ELS10
|
|
ZERO? BROWN-TUBECAR-IN-STATION /?ELS10
|
|
MOVE BROWN-TUBECAR-OBJECT,BROWN-TUBECAR
|
|
MOVE BROWN-TUBECAR-DOOR,BROWN-TUBECAR
|
|
RETURN BROWN-TUBECAR
|
|
?ELS10: PRINTI "There's no train here at the moment."
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: EQUAL? PRSO,P?SE \?ELS18
|
|
ZERO? BROWN-NORTHBOUND /?ELS18
|
|
ZERO? BROWN-TUBECAR-IN-STATION /?ELS18
|
|
GET BROWN-TABLE,BROWN-POINTER
|
|
EQUAL? HERE,STACK \?ELS18
|
|
MOVE BROWN-TUBECAR-OBJECT,BROWN-TUBECAR
|
|
MOVE BROWN-TUBECAR-DOOR,BROWN-TUBECAR
|
|
RETURN BROWN-TUBECAR
|
|
?ELS18: EQUAL? PRSO,P?NW \?ELS22
|
|
ZERO? BROWN-NORTHBOUND \?ELS22
|
|
ZERO? BROWN-TUBECAR-IN-STATION /?ELS22
|
|
GET BROWN-TABLE,BROWN-POINTER
|
|
EQUAL? HERE,STACK \?ELS22
|
|
MOVE BROWN-TUBECAR-OBJECT,BROWN-TUBECAR
|
|
MOVE BROWN-TUBECAR-DOOR,BROWN-TUBECAR
|
|
RETURN BROWN-TUBECAR
|
|
?ELS22: PRINTI "There's no tubecar there at the moment."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT BROWN-TUBECAR-EXIT-F
|
|
FSET? BROWN-TUBECAR-DOOR,OPENBIT \?ELS5
|
|
GET BROWN-TABLE,BROWN-POINTER
|
|
MOVE BROWN-TUBECAR-OBJECT,STACK
|
|
GET BROWN-TABLE,BROWN-POINTER
|
|
MOVE BROWN-TUBECAR-DOOR,STACK
|
|
GET BROWN-TABLE,BROWN-POINTER
|
|
RSTACK
|
|
?ELS5: PRINTI "You can't leave the tubecar between stations!"
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT I-CITY-NOISES
|
|
RANDOM 7
|
|
ADD 6,STACK
|
|
CALL QUEUE,I-CITY-NOISES,STACK
|
|
FSET? HERE,STREETBIT \FALSE
|
|
EQUAL? LIGHT-LEVEL,3 \FALSE
|
|
FSET? HERE,BADAREABIT /FALSE
|
|
EQUAL? HERE,AIRPORT-ENTRANCE,BASE-GATE,INTERCHANGE /FALSE
|
|
EQUAL? SYEAR,2081 /FALSE
|
|
RANDOM 100
|
|
LESS? 75,STACK \FALSE
|
|
EQUAL? HERE,ROCKVIL-UNIVERSITY \?ELS9
|
|
EQUAL? SYEAR,2061,2071 /FALSE
|
|
?ELS9: CRLF
|
|
SET 'FOLLOW-FLAG,9
|
|
CALL QUEUE,I-UNFOLLOW,2
|
|
EQUAL? SYEAR,2041 \?ELS16
|
|
CALL2 PICK-ONE,2041-CITY-NOISES
|
|
PRINT STACK
|
|
CRLF
|
|
RFALSE
|
|
?ELS16: EQUAL? SYEAR,2051 \?ELS20
|
|
CALL2 PICK-ONE,2051-CITY-NOISES
|
|
PRINT STACK
|
|
CRLF
|
|
RFALSE
|
|
?ELS20: EQUAL? SYEAR,2061 \?ELS24
|
|
CALL2 PICK-ONE,2061-CITY-NOISES
|
|
PRINT STACK
|
|
CRLF
|
|
RFALSE
|
|
?ELS24: EQUAL? SYEAR,2071 \FALSE
|
|
CALL2 PICK-ONE,2071-CITY-NOISES
|
|
PRINT STACK
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT I-MUG,X
|
|
SUB 3,LIGHT-LEVEL
|
|
ADD STACK,1
|
|
MUL STACK,10 >X
|
|
FSET? HERE,OUTSIDEBIT /?ELS3
|
|
SET 'X,0
|
|
JUMP ?CND1
|
|
?ELS3: EQUAL? HERE,ATHLETIC-FIELD \?ELS5
|
|
SET 'X,0
|
|
JUMP ?CND1
|
|
?ELS5: FSET? HERE,BADAREABIT /?CND1
|
|
FSET? HERE,PARKBIT /?CND1
|
|
DIV X,3 >X
|
|
?CND1: RANDOM 100
|
|
LESS? X,STACK /?ELS14
|
|
CALL2 SCORE,125
|
|
CALL2 INCREMENT-TIME,14
|
|
SET 'MUGGED,TRUE-VALUE
|
|
CRLF
|
|
PRINTI "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"
|
|
FIRST? PLAYER \?CND17
|
|
PRINTI ". Everything you were carrying is gone"
|
|
CALL ROB,PLAYER,LOCAL-GLOBALS
|
|
?CND17: PRINTR "."
|
|
?ELS14: CALL QUEUE,I-MUG,7
|
|
RFALSE
|
|
|
|
|
|
.FUNCT KEY-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "It's the key to the doors of your apartment"
|
|
EQUAL? SYEAR,2061,2071 \?CND8
|
|
PRINTI ", "
|
|
EQUAL? SYEAR,2061 \?ELS15
|
|
PRINTI "slightly"
|
|
JUMP ?CND13
|
|
?ELS15: PRINTI "very"
|
|
?CND13: PRINTI " worn with age"
|
|
?CND8: PRINTR "."
|
|
|
|
|
|
.FUNCT RATION-CARD-F
|
|
EQUAL? SYEAR,2071 \FALSE
|
|
EQUAL? PRSA,V?SHOW,V?GIVE \FALSE
|
|
EQUAL? PRSI,SPEAR-CARRIER \FALSE
|
|
EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 \FALSE
|
|
CALL2 INT,I-FOODVILLE
|
|
PUT STACK,0,0
|
|
FSET? SOY-PATTY,TOUCHBIT \?ELS12
|
|
PRINTI "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."
|
|
CRLF
|
|
CRLF
|
|
RANDOM 10
|
|
ADD 30,STACK
|
|
CALL QUEUE,I-JAIL,STACK
|
|
CALL2 GOTO,JAIL-CELL
|
|
RSTACK
|
|
?ELS12: MOD SDATE,3
|
|
EQUAL? STACK,2 \?ELS16
|
|
MOVE SOY-PATTY,PLAYER
|
|
FSET SOY-PATTY,TOUCHBIT
|
|
MOVE RATION-CARD,PLAYER
|
|
PRINTR "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."""
|
|
?ELS16: CALL2 SCORE,135
|
|
MOVE RATION-CARD,PLAYER
|
|
PRINTI "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."
|
|
CRLF
|
|
CRLF
|
|
EQUAL? HERE,FOODVILLE-1 \?ELS27
|
|
CALL2 GOTO,SOUTHWAY-AND-PARK
|
|
RSTACK
|
|
?ELS27: CALL2 GOTO,MAIN-AND-WICKER
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SLOT-F
|
|
EQUAL? HERE,BODANSKI-SQUARE \?ELS5
|
|
EQUAL? SYEAR,2061,2071 \?ELS5
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS5
|
|
CALL2 CANT-SEE,SLOT
|
|
RSTACK
|
|
?ELS5: EQUAL? HERE,JOYBOOTH \?ELS9
|
|
EQUAL? SYEAR,2071 \?ELS9
|
|
CALL1 MOBY-VERB?
|
|
ZERO? STACK \?ELS9
|
|
CALL2 CANT-SEE,SLOT
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?PUT \?ELS13
|
|
EQUAL? PRSO,CREDIT-CARD \?ELS13
|
|
MOVE CREDIT-CARD,PLAYER
|
|
EQUAL? HERE,JOYBOOTH \?ELS20
|
|
FSET? HEADSET,WORNBIT \?ELS20
|
|
ZERO? JOYBOOTH-USED /?ELS25
|
|
PRINTR "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."
|
|
?ELS25: LESS? CREDIT,12 \?CND23
|
|
PRINTR "A small ""Insufficient Credit"" light flashes incessantly for a moment."
|
|
?CND23: SET 'JOYBOOTH-USED,TRUE-VALUE
|
|
SUB CREDIT,12 >CREDIT
|
|
SET 'ELAPSED-TIME,30
|
|
PRINTI "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 "
|
|
LOC PLAYER
|
|
EQUAL? STACK,SEAT \?ELS37
|
|
PRINTI "sitting"
|
|
JUMP ?CND35
|
|
?ELS37: PRINTI "standing"
|
|
?CND35: PRINTR " 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."
|
|
?ELS20: EQUAL? HERE,BODANSKI-SQUARE \?ELS47
|
|
CALL PERFORM,V?BUY,NEWSPAPER
|
|
RTRUE
|
|
?ELS47: EQUAL? HERE,CINEMA \?ELS49
|
|
CALL PERFORM,V?BUY,TICKET
|
|
RTRUE
|
|
?ELS49: PRINTR "Nothing happens."
|
|
?ELS13: EQUAL? PRSA,V?PUT \FALSE
|
|
EQUAL? PRSO,RATION-CARD,DRIVERS-LICENSE \FALSE
|
|
PRINTR "Nothing happens."
|
|
|
|
|
|
.FUNCT SPEAR-CARRIER-F
|
|
EQUAL? WINNER,SPEAR-CARRIER \?ELS5
|
|
EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 \?ELS10
|
|
ZERO? CLERK-WAITING /?ELS10
|
|
CALL1 I-FOODVILLE
|
|
RSTACK
|
|
?ELS10: EQUAL? PRSA,V?YES \?ELS14
|
|
EQUAL? HERE,SIMONS,THE-COACHMAN \?ELS14
|
|
EQUAL? MEAL-STATUS,1 \?ELS14
|
|
CALL1 V-YES
|
|
RSTACK
|
|
?ELS14: EQUAL? PRSA,V?OPEN \?ELS18
|
|
EQUAL? PRSO,GATE \?ELS18
|
|
CALL2 DO-WALK,P?NW
|
|
RTRUE
|
|
?ELS18: EQUAL? PRSA,V?TELL-ABOUT \?ELS22
|
|
EQUAL? PRSO,ME \?ELS22
|
|
EQUAL? PRSI,MAIN-LIBRARY-OBJECT \?ELS29
|
|
EQUAL? HERE,MAIN-LIBRARY \?ELS29
|
|
PRINTI "The "
|
|
CALL2 DPRINT,SPEAR-CARRIER
|
|
PRINTR " shrugs. ""It's not a bad place to work."""
|
|
?ELS29: PRINTI "The "
|
|
CALL2 DPRINT,SPEAR-CARRIER
|
|
PRINTI " gives you an odd look."
|
|
EQUAL? PRSO,MINDEX \?CND38
|
|
PRINTI " ""It's an illegal drug."""
|
|
?CND38: CRLF
|
|
RTRUE
|
|
?ELS22: EQUAL? PRSA,V?SHOW \?ELS48
|
|
EQUAL? PRSO,GUN \?ELS48
|
|
EQUAL? PRSI,ME /?THN45
|
|
?ELS48: EQUAL? PRSA,V?SSHOW \?ELS44
|
|
EQUAL? PRSO,ME \?ELS44
|
|
EQUAL? PRSI,GUN \?ELS44
|
|
?THN45: SET 'WINNER,PLAYER
|
|
CALL PERFORM,V?BUY,GUN
|
|
SET 'WINNER,SPEAR-CARRIER
|
|
RTRUE
|
|
?ELS44: EQUAL? PRSA,V?SHOW \?ELS56
|
|
EQUAL? PRSO,BOOKS \?ELS56
|
|
EQUAL? PRSI,ME /?THN53
|
|
?ELS56: EQUAL? PRSA,V?SSHOW \?ELS52
|
|
EQUAL? PRSO,ME \?ELS52
|
|
EQUAL? PRSI,BOOKS \?ELS52
|
|
?THN53: SET 'WINNER,PLAYER
|
|
CALL PERFORM,V?BUY,BOOKS
|
|
SET 'WINNER,SPEAR-CARRIER
|
|
RTRUE
|
|
?ELS52: EQUAL? PRSA,V?SGIVE \?ELS60
|
|
EQUAL? PRSO,ME \?ELS60
|
|
SET 'WINNER,PLAYER
|
|
CALL PERFORM,V?BUY,PRSI
|
|
SET 'WINNER,SPEAR-CARRIER
|
|
RTRUE
|
|
?ELS60: EQUAL? HERE,MAIN-LIBRARY \?ELS64
|
|
PRINTI """Ssshhh!"" hisses the librarian. ""Be quiet!"""
|
|
CRLF
|
|
CALL1 CLEAR-BUF
|
|
RSTACK
|
|
?ELS64: SET 'YES-NO-FLAG,12
|
|
CALL QUEUE,I-YES-NO,2
|
|
PRINTI """Can I help you?"""
|
|
CRLF
|
|
CALL1 CLEAR-BUF
|
|
RSTACK
|
|
?ELS5: EQUAL? HERE,SIMONS,THE-COACHMAN \?ELS72
|
|
EQUAL? PRSA,V?WAIT-FOR \?ELS72
|
|
CALL PERFORM,V?BUY,MEAL
|
|
RTRUE
|
|
?ELS72: EQUAL? PRSA,V?ASK-FOR \?ELS76
|
|
EQUAL? PRSI,MENU \?CND77
|
|
SET 'PRSI,MEAL
|
|
?CND77: EQUAL? HERE,MAIN-LIBRARY \?ELS84
|
|
EQUAL? PRSI,BOOKS,BOOK \?ELS84
|
|
CALL PERFORM,V?TAKE,BOOKS
|
|
RTRUE
|
|
?ELS84: CALL PERFORM,V?BUY,PRSI
|
|
RTRUE
|
|
?ELS76: EQUAL? PRSA,V?GIVE \?ELS90
|
|
EQUAL? PRSO,CREDIT-CARD \?ELS90
|
|
EQUAL? HERE,SIMONS,THE-COACHMAN \?ELS90
|
|
EQUAL? MEAL-STATUS,4 \?ELS90
|
|
SET 'WAITER-COUNTER,0
|
|
MOVE CREDIT-CARD,SPEAR-CARRIER
|
|
CALL QUEUE,I-MEAL,9
|
|
PRINTR """Thank you, sir. I'll be back shortly with your meal."""
|
|
?ELS90: EQUAL? PRSA,V?GIVE \?ELS96
|
|
EQUAL? PRSO,CREDIT-CARD \?ELS96
|
|
GETP SPEAR-CARRIER,P?SDESC
|
|
EQUAL? STACK,STR?144 \?ELS96
|
|
PRINTI "You wait "
|
|
EQUAL? SYEAR,2041 \?ELS103
|
|
PRINTI "a minute"
|
|
JUMP ?CND101
|
|
?ELS103: EQUAL? SYEAR,2051 \?ELS107
|
|
SET 'ELAPSED-TIME,7
|
|
PRINTI "several minutes"
|
|
JUMP ?CND101
|
|
?ELS107: SET 'ELAPSED-TIME,22
|
|
PRINTI "a long time"
|
|
?CND101: PRINTR " 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."""
|
|
?ELS96: EQUAL? PRSA,V?CALL \?ELS117
|
|
EQUAL? HERE,SIMONS,THE-COACHMAN \?ELS117
|
|
EQUAL? MEAL-STATUS,1 \?ELS124
|
|
PRINTR "He's right here."
|
|
?ELS124: EQUAL? MEAL-STATUS,2 \?ELS128
|
|
SET 'MEAL-STATUS,1
|
|
RTRUE
|
|
?ELS128: CALL PERFORM,V?BUY,MEAL
|
|
RTRUE
|
|
?ELS117: EQUAL? PRSA,V?THANK \?ELS132
|
|
EQUAL? HERE,BOOKSTORE \?ELS132
|
|
FSET? BOOK,TRYTAKEBIT /?ELS132
|
|
PRINTR """No, my pleasure!"" The proprietor smiles kindly at you."
|
|
?ELS132: EQUAL? PRSA,V?FOLLOW \?ELS138
|
|
EQUAL? HERE,SIMONS,THE-COACHMAN \?ELS138
|
|
SET 'FOLLOW-FLAG,9
|
|
CALL QUEUE,I-UNFOLLOW,2
|
|
MOVE SPEAR-CARRIER,LOCAL-GLOBALS
|
|
CALL1 V-FOLLOW
|
|
MOVE SPEAR-CARRIER,HERE
|
|
RTRUE
|
|
?ELS138: EQUAL? PRSA,V?FOLLOW \FALSE
|
|
EQUAL? FOLLOW-FLAG,13 \FALSE
|
|
CALL2 DO-WALK,P?SW
|
|
RSTACK
|
|
|
|
.ENDI
|