Final Revision
authorhistoricalsource <historicalsoftware@textfiles.com>
Sun, 14 Apr 2019 01:35:51 +0000 (21:35 -0400)
committerhistoricalsource <historicalsoftware@textfiles.com>
Sun, 14 Apr 2019 01:35:51 +0000 (21:35 -0400)
32 files changed:
compone.zabstr [new file with mode: 0644]
compone.zap [new file with mode: 0644]
compone.zil
comptwo.zabstr [new file with mode: 0644]
comptwo.zap [new file with mode: 0644]
comptwo.zil
globals.zabstr [new file with mode: 0644]
globals.zap [new file with mode: 0644]
globals.zil
misc.zabstr [new file with mode: 0644]
misc.zap [new file with mode: 0644]
misc.zil
parser.zabstr [new file with mode: 0644]
parser.zap [new file with mode: 0644]
parser.zil
planetfall.beta [new file with mode: 0644]
planetfall.clocker [new file with mode: 0644]
planetfall.errors [new file with mode: 0644]
planetfall.record [new file with mode: 0644]
planetfall.zap [new file with mode: 0644]
planetfall.zil
planetfall.zip
planetfalldat.zap [new file with mode: 0644]
planetfallfreq.xzap [new file with mode: 0644]
planetfallpur.zap [new file with mode: 0644]
planetfallstr.zap [new file with mode: 0644]
s3.zil [new file with mode: 0644]
syntax.zap [new file with mode: 0644]
syntax.zil
verbs.zabstr [new file with mode: 0644]
verbs.zap [new file with mode: 0644]
verbs.zil

diff --git a/compone.zabstr b/compone.zabstr
new file mode 100644 (file)
index 0000000..9d7837c
--- /dev/null
@@ -0,0 +1,629 @@
+
+<ROOM UNDERWATER (IN ROOMS) (DESC "Underwater") (LDESC
+"You are momentarily disoriented as you enter the turbulent waters.
+Currents buffet you against the sharp rocks of an underwater
+cliff. A dim light filters down from above.") (C-MOVE <TABLE 0 0 0 35 0 0 0 0 0
+0 0 0>) (UP TO CRAG) (DOWN TO UNDERWATER) (WEST TO UNDERWATER) (NORTH TO
+UNDERWATER) (SOUTH TO UNDERWATER) (FLAGS ONBIT RWATERBIT) (ACTION UNDERWATER-F)
+> 
+<GLOBAL DROWN 0 %<> WORD> 
+<DEFINE-ROUTINE UNDERWATER-F> 
+<ROOM CRAG (IN ROOMS) (DESC "Crag") (LDESC
+"You have reached a cleft in the cliff wall where the island rises from the
+water. The edge of the cleft displays recently exposed rock where it collapsed
+under the weight of the escape pod. About two meters below, turbulent waters
+swirl against sharp rocks. A small structure clings to the face of the cliff
+about eight meters above you. Even an out-of-shape Ensign Seventh Class could
+probably climb up to it.") (C-MOVE <TABLE 0 0 10 40 0 0 0 0 0 0 0 0>) (DOWN TO
+UNDERWATER) (UP TO BALCONY) (FLAGS ONBIT RLANDBIT) (VALUE 3) (GLOBAL CLIFF
+OCEAN) (PSEUDO "STRUCTURE" STRUCTURE-PSEUDO "CLEFT" CLEFT-PSEUDO) (ACTION
+CRAG-F)> 
+<DEFINE-ROUTINE CRAG-F> 
+<ROOM BALCONY (IN ROOMS) (DESC "Balcony") (C-MOVE <TABLE 0 0 25 30 0 0 0 0 0 0
+0 0>) (DOWN PER WATER-LEVEL-F) (UP TO WINDING-STAIR) (FLAGS ONBIT RLANDBIT) (
+PSEUDO "PLAQUE" PLAQUE-PSEUDO) (GLOBAL CLIFF OCEAN STAIRS WINDOW) (ACTION
+BALCONY-F)> 
+<DEFINE-ROUTINE BALCONY-F> 
+<ROOM WINDING-STAIR (IN ROOMS) (DESC "Winding Stair") (C-MOVE <TABLE 0 0 15 30
+0 0 0 0 0 0 0 0>) (DOWN PER WATER-LEVEL-F) (UP TO COURTYARD) (FLAGS ONBIT
+RLANDBIT) (GLOBAL CLIFF STAIRS) (ACTION WINDING-STAIR-F)> 
+<DEFINE-ROUTINE WINDING-STAIR-F> 
+<ROOM COURTYARD (IN ROOMS) (DESC "Courtyard") (C-MOVE <TABLE 0 0 15 0 0 0 0 0 0
+0 0 0>) (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)> 
+<DEFINE-ROUTINE COURTYARD-F> 
+<DEFINE-ROUTINE WATER-LEVEL-F> 
+<ROOM WEST-WING (IN ROOMS) (DESC "West Wing") (LDESC
+"This was once the west wing of the castle, but the walls are now mostly
+rubble, allowing a view of the cliff and ocean below. Rubble blocks all exits
+save one, eastward to the courtyard.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>)
+(EAST TO COURTYARD) (DOWN "Certain death.") (FLAGS ONBIT RLANDBIT FLOYDBIT) (
+GLOBAL CLIFF OCEAN) (PSEUDO "CASTLE" CASTLE-PSEUDO "RUBBLE" RUBBLE-PSEUDO)> 
+<ROOM PLAIN-HALL (IN ROOMS) (DESC "Plain Hall") (LDESC
+"This is a featureless hall leading north and south. Although the hallway is
+old and dusty, the construction is of a much more modern style than the
+castle to the south. A similar hall branches off to the northeast.") (C-MOVE <
+TABLE 0 0 0 0 0 0 0 0 0 0 25 0>) (SOUTH TO COURTYARD) (NORTH TO REC-AREA) (NE
+TO REC-CORRIDOR) (FLAGS ONBIT RLANDBIT)> 
+<ROOM REC-AREA (IN ROOMS) (DESC "Rec Area") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0
+0 0>) (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)> 
+<GLOBAL DIAL-NUMBER 0 %<> WORD> 
+<GLOBAL NUMBER-NEEDED 0 %<> WORD> 
+<DEFINE-ROUTINE REC-AREA-F> 
+<ROOM CONFERENCE-ROOM (IN ROOMS) (DESC "Conference Room") (C-MOVE <TABLE 0 0 0
+0 0 0 0 0 0 0 0 0>) (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)> 
+<DEFINE-ROUTINE CONFERENCE-ROOM-F> 
+<OBJECT CONFERENCE-DOOR (IN LOCAL-GLOBALS) (DESC "door") (SYNONYM DOOR) (FLAGS
+DOORBIT NDESCBIT) (ACTION CONFERENCE-DOOR-F)> 
+<OBJECT COMBINATION-DIAL (IN REC-AREA) (DESC "combination dial") (SYNONYM DIAL)
+(ADJECTIVE COMBINATION) (FLAGS MUNGBIT NDESCBIT) (ACTION COMBINATION-DIAL-F)> 
+<DEFINE-ROUTINE COMBINATION-DIAL-F> 
+<DEFINE-ROUTINE CONFERENCE-DOOR-F> 
+<ROOM BOOTH-1 (IN ROOMS) (DESC "Booth 1") (LDESC
+"This is a tiny room with a large \"1\" painted on the wall. A panel contains
+a slot about ten centimeters wide, a beige button labelled \"2\" and a tan
+button labelled \"3.\"") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (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)> 
+<ROOM REC-CORRIDOR (IN ROOMS) (DESC "Rec Corridor") (LDESC
+"This is a wide, east-west hallway. Portals lead north and south, and another
+corridor branches southwest.") (C-MOVE <TABLE 0 0 0 0 0 0 25 0 0 0 0 0>) (WEST
+TO REC-AREA) (NORTH TO DORM-B) (SOUTH TO DORM-A) (EAST TO MESS-CORRIDOR) (SW TO
+PLAIN-HALL) (FLAGS ONBIT RLANDBIT)> 
+<ROOM DORM-A (IN ROOMS) (DESC "Dorm A") (LDESC
+"This is a very long room lined with multi-tiered bunks. Flimsy partitions
+between the tiers may have provided a modicum of privacy. These spartan
+living quarters could have once housed many hundreds, but it seems quite
+deserted now. There are openings at the north and south ends of the room.") (
+C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (SOUTH TO SANFAC-A) (NORTH TO
+REC-CORRIDOR) (FLAGS FLOYDBIT ONBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION"
+PARTITION-PSEUDO)> 
+<ROOM SANFAC-A (IN ROOMS) (DESC "SanFac A") (LDESC
+"This must be the sanitary facility for the adjacent dormitory. The fixtures
+are dry and dusty, the room dead and deserted. You marvel at how little the
+millenia and cultural gulfs have changed toilet bowl design. The only exit is
+north.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (NORTH TO DORM-A) (FLAGS
+ONBIT RLANDBIT FLOYDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET"
+TOILET-PSEUDO)> 
+<ROOM DORM-B (IN ROOMS) (DESC "Dorm B") (LDESC
+"This is a very long room lined with multi-tiered bunks. Flimsy partitions
+between the tiers may have provided a modicum of privacy. These spartan
+living quarters could have once housed many hundreds, but it seems quite
+deserted now. There are openings at the north and south ends of the room.") (
+C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (SOUTH TO REC-CORRIDOR) (NORTH TO
+SANFAC-B) (FLAGS FLOYDBIT ONBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION"
+PARTITION-PSEUDO)> 
+<ROOM SANFAC-B (IN ROOMS) (DESC "SanFac B") (LDESC
+"This must be the sanitary facility for the adjacent dormitory. The fixtures
+are dry and dusty, the room dead and deserted. You marvel at how little the
+millenia and cultural gulfs have changed toilet bowl design. The only exit is
+south.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (SOUTH TO DORM-B) (FLAGS
+FLOYDBIT ONBIT RLANDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET"
+TOILET-PSEUDO)> 
+<ROOM DORM-C (IN ROOMS) (DESC "Dorm C") (LDESC
+"This is a very long room lined with multi-tiered bunks. Flimsy partitions
+between the tiers may have provided a modicum of privacy. These spartan
+living quarters could have once housed many hundreds, but it seems quite
+deserted now. There are openings at the north and south ends of the room.") (
+C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (NORTH TO DORM-CORRIDOR) (SOUTH TO
+SANFAC-C) (FLAGS ONBIT FLOYDBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION"
+PARTITION-PSEUDO)> 
+<ROOM SANFAC-C (IN ROOMS) (DESC "SanFac C") (LDESC
+"This must be the sanitary facility for the adjacent dormitory. The fixtures
+are dry and dusty, the room dead and deserted. You marvel at how little the
+millenia and cultural gulfs have changed toilet bowl design. The only exit is
+north.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (NORTH TO DORM-C) (FLAGS
+FLOYDBIT ONBIT RLANDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET"
+TOILET-PSEUDO)> 
+<ROOM DORM-D (IN ROOMS) (DESC "Dorm D") (LDESC
+"This is a very long room lined with multi-tiered bunks. Flimsy partitions
+between the tiers may have provided a modicum of privacy. These spartan
+living quarters could have once housed many hundreds, but it seems quite
+deserted now. There are openings at the north and south ends of the room.") (
+C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (SOUTH TO DORM-CORRIDOR) (NORTH TO
+SANFAC-D) (FLAGS FLOYDBIT ONBIT RLANDBIT) (GLOBAL BED) (PSEUDO "PARTITION"
+PARTITION-PSEUDO)> 
+<ROOM SANFAC-D (IN ROOMS) (DESC "SanFac D") (LDESC
+"This must be the sanitary facility for the adjacent dormitory. The fixtures
+are dry and dusty, the room dead and deserted. You marvel at how little the
+millenia and cultural gulfs have changed toilet bowl design. The only exit is
+south.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (SOUTH TO DORM-D) (FLAGS
+ONBIT FLOYDBIT RLANDBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET"
+TOILET-PSEUDO)> 
+<ROOM MESS-CORRIDOR (IN ROOMS) (DESC "Mess Corridor") (C-MOVE <TABLE 0 0 0 0 0
+0 0 0 0 0 0 0>) (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)> 
+<DEFINE-ROUTINE MESS-CORRIDOR-F> 
+<OBJECT STORAGE-WEST-DOOR (IN LOCAL-GLOBALS) (DESC "door") (SYNONYM DOOR) (
+FLAGS DOORBIT NDESCBIT) (ACTION STORAGE-WEST-DOOR-F)> 
+<DEFINE-ROUTINE STORAGE-WEST-DOOR-F> 
+<OBJECT PADLOCK (IN MESS-CORRIDOR) (DESC "padlock") (SYNONYM PADLOCK PAD LOCK)
+(ADJECTIVE SIMPLE STEEL METAL) (SIZE 10) (FLAGS MUNGBIT NDESCBIT TAKEBIT
+TRYTAKEBIT) (ACTION PADLOCK-F)> 
+<GLOBAL PADLOCK-REMOVED <> %<> WORD> 
+<DEFINE-ROUTINE PADLOCK-F> 
+<ROOM STORAGE-WEST (IN ROOMS) (DESC "Storage West") (LDESC
+"This is a small room obviously intended as a storage area.") (C-MOVE <TABLE 0
+0 0 0 0 0 0 0 0 0 0 0>) (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)> 
+<OBJECT CAN (IN STORAGE-WEST) (DESC "tin can") (LDESC
+"There is a large tin can, labelled \"Spam and Egz,\" sitting here.") (FDESC
+"On a small shelf is a large, unopened tin can. It has a plain white
+label which reads \"Spam and Egz.\"") (SIZE 15) (SYNONYM CAN) (ADJECTIVE LARGE
+TIN UNOPENED) (FLAGS TAKEBIT) (ACTION CAN-F)> 
+<DEFINE-ROUTINE CAN-F> 
+<OBJECT LADDER (IN STORAGE-WEST) (DESC "ladder") (FDESC
+"A heavy-duty extendable ladder is leaning against the rear wall.") (LDESC
+"There is a large aluminum ladder here.") (SYNONYM LADDER) (ADJECTIVE HEAVY
+DUTY ALUMINUM LARGE) (SIZE 80) (FLAGS TAKEBIT) (ACTION LADDER-F)> 
+<GLOBAL LADDER-EXTENDED <> %<> WORD> 
+<GLOBAL LADDER-FLAG <> %<> WORD> 
+<DEFINE-ROUTINE LADDER-F> 
+<ROOM DORM-CORRIDOR (IN ROOMS) (DESC "Dorm Corridor") (LDESC
+"This is a wide, east-west hallway with openings to the north and south.
+To the east, the corridor stretches off into the distance. That section of
+the hallway is lined with a motorized walkway (no longer running) that
+was probably intended to transport people or cargo down that tremendously
+long hall.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 160 0 0>) (NORTH TO DORM-D) (
+SOUTH TO DORM-C) (WEST TO MESS-CORRIDOR) (EAST PER LONG-HALL-F) (FLAGS ONBIT
+RLANDBIT) (PSEUDO "WALKWAY" WALKWAY-PSEUDO)> 
+<ROOM MESS-HALL (IN ROOMS) (DESC "Mess Hall") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0
+0 0 0>) (NORTH TO MESS-CORRIDOR) (OUT TO MESS-CORRIDOR) (SOUTH TO KITCHEN IF
+KITCHEN-DOOR IS OPEN) (IN TO KITCHEN IF KITCHEN-DOOR IS OPEN) (GLOBAL TABLES
+KITCHEN-DOOR SLOT) (FLAGS ONBIT FLOYDBIT RLANDBIT) (PSEUDO "BENCH" BENCH-PSEUDO
+"BENCHE" BENCH-PSEUDO) (ACTION MESS-HALL-F)> 
+<DEFINE-ROUTINE MESS-HALL-F> 
+<OBJECT KITCHEN-DOOR (IN LOCAL-GLOBALS) (DESC "door") (SYNONYM DOOR) (ADJECTIVE
+KITCHEN) (FLAGS DOORBIT NDESCBIT) (ACTION KITCHEN-DOOR-F)> 
+<DEFINE-ROUTINE KITCHEN-DOOR-F> 
+<ROOM KITCHEN (IN ROOMS) (DESC "Kitchen") (LDESC
+"This is the food production and dispensary area for the dining hall to the
+north. Of particular interest is a machine near the door. You should probably
+examine it more closely.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (NORTH TO
+MESS-HALL) (OUT TO MESS-HALL) (GLOBAL KITCHEN-DOOR) (PSEUDO "SPOUT"
+SPOUT-PSEUDO "BUTTON" BUTTON-PSEUDO) (FLAGS ONBIT RLANDBIT) (VALUE 4)> 
+<OBJECT DISPENSER (IN KITCHEN) (DESC "dispenser unit") (SYNONYM UNIT NICHE
+MACHIN DISPEN) (ADJECTIVE DISPEN) (FLAGS MUNGBIT CONTBIT SEARCHBIT OPENBIT
+TRANSBIT NDESCBIT) (ACTION DISPENSER-F)> 
+<OBJECT CANTEEN (IN MESS-HALL) (DESC "canteen") (FDESC
+"Although the room is quite barren, an octagonally-shaped
+canteen is sitting on one of the benches.") (SYNONYM CANTEEN) (ADJECTIVE
+OCTAGONAL) (CAPACITY 5) (SIZE 10) (FLAGS TAKEBIT CONTBIT SEARCHBIT)> 
+<DEFINE-ROUTINE DISPENSER-F> 
+<OBJECT HIGH-PROTEIN (DESC "quantity of protein-rich liquid") (SYNONYM LIQUID
+FLUID FOOD QUANTITY) (ADJECTIVE BROWN PROTEIN-RICH) (SIZE 5) (FLAGS FOODBIT) (
+ACTION HIGH-PROTEIN-F)> 
+<DEFINE-ROUTINE HIGH-PROTEIN-F> 
+<DEFINE-ROUTINE WORTHLESS-ACTION> 
+<ROOM CORRIDOR-JUNCTION (IN ROOMS) (DESC "Corridor Junction") (LDESC
+"A north-south corridor intersects the main corridor here. To the west, the
+main corridor extends as far as you can see; a non-working walkway from
+that direction ends here. To the east, the corridor widens into a well-lit
+area.") (C-MOVE <TABLE 0 0 0 0 0 160 0 0 0 30 0 0>) (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)> 
+<DEFINE-ROUTINE LONG-HALL-F> 
+<ROOM ADMIN-CORRIDOR-S (IN ROOMS) (DESC "Admin Corridor South") (LDESC
+"This section of hallway seems to have suffered some minor structural
+damage. The walls are cracked, and a jagged crevice crosses the floor.
+An opening leads east and the corridor heads north and south.") (C-MOVE <TABLE
+0 0 0 0 0 0 0 0 0 0 0 0>) (SOUTH TO CORRIDOR-JUNCTION) (NORTH TO ADMIN-CORRIDOR
+) (EAST TO SANFAC-E) (FLAGS RLANDBIT ONBIT) (ACTION ADMIN-CORRIDOR-S-F)> 
+<DEFINE-ROUTINE ADMIN-CORRIDOR-S-F> 
+<OBJECT CREVICE (IN ADMIN-CORRIDOR-S) (DESC "crevice") (SYNONYM CREVICE CRACK
+HOLE) (ADJECTIVE NARROW JAGGED) (FLAGS NDESCBIT) (ACTION CREVICE-F)> 
+<DEFINE-ROUTINE CREVICE-F> 
+<OBJECT KEY (IN ADMIN-CORRIDOR-S) (DESC "key") (FDESC
+"Lying at the bottom of a narrow crevice is a shiny object.") (SIZE 3) (SYNONYM
+KEY METAL OBJECT) (ADJECTIVE PIECE STEEL IRON SHINY) (FLAGS ACIDBIT TAKEBIT
+TOOLBIT INVISIBLE TRYTAKEBIT) (ACTION KEY-F)> 
+<DEFINE-ROUTINE KEY-F> 
+<ROOM ADMIN-CORRIDOR (IN ROOMS) (DESC "Admin Corridor") (C-MOVE <TABLE 0 0 0 0
+0 0 0 0 0 0 0 0>) (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)> 
+<DEFINE-ROUTINE ADMIN-CORRIDOR-F> 
+<ROOM ADMIN-CORRIDOR-N (IN ROOMS) (DESC "Admin Corridor North") (C-MOVE <TABLE
+0 0 0 0 0 0 0 0 0 0 0 0>) (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)> 
+<DEFINE-ROUTINE ADMIN-CORRIDOR-N-F> 
+<DEFINE-ROUTINE LADDER-EXIT-F> 
+<OBJECT RIFT (IN LOCAL-GLOBALS) (DESC "rift") (SYNONYM RIFT GULF PRECIPICE HOLE
+) (ADJECTIVE WIDE DEEP GAPING) (FLAGS NDESCBIT) (ACTION RIFT-F)> 
+<DEFINE-ROUTINE RIFT-F> 
+<ROOM SANFAC-E (IN ROOMS) (DESC "SanFac E") (LDESC
+"Here is another sanitary facility. Like the others, it is dusty and
+non-functional.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (WEST TO
+ADMIN-CORRIDOR-S) (OUT TO ADMIN-CORRIDOR-S) (FLAGS FLOYDBIT RLANDBIT ONBIT) (
+PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET" TOILET-PSEUDO)> 
+<ROOM SYSTEMS-MONITORS (IN ROOMS) (DESC "Systems Monitors") (C-MOVE <TABLE 0 0
+0 0 0 0 0 0 0 0 0 0>) (EAST TO ADMIN-CORRIDOR) (OUT TO ADMIN-CORRIDOR) (FLAGS
+FLOYDBIT RLANDBIT ONBIT) (GLOBAL TABLES) (PSEUDO "MONITORS" MONITORS-PSEUDO
+"EQUIPM" EQUIPMENT-PSEUDO) (ACTION SYSTEMS-MONITORS-F)> 
+<DEFINE-ROUTINE SYSTEMS-MONITORS-F> 
+<DEFINE-ROUTINE DESCRIBE-MONITORS> 
+<ROOM PLAN-ROOM (IN ROOMS) (DESC "Plan Room") (LDESC
+"This is a small room whose far wall is covered with many small cubbyholes,
+all empty. The left wall is covered with an enormous map, labelled
+\"Kalamontee Kompleks\", showing two installations connected by a long
+hallway. Near the upper part of this map is a red arrow saying \"Yuu ar
+heer.\" The right wall is covered with a similar map, labelled \"Lawanda
+Kompleks\", showing two installations, one apparently buried deep
+underground.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (WEST TO
+ADMIN-CORRIDOR-N) (FLAGS RLANDBIT ONBIT FLOYDBIT) (PSEUDO "CUBBYHOLE"
+CUBBYHOLE-PSEUDO "MAPS" MAPS-PSEUDO)> 
+<ROOM TRANSPORTATION-SUPPLY (IN ROOMS) (DESC "Transportation Supply") (LDESC
+"You have just located a serious bug.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>
+) (SOUTH TO ADMIN-CORRIDOR-N) (NORTH TO TRANSPORTATION-SUPPLY) (EAST TO
+TRANSPORTATION-SUPPLY) (WEST TO TRANSPORTATION-SUPPLY) (OUT TO ADMIN-CORRIDOR-N
+) (FLAGS RLANDBIT)> 
+<ROOM SMALL-OFFICE (IN ROOMS) (DESC "Small Office") (LDESC
+"You have entered a small office of some sort. A small desk faces the main
+doorway which lies to the east. Another exit leads west.") (C-MOVE <TABLE 0 0 0
+0 0 0 0 0 0 0 0 0>) (EAST TO ADMIN-CORRIDOR-N) (WEST TO LARGE-OFFICE) (FLAGS
+RLANDBIT FLOYDBIT ONBIT)> 
+<OBJECT SMALL-DESK (IN SMALL-OFFICE) (DESC "small desk") (SYNONYM DESK DRAWER)
+(ADJECTIVE SMALL) (CAPACITY 10) (FLAGS NDESCBIT CONTBIT SEARCHBIT) (ACTION
+DESK-F)> 
+<OBJECT KITCHEN-CARD (IN SMALL-DESK) (DESC "kitchen access card") (SYNONYM CARD
+CARDS) (ADJECTIVE KITCHEN ACCESS) (SIZE 3) (FLAGS TAKEBIT READBIT) (TEXT
+"The card is embossed \"kitcin akses kard.\"") (VALUE 1)> 
+<OBJECT UPPER-ELEVATOR-CARD (IN SMALL-DESK) (DESC "upper elevator access card")
+(SYNONYM CARD CARDS) (ADJECTIVE UPPER ELEVATOR ACCESS) (SIZE 3) (FLAGS VOWELBIT
+TAKEBIT READBIT) (TEXT "The card is embossed \"upur elivaatur akses kard.\"") (
+VALUE 1)> 
+<OBJECT SHUTTLE-CARD (IN LARGE-DESK) (DESC "shuttle access card") (SYNONYM CARD
+CARDS) (ADJECTIVE SHUTTL ACCESS) (SIZE 3) (FLAGS TAKEBIT READBIT) (TEXT
+"The card is embossed \"shutul akses kard.\"") (VALUE 1)> 
+<OBJECT LOWER-ELEVATOR-CARD (DESC "lower elevator access card") (SYNONYM CARD
+CARDS) (ADJECTIVE LOWER ELEVATOR ACCESS) (SIZE 3) (FLAGS TAKEBIT READBIT) (TEXT
+"The card is embossed \"loowur elivaatur akses kard.\"") (VALUE 1)> 
+<ROOM LARGE-OFFICE (IN ROOMS) (DESC "Large Office") (LDESC
+"This is a large, plush office. The far wall is one large picture window,
+scratched but unbroken, offering a view of this installation and the ocean
+beyond. In front of the window is a wide wooden desk. The only exit is east.")
+(C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (EAST TO SMALL-OFFICE) (FLAGS FLOYDBIT
+RLANDBIT ONBIT) (GLOBAL WINDOW OCEAN)> 
+<OBJECT LARGE-DESK (IN LARGE-OFFICE) (DESC "large desk") (SYNONYM DESK DRAWER)
+(ADJECTIVE LARGE WIDE WOODEN) (CAPACITY 20) (FLAGS CONTBIT SEARCHBIT NDESCBIT)
+(ACTION DESK-F)> 
+<DEFINE-ROUTINE DESK-F> 
+<ROOM MECH-CORRIDOR-N (IN ROOMS) (DESC "Mech Corridor North") (LDESC
+"Entrances to rooms lie to the east and west from this north-south hall.") (
+C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (EAST TO STORAGE-EAST) (WEST TO
+PHYSICAL-PLANT) (NORTH TO CORRIDOR-JUNCTION) (SOUTH TO MECH-CORRIDOR) (FLAGS
+RLANDBIT ONBIT)> 
+<ROOM MECH-CORRIDOR (IN ROOMS) (DESC "Mech Corridor") (LDESC
+"Entrances to rooms lie to the east and west from this north-south hall.") (
+C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (EAST TO REACTOR-CONTROL) (WEST TO
+PHYSICAL-PLANT) (NORTH TO MECH-CORRIDOR-N) (SOUTH TO MECH-CORRIDOR-S) (FLAGS
+RLANDBIT ONBIT)> 
+<ROOM MECH-CORRIDOR-S (IN ROOMS) (DESC "Mech Corridor South") (LDESC
+"The corridor ends here with doorways to the southwest, south, and southeast.")
+(C-MOVE <TABLE 0 0 0 0 0 0 25 0 25 0 0 0>) (NORTH TO MECH-CORRIDOR) (SW TO
+TOOL-ROOM) (SOUTH TO MACHINE-SHOP) (SE TO ROBOT-SHOP) (FLAGS RLANDBIT ONBIT)> 
+<ROOM STORAGE-EAST (IN ROOMS) (DESC "Storage East") (LDESC
+"A small room for storage. The exit is to the west.") (C-MOVE <TABLE 0 0 0 0 0
+0 0 0 0 0 0 0>) (WEST TO MECH-CORRIDOR-N) (FLAGS RLANDBIT FLOYDBIT ONBIT) (
+GLOBAL SHELVES)> 
+<OBJECT OIL-CAN (IN STORAGE-EAST) (DESC "oil can") (FDESC
+"One dusty shelf, otherwise bare, holds a small oil can.") (SYNONYM CAN) (
+ADJECTIVE SMALL OIL) (SIZE 10) (FLAGS VOWELBIT TAKEBIT) (ACTION OIL-CAN-F)> 
+<DEFINE-ROUTINE OIL-CAN-F> 
+<OBJECT CARTON (IN STORAGE-EAST) (DESC "cardboard box") (FDESC
+"On the floor beneath the shelves sits a small cardboard box.") (SYNONYM BOX
+CARTON) (ADJECTIVE SMALL CARDBOARD) (SIZE 10) (CAPACITY 50) (FLAGS TAKEBIT
+CONTBIT SEARCHBIT OPENBIT) (ACTION CARTON-F)> 
+<DEFINE-ROUTINE CARTON-F> 
+<OBJECT CRACKED-BOARD (IN CARTON) (DESC
+"cracked seventeen-centimeter fromitz board") (SYNONYM BOARD BOARDS) (ADJECTIVE
+CRACKED SEVENTEEN CENTIMETER FROMITZ) (SIZE 10) (FLAGS ACIDBIT TAKEBIT) (ACTION
+CRACKED-BOARD-F)> 
+<DEFINE-ROUTINE CRACKED-BOARD-F> 
+<OBJECT MEGAFUSE-B (IN CARTON) (DESC "B-series megafuse") (SYNONYM FUSE
+MEGAFUSE) (ADJECTIVE B-SERIES B SERIES MEGA) (SIZE 5) (FLAGS ACIDBIT TAKEBIT)> 
+<OBJECT MEGAFUSE-K (IN CARTON) (DESC "K-series megafuse") (SYNONYM FUSE
+MEGAFUSE) (ADJECTIVE K-SERIES K SERIES MEGA) (SIZE 5) (FLAGS ACIDBIT TAKEBIT)> 
+<OBJECT GOOD-BEDISTOR (IN CARTON) (DESC "good ninety-ohm bedistor") (SYNONYM
+BEDISTOR) (ADJECTIVE GOOD NINETY OHM) (SIZE 8) (FLAGS ACIDBIT TAKEBIT) (ACTION
+GOOD-BEDISTOR-F)> 
+<DEFINE-ROUTINE GOOD-BEDISTOR-F> 
+<ROOM PHYSICAL-PLANT (IN ROOMS) (DESC "Physical Plant") (LDESC
+"This is a huge, dim room with exits in the northeast and southeast
+corners. The room is criss-crossed with catwalks and is filled with
+heavy equipment presumably intended to heat and ventilate this complex.
+Hardly any of the equipment is still operating.") (C-MOVE <TABLE 0 0 0 0 0 0 0
+0 0 0 0 0>) (NE TO MECH-CORRIDOR-N) (SE TO MECH-CORRIDOR) (FLAGS FLOYDBIT
+RLANDBIT ONBIT) (PSEUDO "EQUIPM" EQUIPMENT-PSEUDO "CATWALK" CATWALK-PSEUDO)> 
+<ROOM REACTOR-CONTROL (IN ROOMS) (DESC "Reactor Control") (LDESC
+"This room contains many dials and gauges for controlling a massive planetary
+power reactor which, according to a diagram on the wall, must be buried far
+below this very complex. The exit is to the west. To the east is a metal door,
+and next to it, a button. A dark stairway winds downward.") (C-MOVE <TABLE 0 0
+20 0 0 0 0 0 0 0 0 0>) (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)> 
+<ROOM REACTOR-ACCESS-STAIRS (IN ROOMS) (DESC "Reactor Access Stairs") (LDESC
+"You have just located a serious bug.") (C-MOVE <TABLE 0 0 0 30 0 0 0 0 0 0 0 0
+>) (DOWN TO REACTOR-ACCESS-STAIRS) (UP TO REACTOR-CONTROL) (FLAGS RLANDBIT) (
+GLOBAL STAIRS)> 
+<OBJECT REACTOR-ELEVATOR-DOOR (IN LOCAL-GLOBALS) (DESC "reactor elevator door")
+(SYNONYM DOOR) (ADJECTIVE REACTOR ELEVATOR) (FLAGS DOORBIT) (ACTION
+REACTOR-ELEVATOR-DOOR-F)> 
+<DEFINE-ROUTINE REACTOR-ELEVATOR-DOOR-F> 
+<DEFINE-ROUTINE I-REACTOR-DOOR-CLOSE> 
+<ROOM REACTOR-ELEVATOR (IN ROOMS) (DESC "Reactor Elevator") (LDESC
+"This is an elevator with a door to the west, currently open. A control panel
+contains an Up button, a Down button, and a small slot.") (C-MOVE <TABLE 0 0 0
+0 0 0 0 0 0 0 0 0>) (WEST TO REACTOR-CONTROL) (OUT TO REACTOR-CONTROL) (FLAGS
+RLANDBIT ONBIT) (GLOBAL REACTOR-ELEVATOR-DOOR SLOT ELEVATOR-BUTTON CONTROLS)> 
+<ROOM TOOL-ROOM (IN ROOMS) (DESC "Tool Room") (LDESC
+"This is apparently a storage room for tools. Exits lead northeast and east.")
+(C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 25 0>) (NE TO MECH-CORRIDOR-S) (EAST TO
+MACHINE-SHOP) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL SHELVES)> 
+<OBJECT FLASK (IN TOOL-ROOM) (DESC "glass flask") (FDESC
+"Sitting on the floor below the lowest shelf is a large glass flask.") (SYNONYM
+FLASK) (ADJECTIVE GLASS LARGE PLASTIC) (SIZE 10) (CAPACITY 2) (FLAGS CONTBIT
+SEARCHBIT OPENBIT TAKEBIT) (ACTION FLASK-F)> 
+<DEFINE-ROUTINE FLASK-F> 
+<OBJECT MAGNET (IN TOOL-ROOM) (SIZE 10) (DESC "curved metal bar") (FDESC
+"On an upper shelf is a metal bar, curved into a U-shape.") (SYNONYM MAGNET BAR
+) (ADJECTIVE CURVED METAL HORSESHOE) (FLAGS TRYTAKEBIT TAKEBIT) (ACTION
+MAGNET-F)> 
+<DEFINE-ROUTINE MAGNET-F> 
+<DEFINE-ROUTINE I-MAGNET> 
+<OBJECT PLIERS (IN TOOL-ROOM) (DESC "pair of wide-nosed pliers") (SYNONYM PAIR
+PLIERS) (ADJECTIVE WIDE-NOSED WIDE NOSED) (SIZE 15) (FLAGS TAKEBIT)> 
+<ROOM MACHINE-SHOP (IN ROOMS) (DESC "Machine Shop") (C-MOVE <TABLE 0 0 0 0 0 0
+0 0 0 0 0 0>) (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)> 
+<DEFINE-ROUTINE MACHINE-SHOP-F> 
+<OBJECT CHEMICAL-DISPENSER (IN MACHINE-SHOP) (DESC "chemical dispenser") (
+SYNONYM DISPEN MACHIN) (ADJECTIVE DISPEN LARGE CHEMICAL) (FLAGS MUNGBIT
+NDESCBIT) (ACTION CHEMICAL-DISPENSER-F)> 
+<GLOBAL SPOUT-PLACED <> %<> WORD> 
+<DEFINE-ROUTINE CHEMICAL-DISPENSER-F> 
+<OBJECT RED-BUTTON (IN MACHINE-SHOP) (DESC "red button") (SYNONYM BUTTON) (
+ADJECTIVE RED) (FLAGS NDESCBIT) (C-MOVE 1) (ACTION CHEM-BUTTON-F)> 
+<OBJECT BLUE-BUTTON (IN MACHINE-SHOP) (DESC "blue button") (SYNONYM BUTTON) (
+ADJECTIVE BLUE) (FLAGS NDESCBIT) (C-MOVE 2) (ACTION CHEM-BUTTON-F)> 
+<OBJECT GREEN-BUTTON (IN MACHINE-SHOP) (DESC "green button") (SYNONYM BUTTON) (
+ADJECTIVE GREEN) (FLAGS NDESCBIT) (C-MOVE 3) (ACTION CHEM-BUTTON-F)> 
+<OBJECT YELLOW-BUTTON (IN MACHINE-SHOP) (DESC "yellow button") (SYNONYM BUTTON)
+(ADJECTIVE YELLOW) (FLAGS NDESCBIT) (C-MOVE 4) (ACTION CHEM-BUTTON-F)> 
+<OBJECT GRAY-BUTTON (IN MACHINE-SHOP) (DESC "gray button") (SYNONYM BUTTON) (
+ADJECTIVE GRAY GREY) (FLAGS NDESCBIT) (C-MOVE 5) (ACTION CHEM-BUTTON-F)> 
+<OBJECT BROWN-BUTTON (IN MACHINE-SHOP) (DESC "brown button") (SYNONYM BUTTON) (
+ADJECTIVE BROWN) (FLAGS NDESCBIT) (C-MOVE 6) (ACTION CHEM-BUTTON-F)> 
+<OBJECT BLACK-BUTTON (IN MACHINE-SHOP) (DESC "black button") (SYNONYM BUTTON) (
+ADJECTIVE BLACK) (FLAGS NDESCBIT) (C-MOVE 7) (ACTION CHEM-BUTTON-F)> 
+<OBJECT ROUND-WHITE-BUTTON (IN MACHINE-SHOP) (DESC "round white button") (
+SYNONYM BUTTON) (ADJECTIVE WHITE ROUND) (FLAGS NDESCBIT) (C-MOVE 8) (ACTION
+CHEM-BUTTON-F)> 
+<OBJECT SQUARE-WHITE-BUTTON (IN MACHINE-SHOP) (DESC "square white button") (
+SYNONYM BUTTON) (ADJECTIVE SQUARE WHITE) (FLAGS NDESCBIT) (C-MOVE 9) (ACTION
+CHEM-BUTTON-F)> 
+<GLOBAL CHEMICAL-FLAG 0 %<> WORD> 
+<GLOBAL COLOR-LTBL <PLTABLE "red" "blue" "green" "yellow" "gray" "brown"
+"black" "clear" "clear"> %<> WORD> 
+<DEFINE-ROUTINE CHEM-BUTTON-F> 
+<ROOM ROBOT-SHOP (IN ROOMS) (DESC "Robot Shop") (LDESC
+"This room, with exits west and northwest, is filled with robot-like
+devices of every conceivable description, all in various states of
+disassembly.") (C-MOVE <TABLE 0 0 0 0 25 0 0 0 0 0 0 0>) (WEST TO MACHINE-SHOP)
+(NW TO MECH-CORRIDOR-S) (FLAGS RLANDBIT FLOYDBIT ONBIT) (PSEUDO "DEVICE"
+DEVICES-PSEUDO)> 
+<OBJECT FLOYD (IN ROBOT-SHOP) (DESC "multiple purpose robot") (FDESC
+"Only one robot, about four feet high, looks even remotely close to being
+in working order.") (SYNONYM FLOYD COMPAR ROBOT COMPAN) (ADJECTIVE MULTIP
+PURPOS DIM- DIM WITTED) (FLAGS CONTBIT SEARCHBIT TRANSBIT OPENBIT LIGHTBIT) (
+CAPACITY 5) (ACTION FLOYD-F)> 
+<GLOBAL CARD-STOLEN <> %<> WORD> 
+<DEFINE-ROUTINE FLOYD-F> 
+<DEFINE-ROUTINE FLOYDS-FAMOUS-DOOR-ROUTINE> 
+<DEFINE-ROUTINE FLUSH> 
+<DEFINE-ROUTINE FLOYD-INTO-LAB> 
+<DEFINE-ROUTINE FLOYD-NOT-HAVE> 
+<GLOBAL FLOYD-SCORE-FLAG <> %<> WORD> 
+<GLOBAL FLOYD-SPOKE <> %<> WORD> 
+<GLOBAL FLOYD-FOLLOW <> %<> WORD> 
+<GLOBAL FLOYD-REACTIVATED <> %<> WORD> 
+<GLOBAL FLOYD-INTRODUCED <> %<> WORD> 
+<DEFINE-ROUTINE FLOYD-COMES-ALIVE> 
+<DEFINE-ROUTINE I-FLOYD> 
+<DEFINE-ROUTINE CALL-ME-FLOYD> 
+<DEFINE-ROUTINE KLUDGE> 
+<OBJECT DEAD-FLOYD (DESC "mangled robot") (LDESC
+"Your former companion, Floyd, is lying on the ground in a pool of oil.") (
+SYNONYM FLOYD ROBOT COMPAN) (ADJECTIVE MANGLE DEAD FORMER) (ACTION DEAD-FLOYD-F
+)> 
+<DEFINE-ROUTINE DEAD-FLOYD-F> 
+<GLOBAL FLOYDISMS <PLTABLE "paces impatiently"
+"absent-mindedly recites the first six hundred digits of pi"
+"lowers his voice and tells you the latest rumors about Dr. Fizpick"
+"recalls the time he bruised his knee" "chants the death scene from \"Carmen\""
+"cranes his neck to see what you are doing"
+"rubs his head affectionately against your shoulder"
+"asks if you want to play Hucka-Bucka-Beanstalk"
+"examines himself for signs of rust" "absent-mindedly oils one of his joints"
+"wanders restlessly around the room"
+"notices a mouse scurrying by and tries to hide behind you"
+"sings an ancient ballad, totally out of key"
+"frets about the possibility of his batteries failing"
+"reminisces about his friend Lazarus, a medical robot"
+"relates some fond memories about his robotic friend Lazarus"
+"whistles tunelessly"
+"tells you about the time he helped someone sharpen a pencil"
+"yawns and looks bored"
+"produces a crayon from one of his compartments and scrawls
+his name on the wall"> %<> WORD> 
+<ROOM ELEVATOR-LOBBY (IN ROOMS) (DESC "Elevator Lobby") (C-MOVE <TABLE 0 0 0 0
+0 30 0 0 0 0 0 0>) (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)> 
+<DEFINE-ROUTINE ELEVATOR-LOBBY-F> 
+<ROOM UPPER-ELEVATOR (IN ROOMS) (DESC "Upper Elevator") (C-MOVE <TABLE 0 0 0 0
+0 0 0 0 0 0 0 0>) (OUT PER ELEVATOR-EXIT-F) (SOUTH PER ELEVATOR-EXIT-F) (UP
+"You'll have to use the elevator controls.") (DOWN
+"You'll have to use the elevator controls.") (FLAGS RLANDBIT ONBIT) (GLOBAL
+LIGHTS CONTROLS SLOT ELEVATOR-BUTTON UPPER-ELEVATOR-DOOR) (ACTION
+UPPER-ELEVATOR-F)> 
+<DEFINE-ROUTINE UPPER-ELEVATOR-F> 
+<ROOM LOWER-ELEVATOR (IN ROOMS) (DESC "Lower Elevator") (C-MOVE <TABLE 0 0 0 0
+0 0 0 0 0 0 0 0>) (NORTH PER ELEVATOR-EXIT-F) (OUT PER ELEVATOR-EXIT-F) (UP
+"You'll have to use the elevator controls.") (DOWN
+"You'll have to use the elevator controls.") (FLAGS RLANDBIT ONBIT) (GLOBAL
+LIGHTS CONTROLS SLOT ELEVATOR-BUTTON LOWER-ELEVATOR-DOOR) (ACTION
+LOWER-ELEVATOR-F)> 
+<DEFINE-ROUTINE LOWER-ELEVATOR-F> 
+<DEFINE-ROUTINE ELEVATOR-ENTER-F> 
+<DEFINE-ROUTINE ELEVATOR-EXIT-F> 
+<OBJECT UPPER-ELEVATOR-DOOR (IN LOCAL-GLOBALS) (DESC "blue door") (SYNONYM DOOR
+) (ADJECTIVE UPPER ELEVATOR BLUE) (FLAGS NDESCBIT DOORBIT) (ACTION
+UPPER-ELEVATOR-DOOR-F)> 
+<DEFINE-ROUTINE UPPER-ELEVATOR-DOOR-F> 
+<OBJECT LOWER-ELEVATOR-DOOR (IN LOCAL-GLOBALS) (DESC "red door") (SYNONYM DOOR)
+(ADJECTIVE RED LOWER ELEVATOR METAL) (FLAGS NDESCBIT DOORBIT) (ACTION
+LOWER-ELEVATOR-DOOR-F)> 
+<DEFINE-ROUTINE LOWER-ELEVATOR-DOOR-F> 
+<DEFINE-ROUTINE DOOR-CLOSED> 
+<OBJECT BLUE-ELEVATOR-BUTTON (IN ELEVATOR-LOBBY) (DESC "blue button") (SYNONYM
+BUTTON) (ADJECTIVE BLUE NORTH) (FLAGS NDESCBIT) (ACTION BLUE-ELEVATOR-BUTTON-F)
+> 
+<OBJECT RED-ELEVATOR-BUTTON (IN ELEVATOR-LOBBY) (DESC "red button") (SYNONYM
+BUTTON) (ADJECTIVE RED SOUTH) (FLAGS NDESCBIT) (ACTION RED-ELEVATOR-BUTTON-F)> 
+<DEFINE-ROUTINE BLUE-ELEVATOR-BUTTON-F> 
+<DEFINE-ROUTINE RED-ELEVATOR-BUTTON-F> 
+<DEFINE-ROUTINE I-UPPER-ELEVATOR-ARRIVE> 
+<DEFINE-ROUTINE I-LOWER-ELEVATOR-ARRIVE> 
+<OBJECT ELEVATOR-BUTTON (IN LOCAL-GLOBALS) (DESC "button") (SYNONYM BUTTON) (
+FLAGS NDESCBIT) (ACTION ELEVATOR-BUTTON-F)> 
+<GLOBAL LOWER-ELEVATOR-UP <> %<> WORD> 
+<GLOBAL UPPER-ELEVATOR-UP T %<> WORD> 
+<GLOBAL ELEVATOR-IN-TRANSIT <> %<> WORD> 
+<GLOBAL LOWER-ELEVATOR-ON <> %<> WORD> 
+<GLOBAL UPPER-ELEVATOR-ON <> %<> WORD> 
+<DEFINE-ROUTINE ELEVATOR-BUTTON-F> 
+<DEFINE-ROUTINE I-TURNOFF-UPPER-ELEVATOR> 
+<DEFINE-ROUTINE I-TURNOFF-LOWER-ELEVATOR> 
+<GLOBAL ELEVATOR-LIGHT-OFF "A recording says \"Elevator no longer enabled.\"" %
+<> WORD> 
+<GLOBAL ELEVATOR-STARTS
+"The elevator door slides shut. After a moment, you feel a sensation of
+vertical movement." %<> WORD> 
+<DEFINE-ROUTINE I-UPPER-ELEVATOR-TRIP> 
+<DEFINE-ROUTINE I-LOWER-ELEVATOR-TRIP> 
+<DEFINE-ROUTINE ELEVATOR-DOOR-OPENS> 
+<ROOM BOOTH-2 (IN ROOMS) (DESC "Booth 2") (LDESC
+"This is a tiny room with a large \"2\" painted on the wall. A panel contains
+a slot about ten centimeters wide, a brown button labelled \"1\" and a tan
+button labelled \"3.\"") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (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)> 
+<ROOM TOWER-CORE (IN ROOMS) (DESC "Tower Core") (LDESC
+"This is a small, circular room. A sliding door leads north, and a spiral
+staircase heads upwards. Other exits lie to the northeast and southwest.") (
+C-MOVE <TABLE 0 0 0 30 0 0 0 0 0 0 0 0>) (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)> 
+<ROOM HELIPAD (IN ROOMS) (DESC "Helipad") (LDESC
+"You are at the center of a wide, flat area atop the tower. A fence
+prevents you from approaching the perimeter, so your view is limited to
+cloud-filled sky. A large vehicle, severely weathered and topped with rotor
+blades, lies nearby. A spiral staircase leads down into the tower.") (C-MOVE <
+TABLE 0 0 15 0 0 0 0 0 0 0 0 0>) (DOWN TO TOWER-CORE) (IN TO HELICOPTER) (EAST
+"A fence keeps you away from the edge, where you would probably
+be swept over the brink by the high winds.") (WEST
+"A fence keeps you away from the edge, where you would probably
+be swept over the brink by the high winds.") (NORTH
+"A fence keeps you away from the edge, where you would probably
+be swept over the brink by the high winds.") (SOUTH
+"A fence keeps you away from the edge, where you would probably
+be swept over the brink by the high winds.") (FLAGS RLANDBIT ONBIT) (PSEUDO
+"FENCE" FENCE-PSEUDO) (GLOBAL STAIRS HELICOPTER-OBJECT)> 
+<OBJECT HELICOPTER-OBJECT (IN LOCAL-GLOBALS) (DESC "large vehicle") (SYNONYM
+VEHICLE HELICOPTER) (ADJECTIVE LARGE) (FLAGS VEHBIT NDESCBIT) (ACTION
+HELICOPTER-OBJECT-F)> 
+<DEFINE-ROUTINE HELICOPTER-OBJECT-F> 
+<ROOM HELICOPTER (IN ROOMS) (DESC "Helicopter") (LDESC
+"This is a large vehicle with a lot of cargo space. A complex control panel
+is closed and locked. Everything is covered with a thick layer of rust.
+Through the windows of the vehicle you can see a wide Helipad, and beyond
+that, endless ocean far below. Several doors lead out to the Helipad.") (C-MOVE
+<TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (OUT TO HELIPAD) (FLAGS RLANDBIT ONBIT) (
+PSEUDO "LOCK" LOCK-PSEUDO) (GLOBAL OCEAN CONTROLS WINDOW HELICOPTER-OBJECT)> 
+<ROOM COMM-ROOM (IN ROOMS) (DESC "Comm Room") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0
+0 0 0>) (SW TO TOWER-CORE) (FLAGS RLANDBIT ONBIT) (GLOBAL LIGHTS) (PSEUDO
+"CABLES" CABLES-PSEUDO "ENUNCI" ENUNCIATOR-PSEUDO) (ACTION COMM-ROOM-F)> 
+<DEFINE-ROUTINE COMM-ROOM-F> 
+<GLOBAL JUST-ENTERED T %<> WORD> 
+<DEFINE-ROUTINE I-UNENTER> 
+<OBJECT RECEIVE-CONSOLE (IN COMM-ROOM) (DESC "communications receive console")
+(C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (SYNONYM CONSOLE CONTRO) (ADJECTIVE
+COMMUNICATIONS RECEIVE LEFT FIRST) (FLAGS NDESCBIT)> 
+<OBJECT PLAYBACK-BUTTON (IN COMM-ROOM) (DESC "glowing button") (SYNONYM BUTTON)
+(ADJECTIVE GLOWIN PLAYBA) (FLAGS NDESCBIT) (ACTION PLAYBACK-BUTTON-F)> 
+<DEFINE-ROUTINE PLAYBACK-BUTTON-F> 
+<OBJECT SEND-CONSOLE (IN COMM-ROOM) (DESC "communication send console") (
+SYNONYM CONSOLE CONTRO) (ADJECTIVE COMMUNICATIONS SEND RIGHT SECOND) (FLAGS
+NDESCBIT)> 
+<OBJECT COMM-SCREEN (IN COMM-ROOM) (DESC "screen") (SYNONYM COMMUNICATIONS
+MESSAGE SCREEN) (FLAGS NDESCBIT READBIT) (TEXT
+"\"Tuu enee ship uv xe Sekund Galaktik Yuunyun: Planitwiid plaag haz struk
+entiir popyuulaashun. Tiim iz kritikul. Eemurjensee asistins reekwestid.
+<reepeet mesij>\"")> 
+<OBJECT FUNNEL-HOLE (IN COMM-ROOM) (DESC "funnel-shaped hole") (SYNONYM HOLE) (
+ADJECTIVE FUNNEL SHAPED) (FLAGS NDESCBIT)> 
+<OBJECT CHEMICAL-FLUID (DESC "quantity of chemical fluid") (SYNONYM QUANTITY
+LIQUID FLUID CHEMICAL) (ADJECTIVE MILKY WHITE CHEMICAL) (ACTION
+CHEMICAL-FLUID-F)> 
+<DEFINE-ROUTINE RANDOMIZE-ORDER> 
+<GLOBAL ORDER-LTBL <LTABLE 0 0 0 0 0 0 0> %<> WORD> 
+<DEFINE-ROUTINE CHEMICAL-FLUID-F> 
+<DEFINE-ROUTINE CUBE-SEEMS> 
+<DEFINE-ROUTINE CHEMICAL-POURS> 
+<DEFINE-ROUTINE STRIP-DISSOLVES> 
+<GLOBAL COMM-SHUTDOWN <> %<> WORD> 
+<DEFINE-ROUTINE SHUTDOWN> 
+<DEFINE-ROUTINE COMM-SETUP> 
+<GLOBAL COMM-FIXED <> %<> WORD> 
+<GLOBAL CHEMICAL-REQUIRED 0 %<> WORD> 
+<GLOBAL STEPS-TO-GO 0 %<> WORD> 
+<ROOM OBSERVATION-DECK (IN ROOMS) (DESC "Observation Deck") (LDESC
+"This is a balcony girdling the tower. The view is breathtaking; the tower
+must be half a kilometer tall. From here it is clear that you are on an
+island. The dormitory section of the complex is visible on the other side
+of the island, and the rest of the complex sprawls out directly below. In
+the distance, about 20 kilometers to the east, you can spot another island
+similar to this one. The only exit is a doorway leading northeast.") (C-MOVE <
+TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (NE TO TOWER-CORE) (FLAGS RLANDBIT ONBIT) (
+GLOBAL OCEAN)> 
+<ROOM WAITING-AREA (IN ROOMS) (DESC "Waiting Area") (LDESC
+"This is a concrete platform sparsely furnished with benches. The platform
+continues to the east, and to the south is a metal door.") (C-MOVE <TABLE 0 0 0
+0 0 0 0 0 0 0 0 0>) (EAST TO KALAMONTEE-PLATFORM) (SOUTH PER
+OTHER-ELEVATOR-ENTER-F) (IN PER OTHER-ELEVATOR-ENTER-F) (PSEUDO "BENCH"
+BENCH-PSEUDO "BENCHE" BENCH-PSEUDO) (GLOBAL LOWER-ELEVATOR-DOOR) (FLAGS
+RLANDBIT ONBIT)> 
+<DEFINE-ROUTINE OTHER-ELEVATOR-ENTER-F> 
+<ROOM KALAMONTEE-PLATFORM (IN ROOMS) (DESC "Kalamontee Platform") (C-MOVE <
+TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (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)> 
+<DEFINE-ROUTINE KALAMONTEE-PLATFORM-F> 
\ No newline at end of file
diff --git a/compone.zap b/compone.zap
new file mode 100644 (file)
index 0000000..1bcb163
--- /dev/null
@@ -0,0 +1,1645 @@
+
+
+       .FUNCT  UNDERWATER-F,RARG
+       EQUAL?  RARG,M-END \FALSE
+       IGRTR?  'DROWN,2 \FALSE
+       CALL    JIGS-UP,STR?101
+       RSTACK  
+
+
+       .FUNCT  CRAG-F,RARG
+       EQUAL?  RARG,M-ENTER \FALSE
+       SET     'DROWN,3
+       RETURN  DROWN
+
+
+       .FUNCT  BALCONY-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is an octagonal room, half carved into and half built out from the cliff wall. Through the shattered windows which ring the outer wall you can see ocean to the horizon. A weathered metal plaque with barely readable lettering rests below the windows. The language seems to be a corrupt form of Galalingua. A steep stairway, roughly cut into the face of the cliff, leads upward. "
+       EQUAL?  DAY,1 \?CCL6
+       PRINTR  "A rocky crag can be seen about eight meters below."
+?CCL6: EQUAL?  DAY,2 \?CCL8
+       PRINTR  "The ocean waters swirl below. The crag where you landed yesterday is now underwater!"
+?CCL8: EQUAL?  DAY,3 \FALSE
+       PRINTR  "Ocean waters are lapping at the base of the balcony."
+
+
+       .FUNCT  WINDING-STAIR-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "The middle of a long, steep stairway carved into the face of a cliff."
+       EQUAL?  DAY,4 \?CCL6
+       PRINTR  " You hear the lapping of water from below."
+?CCL6: EQUAL?  DAY,5 \?CND4
+       PRINTR  " You can see ocean water splashing against the steps below you."
+?CND4: CRLF    
+       RTRUE   
+
+
+       .FUNCT  COURTYARD-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "You are in the courtyard of an ancient stone edifice, vaguely reminiscent of the castles you saw during your leave on Ramos Two. It has decayed to the point where it can probably be termed a ruin. Openings lead north and west, and a stairway downward is visible to the south. "
+       EQUAL?  DAY,6,7 \?CCL6
+       PRINTR  "From the direction of the stairway comes the sound of ocean surf."
+?CCL6: EQUAL?  DAY,8 \?CND4
+       PRINTR  "Ocean water washes against the top few steps."
+?CND4: CRLF    
+       RTRUE   
+
+
+       .FUNCT  WATER-LEVEL-F
+       EQUAL?  HERE,BALCONY \?CCL3
+       EQUAL?  DAY,1 \?CCL6
+       RETURN  CRAG
+?CCL6: RETURN  UNDERWATER
+?CCL3: EQUAL?  HERE,WINDING-STAIR \?CCL8
+       LESS?   DAY,4 \?CCL11
+       RETURN  BALCONY
+?CCL11:        RETURN  UNDERWATER
+?CCL8: EQUAL?  HERE,COURTYARD \FALSE
+       LESS?   DAY,6 \?CCL16
+       RETURN  WINDING-STAIR
+?CCL16:        RETURN  UNDERWATER
+
+
+       .FUNCT  REC-AREA-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a recreational facility of some sort. Games and tapes are scattered about the room. Hallways head off to the east and south, and to the north is a door which is "
+       FSET?   CONFERENCE-DOOR,OPENBIT \?CCL6
+       PRINTI  "open"
+       JUMP    ?CND4
+?CCL6: PRINTI  "closed and locked. A dial on the door is currently set to "
+       PRINTN  DIAL-NUMBER
+?CND4: PRINTR  "."
+
+
+       .FUNCT  CONFERENCE-ROOM-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a fairly square room, almost filled by a round conference table. To the south is a door which is "
+       CALL    DDESC,CONFERENCE-DOOR
+       PRINTR  ". To the north is a small room about the size of a phone booth."
+
+
+       .FUNCT  COMBINATION-DIAL-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTR  "The dial can be turned to any number between 0 and 1000."
+?CCL3: EQUAL?  PRSA,V?SET \FALSE
+       EQUAL?  PRSI,INTNUM \FALSE
+       FSET?   COMBINATION-DIAL,MUNGEDBIT \?CCL10
+       PRINTR  "The dial has somehow become fused and won't move."
+?CCL10:        EQUAL?  P-NUMBER,DIAL-NUMBER \?CCL12
+       PRINTR  "That's what the dial is set to now!"
+?CCL12:        EQUAL?  P-NUMBER,NUMBER-NEEDED \?CCL14
+       SET     'DIAL-NUMBER,0
+       FSET    CONFERENCE-DOOR,OPENBIT
+       PRINTR  "The door swings open, and the dial resets to 0."
+?CCL14:        GRTR?   P-NUMBER,1000 \?CCL16
+       PRINTR  "The dial cannot be turned to a number that high."
+?CCL16:        SET     'DIAL-NUMBER,P-NUMBER
+       PRINTI  "The dial is now set to "
+       PRINTN  P-NUMBER
+       PRINTR  "."
+
+
+       .FUNCT  CONFERENCE-DOOR-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   CONFERENCE-DOOR,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: EQUAL?  HERE,REC-AREA \?CCL9
+       PRINTR  "The door is locked. You probably have to turn the dial to some number to open it."
+?CCL9: PRINTR  "The door seems to be locked from the other side."
+?CCL3: EQUAL?  PRSA,V?CLOSE \FALSE
+       FSET?   CONFERENCE-DOOR,OPENBIT \?CCL14
+       FCLEAR  CONFERENCE-DOOR,OPENBIT
+       PRINTR  "The door closes and you hear a click as it locks."
+?CCL14:        CALL    IS-CLOSED
+       RSTACK  
+
+
+       .FUNCT  MESS-CORRIDOR-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a wide, east-west hallway with a large portal to the south. A small door to the north is "
+       CALL    DDESC,STORAGE-WEST-DOOR
+       ZERO?   PADLOCK-REMOVED \?CND4
+       PRINTI  " and hooked with a simple steel padlock"
+       FSET?   PADLOCK,OPENBIT \?CCL8
+       PRINTI  " which hangs unlocked"
+       JUMP    ?CND4
+?CCL8: PRINTI  " which is also closed"
+?CND4: PRINTR  "."
+
+
+       .FUNCT  STORAGE-WEST-DOOR-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   STORAGE-WEST-DOOR,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: ZERO?   PADLOCK-REMOVED /?CCL8
+       FSET    STORAGE-WEST-DOOR,OPENBIT
+       PRINTR  "Opened."
+?CCL8: PRINTR  "The door cannot be opened until the padlock is removed."
+?CCL3: EQUAL?  PRSA,V?CLOSE \?CCL10
+       FSET?   STORAGE-WEST-DOOR,OPENBIT \?CCL13
+       FCLEAR  STORAGE-WEST-DOOR,OPENBIT
+       PRINTR  "The door is now closed."
+?CCL13:        CALL    IS-CLOSED
+       RSTACK  
+?CCL10:        EQUAL?  PRSA,V?UNLOCK \FALSE
+       PRINTI  "The door itself isn't locked."
+       FSET?   PADLOCK,OPENBIT /?CND16
+       PRINTR  " It is the padlock on the door which is locked."
+?CND16:        CRLF    
+       RTRUE   
+
+
+       .FUNCT  PADLOCK-F
+       EQUAL?  HERE,BRIG \?CCL3
+       PRINTR  "You can't see or reach the lock from inside the cell."
+?CCL3: EQUAL?  PRSA,V?OPEN-WITH \?CCL5
+       EQUAL?  PADLOCK,PRSO \?CCL5
+       CALL    PERFORM,V?UNLOCK,PADLOCK,PRSI
+       RTRUE   
+?CCL5: EQUAL?  PRSA,V?OPEN,V?UNLOCK \?CCL9
+       FSET?   PADLOCK,OPENBIT /?CCL12
+       ZERO?   PRSI \?CCL15
+       PRINTR  "You can't open it with your hands."
+?CCL15:        EQUAL?  PRSI,KEY \?CCL17
+       FSET?   PADLOCK,MUNGEDBIT \?CCL20
+       PRINTR  "Tsk, tsk ... the padlock seems to be fused shut."
+?CCL20:        FSET    PADLOCK,OPENBIT
+       PRINTR  "The padlock springs open."
+?CCL17:        PRINTR  "That doesn't work."
+?CCL12:        PRINTR  "The padlock is already unlocked."
+?CCL9: EQUAL?  PRSA,V?LOCK,V?CLOSE \?CCL22
+       FSET?   PADLOCK,OPENBIT \?CCL25
+       FCLEAR  PADLOCK,OPENBIT
+       PRINTR  "The padlock closes with a sharp click."
+?CCL25:        PRINTR  "The padlock is already locked."
+?CCL22:        EQUAL?  PRSA,V?TAKE \?CCL27
+       ZERO?   PADLOCK-REMOVED \?CCL27
+       FSET?   PADLOCK,OPENBIT \?CCL32
+       SET     'PADLOCK-REMOVED,TRUE-VALUE
+       FCLEAR  PADLOCK,TRYTAKEBIT
+       FCLEAR  PADLOCK,NDESCBIT
+       RFALSE  
+?CCL32:        FSET?   PADLOCK,OPENBIT /FALSE
+       PRINTR  "The padlock is locked to the door."
+?CCL27:        EQUAL?  PRSA,V?MUNG \FALSE
+       PRINTR  "And, as we go into the next round, it's Padlock 1, Adventurer 0..."
+
+
+       .FUNCT  CAN-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTR  "This is a rather normal tin can. It is large and is labelled ""Spam and Egz."""
+?CCL3: EQUAL?  PRSA,V?OPEN \FALSE
+       PRINTR  "You certainly can't open it with your hands, and you don't seem to have found a can opener yet."
+
+
+       .FUNCT  LADDER-F
+       EQUAL?  PRSA,V?TAKE \?CCL3
+       ZERO?   LADDER-EXTENDED /FALSE
+       PRINTR  "You can't possibly carry the ladder while it's extended."
+?CCL3: EQUAL?  PRSA,V?EXAMINE \?CCL8
+       PRINTI  "It is a heavy-duty ladder built of sturdy aluminum tubing. It is currently "
+       ZERO?   LADDER-EXTENDED /?CCL11
+       PRINTR  "extended to its full length of about 8 meters, but could be collapsed to a shorter length for easier carrying."
+?CCL11:        PRINTR  "collapsed and is around two-and-a-half meters long, but if extended would obviously be much longer."
+?CCL8: EQUAL?  PRSA,V?OPEN \?CCL13
+       ZERO?   LADDER-EXTENDED /?CCL16
+       PRINTR  "The ladder is already extended."
+?CCL16:        EQUAL?  HERE,STORAGE-EAST,STORAGE-WEST,BOOTH-2 /?CTR17
+       EQUAL?  HERE,UPPER-ELEVATOR,LOWER-ELEVATOR \?CCL18
+?CTR17:        PRINTR  "You can't extend the ladder in this tiny space!"
+?CCL18:        IN?     LADDER,ADVENTURER \?CCL22
+       PRINTR  "You couldn't possibly extend the ladder while you're holding it."
+?CCL22:        FSET    LADDER,TRYTAKEBIT
+       SET     'LADDER-EXTENDED,TRUE-VALUE
+       SET     'C-ELAPSED,36
+       PRINTR  "The ladder extends to a length of around eight meters."
+?CCL13:        EQUAL?  PRSA,V?CLOSE \?CCL24
+       ZERO?   LADDER-EXTENDED /?CCL27
+       SET     'C-ELAPSED,21
+       ZERO?   LADDER-FLAG /?CCL30
+       SET     'LADDER-FLAG,FALSE-VALUE
+       REMOVE  LADDER
+       PRINTR  "As the ladder shortens it plunges into the rift."
+?CCL30:        SET     'LADDER-EXTENDED,FALSE-VALUE
+       FCLEAR  LADDER,TRYTAKEBIT
+       PRINTR  "The ladder collapses to a length of around two-and-a-half meters."
+?CCL27:        PRINTR  "The ladder is already in its collapsed state."
+?CCL24:        EQUAL?  PRSA,V?ATTRACT,V?SPAN \?CCL32
+       EQUAL?  PRSI,RIFT \?CCL32
+       ZERO?   LADDER-FLAG /?CCL37
+       PRINTR  "The ladder already spans the rift."
+?CCL37:        ZERO?   LADDER-EXTENDED /?CCL40
+       SET     'LADDER-FLAG,TRUE-VALUE
+       FSET    LADDER,NDESCBIT
+       PRINTR  "The ladder swings out across the rift and comes to rest on the far edge, spanning the precipice."
+?CCL40:        REMOVE  LADDER
+       PRINTR  "The ladder, far too short to reach the other edge of the rift, plunges into the rift and is lost forever."
+?CCL32:        EQUAL?  PRSA,V?CLIMB-FOO,V?CLIMB-UP \FALSE
+       ZERO?   LADDER-FLAG /?CCL45
+       PRINTR  "You can't climb a horizontal ladder!"
+?CCL45:        IN?     LADDER,ADVENTURER \FALSE
+       PRINTR  "That would be a neat trick, considering that you're holding it."
+
+
+       .FUNCT  MESS-HALL-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a large hall lined with tables and benches. An opening to the north leads back to the corridor. A door to the south is "
+       CALL    DDESC,KITCHEN-DOOR
+       PRINTR  ". Next to the door is a small slot."
+
+
+       .FUNCT  KITCHEN-DOOR-F
+       EQUAL?  PRSA,V?OPEN \FALSE
+       PRINTR  "A light flashes ""Pleez yuuz kitcin akses kard."""
+
+
+       .FUNCT  DISPENSER-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTI  "This wall-mounted unit contains an octagonal niche beneath a spout. "
+       IN?     CANTEEN,DISPENSER \?CND4
+       PRINTI  "A canteen is resting in the niche, its mouth lying just below the spout. "
+?CND4: PRINTR  "Above the spout is a button. The machine is labelled ""Hii Prooteen Likwid Dispensur."""
+?CCL3: EQUAL?  PRSA,V?CLOSE \?CCL7
+       CALL    NO-CLOSE
+       RTRUE   
+?CCL7: EQUAL?  PRSA,V?PUT \FALSE
+       EQUAL?  PRSO,CANTEEN \?CCL12
+       MOVE    CANTEEN,DISPENSER
+       PRINTR  "The canteen fits snugly into the octagonal niche, its mouth resting just below the spout of the machine."
+?CCL12:        PRINTR  "It doesn't fit in the niche."
+
+
+       .FUNCT  HIGH-PROTEIN-F,X=0
+       EQUAL?  PRSA,V?EAT \?CCL3
+       IN?     CANTEEN,ADVENTURER /?CCL6
+       SET     'PRSO,CANTEEN
+       CALL    NOT-HOLDING
+       RSTACK  
+?CCL6: ZERO?   HUNGER-LEVEL \?CCL9
+       PRINT   NOT-HUNGRY
+       CRLF    
+       RTRUE   
+?CCL9: REMOVE  HIGH-PROTEIN
+       SET     'C-ELAPSED,15
+       SET     'HUNGER-LEVEL,0
+       CALL    QUEUE,I-HUNGER-WARNINGS,3600
+       PUT     STACK,0,1
+       PRINTR  "Mmmm....that was good. It certainly quenched your thirst and satisfied your hunger."
+?CCL3: EQUAL?  PRSA,V?POUR \FALSE
+       EQUAL?  PRSO,HIGH-PROTEIN \FALSE
+       IN?     CANTEEN,ADVENTURER /?CCL16
+       PRINTR  "Maybe if you were holding the canteen..."
+?CCL16:        ZERO?   PRSI \?CND14
+       SET     'PRSI,GROUND
+?CND14:        EQUAL?  PRSI,FLASK \?CCL20
+       CALL    WORTHLESS-ACTION
+       RSTACK  
+?CCL20:        EQUAL?  PRSI,FUNNEL-HOLE \?CCL22
+       IN?     CHEMICAL-FLUID,FLASK \?CND23
+       SET     'X,TRUE-VALUE
+?CND23:        SET     'CHEMICAL-REQUIRED,10
+       REMOVE  HIGH-PROTEIN
+       CALL    PERFORM,V?POUR,CHEMICAL-FLUID,FUNNEL-HOLE
+       ZERO?   X /TRUE
+       MOVE    CHEMICAL-FLUID,FLASK
+       RTRUE   
+?CCL22:        REMOVE  HIGH-PROTEIN
+       PRINTI  "The protein-rich fluid pours over the "
+       PRINTD  PRSI
+       PRINTR  " and then dries up."
+
+
+       .FUNCT  WORTHLESS-ACTION
+       PRINTR  "A worthless action -- and much too difficult for a poorly-written program like this one to handle."
+
+
+       .FUNCT  LONG-HALL-F
+       PRINTI  "You walk down the long, featureless hallway for a long time. Finally, you see "
+       SET     'C-ELAPSED,160
+       EQUAL?  HERE,CORRIDOR-JUNCTION \?CCL3
+       PRINTI  "some doorways ahead..."
+       CRLF    
+       CRLF    
+       RETURN  DORM-CORRIDOR
+?CCL3: PRINTI  "an intersection ahead..."
+       CRLF    
+       CRLF    
+       RETURN  CORRIDOR-JUNCTION
+
+
+       .FUNCT  ADMIN-CORRIDOR-S-F,RARG
+       EQUAL?  RARG,M-END \FALSE
+       FSET?   KEY,INVISIBLE \FALSE
+       RANDOM  100
+       LESS?   20,STACK /FALSE
+       PRINTR  "You catch, out of the corner of your eye, a glint of light from the direction of the floor."
+
+
+       .FUNCT  CREVICE-F
+       EQUAL?  PRSA,V?REACH \?CCL3
+       PRINTR  "The crevice is too narrow to reach into."
+?CCL3: EQUAL?  PRSA,V?SEARCH,V?EXAMINE,V?LOOK-INSIDE \FALSE
+       FSET?   KEY,TOUCHBIT \?CCL8
+       PRINTR  "Nothing there but bunches of dust."
+?CCL8: FCLEAR  KEY,INVISIBLE
+       PRINTR  "Lying at the bottom of the narrow crack, partly covered by layers of dust, is a shiny steel key!"
+
+
+       .FUNCT  KEY-F
+       EQUAL?  PRSA,V?MOVE,V?ZATTRACT,V?TAKE \?CCL3
+       FSET?   KEY,TOUCHBIT /?CCL3
+       EQUAL?  PRSI,PLIERS \?CCL8
+       PRINTR  "These are heavy-duty pliers, too large to reach into this narrow crack."
+?CCL8: EQUAL?  PRSI,MAGNET \?CCL10
+       CALL    PERFORM,V?ATTRACT,MAGNET,KEY
+       RTRUE   
+?CCL10:        ZERO?   PRSI /?CCL12
+       PRINTR  "Nice try."
+?CCL12:        PRINTR  "Either the crevice is too narrow, or your fingers are too large."
+?CCL3: EQUAL?  PRSA,V?PUT \FALSE
+       EQUAL?  PRSI,CREVICE \FALSE
+       PRINTR  "And you wonder why you're still only an Ensign Seventh Class?"
+
+
+       .FUNCT  ADMIN-CORRIDOR-F,RARG
+       ZERO?   LADDER-FLAG /?CCL3
+       EQUAL?  RARG,M-ENTER \?CCL3
+       MOVE    LADDER,HERE
+       RTRUE   
+?CCL3: EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "The hallway, in fact the entire building, has been rent apart here, presumably by seismic upheaval. You can see the sky through the severed roof above, and the ground is thick with rubble. To the north is a gaping rift, at least eight meters across and thirty meters deep. "
+       ZERO?   LADDER-FLAG /?CND8
+       PRINTI  "A metal ladder spans the rift. "
+?CND8: PRINTR  "A wide doorway, labelled ""Sistumz Moniturz,"" leads west."
+
+
+       .FUNCT  ADMIN-CORRIDOR-N-F,RARG
+       ZERO?   LADDER-FLAG /?CCL3
+       EQUAL?  RARG,M-ENTER \?CCL3
+       MOVE    LADDER,HERE
+       RTRUE   
+?CCL3: EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "The corridor ends here. Portals lead west, north, and east. Signs above these portals read, respectively, ""Administraativ Awfisiz,"" ""Tranzportaashun Suplii,"" and ""Plan Ruum."" To the south is a wide rift"
+       ZERO?   LADDER-FLAG /?CND8
+       PRINTI  ", spanned by a metal ladder,"
+?CND8: PRINTR  " separating this area from the rest of the building."
+
+
+       .FUNCT  LADDER-EXIT-F
+       ZERO?   LADDER-FLAG /?CCL3
+       SET     'C-ELAPSED,33
+       PRINTI  "You slowly make your way across the swaying ladder. You can see sharp, pointy rocks at the bottom of the rift, far below..."
+       CRLF    
+       CRLF    
+       EQUAL?  HERE,ADMIN-CORRIDOR-N \?CCL6
+       RETURN  ADMIN-CORRIDOR
+?CCL6: RETURN  ADMIN-CORRIDOR-N
+?CCL3: PRINTI  "The rift is too wide to jump across."
+       CRLF    
+       RFALSE  
+
+
+       .FUNCT  RIFT-F
+       EQUAL?  PRSA,V?LEAP \?CCL3
+       CALL    JIGS-UP,STR?122
+       RSTACK  
+?CCL3: EQUAL?  PRSA,V?PUT \?CCL5
+       EQUAL?  RIFT,PRSI \?CCL5
+       EQUAL?  PRSO,LASER \?CND8
+       CALL    INT,I-WARMTH
+       PUT     STACK,0,0
+?CND8: REMOVE  PRSO
+       EQUAL?  PRSO,SCRUB-BRUSH \?CCL12
+       PRINTR  "You watch with tremendous satisfaction as the brush is lost forever."
+?CCL12:        PRINTI  "The "
+       PRINTD  PRSO
+       PRINTR  " sails gracefully into the rift."
+?CCL5: EQUAL?  PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE
+       PRINTR  "The rift is at least eight meters wide and more than thirty meters deep. The bottom is covered with sharp and nasty rocks."
+
+
+       .FUNCT  SYSTEMS-MONITORS-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a large room filled with tables full of strange equipment. "
+       CALL    DESCRIBE-MONITORS
+       RSTACK  
+
+
+       .FUNCT  DESCRIBE-MONITORS
+       PRINTI  "The far wall is filled with a number of monitors. Of these, the ones labelled "
+       ZERO?   DEFENSE-FIXED /?CND1
+       PRINTI  "PLANATEREE DEFENS, "
+?CND1: ZERO?   COURSE-CONTROL-FIXED /?CND3
+       PRINTI  "PLANATEREE KORS KUNTROOL, "
+?CND3: ZERO?   COMM-FIXED /?CND5
+       PRINTI  "KUMUUNIKAASHUNZ, "
+?CND5: PRINTI  "LIIBREREE, REEAKTURZ, and LIIF SUPORT are green, but the one"
+       ZERO?   DEFENSE-FIXED /?CCL8
+       ZERO?   COURSE-CONTROL-FIXED /?CCL8
+       ZERO?   COMM-FIXED \?CND7
+?CCL8: PRINTC  115
+?CND7: PRINTI  " labelled "
+       ZERO?   DEFENSE-FIXED \?CND12
+       PRINTI  "PLANATEREE DEFENS, "
+?CND12:        ZERO?   COURSE-CONTROL-FIXED \?CND14
+       PRINTI  "PLANATEREE KORS KUNTROOL, "
+?CND14:        ZERO?   COMM-FIXED \?CND16
+       PRINTI  "KUMUUNIKAASHUNZ, "
+?CND16:        ZERO?   DEFENSE-FIXED /?CCL19
+       ZERO?   COURSE-CONTROL-FIXED /?CCL19
+       ZERO?   COMM-FIXED \?CND18
+?CCL19:        PRINTI  "and "
+?CND18:        PRINTI  "PRAJEKT KUNTROOL indicate"
+       ZERO?   DEFENSE-FIXED /?CND23
+       ZERO?   COURSE-CONTROL-FIXED /?CND23
+       ZERO?   COMM-FIXED /?CND23
+       PRINTC  115
+?CND23:        PRINTR  " a malfunctioning condition."
+
+
+       .FUNCT  DESK-F
+       EQUAL?  PRSA,V?EXAMINE,V?SEARCH \FALSE
+       PRINTI  "The desk has a drawer which is currently "
+       CALL    DDESC,PRSO
+       PRINTR  "."
+
+
+       .FUNCT  OIL-CAN-F
+       EQUAL?  PRSA,V?POUR \?CCL3
+       ZERO?   PRSI \?CND4
+       SET     'PRSI,GROUND
+?CND4: CALL    PERFORM,V?OIL,PRSI
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?EMPTY \FALSE
+       PRINTR  "Pretty much impossible -- you could only do that one drop at a time."
+
+
+       .FUNCT  CARTON-F
+       EQUAL?  PRSA,V?CLOSE \FALSE
+       CALL    NO-CLOSE
+       RTRUE   
+
+
+       .FUNCT  CRACKED-BOARD-F
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       CALL    EXAMINE-BOARD
+       PRINTR  " This one looks as though it's been dropped."
+
+
+       .FUNCT  GOOD-BEDISTOR-F
+       EQUAL?  PRSA,V?TAKE \FALSE
+       ZERO?   COURSE-CONTROL-FIXED /FALSE
+       CALL    JIGS-UP,STR?137
+       RSTACK  
+
+
+       .FUNCT  REACTOR-ELEVATOR-DOOR-F
+       EQUAL?  PRSA,V?CLOSE,V?OPEN \FALSE
+       PRINTR  "It won't budge."
+
+
+       .FUNCT  I-REACTOR-DOOR-CLOSE
+       CALL    QUEUE,I-REACTOR-DOOR-CLOSE,-1
+       PUT     STACK,0,1
+       EQUAL?  HERE,REACTOR-ELEVATOR /FALSE
+       FCLEAR  REACTOR-ELEVATOR-DOOR,OPENBIT
+       EQUAL?  HERE,REACTOR-CONTROL \?CND4
+       CRLF    
+       PRINTI  "The elevator door slides shut."
+       CRLF    
+?CND4: CALL    INT,I-REACTOR-DOOR-CLOSE
+       PUT     STACK,0,0
+       RTRUE   
+
+
+       .FUNCT  FLASK-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTI  "The flask has a wide mouth and looks large enough to hold one or two liters. It is made of glass, or perhaps some tough plastic"
+       IN?     CHEMICAL-FLUID,FLASK \?CND4
+       PRINTI  ", and is filled with a milky white fluid"
+?CND4: PRINTR  "."
+?CCL3: EQUAL?  PRSA,V?CLOSE \?CCL7
+       CALL    NO-CLOSE
+       RTRUE   
+?CCL7: EQUAL?  PRSA,V?EMPTY \FALSE
+       IN?     CHEMICAL-FLUID,FLASK \FALSE
+       EQUAL?  PRSI,FUNNEL-HOLE \FALSE
+       CALL    PERFORM,V?POUR,CHEMICAL-FLUID,FUNNEL-HOLE
+       RTRUE   
+
+
+       .FUNCT  MAGNET-F
+       EQUAL?  PRSA,V?TAKE \?CCL3
+       CALL    QUEUE,I-MAGNET,-1
+       PUT     STACK,0,1
+       RFALSE  
+?CCL3: EQUAL?  PRSA,V?PUT-ON,V?ATTRACT \FALSE
+       EQUAL?  PRSO,MAGNET \?CCL8
+       IN?     MAGNET,ADVENTURER /?CCL8
+       CALL    NOT-HOLDING
+       RSTACK  
+?CCL8: FSET?   KEY,TOUCHBIT \?CCL12
+       EQUAL?  PRSI,KEY \?CCL12
+       MOVE    KEY,ADVENTURER
+       PRINTR  "The key jumps against the ends of the magnet and sticks there. Proud of your feat, you remove the key from the magnet."
+?CCL12:        FSET?   KEY,TOUCHBIT /FALSE
+       EQUAL?  PRSI,KEY,CREVICE \FALSE
+       MOVE    KEY,ADVENTURER
+       FCLEAR  KEY,INVISIBLE
+       FCLEAR  KEY,TRYTAKEBIT
+       FSET    KEY,TOUCHBIT
+       PRINTR  "With a spray of dust and a loud clank, a piece of metal leaps from the crevice and affixes itself to the magnet. It is a steel key! With a tug, you remove the key from the magnet."
+
+
+       .FUNCT  I-MAGNET
+       IN?     MAGNET,ADVENTURER \?CCL3
+       CALL    HELD?,KITCHEN-CARD
+       ZERO?   STACK /?CCL6
+       FSET    KITCHEN-CARD,SCRAMBLEDBIT
+       RFALSE  
+?CCL6: CALL    HELD?,SHUTTLE-CARD
+       ZERO?   STACK /?CCL8
+       FSET    SHUTTLE-CARD,SCRAMBLEDBIT
+       RFALSE  
+?CCL8: CALL    HELD?,TELEPORTATION-CARD
+       ZERO?   STACK /?CCL10
+       FSET    TELEPORTATION-CARD,SCRAMBLEDBIT
+       RFALSE  
+?CCL10:        CALL    HELD?,UPPER-ELEVATOR-CARD
+       ZERO?   STACK /?CCL12
+       FSET    UPPER-ELEVATOR-CARD,SCRAMBLEDBIT
+       RFALSE  
+?CCL12:        CALL    HELD?,LOWER-ELEVATOR-CARD
+       ZERO?   STACK /?CCL14
+       FSET    LOWER-ELEVATOR-CARD,SCRAMBLEDBIT
+       RFALSE  
+?CCL14:        CALL    HELD?,MINI-CARD
+       ZERO?   STACK /?CCL16
+       FSET    MINI-CARD,SCRAMBLEDBIT
+       RFALSE  
+?CCL16:        CALL    HELD?,ID-CARD
+       ZERO?   STACK /FALSE
+       FSET    ID-CARD,SCRAMBLEDBIT
+       RFALSE  
+?CCL3: CALL    INT,I-MAGNET
+       PUT     STACK,0,0
+       RFALSE  
+
+
+       .FUNCT  MACHINE-SHOP-F,RARG
+       EQUAL?  RARG,M-LOOK \?CCL3
+       PRINTI  "This room is probably some sort of machine shop filled with a variety of unusual machines. Doorways lead north, east, and west.
+
+Standing against the rear wall is a large dispensing machine with a spout. "
+       EQUAL?  SPOUT-PLACED,GROUND /?CND4
+       PRINTI  "Sitting under the spout is "
+       FSET?   SPOUT-PLACED,VOWELBIT \?CCL8
+       PRINTI  "an "
+       JUMP    ?CND6
+?CCL8: PRINTI  "a "
+?CND6: PRINTD  SPOUT-PLACED
+       PRINTI  ". "
+?CND4: PRINTR  "The dispenser is lined with brightly-colored buttons. The first four buttons, labelled ""KUULINTS 1 - 4"", are colored red, blue, green, and yellow. The next three buttons, labelled ""KATALISTS 1 - 3"", are colored gray, brown, and black. The last two buttons are both white. One of these is square and says ""BAAS."" The other white button is round and says ""ASID."""
+?CCL3: EQUAL?  RARG,M-END \FALSE
+       EQUAL?  SPOUT-PLACED,GROUND \FALSE
+       IN?     FLOYD,HERE \FALSE
+       FSET?   FLOYD,RLANDBIT \FALSE
+       RANDOM  100
+       LESS?   15,STACK /FALSE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       PRINTR  "Floyd pushes one of the dispenser buttons. Fluid pours from the spout and splashes across the floor. Floyd jumps up and down, giggling."
+
+
+       .FUNCT  CHEMICAL-DISPENSER-F
+       EQUAL?  PRSA,V?PUT-UNDER \FALSE
+       EQUAL?  PRSI,CHEMICAL-DISPENSER \FALSE
+       EQUAL?  SPOUT-PLACED,GROUND \?CCL8
+       MOVE    PRSO,HERE
+       PRINTI  "The "
+       PRINTD  PRSO
+       PRINTI  " is now sitting under the spout."
+       CRLF    
+       SET     'SPOUT-PLACED,PRSO
+       RETURN  SPOUT-PLACED
+?CCL8: PRINTI  "The "
+       PRINTD  SPOUT-PLACED
+       PRINTR  " is already resting under the spout."
+
+
+       .FUNCT  CHEM-BUTTON-F
+       EQUAL?  PRSA,V?PUSH \FALSE
+       FSET?   CHEMICAL-DISPENSER,MUNGEDBIT \?CCL6
+       PRINTR  "The machine coughs a few times, but nothing else happens."
+?CCL6: EQUAL?  SPOUT-PLACED,FLASK \?CCL8
+       IN?     CHEMICAL-FLUID,FLASK \?CCL11
+       PRINTR  "Another dose of the chemical fluid pours out of the spout, splashes over the already-full flask, spills onto the floor, and dries up."
+?CCL11:        MOVE    CHEMICAL-FLUID,FLASK
+       PRINTI  "The flask fills with some "
+       GETP    PRSO,P?C-MOVE >CHEMICAL-FLAG
+       GETP    PRSO,P?C-MOVE
+       GET     COLOR-LTBL,STACK
+       PRINT   STACK
+       PRINTR  " chemical fluid. The fluid gradually turns milky white."
+?CCL8: EQUAL?  SPOUT-PLACED,CANTEEN \?CCL13
+       FSET?   CANTEEN,OPENBIT \?CCL13
+       PRINTR  "Chemical fluid gushes from the spout. Unfortunately, the mouth of the canteen is very narrow, and the fluid just splashes over it."
+?CCL13:        PRINTI  "Some sort of chemical fluid pours out of the spout, spills all over the "
+       PRINTD  SPOUT-PLACED
+       PRINTI  ", and dries up."
+       CRLF    
+       EQUAL?  PRSO,ROUND-WHITE-BUTTON,SQUARE-WHITE-BUTTON \TRUE
+       FSET?   SPOUT-PLACED,ACIDBIT /?CCL17
+       FSET?   SPOUT-PLACED,MUNGBIT \TRUE
+?CCL17:        SET     'CHEMICAL-FLAG,9
+       CALL    PERFORM,V?POUR,CHEMICAL-FLUID,SPOUT-PLACED
+       RTRUE   
+
+
+       .FUNCT  FLOYD-F,X,N
+       EQUAL?  FLOYD,WINNER \?CCL3
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       EQUAL?  PRSA,V?GIVE \?CCL6
+       EQUAL?  PRSI,ME \?CCL6
+       SET     'WINNER,ADVENTURER
+       CALL    PERFORM,V?ASK-FOR,FLOYD,PRSO
+       RTRUE   
+?CCL6: EQUAL?  PRSA,V?SGIVE \?CCL10
+       EQUAL?  PRSO,ME \?CCL10
+       SET     'WINNER,ADVENTURER
+       CALL    PERFORM,V?ASK-FOR,FLOYD,PRSI
+       RTRUE   
+?CCL10:        EQUAL?  PRSA,V?WALK \?CCL14
+       EQUAL?  HERE,REPAIR-ROOM \?CCL17
+       EQUAL?  PRSO,P?NORTH,P?IN \?CCL17
+       CALL    FLOYD-THROUGH-HOLE
+       JUMP    ?CND15
+?CCL17:        EQUAL?  HERE,BIO-LOCK-EAST \?CCL21
+       EQUAL?  PRSO,P?EAST \?CCL21
+       CALL    FLOYD-INTO-LAB
+       JUMP    ?CND15
+?CCL21:        EQUAL?  HERE,RADIATION-LOCK-EAST \?CCL25
+       EQUAL?  PRSO,P?EAST \?CCL25
+       PRINTI  """After you."""
+       CRLF    
+       JUMP    ?CND15
+?CCL25:        PRINTI  "Floyd looks slightly embarrassed. ""You know me and my sense of direction."" Then he looks up at you with wide, trusting eyes. ""Tell Floyd a story?"""
+       CRLF    
+?CND15:        CALL    FLUSH
+       ZERO?   STACK /TRUE
+       RETURN  2
+?CCL14:        EQUAL?  PRSA,V?THROUGH \?CCL33
+       CALL    FLOYDS-FAMOUS-DOOR-ROUTINE
+       CALL    FLUSH
+       ZERO?   STACK /TRUE
+       RETURN  2
+?CCL33:        EQUAL?  PRSA,V?TAKE \?CCL39
+       EQUAL?  PRSO,GOOD-BOARD \?CCL39
+       IN?     GOOD-BOARD,ROBOT-HOLE /?CCL44
+       PRINTI  "Floyd looks half-bored and half-annoyed. "
+       PRINTR  "Floyd already did that. How about some leap-frogger?"""
+?CCL44:        ZERO?   BOARD-REPORTED /?CCL46
+       MOVE    GOOD-BOARD,ADVENTURER
+       FCLEAR  GOOD-BOARD,NDESCBIT
+       FSET    GOOD-BOARD,TAKEBIT
+       SET     'C-ELAPSED,22
+       PRINTR  "Floyd shrugs. ""If you say so."" He vanishes for a few minutes, and returns holding the fromitz board. It seems to be in good shape. He tosses it toward you, and you just manage to catch it before it smashes."
+?CCL46:        PRINTR  """Huh?"" asks Floyd. ""What fromitz board?"""
+?CCL39:        EQUAL?  PRSA,V?FOLLOW \?CCL48
+       EQUAL?  PRSO,ME \?CCL48
+       PRINTR  """Okay!"""
+?CCL48:        EQUAL?  PRSA,V?HELLO \?CCL52
+       SET     'WINNER,ADVENTURER
+       CALL    PERFORM,V?HELLO,FLOYD
+       RTRUE   
+?CCL52:        EQUAL?  PRSA,V?DROP \?CCL54
+       IN?     PRSO,FLOYD \?CCL57
+       RANDOM  100
+       LESS?   50,STACK /?CCL60
+       MOVE    PRSO,HERE
+       PRINTI  "Floyd shrugs and drops the "
+       PRINTD  PRSO
+       PRINTR  "."
+?CCL60:        PRINTI  "Floyd clutches the "
+       PRINTD  PRSO
+       PRINTR  " even more tightly. ""Floyd won't,"" he says defiantly."
+?CCL57:        CALL    FLOYD-NOT-HAVE
+       RSTACK  
+?CCL54:        PRINTI  "Floyd whines, ""Enough talking! Let's play Hider-and-Seeker."""
+       CRLF    
+       RETURN  2
+?CCL3: EQUAL?  PRSA,V?CLOSE \?CCL64
+       PRINTR  "Huh?"
+?CCL64:        EQUAL?  PRSA,V?REACH,V?LOOK-INSIDE \?CCL66
+       CALL    PERFORM,V?OPEN,FLOYD
+       RTRUE   
+?CCL66:        FSET?   FLOYD,RLANDBIT \?CCL68
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       EQUAL?  PRSA,V?LAMP-ON \?CCL71
+       PRINTR  "He's already been activated."
+?CCL71:        EQUAL?  PRSA,V?LAMP-OFF \?CCL73
+       FCLEAR  FLOYD,RLANDBIT
+       FCLEAR  FLOYD,ACTORBIT
+       CALL    INT,I-FLOYD
+       PUT     STACK,0,0
+       PRINTI  "Floyd, shocked by this betrayal from his new-found friend, whimpers and keels over"
+       FIRST?  FLOYD \?CCL76
+       PRINTI  ", dropping what he was carrying."
+       CRLF    
+       JUMP    ?CND74
+?CCL76:        PRINTC  46
+       CRLF    
+?CND74:        FIRST?  FLOYD >X /?PRG78
+?PRG78:        ZERO?   X /TRUE
+       NEXT?   X >N /?BOGUS83
+?BOGUS83:      MOVE    X,HERE
+       SET     'X,N
+       JUMP    ?PRG78
+?CCL73:        EQUAL?  PRSA,V?EXAMINE \?CCL85
+       PRINTR  "From its design, the robot seems to be of the multi-purpose sort. It is slightly cross-eyed, and its mechanical mouth forms a lopsided grin."
+?CCL85:        EQUAL?  PRSA,V?KISS \?CCL87
+       PRINTR  "You receive a painful electric shock."
+?CCL87:        EQUAL?  PRSA,V?SCOLD \?CCL89
+       PRINTR  "Floyd looks defensive. ""What did Floyd do wrong?"""
+?CCL89:        EQUAL?  PRSA,V?PLAY-WITH \?CCL91
+       SET     'C-ELAPSED,30
+       CALL    QUEUE,I-FLOYD,1
+       PUT     STACK,0,1
+       PRINTR  "You play with Floyd for several centichrons until you drop to the floor, exhausted. Floyd pokes at you gleefully. ""C'mon! Let's play some more!"""
+?CCL91:        EQUAL?  PRSA,V?LISTEN \?CCL93
+       PRINTR  "Floyd is babbling about this and that."
+?CCL93:        EQUAL?  PRSA,V?TAKE \?CCL95
+       EQUAL?  PRSO,FLOYD \?CCL95
+       PRINTR  "You manage to lift Floyd a few inches off the ground, but he is too heavy and you drop him suddenly. Floyd gives a surprised squeal and moves a respectable distance away."
+?CCL95:        EQUAL?  PRSA,V?MUNG,V?ATTACK \?CCL99
+       PRINTR  "Floyd starts dashing around the room. ""Oh boy oh boy oh boy! I haven't played Chase and Tag for years! You be It! Nah, nah!"""
+?CCL99:        EQUAL?  PRSA,V?SHAKE,V?KICK \?CCL101
+       PRINTR  """Why you do that?"" Floyd whines. ""I think a wire now shaken loose."" He goes off into a corner and sulks."
+?CCL101:       EQUAL?  PRSA,V?TALK,V?HELLO \?CCL103
+       PRINTR  """Hi!"" Floyd grins and bounces up and down."
+?CCL103:       EQUAL?  PRSA,V?OPEN,V?SCRUB,V?SEARCH \?CCL105
+       PRINTR  "Floyd giggles and pushes you away. ""You're tickling Floyd!"" He clutches at his side panels, laughing hysterically. Oil drops stream from his eyes."
+?CCL105:       EQUAL?  PRSA,V?PUT,V?GIVE \?CCL107
+       EQUAL?  FLOYD,PRSI \?CCL107
+       EQUAL?  PRSO,LAZARUS-PART \?CCL112
+       REMOVE  FLOYD
+       SET     'FLOYD-FOLLOW,FALSE-VALUE
+       MOVE    LAZARUS-PART,HERE
+       CALL    QUEUE,I-FLOYD,40
+       PUT     STACK,0,1
+       PRINTR  "At first, Floyd is all grins because of your gift. Then, he realizes what it is, begins weeping, drops the breastplate, and rushes out of the room."
+?CCL112:       EQUAL?  PRSO,RED-GOO,GREEN-GOO,BROWN-GOO \?CCL114
+       PRINTR  "Floyd looks at the goo. ""Yech! Got any Number Seven Heavy Grease?"""
+?CCL114:       FIRST?  FLOYD /?CTR115
+       RANDOM  100
+       LESS?   25,STACK /?CCL116
+?CTR115:       MOVE    PRSO,HERE
+       PRINTI  "Floyd examines the "
+       PRINTD  PRSO
+       PRINTI  ", shrugs, and drops "
+       EQUAL?  PRSO,PLIERS \?CCL121
+       PRINTR  "them."
+?CCL121:       PRINTR  "it."
+?CCL116:       MOVE    PRSO,FLOYD
+       PRINTR  """Neat!"" exclaims Floyd. He thanks you profusely."
+?CCL107:       EQUAL?  PRSA,V?SHOW \?CCL123
+       EQUAL?  FLOYD,PRSI \?CCL123
+       EQUAL?  PRSO,PRINT-OUT \?CCL128
+       ZERO?   COMPUTER-FLAG \?CCL128
+       CALL    COMPUTER-ACTION
+       RSTACK  
+?CCL128:       EQUAL?  PRSO,ROBOT-HOLE \?CCL132
+       CALL    FLOYD-THROUGH-HOLE
+       RSTACK  
+?CCL132:       EQUAL?  HERE,REC-AREA \?CCL134
+       EQUAL?  PRSO,PSEUDO-OBJECT \?CCL134
+       PRINTR  """Too intellectual for Floyd. Any paddleball sets around?"""
+?CCL134:       EQUAL?  PRSO,ID-CARD,SHUTTLE-CARD /?CTR137
+       EQUAL?  PRSO,KITCHEN-CARD,UPPER-ELEVATOR-CARD \?CCL138
+?CTR137:       PRINTR  "Floyd scratches his head. ""Aren't those things usually blue?"""
+?CCL138:       EQUAL?  PRSO,LOWER-ELEVATOR-CARD \?CCL142
+       ZERO?   CARD-REVEALED \?CCL142
+       SET     'CARD-REVEALED,TRUE-VALUE
+       PRINTR  """I've got one just like that!"" says Floyd. He looks through several of his compartments, then glances at you suspiciously."
+?CCL142:       PRINTI  "Floyd looks over the "
+       PRINTD  PRSO
+       PRINTR  ". ""Can you play any games with it?"" he asks."
+?CCL123:       EQUAL?  PRSA,V?RUB \?CCL146
+       PRINTR  "Floyd gives a contented sigh."
+?CCL146:       EQUAL?  PRSA,V?SMELL \?CCL148
+       PRINTR  "Floyd smells faintly of ozone and light machine oil."
+?CCL148:       EQUAL?  PRSA,V?ASK-FOR \FALSE
+       IN?     PRSI,FLOYD \?CCL153
+       MOVE    PRSI,ADVENTURER
+       PRINTI  """Okay,"" says Floyd, handing you the "
+       PRINTD  PRSI
+       PRINTR  ", ""but only because you're Floyd's best friend."""
+?CCL153:       CALL    FLOYD-NOT-HAVE
+       RSTACK  
+?CCL68:        EQUAL?  PRSA,V?LAMP-ON \?CCL156
+       ZERO?   FLOYD-INTRODUCED /?CCL159
+       CALL    QUEUE,I-FLOYD,-1
+       PUT     STACK,0,1
+       RTRUE   
+?CCL159:       CALL    QUEUE,I-FLOYD,25
+       PUT     STACK,0,1
+       PRINTI  "Nothing happens."
+       CRLF    
+       ZERO?   FLOYD-SCORE-FLAG \TRUE
+       SET     'FLOYD-SCORE-FLAG,TRUE-VALUE
+       ADD     SCORE,2 >SCORE
+       RTRUE   
+?CCL156:       EQUAL?  PRSA,V?LAMP-OFF \?CCL163
+       PRINTR  "The robot doesn't seem to be on."
+?CCL163:       EQUAL?  PRSA,V?EXAMINE \?CCL165
+       PRINTR  "The de-activated robot is leaning against the wall, its head lolling to the side. It is short, and seems to be equipped for general-purpose work. It has apparently been turned off."
+?CCL165:       EQUAL?  PRSA,V?OPEN,V?SEARCH \FALSE
+       ZERO?   CARD-REVEALED \?CCL170
+       ZERO?   CARD-STOLEN \?CCL170
+       FCLEAR  LOWER-ELEVATOR-CARD,INVISIBLE
+       MOVE    LOWER-ELEVATOR-CARD,ADVENTURER
+       CALL    SCORE-OBJ,LOWER-ELEVATOR-CARD
+       SET     'CARD-STOLEN,TRUE-VALUE
+       PRINTR  "In one of the robot's compartments you find and take a magnetic-striped card embossed ""Loowur Elavaatur Akses Kard."""
+?CCL170:       PRINTR  "Your search discovers nothing in the robot's compartments except a single crayon which you leave where you found it."
+
+
+       .FUNCT  FLOYDS-FAMOUS-DOOR-ROUTINE
+       EQUAL?  PRSO,ROBOT-HOLE \?CCL3
+       CALL    FLOYD-THROUGH-HOLE
+       RSTACK  
+?CCL3: EQUAL?  PRSO,BIO-DOOR-EAST \?CCL5
+       CALL    FLOYD-INTO-LAB
+       RSTACK  
+?CCL5: FSET?   PRSO,DOORBIT \?CCL7
+       PRINTR  """You go first,"" says Floyd."
+?CCL7: PRINTR  "Floyd scratches his head and looks at you."
+
+
+       .FUNCT  FLUSH
+       ZERO?   P-CONT /FALSE
+       SET     'P-CONT,FALSE-VALUE
+       CRLF    
+       PRINTR  "Floyd scratches his head and looks at you. ""What else were you saying to Floyd? I can't remember."""
+
+
+       .FUNCT  FLOYD-INTO-LAB
+       ZERO?   FLOYD-WAITING /?CCL3
+       PRINTR  """As soon as you open the door, dummy."""
+?CCL3: PRINTR  """Are you kidding? Floyd not going in THERE without a good reason."""
+
+
+       .FUNCT  FLOYD-NOT-HAVE
+       PRINTR  """Floyd does not one of those have!"""
+
+
+       .FUNCT  FLOYD-COMES-ALIVE,FOO
+       IN?     FLOYD,HERE \?CND1
+       ZERO?   FLOYD-REACTIVATED /?CCL5
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       PRINTI  "Floyd jumps to his feet, hopping mad. ""Why you turn Floyd off?"" he asks accusingly."
+       CRLF    
+       JUMP    ?CND1
+?CCL5: SET     'FLOYD-INTRODUCED,TRUE-VALUE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       PRINTI  "Suddenly, the robot comes to life and its head starts swivelling about. It notices you and bounds over. ""Hi! I'm B-19-7, but to everyperson I'm called Floyd. Are you a doctor-person or a planner-person? "
+       FIRST?  ADVENTURER >FOO \?CND6
+       PRINTI  "That's a nice "
+       PRINTD  FOO
+       PRINTI  " you are having there. "
+?CND6: PRINTI  "Let's play Hider-and-Seeker you with me."""
+       CRLF    
+?CND1: FSET    FLOYD,RLANDBIT
+       FSET    FLOYD,ACTORBIT
+       FSET    FLOYD,TOUCHBIT
+       SET     'FLOYD-REACTIVATED,TRUE-VALUE
+       RETURN  FLOYD-REACTIVATED
+
+
+       .FUNCT  I-FLOYD
+       CALL    QUEUE,I-FLOYD,-1
+       PUT     STACK,0,1
+       FSET?   FLOYD,RLANDBIT /?CCL3
+       FSET    FLOYD,ACTORBIT
+       CRLF    
+       CALL    FLOYD-COMES-ALIVE
+       JUMP    ?CND1
+?CCL3: IN?     FLOYD,HERE \?CCL5
+       ZERO?   FLOYD-INTRODUCED \?CCL8
+       SET     'FLOYD-INTRODUCED,TRUE-VALUE
+       CRLF    
+       PRINTI  "The robot, now apparently active, notices you enter. ""Hi,"" he says. ""I'm Floyd!"""
+       CRLF    
+       JUMP    ?CND1
+?CCL8: ZERO?   FLOYD-FOLLOW /?CCL10
+       FSET?   HERE,FLOYDBIT \?CCL10
+       RANDOM  100
+       LESS?   6,STACK /?CCL10
+       REMOVE  FLOYD
+       SET     'FLOYD-FOLLOW,FALSE-VALUE
+       CRLF    
+       PRINTI  "Floyd says ""Floyd going exploring. See you later."" He glides out of the room."
+       CRLF    
+       JUMP    ?CND1
+?CCL10:        SET     'FLOYD-FOLLOW,TRUE-VALUE
+       RANDOM  100
+       LESS?   40,STACK /?CND1
+       ZERO?   FLOYD-SPOKE \?CND1
+       PRINTI  "Floyd "
+       CALL    PICK-ONE,FLOYDISMS
+       PRINT   STACK
+       PRINTR  "."
+?CCL5: ZERO?   FLOYD-FOLLOW /?CCL20
+       RANDOM  100
+       LESS?   80,STACK /?CCL20
+       IN?     LAZARUS-PART,HERE \?CND23
+       SET     'FLOYD-FOLLOW,FALSE-VALUE
+       CRLF    
+       PRINTR  "Floyd starts to follow you but notices the Lazarus breast plate. He sniffs and leaves the room."
+?CND23:        MOVE    FLOYD,HERE
+       PRINTI  "Floyd follows you."
+       CRLF    
+       CALL    KLUDGE
+       JUMP    ?CND1
+?CCL20:        SET     'FLOYD-FOLLOW,FALSE-VALUE
+       EQUAL?  HERE,BOOTH-1,BOOTH-2,BOOTH-3 \?CCL27
+       MOVE    FLOYD,HERE
+       ZERO?   FLOYD-INTRODUCED \?CND28
+       CRLF    
+       CALL    CALL-ME-FLOYD
+       RTRUE   
+?CND28:        CRLF    
+       PRINTI  "Floyd scampers into the booth. ""Oooo, this is a tiny room,"" he remarks."
+       CRLF    
+       JUMP    ?CND1
+?CCL27:        EQUAL?  HERE,BIO-LOCK-EAST,BIO-LOCK-WEST \?PRD33
+       ZERO?   FLOYD-GAVE-UP /?CTR30
+?PRD33:        EQUAL?  HERE,RADIATION-LOCK-EAST,RADIATION-LOCK-WEST \?CCL31
+?CTR30:        MOVE    FLOYD,HERE
+       ZERO?   FLOYD-INTRODUCED \?CND36
+       CRLF    
+       CALL    CALL-ME-FLOYD
+       RTRUE   
+?CND36:        CRLF    
+       PRINTI  "Floyd glides after you. ""Is this...is this a squash court?"" he asks."
+       CRLF    
+       JUMP    ?CND1
+?CCL31:        EQUAL?  HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR38
+       EQUAL?  HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CTR38
+       EQUAL?  HERE,UPPER-ELEVATOR,LOWER-ELEVATOR,REACTOR-ELEVATOR /?CTR38
+       EQUAL?  HERE,MESS-HALL \?CCL39
+       IN?     FLOYD,KITCHEN \?CCL39
+?CTR38:        MOVE    FLOYD,HERE
+       ZERO?   FLOYD-INTRODUCED \?CND46
+       CRLF    
+       CALL    CALL-ME-FLOYD
+       RTRUE   
+?CND46:        CRLF    
+       PRINTI  "Floyd bounces into the "
+       EQUAL?  HERE,UPPER-ELEVATOR,LOWER-ELEVATOR,REACTOR-ELEVATOR \?CCL50
+       PRINTI  "elevator"
+       JUMP    ?CND48
+?CCL50:        EQUAL?  HERE,MESS-HALL \?CCL52
+       PRINTI  "room"
+       JUMP    ?CND48
+?CCL52:        PRINTI  "cabin"
+?CND48:        PRINTI  ". ""Hey, wait for Floyd!"" he yells, smiling broadly."
+       CRLF    
+       JUMP    ?CND1
+?CCL39:        EQUAL?  HERE,MINI-BOOTH \?CCL54
+       MOVE    FLOYD,HERE
+       ZERO?   FLOYD-INTRODUCED \?CND55
+       CRLF    
+       CALL    CALL-ME-FLOYD
+       RTRUE   
+?CND55:        CRLF    
+       PRINTI  """Hi,"" whispers Floyd, tiptoeing in. ""Are we going to teleport into the computer like Achilles always used to do?"""
+       CRLF    
+       JUMP    ?CND1
+?CCL54:        RANDOM  100
+       LESS?   30,STACK /?CND1
+       EQUAL?  HERE,INFIRMARY \?CND58
+       ZERO?   LAZARUS-FLAG \FALSE
+?CND58:        MOVE    FLOYD,HERE
+       ZERO?   FLOYD-INTRODUCED /?CCL64
+       RANDOM  100
+       LESS?   15,STACK /?CCL67
+       IN?     ADVENTURER,BED /?CCL67
+       CRLF    
+       PRINTI  "Floyd rushes into the room and barrels into you. ""Oops, sorry,"" he says. ""Floyd not looking at where he was going to."""
+       CRLF    
+       JUMP    ?CND65
+?CCL67:        CRLF    
+       PRINTI  "Floyd bounds into the room. ""Floyd here now!"" he cries."
+       CRLF    
+?CND65:        CALL    KLUDGE
+       JUMP    ?CND1
+?CCL64:        CRLF    
+       CALL    CALL-ME-FLOYD
+?CND1: SET     'FLOYD-SPOKE,FALSE-VALUE
+       RETURN  FLOYD-SPOKE
+
+
+       .FUNCT  CALL-ME-FLOYD
+       SET     'FLOYD-INTRODUCED,TRUE-VALUE
+       PRINTR  "The robot you were fiddling with in the Robot Shop bounds into the room. ""Hi!"" he says, with a wide and friendly smile. ""You turn Floyd on? Be Floyd's friend, yes?"""
+
+
+       .FUNCT  KLUDGE
+       EQUAL?  HERE,REPAIR-ROOM \?CCL3
+       ZERO?   ACHILLES-FLAG \?CCL3
+       SET     'ACHILLES-FLAG,TRUE-VALUE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       PRINTR  "Floyd points at the fallen robot. ""That's Achilles. He was in charge of repairing machinery. He repaired Floyd once. I never liked him much; he wasn't friendly like other robots. Looks like he fell down the stairs. He always had trouble with one of his feet working right. A Planner-person once told me that's why they named him Achilles."""
+?CCL3: EQUAL?  HERE,COMPUTER-ROOM \FALSE
+       ZERO?   COMPUTER-FLAG \FALSE
+       CALL    COMPUTER-ACTION
+       RSTACK  
+
+
+       .FUNCT  DEAD-FLOYD-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTR  "You turn to look at Floyd, but a tremendous sense of loss overcomes you, and you turn away."
+?CCL3: EQUAL?  PRSA,V?LAMP-ON \?CCL5
+       PRINTR  "As you touch Floyd's on-off switch, it falls off in your hands."
+?CCL5: EQUAL?  PRSA,V?LAMP-OFF \FALSE
+       PRINTR  "I'm afraid that Floyd has already been turned off, permanently, and gone to that great robot shop in the sky."
+
+
+       .FUNCT  ELEVATOR-LOBBY-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a wide, brightly lit lobby. A blue metal door to the north is "
+       FSET?   UPPER-ELEVATOR-DOOR,OPENBIT \?CCL6
+       EQUAL?  UPPER-ELEVATOR-UP,FALSE-VALUE \?CCL6
+       PRINTI  "open"
+       JUMP    ?CND4
+?CCL6: PRINTI  "closed"
+?CND4: PRINTI  " and a larger red metal door to the south is "
+       FSET?   LOWER-ELEVATOR-DOOR,OPENBIT \?CCL11
+       EQUAL?  LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL11
+       FSET?   UPPER-ELEVATOR-DOOR,OPENBIT \?CND14
+       EQUAL?  UPPER-ELEVATOR-UP,FALSE-VALUE \?CND14
+       PRINTI  "also "
+?CND14:        PRINTI  "open"
+       JUMP    ?CND9
+?CCL11:        FSET?   UPPER-ELEVATOR-DOOR,OPENBIT \?CCL19
+       EQUAL?  UPPER-ELEVATOR-UP,TRUE-VALUE \?CND18
+?CCL19:        PRINTI  "also "
+?CND18:        PRINTI  "closed"
+?CND9: PRINTR  ". Beside the blue door is a blue button, and beside the red door is a red button. A corridor leads west. To the east is a small room about the size of a telephone booth."
+
+
+       .FUNCT  UPPER-ELEVATOR-F,RARG
+       EQUAL?  RARG,M-LOOK \?CCL3
+       PRINTI  "You have entered a tiny room with a sliding door to the south which is "
+       CALL    DDESC,UPPER-ELEVATOR-DOOR
+       PRINTR  ". A control panel contains an Up button, a Down button, and a narrow slot."
+?CCL3: EQUAL?  RARG,M-END \FALSE
+       FSET?   UPPER-ELEVATOR-DOOR,OPENBIT /FALSE
+       RANDOM  100
+       LESS?   10,STACK /FALSE
+       PRINTR  "Some innocuous Hawaiian music oozes from the elevator's intercom."
+
+
+       .FUNCT  LOWER-ELEVATOR-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a medium-sized room with a door to the north which is "
+       CALL    DDESC,LOWER-ELEVATOR-DOOR
+       PRINTR  ". A control panel contains an Up button, a Down button, and a narrow slot."
+
+
+       .FUNCT  ELEVATOR-ENTER-F
+       EQUAL?  PRSO,P?NORTH \?CCL3
+       FSET?   UPPER-ELEVATOR-DOOR,OPENBIT \?CCL6
+       EQUAL?  UPPER-ELEVATOR-UP,FALSE-VALUE \?CCL6
+       RETURN  UPPER-ELEVATOR
+?CCL6: CALL    DOOR-CLOSED
+       RFALSE  
+?CCL3: EQUAL?  PRSO,P?SOUTH \FALSE
+       FSET?   LOWER-ELEVATOR-DOOR,OPENBIT \?CCL13
+       EQUAL?  LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL13
+       RETURN  LOWER-ELEVATOR
+?CCL13:        CALL    DOOR-CLOSED
+       RFALSE  
+
+
+       .FUNCT  ELEVATOR-EXIT-F
+       EQUAL?  HERE,UPPER-ELEVATOR \?CCL3
+       FSET?   UPPER-ELEVATOR-DOOR,OPENBIT \?CCL6
+       EQUAL?  UPPER-ELEVATOR-UP,TRUE-VALUE \?CCL9
+       RETURN  TOWER-CORE
+?CCL9: RETURN  ELEVATOR-LOBBY
+?CCL6: CALL    DOOR-CLOSED
+       RFALSE  
+?CCL3: EQUAL?  HERE,LOWER-ELEVATOR \FALSE
+       FSET?   LOWER-ELEVATOR-DOOR,OPENBIT \?CCL14
+       EQUAL?  LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL17
+       RETURN  ELEVATOR-LOBBY
+?CCL17:        RETURN  WAITING-AREA
+?CCL14:        CALL    DOOR-CLOSED
+       RFALSE  
+
+
+       .FUNCT  UPPER-ELEVATOR-DOOR-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   UPPER-ELEVATOR-DOOR,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: PRINTR  "It won't budge."
+?CCL3: EQUAL?  PRSA,V?CLOSE \FALSE
+       FSET?   UPPER-ELEVATOR-DOOR,OPENBIT \?CCL11
+       PRINTR  "You can't close it yourself."
+?CCL11:        CALL    IS-CLOSED
+       RSTACK  
+
+
+       .FUNCT  LOWER-ELEVATOR-DOOR-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   LOWER-ELEVATOR-DOOR,OPENBIT \?CCL6
+       EQUAL?  HERE,ELEVATOR-LOBBY \?CCL6
+       EQUAL?  LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: FSET?   LOWER-ELEVATOR-DOOR,OPENBIT \?CCL11
+       EQUAL?  HERE,WAITING-AREA \?CCL11
+       EQUAL?  LOWER-ELEVATOR-UP,FALSE-VALUE \?CCL11
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL11:        PRINTR  "It won't budge."
+?CCL3: EQUAL?  PRSA,V?CLOSE \FALSE
+       FSET?   LOWER-ELEVATOR-DOOR,OPENBIT \?CCL19
+       EQUAL?  HERE,ELEVATOR-LOBBY \?CCL19
+       EQUAL?  LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL19
+       PRINTR  "You can't close it yourself."
+?CCL19:        FSET?   LOWER-ELEVATOR-DOOR,OPENBIT \?CCL24
+       EQUAL?  HERE,WAITING-AREA \?CCL24
+       EQUAL?  LOWER-ELEVATOR-UP,FALSE-VALUE \?CCL24
+       PRINTR  "You can't close it yourself."
+?CCL24:        CALL    IS-CLOSED
+       RSTACK  
+
+
+       .FUNCT  DOOR-CLOSED
+       PRINTR  "The door is closed."
+
+
+       .FUNCT  BLUE-ELEVATOR-BUTTON-F
+       EQUAL?  PRSA,V?PUSH \FALSE
+       EQUAL?  UPPER-ELEVATOR-UP,TRUE-VALUE \FALSE
+       CALL    INT,I-UPPER-ELEVATOR-ARRIVE
+       GET     STACK,C-ENABLED?
+       EQUAL?  STACK,1 \?CCL8
+       PRINTR  "Patience, patience..."
+?CCL8: RANDOM  20
+       ADD     STACK,40
+       CALL    QUEUE,I-UPPER-ELEVATOR-ARRIVE,STACK
+       PUT     STACK,0,1
+       PRINTR  "You hear a faint whirring noise from behind the blue door."
+
+
+       .FUNCT  RED-ELEVATOR-BUTTON-F
+       EQUAL?  PRSA,V?PUSH \FALSE
+       EQUAL?  LOWER-ELEVATOR-UP,FALSE-VALUE \FALSE
+       CALL    INT,I-LOWER-ELEVATOR-ARRIVE
+       GET     STACK,C-ENABLED?
+       EQUAL?  STACK,1 \?CCL8
+       PRINTR  "Patience, patience..."
+?CCL8: RANDOM  40
+       ADD     STACK,80
+       CALL    QUEUE,I-LOWER-ELEVATOR-ARRIVE,STACK
+       PUT     STACK,0,1
+       PRINTR  "The red door begins vibrating a bit."
+
+
+       .FUNCT  I-UPPER-ELEVATOR-ARRIVE
+       FSET    UPPER-ELEVATOR-DOOR,OPENBIT
+       SET     'UPPER-ELEVATOR-UP,FALSE-VALUE
+       CALL    INT,I-UPPER-ELEVATOR-ARRIVE
+       PUT     STACK,0,0
+       EQUAL?  HERE,ELEVATOR-LOBBY \FALSE
+       CRLF    
+       PRINTR  "The door at the north end of the room slides open."
+
+
+       .FUNCT  I-LOWER-ELEVATOR-ARRIVE
+       FSET    LOWER-ELEVATOR-DOOR,OPENBIT
+       SET     'LOWER-ELEVATOR-UP,TRUE-VALUE
+       CALL    INT,I-LOWER-ELEVATOR-ARRIVE
+       PUT     STACK,0,0
+       EQUAL?  HERE,ELEVATOR-LOBBY \FALSE
+       CRLF    
+       PRINTR  "The door at the south end of the room slides open."
+
+
+       .FUNCT  ELEVATOR-BUTTON-F
+       EQUAL?  PRSA,V?PUSH-UP \?CCL3
+       EQUAL?  HERE,LOWER-ELEVATOR \?CCL6
+       EQUAL?  LOWER-ELEVATOR-UP,FALSE-VALUE \?CCL6
+       EQUAL?  LOWER-ELEVATOR-ON,TRUE-VALUE \?CCL6
+       EQUAL?  ELEVATOR-IN-TRANSIT,FALSE-VALUE \?CCL6
+       PRINT   ELEVATOR-STARTS
+       CRLF    
+       FCLEAR  LOWER-ELEVATOR-DOOR,OPENBIT
+       SET     'ELEVATOR-IN-TRANSIT,TRUE-VALUE
+       CALL    QUEUE,I-LOWER-ELEVATOR-TRIP,100
+       PUT     STACK,0,1
+       RTRUE   
+?CCL6: EQUAL?  HERE,UPPER-ELEVATOR \?CCL12
+       EQUAL?  UPPER-ELEVATOR-UP,FALSE-VALUE \?CCL12
+       EQUAL?  UPPER-ELEVATOR-ON,TRUE-VALUE \?CCL12
+       EQUAL?  ELEVATOR-IN-TRANSIT,FALSE-VALUE \?CCL12
+       PRINT   ELEVATOR-STARTS
+       CRLF    
+       FCLEAR  UPPER-ELEVATOR-DOOR,OPENBIT
+       SET     'ELEVATOR-IN-TRANSIT,TRUE-VALUE
+       CALL    QUEUE,I-UPPER-ELEVATOR-TRIP,50
+       PUT     STACK,0,1
+       RTRUE   
+?CCL12:        PRINTR  "Nothing happens."
+?CCL3: EQUAL?  PRSA,V?PUSH-DOWN \?CCL18
+       EQUAL?  HERE,LOWER-ELEVATOR \?CCL21
+       EQUAL?  LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL21
+       EQUAL?  LOWER-ELEVATOR-ON,TRUE-VALUE \?CCL21
+       EQUAL?  ELEVATOR-IN-TRANSIT,FALSE-VALUE \?CCL21
+       PRINT   ELEVATOR-STARTS
+       CRLF    
+       FCLEAR  LOWER-ELEVATOR-DOOR,OPENBIT
+       SET     'ELEVATOR-IN-TRANSIT,TRUE-VALUE
+       CALL    QUEUE,I-LOWER-ELEVATOR-TRIP,100
+       PUT     STACK,0,1
+       RTRUE   
+?CCL21:        EQUAL?  HERE,UPPER-ELEVATOR \?CCL27
+       EQUAL?  UPPER-ELEVATOR-UP,TRUE-VALUE \?CCL27
+       EQUAL?  UPPER-ELEVATOR-ON,TRUE-VALUE \?CCL27
+       EQUAL?  ELEVATOR-IN-TRANSIT,FALSE-VALUE \?CCL27
+       PRINT   ELEVATOR-STARTS
+       CRLF    
+       FCLEAR  UPPER-ELEVATOR-DOOR,OPENBIT
+       SET     'ELEVATOR-IN-TRANSIT,TRUE-VALUE
+       CALL    QUEUE,I-UPPER-ELEVATOR-TRIP,50
+       PUT     STACK,0,1
+       RTRUE   
+?CCL27:        PRINTR  "Nothing happens."
+?CCL18:        EQUAL?  PRSA,V?PUSH \FALSE
+       PRINTR  "You must specify whether you want to push the Up button or the Down button."
+
+
+       .FUNCT  I-TURNOFF-UPPER-ELEVATOR
+       ZERO?   ELEVATOR-IN-TRANSIT /?CCL3
+       CALL    QUEUE,I-TURNOFF-UPPER-ELEVATOR,120
+       PUT     STACK,0,1
+       RFALSE  
+?CCL3: SET     'UPPER-ELEVATOR-ON,FALSE-VALUE
+       EQUAL?  HERE,UPPER-ELEVATOR \FALSE
+       CRLF    
+       PRINT   ELEVATOR-LIGHT-OFF
+       CRLF    
+       RFALSE  
+
+
+       .FUNCT  I-TURNOFF-LOWER-ELEVATOR
+       ZERO?   ELEVATOR-IN-TRANSIT /?CCL3
+       CALL    QUEUE,I-TURNOFF-LOWER-ELEVATOR,120
+       PUT     STACK,0,1
+       RFALSE  
+?CCL3: SET     'LOWER-ELEVATOR-ON,FALSE-VALUE
+       EQUAL?  HERE,LOWER-ELEVATOR \FALSE
+       CRLF    
+       PRINT   ELEVATOR-LIGHT-OFF
+       CRLF    
+       RFALSE  
+
+
+       .FUNCT  I-UPPER-ELEVATOR-TRIP
+       EQUAL?  UPPER-ELEVATOR-UP,TRUE-VALUE \?CCL3
+       SET     'UPPER-ELEVATOR-UP,FALSE-VALUE
+       SET     'ELEVATOR-IN-TRANSIT,FALSE-VALUE
+       FSET    UPPER-ELEVATOR-DOOR,OPENBIT
+       CRLF    
+       CALL    ELEVATOR-DOOR-OPENS
+       RSTACK  
+?CCL3: SET     'UPPER-ELEVATOR-UP,TRUE-VALUE
+       SET     'ELEVATOR-IN-TRANSIT,FALSE-VALUE
+       FSET    UPPER-ELEVATOR-DOOR,OPENBIT
+       CRLF    
+       CALL    ELEVATOR-DOOR-OPENS
+       RSTACK  
+
+
+       .FUNCT  I-LOWER-ELEVATOR-TRIP
+       EQUAL?  LOWER-ELEVATOR-UP,TRUE-VALUE \?CCL3
+       SET     'LOWER-ELEVATOR-UP,FALSE-VALUE
+       SET     'ELEVATOR-IN-TRANSIT,FALSE-VALUE
+       FSET    LOWER-ELEVATOR-DOOR,OPENBIT
+       CRLF    
+       CALL    ELEVATOR-DOOR-OPENS
+       RSTACK  
+?CCL3: SET     'LOWER-ELEVATOR-UP,TRUE-VALUE
+       SET     'ELEVATOR-IN-TRANSIT,FALSE-VALUE
+       FSET    LOWER-ELEVATOR-DOOR,OPENBIT
+       CRLF    
+       CALL    ELEVATOR-DOOR-OPENS
+       RSTACK  
+
+
+       .FUNCT  ELEVATOR-DOOR-OPENS
+       PRINTR  "The elevator door slides open."
+
+
+       .FUNCT  HELICOPTER-OBJECT-F
+       EQUAL?  PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL3
+       EQUAL?  HERE,HELIPAD \?CCL6
+       CALL    GOTO,HELICOPTER
+       RSTACK  
+?CCL6: PRINTR  "You're in it!"
+?CCL3: EQUAL?  PRSA,V?DISEMBARK,V?DROP,V?EXIT \?CCL8
+       EQUAL?  HERE,HELICOPTER \?CCL11
+       CALL    GOTO,HELIPAD
+       RSTACK  
+?CCL11:        PRINTR  "You're not in it!"
+?CCL8: EQUAL?  PRSA,V?FLY \FALSE
+       EQUAL?  HERE,HELICOPTER \?CCL16
+       PRINTR  "The controls seem to be locked."
+?CCL16:        PRINTR  "You're not even in it!"
+
+
+       .FUNCT  COMM-ROOM-F,RARG
+       EQUAL?  RARG,M-LOOK \?CCL3
+       PRINTI  "This is a small room with no windows. The sole exit is southwest. Two wide consoles fill either end of the room; thick cables lead up into the ceiling.
+
+The console on the left side of the room is labelled ""Reeseev Staashun."" A bright red light, labelled ""Tranzmishun Reeseevd"", is blinking rapidly. Next to the light is a glowing button marked ""Mesij Plaabak.""
+
+The console on the right side of the room is labelled ""Send Staashun."" A screen on the console displays a message. Next to the screen is a flashing sign which says "
+       ZERO?   COMM-SHUTDOWN /?CCL6
+       CALL    SHUTDOWN
+       JUMP    ?CND4
+?CCL6: ZERO?   COMM-FIXED /?CCL8
+       PRINTI  """Tranzmishun in pragres."""
+       JUMP    ?CND4
+?CCL8: PRINTI  """Malfunkshun in Sendeeng Kuulint Sistum."""
+?CND4: PRINTI  " Next to this console is an enunciator"
+       ZERO?   COMM-FIXED \?CCL10
+       ZERO?   COMM-SHUTDOWN /?CND9
+?CCL10:        PRINTI  " whose lights are all dark"
+?CND9: PRINTR  ". On the console next to the enunciator panel is a funnel-shaped hole labelled ""Kuulint Sistum Manyuuwul Oovuriid."""
+?CCL3: EQUAL?  RARG,M-END \FALSE
+       ZERO?   COMM-FIXED \FALSE
+       ZERO?   COMM-SHUTDOWN \FALSE
+       ZERO?   JUST-ENTERED /FALSE
+       CALL    QUEUE,I-UNENTER,-1
+       PUT     STACK,0,1
+       SET     'JUST-ENTERED,FALSE-VALUE
+       PRINTI  "A "
+       EQUAL?  CHEMICAL-REQUIRED,1 \?CCL21
+       PRINTI  "red"
+       JUMP    ?CND19
+?CCL21:        EQUAL?  CHEMICAL-REQUIRED,2 \?CCL23
+       PRINTI  "blue"
+       JUMP    ?CND19
+?CCL23:        EQUAL?  CHEMICAL-REQUIRED,3 \?CCL25
+       PRINTI  "green"
+       JUMP    ?CND19
+?CCL25:        EQUAL?  CHEMICAL-REQUIRED,4 \?CCL27
+       PRINTI  "yellow"
+       JUMP    ?CND19
+?CCL27:        EQUAL?  CHEMICAL-REQUIRED,5 \?CCL29
+       PRINTI  "gray"
+       JUMP    ?CND19
+?CCL29:        EQUAL?  CHEMICAL-REQUIRED,6 \?CCL31
+       PRINTI  "brown"
+       JUMP    ?CND19
+?CCL31:        EQUAL?  CHEMICAL-REQUIRED,7 \?CND19
+       PRINTI  "black"
+?CND19:        PRINTR  " colored light is flashing on the enunciator panel."
+
+
+       .FUNCT  I-UNENTER
+       EQUAL?  HERE,COMM-ROOM /FALSE
+       SET     'JUST-ENTERED,TRUE-VALUE
+       CALL    INT,I-UNENTER
+       PUT     STACK,0,0
+       RFALSE  
+
+
+       .FUNCT  PLAYBACK-BUTTON-F
+       EQUAL?  PRSA,V?PUSH \FALSE
+       PRINTR  "A voice fills the room ... the voice of the Feinstein's communications officer! ""Stellar Patrol Ship Feinstein to planetside ... Please respond on frequency 48.5 ... SPS Feinstein to planetside ... Please come in ..."" After a pause you hear the officer, in a quieter voice, say ""Admiral, no response on any of the standard frequen..."" The sentence is cut short by the sound of an explosion and a loud burst of static, followed by silence."
+
+
+       .FUNCT  RANDOMIZE-ORDER,COUNT=0,TEMP,?TMP1,?TMP2
+?PRG1: IGRTR?  'COUNT,7 /?REP2
+       PUT     ORDER-LTBL,COUNT,FALSE-VALUE
+       JUMP    ?PRG1
+?REP2: SET     'COUNT,0
+?PRG6: IGRTR?  'COUNT,7 /TRUE
+       RANDOM  7 >TEMP
+       GET     ORDER-LTBL,1 >?TMP2
+       GET     ORDER-LTBL,2 >?TMP1
+       GET     ORDER-LTBL,3
+       EQUAL?  TEMP,?TMP2,?TMP1,STACK /?CTR12
+       GET     ORDER-LTBL,4 >?TMP2
+       GET     ORDER-LTBL,5 >?TMP1
+       GET     ORDER-LTBL,6
+       EQUAL?  TEMP,?TMP2,?TMP1,STACK /?CTR12
+       GET     ORDER-LTBL,7
+       EQUAL?  TEMP,STACK \?CCL13
+?CTR12:        DEC     'COUNT
+       JUMP    ?PRG6
+?CCL13:        PUT     ORDER-LTBL,COUNT,TEMP
+       JUMP    ?PRG6
+
+
+       .FUNCT  CHEMICAL-FLUID-F
+       EQUAL?  PRSA,V?EAT \?CCL3
+       CALL    JIGS-UP,STR?184
+       RSTACK  
+?CCL3: EQUAL?  PRSA,V?PUT \?CCL5
+       EQUAL?  PRSI,CHEMICAL-FLUID \?CCL5
+       CALL    PERFORM,V?PUT,PRSO,FLASK
+       RTRUE   
+?CCL5: EQUAL?  PRSA,V?POUR,V?THROW \?CCL9
+       EQUAL?  PRSI,RAT-ANT,TROLL /?CTR8
+       EQUAL?  PRSI,GRUE,TRIFFID \?CCL9
+?CTR8: CALL    HELD?,FLASK
+       ZERO?   STACK \?CND14
+       PRINTR  "You're not holding the flask."
+?CND14:        REMOVE  CHEMICAL-FLUID
+       PRINTR  "The mutants lap up the chemical, howling with delight. One immediately grows three new mouths."
+?CCL9: EQUAL?  PRSA,V?POUR,V?PUT \FALSE
+       CALL    HELD?,FLASK
+       ZERO?   STACK \?CCL20
+       PRINTR  "You're not holding the flask."
+?CCL20:        EQUAL?  PRSI,CANTEEN \?CND18
+       CALL    WORTHLESS-ACTION
+       RTRUE   
+?CND18:        REMOVE  CHEMICAL-FLUID
+       ZERO?   PRSI \?CND22
+       SET     'PRSI,GROUND
+?CND22:        EQUAL?  PRSI,FUNNEL-HOLE \?CCL26
+       EQUAL?  CHEMICAL-FLAG,CHEMICAL-REQUIRED \?CCL29
+       GET     ORDER-LTBL,STEPS-TO-GO >CHEMICAL-REQUIRED
+       DEC     'STEPS-TO-GO
+       PRINTI  "The liquid disappears into the hole. The lights on the enunciator panel blink rapidly "
+       ZERO?   STEPS-TO-GO \?CCL32
+       SET     'COMM-FIXED,TRUE-VALUE
+       ADD     SCORE,6 >SCORE
+       SET     'CHEMICAL-REQUIRED,10
+       PRINTR  "and then go dark. The coolant system warning light goes off, and another flashes, indicating that the help message is now being sent."
+?CCL32:        PRINTI  "and all go off except one, a "
+       EQUAL?  CHEMICAL-REQUIRED,1 \?CCL35
+       PRINTI  "red"
+       JUMP    ?CND33
+?CCL35:        EQUAL?  CHEMICAL-REQUIRED,2 \?CCL37
+       PRINTI  "blue"
+       JUMP    ?CND33
+?CCL37:        EQUAL?  CHEMICAL-REQUIRED,3 \?CCL39
+       PRINTI  "green"
+       JUMP    ?CND33
+?CCL39:        EQUAL?  CHEMICAL-REQUIRED,4 \?CCL41
+       PRINTI  "yellow"
+       JUMP    ?CND33
+?CCL41:        EQUAL?  CHEMICAL-REQUIRED,5 \?CCL43
+       PRINTI  "gray"
+       JUMP    ?CND33
+?CCL43:        EQUAL?  CHEMICAL-REQUIRED,6 \?CCL45
+       PRINTI  "brown"
+       JUMP    ?CND33
+?CCL45:        EQUAL?  CHEMICAL-REQUIRED,7 \?CND33
+       PRINTI  "black"
+?CND33:        PRINTR  " light."
+?CCL29:        SET     'COMM-SHUTDOWN,TRUE-VALUE
+       ZERO?   COMM-FIXED /?CND47
+       SUB     SCORE,6 >SCORE
+       SET     'COMM-FIXED,FALSE-VALUE
+?CND47:        PRINTI  "An alarm sounds briefly, and a sign flashes "
+       CALL    SHUTDOWN
+       PRINTR  " A moment later, the lights in the room dim and the send console shuts down."
+?CCL26:        EQUAL?  CHEMICAL-FLAG,8,9 \?CCL50
+       FSET?   PRSI,ACIDBIT \?CCL53
+       EQUAL?  PRSI,SPOUT-PLACED \?CND54
+       SET     'SPOUT-PLACED,GROUND
+?CND54:        REMOVE  PRSI
+       PRINTI  "The "
+       PRINTD  PRSI
+       PRINTI  " dissolves right before your eyes!"
+       EQUAL?  PRSI,BAD-BEDISTOR \?CCL58
+       FSET?   BAD-BEDISTOR,TOUCHBIT /?CCL58
+       FSET    CUBE,MUNGEDBIT
+       CALL    CUBE-SEEMS
+       JUMP    ?CND56
+?CCL58:        EQUAL?  PRSI,GOOD-BEDISTOR \?CND56
+       ZERO?   COURSE-CONTROL-FIXED /?CND56
+       FSET    CUBE,MUNGEDBIT
+       SUB     SCORE,6 >SCORE
+       SET     'COURSE-CONTROL-FIXED,FALSE-VALUE
+       CALL    CUBE-SEEMS
+?CND56:        CRLF    
+       RTRUE   
+?CCL53:        EQUAL?  CREVICE,PRSI \?CCL65
+       FSET?   KEY,TOUCHBIT /?CCL65
+       FSET?   KEY,INVISIBLE \?CCL70
+       PRINTI  "A puff of smoke rises from the crevice."
+       CRLF    
+       JUMP    ?CND68
+?CCL70:        PRINTI  "Although the chemical has no effect on the crevice, it does seem to have dissolved the key that was lying in it."
+       CRLF    
+?CND68:        REMOVE  KEY
+       FSET    KEY,TOUCHBIT
+       FCLEAR  KEY,INVISIBLE
+       RTRUE   
+?CCL65:        EQUAL?  PRSI,HIGH-PROTEIN,MEDICINE \?CCL72
+       CALL    JIGS-UP,STR?185
+       RSTACK  
+?CCL72:        EQUAL?  PRSI,ME,ADVENTURER,HANDS \?CCL74
+       CALL    JIGS-UP,STR?186
+       RSTACK  
+?CCL74:        EQUAL?  PRSI,FLOYD \?CCL76
+       FSET?   FLOYD,RLANDBIT \?CCL76
+       PRINTR  "Floyd yelps. ""Hey, cut it out! That stuff burns!"""
+?CCL76:        EQUAL?  PRSI,MICROBE \?CCL80
+       PRINTI  "The microbe writhes in pain. "
+       CALL    STRIP-DISSOLVES
+       RSTACK  
+?CCL80:        EQUAL?  PRSI,STRIP,RELAY \?CCL82
+       CALL    STRIP-DISSOLVES
+       RSTACK  
+?CCL82:        FSET?   PRSI,MUNGBIT \?CCL84
+       FSET    PRSI,MUNGEDBIT
+       EQUAL?  PRSI,CHRONOMETER \?CND85
+       SET     'MUNGED-TIME,INTERNAL-MOVES
+?CND85:        PRINTI  "The "
+       PRINTD  PRSI
+       PRINTI  " seems to undergo some damage as a result of your action."
+       CRLF    
+       EQUAL?  PRSI,CUBE \TRUE
+       ZERO?   COURSE-CONTROL-FIXED /TRUE
+       SET     'COURSE-CONTROL-FIXED,FALSE-VALUE
+       REMOVE  GOOD-BEDISTOR
+       SUB     SCORE,6 >SCORE
+       PRINTR  "The bedistor also happens to dissolve."
+?CCL84:        CALL    CHEMICAL-POURS
+       RSTACK  
+?CCL50:        CALL    CHEMICAL-POURS
+       RSTACK  
+
+
+       .FUNCT  CUBE-SEEMS
+       PRINTI  " Unfortunately, the cube seems to undergo some damage as well."
+       RTRUE   
+
+
+       .FUNCT  CHEMICAL-POURS
+       PRINTI  "The chemical pours all over the "
+       PRINTD  PRSI
+       PRINTR  ", making quite a mess."
+
+
+       .FUNCT  STRIP-DISSOLVES
+       CALL    JIGS-UP,STR?187
+       RSTACK  
+
+
+       .FUNCT  SHUTDOWN
+       PRINTI  """Kuulint Sistum Imbalins Kritikul -- Shuteeng Down Awl Sistumz."""
+       RTRUE   
+
+
+       .FUNCT  COMM-SETUP
+       RANDOM  3
+       ADD     2,STACK >OLD-SHOTS
+       RANDOM  10
+       ADD     20,STACK >NEW-SHOTS
+       CALL    RANDOMIZE-ORDER
+       RANDOM  2
+       ADD     1,STACK >STEPS-TO-GO
+       ADD     STEPS-TO-GO,1
+       GET     ORDER-LTBL,STACK >CHEMICAL-REQUIRED
+       RETURN  CHEMICAL-REQUIRED
+
+
+       .FUNCT  OTHER-ELEVATOR-ENTER-F
+       FSET?   LOWER-ELEVATOR-DOOR,OPENBIT \?CCL3
+       ZERO?   LOWER-ELEVATOR-UP \?CCL3
+       RETURN  LOWER-ELEVATOR
+?CCL3: CALL    DOOR-CLOSED
+       CALL    THIS-IS-IT,LOWER-ELEVATOR-DOOR
+       RFALSE  
+
+
+       .FUNCT  KALAMONTEE-PLATFORM-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a wide, flat strip of concrete which continues westward. "
+       ZERO?   BETTY-AT-KALAMONTEE /?CCL6
+       ZERO?   ALFIE-AT-KALAMONTEE /?CCL6
+       PRINTI  "Open shuttle cars lie on the north and south sides of the platform. "
+       JUMP    ?CND4
+?CCL6: ZERO?   BETTY-AT-KALAMONTEE /?CCL10
+       PRINTI  "An open shuttle car lies to the north. "
+       JUMP    ?CND4
+?CCL10:        ZERO?   ALFIE-AT-KALAMONTEE /?CND4
+       PRINTI  "A large transport of some sort lies to the south, its open door beckoning you to enter. "
+?CND4: PRINTR  "A faded sign on the wall reads ""Shutul Platform -- Kalamontee Staashun."""
+
+       .ENDI
index 753293cd34b0cb7d262f376ba6f1a274a99ce228..e19a3c0054b599e07c236fbf8f68a15519ef4caf 100644 (file)
@@ -1667,14 +1667,6 @@ says \"ASID.\"" CR>)
 "Floyd pushes one of the dispenser buttons. Fluid pours from the spout and
 splashes across the floor. Floyd jumps up and down, giggling." CR>)>>
 
-;<OBJECT DIGGER
-       (IN MACHINE-SHOP)
-       (DESC "wheelbarrow-like machine")
-       (FDESC
-"In the far corner is an odd machine, somewhat reminiscent of a wheelbarrow.")
-       (SYNONYM WHEELBARROW MACHINE DIGGER)
-       (ADJECTIVE ODD)>
-
 <OBJECT CHEMICAL-DISPENSER
        (IN MACHINE-SHOP)
        (DESC "chemical dispenser")
@@ -2345,9 +2337,9 @@ that great robot shop in the sky." CR>)>>
         "produces a crayon from one of his compartments and scrawls
 his name on the wall">>
 
-^L
+\f
 
-;Elevator department
+"Elevator department"
 
 <ROOM ELEVATOR-LOBBY
       (IN ROOMS)
@@ -2506,7 +2498,7 @@ a narrow slot." CR>)>>
        (IN LOCAL-GLOBALS)
        (DESC "red door")
        (SYNONYM DOOR)
-       (ADJECTIVE RED LOWER ELEVATOR)
+       (ADJECTIVE RED LOWER ELEVATOR METAL)
        (FLAGS NDESCBIT DOORBIT)
        (ACTION LOWER-ELEVATOR-DOOR-F)>
 
diff --git a/comptwo.zabstr b/comptwo.zabstr
new file mode 100644 (file)
index 0000000..18c19ac
--- /dev/null
@@ -0,0 +1,687 @@
+
+<ROOM LAWANDA-PLATFORM (IN ROOMS) (DESC "Lawanda Platform") (C-MOVE <TABLE 0 0
+0 30 0 0 0 0 0 0 0 0>) (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)> 
+<GLOBAL LAWANDA-PLATFORM-FLAG <> %<> WORD> 
+<DEFINE-ROUTINE LAWANDA-PLATFORM-F> 
+<ROOM ESCALATOR (IN ROOMS) (DESC "Escalator") (LDESC
+"You are in the middle of a long mechanical stairway. It is not running,
+and seems to be in disrepair.") (C-MOVE <TABLE 0 0 15 30 0 0 0 0 0 0 0 0>) (UP
+TO FORK) (EAST TO FORK) (DOWN TO LAWANDA-PLATFORM) (WEST TO LAWANDA-PLATFORM) (
+GLOBAL STAIRS) (PSEUDO "ESCALATOR" ESCALATOR-PSEUDO) (FLAGS RLANDBIT FLOYDBIT
+ONBIT)> 
+<ROOM FORK (IN ROOMS) (DESC "Fork") (LDESC
+"This is a hallway which forks to the northeast and southeast. To the west
+is the top of a long escalator.") (C-MOVE <TABLE 0 0 15 0 0 0 0 0 25 0 25 0>) (
+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)> 
+<ROOM INFIRMARY (IN ROOMS) (DESC "Infirmary") (LDESC
+"You have entered a clean, well-lighted place. There are a number of beds,
+some complicated looking equipment, and many shelves that are mostly bare.") (
+C-MOVE <TABLE 25 0 0 0 0 0 0 0 25 0 0 0>) (SE TO SYSTEMS-CORRIDOR-WEST) (OUT TO
+SYSTEMS-CORRIDOR-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL BED SHELVES) (PSEUDO
+"EQUIPM" EQUIPMENT-PSEUDO "MACHIN" EQUIPMENT-PSEUDO) (ACTION INFIRMARY-F)> 
+<OBJECT LAZARUS-PART (DESC "medical robot breastplate") (SYNONYM LAZARUS PART
+BREAST PLATE) (ADJECTIVE MEDICAL BREAST) (SIZE 35) (FLAGS TAKEBIT)> 
+<GLOBAL LAZARUS-FLAG <> %<> WORD> 
+<DEFINE-ROUTINE INFIRMARY-F> 
+<OBJECT RED-SPOOL (IN INFIRMARY) (DESC "red spool") (FDESC
+"Lying on one of the beds is a small red spool.") (SYNONYM SPOOL SPOOLS OBJECT)
+(ADJECTIVE RED SMALL) (SIZE 3) (TEXT
+"The spool is labelled \"Simptumz uv Xe Dizeez.\"") (FLAGS TAKEBIT ACIDBIT
+READBIT) (ACTION RED-SPOOL-F)> 
+<DEFINE-ROUTINE RED-SPOOL-F> 
+<OBJECT MEDICINE-BOTTLE (IN INFIRMARY) (DESC "medicine bottle") (FDESC
+"On a low shelf is a translucent bottle with a small white label.") (SYNONYM
+BOTTLE LABEL) (ADJECTIVE MEDICINE SMALL WHITE TRANSL) (SIZE 7) (CAPACITY 7) (
+TEXT "\"Dizeez supreshun medisin -- eksperimentul\"") (FLAGS CONTBIT SEARCHBIT
+TAKEBIT TRANSBIT READBIT)> 
+<OBJECT MEDICINE (IN MEDICINE-BOTTLE) (DESC "quantity of medicine") (FDESC
+"At the bottom of the bottle is a small quantity of medicine.") (SYNONYM
+MEDICINE) (ADJECTIVE SMALL QUANTITY EXPERIMENTAL) (SIZE 7) (FLAGS FOODBIT) (
+ACTION MEDICINE-F)> 
+<DEFINE-ROUTINE MEDICINE-F> 
+<ROOM REPAIR-ROOM (IN ROOMS) (DESC "Repair Room") (LDESC
+"You are in a dimly lit room, filled with strange machines and wide storage
+cabinets, all locked. To the south, a narrow stairway leads upward. On the
+north wall of the room is a very small doorway.") (C-MOVE <TABLE 0 0 0 30 0 0 0
+0 0 0 0 0>) (UP TO SYSTEMS-CORRIDOR-WEST) (SOUTH TO SYSTEMS-CORRIDOR-WEST) (
+NORTH "It is a robot-sized doorway -- a bit too small for you.") (FLAGS
+RLANDBIT FLOYDBIT ONBIT) (GLOBAL STAIRS) (PSEUDO "CABINETS" CABINETS-PSEUDO
+"MACHIN" EQUIPMENT-PSEUDO)> 
+<GLOBAL ACHILLES-FLAG <> %<> WORD> 
+<OBJECT ACHILLES (IN REPAIR-ROOM) (DESC "broken robot") (LDESC
+"Lying face down at the bottom of the stairs is a motionless robot. It
+appears to be damaged beyond repair.") (SYNONYM ROBOT ACHILLES) (ADJECTIVE
+BROKEN DEAD)> 
+<OBJECT ROBOT-HOLE (IN REPAIR-ROOM) (DESC "small doorway") (SYNONYM DOOR DOORWA
+HOLE) (ADJECTIVE SMALL VERY) (FLAGS NDESCBIT TRANSBIT CONTBIT) (CAPACITY 0) (
+ACTION ROBOT-HOLE-F)> 
+<DEFINE-ROUTINE ROBOT-HOLE-F> 
+<GLOBAL HOLE-TRIP-FLAG <> %<> WORD> 
+<DEFINE-ROUTINE FLOYD-THROUGH-HOLE> 
+<OBJECT GOOD-BOARD (IN ROBOT-HOLE) (DESC
+"shiny seventeen-centimeter fromitz board") (SYNONYM BOARD BOARDS) (ADJECTIVE
+SHINY GOOD SEVENTEEN CENTIMETER FROMITZ) (SIZE 10) (FLAGS ACIDBIT INVISIBLE
+NDESCBIT) (ACTION GOOD-BOARD-F)> 
+<DEFINE-ROUTINE GOOD-BOARD-F> 
+<GLOBAL BOARD-REPORTED <> %<> WORD> 
+<ROOM SYSTEMS-CORRIDOR-WEST (IN ROOMS) (DESC "Systems Corridor West") (LDESC
+"The corridor bends here, leading east and southwest. A doorway opens
+to the northwest, and a narrow stairway leads down to the north.") (C-MOVE <
+TABLE 0 0 15 0 0 0 25 0 0 0 0 0>) (NW TO INFIRMARY) (NORTH TO REPAIR-ROOM) (
+DOWN TO REPAIR-ROOM) (EAST TO SYSTEMS-CORRIDOR) (SW TO FORK) (FLAGS ONBIT
+RLANDBIT) (GLOBAL STAIRS)> 
+<ROOM SYSTEMS-CORRIDOR (IN ROOMS) (DESC "Systems Corridor") (LDESC
+"This section of hallway has a doorway to the north labelled \"Planateree
+Deefens.\" The corridor continues east and west.") (C-MOVE <TABLE 0 0 0 0 0 0 0
+0 0 0 0 0>) (NORTH TO PLANETARY-DEFENSE) (WEST TO SYSTEMS-CORRIDOR-WEST) (EAST
+TO SYSTEMS-CORRIDOR-EAST) (FLAGS RLANDBIT ONBIT)> 
+<ROOM SYSTEMS-CORRIDOR-EAST (IN ROOMS) (DESC "Systems Corridor East") (LDESC
+"The hallway ends here with a large doorway leading east, and smaller doorways
+to the north and south. The northern doorway is labelled \"Planateree Kors
+Kontrool.\" The hallway itself leads west.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0
+0 0>) (WEST TO SYSTEMS-CORRIDOR) (SOUTH TO LIBRARY-LOBBY) (NORTH TO
+PLANETARY-COURSE-CONTROL) (EAST TO PHYSICAL-PLANT-TWO) (FLAGS RLANDBIT ONBIT)> 
+<ROOM PHYSICAL-PLANT-TWO (IN ROOMS) (DESC "Physical Plant") (LDESC
+"This is an enormous room full of environmental control equipment presumably
+intended to heat and ventilate the Lawanda Complex. Oddly, although the
+Lawanda Complex is slightly smaller than its counterpart, this plant is much
+larger than the one in the Kalamontee Complex. The only exit is westward.") (
+C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (WEST TO SYSTEMS-CORRIDOR-EAST) (OUT TO
+SYSTEMS-CORRIDOR-EAST) (FLAGS FLOYDBIT RLANDBIT ONBIT) (PSEUDO "EQUIPM"
+EQUIPMENT-PSEUDO)> 
+<GLOBAL DEFENSE-FIXED <> %<> WORD> 
+<GLOBAL COURSE-CONTROL-FIXED <> %<> WORD> 
+<GLOBAL ACCESS-PANEL-FULL T %<> WORD> 
+<ROOM PLANETARY-DEFENSE (IN ROOMS) (DESC "Planetary Defense") (C-MOVE <TABLE 0
+0 0 0 0 0 0 0 0 0 0 0>) (SOUTH TO SYSTEMS-CORRIDOR) (OUT TO SYSTEMS-CORRIDOR) (
+FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL CONTROLS LIGHTS) (ACTION
+PLANETARY-DEFENSE-F)> 
+<DEFINE-ROUTINE PLANETARY-DEFENSE-F> 
+<OBJECT ACCESS-PANEL (IN PLANETARY-DEFENSE) (DESC "access panel") (SYNONYM
+PANEL DOOR SOCKET) (ADJECTIVE SMALL ACCESS REPAIR) (FLAGS VOWELBIT NDESCBIT
+CONTBIT SEARCHBIT) (CAPACITY 40) (ACTION ACCESS-PANEL-F)> 
+<DEFINE-ROUTINE ACCESS-PANEL-F> 
+<OBJECT FIRST-BOARD (IN ACCESS-PANEL) (DESC
+"first seventeen-centimeter fromitz board") (SYNONYM BOARD BOARDS) (ADJECTIVE
+FIRST SEVENTEEN CENTIMETER FROMITZ) (ACTION BOARD-F)> 
+<OBJECT FOURTH-BOARD (IN ACCESS-PANEL) (DESC
+"fourth seventeen-centimeter fromitz board") (SYNONYM BOARD BOARDS) (ADJECTIVE
+FOURTH SEVENTEEN CENTIMETER FROMITZ) (ACTION BOARD-F)> 
+<OBJECT THIRD-BOARD (IN ACCESS-PANEL) (DESC
+"third seventeen-centimeter fromitz board") (SYNONYM BOARD BOARDS) (ADJECTIVE
+THIRD SEVENTEEN CENTIMETER FROMITZ) (ACTION BOARD-F)> 
+<OBJECT SECOND-BOARD (IN ACCESS-PANEL) (DESC
+"second seventeen-centimeter fromitz board") (SYNONYM BOARD BOARDS) (ADJECTIVE
+SECOND SEVENTEEN CENTIMETER FROMITZ) (FLAGS TRYTAKEBIT TAKEBIT) (ACTION BOARD-F
+)> 
+<OBJECT FRIED-BOARD (DESC "fried seventeen-centimeter fromitz board") (SYNONYM
+BOARD BOARDS) (ADJECTIVE FRIED SEVENTEEN CENTIMETER FROMITZ) (SIZE 10) (FLAGS
+ACIDBIT TAKEBIT) (ACTION FRIED-BOARD-F)> 
+<DEFINE-ROUTINE FRIED-BOARD-F> 
+<GLOBAL ITS-CRACKED <> %<> WORD> 
+<DEFINE-ROUTINE BOARD-F> 
+<DEFINE-ROUTINE EXAMINE-BOARD> 
+<DEFINE-ROUTINE PUT-BOARD> 
+<DEFINE-ROUTINE BOARD-SHOCK> 
+<ROOM PLANETARY-COURSE-CONTROL (IN ROOMS) (DESC "Course Control") (C-MOVE <
+TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (SOUTH TO SYSTEMS-CORRIDOR-EAST) (OUT TO
+SYSTEMS-CORRIDOR-EAST) (FLAGS FLOYDBIT RLANDBIT ONBIT) (GLOBAL CONTROLS LIGHTS)
+(ACTION PLANETARY-COURSE-CONTROL-F)> 
+<DEFINE-ROUTINE PLANETARY-COURSE-CONTROL-F> 
+<OBJECT CUBE (IN PLANETARY-COURSE-CONTROL) (DESC "large metal cube") (SYNONYM
+CUBE LID SOCKET) (ADJECTIVE LARGE METAL) (FLAGS MUNGBIT NDESCBIT CONTBIT
+SEARCHBIT) (ACTION CUBE-F)> 
+<DEFINE-ROUTINE CUBE-F> 
+<OBJECT BAD-BEDISTOR (IN CUBE) (DESC "fused ninety-ohm bedistor") (SYNONYM
+BEDISTOR) (ADJECTIVE FUSED NINETY OHM) (SIZE 8) (FLAGS ACIDBIT TRYTAKEBIT
+TAKEBIT) (ACTION BAD-BEDISTOR-F)> 
+<DEFINE-ROUTINE BAD-BEDISTOR-F> 
+<ROOM LIBRARY-LOBBY (IN ROOMS) (DESC "Library Lobby") (LDESC
+"This is a carpeted room, thick with dust, with exits to the north and south.
+To the west, up a few steps, is a wide doorway. A small booth lies to the
+east.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (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)> 
+<OBJECT GREEN-SPOOL (IN LIBRARY-LOBBY) (DESC "green spool") (FDESC
+"You catch a glimpse of a small object nestled among the dust.") (SYNONYM SPOOL
+SPOOLS OBJECT) (ADJECTIVE GREEN SMALL) (SIZE 3) (TEXT
+"The spool is labelled \"Helikoptur Opuraateeng Manyuuwul.\"") (FLAGS ACIDBIT
+TAKEBIT READBIT) (ACTION GREEN-SPOOL-F)> 
+<DEFINE-ROUTINE GREEN-SPOOL-F> 
+<ROOM BOOTH-3 (IN ROOMS) (DESC "Booth 3") (LDESC
+"This is a tiny room with a large \"3\" painted on the wall. A panel contains
+a slot about ten centimeters wide, a brown button labelled \"1\" and a beige
+button labelled \"2.\"") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (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)> 
+<ROOM LIBRARY (IN ROOMS) (DESC "Library") (LDESC
+"This is a large carpeted room with a desk and many small tables. The sole
+exit is down a few steps to the east.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>
+) (EAST TO LIBRARY-LOBBY) (OUT TO LIBRARY-LOBBY) (FLAGS RLANDBIT ONBIT FLOYDBIT
+) (GLOBAL TABLES STAIRS) (PSEUDO "CARPET" CARPET-PSEUDO "DESK" DESK-PSEUDO)> 
+<OBJECT TERMINAL (IN LIBRARY-LOBBY) (DESC "terminal") (FDESC
+"Sitting on a wide table is a machine of sorts, consisting of a video
+screen and a keyboard. It is currently turned off.") (LDESC
+"On the table is a computer terminal.") (SYNONYM TERMINAL KEYBOARD SCREEN
+MACHIN) (ADJECTIVE COMPUTER VIDEO) (FLAGS LIGHTBIT) (ACTION TERMINAL-F)> 
+<GLOBAL MENU-LEVEL 0 %<> WORD> 
+<DEFINE-ROUTINE TERMINAL-F> 
+<DEFINE-ROUTINE LIBRARY-TYPE> 
+<GLOBAL SCREEN-TEXT <> %<> WORD> 
+<GLOBAL NO-MEANING
+"The terminal feeps, and a message briefly appears on the
+screen explaining that typing that character has no meaning at the moment." %<>
+WORD> 
+<GLOBAL SCREEN-CLEARS "The screen clears and a different menu appears:|" %<>
+WORD> 
+<GLOBAL TEXT-APPEARS "The screen clears and some text appears:|" %<> WORD> 
+<GLOBAL MORE-INFO
+"|
+\"Foor moor deetaald infoormaashun on xis tapik, konsult xe
+liibrereein foor xe aproopreeit spuulz. Tiip zeeroo tuu goo tuu
+aa hiiyur levul.\"" %<> WORD> 
+<GLOBAL LOW-END "\"Yuu hav reect xe loowist levul uv xe liibreree indeks.
+Pleez tiip zeeroo tuu goo tuu aa hiiyur levul. If yuu reekwiir
+asistins, kawl xe liibrereein.\"" %<> WORD> 
+<GLOBAL MAIN-MENU
+"    1. Histooree|
+    2. Kulcur|
+    3. Teknolojee|
+    4. Jeeografee|
+    5. Xe Prajekt|
+    6. Inturlajik Gaamz" %<> WORD> 
+<GLOBAL HISTORY-MENU
+"    0. Maan Menyuu|
+    1. Raashul Orijinz|
+    2. Graat Hiiaatus|
+    3. Riiz uv xe Nuu Teknakrasee" %<> WORD> 
+<GLOBAL CULTURE-MENU
+"    0. Maan Menyuu|
+    1. Lituracur|
+    2. Art|
+    3. Muusik" %<> WORD> 
+<GLOBAL TECHNOLOGY-MENU
+"    0. Maan Menyuu|
+    1. Medisin|
+    2. Agrikultcur|
+    3. Tranzportaashun|
+    4. Roobotiks|
+    5. Planateree Sistumz" %<> WORD> 
+<GLOBAL GEOGRAPHY-MENU
+"    0. Maan Menyuu|
+    1. Planit Landmasiz|
+    2. Undursee Reejunz|
+    3. Spaas Kolooneez" %<> WORD> 
+<GLOBAL PROJECT-MENU
+"    0. Maan Menyuu|
+    1. Orijinz uv xe Dizeez|
+    2. Xe Instalaashunz|
+    3. Prajekt Kuntrool|" %<> WORD> 
+<GLOBAL INTERLOGIC-MENU
+"    0. Maan Menyuu|
+    1. Zoork|
+    2. Dedliin and Witnis|
+    3. Starkros and Suspendid" %<> WORD> 
+<GLOBAL 11-TEXT "\"Xe aancint lejindz saa xat ships frum xe Sekund Yuunyun wuns fild ar skiis
+and wil wun daa kum agen. Madern siientists, huu wuns dismist suc lejindz
+and felt xat liif eevolvd heer on Resida, now feel xat ar planit wuz reelee
+setuld bii men uv xe Sekund Yuunyun.\"" %<> WORD> 
+<GLOBAL 12-TEXT "\"Wexur oor not xe lejindz uv xe Sekund Yuunyun ar truu, arkeeoloojists ar
+surtin xat aa peereeid uv hii teknoolojikul and sooshul deevelupmint egzistid
+xowzindz uv yeerz agoo, but foor sum reezin sivilizaashun slid intuu aa dark
+aaj lasteeng senshureez.\"" %<> WORD> 
+<GLOBAL 13-TEXT "\"Wixin xe last fiiv senshureez, xe riiz uv xe Nuu Teknakrasee haz reeturnd
+sivilizaashun tuu xe levul ataand beefoor xe Hiiaatus. Sooshul histooreeunz
+xink xat wen xe Dizeez struk, ar raas had aceevd aa levul uv sufistikaashun
+eekwal tuu xe pree-Hiiaatus.\"" %<> WORD> 
+<GLOBAL 21-TEXT "\"Menee volyuumz on xe deevelupmint uv Residan lituracur ar on fiil in xe
+liibreree. Alsoo, kopeez uv awl graat wurks uv riiteeng, sum daateeng bak tuu
+xe mixikul daaz uv xe Sekund Yuunyun, ar lookaatid heer.\"" %<> WORD> 
+<GLOBAL 22-TEXT "\"Histoorikul studeez and reeproodukshunz uv Residan art ar avaalibul heer
+foor awl xree maajur peereeids uv art deevelupmint: xe Primitiv peereeid, xe
+Renasans peereeid uv xe urlee poost-Hiiaatus, and xe moost reesint peereeid
+uv videeoo and laazur art.\"" %<> WORD> 
+<GLOBAL 23-TEXT "\"Reekoordeengz uv awl impoortint kompoozishunz uv xe last fiiv hundrid yeerz
+ar lookaatid in xe liibrereez data banks.\"" %<> WORD> 
+<GLOBAL 31-TEXT "\"Awl maajur dizeezuz hav bin kyuuribul foor oovur aa senshuree. Xe
+deevelupmint uv kriioojeniks now alowz dokturz tuu put paashints in staasis
+until aa kyuur iz fownd. Avurij Residan liif ekspektinsee iz now 147
+revooluushunz.\"" %<> WORD> 
+<GLOBAL 32-TEXT "\"Durt farmeeng iz awl but obsooleet, wix moost fuud kumeeng frum xe
+hiidrooponiks kompleksiz oor xe undurwatur aljee farmz.\"" %<> WORD> 
+<GLOBAL 33-TEXT "\"Planateree travul iz noormulee priivit skuutur foor shoort hops, and aarbus
+foor longur trips.  Spaas travul haz reesintlee bin revooluushuniizd bii xe
+invenshun uv nuukleeur-fyuuld enjinz.\"" %<> WORD> 
+<GLOBAL 34-TEXT "\"Untoold senshureez agoo, entiir teemz uv roobots wur reekwiird tuu purfoorm
+eevin xe simplist tasks...wun roobot wud handul viszuuwul funkshunz, wun roobot
+wud handul awditooree funkshunz, and soo foorx. Now, xanks tuu advansis in
+mineeatshurizaashun, xeez tasks kan bee purfoormd bii singul roobots, suc az
+xe multiipurpis B-19 seereez.\"" %<> WORD> 
+<GLOBAL 35-TEXT "\"Xe priimeree Planateree Sistumz ar Kors Kuntrool (foor maantaaneeng an
+iideel kliimit), Deefens (foor destroieeng pootenshulee daanjuris meeteeoorz),
+and xe reesintlee adid Prajekt Kuntrool (foor monitureeng proogres uv
+Xe Prajekt).\"" %<> WORD> 
+<GLOBAL 41-TEXT "\"Sins xe staabulizaashun uv xe oorbit uv Resida, preesiislee 47.79 pursent
+uv xe planits surfis iz land. Xe land iz diviidid intuu tuu priimeree
+landmasiz, Andoor and Fruulik, plus siks lesur landmasiz. Xe gloobul kapitul,
+Pilandoor, iz on xe eesturn koost uv Andoor.\"" %<> WORD> 
+<GLOBAL 42-TEXT "\"Xe furst undursee habutats wur oopind in 2992, and tuudaa, neerlee tuu
+senshureez laatur, abowt 9 pursent uv Residaz popyuulaashun livz in wun
+uv xe twentee sprawleeng undursee siteez.\"" %<> WORD> 
+<GLOBAL 43-TEXT "\"Alxoo setulmints hav bin establisht on Fristin, and on sevrul uv xe muunz
+uv xe gas jiiunt Blustin, xe vast majooritee uv of-woorldurz liv in xe
+spaas kolooneez establisht at Residaz troojin points.\"" %<> WORD> 
+<GLOBAL 51-TEXT "\"Xe oorijin uv Xe Dizeez haz bin linkt tuu xe Sentur foor Advanst Kriioojenik
+Reesurc, wic wuz kondukteeng reesurc intuu waaz uv ekstendeeng xe Kriioojenik
+peereeid indefinitlee. Alxoo xis reesurc wuz aa sukses, sumhow Xe Dizeez
+wuz reeleest and beegan spredeeng.\"" %<> WORD> 
+<GLOBAL 52-TEXT "\"Xe tuu kompleksiz wur establisht on xe twin peek platooz uv Kalamontee and
+Lawanda. Xeez lookaashunz wur coozin beekawz xaar hiit wud maak
+transpoortaashun and komyuunikaashunz eezeeur, and soo xat xe vast reeakturz
+and kriioojeniks caamburz kud bee kunstruktid in xe mowntinz beeloo.\"" %<>
+WORD> 
+<GLOBAL 53-TEXT "\"Faaz Wun: xe kunstrukshun uv xe Kalamontee and Lawanda Kompleksiz. Faaz
+Tuu: mass kriioojenik freezeeng uv Residan popyuulaashun. Faaz Xree:
+siimultaaneeus monitureeng uv kriioojeniks wiil awtoomaatid reesurc iz
+konduktid bii inkrediblee soofistikaatid kumpyuuturiizd fasiliteez. Faaz
+Foor: reeviivul and inokyuulaashun uv xe popyuulaashun.\"" %<> WORD> 
+<GLOBAL 61-TEXT "\"Xe Zoork triloojee, an adventshur klasik, taaks plaas in aa deeliitful
+but daanjuris undurgrownd seteeng.\"" %<> WORD> 
+<GLOBAL 62-TEXT "\"Dedliin iz xe furst graat misturee uv xe kumpyuutur aaj, and Witnis iz
+its wurxee suksesur.\"" %<> WORD> 
+<GLOBAL 63-TEXT "\"Starkros iz Infookamz miind-bendeeng siiens-fikshun adventshur. Suspendid
+iz aa kriioojenik siiens-fikshun niitmaar.\"" %<> WORD> 
+<OBJECT SPOOL-READER (IN LIBRARY) (DESC "microfilm reader") (FDESC
+"On the desk is a machine with a screen and a small circular opening. It
+seems to be turned off.") (LDESC
+"There is a microfilm reader on one of the tables.") (SYNONYM READER SCREEN
+OPENIN MACHIN) (ADJECTIVE MICROF SMALL CIRCUL) (CAPACITY 3) (FLAGS LIGHTBIT
+CONTBIT SEARCHBIT OPENBIT) (ACTION SPOOL-READER-F)> 
+<GLOBAL SPOOL-TEXT <> %<> WORD> 
+<DEFINE-ROUTINE SPOOL-READER-F> 
+<GLOBAL SPOOL-FITS "The spool fits neatly into the opening." %<> WORD> 
+<GLOBAL SOME-INFO " Some information appears on the screen." %<> WORD> 
+<GLOBAL GREEN-TEXT
+"\"Oonlee peepul wix propur traaneeng shud piilot xe helikopturz. Reekwiird
+ekwipmint inkluudz aa Helikoptur Akses Kard and aa Kuntrool Panul Kee. Xeez
+kan bee obtaand frum Tranzportaashun Stoorij.\"|
+The rest is all very technical." %<> WORD> 
+<GLOBAL RED-TEXT
+"\"Xe jestaashun peereeid uv Xe Dizeez, folooweeng ekspoozur, vaareez
+treemenduslee frum pursin tuu pursin, raanjeeng frum wun daa tuu sevrul
+rootaashunz. Wuns xe furst simptumz ar shoon, dex alwaaz okurz in aat tuu
+ten daaz.|
+Xe priimeree simptum iz aa hii feevur. Xe sekunderee simptum iz aa sharp
+inkrees in xe amownt uv sleep needid eec niit.\"|
+The rest of the information is about symptoms which can be detected only by
+using complicated medical procedures." %<> WORD> 
+<ROOM PROJECT-CORRIDOR-WEST (IN ROOMS) (DESC "Project Corridor West") (LDESC
+"This is a curving hallway leading east and northwest. There is an opening
+to the west.") (C-MOVE <TABLE 0 0 0 0 25 0 0 0 0 0 0 0>) (WEST TO SANFAC-F) (
+EAST TO PROJECT-CORRIDOR) (NW TO FORK) (FLAGS RLANDBIT ONBIT)> 
+<ROOM SANFAC-F (IN ROOMS) (DESC "SanFac F") (LDESC
+"This is another dusty sanitary facility. Unlike the ones near the dorms,
+this one is smaller and has no bathing fixtures.") (C-MOVE <TABLE 0 0 0 0 0 0 0
+0 0 0 0 0>) (EAST TO PROJECT-CORRIDOR-WEST) (OUT TO PROJECT-CORRIDOR-WEST) (
+FLAGS FLOYDBIT RLANDBIT ONBIT) (PSEUDO "FIXTURES" TOILET-PSEUDO "TOILET"
+TOILET-PSEUDO)> 
+<ROOM PROJECT-CORRIDOR (IN ROOMS) (DESC "Project Corridor") (LDESC
+"You are at the center of a long east-west hallway. A doorway, labelled
+\"PrajKon Awfis\", opens to the south.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0
+>) (EAST TO PROJECT-CORRIDOR-EAST) (WEST TO PROJECT-CORRIDOR-WEST) (SOUTH TO
+PROJCON-OFFICE) (FLAGS RLANDBIT ONBIT)> 
+<ROOM PROJCON-OFFICE (IN ROOMS) (DESC "ProjCon Office") (C-MOVE <TABLE 0 0 0 0
+0 0 0 0 0 0 0 0>) (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)> 
+<DEFINE-ROUTINE PROJCON-OFFICE-F> 
+<GLOBAL MURAL-FLAG <> %<> WORD> 
+<OBJECT CRYO-ELEVATOR-DOOR (IN LOCAL-GLOBALS) (DESC "cryo-elevator door") (
+SYNONYM DOOR) (ADJECTIVE CRYO-ELEVATOR ELEVATOR) (FLAGS NDESCBIT INVISIBLE)> 
+<ROOM CRYO-ELEVATOR (IN ROOMS) (DESC "Cryo-Elevator") (C-MOVE <TABLE 0 0 0 0 0
+0 0 0 0 0 0 0>) (NORTH PER CRYO-EXIT-F) (GLOBAL CRYO-ELEVATOR-DOOR) (FLAGS
+RLANDBIT ONBIT) (PSEUDO "BUTTON" CRYO-BUTTON-PSEUDO) (ACTION CRYO-ELEVATOR-F)> 
+<DEFINE-ROUTINE CRYO-ELEVATOR-F> 
+<DEFINE-ROUTINE CRYO-EXIT-F> 
+<GLOBAL CRYO-SCORE-FLAG <> %<> WORD> 
+<DEFINE-ROUTINE I-CRYO-ELEVATOR-ARRIVE> 
+<ROOM CRYO-ANTEROOM (IN ROOMS) (DESC "Cryo-Anteroom") (C-MOVE <TABLE 0 0 0 0 0
+0 0 0 0 0 0 0>) (FLAGS RLANDBIT ONBIT) (ACTION CRYO-ANTEROOM-F)> 
+<DEFINE-ROUTINE CRYO-ANTEROOM-F> 
+<ROOM PROJECT-CORRIDOR-EAST (IN ROOMS) (DESC "Project Corridor East") (LDESC
+"The hallway ends here but continues back toward the west. Doorways lead
+north, south and east.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (NORTH TO
+LIBRARY-LOBBY) (SOUTH TO COMPUTER-ROOM) (WEST TO PROJECT-CORRIDOR) (EAST TO
+MAIN-LAB) (FLAGS RLANDBIT ONBIT)> 
+<ROOM COMPUTER-ROOM (IN ROOMS) (DESC "Computer Room") (LDESC
+"This is the main computer room for the Project. The only sign of activity is
+a glowing red light. The exits are north, west, and northeast. To the south
+is a small booth.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 25 0>) (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)> 
+<GLOBAL COMPUTER-FLAG <> %<> WORD> 
+<DEFINE-ROUTINE COMPUTER-ACTION> 
+<OBJECT PRINT-OUT (IN COMPUTER-ROOM) (DESC "pile of computer output") (SYNONYM
+PILE PAPER OUTPUT PRINTOUT) (ADJECTIVE COMPUTER) (SIZE 20) (FLAGS ACIDBIT
+TAKEBIT READBIT) (ACTION PRINT-OUT-F)> 
+<DEFINE-ROUTINE PRINT-OUT-F> 
+<ROOM MINI-BOOTH (IN ROOMS) (DESC "Miniaturization Booth") (LDESC
+"This is a small room barely large enough for one person. Mounted on the wall
+is a small slot, and next to it a keyboard with numeric keys. The exit is to
+the north.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (NORTH TO COMPUTER-ROOM)
+(OUT TO COMPUTER-ROOM) (FLAGS RLANDBIT ONBIT) (GLOBAL SLOT) (PSEUDO "KEYBOARD"
+KEYBOARD-PSEUDO "BOOTH" IN-BOOTH-PSEUDO)> 
+<OBJECT MINI-CARD (IN BIO-LOCK-EAST) (DESC "miniaturization access card") (
+SYNONYM CARD CARDS) (ADJECTIVE MINIAT MINI ACCESS) (SIZE 3) (FLAGS TAKEBIT
+NDESCBIT INVISIBLE READBIT) (VALUE 1) (TEXT
+"The card is embossed \"minitcurizaashun akses kard.\"") (ACTION MINI-CARD-F)> 
+<DEFINE-ROUTINE MINI-CARD-F> 
+<ROOM MAIN-LAB (IN ROOMS) (DESC "Main Lab") (LDESC
+"This is the heart of the Project's vast laboratory complex. There are exits
+to the west and southwest, and heavy metal doors to the northeast and
+southeast. A small doorway leads south.") (C-MOVE <TABLE 0 0 0 0 0 0 25 0 0 0 0
+0>) (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)> 
+<ROOM LAB-STORAGE (IN ROOMS) (DESC "Lab Storage") (LDESC
+"This is a tiny room for the storage of laboratory supplies. The sole exit is
+to the north.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (NORTH TO MAIN-LAB) (
+OUT TO MAIN-LAB) (FLAGS RLANDBIT FLOYDBIT ONBIT) (GLOBAL SHELVES) (PSEUDO
+"RACK" CARPET-PSEUDO "SUPPLIES" SUPPLIES-PSEUDO)> 
+<OBJECT LAB-UNIFORM (IN LAB-STORAGE) (DESC "lab uniform") (FDESC
+"Hanging on a rack is a pale blue lab uniform. Sewn onto its pocket is a
+non-descript logo.") (SYNONYM UNIFORM SUIT POCKET LOGO) (ADJECTIVE PALE BLUE
+LAB) (SIZE 10) (CAPACITY 5) (FLAGS TAKEBIT CONTBIT SEARCHBIT WEARBIT) (ACTION
+LAB-UNIFORM-F)> 
+<GLOBAL UNIFORM-OPENED <> %<> WORD> 
+<DEFINE-ROUTINE LAB-UNIFORM-F> 
+<OBJECT TELEPORTATION-CARD (IN LAB-UNIFORM) (DESC "teleportation access card")
+(SYNONYM CARD CARDS) (ADJECTIVE TELEPO ACCESS) (SIZE 3) (FLAGS TAKEBIT READBIT)
+(TEXT "The card is embossed \"teliportaashun akses kard.\"")> 
+<OBJECT COMBINATION-PAPER (IN LAB-UNIFORM) (DESC "piece of paper") (SYNONYM
+PIECE PAPER) (FLAGS ACIDBIT TAKEBIT READBIT) (SIZE 2) (ACTION
+COMBINATION-PAPER-F)> 
+<DEFINE-ROUTINE COMBINATION-PAPER-F> 
+<ROOM BIO-LOCK-WEST (IN ROOMS) (DESC "Bio Lock West") (LDESC
+"This is the first half of a sterilization chamber to prevent contamination
+of the delicate biological experiments in the Bio Lab which lies beyond. The
+door to the west leads to the main lab, and the bio lock continues eastward.")
+(C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 10 0 0>) (EAST TO BIO-LOCK-EAST) (WEST TO
+MAIN-LAB IF BIO-DOOR-WEST IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL BIO-DOOR-WEST
+)> 
+<ROOM BIO-LOCK-EAST (IN ROOMS) (DESC "Bio Lock East") (LDESC
+"The is the second half of the sterilization chamber leading from the main
+lab to the Bio Lab. The door to the east, leading to the Bio Lab, has a
+window. The bio lock continues to the west.") (C-MOVE <TABLE 0 0 0 0 0 10 0 0 0
+0 0 0>) (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)> 
+<DEFINE-ROUTINE BIO-LOCK-EAST-F> 
+<GLOBAL FLOYD-PEERED <> %<> WORD> 
+<DEFINE-ROUTINE I-CLEAR-FLOYD-PEER> 
+<ROOM RADIATION-LOCK-WEST (IN ROOMS) (DESC "Radiation Lock West") (LDESC
+"This is the western half of a decontamination chamber to prevent dangerous
+radioactive materials from leaving the Radiation Lab which lies to the east.
+The door leads west to the main lab.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>)
+(EAST TO RADIATION-LOCK-EAST) (WEST TO MAIN-LAB IF RAD-DOOR-WEST IS OPEN) (
+FLAGS RLANDBIT ONBIT) (GLOBAL RAD-DOOR-WEST)> 
+<ROOM RADIATION-LOCK-EAST (IN ROOMS) (DESC "Radiation Lock East") (LDESC
+"This is the eastern half of the decontamination chamber. The door to the
+east leads to the Radiation Lab, and the chamber continues westward. A sign
+on the wall reads \"WORNEENG! Raadeeaashun suuts must bee worn beeyond xis
+point.\"") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (EAST TO RADIATION-LAB IF
+RAD-DOOR-EAST IS OPEN) (WEST TO RADIATION-LOCK-WEST) (FLAGS RLANDBIT ONBIT) (
+GLOBAL RAD-DOOR-EAST)> 
+<OBJECT BIO-DOOR-EAST (IN LOCAL-GLOBALS) (DESC "lab door") (SYNONYM DOOR) (
+ADJECTIVE LAB) (FLAGS DOORBIT NDESCBIT) (ACTION BIO-DOOR-EAST-F)> 
+<OBJECT BIO-DOOR-WEST (IN LOCAL-GLOBALS) (DESC "bio-lock door") (SYNONYM DOOR)
+(ADJECTIVE BIO-LOCK) (FLAGS DOORBIT NDESCBIT) (ACTION BIO-DOOR-WEST-F)> 
+<OBJECT RAD-DOOR-EAST (IN LOCAL-GLOBALS) (DESC "lab door") (SYNONYM DOOR) (
+ADJECTIVE LAB) (FLAGS DOORBIT NDESCBIT) (ACTION RAD-DOOR-EAST-F)> 
+<OBJECT RAD-DOOR-WEST (IN LOCAL-GLOBALS) (DESC "radiation-lock door") (SYNONYM
+DOOR) (ADJECTIVE RADIATION) (FLAGS DOORBIT NDESCBIT) (ACTION RAD-DOOR-WEST-F)> 
+<DEFINE-ROUTINE BIO-DOOR-EAST-F> 
+<DEFINE-ROUTINE I-BIO-EAST-CLOSES> 
+<DEFINE-ROUTINE BIO-DOOR-WEST-F> 
+<DEFINE-ROUTINE I-BIO-WEST-CLOSES> 
+<DEFINE-ROUTINE RAD-DOOR-EAST-F> 
+<DEFINE-ROUTINE RAD-DOOR-WEST-F> 
+<GLOBAL BOTH-DOORS
+"A very bored-sounding recorded voice explains that, in order to prevent
+contamination, both lock doors cannot be open simultaneously." %<> WORD> 
+<GLOBAL DOOR-OPENS "The door opens." %<> WORD> 
+<GLOBAL DOOR-CLOSES "The door closes." %<> WORD> 
+<GLOBAL FLOYD-WAITING <> %<> WORD> 
+<GLOBAL WAITING-COUNTER 0 %<> WORD> 
+<GLOBAL FLOYD-GAVE-UP <> %<> WORD> 
+<GLOBAL FLOYD-FORAYED <> %<> WORD> 
+<GLOBAL FORAY-COUNTER 0 %<> WORD> 
+<DEFINE-ROUTINE I-FLOYD-FORAY> 
+<DEFINE-ROUTINE MONSTER-DEATH> 
+<ROOM BIO-LAB (IN ROOMS) (DESC "Bio Lab") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0
+0>) (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)> 
+<DEFINE-ROUTINE BIO-LAB-F> 
+<GLOBAL EXTRA-MOVE-FLAG <> %<> WORD> 
+<GLOBAL CRYO-MOVE-FLAG <> %<> WORD> 
+<GLOBAL LAST-CHASE-ROOM <> %<> WORD> 
+<GLOBAL SECOND-TO-LAST-ROOM <> %<> WORD> 
+<DEFINE-ROUTINE I-CHASE-SCENE> 
+<GLOBAL MONSTER-ENTRANCES <PLTABLE
+"The growling humanoid is charging straight at you, waving his
+axe-like implement!" "A pair of slavering fangs removes part of your clothing!"
+"Needle-sharp mandibles nip at your arms!"
+"The mobile plant whips its poisonous tentacles against
+your ankles!"> %<> WORD> 
+<ROOM RADIATION-LAB (IN ROOMS) (DESC "Radiation Lab") (LDESC
+"This room is filled with unfathomable equipment and large canisters bearing
+radioactive warnings. Many of the canisters are split open. You can see the
+Bio Lab through a large crack in the south wall. Sinister-looking forms move
+about within the Bio Lab. Although the lights here are off, the room is
+suffused with a pale blue glow.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (
+WEST TO RADIATION-LOCK-EAST IF RAD-DOOR-EAST IS OPEN) (FLAGS RLANDBIT ONBIT) (
+GLOBAL TABLES RAD-DOOR-EAST) (PSEUDO "CRACK" CRACK-PSEUDO "EQUIPM"
+EQUIPMENT-PSEUDO) (ACTION RADIATION-LAB-F)> 
+<DEFINE-ROUTINE RADIATION-LAB-F> 
+<GLOBAL NUKED-COUNTER 0 %<> WORD> 
+<DEFINE-ROUTINE I-NUKED-BLUE> 
+<OBJECT BROWN-SPOOL (IN RADIATION-LAB) (DESC "brown spool") (FDESC
+"Sitting on a long table is a small brown spool.") (SYNONYM SPOOL SPOOLS OBJECT
+) (ADJECTIVE BROWN SMALL) (SIZE 3) (TEXT
+"The spool is labelled \"Instrukshunz foor Reepaareeng Reepaar Roobots.\"") (
+FLAGS ACIDBIT TAKEBIT READBIT)> 
+<OBJECT LAMP (IN RADIATION-LAB) (DESC "portable lamp") (FDESC
+"There is a powerful portable lamp here, currently off.") (SYNONYM LAMP LANTERN
+LIGHT) (ADJECTIVE POWERFUL PORTABLE) (SIZE 20) (FLAGS TAKEBIT) (ACTION LAMP-F)>
+
+<DEFINE-ROUTINE LAMP-F> 
+<ROOM LAB-OFFICE (IN ROOMS) (DESC "Lab Office") (C-MOVE <TABLE 0 0 0 0 0 0 0 0
+0 0 0 0>) (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)> 
+<DEFINE-ROUTINE LAB-OFFICE-F> 
+<OBJECT OFFICE-DOOR (IN LOCAL-GLOBALS) (DESC "office door") (SYNONYM DOOR) (
+ADJECTIVE OFFICE) (FLAGS VOWELBIT DOORBIT NDESCBIT)> 
+<OBJECT LAB-DESK (IN LAB-OFFICE) (DESC "desk") (SYNONYM DESK) (ADJECTIVE LARGE
+MESSY) (FLAGS CONTBIT SEARCHBIT NDESCBIT) (CAPACITY 10) (ACTION LAB-DESK-F)> 
+<DEFINE-ROUTINE LAB-DESK-F> 
+<OBJECT GAS-MASK (IN LAB-DESK) (DESC "gas mask") (SYNONYM MASK) (ADJECTIVE GAS)
+(FLAGS ACIDBIT TAKEBIT WEARBIT) (SIZE 10)> 
+<OBJECT MEMO (DESC "memo") (SYNONYM MEMO) (FLAGS READBIT ACIDBIT TAKEBIT) (TEXT
+"\"Memoo tuu awl lab pursunel: Duu tuu xe daanjuris naatshur uv xe biioo
+eksperiments, an eemurjensee sistum haz bin instawld. Xis sistum wud flud
+xe entiir Biioo Lab wic aa dedlee fungasiid. Propur preecawshunz shud bee
+taakin if xis sistum iz evur yuuzd.\"")> 
+<OBJECT LIGHT-BUTTON (IN LAB-OFFICE) (DESC "white button") (SYNONYM BUTTON) (
+ADJECTIVE WHITE LIGHT) (FLAGS NDESCBIT) (ACTION LIGHT-BUTTON-F)> 
+<OBJECT DARK-BUTTON (IN LAB-OFFICE) (DESC "black button") (SYNONYM BUTTON) (
+ADJECTIVE BLACK DARK DARKNESS) (FLAGS NDESCBIT) (ACTION DARK-BUTTON-F)> 
+<OBJECT FUNGICIDE-BUTTON (IN LAB-OFFICE) (DESC "red button") (SYNONYM BUTTON) (
+ADJECTIVE RED FUNGICIDE EMERGENCY) (FLAGS NDESCBIT) (ACTION FUNGICIDE-BUTTON-F)
+> 
+<GLOBAL LAB-LIGHTS-ON <> %<> WORD> 
+<GLOBAL LAB-FLOODED <> %<> WORD> 
+<DEFINE-ROUTINE LIGHT-BUTTON-F> 
+<DEFINE-ROUTINE DARK-BUTTON-F> 
+<GLOBAL FAINT-SOUND "You hear the faint sound of a relay clicking." %<> WORD> 
+<DEFINE-ROUTINE FUNGICIDE-BUTTON-F> 
+<DEFINE-ROUTINE I-UNFLOOD> 
+<ROOM AUXILIARY-BOOTH (IN ROOMS) (DESC "Auxiliary Booth") (LDESC
+"This is another small booth. Unlike the Miniaturization Booth, this room
+has no slot or keyboard, so presumably it is intended only as a receiving
+station. The exit is on the northern side.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0
+0 0>) (NORTH TO LAB-OFFICE) (OUT TO LAB-OFFICE) (FLAGS RLANDBIT ONBIT) (VALUE 4
+) (PSEUDO "BOOTH" IN-BOOTH-PSEUDO)> 
+<GLOBAL MINI-ACTIVATED <> %<> WORD> 
+<DEFINE-ROUTINE I-TURNOFF-MINI> 
+<ROOM STATION-384 (IN ROOMS) (DESC "Station 384") (LDESC
+"You are standing on a square plate of heavy metal. Above your head, parallel
+to the plate beneath you, is an identical metal plate. To the east is a wide,
+metallic strip.") (C-MOVE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0>) (EAST TO
+STRIP-NEAR-STATION) (FLAGS RLANDBIT ONBIT) (GLOBAL STRIP) (PSEUDO "PLATE"
+PLATE-PSEUDO "PLATES" PLATE-PSEUDO) (ACTION STATION-384-F)> 
+<DEFINE-ROUTINE STATION-384-F> 
+<DEFINE-ROUTINE I-ANNOUNCEMENT> 
+<GLOBAL BEEN-HERE <> %<> WORD> 
+<GLOBAL COMPUTER-FIXED <> %<> WORD> 
+<GLOBAL FAMILIAR-WRENCHING
+"You feel the familiar wrenching of your innards, and find yourself in a vast
+room whose distant walls are rushing straight toward you...|" %<> WORD> 
+<ROOM STRIP-NEAR-STATION (IN ROOMS) (DESC "Strip Near Station") (LDESC
+"You are standing on a silicon filament, which looks to you like a wide
+metal highway. South of here, the filament makes a right angle and heads
+straight down, like a cliff overlooking a black void. The filament can be
+followed north, however. Station 384 lies westward.") (C-MOVE <TABLE 0 0 0 0 0
+0 0 0 0 0 0 0>) (SOUTH "The plunge would probably be fatal.") (EAST
+"The plunge would probably be fatal.") (NORTH TO MIDDLE-OF-STRIP) (WEST TO
+STATION-384) (FLAGS RLANDBIT ONBIT) (VALUE 4) (PSEUDO "VOID" VOID-PSEUDO) (
+GLOBAL STRIP)> 
+<ROOM MIDDLE-OF-STRIP (IN ROOMS) (DESC "Middle of Strip") (LDESC
+"You are standing on a section of the strip with a bottomless void stretching
+out on both sides. The strip continues to the north and south.") (C-MOVE <TABLE
+0 0 0 0 0 0 0 0 0 0 0 0>) (NORTH TO STRIP-NEAR-RELAY) (SOUTH TO
+STRIP-NEAR-STATION IF NO-MICROBE ELSE
+"Not a chance -- unless,
+of course, you don't mind walking into the gullet of a hungry microbe.") (EAST
+"Do you have a penchant for bottomless voids?") (WEST
+"Do you have a penchant for bottomless voids?") (FLAGS RLANDBIT ONBIT) (ACTION
+MIDDLE-OF-STRIP-F) (PSEUDO "VOID" VOID-PSEUDO) (GLOBAL STRIP)> 
+<GLOBAL NO-MICROBE T %<> WORD> 
+<GLOBAL MICROBE-DISPATCHED <> %<> WORD> 
+<DEFINE-ROUTINE MIDDLE-OF-STRIP-F> 
+<ROOM STRIP-NEAR-RELAY (IN ROOMS) (DESC "Strip Near Relay") (C-MOVE <TABLE 0 0
+0 0 0 0 0 0 0 0 0 0>) (NORTH
+"There is a huge featureless wall there, remember?") (SOUTH TO MIDDLE-OF-STRIP
+IF NO-MICROBE ELSE
+"Not a chance -- unless,
+of course, you don't mind walking into the gullet of a hungry microbe.") (EAST
+PER RELAY-EXIT-F) (WEST "Do you have a penchant for bottomless voids?") (FLAGS
+RLANDBIT ONBIT) (GLOBAL STRIP) (PSEUDO "VOID" VOID-PSEUDO) (ACTION
+STRIP-NEAR-RELAY-F)> 
+<DEFINE-ROUTINE STRIP-NEAR-RELAY-F> 
+<DEFINE-ROUTINE RELAY-EXIT-F> 
+<OBJECT RELAY (IN STRIP-NEAR-RELAY) (DESC "micro-relay") (SYNONYM MICRO RELAY)
+(ADJECTIVE MICRO) (FLAGS NDESCBIT TRANSBIT) (ACTION RELAY-F)> 
+<DEFINE-ROUTINE RELAY-F> 
+<OBJECT SPECK (IN RELAY) (DESC "speck") (SYNONYM SPECK BOULDER IMPURITY) (
+ADJECTIVE BLUE) (FLAGS NDESCBIT)> 
+<OBJECT LASER (IN TOOL-ROOM) (DESC "laser") (FDESC
+"A small device, labelled \"Akmee Portabul Laazur\", is resting on one of
+the lower shelves.") (SYNONYM DEVICE LASER UNIT DEPRES) (ADJECTIVE PORTABLE
+ACME) (SIZE 25) (CAPACITY 5) (FLAGS MUNGBIT TAKEBIT OPENBIT TRANSBIT CONTBIT) (
+ACTION LASER-F)> 
+<OBJECT LASER-DIAL (IN LASER) (DESC "laser setting dial") (SYNONYM DIAL) (
+ADJECTIVE LASER SETTING) (FLAGS MUNGBIT NDESCBIT) (ACTION LASER-DIAL-F)> 
+<DEFINE-ROUTINE LASER-DIAL-F> 
+<OBJECT OLD-BATTERY (IN LASER) (DESC "old battery") (LDESC
+"There is a worn-out laser battery here.") (SYNONYM BATTERY) (ADJECTIVE LASER
+WORN-OUT OLD) (SIZE 5) (FLAGS VOWELBIT ACIDBIT TAKEBIT)> 
+<OBJECT NEW-BATTERY (IN LAB-STORAGE) (DESC "new battery") (FDESC
+"The odds and ends on the shelves include a small round object, which closer
+inspection reveals to be a fresh laser battery.") (SYNONYM OBJECT BATTERY) (
+ADJECTIVE LASER SMALL ROUND FRESH NEW) (SIZE 5) (FLAGS ACIDBIT TAKEBIT)> 
+<GLOBAL LASER-SETTING 5 %<> WORD> 
+<GLOBAL SPECK-HIT <> %<> WORD> 
+<GLOBAL OLD-SHOTS 0 %<> WORD> 
+<GLOBAL NEW-SHOTS 0 %<> WORD> 
+<DEFINE-ROUTINE ZAP-COUNT> 
+<DEFINE-ROUTINE LASER-F> 
+<DEFINE-ROUTINE ALREADY-BATTERY> 
+<DEFINE-ROUTINE BATTERY-NOW> 
+<GLOBAL WARMTH-FLAG 0 %<> WORD> 
+<GLOBAL LASER-JUST-SHOT <> %<> WORD> 
+<DEFINE-ROUTINE I-WARMTH> 
+<DEFINE-ROUTINE LASER-FEELS> 
+<DEFINE-ROUTINE LASER-COOLS> 
+<GLOBAL LASER-SCORE-FLAG <> %<> WORD> 
+<GLOBAL MARKSMANSHIP-COUNTER 0 %<> WORD> 
+<DEFINE-ROUTINE BEAM-COLOR> 
+<DEFINE-ROUTINE SHOOT-SPECK> 
+<GLOBAL BEAM-MISSES <PLTABLE "The beam just misses the speck!" "A near miss!"
+"A good shot, but just a little wide of the target."> %<> WORD> 
+<DEFINE-ROUTINE I-FRY> 
+<OBJECT MICROBE (DESC "microbe") (LDESC
+"A hungry microbe blocks your way, its cilia waving and its pseudopods
+towering over you.") (SYNONYM MICROBE BUG MONSTER) (ADJECTIVE HUNGRY) (FLAGS
+ACTORBIT) (ACTION MICROBE-F)> 
+<DEFINE-ROUTINE MICROBE-F> 
+<DEFINE-ROUTINE I-MICROBE> 
+<GLOBAL WINNER-ATTACKED <PLTABLE
+"A pseudopod extends toward you. You jump back just in time
+to avoid being engulfed."
+"A slimy pseudopod brushes against your shoulder. You twist
+away in the nick of time."
+"A pseudopod shoots out toward your head! Ducking quickly,
+you save your life."
+"Two protoplasm-filled blobs sneak toward you from the left.
+You jump to the side and almost fall off the strip into the void below!"> %<>
+WORD> 
+<GLOBAL MONSTER-CLOSES <PLTABLE
+"The microbe slithers closer. The cilia around its gullet glisten
+with mucus, giving the impression that the microbe is salivating."
+"The microbe flows toward you. It towers above you, its cilia
+waving madly in your face."
+"The monster wriggles nearer. It is now so close that you can make
+out details in the protoplasm beneath its translucent skin."> %<> WORD> 
+<GLOBAL MICROBE-HIT <> %<> WORD> 
+<GLOBAL MICROBE-COUNTER 0 %<> WORD> 
+<DEFINE-ROUTINE SHOOT-MICROBE> 
+<GLOBAL MICROBE-STRIKES <PLTABLE
+"The microbe's outer membrane sizzles a bit, and some protoplasm
+oozes out. The microbe recoils momentarily, but quickly recovers."
+"The beam slices through the microbe's skin! A tremendous shudder
+passes through the microbe, but the wound quickly seals itself."
+"The monster rears back for a moment, but almost as soon as the
+beam goes off, it advances again."> %<> WORD> 
+<OBJECT STRIP (IN LOCAL-GLOBALS) (DESC "silicon strip") (SYNONYM STRIP SIDE
+EDGE) (ADJECTIVE SILICON) (FLAGS NDESCBIT) (ACTION STRIP-F)> 
+<DEFINE-ROUTINE STRIP-F> 
+<OBJECT RAT-ANT (IN BIO-LAB) (DESC "rat-like, ant-like man-sized monster") (
+LDESC "A ferocious feral creature, with a hairy shelled body and
+a whip-like tail snaps its enormous mandibles at you.") (SYNONYM MONSTER MUTANT
+RAT-ANT) (ADJECTIVE RAT-LIKE ANT-LIKE MAN-SIZED) (FLAGS ACTORBIT)> 
+<OBJECT TROLL (IN BIO-LAB) (DESC "hairy growling biped") (LDESC
+"Rushing toward you is an ugly, deformed humanoid, bellowing
+in a guttural tongue. It brandishes a piece of lab equipment shaped
+somewhat like a battle axe.") (SYNONYM TROLL BIPED MUTANT MONSTER) (ADJECTIVE
+HAIRY GROWLING UGLY DEFORMED) (FLAGS ACTORBIT)> 
+<OBJECT GRUE (IN BIO-LAB) (DESC "lurking fanged creature") (LDESC
+"Lurking nearby is a vicious-looking creature with slavering
+fangs. Squinting in the light, it eyes you hungrily.") (SYNONYM GRUE CREATURE
+MUTANT MONSTER) (ADJECTIVE LURKING SINISTER FANGED VICIOUS HUNGRY SILENT) (
+FLAGS ACTORBIT) (ACTION GRUE-F)> 
+<DEFINE-ROUTINE GRUE-F> 
+<OBJECT TRIFFID (IN BIO-LAB) (DESC "mobile man-eating plant") (LDESC
+"A giant plant, teeming with poisonous tentacles, is shuffling
+toward you on three leg-like stalks.") (SYNONYM TRIFFID PLANT MUTANT MONSTER) (
+ADJECTIVE MOBILE MAN-EATING GIANT) (FLAGS ACTORBIT)> 
\ No newline at end of file
diff --git a/comptwo.zap b/comptwo.zap
new file mode 100644 (file)
index 0000000..e1689ae
--- /dev/null
@@ -0,0 +1,1854 @@
+
+
+       .FUNCT  LAWANDA-PLATFORM-F,RARG
+       ZERO?   LAWANDA-PLATFORM-FLAG \?CND1
+       SET     'LAWANDA-PLATFORM-FLAG,TRUE-VALUE
+       SET     'SICKNESS-WARNING-FLAG,TRUE-VALUE
+?CND1: EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a wide, flat strip of concrete. "
+       ZERO?   ALFIE-AT-KALAMONTEE \?CCL8
+       ZERO?   BETTY-AT-KALAMONTEE \?CCL8
+       PRINTI  "Open shuttle cars lie to the north and south."
+       JUMP    ?CND6
+?CCL8: ZERO?   ALFIE-AT-KALAMONTEE /?CCL11
+       ZERO?   BETTY-AT-KALAMONTEE \?CND6
+?CCL11:        PRINTI  "An open shuttle car lies to the "
+       ZERO?   ALFIE-AT-KALAMONTEE /?CCL16
+       PRINTI  "north."
+       JUMP    ?CND6
+?CCL16:        PRINTI  "south."
+?CND6: PRINTR  " A wide escalator, not currently operating, beckons upward at the east end of the platform. A faded sign reads ""Shutul Platform -- Lawanda Staashun."""
+
+
+       .FUNCT  INFIRMARY-F,RARG
+       EQUAL?  RARG,M-END \FALSE
+       ZERO?   LAZARUS-FLAG \FALSE
+       IN?     FLOYD,HERE \FALSE
+       FSET?   FLOYD,RLANDBIT \FALSE
+       RANDOM  100
+       LESS?   30,STACK /FALSE
+       SET     'LAZARUS-FLAG,TRUE-VALUE
+       MOVE    LAZARUS-PART,HERE
+       MOVE    FLOYD,FORK
+       SET     'FLOYD-FOLLOW,FALSE-VALUE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       PRINTR  "Floyd, rummaging in a corner, finds something and carries it to the center of the room to examine it in the brighter light. It seems to be the breast plate of a robot, along with some connected inner circuitry. The entire piece is bent and rusting. Floyd stares at it in complete silence. A moment later, he begins sobbing quietly, awkwardly excuses himself, and runs out of the room. You look at the breast plate, and notice the name ""Lazarus"" engraved on it."
+
+
+       .FUNCT  RED-SPOOL-F
+       EQUAL?  PRSA,V?TAKE \FALSE
+       IN?     RED-SPOOL,SPOOL-READER \FALSE
+       FSET?   SPOOL-READER,ONBIT \FALSE
+       MOVE    RED-SPOOL,ADVENTURER
+       FCLEAR  RED-SPOOL,TRYTAKEBIT
+       PRINTR  "The screen goes blank as you take the spool."
+
+
+       .FUNCT  MEDICINE-F,X=0
+       EQUAL?  PRSA,V?POUR,V?EAT,V?TASTE \?CCL3
+       IN?     MEDICINE-BOTTLE,ADVENTURER /?CCL3
+       SET     'PRSO,MEDICINE-BOTTLE
+       CALL    NOT-HOLDING
+       CALL    THIS-IS-IT,MEDICINE-BOTTLE
+       RSTACK  
+?CCL3: EQUAL?  PRSA,V?POUR,V?EAT,V?TASTE \?CCL7
+       FSET?   MEDICINE-BOTTLE,OPENBIT /?CCL7
+       PRINTR  "The bottle is closed."
+?CCL7: EQUAL?  PRSA,V?TASTE \?CCL11
+       PRINTR  "It tastes fairly bitter."
+?CCL11:        EQUAL?  PRSA,V?EAT \?CCL13
+       REMOVE  MEDICINE
+       SET     'C-ELAPSED,15
+       SUB     SICKNESS-LEVEL,2 >SICKNESS-LEVEL
+       ADD     LOAD-ALLOWED,20 >LOAD-ALLOWED
+       PRINTR  "The medicine tasted extremely bitter."
+?CCL13:        EQUAL?  PRSA,V?POUR \?CCL15
+       REMOVE  MEDICINE
+       ZERO?   PRSI \?CND16
+       SET     'PRSI,GROUND
+?CND16:        EQUAL?  PRSI,FUNNEL-HOLE \?CCL20
+       IN?     CHEMICAL-FLUID,FLASK \?CND21
+       SET     'X,TRUE-VALUE
+?CND21:        SET     'CHEMICAL-REQUIRED,10
+       CALL    PERFORM,V?POUR,CHEMICAL-FLUID,FUNNEL-HOLE
+       ZERO?   X /TRUE
+       MOVE    CHEMICAL-FLUID,FLASK
+       RTRUE   
+?CCL20:        PRINTI  "It pours over the "
+       PRINTD  PRSI
+       PRINTR  " and evaporates."
+?CCL15:        EQUAL?  PRSA,V?TAKE \FALSE
+       GET     P-VTBL,0
+       EQUAL?  STACK,W?TAKE \FALSE
+       CALL    PERFORM,V?EAT,MEDICINE
+       RTRUE   
+
+
+       .FUNCT  ROBOT-HOLE-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTR  "It's too small for you to get through. It was presumably intended for robots, such as the broken repair robot lying over there."
+?CCL3: EQUAL?  PRSA,V?LOOK-INSIDE \?CCL5
+       PRINTR  "You can make out a small supply room of some sort."
+?CCL5: EQUAL?  PRSA,V?CLOSE,V?OPEN \FALSE
+       PRINTR  "There's no door, just an opening in the wall."
+
+
+       .FUNCT  FLOYD-THROUGH-HOLE
+       ZERO?   HOLE-TRIP-FLAG /?CCL3
+       PRINTR  """Not again,"" whines Floyd."
+?CCL3: SET     'C-ELAPSED,50
+       SET     'HOLE-TRIP-FLAG,TRUE-VALUE
+       SET     'BOARD-REPORTED,TRUE-VALUE
+       FCLEAR  GOOD-BOARD,INVISIBLE
+       PRINTR  "Floyd squeezes through the opening and is gone for quite a while. You hear thudding noises and squeals of enjoyment. After a while the noise stops, and Floyd emerges, looking downcast. ""Floyd found a rubber ball inside. Lots of fun for a while, but must have been old, because it fell apart. Nothing else interesting inside. Just a shiny fromitz board."""
+
+
+       .FUNCT  GOOD-BOARD-F
+       FSET?   GOOD-BOARD,NDESCBIT \?CCL3
+       EQUAL?  PRSA,V?LOOK-UNDER /?PRD6
+       EQUAL?  PRSA,V?MOVE,V?PULL,V?PUSH /?PRD6
+       EQUAL?  PRSA,V?RUB,V?EXAMINE,V?TAKE \?CCL3
+?PRD6: EQUAL?  GOOD-BOARD,PRSO \?CCL3
+       PRINTI  "You can't see any "
+       PRINTD  PRSO
+       PRINTR  " here."
+?CCL3: EQUAL?  PRSA,V?EXAMINE \FALSE
+       CALL    EXAMINE-BOARD
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  PLANETARY-DEFENSE-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This room is filled with a dazzling array of lights and controls. "
+       ZERO?   DEFENSE-FIXED \?CND4
+       PRINTI  "One light, blinking quickly, catches your eye. It reads ""Surkit Boord Faalyur. WORNEENG: xis boord kuntroolz xe diskriminaashun surkits."""
+?CND4: PRINTI  " There is a small access panel on one wall which is "
+       CALL    DDESC,ACCESS-PANEL
+       PRINTR  "."
+
+
+       .FUNCT  ACCESS-PANEL-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   ACCESS-PANEL,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: FSET    ACCESS-PANEL,OPENBIT
+       PRINTI  "The panel swings open."
+       CRLF    
+       CALL    PERFORM,V?LOOK-INSIDE,ACCESS-PANEL
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?CLOSE \?CCL8
+       FSET?   ACCESS-PANEL,OPENBIT \?CCL11
+       FCLEAR  ACCESS-PANEL,OPENBIT
+       PRINTR  "The panel swings closed."
+?CCL11:        CALL    IS-CLOSED
+       RSTACK  
+?CCL8: EQUAL?  PRSA,V?PUT \FALSE
+       EQUAL?  PRSI,ACCESS-PANEL \FALSE
+       FSET?   ACCESS-PANEL,OPENBIT /?CCL18
+       PRINTR  "The panel is closed."
+?CCL18:        ZERO?   ACCESS-PANEL-FULL /?CCL20
+       PRINTR  "There's no room."
+?CCL20:        EQUAL?  PRSO,GOOD-BOARD \?CCL22
+       REMOVE  GOOD-BOARD
+       MOVE    SECOND-BOARD,ACCESS-PANEL
+       CALL    THIS-IS-IT,SECOND-BOARD
+       SET     'DEFENSE-FIXED,TRUE-VALUE
+       ADD     SCORE,6 >SCORE
+       SET     'ACCESS-PANEL-FULL,TRUE-VALUE
+       CALL    PUT-BOARD
+       PRINTR  " The warning lights stop flashing."
+?CCL22:        EQUAL?  PRSO,CRACKED-BOARD,FRIED-BOARD \?CCL24
+       REMOVE  PRSO
+       CALL    THIS-IS-IT,SECOND-BOARD
+       MOVE    SECOND-BOARD,ACCESS-PANEL
+       SET     'ACCESS-PANEL-FULL,TRUE-VALUE
+       EQUAL?  PRSO,CRACKED-BOARD \?CND25
+       SET     'ITS-CRACKED,TRUE-VALUE
+?CND25:        CALL    PUT-BOARD
+       CRLF    
+       RTRUE   
+?CCL24:        PRINTI  "The "
+       PRINTD  PRSO
+       PRINTI  " doesn't fit."
+       RTRUE   
+
+
+       .FUNCT  FRIED-BOARD-F
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       CALL    EXAMINE-BOARD
+       PRINTR  " This one is a bit blackened around the edges, though."
+
+
+       .FUNCT  BOARD-F
+       EQUAL?  PRSA,V?TAKE \?CCL3
+       EQUAL?  PRSO,SECOND-BOARD \?CCL6
+       ZERO?   DEFENSE-FIXED /?CCL9
+       CALL    BOARD-SHOCK
+       RSTACK  
+?CCL9: PRINTI  "The fromitz board slides out of the panel, producing an empty socket for another board."
+       CRLF    
+       REMOVE  SECOND-BOARD
+       SET     'ACCESS-PANEL-FULL,FALSE-VALUE
+       EQUAL?  ITS-CRACKED,TRUE-VALUE \?CCL12
+       MOVE    CRACKED-BOARD,ADVENTURER
+       JUMP    ?CND10
+?CCL12:        MOVE    FRIED-BOARD,ADVENTURER
+?CND10:        CALL    THIS-IS-IT,FRIED-BOARD
+       RSTACK  
+?CCL6: CALL    BOARD-SHOCK
+       RSTACK  
+?CCL3: EQUAL?  PRSA,V?EXAMINE \FALSE
+       CALL    EXAMINE-BOARD
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  EXAMINE-BOARD
+       PRINTI  "Like most fromitz boards, it is a twisted maze of silicon circuits. It is square, approximately seventeen centimeters on each side."
+       RTRUE   
+
+
+       .FUNCT  PUT-BOARD
+       PRINTI  "The card clicks neatly into the socket."
+       RTRUE   
+
+
+       .FUNCT  BOARD-SHOCK
+       PRINTR  "You jerk your hand back as you receive a powerful shock from the fromitz board."
+
+
+       .FUNCT  PLANETARY-COURSE-CONTROL-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a long room whose walls are covered with complicated controls and colored lights. "
+       ZERO?   COURSE-CONTROL-FIXED /?CCL6
+       PRINTI  "One blinking light says ""Kors diivurjins minimiizeeng."""
+       JUMP    ?CND4
+?CCL6: PRINTI  "Two of these lights are blinking. The first one reads ""Bedistur Faalyur!"" The other light reads ""Kritikul diivurjins frum pland kors."""
+?CND4: PRINTI  " In one corner is a large metal cube whose lid is "
+       FSET?   CUBE,OPENBIT \?CCL9
+       PRINTI  "open"
+       JUMP    ?CND7
+?CCL9: PRINTI  "closed"
+?CND7: PRINTR  "."
+
+
+       .FUNCT  CUBE-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   CUBE,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: FSET    CUBE,OPENBIT
+       PRINTI  "The lid swings open."
+       CRLF    
+       CALL    PERFORM,V?LOOK-INSIDE,CUBE
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?CLOSE \?CCL8
+       FSET?   CUBE,OPENBIT \?CCL11
+       FCLEAR  CUBE,OPENBIT
+       PRINTR  "The lid swings closed."
+?CCL11:        CALL    IS-CLOSED
+       RSTACK  
+?CCL8: EQUAL?  PRSA,V?PUT \FALSE
+       EQUAL?  PRSI,CUBE \FALSE
+       FSET?   CUBE,OPENBIT /?CCL18
+       PRINTR  "The cube is closed."
+?CCL18:        IN?     BAD-BEDISTOR,CUBE \?CCL20
+       PRINTR  "There's a fused bedistor in the way."
+?CCL20:        EQUAL?  PRSO,GOOD-BEDISTOR \?CCL22
+       MOVE    GOOD-BEDISTOR,CUBE
+       FSET?   CUBE,MUNGEDBIT /?CCL25
+       SET     'COURSE-CONTROL-FIXED,TRUE-VALUE
+       FSET    GOOD-BEDISTOR,TRYTAKEBIT
+       ADD     SCORE,6 >SCORE
+       PRINTR  "Done. The warning lights go out and another light goes on."
+?CCL25:        PRINTR  "Done."
+?CCL22:        EQUAL?  PRSO,BAD-BEDISTOR \?CCL27
+       MOVE    BAD-BEDISTOR,CUBE
+       PRINTR  "Done."
+?CCL27:        PRINTI  "The "
+       PRINTD  PRSO
+       PRINTI  " doesn't fit."
+       RTRUE   
+
+
+       .FUNCT  BAD-BEDISTOR-F
+       EQUAL?  PRSA,V?TAKE \?CCL3
+       IN?     BAD-BEDISTOR,CUBE \?CCL3
+       PRINTR  "It seems to be fused to its socket."
+?CCL3: EQUAL?  PRSA,V?ZATTRACT \FALSE
+       EQUAL?  PRSI,PLIERS \?CCL10
+       MOVE    BAD-BEDISTOR,ADVENTURER
+       FCLEAR  BAD-BEDISTOR,TRYTAKEBIT
+       PRINTR  "With a tug, you manage to remove the fused bedistor."
+?CCL10:        PRINTR  "You can't get a grip on the bedistor with that."
+
+
+       .FUNCT  GREEN-SPOOL-F
+       EQUAL?  PRSA,V?TAKE \FALSE
+       IN?     GREEN-SPOOL,SPOOL-READER \FALSE
+       FSET?   SPOOL-READER,ONBIT \FALSE
+       MOVE    GREEN-SPOOL,ADVENTURER
+       FCLEAR  GREEN-SPOOL,TRYTAKEBIT
+       PRINTR  "The screen goes blank as you take the spool."
+
+
+       .FUNCT  TERMINAL-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTI  "The computer terminal consists of a video display screen, a keyboard with ten keys numbered from zero through nine, and an on-off switch. "
+       FSET?   TERMINAL,ONBIT \?CCL6
+       PRINTI  "The screen displays some writing:"
+       CRLF    
+       PRINT   SCREEN-TEXT
+       CRLF    
+       GRTR?   MENU-LEVEL,9 \TRUE
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL6: PRINTR  "The screen is dark."
+?CCL3: EQUAL?  PRSA,V?READ \?CCL10
+       FSET?   TERMINAL,ONBIT \?CCL13
+       PRINT   SCREEN-TEXT
+       CRLF    
+       GRTR?   MENU-LEVEL,9 \TRUE
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL13:        PRINTR  "The screen is blank."
+?CCL10:        EQUAL?  PRSA,V?LAMP-ON \?CCL17
+       FSET?   TERMINAL,ONBIT \?CCL20
+       PRINTR  "It's already on."
+?CCL20:        FSET    TERMINAL,ONBIT
+       FSET    TERMINAL,TOUCHBIT
+       SET     'SCREEN-TEXT,MAIN-MENU
+       PRINTI  "The screen gives off a green flash, and then some writing appears on the screen:"
+       CRLF    
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL17:        EQUAL?  PRSA,V?LAMP-OFF \FALSE
+       FSET?   TERMINAL,ONBIT \?CCL25
+       FCLEAR  TERMINAL,ONBIT
+       SET     'MENU-LEVEL,0
+       PRINTR  "The screen goes dark."
+?CCL25:        PRINTR  "It isn't on!"
+
+
+       .FUNCT  LIBRARY-TYPE
+       EQUAL?  PRSO,INTNUM /?CCL3
+       CALL    NUMBERS-ONLY
+       RSTACK  
+?CCL3: ZERO?   MENU-LEVEL \?CCL5
+       ZERO?   P-NUMBER \?CCL8
+       PRINT   NO-MEANING
+       CRLF    
+       RTRUE   
+?CCL8: EQUAL?  P-NUMBER,1 \?CCL10
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,HISTORY-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       SET     'MENU-LEVEL,1
+       RETURN  MENU-LEVEL
+?CCL10:        EQUAL?  P-NUMBER,2 \?CCL12
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,CULTURE-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       SET     'MENU-LEVEL,2
+       RETURN  MENU-LEVEL
+?CCL12:        EQUAL?  P-NUMBER,3 \?CCL14
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,TECHNOLOGY-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       SET     'MENU-LEVEL,3
+       RETURN  MENU-LEVEL
+?CCL14:        EQUAL?  P-NUMBER,4 \?CCL16
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,GEOGRAPHY-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       SET     'MENU-LEVEL,4
+       RETURN  MENU-LEVEL
+?CCL16:        EQUAL?  P-NUMBER,5 \?CCL18
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,PROJECT-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       SET     'MENU-LEVEL,5
+       RETURN  MENU-LEVEL
+?CCL18:        EQUAL?  P-NUMBER,6 \?CCL20
+       SET     'MENU-LEVEL,6
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,INTERLOGIC-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL20:        GRTR?   P-NUMBER,6 \FALSE
+       PRINT   NO-MEANING
+       CRLF    
+       RTRUE   
+?CCL5: EQUAL?  MENU-LEVEL,1 \?CCL24
+       ZERO?   P-NUMBER \?CCL27
+       SET     'MENU-LEVEL,0
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,MAIN-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL27:        EQUAL?  P-NUMBER,1 \?CCL29
+       SET     'MENU-LEVEL,11
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,11-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL29:        EQUAL?  P-NUMBER,2 \?CCL31
+       SET     'MENU-LEVEL,12
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,12-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL31:        EQUAL?  P-NUMBER,3 \?CCL33
+       SET     'MENU-LEVEL,13
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,13-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL33:        GRTR?   P-NUMBER,3 \FALSE
+       PRINT   NO-MEANING
+       CRLF    
+       RTRUE   
+?CCL24:        EQUAL?  MENU-LEVEL,2 \?CCL37
+       ZERO?   P-NUMBER \?CCL40
+       SET     'MENU-LEVEL,0
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,MAIN-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL40:        EQUAL?  P-NUMBER,1 \?CCL42
+       SET     'MENU-LEVEL,21
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,21-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL42:        EQUAL?  P-NUMBER,2 \?CCL44
+       SET     'MENU-LEVEL,22
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,22-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL44:        EQUAL?  P-NUMBER,3 \?CCL46
+       SET     'MENU-LEVEL,23
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,23-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL46:        GRTR?   P-NUMBER,4 \FALSE
+       PRINT   NO-MEANING
+       CRLF    
+       RTRUE   
+?CCL37:        EQUAL?  MENU-LEVEL,3 \?CCL50
+       ZERO?   P-NUMBER \?CCL53
+       SET     'MENU-LEVEL,0
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,MAIN-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL53:        EQUAL?  P-NUMBER,1 \?CCL55
+       SET     'MENU-LEVEL,31
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,31-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL55:        EQUAL?  P-NUMBER,2 \?CCL57
+       SET     'MENU-LEVEL,32
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,32-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL57:        EQUAL?  P-NUMBER,3 \?CCL59
+       SET     'MENU-LEVEL,33
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,33-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL59:        EQUAL?  P-NUMBER,4 \?CCL61
+       SET     'MENU-LEVEL,34
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,34-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL61:        EQUAL?  P-NUMBER,5 \?CCL63
+       SET     'MENU-LEVEL,35
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,35-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL63:        GRTR?   P-NUMBER,5 \FALSE
+       PRINT   NO-MEANING
+       CRLF    
+       RTRUE   
+?CCL50:        EQUAL?  MENU-LEVEL,4 \?CCL67
+       ZERO?   P-NUMBER \?CCL70
+       SET     'MENU-LEVEL,0
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,MAIN-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL70:        EQUAL?  P-NUMBER,1 \?CCL72
+       SET     'MENU-LEVEL,41
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,41-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL72:        EQUAL?  P-NUMBER,2 \?CCL74
+       SET     'MENU-LEVEL,42
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,42-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL74:        EQUAL?  P-NUMBER,3 \?CCL76
+       SET     'MENU-LEVEL,43
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,43-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL76:        GRTR?   P-NUMBER,3 \FALSE
+       PRINT   NO-MEANING
+       CRLF    
+       RTRUE   
+?CCL67:        EQUAL?  MENU-LEVEL,5 \?CCL80
+       ZERO?   P-NUMBER \?CCL83
+       SET     'MENU-LEVEL,0
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,MAIN-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL83:        EQUAL?  P-NUMBER,1 \?CCL85
+       SET     'MENU-LEVEL,51
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,51-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL85:        EQUAL?  P-NUMBER,2 \?CCL87
+       SET     'MENU-LEVEL,52
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,52-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL87:        EQUAL?  P-NUMBER,3 \?CCL89
+       SET     'MENU-LEVEL,53
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,53-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL89:        GRTR?   P-NUMBER,3 \FALSE
+       PRINT   NO-MEANING
+       CRLF    
+       RTRUE   
+?CCL80:        EQUAL?  MENU-LEVEL,6 \?CCL93
+       ZERO?   P-NUMBER \?CCL96
+       SET     'MENU-LEVEL,0
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,MAIN-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL96:        EQUAL?  P-NUMBER,1 \?CCL98
+       SET     'MENU-LEVEL,61
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,61-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       IN?     FLOYD,HERE \FALSE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       PRINTR  "Floyd, peering over your shoulder, says ""Oh, I love that game! Solved every problem, except couldn't figure out how to get into white house."""
+?CCL98:        EQUAL?  P-NUMBER,2 \?CCL103
+       SET     'MENU-LEVEL,62
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,62-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL103:       EQUAL?  P-NUMBER,3 \?CCL105
+       SET     'MENU-LEVEL,63
+       PRINT   TEXT-APPEARS
+       CRLF    
+       SET     'SCREEN-TEXT,63-TEXT
+       PRINT   SCREEN-TEXT
+       CRLF    
+       PRINT   MORE-INFO
+       CRLF    
+       RTRUE   
+?CCL105:       GRTR?   P-NUMBER,3 \FALSE
+       PRINT   NO-MEANING
+       CRLF    
+       RTRUE   
+?CCL93:        GRTR?   MENU-LEVEL,10 \?CCL109
+       LESS?   MENU-LEVEL,20 \?CCL109
+       ZERO?   P-NUMBER \?CCL114
+       SET     'MENU-LEVEL,1
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,HISTORY-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL114:       PRINT   LOW-END
+       CRLF    
+       RTRUE   
+?CCL109:       GRTR?   MENU-LEVEL,20 \?CCL116
+       LESS?   MENU-LEVEL,30 \?CCL116
+       ZERO?   P-NUMBER \?CCL121
+       SET     'MENU-LEVEL,2
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,CULTURE-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL121:       PRINT   LOW-END
+       CRLF    
+       RTRUE   
+?CCL116:       GRTR?   MENU-LEVEL,30 \?CCL123
+       LESS?   MENU-LEVEL,40 \?CCL123
+       ZERO?   P-NUMBER \?CCL128
+       SET     'MENU-LEVEL,3
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,TECHNOLOGY-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL128:       PRINT   LOW-END
+       CRLF    
+       RTRUE   
+?CCL123:       GRTR?   MENU-LEVEL,40 \?CCL130
+       LESS?   MENU-LEVEL,50 \?CCL130
+       ZERO?   P-NUMBER \?CCL135
+       SET     'MENU-LEVEL,4
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,GEOGRAPHY-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL135:       PRINT   LOW-END
+       CRLF    
+       RTRUE   
+?CCL130:       GRTR?   MENU-LEVEL,50 \?CCL137
+       LESS?   MENU-LEVEL,60 \?CCL137
+       ZERO?   P-NUMBER \?CCL142
+       SET     'MENU-LEVEL,5
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,PROJECT-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL142:       PRINT   LOW-END
+       CRLF    
+       RTRUE   
+?CCL137:       GRTR?   MENU-LEVEL,60 \FALSE
+       LESS?   MENU-LEVEL,70 \FALSE
+       ZERO?   P-NUMBER \?CCL149
+       SET     'MENU-LEVEL,6
+       PRINT   SCREEN-CLEARS
+       CRLF    
+       SET     'SCREEN-TEXT,INTERLOGIC-MENU
+       PRINT   SCREEN-TEXT
+       CRLF    
+       RTRUE   
+?CCL149:       PRINT   LOW-END
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  SPOOL-READER-F
+       EQUAL?  PRSA,V?LAMP-ON \?CCL3
+       FSET?   SPOOL-READER,ONBIT \?CCL6
+       PRINTR  "The spool reader is already on."
+?CCL6: FSET    SPOOL-READER,ONBIT
+       FSET    SPOOL-READER,TOUCHBIT
+       FIRST?  SPOOL-READER \?CCL9
+       PRINT   SPOOL-TEXT
+       CRLF    
+       RTRUE   
+?CCL9: PRINTR  "The machine hums quietly, and the screen lights up with the phrase ""Pleez insurt spuul."""
+?CCL3: EQUAL?  PRSA,V?LAMP-OFF \?CCL11
+       FSET?   SPOOL-READER,ONBIT \?CCL14
+       FCLEAR  SPOOL-READER,ONBIT
+       PRINTR  "The spool reader is now off."
+?CCL14:        PRINTR  "It's not on!"
+?CCL11:        EQUAL?  PRSA,V?EXAMINE \?CCL16
+       PRINTI  "The machine has a small screen, and below that, a small circular opening. The screen is currently "
+       FSET?   SPOOL-READER,ONBIT \?CCL19
+       FIRST?  SPOOL-READER \?CCL19
+       PRINTI  "displaying some information:"
+       CRLF    
+       PRINT   SPOOL-TEXT
+       CRLF    
+       RTRUE   
+?CCL19:        PRINTR  "blank."
+?CCL16:        EQUAL?  PRSA,V?READ \?CCL23
+       FSET?   SPOOL-READER,ONBIT \?CCL26
+       FIRST?  SPOOL-READER \?CCL26
+       PRINT   SPOOL-TEXT
+       CRLF    
+       RTRUE   
+?CCL26:        PRINTR  "The screen is blank."
+?CCL23:        EQUAL?  PRSA,V?PUT \?CCL30
+       EQUAL?  PRSI,SPOOL-READER \?CCL30
+       FIRST?  SPOOL-READER \?CCL35
+       PRINTR  "There's already a spool in the reader."
+?CCL35:        EQUAL?  PRSO,GREEN-SPOOL \?CCL37
+       SET     'SPOOL-TEXT,GREEN-TEXT
+       MOVE    GREEN-SPOOL,SPOOL-READER
+       FSET    GREEN-SPOOL,TRYTAKEBIT
+       PRINT   SPOOL-FITS
+       FSET?   SPOOL-READER,ONBIT \?CND38
+       PRINT   SOME-INFO
+?CND38:        CRLF    
+       RTRUE   
+?CCL37:        EQUAL?  PRSO,RED-SPOOL \?CCL41
+       SET     'SPOOL-TEXT,RED-TEXT
+       MOVE    RED-SPOOL,SPOOL-READER
+       FSET    RED-SPOOL,TRYTAKEBIT
+       PRINT   SPOOL-FITS
+       FSET?   SPOOL-READER,ONBIT \?CND42
+       PRINT   SOME-INFO
+?CND42:        CRLF    
+       RTRUE   
+?CCL41:        PRINTR  "It doesn't fit in the circular opening."
+?CCL30:        EQUAL?  PRSA,V?CLOSE \FALSE
+       CALL    NO-CLOSE
+       RTRUE   
+
+
+       .FUNCT  PROJCON-OFFICE-F,RARG
+       EQUAL?  RARG,M-LOOK \?CCL3
+       PRINTI  "This office looks like a headquarters of some kind. Exits lead north and east. The west wall displays a logo. "
+       ZERO?   COMPUTER-FIXED /?CCL6
+       PRINTR  "The mural that previously adorned the south wall has slid away, revealing an open doorway to a large elevator!"
+?CCL6: PRINTR  "The south wall is completely covered by a garish mural which clashes with the other decor of the room."
+?CCL3: EQUAL?  RARG,M-END \FALSE
+       IN?     FLOYD,HERE \FALSE
+       ZERO?   MURAL-FLAG \FALSE
+       SET     'MURAL-FLAG,TRUE-VALUE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       PRINTR  "Floyd surveys the mural and scratches his head. ""I don't remember seeing this before,"" he comments."
+
+
+       .FUNCT  CRYO-ELEVATOR-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a large, plain elevator with one solitary button and a door to the north which is "
+       CALL    DDESC,CRYO-ELEVATOR-DOOR
+       PRINTR  "."
+
+
+       .FUNCT  CRYO-EXIT-F
+       FSET?   CRYO-ELEVATOR-DOOR,OPENBIT \?CCL3
+       ZERO?   CRYO-SCORE-FLAG /?CCL6
+       RETURN  CRYO-ANTEROOM
+?CCL6: RETURN  PROJCON-OFFICE
+?CCL3: CALL    DOOR-CLOSED
+       RFALSE  
+
+
+       .FUNCT  I-CRYO-ELEVATOR-ARRIVE
+       FSET    CRYO-ELEVATOR-DOOR,OPENBIT
+       CRLF    
+       PRINTR  "The elevator door opens onto a room to the north."
+
+
+       .FUNCT  CRYO-ANTEROOM-F,RARG
+       EQUAL?  RARG,M-LOOK \?CCL3
+       PRINTI  "The elevator closes as you leave it, and you find yourself in a small, chilly room. To the north, through a wide arch, is an enormous chamber lined from floor to ceiling with thousands of cryo-units. You can see similar chambers beyond, and your mind staggers at the thought of the millions of individuals asleep for countless centuries.
+
+In the anteroom where you stand is a solitary cryo-unit, its cover frosted. Next to the cryo-unit is a complicated control panel."
+       CRLF    
+       CRLF    
+       RTRUE   
+?CCL3: EQUAL?  RARG,M-END \FALSE
+       PRINTI  "A door slides open and a medical robot glides in. It opens the cryo-unit and administers an injection to its inhabitant. As the robot glides away, a figure rises from the cryo-unit -- a handsome, middle-aged woman with flowing red hair. She spends some time studying readouts from the control panel"
+       ZERO?   COMM-FIXED /?CCL8
+       ZERO?   DEFENSE-FIXED /?CCL8
+       PRINTI  ", pressing several keys."
+       CRLF    
+       JUMP    ?CND6
+?CCL8: PRINTC  46
+       CRLF    
+?CND6: ZERO?   COURSE-CONTROL-FIXED /?CCL13
+       PRINTI  "
+As other cryo-units in the chambers beyond begin opening, the woman turns to you, bows gracefully, and speaks in a beautiful, lilting voice. ""I am Veldina, leader of Resida. Thanks to you, the cure has been discovered, and the planetary systems repaired. We are eternally grateful."""
+       CRLF    
+       ZERO?   COMM-FIXED /?CCL16
+       ZERO?   DEFENSE-FIXED /?CCL16
+       PRINTI  "
+""You will also be glad to hear that a ship of your Stellar Patrol now orbits the planet. I have sent them the coordinates for this room."" As if on cue, a landing party from the S.P.S. Flathead materializes nearby. Blather is with them, having been picked up from deep space in another escape pod, babbling cravenly. Captain Sterling of the Flathead acknowledges your heroic actions, and informs you of your promotion to Lieutenant First Class.
+
+As a team of mutant hunters head for the cryo-elevator, Veldina mentions that the grateful people of Resida offer you leadership of their world. Captain Sterling points out that, even if you choose to remain on Resida, Blather (demoted to Ensign Twelfth Class) has been assigned as your personal toilet attendant.
+
+You feel a sting from your arm and turn to see a medical robot moving away after administering the antidote for The Disease.
+
+A team of robot technicians step into the anteroom. They part their ranks, and a familiar figure comes bounding toward you! ""Hi!"" shouts Floyd, with uncontrolled enthusiasm. ""Floyd feeling better now!"" Smiling from ear to ear, he says, ""Look what Floyd found!"" He hands you a helicopter key, a reactor elevator card, and a paddleball set. ""Maybe we can use them in the sequel..."""
+       CRLF    
+       CRLF    
+       CALL    FINISH,FALSE-VALUE
+       RSTACK  
+?CCL16:        PRINTI  "
+""Unfortunately, a second ship from your Stellar Patrol has "
+       ZERO?   DEFENSE-FIXED \?CCL21
+       PRINTI  "been destroyed by our malfunctioning meteor defenses."
+       JUMP    ?CND19
+?CCL21:        PRINTI  "come looking for survivors, and because of our malfunctioning communications system, has given up and departed."
+?CND19:        PRINTI  " I fear that you are stranded on Resida, possibly forever. However, we show our gratitude by offering you an unlimited bank account and a house in the country."""
+       CRLF    
+       CRLF    
+       CALL    FINISH,FALSE-VALUE
+       RSTACK  
+?CCL13:        PRINTI  "
+She turns to you and, with a strained voice says, ""You have fixed our computer and a Cure has been discovered, and we are grateful. But alas, it was all in vain. Our planetary course control system has malfunctioned, and the orbit has now decayed beyond correction. Soon Resida will plunge into the sun."""
+       CRLF    
+       CRLF    
+       ZERO?   COMM-FIXED /?CND22
+       ZERO?   DEFENSE-FIXED /?CND22
+       PRINTI  "Veldina examines the control panel again. ""Fortunately, another ship from your Stellar Patrol has arrived, so at least you will survive."" At that moment, a landing party from the S.P.S. Flathead materializes, and takes you away from the doomed world."
+       CRLF    
+       CRLF    
+?CND22:        CALL    FINISH,FALSE-VALUE
+       RSTACK  
+
+
+       .FUNCT  COMPUTER-ACTION
+       SET     'COMPUTER-FLAG,TRUE-VALUE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       PRINTI  "Floyd examines the "
+       EQUAL?  HERE,COMPUTER-ROOM \?CCL3
+       PRINTI  "glowing light"
+       JUMP    ?CND1
+?CCL3: PRINTI  "computer printout"
+?CND1: PRINTR  ". With a concerned frown, he says, ""Uh oh. Computer is broken. A Doctor-person once told Floyd that Computer is the most important part of the Project."""
+
+
+       .FUNCT  PRINT-OUT-F
+       EQUAL?  PRSA,V?EXAMINE,V?READ \FALSE
+       CALL    FIXED-FONT-ON
+       PRINTI  "The printout is hundreds of pages long. It would take many chrons to read it all. The last page looks pretty interesting, though:
+
+""Daalee Statis Reeport:
+PREELIMINEREE REESURC:  100.000%
+INTURMEEDEEIT REESURC:  100.000%
+FIINUL REESURC:         100.000%
+DRUG PROODUKSHUN:       100.000%
+DRUG TESTEENG:           99.985%
+Proojektid tiim tuu reeviivul prooseedzur:  0 daaz, 0.8 kronz
+
+
+*** ALURT! ALURT! ***
+Malfunkshun in Sekshun 384! Sumuneeng reepaar roobot.""
+
+The printout ends at this point."
+       CRLF    
+       CALL    FIXED-FONT-OFF
+       RSTACK  
+
+
+       .FUNCT  MINI-CARD-F
+       FSET?   MINI-CARD,NDESCBIT \FALSE
+       EQUAL?  PRSA,V?SMELL,V?PULL /?CCL3
+       EQUAL?  PRSA,V?PUSH,V?TAKE,V?SET /?CCL3
+       EQUAL?  PRSA,V?TURN,V?MOVE,V?RUB \FALSE
+?CCL3: PRINTR  "It's in the next room."
+
+
+       .FUNCT  LAB-UNIFORM-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTI  "It is a plain lab uniform. The logo above the pocket depicts a flame burning above some kind of sleep chamber. The pocket is "
+       CALL    DDESC,LAB-UNIFORM
+       PRINTR  "."
+?CCL3: EQUAL?  PRSA,V?OPEN,V?SEARCH \?CCL5
+       FSET?   LAB-UNIFORM,OPENBIT \?CCL8
+       PRINTR  "The pocket is already open."
+?CCL8: FSET    LAB-UNIFORM,OPENBIT
+       ZERO?   UNIFORM-OPENED /?CCL11
+       FIRST?  LAB-UNIFORM \?CCL14
+       PRINTI  "Opening the uniform's pocket reveals "
+       CALL    PRINT-CONTENTS,LAB-UNIFORM
+       PRINTR  "."
+?CCL14:        PRINTR  "The pocket is empty."
+?CCL11:        FSET    LAB-UNIFORM,OPENBIT
+       SET     'UNIFORM-OPENED,TRUE-VALUE
+       PRINTR  "You discover a small piece of paper and a teleportation access card in the pocket of the uniform."
+?CCL5: EQUAL?  PRSA,V?WEAR \FALSE
+       FSET?   PATROL-UNIFORM,WORNBIT \FALSE
+       PRINTR  "It won't fit on top of the Patrol uniform."
+
+
+       .FUNCT  COMBINATION-PAPER-F
+       EQUAL?  PRSA,V?EXAMINE,V?READ \FALSE
+       PRINTI  "Week uv 14-Juun--2882. Kombinaashun tuu Konfurins Ruum: "
+       PRINTN  NUMBER-NEEDED
+       PRINTR  "."
+
+
+       .FUNCT  BIO-LOCK-EAST-F,RARG
+       EQUAL?  RARG,M-END \FALSE
+       IN?     FLOYD,HERE \FALSE
+       FSET?   FLOYD,RLANDBIT \FALSE
+       EQUAL?  FLOYD,WINNER /FALSE
+       ZERO?   FLOYD-WAITING /?CCL10
+       GRTR?   WAITING-COUNTER,3 \?CCL13
+       SET     'FLOYD-WAITING,FALSE-VALUE
+       SET     'FLOYD-GAVE-UP,TRUE-VALUE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       SET     'FLOYD-FOLLOW,FALSE-VALUE
+       MOVE    FLOYD,BIO-LOCK-WEST
+       CALL    QUEUE,I-FLOYD,1
+       PUT     STACK,0,1
+       PRINTR  """Okay,"" says Floyd with uncharacteristic annoyance. ""Forget about the stupid card."" He goes to the other end of the bio-lock and sulks."
+?CCL13:        ZERO?   FLOYD-FORAYED \FALSE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       INC     'WAITING-COUNTER
+       PRINTR  "Floyd looks at you with a dash of impatience and a healthy helping of nervousness. ""Well?"" he asks. ""Are you going to open the door?"""
+?CCL10:        ZERO?   FLOYD-GAVE-UP \FALSE
+       ZERO?   FLOYD-PEERED \FALSE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       SET     'FLOYD-PEERED,TRUE-VALUE
+       CALL    QUEUE,I-CLEAR-FLOYD-PEER,40
+       PUT     STACK,0,1
+       FCLEAR  MINI-CARD,INVISIBLE
+       PRINTI  "Floyd stands on his tiptoes and peers in the window. "
+       ZERO?   COMPUTER-FLAG /?CCL22
+       SET     'FLOYD-WAITING,TRUE-VALUE
+       PRINTR  """Looks dangerous in there,"" says Floyd. ""I don't think you should go inside."" He peers in again. ""We'll need card there to fix computer. Hmmm... I know! Floyd will get card. Robots are tough. Nothing can hurt robots. You open the door, then Floyd will rush in. Then you close door. When Floyd knocks, open door again. Okay? Go!"" Floyd's voice trembles slightly as he waits for you to open the door."
+?CCL22:        PRINTR  """Ooo, look,"" he says. ""There's a miniaturization booth access card!"""
+
+
+       .FUNCT  I-CLEAR-FLOYD-PEER
+       SET     'FLOYD-PEERED,FALSE-VALUE
+       RFALSE  
+
+
+       .FUNCT  BIO-DOOR-EAST-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   BIO-DOOR-EAST,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: FSET?   BIO-DOOR-WEST,OPENBIT \?CCL8
+       PRINT   BOTH-DOORS
+       CRLF    
+       RTRUE   
+?CCL8: ZERO?   FLOYD-WAITING /?CCL10
+       FSET?   FLOYD,RLANDBIT \?CCL10
+       ZERO?   FORAY-COUNTER \?CCL10
+       CALL    QUEUE,I-FLOYD-FORAY,-1
+       PUT     STACK,0,1
+       SET     'FLOYD-FORAYED,TRUE-VALUE
+       FSET    BIO-DOOR-EAST,OPENBIT
+       REMOVE  FLOYD
+       CALL    INT,I-FLOYD
+       PUT     STACK,0,0
+       PRINTR  "The door opens and Floyd, pausing only for the briefest moment, plunges into the Bio Lab. Immediately, he is set upon by hideous, mutated monsters! More are heading straight toward the open door! Floyd shrieks and yells to you to close the door."
+?CCL10:        ZERO?   FLOYD-FORAYED \?CCL15
+       CALL    INT,I-CHASE-SCENE
+       GET     STACK,C-ENABLED?
+       ZERO?   STACK \?CCL15
+       CALL    JIGS-UP,STR?265
+       RSTACK  
+?CCL15:        FSET    BIO-DOOR-EAST,OPENBIT
+       CALL    QUEUE,I-BIO-EAST-CLOSES,30
+       PUT     STACK,0,1
+       PRINT   DOOR-OPENS
+       CRLF    
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?CLOSE \FALSE
+       FSET?   BIO-DOOR-EAST,OPENBIT \?CCL22
+       EQUAL?  FORAY-COUNTER,4 \?CND23
+       SET     'C-ELAPSED,95
+?CND23:        FCLEAR  BIO-DOOR-EAST,OPENBIT
+       PRINTI  "The door closes"
+       CALL    INT,I-CHASE-SCENE
+       GET     STACK,C-ENABLED?
+       EQUAL?  STACK,1 \?CCL27
+       PRINTR  ", but not soon enough!"
+?CCL27:        PRINTR  "."
+?CCL22:        CALL    IS-CLOSED
+       RSTACK  
+
+
+       .FUNCT  I-BIO-EAST-CLOSES
+       FSET?   BIO-DOOR-EAST,OPENBIT \FALSE
+       FCLEAR  BIO-DOOR-EAST,OPENBIT
+       EQUAL?  HERE,BIO-LOCK-EAST,BIO-LOCK-WEST,BIO-LAB \FALSE
+       CRLF    
+       PRINTR  "The door at the eastern end of the bio-lock closes silently."
+
+
+       .FUNCT  BIO-DOOR-WEST-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   BIO-DOOR-WEST,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: FSET?   BIO-DOOR-EAST,OPENBIT \?CCL8
+       PRINT   BOTH-DOORS
+       CRLF    
+       RTRUE   
+?CCL8: PRINT   DOOR-OPENS
+       CRLF    
+       CALL    QUEUE,I-BIO-WEST-CLOSES,30
+       PUT     STACK,0,1
+       FSET    BIO-DOOR-WEST,OPENBIT
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?CLOSE \FALSE
+       FSET?   BIO-DOOR-WEST,OPENBIT \?CCL13
+       FCLEAR  BIO-DOOR-WEST,OPENBIT
+       PRINT   DOOR-CLOSES
+       CRLF    
+       RTRUE   
+?CCL13:        CALL    IS-CLOSED
+       RSTACK  
+
+
+       .FUNCT  I-BIO-WEST-CLOSES
+       FSET?   BIO-DOOR-WEST,OPENBIT \FALSE
+       FCLEAR  BIO-DOOR-WEST,OPENBIT
+       EQUAL?  HERE,BIO-LOCK-WEST,BIO-LOCK-EAST,MAIN-LAB \FALSE
+       CRLF    
+       PRINTR  "The door at the western end of the bio-lock closes silently."
+
+
+       .FUNCT  RAD-DOOR-EAST-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   RAD-DOOR-EAST,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: FSET?   RAD-DOOR-WEST,OPENBIT \?CCL8
+       PRINT   BOTH-DOORS
+       CRLF    
+       RTRUE   
+?CCL8: FSET    RAD-DOOR-EAST,OPENBIT
+       PRINT   DOOR-OPENS
+       CRLF    
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?CLOSE \FALSE
+       FSET?   RAD-DOOR-EAST,OPENBIT \?CCL13
+       FCLEAR  RAD-DOOR-EAST,OPENBIT
+       PRINT   DOOR-CLOSES
+       CRLF    
+       RTRUE   
+?CCL13:        CALL    IS-CLOSED
+       RSTACK  
+
+
+       .FUNCT  RAD-DOOR-WEST-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   RAD-DOOR-WEST,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: FSET?   RAD-DOOR-EAST,OPENBIT \?CCL8
+       PRINT   BOTH-DOORS
+       CRLF    
+       RTRUE   
+?CCL8: PRINT   DOOR-OPENS
+       CRLF    
+       FSET    RAD-DOOR-WEST,OPENBIT
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?CLOSE \FALSE
+       FSET?   RAD-DOOR-WEST,OPENBIT \?CCL13
+       FCLEAR  RAD-DOOR-WEST,OPENBIT
+       PRINT   DOOR-CLOSES
+       CRLF    
+       RTRUE   
+?CCL13:        CALL    IS-CLOSED
+       RSTACK  
+
+
+       .FUNCT  I-FLOYD-FORAY
+       INC     'FORAY-COUNTER
+       EQUAL?  FORAY-COUNTER,2 \?CCL3
+       FSET?   BIO-DOOR-EAST,OPENBIT \?CCL6
+       CRLF    
+       CALL    MONSTER-DEATH
+       RSTACK  
+?CCL6: CRLF    
+       PRINTR  "From within the lab you hear ferocious growlings, the sounds of a skirmish, and then a high-pitched metallic scream!"
+?CCL3: EQUAL?  FORAY-COUNTER,3 \?CCL8
+       FSET?   BIO-DOOR-EAST,OPENBIT \?CCL11
+       CRLF    
+       CALL    MONSTER-DEATH
+       RSTACK  
+?CCL11:        CRLF    
+       PRINTR  "You hear, slightly muffled by the door, three fast knocks, followed by the distinctive sound of tearing metal."
+?CCL8: EQUAL?  FORAY-COUNTER,4 \?CCL13
+       FSET?   BIO-DOOR-EAST,OPENBIT \?CCL16
+       MOVE    FLOYD,HERE
+       CRLF    
+       PRINTR  "Floyd stumbles out of the Bio Lab, clutching the mini-booth card. The mutations rush toward the open doorway!"
+?CCL16:        CRLF    
+       PRINTI  "The three knocks come again, followed by a wild scream. Then, all is silence from within the Bio Lab, except for an occasional metallic crunch."
+       CRLF    
+       FCLEAR  FLOYD,RLANDBIT
+       CALL    INT,I-FLOYD-FORAY
+       PUT     STACK,0,0
+       RTRUE   
+?CCL13:        EQUAL?  FORAY-COUNTER,5 \FALSE
+       FSET?   BIO-DOOR-EAST,OPENBIT \?CCL21
+       CRLF    
+       CALL    MONSTER-DEATH
+       RSTACK  
+?CCL21:        REMOVE  FLOYD
+       FCLEAR  FLOYD,RLANDBIT
+       CALL    INT,I-FLOYD
+       PUT     STACK,0,0
+       FSET    FLOYD,INVISIBLE
+       MOVE    DEAD-FLOYD,HERE
+       MOVE    MINI-CARD,BIO-LOCK-EAST
+       FSET    MINI-CARD,TOUCHBIT
+       ADD     SCORE,2 >SCORE
+       CRLF    
+       PRINTI  "And not a moment too soon! You hear a pounding from the door as the monsters within vent their frustration at losing their prey.
+
+Floyd staggers to the ground, dropping the mini card. He is badly torn apart, with loose wires and broken circuits everywhere. Oil flows from his lubrication system. He obviously has only moments to live.
+
+You drop to your knees and cradle Floyd's head in your lap. Floyd looks up at his friend with half-open eyes. ""Floyd did it ... got card. Floyd a good friend, huh?"" Quietly, you sing Floyd's favorite song, the Ballad of the Starcrossed Miner:
+
+O, they ruled the solar system
+Near ten thousand years before
+In their single starcrossed scout ships
+Mining ast'roids, spinning lore.
+
+Then one true courageous miner
+Spied a spaceship from the stars
+Boarded he that alien liner
+Out beyond the orb of Mars.
+
+Yes, that ship was filled with danger
+Mighty monsters barred his way
+Yet he solved the alien myst'ries
+Mining quite a lode that day.
+
+O, they ruled the solar system
+Near ten thousand years before
+'Til one brave advent'rous spirit
+Brought that mighty ship to shore.
+
+As you finish the last verse, Floyd smiles with contentment, and then his eyes close as his head rolls to one side. You sit in silence for a moment, in memory of a brave friend who gave his life so that you might live."
+       CRLF    
+       FCLEAR  FLOYD,RLANDBIT
+       FCLEAR  MINI-CARD,NDESCBIT
+       CALL    INT,I-FLOYD-FORAY
+       PUT     STACK,0,0
+       RTRUE   
+
+
+       .FUNCT  MONSTER-DEATH
+       CALL    JIGS-UP,STR?269
+       RSTACK  
+
+
+       .FUNCT  BIO-LAB-F,RARG
+       EQUAL?  RARG,M-LOOK \?CCL3
+       PRINTI  "This is a huge laboratory filled with many biological experiments. The lighting is "
+       ZERO?   LAB-LIGHTS-ON /?CCL6
+       PRINTI  "bright."
+       JUMP    ?CND4
+?CCL6: PRINTI  "dim, and a faint blue glow comes from a gaping crack in the northern wall."
+?CND4: PRINTR  " Some of the experiments seem to be out of control..."
+?CCL3: EQUAL?  RARG,M-END \FALSE
+       CALL    QUEUE,I-CHASE-SCENE,-1
+       PUT     STACK,0,1
+       ZERO?   LAB-FLOODED /?CCL11
+       PRINTI  "The air is filled with mist, which is affecting the mutants. They appear to be stunned and confused, but are slowly recovering."
+       CRLF    
+       FSET?   GAS-MASK,WORNBIT /FALSE
+       CALL    JIGS-UP,STR?270
+       RSTACK  
+?CCL11:        CALL    JIGS-UP,STR?271
+       RSTACK  
+
+
+       .FUNCT  I-CHASE-SCENE
+       IN?     RAT-ANT,HERE \?CCL3
+       ZERO?   LAB-FLOODED \?CCL3
+       CALL    JIGS-UP,STR?272
+       JUMP    ?CND1
+?CCL3: ZERO?   LAB-FLOODED \?CND1
+       EQUAL?  HERE,BIO-LOCK-WEST \?CCL9
+       ZERO?   EXTRA-MOVE-FLAG \?CCL9
+       SET     'EXTRA-MOVE-FLAG,TRUE-VALUE
+       CRLF    
+       PRINTI  "The monsters gallop toward you, smacking their lips."
+       CRLF    
+       JUMP    ?CND1
+?CCL9: EQUAL?  HERE,CRYO-ELEVATOR \?CCL13
+       ZERO?   CRYO-MOVE-FLAG \?CCL13
+       SET     'CRYO-MOVE-FLAG,TRUE-VALUE
+       CRLF    
+       PRINTI  "The monsters are storming straight toward the elevator door!"
+       CRLF    
+       JUMP    ?CND1
+?CCL13:        EQUAL?  HERE,SECOND-TO-LAST-ROOM \?CCL17
+       EQUAL?  PRSA,V?WALK \?CCL17
+       CALL    JIGS-UP,STR?273
+       JUMP    ?CND1
+?CCL17:        EQUAL?  HERE,CRYO-ELEVATOR \?CND20
+       CRLF    
+       CALL    MONSTER-DEATH
+?CND20:        MOVE    RAT-ANT,HERE
+       MOVE    TRIFFID,HERE
+       MOVE    TROLL,HERE
+       MOVE    GRUE,HERE
+       CRLF    
+       PRINTI  "The mutants "
+       EQUAL?  HERE,BIO-LOCK-WEST \?CCL24
+       PRINTI  "are almost upon you now!"
+       CRLF    
+       JUMP    ?CND1
+?CCL24:        PRINTI  "burst into the room right on your heels! "
+       CALL    PICK-ONE,MONSTER-ENTRANCES
+       PRINT   STACK
+       CRLF    
+?CND1: SET     'SECOND-TO-LAST-ROOM,LAST-CHASE-ROOM
+       SET     'LAST-CHASE-ROOM,HERE
+       RETURN  LAST-CHASE-ROOM
+
+
+       .FUNCT  RADIATION-LAB-F,RARG
+       EQUAL?  RARG,M-ENTER \FALSE
+       FSET?   RADIATION-LAB,TOUCHBIT /FALSE
+       CALL    QUEUE,I-NUKED-BLUE,50
+       PUT     STACK,0,1
+       RTRUE   
+
+
+       .FUNCT  I-NUKED-BLUE
+       CALL    QUEUE,I-NUKED-BLUE,-1
+       PUT     STACK,0,1
+       INC     'NUKED-COUNTER
+       EQUAL?  NUKED-COUNTER,1 \?CCL3
+       CRLF    
+       PRINTR  "You suddenly feel sick and dizzy."
+?CCL3: EQUAL?  NUKED-COUNTER,2 \?CCL5
+       CRLF    
+       PRINTI  "You feel incredibly nauseous and begin vomiting. Also, all your hair has fallen out."
+       IN?     FLOYD,HERE \?CND6
+       PRINTR  " Floyd points at you and laughs hysterically. ""You look funny with no hair,"" he gasps."
+?CND6: CRLF    
+       RTRUE   
+?CCL5: EQUAL?  NUKED-COUNTER,3 \FALSE
+       CALL    JIGS-UP,STR?279
+       RSTACK  
+
+
+       .FUNCT  LAMP-F
+       EQUAL?  PRSA,V?LAMP-ON \?CCL3
+       FSET?   LAMP,ONBIT \?CCL6
+       PRINTR  "It is on."
+?CCL6: FSET    LAMP,ONBIT
+       FSET    LAMP,TOUCHBIT
+       PRINTR  "The lamp is now producing a bright light."
+?CCL3: EQUAL?  PRSA,V?LAMP-OFF \FALSE
+       FSET?   LAMP,ONBIT \?CCL11
+       FCLEAR  LAMP,ONBIT
+       PRINTR  "The lamp goes dark."
+?CCL11:        PRINTR  "It isn't on."
+
+
+       .FUNCT  LAB-OFFICE-F,RARG
+       EQUAL?  RARG,M-LOOK \?CCL3
+       PRINTI  "This is the office for storing files on Bio Lab experiments. A large and messy desk is surrounded by locked files. A small booth lies to the south. "
+       FSET?   OFFICE-DOOR,OPENBIT \?CCL6
+       PRINTI  "An open"
+       JUMP    ?CND4
+?CCL6: PRINTI  "A closed"
+?CND4: PRINTR  " door to the west is labelled ""Biioo Lab."" You realize with shock and horror that the only way out is through the mutant-infested Bio Lab.
+
+On the wall are three buttons: a white button labelled ""Lab Liits On"", a black button labelled ""Lab Liits Of"", and a red button labelled ""Eemurjensee Sistum."""
+?CCL3: EQUAL?  RARG,M-END \FALSE
+       FSET?   OFFICE-DOOR,OPENBIT \FALSE
+       ZERO?   LAB-FLOODED /?CCL13
+       PRINTR  "Through the open doorway you can see the Bio Lab. It seems to be filled with a light mist. Horrifying biological nightmares stagger about making choking noises."
+?CCL13:        CALL    JIGS-UP,STR?283
+       RSTACK  
+
+
+       .FUNCT  LAB-DESK-F
+       EQUAL?  PRSA,V?SEARCH,V?EXAMINE \?CCL3
+       FSET?   LAB-DESK,TOUCHBIT /?CCL3
+       MOVE    MEMO,ADVENTURER
+       FSET    LAB-DESK,TOUCHBIT
+       PRINTI  "After inspecting the various papers on the desk, you find only one item of interest, a memo of some sort. The desk itself is "
+       FSET?   LAB-DESK,OPENBIT \?CCL8
+       PRINTI  "open"
+       JUMP    ?CND6
+?CCL8: PRINTI  "closed, but it doesn't look locked"
+?CND6: PRINTR  "."
+?CCL3: EQUAL?  PRSA,V?OPEN \FALSE
+       IN?     GAS-MASK,LAB-DESK \FALSE
+       CALL    THIS-IS-IT,GAS-MASK
+       RFALSE  
+
+
+       .FUNCT  LIGHT-BUTTON-F
+       EQUAL?  PRSA,V?PUSH \FALSE
+       ZERO?   LAB-LIGHTS-ON /?CCL6
+       PRINTR  "Nothing happens."
+?CCL6: SET     'LAB-LIGHTS-ON,TRUE-VALUE
+       PRINT   FAINT-SOUND
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  DARK-BUTTON-F
+       EQUAL?  PRSA,V?PUSH \FALSE
+       ZERO?   LAB-LIGHTS-ON /?CCL6
+       SET     'LAB-LIGHTS-ON,FALSE-VALUE
+       PRINT   FAINT-SOUND
+       CRLF    
+       RTRUE   
+?CCL6: PRINTR  "Nothing happens."
+
+
+       .FUNCT  FUNGICIDE-BUTTON-F
+       EQUAL?  PRSA,V?PUSH \FALSE
+       SET     'LAB-FLOODED,TRUE-VALUE
+       CALL    QUEUE,I-UNFLOOD,50
+       PUT     STACK,0,1
+       PRINTR  "You hear a hissing from beyond the door to the west."
+
+
+       .FUNCT  I-UNFLOOD
+       SET     'LAB-FLOODED,FALSE-VALUE
+       EQUAL?  HERE,BIO-LAB \?CCL3
+       CRLF    
+       PRINTR  "The last traces of mist in the air vanish. The mutants, recovering quickly, notice you and begin salivating."
+?CCL3: EQUAL?  HERE,LAB-OFFICE \FALSE
+       FSET?   OFFICE-DOOR,OPENBIT \FALSE
+       CRLF    
+       PRINTR  "The mist in the Bio Lab clears. The mutants recover and rush toward the door!"
+
+
+       .FUNCT  I-TURNOFF-MINI
+       SET     'MINI-ACTIVATED,FALSE-VALUE
+       EQUAL?  HERE,MINI-BOOTH \FALSE
+       CRLF    
+       PRINTR  "A recorded voice says ""Miniaturization booth de-activated."""
+
+
+       .FUNCT  STATION-384-F,RARG
+       EQUAL?  RARG,M-ENTER \FALSE
+       ZERO?   BEEN-HERE /FALSE
+       SET     'BEEN-HERE,FALSE-VALUE
+       ZERO?   COMPUTER-FIXED /?CCL9
+       PRINTI  "A voice seems to whisper in your ear ""Main Miniaturization and Teleportation Booth has malfunctioned...switching to Auxiliary Booth..."" "
+       CALL    QUEUE,I-ANNOUNCEMENT,130
+       PUT     STACK,0,1
+       PRINT   FAMILIAR-WRENCHING
+       CRLF    
+       CALL    GOTO,AUXILIARY-BOOTH
+       RETURN  2
+?CCL9: PRINT   FAMILIAR-WRENCHING
+       CRLF    
+       CALL    GOTO,MINI-BOOTH,FALSE-VALUE
+       RSTACK  
+
+
+       .FUNCT  I-ANNOUNCEMENT
+       CRLF    
+       PRINTR  "A recorded announcement blares from the public address system. ""Revival procedure beginning. Cryo-chamber access from Project Control Office now open."""
+
+
+       .FUNCT  MIDDLE-OF-STRIP-F,RARG
+       EQUAL?  RARG,M-ENTER \FALSE
+       ZERO?   COMPUTER-FIXED /FALSE
+       ZERO?   NO-MICROBE /FALSE
+       ZERO?   MICROBE-DISPATCHED \FALSE
+       MOVE    MICROBE,HERE
+       CALL    QUEUE,I-MICROBE,-1
+       PUT     STACK,0,1
+       SET     'NO-MICROBE,FALSE-VALUE
+       PRINTI  "Suddenly, with a loud plop, a giant elephant-sized monster lands on the strip just in front of you. It is amorphously shaped, its skin a slimy translucent red membrane. While most of your brain screams with panic about the disgusting monster that now blocks your exit, some small section in the back of your mind calmly realizes that this is merely some tiny microbe which has somehow violated the sterile environment of the computer interior.
+
+As you stand frozen with fear, the microbe slithers toward you, extending slimy pseudopods thick with waving cilia. It looks pretty hungry, and seems intent on having you for lunch."
+       CRLF    
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  STRIP-NEAR-RELAY-F,RARG
+       EQUAL?  RARG,M-LOOK \?CCL3
+       PRINTI  "North of here, the filament ends at a huge featureless wall, presumably the side of some micro-component. "
+       IN?     RELAY,HERE \?CCL6
+       PRINTR  "To the east is a vacuu-sealed micro-relay, sealed in transparent red plastic. You could probably see into the micro-relay."
+?CCL6: PRINTR  "To the east are the shattered remains of some large object."
+?CCL3: EQUAL?  RARG,M-ENTER \FALSE
+       ZERO?   NO-MICROBE \FALSE
+       MOVE    MICROBE,HERE
+       SET     'MICROBE-COUNTER,0
+       PRINTR  "The microbe, writhing angrily, follows you northward."
+
+
+       .FUNCT  RELAY-EXIT-F
+       IN?     RELAY,HERE \?CCL3
+       PRINTI  "The relay is sealed. Although you cannot enter it, you could look into it."
+       CRLF    
+       RFALSE  
+?CCL3: PRINTI  "You would slice yourself to ribbons on the shattered relay."
+       CRLF    
+       RFALSE  
+
+
+       .FUNCT  RELAY-F
+       EQUAL?  PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE
+       PRINTI  "This is a vacuum-sealed micro-relay, encased in red translucent plastic."
+       ZERO?   COMPUTER-FIXED \?CND4
+       PRINTR  " Within, you can see that some sort of speck or impurity has wedged itself into the contact point of the relay, preventing it from closing. The speck, presumably of microscopic size, resembles a blue boulder to you in your current size."
+?CND4: CRLF    
+       RTRUE   
+
+
+       .FUNCT  LASER-DIAL-F
+       EQUAL?  PRSA,V?SET \?CCL3
+       EQUAL?  PRSI,INTNUM \?CCL3
+       FSET?   LASER-DIAL,MUNGEDBIT \?CCL8
+       PRINTR  "The laser dial seems to have become damaged and will not turn."
+?CCL8: EQUAL?  P-NUMBER,LASER-SETTING \?CCL10
+       PRINTR  "That's where it's set now!"
+?CCL10:        GRTR?   P-NUMBER,6 /?CTR11
+       ZERO?   P-NUMBER \?CCL12
+?CTR11:        PRINTR  "The dial can only be set from 1 to 6."
+?CCL12:        SET     'LASER-SETTING,P-NUMBER
+       PRINTI  "The dial is now set to "
+       PRINTN  P-NUMBER
+       PRINTR  "."
+?CCL3: EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTI  "The dial is currently set to "
+       PRINTN  LASER-SETTING
+       PRINTR  "."
+
+
+       .FUNCT  ZAP-COUNT
+       IN?     OLD-BATTERY,LASER \?CCL3
+       GRTR?   OLD-SHOTS,0 \TRUE
+       DEC     'OLD-SHOTS
+       RFALSE  
+?CCL3: IN?     NEW-BATTERY,LASER \TRUE
+       GRTR?   NEW-SHOTS,0 \TRUE
+       DEC     'NEW-SHOTS
+       RFALSE  
+
+
+       .FUNCT  LASER-F,RARG=0
+       EQUAL?  PRSA,V?SET \?CCL3
+       EQUAL?  PRSI,INTNUM \?CCL3
+       CALL    PERFORM,V?SET,LASER-DIAL,PRSI
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?EXAMINE \?CCL7
+       PRINTI  "The laser, though portable, is still fairly heavy. It has a long, slender barrel and a dial with six settings, labelled ""1"" through ""6."" This dial is currently on setting "
+       PRINTN  LASER-SETTING
+       PRINTI  ". There is a depression on the top of the laser which "
+       IN?     OLD-BATTERY,LASER \?CCL10
+       PRINTI  "contains an "
+       PRINTD  OLD-BATTERY
+       JUMP    ?CND8
+?CCL10:        IN?     NEW-BATTERY,LASER \?CCL12
+       PRINTI  "contains a "
+       PRINTD  NEW-BATTERY
+       JUMP    ?CND8
+?CCL12:        PRINTI  "is empty"
+?CND8: PRINTR  "."
+?CCL7: EQUAL?  PRSA,V?CLOSE,V?OPEN \?CCL14
+       PRINTR  "There doesn't seem to be any way to do that to this laser."
+?CCL14:        EQUAL?  PRSA,V?PUT \?CCL16
+       EQUAL?  PRSO,OLD-BATTERY \?CCL19
+       IN?     NEW-BATTERY,LASER \?CCL22
+       CALL    ALREADY-BATTERY
+       RSTACK  
+?CCL22:        MOVE    OLD-BATTERY,LASER
+       CALL    BATTERY-NOW
+       RSTACK  
+?CCL19:        EQUAL?  PRSO,NEW-BATTERY \?CCL24
+       IN?     OLD-BATTERY,LASER \?CCL27
+       CALL    ALREADY-BATTERY
+       RSTACK  
+?CCL27:        MOVE    NEW-BATTERY,LASER
+       CALL    BATTERY-NOW
+       RSTACK  
+?CCL24:        EQUAL?  LASER,PRSO /FALSE
+       PRINTI  "The "
+       PRINTD  PRSO
+       PRINTR  " doesn't fit the depression."
+?CCL16:        EQUAL?  PRSA,V?ZAP \?CCL31
+       IN?     LASER,ADVENTURER /?CND32
+       CALL    NOT-HOLDING
+       RTRUE   
+?CND32:        ZERO?   LASER-SCORE-FLAG \?CND34
+       SET     'LASER-SCORE-FLAG,TRUE-VALUE
+       ADD     SCORE,2 >SCORE
+?CND34:        EQUAL?  PRSI,LASER /?CTR37
+       EQUAL?  PRSI,LASER-DIAL /?CTR37
+       EQUAL?  PRSI,OLD-BATTERY \?PRD42
+       IN?     OLD-BATTERY,LASER /?CTR37
+?PRD42:        EQUAL?  PRSI,NEW-BATTERY \?CCL38
+       IN?     NEW-BATTERY,LASER \?CCL38
+?CTR37:        PRINTR  "Sorry, the laser doesn't have a rubber barrel."
+?CCL38:        CALL    ZAP-COUNT
+       ZERO?   STACK /?CCL48
+       PRINTR  "Click."
+?CCL48:        FSET?   LASER,MUNGEDBIT \?CCL50
+       PRINTR  "The laser sparks a few times, whines, and then stops."
+?CCL50:        CALL    QUEUE,I-WARMTH,-1
+       PUT     STACK,0,1
+       SET     'LASER-JUST-SHOT,TRUE-VALUE
+       EQUAL?  PRSI,SPECK \?CCL53
+       CALL    SHOOT-SPECK
+       RTRUE   
+?CCL53:        EQUAL?  PRSI,MICROBE \?CCL55
+       CALL    SHOOT-MICROBE
+       RTRUE   
+?CCL55:        EQUAL?  PRSI,ME,HANDS,ADVENTURER \?CCL57
+       PRINTR  "Ouch! You managed to burn yourself nicely."
+?CCL57:        PRINTI  "The laser emits a narrow "
+       CALL    BEAM-COLOR
+       PRINTI  " beam of light"
+       ZERO?   PRSI /?CCL60
+       EQUAL?  PRSI,TOWEL,BROCHURE,COMBINATION-PAPER /?CTR62
+       EQUAL?  PRSI,PRINT-OUT,LAB-UNIFORM,PATROL-UNIFORM /?CTR62
+       EQUAL?  PRSI,ID-CARD,KITCHEN-CARD,MINI-CARD /?CTR62
+       EQUAL?  PRSI,TELEPORTATION-CARD,SHUTTLE-CARD,UPPER-ELEVATOR-CARD /?CTR62
+       EQUAL?  PRSI,LOWER-ELEVATOR-CARD \?CCL63
+?CTR62:        REMOVE  PRSI
+       EQUAL?  PRSI,SPOUT-PLACED \?CND69
+       SET     'SPOUT-PLACED,GROUND
+?CND69:        PRINTI  " which strikes the "
+       PRINTD  PRSI
+       PRINTI  ". The "
+       PRINTD  PRSI
+       PRINTR  " bursts into flame, blinding you momentarily, and is quickly consumed."
+?CCL63:        EQUAL?  PRSI,FLOYD \?CCL72
+       FSET?   FLOYD,RLANDBIT \?CCL72
+       PRINTR  " which strikes Floyd. ""Yow!"" yells Floyd. He jumps to the other end of the room and eyes you warily."
+?CCL72:        EQUAL?  PRSI,PSEUDO-OBJECT \?CCL76
+       EQUAL?  HERE,PROJCON-OFFICE \?CCL76
+       PRINTI  " which strikes the "
+       PRINTD  PRSI
+       PRINTR  ". However, this doesn't seem to affect it."
+?CCL76:        PRINTI  " which strikes the "
+       PRINTD  PRSI
+       PRINTI  ". The "
+       PRINTD  PRSI
+       PRINTR  " grows a bit warm, but nothing else happens."
+?CCL60:        PRINTR  "."
+?CCL31:        EQUAL?  PRSA,V?DROP \FALSE
+       CALL    INT,I-WARMTH
+       PUT     STACK,0,0
+       IN?     MICROBE,HERE \FALSE
+       GRTR?   WARMTH-FLAG,7 \FALSE
+       REMOVE  LASER
+       PRINTR  "The microbe rushes to envelop the laser. You hear a faint burp as the monster begins to look around for other morsels..."
+
+
+       .FUNCT  ALREADY-BATTERY
+       PRINTR  "There's already a battery there."
+
+
+       .FUNCT  BATTERY-NOW
+       PRINTR  "The battery is now resting in the depression, attached to the laser."
+
+
+       .FUNCT  I-WARMTH
+       ZERO?   LASER-JUST-SHOT /?CCL3
+       SET     'LASER-JUST-SHOT,FALSE-VALUE
+       INC     'WARMTH-FLAG
+       EQUAL?  WARMTH-FLAG,3 \?CCL6
+       CALL    LASER-FEELS,STR?298
+       RSTACK  
+?CCL6: EQUAL?  WARMTH-FLAG,6 \?CCL8
+       CALL    LASER-FEELS,STR?299
+       RSTACK  
+?CCL8: EQUAL?  WARMTH-FLAG,9 \?CCL10
+       CALL    LASER-FEELS,STR?300
+       RSTACK  
+?CCL10:        EQUAL?  WARMTH-FLAG,12 \FALSE
+       CALL    LASER-FEELS,STR?301
+       RSTACK  
+?CCL3: ZERO?   WARMTH-FLAG \?CCL15
+       CALL    INT,I-WARMTH
+       PUT     STACK,0,0
+       RTRUE   
+?CCL15:        DEC     'WARMTH-FLAG
+       EQUAL?  WARMTH-FLAG,12 \?CCL18
+       CALL    LASER-COOLS,STR?301
+       RSTACK  
+?CCL18:        EQUAL?  WARMTH-FLAG,9 \?CCL20
+       CALL    LASER-COOLS,STR?302
+       RSTACK  
+?CCL20:        EQUAL?  WARMTH-FLAG,6 \?CCL22
+       CALL    LASER-COOLS,STR?303
+       RSTACK  
+?CCL22:        EQUAL?  WARMTH-FLAG,3 \FALSE
+       CALL    LASER-COOLS,STR?304
+       RSTACK  
+
+
+       .FUNCT  LASER-FEELS,STRING
+       CRLF    
+       PRINTI  "The laser feels "
+       PRINT   STRING
+       PRINTR  ", but that doesn't seem to affect its performance at all."
+
+
+       .FUNCT  LASER-COOLS,STRING
+       CRLF    
+       PRINTI  "The laser has cooled, but it still feels "
+       PRINT   STRING
+       PRINTR  "."
+
+
+       .FUNCT  BEAM-COLOR
+       EQUAL?  LASER-SETTING,1 \?CCL3
+       PRINTI  "red"
+       RTRUE   
+?CCL3: EQUAL?  LASER-SETTING,2 \?CCL5
+       PRINTI  "orange"
+       RTRUE   
+?CCL5: EQUAL?  LASER-SETTING,3 \?CCL7
+       PRINTI  "yellow"
+       RTRUE   
+?CCL7: EQUAL?  LASER-SETTING,4 \?CCL9
+       PRINTI  "green"
+       RTRUE   
+?CCL9: EQUAL?  LASER-SETTING,5 \?CCL11
+       PRINTI  "blue"
+       RTRUE   
+?CCL11:        EQUAL?  LASER-SETTING,6 \FALSE
+       PRINTI  "violet"
+       RTRUE   
+
+
+       .FUNCT  SHOOT-SPECK
+       EQUAL?  LASER-SETTING,1 \?CCL3
+       RANDOM  100
+       LESS?   MARKSMANSHIP-COUNTER,STACK /?CCL6
+       ZERO?   SPECK-HIT /?CCL9
+       SET     'COMPUTER-FIXED,TRUE-VALUE
+       FSET    CRYO-ELEVATOR-DOOR,OPENBIT
+       FCLEAR  PROJCON-OFFICE,TOUCHBIT
+       FCLEAR  CRYO-ELEVATOR-DOOR,INVISIBLE
+       CALL    QUEUE,I-FRY,200
+       PUT     STACK,0,1
+       ADD     SCORE,8 >SCORE
+       REMOVE  SPECK
+       PRINTR  "The beam hits the speck again! This time, it vaporizes into a fine cloud of ash. The relay slowly begins to close, and a voice whispers in your ear ""Sector 384 will activate in 200 millichrons. Proceed to exit station."""
+?CCL9: SET     'SPECK-HIT,TRUE-VALUE
+       PRINTR  "The speck is hit by the beam! It sizzles a little, but isn't destroyed yet."
+?CCL6: ADD     MARKSMANSHIP-COUNTER,12 >MARKSMANSHIP-COUNTER
+       CALL    PICK-ONE,BEAM-MISSES
+       PRINT   STACK
+       CRLF    
+       RTRUE   
+?CCL3: REMOVE  RELAY
+       PRINTI  "A thin "
+       CALL    BEAM-COLOR
+       PRINTR  " beam shoots from the laser and slices through the red plastic covering of the relay like a hot knife through butter. Air rushes into the relay, which collapses into a heap of plastic shards."
+
+
+       .FUNCT  I-FRY
+       EQUAL?  HERE,MIDDLE-OF-STRIP,STRIP-NEAR-STATION,STRIP-NEAR-RELAY \FALSE
+       CRLF    
+       CALL    JIGS-UP,STR?308
+       RSTACK  
+
+
+       .FUNCT  MICROBE-F
+       EQUAL?  PRSA,V?TALK,V?HELLO /?CTR2
+       EQUAL?  MICROBE,WINNER \?CCL3
+?CTR2: PRINTI  "You don't seem to have bridged the vast communication gulf between yourself and the microbe."
+       CRLF    
+       SET     'P-CONT,FALSE-VALUE
+       SET     'QUOTE-FLAG,FALSE-VALUE
+       RETURN  2
+?CCL3: EQUAL?  PRSA,V?GIVE,V?THROW \FALSE
+       EQUAL?  PRSI,MICROBE \FALSE
+       EQUAL?  PRSO,LASER \?CCL14
+       GRTR?   WARMTH-FLAG,7 \?CCL14
+       REMOVE  LASER
+       CALL    INT,I-WARMTH
+       PUT     STACK,0,0
+       GRTR?   WARMTH-FLAG,10 \?CCL19
+       CALL    INT,I-MICROBE
+       PUT     STACK,0,0
+       PRINTI  "The microbe gobbles up the laser and turns toward you. A moment later, it begins writhing in pain. Apparently, eating the hot laser was a bit too much for it. With a bellow of agony, it rolls off the edge of the strip. (Whew!)"
+       CRLF    
+       REMOVE  LASER
+       REMOVE  MICROBE
+       SET     'NO-MICROBE,TRUE-VALUE
+       SET     'MICROBE-DISPATCHED,TRUE-VALUE
+       RETURN  MICROBE-DISPATCHED
+?CCL19:        PRINTR  "The microbe greedily devours the laser, and turns toward you."
+?CCL14:        PRINTI  "The microbe ignores the "
+       PRINTD  PRSO
+       PRINTR  ", but does attempt to digest your arm."
+
+
+       .FUNCT  I-MICROBE
+       EQUAL?  MICROBE-HIT,TRUE-VALUE \?CCL3
+       CRLF    
+       CALL    PICK-ONE,WINNER-ATTACKED
+       PRINT   STACK
+       GRTR?   WARMTH-FLAG,13 \?CCL6
+       IN?     LASER,ADVENTURER \?CCL6
+       CALL    JIGS-UP,STR?310
+       JUMP    ?CND4
+?CCL6: GRTR?   WARMTH-FLAG,7 \?CND4
+       IN?     LASER,ADVENTURER \?CND4
+       PRINTI  " Another pseudopod, perhaps attracted by the warmth of the laser, tries to envelop the weapon. You snatch it away from the monster's grasp."
+?CND4: CRLF    
+       JUMP    ?CND1
+?CCL3: EQUAL?  MICROBE-COUNTER,2 \?CCL14
+       CALL    JIGS-UP,STR?311
+       JUMP    ?CND1
+?CCL14:        INC     'MICROBE-COUNTER
+       CRLF    
+       CALL    PICK-ONE,MONSTER-CLOSES
+       PRINT   STACK
+       CRLF    
+?CND1: SET     'MICROBE-HIT,FALSE-VALUE
+       RETURN  MICROBE-HIT
+
+
+       .FUNCT  SHOOT-MICROBE
+       PRINTI  "The laser beam strikes the microbe"
+       EQUAL?  LASER-SETTING,1 \?CCL3
+       PRINTR  ", but passes harmlessly through its red skin."
+?CCL3: SET     'MICROBE-HIT,TRUE-VALUE
+       PRINTI  ". "
+       CALL    PICK-ONE,MICROBE-STRIKES
+       PRINT   STACK
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  STRIP-F
+       EQUAL?  PRSA,V?THROW-OFF \FALSE
+       EQUAL?  PRSO,LASER \?CCL6
+       GRTR?   WARMTH-FLAG,7 \?CCL6
+       CALL    INT,I-WARMTH
+       PUT     STACK,0,0
+       CALL    INT,I-MICROBE
+       PUT     STACK,0,0
+       PRINTI  "As the laser flies over the edge of the strip, the hungry microbe lunges after it. Both the laser and the microbe plummet into the void. (Whew!)"
+       CRLF    
+       REMOVE  LASER
+       REMOVE  MICROBE
+       SET     'NO-MICROBE,TRUE-VALUE
+       SET     'MICROBE-DISPATCHED,TRUE-VALUE
+       RETURN  MICROBE-DISPATCHED
+?CCL6: EQUAL?  PRSO,LASER \?CND9
+       CALL    INT,I-WARMTH
+       PUT     STACK,0,0
+?CND9: REMOVE  PRSO
+       PRINTI  "The "
+       PRINTD  PRSO
+       PRINTR  " flies over the edge of the strip and disappears into the void."
+
+
+       .FUNCT  GRUE-F
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       IN?     GRUE,HERE /FALSE
+       PRINTR  "Grues are vicious, carnivorous beasts first introduced to Earth by a visiting alien spaceship during the late 22nd century. Grues spread throughout the galaxy alongside man. Although now extinct on all civilized planets, they still exist in some backwater corners of the galaxy. Their favorite diet is Ensigns Seventh Class, but their insatiable appetite is tempered by their fear of light."
+
+       .ENDI
index 6d42b6939323600834b2e9f796e71d48a68d2f5f..d9fbeb72f02a472a4f9ba64d71e19c8fd78e5748 100644 (file)
@@ -7,10 +7,7 @@ with Complex Two / the Eastern Complex / the Lawanda Compleks."
 <ROOM LAWANDA-PLATFORM
       (IN ROOMS)
       (DESC "Lawanda Platform")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"    30
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0 0 0 30 0 0 0 0 0 0 0 0>)
       (NORTH PER SHUTTLE-ENTER-F)
       (SOUTH PER SHUTTLE-ENTER-F)
       (EAST TO ESCALATOR)
@@ -50,10 +47,7 @@ the platform. A faded sign reads \"Shutul Platform -- Lawanda Staashun.\"" CR>)>
       (LDESC
 "You are in the middle of a long mechanical stairway. It is not running,
 and seems to be in disrepair.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN"15  ;"UP"    30
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0 0 15 30 0 0 0 0 0 0 0 0>)
       (UP TO FORK)
       (EAST TO FORK)
       (DOWN TO LAWANDA-PLATFORM)
@@ -68,10 +62,9 @@ and seems to be in disrepair.")
       (LDESC
 "This is a hallway which forks to the northeast and southeast. To the west
 is the top of a long escalator.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN"15  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE" 25 ;"EAST" 0 ;"NE"  25  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0   0 15      0
+          0 0   0   0 
+        25 0  25   0>)
       (WEST TO ESCALATOR)
       (DOWN TO ESCALATOR)
       (NE TO SYSTEMS-CORRIDOR-WEST)
@@ -80,7 +73,7 @@ is the top of a long escalator.")
       (PSEUDO "ESCALATOR" ESCALATOR-PSEUDO)
       (FLAGS FLOYDBIT RLANDBIT ONBIT)>
 
-^L
+\f
 
 "He's dead, Jim"
 
@@ -90,10 +83,9 @@ is the top of a long escalator.")
       (LDESC 
 "You have entered a clean, well-lighted place. There are a number of beds,
 some complicated looking equipment, and many shelves that are mostly bare.")
-      (C-MOVE  <TABLE
-         ;"OUT"25 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE" 25 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 25   0 0      0
+          0 0   0   0 
+        25 0   0   0>)
       (SE TO SYSTEMS-CORRIDOR-WEST)
       (OUT TO SYSTEMS-CORRIDOR-WEST)
       (FLAGS RLANDBIT ONBIT)
@@ -218,10 +210,9 @@ it." CR>)>>
 "You are in a dimly lit room, filled with strange machines and wide storage
 cabinets, all locked. To the south, a narrow stairway leads upward. On the
 north wall of the room is a very small doorway.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"    30
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0   0 0     30
+          0 0   0   0 
+         0 0   0   0>)
       (UP TO SYSTEMS-CORRIDOR-WEST)
       (SOUTH TO SYSTEMS-CORRIDOR-WEST)
       (NORTH "It is a robot-sized doorway -- a bit too small for you.")
@@ -305,10 +296,9 @@ interesting inside. Just a shiny fromitz board.\"" CR>)>>
       (LDESC
 "The corridor bends here, leading east and southwest. A doorway opens
 to the northwest, and a narrow stairway leads down to the north.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN"15  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"  25  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0   0 15      0
+          0 0  25   0 
+         0 0   0   0>)
       (NW TO INFIRMARY)
       (NORTH TO REPAIR-ROOM)
       (DOWN TO REPAIR-ROOM)
@@ -323,10 +313,7 @@ to the northwest, and a narrow stairway leads down to the north.")
       (LDESC
 "This section of hallway has a doorway to the north labelled \"Planateree
 Deefens.\" The corridor continues east and west.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (NORTH TO PLANETARY-DEFENSE)
       (WEST TO SYSTEMS-CORRIDOR-WEST)
       (EAST TO SYSTEMS-CORRIDOR-EAST)
@@ -339,10 +326,7 @@ Deefens.\" The corridor continues east and west.")
 "The hallway ends here with a large doorway leading east, and smaller doorways
 to the north and south. The northern doorway is labelled \"Planateree Kors
 Kontrool.\" The hallway itself leads west.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (WEST TO SYSTEMS-CORRIDOR)
       (SOUTH TO LIBRARY-LOBBY)
       (NORTH TO PLANETARY-COURSE-CONTROL)
@@ -357,16 +341,13 @@ Kontrool.\" The hallway itself leads west.")
 intended to heat and ventilate the Lawanda Complex. Oddly, although the
 Lawanda Complex is slightly smaller than its counterpart, this plant is much
 larger than the one in the Kalamontee Complex. The only exit is westward.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (WEST TO SYSTEMS-CORRIDOR-EAST)
       (OUT TO SYSTEMS-CORRIDOR-EAST)
       (FLAGS FLOYDBIT RLANDBIT ONBIT)
       (PSEUDO "EQUIPM" EQUIPMENT-PSEUDO)>
 
-^L
+\f
 
 "Planetary systems and repairs"
 
@@ -379,10 +360,7 @@ larger than the one in the Kalamontee Complex. The only exit is westward.")
 <ROOM PLANETARY-DEFENSE
       (IN ROOMS)
       (DESC "Planetary Defense")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (SOUTH TO SYSTEMS-CORRIDOR)
       (OUT TO SYSTEMS-CORRIDOR)
       (FLAGS RLANDBIT FLOYDBIT ONBIT)
@@ -534,10 +512,7 @@ shock from the fromitz board." CR>>
 <ROOM PLANETARY-COURSE-CONTROL
       (IN ROOMS)
       (DESC "Course Control")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (SOUTH TO SYSTEMS-CORRIDOR-EAST)
       (OUT TO SYSTEMS-CORRIDOR-EAST)
       (FLAGS FLOYDBIT RLANDBIT ONBIT)
@@ -631,7 +606,7 @@ The other light reads \"Kritikul diivurjins frum pland kors.\"">)>
                       <TELL
 "You can't get a grip on the bedistor with that." CR>)>)>>
 
-^L
+\f
 
 "The Library"
 
@@ -642,10 +617,7 @@ The other light reads \"Kritikul diivurjins frum pland kors.\"">)>
 "This is a carpeted room, thick with dust, with exits to the north and south.
 To the west, up a few steps, is a wide doorway. A small booth lies to the
 east.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (UP TO LIBRARY)
       (WEST TO LIBRARY)
       (NORTH TO SYSTEMS-CORRIDOR-EAST)
@@ -684,10 +656,7 @@ east.")
 "This is a tiny room with a large \"3\" painted on the wall. A panel contains
 a slot about ten centimeters wide, a brown button labelled \"1\" and a beige
 button labelled \"2.\"")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (WEST TO LIBRARY-LOBBY)
       (OUT TO LIBRARY-LOBBY)
       (FLAGS RLANDBIT ONBIT)
@@ -700,10 +669,7 @@ button labelled \"2.\"")
       (LDESC
 "This is a large carpeted room with a desk and many small tables. The sole
 exit is down a few steps to the east.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (EAST TO LIBRARY-LOBBY)
       (OUT TO LIBRARY-LOBBY)
       (FLAGS RLANDBIT ONBIT FLOYDBIT)
@@ -1307,10 +1273,9 @@ using complicated medical procedures.">
       (LDESC
 "This is a curving hallway leading east and northwest. There is an opening
 to the west.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW" 25 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0   0 0      0
+         25 0   0   0 
+         0 0   0   0>)
       (WEST TO SANFAC-F)
       (EAST TO PROJECT-CORRIDOR)
       (NW TO FORK)
@@ -1322,10 +1287,7 @@ to the west.")
       (LDESC
 "This is another dusty sanitary facility. Unlike the ones near the dorms,
 this one is smaller and has no bathing fixtures.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (EAST TO PROJECT-CORRIDOR-WEST)
       (OUT TO PROJECT-CORRIDOR-WEST)
       (FLAGS FLOYDBIT RLANDBIT ONBIT)
@@ -1337,10 +1299,7 @@ this one is smaller and has no bathing fixtures.")
       (LDESC
 "You are at the center of a long east-west hallway. A doorway, labelled
 \"PrajKon Awfis\", opens to the south.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (EAST TO PROJECT-CORRIDOR-EAST)
       (WEST TO PROJECT-CORRIDOR-WEST)
       (SOUTH TO PROJCON-OFFICE)
@@ -1349,10 +1308,7 @@ this one is smaller and has no bathing fixtures.")
 <ROOM PROJCON-OFFICE
       (IN ROOMS)
       (DESC "ProjCon Office")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (NORTH TO PROJECT-CORRIDOR)
       (SOUTH TO CRYO-ELEVATOR IF CRYO-ELEVATOR-DOOR IS OPEN
        ELSE "You can't go that way.")
@@ -1396,10 +1352,7 @@ this before,\" he comments." CR>)>>
 <ROOM CRYO-ELEVATOR
       (IN ROOMS)
       (DESC "Cryo-Elevator")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (NORTH PER CRYO-EXIT-F)
       (GLOBAL CRYO-ELEVATOR-DOOR)
       (FLAGS RLANDBIT ONBIT)
@@ -1433,10 +1386,7 @@ to the north which is ">
 <ROOM CRYO-ANTEROOM
       (IN ROOMS)
       (DESC "Cryo-Anteroom")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (FLAGS RLANDBIT ONBIT)
       (ACTION CRYO-ANTEROOM-F)>
 
@@ -1527,22 +1477,13 @@ moment, a landing party from the S.P.S. Flathead materializes, and takes you
 away from the doomed world." CR CR>)>
                       <FINISH <>>)>)>>
 
-;(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.")
-
 <ROOM PROJECT-CORRIDOR-EAST
       (IN ROOMS)
       (DESC "Project Corridor East")
       (LDESC
 "The hallway ends here but continues back toward the west. Doorways lead
 north, south and east.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (NORTH TO LIBRARY-LOBBY)
       (SOUTH TO COMPUTER-ROOM)
       (WEST TO PROJECT-CORRIDOR)
@@ -1556,10 +1497,9 @@ north, south and east.")
 "This is the main computer room for the Project. The only sign of activity is
 a glowing red light. The exits are north, west, and northeast. To the south
 is a small booth.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"  25  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0   0 0      0
+          0 0   0   0 
+         0 0  25   0>)
       (NORTH TO PROJECT-CORRIDOR-EAST)
       (WEST TO PROJCON-OFFICE)
       (SOUTH TO MINI-BOOTH)
@@ -1621,10 +1561,7 @@ The printout ends at this point." CR>
 "This is a small room barely large enough for one person. Mounted on the wall
 is a small slot, and next to it a keyboard with numeric keys. The exit is to
 the north.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (NORTH TO COMPUTER-ROOM)
       (OUT TO COMPUTER-ROOM)
       (FLAGS RLANDBIT ONBIT)
@@ -1654,10 +1591,9 @@ the north.")
 "This is the heart of the Project's vast laboratory complex. There are exits
 to the west and southwest, and heavy metal doors to the northeast and
 southeast. A small doorway leads south.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"  25  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0   0 0      0
+          0 0  25   0 
+         0 0   0   0>)
       (WEST TO PROJECT-CORRIDOR-EAST)
       (SOUTH TO LAB-STORAGE)
       (SW TO COMPUTER-ROOM)
@@ -1672,10 +1608,7 @@ southeast. A small doorway leads south.")
       (LDESC
 "This is a tiny room for the storage of laboratory supplies. The sole exit is
 to the north.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (NORTH TO MAIN-LAB)
       (OUT TO MAIN-LAB)
       (FLAGS RLANDBIT FLOYDBIT ONBIT)
@@ -1736,14 +1669,6 @@ pocket of the uniform." CR>)>)>)
        (FLAGS TAKEBIT READBIT)
        (TEXT "The card is embossed \"teliportaashun akses kard.\"")>
 
-;<OBJECT MODULATOR-PIN
-       (IN LAB-UNIFORM)
-       (DESC "modulator pin")
-       (SYNONYM PIN)
-       (ADJECTIVE DIGGER MODULATOR)
-       (SIZE 2)
-       (FLAGS TAKEBIT)>
-
 <OBJECT COMBINATION-PAPER
        (IN LAB-UNIFORM)
        (DESC "piece of paper")
@@ -1765,10 +1690,9 @@ pocket of the uniform." CR>)>)>)
 "This is the first half of a sterilization chamber to prevent contamination
 of the delicate biological experiments in the Bio Lab which lies beyond. The
 door to the west leads to the main lab, and the bio lock continues eastward.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST"10 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0   0 0      0
+          0 0   0   0 
+         0 10   0   0>)
       (EAST TO BIO-LOCK-EAST)
       (WEST TO MAIN-LAB IF BIO-DOOR-WEST IS OPEN)
       (FLAGS RLANDBIT ONBIT)
@@ -1781,10 +1705,9 @@ door to the west leads to the main lab, and the bio lock continues eastward.")
 "The is the second half of the sterilization chamber leading from the main
 lab to the Bio Lab. The door to the east, leading to the Bio Lab, has a
 window. The bio lock continues to the west.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST"10 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE  <TABLE 0   0 0      0
+          0 10   0   0 
+         0 0   0   0>)
       (EAST TO BIO-LAB IF BIO-DOOR-EAST IS OPEN)
       (WEST TO BIO-LOCK-WEST)
       (FLAGS RLANDBIT ONBIT)
@@ -1848,10 +1771,7 @@ you to open the door.">)
 "This is the western half of a decontamination chamber to prevent dangerous
 radioactive materials from leaving the Radiation Lab which lies to the east.
 The door leads west to the main lab.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (EAST TO RADIATION-LOCK-EAST)
       (WEST TO MAIN-LAB IF RAD-DOOR-WEST IS OPEN)
       (FLAGS RLANDBIT ONBIT)
@@ -1865,10 +1785,7 @@ The door leads west to the main lab.")
 east leads to the Radiation Lab, and the chamber continues westward. A sign
 on the wall reads \"WORNEENG! Raadeeaashun suuts must bee worn beeyond xis
 point.\"")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (EAST TO RADIATION-LAB IF RAD-DOOR-EAST IS OPEN)
       (WEST TO RADIATION-LOCK-WEST)
       (FLAGS RLANDBIT ONBIT)
@@ -2121,10 +2038,7 @@ and you feel a powerful poison begin to work its numbing effects...">>
 <ROOM BIO-LAB
       (IN ROOMS)
       (DESC "Bio Lab")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (EAST TO LAB-OFFICE IF OFFICE-DOOR IS OPEN)
       (WEST TO BIO-LOCK-EAST IF BIO-DOOR-EAST IS OPEN)
       (FLAGS RLANDBIT ONBIT)
@@ -2146,6 +2060,7 @@ The lighting is ">
 " Some of the experiments seem to be out of control..." CR>)
         (<EQUAL? .RARG ,M-END>
          <ENABLE <QUEUE I-CHASE-SCENE -1>>
+         <DISABLE <INT I-SLEEP-WARNINGS>> ;"don't fall asleep in mid-chase"
          <COND (,LAB-FLOODED
                       <TELL
 "The air is filled with mist, which is affecting the mutants. They appear
@@ -2223,10 +2138,7 @@ radioactive warnings. Many of the canisters are split open. You can see the
 Bio Lab through a large crack in the south wall. Sinister-looking forms move
 about within the Bio Lab. Although the lights here are off, the room is
 suffused with a pale blue glow.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (WEST TO RADIATION-LOCK-EAST IF RAD-DOOR-EAST IS OPEN)
       (FLAGS RLANDBIT ONBIT)
       (GLOBAL TABLES RAD-DOOR-EAST)
@@ -2300,10 +2212,7 @@ It seems you have picked up a bad case of radiation poisoning.">)>>
 <ROOM LAB-OFFICE
       (IN ROOMS)
       (DESC "Lab Office")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (WEST TO BIO-LAB IF OFFICE-DOOR IS OPEN)
       (SOUTH TO AUXILIARY-BOOTH)
       (IN TO AUXILIARY-BOOTH)
@@ -2465,17 +2374,14 @@ toward the door!" CR>)>>
 "This is another small booth. Unlike the Miniaturization Booth, this room
 has no slot or keyboard, so presumably it is intended only as a receiving
 station. The exit is on the northern side.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (NORTH TO LAB-OFFICE)
       (OUT TO LAB-OFFICE)
       (FLAGS RLANDBIT ONBIT)
       (VALUE 4)
       (PSEUDO "BOOTH" IN-BOOTH-PSEUDO)>
 
-^L
+\f
 
 ;"INSIDE THE COMPUTER"
 
@@ -2494,10 +2400,7 @@ station. The exit is on the northern side.")
 "You are standing on a square plate of heavy metal. Above your head, parallel
 to the plate beneath you, is an identical metal plate. To the east is a wide,
 metallic strip.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (EAST TO STRIP-NEAR-STATION)
       (FLAGS RLANDBIT ONBIT)
       (GLOBAL STRIP)
@@ -2541,10 +2444,7 @@ room whose distant walls are rushing straight toward you...|">
 metal highway. South of here, the filament makes a right angle and heads
 straight down, like a cliff overlooking a black void. The filament can be
 followed north, however. Station 384 lies westward.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (SOUTH "The plunge would probably be fatal.")
       (EAST "The plunge would probably be fatal.")
       (NORTH TO MIDDLE-OF-STRIP)
@@ -2560,10 +2460,7 @@ followed north, however. Station 384 lies westward.")
       (LDESC
 "You are standing on a section of the strip with a bottomless void stretching
 out on both sides. The strip continues to the north and south.")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (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.")
@@ -2601,10 +2498,7 @@ hungry, and seems intent on having you for lunch." CR CR>)>)>>
 <ROOM STRIP-NEAR-RELAY
       (IN ROOMS)
       (DESC "Strip Near Relay")
-      (C-MOVE  <TABLE
-         ;"OUT" 0 ;"IN"   0 ;"DOWN" 0  ;"UP"     0
-         ;"NW"  0 ;"WEST" 0 ;"SW"   0  ;"SOUTH"  0 
-        ;"SE"  0 ;"EAST" 0 ;"NE"   0  ;"NORTH"  0>)
+      (C-MOVE 0)
       (NORTH "There is a huge featureless wall there, remember?")
       (SOUTH TO MIDDLE-OF-STRIP IF NO-MICROBE ELSE "Not a chance -- unless,
 of course, you don't mind walking into the gullet of a hungry microbe.")
@@ -2672,7 +2566,7 @@ current size.">)>
        (ADJECTIVE BLUE)
        (FLAGS NDESCBIT)>
 
-^L
+\f
 
 ;"Laserium"
 
@@ -2888,16 +2782,6 @@ monster begins to look around for other morsels..." CR>)
         <TELL "The battery is now resting in the depression, attached
 to the laser." CR>>
 
-;<ROUTINE LASER-CONTENTS ()
-         <TELL "The laser ">
-         <COND (<IN? ,OLD-BATTERY ,LASER>
-                <TELL "contains an " D ,OLD-BATTERY>)
-               (<IN? ,NEW-BATTERY ,LASER>
-                <TELL "contains a " D ,NEW-BATTERY>)
-               (T
-                <TELL "is empty">)>
-         <TELL "." CR>>
-
 <GLOBAL WARMTH-FLAG 0>
 
 <GLOBAL LASER-JUST-SHOT <>>
@@ -3004,7 +2888,7 @@ With a furious storm of electrical mayhem, Sector 384 comes to life. A
 few micro-volts course through the silicon strip on which you stand.
 Unfortunately, at your current size, this is enough to barbecue you.">)>>
 
-^L
+\f
 
 ;"The microbe battle"
 
@@ -3019,7 +2903,8 @@ towering over you.")
        (ACTION MICROBE-F)>
 
 <ROUTINE MICROBE-F ()
-        <COND (<VERB? TELL HELLO TALK>
+        <COND (<OR <VERB? HELLO TALK>
+                   <EQUAL? ,MICROBE ,WINNER>>
                <TELL
 "You don't seem to have bridged the vast communication gulf
 between yourself and the microbe." CR>
@@ -3045,11 +2930,11 @@ the strip. (Whew!)" CR>
                             <SETG MICROBE-DISPATCHED T>)
                             (T
                              <TELL
-"The microbe greedily devours the laser, and turns toward you." CR>)
+"The microbe greedily devours the laser, and turns toward you." CR>)>)
                      (T
                       <TELL
 "The microbe ignores the " D ,PRSO ", but does attempt to digest
-your arm." CR>)>)>)>>
+your arm." CR>)>)>>
 
 <ROUTINE I-MICROBE ()
         <COND (<EQUAL? ,MICROBE-HIT T>
@@ -3150,7 +3035,7 @@ it. Both the laser and the microbe plummet into the void. (Whew!)" CR>
 "The " D ,PRSO " flies over the edge of the strip and disappears into the
 void." CR>)>)>>
 
-^L
+\f
 
 ;"Endgame -- The mutant chase scene"
 
@@ -3201,4 +3086,4 @@ fear of light." CR>)>>
 toward you on three leg-like stalks.")
        (SYNONYM TRIFFID PLANT MUTANT MONSTER)
        (ADJECTIVE MOBILE MAN-EATING GIANT)
-       (FLAGS ACTORBIT)>
\ No newline at end of file
+       (FLAGS ACTORBIL M
\ No newline at end of file
diff --git a/globals.zabstr b/globals.zabstr
new file mode 100644 (file)
index 0000000..989dee7
--- /dev/null
@@ -0,0 +1,389 @@
+
+<CONSTANT DEFAULT-MOVE 20> 
+<DIRECTIONS NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT> 
+<GLOBAL LOAD-ALLOWED 100 %<> WORD> 
+<OBJECT GLOBAL-OBJECTS (FLAGS INVISIBLE TOUCHBIT SURFACEBIT TRYTAKEBIT MUNGBIT
+MUNGEDBIT SCRAMBLEDBIT WORNBIT OPENBIT SEARCHBIT TRANSBIT WEARBIT)> 
+<OBJECT LOCAL-GLOBALS (IN GLOBAL-OBJECTS) (SYNONYM ZZMGCK) (VALUE 0) (CONTFCN 0
+) (DESCFCN 0) (SIZE 0)> 
+<OBJECT ROOMS> 
+<OBJECT INTNUM (IN GLOBAL-OBJECTS) (SYNONYM INTNUM) (DESC "number")> 
+<OBJECT PSEUDO-OBJECT (DESC "pseudo") (ACTION GO)> 
+<OBJECT IT (IN GLOBAL-OBJECTS) (SYNONYM IT THAT THIS HIM) (DESC "random object"
+) (FLAGS NDESCBIT)> 
+<OBJECT STAIRS (IN LOCAL-GLOBALS) (SYNONYM STAIRS STEPS GANGWAY STAIRWAY) (DESC
+"stairway") (FLAGS NDESCBIT CLIMBBIT)> 
+<OBJECT GROUND (IN GLOBAL-OBJECTS) (SYNONYM GROUND EARTH FLOOR DECK) (DESC
+"floor") (FLAGS NDESCBIT) (ACTION GROUND-F)> 
+<DEFINE-ROUTINE GROUND-F> 
+<OBJECT WINDOW (IN LOCAL-GLOBALS) (DESC "window") (SYNONYM WINDOW PORT VIEWPORT
+) (ADJECTIVE VIEW) (FLAGS NDESCBIT) (ACTION WINDOW-F)> 
+<DEFINE-ROUTINE WINDOW-F> 
+<OBJECT CLIFF (IN LOCAL-GLOBALS) (DESC "cliff") (SYNONYM CLIFF) (FLAGS NDESCBIT
+) (ACTION CLIFF-F)> 
+<DEFINE-ROUTINE CLIFF-F> 
+<OBJECT OCEAN (IN LOCAL-GLOBALS) (DESC "ocean") (SYNONYM OCEAN) (ADJECTIVE
+ENDLESS) (FLAGS VOWELBIT NDESCBIT) (ACTION OCEAN-F)> 
+<DEFINE-ROUTINE OCEAN-F> 
+<OBJECT TABLES (IN LOCAL-GLOBALS) (DESC "table") (SYNONYM TABLE TABLES) (FLAGS
+NDESCBIT) (ADJECTIVE ROUND CONFERENCE SMALL WIDE LONG) (ACTION TABLES-F)> 
+<DEFINE-ROUTINE TABLES-F> 
+<OBJECT SHELVES (IN LOCAL-GLOBALS) (SYNONYM SHELF SHELVES) (DESC "shelf") (
+FLAGS NDESCBIT) (ACTION SHELVES-F)> 
+<DEFINE-ROUTINE SHELVES-F> 
+<OBJECT LIGHTS (IN LOCAL-GLOBALS) (SYNONYM LIGHT LIGHTS) (ADJECTIVE RED DAZZLI
+GLOWIN BLINKI WARNIN BRIGHT COLORE FLASHI) (DESC "light") (FLAGS NDESCBIT) (
+ACTION LIGHTS-F)> 
+<DEFINE-ROUTINE LIGHTS-F> 
+<OBJECT GLOBAL-DOORWAY (IN GLOBAL-OBJECTS) (SYNONYM DOORWA PORTAL OPENIN) (
+ADJECTIVE NORTH SOUTH EAST WEST NE SE NW SW) (DESC "doorway") (FLAGS NDESCBIT)
+(ACTION GLOBAL-DOORWAY-F)> 
+<DEFINE-ROUTINE GLOBAL-DOORWAY-F> 
+<DEFINE-ROUTINE USE-DIRECTIONS> 
+<DEFINE-ROUTINE NO-CLOSE> 
+<OBJECT CONTROLS (IN LOCAL-GLOBALS) (SYNONYM CONTRO PANEL DIALS GAUGES) (
+ADJECTIVE CONTRO COMPLEX) (DESC "set of controls") (FLAGS NDESCBIT) (ACTION
+CONTROLS-F)> 
+<DEFINE-ROUTINE CONTROLS-F> 
+<OBJECT GLOBAL-GAMES (IN GLOBAL-OBJECTS) (DESC "game") (SYNONYM BOCCI CHESS
+HIDER- HUCKA-) (FLAGS NDESCBIT) (ACTION GLOBAL-GAMES-F)> 
+<DEFINE-ROUTINE GLOBAL-GAMES-F> 
+<OBJECT HANDS (IN GLOBAL-OBJECTS) (SYNONYM PAIR HANDS) (ADJECTIVE BARE) (DESC
+"pair of hands") (FLAGS NDESCBIT) (ACTION HANDS-F)> 
+<DEFINE-ROUTINE HANDS-F> 
+<OBJECT SLEEP (IN GLOBAL-OBJECTS) (DESC "sacred act of sleeping") (SYNONYM
+SLEEP) (FLAGS NDESCBIT) (ACTION SLEEP-F)> 
+<DEFINE-ROUTINE SLEEP-F> 
+<OBJECT ADVENTURER (IN DECK-NINE) (SYNONYM ADMIRA SMITHE SPAM EGGS) (ADJECTIVE
+ORANGE OPENER) (DESC "player") (FLAGS NDESCBIT INVISIBLE)> 
+<OBJECT ME (IN GLOBAL-OBJECTS) (SYNONYM ME MYSELF SELF WE) (DESC "you") (FLAGS
+ACTORBIT) (ACTION CRETIN-F)> 
+<DEFINE-ROUTINE CRETIN-F> 
+<DEFINE-ROUTINE DDESC> 
+<DEFINE-ROUTINE ALREADY-OPEN> 
+<DEFINE-ROUTINE IS-CLOSED> 
+<DEFINE-ROUTINE V-THROUGH> 
+<DEFINE-ROUTINE FIND-IN> 
+<OBJECT NOT-HERE-OBJECT (DESC "such thing") (ACTION NOT-HERE-OBJECT-F)> 
+<DEFINE-ROUTINE NOT-HERE-OBJECT-F> 
+<DEFINE-ROUTINE FIND-NOT-HERE> 
+<DEFINE-ROUTINE NOT-HERE-PRINT> 
+<ROOM BRIG (IN ROOMS) (DESC "Brig") (LDESC
+"You are in the Feinstein's brig. Graffiti cover
+the walls. The cell door to the south is locked.") (C-MOVE <TABLE 0 0 0 0 0 0 0
+0 0 0 0 0>) (SOUTH "The cell door is locked.") (FLAGS RLANDBIT ONBIT) (PSEUDO
+"GRAFFITI" GRAFFITI-PSEUDO "DOOR" DOOR-PSEUDO)> 
+<ROOM DECK-NINE (IN ROOMS) (DESC "Deck Nine") (C-MOVE <TABLE 0 0 0 0 0 15 0 0 0
+15 0 0>) (EAST TO REACTOR-LOBBY IF CORRIDOR-DOOR IS OPEN) (WEST TO ESCAPE-POD
+IF POD-DOOR IS OPEN) (IN TO ESCAPE-POD IF POD-DOOR IS OPEN) (UP TO GANGWAY IF
+GANGWAY-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL POD-DOOR CORRIDOR-DOOR
+GANGWAY-DOOR STAIRS GLOBAL-POD) (PSEUDO "TRANSL" TRANSLATOR-PSEUDO "SLIME"
+SLIME-PSEUDO) (ACTION DECK-NINE-F)> 
+<DEFINE-ROUTINE DECK-NINE-F> 
+<OBJECT SCRUB-BRUSH (IN ADVENTURER) (DESC
+"Patrol-issue self-contained multi-purpose scrub brush") (SYNONYM BRUSH SCRUBB
+SCRUBR) (ADJECTIVE SCRUB PATROL SELF-CONTAINED MULTI) (FLAGS TAKEBIT) (SIZE 10)
+> 
+<OBJECT CHRONOMETER (IN ADVENTURER) (DESC "chronometer") (SYNONYM CHRONOMETER
+WRISTWATCH WATCH) (ADJECTIVE WRIST) (SIZE 10) (FLAGS MUNGBIT TAKEBIT WEARBIT
+WORNBIT) (ACTION CHRONOMETER-F)> 
+<DEFINE-ROUTINE CHRONOMETER-F> 
+<DEFINE-ROUTINE TELL-TIME> 
+<GLOBAL MUNGED-TIME 0 %<> WORD> 
+<OBJECT ID-CARD (IN PATROL-UNIFORM) (DESC "ID card") (SYNONYM CARD CARDS) (
+ADJECTIVE PATROL ID IDENTIFICATION) (FLAGS VOWELBIT TAKEBIT READBIT) (SIZE 3) (
+TEXT "\"STELLAR PATROL|
+Special Assignment Task Force|
+ID Number:  6172-531-541\"")> 
+<OBJECT PATROL-UNIFORM (IN ADVENTURER) (DESC "Patrol uniform") (LDESC
+"A slightly wrinkled Patrol uniform is lying here.") (SYNONYM UNIFORM POCKET
+SUIT) (ADJECTIVE PATROL WRINKLED) (FLAGS TAKEBIT WORNBIT WEARBIT CONTBIT
+SEARCHBIT OPENBIT) (CAPACITY 10) (ACTION PATROL-UNIFORM-F)> 
+<DEFINE-ROUTINE PATROL-UNIFORM-F> 
+<ROOM REACTOR-LOBBY (IN ROOMS) (DESC "Reactor Lobby") (LDESC
+"The corridor widens here as it nears the main drive area. To starboard is
+the Ion Reactor that powers the vessel, and aft of here is the Auxiliary
+Control Room. The corridor continues to port.") (C-MOVE <TABLE 0 0 0 0 0 15 0 0
+0 0 0 0>) (WEST TO DECK-NINE IF CORRIDOR-DOOR IS OPEN) (SOUTH
+"Ensign Blather pushes you roughly back toward your post.") (EAST
+"Ensign Blather blocks your way, snarling angrily.") (FLAGS RLANDBIT ONBIT) (
+GLOBAL CORRIDOR-DOOR)> 
+<ROOM GANGWAY (IN ROOMS) (DESC "Gangway") (LDESC
+"This is a steep metal gangway connecting Deck Eight, above, and Deck
+Nine, below.") (C-MOVE <TABLE 0 0 10 0 0 0 0 0 0 0 0 0>) (UP TO DECK-EIGHT) (
+DOWN TO DECK-NINE IF GANGWAY-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL
+GANGWAY-DOOR STAIRS) (ACTION GANGWAY-F)> 
+<DEFINE-ROUTINE GANGWAY-F> 
+<ROOM DECK-EIGHT (IN ROOMS) (DESC "Deck Eight") (LDESC
+"This is a featureless corridor leading port and starboard. A gangway leads
+down, and to fore is the Hyperspatial Jump Machinery Room.") (C-MOVE <TABLE 0 0
+10 0 0 0 0 0 0 0 0 0>) (DOWN TO GANGWAY) (EAST
+"Blather throws you to the deck and makes you do 20 push-ups.") (WEST
+"Blather throws you to the deck and makes you do 20 push-ups.") (NORTH
+"Blather blocks your path, growling about extra galley duty.") (FLAGS RLANDBIT
+ONBIT) (GLOBAL STAIRS)> 
+<GLOBAL BLATHER-LEAVE 0 %<> WORD> 
+<GLOBAL BRIGS-UP 0 %<> WORD> 
+<DEFINE-ROUTINE I-BLATHER> 
+<OBJECT BLATHER (DESC "Ensign First Class") (LDESC
+"Ensign First Class Blather is standing before you, furiously scribbling
+demerits onto an oversized clipboard.") (SYNONYM ENSIGN BLATHER) (ADJECTIVE
+ENSIGN FIRST CLASS) (SIZE 150) (FLAGS VOWELBIT ACTORBIT) (ACTION BLATHER-F)> 
+<DEFINE-ROUTINE BLATHER-F> 
+<OBJECT AMBASSADOR (DESC "alien ambassador") (LDESC
+"A high-ranking ambassador from a newly-contacted alien race is standing
+here on three of his legs, and watching you with seven of his eyes.") (SYNONYM
+AMBASSADOR) (ADJECTIVE VERY IMPORTANT ALIEN HIGH-RANKING HIGH RANKING) (SIZE
+150) (FLAGS VOWELBIT ACTORBIT) (ACTION AMBASSADOR-F)> 
+<OBJECT CELERY (DESC "piece of celery") (SYNONYM CELERY PIECE STALK) (FLAGS
+NDESCBIT FOODBIT) (ACTION CELERY-F)> 
+<DEFINE-ROUTINE CELERY-F> 
+<GLOBAL AMBASSADOR-LEAVE 0 %<> WORD> 
+<DEFINE-ROUTINE I-AMBASSADOR> 
+<OBJECT BROCHURE (DESC "brochure") (LDESC
+"Unfortunately, one of those stupid Blow'k-bibben-Gordo brochures is here.") (
+SYNONYM BROCHURE PAMPHLET LEAFLET) (FLAGS ACIDBIT TAKEBIT READBIT) (SIZE 4) (
+TEXT "\"The leading export of Blow'k-bibben-Gordo is the adventure game|
+|
+          *** PLANETFALL ***|
+|
+written by S. Eric Meretzky.|
+Buy one today. Better yet, buy a thousand.\"")> 
+<GLOBAL AMBASSADOR-QUOTES <PLTABLE
+"introduces himself as Br'gun-te'elkner-ipg'nun."
+"asks if you are performing some sort of religious ceremony."
+"inquires whether you are interested in a game of Bocci."
+"recites a plea for coexistence between your races."
+"asks where Admiral Smithers can be found."
+"remarks that all humans look alike to him." "offers you a bit of celery."> %<>
+WORD> 
+<DEFINE-ROUTINE AMBASSADOR-F> 
+<ROOM ESCAPE-POD (IN ROOMS) (DESC "Escape Pod") (C-MOVE <TABLE 0 0 0 0 0 0 0 0
+0 0 0 0>) (EAST PER POD-EXIT-F) (OUT PER POD-EXIT-F) (UP PER POD-EXIT-F) (FLAGS
+RLANDBIT ONBIT) (VALUE 3) (GLOBAL POD-DOOR CONTROLS LIGHTS GLOBAL-POD WINDOW) (
+ACTION ESCAPE-POD-F)> 
+<OBJECT GLOBAL-POD (IN LOCAL-GLOBALS) (DESC "escape pod") (SYNONYM POD) (
+ADJECTIVE EMERGENCY ESCAPE PRIMARY) (FLAGS VOWELBIT VEHBIT NDESCBIT) (ACTION
+GLOBAL-POD-F)> 
+<DEFINE-ROUTINE GLOBAL-POD-F> 
+<DEFINE-ROUTINE POD-EXIT-F> 
+<OBJECT SAFETY-WEB (IN ESCAPE-POD) (DESC "safety web") (SYNONYM MASS WEB
+WEBBING NET) (ADJECTIVE SAFETY) (FLAGS CLIMBBIT VEHBIT NDESCBIT) (ACTION
+SAFETY-WEB-F)> 
+<DEFINE-ROUTINE SAFETY-WEB-F> 
+<OBJECT TOWEL (DESC "towel") (SYNONYM TOWEL) (SIZE 10) (FLAGS READBIT TAKEBIT)
+(TEXT "\"S.P.S. FEINSTEIN|
+  Escape Pod #42|
+   Don't Panic!\"") (ACTION TOWEL-F)> 
+<DEFINE-ROUTINE TOWEL-F> 
+<OBJECT FOOD-KIT (DESC "survival kit") (SYNONYM PROVISIONS KIT) (ADJECTIVE
+SURVIVAL EMERGENCY) (SIZE 10) (CAPACITY 25) (FLAGS TAKEBIT CONTBIT SEARCHBIT) (
+ACTION FOOD-KIT-F)> 
+<DEFINE-ROUTINE FOOD-KIT-F> 
+<OBJECT RED-GOO (IN FOOD-KIT) (DESC "blob of red goo") (SYNONYM GOO BLOB FOOD
+PIE) (ADJECTIVE RED CHERRY) (FLAGS ACIDBIT FOODBIT) (ACTION GOO-F)> 
+<OBJECT BROWN-GOO (IN FOOD-KIT) (DESC "blob of brown goo") (SYNONYM GOO BLOB
+FOOD STEW) (ADJECTIVE BROWN BEEF) (FLAGS ACIDBIT FOODBIT) (ACTION GOO-F)> 
+<OBJECT GREEN-GOO (IN FOOD-KIT) (DESC "blob of green goo") (SYNONYM GOO BLOB
+FOOD BEANS) (ADJECTIVE GREEN LIMA) (FLAGS ACIDBIT FOODBIT) (ACTION GOO-F)> 
+<DEFINE-ROUTINE GOO-F> 
+<DEFINE-ROUTINE ESCAPE-POD-F> 
+<OBJECT POD-DOOR (IN LOCAL-GLOBALS) (DESC "escape pod bulkhead") (SYNONYM DOOR
+BULKHEAD) (ADJECTIVE EMERGENCY ESCAPE POD) (FLAGS VOWELBIT DOORBIT NDESCBIT) (
+ACTION POD-DOOR-F)> 
+<DEFINE-ROUTINE POD-DOOR-F> 
+<OBJECT CORRIDOR-DOOR (IN LOCAL-GLOBALS) (DESC "wide bulkhead") (SYNONYM DOOR
+BULKHEAD) (ADJECTIVE EMERGENCY WIDE) (FLAGS INVISIBLE DOORBIT OPENBIT NDESCBIT)
+(ACTION GANGWAY-DOOR-F)> 
+<OBJECT GANGWAY-DOOR (IN LOCAL-GLOBALS) (DESC "narrow bulkhead") (SYNONYM DOOR
+BULKHEAD) (ADJECTIVE EMERGENCY NARROW) (FLAGS INVISIBLE DOORBIT OPENBIT
+NDESCBIT) (ACTION GANGWAY-DOOR-F)> 
+<DEFINE-ROUTINE GANGWAY-DOOR-F> 
+<GLOBAL BLOWUP-COUNTER 0 %<> WORD> 
+<DEFINE-ROUTINE I-BLOWUP-FEINSTEIN> 
+<GLOBAL TRIP-COUNTER 0 %<> WORD> 
+<DEFINE-ROUTINE I-POD-TRIP> 
+<GLOBAL SINK-COUNTER 0 %<> WORD> 
+<DEFINE-ROUTINE I-SINK-POD> 
+<OBJECT SLOT (IN LOCAL-GLOBALS) (DESC "slot") (SYNONYM SLOT) (ADJECTIVE SMALL)
+(FLAGS NDESCBIT) (ACTION SLOT-F)> 
+<DEFINE-ROUTINE SLOT-F> 
+<GLOBAL ELEVATOR-ENABLED "A recorded voice chimes \"Elevator enabled.\"" %<>
+WORD> 
+<GLOBAL WRONG-CARD
+"A sign flashes \"Inkorekt awtharazaashun kard...akses deeniid.\"" %<> WORD> 
+<GLOBAL CARD-REVEALED <> %<> WORD> 
+<DEFINE-ROUTINE FLOYD-REVEAL-CARD-F> 
+<DEFINE-ROUTINE I-KITCHEN-DOOR-CLOSES> 
+<OBJECT TELEPORTATION-BUTTON-1 (IN LOCAL-GLOBALS) (DESC "brown button") (
+SYNONYM BUTTON) (ADJECTIVE BROWN FIRST) (FLAGS NDESCBIT) (ACTION
+TELEPORTATION-BUTTON-1-F)> 
+<OBJECT TELEPORTATION-BUTTON-2 (IN LOCAL-GLOBALS) (DESC "beige button") (
+SYNONYM BUTTON) (ADJECTIVE BEIGE SECOND) (FLAGS NDESCBIT) (ACTION
+TELEPORTATION-BUTTON-2-F)> 
+<OBJECT TELEPORTATION-BUTTON-3 (IN LOCAL-GLOBALS) (DESC "tan button") (SYNONYM
+BUTTON) (ADJECTIVE TAN THIRD) (FLAGS NDESCBIT) (ACTION TELEPORTATION-BUTTON-3-F
+)> 
+<GLOBAL TELEPORTATION-ON <> %<> WORD> 
+<DEFINE-ROUTINE TELEPORT> 
+<DEFINE-ROUTINE TELEPORTATION-BUTTON-1-F> 
+<DEFINE-ROUTINE TELEPORTATION-BUTTON-2-F> 
+<DEFINE-ROUTINE TELEPORTATION-BUTTON-3-F> 
+<DEFINE-ROUTINE I-TURNOFF-TELEPORTATION> 
+<OBJECT GLOBAL-SHUTTLE (IN LOCAL-GLOBALS) (DESC "shuttle car") (SYNONYM CAR
+SHUTTL) (ADJECTIVE SHUTTL) (FLAGS NDESCBIT) (ACTION GLOBAL-SHUTTLE-F)> 
+<DEFINE-ROUTINE GLOBAL-SHUTTLE-F> 
+<ROOM SHUTTLE-CAR-ALFIE (IN ROOMS) (DESC "Shuttle Car Alfie") (C-MOVE <TABLE 0
+0 0 0 0 0 0 0 0 0 0 0>) (NORTH PER SHUTTLE-EXIT-F) (EAST TO ALFIE-CONTROL-EAST)
+(WEST TO ALFIE-CONTROL-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE
+SHUTTLE-DOOR) (ACTION SHUTTLE-CAR-F)> 
+<ROOM ALFIE-CONTROL-EAST (IN ROOMS) (DESC "Alfie Control East") (C-MOVE <TABLE
+0 0 0 0 0 0 0 0 0 0 0 0>) (WEST TO SHUTTLE-CAR-ALFIE IF SHUTTLE-DOOR IS OPEN) (
+FLAGS RLANDBIT ONBIT) (GLOBAL SLOT WINDOW LEVER SHUTTLE-DOOR GLOBAL-SHUTTLE) (
+ACTION CONTROL-CABIN-F)> 
+<ROOM ALFIE-CONTROL-WEST (IN ROOMS) (DESC "Alfie Control West") (C-MOVE <TABLE
+0 0 0 0 0 0 0 0 0 0 0 0>) (EAST TO SHUTTLE-CAR-ALFIE IF SHUTTLE-DOOR IS OPEN) (
+FLAGS RLANDBIT ONBIT) (GLOBAL SLOT LEVER WINDOW SHUTTLE-DOOR GLOBAL-SHUTTLE) (
+ACTION CONTROL-CABIN-F)> 
+<OBJECT LEVER (IN LOCAL-GLOBALS) (DESC "lever") (SYNONYM LEVER) (FLAGS NDESCBIT
+) (ACTION LEVER-F)> 
+<OBJECT SHUTTLE-DOOR (IN LOCAL-GLOBALS) (DESC "door") (SYNONYM DOOR) (FLAGS
+DOORBIT OPENBIT INVISIBLE) (ACTION SHUTTLE-DOOR-F)> 
+<DEFINE-ROUTINE SHUTTLE-CAR-F> 
+<ROOM SHUTTLE-CAR-BETTY (IN ROOMS) (DESC "Shuttle Car Betty") (C-MOVE <TABLE 0
+0 0 0 0 0 0 0 0 0 0 0>) (SOUTH PER SHUTTLE-EXIT-F) (EAST TO BETTY-CONTROL-EAST)
+(WEST TO BETTY-CONTROL-WEST) (FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE
+SHUTTLE-DOOR) (ACTION SHUTTLE-CAR-F)> 
+<ROOM BETTY-CONTROL-EAST (IN ROOMS) (DESC "Betty Control East") (C-MOVE <TABLE
+0 0 0 0 0 0 0 0 0 0 0 0>) (WEST TO SHUTTLE-CAR-BETTY IF SHUTTLE-DOOR IS OPEN) (
+FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SLOT WINDOW LEVER SHUTTLE-DOOR) (
+ACTION CONTROL-CABIN-F)> 
+<ROOM BETTY-CONTROL-WEST (IN ROOMS) (DESC "Betty Control West") (C-MOVE <TABLE
+0 0 0 0 0 0 0 0 0 0 0 0>) (EAST TO SHUTTLE-CAR-BETTY IF SHUTTLE-DOOR IS OPEN) (
+FLAGS RLANDBIT ONBIT) (GLOBAL GLOBAL-SHUTTLE SLOT LEVER WINDOW SHUTTLE-DOOR) (
+ACTION CONTROL-CABIN-F)> 
+<DEFINE-ROUTINE CONTROL-CABIN-F> 
+<DEFINE-ROUTINE DESCRIBE-VIEW> 
+<DEFINE-ROUTINE SHUTTLE-DOOR-F> 
+<DEFINE-ROUTINE SHUTTLE-ENTER-F> 
+<GLOBAL CANT-GO "You can't go that way." %<> WORD> 
+<DEFINE-ROUTINE SHUTTLE-EXIT-F> 
+<GLOBAL ALFIE-AT-KALAMONTEE T %<> WORD> 
+<GLOBAL BETTY-AT-KALAMONTEE <> %<> WORD> 
+<GLOBAL SHUTTLE-MOVING <> %<> WORD> 
+<GLOBAL SHUTTLE-ON <> %<> WORD> 
+<GLOBAL SHUTTLE-VELOCITY 0 %<> WORD> 
+<GLOBAL SHUTTLE-COUNTER 0 %<> WORD> 
+<DEFINE-ROUTINE SHUTTLE-ACTIVATE> 
+<GLOBAL SHUTTLE-RECORDING-1
+"A recorded voice says \"Shuttle controls are already activated.\"" %<> WORD> 
+<GLOBAL SHUTTLE-RECORDING-2
+"A recorded voice says \"Use other control cabin. Control activation
+overridden.\"" %<> WORD> 
+<GLOBAL SHUTTLE-RECORDING-3
+"A recording of a deep male voice says \"Shuttle controls activated.\"" %<>
+WORD> 
+<GLOBAL SHUTTLE-RECORDING-4
+"A recorded voice says \"Shuttle controls are not currently activated.\"" %<>
+WORD> 
+<DEFINE-ROUTINE I-TURNOFF-SHUTTLE> 
+<GLOBAL LEVER-SETTING 0 %<> WORD> 
+<DEFINE-ROUTINE LEVER-F> 
+<DEFINE-ROUTINE I-SHUTTLE> 
+<DEFINE-ROUTINE DESCRIBE-SHUTTLE-TRIP> 
+<GLOBAL ALFIE-BROKEN <> %<> WORD> 
+<GLOBAL BETTY-BROKEN <> %<> WORD> 
+<DEFINE-ROUTINE DESCRIBE-SHUTTLE-ARRIVE> 
+<GLOBAL SIGN-PASS
+"You pass a sign, surrounded by blinking red lights, which says " %<> WORD> 
+<GLOBAL SLEEPY-LEVEL 0 %<> WORD> 
+<DEFINE-ROUTINE I-SLEEP-WARNINGS> 
+<OBJECT BED (IN LOCAL-GLOBALS) (DESC "bed") (SYNONYM BUNK BED) (ADJECTIVE MULTI
+TIERED BUNK) (FLAGS NDESCBIT CLIMBBIT VEHBIT) (ACTION BED-F)> 
+<DEFINE-ROUTINE BED-F> 
+<DEFINE-ROUTINE I-FALL-ASLEEP> 
+<DEFINE-ROUTINE DREAMING> 
+<GLOBAL DREAMS <PLTABLE
+"...You find yourself on the bridge of the Feinstein. Ensign Blather is here,
+as well as Admiral Smithers. You are diligently scrubbing the control panel.
+Blather keeps yelling at you to scrub harder. Suddenly you hit the ship's
+self-destruct switch! Smithers and Blather howl at you as the ship begins
+exploding! You try to run, but your feet seem to be fused to the deck..."
+"...You gulp down the last of your Ramosian Fire Nectar and ask the
+andro-waiter for another pitcher. This pub makes the finest Nectar on
+all of Ramos Two, and you and your shipmates are having a pretty rowdy
+time. Through the windows of the pub you can see a mighty, ancient castle,
+shining in the light of the three Ramosian moons. The Fire Nectar spreads
+through your blood and you begin to feel drowsy..."
+"...Strangely, you wake to find yourself back home on Gallium. Even more
+strangely, you are only eight years old again. You are playing with your
+pet sponge-cat, Swanzo, on the edge of the pond in your backyard. Mom is
+hanging orange towels on the clothesline. Suddenly the school bully jumps
+out from behind a bush, grabs you, and pushes your head under the water.
+You try to scream, but cannot. You feel your life draining away..."
+"...Your vision slowly returns. You are on a wooded cliff overlooking
+a waterfall. A rainbow spans the falls. Blather stands above you, bellowing
+that the ground is filthy -- scrub harder! You throw your brush at Blather,
+but it passes thru him as though he were a ghost, and sails over the cliff.
+Blather leaps after the valuable piece of Patrol property, and both plummet
+into the void..."
+"...At last, the Feinstein has arrived at the historic Nebulon system. It's
+been five months since the last shore leave, and you're anxious for
+Planetfall. You and some other Ensigns Seventh Class enter the shuttle for
+surfaceside. Suddenly, you're alone on the shuttle, and it's tumbling out of
+control! It lands in the ocean and begins sinking! You try to clamber out,
+but you are stuck in a giant spider web. A giant spider crawls closer and
+closer..."> %<> WORD> 
+<DEFINE-ROUTINE WAKING-UP> 
+<DEFINE-ROUTINE RESET-TIME> 
+<GLOBAL HUNGER-LEVEL 0 %<> WORD> 
+<DEFINE-ROUTINE I-HUNGER-WARNINGS> 
+<GLOBAL NOT-HUNGRY "Thanks, but you're not hungry." %<> WORD> 
+<GLOBAL SICKNESS-LEVEL 0 %<> WORD> 
+<GLOBAL SICKNESS-WARNING-FLAG <> %<> WORD> 
+<DEFINE-ROUTINE I-SICKNESS-WARNINGS> 
+<DEFINE-ROUTINE TRANSLATOR-PSEUDO> 
+<DEFINE-ROUTINE SLIME-PSEUDO> 
+<DEFINE-ROUTINE LIKE-SLIME> 
+<DEFINE-ROUTINE GRAFFITI-PSEUDO> 
+<DEFINE-ROUTINE DOOR-PSEUDO> 
+<DEFINE-ROUTINE WALKWAY-PSEUDO> 
+<DEFINE-ROUTINE BENCH-PSEUDO> 
+<DEFINE-ROUTINE CATWALK-PSEUDO> 
+<DEFINE-ROUTINE EQUIPMENT-PSEUDO> 
+<DEFINE-ROUTINE MONITORS-PSEUDO> 
+<DEFINE-ROUTINE MURAL-PSEUDO> 
+<DEFINE-ROUTINE LOGO-PSEUDO> 
+<DEFINE-ROUTINE KEYBOARD-PSEUDO> 
+<DEFINE-ROUTINE CRACK-PSEUDO> 
+<DEFINE-ROUTINE VOID-PSEUDO> 
+<DEFINE-ROUTINE SPOUT-PSEUDO> 
+<DEFINE-ROUTINE TOILET-PSEUDO> 
+<DEFINE-ROUTINE GAMES-PSEUDO> 
+<DEFINE-ROUTINE TAPES-PSEUDO> 
+<DEFINE-ROUTINE PARTITION-PSEUDO> 
+<DEFINE-ROUTINE CUBBYHOLE-PSEUDO> 
+<DEFINE-ROUTINE MAPS-PSEUDO> 
+<DEFINE-ROUTINE DEVICES-PSEUDO> 
+<DEFINE-ROUTINE CABLES-PSEUDO> 
+<DEFINE-ROUTINE STRUCTURE-PSEUDO> 
+<DEFINE-ROUTINE BUTTON-PSEUDO> 
+<DEFINE-ROUTINE CARPET-PSEUDO> 
+<DEFINE-ROUTINE CABINETS-PSEUDO> 
+<DEFINE-ROUTINE PLATE-PSEUDO> 
+<DEFINE-ROUTINE ESCALATOR-PSEUDO> 
+<DEFINE-ROUTINE REACTOR-BUTTON-PSEUDO> 
+<DEFINE-ROUTINE SUPPLIES-PSEUDO> 
+<DEFINE-ROUTINE DESK-PSEUDO> 
+<DEFINE-ROUTINE CRYO-BUTTON-PSEUDO> 
+<DEFINE-ROUTINE CASTLE-PSEUDO> 
+<DEFINE-ROUTINE CHEM-SPOUT-PSEUDO> 
+<DEFINE-ROUTINE CLEFT-PSEUDO> 
+<DEFINE-ROUTINE RUBBLE-PSEUDO> 
+<DEFINE-ROUTINE PLAQUE-PSEUDO> 
+<DEFINE-ROUTINE FENCE-PSEUDO> 
+<DEFINE-ROUTINE LOCK-PSEUDO> 
+<DEFINE-ROUTINE DIAGRAM-PSEUDO> 
+<DEFINE-ROUTINE ENUNCIATOR-PSEUDO> 
+<DEFINE-ROUTINE NEAR-BOOTH-PSEUDO> 
+<DEFINE-ROUTINE IN-BOOTH-PSEUDO> 
\ No newline at end of file
diff --git a/globals.zap b/globals.zap
new file mode 100644 (file)
index 0000000..0861afc
--- /dev/null
@@ -0,0 +1,1993 @@
+
+
+       .FUNCT  GROUND-F
+       EQUAL?  PRSA,V?PUT \?CCL3
+       EQUAL?  PRSI,GROUND \?CCL3
+       CALL    PERFORM,V?DROP,PRSO
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?BOARD,V?CLIMB-ON \?CCL7
+       SET     'C-ELAPSED,28
+       PRINTR  "You sit down on the floor. After a brief rest, you stand again."
+?CCL7: EQUAL?  PRSA,V?EXAMINE \FALSE
+       EQUAL?  HERE,ADMIN-CORRIDOR-S \FALSE
+       PRINTR  "A narrow, jagged crevice runs across the floor."
+
+
+       .FUNCT  WINDOW-F
+       EQUAL?  PRSA,V?LOOK-INSIDE \?CCL3
+       EQUAL?  HERE,BIO-LOCK-EAST \?CCL6
+       PRINTI  "You can see a large laboratory, dimly illuminated. A blue glow comes from a crack in the northern wall of the lab. Shadowy, ominous shapes move about within the room."
+       FSET?   MINI-CARD,TOUCHBIT /?CND7
+       PRINTR  " On the floor, just inside the door, you can see a magnetic-striped card."
+?CND7: CRLF    
+       RTRUE   
+?CCL6: EQUAL?  HERE,BIO-LAB \?CCL10
+       PRINTR  "You see the Bio Lock."
+?CCL10:        EQUAL?  HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR11
+       EQUAL?  HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL12
+?CTR11:        PRINTI  "You see "
+       CALL    DESCRIBE-VIEW
+       CRLF    
+       RTRUE   
+?CCL12:        EQUAL?  HERE,BALCONY \?CCL16
+       PRINTR  "Water. Lots and lots of water."
+?CCL16:        EQUAL?  HERE,HELICOPTER \?CCL18
+       PRINTR  "You see the helipad and the ocean beyond."
+?CCL18:        EQUAL?  HERE,ESCAPE-POD \?CCL20
+       LESS?   TRIP-COUNTER,2 \?CCL23
+       PRINTR  "You can see debris from the exploding Feinstein."
+?CCL23:        GRTR?   TRIP-COUNTER,8 \?CCL25
+       PRINTR  "You can see a planet, hopefully a hospitable one."
+?CCL25:        PRINTR  "The window has polarized to blackness."
+?CCL20:        EQUAL?  HERE,LARGE-OFFICE \FALSE
+       PRINTR  "You can see the dormitories and other parts of the complex in the distance. Water is visible in every direction."
+?CCL3: EQUAL?  PRSA,V?THROUGH \?CCL29
+       EQUAL?  HERE,BALCONY \?CCL29
+       CALL    JIGS-UP,STR?1
+       RSTACK  
+?CCL29:        EQUAL?  PRSA,V?OPEN \?CCL33
+       PRINTR  "This window doesn't open."
+?CCL33:        EQUAL?  PRSA,V?EXAMINE \?CCL35
+       EQUAL?  HERE,BALCONY \?CCL35
+       PRINTR  "They're shattered."
+?CCL35:        EQUAL?  PRSA,V?MUNG \FALSE
+       EQUAL?  HERE,BALCONY \?CCL42
+       PRINTR  "They're already broken."
+?CCL42:        PRINTR  "It's made of tough Zynoid plastic."
+
+
+       .FUNCT  CLIFF-F
+       EQUAL?  HERE,WEST-WING \?CCL3
+       EQUAL?  PRSA,V?LEAP \?CCL6
+       CALL    JIGS-UP,STR?2
+       RSTACK  
+?CCL6: EQUAL?  PRSA,V?THROW-OFF \FALSE
+       EQUAL?  PRSO,LASER \?CND9
+       CALL    INT,I-WARMTH
+       PUT     STACK,0,0
+?CND9: REMOVE  PRSO
+       PRINTI  "The "
+       PRINTD  PRSO
+       PRINTR  " falls into the ocean below."
+?CCL3: EQUAL?  PRSA,V?CLIMB-FOO,V?CLIMB-UP \?CCL13
+       CALL    DO-WALK,P?UP
+       RSTACK  
+?CCL13:        EQUAL?  PRSA,V?CLIMB-DOWN \FALSE
+       CALL    DO-WALK,P?DOWN
+       RSTACK  
+
+
+       .FUNCT  OCEAN-F
+       EQUAL?  PRSA,V?RUB,V?THROUGH,V?TAKE \?CCL3
+       PRINTR  "You can't reach the ocean from here."
+?CCL3: EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "It stretches as far as you can see."
+
+
+       .FUNCT  TABLES-F
+       EQUAL?  PRSA,V?LOOK-UNDER \?CCL3
+       EQUAL?  HERE,MESS-HALL \?CCL3
+       PRINTR  "Wow!!! Under the table are three keys, a sack of food, a reactor elevator access pass, one hundred gold pieces ... Just kidding. Actually, there's nothing there."
+?CCL3: EQUAL?  PRSA,V?PUT-ON \FALSE
+       EQUAL?  PRSI,TABLES \FALSE
+       PRINTR  "That would accomplish nothing useful."
+
+
+       .FUNCT  SHELVES-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTR  "The shelves are pretty dusty."
+?CCL3: EQUAL?  PRSA,V?PUT-ON \FALSE
+       EQUAL?  PRSI,SHELVES \FALSE
+       PRINTR  "That would be a waste of time."
+
+
+       .FUNCT  LIGHTS-F
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       EQUAL?  HERE,COMPUTER-ROOM \FALSE
+       PRINTR  "The red light would seem to indicate a malfunction in the computer."
+
+
+       .FUNCT  GLOBAL-DOORWAY-F
+       EQUAL?  PRSA,V?THROUGH \?CCL3
+       CALL    USE-DIRECTIONS
+       RSTACK  
+?CCL3: EQUAL?  PRSA,V?CLOSE,V?OPEN \?CCL5
+       PRINTR  "It's just an opening; you can't open or close it."
+?CCL5: EQUAL?  PRSA,V?LOOK-INSIDE \FALSE
+       PRINTR  "Can't see much from here. Try going there."
+
+
+       .FUNCT  USE-DIRECTIONS
+       PRINTR  "Use compass directions for movement."
+
+
+       .FUNCT  NO-CLOSE
+       PRINTR  "There's no way to close it."
+
+
+       .FUNCT  CONTROLS-F
+       EQUAL?  HERE,UPPER-ELEVATOR,LOWER-ELEVATOR,BOOTH-1 /?CTR2
+       EQUAL?  HERE,REACTOR-ELEVATOR,BOOTH-2,BOOTH-3 \?CCL3
+?CTR2: EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "The control panel is a simple one, as described. Just a small slot and two buttons."
+?CCL3: EQUAL?  PRSA,V?PULL,V?PUSH /?CTR9
+       EQUAL?  PRSA,V?EXAMINE,V?TAKE,V?SET /?CTR9
+       EQUAL?  PRSA,V?TURN,V?MOVE,V?RUB \?CCL10
+?CTR9: EQUAL?  HERE,HELICOPTER \?CCL16
+       PRINTR  "The controls are covered and locked."
+?CCL16:        EQUAL?  HERE,ESCAPE-POD \?CCL18
+       PRINTR  "The controls are entirely automated."
+?CCL18:        PRINTR  "The controls are incredibly complicated and you shouldn't even be thinking about touching them."
+?CCL10:        EQUAL?  HERE,HELICOPTER \FALSE
+       EQUAL?  PRSA,V?UNLOCK,V?OPEN \FALSE
+       PRINTR  "You don't even have the orange key!"
+
+
+       .FUNCT  GLOBAL-GAMES-F
+       EQUAL?  PRSA,V?PLAY \FALSE
+       IN?     FLOYD,HERE \?CCL6
+       CALL    PERFORM,V?PLAY-WITH,FLOYD
+       RTRUE   
+?CCL6: PRINTR  "Okay. Gee, that was fun."
+
+
+       .FUNCT  HANDS-F
+       EQUAL?  PRSA,V?SHAKE \FALSE
+       IN?     AMBASSADOR,HERE \?CCL6
+       PRINTR  "A repulsive idea."
+?CCL6: IN?     BLATHER,HERE \?CCL8
+       PRINTR  "Saluting might be a better idea."
+?CCL8: IN?     FLOYD,HERE \?CCL10
+       FSET?   FLOYD,RLANDBIT \?CCL10
+       PRINTR  "You shake one of Floyd's grasping extensions."
+?CCL10:        PRINTR  "There's no one to shake hands with."
+
+
+       .FUNCT  SLEEP-F
+       EQUAL?  PRSA,V?WALK-TO \FALSE
+       CALL    V-SLEEP
+       RSTACK  
+
+
+       .FUNCT  CRETIN-F
+       EQUAL?  PRSA,V?GIVE \?CCL3
+       CALL    PERFORM,V?TAKE,PRSO
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?SCRUB \?CCL5
+       PRINTR  "If only you'd done that before the last inspection, you wouldn't have gotten 300 demerits."
+?CCL5: EQUAL?  PRSA,V?DROP \?CCL7
+       PRINTR  "Huh?"
+?CCL7: EQUAL?  PRSA,V?SMELL \?CCL9
+       PRINTR  "Phew!"
+?CCL9: EQUAL?  PRSA,V?FOLLOW \?CCL11
+       PRINTR  "It would be hard not to."
+?CCL11:        EQUAL?  PRSA,V?EAT \?CCL13
+       PRINTR  "Auto-cannibalism is not the answer."
+?CCL13:        EQUAL?  PRSA,V?MUNG,V?ATTACK \?CCL15
+       EQUAL?  PRSO,ME \?CCL18
+       CALL    JIGS-UP,STR?3
+       RSTACK  
+?CCL18:        PRINTR  "What a silly idea!"
+?CCL15:        EQUAL?  PRSA,V?TAKE \?CCL20
+       PRINTR  "How romantic!"
+?CCL20:        EQUAL?  PRSA,V?DISEMBARK \?CCL22
+       PRINTR  "You'll have to do that on your own."
+?CCL22:        EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "That's difficult unless your eyes are prehensile."
+
+
+       .FUNCT  DDESC,DOOR
+       FSET?   DOOR,OPENBIT \?CCL3
+       PRINTI  "open"
+       RTRUE   
+?CCL3: PRINTI  "closed"
+       RTRUE   
+
+
+       .FUNCT  ALREADY-OPEN
+       PRINTR  "It's already open!"
+
+
+       .FUNCT  IS-CLOSED
+       PRINTR  "It is closed!"
+
+
+       .FUNCT  V-THROUGH,OBJ=0,M
+       ZERO?   OBJ \?CCL3
+       FSET?   PRSO,VEHBIT \?CCL3
+       CALL    PERFORM,V?BOARD,PRSO
+       RTRUE   
+?CCL3: ZERO?   OBJ \?CCL7
+       FSET?   PRSO,TAKEBIT /?CCL7
+       PRINTI  "You hit your head against the "
+       PRINTD  PRSO
+       PRINTR  " as you attempt this feat."
+?CCL7: ZERO?   OBJ /?CCL11
+       PRINTR  "You can't do that!"
+?CCL11:        IN?     PRSO,ADVENTURER \?CCL13
+       PRINTR  "That would involve quite a contortion!"
+?CCL13:        CALL    PICK-ONE,YUKS
+       PRINT   STACK
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  FIND-IN,WHERE,WHAT,W
+       FIRST?  WHERE >W /?BOGUS1
+?BOGUS1:       ZERO?   W /FALSE
+?PRG4: FSET?   W,WHAT \?CCL8
+       RETURN  W
+?CCL8: NEXT?   W >W /?PRG4
+       RFALSE  
+
+
+       .FUNCT  NOT-HERE-OBJECT-F,TBL,PRSO?=1,OBJ
+       EQUAL?  PRSO,NOT-HERE-OBJECT \?CCL3
+       EQUAL?  PRSI,NOT-HERE-OBJECT \?CCL3
+       PRINTR  "Those things aren't here!"
+?CCL3: EQUAL?  PRSO,NOT-HERE-OBJECT \?CCL7
+       SET     'TBL,P-PRSO
+       JUMP    ?CND1
+?CCL7: SET     'TBL,P-PRSI
+       SET     'PRSO?,FALSE-VALUE
+?CND1: ZERO?   PRSO? /?CND8
+       EQUAL?  PRSA,V?TYPE \?CCL12
+       CALL    PERFORM,V?TYPE,FLOYD
+       RTRUE   
+?CCL12:        EQUAL?  PRSA,V?EXAMINE /?CCL13
+       EQUAL?  WINNER,FLOYD \?CND8
+       EQUAL?  PRSA,V?FIND,V?TAKE \?CND8
+?CCL13:        CALL    FIND-NOT-HERE,TBL,PRSO? >OBJ
+       ZERO?   OBJ /FALSE
+       EQUAL?  OBJ,NOT-HERE-OBJECT \TRUE
+?CND8: EQUAL?  WINNER,ADVENTURER \?CCL25
+       PRINTI  "You can't see any"
+       CALL    NOT-HERE-PRINT,PRSO?
+       PRINTI  " here!"
+       CRLF    
+       EQUAL?  PRSA,V?TELL \TRUE
+       SET     'P-CONT,FALSE-VALUE
+       SET     'QUOTE-FLAG,FALSE-VALUE
+       RETURN  2
+?CCL25:        PRINTI  "The "
+       PRINTD  WINNER
+       PRINTI  " seems confused. ""I don't see any"
+       CALL    NOT-HERE-PRINT,PRSO?
+       PRINTR  " here!"""
+
+
+       .FUNCT  FIND-NOT-HERE,TBL,PRSO?,M-F,OBJ
+       CALL    MOBY-FIND,TBL >M-F
+       EQUAL?  1,M-F \?CCL3
+       ZERO?   PRSO? /?CCL6
+       SET     'PRSO,P-MOBY-FOUND
+       RFALSE  
+?CCL6: SET     'PRSI,P-MOBY-FOUND
+       RFALSE  
+?CCL3: ZERO?   PRSO? \?CCL8
+       PRINTI  "You wouldn't find any"
+       CALL    NOT-HERE-PRINT,PRSO?
+       PRINTR  " there."
+?CCL8: RETURN  NOT-HERE-OBJECT
+
+
+       .FUNCT  NOT-HERE-PRINT,PRSO?,?TMP1
+       ZERO?   P-OFLAG \?CTR2
+       ZERO?   P-MERGED /?CCL3
+?CTR2: ZERO?   P-XADJ /?CND6
+       PRINTC  32
+       PRINTB  P-XADJN
+?CND6: ZERO?   P-XNAM /FALSE
+       PRINTC  32
+       PRINTB  P-XNAM
+       RTRUE   
+?CCL3: ZERO?   PRSO? /?CCL12
+       GET     P-ITBL,P-NC1 >?TMP1
+       GET     P-ITBL,P-NC1L
+       CALL    BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
+       RSTACK  
+?CCL12:        GET     P-ITBL,P-NC2 >?TMP1
+       GET     P-ITBL,P-NC2L
+       CALL    BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
+       RSTACK  
+
+
+       .FUNCT  DECK-NINE-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a featureless corridor similar to every other corridor on the ship. It curves away to starboard, and a gangway leads up"
+       FSET?   GANGWAY-DOOR,OPENBIT \?CCL6
+       PRINTC  46
+       JUMP    ?CND4
+?CCL6: PRINTI  ", but both of these are blocked by closed bulkheads."
+?CND4: PRINTI  " To port is the entrance to one of the ship's primary escape pods. The pod bulkhead is "
+       CALL    DDESC,POD-DOOR
+       PRINTR  "."
+
+
+       .FUNCT  CHRONOMETER-F
+       EQUAL?  PRSA,V?READ,V?EXAMINE \FALSE
+       PRINTI  "It is a standard wrist chronometer with a digital display. "
+       CALL    TELL-TIME
+       PRINTR  " The back is engraved with the message ""Good luck in the Patrol! Love, Mom and Dad."""
+
+
+       .FUNCT  TELL-TIME
+       PRINTI  "According to the chronometer, the current time is "
+       FSET?   CHRONOMETER,MUNGEDBIT \?CCL3
+       PRINTN  MUNGED-TIME
+       JUMP    ?CND1
+?CCL3: PRINTN  INTERNAL-MOVES
+?CND1: PRINTC  46
+       RTRUE   
+
+
+       .FUNCT  PATROL-UNIFORM-F
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTI  "It is a standard-issue one-pocket Stellar Patrol uniform, a miracle of modern technology. It will keep its owner warm in cold climates and cool in warm locales. It provides protection against mild radiation, repels all insects, absorbs sweat, promotes healthy skin tone, and on top of everything else, it is super-comfy."
+       EQUAL?  TRIP-COUNTER,15 \?CND4
+       PRINTR  " There are definitely worse things to find yourself wearing when stranded on a strange planet."
+?CND4: CRLF    
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?WEAR \?CCL7
+       FSET?   LAB-UNIFORM,WORNBIT \?CCL7
+       PRINTR  "It won't fit over the lab uniform."
+?CCL7: EQUAL?  PRSA,V?TAKE-OFF \?CCL11
+       FSET?   PATROL-UNIFORM,WORNBIT \?CCL11
+       FCLEAR  PATROL-UNIFORM,WORNBIT
+       PRINTI  "You have removed your Patrol uniform."
+       EQUAL?  TRIP-COUNTER,15 \?CND14
+       PRINTI  " You suddenly realize how warm it is. You also feel naked and vulnerable."
+?CND14:        IN?     BLATHER,HERE \?CCL18
+       PRINTR  " ""Removing your uniform while on duty? Five hundred demerits!"""
+?CCL18:        IN?     FLOYD,HERE \?CND16
+       PRINTR  " Floyd giggles. ""You look funny without any clothes on."""
+?CND16:        CRLF    
+       RTRUE   
+?CCL11:        EQUAL?  PRSA,V?CLOSE,V?OPEN \FALSE
+       PRINTI  "There's no way to open or close the pocket of the "
+       PRINTD  PRSO
+       PRINTR  "."
+
+
+       .FUNCT  GANGWAY-F,RARG
+       EQUAL?  RARG,M-END \FALSE
+       RANDOM  100
+       LESS?   15,STACK /FALSE
+       ZERO?   BLOWUP-COUNTER \FALSE
+       PRINTR  "You hear a distant bellowing ... something about an Ensign Seventh Class whose life is in danger."
+
+
+       .FUNCT  I-BLATHER
+       EQUAL?  HERE,DECK-EIGHT,REACTOR-LOBBY \?CCL3
+       IN?     BLATHER,HERE \?CCL6
+       IGRTR?  'BRIGS-UP,3 \?CCL9
+       CRLF    
+       PRINTI  "Blather loses his last vestige of patience and drags you to the Feinstein's brig. He throws you in, and the door clangs shut behind you."
+       CRLF    
+       CRLF    
+       CALL    GOTO,BRIG
+       CALL    ROB,ADVENTURER,CRAG
+       MOVE    PADLOCK,HERE
+       FCLEAR  PADLOCK,TAKEBIT
+       RTRUE   
+?CCL9: CRLF    
+       PRINTR  """I said to return to your post, Ensign Seventh Class!"" bellows Blather, turning a deepening shade of crimson."
+?CCL6: ZERO?   BLOWUP-COUNTER \FALSE
+       MOVE    BLATHER,HERE
+       CALL    THIS-IS-IT,BLATHER
+       CRLF    
+       PRINTR  "Ensign Blather, his uniform immaculate, enters and notices you are away from your post. ""Twenty demerits, Ensign Seventh Class!"" bellows Blather. ""Forty if you're not back on Deck Nine in five seconds!"" He curls his face into a hideous mask of disgust at your unbelievable negligence."
+?CCL3: EQUAL?  HERE,DECK-NINE \FALSE
+       EQUAL?  BLATHER-LEAVE,3 \?CCL16
+       IN?     BLATHER,HERE \?CCL16
+       SET     'BLATHER-LEAVE,0
+       REMOVE  BLATHER
+       CRLF    
+       PRINTR  "Blather, adding fifty more demerits for good measure, moves off in search of more young ensigns to terrorize."
+?CCL16:        IN?     BLATHER,DECK-NINE \?CCL20
+       INC     'BLATHER-LEAVE
+       RFALSE  
+?CCL20:        IN?     AMBASSADOR,HERE /FALSE
+       ZERO?   BLOWUP-COUNTER \FALSE
+       RANDOM  100
+       LESS?   5,STACK /FALSE
+       MOVE    BLATHER,HERE
+       CALL    THIS-IS-IT,BLATHER
+       CRLF    
+       PRINTI  "Ensign First Class Blather swaggers in. He studies your work with half-closed eyes. ""You call this polishing, Ensign Seventh Class?"" he sneers. ""We have a position for an Ensign Ninth Class in the toilet-scrubbing division, you know. Thirty demerits."
+       FSET?   PATROL-UNIFORM,WORNBIT /?CND26
+       PRINTI  " And another sixty for improper dress!"
+?CND26:        PRINTR  """ He glares at you, his arms crossed."
+
+
+       .FUNCT  BLATHER-F
+       EQUAL?  PRSA,V?HELLO,V?TALK /?CTR2
+       EQUAL?  BLATHER,WINNER \?CCL3
+?CTR2: PRINTI  "Blather shouts ""Speak when you're spoken to, Ensign Seventh Class!"" He breaks three pencil points in a frenzied rush to give you more demerits."
+       CRLF    
+       SET     'P-CONT,FALSE-VALUE
+       SET     'QUOTE-FLAG,FALSE-VALUE
+       RETURN  2
+?CCL3: EQUAL?  PRSA,V?KICK,V?ATTACK \?CCL9
+       CALL    JIGS-UP,STR?16
+       RSTACK  
+?CCL9: EQUAL?  PRSA,V?SALUTE \?CCL11
+       PRINTR  "Blather's sneer softens a bit. ""First right thing you've done today. Only five demerits."""
+?CCL11:        EQUAL?  PRSA,V?THROW \?CCL13
+       EQUAL?  BLATHER,PRSI \?CCL13
+       MOVE    PRSO,HERE
+       PRINTI  "The "
+       PRINTD  PRSO
+       PRINTR  " bounces off Blather's bulbous nose. He becomes livid, orders you to do five hundred push-ups, gives you ten thousand demerits, and assigns you five years of extra galley duty."
+?CCL13:        EQUAL?  PRSA,V?EXAMINE \?CCL17
+       PRINTR  "Ensign Blather is a tall, beefy officer with a tremendous, misshapen nose. His uniform is perfect in every respect, and the crease in his trousers could probably slice diamonds in half."
+?CCL17:        EQUAL?  PRSA,V?TAKE \FALSE
+       PRINTR  "Blather brushes you away, muttering about suspended shore leave."
+
+
+       .FUNCT  CELERY-F
+       EQUAL?  PRSA,V?EAT \?CCL3
+       CALL    JIGS-UP,STR?18
+       RSTACK  
+?CCL3: EQUAL?  PRSA,V?TAKE \FALSE
+       PRINTR  "The ambassador seems perturbed by your lack of normal protocol."
+
+
+       .FUNCT  I-AMBASSADOR
+       GRTR?   AMBASSADOR-LEAVE,2 \?CCL3
+       IN?     AMBASSADOR,HERE \?CCL3
+       REMOVE  AMBASSADOR
+       REMOVE  CELERY
+       EQUAL?  HERE,DECK-NINE \?CND6
+       CRLF    
+       PRINTI  "The ambassador grunts a polite farewell, and disappears up the gangway, leaving a trail of dripping slime."
+       CRLF    
+?CND6: CALL    INT,I-AMBASSADOR
+       PUT     STACK,0,0
+       RTRUE   
+?CCL3: IN?     AMBASSADOR,DECK-NINE \?CCL9
+       INC     'AMBASSADOR-LEAVE
+       EQUAL?  HERE,DECK-NINE \FALSE
+       CRLF    
+       PRINTI  "The ambassador "
+       CALL    PICK-ONE,AMBASSADOR-QUOTES
+       PRINT   STACK
+       CRLF    
+       RTRUE   
+?CCL9: EQUAL?  HERE,DECK-NINE \FALSE
+       IN?     AMBASSADOR,HERE /FALSE
+       IN?     BLATHER,HERE /FALSE
+       ZERO?   BLOWUP-COUNTER \FALSE
+       RANDOM  100
+       LESS?   15,STACK /FALSE
+       MOVE    AMBASSADOR,HERE
+       MOVE    CELERY,HERE
+       CALL    THIS-IS-IT,AMBASSADOR
+       MOVE    BROCHURE,ADVENTURER
+       CRLF    
+       PRINTR  "The alien ambassador from the planet Blow'k-bibben-Gordo ambles toward you from down the corridor. He is munching on something resembling an enormous stalk of celery, and he leaves a trail of green slime on the deck. He stops nearby, and you wince as a pool of slime begins forming beneath him on your newly-polished deck. The ambassador wheezes loudly and hands you a brochure outlining his planet's major exports."
+
+
+       .FUNCT  AMBASSADOR-F
+       EQUAL?  PRSA,V?HELLO,V?TALK /?CTR2
+       EQUAL?  AMBASSADOR,WINNER \?CCL3
+?CTR2: PRINTI  "The ambassador taps his translator, and then touches his center knee to his left ear (the Blow'k-bibben-Gordoan equivalent of shrugging)."
+       CRLF    
+       SET     'P-CONT,FALSE-VALUE
+       SET     'QUOTE-FLAG,FALSE-VALUE
+       RETURN  2
+?CCL3: EQUAL?  PRSA,V?ASK-FOR \?CCL9
+       EQUAL?  PRSI,CELERY \?CCL9
+       PRINTR  "The ambassador seems willing to let you eat some of it, but I doubt he wants to part with the entire stalk."
+?CCL9: EQUAL?  PRSA,V?KICK,V?ATTACK \?CCL13
+       PRINTR  "The ambassador is startled, and emits an amazing quantity of slime which spreads across the section of the deck you just polished."
+?CCL13:        EQUAL?  PRSA,V?EXAMINE \?CCL15
+       PRINTR  "The ambassador has around twenty eyes, seven of which are currently open. Half of his six legs are retracted. Green slime oozes from multiple orifices in his scaly skin. He speaks through a mechanical translator slung around his neck."
+?CCL15:        EQUAL?  PRSA,V?LISTEN \FALSE
+       PRINTR  "The alien makes a wheezing noise as he breathes."
+
+
+       .FUNCT  GLOBAL-POD-F
+       EQUAL?  PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL3
+       EQUAL?  HERE,ESCAPE-POD \?CCL6
+       PRINTR  "You're already in it!"
+?CCL6: CALL    DO-WALK,P?WEST
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?DROP,V?DISEMBARK,V?EXIT \?CCL8
+       EQUAL?  HERE,DECK-NINE \?CCL11
+       PRINTR  "You're not in it!"
+?CCL11:        CALL    DO-WALK,P?OUT
+       RTRUE   
+?CCL8: EQUAL?  PRSA,V?OPEN \FALSE
+       CALL    PERFORM,V?OPEN,POD-DOOR
+       RTRUE   
+
+
+       .FUNCT  POD-EXIT-F
+       GRTR?   BLOWUP-COUNTER,4 \?CCL3
+       EQUAL?  PRSO,P?EAST \?CCL6
+       PRINT   CANT-GO
+       CRLF    
+       RFALSE  
+?CCL6: FSET?   POD-DOOR,OPENBIT /?CCL8
+       PRINTI  "The pod door is closed."
+       CRLF    
+       RFALSE  
+?CCL8: SET     'C-ELAPSED,30
+       RETURN  UNDERWATER
+?CCL3: EQUAL?  PRSO,P?UP \?CCL11
+       PRINT   CANT-GO
+       CRLF    
+       RFALSE  
+?CCL11:        FSET?   POD-DOOR,OPENBIT /?CCL13
+       PRINTI  "The pod door is closed."
+       CRLF    
+       RFALSE  
+?CCL13:        RETURN  DECK-NINE
+
+
+       .FUNCT  SAFETY-WEB-F,RARG=M-OBJECT
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       ZERO?   RARG \?CCL3
+       PRINTR  "The safety webbing fills most of the pod. It could accomodate from one to, perhaps, twenty people."
+?CCL3: EQUAL?  PRSA,V?TAKE \?CCL7
+       ZERO?   RARG \?CCL7
+       PRINTR  "The safety web seems to be more intended for getting into than grabbing onto."
+?CCL7: EQUAL?  PRSA,V?CLIMB-ON,V?BOARD \?CCL11
+       ZERO?   RARG \?CCL11
+       MOVE    ADVENTURER,SAFETY-WEB
+       PRINTR  "You are now safely cushioned within the web."
+?CCL11:        EQUAL?  PRSA,V?TAKE,V?OPEN \?CCL15
+       EQUAL?  RARG,M-BEG \?CCL15
+       EQUAL?  PRSO,SAFETY-WEB \?CCL20
+       PRINTR  "You're in it!"
+?CCL20:        PRINTR  "You can't reach it from here."
+?CCL15:        EQUAL?  PRSA,V?WALK \?CCL22
+       EQUAL?  RARG,M-BEG \?CCL22
+       PRINTR  "You'll have to stand up, first."
+?CCL22:        EQUAL?  PRSA,V?STAND /?PRD28
+       EQUAL?  PRSA,V?DROP,V?DISEMBARK,V?EXIT \FALSE
+?PRD28:        ZERO?   RARG \FALSE
+       IN?     ADVENTURER,SAFETY-WEB \FALSE
+       MOVE    ADVENTURER,HERE
+       GRTR?   TRIP-COUNTER,14 \?CCL34
+       CALL    INT,I-SINK-POD
+       GET     STACK,C-ENABLED?
+       ZERO?   STACK \?CCL34
+       CALL    QUEUE,I-SINK-POD,-1
+       PUT     STACK,0,1
+       PRINTR  "As you stand, the pod shifts slightly and you feel it falling. A moment later, the fall stops with a shock, and you see water rising past the viewport."
+?CCL34:        PRINTR  "You are standing again."
+
+
+       .FUNCT  TOWEL-F
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "A pretty ordinary towel. Something is written in its corner."
+
+
+       .FUNCT  FOOD-KIT-F
+       EQUAL?  PRSA,V?EMPTY \FALSE
+       FSET?   FOOD-KIT,OPENBIT /?CCL6
+       PRINTR  "The kit is closed!"
+?CCL6: FIRST?  PRSO \FALSE
+       PRINTR  "The goo, being gooey, sticks to the inside of the kit. You would probably have to shake the kit to get the goo out."
+
+
+       .FUNCT  GOO-F
+       EQUAL?  PRSA,V?EAT \?CCL3
+       ZERO?   HUNGER-LEVEL \?CCL6
+       PRINT   NOT-HUNGRY
+       CRLF    
+       RTRUE   
+?CCL6: IN?     FOOD-KIT,ADVENTURER /?CCL8
+       SET     'PRSO,FOOD-KIT
+       CALL    NOT-HOLDING
+       CALL    THIS-IS-IT,FOOD-KIT
+       RSTACK  
+?CCL8: REMOVE  PRSO
+       SET     'C-ELAPSED,15
+       SET     'HUNGER-LEVEL,0
+       CALL    QUEUE,I-HUNGER-WARNINGS,1450
+       PUT     STACK,0,1
+       PRINTI  "Mmmm...that tasted just like "
+       EQUAL?  PRSO,BROWN-GOO \?CCL11
+       PRINTI  "delicious Nebulan fungus pudding"
+       JUMP    ?CND9
+?CCL11:        EQUAL?  PRSO,RED-GOO \?CCL13
+       PRINTI  "scrumptious cherry pie"
+       JUMP    ?CND9
+?CCL13:        PRINTI  "yummy lima beans"
+?CND9: PRINTR  "."
+?CCL3: EQUAL?  PRSA,V?DROP,V?TAKE \FALSE
+       EQUAL?  PRSA,V?DROP \?CCL18
+       PRINTI  "The goo, being gooey, sticks where it is"
+       JUMP    ?CND16
+?CCL18:        EQUAL?  PRSA,V?TAKE \?CND16
+       PRINTI  "It would ooze through your fingers"
+?CND16:        PRINTR  ". You'll have to eat it right from the survival kit."
+
+
+       .FUNCT  ESCAPE-POD-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is one of the Feinstein's primary escape pods, for use in extreme emergencies. A mass of safety webbing, large enough to hold several dozen people, fills half the pod. The controls are entirely automated. The bulkhead leading out is "
+       CALL    DDESC,POD-DOOR
+       PRINTR  "."
+
+
+       .FUNCT  POD-DOOR-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   POD-DOOR,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: GRTR?   TRIP-COUNTER,14 \?CCL8
+       FSET    POD-DOOR,OPENBIT
+       PRINTR  "The bulkhead opens and cold ocean water rushes in!"
+?CCL8: GRTR?   BLOWUP-COUNTER,0 \?CCL10
+       EQUAL?  HERE,DECK-NINE \?CCL13
+       PRINTR  "Too late. The pod's launching procedure has already begun."
+?CCL13:        PRINTR  "Opening the door now would be a phenomenally stupid idea."
+?CCL10:        PRINTR  "Why open the door to the emergency escape pod if there's no emergency?"
+?CCL3: EQUAL?  PRSA,V?CLOSE \?CCL15
+       FSET?   POD-DOOR,OPENBIT /?CCL18
+       CALL    IS-CLOSED
+       RSTACK  
+?CCL18:        PRINTR  "You can't close it yourself."
+?CCL15:        EQUAL?  PRSA,V?THROUGH \FALSE
+       EQUAL?  HERE,DECK-NINE \?CCL23
+       CALL    DO-WALK,P?WEST
+       RSTACK  
+?CCL23:        CALL    DO-WALK,P?OUT
+       RSTACK  
+
+
+       .FUNCT  GANGWAY-DOOR-F
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       FSET?   PRSO,OPENBIT \?CCL6
+       CALL    ALREADY-OPEN
+       RSTACK  
+?CCL6: PRINTR  "There doesn't seem to be any way to open it."
+?CCL3: EQUAL?  PRSA,V?CLOSE \FALSE
+       FSET?   PRSO,OPENBIT \?CCL11
+       PRINTR  "You can't close it yourself."
+?CCL11:        CALL    IS-CLOSED
+       RSTACK  
+
+
+       .FUNCT  I-BLOWUP-FEINSTEIN
+       CALL    QUEUE,I-BLOWUP-FEINSTEIN,-1
+       PUT     STACK,0,1
+       INC     'BLOWUP-COUNTER
+       EQUAL?  BLOWUP-COUNTER,5 \?CCL3
+       EQUAL?  HERE,DECK-NINE \?CCL6
+       CALL    JIGS-UP,STR?29
+       RSTACK  
+?CCL6: CRLF    
+       PRINTI  "Through the viewport of the pod you see the Feinstein dwindle as you head away. Bursts of light dot its hull. Suddenly, a huge explosion blows the Feinstein into tiny pieces, sending the escape pod tumbling away! "
+       CRLF    
+       CALL    QUEUE,I-POD-TRIP,-1
+       PUT     STACK,0,1
+       CALL    INT,I-BLOWUP-FEINSTEIN
+       PUT     STACK,0,0
+       IN?     ADVENTURER,SAFETY-WEB /?CCL9
+       RANDOM  100
+       LESS?   20,STACK /?CCL9
+       CALL    JIGS-UP,STR?30
+       RSTACK  
+?CCL9: IN?     ADVENTURER,SAFETY-WEB /FALSE
+       CRLF    
+       PRINTR  "You are thrown against the bulkhead, bruising a few limbs. The safety webbing might have offered a bit more protection."
+?CCL3: EQUAL?  BLOWUP-COUNTER,4 \?CCL15
+       CALL    INT,I-BLATHER
+       PUT     STACK,0,0
+       CALL    INT,I-AMBASSADOR
+       PUT     STACK,0,0
+       EQUAL?  HERE,DECK-NINE \?CCL18
+       CRLF    
+       PRINTR  "Explosions continue to rock the ship."
+?CCL18:        CRLF    
+       PRINTR  "You feel the pod begin to slide down its ejection tube as explosions shake the mother ship."
+?CCL15:        EQUAL?  BLOWUP-COUNTER,3 \?CCL20
+       FCLEAR  POD-DOOR,OPENBIT
+       EQUAL?  HERE,DECK-NINE \?CCL23
+       CRLF    
+       PRINTR  "More powerful explosions buffet the ship. The lights flicker madly, and the escape-pod bulkhead clangs shut."
+?CCL23:        EQUAL?  HERE,ESCAPE-POD \?CCL25
+       CRLF    
+       PRINTR  "The pod door clangs shut as heavy explosions continue to buffet the Feinstein."
+?CCL25:        CALL    JIGS-UP,STR?31
+       RSTACK  
+?CCL20:        EQUAL?  BLOWUP-COUNTER,2 \?CCL27
+       FCLEAR  CORRIDOR-DOOR,OPENBIT
+       FCLEAR  CORRIDOR-DOOR,INVISIBLE
+       FCLEAR  GANGWAY-DOOR,OPENBIT
+       FCLEAR  GANGWAY-DOOR,INVISIBLE
+       EQUAL?  HERE,DECK-NINE \?CCL30
+       CRLF    
+       PRINTR  "More distant explosions! A narrow emergency bulkhead at the base of the gangway and a wider one along the corridor to starboard both crash shut!"
+?CCL30:        EQUAL?  HERE,ESCAPE-POD,BRIG \?CCL32
+       CRLF    
+       PRINTR  "The ship shakes again. You hear, from close by, the sounds of emergency bulkheads closing."
+?CCL32:        EQUAL?  HERE,GANGWAY \?CCL34
+       CRLF    
+       PRINTR  "Another explosion. A narrow bulkhead at the base of the gangway slams shut!"
+?CCL34:        CRLF    
+       PRINTI  "You are deafened by more explosions and by the sound of emergency bulkheads slamming closed. "
+       IN?     BLATHER,HERE \?CCL37
+       PRINTI  "Blather, foaming slightly at the mouth, screams at you to swab the decks"
+       JUMP    ?CND35
+?CCL37:        MOVE    BLATHER,HERE
+       PRINTI  "Blather enters, looking confused, and begins ranting madly at you"
+?CND35:        PRINTR  "."
+?CCL27:        EQUAL?  BLOWUP-COUNTER,1 \FALSE
+       SET     'BRIGS-UP,0
+       FSET    POD-DOOR,OPENBIT
+       CRLF    
+       PRINTI  "A massive explosion rocks the ship. Echoes from the explosion resound deafeningly down the halls. "
+       EQUAL?  HERE,DECK-NINE \?CCL42
+       PRINTI  "The door to port slides open. "
+       IN?     AMBASSADOR,HERE \?CCL45
+       REMOVE  AMBASSADOR
+       REMOVE  CELERY
+       PRINTR  "The ambassador squawks frantically, evacuates a massive load of gooey slime, and rushes away."
+?CCL45:        IN?     BLATHER,HERE \?CCL47
+       REMOVE  BLATHER
+       PRINTR  "Blather, confused by this non-routine occurrence, orders you to continue scrubbing the floor, and then dashes off."
+?CCL47:        CRLF    
+       RTRUE   
+?CCL42:        EQUAL?  HERE,ESCAPE-POD,GANGWAY,BRIG \?CCL49
+       CRLF    
+       RTRUE   
+?CCL49:        PRINTR  "Blather, looking slightly disoriented, barks at you to resume your assigned duties."
+
+
+       .FUNCT  I-POD-TRIP
+       INC     'TRIP-COUNTER
+       EQUAL?  TRIP-COUNTER,1 \?CCL3
+       CRLF    
+       PRINTR  "As the escape pod tumbles away from the former location of the Feinstein, its gyroscopes whine. The pod slowly stops tumbling. Lights on the control panel blink furiously as the autopilot searches for a reasonable destination."
+?CCL3: EQUAL?  TRIP-COUNTER,2 \?CCL5
+       CRLF    
+       PRINTR  "The auxiliary rockets fire briefly, and a nearby planet swings into view through the port. It appears to be almost entirely ocean, with just a few visible islands and an unusually small polar ice cap. A moment later, the system's sun swings into view, and the viewport polarizes into a featureless black rectangle."
+?CCL5: EQUAL?  TRIP-COUNTER,3 \?CCL7
+       CRLF    
+       PRINTR  "The main thrusters fire a long, gentle burst. A monotonic voice issues from the control panel. ""Approaching planet...human-habitable."""
+?CCL7: EQUAL?  TRIP-COUNTER,7 \?CCL9
+       CRLF    
+       PRINTR  "The pod is buffeted as it enters the planet's atmosphere."
+?CCL9: EQUAL?  TRIP-COUNTER,8 \?CCL11
+       CRLF    
+       PRINTR  "You feel the temperature begin to rise, and the pod's climate control system roars as it labors to compensate."
+?CCL11:        EQUAL?  TRIP-COUNTER,9 \?CCL13
+       CRLF    
+       PRINTR  "The viewport suddenly becomes transparent again, giving you a view of endless ocean below. The lights on the control panel flash madly as the pod's computer searches for a suitable landing site. The thrusters fire long and hard, slowing the pod's descent."
+?CCL13:        EQUAL?  TRIP-COUNTER,10 \?CCL15
+       CRLF    
+       PRINTR  "The pod is now approaching the closer of a pair of islands. It appears to be surrounded by sheer cliffs rising from the water, and is topped by a wide plateau. The plateau seems to be covered by a sprawling complex of buildings."
+?CCL15:        EQUAL?  TRIP-COUNTER,11 \FALSE
+       IN?     ADVENTURER,SAFETY-WEB \?CCL20
+       MOVE    FOOD-KIT,HERE
+       MOVE    TOWEL,HERE
+       CRLF    
+       PRINTI  "The pod lands with a thud. Through the viewport you can see a rocky cleft and some water below. The pod rocks gently back and forth as if it was precariously balanced. A previously unseen panel slides open, revealing some emergency provisions, including a survival kit and a towel."
+       CRLF    
+       SET     'TRIP-COUNTER,15
+       CALL    INT,I-POD-TRIP
+       PUT     STACK,0,0
+       RTRUE   
+?CCL20:        CALL    JIGS-UP,STR?32
+       RSTACK  
+
+
+       .FUNCT  I-SINK-POD
+       INC     'SINK-COUNTER
+       EQUAL?  SINK-COUNTER,3 \?CCL3
+       EQUAL?  HERE,ESCAPE-POD \?CCL3
+       CRLF    
+       PRINTR  "The pod is now completely submerged, and you feel it smash against underwater rocks. Bubbles streaming upward past the window indicate that the pod is continuing to sink."
+?CCL3: EQUAL?  SINK-COUNTER,4 \?CCL7
+       EQUAL?  HERE,ESCAPE-POD \?CCL7
+       FSET?   POD-DOOR,OPENBIT /?CCL7
+       CRLF    
+       PRINTR  "The pod creaks ominously from the increasing pressure."
+?CCL7: EQUAL?  SINK-COUNTER,5 \FALSE
+       EQUAL?  HERE,ESCAPE-POD \FALSE
+       FSET?   POD-DOOR,OPENBIT \?CCL17
+       CALL    JIGS-UP,STR?33
+       RSTACK  
+?CCL17:        CALL    JIGS-UP,STR?34
+       RSTACK  
+
+
+       .FUNCT  SLOT-F
+       EQUAL?  PRSA,V?PUT \?CCL3
+       EQUAL?  SLOT,PRSI \?CCL3
+       PRINTR  "The slot is shallow, so you can't put anything in it. It may be possible to slide something through the slot, though."
+?CCL3: EQUAL?  PRSA,V?EXAMINE \?CCL7
+       PRINTR  "The slot is about ten centimeters wide, but only about two centimeters deep. It is surrounded on its long sides by parallel ridges of metal."
+?CCL7: EQUAL?  PRSA,V?SLIDE \FALSE
+       EQUAL?  SLOT,PRSI \FALSE
+       MOVE    PRSO,ADVENTURER
+       FSET?   PRSO,SCRAMBLEDBIT \?CCL14
+       PRINTR  "A sign flashes ""Magnetik striip randumiizd...konsult Prajekt Handbuk abowt propur kaar uv awtharazaashun kardz."""
+?CCL14:        EQUAL?  PRSO,KITCHEN-CARD \?CCL16
+       EQUAL?  HERE,MESS-HALL \?CCL19
+       FSET?   KITCHEN-DOOR,OPENBIT \?CCL22
+       PRINTR  "Nothing happens."
+?CCL22:        FSET    KITCHEN-DOOR,OPENBIT
+       CALL    QUEUE,I-KITCHEN-DOOR-CLOSES,50
+       PUT     STACK,0,1
+       PRINTI  "The kitchen door quietly slides open."
+       CRLF    
+       CALL    FLOYD-REVEAL-CARD-F
+       RTRUE   
+?CCL19:        PRINT   WRONG-CARD
+       CRLF    
+       RTRUE   
+?CCL16:        EQUAL?  PRSO,UPPER-ELEVATOR-CARD \?CCL24
+       EQUAL?  HERE,UPPER-ELEVATOR \?CCL27
+       SET     'UPPER-ELEVATOR-ON,TRUE-VALUE
+       CALL    QUEUE,I-TURNOFF-UPPER-ELEVATOR,180
+       PUT     STACK,0,1
+       PRINT   ELEVATOR-ENABLED
+       CRLF    
+       CALL    FLOYD-REVEAL-CARD-F
+       RTRUE   
+?CCL27:        PRINT   WRONG-CARD
+       CRLF    
+       RTRUE   
+?CCL24:        EQUAL?  PRSO,LOWER-ELEVATOR-CARD \?CCL29
+       EQUAL?  HERE,LOWER-ELEVATOR \?CCL32
+       SET     'LOWER-ELEVATOR-ON,TRUE-VALUE
+       CALL    QUEUE,I-TURNOFF-LOWER-ELEVATOR,200
+       PUT     STACK,0,1
+       PRINT   ELEVATOR-ENABLED
+       CRLF    
+       RTRUE   
+?CCL32:        PRINT   WRONG-CARD
+       CRLF    
+       RTRUE   
+?CCL29:        EQUAL?  PRSO,TELEPORTATION-CARD \?CCL34
+       EQUAL?  HERE,BOOTH-1,BOOTH-2,BOOTH-3 \?CCL37
+       SET     'TELEPORTATION-ON,TRUE-VALUE
+       CALL    QUEUE,I-TURNOFF-TELEPORTATION,30
+       PUT     STACK,0,1
+       PRINTR  "Nothing happens for a moment. Then a light flashes ""Redee."""
+?CCL37:        PRINT   WRONG-CARD
+       CRLF    
+       RTRUE   
+?CCL34:        EQUAL?  PRSO,SHUTTLE-CARD \?CCL39
+       CALL    SHUTTLE-ACTIVATE
+       RSTACK  
+?CCL39:        EQUAL?  PRSO,MINI-CARD \?CCL41
+       EQUAL?  HERE,MINI-BOOTH \?CCL44
+       SET     'MINI-ACTIVATED,TRUE-VALUE
+       CALL    QUEUE,I-TURNOFF-MINI,30
+       PUT     STACK,0,1
+       PRINTR  "A melodic high-pitched voice says ""Miniaturization and teleportation booth activated. Please type in damaged sector number."""
+?CCL44:        PRINT   WRONG-CARD
+       CRLF    
+       RTRUE   
+?CCL41:        EQUAL?  PRSO,ID-CARD \FALSE
+       PRINT   WRONG-CARD
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  FLOYD-REVEAL-CARD-F
+       IN?     FLOYD,HERE \FALSE
+       ZERO?   CARD-REVEALED \FALSE
+       EQUAL?  DAY,2 \?PRD8
+       LESS?   INTERNAL-MOVES,5000 \?PRD8
+       RANDOM  100
+       LESS?   5,STACK \?CCL3
+?PRD8: EQUAL?  DAY,2 \?PRD12
+       GRTR?   INTERNAL-MOVES,4999 \?PRD12
+       RANDOM  100
+       LESS?   10,STACK \?CCL3
+?PRD12:        EQUAL?  DAY,3 \?PRD16
+       LESS?   INTERNAL-MOVES,5000 \?PRD16
+       RANDOM  100
+       LESS?   20,STACK \?CCL3
+?PRD16:        EQUAL?  DAY,3 \?PRD20
+       GRTR?   INTERNAL-MOVES,4999 \?PRD20
+       RANDOM  100
+       LESS?   40,STACK \?CCL3
+?PRD20:        GRTR?   DAY,3 \FALSE
+?CCL3: SET     'CARD-REVEALED,TRUE-VALUE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       ZERO?   CARD-STOLEN \?CCL26
+       MOVE    LOWER-ELEVATOR-CARD,FLOYD
+       PRINTR  "Floyd claps his hands with excitement. ""Those cards are really neat, huh? Floyd has one for himself--see?"" He reaches behind one of his panels and retrieves a magnetic-striped card. He waves it exuberantly in the air."
+?CCL26:        PRINTR  "Floyd bobs up and down with excitement. ""Those cards are really neat! Floyd has one, too."" He begins searching through his compartments, but finds nothing. He scratches his head and looks confused."
+
+
+       .FUNCT  I-KITCHEN-DOOR-CLOSES
+       EQUAL?  HERE,KITCHEN \?CCL3
+       CALL    QUEUE,I-KITCHEN-DOOR-CLOSES,-1
+       PUT     STACK,0,1
+       RFALSE  
+?CCL3: FCLEAR  KITCHEN-DOOR,OPENBIT
+       CALL    INT,I-KITCHEN-DOOR-CLOSES
+       PUT     STACK,0,0
+       EQUAL?  HERE,MESS-HALL \FALSE
+       CRLF    
+       PRINTR  "The kitchen door slides quietly closed."
+
+
+       .FUNCT  TELEPORT,BOOTH
+       EQUAL?  PRSA,V?PUSH \FALSE
+       EQUAL?  TELEPORTATION-ON,TRUE-VALUE \?CCL6
+       PRINTI  "You experience a strange feeling in the pit of your stomach."
+       CRLF    
+       IN?     FLOYD,HERE \?CND7
+       PRINTI  "Floyd gives a terrified squeal, and clutches at his guidance mechanism."
+       CRLF    
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       CALL    QUEUE,I-FLOYD,1
+       PUT     STACK,0,1
+?CND7: CALL    ROB,HERE,BOOTH
+       CALL    GOTO,BOOTH,FALSE-VALUE
+       CALL    INT,I-TURNOFF-TELEPORTATION
+       PUT     STACK,0,0
+       SET     'TELEPORTATION-ON,FALSE-VALUE
+       RTRUE   
+?CCL6: PRINTR  "A sign flashes ""Teleportaashun buux not aktivaatid."""
+
+
+       .FUNCT  TELEPORTATION-BUTTON-1-F
+       CALL    TELEPORT,BOOTH-1
+       RSTACK  
+
+
+       .FUNCT  TELEPORTATION-BUTTON-2-F
+       CALL    TELEPORT,BOOTH-2
+       RSTACK  
+
+
+       .FUNCT  TELEPORTATION-BUTTON-3-F
+       CALL    TELEPORT,BOOTH-3
+       RSTACK  
+
+
+       .FUNCT  I-TURNOFF-TELEPORTATION
+       SET     'TELEPORTATION-ON,FALSE-VALUE
+       EQUAL?  HERE,BOOTH-1,BOOTH-2,BOOTH-3 \FALSE
+       CRLF    
+       PRINTR  "The ready light goes dark."
+
+
+       .FUNCT  GLOBAL-SHUTTLE-F
+       EQUAL?  PRSA,V?BOARD /?CTR2
+       EQUAL?  PRSA,V?WALK-TO,V?THROUGH,V?ENTER \?CCL3
+?CTR2: EQUAL?  HERE,SHUTTLE-CAR-ALFIE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR7
+       EQUAL?  HERE,SHUTTLE-CAR-BETTY,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL8
+?CTR7: PRINTR  "You ARE in the shuttle car."
+?CCL8: PRINTR  "Use 'north' or 'south'."
+?CCL3: EQUAL?  PRSA,V?DROP,V?DISEMBARK,V?EXIT \FALSE
+       EQUAL?  HERE,SHUTTLE-CAR-ALFIE \?CCL15
+       CALL    DO-WALK,P?NORTH
+       RSTACK  
+?CCL15:        EQUAL?  HERE,SHUTTLE-CAR-BETTY \?CCL17
+       CALL    DO-WALK,P?SOUTH
+       RSTACK  
+?CCL17:        EQUAL?  HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CTR18
+       EQUAL?  HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL19
+?CTR18:        PRINTR  "You can't exit the shuttle car from here."
+?CCL19:        PRINTR  "You're not in the shuttle car!"
+
+
+       .FUNCT  SHUTTLE-CAR-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is the cabin of a large transport, with seating for around 20 people plus space for freight. There are open doors at the eastern and western ends of the cabin, and a doorway leads out to a wide platform to the "
+       EQUAL?  HERE,SHUTTLE-CAR-ALFIE \?CCL6
+       PRINTI  "north"
+       JUMP    ?CND4
+?CCL6: PRINTI  "south"
+?CND4: PRINTR  "."
+
+
+       .FUNCT  CONTROL-CABIN-F,RARG
+       EQUAL?  RARG,M-LOOK \FALSE
+       PRINTI  "This is a small control cabin. A control panel contains a slot, a lever, and a display. The lever can be set at a central position, or it could be pushed up to a position labelled ""+"", or pulled down to a position labelled ""-"". It is currently at the "
+       ZERO?   LEVER-SETTING \?CCL6
+       PRINTI  "center"
+       JUMP    ?CND4
+?CCL6: EQUAL?  LEVER-SETTING,1 \?CCL8
+       PRINTI  "upper"
+       JUMP    ?CND4
+?CCL8: PRINTI  "lower"
+?CND4: PRINTI  " setting. The display, a digital readout, currently reads "
+       PRINTN  SHUTTLE-VELOCITY
+       PRINTI  ". Through the cabin window you can see "
+       CALL    DESCRIBE-VIEW
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  DESCRIBE-VIEW
+       EQUAL?  HERE,ALFIE-CONTROL-WEST \?PRD5
+       ZERO?   ALFIE-AT-KALAMONTEE \?CTR2
+?PRD5: EQUAL?  HERE,BETTY-CONTROL-WEST \?PRD8
+       ZERO?   BETTY-AT-KALAMONTEE \?CTR2
+?PRD8: EQUAL?  HERE,ALFIE-CONTROL-EAST \?PRD11
+       ZERO?   ALFIE-AT-KALAMONTEE /?CTR2
+?PRD11:        EQUAL?  HERE,BETTY-CONTROL-EAST \?CCL3
+       ZERO?   BETTY-AT-KALAMONTEE \?CCL3
+?CTR2: PRINTI  "a featureless concrete wall."
+       RTRUE   
+?CCL3: ZERO?   SHUTTLE-MOVING /?CCL17
+       EQUAL?  SHUTTLE-COUNTER,23 \?CCL17
+       PRINTI  "parallel rails ending at a brightly-lit station ahead."
+       RTRUE   
+?CCL17:        PRINTI  "parallel rails running along the floor of a long tunnel, vanishing in the distance."
+       RTRUE   
+
+
+       .FUNCT  SHUTTLE-DOOR-F
+       EQUAL?  PRSA,V?OPEN \FALSE
+       ZERO?   SHUTTLE-MOVING /?CCL6
+       PRINTR  "A recorded voice says ""Operator should remain in control cabin while shuttle car is between stations."""
+?CCL6: PRINTR  "Are you sure it isn't?"
+
+
+       .FUNCT  SHUTTLE-ENTER-F
+       EQUAL?  HERE,KALAMONTEE-PLATFORM \?CCL3
+       EQUAL?  PRSO,P?NORTH \?CCL6
+       ZERO?   BETTY-AT-KALAMONTEE /?CCL9
+       RETURN  SHUTTLE-CAR-BETTY
+?CCL9: PRINT   CANT-GO
+       CRLF    
+       RFALSE  
+?CCL6: EQUAL?  PRSO,P?SOUTH \FALSE
+       ZERO?   ALFIE-AT-KALAMONTEE /?CCL14
+       RETURN  SHUTTLE-CAR-ALFIE
+?CCL14:        PRINT   CANT-GO
+       CRLF    
+       RFALSE  
+?CCL3: EQUAL?  HERE,LAWANDA-PLATFORM \FALSE
+       EQUAL?  PRSO,P?NORTH \?CCL19
+       ZERO?   BETTY-AT-KALAMONTEE /?CCL22
+       PRINT   CANT-GO
+       CRLF    
+       RFALSE  
+?CCL22:        RETURN  SHUTTLE-CAR-BETTY
+?CCL19:        EQUAL?  PRSO,P?SOUTH \FALSE
+       ZERO?   ALFIE-AT-KALAMONTEE /?CCL27
+       PRINT   CANT-GO
+       CRLF    
+       RFALSE  
+?CCL27:        RETURN  SHUTTLE-CAR-ALFIE
+
+
+       .FUNCT  SHUTTLE-EXIT-F
+       EQUAL?  HERE,SHUTTLE-CAR-ALFIE \?CCL3
+       ZERO?   ALFIE-AT-KALAMONTEE /?CCL6
+       RETURN  KALAMONTEE-PLATFORM
+?CCL6: RETURN  LAWANDA-PLATFORM
+?CCL3: EQUAL?  HERE,SHUTTLE-CAR-BETTY \FALSE
+       ZERO?   BETTY-AT-KALAMONTEE /?CCL11
+       RETURN  KALAMONTEE-PLATFORM
+?CCL11:        RETURN  LAWANDA-PLATFORM
+
+
+       .FUNCT  SHUTTLE-ACTIVATE
+       EQUAL?  HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CCL3
+       EQUAL?  HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CCL3
+       PRINT   WRONG-CARD
+       CRLF    
+       RTRUE   
+?CCL3: ZERO?   ALFIE-BROKEN /?PRD9
+       EQUAL?  HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR6
+?PRD9: ZERO?   BETTY-BROKEN /?CCL7
+       EQUAL?  HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL7
+?CTR6: PRINTR  "A garbled recording mentions that the shuttle car has undergone some damage and that the repair robot has been summoned."
+?CCL7: GRTR?   INTERNAL-MOVES,6000 \?CND1
+       PRINTR  "A recorded voice explains that using the shuttle car during the evening hours requires special authorization."
+?CND1: EQUAL?  HERE,ALFIE-CONTROL-EAST \?CCL17
+       ZERO?   SHUTTLE-ON /?CCL20
+       PRINT   SHUTTLE-RECORDING-1
+       CRLF    
+       RTRUE   
+?CCL20:        ZERO?   ALFIE-AT-KALAMONTEE \?CCL22
+       PRINT   SHUTTLE-RECORDING-2
+       CRLF    
+       RTRUE   
+?CCL22:        SET     'SHUTTLE-ON,TRUE-VALUE
+       CALL    QUEUE,I-TURNOFF-SHUTTLE,80
+       PUT     STACK,0,1
+       PRINT   SHUTTLE-RECORDING-3
+       CRLF    
+       RTRUE   
+?CCL17:        EQUAL?  HERE,ALFIE-CONTROL-WEST \?CCL24
+       ZERO?   SHUTTLE-ON /?CCL27
+       PRINT   SHUTTLE-RECORDING-1
+       CRLF    
+       RTRUE   
+?CCL27:        ZERO?   ALFIE-AT-KALAMONTEE /?CCL29
+       PRINT   SHUTTLE-RECORDING-2
+       CRLF    
+       RTRUE   
+?CCL29:        SET     'SHUTTLE-ON,TRUE-VALUE
+       CALL    QUEUE,I-TURNOFF-SHUTTLE,80
+       PUT     STACK,0,1
+       PRINT   SHUTTLE-RECORDING-3
+       CRLF    
+       RTRUE   
+?CCL24:        EQUAL?  HERE,BETTY-CONTROL-EAST \?CCL31
+       ZERO?   SHUTTLE-ON /?CCL34
+       PRINT   SHUTTLE-RECORDING-1
+       CRLF    
+       RTRUE   
+?CCL34:        ZERO?   BETTY-AT-KALAMONTEE \?CCL36
+       PRINT   SHUTTLE-RECORDING-2
+       CRLF    
+       RTRUE   
+?CCL36:        SET     'SHUTTLE-ON,TRUE-VALUE
+       CALL    QUEUE,I-TURNOFF-SHUTTLE,80
+       PUT     STACK,0,1
+       PRINT   SHUTTLE-RECORDING-3
+       CRLF    
+       RTRUE   
+?CCL31:        EQUAL?  HERE,BETTY-CONTROL-WEST \?CCL38
+       ZERO?   SHUTTLE-ON /?CCL41
+       PRINT   SHUTTLE-RECORDING-1
+       CRLF    
+       RTRUE   
+?CCL41:        ZERO?   BETTY-AT-KALAMONTEE /?CCL43
+       PRINT   SHUTTLE-RECORDING-2
+       CRLF    
+       RTRUE   
+?CCL43:        SET     'SHUTTLE-ON,TRUE-VALUE
+       CALL    QUEUE,I-TURNOFF-SHUTTLE,80
+       PUT     STACK,0,1
+       PRINT   SHUTTLE-RECORDING-3
+       CRLF    
+       RTRUE   
+?CCL38:        PRINT   WRONG-CARD
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  I-TURNOFF-SHUTTLE
+       ZERO?   SHUTTLE-MOVING /?CCL3
+       CALL    QUEUE,I-TURNOFF-SHUTTLE,80
+       PUT     STACK,0,1
+       RFALSE  
+?CCL3: SET     'SHUTTLE-ON,FALSE-VALUE
+       RFALSE  
+
+
+       .FUNCT  LEVER-F
+       EQUAL?  PRSA,V?PUSH-UP,V?PUSH \?CCL3
+       ZERO?   SHUTTLE-ON /?CCL6
+       EQUAL?  LEVER-SETTING,1 \?CCL9
+       PRINTR  "The lever is already in the upper position."
+?CCL9: ZERO?   LEVER-SETTING \?CCL11
+       SET     'LEVER-SETTING,1
+       CALL    QUEUE,I-SHUTTLE,1
+       PUT     STACK,0,1
+       PRINTR  "The lever is now in the upper position."
+?CCL11:        SET     'LEVER-SETTING,0
+       PRINTR  "The lever is now in the central position."
+?CCL6: PRINT   SHUTTLE-RECORDING-4
+       CRLF    
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?PUSH-DOWN,V?PULL \FALSE
+       ZERO?   SHUTTLE-ON /?CCL16
+       EQUAL?  LEVER-SETTING,1 \?CCL19
+       SET     'LEVER-SETTING,0
+       PRINTR  "The lever is now in the central position."
+?CCL19:        ZERO?   LEVER-SETTING \?CCL21
+       ZERO?   SHUTTLE-VELOCITY \?CCL24
+       PRINTR  "The lever immediately pops back to the central position."
+?CCL24:        SET     'LEVER-SETTING,-1
+       CALL    QUEUE,I-SHUTTLE,1
+       PUT     STACK,0,1
+       PRINTR  "The lever is now in the lower position."
+?CCL21:        PRINTR  "The lever is already in the lower position."
+?CCL16:        PRINT   SHUTTLE-RECORDING-4
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  I-SHUTTLE
+       CALL    QUEUE,I-SHUTTLE,-1
+       PUT     STACK,0,1
+       ZERO?   SHUTTLE-MOVING \?CCL3
+       SET     'SHUTTLE-MOVING,TRUE-VALUE
+       FCLEAR  SHUTTLE-DOOR,OPENBIT
+       FCLEAR  SHUTTLE-DOOR,INVISIBLE
+       PRINTI  "The control cabin door slides shut and the shuttle car begins to move "
+       EQUAL?  LEVER-SETTING,1 \FALSE
+       ADD     SHUTTLE-VELOCITY,5 >SHUTTLE-VELOCITY
+       PRINTR  "forward! The display changes to 5."
+?CCL3: GRTR?   SHUTTLE-VELOCITY,0 \?CND7
+       INC     'SHUTTLE-COUNTER
+?CND7: EQUAL?  LEVER-SETTING,1 \?CCL11
+       ADD     SHUTTLE-VELOCITY,5 >SHUTTLE-VELOCITY
+       JUMP    ?CND9
+?CCL11:        EQUAL?  LEVER-SETTING,-1 \?CND9
+       GRTR?   SHUTTLE-VELOCITY,0 \?CCL15
+       SUB     SHUTTLE-VELOCITY,5 >SHUTTLE-VELOCITY
+       JUMP    ?CND9
+?CCL15:        SET     'LEVER-SETTING,0
+       PRINTI  "The shuttle car comes to a stop and the lever pops back to the central position."
+       CRLF    
+?CND9: EQUAL?  SHUTTLE-COUNTER,24 \?CCL18
+       CALL    DESCRIBE-SHUTTLE-ARRIVE
+       RSTACK  
+?CCL18:        GRTR?   SHUTTLE-VELOCITY,0 \FALSE
+       CALL    DESCRIBE-SHUTTLE-TRIP
+       RTRUE   
+
+
+       .FUNCT  DESCRIBE-SHUTTLE-TRIP
+       PRINTI  "The shuttle car continues to move. The display "
+       ZERO?   LEVER-SETTING \?CCL3
+       PRINTI  "still reads "
+       JUMP    ?CND1
+?CCL3: PRINTI  "blinks, and now reads "
+?CND1: PRINTN  SHUTTLE-VELOCITY
+       PRINTC  46
+       CRLF    
+       EQUAL?  SHUTTLE-COUNTER,2 \?CND4
+       PRINTI  "You pass a sign which says ""Limit 45."""
+       CRLF    
+?CND4: EQUAL?  SHUTTLE-COUNTER,12 \?CND6
+       PRINTI  "The tunnel levels out and begins to slope upward. A sign flashes by which reads ""Hafwaa Mark -- Beegin Deeseluraashun."""
+       CRLF    
+?CND6: EQUAL?  SHUTTLE-COUNTER,20 \?CND8
+       PRINT   SIGN-PASS
+       PRINTI  """15."""
+       CRLF    
+?CND8: EQUAL?  SHUTTLE-COUNTER,21 \?CND10
+       PRINT   SIGN-PASS
+       PRINTI  """10."""
+       CRLF    
+?CND10:        EQUAL?  SHUTTLE-COUNTER,22 \?CND12
+       PRINT   SIGN-PASS
+       PRINTI  """5."""
+       CRLF    
+?CND12:        EQUAL?  SHUTTLE-COUNTER,23 \FALSE
+       PRINTR  "The shuttle car is approaching a brightly-lit area. As you near it, you make out the concrete platforms of a shuttle station."
+
+
+       .FUNCT  DESCRIBE-SHUTTLE-ARRIVE
+       EQUAL?  SHUTTLE-COUNTER,24 \FALSE
+       ZERO?   SHUTTLE-VELOCITY \?CCL6
+       PRINTI  "The shuttle car glides into the station and comes to rest at the concrete platform. You hear the cabin doors slide open."
+       CRLF    
+       JUMP    ?CND4
+?CCL6: LESS?   SHUTTLE-VELOCITY,20 \?CCL8
+       EQUAL?  HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL11
+       SET     'ALFIE-BROKEN,TRUE-VALUE
+       JUMP    ?CND9
+?CCL11:        SET     'BETTY-BROKEN,TRUE-VALUE
+?CND9: PRINTI  "The shuttle car rumbles through the station and smashes into the wall at the far end. You are thrown forward into the control panel. Both you and the shuttle car produce unhealthy crunching sounds as the cabin doors creak slowly open."
+       CRLF    
+       JUMP    ?CND4
+?CCL8: CALL    JIGS-UP,STR?42
+?CND4: SET     'SHUTTLE-VELOCITY,0
+       SET     'SHUTTLE-MOVING,FALSE-VALUE
+       SET     'SHUTTLE-COUNTER,0
+       SET     'LEVER-SETTING,0
+       SET     'SHUTTLE-ON,FALSE-VALUE
+       FSET    SHUTTLE-DOOR,INVISIBLE
+       FSET    SHUTTLE-DOOR,OPENBIT
+       CALL    INT,I-SHUTTLE
+       PUT     STACK,0,0
+       EQUAL?  HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL14
+       ZERO?   ALFIE-AT-KALAMONTEE /?CCL17
+       SET     'ALFIE-AT-KALAMONTEE,FALSE-VALUE
+       RETURN  ALFIE-AT-KALAMONTEE
+?CCL17:        SET     'ALFIE-AT-KALAMONTEE,TRUE-VALUE
+       RETURN  ALFIE-AT-KALAMONTEE
+?CCL14:        ZERO?   BETTY-AT-KALAMONTEE /?CCL20
+       SET     'BETTY-AT-KALAMONTEE,FALSE-VALUE
+       RETURN  BETTY-AT-KALAMONTEE
+?CCL20:        SET     'BETTY-AT-KALAMONTEE,TRUE-VALUE
+       RETURN  BETTY-AT-KALAMONTEE
+
+
+       .FUNCT  I-SLEEP-WARNINGS
+       INC     'SLEEPY-LEVEL
+       IN?     ADVENTURER,BED \?CND1
+       CRLF    
+       PRINTI  "You suddenly realize how tired you were and how comfortable the bed is. You should be asleep in no time."
+       CRLF    
+       CALL    INT,I-SLEEP-WARNINGS
+       PUT     STACK,0,0
+       CALL    QUEUE,I-FALL-ASLEEP,16
+       PUT     STACK,0,1
+       RTRUE   
+?CND1: EQUAL?  SLEEPY-LEVEL,1 \?CCL5
+       CRLF    
+       PRINTI  "You begin to feel weary. It might be time to think about finding a nice safe place to sleep."
+       CRLF    
+       CALL    QUEUE,I-SLEEP-WARNINGS,400
+       PUT     STACK,0,1
+       RTRUE   
+?CCL5: EQUAL?  SLEEPY-LEVEL,2 \?CCL7
+       CRLF    
+       PRINTI  "You're really tired now. You'd better find a place to sleep real soon."
+       CRLF    
+       CALL    QUEUE,I-SLEEP-WARNINGS,135
+       PUT     STACK,0,1
+       RTRUE   
+?CCL7: EQUAL?  SLEEPY-LEVEL,3 \?CCL9
+       CRLF    
+       PRINTI  "If you don't get some sleep soon you'll probably drop."
+       CRLF    
+       CALL    QUEUE,I-SLEEP-WARNINGS,60
+       PUT     STACK,0,1
+       RTRUE   
+?CCL9: EQUAL?  SLEEPY-LEVEL,4 \?CCL11
+       CRLF    
+       PRINTI  "You can barely keep your eyes open."
+       CRLF    
+       CALL    QUEUE,I-SLEEP-WARNINGS,50
+       PUT     STACK,0,1
+       RTRUE   
+?CCL11:        EQUAL?  SLEEPY-LEVEL,5 \FALSE
+       EQUAL?  HERE,BED \?CCL16
+       CRLF    
+       PRINTI  "You slowly sink into a deep and blissful sleep."
+       CRLF    
+       CALL    DREAMING
+       RSTACK  
+?CCL16:        EQUAL?  HERE,DORM-A,DORM-B /?CTR17
+       EQUAL?  HERE,DORM-C,DORM-D \?CCL18
+?CTR17:        CRLF    
+       PRINTI  "You climb into one of the bunk beds and immediately fall asleep."
+       CRLF    
+       MOVE    ADVENTURER,BED
+       CALL    DREAMING
+       RSTACK  
+?CCL18:        CRLF    
+       PRINTI  "You can't stay awake a moment longer. You drop to the ground and fall into a deep but fitful sleep."
+       CRLF    
+       EQUAL?  DAY,1 \?PRD25
+       EQUAL?  HERE,CRAG /?CTR22
+?PRD25:        EQUAL?  DAY,3 \?PRD28
+       EQUAL?  HERE,BALCONY /?CTR22
+?PRD28:        EQUAL?  DAY,5 \?CCL23
+       EQUAL?  HERE,WINDING-STAIR \?CCL23
+?CTR22:        CALL    JIGS-UP,STR?44
+       RSTACK  
+?CCL23:        RANDOM  100
+       LESS?   30,STACK /?CCL34
+       CALL    JIGS-UP,STR?45
+       RSTACK  
+?CCL34:        CALL    DREAMING
+       RSTACK  
+
+
+       .FUNCT  BED-F,RARG=M-OBJECT
+       EQUAL?  PRSA,V?WALK \?CCL3
+       EQUAL?  RARG,M-BEG \?CCL3
+       PRINTR  "You'll have to stand up, first."
+?CCL3: EQUAL?  PRSA,V?RUB /?PRD9
+       EQUAL?  PRSA,V?CLOSE,V?OPEN,V?TAKE \?CCL7
+?PRD9: EQUAL?  RARG,M-BEG \?CCL7
+       EQUAL?  PRSO,BED /?CCL7
+       PRINTR  "You can't reach it from here."
+?CCL7: ZERO?   RARG \FALSE
+       EQUAL?  PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL16
+       EQUAL?  HERE,INFIRMARY \?CCL19
+       CALL    JIGS-UP,STR?46
+       RSTACK  
+?CCL19:        GRTR?   SLEEPY-LEVEL,0 \?CCL21
+       MOVE    ADVENTURER,BED
+       CALL    QUEUE,I-FALL-ASLEEP,16
+       PUT     STACK,0,1
+       CALL    INT,I-SLEEP-WARNINGS
+       PUT     STACK,0,0
+       PRINTR  "Ahhh...the bed is soft and comfortable. You should be asleep in short order."
+?CCL21:        MOVE    ADVENTURER,BED
+       PRINTR  "You are now in bed."
+?CCL16:        EQUAL?  PRSA,V?DROP /?PRD25
+       EQUAL?  PRSA,V?EXIT,V?STAND,V?DISEMBARK \?CCL23
+?PRD25:        CALL    INT,I-FALL-ASLEEP
+       GET     STACK,C-TICK
+       ZERO?   STACK /?CCL23
+       PRINTR  "How could you suggest such a thing when you're so tired and this bed is so comfy?"
+?CCL23:        EQUAL?  PRSA,V?DROP,V?EXIT,V?LEAVE \?CCL29
+       CALL    PERFORM,V?DISEMBARK,BED
+       RTRUE   
+?CCL29:        EQUAL?  PRSA,V?PUT \FALSE
+       EQUAL?  BED,PRSI \FALSE
+       MOVE    PRSO,HERE
+       PRINTI  "The "
+       PRINTD  PRSO
+       PRINTR  " bounces off the bed and lands on the floor."
+
+
+       .FUNCT  I-FALL-ASLEEP
+       CRLF    
+       PRINTI  "You slowly sink into a deep and restful sleep."
+       CRLF    
+       CALL    INT,I-FALL-ASLEEP
+       PUT     STACK,0,0
+       CALL    DREAMING
+       RSTACK  
+
+
+       .FUNCT  DREAMING
+       FSET?   FORK,TOUCHBIT \?CCL3
+       RANDOM  100
+       LESS?   13,STACK /?CCL3
+       PRINTI  "You are in a busy office crowded with people. The only one you recognize is Floyd. He rushes back and forth between the desks, carrying papers and delivering coffee. He notices you, and asks how your project is coming, and whether you have time to tell him a story. You look into his deep, trusting eyes..."
+       CRLF    
+       JUMP    ?CND1
+?CCL3: RANDOM  100
+       LESS?   60,STACK /?CND1
+       CRLF    
+       CALL    PICK-ONE,DREAMS
+       PRINT   STACK
+       CRLF    
+?CND1: CALL    WAKING-UP
+       RSTACK  
+
+
+       .FUNCT  WAKING-UP,X,N
+       INC     'DAY
+       SET     'SICKNESS-WARNING-FLAG,TRUE-VALUE
+       SET     'SLEEPY-LEVEL,0
+       CALL    RESET-TIME
+       FIRST?  ADVENTURER >X /?PRG2
+?PRG2: ZERO?   X /?REP3
+       NEXT?   X >N /?BOGUS7
+?BOGUS7:       FSET?   X,WORNBIT /?CND8
+       MOVE    X,HERE
+?CND8: EQUAL?  X,CANTEEN \?CND10
+       IN?     HIGH-PROTEIN,CANTEEN \?CND10
+       FSET?   CANTEEN,OPENBIT \?CND10
+       REMOVE  HIGH-PROTEIN
+?CND10:        EQUAL?  X,FLASK \?CND15
+       IN?     CHEMICAL-FLUID,FLASK \?CND15
+       REMOVE  CHEMICAL-FLUID
+?CND15:        SET     'X,N
+       JUMP    ?PRG2
+?REP3: PRINTI  "
+***** SEPTEM "
+       ADD     DAY,5
+       PRINTN  STACK
+       PRINTI  ", 11344 *****
+
+"
+       IN?     ADVENTURER,BED /?CCL21
+       PRINTI  "You wake and slowly stand up, feeling stiff from your night on the floor."
+       JUMP    ?CND19
+?CCL21:        LESS?   SICKNESS-LEVEL,3 \?CCL23
+       PRINTI  "You wake up feeling refreshed and ready to face the challenges of this mysterious world."
+       JUMP    ?CND19
+?CCL23:        LESS?   SICKNESS-LEVEL,6 \?CCL25
+       PRINTI  "You wake after sleeping restlessly. You feel weak and listless."
+       JUMP    ?CND19
+?CCL25:        PRINTI  "You wake feeling weak and worn-out. It will be an effort just to stand up."
+?CND19:        GRTR?   HUNGER-LEVEL,0 \?CCL28
+       SET     'HUNGER-LEVEL,4
+       CALL    QUEUE,I-HUNGER-WARNINGS,100
+       PUT     STACK,0,1
+       PRINTI  " You are also incredibly famished. Better get some breakfast!"
+       JUMP    ?CND26
+?CCL28:        CALL    QUEUE,I-HUNGER-WARNINGS,400
+       PUT     STACK,0,1
+?CND26:        CRLF    
+       FSET?   FLOYD,RLANDBIT \FALSE
+       ZERO?   FLOYD-INTRODUCED /FALSE
+       MOVE    FLOYD,HERE
+       SET     'FLOYD-SPOKE,TRUE-VALUE
+       IN?     ADVENTURER,BED \?CCL36
+       PRINTR  "Floyd bounces impatiently at the foot of the bed. ""About time you woke up, you lazy bones! Let's explore around some more!"""
+?CCL36:        PRINTR  "Floyd gives you a nudge with his foot and giggles. ""You sure look silly sleeping on the floor,"" he says."
+
+
+       .FUNCT  RESET-TIME
+       EQUAL?  DAY,2 \?CCL3
+       FCLEAR  BALCONY,TOUCHBIT
+       RANDOM  80
+       ADD     1600,STACK >INTERNAL-MOVES
+       CALL    QUEUE,I-SLEEP-WARNINGS,5800
+       PUT     STACK,0,1
+       RTRUE   
+?CCL3: EQUAL?  DAY,3 \?CCL5
+       FCLEAR  BALCONY,TOUCHBIT
+       RANDOM  80
+       ADD     1750,STACK >INTERNAL-MOVES
+       CALL    QUEUE,I-SLEEP-WARNINGS,5550
+       PUT     STACK,0,1
+       RTRUE   
+?CCL5: EQUAL?  DAY,4 \?CCL7
+       FCLEAR  WINDING-STAIR,TOUCHBIT
+       RANDOM  80
+       ADD     1950,STACK >INTERNAL-MOVES
+       CALL    QUEUE,I-SLEEP-WARNINGS,5200
+       PUT     STACK,0,1
+       RTRUE   
+?CCL7: EQUAL?  DAY,5 \?CCL9
+       FCLEAR  WINDING-STAIR,TOUCHBIT
+       RANDOM  80
+       ADD     2150,STACK >INTERNAL-MOVES
+       CALL    QUEUE,I-SLEEP-WARNINGS,4800
+       PUT     STACK,0,1
+       RTRUE   
+?CCL9: EQUAL?  DAY,6 \?CCL11
+       FCLEAR  COURTYARD,TOUCHBIT
+       RANDOM  80
+       ADD     2450,STACK >INTERNAL-MOVES
+       CALL    QUEUE,I-SLEEP-WARNINGS,4300
+       PUT     STACK,0,1
+       RTRUE   
+?CCL11:        EQUAL?  DAY,7 \?CCL13
+       FCLEAR  COURTYARD,TOUCHBIT
+       RANDOM  80
+       ADD     2800,STACK >INTERNAL-MOVES
+       CALL    QUEUE,I-SLEEP-WARNINGS,3700
+       PUT     STACK,0,1
+       RTRUE   
+?CCL13:        EQUAL?  DAY,8 \?CCL15
+       RANDOM  80
+       ADD     3200,STACK >INTERNAL-MOVES
+       CALL    QUEUE,I-SLEEP-WARNINGS,3000
+       PUT     STACK,0,1
+       RTRUE   
+?CCL15:        EQUAL?  DAY,9 \FALSE
+       CALL    JIGS-UP,STR?52
+       RSTACK  
+
+
+       .FUNCT  I-HUNGER-WARNINGS
+       INC     'HUNGER-LEVEL
+       EQUAL?  HUNGER-LEVEL,1 \?CCL3
+       CALL    QUEUE,I-HUNGER-WARNINGS,450
+       PUT     STACK,0,1
+       CRLF    
+       PRINTR  "A growl from your stomach warns that you're getting pretty hungry and thirsty."
+?CCL3: EQUAL?  HUNGER-LEVEL,2 \?CCL5
+       CALL    QUEUE,I-HUNGER-WARNINGS,150
+       PUT     STACK,0,1
+       CRLF    
+       PRINTR  "You're now really ravenous and your lips are quite parched."
+?CCL5: EQUAL?  HUNGER-LEVEL,3 \?CCL7
+       CALL    QUEUE,I-HUNGER-WARNINGS,100
+       PUT     STACK,0,1
+       CRLF    
+       PRINTR  "You're starting to feel faint from lack of food and liquid."
+?CCL7: EQUAL?  HUNGER-LEVEL,4 \?CCL9
+       CALL    QUEUE,I-HUNGER-WARNINGS,50
+       PUT     STACK,0,1
+       CRLF    
+       PRINTR  "If you don't eat or drink something in a few millichrons, you'll probably pass out."
+?CCL9: EQUAL?  HUNGER-LEVEL,5 \FALSE
+       CALL    JIGS-UP,STR?53
+       RSTACK  
+
+
+       .FUNCT  I-SICKNESS-WARNINGS
+       CALL    QUEUE,I-SICKNESS-WARNINGS,700
+       PUT     STACK,0,1
+       ZERO?   SICKNESS-WARNING-FLAG /FALSE
+       SET     'SICKNESS-WARNING-FLAG,FALSE-VALUE
+       SUB     LOAD-ALLOWED,10 >LOAD-ALLOWED
+       INC     'SICKNESS-LEVEL
+       EQUAL?  SICKNESS-LEVEL,1 \?CCL6
+       CRLF    
+       PRINTR  "You notice that you feel a bit weak and slightly flushed, but you're not sure why."
+?CCL6: EQUAL?  SICKNESS-LEVEL,2 \?CCL8
+       CRLF    
+       PRINTR  "You notice that you feel unusually weak, and you suspect that you have a fever."
+?CCL8: EQUAL?  SICKNESS-LEVEL,3 \?CCL10
+       CRLF    
+       PRINTR  "You are now feeling quite under the weather, not unlike a bad flu."
+?CCL10:        EQUAL?  SICKNESS-LEVEL,4 \?CCL12
+       CRLF    
+       PRINTR  "Your fever seems to have gotten worse, and you're developing a bad headache."
+?CCL12:        EQUAL?  SICKNESS-LEVEL,5 \?CCL14
+       CRLF    
+       PRINTR  "Your health has deteriorated further. You feel hot and weak, and your head is throbbing."
+?CCL14:        EQUAL?  SICKNESS-LEVEL,6 \?CCL16
+       CRLF    
+       PRINTR  "You feel very, very sick, and have almost no strength left."
+?CCL16:        EQUAL?  SICKNESS-LEVEL,7 \?CCL18
+       CRLF    
+       PRINTR  "You feel like you're on fire, burning up from the fever. You're almost too weak to move, and your brain is reeling from the pounding headache."
+?CCL18:        EQUAL?  SICKNESS-LEVEL,8 \?CCL20
+       CRLF    
+       PRINTR  "You're no longer sure of where you are and what you're doing. You stumble about, your pain subsiding into a dull numbness."
+?CCL20:        EQUAL?  SICKNESS-LEVEL,9 \FALSE
+       CALL    JIGS-UP,STR?55
+       RSTACK  
+
+
+       .FUNCT  TRANSLATOR-PSEUDO
+       IN?     AMBASSADOR,HERE \?CCL3
+       EQUAL?  PRSA,V?TAKE \?CCL6
+       PRINTR  "The ambassador whimpers and slaps your wrist."
+?CCL6: EQUAL?  PRSA,V?MUNG \FALSE
+       PRINTR  "Are you trying to create an interplanetary incident?"
+?CCL3: PRINTR  "What translator?"
+
+
+       .FUNCT  SLIME-PSEUDO
+       IN?     AMBASSADOR,HERE /?CTR2
+       GRTR?   AMBASSADOR-LEAVE,0 \?CCL3
+?CTR2: EQUAL?  PRSA,V?TASTE,V?EAT \?CCL8
+       CALL    LIKE-SLIME,STR?56
+       RSTACK  
+?CCL8: EQUAL?  PRSA,V?RUB,V?TAKE \?CCL10
+       CALL    LIKE-SLIME,STR?57
+       RSTACK  
+?CCL10:        EQUAL?  PRSA,V?EXAMINE \?CCL12
+       CALL    LIKE-SLIME,STR?58
+       RSTACK  
+?CCL12:        EQUAL?  PRSA,V?SMELL \?CCL14
+       CALL    LIKE-SLIME,STR?59
+       RSTACK  
+?CCL14:        EQUAL?  PRSA,V?REMOVE,V?SCRUB \FALSE
+       PRINTI  "Whew. You've cleaned up maybe one ten-thousandth of the slime."
+       IN?     BLATHER,HERE /?CND17
+       PRINTR  " If you hurry, it might be all cleaned up before Ensign Blather gets here."
+?CND17:        CRLF    
+       RTRUE   
+?CCL3: PRINTR  "What slime?"
+
+
+       .FUNCT  LIKE-SLIME,STRING
+       PRINTI  "It "
+       PRINT   STRING
+       PRINTR  " like slime. Aren't you glad you didn't step in it?"
+
+
+       .FUNCT  GRAFFITI-PSEUDO
+       EQUAL?  PRSA,V?READ \FALSE
+       SET     'C-ELAPSED,28
+       PRINTR  "All the graffiti seem to be about Blather. One of the least obscene items reads:
+
+There once was a krip, name of Blather
+Who told a young Ensign named Smather
+""I'll make you inherit
+A trotting demerit
+And ship you off to those stinking fawg-infested tar-pools of Krather.""
+
+It's not a very good limerick, is it?"
+
+
+       .FUNCT  DOOR-PSEUDO
+       EQUAL?  PRSA,V?UNLOCK,V?OPEN \FALSE
+       PRINTR  "No way, Jose."
+
+
+       .FUNCT  WALKWAY-PSEUDO
+       EQUAL?  PRSA,V?LAMP-ON,V?EXAMINE \FALSE
+       PRINTR  "The walkway, which hastened the trip down that long corridor, is no longer in service."
+
+
+       .FUNCT  BENCH-PSEUDO
+       EQUAL?  PRSA,V?BOARD,V?CLIMB-ON \FALSE
+       PRINTR  "The benches look uncomfortable."
+
+
+       .FUNCT  CATWALK-PSEUDO
+       EQUAL?  PRSA,V?CLIMB-FOO,V?CLIMB-UP,V?CLIMB-ON \FALSE
+       PRINTR  "The catwalks are too high for you to access."
+
+
+       .FUNCT  EQUIPMENT-PSEUDO
+       EQUAL?  PRSA,V?LAMP-OFF /?CCL3
+       EQUAL?  PRSA,V?LAMP-ON,V?RUB,V?EXAMINE \FALSE
+?CCL3: PRINTR  "The equipment here is so complicated that you couldn't even begin to figure out how to operate it."
+
+
+       .FUNCT  MONITORS-PSEUDO
+       EQUAL?  PRSA,V?READ,V?EXAMINE \FALSE
+       CALL    DESCRIBE-MONITORS
+       RSTACK  
+
+
+       .FUNCT  MURAL-PSEUDO
+       ZERO?   COMPUTER-FIXED /?CCL3
+       CALL    ANYMORE
+       RSTACK  
+?CCL3: EQUAL?  PRSA,V?EXAMINE \?CCL6
+       PRINTR  "It's a gaudy work of orange and purple abstract shapes, reminiscent of the early works of Burstini Bonz. It doesn't appear to fit the decor of the room at all. The mural seems to ripple now and then, as though a breeze were blowing behind it."
+?CCL6: EQUAL?  PRSA,V?MUNG \?CCL8
+       PRINTR  "My sentiments also, but let's be civil."
+?CCL8: EQUAL?  PRSA,V?LOOK-BEHIND,V?MOVE \FALSE
+       PRINTR  "It won't budge."
+
+
+       .FUNCT  LOGO-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE,V?READ \FALSE
+       PRINTR  "The logo shows a flame burning over a sleep chamber of some type. Under that is the phrase ""Prajekt Kuntrool."""
+
+
+       .FUNCT  KEYBOARD-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "It is a standard numeric keyboard with ten keys labelled from 0 through 9."
+
+
+       .FUNCT  CRACK-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTR  "The crack is too small to go through, but large enough to look through."
+?CCL3: EQUAL?  PRSA,V?LOOK-INSIDE \FALSE
+       EQUAL?  HERE,RADIATION-LAB \?CCL8
+       PRINTR  "You see a dimly lit Bio Lab. Sinister shapes lurk about within."
+?CCL8: PRINTR  "You see a laboratory suffused with a pale blue glow."
+
+
+       .FUNCT  VOID-PSEUDO
+       EQUAL?  PRSA,V?PUT \?CCL3
+       EQUAL?  PRSI,PSEUDO-OBJECT \?CCL3
+       CALL    PERFORM,V?THROW-OFF,PRSO,STRIP
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?ZAP \?CCL7
+       EQUAL?  PRSO,LASER \?CCL7
+       EQUAL?  PRSI,PSEUDO-OBJECT \?CCL7
+       SET     'PRSI,FALSE-VALUE
+       CALL    PERFORM,V?ZAP,LASER
+       RTRUE   
+?CCL7: EQUAL?  PRSA,V?LEAP,V?THROUGH \?CCL12
+       CALL    JIGS-UP,STR?60
+       RSTACK  
+?CCL12:        EQUAL?  PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE
+       PRINTR  "The void extends downward into the gloom far below."
+
+
+       .FUNCT  SPOUT-PSEUDO
+       EQUAL?  PRSA,V?PUT-UNDER \?CCL3
+       EQUAL?  PRSO,CANTEEN \?CCL3
+       CALL    PERFORM,V?PUT,CANTEEN,DISPENSER
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?LOOK-UNDER \FALSE
+       IN?     CANTEEN,DISPENSER \FALSE
+       PRINTR  "The canteen is sitting under the spout."
+
+
+       .FUNCT  TOILET-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTR  "The fixtures are all dry and dusty."
+?CCL3: EQUAL?  PRSA,V?FLUSH \FALSE
+       PRINTR  "The water seems to be turned off."
+
+
+       .FUNCT  GAMES-PSEUDO
+       EQUAL?  PRSA,V?PLAY \?CCL3
+       CALL    PERFORM,V?PLAY,GLOBAL-GAMES
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "All the usual games -- Chess, Cribbage, Galactic Overlord, Double Fannucci..."
+
+
+       .FUNCT  TAPES-PSEUDO
+       EQUAL?  PRSA,V?TAKE,V?PLAY,V?READ \?CCL3
+       PRINTR  "Hardly the time or place for reading recreational tapes."
+?CCL3: EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "Let's see...here are some musical selections, here are some bestselling romantic novels, here is a biography of a famous Double Fannucci champion..."
+
+
+       .FUNCT  PARTITION-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "The partitions are very plain, and were obviously intended to separate this huge room into smaller areas."
+
+
+       .FUNCT  CUBBYHOLE-PSEUDO
+       EQUAL?  PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE
+       PRINTR  "The cubbyholes look like the kind that are used to hold maps or blueprints. They are all empty now."
+
+
+       .FUNCT  MAPS-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "Examining the maps reveals no new information."
+
+
+       .FUNCT  DEVICES-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "They are components of disassembled robots, beyond repair."
+
+
+       .FUNCT  CABLES-PSEUDO
+       EQUAL?  PRSA,V?FOLLOW,V?EXAMINE \?CCL3
+       PRINTR  "These heavy cables merely run from the two consoles up into the ceiling."
+?CCL3: EQUAL?  PRSA,V?MUNG \FALSE
+       CALL    JIGS-UP,STR?61
+       RSTACK  
+
+
+       .FUNCT  STRUCTURE-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \?CCL3
+       PRINTR  "You'd be able to tell more about it if you climbed up to it."
+?CCL3: EQUAL?  PRSA,V?CLIMB-UP \FALSE
+       CALL    DO-WALK,P?UP
+       RSTACK  
+
+
+       .FUNCT  BUTTON-PSEUDO
+       EQUAL?  PRSA,V?PUSH \FALSE
+       FSET?   DISPENSER,MUNGEDBIT \?CCL6
+       PRINTR  "The dispenser sputters a few times."
+?CCL6: IN?     CANTEEN,DISPENSER \?CCL8
+       FSET?   CANTEEN,OPENBIT /?CCL11
+       PRINTR  "A thick, brown liquid spills over the closed canteen, dribbles down the side of the machine, and forms a puddle on the floor which quickly dries up."
+?CCL11:        IN?     HIGH-PROTEIN,CANTEEN \?CCL13
+       PRINTI  "The brown liquid splashes over the mouth of the already-filled canteen, creating a mess"
+       FSET?   PATROL-UNIFORM,WORNBIT \?CND14
+       PRINTI  " and staining your uniform"
+?CND14:        PRINTR  "."
+?CCL13:        MOVE    HIGH-PROTEIN,CANTEEN
+       PRINTR  "The canteen fills almost to the brim with a brown liquid."
+?CCL8: PRINTR  "A thick, brownish liquid pours from the spout and splashes to the floor, where it quickly evaporates."
+
+
+       .FUNCT  CARPET-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "It's pretty dusty."
+
+
+       .FUNCT  CABINETS-PSEUDO
+       EQUAL?  PRSA,V?OPEN,V?EXAMINE \?CCL3
+       PRINTR  "The cabinets are locked."
+?CCL3: EQUAL?  PRSA,V?UNLOCK \FALSE
+       PRINTR  "You don't have the correct key."
+
+
+       .FUNCT  PLATE-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "The plates seem to be featureless metal squares."
+
+
+       .FUNCT  ESCALATOR-PSEUDO
+       EQUAL?  PRSA,V?CLIMB-FOO,V?CLIMB-UP \?CCL3
+       EQUAL?  HERE,FORK \?CCL6
+       PRINTR  "You're already at the top of the escalator."
+?CCL6: CALL    DO-WALK,P?UP
+       RSTACK  
+?CCL3: EQUAL?  PRSA,V?CLIMB-DOWN \?CCL8
+       EQUAL?  HERE,LAWANDA-PLATFORM \?CCL11
+       PRINTR  "You're already at the bottom of the escalator."
+?CCL11:        CALL    DO-WALK,P?DOWN
+       RSTACK  
+?CCL8: EQUAL?  PRSA,V?LAMP-ON \FALSE
+       CALL    PICK-ONE,YUKS
+       PRINT   STACK
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  REACTOR-BUTTON-PSEUDO
+       EQUAL?  PRSA,V?PUSH \FALSE
+       FSET    REACTOR-ELEVATOR-DOOR,OPENBIT
+       CALL    QUEUE,I-REACTOR-DOOR-CLOSE,30
+       PUT     STACK,0,1
+       PRINTR  "The metal doors slide open, revealing a small room to the east."
+
+
+       .FUNCT  SUPPLIES-PSEUDO
+       EQUAL?  PRSA,V?TAKE \FALSE
+       PRINTR  "These supplies are of absolutely no use."
+
+
+       .FUNCT  DESK-PSEUDO
+       EQUAL?  PRSA,V?OPEN \?CCL3
+       PRINTR  "All the drawers are empty."
+?CCL3: EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "It is bare except for the microfilm reader."
+
+
+       .FUNCT  CRYO-BUTTON-PSEUDO
+       EQUAL?  PRSA,V?PUSH \?CCL3
+       ZERO?   CRYO-SCORE-FLAG \?CCL3
+       CALL    QUEUE,I-CRYO-ELEVATOR-ARRIVE,100
+       PUT     STACK,0,1
+       CALL    INT,I-CHASE-SCENE
+       PUT     STACK,0,0
+       FCLEAR  CRYO-ELEVATOR-DOOR,OPENBIT
+       SET     'CRYO-SCORE-FLAG,TRUE-VALUE
+       ADD     SCORE,5 >SCORE
+       PRINTR  "The elevator door closes just as the monsters reach it! You slump back against the wall, exhausted from the chase. The elevator begins to move downward."
+?CCL3: EQUAL?  PRSA,V?PUSH \FALSE
+       ZERO?   CRYO-SCORE-FLAG /FALSE
+       FSET?   CRYO-ELEVATOR-DOOR,OPENBIT \FALSE
+       CALL    JIGS-UP,STR?62
+       RSTACK  
+
+
+       .FUNCT  CASTLE-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE \FALSE
+       PRINTR  "The castle is ancient and crumbling."
+
+
+       .FUNCT  CHEM-SPOUT-PSEUDO
+       EQUAL?  PRSA,V?PUT-UNDER \?CCL3
+       EQUAL?  PRSI,PSEUDO-OBJECT \?CCL3
+       CALL    PERFORM,V?PUT-UNDER,PRSO,CHEMICAL-DISPENSER
+       RTRUE   
+?CCL3: EQUAL?  PRSA,V?LOOK-UNDER \FALSE
+       ZERO?   SPOUT-PLACED /FALSE
+       PRINTI  "There is "
+       CALL    A-AN
+       PRINTD  SPOUT-PLACED
+       PRINTR  " under the spout."
+
+
+       .FUNCT  CLEFT-PSEUDO
+       EQUAL?  PRSA,V?CLIMB-FOO,V?CLIMB-UP \FALSE
+       CALL    DO-WALK,P?UP
+       RSTACK  
+
+
+       .FUNCT  RUBBLE-PSEUDO
+       EQUAL?  PRSA,V?MOVE \FALSE
+       CALL    PICK-ONE,YUKS
+       PRINT   STACK
+       CRLF    
+       RTRUE   
+
+
+       .FUNCT  PLAQUE-PSEUDO
+       EQUAL?  PRSA,V?EXAMINE,V?READ \FALSE
+       PRINTR  "
+SEENIK VISTA 
+Xis stuneeng vuu uf xee Kalamontee Valee kuvurz oovur fortee skwaar miilz uf xat faamus tuurist spot. Xee larj bildeeng at xee bend in xee Gulmaan Rivur iz xee formur pravincul kapitul bildeeng."
+
+
+       .FUNCT  FENCE-PSEUDO
+       EQUAL?  PRSA,V?LEAP,V?CLIMB-FOO,V?CLIMB-UP \FALSE
+       PRINTR  "You can't."
+
+
+       .FUNCT  LOCK-PSEUDO
+       EQUAL?  PRSA,V?UNLOCK,V?OPEN \FALSE
+       ZERO?   PRSI /?CCL6
+       PRINTR  "That won't unlock it."
+?CCL6: PRINTR  "But you don't have the orange key!"
+
+
+       .FUNCT  DIAGRAM-PSEUDO
+       EQUAL?  PRSA,V?READ \FALSE
+       PRINTR  "Not unless you've taken a special twelve-year course in ninth-order molecular physics."
+
+
+       .FUNCT  ENUNCIATOR-PSEUDO
+       EQUAL?  PRSA,V?MOVE,V?PUSH,V?LOOK-INSIDE \FALSE
+       CALL    PICK-ONE,YUKS
+       PRINT   STACK
+       RTRUE   
+
+
+       .FUNCT  NEAR-BOOTH-PSEUDO
+       EQUAL?  PRSA,V?DISEMBARK,V?EXIT,V?DROP \?CCL3
+       PRINTR  "You're not in the booth!"
+?CCL3: EQUAL?  PRSA,V?WALK-TO,V?BOARD,V?THROUGH \FALSE
+       CALL    DO-WALK,P?IN
+       RSTACK  
+
+
+       .FUNCT  IN-BOOTH-PSEUDO
+       EQUAL?  PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL3
+       PRINTR  "You're already in the booth!"
+?CCL3: EQUAL?  PRSA,V?DISEMBARK,V?EXIT,V?DROP \FALSE
+       CALL    DO-WALK,P?OUT
+       RSTACK  
+
+       .ENDI
index 9e95298726c01737209480505843307cd74bb1a8..d7ec81502cb76f45568066b22967b6f472eb0e5a 100644 (file)
@@ -25,7 +25,7 @@ contains the opening sequence which occurs prior to planetfall."
        (CONTFCN 0)
        (DESCFCN 0)
        (SIZE 0)
-       (PSEUDO "FOO")>
+       ;(PSEUDO "FOO")>
 
 ;"Yes, this synonym for LOCAL-GLOBALS needs to exist... sigh"
 
@@ -360,11 +360,6 @@ gotten 300 demerits." CR>)
                <TELL "That's difficult unless your eyes are prehensile."
                      CR>)>>
 
-;<GLOBAL DUMMY
-       <PLTABLE "Look around."
-               "You think it isn't?"
-               "I think you've already done that.">>
-
 <ROUTINE DDESC (DOOR)
         <COND (<FSET? .DOOR ,OPENBIT>
                <TELL "open">)
@@ -386,19 +381,11 @@ gotten 300 demerits." CR>)
 "You hit your head against the " D ,PRSO " as you attempt this feat." CR>)
              (.OBJ
               <TELL "You can't do that!" CR>)
-             (<IN? ,PRSO ,WINNER>
+             (<IN? ,PRSO ,ADVENTURER>
               <TELL "That would involve quite a contortion!" CR>)
              (T
               <TELL <PICK-ONE ,YUKS> CR>)>>
 
-;<ROUTINE ROOM? (OBJ "AUX" NOBJ)
-        <REPEAT ()
-                <SET NOBJ <LOC .OBJ>>
-                <COND (<NOT .NOBJ> <RFALSE>)
-                      (<==? .NOBJ ,WINNER> <RFALSE>)
-                      (<==? .NOBJ ,ROOMS> <RETURN .OBJ>)>
-                <SET OBJ .NOBJ>>>
-
 <ROUTINE FIND-IN (WHERE WHAT "AUX" W)
         <SET W <FIRST? .WHERE>>
         <COND (<NOT .W> <RFALSE>)>
@@ -406,13 +393,6 @@ gotten 300 demerits." CR>)
                 <COND (<FSET? .W .WHAT> <RETURN .W>)
                       (<NOT <SET W <NEXT? .W>>> <RETURN <>>)>>>
 
-;<ROUTINE FIND-ROOM (X)
-        <REPEAT ()
-                <COND (<NOT .X> ;"this can't happen, of course"
-                       <RETURN ,ROOMS>)
-                      (<IN? .X ,ROOMS> <RETURN .X>)>
-                <SET X <LOC .X>>>>
-
 ;"Stuff added for the NOT-HERE object"
 
 <OBJECT NOT-HERE-OBJECT
@@ -492,7 +472,7 @@ gotten 300 demerits." CR>)
        (T
        <BUFFER-PRINT <GET ,P-ITBL ,P-NC2> <GET ,P-ITBL ,P-NC2L> <>>)>>
 
-^L
+\f
 
 ;"Begin-game stuff aboard the Feinstein"
 
@@ -691,22 +671,7 @@ down, and to fore is the Hyperspatial Jump Machinery Room.")
       (WEST "Blather throws you to the deck and makes you do 20 push-ups.")
       (NORTH "Blather blocks your path, growling about extra galley duty.")
       (FLAGS RLANDBIT ONBIT)
-      (GLOBAL STAIRS)>
-
-;<OBJECT MEASLE
-       (DESC "Lt. Measle")
-       (LDESC
-"The Feinstein's record officer, Lieutenant Measle, is here.")
-       (SYNONYM MEASLE OFFICER)
-       (ADJECTIVE LT LIEUTENANT RECORD)
-       (FLAGS ACTORBIT)
-       (ACTION MEASLE-F)>
-
-;<ROUTINE MEASLE-F ()
-        <COND (<VERB? ATTACK KICK>
-               <TELL "Lt. Measle summons Ensign Blather, who throws
-you in the brig." CR>
-               <GOTO ,BRIG>)>> 
+      (GLOBAL STAIRS)> 
 
 <GLOBAL BLATHER-LEAVE 0>
 
@@ -775,7 +740,8 @@ demerits onto an oversized clipboard.")
        (ACTION BLATHER-F)>
 
 <ROUTINE BLATHER-F ()
-        <COND (<VERB? TALK TELL HELLO>         
+        <COND (<OR <VERB? TALK HELLO>
+                   <EQUAL? ,BLATHER ,WINNER>>          
                <TELL
 "Blather shouts \"Speak when you're spoken to, Ensign Seventh Class!\" He
 breaks three pencil points in a frenzied rush to give you more demerits." CR>
@@ -893,7 +859,8 @@ Buy one today. Better yet, buy a thousand.\"")>
         "offers you a bit of celery.">>
 
 <ROUTINE AMBASSADOR-F ()
-        <COND (<VERB? TALK TELL HELLO>
+        <COND (<OR <VERB? TALK HELLO>
+                   <EQUAL? ,AMBASSADOR ,WINNER>>
                <TELL
 "The ambassador taps his translator, and then touches his center knee to his
 left ear (the Blow'k-bibben-Gordoan equivalent of shrugging)." CR>
@@ -1208,13 +1175,13 @@ away. Bursts of light dot its hull. Suddenly, a huge explosion blows the
 Feinstein into tiny pieces, sending the escape pod tumbling away! " CR>
                       <ENABLE <QUEUE I-POD-TRIP -1>>
                       <DISABLE <INT I-BLOWUP-FEINSTEIN>>
-                      <COND (<AND <NOT <IN? ,WINNER ,SAFETY-WEB>>
+                      <COND (<AND <NOT <IN? ,ADVENTURER ,SAFETY-WEB>>
                                   <PROB 20>>
                              <JIGS-UP
 "|
 You are thrown against the bulkhead, head first. It seems that getting in
 the safety webbing would have been a good idea.">)
-                            (<NOT <IN? ,WINNER ,SAFETY-WEB>>
+                            (<NOT <IN? ,ADVENTURER ,SAFETY-WEB>>
                              <TELL CR
 "You are thrown against the bulkhead, bruising a few limbs. The safety
 webbing might have offered a bit more protection." CR>)>)>)
@@ -1340,7 +1307,7 @@ to be surrounded by sheer cliffs rising from the water, and is topped by
 a wide plateau. The plateau seems to be covered by a sprawling complex
 of buildings." CR>)
               (<EQUAL? ,TRIP-COUNTER 11>
-               <COND (<IN? ,WINNER ,SAFETY-WEB>
+               <COND (<IN? ,ADVENTURER ,SAFETY-WEB>
                       <MOVE ,FOOD-KIT ,HERE>
                       <MOVE ,TOWEL ,HERE>
                       <TELL CR
@@ -1384,7 +1351,7 @@ for you. Perhaps you should have left the pod a bit sooner.">)
 "|
 The pod splits open, and water pours in.">)>)>>
 
-^L
+\f
 "The next bunch of stuff is for the cards, slots, and associated junk."
 
 <OBJECT SLOT
@@ -1510,7 +1477,7 @@ nothing. He scratches his head and looks confused." CR>)>)>>
                <COND (<EQUAL? ,HERE ,MESS-HALL>
                       <TELL CR
 "The kitchen door slides quietly closed." CR>)>)>>
-^L
+\f
 
 ;"teleportation stuff"
 
@@ -1573,7 +1540,7 @@ nothing. He scratches his head and looks confused." CR>)>)>>
         <COND (<EQUAL? ,HERE ,BOOTH-1 ,BOOTH-2 ,BOOTH-3>
                <TELL CR "The ready light goes dark." CR>)>>
 
-^L
+\f
 
 ;"shuttle system"
 
@@ -2050,7 +2017,7 @@ condition to care.">)>
 <GLOBAL SIGN-PASS
 "You pass a sign, surrounded by blinking red lights, which says ">
 
-^L
+\f
 
 "To sleep, perchance to dream..."
 
@@ -2319,7 +2286,7 @@ sleeping on the floor,\" he says." CR>)>)>>
                <JIGS-UP
 "Unfortunately, you don't seem to have survived the night.">)>>
 
-^L
+\f
 
 "Feed me!"
 
@@ -2352,7 +2319,7 @@ You collapse from extreme thirst and hunger.">)>>
 
 <GLOBAL NOT-HUNGRY "Thanks, but you're not hungry.">
 
-^L
+\f
 
 "Sickness and disease"
 
diff --git a/misc.zabstr b/misc.zabstr
new file mode 100644 (file)
index 0000000..4d9e09f
--- /dev/null
@@ -0,0 +1,52 @@
+
+<SETG C-ENABLED? 0> 
+<SETG C-ENABLED 1> 
+<SETG C-DISABLED 0> 
+<DEFMAC VERB? ("TUPLE" ATMS "AUX" (O ()) (L ())) <REPEAT () <COND (<EMPTY? .
+ATMS> <RETURN <COND (<LENGTH? .O 1> <NTH .O 1>) (ELSE <FORM OR !.O>)>>)> <
+REPEAT () <COND (<EMPTY? .ATMS> <RETURN>)> <SET ATM <NTH .ATMS 1>> <SET L (<
+FORM GVAL <PARSE <STRING "V?" <SPNAME .ATM>>>> !.L)> <SET ATMS <REST .ATMS>> <
+COND (<==? <LENGTH .L> 3> <RETURN>)>> <SET O (<FORM EQUAL? ',PRSA !.L> !.O)> <
+SET L ()>>> 
+<DEFMAC RFATAL () '<PROG () <PUSH 2> <RSTACK>>> 
+<DEFMAC PROB ('BASE?) <FORM NOT <FORM L? .BASE? '<RANDOM 100>>>> 
+<DEFINE-ROUTINE PICK-ONE> 
+<DEFMAC ENABLE ('INT) <FORM PUT .INT ,C-ENABLED? 1>> 
+<DEFMAC DISABLE ('INT) <FORM PUT .INT ,C-ENABLED? 0>> 
+<DEFMAC OPENABLE? ('OBJ) <FORM OR <FORM FSET? .OBJ ',DOORBIT> <FORM FSET? .OBJ
+',CONTBIT>>> 
+<DEFMAC ABS ('NUM) <FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>) (T&nb