"COMPONE for PLANETFALL
(C) COPYRIGHT 1983 INFOCOM, INC. ALL RIGHTS RESERVED
This file contains all the rooms, objects, and actions associated
with Complex One / the Western Complex / the Kalamontee Compleks."
<ROOM UNDERWATER
(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>)
(DOWN TO UNDERWATER)
(WEST TO UNDERWATER)
(NORTH TO UNDERWATER)
(SOUTH TO UNDERWATER)
<GLOBAL DROWN 0>
<ROUTINE UNDERWATER-F (RARG)
<COND (<EQUAL? .RARG ,M-END>
"A mighty undertow drags you across some underwater obstructions.">)>)>>
<ROOM CRAG
(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>)
(VALUE 3)
<ROUTINE CRAG-F (RARG)
<ROOM BALCONY
(DESC "Balcony")
(C-MOVE <TABLE
0 0 25 30
0 0 0 0
0 0 0 0>)
<ROUTINE BALCONY-F (RARG)
<TELL
"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. ">
<TELL
"A rocky crag can be seen about eight meters below." CR>)
<TELL
"The ocean waters swirl below. The crag where you landed yesterday is
now underwater!" CR>)
<TELL
"Ocean waters are lapping at the base of the balcony." CR>)>)>>
<ROOM WINDING-STAIR
(DESC "Winding Stair")
(C-MOVE <TABLE
0 0 15 30
0 0 0 0
0 0 0 0>)
<ROUTINE WINDING-STAIR-F (RARG)
<TELL
"The middle of a long, steep stairway carved into the face of a cliff.">
<TELL
" You hear the lapping of water from below.">)
<TELL
" You can see ocean water splashing against the steps below you.">)>
<CRLF>)>>
<ROOM COURTYARD
(DESC "Courtyard")
(C-MOVE <TABLE
0 0 15 0
0 0 0 0
0 0 0 0>)
<ROUTINE COURTYARD-F (RARG)
<TELL
"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. ">
<TELL
"From the direction of the stairway comes the sound of ocean surf.">)
<TELL
"Ocean water washes against the top few steps.">)>
<CRLF>)>>
<ROUTINE WATER-LEVEL-F ()
<ROOM WEST-WING
(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>)
(DOWN "Certain death.")
<ROOM PLAIN-HALL
(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>)
<ROOM REC-AREA
(DESC "Rec Area")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
The correct combination for the COMBINATION-DIAL. The value is set after your first move; see I-RANDOM-INTERRUPTS.
Note that peeking at this value in the State tab won’t help you much! The TELEPORTATION-CARD is in the same place as the COMBINATION-PAPER clue. This must have been a guard against brute-force guessing; it serves equally well against Visible Zorker cheats.
<GLOBAL NUMBER-NEEDED 0>
<ROUTINE REC-AREA-F (RARG)
<TELL
"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 ">
<TELL "open">)
(T
<TELL
"closed and locked. A dial on the door is currently set to "
<TELL "." CR>)>>
<ROOM CONFERENCE-ROOM
(DESC "Conference Room")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
<ROUTINE CONFERENCE-ROOM-F (RARG)
<TELL
"This is a fairly square room, almost filled by a round conference table.
To the south is a door which is ">
<TELL
". To the north is a small room about the size of a phone booth." CR>)>>
<OBJECT CONFERENCE-DOOR
(DESC "door")
(SYNONYM DOOR)
<OBJECT COMBINATION-DIAL
(DESC "combination dial")
(SYNONYM DIAL)
(ADJECTIVE COMBINATION)
<ROUTINE COMBINATION-DIAL-F ()
<COND (<VERB? EXAMINE>
<TELL
"The dial can be turned to any number between 0 and 1000." CR>)
(<AND <VERB? SET>
<TELL
"The dial has somehow become fused and won't move." CR>)
<TELL "That's what the dial is set to now!" CR>)
<TELL
"The door swings open, and the dial resets to 0." CR>)
<TELL
"The dial cannot be turned to a number that high." CR>)
(T
<TELL "The dial is now set to " N ,P-NUMBER "." CR>)>)>>
<ROUTINE CONFERENCE-DOOR-F ()
<COND (<VERB? OPEN>
(T
<TELL
"The door is locked. You probably have to turn the dial to some number to
open it." CR>)
(T
<TELL
"The door seems to be locked from the other side." CR>)>)>)
(<VERB? CLOSE>
<TELL
"The door closes and you hear a click as it locks." CR>)
(T
<ROOM BOOTH-1
(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>)
<ROOM REC-CORRIDOR
(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>)
<ROOM DORM-A
(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>)
<ROOM SANFAC-A
(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>)
<ROOM DORM-B
(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>)
<ROOM SANFAC-B
(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>)
<ROOM DORM-C
(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>)
<ROOM SANFAC-C
(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>)
<ROOM DORM-D
(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>)
<ROOM SANFAC-D
(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>)
<ROOM MESS-CORRIDOR
(DESC "Mess Corridor")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
<ROUTINE MESS-CORRIDOR-F (RARG)
<TELL
"This is a wide, east-west hallway with a large portal to the south. A
small door to the north is ">
<TELL " and hooked with a simple steel padlock">
<TELL " which hangs unlocked">)
(T
<TELL " which is also closed">)>)>
<TELL "." CR>)>>
<OBJECT STORAGE-WEST-DOOR
(DESC "door")
(SYNONYM DOOR)
<ROUTINE STORAGE-WEST-DOOR-F ()
<COND (<VERB? OPEN>
<TELL "Opened." CR>)
(T
<TELL
"The door cannot be opened until the padlock is removed." CR>)>)
(<VERB? CLOSE>
<TELL "The door is now closed." CR>)
(T
(<VERB? UNLOCK>
<TELL "The door itself isn't locked.">
<TELL
" It is the padlock on the door which is locked.">)>
<TELL CR>)>>
<OBJECT PADLOCK
(DESC "padlock")
(SYNONYM PADLOCK PAD LOCK)
(ADJECTIVE SIMPLE STEEL METAL)
(SIZE 10)
<GLOBAL PADLOCK-REMOVED <>>
<ROUTINE PADLOCK-F ()
<TELL
"You can't see or reach the lock from inside the cell." CR>)
(<AND <VERB? OPEN-WITH>
<RTRUE>)
(<VERB? UNLOCK OPEN>
<TELL "You can't open it with your hands." CR>)
<TELL
"Tsk, tsk ... the padlock seems to be fused shut." CR>)
(T
<TELL "The padlock springs open." CR>)>)
(T
<TELL "That doesn't work." CR>)>)
(T
<TELL "The padlock is already unlocked." CR>)>)
(<VERB? CLOSE LOCK>
<TELL "The padlock closes with a sharp click." CR>)
(T
<TELL "The padlock is already locked." CR>)>)
(<AND <VERB? TAKE>
<RFALSE>)
<TELL "The padlock is locked to the door." CR>)>)
(<VERB? MUNG>
<TELL
"And, as we go into the next round, it's Padlock 1, Adventurer 0..." CR>)>>
<ROOM STORAGE-WEST
(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>)
(VALUE 4)
<OBJECT CAN
(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)
<ROUTINE CAN-F ()
<COND (<VERB? EXAMINE>
<TELL
"This is a rather normal tin can. It is large and is labelled \"Spam
and Egz.\"" CR>)
(<VERB? OPEN>
<TELL
"You certainly can't open it with your hands, and you don't seem to have
found a can opener yet." CR>)>>
<OBJECT LADDER
(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)
<GLOBAL LADDER-EXTENDED <>>
<GLOBAL LADDER-FLAG <>>
<ROUTINE LADDER-F ()
<COND (<VERB? TAKE>
<TELL
"You can't possibly carry the ladder while it's extended." CR>)>)
(<VERB? EXAMINE>
<TELL
"It is a heavy-duty ladder built of sturdy aluminum tubing. It is currently ">
<TELL
"extended to its full length of about 8 meters, but could be collapsed to
a shorter length for easier carrying." CR>)
(T
<TELL
"collapsed and is around two-and-a-half meters long, but if extended would
obviously be much longer." CR>)>)
(<VERB? OPEN>
<TELL "The ladder is already extended." CR>)
<TELL
"You can't extend the ladder in this tiny space!" CR>)
<TELL
"You couldn't possibly extend the ladder while you're holding it." CR>)
(T
<TELL
"The ladder extends to a length of around eight meters." CR>)>)
(<VERB? CLOSE>
<TELL
"As the ladder shortens it plunges into the rift." CR>)
(T
<TELL
"The ladder collapses to a length of around two-and-a-half meters." CR>)>)
(T
<TELL
"The ladder is already in its collapsed state." CR>)>)
(<AND <VERB? SPAN ATTRACT>
<TELL "The ladder already spans the rift." CR>)
(T
<TELL
"The ladder swings out across the rift and comes to rest on the far edge,
spanning the precipice." CR>)
(T
<TELL
"The ladder, far too short to reach the other edge of the rift, plunges into
the rift and is lost forever." CR>)>)>)
(<VERB? CLIMB-UP CLIMB-FOO>
<TELL "You can't climb a horizontal ladder!" CR>)
<TELL
"That would be a neat trick, considering that you're holding it." CR>)>)>>
<ROOM DORM-CORRIDOR
(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>)
<ROOM MESS-HALL
(DESC "Mess Hall")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
<ROUTINE MESS-HALL-F (RARG)
<TELL
"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 ">
<TELL ". Next to the door is a small slot." CR>)>>
<OBJECT KITCHEN-DOOR
(DESC "door")
(SYNONYM DOOR)
(ADJECTIVE KITCHEN)
<ROUTINE KITCHEN-DOOR-F ()
<COND (<VERB? OPEN>
<TELL
"A light flashes \"Pleez yuuz kitcin akses kard.\"" CR>)>>
<ROOM KITCHEN
(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>)
(VALUE 4)>
<OBJECT DISPENSER
(DESC "dispenser unit")
(SYNONYM UNIT NICHE MACHIN DISPEN)
(ADJECTIVE DISPEN)
<OBJECT CANTEEN
(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)
<ROUTINE DISPENSER-F ()
<COND (<VERB? EXAMINE>
<TELL
"This wall-mounted unit contains an octagonal niche beneath a spout. ">
<TELL
"A canteen is resting in the niche, its mouth lying just below the spout. ">)>
<TELL
"Above the spout is a button. The machine is labelled \"Hii Prooteen Likwid
Dispensur.\"" CR>)
(<VERB? CLOSE>
<RTRUE>)
(<VERB? PUT>
<TELL "The canteen fits snugly into the octagonal niche,
its mouth resting just below the spout of the machine." CR>)
(T
<TELL "It doesn't fit in the niche." CR>)>)>>
<OBJECT HIGH-PROTEIN
(DESC "quantity of protein-rich liquid")
(SYNONYM LIQUID FLUID FOOD QUANTITY)
(ADJECTIVE BROWN PROTEIN-RICH)
(SIZE 5)
<ROUTINE HIGH-PROTEIN-F ("AUX" (X <>))
<COND (<VERB? EAT>
(T
(T
<TELL
"Mmmm....that was good. It certainly quenched your thirst and satisfied your
hunger." CR>)>)>)
(<AND <VERB? POUR>
<TELL "Maybe if you were holding the canteen..." CR>
<RTRUE>)
<SET X T>)>
<COND (.X
<RTRUE>)
(T
<TELL
"The protein-rich fluid pours over the " D ,PRSI " and then dries up." CR>)>)>>
<ROUTINE WORTHLESS-ACTION ()
<TELL
"A worthless action -- and much too difficult for a poorly-written program
like this one to handle." CR>>
<ROOM CORRIDOR-JUNCTION
(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>)
<ROUTINE LONG-HALL-F ()
<TELL
"You walk down the long, featureless hallway for a long time. Finally,
you see ">
<TELL "some doorways ahead..." CR CR>
(T
<TELL "an intersection ahead..." CR CR>
<ROOM ADMIN-CORRIDOR-S
(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>)
<ROUTINE ADMIN-CORRIDOR-S-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-END>
<PROB 20>>
<TELL
"You catch, out of the corner of your eye, a glint of light from the direction
of the floor." CR>)>>
<OBJECT CREVICE
(DESC "crevice")
(SYNONYM CREVICE CRACK HOLE)
(ADJECTIVE NARROW JAGGED)
<ROUTINE CREVICE-F ()
<COND (<VERB? REACH>
<TELL "The crevice is too narrow to reach into." CR>)
(<VERB? LOOK-INSIDE EXAMINE SEARCH>
<TELL "Nothing there but bunches of dust." CR>)
(T
<TELL
"Lying at the bottom of the narrow crack, partly covered by layers of dust,
is a shiny steel key!" CR>)>)>>
<OBJECT KEY
(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)
<ROUTINE KEY-F ()
<COND (<AND <VERB? TAKE ZATTRACT MOVE>
<TELL
"These are heavy-duty pliers, too large to reach into this narrow crack." CR>)
<RTRUE>)
<TELL "Nice try." CR>)
(T
<TELL
"Either the crevice is too narrow, or your fingers are too large." CR>)>)
(<AND <VERB? PUT>
<TELL
"And you wonder why you're still only an Ensign Seventh Class?" CR>)>>
<ROOM ADMIN-CORRIDOR
(DESC "Admin Corridor")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
<ROUTINE ADMIN-CORRIDOR-F (RARG)
<TELL
"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. ">
<TELL "A metal ladder spans the rift. ">)>
<TELL
"A wide doorway, labelled \"Sistumz Moniturz,\" leads west." CR>)>>
<ROOM ADMIN-CORRIDOR-N
(DESC "Admin Corridor North")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
(VALUE 4)
<ROUTINE ADMIN-CORRIDOR-N-F (RARG)
<TELL
"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">
<TELL ", spanned by a metal ladder,">)>
<TELL
" separating this area from the rest of the building." CR>)>>
<ROUTINE LADDER-EXIT-F ()
<TELL
"You slowly make your way across the swaying ladder. You can see sharp,
pointy rocks at the bottom of the rift, far below..." CR CR>
(T
(T
<TELL "The rift is too wide to jump across." CR>
<RFALSE>)>>
<OBJECT RIFT
(DESC "rift")
(SYNONYM RIFT GULF PRECIPICE HOLE)
(ADJECTIVE WIDE DEEP GAPING)
<ROUTINE RIFT-F ()
<COND (<VERB? LEAP>
"You get a brief (but much closer) view of the sharp and nasty rocks at
the bottom of the rift.">)
(<AND <VERB? PUT>
<TELL
"You watch with tremendous satisfaction as the brush is lost forever." CR>)
(T
<TELL
"The " D, PRSO " sails gracefully into the rift." CR>)>)
(<VERB? EXAMINE LOOK-INSIDE>
<TELL
"The rift is at least eight meters wide and more than thirty meters deep. The
bottom is covered with sharp and nasty rocks." CR>)>>
<ROOM SANFAC-E
(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>)
<ROOM SYSTEMS-MONITORS
(DESC "Systems Monitors")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
<ROUTINE SYSTEMS-MONITORS-F (RARG)
<TELL
"This is a large room filled with tables full of strange equipment. ">
<ROUTINE DESCRIBE-MONITORS ()
<TELL
"The far wall is filled with a number of monitors. Of these,
the ones labelled ">
<TELL "PLANATEREE DEFENS, ">)>
<TELL "PLANATEREE KORS KUNTROOL, ">)>
<TELL "KUMUUNIKAASHUNZ, ">)>
<TELL
"LIIBREREE, REEAKTURZ, and LIIF SUPORT are green, but the one">
<TELL "s">)>
<TELL " labelled ">
<TELL "PLANATEREE DEFENS, ">)>
<TELL "PLANATEREE KORS KUNTROOL, ">)>
<TELL "KUMUUNIKAASHUNZ, ">)>
<TELL "and ">)>
<TELL "PRAJEKT KUNTROOL indicate">
<TELL "s">)>
<TELL " a malfunctioning condition." CR>>
<ROOM PLAN-ROOM
(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>)
<ROOM TRANSPORTATION-SUPPLY
(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>)
(NORTH TO TRANSPORTATION-SUPPLY)
(EAST TO TRANSPORTATION-SUPPLY)
(WEST TO TRANSPORTATION-SUPPLY)
<ROOM SMALL-OFFICE
(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>)
<OBJECT SMALL-DESK
(DESC "small desk")
(SYNONYM DESK DRAWER)
(ADJECTIVE SMALL)
(CAPACITY 10)
<OBJECT KITCHEN-CARD
(DESC "kitchen access card")
(SYNONYM CARD CARDS)
(ADJECTIVE KITCHEN ACCESS)
(SIZE 3)
(TEXT "The card is embossed \"kitcin akses kard.\"")
(VALUE 1)>
<OBJECT UPPER-ELEVATOR-CARD
(DESC "upper elevator access card")
(SYNONYM CARD CARDS)
(ADJECTIVE UPPER ELEVATOR ACCESS)
(SIZE 3)
(TEXT "The card is embossed \"upur elivaatur akses kard.\"")
(VALUE 1)>
<OBJECT SHUTTLE-CARD
(DESC "shuttle access card")
(SYNONYM CARD CARDS)
(ADJECTIVE SHUTTL ACCESS)
(SIZE 3)
(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)
(TEXT "The card is embossed \"loowur elivaatur akses kard.\"")
(VALUE 1)>
<ROOM LARGE-OFFICE
(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>)
<OBJECT LARGE-DESK
(DESC "large desk")
(SYNONYM DESK DRAWER)
(ADJECTIVE LARGE WIDE WOODEN)
(CAPACITY 20)
<ROUTINE DESK-F ()
<COND (<VERB? SEARCH EXAMINE>
<TELL "The desk has a drawer which is currently ">
<TELL "." CR>)>>
<ROOM MECH-CORRIDOR-N
(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>)
<ROOM MECH-CORRIDOR
(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>)
<ROOM MECH-CORRIDOR-S
(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>)
<ROOM STORAGE-EAST
(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>)
<OBJECT OIL-CAN
(DESC "oil can")
(FDESC
"One dusty shelf, otherwise bare, holds a small oil can.")
(SYNONYM CAN)
(ADJECTIVE SMALL OIL)
(SIZE 10)
<ROUTINE OIL-CAN-F ()
<COND (<VERB? POUR>
<RTRUE>)
(<VERB? EMPTY>
<TELL
"Pretty much impossible -- you could only do that one drop at a time." CR>)>>
<OBJECT CARTON
(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)
<ROUTINE CARTON-F ()
<COND (<VERB? CLOSE>
<RTRUE>)>>
<OBJECT CRACKED-BOARD
(DESC "cracked seventeen-centimeter fromitz board")
(SYNONYM BOARD BOARDS)
(ADJECTIVE CRACKED SEVENTEEN CENTIMETER FROMITZ)
(SIZE 10)
<ROUTINE CRACKED-BOARD-F ()
<COND (<VERB? EXAMINE>
<TELL " This one looks as though it's been dropped." CR>)>>
<OBJECT MEGAFUSE-B
(DESC "B-series megafuse")
(SYNONYM FUSE MEGAFUSE)
(ADJECTIVE B-SERIES B SERIES MEGA)
(SIZE 5)
<OBJECT MEGAFUSE-K
(DESC "K-series megafuse")
(SYNONYM FUSE MEGAFUSE)
(ADJECTIVE K-SERIES K SERIES MEGA)
(SIZE 5)
<OBJECT GOOD-BEDISTOR
(DESC "good ninety-ohm bedistor")
(SYNONYM BEDISTOR)
(ADJECTIVE GOOD NINETY OHM)
(SIZE 8)
<ROUTINE GOOD-BEDISTOR-F ()
<COND (<AND <VERB? TAKE>
"Kerzap!! You should know better than to touch an active bedistor!">)>>
<ROOM PHYSICAL-PLANT
(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>)
<ROOM REACTOR-CONTROL
(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>)
<ROOM REACTOR-ACCESS-STAIRS
(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)
<OBJECT REACTOR-ELEVATOR-DOOR
(DESC "reactor elevator door")
(SYNONYM DOOR)
(ADJECTIVE REACTOR ELEVATOR)
<ROUTINE REACTOR-ELEVATOR-DOOR-F ()
<COND (<VERB? OPEN CLOSE>
<TELL "It won't budge." CR>)>>
<ROUTINE I-REACTOR-DOOR-CLOSE ()
<ENABLE <QUEUE I-REACTOR-DOOR-CLOSE -1>>
<TELL CR "The elevator door slides shut." CR>)>
<DISABLE <INT I-REACTOR-DOOR-CLOSE>>)>>
<ROOM REACTOR-ELEVATOR
(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>)
<ROOM TOOL-ROOM
(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>)
<OBJECT FLASK
(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)
<ROUTINE FLASK-F ()
<COND (<VERB? EXAMINE>
<TELL
"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">
<TELL ", and is filled with a milky white fluid">)>
<TELL "." CR>)
(<VERB? CLOSE>
<RTRUE>)
(<AND <VERB? EMPTY>
<RTRUE>)>>
<OBJECT MAGNET
(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)
<ROUTINE MAGNET-F ()
<COND (<VERB? TAKE>
<RFALSE>)
(<VERB? ATTRACT PUT-ON>
<TELL
"The key jumps against the ends of the magnet and sticks there. Proud of your
feat, you remove the key from the magnet." CR>)
<TELL
"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." CR>)>)>>
<ROUTINE I-MAGNET ()
(T
<DISABLE <INT I-MAGNET>>)>
<RFALSE>>
<OBJECT PLIERS
(DESC "pair of wide-nosed pliers")
(SYNONYM PAIR PLIERS)
(ADJECTIVE WIDE-NOSED WIDE NOSED)
(SIZE 15)
<ROOM MACHINE-SHOP
(DESC "Machine Shop")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
<ROUTINE MACHINE-SHOP-F (RARG)
<TELL
"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. ">
<TELL
"Sitting under the spout is ">
<TELL "an ">)
(T
<TELL "a ">)>
<TELL
"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.\"" CR>)
(<AND <EQUAL? .RARG ,M-END>
<PROB 15>>
<TELL
"Floyd pushes one of the dispenser buttons. Fluid pours from the spout and
splashes across the floor. Floyd jumps up and down, giggling." CR>)>>
A commented-out digging machine. A part for it (also commented out) would have been found in the LAB-UNIFORM, so this was probably a discarded puzzle idea.
<OBJECT CHEMICAL-DISPENSER
(DESC "chemical dispenser")
(SYNONYM DISPEN MACHIN)
(ADJECTIVE DISPEN LARGE CHEMICAL)
<GLOBAL SPOUT-PLACED <>>
<ROUTINE CHEMICAL-DISPENSER-F ()
<COND (<AND <VERB? PUT-UNDER>
<TELL
"The " D ,PRSO " is now sitting under the spout." CR>
(T
<TELL
"The " D ,SPOUT-PLACED " is already resting under the spout." CR>)>)>>
<OBJECT RED-BUTTON
(DESC "red button")
(SYNONYM BUTTON)
(ADJECTIVE RED)
(C-MOVE 1)
<OBJECT BLUE-BUTTON
(DESC "blue button")
(SYNONYM BUTTON)
(ADJECTIVE BLUE)
(C-MOVE 2)
<OBJECT GREEN-BUTTON
(DESC "green button")
(SYNONYM BUTTON)
(ADJECTIVE GREEN)
(C-MOVE 3)
<OBJECT YELLOW-BUTTON
(DESC "yellow button")
(SYNONYM BUTTON)
(ADJECTIVE YELLOW)
(C-MOVE 4)
<OBJECT GRAY-BUTTON
(DESC "gray button")
(SYNONYM BUTTON)
(ADJECTIVE GRAY GREY)
(C-MOVE 5)
<OBJECT BROWN-BUTTON
(DESC "brown button")
(SYNONYM BUTTON)
(ADJECTIVE BROWN)
(C-MOVE 6)
<OBJECT BLACK-BUTTON
(DESC "black button")
(SYNONYM BUTTON)
(ADJECTIVE BLACK)
(C-MOVE 7)
<OBJECT ROUND-WHITE-BUTTON
(DESC "round white button")
(SYNONYM BUTTON)
(ADJECTIVE WHITE ROUND)
(C-MOVE 8)
<OBJECT SQUARE-WHITE-BUTTON
(DESC "square white button")
(SYNONYM BUTTON)
(ADJECTIVE SQUARE WHITE)
(C-MOVE 9)
<GLOBAL CHEMICAL-FLAG 0>
<GLOBAL COLOR-LTBL
<PLTABLE
"red"
"blue"
"green"
"yellow"
"gray"
"brown"
"black"
"clear"
"clear">>
<ROUTINE CHEM-BUTTON-F ()
<COND (<VERB? PUSH>
<TELL
"The machine coughs a few times, but nothing else happens." CR>)
<TELL
"Another dose of the chemical fluid pours out of the spout, splashes over
the already-full flask, spills onto the floor, and dries up." CR>)
(T
<TELL "The flask fills with some ">
<TELL
" chemical fluid. The fluid gradually turns milky white." CR>)>)
<TELL
"Chemical fluid gushes from the spout. Unfortunately, the mouth of the canteen
is very narrow, and the fluid just splashes over it." CR>)
(T
<TELL
"Some sort of chemical fluid pours out of the spout, spills all over the "
<RTRUE>)>
<RTRUE>)>)>>
<ROOM ROBOT-SHOP
(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>)
<OBJECT FLOYD
(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)
(CAPACITY 5)
<GLOBAL CARD-STOLEN <>>
<ROUTINE FLOYD-F ("AUX" X N)
<COND (<AND <VERB? GIVE>
<RTRUE>)
(<AND <VERB? SGIVE>
<RTRUE>)
(<VERB? WALK>
<TELL"\"After you.\"" CR>)
(T
<TELL
"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?\"" CR>)>
<RFATAL>)>
<RTRUE>)
(<VERB? THROUGH>
<COND (<FLUSH> <RFATAL>)>
<RTRUE>)
(<AND <VERB? TAKE>
<TELL
"Floyd looks half-bored and half-annoyed. ""Floyd already did that.
How about some leap-frogger?\"" CR>)
<TELL
"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." CR>)
(T
<TELL
"\"Huh?\" asks Floyd. \"What fromitz board?\"" CR>)>)
(<AND <VERB? FOLLOW>
<TELL "\"Okay!\"" CR>)
(<VERB? HELLO>
<RTRUE>)
(<VERB? DROP>
<COND (<PROB 50>
<TELL
"Floyd shrugs and drops the " D ,PRSO "." CR>)
(T
<TELL
"Floyd clutches the " D ,PRSO " even more tightly. \"Floyd won't,\" he says
defiantly." CR>)>)
(T
(T
<TELL
"Floyd whines, \"Enough talking! Let's play Hider-and-Seeker.\"" CR>
<RFATAL>)>)
(<VERB? CLOSE>
<TELL "Huh?" CR>)
(<VERB? LOOK-INSIDE REACH>
<RTRUE>)
<COND (<VERB? LAMP-ON>
<TELL "He's already been activated." CR>)
(<VERB? LAMP-OFF>
<TELL
"Floyd, shocked by this betrayal from his new-found friend, whimpers
and keels over">
<TELL
", dropping what he was carrying." CR>)
(T
<TELL "." CR>)>
<REPEAT ()
<COND (.X
<SET N <NEXT? .X>>
<SET X .N>)
(T
<RETURN>)>>)
(<VERB? EXAMINE>
<TELL
"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." CR>)
(<VERB? KISS>
<TELL
"You receive a painful electric shock." CR>)
(<VERB? SCOLD>
<TELL
"Floyd looks defensive. \"What did Floyd do wrong?\"" CR>)
(<VERB? PLAY-WITH>
<TELL
"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!\"" CR>)
(<VERB? LISTEN>
<TELL "Floyd is babbling about this and that." CR>)
(<AND <VERB? TAKE>
<TELL
"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." CR>)
(<VERB? ATTACK MUNG>
<TELL
"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!\""CR>)
(<VERB? KICK SHAKE>
<TELL
"\"Why you do that?\" Floyd whines. \"I think a wire now shaken loose.\"
He goes off into a corner and sulks." CR>)
(<VERB? HELLO TALK>
<TELL
"\"Hi!\" Floyd grins and bounces up and down." CR>)
(<VERB? SEARCH SCRUB OPEN>
<TELL
"Floyd giggles and pushes you away. \"You're tickling Floyd!\" He clutches at
his side panels, laughing hysterically. Oil drops stream from his eyes." CR>)
(<AND <VERB? GIVE PUT>
<TELL
"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." CR>)
<TELL
"Floyd looks at the goo. \"Yech! Got any Number Seven Heavy Grease?\"" CR>)
<PROB 25>>
<TELL
"Floyd examines the " D, PRSO ", shrugs, and drops ">
<TELL "them." CR>)
(T
<TELL "it." CR>)>)
(T
<TELL
"\"Neat!\" exclaims Floyd. He thanks you profusely." CR>)>)
(<AND <VERB? SHOW>
<TELL
"\"Too intellectual for Floyd. Any paddleball sets around?\"" CR>)
<TELL
"Floyd scratches his head. \"Aren't those things usually blue?\"" CR>)
<TELL
"\"I've got one just like that!\" says Floyd. He looks through several
of his compartments, then glances at you suspiciously." CR>)
(T
<TELL
"Floyd looks over the " D, PRSO ". \"Can you play any games with it?\"
he asks." CR>)>)
(<VERB? RUB>
<TELL "Floyd gives a contented sigh." CR>)
(<VERB? SMELL>
<TELL
"Floyd smells faintly of ozone and light machine oil." CR>)
(<VERB? ASK-FOR>
<TELL
"\"Okay,\" says Floyd, handing you the " D, PRSI ", \"but only
because you're Floyd's best friend.\"" CR>)
(T
(T
<COND (<VERB? LAMP-ON>
(T
<TELL "Nothing happens." CR>
<RTRUE>)>)
(<VERB? LAMP-OFF>
<TELL "The robot doesn't seem to be on." CR>)
(<VERB? EXAMINE>
<TELL
"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." CR>)
(<VERB? SEARCH OPEN>
<TELL
"In one of the robot's compartments you find and take a magnetic-striped card
embossed \"Loowur Elavaatur Akses Kard.\"" CR>)
(T
<TELL
"Your search discovers nothing in the robot's compartments except a
single crayon which you leave where you found it." CR>)>)>)>>
<ROUTINE FLOYDS-FAMOUS-DOOR-ROUTINE ()
<TELL "\"You go first,\" says Floyd." CR>)
(T
<TELL "Floyd scratches his head and looks at you." CR>)>>
<ROUTINE FLUSH ()
<TELL CR
"Floyd scratches his head and looks at you. \"What else were you saying to
Floyd? I can't remember.\"" CR>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE FLOYD-INTO-LAB ()
<TELL "\"As soon as you open the door, dummy.\"" CR>)
(T
<TELL
"\"Are you kidding? Floyd not going in THERE without a good reason.\"" CR>)>>
<ROUTINE FLOYD-NOT-HAVE ()
<TELL "\"Floyd does not one of those have!\"" CR>>
<GLOBAL FLOYD-SCORE-FLAG <>>
<GLOBAL FLOYD-SPOKE <>>
<GLOBAL FLOYD-FOLLOW <>>
<GLOBAL FLOYD-REACTIVATED <>>
<GLOBAL FLOYD-INTRODUCED <>>
<ROUTINE FLOYD-COMES-ALIVE ("AUX" FOO)
<TELL
"Floyd jumps to his feet, hopping mad. \"Why you turn Floyd off?\" he
asks accusingly." CR>)
(T
<TELL
"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? ">
<TELL
"That's a nice " D .FOO " you are having there. ">)>
<TELL
"Let's play Hider-and-Seeker you with me.\"" CR>)>)>
The general handler for Floyd following you around and doing stuff. It usually runs every turn when Floyd is active (has RLANDBIT), but it’s given a short delay the first time you turn him on (see here.) It’s also sometimes given a delay if Floyd wants some alone time.
<ROUTINE I-FLOYD ()
<ENABLE <QUEUE I-FLOYD -1>>
<CRLF>
<TELL CR
"The robot, now apparently active, notices you enter. \"Hi,\"
he says. \"I'm Floyd!\"" CR>)
<PROB 6>>
<TELL CR
"Floyd says \"Floyd going exploring. See you later.\"
He glides out of the room." CR>)
(T
<COND (<AND <PROB 40>
<TELL "Floyd ">
<TELL "." CR>
<RTRUE>)>)>)
(T
<TELL CR
"Floyd starts to follow you but notices the Lazarus breast plate.
He sniffs and leaves the room." CR>
<RTRUE>)>
<TELL "Floyd follows you." CR>
(T
<CRLF>
<RTRUE>)>
<TELL CR
"Floyd scampers into the booth. \"Oooo,
this is a tiny room,\" he remarks." CR>)
(<OR
<CRLF>
<RTRUE>)>
<TELL CR
This was a somewhat obscure reference even in the 1980s. The first human-built nuclear reactor was an experiment in a disused squash court beneath the University of Chicago.
"Floyd glides after you. \"Is this...is this a squash court?\" he asks." CR>)
<CRLF>
<RTRUE>)>
<TELL CR "Floyd bounces into the ">
<TELL "elevator">)
<TELL "room">)
(T
<TELL "cabin">)>
<TELL
". \"Hey, wait for Floyd!\" he yells, smiling broadly." CR>)
<CRLF>
<RTRUE>)>
<TELL CR
"\"Hi,\" whispers Floyd, tiptoeing in. \"Are we going to teleport into
the computer like Achilles always used to do?\"" CR>)
(<PROB 30>
<RFALSE>)>
<COND (<AND <PROB 15>
<TELL CR
"Floyd rushes into the room and barrels into you. \"Oops, sorry,\" he says.
\"Floyd not looking at where he was going to.\"" CR>)
(T
<TELL CR
"Floyd bounds into the room. \"Floyd here now!\" he cries." CR>)>
(T
<CRLF>
<ROUTINE CALL-ME-FLOYD ()
<TELL
"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?\"" CR>>
This is called when Floyd follows you into a new room. It handles a couple of one-time location responses.
<ROUTINE KLUDGE ()
<TELL
"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.\"" CR>)
<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)
<ROUTINE DEAD-FLOYD-F ()
<COND (<VERB? EXAMINE>
<TELL
"You turn to look at Floyd, but a tremendous sense of loss overcomes you, and
you turn away." CR>)
(<VERB? LAMP-ON>
<TELL
"As you touch Floyd's on-off switch, it falls off in your hands." CR>)
(<VERB? LAMP-OFF>
<TELL
"I'm afraid that Floyd has already been turned off, permanently, and gone to
that great robot shop in the sky." CR>)>>
<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">>
^L
department
<ROOM ELEVATOR-LOBBY
(DESC "Elevator Lobby")
(C-MOVE <TABLE
0 0 0 0
0 30 0 0
0 0 0 0>)
<ROUTINE ELEVATOR-LOBBY-F (RARG)
<TELL
"This is a wide, brightly lit lobby. A blue metal door to the north is ">
<TELL "open">)
(T
<TELL "closed">)>
<TELL
" and a larger red metal door to the south is ">
<TELL "also ">)>
<TELL "open">)
(T
<TELL "also ">)>
<TELL "closed">)>
<TELL
". 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." CR>)>>
<ROOM UPPER-ELEVATOR
(DESC "Upper Elevator")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
(UP "You'll have to use the elevator controls.")
(DOWN "You'll have to use the elevator controls.")
<ROUTINE UPPER-ELEVATOR-F (RARG)
<TELL
"You have entered a tiny room with a sliding door to the south which is ">
<TELL
". A control panel contains an Up button, a Down button, and a
narrow slot." CR>)
(<AND <EQUAL? .RARG ,M-END>
<PROB 10>>
<TELL
"Some innocuous Hawaiian music oozes from the elevator's intercom." CR>)>>
<ROOM LOWER-ELEVATOR
(DESC "Lower Elevator")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
(UP "You'll have to use the elevator controls.")
(DOWN "You'll have to use the elevator controls.")
<ROUTINE LOWER-ELEVATOR-F (RARG)
<TELL
"This is a medium-sized room with a door to the north which is ">
<TELL
". A control panel contains an Up button, a Down button, and
a narrow slot." CR>)>>
<ROUTINE ELEVATOR-ENTER-F ()
(T
<RFALSE>)>)
(T
<RFALSE>)>)>>
<ROUTINE ELEVATOR-EXIT-F ()
(T
(T
<RFALSE>)>)
(T
(T
<RFALSE>)>)>>
<OBJECT UPPER-ELEVATOR-DOOR
(DESC "blue door")
(SYNONYM DOOR)
(ADJECTIVE UPPER ELEVATOR BLUE)
<ROUTINE UPPER-ELEVATOR-DOOR-F ()
<COND (<VERB? OPEN>
(T
<TELL "It won't budge." CR>)>)
(<VERB? CLOSE>
<TELL "You can't close it yourself." CR>)
(T
<OBJECT LOWER-ELEVATOR-DOOR
(DESC "red door")
(SYNONYM DOOR)
(ADJECTIVE RED LOWER ELEVATOR)
<ROUTINE LOWER-ELEVATOR-DOOR-F ()
<COND (<VERB? OPEN>
(T
<TELL "It won't budge." CR>)>)
(<VERB? CLOSE>
<TELL "You can't close it yourself." CR>)
<TELL "You can't close it yourself." CR>)
(T
<ROUTINE DOOR-CLOSED ()
<TELL "The door is closed." CR>>
<OBJECT BLUE-ELEVATOR-BUTTON
(DESC "blue button")
(SYNONYM BUTTON)
(ADJECTIVE BLUE NORTH)
<OBJECT RED-ELEVATOR-BUTTON
(DESC "red button")
(SYNONYM BUTTON)
(ADJECTIVE RED SOUTH)
<ROUTINE BLUE-ELEVATOR-BUTTON-F ()
<COND (<AND <VERB? PUSH>
<TELL "Patience, patience..." CR>)
(T
<TELL
"You hear a faint whirring noise from behind the blue door." CR>)>)>>
<ROUTINE RED-ELEVATOR-BUTTON-F ()
<COND (<AND <VERB? PUSH>
<TELL "Patience, patience..." CR>)
(T
<TELL "The red door begins vibrating a bit." CR>)>)>>
<ROUTINE I-UPPER-ELEVATOR-ARRIVE ()
<DISABLE <INT I-UPPER-ELEVATOR-ARRIVE>>
<TELL CR
"The door at the north end of the room slides open." CR>)
(T
<RFALSE>)>>
<ROUTINE I-LOWER-ELEVATOR-ARRIVE ()
<DISABLE <INT I-LOWER-ELEVATOR-ARRIVE>>
<TELL CR
"The door at the south end of the room slides open." CR>)
(T
<RFALSE>)>>
<OBJECT ELEVATOR-BUTTON
(DESC "button")
(SYNONYM BUTTON)
<GLOBAL LOWER-ELEVATOR-UP <>>
<GLOBAL UPPER-ELEVATOR-UP T>
<GLOBAL ELEVATOR-IN-TRANSIT <>>
<GLOBAL LOWER-ELEVATOR-ON <>>
<GLOBAL UPPER-ELEVATOR-ON <>>
<ROUTINE ELEVATOR-BUTTON-F ()
<COND (<VERB? PUSH-UP>
(T
<TELL "Nothing happens." CR>)>)
(<VERB? PUSH-DOWN>
(T
<TELL "Nothing happens." CR>)>)
(<VERB? PUSH>
<TELL
"You must specify whether you want to push the Up button or
the Down button." CR>)>>
<ROUTINE I-TURNOFF-UPPER-ELEVATOR ()
<ENABLE <QUEUE I-TURNOFF-UPPER-ELEVATOR 120>>)
(T
<RFALSE>>
<ROUTINE I-TURNOFF-LOWER-ELEVATOR ()
<ENABLE <QUEUE I-TURNOFF-LOWER-ELEVATOR 120>>)
(T
<RFALSE>>
<GLOBAL ELEVATOR-LIGHT-OFF "A recording says \"Elevator no longer enabled.\"">
<GLOBAL ELEVATOR-STARTS
"The elevator door slides shut. After a moment, you feel a sensation of
vertical movement.">
<ROUTINE I-UPPER-ELEVATOR-TRIP ()
<CRLF>
(T
<CRLF>
<ROUTINE I-LOWER-ELEVATOR-TRIP ()
<CRLF>
(T
<CRLF>
<ROUTINE ELEVATOR-DOOR-OPENS ()
<TELL "The elevator door slides open." CR>>
<ROOM BOOTH-2
(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>)
<ROOM TOWER-CORE
(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>)
(VALUE 4)
<ROOM HELIPAD
(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>)
(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.")
<OBJECT HELICOPTER-OBJECT
(DESC "large vehicle")
(SYNONYM VEHICLE HELICOPTER)
(ADJECTIVE LARGE)
<ROUTINE HELICOPTER-OBJECT-F ()
<COND (<VERB? THROUGH BOARD WALK-TO>
(T
<TELL "You're in it!" CR>)>)
(<VERB? EXIT DROP DISEMBARK>
(T
<TELL "You're not in it!" CR>)>)
(<VERB? FLY>
<TELL "The controls seem to be locked." CR>)
(T
<TELL "You're not even in it!" CR>)>)>>
<ROOM HELICOPTER
(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>)
<ROOM COMM-ROOM
(DESC "Comm Room")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
<ROUTINE COMM-ROOM-F (RARG)
<TELL
"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 ">
<TELL "\"Tranzmishun in pragres.\"">)
(T
<TELL "\"Malfunkshun in Sendeeng Kuulint Sistum.\"">)>
<TELL " Next to this console is an enunciator">
<TELL " whose lights are all dark">)>
<TELL
". On the console next to the enunciator panel is a funnel-shaped hole
labelled \"Kuulint Sistum Manyuuwul Oovuriid.\"" CR>)
(<AND <EQUAL? .RARG ,M-END>
<TELL "A ">
<TELL "red">)
<TELL "blue">)
<TELL "green">)
<TELL "yellow">)
<TELL "gray">)
<TELL "brown">)
<TELL "black">)>
<TELL
" colored light is flashing on the enunciator panel." CR>)>>
<GLOBAL JUST-ENTERED T>
<ROUTINE I-UNENTER ()
<DISABLE <INT I-UNENTER>>)>
<RFALSE>>
<OBJECT RECEIVE-CONSOLE
(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)
<OBJECT PLAYBACK-BUTTON
(DESC "glowing button")
(SYNONYM BUTTON)
(ADJECTIVE GLOWIN PLAYBA)
<ROUTINE PLAYBACK-BUTTON-F ()
<COND (<VERB? PUSH>
<TELL
"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." CR>)>>
<OBJECT SEND-CONSOLE
(DESC "communication send console")
(SYNONYM CONSOLE CONTRO)
(ADJECTIVE COMMUNICATIONS SEND RIGHT SECOND)
<OBJECT COMM-SCREEN
(DESC "screen")
(SYNONYM COMMUNICATIONS MESSAGE SCREEN)
(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
(DESC "funnel-shaped hole")
(SYNONYM HOLE)
(ADJECTIVE FUNNEL SHAPED)
<OBJECT CHEMICAL-FLUID
(DESC "quantity of chemical fluid")
(SYNONYM QUANTITY LIQUID FLUID CHEMICAL)
(ADJECTIVE MILKY WHITE CHEMICAL)
<ROUTINE RANDOMIZE-ORDER ("AUX" (COUNT 0) TEMP)
<REPEAT ()
<COND (<G? <SET COUNT <+ .COUNT 1>> 7>
<RETURN>)
(T
<SET COUNT 0>
<REPEAT ()
<COND (<G? <SET COUNT <+ .COUNT 1>> 7>
<RETURN>)
(T
<SET TEMP <RANDOM 7>>
<SET COUNT <- .COUNT 1>>)
(T
<GLOBAL ORDER-LTBL
<LTABLE 0 0 0 0 0 0 0>>
<ROUTINE CHEMICAL-FLUID-F ()
<COND (<VERB? EAT>
"Mmmmm....that tasted just like delicious poisonous chemicals!">)
(<AND <VERB? PUT>
<RTRUE>)
(<AND <VERB? THROW POUR>
<TELL "You're not holding the flask." CR>
<RTRUE>)>
<TELL
"The mutants lap up the chemical, howling with delight. One immediately
grows three new mouths." CR>)
(<VERB? PUT POUR>
<TELL "You're not holding the flask." CR>
<RTRUE>)
<RTRUE>)>
<TELL
"The liquid disappears into the hole. The lights on the enunciator
panel blink rapidly ">
<TELL
"and then go dark. The coolant system warning light goes off, and another
flashes, indicating that the help message is now being sent." CR>)
(T
<TELL "and all go off except one, a ">
<TELL "red">)
<TELL "blue">)
<TELL "green">)
<TELL "yellow">)
<TELL "gray">)
<TELL "brown">)
<TELL "black">)>
<TELL " light." CR>)>)
(T
<TELL
"An alarm sounds briefly, and a sign flashes ">
<TELL
" A moment later, the lights in the room dim and the send
console shuts down." CR>)>)
<TELL
"The " D ,PRSI " dissolves right before your eyes!">
<CRLF>
<RTRUE>)
<TELL
"A puff of smoke rises from the crevice." CR>)
(T
<TELL
"Although the chemical has no effect on the crevice, it does seem to have
dissolved the key that was lying in it." CR>)>
"Unfortunately, those two liquids seem to react quite violently with each
other. The resulting exothermic reaction might have been interesting to
watch from a distance of, say, several hundred feet.">)
"Have you always had this desire to see melting flesh?">)
<TELL
"Floyd yelps. \"Hey, cut it out! That stuff burns!\"" CR>)
<TELL "The microbe writhes in pain. ">
<TELL
"The " D ,PRSI " seems to undergo some damage as a result of your action." CR>
<TELL
"The bedistor also happens to dissolve." CR>)>
<RTRUE>)
(T
(T
<ROUTINE CUBE-SEEMS ()
<TELL
" Unfortunately, the cube seems to undergo some damage as well.">>
<ROUTINE CHEMICAL-POURS ()
<TELL
"The chemical pours all over the " D ,PRSI ", making quite a mess." CR>>
<ROUTINE STRIP-DISSOLVES ()
"The chemical drips all over the silicon strip, which immediately begins to
dissolve. As it does so, you plunge into the void below.">>
<GLOBAL COMM-SHUTDOWN <>>
<ROUTINE SHUTDOWN ()
<TELL
"\"Kuulint Sistum Imbalins Kritikul -- Shuteeng Down Awl Sistumz.\"">>
<ROUTINE COMM-SETUP ()
<GLOBAL COMM-FIXED <>>
<GLOBAL CHEMICAL-REQUIRED 0>
<GLOBAL STEPS-TO-GO 0>
<ROOM OBSERVATION-DECK
(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>)
<ROOM WAITING-AREA
(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>)
<ROUTINE OTHER-ELEVATOR-ENTER-F ()
(T
<RFALSE>)>>
<ROOM KALAMONTEE-PLATFORM
(DESC "Kalamontee Platform")
(C-MOVE <TABLE
0 0 0 0
0 0 0 0
0 0 0 0>)
(VALUE 4)
<ROUTINE KALAMONTEE-PLATFORM-F (RARG)
<TELL
"This is a wide, flat strip of concrete which continues westward. ">
<TELL
"Open shuttle cars lie on the north and south sides of the platform. ">)
<TELL
"An open shuttle car lies to the north. ">)
<TELL
"A large transport of some sort lies to the south, its open door
beckoning you to enter. ">)>
<TELL "A faded sign on the wall reads \"Shutul Platform --
Kalamontee Staashun.\"" CR>)>>