Repository: historicalsource/planetfall Branch: master Commit: 7e7af1234517 Files: 33 Total size: 1017.6 KB Directory structure: gitextract_nd_5qeya/ ├── COMPILED/ │ └── planetfall.z3 ├── README.md ├── compone.zabstr ├── compone.zap ├── compone.zil ├── comptwo.zabstr ├── comptwo.zap ├── comptwo.zil ├── globals.zabstr ├── globals.zap ├── globals.zil ├── misc.zabstr ├── misc.zap ├── misc.zil ├── parser.zabstr ├── parser.zap ├── parser.zil ├── planetfall.beta ├── planetfall.clocker ├── planetfall.errors ├── planetfall.record ├── planetfall.zap ├── planetfall.zil ├── planetfalldat.zap ├── planetfallfreq.xzap ├── planetfallpur.zap ├── planetfallstr.zap ├── s3.zil ├── syntax.zap ├── syntax.zil ├── verbs.zabstr ├── verbs.zap └── verbs.zil ================================================ FILE CONTENTS ================================================ ================================================ FILE: README.md ================================================ # Planetfall Source Code Collection Planetfall is a 1983 interactive fiction game written by Steve Meretzky and published by Infocom. Further information on Planetfall: * [Wikipedia](https://en.wikipedia.org/wiki/Planetfall) * [The Digital Antiquarian](https://www.filfre.net/2013/03/planetfall/) * [The Interactive Fiction Database](https://ifdb.tads.org/viewgame?id=xe6kb3cuqwie2q38) * [The Infocom Gallery](http://infocom.elsewhere.org/gallery/planetfall/planetfall.html) * [IFWiki](http://www.ifwiki.org/index.php/Planetfall) __What is this Repository?__ This repository is a directory of source code for the Infocom game "Planetfall", including a variety of files both used and discarded in the production of the game. It is written in ZIL (Zork Implementation Language), a refactoring of MDL (Muddle), itself a dialect of LISP created by MIT students and staff. The source code was contributed anonymously and represents a snapshot of the Infocom development system at time of shutdown - there is no remaining way to compare it against any official version as of this writing, and so it should be considered canonical, but not necessarily the exact source code arrangement for production. __Basic Information on the Contents of This Repository__ It is mostly important to note that there is currently no known way to compile the source code in this repository into a final "Z-machine Interpreter Program" (ZIP) file. There are .ZIP files in some of the Infocom Source Code repositories but they were there as of final spin-down of the Infocom Drive and the means to create them is currently lost. Throughout its history, Infocom used a TOPS20 mainframe with a compiler (ZILCH) to create and edit language files - this repository is a mirror of the source code directory archive of Infocom but could represent years of difference from what was originally released. In general, Infocom games were created by taking previous Infocom source code, copying the directory, and making changes until the game worked the way the current Implementor needed. Structure, therefore, tended to follow from game to game and may or may not accurately reflect the actual function of the code. There are also multiple versions of the "Z-Machine" and code did change notably between the first years of Infocom and a decade later. Addition of graphics, sound and memory expansion are all slowly implemented over time. __What is the Purpose of this Repository__ This collection is meant for education, discussion, and historical work, allowing researchers and students to study how code was made for these interactive fiction games and how the system dealt with input and processing. It is not considered to be under an open license. Researchers are encouraged to share their discoveries about the information in this source code and the history of Infocom and its many innovative employees. __Some Trivia and Notes on this Repository__ * First game created by Steve Meretzky after working as a tester for Infocom. ================================================ FILE: compone.zabstr ================================================ ) (UP TO CRAG) (DOWN TO UNDERWATER) (WEST TO UNDERWATER) (NORTH TO UNDERWATER) (SOUTH TO UNDERWATER) (FLAGS ONBIT RWATERBIT) (ACTION UNDERWATER-F) > WORD> ) (DOWN TO UNDERWATER) (UP TO BALCONY) (FLAGS ONBIT RLANDBIT) (VALUE 3) (GLOBAL CLIFF OCEAN) (PSEUDO "STRUCTURE" STRUCTURE-PSEUDO "CLEFT" CLEFT-PSEUDO) (ACTION CRAG-F)> ) (DOWN PER WATER-LEVEL-F) (UP TO WINDING-STAIR) (FLAGS ONBIT RLANDBIT) ( PSEUDO "PLAQUE" PLAQUE-PSEUDO) (GLOBAL CLIFF OCEAN STAIRS WINDOW) (ACTION BALCONY-F)> ) (DOWN PER WATER-LEVEL-F) (UP TO COURTYARD) (FLAGS ONBIT RLANDBIT) (GLOBAL CLIFF STAIRS) (ACTION WINDING-STAIR-F)> ) (DOWN TO WINDING-STAIR) (SOUTH TO WINDING-STAIR) (WEST TO WEST-WING) ( NORTH TO PLAIN-HALL) (FLAGS ONBIT RLANDBIT FLOYDBIT) (GLOBAL STAIRS) (PSEUDO "CASTLE" CASTLE-PSEUDO "RUBBLE" RUBBLE-PSEUDO) (ACTION COURTYARD-F)> ) (EAST TO COURTYARD) (DOWN "Certain death.") (FLAGS ONBIT RLANDBIT FLOYDBIT) ( GLOBAL CLIFF OCEAN) (PSEUDO "CASTLE" CASTLE-PSEUDO "RUBBLE" RUBBLE-PSEUDO)> ) (SOUTH TO COURTYARD) (NORTH TO REC-AREA) (NE TO REC-CORRIDOR) (FLAGS ONBIT RLANDBIT)> ) (NORTH TO CONFERENCE-ROOM IF CONFERENCE-DOOR IS OPEN) (SOUTH TO PLAIN-HALL) (EAST TO REC-CORRIDOR) (FLAGS ONBIT RLANDBIT FLOYDBIT) (GLOBAL CONFERENCE-DOOR) (PSEUDO "GAMES" GAMES-PSEUDO "TAPES" TAPES-PSEUDO) (ACTION REC-AREA-F)> WORD> WORD> ) (SOUTH TO REC-AREA IF CONFERENCE-DOOR IS OPEN) (OUT TO REC-AREA IF CONFERENCE-DOOR IS OPEN) (IN TO BOOTH-1) (NORTH TO BOOTH-1) (FLAGS RLANDBIT ONBIT) (PSEUDO "BOOTH" NEAR-BOOTH-PSEUDO) (GLOBAL CONFERENCE-DOOR TABLES) (ACTION CONFERENCE-ROOM-F)> ) (SOUTH TO CONFERENCE-ROOM) (OUT TO CONFERENCE-ROOM) (PSEUDO "BOOTH" IN-BOOTH-PSEUDO) ( FLAGS ONBIT RLANDBIT) (GLOBAL CONTROLS SLOT TELEPORTATION-BUTTON-2 TELEPORTATION-BUTTON-3)> ) (WEST TO REC-AREA) (NORTH TO DORM-B) (SOUTH TO DORM-A) (EAST TO MESS-CORRIDOR) (SW TO PLAIN-HALL) (FLAGS ONBIT RLANDBIT)> ) (SOUTH TO SANFAC-A) (NORTH TO REC-CORRIDOR) (FLAGS FLOYDBIT ONBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION" PARTITION-PSEUDO)> ) (NORTH TO DORM-A) (FLAGS ONBIT RLANDBIT FLOYDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (SOUTH TO REC-CORRIDOR) (NORTH TO SANFAC-B) (FLAGS FLOYDBIT ONBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION" PARTITION-PSEUDO)> ) (SOUTH TO DORM-B) (FLAGS FLOYDBIT ONBIT RLANDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (NORTH TO DORM-CORRIDOR) (SOUTH TO SANFAC-C) (FLAGS ONBIT FLOYDBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION" PARTITION-PSEUDO)> ) (NORTH TO DORM-C) (FLAGS FLOYDBIT ONBIT RLANDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (SOUTH TO DORM-CORRIDOR) (NORTH TO SANFAC-D) (FLAGS FLOYDBIT ONBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION" PARTITION-PSEUDO)> ) (SOUTH TO DORM-D) (FLAGS ONBIT FLOYDBIT RLANDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (SOUTH TO MESS-HALL) (NORTH TO STORAGE-WEST IF STORAGE-WEST-DOOR IS OPEN) (EAST TO DORM-CORRIDOR) (WEST TO REC-CORRIDOR) ( FLAGS ONBIT RLANDBIT) (GLOBAL STORAGE-WEST-DOOR) (ACTION MESS-CORRIDOR-F)> %<> WORD> ) (SOUTH TO MESS-CORRIDOR IF STORAGE-WEST-DOOR IS OPEN) ( OUT TO MESS-CORRIDOR IF STORAGE-WEST-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) ( VALUE 4) (GLOBAL SHELVES STORAGE-WEST-DOOR)> %<> WORD> %<> WORD> ) (NORTH TO DORM-D) ( SOUTH TO DORM-C) (WEST TO MESS-CORRIDOR) (EAST PER LONG-HALL-F) (FLAGS ONBIT RLANDBIT) (PSEUDO "WALKWAY" WALKWAY-PSEUDO)> ) (NORTH TO MESS-CORRIDOR) (OUT TO MESS-CORRIDOR) (SOUTH TO KITCHEN IF KITCHEN-DOOR IS OPEN) (IN TO KITCHEN IF KITCHEN-DOOR IS OPEN) (GLOBAL TABLES KITCHEN-DOOR SLOT) (FLAGS ONBIT FLOYDBIT RLANDBIT) (PSEUDO "BENCH" BENCH-PSEUDO "BENCHE" BENCH-PSEUDO) (ACTION MESS-HALL-F)> ) (NORTH TO MESS-HALL) (OUT TO MESS-HALL) (GLOBAL KITCHEN-DOOR) (PSEUDO "SPOUT" SPOUT-PSEUDO "BUTTON" BUTTON-PSEUDO) (FLAGS ONBIT RLANDBIT) (VALUE 4)> ) (NORTH TO ADMIN-CORRIDOR-S) (SOUTH TO MECH-CORRIDOR-N) (WEST PER LONG-HALL-F) (EAST TO ELEVATOR-LOBBY) ( FLAGS FLOYDBIT RLANDBIT ONBIT) (PSEUDO "WALKWAY" WALKWAY-PSEUDO)> ) (SOUTH TO CORRIDOR-JUNCTION) (NORTH TO ADMIN-CORRIDOR ) (EAST TO SANFAC-E) (FLAGS RLANDBIT ONBIT) (ACTION ADMIN-CORRIDOR-S-F)> ) (SOUTH TO ADMIN-CORRIDOR-S) (NORTH PER LADDER-EXIT-F) (WEST TO SYSTEMS-MONITORS) (FLAGS RLANDBIT ONBIT) (GLOBAL RIFT) (PSEUDO "RUBBLE" RUBBLE-PSEUDO) (ACTION ADMIN-CORRIDOR-F)> ) (SOUTH PER LADDER-EXIT-F) (NORTH TO TRANSPORTATION-SUPPLY) (EAST TO PLAN-ROOM) (WEST TO SMALL-OFFICE) (FLAGS RLANDBIT ONBIT) (VALUE 4) (GLOBAL RIFT) (ACTION ADMIN-CORRIDOR-N-F)> ) (WEST TO ADMIN-CORRIDOR-S) (OUT TO ADMIN-CORRIDOR-S) (FLAGS FLOYDBIT RLANDBIT ONBIT) ( PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (EAST TO ADMIN-CORRIDOR) (OUT TO ADMIN-CORRIDOR) (FLAGS FLOYDBIT RLANDBIT ONBIT) (GLOBAL TABLES) (PSEUDO "MONITORS" MONITORS-PSEUDO "EQUIPM" EQUIPMENT-PSEUDO) (ACTION SYSTEMS-MONITORS-F)> ) (WEST TO ADMIN-CORRIDOR-N) (FLAGS RLANDBIT ONBIT FLOYDBIT) (PSEUDO "CUBBYHOLE" CUBBYHOLE-PSEUDO "MAPS" MAPS-PSEUDO)> ) (SOUTH TO ADMIN-CORRIDOR-N) (NORTH TO TRANSPORTATION-SUPPLY) (EAST TO TRANSPORTATION-SUPPLY) (WEST TO TRANSPORTATION-SUPPLY) (OUT TO ADMIN-CORRIDOR-N ) (FLAGS RLANDBIT)> ) (EAST TO ADMIN-CORRIDOR-N) (WEST TO LARGE-OFFICE) (FLAGS RLANDBIT FLOYDBIT ONBIT)> ) (EAST TO SMALL-OFFICE) (FLAGS FLOYDBIT RLANDBIT ONBIT) (GLOBAL WINDOW OCEAN)> ) (EAST TO STORAGE-EAST) (WEST TO PHYSICAL-PLANT) (NORTH TO CORRIDOR-JUNCTION) (SOUTH TO MECH-CORRIDOR) (FLAGS RLANDBIT ONBIT)> ) (EAST TO REACTOR-CONTROL) (WEST TO PHYSICAL-PLANT) (NORTH TO MECH-CORRIDOR-N) (SOUTH TO MECH-CORRIDOR-S) (FLAGS RLANDBIT ONBIT)> ) (NORTH TO MECH-CORRIDOR) (SW TO TOOL-ROOM) (SOUTH TO MACHINE-SHOP) (SE TO ROBOT-SHOP) (FLAGS RLANDBIT ONBIT)> ) (WEST TO MECH-CORRIDOR-N) (FLAGS RLANDBIT FLOYDBIT ONBIT) ( GLOBAL SHELVES)> ) (NE TO MECH-CORRIDOR-N) (SE TO MECH-CORRIDOR) (FLAGS FLOYDBIT RLANDBIT ONBIT) (PSEUDO "EQUIPM" EQUIPMENT-PSEUDO "CATWALK" CATWALK-PSEUDO)> ) (WEST TO MECH-CORRIDOR) (EAST TO REACTOR-ELEVATOR IF REACTOR-ELEVATOR-DOOR IS OPEN) (IN TO REACTOR-ELEVATOR IF REACTOR-ELEVATOR-DOOR IS OPEN) (DOWN TO REACTOR-ACCESS-STAIRS) (FLAGS RLANDBIT FLOYDBIT ONBIT) ( PSEUDO "BUTTON" REACTOR-BUTTON-PSEUDO "DIAGRAM" DIAGRAM-PSEUDO) (GLOBAL CONTROLS STAIRS REACTOR-ELEVATOR-DOOR)> ) (DOWN TO REACTOR-ACCESS-STAIRS) (UP TO REACTOR-CONTROL) (FLAGS RLANDBIT) ( GLOBAL STAIRS)> ) (WEST TO REACTOR-CONTROL) (OUT TO REACTOR-CONTROL) (FLAGS RLANDBIT ONBIT) (GLOBAL REACTOR-ELEVATOR-DOOR SLOT ELEVATOR-BUTTON CONTROLS)> ) (NE TO MECH-CORRIDOR-S) (EAST TO MACHINE-SHOP) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL SHELVES)> ) (NORTH TO MECH-CORRIDOR-S) (EAST TO ROBOT-SHOP) (WEST TO TOOL-ROOM) (FLAGS RLANDBIT FLOYDBIT ONBIT) (PSEUDO "SPOUT" CHEM-SPOUT-PSEUDO) ( ACTION MACHINE-SHOP-F)> %<> WORD> WORD> %<> WORD> ) (WEST TO MACHINE-SHOP) (NW TO MECH-CORRIDOR-S) (FLAGS RLANDBIT FLOYDBIT ONBIT) (PSEUDO "DEVICE" DEVICES-PSEUDO)> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> ) (NORTH PER ELEVATOR-ENTER-F) (SOUTH PER ELEVATOR-ENTER-F) ( WEST TO CORRIDOR-JUNCTION) (EAST TO BOOTH-2) (IN TO BOOTH-2) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL UPPER-ELEVATOR-DOOR LOWER-ELEVATOR-DOOR) (PSEUDO "BOOTH" NEAR-BOOTH-PSEUDO) (ACTION ELEVATOR-LOBBY-F)> ) (OUT PER ELEVATOR-EXIT-F) (SOUTH PER ELEVATOR-EXIT-F) (UP "You'll have to use the elevator controls.") (DOWN "You'll have to use the elevator controls.") (FLAGS RLANDBIT ONBIT) (GLOBAL LIGHTS CONTROLS SLOT ELEVATOR-BUTTON UPPER-ELEVATOR-DOOR) (ACTION UPPER-ELEVATOR-F)> ) (NORTH PER ELEVATOR-EXIT-F) (OUT PER ELEVATOR-EXIT-F) (UP "You'll have to use the elevator controls.") (DOWN "You'll have to use the elevator controls.") (FLAGS RLANDBIT ONBIT) (GLOBAL LIGHTS CONTROLS SLOT ELEVATOR-BUTTON LOWER-ELEVATOR-DOOR) (ACTION LOWER-ELEVATOR-F)> %<> WORD> WORD> %<> WORD> %<> WORD> %<> WORD> WORD> WORD> ) (WEST TO ELEVATOR-LOBBY) (OUT TO ELEVATOR-LOBBY) (FLAGS RLANDBIT ONBIT) (PSEUDO "BOOTH" IN-BOOTH-PSEUDO) (GLOBAL CONTROLS SLOT TELEPORTATION-BUTTON-1 TELEPORTATION-BUTTON-3)> ) (NORTH TO UPPER-ELEVATOR) (UP TO HELIPAD) (SW TO OBSERVATION-DECK) (NE TO COMM-ROOM) (FLAGS RLANDBIT ONBIT) ( VALUE 4) (GLOBAL STAIRS UPPER-ELEVATOR-DOOR)> ) (DOWN TO TOWER-CORE) (IN TO HELICOPTER) (EAST "A fence keeps you away from the edge, where you would probably be swept over the brink by the high winds.") (WEST "A fence keeps you away from the edge, where you would probably be swept over the brink by the high winds.") (NORTH "A fence keeps you away from the edge, where you would probably be swept over the brink by the high winds.") (SOUTH "A fence keeps you away from the edge, where you would probably be swept over the brink by the high winds.") (FLAGS RLANDBIT ONBIT) (PSEUDO "FENCE" FENCE-PSEUDO) (GLOBAL STAIRS HELICOPTER-OBJECT)> ) (OUT TO HELIPAD) (FLAGS RLANDBIT ONBIT) ( PSEUDO "LOCK" LOCK-PSEUDO) (GLOBAL OCEAN CONTROLS WINDOW HELICOPTER-OBJECT)> ) (SW TO TOWER-CORE) (FLAGS RLANDBIT ONBIT) (GLOBAL LIGHTS) (PSEUDO "CABLES" CABLES-PSEUDO "ENUNCI" ENUNCIATOR-PSEUDO) (ACTION COMM-ROOM-F)> WORD> ) (SYNONYM CONSOLE CONTRO) (ADJECTIVE COMMUNICATIONS RECEIVE LEFT FIRST) (FLAGS NDESCBIT)> \"")> %<> WORD> %<> WORD> %<> WORD> WORD> WORD> ) (NE TO TOWER-CORE) (FLAGS RLANDBIT ONBIT) ( GLOBAL OCEAN)> ) (EAST TO KALAMONTEE-PLATFORM) (SOUTH PER OTHER-ELEVATOR-ENTER-F) (IN PER OTHER-ELEVATOR-ENTER-F) (PSEUDO "BENCH" BENCH-PSEUDO "BENCHE" BENCH-PSEUDO) (GLOBAL LOWER-ELEVATOR-DOOR) (FLAGS RLANDBIT ONBIT)> ) (WEST TO WAITING-AREA) (SOUTH PER SHUTTLE-ENTER-F) (NORTH PER SHUTTLE-ENTER-F) (FLAGS RLANDBIT ONBIT) (VALUE 4) ( GLOBAL GLOBAL-SHUTTLE) (ACTION KALAMONTEE-PLATFORM-F)> ================================================ FILE: compone.zap ================================================ .FUNCT UNDERWATER-F,RARG EQUAL? RARG,M-END \FALSE IGRTR? 'DROWN,2 \FALSE CALL JIGS-UP,STR?101 RSTACK .FUNCT CRAG-F,RARG EQUAL? RARG,M-ENTER \FALSE SET 'DROWN,3 RETURN DROWN .FUNCT BALCONY-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is an octagonal room, half carved into and half built out from the cliff wall. Through the shattered windows which ring the outer wall you can see ocean to the horizon. A weathered metal plaque with barely readable lettering rests below the windows. The language seems to be a corrupt form of Galalingua. A steep stairway, roughly cut into the face of the cliff, leads upward. " EQUAL? DAY,1 \?CCL6 PRINTR "A rocky crag can be seen about eight meters below." ?CCL6: EQUAL? DAY,2 \?CCL8 PRINTR "The ocean waters swirl below. The crag where you landed yesterday is now underwater!" ?CCL8: EQUAL? DAY,3 \FALSE PRINTR "Ocean waters are lapping at the base of the balcony." .FUNCT WINDING-STAIR-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "The middle of a long, steep stairway carved into the face of a cliff." EQUAL? DAY,4 \?CCL6 PRINTR " You hear the lapping of water from below." ?CCL6: EQUAL? DAY,5 \?CND4 PRINTR " You can see ocean water splashing against the steps below you." ?CND4: CRLF RTRUE .FUNCT COURTYARD-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "You are in the courtyard of an ancient stone edifice, vaguely reminiscent of the castles you saw during your leave on Ramos Two. It has decayed to the point where it can probably be termed a ruin. Openings lead north and west, and a stairway downward is visible to the south. " EQUAL? DAY,6,7 \?CCL6 PRINTR "From the direction of the stairway comes the sound of ocean surf." ?CCL6: EQUAL? DAY,8 \?CND4 PRINTR "Ocean water washes against the top few steps." ?CND4: CRLF RTRUE .FUNCT WATER-LEVEL-F EQUAL? HERE,BALCONY \?CCL3 EQUAL? DAY,1 \?CCL6 RETURN CRAG ?CCL6: RETURN UNDERWATER ?CCL3: EQUAL? HERE,WINDING-STAIR \?CCL8 LESS? DAY,4 \?CCL11 RETURN BALCONY ?CCL11: RETURN UNDERWATER ?CCL8: EQUAL? HERE,COURTYARD \FALSE LESS? DAY,6 \?CCL16 RETURN WINDING-STAIR ?CCL16: RETURN UNDERWATER .FUNCT REC-AREA-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a recreational facility of some sort. Games and tapes are scattered about the room. Hallways head off to the east and south, and to the north is a door which is " FSET? CONFERENCE-DOOR,OPENBIT \?CCL6 PRINTI "open" JUMP ?CND4 ?CCL6: PRINTI "closed and locked. A dial on the door is currently set to " PRINTN DIAL-NUMBER ?CND4: PRINTR "." .FUNCT CONFERENCE-ROOM-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a fairly square room, almost filled by a round conference table. To the south is a door which is " CALL DDESC,CONFERENCE-DOOR PRINTR ". To the north is a small room about the size of a phone booth." .FUNCT COMBINATION-DIAL-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "The dial can be turned to any number between 0 and 1000." ?CCL3: EQUAL? PRSA,V?SET \FALSE EQUAL? PRSI,INTNUM \FALSE FSET? COMBINATION-DIAL,MUNGEDBIT \?CCL10 PRINTR "The dial has somehow become fused and won't move." ?CCL10: EQUAL? P-NUMBER,DIAL-NUMBER \?CCL12 PRINTR "That's what the dial is set to now!" ?CCL12: EQUAL? P-NUMBER,NUMBER-NEEDED \?CCL14 SET 'DIAL-NUMBER,0 FSET CONFERENCE-DOOR,OPENBIT PRINTR "The door swings open, and the dial resets to 0." ?CCL14: GRTR? P-NUMBER,1000 \?CCL16 PRINTR "The dial cannot be turned to a number that high." ?CCL16: SET 'DIAL-NUMBER,P-NUMBER PRINTI "The dial is now set to " PRINTN P-NUMBER PRINTR "." .FUNCT CONFERENCE-DOOR-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? CONFERENCE-DOOR,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: EQUAL? HERE,REC-AREA \?CCL9 PRINTR "The door is locked. You probably have to turn the dial to some number to open it." ?CCL9: PRINTR "The door seems to be locked from the other side." ?CCL3: EQUAL? PRSA,V?CLOSE \FALSE FSET? CONFERENCE-DOOR,OPENBIT \?CCL14 FCLEAR CONFERENCE-DOOR,OPENBIT PRINTR "The door closes and you hear a click as it locks." ?CCL14: CALL IS-CLOSED RSTACK .FUNCT MESS-CORRIDOR-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a wide, east-west hallway with a large portal to the south. A small door to the north is " CALL DDESC,STORAGE-WEST-DOOR ZERO? PADLOCK-REMOVED \?CND4 PRINTI " and hooked with a simple steel padlock" FSET? PADLOCK,OPENBIT \?CCL8 PRINTI " which hangs unlocked" JUMP ?CND4 ?CCL8: PRINTI " which is also closed" ?CND4: PRINTR "." .FUNCT STORAGE-WEST-DOOR-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? STORAGE-WEST-DOOR,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: ZERO? PADLOCK-REMOVED /?CCL8 FSET STORAGE-WEST-DOOR,OPENBIT PRINTR "Opened." ?CCL8: PRINTR "The door cannot be opened until the padlock is removed." ?CCL3: EQUAL? PRSA,V?CLOSE \?CCL10 FSET? STORAGE-WEST-DOOR,OPENBIT \?CCL13 FCLEAR STORAGE-WEST-DOOR,OPENBIT PRINTR "The door is now closed." ?CCL13: CALL IS-CLOSED RSTACK ?CCL10: EQUAL? PRSA,V?UNLOCK \FALSE PRINTI "The door itself isn't locked." FSET? PADLOCK,OPENBIT /?CND16 PRINTR " It is the padlock on the door which is locked." ?CND16: CRLF RTRUE .FUNCT PADLOCK-F EQUAL? HERE,BRIG \?CCL3 PRINTR "You can't see or reach the lock from inside the cell." ?CCL3: EQUAL? PRSA,V?OPEN-WITH \?CCL5 EQUAL? PADLOCK,PRSO \?CCL5 CALL PERFORM,V?UNLOCK,PADLOCK,PRSI RTRUE ?CCL5: EQUAL? PRSA,V?OPEN,V?UNLOCK \?CCL9 FSET? PADLOCK,OPENBIT /?CCL12 ZERO? PRSI \?CCL15 PRINTR "You can't open it with your hands." ?CCL15: EQUAL? PRSI,KEY \?CCL17 FSET? PADLOCK,MUNGEDBIT \?CCL20 PRINTR "Tsk, tsk ... the padlock seems to be fused shut." ?CCL20: FSET PADLOCK,OPENBIT PRINTR "The padlock springs open." ?CCL17: PRINTR "That doesn't work." ?CCL12: PRINTR "The padlock is already unlocked." ?CCL9: EQUAL? PRSA,V?LOCK,V?CLOSE \?CCL22 FSET? PADLOCK,OPENBIT \?CCL25 FCLEAR PADLOCK,OPENBIT PRINTR "The padlock closes with a sharp click." ?CCL25: PRINTR "The padlock is already locked." ?CCL22: EQUAL? PRSA,V?TAKE \?CCL27 ZERO? PADLOCK-REMOVED \?CCL27 FSET? PADLOCK,OPENBIT \?CCL32 SET 'PADLOCK-REMOVED,TRUE-VALUE FCLEAR PADLOCK,TRYTAKEBIT FCLEAR PADLOCK,NDESCBIT RFALSE ?CCL32: FSET? PADLOCK,OPENBIT /FALSE PRINTR "The padlock is locked to the door." ?CCL27: EQUAL? PRSA,V?MUNG \FALSE PRINTR "And, as we go into the next round, it's Padlock 1, Adventurer 0..." .FUNCT CAN-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "This is a rather normal tin can. It is large and is labelled ""Spam and Egz.""" ?CCL3: EQUAL? PRSA,V?OPEN \FALSE PRINTR "You certainly can't open it with your hands, and you don't seem to have found a can opener yet." .FUNCT LADDER-F EQUAL? PRSA,V?TAKE \?CCL3 ZERO? LADDER-EXTENDED /FALSE PRINTR "You can't possibly carry the ladder while it's extended." ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8 PRINTI "It is a heavy-duty ladder built of sturdy aluminum tubing. It is currently " ZERO? LADDER-EXTENDED /?CCL11 PRINTR "extended to its full length of about 8 meters, but could be collapsed to a shorter length for easier carrying." ?CCL11: PRINTR "collapsed and is around two-and-a-half meters long, but if extended would obviously be much longer." ?CCL8: EQUAL? PRSA,V?OPEN \?CCL13 ZERO? LADDER-EXTENDED /?CCL16 PRINTR "The ladder is already extended." ?CCL16: EQUAL? HERE,STORAGE-EAST,STORAGE-WEST,BOOTH-2 /?CTR17 EQUAL? HERE,UPPER-ELEVATOR,LOWER-ELEVATOR \?CCL18 ?CTR17: PRINTR "You can't extend the ladder in this tiny space!" ?CCL18: IN? LADDER,ADVENTURER \?CCL22 PRINTR "You couldn't possibly extend the ladder while you're holding it." ?CCL22: FSET LADDER,TRYTAKEBIT SET 'LADDER-EXTENDED,TRUE-VALUE SET 'C-ELAPSED,36 PRINTR "The ladder extends to a length of around eight meters." ?CCL13: EQUAL? PRSA,V?CLOSE \?CCL24 ZERO? LADDER-EXTENDED /?CCL27 SET 'C-ELAPSED,21 ZERO? LADDER-FLAG /?CCL30 SET 'LADDER-FLAG,FALSE-VALUE REMOVE LADDER PRINTR "As the ladder shortens it plunges into the rift." ?CCL30: SET 'LADDER-EXTENDED,FALSE-VALUE FCLEAR LADDER,TRYTAKEBIT PRINTR "The ladder collapses to a length of around two-and-a-half meters." ?CCL27: PRINTR "The ladder is already in its collapsed state." ?CCL24: EQUAL? PRSA,V?ATTRACT,V?SPAN \?CCL32 EQUAL? PRSI,RIFT \?CCL32 ZERO? LADDER-FLAG /?CCL37 PRINTR "The ladder already spans the rift." ?CCL37: ZERO? LADDER-EXTENDED /?CCL40 SET 'LADDER-FLAG,TRUE-VALUE FSET LADDER,NDESCBIT PRINTR "The ladder swings out across the rift and comes to rest on the far edge, spanning the precipice." ?CCL40: REMOVE LADDER PRINTR "The ladder, far too short to reach the other edge of the rift, plunges into the rift and is lost forever." ?CCL32: EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \FALSE ZERO? LADDER-FLAG /?CCL45 PRINTR "You can't climb a horizontal ladder!" ?CCL45: IN? LADDER,ADVENTURER \FALSE PRINTR "That would be a neat trick, considering that you're holding it." .FUNCT MESS-HALL-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a large hall lined with tables and benches. An opening to the north leads back to the corridor. A door to the south is " CALL DDESC,KITCHEN-DOOR PRINTR ". Next to the door is a small slot." .FUNCT KITCHEN-DOOR-F EQUAL? PRSA,V?OPEN \FALSE PRINTR "A light flashes ""Pleez yuuz kitcin akses kard.""" .FUNCT DISPENSER-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "This wall-mounted unit contains an octagonal niche beneath a spout. " IN? CANTEEN,DISPENSER \?CND4 PRINTI "A canteen is resting in the niche, its mouth lying just below the spout. " ?CND4: PRINTR "Above the spout is a button. The machine is labelled ""Hii Prooteen Likwid Dispensur.""" ?CCL3: EQUAL? PRSA,V?CLOSE \?CCL7 CALL NO-CLOSE RTRUE ?CCL7: EQUAL? PRSA,V?PUT \FALSE EQUAL? PRSO,CANTEEN \?CCL12 MOVE CANTEEN,DISPENSER PRINTR "The canteen fits snugly into the octagonal niche, its mouth resting just below the spout of the machine." ?CCL12: PRINTR "It doesn't fit in the niche." .FUNCT HIGH-PROTEIN-F,X=0 EQUAL? PRSA,V?EAT \?CCL3 IN? CANTEEN,ADVENTURER /?CCL6 SET 'PRSO,CANTEEN CALL NOT-HOLDING RSTACK ?CCL6: ZERO? HUNGER-LEVEL \?CCL9 PRINT NOT-HUNGRY CRLF RTRUE ?CCL9: REMOVE HIGH-PROTEIN SET 'C-ELAPSED,15 SET 'HUNGER-LEVEL,0 CALL QUEUE,I-HUNGER-WARNINGS,3600 PUT STACK,0,1 PRINTR "Mmmm....that was good. It certainly quenched your thirst and satisfied your hunger." ?CCL3: EQUAL? PRSA,V?POUR \FALSE EQUAL? PRSO,HIGH-PROTEIN \FALSE IN? CANTEEN,ADVENTURER /?CCL16 PRINTR "Maybe if you were holding the canteen..." ?CCL16: ZERO? PRSI \?CND14 SET 'PRSI,GROUND ?CND14: EQUAL? PRSI,FLASK \?CCL20 CALL WORTHLESS-ACTION RSTACK ?CCL20: EQUAL? PRSI,FUNNEL-HOLE \?CCL22 IN? CHEMICAL-FLUID,FLASK \?CND23 SET 'X,TRUE-VALUE ?CND23: SET 'CHEMICAL-REQUIRED,10 REMOVE HIGH-PROTEIN CALL PERFORM,V?POUR,CHEMICAL-FLUID,FUNNEL-HOLE ZERO? X /TRUE MOVE CHEMICAL-FLUID,FLASK RTRUE ?CCL22: REMOVE HIGH-PROTEIN PRINTI "The protein-rich fluid pours over the " PRINTD PRSI PRINTR " and then dries up." .FUNCT WORTHLESS-ACTION PRINTR "A worthless action -- and much too difficult for a poorly-written program like this one to handle." .FUNCT LONG-HALL-F PRINTI "You walk down the long, featureless hallway for a long time. Finally, you see " SET 'C-ELAPSED,160 EQUAL? HERE,CORRIDOR-JUNCTION \?CCL3 PRINTI "some doorways ahead..." CRLF CRLF RETURN DORM-CORRIDOR ?CCL3: PRINTI "an intersection ahead..." CRLF CRLF RETURN CORRIDOR-JUNCTION .FUNCT ADMIN-CORRIDOR-S-F,RARG EQUAL? RARG,M-END \FALSE FSET? KEY,INVISIBLE \FALSE RANDOM 100 LESS? 20,STACK /FALSE PRINTR "You catch, out of the corner of your eye, a glint of light from the direction of the floor." .FUNCT CREVICE-F EQUAL? PRSA,V?REACH \?CCL3 PRINTR "The crevice is too narrow to reach into." ?CCL3: EQUAL? PRSA,V?SEARCH,V?EXAMINE,V?LOOK-INSIDE \FALSE FSET? KEY,TOUCHBIT \?CCL8 PRINTR "Nothing there but bunches of dust." ?CCL8: FCLEAR KEY,INVISIBLE PRINTR "Lying at the bottom of the narrow crack, partly covered by layers of dust, is a shiny steel key!" .FUNCT KEY-F EQUAL? PRSA,V?MOVE,V?ZATTRACT,V?TAKE \?CCL3 FSET? KEY,TOUCHBIT /?CCL3 EQUAL? PRSI,PLIERS \?CCL8 PRINTR "These are heavy-duty pliers, too large to reach into this narrow crack." ?CCL8: EQUAL? PRSI,MAGNET \?CCL10 CALL PERFORM,V?ATTRACT,MAGNET,KEY RTRUE ?CCL10: ZERO? PRSI /?CCL12 PRINTR "Nice try." ?CCL12: PRINTR "Either the crevice is too narrow, or your fingers are too large." ?CCL3: EQUAL? PRSA,V?PUT \FALSE EQUAL? PRSI,CREVICE \FALSE PRINTR "And you wonder why you're still only an Ensign Seventh Class?" .FUNCT ADMIN-CORRIDOR-F,RARG ZERO? LADDER-FLAG /?CCL3 EQUAL? RARG,M-ENTER \?CCL3 MOVE LADDER,HERE RTRUE ?CCL3: EQUAL? RARG,M-LOOK \FALSE PRINTI "The hallway, in fact the entire building, has been rent apart here, presumably by seismic upheaval. You can see the sky through the severed roof above, and the ground is thick with rubble. To the north is a gaping rift, at least eight meters across and thirty meters deep. " ZERO? LADDER-FLAG /?CND8 PRINTI "A metal ladder spans the rift. " ?CND8: PRINTR "A wide doorway, labelled ""Sistumz Moniturz,"" leads west." .FUNCT ADMIN-CORRIDOR-N-F,RARG ZERO? LADDER-FLAG /?CCL3 EQUAL? RARG,M-ENTER \?CCL3 MOVE LADDER,HERE RTRUE ?CCL3: EQUAL? RARG,M-LOOK \FALSE PRINTI "The corridor ends here. Portals lead west, north, and east. Signs above these portals read, respectively, ""Administraativ Awfisiz,"" ""Tranzportaashun Suplii,"" and ""Plan Ruum."" To the south is a wide rift" ZERO? LADDER-FLAG /?CND8 PRINTI ", spanned by a metal ladder," ?CND8: PRINTR " separating this area from the rest of the building." .FUNCT LADDER-EXIT-F ZERO? LADDER-FLAG /?CCL3 SET 'C-ELAPSED,33 PRINTI "You slowly make your way across the swaying ladder. You can see sharp, pointy rocks at the bottom of the rift, far below..." CRLF CRLF EQUAL? HERE,ADMIN-CORRIDOR-N \?CCL6 RETURN ADMIN-CORRIDOR ?CCL6: RETURN ADMIN-CORRIDOR-N ?CCL3: PRINTI "The rift is too wide to jump across." CRLF RFALSE .FUNCT RIFT-F EQUAL? PRSA,V?LEAP \?CCL3 CALL JIGS-UP,STR?122 RSTACK ?CCL3: EQUAL? PRSA,V?PUT \?CCL5 EQUAL? RIFT,PRSI \?CCL5 EQUAL? PRSO,LASER \?CND8 CALL INT,I-WARMTH PUT STACK,0,0 ?CND8: REMOVE PRSO EQUAL? PRSO,SCRUB-BRUSH \?CCL12 PRINTR "You watch with tremendous satisfaction as the brush is lost forever." ?CCL12: PRINTI "The " PRINTD PRSO PRINTR " sails gracefully into the rift." ?CCL5: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE PRINTR "The rift is at least eight meters wide and more than thirty meters deep. The bottom is covered with sharp and nasty rocks." .FUNCT SYSTEMS-MONITORS-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a large room filled with tables full of strange equipment. " CALL DESCRIBE-MONITORS RSTACK .FUNCT DESCRIBE-MONITORS PRINTI "The far wall is filled with a number of monitors. Of these, the ones labelled " ZERO? DEFENSE-FIXED /?CND1 PRINTI "PLANATEREE DEFENS, " ?CND1: ZERO? COURSE-CONTROL-FIXED /?CND3 PRINTI "PLANATEREE KORS KUNTROOL, " ?CND3: ZERO? COMM-FIXED /?CND5 PRINTI "KUMUUNIKAASHUNZ, " ?CND5: PRINTI "LIIBREREE, REEAKTURZ, and LIIF SUPORT are green, but the one" ZERO? DEFENSE-FIXED /?CCL8 ZERO? COURSE-CONTROL-FIXED /?CCL8 ZERO? COMM-FIXED \?CND7 ?CCL8: PRINTC 115 ?CND7: PRINTI " labelled " ZERO? DEFENSE-FIXED \?CND12 PRINTI "PLANATEREE DEFENS, " ?CND12: ZERO? COURSE-CONTROL-FIXED \?CND14 PRINTI "PLANATEREE KORS KUNTROOL, " ?CND14: ZERO? COMM-FIXED \?CND16 PRINTI "KUMUUNIKAASHUNZ, " ?CND16: ZERO? DEFENSE-FIXED /?CCL19 ZERO? COURSE-CONTROL-FIXED /?CCL19 ZERO? COMM-FIXED \?CND18 ?CCL19: PRINTI "and " ?CND18: PRINTI "PRAJEKT KUNTROOL indicate" ZERO? DEFENSE-FIXED /?CND23 ZERO? COURSE-CONTROL-FIXED /?CND23 ZERO? COMM-FIXED /?CND23 PRINTC 115 ?CND23: PRINTR " a malfunctioning condition." .FUNCT DESK-F EQUAL? PRSA,V?EXAMINE,V?SEARCH \FALSE PRINTI "The desk has a drawer which is currently " CALL DDESC,PRSO PRINTR "." .FUNCT OIL-CAN-F EQUAL? PRSA,V?POUR \?CCL3 ZERO? PRSI \?CND4 SET 'PRSI,GROUND ?CND4: CALL PERFORM,V?OIL,PRSI RTRUE ?CCL3: EQUAL? PRSA,V?EMPTY \FALSE PRINTR "Pretty much impossible -- you could only do that one drop at a time." .FUNCT CARTON-F EQUAL? PRSA,V?CLOSE \FALSE CALL NO-CLOSE RTRUE .FUNCT CRACKED-BOARD-F EQUAL? PRSA,V?EXAMINE \FALSE CALL EXAMINE-BOARD PRINTR " This one looks as though it's been dropped." .FUNCT GOOD-BEDISTOR-F EQUAL? PRSA,V?TAKE \FALSE ZERO? COURSE-CONTROL-FIXED /FALSE CALL JIGS-UP,STR?137 RSTACK .FUNCT REACTOR-ELEVATOR-DOOR-F EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE PRINTR "It won't budge." .FUNCT I-REACTOR-DOOR-CLOSE CALL QUEUE,I-REACTOR-DOOR-CLOSE,-1 PUT STACK,0,1 EQUAL? HERE,REACTOR-ELEVATOR /FALSE FCLEAR REACTOR-ELEVATOR-DOOR,OPENBIT EQUAL? HERE,REACTOR-CONTROL \?CND4 CRLF PRINTI "The elevator door slides shut." CRLF ?CND4: CALL INT,I-REACTOR-DOOR-CLOSE PUT STACK,0,0 RTRUE .FUNCT FLASK-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "The flask has a wide mouth and looks large enough to hold one or two liters. It is made of glass, or perhaps some tough plastic" IN? CHEMICAL-FLUID,FLASK \?CND4 PRINTI ", and is filled with a milky white fluid" ?CND4: PRINTR "." ?CCL3: EQUAL? PRSA,V?CLOSE \?CCL7 CALL NO-CLOSE RTRUE ?CCL7: EQUAL? PRSA,V?EMPTY \FALSE IN? CHEMICAL-FLUID,FLASK \FALSE EQUAL? PRSI,FUNNEL-HOLE \FALSE CALL PERFORM,V?POUR,CHEMICAL-FLUID,FUNNEL-HOLE RTRUE .FUNCT MAGNET-F EQUAL? PRSA,V?TAKE \?CCL3 CALL QUEUE,I-MAGNET,-1 PUT STACK,0,1 RFALSE ?CCL3: EQUAL? PRSA,V?PUT-ON,V?ATTRACT \FALSE EQUAL? PRSO,MAGNET \?CCL8 IN? MAGNET,ADVENTURER /?CCL8 CALL NOT-HOLDING RSTACK ?CCL8: FSET? KEY,TOUCHBIT \?CCL12 EQUAL? PRSI,KEY \?CCL12 MOVE KEY,ADVENTURER PRINTR "The key jumps against the ends of the magnet and sticks there. Proud of your feat, you remove the key from the magnet." ?CCL12: FSET? KEY,TOUCHBIT /FALSE EQUAL? PRSI,KEY,CREVICE \FALSE MOVE KEY,ADVENTURER FCLEAR KEY,INVISIBLE FCLEAR KEY,TRYTAKEBIT FSET KEY,TOUCHBIT PRINTR "With a spray of dust and a loud clank, a piece of metal leaps from the crevice and affixes itself to the magnet. It is a steel key! With a tug, you remove the key from the magnet." .FUNCT I-MAGNET IN? MAGNET,ADVENTURER \?CCL3 CALL HELD?,KITCHEN-CARD ZERO? STACK /?CCL6 FSET KITCHEN-CARD,SCRAMBLEDBIT RFALSE ?CCL6: CALL HELD?,SHUTTLE-CARD ZERO? STACK /?CCL8 FSET SHUTTLE-CARD,SCRAMBLEDBIT RFALSE ?CCL8: CALL HELD?,TELEPORTATION-CARD ZERO? STACK /?CCL10 FSET TELEPORTATION-CARD,SCRAMBLEDBIT RFALSE ?CCL10: CALL HELD?,UPPER-ELEVATOR-CARD ZERO? STACK /?CCL12 FSET UPPER-ELEVATOR-CARD,SCRAMBLEDBIT RFALSE ?CCL12: CALL HELD?,LOWER-ELEVATOR-CARD ZERO? STACK /?CCL14 FSET LOWER-ELEVATOR-CARD,SCRAMBLEDBIT RFALSE ?CCL14: CALL HELD?,MINI-CARD ZERO? STACK /?CCL16 FSET MINI-CARD,SCRAMBLEDBIT RFALSE ?CCL16: CALL HELD?,ID-CARD ZERO? STACK /FALSE FSET ID-CARD,SCRAMBLEDBIT RFALSE ?CCL3: CALL INT,I-MAGNET PUT STACK,0,0 RFALSE .FUNCT MACHINE-SHOP-F,RARG EQUAL? RARG,M-LOOK \?CCL3 PRINTI "This room is probably some sort of machine shop filled with a variety of unusual machines. Doorways lead north, east, and west. Standing against the rear wall is a large dispensing machine with a spout. " EQUAL? SPOUT-PLACED,GROUND /?CND4 PRINTI "Sitting under the spout is " FSET? SPOUT-PLACED,VOWELBIT \?CCL8 PRINTI "an " JUMP ?CND6 ?CCL8: PRINTI "a " ?CND6: PRINTD SPOUT-PLACED PRINTI ". " ?CND4: PRINTR "The dispenser is lined with brightly-colored buttons. The first four buttons, labelled ""KUULINTS 1 - 4"", are colored red, blue, green, and yellow. The next three buttons, labelled ""KATALISTS 1 - 3"", are colored gray, brown, and black. The last two buttons are both white. One of these is square and says ""BAAS."" The other white button is round and says ""ASID.""" ?CCL3: EQUAL? RARG,M-END \FALSE EQUAL? SPOUT-PLACED,GROUND \FALSE IN? FLOYD,HERE \FALSE FSET? FLOYD,RLANDBIT \FALSE RANDOM 100 LESS? 15,STACK /FALSE SET 'FLOYD-SPOKE,TRUE-VALUE PRINTR "Floyd pushes one of the dispenser buttons. Fluid pours from the spout and splashes across the floor. Floyd jumps up and down, giggling." .FUNCT CHEMICAL-DISPENSER-F EQUAL? PRSA,V?PUT-UNDER \FALSE EQUAL? PRSI,CHEMICAL-DISPENSER \FALSE EQUAL? SPOUT-PLACED,GROUND \?CCL8 MOVE PRSO,HERE PRINTI "The " PRINTD PRSO PRINTI " is now sitting under the spout." CRLF SET 'SPOUT-PLACED,PRSO RETURN SPOUT-PLACED ?CCL8: PRINTI "The " PRINTD SPOUT-PLACED PRINTR " is already resting under the spout." .FUNCT CHEM-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE FSET? CHEMICAL-DISPENSER,MUNGEDBIT \?CCL6 PRINTR "The machine coughs a few times, but nothing else happens." ?CCL6: EQUAL? SPOUT-PLACED,FLASK \?CCL8 IN? CHEMICAL-FLUID,FLASK \?CCL11 PRINTR "Another dose of the chemical fluid pours out of the spout, splashes over the already-full flask, spills onto the floor, and dries up." ?CCL11: MOVE CHEMICAL-FLUID,FLASK PRINTI "The flask fills with some " GETP PRSO,P?C-MOVE >CHEMICAL-FLAG GETP PRSO,P?C-MOVE GET COLOR-LTBL,STACK PRINT STACK PRINTR " chemical fluid. The fluid gradually turns milky white." ?CCL8: EQUAL? SPOUT-PLACED,CANTEEN \?CCL13 FSET? CANTEEN,OPENBIT \?CCL13 PRINTR "Chemical fluid gushes from the spout. Unfortunately, the mouth of the canteen is very narrow, and the fluid just splashes over it." ?CCL13: PRINTI "Some sort of chemical fluid pours out of the spout, spills all over the " PRINTD SPOUT-PLACED PRINTI ", and dries up." CRLF EQUAL? PRSO,ROUND-WHITE-BUTTON,SQUARE-WHITE-BUTTON \TRUE FSET? SPOUT-PLACED,ACIDBIT /?CCL17 FSET? SPOUT-PLACED,MUNGBIT \TRUE ?CCL17: SET 'CHEMICAL-FLAG,9 CALL PERFORM,V?POUR,CHEMICAL-FLUID,SPOUT-PLACED RTRUE .FUNCT FLOYD-F,X,N EQUAL? FLOYD,WINNER \?CCL3 SET 'FLOYD-SPOKE,TRUE-VALUE EQUAL? PRSA,V?GIVE \?CCL6 EQUAL? PRSI,ME \?CCL6 SET 'WINNER,ADVENTURER CALL PERFORM,V?ASK-FOR,FLOYD,PRSO RTRUE ?CCL6: EQUAL? PRSA,V?SGIVE \?CCL10 EQUAL? PRSO,ME \?CCL10 SET 'WINNER,ADVENTURER CALL PERFORM,V?ASK-FOR,FLOYD,PRSI RTRUE ?CCL10: EQUAL? PRSA,V?WALK \?CCL14 EQUAL? HERE,REPAIR-ROOM \?CCL17 EQUAL? PRSO,P?NORTH,P?IN \?CCL17 CALL FLOYD-THROUGH-HOLE JUMP ?CND15 ?CCL17: EQUAL? HERE,BIO-LOCK-EAST \?CCL21 EQUAL? PRSO,P?EAST \?CCL21 CALL FLOYD-INTO-LAB JUMP ?CND15 ?CCL21: EQUAL? HERE,RADIATION-LOCK-EAST \?CCL25 EQUAL? PRSO,P?EAST \?CCL25 PRINTI """After you.""" CRLF JUMP ?CND15 ?CCL25: PRINTI "Floyd looks slightly embarrassed. ""You know me and my sense of direction."" Then he looks up at you with wide, trusting eyes. ""Tell Floyd a story?""" CRLF ?CND15: CALL FLUSH ZERO? STACK /TRUE RETURN 2 ?CCL14: EQUAL? PRSA,V?THROUGH \?CCL33 CALL FLOYDS-FAMOUS-DOOR-ROUTINE CALL FLUSH ZERO? STACK /TRUE RETURN 2 ?CCL33: EQUAL? PRSA,V?TAKE \?CCL39 EQUAL? PRSO,GOOD-BOARD \?CCL39 IN? GOOD-BOARD,ROBOT-HOLE /?CCL44 PRINTI "Floyd looks half-bored and half-annoyed. " PRINTR "Floyd already did that. How about some leap-frogger?""" ?CCL44: ZERO? BOARD-REPORTED /?CCL46 MOVE GOOD-BOARD,ADVENTURER FCLEAR GOOD-BOARD,NDESCBIT FSET GOOD-BOARD,TAKEBIT SET 'C-ELAPSED,22 PRINTR "Floyd shrugs. ""If you say so."" He vanishes for a few minutes, and returns holding the fromitz board. It seems to be in good shape. He tosses it toward you, and you just manage to catch it before it smashes." ?CCL46: PRINTR """Huh?"" asks Floyd. ""What fromitz board?""" ?CCL39: EQUAL? PRSA,V?FOLLOW \?CCL48 EQUAL? PRSO,ME \?CCL48 PRINTR """Okay!""" ?CCL48: EQUAL? PRSA,V?HELLO \?CCL52 SET 'WINNER,ADVENTURER CALL PERFORM,V?HELLO,FLOYD RTRUE ?CCL52: EQUAL? PRSA,V?DROP \?CCL54 IN? PRSO,FLOYD \?CCL57 RANDOM 100 LESS? 50,STACK /?CCL60 MOVE PRSO,HERE PRINTI "Floyd shrugs and drops the " PRINTD PRSO PRINTR "." ?CCL60: PRINTI "Floyd clutches the " PRINTD PRSO PRINTR " even more tightly. ""Floyd won't,"" he says defiantly." ?CCL57: CALL FLOYD-NOT-HAVE RSTACK ?CCL54: PRINTI "Floyd whines, ""Enough talking! Let's play Hider-and-Seeker.""" CRLF RETURN 2 ?CCL3: EQUAL? PRSA,V?CLOSE \?CCL64 PRINTR "Huh?" ?CCL64: EQUAL? PRSA,V?REACH,V?LOOK-INSIDE \?CCL66 CALL PERFORM,V?OPEN,FLOYD RTRUE ?CCL66: FSET? FLOYD,RLANDBIT \?CCL68 SET 'FLOYD-SPOKE,TRUE-VALUE EQUAL? PRSA,V?LAMP-ON \?CCL71 PRINTR "He's already been activated." ?CCL71: EQUAL? PRSA,V?LAMP-OFF \?CCL73 FCLEAR FLOYD,RLANDBIT FCLEAR FLOYD,ACTORBIT CALL INT,I-FLOYD PUT STACK,0,0 PRINTI "Floyd, shocked by this betrayal from his new-found friend, whimpers and keels over" FIRST? FLOYD \?CCL76 PRINTI ", dropping what he was carrying." CRLF JUMP ?CND74 ?CCL76: PRINTC 46 CRLF ?CND74: FIRST? FLOYD >X /?PRG78 ?PRG78: ZERO? X /TRUE NEXT? X >N /?BOGUS83 ?BOGUS83: MOVE X,HERE SET 'X,N JUMP ?PRG78 ?CCL73: EQUAL? PRSA,V?EXAMINE \?CCL85 PRINTR "From its design, the robot seems to be of the multi-purpose sort. It is slightly cross-eyed, and its mechanical mouth forms a lopsided grin." ?CCL85: EQUAL? PRSA,V?KISS \?CCL87 PRINTR "You receive a painful electric shock." ?CCL87: EQUAL? PRSA,V?SCOLD \?CCL89 PRINTR "Floyd looks defensive. ""What did Floyd do wrong?""" ?CCL89: EQUAL? PRSA,V?PLAY-WITH \?CCL91 SET 'C-ELAPSED,30 CALL QUEUE,I-FLOYD,1 PUT STACK,0,1 PRINTR "You play with Floyd for several centichrons until you drop to the floor, exhausted. Floyd pokes at you gleefully. ""C'mon! Let's play some more!""" ?CCL91: EQUAL? PRSA,V?LISTEN \?CCL93 PRINTR "Floyd is babbling about this and that." ?CCL93: EQUAL? PRSA,V?TAKE \?CCL95 EQUAL? PRSO,FLOYD \?CCL95 PRINTR "You manage to lift Floyd a few inches off the ground, but he is too heavy and you drop him suddenly. Floyd gives a surprised squeal and moves a respectable distance away." ?CCL95: EQUAL? PRSA,V?MUNG,V?ATTACK \?CCL99 PRINTR "Floyd starts dashing around the room. ""Oh boy oh boy oh boy! I haven't played Chase and Tag for years! You be It! Nah, nah!""" ?CCL99: EQUAL? PRSA,V?SHAKE,V?KICK \?CCL101 PRINTR """Why you do that?"" Floyd whines. ""I think a wire now shaken loose."" He goes off into a corner and sulks." ?CCL101: EQUAL? PRSA,V?TALK,V?HELLO \?CCL103 PRINTR """Hi!"" Floyd grins and bounces up and down." ?CCL103: EQUAL? PRSA,V?OPEN,V?SCRUB,V?SEARCH \?CCL105 PRINTR "Floyd giggles and pushes you away. ""You're tickling Floyd!"" He clutches at his side panels, laughing hysterically. Oil drops stream from his eyes." ?CCL105: EQUAL? PRSA,V?PUT,V?GIVE \?CCL107 EQUAL? FLOYD,PRSI \?CCL107 EQUAL? PRSO,LAZARUS-PART \?CCL112 REMOVE FLOYD SET 'FLOYD-FOLLOW,FALSE-VALUE MOVE LAZARUS-PART,HERE CALL QUEUE,I-FLOYD,40 PUT STACK,0,1 PRINTR "At first, Floyd is all grins because of your gift. Then, he realizes what it is, begins weeping, drops the breastplate, and rushes out of the room." ?CCL112: EQUAL? PRSO,RED-GOO,GREEN-GOO,BROWN-GOO \?CCL114 PRINTR "Floyd looks at the goo. ""Yech! Got any Number Seven Heavy Grease?""" ?CCL114: FIRST? FLOYD /?CTR115 RANDOM 100 LESS? 25,STACK /?CCL116 ?CTR115: MOVE PRSO,HERE PRINTI "Floyd examines the " PRINTD PRSO PRINTI ", shrugs, and drops " EQUAL? PRSO,PLIERS \?CCL121 PRINTR "them." ?CCL121: PRINTR "it." ?CCL116: MOVE PRSO,FLOYD PRINTR """Neat!"" exclaims Floyd. He thanks you profusely." ?CCL107: EQUAL? PRSA,V?SHOW \?CCL123 EQUAL? FLOYD,PRSI \?CCL123 EQUAL? PRSO,PRINT-OUT \?CCL128 ZERO? COMPUTER-FLAG \?CCL128 CALL COMPUTER-ACTION RSTACK ?CCL128: EQUAL? PRSO,ROBOT-HOLE \?CCL132 CALL FLOYD-THROUGH-HOLE RSTACK ?CCL132: EQUAL? HERE,REC-AREA \?CCL134 EQUAL? PRSO,PSEUDO-OBJECT \?CCL134 PRINTR """Too intellectual for Floyd. Any paddleball sets around?""" ?CCL134: EQUAL? PRSO,ID-CARD,SHUTTLE-CARD /?CTR137 EQUAL? PRSO,KITCHEN-CARD,UPPER-ELEVATOR-CARD \?CCL138 ?CTR137: PRINTR "Floyd scratches his head. ""Aren't those things usually blue?""" ?CCL138: EQUAL? PRSO,LOWER-ELEVATOR-CARD \?CCL142 ZERO? CARD-REVEALED \?CCL142 SET 'CARD-REVEALED,TRUE-VALUE PRINTR """I've got one just like that!"" says Floyd. He looks through several of his compartments, then glances at you suspiciously." ?CCL142: PRINTI "Floyd looks over the " PRINTD PRSO PRINTR ". ""Can you play any games with it?"" he asks." ?CCL123: EQUAL? PRSA,V?RUB \?CCL146 PRINTR "Floyd gives a contented sigh." ?CCL146: EQUAL? PRSA,V?SMELL \?CCL148 PRINTR "Floyd smells faintly of ozone and light machine oil." ?CCL148: EQUAL? PRSA,V?ASK-FOR \FALSE IN? PRSI,FLOYD \?CCL153 MOVE PRSI,ADVENTURER PRINTI """Okay,"" says Floyd, handing you the " PRINTD PRSI PRINTR ", ""but only because you're Floyd's best friend.""" ?CCL153: CALL FLOYD-NOT-HAVE RSTACK ?CCL68: EQUAL? PRSA,V?LAMP-ON \?CCL156 ZERO? FLOYD-INTRODUCED /?CCL159 CALL QUEUE,I-FLOYD,-1 PUT STACK,0,1 RTRUE ?CCL159: CALL QUEUE,I-FLOYD,25 PUT STACK,0,1 PRINTI "Nothing happens." CRLF ZERO? FLOYD-SCORE-FLAG \TRUE SET 'FLOYD-SCORE-FLAG,TRUE-VALUE ADD SCORE,2 >SCORE RTRUE ?CCL156: EQUAL? PRSA,V?LAMP-OFF \?CCL163 PRINTR "The robot doesn't seem to be on." ?CCL163: EQUAL? PRSA,V?EXAMINE \?CCL165 PRINTR "The de-activated robot is leaning against the wall, its head lolling to the side. It is short, and seems to be equipped for general-purpose work. It has apparently been turned off." ?CCL165: EQUAL? PRSA,V?OPEN,V?SEARCH \FALSE ZERO? CARD-REVEALED \?CCL170 ZERO? CARD-STOLEN \?CCL170 FCLEAR LOWER-ELEVATOR-CARD,INVISIBLE MOVE LOWER-ELEVATOR-CARD,ADVENTURER CALL SCORE-OBJ,LOWER-ELEVATOR-CARD SET 'CARD-STOLEN,TRUE-VALUE PRINTR "In one of the robot's compartments you find and take a magnetic-striped card embossed ""Loowur Elavaatur Akses Kard.""" ?CCL170: PRINTR "Your search discovers nothing in the robot's compartments except a single crayon which you leave where you found it." .FUNCT FLOYDS-FAMOUS-DOOR-ROUTINE EQUAL? PRSO,ROBOT-HOLE \?CCL3 CALL FLOYD-THROUGH-HOLE RSTACK ?CCL3: EQUAL? PRSO,BIO-DOOR-EAST \?CCL5 CALL FLOYD-INTO-LAB RSTACK ?CCL5: FSET? PRSO,DOORBIT \?CCL7 PRINTR """You go first,"" says Floyd." ?CCL7: PRINTR "Floyd scratches his head and looks at you." .FUNCT FLUSH ZERO? P-CONT /FALSE SET 'P-CONT,FALSE-VALUE CRLF PRINTR "Floyd scratches his head and looks at you. ""What else were you saying to Floyd? I can't remember.""" .FUNCT FLOYD-INTO-LAB ZERO? FLOYD-WAITING /?CCL3 PRINTR """As soon as you open the door, dummy.""" ?CCL3: PRINTR """Are you kidding? Floyd not going in THERE without a good reason.""" .FUNCT FLOYD-NOT-HAVE PRINTR """Floyd does not one of those have!""" .FUNCT FLOYD-COMES-ALIVE,FOO IN? FLOYD,HERE \?CND1 ZERO? FLOYD-REACTIVATED /?CCL5 SET 'FLOYD-SPOKE,TRUE-VALUE PRINTI "Floyd jumps to his feet, hopping mad. ""Why you turn Floyd off?"" he asks accusingly." CRLF JUMP ?CND1 ?CCL5: SET 'FLOYD-INTRODUCED,TRUE-VALUE SET 'FLOYD-SPOKE,TRUE-VALUE PRINTI "Suddenly, the robot comes to life and its head starts swivelling about. It notices you and bounds over. ""Hi! I'm B-19-7, but to everyperson I'm called Floyd. Are you a doctor-person or a planner-person? " FIRST? ADVENTURER >FOO \?CND6 PRINTI "That's a nice " PRINTD FOO PRINTI " you are having there. " ?CND6: PRINTI "Let's play Hider-and-Seeker you with me.""" CRLF ?CND1: FSET FLOYD,RLANDBIT FSET FLOYD,ACTORBIT FSET FLOYD,TOUCHBIT SET 'FLOYD-REACTIVATED,TRUE-VALUE RETURN FLOYD-REACTIVATED .FUNCT I-FLOYD CALL QUEUE,I-FLOYD,-1 PUT STACK,0,1 FSET? FLOYD,RLANDBIT /?CCL3 FSET FLOYD,ACTORBIT CRLF CALL FLOYD-COMES-ALIVE JUMP ?CND1 ?CCL3: IN? FLOYD,HERE \?CCL5 ZERO? FLOYD-INTRODUCED \?CCL8 SET 'FLOYD-INTRODUCED,TRUE-VALUE CRLF PRINTI "The robot, now apparently active, notices you enter. ""Hi,"" he says. ""I'm Floyd!""" CRLF JUMP ?CND1 ?CCL8: ZERO? FLOYD-FOLLOW /?CCL10 FSET? HERE,FLOYDBIT \?CCL10 RANDOM 100 LESS? 6,STACK /?CCL10 REMOVE FLOYD SET 'FLOYD-FOLLOW,FALSE-VALUE CRLF PRINTI "Floyd says ""Floyd going exploring. See you later."" He glides out of the room." CRLF JUMP ?CND1 ?CCL10: SET 'FLOYD-FOLLOW,TRUE-VALUE RANDOM 100 LESS? 40,STACK /?CND1 ZERO? FLOYD-SPOKE \?CND1 PRINTI "Floyd " CALL PICK-ONE,FLOYDISMS PRINT STACK PRINTR "." ?CCL5: ZERO? FLOYD-FOLLOW /?CCL20 RANDOM 100 LESS? 80,STACK /?CCL20 IN? LAZARUS-PART,HERE \?CND23 SET 'FLOYD-FOLLOW,FALSE-VALUE CRLF PRINTR "Floyd starts to follow you but notices the Lazarus breast plate. He sniffs and leaves the room." ?CND23: MOVE FLOYD,HERE PRINTI "Floyd follows you." CRLF CALL KLUDGE JUMP ?CND1 ?CCL20: SET 'FLOYD-FOLLOW,FALSE-VALUE EQUAL? HERE,BOOTH-1,BOOTH-2,BOOTH-3 \?CCL27 MOVE FLOYD,HERE ZERO? FLOYD-INTRODUCED \?CND28 CRLF CALL CALL-ME-FLOYD RTRUE ?CND28: CRLF PRINTI "Floyd scampers into the booth. ""Oooo, this is a tiny room,"" he remarks." CRLF JUMP ?CND1 ?CCL27: EQUAL? HERE,BIO-LOCK-EAST,BIO-LOCK-WEST \?PRD33 ZERO? FLOYD-GAVE-UP /?CTR30 ?PRD33: EQUAL? HERE,RADIATION-LOCK-EAST,RADIATION-LOCK-WEST \?CCL31 ?CTR30: MOVE FLOYD,HERE ZERO? FLOYD-INTRODUCED \?CND36 CRLF CALL CALL-ME-FLOYD RTRUE ?CND36: CRLF PRINTI "Floyd glides after you. ""Is this...is this a squash court?"" he asks." CRLF JUMP ?CND1 ?CCL31: EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR38 EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CTR38 EQUAL? HERE,UPPER-ELEVATOR,LOWER-ELEVATOR,REACTOR-ELEVATOR /?CTR38 EQUAL? HERE,MESS-HALL \?CCL39 IN? FLOYD,KITCHEN \?CCL39 ?CTR38: MOVE FLOYD,HERE ZERO? FLOYD-INTRODUCED \?CND46 CRLF CALL CALL-ME-FLOYD RTRUE ?CND46: CRLF PRINTI "Floyd bounces into the " EQUAL? HERE,UPPER-ELEVATOR,LOWER-ELEVATOR,REACTOR-ELEVATOR \?CCL50 PRINTI "elevator" JUMP ?CND48 ?CCL50: EQUAL? HERE,MESS-HALL \?CCL52 PRINTI "room" JUMP ?CND48 ?CCL52: PRINTI "cabin" ?CND48: PRINTI ". ""Hey, wait for Floyd!"" he yells, smiling broadly." CRLF JUMP ?CND1 ?CCL39: EQUAL? HERE,MINI-BOOTH \?CCL54 MOVE FLOYD,HERE ZERO? FLOYD-INTRODUCED \?CND55 CRLF CALL CALL-ME-FLOYD RTRUE ?CND55: CRLF PRINTI """Hi,"" whispers Floyd, tiptoeing in. ""Are we going to teleport into the computer like Achilles always used to do?""" CRLF JUMP ?CND1 ?CCL54: RANDOM 100 LESS? 30,STACK /?CND1 EQUAL? HERE,INFIRMARY \?CND58 ZERO? LAZARUS-FLAG \FALSE ?CND58: MOVE FLOYD,HERE ZERO? FLOYD-INTRODUCED /?CCL64 RANDOM 100 LESS? 15,STACK /?CCL67 IN? ADVENTURER,BED /?CCL67 CRLF PRINTI "Floyd rushes into the room and barrels into you. ""Oops, sorry,"" he says. ""Floyd not looking at where he was going to.""" CRLF JUMP ?CND65 ?CCL67: CRLF PRINTI "Floyd bounds into the room. ""Floyd here now!"" he cries." CRLF ?CND65: CALL KLUDGE JUMP ?CND1 ?CCL64: CRLF CALL CALL-ME-FLOYD ?CND1: SET 'FLOYD-SPOKE,FALSE-VALUE RETURN FLOYD-SPOKE .FUNCT CALL-ME-FLOYD SET 'FLOYD-INTRODUCED,TRUE-VALUE PRINTR "The robot you were fiddling with in the Robot Shop bounds into the room. ""Hi!"" he says, with a wide and friendly smile. ""You turn Floyd on? Be Floyd's friend, yes?""" .FUNCT KLUDGE EQUAL? HERE,REPAIR-ROOM \?CCL3 ZERO? ACHILLES-FLAG \?CCL3 SET 'ACHILLES-FLAG,TRUE-VALUE SET 'FLOYD-SPOKE,TRUE-VALUE PRINTR "Floyd points at the fallen robot. ""That's Achilles. He was in charge of repairing machinery. He repaired Floyd once. I never liked him much; he wasn't friendly like other robots. Looks like he fell down the stairs. He always had trouble with one of his feet working right. A Planner-person once told me that's why they named him Achilles.""" ?CCL3: EQUAL? HERE,COMPUTER-ROOM \FALSE ZERO? COMPUTER-FLAG \FALSE CALL COMPUTER-ACTION RSTACK .FUNCT DEAD-FLOYD-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "You turn to look at Floyd, but a tremendous sense of loss overcomes you, and you turn away." ?CCL3: EQUAL? PRSA,V?LAMP-ON \?CCL5 PRINTR "As you touch Floyd's on-off switch, it falls off in your hands." ?CCL5: EQUAL? PRSA,V?LAMP-OFF \FALSE PRINTR "I'm afraid that Floyd has already been turned off, permanently, and gone to that great robot shop in the sky." .FUNCT ELEVATOR-LOBBY-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a wide, brightly lit lobby. A blue metal door to the north is " FSET? UPPER-ELEVATOR-DOOR,OPENBIT \?CCL6 EQUAL? UPPER-ELEVATOR-UP,FALSE-VALUE \?CCL6 PRINTI "open" JUMP ?CND4 ?CCL6: PRINTI "closed" ?CND4: PRINTI " and a larger red metal door to the south is " FSET? LOWER-ELEVATOR-DOOR,OPENBIT \?CCL11 EQUAL? LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL11 FSET? UPPER-ELEVATOR-DOOR,OPENBIT \?CND14 EQUAL? UPPER-ELEVATOR-UP,FALSE-VALUE \?CND14 PRINTI "also " ?CND14: PRINTI "open" JUMP ?CND9 ?CCL11: FSET? UPPER-ELEVATOR-DOOR,OPENBIT \?CCL19 EQUAL? UPPER-ELEVATOR-UP,TRUE-VALUE \?CND18 ?CCL19: PRINTI "also " ?CND18: PRINTI "closed" ?CND9: PRINTR ". Beside the blue door is a blue button, and beside the red door is a red button. A corridor leads west. To the east is a small room about the size of a telephone booth." .FUNCT UPPER-ELEVATOR-F,RARG EQUAL? RARG,M-LOOK \?CCL3 PRINTI "You have entered a tiny room with a sliding door to the south which is " CALL DDESC,UPPER-ELEVATOR-DOOR PRINTR ". A control panel contains an Up button, a Down button, and a narrow slot." ?CCL3: EQUAL? RARG,M-END \FALSE FSET? UPPER-ELEVATOR-DOOR,OPENBIT /FALSE RANDOM 100 LESS? 10,STACK /FALSE PRINTR "Some innocuous Hawaiian music oozes from the elevator's intercom." .FUNCT LOWER-ELEVATOR-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a medium-sized room with a door to the north which is " CALL DDESC,LOWER-ELEVATOR-DOOR PRINTR ". A control panel contains an Up button, a Down button, and a narrow slot." .FUNCT ELEVATOR-ENTER-F EQUAL? PRSO,P?NORTH \?CCL3 FSET? UPPER-ELEVATOR-DOOR,OPENBIT \?CCL6 EQUAL? UPPER-ELEVATOR-UP,FALSE-VALUE \?CCL6 RETURN UPPER-ELEVATOR ?CCL6: CALL DOOR-CLOSED RFALSE ?CCL3: EQUAL? PRSO,P?SOUTH \FALSE FSET? LOWER-ELEVATOR-DOOR,OPENBIT \?CCL13 EQUAL? LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL13 RETURN LOWER-ELEVATOR ?CCL13: CALL DOOR-CLOSED RFALSE .FUNCT ELEVATOR-EXIT-F EQUAL? HERE,UPPER-ELEVATOR \?CCL3 FSET? UPPER-ELEVATOR-DOOR,OPENBIT \?CCL6 EQUAL? UPPER-ELEVATOR-UP,TRUE-VALUE \?CCL9 RETURN TOWER-CORE ?CCL9: RETURN ELEVATOR-LOBBY ?CCL6: CALL DOOR-CLOSED RFALSE ?CCL3: EQUAL? HERE,LOWER-ELEVATOR \FALSE FSET? LOWER-ELEVATOR-DOOR,OPENBIT \?CCL14 EQUAL? LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL17 RETURN ELEVATOR-LOBBY ?CCL17: RETURN WAITING-AREA ?CCL14: CALL DOOR-CLOSED RFALSE .FUNCT UPPER-ELEVATOR-DOOR-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? UPPER-ELEVATOR-DOOR,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: PRINTR "It won't budge." ?CCL3: EQUAL? PRSA,V?CLOSE \FALSE FSET? UPPER-ELEVATOR-DOOR,OPENBIT \?CCL11 PRINTR "You can't close it yourself." ?CCL11: CALL IS-CLOSED RSTACK .FUNCT LOWER-ELEVATOR-DOOR-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? LOWER-ELEVATOR-DOOR,OPENBIT \?CCL6 EQUAL? HERE,ELEVATOR-LOBBY \?CCL6 EQUAL? LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: FSET? LOWER-ELEVATOR-DOOR,OPENBIT \?CCL11 EQUAL? HERE,WAITING-AREA \?CCL11 EQUAL? LOWER-ELEVATOR-UP,FALSE-VALUE \?CCL11 CALL ALREADY-OPEN RSTACK ?CCL11: PRINTR "It won't budge." ?CCL3: EQUAL? PRSA,V?CLOSE \FALSE FSET? LOWER-ELEVATOR-DOOR,OPENBIT \?CCL19 EQUAL? HERE,ELEVATOR-LOBBY \?CCL19 EQUAL? LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL19 PRINTR "You can't close it yourself." ?CCL19: FSET? LOWER-ELEVATOR-DOOR,OPENBIT \?CCL24 EQUAL? HERE,WAITING-AREA \?CCL24 EQUAL? LOWER-ELEVATOR-UP,FALSE-VALUE \?CCL24 PRINTR "You can't close it yourself." ?CCL24: CALL IS-CLOSED RSTACK .FUNCT DOOR-CLOSED PRINTR "The door is closed." .FUNCT BLUE-ELEVATOR-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE EQUAL? UPPER-ELEVATOR-UP,TRUE-VALUE \FALSE CALL INT,I-UPPER-ELEVATOR-ARRIVE GET STACK,C-ENABLED? EQUAL? STACK,1 \?CCL8 PRINTR "Patience, patience..." ?CCL8: RANDOM 20 ADD STACK,40 CALL QUEUE,I-UPPER-ELEVATOR-ARRIVE,STACK PUT STACK,0,1 PRINTR "You hear a faint whirring noise from behind the blue door." .FUNCT RED-ELEVATOR-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE EQUAL? LOWER-ELEVATOR-UP,FALSE-VALUE \FALSE CALL INT,I-LOWER-ELEVATOR-ARRIVE GET STACK,C-ENABLED? EQUAL? STACK,1 \?CCL8 PRINTR "Patience, patience..." ?CCL8: RANDOM 40 ADD STACK,80 CALL QUEUE,I-LOWER-ELEVATOR-ARRIVE,STACK PUT STACK,0,1 PRINTR "The red door begins vibrating a bit." .FUNCT I-UPPER-ELEVATOR-ARRIVE FSET UPPER-ELEVATOR-DOOR,OPENBIT SET 'UPPER-ELEVATOR-UP,FALSE-VALUE CALL INT,I-UPPER-ELEVATOR-ARRIVE PUT STACK,0,0 EQUAL? HERE,ELEVATOR-LOBBY \FALSE CRLF PRINTR "The door at the north end of the room slides open." .FUNCT I-LOWER-ELEVATOR-ARRIVE FSET LOWER-ELEVATOR-DOOR,OPENBIT SET 'LOWER-ELEVATOR-UP,TRUE-VALUE CALL INT,I-LOWER-ELEVATOR-ARRIVE PUT STACK,0,0 EQUAL? HERE,ELEVATOR-LOBBY \FALSE CRLF PRINTR "The door at the south end of the room slides open." .FUNCT ELEVATOR-BUTTON-F EQUAL? PRSA,V?PUSH-UP \?CCL3 EQUAL? HERE,LOWER-ELEVATOR \?CCL6 EQUAL? LOWER-ELEVATOR-UP,FALSE-VALUE \?CCL6 EQUAL? LOWER-ELEVATOR-ON,TRUE-VALUE \?CCL6 EQUAL? ELEVATOR-IN-TRANSIT,FALSE-VALUE \?CCL6 PRINT ELEVATOR-STARTS CRLF FCLEAR LOWER-ELEVATOR-DOOR,OPENBIT SET 'ELEVATOR-IN-TRANSIT,TRUE-VALUE CALL QUEUE,I-LOWER-ELEVATOR-TRIP,100 PUT STACK,0,1 RTRUE ?CCL6: EQUAL? HERE,UPPER-ELEVATOR \?CCL12 EQUAL? UPPER-ELEVATOR-UP,FALSE-VALUE \?CCL12 EQUAL? UPPER-ELEVATOR-ON,TRUE-VALUE \?CCL12 EQUAL? ELEVATOR-IN-TRANSIT,FALSE-VALUE \?CCL12 PRINT ELEVATOR-STARTS CRLF FCLEAR UPPER-ELEVATOR-DOOR,OPENBIT SET 'ELEVATOR-IN-TRANSIT,TRUE-VALUE CALL QUEUE,I-UPPER-ELEVATOR-TRIP,50 PUT STACK,0,1 RTRUE ?CCL12: PRINTR "Nothing happens." ?CCL3: EQUAL? PRSA,V?PUSH-DOWN \?CCL18 EQUAL? HERE,LOWER-ELEVATOR \?CCL21 EQUAL? LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL21 EQUAL? LOWER-ELEVATOR-ON,TRUE-VALUE \?CCL21 EQUAL? ELEVATOR-IN-TRANSIT,FALSE-VALUE \?CCL21 PRINT ELEVATOR-STARTS CRLF FCLEAR LOWER-ELEVATOR-DOOR,OPENBIT SET 'ELEVATOR-IN-TRANSIT,TRUE-VALUE CALL QUEUE,I-LOWER-ELEVATOR-TRIP,100 PUT STACK,0,1 RTRUE ?CCL21: EQUAL? HERE,UPPER-ELEVATOR \?CCL27 EQUAL? UPPER-ELEVATOR-UP,TRUE-VALUE \?CCL27 EQUAL? UPPER-ELEVATOR-ON,TRUE-VALUE \?CCL27 EQUAL? ELEVATOR-IN-TRANSIT,FALSE-VALUE \?CCL27 PRINT ELEVATOR-STARTS CRLF FCLEAR UPPER-ELEVATOR-DOOR,OPENBIT SET 'ELEVATOR-IN-TRANSIT,TRUE-VALUE CALL QUEUE,I-UPPER-ELEVATOR-TRIP,50 PUT STACK,0,1 RTRUE ?CCL27: PRINTR "Nothing happens." ?CCL18: EQUAL? PRSA,V?PUSH \FALSE PRINTR "You must specify whether you want to push the Up button or the Down button." .FUNCT I-TURNOFF-UPPER-ELEVATOR ZERO? ELEVATOR-IN-TRANSIT /?CCL3 CALL QUEUE,I-TURNOFF-UPPER-ELEVATOR,120 PUT STACK,0,1 RFALSE ?CCL3: SET 'UPPER-ELEVATOR-ON,FALSE-VALUE EQUAL? HERE,UPPER-ELEVATOR \FALSE CRLF PRINT ELEVATOR-LIGHT-OFF CRLF RFALSE .FUNCT I-TURNOFF-LOWER-ELEVATOR ZERO? ELEVATOR-IN-TRANSIT /?CCL3 CALL QUEUE,I-TURNOFF-LOWER-ELEVATOR,120 PUT STACK,0,1 RFALSE ?CCL3: SET 'LOWER-ELEVATOR-ON,FALSE-VALUE EQUAL? HERE,LOWER-ELEVATOR \FALSE CRLF PRINT ELEVATOR-LIGHT-OFF CRLF RFALSE .FUNCT I-UPPER-ELEVATOR-TRIP EQUAL? UPPER-ELEVATOR-UP,TRUE-VALUE \?CCL3 SET 'UPPER-ELEVATOR-UP,FALSE-VALUE SET 'ELEVATOR-IN-TRANSIT,FALSE-VALUE FSET UPPER-ELEVATOR-DOOR,OPENBIT CRLF CALL ELEVATOR-DOOR-OPENS RSTACK ?CCL3: SET 'UPPER-ELEVATOR-UP,TRUE-VALUE SET 'ELEVATOR-IN-TRANSIT,FALSE-VALUE FSET UPPER-ELEVATOR-DOOR,OPENBIT CRLF CALL ELEVATOR-DOOR-OPENS RSTACK .FUNCT I-LOWER-ELEVATOR-TRIP EQUAL? LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL3 SET 'LOWER-ELEVATOR-UP,FALSE-VALUE SET 'ELEVATOR-IN-TRANSIT,FALSE-VALUE FSET LOWER-ELEVATOR-DOOR,OPENBIT CRLF CALL ELEVATOR-DOOR-OPENS RSTACK ?CCL3: SET 'LOWER-ELEVATOR-UP,TRUE-VALUE SET 'ELEVATOR-IN-TRANSIT,FALSE-VALUE FSET LOWER-ELEVATOR-DOOR,OPENBIT CRLF CALL ELEVATOR-DOOR-OPENS RSTACK .FUNCT ELEVATOR-DOOR-OPENS PRINTR "The elevator door slides open." .FUNCT HELICOPTER-OBJECT-F EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL3 EQUAL? HERE,HELIPAD \?CCL6 CALL GOTO,HELICOPTER RSTACK ?CCL6: PRINTR "You're in it!" ?CCL3: EQUAL? PRSA,V?DISEMBARK,V?DROP,V?EXIT \?CCL8 EQUAL? HERE,HELICOPTER \?CCL11 CALL GOTO,HELIPAD RSTACK ?CCL11: PRINTR "You're not in it!" ?CCL8: EQUAL? PRSA,V?FLY \FALSE EQUAL? HERE,HELICOPTER \?CCL16 PRINTR "The controls seem to be locked." ?CCL16: PRINTR "You're not even in it!" .FUNCT COMM-ROOM-F,RARG EQUAL? RARG,M-LOOK \?CCL3 PRINTI "This is a small room with no windows. The sole exit is southwest. Two wide consoles fill either end of the room; thick cables lead up into the ceiling. The console on the left side of the room is labelled ""Reeseev Staashun."" A bright red light, labelled ""Tranzmishun Reeseevd"", is blinking rapidly. Next to the light is a glowing button marked ""Mesij Plaabak."" The console on the right side of the room is labelled ""Send Staashun."" A screen on the console displays a message. Next to the screen is a flashing sign which says " ZERO? COMM-SHUTDOWN /?CCL6 CALL SHUTDOWN JUMP ?CND4 ?CCL6: ZERO? COMM-FIXED /?CCL8 PRINTI """Tranzmishun in pragres.""" JUMP ?CND4 ?CCL8: PRINTI """Malfunkshun in Sendeeng Kuulint Sistum.""" ?CND4: PRINTI " Next to this console is an enunciator" ZERO? COMM-FIXED \?CCL10 ZERO? COMM-SHUTDOWN /?CND9 ?CCL10: PRINTI " whose lights are all dark" ?CND9: PRINTR ". On the console next to the enunciator panel is a funnel-shaped hole labelled ""Kuulint Sistum Manyuuwul Oovuriid.""" ?CCL3: EQUAL? RARG,M-END \FALSE ZERO? COMM-FIXED \FALSE ZERO? COMM-SHUTDOWN \FALSE ZERO? JUST-ENTERED /FALSE CALL QUEUE,I-UNENTER,-1 PUT STACK,0,1 SET 'JUST-ENTERED,FALSE-VALUE PRINTI "A " EQUAL? CHEMICAL-REQUIRED,1 \?CCL21 PRINTI "red" JUMP ?CND19 ?CCL21: EQUAL? CHEMICAL-REQUIRED,2 \?CCL23 PRINTI "blue" JUMP ?CND19 ?CCL23: EQUAL? CHEMICAL-REQUIRED,3 \?CCL25 PRINTI "green" JUMP ?CND19 ?CCL25: EQUAL? CHEMICAL-REQUIRED,4 \?CCL27 PRINTI "yellow" JUMP ?CND19 ?CCL27: EQUAL? CHEMICAL-REQUIRED,5 \?CCL29 PRINTI "gray" JUMP ?CND19 ?CCL29: EQUAL? CHEMICAL-REQUIRED,6 \?CCL31 PRINTI "brown" JUMP ?CND19 ?CCL31: EQUAL? CHEMICAL-REQUIRED,7 \?CND19 PRINTI "black" ?CND19: PRINTR " colored light is flashing on the enunciator panel." .FUNCT I-UNENTER EQUAL? HERE,COMM-ROOM /FALSE SET 'JUST-ENTERED,TRUE-VALUE CALL INT,I-UNENTER PUT STACK,0,0 RFALSE .FUNCT PLAYBACK-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE PRINTR "A voice fills the room ... the voice of the Feinstein's communications officer! ""Stellar Patrol Ship Feinstein to planetside ... Please respond on frequency 48.5 ... SPS Feinstein to planetside ... Please come in ..."" After a pause you hear the officer, in a quieter voice, say ""Admiral, no response on any of the standard frequen..."" The sentence is cut short by the sound of an explosion and a loud burst of static, followed by silence." .FUNCT RANDOMIZE-ORDER,COUNT=0,TEMP,?TMP1,?TMP2 ?PRG1: IGRTR? 'COUNT,7 /?REP2 PUT ORDER-LTBL,COUNT,FALSE-VALUE JUMP ?PRG1 ?REP2: SET 'COUNT,0 ?PRG6: IGRTR? 'COUNT,7 /TRUE RANDOM 7 >TEMP GET ORDER-LTBL,1 >?TMP2 GET ORDER-LTBL,2 >?TMP1 GET ORDER-LTBL,3 EQUAL? TEMP,?TMP2,?TMP1,STACK /?CTR12 GET ORDER-LTBL,4 >?TMP2 GET ORDER-LTBL,5 >?TMP1 GET ORDER-LTBL,6 EQUAL? TEMP,?TMP2,?TMP1,STACK /?CTR12 GET ORDER-LTBL,7 EQUAL? TEMP,STACK \?CCL13 ?CTR12: DEC 'COUNT JUMP ?PRG6 ?CCL13: PUT ORDER-LTBL,COUNT,TEMP JUMP ?PRG6 .FUNCT CHEMICAL-FLUID-F EQUAL? PRSA,V?EAT \?CCL3 CALL JIGS-UP,STR?184 RSTACK ?CCL3: EQUAL? PRSA,V?PUT \?CCL5 EQUAL? PRSI,CHEMICAL-FLUID \?CCL5 CALL PERFORM,V?PUT,PRSO,FLASK RTRUE ?CCL5: EQUAL? PRSA,V?POUR,V?THROW \?CCL9 EQUAL? PRSI,RAT-ANT,TROLL /?CTR8 EQUAL? PRSI,GRUE,TRIFFID \?CCL9 ?CTR8: CALL HELD?,FLASK ZERO? STACK \?CND14 PRINTR "You're not holding the flask." ?CND14: REMOVE CHEMICAL-FLUID PRINTR "The mutants lap up the chemical, howling with delight. One immediately grows three new mouths." ?CCL9: EQUAL? PRSA,V?POUR,V?PUT \FALSE CALL HELD?,FLASK ZERO? STACK \?CCL20 PRINTR "You're not holding the flask." ?CCL20: EQUAL? PRSI,CANTEEN \?CND18 CALL WORTHLESS-ACTION RTRUE ?CND18: REMOVE CHEMICAL-FLUID ZERO? PRSI \?CND22 SET 'PRSI,GROUND ?CND22: EQUAL? PRSI,FUNNEL-HOLE \?CCL26 EQUAL? CHEMICAL-FLAG,CHEMICAL-REQUIRED \?CCL29 GET ORDER-LTBL,STEPS-TO-GO >CHEMICAL-REQUIRED DEC 'STEPS-TO-GO PRINTI "The liquid disappears into the hole. The lights on the enunciator panel blink rapidly " ZERO? STEPS-TO-GO \?CCL32 SET 'COMM-FIXED,TRUE-VALUE ADD SCORE,6 >SCORE SET 'CHEMICAL-REQUIRED,10 PRINTR "and then go dark. The coolant system warning light goes off, and another flashes, indicating that the help message is now being sent." ?CCL32: PRINTI "and all go off except one, a " EQUAL? CHEMICAL-REQUIRED,1 \?CCL35 PRINTI "red" JUMP ?CND33 ?CCL35: EQUAL? CHEMICAL-REQUIRED,2 \?CCL37 PRINTI "blue" JUMP ?CND33 ?CCL37: EQUAL? CHEMICAL-REQUIRED,3 \?CCL39 PRINTI "green" JUMP ?CND33 ?CCL39: EQUAL? CHEMICAL-REQUIRED,4 \?CCL41 PRINTI "yellow" JUMP ?CND33 ?CCL41: EQUAL? CHEMICAL-REQUIRED,5 \?CCL43 PRINTI "gray" JUMP ?CND33 ?CCL43: EQUAL? CHEMICAL-REQUIRED,6 \?CCL45 PRINTI "brown" JUMP ?CND33 ?CCL45: EQUAL? CHEMICAL-REQUIRED,7 \?CND33 PRINTI "black" ?CND33: PRINTR " light." ?CCL29: SET 'COMM-SHUTDOWN,TRUE-VALUE ZERO? COMM-FIXED /?CND47 SUB SCORE,6 >SCORE SET 'COMM-FIXED,FALSE-VALUE ?CND47: PRINTI "An alarm sounds briefly, and a sign flashes " CALL SHUTDOWN PRINTR " A moment later, the lights in the room dim and the send console shuts down." ?CCL26: EQUAL? CHEMICAL-FLAG,8,9 \?CCL50 FSET? PRSI,ACIDBIT \?CCL53 EQUAL? PRSI,SPOUT-PLACED \?CND54 SET 'SPOUT-PLACED,GROUND ?CND54: REMOVE PRSI PRINTI "The " PRINTD PRSI PRINTI " dissolves right before your eyes!" EQUAL? PRSI,BAD-BEDISTOR \?CCL58 FSET? BAD-BEDISTOR,TOUCHBIT /?CCL58 FSET CUBE,MUNGEDBIT CALL CUBE-SEEMS JUMP ?CND56 ?CCL58: EQUAL? PRSI,GOOD-BEDISTOR \?CND56 ZERO? COURSE-CONTROL-FIXED /?CND56 FSET CUBE,MUNGEDBIT SUB SCORE,6 >SCORE SET 'COURSE-CONTROL-FIXED,FALSE-VALUE CALL CUBE-SEEMS ?CND56: CRLF RTRUE ?CCL53: EQUAL? CREVICE,PRSI \?CCL65 FSET? KEY,TOUCHBIT /?CCL65 FSET? KEY,INVISIBLE \?CCL70 PRINTI "A puff of smoke rises from the crevice." CRLF JUMP ?CND68 ?CCL70: PRINTI "Although the chemical has no effect on the crevice, it does seem to have dissolved the key that was lying in it." CRLF ?CND68: REMOVE KEY FSET KEY,TOUCHBIT FCLEAR KEY,INVISIBLE RTRUE ?CCL65: EQUAL? PRSI,HIGH-PROTEIN,MEDICINE \?CCL72 CALL JIGS-UP,STR?185 RSTACK ?CCL72: EQUAL? PRSI,ME,ADVENTURER,HANDS \?CCL74 CALL JIGS-UP,STR?186 RSTACK ?CCL74: EQUAL? PRSI,FLOYD \?CCL76 FSET? FLOYD,RLANDBIT \?CCL76 PRINTR "Floyd yelps. ""Hey, cut it out! That stuff burns!""" ?CCL76: EQUAL? PRSI,MICROBE \?CCL80 PRINTI "The microbe writhes in pain. " CALL STRIP-DISSOLVES RSTACK ?CCL80: EQUAL? PRSI,STRIP,RELAY \?CCL82 CALL STRIP-DISSOLVES RSTACK ?CCL82: FSET? PRSI,MUNGBIT \?CCL84 FSET PRSI,MUNGEDBIT EQUAL? PRSI,CHRONOMETER \?CND85 SET 'MUNGED-TIME,INTERNAL-MOVES ?CND85: PRINTI "The " PRINTD PRSI PRINTI " seems to undergo some damage as a result of your action." CRLF EQUAL? PRSI,CUBE \TRUE ZERO? COURSE-CONTROL-FIXED /TRUE SET 'COURSE-CONTROL-FIXED,FALSE-VALUE REMOVE GOOD-BEDISTOR SUB SCORE,6 >SCORE PRINTR "The bedistor also happens to dissolve." ?CCL84: CALL CHEMICAL-POURS RSTACK ?CCL50: CALL CHEMICAL-POURS RSTACK .FUNCT CUBE-SEEMS PRINTI " Unfortunately, the cube seems to undergo some damage as well." RTRUE .FUNCT CHEMICAL-POURS PRINTI "The chemical pours all over the " PRINTD PRSI PRINTR ", making quite a mess." .FUNCT STRIP-DISSOLVES CALL JIGS-UP,STR?187 RSTACK .FUNCT SHUTDOWN PRINTI """Kuulint Sistum Imbalins Kritikul -- Shuteeng Down Awl Sistumz.""" RTRUE .FUNCT COMM-SETUP RANDOM 3 ADD 2,STACK >OLD-SHOTS RANDOM 10 ADD 20,STACK >NEW-SHOTS CALL RANDOMIZE-ORDER RANDOM 2 ADD 1,STACK >STEPS-TO-GO ADD STEPS-TO-GO,1 GET ORDER-LTBL,STACK >CHEMICAL-REQUIRED RETURN CHEMICAL-REQUIRED .FUNCT OTHER-ELEVATOR-ENTER-F FSET? LOWER-ELEVATOR-DOOR,OPENBIT \?CCL3 ZERO? LOWER-ELEVATOR-UP \?CCL3 RETURN LOWER-ELEVATOR ?CCL3: CALL DOOR-CLOSED CALL THIS-IS-IT,LOWER-ELEVATOR-DOOR RFALSE .FUNCT KALAMONTEE-PLATFORM-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a wide, flat strip of concrete which continues westward. " ZERO? BETTY-AT-KALAMONTEE /?CCL6 ZERO? ALFIE-AT-KALAMONTEE /?CCL6 PRINTI "Open shuttle cars lie on the north and south sides of the platform. " JUMP ?CND4 ?CCL6: ZERO? BETTY-AT-KALAMONTEE /?CCL10 PRINTI "An open shuttle car lies to the north. " JUMP ?CND4 ?CCL10: ZERO? ALFIE-AT-KALAMONTEE /?CND4 PRINTI "A large transport of some sort lies to the south, its open door beckoning you to enter. " ?CND4: PRINTR "A faded sign on the wall reads ""Shutul Platform -- Kalamontee Staashun.""" .ENDI ================================================ FILE: compone.zil ================================================ "COMPONE for PLANETFALL (C) COPYRIGHT 1983 INFOCOM, INC. ALL RIGHTS RESERVED This file contains all the rooms, objects, and actions associated with Complex One / the Western Complex / the Kalamontee Compleks." ) (UP TO CRAG) (DOWN TO UNDERWATER) (WEST TO UNDERWATER) (NORTH TO UNDERWATER) (SOUTH TO UNDERWATER) (FLAGS ONBIT RWATERBIT) (ACTION UNDERWATER-F)> ;"you die if you return to Underwater or stay too long" > )>)>> ) (DOWN TO UNDERWATER) (UP TO BALCONY) (FLAGS ONBIT RLANDBIT) (VALUE 3) (GLOBAL CLIFF OCEAN) (PSEUDO "STRUCTURE" STRUCTURE-PSEUDO "CLEFT" CLEFT-PSEUDO) (ACTION CRAG-F)> )>> ) (DOWN PER WATER-LEVEL-F) (UP TO WINDING-STAIR) (FLAGS ONBIT RLANDBIT) (PSEUDO "PLAQUE" PLAQUE-PSEUDO) (GLOBAL CLIFF OCEAN STAIRS WINDOW) (ACTION BALCONY-F)> ) ( ) ( )>)>> ) (DOWN PER WATER-LEVEL-F) (UP TO COURTYARD) (FLAGS ONBIT RLANDBIT) (GLOBAL CLIFF STAIRS) (ACTION WINDING-STAIR-F)> ) ( )> )>> ) (DOWN TO WINDING-STAIR) (SOUTH TO WINDING-STAIR) (WEST TO WEST-WING) (NORTH TO PLAIN-HALL) (FLAGS ONBIT RLANDBIT FLOYDBIT) (GLOBAL STAIRS) (PSEUDO "CASTLE" CASTLE-PSEUDO "RUBBLE" RUBBLE-PSEUDO) (ACTION COURTYARD-F)> ) ( )> )>> ,CRAG) (T ,UNDERWATER)>) ( ,BALCONY) (T ,UNDERWATER)>) ( ,WINDING-STAIR) (T ,UNDERWATER)>)>> ) (EAST TO COURTYARD) (DOWN "Certain death.") (FLAGS ONBIT RLANDBIT FLOYDBIT) (GLOBAL CLIFF OCEAN) (PSEUDO "CASTLE" CASTLE-PSEUDO "RUBBLE" RUBBLE-PSEUDO)> ) (SOUTH TO COURTYARD) (NORTH TO REC-AREA) (NE TO REC-CORRIDOR) (FLAGS ONBIT RLANDBIT)> ) (NORTH TO CONFERENCE-ROOM IF CONFERENCE-DOOR IS OPEN) (SOUTH TO PLAIN-HALL) (EAST TO REC-CORRIDOR) (FLAGS ONBIT RLANDBIT FLOYDBIT) (GLOBAL CONFERENCE-DOOR) (PSEUDO "GAMES" GAMES-PSEUDO "TAPES" TAPES-PSEUDO) (ACTION REC-AREA-F)> ) (T )> )>> ) (SOUTH TO REC-AREA IF CONFERENCE-DOOR IS OPEN) (OUT TO REC-AREA IF CONFERENCE-DOOR IS OPEN) (IN TO BOOTH-1) (NORTH TO BOOTH-1) (FLAGS RLANDBIT ONBIT) (PSEUDO "BOOTH" NEAR-BOOTH-PSEUDO) (GLOBAL CONFERENCE-DOOR TABLES) (ACTION CONFERENCE-ROOM-F)> )>> ) ( > ) ( ) ( ) ( ) (T )>)>> ) (T ) (T )>)>) ( ) (T )>)>> ) (SOUTH TO CONFERENCE-ROOM) (OUT TO CONFERENCE-ROOM) (PSEUDO "BOOTH" IN-BOOTH-PSEUDO) (FLAGS ONBIT RLANDBIT) (GLOBAL CONTROLS SLOT TELEPORTATION-BUTTON-2 TELEPORTATION-BUTTON-3)> ) (WEST TO REC-AREA) (NORTH TO DORM-B) (SOUTH TO DORM-A) (EAST TO MESS-CORRIDOR) (SW TO PLAIN-HALL) (FLAGS ONBIT RLANDBIT)> ) (SOUTH TO SANFAC-A) (NORTH TO REC-CORRIDOR) (FLAGS FLOYDBIT ONBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION" PARTITION-PSEUDO)> ) (NORTH TO DORM-A) (FLAGS ONBIT RLANDBIT FLOYDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (SOUTH TO REC-CORRIDOR) (NORTH TO SANFAC-B) (FLAGS FLOYDBIT ONBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION" PARTITION-PSEUDO)> ) (SOUTH TO DORM-B) (FLAGS FLOYDBIT ONBIT RLANDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (NORTH TO DORM-CORRIDOR) (SOUTH TO SANFAC-C) (FLAGS ONBIT FLOYDBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION" PARTITION-PSEUDO)> ) (NORTH TO DORM-C) (FLAGS FLOYDBIT ONBIT RLANDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (SOUTH TO DORM-CORRIDOR) (NORTH TO SANFAC-D) (FLAGS FLOYDBIT ONBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION" PARTITION-PSEUDO)> ) (SOUTH TO DORM-D) (FLAGS ONBIT FLOYDBIT RLANDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (SOUTH TO MESS-HALL) (NORTH TO STORAGE-WEST IF STORAGE-WEST-DOOR IS OPEN) (EAST TO DORM-CORRIDOR) (WEST TO REC-CORRIDOR) (FLAGS ONBIT RLANDBIT) (GLOBAL STORAGE-WEST-DOOR) (ACTION MESS-CORRIDOR-F)> ) (T )>)> )>> ) (,PADLOCK-REMOVED ) (T )>) ( ) (T )>) ( > )> )>> > ;"is the padlock still on the door?" ) ( > ) ( > ) ( ) (T )>) (T )>) (T )>) ( ) (T )>) ( > ) (> )>) ( )>> ) (SOUTH TO MESS-CORRIDOR IF STORAGE-WEST-DOOR IS OPEN) (OUT TO MESS-CORRIDOR IF STORAGE-WEST-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (VALUE 4) (GLOBAL SHELVES STORAGE-WEST-DOOR)> ) ( )>> > ;"is the ladder extended?" > ;"is the ladder spanning the rift?" )>) ( ) (T )>) ( ) ( > ) ( ) (T )>) ( > ) (T > )>) (T )>) ( > ) (T ) (T )>)>) ( ) ( )>)>> ) (NORTH TO DORM-D) (SOUTH TO DORM-C) (WEST TO MESS-CORRIDOR) (EAST PER LONG-HALL-F) (FLAGS ONBIT RLANDBIT) (PSEUDO "WALKWAY" WALKWAY-PSEUDO)> ) (NORTH TO MESS-CORRIDOR) (OUT TO MESS-CORRIDOR) (SOUTH TO KITCHEN IF KITCHEN-DOOR IS OPEN) (IN TO KITCHEN IF KITCHEN-DOOR IS OPEN) (GLOBAL TABLES KITCHEN-DOOR SLOT) (FLAGS ONBIT FLOYDBIT RLANDBIT) (PSEUDO "BENCH" BENCH-PSEUDO "BENCHE" BENCH-PSEUDO) (ACTION MESS-HALL-F)> )>> )>> ) (NORTH TO MESS-HALL) (OUT TO MESS-HALL) (GLOBAL KITCHEN-DOOR) (PSEUDO "SPOUT" SPOUT-PSEUDO "BUTTON" BUTTON-PSEUDO) (FLAGS ONBIT RLANDBIT) (VALUE 4)> )> ) ( ) ( ) (T )>)>> )) > ) (T ) (T > )>)>) ( > > ) ( )> ) ( )> )> ) (T )>)>> > ) (NORTH TO ADMIN-CORRIDOR-S) (SOUTH TO MECH-CORRIDOR-N) (WEST PER LONG-HALL-F) (EAST TO ELEVATOR-LOBBY) (FLAGS FLOYDBIT RLANDBIT ONBIT) (PSEUDO "WALKWAY" WALKWAY-PSEUDO)> ,DORM-CORRIDOR) (T ,CORRIDOR-JUNCTION)>> ) (SOUTH TO CORRIDOR-JUNCTION) (NORTH TO ADMIN-CORRIDOR) (EAST TO SANFAC-E) (FLAGS RLANDBIT ONBIT) (ACTION ADMIN-CORRIDOR-S-F)> > )>> ) ( ) (T )>)>> >> ) ( ) (,PRSI ) (T )>) ( > )>> ) (SOUTH TO ADMIN-CORRIDOR-S) (NORTH PER LADDER-EXIT-F) (WEST TO SYSTEMS-MONITORS) (FLAGS RLANDBIT ONBIT) (GLOBAL RIFT) (PSEUDO "RUBBLE" RUBBLE-PSEUDO) (ACTION ADMIN-CORRIDOR-F)> > ) ( )> )>> ) (SOUTH PER LADDER-EXIT-F) (NORTH TO TRANSPORTATION-SUPPLY) (EAST TO PLAN-ROOM) (WEST TO SMALL-OFFICE) (FLAGS RLANDBIT ONBIT) (VALUE 4) (GLOBAL RIFT) (ACTION ADMIN-CORRIDOR-N-F)> > ) ( )> )>> ,ADMIN-CORRIDOR) (T ,ADMIN-CORRIDOR-N)>) (T )>> ) ( > >)> ) (T )>) ( )>> ) (WEST TO ADMIN-CORRIDOR-S) (OUT TO ADMIN-CORRIDOR-S) (FLAGS FLOYDBIT RLANDBIT ONBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (EAST TO ADMIN-CORRIDOR) (OUT TO ADMIN-CORRIDOR) (FLAGS FLOYDBIT RLANDBIT ONBIT) (GLOBAL TABLES) (PSEUDO "MONITORS" MONITORS-PSEUDO "EQUIPM" EQUIPMENT-PSEUDO) (ACTION SYSTEMS-MONITORS-F)> )>> )> )> )> > )> )> )> )> > )> )> > ) (WEST TO ADMIN-CORRIDOR-N) (FLAGS RLANDBIT ONBIT FLOYDBIT) (PSEUDO "CUBBYHOLE" CUBBYHOLE-PSEUDO "MAPS" MAPS-PSEUDO)> ) (SOUTH TO ADMIN-CORRIDOR-N) (NORTH TO TRANSPORTATION-SUPPLY) (EAST TO TRANSPORTATION-SUPPLY) (WEST TO TRANSPORTATION-SUPPLY) (OUT TO ADMIN-CORRIDOR-N) (FLAGS RLANDBIT)> ) (EAST TO ADMIN-CORRIDOR-N) (WEST TO LARGE-OFFICE) (FLAGS RLANDBIT FLOYDBIT ONBIT)> ) (EAST TO SMALL-OFFICE) (FLAGS FLOYDBIT RLANDBIT ONBIT) (GLOBAL WINDOW OCEAN)> )>> ) (EAST TO STORAGE-EAST) (WEST TO PHYSICAL-PLANT) (NORTH TO CORRIDOR-JUNCTION) (SOUTH TO MECH-CORRIDOR) (FLAGS RLANDBIT ONBIT)> ) (EAST TO REACTOR-CONTROL) (WEST TO PHYSICAL-PLANT) (NORTH TO MECH-CORRIDOR-N) (SOUTH TO MECH-CORRIDOR-S) (FLAGS RLANDBIT ONBIT)> ) (NORTH TO MECH-CORRIDOR) (SW TO TOOL-ROOM) (SOUTH TO MACHINE-SHOP) (SE TO ROBOT-SHOP) (FLAGS RLANDBIT ONBIT)> ) (WEST TO MECH-CORRIDOR-N) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL SHELVES)> )> ) ( )>> )>> )>> ,COURSE-CONTROL-FIXED> )>> ) (NE TO MECH-CORRIDOR-N) (SE TO MECH-CORRIDOR) (FLAGS FLOYDBIT RLANDBIT ONBIT) (PSEUDO "EQUIPM" EQUIPMENT-PSEUDO "CATWALK" CATWALK-PSEUDO)> ) (WEST TO MECH-CORRIDOR) (EAST TO REACTOR-ELEVATOR IF REACTOR-ELEVATOR-DOOR IS OPEN) (IN TO REACTOR-ELEVATOR IF REACTOR-ELEVATOR-DOOR IS OPEN) (DOWN TO REACTOR-ACCESS-STAIRS) (FLAGS RLANDBIT FLOYDBIT ONBIT) (PSEUDO "BUTTON" REACTOR-BUTTON-PSEUDO "DIAGRAM" DIAGRAM-PSEUDO) (GLOBAL CONTROLS STAIRS REACTOR-ELEVATOR-DOOR)> ) (DOWN TO REACTOR-ACCESS-STAIRS) (UP TO REACTOR-CONTROL) (FLAGS RLANDBIT) (GLOBAL STAIRS)> )>> > > )> >)>> ) (WEST TO REACTOR-CONTROL) (OUT TO REACTOR-CONTROL) (FLAGS RLANDBIT ONBIT) (GLOBAL REACTOR-ELEVATOR-DOOR SLOT ELEVATOR-BUTTON CONTROLS)> ) (NE TO MECH-CORRIDOR-S) (EAST TO MACHINE-SHOP) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL SHELVES)> ;"LASER stuff has been moved to COMPTWO with the inside-the-computer stuff" )> ) ( ) ( > )>> > ) ( >> ) ( > ) (> > )>)>> ) ( ) ( ) ( ) ( ) ( ) ( )>) (T >)> > ) (NORTH TO MECH-CORRIDOR-S) (EAST TO ROBOT-SHOP) (WEST TO TOOL-ROOM) (FLAGS RLANDBIT FLOYDBIT ONBIT) (PSEUDO "SPOUT" CHEM-SPOUT-PSEUDO) (ACTION MACHINE-SHOP-F)> > ) (T )> )> ) ( > )>> > > ) (T )>)>> > ) ( ) (T > >> )>) ( > ) (T >> )> )>)>> ) (WEST TO MACHINE-SHOP) (NW TO MECH-CORRIDOR-S) (FLAGS RLANDBIT FLOYDBIT ONBIT) (PSEUDO "DEVICE" DEVICES-PSEUDO)> > ;"true if you took elev. card from turned-off Floyd" > ) ( > ) ( > ) ( > ) ( > ) (T )> )> ) ( )> ) ( > > ) (,BOARD-REPORTED ) (T )>) ( > ) ( ) ( ) (T )>) (T )>) (T )>) ( ) ( ) ( ) ( > ) (T )> > > ) (T )>>) ( ) ( ) ( ) ( > ) ( ) ( > ) ( ) ( ) ( ) ( ) ( > > > ) ( ) ( > ) (T )>) (T )>) ( > > ) ( ) ( > ) ( > ) ( > ) (T )>) ( ) ( ) ( ) (T )>)>) (T >) (T > >)> )>) ( ) ( ) ( > ) (T )>)>)>> ) ( ) ( ) (T )>> > ) (T )>> ) (T )>> > > > ;"so Floyd doesn't do two things on the same turn" > ;"checks if Floyd was in room where you just were" > ;"checks if Floyd has been turned on before" > ;"checks if Floyd has met you before" ) (T > )> )>)> > > > ) ( ) ( > > ) (T > > )>)>) (T ;"Floyd is active but not present" > > )> ) (T > )> ) ( > > )> ) ( >> )> ) ( ) (T )> ) ( )> ) ( ,LAZARUS-FLAG> )> >> ) (T )> ) (T )>)>)>)> >> > > ) ( > )>> ) ( ) ( )>> > "Elevator department" ) (NORTH PER ELEVATOR-ENTER-F) (SOUTH PER ELEVATOR-ENTER-F) (WEST TO CORRIDOR-JUNCTION) (EAST TO BOOTH-2) (IN TO BOOTH-2) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL UPPER-ELEVATOR-DOOR LOWER-ELEVATOR-DOOR) (PSEUDO "BOOTH" NEAR-BOOTH-PSEUDO) (ACTION ELEVATOR-LOBBY-F)> >> ) (T )> > >> )> ) (T > > )> )> )>> ) (OUT PER ELEVATOR-EXIT-F) (SOUTH PER ELEVATOR-EXIT-F) (UP "You'll have to use the elevator controls.") (DOWN "You'll have to use the elevator controls.") (FLAGS RLANDBIT ONBIT) (GLOBAL LIGHTS CONTROLS SLOT ELEVATOR-BUTTON UPPER-ELEVATOR-DOOR) (ACTION UPPER-ELEVATOR-F)> ) ( > > )>> ) (NORTH PER ELEVATOR-EXIT-F) (OUT PER ELEVATOR-EXIT-F) (UP "You'll have to use the elevator controls.") (DOWN "You'll have to use the elevator controls.") (FLAGS RLANDBIT ONBIT) (GLOBAL LIGHTS CONTROLS SLOT ELEVATOR-BUTTON LOWER-ELEVATOR-DOOR) (ACTION LOWER-ELEVATOR-F)> )>> >> ,UPPER-ELEVATOR) (T )>) ( > ,LOWER-ELEVATOR) (T )>)>> ,TOWER-CORE) (T ,ELEVATOR-LOBBY)>) (T )>) ( ,ELEVATOR-LOBBY) (T ,WAITING-AREA)>) (T )>)>> ) (T )>) ( ) (T )>)>> > ) ( >> ) (T )>) ( > ) ( >> ) (T )>)>> > > ,C-ENABLED?> 1> ) (T 40>>> )>)>> >> ,C-ENABLED?> 1> ) (T 80>>> )>)>> > > ) (T )>> > ) (T )>> ;"*-ELEVATOR-UP should be <> if elevator is at bottom of shaft and T if elevator is at top of shaft" > > ;"should be T if elevator is in transit" > ;"elevator enabled by card in slot?" > ;"elevator enabled by card in slot?" > >> >) ( > >> >) (T )>) ( >> >) ( >> >) (T )>) ( )>> >) (T > )>)> > >) (T > )>)> > > > ) (T > )>> > > ) (T > )>> > ) (WEST TO ELEVATOR-LOBBY) (OUT TO ELEVATOR-LOBBY) (FLAGS RLANDBIT ONBIT) (PSEUDO "BOOTH" IN-BOOTH-PSEUDO) (GLOBAL CONTROLS SLOT TELEPORTATION-BUTTON-1 TELEPORTATION-BUTTON-3)> ) (NORTH TO UPPER-ELEVATOR) (UP TO HELIPAD) (SW TO OBSERVATION-DECK) (NE TO COMM-ROOM) (FLAGS RLANDBIT ONBIT) (VALUE 4) (GLOBAL STAIRS UPPER-ELEVATOR-DOOR)> ) (DOWN TO TOWER-CORE) (IN TO HELICOPTER) (EAST "A fence keeps you away from the edge, where you would probably be swept over the brink by the high winds.") (WEST "A fence keeps you away from the edge, where you would probably be swept over the brink by the high winds.") (NORTH "A fence keeps you away from the edge, where you would probably be swept over the brink by the high winds.") (SOUTH "A fence keeps you away from the edge, where you would probably be swept over the brink by the high winds.") (FLAGS RLANDBIT ONBIT) (PSEUDO "FENCE" FENCE-PSEUDO) (GLOBAL STAIRS HELICOPTER-OBJECT)> ) (T )>) ( ) (T )>) ( ) (T )>)>> ) (OUT TO HELIPAD) (FLAGS RLANDBIT ONBIT) (PSEUDO "LOCK" LOCK-PSEUDO) (GLOBAL OCEAN CONTROLS WINDOW HELICOPTER-OBJECT)> ) (SW TO TOWER-CORE) (FLAGS RLANDBIT ONBIT) (GLOBAL LIGHTS) (PSEUDO "CABLES" CABLES-PSEUDO "ENUNCI" ENUNCIATOR-PSEUDO) (ACTION COMM-ROOM-F)> ) (,COMM-FIXED ) (T )> )> ) ( ,JUST-ENTERED> > > ) ( ) ( ) ( ) ( ) ( ) ( )> )>> > >)> > ) (SYNONYM CONSOLE CONTRO) (ADJECTIVE COMMUNICATIONS RECEIVE LEFT FIRST) (FLAGS NDESCBIT)> )>> \"")> > 7> ) (T >)>> > 7> ) (T > > > >> >) (T )>)>>> > ) ( > ) ( >> > )> ) ( > ) ( )> )> > > > ) (T ) ( ) ( ) ( ) ( ) ( ) ( )> )>) (T > >)> )>) ( )> >> ) ( ,COURSE-CONTROL-FIXED> > > )> ) ( >> ) (T )> ) ( ) ( ) ( > ) ( ) ( ) ( )> ,COURSE-CONTROL-FIXED> > > )> ) (T )>) (T )>)>> > > > > > >> >> >> >>> > ) (NE TO TOWER-CORE) (FLAGS RLANDBIT ONBIT) (GLOBAL OCEAN)> ) (EAST TO KALAMONTEE-PLATFORM) (SOUTH PER OTHER-ELEVATOR-ENTER-F) (IN PER OTHER-ELEVATOR-ENTER-F) (PSEUDO "BENCH" BENCH-PSEUDO "BENCHE" BENCH-PSEUDO) (GLOBAL LOWER-ELEVATOR-DOOR) (FLAGS RLANDBIT ONBIT)> > ,LOWER-ELEVATOR) (T )>> ) (WEST TO WAITING-AREA) (SOUTH PER SHUTTLE-ENTER-F) (NORTH PER SHUTTLE-ENTER-F) (FLAGS RLANDBIT ONBIT) (VALUE 4) (GLOBAL GLOBAL-SHUTTLE) (ACTION KALAMONTEE-PLATFORM-F)> ) (,BETTY-AT-KALAMONTEE ) (,ALFIE-AT-KALAMONTEE )> )>> ================================================ FILE: comptwo.zabstr ================================================ ) (NORTH PER SHUTTLE-ENTER-F) (SOUTH PER SHUTTLE-ENTER-F) (EAST TO ESCALATOR) (UP TO ESCALATOR) (FLAGS FLOYDBIT RLANDBIT ONBIT) (VALUE 4) (GLOBAL GLOBAL-SHUTTLE STAIRS) (PSEUDO "ESCALATOR" ESCALATOR-PSEUDO) (ACTION LAWANDA-PLATFORM-F)> %<> WORD> ) (UP TO FORK) (EAST TO FORK) (DOWN TO LAWANDA-PLATFORM) (WEST TO LAWANDA-PLATFORM) ( GLOBAL STAIRS) (PSEUDO "ESCALATOR" ESCALATOR-PSEUDO) (FLAGS RLANDBIT FLOYDBIT ONBIT)> ) ( WEST TO ESCALATOR) (DOWN TO ESCALATOR) (NE TO SYSTEMS-CORRIDOR-WEST) (SE TO PROJECT-CORRIDOR-WEST) (GLOBAL STAIRS) (PSEUDO "ESCALATOR" ESCALATOR-PSEUDO) ( FLAGS FLOYDBIT RLANDBIT ONBIT)> ) (SE TO SYSTEMS-CORRIDOR-WEST) (OUT TO SYSTEMS-CORRIDOR-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL BED SHELVES) (PSEUDO "EQUIPM" EQUIPMENT-PSEUDO "MACHIN" EQUIPMENT-PSEUDO) (ACTION INFIRMARY-F)> %<> WORD> ) (UP TO SYSTEMS-CORRIDOR-WEST) (SOUTH TO SYSTEMS-CORRIDOR-WEST) ( NORTH "It is a robot-sized doorway -- a bit too small for you.") (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL STAIRS) (PSEUDO "CABINETS" CABINETS-PSEUDO "MACHIN" EQUIPMENT-PSEUDO)> %<> WORD> %<> WORD> %<> WORD> ) (NW TO INFIRMARY) (NORTH TO REPAIR-ROOM) ( DOWN TO REPAIR-ROOM) (EAST TO SYSTEMS-CORRIDOR) (SW TO FORK) (FLAGS ONBIT RLANDBIT) (GLOBAL STAIRS)> ) (NORTH TO PLANETARY-DEFENSE) (WEST TO SYSTEMS-CORRIDOR-WEST) (EAST TO SYSTEMS-CORRIDOR-EAST) (FLAGS RLANDBIT ONBIT)> ) (WEST TO SYSTEMS-CORRIDOR) (SOUTH TO LIBRARY-LOBBY) (NORTH TO PLANETARY-COURSE-CONTROL) (EAST TO PHYSICAL-PLANT-TWO) (FLAGS RLANDBIT ONBIT)> ) (WEST TO SYSTEMS-CORRIDOR-EAST) (OUT TO SYSTEMS-CORRIDOR-EAST) (FLAGS FLOYDBIT RLANDBIT ONBIT) (PSEUDO "EQUIPM" EQUIPMENT-PSEUDO)> %<> WORD> %<> WORD> WORD> ) (SOUTH TO SYSTEMS-CORRIDOR) (OUT TO SYSTEMS-CORRIDOR) ( FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL CONTROLS LIGHTS) (ACTION PLANETARY-DEFENSE-F)> %<> WORD> ) (SOUTH TO SYSTEMS-CORRIDOR-EAST) (OUT TO SYSTEMS-CORRIDOR-EAST) (FLAGS FLOYDBIT RLANDBIT ONBIT) (GLOBAL CONTROLS LIGHTS) (ACTION PLANETARY-COURSE-CONTROL-F)> ) (UP TO LIBRARY) (WEST TO LIBRARY) (NORTH TO SYSTEMS-CORRIDOR-EAST) (SOUTH TO PROJECT-CORRIDOR-EAST) ( EAST TO BOOTH-3) (IN TO BOOTH-3) (FLAGS FLOYDBIT RLANDBIT ONBIT) (GLOBAL TABLES STAIRS) (PSEUDO "CARPET" CARPET-PSEUDO "BOOTH" NEAR-BOOTH-PSEUDO)> ) (WEST TO LIBRARY-LOBBY) (OUT TO LIBRARY-LOBBY) (FLAGS RLANDBIT ONBIT) (GLOBAL CONTROLS SLOT TELEPORTATION-BUTTON-1 TELEPORTATION-BUTTON-2) (PSEUDO "BOOTH" IN-BOOTH-PSEUDO)> ) (EAST TO LIBRARY-LOBBY) (OUT TO LIBRARY-LOBBY) (FLAGS RLANDBIT ONBIT FLOYDBIT ) (GLOBAL TABLES STAIRS) (PSEUDO "CARPET" CARPET-PSEUDO "DESK" DESK-PSEUDO)> WORD> %<> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> %<> WORD> WORD> WORD> WORD> WORD> ) (WEST TO SANFAC-F) ( EAST TO PROJECT-CORRIDOR) (NW TO FORK) (FLAGS RLANDBIT ONBIT)> ) (EAST TO PROJECT-CORRIDOR-WEST) (OUT TO PROJECT-CORRIDOR-WEST) ( FLAGS FLOYDBIT RLANDBIT ONBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> ) (EAST TO PROJECT-CORRIDOR-EAST) (WEST TO PROJECT-CORRIDOR-WEST) (SOUTH TO PROJCON-OFFICE) (FLAGS RLANDBIT ONBIT)> ) (NORTH TO PROJECT-CORRIDOR) (SOUTH TO CRYO-ELEVATOR IF CRYO-ELEVATOR-DOOR IS OPEN ELSE "You can't go that way.") (EAST TO COMPUTER-ROOM) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL CRYO-ELEVATOR-DOOR) ( PSEUDO "MURAL" MURAL-PSEUDO "LOGO" LOGO-PSEUDO) (ACTION PROJCON-OFFICE-F)> %<> WORD> ) (NORTH PER CRYO-EXIT-F) (GLOBAL CRYO-ELEVATOR-DOOR) (FLAGS RLANDBIT ONBIT) (PSEUDO "BUTTON" CRYO-BUTTON-PSEUDO) (ACTION CRYO-ELEVATOR-F)> %<> WORD> ) (FLAGS RLANDBIT ONBIT) (ACTION CRYO-ANTEROOM-F)> ) (NORTH TO LIBRARY-LOBBY) (SOUTH TO COMPUTER-ROOM) (WEST TO PROJECT-CORRIDOR) (EAST TO MAIN-LAB) (FLAGS RLANDBIT ONBIT)> ) (NORTH TO PROJECT-CORRIDOR-EAST) (WEST TO PROJCON-OFFICE) (SOUTH TO MINI-BOOTH) (IN TO MINI-BOOTH) (NE TO MAIN-LAB) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL LIGHTS) ( PSEUDO "BOOTH" NEAR-BOOTH-PSEUDO)> %<> WORD> ) (NORTH TO COMPUTER-ROOM) (OUT TO COMPUTER-ROOM) (FLAGS RLANDBIT ONBIT) (GLOBAL SLOT) (PSEUDO "KEYBOARD" KEYBOARD-PSEUDO "BOOTH" IN-BOOTH-PSEUDO)> ) (WEST TO PROJECT-CORRIDOR-EAST) (SOUTH TO LAB-STORAGE) (SW TO COMPUTER-ROOM ) (SE TO BIO-LOCK-WEST IF BIO-DOOR-WEST IS OPEN) (NE TO RADIATION-LOCK-WEST IF RAD-DOOR-WEST IS OPEN) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL BIO-DOOR-WEST RAD-DOOR-WEST)> ) (NORTH TO MAIN-LAB) ( OUT TO MAIN-LAB) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL SHELVES) (PSEUDO "RACK" CARPET-PSEUDO "SUPPLIES" SUPPLIES-PSEUDO)> %<> WORD> ) (EAST TO BIO-LOCK-EAST) (WEST TO MAIN-LAB IF BIO-DOOR-WEST IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL BIO-DOOR-WEST )> ) (EAST TO BIO-LAB IF BIO-DOOR-EAST IS OPEN) (WEST TO BIO-LOCK-WEST) ( FLAGS RLANDBIT ONBIT) (GLOBAL BIO-DOOR-EAST WINDOW) (ACTION BIO-LOCK-EAST-F)> %<> WORD> ) (EAST TO RADIATION-LOCK-EAST) (WEST TO MAIN-LAB IF RAD-DOOR-WEST IS OPEN) ( FLAGS RLANDBIT ONBIT) (GLOBAL RAD-DOOR-WEST)> ) (EAST TO RADIATION-LAB IF RAD-DOOR-EAST IS OPEN) (WEST TO RADIATION-LOCK-WEST) (FLAGS RLANDBIT ONBIT) ( GLOBAL RAD-DOOR-EAST)> WORD> WORD> WORD> %<> WORD> WORD> %<> WORD> %<> WORD> WORD> ) (EAST TO LAB-OFFICE IF OFFICE-DOOR IS OPEN) (WEST TO BIO-LOCK-EAST IF BIO-DOOR-EAST IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL BIO-DOOR-EAST WINDOW OFFICE-DOOR) (PSEUDO "CRACK" CRACK-PSEUDO) (ACTION BIO-LAB-F)> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> ) ( WEST TO RADIATION-LOCK-EAST IF RAD-DOOR-EAST IS OPEN) (FLAGS RLANDBIT ONBIT) ( GLOBAL TABLES RAD-DOOR-EAST) (PSEUDO "CRACK" CRACK-PSEUDO "EQUIPM" EQUIPMENT-PSEUDO) (ACTION RADIATION-LAB-F)> WORD> ) (WEST TO BIO-LAB IF OFFICE-DOOR IS OPEN) (SOUTH TO AUXILIARY-BOOTH) ( IN TO AUXILIARY-BOOTH) (GLOBAL OFFICE-DOOR) (FLAGS RLANDBIT ONBIT) (PSEUDO "FILES" CABINETS-PSEUDO "BOOTH" NEAR-BOOTH-PSEUDO) (ACTION LAB-OFFICE-F)> %<> WORD> %<> WORD> WORD> ) (NORTH TO LAB-OFFICE) (OUT TO LAB-OFFICE) (FLAGS RLANDBIT ONBIT) (VALUE 4 ) (PSEUDO "BOOTH" IN-BOOTH-PSEUDO)> %<> WORD> ) (EAST TO STRIP-NEAR-STATION) (FLAGS RLANDBIT ONBIT) (GLOBAL STRIP) (PSEUDO "PLATE" PLATE-PSEUDO "PLATES" PLATE-PSEUDO) (ACTION STATION-384-F)> %<> WORD> %<> WORD> WORD> ) (SOUTH "The plunge would probably be fatal.") (EAST "The plunge would probably be fatal.") (NORTH TO MIDDLE-OF-STRIP) (WEST TO STATION-384) (FLAGS RLANDBIT ONBIT) (VALUE 4) (PSEUDO "VOID" VOID-PSEUDO) ( GLOBAL STRIP)> ) (NORTH TO STRIP-NEAR-RELAY) (SOUTH TO STRIP-NEAR-STATION IF NO-MICROBE ELSE "Not a chance -- unless, of course, you don't mind walking into the gullet of a hungry microbe.") (EAST "Do you have a penchant for bottomless voids?") (WEST "Do you have a penchant for bottomless voids?") (FLAGS RLANDBIT ONBIT) (ACTION MIDDLE-OF-STRIP-F) (PSEUDO "VOID" VOID-PSEUDO) (GLOBAL STRIP)> WORD> %<> WORD> ) (NORTH "There is a huge featureless wall there, remember?") (SOUTH TO MIDDLE-OF-STRIP IF NO-MICROBE ELSE "Not a chance -- unless, of course, you don't mind walking into the gullet of a hungry microbe.") (EAST PER RELAY-EXIT-F) (WEST "Do you have a penchant for bottomless voids?") (FLAGS RLANDBIT ONBIT) (GLOBAL STRIP) (PSEUDO "VOID" VOID-PSEUDO) (ACTION STRIP-NEAR-RELAY-F)> WORD> %<> WORD> WORD> WORD> WORD> %<> WORD> %<> WORD> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> WORD> %<> WORD> ================================================ FILE: comptwo.zap ================================================ .FUNCT LAWANDA-PLATFORM-F,RARG ZERO? LAWANDA-PLATFORM-FLAG \?CND1 SET 'LAWANDA-PLATFORM-FLAG,TRUE-VALUE SET 'SICKNESS-WARNING-FLAG,TRUE-VALUE ?CND1: EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a wide, flat strip of concrete. " ZERO? ALFIE-AT-KALAMONTEE \?CCL8 ZERO? BETTY-AT-KALAMONTEE \?CCL8 PRINTI "Open shuttle cars lie to the north and south." JUMP ?CND6 ?CCL8: ZERO? ALFIE-AT-KALAMONTEE /?CCL11 ZERO? BETTY-AT-KALAMONTEE \?CND6 ?CCL11: PRINTI "An open shuttle car lies to the " ZERO? ALFIE-AT-KALAMONTEE /?CCL16 PRINTI "north." JUMP ?CND6 ?CCL16: PRINTI "south." ?CND6: PRINTR " A wide escalator, not currently operating, beckons upward at the east end of the platform. A faded sign reads ""Shutul Platform -- Lawanda Staashun.""" .FUNCT INFIRMARY-F,RARG EQUAL? RARG,M-END \FALSE ZERO? LAZARUS-FLAG \FALSE IN? FLOYD,HERE \FALSE FSET? FLOYD,RLANDBIT \FALSE RANDOM 100 LESS? 30,STACK /FALSE SET 'LAZARUS-FLAG,TRUE-VALUE MOVE LAZARUS-PART,HERE MOVE FLOYD,FORK SET 'FLOYD-FOLLOW,FALSE-VALUE SET 'FLOYD-SPOKE,TRUE-VALUE PRINTR "Floyd, rummaging in a corner, finds something and carries it to the center of the room to examine it in the brighter light. It seems to be the breast plate of a robot, along with some connected inner circuitry. The entire piece is bent and rusting. Floyd stares at it in complete silence. A moment later, he begins sobbing quietly, awkwardly excuses himself, and runs out of the room. You look at the breast plate, and notice the name ""Lazarus"" engraved on it." .FUNCT RED-SPOOL-F EQUAL? PRSA,V?TAKE \FALSE IN? RED-SPOOL,SPOOL-READER \FALSE FSET? SPOOL-READER,ONBIT \FALSE MOVE RED-SPOOL,ADVENTURER FCLEAR RED-SPOOL,TRYTAKEBIT PRINTR "The screen goes blank as you take the spool." .FUNCT MEDICINE-F,X=0 EQUAL? PRSA,V?POUR,V?EAT,V?TASTE \?CCL3 IN? MEDICINE-BOTTLE,ADVENTURER /?CCL3 SET 'PRSO,MEDICINE-BOTTLE CALL NOT-HOLDING CALL THIS-IS-IT,MEDICINE-BOTTLE RSTACK ?CCL3: EQUAL? PRSA,V?POUR,V?EAT,V?TASTE \?CCL7 FSET? MEDICINE-BOTTLE,OPENBIT /?CCL7 PRINTR "The bottle is closed." ?CCL7: EQUAL? PRSA,V?TASTE \?CCL11 PRINTR "It tastes fairly bitter." ?CCL11: EQUAL? PRSA,V?EAT \?CCL13 REMOVE MEDICINE SET 'C-ELAPSED,15 SUB SICKNESS-LEVEL,2 >SICKNESS-LEVEL ADD LOAD-ALLOWED,20 >LOAD-ALLOWED PRINTR "The medicine tasted extremely bitter." ?CCL13: EQUAL? PRSA,V?POUR \?CCL15 REMOVE MEDICINE ZERO? PRSI \?CND16 SET 'PRSI,GROUND ?CND16: EQUAL? PRSI,FUNNEL-HOLE \?CCL20 IN? CHEMICAL-FLUID,FLASK \?CND21 SET 'X,TRUE-VALUE ?CND21: SET 'CHEMICAL-REQUIRED,10 CALL PERFORM,V?POUR,CHEMICAL-FLUID,FUNNEL-HOLE ZERO? X /TRUE MOVE CHEMICAL-FLUID,FLASK RTRUE ?CCL20: PRINTI "It pours over the " PRINTD PRSI PRINTR " and evaporates." ?CCL15: EQUAL? PRSA,V?TAKE \FALSE GET P-VTBL,0 EQUAL? STACK,W?TAKE \FALSE CALL PERFORM,V?EAT,MEDICINE RTRUE .FUNCT ROBOT-HOLE-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "It's too small for you to get through. It was presumably intended for robots, such as the broken repair robot lying over there." ?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL5 PRINTR "You can make out a small supply room of some sort." ?CCL5: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE PRINTR "There's no door, just an opening in the wall." .FUNCT FLOYD-THROUGH-HOLE ZERO? HOLE-TRIP-FLAG /?CCL3 PRINTR """Not again,"" whines Floyd." ?CCL3: SET 'C-ELAPSED,50 SET 'HOLE-TRIP-FLAG,TRUE-VALUE SET 'BOARD-REPORTED,TRUE-VALUE FCLEAR GOOD-BOARD,INVISIBLE PRINTR "Floyd squeezes through the opening and is gone for quite a while. You hear thudding noises and squeals of enjoyment. After a while the noise stops, and Floyd emerges, looking downcast. ""Floyd found a rubber ball inside. Lots of fun for a while, but must have been old, because it fell apart. Nothing else interesting inside. Just a shiny fromitz board.""" .FUNCT GOOD-BOARD-F FSET? GOOD-BOARD,NDESCBIT \?CCL3 EQUAL? PRSA,V?LOOK-UNDER /?PRD6 EQUAL? PRSA,V?MOVE,V?PULL,V?PUSH /?PRD6 EQUAL? PRSA,V?RUB,V?EXAMINE,V?TAKE \?CCL3 ?PRD6: EQUAL? GOOD-BOARD,PRSO \?CCL3 PRINTI "You can't see any " PRINTD PRSO PRINTR " here." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE CALL EXAMINE-BOARD CRLF RTRUE .FUNCT PLANETARY-DEFENSE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This room is filled with a dazzling array of lights and controls. " ZERO? DEFENSE-FIXED \?CND4 PRINTI "One light, blinking quickly, catches your eye. It reads ""Surkit Boord Faalyur. WORNEENG: xis boord kuntroolz xe diskriminaashun surkits.""" ?CND4: PRINTI " There is a small access panel on one wall which is " CALL DDESC,ACCESS-PANEL PRINTR "." .FUNCT ACCESS-PANEL-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? ACCESS-PANEL,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: FSET ACCESS-PANEL,OPENBIT PRINTI "The panel swings open." CRLF CALL PERFORM,V?LOOK-INSIDE,ACCESS-PANEL RTRUE ?CCL3: EQUAL? PRSA,V?CLOSE \?CCL8 FSET? ACCESS-PANEL,OPENBIT \?CCL11 FCLEAR ACCESS-PANEL,OPENBIT PRINTR "The panel swings closed." ?CCL11: CALL IS-CLOSED RSTACK ?CCL8: EQUAL? PRSA,V?PUT \FALSE EQUAL? PRSI,ACCESS-PANEL \FALSE FSET? ACCESS-PANEL,OPENBIT /?CCL18 PRINTR "The panel is closed." ?CCL18: ZERO? ACCESS-PANEL-FULL /?CCL20 PRINTR "There's no room." ?CCL20: EQUAL? PRSO,GOOD-BOARD \?CCL22 REMOVE GOOD-BOARD MOVE SECOND-BOARD,ACCESS-PANEL CALL THIS-IS-IT,SECOND-BOARD SET 'DEFENSE-FIXED,TRUE-VALUE ADD SCORE,6 >SCORE SET 'ACCESS-PANEL-FULL,TRUE-VALUE CALL PUT-BOARD PRINTR " The warning lights stop flashing." ?CCL22: EQUAL? PRSO,CRACKED-BOARD,FRIED-BOARD \?CCL24 REMOVE PRSO CALL THIS-IS-IT,SECOND-BOARD MOVE SECOND-BOARD,ACCESS-PANEL SET 'ACCESS-PANEL-FULL,TRUE-VALUE EQUAL? PRSO,CRACKED-BOARD \?CND25 SET 'ITS-CRACKED,TRUE-VALUE ?CND25: CALL PUT-BOARD CRLF RTRUE ?CCL24: PRINTI "The " PRINTD PRSO PRINTI " doesn't fit." RTRUE .FUNCT FRIED-BOARD-F EQUAL? PRSA,V?EXAMINE \FALSE CALL EXAMINE-BOARD PRINTR " This one is a bit blackened around the edges, though." .FUNCT BOARD-F EQUAL? PRSA,V?TAKE \?CCL3 EQUAL? PRSO,SECOND-BOARD \?CCL6 ZERO? DEFENSE-FIXED /?CCL9 CALL BOARD-SHOCK RSTACK ?CCL9: PRINTI "The fromitz board slides out of the panel, producing an empty socket for another board." CRLF REMOVE SECOND-BOARD SET 'ACCESS-PANEL-FULL,FALSE-VALUE EQUAL? ITS-CRACKED,TRUE-VALUE \?CCL12 MOVE CRACKED-BOARD,ADVENTURER JUMP ?CND10 ?CCL12: MOVE FRIED-BOARD,ADVENTURER ?CND10: CALL THIS-IS-IT,FRIED-BOARD RSTACK ?CCL6: CALL BOARD-SHOCK RSTACK ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE CALL EXAMINE-BOARD CRLF RTRUE .FUNCT EXAMINE-BOARD PRINTI "Like most fromitz boards, it is a twisted maze of silicon circuits. It is square, approximately seventeen centimeters on each side." RTRUE .FUNCT PUT-BOARD PRINTI "The card clicks neatly into the socket." RTRUE .FUNCT BOARD-SHOCK PRINTR "You jerk your hand back as you receive a powerful shock from the fromitz board." .FUNCT PLANETARY-COURSE-CONTROL-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a long room whose walls are covered with complicated controls and colored lights. " ZERO? COURSE-CONTROL-FIXED /?CCL6 PRINTI "One blinking light says ""Kors diivurjins minimiizeeng.""" JUMP ?CND4 ?CCL6: PRINTI "Two of these lights are blinking. The first one reads ""Bedistur Faalyur!"" The other light reads ""Kritikul diivurjins frum pland kors.""" ?CND4: PRINTI " In one corner is a large metal cube whose lid is " FSET? CUBE,OPENBIT \?CCL9 PRINTI "open" JUMP ?CND7 ?CCL9: PRINTI "closed" ?CND7: PRINTR "." .FUNCT CUBE-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? CUBE,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: FSET CUBE,OPENBIT PRINTI "The lid swings open." CRLF CALL PERFORM,V?LOOK-INSIDE,CUBE RTRUE ?CCL3: EQUAL? PRSA,V?CLOSE \?CCL8 FSET? CUBE,OPENBIT \?CCL11 FCLEAR CUBE,OPENBIT PRINTR "The lid swings closed." ?CCL11: CALL IS-CLOSED RSTACK ?CCL8: EQUAL? PRSA,V?PUT \FALSE EQUAL? PRSI,CUBE \FALSE FSET? CUBE,OPENBIT /?CCL18 PRINTR "The cube is closed." ?CCL18: IN? BAD-BEDISTOR,CUBE \?CCL20 PRINTR "There's a fused bedistor in the way." ?CCL20: EQUAL? PRSO,GOOD-BEDISTOR \?CCL22 MOVE GOOD-BEDISTOR,CUBE FSET? CUBE,MUNGEDBIT /?CCL25 SET 'COURSE-CONTROL-FIXED,TRUE-VALUE FSET GOOD-BEDISTOR,TRYTAKEBIT ADD SCORE,6 >SCORE PRINTR "Done. The warning lights go out and another light goes on." ?CCL25: PRINTR "Done." ?CCL22: EQUAL? PRSO,BAD-BEDISTOR \?CCL27 MOVE BAD-BEDISTOR,CUBE PRINTR "Done." ?CCL27: PRINTI "The " PRINTD PRSO PRINTI " doesn't fit." RTRUE .FUNCT BAD-BEDISTOR-F EQUAL? PRSA,V?TAKE \?CCL3 IN? BAD-BEDISTOR,CUBE \?CCL3 PRINTR "It seems to be fused to its socket." ?CCL3: EQUAL? PRSA,V?ZATTRACT \FALSE EQUAL? PRSI,PLIERS \?CCL10 MOVE BAD-BEDISTOR,ADVENTURER FCLEAR BAD-BEDISTOR,TRYTAKEBIT PRINTR "With a tug, you manage to remove the fused bedistor." ?CCL10: PRINTR "You can't get a grip on the bedistor with that." .FUNCT GREEN-SPOOL-F EQUAL? PRSA,V?TAKE \FALSE IN? GREEN-SPOOL,SPOOL-READER \FALSE FSET? SPOOL-READER,ONBIT \FALSE MOVE GREEN-SPOOL,ADVENTURER FCLEAR GREEN-SPOOL,TRYTAKEBIT PRINTR "The screen goes blank as you take the spool." .FUNCT TERMINAL-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "The computer terminal consists of a video display screen, a keyboard with ten keys numbered from zero through nine, and an on-off switch. " FSET? TERMINAL,ONBIT \?CCL6 PRINTI "The screen displays some writing:" CRLF PRINT SCREEN-TEXT CRLF GRTR? MENU-LEVEL,9 \TRUE PRINT MORE-INFO CRLF RTRUE ?CCL6: PRINTR "The screen is dark." ?CCL3: EQUAL? PRSA,V?READ \?CCL10 FSET? TERMINAL,ONBIT \?CCL13 PRINT SCREEN-TEXT CRLF GRTR? MENU-LEVEL,9 \TRUE PRINT MORE-INFO CRLF RTRUE ?CCL13: PRINTR "The screen is blank." ?CCL10: EQUAL? PRSA,V?LAMP-ON \?CCL17 FSET? TERMINAL,ONBIT \?CCL20 PRINTR "It's already on." ?CCL20: FSET TERMINAL,ONBIT FSET TERMINAL,TOUCHBIT SET 'SCREEN-TEXT,MAIN-MENU PRINTI "The screen gives off a green flash, and then some writing appears on the screen:" CRLF PRINT SCREEN-TEXT CRLF RTRUE ?CCL17: EQUAL? PRSA,V?LAMP-OFF \FALSE FSET? TERMINAL,ONBIT \?CCL25 FCLEAR TERMINAL,ONBIT SET 'MENU-LEVEL,0 PRINTR "The screen goes dark." ?CCL25: PRINTR "It isn't on!" .FUNCT LIBRARY-TYPE EQUAL? PRSO,INTNUM /?CCL3 CALL NUMBERS-ONLY RSTACK ?CCL3: ZERO? MENU-LEVEL \?CCL5 ZERO? P-NUMBER \?CCL8 PRINT NO-MEANING CRLF RTRUE ?CCL8: EQUAL? P-NUMBER,1 \?CCL10 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,HISTORY-MENU PRINT SCREEN-TEXT CRLF SET 'MENU-LEVEL,1 RETURN MENU-LEVEL ?CCL10: EQUAL? P-NUMBER,2 \?CCL12 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,CULTURE-MENU PRINT SCREEN-TEXT CRLF SET 'MENU-LEVEL,2 RETURN MENU-LEVEL ?CCL12: EQUAL? P-NUMBER,3 \?CCL14 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,TECHNOLOGY-MENU PRINT SCREEN-TEXT CRLF SET 'MENU-LEVEL,3 RETURN MENU-LEVEL ?CCL14: EQUAL? P-NUMBER,4 \?CCL16 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,GEOGRAPHY-MENU PRINT SCREEN-TEXT CRLF SET 'MENU-LEVEL,4 RETURN MENU-LEVEL ?CCL16: EQUAL? P-NUMBER,5 \?CCL18 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,PROJECT-MENU PRINT SCREEN-TEXT CRLF SET 'MENU-LEVEL,5 RETURN MENU-LEVEL ?CCL18: EQUAL? P-NUMBER,6 \?CCL20 SET 'MENU-LEVEL,6 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,INTERLOGIC-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL20: GRTR? P-NUMBER,6 \FALSE PRINT NO-MEANING CRLF RTRUE ?CCL5: EQUAL? MENU-LEVEL,1 \?CCL24 ZERO? P-NUMBER \?CCL27 SET 'MENU-LEVEL,0 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,MAIN-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL27: EQUAL? P-NUMBER,1 \?CCL29 SET 'MENU-LEVEL,11 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,11-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL29: EQUAL? P-NUMBER,2 \?CCL31 SET 'MENU-LEVEL,12 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,12-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL31: EQUAL? P-NUMBER,3 \?CCL33 SET 'MENU-LEVEL,13 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,13-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL33: GRTR? P-NUMBER,3 \FALSE PRINT NO-MEANING CRLF RTRUE ?CCL24: EQUAL? MENU-LEVEL,2 \?CCL37 ZERO? P-NUMBER \?CCL40 SET 'MENU-LEVEL,0 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,MAIN-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL40: EQUAL? P-NUMBER,1 \?CCL42 SET 'MENU-LEVEL,21 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,21-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL42: EQUAL? P-NUMBER,2 \?CCL44 SET 'MENU-LEVEL,22 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,22-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL44: EQUAL? P-NUMBER,3 \?CCL46 SET 'MENU-LEVEL,23 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,23-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL46: GRTR? P-NUMBER,4 \FALSE PRINT NO-MEANING CRLF RTRUE ?CCL37: EQUAL? MENU-LEVEL,3 \?CCL50 ZERO? P-NUMBER \?CCL53 SET 'MENU-LEVEL,0 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,MAIN-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL53: EQUAL? P-NUMBER,1 \?CCL55 SET 'MENU-LEVEL,31 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,31-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL55: EQUAL? P-NUMBER,2 \?CCL57 SET 'MENU-LEVEL,32 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,32-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL57: EQUAL? P-NUMBER,3 \?CCL59 SET 'MENU-LEVEL,33 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,33-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL59: EQUAL? P-NUMBER,4 \?CCL61 SET 'MENU-LEVEL,34 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,34-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL61: EQUAL? P-NUMBER,5 \?CCL63 SET 'MENU-LEVEL,35 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,35-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL63: GRTR? P-NUMBER,5 \FALSE PRINT NO-MEANING CRLF RTRUE ?CCL50: EQUAL? MENU-LEVEL,4 \?CCL67 ZERO? P-NUMBER \?CCL70 SET 'MENU-LEVEL,0 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,MAIN-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL70: EQUAL? P-NUMBER,1 \?CCL72 SET 'MENU-LEVEL,41 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,41-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL72: EQUAL? P-NUMBER,2 \?CCL74 SET 'MENU-LEVEL,42 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,42-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL74: EQUAL? P-NUMBER,3 \?CCL76 SET 'MENU-LEVEL,43 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,43-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL76: GRTR? P-NUMBER,3 \FALSE PRINT NO-MEANING CRLF RTRUE ?CCL67: EQUAL? MENU-LEVEL,5 \?CCL80 ZERO? P-NUMBER \?CCL83 SET 'MENU-LEVEL,0 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,MAIN-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL83: EQUAL? P-NUMBER,1 \?CCL85 SET 'MENU-LEVEL,51 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,51-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL85: EQUAL? P-NUMBER,2 \?CCL87 SET 'MENU-LEVEL,52 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,52-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL87: EQUAL? P-NUMBER,3 \?CCL89 SET 'MENU-LEVEL,53 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,53-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL89: GRTR? P-NUMBER,3 \FALSE PRINT NO-MEANING CRLF RTRUE ?CCL80: EQUAL? MENU-LEVEL,6 \?CCL93 ZERO? P-NUMBER \?CCL96 SET 'MENU-LEVEL,0 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,MAIN-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL96: EQUAL? P-NUMBER,1 \?CCL98 SET 'MENU-LEVEL,61 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,61-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF IN? FLOYD,HERE \FALSE SET 'FLOYD-SPOKE,TRUE-VALUE PRINTR "Floyd, peering over your shoulder, says ""Oh, I love that game! Solved every problem, except couldn't figure out how to get into white house.""" ?CCL98: EQUAL? P-NUMBER,2 \?CCL103 SET 'MENU-LEVEL,62 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,62-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL103: EQUAL? P-NUMBER,3 \?CCL105 SET 'MENU-LEVEL,63 PRINT TEXT-APPEARS CRLF SET 'SCREEN-TEXT,63-TEXT PRINT SCREEN-TEXT CRLF PRINT MORE-INFO CRLF RTRUE ?CCL105: GRTR? P-NUMBER,3 \FALSE PRINT NO-MEANING CRLF RTRUE ?CCL93: GRTR? MENU-LEVEL,10 \?CCL109 LESS? MENU-LEVEL,20 \?CCL109 ZERO? P-NUMBER \?CCL114 SET 'MENU-LEVEL,1 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,HISTORY-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL114: PRINT LOW-END CRLF RTRUE ?CCL109: GRTR? MENU-LEVEL,20 \?CCL116 LESS? MENU-LEVEL,30 \?CCL116 ZERO? P-NUMBER \?CCL121 SET 'MENU-LEVEL,2 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,CULTURE-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL121: PRINT LOW-END CRLF RTRUE ?CCL116: GRTR? MENU-LEVEL,30 \?CCL123 LESS? MENU-LEVEL,40 \?CCL123 ZERO? P-NUMBER \?CCL128 SET 'MENU-LEVEL,3 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,TECHNOLOGY-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL128: PRINT LOW-END CRLF RTRUE ?CCL123: GRTR? MENU-LEVEL,40 \?CCL130 LESS? MENU-LEVEL,50 \?CCL130 ZERO? P-NUMBER \?CCL135 SET 'MENU-LEVEL,4 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,GEOGRAPHY-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL135: PRINT LOW-END CRLF RTRUE ?CCL130: GRTR? MENU-LEVEL,50 \?CCL137 LESS? MENU-LEVEL,60 \?CCL137 ZERO? P-NUMBER \?CCL142 SET 'MENU-LEVEL,5 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,PROJECT-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL142: PRINT LOW-END CRLF RTRUE ?CCL137: GRTR? MENU-LEVEL,60 \FALSE LESS? MENU-LEVEL,70 \FALSE ZERO? P-NUMBER \?CCL149 SET 'MENU-LEVEL,6 PRINT SCREEN-CLEARS CRLF SET 'SCREEN-TEXT,INTERLOGIC-MENU PRINT SCREEN-TEXT CRLF RTRUE ?CCL149: PRINT LOW-END CRLF RTRUE .FUNCT SPOOL-READER-F EQUAL? PRSA,V?LAMP-ON \?CCL3 FSET? SPOOL-READER,ONBIT \?CCL6 PRINTR "The spool reader is already on." ?CCL6: FSET SPOOL-READER,ONBIT FSET SPOOL-READER,TOUCHBIT FIRST? SPOOL-READER \?CCL9 PRINT SPOOL-TEXT CRLF RTRUE ?CCL9: PRINTR "The machine hums quietly, and the screen lights up with the phrase ""Pleez insurt spuul.""" ?CCL3: EQUAL? PRSA,V?LAMP-OFF \?CCL11 FSET? SPOOL-READER,ONBIT \?CCL14 FCLEAR SPOOL-READER,ONBIT PRINTR "The spool reader is now off." ?CCL14: PRINTR "It's not on!" ?CCL11: EQUAL? PRSA,V?EXAMINE \?CCL16 PRINTI "The machine has a small screen, and below that, a small circular opening. The screen is currently " FSET? SPOOL-READER,ONBIT \?CCL19 FIRST? SPOOL-READER \?CCL19 PRINTI "displaying some information:" CRLF PRINT SPOOL-TEXT CRLF RTRUE ?CCL19: PRINTR "blank." ?CCL16: EQUAL? PRSA,V?READ \?CCL23 FSET? SPOOL-READER,ONBIT \?CCL26 FIRST? SPOOL-READER \?CCL26 PRINT SPOOL-TEXT CRLF RTRUE ?CCL26: PRINTR "The screen is blank." ?CCL23: EQUAL? PRSA,V?PUT \?CCL30 EQUAL? PRSI,SPOOL-READER \?CCL30 FIRST? SPOOL-READER \?CCL35 PRINTR "There's already a spool in the reader." ?CCL35: EQUAL? PRSO,GREEN-SPOOL \?CCL37 SET 'SPOOL-TEXT,GREEN-TEXT MOVE GREEN-SPOOL,SPOOL-READER FSET GREEN-SPOOL,TRYTAKEBIT PRINT SPOOL-FITS FSET? SPOOL-READER,ONBIT \?CND38 PRINT SOME-INFO ?CND38: CRLF RTRUE ?CCL37: EQUAL? PRSO,RED-SPOOL \?CCL41 SET 'SPOOL-TEXT,RED-TEXT MOVE RED-SPOOL,SPOOL-READER FSET RED-SPOOL,TRYTAKEBIT PRINT SPOOL-FITS FSET? SPOOL-READER,ONBIT \?CND42 PRINT SOME-INFO ?CND42: CRLF RTRUE ?CCL41: PRINTR "It doesn't fit in the circular opening." ?CCL30: EQUAL? PRSA,V?CLOSE \FALSE CALL NO-CLOSE RTRUE .FUNCT PROJCON-OFFICE-F,RARG EQUAL? RARG,M-LOOK \?CCL3 PRINTI "This office looks like a headquarters of some kind. Exits lead north and east. The west wall displays a logo. " ZERO? COMPUTER-FIXED /?CCL6 PRINTR "The mural that previously adorned the south wall has slid away, revealing an open doorway to a large elevator!" ?CCL6: PRINTR "The south wall is completely covered by a garish mural which clashes with the other decor of the room." ?CCL3: EQUAL? RARG,M-END \FALSE IN? FLOYD,HERE \FALSE ZERO? MURAL-FLAG \FALSE SET 'MURAL-FLAG,TRUE-VALUE SET 'FLOYD-SPOKE,TRUE-VALUE PRINTR "Floyd surveys the mural and scratches his head. ""I don't remember seeing this before,"" he comments." .FUNCT CRYO-ELEVATOR-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a large, plain elevator with one solitary button and a door to the north which is " CALL DDESC,CRYO-ELEVATOR-DOOR PRINTR "." .FUNCT CRYO-EXIT-F FSET? CRYO-ELEVATOR-DOOR,OPENBIT \?CCL3 ZERO? CRYO-SCORE-FLAG /?CCL6 RETURN CRYO-ANTEROOM ?CCL6: RETURN PROJCON-OFFICE ?CCL3: CALL DOOR-CLOSED RFALSE .FUNCT I-CRYO-ELEVATOR-ARRIVE FSET CRYO-ELEVATOR-DOOR,OPENBIT CRLF PRINTR "The elevator door opens onto a room to the north." .FUNCT CRYO-ANTEROOM-F,RARG EQUAL? RARG,M-LOOK \?CCL3 PRINTI "The elevator closes as you leave it, and you find yourself in a small, chilly room. To the north, through a wide arch, is an enormous chamber lined from floor to ceiling with thousands of cryo-units. You can see similar chambers beyond, and your mind staggers at the thought of the millions of individuals asleep for countless centuries. In the anteroom where you stand is a solitary cryo-unit, its cover frosted. Next to the cryo-unit is a complicated control panel." CRLF CRLF RTRUE ?CCL3: EQUAL? RARG,M-END \FALSE PRINTI "A door slides open and a medical robot glides in. It opens the cryo-unit and administers an injection to its inhabitant. As the robot glides away, a figure rises from the cryo-unit -- a handsome, middle-aged woman with flowing red hair. She spends some time studying readouts from the control panel" ZERO? COMM-FIXED /?CCL8 ZERO? DEFENSE-FIXED /?CCL8 PRINTI ", pressing several keys." CRLF JUMP ?CND6 ?CCL8: PRINTC 46 CRLF ?CND6: ZERO? COURSE-CONTROL-FIXED /?CCL13 PRINTI " As other cryo-units in the chambers beyond begin opening, the woman turns to you, bows gracefully, and speaks in a beautiful, lilting voice. ""I am Veldina, leader of Resida. Thanks to you, the cure has been discovered, and the planetary systems repaired. We are eternally grateful.""" CRLF ZERO? COMM-FIXED /?CCL16 ZERO? DEFENSE-FIXED /?CCL16 PRINTI " ""You will also be glad to hear that a ship of your Stellar Patrol now orbits the planet. I have sent them the coordinates for this room."" As if on cue, a landing party from the S.P.S. Flathead materializes nearby. Blather is with them, having been picked up from deep space in another escape pod, babbling cravenly. Captain Sterling of the Flathead acknowledges your heroic actions, and informs you of your promotion to Lieutenant First Class. As a team of mutant hunters head for the cryo-elevator, Veldina mentions that the grateful people of Resida offer you leadership of their world. Captain Sterling points out that, even if you choose to remain on Resida, Blather (demoted to Ensign Twelfth Class) has been assigned as your personal toilet attendant. You feel a sting from your arm and turn to see a medical robot moving away after administering the antidote for The Disease. A team of robot technicians step into the anteroom. They part their ranks, and a familiar figure comes bounding toward you! ""Hi!"" shouts Floyd, with uncontrolled enthusiasm. ""Floyd feeling better now!"" Smiling from ear to ear, he says, ""Look what Floyd found!"" He hands you a helicopter key, a reactor elevator card, and a paddleball set. ""Maybe we can use them in the sequel...""" CRLF CRLF CALL FINISH,FALSE-VALUE RSTACK ?CCL16: PRINTI " ""Unfortunately, a second ship from your Stellar Patrol has " ZERO? DEFENSE-FIXED \?CCL21 PRINTI "been destroyed by our malfunctioning meteor defenses." JUMP ?CND19 ?CCL21: PRINTI "come looking for survivors, and because of our malfunctioning communications system, has given up and departed." ?CND19: PRINTI " I fear that you are stranded on Resida, possibly forever. However, we show our gratitude by offering you an unlimited bank account and a house in the country.""" CRLF CRLF CALL FINISH,FALSE-VALUE RSTACK ?CCL13: PRINTI " She turns to you and, with a strained voice says, ""You have fixed our computer and a Cure has been discovered, and we are grateful. But alas, it was all in vain. Our planetary course control system has malfunctioned, and the orbit has now decayed beyond correction. Soon Resida will plunge into the sun.""" CRLF CRLF ZERO? COMM-FIXED /?CND22 ZERO? DEFENSE-FIXED /?CND22 PRINTI "Veldina examines the control panel again. ""Fortunately, another ship from your Stellar Patrol has arrived, so at least you will survive."" At that moment, a landing party from the S.P.S. Flathead materializes, and takes you away from the doomed world." CRLF CRLF ?CND22: CALL FINISH,FALSE-VALUE RSTACK .FUNCT COMPUTER-ACTION SET 'COMPUTER-FLAG,TRUE-VALUE SET 'FLOYD-SPOKE,TRUE-VALUE PRINTI "Floyd examines the " EQUAL? HERE,COMPUTER-ROOM \?CCL3 PRINTI "glowing light" JUMP ?CND1 ?CCL3: PRINTI "computer printout" ?CND1: PRINTR ". With a concerned frown, he says, ""Uh oh. Computer is broken. A Doctor-person once told Floyd that Computer is the most important part of the Project.""" .FUNCT PRINT-OUT-F EQUAL? PRSA,V?EXAMINE,V?READ \FALSE CALL FIXED-FONT-ON PRINTI "The printout is hundreds of pages long. It would take many chrons to read it all. The last page looks pretty interesting, though: ""Daalee Statis Reeport: PREELIMINEREE REESURC: 100.000% INTURMEEDEEIT REESURC: 100.000% FIINUL REESURC: 100.000% DRUG PROODUKSHUN: 100.000% DRUG TESTEENG: 99.985% Proojektid tiim tuu reeviivul prooseedzur: 0 daaz, 0.8 kronz *** ALURT! ALURT! *** Malfunkshun in Sekshun 384! Sumuneeng reepaar roobot."" The printout ends at this point." CRLF CALL FIXED-FONT-OFF RSTACK .FUNCT MINI-CARD-F FSET? MINI-CARD,NDESCBIT \FALSE EQUAL? PRSA,V?SMELL,V?PULL /?CCL3 EQUAL? PRSA,V?PUSH,V?TAKE,V?SET /?CCL3 EQUAL? PRSA,V?TURN,V?MOVE,V?RUB \FALSE ?CCL3: PRINTR "It's in the next room." .FUNCT LAB-UNIFORM-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "It is a plain lab uniform. The logo above the pocket depicts a flame burning above some kind of sleep chamber. The pocket is " CALL DDESC,LAB-UNIFORM PRINTR "." ?CCL3: EQUAL? PRSA,V?OPEN,V?SEARCH \?CCL5 FSET? LAB-UNIFORM,OPENBIT \?CCL8 PRINTR "The pocket is already open." ?CCL8: FSET LAB-UNIFORM,OPENBIT ZERO? UNIFORM-OPENED /?CCL11 FIRST? LAB-UNIFORM \?CCL14 PRINTI "Opening the uniform's pocket reveals " CALL PRINT-CONTENTS,LAB-UNIFORM PRINTR "." ?CCL14: PRINTR "The pocket is empty." ?CCL11: FSET LAB-UNIFORM,OPENBIT SET 'UNIFORM-OPENED,TRUE-VALUE PRINTR "You discover a small piece of paper and a teleportation access card in the pocket of the uniform." ?CCL5: EQUAL? PRSA,V?WEAR \FALSE FSET? PATROL-UNIFORM,WORNBIT \FALSE PRINTR "It won't fit on top of the Patrol uniform." .FUNCT COMBINATION-PAPER-F EQUAL? PRSA,V?EXAMINE,V?READ \FALSE PRINTI "Week uv 14-Juun--2882. Kombinaashun tuu Konfurins Ruum: " PRINTN NUMBER-NEEDED PRINTR "." .FUNCT BIO-LOCK-EAST-F,RARG EQUAL? RARG,M-END \FALSE IN? FLOYD,HERE \FALSE FSET? FLOYD,RLANDBIT \FALSE EQUAL? FLOYD,WINNER /FALSE ZERO? FLOYD-WAITING /?CCL10 GRTR? WAITING-COUNTER,3 \?CCL13 SET 'FLOYD-WAITING,FALSE-VALUE SET 'FLOYD-GAVE-UP,TRUE-VALUE SET 'FLOYD-SPOKE,TRUE-VALUE SET 'FLOYD-FOLLOW,FALSE-VALUE MOVE FLOYD,BIO-LOCK-WEST CALL QUEUE,I-FLOYD,1 PUT STACK,0,1 PRINTR """Okay,"" says Floyd with uncharacteristic annoyance. ""Forget about the stupid card."" He goes to the other end of the bio-lock and sulks." ?CCL13: ZERO? FLOYD-FORAYED \FALSE SET 'FLOYD-SPOKE,TRUE-VALUE INC 'WAITING-COUNTER PRINTR "Floyd looks at you with a dash of impatience and a healthy helping of nervousness. ""Well?"" he asks. ""Are you going to open the door?""" ?CCL10: ZERO? FLOYD-GAVE-UP \FALSE ZERO? FLOYD-PEERED \FALSE SET 'FLOYD-SPOKE,TRUE-VALUE SET 'FLOYD-PEERED,TRUE-VALUE CALL QUEUE,I-CLEAR-FLOYD-PEER,40 PUT STACK,0,1 FCLEAR MINI-CARD,INVISIBLE PRINTI "Floyd stands on his tiptoes and peers in the window. " ZERO? COMPUTER-FLAG /?CCL22 SET 'FLOYD-WAITING,TRUE-VALUE PRINTR """Looks dangerous in there,"" says Floyd. ""I don't think you should go inside."" He peers in again. ""We'll need card there to fix computer. Hmmm... I know! Floyd will get card. Robots are tough. Nothing can hurt robots. You open the door, then Floyd will rush in. Then you close door. When Floyd knocks, open door again. Okay? Go!"" Floyd's voice trembles slightly as he waits for you to open the door." ?CCL22: PRINTR """Ooo, look,"" he says. ""There's a miniaturization booth access card!""" .FUNCT I-CLEAR-FLOYD-PEER SET 'FLOYD-PEERED,FALSE-VALUE RFALSE .FUNCT BIO-DOOR-EAST-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? BIO-DOOR-EAST,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: FSET? BIO-DOOR-WEST,OPENBIT \?CCL8 PRINT BOTH-DOORS CRLF RTRUE ?CCL8: ZERO? FLOYD-WAITING /?CCL10 FSET? FLOYD,RLANDBIT \?CCL10 ZERO? FORAY-COUNTER \?CCL10 CALL QUEUE,I-FLOYD-FORAY,-1 PUT STACK,0,1 SET 'FLOYD-FORAYED,TRUE-VALUE FSET BIO-DOOR-EAST,OPENBIT REMOVE FLOYD CALL INT,I-FLOYD PUT STACK,0,0 PRINTR "The door opens and Floyd, pausing only for the briefest moment, plunges into the Bio Lab. Immediately, he is set upon by hideous, mutated monsters! More are heading straight toward the open door! Floyd shrieks and yells to you to close the door." ?CCL10: ZERO? FLOYD-FORAYED \?CCL15 CALL INT,I-CHASE-SCENE GET STACK,C-ENABLED? ZERO? STACK \?CCL15 CALL JIGS-UP,STR?265 RSTACK ?CCL15: FSET BIO-DOOR-EAST,OPENBIT CALL QUEUE,I-BIO-EAST-CLOSES,30 PUT STACK,0,1 PRINT DOOR-OPENS CRLF RTRUE ?CCL3: EQUAL? PRSA,V?CLOSE \FALSE FSET? BIO-DOOR-EAST,OPENBIT \?CCL22 EQUAL? FORAY-COUNTER,4 \?CND23 SET 'C-ELAPSED,95 ?CND23: FCLEAR BIO-DOOR-EAST,OPENBIT PRINTI "The door closes" CALL INT,I-CHASE-SCENE GET STACK,C-ENABLED? EQUAL? STACK,1 \?CCL27 PRINTR ", but not soon enough!" ?CCL27: PRINTR "." ?CCL22: CALL IS-CLOSED RSTACK .FUNCT I-BIO-EAST-CLOSES FSET? BIO-DOOR-EAST,OPENBIT \FALSE FCLEAR BIO-DOOR-EAST,OPENBIT EQUAL? HERE,BIO-LOCK-EAST,BIO-LOCK-WEST,BIO-LAB \FALSE CRLF PRINTR "The door at the eastern end of the bio-lock closes silently." .FUNCT BIO-DOOR-WEST-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? BIO-DOOR-WEST,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: FSET? BIO-DOOR-EAST,OPENBIT \?CCL8 PRINT BOTH-DOORS CRLF RTRUE ?CCL8: PRINT DOOR-OPENS CRLF CALL QUEUE,I-BIO-WEST-CLOSES,30 PUT STACK,0,1 FSET BIO-DOOR-WEST,OPENBIT RTRUE ?CCL3: EQUAL? PRSA,V?CLOSE \FALSE FSET? BIO-DOOR-WEST,OPENBIT \?CCL13 FCLEAR BIO-DOOR-WEST,OPENBIT PRINT DOOR-CLOSES CRLF RTRUE ?CCL13: CALL IS-CLOSED RSTACK .FUNCT I-BIO-WEST-CLOSES FSET? BIO-DOOR-WEST,OPENBIT \FALSE FCLEAR BIO-DOOR-WEST,OPENBIT EQUAL? HERE,BIO-LOCK-WEST,BIO-LOCK-EAST,MAIN-LAB \FALSE CRLF PRINTR "The door at the western end of the bio-lock closes silently." .FUNCT RAD-DOOR-EAST-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? RAD-DOOR-EAST,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: FSET? RAD-DOOR-WEST,OPENBIT \?CCL8 PRINT BOTH-DOORS CRLF RTRUE ?CCL8: FSET RAD-DOOR-EAST,OPENBIT PRINT DOOR-OPENS CRLF RTRUE ?CCL3: EQUAL? PRSA,V?CLOSE \FALSE FSET? RAD-DOOR-EAST,OPENBIT \?CCL13 FCLEAR RAD-DOOR-EAST,OPENBIT PRINT DOOR-CLOSES CRLF RTRUE ?CCL13: CALL IS-CLOSED RSTACK .FUNCT RAD-DOOR-WEST-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? RAD-DOOR-WEST,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: FSET? RAD-DOOR-EAST,OPENBIT \?CCL8 PRINT BOTH-DOORS CRLF RTRUE ?CCL8: PRINT DOOR-OPENS CRLF FSET RAD-DOOR-WEST,OPENBIT RTRUE ?CCL3: EQUAL? PRSA,V?CLOSE \FALSE FSET? RAD-DOOR-WEST,OPENBIT \?CCL13 FCLEAR RAD-DOOR-WEST,OPENBIT PRINT DOOR-CLOSES CRLF RTRUE ?CCL13: CALL IS-CLOSED RSTACK .FUNCT I-FLOYD-FORAY INC 'FORAY-COUNTER EQUAL? FORAY-COUNTER,2 \?CCL3 FSET? BIO-DOOR-EAST,OPENBIT \?CCL6 CRLF CALL MONSTER-DEATH RSTACK ?CCL6: CRLF PRINTR "From within the lab you hear ferocious growlings, the sounds of a skirmish, and then a high-pitched metallic scream!" ?CCL3: EQUAL? FORAY-COUNTER,3 \?CCL8 FSET? BIO-DOOR-EAST,OPENBIT \?CCL11 CRLF CALL MONSTER-DEATH RSTACK ?CCL11: CRLF PRINTR "You hear, slightly muffled by the door, three fast knocks, followed by the distinctive sound of tearing metal." ?CCL8: EQUAL? FORAY-COUNTER,4 \?CCL13 FSET? BIO-DOOR-EAST,OPENBIT \?CCL16 MOVE FLOYD,HERE CRLF PRINTR "Floyd stumbles out of the Bio Lab, clutching the mini-booth card. The mutations rush toward the open doorway!" ?CCL16: CRLF PRINTI "The three knocks come again, followed by a wild scream. Then, all is silence from within the Bio Lab, except for an occasional metallic crunch." CRLF FCLEAR FLOYD,RLANDBIT CALL INT,I-FLOYD-FORAY PUT STACK,0,0 RTRUE ?CCL13: EQUAL? FORAY-COUNTER,5 \FALSE FSET? BIO-DOOR-EAST,OPENBIT \?CCL21 CRLF CALL MONSTER-DEATH RSTACK ?CCL21: REMOVE FLOYD FCLEAR FLOYD,RLANDBIT CALL INT,I-FLOYD PUT STACK,0,0 FSET FLOYD,INVISIBLE MOVE DEAD-FLOYD,HERE MOVE MINI-CARD,BIO-LOCK-EAST FSET MINI-CARD,TOUCHBIT ADD SCORE,2 >SCORE CRLF PRINTI "And not a moment too soon! You hear a pounding from the door as the monsters within vent their frustration at losing their prey. Floyd staggers to the ground, dropping the mini card. He is badly torn apart, with loose wires and broken circuits everywhere. Oil flows from his lubrication system. He obviously has only moments to live. You drop to your knees and cradle Floyd's head in your lap. Floyd looks up at his friend with half-open eyes. ""Floyd did it ... got card. Floyd a good friend, huh?"" Quietly, you sing Floyd's favorite song, the Ballad of the Starcrossed Miner: O, they ruled the solar system Near ten thousand years before In their single starcrossed scout ships Mining ast'roids, spinning lore. Then one true courageous miner Spied a spaceship from the stars Boarded he that alien liner Out beyond the orb of Mars. Yes, that ship was filled with danger Mighty monsters barred his way Yet he solved the alien myst'ries Mining quite a lode that day. O, they ruled the solar system Near ten thousand years before 'Til one brave advent'rous spirit Brought that mighty ship to shore. As you finish the last verse, Floyd smiles with contentment, and then his eyes close as his head rolls to one side. You sit in silence for a moment, in memory of a brave friend who gave his life so that you might live." CRLF FCLEAR FLOYD,RLANDBIT FCLEAR MINI-CARD,NDESCBIT CALL INT,I-FLOYD-FORAY PUT STACK,0,0 RTRUE .FUNCT MONSTER-DEATH CALL JIGS-UP,STR?269 RSTACK .FUNCT BIO-LAB-F,RARG EQUAL? RARG,M-LOOK \?CCL3 PRINTI "This is a huge laboratory filled with many biological experiments. The lighting is " ZERO? LAB-LIGHTS-ON /?CCL6 PRINTI "bright." JUMP ?CND4 ?CCL6: PRINTI "dim, and a faint blue glow comes from a gaping crack in the northern wall." ?CND4: PRINTR " Some of the experiments seem to be out of control..." ?CCL3: EQUAL? RARG,M-END \FALSE CALL QUEUE,I-CHASE-SCENE,-1 PUT STACK,0,1 ZERO? LAB-FLOODED /?CCL11 PRINTI "The air is filled with mist, which is affecting the mutants. They appear to be stunned and confused, but are slowly recovering." CRLF FSET? GAS-MASK,WORNBIT /FALSE CALL JIGS-UP,STR?270 RSTACK ?CCL11: CALL JIGS-UP,STR?271 RSTACK .FUNCT I-CHASE-SCENE IN? RAT-ANT,HERE \?CCL3 ZERO? LAB-FLOODED \?CCL3 CALL JIGS-UP,STR?272 JUMP ?CND1 ?CCL3: ZERO? LAB-FLOODED \?CND1 EQUAL? HERE,BIO-LOCK-WEST \?CCL9 ZERO? EXTRA-MOVE-FLAG \?CCL9 SET 'EXTRA-MOVE-FLAG,TRUE-VALUE CRLF PRINTI "The monsters gallop toward you, smacking their lips." CRLF JUMP ?CND1 ?CCL9: EQUAL? HERE,CRYO-ELEVATOR \?CCL13 ZERO? CRYO-MOVE-FLAG \?CCL13 SET 'CRYO-MOVE-FLAG,TRUE-VALUE CRLF PRINTI "The monsters are storming straight toward the elevator door!" CRLF JUMP ?CND1 ?CCL13: EQUAL? HERE,SECOND-TO-LAST-ROOM \?CCL17 EQUAL? PRSA,V?WALK \?CCL17 CALL JIGS-UP,STR?273 JUMP ?CND1 ?CCL17: EQUAL? HERE,CRYO-ELEVATOR \?CND20 CRLF CALL MONSTER-DEATH ?CND20: MOVE RAT-ANT,HERE MOVE TRIFFID,HERE MOVE TROLL,HERE MOVE GRUE,HERE CRLF PRINTI "The mutants " EQUAL? HERE,BIO-LOCK-WEST \?CCL24 PRINTI "are almost upon you now!" CRLF JUMP ?CND1 ?CCL24: PRINTI "burst into the room right on your heels! " CALL PICK-ONE,MONSTER-ENTRANCES PRINT STACK CRLF ?CND1: SET 'SECOND-TO-LAST-ROOM,LAST-CHASE-ROOM SET 'LAST-CHASE-ROOM,HERE RETURN LAST-CHASE-ROOM .FUNCT RADIATION-LAB-F,RARG EQUAL? RARG,M-ENTER \FALSE FSET? RADIATION-LAB,TOUCHBIT /FALSE CALL QUEUE,I-NUKED-BLUE,50 PUT STACK,0,1 RTRUE .FUNCT I-NUKED-BLUE CALL QUEUE,I-NUKED-BLUE,-1 PUT STACK,0,1 INC 'NUKED-COUNTER EQUAL? NUKED-COUNTER,1 \?CCL3 CRLF PRINTR "You suddenly feel sick and dizzy." ?CCL3: EQUAL? NUKED-COUNTER,2 \?CCL5 CRLF PRINTI "You feel incredibly nauseous and begin vomiting. Also, all your hair has fallen out." IN? FLOYD,HERE \?CND6 PRINTR " Floyd points at you and laughs hysterically. ""You look funny with no hair,"" he gasps." ?CND6: CRLF RTRUE ?CCL5: EQUAL? NUKED-COUNTER,3 \FALSE CALL JIGS-UP,STR?279 RSTACK .FUNCT LAMP-F EQUAL? PRSA,V?LAMP-ON \?CCL3 FSET? LAMP,ONBIT \?CCL6 PRINTR "It is on." ?CCL6: FSET LAMP,ONBIT FSET LAMP,TOUCHBIT PRINTR "The lamp is now producing a bright light." ?CCL3: EQUAL? PRSA,V?LAMP-OFF \FALSE FSET? LAMP,ONBIT \?CCL11 FCLEAR LAMP,ONBIT PRINTR "The lamp goes dark." ?CCL11: PRINTR "It isn't on." .FUNCT LAB-OFFICE-F,RARG EQUAL? RARG,M-LOOK \?CCL3 PRINTI "This is the office for storing files on Bio Lab experiments. A large and messy desk is surrounded by locked files. A small booth lies to the south. " FSET? OFFICE-DOOR,OPENBIT \?CCL6 PRINTI "An open" JUMP ?CND4 ?CCL6: PRINTI "A closed" ?CND4: PRINTR " door to the west is labelled ""Biioo Lab."" You realize with shock and horror that the only way out is through the mutant-infested Bio Lab. On the wall are three buttons: a white button labelled ""Lab Liits On"", a black button labelled ""Lab Liits Of"", and a red button labelled ""Eemurjensee Sistum.""" ?CCL3: EQUAL? RARG,M-END \FALSE FSET? OFFICE-DOOR,OPENBIT \FALSE ZERO? LAB-FLOODED /?CCL13 PRINTR "Through the open doorway you can see the Bio Lab. It seems to be filled with a light mist. Horrifying biological nightmares stagger about making choking noises." ?CCL13: CALL JIGS-UP,STR?283 RSTACK .FUNCT LAB-DESK-F EQUAL? PRSA,V?SEARCH,V?EXAMINE \?CCL3 FSET? LAB-DESK,TOUCHBIT /?CCL3 MOVE MEMO,ADVENTURER FSET LAB-DESK,TOUCHBIT PRINTI "After inspecting the various papers on the desk, you find only one item of interest, a memo of some sort. The desk itself is " FSET? LAB-DESK,OPENBIT \?CCL8 PRINTI "open" JUMP ?CND6 ?CCL8: PRINTI "closed, but it doesn't look locked" ?CND6: PRINTR "." ?CCL3: EQUAL? PRSA,V?OPEN \FALSE IN? GAS-MASK,LAB-DESK \FALSE CALL THIS-IS-IT,GAS-MASK RFALSE .FUNCT LIGHT-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE ZERO? LAB-LIGHTS-ON /?CCL6 PRINTR "Nothing happens." ?CCL6: SET 'LAB-LIGHTS-ON,TRUE-VALUE PRINT FAINT-SOUND CRLF RTRUE .FUNCT DARK-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE ZERO? LAB-LIGHTS-ON /?CCL6 SET 'LAB-LIGHTS-ON,FALSE-VALUE PRINT FAINT-SOUND CRLF RTRUE ?CCL6: PRINTR "Nothing happens." .FUNCT FUNGICIDE-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE SET 'LAB-FLOODED,TRUE-VALUE CALL QUEUE,I-UNFLOOD,50 PUT STACK,0,1 PRINTR "You hear a hissing from beyond the door to the west." .FUNCT I-UNFLOOD SET 'LAB-FLOODED,FALSE-VALUE EQUAL? HERE,BIO-LAB \?CCL3 CRLF PRINTR "The last traces of mist in the air vanish. The mutants, recovering quickly, notice you and begin salivating." ?CCL3: EQUAL? HERE,LAB-OFFICE \FALSE FSET? OFFICE-DOOR,OPENBIT \FALSE CRLF PRINTR "The mist in the Bio Lab clears. The mutants recover and rush toward the door!" .FUNCT I-TURNOFF-MINI SET 'MINI-ACTIVATED,FALSE-VALUE EQUAL? HERE,MINI-BOOTH \FALSE CRLF PRINTR "A recorded voice says ""Miniaturization booth de-activated.""" .FUNCT STATION-384-F,RARG EQUAL? RARG,M-ENTER \FALSE ZERO? BEEN-HERE /FALSE SET 'BEEN-HERE,FALSE-VALUE ZERO? COMPUTER-FIXED /?CCL9 PRINTI "A voice seems to whisper in your ear ""Main Miniaturization and Teleportation Booth has malfunctioned...switching to Auxiliary Booth..."" " CALL QUEUE,I-ANNOUNCEMENT,130 PUT STACK,0,1 PRINT FAMILIAR-WRENCHING CRLF CALL GOTO,AUXILIARY-BOOTH RETURN 2 ?CCL9: PRINT FAMILIAR-WRENCHING CRLF CALL GOTO,MINI-BOOTH,FALSE-VALUE RSTACK .FUNCT I-ANNOUNCEMENT CRLF PRINTR "A recorded announcement blares from the public address system. ""Revival procedure beginning. Cryo-chamber access from Project Control Office now open.""" .FUNCT MIDDLE-OF-STRIP-F,RARG EQUAL? RARG,M-ENTER \FALSE ZERO? COMPUTER-FIXED /FALSE ZERO? NO-MICROBE /FALSE ZERO? MICROBE-DISPATCHED \FALSE MOVE MICROBE,HERE CALL QUEUE,I-MICROBE,-1 PUT STACK,0,1 SET 'NO-MICROBE,FALSE-VALUE PRINTI "Suddenly, with a loud plop, a giant elephant-sized monster lands on the strip just in front of you. It is amorphously shaped, its skin a slimy translucent red membrane. While most of your brain screams with panic about the disgusting monster that now blocks your exit, some small section in the back of your mind calmly realizes that this is merely some tiny microbe which has somehow violated the sterile environment of the computer interior. As you stand frozen with fear, the microbe slithers toward you, extending slimy pseudopods thick with waving cilia. It looks pretty hungry, and seems intent on having you for lunch." CRLF CRLF RTRUE .FUNCT STRIP-NEAR-RELAY-F,RARG EQUAL? RARG,M-LOOK \?CCL3 PRINTI "North of here, the filament ends at a huge featureless wall, presumably the side of some micro-component. " IN? RELAY,HERE \?CCL6 PRINTR "To the east is a vacuu-sealed micro-relay, sealed in transparent red plastic. You could probably see into the micro-relay." ?CCL6: PRINTR "To the east are the shattered remains of some large object." ?CCL3: EQUAL? RARG,M-ENTER \FALSE ZERO? NO-MICROBE \FALSE MOVE MICROBE,HERE SET 'MICROBE-COUNTER,0 PRINTR "The microbe, writhing angrily, follows you northward." .FUNCT RELAY-EXIT-F IN? RELAY,HERE \?CCL3 PRINTI "The relay is sealed. Although you cannot enter it, you could look into it." CRLF RFALSE ?CCL3: PRINTI "You would slice yourself to ribbons on the shattered relay." CRLF RFALSE .FUNCT RELAY-F EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE PRINTI "This is a vacuum-sealed micro-relay, encased in red translucent plastic." ZERO? COMPUTER-FIXED \?CND4 PRINTR " Within, you can see that some sort of speck or impurity has wedged itself into the contact point of the relay, preventing it from closing. The speck, presumably of microscopic size, resembles a blue boulder to you in your current size." ?CND4: CRLF RTRUE .FUNCT LASER-DIAL-F EQUAL? PRSA,V?SET \?CCL3 EQUAL? PRSI,INTNUM \?CCL3 FSET? LASER-DIAL,MUNGEDBIT \?CCL8 PRINTR "The laser dial seems to have become damaged and will not turn." ?CCL8: EQUAL? P-NUMBER,LASER-SETTING \?CCL10 PRINTR "That's where it's set now!" ?CCL10: GRTR? P-NUMBER,6 /?CTR11 ZERO? P-NUMBER \?CCL12 ?CTR11: PRINTR "The dial can only be set from 1 to 6." ?CCL12: SET 'LASER-SETTING,P-NUMBER PRINTI "The dial is now set to " PRINTN P-NUMBER PRINTR "." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTI "The dial is currently set to " PRINTN LASER-SETTING PRINTR "." .FUNCT ZAP-COUNT IN? OLD-BATTERY,LASER \?CCL3 GRTR? OLD-SHOTS,0 \TRUE DEC 'OLD-SHOTS RFALSE ?CCL3: IN? NEW-BATTERY,LASER \TRUE GRTR? NEW-SHOTS,0 \TRUE DEC 'NEW-SHOTS RFALSE .FUNCT LASER-F,RARG=0 EQUAL? PRSA,V?SET \?CCL3 EQUAL? PRSI,INTNUM \?CCL3 CALL PERFORM,V?SET,LASER-DIAL,PRSI RTRUE ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7 PRINTI "The laser, though portable, is still fairly heavy. It has a long, slender barrel and a dial with six settings, labelled ""1"" through ""6."" This dial is currently on setting " PRINTN LASER-SETTING PRINTI ". There is a depression on the top of the laser which " IN? OLD-BATTERY,LASER \?CCL10 PRINTI "contains an " PRINTD OLD-BATTERY JUMP ?CND8 ?CCL10: IN? NEW-BATTERY,LASER \?CCL12 PRINTI "contains a " PRINTD NEW-BATTERY JUMP ?CND8 ?CCL12: PRINTI "is empty" ?CND8: PRINTR "." ?CCL7: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL14 PRINTR "There doesn't seem to be any way to do that to this laser." ?CCL14: EQUAL? PRSA,V?PUT \?CCL16 EQUAL? PRSO,OLD-BATTERY \?CCL19 IN? NEW-BATTERY,LASER \?CCL22 CALL ALREADY-BATTERY RSTACK ?CCL22: MOVE OLD-BATTERY,LASER CALL BATTERY-NOW RSTACK ?CCL19: EQUAL? PRSO,NEW-BATTERY \?CCL24 IN? OLD-BATTERY,LASER \?CCL27 CALL ALREADY-BATTERY RSTACK ?CCL27: MOVE NEW-BATTERY,LASER CALL BATTERY-NOW RSTACK ?CCL24: EQUAL? LASER,PRSO /FALSE PRINTI "The " PRINTD PRSO PRINTR " doesn't fit the depression." ?CCL16: EQUAL? PRSA,V?ZAP \?CCL31 IN? LASER,ADVENTURER /?CND32 CALL NOT-HOLDING RTRUE ?CND32: ZERO? LASER-SCORE-FLAG \?CND34 SET 'LASER-SCORE-FLAG,TRUE-VALUE ADD SCORE,2 >SCORE ?CND34: EQUAL? PRSI,LASER /?CTR37 EQUAL? PRSI,LASER-DIAL /?CTR37 EQUAL? PRSI,OLD-BATTERY \?PRD42 IN? OLD-BATTERY,LASER /?CTR37 ?PRD42: EQUAL? PRSI,NEW-BATTERY \?CCL38 IN? NEW-BATTERY,LASER \?CCL38 ?CTR37: PRINTR "Sorry, the laser doesn't have a rubber barrel." ?CCL38: CALL ZAP-COUNT ZERO? STACK /?CCL48 PRINTR "Click." ?CCL48: FSET? LASER,MUNGEDBIT \?CCL50 PRINTR "The laser sparks a few times, whines, and then stops." ?CCL50: CALL QUEUE,I-WARMTH,-1 PUT STACK,0,1 SET 'LASER-JUST-SHOT,TRUE-VALUE EQUAL? PRSI,SPECK \?CCL53 CALL SHOOT-SPECK RTRUE ?CCL53: EQUAL? PRSI,MICROBE \?CCL55 CALL SHOOT-MICROBE RTRUE ?CCL55: EQUAL? PRSI,ME,HANDS,ADVENTURER \?CCL57 PRINTR "Ouch! You managed to burn yourself nicely." ?CCL57: PRINTI "The laser emits a narrow " CALL BEAM-COLOR PRINTI " beam of light" ZERO? PRSI /?CCL60 EQUAL? PRSI,TOWEL,BROCHURE,COMBINATION-PAPER /?CTR62 EQUAL? PRSI,PRINT-OUT,LAB-UNIFORM,PATROL-UNIFORM /?CTR62 EQUAL? PRSI,ID-CARD,KITCHEN-CARD,MINI-CARD /?CTR62 EQUAL? PRSI,TELEPORTATION-CARD,SHUTTLE-CARD,UPPER-ELEVATOR-CARD /?CTR62 EQUAL? PRSI,LOWER-ELEVATOR-CARD \?CCL63 ?CTR62: REMOVE PRSI EQUAL? PRSI,SPOUT-PLACED \?CND69 SET 'SPOUT-PLACED,GROUND ?CND69: PRINTI " which strikes the " PRINTD PRSI PRINTI ". The " PRINTD PRSI PRINTR " bursts into flame, blinding you momentarily, and is quickly consumed." ?CCL63: EQUAL? PRSI,FLOYD \?CCL72 FSET? FLOYD,RLANDBIT \?CCL72 PRINTR " which strikes Floyd. ""Yow!"" yells Floyd. He jumps to the other end of the room and eyes you warily." ?CCL72: EQUAL? PRSI,PSEUDO-OBJECT \?CCL76 EQUAL? HERE,PROJCON-OFFICE \?CCL76 PRINTI " which strikes the " PRINTD PRSI PRINTR ". However, this doesn't seem to affect it." ?CCL76: PRINTI " which strikes the " PRINTD PRSI PRINTI ". The " PRINTD PRSI PRINTR " grows a bit warm, but nothing else happens." ?CCL60: PRINTR "." ?CCL31: EQUAL? PRSA,V?DROP \FALSE CALL INT,I-WARMTH PUT STACK,0,0 IN? MICROBE,HERE \FALSE GRTR? WARMTH-FLAG,7 \FALSE REMOVE LASER PRINTR "The microbe rushes to envelop the laser. You hear a faint burp as the monster begins to look around for other morsels..." .FUNCT ALREADY-BATTERY PRINTR "There's already a battery there." .FUNCT BATTERY-NOW PRINTR "The battery is now resting in the depression, attached to the laser." .FUNCT I-WARMTH ZERO? LASER-JUST-SHOT /?CCL3 SET 'LASER-JUST-SHOT,FALSE-VALUE INC 'WARMTH-FLAG EQUAL? WARMTH-FLAG,3 \?CCL6 CALL LASER-FEELS,STR?298 RSTACK ?CCL6: EQUAL? WARMTH-FLAG,6 \?CCL8 CALL LASER-FEELS,STR?299 RSTACK ?CCL8: EQUAL? WARMTH-FLAG,9 \?CCL10 CALL LASER-FEELS,STR?300 RSTACK ?CCL10: EQUAL? WARMTH-FLAG,12 \FALSE CALL LASER-FEELS,STR?301 RSTACK ?CCL3: ZERO? WARMTH-FLAG \?CCL15 CALL INT,I-WARMTH PUT STACK,0,0 RTRUE ?CCL15: DEC 'WARMTH-FLAG EQUAL? WARMTH-FLAG,12 \?CCL18 CALL LASER-COOLS,STR?301 RSTACK ?CCL18: EQUAL? WARMTH-FLAG,9 \?CCL20 CALL LASER-COOLS,STR?302 RSTACK ?CCL20: EQUAL? WARMTH-FLAG,6 \?CCL22 CALL LASER-COOLS,STR?303 RSTACK ?CCL22: EQUAL? WARMTH-FLAG,3 \FALSE CALL LASER-COOLS,STR?304 RSTACK .FUNCT LASER-FEELS,STRING CRLF PRINTI "The laser feels " PRINT STRING PRINTR ", but that doesn't seem to affect its performance at all." .FUNCT LASER-COOLS,STRING CRLF PRINTI "The laser has cooled, but it still feels " PRINT STRING PRINTR "." .FUNCT BEAM-COLOR EQUAL? LASER-SETTING,1 \?CCL3 PRINTI "red" RTRUE ?CCL3: EQUAL? LASER-SETTING,2 \?CCL5 PRINTI "orange" RTRUE ?CCL5: EQUAL? LASER-SETTING,3 \?CCL7 PRINTI "yellow" RTRUE ?CCL7: EQUAL? LASER-SETTING,4 \?CCL9 PRINTI "green" RTRUE ?CCL9: EQUAL? LASER-SETTING,5 \?CCL11 PRINTI "blue" RTRUE ?CCL11: EQUAL? LASER-SETTING,6 \FALSE PRINTI "violet" RTRUE .FUNCT SHOOT-SPECK EQUAL? LASER-SETTING,1 \?CCL3 RANDOM 100 LESS? MARKSMANSHIP-COUNTER,STACK /?CCL6 ZERO? SPECK-HIT /?CCL9 SET 'COMPUTER-FIXED,TRUE-VALUE FSET CRYO-ELEVATOR-DOOR,OPENBIT FCLEAR PROJCON-OFFICE,TOUCHBIT FCLEAR CRYO-ELEVATOR-DOOR,INVISIBLE CALL QUEUE,I-FRY,200 PUT STACK,0,1 ADD SCORE,8 >SCORE REMOVE SPECK PRINTR "The beam hits the speck again! This time, it vaporizes into a fine cloud of ash. The relay slowly begins to close, and a voice whispers in your ear ""Sector 384 will activate in 200 millichrons. Proceed to exit station.""" ?CCL9: SET 'SPECK-HIT,TRUE-VALUE PRINTR "The speck is hit by the beam! It sizzles a little, but isn't destroyed yet." ?CCL6: ADD MARKSMANSHIP-COUNTER,12 >MARKSMANSHIP-COUNTER CALL PICK-ONE,BEAM-MISSES PRINT STACK CRLF RTRUE ?CCL3: REMOVE RELAY PRINTI "A thin " CALL BEAM-COLOR PRINTR " beam shoots from the laser and slices through the red plastic covering of the relay like a hot knife through butter. Air rushes into the relay, which collapses into a heap of plastic shards." .FUNCT I-FRY EQUAL? HERE,MIDDLE-OF-STRIP,STRIP-NEAR-STATION,STRIP-NEAR-RELAY \FALSE CRLF CALL JIGS-UP,STR?308 RSTACK .FUNCT MICROBE-F EQUAL? PRSA,V?TALK,V?HELLO /?CTR2 EQUAL? MICROBE,WINNER \?CCL3 ?CTR2: PRINTI "You don't seem to have bridged the vast communication gulf between yourself and the microbe." CRLF SET 'P-CONT,FALSE-VALUE SET 'QUOTE-FLAG,FALSE-VALUE RETURN 2 ?CCL3: EQUAL? PRSA,V?GIVE,V?THROW \FALSE EQUAL? PRSI,MICROBE \FALSE EQUAL? PRSO,LASER \?CCL14 GRTR? WARMTH-FLAG,7 \?CCL14 REMOVE LASER CALL INT,I-WARMTH PUT STACK,0,0 GRTR? WARMTH-FLAG,10 \?CCL19 CALL INT,I-MICROBE PUT STACK,0,0 PRINTI "The microbe gobbles up the laser and turns toward you. A moment later, it begins writhing in pain. Apparently, eating the hot laser was a bit too much for it. With a bellow of agony, it rolls off the edge of the strip. (Whew!)" CRLF REMOVE LASER REMOVE MICROBE SET 'NO-MICROBE,TRUE-VALUE SET 'MICROBE-DISPATCHED,TRUE-VALUE RETURN MICROBE-DISPATCHED ?CCL19: PRINTR "The microbe greedily devours the laser, and turns toward you." ?CCL14: PRINTI "The microbe ignores the " PRINTD PRSO PRINTR ", but does attempt to digest your arm." .FUNCT I-MICROBE EQUAL? MICROBE-HIT,TRUE-VALUE \?CCL3 CRLF CALL PICK-ONE,WINNER-ATTACKED PRINT STACK GRTR? WARMTH-FLAG,13 \?CCL6 IN? LASER,ADVENTURER \?CCL6 CALL JIGS-UP,STR?310 JUMP ?CND4 ?CCL6: GRTR? WARMTH-FLAG,7 \?CND4 IN? LASER,ADVENTURER \?CND4 PRINTI " Another pseudopod, perhaps attracted by the warmth of the laser, tries to envelop the weapon. You snatch it away from the monster's grasp." ?CND4: CRLF JUMP ?CND1 ?CCL3: EQUAL? MICROBE-COUNTER,2 \?CCL14 CALL JIGS-UP,STR?311 JUMP ?CND1 ?CCL14: INC 'MICROBE-COUNTER CRLF CALL PICK-ONE,MONSTER-CLOSES PRINT STACK CRLF ?CND1: SET 'MICROBE-HIT,FALSE-VALUE RETURN MICROBE-HIT .FUNCT SHOOT-MICROBE PRINTI "The laser beam strikes the microbe" EQUAL? LASER-SETTING,1 \?CCL3 PRINTR ", but passes harmlessly through its red skin." ?CCL3: SET 'MICROBE-HIT,TRUE-VALUE PRINTI ". " CALL PICK-ONE,MICROBE-STRIKES PRINT STACK CRLF RTRUE .FUNCT STRIP-F EQUAL? PRSA,V?THROW-OFF \FALSE EQUAL? PRSO,LASER \?CCL6 GRTR? WARMTH-FLAG,7 \?CCL6 CALL INT,I-WARMTH PUT STACK,0,0 CALL INT,I-MICROBE PUT STACK,0,0 PRINTI "As the laser flies over the edge of the strip, the hungry microbe lunges after it. Both the laser and the microbe plummet into the void. (Whew!)" CRLF REMOVE LASER REMOVE MICROBE SET 'NO-MICROBE,TRUE-VALUE SET 'MICROBE-DISPATCHED,TRUE-VALUE RETURN MICROBE-DISPATCHED ?CCL6: EQUAL? PRSO,LASER \?CND9 CALL INT,I-WARMTH PUT STACK,0,0 ?CND9: REMOVE PRSO PRINTI "The " PRINTD PRSO PRINTR " flies over the edge of the strip and disappears into the void." .FUNCT GRUE-F EQUAL? PRSA,V?EXAMINE \FALSE IN? GRUE,HERE /FALSE PRINTR "Grues are vicious, carnivorous beasts first introduced to Earth by a visiting alien spaceship during the late 22nd century. Grues spread throughout the galaxy alongside man. Although now extinct on all civilized planets, they still exist in some backwater corners of the galaxy. Their favorite diet is Ensigns Seventh Class, but their insatiable appetite is tempered by their fear of light." .ENDI ================================================ FILE: comptwo.zil ================================================ "COMPTWO for PLANETFALL (C) COPYRIGHT 1983 INFOCOM, INC. ALL RIGHTS RESERVED This file contains all the rooms, objects, and actions associated with Complex Two / the Eastern Complex / the Lawanda Compleks." ) (NORTH PER SHUTTLE-ENTER-F) (SOUTH PER SHUTTLE-ENTER-F) (EAST TO ESCALATOR) (UP TO ESCALATOR) (FLAGS FLOYDBIT RLANDBIT ONBIT) (VALUE 4) (GLOBAL GLOBAL-SHUTTLE STAIRS) (PSEUDO "ESCALATOR" ESCALATOR-PSEUDO) (ACTION LAWANDA-PLATFORM-F)> > )> > ) ( > ) (T )>)> )>> ) (UP TO FORK) (EAST TO FORK) (DOWN TO LAWANDA-PLATFORM) (WEST TO LAWANDA-PLATFORM) (GLOBAL STAIRS) (PSEUDO "ESCALATOR" ESCALATOR-PSEUDO) (FLAGS RLANDBIT FLOYDBIT ONBIT)> ) (WEST TO ESCALATOR) (DOWN TO ESCALATOR) (NE TO SYSTEMS-CORRIDOR-WEST) (SE TO PROJECT-CORRIDOR-WEST) (GLOBAL STAIRS) (PSEUDO "ESCALATOR" ESCALATOR-PSEUDO) (FLAGS FLOYDBIT RLANDBIT ONBIT)> "He's dead, Jim" ) (SE TO SYSTEMS-CORRIDOR-WEST) (OUT TO SYSTEMS-CORRIDOR-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL BED SHELVES) (PSEUDO "EQUIPM" EQUIPMENT-PSEUDO "MACHIN" EQUIPMENT-PSEUDO) (ACTION INFIRMARY-F)> > > > )>> > )>> )) >> ) ( >> ) ( ) ( > > ) ( )> )> )> ) (T )>) ( ,W?TAKE>> )>> ) (UP TO SYSTEMS-CORRIDOR-WEST) (SOUTH TO SYSTEMS-CORRIDOR-WEST) (NORTH "It is a robot-sized doorway -- a bit too small for you.") (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL STAIRS) (PSEUDO "CABINETS" CABINETS-PSEUDO "MACHIN" EQUIPMENT-PSEUDO)> > ;"Set to T when Floyd babbles about Achilles" ) ( ) ( )>> > ) (T )>> > ) ( )>> > ) (NW TO INFIRMARY) (NORTH TO REPAIR-ROOM) (DOWN TO REPAIR-ROOM) (EAST TO SYSTEMS-CORRIDOR) (SW TO FORK) (FLAGS ONBIT RLANDBIT) (GLOBAL STAIRS)> "Planetary systems and repairs" > > )> )>> ) (T )>) ( ) (T )>) ( > > ) (,ACCESS-PANEL-FULL ) ( > ) ( )> ) (T )>)>> )>> > ) (T > ) (T )> )>) (T )>) ( )>> > > > ) (T )> ) (T )> )>> ) (T )>) ( ) (T )>) ( > > ) ( ) ( > > ) (T )>) ( ) (T )>)>> > ) ( ) (T )>)>> "The Library" > )>> )> ) (T )>) ( )> ) (T )>) ( ) (T )>) ( ) (T )>)>> > ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )>) ( ) ( ) ( ) ( ) ( )>) ( ) ( ) ( ) ( ) ( )>) ( ) ( ) ( ) ( ) ( ) ( ) ( )>) ( ) ( ) ( ) ( ) ( )>) ( ) ( ) ( ) ( ) ( )>) ( ) ( )>) ( ) ( ) ( )>) ( > ) (T )>) ( > ) (T )>) ( > ) (T )>) ( > ) (T )>) ( > ) (T )>) ( > ) (T )>)>> > > ) (T ) (T )>)>) ( ) (T )>) ( > ) (T )>) ( > ) (T )>) ( > ) ( )> ) ( )> ) (T )>) ( )>> ) (WEST TO SANFAC-F) (EAST TO PROJECT-CORRIDOR) (NW TO FORK) (FLAGS RLANDBIT ONBIT)> ) (T )>) ( > )>> > )>> ) (T )>> > > ) ( ) (T )> >) (T ) (T )> >)>) (T )> >)>)>> ) (NORTH TO PROJECT-CORRIDOR-EAST) (WEST TO PROJCON-OFFICE) (SOUTH TO MINI-BOOTH) (IN TO MINI-BOOTH) (NE TO MAIN-LAB) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL LIGHTS) (PSEUDO "BOOTH" NEAR-BOOTH-PSEUDO)> > ) (T )> > )>> > )>> ) (WEST TO PROJECT-CORRIDOR-EAST) (SOUTH TO LAB-STORAGE) (SW TO COMPUTER-ROOM) (SE TO BIO-LOCK-WEST IF BIO-DOOR-WEST IS OPEN) (NE TO RADIATION-LOCK-WEST IF RAD-DOOR-WEST IS OPEN) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL BIO-DOOR-WEST RAD-DOOR-WEST)> > ) ( ) (T ) (T )>) (T )>)>) ( > )>> )>> ) (EAST TO BIO-LOCK-EAST) (WEST TO MAIN-LAB IF BIO-DOOR-WEST IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL BIO-DOOR-WEST)> ) (EAST TO BIO-LAB IF BIO-DOOR-EAST IS OPEN) (WEST TO BIO-LOCK-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL BIO-DOOR-EAST WINDOW) (ACTION BIO-LOCK-EAST-F)> >> > > > ) ( > )>) ( > > ) (T )> )>)>> > > > ) ( ) ( > > > ) ( ,C-ENABLED?> 0>> ) (T > )>) ( )> ,C-ENABLED?> 1> ) (T )>) (T )>)>> )>)>> ) ( ) (T > )>) ( ) (T )>)>> )>)>> ) ( ) (T )>) ( ) (T )>)>> ) ( ) (T )>) ( ) (T )>)>> > > > > ) (T )>) ( ) (T )>) ( ) (T >)>) ( ) (T > > >)>)>> > ) (T )> ) ( > > ;"don't fall asleep in mid-chase" > )>) (T )>)>> > > > > > ) ( > ) ( > ) ( > ) (T )> ) (T CR>)>)>)> > > >> >)>> > > ) ( )> ) ( )>> ) (T )>) ( ) (T )>)>> ) (T )> ) ( > ) (T )>)>> >> ) (T )> ) ( > )>> > > ) (T )>)>> > ) (T )>)>> > )>> > ) ( > )>> ;"INSIDE THE COMPUTER" > > )>> > > ) (T >)>)>)>> > > > > > > > )>)>> ) (T )>) ( > )>> ) (T )>> )> )>> ;"Laserium" > ) ( ) ( > ) (T )>) ( )>> ;"dial on laser -- 1 is red, 2 is orange, etc." > ;"set to T first time you hit speck, takes two hits" ;"number of shots left in the old-battery" ;"number of shots left in the new-battery" > )> ) ( > )> ) (T )>> )) > ) ( ) ( ) (T )> ) ( ) ( ) (T )>) ( ) (T )>) (> )>) ( > )> >)> > >> ) ( ) ( ) (T > ) ( ) ( ) (T > )> ) ( > ) ( > ) (T )>) (T )>)>)>) ( > > ) (T )>)>> > > > > > ) ( ) ( ) ( )>) (T >) (T > ) ( ) ( ) ( )>)>)>> > > > ) ( ) ( ) ( ) ( ) ( )>> > > ) (T )>) (T > CR>)>) (T )>> > )>> ;"The microbe battle" > > > ) ( > > > > ) (T )>) (T )>)>> > > ) ( > )> ) (T ) (T > CR>)>)> >> > > > ) (T CR>)>> > > > > ) (T >)> )>)>> ;"Endgame -- The mutant chase scene" >> )>> WORD> ) (SOUTH "The cell door is locked.") (FLAGS RLANDBIT ONBIT) (PSEUDO "GRAFFITI" GRAFFITI-PSEUDO "DOOR" DOOR-PSEUDO)> ) (EAST TO REACTOR-LOBBY IF CORRIDOR-DOOR IS OPEN) (WEST TO ESCAPE-POD IF POD-DOOR IS OPEN) (IN TO ESCAPE-POD IF POD-DOOR IS OPEN) (UP TO GANGWAY IF GANGWAY-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL POD-DOOR CORRIDOR-DOOR GANGWAY-DOOR STAIRS GLOBAL-POD) (PSEUDO "TRANSL" TRANSLATOR-PSEUDO "SLIME" SLIME-PSEUDO) (ACTION DECK-NINE-F)> WORD> ) (WEST TO DECK-NINE IF CORRIDOR-DOOR IS OPEN) (SOUTH "Ensign Blather pushes you roughly back toward your post.") (EAST "Ensign Blather blocks your way, snarling angrily.") (FLAGS RLANDBIT ONBIT) ( GLOBAL CORRIDOR-DOOR)> ) (UP TO DECK-EIGHT) ( DOWN TO DECK-NINE IF GANGWAY-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL GANGWAY-DOOR STAIRS) (ACTION GANGWAY-F)> ) (DOWN TO GANGWAY) (EAST "Blather throws you to the deck and makes you do 20 push-ups.") (WEST "Blather throws you to the deck and makes you do 20 push-ups.") (NORTH "Blather blocks your path, growling about extra galley duty.") (FLAGS RLANDBIT ONBIT) (GLOBAL STAIRS)> WORD> WORD> WORD> %<> WORD> ) (EAST PER POD-EXIT-F) (OUT PER POD-EXIT-F) (UP PER POD-EXIT-F) (FLAGS RLANDBIT ONBIT) (VALUE 3) (GLOBAL POD-DOOR CONTROLS LIGHTS GLOBAL-POD WINDOW) ( ACTION ESCAPE-POD-F)> WORD> WORD> WORD> WORD> WORD> %<> WORD> %<> WORD> ) (NORTH PER SHUTTLE-EXIT-F) (EAST TO ALFIE-CONTROL-EAST) (WEST TO ALFIE-CONTROL-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SHUTTLE-DOOR) (ACTION SHUTTLE-CAR-F)> ) (WEST TO SHUTTLE-CAR-ALFIE IF SHUTTLE-DOOR IS OPEN) ( FLAGS RLANDBIT ONBIT) (GLOBAL SLOT WINDOW LEVER SHUTTLE-DOOR GLOBAL-SHUTTLE) ( ACTION CONTROL-CABIN-F)> ) (EAST TO SHUTTLE-CAR-ALFIE IF SHUTTLE-DOOR IS OPEN) ( FLAGS RLANDBIT ONBIT) (GLOBAL SLOT LEVER WINDOW SHUTTLE-DOOR GLOBAL-SHUTTLE) ( ACTION CONTROL-CABIN-F)> ) (SOUTH PER SHUTTLE-EXIT-F) (EAST TO BETTY-CONTROL-EAST) (WEST TO BETTY-CONTROL-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SHUTTLE-DOOR) (ACTION SHUTTLE-CAR-F)> ) (WEST TO SHUTTLE-CAR-BETTY IF SHUTTLE-DOOR IS OPEN) ( FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SLOT WINDOW LEVER SHUTTLE-DOOR) ( ACTION CONTROL-CABIN-F)> ) (EAST TO SHUTTLE-CAR-BETTY IF SHUTTLE-DOOR IS OPEN) ( FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SLOT LEVER WINDOW SHUTTLE-DOOR) ( ACTION CONTROL-CABIN-F)> WORD> WORD> %<> WORD> %<> WORD> %<> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> %<> WORD> %<> WORD> WORD> WORD> %<> WORD> WORD> WORD> WORD> %<> WORD> ================================================ FILE: globals.zap ================================================ .FUNCT GROUND-F EQUAL? PRSA,V?PUT \?CCL3 EQUAL? PRSI,GROUND \?CCL3 CALL PERFORM,V?DROP,PRSO RTRUE ?CCL3: EQUAL? PRSA,V?BOARD,V?CLIMB-ON \?CCL7 SET 'C-ELAPSED,28 PRINTR "You sit down on the floor. After a brief rest, you stand again." ?CCL7: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,ADMIN-CORRIDOR-S \FALSE PRINTR "A narrow, jagged crevice runs across the floor." .FUNCT WINDOW-F EQUAL? PRSA,V?LOOK-INSIDE \?CCL3 EQUAL? HERE,BIO-LOCK-EAST \?CCL6 PRINTI "You can see a large laboratory, dimly illuminated. A blue glow comes from a crack in the northern wall of the lab. Shadowy, ominous shapes move about within the room." FSET? MINI-CARD,TOUCHBIT /?CND7 PRINTR " On the floor, just inside the door, you can see a magnetic-striped card." ?CND7: CRLF RTRUE ?CCL6: EQUAL? HERE,BIO-LAB \?CCL10 PRINTR "You see the Bio Lock." ?CCL10: EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR11 EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL12 ?CTR11: PRINTI "You see " CALL DESCRIBE-VIEW CRLF RTRUE ?CCL12: EQUAL? HERE,BALCONY \?CCL16 PRINTR "Water. Lots and lots of water." ?CCL16: EQUAL? HERE,HELICOPTER \?CCL18 PRINTR "You see the helipad and the ocean beyond." ?CCL18: EQUAL? HERE,ESCAPE-POD \?CCL20 LESS? TRIP-COUNTER,2 \?CCL23 PRINTR "You can see debris from the exploding Feinstein." ?CCL23: GRTR? TRIP-COUNTER,8 \?CCL25 PRINTR "You can see a planet, hopefully a hospitable one." ?CCL25: PRINTR "The window has polarized to blackness." ?CCL20: EQUAL? HERE,LARGE-OFFICE \FALSE PRINTR "You can see the dormitories and other parts of the complex in the distance. Water is visible in every direction." ?CCL3: EQUAL? PRSA,V?THROUGH \?CCL29 EQUAL? HERE,BALCONY \?CCL29 CALL JIGS-UP,STR?1 RSTACK ?CCL29: EQUAL? PRSA,V?OPEN \?CCL33 PRINTR "This window doesn't open." ?CCL33: EQUAL? PRSA,V?EXAMINE \?CCL35 EQUAL? HERE,BALCONY \?CCL35 PRINTR "They're shattered." ?CCL35: EQUAL? PRSA,V?MUNG \FALSE EQUAL? HERE,BALCONY \?CCL42 PRINTR "They're already broken." ?CCL42: PRINTR "It's made of tough Zynoid plastic." .FUNCT CLIFF-F EQUAL? HERE,WEST-WING \?CCL3 EQUAL? PRSA,V?LEAP \?CCL6 CALL JIGS-UP,STR?2 RSTACK ?CCL6: EQUAL? PRSA,V?THROW-OFF \FALSE EQUAL? PRSO,LASER \?CND9 CALL INT,I-WARMTH PUT STACK,0,0 ?CND9: REMOVE PRSO PRINTI "The " PRINTD PRSO PRINTR " falls into the ocean below." ?CCL3: EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \?CCL13 CALL DO-WALK,P?UP RSTACK ?CCL13: EQUAL? PRSA,V?CLIMB-DOWN \FALSE CALL DO-WALK,P?DOWN RSTACK .FUNCT OCEAN-F EQUAL? PRSA,V?RUB,V?THROUGH,V?TAKE \?CCL3 PRINTR "You can't reach the ocean from here." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It stretches as far as you can see." .FUNCT TABLES-F EQUAL? PRSA,V?LOOK-UNDER \?CCL3 EQUAL? HERE,MESS-HALL \?CCL3 PRINTR "Wow!!! Under the table are three keys, a sack of food, a reactor elevator access pass, one hundred gold pieces ... Just kidding. Actually, there's nothing there." ?CCL3: EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSI,TABLES \FALSE PRINTR "That would accomplish nothing useful." .FUNCT SHELVES-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "The shelves are pretty dusty." ?CCL3: EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSI,SHELVES \FALSE PRINTR "That would be a waste of time." .FUNCT LIGHTS-F EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,COMPUTER-ROOM \FALSE PRINTR "The red light would seem to indicate a malfunction in the computer." .FUNCT GLOBAL-DOORWAY-F EQUAL? PRSA,V?THROUGH \?CCL3 CALL USE-DIRECTIONS RSTACK ?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL5 PRINTR "It's just an opening; you can't open or close it." ?CCL5: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTR "Can't see much from here. Try going there." .FUNCT USE-DIRECTIONS PRINTR "Use compass directions for movement." .FUNCT NO-CLOSE PRINTR "There's no way to close it." .FUNCT CONTROLS-F EQUAL? HERE,UPPER-ELEVATOR,LOWER-ELEVATOR,BOOTH-1 /?CTR2 EQUAL? HERE,REACTOR-ELEVATOR,BOOTH-2,BOOTH-3 \?CCL3 ?CTR2: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The control panel is a simple one, as described. Just a small slot and two buttons." ?CCL3: EQUAL? PRSA,V?PULL,V?PUSH /?CTR9 EQUAL? PRSA,V?EXAMINE,V?TAKE,V?SET /?CTR9 EQUAL? PRSA,V?TURN,V?MOVE,V?RUB \?CCL10 ?CTR9: EQUAL? HERE,HELICOPTER \?CCL16 PRINTR "The controls are covered and locked." ?CCL16: EQUAL? HERE,ESCAPE-POD \?CCL18 PRINTR "The controls are entirely automated." ?CCL18: PRINTR "The controls are incredibly complicated and you shouldn't even be thinking about touching them." ?CCL10: EQUAL? HERE,HELICOPTER \FALSE EQUAL? PRSA,V?UNLOCK,V?OPEN \FALSE PRINTR "You don't even have the orange key!" .FUNCT GLOBAL-GAMES-F EQUAL? PRSA,V?PLAY \FALSE IN? FLOYD,HERE \?CCL6 CALL PERFORM,V?PLAY-WITH,FLOYD RTRUE ?CCL6: PRINTR "Okay. Gee, that was fun." .FUNCT HANDS-F EQUAL? PRSA,V?SHAKE \FALSE IN? AMBASSADOR,HERE \?CCL6 PRINTR "A repulsive idea." ?CCL6: IN? BLATHER,HERE \?CCL8 PRINTR "Saluting might be a better idea." ?CCL8: IN? FLOYD,HERE \?CCL10 FSET? FLOYD,RLANDBIT \?CCL10 PRINTR "You shake one of Floyd's grasping extensions." ?CCL10: PRINTR "There's no one to shake hands with." .FUNCT SLEEP-F EQUAL? PRSA,V?WALK-TO \FALSE CALL V-SLEEP RSTACK .FUNCT CRETIN-F EQUAL? PRSA,V?GIVE \?CCL3 CALL PERFORM,V?TAKE,PRSO RTRUE ?CCL3: EQUAL? PRSA,V?SCRUB \?CCL5 PRINTR "If only you'd done that before the last inspection, you wouldn't have gotten 300 demerits." ?CCL5: EQUAL? PRSA,V?DROP \?CCL7 PRINTR "Huh?" ?CCL7: EQUAL? PRSA,V?SMELL \?CCL9 PRINTR "Phew!" ?CCL9: EQUAL? PRSA,V?FOLLOW \?CCL11 PRINTR "It would be hard not to." ?CCL11: EQUAL? PRSA,V?EAT \?CCL13 PRINTR "Auto-cannibalism is not the answer." ?CCL13: EQUAL? PRSA,V?MUNG,V?ATTACK \?CCL15 EQUAL? PRSO,ME \?CCL18 CALL JIGS-UP,STR?3 RSTACK ?CCL18: PRINTR "What a silly idea!" ?CCL15: EQUAL? PRSA,V?TAKE \?CCL20 PRINTR "How romantic!" ?CCL20: EQUAL? PRSA,V?DISEMBARK \?CCL22 PRINTR "You'll have to do that on your own." ?CCL22: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "That's difficult unless your eyes are prehensile." .FUNCT DDESC,DOOR FSET? DOOR,OPENBIT \?CCL3 PRINTI "open" RTRUE ?CCL3: PRINTI "closed" RTRUE .FUNCT ALREADY-OPEN PRINTR "It's already open!" .FUNCT IS-CLOSED PRINTR "It is closed!" .FUNCT V-THROUGH,OBJ=0,M ZERO? OBJ \?CCL3 FSET? PRSO,VEHBIT \?CCL3 CALL PERFORM,V?BOARD,PRSO RTRUE ?CCL3: ZERO? OBJ \?CCL7 FSET? PRSO,TAKEBIT /?CCL7 PRINTI "You hit your head against the " PRINTD PRSO PRINTR " as you attempt this feat." ?CCL7: ZERO? OBJ /?CCL11 PRINTR "You can't do that!" ?CCL11: IN? PRSO,ADVENTURER \?CCL13 PRINTR "That would involve quite a contortion!" ?CCL13: CALL PICK-ONE,YUKS PRINT STACK CRLF RTRUE .FUNCT FIND-IN,WHERE,WHAT,W FIRST? WHERE >W /?BOGUS1 ?BOGUS1: ZERO? W /FALSE ?PRG4: FSET? W,WHAT \?CCL8 RETURN W ?CCL8: NEXT? W >W /?PRG4 RFALSE .FUNCT NOT-HERE-OBJECT-F,TBL,PRSO?=1,OBJ EQUAL? PRSO,NOT-HERE-OBJECT \?CCL3 EQUAL? PRSI,NOT-HERE-OBJECT \?CCL3 PRINTR "Those things aren't here!" ?CCL3: EQUAL? PRSO,NOT-HERE-OBJECT \?CCL7 SET 'TBL,P-PRSO JUMP ?CND1 ?CCL7: SET 'TBL,P-PRSI SET 'PRSO?,FALSE-VALUE ?CND1: ZERO? PRSO? /?CND8 EQUAL? PRSA,V?TYPE \?CCL12 CALL PERFORM,V?TYPE,FLOYD RTRUE ?CCL12: EQUAL? PRSA,V?EXAMINE /?CCL13 EQUAL? WINNER,FLOYD \?CND8 EQUAL? PRSA,V?FIND,V?TAKE \?CND8 ?CCL13: CALL FIND-NOT-HERE,TBL,PRSO? >OBJ ZERO? OBJ /FALSE EQUAL? OBJ,NOT-HERE-OBJECT \TRUE ?CND8: EQUAL? WINNER,ADVENTURER \?CCL25 PRINTI "You can't see any" CALL NOT-HERE-PRINT,PRSO? PRINTI " here!" CRLF EQUAL? PRSA,V?TELL \TRUE SET 'P-CONT,FALSE-VALUE SET 'QUOTE-FLAG,FALSE-VALUE RETURN 2 ?CCL25: PRINTI "The " PRINTD WINNER PRINTI " seems confused. ""I don't see any" CALL NOT-HERE-PRINT,PRSO? PRINTR " here!""" .FUNCT FIND-NOT-HERE,TBL,PRSO?,M-F,OBJ CALL MOBY-FIND,TBL >M-F EQUAL? 1,M-F \?CCL3 ZERO? PRSO? /?CCL6 SET 'PRSO,P-MOBY-FOUND RFALSE ?CCL6: SET 'PRSI,P-MOBY-FOUND RFALSE ?CCL3: ZERO? PRSO? \?CCL8 PRINTI "You wouldn't find any" CALL NOT-HERE-PRINT,PRSO? PRINTR " there." ?CCL8: RETURN NOT-HERE-OBJECT .FUNCT NOT-HERE-PRINT,PRSO?,?TMP1 ZERO? P-OFLAG \?CTR2 ZERO? P-MERGED /?CCL3 ?CTR2: ZERO? P-XADJ /?CND6 PRINTC 32 PRINTB P-XADJN ?CND6: ZERO? P-XNAM /FALSE PRINTC 32 PRINTB P-XNAM RTRUE ?CCL3: ZERO? PRSO? /?CCL12 GET P-ITBL,P-NC1 >?TMP1 GET P-ITBL,P-NC1L CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE RSTACK ?CCL12: GET P-ITBL,P-NC2 >?TMP1 GET P-ITBL,P-NC2L CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE RSTACK .FUNCT DECK-NINE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a featureless corridor similar to every other corridor on the ship. It curves away to starboard, and a gangway leads up" FSET? GANGWAY-DOOR,OPENBIT \?CCL6 PRINTC 46 JUMP ?CND4 ?CCL6: PRINTI ", but both of these are blocked by closed bulkheads." ?CND4: PRINTI " To port is the entrance to one of the ship's primary escape pods. The pod bulkhead is " CALL DDESC,POD-DOOR PRINTR "." .FUNCT CHRONOMETER-F EQUAL? PRSA,V?READ,V?EXAMINE \FALSE PRINTI "It is a standard wrist chronometer with a digital display. " CALL TELL-TIME PRINTR " The back is engraved with the message ""Good luck in the Patrol! Love, Mom and Dad.""" .FUNCT TELL-TIME PRINTI "According to the chronometer, the current time is " FSET? CHRONOMETER,MUNGEDBIT \?CCL3 PRINTN MUNGED-TIME JUMP ?CND1 ?CCL3: PRINTN INTERNAL-MOVES ?CND1: PRINTC 46 RTRUE .FUNCT PATROL-UNIFORM-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "It is a standard-issue one-pocket Stellar Patrol uniform, a miracle of modern technology. It will keep its owner warm in cold climates and cool in warm locales. It provides protection against mild radiation, repels all insects, absorbs sweat, promotes healthy skin tone, and on top of everything else, it is super-comfy." EQUAL? TRIP-COUNTER,15 \?CND4 PRINTR " There are definitely worse things to find yourself wearing when stranded on a strange planet." ?CND4: CRLF RTRUE ?CCL3: EQUAL? PRSA,V?WEAR \?CCL7 FSET? LAB-UNIFORM,WORNBIT \?CCL7 PRINTR "It won't fit over the lab uniform." ?CCL7: EQUAL? PRSA,V?TAKE-OFF \?CCL11 FSET? PATROL-UNIFORM,WORNBIT \?CCL11 FCLEAR PATROL-UNIFORM,WORNBIT PRINTI "You have removed your Patrol uniform." EQUAL? TRIP-COUNTER,15 \?CND14 PRINTI " You suddenly realize how warm it is. You also feel naked and vulnerable." ?CND14: IN? BLATHER,HERE \?CCL18 PRINTR " ""Removing your uniform while on duty? Five hundred demerits!""" ?CCL18: IN? FLOYD,HERE \?CND16 PRINTR " Floyd giggles. ""You look funny without any clothes on.""" ?CND16: CRLF RTRUE ?CCL11: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE PRINTI "There's no way to open or close the pocket of the " PRINTD PRSO PRINTR "." .FUNCT GANGWAY-F,RARG EQUAL? RARG,M-END \FALSE RANDOM 100 LESS? 15,STACK /FALSE ZERO? BLOWUP-COUNTER \FALSE PRINTR "You hear a distant bellowing ... something about an Ensign Seventh Class whose life is in danger." .FUNCT I-BLATHER EQUAL? HERE,DECK-EIGHT,REACTOR-LOBBY \?CCL3 IN? BLATHER,HERE \?CCL6 IGRTR? 'BRIGS-UP,3 \?CCL9 CRLF PRINTI "Blather loses his last vestige of patience and drags you to the Feinstein's brig. He throws you in, and the door clangs shut behind you." CRLF CRLF CALL GOTO,BRIG CALL ROB,ADVENTURER,CRAG MOVE PADLOCK,HERE FCLEAR PADLOCK,TAKEBIT RTRUE ?CCL9: CRLF PRINTR """I said to return to your post, Ensign Seventh Class!"" bellows Blather, turning a deepening shade of crimson." ?CCL6: ZERO? BLOWUP-COUNTER \FALSE MOVE BLATHER,HERE CALL THIS-IS-IT,BLATHER CRLF PRINTR "Ensign Blather, his uniform immaculate, enters and notices you are away from your post. ""Twenty demerits, Ensign Seventh Class!"" bellows Blather. ""Forty if you're not back on Deck Nine in five seconds!"" He curls his face into a hideous mask of disgust at your unbelievable negligence." ?CCL3: EQUAL? HERE,DECK-NINE \FALSE EQUAL? BLATHER-LEAVE,3 \?CCL16 IN? BLATHER,HERE \?CCL16 SET 'BLATHER-LEAVE,0 REMOVE BLATHER CRLF PRINTR "Blather, adding fifty more demerits for good measure, moves off in search of more young ensigns to terrorize." ?CCL16: IN? BLATHER,DECK-NINE \?CCL20 INC 'BLATHER-LEAVE RFALSE ?CCL20: IN? AMBASSADOR,HERE /FALSE ZERO? BLOWUP-COUNTER \FALSE RANDOM 100 LESS? 5,STACK /FALSE MOVE BLATHER,HERE CALL THIS-IS-IT,BLATHER CRLF PRINTI "Ensign First Class Blather swaggers in. He studies your work with half-closed eyes. ""You call this polishing, Ensign Seventh Class?"" he sneers. ""We have a position for an Ensign Ninth Class in the toilet-scrubbing division, you know. Thirty demerits." FSET? PATROL-UNIFORM,WORNBIT /?CND26 PRINTI " And another sixty for improper dress!" ?CND26: PRINTR """ He glares at you, his arms crossed." .FUNCT BLATHER-F EQUAL? PRSA,V?HELLO,V?TALK /?CTR2 EQUAL? BLATHER,WINNER \?CCL3 ?CTR2: PRINTI "Blather shouts ""Speak when you're spoken to, Ensign Seventh Class!"" He breaks three pencil points in a frenzied rush to give you more demerits." CRLF SET 'P-CONT,FALSE-VALUE SET 'QUOTE-FLAG,FALSE-VALUE RETURN 2 ?CCL3: EQUAL? PRSA,V?KICK,V?ATTACK \?CCL9 CALL JIGS-UP,STR?16 RSTACK ?CCL9: EQUAL? PRSA,V?SALUTE \?CCL11 PRINTR "Blather's sneer softens a bit. ""First right thing you've done today. Only five demerits.""" ?CCL11: EQUAL? PRSA,V?THROW \?CCL13 EQUAL? BLATHER,PRSI \?CCL13 MOVE PRSO,HERE PRINTI "The " PRINTD PRSO PRINTR " bounces off Blather's bulbous nose. He becomes livid, orders you to do five hundred push-ups, gives you ten thousand demerits, and assigns you five years of extra galley duty." ?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL17 PRINTR "Ensign Blather is a tall, beefy officer with a tremendous, misshapen nose. His uniform is perfect in every respect, and the crease in his trousers could probably slice diamonds in half." ?CCL17: EQUAL? PRSA,V?TAKE \FALSE PRINTR "Blather brushes you away, muttering about suspended shore leave." .FUNCT CELERY-F EQUAL? PRSA,V?EAT \?CCL3 CALL JIGS-UP,STR?18 RSTACK ?CCL3: EQUAL? PRSA,V?TAKE \FALSE PRINTR "The ambassador seems perturbed by your lack of normal protocol." .FUNCT I-AMBASSADOR GRTR? AMBASSADOR-LEAVE,2 \?CCL3 IN? AMBASSADOR,HERE \?CCL3 REMOVE AMBASSADOR REMOVE CELERY EQUAL? HERE,DECK-NINE \?CND6 CRLF PRINTI "The ambassador grunts a polite farewell, and disappears up the gangway, leaving a trail of dripping slime." CRLF ?CND6: CALL INT,I-AMBASSADOR PUT STACK,0,0 RTRUE ?CCL3: IN? AMBASSADOR,DECK-NINE \?CCL9 INC 'AMBASSADOR-LEAVE EQUAL? HERE,DECK-NINE \FALSE CRLF PRINTI "The ambassador " CALL PICK-ONE,AMBASSADOR-QUOTES PRINT STACK CRLF RTRUE ?CCL9: EQUAL? HERE,DECK-NINE \FALSE IN? AMBASSADOR,HERE /FALSE IN? BLATHER,HERE /FALSE ZERO? BLOWUP-COUNTER \FALSE RANDOM 100 LESS? 15,STACK /FALSE MOVE AMBASSADOR,HERE MOVE CELERY,HERE CALL THIS-IS-IT,AMBASSADOR MOVE BROCHURE,ADVENTURER CRLF PRINTR "The alien ambassador from the planet Blow'k-bibben-Gordo ambles toward you from down the corridor. He is munching on something resembling an enormous stalk of celery, and he leaves a trail of green slime on the deck. He stops nearby, and you wince as a pool of slime begins forming beneath him on your newly-polished deck. The ambassador wheezes loudly and hands you a brochure outlining his planet's major exports." .FUNCT AMBASSADOR-F EQUAL? PRSA,V?HELLO,V?TALK /?CTR2 EQUAL? AMBASSADOR,WINNER \?CCL3 ?CTR2: PRINTI "The ambassador taps his translator, and then touches his center knee to his left ear (the Blow'k-bibben-Gordoan equivalent of shrugging)." CRLF SET 'P-CONT,FALSE-VALUE SET 'QUOTE-FLAG,FALSE-VALUE RETURN 2 ?CCL3: EQUAL? PRSA,V?ASK-FOR \?CCL9 EQUAL? PRSI,CELERY \?CCL9 PRINTR "The ambassador seems willing to let you eat some of it, but I doubt he wants to part with the entire stalk." ?CCL9: EQUAL? PRSA,V?KICK,V?ATTACK \?CCL13 PRINTR "The ambassador is startled, and emits an amazing quantity of slime which spreads across the section of the deck you just polished." ?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL15 PRINTR "The ambassador has around twenty eyes, seven of which are currently open. Half of his six legs are retracted. Green slime oozes from multiple orifices in his scaly skin. He speaks through a mechanical translator slung around his neck." ?CCL15: EQUAL? PRSA,V?LISTEN \FALSE PRINTR "The alien makes a wheezing noise as he breathes." .FUNCT GLOBAL-POD-F EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL3 EQUAL? HERE,ESCAPE-POD \?CCL6 PRINTR "You're already in it!" ?CCL6: CALL DO-WALK,P?WEST RTRUE ?CCL3: EQUAL? PRSA,V?DROP,V?DISEMBARK,V?EXIT \?CCL8 EQUAL? HERE,DECK-NINE \?CCL11 PRINTR "You're not in it!" ?CCL11: CALL DO-WALK,P?OUT RTRUE ?CCL8: EQUAL? PRSA,V?OPEN \FALSE CALL PERFORM,V?OPEN,POD-DOOR RTRUE .FUNCT POD-EXIT-F GRTR? BLOWUP-COUNTER,4 \?CCL3 EQUAL? PRSO,P?EAST \?CCL6 PRINT CANT-GO CRLF RFALSE ?CCL6: FSET? POD-DOOR,OPENBIT /?CCL8 PRINTI "The pod door is closed." CRLF RFALSE ?CCL8: SET 'C-ELAPSED,30 RETURN UNDERWATER ?CCL3: EQUAL? PRSO,P?UP \?CCL11 PRINT CANT-GO CRLF RFALSE ?CCL11: FSET? POD-DOOR,OPENBIT /?CCL13 PRINTI "The pod door is closed." CRLF RFALSE ?CCL13: RETURN DECK-NINE .FUNCT SAFETY-WEB-F,RARG=M-OBJECT EQUAL? PRSA,V?EXAMINE \?CCL3 ZERO? RARG \?CCL3 PRINTR "The safety webbing fills most of the pod. It could accomodate from one to, perhaps, twenty people." ?CCL3: EQUAL? PRSA,V?TAKE \?CCL7 ZERO? RARG \?CCL7 PRINTR "The safety web seems to be more intended for getting into than grabbing onto." ?CCL7: EQUAL? PRSA,V?CLIMB-ON,V?BOARD \?CCL11 ZERO? RARG \?CCL11 MOVE ADVENTURER,SAFETY-WEB PRINTR "You are now safely cushioned within the web." ?CCL11: EQUAL? PRSA,V?TAKE,V?OPEN \?CCL15 EQUAL? RARG,M-BEG \?CCL15 EQUAL? PRSO,SAFETY-WEB \?CCL20 PRINTR "You're in it!" ?CCL20: PRINTR "You can't reach it from here." ?CCL15: EQUAL? PRSA,V?WALK \?CCL22 EQUAL? RARG,M-BEG \?CCL22 PRINTR "You'll have to stand up, first." ?CCL22: EQUAL? PRSA,V?STAND /?PRD28 EQUAL? PRSA,V?DROP,V?DISEMBARK,V?EXIT \FALSE ?PRD28: ZERO? RARG \FALSE IN? ADVENTURER,SAFETY-WEB \FALSE MOVE ADVENTURER,HERE GRTR? TRIP-COUNTER,14 \?CCL34 CALL INT,I-SINK-POD GET STACK,C-ENABLED? ZERO? STACK \?CCL34 CALL QUEUE,I-SINK-POD,-1 PUT STACK,0,1 PRINTR "As you stand, the pod shifts slightly and you feel it falling. A moment later, the fall stops with a shock, and you see water rising past the viewport." ?CCL34: PRINTR "You are standing again." .FUNCT TOWEL-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "A pretty ordinary towel. Something is written in its corner." .FUNCT FOOD-KIT-F EQUAL? PRSA,V?EMPTY \FALSE FSET? FOOD-KIT,OPENBIT /?CCL6 PRINTR "The kit is closed!" ?CCL6: FIRST? PRSO \FALSE PRINTR "The goo, being gooey, sticks to the inside of the kit. You would probably have to shake the kit to get the goo out." .FUNCT GOO-F EQUAL? PRSA,V?EAT \?CCL3 ZERO? HUNGER-LEVEL \?CCL6 PRINT NOT-HUNGRY CRLF RTRUE ?CCL6: IN? FOOD-KIT,ADVENTURER /?CCL8 SET 'PRSO,FOOD-KIT CALL NOT-HOLDING CALL THIS-IS-IT,FOOD-KIT RSTACK ?CCL8: REMOVE PRSO SET 'C-ELAPSED,15 SET 'HUNGER-LEVEL,0 CALL QUEUE,I-HUNGER-WARNINGS,1450 PUT STACK,0,1 PRINTI "Mmmm...that tasted just like " EQUAL? PRSO,BROWN-GOO \?CCL11 PRINTI "delicious Nebulan fungus pudding" JUMP ?CND9 ?CCL11: EQUAL? PRSO,RED-GOO \?CCL13 PRINTI "scrumptious cherry pie" JUMP ?CND9 ?CCL13: PRINTI "yummy lima beans" ?CND9: PRINTR "." ?CCL3: EQUAL? PRSA,V?DROP,V?TAKE \FALSE EQUAL? PRSA,V?DROP \?CCL18 PRINTI "The goo, being gooey, sticks where it is" JUMP ?CND16 ?CCL18: EQUAL? PRSA,V?TAKE \?CND16 PRINTI "It would ooze through your fingers" ?CND16: PRINTR ". You'll have to eat it right from the survival kit." .FUNCT ESCAPE-POD-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is one of the Feinstein's primary escape pods, for use in extreme emergencies. A mass of safety webbing, large enough to hold several dozen people, fills half the pod. The controls are entirely automated. The bulkhead leading out is " CALL DDESC,POD-DOOR PRINTR "." .FUNCT POD-DOOR-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? POD-DOOR,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: GRTR? TRIP-COUNTER,14 \?CCL8 FSET POD-DOOR,OPENBIT PRINTR "The bulkhead opens and cold ocean water rushes in!" ?CCL8: GRTR? BLOWUP-COUNTER,0 \?CCL10 EQUAL? HERE,DECK-NINE \?CCL13 PRINTR "Too late. The pod's launching procedure has already begun." ?CCL13: PRINTR "Opening the door now would be a phenomenally stupid idea." ?CCL10: PRINTR "Why open the door to the emergency escape pod if there's no emergency?" ?CCL3: EQUAL? PRSA,V?CLOSE \?CCL15 FSET? POD-DOOR,OPENBIT /?CCL18 CALL IS-CLOSED RSTACK ?CCL18: PRINTR "You can't close it yourself." ?CCL15: EQUAL? PRSA,V?THROUGH \FALSE EQUAL? HERE,DECK-NINE \?CCL23 CALL DO-WALK,P?WEST RSTACK ?CCL23: CALL DO-WALK,P?OUT RSTACK .FUNCT GANGWAY-DOOR-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? PRSO,OPENBIT \?CCL6 CALL ALREADY-OPEN RSTACK ?CCL6: PRINTR "There doesn't seem to be any way to open it." ?CCL3: EQUAL? PRSA,V?CLOSE \FALSE FSET? PRSO,OPENBIT \?CCL11 PRINTR "You can't close it yourself." ?CCL11: CALL IS-CLOSED RSTACK .FUNCT I-BLOWUP-FEINSTEIN CALL QUEUE,I-BLOWUP-FEINSTEIN,-1 PUT STACK,0,1 INC 'BLOWUP-COUNTER EQUAL? BLOWUP-COUNTER,5 \?CCL3 EQUAL? HERE,DECK-NINE \?CCL6 CALL JIGS-UP,STR?29 RSTACK ?CCL6: CRLF PRINTI "Through the viewport of the pod you see the Feinstein dwindle as you head away. Bursts of light dot its hull. Suddenly, a huge explosion blows the Feinstein into tiny pieces, sending the escape pod tumbling away! " CRLF CALL QUEUE,I-POD-TRIP,-1 PUT STACK,0,1 CALL INT,I-BLOWUP-FEINSTEIN PUT STACK,0,0 IN? ADVENTURER,SAFETY-WEB /?CCL9 RANDOM 100 LESS? 20,STACK /?CCL9 CALL JIGS-UP,STR?30 RSTACK ?CCL9: IN? ADVENTURER,SAFETY-WEB /FALSE CRLF PRINTR "You are thrown against the bulkhead, bruising a few limbs. The safety webbing might have offered a bit more protection." ?CCL3: EQUAL? BLOWUP-COUNTER,4 \?CCL15 CALL INT,I-BLATHER PUT STACK,0,0 CALL INT,I-AMBASSADOR PUT STACK,0,0 EQUAL? HERE,DECK-NINE \?CCL18 CRLF PRINTR "Explosions continue to rock the ship." ?CCL18: CRLF PRINTR "You feel the pod begin to slide down its ejection tube as explosions shake the mother ship." ?CCL15: EQUAL? BLOWUP-COUNTER,3 \?CCL20 FCLEAR POD-DOOR,OPENBIT EQUAL? HERE,DECK-NINE \?CCL23 CRLF PRINTR "More powerful explosions buffet the ship. The lights flicker madly, and the escape-pod bulkhead clangs shut." ?CCL23: EQUAL? HERE,ESCAPE-POD \?CCL25 CRLF PRINTR "The pod door clangs shut as heavy explosions continue to buffet the Feinstein." ?CCL25: CALL JIGS-UP,STR?31 RSTACK ?CCL20: EQUAL? BLOWUP-COUNTER,2 \?CCL27 FCLEAR CORRIDOR-DOOR,OPENBIT FCLEAR CORRIDOR-DOOR,INVISIBLE FCLEAR GANGWAY-DOOR,OPENBIT FCLEAR GANGWAY-DOOR,INVISIBLE EQUAL? HERE,DECK-NINE \?CCL30 CRLF PRINTR "More distant explosions! A narrow emergency bulkhead at the base of the gangway and a wider one along the corridor to starboard both crash shut!" ?CCL30: EQUAL? HERE,ESCAPE-POD,BRIG \?CCL32 CRLF PRINTR "The ship shakes again. You hear, from close by, the sounds of emergency bulkheads closing." ?CCL32: EQUAL? HERE,GANGWAY \?CCL34 CRLF PRINTR "Another explosion. A narrow bulkhead at the base of the gangway slams shut!" ?CCL34: CRLF PRINTI "You are deafened by more explosions and by the sound of emergency bulkheads slamming closed. " IN? BLATHER,HERE \?CCL37 PRINTI "Blather, foaming slightly at the mouth, screams at you to swab the decks" JUMP ?CND35 ?CCL37: MOVE BLATHER,HERE PRINTI "Blather enters, looking confused, and begins ranting madly at you" ?CND35: PRINTR "." ?CCL27: EQUAL? BLOWUP-COUNTER,1 \FALSE SET 'BRIGS-UP,0 FSET POD-DOOR,OPENBIT CRLF PRINTI "A massive explosion rocks the ship. Echoes from the explosion resound deafeningly down the halls. " EQUAL? HERE,DECK-NINE \?CCL42 PRINTI "The door to port slides open. " IN? AMBASSADOR,HERE \?CCL45 REMOVE AMBASSADOR REMOVE CELERY PRINTR "The ambassador squawks frantically, evacuates a massive load of gooey slime, and rushes away." ?CCL45: IN? BLATHER,HERE \?CCL47 REMOVE BLATHER PRINTR "Blather, confused by this non-routine occurrence, orders you to continue scrubbing the floor, and then dashes off." ?CCL47: CRLF RTRUE ?CCL42: EQUAL? HERE,ESCAPE-POD,GANGWAY,BRIG \?CCL49 CRLF RTRUE ?CCL49: PRINTR "Blather, looking slightly disoriented, barks at you to resume your assigned duties." .FUNCT I-POD-TRIP INC 'TRIP-COUNTER EQUAL? TRIP-COUNTER,1 \?CCL3 CRLF PRINTR "As the escape pod tumbles away from the former location of the Feinstein, its gyroscopes whine. The pod slowly stops tumbling. Lights on the control panel blink furiously as the autopilot searches for a reasonable destination." ?CCL3: EQUAL? TRIP-COUNTER,2 \?CCL5 CRLF PRINTR "The auxiliary rockets fire briefly, and a nearby planet swings into view through the port. It appears to be almost entirely ocean, with just a few visible islands and an unusually small polar ice cap. A moment later, the system's sun swings into view, and the viewport polarizes into a featureless black rectangle." ?CCL5: EQUAL? TRIP-COUNTER,3 \?CCL7 CRLF PRINTR "The main thrusters fire a long, gentle burst. A monotonic voice issues from the control panel. ""Approaching planet...human-habitable.""" ?CCL7: EQUAL? TRIP-COUNTER,7 \?CCL9 CRLF PRINTR "The pod is buffeted as it enters the planet's atmosphere." ?CCL9: EQUAL? TRIP-COUNTER,8 \?CCL11 CRLF PRINTR "You feel the temperature begin to rise, and the pod's climate control system roars as it labors to compensate." ?CCL11: EQUAL? TRIP-COUNTER,9 \?CCL13 CRLF PRINTR "The viewport suddenly becomes transparent again, giving you a view of endless ocean below. The lights on the control panel flash madly as the pod's computer searches for a suitable landing site. The thrusters fire long and hard, slowing the pod's descent." ?CCL13: EQUAL? TRIP-COUNTER,10 \?CCL15 CRLF PRINTR "The pod is now approaching the closer of a pair of islands. It appears to be surrounded by sheer cliffs rising from the water, and is topped by a wide plateau. The plateau seems to be covered by a sprawling complex of buildings." ?CCL15: EQUAL? TRIP-COUNTER,11 \FALSE IN? ADVENTURER,SAFETY-WEB \?CCL20 MOVE FOOD-KIT,HERE MOVE TOWEL,HERE CRLF PRINTI "The pod lands with a thud. Through the viewport you can see a rocky cleft and some water below. The pod rocks gently back and forth as if it was precariously balanced. A previously unseen panel slides open, revealing some emergency provisions, including a survival kit and a towel." CRLF SET 'TRIP-COUNTER,15 CALL INT,I-POD-TRIP PUT STACK,0,0 RTRUE ?CCL20: CALL JIGS-UP,STR?32 RSTACK .FUNCT I-SINK-POD INC 'SINK-COUNTER EQUAL? SINK-COUNTER,3 \?CCL3 EQUAL? HERE,ESCAPE-POD \?CCL3 CRLF PRINTR "The pod is now completely submerged, and you feel it smash against underwater rocks. Bubbles streaming upward past the window indicate that the pod is continuing to sink." ?CCL3: EQUAL? SINK-COUNTER,4 \?CCL7 EQUAL? HERE,ESCAPE-POD \?CCL7 FSET? POD-DOOR,OPENBIT /?CCL7 CRLF PRINTR "The pod creaks ominously from the increasing pressure." ?CCL7: EQUAL? SINK-COUNTER,5 \FALSE EQUAL? HERE,ESCAPE-POD \FALSE FSET? POD-DOOR,OPENBIT \?CCL17 CALL JIGS-UP,STR?33 RSTACK ?CCL17: CALL JIGS-UP,STR?34 RSTACK .FUNCT SLOT-F EQUAL? PRSA,V?PUT \?CCL3 EQUAL? SLOT,PRSI \?CCL3 PRINTR "The slot is shallow, so you can't put anything in it. It may be possible to slide something through the slot, though." ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7 PRINTR "The slot is about ten centimeters wide, but only about two centimeters deep. It is surrounded on its long sides by parallel ridges of metal." ?CCL7: EQUAL? PRSA,V?SLIDE \FALSE EQUAL? SLOT,PRSI \FALSE MOVE PRSO,ADVENTURER FSET? PRSO,SCRAMBLEDBIT \?CCL14 PRINTR "A sign flashes ""Magnetik striip randumiizd...konsult Prajekt Handbuk abowt propur kaar uv awtharazaashun kardz.""" ?CCL14: EQUAL? PRSO,KITCHEN-CARD \?CCL16 EQUAL? HERE,MESS-HALL \?CCL19 FSET? KITCHEN-DOOR,OPENBIT \?CCL22 PRINTR "Nothing happens." ?CCL22: FSET KITCHEN-DOOR,OPENBIT CALL QUEUE,I-KITCHEN-DOOR-CLOSES,50 PUT STACK,0,1 PRINTI "The kitchen door quietly slides open." CRLF CALL FLOYD-REVEAL-CARD-F RTRUE ?CCL19: PRINT WRONG-CARD CRLF RTRUE ?CCL16: EQUAL? PRSO,UPPER-ELEVATOR-CARD \?CCL24 EQUAL? HERE,UPPER-ELEVATOR \?CCL27 SET 'UPPER-ELEVATOR-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-UPPER-ELEVATOR,180 PUT STACK,0,1 PRINT ELEVATOR-ENABLED CRLF CALL FLOYD-REVEAL-CARD-F RTRUE ?CCL27: PRINT WRONG-CARD CRLF RTRUE ?CCL24: EQUAL? PRSO,LOWER-ELEVATOR-CARD \?CCL29 EQUAL? HERE,LOWER-ELEVATOR \?CCL32 SET 'LOWER-ELEVATOR-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-LOWER-ELEVATOR,200 PUT STACK,0,1 PRINT ELEVATOR-ENABLED CRLF RTRUE ?CCL32: PRINT WRONG-CARD CRLF RTRUE ?CCL29: EQUAL? PRSO,TELEPORTATION-CARD \?CCL34 EQUAL? HERE,BOOTH-1,BOOTH-2,BOOTH-3 \?CCL37 SET 'TELEPORTATION-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-TELEPORTATION,30 PUT STACK,0,1 PRINTR "Nothing happens for a moment. Then a light flashes ""Redee.""" ?CCL37: PRINT WRONG-CARD CRLF RTRUE ?CCL34: EQUAL? PRSO,SHUTTLE-CARD \?CCL39 CALL SHUTTLE-ACTIVATE RSTACK ?CCL39: EQUAL? PRSO,MINI-CARD \?CCL41 EQUAL? HERE,MINI-BOOTH \?CCL44 SET 'MINI-ACTIVATED,TRUE-VALUE CALL QUEUE,I-TURNOFF-MINI,30 PUT STACK,0,1 PRINTR "A melodic high-pitched voice says ""Miniaturization and teleportation booth activated. Please type in damaged sector number.""" ?CCL44: PRINT WRONG-CARD CRLF RTRUE ?CCL41: EQUAL? PRSO,ID-CARD \FALSE PRINT WRONG-CARD CRLF RTRUE .FUNCT FLOYD-REVEAL-CARD-F IN? FLOYD,HERE \FALSE ZERO? CARD-REVEALED \FALSE EQUAL? DAY,2 \?PRD8 LESS? INTERNAL-MOVES,5000 \?PRD8 RANDOM 100 LESS? 5,STACK \?CCL3 ?PRD8: EQUAL? DAY,2 \?PRD12 GRTR? INTERNAL-MOVES,4999 \?PRD12 RANDOM 100 LESS? 10,STACK \?CCL3 ?PRD12: EQUAL? DAY,3 \?PRD16 LESS? INTERNAL-MOVES,5000 \?PRD16 RANDOM 100 LESS? 20,STACK \?CCL3 ?PRD16: EQUAL? DAY,3 \?PRD20 GRTR? INTERNAL-MOVES,4999 \?PRD20 RANDOM 100 LESS? 40,STACK \?CCL3 ?PRD20: GRTR? DAY,3 \FALSE ?CCL3: SET 'CARD-REVEALED,TRUE-VALUE SET 'FLOYD-SPOKE,TRUE-VALUE ZERO? CARD-STOLEN \?CCL26 MOVE LOWER-ELEVATOR-CARD,FLOYD PRINTR "Floyd claps his hands with excitement. ""Those cards are really neat, huh? Floyd has one for himself--see?"" He reaches behind one of his panels and retrieves a magnetic-striped card. He waves it exuberantly in the air." ?CCL26: PRINTR "Floyd bobs up and down with excitement. ""Those cards are really neat! Floyd has one, too."" He begins searching through his compartments, but finds nothing. He scratches his head and looks confused." .FUNCT I-KITCHEN-DOOR-CLOSES EQUAL? HERE,KITCHEN \?CCL3 CALL QUEUE,I-KITCHEN-DOOR-CLOSES,-1 PUT STACK,0,1 RFALSE ?CCL3: FCLEAR KITCHEN-DOOR,OPENBIT CALL INT,I-KITCHEN-DOOR-CLOSES PUT STACK,0,0 EQUAL? HERE,MESS-HALL \FALSE CRLF PRINTR "The kitchen door slides quietly closed." .FUNCT TELEPORT,BOOTH EQUAL? PRSA,V?PUSH \FALSE EQUAL? TELEPORTATION-ON,TRUE-VALUE \?CCL6 PRINTI "You experience a strange feeling in the pit of your stomach." CRLF IN? FLOYD,HERE \?CND7 PRINTI "Floyd gives a terrified squeal, and clutches at his guidance mechanism." CRLF SET 'FLOYD-SPOKE,TRUE-VALUE CALL QUEUE,I-FLOYD,1 PUT STACK,0,1 ?CND7: CALL ROB,HERE,BOOTH CALL GOTO,BOOTH,FALSE-VALUE CALL INT,I-TURNOFF-TELEPORTATION PUT STACK,0,0 SET 'TELEPORTATION-ON,FALSE-VALUE RTRUE ?CCL6: PRINTR "A sign flashes ""Teleportaashun buux not aktivaatid.""" .FUNCT TELEPORTATION-BUTTON-1-F CALL TELEPORT,BOOTH-1 RSTACK .FUNCT TELEPORTATION-BUTTON-2-F CALL TELEPORT,BOOTH-2 RSTACK .FUNCT TELEPORTATION-BUTTON-3-F CALL TELEPORT,BOOTH-3 RSTACK .FUNCT I-TURNOFF-TELEPORTATION SET 'TELEPORTATION-ON,FALSE-VALUE EQUAL? HERE,BOOTH-1,BOOTH-2,BOOTH-3 \FALSE CRLF PRINTR "The ready light goes dark." .FUNCT GLOBAL-SHUTTLE-F EQUAL? PRSA,V?BOARD /?CTR2 EQUAL? PRSA,V?WALK-TO,V?THROUGH,V?ENTER \?CCL3 ?CTR2: EQUAL? HERE,SHUTTLE-CAR-ALFIE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR7 EQUAL? HERE,SHUTTLE-CAR-BETTY,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL8 ?CTR7: PRINTR "You ARE in the shuttle car." ?CCL8: PRINTR "Use 'north' or 'south'." ?CCL3: EQUAL? PRSA,V?DROP,V?DISEMBARK,V?EXIT \FALSE EQUAL? HERE,SHUTTLE-CAR-ALFIE \?CCL15 CALL DO-WALK,P?NORTH RSTACK ?CCL15: EQUAL? HERE,SHUTTLE-CAR-BETTY \?CCL17 CALL DO-WALK,P?SOUTH RSTACK ?CCL17: EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CTR18 EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL19 ?CTR18: PRINTR "You can't exit the shuttle car from here." ?CCL19: PRINTR "You're not in the shuttle car!" .FUNCT SHUTTLE-CAR-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is the cabin of a large transport, with seating for around 20 people plus space for freight. There are open doors at the eastern and western ends of the cabin, and a doorway leads out to a wide platform to the " EQUAL? HERE,SHUTTLE-CAR-ALFIE \?CCL6 PRINTI "north" JUMP ?CND4 ?CCL6: PRINTI "south" ?CND4: PRINTR "." .FUNCT CONTROL-CABIN-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a small control cabin. A control panel contains a slot, a lever, and a display. The lever can be set at a central position, or it could be pushed up to a position labelled ""+"", or pulled down to a position labelled ""-"". It is currently at the " ZERO? LEVER-SETTING \?CCL6 PRINTI "center" JUMP ?CND4 ?CCL6: EQUAL? LEVER-SETTING,1 \?CCL8 PRINTI "upper" JUMP ?CND4 ?CCL8: PRINTI "lower" ?CND4: PRINTI " setting. The display, a digital readout, currently reads " PRINTN SHUTTLE-VELOCITY PRINTI ". Through the cabin window you can see " CALL DESCRIBE-VIEW CRLF RTRUE .FUNCT DESCRIBE-VIEW EQUAL? HERE,ALFIE-CONTROL-WEST \?PRD5 ZERO? ALFIE-AT-KALAMONTEE \?CTR2 ?PRD5: EQUAL? HERE,BETTY-CONTROL-WEST \?PRD8 ZERO? BETTY-AT-KALAMONTEE \?CTR2 ?PRD8: EQUAL? HERE,ALFIE-CONTROL-EAST \?PRD11 ZERO? ALFIE-AT-KALAMONTEE /?CTR2 ?PRD11: EQUAL? HERE,BETTY-CONTROL-EAST \?CCL3 ZERO? BETTY-AT-KALAMONTEE \?CCL3 ?CTR2: PRINTI "a featureless concrete wall." RTRUE ?CCL3: ZERO? SHUTTLE-MOVING /?CCL17 EQUAL? SHUTTLE-COUNTER,23 \?CCL17 PRINTI "parallel rails ending at a brightly-lit station ahead." RTRUE ?CCL17: PRINTI "parallel rails running along the floor of a long tunnel, vanishing in the distance." RTRUE .FUNCT SHUTTLE-DOOR-F EQUAL? PRSA,V?OPEN \FALSE ZERO? SHUTTLE-MOVING /?CCL6 PRINTR "A recorded voice says ""Operator should remain in control cabin while shuttle car is between stations.""" ?CCL6: PRINTR "Are you sure it isn't?" .FUNCT SHUTTLE-ENTER-F EQUAL? HERE,KALAMONTEE-PLATFORM \?CCL3 EQUAL? PRSO,P?NORTH \?CCL6 ZERO? BETTY-AT-KALAMONTEE /?CCL9 RETURN SHUTTLE-CAR-BETTY ?CCL9: PRINT CANT-GO CRLF RFALSE ?CCL6: EQUAL? PRSO,P?SOUTH \FALSE ZERO? ALFIE-AT-KALAMONTEE /?CCL14 RETURN SHUTTLE-CAR-ALFIE ?CCL14: PRINT CANT-GO CRLF RFALSE ?CCL3: EQUAL? HERE,LAWANDA-PLATFORM \FALSE EQUAL? PRSO,P?NORTH \?CCL19 ZERO? BETTY-AT-KALAMONTEE /?CCL22 PRINT CANT-GO CRLF RFALSE ?CCL22: RETURN SHUTTLE-CAR-BETTY ?CCL19: EQUAL? PRSO,P?SOUTH \FALSE ZERO? ALFIE-AT-KALAMONTEE /?CCL27 PRINT CANT-GO CRLF RFALSE ?CCL27: RETURN SHUTTLE-CAR-ALFIE .FUNCT SHUTTLE-EXIT-F EQUAL? HERE,SHUTTLE-CAR-ALFIE \?CCL3 ZERO? ALFIE-AT-KALAMONTEE /?CCL6 RETURN KALAMONTEE-PLATFORM ?CCL6: RETURN LAWANDA-PLATFORM ?CCL3: EQUAL? HERE,SHUTTLE-CAR-BETTY \FALSE ZERO? BETTY-AT-KALAMONTEE /?CCL11 RETURN KALAMONTEE-PLATFORM ?CCL11: RETURN LAWANDA-PLATFORM .FUNCT SHUTTLE-ACTIVATE EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CCL3 EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CCL3 PRINT WRONG-CARD CRLF RTRUE ?CCL3: ZERO? ALFIE-BROKEN /?PRD9 EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR6 ?PRD9: ZERO? BETTY-BROKEN /?CCL7 EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL7 ?CTR6: PRINTR "A garbled recording mentions that the shuttle car has undergone some damage and that the repair robot has been summoned." ?CCL7: GRTR? INTERNAL-MOVES,6000 \?CND1 PRINTR "A recorded voice explains that using the shuttle car during the evening hours requires special authorization." ?CND1: EQUAL? HERE,ALFIE-CONTROL-EAST \?CCL17 ZERO? SHUTTLE-ON /?CCL20 PRINT SHUTTLE-RECORDING-1 CRLF RTRUE ?CCL20: ZERO? ALFIE-AT-KALAMONTEE \?CCL22 PRINT SHUTTLE-RECORDING-2 CRLF RTRUE ?CCL22: SET 'SHUTTLE-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 PRINT SHUTTLE-RECORDING-3 CRLF RTRUE ?CCL17: EQUAL? HERE,ALFIE-CONTROL-WEST \?CCL24 ZERO? SHUTTLE-ON /?CCL27 PRINT SHUTTLE-RECORDING-1 CRLF RTRUE ?CCL27: ZERO? ALFIE-AT-KALAMONTEE /?CCL29 PRINT SHUTTLE-RECORDING-2 CRLF RTRUE ?CCL29: SET 'SHUTTLE-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 PRINT SHUTTLE-RECORDING-3 CRLF RTRUE ?CCL24: EQUAL? HERE,BETTY-CONTROL-EAST \?CCL31 ZERO? SHUTTLE-ON /?CCL34 PRINT SHUTTLE-RECORDING-1 CRLF RTRUE ?CCL34: ZERO? BETTY-AT-KALAMONTEE \?CCL36 PRINT SHUTTLE-RECORDING-2 CRLF RTRUE ?CCL36: SET 'SHUTTLE-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 PRINT SHUTTLE-RECORDING-3 CRLF RTRUE ?CCL31: EQUAL? HERE,BETTY-CONTROL-WEST \?CCL38 ZERO? SHUTTLE-ON /?CCL41 PRINT SHUTTLE-RECORDING-1 CRLF RTRUE ?CCL41: ZERO? BETTY-AT-KALAMONTEE /?CCL43 PRINT SHUTTLE-RECORDING-2 CRLF RTRUE ?CCL43: SET 'SHUTTLE-ON,TRUE-VALUE CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 PRINT SHUTTLE-RECORDING-3 CRLF RTRUE ?CCL38: PRINT WRONG-CARD CRLF RTRUE .FUNCT I-TURNOFF-SHUTTLE ZERO? SHUTTLE-MOVING /?CCL3 CALL QUEUE,I-TURNOFF-SHUTTLE,80 PUT STACK,0,1 RFALSE ?CCL3: SET 'SHUTTLE-ON,FALSE-VALUE RFALSE .FUNCT LEVER-F EQUAL? PRSA,V?PUSH-UP,V?PUSH \?CCL3 ZERO? SHUTTLE-ON /?CCL6 EQUAL? LEVER-SETTING,1 \?CCL9 PRINTR "The lever is already in the upper position." ?CCL9: ZERO? LEVER-SETTING \?CCL11 SET 'LEVER-SETTING,1 CALL QUEUE,I-SHUTTLE,1 PUT STACK,0,1 PRINTR "The lever is now in the upper position." ?CCL11: SET 'LEVER-SETTING,0 PRINTR "The lever is now in the central position." ?CCL6: PRINT SHUTTLE-RECORDING-4 CRLF RTRUE ?CCL3: EQUAL? PRSA,V?PUSH-DOWN,V?PULL \FALSE ZERO? SHUTTLE-ON /?CCL16 EQUAL? LEVER-SETTING,1 \?CCL19 SET 'LEVER-SETTING,0 PRINTR "The lever is now in the central position." ?CCL19: ZERO? LEVER-SETTING \?CCL21 ZERO? SHUTTLE-VELOCITY \?CCL24 PRINTR "The lever immediately pops back to the central position." ?CCL24: SET 'LEVER-SETTING,-1 CALL QUEUE,I-SHUTTLE,1 PUT STACK,0,1 PRINTR "The lever is now in the lower position." ?CCL21: PRINTR "The lever is already in the lower position." ?CCL16: PRINT SHUTTLE-RECORDING-4 CRLF RTRUE .FUNCT I-SHUTTLE CALL QUEUE,I-SHUTTLE,-1 PUT STACK,0,1 ZERO? SHUTTLE-MOVING \?CCL3 SET 'SHUTTLE-MOVING,TRUE-VALUE FCLEAR SHUTTLE-DOOR,OPENBIT FCLEAR SHUTTLE-DOOR,INVISIBLE PRINTI "The control cabin door slides shut and the shuttle car begins to move " EQUAL? LEVER-SETTING,1 \FALSE ADD SHUTTLE-VELOCITY,5 >SHUTTLE-VELOCITY PRINTR "forward! The display changes to 5." ?CCL3: GRTR? SHUTTLE-VELOCITY,0 \?CND7 INC 'SHUTTLE-COUNTER ?CND7: EQUAL? LEVER-SETTING,1 \?CCL11 ADD SHUTTLE-VELOCITY,5 >SHUTTLE-VELOCITY JUMP ?CND9 ?CCL11: EQUAL? LEVER-SETTING,-1 \?CND9 GRTR? SHUTTLE-VELOCITY,0 \?CCL15 SUB SHUTTLE-VELOCITY,5 >SHUTTLE-VELOCITY JUMP ?CND9 ?CCL15: SET 'LEVER-SETTING,0 PRINTI "The shuttle car comes to a stop and the lever pops back to the central position." CRLF ?CND9: EQUAL? SHUTTLE-COUNTER,24 \?CCL18 CALL DESCRIBE-SHUTTLE-ARRIVE RSTACK ?CCL18: GRTR? SHUTTLE-VELOCITY,0 \FALSE CALL DESCRIBE-SHUTTLE-TRIP RTRUE .FUNCT DESCRIBE-SHUTTLE-TRIP PRINTI "The shuttle car continues to move. The display " ZERO? LEVER-SETTING \?CCL3 PRINTI "still reads " JUMP ?CND1 ?CCL3: PRINTI "blinks, and now reads " ?CND1: PRINTN SHUTTLE-VELOCITY PRINTC 46 CRLF EQUAL? SHUTTLE-COUNTER,2 \?CND4 PRINTI "You pass a sign which says ""Limit 45.""" CRLF ?CND4: EQUAL? SHUTTLE-COUNTER,12 \?CND6 PRINTI "The tunnel levels out and begins to slope upward. A sign flashes by which reads ""Hafwaa Mark -- Beegin Deeseluraashun.""" CRLF ?CND6: EQUAL? SHUTTLE-COUNTER,20 \?CND8 PRINT SIGN-PASS PRINTI """15.""" CRLF ?CND8: EQUAL? SHUTTLE-COUNTER,21 \?CND10 PRINT SIGN-PASS PRINTI """10.""" CRLF ?CND10: EQUAL? SHUTTLE-COUNTER,22 \?CND12 PRINT SIGN-PASS PRINTI """5.""" CRLF ?CND12: EQUAL? SHUTTLE-COUNTER,23 \FALSE PRINTR "The shuttle car is approaching a brightly-lit area. As you near it, you make out the concrete platforms of a shuttle station." .FUNCT DESCRIBE-SHUTTLE-ARRIVE EQUAL? SHUTTLE-COUNTER,24 \FALSE ZERO? SHUTTLE-VELOCITY \?CCL6 PRINTI "The shuttle car glides into the station and comes to rest at the concrete platform. You hear the cabin doors slide open." CRLF JUMP ?CND4 ?CCL6: LESS? SHUTTLE-VELOCITY,20 \?CCL8 EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL11 SET 'ALFIE-BROKEN,TRUE-VALUE JUMP ?CND9 ?CCL11: SET 'BETTY-BROKEN,TRUE-VALUE ?CND9: PRINTI "The shuttle car rumbles through the station and smashes into the wall at the far end. You are thrown forward into the control panel. Both you and the shuttle car produce unhealthy crunching sounds as the cabin doors creak slowly open." CRLF JUMP ?CND4 ?CCL8: CALL JIGS-UP,STR?42 ?CND4: SET 'SHUTTLE-VELOCITY,0 SET 'SHUTTLE-MOVING,FALSE-VALUE SET 'SHUTTLE-COUNTER,0 SET 'LEVER-SETTING,0 SET 'SHUTTLE-ON,FALSE-VALUE FSET SHUTTLE-DOOR,INVISIBLE FSET SHUTTLE-DOOR,OPENBIT CALL INT,I-SHUTTLE PUT STACK,0,0 EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL14 ZERO? ALFIE-AT-KALAMONTEE /?CCL17 SET 'ALFIE-AT-KALAMONTEE,FALSE-VALUE RETURN ALFIE-AT-KALAMONTEE ?CCL17: SET 'ALFIE-AT-KALAMONTEE,TRUE-VALUE RETURN ALFIE-AT-KALAMONTEE ?CCL14: ZERO? BETTY-AT-KALAMONTEE /?CCL20 SET 'BETTY-AT-KALAMONTEE,FALSE-VALUE RETURN BETTY-AT-KALAMONTEE ?CCL20: SET 'BETTY-AT-KALAMONTEE,TRUE-VALUE RETURN BETTY-AT-KALAMONTEE .FUNCT I-SLEEP-WARNINGS INC 'SLEEPY-LEVEL IN? ADVENTURER,BED \?CND1 CRLF PRINTI "You suddenly realize how tired you were and how comfortable the bed is. You should be asleep in no time." CRLF CALL INT,I-SLEEP-WARNINGS PUT STACK,0,0 CALL QUEUE,I-FALL-ASLEEP,16 PUT STACK,0,1 RTRUE ?CND1: EQUAL? SLEEPY-LEVEL,1 \?CCL5 CRLF PRINTI "You begin to feel weary. It might be time to think about finding a nice safe place to sleep." CRLF CALL QUEUE,I-SLEEP-WARNINGS,400 PUT STACK,0,1 RTRUE ?CCL5: EQUAL? SLEEPY-LEVEL,2 \?CCL7 CRLF PRINTI "You're really tired now. You'd better find a place to sleep real soon." CRLF CALL QUEUE,I-SLEEP-WARNINGS,135 PUT STACK,0,1 RTRUE ?CCL7: EQUAL? SLEEPY-LEVEL,3 \?CCL9 CRLF PRINTI "If you don't get some sleep soon you'll probably drop." CRLF CALL QUEUE,I-SLEEP-WARNINGS,60 PUT STACK,0,1 RTRUE ?CCL9: EQUAL? SLEEPY-LEVEL,4 \?CCL11 CRLF PRINTI "You can barely keep your eyes open." CRLF CALL QUEUE,I-SLEEP-WARNINGS,50 PUT STACK,0,1 RTRUE ?CCL11: EQUAL? SLEEPY-LEVEL,5 \FALSE EQUAL? HERE,BED \?CCL16 CRLF PRINTI "You slowly sink into a deep and blissful sleep." CRLF CALL DREAMING RSTACK ?CCL16: EQUAL? HERE,DORM-A,DORM-B /?CTR17 EQUAL? HERE,DORM-C,DORM-D \?CCL18 ?CTR17: CRLF PRINTI "You climb into one of the bunk beds and immediately fall asleep." CRLF MOVE ADVENTURER,BED CALL DREAMING RSTACK ?CCL18: CRLF PRINTI "You can't stay awake a moment longer. You drop to the ground and fall into a deep but fitful sleep." CRLF EQUAL? DAY,1 \?PRD25 EQUAL? HERE,CRAG /?CTR22 ?PRD25: EQUAL? DAY,3 \?PRD28 EQUAL? HERE,BALCONY /?CTR22 ?PRD28: EQUAL? DAY,5 \?CCL23 EQUAL? HERE,WINDING-STAIR \?CCL23 ?CTR22: CALL JIGS-UP,STR?44 RSTACK ?CCL23: RANDOM 100 LESS? 30,STACK /?CCL34 CALL JIGS-UP,STR?45 RSTACK ?CCL34: CALL DREAMING RSTACK .FUNCT BED-F,RARG=M-OBJECT EQUAL? PRSA,V?WALK \?CCL3 EQUAL? RARG,M-BEG \?CCL3 PRINTR "You'll have to stand up, first." ?CCL3: EQUAL? PRSA,V?RUB /?PRD9 EQUAL? PRSA,V?CLOSE,V?OPEN,V?TAKE \?CCL7 ?PRD9: EQUAL? RARG,M-BEG \?CCL7 EQUAL? PRSO,BED /?CCL7 PRINTR "You can't reach it from here." ?CCL7: ZERO? RARG \FALSE EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL16 EQUAL? HERE,INFIRMARY \?CCL19 CALL JIGS-UP,STR?46 RSTACK ?CCL19: GRTR? SLEEPY-LEVEL,0 \?CCL21 MOVE ADVENTURER,BED CALL QUEUE,I-FALL-ASLEEP,16 PUT STACK,0,1 CALL INT,I-SLEEP-WARNINGS PUT STACK,0,0 PRINTR "Ahhh...the bed is soft and comfortable. You should be asleep in short order." ?CCL21: MOVE ADVENTURER,BED PRINTR "You are now in bed." ?CCL16: EQUAL? PRSA,V?DROP /?PRD25 EQUAL? PRSA,V?EXIT,V?STAND,V?DISEMBARK \?CCL23 ?PRD25: CALL INT,I-FALL-ASLEEP GET STACK,C-TICK ZERO? STACK /?CCL23 PRINTR "How could you suggest such a thing when you're so tired and this bed is so comfy?" ?CCL23: EQUAL? PRSA,V?DROP,V?EXIT,V?LEAVE \?CCL29 CALL PERFORM,V?DISEMBARK,BED RTRUE ?CCL29: EQUAL? PRSA,V?PUT \FALSE EQUAL? BED,PRSI \FALSE MOVE PRSO,HERE PRINTI "The " PRINTD PRSO PRINTR " bounces off the bed and lands on the floor." .FUNCT I-FALL-ASLEEP CRLF PRINTI "You slowly sink into a deep and restful sleep." CRLF CALL INT,I-FALL-ASLEEP PUT STACK,0,0 CALL DREAMING RSTACK .FUNCT DREAMING FSET? FORK,TOUCHBIT \?CCL3 RANDOM 100 LESS? 13,STACK /?CCL3 PRINTI "You are in a busy office crowded with people. The only one you recognize is Floyd. He rushes back and forth between the desks, carrying papers and delivering coffee. He notices you, and asks how your project is coming, and whether you have time to tell him a story. You look into his deep, trusting eyes..." CRLF JUMP ?CND1 ?CCL3: RANDOM 100 LESS? 60,STACK /?CND1 CRLF CALL PICK-ONE,DREAMS PRINT STACK CRLF ?CND1: CALL WAKING-UP RSTACK .FUNCT WAKING-UP,X,N INC 'DAY SET 'SICKNESS-WARNING-FLAG,TRUE-VALUE SET 'SLEEPY-LEVEL,0 CALL RESET-TIME FIRST? ADVENTURER >X /?PRG2 ?PRG2: ZERO? X /?REP3 NEXT? X >N /?BOGUS7 ?BOGUS7: FSET? X,WORNBIT /?CND8 MOVE X,HERE ?CND8: EQUAL? X,CANTEEN \?CND10 IN? HIGH-PROTEIN,CANTEEN \?CND10 FSET? CANTEEN,OPENBIT \?CND10 REMOVE HIGH-PROTEIN ?CND10: EQUAL? X,FLASK \?CND15 IN? CHEMICAL-FLUID,FLASK \?CND15 REMOVE CHEMICAL-FLUID ?CND15: SET 'X,N JUMP ?PRG2 ?REP3: PRINTI " ***** SEPTEM " ADD DAY,5 PRINTN STACK PRINTI ", 11344 ***** " IN? ADVENTURER,BED /?CCL21 PRINTI "You wake and slowly stand up, feeling stiff from your night on the floor." JUMP ?CND19 ?CCL21: LESS? SICKNESS-LEVEL,3 \?CCL23 PRINTI "You wake up feeling refreshed and ready to face the challenges of this mysterious world." JUMP ?CND19 ?CCL23: LESS? SICKNESS-LEVEL,6 \?CCL25 PRINTI "You wake after sleeping restlessly. You feel weak and listless." JUMP ?CND19 ?CCL25: PRINTI "You wake feeling weak and worn-out. It will be an effort just to stand up." ?CND19: GRTR? HUNGER-LEVEL,0 \?CCL28 SET 'HUNGER-LEVEL,4 CALL QUEUE,I-HUNGER-WARNINGS,100 PUT STACK,0,1 PRINTI " You are also incredibly famished. Better get some breakfast!" JUMP ?CND26 ?CCL28: CALL QUEUE,I-HUNGER-WARNINGS,400 PUT STACK,0,1 ?CND26: CRLF FSET? FLOYD,RLANDBIT \FALSE ZERO? FLOYD-INTRODUCED /FALSE MOVE FLOYD,HERE SET 'FLOYD-SPOKE,TRUE-VALUE IN? ADVENTURER,BED \?CCL36 PRINTR "Floyd bounces impatiently at the foot of the bed. ""About time you woke up, you lazy bones! Let's explore around some more!""" ?CCL36: PRINTR "Floyd gives you a nudge with his foot and giggles. ""You sure look silly sleeping on the floor,"" he says." .FUNCT RESET-TIME EQUAL? DAY,2 \?CCL3 FCLEAR BALCONY,TOUCHBIT RANDOM 80 ADD 1600,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,5800 PUT STACK,0,1 RTRUE ?CCL3: EQUAL? DAY,3 \?CCL5 FCLEAR BALCONY,TOUCHBIT RANDOM 80 ADD 1750,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,5550 PUT STACK,0,1 RTRUE ?CCL5: EQUAL? DAY,4 \?CCL7 FCLEAR WINDING-STAIR,TOUCHBIT RANDOM 80 ADD 1950,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,5200 PUT STACK,0,1 RTRUE ?CCL7: EQUAL? DAY,5 \?CCL9 FCLEAR WINDING-STAIR,TOUCHBIT RANDOM 80 ADD 2150,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,4800 PUT STACK,0,1 RTRUE ?CCL9: EQUAL? DAY,6 \?CCL11 FCLEAR COURTYARD,TOUCHBIT RANDOM 80 ADD 2450,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,4300 PUT STACK,0,1 RTRUE ?CCL11: EQUAL? DAY,7 \?CCL13 FCLEAR COURTYARD,TOUCHBIT RANDOM 80 ADD 2800,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,3700 PUT STACK,0,1 RTRUE ?CCL13: EQUAL? DAY,8 \?CCL15 RANDOM 80 ADD 3200,STACK >INTERNAL-MOVES CALL QUEUE,I-SLEEP-WARNINGS,3000 PUT STACK,0,1 RTRUE ?CCL15: EQUAL? DAY,9 \FALSE CALL JIGS-UP,STR?52 RSTACK .FUNCT I-HUNGER-WARNINGS INC 'HUNGER-LEVEL EQUAL? HUNGER-LEVEL,1 \?CCL3 CALL QUEUE,I-HUNGER-WARNINGS,450 PUT STACK,0,1 CRLF PRINTR "A growl from your stomach warns that you're getting pretty hungry and thirsty." ?CCL3: EQUAL? HUNGER-LEVEL,2 \?CCL5 CALL QUEUE,I-HUNGER-WARNINGS,150 PUT STACK,0,1 CRLF PRINTR "You're now really ravenous and your lips are quite parched." ?CCL5: EQUAL? HUNGER-LEVEL,3 \?CCL7 CALL QUEUE,I-HUNGER-WARNINGS,100 PUT STACK,0,1 CRLF PRINTR "You're starting to feel faint from lack of food and liquid." ?CCL7: EQUAL? HUNGER-LEVEL,4 \?CCL9 CALL QUEUE,I-HUNGER-WARNINGS,50 PUT STACK,0,1 CRLF PRINTR "If you don't eat or drink something in a few millichrons, you'll probably pass out." ?CCL9: EQUAL? HUNGER-LEVEL,5 \FALSE CALL JIGS-UP,STR?53 RSTACK .FUNCT I-SICKNESS-WARNINGS CALL QUEUE,I-SICKNESS-WARNINGS,700 PUT STACK,0,1 ZERO? SICKNESS-WARNING-FLAG /FALSE SET 'SICKNESS-WARNING-FLAG,FALSE-VALUE SUB LOAD-ALLOWED,10 >LOAD-ALLOWED INC 'SICKNESS-LEVEL EQUAL? SICKNESS-LEVEL,1 \?CCL6 CRLF PRINTR "You notice that you feel a bit weak and slightly flushed, but you're not sure why." ?CCL6: EQUAL? SICKNESS-LEVEL,2 \?CCL8 CRLF PRINTR "You notice that you feel unusually weak, and you suspect that you have a fever." ?CCL8: EQUAL? SICKNESS-LEVEL,3 \?CCL10 CRLF PRINTR "You are now feeling quite under the weather, not unlike a bad flu." ?CCL10: EQUAL? SICKNESS-LEVEL,4 \?CCL12 CRLF PRINTR "Your fever seems to have gotten worse, and you're developing a bad headache." ?CCL12: EQUAL? SICKNESS-LEVEL,5 \?CCL14 CRLF PRINTR "Your health has deteriorated further. You feel hot and weak, and your head is throbbing." ?CCL14: EQUAL? SICKNESS-LEVEL,6 \?CCL16 CRLF PRINTR "You feel very, very sick, and have almost no strength left." ?CCL16: EQUAL? SICKNESS-LEVEL,7 \?CCL18 CRLF PRINTR "You feel like you're on fire, burning up from the fever. You're almost too weak to move, and your brain is reeling from the pounding headache." ?CCL18: EQUAL? SICKNESS-LEVEL,8 \?CCL20 CRLF PRINTR "You're no longer sure of where you are and what you're doing. You stumble about, your pain subsiding into a dull numbness." ?CCL20: EQUAL? SICKNESS-LEVEL,9 \FALSE CALL JIGS-UP,STR?55 RSTACK .FUNCT TRANSLATOR-PSEUDO IN? AMBASSADOR,HERE \?CCL3 EQUAL? PRSA,V?TAKE \?CCL6 PRINTR "The ambassador whimpers and slaps your wrist." ?CCL6: EQUAL? PRSA,V?MUNG \FALSE PRINTR "Are you trying to create an interplanetary incident?" ?CCL3: PRINTR "What translator?" .FUNCT SLIME-PSEUDO IN? AMBASSADOR,HERE /?CTR2 GRTR? AMBASSADOR-LEAVE,0 \?CCL3 ?CTR2: EQUAL? PRSA,V?TASTE,V?EAT \?CCL8 CALL LIKE-SLIME,STR?56 RSTACK ?CCL8: EQUAL? PRSA,V?RUB,V?TAKE \?CCL10 CALL LIKE-SLIME,STR?57 RSTACK ?CCL10: EQUAL? PRSA,V?EXAMINE \?CCL12 CALL LIKE-SLIME,STR?58 RSTACK ?CCL12: EQUAL? PRSA,V?SMELL \?CCL14 CALL LIKE-SLIME,STR?59 RSTACK ?CCL14: EQUAL? PRSA,V?REMOVE,V?SCRUB \FALSE PRINTI "Whew. You've cleaned up maybe one ten-thousandth of the slime." IN? BLATHER,HERE /?CND17 PRINTR " If you hurry, it might be all cleaned up before Ensign Blather gets here." ?CND17: CRLF RTRUE ?CCL3: PRINTR "What slime?" .FUNCT LIKE-SLIME,STRING PRINTI "It " PRINT STRING PRINTR " like slime. Aren't you glad you didn't step in it?" .FUNCT GRAFFITI-PSEUDO EQUAL? PRSA,V?READ \FALSE SET 'C-ELAPSED,28 PRINTR "All the graffiti seem to be about Blather. One of the least obscene items reads: There once was a krip, name of Blather Who told a young Ensign named Smather ""I'll make you inherit A trotting demerit And ship you off to those stinking fawg-infested tar-pools of Krather."" It's not a very good limerick, is it?" .FUNCT DOOR-PSEUDO EQUAL? PRSA,V?UNLOCK,V?OPEN \FALSE PRINTR "No way, Jose." .FUNCT WALKWAY-PSEUDO EQUAL? PRSA,V?LAMP-ON,V?EXAMINE \FALSE PRINTR "The walkway, which hastened the trip down that long corridor, is no longer in service." .FUNCT BENCH-PSEUDO EQUAL? PRSA,V?BOARD,V?CLIMB-ON \FALSE PRINTR "The benches look uncomfortable." .FUNCT CATWALK-PSEUDO EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP,V?CLIMB-ON \FALSE PRINTR "The catwalks are too high for you to access." .FUNCT EQUIPMENT-PSEUDO EQUAL? PRSA,V?LAMP-OFF /?CCL3 EQUAL? PRSA,V?LAMP-ON,V?RUB,V?EXAMINE \FALSE ?CCL3: PRINTR "The equipment here is so complicated that you couldn't even begin to figure out how to operate it." .FUNCT MONITORS-PSEUDO EQUAL? PRSA,V?READ,V?EXAMINE \FALSE CALL DESCRIBE-MONITORS RSTACK .FUNCT MURAL-PSEUDO ZERO? COMPUTER-FIXED /?CCL3 CALL ANYMORE RSTACK ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL6 PRINTR "It's a gaudy work of orange and purple abstract shapes, reminiscent of the early works of Burstini Bonz. It doesn't appear to fit the decor of the room at all. The mural seems to ripple now and then, as though a breeze were blowing behind it." ?CCL6: EQUAL? PRSA,V?MUNG \?CCL8 PRINTR "My sentiments also, but let's be civil." ?CCL8: EQUAL? PRSA,V?LOOK-BEHIND,V?MOVE \FALSE PRINTR "It won't budge." .FUNCT LOGO-PSEUDO EQUAL? PRSA,V?EXAMINE,V?READ \FALSE PRINTR "The logo shows a flame burning over a sleep chamber of some type. Under that is the phrase ""Prajekt Kuntrool.""" .FUNCT KEYBOARD-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It is a standard numeric keyboard with ten keys labelled from 0 through 9." .FUNCT CRACK-PSEUDO EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "The crack is too small to go through, but large enough to look through." ?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \FALSE EQUAL? HERE,RADIATION-LAB \?CCL8 PRINTR "You see a dimly lit Bio Lab. Sinister shapes lurk about within." ?CCL8: PRINTR "You see a laboratory suffused with a pale blue glow." .FUNCT VOID-PSEUDO EQUAL? PRSA,V?PUT \?CCL3 EQUAL? PRSI,PSEUDO-OBJECT \?CCL3 CALL PERFORM,V?THROW-OFF,PRSO,STRIP RTRUE ?CCL3: EQUAL? PRSA,V?ZAP \?CCL7 EQUAL? PRSO,LASER \?CCL7 EQUAL? PRSI,PSEUDO-OBJECT \?CCL7 SET 'PRSI,FALSE-VALUE CALL PERFORM,V?ZAP,LASER RTRUE ?CCL7: EQUAL? PRSA,V?LEAP,V?THROUGH \?CCL12 CALL JIGS-UP,STR?60 RSTACK ?CCL12: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE PRINTR "The void extends downward into the gloom far below." .FUNCT SPOUT-PSEUDO EQUAL? PRSA,V?PUT-UNDER \?CCL3 EQUAL? PRSO,CANTEEN \?CCL3 CALL PERFORM,V?PUT,CANTEEN,DISPENSER RTRUE ?CCL3: EQUAL? PRSA,V?LOOK-UNDER \FALSE IN? CANTEEN,DISPENSER \FALSE PRINTR "The canteen is sitting under the spout." .FUNCT TOILET-PSEUDO EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "The fixtures are all dry and dusty." ?CCL3: EQUAL? PRSA,V?FLUSH \FALSE PRINTR "The water seems to be turned off." .FUNCT GAMES-PSEUDO EQUAL? PRSA,V?PLAY \?CCL3 CALL PERFORM,V?PLAY,GLOBAL-GAMES RTRUE ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "All the usual games -- Chess, Cribbage, Galactic Overlord, Double Fannucci..." .FUNCT TAPES-PSEUDO EQUAL? PRSA,V?TAKE,V?PLAY,V?READ \?CCL3 PRINTR "Hardly the time or place for reading recreational tapes." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "Let's see...here are some musical selections, here are some bestselling romantic novels, here is a biography of a famous Double Fannucci champion..." .FUNCT PARTITION-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The partitions are very plain, and were obviously intended to separate this huge room into smaller areas." .FUNCT CUBBYHOLE-PSEUDO EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE PRINTR "The cubbyholes look like the kind that are used to hold maps or blueprints. They are all empty now." .FUNCT MAPS-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "Examining the maps reveals no new information." .FUNCT DEVICES-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "They are components of disassembled robots, beyond repair." .FUNCT CABLES-PSEUDO EQUAL? PRSA,V?FOLLOW,V?EXAMINE \?CCL3 PRINTR "These heavy cables merely run from the two consoles up into the ceiling." ?CCL3: EQUAL? PRSA,V?MUNG \FALSE CALL JIGS-UP,STR?61 RSTACK .FUNCT STRUCTURE-PSEUDO EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "You'd be able to tell more about it if you climbed up to it." ?CCL3: EQUAL? PRSA,V?CLIMB-UP \FALSE CALL DO-WALK,P?UP RSTACK .FUNCT BUTTON-PSEUDO EQUAL? PRSA,V?PUSH \FALSE FSET? DISPENSER,MUNGEDBIT \?CCL6 PRINTR "The dispenser sputters a few times." ?CCL6: IN? CANTEEN,DISPENSER \?CCL8 FSET? CANTEEN,OPENBIT /?CCL11 PRINTR "A thick, brown liquid spills over the closed canteen, dribbles down the side of the machine, and forms a puddle on the floor which quickly dries up." ?CCL11: IN? HIGH-PROTEIN,CANTEEN \?CCL13 PRINTI "The brown liquid splashes over the mouth of the already-filled canteen, creating a mess" FSET? PATROL-UNIFORM,WORNBIT \?CND14 PRINTI " and staining your uniform" ?CND14: PRINTR "." ?CCL13: MOVE HIGH-PROTEIN,CANTEEN PRINTR "The canteen fills almost to the brim with a brown liquid." ?CCL8: PRINTR "A thick, brownish liquid pours from the spout and splashes to the floor, where it quickly evaporates." .FUNCT CARPET-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It's pretty dusty." .FUNCT CABINETS-PSEUDO EQUAL? PRSA,V?OPEN,V?EXAMINE \?CCL3 PRINTR "The cabinets are locked." ?CCL3: EQUAL? PRSA,V?UNLOCK \FALSE PRINTR "You don't have the correct key." .FUNCT PLATE-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The plates seem to be featureless metal squares." .FUNCT ESCALATOR-PSEUDO EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \?CCL3 EQUAL? HERE,FORK \?CCL6 PRINTR "You're already at the top of the escalator." ?CCL6: CALL DO-WALK,P?UP RSTACK ?CCL3: EQUAL? PRSA,V?CLIMB-DOWN \?CCL8 EQUAL? HERE,LAWANDA-PLATFORM \?CCL11 PRINTR "You're already at the bottom of the escalator." ?CCL11: CALL DO-WALK,P?DOWN RSTACK ?CCL8: EQUAL? PRSA,V?LAMP-ON \FALSE CALL PICK-ONE,YUKS PRINT STACK CRLF RTRUE .FUNCT REACTOR-BUTTON-PSEUDO EQUAL? PRSA,V?PUSH \FALSE FSET REACTOR-ELEVATOR-DOOR,OPENBIT CALL QUEUE,I-REACTOR-DOOR-CLOSE,30 PUT STACK,0,1 PRINTR "The metal doors slide open, revealing a small room to the east." .FUNCT SUPPLIES-PSEUDO EQUAL? PRSA,V?TAKE \FALSE PRINTR "These supplies are of absolutely no use." .FUNCT DESK-PSEUDO EQUAL? PRSA,V?OPEN \?CCL3 PRINTR "All the drawers are empty." ?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It is bare except for the microfilm reader." .FUNCT CRYO-BUTTON-PSEUDO EQUAL? PRSA,V?PUSH \?CCL3 ZERO? CRYO-SCORE-FLAG \?CCL3 CALL QUEUE,I-CRYO-ELEVATOR-ARRIVE,100 PUT STACK,0,1 CALL INT,I-CHASE-SCENE PUT STACK,0,0 FCLEAR CRYO-ELEVATOR-DOOR,OPENBIT SET 'CRYO-SCORE-FLAG,TRUE-VALUE ADD SCORE,5 >SCORE PRINTR "The elevator door closes just as the monsters reach it! You slump back against the wall, exhausted from the chase. The elevator begins to move downward." ?CCL3: EQUAL? PRSA,V?PUSH \FALSE ZERO? CRYO-SCORE-FLAG /FALSE FSET? CRYO-ELEVATOR-DOOR,OPENBIT \FALSE CALL JIGS-UP,STR?62 RSTACK .FUNCT CASTLE-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The castle is ancient and crumbling." .FUNCT CHEM-SPOUT-PSEUDO EQUAL? PRSA,V?PUT-UNDER \?CCL3 EQUAL? PRSI,PSEUDO-OBJECT \?CCL3 CALL PERFORM,V?PUT-UNDER,PRSO,CHEMICAL-DISPENSER RTRUE ?CCL3: EQUAL? PRSA,V?LOOK-UNDER \FALSE ZERO? SPOUT-PLACED /FALSE PRINTI "There is " CALL A-AN PRINTD SPOUT-PLACED PRINTR " under the spout." .FUNCT CLEFT-PSEUDO EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \FALSE CALL DO-WALK,P?UP RSTACK .FUNCT RUBBLE-PSEUDO EQUAL? PRSA,V?MOVE \FALSE CALL PICK-ONE,YUKS PRINT STACK CRLF RTRUE .FUNCT PLAQUE-PSEUDO EQUAL? PRSA,V?EXAMINE,V?READ \FALSE PRINTR " SEENIK VISTA Xis stuneeng vuu uf xee Kalamontee Valee kuvurz oovur fortee skwaar miilz uf xat faamus tuurist spot. Xee larj bildeeng at xee bend in xee Gulmaan Rivur iz xee formur pravincul kapitul bildeeng." .FUNCT FENCE-PSEUDO EQUAL? PRSA,V?LEAP,V?CLIMB-FOO,V?CLIMB-UP \FALSE PRINTR "You can't." .FUNCT LOCK-PSEUDO EQUAL? PRSA,V?UNLOCK,V?OPEN \FALSE ZERO? PRSI /?CCL6 PRINTR "That won't unlock it." ?CCL6: PRINTR "But you don't have the orange key!" .FUNCT DIAGRAM-PSEUDO EQUAL? PRSA,V?READ \FALSE PRINTR "Not unless you've taken a special twelve-year course in ninth-order molecular physics." .FUNCT ENUNCIATOR-PSEUDO EQUAL? PRSA,V?MOVE,V?PUSH,V?LOOK-INSIDE \FALSE CALL PICK-ONE,YUKS PRINT STACK RTRUE .FUNCT NEAR-BOOTH-PSEUDO EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?DROP \?CCL3 PRINTR "You're not in the booth!" ?CCL3: EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \FALSE CALL DO-WALK,P?IN RSTACK .FUNCT IN-BOOTH-PSEUDO EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL3 PRINTR "You're already in the booth!" ?CCL3: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?DROP \FALSE CALL DO-WALK,P?OUT RSTACK .ENDI ================================================ FILE: globals.zil ================================================ "GLOBALS for PLANETFALL (C) COPYRIGHT 1983 INFOCOM INC. ALL RIGHTS RESERVED This file contains Global Objects and their associated routines, as well as all routines associated with BOTH complexes. It also contains the opening sequence which occurs prior to planetfall." ;"REM OFFSETS 31 30 29 28 27 26 25 24 23 22 21 20 ,LOW-DIRECTION " "SUBTITLE GLOBAL OBJECTS" ;"Yes, this synonym for LOCAL-GLOBALS needs to exist... sigh" > ) ( ) ( > )>> > )> ) ( ) ( > ) ( ) ( ) ( ) ( ) (T )>) ( )>) ( > ) ( ) ( > ) ( ) (T )>)>> ) ( >)> )>) (T ) ( )>)>> ) ( )>> > ) ( > )>> ) ( > )>> > )>> ) ( ) ( )>> > > > )>) ( ) ( ) (T )>) ( > )>> ) (T )>)>> ) ( ) ( > ) (T )>)>> )>> ) ( ) ( ) ( ) ( ) ( ) ( ) (ELSE )>) ( ) ( ) ( )>> ) (T )>> > > ) "AUX" M) > ) ( >> ) (.OBJ ) ( ) (T CR>)>> > )> ) (>> >)>>> ;"Stuff added for the NOT-HERE object" if PRSO/PRSI ready to use" ;"This COND is game independent (except the TELL)" > ) ( ) (T >)> ) ( >> > > )>) (T )>)>)> ;"Here is the default 'cant see any' printer" > > )>) (T )> > if PRSO/PRSI ready to use" ;"Here is where special-case code goes. returns number of matches. If 1, then P-MOBY-FOUND is it. One may treat the 0 and >1 cases alike or different. It doesn't matter. Always return RFALSE (not handled) if you have resolved the problem." > ; ,P?GLOBAL>>> )> ) (T )> ) ( ) (T ,NOT-HERE-OBJECT)>> )> )>) (.PRSO? <>>) (T <>>)>> ;"Begin-game stuff aboard the Feinstein" ) (SOUTH "The cell door is locked.") (FLAGS RLANDBIT ONBIT) (PSEUDO "GRAFFITI" GRAFFITI-PSEUDO "DOOR" DOOR-PSEUDO)> ) (EAST TO REACTOR-LOBBY IF CORRIDOR-DOOR IS OPEN) (WEST TO ESCAPE-POD IF POD-DOOR IS OPEN) (IN TO ESCAPE-POD IF POD-DOOR IS OPEN) (UP TO GANGWAY IF GANGWAY-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL POD-DOOR CORRIDOR-DOOR GANGWAY-DOOR STAIRS GLOBAL-POD) (PSEUDO "TRANSL" TRANSLATOR-PSEUDO "SLIME" SLIME-PSEUDO) (ACTION DECK-NINE-F)> ) (T )> )>> )>> ) (T )> > )> ) ( > ) ( > )> ) ( )> ) ( )>> ) (WEST TO DECK-NINE IF CORRIDOR-DOOR IS OPEN) (SOUTH "Ensign Blather pushes you roughly back toward your post.") (EAST "Ensign Blather blocks your way, snarling angrily.") (FLAGS RLANDBIT ONBIT) (GLOBAL CORRIDOR-DOOR)> ) (UP TO DECK-EIGHT) (DOWN TO DECK-NINE IF GANGWAY-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL GANGWAY-DOOR STAIRS) (ACTION GANGWAY-F)> > )>)>> ) (DOWN TO GANGWAY) (EAST "Blather throws you to the deck and makes you do 20 push-ups.") (WEST "Blather throws you to the deck and makes you do 20 push-ups.") (NORTH "Blather blocks your path, growling about extra galley duty.") (FLAGS RLANDBIT ONBIT) (GLOBAL STAIRS)> > ) (T )>) ( )>) ( > ) ( > ) (> > > )> )>)>> > > > ) ( ) ( ) ( > ) ( ) ( )>> ) ( )>> > )> >) ( > CR>) (T )>) ( > > > )>)>> > > > > ) ( > ) ( ) ( ) ( )>> ) (EAST PER POD-EXIT-F) (OUT PER POD-EXIT-F) (UP PER POD-EXIT-F) (FLAGS RLANDBIT ONBIT) (VALUE 3) (GLOBAL POD-DOOR CONTROLS LIGHTS GLOBAL-POD WINDOW) (ACTION ESCAPE-POD-F)> ) (T )>) ( ) (T )>) ( )>> ) (> ) (T ,UNDERWATER)>) (T ) (> ) (T ,DECK-NINE)>)>> > ) ( > ) ( > ) ( > ) (T )>) ( > ) ( > ,C-ENABLED?> 0>> > ) (T )>)>> )>> > ) ( )>)>> ) (> ) (T > ) ( ) (T )> )>) ( ) ( )> )>> )>> ) ( ) ( ) (T )>) (T )>) ( > ) (T )>) ( ) (T )>)>> ) (T )>) ( ) (T )>)>> > > ) (T > > > > ) (> )>)>) ( > > ) (T )>) ( ) ( ) (T )>) ( ) ( ) ( ) (T ) (T )> )>) ( ) ( ) (T )>) ( ) (T )>)>> > ) ( ) ( ) ( ) ( ) ( ) ( ) ( >) (T )>)>> > > ) ( >> ) ( > ) (T )>)>> "The next bunch of stuff is for the cards, slots, and associated junk." > ) ( ) ( > ) ( ) (T > )>) (T )>) ( > ) (T )>) ( Y > ) (T )>) ( > ) (T )>) ( ) ( > ) (T )>) ( )>)>> > ;"checks whether Floyd has already revealed his card" > > > > >> ) (T )>)>> > ) (T > )>)>> ;"teleportation stuff" > >)> > > > ) (T )>)>> > > > > )>> ;"shuttle system" > ) (T )>) ( ) ( ) ( > ) (T )>)>> ) (NORTH PER SHUTTLE-EXIT-F) (EAST TO ALFIE-CONTROL-EAST) (WEST TO ALFIE-CONTROL-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SHUTTLE-DOOR) (ACTION SHUTTLE-CAR-F)> ) (WEST TO SHUTTLE-CAR-ALFIE IF SHUTTLE-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL SLOT WINDOW LEVER SHUTTLE-DOOR GLOBAL-SHUTTLE) (ACTION CONTROL-CABIN-F)> ) (EAST TO SHUTTLE-CAR-ALFIE IF SHUTTLE-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL SLOT LEVER WINDOW SHUTTLE-DOOR GLOBAL-SHUTTLE) (ACTION CONTROL-CABIN-F)> ) (T )> )>> ) (SOUTH PER SHUTTLE-EXIT-F) (EAST TO BETTY-CONTROL-EAST) (WEST TO BETTY-CONTROL-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SHUTTLE-DOOR) (ACTION SHUTTLE-CAR-F)> ) (WEST TO SHUTTLE-CAR-BETTY IF SHUTTLE-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SLOT WINDOW LEVER SHUTTLE-DOOR) (ACTION CONTROL-CABIN-F)> ) (EAST TO SHUTTLE-CAR-BETTY IF SHUTTLE-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SLOT LEVER WINDOW SHUTTLE-DOOR) (ACTION CONTROL-CABIN-F)> ) ( ) (T )> )>> ,ALFIE-AT-KALAMONTEE> ,BETTY-AT-KALAMONTEE> > >> ) (> ) (T )>> ) (T )>)>> )>) ( )>)>) ( ) (T ,SHUTTLE-CAR-BETTY)>) ( ) (T ,SHUTTLE-CAR-ALFIE)>)>)>> ) ( )>> ;"true if Alfie is at Kalamontee Station" > ;"true if Betty is at Kalamontee Station" > ;"true if Shuttle is between Stations" > ;"true if shuttle is activated" ;"number of moves in shuttle trip so far" > >> ) (> >> ) ( )> ) ( ) (T > )>) ( ) (,ALFIE-AT-KALAMONTEE ) (T > )>) ( ) ( ) (T > )>) ( ) (,BETTY-AT-KALAMONTEE ) (T > )>) (T )>> >) (T >)> > ;"0 is the center position, 1 the upper, -1 the lower" ) ( > ) (T )>) (T )>) ( ) ( ) (T > )>) (T )>) (T )>)>> > > ) ;( > > > >)>) (T >)> >) ( >) (T )>)> ) ( )>)>> ) (T )> )> )> )> )> )> )>> > > ) ( ) (T )> ) (T )> > > > >) (T )>) (T >) (T )>)>)>> "To sleep, perchance to dream..." > > > )> >) ( >) ( >) ( >) ( ) ( > ) (T > > >> ) ( ) (T )>)>)>> > ) ( >> ) (.RARG ) ( ) ( > > ) (T )>) ( ,C-TICK>> ) ( ) ( > )>> > > > ) ( CR>)> > > > > > > )> > )> > )> ) (T )>> ", 11344 *****| |"> > ) ( ) ( ) (T )> > ) (T >)> ,FLOYD-INTRODUCED> ) (T )>)>> >> >) ( >> >) ( >> >) ( >> >) ( >> >) ( >> >) ( >> >) ( )>> "Feed me!" > > ) ( > ) ( > ) ( > ) ( )>> "Sickness and disease" > > > > > ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )>)>> "Oh, Boy! Pseudo objects!" ) ( )>) (T )>> > ) ( ) ( ) ( ) ( > )> )>) (T )>> > )>> )>> )>> )>> )>> )>> )>> ) (T ) ( ) ( )>)>> )>> )>> ) ( ) (T )>)>> > ) ( > > ) ( ) ( )>> > ) ( > )>> ) ( )>> ) ( ) ;( > )>> ) ( )>> )>> )>> )>> )>> ) ( )>> ) ( )>> ) ( > ) ( )> ) (T )>) (T )>)>> )>> ) ( )>> )>> ) (T )>) ( ) (T )>) ( CR>)>> > )>> )>> ) ( )>> > > > > ) ( ,CRYO-SCORE-FLAG > )>> )>> > ) ( ,SPOUT-PLACED> )>> )>> CR>)>> )>> )>> ) (T )>)>> )>> >)>> ) ( )>> ) ( )>> ================================================ FILE: misc.zabstr ================================================ ) (ELSE
)>>)> < REPEAT () )> > >>> !.L)> > < COND (<==? 3> )>> !.O)> < SET L ()>>> >> >>> > > >> ) (T .NUM)>> %<> WORD> > > %<> WORD> %<> WORD> %<> WORD> %<> WORD> WORD> WORD> WORD> ================================================ FILE: misc.zap ================================================ .FUNCT PICK-ONE,FROB GET FROB,0 RANDOM STACK GET FROB,STACK RSTACK .FUNCT GO START:: ?FCN: PUTB P-LEXV,0,59 CALL QUEUE,I-BLATHER,-1 PUT STACK,0,1 CALL QUEUE,I-AMBASSADOR,-1 PUT STACK,0,1 CALL QUEUE,I-RANDOM-INTERRUPTS,1 PUT STACK,0,1 CALL QUEUE,I-SLEEP-WARNINGS,3600 PUT STACK,0,1 CALL QUEUE,I-HUNGER-WARNINGS,2000 PUT STACK,0,1 CALL QUEUE,I-SICKNESS-WARNINGS,1000 PUT STACK,0,1 SET 'SPOUT-PLACED,GROUND GETB 0,56 ZERO? STACK \?CCL3 RANDOM 180 ADD 4450,STACK >INTERNAL-MOVES JUMP ?CND1 ?CCL3: SET 'INTERNAL-MOVES,4540 ?CND1: SET 'MOVES,INTERNAL-MOVES SET 'LIT,TRUE-VALUE SET 'WINNER,ADVENTURER SET 'HERE,DECK-NINE SET 'P-IT-LOC,DECK-NINE SET 'P-IT-OBJECT,POD-DOOR FSET? HERE,TOUCHBIT /?CND4 CALL V-VERSION CRLF PRINTI "Another routine day of drudgery aboard the Stellar Patrol Ship Feinstein. This morning's assignment for a certain lowly Ensign Seventh Class: scrubbing the filthy metal deck at the port end of Level Nine. With your Patrol-issue self-contained multi-purpose all-weather scrub brush you shine the floor with a diligence born of the knowledge that at any moment dreaded Ensign First Class Blather, the bane of your shipboard existence, could appear." CRLF CRLF ?CND4: CALL V-LOOK CALL MAIN-LOOP JUMP ?FCN .FUNCT I-RANDOM-INTERRUPTS RANDOM 90 ADD STACK,240 CALL QUEUE,I-BLOWUP-FEINSTEIN,STACK PUT STACK,0,1 CALL COMM-SETUP RANDOM 1000 >NUMBER-NEEDED RETURN NUMBER-NEEDED .FUNCT MAIN-LOOP,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,?TMP1 ?PRG1: SET 'C-ELAPSED,C-ELAPSED-DEFAULT SET 'CNT,0 SET 'OBJ,FALSE-VALUE SET 'PTBL,TRUE-VALUE CALL PARSER >P-WON ZERO? P-WON /?CCL5 GET P-PRSI,P-MATCHLEN >ICNT GET P-PRSO,P-MATCHLEN >OCNT ZERO? P-IT-OBJECT /?CND6 CALL ACCESSIBLE?,P-IT-OBJECT ZERO? STACK /?CND6 SET 'TMP,FALSE-VALUE ?PRG10: IGRTR? 'CNT,ICNT /?REP11 GET P-PRSI,CNT EQUAL? STACK,IT \?PRG10 PUT P-PRSI,CNT,P-IT-OBJECT SET 'TMP,TRUE-VALUE ?REP11: ZERO? TMP \?CND17 SET 'CNT,0 ?PRG19: IGRTR? 'CNT,OCNT /?CND17 GET P-PRSO,CNT EQUAL? STACK,IT \?PRG19 PUT P-PRSO,CNT,P-IT-OBJECT ?CND17: SET 'CNT,0 ?CND6: ZERO? OCNT \?CCL28 SET 'NUM,OCNT JUMP ?CND26 ?CCL28: GRTR? OCNT,1 \?CCL30 SET 'TBL,P-PRSO ZERO? ICNT \?CCL33 SET 'OBJ,FALSE-VALUE JUMP ?CND31 ?CCL33: GET P-PRSI,1 >OBJ ?CND31: SET 'NUM,OCNT JUMP ?CND26 ?CCL30: GRTR? ICNT,1 \?CCL35 SET 'PTBL,FALSE-VALUE SET 'TBL,P-PRSI GET P-PRSO,1 >OBJ SET 'NUM,ICNT JUMP ?CND26 ?CCL35: SET 'NUM,1 ?CND26: ZERO? OBJ \?CND36 EQUAL? ICNT,1 \?CND36 GET P-PRSI,1 >OBJ ?CND36: EQUAL? PRSA,V?WALK \?CCL42 CALL PERFORM,PRSA,PRSO >V JUMP ?CND40 ?CCL42: ZERO? NUM \?CCL44 GETB P-SYNTAX,P-SBITS BAND STACK,P-SONUMS ZERO? STACK \?CCL47 CALL PERFORM,PRSA >V SET 'PRSO,FALSE-VALUE JUMP ?CND40 ?CCL47: PRINTI "There isn't anything to " GET P-ITBL,P-VERBN >TMP ZERO? P-OFLAG \?CTR49 ZERO? P-MERGED /?CCL50 ?CTR49: GET TMP,0 PRINTB STACK JUMP ?CND48 ?CCL50: GETB TMP,2 >?TMP1 GETB TMP,3 CALL WORD-PRINT,?TMP1,STACK ?CND48: PRINTC 33 CRLF SET 'V,FALSE-VALUE JUMP ?CND40 ?CCL44: SET 'TMP,0 SET 'ICNT,FALSE-VALUE ?PRG53: IGRTR? 'CNT,NUM \?CCL57 GRTR? TMP,0 \?CCL60 PRINTI "The " EQUAL? TMP,NUM /?CND61 PRINTI "other " ?CND61: PRINTI "object" EQUAL? TMP,1 /?CND63 PRINTC 115 ?CND63: PRINTI " that you mentioned " EQUAL? TMP,1 /?CCL67 PRINTI "are" JUMP ?CND65 ?CCL67: PRINTI "is" ?CND65: PRINTI "n't here." CRLF JUMP ?CND40 ?CCL60: ZERO? ICNT \?CND40 PRINTI "There's nothing there." CRLF JUMP ?CND40 ?CCL57: ZERO? PTBL /?CCL71 GET P-PRSO,CNT >OBJ1 JUMP ?CND69 ?CCL71: GET P-PRSI,CNT >OBJ1 ?CND69: ZERO? PTBL /?CCL74 SET 'PRSO,OBJ1 JUMP ?CND72 ?CCL74: SET 'PRSO,OBJ ?CND72: ZERO? PTBL /?CCL77 SET 'PRSI,OBJ JUMP ?CND75 ?CCL77: SET 'PRSI,OBJ1 ?CND75: GRTR? NUM,1 /?CCL79 GET P-ITBL,P-NC1 GET STACK,0 EQUAL? STACK,W?ALL \?CND78 ?CCL79: EQUAL? OBJ1,NOT-HERE-OBJECT \?CCL84 INC 'TMP JUMP ?PRG53 ?CCL84: EQUAL? PRSA,V?TAKE \?CCL86 ZERO? PRSI /?CCL86 GET P-ITBL,P-NC1 GET STACK,0 EQUAL? STACK,W?ALL \?CCL86 IN? PRSO,PRSI \?PRG53 ?CCL86: EQUAL? P-GETFLAGS,P-ALL \?CCL92 EQUAL? PRSA,V?TAKE \?CCL92 LOC OBJ1 EQUAL? STACK,WINNER,HERE \?PRG53 ?CCL92: EQUAL? OBJ1,IT \?CCL98 PRINTD P-IT-OBJECT JUMP ?CND96 ?CCL98: PRINTD OBJ1 ?CND96: PRINTI ": " ?CND78: SET 'ICNT,TRUE-VALUE CALL PERFORM,PRSA,PRSO,PRSI >V EQUAL? V,M-FATAL \?PRG53 ?CND40: EQUAL? V,M-FATAL /?CND101 LOC WINNER GETP STACK,P?ACTION CALL STACK,M-END >V ?CND101: EQUAL? PRSA,V?AGAIN /?CND103 SET 'L-PRSA,PRSA SET 'L-PRSO,PRSO SET 'L-PRSI,PRSI ?CND103: CALL INT,I-POD-TRIP GET STACK,C-ENABLED? ZERO? STACK /?CCL107 SET 'C-ELAPSED,54 JUMP ?CND105 ?CCL107: GRTR? SHUTTLE-VELOCITY,0 \?CCL109 DIV 600,SHUTTLE-VELOCITY >C-ELAPSED JUMP ?CND105 ?CCL109: EQUAL? PRSA,V?TELL /?CTR110 CALL TIMELESS-VERB?,PRSA ZERO? STACK /?CCL111 ?CTR110: SET 'C-ELAPSED,0 JUMP ?CND105 ?CCL111: EQUAL? PRSA,V?AGAIN \?CND105 CALL TIMELESS-VERB?,L-PRSA ZERO? STACK /?CND105 SET 'C-ELAPSED,0 ?CND105: ADD INTERNAL-MOVES,C-ELAPSED >INTERNAL-MOVES EQUAL? V,M-FATAL \?CND3 SET 'P-CONT,FALSE-VALUE JUMP ?CND3 ?CCL5: SET 'P-CONT,FALSE-VALUE ?CND3: IN? CHRONOMETER,ADVENTURER /?CCL121 SET 'MOVES,0 JUMP ?CND119 ?CCL121: FSET? CHRONOMETER,MUNGEDBIT \?CCL123 SET 'MOVES,MUNGED-TIME JUMP ?CND119 ?CCL123: SET 'MOVES,INTERNAL-MOVES ?CND119: ZERO? P-WON /?PRG1 ZERO? C-ELAPSED /?PRG1 CALL CLOCKER >V JUMP ?PRG1 .FUNCT TIMELESS-VERB?,VRB EQUAL? VRB,V?BRIEF,V?SUPER-BRIEF,V?VERBOSE /TRUE EQUAL? VRB,V?SAVE,V?RESTORE,V?SCORE /TRUE EQUAL? VRB,V?SCRIPT,V?UNSCRIPT,V?TIME /TRUE EQUAL? VRB,V?QUIT,V?RESTART,V?VERSION /TRUE EQUAL? VRB,V?$RANDOM,V?$RECORD,V?$UNRECORD /TRUE EQUAL? VRB,V?$COMMAND /TRUE RFALSE .FUNCT PERFORM,A,O=0,I=0,V,OA,OO,OI SET 'OA,PRSA SET 'OO,PRSO SET 'OI,PRSI EQUAL? IT,I,O \?CND1 PRINTI "I don't see what you are referring to." CRLF SET 'P-IT-OBJECT,FALSE-VALUE RETURN 2 ?CND1: SET 'PRSA,A SET 'PRSO,O ZERO? PRSO /?CND5 EQUAL? PRSA,V?WALK /?CND5 SET 'P-IT-OBJECT,PRSO SET 'P-IT-LOC,HERE ?CND5: SET 'PRSI,I EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CCL11 CALL NOT-HERE-OBJECT-F >V ZERO? V /?CCL11 SET 'P-WON,FALSE-VALUE JUMP ?CND9 ?CCL11: SET 'O,PRSO ZERO? O /?CCL15 SET 'I,PRSI ZERO? I /?CCL15 CALL NULL-F ZERO? STACK /?CCL15 PRINTI "[in case last clause changed PRSx]" JUMP ?CND9 ?CCL15: GETP WINNER,P?ACTION CALL STACK >V ZERO? V \?CND9 LOC WINNER GETP STACK,P?ACTION CALL STACK,M-BEG >V ZERO? V \?CND9 GET PREACTIONS,A CALL STACK >V ZERO? V \?CND9 ZERO? I /?CCL26 GETP I,P?ACTION CALL STACK >V ZERO? V \?CND9 ?CCL26: ZERO? O /?CCL30 EQUAL? A,V?WALK /?CCL30 GETP O,P?ACTION CALL STACK >V ZERO? V \?CND9 ?CCL30: GET ACTIONS,A CALL STACK >V ZERO? V /?CND9 ?CND9: SET 'PRSA,OA SET 'PRSO,OO SET 'PRSI,OI RETURN V .FUNCT META-LOC,OBJ ?PRG1: ZERO? OBJ /FALSE IN? OBJ,GLOBAL-OBJECTS \?CND3 RETURN GLOBAL-OBJECTS ?CND3: IN? OBJ,ROOMS \?CCL9 RETURN OBJ ?CCL9: LOC OBJ >OBJ JUMP ?PRG1 .FUNCT QUEUE,RTN,TICK,CINT CALL INT,RTN >CINT PUT CINT,C-TICK,TICK RETURN CINT .FUNCT INT,RTN,DEMON=0,E,C,INT ADD C-TABLE,C-TABLELEN >E ADD C-TABLE,C-INTS >C ?PRG1: EQUAL? C,E \?CCL5 SUB C-INTS,C-INTLEN >C-INTS ZERO? DEMON /?PEN6 SUB C-DEMONS,C-INTLEN >C-DEMONS ?PEN6: ADD C-TABLE,C-INTS >INT PUT INT,C-RTN,RTN RETURN INT ?CCL5: GET C,C-RTN EQUAL? STACK,RTN \?CND3 RETURN C ?CND3: ADD C,C-INTLEN >C JUMP ?PRG1 .FUNCT CLOCKER,C,E,TICK,FLG=0 ZERO? P-WON /?CCL3 PUSH C-INTS JUMP ?CND1 ?CCL3: PUSH C-DEMONS ?CND1: ADD C-TABLE,STACK >C ADD C-TABLE,C-TABLELEN >E ?PRG4: EQUAL? C,E \?CCL8 RETURN FLG ?CCL8: GET C,C-ENABLED? ZERO? STACK /?CND6 GET C,C-TICK >TICK ZERO? TICK /?CND6 EQUAL? TICK,-1 \?CCL13 GET C,C-RTN CALL STACK ZERO? STACK /?CND6 SET 'FLG,TRUE-VALUE JUMP ?CND6 ?CCL13: SUB TICK,C-ELAPSED >TICK PUT C,C-TICK,TICK GRTR? TICK,1 /?CND6 PUT C,C-TICK,0 GET C,C-RTN CALL STACK ZERO? STACK /?CND6 SET 'FLG,TRUE-VALUE ?CND6: ADD C,C-INTLEN >C JUMP ?PRG4 .FUNCT NULL-F,A1,A2 RFALSE .ENDI ================================================ FILE: misc.zil ================================================ "MISC for PLANETFALL (c) Copyright 1983 Infocom, Inc. All Rights Reserved." "old MACROS file" ) (ELSE )>>)> )> > >>> !.L)> > 3> )>> !.O)> >> >> >>> >>> > > >> ) (T .NUM)>> "old MAIN or VERMONT file" > > > ;"put interrupts on clock chain" > > > > > > ;"set up and go" ;"following COND avoids random-before-first-read message in ZIP20" 0> >>) (T )> > )> > 240>>> ;"sets up comm system and laser values" >> > > > > > > > .ICNT> ) (T ,IT> )>)>> > .OCNT> ) (T ,IT> )>)>>)> )> .OCNT) ( >) (T >)> .OCNT) ( > > .ICNT) (T 1)>> <1? .ICNT>> >)> >) (<0? .NUM> ,P-SONUMS>> > >) (T > >) (T >)> >)>) (T > > .NUM> > )> > )> > ) (T )> ) ( )> ) (T >) (T >)> > > 0> ,W?ALL>> > ) ( ,PRSI 0> ,W?ALL> >> ) ( ,WINNER ,HERE>>> ) (T ) (T )> )>)> > )>)>>)> > ; ,PRSO> >)> ,P?ACTION> ,M-END>>)> > )> ,C-ENABLED?> 0>> ) ( >) ( > ) ( > )> > >)>) (T >)> > ) ( ) (T )> > >)>)>>> > ) (T )>> > > > % ') (I <>) "AUX" V OA OO OI) ; > <>>>> > )> ; )> ; )> >> )> >> > ;"to keep clock from running" .V) ( > ) (>> .V) ( ,P?ACTION> ,M-BEG>> .V) (>> .V) (>>> .V) (> >>> .V) (>> .V)> .V>) (T '> ) (I <>) "AUX" V OA OO OI) > )> ; )> ; )> >> )> >> .V) ( ,P?ACTION> ,M-BEG>> .V) (>> .V) (>>> .V) (> ,P?CONTFCN>>>> .V) (> >>> .V) ( >> .V)> > ; ,PRSO> >)> ,P?ACTION> ,M-END>>)> .V> <>) (T " CR>) (T ">)>)> ) (T )>> ) ( ) (T )>)> .RES)>> >)> ) ( )> ) (ELSE >)>>> "old CLOCK file" ') (T ')>> > ,C-TICK .TICK> .CINT> ) E C INT) > > > >> > ) ( .RTN> )> >>> ;> ; )) ;> ;)> ;> )> >> > ) (>> > ) (<==? .TICK -1> > )>) (T >> > > )>)>)>)> >>> > ================================================ FILE: parser.zabstr ================================================ WORD> WORD> WORD> %<> WORD> %<> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> WORD> %<> WORD> %<> WORD> WORD> WORD> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> WORD> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> %<> WORD> ================================================ FILE: parser.zap ================================================ .FUNCT PARSER,PTR=P-LEXSTART,WORD,VAL=0,VERB=0,LEN,DIR=0,NW=0,LW=0,NUM,SCNT,CNT=-1 ?PRG1: IGRTR? 'CNT,P-ITBLLEN /?REP2 PUT P-ITBL,CNT,0 JUMP ?PRG1 ?REP2: SET 'P-ADVERB,FALSE-VALUE SET 'P-ADJECTIVE,FALSE-VALUE SET 'P-MERGED,FALSE-VALUE PUT P-PRSO,P-MATCHLEN,0 PUT P-PRSI,P-MATCHLEN,0 PUT P-BUTS,P-MATCHLEN,0 ZERO? QUOTE-FLAG \?CND6 EQUAL? WINNER,ADVENTURER /?CND6 SET 'WINNER,ADVENTURER LOC WINNER FSET? STACK,VEHBIT /?CND6 LOC WINNER >HERE ?CND6: ZERO? P-CONT /?CCL14 SET 'PTR,P-CONT SET 'P-CONT,FALSE-VALUE EQUAL? PRSA,V?TELL /?CND12 ZERO? SUPER-BRIEF \?CND12 CRLF JUMP ?CND12 ?CCL14: SET 'WINNER,ADVENTURER SET 'QUOTE-FLAG,FALSE-VALUE LOC WINNER FSET? STACK,VEHBIT /?CND19 LOC WINNER >HERE ?CND19: SET 'SCNT,P-SPACE ?PRG21: DLESS? 'SCNT,0 /?REP22 ZERO? SUPER-BRIEF \?PRG21 CRLF JUMP ?PRG21 ?REP22: PRINTC 62 READ P-INBUF,P-LEXV ?CND12: GETB P-LEXV,P-LEXWORDS >P-LEN ZERO? P-LEN \?CND27 PRINTI "I beg your pardon?" CRLF RFALSE ?CND27: SET 'LEN,P-LEN SET 'P-DIR,FALSE-VALUE SET 'P-NCN,0 SET 'P-GETFLAGS,0 ?PRG29: DLESS? 'P-LEN,0 \?CCL33 SET 'QUOTE-FLAG,FALSE-VALUE JUMP ?REP30 ?CCL33: GET P-LEXV,PTR >WORD ZERO? WORD \?CTR34 CALL NUMBER?,PTR >WORD ZERO? WORD /?CCL35 ?CTR34: EQUAL? WORD,W?TO \?CCL40 EQUAL? VERB,ACT?TELL \?CCL40 SET 'WORD,W?QUOTE JUMP ?CND38 ?CCL40: EQUAL? WORD,W?THEN \?CND38 ZERO? VERB \?CND38 ZERO? QUOTE-FLAG \?CND38 PUT P-ITBL,P-VERB,ACT?TELL PUT P-ITBL,P-VERBN,0 SET 'WORD,W?QUOTE ?CND38: EQUAL? WORD,W?THEN,W?PERIOD /?CTR48 EQUAL? WORD,W?QUOTE \?CCL49 ?CTR48: EQUAL? WORD,W?QUOTE \?CND52 ZERO? QUOTE-FLAG /?CCL56 SET 'QUOTE-FLAG,FALSE-VALUE JUMP ?CND52 ?CCL56: SET 'QUOTE-FLAG,TRUE-VALUE ?CND52: ZERO? P-LEN /?PEN57 ADD PTR,P-LEXELEN >P-CONT ?PEN57: PUTB P-LEXV,P-LEXWORDS,P-LEN JUMP ?REP30 ?CCL49: CALL WT?,WORD,16,3 >VAL ZERO? VAL /?CCL60 EQUAL? LEN,1 /?CTR59 EQUAL? LEN,2 \?PRD65 EQUAL? VERB,ACT?WALK /?CTR59 ?PRD65: ADD PTR,P-LEXELEN GET P-LEXV,STACK >NW EQUAL? NW,W?THEN,W?QUOTE \?PRD68 EQUAL? VERB,ACT?WALK \?PRD68 GRTR? LEN,2 /?CTR59 ?PRD68: EQUAL? NW,W?PERIOD \?PRD72 EQUAL? VERB,ACT?WALK,FALSE-VALUE \?PRD72 GRTR? LEN,1 /?CTR59 ?PRD72: ZERO? QUOTE-FLAG /?PRD76 EQUAL? LEN,2 \?PRD76 EQUAL? NW,W?QUOTE /?CTR59 ?PRD76: GRTR? LEN,2 \?CCL60 EQUAL? VERB,ACT?WALK \?CCL60 EQUAL? NW,W?COMMA,W?AND \?CCL60 ?CTR59: SET 'DIR,VAL EQUAL? NW,W?COMMA,W?AND \?CND83 ADD PTR,P-LEXELEN PUT P-LEXV,STACK,W?THEN ?CND83: GRTR? LEN,2 /?CND31 SET 'QUOTE-FLAG,FALSE-VALUE JUMP ?REP30 ?CCL60: CALL WT?,WORD,64,1 >VAL ZERO? VAL /?CCL88 ZERO? VERB \?CCL88 SET 'VERB,VAL PUT P-ITBL,P-VERB,VAL PUT P-ITBL,P-VERBN,P-VTBL PUT P-VTBL,0,WORD MUL PTR,2 ADD STACK,2 >NUM GETB P-LEXV,NUM PUTB P-VTBL,2,STACK ADD NUM,1 GETB P-LEXV,STACK PUTB P-VTBL,3,STACK JUMP ?CND31 ?CCL88: CALL WT?,WORD,8,0 >VAL ZERO? VAL \?CTR91 EQUAL? WORD,W?ALL,W?ONE,W?A /?CTR91 EQUAL? WORD,W?BOTH /?CTR91 CALL WT?,WORD,32 ZERO? STACK \?CTR91 CALL WT?,WORD,128 ZERO? STACK /?CCL92 ?CTR91: GRTR? P-LEN,0 \?CCL101 ADD PTR,P-LEXELEN GET P-LEXV,STACK EQUAL? STACK,W?OF \?CCL101 ZERO? VAL \?CCL101 EQUAL? WORD,W?ALL,W?ONE,W?A /?CCL101 EQUAL? WORD,W?BOTH \?CND31 ?CCL101: ZERO? VAL /?CCL108 ZERO? P-LEN /?CTR107 ADD PTR,2 GET P-LEXV,STACK EQUAL? STACK,W?THEN,W?PERIOD \?CCL108 ?CTR107: LESS? P-NCN,2 \?CND31 PUT P-ITBL,P-PREP1,VAL PUT P-ITBL,P-PREP1N,WORD JUMP ?CND31 ?CCL108: EQUAL? P-NCN,2 \?CCL116 PRINTI "I found too many nouns in that sentence." CRLF RFALSE ?CCL116: INC 'P-NCN CALL CLAUSE,PTR,VAL,WORD >PTR ZERO? PTR /FALSE LESS? PTR,0 \?CND31 SET 'QUOTE-FLAG,FALSE-VALUE ?REP30: ZERO? DIR /?CND126 SET 'PRSA,V?WALK SET 'PRSO,DIR SET 'P-WALK-DIR,DIR RTRUE ?CCL92: CALL WT?,WORD,4 ZERO? STACK \?CND31 EQUAL? VERB,ACT?TELL \?CCL123 CALL WT?,WORD,64,1 ZERO? STACK /?CCL123 PRINTI "Please consult your manual for the correct way to talk to other people or creatures." CRLF RFALSE ?CCL123: CALL CANT-USE,PTR RFALSE ?CCL35: CALL UNKNOWN-WORD,PTR RFALSE ?CND31: SET 'LW,WORD ADD PTR,P-LEXELEN >PTR JUMP ?PRG29 ?CND126: SET 'P-WALK-DIR,FALSE-VALUE ZERO? P-OFLAG /?CND128 CALL ORPHAN-MERGE ?CND128: CALL SYNTAX-CHECK ZERO? STACK /FALSE CALL SNARF-OBJECTS ZERO? STACK /FALSE CALL MANY-CHECK ZERO? STACK /FALSE CALL TAKE-CHECK ZERO? STACK \TRUE RFALSE .FUNCT WT?,PTR,BIT,B1=5,OFFST=P-P1OFF,TYP GETB PTR,P-PSOFF >TYP BTST TYP,BIT \FALSE GRTR? B1,4 /TRUE EQUAL? BIT,128 /TRUE BAND TYP,P-P1BITS >TYP EQUAL? TYP,B1 /?CND9 INC 'OFFST ?CND9: GETB PTR,OFFST RSTACK .FUNCT CLAUSE,PTR,VAL,WORD,OFF,NUM,ANDFLG=0,FIRST??=1,NW,LW=0,?TMP1 SUB P-NCN,1 MUL STACK,2 >OFF ZERO? VAL /?CCL3 ADD P-PREP1,OFF >NUM PUT P-ITBL,NUM,VAL ADD NUM,1 PUT P-ITBL,STACK,WORD ADD PTR,P-LEXELEN >PTR JUMP ?CND1 ?CCL3: INC 'P-LEN ?CND1: ZERO? P-LEN \?CND4 DEC 'P-NCN RETURN -1 ?CND4: ADD P-NC1,OFF >NUM MUL PTR,2 ADD P-LEXV,STACK PUT P-ITBL,NUM,STACK GET P-LEXV,PTR EQUAL? STACK,W?THE,W?A,W?AN \?PRG8 GET P-ITBL,NUM ADD STACK,4 PUT P-ITBL,NUM,STACK ?PRG8: DLESS? 'P-LEN,0 \?CND10 ADD NUM,1 >?TMP1 MUL PTR,2 ADD P-LEXV,STACK PUT P-ITBL,?TMP1,STACK RETURN -1 ?CND10: GET P-LEXV,PTR >WORD ZERO? WORD \?CTR13 CALL NUMBER?,PTR >WORD ZERO? WORD /?CCL14 ?CTR13: ZERO? P-LEN \?CCL19 SET 'NW,0 JUMP ?CND17 ?CCL19: ADD PTR,P-LEXELEN GET P-LEXV,STACK >NW ?CND17: EQUAL? WORD,W?AND,W?COMMA \?CCL22 SET 'ANDFLG,TRUE-VALUE JUMP ?CND12 ?CCL22: EQUAL? WORD,W?ALL,W?BOTH,W?ONE \?CCL24 EQUAL? NW,W?OF \?CND12 DEC 'P-LEN ADD PTR,P-LEXELEN >PTR JUMP ?CND12 ?CCL24: EQUAL? WORD,W?THEN,W?PERIOD /?CTR27 CALL WT?,WORD,8 ZERO? STACK /?CCL28 ZERO? FIRST?? \?CCL28 ?CTR27: INC 'P-LEN ADD NUM,1 >?TMP1 MUL PTR,2 ADD P-LEXV,STACK PUT P-ITBL,?TMP1,STACK SUB PTR,P-LEXELEN RSTACK ?CCL28: CALL WT?,WORD,128 ZERO? STACK /?CCL34 GRTR? P-LEN,0 \?CCL37 EQUAL? NW,W?OF \?CCL37 EQUAL? WORD,W?ALL,W?ONE \?CND12 ?CCL37: CALL WT?,WORD,32,2 ZERO? STACK /?CCL41 ZERO? NW /?CCL41 CALL WT?,NW,128 ZERO? STACK \?CND12 ?CCL41: ZERO? ANDFLG \?CCL46 EQUAL? NW,W?BUT,W?EXCEPT /?CCL46 EQUAL? NW,W?AND,W?COMMA /?CCL46 ADD NUM,1 >?TMP1 ADD PTR,2 MUL STACK,2 ADD P-LEXV,STACK PUT P-ITBL,?TMP1,STACK RETURN PTR ?CCL46: SET 'ANDFLG,FALSE-VALUE JUMP ?CND12 ?CCL34: ZERO? P-OFLAG \?PRD52 ZERO? P-MERGED \?PRD52 GET P-ITBL,P-VERB ZERO? STACK /?CCL50 ?PRD52: CALL WT?,WORD,32 ZERO? STACK \?CND12 CALL WT?,WORD,4 ZERO? STACK \?CND12 ?CCL50: ZERO? ANDFLG /?CCL59 CALL WT?,WORD,16 ZERO? STACK \?CTR58 CALL WT?,WORD,64 ZERO? STACK /?CCL59 ?CTR58: SUB PTR,4 >PTR ADD PTR,2 PUT P-LEXV,STACK,W?THEN ADD P-LEN,2 >P-LEN ?CND12: SET 'LW,WORD SET 'FIRST??,FALSE-VALUE ADD PTR,P-LEXELEN >PTR JUMP ?PRG8 ?CCL59: CALL WT?,WORD,8 ZERO? STACK \?CND12 CALL CANT-USE,PTR RFALSE ?CCL14: CALL UNKNOWN-WORD,PTR RFALSE .FUNCT NUMBER?,PTR,CNT,BPTR,CHR,SUM=0,TIM=0,?TMP1 MUL PTR,2 ADD P-LEXV,STACK GETB STACK,2 >CNT MUL PTR,2 ADD P-LEXV,STACK GETB STACK,3 >BPTR ?PRG1: DLESS? 'CNT,0 /?REP2 GETB P-INBUF,BPTR >CHR GRTR? SUM,10000 /FALSE LESS? CHR,58 \FALSE GRTR? CHR,47 \FALSE MUL SUM,10 >?TMP1 SUB CHR,48 ADD ?TMP1,STACK >SUM INC 'BPTR JUMP ?PRG1 ?REP2: PUT P-LEXV,PTR,W?INTNUM GRTR? SUM,10000 /FALSE SET 'P-NUMBER,SUM RETURN W?INTNUM .FUNCT ORPHAN-MERGE,CNT=-1,TEMP,VERB,BEG,END,ADJ=0,WRD,?TMP1 SET 'P-OFLAG,FALSE-VALUE GET P-ITBL,P-VERBN GET STACK,0 >WRD CALL WT?,WRD,32,2 ZERO? STACK /?CCL3 SET 'ADJ,TRUE-VALUE JUMP ?CND1 ?CCL3: CALL WT?,WRD,128,0 ZERO? STACK /?CND1 ZERO? P-NCN \?CND1 PUT P-ITBL,P-VERB,0 PUT P-ITBL,P-VERBN,0 ADD P-LEXV,2 PUT P-ITBL,P-NC1,STACK ADD P-LEXV,6 PUT P-ITBL,P-NC1L,STACK SET 'P-NCN,1 ?CND1: GET P-ITBL,P-VERB >VERB ZERO? VERB /?CCL9 ZERO? ADJ \?CCL9 GET P-OTBL,P-VERB EQUAL? VERB,STACK \FALSE ?CCL9: EQUAL? P-NCN,2 /FALSE GET P-OTBL,P-NC1 EQUAL? STACK,1 \?CCL16 GET P-ITBL,P-PREP1 >TEMP GET P-OTBL,P-PREP1 EQUAL? TEMP,STACK /?CTR18 ZERO? TEMP \FALSE ?CTR18: ZERO? ADJ /?CCL24 ADD P-LEXV,2 PUT P-OTBL,P-NC1,STACK ADD P-LEXV,6 PUT P-OTBL,P-NC1L,STACK JUMP ?PRG64 ?CCL24: GET P-ITBL,P-NC1 PUT P-OTBL,P-NC1,STACK GET P-ITBL,P-NC1L PUT P-OTBL,P-NC1L,STACK JUMP ?PRG64 ?CCL16: GET P-OTBL,P-NC2 EQUAL? STACK,1 \?CCL26 GET P-ITBL,P-PREP1 >TEMP GET P-OTBL,P-PREP2 EQUAL? TEMP,STACK /?CTR28 ZERO? TEMP \FALSE ?CTR28: ZERO? ADJ /?CND32 ADD P-LEXV,2 PUT P-ITBL,P-NC1,STACK ADD P-LEXV,6 PUT P-ITBL,P-NC1L,STACK ?CND32: GET P-ITBL,P-NC1 PUT P-OTBL,P-NC2,STACK GET P-ITBL,P-NC1L PUT P-OTBL,P-NC2L,STACK SET 'P-NCN,2 JUMP ?PRG64 ?CCL26: ZERO? P-ACLAUSE /?PRG64 EQUAL? P-NCN,1 /?CCL37 ZERO? ADJ \?CCL37 SET 'P-ACLAUSE,FALSE-VALUE RFALSE ?CCL37: GET P-ITBL,P-NC1 >BEG ZERO? ADJ /?CND40 ADD P-LEXV,2 >BEG SET 'ADJ,FALSE-VALUE ?CND40: GET P-ITBL,P-NC1L >END ?PRG42: GET BEG,0 >WRD EQUAL? BEG,END \?CCL46 ZERO? ADJ /?CCL49 CALL ACLAUSE-WIN,ADJ JUMP ?PRG64 ?CCL49: SET 'P-ACLAUSE,FALSE-VALUE RFALSE ?CCL46: ZERO? ADJ \?CCL51 GETB WRD,P-PSOFF BTST STACK,32 /?CTR50 EQUAL? WRD,W?ALL,W?ONE \?CCL51 ?CTR50: SET 'ADJ,WRD ?CND44: ADD BEG,P-WORDLEN >BEG ZERO? END \?PRG42 SET 'END,BEG SET 'P-NCN,1 SUB BEG,4 PUT P-ITBL,P-NC1,STACK PUT P-ITBL,P-NC1L,BEG JUMP ?PRG42 ?CCL51: GETB WRD,P-PSOFF BTST STACK,128 /?CCL56 EQUAL? WRD,W?ONE \?CND44 ?CCL56: EQUAL? WRD,P-ANAM,W?ONE \FALSE CALL ACLAUSE-WIN,ADJ ?PRG64: IGRTR? 'CNT,P-ITBLLEN \?CCL68 SET 'P-MERGED,TRUE-VALUE RTRUE ?CCL68: GET P-OTBL,CNT PUT P-ITBL,CNT,STACK JUMP ?PRG64 .FUNCT ACLAUSE-WIN,ADJ GET P-OTBL,P-VERB PUT P-ITBL,P-VERB,STACK SET 'P-CCSRC,P-OTBL ADD P-ACLAUSE,1 CALL CLAUSE-COPY,P-ACLAUSE,STACK,ADJ GET P-OTBL,P-NC2 ZERO? STACK /?PEN1 SET 'P-NCN,2 ?PEN1: SET 'P-ACLAUSE,FALSE-VALUE RTRUE .FUNCT WORD-PRINT,CNT,BUF ?PRG1: DLESS? 'CNT,0 /TRUE GETB P-INBUF,BUF PRINTC STACK INC 'BUF JUMP ?PRG1 .FUNCT UNKNOWN-WORD,PTR,BUF,?TMP1 PRINTI "I don't know the word """ MUL PTR,2 >BUF ADD P-LEXV,BUF GETB STACK,2 >?TMP1 ADD P-LEXV,BUF GETB STACK,3 CALL WORD-PRINT,?TMP1,STACK PRINTI ".""" CRLF SET 'QUOTE-FLAG,FALSE-VALUE SET 'P-OFLAG,FALSE-VALUE RETURN P-OFLAG .FUNCT CANT-USE,PTR,BUF,?TMP1 PRINTI "I can't use the word """ MUL PTR,2 >BUF ADD P-LEXV,BUF GETB STACK,2 >?TMP1 ADD P-LEXV,BUF GETB STACK,3 CALL WORD-PRINT,?TMP1,STACK PRINTI """ here." CRLF SET 'QUOTE-FLAG,FALSE-VALUE SET 'P-OFLAG,FALSE-VALUE RETURN P-OFLAG .FUNCT SYNTAX-CHECK,SYN,LEN,NUM,OBJ,DRIVE1=0,DRIVE2=0,PREP,VERB,TMP,?TMP2,?TMP1 GET P-ITBL,P-VERB >VERB ZERO? VERB \?CND1 PRINTI "I can't find a verb in that sentence!" CRLF RFALSE ?CND1: SUB 255,VERB GET VERBS,STACK >SYN GETB SYN,0 >LEN INC 'SYN ?PRG3: GETB SYN,P-SBITS BAND STACK,P-SONUMS >NUM GRTR? P-NCN,NUM /?CND5 LESS? NUM,1 /?CCL9 ZERO? P-NCN \?CCL9 GET P-ITBL,P-PREP1 >PREP ZERO? PREP /?CTR8 GETB SYN,P-SPREP1 EQUAL? PREP,STACK \?CCL9 ?CTR8: SET 'DRIVE1,SYN JUMP ?CND5 ?CCL9: GETB SYN,P-SPREP1 >?TMP1 GET P-ITBL,P-PREP1 EQUAL? ?TMP1,STACK \?CND5 EQUAL? NUM,2 \?CCL18 EQUAL? P-NCN,1 \?CCL18 SET 'DRIVE2,SYN ?CND5: DLESS? 'LEN,1 \?CCL24 ZERO? DRIVE1 \?REP4 ZERO? DRIVE2 \?REP4 PRINTI "I don't understand that sentence." CRLF RFALSE ?CCL18: GETB SYN,P-SPREP2 >?TMP1 GET P-ITBL,P-PREP2 EQUAL? ?TMP1,STACK \?CND5 CALL SYNTAX-FOUND,SYN RTRUE ?CCL24: ADD SYN,P-SYNLEN >SYN JUMP ?PRG3 ?REP4: ZERO? DRIVE1 /?CCL32 GETB DRIVE1,P-SFWIM1 >?TMP2 GETB DRIVE1,P-SLOC1 >?TMP1 GETB DRIVE1,P-SPREP1 CALL GWIM,?TMP2,?TMP1,STACK >OBJ ZERO? OBJ /?CCL32 PUT P-PRSO,P-MATCHLEN,1 PUT P-PRSO,1,OBJ CALL SYNTAX-FOUND,DRIVE1 RSTACK ?CCL32: ZERO? DRIVE2 /?CCL36 GETB DRIVE2,P-SFWIM2 >?TMP2 GETB DRIVE2,P-SLOC2 >?TMP1 GETB DRIVE2,P-SPREP2 CALL GWIM,?TMP2,?TMP1,STACK >OBJ ZERO? OBJ /?CCL36 PUT P-PRSI,P-MATCHLEN,1 PUT P-PRSI,1,OBJ CALL SYNTAX-FOUND,DRIVE2 RSTACK ?CCL36: EQUAL? VERB,ACT?FIND \?CCL40 PRINTI "I can't answer that question." CRLF RFALSE ?CCL40: EQUAL? WINNER,ADVENTURER /?CCL42 CALL CANT-ORPHAN RSTACK ?CCL42: CALL ORPHAN,DRIVE1,DRIVE2 PRINTI "What do you want to " GET P-OTBL,P-VERBN >TMP ZERO? TMP \?CCL45 PRINTI "tell" JUMP ?CND43 ?CCL45: GETB P-VTBL,2 ZERO? STACK \?CCL47 GET TMP,0 PRINTB STACK JUMP ?CND43 ?CCL47: GETB TMP,2 >?TMP1 GETB TMP,3 CALL WORD-PRINT,?TMP1,STACK PUTB P-VTBL,2,0 ?CND43: ZERO? DRIVE2 /?CND48 CALL CLAUSE-PRINT,P-NC1,P-NC1L ?CND48: SET 'P-OFLAG,TRUE-VALUE ZERO? DRIVE1 /?CCL52 GETB DRIVE1,P-SPREP1 JUMP ?CND50 ?CCL52: GETB DRIVE2,P-SPREP2 ?CND50: CALL PREP-PRINT,STACK PRINTC 63 CRLF RFALSE .FUNCT CANT-ORPHAN PRINTI """I don't understand! What are you referring to?""" CRLF RFALSE .FUNCT ORPHAN,D1,D2,CNT=-1 PUT P-OCLAUSE,P-MATCHLEN,0 SET 'P-CCSRC,P-ITBL ?PRG1: IGRTR? 'CNT,P-ITBLLEN /?REP2 GET P-ITBL,CNT PUT P-OTBL,CNT,STACK JUMP ?PRG1 ?REP2: EQUAL? P-NCN,2 \?CND6 CALL CLAUSE-COPY,P-NC2,P-NC2L ?CND6: LESS? P-NCN,1 /?CND8 CALL CLAUSE-COPY,P-NC1,P-NC1L ?CND8: ZERO? D1 /?CCL12 GETB D1,P-SPREP1 PUT P-OTBL,P-PREP1,STACK PUT P-OTBL,P-NC1,1 RTRUE ?CCL12: ZERO? D2 /FALSE GETB D2,P-SPREP2 PUT P-OTBL,P-PREP2,STACK PUT P-OTBL,P-NC2,1 RTRUE .FUNCT CLAUSE-PRINT,BPTR,EPTR,THE?=1,?TMP1 GET P-ITBL,BPTR >?TMP1 GET P-ITBL,EPTR CALL BUFFER-PRINT,?TMP1,STACK,THE? RSTACK .FUNCT BUFFER-PRINT,BEG,END,CP,NOSP=0,WRD,FIRST??=1,PN=0,?TMP1 ?PRG1: EQUAL? BEG,END /TRUE ZERO? NOSP /?CCL8 SET 'NOSP,FALSE-VALUE JUMP ?CND6 ?CCL8: PRINTC 32 ?CND6: GET BEG,0 >WRD EQUAL? WRD,W?PERIOD \?CCL11 SET 'NOSP,TRUE-VALUE JUMP ?CND3 ?CCL11: EQUAL? WRD,W?FLOYD,W?BLATHER \?CCL13 CALL CAPITALIZE,BEG SET 'PN,TRUE-VALUE JUMP ?CND3 ?CCL13: ZERO? FIRST?? /?CND14 ZERO? PN \?CND14 ZERO? CP /?CND14 PRINTI "the " ?CND14: ZERO? P-OFLAG /?CCL21 PRINTB WRD JUMP ?CND19 ?CCL21: EQUAL? WRD,W?IT \?CCL23 EQUAL? P-IT-LOC,HERE \?CCL23 PRINTD P-IT-OBJECT JUMP ?CND19 ?CCL23: GETB BEG,2 >?TMP1 GETB BEG,3 CALL WORD-PRINT,?TMP1,STACK ?CND19: SET 'FIRST??,FALSE-VALUE ?CND3: ADD BEG,P-WORDLEN >BEG JUMP ?PRG1 .FUNCT CAPITALIZE,PTR,?TMP1 GETB PTR,3 GETB P-INBUF,STACK SUB STACK,32 PRINTC STACK GETB PTR,2 SUB STACK,1 >?TMP1 GETB PTR,3 ADD STACK,1 CALL WORD-PRINT,?TMP1,STACK RSTACK .FUNCT PREP-PRINT,PREP,WRD ZERO? PREP /FALSE PRINTC 32 CALL PREP-FIND,PREP >WRD PRINTB WRD RTRUE .FUNCT CLAUSE-COPY,BPTR,EPTR,INSRT=0,BEG,END GET P-CCSRC,BPTR >BEG GET P-CCSRC,EPTR >END GET P-OCLAUSE,P-MATCHLEN MUL STACK,P-LEXELEN ADD STACK,2 ADD P-OCLAUSE,STACK PUT P-OTBL,BPTR,STACK ?PRG1: EQUAL? BEG,END \?CCL5 GET P-OCLAUSE,P-MATCHLEN MUL STACK,P-LEXELEN ADD STACK,2 ADD P-OCLAUSE,STACK PUT P-OTBL,EPTR,STACK RTRUE ?CCL5: ZERO? INSRT /?CND6 GET BEG,0 EQUAL? P-ANAM,STACK \?CND6 CALL CLAUSE-ADD,INSRT ?CND6: GET BEG,0 CALL CLAUSE-ADD,STACK ADD BEG,P-WORDLEN >BEG JUMP ?PRG1 .FUNCT CLAUSE-ADD,WRD,PTR GET P-OCLAUSE,P-MATCHLEN ADD STACK,2 >PTR SUB PTR,1 PUT P-OCLAUSE,STACK,WRD PUT P-OCLAUSE,PTR,0 PUT P-OCLAUSE,P-MATCHLEN,PTR RTRUE .FUNCT PREP-FIND,PREP,CNT=0,SIZE GET PREPOSITIONS,0 MUL STACK,2 >SIZE ?PRG1: IGRTR? 'CNT,SIZE /FALSE GET PREPOSITIONS,CNT EQUAL? STACK,PREP \?PRG1 SUB CNT,1 GET PREPOSITIONS,STACK RSTACK .FUNCT SYNTAX-FOUND,SYN SET 'P-SYNTAX,SYN GETB SYN,P-SACTION >PRSA RETURN PRSA .FUNCT GWIM,GBIT,LBIT,PREP,OBJ EQUAL? GBIT,RMUNGBIT \?CND1 RETURN ROOMS ?CND1: SET 'P-GWIMBIT,GBIT SET 'P-SLOCBITS,LBIT PUT P-MERGE,P-MATCHLEN,0 CALL GET-OBJECT,P-MERGE,FALSE-VALUE ZERO? STACK /?CCL5 SET 'P-GWIMBIT,0 GET P-MERGE,P-MATCHLEN EQUAL? STACK,1 \FALSE GET P-MERGE,1 >OBJ FSET? OBJ,VEHBIT \?CND9 EQUAL? PREP,PR?DOWN \?CND9 SET 'PREP,PR?ON ?CND9: PRINTC 40 ZERO? PREP /?CND13 CALL PREP-FIND,PREP PRINTB STACK PRINTI " the " ?CND13: PRINTD OBJ PRINTC 41 CRLF RETURN OBJ ?CCL5: SET 'P-GWIMBIT,0 RFALSE .FUNCT SNARF-OBJECTS,PTR GET P-ITBL,P-NC1 >PTR ZERO? PTR /?CND1 GETB P-SYNTAX,P-SLOC1 >P-SLOCBITS GET P-ITBL,P-NC1L CALL SNARFEM,PTR,STACK,P-PRSO ZERO? STACK /FALSE GET P-BUTS,P-MATCHLEN ZERO? STACK /?CND1 CALL BUT-MERGE,P-PRSO >P-PRSO ?CND1: GET P-ITBL,P-NC2 >PTR ZERO? PTR /TRUE GETB P-SYNTAX,P-SLOC2 >P-SLOCBITS GET P-ITBL,P-NC2L CALL SNARFEM,PTR,STACK,P-PRSI ZERO? STACK /FALSE GET P-BUTS,P-MATCHLEN ZERO? STACK /TRUE GET P-PRSI,P-MATCHLEN EQUAL? STACK,1 \?CCL15 CALL BUT-MERGE,P-PRSO >P-PRSO RTRUE ?CCL15: CALL BUT-MERGE,P-PRSI >P-PRSI RTRUE .FUNCT BUT-MERGE,TBL,LEN,BUTLEN,CNT=1,MATCHES=0,OBJ,NTBL GET TBL,P-MATCHLEN >LEN PUT P-MERGE,P-MATCHLEN,0 ?PRG1: DLESS? 'LEN,0 /?REP2 GET TBL,CNT >OBJ CALL ZMEMQ,OBJ,P-BUTS ZERO? STACK \?CND3 ADD MATCHES,1 PUT P-MERGE,STACK,OBJ INC 'MATCHES ?CND3: INC 'CNT JUMP ?PRG1 ?REP2: PUT P-MERGE,P-MATCHLEN,MATCHES SET 'NTBL,P-MERGE SET 'P-MERGE,TBL RETURN NTBL .FUNCT SNARFEM,PTR,EPTR,TBL,BUT=0,LEN,WV,WORD,NW SET 'P-AND,FALSE-VALUE SET 'P-GETFLAGS,0 SET 'P-CSPTR,PTR SET 'P-CEPTR,EPTR PUT P-BUTS,P-MATCHLEN,0 PUT TBL,P-MATCHLEN,0 GET PTR,0 >WORD ?PRG1: EQUAL? PTR,EPTR \?CCL5 ZERO? BUT /?PRD8 PUSH BUT JUMP ?PEN6 ?PRD8: PUSH TBL ?PEN6: CALL GET-OBJECT,STACK RSTACK ?CCL5: GET PTR,P-LEXELEN >NW EQUAL? WORD,W?ALL,W?BOTH \?CCL11 SET 'P-GETFLAGS,P-ALL EQUAL? NW,W?OF \?CND3 ADD PTR,P-WORDLEN >PTR JUMP ?CND3 ?CCL11: EQUAL? WORD,W?BUT,W?EXCEPT \?CCL15 ZERO? BUT /?PRD20 PUSH BUT JUMP ?PEN18 ?PRD20: PUSH TBL ?PEN18: CALL GET-OBJECT,STACK ZERO? STACK /FALSE SET 'BUT,P-BUTS PUT BUT,P-MATCHLEN,0 JUMP ?CND3 ?CCL15: EQUAL? WORD,W?A,W?ONE \?CCL22 ZERO? P-ADJ \?CCL25 SET 'P-GETFLAGS,P-ONE EQUAL? NW,W?OF \?CND3 ADD PTR,P-WORDLEN >PTR JUMP ?CND3 ?CCL25: SET 'P-NAM,P-ONEOBJ ZERO? BUT /?PRD32 PUSH BUT JUMP ?PEN30 ?PRD32: PUSH TBL ?PEN30: CALL GET-OBJECT,STACK ZERO? STACK /FALSE ZERO? NW \?CND3 RTRUE ?CCL22: EQUAL? WORD,W?AND,W?COMMA \?CCL36 EQUAL? NW,W?AND,W?COMMA /?CCL36 SET 'P-AND,TRUE-VALUE ZERO? BUT /?PRD43 PUSH BUT JUMP ?PEN41 ?PRD43: PUSH TBL ?PEN41: CALL GET-OBJECT,STACK ZERO? STACK \?CND3 RFALSE ?CCL36: CALL WT?,WORD,8 ZERO? STACK /?CCL45 EQUAL? PTR,P-CSPTR \?CCL45 ADD P-CSPTR,P-WORDLEN >P-CSPTR JUMP ?CND3 ?CCL45: CALL WT?,WORD,4 ZERO? STACK \?CND3 EQUAL? WORD,W?AND,W?COMMA /?CND3 EQUAL? WORD,W?OF \?CCL51 ZERO? P-GETFLAGS \?CND3 SET 'P-GETFLAGS,P-INHIBIT JUMP ?CND3 ?CCL51: CALL WT?,WORD,32,2 >WV ZERO? WV /?CCL55 CALL ADJ-CHECK ZERO? STACK /?CCL55 SET 'P-ADJ,WV SET 'P-ADJN,WORD SET 'P-ADJECTIVE,WORD JUMP ?CND3 ?CCL55: CALL WT?,WORD,128,0 ZERO? STACK /?CND3 SET 'P-NAM,WORD SET 'P-ONEOBJ,WORD ?CND3: EQUAL? PTR,EPTR /?PRG1 ADD PTR,P-WORDLEN >PTR SET 'WORD,NW JUMP ?PRG1 .FUNCT ADJ-CHECK ZERO? P-ADJ /TRUE EQUAL? P-ADJ,A?FIRST,A?SECOND,A?THIRD /FALSE EQUAL? P-ADJ,A?FOURTH,A?OLD,A?NEW /FALSE EQUAL? P-ADJ,A?SEND,A?RECEIVE,A?KITCHEN /FALSE EQUAL? P-ADJ,A?UPPER,A?LOWER,A?SHUTTL /FALSE EQUAL? P-ADJ,A?ELEVATOR /FALSE EQUAL? P-ADJ,A?SQUARE,A?ROUND,A?GOOD /FALSE EQUAL? P-ADJ,A?SHINY,A?CRACKED,A?FRIED /FALSE EQUAL? P-ADJ,A?TELEPO,A?MINI,A?MINIAT /FALSE RTRUE .FUNCT GET-OBJECT,TBL,VRB=1,BITS,LEN,XBITS,TLEN,GCHECK=0,OLEN=0,OBJ SET 'XBITS,P-SLOCBITS GET TBL,P-MATCHLEN >TLEN BTST P-GETFLAGS,P-INHIBIT /TRUE ZERO? P-NAM \?CND3 ZERO? P-ADJ /?CND3 CALL WT?,P-ADJN,128,0 ZERO? STACK /?CND3 SET 'P-NAM,P-ADJN SET 'P-ADJ,FALSE-VALUE ?CND3: ZERO? P-NAM \?CND8 ZERO? P-ADJ \?CND8 EQUAL? P-GETFLAGS,P-ALL /?CND8 ZERO? P-GWIMBIT \?CND8 ZERO? VRB /FALSE PRINTI "I couldn't find a noun in that sentence!" CRLF RFALSE ?CND8: EQUAL? P-GETFLAGS,P-ALL \?CCL17 ZERO? P-SLOCBITS \?CND16 ?CCL17: SET 'P-SLOCBITS,-1 ?CND16: SET 'P-TABLE,TBL ?PRG20: ZERO? GCHECK /?CCL24 CALL GLOBAL-CHECK,TBL JUMP ?CND22 ?CCL24: ZERO? LIT /?CND25 EQUAL? WINNER,ADVENTURER /?CND27 FCLEAR WINNER,OPENBIT ?CND27: CALL DO-SL,HERE,SOG,SIR EQUAL? WINNER,ADVENTURER /?CND25 FSET WINNER,OPENBIT ?CND25: CALL DO-SL,WINNER,SH,SC EQUAL? WINNER,ADVENTURER /?CND22 EQUAL? P-GETFLAGS,P-ALL /?CND22 CALL DO-SL,ADVENTURER,SH,SC ?CND22: GET TBL,P-MATCHLEN SUB STACK,TLEN >LEN BTST P-GETFLAGS,P-ALL /?CND35 BTST P-GETFLAGS,P-ONE \?CCL38 ZERO? LEN /?CCL38 EQUAL? LEN,1 /?CND41 RANDOM LEN GET TBL,STACK PUT TBL,1,STACK PRINTI "(How about the " GET TBL,1 PRINTD STACK PRINTI "?)" CRLF ?CND41: PUT TBL,P-MATCHLEN,1 ?CND35: SET 'P-SLOCBITS,XBITS SET 'P-NAM,FALSE-VALUE SET 'P-ADJ,FALSE-VALUE RTRUE ?CCL38: GRTR? LEN,1 /?CTR43 ZERO? LEN \?CCL44 EQUAL? P-SLOCBITS,-1 /?CCL44 ?CTR43: EQUAL? P-SLOCBITS,-1 \?CCL51 SET 'P-SLOCBITS,XBITS SET 'OLEN,LEN GET TBL,P-MATCHLEN SUB STACK,LEN PUT TBL,P-MATCHLEN,STACK JUMP ?PRG20 ?CCL51: ZERO? LEN \?CND52 SET 'LEN,OLEN ?CND52: EQUAL? WINNER,ADVENTURER /?CCL56 CALL CANT-ORPHAN RFALSE ?CCL56: ZERO? VRB /?CCL58 ZERO? P-NAM /?CCL58 CALL WHICH-PRINT,TLEN,LEN,TBL EQUAL? TBL,P-PRSO \?CCL63 SET 'P-ACLAUSE,P-NC1 JUMP ?CND61 ?CCL63: SET 'P-ACLAUSE,P-NC2 ?CND61: SET 'P-AADJ,P-ADJ SET 'P-ANAM,P-NAM CALL ORPHAN,FALSE-VALUE,FALSE-VALUE SET 'P-OFLAG,TRUE-VALUE JUMP ?CND54 ?CCL58: ZERO? VRB /?CND54 PRINTI "I couldn't find a noun in that sentence!" CRLF ?CND54: SET 'P-NAM,FALSE-VALUE SET 'P-ADJ,FALSE-VALUE RFALSE ?CCL44: ZERO? LEN \?CCL66 ZERO? GCHECK /?CCL66 ZERO? VRB /?CND69 SET 'P-SLOCBITS,XBITS ZERO? LIT \?CTR72 EQUAL? P-NAM,W?GRUE \?CCL73 ?CTR72: CALL OBJ-FOUND,NOT-HERE-OBJECT,TBL SET 'P-XNAM,P-NAM SET 'P-XADJ,P-ADJ SET 'P-XADJN,P-ADJN SET 'P-NAM,FALSE-VALUE SET 'P-ADJ,FALSE-VALUE SET 'P-ADJN,FALSE-VALUE RTRUE ?CCL73: PRINTI "It's too dark to see!" CRLF ?CND69: SET 'P-NAM,FALSE-VALUE SET 'P-ADJ,FALSE-VALUE RFALSE ?CCL66: ZERO? LEN \?CND35 SET 'GCHECK,TRUE-VALUE JUMP ?PRG20 .FUNCT MOBY-FIND,TBL,FOO,LEN SET 'P-SLOCBITS,-1 SET 'P-NAM,P-XNAM SET 'P-ADJ,P-XADJ PUT TBL,P-MATCHLEN,0 FIRST? ROOMS >FOO /?PRG2 ?PRG2: ZERO? FOO /?REP3 CALL SEARCH-LIST,FOO,TBL,P-SRCALL NEXT? FOO >FOO /?PRG2 JUMP ?PRG2 ?REP3: GET TBL,P-MATCHLEN >LEN ZERO? LEN \?CND8 CALL DO-SL,LOCAL-GLOBALS,1,1 ?CND8: GET TBL,P-MATCHLEN >LEN ZERO? LEN \?CND10 CALL DO-SL,ROOMS,1,1 ?CND10: GET TBL,P-MATCHLEN >LEN EQUAL? LEN,1 \?CND12 GET TBL,1 >P-MOBY-FOUND ?CND12: SET 'P-NAM,FALSE-VALUE SET 'P-ADJ,FALSE-VALUE RETURN LEN .FUNCT WHICH-PRINT,TLEN,LEN,TBL,OBJ,RLEN SET 'RLEN,LEN PRINTI "Which" ZERO? P-OFLAG \?CTR2 ZERO? P-MERGED \?CTR2 ZERO? P-AND /?CCL3 ?CTR2: PRINTC 32 PRINTB P-NAM JUMP ?CND1 ?CCL3: EQUAL? TBL,P-PRSO \?CCL8 CALL CLAUSE-PRINT,P-NC1,P-NC1L,FALSE-VALUE JUMP ?CND1 ?CCL8: CALL CLAUSE-PRINT,P-NC2,P-NC2L,FALSE-VALUE ?CND1: PRINTI " do you mean, " ?PRG9: INC 'TLEN GET TBL,TLEN >OBJ PRINTI "the " PRINTD OBJ EQUAL? LEN,2 \?CCL13 EQUAL? RLEN,2 /?CND14 PRINTC 44 ?CND14: PRINTI " or " JUMP ?CND11 ?CCL13: GRTR? LEN,2 \?CND11 PRINTI ", " ?CND11: DLESS? 'LEN,1 \?PRG9 PRINTR "?" .FUNCT GLOBAL-CHECK,TBL,LEN,RMG,RMGL,CNT=0,OBJ,OBITS,FOO GET TBL,P-MATCHLEN >LEN SET 'OBITS,P-SLOCBITS GETPT HERE,P?GLOBAL >RMG ZERO? RMG /?CND1 PTSIZE RMG SUB STACK,1 >RMGL ?PRG3: GETB RMG,CNT >OBJ CALL THIS-IT?,OBJ,TBL ZERO? STACK /?CND5 CALL OBJ-FOUND,OBJ,TBL ?CND5: IGRTR? 'CNT,RMGL \?PRG3 ?CND1: GETPT HERE,P?PSEUDO >RMG ZERO? RMG /?CND9 PTSIZE RMG DIV STACK,4 SUB STACK,1 >RMGL SET 'CNT,0 ?PRG11: MUL CNT,2 GET RMG,STACK EQUAL? P-NAM,STACK \?CCL15 SET 'LAST-PSEUDO-LOC,HERE MUL CNT,2 ADD STACK,1 GET RMG,STACK PUTP PSEUDO-OBJECT,P?ACTION,STACK GETPT PSEUDO-OBJECT,P?ACTION SUB STACK,5 >FOO GET P-NAM,0 PUT FOO,0,STACK GET P-NAM,1 PUT FOO,1,STACK CALL OBJ-FOUND,PSEUDO-OBJECT,TBL JUMP ?CND9 ?CCL15: IGRTR? 'CNT,RMGL \?PRG11 ?CND9: GET TBL,P-MATCHLEN EQUAL? STACK,LEN \FALSE SET 'P-SLOCBITS,-1 SET 'P-TABLE,TBL CALL DO-SL,GLOBAL-OBJECTS,1,1 SET 'P-SLOCBITS,OBITS GET TBL,P-MATCHLEN ZERO? STACK \FALSE EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH /?CCL25 EQUAL? PRSA,V?EXAMINE,V?FIND,V?THROUGH \FALSE ?CCL25: CALL DO-SL,ROOMS,1,1 RSTACK .FUNCT DO-SL,OBJ,BIT1,BIT2 ADD BIT1,BIT2 BTST P-SLOCBITS,STACK \?CCL3 CALL SEARCH-LIST,OBJ,P-TABLE,P-SRCALL RSTACK ?CCL3: BTST P-SLOCBITS,BIT1 \?CCL6 CALL SEARCH-LIST,OBJ,P-TABLE,P-SRCTOP RSTACK ?CCL6: BTST P-SLOCBITS,BIT2 \TRUE CALL SEARCH-LIST,OBJ,P-TABLE,P-SRCBOT RSTACK .FUNCT SEARCH-LIST,OBJ,TBL,LVL,FLS,NOBJ FIRST? OBJ >OBJ \FALSE ?PRG4: EQUAL? LVL,P-SRCBOT /?CND6 GETPT OBJ,P?SYNONYM ZERO? STACK /?CND6 CALL THIS-IT?,OBJ,TBL ZERO? STACK /?CND6 CALL OBJ-FOUND,OBJ,TBL ?CND6: FSET? OBJ,INVISIBLE /?CND11 ZERO? LVL \?PRD15 FSET? OBJ,SEARCHBIT /?PRD15 FSET? OBJ,SURFACEBIT \?CND11 ?PRD15: FIRST? OBJ >NOBJ \?CND11 FSET? OBJ,OPENBIT /?CCL12 FSET? OBJ,TRANSBIT \?CND11 ?CCL12: ZERO? LVL \?CCL24 FSET? OBJ,SEARCHBIT \?CCL24 EQUAL? P-GETFLAGS,P-ALL /?CND11 ?CCL24: FSET? OBJ,SURFACEBIT \?CCL30 PUSH P-SRCALL JUMP ?CND28 ?CCL30: FSET? OBJ,SEARCHBIT \?CCL32 PUSH P-SRCALL JUMP ?CND28 ?CCL32: PUSH P-SRCTOP ?CND28: CALL SEARCH-LIST,OBJ,TBL,STACK >FLS ?CND11: NEXT? OBJ >OBJ /?PRG4 RTRUE .FUNCT OBJ-FOUND,OBJ,TBL,PTR GET TBL,P-MATCHLEN >PTR ADD PTR,1 PUT TBL,STACK,OBJ ADD PTR,1 PUT TBL,P-MATCHLEN,STACK RTRUE .FUNCT TAKE-CHECK GETB P-SYNTAX,P-SLOC1 CALL ITAKE-CHECK,P-PRSO,STACK ZERO? STACK /FALSE GETB P-SYNTAX,P-SLOC2 CALL ITAKE-CHECK,P-PRSI,STACK RSTACK .FUNCT ITAKE-CHECK,TBL,IBITS,PTR,OBJ,TAKEN GET TBL,P-MATCHLEN >PTR ZERO? PTR /TRUE BTST IBITS,SHAVE /?PRG8 BTST IBITS,STAKE \TRUE ?PRG8: DLESS? 'PTR,0 /TRUE ADD PTR,1 GET TBL,STACK >OBJ EQUAL? OBJ,IT \?CND13 SET 'OBJ,P-IT-OBJECT ?CND13: CALL HELD?,OBJ ZERO? STACK \?PRG8 EQUAL? OBJ,HANDS /?PRG8 SET 'PRSO,OBJ FSET? OBJ,TRYTAKEBIT \?CCL21 SET 'TAKEN,TRUE-VALUE JUMP ?CND19 ?CCL21: EQUAL? WINNER,ADVENTURER /?CCL23 SET 'TAKEN,FALSE-VALUE JUMP ?CND19 ?CCL23: BTST IBITS,STAKE \?CCL25 CALL ITAKE,FALSE-VALUE EQUAL? STACK,TRUE-VALUE \?CCL25 SET 'TAKEN,FALSE-VALUE JUMP ?CND19 ?CCL25: SET 'TAKEN,TRUE-VALUE ?CND19: ZERO? TAKEN /?CCL30 BTST IBITS,SHAVE \?CCL30 EQUAL? OBJ,NOT-HERE-OBJECT \?CND33 PRINTI "You don't have that!" CRLF RFALSE ?CND33: PRINTI "You don't have the " PRINTD OBJ PRINTC 46 CRLF CALL THIS-IS-IT,OBJ RFALSE ?CCL30: ZERO? TAKEN \?PRG8 EQUAL? WINNER,ADVENTURER \?PRG8 PRINTI "(Taking the " PRINTD OBJ PRINTI " first)" CRLF JUMP ?PRG8 .FUNCT HERE?,CAN ?PRG1: LOC CAN >CAN ZERO? CAN /?REP2 EQUAL? CAN,HERE \?PRG1 RTRUE ?REP2: CALL GLOBAL-IN?,CAN,HERE ZERO? STACK \TRUE EQUAL? CAN,PSEUDO-OBJECT /TRUE RFALSE .FUNCT HELD?,CAN ?PRG1: LOC CAN >CAN ZERO? CAN /FALSE EQUAL? CAN,WINNER \?PRG1 RTRUE .FUNCT MANY-CHECK,LOSS=0,TMP,?TMP1 GET P-PRSO,P-MATCHLEN GRTR? STACK,1 \?CCL3 GETB P-SYNTAX,P-SLOC1 BTST STACK,SMANY /?CCL3 SET 'LOSS,1 JUMP ?CND1 ?CCL3: GET P-PRSI,P-MATCHLEN GRTR? STACK,1 \?CND1 GETB P-SYNTAX,P-SLOC2 BTST STACK,SMANY /?CND1 SET 'LOSS,2 ?CND1: ZERO? LOSS /TRUE PRINTI "I can't use multiple " EQUAL? LOSS,2 \?CND12 PRINTI "in" ?CND12: PRINTI "direct objects with """ GET P-ITBL,P-VERBN >TMP ZERO? TMP \?CCL16 PRINTI "tell" JUMP ?CND14 ?CCL16: ZERO? P-OFLAG \?CTR17 ZERO? P-MERGED /?CCL18 ?CTR17: GET TMP,0 PRINTB STACK JUMP ?CND14 ?CCL18: GETB TMP,2 >?TMP1 GETB TMP,3 CALL WORD-PRINT,?TMP1,STACK ?CND14: PRINTI ".""" CRLF RFALSE .FUNCT ZMEMQ,ITM,TBL,SIZE=-1,CNT=1 ZERO? TBL /FALSE LESS? SIZE,0 /?CCL5 SET 'CNT,0 JUMP ?PRG6 ?CCL5: GET TBL,0 >SIZE ?PRG6: GET TBL,CNT EQUAL? ITM,STACK /TRUE IGRTR? 'CNT,SIZE \?PRG6 RFALSE .FUNCT ZMEMQB,ITM,TBL,SIZE,CNT=0 ?PRG1: GETB TBL,CNT EQUAL? ITM,STACK /TRUE IGRTR? 'CNT,SIZE \?PRG1 RFALSE .FUNCT LIT?,RM,OHERE,LIT=0 SET 'P-GWIMBIT,ONBIT SET 'OHERE,HERE SET 'HERE,RM FSET? RM,ONBIT \?CCL3 SET 'LIT,TRUE-VALUE JUMP ?CND1 ?CCL3: PUT P-MERGE,P-MATCHLEN,0 SET 'P-TABLE,P-MERGE SET 'P-SLOCBITS,-1 EQUAL? OHERE,RM \?CND4 CALL DO-SL,WINNER,1,1 ?CND4: CALL DO-SL,RM,1,1 GET P-TABLE,P-MATCHLEN GRTR? STACK,0 \?CND1 SET 'LIT,TRUE-VALUE ?CND1: SET 'HERE,OHERE SET 'P-GWIMBIT,0 RETURN LIT .FUNCT PRSO-PRINT,PTR ZERO? P-MERGED \?CTR2 GET P-ITBL,P-NC1 >PTR GET PTR,0 EQUAL? STACK,W?IT \?CCL3 ?CTR2: PRINTC 32 PRINTD PRSO RTRUE ?CCL3: GET P-ITBL,P-NC1L CALL BUFFER-PRINT,PTR,STACK,FALSE-VALUE RSTACK .FUNCT THIS-IT?,OBJ,TBL,SYNS,?TMP1 FSET? OBJ,INVISIBLE /FALSE ZERO? P-NAM /?CCL5 GETPT OBJ,P?SYNONYM >SYNS PTSIZE SYNS DIV STACK,2 SUB STACK,1 CALL ZMEMQ,P-NAM,SYNS,STACK ZERO? STACK /FALSE ?CCL5: ZERO? P-ADJ /?CCL9 GETPT OBJ,P?ADJECTIVE >SYNS ZERO? SYNS /FALSE PTSIZE SYNS SUB STACK,1 CALL ZMEMQB,P-ADJ,SYNS,STACK ZERO? STACK /FALSE ?CCL9: ZERO? P-GWIMBIT /TRUE FSET? OBJ,P-GWIMBIT /TRUE RFALSE .ENDI ================================================ FILE: parser.zil ================================================ "PARSER for PLANETFALL (c) Copyright 1983 Infocom, Inc. All Rights Reserved." "Parser global variable convention: All parser globals will begin with 'P-'. Local variables are not restricted in any way." > > > ;"INBUF - Input buffer for READ" > > > > > ;"Orphan flag" > > > > > ;"Parser variables and temporaries" ;"Byte offset to # of entries in LEXV" ;"Word offset to start of LEXV entries" ;"Number of words per LEXV entry" ;"Offset to parts of speech byte" ;"Offset to first part of speech" ;"First part of speech bit mask in PSOFF byte" > > > > " Grovel down the input finding the verb, prepositions, and noun clauses. If the input is or , fall out immediately setting PRSA to ,V?WALK and PRSO to . Otherwise, perform all required orphaning, syntax checking, and noun clause lookup." ) LEN (DIR <>) (NW 0) (LW 0) NUM SCNT (CNT -1)) > ,P-ITBLLEN> ) (T )>> ;> ;"Removed 7/3" > > > > ,VEHBIT>> >)>)> > > > )>) (T > ,VEHBIT>> >)> > 0> ) ( )>> "> )> > )> > > 0> > ) (> >> > ) ( ;"Added 7/3 by MARC"> )> > ) ( > >) (T )>)> >> ) (> <==? .VERB ,ACT?WALK>> >> ,W?THEN ,W?QUOTE> <==? .VERB ,ACT?WALK> > > > > <==? .VERB ,ACT?WALK> >>> ,W?THEN>)> > > )>) (> > 2>>>> >>) (> > ;>> <==? > ,W?OF> ;> <0? .VAL> > >>) (> > ,W?THEN ,W?PERIOD>>> )>) (<==? ,P-NCN 2> ) (T > > > > )>)>) ;( > ) () ( > ) (T )>) (T )> >> )> > )> ; 0> )> > T)>> > ;"Check whether word pointed at by PTR is the correct part of speech. The second argument is the part of speech (,PS?). The 3rd argument (,P1?), if given, causes the value for that part of speech to be returned." > .BIT> ) ( 1) (T > > >)> )>)>> ;" Scan through a noun clause, leave a pointer to its starting location" ) (FIRST?? T) NW (LW 0)) 2>> > > .VAL> .WORD> >) (T >)> > )> > >> ,W?THE ,W?A ,W?AN> 4>>)> > 0> >> )> > >> ) (T >>)> ; <==? ,ACT?ACCUSE>> )> > ) ( ) ( > >)>) ( >> > >> >) ( >> T) ( > >) ( > >> 2>>> ) (T >)>) ( 0>>> >>) ( >> > ,W?THEN> >) ( T) (T )>) (T )> > >>> )) > 2>> > 3>> > 0> ) (T > ) ( > <- .CHR 48>>>) (T )> >)>> )> ,W?INTNUM> ) WRD) > 0>> ,PS?ADJECTIVE ,P1?ADJECTIVE> ) ;"Following clause is retrofix #30, which handles case where one-word response is both noun and verb. -JW 8/20/84" ( > > > )> >>> >>> ) (<==? ,P-NCN 2> ) (<==? 1> > > <0? .TEMP>> > >) (T > >)>) (T )>) (<==? 1> > > <0? .TEMP>> > >)> > > ) (T )>) (> > > > ) (T > > >)> > > ) (T > )>) ( ,PS?ADJECTIVE> >> ) ( ,PS?OBJECT> <==? .WRD ,W?ONE>> > ) (T )>)> > > )>>)>)> > ,P-ITBLLEN> ) (T >)>> T> > .ADJ> 0>> > > > ;"Print undefined word in input. PTR points to the unknown word in P-LEXV" ) (ELSE > >)>>> >> 2> 3>> > >> >> 2> 3>> > >> ;" Perform syntax matching operations, using P-ITBL as the source of the verb and adjectives for this input. Returns false if no syntax matches, and does it's own orphaning. If return is true, the syntax is saved in P-SYNTAX." ) (DRIVE2 <>) PREP VERB TMP) >> )> >> > > ,P-SONUMS>> T) (> <0? ,P-NCN> >> <==? .PREP >>> ) (<==? > <==? ,P-NCN 1>> ) (<==? > )>)> ) (T )>) (T >)>> >>> ) ( >>> ) ( ) (> ) (T > ) (<0? > >) (T > )> )> ) (T )>> )>> > ) (T >)>> )> > )> > ) (.D2 > )>> .THE?>> ) WRD (FIRST?? T) (PN <>)) ) (T >) (T )> > ,W?PERIOD> ) ( ) (T .CP> )> ) ( <==? ,P-IT-LOC ,HERE>> ) (T >)> >)>)> >>> > 32>> 1> <+ 1>>> > > ) (T )>)>> ) "AUX" BEG END) > > ,P-LEXELEN> 2>>> ,P-LEXELEN> 2>>> ) (T >> )> >)> >>> 2>> .WRD> > 2>> ) (<==? .PREP> >>)>>> >> )> > 1> > > )> > > )> .OBJ)>) (T )>> > 0>> > ,P-PRSO> > > >>)> > 0>> > ,P-PRSI> > >> 1> >) (T >)>)>)> > > ) (> ,P-BUTS>) (T .OBJ> >)> >> .NTBL> > > > > > > > > > > > ;"WHICH retrofix" ) LEN WV WORD NW) > ;"WHICH retrofix" > >>) (T > >)>) ( > > ) ( >)>) (T > > >)>) ( >> ;"WHICH retrofix" > > T) ( <==? .PTR ,P-CSPTR>> >) () () (<==? .WORD ,W?OF> )>) (> > ;"Used to check for P-ADJ being <> as well" ) ( )>)> > > )>>> ) ( > ) (T )>> ) (OLEN 0) OBJ) > )> ,P-ADJ > >)> > <0? ,P-GWIMBIT>> )> )> > <0? ,P-SLOCBITS>> )> ) (T > )> > )>)> > >> )>)> .TLEN>> ) ( >> > >> > )> ) ( >>> .LEN>> ) (T )> > ) ( ,P-NC1) (T ,P-NC2)>> <>> ) (.VRB )> > > )>) ( .GCHECK> > ;"Changed 6/10/83 - MARC" > > > ) (T )>)> > > ) (<0? .LEN> )> > > >> > ) (T >)>> > 0> )> > 0> )> > 1> >)> > > .LEN> > > > > ) (<==? .TBL ,P-PRSO> >) (T >)> > > > )> ) ( )> > 1> )>>> > > 1>> > .TBL> )> )>>)> > 4> 1>> >> 1>>> 5>> > > ) ( )>>)> .LEN> > > )>)>)>> > ) (T ) ( ) (T )>)>> > > > )> > > > > >> <==? ,P-GETFLAGS ,P-ALL>> T) (T ,P-SRCALL) ( ,P-SRCALL) (T ,P-SRCTOP)>>>)>)> >) (T )>>)>> > .OBJ> >> > >>> > >> > 0> ) (T >> )> > >> ) (> >) ( <==? > T>> >) (T )> > )> ) ( <==? ,WINNER ,ADVENTURER>> )>)>)>>) (T)>> > ) (<==? .CAN ,HERE> )>> ) ( )> > > ) (<==? .CAN ,WINNER> )>>> ) TMP) 1> ,SMANY>>> ) ( 1> ,SMANY>>> )> )> > ) ( >) (T >)> ) (T)>> )> > ) (ELSE >)> > ) ( )>>> > ) ( )>>> )) ) (T )> 0> )>)> .LIT> > 0> ,W?IT>> ) (T <>>)>> ) (> <- 2> 1>>>> ) (>> 1>>>>> ) (> >> )> > ================================================ FILE: planetfall.clocker ================================================ )) ;> ;)> ;> )> >> > ) (>> > ) (<==? .TICK -1> > )>) (T >> > > )>)>)>)> >>> ================================================ FILE: planetfall.errors ================================================ Assembling PLANETFALL.ZAP.3 on Sunday, May 1, 1988 13:37:01 Release: 39 64 Inserting PLANETFALLFREQ.XZAP.1 (648 bytes) 712 Inserting PLANETFALLDAT.ZAP.3 (21209 bytes) 21921 Inserting PLANETFALLPUR.ZAP.2 (184 bytes) 22105 Inserting MISC.ZAP.4 (1675 bytes) 23780 Inserting GLOBALS.ZAP.3 (18243 bytes) 42023 Inserting PARSER.ZAP.3 (5401 bytes) 47424 Inserting VERBS.ZAP.3 (10683 bytes) 58107 Inserting COMPONE.ZAP.3 (15047 bytes) 73154 Inserting COMPTWO.ZAP.3 (15446 bytes) 88600 Inserting PLANETFALLSTR.ZAP.3 (20682 bytes) 255 objects. 231 globals. 668 word vocabulary. 109282 bytes (107K). 21921 bytes of preload. 14284 bytes of impure. Outputting symbol tables ================================================ FILE: planetfall.record ================================================ Combined ZIL Compiler Ver 2.0 (MIM) ----------------------------------- Incremental compilation disabled, because top-level ZIL file changed. Input file: SS:PLANETFALL.ZIL.36 [ZIP instructions] Loading SS:SYNTAX.ZIL.213 and compiling it. Loading SS:MISC.ZIL.66 and compiling it. Compiling routine: PICK-ONE Compiling routine: GO Compiling routine: I-RANDOM-INTERRUPTS Compiling routine: MAIN-LOOP Compiling routine: TIMELESS-VERB? Compiling routine: PERFORM Compiling routine: META-LOC Compiling routine: QUEUE Compiling routine: INT Compiling routine: CLOCKER Compiling routine: NULL-F Abstracting SS:MISC. Loading SS:GLOBALS.ZIL.748 and compiling it. Compiling routine: GROUND-F Compiling routine: WINDOW-F Compiling routine: CLIFF-F Compiling routine: OCEAN-F Compiling routine: TABLES-F Compiling routine: SHELVES-F Compiling routine: LIGHTS-F Compiling routine: GLOBAL-DOORWAY-F Compiling routine: USE-DIRECTIONS Compiling routine: NO-CLOSE Compiling routine: CONTROLS-F Compiling routine: GLOBAL-GAMES-F Compiling routine: HANDS-F Compiling routine: SLEEP-F Compiling routine: CRETIN-F Compiling routine: DDESC Compiling routine: ALREADY-OPEN Compiling routine: IS-CLOSED Compiling routine: V-THROUGH Compiling routine: FIND-IN Compiling routine: NOT-HERE-OBJECT-F Compiling routine: FIND-NOT-HERE Compiling routine: NOT-HERE-PRINT Compiling routine: DECK-NINE-F Compiling routine: CHRONOMETER-F Compiling routine: TELL-TIME Compiling routine: PATROL-UNIFORM-F Compiling routine: GANGWAY-F Compiling routine: I-BLATHER Compiling routine: BLATHER-F Compiling routine: CELERY-F Compiling routine: I-AMBASSADOR Compiling routine: AMBASSADOR-F Compiling routine: GLOBAL-POD-F Compiling routine: POD-EXIT-F Compiling routine: SAFETY-WEB-F Compiling routine: TOWEL-F Compiling routine: FOOD-KIT-F Compiling routine: GOO-F Compiling routine: ESCAPE-POD-F Compiling routine: POD-DOOR-F Compiling routine: GANGWAY-DOOR-F Compiling routine: I-BLOWUP-FEINSTEIN Compiling routine: I-POD-TRIP Compiling routine: I-SINK-POD Compiling routine: SLOT-F Compiling routine: FLOYD-REVEAL-CARD-F Compiling routine: I-KITCHEN-DOOR-CLOSES Compiling routine: TELEPORT Compiling routine: TELEPORTATION-BUTTON-1-F Compiling routine: TELEPORTATION-BUTTON-2-F Compiling routine: TELEPORTATION-BUTTON-3-F Compiling routine: I-TURNOFF-TELEPORTATION Compiling routine: GLOBAL-SHUTTLE-F Compiling routine: SHUTTLE-CAR-F Compiling routine: CONTROL-CABIN-F Compiling routine: DESCRIBE-VIEW Compiling routine: SHUTTLE-DOOR-F Compiling routine: SHUTTLE-ENTER-F Compiling routine: SHUTTLE-EXIT-F Compiling routine: SHUTTLE-ACTIVATE Compiling routine: I-TURNOFF-SHUTTLE Compiling routine: LEVER-F Compiling routine: I-SHUTTLE Compiling routine: DESCRIBE-SHUTTLE-TRIP Compiling routine: DESCRIBE-SHUTTLE-ARRIVE Compiling routine: I-SLEEP-WARNINGS Compiling routine: BED-F Compiling routine: I-FALL-ASLEEP Compiling routine: DREAMING Compiling routine: WAKING-UP Compiling routine: RESET-TIME Compiling routine: I-HUNGER-WARNINGS Compiling routine: I-SICKNESS-WARNINGS Compiling routine: TRANSLATOR-PSEUDO Compiling routine: SLIME-PSEUDO Compiling routine: LIKE-SLIME Compiling routine: GRAFFITI-PSEUDO Compiling routine: DOOR-PSEUDO Compiling routine: WALKWAY-PSEUDO Compiling routine: BENCH-PSEUDO Compiling routine: CATWALK-PSEUDO Compiling routine: EQUIPMENT-PSEUDO Compiling routine: MONITORS-PSEUDO Compiling routine: MURAL-PSEUDO Compiling routine: LOGO-PSEUDO Compiling routine: KEYBOARD-PSEUDO Compiling routine: CRACK-PSEUDO Compiling routine: VOID-PSEUDO Compiling routine: SPOUT-PSEUDO Compiling routine: TOILET-PSEUDO Compiling routine: GAMES-PSEUDO Compiling routine: TAPES-PSEUDO Compiling routine: PARTITION-PSEUDO Compiling routine: CUBBYHOLE-PSEUDO Compiling routine: MAPS-PSEUDO Compiling routine: DEVICES-PSEUDO Compiling routine: CABLES-PSEUDO Compiling routine: STRUCTURE-PSEUDO Compiling routine: BUTTON-PSEUDO Compiling routine: CARPET-PSEUDO Compiling routine: CABINETS-PSEUDO Compiling routine: PLATE-PSEUDO Compiling routine: ESCALATOR-PSEUDO Compiling routine: REACTOR-BUTTON-PSEUDO Compiling routine: SUPPLIES-PSEUDO Compiling routine: DESK-PSEUDO Compiling routine: CRYO-BUTTON-PSEUDO Compiling routine: CASTLE-PSEUDO Compiling routine: CHEM-SPOUT-PSEUDO Compiling routine: CLEFT-PSEUDO Compiling routine: RUBBLE-PSEUDO Compiling routine: PLAQUE-PSEUDO Compiling routine: FENCE-PSEUDO Compiling routine: LOCK-PSEUDO Compiling routine: DIAGRAM-PSEUDO Compiling routine: ENUNCIATOR-PSEUDO Compiling routine: NEAR-BOOTH-PSEUDO Compiling routine: IN-BOOTH-PSEUDO Abstracting SS:GLOBALS. Loading SS:PARSER.ZIL.103 and compiling it. Compiling routine: PARSER Compiling routine: WT? Compiling routine: CLAUSE Compiling routine: NUMBER? Compiling routine: ORPHAN-MERGE Compiling routine: ACLAUSE-WIN Compiling routine: WORD-PRINT Compiling routine: UNKNOWN-WORD Compiling routine: CANT-USE Compiling routine: SYNTAX-CHECK Compiling routine: CANT-ORPHAN Compiling routine: ORPHAN Compiling routine: CLAUSE-PRINT Compiling routine: BUFFER-PRINT Compiling routine: CAPITALIZE Compiling routine: PREP-PRINT Compiling routine: CLAUSE-COPY Compiling routine: CLAUSE-ADD Compiling routine: PREP-FIND Compiling routine: SYNTAX-FOUND Compiling routine: GWIM Compiling routine: SNARF-OBJECTS Compiling routine: BUT-MERGE Compiling routine: SNARFEM Compiling routine: ADJ-CHECK Compiling routine: GET-OBJECT Compiling routine: MOBY-FIND Compiling routine: WHICH-PRINT Compiling routine: GLOBAL-CHECK Compiling routine: DO-SL Compiling routine: SEARCH-LIST Compiling routine: OBJ-FOUND Compiling routine: TAKE-CHECK Compiling routine: ITAKE-CHECK Compiling routine: HERE? Compiling routine: HELD? Compiling routine: MANY-CHECK Compiling routine: ZMEMQ Compiling routine: ZMEMQB Compiling routine: LIT? Compiling routine: PRSO-PRINT Compiling routine: THIS-IT? Abstracting SS:PARSER. Loading SS:VERBS.ZIL.518 and compiling it. Compiling routine: V-VERBOSE Compiling routine: V-BRIEF Compiling routine: V-SUPER-BRIEF Compiling routine: V-LOOK Compiling routine: V-LOOK-CRETIN Compiling routine: V-FIRST-LOOK Compiling routine: PRE-EXAMINE Compiling routine: V-EXAMINE Compiling routine: DESCRIBE-ROOM Compiling routine: DESCRIBE-OBJECTS Compiling routine: DESCRIBE-OBJECT Compiling routine: PRINT-CONT Compiling routine: FIRSTER Compiling routine: SCORE-OBJ Compiling routine: V-SCORE Compiling routine: FINISH Compiling routine: V-QUIT Compiling routine: YES? Compiling routine: V-VERSION Compiling routine: V-AGAIN ** Warning: Possible bad 1st arg to PERFORM: ,L-PRSA! Compiling routine: JIGS-UP Compiling routine: V-RESTORE Compiling routine: V-SAVE Compiling routine: V-RESTART Compiling routine: V-WALK-AROUND Compiling routine: V-WALK-TO Compiling routine: V-WALK Compiling routine: V-INVENTORY Compiling routine: PRE-TAKE Compiling routine: V-TAKE Compiling routine: TRYTAKE Compiling routine: ITAKE Compiling routine: PRE-PUT Compiling routine: V-PUT Compiling routine: V-SLIDE Compiling routine: PRE-GIVE Compiling routine: PRE-SGIVE Compiling routine: V-GIVE Compiling routine: V-SGIVE Compiling routine: V-DROP Compiling routine: V-THROW Compiling routine: IDROP Compiling routine: V-OPEN Compiling routine: V-OPEN-WITH Compiling routine: PRINT-CONTENTS Compiling routine: V-CLOSE Compiling routine: CCOUNT Compiling routine: WEIGHT Compiling routine: V-SCRIPT Compiling routine: V-UNSCRIPT Compiling routine: PRE-MOVE Compiling routine: V-MOVE Compiling routine: V-LAMP-ON Compiling routine: V-LAMP-OFF Compiling routine: V-WAIT Compiling routine: PRE-BOARD Compiling routine: V-BOARD Compiling routine: V-DISEMBARK Compiling routine: OWN-FEET Compiling routine: V-STAND Compiling routine: GOTO Compiling routine: V-EAT Compiling routine: V-EAT-FROM Compiling routine: V-CURSE Compiling routine: V-LISTEN Compiling routine: V-FOLLOW Compiling routine: V-LEAP Compiling routine: V-SKIP Compiling routine: V-LEAVE Compiling routine: V-HELLO Compiling routine: V-HELP Compiling routine: PRE-READ Compiling routine: V-READ Compiling routine: V-LOOK-UNDER Compiling routine: V-LOOK-BEHIND Compiling routine: V-LOOK-INSIDE Compiling routine: SEE-INSIDE? Compiling routine: V-LOOK-DOWN Compiling routine: V-TURN Compiling routine: V-LOCK Compiling routine: V-UNLOCK Compiling routine: V-ATTACK Compiling routine: V-KICK Compiling routine: V-WAVE Compiling routine: V-RUB Compiling routine: V-PUSH Compiling routine: NO-BUTTON Compiling routine: V-PUSH-UP Compiling routine: V-PUSH-DOWN Compiling routine: V-PULL Compiling routine: V-MUNG Compiling routine: HACK-HACK Compiling routine: WORD-TYPE Compiling routine: V-KNOCK Compiling routine: V-YELL Compiling routine: BATTERY-FALLS Compiling routine: V-SHAKE Compiling routine: V-SHAKE-WITH Compiling routine: V-SMELL Compiling routine: GLOBAL-IN? Compiling routine: V-SWIM Compiling routine: V-SWIM-DIR Compiling routine: V-SWIM-UP Compiling routine: V-ALARM Compiling routine: V-ZORK Compiling routine: V-SIT Compiling routine: V-SIT-DOWN Compiling routine: V-GO-UP Compiling routine: V-CLIMB-ON Compiling routine: V-CLIMB-FOO Compiling routine: V-CLIMB-UP Compiling routine: V-CLIMB-DOWN Compiling routine: PRE-PUT-UNDER Compiling routine: V-PUT-UNDER Compiling routine: V-ENTER Compiling routine: V-EXIT Compiling routine: V-SEARCH Compiling routine: V-FIND Compiling routine: V-TELL Compiling routine: V-ASK-FOR Compiling routine: V-SAY Compiling routine: V-TALK Compiling routine: V-ANSWER Compiling routine: V-REPLY Compiling routine: V-KISS Compiling routine: V-RAPE Compiling routine: V-DIAGNOSE Compiling routine: V-WEAR Compiling routine: V-REMOVE Compiling routine: V-TAKE-OFF Compiling routine: V-STEP-ON Compiling routine: V-PUT-ON Compiling routine: V-NO Compiling routine: V-YES Compiling routine: V-MAYBE Compiling routine: V-POINT Compiling routine: V-SET Compiling routine: V-$VERIFY Compiling routine: V-$COMMAND Compiling routine: V-$RANDOM Compiling routine: V-$RECORD Compiling routine: V-$UNRECORD Compiling routine: V-STAND-ON Compiling routine: V-REACH Compiling routine: V-REACH-FOR Compiling routine: DO-WALK Compiling routine: V-FLUSH Compiling routine: V-FLY Compiling routine: V-SMILE Compiling routine: V-SALUTE Compiling routine: V-ATTRACT Compiling routine: V-ZATTRACT Compiling routine: V-SPAN Compiling routine: NUMBERS-ONLY Compiling routine: V-TYPE Compiling routine: PRE-SZAP Compiling routine: PRE-ZAP Compiling routine: V-ZAP Compiling routine: V-SZAP Compiling routine: V-SCRUB Compiling routine: V-POUR Compiling routine: V-EMPTY Compiling routine: V-THROW-OFF Compiling routine: V-SLEEP Compiling routine: V-FIX-IT Compiling routine: V-OIL Compiling routine: V-SHOW Compiling routine: V-INSERT Compiling routine: V-TASTE Compiling routine: V-ZESCAPE Compiling routine: V-TIME Compiling routine: V-PLAY Compiling routine: V-PLAY-WITH Compiling routine: V-SCOLD Compiling routine: ROB Compiling routine: THIS-IS-IT Compiling routine: ACCESSIBLE? Compiling routine: VISIBLE? Compiling routine: A-AN Compiling routine: ALREADY Compiling routine: NOT-HOLDING Compiling routine: TAKE-IT-OFF Compiling routine: ANYMORE Compiling routine: FIXED-FONT-ON Compiling routine: FIXED-FONT-OFF Abstracting SS:VERBS. Loading SS:COMPONE.ZIL.733 and compiling it. Compiling routine: UNDERWATER-F Compiling routine: CRAG-F Compiling routine: BALCONY-F Compiling routine: WINDING-STAIR-F Compiling routine: COURTYARD-F Compiling routine: WATER-LEVEL-F Compiling routine: REC-AREA-F Compiling routine: CONFERENCE-ROOM-F Compiling routine: COMBINATION-DIAL-F Compiling routine: CONFERENCE-DOOR-F Compiling routine: MESS-CORRIDOR-F Compiling routine: STORAGE-WEST-DOOR-F Compiling routine: PADLOCK-F Compiling routine: CAN-F Compiling routine: LADDER-F Compiling routine: MESS-HALL-F Compiling routine: KITCHEN-DOOR-F Compiling routine: DISPENSER-F Compiling routine: HIGH-PROTEIN-F Compiling routine: WORTHLESS-ACTION Compiling routine: LONG-HALL-F Compiling routine: ADMIN-CORRIDOR-S-F Compiling routine: CREVICE-F Compiling routine: KEY-F Compiling routine: ADMIN-CORRIDOR-F Compiling routine: ADMIN-CORRIDOR-N-F Compiling routine: LADDER-EXIT-F Compiling routine: RIFT-F Compiling routine: SYSTEMS-MONITORS-F Compiling routine: DESCRIBE-MONITORS Compiling routine: DESK-F Compiling routine: OIL-CAN-F Compiling routine: CARTON-F Compiling routine: CRACKED-BOARD-F Compiling routine: GOOD-BEDISTOR-F Compiling routine: REACTOR-ELEVATOR-DOOR-F Compiling routine: I-REACTOR-DOOR-CLOSE Compiling routine: FLASK-F Compiling routine: MAGNET-F Compiling routine: I-MAGNET Compiling routine: MACHINE-SHOP-F Compiling routine: CHEMICAL-DISPENSER-F Compiling routine: CHEM-BUTTON-F Compiling routine: FLOYD-F Compiling routine: FLOYDS-FAMOUS-DOOR-ROUTINE Compiling routine: FLUSH Compiling routine: FLOYD-INTO-LAB Compiling routine: FLOYD-NOT-HAVE Compiling routine: FLOYD-COMES-ALIVE Compiling routine: I-FLOYD Compiling routine: CALL-ME-FLOYD Compiling routine: KLUDGE Compiling routine: DEAD-FLOYD-F Compiling routine: ELEVATOR-LOBBY-F Compiling routine: UPPER-ELEVATOR-F Compiling routine: LOWER-ELEVATOR-F Compiling routine: ELEVATOR-ENTER-F Compiling routine: ELEVATOR-EXIT-F Compiling routine: UPPER-ELEVATOR-DOOR-F Compiling routine: LOWER-ELEVATOR-DOOR-F Compiling routine: DOOR-CLOSED Compiling routine: BLUE-ELEVATOR-BUTTON-F Compiling routine: RED-ELEVATOR-BUTTON-F Compiling routine: I-UPPER-ELEVATOR-ARRIVE Compiling routine: I-LOWER-ELEVATOR-ARRIVE Compiling routine: ELEVATOR-BUTTON-F Compiling routine: I-TURNOFF-UPPER-ELEVATOR Compiling routine: I-TURNOFF-LOWER-ELEVATOR Compiling routine: I-UPPER-ELEVATOR-TRIP Compiling routine: I-LOWER-ELEVATOR-TRIP Compiling routine: ELEVATOR-DOOR-OPENS Compiling routine: HELICOPTER-OBJECT-F Compiling routine: COMM-ROOM-F Compiling routine: I-UNENTER Compiling routine: PLAYBACK-BUTTON-F Compiling routine: RANDOMIZE-ORDER Compiling routine: CHEMICAL-FLUID-F Compiling routine: CUBE-SEEMS Compiling routine: CHEMICAL-POURS Compiling routine: STRIP-DISSOLVES Compiling routine: SHUTDOWN Compiling routine: COMM-SETUP Compiling routine: OTHER-ELEVATOR-ENTER-F Compiling routine: KALAMONTEE-PLATFORM-F Abstracting SS:COMPONE. Loading SS:COMPTWO.ZIL.732 and compiling it. Compiling routine: LAWANDA-PLATFORM-F Compiling routine: INFIRMARY-F Compiling routine: RED-SPOOL-F Compiling routine: MEDICINE-F Compiling routine: ROBOT-HOLE-F Compiling routine: FLOYD-THROUGH-HOLE Compiling routine: GOOD-BOARD-F Compiling routine: PLANETARY-DEFENSE-F Compiling routine: ACCESS-PANEL-F Compiling routine: FRIED-BOARD-F Compiling routine: BOARD-F Compiling routine: EXAMINE-BOARD Compiling routine: PUT-BOARD Compiling routine: BOARD-SHOCK Compiling routine: PLANETARY-COURSE-CONTROL-F Compiling routine: CUBE-F Compiling routine: BAD-BEDISTOR-F Compiling routine: GREEN-SPOOL-F Compiling routine: TERMINAL-F Compiling routine: LIBRARY-TYPE Compiling routine: SPOOL-READER-F Compiling routine: PROJCON-OFFICE-F Compiling routine: CRYO-ELEVATOR-F Compiling routine: CRYO-EXIT-F Compiling routine: I-CRYO-ELEVATOR-ARRIVE Compiling routine: CRYO-ANTEROOM-F Compiling routine: COMPUTER-ACTION Compiling routine: PRINT-OUT-F Compiling routine: MINI-CARD-F Compiling routine: LAB-UNIFORM-F Compiling routine: COMBINATION-PAPER-F Compiling routine: BIO-LOCK-EAST-F Compiling routine: I-CLEAR-FLOYD-PEER Compiling routine: BIO-DOOR-EAST-F Compiling routine: I-BIO-EAST-CLOSES Compiling routine: BIO-DOOR-WEST-F Compiling routine: I-BIO-WEST-CLOSES Compiling routine: RAD-DOOR-EAST-F Compiling routine: RAD-DOOR-WEST-F Compiling routine: I-FLOYD-FORAY Compiling routine: MONSTER-DEATH Compiling routine: BIO-LAB-F Compiling routine: I-CHASE-SCENE Compiling routine: RADIATION-LAB-F Compiling routine: I-NUKED-BLUE Compiling routine: LAMP-F Compiling routine: LAB-OFFICE-F Compiling routine: LAB-DESK-F Compiling routine: LIGHT-BUTTON-F Compiling routine: DARK-BUTTON-F Compiling routine: FUNGICIDE-BUTTON-F Compiling routine: I-UNFLOOD Compiling routine: I-TURNOFF-MINI Compiling routine: STATION-384-F Compiling routine: I-ANNOUNCEMENT Compiling routine: MIDDLE-OF-STRIP-F Compiling routine: STRIP-NEAR-RELAY-F Compiling routine: RELAY-EXIT-F Compiling routine: RELAY-F Compiling routine: LASER-DIAL-F Compiling routine: ZAP-COUNT Compiling routine: LASER-F Compiling routine: ALREADY-BATTERY Compiling routine: BATTERY-NOW Compiling routine: I-WARMTH Compiling routine: LASER-FEELS Compiling routine: LASER-COOLS Compiling routine: BEAM-COLOR Compiling routine: SHOOT-SPECK Compiling routine: I-FRY Compiling routine: MICROBE-F Compiling routine: I-MICROBE Compiling routine: SHOOT-MICROBE Compiling routine: STRIP-F Compiling routine: GRUE-F Abstracting SS:COMPTWO. Warnings: 1 ** Note: OBJECT has no properties: ROOMS ** Note: OBJECT has no properties: GLOBAL-OBJECTS Vocabulary: 668 Prepositions: 18 ACROSS AROUND BEHIND FOR IN OFF OUT TO UP AGAINST AT DOWN FROM NEAR ON OVER UNDER WITH Real globals: 224 11-TEXT FLOYD-SPOKE P-INBUF 12-TEXT FLOYD-WAITING P-IT-LOC 13-TEXT FLOYDISMS P-IT-OBJECT 21-TEXT FORAY-COUNTER P-ITBL 22-TEXT FUMBLE-NUMBER P-LEN 23-TEXT FUMBLE-PROB P-LEXV 31-TEXT GEOGRAPHY-MENU P-MATCHLEN 32-TEXT GREEN-TEXT P-MERGE 33-TEXT HELLOS P-MERGED 34-TEXT HISTORY-MENU P-MOBY-FOUND 35-TEXT HO-HUM P-NAM 41-TEXT HOLE-TRIP-FLAG P-NCN 42-TEXT HUNGER-LEVEL P-NUMBER 43-TEXT INDENTS P-OCLAUSE 51-TEXT INTERLOGIC-MENU P-OFLAG 52-TEXT INTERNAL-MOVES P-ONEOBJ 53-TEXT ITS-CRACKED P-OTBL 61-TEXT JUST-ENTERED P-PRSI 62-TEXT L-PRSA P-PRSO 63-TEXT L-PRSI P-SLOCBITS ACCESS-PANEL-FULL L-PRSO P-SPACE ACHILLES-FLAG LAB-FLOODED P-SYNTAX ALFIE-AT-KALAMONTEE LAB-LIGHTS-ON P-TABLE ALFIE-BROKEN LADDER-EXTENDED P-VTBL AMBASSADOR-LEAVE LADDER-FLAG P-WALK-DIR AMBASSADOR-QUOTES LASER-JUST-SHOT P-WON BEAM-MISSES LASER-SCORE-FLAG P-XADJ BEEN-HERE LASER-SETTING P-XADJN BETTY-AT-KALAMONTEE LAST-CHASE-ROOM P-XNAM BETTY-BROKEN LAST-PSEUDO-LOC PADLOCK-REMOVED BLATHER-LEAVE LAWANDA-PLATFORM-FLAG PROJECT-MENU BLOWUP-COUNTER LAZARUS-FLAG PRSA BOARD-REPORTED LEVER-SETTING PRSI BOTH-DOORS LIT PRSO BRIGS-UP LOAD-ALLOWED QUOTE-FLAG C-DEMONS LOW-END RED-TEXT C-ELAPSED LOWER-ELEVATOR-ON SCREEN-CLEARS C-INTS LOWER-ELEVATOR-UP SCREEN-TEXT C-TABLE MAIN-MENU SECOND-TO-LAST-ROOM CANT-GO MARKSMANSHIP-COUNTER SHUTTLE-COUNTER CARD-REVEALED MENU-LEVEL SHUTTLE-MOVING CARD-STOLEN MICROBE-COUNTER SHUTTLE-ON CHEMICAL-FLAG MICROBE-DISPATCHED SHUTTLE-RECORDING-1 CHEMICAL-REQUIRED MICROBE-HIT SHUTTLE-RECORDING-2 COLOR-LTBL MICROBE-STRIKES SHUTTLE-RECORDING-3 COMM-FIXED MINI-ACTIVATED SHUTTLE-RECORDING-4 COMM-SHUTDOWN MONSTER-CLOSES SHUTTLE-VELOCITY COMPUTER-FIXED MONSTER-ENTRANCES SICKNESS-LEVEL COMPUTER-FLAG MORE-INFO SICKNESS-WARNING-FLAG COPR-NOTICE MUNGED-TIME SIGN-PASS COURSE-CONTROL-FIXED MURAL-FLAG SINK-COUNTER CRYO-MOVE-FLAG NEW-SHOTS SLEEPY-LEVEL CRYO-SCORE-FLAG NO-MEANING SOME-INFO CULTURE-MENU NO-MICROBE SPECK-HIT DAY NOT-HUNGRY SPOOL-FITS DEFENSE-FIXED NUKED-COUNTER SPOOL-TEXT DIAL-NUMBER NUMBER-NEEDED SPOUT-PLACED DOOR-CLOSES OLD-SHOTS STEPS-TO-GO DOOR-OPENS ORDER-LTBL SUPER-BRIEF DREAMS P-AADJ TECHNOLOGY-MENU DROWN P-ACLAUSE TELEPORTATION-ON ELEVATOR-ENABLED P-ADJ TEXT-APPEARS ELEVATOR-IN-TRANSIT P-ADJECTIVE TRIP-COUNTER ELEVATOR-LIGHT-OFF P-ADJN UNIFORM-OPENED ELEVATOR-STARTS P-ADVERB UPPER-ELEVATOR-ON EXTRA-MOVE-FLAG P-ANAM UPPER-ELEVATOR-UP FAINT-SOUND P-AND VERBOSE FAMILIAR-WRENCHING P-BUTS WAITING-COUNTER FLOYD-FOLLOW P-CCSRC WARMTH-FLAG FLOYD-FORAYED P-CEPTR WHEEEEE FLOYD-GAVE-UP P-CONT WINNER FLOYD-INTRODUCED P-CSPTR WINNER-ATTACKED FLOYD-PEERED P-DIR WRONG-CARD FLOYD-REACTIVATED P-GETFLAGS YUKS FLOYD-SCORE-FLAG P-GWIMBIT Objects: 255 ACCESS-PANEL GLOBAL-GAMES PROJECT-CORRIDOR ACHILLES GLOBAL-OBJECTS PROJECT-CORRIDOR-EAST ADMIN-CORRIDOR GLOBAL-POD PROJECT-CORRIDOR-WEST ADMIN-CORRIDOR-N GLOBAL-SHUTTLE PSEUDO-OBJECT ADMIN-CORRIDOR-S GOOD-BEDISTOR RAD-DOOR-EAST ADVENTURER GOOD-BOARD RAD-DOOR-WEST ALFIE-CONTROL-EAST GRAY-BUTTON RADIATION-LAB ALFIE-CONTROL-WEST GREEN-BUTTON RADIATION-LOCK-EAST AMBASSADOR GREEN-GOO RADIATION-LOCK-WEST AUXILIARY-BOOTH GREEN-SPOOL RAT-ANT BAD-BEDISTOR GROUND REACTOR-ACCESS-STAIRS BALCONY GRUE REACTOR-CONTROL BED HANDS REACTOR-ELEVATOR BETTY-CONTROL-EAST HELICOPTER REACTOR-ELEVATOR-DOOR BETTY-CONTROL-WEST HELICOPTER-OBJECT REACTOR-LOBBY BIO-DOOR-EAST HELIPAD REC-AREA BIO-DOOR-WEST HIGH-PROTEIN REC-CORRIDOR BIO-LAB ID-CARD RECEIVE-CONSOLE BIO-LOCK-EAST INFIRMARY RED-BUTTON BIO-LOCK-WEST INTNUM RED-ELEVATOR-BUTTON BLACK-BUTTON IT RED-GOO BLATHER KALAMONTEE-PLATFORM RED-SPOOL BLUE-BUTTON KEY RELAY BLUE-ELEVATOR-BUTTON KITCHEN REPAIR-ROOM BOOTH-1 KITCHEN-CARD RIFT BOOTH-2 KITCHEN-DOOR ROBOT-HOLE BOOTH-3 LAB-DESK ROBOT-SHOP BRIG LAB-OFFICE ROOMS BROCHURE LAB-STORAGE ROUND-WHITE-BUTTON BROWN-BUTTON LAB-UNIFORM SAFETY-WEB BROWN-GOO LADDER SANFAC-A BROWN-SPOOL LAMP SANFAC-B CAN LARGE-DESK SANFAC-C CANTEEN LARGE-OFFICE SANFAC-D CARTON LASER SANFAC-E CELERY LASER-DIAL SANFAC-F CHEMICAL-DISPENSER LAWANDA-PLATFORM SCRUB-BRUSH CHEMICAL-FLUID LAZARUS-PART SECOND-BOARD CHRONOMETER LEVER SEND-CONSOLE CLIFF LIBRARY SHELVES COMBINATION-DIAL LIBRARY-LOBBY SHUTTLE-CAR-ALFIE COMBINATION-PAPER LIGHT-BUTTON SHUTTLE-CAR-BETTY COMM-ROOM LIGHTS SHUTTLE-CARD COMM-SCREEN LOCAL-GLOBALS SHUTTLE-DOOR COMPUTER-ROOM LOWER-ELEVATOR SLEEP CONFERENCE-DOOR LOWER-ELEVATOR-CARD SLOT CONFERENCE-ROOM LOWER-ELEVATOR-DOOR SMALL-DESK CONTROLS MACHINE-SHOP SMALL-OFFICE CORRIDOR-DOOR MAGNET SPECK CORRIDOR-JUNCTION MAIN-LAB SPOOL-READER COURTYARD ME SQUARE-WHITE-BUTTON CRACKED-BOARD MECH-CORRIDOR STAIRS CRAG MECH-CORRIDOR-N STATION-384 CREVICE MECH-CORRIDOR-S STORAGE-EAST CRYO-ANTEROOM MEDICINE STORAGE-WEST CRYO-ELEVATOR MEDICINE-BOTTLE STORAGE-WEST-DOOR CRYO-ELEVATOR-DOOR MEGAFUSE-B STRIP CUBE MEGAFUSE-K STRIP-NEAR-RELAY DARK-BUTTON MEMO STRIP-NEAR-STATION DEAD-FLOYD MESS-CORRIDOR SYSTEMS-CORRIDOR DECK-EIGHT MESS-HALL SYSTEMS-CORRIDOR-EAST DECK-NINE MICROBE SYSTEMS-CORRIDOR-WEST DISPENSER MIDDLE-OF-STRIP SYSTEMS-MONITORS DORM-A MINI-BOOTH TABLES DORM-B MINI-CARD TELEPORTATION-BUTTON-1 DORM-C NEW-BATTERY TELEPORTATION-BUTTON-2 DORM-CORRIDOR NOT-HERE-OBJECT TELEPORTATION-BUTTON-3 DORM-D OBSERVATION-DECK TELEPORTATION-CARD ELEVATOR-BUTTON OCEAN TERMINAL ELEVATOR-LOBBY OFFICE-DOOR THIRD-BOARD ESCALATOR OIL-CAN TOOL-ROOM ESCAPE-POD OLD-BATTERY TOWEL FIRST-BOARD PADLOCK TOWER-CORE FLASK PATROL-UNIFORM TRANSPORTATION-SUPPLY FLOYD PHYSICAL-PLANT TRIFFID FOOD-KIT PHYSICAL-PLANT-TWO TROLL FORK PLAIN-HALL UNDERWATER FOURTH-BOARD PLAN-ROOM UPPER-ELEVATOR FRIED-BOARD PLANETARY-COURSE-CONTROL UPPER-ELEVATOR-CARD FUNGICIDE-BUTTON PLANETARY-DEFENSE UPPER-ELEVATOR-DOOR FUNNEL-HOLE PLAYBACK-BUTTON WAITING-AREA GANGWAY PLIERS WEST-WING GANGWAY-DOOR POD-DOOR WINDING-STAIR GAS-MASK PRINT-OUT WINDOW GLOBAL-DOORWAY PROJCON-OFFICE YELLOW-BUTTON Properties: 26 P?ACTION P?DESCFCN P?IN P?OUT P?SW P?WEST P?ADJECTIVE P?DOWN P?LDESC P?PSEUDO P?SYNONYM P?C-MOVE P?EAST P?NE P?SE P?TEXT P?CAPACITY P?FDESC P?NORTH P?SIZE P?UP P?CONTFCN P?GLOBAL P?NW P?SOUTH P?VALUE Flags: 30 ACIDBIT FOODBIT ONBIT SCRAMBLEDBIT TRANSBIT ACTORBIT INVISIBLE OPENBIT SEARCHBIT TRYTAKEBIT CLIMBBIT LIGHTBIT READBIT SURFACEBIT VEHBIT CONTBIT MUNGBIT RLANDBIT TAKEBIT VOWELBIT DOORBIT MUNGEDBIT RMUNGBIT TOOLBIT WEARBIT FLOYDBIT NDESCBIT RWATERBIT TOUCHBIT WORNBIT ================================================ FILE: planetfall.zap ================================================ ; Low core locations %ZVERSION:: .BYTE 0 .BYTE FLAGS %ZORKID:: ZORKID %ENDLOD:: ENDLOD %START:: START %VOCAB:: VOCAB %OBJECT:: OBJECT %GLOBAL:: GLOBAL %PURBOT:: IMPURE %FLAGS:: .WORD 64 %SERIAL:: .WORD 0 %SERI1:: .WORD 0 %SERI2:: .WORD 0 %FWORDS:: WORDS %PLENTH:: .WORD 0 %PCHKSM:: .WORD 0 %INTWRD:: .WORD 0 %SCRWRD:: .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .INSERT "SS:PLANETFALLFREQ" ;Frequent word table .INSERT "SS:PLANETFALLDAT" ; Data file .INSERT "SS:PLANETFALLPUR" .INSERT "SS:MISC" .INSERT "SS:GLOBALS" .INSERT "SS:PARSER" .INSERT "SS:VERBS" .INSERT "SS:COMPONE" .INSERT "SS:COMPTWO" .INSERT "SS:PLANETFALLSTR" .END ================================================ FILE: planetfall.zil ================================================ "PLANETFALL for PLANETFALL (c) COPYRIGHT 1983 INFOCOM INC. ALL RIGHTS RESERVED" ;"allows words to be adj/noun/verb all at once!" >> )) > ================================================ FILE: planetfalldat.zap ================================================ ; TOP LEVEL DEFINITIONS TRUE-VALUE=1 FALSE-VALUE=0 FATAL-VALUE=2 O?ANY=1 PS?OBJECT=128 PS?VERB=64 PS?ADJECTIVE=32 PS?DIRECTION=16 PS?PREPOSITION=8 PS?BUZZ-WORD=4 P1?NONE=0 P1?OBJECT=0 P1?VERB=1 P1?ADJECTIVE=2 P1?DIRECTION=3 ; OBJECT FLAGS ARE DEFINED HERE FLOYDBIT=2 FX?FLOYDBIT=8192 RWATERBIT=3 FX?RWATERBIT=4096 ACIDBIT=4 FX?ACIDBIT=2048 ONBIT=5 FX?ONBIT=1024 RLANDBIT=6 FX?RLANDBIT=512 VOWELBIT=7 FX?VOWELBIT=256 NDESCBIT=8 FX?NDESCBIT=128 TRANSBIT=9 FX?TRANSBIT=64 SEARCHBIT=10 FX?SEARCHBIT=32 OPENBIT=11 FX?OPENBIT=16 WORNBIT=12 FX?WORNBIT=8 SCRAMBLEDBIT=13 FX?SCRAMBLEDBIT=4 MUNGEDBIT=14 FX?MUNGEDBIT=2 MUNGBIT=15 FX?MUNGBIT=1 TRYTAKEBIT=16 FX?TRYTAKEBIT=32768 SURFACEBIT=17 FX?SURFACEBIT=16384 TOUCHBIT=18 FX?TOUCHBIT=8192 INVISIBLE=19 FX?INVISIBLE=4096 TOOLBIT=20 FX?TOOLBIT=2048 LIGHTBIT=21 FX?LIGHTBIT=1024 WEARBIT=22 FX?WEARBIT=512 READBIT=23 FX?READBIT=256 CONTBIT=24 FX?CONTBIT=128 TAKEBIT=25 FX?TAKEBIT=64 DOORBIT=26 FX?DOORBIT=32 FOODBIT=27 FX?FOODBIT=16 RMUNGBIT=28 FX?RMUNGBIT=8 CLIMBBIT=29 FX?CLIMBBIT=4 VEHBIT=30 FX?VEHBIT=2 ACTORBIT=31 FX?ACTORBIT=1 ; ACTION IDENTIFIERS ARE ASSIGNED HERE V?BRIEF=0 V?SUPER-BRIEF=1 V?DIAGNOSE=2 V?INVENTORY=3 V?QUIT=4 V?RESTART=5 V?RESTORE=6 V?SAVE=7 V?SCORE=8 V?SCRIPT=9 V?UNSCRIPT=10 V?$VERIFY=11 V?VERSION=12 V?VERBOSE=13 V?$RANDOM=14 V?$COMMAND=15 V?$RECORD=16 V?$UNRECORD=17 V?AGAIN=18 V?ANSWER=19 V?REPLY=20 V?PUT=21 V?ATTACK=22 V?BOARD=23 V?GO-UP=24 V?CLIMB-ON=25 V?CLIMB-UP=26 V?THROUGH=27 V?CLIMB-DOWN=28 V?CLIMB-FOO=29 V?SIT=30 V?SIT-DOWN=31 V?PUT-UNDER=32 V?ATTRACT=33 V?SPAN=34 V?STAND=35 V?STAND-ON=36 V?CLOSE=37 V?CURSE=38 V?DISEMBARK=39 V?DROP=40 V?PUT-ON=41 V?EAT=42 V?EAT-FROM=43 V?ENTER=44 V?EXIT=45 V?EXAMINE=46 V?LOOK-INSIDE=47 V?FIND=48 V?SZAP=49 V?ZAP=50 V?FOLLOW=51 V?FLUSH=52 V?FLY=53 V?GIVE=54 V?SGIVE=55 V?HELLO=56 V?HELP=57 V?LEAP=58 V?KICK=59 V?KISS=60 V?KNOCK=61 V?LEAVE=62 V?LISTEN=63 V?LOCK=64 V?LOOK=65 V?LOOK-CRETIN=66 V?LOOK-UNDER=67 V?LOOK-BEHIND=68 V?LOOK-DOWN=69 V?SEARCH=70 V?MOVE=71 V?PUSH-UP=72 V?PUSH-DOWN=73 V?POINT=74 V?PULL=75 V?ZATTRACT=76 V?MUNG=77 V?OPEN=78 V?OPEN-WITH=79 V?TAKE=80 V?PLAY=81 V?PLAY-WITH=82 V?PUSH=83 V?WEAR=84 V?SLIDE=85 V?INSERT=86 V?RAPE=87 V?REACH=88 V?REACH-FOR=89 V?READ=90 V?RUB=91 V?SCRUB=92 V?SLEEP=93 V?SHAKE=94 V?SHAKE-WITH=95 V?SKIP=96 V?SMELL=97 V?STEP-ON=98 V?SWIM=99 V?SWIM-DIR=100 V?SWIM-UP=101 V?TAKE-OFF=102 V?REMOVE=103 V?TELL=104 V?ASK-FOR=105 V?SMILE=106 V?SALUTE=107 V?TALK=108 V?SAY=109 V?THROW=110 V?THROW-OFF=111 V?TURN=112 V?LAMP-ON=113 V?LAMP-OFF=114 V?SET=115 V?TYPE=116 V?UNLOCK=117 V?WAIT=118 V?ALARM=119 V?WALK=120 V?WALK-AROUND=121 V?WALK-TO=122 V?WAVE=123 V?YELL=124 V?SCOLD=125 V?ZORK=126 V?YES=127 V?NO=128 V?MAYBE=129 V?POUR=130 V?EMPTY=131 V?FIX-IT=132 V?OIL=133 V?SHOW=134 V?TASTE=135 V?ZESCAPE=136 V?TIME=137 ; PROPERTIES ARE DEFINED HERE P?NORTH=31 P?NE=30 P?EAST=29 P?SE=28 P?SOUTH=27 P?SW=26 P?WEST=25 P?NW=24 P?UP=23 P?DOWN=22 P?IN=21 P?OUT=20 P?SYNONYM=19 P?VALUE=18 P?CONTFCN=17 P?DESCFCN=16 P?SIZE=15 P?ACTION=14 P?ADJECTIVE=13 P?LDESC=12 P?C-MOVE=11 P?PSEUDO=10 P?GLOBAL=9 P?TEXT=8 P?CAPACITY=7 P?FDESC=6 ; ADJECTIVES ARE DEFINED HERE A?VIEW=255 A?ENDLESS=254 A?ROUND=253 A?CONFERENCE=252 A?SMALL=251 A?WIDE=250 A?LONG=249 A?RED=248 A?DAZZLI=247 A?GLOWIN=246 A?BLINKI=245 A?WARNIN=244 A?BRIGHT=243 A?COLORE=242 A?FLASHI=241 A?NORTH=240 A?SOUTH=239 A?EAST=238 A?WEST=237 A?NE=236 A?SE=235 A?NW=234 A?SW=233 A?CONTRO=232 A?COMPLEX=231 A?BARE=230 A?ORANGE=229 A?OPENER=228 A?SCRUB=227 A?PATROL=226 A?SELF-CONTAINED=225 A?MULTI=224 A?WRIST=223 A?ID=222 A?IDENTIFICATION=221 A?WRINKLED=220 A?ENSIGN=219 A?FIRST=218 A?CLASS=217 A?VERY=216 A?IMPORTANT=215 A?ALIEN=214 A?HIGH-RANKING=213 A?HIGH=212 A?RANKING=211 A?EMERGENCY=210 A?ESCAPE=209 A?PRIMARY=208 A?SAFETY=207 A?SURVIVAL=206 A?CHERRY=205 A?BROWN=204 A?BEEF=203 A?GREEN=202 A?LIMA=201 A?POD=200 A?NARROW=199 A?BEIGE=198 A?SECOND=197 A?TAN=196 A?THIRD=195 A?SHUTTL=194 A?TIERED=193 A?BUNK=192 A?COMBINATION=191 A?SIMPLE=190 A?STEEL=189 A?METAL=188 A?LARGE=187 A?TIN=186 A?UNOPENED=185 A?HEAVY=184 A?DUTY=183 A?ALUMINUM=182 A?KITCHEN=181 A?DISPEN=180 A?OCTAGONAL=179 A?PROTEIN-RICH=178 A?JAGGED=177 A?PIECE=176 A?IRON=175 A?SHINY=174 A?DEEP=173 A?GAPING=172 A?ACCESS=171 A?UPPER=170 A?ELEVATOR=169 A?LOWER=168 A?WOODEN=167 A?OIL=166 A?CARDBOARD=165 A?CRACKED=164 A?SEVENTEEN=163 A?CENTIMETER=162 A?FROMITZ=161 A?B-SERIES=160 A?B=159 A?SERIES=158 A?MEGA=157 A?K-SERIES=156 A?K=155 A?GOOD=154 A?NINETY=153 A?OHM=152 A?REACTOR=151 A?GLASS=150 A?PLASTIC=149 A?CURVED=148 A?HORSESHOE=147 A?WIDE-NOSED=146 A?NOSED=145 A?CHEMICAL=144 A?BLUE=143 A?YELLOW=142 A?GRAY=141 A?GREY=140 A?BLACK=139 A?WHITE=138 A?SQUARE=137 A?MULTIP=136 A?PURPOS=135 A?DIM-=134 A?DIM=133 A?WITTED=132 A?MANGLE=131 A?DEAD=130 A?FORMER=129 A?COMMUNICATIONS=128 A?RECEIVE=127 A?LEFT=126 A?PLAYBA=125 A?SEND=124 A?RIGHT=123 A?FUNNEL=122 A?SHAPED=121 A?MILKY=120 A?MEDICAL=119 A?BREAST=118 A?MEDICINE=117 A?TRANSL=116 A?QUANTITY=115 A?EXPERIMENTAL=114 A?BROKEN=113 A?REPAIR=112 A?FOURTH=111 A?FRIED=110 A?FUSED=109 A?COMPUTER=108 A?VIDEO=107 A?MICROF=106 A?CIRCUL=105 A?CRYO-ELEVATOR=104 A?MINIAT=103 A?MINI=102 A?PALE=101 A?LAB=100 A?TELEPO=99 A?BIO-LOCK=98 A?RADIATION=97 A?POWERFUL=96 A?PORTABLE=95 A?OFFICE=94 A?MESSY=93 A?GAS=92 A?LIGHT=91 A?DARK=90 A?DARKNESS=89 A?FUNGICIDE=88 A?MICRO=87 A?ACME=86 A?LASER=85 A?SETTING=84 A?WORN-OUT=83 A?OLD=82 A?FRESH=81 A?NEW=80 A?HUNGRY=79 A?SILICON=78 A?RAT-LIKE=77 A?ANT-LIKE=76 A?MAN-SIZED=75 A?HAIRY=74 A?GROWLING=73 A?UGLY=72 A?DEFORMED=71 A?LURKING=70 A?SINISTER=69 A?FANGED=68 A?VICIOUS=67 A?SILENT=66 A?MOBILE=65 A?MAN-EATING=64 A?GIANT=63 ; BUZZ WORDS ARE DEFINED HERE B?A=255 B?AN=254 B?THE=253 B?IS=252 B?ARE=251 B?EQUALS=250 B?AND=249 B?OF=248 B?THEN=247 B?ALL=246 B?ONE=245 B?BUT=244 B?EXCEPT=243 B?PERIOD=242 B?COMMA=241 B?QUOTE=240 B?OUR=239 ; PREPOSITIONS ARE DEFINED HERE PR?TO=255 PR?WITH=254 PR?ON=253 PR?UP=252 PR?DOWN=251 PR?IN=250 PR?UNDER=249 PR?OVER=248 PR?NEAR=247 PR?ACROSS=246 PR?FROM=245 PR?AT=244 PR?OFF=243 PR?AROUND=242 PR?BEHIND=241 PR?OUT=240 PR?FOR=239 PR?AGAINST=238 ; DIRECTIONS ARE DEFINED HERE ; ACTIONS ARE DEFINED HERE ACT?KISS=255 ACT?SKIP=254 ACT?PULL=253 ACT?PUT=252 ACT?RAPE=251 ACT?VERBOSE=250 ACT?WALK=249 ACT?OIL=248 ACT?QUIT=247 ACT?FIND=246 ACT?YES=245 ACT?DESTROY=244 ACT?SCOLD=243 ACT?UNLOCK=242 ACT?READ=241 ACT?SAY=240 ACT?JUMP=239 ACT?POUR=238 ACT?WAIT=237 ACT?TAKE=236 ACT?NO=235 ACT?FOLLOW=234 ACT?TYPE=233 ACT?FLY=232 ACT?VERSION=231 ACT?#UNRECORD=230 ACT?MOVE=229 ACT?PLAY=228 ACT?OPEN=227 ACT?TASTE=226 ACT?#COMMAND=225 ACT?KNOCK=224 ACT?PICK=223 ACT?BOARD=222 ACT?#RANDOM=221 ACT?APPLY=220 ACT?ESCAPE=219 ACT?STAND=218 ACT?LISTEN=217 ACT?SHOW=216 ACT?SAVE=215 ACT?HELP=214 ACT?TELL=213 ACT?THROW=212 ACT?ZORK=211 ACT?SHAKE=210 ACT?INVENTORY=209 ACT?ATTACK=208 ACT?RESTOR=207 ACT?ENTER=206 ACT?SEARCH=205 ACT?WEAR=204 ACT?DISEMBARK=203 ACT?SWIM=202 ACT?UNSCRIPT=201 ACT?PUSH=200 ACT?RUB=199 ACT?SUPER=198 ACT?SIT=197 ACT?RESTAR=196 ACT?REACH=195 ACT?SCORE=194 ACT?SCRUB=193 ACT?SALUTE=192 ACT?LOOK=191 ACT?EMPTY=190 ACT?ATTRACT=189 ACT?DROP=188 ACT?STEP=187 ACT?TIME=186 ACT?LEAVE=185 ACT?CURSE=184 ACT?SCRIPT=183 ACT?$VERIFY=182 ACT?SMELL=181 ACT?BRIEF=180 ACT?DIAGNOSE=179 ACT?GIVE=178 ACT?SLEEP=177 ACT?SMILE=176 ACT?WAKE=175 ACT?REMOVE=174 ACT?ANSWER=173 ACT?YELL=172 ACT?LOCK=171 ACT?ACTIVATE=170 ACT?KICK=169 ACT?POINT=168 ACT?TURN=167 ACT?#RECORD=166 ACT?MAYBE=165 ACT?CLOSE=164 ACT?STRIKE=163 ACT?FIX=162 ACT?SLIDE=161 ACT?WAVE=160 ACT?EXIT=159 ACT?AGAIN=158 ACT?EXAMINE=157 ACT?EAT=156 ACT?FIRE=155 ACT?CLIMB=154 ACT?FLUSH=153 ACT?HELLO=152 ; USER DEFINED CONSTANTS ARE INITIALIZED HERE SOG=16 SIR=32 DEXITSTR=1 XEQUAL?=4 P-ITBLLEN=9 P-SYNLEN=8 P-SRCTOP=0 C-INTLEN=6 DEXITOBJ=1 P-P1OFF=5 P-PHRLEN=3 C-TABLELEN=240 P-NC2=8 P-NC1=6 P-WORDLEN=4 P-VERBN=1 SERIAL=0 P-P1BITS=3 FEXIT=3 P-SPREP1=1 P-PREP1=2 M-BEG=1 XDIV=3 M-FATAL=2 XGRTR?=5 NEXITSTR=0 NEXIT=2 P-SLOC2=6 SC=64 P-PREP1N=3 P-PSOFF=4 XLESS?=6 P-VERB=0 M-HANDLED=1 M-ENTER=2 DEXIT=5 SHAVE=2 P-SRCBOT=2 M-OBJDESC=5 C-ELAPSED-DEFAULT=7 SMANY=4 STAKE=8 P-SPREP2=2 XSUB=1 XADD=0 CEXIT=4 P-LEXSTART=1 M-LOOK=3 UEXIT=1 D-RECORD-ON=4 P-LEXELEN=2 P-LEXWORDS=1 P-ALL=1 XMUL=2 P-SFWIM1=3 P-INHIBIT=4 CEXITFLAG=1 D-RECORD-OFF=-4 M-FLASH=4 P-ORPHLEN=7 M-OBJECT=0 FEXITFCN=0 DEFAULT-MOVE=20 P-SBITS=0 M-NOT-HANDLED=0 CEXITSTR=1 P-SRCALL=1 P-RTLEN=3 P-SLOC1=5 M-END=6 LOW-DIRECTION=20 P-PREP2=4 P-SONUMS=3 C-TICK=1 P-NC2L=9 P-NC1L=7 P-ONE=2 P-SACTION=7 P-PREP2N=5 P-SFWIM2=4 C-ENABLED?=0 REXIT=0 SH=128 C-RTN=2 ; THE GLOBAL VARIABLES ARE ALL LOCATED HERE GLOBAL::.TABLE .GVAR HERE=0 .GVAR SCORE=0 .GVAR MOVES=0 .GVAR ALFIE-AT-KALAMONTEE=1 .GVAR BETTY-AT-KALAMONTEE=0 .GVAR SUPER-BRIEF=0 .GVAR FLOYD-INTRODUCED=0 .GVAR VERBOSE=0 .GVAR SHUTTLE-RECORDING-2=STR?39,STRING .GVAR P-BUTS=T?804,TABLE .GVAR ELEVATOR-STARTS=STR?177,STRING .GVAR SICKNESS-WARNING-FLAG=0 .GVAR P-DIR=0 .GVAR P-ACLAUSE=0 .GVAR 41-TEXT=STR?235,STRING .GVAR P-CSPTR=0 .GVAR BETTY-BROKEN=0 .GVAR P-SLOCBITS=0 .GVAR P-ADJECTIVE=0 .GVAR P-MATCHLEN=0 .GVAR 43-TEXT=STR?237,STRING .GVAR P-ADVERB=0 .GVAR SLEEPY-LEVEL=0 .GVAR BEAM-MISSES=PT?207,TABLE .GVAR SHUTTLE-MOVING=0 .GVAR 35-TEXT=STR?234,STRING .GVAR BOTH-DOORS=STR?266,STRING .GVAR P-OTBL=T?404,TABLE .GVAR P-NAM=0 .GVAR C-TABLE=T?102,TABLE .GVAR FAINT-SOUND=STR?285,STRING .GVAR P-XNAM=0 .GVAR P-MOBY-FOUND=0 .GVAR UPPER-ELEVATOR-ON=0 .GVAR P-WALK-DIR=0 .GVAR FLOYD-FOLLOW=0 .GVAR P-ANAM=0 .GVAR LAZARUS-FLAG=0 .GVAR BOARD-REPORTED=0 .GVAR BLOWUP-COUNTER=0 .GVAR LOWER-ELEVATOR-ON=0 .GVAR 31-TEXT=STR?230,STRING .GVAR LAST-PSEUDO-LOC=0 .GVAR AMBASSADOR-QUOTES=PT?103,TABLE .GVAR P-CEPTR=0 .GVAR FORAY-COUNTER=0 .GVAR P-CONT=0 .GVAR FLOYD-PEERED=0 .GVAR TECHNOLOGY-MENU=STR?220,STRING .GVAR 33-TEXT=STR?232,STRING .GVAR P-PRSI=T?704,TABLE .GVAR ELEVATOR-IN-TRANSIT=0 .GVAR CRYO-MOVE-FLAG=0 .GVAR CANT-GO=STR?37,STRING .GVAR FUMBLE-NUMBER=7 .GVAR COURSE-CONTROL-FIXED=0 .GVAR NOT-HUNGRY=STR?54,STRING .GVAR ACHILLES-FLAG=0 .GVAR HISTORY-MENU=STR?218,STRING .GVAR DEFENSE-FIXED=0 .GVAR LIT=0 .GVAR UPPER-ELEVATOR-UP=1 .GVAR 21-TEXT=STR?227,STRING .GVAR P-VTBL=T?504,TABLE .GVAR P-XADJN=0 .GVAR MICROBE-HIT=0 .GVAR EXTRA-MOVE-FLAG=0 .GVAR 23-TEXT=STR?229,STRING .GVAR P-ADJ=0 .GVAR MURAL-FLAG=0 .GVAR P-LEN=0 .GVAR PROJECT-MENU=STR?222,STRING .GVAR C-INTS=240 .GVAR P-LEXV=T?104,TABLE .GVAR UNIFORM-OPENED=0 .GVAR LOAD-ALLOWED=100 .GVAR LASER-SETTING=5 .GVAR INTERLOGIC-MENU=STR?223,STRING .GVAR 62-TEXT=STR?242,STRING .GVAR COMM-SHUTDOWN=0 .GVAR DOOR-CLOSES=STR?268,STRING .GVAR 11-TEXT=STR?224,STRING .GVAR PRSO=0 .GVAR L-PRSI=0 .GVAR CARD-STOLEN=0 .GVAR FLOYDISMS=PT?206,TABLE .GVAR SICKNESS-LEVEL=0 .GVAR P-MERGED=0 .GVAR 13-TEXT=STR?226,STRING .GVAR P-GWIMBIT=0 .GVAR LAB-LIGHTS-ON=0 .GVAR CHEMICAL-REQUIRED=0 .GVAR COMPUTER-FLAG=0 .GVAR C-DEMONS=300 .GVAR SINK-COUNTER=0 .GVAR NO-MEANING=STR?212,STRING .GVAR WRONG-CARD=STR?36,STRING .GVAR LAWANDA-PLATFORM-FLAG=0 .GVAR P-OCLAUSE=T?1004,TABLE .GVAR MUNGED-TIME=0 .GVAR FLOYD-FORAYED=0 .GVAR DROWN=0 .GVAR WARMTH-FLAG=0 .GVAR HOLE-TRIP-FLAG=0 .GVAR 52-TEXT=STR?239,STRING .GVAR P-SYNTAX=0 .GVAR LOW-END=STR?216,STRING .GVAR MARKSMANSHIP-COUNTER=0 .GVAR LOWER-ELEVATOR-UP=0 .GVAR P-XADJ=0 .GVAR MENU-LEVEL=0 .GVAR FLOYD-WAITING=0 .GVAR BRIGS-UP=0 .GVAR SHUTTLE-ON=0 .GVAR FLOYD-REACTIVATED=0 .GVAR WINNER-ATTACKED=PT?307,TABLE .GVAR CHEMICAL-FLAG=0 .GVAR COMM-FIXED=0 .GVAR LEVER-SETTING=0 .GVAR HUNGER-LEVEL=0 .GVAR P-AADJ=0 .GVAR MICROBE-COUNTER=0 .GVAR SPOOL-FITS=STR?246,STRING .GVAR PRSA=0 .GVAR L-PRSA=0 .GVAR JUST-ENTERED=1 .GVAR CARD-REVEALED=0 .GVAR ACCESS-PANEL-FULL=1 .GVAR WHEEEEE=PT?305,TABLE .GVAR P-PRSO=T?604,TABLE .GVAR NO-MICROBE=1 .GVAR SHUTTLE-RECORDING-4=STR?41,STRING .GVAR P-AND=0 .GVAR C-ELAPSED=7 .GVAR 42-TEXT=STR?236,STRING .GVAR P-ONEOBJ=0 .GVAR SPOOL-TEXT=0 .GVAR MICROBE-STRIKES=PT?507,TABLE .GVAR CULTURE-MENU=STR?219,STRING .GVAR SOME-INFO=STR?247,STRING .GVAR 34-TEXT=STR?233,STRING .GVAR ALFIE-BROKEN=0 .GVAR INTERNAL-MOVES=0 .GVAR MINI-ACTIVATED=0 .GVAR P-INBUF=T?204,TABLE .GVAR BEEN-HERE=0 .GVAR L-PRSO=0 .GVAR NUMBER-NEEDED=0 .GVAR LADDER-EXTENDED=0 .GVAR DIAL-NUMBER=0 .GVAR BLATHER-LEAVE=0 .GVAR P-IT-LOC=0 .GVAR P-MERGE=T?904,TABLE .GVAR COMPUTER-FIXED=0 .GVAR LADDER-FLAG=0 .GVAR P-WON=0 .GVAR MORE-INFO=STR?215,STRING .GVAR MAIN-MENU=STR?217,STRING .GVAR SHUTTLE-COUNTER=0 .GVAR 32-TEXT=STR?231,STRING .GVAR LAST-CHASE-ROOM=0 .GVAR P-ITBL=T?304,TABLE .GVAR QUOTE-FLAG=0 .GVAR ORDER-LTBL=T?5506,TABLE .GVAR P-TABLE=0 .GVAR P-GETFLAGS=0 .GVAR DAY=1 .GVAR YUKS=PT?505,TABLE .GVAR LASER-JUST-SHOT=0 .GVAR INDENTS=PT?105,TABLE .GVAR FUMBLE-PROB=8 .GVAR P-NUMBER=0 .GVAR DREAMS=PT?203,TABLE .GVAR P-SPACE=1 .GVAR CRYO-SCORE-FLAG=0 .GVAR P-OFLAG=0 .GVAR WINNER=0 .GVAR OLD-SHOTS=0 .GVAR P-ADJN=0 .GVAR PADLOCK-REMOVED=0 .GVAR GEOGRAPHY-MENU=STR?221,STRING .GVAR SHUTTLE-RECORDING-1=STR?38,STRING .GVAR P-CCSRC=0 .GVAR TELEPORTATION-ON=0 .GVAR 22-TEXT=STR?228,STRING .GVAR MICROBE-DISPATCHED=0 .GVAR ELEVATOR-ENABLED=STR?35,STRING .GVAR STEPS-TO-GO=0 .GVAR SCREEN-TEXT=0 .GVAR SCREEN-CLEARS=STR?213,STRING .GVAR DOOR-OPENS=STR?267,STRING .GVAR NUKED-COUNTER=0 .GVAR SHUTTLE-VELOCITY=0 .GVAR SIGN-PASS=STR?43,STRING .GVAR P-IT-OBJECT=0 .GVAR HO-HUM=PT?405,TABLE .GVAR 61-TEXT=STR?241,STRING .GVAR MONSTER-CLOSES=PT?407,TABLE .GVAR 63-TEXT=STR?243,STRING .GVAR FAMILIAR-WRENCHING=STR?288,STRING .GVAR PRSI=0 .GVAR TEXT-APPEARS=STR?214,STRING .GVAR RED-TEXT=STR?249,STRING .GVAR NEW-SHOTS=0 .GVAR WAITING-COUNTER=0 .GVAR FLOYD-SPOKE=0 .GVAR HELLOS=PT?205,TABLE .GVAR 12-TEXT=STR?225,STRING .GVAR COLOR-LTBL=PT?106,TABLE .GVAR LAB-FLOODED=0 .GVAR ELEVATOR-LIGHT-OFF=STR?176,STRING .GVAR FLOYD-GAVE-UP=0 .GVAR FLOYD-SCORE-FLAG=0 .GVAR LASER-SCORE-FLAG=0 .GVAR GREEN-TEXT=STR?248,STRING .GVAR SPECK-HIT=0 .GVAR TRIP-COUNTER=0 .GVAR SPOUT-PLACED=0 .GVAR SHUTTLE-RECORDING-3=STR?40,STRING .GVAR 51-TEXT=STR?238,STRING .GVAR MONSTER-ENTRANCES=PT?107,TABLE .GVAR P-NCN=0 .GVAR SECOND-TO-LAST-ROOM=0 .GVAR COPR-NOTICE=STR?72,STRING .GVAR AMBASSADOR-LEAVE=0 .GVAR ITS-CRACKED=0 .GVAR 53-TEXT=STR?240,STRING .GVAR PREPOSITIONS=PRTBL,TABLE .GVAR ACTIONS=ATBL,TABLE .GVAR PREACTIONS=PATBL,TABLE .GVAR VERBS=VTBL,TABLE .ENDT GLOEND:: ; PROPERTY DEFAULTS AND OBJECTS ARE DEFINED HERE OBJECT::.TABLE 0 ;() 0 ;() 0 ;() 0 ;() 0 ;() 0 ;(P?FDESC) 0 ;(P?CAPACITY) 0 ;(P?TEXT) 0 ;(P?GLOBAL) 0 ;(P?PSEUDO) 0 ;(P?C-MOVE) 0 ;(P?LDESC) 0 ;(P?ADJECTIVE) 0 ;(P?ACTION) 5 ;(P?SIZE) 0 ;(P?DESCFCN) 0 ;(P?CONTFCN) 0 ;(P?VALUE) 0 ;(P?SYNONYM) 0 ;(P?OUT) 0 ;(P?IN) 0 ;(P?DOWN) 0 ;(P?UP) 0 ;(P?NW) 0 ;(P?WEST) 0 ;(P?SW) 0 ;(P?SOUTH) 0 ;(P?SE) 0 ;(P?EAST) 0 ;(P?NE) 0 ;(P?NORTH) .OBJECT DORM-B,FX?RLANDBIT+FX?ONBIT+FX?FLOYDBIT,0,ROOMS,SANFAC-A,0,T?DORM-B .OBJECT FRIED-BOARD,FX?ACIDBIT,FX?TAKEBIT,0,0,0,T?FRIED-BOARD .OBJECT MINI-BOOTH,FX?ONBIT+FX?RLANDBIT,0,ROOMS,COMPUTER-ROOM,0,T?MINI-BOOTH .OBJECT CHRONOMETER,FX?WORNBIT+FX?MUNGBIT,FX?WEARBIT+FX?TAKEBIT,ADVENTURER,SCRUB-BRUSH,0,T?CHRONOMETER .OBJECT WINDING-STAIR,FX?RLANDBIT+FX?ONBIT,0,ROOMS,BALCONY,0,T?WINDING-STAIR .OBJECT OIL-CAN,FX?VOWELBIT,FX?TAKEBIT,STORAGE-EAST,0,0,T?OIL-CAN .OBJECT LAB-STORAGE,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,MAIN-LAB,NEW-BATTERY,T?LAB-STORAGE .OBJECT REC-CORRIDOR,FX?RLANDBIT+FX?ONBIT,0,ROOMS,BOOTH-1,0,T?REC-CORRIDOR .OBJECT MECH-CORRIDOR-S,FX?ONBIT+FX?RLANDBIT,0,ROOMS,MECH-CORRIDOR,0,T?MECH-CORRIDOR-S .OBJECT HANDS,FX?NDESCBIT,0,GLOBAL-OBJECTS,GLOBAL-GAMES,0,T?HANDS .OBJECT TELEPORTATION-BUTTON-1,FX?NDESCBIT,0,LOCAL-GLOBALS,SLOT,0,T?TELEPORTATION-BUTTON-1 .OBJECT KEY,FX?ACIDBIT,FX?TRYTAKEBIT+FX?INVISIBLE+FX?TOOLBIT+FX?TAKEBIT,ADMIN-CORRIDOR-S,CREVICE,0,T?KEY .OBJECT PLANETARY-COURSE-CONTROL,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,PLANETARY-DEFENSE,CUBE,T?PLANETARY-COURSE-CONTROL .OBJECT REACTOR-ACCESS-STAIRS,FX?RLANDBIT,0,ROOMS,REACTOR-CONTROL,0,T?REACTOR-ACCESS-STAIRS .OBJECT GRAY-BUTTON,FX?NDESCBIT,0,MACHINE-SHOP,YELLOW-BUTTON,0,T?GRAY-BUTTON .OBJECT MIDDLE-OF-STRIP,FX?ONBIT+FX?RLANDBIT,0,ROOMS,STRIP-NEAR-STATION,0,T?MIDDLE-OF-STRIP .OBJECT PLAN-ROOM,FX?FLOYDBIT+FX?ONBIT+FX?RLANDBIT,0,ROOMS,SYSTEMS-MONITORS,0,T?PLAN-ROOM .OBJECT GREEN-SPOOL,FX?ACIDBIT,FX?READBIT+FX?TAKEBIT,LIBRARY-LOBBY,0,0,T?GREEN-SPOOL .OBJECT SPECK,FX?NDESCBIT,0,RELAY,0,0,T?SPECK .OBJECT CORRIDOR-DOOR,FX?NDESCBIT+FX?OPENBIT,FX?DOORBIT+FX?INVISIBLE,LOCAL-GLOBALS,POD-DOOR,0,T?CORRIDOR-DOOR .OBJECT COURTYARD,FX?FLOYDBIT+FX?RLANDBIT+FX?ONBIT,0,ROOMS,WINDING-STAIR,0,T?COURTYARD .OBJECT WINDOW,FX?NDESCBIT,0,LOCAL-GLOBALS,STAIRS,0,T?WINDOW .OBJECT TELEPORTATION-BUTTON-3,FX?NDESCBIT,0,LOCAL-GLOBALS,TELEPORTATION-BUTTON-2,0,T?TELEPORTATION-BUTTON-3 .OBJECT REACTOR-LOBBY,FX?ONBIT+FX?RLANDBIT,0,ROOMS,DECK-NINE,0,T?REACTOR-LOBBY .OBJECT SANFAC-D,FX?RLANDBIT+FX?FLOYDBIT+FX?ONBIT,0,ROOMS,DORM-D,0,T?SANFAC-D .OBJECT SYSTEMS-CORRIDOR-WEST,FX?RLANDBIT+FX?ONBIT,0,ROOMS,REPAIR-ROOM,0,T?SYSTEMS-CORRIDOR-WEST .OBJECT BROWN-GOO,FX?ACIDBIT,FX?FOODBIT,FOOD-KIT,RED-GOO,0,T?BROWN-GOO .OBJECT GAS-MASK,FX?ACIDBIT,FX?WEARBIT+FX?TAKEBIT,LAB-DESK,0,0,T?GAS-MASK .OBJECT INFIRMARY,FX?ONBIT+FX?RLANDBIT,0,ROOMS,FORK,MEDICINE-BOTTLE,T?INFIRMARY .OBJECT NEW-BATTERY,FX?ACIDBIT,FX?TAKEBIT,LAB-STORAGE,LAB-UNIFORM,0,T?NEW-BATTERY .OBJECT FLOYD,FX?OPENBIT+FX?TRANSBIT+FX?SEARCHBIT,FX?LIGHTBIT+FX?CONTBIT,ROBOT-SHOP,0,0,T?FLOYD .OBJECT ME,0,FX?ACTORBIT,GLOBAL-OBJECTS,SLEEP,0,T?ME .OBJECT KALAMONTEE-PLATFORM,FX?ONBIT+FX?RLANDBIT,0,ROOMS,WAITING-AREA,0,T?KALAMONTEE-PLATFORM .OBJECT BLACK-BUTTON,FX?NDESCBIT,0,MACHINE-SHOP,BROWN-BUTTON,0,T?BLACK-BUTTON .OBJECT ELEVATOR-LOBBY,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,ROBOT-SHOP,RED-ELEVATOR-BUTTON,T?ELEVATOR-LOBBY .OBJECT ACHILLES,0,0,REPAIR-ROOM,0,0,T?ACHILLES .OBJECT DORM-A,FX?RLANDBIT+FX?ONBIT+FX?FLOYDBIT,0,ROOMS,REC-CORRIDOR,0,T?DORM-A .OBJECT KITCHEN,FX?RLANDBIT+FX?ONBIT,0,ROOMS,MESS-HALL,DISPENSER,T?KITCHEN .OBJECT BALCONY,FX?RLANDBIT+FX?ONBIT,0,ROOMS,CRAG,0,T?BALCONY .OBJECT REACTOR-CONTROL,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,PHYSICAL-PLANT,0,T?REACTOR-CONTROL .OBJECT HELIPAD,FX?ONBIT+FX?RLANDBIT,0,ROOMS,TOWER-CORE,0,T?HELIPAD .OBJECT PRINT-OUT,FX?ACIDBIT,FX?READBIT+FX?TAKEBIT,COMPUTER-ROOM,0,0,T?PRINT-OUT .OBJECT LIGHTS,FX?NDESCBIT,0,LOCAL-GLOBALS,SHELVES,0,T?LIGHTS .OBJECT GREEN-GOO,FX?ACIDBIT,FX?FOODBIT,FOOD-KIT,BROWN-GOO,0,T?GREEN-GOO .OBJECT MECH-CORRIDOR-N,FX?ONBIT+FX?RLANDBIT,0,ROOMS,LARGE-OFFICE,0,T?MECH-CORRIDOR-N .OBJECT GOOD-BOARD,FX?NDESCBIT+FX?ACIDBIT,FX?INVISIBLE,ROBOT-HOLE,0,0,T?GOOD-BOARD .OBJECT ROOMS,0,0,0,0,STRIP-NEAR-RELAY,T?ROOMS .OBJECT COMBINATION-DIAL,FX?NDESCBIT+FX?MUNGBIT,0,REC-AREA,0,0,T?COMBINATION-DIAL .OBJECT PROJECT-CORRIDOR,FX?ONBIT+FX?RLANDBIT,0,ROOMS,SANFAC-F,0,T?PROJECT-CORRIDOR .OBJECT ADMIN-CORRIDOR-S,FX?ONBIT+FX?RLANDBIT,0,ROOMS,CORRIDOR-JUNCTION,KEY,T?ADMIN-CORRIDOR-S .OBJECT ROUND-WHITE-BUTTON,FX?NDESCBIT,0,MACHINE-SHOP,BLACK-BUTTON,0,T?ROUND-WHITE-BUTTON .OBJECT ADVENTURER,FX?NDESCBIT,FX?INVISIBLE,DECK-NINE,0,PATROL-UNIFORM,T?ADVENTURER .OBJECT FLASK,FX?OPENBIT+FX?SEARCHBIT,FX?TAKEBIT+FX?CONTBIT,TOOL-ROOM,0,0,T?FLASK .OBJECT LAZARUS-PART,0,FX?TAKEBIT,0,0,0,T?LAZARUS-PART .OBJECT OLD-BATTERY,FX?ACIDBIT+FX?VOWELBIT,FX?TAKEBIT,LASER,LASER-DIAL,0,T?OLD-BATTERY .OBJECT DECK-NINE,FX?ONBIT+FX?RLANDBIT,0,ROOMS,BRIG,ADVENTURER,T?DECK-NINE .OBJECT THIRD-BOARD,0,0,ACCESS-PANEL,FOURTH-BOARD,0,T?THIRD-BOARD .OBJECT STRIP,FX?NDESCBIT,0,LOCAL-GLOBALS,OFFICE-DOOR,0,T?STRIP .OBJECT SMALL-OFFICE,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,TRANSPORTATION-SUPPLY,SMALL-DESK,T?SMALL-OFFICE .OBJECT CARTON,FX?OPENBIT+FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,STORAGE-EAST,OIL-CAN,GOOD-BEDISTOR,T?CARTON .OBJECT BOOTH-2,FX?ONBIT+FX?RLANDBIT,0,ROOMS,LOWER-ELEVATOR,0,T?BOOTH-2 .OBJECT LOCAL-GLOBALS,0,0,GLOBAL-OBJECTS,0,STRIP,T?LOCAL-GLOBALS .OBJECT CRAG,FX?RLANDBIT+FX?ONBIT,0,ROOMS,UNDERWATER,0,T?CRAG .OBJECT ADMIN-CORRIDOR,FX?ONBIT+FX?RLANDBIT,0,ROOMS,ADMIN-CORRIDOR-S,0,T?ADMIN-CORRIDOR .OBJECT BRIG,FX?ONBIT+FX?RLANDBIT,0,ROOMS,0,0,T?BRIG .OBJECT PROJCON-OFFICE,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,PROJECT-CORRIDOR,0,T?PROJCON-OFFICE .OBJECT LASER,FX?TRANSBIT+FX?OPENBIT+FX?MUNGBIT,FX?CONTBIT+FX?TAKEBIT,TOOL-ROOM,PLIERS,OLD-BATTERY,T?LASER .OBJECT CONTROLS,FX?NDESCBIT,0,LOCAL-GLOBALS,LIGHTS,0,T?CONTROLS .OBJECT LARGE-DESK,FX?NDESCBIT+FX?SEARCHBIT,FX?CONTBIT,LARGE-OFFICE,0,SHUTTLE-CARD,T?LARGE-DESK .OBJECT CORRIDOR-JUNCTION,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,KITCHEN,0,T?CORRIDOR-JUNCTION .OBJECT BAD-BEDISTOR,FX?ACIDBIT,FX?TAKEBIT+FX?TRYTAKEBIT,CUBE,0,0,T?BAD-BEDISTOR .OBJECT TRANSPORTATION-SUPPLY,FX?RLANDBIT,0,ROOMS,PLAN-ROOM,0,T?TRANSPORTATION-SUPPLY .OBJECT COMM-ROOM,FX?ONBIT+FX?RLANDBIT,0,ROOMS,HELICOPTER,FUNNEL-HOLE,T?COMM-ROOM .OBJECT SMALL-DESK,FX?SEARCHBIT+FX?NDESCBIT,FX?CONTBIT,SMALL-OFFICE,0,UPPER-ELEVATOR-CARD,T?SMALL-DESK .OBJECT GLOBAL-OBJECTS,FX?TRANSBIT+FX?SEARCHBIT+FX?OPENBIT+FX?WORNBIT+FX?SCRAMBLEDBIT+FX?MUNGEDBIT+FX?MUNGBIT,FX?WEARBIT+FX?TRYTAKEBIT+FX?SURFACEBIT+FX?TOUCHBIT+FX?INVISIBLE,0,0,ME,T?GLOBAL-OBJECTS .OBJECT SHUTTLE-DOOR,FX?OPENBIT,FX?INVISIBLE+FX?DOORBIT,LOCAL-GLOBALS,LEVER,0,T?SHUTTLE-DOOR .OBJECT SHUTTLE-CAR-BETTY,FX?ONBIT+FX?RLANDBIT,0,ROOMS,ALFIE-CONTROL-WEST,0,T?SHUTTLE-CAR-BETTY .OBJECT YELLOW-BUTTON,FX?NDESCBIT,0,MACHINE-SHOP,GREEN-BUTTON,0,T?YELLOW-BUTTON .OBJECT IT,FX?NDESCBIT,0,GLOBAL-OBJECTS,INTNUM,0,T?IT .OBJECT PROJECT-CORRIDOR-WEST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,LIBRARY,0,T?PROJECT-CORRIDOR-WEST .OBJECT COMM-SCREEN,FX?NDESCBIT,FX?READBIT,COMM-ROOM,SEND-CONSOLE,0,T?COMM-SCREEN .OBJECT STRIP-NEAR-STATION,FX?ONBIT+FX?RLANDBIT,0,ROOMS,STATION-384,0,T?STRIP-NEAR-STATION .OBJECT UPPER-ELEVATOR-CARD,FX?VOWELBIT,FX?READBIT+FX?TAKEBIT,SMALL-DESK,KITCHEN-CARD,0,T?UPPER-ELEVATOR-CARD .OBJECT GOOD-BEDISTOR,FX?ACIDBIT,FX?TAKEBIT,CARTON,MEGAFUSE-K,0,T?GOOD-BEDISTOR .OBJECT STORAGE-EAST,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,MECH-CORRIDOR-S,CARTON,T?STORAGE-EAST .OBJECT CONFERENCE-DOOR,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,BED,0,T?CONFERENCE-DOOR .OBJECT SANFAC-C,FX?RLANDBIT+FX?ONBIT+FX?FLOYDBIT,0,ROOMS,DORM-C,0,T?SANFAC-C .OBJECT CREVICE,FX?NDESCBIT,0,ADMIN-CORRIDOR-S,0,0,T?CREVICE .OBJECT PHYSICAL-PLANT,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,STORAGE-EAST,0,T?PHYSICAL-PLANT .OBJECT REACTOR-ELEVATOR,FX?ONBIT+FX?RLANDBIT,0,ROOMS,REACTOR-ACCESS-STAIRS,0,T?REACTOR-ELEVATOR .OBJECT BETTY-CONTROL-WEST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,BETTY-CONTROL-EAST,0,T?BETTY-CONTROL-WEST .OBJECT CHEMICAL-FLUID,0,0,0,0,0,T?CHEMICAL-FLUID .OBJECT LOWER-ELEVATOR,FX?ONBIT+FX?RLANDBIT,0,ROOMS,UPPER-ELEVATOR,0,T?LOWER-ELEVATOR .OBJECT MAGNET,0,FX?TAKEBIT+FX?TRYTAKEBIT,TOOL-ROOM,FLASK,0,T?MAGNET .OBJECT RADIATION-LOCK-WEST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,BIO-LOCK-EAST,0,T?RADIATION-LOCK-WEST .OBJECT UNDERWATER,FX?RWATERBIT+FX?ONBIT,0,ROOMS,BETTY-CONTROL-WEST,0,T?UNDERWATER .OBJECT REC-AREA,FX?FLOYDBIT+FX?RLANDBIT+FX?ONBIT,0,ROOMS,PLAIN-HALL,COMBINATION-DIAL,T?REC-AREA .OBJECT BLATHER,FX?VOWELBIT,FX?ACTORBIT,0,0,0,T?BLATHER .OBJECT BIO-DOOR-EAST,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,CRYO-ELEVATOR-DOOR,0,T?BIO-DOOR-EAST .OBJECT CANTEEN,FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,MESS-HALL,0,0,T?CANTEEN .OBJECT OFFICE-DOOR,FX?NDESCBIT+FX?VOWELBIT,FX?DOORBIT,LOCAL-GLOBALS,RAD-DOOR-WEST,0,T?OFFICE-DOOR .OBJECT ID-CARD,FX?VOWELBIT,FX?READBIT+FX?TAKEBIT,PATROL-UNIFORM,0,0,T?ID-CARD .OBJECT ALFIE-CONTROL-EAST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,SHUTTLE-CAR-ALFIE,0,T?ALFIE-CONTROL-EAST .OBJECT LADDER,0,FX?TAKEBIT,STORAGE-WEST,CAN,0,T?LADDER .OBJECT COMPUTER-ROOM,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,PROJECT-CORRIDOR-EAST,PRINT-OUT,T?COMPUTER-ROOM .OBJECT ADMIN-CORRIDOR-N,FX?ONBIT+FX?RLANDBIT,0,ROOMS,ADMIN-CORRIDOR,0,T?ADMIN-CORRIDOR-N .OBJECT KITCHEN-DOOR,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,STORAGE-WEST-DOOR,0,T?KITCHEN-DOOR .OBJECT MAIN-LAB,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,MINI-BOOTH,0,T?MAIN-LAB .OBJECT SYSTEMS-CORRIDOR,FX?ONBIT+FX?RLANDBIT,0,ROOMS,SYSTEMS-CORRIDOR-WEST,0,T?SYSTEMS-CORRIDOR .OBJECT LOWER-ELEVATOR-DOOR,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,UPPER-ELEVATOR-DOOR,0,T?LOWER-ELEVATOR-DOOR .OBJECT MEGAFUSE-K,FX?ACIDBIT,FX?TAKEBIT,CARTON,MEGAFUSE-B,0,T?MEGAFUSE-K .OBJECT FUNNEL-HOLE,FX?NDESCBIT,0,COMM-ROOM,COMM-SCREEN,0,T?FUNNEL-HOLE .OBJECT CRYO-ELEVATOR,FX?ONBIT+FX?RLANDBIT,0,ROOMS,PROJCON-OFFICE,0,T?CRYO-ELEVATOR .OBJECT WAITING-AREA,FX?ONBIT+FX?RLANDBIT,0,ROOMS,OBSERVATION-DECK,0,T?WAITING-AREA .OBJECT REPAIR-ROOM,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,INFIRMARY,ROBOT-HOLE,T?REPAIR-ROOM .OBJECT BIO-LAB,FX?ONBIT+FX?RLANDBIT,0,ROOMS,RADIATION-LOCK-EAST,TRIFFID,T?BIO-LAB .OBJECT PLAYBACK-BUTTON,FX?NDESCBIT,0,COMM-ROOM,RECEIVE-CONSOLE,0,T?PLAYBACK-BUTTON .OBJECT FIRST-BOARD,0,0,ACCESS-PANEL,0,0,T?FIRST-BOARD .OBJECT CRYO-ELEVATOR-DOOR,FX?NDESCBIT,FX?INVISIBLE,LOCAL-GLOBALS,HELICOPTER-OBJECT,0,T?CRYO-ELEVATOR-DOOR .OBJECT OBSERVATION-DECK,FX?ONBIT+FX?RLANDBIT,0,ROOMS,COMM-ROOM,0,T?OBSERVATION-DECK .OBJECT LOWER-ELEVATOR-CARD,0,FX?READBIT+FX?TAKEBIT,0,0,0,T?LOWER-ELEVATOR-CARD .OBJECT ACCESS-PANEL,FX?SEARCHBIT+FX?NDESCBIT+FX?VOWELBIT,FX?CONTBIT,PLANETARY-DEFENSE,0,SECOND-BOARD,T?ACCESS-PANEL .OBJECT SCRUB-BRUSH,0,FX?TAKEBIT,ADVENTURER,0,0,T?SCRUB-BRUSH .OBJECT GLOBAL-SHUTTLE,FX?NDESCBIT,0,LOCAL-GLOBALS,TELEPORTATION-BUTTON-3,0,T?GLOBAL-SHUTTLE .OBJECT STORAGE-WEST-DOOR,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,CONFERENCE-DOOR,0,T?STORAGE-WEST-DOOR .OBJECT LARGE-OFFICE,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,SMALL-OFFICE,LARGE-DESK,T?LARGE-OFFICE .OBJECT CONFERENCE-ROOM,FX?ONBIT+FX?RLANDBIT,0,ROOMS,REC-AREA,0,T?CONFERENCE-ROOM .OBJECT TELEPORTATION-CARD,0,FX?READBIT+FX?TAKEBIT,LAB-UNIFORM,0,0,T?TELEPORTATION-CARD .OBJECT PLIERS,0,FX?TAKEBIT,TOOL-ROOM,MAGNET,0,T?PLIERS .OBJECT MEGAFUSE-B,FX?ACIDBIT,FX?TAKEBIT,CARTON,CRACKED-BOARD,0,T?MEGAFUSE-B .OBJECT PLANETARY-DEFENSE,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,PHYSICAL-PLANT-TWO,ACCESS-PANEL,T?PLANETARY-DEFENSE .OBJECT LEVER,FX?NDESCBIT,0,LOCAL-GLOBALS,GLOBAL-SHUTTLE,0,T?LEVER .OBJECT LIBRARY-LOBBY,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,PLANETARY-COURSE-CONTROL,TERMINAL,T?LIBRARY-LOBBY .OBJECT CLIFF,FX?NDESCBIT,0,LOCAL-GLOBALS,WINDOW,0,T?CLIFF .OBJECT BIO-LOCK-EAST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,BIO-LOCK-WEST,MINI-CARD,T?BIO-LOCK-EAST .OBJECT RECEIVE-CONSOLE,FX?NDESCBIT,0,COMM-ROOM,0,0,T?RECEIVE-CONSOLE .OBJECT STRIP-NEAR-RELAY,FX?ONBIT+FX?RLANDBIT,0,ROOMS,MIDDLE-OF-STRIP,RELAY,T?STRIP-NEAR-RELAY .OBJECT AMBASSADOR,FX?VOWELBIT,FX?ACTORBIT,0,0,0,T?AMBASSADOR .OBJECT BED,FX?NDESCBIT,FX?VEHBIT+FX?CLIMBBIT,LOCAL-GLOBALS,SHUTTLE-DOOR,0,T?BED .OBJECT LAB-UNIFORM,FX?SEARCHBIT,FX?WEARBIT+FX?CONTBIT+FX?TAKEBIT,LAB-STORAGE,0,COMBINATION-PAPER,T?LAB-UNIFORM .OBJECT PADLOCK,FX?NDESCBIT+FX?MUNGBIT,FX?TRYTAKEBIT+FX?TAKEBIT,MESS-CORRIDOR,0,0,T?PADLOCK .OBJECT LIGHT-BUTTON,FX?NDESCBIT,0,LAB-OFFICE,LAB-DESK,0,T?LIGHT-BUTTON .OBJECT SQUARE-WHITE-BUTTON,FX?NDESCBIT,0,MACHINE-SHOP,ROUND-WHITE-BUTTON,0,T?SQUARE-WHITE-BUTTON .OBJECT RAD-DOOR-EAST,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,BIO-DOOR-WEST,0,T?RAD-DOOR-EAST .OBJECT GLOBAL-POD,FX?NDESCBIT+FX?VOWELBIT,FX?VEHBIT,LOCAL-GLOBALS,CONTROLS,0,T?GLOBAL-POD .OBJECT STATION-384,FX?ONBIT+FX?RLANDBIT,0,ROOMS,AUXILIARY-BOOTH,0,T?STATION-384 .OBJECT MESS-HALL,FX?RLANDBIT+FX?FLOYDBIT+FX?ONBIT,0,ROOMS,DORM-CORRIDOR,CANTEEN,T?MESS-HALL .OBJECT SYSTEMS-MONITORS,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,SANFAC-E,0,T?SYSTEMS-MONITORS .OBJECT DARK-BUTTON,FX?NDESCBIT,0,LAB-OFFICE,LIGHT-BUTTON,0,T?DARK-BUTTON .OBJECT TOWEL,0,FX?TAKEBIT+FX?READBIT,0,0,0,T?TOWEL .OBJECT TELEPORTATION-BUTTON-2,FX?NDESCBIT,0,LOCAL-GLOBALS,TELEPORTATION-BUTTON-1,0,T?TELEPORTATION-BUTTON-2 .OBJECT SANFAC-B,FX?RLANDBIT+FX?ONBIT+FX?FLOYDBIT,0,ROOMS,DORM-B,0,T?SANFAC-B .OBJECT DEAD-FLOYD,0,0,0,0,0,T?DEAD-FLOYD .OBJECT FORK,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,ESCALATOR,0,T?FORK .OBJECT MEDICINE,0,FX?FOODBIT,MEDICINE-BOTTLE,0,0,T?MEDICINE .OBJECT DORM-CORRIDOR,FX?RLANDBIT+FX?ONBIT,0,ROOMS,STORAGE-WEST,0,T?DORM-CORRIDOR .OBJECT RIFT,FX?NDESCBIT,0,LOCAL-GLOBALS,KITCHEN-DOOR,0,T?RIFT .OBJECT LIBRARY,FX?FLOYDBIT+FX?ONBIT+FX?RLANDBIT,0,ROOMS,BOOTH-3,SPOOL-READER,T?LIBRARY .OBJECT CELERY,FX?NDESCBIT,FX?FOODBIT,0,0,0,T?CELERY .OBJECT GREEN-BUTTON,FX?NDESCBIT,0,MACHINE-SHOP,BLUE-BUTTON,0,T?GREEN-BUTTON .OBJECT TERMINAL,0,FX?LIGHTBIT,LIBRARY-LOBBY,GREEN-SPOOL,0,T?TERMINAL .OBJECT RED-SPOOL,FX?ACIDBIT,FX?READBIT+FX?TAKEBIT,INFIRMARY,0,0,T?RED-SPOOL .OBJECT LASER-DIAL,FX?NDESCBIT+FX?MUNGBIT,0,LASER,0,0,T?LASER-DIAL .OBJECT SANFAC-F,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,PROJECT-CORRIDOR-WEST,0,T?SANFAC-F .OBJECT LAMP,0,FX?TAKEBIT,RADIATION-LAB,BROWN-SPOOL,0,T?LAMP .OBJECT PROJECT-CORRIDOR-EAST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,CRYO-ANTEROOM,0,T?PROJECT-CORRIDOR-EAST .OBJECT ESCAPE-POD,FX?ONBIT+FX?RLANDBIT,0,ROOMS,DECK-EIGHT,SAFETY-WEB,T?ESCAPE-POD .OBJECT TOWER-CORE,FX?ONBIT+FX?RLANDBIT,0,ROOMS,BOOTH-2,0,T?TOWER-CORE .OBJECT RAT-ANT,0,FX?ACTORBIT,BIO-LAB,0,0,T?RAT-ANT .OBJECT SHELVES,FX?NDESCBIT,0,LOCAL-GLOBALS,TABLES,0,T?SHELVES .OBJECT BROWN-BUTTON,FX?NDESCBIT,0,MACHINE-SHOP,GRAY-BUTTON,0,T?BROWN-BUTTON .OBJECT BLUE-ELEVATOR-BUTTON,FX?NDESCBIT,0,ELEVATOR-LOBBY,0,0,T?BLUE-ELEVATOR-BUTTON .OBJECT MEMO,FX?ACIDBIT,FX?TAKEBIT+FX?READBIT,0,0,0,T?MEMO .OBJECT TROLL,0,FX?ACTORBIT,BIO-LAB,RAT-ANT,0,T?TROLL .OBJECT BIO-DOOR-WEST,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,BIO-DOOR-EAST,0,T?BIO-DOOR-WEST .OBJECT CUBE,FX?SEARCHBIT+FX?NDESCBIT+FX?MUNGBIT,FX?CONTBIT,PLANETARY-COURSE-CONTROL,0,BAD-BEDISTOR,T?CUBE .OBJECT BROWN-SPOOL,FX?ACIDBIT,FX?READBIT+FX?TAKEBIT,RADIATION-LAB,0,0,T?BROWN-SPOOL .OBJECT SLOT,FX?NDESCBIT,0,LOCAL-GLOBALS,GANGWAY-DOOR,0,T?SLOT .OBJECT SHUTTLE-CAR-ALFIE,FX?ONBIT+FX?RLANDBIT,0,ROOMS,ESCAPE-POD,0,T?SHUTTLE-CAR-ALFIE .OBJECT CRACKED-BOARD,FX?ACIDBIT,FX?TAKEBIT,CARTON,0,0,T?CRACKED-BOARD .OBJECT HELICOPTER,FX?ONBIT+FX?RLANDBIT,0,ROOMS,HELIPAD,0,T?HELICOPTER .OBJECT POD-DOOR,FX?NDESCBIT+FX?VOWELBIT,FX?DOORBIT,LOCAL-GLOBALS,GLOBAL-POD,0,T?POD-DOOR .OBJECT DORM-D,FX?RLANDBIT+FX?ONBIT+FX?FLOYDBIT,0,ROOMS,SANFAC-C,0,T?DORM-D .OBJECT BOOTH-3,FX?ONBIT+FX?RLANDBIT,0,ROOMS,LIBRARY-LOBBY,0,T?BOOTH-3 .OBJECT HIGH-PROTEIN,0,FX?FOODBIT,0,0,0,T?HIGH-PROTEIN .OBJECT GRUE,0,FX?ACTORBIT,BIO-LAB,TROLL,0,T?GRUE .OBJECT STORAGE-WEST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,MESS-CORRIDOR,LADDER,T?STORAGE-WEST .OBJECT MEDICINE-BOTTLE,FX?TRANSBIT+FX?SEARCHBIT,FX?READBIT+FX?TAKEBIT+FX?CONTBIT,INFIRMARY,RED-SPOOL,MEDICINE,T?MEDICINE-BOTTLE .OBJECT SYSTEMS-CORRIDOR-EAST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,SYSTEMS-CORRIDOR,0,T?SYSTEMS-CORRIDOR-EAST .OBJECT CRYO-ANTEROOM,FX?ONBIT+FX?RLANDBIT,0,ROOMS,CRYO-ELEVATOR,0,T?CRYO-ANTEROOM .OBJECT WEST-WING,FX?FLOYDBIT+FX?RLANDBIT+FX?ONBIT,0,ROOMS,COURTYARD,0,T?WEST-WING .OBJECT KITCHEN-CARD,0,FX?READBIT+FX?TAKEBIT,SMALL-DESK,0,0,T?KITCHEN-CARD .OBJECT STAIRS,FX?NDESCBIT,FX?CLIMBBIT,LOCAL-GLOBALS,0,0,T?STAIRS .OBJECT BOOTH-1,FX?RLANDBIT+FX?ONBIT,0,ROOMS,CONFERENCE-ROOM,0,T?BOOTH-1 .OBJECT CHEMICAL-DISPENSER,FX?NDESCBIT+FX?MUNGBIT,0,MACHINE-SHOP,0,0,T?CHEMICAL-DISPENSER .OBJECT RELAY,FX?TRANSBIT+FX?NDESCBIT,0,STRIP-NEAR-RELAY,0,SPECK,T?RELAY .OBJECT PHYSICAL-PLANT-TWO,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,SYSTEMS-CORRIDOR-EAST,0,T?PHYSICAL-PLANT-TWO .OBJECT SECOND-BOARD,0,FX?TAKEBIT+FX?TRYTAKEBIT,ACCESS-PANEL,THIRD-BOARD,0,T?SECOND-BOARD .OBJECT CAN,0,FX?TAKEBIT,STORAGE-WEST,0,0,T?CAN .OBJECT LAB-OFFICE,FX?ONBIT+FX?RLANDBIT,0,ROOMS,RADIATION-LAB,FUNGICIDE-BUTTON,T?LAB-OFFICE .OBJECT SHUTTLE-CARD,0,FX?READBIT+FX?TAKEBIT,LARGE-DESK,0,0,T?SHUTTLE-CARD .OBJECT GROUND,FX?NDESCBIT,0,GLOBAL-OBJECTS,IT,0,T?GROUND .OBJECT LAB-DESK,FX?NDESCBIT+FX?SEARCHBIT,FX?CONTBIT,LAB-OFFICE,0,GAS-MASK,T?LAB-DESK .OBJECT FUNGICIDE-BUTTON,FX?NDESCBIT,0,LAB-OFFICE,DARK-BUTTON,0,T?FUNGICIDE-BUTTON .OBJECT TABLES,FX?NDESCBIT,0,LOCAL-GLOBALS,OCEAN,0,T?TABLES .OBJECT NOT-HERE-OBJECT,0,0,0,0,0,T?NOT-HERE-OBJECT .OBJECT SANFAC-A,FX?FLOYDBIT+FX?RLANDBIT+FX?ONBIT,0,ROOMS,DORM-A,0,T?SANFAC-A .OBJECT COMBINATION-PAPER,FX?ACIDBIT,FX?READBIT+FX?TAKEBIT,LAB-UNIFORM,TELEPORTATION-CARD,0,T?COMBINATION-PAPER .OBJECT DECK-EIGHT,FX?ONBIT+FX?RLANDBIT,0,ROOMS,GANGWAY,0,T?DECK-EIGHT .OBJECT GANGWAY-DOOR,FX?NDESCBIT+FX?OPENBIT,FX?DOORBIT+FX?INVISIBLE,LOCAL-GLOBALS,CORRIDOR-DOOR,0,T?GANGWAY-DOOR .OBJECT MICROBE,0,FX?ACTORBIT,0,0,0,T?MICROBE .OBJECT INTNUM,0,0,GLOBAL-OBJECTS,LOCAL-GLOBALS,0,T?INTNUM .OBJECT GLOBAL-GAMES,FX?NDESCBIT,0,GLOBAL-OBJECTS,GLOBAL-DOORWAY,0,T?GLOBAL-GAMES .OBJECT FOOD-KIT,FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,0,0,GREEN-GOO,T?FOOD-KIT .OBJECT SLEEP,FX?NDESCBIT,0,GLOBAL-OBJECTS,HANDS,0,T?SLEEP .OBJECT BIO-LOCK-WEST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,LAB-STORAGE,0,T?BIO-LOCK-WEST .OBJECT MESS-CORRIDOR,FX?RLANDBIT+FX?ONBIT,0,ROOMS,SANFAC-D,PADLOCK,T?MESS-CORRIDOR .OBJECT DISPENSER,FX?NDESCBIT+FX?TRANSBIT+FX?OPENBIT+FX?SEARCHBIT+FX?MUNGBIT,FX?CONTBIT,KITCHEN,0,0,T?DISPENSER .OBJECT SANFAC-E,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,ADMIN-CORRIDOR-N,0,T?SANFAC-E .OBJECT RAD-DOOR-WEST,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,RAD-DOOR-EAST,0,T?RAD-DOOR-WEST .OBJECT MINI-CARD,FX?NDESCBIT,FX?READBIT+FX?INVISIBLE+FX?TAKEBIT,BIO-LOCK-EAST,0,0,T?MINI-CARD .OBJECT RED-BUTTON,FX?NDESCBIT,0,MACHINE-SHOP,CHEMICAL-DISPENSER,0,T?RED-BUTTON .OBJECT GLOBAL-DOORWAY,FX?NDESCBIT,0,GLOBAL-OBJECTS,GROUND,0,T?GLOBAL-DOORWAY .OBJECT UPPER-ELEVATOR-DOOR,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,REACTOR-ELEVATOR-DOOR,0,T?UPPER-ELEVATOR-DOOR .OBJECT HELICOPTER-OBJECT,FX?NDESCBIT,FX?VEHBIT,LOCAL-GLOBALS,ELEVATOR-BUTTON,0,T?HELICOPTER-OBJECT .OBJECT TRIFFID,0,FX?ACTORBIT,BIO-LAB,GRUE,0,T?TRIFFID .OBJECT ROBOT-SHOP,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,MACHINE-SHOP,FLOYD,T?ROBOT-SHOP .OBJECT ESCALATOR,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,LAWANDA-PLATFORM,0,T?ESCALATOR .OBJECT GANGWAY,FX?ONBIT+FX?RLANDBIT,0,ROOMS,REACTOR-LOBBY,0,T?GANGWAY .OBJECT SAFETY-WEB,FX?NDESCBIT,FX?VEHBIT+FX?CLIMBBIT,ESCAPE-POD,0,0,T?SAFETY-WEB .OBJECT BROCHURE,FX?ACIDBIT,FX?READBIT+FX?TAKEBIT,0,0,0,T?BROCHURE .OBJECT TOOL-ROOM,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,REACTOR-ELEVATOR,LASER,T?TOOL-ROOM .OBJECT BLUE-BUTTON,FX?NDESCBIT,0,MACHINE-SHOP,RED-BUTTON,0,T?BLUE-BUTTON .OBJECT UPPER-ELEVATOR,FX?ONBIT+FX?RLANDBIT,0,ROOMS,ELEVATOR-LOBBY,0,T?UPPER-ELEVATOR .OBJECT DORM-C,FX?RLANDBIT+FX?FLOYDBIT+FX?ONBIT,0,ROOMS,SANFAC-B,0,T?DORM-C .OBJECT LAWANDA-PLATFORM,FX?ONBIT+FX?RLANDBIT+FX?FLOYDBIT,0,ROOMS,KALAMONTEE-PLATFORM,0,T?LAWANDA-PLATFORM .OBJECT AUXILIARY-BOOTH,FX?ONBIT+FX?RLANDBIT,0,ROOMS,LAB-OFFICE,0,T?AUXILIARY-BOOTH .OBJECT ALFIE-CONTROL-WEST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,ALFIE-CONTROL-EAST,0,T?ALFIE-CONTROL-WEST .OBJECT SPOOL-READER,FX?OPENBIT+FX?SEARCHBIT,FX?CONTBIT+FX?LIGHTBIT,LIBRARY,0,0,T?SPOOL-READER .OBJECT PATROL-UNIFORM,FX?OPENBIT+FX?SEARCHBIT+FX?WORNBIT,FX?CONTBIT+FX?WEARBIT+FX?TAKEBIT,ADVENTURER,CHRONOMETER,ID-CARD,T?PATROL-UNIFORM .OBJECT ROBOT-HOLE,FX?TRANSBIT+FX?NDESCBIT,FX?CONTBIT,REPAIR-ROOM,ACHILLES,GOOD-BOARD,T?ROBOT-HOLE .OBJECT RADIATION-LOCK-EAST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,RADIATION-LOCK-WEST,0,T?RADIATION-LOCK-EAST .OBJECT RADIATION-LAB,FX?ONBIT+FX?RLANDBIT,0,ROOMS,BIO-LAB,LAMP,T?RADIATION-LAB .OBJECT OCEAN,FX?NDESCBIT+FX?VOWELBIT,0,LOCAL-GLOBALS,CLIFF,0,T?OCEAN .OBJECT SEND-CONSOLE,FX?NDESCBIT,0,COMM-ROOM,PLAYBACK-BUTTON,0,T?SEND-CONSOLE .OBJECT PLAIN-HALL,FX?RLANDBIT+FX?ONBIT,0,ROOMS,WEST-WING,0,T?PLAIN-HALL .OBJECT MECH-CORRIDOR,FX?ONBIT+FX?RLANDBIT,0,ROOMS,MECH-CORRIDOR-N,0,T?MECH-CORRIDOR .OBJECT REACTOR-ELEVATOR-DOOR,0,FX?DOORBIT,LOCAL-GLOBALS,RIFT,0,T?REACTOR-ELEVATOR-DOOR .OBJECT RED-GOO,FX?ACIDBIT,FX?FOODBIT,FOOD-KIT,0,0,T?RED-GOO .OBJECT RED-ELEVATOR-BUTTON,FX?NDESCBIT,0,ELEVATOR-LOBBY,BLUE-ELEVATOR-BUTTON,0,T?RED-ELEVATOR-BUTTON .OBJECT FOURTH-BOARD,0,0,ACCESS-PANEL,FIRST-BOARD,0,T?FOURTH-BOARD .OBJECT MACHINE-SHOP,FX?ONBIT+FX?FLOYDBIT+FX?RLANDBIT,0,ROOMS,TOOL-ROOM,SQUARE-WHITE-BUTTON,T?MACHINE-SHOP .OBJECT PSEUDO-OBJECT,0,0,0,0,0,T?PSEUDO-OBJECT .OBJECT BETTY-CONTROL-EAST,FX?ONBIT+FX?RLANDBIT,0,ROOMS,SHUTTLE-CAR-BETTY,0,T?BETTY-CONTROL-EAST .OBJECT ELEVATOR-BUTTON,FX?NDESCBIT,0,LOCAL-GLOBALS,LOWER-ELEVATOR-DOOR,0,T?ELEVATOR-BUTTON .ENDT ; OBJECT PROPERTY TABLES ARE DEFINED HERE OBJPRP:: T?DORM-B:: .TABLE ; TABLE FOR OBJECT DORM-B .STRL "Dorm B" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE SANFAC-B ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE REC-CORRIDOR ; TO ROOM .PROP 2,P?LDESC STR?108 .PROP 2,P?C-MOVE T?1406 .PROP 4,P?PSEUDO W?PARTITION ; NAME PARTITION-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE BED .BYTE 0 .ENDT T?FRIED-BOARD:: .TABLE ; TABLE FOR OBJECT FRIED-BOARD .STRL "fried seventeen-centimeter fromitz board" .PROP 4,P?SYNONYM W?BOARD W?BOARDS .PROP 2,P?SIZE 10 .PROP 2,P?ACTION FRIED-BOARD-F .PROP 4,P?ADJECTIVE .BYTE A?FRIED .BYTE A?SEVENTEEN .BYTE A?CENTIMETER .BYTE A?FROMITZ .BYTE 0 .ENDT T?MINI-BOOTH:: .TABLE ; TABLE FOR OBJECT MINI-BOOTH .STRL "Miniaturization Booth" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE COMPUTER-ROOM ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE COMPUTER-ROOM ; TO ROOM .PROP 2,P?LDESC STR?255 .PROP 2,P?C-MOVE T?2307 .PROP 8,P?PSEUDO W?KEYBOARD ; NAME KEYBOARD-PSEUDO ; HANDLER W?BOOTH ; NAME IN-BOOTH-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE SLOT .BYTE 0 .ENDT T?CHRONOMETER:: .TABLE ; TABLE FOR OBJECT CHRONOMETER .STRL "chronometer" .PROP 6,P?SYNONYM W?CHRONOMETER W?WRISTWATCH W?WATCH .PROP 2,P?SIZE 10 .PROP 2,P?ACTION CHRONOMETER-F .PROP 1,P?ADJECTIVE .BYTE A?WRIST .BYTE 0 .ENDT T?WINDING-STAIR:: .TABLE ; TABLE FOR OBJECT WINDING-STAIR .STRL "Winding Stair" .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE COURTYARD ; TO ROOM .PROP 3,P?DOWN ; CONDITIONAL EXIT WATER-LEVEL-F ; PER FUNCTION .BYTE 0 .PROP 2,P?ACTION WINDING-STAIR-F .PROP 2,P?C-MOVE T?406 .PROP 2,P?GLOBAL .BYTE CLIFF .BYTE STAIRS .BYTE 0 .ENDT T?OIL-CAN:: .TABLE ; TABLE FOR OBJECT OIL-CAN .STRL "oil can" .PROP 2,P?SYNONYM W?CAN .PROP 2,P?SIZE 10 .PROP 2,P?ACTION OIL-CAN-F .PROP 2,P?ADJECTIVE .BYTE A?SMALL .BYTE A?OIL .PROP 2,P?FDESC STR?135 .BYTE 0 .ENDT T?LAB-STORAGE:: .TABLE ; TABLE FOR OBJECT LAB-STORAGE .STRL "Lab Storage" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE MAIN-LAB ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE MAIN-LAB ; TO ROOM .PROP 2,P?LDESC STR?258 .PROP 2,P?C-MOVE T?2507 .PROP 8,P?PSEUDO W?RACK ; NAME CARPET-PSEUDO ; HANDLER W?SUPPLIES ; NAME SUPPLIES-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE SHELVES .BYTE 0 .ENDT T?REC-CORRIDOR:: .TABLE ; TABLE FOR OBJECT REC-CORRIDOR .STRL "Rec Corridor" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE DORM-B ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE MESS-CORRIDOR ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE DORM-A ; TO ROOM .PROP 1,P?SW ; UNCONDITIONAL EXIT .BYTE PLAIN-HALL ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE REC-AREA ; TO ROOM .PROP 2,P?LDESC STR?107 .PROP 2,P?C-MOVE T?1106 .BYTE 0 .ENDT T?MECH-CORRIDOR-S:: .TABLE ; TABLE FOR OBJECT MECH-CORRIDOR-S .STRL "Mech Corridor South" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR ; TO ROOM .PROP 1,P?SE ; UNCONDITIONAL EXIT .BYTE ROBOT-SHOP ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE MACHINE-SHOP ; TO ROOM .PROP 1,P?SW ; UNCONDITIONAL EXIT .BYTE TOOL-ROOM ; TO ROOM .PROP 2,P?LDESC STR?133 .PROP 2,P?C-MOVE T?3706 .BYTE 0 .ENDT T?HANDS:: .TABLE ; TABLE FOR OBJECT HANDS .STRL "pair of hands" .PROP 4,P?SYNONYM W?PAIR W?HANDS .PROP 2,P?ACTION HANDS-F .PROP 1,P?ADJECTIVE .BYTE A?BARE .BYTE 0 .ENDT T?TELEPORTATION-BUTTON-1:: .TABLE ; TABLE FOR OBJECT TELEPORTATION-BUTTON-1 .STRL "brown button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION TELEPORTATION-BUTTON-1-F .PROP 2,P?ADJECTIVE .BYTE A?BROWN .BYTE A?FIRST .BYTE 0 .ENDT T?KEY:: .TABLE ; TABLE FOR OBJECT KEY .STRL "key" .PROP 6,P?SYNONYM W?KEY W?METAL W?OBJECT .PROP 2,P?SIZE 3 .PROP 2,P?ACTION KEY-F .PROP 4,P?ADJECTIVE .BYTE A?PIECE .BYTE A?STEEL .BYTE A?IRON .BYTE A?SHINY .PROP 2,P?FDESC STR?121 .BYTE 0 .ENDT T?PLANETARY-COURSE-CONTROL:: .TABLE ; TABLE FOR OBJECT PLANETARY-COURSE-CONTROL .STRL "Course Control" .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-EAST ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-EAST ; TO ROOM .PROP 2,P?ACTION PLANETARY-COURSE-CONTROL-F .PROP 2,P?C-MOVE T?1107 .PROP 2,P?GLOBAL .BYTE CONTROLS .BYTE LIGHTS .BYTE 0 .ENDT T?REACTOR-ACCESS-STAIRS:: .TABLE ; TABLE FOR OBJECT REACTOR-ACCESS-STAIRS .STRL "Reactor Access Stairs" .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE REACTOR-CONTROL ; TO ROOM .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE REACTOR-ACCESS-STAIRS ; TO ROOM .PROP 2,P?LDESC STR?125 .PROP 2,P?C-MOVE T?4106 .PROP 1,P?GLOBAL .BYTE STAIRS .BYTE 0 .ENDT T?GRAY-BUTTON:: .TABLE ; TABLE FOR OBJECT GRAY-BUTTON .STRL "gray button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION CHEM-BUTTON-F .PROP 2,P?ADJECTIVE .BYTE A?GRAY .BYTE A?GREY .PROP 2,P?C-MOVE 5 .BYTE 0 .ENDT T?MIDDLE-OF-STRIP:: .TABLE ; TABLE FOR OBJECT MIDDLE-OF-STRIP .STRL "Middle of Strip" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE STRIP-NEAR-RELAY ; TO ROOM .PROP 2,P?EAST ; IMPOSSIBLE EXIT STR?293 ; FAILURE MESSAGE .PROP 4,P?SOUTH ; CONDITIONAL EXIT .BYTE STRIP-NEAR-STATION ; TO ROOM .BYTE NO-MICROBE ; IF FLAG IS TRUE STR?292 ; FAILURE MESSAGE .PROP 2,P?WEST ; IMPOSSIBLE EXIT STR?293 ; FAILURE MESSAGE .PROP 2,P?ACTION MIDDLE-OF-STRIP-F .PROP 2,P?LDESC STR?291 .PROP 2,P?C-MOVE T?3607 .PROP 4,P?PSEUDO W?VOID ; NAME VOID-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE STRIP .BYTE 0 .ENDT T?PLAN-ROOM:: .TABLE ; TABLE FOR OBJECT PLAN-ROOM .STRL "Plan Room" .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR-N ; TO ROOM .PROP 2,P?LDESC STR?124 .PROP 2,P?C-MOVE T?3106 .PROP 8,P?PSEUDO W?CUBBYHOLE ; NAME CUBBYHOLE-PSEUDO ; HANDLER W?MAPS ; NAME MAPS-PSEUDO ; HANDLER .BYTE 0 .ENDT T?GREEN-SPOOL:: .TABLE ; TABLE FOR OBJECT GREEN-SPOOL .STRL "green spool" .PROP 6,P?SYNONYM W?SPOOL W?SPOOLS W?OBJECT .PROP 2,P?SIZE 3 .PROP 2,P?ACTION GREEN-SPOOL-F .PROP 2,P?ADJECTIVE .BYTE A?GREEN .BYTE A?SMALL .PROP 2,P?TEXT STR?207 .PROP 2,P?FDESC STR?206 .BYTE 0 .ENDT T?SPECK:: .TABLE ; TABLE FOR OBJECT SPECK .STRL "speck" .PROP 6,P?SYNONYM W?SPECK W?BOULDER W?IMPURITY .PROP 1,P?ADJECTIVE .BYTE A?BLUE .BYTE 0 .ENDT T?CORRIDOR-DOOR:: .TABLE ; TABLE FOR OBJECT CORRIDOR-DOOR .STRL "wide bulkhead" .PROP 4,P?SYNONYM W?DOOR W?BULKHEAD .PROP 2,P?ACTION GANGWAY-DOOR-F .PROP 2,P?ADJECTIVE .BYTE A?EMERGENCY .BYTE A?WIDE .BYTE 0 .ENDT T?COURTYARD:: .TABLE ; TABLE FOR OBJECT COURTYARD .STRL "Courtyard" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE PLAIN-HALL ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE WINDING-STAIR ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE WEST-WING ; TO ROOM .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE WINDING-STAIR ; TO ROOM .PROP 2,P?ACTION COURTYARD-F .PROP 2,P?C-MOVE T?506 .PROP 8,P?PSEUDO W?CASTLE ; NAME CASTLE-PSEUDO ; HANDLER W?RUBBLE ; NAME RUBBLE-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE STAIRS .BYTE 0 .ENDT T?WINDOW:: .TABLE ; TABLE FOR OBJECT WINDOW .STRL "window" .PROP 6,P?SYNONYM W?WINDOW W?PORT W?VIEWPORT .PROP 2,P?ACTION WINDOW-F .PROP 1,P?ADJECTIVE .BYTE A?VIEW .BYTE 0 .ENDT T?TELEPORTATION-BUTTON-3:: .TABLE ; TABLE FOR OBJECT TELEPORTATION-BUTTON-3 .STRL "tan button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION TELEPORTATION-BUTTON-3-F .PROP 2,P?ADJECTIVE .BYTE A?TAN .BYTE A?THIRD .BYTE 0 .ENDT T?REACTOR-LOBBY:: .TABLE ; TABLE FOR OBJECT REACTOR-LOBBY .STRL "Reactor Lobby" .PROP 2,P?EAST ; IMPOSSIBLE EXIT STR?10 ; FAILURE MESSAGE .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT STR?9 ; FAILURE MESSAGE .PROP 5,P?WEST ; CONDITIONAL EXIT .BYTE DECK-NINE ; TO ROOM .BYTE CORRIDOR-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?LDESC STR?8 .PROP 2,P?C-MOVE T?303 .PROP 1,P?GLOBAL .BYTE CORRIDOR-DOOR .BYTE 0 .ENDT T?SANFAC-D:: .TABLE ; TABLE FOR OBJECT SANFAC-D .STRL "SanFac D" .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE DORM-D ; TO ROOM .PROP 2,P?LDESC STR?110 .PROP 2,P?C-MOVE T?1906 .PROP 8,P?PSEUDO W?FIXTURES ; NAME TOILET-PSEUDO ; HANDLER W?TOILET ; NAME TOILET-PSEUDO ; HANDLER .BYTE 0 .ENDT T?SYSTEMS-CORRIDOR-WEST:: .TABLE ; TABLE FOR OBJECT SYSTEMS-CORRIDOR-WEST .STRL "Systems Corridor West" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE REPAIR-ROOM ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR ; TO ROOM .PROP 1,P?SW ; UNCONDITIONAL EXIT .BYTE FORK ; TO ROOM .PROP 1,P?NW ; UNCONDITIONAL EXIT .BYTE INFIRMARY ; TO ROOM .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE REPAIR-ROOM ; TO ROOM .PROP 2,P?LDESC STR?201 .PROP 2,P?C-MOVE T?607 .PROP 1,P?GLOBAL .BYTE STAIRS .BYTE 0 .ENDT T?BROWN-GOO:: .TABLE ; TABLE FOR OBJECT BROWN-GOO .STRL "blob of brown goo" .PROP 8,P?SYNONYM W?GOO W?BLOB W?FOOD W?STEW .PROP 2,P?ACTION GOO-F .PROP 2,P?ADJECTIVE .BYTE A?BROWN .BYTE A?BEEF .BYTE 0 .ENDT T?GAS-MASK:: .TABLE ; TABLE FOR OBJECT GAS-MASK .STRL "gas mask" .PROP 2,P?SYNONYM W?MASK .PROP 2,P?SIZE 10 .PROP 1,P?ADJECTIVE .BYTE A?GAS .BYTE 0 .ENDT T?INFIRMARY:: .TABLE ; TABLE FOR OBJECT INFIRMARY .STRL "Infirmary" .PROP 1,P?SE ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-WEST ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-WEST ; TO ROOM .PROP 2,P?ACTION INFIRMARY-F .PROP 2,P?LDESC STR?192 .PROP 2,P?C-MOVE T?407 .PROP 8,P?PSEUDO W?EQUIPM ; NAME EQUIPMENT-PSEUDO ; HANDLER W?MACHIN ; NAME EQUIPMENT-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE BED .BYTE SHELVES .BYTE 0 .ENDT T?NEW-BATTERY:: .TABLE ; TABLE FOR OBJECT NEW-BATTERY .STRL "new battery" .PROP 4,P?SYNONYM W?OBJECT W?BATTERY .PROP 2,P?SIZE 5 .PROP 5,P?ADJECTIVE .BYTE A?LASER .BYTE A?SMALL .BYTE A?ROUND .BYTE A?FRESH .BYTE A?NEW .PROP 2,P?FDESC STR?297 .BYTE 0 .ENDT T?FLOYD:: .TABLE ; TABLE FOR OBJECT FLOYD .STRL "multiple purpose robot" .PROP 8,P?SYNONYM W?FLOYD W?COMPAR W?ROBOT W?COMPAN .PROP 2,P?ACTION FLOYD-F .PROP 5,P?ADJECTIVE .BYTE A?MULTIP .BYTE A?PURPOS .BYTE A?DIM- .BYTE A?DIM .BYTE A?WITTED .PROP 2,P?CAPACITY 5 .PROP 2,P?FDESC STR?153 .BYTE 0 .ENDT T?ME:: .TABLE ; TABLE FOR OBJECT ME .STRL "you" .PROP 8,P?SYNONYM W?ME W?MYSELF W?SELF W?WE .PROP 2,P?ACTION CRETIN-F .BYTE 0 .ENDT T?KALAMONTEE-PLATFORM:: .TABLE ; TABLE FOR OBJECT KALAMONTEE-PLATFORM .STRL "Kalamontee Platform" .PROP 3,P?NORTH ; CONDITIONAL EXIT SHUTTLE-ENTER-F ; PER FUNCTION .BYTE 0 .PROP 3,P?SOUTH ; CONDITIONAL EXIT SHUTTLE-ENTER-F ; PER FUNCTION .BYTE 0 .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE WAITING-AREA ; TO ROOM .PROP 2,P?VALUE 4 .PROP 2,P?ACTION KALAMONTEE-PLATFORM-F .PROP 2,P?C-MOVE T?5806 .PROP 1,P?GLOBAL .BYTE GLOBAL-SHUTTLE .BYTE 0 .ENDT T?BLACK-BUTTON:: .TABLE ; TABLE FOR OBJECT BLACK-BUTTON .STRL "black button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION CHEM-BUTTON-F .PROP 1,P?ADJECTIVE .BYTE A?BLACK .PROP 2,P?C-MOVE 7 .BYTE 0 .ENDT T?ELEVATOR-LOBBY:: .TABLE ; TABLE FOR OBJECT ELEVATOR-LOBBY .STRL "Elevator Lobby" .PROP 3,P?NORTH ; CONDITIONAL EXIT ELEVATOR-ENTER-F ; PER FUNCTION .BYTE 0 .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE BOOTH-2 ; TO ROOM .PROP 3,P?SOUTH ; CONDITIONAL EXIT ELEVATOR-ENTER-F ; PER FUNCTION .BYTE 0 .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE CORRIDOR-JUNCTION ; TO ROOM .PROP 1,P?IN ; UNCONDITIONAL EXIT .BYTE BOOTH-2 ; TO ROOM .PROP 2,P?ACTION ELEVATOR-LOBBY-F .PROP 2,P?C-MOVE T?4606 .PROP 4,P?PSEUDO W?BOOTH ; NAME NEAR-BOOTH-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE UPPER-ELEVATOR-DOOR .BYTE LOWER-ELEVATOR-DOOR .BYTE 0 .ENDT T?ACHILLES:: .TABLE ; TABLE FOR OBJECT ACHILLES .STRL "broken robot" .PROP 4,P?SYNONYM W?ROBOT W?ACHILLES .PROP 2,P?ADJECTIVE .BYTE A?BROKEN .BYTE A?DEAD .PROP 2,P?LDESC STR?200 .BYTE 0 .ENDT T?DORM-A:: .TABLE ; TABLE FOR OBJECT DORM-A .STRL "Dorm A" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE REC-CORRIDOR ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE SANFAC-A ; TO ROOM .PROP 2,P?LDESC STR?108 .PROP 2,P?C-MOVE T?1206 .PROP 4,P?PSEUDO W?PARTITION ; NAME PARTITION-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE BED .BYTE 0 .ENDT T?KITCHEN:: .TABLE ; TABLE FOR OBJECT KITCHEN .STRL "Kitchen" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE MESS-HALL ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE MESS-HALL ; TO ROOM .PROP 2,P?VALUE 4 .PROP 2,P?LDESC STR?117 .PROP 2,P?C-MOVE T?2406 .PROP 8,P?PSEUDO W?SPOUT ; NAME SPOUT-PSEUDO ; HANDLER W?BUTTON ; NAME BUTTON-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE KITCHEN-DOOR .BYTE 0 .ENDT T?BALCONY:: .TABLE ; TABLE FOR OBJECT BALCONY .STRL "Balcony" .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE WINDING-STAIR ; TO ROOM .PROP 3,P?DOWN ; CONDITIONAL EXIT WATER-LEVEL-F ; PER FUNCTION .BYTE 0 .PROP 2,P?ACTION BALCONY-F .PROP 2,P?C-MOVE T?306 .PROP 4,P?PSEUDO W?PLAQUE ; NAME PLAQUE-PSEUDO ; HANDLER .PROP 4,P?GLOBAL .BYTE CLIFF .BYTE OCEAN .BYTE STAIRS .BYTE WINDOW .BYTE 0 .ENDT T?REACTOR-CONTROL:: .TABLE ; TABLE FOR OBJECT REACTOR-CONTROL .STRL "Reactor Control" .PROP 5,P?EAST ; CONDITIONAL EXIT .BYTE REACTOR-ELEVATOR ; TO ROOM .BYTE REACTOR-ELEVATOR-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR ; TO ROOM .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE REACTOR-ACCESS-STAIRS ; TO ROOM .PROP 5,P?IN ; CONDITIONAL EXIT .BYTE REACTOR-ELEVATOR ; TO ROOM .BYTE REACTOR-ELEVATOR-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?LDESC STR?139 .PROP 2,P?C-MOVE T?4006 .PROP 8,P?PSEUDO W?BUTTON ; NAME REACTOR-BUTTON-PSEUDO ; HANDLER W?DIAGRAM ; NAME DIAGRAM-PSEUDO ; HANDLER .PROP 3,P?GLOBAL .BYTE CONTROLS .BYTE STAIRS .BYTE REACTOR-ELEVATOR-DOOR .BYTE 0 .ENDT T?HELIPAD:: .TABLE ; TABLE FOR OBJECT HELIPAD .STRL "Helipad" .PROP 2,P?NORTH ; IMPOSSIBLE EXIT STR?181 ; FAILURE MESSAGE .PROP 2,P?EAST ; IMPOSSIBLE EXIT STR?181 ; FAILURE MESSAGE .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT STR?181 ; FAILURE MESSAGE .PROP 2,P?WEST ; IMPOSSIBLE EXIT STR?181 ; FAILURE MESSAGE .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE TOWER-CORE ; TO ROOM .PROP 1,P?IN ; UNCONDITIONAL EXIT .BYTE HELICOPTER ; TO ROOM .PROP 2,P?LDESC STR?180 .PROP 2,P?C-MOVE T?5106 .PROP 4,P?PSEUDO W?FENCE ; NAME FENCE-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE STAIRS .BYTE HELICOPTER-OBJECT .BYTE 0 .ENDT T?PRINT-OUT:: .TABLE ; TABLE FOR OBJECT PRINT-OUT .STRL "pile of computer output" .PROP 8,P?SYNONYM W?PILE W?PAPER W?OUTPUT W?PRINTOUT .PROP 2,P?SIZE 20 .PROP 2,P?ACTION PRINT-OUT-F .PROP 1,P?ADJECTIVE .BYTE A?COMPUTER .BYTE 0 .ENDT T?LIGHTS:: .TABLE ; TABLE FOR OBJECT LIGHTS .STRL "light" .PROP 4,P?SYNONYM W?LIGHT W?LIGHTS .PROP 2,P?ACTION LIGHTS-F .PROP 8,P?ADJECTIVE .BYTE A?RED .BYTE A?DAZZLI .BYTE A?GLOWIN .BYTE A?BLINKI .BYTE A?WARNIN .BYTE A?BRIGHT .BYTE A?COLORE .BYTE A?FLASHI .BYTE 0 .ENDT T?GREEN-GOO:: .TABLE ; TABLE FOR OBJECT GREEN-GOO .STRL "blob of green goo" .PROP 8,P?SYNONYM W?GOO W?BLOB W?FOOD W?BEANS .PROP 2,P?ACTION GOO-F .PROP 2,P?ADJECTIVE .BYTE A?GREEN .BYTE A?LIMA .BYTE 0 .ENDT T?MECH-CORRIDOR-N:: .TABLE ; TABLE FOR OBJECT MECH-CORRIDOR-N .STRL "Mech Corridor North" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE CORRIDOR-JUNCTION ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE STORAGE-EAST ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE PHYSICAL-PLANT ; TO ROOM .PROP 2,P?LDESC STR?132 .PROP 2,P?C-MOVE T?3506 .BYTE 0 .ENDT T?GOOD-BOARD:: .TABLE ; TABLE FOR OBJECT GOOD-BOARD .STRL "shiny seventeen-centimeter fromitz board" .PROP 4,P?SYNONYM W?BOARD W?BOARDS .PROP 2,P?SIZE 10 .PROP 2,P?ACTION GOOD-BOARD-F .PROP 5,P?ADJECTIVE .BYTE A?SHINY .BYTE A?GOOD .BYTE A?SEVENTEEN .BYTE A?CENTIMETER .BYTE A?FROMITZ .BYTE 0 .ENDT T?ROOMS:: .TABLE ; TABLE FOR OBJECT ROOMS .STRL "" .BYTE 0 .ENDT T?COMBINATION-DIAL:: .TABLE ; TABLE FOR OBJECT COMBINATION-DIAL .STRL "combination dial" .PROP 2,P?SYNONYM W?DIAL .PROP 2,P?ACTION COMBINATION-DIAL-F .PROP 1,P?ADJECTIVE .BYTE A?COMBINATION .BYTE 0 .ENDT T?PROJECT-CORRIDOR:: .TABLE ; TABLE FOR OBJECT PROJECT-CORRIDOR .STRL "Project Corridor" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR-EAST ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE PROJCON-OFFICE ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR-WEST ; TO ROOM .PROP 2,P?LDESC STR?252 .PROP 2,P?C-MOVE T?1707 .BYTE 0 .ENDT T?ADMIN-CORRIDOR-S:: .TABLE ; TABLE FOR OBJECT ADMIN-CORRIDOR-S .STRL "Admin Corridor South" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE SANFAC-E ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE CORRIDOR-JUNCTION ; TO ROOM .PROP 2,P?ACTION ADMIN-CORRIDOR-S-F .PROP 2,P?LDESC STR?120 .PROP 2,P?C-MOVE T?2606 .BYTE 0 .ENDT T?ROUND-WHITE-BUTTON:: .TABLE ; TABLE FOR OBJECT ROUND-WHITE-BUTTON .STRL "round white button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION CHEM-BUTTON-F .PROP 2,P?ADJECTIVE .BYTE A?WHITE .BYTE A?ROUND .PROP 2,P?C-MOVE 8 .BYTE 0 .ENDT T?ADVENTURER:: .TABLE ; TABLE FOR OBJECT ADVENTURER .STRL "player" .PROP 8,P?SYNONYM W?ADMIRA W?SMITHE W?SPAM W?EGGS .PROP 2,P?ADJECTIVE .BYTE A?ORANGE .BYTE A?OPENER .BYTE 0 .ENDT T?FLASK:: .TABLE ; TABLE FOR OBJECT FLASK .STRL "glass flask" .PROP 2,P?SYNONYM W?FLASK .PROP 2,P?SIZE 10 .PROP 2,P?ACTION FLASK-F .PROP 3,P?ADJECTIVE .BYTE A?GLASS .BYTE A?LARGE .BYTE A?PLASTIC .PROP 2,P?CAPACITY 2 .PROP 2,P?FDESC STR?142 .BYTE 0 .ENDT T?LAZARUS-PART:: .TABLE ; TABLE FOR OBJECT LAZARUS-PART .STRL "medical robot breastplate" .PROP 8,P?SYNONYM W?LAZARUS W?PART W?BREAST W?PLATE .PROP 2,P?SIZE 35 .PROP 2,P?ADJECTIVE .BYTE A?MEDICAL .BYTE A?BREAST .BYTE 0 .ENDT T?OLD-BATTERY:: .TABLE ; TABLE FOR OBJECT OLD-BATTERY .STRL "old battery" .PROP 2,P?SYNONYM W?BATTERY .PROP 2,P?SIZE 5 .PROP 3,P?ADJECTIVE .BYTE A?LASER .BYTE A?WORN-OUT .BYTE A?OLD .PROP 2,P?LDESC STR?296 .BYTE 0 .ENDT T?DECK-NINE:: .TABLE ; TABLE FOR OBJECT DECK-NINE .STRL "Deck Nine" .PROP 5,P?EAST ; CONDITIONAL EXIT .BYTE REACTOR-LOBBY ; TO ROOM .BYTE CORRIDOR-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 5,P?WEST ; CONDITIONAL EXIT .BYTE ESCAPE-POD ; TO ROOM .BYTE POD-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 5,P?UP ; CONDITIONAL EXIT .BYTE GANGWAY ; TO ROOM .BYTE GANGWAY-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 5,P?IN ; CONDITIONAL EXIT .BYTE ESCAPE-POD ; TO ROOM .BYTE POD-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION DECK-NINE-F .PROP 2,P?C-MOVE T?203 .PROP 8,P?PSEUDO W?TRANSL ; NAME TRANSLATOR-PSEUDO ; HANDLER W?SLIME ; NAME SLIME-PSEUDO ; HANDLER .PROP 5,P?GLOBAL .BYTE POD-DOOR .BYTE CORRIDOR-DOOR .BYTE GANGWAY-DOOR .BYTE STAIRS .BYTE GLOBAL-POD .BYTE 0 .ENDT T?THIRD-BOARD:: .TABLE ; TABLE FOR OBJECT THIRD-BOARD .STRL "third seventeen-centimeter fromitz board" .PROP 4,P?SYNONYM W?BOARD W?BOARDS .PROP 2,P?ACTION BOARD-F .PROP 4,P?ADJECTIVE .BYTE A?THIRD .BYTE A?SEVENTEEN .BYTE A?CENTIMETER .BYTE A?FROMITZ .BYTE 0 .ENDT T?STRIP:: .TABLE ; TABLE FOR OBJECT STRIP .STRL "silicon strip" .PROP 6,P?SYNONYM W?STRIP W?SIDE W?EDGE .PROP 2,P?ACTION STRIP-F .PROP 1,P?ADJECTIVE .BYTE A?SILICON .BYTE 0 .ENDT T?SMALL-OFFICE:: .TABLE ; TABLE FOR OBJECT SMALL-OFFICE .STRL "Small Office" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR-N ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE LARGE-OFFICE ; TO ROOM .PROP 2,P?LDESC STR?126 .PROP 2,P?C-MOVE T?3306 .BYTE 0 .ENDT T?CARTON:: .TABLE ; TABLE FOR OBJECT CARTON .STRL "cardboard box" .PROP 4,P?SYNONYM W?BOX W?CARTON .PROP 2,P?SIZE 10 .PROP 2,P?ACTION CARTON-F .PROP 2,P?ADJECTIVE .BYTE A?SMALL .BYTE A?CARDBOARD .PROP 2,P?CAPACITY 50 .PROP 2,P?FDESC STR?136 .BYTE 0 .ENDT T?BOOTH-2:: .TABLE ; TABLE FOR OBJECT BOOTH-2 .STRL "Booth 2" .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE ELEVATOR-LOBBY ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE ELEVATOR-LOBBY ; TO ROOM .PROP 2,P?LDESC STR?178 .PROP 2,P?C-MOVE T?4906 .PROP 4,P?PSEUDO W?BOOTH ; NAME IN-BOOTH-PSEUDO ; HANDLER .PROP 4,P?GLOBAL .BYTE CONTROLS .BYTE SLOT .BYTE TELEPORTATION-BUTTON-1 .BYTE TELEPORTATION-BUTTON-3 .BYTE 0 .ENDT T?LOCAL-GLOBALS:: .TABLE ; TABLE FOR OBJECT LOCAL-GLOBALS .STRL "" .PROP 2,P?SYNONYM W?ZZMGCK .PROP 2,P?VALUE 0 .PROP 2,P?CONTFCN 0 .PROP 2,P?DESCFCN 0 .PROP 2,P?SIZE 0 .BYTE 0 .ENDT T?CRAG:: .TABLE ; TABLE FOR OBJECT CRAG .STRL "Crag" .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE BALCONY ; TO ROOM .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE UNDERWATER ; TO ROOM .PROP 2,P?VALUE 3 .PROP 2,P?ACTION CRAG-F .PROP 2,P?LDESC STR?102 .PROP 2,P?C-MOVE T?206 .PROP 8,P?PSEUDO W?STRUCTURE ; NAME STRUCTURE-PSEUDO ; HANDLER W?CLEFT ; NAME CLEFT-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE CLIFF .BYTE OCEAN .BYTE 0 .ENDT T?ADMIN-CORRIDOR:: .TABLE ; TABLE FOR OBJECT ADMIN-CORRIDOR .STRL "Admin Corridor" .PROP 3,P?NORTH ; CONDITIONAL EXIT LADDER-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR-S ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE SYSTEMS-MONITORS ; TO ROOM .PROP 2,P?ACTION ADMIN-CORRIDOR-F .PROP 2,P?C-MOVE T?2706 .PROP 4,P?PSEUDO W?RUBBLE ; NAME RUBBLE-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE RIFT .BYTE 0 .ENDT T?BRIG:: .TABLE ; TABLE FOR OBJECT BRIG .STRL "Brig" .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT STR?5 ; FAILURE MESSAGE .PROP 2,P?LDESC STR?4 .PROP 2,P?C-MOVE T?103 .PROP 8,P?PSEUDO W?GRAFFITI ; NAME GRAFFITI-PSEUDO ; HANDLER W?DOOR ; NAME DOOR-PSEUDO ; HANDLER .BYTE 0 .ENDT T?PROJCON-OFFICE:: .TABLE ; TABLE FOR OBJECT PROJCON-OFFICE .STRL "ProjCon Office" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE COMPUTER-ROOM ; TO ROOM .PROP 5,P?SOUTH ; CONDITIONAL EXIT .BYTE CRYO-ELEVATOR ; TO ROOM .BYTE CRYO-ELEVATOR-DOOR ; IF DOOR IS OPEN STR?37 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION PROJCON-OFFICE-F .PROP 2,P?C-MOVE T?1807 .PROP 8,P?PSEUDO W?MURAL ; NAME MURAL-PSEUDO ; HANDLER W?LOGO ; NAME LOGO-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE CRYO-ELEVATOR-DOOR .BYTE 0 .ENDT T?LASER:: .TABLE ; TABLE FOR OBJECT LASER .STRL "laser" .PROP 8,P?SYNONYM W?DEVICE W?LASER W?UNIT W?DEPRES .PROP 2,P?SIZE 25 .PROP 2,P?ACTION LASER-F .PROP 2,P?ADJECTIVE .BYTE A?PORTABLE .BYTE A?ACME .PROP 2,P?CAPACITY 5 .PROP 2,P?FDESC STR?295 .BYTE 0 .ENDT T?CONTROLS:: .TABLE ; TABLE FOR OBJECT CONTROLS .STRL "set of controls" .PROP 8,P?SYNONYM W?CONTRO W?PANEL W?DIALS W?GAUGES .PROP 2,P?ACTION CONTROLS-F .PROP 2,P?ADJECTIVE .BYTE A?CONTRO .BYTE A?COMPLEX .BYTE 0 .ENDT T?LARGE-DESK:: .TABLE ; TABLE FOR OBJECT LARGE-DESK .STRL "large desk" .PROP 4,P?SYNONYM W?DESK W?DRAWER .PROP 2,P?ACTION DESK-F .PROP 3,P?ADJECTIVE .BYTE A?LARGE .BYTE A?WIDE .BYTE A?WOODEN .PROP 2,P?CAPACITY 20 .BYTE 0 .ENDT T?CORRIDOR-JUNCTION:: .TABLE ; TABLE FOR OBJECT CORRIDOR-JUNCTION .STRL "Corridor Junction" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR-S ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE ELEVATOR-LOBBY ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR-N ; TO ROOM .PROP 3,P?WEST ; CONDITIONAL EXIT LONG-HALL-F ; PER FUNCTION .BYTE 0 .PROP 2,P?LDESC STR?119 .PROP 2,P?C-MOVE T?2506 .PROP 4,P?PSEUDO W?WALKWAY ; NAME WALKWAY-PSEUDO ; HANDLER .BYTE 0 .ENDT T?BAD-BEDISTOR:: .TABLE ; TABLE FOR OBJECT BAD-BEDISTOR .STRL "fused ninety-ohm bedistor" .PROP 2,P?SYNONYM W?BEDISTOR .PROP 2,P?SIZE 8 .PROP 2,P?ACTION BAD-BEDISTOR-F .PROP 3,P?ADJECTIVE .BYTE A?FUSED .BYTE A?NINETY .BYTE A?OHM .BYTE 0 .ENDT T?TRANSPORTATION-SUPPLY:: .TABLE ; TABLE FOR OBJECT TRANSPORTATION-SUPPLY .STRL "Transportation Supply" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE TRANSPORTATION-SUPPLY ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE TRANSPORTATION-SUPPLY ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR-N ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE TRANSPORTATION-SUPPLY ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR-N ; TO ROOM .PROP 2,P?LDESC STR?125 .PROP 2,P?C-MOVE T?3206 .BYTE 0 .ENDT T?COMM-ROOM:: .TABLE ; TABLE FOR OBJECT COMM-ROOM .STRL "Comm Room" .PROP 1,P?SW ; UNCONDITIONAL EXIT .BYTE TOWER-CORE ; TO ROOM .PROP 2,P?ACTION COMM-ROOM-F .PROP 2,P?C-MOVE T?5306 .PROP 8,P?PSEUDO W?CABLES ; NAME CABLES-PSEUDO ; HANDLER W?ENUNCI ; NAME ENUNCIATOR-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE LIGHTS .BYTE 0 .ENDT T?SMALL-DESK:: .TABLE ; TABLE FOR OBJECT SMALL-DESK .STRL "small desk" .PROP 4,P?SYNONYM W?DESK W?DRAWER .PROP 2,P?ACTION DESK-F .PROP 1,P?ADJECTIVE .BYTE A?SMALL .PROP 2,P?CAPACITY 10 .BYTE 0 .ENDT T?GLOBAL-OBJECTS:: .TABLE ; TABLE FOR OBJECT GLOBAL-OBJECTS .STRL "" .BYTE 0 .ENDT T?SHUTTLE-DOOR:: .TABLE ; TABLE FOR OBJECT SHUTTLE-DOOR .STRL "door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION SHUTTLE-DOOR-F .BYTE 0 .ENDT T?SHUTTLE-CAR-BETTY:: .TABLE ; TABLE FOR OBJECT SHUTTLE-CAR-BETTY .STRL "Shuttle Car Betty" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE BETTY-CONTROL-EAST ; TO ROOM .PROP 3,P?SOUTH ; CONDITIONAL EXIT SHUTTLE-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE BETTY-CONTROL-WEST ; TO ROOM .PROP 2,P?ACTION SHUTTLE-CAR-F .PROP 2,P?C-MOVE T?1003 .PROP 2,P?GLOBAL .BYTE GLOBAL-SHUTTLE .BYTE SHUTTLE-DOOR .BYTE 0 .ENDT T?YELLOW-BUTTON:: .TABLE ; TABLE FOR OBJECT YELLOW-BUTTON .STRL "yellow button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION CHEM-BUTTON-F .PROP 1,P?ADJECTIVE .BYTE A?YELLOW .PROP 2,P?C-MOVE 4 .BYTE 0 .ENDT T?IT:: .TABLE ; TABLE FOR OBJECT IT .STRL "random object" .PROP 8,P?SYNONYM W?IT W?THAT W?THIS W?HIM .BYTE 0 .ENDT T?PROJECT-CORRIDOR-WEST:: .TABLE ; TABLE FOR OBJECT PROJECT-CORRIDOR-WEST .STRL "Project Corridor West" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE SANFAC-F ; TO ROOM .PROP 1,P?NW ; UNCONDITIONAL EXIT .BYTE FORK ; TO ROOM .PROP 2,P?LDESC STR?250 .PROP 2,P?C-MOVE T?1507 .BYTE 0 .ENDT T?COMM-SCREEN:: .TABLE ; TABLE FOR OBJECT COMM-SCREEN .STRL "screen" .PROP 6,P?SYNONYM W?COMMUNICATIONS W?MESSAGE W?SCREEN .PROP 2,P?TEXT STR?183 .BYTE 0 .ENDT T?STRIP-NEAR-STATION:: .TABLE ; TABLE FOR OBJECT STRIP-NEAR-STATION .STRL "Strip Near Station" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE MIDDLE-OF-STRIP ; TO ROOM .PROP 2,P?EAST ; IMPOSSIBLE EXIT STR?290 ; FAILURE MESSAGE .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT STR?290 ; FAILURE MESSAGE .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE STATION-384 ; TO ROOM .PROP 2,P?VALUE 4 .PROP 2,P?LDESC STR?289 .PROP 2,P?C-MOVE T?3507 .PROP 4,P?PSEUDO W?VOID ; NAME VOID-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE STRIP .BYTE 0 .ENDT T?UPPER-ELEVATOR-CARD:: .TABLE ; TABLE FOR OBJECT UPPER-ELEVATOR-CARD .STRL "upper elevator access card" .PROP 4,P?SYNONYM W?CARD W?CARDS .PROP 2,P?VALUE 1 .PROP 2,P?SIZE 3 .PROP 3,P?ADJECTIVE .BYTE A?UPPER .BYTE A?ELEVATOR .BYTE A?ACCESS .PROP 2,P?TEXT STR?128 .BYTE 0 .ENDT T?GOOD-BEDISTOR:: .TABLE ; TABLE FOR OBJECT GOOD-BEDISTOR .STRL "good ninety-ohm bedistor" .PROP 2,P?SYNONYM W?BEDISTOR .PROP 2,P?SIZE 8 .PROP 2,P?ACTION GOOD-BEDISTOR-F .PROP 3,P?ADJECTIVE .BYTE A?GOOD .BYTE A?NINETY .BYTE A?OHM .BYTE 0 .ENDT T?STORAGE-EAST:: .TABLE ; TABLE FOR OBJECT STORAGE-EAST .STRL "Storage East" .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR-N ; TO ROOM .PROP 2,P?LDESC STR?134 .PROP 2,P?C-MOVE T?3806 .PROP 1,P?GLOBAL .BYTE SHELVES .BYTE 0 .ENDT T?CONFERENCE-DOOR:: .TABLE ; TABLE FOR OBJECT CONFERENCE-DOOR .STRL "door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION CONFERENCE-DOOR-F .BYTE 0 .ENDT T?SANFAC-C:: .TABLE ; TABLE FOR OBJECT SANFAC-C .STRL "SanFac C" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE DORM-C ; TO ROOM .PROP 2,P?LDESC STR?109 .PROP 2,P?C-MOVE T?1706 .PROP 8,P?PSEUDO W?FIXTURES ; NAME TOILET-PSEUDO ; HANDLER W?TOILET ; NAME TOILET-PSEUDO ; HANDLER .BYTE 0 .ENDT T?CREVICE:: .TABLE ; TABLE FOR OBJECT CREVICE .STRL "crevice" .PROP 6,P?SYNONYM W?CREVICE W?CRACK W?HOLE .PROP 2,P?ACTION CREVICE-F .PROP 2,P?ADJECTIVE .BYTE A?NARROW .BYTE A?JAGGED .BYTE 0 .ENDT T?PHYSICAL-PLANT:: .TABLE ; TABLE FOR OBJECT PHYSICAL-PLANT .STRL "Physical Plant" .PROP 1,P?NE ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR-N ; TO ROOM .PROP 1,P?SE ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR ; TO ROOM .PROP 2,P?LDESC STR?138 .PROP 2,P?C-MOVE T?3906 .PROP 8,P?PSEUDO W?EQUIPM ; NAME EQUIPMENT-PSEUDO ; HANDLER W?CATWALK ; NAME CATWALK-PSEUDO ; HANDLER .BYTE 0 .ENDT T?REACTOR-ELEVATOR:: .TABLE ; TABLE FOR OBJECT REACTOR-ELEVATOR .STRL "Reactor Elevator" .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE REACTOR-CONTROL ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE REACTOR-CONTROL ; TO ROOM .PROP 2,P?LDESC STR?140 .PROP 2,P?C-MOVE T?4206 .PROP 4,P?GLOBAL .BYTE REACTOR-ELEVATOR-DOOR .BYTE SLOT .BYTE ELEVATOR-BUTTON .BYTE CONTROLS .BYTE 0 .ENDT T?BETTY-CONTROL-WEST:: .TABLE ; TABLE FOR OBJECT BETTY-CONTROL-WEST .STRL "Betty Control West" .PROP 5,P?EAST ; CONDITIONAL EXIT .BYTE SHUTTLE-CAR-BETTY ; TO ROOM .BYTE SHUTTLE-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION CONTROL-CABIN-F .PROP 2,P?C-MOVE T?1203 .PROP 5,P?GLOBAL .BYTE GLOBAL-SHUTTLE .BYTE SLOT .BYTE LEVER .BYTE WINDOW .BYTE SHUTTLE-DOOR .BYTE 0 .ENDT T?CHEMICAL-FLUID:: .TABLE ; TABLE FOR OBJECT CHEMICAL-FLUID .STRL "quantity of chemical fluid" .PROP 8,P?SYNONYM W?QUANTITY W?LIQUID W?FLUID W?CHEMICAL .PROP 2,P?ACTION CHEMICAL-FLUID-F .PROP 3,P?ADJECTIVE .BYTE A?MILKY .BYTE A?WHITE .BYTE A?CHEMICAL .BYTE 0 .ENDT T?LOWER-ELEVATOR:: .TABLE ; TABLE FOR OBJECT LOWER-ELEVATOR .STRL "Lower Elevator" .PROP 3,P?NORTH ; CONDITIONAL EXIT ELEVATOR-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 2,P?UP ; IMPOSSIBLE EXIT STR?175 ; FAILURE MESSAGE .PROP 2,P?DOWN ; IMPOSSIBLE EXIT STR?175 ; FAILURE MESSAGE .PROP 3,P?OUT ; CONDITIONAL EXIT ELEVATOR-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 2,P?ACTION LOWER-ELEVATOR-F .PROP 2,P?C-MOVE T?4806 .PROP 5,P?GLOBAL .BYTE LIGHTS .BYTE CONTROLS .BYTE SLOT .BYTE ELEVATOR-BUTTON .BYTE LOWER-ELEVATOR-DOOR .BYTE 0 .ENDT T?MAGNET:: .TABLE ; TABLE FOR OBJECT MAGNET .STRL "curved metal bar" .PROP 4,P?SYNONYM W?MAGNET W?BAR .PROP 2,P?SIZE 10 .PROP 2,P?ACTION MAGNET-F .PROP 3,P?ADJECTIVE .BYTE A?CURVED .BYTE A?METAL .BYTE A?HORSESHOE .PROP 2,P?FDESC STR?143 .BYTE 0 .ENDT T?RADIATION-LOCK-WEST:: .TABLE ; TABLE FOR OBJECT RADIATION-LOCK-WEST .STRL "Radiation Lock West" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE RADIATION-LOCK-EAST ; TO ROOM .PROP 5,P?WEST ; CONDITIONAL EXIT .BYTE MAIN-LAB ; TO ROOM .BYTE RAD-DOOR-WEST ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?LDESC STR?263 .PROP 2,P?C-MOVE T?2807 .PROP 1,P?GLOBAL .BYTE RAD-DOOR-WEST .BYTE 0 .ENDT T?UNDERWATER:: .TABLE ; TABLE FOR OBJECT UNDERWATER .STRL "Underwater" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE UNDERWATER ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE UNDERWATER ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE UNDERWATER ; TO ROOM .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE CRAG ; TO ROOM .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE UNDERWATER ; TO ROOM .PROP 2,P?ACTION UNDERWATER-F .PROP 2,P?LDESC STR?100 .PROP 2,P?C-MOVE T?106 .BYTE 0 .ENDT T?REC-AREA:: .TABLE ; TABLE FOR OBJECT REC-AREA .STRL "Rec Area" .PROP 5,P?NORTH ; CONDITIONAL EXIT .BYTE CONFERENCE-ROOM ; TO ROOM .BYTE CONFERENCE-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE REC-CORRIDOR ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE PLAIN-HALL ; TO ROOM .PROP 2,P?ACTION REC-AREA-F .PROP 2,P?C-MOVE T?806 .PROP 8,P?PSEUDO W?GAMES ; NAME GAMES-PSEUDO ; HANDLER W?TAPES ; NAME TAPES-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE CONFERENCE-DOOR .BYTE 0 .ENDT T?BLATHER:: .TABLE ; TABLE FOR OBJECT BLATHER .STRL "Ensign First Class" .PROP 4,P?SYNONYM W?ENSIGN W?BLATHER .PROP 2,P?SIZE 150 .PROP 2,P?ACTION BLATHER-F .PROP 3,P?ADJECTIVE .BYTE A?ENSIGN .BYTE A?FIRST .BYTE A?CLASS .PROP 2,P?LDESC STR?15 .BYTE 0 .ENDT T?BIO-DOOR-EAST:: .TABLE ; TABLE FOR OBJECT BIO-DOOR-EAST .STRL "lab door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION BIO-DOOR-EAST-F .PROP 1,P?ADJECTIVE .BYTE A?LAB .BYTE 0 .ENDT T?CANTEEN:: .TABLE ; TABLE FOR OBJECT CANTEEN .STRL "canteen" .PROP 2,P?SYNONYM W?CANTEEN .PROP 2,P?SIZE 10 .PROP 1,P?ADJECTIVE .BYTE A?OCTAGONAL .PROP 2,P?CAPACITY 5 .PROP 2,P?FDESC STR?118 .BYTE 0 .ENDT T?OFFICE-DOOR:: .TABLE ; TABLE FOR OBJECT OFFICE-DOOR .STRL "office door" .PROP 2,P?SYNONYM W?DOOR .PROP 1,P?ADJECTIVE .BYTE A?OFFICE .BYTE 0 .ENDT T?ID-CARD:: .TABLE ; TABLE FOR OBJECT ID-CARD .STRL "ID card" .PROP 4,P?SYNONYM W?CARD W?CARDS .PROP 2,P?SIZE 3 .PROP 3,P?ADJECTIVE .BYTE A?PATROL .BYTE A?ID .BYTE A?IDENTIFICATION .PROP 2,P?TEXT STR?6 .BYTE 0 .ENDT T?ALFIE-CONTROL-EAST:: .TABLE ; TABLE FOR OBJECT ALFIE-CONTROL-EAST .STRL "Alfie Control East" .PROP 5,P?WEST ; CONDITIONAL EXIT .BYTE SHUTTLE-CAR-ALFIE ; TO ROOM .BYTE SHUTTLE-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION CONTROL-CABIN-F .PROP 2,P?C-MOVE T?803 .PROP 5,P?GLOBAL .BYTE SLOT .BYTE WINDOW .BYTE LEVER .BYTE SHUTTLE-DOOR .BYTE GLOBAL-SHUTTLE .BYTE 0 .ENDT T?LADDER:: .TABLE ; TABLE FOR OBJECT LADDER .STRL "ladder" .PROP 2,P?SYNONYM W?LADDER .PROP 2,P?SIZE 80 .PROP 2,P?ACTION LADDER-F .PROP 4,P?ADJECTIVE .BYTE A?HEAVY .BYTE A?DUTY .BYTE A?ALUMINUM .BYTE A?LARGE .PROP 2,P?LDESC STR?115 .PROP 2,P?FDESC STR?114 .BYTE 0 .ENDT T?COMPUTER-ROOM:: .TABLE ; TABLE FOR OBJECT COMPUTER-ROOM .STRL "Computer Room" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR-EAST ; TO ROOM .PROP 1,P?NE ; UNCONDITIONAL EXIT .BYTE MAIN-LAB ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE MINI-BOOTH ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE PROJCON-OFFICE ; TO ROOM .PROP 1,P?IN ; UNCONDITIONAL EXIT .BYTE MINI-BOOTH ; TO ROOM .PROP 2,P?LDESC STR?254 .PROP 2,P?C-MOVE T?2207 .PROP 4,P?PSEUDO W?BOOTH ; NAME NEAR-BOOTH-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE LIGHTS .BYTE 0 .ENDT T?ADMIN-CORRIDOR-N:: .TABLE ; TABLE FOR OBJECT ADMIN-CORRIDOR-N .STRL "Admin Corridor North" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE TRANSPORTATION-SUPPLY ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE PLAN-ROOM ; TO ROOM .PROP 3,P?SOUTH ; CONDITIONAL EXIT LADDER-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE SMALL-OFFICE ; TO ROOM .PROP 2,P?VALUE 4 .PROP 2,P?ACTION ADMIN-CORRIDOR-N-F .PROP 2,P?C-MOVE T?2806 .PROP 1,P?GLOBAL .BYTE RIFT .BYTE 0 .ENDT T?KITCHEN-DOOR:: .TABLE ; TABLE FOR OBJECT KITCHEN-DOOR .STRL "door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION KITCHEN-DOOR-F .PROP 1,P?ADJECTIVE .BYTE A?KITCHEN .BYTE 0 .ENDT T?MAIN-LAB:: .TABLE ; TABLE FOR OBJECT MAIN-LAB .STRL "Main Lab" .PROP 5,P?NE ; CONDITIONAL EXIT .BYTE RADIATION-LOCK-WEST ; TO ROOM .BYTE RAD-DOOR-WEST ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 5,P?SE ; CONDITIONAL EXIT .BYTE BIO-LOCK-WEST ; TO ROOM .BYTE BIO-DOOR-WEST ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE LAB-STORAGE ; TO ROOM .PROP 1,P?SW ; UNCONDITIONAL EXIT .BYTE COMPUTER-ROOM ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR-EAST ; TO ROOM .PROP 2,P?LDESC STR?257 .PROP 2,P?C-MOVE T?2407 .PROP 2,P?GLOBAL .BYTE BIO-DOOR-WEST .BYTE RAD-DOOR-WEST .BYTE 0 .ENDT T?SYSTEMS-CORRIDOR:: .TABLE ; TABLE FOR OBJECT SYSTEMS-CORRIDOR .STRL "Systems Corridor" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE PLANETARY-DEFENSE ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-EAST ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-WEST ; TO ROOM .PROP 2,P?LDESC STR?202 .PROP 2,P?C-MOVE T?707 .BYTE 0 .ENDT T?LOWER-ELEVATOR-DOOR:: .TABLE ; TABLE FOR OBJECT LOWER-ELEVATOR-DOOR .STRL "red door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION LOWER-ELEVATOR-DOOR-F .PROP 4,P?ADJECTIVE .BYTE A?RED .BYTE A?LOWER .BYTE A?ELEVATOR .BYTE A?METAL .BYTE 0 .ENDT T?MEGAFUSE-K:: .TABLE ; TABLE FOR OBJECT MEGAFUSE-K .STRL "K-series megafuse" .PROP 4,P?SYNONYM W?FUSE W?MEGAFUSE .PROP 2,P?SIZE 5 .PROP 4,P?ADJECTIVE .BYTE A?K-SERIES .BYTE A?K .BYTE A?SERIES .BYTE A?MEGA .BYTE 0 .ENDT T?FUNNEL-HOLE:: .TABLE ; TABLE FOR OBJECT FUNNEL-HOLE .STRL "funnel-shaped hole" .PROP 2,P?SYNONYM W?HOLE .PROP 2,P?ADJECTIVE .BYTE A?FUNNEL .BYTE A?SHAPED .BYTE 0 .ENDT T?CRYO-ELEVATOR:: .TABLE ; TABLE FOR OBJECT CRYO-ELEVATOR .STRL "Cryo-Elevator" .PROP 3,P?NORTH ; CONDITIONAL EXIT CRYO-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 2,P?ACTION CRYO-ELEVATOR-F .PROP 2,P?C-MOVE T?1907 .PROP 4,P?PSEUDO W?BUTTON ; NAME CRYO-BUTTON-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE CRYO-ELEVATOR-DOOR .BYTE 0 .ENDT T?WAITING-AREA:: .TABLE ; TABLE FOR OBJECT WAITING-AREA .STRL "Waiting Area" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE KALAMONTEE-PLATFORM ; TO ROOM .PROP 3,P?SOUTH ; CONDITIONAL EXIT OTHER-ELEVATOR-ENTER-F ; PER FUNCTION .BYTE 0 .PROP 3,P?IN ; CONDITIONAL EXIT OTHER-ELEVATOR-ENTER-F ; PER FUNCTION .BYTE 0 .PROP 2,P?LDESC STR?189 .PROP 2,P?C-MOVE T?5706 .PROP 8,P?PSEUDO W?BENCH ; NAME BENCH-PSEUDO ; HANDLER W?BENCHE ; NAME BENCH-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE LOWER-ELEVATOR-DOOR .BYTE 0 .ENDT T?REPAIR-ROOM:: .TABLE ; TABLE FOR OBJECT REPAIR-ROOM .STRL "Repair Room" .PROP 2,P?NORTH ; IMPOSSIBLE EXIT STR?199 ; FAILURE MESSAGE .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-WEST ; TO ROOM .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-WEST ; TO ROOM .PROP 2,P?LDESC STR?198 .PROP 2,P?C-MOVE T?507 .PROP 8,P?PSEUDO W?CABINETS ; NAME CABINETS-PSEUDO ; HANDLER W?MACHIN ; NAME EQUIPMENT-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE STAIRS .BYTE 0 .ENDT T?BIO-LAB:: .TABLE ; TABLE FOR OBJECT BIO-LAB .STRL "Bio Lab" .PROP 5,P?EAST ; CONDITIONAL EXIT .BYTE LAB-OFFICE ; TO ROOM .BYTE OFFICE-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 5,P?WEST ; CONDITIONAL EXIT .BYTE BIO-LOCK-EAST ; TO ROOM .BYTE BIO-DOOR-EAST ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION BIO-LAB-F .PROP 2,P?C-MOVE T?3007 .PROP 4,P?PSEUDO W?CRACK ; NAME CRACK-PSEUDO ; HANDLER .PROP 3,P?GLOBAL .BYTE BIO-DOOR-EAST .BYTE WINDOW .BYTE OFFICE-DOOR .BYTE 0 .ENDT T?PLAYBACK-BUTTON:: .TABLE ; TABLE FOR OBJECT PLAYBACK-BUTTON .STRL "glowing button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION PLAYBACK-BUTTON-F .PROP 2,P?ADJECTIVE .BYTE A?GLOWIN .BYTE A?PLAYBA .BYTE 0 .ENDT T?FIRST-BOARD:: .TABLE ; TABLE FOR OBJECT FIRST-BOARD .STRL "first seventeen-centimeter fromitz board" .PROP 4,P?SYNONYM W?BOARD W?BOARDS .PROP 2,P?ACTION BOARD-F .PROP 4,P?ADJECTIVE .BYTE A?FIRST .BYTE A?SEVENTEEN .BYTE A?CENTIMETER .BYTE A?FROMITZ .BYTE 0 .ENDT T?CRYO-ELEVATOR-DOOR:: .TABLE ; TABLE FOR OBJECT CRYO-ELEVATOR-DOOR .STRL "cryo-elevator door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ADJECTIVE .BYTE A?CRYO-ELEVATOR .BYTE A?ELEVATOR .BYTE 0 .ENDT T?OBSERVATION-DECK:: .TABLE ; TABLE FOR OBJECT OBSERVATION-DECK .STRL "Observation Deck" .PROP 1,P?NE ; UNCONDITIONAL EXIT .BYTE TOWER-CORE ; TO ROOM .PROP 2,P?LDESC STR?188 .PROP 2,P?C-MOVE T?5606 .PROP 1,P?GLOBAL .BYTE OCEAN .BYTE 0 .ENDT T?LOWER-ELEVATOR-CARD:: .TABLE ; TABLE FOR OBJECT LOWER-ELEVATOR-CARD .STRL "lower elevator access card" .PROP 4,P?SYNONYM W?CARD W?CARDS .PROP 2,P?VALUE 1 .PROP 2,P?SIZE 3 .PROP 3,P?ADJECTIVE .BYTE A?LOWER .BYTE A?ELEVATOR .BYTE A?ACCESS .PROP 2,P?TEXT STR?130 .BYTE 0 .ENDT T?ACCESS-PANEL:: .TABLE ; TABLE FOR OBJECT ACCESS-PANEL .STRL "access panel" .PROP 6,P?SYNONYM W?PANEL W?DOOR W?SOCKET .PROP 2,P?ACTION ACCESS-PANEL-F .PROP 3,P?ADJECTIVE .BYTE A?SMALL .BYTE A?ACCESS .BYTE A?REPAIR .PROP 2,P?CAPACITY 40 .BYTE 0 .ENDT T?SCRUB-BRUSH:: .TABLE ; TABLE FOR OBJECT SCRUB-BRUSH .STRL "Patrol-issue self-contained multi-purpose scrub brush" .PROP 6,P?SYNONYM W?BRUSH W?SCRUBB W?SCRUBR .PROP 2,P?SIZE 10 .PROP 4,P?ADJECTIVE .BYTE A?SCRUB .BYTE A?PATROL .BYTE A?SELF-CONTAINED .BYTE A?MULTI .BYTE 0 .ENDT T?GLOBAL-SHUTTLE:: .TABLE ; TABLE FOR OBJECT GLOBAL-SHUTTLE .STRL "shuttle car" .PROP 4,P?SYNONYM W?CAR W?SHUTTL .PROP 2,P?ACTION GLOBAL-SHUTTLE-F .PROP 1,P?ADJECTIVE .BYTE A?SHUTTL .BYTE 0 .ENDT T?STORAGE-WEST-DOOR:: .TABLE ; TABLE FOR OBJECT STORAGE-WEST-DOOR .STRL "door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION STORAGE-WEST-DOOR-F .BYTE 0 .ENDT T?LARGE-OFFICE:: .TABLE ; TABLE FOR OBJECT LARGE-OFFICE .STRL "Large Office" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE SMALL-OFFICE ; TO ROOM .PROP 2,P?LDESC STR?131 .PROP 2,P?C-MOVE T?3406 .PROP 2,P?GLOBAL .BYTE WINDOW .BYTE OCEAN .BYTE 0 .ENDT T?CONFERENCE-ROOM:: .TABLE ; TABLE FOR OBJECT CONFERENCE-ROOM .STRL "Conference Room" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE BOOTH-1 ; TO ROOM .PROP 5,P?SOUTH ; CONDITIONAL EXIT .BYTE REC-AREA ; TO ROOM .BYTE CONFERENCE-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 1,P?IN ; UNCONDITIONAL EXIT .BYTE BOOTH-1 ; TO ROOM .PROP 5,P?OUT ; CONDITIONAL EXIT .BYTE REC-AREA ; TO ROOM .BYTE CONFERENCE-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION CONFERENCE-ROOM-F .PROP 2,P?C-MOVE T?906 .PROP 4,P?PSEUDO W?BOOTH ; NAME NEAR-BOOTH-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE CONFERENCE-DOOR .BYTE TABLES .BYTE 0 .ENDT T?TELEPORTATION-CARD:: .TABLE ; TABLE FOR OBJECT TELEPORTATION-CARD .STRL "teleportation access card" .PROP 4,P?SYNONYM W?CARD W?CARDS .PROP 2,P?SIZE 3 .PROP 2,P?ADJECTIVE .BYTE A?TELEPO .BYTE A?ACCESS .PROP 2,P?TEXT STR?260 .BYTE 0 .ENDT T?PLIERS:: .TABLE ; TABLE FOR OBJECT PLIERS .STRL "pair of wide-nosed pliers" .PROP 4,P?SYNONYM W?PAIR W?PLIERS .PROP 2,P?SIZE 15 .PROP 3,P?ADJECTIVE .BYTE A?WIDE-NOSED .BYTE A?WIDE .BYTE A?NOSED .BYTE 0 .ENDT T?MEGAFUSE-B:: .TABLE ; TABLE FOR OBJECT MEGAFUSE-B .STRL "B-series megafuse" .PROP 4,P?SYNONYM W?FUSE W?MEGAFUSE .PROP 2,P?SIZE 5 .PROP 4,P?ADJECTIVE .BYTE A?B-SERIES .BYTE A?B .BYTE A?SERIES .BYTE A?MEGA .BYTE 0 .ENDT T?PLANETARY-DEFENSE:: .TABLE ; TABLE FOR OBJECT PLANETARY-DEFENSE .STRL "Planetary Defense" .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR ; TO ROOM .PROP 2,P?ACTION PLANETARY-DEFENSE-F .PROP 2,P?C-MOVE T?1007 .PROP 2,P?GLOBAL .BYTE CONTROLS .BYTE LIGHTS .BYTE 0 .ENDT T?LEVER:: .TABLE ; TABLE FOR OBJECT LEVER .STRL "lever" .PROP 2,P?SYNONYM W?LEVER .PROP 2,P?ACTION LEVER-F .BYTE 0 .ENDT T?LIBRARY-LOBBY:: .TABLE ; TABLE FOR OBJECT LIBRARY-LOBBY .STRL "Library Lobby" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-EAST ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE BOOTH-3 ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR-EAST ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE LIBRARY ; TO ROOM .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE LIBRARY ; TO ROOM .PROP 1,P?IN ; UNCONDITIONAL EXIT .BYTE BOOTH-3 ; TO ROOM .PROP 2,P?LDESC STR?205 .PROP 2,P?C-MOVE T?1207 .PROP 8,P?PSEUDO W?CARPET ; NAME CARPET-PSEUDO ; HANDLER W?BOOTH ; NAME NEAR-BOOTH-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE TABLES .BYTE STAIRS .BYTE 0 .ENDT T?CLIFF:: .TABLE ; TABLE FOR OBJECT CLIFF .STRL "cliff" .PROP 2,P?SYNONYM W?CLIFF .PROP 2,P?ACTION CLIFF-F .BYTE 0 .ENDT T?BIO-LOCK-EAST:: .TABLE ; TABLE FOR OBJECT BIO-LOCK-EAST .STRL "Bio Lock East" .PROP 5,P?EAST ; CONDITIONAL EXIT .BYTE BIO-LAB ; TO ROOM .BYTE BIO-DOOR-EAST ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE BIO-LOCK-WEST ; TO ROOM .PROP 2,P?ACTION BIO-LOCK-EAST-F .PROP 2,P?LDESC STR?262 .PROP 2,P?C-MOVE T?2707 .PROP 2,P?GLOBAL .BYTE BIO-DOOR-EAST .BYTE WINDOW .BYTE 0 .ENDT T?RECEIVE-CONSOLE:: .TABLE ; TABLE FOR OBJECT RECEIVE-CONSOLE .STRL "communications receive console" .PROP 4,P?SYNONYM W?CONSOLE W?CONTRO .PROP 4,P?ADJECTIVE .BYTE A?COMMUNICATIONS .BYTE A?RECEIVE .BYTE A?LEFT .BYTE A?FIRST .PROP 2,P?C-MOVE T?5406 .BYTE 0 .ENDT T?STRIP-NEAR-RELAY:: .TABLE ; TABLE FOR OBJECT STRIP-NEAR-RELAY .STRL "Strip Near Relay" .PROP 2,P?NORTH ; IMPOSSIBLE EXIT STR?294 ; FAILURE MESSAGE .PROP 3,P?EAST ; CONDITIONAL EXIT RELAY-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 4,P?SOUTH ; CONDITIONAL EXIT .BYTE MIDDLE-OF-STRIP ; TO ROOM .BYTE NO-MICROBE ; IF FLAG IS TRUE STR?292 ; FAILURE MESSAGE .PROP 2,P?WEST ; IMPOSSIBLE EXIT STR?293 ; FAILURE MESSAGE .PROP 2,P?ACTION STRIP-NEAR-RELAY-F .PROP 2,P?C-MOVE T?3707 .PROP 4,P?PSEUDO W?VOID ; NAME VOID-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE STRIP .BYTE 0 .ENDT T?AMBASSADOR:: .TABLE ; TABLE FOR OBJECT AMBASSADOR .STRL "alien ambassador" .PROP 2,P?SYNONYM W?AMBASSADOR .PROP 2,P?SIZE 150 .PROP 2,P?ACTION AMBASSADOR-F .PROP 6,P?ADJECTIVE .BYTE A?VERY .BYTE A?IMPORTANT .BYTE A?ALIEN .BYTE A?HIGH-RANKING .BYTE A?HIGH .BYTE A?RANKING .PROP 2,P?LDESC STR?17 .BYTE 0 .ENDT T?BED:: .TABLE ; TABLE FOR OBJECT BED .STRL "bed" .PROP 4,P?SYNONYM W?BUNK W?BED .PROP 2,P?ACTION BED-F .PROP 3,P?ADJECTIVE .BYTE A?MULTI .BYTE A?TIERED .BYTE A?BUNK .BYTE 0 .ENDT T?LAB-UNIFORM:: .TABLE ; TABLE FOR OBJECT LAB-UNIFORM .STRL "lab uniform" .PROP 8,P?SYNONYM W?UNIFORM W?SUIT W?POCKET W?LOGO .PROP 2,P?SIZE 10 .PROP 2,P?ACTION LAB-UNIFORM-F .PROP 3,P?ADJECTIVE .BYTE A?PALE .BYTE A?BLUE .BYTE A?LAB .PROP 2,P?CAPACITY 5 .PROP 2,P?FDESC STR?259 .BYTE 0 .ENDT T?PADLOCK:: .TABLE ; TABLE FOR OBJECT PADLOCK .STRL "padlock" .PROP 6,P?SYNONYM W?PADLOCK W?PAD W?LOCK .PROP 2,P?SIZE 10 .PROP 2,P?ACTION PADLOCK-F .PROP 3,P?ADJECTIVE .BYTE A?SIMPLE .BYTE A?STEEL .BYTE A?METAL .BYTE 0 .ENDT T?LIGHT-BUTTON:: .TABLE ; TABLE FOR OBJECT LIGHT-BUTTON .STRL "white button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION LIGHT-BUTTON-F .PROP 2,P?ADJECTIVE .BYTE A?WHITE .BYTE A?LIGHT .BYTE 0 .ENDT T?SQUARE-WHITE-BUTTON:: .TABLE ; TABLE FOR OBJECT SQUARE-WHITE-BUTTON .STRL "square white button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION CHEM-BUTTON-F .PROP 2,P?ADJECTIVE .BYTE A?SQUARE .BYTE A?WHITE .PROP 2,P?C-MOVE 9 .BYTE 0 .ENDT T?RAD-DOOR-EAST:: .TABLE ; TABLE FOR OBJECT RAD-DOOR-EAST .STRL "lab door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION RAD-DOOR-EAST-F .PROP 1,P?ADJECTIVE .BYTE A?LAB .BYTE 0 .ENDT T?GLOBAL-POD:: .TABLE ; TABLE FOR OBJECT GLOBAL-POD .STRL "escape pod" .PROP 2,P?SYNONYM W?POD .PROP 2,P?ACTION GLOBAL-POD-F .PROP 3,P?ADJECTIVE .BYTE A?EMERGENCY .BYTE A?ESCAPE .BYTE A?PRIMARY .BYTE 0 .ENDT T?STATION-384:: .TABLE ; TABLE FOR OBJECT STATION-384 .STRL "Station 384" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE STRIP-NEAR-STATION ; TO ROOM .PROP 2,P?ACTION STATION-384-F .PROP 2,P?LDESC STR?287 .PROP 2,P?C-MOVE T?3407 .PROP 8,P?PSEUDO W?PLATE ; NAME PLATE-PSEUDO ; HANDLER W?PLATES ; NAME PLATE-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE STRIP .BYTE 0 .ENDT T?MESS-HALL:: .TABLE ; TABLE FOR OBJECT MESS-HALL .STRL "Mess Hall" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE MESS-CORRIDOR ; TO ROOM .PROP 5,P?SOUTH ; CONDITIONAL EXIT .BYTE KITCHEN ; TO ROOM .BYTE KITCHEN-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 5,P?IN ; CONDITIONAL EXIT .BYTE KITCHEN ; TO ROOM .BYTE KITCHEN-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE MESS-CORRIDOR ; TO ROOM .PROP 2,P?ACTION MESS-HALL-F .PROP 2,P?C-MOVE T?2306 .PROP 8,P?PSEUDO W?BENCH ; NAME BENCH-PSEUDO ; HANDLER W?BENCHE ; NAME BENCH-PSEUDO ; HANDLER .PROP 3,P?GLOBAL .BYTE TABLES .BYTE KITCHEN-DOOR .BYTE SLOT .BYTE 0 .ENDT T?SYSTEMS-MONITORS:: .TABLE ; TABLE FOR OBJECT SYSTEMS-MONITORS .STRL "Systems Monitors" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR ; TO ROOM .PROP 2,P?ACTION SYSTEMS-MONITORS-F .PROP 2,P?C-MOVE T?3006 .PROP 8,P?PSEUDO W?MONITORS ; NAME MONITORS-PSEUDO ; HANDLER W?EQUIPM ; NAME EQUIPMENT-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE TABLES .BYTE 0 .ENDT T?DARK-BUTTON:: .TABLE ; TABLE FOR OBJECT DARK-BUTTON .STRL "black button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION DARK-BUTTON-F .PROP 3,P?ADJECTIVE .BYTE A?BLACK .BYTE A?DARK .BYTE A?DARKNESS .BYTE 0 .ENDT T?TOWEL:: .TABLE ; TABLE FOR OBJECT TOWEL .STRL "towel" .PROP 2,P?SYNONYM W?TOWEL .PROP 2,P?SIZE 10 .PROP 2,P?ACTION TOWEL-F .PROP 2,P?TEXT STR?28 .BYTE 0 .ENDT T?TELEPORTATION-BUTTON-2:: .TABLE ; TABLE FOR OBJECT TELEPORTATION-BUTTON-2 .STRL "beige button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION TELEPORTATION-BUTTON-2-F .PROP 2,P?ADJECTIVE .BYTE A?BEIGE .BYTE A?SECOND .BYTE 0 .ENDT T?SANFAC-B:: .TABLE ; TABLE FOR OBJECT SANFAC-B .STRL "SanFac B" .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE DORM-B ; TO ROOM .PROP 2,P?LDESC STR?110 .PROP 2,P?C-MOVE T?1506 .PROP 8,P?PSEUDO W?FIXTURES ; NAME TOILET-PSEUDO ; HANDLER W?TOILET ; NAME TOILET-PSEUDO ; HANDLER .BYTE 0 .ENDT T?DEAD-FLOYD:: .TABLE ; TABLE FOR OBJECT DEAD-FLOYD .STRL "mangled robot" .PROP 6,P?SYNONYM W?FLOYD W?ROBOT W?COMPAN .PROP 2,P?ACTION DEAD-FLOYD-F .PROP 3,P?ADJECTIVE .BYTE A?MANGLE .BYTE A?DEAD .BYTE A?FORMER .PROP 2,P?LDESC STR?154 .BYTE 0 .ENDT T?FORK:: .TABLE ; TABLE FOR OBJECT FORK .STRL "Fork" .PROP 1,P?NE ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-WEST ; TO ROOM .PROP 1,P?SE ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR-WEST ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE ESCALATOR ; TO ROOM .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE ESCALATOR ; TO ROOM .PROP 2,P?LDESC STR?191 .PROP 2,P?C-MOVE T?307 .PROP 4,P?PSEUDO W?ESCALATOR ; NAME ESCALATOR-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE STAIRS .BYTE 0 .ENDT T?MEDICINE:: .TABLE ; TABLE FOR OBJECT MEDICINE .STRL "quantity of medicine" .PROP 2,P?SYNONYM W?MEDICINE .PROP 2,P?SIZE 7 .PROP 2,P?ACTION MEDICINE-F .PROP 3,P?ADJECTIVE .BYTE A?SMALL .BYTE A?QUANTITY .BYTE A?EXPERIMENTAL .PROP 2,P?FDESC STR?197 .BYTE 0 .ENDT T?DORM-CORRIDOR:: .TABLE ; TABLE FOR OBJECT DORM-CORRIDOR .STRL "Dorm Corridor" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE DORM-D ; TO ROOM .PROP 3,P?EAST ; CONDITIONAL EXIT LONG-HALL-F ; PER FUNCTION .BYTE 0 .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE DORM-C ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE MESS-CORRIDOR ; TO ROOM .PROP 2,P?LDESC STR?116 .PROP 2,P?C-MOVE T?2206 .PROP 4,P?PSEUDO W?WALKWAY ; NAME WALKWAY-PSEUDO ; HANDLER .BYTE 0 .ENDT T?RIFT:: .TABLE ; TABLE FOR OBJECT RIFT .STRL "rift" .PROP 8,P?SYNONYM W?RIFT W?GULF W?PRECIPICE W?HOLE .PROP 2,P?ACTION RIFT-F .PROP 3,P?ADJECTIVE .BYTE A?WIDE .BYTE A?DEEP .BYTE A?GAPING .BYTE 0 .ENDT T?LIBRARY:: .TABLE ; TABLE FOR OBJECT LIBRARY .STRL "Library" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE LIBRARY-LOBBY ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE LIBRARY-LOBBY ; TO ROOM .PROP 2,P?LDESC STR?209 .PROP 2,P?C-MOVE T?1407 .PROP 8,P?PSEUDO W?CARPET ; NAME CARPET-PSEUDO ; HANDLER W?DESK ; NAME DESK-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE TABLES .BYTE STAIRS .BYTE 0 .ENDT T?CELERY:: .TABLE ; TABLE FOR OBJECT CELERY .STRL "piece of celery" .PROP 6,P?SYNONYM W?CELERY W?PIECE W?STALK .PROP 2,P?ACTION CELERY-F .BYTE 0 .ENDT T?GREEN-BUTTON:: .TABLE ; TABLE FOR OBJECT GREEN-BUTTON .STRL "green button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION CHEM-BUTTON-F .PROP 1,P?ADJECTIVE .BYTE A?GREEN .PROP 2,P?C-MOVE 3 .BYTE 0 .ENDT T?TERMINAL:: .TABLE ; TABLE FOR OBJECT TERMINAL .STRL "terminal" .PROP 8,P?SYNONYM W?TERMINAL W?KEYBOARD W?SCREEN W?MACHIN .PROP 2,P?ACTION TERMINAL-F .PROP 2,P?ADJECTIVE .BYTE A?COMPUTER .BYTE A?VIDEO .PROP 2,P?LDESC STR?211 .PROP 2,P?FDESC STR?210 .BYTE 0 .ENDT T?RED-SPOOL:: .TABLE ; TABLE FOR OBJECT RED-SPOOL .STRL "red spool" .PROP 6,P?SYNONYM W?SPOOL W?SPOOLS W?OBJECT .PROP 2,P?SIZE 3 .PROP 2,P?ACTION RED-SPOOL-F .PROP 2,P?ADJECTIVE .BYTE A?RED .BYTE A?SMALL .PROP 2,P?TEXT STR?194 .PROP 2,P?FDESC STR?193 .BYTE 0 .ENDT T?LASER-DIAL:: .TABLE ; TABLE FOR OBJECT LASER-DIAL .STRL "laser setting dial" .PROP 2,P?SYNONYM W?DIAL .PROP 2,P?ACTION LASER-DIAL-F .PROP 2,P?ADJECTIVE .BYTE A?LASER .BYTE A?SETTING .BYTE 0 .ENDT T?SANFAC-F:: .TABLE ; TABLE FOR OBJECT SANFAC-F .STRL "SanFac F" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR-WEST ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR-WEST ; TO ROOM .PROP 2,P?LDESC STR?251 .PROP 2,P?C-MOVE T?1607 .PROP 8,P?PSEUDO W?FIXTURES ; NAME TOILET-PSEUDO ; HANDLER W?TOILET ; NAME TOILET-PSEUDO ; HANDLER .BYTE 0 .ENDT T?LAMP:: .TABLE ; TABLE FOR OBJECT LAMP .STRL "portable lamp" .PROP 6,P?SYNONYM W?LAMP W?LANTERN W?LIGHT .PROP 2,P?SIZE 20 .PROP 2,P?ACTION LAMP-F .PROP 2,P?ADJECTIVE .BYTE A?POWERFUL .BYTE A?PORTABLE .PROP 2,P?FDESC STR?282 .BYTE 0 .ENDT T?PROJECT-CORRIDOR-EAST:: .TABLE ; TABLE FOR OBJECT PROJECT-CORRIDOR-EAST .STRL "Project Corridor East" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE LIBRARY-LOBBY ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE MAIN-LAB ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE COMPUTER-ROOM ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE PROJECT-CORRIDOR ; TO ROOM .PROP 2,P?LDESC STR?253 .PROP 2,P?C-MOVE T?2107 .BYTE 0 .ENDT T?ESCAPE-POD:: .TABLE ; TABLE FOR OBJECT ESCAPE-POD .STRL "Escape Pod" .PROP 3,P?EAST ; CONDITIONAL EXIT POD-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 3,P?UP ; CONDITIONAL EXIT POD-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 3,P?OUT ; CONDITIONAL EXIT POD-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 2,P?VALUE 3 .PROP 2,P?ACTION ESCAPE-POD-F .PROP 2,P?C-MOVE T?603 .PROP 5,P?GLOBAL .BYTE POD-DOOR .BYTE CONTROLS .BYTE LIGHTS .BYTE GLOBAL-POD .BYTE WINDOW .BYTE 0 .ENDT T?TOWER-CORE:: .TABLE ; TABLE FOR OBJECT TOWER-CORE .STRL "Tower Core" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE UPPER-ELEVATOR ; TO ROOM .PROP 1,P?NE ; UNCONDITIONAL EXIT .BYTE COMM-ROOM ; TO ROOM .PROP 1,P?SW ; UNCONDITIONAL EXIT .BYTE OBSERVATION-DECK ; TO ROOM .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE HELIPAD ; TO ROOM .PROP 2,P?VALUE 4 .PROP 2,P?LDESC STR?179 .PROP 2,P?C-MOVE T?5006 .PROP 2,P?GLOBAL .BYTE STAIRS .BYTE UPPER-ELEVATOR-DOOR .BYTE 0 .ENDT T?RAT-ANT:: .TABLE ; TABLE FOR OBJECT RAT-ANT .STRL "rat-like, ant-like man-sized monster" .PROP 6,P?SYNONYM W?MONSTER W?MUTANT W?RAT-ANT .PROP 3,P?ADJECTIVE .BYTE A?RAT-LIKE .BYTE A?ANT-LIKE .BYTE A?MAN-SIZED .PROP 2,P?LDESC STR?322 .BYTE 0 .ENDT T?SHELVES:: .TABLE ; TABLE FOR OBJECT SHELVES .STRL "shelf" .PROP 4,P?SYNONYM W?SHELF W?SHELVES .PROP 2,P?ACTION SHELVES-F .BYTE 0 .ENDT T?BROWN-BUTTON:: .TABLE ; TABLE FOR OBJECT BROWN-BUTTON .STRL "brown button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION CHEM-BUTTON-F .PROP 1,P?ADJECTIVE .BYTE A?BROWN .PROP 2,P?C-MOVE 6 .BYTE 0 .ENDT T?BLUE-ELEVATOR-BUTTON:: .TABLE ; TABLE FOR OBJECT BLUE-ELEVATOR-BUTTON .STRL "blue button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION BLUE-ELEVATOR-BUTTON-F .PROP 2,P?ADJECTIVE .BYTE A?BLUE .BYTE A?NORTH .BYTE 0 .ENDT T?MEMO:: .TABLE ; TABLE FOR OBJECT MEMO .STRL "memo" .PROP 2,P?SYNONYM W?MEMO .PROP 2,P?TEXT STR?284 .BYTE 0 .ENDT T?TROLL:: .TABLE ; TABLE FOR OBJECT TROLL .STRL "hairy growling biped" .PROP 8,P?SYNONYM W?TROLL W?BIPED W?MUTANT W?MONSTER .PROP 4,P?ADJECTIVE .BYTE A?HAIRY .BYTE A?GROWLING .BYTE A?UGLY .BYTE A?DEFORMED .PROP 2,P?LDESC STR?323 .BYTE 0 .ENDT T?BIO-DOOR-WEST:: .TABLE ; TABLE FOR OBJECT BIO-DOOR-WEST .STRL "bio-lock door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION BIO-DOOR-WEST-F .PROP 1,P?ADJECTIVE .BYTE A?BIO-LOCK .BYTE 0 .ENDT T?CUBE:: .TABLE ; TABLE FOR OBJECT CUBE .STRL "large metal cube" .PROP 6,P?SYNONYM W?CUBE W?LID W?SOCKET .PROP 2,P?ACTION CUBE-F .PROP 2,P?ADJECTIVE .BYTE A?LARGE .BYTE A?METAL .BYTE 0 .ENDT T?BROWN-SPOOL:: .TABLE ; TABLE FOR OBJECT BROWN-SPOOL .STRL "brown spool" .PROP 6,P?SYNONYM W?SPOOL W?SPOOLS W?OBJECT .PROP 2,P?SIZE 3 .PROP 2,P?ADJECTIVE .BYTE A?BROWN .BYTE A?SMALL .PROP 2,P?TEXT STR?281 .PROP 2,P?FDESC STR?280 .BYTE 0 .ENDT T?SLOT:: .TABLE ; TABLE FOR OBJECT SLOT .STRL "slot" .PROP 2,P?SYNONYM W?SLOT .PROP 2,P?ACTION SLOT-F .PROP 1,P?ADJECTIVE .BYTE A?SMALL .BYTE 0 .ENDT T?SHUTTLE-CAR-ALFIE:: .TABLE ; TABLE FOR OBJECT SHUTTLE-CAR-ALFIE .STRL "Shuttle Car Alfie" .PROP 3,P?NORTH ; CONDITIONAL EXIT SHUTTLE-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE ALFIE-CONTROL-EAST ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE ALFIE-CONTROL-WEST ; TO ROOM .PROP 2,P?ACTION SHUTTLE-CAR-F .PROP 2,P?C-MOVE T?703 .PROP 2,P?GLOBAL .BYTE GLOBAL-SHUTTLE .BYTE SHUTTLE-DOOR .BYTE 0 .ENDT T?CRACKED-BOARD:: .TABLE ; TABLE FOR OBJECT CRACKED-BOARD .STRL "cracked seventeen-centimeter fromitz board" .PROP 4,P?SYNONYM W?BOARD W?BOARDS .PROP 2,P?SIZE 10 .PROP 2,P?ACTION CRACKED-BOARD-F .PROP 4,P?ADJECTIVE .BYTE A?CRACKED .BYTE A?SEVENTEEN .BYTE A?CENTIMETER .BYTE A?FROMITZ .BYTE 0 .ENDT T?HELICOPTER:: .TABLE ; TABLE FOR OBJECT HELICOPTER .STRL "Helicopter" .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE HELIPAD ; TO ROOM .PROP 2,P?LDESC STR?182 .PROP 2,P?C-MOVE T?5206 .PROP 4,P?PSEUDO W?LOCK ; NAME LOCK-PSEUDO ; HANDLER .PROP 4,P?GLOBAL .BYTE OCEAN .BYTE CONTROLS .BYTE WINDOW .BYTE HELICOPTER-OBJECT .BYTE 0 .ENDT T?POD-DOOR:: .TABLE ; TABLE FOR OBJECT POD-DOOR .STRL "escape pod bulkhead" .PROP 4,P?SYNONYM W?DOOR W?BULKHEAD .PROP 2,P?ACTION POD-DOOR-F .PROP 3,P?ADJECTIVE .BYTE A?EMERGENCY .BYTE A?ESCAPE .BYTE A?POD .BYTE 0 .ENDT T?DORM-D:: .TABLE ; TABLE FOR OBJECT DORM-D .STRL "Dorm D" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE SANFAC-D ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE DORM-CORRIDOR ; TO ROOM .PROP 2,P?LDESC STR?108 .PROP 2,P?C-MOVE T?1806 .PROP 4,P?PSEUDO W?PARTITION ; NAME PARTITION-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE BED .BYTE 0 .ENDT T?BOOTH-3:: .TABLE ; TABLE FOR OBJECT BOOTH-3 .STRL "Booth 3" .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE LIBRARY-LOBBY ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE LIBRARY-LOBBY ; TO ROOM .PROP 2,P?LDESC STR?208 .PROP 2,P?C-MOVE T?1307 .PROP 4,P?PSEUDO W?BOOTH ; NAME IN-BOOTH-PSEUDO ; HANDLER .PROP 4,P?GLOBAL .BYTE CONTROLS .BYTE SLOT .BYTE TELEPORTATION-BUTTON-1 .BYTE TELEPORTATION-BUTTON-2 .BYTE 0 .ENDT T?HIGH-PROTEIN:: .TABLE ; TABLE FOR OBJECT HIGH-PROTEIN .STRL "quantity of protein-rich liquid" .PROP 8,P?SYNONYM W?LIQUID W?FLUID W?FOOD W?QUANTITY .PROP 2,P?SIZE 5 .PROP 2,P?ACTION HIGH-PROTEIN-F .PROP 2,P?ADJECTIVE .BYTE A?BROWN .BYTE A?PROTEIN-RICH .BYTE 0 .ENDT T?GRUE:: .TABLE ; TABLE FOR OBJECT GRUE .STRL "lurking fanged creature" .PROP 8,P?SYNONYM W?GRUE W?CREATURE W?MUTANT W?MONSTER .PROP 2,P?ACTION GRUE-F .PROP 6,P?ADJECTIVE .BYTE A?LURKING .BYTE A?SINISTER .BYTE A?FANGED .BYTE A?VICIOUS .BYTE A?HUNGRY .BYTE A?SILENT .PROP 2,P?LDESC STR?324 .BYTE 0 .ENDT T?STORAGE-WEST:: .TABLE ; TABLE FOR OBJECT STORAGE-WEST .STRL "Storage West" .PROP 5,P?SOUTH ; CONDITIONAL EXIT .BYTE MESS-CORRIDOR ; TO ROOM .BYTE STORAGE-WEST-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 5,P?OUT ; CONDITIONAL EXIT .BYTE MESS-CORRIDOR ; TO ROOM .BYTE STORAGE-WEST-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?VALUE 4 .PROP 2,P?LDESC STR?111 .PROP 2,P?C-MOVE T?2106 .PROP 2,P?GLOBAL .BYTE SHELVES .BYTE STORAGE-WEST-DOOR .BYTE 0 .ENDT T?MEDICINE-BOTTLE:: .TABLE ; TABLE FOR OBJECT MEDICINE-BOTTLE .STRL "medicine bottle" .PROP 4,P?SYNONYM W?BOTTLE W?LABEL .PROP 2,P?SIZE 7 .PROP 4,P?ADJECTIVE .BYTE A?MEDICINE .BYTE A?SMALL .BYTE A?WHITE .BYTE A?TRANSL .PROP 2,P?TEXT STR?196 .PROP 2,P?CAPACITY 7 .PROP 2,P?FDESC STR?195 .BYTE 0 .ENDT T?SYSTEMS-CORRIDOR-EAST:: .TABLE ; TABLE FOR OBJECT SYSTEMS-CORRIDOR-EAST .STRL "Systems Corridor East" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE PLANETARY-COURSE-CONTROL ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE PHYSICAL-PLANT-TWO ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE LIBRARY-LOBBY ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR ; TO ROOM .PROP 2,P?LDESC STR?203 .PROP 2,P?C-MOVE T?807 .BYTE 0 .ENDT T?CRYO-ANTEROOM:: .TABLE ; TABLE FOR OBJECT CRYO-ANTEROOM .STRL "Cryo-Anteroom" .PROP 2,P?ACTION CRYO-ANTEROOM-F .PROP 2,P?C-MOVE T?2007 .BYTE 0 .ENDT T?WEST-WING:: .TABLE ; TABLE FOR OBJECT WEST-WING .STRL "West Wing" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE COURTYARD ; TO ROOM .PROP 2,P?DOWN ; IMPOSSIBLE EXIT STR?104 ; FAILURE MESSAGE .PROP 2,P?LDESC STR?103 .PROP 2,P?C-MOVE T?606 .PROP 8,P?PSEUDO W?CASTLE ; NAME CASTLE-PSEUDO ; HANDLER W?RUBBLE ; NAME RUBBLE-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE CLIFF .BYTE OCEAN .BYTE 0 .ENDT T?KITCHEN-CARD:: .TABLE ; TABLE FOR OBJECT KITCHEN-CARD .STRL "kitchen access card" .PROP 4,P?SYNONYM W?CARD W?CARDS .PROP 2,P?VALUE 1 .PROP 2,P?SIZE 3 .PROP 2,P?ADJECTIVE .BYTE A?KITCHEN .BYTE A?ACCESS .PROP 2,P?TEXT STR?127 .BYTE 0 .ENDT T?STAIRS:: .TABLE ; TABLE FOR OBJECT STAIRS .STRL "stairway" .PROP 8,P?SYNONYM W?STAIRS W?STEPS W?GANGWAY W?STAIRWAY .BYTE 0 .ENDT T?BOOTH-1:: .TABLE ; TABLE FOR OBJECT BOOTH-1 .STRL "Booth 1" .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE CONFERENCE-ROOM ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE CONFERENCE-ROOM ; TO ROOM .PROP 2,P?LDESC STR?106 .PROP 2,P?C-MOVE T?1006 .PROP 4,P?PSEUDO W?BOOTH ; NAME IN-BOOTH-PSEUDO ; HANDLER .PROP 4,P?GLOBAL .BYTE CONTROLS .BYTE SLOT .BYTE TELEPORTATION-BUTTON-2 .BYTE TELEPORTATION-BUTTON-3 .BYTE 0 .ENDT T?CHEMICAL-DISPENSER:: .TABLE ; TABLE FOR OBJECT CHEMICAL-DISPENSER .STRL "chemical dispenser" .PROP 4,P?SYNONYM W?DISPEN W?MACHIN .PROP 2,P?ACTION CHEMICAL-DISPENSER-F .PROP 3,P?ADJECTIVE .BYTE A?DISPEN .BYTE A?LARGE .BYTE A?CHEMICAL .BYTE 0 .ENDT T?RELAY:: .TABLE ; TABLE FOR OBJECT RELAY .STRL "micro-relay" .PROP 4,P?SYNONYM W?MICRO W?RELAY .PROP 2,P?ACTION RELAY-F .PROP 1,P?ADJECTIVE .BYTE A?MICRO .BYTE 0 .ENDT T?PHYSICAL-PLANT-TWO:: .TABLE ; TABLE FOR OBJECT PHYSICAL-PLANT-TWO .STRL "Physical Plant" .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-EAST ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE SYSTEMS-CORRIDOR-EAST ; TO ROOM .PROP 2,P?LDESC STR?204 .PROP 2,P?C-MOVE T?907 .PROP 4,P?PSEUDO W?EQUIPM ; NAME EQUIPMENT-PSEUDO ; HANDLER .BYTE 0 .ENDT T?SECOND-BOARD:: .TABLE ; TABLE FOR OBJECT SECOND-BOARD .STRL "second seventeen-centimeter fromitz board" .PROP 4,P?SYNONYM W?BOARD W?BOARDS .PROP 2,P?ACTION BOARD-F .PROP 4,P?ADJECTIVE .BYTE A?SECOND .BYTE A?SEVENTEEN .BYTE A?CENTIMETER .BYTE A?FROMITZ .BYTE 0 .ENDT T?CAN:: .TABLE ; TABLE FOR OBJECT CAN .STRL "tin can" .PROP 2,P?SYNONYM W?CAN .PROP 2,P?SIZE 15 .PROP 2,P?ACTION CAN-F .PROP 3,P?ADJECTIVE .BYTE A?LARGE .BYTE A?TIN .BYTE A?UNOPENED .PROP 2,P?LDESC STR?112 .PROP 2,P?FDESC STR?113 .BYTE 0 .ENDT T?LAB-OFFICE:: .TABLE ; TABLE FOR OBJECT LAB-OFFICE .STRL "Lab Office" .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE AUXILIARY-BOOTH ; TO ROOM .PROP 5,P?WEST ; CONDITIONAL EXIT .BYTE BIO-LAB ; TO ROOM .BYTE OFFICE-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 1,P?IN ; UNCONDITIONAL EXIT .BYTE AUXILIARY-BOOTH ; TO ROOM .PROP 2,P?ACTION LAB-OFFICE-F .PROP 2,P?C-MOVE T?3207 .PROP 8,P?PSEUDO W?FILES ; NAME CABINETS-PSEUDO ; HANDLER W?BOOTH ; NAME NEAR-BOOTH-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE OFFICE-DOOR .BYTE 0 .ENDT T?SHUTTLE-CARD:: .TABLE ; TABLE FOR OBJECT SHUTTLE-CARD .STRL "shuttle access card" .PROP 4,P?SYNONYM W?CARD W?CARDS .PROP 2,P?VALUE 1 .PROP 2,P?SIZE 3 .PROP 2,P?ADJECTIVE .BYTE A?SHUTTL .BYTE A?ACCESS .PROP 2,P?TEXT STR?129 .BYTE 0 .ENDT T?GROUND:: .TABLE ; TABLE FOR OBJECT GROUND .STRL "floor" .PROP 8,P?SYNONYM W?GROUND W?EARTH W?FLOOR W?DECK .PROP 2,P?ACTION GROUND-F .BYTE 0 .ENDT T?LAB-DESK:: .TABLE ; TABLE FOR OBJECT LAB-DESK .STRL "desk" .PROP 2,P?SYNONYM W?DESK .PROP 2,P?ACTION LAB-DESK-F .PROP 2,P?ADJECTIVE .BYTE A?LARGE .BYTE A?MESSY .PROP 2,P?CAPACITY 10 .BYTE 0 .ENDT T?FUNGICIDE-BUTTON:: .TABLE ; TABLE FOR OBJECT FUNGICIDE-BUTTON .STRL "red button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION FUNGICIDE-BUTTON-F .PROP 3,P?ADJECTIVE .BYTE A?RED .BYTE A?FUNGICIDE .BYTE A?EMERGENCY .BYTE 0 .ENDT T?TABLES:: .TABLE ; TABLE FOR OBJECT TABLES .STRL "table" .PROP 4,P?SYNONYM W?TABLE W?TABLES .PROP 2,P?ACTION TABLES-F .PROP 5,P?ADJECTIVE .BYTE A?ROUND .BYTE A?CONFERENCE .BYTE A?SMALL .BYTE A?WIDE .BYTE A?LONG .BYTE 0 .ENDT T?NOT-HERE-OBJECT:: .TABLE ; TABLE FOR OBJECT NOT-HERE-OBJECT .STRL "such thing" .PROP 2,P?ACTION NOT-HERE-OBJECT-F .BYTE 0 .ENDT T?SANFAC-A:: .TABLE ; TABLE FOR OBJECT SANFAC-A .STRL "SanFac A" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE DORM-A ; TO ROOM .PROP 2,P?LDESC STR?109 .PROP 2,P?C-MOVE T?1306 .PROP 8,P?PSEUDO W?FIXTURES ; NAME TOILET-PSEUDO ; HANDLER W?TOILET ; NAME TOILET-PSEUDO ; HANDLER .BYTE 0 .ENDT T?COMBINATION-PAPER:: .TABLE ; TABLE FOR OBJECT COMBINATION-PAPER .STRL "piece of paper" .PROP 4,P?SYNONYM W?PIECE W?PAPER .PROP 2,P?SIZE 2 .PROP 2,P?ACTION COMBINATION-PAPER-F .BYTE 0 .ENDT T?DECK-EIGHT:: .TABLE ; TABLE FOR OBJECT DECK-EIGHT .STRL "Deck Eight" .PROP 2,P?NORTH ; IMPOSSIBLE EXIT STR?14 ; FAILURE MESSAGE .PROP 2,P?EAST ; IMPOSSIBLE EXIT STR?13 ; FAILURE MESSAGE .PROP 2,P?WEST ; IMPOSSIBLE EXIT STR?13 ; FAILURE MESSAGE .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE GANGWAY ; TO ROOM .PROP 2,P?LDESC STR?12 .PROP 2,P?C-MOVE T?503 .PROP 1,P?GLOBAL .BYTE STAIRS .BYTE 0 .ENDT T?GANGWAY-DOOR:: .TABLE ; TABLE FOR OBJECT GANGWAY-DOOR .STRL "narrow bulkhead" .PROP 4,P?SYNONYM W?DOOR W?BULKHEAD .PROP 2,P?ACTION GANGWAY-DOOR-F .PROP 2,P?ADJECTIVE .BYTE A?EMERGENCY .BYTE A?NARROW .BYTE 0 .ENDT T?MICROBE:: .TABLE ; TABLE FOR OBJECT MICROBE .STRL "microbe" .PROP 6,P?SYNONYM W?MICROBE W?BUG W?MONSTER .PROP 2,P?ACTION MICROBE-F .PROP 1,P?ADJECTIVE .BYTE A?HUNGRY .PROP 2,P?LDESC STR?309 .BYTE 0 .ENDT T?INTNUM:: .TABLE ; TABLE FOR OBJECT INTNUM .STRL "number" .PROP 2,P?SYNONYM W?INTNUM .BYTE 0 .ENDT T?GLOBAL-GAMES:: .TABLE ; TABLE FOR OBJECT GLOBAL-GAMES .STRL "game" .PROP 8,P?SYNONYM W?BOCCI W?CHESS W?HIDER- W?HUCKA- .PROP 2,P?ACTION GLOBAL-GAMES-F .BYTE 0 .ENDT T?FOOD-KIT:: .TABLE ; TABLE FOR OBJECT FOOD-KIT .STRL "survival kit" .PROP 4,P?SYNONYM W?PROVISIONS W?KIT .PROP 2,P?SIZE 10 .PROP 2,P?ACTION FOOD-KIT-F .PROP 2,P?ADJECTIVE .BYTE A?SURVIVAL .BYTE A?EMERGENCY .PROP 2,P?CAPACITY 25 .BYTE 0 .ENDT T?SLEEP:: .TABLE ; TABLE FOR OBJECT SLEEP .STRL "sacred act of sleeping" .PROP 2,P?SYNONYM W?SLEEP .PROP 2,P?ACTION SLEEP-F .BYTE 0 .ENDT T?BIO-LOCK-WEST:: .TABLE ; TABLE FOR OBJECT BIO-LOCK-WEST .STRL "Bio Lock West" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE BIO-LOCK-EAST ; TO ROOM .PROP 5,P?WEST ; CONDITIONAL EXIT .BYTE MAIN-LAB ; TO ROOM .BYTE BIO-DOOR-WEST ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?LDESC STR?261 .PROP 2,P?C-MOVE T?2607 .PROP 1,P?GLOBAL .BYTE BIO-DOOR-WEST .BYTE 0 .ENDT T?MESS-CORRIDOR:: .TABLE ; TABLE FOR OBJECT MESS-CORRIDOR .STRL "Mess Corridor" .PROP 5,P?NORTH ; CONDITIONAL EXIT .BYTE STORAGE-WEST ; TO ROOM .BYTE STORAGE-WEST-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE DORM-CORRIDOR ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE MESS-HALL ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE REC-CORRIDOR ; TO ROOM .PROP 2,P?ACTION MESS-CORRIDOR-F .PROP 2,P?C-MOVE T?2006 .PROP 1,P?GLOBAL .BYTE STORAGE-WEST-DOOR .BYTE 0 .ENDT T?DISPENSER:: .TABLE ; TABLE FOR OBJECT DISPENSER .STRL "dispenser unit" .PROP 8,P?SYNONYM W?UNIT W?NICHE W?MACHIN W?DISPEN .PROP 2,P?ACTION DISPENSER-F .PROP 1,P?ADJECTIVE .BYTE A?DISPEN .BYTE 0 .ENDT T?SANFAC-E:: .TABLE ; TABLE FOR OBJECT SANFAC-E .STRL "SanFac E" .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR-S ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE ADMIN-CORRIDOR-S ; TO ROOM .PROP 2,P?LDESC STR?123 .PROP 2,P?C-MOVE T?2906 .PROP 8,P?PSEUDO W?FIXTURES ; NAME TOILET-PSEUDO ; HANDLER W?TOILET ; NAME TOILET-PSEUDO ; HANDLER .BYTE 0 .ENDT T?RAD-DOOR-WEST:: .TABLE ; TABLE FOR OBJECT RAD-DOOR-WEST .STRL "radiation-lock door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION RAD-DOOR-WEST-F .PROP 1,P?ADJECTIVE .BYTE A?RADIATION .BYTE 0 .ENDT T?MINI-CARD:: .TABLE ; TABLE FOR OBJECT MINI-CARD .STRL "miniaturization access card" .PROP 4,P?SYNONYM W?CARD W?CARDS .PROP 2,P?VALUE 1 .PROP 2,P?SIZE 3 .PROP 2,P?ACTION MINI-CARD-F .PROP 3,P?ADJECTIVE .BYTE A?MINIAT .BYTE A?MINI .BYTE A?ACCESS .PROP 2,P?TEXT STR?256 .BYTE 0 .ENDT T?RED-BUTTON:: .TABLE ; TABLE FOR OBJECT RED-BUTTON .STRL "red button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION CHEM-BUTTON-F .PROP 1,P?ADJECTIVE .BYTE A?RED .PROP 2,P?C-MOVE 1 .BYTE 0 .ENDT T?GLOBAL-DOORWAY:: .TABLE ; TABLE FOR OBJECT GLOBAL-DOORWAY .STRL "doorway" .PROP 6,P?SYNONYM W?DOORWA W?PORTAL W?OPENIN .PROP 2,P?ACTION GLOBAL-DOORWAY-F .PROP 8,P?ADJECTIVE .BYTE A?NORTH .BYTE A?SOUTH .BYTE A?EAST .BYTE A?WEST .BYTE A?NE .BYTE A?SE .BYTE A?NW .BYTE A?SW .BYTE 0 .ENDT T?UPPER-ELEVATOR-DOOR:: .TABLE ; TABLE FOR OBJECT UPPER-ELEVATOR-DOOR .STRL "blue door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION UPPER-ELEVATOR-DOOR-F .PROP 3,P?ADJECTIVE .BYTE A?UPPER .BYTE A?ELEVATOR .BYTE A?BLUE .BYTE 0 .ENDT T?HELICOPTER-OBJECT:: .TABLE ; TABLE FOR OBJECT HELICOPTER-OBJECT .STRL "large vehicle" .PROP 4,P?SYNONYM W?VEHICLE W?HELICOPTER .PROP 2,P?ACTION HELICOPTER-OBJECT-F .PROP 1,P?ADJECTIVE .BYTE A?LARGE .BYTE 0 .ENDT T?TRIFFID:: .TABLE ; TABLE FOR OBJECT TRIFFID .STRL "mobile man-eating plant" .PROP 8,P?SYNONYM W?TRIFFID W?PLANT W?MUTANT W?MONSTER .PROP 3,P?ADJECTIVE .BYTE A?MOBILE .BYTE A?MAN-EATING .BYTE A?GIANT .PROP 2,P?LDESC STR?325 .BYTE 0 .ENDT T?ROBOT-SHOP:: .TABLE ; TABLE FOR OBJECT ROBOT-SHOP .STRL "Robot Shop" .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE MACHINE-SHOP ; TO ROOM .PROP 1,P?NW ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR-S ; TO ROOM .PROP 2,P?LDESC STR?152 .PROP 2,P?C-MOVE T?4506 .PROP 4,P?PSEUDO W?DEVICE ; NAME DEVICES-PSEUDO ; HANDLER .BYTE 0 .ENDT T?ESCALATOR:: .TABLE ; TABLE FOR OBJECT ESCALATOR .STRL "Escalator" .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE FORK ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE LAWANDA-PLATFORM ; TO ROOM .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE FORK ; TO ROOM .PROP 1,P?DOWN ; UNCONDITIONAL EXIT .BYTE LAWANDA-PLATFORM ; TO ROOM .PROP 2,P?LDESC STR?190 .PROP 2,P?C-MOVE T?207 .PROP 4,P?PSEUDO W?ESCALATOR ; NAME ESCALATOR-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE STAIRS .BYTE 0 .ENDT T?GANGWAY:: .TABLE ; TABLE FOR OBJECT GANGWAY .STRL "Gangway" .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE DECK-EIGHT ; TO ROOM .PROP 5,P?DOWN ; CONDITIONAL EXIT .BYTE DECK-NINE ; TO ROOM .BYTE GANGWAY-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION GANGWAY-F .PROP 2,P?LDESC STR?11 .PROP 2,P?C-MOVE T?403 .PROP 2,P?GLOBAL .BYTE GANGWAY-DOOR .BYTE STAIRS .BYTE 0 .ENDT T?SAFETY-WEB:: .TABLE ; TABLE FOR OBJECT SAFETY-WEB .STRL "safety web" .PROP 8,P?SYNONYM W?MASS W?WEB W?WEBBING W?NET .PROP 2,P?ACTION SAFETY-WEB-F .PROP 1,P?ADJECTIVE .BYTE A?SAFETY .BYTE 0 .ENDT T?BROCHURE:: .TABLE ; TABLE FOR OBJECT BROCHURE .STRL "brochure" .PROP 6,P?SYNONYM W?BROCHURE W?PAMPHLET W?LEAFLET .PROP 2,P?SIZE 4 .PROP 2,P?LDESC STR?19 .PROP 2,P?TEXT STR?20 .BYTE 0 .ENDT T?TOOL-ROOM:: .TABLE ; TABLE FOR OBJECT TOOL-ROOM .STRL "Tool Room" .PROP 1,P?NE ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR-S ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE MACHINE-SHOP ; TO ROOM .PROP 2,P?LDESC STR?141 .PROP 2,P?C-MOVE T?4306 .PROP 1,P?GLOBAL .BYTE SHELVES .BYTE 0 .ENDT T?BLUE-BUTTON:: .TABLE ; TABLE FOR OBJECT BLUE-BUTTON .STRL "blue button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION CHEM-BUTTON-F .PROP 1,P?ADJECTIVE .BYTE A?BLUE .PROP 2,P?C-MOVE 2 .BYTE 0 .ENDT T?UPPER-ELEVATOR:: .TABLE ; TABLE FOR OBJECT UPPER-ELEVATOR .STRL "Upper Elevator" .PROP 3,P?SOUTH ; CONDITIONAL EXIT ELEVATOR-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 2,P?UP ; IMPOSSIBLE EXIT STR?175 ; FAILURE MESSAGE .PROP 2,P?DOWN ; IMPOSSIBLE EXIT STR?175 ; FAILURE MESSAGE .PROP 3,P?OUT ; CONDITIONAL EXIT ELEVATOR-EXIT-F ; PER FUNCTION .BYTE 0 .PROP 2,P?ACTION UPPER-ELEVATOR-F .PROP 2,P?C-MOVE T?4706 .PROP 5,P?GLOBAL .BYTE LIGHTS .BYTE CONTROLS .BYTE SLOT .BYTE ELEVATOR-BUTTON .BYTE UPPER-ELEVATOR-DOOR .BYTE 0 .ENDT T?DORM-C:: .TABLE ; TABLE FOR OBJECT DORM-C .STRL "Dorm C" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE DORM-CORRIDOR ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE SANFAC-C ; TO ROOM .PROP 2,P?LDESC STR?108 .PROP 2,P?C-MOVE T?1606 .PROP 4,P?PSEUDO W?PARTITION ; NAME PARTITION-PSEUDO ; HANDLER .PROP 1,P?GLOBAL .BYTE BED .BYTE 0 .ENDT T?LAWANDA-PLATFORM:: .TABLE ; TABLE FOR OBJECT LAWANDA-PLATFORM .STRL "Lawanda Platform" .PROP 3,P?NORTH ; CONDITIONAL EXIT SHUTTLE-ENTER-F ; PER FUNCTION .BYTE 0 .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE ESCALATOR ; TO ROOM .PROP 3,P?SOUTH ; CONDITIONAL EXIT SHUTTLE-ENTER-F ; PER FUNCTION .BYTE 0 .PROP 1,P?UP ; UNCONDITIONAL EXIT .BYTE ESCALATOR ; TO ROOM .PROP 2,P?VALUE 4 .PROP 2,P?ACTION LAWANDA-PLATFORM-F .PROP 2,P?C-MOVE T?107 .PROP 4,P?PSEUDO W?ESCALATOR ; NAME ESCALATOR-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE GLOBAL-SHUTTLE .BYTE STAIRS .BYTE 0 .ENDT T?AUXILIARY-BOOTH:: .TABLE ; TABLE FOR OBJECT AUXILIARY-BOOTH .STRL "Auxiliary Booth" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE LAB-OFFICE ; TO ROOM .PROP 1,P?OUT ; UNCONDITIONAL EXIT .BYTE LAB-OFFICE ; TO ROOM .PROP 2,P?VALUE 4 .PROP 2,P?LDESC STR?286 .PROP 2,P?C-MOVE T?3307 .PROP 4,P?PSEUDO W?BOOTH ; NAME IN-BOOTH-PSEUDO ; HANDLER .BYTE 0 .ENDT T?ALFIE-CONTROL-WEST:: .TABLE ; TABLE FOR OBJECT ALFIE-CONTROL-WEST .STRL "Alfie Control West" .PROP 5,P?EAST ; CONDITIONAL EXIT .BYTE SHUTTLE-CAR-ALFIE ; TO ROOM .BYTE SHUTTLE-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION CONTROL-CABIN-F .PROP 2,P?C-MOVE T?903 .PROP 5,P?GLOBAL .BYTE SLOT .BYTE LEVER .BYTE WINDOW .BYTE SHUTTLE-DOOR .BYTE GLOBAL-SHUTTLE .BYTE 0 .ENDT T?SPOOL-READER:: .TABLE ; TABLE FOR OBJECT SPOOL-READER .STRL "microfilm reader" .PROP 8,P?SYNONYM W?READER W?SCREEN W?OPENIN W?MACHIN .PROP 2,P?ACTION SPOOL-READER-F .PROP 3,P?ADJECTIVE .BYTE A?MICROF .BYTE A?SMALL .BYTE A?CIRCUL .PROP 2,P?LDESC STR?245 .PROP 2,P?CAPACITY 3 .PROP 2,P?FDESC STR?244 .BYTE 0 .ENDT T?PATROL-UNIFORM:: .TABLE ; TABLE FOR OBJECT PATROL-UNIFORM .STRL "Patrol uniform" .PROP 6,P?SYNONYM W?UNIFORM W?POCKET W?SUIT .PROP 2,P?ACTION PATROL-UNIFORM-F .PROP 2,P?ADJECTIVE .BYTE A?PATROL .BYTE A?WRINKLED .PROP 2,P?LDESC STR?7 .PROP 2,P?CAPACITY 10 .BYTE 0 .ENDT T?ROBOT-HOLE:: .TABLE ; TABLE FOR OBJECT ROBOT-HOLE .STRL "small doorway" .PROP 6,P?SYNONYM W?DOOR W?DOORWA W?HOLE .PROP 2,P?ACTION ROBOT-HOLE-F .PROP 2,P?ADJECTIVE .BYTE A?SMALL .BYTE A?VERY .PROP 2,P?CAPACITY 0 .BYTE 0 .ENDT T?RADIATION-LOCK-EAST:: .TABLE ; TABLE FOR OBJECT RADIATION-LOCK-EAST .STRL "Radiation Lock East" .PROP 5,P?EAST ; CONDITIONAL EXIT .BYTE RADIATION-LAB ; TO ROOM .BYTE RAD-DOOR-EAST ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE RADIATION-LOCK-WEST ; TO ROOM .PROP 2,P?LDESC STR?264 .PROP 2,P?C-MOVE T?2907 .PROP 1,P?GLOBAL .BYTE RAD-DOOR-EAST .BYTE 0 .ENDT T?RADIATION-LAB:: .TABLE ; TABLE FOR OBJECT RADIATION-LAB .STRL "Radiation Lab" .PROP 5,P?WEST ; CONDITIONAL EXIT .BYTE RADIATION-LOCK-EAST ; TO ROOM .BYTE RAD-DOOR-EAST ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION RADIATION-LAB-F .PROP 2,P?LDESC STR?278 .PROP 2,P?C-MOVE T?3107 .PROP 8,P?PSEUDO W?CRACK ; NAME CRACK-PSEUDO ; HANDLER W?EQUIPM ; NAME EQUIPMENT-PSEUDO ; HANDLER .PROP 2,P?GLOBAL .BYTE TABLES .BYTE RAD-DOOR-EAST .BYTE 0 .ENDT T?OCEAN:: .TABLE ; TABLE FOR OBJECT OCEAN .STRL "ocean" .PROP 2,P?SYNONYM W?OCEAN .PROP 2,P?ACTION OCEAN-F .PROP 1,P?ADJECTIVE .BYTE A?ENDLESS .BYTE 0 .ENDT T?SEND-CONSOLE:: .TABLE ; TABLE FOR OBJECT SEND-CONSOLE .STRL "communication send console" .PROP 4,P?SYNONYM W?CONSOLE W?CONTRO .PROP 4,P?ADJECTIVE .BYTE A?COMMUNICATIONS .BYTE A?SEND .BYTE A?RIGHT .BYTE A?SECOND .BYTE 0 .ENDT T?PLAIN-HALL:: .TABLE ; TABLE FOR OBJECT PLAIN-HALL .STRL "Plain Hall" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE REC-AREA ; TO ROOM .PROP 1,P?NE ; UNCONDITIONAL EXIT .BYTE REC-CORRIDOR ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE COURTYARD ; TO ROOM .PROP 2,P?LDESC STR?105 .PROP 2,P?C-MOVE T?706 .BYTE 0 .ENDT T?MECH-CORRIDOR:: .TABLE ; TABLE FOR OBJECT MECH-CORRIDOR .STRL "Mech Corridor" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR-N ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE REACTOR-CONTROL ; TO ROOM .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR-S ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE PHYSICAL-PLANT ; TO ROOM .PROP 2,P?LDESC STR?132 .PROP 2,P?C-MOVE T?3606 .BYTE 0 .ENDT T?REACTOR-ELEVATOR-DOOR:: .TABLE ; TABLE FOR OBJECT REACTOR-ELEVATOR-DOOR .STRL "reactor elevator door" .PROP 2,P?SYNONYM W?DOOR .PROP 2,P?ACTION REACTOR-ELEVATOR-DOOR-F .PROP 2,P?ADJECTIVE .BYTE A?REACTOR .BYTE A?ELEVATOR .BYTE 0 .ENDT T?RED-GOO:: .TABLE ; TABLE FOR OBJECT RED-GOO .STRL "blob of red goo" .PROP 8,P?SYNONYM W?GOO W?BLOB W?FOOD W?PIE .PROP 2,P?ACTION GOO-F .PROP 2,P?ADJECTIVE .BYTE A?RED .BYTE A?CHERRY .BYTE 0 .ENDT T?RED-ELEVATOR-BUTTON:: .TABLE ; TABLE FOR OBJECT RED-ELEVATOR-BUTTON .STRL "red button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION RED-ELEVATOR-BUTTON-F .PROP 2,P?ADJECTIVE .BYTE A?RED .BYTE A?SOUTH .BYTE 0 .ENDT T?FOURTH-BOARD:: .TABLE ; TABLE FOR OBJECT FOURTH-BOARD .STRL "fourth seventeen-centimeter fromitz board" .PROP 4,P?SYNONYM W?BOARD W?BOARDS .PROP 2,P?ACTION BOARD-F .PROP 4,P?ADJECTIVE .BYTE A?FOURTH .BYTE A?SEVENTEEN .BYTE A?CENTIMETER .BYTE A?FROMITZ .BYTE 0 .ENDT T?MACHINE-SHOP:: .TABLE ; TABLE FOR OBJECT MACHINE-SHOP .STRL "Machine Shop" .PROP 1,P?NORTH ; UNCONDITIONAL EXIT .BYTE MECH-CORRIDOR-S ; TO ROOM .PROP 1,P?EAST ; UNCONDITIONAL EXIT .BYTE ROBOT-SHOP ; TO ROOM .PROP 1,P?WEST ; UNCONDITIONAL EXIT .BYTE TOOL-ROOM ; TO ROOM .PROP 2,P?ACTION MACHINE-SHOP-F .PROP 2,P?C-MOVE T?4406 .PROP 4,P?PSEUDO W?SPOUT ; NAME CHEM-SPOUT-PSEUDO ; HANDLER .BYTE 0 .ENDT T?PSEUDO-OBJECT:: .TABLE ; TABLE FOR OBJECT PSEUDO-OBJECT .STRL "pseudo" .PROP 2,P?ACTION GO .BYTE 0 .ENDT T?BETTY-CONTROL-EAST:: .TABLE ; TABLE FOR OBJECT BETTY-CONTROL-EAST .STRL "Betty Control East" .PROP 5,P?WEST ; CONDITIONAL EXIT .BYTE SHUTTLE-CAR-BETTY ; TO ROOM .BYTE SHUTTLE-DOOR ; IF DOOR IS OPEN 0 ; FAILURE MESSAGE .BYTE 0 .PROP 2,P?ACTION CONTROL-CABIN-F .PROP 2,P?C-MOVE T?1103 .PROP 5,P?GLOBAL .BYTE GLOBAL-SHUTTLE .BYTE SLOT .BYTE WINDOW .BYTE LEVER .BYTE SHUTTLE-DOOR .BYTE 0 .ENDT T?ELEVATOR-BUTTON:: .TABLE ; TABLE FOR OBJECT ELEVATOR-BUTTON .STRL "button" .PROP 2,P?SYNONYM W?BUTTON .PROP 2,P?ACTION ELEVATOR-BUTTON-F .BYTE 0 .ENDT ; IMPURE TABLES ARE DEFINED HERE IMPTBL:: T?102:: T?C-TABLE:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?103:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?203:: .TABLE 0 0 0 0 0 15 0 0 0 15 0 0 .ENDT T?303:: .TABLE 0 0 0 0 0 15 0 0 0 0 0 0 .ENDT T?403:: .TABLE 0 0 10 0 0 0 0 0 0 0 0 0 .ENDT T?503:: .TABLE 0 0 10 0 0 0 0 0 0 0 0 0 .ENDT T?603:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?703:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?803:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?903:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1003:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1103:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1203:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?104:: T?P-LEXV:: .TABLE 30720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?204:: T?P-INBUF:: .TABLE 20480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?304:: T?P-ITBL:: .TABLE 0 0 0 0 0 0 0 0 0 0 .ENDT T?404:: T?P-OTBL:: .TABLE 0 0 0 0 0 0 0 0 0 0 .ENDT T?504:: T?P-VTBL:: .TABLE 0 0 0 0 .ENDT T?604:: T?P-PRSO:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?704:: T?P-PRSI:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?804:: T?P-BUTS:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?904:: T?P-MERGE:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1004:: T?P-OCLAUSE:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?106:: .TABLE 0 0 0 35 0 0 0 0 0 0 0 0 .ENDT T?206:: .TABLE 0 0 10 40 0 0 0 0 0 0 0 0 .ENDT T?306:: .TABLE 0 0 25 30 0 0 0 0 0 0 0 0 .ENDT T?406:: .TABLE 0 0 15 30 0 0 0 0 0 0 0 0 .ENDT T?506:: .TABLE 0 0 15 0 0 0 0 0 0 0 0 0 .ENDT T?606:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?706:: .TABLE 0 0 0 0 0 0 0 0 0 0 25 0 .ENDT T?806:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?906:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1006:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1106:: .TABLE 0 0 0 0 0 0 25 0 0 0 0 0 .ENDT T?1206:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1306:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1406:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1506:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1606:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1706:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1806:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1906:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2006:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2106:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2206:: .TABLE 0 0 0 0 0 0 0 0 0 160 0 0 .ENDT T?2306:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2406:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2506:: .TABLE 0 0 0 0 0 160 0 0 0 30 0 0 .ENDT T?2606:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2706:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2806:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2906:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3006:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3106:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3206:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3306:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3406:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3506:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3606:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3706:: .TABLE 0 0 0 0 0 0 25 0 25 0 0 0 .ENDT T?3806:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3906:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?4006:: .TABLE 0 0 20 0 0 0 0 0 0 0 0 0 .ENDT T?4106:: .TABLE 0 0 0 30 0 0 0 0 0 0 0 0 .ENDT T?4206:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?4306:: .TABLE 0 0 0 0 0 0 0 0 0 0 25 0 .ENDT T?4406:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?4506:: .TABLE 0 0 0 0 25 0 0 0 0 0 0 0 .ENDT T?4606:: .TABLE 0 0 0 0 0 30 0 0 0 0 0 0 .ENDT T?4706:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?4806:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?4906:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?5006:: .TABLE 0 0 0 30 0 0 0 0 0 0 0 0 .ENDT T?5106:: .TABLE 0 0 15 0 0 0 0 0 0 0 0 0 .ENDT T?5206:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?5306:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?5406:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?5506:: T?ORDER-LTBL:: .TABLE 7 0 0 0 0 0 0 0 .ENDT T?5606:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?5706:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?5806:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?107:: .TABLE 0 0 0 30 0 0 0 0 0 0 0 0 .ENDT T?207:: .TABLE 0 0 15 30 0 0 0 0 0 0 0 0 .ENDT T?307:: .TABLE 0 0 15 0 0 0 0 0 25 0 25 0 .ENDT T?407:: .TABLE 25 0 0 0 0 0 0 0 25 0 0 0 .ENDT T?507:: .TABLE 0 0 0 30 0 0 0 0 0 0 0 0 .ENDT T?607:: .TABLE 0 0 15 0 0 0 25 0 0 0 0 0 .ENDT T?707:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?807:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?907:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1007:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1107:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1207:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1307:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1407:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1507:: .TABLE 0 0 0 0 25 0 0 0 0 0 0 0 .ENDT T?1607:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1707:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1807:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?1907:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2007:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2107:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2207:: .TABLE 0 0 0 0 0 0 0 0 0 0 25 0 .ENDT T?2307:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2407:: .TABLE 0 0 0 0 0 0 25 0 0 0 0 0 .ENDT T?2507:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2607:: .TABLE 0 0 0 0 0 0 0 0 0 10 0 0 .ENDT T?2707:: .TABLE 0 0 0 0 0 10 0 0 0 0 0 0 .ENDT T?2807:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?2907:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3007:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3107:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3207:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3307:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3407:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3507:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3607:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT T?3707:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT ; END OF IMPURENESS IMPURE:: ; VERB TABLE IS DEFINED HERE VTBL:: .TABLE ST?KISS ST?SKIP ST?PULL ST?PUT ST?RAPE ST?VERBOSE ST?WALK ST?OIL ST?QUIT ST?FIND ST?YES ST?DESTROY ST?SCOLD ST?UNLOCK ST?READ ST?SAY ST?JUMP ST?POUR ST?WAIT ST?TAKE ST?NO ST?FOLLOW ST?TYPE ST?FLY ST?VERSION ST?#UNRECORD ST?MOVE ST?PLAY ST?OPEN ST?TASTE ST?#COMMAND ST?KNOCK ST?PICK ST?BOARD ST?#RANDOM ST?APPLY ST?ESCAPE ST?STAND ST?LISTEN ST?SHOW ST?SAVE ST?HELP ST?TELL ST?THROW ST?ZORK ST?SHAKE ST?INVENTORY ST?ATTACK ST?RESTOR ST?ENTER ST?SEARCH ST?WEAR ST?DISEMBARK ST?SWIM ST?UNSCRIPT ST?PUSH ST?RUB ST?SUPER ST?SIT ST?RESTAR ST?REACH ST?SCORE ST?SCRUB ST?SALUTE ST?LOOK ST?EMPTY ST?ATTRACT ST?DROP ST?STEP ST?TIME ST?LEAVE ST?CURSE ST?SCRIPT ST?$VERIFY ST?SMELL ST?BRIEF ST?DIAGNOSE ST?GIVE ST?SLEEP ST?SMILE ST?WAKE ST?REMOVE ST?ANSWER ST?YELL ST?LOCK ST?ACTIVATE ST?KICK ST?POINT ST?TURN ST?#RECORD ST?MAYBE ST?CLOSE ST?STRIKE ST?FIX ST?SLIDE ST?WAVE ST?EXIT ST?AGAIN ST?EXAMINE ST?EAT ST?FIRE ST?CLIMB ST?FLUSH ST?HELLO .ENDT ; SYNTAX DEFINITION TABLES ARE DEFINED HERE ST?KISS:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?KISS .ENDT ST?SKIP:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SKIP .ENDT ST?PULL:: .TABLE .BYTE 5 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE V?ZATTRACT .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PULL .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH-UP .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH-DOWN .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PULL .ENDT ST?PUT:: .TABLE .BYTE 10 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?INSERT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE 0 .BYTE V?SLIDE .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?ACROSS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SPAN .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?NEAR .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?ATTRACT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OVER .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?ATTRACT .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SHAVE+STAKE .BYTE 0 .BYTE V?WEAR .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?UNDER .BYTE 0 .BYTE 0 .BYTE SH+SMANY+SHAVE+STAKE .BYTE 0 .BYTE V?PUT-UNDER .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SMANY+SHAVE .BYTE 0 .BYTE V?DROP .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE SH+SMANY .BYTE 0 .BYTE V?PUT-ON .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE SH+SMANY+SHAVE+STAKE .BYTE 0 .BYTE V?PUT .ENDT ST?RAPE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?RAPE .ENDT ST?VERBOSE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?VERBOSE .ENDT ST?WALK:: .TABLE .BYTE 9 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE 0 .BYTE V?SLIDE .BYTE 1 ;OBJECTS .BYTE PR?OUT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?EXIT .BYTE 1 ;OBJECTS .BYTE PR?TO .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?WALK-TO .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE CLIMBBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?CLIMB-DOWN .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE CLIMBBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?CLIMB-UP .BYTE 1 ;OBJECTS .BYTE PR?AROUND .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?WALK-AROUND .BYTE 1 ;OBJECTS .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?THROUGH .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?THROUGH .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?WALK .ENDT ST?OIL:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SHAVE .BYTE V?OIL .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?OIL .ENDT ST?QUIT:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?QUIT .ENDT ST?FIND:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?FIND .ENDT ST?YES:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?YES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?YES .ENDT ST?DESTROY:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SOG+SIR+SH+SC .BYTE 0 .BYTE V?MUNG .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE SOG+SIR+SH+SC .BYTE SHAVE .BYTE V?MUNG .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SOG+SIR+SH+SC .BYTE 0 .BYTE V?MUNG .ENDT ST?SCOLD:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SCOLD .ENDT ST?UNLOCK:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE TOOLBIT .BYTE SOG+SIR .BYTE SH+SC+SOG+SIR+STAKE .BYTE V?UNLOCK .ENDT ST?READ:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE READBIT .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?READ .ENDT ST?SAY:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SAY .BYTE 1 ;OBJECTS .BYTE PR?TO .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE SIR .BYTE 0 .BYTE V?TALK .ENDT ST?JUMP:: .TABLE .BYTE 6 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?OFF .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LEAP .BYTE 1 ;OBJECTS .BYTE PR?FROM .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LEAP .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LEAP .BYTE 1 ;OBJECTS .BYTE PR?ACROSS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LEAP .BYTE 1 ;OBJECTS .BYTE PR?OVER .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LEAP .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LEAP .ENDT ST?POUR:: .TABLE .BYTE 5 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?POUR .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OUT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?POUR .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?POUR .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OVER .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?POUR .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?POUR .ENDT ST?WAIT:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?WAIT .ENDT ST?TAKE:: .TABLE .BYTE 12 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE V?ZATTRACT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?NEAR .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?ATTRACT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OVER .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?ATTRACT .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?STAND .BYTE 1 ;OBJECTS .BYTE PR?OFF .BYTE 0 .BYTE WEARBIT .BYTE 0 .BYTE SH+SC+SMANY .BYTE 0 .BYTE V?TAKE-OFF .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?FROM .BYTE TAKEBIT .BYTE 0 .BYTE SIR+SC .BYTE SOG+SH .BYTE V?TAKE .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OFF .BYTE TAKEBIT .BYTE 0 .BYTE SC+SIR .BYTE 0 .BYTE V?TAKE .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OUT .BYTE TAKEBIT .BYTE 0 .BYTE SC+SIR .BYTE 0 .BYTE V?TAKE .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE VEHBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?CLIMB-ON .BYTE 1 ;OBJECTS .BYTE PR?OUT .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?DISEMBARK .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE VEHBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?BOARD .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE TAKEBIT .BYTE 0 .BYTE SOG+SMANY .BYTE 0 .BYTE V?TAKE .ENDT ST?NO:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?NO .ENDT ST?FOLLOW:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?FOLLOW .ENDT ST?TYPE:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?TYPE .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?TYPE .ENDT ST?FLY:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?FLY .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?FLY .ENDT ST?VERSION:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?VERSION .ENDT ST?#UNRECORD:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?$UNRECORD .ENDT ST?MOVE:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH-DOWN .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH-UP .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?MOVE .ENDT ST?PLAY:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE 0 .BYTE V?PLAY .BYTE 1 ;OBJECTS .BYTE PR?WITH .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PLAY-WITH .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PLAY .ENDT ST?OPEN:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SHAVE .BYTE V?OPEN-WITH .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE DOORBIT .BYTE 0 .BYTE SH+SC+SOG+SIR .BYTE 0 .BYTE V?OPEN .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SOG+SIR .BYTE 0 .BYTE V?OPEN .ENDT ST?TASTE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?TASTE .ENDT ST?#COMMAND:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?$COMMAND .ENDT ST?KNOCK:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?ATTACK .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?KNOCK .BYTE 1 ;OBJECTS .BYTE PR?AT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?KNOCK .ENDT ST?PICK:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE PR?UP .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE V?ZATTRACT .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE TAKEBIT .BYTE 0 .BYTE SOG+SMANY .BYTE 0 .BYTE V?TAKE .ENDT ST?BOARD:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE VEHBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?BOARD .ENDT ST?#RANDOM:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?$RANDOM .ENDT ST?APPLY:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?TO .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUT .ENDT ST?ESCAPE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?ZESCAPE .ENDT ST?STAND:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?STAND-ON .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?STAND .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?STAND .ENDT ST?LISTEN:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?TO .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LISTEN .ENDT ST?SHOW:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?TO .BYTE 0 .BYTE ACTORBIT .BYTE SHAVE .BYTE 0 .BYTE V?SHOW .ENDT ST?SAVE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SAVE .ENDT ST?HELP:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?HELP .ENDT ST?TELL:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?FOR .BYTE ACTORBIT .BYTE 0 .BYTE SIR .BYTE 0 .BYTE V?ASK-FOR .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE SIR .BYTE 0 .BYTE V?TELL .ENDT ST?THROW:: .TABLE .BYTE 7 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE 0 .BYTE V?THROW .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OVER .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE 0 .BYTE V?THROW-OFF .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE 0 .BYTE V?PUT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE 0 .BYTE V?PUT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OFF .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE 0 .BYTE V?THROW-OFF .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE SOG+SIR .BYTE V?THROW .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?AT .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE SOG+SIR .BYTE V?THROW .ENDT ST?ZORK:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?ZORK .ENDT ST?SHAKE:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE 0 .BYTE V?SHAKE-WITH .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SHAKE .ENDT ST?INVENTORY:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?INVENTORY .ENDT ST?ATTACK:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SHAVE .BYTE V?ATTACK .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?ATTACK .ENDT ST?RESTOR:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?RESTORE .ENDT ST?ENTER:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?THROUGH .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?ENTER .ENDT ST?SEARCH:: .TABLE .BYTE 4 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SEARCH .BYTE 1 ;OBJECTS .BYTE PR?FOR .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?FIND .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SEARCH .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SEARCH .ENDT ST?WEAR:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SHAVE+STAKE .BYTE 0 .BYTE V?WEAR .ENDT ST?DISEMBARK:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?DISEMBARK .ENDT ST?SWIM:: .TABLE .BYTE 6 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SWIM-DIR .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SWIM-UP .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SWIM .BYTE 1 ;OBJECTS .BYTE PR?TO .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SWIM-DIR .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SWIM-DIR .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SWIM .ENDT ST?UNSCRIPT:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?UNSCRIPT .ENDT ST?PUSH:: .TABLE .BYTE 7 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?UNDER .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUT-UNDER .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH-DOWN .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH-UP .BYTE 1 ;OBJECTS .BYTE PR?AGAINST .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH .BYTE 1 ;OBJECTS .BYTE PR?OFF .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUSH .ENDT ST?RUB:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?TO .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?ATTRACT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE V?ZATTRACT .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?RUB .ENDT ST?SUPER:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SUPER-BRIEF .ENDT ST?SIT:: .TABLE .BYTE 9 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?ACROSS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SPAN .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?NEAR .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?ATTRACT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OVER .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?ATTRACT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?UNDER .BYTE 0 .BYTE 0 .BYTE SH+SMANY+SHAVE+STAKE .BYTE 0 .BYTE V?PUT-UNDER .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE SH+SMANY+SHAVE+STAKE .BYTE 0 .BYTE V?PUT .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE VEHBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?BOARD .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SIT-DOWN .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE VEHBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?CLIMB-ON .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SIT .ENDT ST?RESTAR:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?RESTART .ENDT ST?REACH:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?FOR .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?REACH-FOR .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE CONTBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?REACH .ENDT ST?SCORE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SCORE .ENDT ST?SCRUB:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SHAVE .BYTE V?SCRUB .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SCRUB .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SCRUB .ENDT ST?SALUTE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SALUTE .ENDT ST?LOOK:: .TABLE .BYTE 12 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LOOK-DOWN .BYTE 1 ;OBJECTS .BYTE PR?FOR .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?FIND .BYTE 1 ;OBJECTS .BYTE PR?OUT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SOG+SIR+SMANY .BYTE 0 .BYTE V?LOOK-INSIDE .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SOG+SIR+SMANY .BYTE 0 .BYTE V?LOOK-INSIDE .BYTE 1 ;OBJECTS .BYTE PR?BEHIND .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LOOK-BEHIND .BYTE 1 ;OBJECTS .BYTE PR?UNDER .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LOOK-UNDER .BYTE 1 ;OBJECTS .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LOOK-INSIDE .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SOG+SIR+SMANY .BYTE 0 .BYTE V?EXAMINE .BYTE 1 ;OBJECTS .BYTE PR?AT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SOG+SIR+SMANY .BYTE 0 .BYTE V?EXAMINE .BYTE 1 ;OBJECTS .BYTE PR?AROUND .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LOOK .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LOOK-CRETIN .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LOOK .ENDT ST?EMPTY:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE SHAVE .BYTE 0 .BYTE V?EMPTY .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SHAVE .BYTE 0 .BYTE V?EMPTY .ENDT ST?ATTRACT:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE V?ZATTRACT .ENDT ST?DROP:: .TABLE .BYTE 4 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE SH+SMANY+SHAVE .BYTE 0 .BYTE V?PUT-ON .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE SH+SMANY+SHAVE .BYTE 0 .BYTE V?PUT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?DOWN .BYTE 0 .BYTE 0 .BYTE SH+SMANY+SHAVE .BYTE 0 .BYTE V?PUT .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SMANY+SHAVE .BYTE 0 .BYTE V?DROP .ENDT ST?STEP:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?STEP-ON .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?STEP-ON .ENDT ST?TIME:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?TIME .ENDT ST?LEAVE:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?DROP .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LEAVE .ENDT ST?CURSE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?CURSE .ENDT ST?SCRIPT:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SCRIPT .ENDT ST?$VERIFY:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?$VERIFY .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?$VERIFY .ENDT ST?SMELL:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SMELL .ENDT ST?BRIEF:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?BRIEF .ENDT ST?DIAGNOSE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?DIAGNOSE .ENDT ST?GIVE:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE SOG .BYTE SMANY+SH+SHAVE .BYTE V?SGIVE .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?TO .BYTE 0 .BYTE ACTORBIT .BYTE SMANY+SH+SHAVE .BYTE 0 .BYTE V?GIVE .ENDT ST?SLEEP:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SLEEP .ENDT ST?SMILE:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SMILE .BYTE 1 ;OBJECTS .BYTE PR?AT .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SMILE .ENDT ST?WAKE:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?ALARM .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?ALARM .ENDT ST?REMOVE:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE V?ZATTRACT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?FROM .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?TAKE .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?REMOVE .ENDT ST?ANSWER:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?REPLY .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?ANSWER .ENDT ST?YELL:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?AT .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SCOLD .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?YELL .ENDT ST?LOCK:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE SOG+SIR .BYTE SH .BYTE V?LOCK .ENDT ST?ACTIVATE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE LIGHTBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?LAMP-ON .ENDT ST?KICK:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?KICK .ENDT ST?POINT:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?AT .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE SOG+SIR .BYTE V?POINT .BYTE 1 ;OBJECTS .BYTE PR?TO .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?POINT .BYTE 1 ;OBJECTS .BYTE PR?AT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?POINT .ENDT ST?TURN:: .TABLE .BYTE 5 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?SET .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?TO .BYTE 0 .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?SET .BYTE 1 ;OBJECTS .BYTE PR?OFF .BYTE 0 .BYTE LIGHTBIT .BYTE 0 .BYTE SH+SC+SOG+SIR .BYTE 0 .BYTE V?LAMP-OFF .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE LIGHTBIT .BYTE 0 .BYTE SH+SC+SOG+SIR .BYTE 0 .BYTE V?LAMP-ON .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE SH+SC+SOG+SIR .BYTE SOG+SIR+SH+SC+SHAVE .BYTE V?TURN .ENDT ST?#RECORD:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?$RECORD .ENDT ST?MAYBE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?MAYBE .ENDT ST?CLOSE:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SOG+SIR .BYTE 0 .BYTE V?CLOSE .ENDT ST?STRIKE:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE ACTORBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?ATTACK .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE ACTORBIT .BYTE 0 .BYTE SOG+SIR .BYTE SH+SC+SOG+SIR+SHAVE .BYTE V?ATTACK .ENDT ST?FIX:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?FIX-IT .ENDT ST?SLIDE:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?ACROSS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?SPAN .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE SH+SC+SHAVE .BYTE 0 .BYTE V?SLIDE .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?UNDER .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?PUT-UNDER .ENDT ST?WAVE:: .TABLE .BYTE 4 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?NEAR .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?ATTRACT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?OVER .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?ATTRACT .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?AT .BYTE 0 .BYTE 0 .BYTE SH+SC .BYTE 0 .BYTE V?WAVE .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC .BYTE 0 .BYTE V?WAVE .ENDT ST?EXIT:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?EXIT .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?EXIT .ENDT ST?AGAIN:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?AGAIN .ENDT ST?EXAMINE:: .TABLE .BYTE 3 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SIR+SOG+SMANY .BYTE 0 .BYTE V?LOOK-INSIDE .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SIR+SOG+SMANY .BYTE 0 .BYTE V?LOOK-INSIDE .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH+SC+SOG+SIR+SMANY .BYTE 0 .BYTE V?EXAMINE .ENDT ST?EAT:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?FROM .BYTE 0 .BYTE 0 .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?EAT-FROM .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE FOODBIT .BYTE 0 .BYTE STAKE .BYTE 0 .BYTE V?EAT .ENDT ST?FIRE:: .TABLE .BYTE 4 ;NUMBER OF SYNTAXES .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?AT .BYTE 0 .BYTE 0 .BYTE SH .BYTE 0 .BYTE V?ZAP .BYTE 1 ;OBJECTS .BYTE PR?AT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?ZAP .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?ZAP .BYTE 2 ;OBJECTS .BYTE 0 .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE SH .BYTE V?SZAP .ENDT ST?CLIMB:: .TABLE .BYTE 8 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE PR?IN .BYTE 0 .BYTE CLIMBBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?BOARD .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE CLIMBBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?CLIMB-FOO .BYTE 1 ;OBJECTS .BYTE PR?DOWN .BYTE 0 .BYTE CLIMBBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?CLIMB-DOWN .BYTE 1 ;OBJECTS .BYTE PR?WITH .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?THROUGH .BYTE 1 ;OBJECTS .BYTE PR?TO .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?CLIMB-UP .BYTE 1 ;OBJECTS .BYTE PR?UP .BYTE 0 .BYTE RMUNGBIT .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?CLIMB-UP .BYTE 1 ;OBJECTS .BYTE PR?ON .BYTE 0 .BYTE CLIMBBIT .BYTE 0 .BYTE SOG+SIR .BYTE 0 .BYTE V?CLIMB-ON .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?GO-UP .ENDT ST?FLUSH:: .TABLE .BYTE 1 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?FLUSH .ENDT ST?HELLO:: .TABLE .BYTE 2 ;NUMBER OF SYNTAXES .BYTE 1 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?HELLO .BYTE 0 ;OBJECTS .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE 0 .BYTE V?HELLO .ENDT ; THE ACTION CALLING TABLE IS DEFINED HERE ATBL:: .TABLE V-BRIEF V-SUPER-BRIEF V-DIAGNOSE V-INVENTORY V-QUIT V-RESTART V-RESTORE V-SAVE V-SCORE V-SCRIPT V-UNSCRIPT V-$VERIFY V-VERSION V-VERBOSE V-$RANDOM V-$COMMAND V-$RECORD V-$UNRECORD V-AGAIN V-ANSWER V-REPLY V-PUT V-ATTACK V-BOARD V-GO-UP V-CLIMB-ON V-CLIMB-UP V-THROUGH V-CLIMB-DOWN V-CLIMB-FOO V-SIT V-SIT-DOWN V-PUT-UNDER V-ATTRACT V-SPAN V-STAND V-STAND-ON V-CLOSE V-CURSE V-DISEMBARK V-DROP V-PUT-ON V-EAT V-EAT-FROM V-ENTER V-EXIT V-EXAMINE V-LOOK-INSIDE V-FIND V-SZAP V-ZAP V-FOLLOW V-FLUSH V-FLY V-GIVE V-SGIVE V-HELLO V-HELP V-LEAP V-KICK V-KISS V-KNOCK V-LEAVE V-LISTEN V-LOCK V-LOOK V-LOOK-CRETIN V-LOOK-UNDER V-LOOK-BEHIND V-LOOK-DOWN V-SEARCH V-MOVE V-PUSH-UP V-PUSH-DOWN V-POINT V-PULL V-ZATTRACT V-MUNG V-OPEN V-OPEN-WITH V-TAKE V-PLAY V-PLAY-WITH V-PUSH V-WEAR V-SLIDE V-INSERT V-RAPE V-REACH V-REACH-FOR V-READ V-RUB V-SCRUB V-SLEEP V-SHAKE V-SHAKE-WITH V-SKIP V-SMELL V-STEP-ON V-SWIM V-SWIM-DIR V-SWIM-UP V-TAKE-OFF V-REMOVE V-TELL V-ASK-FOR V-SMILE V-SALUTE V-TALK V-SAY V-THROW V-THROW-OFF V-TURN V-LAMP-ON V-LAMP-OFF V-SET V-TYPE V-UNLOCK V-WAIT V-ALARM V-WALK V-WALK-AROUND V-WALK-TO V-WAVE V-YELL V-SCOLD V-ZORK V-YES V-NO V-MAYBE V-POUR V-EMPTY V-FIX-IT V-OIL V-SHOW V-TASTE V-ZESCAPE V-TIME .ENDT ; THE PREACTION CALLING TABLE IS DEFINED HERE PATBL:: .TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PRE-PUT 0 PRE-BOARD 0 0 0 0 0 0 0 0 PRE-PUT-UNDER 0 0 0 0 0 0 0 0 PRE-PUT 0 0 0 0 PRE-EXAMINE 0 0 PRE-SZAP PRE-ZAP 0 0 0 PRE-GIVE PRE-SGIVE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PRE-MOVE 0 0 0 0 0 0 0 0 PRE-TAKE 0 0 0 0 0 0 0 0 0 PRE-READ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .ENDT ; PREPOSITION TABLE IS DEFINED HERE PRTBL:: .TABLE .WORD 18 W?AGAINST PR?AGAINST W?FOR PR?FOR W?OUT PR?OUT W?BEHIND PR?BEHIND W?AROUND PR?AROUND W?OFF PR?OFF W?AT PR?AT W?FROM PR?FROM W?ACROSS PR?ACROSS W?NEAR PR?NEAR W?OVER PR?OVER W?UNDER PR?UNDER W?IN PR?IN W?DOWN PR?DOWN W?UP PR?UP W?ON PR?ON W?WITH PR?WITH W?TO PR?TO .ENDT ; VOCABULARY TABLE IS HERE VOCAB:: .TABLE .BYTE 3 .BYTE 46 .BYTE 44 .BYTE 34 .BYTE 7 668 W?$VERIFY:: .ZWORD "$verif" .BYTE PS?VERB+P1?VERB .BYTE ACT?$VERIFY .BYTE 0 W?PERIOD:: .ZWORD "." .BYTE PS?BUZZ-WORD .BYTE B?PERIOD .BYTE 0 W?COMMA:: .ZWORD "," .BYTE PS?BUZZ-WORD .BYTE B?COMMA .BYTE 0 W?#COMMAND:: .ZWORD "#comma" .BYTE PS?VERB+P1?VERB .BYTE ACT?#COMMAND .BYTE 0 W?#RANDOM:: .ZWORD "#rando" .BYTE PS?VERB+P1?VERB .BYTE ACT?#RANDOM .BYTE 0 W?#RECORD:: .ZWORD "#recor" .BYTE PS?VERB+P1?VERB .BYTE ACT?#RECORD .BYTE 0 W?#UNRECORD:: .ZWORD "#unrec" .BYTE PS?VERB+P1?VERB .BYTE ACT?#UNRECORD .BYTE 0 W?QUOTE:: .ZWORD """" .BYTE PS?BUZZ-WORD .BYTE B?QUOTE .BYTE 0 W?A:: .ZWORD "a" .BYTE PS?BUZZ-WORD .BYTE B?A .BYTE 0 W?ABOVE:: .ZWORD "above" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?OVER .BYTE 0 W?ACCESS:: .ZWORD "access" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ACCESS .BYTE 0 W?ACHILLES:: .ZWORD "achill" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?ACME:: .ZWORD "acme" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ACME .BYTE 0 W?ACROSS:: .ZWORD "across" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?ACROSS .BYTE 0 W?ACTIVATE:: .ZWORD "activa" .BYTE PS?VERB+P1?VERB .BYTE ACT?ACTIVATE .BYTE 0 W?ADMIRA:: .ZWORD "admira" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?AFFIRMATIVE:: .ZWORD "affirm" .BYTE PS?VERB+P1?VERB .BYTE ACT?YES .BYTE 0 W?AFT:: .ZWORD "aft" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 27 .BYTE A?SOUTH W?AGAIN:: .ZWORD "again" .BYTE PS?VERB+P1?VERB .BYTE ACT?AGAIN .BYTE 0 W?AGAINST:: .ZWORD "agains" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?AGAINST .BYTE 0 W?AIM:: .ZWORD "aim" .BYTE PS?VERB+P1?VERB .BYTE ACT?POINT .BYTE 0 W?ALIEN:: .ZWORD "alien" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ALIEN .BYTE 0 W?ALL:: .ZWORD "all" .BYTE PS?BUZZ-WORD .BYTE B?ALL .BYTE 0 W?ALUMINUM:: .ZWORD "alumin" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ALUMINUM .BYTE 0 W?AMBASSADOR:: .ZWORD "ambass" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?AN:: .ZWORD "an" .BYTE PS?BUZZ-WORD .BYTE B?AN .BYTE 0 W?AND:: .ZWORD "and" .BYTE PS?BUZZ-WORD .BYTE B?AND .BYTE 0 W?ANSWER:: .ZWORD "answer" .BYTE PS?VERB+P1?VERB .BYTE ACT?ANSWER .BYTE 0 W?ANT-LIKE:: .ZWORD "ant-li" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ANT-LIKE .BYTE 0 W?APPLY:: .ZWORD "apply" .BYTE PS?VERB+P1?VERB .BYTE ACT?APPLY .BYTE 0 W?ARE:: .ZWORD "are" .BYTE PS?BUZZ-WORD .BYTE B?ARE .BYTE 0 W?AROUND:: .ZWORD "around" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?AROUND .BYTE 0 W?ASK:: .ZWORD "ask" .BYTE PS?VERB+P1?VERB .BYTE ACT?TELL .BYTE 0 W?AT:: .ZWORD "at" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?AT .BYTE 0 W?ATTACK:: .ZWORD "attack" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTACK .BYTE 0 W?ATTRACT:: .ZWORD "attrac" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTRACT .BYTE 0 W?AWAKE:: .ZWORD "awake" .BYTE PS?VERB+P1?VERB .BYTE ACT?WAKE .BYTE 0 W?B:: .ZWORD "b" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?B .BYTE 0 W?B-SERIES:: .ZWORD "b-seri" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?B-SERIES .BYTE 0 W?BAR:: .ZWORD "bar" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BARE:: .ZWORD "bare" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BARE .BYTE 0 W?BATHE:: .ZWORD "bathe" .BYTE PS?VERB+P1?VERB .BYTE ACT?SWIM .BYTE 0 W?BATTERY:: .ZWORD "batter" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BEANS:: .ZWORD "beans" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BED:: .ZWORD "bed" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BEDISTOR:: .ZWORD "bedist" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BEEF:: .ZWORD "beef" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BEEF .BYTE 0 W?BEHIND:: .ZWORD "behind" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?BEHIND .BYTE 0 W?BEIGE:: .ZWORD "beige" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BEIGE .BYTE 0 W?BENCH:: .ZWORD "bench" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BENCHE:: .ZWORD "benche" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BIO-LOCK:: .ZWORD "bio-lo" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BIO-LOCK .BYTE 0 W?BIPED:: .ZWORD "biped" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BLACK:: .ZWORD "black" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BLACK .BYTE 0 W?BLAST:: .ZWORD "blast" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIRE .BYTE 0 W?BLATHER:: .ZWORD "blathe" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BLINKI:: .ZWORD "blinki" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BLINKI .BYTE 0 W?BLOB:: .ZWORD "blob" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BLUE:: .ZWORD "blue" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BLUE .BYTE 0 W?BOARD:: .ZWORD "board" .BYTE PS?OBJECT+PS?VERB+P1?VERB .BYTE ACT?BOARD .BYTE 0 W?BOARDS:: .ZWORD "boards" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BOCCI:: .ZWORD "bocci" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BOOTH:: .ZWORD "booth" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BOTH:: .ZWORD "both" .BYTE PS?BUZZ-WORD .BYTE B?ALL .BYTE 0 W?BOTTLE:: .ZWORD "bottle" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BOULDER:: .ZWORD "boulde" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BOX:: .ZWORD "box" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BRANDISH:: .ZWORD "brandi" .BYTE PS?VERB+P1?VERB .BYTE ACT?WAVE .BYTE 0 W?BREAK:: .ZWORD "break" .BYTE PS?VERB+P1?VERB .BYTE ACT?DESTROY .BYTE 0 W?BREAST:: .ZWORD "breast" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BREAST .BYTE 0 W?BRIEF:: .ZWORD "brief" .BYTE PS?VERB+P1?VERB .BYTE ACT?BRIEF .BYTE 0 W?BRIGHT:: .ZWORD "bright" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BRIGHT .BYTE 0 W?BROCHURE:: .ZWORD "brochu" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BROKEN:: .ZWORD "broken" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BROKEN .BYTE 0 W?BROWN:: .ZWORD "brown" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BROWN .BYTE 0 W?BRUSH:: .ZWORD "brush" .BYTE PS?OBJECT+PS?VERB+PS?ADJECTIVE+P1?VERB .BYTE ACT?SCRUB .BYTE A?SCRUB W?BUG:: .ZWORD "bug" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BULKHEAD:: .ZWORD "bulkhe" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?BUNK:: .ZWORD "bunk" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?BUNK .BYTE 0 W?BURN:: .ZWORD "burn" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIRE .BYTE 0 W?BUT:: .ZWORD "but" .BYTE PS?BUZZ-WORD .BYTE B?BUT .BYTE 0 W?BUTTON:: .ZWORD "button" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CABINETS:: .ZWORD "cabine" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CABLES:: .ZWORD "cables" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CAN:: .ZWORD "can" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CANTEEN:: .ZWORD "cantee" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CAR:: .ZWORD "car" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CARD:: .ZWORD "card" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CARDBOARD:: .ZWORD "cardbo" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CARDBOARD .BYTE 0 W?CARDS:: .ZWORD "cards" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CARPET:: .ZWORD "carpet" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CARRY:: .ZWORD "carry" .BYTE PS?VERB+P1?VERB .BYTE ACT?TAKE .BYTE 0 W?CARTON:: .ZWORD "carton" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CASTLE:: .ZWORD "castle" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CATWALK:: .ZWORD "catwal" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CCW:: .ZWORD "ccw" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 25 .BYTE A?WEST W?CELERY:: .ZWORD "celery" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CENTIMETER:: .ZWORD "centim" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CENTIMETER .BYTE 0 W?CHASE:: .ZWORD "chase" .BYTE PS?VERB+P1?VERB .BYTE ACT?FOLLOW .BYTE 0 W?CHEMICAL:: .ZWORD "chemic" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CHEMICAL .BYTE 0 W?CHERRY:: .ZWORD "cherry" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CHERRY .BYTE 0 W?CHESS:: .ZWORD "chess" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CHRONOMETER:: .ZWORD "chrono" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CHUCK:: .ZWORD "chuck" .BYTE PS?VERB+P1?VERB .BYTE ACT?THROW .BYTE 0 W?CIRCUL:: .ZWORD "circul" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CIRCUL .BYTE 0 W?CLASS:: .ZWORD "class" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CLASS .BYTE 0 W?CLEAN:: .ZWORD "clean" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SCRUB .BYTE ACT?SCRUB W?CLEFT:: .ZWORD "cleft" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CLIFF:: .ZWORD "cliff" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CLIMB:: .ZWORD "climb" .BYTE PS?VERB+P1?VERB .BYTE ACT?CLIMB .BYTE 0 W?CLOSE:: .ZWORD "close" .BYTE PS?VERB+P1?VERB .BYTE ACT?CLOSE .BYTE 0 W?COLLAPSE:: .ZWORD "collap" .BYTE PS?VERB+P1?VERB .BYTE ACT?CLOSE .BYTE 0 W?COLORE:: .ZWORD "colore" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?COLORE .BYTE 0 W?COMBINATION:: .ZWORD "combin" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?COMBINATION .BYTE 0 W?COMMUNICATIONS:: .ZWORD "commun" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?COMMUNICATIONS .BYTE 0 W?COMPAN:: .ZWORD "compan" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?COMPAR:: .ZWORD "compar" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?COMPLEX:: .ZWORD "comple" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?COMPLEX .BYTE 0 W?COMPUTER:: .ZWORD "comput" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?COMPUTER .BYTE 0 W?CONFERENCE:: .ZWORD "confer" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CONFERENCE .BYTE 0 W?CONSOLE:: .ZWORD "consol" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CONTRO:: .ZWORD "contro" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CONTRO .BYTE 0 W?CRACK:: .ZWORD "crack" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CRACKED:: .ZWORD "cracke" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CRACKED .BYTE 0 W?CREATURE:: .ZWORD "creatu" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CREVICE:: .ZWORD "crevic" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CRYO-ELEVATOR:: .ZWORD "cryo-e" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CRYO-ELEVATOR .BYTE 0 W?CUBBYHOLE:: .ZWORD "cubbyh" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CUBE:: .ZWORD "cube" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?CURSE:: .ZWORD "curse" .BYTE PS?VERB+P1?VERB .BYTE ACT?CURSE .BYTE 0 W?CURVED:: .ZWORD "curved" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?CURVED .BYTE 0 W?CW:: .ZWORD "cw" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 29 .BYTE A?EAST W?D:: .ZWORD "d" .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT .BYTE PR?DOWN .BYTE 22 W?DAMAGE:: .ZWORD "damage" .BYTE PS?VERB+P1?VERB .BYTE ACT?DESTROY .BYTE 0 W?DAMN:: .ZWORD "damn" .BYTE PS?VERB+P1?VERB .BYTE ACT?CURSE .BYTE 0 W?DARK:: .ZWORD "dark" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DARK .BYTE 0 W?DARKNESS:: .ZWORD "darkne" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DARKNESS .BYTE 0 W?DAZZLI:: .ZWORD "dazzli" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DAZZLI .BYTE 0 W?DEAD:: .ZWORD "dead" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DEAD .BYTE 0 W?DECK:: .ZWORD "deck" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DEEP:: .ZWORD "deep" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DEEP .BYTE 0 W?DEFORMED:: .ZWORD "deform" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DEFORMED .BYTE 0 W?DEPRES:: .ZWORD "depres" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DESCRIBE:: .ZWORD "descri" .BYTE PS?VERB+P1?VERB .BYTE ACT?EXAMINE .BYTE 0 W?DESK:: .ZWORD "desk" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DESTROY:: .ZWORD "destro" .BYTE PS?VERB+P1?VERB .BYTE ACT?DESTROY .BYTE 0 W?DEVICE:: .ZWORD "device" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DIAGNOSE:: .ZWORD "diagno" .BYTE PS?VERB+P1?VERB .BYTE ACT?DIAGNOSE .BYTE 0 W?DIAGRAM:: .ZWORD "diagra" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DIAL:: .ZWORD "dial" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DIALS:: .ZWORD "dials" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DIM:: .ZWORD "dim" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DIM .BYTE 0 W?DIM-:: .ZWORD "dim-" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DIM- .BYTE 0 W?DISEMBARK:: .ZWORD "disemb" .BYTE PS?VERB+P1?VERB .BYTE ACT?DISEMBARK .BYTE 0 W?DISPATCH:: .ZWORD "dispat" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTACK .BYTE 0 W?DISPEN:: .ZWORD "dispen" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DISPEN .BYTE 0 W?DONATE:: .ZWORD "donate" .BYTE PS?VERB+P1?VERB .BYTE ACT?GIVE .BYTE 0 W?DOOR:: .ZWORD "door" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DOORWA:: .ZWORD "doorwa" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DOWN:: .ZWORD "down" .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT .BYTE PR?DOWN .BYTE 22 W?DRAWER:: .ZWORD "drawer" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?DRINK:: .ZWORD "drink" .BYTE PS?VERB+P1?VERB .BYTE ACT?EAT .BYTE 0 W?DROP:: .ZWORD "drop" .BYTE PS?VERB+P1?VERB .BYTE ACT?DROP .BYTE 0 W?DUNNO:: .ZWORD "dunno" .BYTE PS?VERB+P1?VERB .BYTE ACT?MAYBE .BYTE 0 W?DUTY:: .ZWORD "duty" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?DUTY .BYTE 0 W?E:: .ZWORD "e" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 29 .BYTE A?EAST W?EARTH:: .ZWORD "earth" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?EAST:: .ZWORD "east" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 29 .BYTE A?EAST W?EAT:: .ZWORD "eat" .BYTE PS?VERB+P1?VERB .BYTE ACT?EAT .BYTE 0 W?EDGE:: .ZWORD "edge" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?EGGS:: .ZWORD "eggs" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?ELEVATOR:: .ZWORD "elevat" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ELEVATOR .BYTE 0 W?EMERGENCY:: .ZWORD "emerge" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?EMERGENCY .BYTE 0 W?EMPTY:: .ZWORD "empty" .BYTE PS?VERB+P1?VERB .BYTE ACT?EMPTY .BYTE 0 W?ENDLESS:: .ZWORD "endles" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ENDLESS .BYTE 0 W?ENSIGN:: .ZWORD "ensign" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ENSIGN .BYTE 0 W?ENTER:: .ZWORD "enter" .BYTE PS?VERB+P1?VERB .BYTE ACT?ENTER .BYTE 0 W?ENUNCI:: .ZWORD "enunci" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?EQUALS:: .ZWORD "equals" .BYTE PS?BUZZ-WORD .BYTE B?EQUALS .BYTE 0 W?EQUIPM:: .ZWORD "equipm" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?ESCALATOR:: .ZWORD "escala" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?ESCAPE:: .ZWORD "escape" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ESCAPE .BYTE ACT?ESCAPE W?EXAMINE:: .ZWORD "examin" .BYTE PS?VERB+P1?VERB .BYTE ACT?EXAMINE .BYTE 0 W?EXCEPT:: .ZWORD "except" .BYTE PS?BUZZ-WORD .BYTE B?EXCEPT .BYTE 0 W?EXIT:: .ZWORD "exit" .BYTE PS?VERB+P1?VERB .BYTE ACT?EXIT .BYTE 0 W?EXPERIMENTAL:: .ZWORD "experi" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?EXPERIMENTAL .BYTE 0 W?EXTEND:: .ZWORD "extend" .BYTE PS?VERB+P1?VERB .BYTE ACT?OPEN .BYTE 0 W?F:: .ZWORD "f" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 31 .BYTE A?NORTH W?FANGED:: .ZWORD "fanged" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FANGED .BYTE 0 W?FEED:: .ZWORD "feed" .BYTE PS?VERB+P1?VERB .BYTE ACT?GIVE .BYTE 0 W?FEEL:: .ZWORD "feel" .BYTE PS?VERB+P1?VERB .BYTE ACT?RUB .BYTE 0 W?FENCE:: .ZWORD "fence" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?FIGHT:: .ZWORD "fight" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTACK .BYTE 0 W?FILES:: .ZWORD "files" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?FIND:: .ZWORD "find" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIND .BYTE 0 W?FIRE:: .ZWORD "fire" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIRE .BYTE 0 W?FIRST:: .ZWORD "first" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FIRST .BYTE 0 W?FIX:: .ZWORD "fix" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIX .BYTE 0 W?FIXTURES:: .ZWORD "fixtur" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?FLASHI:: .ZWORD "flashi" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FLASHI .BYTE 0 W?FLASK:: .ZWORD "flask" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?FLOOR:: .ZWORD "floor" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?FLOYD:: .ZWORD "floyd" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?FLUID:: .ZWORD "fluid" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?FLUSH:: .ZWORD "flush" .BYTE PS?VERB+P1?VERB .BYTE ACT?FLUSH .BYTE 0 W?FLY:: .ZWORD "fly" .BYTE PS?VERB+P1?VERB .BYTE ACT?FLY .BYTE 0 W?FOLD:: .ZWORD "fold" .BYTE PS?VERB+P1?VERB .BYTE ACT?CLOSE .BYTE 0 W?FOLLOW:: .ZWORD "follow" .BYTE PS?VERB+P1?VERB .BYTE ACT?FOLLOW .BYTE 0 W?FOOD:: .ZWORD "food" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?FOR:: .ZWORD "for" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?FOR .BYTE 0 W?FORE:: .ZWORD "fore" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 31 .BYTE A?NORTH W?FOREWARD:: .ZWORD "forewa" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 31 .BYTE A?NORTH W?FORMER:: .ZWORD "former" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FORMER .BYTE 0 W?FORWARD:: .ZWORD "forwar" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 31 .BYTE A?NORTH W?FOURTH:: .ZWORD "fourth" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FOURTH .BYTE 0 W?FRESH:: .ZWORD "fresh" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FRESH .BYTE 0 W?FRIED:: .ZWORD "fried" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FRIED .BYTE 0 W?FROM:: .ZWORD "from" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?FROM .BYTE 0 W?FROMITZ:: .ZWORD "fromit" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FROMITZ .BYTE 0 W?FUCK:: .ZWORD "fuck" .BYTE PS?VERB+P1?VERB .BYTE ACT?CURSE .BYTE 0 W?FUNGICIDE:: .ZWORD "fungic" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FUNGICIDE .BYTE 0 W?FUNNEL:: .ZWORD "funnel" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FUNNEL .BYTE 0 W?FUSE:: .ZWORD "fuse" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?FUSED:: .ZWORD "fused" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?FUSED .BYTE 0 W?G:: .ZWORD "g" .BYTE PS?VERB+P1?VERB .BYTE ACT?AGAIN .BYTE 0 W?GAMES:: .ZWORD "games" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?GANGWAY:: .ZWORD "gangwa" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?GAPING:: .ZWORD "gaping" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GAPING .BYTE 0 W?GAS:: .ZWORD "gas" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GAS .BYTE 0 W?GAUGES:: .ZWORD "gauges" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?GAZE:: .ZWORD "gaze" .BYTE PS?VERB+P1?VERB .BYTE ACT?LOOK .BYTE 0 W?GESTURE:: .ZWORD "gestur" .BYTE PS?VERB+P1?VERB .BYTE ACT?POINT .BYTE 0 W?GET:: .ZWORD "get" .BYTE PS?VERB+P1?VERB .BYTE ACT?TAKE .BYTE 0 W?GIANT:: .ZWORD "giant" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GIANT .BYTE 0 W?GIVE:: .ZWORD "give" .BYTE PS?VERB+P1?VERB .BYTE ACT?GIVE .BYTE 0 W?GLASS:: .ZWORD "glass" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GLASS .BYTE 0 W?GLOWIN:: .ZWORD "glowin" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GLOWIN .BYTE 0 W?GO:: .ZWORD "go" .BYTE PS?VERB+P1?VERB .BYTE ACT?WALK .BYTE 0 W?GOO:: .ZWORD "goo" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?GOOD:: .ZWORD "good" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GOOD .BYTE 0 W?GRAFFITI:: .ZWORD "graffi" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?GRAY:: .ZWORD "gray" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GRAY .BYTE 0 W?GREEN:: .ZWORD "green" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GREEN .BYTE 0 W?GREY:: .ZWORD "grey" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GREY .BYTE 0 W?GRIN:: .ZWORD "grin" .BYTE PS?VERB+P1?VERB .BYTE ACT?SMILE .BYTE 0 W?GROUND:: .ZWORD "ground" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?GROWLING:: .ZWORD "growli" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?GROWLING .BYTE 0 W?GRUE:: .ZWORD "grue" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?GULF:: .ZWORD "gulf" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?HAIRY:: .ZWORD "hairy" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?HAIRY .BYTE 0 W?HAND:: .ZWORD "hand" .BYTE PS?VERB+P1?VERB .BYTE ACT?GIVE .BYTE 0 W?HANDS:: .ZWORD "hands" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?HEAVY:: .ZWORD "heavy" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?HEAVY .BYTE 0 W?HELICOPTER:: .ZWORD "helico" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?HELLO:: .ZWORD "hello" .BYTE PS?VERB+P1?VERB .BYTE ACT?HELLO .BYTE 0 W?HELP:: .ZWORD "help" .BYTE PS?VERB+P1?VERB .BYTE ACT?HELP .BYTE 0 W?HI:: .ZWORD "hi" .BYTE PS?VERB+P1?VERB .BYTE ACT?HELLO .BYTE 0 W?HIDER-:: .ZWORD "hider-" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?HIGH:: .ZWORD "high" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?HIGH .BYTE 0 W?HIGH-RANKING:: .ZWORD "high-r" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?HIGH-RANKING .BYTE 0 W?HIM:: .ZWORD "him" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?HINT:: .ZWORD "hint" .BYTE PS?VERB+P1?VERB .BYTE ACT?HELP .BYTE 0 W?HINTS:: .ZWORD "hints" .BYTE PS?VERB+P1?VERB .BYTE ACT?HELP .BYTE 0 W?HIT:: .ZWORD "hit" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTACK .BYTE 0 W?HOLD:: .ZWORD "hold" .BYTE PS?VERB+P1?VERB .BYTE ACT?TAKE .BYTE 0 W?HOLE:: .ZWORD "hole" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?HOP:: .ZWORD "hop" .BYTE PS?VERB+P1?VERB .BYTE ACT?SKIP .BYTE 0 W?HORSESHOE:: .ZWORD "horses" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?HORSESHOE .BYTE 0 W?HUCKA-:: .ZWORD "hucka-" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?HUNGRY:: .ZWORD "hungry" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?HUNGRY .BYTE 0 W?HURL:: .ZWORD "hurl" .BYTE PS?VERB+P1?VERB .BYTE ACT?THROW .BYTE 0 W?HURT:: .ZWORD "hurt" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTACK .BYTE 0 W?I:: .ZWORD "i" .BYTE PS?VERB+P1?VERB .BYTE ACT?INVENTORY .BYTE 0 W?ID:: .ZWORD "id" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ID .BYTE 0 W?IDENTIFICATION:: .ZWORD "identi" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?IDENTIFICATION .BYTE 0 W?IMPORTANT:: .ZWORD "import" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?IMPORTANT .BYTE 0 W?IMPURITY:: .ZWORD "impuri" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?IN:: .ZWORD "in" .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT .BYTE PR?IN .BYTE 21 W?INJURE:: .ZWORD "injure" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTACK .BYTE 0 W?INSERT:: .ZWORD "insert" .BYTE PS?VERB+P1?VERB .BYTE ACT?PUT .BYTE 0 W?INSIDE:: .ZWORD "inside" .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT .BYTE PR?IN .BYTE 21 W?INTNUM:: .ZWORD "intnum" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?INTO:: .ZWORD "into" .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT .BYTE PR?IN .BYTE 21 W?INVENTORY:: .ZWORD "invent" .BYTE PS?VERB+P1?VERB .BYTE ACT?INVENTORY .BYTE 0 W?IRON:: .ZWORD "iron" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?IRON .BYTE 0 W?IS:: .ZWORD "is" .BYTE PS?BUZZ-WORD .BYTE B?IS .BYTE 0 W?IT:: .ZWORD "it" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?JAGGED:: .ZWORD "jagged" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?JAGGED .BYTE 0 W?JUMP:: .ZWORD "jump" .BYTE PS?VERB+P1?VERB .BYTE ACT?JUMP .BYTE 0 W?K:: .ZWORD "k" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?K .BYTE 0 W?K-SERIES:: .ZWORD "k-seri" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?K-SERIES .BYTE 0 W?KEY:: .ZWORD "key" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?KEYBOARD:: .ZWORD "keyboa" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?KICK:: .ZWORD "kick" .BYTE PS?VERB+P1?VERB .BYTE ACT?KICK .BYTE 0 W?KILL:: .ZWORD "kill" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTACK .BYTE 0 W?KISS:: .ZWORD "kiss" .BYTE PS?VERB+P1?VERB .BYTE ACT?KISS .BYTE 0 W?KIT:: .ZWORD "kit" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?KITCHEN:: .ZWORD "kitche" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?KITCHEN .BYTE 0 W?KNOCK:: .ZWORD "knock" .BYTE PS?VERB+P1?VERB .BYTE ACT?KNOCK .BYTE 0 W?KRIP:: .ZWORD "krip" .BYTE PS?VERB+P1?VERB .BYTE ACT?CURSE .BYTE 0 W?L:: .ZWORD "l" .BYTE PS?VERB+P1?VERB .BYTE ACT?LOOK .BYTE 0 W?LAB:: .ZWORD "lab" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?LAB .BYTE 0 W?LABEL:: .ZWORD "label" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LADDER:: .ZWORD "ladder" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LAMP:: .ZWORD "lamp" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LANTERN:: .ZWORD "lanter" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LARGE:: .ZWORD "large" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?LARGE .BYTE 0 W?LASER:: .ZWORD "laser" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?LASER .BYTE 0 W?LAY:: .ZWORD "lay" .BYTE PS?VERB+P1?VERB .BYTE ACT?SIT .BYTE 0 W?LAZARUS:: .ZWORD "lazaru" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LEAFLET:: .ZWORD "leafle" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LEAP:: .ZWORD "leap" .BYTE PS?VERB+P1?VERB .BYTE ACT?JUMP .BYTE 0 W?LEAVE:: .ZWORD "leave" .BYTE PS?VERB+P1?VERB .BYTE ACT?LEAVE .BYTE 0 W?LEFT:: .ZWORD "left" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?LEFT .BYTE 0 W?LENGTHEN:: .ZWORD "length" .BYTE PS?VERB+P1?VERB .BYTE ACT?OPEN .BYTE 0 W?LEVER:: .ZWORD "lever" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LID:: .ZWORD "lid" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LIE:: .ZWORD "lie" .BYTE PS?VERB+P1?VERB .BYTE ACT?SIT .BYTE 0 W?LIGHT:: .ZWORD "light" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?LIGHT .BYTE 0 W?LIGHTS:: .ZWORD "lights" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LIMA:: .ZWORD "lima" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?LIMA .BYTE 0 W?LIQUID:: .ZWORD "liquid" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LISTEN:: .ZWORD "listen" .BYTE PS?VERB+P1?VERB .BYTE ACT?LISTEN .BYTE 0 W?LOCK:: .ZWORD "lock" .BYTE PS?OBJECT+PS?VERB+P1?VERB .BYTE ACT?LOCK .BYTE 0 W?LOGO:: .ZWORD "logo" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?LONG:: .ZWORD "long" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?LONG .BYTE 0 W?LOOK:: .ZWORD "look" .BYTE PS?VERB+P1?VERB .BYTE ACT?LOOK .BYTE 0 W?LOWER:: .ZWORD "lower" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?LOWER .BYTE 0 W?LUBRICATE:: .ZWORD "lubric" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?OIL .BYTE ACT?OIL W?LURKING:: .ZWORD "lurkin" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?LURKING .BYTE 0 W?MACHIN:: .ZWORD "machin" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MAGNET:: .ZWORD "magnet" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MAN-EATING:: .ZWORD "man-ea" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MAN-EATING .BYTE 0 W?MAN-SIZED:: .ZWORD "man-si" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MAN-SIZED .BYTE 0 W?MANGLE:: .ZWORD "mangle" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MANGLE .BYTE 0 W?MAPS:: .ZWORD "maps" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MASK:: .ZWORD "mask" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MASS:: .ZWORD "mass" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MAYBE:: .ZWORD "maybe" .BYTE PS?VERB+P1?VERB .BYTE ACT?MAYBE .BYTE 0 W?ME:: .ZWORD "me" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MEDICAL:: .ZWORD "medica" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MEDICAL .BYTE 0 W?MEDICINE:: .ZWORD "medici" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MEDICINE .BYTE 0 W?MEGA:: .ZWORD "mega" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MEGA .BYTE 0 W?MEGAFUSE:: .ZWORD "megafu" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MEGAKRIP:: .ZWORD "megakr" .BYTE PS?VERB+P1?VERB .BYTE ACT?CURSE .BYTE 0 W?MEMO:: .ZWORD "memo" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MESSAGE:: .ZWORD "messag" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MESSY:: .ZWORD "messy" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MESSY .BYTE 0 W?METAL:: .ZWORD "metal" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?METAL .BYTE 0 W?MICRO:: .ZWORD "micro" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MICRO .BYTE 0 W?MICROBE:: .ZWORD "microb" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MICROF:: .ZWORD "microf" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MICROF .BYTE 0 W?MILKY:: .ZWORD "milky" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MILKY .BYTE 0 W?MINI:: .ZWORD "mini" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MINI .BYTE 0 W?MINIAT:: .ZWORD "miniat" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MINIAT .BYTE 0 W?MOBILE:: .ZWORD "mobile" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MOBILE .BYTE 0 W?MOLEST:: .ZWORD "molest" .BYTE PS?VERB+P1?VERB .BYTE ACT?RAPE .BYTE 0 W?MONITORS:: .ZWORD "monito" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MONSTER:: .ZWORD "monste" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MOP:: .ZWORD "mop" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SCRUB .BYTE ACT?SCRUB W?MOVE:: .ZWORD "move" .BYTE PS?VERB+P1?VERB .BYTE ACT?MOVE .BYTE 0 W?MULTI:: .ZWORD "multi" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MULTI .BYTE 0 W?MULTIP:: .ZWORD "multip" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?MULTIP .BYTE 0 W?MURAL:: .ZWORD "mural" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MURDER:: .ZWORD "murder" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTACK .BYTE 0 W?MUTANT:: .ZWORD "mutant" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?MYSELF:: .ZWORD "myself" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?N:: .ZWORD "n" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 31 .BYTE A?NORTH W?NARROW:: .ZWORD "narrow" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?NARROW .BYTE 0 W?NE:: .ZWORD "ne" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 30 .BYTE A?NE W?NEAR:: .ZWORD "near" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?NEAR .BYTE 0 W?NEGATIVE:: .ZWORD "negati" .BYTE PS?VERB+P1?VERB .BYTE ACT?NO .BYTE 0 W?NET:: .ZWORD "net" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?NEW:: .ZWORD "new" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?NEW .BYTE 0 W?NICHE:: .ZWORD "niche" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?NINETY:: .ZWORD "ninety" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?NINETY .BYTE 0 W?NO:: .ZWORD "no" .BYTE PS?VERB+P1?VERB .BYTE ACT?NO .BYTE 0 W?NORTH:: .ZWORD "north" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 31 .BYTE A?NORTH W?NOSED:: .ZWORD "nosed" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?NOSED .BYTE 0 W?NW:: .ZWORD "nw" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 24 .BYTE A?NW W?OBJECT:: .ZWORD "object" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?OCEAN:: .ZWORD "ocean" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?OCTAGONAL:: .ZWORD "octago" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?OCTAGONAL .BYTE 0 W?OF:: .ZWORD "of" .BYTE PS?BUZZ-WORD .BYTE B?OF .BYTE 0 W?OFF:: .ZWORD "off" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?OFF .BYTE 0 W?OFFER:: .ZWORD "offer" .BYTE PS?VERB+P1?VERB .BYTE ACT?GIVE .BYTE 0 W?OFFICE:: .ZWORD "office" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?OFFICE .BYTE 0 W?OHM:: .ZWORD "ohm" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?OHM .BYTE 0 W?OIL:: .ZWORD "oil" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?OIL .BYTE ACT?OIL W?OLD:: .ZWORD "old" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?OLD .BYTE 0 W?ON:: .ZWORD "on" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?ON .BYTE 0 W?ONE:: .ZWORD "one" .BYTE PS?BUZZ-WORD .BYTE B?ONE .BYTE 0 W?ONTO:: .ZWORD "onto" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?ON .BYTE 0 W?OPEN:: .ZWORD "open" .BYTE PS?VERB+P1?VERB .BYTE ACT?OPEN .BYTE 0 W?OPENER:: .ZWORD "opener" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?OPENER .BYTE 0 W?OPENIN:: .ZWORD "openin" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?ORANGE:: .ZWORD "orange" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ORANGE .BYTE 0 W?OUR:: .ZWORD "our" .BYTE PS?BUZZ-WORD .BYTE B?OUR .BYTE 0 W?OUT:: .ZWORD "out" .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT .BYTE PR?OUT .BYTE 20 W?OUTPUT:: .ZWORD "output" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?OVER:: .ZWORD "over" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?OVER .BYTE 0 W?P:: .ZWORD "p" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 25 .BYTE A?WEST W?PAD:: .ZWORD "pad" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PADLOCK:: .ZWORD "padloc" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PAIR:: .ZWORD "pair" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PALE:: .ZWORD "pale" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?PALE .BYTE 0 W?PAMPHLET:: .ZWORD "pamphl" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PANEL:: .ZWORD "panel" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PAPER:: .ZWORD "paper" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PART:: .ZWORD "part" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PARTITION:: .ZWORD "partit" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PAT:: .ZWORD "pat" .BYTE PS?VERB+P1?VERB .BYTE ACT?RUB .BYTE 0 W?PATROL:: .ZWORD "patrol" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?PATROL .BYTE 0 W?PET:: .ZWORD "pet" .BYTE PS?VERB+P1?VERB .BYTE ACT?RUB .BYTE 0 W?PICK:: .ZWORD "pick" .BYTE PS?VERB+P1?VERB .BYTE ACT?PICK .BYTE 0 W?PIE:: .ZWORD "pie" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PIECE:: .ZWORD "piece" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?PIECE .BYTE 0 W?PILE:: .ZWORD "pile" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PLACE:: .ZWORD "place" .BYTE PS?VERB+P1?VERB .BYTE ACT?PUT .BYTE 0 W?PLANT:: .ZWORD "plant" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PLAQUE:: .ZWORD "plaque" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PLASTIC:: .ZWORD "plasti" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?PLASTIC .BYTE 0 W?PLATE:: .ZWORD "plate" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PLATES:: .ZWORD "plates" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PLAY:: .ZWORD "play" .BYTE PS?VERB+P1?VERB .BYTE ACT?PLAY .BYTE 0 W?PLAYBA:: .ZWORD "playba" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?PLAYBA .BYTE 0 W?PLIERS:: .ZWORD "pliers" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?POCKET:: .ZWORD "pocket" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?POD:: .ZWORD "pod" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?POD .BYTE 0 W?POINT:: .ZWORD "point" .BYTE PS?VERB+P1?VERB .BYTE ACT?POINT .BYTE 0 W?POLISH:: .ZWORD "polish" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SCRUB .BYTE ACT?SCRUB W?PORT:: .ZWORD "port" .BYTE PS?OBJECT+PS?ADJECTIVE+PS?DIRECTION+P1?ADJECTIVE .BYTE A?WEST .BYTE 25 W?PORTABLE:: .ZWORD "portab" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?PORTABLE .BYTE 0 W?PORTAL:: .ZWORD "portal" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?POSSIBLY:: .ZWORD "possib" .BYTE PS?VERB+P1?VERB .BYTE ACT?MAYBE .BYTE 0 W?POUR:: .ZWORD "pour" .BYTE PS?VERB+P1?VERB .BYTE ACT?POUR .BYTE 0 W?POWERFUL:: .ZWORD "powerf" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?POWERFUL .BYTE 0 W?PRECIPICE:: .ZWORD "precip" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PRESS:: .ZWORD "press" .BYTE PS?VERB+P1?VERB .BYTE ACT?PUSH .BYTE 0 W?PRIMARY:: .ZWORD "primar" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?PRIMARY .BYTE 0 W?PRINTOUT:: .ZWORD "printo" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PROCEED:: .ZWORD "procee" .BYTE PS?VERB+P1?VERB .BYTE ACT?WALK .BYTE 0 W?PROTEIN-RICH:: .ZWORD "protei" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?PROTEIN-RICH .BYTE 0 W?PROVISIONS:: .ZWORD "provis" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?PULL:: .ZWORD "pull" .BYTE PS?VERB+P1?VERB .BYTE ACT?PULL .BYTE 0 W?PURPOS:: .ZWORD "purpos" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?PURPOS .BYTE 0 W?PURSUE:: .ZWORD "pursue" .BYTE PS?VERB+P1?VERB .BYTE ACT?FOLLOW .BYTE 0 W?PUSH:: .ZWORD "push" .BYTE PS?VERB+P1?VERB .BYTE ACT?PUSH .BYTE 0 W?PUT:: .ZWORD "put" .BYTE PS?VERB+P1?VERB .BYTE ACT?PUT .BYTE 0 W?Q:: .ZWORD "q" .BYTE PS?VERB+P1?VERB .BYTE ACT?QUIT .BYTE 0 W?QUANTITY:: .ZWORD "quanti" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?QUANTITY .BYTE 0 W?QUIT:: .ZWORD "quit" .BYTE PS?VERB+P1?VERB .BYTE ACT?QUIT .BYTE 0 W?RACK:: .ZWORD "rack" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?RADIATION:: .ZWORD "radiat" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?RADIATION .BYTE 0 W?RANKING:: .ZWORD "rankin" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?RANKING .BYTE 0 W?RAP:: .ZWORD "rap" .BYTE PS?VERB+P1?VERB .BYTE ACT?KNOCK .BYTE 0 W?RAPE:: .ZWORD "rape" .BYTE PS?VERB+P1?VERB .BYTE ACT?RAPE .BYTE 0 W?RAT-ANT:: .ZWORD "rat-an" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?RAT-LIKE:: .ZWORD "rat-li" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?RAT-LIKE .BYTE 0 W?REACH:: .ZWORD "reach" .BYTE PS?VERB+P1?VERB .BYTE ACT?REACH .BYTE 0 W?REACTOR:: .ZWORD "reacto" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?REACTOR .BYTE 0 W?READ:: .ZWORD "read" .BYTE PS?VERB+P1?VERB .BYTE ACT?READ .BYTE 0 W?READER:: .ZWORD "reader" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?RECEIVE:: .ZWORD "receiv" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?RECEIVE .BYTE 0 W?RECLINE:: .ZWORD "reclin" .BYTE PS?VERB+P1?VERB .BYTE ACT?SIT .BYTE 0 W?RED:: .ZWORD "red" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?RED .BYTE 0 W?RELAY:: .ZWORD "relay" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?RELEASE:: .ZWORD "releas" .BYTE PS?VERB+P1?VERB .BYTE ACT?DROP .BYTE 0 W?REMOVE:: .ZWORD "remove" .BYTE PS?VERB+P1?VERB .BYTE ACT?REMOVE .BYTE 0 W?REPAIR:: .ZWORD "repair" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?REPAIR .BYTE ACT?FIX W?REPLY:: .ZWORD "reply" .BYTE PS?VERB+P1?VERB .BYTE ACT?ANSWER .BYTE 0 W?RESTAR:: .ZWORD "restar" .BYTE PS?VERB+P1?VERB .BYTE ACT?RESTAR .BYTE 0 W?RESTOR:: .ZWORD "restor" .BYTE PS?VERB+P1?VERB .BYTE ACT?RESTOR .BYTE 0 W?RIFT:: .ZWORD "rift" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?RIGHT:: .ZWORD "right" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?RIGHT .BYTE 0 W?ROBOT:: .ZWORD "robot" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?ROUND:: .ZWORD "round" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?ROUND .BYTE 0 W?RUB:: .ZWORD "rub" .BYTE PS?VERB+P1?VERB .BYTE ACT?RUB .BYTE 0 W?RUBBLE:: .ZWORD "rubble" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?RUMMAGE:: .ZWORD "rummag" .BYTE PS?VERB+P1?VERB .BYTE ACT?SEARCH .BYTE 0 W?RUN:: .ZWORD "run" .BYTE PS?VERB+P1?VERB .BYTE ACT?WALK .BYTE 0 W?S:: .ZWORD "s" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 27 .BYTE A?SOUTH W?SAFETY:: .ZWORD "safety" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SAFETY .BYTE 0 W?SALUTE:: .ZWORD "salute" .BYTE PS?VERB+P1?VERB .BYTE ACT?SALUTE .BYTE 0 W?SAVE:: .ZWORD "save" .BYTE PS?VERB+P1?VERB .BYTE ACT?SAVE .BYTE 0 W?SAY:: .ZWORD "say" .BYTE PS?VERB+P1?VERB .BYTE ACT?SAY .BYTE 0 W?SB:: .ZWORD "sb" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 29 .BYTE A?EAST W?SCOLD:: .ZWORD "scold" .BYTE PS?VERB+P1?VERB .BYTE ACT?SCOLD .BYTE 0 W?SCORE:: .ZWORD "score" .BYTE PS?VERB+P1?VERB .BYTE ACT?SCORE .BYTE 0 W?SCREAM:: .ZWORD "scream" .BYTE PS?VERB+P1?VERB .BYTE ACT?YELL .BYTE 0 W?SCREEN:: .ZWORD "screen" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SCRIPT:: .ZWORD "script" .BYTE PS?VERB+P1?VERB .BYTE ACT?SCRIPT .BYTE 0 W?SCRUB:: .ZWORD "scrub" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SCRUB .BYTE ACT?SCRUB W?SCRUBB:: .ZWORD "scrubb" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SCRUBR:: .ZWORD "scrubr" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SE:: .ZWORD "se" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 28 .BYTE A?SE W?SEARCH:: .ZWORD "search" .BYTE PS?VERB+P1?VERB .BYTE ACT?SEARCH .BYTE 0 W?SECOND:: .ZWORD "second" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SECOND .BYTE 0 W?SEE:: .ZWORD "see" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIND .BYTE 0 W?SEEK:: .ZWORD "seek" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIND .BYTE 0 W?SELF:: .ZWORD "self" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SELF-CONTAINED:: .ZWORD "self-c" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SELF-CONTAINED .BYTE 0 W?SEND:: .ZWORD "send" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SEND .BYTE 0 W?SERIES:: .ZWORD "series" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SERIES .BYTE 0 W?SET:: .ZWORD "set" .BYTE PS?VERB+P1?VERB .BYTE ACT?TURN .BYTE 0 W?SETTING:: .ZWORD "settin" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SETTING .BYTE 0 W?SEVENTEEN:: .ZWORD "sevent" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SEVENTEEN .BYTE 0 W?SHAKE:: .ZWORD "shake" .BYTE PS?VERB+P1?VERB .BYTE ACT?SHAKE .BYTE 0 W?SHAPED:: .ZWORD "shaped" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SHAPED .BYTE 0 W?SHELF:: .ZWORD "shelf" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SHELVES:: .ZWORD "shelve" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SHINE:: .ZWORD "shine" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SCRUB .BYTE ACT?SCRUB W?SHINY:: .ZWORD "shiny" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SHINY .BYTE 0 W?SHIT:: .ZWORD "shit" .BYTE PS?VERB+P1?VERB .BYTE ACT?CURSE .BYTE 0 W?SHOOT:: .ZWORD "shoot" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIRE .BYTE 0 W?SHORTEN:: .ZWORD "shorte" .BYTE PS?VERB+P1?VERB .BYTE ACT?CLOSE .BYTE 0 W?SHOUT:: .ZWORD "shout" .BYTE PS?VERB+P1?VERB .BYTE ACT?YELL .BYTE 0 W?SHOW:: .ZWORD "show" .BYTE PS?VERB+P1?VERB .BYTE ACT?SHOW .BYTE 0 W?SHUTTL:: .ZWORD "shuttl" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SHUTTL .BYTE 0 W?SIDE:: .ZWORD "side" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SIFT:: .ZWORD "sift" .BYTE PS?VERB+P1?VERB .BYTE ACT?SEARCH .BYTE 0 W?SILENT:: .ZWORD "silent" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SILENT .BYTE 0 W?SILICON:: .ZWORD "silico" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SILICON .BYTE 0 W?SIMPLE:: .ZWORD "simple" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SIMPLE .BYTE 0 W?SINISTER:: .ZWORD "sinist" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SINISTER .BYTE 0 W?SIT:: .ZWORD "sit" .BYTE PS?VERB+P1?VERB .BYTE ACT?SIT .BYTE 0 W?SKIM:: .ZWORD "skim" .BYTE PS?VERB+P1?VERB .BYTE ACT?READ .BYTE 0 W?SKIP:: .ZWORD "skip" .BYTE PS?VERB+P1?VERB .BYTE ACT?SKIP .BYTE 0 W?SLAY:: .ZWORD "slay" .BYTE PS?VERB+P1?VERB .BYTE ACT?ATTACK .BYTE 0 W?SLEEP:: .ZWORD "sleep" .BYTE PS?OBJECT+PS?VERB+P1?VERB .BYTE ACT?SLEEP .BYTE 0 W?SLIDE:: .ZWORD "slide" .BYTE PS?VERB+P1?VERB .BYTE ACT?SLIDE .BYTE 0 W?SLIME:: .ZWORD "slime" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SLOT:: .ZWORD "slot" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SMALL:: .ZWORD "small" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SMALL .BYTE 0 W?SMASH:: .ZWORD "smash" .BYTE PS?VERB+P1?VERB .BYTE ACT?DESTROY .BYTE 0 W?SMELL:: .ZWORD "smell" .BYTE PS?VERB+P1?VERB .BYTE ACT?SMELL .BYTE 0 W?SMILE:: .ZWORD "smile" .BYTE PS?VERB+P1?VERB .BYTE ACT?SMILE .BYTE 0 W?SMITHE:: .ZWORD "smithe" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SNEEZE:: .ZWORD "sneeze" .BYTE PS?VERB+P1?VERB .BYTE ACT?ZORK .BYTE 0 W?SNIFF:: .ZWORD "sniff" .BYTE PS?VERB+P1?VERB .BYTE ACT?SMELL .BYTE 0 W?SOCKET:: .ZWORD "socket" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SORT:: .ZWORD "sort" .BYTE PS?VERB+P1?VERB .BYTE ACT?SEARCH .BYTE 0 W?SOUTH:: .ZWORD "south" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 27 .BYTE A?SOUTH W?SPAM:: .ZWORD "spam" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SPECK:: .ZWORD "speck" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SPILL:: .ZWORD "spill" .BYTE PS?VERB+P1?VERB .BYTE ACT?POUR .BYTE 0 W?SPOOL:: .ZWORD "spool" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SPOOLS:: .ZWORD "spools" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SPOUT:: .ZWORD "spout" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SQUARE:: .ZWORD "square" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SQUARE .BYTE 0 W?STAIRS:: .ZWORD "stairs" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?STAIRWAY:: .ZWORD "stairw" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?STALK:: .ZWORD "stalk" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?STAND:: .ZWORD "stand" .BYTE PS?VERB+P1?VERB .BYTE ACT?STAND .BYTE 0 W?STARBOARD:: .ZWORD "starbo" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 29 .BYTE A?EAST W?STARE:: .ZWORD "stare" .BYTE PS?VERB+P1?VERB .BYTE ACT?LOOK .BYTE 0 W?STARTLE:: .ZWORD "startl" .BYTE PS?VERB+P1?VERB .BYTE ACT?WAKE .BYTE 0 W?STEEL:: .ZWORD "steel" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?STEEL .BYTE 0 W?STEP:: .ZWORD "step" .BYTE PS?VERB+P1?VERB .BYTE ACT?STEP .BYTE 0 W?STEPS:: .ZWORD "steps" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?STEW:: .ZWORD "stew" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?STRIKE:: .ZWORD "strike" .BYTE PS?VERB+P1?VERB .BYTE ACT?STRIKE .BYTE 0 W?STRIP:: .ZWORD "strip" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?STRUCTURE:: .ZWORD "struct" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?STUFF:: .ZWORD "stuff" .BYTE PS?VERB+P1?VERB .BYTE ACT?PUT .BYTE 0 W?SUIT:: .ZWORD "suit" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SUPER:: .ZWORD "super" .BYTE PS?VERB+P1?VERB .BYTE ACT?SUPER .BYTE 0 W?SUPERBRIEF:: .ZWORD "superb" .BYTE PS?VERB+P1?VERB .BYTE ACT?SUPER .BYTE 0 W?SUPPLIES:: .ZWORD "suppli" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?SURPRISE:: .ZWORD "surpri" .BYTE PS?VERB+P1?VERB .BYTE ACT?WAKE .BYTE 0 W?SURVIVAL:: .ZWORD "surviv" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SURVIVAL .BYTE 0 W?SW:: .ZWORD "sw" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 26 .BYTE A?SW W?SWAB:: .ZWORD "swab" .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?SCRUB .BYTE ACT?SCRUB W?SWALLOW:: .ZWORD "swallo" .BYTE PS?VERB+P1?VERB .BYTE ACT?EAT .BYTE 0 W?SWIM:: .ZWORD "swim" .BYTE PS?VERB+P1?VERB .BYTE ACT?SWIM .BYTE 0 W?SWING:: .ZWORD "swing" .BYTE PS?VERB+P1?VERB .BYTE ACT?SLIDE .BYTE 0 W?T:: .ZWORD "t" .BYTE PS?VERB+P1?VERB .BYTE ACT?TIME .BYTE 0 W?TABLE:: .ZWORD "table" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?TABLES:: .ZWORD "tables" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?TAKE:: .ZWORD "take" .BYTE PS?VERB+P1?VERB .BYTE ACT?TAKE .BYTE 0 W?TALK:: .ZWORD "talk" .BYTE PS?VERB+P1?VERB .BYTE ACT?SAY .BYTE 0 W?TAN:: .ZWORD "tan" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?TAN .BYTE 0 W?TAPES:: .ZWORD "tapes" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?TASTE:: .ZWORD "taste" .BYTE PS?VERB+P1?VERB .BYTE ACT?TASTE .BYTE 0 W?TELEPO:: .ZWORD "telepo" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?TELEPO .BYTE 0 W?TELL:: .ZWORD "tell" .BYTE PS?VERB+P1?VERB .BYTE ACT?TELL .BYTE 0 W?TERMINAL:: .ZWORD "termin" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?THAT:: .ZWORD "that" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?THE:: .ZWORD "the" .BYTE PS?BUZZ-WORD .BYTE B?THE .BYTE 0 W?THEN:: .ZWORD "then" .BYTE PS?BUZZ-WORD .BYTE B?THEN .BYTE 0 W?THIRD:: .ZWORD "third" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?THIRD .BYTE 0 W?THIS:: .ZWORD "this" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?THROUGH:: .ZWORD "throug" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?WITH .BYTE 0 W?THROW:: .ZWORD "throw" .BYTE PS?VERB+P1?VERB .BYTE ACT?THROW .BYTE 0 W?THRU:: .ZWORD "thru" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?WITH .BYTE 0 W?TIERED:: .ZWORD "tiered" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?TIERED .BYTE 0 W?TIME:: .ZWORD "time" .BYTE PS?VERB+P1?VERB .BYTE ACT?TIME .BYTE 0 W?TIN:: .ZWORD "tin" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?TIN .BYTE 0 W?TO:: .ZWORD "to" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?TO .BYTE 0 W?TOILET:: .ZWORD "toilet" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?TOSS:: .ZWORD "toss" .BYTE PS?VERB+P1?VERB .BYTE ACT?THROW .BYTE 0 W?TOUCH:: .ZWORD "touch" .BYTE PS?VERB+P1?VERB .BYTE ACT?RUB .BYTE 0 W?TOWEL:: .ZWORD "towel" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?TRANSL:: .ZWORD "transl" .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?TRANSL .BYTE 0 W?TRIFFID:: .ZWORD "triffi" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?TROLL:: .ZWORD "troll" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?TROT:: .ZWORD "trot" .BYTE PS?VERB+P1?VERB .BYTE ACT?CURSE .BYTE 0 W?TROTTING:: .ZWORD "trotti" .BYTE PS?VERB+P1?VERB .BYTE ACT?CURSE .BYTE 0 W?TUG:: .ZWORD "tug" .BYTE PS?VERB+P1?VERB .BYTE ACT?PULL .BYTE 0 W?TURN:: .ZWORD "turn" .BYTE PS?VERB+P1?VERB .BYTE ACT?TURN .BYTE 0 W?TYPE:: .ZWORD "type" .BYTE PS?VERB+P1?VERB .BYTE ACT?TYPE .BYTE 0 W?U:: .ZWORD "u" .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT .BYTE PR?UP .BYTE 23 W?UGLY:: .ZWORD "ugly" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?UGLY .BYTE 0 W?UNDER:: .ZWORD "under" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?UNDER .BYTE 0 W?UNFOLD:: .ZWORD "unfold" .BYTE PS?VERB+P1?VERB .BYTE ACT?OPEN .BYTE 0 W?UNIFORM:: .ZWORD "unifor" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?UNIT:: .ZWORD "unit" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?UNLOCK:: .ZWORD "unlock" .BYTE PS?VERB+P1?VERB .BYTE ACT?UNLOCK .BYTE 0 W?UNOPENED:: .ZWORD "unopen" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?UNOPENED .BYTE 0 W?UNSCRIPT:: .ZWORD "unscri" .BYTE PS?VERB+P1?VERB .BYTE ACT?UNSCRIPT .BYTE 0 W?UP:: .ZWORD "up" .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT .BYTE PR?UP .BYTE 23 W?UPPER:: .ZWORD "upper" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?UPPER .BYTE 0 W?USING:: .ZWORD "using" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?WITH .BYTE 0 W?VEHICLE:: .ZWORD "vehicl" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?VERBOSE:: .ZWORD "verbos" .BYTE PS?VERB+P1?VERB .BYTE ACT?VERBOSE .BYTE 0 W?VERSION:: .ZWORD "versio" .BYTE PS?VERB+P1?VERB .BYTE ACT?VERSION .BYTE 0 W?VERY:: .ZWORD "very" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?VERY .BYTE 0 W?VICIOUS:: .ZWORD "viciou" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?VICIOUS .BYTE 0 W?VIDEO:: .ZWORD "video" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?VIDEO .BYTE 0 W?VIEW:: .ZWORD "view" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?VIEW .BYTE 0 W?VIEWPORT:: .ZWORD "viewpo" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?VOID:: .ZWORD "void" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?W:: .ZWORD "w" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 25 .BYTE A?WEST W?WADE:: .ZWORD "wade" .BYTE PS?VERB+P1?VERB .BYTE ACT?SWIM .BYTE 0 W?WAIT:: .ZWORD "wait" .BYTE PS?VERB+P1?VERB .BYTE ACT?WAIT .BYTE 0 W?WAKE:: .ZWORD "wake" .BYTE PS?VERB+P1?VERB .BYTE ACT?WAKE .BYTE 0 W?WALK:: .ZWORD "walk" .BYTE PS?VERB+P1?VERB .BYTE ACT?WALK .BYTE 0 W?WALKWAY:: .ZWORD "walkwa" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?WARNIN:: .ZWORD "warnin" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?WARNIN .BYTE 0 W?WATCH:: .ZWORD "watch" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?WAVE:: .ZWORD "wave" .BYTE PS?VERB+P1?VERB .BYTE ACT?WAVE .BYTE 0 W?WE:: .ZWORD "we" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?WEAR:: .ZWORD "wear" .BYTE PS?VERB+P1?VERB .BYTE ACT?WEAR .BYTE 0 W?WEB:: .ZWORD "web" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?WEBBING:: .ZWORD "webbin" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?WEST:: .ZWORD "west" .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION .BYTE 25 .BYTE A?WEST W?WHAT:: .ZWORD "what" .BYTE PS?VERB+P1?VERB .BYTE ACT?EXAMINE .BYTE 0 W?WHATS:: .ZWORD "whats" .BYTE PS?VERB+P1?VERB .BYTE ACT?EXAMINE .BYTE 0 W?WHERE:: .ZWORD "where" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIND .BYTE 0 W?WHITE:: .ZWORD "white" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?WHITE .BYTE 0 W?WIDE:: .ZWORD "wide" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?WIDE .BYTE 0 W?WIDE-NOSED:: .ZWORD "wide-n" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?WIDE-NOSED .BYTE 0 W?WINDOW:: .ZWORD "window" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?WITH:: .ZWORD "with" .BYTE PS?PREPOSITION+P1?OBJECT .BYTE PR?WITH .BYTE 0 W?WITTED:: .ZWORD "witted" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?WITTED .BYTE 0 W?WOODEN:: .ZWORD "wooden" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?WOODEN .BYTE 0 W?WORN-OUT:: .ZWORD "worn-o" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?WORN-OUT .BYTE 0 W?WRINKLED:: .ZWORD "wrinkl" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?WRINKLED .BYTE 0 W?WRIST:: .ZWORD "wrist" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?WRIST .BYTE 0 W?WRISTWATCH:: .ZWORD "wristw" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 W?Y:: .ZWORD "y" .BYTE PS?VERB+P1?VERB .BYTE ACT?YES .BYTE 0 W?YELL:: .ZWORD "yell" .BYTE PS?VERB+P1?VERB .BYTE ACT?YELL .BYTE 0 W?YELLOW:: .ZWORD "yellow" .BYTE PS?ADJECTIVE+P1?ADJECTIVE .BYTE A?YELLOW .BYTE 0 W?YES:: .ZWORD "yes" .BYTE PS?VERB+P1?VERB .BYTE ACT?YES .BYTE 0 W?Z:: .ZWORD "z" .BYTE PS?VERB+P1?VERB .BYTE ACT?WAIT .BYTE 0 W?ZAP:: .ZWORD "zap" .BYTE PS?VERB+P1?VERB .BYTE ACT?FIRE .BYTE 0 W?ZORK:: .ZWORD "zork" .BYTE PS?VERB+P1?VERB .BYTE ACT?ZORK .BYTE 0 W?ZZMGCK:: .ZWORD "zzmgck" .BYTE PS?OBJECT+P1?OBJECT .BYTE 0 .BYTE 0 .ENDT ; END LOAD ENDLOD:: .ENDI ================================================ FILE: planetfallfreq.xzap ================================================ .FSTR FSTR?1,"the " ;1968 985 .FSTR FSTR?2,"The " ;1167 390 .FSTR FSTR?3,"and " ;812 407 .FSTR FSTR?4,", " ;776 777 .FSTR FSTR?5,"You " ;726 243 .FSTR FSTR?6,". " ;647 648 .FSTR FSTR?7,"you " ;470 236 .FSTR FSTR?8,"Floyd " ;420 85 .FSTR FSTR?9,"is " ;415 416 .FSTR FSTR?10,"to " ;378 379 .FSTR FSTR?11,"with " ;375 126 .FSTR FSTR?12,"of " ;373 374 .FSTR FSTR?13,"your " ;336 113 .FSTR FSTR?14,"This " ;304 77 .FSTR FSTR?15,"from " ;270 91 .FSTR FSTR?16,"can't " ;255 52 .FSTR FSTR?17,"labelled " ;245 36 .FSTR FSTR?18,"into " ;228 77 .FSTR FSTR?19,"that " ;225 76 .FSTR FSTR?20,"are " ;220 111 .FSTR FSTR?21,"small " ;188 48 .FSTR FSTR?22,"door " ;180 61 .FSTR FSTR?23,"in " ;175 176 .FSTR FSTR?24,"have " ;174 59 .FSTR FSTR?25,"It " ;166 84 .FSTR FSTR?26,"already " ;162 28 .FSTR FSTR?27,"You're " ;161 24 .FSTR FSTR?28,"which " ;160 41 .FSTR FSTR?29,"room " ;144 49 .FSTR FSTR?30,"about " ;144 37 .FSTR FSTR?31,"control " ;144 25 .FSTR FSTR?32,"through " ;138 24 .FSTR FSTR?33,"some " ;135 46 .FSTR FSTR?34,"There " ;135 28 .FSTR FSTR?35,"Blather " ;133 20 .FSTR FSTR?36,"shuttle " ;132 23 .FSTR FSTR?37,"Ensign " ;132 23 .FSTR FSTR?38,"for " ;130 66 .FSTR FSTR?39,"large " ;128 33 .FSTR FSTR?40,"elevator " ;119 18 .FSTR FSTR?41,"doesn't " ;119 18 .FSTR FSTR?42,"corridor " ;119 18 .FSTR FSTR?43,"button" ;116 30 .FSTR FSTR?44,"A " ;114 115 .FSTR FSTR?45,"you're " ;114 20 .FSTR FSTR?46,"seems " ;112 29 .FSTR FSTR?47,"closed" ;108 28 .FSTR FSTR?48,"on " ;107 108 .FSTR FSTR?49,"It's " ;105 22 .FSTR FSTR?50,"currently " ;104 14 .FSTR FSTR?51,"There's " ;104 14 .FSTR FSTR?52,"Floyd" ;100 26 .FSTR FSTR?53,"don't " ;100 21 .FSTR FSTR?54,"this " ;99 34 .FSTR FSTR?55,"ambassador " ;99 12 .FSTR FSTR?56,"but " ;98 50 .FSTR FSTR?57,"probably " ;98 15 .FSTR FSTR?58,"one " ;96 49 .FSTR FSTR?59,"his " ;96 49 .FSTR FSTR?60,"against " ;96 17 .FSTR FSTR?61,"Unfortunately" ;96 9 .FSTR FSTR?62,"toward " ;95 20 .FSTR FSTR?63,"north " ;88 23 .FSTR FSTR?64,"has " ;84 43 .FSTR FSTR?65,"would " ;84 22 .FSTR FSTR?66,"looks " ;84 22 .FSTR FSTR?67,"microbe " ;84 15 .FSTR FSTR?68,"slightly " ;84 13 .FSTR FSTR?69,"computer " ;84 13 .FSTR FSTR?70,"can " ;82 42 .FSTR FSTR?71,"see " ;80 41 .FSTR FSTR?72,"screen " ;80 17 .FSTR FSTR?73,"filled " ;80 17 .FSTR FSTR?74,"featureless " ;80 9 .FSTR FSTR?75,"at " ;78 79 .FSTR FSTR?76,"like " ;78 27 .FSTR FSTR?77,"be " ;77 78 .FSTR FSTR?78,"Nothing " ;77 12 .FSTR FSTR?79,"now " ;76 39 .FSTR FSTR?80,"voice " ;76 20 .FSTR FSTR?81,"panel " ;76 20 .FSTR FSTR?82,"says " ;75 26 .FSTR FSTR?83,"around " ;75 16 .FSTR FSTR?84,"feel " ;72 25 .FSTR FSTR?85,"metal " ;72 19 .FSTR FSTR?86,"nothing " ;72 13 .FSTR FSTR?87,"fromitz " ;72 13 .FSTR FSTR?88,"another " ;72 13 .FSTR FSTR?89,"continues " ;72 10 .FSTR FSTR?90,"it " ;71 72 .FSTR FSTR?91,"begins " ;70 15 .FSTR FSTR?92,"yourself " ;70 11 .FSTR FSTR?93,"recorded " ;70 11 .FSTR FSTR?94,"contains " ;70 11 .FSTR FSTR?95,"out " ;68 35 .FSTR FSTR?96,"not " ;68 35 ;word frequency table of 96 most common words WORDS:: .TABLE FSTR?1 FSTR?2 FSTR?3 FSTR?4 FSTR?5 FSTR?6 FSTR?7 FSTR?8 FSTR?9 FSTR?10 FSTR?11 FSTR?12 FSTR?13 FSTR?14 FSTR?15 FSTR?16 FSTR?17 FSTR?18 FSTR?19 FSTR?20 FSTR?21 FSTR?22 FSTR?23 FSTR?24 FSTR?25 FSTR?26 FSTR?27 FSTR?28 FSTR?29 FSTR?30 FSTR?31 FSTR?32 FSTR?33 FSTR?34 FSTR?35 FSTR?36 FSTR?37 FSTR?38 FSTR?39 FSTR?40 FSTR?41 FSTR?42 FSTR?43 FSTR?44 FSTR?45 FSTR?46 FSTR?47 FSTR?48 FSTR?49 FSTR?50 FSTR?51 FSTR?52 FSTR?53 FSTR?54 FSTR?55 FSTR?56 FSTR?57 FSTR?58 FSTR?59 FSTR?60 FSTR?61 FSTR?62 FSTR?63 FSTR?64 FSTR?65 FSTR?66 FSTR?67 FSTR?68 FSTR?69 FSTR?70 FSTR?71 FSTR?72 FSTR?73 FSTR?74 FSTR?75 FSTR?76 FSTR?77 FSTR?78 FSTR?79 FSTR?80 FSTR?81 FSTR?82 FSTR?83 FSTR?84 FSTR?85 FSTR?86 FSTR?87 FSTR?88 FSTR?89 FSTR?90 FSTR?91 FSTR?92 FSTR?93 FSTR?94 FSTR?95 FSTR?96 .ENDT .ENDI ================================================ FILE: planetfallpur.zap ================================================ ; PURE TABLES ARE DEFINED HERE PURTBL:: PT?103:: T?AMBASSADOR-QUOTES:: .TABLE 7 STR?21 STR?22 STR?23 STR?24 STR?25 STR?26 STR?27 .ENDT PT?203:: T?DREAMS:: .TABLE 5 STR?47 STR?48 STR?49 STR?50 STR?51 .ENDT PT?105:: T?INDENTS:: .TABLE STR?64 STR?65 STR?66 STR?67 STR?68 STR?69 .ENDT PT?205:: T?HELLOS:: .TABLE 3 STR?76 STR?77 STR?78 .ENDT PT?305:: T?WHEEEEE:: .TABLE 3 STR?79 STR?80 STR?81 .ENDT PT?405:: T?HO-HUM:: .TABLE 3 STR?90 STR?91 STR?92 .ENDT PT?505:: T?YUKS:: .TABLE 6 STR?94 STR?95 STR?96 STR?97 STR?98 STR?99 .ENDT PT?106:: T?COLOR-LTBL:: .TABLE 9 STR?144 STR?145 STR?146 STR?147 STR?148 STR?149 STR?150 STR?151 STR?151 .ENDT PT?206:: T?FLOYDISMS:: .TABLE 20 STR?155 STR?156 STR?157 STR?158 STR?159 STR?160 STR?161 STR?162 STR?163 STR?164 STR?165 STR?166 STR?167 STR?168 STR?169 STR?170 STR?171 STR?172 STR?173 STR?174 .ENDT PT?107:: T?MONSTER-ENTRANCES:: .TABLE 4 STR?274 STR?275 STR?276 STR?277 .ENDT PT?207:: T?BEAM-MISSES:: .TABLE 3 STR?305 STR?306 STR?307 .ENDT PT?307:: T?WINNER-ATTACKED:: .TABLE 4 STR?312 STR?313 STR?314 STR?315 .ENDT PT?407:: T?MONSTER-CLOSES:: .TABLE 3 STR?316 STR?317 STR?318 .ENDT PT?507:: T?MICROBE-STRIKES:: .TABLE 3 STR?319 STR?320 STR?321 .ENDT PURTND:: .ENDI ================================================ FILE: planetfallstr.zap ================================================ ; STRINGS ARE DEFINED HERE STRBEG:: .GSTR STR?64,"" .GSTR STR?91," has no effect." .GSTR STR?102,"You have reached a cleft in the cliff wall where the island rises from the water. The edge of the cleft displays recently exposed rock where it collapsed under the weight of the escape pod. About two meters below, turbulent waters swirl against sharp rocks. A small structure clings to the face of the cliff about eight meters above you. Even an out-of-shape Ensign Seventh Class could probably climb up to it." .GSTR STR?125,"You have just located a serious bug." .GSTR STR?126,"You have entered a small office of some sort. A small desk faces the main doorway which lies to the east. Another exit leads west." .GSTR STR?147,"yellow" .GSTR STR?183,"""Tuu enee ship uv xe Sekund Galaktik Yuunyun: Planitwiid plaag haz struk entiir popyuulaashun. Tiim iz kritikul. Eemurjensee asistins reekwestid. """ .GSTR STR?192,"You have entered a clean, well-lighted place. There are a number of beds, some complicated looking equipment, and many shelves that are mostly bare." .GSTR STR?224,"""Xe aancint lejindz saa xat ships frum xe Sekund Yuunyun wuns fild ar skiis and wil wun daa kum agen. Madern siientists, huu wuns dismist suc lejindz and felt xat liif eevolvd heer on Resida, now feel xat ar planit wuz reelee setuld bii men uv xe Sekund Yuunyun.""" .GSTR STR?234,"""Xe priimeree Planateree Sistumz ar Kors Kuntrool (foor maantaaneeng an iideel kliimit), Deefens (foor destroieeng pootenshulee daanjuris meeteeoorz), and xe reesintlee adid Prajekt Kuntrool (foor monitureeng proogres uv Xe Prajekt).""" .GSTR STR?236,"""Xe furst undursee habutats wur oopind in 2992, and tuudaa, neerlee tuu senshureez laatur, abowt 9 pursent uv Residaz popyuulaashun livz in wun uv xe twentee sprawleeng undursee siteez.""" .GSTR STR?238,"""Xe oorijin uv Xe Dizeez haz bin linkt tuu xe Sentur foor Advanst Kriioojenik Reesurc, wic wuz kondukteeng reesurc intuu waaz uv ekstendeeng xe Kriioojenik peereeid indefinitlee. Alxoo xis reesurc wuz aa sukses, sumhow Xe Dizeez wuz reeleest and beegan spredeeng.""" .GSTR STR?239,"""Xe tuu kompleksiz wur establisht on xe twin peek platooz uv Kalamontee and Lawanda. Xeez lookaashunz wur coozin beekawz xaar hiit wud maak transpoortaashun and komyuunikaashunz eezeeur, and soo xat xe vast reeakturz and kriioojeniks caamburz kud bee kunstruktid in xe mowntinz beeloo.""" .GSTR STR?241,"""Xe Zoork triloojee, an adventshur klasik, taaks plaas in aa deeliitful but daanjuris undurgrownd seteeng.""" .GSTR STR?249,"""Xe jestaashun peereeid uv Xe Dizeez, folooweeng ekspoozur, vaareez treemenduslee frum pursin tuu pursin, raanjeeng frum wun daa tuu sevrul rootaashunz. Wuns xe furst simptumz ar shoon, dex alwaaz okurz in aat tuu ten daaz. Xe priimeree simptum iz aa hii feevur. Xe sekunderee simptum iz aa sharp inkrees in xe amownt uv sleep needid eec niit."" The rest of the information is about symptoms which can be detected only by using complicated medical procedures." .GSTR STR?285,"You hear the faint sound of a relay clicking." .GSTR STR?2,"Brilliant idea!" .GSTR STR?18,"Oops. Looks like Blow'k-Bibben-Gordoan metabolism is not compatible with our own. You die of all sorts of convulsions." .GSTR STR?22,"asks if you are performing some sort of religious ceremony." .GSTR STR?25,"asks where Admiral Smithers can be found." .GSTR STR?160,"cranes his neck to see what you are doing" .GSTR STR?162,"asks if you want to play Hucka-Bucka-Beanstalk" .GSTR STR?63,"Oh, no! You have walked into the slavering fangs of a lurking grue!" .GSTR STR?75,"Oh, no! Something (a grue?) slithered into the room and devoured you!" .GSTR STR?88,"Pulling the " .GSTR STR?283,"Mutated monsters from the Bio Lab pour into the office. You are devoured." .GSTR STR?66," " .GSTR STR?136,"On the floor beneath the shelves sits a small cardboard box." .GSTR STR?173,"yawns and looks bored" .GSTR STR?197,"At the bottom of the bottle is a small quantity of medicine." .GSTR STR?211,"On the table is a computer terminal." .GSTR STR?244,"On the desk is a machine with a screen and a small circular opening. It seems to be turned off." .GSTR STR?259,"Hanging on a rack is a pale blue lab uniform. Sewn onto its pocket is a non-descript logo." .GSTR STR?36,"A sign flashes ""Inkorekt awtharazaashun kard...akses deeniid.""" .GSTR STR?74,"off" .GSTR STR?137,"Kerzap!! You should know better than to touch an active bedistor!" .GSTR STR?168,"frets about the possibility of his batteries failing" .GSTR STR?284,"""Memoo tuu awl lab pursunel: Duu tuu xe daanjuris naatshur uv xe biioo eksperiments, an eemurjensee sistum haz bin instawld. Xis sistum wud flud xe entiir Biioo Lab wic aa dedlee fungasiid. Propur preecawshunz shud bee taakin if xis sistum iz evur yuuzd.""" .GSTR STR?306,"A near miss!" .GSTR STR?144,"red" .GSTR STR?227,"""Menee volyuumz on xe deevelupmint uv Residan lituracur ar on fiil in xe liibreree. Alsoo, kopeez uv awl graat wurks uv riiteeng, sum daateeng bak tuu xe mixikul daaz uv xe Sekund Yuunyun, ar lookaatid heer.""" .GSTR STR?247," Some information appears on the screen." .GSTR STR?228,"""Histoorikul studeez and reeproodukshunz uv Residan art ar avaalibul heer foor awl xree maajur peereeids uv art deevelupmint: xe Primitiv peereeid, xe Renasans peereeid uv xe urlee poost-Hiiaatus, and xe moost reesint peereeid uv videeoo and laazur art.""" .GSTR STR?145,"blue" .GSTR STR?175,"You'll have to use the elevator controls." .GSTR STR?269,"The biological nightmares reach you. Gripping coils wrap around your limbs as powerful teeth begin tearing at your flesh. Something bites your leg, and you feel a powerful poison begin to work its numbing effects..." .GSTR STR?298,"slightly warm now" .GSTR STR?304,"slightly warm" .GSTR STR?305,"The beam just misses the speck!" .GSTR STR?320,"The beam slices through the microbe's skin! A tremendous shudder passes through the microbe, but the wound quickly seals itself." .GSTR STR?5,"The cell door is locked." .GSTR STR?8,"The corridor widens here as it nears the main drive area. To starboard is the Ion Reactor that powers the vessel, and aft of here is the Auxiliary Control Room. The corridor continues to port." .GSTR STR?11,"This is a steep metal gangway connecting Deck Eight, above, and Deck Nine, below." .GSTR STR?12,"This is a featureless corridor leading port and starboard. A gangway leads down, and to fore is the Hyperspatial Jump Machinery Room." .GSTR STR?43,"You pass a sign, surrounded by blinking red lights, which says " .GSTR STR?81,"Wheeeeeee!!!" .GSTR STR?99,"What a concept!" .GSTR STR?103,"This was once the west wing of the castle, but the walls are now mostly rubble, allowing a view of the cliff and ocean below. Rubble blocks all exits save one, eastward to the courtyard." .GSTR STR?105,"This is a featureless hall leading north and south. Although the hallway is old and dusty, the construction is of a much more modern style than the castle to the south. A similar hall branches off to the northeast." .GSTR STR?106,"This is a tiny room with a large ""1"" painted on the wall. A panel contains a slot about ten centimeters wide, a beige button labelled ""2"" and a tan button labelled ""3.""" .GSTR STR?107,"This is a wide, east-west hallway. Portals lead north and south, and another corridor branches southwest." .GSTR STR?108,"This is a very long room lined with multi-tiered bunks. Flimsy partitions between the tiers may have provided a modicum of privacy. These spartan living quarters could have once housed many hundreds, but it seems quite deserted now. There are openings at the north and south ends of the room." .GSTR STR?109,"This must be the sanitary facility for the adjacent dormitory. The fixtures are dry and dusty, the room dead and deserted. You marvel at how little the millenia and cultural gulfs have changed toilet bowl design. The only exit is north." .GSTR STR?110,"This must be the sanitary facility for the adjacent dormitory. The fixtures are dry and dusty, the room dead and deserted. You marvel at how little the millenia and cultural gulfs have changed toilet bowl design. The only exit is south." .GSTR STR?111,"This is a small room obviously intended as a storage area." .GSTR STR?116,"This is a wide, east-west hallway with openings to the north and south. To the east, the corridor stretches off into the distance. That section of the hallway is lined with a motorized walkway (no longer running) that was probably intended to transport people or cargo down that tremendously long hall." .GSTR STR?117,"This is the food production and dispensary area for the dining hall to the north. Of particular interest is a machine near the door. You should probably examine it more closely." .GSTR STR?120,"This section of hallway seems to have suffered some minor structural damage. The walls are cracked, and a jagged crevice crosses the floor. An opening leads east and the corridor heads north and south." .GSTR STR?124,"This is a small room whose far wall is covered with many small cubbyholes, all empty. The left wall is covered with an enormous map, labelled ""Kalamontee Kompleks"", showing two installations connected by a long hallway. Near the upper part of this map is a red arrow saying ""Yuu ar heer."" The right wall is covered with a similar map, labelled ""Lawanda Kompleks"", showing two installations, one apparently buried deep underground." .GSTR STR?127,"The card is embossed ""kitcin akses kard.""" .GSTR STR?128,"The card is embossed ""upur elivaatur akses kard.""" .GSTR STR?129,"The card is embossed ""shutul akses kard.""" .GSTR STR?130,"The card is embossed ""loowur elivaatur akses kard.""" .GSTR STR?131,"This is a large, plush office. The far wall is one large picture window, scratched but unbroken, offering a view of this installation and the ocean beyond. In front of the window is a wide wooden desk. The only exit is east." .GSTR STR?133,"The corridor ends here with doorways to the southwest, south, and southeast." .GSTR STR?138,"This is a huge, dim room with exits in the northeast and southeast corners. The room is criss-crossed with catwalks and is filled with heavy equipment presumably intended to heat and ventilate this complex. Hardly any of the equipment is still operating." .GSTR STR?139,"This room contains many dials and gauges for controlling a massive planetary power reactor which, according to a diagram on the wall, must be buried far below this very complex. The exit is to the west. To the east is a metal door, and next to it, a button. A dark stairway winds downward." .GSTR STR?140,"This is an elevator with a door to the west, currently open. A control panel contains an Up button, a Down button, and a small slot." .GSTR STR?141,"This is apparently a storage room for tools. Exits lead northeast and east." .GSTR STR?152,"This room, with exits west and northwest, is filled with robot-like devices of every conceivable description, all in various states of disassembly." .GSTR STR?178,"This is a tiny room with a large ""2"" painted on the wall. A panel contains a slot about ten centimeters wide, a brown button labelled ""1"" and a tan button labelled ""3.""" .GSTR STR?179,"This is a small, circular room. A sliding door leads north, and a spiral staircase heads upwards. Other exits lie to the northeast and southwest." .GSTR STR?182,"This is a large vehicle with a lot of cargo space. A complex control panel is closed and locked. Everything is covered with a thick layer of rust. Through the windows of the vehicle you can see a wide Helipad, and beyond that, endless ocean far below. Several doors lead out to the Helipad." .GSTR STR?187,"The chemical drips all over the silicon strip, which immediately begins to dissolve. As it does so, you plunge into the void below." .GSTR STR?188,"This is a balcony girdling the tower. The view is breathtaking; the tower must be half a kilometer tall. From here it is clear that you are on an island. The dormitory section of the complex is visible on the other side of the island, and the rest of the complex sprawls out directly below. In the distance, about 20 kilometers to the east, you can spot another island similar to this one. The only exit is a doorway leading northeast." .GSTR STR?189,"This is a concrete platform sparsely furnished with benches. The platform continues to the east, and to the south is a metal door." .GSTR STR?191,"This is a hallway which forks to the northeast and southeast. To the west is the top of a long escalator." .GSTR STR?201,"The corridor bends here, leading east and southwest. A doorway opens to the northwest, and a narrow stairway leads down to the north." .GSTR STR?202,"This section of hallway has a doorway to the north labelled ""Planateree Deefens."" The corridor continues east and west." .GSTR STR?204,"This is an enormous room full of environmental control equipment presumably intended to heat and ventilate the Lawanda Complex. Oddly, although the Lawanda Complex is slightly smaller than its counterpart, this plant is much larger than the one in the Kalamontee Complex. The only exit is westward." .GSTR STR?205,"This is a carpeted room, thick with dust, with exits to the north and south. To the west, up a few steps, is a wide doorway. A small booth lies to the east." .GSTR STR?208,"This is a tiny room with a large ""3"" painted on the wall. A panel contains a slot about ten centimeters wide, a brown button labelled ""1"" and a beige button labelled ""2.""" .GSTR STR?209,"This is a large carpeted room with a desk and many small tables. The sole exit is down a few steps to the east." .GSTR STR?226,"""Wixin xe last fiiv senshureez, xe riiz uv xe Nuu Teknakrasee haz reeturnd sivilizaashun tuu xe levul ataand beefoor xe Hiiaatus. Sooshul histooreeunz xink xat wen xe Dizeez struk, ar raas had aceevd aa levul uv sufistikaashun eekwal tuu xe pree-Hiiaatus.""" .GSTR STR?250,"This is a curving hallway leading east and northwest. There is an opening to the west." .GSTR STR?251,"This is another dusty sanitary facility. Unlike the ones near the dorms, this one is smaller and has no bathing fixtures." .GSTR STR?254,"This is the main computer room for the Project. The only sign of activity is a glowing red light. The exits are north, west, and northeast. To the south is a small booth." .GSTR STR?255,"This is a small room barely large enough for one person. Mounted on the wall is a small slot, and next to it a keyboard with numeric keys. The exit is to the north." .GSTR STR?256,"The card is embossed ""minitcurizaashun akses kard.""" .GSTR STR?257,"This is the heart of the Project's vast laboratory complex. There are exits to the west and southwest, and heavy metal doors to the northeast and southeast. A small doorway leads south." .GSTR STR?258,"This is a tiny room for the storage of laboratory supplies. The sole exit is to the north." .GSTR STR?260,"The card is embossed ""teliportaashun akses kard.""" .GSTR STR?261,"This is the first half of a sterilization chamber to prevent contamination of the delicate biological experiments in the Bio Lab which lies beyond. The door to the west leads to the main lab, and the bio lock continues eastward." .GSTR STR?263,"This is the western half of a decontamination chamber to prevent dangerous radioactive materials from leaving the Radiation Lab which lies to the east. The door leads west to the main lab." .GSTR STR?264,"This is the eastern half of the decontamination chamber. The door to the east leads to the Radiation Lab, and the chamber continues westward. A sign on the wall reads ""WORNEENG! Raadeeaashun suuts must bee worn beeyond xis point.""" .GSTR STR?270," Unfortunately, you don't seem to be that hardy." .GSTR STR?278,"This room is filled with unfathomable equipment and large canisters bearing radioactive warnings. Many of the canisters are split open. You can see the Bio Lab through a large crack in the south wall. Sinister-looking forms move about within the Bio Lab. Although the lights here are off, the room is suffused with a pale blue glow." .GSTR STR?286,"This is another small booth. Unlike the Miniaturization Booth, this room has no slot or keyboard, so presumably it is intended only as a receiving station. The exit is on the northern side." .GSTR STR?299,"somewhat warm now" .GSTR STR?303,"somewhat warm" .GSTR STR?324,"Lurking nearby is a vicious-looking creature with slavering fangs. Squinting in the light, it eyes you hungrily." .GSTR STR?95,"A valiant attempt." .GSTR STR?218," 0. Maan Menyuu 1. Raashul Orijinz 2. Graat Hiiaatus 3. Riiz uv xe Nuu Teknakrasee" .GSTR STR?219," 0. Maan Menyuu 1. Lituracur 2. Art 3. Muusik" .GSTR STR?220," 0. Maan Menyuu 1. Medisin 2. Agrikultcur 3. Tranzportaashun 4. Roobotiks 5. Planateree Sistumz" .GSTR STR?221," 0. Maan Menyuu 1. Planit Landmasiz 2. Undursee Reejunz 3. Spaas Kolooneez" .GSTR STR?222," 0. Maan Menyuu 1. Orijinz uv xe Dizeez 2. Xe Instalaashunz 3. Prajekt Kuntrool " .GSTR STR?223," 0. Maan Menyuu 1. Zoork 2. Dedliin and Witnis 3. Starkros and Suspendid" .GSTR STR?267,"The door opens." .GSTR STR?268,"The door closes." .GSTR STR?30," You are thrown against the bulkhead, head first. It seems that getting in the safety webbing would have been a good idea." .GSTR STR?47,"...You find yourself on the bridge of the Feinstein. Ensign Blather is here, as well as Admiral Smithers. You are diligently scrubbing the control panel. Blather keeps yelling at you to scrub harder. Suddenly you hit the ship's self-destruct switch! Smithers and Blather howl at you as the ship begins exploding! You try to run, but your feet seem to be fused to the deck..." .GSTR STR?48,"...You gulp down the last of your Ramosian Fire Nectar and ask the andro-waiter for another pitcher. This pub makes the finest Nectar on all of Ramos Two, and you and your shipmates are having a pretty rowdy time. Through the windows of the pub you can see a mighty, ancient castle, shining in the light of the three Ramosian moons. The Fire Nectar spreads through your blood and you begin to feel drowsy..." .GSTR STR?50,"...Your vision slowly returns. You are on a wooded cliff overlooking a waterfall. A rainbow spans the falls. Blather stands above you, bellowing that the ground is filthy -- scrub harder! You throw your brush at Blather, but it passes thru him as though he were a ghost, and sails over the cliff. Blather leaps after the valuable piece of Patrol property, and both plummet into the void..." .GSTR STR?53," You collapse from extreme thirst and hunger." .GSTR STR?55," You finally succumb to the ravages of your illness and collapse." .GSTR STR?177,"The elevator door slides shut. After a moment, you feel a sensation of vertical movement." .GSTR STR?217," 1. Histooree 2. Kulcur 3. Teknolojee 4. Jeeografee 5. Xe Prajekt 6. Inturlajik Gaamz" .GSTR STR?266,"A very bored-sounding recorded voice explains that, in order to prevent contamination, both lock doors cannot be open simultaneously." .GSTR STR?273," You stupidly run right into the jaws of the pursuing mutants." .GSTR STR?1,"You slice yourself to ribbons on the broken windows and then plummet into the swirling ocean below. Very clever." .GSTR STR?78,"Goodbye." .GSTR STR?237,"""Alxoo setulmints hav bin establisht on Fristin, and on sevrul uv xe muunz uv xe gas jiiunt Blustin, xe vast majooritee uv of-woorldurz liv in xe spaas kolooneez establisht at Residaz troojin points.""" .GSTR STR?315,"Two protoplasm-filled blobs sneak toward you from the left. You jump to the side and almost fall off the strip into the void below!" .GSTR STR?20,"""The leading export of Blow'k-bibben-Gordo is the adventure game *** PLANETFALL *** written by S. Eric Meretzky. Buy one today. Better yet, buy a thousand.""" .GSTR STR?28,"""S.P.S. FEINSTEIN Escape Pod #42 Don't Panic!""" .GSTR STR?33," Between the swirling waters and the increasing pressure, it's curtains for you. Perhaps you should have left the pod a bit sooner." .GSTR STR?157,"lowers his voice and tells you the latest rumors about Dr. Fizpick" .GSTR STR?243,"""Starkros iz Infookamz miind-bendeeng siiens-fikshun adventshur. Suspendid iz aa kriioojenik siiens-fikshun niitmaar.""" .GSTR STR?274,"The growling humanoid is charging straight at you, waving his axe-like implement!" .GSTR STR?300,"very warm now" .GSTR STR?302,"very warm" .GSTR STR?163,"examines himself for signs of rust" .GSTR STR?203,"The hallway ends here with a large doorway leading east, and smaller doorways to the north and south. The northern doorway is labelled ""Planateree Kors Kontrool."" The hallway itself leads west." .GSTR STR?225,"""Wexur oor not xe lejindz uv xe Sekund Yuunyun ar truu, arkeeoloojists ar surtin xat aa peereeid uv hii teknoolojikul and sooshul deevelupmint egzistid xowzindz uv yeerz agoo, but foor sum reezin sivilizaashun slid intuu aa dark aaj lasteeng senshureez.""" .GSTR STR?253,"The hallway ends here but continues back toward the west. Doorways lead north, south and east." .GSTR STR?7,"A slightly wrinkled Patrol uniform is lying here." .GSTR STR?104,"Certain death." .GSTR STR?262,"The is the second half of the sterilization chamber leading from the main lab to the Bio Lab. The door to the east, leading to the Bio Lab, has a window. The bio lock continues to the west." .GSTR STR?313,"A slimy pseudopod brushes against your shoulder. You twist away in the nick of time." .GSTR STR?56,"tastes" .GSTR STR?85,"Pushing the " .GSTR STR?86,"Pushing up the " .GSTR STR?87,"Pushing down the " .GSTR STR?92," is as worthwhile as cleaning a Grotch cage." .GSTR STR?135,"One dusty shelf, otherwise bare, holds a small oil can." .GSTR STR?174,"produces a crayon from one of his compartments and scrawls his name on the wall" .GSTR STR?79,"You've spent too much time among the Leaping Loon-toads of Leonia." .GSTR STR?184,"Mmmmm....that tasted just like delicious poisonous chemicals!" .GSTR STR?265,"Opening the door reveals a Bio-Lab full of horrible mutations. You stare at them, frozen with horror. Growling with hunger and delight, the mutations march into the bio-lock and devour you." .GSTR STR?309,"A hungry microbe blocks your way, its cilia waving and its pseudopods towering over you." .GSTR STR?29," An enormous explosion tears the walls of the ship apart. If only you had made it to an escape pod..." .GSTR STR?54,"Thanks, but you're not hungry." .GSTR STR?80,"Having fun?" .GSTR STR?149,"brown" .GSTR STR?170,"relates some fond memories about his robotic friend Lazarus" .GSTR STR?271,"The mutants attack you and rip you to shreds within seconds." .GSTR STR?277,"The mobile plant whips its poisonous tentacles against your ankles!" .GSTR STR?316,"The microbe slithers closer. The cilia around its gullet glisten with mucus, giving the impression that the microbe is salivating." .GSTR STR?317,"The microbe flows toward you. It towers above you, its cilia waving madly in your face." .GSTR STR?318,"The monster wriggles nearer. It is now so close that you can make out details in the protoplasm beneath its translucent skin." .GSTR STR?319,"The microbe's outer membrane sizzles a bit, and some protoplasm oozes out. The microbe recoils momentarily, but quickly recovers." .GSTR STR?321,"The monster rears back for a moment, but almost as soon as the beam goes off, it advances again." .GSTR STR?166,"notices a mouse scurrying by and tries to hide behind you" .GSTR STR?231,"""Durt farmeeng iz awl but obsooleet, wix moost fuud kumeeng frum xe hiidrooponiks kompleksiz oor xe undurwatur aljee farmz.""" .GSTR STR?13,"Blather throws you to the deck and makes you do 20 push-ups." .GSTR STR?14,"Blather blocks your path, growling about extra galley duty." .GSTR STR?16,"Blather removes several of your appendages and internal organs." .GSTR STR?153,"Only one robot, about four feet high, looks even remotely close to being in working order." .GSTR STR?297,"The odds and ends on the shelves include a small round object, which closer inspection reveals to be a fresh laser battery." .GSTR STR?301,"quite hot" .GSTR STR?19,"Unfortunately, one of those stupid Blow'k-bibben-Gordo brochures is here." .GSTR STR?52,"Unfortunately, you don't seem to have survived the night." .GSTR STR?71,"closed" .GSTR STR?143,"On an upper shelf is a metal bar, curved into a U-shape." .GSTR STR?185,"Unfortunately, those two liquids seem to react quite violently with each other. The resulting exothermic reaction might have been interesting to watch from a distance of, say, several hundred feet." .GSTR STR?290,"The plunge would probably be fatal." .GSTR STR?307,"A good shot, but just a little wide of the target." .GSTR STR?70,"open" .GSTR STR?123,"Here is another sanitary facility. Like the others, it is dusty and non-functional." .GSTR STR?82,"Kicking the " .GSTR STR?279," It seems you have picked up a bad case of radiation poisoning." .GSTR STR?312,"A pseudopod extends toward you. You jump back just in time to avoid being engulfed." .GSTR STR?314,"A pseudopod shoots out toward your head! Ducking quickly, you save your life." .GSTR STR?6,"""STELLAR PATROL Special Assignment Task Force ID Number: 6172-531-541""" .GSTR STR?21,"introduces himself as Br'gun-te'elkner-ipg'nun." .GSTR STR?35,"A recorded voice chimes ""Elevator enabled.""" .GSTR STR?38,"A recorded voice says ""Shuttle controls are already activated.""" .GSTR STR?39,"A recorded voice says ""Use other control cabin. Control activation overridden.""" .GSTR STR?40,"A recording of a deep male voice says ""Shuttle controls activated.""" .GSTR STR?41,"A recorded voice says ""Shuttle controls are not currently activated.""" .GSTR STR?42,"The shuttle car hurtles past the platforms and rams into the wall at the far end of the station. The shuttle car is destroyed, but you're in no condition to care." .GSTR STR?90," isn't notably helpful." .GSTR STR?101,"A mighty undertow drags you across some underwater obstructions." .GSTR STR?114,"A heavy-duty extendable ladder is leaning against the rear wall." .GSTR STR?155,"paces impatiently" .GSTR STR?176,"A recording says ""Elevator no longer enabled.""" .GSTR STR?194,"The spool is labelled ""Simptumz uv Xe Dizeez.""" .GSTR STR?207,"The spool is labelled ""Helikoptur Opuraateeng Manyuuwul.""" .GSTR STR?213,"The screen clears and a different menu appears: " .GSTR STR?214,"The screen clears and some text appears: " .GSTR STR?233,"""Untoold senshureez agoo, entiir teemz uv roobots wur reekwiird tuu purfoorm eevin xe simplist tasks...wun roobot wud handul viszuuwul funkshunz, wun roobot wud handul awditooree funkshunz, and soo foorx. Now, xanks tuu advansis in mineeatshurizaashun, xeez tasks kan bee purfoormd bii singul roobots, suc az xe multiipurpis B-19 seereez.""" .GSTR STR?246,"The spool fits neatly into the opening." .GSTR STR?281,"The spool is labelled ""Instrukshunz foor Reepaareeng Reepaar Roobots.""" .GSTR STR?17,"A high-ranking ambassador from a newly-contacted alien race is standing here on three of his legs, and watching you with seven of his eyes." .GSTR STR?112,"There is a large tin can, labelled ""Spam and Egz,"" sitting here." .GSTR STR?115,"There is a large aluminum ladder here." .GSTR STR?118,"Although the room is quite barren, an octagonally-shaped canteen is sitting on one of the benches." .GSTR STR?212,"The terminal feeps, and a message briefly appears on the screen explaining that typing that character has no meaning at the moment." .GSTR STR?242,"""Dedliin iz xe furst graat misturee uv xe kumpyuutur aaj, and Witnis iz its wurxee suksesur.""" .GSTR STR?245,"There is a microfilm reader on one of the tables." .GSTR STR?248,"""Oonlee peepul wix propur traaneeng shud piilot xe helikopturz. Reekwiird ekwipmint inkluudz aa Helikoptur Akses Kard and aa Kuntrool Panul Kee. Xeez kan bee obtaand frum Tranzportaashun Stoorij."" The rest is all very technical." .GSTR STR?282,"There is a powerful portable lamp here, currently off." .GSTR STR?294,"There is a huge featureless wall there, remember?" .GSTR STR?296,"There is a worn-out laser battery here." .GSTR STR?275,"A pair of slavering fangs removes part of your clothing!" .GSTR STR?142,"Sitting on the floor below the lowest shelf is a large glass flask." .GSTR STR?210,"Sitting on a wide table is a machine of sorts, consisting of a video screen and a keyboard. It is currently turned off." .GSTR STR?235,"""Sins xe staabulizaashun uv xe oorbit uv Resida, preesiislee 47.79 pursent uv xe planits surfis iz land. Xe land iz diviidid intuu tuu priimeree landmasiz, Andoor and Fruulik, plus siks lesur landmasiz. Xe gloobul kapitul, Pilandoor, iz on xe eesturn koost uv Andoor.""" .GSTR STR?280,"Sitting on a long table is a small brown spool." .GSTR STR?83,"Waving the " .GSTR STR?167,"sings an ancient ballad, totally out of key" .GSTR STR?181,"A fence keeps you away from the edge, where you would probably be swept over the brink by the high winds." .GSTR STR?293,"Do you have a penchant for bottomless voids?" .GSTR STR?73,"on" .GSTR STR?76,"Hello." .GSTR STR?77,"Nice weather we're having." .GSTR STR?169,"reminisces about his friend Lazarus, a medical robot" .GSTR STR?44," Suddenly, in the middle of the night, a wave of water washes over you. Before you can quite get your bearings, you drown." .GSTR STR?45," Suddenly, in the middle of the night, you awake as several ferocious beasts (could they be grues?) surround and attack you. Perhaps you should have found a slightly safer place to sleep." .GSTR STR?308," With a furious storm of electrical mayhem, Sector 384 comes to life. A few micro-volts course through the silicon strip on which you stand. Unfortunately, at your current size, this is enough to barbecue you." .GSTR STR?61,"So, that's what it's like to have twenty million volts run through your body!" .GSTR STR?84,"Fiddling with the " .GSTR STR?89,"Trying to destroy the " .GSTR STR?119,"A north-south corridor intersects the main corridor here. To the west, the main corridor extends as far as you can see; a non-working walkway from that direction ends here. To the east, the corridor widens into a well-lit area." .GSTR STR?172,"tells you about the time he helped someone sharpen a pencil" .GSTR STR?232,"""Planateree travul iz noormulee priivit skuutur foor shoort hops, and aarbus foor longur trips. Spaas travul haz reesintlee bin revooluushuniizd bii xe invenshun uv nuukleeur-fyuuld enjinz.""" .GSTR STR?322,"A ferocious feral creature, with a hairy shelled body and a whip-like tail snaps its enormous mandibles at you." .GSTR STR?323,"Rushing toward you is an ugly, deformed humanoid, bellowing in a guttural tongue. It brandishes a piece of lab equipment shaped somewhat like a battle axe." .GSTR STR?3,"If you insist.... Poof, you're dead!" .GSTR STR?98,"An interesting idea..." .GSTR STR?132,"Entrances to rooms lie to the east and west from this north-south hall." .GSTR STR?276,"Needle-sharp mandibles nip at your arms!" .GSTR STR?9,"Ensign Blather pushes you roughly back toward your post." .GSTR STR?10,"Ensign Blather blocks your way, snarling angrily." .GSTR STR?15,"Ensign First Class Blather is standing before you, furiously scribbling demerits onto an oversized clipboard." .GSTR STR?59,"smells" .GSTR STR?93,"Ooops! You seem to have transported yourself into an active sector of the computer. You are fried by powerful electric currents." .GSTR STR?62,"Stunning. After days of surviving on a hostile, plague-ridden planet, solving several of Infocom's toughest puzzles, and coming within one move of completing Planetfall, you blow it all in one amazingly dumb input. The doors close and the elevator rises quickly to the top of the shaft. The doors open, and the mutants, which were waiting impatiently in the ProjCon Office for just such an occurence, happily saunter in and begin munching." .GSTR STR?151,"clear" .GSTR STR?161,"rubs his head affectionately against your shoulder" .GSTR STR?215," ""Foor moor deetaald infoormaashun on xis tapik, konsult xe liibrereein foor xe aproopreeit spuulz. Tiip zeeroo tuu goo tuu aa hiiyur levul.""" .GSTR STR?23,"inquires whether you are interested in a game of Bocci." .GSTR STR?240,"""Faaz Wun: xe kunstrukshun uv xe Kalamontee and Lawanda Kompleksiz. Faaz Tuu: mass kriioojenik freezeeng uv Residan popyuulaashun. Faaz Xree: siimultaaneeus monitureeng uv kriioojeniks wiil awtoomaatid reesurc iz konduktid bii inkrediblee soofistikaatid kumpyuuturiizd fasiliteez. Faaz Foor: reeviivul and inokyuulaashun uv xe popyuulaashun.""" .GSTR STR?292,"Not a chance -- unless, of course, you don't mind walking into the gullet of a hungry microbe." .GSTR STR?94,"Fat chance." .GSTR STR?97,"Not bloody likely." .GSTR STR?113,"On a small shelf is a large, unopened tin can. It has a plain white label which reads ""Spam and Egz.""" .GSTR STR?154,"Your former companion, Floyd, is lying on the ground in a pool of oil." .GSTR STR?159,"chants the death scene from ""Carmen""" .GSTR STR?171,"whistles tunelessly" .GSTR STR?195,"On a low shelf is a translucent bottle with a small white label." .GSTR STR?199,"It is a robot-sized doorway -- a bit too small for you." .GSTR STR?24,"recites a plea for coexistence between your races." .GSTR STR?146,"green" .GSTR STR?165,"wanders restlessly around the room" .GSTR STR?272," Dozens of hungry eyes fix on you as the mutations surround you and begin feasting." .GSTR STR?325,"A giant plant, teeming with poisonous tentacles, is shuffling toward you on three leg-like stalks." .GSTR STR?31," The ship rocks from the force of multiple explosions. The lights go out, and you feel a sudden drop in pressure accompanied by a loud hissing. Too bad you weren't in the escape pod..." .GSTR STR?32," The pod, whose automated controls were unfortunately designed by computer scientists, lands with a good deal of force. Your body sails across the pod until it is stopped by one of the sharper corners of the control panel." .GSTR STR?34," The pod splits open, and water pours in." .GSTR STR?65," " .GSTR STR?186,"Have you always had this desire to see melting flesh?" .GSTR STR?311," The microbe wraps several pseudopods around you and shoves you into its mucus-covered gullet. Digestive juices begin their work. The experience is not pleasant." .GSTR STR?4,"You are in the Feinstein's brig. Graffiti cover the walls. The cell door to the south is locked." .GSTR STR?58,"looks" .GSTR STR?67," " .GSTR STR?68," " .GSTR STR?69," " .GSTR STR?100,"You are momentarily disoriented as you enter the turbulent waters. Currents buffet you against the sharp rocks of an underwater cliff. A dim light filters down from above." .GSTR STR?134,"A small room for storage. The exit is to the west." .GSTR STR?158,"recalls the time he bruised his knee" .GSTR STR?180,"You are at the center of a wide, flat area atop the tower. A fence prevents you from approaching the perimeter, so your view is limited to cloud-filled sky. A large vehicle, severely weathered and topped with rotor blades, lies nearby. A spiral staircase leads down into the tower." .GSTR STR?190,"You are in the middle of a long mechanical stairway. It is not running, and seems to be in disrepair." .GSTR STR?198,"You are in a dimly lit room, filled with strange machines and wide storage cabinets, all locked. To the south, a narrow stairway leads upward. On the north wall of the room is a very small doorway." .GSTR STR?252,"You are at the center of a long east-west hallway. A doorway, labelled ""PrajKon Awfis"", opens to the south." .GSTR STR?287,"You are standing on a square plate of heavy metal. Above your head, parallel to the plate beneath you, is an identical metal plate. To the east is a wide, metallic strip." .GSTR STR?289,"You are standing on a silicon filament, which looks to you like a wide metal highway. South of here, the filament makes a right angle and heads straight down, like a cliff overlooking a black void. The filament can be followed north, however. Station 384 lies westward." .GSTR STR?291,"You are standing on a section of the strip with a bottomless void stretching out on both sides. The strip continues to the north and south." .GSTR STR?295,"A small device, labelled ""Akmee Portabul Laazur"", is resting on one of the lower shelves." .GSTR STR?27,"offers you a bit of celery." .GSTR STR?37,"You can't go that way." .GSTR STR?46,"You climb into the bed. It is soft and comfortable. After a few moments, a previously unseen panel opens, and a diagnostic robot comes wheeling out. It is very rusty and sways unsteadily, bumping into several pieces of infirmary equipment as it crosses the room. As the robot straps you to the bed, you notice some smoke curling from its cracks. Beeping happily, the robot injects you with all 347 serums and medicines it carries. The last thing you notice before you pass out is the robot preparing to saw your legs off." .GSTR STR?96,"You can't be serious." .GSTR STR?196,"""Dizeez supreshun medisin -- eksperimentul""" .GSTR STR?206,"You catch a glimpse of a small object nestled among the dust." .GSTR STR?229,"""Reekoordeengz uv awl impoortint kompoozishunz uv xe last fiiv hundrid yeerz ar lookaatid in xe liibrereez data banks.""" .GSTR STR?60,"Plummet." .GSTR STR?26,"remarks that all humans look alike to him." .GSTR STR?230,"""Awl maajur dizeezuz hav bin kyuuribul foor oovur aa senshuree. Xe deevelupmint uv kriioojeniks now alowz dokturz tuu put paashints in staasis until aa kyuur iz fownd. Avurij Residan liif ekspektinsee iz now 147 revooluushunz.""" .GSTR STR?310," The microbe, whipped into a rabid frenzy by the waves of heat from the pulsing laser, literally lunges at it. You jump back and, losing your balance, fall over the edge of the strip. The microbe, writhing madly, hurls itself after its prey. You and the microbe both plunge into the void below." .GSTR STR?51,"...At last, the Feinstein has arrived at the historic Nebulon system. It's been five months since the last shore leave, and you're anxious for Planetfall. You and some other Ensigns Seventh Class enter the shuttle for surfaceside. Suddenly, you're alone on the shuttle, and it's tumbling out of control! It lands in the ocean and begins sinking! You try to clamber out, but you are stuck in a giant spider web. A giant spider crawls closer and closer..." .GSTR STR?72," a transcript of interaction with PLANETFALL. PLANETFALL is a registered trademark of Infocom, Inc. Copyright (c) 1983 Infocom, Inc. All rights reserved. " .GSTR STR?121,"Lying at the bottom of a narrow crevice is a shiny object." .GSTR STR?148,"gray" .GSTR STR?193,"Lying on one of the beds is a small red spool." .GSTR STR?200,"Lying face down at the bottom of the stairs is a motionless robot. It appears to be damaged beyond repair." .GSTR STR?288,"You feel the familiar wrenching of your innards, and find yourself in a vast room whose distant walls are rushing straight toward you... " .GSTR STR?49,"...Strangely, you wake to find yourself back home on Gallium. Even more strangely, you are only eight years old again. You are playing with your pet sponge-cat, Swanzo, on the edge of the pond in your backyard. Mom is hanging orange towels on the clothesline. Suddenly the school bully jumps out from behind a bush, grabs you, and pushes your head under the water. You try to scream, but cannot. You feel your life draining away..." .GSTR STR?57,"feels" .GSTR STR?122,"You get a brief (but much closer) view of the sharp and nasty rocks at the bottom of the rift." .GSTR STR?150,"black" .GSTR STR?156,"absent-mindedly recites the first six hundred digits of pi" .GSTR STR?164,"absent-mindedly oils one of his joints" .GSTR STR?216,"""Yuu hav reect xe loowist levul uv xe liibreree indeks. Pleez tiip zeeroo tuu goo tuu aa hiiyur levul. If yuu reekwiir asistins, kawl xe liibrereein.""" .ENDI ================================================ FILE: s3.zil ================================================ "PLANETFALL for PLANETFALL (c) COPYRIGHT 1983 INFOCOM INC. ALL RIGHTS RESERVED" >> ) "AUX" (TIM