planetfall-gold/compone.zap

1654 lines
51 KiB
Plaintext

.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