.FUNCT NOT-HERE-OBJECT-F,TBL,PRSO?=1,OBJ,X=0 EQUAL? PRSO,NOT-HERE-OBJECT \?ELS3 EQUAL? PRSI,NOT-HERE-OBJECT \?ELS3 PRINTR "[Those things aren't here!]" ?ELS3: EQUAL? PRSO,NOT-HERE-OBJECT \?ELS9 SET 'TBL,P-PRSO JUMP ?CND1 ?ELS9: SET 'TBL,P-PRSI SET 'PRSO?,FALSE-VALUE ?CND1: ZERO? PRSO? /?ELS18 CALL1 PRSO-VERB? ZERO? STACK \?THN15 ?ELS18: ZERO? PRSO? \?ELS20 CALL1 PRSI-VERB? ZERO? STACK \?THN15 ?ELS20: ZERO? PRSO? \?CND12 EQUAL? WINNER,PLAYER /?CND12 EQUAL? PRSA,V?SGIVE \?CND12 EQUAL? PRSO,ME \?CND12 ?THN15: SET 'X,TRUE-VALUE CALL FIND-NOT-HERE,TBL,PRSO? >OBJ ZERO? OBJ /FALSE EQUAL? OBJ,NOT-HERE-OBJECT \TRUE ?CND12: ZERO? X /?ELS33 PRINTI "[You'll have to be more specific.]" CRLF JUMP ?CND31 ?ELS33: EQUAL? PRSA,V?CALL,V?TELL \?ELS38 EQUAL? P-XNAM,W?JILL \?ELS38 CALL1 IN-APARTMENT? ZERO? STACK /?ELS38 IN? JILL,LOCAL-GLOBALS /?ELS38 EQUAL? SYEAR,2041,2051 \?ELS43 PRINTI """I can't hear you, Perry!"" Jill shouts back. ""Come in here!""" CRLF JUMP ?CND31 ?ELS43: PRINTI "There's no reply; perhaps Jill didn't hear you from the other room." CRLF JUMP ?CND31 ?ELS38: EQUAL? WINNER,PLAYER \?ELS51 PRINTI "[You can't " EQUAL? P-XNAM,W?CONVERSAT,W?ALARM,W?MUSIC \?ELS56 PRINTI "hear" JUMP ?CND54 ?ELS56: PRINTI "see" ?CND54: CALL2 NAME?,P-XNAM ZERO? STACK \?ELS65 EQUAL? P-XADJ,W?MY /?ELS65 PRINTI " any" JUMP ?CND63 ?ELS65: EQUAL? P-XNAM,W?WIZARD,W?OZ \?CND63 PRINTI " any" ?CND63: CALL2 NOT-HERE-PRINT,PRSO? PRINTI " here!]" CRLF JUMP ?CND31 ?ELS51: EQUAL? MODE,INTERFACE-MODE \?ELS80 PRINTI "Emitting signals of confusion," JUMP ?CND78 ?ELS80: PRINTI "Looking confused," ?CND78: CALL ARTICLE,WINNER,TRUE-VALUE EQUAL? MODE,INTERFACE-MODE \?ELS89 PRINTI " reports, ""This unit is unaware of" JUMP ?CND87 ?ELS89: PRINTI " says, ""I don't see" ?CND87: CALL2 NAME?,P-XNAM ZERO? STACK \?CND96 PRINTI " any" ?CND96: CALL2 NOT-HERE-PRINT,PRSO? PRINTI " here!""" CRLF ?CND31: CALL1 CLEAR-BUF RTRUE .FUNCT PRSO-VERB? EQUAL? PRSA,V?FIND,V?FOLLOW,V?BUY /TRUE EQUAL? PRSA,V?WHAT,V?WHERE,V?WHO /TRUE EQUAL? PRSA,V?BUY-WITH,V?WALK-TO,V?WAIT-FOR /TRUE EQUAL? PRSA,V?CALL,V?PAY-FOR /TRUE RFALSE .FUNCT PRSI-VERB? EQUAL? PRSA,V?ASK-ABOUT,V?ASK-FOR,V?TELL-ABOUT /TRUE RFALSE .FUNCT FIND-NOT-HERE,TBL,PRSO?,M-F,OBJ CALL2 MOBY-FIND,TBL >M-F EQUAL? 1,M-F \?ELS5 ZERO? PRSO? /?ELS8 SET 'PRSO,P-MOBY-FOUND SET 'P-IT-OBJECT,PRSO RFALSE ?ELS8: SET 'PRSI,P-MOBY-FOUND RFALSE ?ELS5: LESS? 1,M-F \?ELS13 GET TBL,1 >OBJ GETP OBJ,P?GENERIC CALL STACK >OBJ ZERO? OBJ /?ELS13 EQUAL? OBJ,NOT-HERE-OBJECT /TRUE ZERO? PRSO? /?ELS20 SET 'PRSO,OBJ SET 'P-IT-OBJECT,PRSO RFALSE ?ELS20: SET 'PRSI,OBJ RFALSE ?ELS13: RETURN NOT-HERE-OBJECT .FUNCT NOT-HERE-PRINT,PRSO?,?TMP1 ZERO? P-OFLAG \?THN6 ZERO? P-MERGED /?ELS5 ?THN6: ZERO? P-XADJ /?CND8 EQUAL? P-XADJ,W?MY \?ELS14 PRINTI " your" JUMP ?CND8 ?ELS14: PRINTI " " PRINTB P-XADJ ?CND8: ZERO? P-XNAM /FALSE PRINTI " " PRINTB P-XNAM RTRUE ?ELS5: ZERO? PRSO? /?ELS30 GET P-ITBL,P-NC1 >?TMP1 GET P-ITBL,P-NC1L CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE RSTACK ?ELS30: GET P-ITBL,P-NC2 >?TMP1 GET P-ITBL,P-NC2L CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE RSTACK .FUNCT GROUND-F EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-ON,V?CLIMB-UP /?THN6 EQUAL? PRSA,V?SIT,V?LIE-DOWN,V?BOARD \?ELS5 ?THN6: CALL1 V-YELL RSTACK ?ELS5: EQUAL? PRSA,V?LOOK-UNDER \?ELS9 CALL1 V-COUNT RSTACK ?ELS9: EQUAL? PRSA,V?LEAVE \FALSE CALL2 DO-WALK,P?UP RSTACK .FUNCT WALLS-F EQUAL? HERE,ROCKVIL-REFORMATORY \FALSE EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "Huge monolithic walls, topped with guardposts and barbed wire, separate this entrance area from the prison proper." .FUNCT CEILING-F EQUAL? PRSA,V?LOOK-UNDER \FALSE CALL2 PERFORM,V?LOOK RTRUE .FUNCT HALLWAY-F EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5 EQUAL? HERE,EPILOGUE-LIVING-ROOM \?ELS10 CALL2 DO-WALK,P?NORTH RSTACK ?ELS10: EQUAL? HERE,HOSPITAL-ANNEX,EPILOGUE-BATHROOM \?ELS12 CALL2 DO-WALK,P?NE RSTACK ?ELS12: EQUAL? HERE,CINEMA \?ELS14 CALL2 DO-WALK,P?IN RSTACK ?ELS14: EQUAL? HERE,LIVING-ROOM \?ELS16 CALL2 DO-WALK,P?SOUTH RSTACK ?ELS16: EQUAL? HERE,HOSPITAL \?ELS18 CALL2 DO-WALK,P?SW RSTACK ?ELS18: EQUAL? HERE,DEN \?ELS20 CALL2 DO-WALK,P?WEST RSTACK ?ELS20: EQUAL? HERE,GUEST-ROOM \?ELS22 CALL2 DO-WALK,P?EAST RSTACK ?ELS22: CALL GLOBAL-IN?,HALLWAY,HERE ZERO? STACK /FALSE PRINT LOOK-AROUND CRLF RTRUE ?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS28 EQUAL? HERE,PARKVIEW-HALL,FOYER \?ELS33 CALL1 V-WALK-AROUND RSTACK ?ELS33: PRINT LOOK-AROUND CRLF RTRUE ?ELS28: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE EQUAL? HERE,PARKVIEW-HALL,FOYER \?ELS44 CALL1 V-LOOK RSTACK ?ELS44: EQUAL? HERE,CINEMA \FALSE PRINTR "The hall to the theatres is dark." .FUNCT BUILDING-F EQUAL? PRSA,V?DISEMBARK,V?WALK-TO,V?THROUGH /?THN6 EQUAL? PRSA,V?LEAVE \?ELS5 ?THN6: CALL1 V-WALK-AROUND RSTACK ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? SYEAR,2081 /?THN15 EQUAL? HERE,BURNED-OUT-AREA \?ELS14 ?THN15: PRINTR "The buildings are all gutted." ?ELS14: EQUAL? HERE,CHURCH-ENTRANCE,MIDLAND-AND-CHURCH,CONSTRUCTION-SITE-5 \FALSE EQUAL? SYEAR,2071 \FALSE PRINTI "Nothing is left of the building " EQUAL? HERE,CHURCH-ENTRANCE \?ELS27 PRINTI "to the northwest " JUMP ?CND25 ?ELS27: EQUAL? HERE,MIDLAND-AND-CHURCH \?CND25 PRINTI "to the southwest " ?CND25: PRINTR "excepts ruins." .FUNCT STAIRS-F EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \?ELS5 CALL2 DO-WALK,P?UP RSTACK ?ELS5: EQUAL? PRSA,V?CLIMB-DOWN \?ELS7 CALL2 DO-WALK,P?DOWN RSTACK ?ELS7: EQUAL? PRSA,V?SMELL \?ELS9 EQUAL? HERE,WICKER-AND-RIVER \?ELS9 EQUAL? SYEAR,2071 /?ELS9 PRINTR "There's an odor of urine from the Tube entrance." ?ELS9: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? SYEAR,2091 \FALSE PRINTI "The curving stairway leads " EQUAL? HERE,MASTER-BEDROOM \?ELS24 PRINTR "down to the living room." ?ELS24: PRINTR "up to the master bedroom." .FUNCT UNOPENABLE-DOOR-F EQUAL? PRSA,V?UNLOCK,V?OPEN \?ELS5 EQUAL? PRSI,KEY \?ELS5 PRINTR "Your key doesn't fit the lock." ?ELS5: EQUAL? PRSA,V?OPEN \?ELS11 PRINTR "The door is locked." ?ELS11: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? SYEAR,2071 \FALSE EQUAL? HERE,UNIVERSITY-HEIGHTS,PARKVIEW-APARTMENTS,CHURCH-STREET-APARTMENTS \FALSE PRINTR "The cracked glass is held together by boards." .FUNCT SLEEP-F EQUAL? PRSA,V?WALK-TO,V?TAKE \FALSE CALL1 V-SLEEP RSTACK .FUNCT SMOKE-F EQUAL? PRSA,V?WALK-TO \?ELS5 EQUAL? HERE,MAIN-AND-WICKER \?ELS5 EQUAL? SYEAR,2081 \?ELS5 CALL2 DO-WALK,P?SOUTH RSTACK ?ELS5: EQUAL? SYEAR,2071 \?ELS9 EQUAL? HERE,MAIN-AND-WICKER,POWER-STATION,BURGER-MEISTER \?ELS9 CALL1 MOBY-VERB? ZERO? STACK \?ELS9 CALL2 CANT-SEE,SMOKE RSTACK ?ELS9: EQUAL? PRSA,V?SMELL \?ELS13 EQUAL? HERE,MAIN-AND-WICKER \?ELS18 PRINTR "You get a brief whiff of burning wood." ?ELS18: EQUAL? HERE,POWER-STATION \?ELS22 PRINTR "The smoke carries the pungent smell of high-sulfur coal." ?ELS22: PRINTR "The tobacco smoke has a strong, bitter odor." ?ELS13: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,POWER-STATION \?ELS35 PRINTR "The smoke billows upward in a thick, black pillar." ?ELS35: EQUAL? HERE,MAIN-AND-WICKER \FALSE PRINTR "The smoke rises from unseen fires south of here." .FUNCT PLAY-F EQUAL? PRSA,V?WALK-TO,V?THROUGH,V?EXAMINE \FALSE EQUAL? HERE,WELLS-THEATRE,PICKFORD-THEATRE \FALSE PRINT NO-TICKET CRLF RTRUE .FUNCT SKY-F FSET? HERE,OUTSIDEBIT /?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,SKY RSTACK ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE ZERO? SIMULATING /FALSE PRINTI "The sky is " ZERO? LIGHT-LEVEL \?ELS16 PRINTI "dark" JUMP ?CND14 ?ELS16: EQUAL? LIGHT-LEVEL,1,2 \?ELS20 PRINTI "getting " LESS? STIME,720 \?ELS25 PRINTI "lighter" JUMP ?CND14 ?ELS25: PRINTI "darker" JUMP ?CND14 ?ELS20: EQUAL? SYEAR,2061,2071 \?ELS33 CALL2 SCORE,118 PRINTI "gray and smoggy" JUMP ?CND14 ?ELS33: PRINTI "light" ?CND14: PRINTR "." .FUNCT NIGHT-F EQUAL? PRSA,V?WAIT-FOR \?ELS5 CALL PERFORM,V?WAIT-FOR,DUSK RTRUE ?ELS5: ZERO? SIMULATING /?ELS7 ZERO? LIGHT-LEVEL /?ELS7 CALL1 MOBY-VERB? ZERO? STACK \?ELS7 CALL2 CANT-SEE,NIGHT RSTACK ?ELS7: EQUAL? HERE,ROOFTOP /FALSE CALL1 MOBY-VERB? ZERO? STACK \FALSE CALL2 CANT-SEE,NIGHT RSTACK .FUNCT DAY-F EQUAL? PRSA,V?WAIT-FOR \?ELS5 CALL PERFORM,V?WAIT-FOR,DAWN RTRUE ?ELS5: ZERO? SIMULATING /FALSE ZERO? LIGHT-LEVEL \FALSE CALL1 MOBY-VERB? ZERO? STACK \FALSE CALL2 CANT-SEE,DAY RSTACK .FUNCT HANDS-F,ACTOR ZERO? SIMULATING \?ELS5 PRINTR "You have no hands." ?ELS5: EQUAL? PRSA,V?WAVE \?ELS9 SET 'PRSO,FALSE-VALUE CALL2 PERFORM,V?WAVE-AT RTRUE ?ELS9: EQUAL? PRSA,V?SHAKE \?ELS11 CALL FIND-IN,HERE,ACTORBIT >ACTOR ZERO? ACTOR /?ELS16 CALL PERFORM,V?THANK,ACTOR RTRUE ?ELS16: PRINTR "Pleased to meet you." ?ELS11: EQUAL? PRSA,V?WASH \FALSE CALL GLOBAL-IN?,SINK,HERE ZERO? STACK /?ELS27 PRINTR "Your hands are now cleaner." ?ELS27: PRINTR "There's no sink here!" .FUNCT HEAD-F ZERO? SIMULATING \FALSE PRINTR "You don't have a head, in the human sense." .FUNCT PLAYER-F ZERO? SIMULATING \FALSE EQUAL? PRSA,V?GIVE \?ELS8 EQUAL? PRSO,RECORD-BUFFER /FALSE ?ELS8: EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-DOWN,V?BOARD /?THN13 EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-OVER,V?CLIMB-ON /?THN13 EQUAL? PRSA,V?ENTER,V?DISEMBARK,V?CROSS /?THN13 EQUAL? PRSA,V?LEAP,V?HIDE,V?FOLLOW /?THN13 EQUAL? PRSA,V?SIT,V?LIE-DOWN,V?LEAVE /?THN13 EQUAL? PRSA,V?STAND-ON,V?STAND,V?SKIP /?THN13 EQUAL? PRSA,V?WALK-AROUND \?ELS12 ?THN13: PRINTR "A difficult task for an immobile computer." ?ELS12: EQUAL? PRSA,V?DIG,V?CUT,V?CLOSE /?THN19 EQUAL? PRSA,V?KILL,V?GIVE,V?DROP /?THN19 EQUAL? PRSA,V?MUNG,V?MOVE,V?KNOCK /?THN19 EQUAL? PRSA,V?PUSH,V?POINT,V?OPEN /?THN19 EQUAL? PRSA,V?PUT-ON,V?PUT-BEHIND,V?PUT /?THN19 EQUAL? PRSA,V?SHAKE,V?TOUCH,V?PUT-UNDER /?THN19 EQUAL? PRSA,V?TAKE,V?ROB,V?THROW /?THN19 EQUAL? PRSA,V?UNTIE,V?TURN,V?TIE /?THN19 EQUAL? PRSA,V?SEARCH,V?WAVE-AT,V?WAVE /?THN19 EQUAL? PRSA,V?DANCE,V?KICK \?ELS18 ?THN19: PRINTR "That would be a neat trick without appendages." ?ELS18: EQUAL? PRSA,V?SMILE,V?KISS,V?BITE \?ELS24 PRINTR "Your speakers are not equipped with mouths." ?ELS24: EQUAL? PRSA,V?DRINK,V?EAT \?ELS28 PRINTR "You can't and don't need to." ?ELS28: EQUAL? PRSA,V?SMELL \FALSE PRINTR "You're not equipped with olfactory senses." .FUNCT YOURSELF-F PRINTR "[It's not clear whom you're referring to.]" .FUNCT ME-F,OLIT EQUAL? PRSA,V?TELL \?ELS5 PRINTI "Talking to yourself is a sign of impending mental collapse." CRLF CALL1 CLEAR-BUF RSTACK ?ELS5: EQUAL? PRSA,V?LISTEN \?ELS9 PRINTR "Yes?" ?ELS9: EQUAL? PRSA,V?ALARM \?ELS13 EQUAL? MODE,SLEEP-MODE \?ELS18 PRINTR "You are (although you haven't left Sleep Mode yet)." ?ELS18: PRINT YOU-ARE CRLF RTRUE ?ELS13: EQUAL? PRSA,V?GIVE \?ELS26 EQUAL? PRSI,ME \?ELS26 CALL PERFORM,V?TAKE,PRSO RTRUE ?ELS26: EQUAL? PRSA,V?MOVE \?ELS30 CALL1 V-WALK-AROUND RSTACK ?ELS30: EQUAL? PRSA,V?SEARCH \?ELS32 CALL1 V-INVENTORY RTRUE ?ELS32: EQUAL? PRSA,V?MUNG,V?KILL \?ELS34 PRINTR "Dumb." ?ELS34: EQUAL? PRSA,V?WHERE,V?FIND \?ELS38 PRINTI "You're " FSET? HERE,STREETBIT \?ELS43 PRINTI "at" JUMP ?CND41 ?ELS43: EQUAL? HERE,MAIN-STREET-BRIDGE,RIVER-STREET-BRIDGE,PIER \?ELS47 PRINTI "on" JUMP ?CND41 ?ELS47: PRINTI "in" ?CND41: EQUAL? HERE,INTERFACE-ROOM,SIMULATION-ROOM /?THN57 EQUAL? HERE,LIBRARY-ROOM,SLEEP-ROOM,COMM-ROOM \?ELS56 ?THN57: CALL ARTICLE,MODE,TRUE-VALUE JUMP ?CND54 ?ELS56: CALL ARTICLE,HERE,TRUE-VALUE ?CND54: PRINTR "." ?ELS38: EQUAL? PRSA,V?WHO \?ELS64 ZERO? SIMULATING /?ELS69 PRINTR "Perry Simm." ?ELS69: PRINTR "PRISM." ?ELS64: EQUAL? PRSA,V?FOLLOW \?ELS78 PRINTR "It's difficult not to follow yourself." ?ELS78: EQUAL? PRSA,V?EXAMINE \?ELS82 ZERO? SIMULATING \?ELS87 PRINTR "How can you look at yourself? You're spread out through many rooms in several buildings, most of which don't have communication outlets!" ?ELS87: EQUAL? SYEAR,2081 \?ELS91 PRINTR "Through your torn clothes you can see malnutrition sores on your thin, bony arms." ?ELS91: EQUAL? SYEAR,2071 \?ELS95 PRINTR "Your clothes are frayed, and your skin is beginning to show the wrinkles of your sixty years." ?ELS95: PRINTI "You look much as you always have: a normal, middle-aged male" EQUAL? SYEAR,2061 \?CND102 PRINTI ", perhaps a little older and a little grayer" ?CND102: PRINTI ". Your clothes are " EQUAL? SYEAR,2061 \?ELS113 PRINTR "a bit old and ratty." ?ELS113: PRINTR "simple but adequate." ?ELS82: EQUAL? PRSA,V?WASH \?ELS121 PRINTR "You're not dirty." ?ELS121: EQUAL? PRSA,V?CALL \FALSE CALL1 V-COUNT RSTACK .FUNCT MY-NAME-F EQUAL? PRSA,V?WHAT \FALSE CALL PERFORM,V?WHO,ME RTRUE .FUNCT CONVERSATION-F EQUAL? HERE,DORM \?ELS5 ZERO? DORM-RAID-FLAG \?ELS5 PRINTI "[You can't hear any " PRINTD CONVERSATION PRINTR " here!]" ?ELS5: EQUAL? PRSA,V?LISTEN \FALSE EQUAL? HERE,CONTROL-CENTER \?ELS18 PRINTI "Even at maximum sensitivity, your aural receptors can't quite make out the words of the " PRINTD CONVERSATION PRINTR "." ?ELS18: PRINTR "You can't make out any words." .FUNCT MUSIC-F EQUAL? SYEAR,2061 \?ELS5 EQUAL? HERE,DORM \?ELS5 PRINTR "[You can't hear any music here!]" ?ELS5: EQUAL? PRSA,V?LISTEN \FALSE EQUAL? HERE,BAR \?ELS16 CALL PERFORM,V?LISTEN,JUKEBOX RTRUE ?ELS16: PRINTR "The music is loud but muffled." .FUNCT DOORWAY-F EQUAL? PRSA,V?THROUGH \?ELS5 CALL1 V-WALK-AROUND RSTACK ?ELS5: EQUAL? PRSA,V?OPEN \?ELS7 PRINTR "It is." ?ELS7: EQUAL? PRSA,V?CLOSE \?ELS11 PRINTR "That door doesn't close." ?ELS11: EQUAL? PRSA,V?SMELL \?ELS15 EQUAL? HERE,WICKER-AND-RIVER \?ELS15 EQUAL? SYEAR,2071 /?ELS15 CALL PERFORM,V?SMELL,STAIRS RTRUE ?ELS15: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTR "You can't tell what's on the other side from here." .FUNCT GLOBAL-ROOM-F EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE,V?LOOK \?ELS5 CALL1 V-LOOK RTRUE ?ELS5: EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS7 CALL1 V-WALK-AROUND RSTACK ?ELS7: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS9 CALL2 DO-WALK,P?OUT RSTACK ?ELS9: EQUAL? PRSA,V?WALK-AROUND \?ELS11 PRINTR "Walking around the room reveals nothing new. To move elsewhere, just type the desired direction." ?ELS11: EQUAL? PRSA,V?WASH \FALSE CALL1 IN-APARTMENT? ZERO? STACK /?ELS20 ZERO? APARTMENT-RAID-FLAG /?ELS25 PRINTR "You begin cleaning up the mess." ?ELS25: EQUAL? JILL-COUNTER,9 \FALSE IN? JILL,HERE \FALSE PRINT MY-WEEK CRLF RTRUE ?ELS20: EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 \FALSE EQUAL? SYEAR,2071,2081 \FALSE PRINTR "A hopeless job." .FUNCT ALLEY-OBJECT-F EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5 EQUAL? HERE,ALLEY \?ELS10 PRINT LOOK-AROUND CRLF RTRUE ?ELS10: EQUAL? HERE,FACTORY-ENTRANCE \?ELS14 CALL2 DO-WALK,P?EAST RSTACK ?ELS14: EQUAL? HERE,BAR \?ELS16 CALL2 DO-WALK,P?WEST RSTACK ?ELS16: CALL1 V-WALK-AROUND RSTACK ?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS20 EQUAL? HERE,ALLEY \?ELS25 CALL1 V-WALK-AROUND RSTACK ?ELS25: PRINT LOOK-AROUND CRLF RTRUE ?ELS20: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,ALLEY \FALSE CALL1 V-LOOK RSTACK .FUNCT STREET-F FSET? HERE,STREETBIT /?ELS5 EQUAL? HERE,ROOFTOP /?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,STREET RSTACK ?ELS5: EQUAL? PRSA,V?CROSS \?ELS9 PRINTR "That's not useful; anything you could do or see there, you can do or see here." ?ELS9: EQUAL? PRSA,V?FOLLOW \FALSE CALL1 V-WALK-AROUND RSTACK .FUNCT PEOPLE-F IN? SABOTEURS,HERE \?ELS5 CALL CHANGE-OBJECT,PEOPLE,SABOTEURS RSTACK ?ELS5: EQUAL? HERE,ATHLETIC-FIELD \?ELS7 EQUAL? SYEAR,2061,2071 \?ELS7 CALL CHANGE-OBJECT,PEOPLE,CHILDREN RSTACK ?ELS7: ZERO? LIGHT-LEVEL \?ELS11 FSET? HERE,STREETBIT \?ELS11 CALL1 MOBY-VERB? ZERO? STACK \?ELS11 CALL2 CANT-SEE,PEOPLE RSTACK ?ELS11: ZERO? SIMULATING /?ELS15 EQUAL? SYEAR,2081 \?ELS15 CALL2 CANT-SEE,PEOPLE RSTACK ?ELS15: EQUAL? HERE,CORE \?ELS19 IN? SABOTEURS,HERE /?ELS19 CALL1 MOBY-VERB? ZERO? STACK \?ELS19 CALL2 CANT-SEE,PEOPLE RSTACK ?ELS19: EQUAL? PRSA,V?TELL \?ELS23 PRINTI "You can't speak to crowds of people, just individuals." CRLF CALL1 CLEAR-BUF RSTACK ?ELS23: EQUAL? PRSA,V?TELL-ABOUT,V?ASK-ABOUT \?ELS27 EQUAL? PRSO,PEOPLE \?ELS27 CALL PERFORM,V?TELL,PEOPLE RTRUE ?ELS27: EQUAL? PRSA,V?FOLLOW \?ELS31 CALL1 V-WALK-AROUND RSTACK ?ELS31: EQUAL? PRSA,V?WAIT-FOR \?ELS33 EQUAL? HERE,CORE,ROOFTOP \?ELS33 EQUAL? PART-FLAG,3 \?ELS33 CALL2 V-WAIT,120 RSTACK ?ELS33: EQUAL? PRSA,V?LISTEN,V?EXAMINE \?ELS37 EQUAL? HERE,ROCKVIL-STADIUM \?ELS37 EQUAL? SYEAR,2071 \?ELS37 LESS? STIME,1201 \?ELS37 GRTR? STIME,481 \?ELS37 PRINTR "The mob is frenzied and bloodthirsty." ?ELS37: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,BAR \FALSE CALL1 PEOPLE-IN-BAR-DESC CRLF RTRUE .FUNCT PEOPLE-IN-BAR-DESC PRINTI "The bar is filled with " EQUAL? SYEAR,2071 \?ELS5 PRINTI "tough-looking serfs and black marketeers" JUMP ?CND3 ?ELS5: PRINTI "all sorts of sleazy lowlifes" ?CND3: PRINTI "." RTRUE .FUNCT PARENTS-F INTBL? W?MOTHER,P-NAMW,2 /?THN8 INTBL? W?MOM,P-NAMW,2 \?ELS5 ?THN8: CALL2 VISIBLE?,JILL ZERO? STACK /?ELS5 CALL CHANGE-OBJECT,PARENTS,JILL RSTACK ?ELS5: INTBL? W?FATHER,P-NAMW,2 /?THN14 INTBL? W?DAD,P-NAMW,2 \?ELS11 ?THN14: CALL1 IN-APARTMENT? ZERO? STACK /?ELS11 EQUAL? SYEAR,2041,2051 \?ELS11 CALL CHANGE-OBJECT,PARENTS,ME RSTACK ?ELS11: CALL1 MOBY-VERB? ZERO? STACK \FALSE CALL2 CANT-SEE,PARENTS RSTACK .FUNCT MINDEX-F EQUAL? SYEAR,2061,2071 \?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,MINDEX RSTACK ?ELS5: EQUAL? PRSA,V?TOUCH,V?MOVE,V?PUSH \?ELS9 PRINTR "Why do you think they call it ""dope?""" ?ELS9: EQUAL? PRSA,V?SMELL \?ELS13 ZERO? DORM-RAID-FLAG /?ELS18 PRINTR "The odor has dissipated." ?ELS18: PRINTR "It smells typically sweet and prickly." ?ELS13: EQUAL? PRSA,V?BUY \FALSE CALL2 CANT-BUY,MINDEX RSTACK .FUNCT GENERIC-APARTMENT-F RETURN APARTMENT-OBJECT .FUNCT GENERIC-MITCHELL-F EQUAL? P-NAM,W?RAV \?ELS5 RETURN RAV ?ELS5: ZERO? SIMULATING /?ELS7 EQUAL? SYEAR,2041 \?ELS7 RETURN BABY ?ELS7: RETURN MITCHELL .FUNCT GENERIC-BOOK-F CALL2 VISIBLE?,BOOK ZERO? STACK /?ELS5 CALL2 VISIBLE?,JILL-BOOK ZERO? STACK \FALSE ?ELS5: CALL2 VISIBLE?,BOOK ZERO? STACK /?ELS9 FSET? BOOK,TRYTAKEBIT /?ELS9 EQUAL? P-NAM,W?BOOK \?ELS9 RETURN BOOK ?ELS9: RETURN BOOKS .FUNCT GENERIC-TUBECAR-F CALL2 VISIBLE?,RED-TUBECAR-OBJECT ZERO? STACK /?ELS5 CALL2 VISIBLE?,BROWN-TUBECAR-OBJECT ZERO? STACK \FALSE ?ELS5: EQUAL? HERE,TUBE-AT-UNIVERSITY,TUBE-AT-BODANSKI,TUBE-AT-AIRPORT \?ELS9 RETURN BROWN-TUBECAR-OBJECT ?ELS9: RETURN RED-TUBECAR-OBJECT .FUNCT GENERIC-SODA-F RETURN SODA .FUNCT GENERIC-FOOD-F EQUAL? PRSA,V?BUY \?ELS5 EQUAL? P-NAM,W?FOOD \?ELS5 RETURN MEAL ?ELS5: CALL2 VISIBLE?,TURKEY-SANDWICH ZERO? STACK \FALSE CALL2 VISIBLE?,HAM-SANDWICH ZERO? STACK \FALSE CALL2 VISIBLE?,GRANOLA-CLUSTER ZERO? STACK \FALSE CALL2 VISIBLE?,APPLE ZERO? STACK \FALSE CALL2 VISIBLE?,GROCERIES ZERO? STACK \FALSE CALL2 VISIBLE?,SOY-PATTY ZERO? STACK \FALSE CALL2 VISIBLE?,SALAD ZERO? STACK \FALSE RETURN MEAL .FUNCT GENERIC-PERELMAN-F RETURN PERELMAN .FUNCT GENERIC-NEWSPAPER-F RETURN NEWSPAPER .FUNCT GENERIC-BED-F RETURN BED .FUNCT GENERIC-GUARD-F INTBL? W?BSF,P-ADJW,2 \?ELS5 RETURN BSF-BASE ?ELS5: ZERO? SIMULATING \?ELS7 ZERO? SEIGE /?ELS7 RETURN NATIONAL-GUARDSMAN ?ELS7: EQUAL? HERE,MAIN-AND-WICKER \?ELS11 EQUAL? PRSA,V?FOLLOW \?ELS11 EQUAL? SYEAR,2051 \?ELS11 RETURN SPEAR-CARRIER ?ELS11: PUTP SPEAR-CARRIER,P?SDESC,STR?292 RETURN SPEAR-CARRIER .FUNCT GENERIC-ROOM-F EQUAL? HERE,DINING-ROOM \?ELS5 RETURN DINING-ROOM-OBJECT ?ELS5: EQUAL? HERE,LIVING-ROOM,EPILOGUE-LIVING-ROOM \?ELS7 RETURN LIVING-ROOM-OBJECT ?ELS7: EQUAL? HERE,BEDROOM,MASTER-BEDROOM \?ELS9 RETURN BEDROOM-OBJECT ?ELS9: EQUAL? HERE,BATHROOM,EPILOGUE-BATHROOM \?ELS11 RETURN BATHROOM-OBJECT ?ELS11: EQUAL? HERE,SOLARIUM \?ELS13 RETURN SOLARIUM-OBJECT ?ELS13: RETURN GLOBAL-ROOM .FUNCT GENERIC-KITCHEN-F RETURN KITCHEN-OBJECT .FUNCT GENERIC-OFFICIAL-F EQUAL? HERE,FIRST-METHODIST-CHURCH,ST-MICHAELS \?ELS5 RETURN CHURCH-OFFICIAL ?ELS5: RETURN GOVERNMENT-OFFICIAL .FUNCT ROCKVIL-OBJECT-F EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS5 ZERO? SIMULATING /?ELS10 PRINT LOOK-AROUND CRLF RTRUE ?ELS10: PRINTI "Try entering " PRINTD SIMULATION-MODE PRINTR "." ?ELS5: ZERO? SIMULATING \?ELS21 EQUAL? HERE,ROOFTOP /?ELS21 CALL1 MOBY-VERB? ZERO? STACK \?ELS21 CALL2 CANT-SEE,ROCKVIL-OBJECT RSTACK ?ELS21: EQUAL? HERE,ROOFTOP \?ELS25 EQUAL? PRSA,V?EXAMINE \?ELS25 PRINTI "All you can see of the city is a g" GRTR? TIME,1155 /?THN33 LESS? TIME,430 \?ELS32 ?THN33: PRINTI "low" JUMP ?CND30 ?ELS32: PRINTI "ray haze" ?CND30: PRINTR " on the horizon." ?ELS25: EQUAL? HERE,SKYCAB \FALSE EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The city is spread below you like a map." .FUNCT CANT-BUY,OBJ PRINTI "You can't buy" CALL2 ARTICLE,OBJ PRINTR " here!" .FUNCT TOO-POOR,AMOUNT,ITEM LESS? CREDIT,AMOUNT \FALSE PRINTI ", but are embarrassed when" CALL2 ARTICLE,SPEAR-CARRIER PRINTI " returns with your card and" EQUAL? SYEAR,2041 \?ELS12 PRINTI " politely" JUMP ?CND10 ?ELS12: EQUAL? SYEAR,2051 \?ELS16 PRINTI ", with a slight smirk," JUMP ?CND10 ?ELS16: EQUAL? SYEAR,2061 \?ELS20 PRINTI " rudely" JUMP ?CND10 ?ELS20: EQUAL? SYEAR,2071 \?CND10 PRINTI " almost abusively" ?CND10: PRINTI " informs you that you don't have enough funds in your account to cover the $" PRINTN AMOUNT PRINTI " cost of" CALL ARTICLE,ITEM,TRUE-VALUE PRINTR "." .FUNCT DEBIT,AMOUNT SUB CREDIT,AMOUNT >CREDIT PRINTI ". After a moment," CALL ARTICLE,SPEAR-CARRIER,TRUE-VALUE PRINTI " returns your card, informing you that your account has been debited for $" PRINTN AMOUNT PRINTI " and that your new balance is $" PRINTN CREDIT RTRUE .FUNCT VENDING,VENDOR,ITEM,AMOUNT PRINTI "You insert your card into the " PRINTD VENDOR PRINTI ". A readout flashes """ LESS? CREDIT,AMOUNT \?ELS9 PRINTR "INSUFFICIENT FUNDS"" and your card spits back into your hand." ?ELS9: FCLEAR ITEM,TRYTAKEBIT FCLEAR ITEM,NDESCBIT MOVE ITEM,PLAYER SUB CREDIT,AMOUNT >CREDIT PRINTI "NEW BALANCE: $" PRINTN CREDIT PRINTI """ and a " PRINTD ITEM PRINTR " pops out into your hands." .FUNCT CLOSING-TIME,TIME,LOC-STRING,ACTOR-STRING,NEW-LOC GRTR? STIME,TIME \FALSE CRLF PRINTI "An announcement heralds the closing of " PRINT LOC-STRING PRINTI " for the evening, and " PRINT ACTOR-STRING PRINTI " shows you to the exit." CRLF CRLF EQUAL? HERE,JOYBOOTH \?CND8 MOVE HEADSET,HERE FSET HEADSET,NDESCBIT FCLEAR HEADSET,WORNBIT ?CND8: CALL2 GOTO,NEW-LOC RTRUE .FUNCT CURFEW-CLOSE,NEW-LOC GRTR? STIME,1200 \FALSE EQUAL? SYEAR,2041 /FALSE CRLF PRINTI "Someone calls out something about ""getting late"" and ""we gotta close up."" You follow everyone out." CRLF CRLF MOVE BEER,LOCAL-GLOBALS CALL2 GOTO,NEW-LOC RTRUE .FUNCT RESTAURANT-CLOSES,NEW-LOC EQUAL? SYEAR,2041 /FALSE GRTR? STIME,1200 \FALSE CRLF PRINTI "The waiter approaches. ""I'm sorry, but notice the hour."" He " IN? CREDIT-CARD,SPEAR-CARRIER \?CND10 MOVE CREDIT-CARD,PLAYER PRINTI "returns your credit card and " ?CND10: PRINTI "leads you out." CRLF CRLF CALL2 GOTO,NEW-LOC RTRUE .FUNCT SHOP-CLOSES,TIME,LOC-STRING,ACTOR-STRING,NEW-LOC GRTR? STIME,TIME \FALSE CRLF PRINT ACTOR-STRING PRINTI " informs you that the " PRINT LOC-STRING PRINTI " is closing and ushers you to the door." CRLF CRLF CALL2 GOTO,NEW-LOC RTRUE .FUNCT CLOSED-PRINT,LOC GRTR? STIME,300 \?ELS5 LESS? STIME,840 \?ELS5 PRINT LOC PRINTR " isn't open yet." ?ELS5: PRINT LOC PRINTR " seems to be closed for the night." .FUNCT SUBURBS-ENTER-F EQUAL? HERE,SOUTHWAY-UNDERPASS \?ELS3 EQUAL? SYEAR,2071 \?ELS3 PRINTI "The collapsed highway blocks the road." CRLF RFALSE ?ELS3: SOUND 1 PRINTI "WARNING: You have reached the boundary of this simulation." CRLF RFALSE .FUNCT OFFICE-BUILDING-ENTER-F GRTR? STIME,1120 /?THN4 LESS? STIME,475 \?ELS3 ?THN4: CALL2 CLOSED-PRINT,STR?293 RFALSE ?ELS3: EQUAL? SYEAR,2071 \?ELS7 SET 'BRUISED,TRUE-VALUE CALL2 SCORE,98 PRINTI "As soon as you enter, two thugs in security uniforms beat you up and drag you out to the gutter. They laugh with mindless glee before returning to the building." CRLF RFALSE ?ELS7: PUTP SPEAR-CARRIER,P?SDESC,STR?292 SET 'FOLLOW-FLAG,9 CALL QUEUE,I-UNFOLLOW,2 PRINTI "As you enter, a security guard, seeing that you have no badge, " EQUAL? SYEAR,2041 \?ELS16 PRINTI "politely leads " JUMP ?CND14 ?ELS16: EQUAL? SYEAR,2061 \?ELS20 CALL2 SCORE,97 PRINTI "roughly pushes " JUMP ?CND14 ?ELS20: PRINTI "escorts " ?CND14: PRINTI "you back out to the street and then returns to the building." CRLF RFALSE .FUNCT APARTMENT-ENTER-F EQUAL? SYEAR,2071 \?ELS3 CALL2 SCORE,98 PRINTI "As soon as you enter, a guard clubs you and tosses you out onto the sidewalk. Passersby look away, giving you a wide berth." CRLF RFALSE ?ELS3: PUTP SPEAR-CARRIER,P?SDESC,STR?294 SET 'FOLLOW-FLAG,9 CALL QUEUE,I-UNFOLLOW,2 PRINTI "A " LESS? STIME,420 \?CND10 PRINTI "tired-looking " ?CND10: PRINTI "doorman, not recognizing you as a resident, " EQUAL? SYEAR,2041 \?ELS19 PRINTI "politely " JUMP ?CND17 ?ELS19: EQUAL? SYEAR,2061 \?CND17 CALL2 SCORE,97 PRINTI "roughly " ?CND17: PRINTI "turns you away before returning to the building." CRLF RFALSE .FUNCT DESCRIBE-APARTMENT-VESTIBULE,IN-DIR,OUT-DIR PRINTI "You are in the vestibule of a typical high-rise city apartment building. A wide expanse of labelled buzzers and tiny mailboxes fills one wall. " EQUAL? SYEAR,2061,2071 \?CND3 CALL2 SCORE,0 PRINTI "The mailboxes have been extensively vandalized, and graffiti is sprayed across every surface. " ?CND3: EQUAL? SYEAR,2071 \?ELS10 PRINTI "Shattered glass doors, held together by cheap wooden boards," JUMP ?CND8 ?ELS10: PRINTI "Glass doors" ?CND8: PRINTI " lie " EQUAL? HERE,PARKVIEW-APARTMENTS \?ELS21 FSET? PARKVIEW-DOOR,OPENBIT \?ELS21 PRINTI "open" JUMP ?CND19 ?ELS21: PRINTI "closed" ?CND19: PRINTI " to the " PRINT IN-DIR PRINTI ". Next to this inner door is a " EQUAL? SYEAR,2061,2071 \?ELS34 PRINTI "tangle of cords where a " PRINTD PICTUREPHONE PRINTI " has been ripped out by vandals" JUMP ?CND32 ?ELS34: PRINTD PICTUREPHONE ?CND32: PRINTI ". The street lies to the " PRINT OUT-DIR PRINTI "." RTRUE .FUNCT BUZZERS-F EQUAL? PRSA,V?PUSH \?ELS5 PRINTR "You push one of the buzzers at random, but there's no response." ?ELS5: EQUAL? PRSA,V?READ,V?EXAMINE \?ELS9 PRINTI "The buzzers and mailboxes are all labelled with name after ordinary name." EQUAL? HERE,PARKVIEW-APARTMENTS \?CND12 PRINTI " One of the buzzers is, of course, yours." ?CND12: CRLF RTRUE ?ELS9: EQUAL? PRSA,V?COUNT \FALSE PRINTR "Hundreds." .FUNCT MAILBOXES-F EQUAL? PRSA,V?OPEN \?ELS5 EQUAL? PRSI,KEY \?ELS10 CALL PERFORM,V?UNLOCK,MAILBOXES RTRUE ?ELS10: PRINTR "The mailboxes are all locked." ?ELS5: EQUAL? PRSA,V?UNLOCK \?ELS16 PRINTR "You don't have the proper key." ?ELS16: EQUAL? PRSA,V?COUNT,V?READ \?ELS20 CALL PERFORM,PRSA,BUZZERS RTRUE ?ELS20: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? SYEAR,2061,2071 \?ELS27 PRINTR "The mailboxes are battered and covered with graffiti." ?ELS27: CALL PERFORM,V?OPEN,MAILBOXES RTRUE .FUNCT PICTUREPHONE-F EQUAL? SYEAR,2061,2071 \FALSE PRINTI "The " PRINTD PICTUREPHONE PRINTR " is gone, torn out of the wall." .FUNCT LABEL-F INTBL? W?MY,P-ADJW,2 \?ELS5 EQUAL? HERE,PARKVIEW-APARTMENTS \?ELS10 CALL CHANGE-OBJECT,LABEL,MY-BUZZER RSTACK ?ELS10: PRINTR "Your label isn't here; it's in the lobby of your apartment building!" ?ELS5: IN? BUZZERS,HERE \?ELS16 EQUAL? PRSA,V?EXAMINE,V?READ,V?COUNT \FALSE CALL PERFORM,PRSA,BUZZERS RTRUE ?ELS16: EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 \?ELS23 EQUAL? SYEAR,2061 \?ELS23 EQUAL? PRSA,V?READ \FALSE PRINTR "The labels on the tins of food are cheaply made and poorly applied." ?ELS23: CALL2 VISIBLE?,SCOTCH ZERO? STACK /?ELS34 EQUAL? PRSA,V?READ \FALSE CALL PERFORM,V?READ,SCOTCH RTRUE ?ELS34: CALL1 MOBY-VERB? ZERO? STACK \FALSE CALL2 CANT-SEE,LABEL RSTACK .FUNCT GRAFFITI-F EQUAL? HERE,RED-TUBECAR,BROWN-TUBECAR \?ELS7 EQUAL? SYEAR,2041 /?THN4 ?ELS7: EQUAL? HERE,CEMETERY,ELM-UNDERPASS \?ELS9 EQUAL? SYEAR,2041,2051,2061 /?THN4 ?ELS9: EQUAL? HERE,CHURCH-STREET-PARK \?ELS11 EQUAL? SYEAR,2061,2071 /?THN4 ?ELS11: EQUAL? HERE,CHURCH-ENTRANCE,HALLEY-PARK-EAST \?ELS13 EQUAL? SYEAR,2041,2051,2071 /?THN4 ?ELS13: CALL GLOBAL-IN?,PICTUREPHONE,HERE ZERO? STACK /?CND1 EQUAL? SYEAR,2041,2051 \?CND1 ?THN4: CALL1 MOBY-VERB? ZERO? STACK \?CND1 CALL2 CANT-SEE,GRAFFITI RTRUE ?CND1: EQUAL? PRSA,V?READ \FALSE EQUAL? HERE,CEMETERY \?ELS28 PRINTI "The " PRINTD HEADSTONES PRINTR " are defaced with anti-Catholic phrases." ?ELS28: EQUAL? HERE,CHURCH-STREET-PARK /?THN35 EQUAL? HERE,RED-TUBECAR,BROWN-TUBECAR \?ELS34 EQUAL? SYEAR,2051 \?ELS34 ?THN35: PRINTR "The graffiti is ugly but inoffensive, mostly various names and initials." ?ELS34: EQUAL? HERE,ELM-UNDERPASS \?ELS42 PRINTR """Chinks Get Lost.""" ?ELS42: PRINTR "The graffiti is mostly obscene or racist." .FUNCT GLOBAL-SIGN-F EQUAL? HERE,KENNEDY-PARK \?ELS5 EQUAL? SYEAR,2061 /?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,GLOBAL-SIGN RSTACK ?ELS5: EQUAL? HERE,MAIN-AND-WICKER \?ELS9 EQUAL? SYEAR,2071,2081 /?ELS9 CALL1 MOBY-VERB? ZERO? STACK \?ELS9 CALL2 CANT-SEE,GLOBAL-SIGN RSTACK ?ELS9: EQUAL? HERE,CONSTRUCTION-SITE-1,CONSTRUCTION-SITE-2,MAIN-AND-RIVER \?ELS13 EQUAL? SYEAR,2041 /?ELS13 CALL1 MOBY-VERB? ZERO? STACK \?ELS13 CALL2 CANT-SEE,GLOBAL-SIGN RSTACK ?ELS13: EQUAL? HERE,SOUTHWAY-AND-PARK,SYMPHONY-ENTRANCE /?THN20 EQUAL? HERE,SKYCAR-LOT-6,SKYCAR-LOT-7,ZOO \?ELS17 ?THN20: EQUAL? SYEAR,2071 /?ELS17 CALL1 MOBY-VERB? ZERO? STACK \?ELS17 CALL2 CANT-SEE,GLOBAL-SIGN RSTACK ?ELS17: EQUAL? HERE,POST-OFFICE,MUSEUM-ENTRANCE,RIVERSIDE-PARK \?ELS23 EQUAL? SYEAR,2041,2051 \?ELS23 CALL1 MOBY-VERB? ZERO? STACK \?ELS23 CALL2 CANT-SEE,GLOBAL-SIGN RSTACK ?ELS23: EQUAL? PRSA,V?EXAMINE,V?READ \FALSE EQUAL? HERE,KENNEDY-PARK \?ELS29 PRINTR " ""KENNEDY PARK CONDOMINIUMS Elegant Urban Living Opening December 15, 2061 Rockvil Development Corp.""" ?ELS29: EQUAL? HERE,POST-OFFICE \?ELS33 PRINTI """Open daily, " EQUAL? SYEAR,2061 \?ELS38 PRINTI "10a" JUMP ?CND36 ?ELS38: PRINTI "3p" ?CND36: PRINTR "m to 4pm.""" ?ELS33: EQUAL? HERE,CONSTRUCTION-SITE-1 \?ELS48 PRINTR " ""First Continent Bank Building 6,000 sq. meters of office space Opening September 1, 2042""" ?ELS48: EQUAL? HERE,CONSTRUCTION-SITE-2 \?ELS52 PRINTI " " PRINTD HEIMAN-VILLAGE PRINTR " Two ** City Within a City ** Opening July 8, 2042" ?ELS52: EQUAL? HERE,MAIN-AND-WICKER \?ELS58 EQUAL? SYEAR,2081 \?ELS58 CALL2 SCORE,38 PRINTR """Buxton/Briggs territory begins here. Outsiders will be killed on sight.""" ?ELS58: EQUAL? HERE,SOUTHWAY-AND-PARK,MAIN-AND-WICKER \?ELS64 PRINTI """Rations for " MOD SDATE,3 ZERO? STACK \?ELS69 PRINTI "1's, 2's and 3's" JUMP ?CND67 ?ELS69: MOD SDATE,3 EQUAL? STACK,1 \?ELS73 PRINTI "4's, 5's and 6's" JUMP ?CND67 ?ELS73: PRINTI "7's, 8's, 9's and 10's" ?CND67: PRINTR " today.""" ?ELS64: EQUAL? HERE,SKYCAR-LOT-6,SKYCAR-LOT-7,SYMPHONY-ENTRANCE \?ELS83 PRINT SYMPHONY-CLOSED CRLF RTRUE ?ELS83: EQUAL? HERE,MUSEUM-ENTRANCE,RIVERSIDE-PARK \?ELS87 PRINTR """Closed for remodeling. Re-opening September 2058.""" ?ELS87: EQUAL? HERE,ZOO \?ELS91 PRINTR "The signs on the cages, crudely made, read ""EXTINCT.""" ?ELS91: PRINTR "The billboard advertises office space within the building." .FUNCT GLOBAL-WINDOW-F EQUAL? HERE,POST-OFFICE \?ELS5 EQUAL? PRSA,V?OPEN,V?EXAMINE,V?LOOK-INSIDE \?ELS10 EQUAL? SYEAR,2071 \?ELS10 LESS? STIME,900 /?THN13 GRTR? STIME,960 \?ELS10 ?THN13: PRINTR "The window is shut tight." ?ELS10: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTI "You see a typical back room of a " PRINTD POST-OFFICE-OBJECT PRINTR "." ?ELS5: EQUAL? PRSA,V?OPEN \?ELS24 PRINTR "This window cannot be opened." ?ELS24: EQUAL? PRSA,V?CLOSE \?ELS28 PRINTR "It is." ?ELS28: EQUAL? HERE,SOUTHWAY-AND-PARK,MAIN-AND-WICKER \?ELS32 EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE PRINTI "The window is " EQUAL? SYEAR,2041 \?ELS42 PRINTI "brightly lit and heaped with food" JUMP ?CND40 ?ELS42: EQUAL? SYEAR,2051 \?ELS46 PRINTI "filled with food" JUMP ?CND40 ?ELS46: EQUAL? SYEAR,2061 \?ELS50 PRINTI "dimly-lit, with sparse stacks of cans" JUMP ?CND40 ?ELS50: EQUAL? SYEAR,2071 \?ELS54 PRINTI "too grimy to see through. There is a sign in the window" JUMP ?CND40 ?ELS54: PRINTI "completely shattered" ?CND40: PRINTR "." ?ELS32: EQUAL? HERE,ELM-UNDERPASS \?ELS64 EQUAL? PRSA,V?EXAMINE \?ELS69 EQUAL? SYEAR,2071 \?ELS69 PRINTR "There is graffiti painted on the window." ?ELS69: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE PRINTR "You can see the interior of a Chinese restaurant." ?ELS64: EQUAL? HERE,RAILROAD-MUSEUM \?ELS79 EQUAL? PRSA,V?LOOK-INSIDE \?ELS79 PRINTI "You can see the old " PRINTD RAILROAD-YARD PRINTR "s." ?ELS79: EQUAL? HERE,BURNED-OUT-AREA \?ELS87 EQUAL? PRSA,V?LOOK-INSIDE \?ELS92 PRINTR "It's too dark inside the abandoned buildings to see anything." ?ELS92: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "Almost all the windows in sight are broken or boarded over." ?ELS87: EQUAL? HERE,WICKER-AND-PIER \?ELS100 EQUAL? SYEAR,2071 \?ELS105 EQUAL? PRSA,V?EXAMINE \?ELS110 PRINTR "The window is grimy." ?ELS110: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTR "The bookstore looks deserted." ?ELS105: EQUAL? PRSA,V?EXAMINE \?ELS123 PRINTR "The window is clean and shiny." ?ELS123: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTR "You see the interior of a small bookstore." ?ELS100: EQUAL? HERE,CAFETERIA \?ELS131 EQUAL? PRSA,V?LOOK-INSIDE \?ELS131 PRINTR "You can see a wide expanse of lush green grass." ?ELS131: EQUAL? HERE,MASTER-BEDROOM \?ELS137 EQUAL? PRSA,V?LOOK-INSIDE \?ELS137 PRINTR "The windows are set into the upper part of the wall; all you can see is a sunny sky." ?ELS137: EQUAL? HERE,SKYCAB \FALSE EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTR "Rockvil continues to glide by below you:" .FUNCT GLASS-F EQUAL? HERE,FOODVILLE-2 \?ELS5 EQUAL? SYEAR,2081 /?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,GLASS RSTACK ?ELS5: EQUAL? HERE,CONSTRUCTION-SITE-5 \?ELS9 EQUAL? SYEAR,2071 /?ELS9 CALL1 MOBY-VERB? ZERO? STACK \?ELS9 CALL2 CANT-SEE,GLASS RSTACK ?ELS9: EQUAL? HERE,MIDLAND-AND-RIVER \?ELS13 EQUAL? SYEAR,2051 \?ELS13 CALL1 MOBY-VERB? ZERO? STACK \?ELS13 CALL2 CANT-SEE,GLASS RSTACK ?ELS13: EQUAL? PRSA,V?EXAMINE \?ELS17 EQUAL? HERE,FOODVILLE-2,CONSTRUCTION-SITE-5 \?ELS17 PRINTR "The shattered glass covers most of the floor." ?ELS17: EQUAL? PRSA,V?TAKE \?ELS23 EQUAL? HERE,FOODVILLE-2,CONSTRUCTION-SITE-5 \?ELS23 PRINTR "The bits of glass are too sharp and tiny to carry." ?ELS23: EQUAL? HERE,UNIVERSITY-HEIGHTS,PARKVIEW-APARTMENTS,CHURCH-STREET-APARTMENTS \FALSE EQUAL? SYEAR,2071 \FALSE PRINTR "The glass on the doors is broken." .FUNCT SEAT-F EQUAL? PRSA,V?COUNT \?ELS5 EQUAL? HERE,LECTURE-HALL \?ELS5 PRINTR "Several hundred." ?ELS5: EQUAL? HERE,SKYCAB \FALSE EQUAL? PRSA,V?DISEMBARK \FALSE CALL1 V-STAND RSTACK .FUNCT CHAIR-F EQUAL? HERE,SIMONS,THE-COACHMAN,ROYS-PAGODA \?ELS5 CALL1 RESTAURANT-TABLE-F RSTACK ?ELS5: EQUAL? HERE,DINING-ROOM \?ELS7 CALL1 FURNITURE-REMOVED RSTACK ?ELS7: EQUAL? PRSA,V?BOARD,V?CLIMB-ON,V?SIT \FALSE PRINTR "You don't see any open chairs." .FUNCT GLOBAL-TABLE-F EQUAL? HERE,CLOSED-FACTORY \?ELS5 EQUAL? SYEAR,2041 \?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,GLOBAL-TABLE RSTACK ?ELS5: EQUAL? HERE,DINING-ROOM \?ELS9 CALL1 FURNITURE-REMOVED RSTACK ?ELS9: EQUAL? HERE,CAFETERIA \?ELS11 EQUAL? PRSA,V?EXAMINE \?ELS11 CALL1 CAFETERIA-TABLE-DESC CRLF RTRUE ?ELS11: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE EQUAL? PRSI,GLOBAL-TABLE \FALSE PRINTR "It's a bad idea to leave things around in a place like this -- they're liable to disappear." .FUNCT PARK-OBJECT-F EQUAL? SYEAR,2071 \?ELS5 EQUAL? HERE,ZOO,HUANG-HALL,HALLEY-AND-PARK /?THN8 EQUAL? HERE,AQUARIUM,HALLEY-AND-UNIVERSITY /?THN8 EQUAL? HERE,PARK-ENTRANCE,SKYCAR-LOT-4 \?ELS5 ?THN8: CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,PARK-OBJECT RSTACK ?ELS5: EQUAL? SYEAR,2061,2071 \?ELS11 EQUAL? HERE,ELM-AND-PARK,MAIN-AND-CHURCH,CHURCH-STREET-PARK /?THN14 EQUAL? HERE,ELM-AND-KENNEDY,HEIMAN-VILLAGE,MAIN-AND-KENNEDY \?ELS11 ?THN14: CALL1 MOBY-VERB? ZERO? STACK \?ELS11 CALL2 CANT-SEE,PARK-OBJECT RSTACK ?ELS11: EQUAL? HERE,SKYCAB \?ELS17 EQUAL? PRSA,V?EXAMINE \?ELS22 PRINTR "You can see a festival of some sort in Halley Park. The gold and crimson tents of the festival form a multicolored patchwork against the green background of the city's oldest park." ?ELS22: CALL2 MILE-AWAY,PARK-OBJECT RSTACK ?ELS17: EQUAL? PRSA,V?EXAMINE \?ELS28 EQUAL? HERE,HALLEY-PARK-EAST,HALLEY-PARK-WEST,CHURCH-STREET-PARK /?THN34 EQUAL? HERE,KENNEDY-PARK,RIVERSIDE-PARK \?ELS33 ?THN34: CALL1 V-LOOK RSTACK ?ELS33: CALL1 FROM-HERE RSTACK ?ELS28: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS39 EQUAL? HERE,HALLEY-PARK-EAST,HALLEY-PARK-WEST,KENNEDY-PARK /?THN45 EQUAL? HERE,RIVERSIDE-PARK,CHURCH-STREET-PARK \?ELS44 ?THN45: PRINT LOOK-AROUND CRLF RTRUE ?ELS44: EQUAL? HERE,ZOO,SYMPHONY-HALL \?ELS50 CALL2 DO-WALK,P?SE RSTACK ?ELS50: EQUAL? HERE,HALLEY-AND-PARK,ELM-AND-KENNEDY \?ELS52 CALL2 DO-WALK,P?NW RSTACK ?ELS52: EQUAL? HERE,PARK-ENTRANCE \?ELS54 CALL2 DO-WALK,P?WEST RSTACK ?ELS54: EQUAL? HERE,ELM-AND-PARK \?ELS56 CALL2 DO-WALK,P?NE RSTACK ?ELS56: EQUAL? HERE,MAIN-AND-KENNEDY \?ELS58 CALL2 DO-WALK,P?SW RSTACK ?ELS58: EQUAL? HERE,AQUARIUM,MAIN-AND-CHURCH,SKYCAR-LOT-4 \?ELS60 CALL2 DO-WALK,P?SOUTH RSTACK ?ELS60: EQUAL? HERE,HALLEY-AND-UNIVERSITY,HUANG-HALL \?ELS62 CALL2 DO-WALK,P?NORTH RSTACK ?ELS62: CALL GLOBAL-IN?,PRSO,HERE ZERO? STACK /FALSE CALL2 DO-WALK,P?EAST RSTACK ?ELS39: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \FALSE EQUAL? HERE,HALLEY-PARK-EAST,HALLEY-PARK-WEST,KENNEDY-PARK /?THN72 EQUAL? HERE,RIVERSIDE-PARK,CHURCH-STREET-PARK \?ELS71 ?THN72: CALL1 V-WALK-AROUND RSTACK ?ELS71: PRINT LOOK-AROUND CRLF RTRUE .FUNCT MUSEUM-OBJECT-F EQUAL? HERE,SKYCAB \?ELS5 CALL CHANGE-OBJECT,MUSEUM-OBJECT,BSF-BASE RSTACK ?ELS5: EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS7 EQUAL? HERE,RIVERSIDE-PARK,HALLEY-AND-PARK \?ELS12 CALL2 DO-WALK,P?SW RSTACK ?ELS12: EQUAL? HERE,MUSEUM-ENTRANCE \?ELS14 CALL2 DO-WALK,P?SOUTH RSTACK ?ELS14: CALL GLOBAL-IN?,PRSO,HERE ZERO? STACK /FALSE PRINT LOOK-AROUND CRLF RTRUE ?ELS7: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS20 EQUAL? HERE,HALLEY-MUSEUM \?ELS25 CALL2 DO-WALK,P?NE RSTACK ?ELS25: EQUAL? HERE,RAILROAD-MUSEUM \?ELS27 CALL2 DO-WALK,P?NORTH RSTACK ?ELS27: PRINT LOOK-AROUND CRLF RTRUE ?ELS20: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,HALLEY-MUSEUM,RAILROAD-MUSEUM \?ELS38 CALL1 V-LOOK RSTACK ?ELS38: EQUAL? HERE,HALLEY-AND-PARK \?ELS40 PRINTI "The building " EQUAL? SYEAR,2041,2051 \?ELS45 PRINTI "houses" JUMP ?CND43 ?ELS45: PRINTI "once housed" ?CND43: PRINTI " the famous " PRINTD HALLEY-MUSEUM PRINTR "." ?ELS40: EQUAL? HERE,MUSEUM-ENTRANCE \FALSE PRINTI "The " PRINTD RAILROAD-MUSEUM PRINTI " is housed in a small building" EQUAL? SYEAR,2051,2061 \?CND62 PRINTI ", now closed" ?CND62: PRINTR "." .FUNCT FIELD-F EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5 EQUAL? HERE,RIVER-AND-PARK \?ELS10 CALL2 DO-WALK,P?SE RSTACK ?ELS10: EQUAL? HERE,RIVER-AND-KENNEDY \?ELS12 CALL2 DO-WALK,P?SW RSTACK ?ELS12: EQUAL? HERE,ROCKVIL-STADIUM \?ELS14 PRINTR "Spectators are not permitted on the field." ?ELS14: CALL GLOBAL-IN?,FIELD,HERE ZERO? STACK /FALSE PRINT LOOK-AROUND CRLF RTRUE ?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS22 EQUAL? HERE,ATHLETIC-FIELD,ROCKVIL-STADIUM \?ELS27 CALL1 V-WALK-AROUND RSTACK ?ELS27: PRINT LOOK-AROUND CRLF RTRUE ?ELS22: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,ROCKVIL-STADIUM,ATHLETIC-FIELD \FALSE CALL1 V-LOOK RSTACK .FUNCT FENCE-F EQUAL? HERE,SOUTHWAY-AND-KENNEDY,SOUTHWAY-AND-RIVER \?ELS5 EQUAL? SYEAR,2041 /?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,FENCE RSTACK ?ELS5: EQUAL? HERE,BEND,CONSTRUCTION-SITE-2 \?ELS9 EQUAL? SYEAR,2041 /?ELS9 CALL1 MOBY-VERB? ZERO? STACK \?ELS9 CALL2 CANT-SEE,FENCE RSTACK ?ELS9: EQUAL? HERE,WAREHOUSE-1 \?ELS13 EQUAL? SYEAR,2041,2051 \?ELS13 CALL1 MOBY-VERB? ZERO? STACK \?ELS13 CALL2 CANT-SEE,FENCE RSTACK ?ELS13: EQUAL? HERE,CHURCH-STREET-PARK \?ELS17 EQUAL? SYEAR,2061,2071 \?ELS17 CALL1 MOBY-VERB? ZERO? STACK \?ELS17 CALL2 CANT-SEE,FENCE RSTACK ?ELS17: EQUAL? PRSA,V?CLIMB-OVER,V?CLIMB-UP,V?CLIMB-FOO /?THN22 EQUAL? PRSA,V?LEAP \FALSE ?THN22: EQUAL? HERE,ROOFTOP \?ELS28 CALL2 DO-WALK,P?NORTH RSTACK ?ELS28: PRINTR "The fence is unclimbable." .FUNCT GATE-F EQUAL? HERE,KENNEDY-PARK,MAIN-AND-KENNEDY /?THN8 EQUAL? HERE,ELM-AND-KENNEDY,ELM-AND-PARK \?ELS5 ?THN8: EQUAL? SYEAR,2061,2071 \?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,GATE RSTACK ?ELS5: EQUAL? HERE,HALLEY-AND-PARK,ZOO,SKYCAR-LOT-4 /?THN14 EQUAL? HERE,PARK-ENTRANCE,HALLEY-AND-UNIVERSITY \?ELS11 ?THN14: EQUAL? SYEAR,2071 /?ELS11 CALL1 MOBY-VERB? ZERO? STACK \?ELS11 CALL2 CANT-SEE,GATE RSTACK ?ELS11: EQUAL? PRSA,V?OPEN \?ELS17 EQUAL? HERE,SKYBUS-TERMINAL \?ELS22 PRINTR "The boarding gates can be opened only by the skybus system employees." ?ELS22: EQUAL? HERE,BASE-GATE \?ELS26 PRINTR "Only the guard is allowed to open the gate." ?ELS26: EQUAL? HERE,PARK-ENTRANCE,HALLEY-AND-UNIVERSITY /?THN31 EQUAL? HERE,HALLEY-AND-PARK,ZOO,SKYCAR-LOT-4 \?ELS30 ?THN31: PRINTR "The gates are locked." ?ELS30: PRINTR "The gates are open!" ?ELS17: EQUAL? PRSA,V?CLOSE \?ELS40 EQUAL? HERE,PARK-ENTRANCE,HALLEY-AND-UNIVERSITY /?THN46 EQUAL? HERE,SKYBUS-TERMINAL,HALLEY-AND-PARK /?THN46 EQUAL? HERE,ZOO,BASE-GATE,SKYCAR-LOT-4 \?ELS45 ?THN46: PRINTR "The gates are closed!" ?ELS45: PRINTR "The gates can't be closed." ?ELS40: EQUAL? PRSA,V?THROUGH \FALSE EQUAL? HERE,KENNEDY-PARK,CEMETERY \?ELS60 CALL1 V-WALK-AROUND RSTACK ?ELS60: EQUAL? HERE,MAIN-AND-WICKER,HALLEY-AND-UNIVERSITY \?ELS62 CALL2 DO-WALK,P?NORTH RSTACK ?ELS62: EQUAL? HERE,MIDLAND-AND-CHURCH,ZOO \?ELS64 CALL2 DO-WALK,P?SE RSTACK ?ELS64: EQUAL? HERE,CHURCH-ENTRANCE \?ELS66 CALL2 DO-WALK,P?EAST RSTACK ?ELS66: EQUAL? HERE,MAIN-AND-KENNEDY \?ELS68 CALL2 DO-WALK,P?SW RSTACK ?ELS68: EQUAL? HERE,ELM-AND-KENNEDY,BASE-GATE,SKYBUS-TERMINAL \?ELS70 CALL2 DO-WALK,P?NW RSTACK ?ELS70: EQUAL? HERE,PARK-ENTRANCE \?ELS72 CALL2 DO-WALK,P?WEST RSTACK ?ELS72: EQUAL? HERE,SKYCAR-LOT-4 \?ELS74 CALL2 DO-WALK,P?SOUTH RSTACK ?ELS74: CALL2 DO-WALK,P?NE RSTACK .FUNCT COUNTER-F EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE EQUAL? HERE,KITCHEN \?ELS10 PRINTR "There's no room on the counter. Maybe you should try the table." ?ELS10: EQUAL? PRSI,COUNTER \?ELS14 CALL PERFORM,V?DROP,BEER RTRUE ?ELS14: EQUAL? HERE,EPILOGUE-KITCHEN /FALSE CALL PERFORM,V?PUT,PRSO,GLOBAL-TABLE RTRUE .FUNCT SHELVES-F EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,BOOKSTORE \?ELS10 PRINTR "The shelves are closely-placed and crammed with used books." ?ELS10: EQUAL? HERE,FOODVILLE-1,FOODVILLE-2 \FALSE PRINTI "The shelves are " EQUAL? SYEAR,2041 \?ELS19 PRINTI "heaped with food" JUMP ?CND17 ?ELS19: EQUAL? SYEAR,2051 \?ELS23 PRINTI "adequately stocked with food" JUMP ?CND17 ?ELS23: EQUAL? SYEAR,2061 \?ELS27 PRINTI "sparsely-filled with food" JUMP ?CND17 ?ELS27: PRINTI "bare" ?CND17: PRINTR "." .FUNCT FACTORY-OBJECT-F EQUAL? HERE,CLOSED-FACTORY \?ELS5 EQUAL? SYEAR,2041 /?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,FACTORY-OBJECT RSTACK ?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9 EQUAL? HERE,WICKER-AND-RIVER \?ELS14 EQUAL? SYEAR,2041 \?ELS19 CALL1 V-WALK-AROUND RSTACK ?ELS19: CALL2 DO-WALK,P?EAST RSTACK ?ELS14: EQUAL? HERE,POWER-STATION-ENTRANCE \?ELS23 CALL2 DO-WALK,P?NE RSTACK ?ELS23: EQUAL? HERE,FACTORY-ENTRANCE \?ELS25 CALL2 DO-WALK,P?SE RSTACK ?ELS25: EQUAL? HERE,INDUSTRIAL-PARK-DRIVE \?ELS27 PRINTR "Not surprisingly, the doors are locked." ?ELS27: CALL GLOBAL-IN?,PRSO,HERE ZERO? STACK /FALSE PRINT LOOK-AROUND CRLF RTRUE ?ELS9: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS35 EQUAL? HERE,CLOSED-FACTORY \?ELS40 CALL2 DO-WALK,P?SOUTH RSTACK ?ELS40: EQUAL? HERE,SKYCAR-FACTORY \?ELS42 CALL1 V-WALK-AROUND RSTACK ?ELS42: PRINT LOOK-AROUND CRLF RTRUE ?ELS35: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,SKYCAR-FACTORY,CLOSED-FACTORY \?ELS53 CALL1 V-LOOK RSTACK ?ELS53: EQUAL? HERE,INDUSTRIAL-PARK-DRIVE /FALSE CALL1 FROM-HERE RSTACK .FUNCT STORE-OBJECT-F EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS5 PRINT LOOK-AROUND CRLF RTRUE ?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \FALSE PRINTR "If you want to buy something, just say so." .FUNCT HOTEL-OBJECT-F EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS5 EQUAL? HERE,CENTRE-AND-KENNEDY \?ELS10 CALL2 DO-WALK,P?EAST RSTACK ?ELS10: EQUAL? HERE,AIRPORTWAY-AND-RIVER \?ELS12 CALL2 DO-WALK,P?SE RSTACK ?ELS12: EQUAL? HERE,SKYCAR-LOT-7 \?ELS14 CALL2 DO-WALK,P?WEST RSTACK ?ELS14: CALL GLOBAL-IN?,PRSO,HERE ZERO? STACK /FALSE PRINT LOOK-AROUND CRLF RTRUE ?ELS5: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS20 EQUAL? HERE,VELDRAN-HOTEL \?ELS25 CALL2 DO-WALK,P?NE RSTACK ?ELS25: EQUAL? HERE,COLONIAL-HOTEL \?ELS27 CALL1 V-WALK-AROUND RSTACK ?ELS27: PRINT LOOK-AROUND CRLF RTRUE ?ELS20: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,VELDRAN-HOTEL,COLONIAL-HOTEL \?ELS38 CALL1 V-LOOK RSTACK ?ELS38: EQUAL? HERE,CENTRE-AND-KENNEDY \?ELS40 PRINTR "The Veldran is a high-rise, luxury hotel." ?ELS40: PRINTR "The Colonial is a fairly old but opulent hotel." .FUNCT CHURCH-OBJECT-F EQUAL? HERE,TRAIN-STATION,BODANSKI-SQUARE,MIDLAND-AND-RIVER \?ELS5 EQUAL? SYEAR,2041 \?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,CHURCH-OBJECT RSTACK ?ELS5: EQUAL? HERE,AQUARIUM-AND-RIVER,CHURCH-ENTRANCE,FIRST-METHODIST-CHURCH /?THN12 EQUAL? HERE,CHURCH-ENTRANCE,SKYCAR-LOT-5 \?ELS9 ?THN12: EQUAL? SYEAR,2071 \?ELS9 CALL1 MOBY-VERB? ZERO? STACK \?ELS9 CALL2 CANT-SEE,CHURCH-OBJECT RSTACK ?ELS9: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS15 EQUAL? HERE,BODANSKI-SQUARE \?ELS20 CALL2 DO-WALK,P?SE RSTACK ?ELS20: EQUAL? HERE,MIDLAND-AND-RIVER \?ELS22 CALL2 DO-WALK,P?NE RSTACK ?ELS22: EQUAL? HERE,CHURCH-ENTRANCE \?ELS24 CALL2 DO-WALK,P?WEST RSTACK ?ELS24: EQUAL? HERE,SKYCAR-LOT-5 \?ELS26 CALL2 DO-WALK,P?NORTH RSTACK ?ELS26: EQUAL? HERE,AQUARIUM-AND-RIVER \?ELS28 CALL2 DO-WALK,P?SW RSTACK ?ELS28: CALL GLOBAL-IN?,PRSO,HERE ZERO? STACK /FALSE PRINT LOOK-AROUND CRLF RTRUE ?ELS15: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS34 EQUAL? HERE,ST-MICHAELS \?ELS39 CALL2 DO-WALK,P?EAST RSTACK ?ELS39: EQUAL? HERE,TRAIN-STATION,FIRST-METHODIST-CHURCH \?ELS41 CALL1 V-WALK-AROUND RSTACK ?ELS41: PRINT LOOK-AROUND CRLF RTRUE ?ELS34: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,TRAIN-STATION,ST-MICHAELS,FIRST-METHODIST-CHURCH \?ELS52 CALL1 V-LOOK RSTACK ?ELS52: EQUAL? HERE,CHURCH-ENTRANCE \?ELS54 PRINTI "It is" CALL1 ST-MICHAELS-DESC CRLF RTRUE ?ELS54: EQUAL? HERE,BODANSKI-SQUARE,MIDLAND-AND-RIVER \?ELS58 PRINTR "The building is a house of worship for the Church of God's Word." ?ELS58: PRINTR "The neoclassical building is a Methodist church." .FUNCT SCHOOL-OBJECT-F EQUAL? HERE,HEIMAN-VILLAGE \?ELS5 PRINTR "The schools are on the upper floors, inaccessible to you." ?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS9 EQUAL? HERE,AQUARIUM-AND-KENNEDY,RIVER-AND-KENNEDY \?ELS14 CALL2 DO-WALK,P?SE RSTACK ?ELS14: EQUAL? HERE,AIRPORTWAY-AND-RIVER \?ELS16 CALL2 DO-WALK,P?WEST 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,ROCKVIL-HIGH \?ELS27 CALL1 V-WALK-AROUND RSTACK ?ELS27: EQUAL? HERE,DENTAL-SCHOOL \?ELS29 CALL2 DO-WALK,P?NW RSTACK ?ELS29: PRINT LOOK-AROUND CRLF RTRUE ?ELS22: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,DENTAL-SCHOOL,ROCKVIL-HIGH \?ELS40 CALL1 V-LOOK RSTACK ?ELS40: EQUAL? HERE,AQUARIUM-AND-KENNEDY \?ELS42 PRINTI "It's the " PRINTD DENTAL-SCHOOL PRINTR "." ?ELS42: PRINTI "It's a " EQUAL? SYEAR,2041,2051 \?ELS53 PRINTI "public" JUMP ?CND51 ?ELS53: PRINTI "church-owned" ?CND51: PRINTR " high school." .FUNCT CONSTRUCTION-OBJECT-F EQUAL? HERE,KENNEDY-PARK,MAIN-AND-KENNEDY /?THN8 EQUAL? HERE,ELM-AND-KENNEDY,ELM-AND-PARK \?ELS5 ?THN8: EQUAL? SYEAR,2061 /?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,CONSTRUCTION-OBJECT RSTACK ?ELS5: EQUAL? HERE,CONSTRUCTION-SITE-1,MAIN-AND-CHURCH,CONSTRUCTION-SITE-2 /?THN14 EQUAL? HERE,CONSTRUCTION-SITE-3,CHURCH-ENTRANCE,CONSTRUCTION-SITE-4 /?THN14 EQUAL? HERE,CONSTRUCTION-SITE-5,MIDLAND-AND-CHURCH,SOUTHWAY-AND-KENNEDY /?THN14 EQUAL? HERE,SOUTHWAY-AND-RIVER,BEND \?ELS11 ?THN14: EQUAL? SYEAR,2041 /?ELS11 CALL1 MOBY-VERB? ZERO? STACK \?ELS11 CALL2 CANT-SEE,CONSTRUCTION-OBJECT RSTACK ?ELS11: EQUAL? HERE,CEMETERY \?ELS17 EQUAL? SYEAR,2071 /?ELS17 CALL1 MOBY-VERB? ZERO? STACK \?ELS17 CALL2 CANT-SEE,CONSTRUCTION-OBJECT RSTACK ?ELS17: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS21 EQUAL? HERE,BEND,ELM-AND-PARK \?ELS26 CALL2 DO-WALK,P?NE RSTACK ?ELS26: EQUAL? HERE,ELM-AND-KENNEDY,SOUTHWAY-AND-KENNEDY \?ELS28 CALL2 DO-WALK,P?NW RSTACK ?ELS28: EQUAL? HERE,MAIN-AND-KENNEDY,MIDLAND-AND-CHURCH \?ELS30 CALL2 DO-WALK,P?SW RSTACK ?ELS30: EQUAL? HERE,SOUTHWAY-AND-RIVER \?ELS32 CALL2 DO-WALK,P?EAST RSTACK ?ELS32: EQUAL? HERE,CHURCH-ENTRANCE,MAIN-AND-CHURCH \?ELS34 CALL1 V-WALK-AROUND RSTACK ?ELS34: CALL GLOBAL-IN?,PRSO,HERE ZERO? STACK /FALSE PRINT LOOK-AROUND CRLF RTRUE ?ELS21: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS40 EQUAL? HERE,CONSTRUCTION-SITE-1 \?ELS45 CALL2 DO-WALK,P?SE RSTACK ?ELS45: EQUAL? HERE,CONSTRUCTION-SITE-3 \?ELS47 CALL2 DO-WALK,P?NE RSTACK ?ELS47: EQUAL? HERE,KENNEDY-PARK,CONSTRUCTION-SITE-4,CONSTRUCTION-SITE-2 /?THN50 EQUAL? HERE,CEMETERY,CONSTRUCTION-SITE-5 \?ELS49 ?THN50: CALL1 V-WALK-AROUND RSTACK ?ELS49: PRINT LOOK-AROUND CRLF RTRUE ?ELS40: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,CONSTRUCTION-SITE-1,KENNEDY-PARK,CONSTRUCTION-SITE-2 /?THN60 EQUAL? HERE,CONSTRUCTION-SITE-3,CEMETERY,CONSTRUCTION-SITE-4 /?THN60 EQUAL? HERE,CONSTRUCTION-SITE-5 \FALSE ?THN60: CALL1 V-LOOK RSTACK .FUNCT VACANT-LOT-F EQUAL? SYEAR,2041,2051 \?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,VACANT-LOT RSTACK ?ELS5: EQUAL? SYEAR,2061 \?ELS9 EQUAL? HERE,WAREHOUSE-1,WICKER-AND-RIVER /?ELS9 CALL1 MOBY-VERB? ZERO? STACK \?ELS9 CALL2 CANT-SEE,VACANT-LOT RSTACK ?ELS9: EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS13 EQUAL? HERE,AQUARIUM-AND-RIVER \?ELS18 CALL2 DO-WALK,P?SW RSTACK ?ELS18: EQUAL? HERE,SKYCAR-LOT-5 \?ELS20 CALL2 DO-WALK,P?NORTH RSTACK ?ELS20: EQUAL? HERE,WICKER-AND-RIVER,CHURCH-ENTRANCE \?ELS22 CALL2 DO-WALK,P?WEST RSTACK ?ELS22: CALL GLOBAL-IN?,PRSO,HERE ZERO? STACK /FALSE PRINT LOOK-AROUND CRLF RTRUE ?ELS13: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \FALSE EQUAL? HERE,WAREHOUSE-1,ST-MICHAELS \?ELS33 CALL2 DO-WALK,P?EAST RSTACK ?ELS33: EQUAL? HERE,FIRST-METHODIST-CHURCH \?ELS35 CALL1 V-WALK-AROUND RSTACK ?ELS35: PRINT LOOK-AROUND CRLF RTRUE .FUNCT TUNNEL-F EQUAL? HERE,CHURCH-STREET-PARK \?ELS5 EQUAL? SYEAR,2041,2051 \?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,TUNNEL RSTACK ?ELS5: EQUAL? PRSA,V?THROUGH \?ELS9 EQUAL? HERE,HALLEY-AND-PARK \?ELS14 CALL2 DO-WALK,P?NORTH RSTACK ?ELS14: EQUAL? HERE,AQUARIUM-AND-PARK \?ELS16 CALL2 DO-WALK,P?SOUTH RSTACK ?ELS16: CALL2 DO-WALK,P?WEST RSTACK ?ELS9: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTR "Park Street descends into the gloom of the tunnel." .FUNCT EXHIBITS-F EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,AQUARIUM \?ELS10 PRINTI "The exhibits of marine life are " EQUAL? SYEAR,2041 \?ELS15 PRINTI "well-maintained" JUMP ?CND13 ?ELS15: CALL2 SCORE,71 PRINTI "poorly-maintained" ?CND13: PRINTR "." ?ELS10: EQUAL? HERE,RAILROAD-MUSEUM \?ELS25 PRINTR "The exhibits of railroad history are interesting and well done." ?ELS25: PRINTR "The exhibits are visually interesting and well-documented." .FUNCT SKYCAR-F EQUAL? PRSA,V?WAIT-FOR \?ELS5 FSET? HERE,TUBEBIT \?ELS5 CALL PERFORM,V?WAIT-FOR,RED-TUBECAR RTRUE ?ELS5: FSET? HERE,OUTSIDEBIT /?ELS9 EQUAL? HERE,SERVICE-STATION /?ELS9 CALL1 MOBY-VERB? ZERO? STACK \?ELS9 CALL2 CANT-SEE,SKYCAR RSTACK ?ELS9: EQUAL? PRSA,V?BOARD,V?THROUGH \?ELS13 PRINTR "You'd be arrested for carbreaking!" ?ELS13: EQUAL? PRSA,V?COUNT \?ELS17 EQUAL? HERE,SKYCAR-FACTORY \?ELS17 PRINTI "There are too many cars to count, but you can easily see that this huge parking lot is " EQUAL? SYEAR,2041 \?ELS24 PRINTI "nearly full" JUMP ?CND22 ?ELS24: EQUAL? SYEAR,2051 \?ELS28 CALL2 SCORE,109 PRINTI "well more than half full" JUMP ?CND22 ?ELS28: EQUAL? SYEAR,2061 \?ELS32 CALL2 SCORE,110 PRINTI "less than half full" JUMP ?CND22 ?ELS32: CALL2 SCORE,111 PRINTI "nearly empty" ?CND22: PRINTR "." ?ELS17: EQUAL? PRSA,V?BUY \FALSE CALL2 CANT-BUY,SKYCAR RSTACK .FUNCT CARLOT-F,X=0 EQUAL? HERE,SKYCAR-LOT-1,SKYCAR-LOT-2,SKYCAR-LOT-3 /?THN4 EQUAL? HERE,SKYCAR-LOT-4,SKYCAR-LOT-5,SKYCAR-LOT-6 /?THN4 EQUAL? HERE,SKYCAR-LOT-7,SKYCAR-FACTORY \?CND1 ?THN4: SET 'X,TRUE-VALUE ?CND1: EQUAL? PRSA,V?THROUGH,V?WALK-TO \?ELS10 ZERO? X /?ELS15 PRINT LOOK-AROUND CRLF RTRUE ?ELS15: CALL1 V-WALK-AROUND RSTACK ?ELS10: EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?ELS22 ZERO? X /?ELS27 CALL1 V-WALK-AROUND RSTACK ?ELS27: PRINT LOOK-AROUND CRLF RTRUE ?ELS22: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS34 EQUAL? HERE,SKYCAR-FACTORY \?ELS34 CALL PERFORM,V?COUNT,SKYCAR RTRUE ?ELS34: ZERO? X /FALSE EQUAL? PRSA,V?EXAMINE \FALSE CALL1 V-LOOK RSTACK .FUNCT CHILDREN-F EQUAL? HERE,LIVING-ROOM \?ELS5 IN? MITCHELL,HERE \?ELS10 CALL CHANGE-OBJECT,CHILDREN,MITCHELL RSTACK ?ELS10: EQUAL? HERE,LIVING-ROOM \?ELS12 EQUAL? SYEAR,2071 \?ELS12 CALL CHANGE-OBJECT,CHILDREN,PAINTING RSTACK ?ELS12: CALL1 MOBY-VERB? ZERO? STACK \FALSE CALL2 CANT-SEE,CHILDREN RSTACK ?ELS5: EQUAL? PRSA,V?TELL \?ELS18 PRINTI "They didn't seem to hear you." CRLF CALL1 CLEAR-BUF RSTACK ?ELS18: EQUAL? HERE,ZOO \?ELS22 EQUAL? SYEAR,2061 /?ELS27 CALL1 MOBY-VERB? ZERO? STACK \?ELS27 CALL2 CANT-SEE,CHILDREN RSTACK ?ELS27: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The children are poking a small, whimpering animal." ?ELS22: EQUAL? SYEAR,2061,2071 /?ELS40 CALL1 MOBY-VERB? ZERO? STACK \?ELS40 CALL2 CANT-SEE,CHILDREN RSTACK ?ELS40: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The children are all uniformed and are wearing pendants with the symbol of the Church." .FUNCT WOMAN-F EQUAL? HERE,LIVING-ROOM \?ELS5 EQUAL? SYEAR,2061 \?ELS10 CALL CHANGE-OBJECT,WOMAN,PAINTING RSTACK ?ELS10: CALL1 MOBY-VERB? ZERO? STACK \FALSE CALL2 CANT-SEE,WOMAN RSTACK ?ELS5: EQUAL? SYEAR,2041 \?ELS14 EQUAL? PRSA,V?TELL \?ELS19 PRINTI "She can't hear you from here." CRLF CALL1 CLEAR-BUF RSTACK ?ELS19: EQUAL? PRSA,V?TELL-ABOUT,V?ASK-ABOUT \?ELS23 EQUAL? PRSO,WOMAN \?ELS23 CALL PERFORM,V?TELL,WOMAN RTRUE ?ELS23: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The woman is dressed in prison garb." ?ELS14: CALL1 MOBY-VERB? ZERO? STACK \FALSE CALL2 CANT-SEE,WOMAN RSTACK .FUNCT WATER-F EQUAL? HERE,KENNEDY-PARK,HALLEY-PARK-WEST \?ELS5 EQUAL? SYEAR,2061,2071 \?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,WATER RSTACK ?ELS5: EQUAL? PRSA,V?BUY \?ELS9 EQUAL? HERE,SIMONS,THE-COACHMAN,ROYS-PAGODA \?ELS14 PRINTR "The waiter brings a glass of cold water. After drinking it, the glass is cleared away." ?ELS14: EQUAL? HERE,BAR,EZZIS-BAR \?ELS18 PRINTR "The bartender snorts. ""You want water, find a lake!""" ?ELS18: PRINTR "You can't order water here!" ?ELS9: EQUAL? PRSA,V?DRINK \?ELS26 EQUAL? HERE,KITCHEN,BATHROOM \?ELS31 PRINTI "You drink some water. It" EQUAL? SYEAR,2041,2051 \?ELS38 PRINTR "'s quite refreshing." ?ELS38: CALL2 SCORE,1 PRINTR " tastes slightly rusty." ?ELS31: PRINTR "You can't drink the water here!" ?ELS26: EQUAL? HERE,KENNEDY-PARK \?ELS50 CALL CHANGE-OBJECT,WATER,WATERPOOL RSTACK ?ELS50: EQUAL? HERE,HALLEY-PARK-WEST \?ELS52 CALL CHANGE-OBJECT,WATER,DUCK-POND RSTACK ?ELS52: CALL GLOBAL-IN?,RESERVOIR,HERE ZERO? STACK /?ELS54 CALL CHANGE-OBJECT,WATER,RESERVOIR RSTACK ?ELS54: EQUAL? HERE,AQUARIUM \?ELS56 CALL CHANGE-OBJECT,WATER,TANK RSTACK ?ELS56: CALL GLOBAL-IN?,RIVER,HERE ZERO? STACK /?ELS58 CALL CHANGE-OBJECT,WATER,RIVER RSTACK ?ELS58: EQUAL? PRSA,V?OFF \?ELS60 EQUAL? HERE,BATHROOM \?ELS69 EQUAL? JILL-COUNTER,11 /?THN66 ?ELS69: EQUAL? HERE,KITCHEN \?ELS65 EQUAL? JILL-COUNTER,7 \?ELS65 ?THN66: PRINTR "Jill's using the sink!" ?ELS65: PRINTR "It is." ?ELS60: EQUAL? PRSA,V?ON \FALSE EQUAL? HERE,BATHROOM \?ELS86 EQUAL? JILL-COUNTER,11 /?THN83 ?ELS86: EQUAL? HERE,KITCHEN \?CND80 EQUAL? JILL-COUNTER,7 \?CND80 ?THN83: PRINTR "It is." ?CND80: PRINTI "You turn on the water for a few seconds" EQUAL? SYEAR,2071 \?CND93 CALL2 SCORE,2 PRINTI ". As usual, the hot water isn't working today" ?CND93: PRINTR "." .FUNCT RESERVOIR-F EQUAL? PRSA,V?SWIM,V?THROUGH,V?BOARD \?ELS5 PRINTR "An unclimbable fence surrounds the reservoir." ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The tall fence prevents you from approaching the reservoir. All you can see is a wide expanse of calm water." .FUNCT RIVER-ENTER-F CALL PERFORM,V?BOARD,RIVER RFALSE .FUNCT RIVER-F EQUAL? HERE,PATIO,SKYCAB \?ELS5 EQUAL? PRSA,V?EXAMINE \?ELS10 EQUAL? HERE,PATIO \?ELS15 PRINTI "T" PRINT RIVER-DESC CRLF RTRUE ?ELS15: PRINTI "The river is dotted with sailboats, and a tourboat is just pulling away from the pier for a daytrip upriver, through Montana to the Devil's Tower region of Wyoming. " CALL PERFORM,V?EXAMINE,CULTURAL-CENTER RTRUE ?ELS10: CALL2 MILE-AWAY,RIVER RSTACK ?ELS5: EQUAL? PRSA,V?LEAP,V?THROUGH,V?BOARD /?THN26 EQUAL? PRSA,V?SWIM \?ELS25 ?THN26: PRINTI "Swimming in the river is inadvisable. " CALL PERFORM,V?EXAMINE,RIVER RTRUE ?ELS25: EQUAL? PRSA,V?EXAMINE \FALSE PRINTI "The current is strong, and the water is " EQUAL? SYEAR,2041 \?ELS36 PRINTI "a bit unhealthy" JUMP ?CND34 ?ELS36: EQUAL? SYEAR,2051 \?ELS40 CALL2 SCORE,132 PRINTI "quite unhealthy" JUMP ?CND34 ?ELS40: EQUAL? SYEAR,2061 \?ELS44 CALL2 SCORE,133 PRINTI "very polluted" JUMP ?CND34 ?ELS44: CALL2 SCORE,134 PRINTI "extremely poisoned and polluted" ?CND34: PRINTR "." .FUNCT IN-RESTAURANT? EQUAL? HERE,SIMONS,THE-COACHMAN /TRUE EQUAL? HERE,ROYS-PAGODA,BURGER-MEISTER \FALSE RTRUE .FUNCT RESTAURANT-OBJECT-F EQUAL? HERE,BURGER-MEISTER,AQUARIUM-AND-PARK \?ELS5 EQUAL? SYEAR,2071 \?ELS5 CALL1 MOBY-VERB? ZERO? STACK \?ELS5 CALL2 CANT-SEE,RESTAURANT-OBJECT RSTACK ?ELS5: EQUAL? PRSA,V?WALK-TO,V?THROUGH \?ELS9 CALL1 IN-RESTAURANT? ZERO? STACK /?ELS14 PRINT LOOK-AROUND CRLF RTRUE ?ELS14: EQUAL? HERE,MAIN-AND-WICKER \?ELS18 CALL2 DO-WALK,P?SE RSTACK ?ELS18: EQUAL? HERE,AQUARIUM-AND-PARK,BODANSKI-SQUARE \?ELS20 CALL2 DO-WALK,P?NE RSTACK ?ELS20: CALL GLOBAL-IN?,PRSO,HERE ZERO? STACK /FALSE CALL2 DO-WALK,P?SOUTH RSTACK ?ELS9: EQUAL? PRSA,V?LEAVE,V?DISEMBARK \?ELS24 EQUAL? HERE,ELM-UNDERPASS,MAIN-AND-WICKER /?THN30 EQUAL? HERE,BODANSKI-SQUARE,AQUARIUM-AND-PARK \?ELS29 ?THN30: PRINT LOOK-AROUND CRLF RTRUE ?ELS29: CALL2 DO-WALK,P?OUT RSTACK ?ELS24: EQUAL? PRSA,V?EXAMINE \FALSE CALL1 IN-RESTAURANT? ZERO? STACK /?ELS42 CALL1 V-LOOK RSTACK ?ELS42: EQUAL? HERE,ELM-UNDERPASS \?ELS44 PRINTD ROYS-PAGODA PRINTR " is a small Chinese restaurant." ?ELS44: EQUAL? HERE,AQUARIUM-AND-PARK \?ELS48 PRINTI "The " PRINTD BURGER-MEISTER PRINTR " looks like a typical fast-food place." ?ELS48: EQUAL? SYEAR,2081 \?ELS54 CALL PERFORM,V?EXAMINE,BUILDING RTRUE ?ELS54: EQUAL? HERE,BODANSKI-SQUARE \?ELS59 PRINTD SIMONS JUMP ?CND57 ?ELS59: EQUAL? HERE,MAIN-AND-WICKER \?CND57 PRINTD THE-COACHMAN ?CND57: PRINTR " is a large, fairly fancy restaurant." .FUNCT INIT-STATUS-LINE,HEIGHT,DONT-CLEAR=0 ZERO? DONT-CLEAR \?CND1 CLEAR -1 SPLIT HEIGHT ?CND1: SET 'L-HERE,FALSE-VALUE SET 'L-MODE,FALSE-VALUE SET 'L-DATE,FALSE-VALUE SCREEN S-WINDOW BUFOUT FALSE-VALUE EQUAL? HEIGHT,7 /TRUE CALL2 INVERSE-LINE,1 CALL2 INVERSE-LINE,2 HLIGHT 1 CURSET 1,2 PRINTI "Mode:" CURSET 1,60 PRINTI "Time:" CURSET 2,2 PRINTI "Location:" CURSET 2,60 PRINTI "Date:" HLIGHT 0 BUFOUT TRUE-VALUE SCREEN S-TEXT RTRUE .FUNCT INVERSE-LINE,LINE-NUMBER,CENTER-HALF=0 ZERO? CENTER-HALF /?ELS3 CURSET LINE-NUMBER,21 JUMP ?CND1 ?ELS3: CURSET LINE-NUMBER,1 ?CND1: HLIGHT 1 ?PRG7: PRINTI " " ZERO? CENTER-HALF /?ELS13 JUMP ?REP8 ?ELS13: SET 'CENTER-HALF,TRUE-VALUE JUMP ?PRG7 ?REP8: HLIGHT 0 RTRUE .FUNCT PRINT-SPACES,CNT ?PRG1: DLESS? 'CNT,0 /TRUE PRINTC 32 JUMP ?PRG1 .FUNCT CONTINUE,CURRENTLY-SCRIPTING=0 CRLF CRLF CRLF GET 0,8 BTST STACK,1 \?CND1 SET 'CURRENTLY-SCRIPTING,TRUE-VALUE DIROUT D-PRINTER-OFF ?CND1: PRINTI "[Hit any key to continue.]" BUFOUT FALSE-VALUE BUFOUT TRUE-VALUE ZERO? CURRENTLY-SCRIPTING /?CND6 DIROUT D-PRINTER-ON ?CND6: INPUT 1 RSTACK .FUNCT STATUS-LINE,LEN,LOCATION BUFOUT FALSE-VALUE SCREEN S-WINDOW HLIGHT 1 EQUAL? MODE,L-MODE \?THN4 ZERO? RECORDING /?ELS7 ZERO? L-RECORDING /?THN4 ?ELS7: ZERO? L-RECORDING /?CND1 ZERO? RECORDING \?CND1 ?THN4: DIROUT D-SCREEN-OFF DIROUT D-TABLE-ON,SL-BUFFER CALL2 DPRINT,MODE ZERO? RECORDING /?CND12 PRINTI " (recording)" ?CND12: DIROUT D-TABLE-OFF DIROUT D-SCREEN-ON GET SL-BUFFER,0 >LEN CURSET 1,9 CALL2 DPRINT,MODE ZERO? RECORDING /?ELS22 SET 'L-RECORDING,TRUE-VALUE PRINTI " (recording)" JUMP ?CND20 ?ELS22: SET 'L-RECORDING,FALSE-VALUE ?CND20: SET 'L-MODE,MODE SUB 33,LEN CALL2 PRINT-SPACES,STACK ?CND1: CURSET 1,67 ZERO? SIMULATING /?ELS30 CALL2 TIME-PRINT,STIME JUMP ?CND28 ?ELS30: CALL2 TIME-PRINT,TIME ?CND28: CALL2 PRINT-SPACES,3 ZERO? CURRENT-FILE /?ELS40 EQUAL? L-HERE,CURRENT-DIRECTORY \?THN37 ?ELS40: ZERO? CURRENT-FILE \?CND34 EQUAL? L-HERE,HERE /?CND34 ?THN37: CURSET 2,13 DIROUT D-SCREEN-OFF DIROUT D-TABLE-ON,SL-BUFFER ZERO? CURRENT-FILE /?ELS45 SET 'LOCATION,CURRENT-DIRECTORY JUMP ?CND43 ?ELS45: SET 'LOCATION,HERE ?CND43: CALL2 DPRINT,LOCATION SET 'L-HERE,LOCATION DIROUT D-TABLE-OFF DIROUT D-SCREEN-ON GET SL-BUFFER,0 >LEN CALL2 DPRINT,LOCATION SUB 29,LEN CALL2 PRINT-SPACES,STACK ?CND34: ZERO? SIMULATING /?ELS55 EQUAL? SDATE,L-DATE /?ELS55 CURSET 2,67 PRINTN SMONTH PRINTI "/" PRINTN SDATE PRINTI "/" PRINTN SYEAR SET 'L-DATE,SDATE CALL2 PRINT-SPACES,3 JUMP ?CND53 ?ELS55: ZERO? SIMULATING \?CND53 EQUAL? DATE,L-DATE /?CND53 CURSET 2,67 PRINTN MONTH PRINTI "/" PRINTN DATE PRINTI "/" PRINTN YEAR SET 'L-DATE,DATE CALL2 PRINT-SPACES,3 ?CND53: SCREEN S-TEXT HLIGHT 0 BUFOUT TRUE-VALUE RTRUE .FUNCT TIME-PRINT,TM,SKIP-AM-PM=0,HR GRTR? TM,1440 \?CND1 SUB TM,1440 >TM ?CND1: DIV TM,60 >HR GRTR? HR,12 \?CND4 SUB HR,12 >HR ?CND4: ZERO? HR \?ELS9 PRINTI "12" JUMP ?CND7 ?ELS9: PRINTN HR ?CND7: PRINTI ":" MOD TM,60 >HR LESS? HR,10 \?CND16 PRINTI "0" ?CND16: PRINTN HR ZERO? SKIP-AM-PM \TRUE CALL2 AM-PM-PRINT,TM RSTACK .FUNCT JUSTIFY-TIME-PRINT,NUM GRTR? NUM,59 \?ELS3 LESS? NUM,600 \?ELS3 PRINTI " " JUMP ?CND1 ?ELS3: LESS? NUM,1320 \?CND1 GRTR? NUM,779 \?CND1 PRINTI " " ?CND1: CALL TIME-PRINT,NUM,TRUE-VALUE RSTACK .FUNCT AM-PM-PRINT,NUM LESS? NUM,720 /?THN6 EQUAL? NUM,1440 \?ELS5 ?THN6: PRINTI "am" RTRUE ?ELS5: PRINTI "pm" RTRUE .FUNCT TITLE-PRINT CALL2 ITALICIZE,STR?295 RSTACK .FUNCT TURN-RECORD-OFF,SIM=0 ZERO? RECORDING /FALSE SOUND 1 SET 'RECORDING,FALSE-VALUE ZERO? SIM /?CND7 CRLF ?CND7: PRINTI "WARNING: Deactivating record feature." CRLF ZERO? SIM \FALSE CRLF RTRUE .FUNCT ERR,STR,NO-CR=0 SOUND 2 PRINTI "ERROR: " PRINT STR ZERO? NO-CR \TRUE CRLF RTRUE .FUNCT CANT-SEE,OBJ,PTR PRINTI "[You can't see" FSET? OBJ,MYBIT \?ELS5 PRINTI " " CALL2 DPRINT,OBJ JUMP ?CND3 ?ELS5: FSET? OBJ,NARTICLEBIT \?THN13 EQUAL? OBJ,MEAL \?CND10 ?THN13: PRINTI " any" ?CND10: EQUAL? OBJ,PRSO \?ELS19 ZERO? P-MERGED \?THN23 GET P-ITBL,P-NC1 >PTR GET PTR,0 EQUAL? STACK,W?IT \?ELS22 ?THN23: PRINTI " " CALL2 DPRINT,PRSO JUMP ?CND17 ?ELS22: GET P-ITBL,P-NC1L CALL BUFFER-PRINT,PTR,STACK,FALSE-VALUE JUMP ?CND17 ?ELS19: ZERO? P-MERGED \?THN31 GET P-ITBL,P-NC2 >PTR GET PTR,0 EQUAL? STACK,W?IT \?ELS30 ?THN31: PRINTI " " CALL2 DPRINT,PRSI JUMP ?CND3 ?ELS30: GET P-ITBL,P-NC2L CALL BUFFER-PRINT,PTR,STACK,FALSE-VALUE ?CND17: ?CND3: PRINTI " here.]" CRLF CALL1 CLEAR-BUF RSTACK .FUNCT DISCONNECTED PRINTI "? Per Project regulations, I have no choice but to shut down your conscious-level processors while we reevaluate your psychological makeup. I...I don't know what else to say."" You feel your senses begin to ebb..." CRLF CALL1 FINISH RSTACK .FUNCT MILE-AWAY,OBJ PRINTI "The " CALL2 DPRINT,OBJ PRINTR " is nearly a mile away!" .FUNCT FROM-HERE PRINTI "You can't see much of the " CALL2 DPRINT,PRSO PRINTR " from here." .FUNCT TELL-ME-HOW PRINTI "It's not obvious how to do that to" CALL2 ARTICLE,PRSO PRINTR "." .FUNCT OF-COURSE,OBJ PRINTI "The " CALL2 DPRINT,OBJ PRINTR " is closed at this hour, of course." .FUNCT ADDRESS-DIRECTLY,ACTOR PRINTI "You must address" CALL ARTICLE,ACTOR,TRUE-VALUE PRINTI " directly." CRLF CALL1 CLEAR-BUF RSTACK .FUNCT CLOTHES-BUDGET PRINTR "You've already strained your clothes budget; Jill would have your hide if you spent more." .FUNCT FURNITURE-REMOVED PRINTR "All the furniture has been removed!" .FUNCT PERELMAN-WALKS-IN-WITH-COFFEE EQUAL? HERE,OFFICE \FALSE CRLF PRINTR "Doctor Perelman walks into the office carrying a cup of coffee. He sits down at his desk, places the coffee mug almost out of sight below your monitor, and begins working." .ENDI