commit 0dfdfa8ed57193f155fc76846bcf5ba679e6af76 Author: historicalsource Date: Thu Apr 18 21:40:40 2019 -0400 Solid-Gold Edition Release diff --git a/compone.zabstr b/compone.zabstr new file mode 100644 index 0000000..88bd758 --- /dev/null +++ b/compone.zabstr @@ -0,0 +1,634 @@ + +) (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 SORRY "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 +"BENCHES" 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 +"EQUIPMENT" 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 "EQUIPMENT" 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> +> + +) (WEST TO MACHINE-SHOP) +(NW TO MECH-CORRIDOR-S) (FLAGS RLANDBIT FLOYDBIT ONBIT) (PSEUDO "DEVICE" +DEVICES-PSEUDO)> + + %<> WORD> + + + + + + %<> WORD> + %<> WORD> + %<> WORD> + %<> WORD> + %<> WORD> + + + + + + +> +^L +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)> + +) (OUT PER ELEVATOR-EXIT-F) (SOUTH PER ELEVATOR-EXIT-F) (UP +SORRY "You'll have to use the elevator controls.") (DOWN SORRY +"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 +SORRY "You'll have to use the elevator controls.") (DOWN SORRY +"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> + + + + + + + + +) (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 +SORRY "A fence keeps you away from the edge, where you would +probably be swept over the brink by the high winds.") (WEST SORRY +"A fence keeps you away from the edge, where you would +probably be swept over the brink by the high winds.") (NORTH SORRY +"A fence keeps you away from the edge, where you would +probably be swept over the brink by the high winds.") (SOUTH SORRY +"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 "ENUNCIATOR" ENUNCIATOR-PSEUDO) (ACTION COMM-ROOM-F)> + + WORD> + +) (SYNONYM CONSOLE CONTROL) (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 "BENCHES" 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)> + \ No newline at end of file diff --git a/compone.zap b/compone.zap new file mode 100644 index 0000000..dcb2e26 --- /dev/null +++ b/compone.zap @@ -0,0 +1,1653 @@ + + + .FUNCT UNDERWATER-F,RARG + EQUAL? RARG,M-END \FALSE + IGRTR? 'DROWN,2 \FALSE + CALL2 JIGS-UP,STR?127 + 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 " + ICALL2 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 + CALL1 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: CALL1 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 " + ICALL2 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 + CALL1 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: CALL1 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 + ICALL 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 " + ICALL2 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 + ICALL1 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 + EQUAL? PRSA,V?EAT \?CCL3 + IN? CANTEEN,ADVENTURER /?CCL6 + SET 'PRSO,CANTEEN + CALL1 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 + CALL1 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 + ICALL 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 + ICALL 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 + CALL2 JIGS-UP,STR?148 + RSTACK +?CCL3: EQUAL? PRSA,V?PUT \?CCL5 + EQUAL? RIFT,PRSI \?CCL5 + EQUAL? PRSO,LASER \?CND8 + CALL2 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. " + CALL1 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 " + ICALL2 DDESC,PRSO + PRINTR "." + + + .FUNCT OIL-CAN-F + EQUAL? PRSA,V?POUR \?CCL3 + ZERO? PRSI \?CND4 + SET 'PRSI,GROUND +?CND4: ICALL 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 + ICALL1 NO-CLOSE + RTRUE + + + .FUNCT CRACKED-BOARD-F + EQUAL? PRSA,V?EXAMINE \FALSE + ICALL1 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 + CALL2 JIGS-UP,STR?163 + 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: CALL2 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 + ICALL1 NO-CLOSE + RTRUE +?CCL7: EQUAL? PRSA,V?EMPTY \FALSE + IN? CHEMICAL-FLUID,FLASK \FALSE + EQUAL? PRSI,FUNNEL-HOLE \FALSE + ICALL 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 + CALL1 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 + CALL2 HELD?,KITCHEN-CARD + ZERO? STACK /?CCL6 + FSET KITCHEN-CARD,SCRAMBLEDBIT + RFALSE +?CCL6: CALL2 HELD?,SHUTTLE-CARD + ZERO? STACK /?CCL8 + FSET SHUTTLE-CARD,SCRAMBLEDBIT + RFALSE +?CCL8: CALL2 HELD?,TELEPORTATION-CARD + ZERO? STACK /?CCL10 + FSET TELEPORTATION-CARD,SCRAMBLEDBIT + RFALSE +?CCL10: CALL2 HELD?,UPPER-ELEVATOR-CARD + ZERO? STACK /?CCL12 + FSET UPPER-ELEVATOR-CARD,SCRAMBLEDBIT + RFALSE +?CCL12: CALL2 HELD?,LOWER-ELEVATOR-CARD + ZERO? STACK /?CCL14 + FSET LOWER-ELEVATOR-CARD,SCRAMBLEDBIT + RFALSE +?CCL14: CALL2 HELD?,MINI-CARD + ZERO? STACK /?CCL16 + FSET MINI-CARD,SCRAMBLEDBIT + RFALSE +?CCL16: CALL2 HELD?,ID-CARD + ZERO? STACK /FALSE + FSET ID-CARD,SCRAMBLEDBIT + RFALSE +?CCL3: CALL2 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 + ICALL 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 + ICALL PERFORM,V?ASK-FOR,FLOYD,PRSO + RTRUE +?CCL6: EQUAL? PRSA,V?SGIVE \?CCL10 + EQUAL? PRSO,ME \?CCL10 + SET 'WINNER,ADVENTURER + ICALL 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 + ICALL1 FLOYD-THROUGH-HOLE + JUMP ?CND15 +?CCL17: EQUAL? HERE,BIO-LOCK-EAST \?CCL21 + EQUAL? PRSO,P?EAST \?CCL21 + ICALL1 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: CALL1 FLUSH + ZERO? STACK /TRUE + RETURN 2 +?CCL14: EQUAL? PRSA,V?THROUGH \?CCL33 + ICALL1 FLOYDS-FAMOUS-DOOR-ROUTINE + CALL1 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 + ICALL 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: CALL1 FLOYD-NOT-HAVE + RSTACK +?CCL54: EQUAL? PRSA,V?READ \?CCL62 + EQUAL? PRSO,DIARY \?CCL62 + SET 'WINNER,ADVENTURER + ICALL PERFORM,V?SHOW,DIARY,FLOYD + SET 'WINNER,FLOYD + RTRUE +?CCL62: PRINTI "Floyd whines, ""Enough talking! Let's play Hider-and-Seeker.""" + CRLF + RETURN 2 +?CCL3: EQUAL? PRSA,V?CLOSE \?CCL68 + PRINTR "Huh?" +?CCL68: EQUAL? PRSA,V?REACH,V?LOOK-INSIDE \?CCL70 + ICALL PERFORM,V?OPEN,FLOYD + RTRUE +?CCL70: FSET? FLOYD,RLANDBIT \?CCL72 + SET 'FLOYD-SPOKE,TRUE-VALUE + EQUAL? PRSA,V?LAMP-ON \?CCL75 + PRINTR "He's already been activated." +?CCL75: EQUAL? PRSA,V?LAMP-OFF \?CCL77 + FCLEAR FLOYD,RLANDBIT + FCLEAR FLOYD,ACTORBIT + CALL2 INT,I-FLOYD + PUT STACK,0,0 + PRINTI "Floyd, shocked by this betrayal from his newfound friend, whimpers and keels over" + FIRST? FLOYD \?CCL80 + PRINTI ", dropping what he was carrying." + CRLF + JUMP ?CND78 +?CCL80: PRINTC 46 + CRLF +?CND78: FIRST? FLOYD >X /?PRG82 +?PRG82: ZERO? X /TRUE + NEXT? X >N /?BOGUS87 +?BOGUS87: MOVE X,HERE + SET 'X,N + JUMP ?PRG82 +?CCL77: EQUAL? PRSA,V?EXAMINE \?CCL89 + 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." +?CCL89: EQUAL? PRSA,V?KISS \?CCL91 + PRINTR "You receive a painful electric shock." +?CCL91: EQUAL? PRSA,V?SCOLD \?CCL93 + PRINTR "Floyd looks defensive. ""What did Floyd do wrong?""" +?CCL93: EQUAL? PRSA,V?PLAY-WITH \?CCL95 + 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!""" +?CCL95: EQUAL? PRSA,V?LISTEN \?CCL97 + PRINTR "Floyd is babbling about this and that." +?CCL97: EQUAL? PRSA,V?TAKE \?CCL99 + EQUAL? PRSO,FLOYD \?CCL99 + 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." +?CCL99: EQUAL? PRSA,V?MUNG,V?ATTACK \?CCL103 + 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!""" +?CCL103: EQUAL? PRSA,V?SHAKE,V?KICK \?CCL105 + PRINTR """Why you do that?"" Floyd whines. ""I think a wire now shaken loose."" He goes off into a corner and sulks." +?CCL105: EQUAL? PRSA,V?TALK,V?HELLO \?CCL107 + PRINTR """Hi!"" Floyd grins and bounces up and down." +?CCL107: EQUAL? PRSA,V?OPEN,V?SCRUB,V?SEARCH \?CCL109 + 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." +?CCL109: EQUAL? PRSA,V?PUT,V?GIVE \?CCL111 + EQUAL? FLOYD,PRSI \?CCL111 + EQUAL? PRSO,LAZARUS-PART \?CCL116 + 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." +?CCL116: EQUAL? PRSO,RED-GOO,GREEN-GOO,BROWN-GOO \?CCL118 + PRINTR "Floyd looks at the goo. ""Yech! Got any Number Seven Heavy Grease?""" +?CCL118: FIRST? FLOYD /?CTR119 + RANDOM 100 + LESS? 25,STACK /?CCL120 +?CTR119: MOVE PRSO,HERE + PRINTI "Floyd examines the " + PRINTD PRSO + PRINTI ", shrugs, and drops " + EQUAL? PRSO,PLIERS \?CCL125 + PRINTR "them." +?CCL125: PRINTR "it." +?CCL120: MOVE PRSO,FLOYD + PRINTR """Neat!"" exclaims Floyd. He thanks you profusely." +?CCL111: EQUAL? PRSA,V?SHOW \?CCL127 + EQUAL? FLOYD,PRSI \?CCL127 + EQUAL? PRSO,PRINT-OUT \?CCL132 + ZERO? COMPUTER-FLAG \?CCL132 + CALL1 COMPUTER-ACTION + RSTACK +?CCL132: EQUAL? PRSO,ROBOT-HOLE \?CCL136 + CALL1 FLOYD-THROUGH-HOLE + RSTACK +?CCL136: EQUAL? PRSO,DIARY \?CCL138 + PRINTR "Floyd looks at you earnestly. ""Floyd would never read someone else's diary!"" He stops and thinks a moment, then adds, ""Well, at least not a friend's diary.""" +?CCL138: EQUAL? HERE,REC-AREA \?CCL140 + EQUAL? PRSO,PSEUDO-OBJECT \?CCL140 + PRINTR """Too intellectual for Floyd. Any paddleball sets around?""" +?CCL140: EQUAL? PRSO,ID-CARD,SHUTTLE-CARD /?CTR143 + EQUAL? PRSO,KITCHEN-CARD,UPPER-ELEVATOR-CARD \?CCL144 +?CTR143: PRINTR "Floyd scratches his head. ""Aren't those things usually blue?""" +?CCL144: EQUAL? PRSO,LOWER-ELEVATOR-CARD \?CCL148 + ZERO? CARD-REVEALED \?CCL148 + 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." +?CCL148: PRINTI "Floyd looks over the " + PRINTD PRSO + PRINTR ". ""Can you play any games with it?"" he asks." +?CCL127: EQUAL? PRSA,V?RUB \?CCL152 + PRINTR "Floyd gives a contented sigh." +?CCL152: EQUAL? PRSA,V?SMELL \?CCL154 + PRINTR "Floyd smells faintly of ozone and light machine oil." +?CCL154: EQUAL? PRSA,V?ASK-FOR \FALSE + IN? PRSI,FLOYD \?CCL159 + MOVE PRSI,ADVENTURER + PRINTI """Okay,"" says Floyd, handing you the " + PRINTD PRSI + PRINTR ", ""but only because you're Floyd's best friend.""" +?CCL159: CALL1 FLOYD-NOT-HAVE + RSTACK +?CCL72: EQUAL? PRSA,V?LAMP-ON \?CCL162 + ZERO? FLOYD-INTRODUCED /?CCL165 + CALL QUEUE,I-FLOYD,-1 + PUT STACK,0,1 + RTRUE +?CCL165: 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 +?CCL162: EQUAL? PRSA,V?LAMP-OFF \?CCL169 + PRINTR "The robot doesn't seem to be on." +?CCL169: EQUAL? PRSA,V?EXAMINE \?CCL171 + PRINTR "The deactivated 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." +?CCL171: EQUAL? PRSA,V?OPEN,V?SEARCH \FALSE + ZERO? CARD-REVEALED \?CCL176 + ZERO? CARD-STOLEN \?CCL176 + FCLEAR LOWER-ELEVATOR-CARD,INVISIBLE + MOVE LOWER-ELEVATOR-CARD,ADVENTURER + ICALL2 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.""" +?CCL176: 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 + CALL1 FLOYD-THROUGH-HOLE + RSTACK +?CCL3: EQUAL? PRSO,BIO-DOOR-EAST \?CCL5 + CALL1 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 + CRLF + 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 + ICALL1 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 " + CALL2 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 + ICALL1 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 + ICALL1 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 + ICALL1 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 + ICALL1 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 + ICALL1 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: ICALL1 KLUDGE + JUMP ?CND1 +?CCL64: CRLF + ICALL1 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 + CALL1 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 " + ICALL2 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 " + ICALL2 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: ICALL1 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: ICALL1 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: ICALL1 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: ICALL1 DOOR-CLOSED + RFALSE + + + .FUNCT UPPER-ELEVATOR-DOOR-F + EQUAL? PRSA,V?OPEN \?CCL3 + FSET? UPPER-ELEVATOR-DOOR,OPENBIT \?CCL6 + CALL1 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: CALL1 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 + CALL1 ALREADY-OPEN + RSTACK +?CCL6: FSET? LOWER-ELEVATOR-DOOR,OPENBIT \?CCL11 + EQUAL? HERE,WAITING-AREA \?CCL11 + EQUAL? LOWER-ELEVATOR-UP,FALSE-VALUE \?CCL11 + CALL1 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: CALL1 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 + CALL2 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 + CALL2 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 + CALL2 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 + CALL2 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 + CALL1 ELEVATOR-DOOR-OPENS + RSTACK +?CCL3: SET 'UPPER-ELEVATOR-UP,TRUE-VALUE + SET 'ELEVATOR-IN-TRANSIT,FALSE-VALUE + FSET UPPER-ELEVATOR-DOOR,OPENBIT + CRLF + CALL1 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 + CALL1 ELEVATOR-DOOR-OPENS + RSTACK +?CCL3: SET 'LOWER-ELEVATOR-UP,TRUE-VALUE + SET 'ELEVATOR-IN-TRANSIT,FALSE-VALUE + FSET LOWER-ELEVATOR-DOOR,OPENBIT + CRLF + CALL1 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 + CALL2 GOTO,HELICOPTER + RSTACK +?CCL6: PRINTR "You're in it!" +?CCL3: EQUAL? PRSA,V?DISEMBARK,V?DROP,V?EXIT \?CCL8 + EQUAL? HERE,HELICOPTER \?CCL11 + CALL2 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 + ICALL1 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 + CALL2 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,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 + CALL2 JIGS-UP,STR?210 + RSTACK +?CCL3: EQUAL? PRSA,V?PUT \?CCL5 + EQUAL? PRSI,CHEMICAL-FLUID \?CCL5 + ICALL 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: CALL2 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 + CALL2 HELD?,FLASK + ZERO? STACK \?CCL20 + PRINTR "You're not holding the flask." +?CCL20: EQUAL? PRSI,CANTEEN \?CND18 + ICALL1 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 " + ICALL1 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 + ICALL1 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 + ICALL1 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 + CALL2 JIGS-UP,STR?211 + RSTACK +?CCL72: EQUAL? PRSI,ME,ADVENTURER,HANDS \?CCL74 + CALL2 JIGS-UP,STR?212 + 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. " + CALL1 STRIP-DISSOLVES + RSTACK +?CCL80: EQUAL? PRSI,STRIP,RELAY \?CCL82 + CALL1 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: CALL1 CHEMICAL-POURS + RSTACK +?CCL50: CALL1 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 + CALL2 JIGS-UP,STR?213 + 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 + ICALL1 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: ICALL1 DOOR-CLOSED + ICALL2 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 diff --git a/compone.zil b/compone.zil new file mode 100644 index 0000000..0627930 --- /dev/null +++ b/compone.zil @@ -0,0 +1,3228 @@ +"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 SORRY "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 "BENCHES" 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 "EQUIPMENT" 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 "EQUIPMENT" 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 + + )>)>)>)> + >> + + + > + + + > + + + ) + ( + > + )>> + + + + + ) + ( + ) + ( + )>> + +> + +^L + +;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 SORRY "You'll have to use the elevator controls.") + (DOWN SORRY "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 SORRY "You'll have to use the elevator controls.") + (DOWN SORRY "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 SORRY "A fence keeps you away from the edge, where you would +probably be swept over the brink by the high winds.") + (WEST SORRY "A fence keeps you away from the edge, where you would +probably be swept over the brink by the high winds.") + (NORTH SORRY "A fence keeps you away from the edge, where you would +probably be swept over the brink by the high winds.") + (SOUTH SORRY "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 "ENUNCIATOR" ENUNCIATOR-PSEUDO) + (ACTION COMM-ROOM-F)> + + + + ) + (,COMM-FIXED + ) + (T + )> + + + )> + ) + ( + + + ,JUST-ENTERED> + > + > + + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + )> + )>> + + + +> + + >)> + > + +) + (SYNONYM CONSOLE CONTROL) + (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 "BENCHES" 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 + )> + )>> \ No newline at end of file diff --git a/comptwo.zabstr b/comptwo.zabstr new file mode 100644 index 0000000..93f6f03 --- /dev/null +++ b/comptwo.zabstr @@ -0,0 +1,711 @@ + +) (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)> +^L +) (SE TO SYSTEMS-CORRIDOR-WEST) (OUT TO +SYSTEMS-CORRIDOR-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL BED SHELVES) (PSEUDO +"EQUIPMENT" EQUIPMENT-PSEUDO "MACHINE" EQUIPMENT-PSEUDO) (ACTION INFIRMARY-F)> + + %<> WORD> + + + + + + +) (UP TO SYSTEMS-CORRIDOR-WEST) (SOUTH TO SYSTEMS-CORRIDOR-WEST) ( +NORTH SORRY "It is a robot-sized doorway -- a bit too small for you.") (FLAGS +RLANDBIT FLOYDBIT ONBIT) (GLOBAL STAIRS) (PSEUDO "CABINETS" CABINETS-PSEUDO +"MACHINE" 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 "EQUIPMENT" +EQUIPMENT-PSEUDO)> +^L + %<> 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)> + + + + + +^L +) (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> + + + + + +) (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> + + %<> 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> + + +) (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> + +> +) ( +WEST TO RADIATION-LOCK-EAST IF RAD-DOOR-EAST IS OPEN) (FLAGS RLANDBIT ONBIT) ( +GLOBAL TABLES RAD-DOOR-EAST) (PSEUDO "CRACK" CRACK-PSEUDO "EQUIPMENT" +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> + + + + + +) (NORTH TO LAB-OFFICE) (OUT TO LAB-OFFICE) (FLAGS RLANDBIT ONBIT) (VALUE 4 +) (PSEUDO "BOOTH" IN-BOOTH-PSEUDO)> +^L + %<> WORD> + +) (EAST TO +STRIP-NEAR-STATION) (FLAGS RLANDBIT ONBIT) (GLOBAL STRIP) (PSEUDO "PLATE" +PLATE-PSEUDO "PLATES" PLATE-PSEUDO) (ACTION STATION-384-F)> + + + %<> WORD> + %<> WORD> + +) (SOUTH SORRY "The plunge would probably be fatal.") (EAST SORRY +"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 +SORRY "Do you have a penchant for bottomless voids?") (WEST SORRY +"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 SORRY +"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 SORRY "Do you have a penchant for bottomless voids?") ( +FLAGS RLANDBIT ONBIT) (GLOBAL STRIP) (PSEUDO "VOID" VOID-PSEUDO) (ACTION +STRIP-NEAR-RELAY-F)> + + + + + +^L + + + + + + WORD> + %<> WORD> + WORD> + WORD> + + + + + WORD> + %<> WORD> + + + + %<> WORD> + WORD> + + +> + +^L + + + +> +> + %<> WORD> + WORD> + +> + + +^L + + + + + \ No newline at end of file diff --git a/comptwo.zap b/comptwo.zap new file mode 100644 index 0000000..1a4b7df --- /dev/null +++ b/comptwo.zap @@ -0,0 +1,1855 @@ + + + .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 + EQUAL? PRSA,V?POUR,V?EAT,V?TASTE \?CCL3 + IN? MEDICINE-BOTTLE,ADVENTURER /?CCL3 + SET 'PRSO,MEDICINE-BOTTLE + ICALL1 NOT-HOLDING + CALL2 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 + ICALL 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 + ICALL 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?RUB,V?EXAMINE,V?TAKE /?PRD6 + EQUAL? PRSA,V?MOVE,V?PULL,V?PUSH /?PRD6 + EQUAL? PRSA,V?LOOK-UNDER \?CCL3 +?PRD6: EQUAL? GOOD-BOARD,PRSO \?CCL3 + PRINTI "You can't see any " + PRINTD PRSO + PRINTR " here." +?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE + ICALL1 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 " + ICALL2 DDESC,ACCESS-PANEL + PRINTR "." + + + .FUNCT ACCESS-PANEL-F + EQUAL? PRSA,V?OPEN \?CCL3 + FSET? ACCESS-PANEL,OPENBIT \?CCL6 + CALL1 ALREADY-OPEN + RSTACK +?CCL6: FSET ACCESS-PANEL,OPENBIT + PRINTI "The panel swings open." + CRLF + ICALL 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: CALL1 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 + ICALL2 THIS-IS-IT,SECOND-BOARD + SET 'DEFENSE-FIXED,TRUE-VALUE + ADD SCORE,6 >SCORE + SET 'ACCESS-PANEL-FULL,TRUE-VALUE + ICALL1 PUT-BOARD + PRINTR " The warning lights stop flashing." +?CCL22: EQUAL? PRSO,CRACKED-BOARD,FRIED-BOARD \?CCL24 + REMOVE PRSO + ICALL2 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: ICALL1 PUT-BOARD + CRLF + RTRUE +?CCL24: PRINTI "The " + PRINTD PRSO + PRINTI " doesn't fit." + RTRUE + + + .FUNCT FRIED-BOARD-F + EQUAL? PRSA,V?EXAMINE \FALSE + ICALL1 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 + CALL1 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: CALL2 THIS-IS-IT,FRIED-BOARD + RSTACK +?CCL6: CALL1 BOARD-SHOCK + RSTACK +?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE + ICALL1 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 + CALL1 ALREADY-OPEN + RSTACK +?CCL6: FSET CUBE,OPENBIT + PRINTI "The lid swings open." + CRLF + ICALL 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: CALL1 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 + CALL1 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 + ICALL1 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 " + ICALL2 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: ICALL1 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 + CALL2 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 + CALL2 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: CALL2 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 + ICALL1 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 + CALL1 FIXED-FONT-OFF + RSTACK + + + .FUNCT MINI-CARD-F + FSET? MINI-CARD,NDESCBIT \FALSE + EQUAL? PRSA,V?TURN,V?MOVE,V?RUB /?CCL3 + EQUAL? PRSA,V?PUSH,V?TAKE,V?SET /?CCL3 + EQUAL? PRSA,V?SMELL,V?PULL \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 " + ICALL2 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 " + ICALL2 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 + CALL1 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 + CALL2 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 + CALL2 INT,I-CHASE-SCENE + GET STACK,C-ENABLED? + ZERO? STACK \?CCL15 + CALL2 JIGS-UP,STR?291 + 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" + CALL2 INT,I-CHASE-SCENE + GET STACK,C-ENABLED? + EQUAL? STACK,1 \?CCL27 + PRINTR ", but not soon enough!" +?CCL27: PRINTR "." +?CCL22: CALL1 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 + CALL1 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: CALL1 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 + CALL1 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: CALL1 IS-CLOSED + RSTACK + + + .FUNCT RAD-DOOR-WEST-F + EQUAL? PRSA,V?OPEN \?CCL3 + FSET? RAD-DOOR-WEST,OPENBIT \?CCL6 + CALL1 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: CALL1 IS-CLOSED + RSTACK + + + .FUNCT I-FLOYD-FORAY + INC 'FORAY-COUNTER + EQUAL? FORAY-COUNTER,2 \?CCL3 + FSET? BIO-DOOR-EAST,OPENBIT \?CCL6 + CRLF + CALL1 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 + CALL1 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 + CALL2 INT,I-FLOYD-FORAY + PUT STACK,0,0 + RTRUE +?CCL13: EQUAL? FORAY-COUNTER,5 \FALSE + FSET? BIO-DOOR-EAST,OPENBIT \?CCL21 + CRLF + CALL1 MONSTER-DEATH + RSTACK +?CCL21: REMOVE FLOYD + FCLEAR FLOYD,RLANDBIT + CALL2 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 + CALL2 INT,I-FLOYD-FORAY + PUT STACK,0,0 + RTRUE + + + .FUNCT MONSTER-DEATH + CALL2 JIGS-UP,STR?295 + 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 + CALL2 JIGS-UP,STR?296 + RSTACK +?CCL11: CALL2 JIGS-UP,STR?297 + RSTACK + + + .FUNCT I-CHASE-SCENE + IN? RAT-ANT,HERE \?CCL3 + ZERO? LAB-FLOODED \?CCL3 + ICALL2 JIGS-UP,STR?298 + 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 + ICALL2 JIGS-UP,STR?299 + JUMP ?CND1 +?CCL17: EQUAL? HERE,CRYO-ELEVATOR \?CND20 + CRLF + ICALL1 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! " + CALL2 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 + CALL2 JIGS-UP,STR?305 + 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: CALL2 JIGS-UP,STR?309 + 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 + ICALL2 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 deactivated.""" + + + .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 + ICALL2 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 microcomponent. " + IN? RELAY,HERE \?CCL6 + PRINTR "To the east is a vacuu-sealed microrelay, sealed in transparent red plastic. You could probably see into the microrelay." +?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 microrelay, 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 + EQUAL? PRSA,V?SET \?CCL3 + EQUAL? PRSI,INTNUM \?CCL3 + ICALL 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 + CALL1 ALREADY-BATTERY + RSTACK +?CCL22: MOVE OLD-BATTERY,LASER + CALL1 BATTERY-NOW + RSTACK +?CCL19: EQUAL? PRSO,NEW-BATTERY \?CCL24 + IN? OLD-BATTERY,LASER \?CCL27 + CALL1 ALREADY-BATTERY + RSTACK +?CCL27: MOVE NEW-BATTERY,LASER + CALL1 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 + ICALL1 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: CALL1 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 + ICALL1 SHOOT-SPECK + RTRUE +?CCL53: EQUAL? PRSI,MICROBE \?CCL55 + ICALL1 SHOOT-MICROBE + RTRUE +?CCL55: FSET? PRSI,WORNBIT /?CTR56 + EQUAL? PRSI,ME,HANDS,ADVENTURER \?CCL57 +?CTR56: PRINTR "Ouch! You managed to burn yourself nicely." +?CCL57: PRINTI "The laser emits a narrow " + ICALL1 BEAM-COLOR + PRINTI " beam of light" + ZERO? PRSI /?CCL62 + EQUAL? PRSI,TOWEL,BROCHURE,COMBINATION-PAPER /?CTR64 + EQUAL? PRSI,PRINT-OUT,LAB-UNIFORM,PATROL-UNIFORM /?CTR64 + EQUAL? PRSI,ID-CARD,KITCHEN-CARD,MINI-CARD /?CTR64 + EQUAL? PRSI,TELEPORTATION-CARD,SHUTTLE-CARD,UPPER-ELEVATOR-CARD /?CTR64 + EQUAL? PRSI,LOWER-ELEVATOR-CARD,DIARY \?CCL65 +?CTR64: REMOVE PRSI + EQUAL? PRSI,SPOUT-PLACED \?CND71 + SET 'SPOUT-PLACED,GROUND +?CND71: PRINTI " which strikes the " + PRINTD PRSI + PRINTI ". The " + PRINTD PRSI + PRINTR " bursts into flame, blinding you momentarily, and is quickly consumed." +?CCL65: EQUAL? PRSI,FLOYD \?CCL74 + FSET? FLOYD,RLANDBIT \?CCL74 + PRINTR " which strikes Floyd. ""Yow!"" yells Floyd. He jumps to the other end of the room and eyes you warily." +?CCL74: EQUAL? PRSI,PSEUDO-OBJECT \?CCL78 + EQUAL? HERE,PROJCON-OFFICE \?CCL78 + PRINTI " which strikes the " + PRINTD PRSI + PRINTR ". However, this doesn't seem to affect it." +?CCL78: PRINTI " which strikes the " + PRINTD PRSI + PRINTI ". The " + PRINTD PRSI + PRINTR " grows a bit warm, but nothing else happens." +?CCL62: PRINTR "." +?CCL31: EQUAL? PRSA,V?DROP \FALSE + CALL2 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 + CALL2 LASER-FEELS,STR?324 + RSTACK +?CCL6: EQUAL? WARMTH-FLAG,6 \?CCL8 + CALL2 LASER-FEELS,STR?325 + RSTACK +?CCL8: EQUAL? WARMTH-FLAG,9 \?CCL10 + CALL2 LASER-FEELS,STR?326 + RSTACK +?CCL10: EQUAL? WARMTH-FLAG,12 \FALSE + CALL2 LASER-FEELS,STR?327 + RSTACK +?CCL3: ZERO? WARMTH-FLAG \?CCL15 + CALL2 INT,I-WARMTH + PUT STACK,0,0 + RTRUE +?CCL15: DEC 'WARMTH-FLAG + EQUAL? WARMTH-FLAG,12 \?CCL18 + CALL2 LASER-COOLS,STR?327 + RSTACK +?CCL18: EQUAL? WARMTH-FLAG,9 \?CCL20 + CALL2 LASER-COOLS,STR?328 + RSTACK +?CCL20: EQUAL? WARMTH-FLAG,6 \?CCL22 + CALL2 LASER-COOLS,STR?329 + RSTACK +?CCL22: EQUAL? WARMTH-FLAG,3 \FALSE + CALL2 LASER-COOLS,STR?330 + 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 + CALL2 PICK-ONE,BEAM-MISSES + PRINT STACK + CRLF + RTRUE +?CCL3: REMOVE RELAY + PRINTI "A thin " + ICALL1 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 + CALL2 JIGS-UP,STR?334 + 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 + CALL2 INT,I-WARMTH + PUT STACK,0,0 + GRTR? WARMTH-FLAG,10 \?CCL19 + CALL2 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 + CALL2 PICK-ONE,WINNER-ATTACKED + PRINT STACK + GRTR? WARMTH-FLAG,13 \?CCL6 + IN? LASER,ADVENTURER \?CCL6 + ICALL2 JIGS-UP,STR?336 + 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 + ICALL2 JIGS-UP,STR?337 + JUMP ?CND1 +?CCL14: INC 'MICROBE-COUNTER + CRLF + CALL2 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 ". " + CALL2 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 + CALL2 INT,I-WARMTH + PUT STACK,0,0 + CALL2 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 + CALL2 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 diff --git a/comptwo.zil b/comptwo.zil new file mode 100644 index 0000000..09044b5 --- /dev/null +++ b/comptwo.zil @@ -0,0 +1,3208 @@ +"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)> + +^L + +"He's dead, Jim" + +) + (SE TO SYSTEMS-CORRIDOR-WEST) + (OUT TO SYSTEMS-CORRIDOR-WEST) + (FLAGS RLANDBIT ONBIT) + (GLOBAL BED SHELVES) + (PSEUDO "EQUIPMENT" EQUIPMENT-PSEUDO "MACHINE" EQUIPMENT-PSEUDO) + (ACTION INFIRMARY-F)> + + + +> + + + + + + > + + + + > + + )>> + + + + + + > + + + )>> + + + + + +)) + + >> + + + ) + ( + >> + ) + ( + ) + ( + + + > + > + ) + ( + + + )> + + + )> + + + )> + ) + (T + )>) + ( + ,W?TAKE>> + + )>> + +) + (UP TO SYSTEMS-CORRIDOR-WEST) + (SOUTH TO SYSTEMS-CORRIDOR-WEST) + (NORTH SORRY "It is a robot-sized doorway -- a bit too small for you.") + (FLAGS RLANDBIT FLOYDBIT ONBIT) + (GLOBAL STAIRS) + (PSEUDO "CABINETS" CABINETS-PSEUDO "MACHINE" 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)> + +) + (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 "EQUIPMENT" EQUIPMENT-PSEUDO)> + +^L + +"Planetary systems and repairs" + +> + +> + + + +) + (SOUTH TO SYSTEMS-CORRIDOR) + (OUT TO SYSTEMS-CORRIDOR) + (FLAGS RLANDBIT FLOYDBIT ONBIT) + (GLOBAL CONTROLS LIGHTS) + (ACTION PLANETARY-DEFENSE-F)> + + + + + )> + + + )>> + + + + + + ) + (T + + + + )>) + ( + + + ) + (T + )>) + ( + > + > + ) + (,ACCESS-PANEL-FULL + ) + ( + + + + + > + + + ) + ( + + + + + + )> + + ) + (T + )>)>> + + + + + + + + + + + + + + )>> + +> + + + + ) + (T + + + > + + ) + (T + )> + )>) + (T + )>) + ( + + )>> + +> + +> + +> + +) + (SOUTH TO SYSTEMS-CORRIDOR-EAST) + (OUT TO SYSTEMS-CORRIDOR-EAST) + (FLAGS FLOYDBIT RLANDBIT ONBIT) + (GLOBAL CONTROLS LIGHTS) + (ACTION PLANETARY-COURSE-CONTROL-F)> + + + + ) + (T + )> + + + ) + (T + )> + )>> + + + + + + ) + (T + + + + )>) + ( + + + ) + (T + )>) + ( + > + > + ) + ( + ) + ( + + > + + + > + ) + (T + )>) + ( + + ) + (T + )>)>> + + + + + > + ) + ( + + + + ) + (T + )>)>> + +^L + +"The Library" + +) + (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)> + + + +> + + + + + + + + + )> + ) + (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)> + +) + (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)> + + + + ) + (T + )>) + ( + + > + + + )>> + +> + + + +) + (NORTH PER CRYO-EXIT-F) + (GLOBAL CRYO-ELEVATOR-DOOR) + (FLAGS RLANDBIT ONBIT) + (PSEUDO "BUTTON" CRYO-BUTTON-PSEUDO) + (ACTION CRYO-ELEVATOR-F)> + + + + + )>> + + + ) + (T + + )>> + +> + + + > + +) + (FLAGS RLANDBIT ONBIT) + (ACTION CRYO-ANTEROOM-F)> + + + ) + ( + + + ) + (T + )> + + + + >) + (T + + + ) + (T + )> + + >)>) + (T + + + )> + >)>)>> + +;(OLD HACK ENDING: +"A parchment containing Mike Dornbrook's phone number appears in the trophy +case. A holographic image of the Dungeon Master appears in the air before +you. He is carrying a letter from Chief Inspector Klutz. \"I hope to meet you +in person some day,\" he says.") + +) + (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)> + +> + + + + + + ) + (T + )> + > + + + + + + + )>> + +) + (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)> + + + +> + + + + + ) + ( + + ) + (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 + )> + )>)>> + +> + +> + > + +) + (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)> + + + + + + + + + + + + ) + ( + ) + ( + > + > + + + + > + ) + ( + ,C-ENABLED?> 0>> + ) + (T + + > + )>) + ( + + + )> + + + ,C-ENABLED?> 1> + ) + (T + )>) + (T + )>)>> + + + + + )>)>> + + + + ) + ( + ) + (T + + > + )>) + ( + + + ) + (T + )>)>> + + + + + )>)>> + + + + ) + ( + ) + (T + + )>) + ( + + + ) + (T + )>)>> + + + + ) + ( + ) + (T + + )>) + ( + + + ) + (T + )>)>> + + + + + + + +> + + +> + +> + + + +> + + + + ) + (T + )>) + ( + + + ) + (T + )>) + ( + + + ) + (T + + + >)>) + ( + + + ) + (T + + + > + + + + + > + + + + >)>)>> + +> + +) + (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)> + + + + ) + (T + )> + ) + ( + > + + > + )>) + (T + )>)>> + +> + +> + +> + +> + + + > + ) + ( + + > + + ) + ( + > + + ) + ( + > + ) + (T + + + )> + + + + + + + ) + (T + CR>)>)>)> + + > + +> + +) + (WEST TO RADIATION-LOCK-EAST IF RAD-DOOR-EAST IS OPEN) + (FLAGS RLANDBIT ONBIT) + (GLOBAL TABLES RAD-DOOR-EAST) + (PSEUDO "CRACK" CRACK-PSEUDO "EQUIPMENT" EQUIPMENT-PSEUDO) + (ACTION RADIATION-LAB-F)> + + + >> + >)>> + + + +> + > + + ) + ( + + + )> + ) + ( + )>> + + + + + + + + ) + (T + + + )>) + ( + + + ) + (T + )>)>> + +) + (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)> + + + + + ) + (T + )> + ) + ( + > + ) + (T + )>)>> + + + + + + + >> + + + + + ) + (T + )> + ) + ( + > + + )>> + + + + + + + + + + + +> + +> + + + ) + (T + + )>)>> + + + > + ) + (T + )>)>> + + + + + + > + )>> + +> + + ) + ( + > + )>> + +) + (NORTH TO LAB-OFFICE) + (OUT TO LAB-OFFICE) + (FLAGS RLANDBIT ONBIT) + (VALUE 4) + (PSEUDO "BOOTH" IN-BOOTH-PSEUDO)> + +^L + +;"INSIDE THE COMPUTER" + +> + +> + + )>> + +) + (EAST TO STRIP-NEAR-STATION) + (FLAGS RLANDBIT ONBIT) + (GLOBAL STRIP) + (PSEUDO "PLATE" PLATE-PSEUDO "PLATES" PLATE-PSEUDO) + (ACTION STATION-384-F)> + + + > + + > + + + ) + (T + + >)>)>)>> + +> + +> + +> + + + +) + (SOUTH SORRY "The plunge would probably be fatal.") + (EAST SORRY "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 SORRY "Do you have a penchant for bottomless voids?") + (WEST SORRY "Do you have a penchant for bottomless voids?") + (FLAGS RLANDBIT ONBIT) + (ACTION MIDDLE-OF-STRIP-F) + (PSEUDO "VOID" VOID-PSEUDO) + (GLOBAL STRIP)> + + + +> + + + > + + > + > + )>)>> + +) + (NORTH SORRY "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 SORRY "Do you have a penchant for bottomless voids?") + (FLAGS RLANDBIT ONBIT) + (GLOBAL STRIP) + (PSEUDO "VOID" VOID-PSEUDO) + (ACTION STRIP-NEAR-RELAY-F)> + + + + + ) + (T + )>) + ( + > + + + )>> + + + + ) + (T + + )>> + + + + + + + )> + )>> + + + +^L + +;"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 + + )>) + (T + > + CR>)>) + (T + + + + )>> + +> + + + + )>> + +^L + +;"The microbe battle" + + + + + > + + > + > + ) + ( + > + + > + + > + + > + + + + + ) + (T + )>) + (T + )>)>> + + + > + + > + ) + ( + > + )> + ) + (T + + ) + (T + > + CR>)>)> + >> + +> + +> + +> + + + + + + ) + (T + + + CR>)>> + +> + + + + + + > + > + > + + + + + ) + (T + + >)> + + )>)>> + +^L + +;"Endgame -- The mutant chase scene" + + + + + + + + + >> + )>> + + \ No newline at end of file diff --git a/diary.zil b/diary.zil new file mode 100644 index 0000000..90213a7 --- /dev/null +++ b/diary.zil @@ -0,0 +1,97 @@ +;