3059 lines
72 KiB
Plaintext
3059 lines
72 KiB
Plaintext
;"***************************************************************************"
|
|
; "game : Abyss"
|
|
; "file : SUB-BAY.ZIL"
|
|
; "auth : $Author: DEB $"
|
|
; "date : $Date: 20 Mar 1989 8:45:40 $"
|
|
; "rev : $Revision: 1.30 $"
|
|
; "vers : 1.0"
|
|
;"---------------------------------------------------------------------------"
|
|
; "Sub bay"
|
|
; "Copyright (C) 1988 Infocom, Inc. All rights reserved."
|
|
;"***************************************************************************"
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-SUB-BAY"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-SUB-BAY
|
|
(LOC ROOMS)
|
|
(DESC "sub bay")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM BAY)
|
|
(ADJECTIVE SUB)
|
|
(DOWN TO RM-UNDER-MOONPOOL)
|
|
(FORE TO RM-CORRIDOR)
|
|
(AFT TO RM-GAS-MIX-ROOM)
|
|
; (PORT TO RM-SHOWER-ROOM)
|
|
(GLOBAL LG-WALL RM-UNDER-MOONPOOL RM-CORRIDOR RM-GAS-MIX-ROOM ;RM-SHOWER-ROOM)
|
|
(ACTION RT-RM-SUB-BAY)
|
|
>
|
|
|
|
<ROUTINE RT-RM-SUB-BAY ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
the ,RM-SUB-BAY ", which seems cavernous compared to the other cramped
|
|
compartments aboard Deepcore. It is dominated by the MoonPool, which looks
|
|
just like a huge swimming pool, except that it is open to the sea below.|
|
|
Along one edge of the MoonPool is a large dive locker. A door in the port
|
|
bulkhead leads to the shower room. Aft is the gas-mix room, and in the fore
|
|
wall is the doorway that leads to the corridor.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(<MC-CONTEXT? ,M-BEG>
|
|
<COND
|
|
(<FSET? ,TH-PLASTIC-CARD ,FL-SEEN>
|
|
<COND
|
|
(<FSET? ,CH-COFFEY ,FL-BROKEN>
|
|
<RFALSE>
|
|
)
|
|
(<OR <GAME-VERB?>
|
|
<VERB? GIVE-SWP>
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(<OR <NOT <VERB? GIVE>>
|
|
<NOT <MC-PRSO? ,TH-PLASTIC-CARD>>
|
|
<NOT <MC-PRSI? ,CH-COFFEY>>
|
|
>
|
|
<COND
|
|
(<ZERO? ,GL-COFFEY-SHOOT>
|
|
<SETG GL-COFFEY-SHOOT <+ ,GL-COFFEY-SHOOT 1>>
|
|
<TELL
|
|
" Coffey fires a bullet just past your head. \"Next one's for you, drill
|
|
boy.\"" CR
|
|
>
|
|
)
|
|
(T
|
|
<TELL
|
|
" Coffey raises his aim until the gun is pointed right between your eyes.
|
|
\"Bye, bye, Mr Chips.\" He starts to squeeze the trigger. The last thing you
|
|
notice before you die is how perfectly round the end of a gun's barrel is.|"
|
|
>
|
|
<RT-END-OF-GAME>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
)
|
|
(<MC-CONTEXT? ,M-ENTERED>
|
|
<COND
|
|
(<FSET? ,TH-PLASTIC-CARD ,FL-SEEN>
|
|
<COND
|
|
(<NOT ,GL-RETURN2-DONE?>
|
|
; "Return #2 puzzle."
|
|
<MOVE ,TH-DRY-SUIT ,HERE>
|
|
<FCLEAR ,TH-DRY-SUIT ,FL-WORN>
|
|
<MOVE ,CH-CATFISH ,RM-SUB-BAY>
|
|
<MOVE ,CH-COFFEY ,RM-SUB-BAY>
|
|
<SETG GL-RETURN2-DONE? T>
|
|
<TELL
|
|
" You surface in the MoonPool. Catfish grabs your hand and hoists you to
|
|
firm ground as easily as if you were a child. He helps you out of your dive
|
|
suit and into dry clothes.|
|
|
Suddenly Coffey comes into the room and levels his gun at your chest.
|
|
\"I'll take those codes,\" he announces." CR
|
|
>
|
|
)
|
|
>
|
|
)
|
|
(<FSET? ,LG-BUCKLED-DOOR ,FL-OPEN>
|
|
<COND
|
|
(<NOT ,GL-RETURN1-DONE?>
|
|
; "Return #1 puzzle."
|
|
<MOVE ,TH-DRY-SUIT ,HERE>
|
|
<FCLEAR ,TH-DRY-SUIT ,FL-WORN>
|
|
<MOVE ,CH-LINDSEY ,RM-SUB-BAY>
|
|
<MOVE ,CH-COFFEY ,RM-MESS-HALL>
|
|
<MOVE ,CH-CATFISH ,RM-MESS-HALL>
|
|
<FSET ,CH-CATFISH ,FL-ASLEEP>
|
|
<SETG GL-RETURN1-DONE? T>
|
|
<TELL
|
|
" You surface in the MoonPool. Lindsey pulls you out of the water. She
|
|
strips you of the cumbersome dive suit, towels you off, and helps you into
|
|
dry clothes.|
|
|
Then she says, \"Bud we've got a problem. Coffey caught Catfish trying to
|
|
break into the dive locker in the Sub-bay. The asshole knocked Catfish over
|
|
the head with the butt of his gun and then dragged him to the mess hall. Now
|
|
he's standing over him in the mess hall and claiming that Cat's a Russian
|
|
spy. He says as soon at Catfish comes around, he's going to give him a
|
|
summary court martial, find him guilty, and shoot him on the spot!\"" CR
|
|
>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT TH-MOON-POOL
|
|
(LOC RM-SUB-BAY)
|
|
(DESC "moon pool")
|
|
(FLAGS FL-CONTAINER FL-OPEN FL-SEARCH FL-WATER)
|
|
(SYNONYM POOL)
|
|
(ADJECTIVE MOON)
|
|
(ACTION RT-TH-MOON-POOL)
|
|
>
|
|
|
|
<ROUTINE RT-TH-MOON-POOL ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? ENTER>
|
|
<COND
|
|
(<MC-HERE? ,RM-SUB-BAY>
|
|
<RT-DO-WALK ,P?DOWN>
|
|
)
|
|
(<MC-HERE? ,RM-UNDER-MOONPOOL>
|
|
<RT-DO-WALK ,P?UP>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"***************************************************************************"
|
|
; "FIRE PUZZLE"
|
|
;"***************************************************************************"
|
|
|
|
<OBJECT TH-FIRE
|
|
; (LOC RM-SUB-BAY)
|
|
(DESC "fire")
|
|
(FLAGS FL-CONTAINER FL-OPEN FL-SEARCH)
|
|
(SYNONYM FIRE)
|
|
(ACTION RT-TH-FIRE)
|
|
>
|
|
|
|
<ROUTINE RT-TH-FIRE ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? EXTINGUISH>
|
|
<COND
|
|
(<AND <IN? ,TH-WATER-HOSE ,WINNER>
|
|
<FSET? ,TH-WATER-HOSE ,FL-ON>
|
|
>
|
|
<REMOVE ,TH-FIRE>
|
|
<RT-DEQUEUE ,RT-I-FIRE-1>
|
|
<RT-DEQUEUE ,RT-I-FIRE-2>
|
|
<TELL
|
|
" The water hisses into the wall of flame without appearing to have any
|
|
effect. Then, slowly, the intensity of the fire seems to lessen. After a few
|
|
moments, the flames die back, and all that remains of the fire are charred
|
|
bits of smouldering embers." CR
|
|
>
|
|
)
|
|
(T
|
|
<TELL ,K-HOW-INTEND-MSG CR>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-FIRE-1 ()
|
|
<RT-QUEUE ,RT-I-FIRE-2 <+ ,GL-MOVES 6>>
|
|
<COND
|
|
(<MC-HERE? ,RM-SUB-BAY>
|
|
<TELL
|
|
" The flames reach the wooden locker, and it starts to burn." CR
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-FIRE-2 ()
|
|
<TELL
|
|
" Suddenly the dive locker explodes with tremendous fury, ripping a gaping
|
|
hole in the roof of the Sub-bay. Seconds later you are engulfed by a wall of
|
|
water and you drown.|"
|
|
>
|
|
<RT-END-OF-GAME>
|
|
>
|
|
|
|
<OBJECT TH-WATER-HOSE
|
|
(LOC RM-SUB-BAY)
|
|
(DESC "hose")
|
|
(FLAGS FL-CONTAINER FL-OPEN FL-SEARCH FL-TAKEABLE)
|
|
(SYNONYM HOSE)
|
|
(ADJECTIVE FRESH WATER)
|
|
(ACTION RT-TH-WATER-HOSE)
|
|
>
|
|
|
|
<ROUTINE RT-TH-WATER-HOSE ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? TURN-ON>
|
|
<RT-TH-NOZZLE>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT TH-NOZZLE
|
|
(LOC TH-WATER-HOSE)
|
|
(DESC "nozzle")
|
|
(SYNONYM NOZZLE)
|
|
(ADJECTIVE HOSE)
|
|
(ACTION RT-TH-NOZZLE)
|
|
>
|
|
|
|
<ROUTINE RT-TH-NOZZLE ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? TURN TURN-ON OPEN>
|
|
<COND
|
|
(,GL-WATER-PUMP-ON
|
|
<FSET ,TH-WATER-HOSE ,FL-ON>
|
|
<TELL " A stream of water leaps from the nozzle." CR>
|
|
)
|
|
(T
|
|
<TELL " Nothing happens." CR>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT TH-OXYGEN-CYLINDER
|
|
(LOC RM-SUB-BAY)
|
|
(DESC "oxygen cylinder")
|
|
(FLAGS FL-NO-DESC)
|
|
(SYNONYM CYLINDER)
|
|
(ADJECTIVE OXYGEN)
|
|
(ACTION RT-TH-OXYGEN-CYLINDER)
|
|
>
|
|
|
|
<ROUTINE RT-TH-OXYGEN-CYLINDER ("OPT" (CONTEXT <>))
|
|
<RFALSE>
|
|
>
|
|
|
|
;"***************************************************************************"
|
|
; "PEOPLE"
|
|
;"***************************************************************************"
|
|
|
|
<OBJECT CH-LINDSEY
|
|
(LOC RM-COMMAND-MODULE)
|
|
(DESC "Lindsey")
|
|
(FLAGS FL-ALIVE FL-FEMALE FL-NO-ARTICLE FL-OPEN FL-PERSON FL-SEARCH)
|
|
(SYNONYM LINDSEY WOMAN PERSON)
|
|
>
|
|
|
|
<OBJECT CH-COFFEY
|
|
(LOC RM-CORRIDOR)
|
|
(DESC "Coffey")
|
|
(FLAGS FL-ALIVE FL-NO-ARTICLE FL-NO-DESC FL-OPEN FL-PERSON FL-SEARCH)
|
|
(SYNONYM COFFEY DIVER MAN PERSON)
|
|
(ADJECTIVE NAVY)
|
|
(ACTION RT-CH-COFFEY)
|
|
>
|
|
|
|
<ROUTINE RT-CH-COFFEY ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(,NOW-PRSI
|
|
<COND
|
|
(<VERB? GIVE>
|
|
<COND
|
|
(<AND <IN? ,CH-COFFEY ,RM-SUB-BAY>
|
|
<FSET? ,TH-PLASTIC-CARD ,FL-SEEN>
|
|
<MC-PRSO? ,TH-PLASTIC-CARD>
|
|
>
|
|
<MOVE ,TH-PLASTIC-CARD ,CH-COFFEY>
|
|
<REMOVE ,TH-GUN>
|
|
<FSET ,CH-COFFEY ,FL-BROKEN>
|
|
<FSET ,TH-COMPRESSOR ,FL-BROKEN>
|
|
<MOVE ,CH-COFFEY ,RM-COMPRESSION-CHAMBER>
|
|
<SETG OHERE ,HERE>
|
|
<SETG HERE ,RM-GAS-MIX-ROOM>
|
|
<MOVE ,CH-PLAYER ,RM-GAS-MIX-ROOM>
|
|
<TELL
|
|
" Coffey bends over the wiring codes, glancing up occasionally to make sure
|
|
you don't try to attack him.|
|
|
Suddenly you notice a strange phenomenon in the MoonPool behind him. Some
|
|
water is slowly forming into a shining column and rising above the surrounding
|
|
surface. After a few moments, a sort of three-fingered hand forms at the end
|
|
of the column. As you stare at in fascination, it slowly, silently, creeps up
|
|
behind Coffey, who remains oblivious to its presence.||
|
|
|
|
[GRAPHIC]||
|
|
|
|
Suddenly the pseudopod reaches out and snatches the gun from Coffey. He
|
|
whips around in time to see the column disappear below the surface of the
|
|
water, carrying his gun with it.|
|
|
Something inside Coffey seems to snap. He looks at you wildly and shouts,
|
|
\"I know you're behind this, Brigman. I don't know what you want from that
|
|
sub, but I'm gonna make sure you never see it again.\" He turns and runs from
|
|
the room.|
|
|
You follow Coffey. When he reaches the compressor room, Coffey brandishes
|
|
a tool over the compressor. As he sees you enter, he thrusts the tool deep
|
|
into the workings of the machine. It screams to a halt with an ear-piercing
|
|
shriek. Coffey yells over the noise, \"Up yours, Brigman!\" and dashes out of
|
|
the cylinder.|
|
|
He then runs into the compression chamber. Through the open door to the
|
|
compression chamber, you can see Coffey tugging at the hatch that leads up to
|
|
Cab Three. He is unable to open it because Lindsey has locked it from the
|
|
other side." CR
|
|
>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
)
|
|
(<VERB? ASK-ABOUT>
|
|
<COND
|
|
(<MC-PRSI? ,CH-SEALS ;,CH-RUSSIANS>
|
|
<TELL " \"Goddam bitch killed some of my best men.\"" CR>
|
|
)
|
|
(<MC-PRSI? ,LG-MONTANA>
|
|
<TELL
|
|
" \"I took a quick look at her before I had to come back. They closed the
|
|
mid-ships hatch, but it's clear that some of the interior bulkheads are
|
|
buckled. We're probably going to need some explosives to move around in there.
|
|
There's a gash in her side up near the bow, but the opening isn't big enough
|
|
for a man to fit through.\"" CR
|
|
>
|
|
)
|
|
(<MC-PRSI? ,TH-SAFE>
|
|
<COND
|
|
(<NOT <FSET? ,TH-SAFE ,FL-SEEN>>
|
|
<TELL
|
|
" It'll be in his cabin, just forward of the attack center." CR
|
|
>
|
|
)
|
|
(T ;<NOT <FSET? ,TH-SAFE ,FL-OPENED>>
|
|
<TELL
|
|
" I don't know how to open it. Each captain sets his own combination." CR
|
|
>
|
|
)
|
|
; (T
|
|
; "Bob"
|
|
<TELL
|
|
>
|
|
)
|
|
>
|
|
)
|
|
(<MC-PRSI? ,TH-PLASTIC-CARD ;,TH-WIRING-CODES>
|
|
<COND
|
|
(<NOT <FSET? ,CH-COFFEY ,FL-BROKEN>> ;"Not crazy?"
|
|
<TELL
|
|
" \"Different missiles have different wiring diagrams. When you want to
|
|
disarm one, you need the wiring codes to tell you the order to cut the
|
|
wires.\"" CR
|
|
>
|
|
)
|
|
(<FSET? ,CH-COFFEY ,FL-ASLEEP> ;"Under nitrogen narcosis"
|
|
<TELL
|
|
" One of mnemonic series:|
|
|
Oxford rows great big wide yachts.|
|
|
Yankees rarely win over Green Bay.|
|
|
Get rid of your wet bananas.|
|
|
Go west, young boy, or rot." CR
|
|
>
|
|
)
|
|
(T
|
|
<TELL " \"I ain't tellin you nothing, pinko.\"" CR>
|
|
)
|
|
>
|
|
)
|
|
(<MC-PRSI? ,TH-FLATBED>
|
|
<TELL
|
|
" \"The goddam bitch just rode it into the trench. I'll get even with her
|
|
yet.\"" CR
|
|
>
|
|
)
|
|
(<MC-PRSI? ,TH-MISSILE-TIMER>
|
|
<TELL
|
|
" \"They set it for 12 hours so they'd have enough time to get away and
|
|
save their skins. It may be booby-trapped, so we can't risk trying to disable
|
|
it. Our only hope is to disarm the MIRV.\"" CR
|
|
>
|
|
)
|
|
(<MC-PRSI? ,TH-MISSILE-ACCESS-KEY>
|
|
<TELL
|
|
" \"There's always a duplicate access key on board somewhere. Usually the
|
|
executive officer has it, but it's not as important as the missile firing
|
|
key, so sometimes he just hangs it on the wall in the maintenance room so the
|
|
technicians can get to it if they need it.\"" CR
|
|
>
|
|
)
|
|
(<FSET? ,CH-COFFEY ,FL-BROKEN> ;"Crazy?"
|
|
<TELL
|
|
" \"Coffey, James G.; Lieutenant U.S. Navy; Serial Number 5894256\"" CR
|
|
>
|
|
)
|
|
(T
|
|
<TELL " \"I don't know about that.\"" CR>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT CH-ONE-NIGHT
|
|
(LOC RM-CORRIDOR)
|
|
(DESC "One-night")
|
|
(FLAGS FL-ALIVE FL-FEMALE FL-NO-ARTICLE FL-NO-DESC FL-OPEN FL-PERSON FL-SEARCH)
|
|
(SYNONYM NIGHT ONE-NIGHT WOMAN PERSON)
|
|
(ADJECTIVE ONE)
|
|
(ACTION RT-CH-ONE-NIGHT)
|
|
>
|
|
|
|
<ROUTINE RT-CH-ONE-NIGHT ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(,NOW-PRSI
|
|
<RFALSE>
|
|
)
|
|
(<VERB? ASK-ABOUT>
|
|
<COND
|
|
(<MC-PRSI? ,TH-UFO>
|
|
<TELL
|
|
" \"I only saw it for a moment. It was big and shiny. But until it started
|
|
pulling us into the trench it somehow seemed, well, sort of friendly.\"" CR
|
|
>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT CH-HIPPY
|
|
(LOC RM-CORRIDOR)
|
|
(DESC "Hippy")
|
|
(FLAGS FL-ALIVE FL-NO-ARTICLE FL-NO-DESC FL-OPEN FL-PERSON FL-SEARCH)
|
|
(SYNONYM HIPPY MAN PERSON)
|
|
>
|
|
|
|
<OBJECT CH-CATFISH
|
|
(LOC RM-COMMAND-MODULE)
|
|
(DESC "Catfish")
|
|
(FLAGS FL-ALIVE FL-NO-ARTICLE FL-OPEN FL-PERSON FL-SEARCH)
|
|
(SYNONYM CATFISH DEVRIES FISH MAN PERSON)
|
|
(ADJECTIVE CAT)
|
|
>
|
|
|
|
<OBJECT CH-SEALS
|
|
(LOC GENERIC-OBJECTS)
|
|
(DESC "SEALs")
|
|
(SYNONYM
|
|
WILLHITE SCHOENICK MONK SEAL SEALS DIVER DIVERS MAN MEN PERSON PEOPLE
|
|
)
|
|
(ADJECTIVE NAVY)
|
|
>
|
|
|
|
; "Is the following right?"
|
|
<NEW-ADD-WORD "PEOPLE" NOUN <VOC "PERSON"> ,PLURAL-FLAG>
|
|
<NEW-ADD-WORD "WOMEN" NOUN <VOC "WOMAN"> ,PLURAL-FLAG>
|
|
<NEW-ADD-WORD "MEN" NOUN <VOC "MAN"> ,PLURAL-FLAG>
|
|
|
|
;<NEW-ADD-WORD "FROBS" NOUN <VOC "FROB"> ,PLURAL-FLAG>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "TH-DRY-SUIT"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<OBJECT TH-DRY-SUIT
|
|
(LOC TH-BUD-GEAR-LOCKER)
|
|
(DESC "dry suit")
|
|
(FLAGS FL-CLOTHING FL-CONTAINER FL-OPEN FL-SEARCH FL-TAKEABLE)
|
|
(SYNONYM SUIT)
|
|
(ADJECTIVE DRY)
|
|
(SIZE 5)
|
|
(ACTION RT-TH-DRY-SUIT)
|
|
>
|
|
|
|
<ROUTINE RT-TH-DRY-SUIT ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
" It is a custom-made, one-piece dry suit that was designed especially for
|
|
you. It zips up the front and includes flippers, a weight belt, and a helmet.
|
|
The helmet has two threaded sockets on the side, and the faceplate is"
|
|
open ,TH-FACEPLATE "." CR
|
|
>
|
|
)
|
|
(<VERB? WEAR>
|
|
<COND
|
|
(<MC-WINNER? ,CH-PLAYER>
|
|
<RT-MOVE-ALL ,CH-PLAYER ,HERE> ;"RT-MOVE-ALL clears FL-WORN."
|
|
<MOVE ,TH-DRY-SUIT ,CH-PLAYER>
|
|
<FSET ,TH-DRY-SUIT ,FL-WORN>
|
|
<TELL
|
|
" You drop everything you were carrying, strip down to your bathing suit,
|
|
and step into the dry suit. You pull up the zipper and adjust the weight
|
|
belt." CR
|
|
>
|
|
)
|
|
(T
|
|
; "Bob"
|
|
<TELL " The dry suit won't fit" the ,WINNER "." CR>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "TH-FACEPLATE"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<OBJECT TH-FACEPLATE
|
|
(LOC TH-DRY-SUIT)
|
|
(DESC "faceplate")
|
|
(FLAGS FL-NO-DESC FL-OPEN FL-OPENABLE FL-TRANSPARENT)
|
|
(SYNONYM FACEPLATE PLATE)
|
|
(ADJECTIVE FACE)
|
|
(ACTION RT-TH-FACEPLATE)
|
|
>
|
|
|
|
<ROUTINE RT-TH-FACEPLATE ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? EXAMINE>
|
|
<TELL " The faceplate is" open ,TH-FACEPLATE "." CR>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "TH-HELMET"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<OBJECT TH-HELMET
|
|
(LOC TH-DRY-SUIT)
|
|
(DESC "helmet")
|
|
(FLAGS FL-CONTAINER FL-NO-DESC FL-OPEN FL-SEARCH)
|
|
(SYNONYM HELMET)
|
|
(ADJECTIVE DRY SUIT)
|
|
(ACTION RT-TH-HELMET)
|
|
>
|
|
|
|
<ROUTINE RT-TH-HELMET ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
" The helmet has two threaded sockets on the side, and the faceplate is"
|
|
open ,TH-FACEPLATE "." CR
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT TH-HOOK-1
|
|
(LOC RM-SUB-BAY)
|
|
(DESC "hook")
|
|
(FLAGS FL-SURFACE)
|
|
(SYNONYM HOOK)
|
|
(ACTION RT-TH-HOOK-1)
|
|
>
|
|
|
|
<ROUTINE RT-TH-HOOK-1 ("OPT" (CONTEXT <>))
|
|
<RFALSE>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "TH-LIFT-BAG"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<OBJECT TH-LIFT-BAG
|
|
(LOC TH-HOOK-1)
|
|
(DESC "lift bag")
|
|
(FLAGS FL-SURFACE FL-SEARCH FL-TAKEABLE)
|
|
(SYNONYM BAG)
|
|
(ADJECTIVE LIFT)
|
|
(SIZE 5)
|
|
(ACTION RT-TH-LIFT-BAG)
|
|
>
|
|
|
|
; "TH-LIFT-BAG flags:"
|
|
; " FL-LOCKED - Inflated."
|
|
; " FL-BROKEN - Cut & can't be inflated."
|
|
|
|
<GLOBAL GL-LIFT-OBJ <>> ; "The object the lift bag is tied to"
|
|
|
|
<ROUTINE RT-TH-LIFT-BAG ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<AND <VERB? TAKE>
|
|
,GL-LIFT-OBJ
|
|
>
|
|
<COND
|
|
(<FSET? ,GL-LIFT-OBJ ,FL-TAKEABLE>
|
|
; "Pick up lift bag and ,GL-LIFT-OBJ"
|
|
)
|
|
(T
|
|
<TELL " The lift bag is tied to" the ,GL-LIFT-OBJ "." CR>
|
|
)
|
|
>
|
|
)
|
|
(<AND <VERB? TIE-TO ATTACH>
|
|
<MC-PRSO? ,TH-LIFT-BAG>
|
|
>
|
|
<SETG GL-LIFT-OBJ ,PRSI>
|
|
<SET L <LOC ,PRSI>>
|
|
<COND
|
|
(<EQUAL? .L ,LOCAL-GLOBALS ,GLOBAL-OBJECTS>
|
|
<SET L ,HERE>
|
|
)
|
|
>
|
|
<MOVE ,TH-LIFT-BAG .L>
|
|
<TELL " You tie the lift bag to" the ,GL-LIFT-OBJ "." CR>
|
|
)
|
|
(<VERB? EXAMINE>
|
|
<COND
|
|
(,GL-LIFT-OBJ
|
|
<TELL " The lift bag is tied to" the ,GL-LIFT-OBJ "." CR>
|
|
)
|
|
(T
|
|
<TELL " The lift bag is a">
|
|
<COND
|
|
(<FSET? ,TH-LIFT-BAG ,FL-LOCKED>
|
|
<TELL "n inflated">
|
|
)
|
|
(T
|
|
<TELL " collapsed">
|
|
)
|
|
>
|
|
<TELL " watertight sack ">
|
|
<COND
|
|
(<FSET? ,TH-LIFT-BAG ,FL-BROKEN>
|
|
<TELL "that has been sliced open." CR>
|
|
)
|
|
(T
|
|
<TELL
|
|
"with a small nylon loop at the top and two loose ropes hanging down from the
|
|
bottom. Attached to the bag is a CO2 cannister that has a red button on it." CR
|
|
>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
)
|
|
(<VERB? INFLATE>
|
|
<TELL ,K-HOW-INTEND-MSG CR>
|
|
)
|
|
(<AND <VERB? CUT>
|
|
<MC-PRSI? ,TH-KNIFE>
|
|
>
|
|
<FSET ,TH-LIFT-BAG ,FL-BROKEN>
|
|
<TELL " You slice the fabric with your knife,">
|
|
<COND
|
|
(<FSET? ,TH-LIFT-BAG ,FL-LOCKED>
|
|
<TELL " releasing the gas">
|
|
<COND
|
|
(<FSET? ,HERE ,FL-WATER>
|
|
<TELL " in a huge bubble and">
|
|
)
|
|
(T
|
|
<TELL " and">
|
|
)
|
|
>
|
|
)
|
|
>
|
|
<TELL " rendering the bag completely useless.|">
|
|
<COND
|
|
(<AND <FSET? ,TH-LIFT-BAG ,FL-LOCKED>
|
|
<EQUAL? ,LG-MIDSHIP-HATCH ,GL-LIFT-OBJ>
|
|
>
|
|
<FCLEAR ,LG-MIDSHIP-HATCH ,FL-OPEN>
|
|
<TELL " The hatch slams shut." CR>
|
|
)
|
|
(<IN? ,TH-LIFT-BAG ,CH-PLAYER>
|
|
<COND
|
|
(<AND <FSET? ,HERE ,FL-WATER>
|
|
<FSET? ,HERE ,FL-INDOORS>
|
|
>
|
|
<TELL " The bag no longer contrains your movements." CR>
|
|
)
|
|
; (<IN? ,CH-PLAYER ,TH-MOON-POOL>
|
|
<TELL " You sink below the surface of the water." CR>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
<RTRUE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "TH-CO2-CANNISTER"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<OBJECT TH-CO2-CANNISTER
|
|
(LOC TH-LIFT-BAG)
|
|
(DESC "CO2 cannister")
|
|
(FLAGS FL-NO-DESC FL-SURFACE FL-SEARCH)
|
|
(SYNONYM CANNISTER)
|
|
(ADJECTIVE CO2 CARBON DIOXIDE)
|
|
(SIZE 5)
|
|
(ACTION RT-TH-CO2-CANNISTER)
|
|
>
|
|
|
|
; "TH-CO2-CANNISTER flags:"
|
|
; " FL-BROKEN - Cannister is empty."
|
|
|
|
<ROUTINE RT-TH-CO2-CANNISTER ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? EXAMINE LOOK-ON>
|
|
<TELL " The cannister has a red button on it." CR>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "TH-RED-BUTTON"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<OBJECT TH-RED-BUTTON
|
|
(LOC TH-CO2-CANNISTER)
|
|
(DESC "red button")
|
|
(FLAGS FL-NO-DESC)
|
|
(SYNONYM BUTTON)
|
|
(ADJECTIVE RED)
|
|
(ACTION RT-TH-RED-BUTTON)
|
|
>
|
|
|
|
; "FLAGS: FL-BROKEN = the red button has been pushed already."
|
|
|
|
<ROUTINE RT-TH-RED-BUTTON ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? EXAMINE>
|
|
<TELL " Pretty normal-looking red button." CR>
|
|
)
|
|
(<VERB? PUSH>
|
|
<COND
|
|
(<FSET? ,TH-CO2-CANNISTER ,FL-BROKEN>
|
|
<TELL " Nothing happens." CR>
|
|
)
|
|
(T
|
|
<FSET ,TH-CO2-CANNISTER, FL-BROKEN>
|
|
<COND
|
|
(<FSET? ,TH-LIFT-BAG ,FL-BROKEN>
|
|
<TELL
|
|
" The gas rushes into the lift bag and out the gash in the fabric"
|
|
>
|
|
<COND
|
|
(<FSET? ,HERE ,FL-WATER>
|
|
<TELL
|
|
", rising quickly out of sight in a large bubble"
|
|
>
|
|
)
|
|
>
|
|
<TELL "." CR>
|
|
)
|
|
(T
|
|
<FSET ,TH-LIFT-BAG ,FL-LOCKED>
|
|
<TELL " The bag inflates like a hot air balloon">
|
|
<COND
|
|
(<IN? ,TH-LIFT-BAG ,CH-PLAYER>
|
|
<COND
|
|
(<FSET? ,HERE ,FL-WATER>
|
|
<COND
|
|
(<MC-HERE? ,RM-UNDER-MOONPOOL>
|
|
<TELL
|
|
", pulling you up to the surface of the MoonPool." CR
|
|
>
|
|
; <MOVE ,CH-PLAYER ,RM-MOONPOOL>
|
|
; "DUANE - Prevent the player from swimming down into the water until he
|
|
drops the lift bag or cuts it open. 'You sink below the surface of the water.
|
|
On the bulkhead nearby you see the hookah nozzles protrude from their housing."
|
|
)
|
|
(<FSET? ,HERE ,FL-INDOORS>
|
|
<TELL
|
|
", pulling you up until you hit the ceiling." CR
|
|
>
|
|
; "DUANE - Prevent the player from doing anything until he drops the lift bag
|
|
or cuts it with his knife. If he cuts the bag, give him the gas escaping msg
|
|
and then 'The bag no longer contrains your movements.'"
|
|
)
|
|
(T
|
|
<TELL
|
|
". Before you know what's happening, the extra lift starts to pull you
|
|
rapidly toward the surface. Your ears pop and you feel excruciating pain
|
|
in your elbows and knees. Mercifully, you pass out before suffering the
|
|
gruesome death of sudden decompression.|"
|
|
>
|
|
<RT-END-OF-GAME>
|
|
)
|
|
>
|
|
)
|
|
(T
|
|
<TELL "." CR>
|
|
)
|
|
>
|
|
)
|
|
(<EQUAL? ,GL-LIFT-OBJ ,LG-MIDSHIP-HATCH>
|
|
<FSET ,LG-MIDSHIP-HATCH ,FL-OPEN>
|
|
<TELL ". The hatch slowly swings open." CR>
|
|
)
|
|
(<FSET? ,HERE ,FL-WATER>
|
|
<COND
|
|
(<MC-HERE? ,RM-UNDER-MOONPOOL>
|
|
)
|
|
(<FSET? ,HERE ,FL-INDOORS>
|
|
)
|
|
(T
|
|
)
|
|
>
|
|
)
|
|
(T
|
|
<TELL "." CR>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"***************************************************************************"
|
|
; "OTHER ROOMS"
|
|
;"***************************************************************************"
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-COMPRESSION-CHAMBER"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-COMPRESSION-CHAMBER
|
|
(LOC ROOMS)
|
|
(DESC "compression chamber")
|
|
(MENU "chamber")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM CHAMBER)
|
|
(ADJECTIVE COMPRESSION)
|
|
(FORE TO RM-GAS-MIX-ROOM IF LG-CHAMBER-DOOR IS OPEN)
|
|
(UP TO RM-CAB-THREE IF LG-CHAMBER-HATCH IS OPEN)
|
|
(GLOBAL LG-WALL RM-GAS-MIX-ROOM LG-CHAMBER-DOOR LG-CHAMBER-HATCH)
|
|
(ADJACENT <TABLE (BYTE PURE) RM-GAS-MIX-ROOM T>)
|
|
(ACTION RT-RM-COMPRESSION-CHAMBER)
|
|
>
|
|
|
|
<ROUTINE RT-RM-COMPRESSION-CHAMBER ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
the ,RM-COMPRESSION-CHAMBER ". This is a tiny cylinder constructed from HY-150
|
|
Steel, designed to withstand pressures of up to 300 atmospheres, or 10,000
|
|
feet below sea-level. Along one wall is a bench that is built like a window
|
|
seat. There is a hatch in the ceiling. A door in the fore bulkhead leads out
|
|
to the gas-mix room.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(<MC-CONTEXT? ,M-EXIT>
|
|
<COND
|
|
(<RT-IS-QUEUED? ,RT-I-UFO-MESSAGE>
|
|
<RT-DEQUEUE ,RT-I-UFO-MESSAGE>
|
|
<MOVE ,CH-COFFEY ,RM-SUB-BAY>
|
|
<MOVE ,CH-HIPPY ,RM-SUB-BAY>
|
|
<TELL
|
|
" You start to leave, but One-Night plucks at your sleeve and holds you
|
|
back. " ,K-UFO-MSG
|
|
>
|
|
)
|
|
>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT LG-CHAMBER-HATCH
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "compression chamber hatch")
|
|
(MENU "hatch")
|
|
(FLAGS FL-DOOR FL-OPENABLE)
|
|
(SYNONYM HATCH)
|
|
(ADJECTIVE COMPRESSION CHAMBER)
|
|
(ACTION RT-LG-CHAMBER-HATCH)
|
|
>
|
|
|
|
<ROUTINE RT-LG-CHAMBER-HATCH ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? OPEN>
|
|
<COND
|
|
(<FSET? ,LG-CHAMBER-HATCH ,FL-OPEN>
|
|
<RFALSE>
|
|
)
|
|
(<NOT ,GL-CAB-DOCKED?>
|
|
<TELL
|
|
" Since a cab is not docked, the hatch refuses to open." CR
|
|
>
|
|
)
|
|
(<AND <IN? ,CH-COFFEY ,RM-CAB-THREE>
|
|
<FSET? ,CH-COFFEY ,FL-ALIVE>
|
|
>
|
|
<FSET ,LG-CHAMBER-HATCH ,FL-OPEN>
|
|
<RT-DEQUEUE ,RT-I-RETURN-2>
|
|
<RT-DEQUEUE ,RT-I-RETURN-3>
|
|
<RT-DEQUEUE ,RT-I-RETURN-4>
|
|
<RT-QUEUE ,RT-I-UFO-MESSAGE <+ ,GL-MOVES 1>>
|
|
<MOVE ,CH-COFFEY ,RM-COMPRESSION-CHAMBER>
|
|
<MOVE ,CH-HIPPY ,RM-COMPRESSION-CHAMBER>
|
|
<MOVE ,CH-ONE-NIGHT ,RM-COMPRESSION-CHAMBER>
|
|
<TELL
|
|
" You open the hatch and an exhausted Coffey drops into the chamber. He no
|
|
longer looks crisp and military. His uniform is ragged and there is a gash in
|
|
his right shoulder. He slumps onto the bench. Hippy is next through the hatch.
|
|
He hangs briefly by one arm and then lets go. Another pair of legs dangles
|
|
from the ceiling, and then One-Night falls to the floor with a loud groan. Her
|
|
clothes are soaked, and she is shivering from the cold.||"
|
|
>
|
|
<MARGIN 50 50>
|
|
<TELL
|
|
"[GRAPHIC #4: Shot in the compression chamber of the three of them - beat up
|
|
and exhausted.]||"
|
|
>
|
|
<MARGIN 0 0>
|
|
<TELL
|
|
" You wait a moment, expecting the other SEALS to come through the hatch,
|
|
but no one does. Coffey looks at you angrily. \"Dead,\" he says. They're all
|
|
dead.\" He points accusingly at One-Night, \"And it's all "
|
|
>
|
|
<HLIGHT ,K-H-BLD>
|
|
<TELL "her">
|
|
<HLIGHT ,K-H-NRM>
|
|
<TELL
|
|
" fault.\" You look at One-Night, but she just shakes her head.|
|
|
Coffey wipes his face with his sleeve. \"By the time we got over to the
|
|
Montana, the other submersible had already cleared out. I ordered Flatbed to
|
|
check out the stern of the ship while I reconnoitered the bow. But when I
|
|
returned to the rendezvous point, no one was there. Then I saw "
|
|
>
|
|
<HLIGHT ,K-H-BLD>
|
|
<TELL "Miss">
|
|
<HLIGHT ,K-H-NRM>
|
|
<TELL
|
|
" Standing free-swimming towards the Cab. We brought her in through the hatch,
|
|
and she told us some bullshit story about being sucked into the trench in the
|
|
wake of a glowing ship and then crashing Flatbed into a wall.\"|
|
|
\"I don't know what really happened, but I do know that this bitch has
|
|
killed three of my best men and that she's going to pay for it.\"|
|
|
\"But wait, it gets better. Whoever those bastards in the submersible
|
|
were, they've armed one of the MIRVs and attached a timer to it that's set to
|
|
go off in 12 hours.\"|
|
|
\"They must have taken the access key from the sub captain's body and
|
|
then used it to open up the MIRV. I took a look at that timer. No way we can
|
|
disable it safely. Our only hope is to find the duplicate access key. Then we
|
|
gotta break into the captain's safe, get the missile wiring codes, and cut the
|
|
wires.\"|
|
|
The three of them struggle to their feet and start to leave, but
|
|
One-Night catches your eye and signals you to wait." CR
|
|
>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-LEAVE-1 ()
|
|
<RT-QUEUE ,RT-I-LEAVE-2 <+ ,GL-MOVES 1>>
|
|
<MOVE ,CH-ONE-NIGHT ,RM-SUB-BAY>
|
|
<MOVE ,CH-HIPPY ,RM-SUB-BAY>
|
|
<MOVE ,CH-COFFEY ,RM-SUB-BAY>
|
|
<COND
|
|
(<MC-HERE? ,RM-CORRIDOR>
|
|
<TELL
|
|
" One-Night, Hippy, and the SEALs disappear aft into the sub-bay." CR
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-LEAVE-2 ()
|
|
<RT-QUEUE ,RT-I-LEAVE-3 <+ ,GL-MOVES 1>>
|
|
<FCLEAR ,CH-ONE-NIGHT ,FL-NO-DESC>
|
|
<MOVE ,CH-ONE-NIGHT ,RM-CAB-THREE>
|
|
<MOVE ,CH-HIPPY ,RM-GAS-MIX-ROOM>
|
|
<MOVE ,CH-COFFEY ,RM-GAS-MIX-ROOM>
|
|
<COND
|
|
(<MC-HERE? ,RM-SUB-BAY>
|
|
<TELL
|
|
" One-Night drops through Flatbed's hatch. Monk and Willhite gather up
|
|
their dive gear and follow her, pulling the hatch shut behind them. The big
|
|
submersible sinks into the MoonPool and then disappears from sight. Coffey
|
|
picks up a case marked \"FSB -- MARK IV,\" puts it in the dive locker, and
|
|
pockets the key. Then he follows Hippy and Schoenick into the gas-mix room." CR
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-LEAVE-3 ()
|
|
<RT-QUEUE ,RT-I-LEAVE-4 <+ ,GL-MOVES 1>>
|
|
<MOVE ,CH-HIPPY ,RM-COMPRESSION-CHAMBER>
|
|
<MOVE ,CH-COFFEY ,RM-COMPRESSION-CHAMBER>
|
|
<COND
|
|
(<MC-HERE? ,RM-GAS-MIX-ROOM>
|
|
<TELL
|
|
" Hippy, Coffey, and Schoenick enter the compression chamber." CR
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-LEAVE-4 ()
|
|
<FCLEAR ,CH-HIPPY ,FL-NO-DESC>
|
|
<FCLEAR ,CH-COFFEY ,FL-NO-DESC>
|
|
<MOVE ,CH-HIPPY ,RM-CAB-THREE>
|
|
<MOVE ,CH-COFFEY ,RM-CAB-THREE>
|
|
<COND
|
|
(<MC-HERE? ,RM-GAS-MIX-ROOM ,RM-COMPRESSION-CHAMBER>
|
|
<TELL TAB>
|
|
<COND
|
|
(<MC-HERE? ,RM-GAS-MIX-ROOM>
|
|
<TELL "Through the ">
|
|
<COND
|
|
(<FSET? ,LG-CHAMBER-DOOR ,FL-OPEN>
|
|
<TELL "door">
|
|
)
|
|
(T
|
|
<TELL "window">
|
|
)
|
|
>
|
|
<TELL " you see ">
|
|
)
|
|
>
|
|
<TELL
|
|
"Hippy and the two SEALs climb up into Cab Three and pull the hatch shut
|
|
behind them. Moments later you hear a 'clank' as Cab Three pulls away from
|
|
Deepcore's hull." CR
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-RETURN-1 ()
|
|
<RT-QUEUE ,RT-I-RETURN-2 <+ ,GL-MOVES 10>>
|
|
<SETG GL-CAB-DOCKED? T>
|
|
<FSET ,RM-CAB-THREE ,FL-BROKEN>
|
|
<TELL
|
|
" The intercom buzzes and you hear One-Night's voice: \"This is Cab Three
|
|
docking over the compression chamber, boss. The heater's busted and we've got
|
|
wounded. Come open the hatch before we freeze to death.\"" CR
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-RETURN-2 ()
|
|
<RT-QUEUE ,RT-I-RETURN-3 <+ ,GL-MOVES 10>>
|
|
<TELL
|
|
" The intercom buzzes and you hear One-Night again. \"Better hurry, boss.
|
|
I don't know if we're all gonna make it.\"" CR
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-RETURN-3 ()
|
|
<RT-QUEUE ,RT-I-RETURN-4 <+ ,GL-MOVES 5>>
|
|
<TELL
|
|
" The intercom buzzes for a moment, and then trails off into silence." CR
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-RETURN-4 ()
|
|
; "Kill everyone in the cab"
|
|
<FCLEAR ,CH-COFFEY ,FL-ALIVE>
|
|
<FCLEAR ,CH-HIPPY ,FL-ALIVE>
|
|
<FCLEAR ,CH-ONE-NIGHT ,FL-ALIVE>
|
|
<RFALSE>
|
|
>
|
|
|
|
<CONSTANT K-UFO-MSG
|
|
"\"I swear it's all true, Bud. I saw...something. It was right in front of us
|
|
and then it dived into the trench, pulling us along after it. Then we hit the
|
|
side of the trench and I blacked out for a second. When I came to, Flatbed was
|
|
spinning out of control into the trench. None of the controls worked. I did
|
|
the only thing I could do. I bailed out. But I didn't kill those men...\" her
|
|
voice trails off, \"...there was nothing I could do...\"|">
|
|
|
|
<ROUTINE RT-I-UFO-MESSAGE ()
|
|
<MOVE ,CH-COFFEY ,RM-SUB-BAY>
|
|
<MOVE ,CH-HIPPY ,RM-SUB-BAY>
|
|
<TELL
|
|
" When Coffey and Hippy have left, One-Night plucks your sleeve and says,"
|
|
,K-UFO-MSG
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-CAB-THREE"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-CAB-THREE
|
|
(LOC ROOMS)
|
|
(DESC "Cab three")
|
|
(FLAGS FL-CONTAINER FL-LIGHTED FL-NO-ARTICLE FL-OPEN FL-SEARCH FL-VEHICLE)
|
|
(SYNONYM CAB THREE)
|
|
(ADJECTIVE CAB)
|
|
(DOWN PER RT-OUT-CAB)
|
|
(OUT PER RT-OUT-CAB)
|
|
(ACTION RT-RM-CAB-THREE)
|
|
>
|
|
|
|
<GLOBAL GL-CAB-DOCKED? <> <> BYTE>
|
|
|
|
<ROUTINE RT-RM-CAB-THREE ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "climb up into">
|
|
)
|
|
>
|
|
<TELL
|
|
" Cab Three. It is a small submersible which was designed to shuttle
|
|
passengers between the surface and Deepcore. There is a chair for the pilot
|
|
up front, and four jump seats in the back. The only exit is through the hatch
|
|
in the floor.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(<MC-CONTEXT? ,M-ENTERED>
|
|
<COND
|
|
(<AND <IN? ,CH-COFFEY ,RM-CAB-THREE>
|
|
<NOT <FSET? ,CH-COFFEY ,FL-ALIVE>>
|
|
>
|
|
<TELL
|
|
" The lifeless bodies of Coffey, One-Night and Hippy gaze at you
|
|
accusingly with the wide-eyed stare of the dead." CR
|
|
>
|
|
)
|
|
>
|
|
)
|
|
(<MC-CONTEXT? ,M-BEG>
|
|
<COND
|
|
(<AND <NOT <FSET? ,RM-CAB-THREE ,FL-BROKEN>>
|
|
<IN? ,CH-LINDSEY ,RM-CAB-THREE>
|
|
<VERB? WALK-TO>
|
|
<MC-PRSO? ,LG-MONTANA>
|
|
>
|
|
<SETG GL-CAB-DOCKED? <>>
|
|
<TELL
|
|
"\"Right-o.\" Lindsey starts flicking levers and pushing buttons. You feel a
|
|
jerk as the cab separates itself from Deepcore, and then watch out the front
|
|
viewport as Lindsey maneuvers the Cab along the ocean floor toward the
|
|
submarine.|"
|
|
>
|
|
<SETG GL-MOVES <+ ,GL-MOVES 19>>
|
|
<CLOCKER>
|
|
<MOVE ,RM-CAB-THREE ,RM-MISSILE-HATCH>
|
|
<TELL
|
|
" After ten minutes or so, Cab Three passes over the lip of the chasm and
|
|
sinks slowly towards the submarine. The submersible settles precariously onto
|
|
the curved wall of the Montana." CR
|
|
>
|
|
)
|
|
>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-OUT-CAB ("OPT" (QUIET <>))
|
|
<COND
|
|
(,GL-CAB-DOCKED?
|
|
<COND
|
|
(<OR .QUIET
|
|
<FSET? ,LG-CHAMBER-HATCH ,FL-OPEN>
|
|
>
|
|
<RETURN ,RM-COMPRESSION-CHAMBER>
|
|
)
|
|
(T
|
|
<TELL " The hatch isn't open." CR>
|
|
)
|
|
>
|
|
)
|
|
(T
|
|
<RETURN <LOC ,RM-CAB-THREE>>
|
|
)
|
|
>
|
|
>
|
|
|
|
<ROUTINE RT-I-CAB-FIXED ()
|
|
<FCLEAR ,RM-CAB-THREE ,FL-BROKEN>
|
|
<MOVE ,CH-LINDSEY ,RM-CAB-THREE>
|
|
<TELL
|
|
"The intercom buzzes. \"This is Lindsey. I'm pleased to report that Cab Three
|
|
is ready for action.\"" CR
|
|
>
|
|
>
|
|
|
|
<OBJECT TH-CAB-HOOKAH
|
|
(LOC RM-CAB-THREE)
|
|
(DESC "hookah")
|
|
(SYNONYM HOOKAH)
|
|
(ACTION RT-TH-CAB-HOOKAH)
|
|
>
|
|
|
|
<ROUTINE RT-TH-CAB-HOOKAH ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
(<VERB? CUT>
|
|
<COND
|
|
(<AND <MC-PRSI? ,TH-KNIFE>
|
|
,GL-FALLING-INTO-TRENCH?
|
|
>
|
|
<RT-DEQUEUE ,RT-I-INTO-TRENCH-1>
|
|
<RT-DEQUEUE ,RT-I-INTO-TRENCH-2>
|
|
<RT-QUEUE ,RT-I-OUT-OF-AIR-1 <+ ,GL-MOVES 1>>
|
|
<REMOVE ,RM-CAB-THREE>
|
|
<MOVE ,CH-LINDSEY ,RM-ALIEN-CHAMBER>
|
|
<TELL
|
|
" You take a deep breath, reach up, and sever the hookah. You begin to rise
|
|
back up to the level of the Montana. Glancing down, you see the Cab
|
|
disappearing into the inky blackness of the trench. Lindsey hasn't been able
|
|
to free herself. She looks up at you as she is being dragged down. She
|
|
reaches her hand toward you and her eyes send you a silent plea for help.
|
|
Then she disappears into the darkness." CR
|
|
>
|
|
)
|
|
>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-GAS-MIX-ROOM"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-GAS-MIX-ROOM
|
|
(LOC ROOMS)
|
|
(DESC "gas mix room")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM ROOM)
|
|
(ADJECTIVE GAS MIX)
|
|
(FORE TO RM-SUB-BAY)
|
|
(AFT TO RM-COMPRESSION-CHAMBER IF LG-CHAMBER-DOOR IS OPEN)
|
|
(GLOBAL LG-WALL RM-SUB-BAY RM-COMPRESSION-CHAMBER LG-CHAMBER-DOOR)
|
|
(ADJACENT <TABLE (BYTE PURE) RM-COMPRESSION-CHAMBER T>)
|
|
(ACTION RT-RM-GAS-MIX-ROOM)
|
|
>
|
|
|
|
<ROUTINE RT-RM-GAS-MIX-ROOM ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" a small antechamber between the sub-bay and the compression chamber, which
|
|
are fore and aft respectively. On the wall is a small video screen with
|
|
a black button below it. The door to the compression chamber is"
|
|
open ,LG-CHAMBER-DOOR ".|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT LG-CHAMBER-DOOR
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "compression chamber door")
|
|
(MENU "door")
|
|
(FLAGS FL-DOOR FL-OPEN FL-OPENABLE)
|
|
(SYNONYM DOOR)
|
|
(ADJECTIVE COMPRESSION CHAMBER)
|
|
; (ACTION RT-LG-CHAMBER-DOOR)
|
|
>
|
|
|
|
;<ROUTINE RT-LG-CHAMBER-DOOR ("OPT" (CONTEXT <>))
|
|
<COND
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-SHOWER-ROOM"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
;<ROOM RM-SHOWER-ROOM
|
|
(LOC ROOMS)
|
|
(DESC "shower room")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM ROOM)
|
|
(ADJECTIVE SHOWER)
|
|
(PORT TO RM-SUB-BAY)
|
|
(GLOBAL LG-WALL RM-SUB-BAY)
|
|
(ACTION RT-RM-SHOWER-ROOM)
|
|
>
|
|
|
|
;<ROUTINE RT-RM-SHOWER-ROOM ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL
|
|
" The shower room is a tiny compartment just off the MoonPool. There is a
|
|
fresh water shower here and a small drain in the middle of the floor. Hooks
|
|
line the wall, and there is a small bench bolted to the floor.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-CORRIDOR"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-CORRIDOR
|
|
(LOC ROOMS)
|
|
(DESC "corridor")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM CORRIDOR)
|
|
(FORE TO RM-COMMAND-MODULE)
|
|
(AFT TO RM-SUB-BAY)
|
|
(STARBOARD TO RM-LADDER-B2 IF LG-FLOOD-DOOR IS OPEN)
|
|
(PORT TO RM-LADDER-A2)
|
|
(GLOBAL
|
|
LG-FLOOD-DOOR LG-WALL RM-COMMAND-MODULE RM-SUB-BAY RM-LADDER-A2
|
|
RM-LADDER-B2
|
|
)
|
|
(ACTION RT-RM-CORRIDOR)
|
|
>
|
|
|
|
<ROUTINE RT-RM-CORRIDOR ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "step out into">
|
|
)
|
|
>
|
|
<TELL
|
|
the ,RM-CORRIDOR " that connects Deepcore's port and starboard sides. Towards
|
|
the bow is a door that leads to the command module. Aft is the entrance to
|
|
the sub-bay. There is a small panel set into the floor below your feet.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(<MC-CONTEXT? ,M-ENTERED>
|
|
<COND
|
|
(<EQUAL? ,GL-PUPPY ,CH-CATFISH>
|
|
<RT-CLEAR-PUPPY>
|
|
)
|
|
>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT TH-PANEL
|
|
(LOC RM-CORRIDOR)
|
|
(DESC "panel")
|
|
(FLAGS FL-SURFACE FL-OPENABLE)
|
|
(SYNONYM PANEL)
|
|
(ACTION RT-TH-PANEL)
|
|
>
|
|
|
|
<ROUTINE RT-TH-PANEL ("OPT" (CONTEXT <>))
|
|
<RFALSE>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-A2"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-A2
|
|
(LOC ROOMS)
|
|
(DESC "ladderwell A")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
;"Duane - Can we have the letter 'a' as a synonym?"
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDER PORT LADDERWELL)
|
|
(FORE TO RM-LOUNGE)
|
|
(AFT TO RM-MESS-HALL)
|
|
(STARBOARD TO RM-CORRIDOR)
|
|
(PORT TO RM-ELECTRONICS-SHOP)
|
|
(UP TO RM-LADDER-A3)
|
|
(DOWN TO RM-LADDER-A1)
|
|
(GLOBAL
|
|
LG-WALL RM-LOUNGE RM-MESS-HALL RM-CORRIDOR RM-ELECTRONICS-SHOP
|
|
RM-LADDER-A1 RM-LADDER-A3
|
|
)
|
|
(ACTION RT-RM-LADDER-A2)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-A2 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the middle level of ladderwell A. A corridor leads to the starboard side
|
|
of Deepcore. A hatch in the port bulkhead opens onto the electronics room.
|
|
The lounge is forward, and aft is the mess hall.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LOUNGE"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LOUNGE
|
|
(LOC ROOMS)
|
|
(DESC "lounge")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM LOUNGE)
|
|
(AFT TO RM-LADDER-A2)
|
|
(GLOBAL LG-WALL RM-LADDER-A2)
|
|
(ACTION RT-RM-LOUNGE)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LOUNGE ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the lounge, which is where most crew members congregate during their time
|
|
off. A couch with a curved back fits along the starboard cylinder wall. It
|
|
faces a small television that is hooked up to a VCR. The only exit is through
|
|
the aft hatchway.|"
|
|
>
|
|
<COND
|
|
(,GL-BATTERY-LEAK
|
|
<TELL
|
|
" You see a stream of water coming from the ceiling. It pours down the
|
|
wall and disappears in the room below.|"
|
|
>
|
|
)
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-INFIRMARY"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-INFIRMARY
|
|
(LOC ROOMS)
|
|
(DESC "infirmary")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM INFIRMARY)
|
|
(PORT TO RM-LADDER-B3)
|
|
(GLOBAL LG-WALL RM-LADDER-B3)
|
|
(ACTION RT-RM-INFIRMARY)
|
|
>
|
|
|
|
<ROUTINE RT-RM-INFIRMARY ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL " the infirmary. The only exit is the door in the port wall.|">
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-MESS-HALL"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-MESS-HALL
|
|
(LOC ROOMS)
|
|
(DESC "mess hall")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM HALL)
|
|
(ADJECTIVE MESS)
|
|
(FORE TO RM-LADDER-A2)
|
|
(AFT TO RM-GALLEY)
|
|
(GLOBAL LG-WALL RM-LADDER-A2 RM-GALLEY)
|
|
(ACTION RT-RM-MESS-HALL)
|
|
>
|
|
|
|
<GLOBAL GL-CATFISH-SPY-MSG? <> <> BYTE>
|
|
|
|
<ROUTINE RT-RM-MESS-HALL ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL
|
|
" This is Deepcore's mess hall. There is a circular table in the middle
|
|
of the room and a few chairs have been stacked against the wall. The forward
|
|
exit leads to ladderwell A. The aft exit opens onto the galley.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(<MC-CONTEXT? ,M-ENTERED>
|
|
<COND
|
|
(<AND <IN? ,CH-COFFEY ,RM-MESS-HALL>
|
|
<IN? ,CH-CATFISH ,RM-MESS-HALL>
|
|
<FSET? ,CH-CATFISH ,FL-ASLEEP>
|
|
<NOT ,GL-CATFISH-SPY-MSG?>
|
|
>
|
|
<SETG GL-CATFISH-SPY-MSG? T>
|
|
<TELL
|
|
" Coffey looks up as you enter. \"Oh, there you are Brigman. I'll bet you
|
|
didn't know that your favorite boy here is a Russkie, didja?\" He gestures to
|
|
Catfish with his gun, and you see that his hand is trembling. \"I caught him
|
|
red-handed. And when he wakes up, he's gonna find out how it feels to be both
|
|
Red "
|
|
>
|
|
<HLIGHT ,K-H-BLD>
|
|
<TELL "and">
|
|
<HLIGHT ,K-H-NRM>
|
|
<TELL " dead.\"" CR>
|
|
)
|
|
>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-GALLEY"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-GALLEY
|
|
(LOC ROOMS)
|
|
(DESC "Stu's galley")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM GALLEY)
|
|
(FORE TO RM-MESS-HALL)
|
|
(AFT TO RM-PANTRY)
|
|
(GLOBAL LG-WALL RM-MESS-HALL RM-PANTRY)
|
|
(ACTION RT-RM-GALLEY)
|
|
>
|
|
|
|
<ROUTINE RT-RM-GALLEY ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL
|
|
" This is a fully equipped galley that has everything including the kitchen
|
|
sink. You see a microwave, refrigerator, sink, and even a garbage compactor.
|
|
You can go both fore and aft from here.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-PANTRY"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-PANTRY
|
|
(LOC ROOMS)
|
|
(DESC "pantry")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM PANTRY)
|
|
(FORE TO RM-GALLEY)
|
|
(AFT TO RM-LADDER-D2)
|
|
(GLOBAL LG-WALL RM-GALLEY RM-LADDER-D2)
|
|
(ACTION RT-RM-PANTRY)
|
|
>
|
|
|
|
<ROUTINE RT-RM-PANTRY ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the pantry. The food supplies are stored in the cupboards that line the
|
|
walls. There are exits both fore and aft.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT TH-HOOK-2
|
|
(LOC RM-PANTRY)
|
|
(DESC "hook")
|
|
(FLAGS FL-SURFACE)
|
|
(SYNONYM HOOK)
|
|
(ACTION RT-TH-HOOK-2)
|
|
>
|
|
|
|
<ROUTINE RT-TH-HOOK-2 ("OPT" (CONTEXT <>))
|
|
<RFALSE>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "TH-GAME-BAG"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<OBJECT TH-GAME-BAG
|
|
(LOC TH-HOOK-2)
|
|
(DESC "game bag")
|
|
(FLAGS FL-SURFACE FL-SEARCH FL-TAKEABLE FL-CONTAINER)
|
|
(SYNONYM BAG)
|
|
(ADJECTIVE GAME)
|
|
(SIZE 5)
|
|
(ACTION RT-TH-GAME-BAG)
|
|
>
|
|
|
|
<ROUTINE RT-TH-GAME-BAG ("OPT" (CONTEXT <>))
|
|
<RFALSE>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-WALDORF"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-WALDORF
|
|
(LOC ROOMS)
|
|
(DESC "The Waldorf")
|
|
(FLAGS FL-INDOORS FL-LIGHTED FL-NO-ARTICLE)
|
|
(SYNONYM WALDORF)
|
|
(FORE TO RM-LADDER-B2)
|
|
(AFT TO RM-PERSONAL-STORAGE-1)
|
|
(GLOBAL LG-WALL RM-LADDER-B2 RM-PERSONAL-STORAGE-1)
|
|
(ACTION RT-RM-WALDORF)
|
|
>
|
|
|
|
<ROUTINE RT-RM-WALDORF ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" The Waldorf, which is what the crew irreverently calls your living
|
|
quarters because it is the only stateroom aboard Deepcore that has its own
|
|
sink. Rank hath its privileges. The room is in its usual state of chaos.
|
|
Your bunk is situated with the head near the forward hatch and the foot next
|
|
to the hatch in the aft bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-PERSONAL-STORAGE-1"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-PERSONAL-STORAGE-1
|
|
(LOC ROOMS)
|
|
(DESC "personal storage")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM STORAGE)
|
|
(ADJECTIVE PERSONAL)
|
|
(FORE TO RM-WALDORF)
|
|
(AFT TO RM-ZOOTOWN)
|
|
(GLOBAL LG-WALL RM-WALDORF RM-ZOOTOWN)
|
|
(ACTION RT-RM-PERSONAL-STORAGE-1)
|
|
>
|
|
|
|
<ROUTINE RT-RM-PERSONAL-STORAGE-1 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL
|
|
" This is a storage room for personal effects. Your locker is on the wall
|
|
near the hatch leading forward to your stateroom. The locker belonging to
|
|
Hippy is next to the door in the aft bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-ZOOTOWN"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-ZOOTOWN
|
|
(LOC ROOMS)
|
|
(DESC "Zootown")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM ZOOTOWN)
|
|
(FORE TO RM-PERSONAL-STORAGE-1)
|
|
(AFT TO RM-LADDER-C2)
|
|
(GLOBAL LG-WALL RM-PERSONAL-STORAGE-1 RM-LADDER-C2)
|
|
(ACTION RT-RM-ZOOTOWN)
|
|
>
|
|
|
|
<ROUTINE RT-RM-ZOOTOWN ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "step into">
|
|
)
|
|
>
|
|
<TELL
|
|
" Hippy's living quarters, known to the crew as 'Zootown' because of the
|
|
succession of unusual pets he has brought aboard Deepcore. Hatches here lead
|
|
fore and aft.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-C2"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-C2
|
|
(LOC ROOMS)
|
|
(DESC "ladderwell C")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDER LADDERWELL)
|
|
(FORE TO RM-ZOOTOWN)
|
|
(UP TO RM-LADDER-C3)
|
|
(DOWN TO RM-LADDER-C1)
|
|
(GLOBAL LG-WALL RM-ZOOTOWN RM-LADDER-C3 RM-LADDER-C1)
|
|
(ACTION RT-RM-LADDER-C2)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-C2 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the middle level of ladderwell C. A hatch in the forward bulkhead opens
|
|
into Hippy's living quarters. There is a yellow button here, with a sign
|
|
underneath it.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "TH-S-BILGE-BUTT"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<OBJECT TH-S-BILGE-BUTT
|
|
(DESC "button")
|
|
(SYNONYM BUTTON)
|
|
(ADJECTIVE YELLOW)
|
|
(ACTION RT-TH-S-BILGE-BUTT)
|
|
>
|
|
|
|
<ROUTINE RT-TH-S-BILGE-BUTT ("OPT" (CONTEXT <>))
|
|
<RFALSE>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-A1"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-A1
|
|
(LOC ROOMS)
|
|
(DESC "ladder well A")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDER LADDERWELL)
|
|
(FORE TO RM-PT-BATTERY-ROOM)
|
|
(AFT TO RM-PT-LIFE-SUPPORT)
|
|
(PORT TO RM-LAUNDRY)
|
|
(UP TO RM-LADDER-A2)
|
|
(GLOBAL LG-WALL RM-PT-BATTERY-ROOM RM-PT-LIFE-SUPPORT RM-LAUNDRY RM-LADDER-A2)
|
|
(ACTION RT-RM-LADDER-A1)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-A1 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the lowest level of ladderwell A. A hatch in the port bulkhead opens onto
|
|
the laundry room. The Port Battery room is just forward of here, and aft is
|
|
Port Life Support.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LAUNDRY"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LAUNDRY
|
|
(LOC ROOMS)
|
|
(DESC "laundry")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM LAUNDRY)
|
|
(STARBOARD TO RM-LADDER-A1)
|
|
(GLOBAL LG-WALL RM-LADDER-A1)
|
|
(ACTION RT-RM-LAUNDRY)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LAUNDRY ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the laundry room. The washer and dryer flank a shelf that contains laundry
|
|
supplies. The only exit is the door in the starboard wall.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-PT-LIFE-SUPPORT"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-PT-LIFE-SUPPORT
|
|
(LOC ROOMS)
|
|
(DESC "port life support")
|
|
(MENU "life support")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM SUPPORT)
|
|
(ADJECTIVE PORT LIFE)
|
|
(FORE TO RM-LADDER-A1)
|
|
(AFT TO RM-COMPRESSOR-ROOM)
|
|
(GLOBAL LG-WALL RM-LADDER-A1 RM-COMPRESSOR-ROOM)
|
|
(ACTION RT-RM-PT-LIFE-SUPPORT)
|
|
>
|
|
|
|
<ROUTINE RT-RM-PT-LIFE-SUPPORT ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the port life support room. All around you is a jungle of fittings, gauges,
|
|
and circuit boards. They control the CO2 scrubbers, dehumidifiers, heaters
|
|
and other devices that make life possible 2,000 feet below the surface. Exits
|
|
here lead fore and aft.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-COMPRESSOR-ROOM"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-COMPRESSOR-ROOM
|
|
(LOC ROOMS)
|
|
(DESC "compressor room")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM ROOM)
|
|
(ADJECTIVE COMPRESSOR)
|
|
(FORE TO RM-PT-LIFE-SUPPORT)
|
|
(AFT TO RM-TRI-MIX-STORAGE)
|
|
(GLOBAL LG-WALL RM-PT-LIFE-SUPPORT RM-TRI-MIX-STORAGE)
|
|
(ACTION RT-RM-COMPRESSOR-ROOM)
|
|
>
|
|
|
|
<ROUTINE RT-RM-COMPRESSOR-ROOM ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the compressor room. You see a dark labyrinth of pipes emanating from
|
|
the huge compressor that supplies air to the hookahs. "
|
|
>
|
|
<COND
|
|
(<OR <FSET? ,TH-COMPRESSOR ,FL-BROKEN>
|
|
<NOT <FSET? ,TH-COMPRESSOR ,FL-ON>>
|
|
>
|
|
<TELL
|
|
"The eerie silence makes an unsettling contrast to the normal cacophany in
|
|
the cylinder."
|
|
>
|
|
)
|
|
(T
|
|
<TELL
|
|
"It's hard to hear yourself think over the roar of the machinery."
|
|
>
|
|
)
|
|
>
|
|
<TELL
|
|
" There are hatchways leading out of both the forward and aft bulkheads.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT TH-COMPRESSOR
|
|
(LOC RM-COMPRESSOR-ROOM)
|
|
(DESC "compressor")
|
|
(FLAGS FL-ON)
|
|
(SYNONYM COMPRESSOR)
|
|
(ACTION RT-TH-COMPRESSOR)
|
|
>
|
|
|
|
; "TH-COMPRESSOR flags:"
|
|
; " FL-BROKEN = Coffey has permanently munged the compressor."
|
|
; " FL-ON = Compressor is turned on."
|
|
|
|
<ROUTINE RT-TH-COMPRESSOR ("OPT" (CONTEXT <>))
|
|
<RFALSE>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-D1"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-D1
|
|
(LOC ROOMS)
|
|
(DESC "ladderwell D")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDER LADDERWELL)
|
|
(FORE TO RM-TRI-MIX-STORAGE)
|
|
(AFT TO RM-TOOL-PUSHER-OFFICE)
|
|
(UP TO RM-LADDER-D2)
|
|
(GLOBAL LG-WALL RM-TRI-MIX-STORAGE RM-TOOL-PUSHER-OFFICE RM-LADDER-D2)
|
|
(ACTION RT-RM-LADDER-D1)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-D1 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the lowest level of ladderwell D. A hatch in the forward bulkhead leads to
|
|
tri-mix storage, and another leads aft to your office.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-TOOL-PUSHER-OFFICE"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-TOOL-PUSHER-OFFICE
|
|
(LOC ROOMS)
|
|
(DESC "tool pusher's office")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM OFFICE)
|
|
(ADJECTIVE TOOL PUSHER)
|
|
(FORE TO RM-LADDER-D1)
|
|
(STARBOARD TO RM-TOOL-ROOM)
|
|
(GLOBAL LG-WALL RM-LADDER-D1 RM-TOOL-ROOM)
|
|
(ACTION RT-RM-TOOL-PUSHER-OFFICE)
|
|
>
|
|
|
|
<ROUTINE RT-RM-TOOL-PUSHER-OFFICE ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "step into">
|
|
)
|
|
>
|
|
<TELL
|
|
" your office, a tiny cubicle with stacks of paperwork, tech manuals and
|
|
waterstained centerfolds. The hatch in the forward bulkhead leads to
|
|
ladderwell D, and the starboard hatch opens onto the tool room.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-DRILL-ROOM"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-DRILL-ROOM
|
|
(LOC ROOMS)
|
|
(DESC "drill room")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM ROOM)
|
|
(ADJECTIVE DRILL)
|
|
(PORT TO RM-TOOL-ROOM)
|
|
(GLOBAL LG-WALL RM-TOOL-ROOM)
|
|
(ACTION RT-RM-DRILL-ROOM)
|
|
>
|
|
|
|
<ROUTINE RT-RM-DRILL-ROOM ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the drill room, the working heart of Deepcore. In the center of the room
|
|
is the massive turntable that spins the drill string when the rig is
|
|
operating. Everything in the room is coated with the pungent, greasy chemical
|
|
compound called 'drilling mud.' The only exit is through the hatch in the port
|
|
bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-B1"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-B1
|
|
(LOC ROOMS)
|
|
(DESC "ladderwell B")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDER LADDERWELL)
|
|
(FORE TO RM-SB-BATTERY-ROOM)
|
|
(AFT TO RM-SB-LIFE-SUPPORT)
|
|
(STARBOARD TO RM-SB-HEAD)
|
|
(UP TO RM-LADDER-B2)
|
|
(GLOBAL LG-WALL RM-SB-BATTERY-ROOM RM-SB-LIFE-SUPPORT RM-SB-HEAD RM-LADDER-B2)
|
|
(ACTION RT-RM-LADDER-B1)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-B1 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the lowest level of ladderwell B. A hatch in the starboard bulkhead opens onto the
|
|
starboard head. The starboard battery room is just forward of here, and aft is
|
|
starboard life support.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-SB-BATTERY-ROOM"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-SB-BATTERY-ROOM
|
|
(LOC ROOMS)
|
|
(DESC "starboard battery room")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM ROOM)
|
|
(ADJECTIVE STARBOARD BATTERY)
|
|
(AFT TO RM-LADDER-B1)
|
|
(GLOBAL LG-WALL RM-LADDER-B1)
|
|
(ACTION RT-RM-SB-BATTERY-ROOM)
|
|
>
|
|
|
|
<ROUTINE RT-RM-SB-BATTERY-ROOM ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL
|
|
" This is one of the rooms that contain the huge fuelcells that power
|
|
Deepcore. The powercels are surrounded by a wire cage that is festooned with
|
|
signs that warn of the dangers of electricity. The fuelcells are humming
|
|
ominously - as usual - and an acrid, ozone smell fills the air. The only
|
|
exit is through the hatch in the aft bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-SB-HEAD"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-SB-HEAD
|
|
(LOC ROOMS)
|
|
(DESC "starboard head")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM HEAD)
|
|
(ADJECTIVE STARBOARD)
|
|
(PORT TO RM-LADDER-B1)
|
|
(GLOBAL LG-WALL RM-LADDER-B1)
|
|
(ACTION RT-RM-SB-HEAD)
|
|
>
|
|
|
|
<ROUTINE RT-RM-SB-HEAD ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the starboard head. It is sparingly furnished with a shower, sink, and
|
|
chemical toilet. The only exit is in the port bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-SB-LIFE-SUPPORT"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-SB-LIFE-SUPPORT
|
|
(LOC ROOMS)
|
|
(DESC "starboard life support")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM SUPPORT)
|
|
(ADJECTIVE STARBOARD LIFE)
|
|
(FORE TO RM-LADDER-B1)
|
|
(AFT TO RM-PUMP-ROOM)
|
|
(GLOBAL LG-WALL RM-LADDER-B1 RM-PUMP-ROOM)
|
|
(ACTION RT-RM-SB-LIFE-SUPPORT)
|
|
>
|
|
|
|
<ROUTINE RT-RM-SB-LIFE-SUPPORT ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the starboard life support room. All around you is a jungle of fittings,
|
|
gauges, and circuit boards. They control the CO2 scrubbers, dehumidifiers,
|
|
heaters and other devices that make life possible 2,000 feet below the
|
|
surface. Exits here lead fore and aft.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-PUMP-ROOM"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-PUMP-ROOM
|
|
(LOC ROOMS)
|
|
(DESC "pump room")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM ROOM)
|
|
(ADJECTIVE PUMP)
|
|
(FORE TO RM-SB-LIFE-SUPPORT)
|
|
(AFT TO RM-FRESH-WATER-STORAGE)
|
|
(GLOBAL LG-WALL RM-SB-LIFE-SUPPORT RM-FRESH-WATER-STORAGE)
|
|
(ACTION RT-RM-PUMP-ROOM)
|
|
>
|
|
|
|
<ROUTINE RT-RM-PUMP-ROOM ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the pump room. The machinery here controls the fresh water supply all over
|
|
Deepcore. You can exit either fore or aft.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-FRESH-WATER-STORAGE"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-FRESH-WATER-STORAGE
|
|
(LOC ROOMS)
|
|
(DESC "fresh water storage")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM STORAGE)
|
|
(ADJECTIVE FRESH WATER)
|
|
(FORE TO RM-PUMP-ROOM)
|
|
(AFT TO RM-LADDER-C1)
|
|
(GLOBAL LG-WALL RM-PUMP-ROOM RM-LADDER-C1)
|
|
(ACTION RT-RM-FRESH-WATER-STORAGE)
|
|
>
|
|
|
|
<ROUTINE RT-RM-FRESH-WATER-STORAGE ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" fresh water storage, where Deepcore's entire water supply is kept in one
|
|
huge tank. There are doors in both the forward and aft walls.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-C1"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-C1
|
|
(LOC ROOMS)
|
|
(DESC "ladderwell C")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDER LADDERWELL)
|
|
(FORE TO RM-FRESH-WATER-STORAGE)
|
|
(UP TO RM-LADDER-C2)
|
|
(GLOBAL LG-WALL RM-FRESH-WATER-STORAGE RM-LADDER-C2)
|
|
(ACTION RT-RM-LADDER-C1)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-C1 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the lowest level of ladderwell C. The only exits are the ladder leading
|
|
up and the hatch in the forward wall.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-A3"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-A3
|
|
(LOC ROOMS)
|
|
(DESC "ladderwell A")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDER LADDERWELL)
|
|
(FORE TO RM-PT-OBS-DECK)
|
|
(AFT TO RM-MOTEL-QUICK)
|
|
(PORT TO RM-PT-HEAD)
|
|
(DOWN TO RM-LADDER-A2)
|
|
(GLOBAL LG-WALL RM-PT-OBS-DECK RM-MOTEL-QUICK RM-PT-HEAD RM-LADDER-A2)
|
|
(ACTION RT-RM-LADDER-A3)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-A3 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the uppermost level of ladderwell A. Forward from here is the port
|
|
observation deck. The female living quarters are aft. A hatch in the port
|
|
bulkhead leads to the port head.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-PT-HEAD"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-PT-HEAD
|
|
(LOC ROOMS)
|
|
(DESC "port head")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM HEAD)
|
|
(ADJECTIVE PORT)
|
|
(STARBOARD TO RM-LADDER-A3)
|
|
(GLOBAL LG-WALL RM-LADDER-A3)
|
|
(ACTION RT-RM-PT-HEAD)
|
|
>
|
|
|
|
<ROUTINE RT-RM-PT-HEAD ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the port head. It is sparingly furnished with a shower, sink, and
|
|
chemical toilet. The only exit is in the starboard bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-MOTEL-QUICK"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-MOTEL-QUICK
|
|
(LOC ROOMS)
|
|
(DESC "motel Quick")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM QUICK)
|
|
(ADJECTIVE MOTEL)
|
|
(FORE TO RM-LADDER-A3)
|
|
(AFT TO RM-PERSONAL-STORAGE-2)
|
|
(GLOBAL LG-WALL RM-LADDER-A3 RM-PERSONAL-STORAGE-2)
|
|
(ACTION RT-RM-MOTEL-QUICK)
|
|
>
|
|
|
|
<ROUTINE RT-RM-MOTEL-QUICK ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the female living quarters, nicknamed \"Motel Quick\" by the crew. Exits
|
|
hee lead both fore and aft.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-PERSONAL-STORAGE-2"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-PERSONAL-STORAGE-2
|
|
(LOC ROOMS)
|
|
(DESC "personal storage")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM STORAGE)
|
|
(ADJECTIVE PERSONAL)
|
|
(FORE TO RM-MOTEL-QUICK)
|
|
(AFT TO RM-SWAMP)
|
|
(GLOBAL LG-WALL RM-MOTEL-QUICK RM-SWAMP)
|
|
(ACTION RT-RM-PERSONAL-STORAGE-2)
|
|
>
|
|
|
|
<ROUTINE RT-RM-PERSONAL-STORAGE-2 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL
|
|
" This is a storage room for personal effects. One-Night's locker is on the
|
|
wall near the forward hatch leading to Motel Quick. The locker belonging to
|
|
Catfish is next to the door in the aft bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-SWAMP"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-SWAMP
|
|
(LOC ROOMS)
|
|
(DESC "the Swamp")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM SWAMP)
|
|
(FORE TO RM-PERSONAL-STORAGE-2)
|
|
(AFT TO RM-LADDER-D3)
|
|
(GLOBAL LG-WALL RM-PERSONAL-STORAGE-2 RM-LADDER-D3)
|
|
(ACTION RT-RM-SWAMP)
|
|
>
|
|
|
|
<ROUTINE RT-RM-SWAMP ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the drill crew's living quarters, appropriately nicknamed \"The Swamp.\" The
|
|
hatch to ladderwell D is in the aft bulkhead, and there is a door in the
|
|
forward bulkhead as well.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-D3"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-D3
|
|
(LOC ROOMS)
|
|
(DESC "ladderwell D")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDERWELL LADDER)
|
|
(FORE TO RM-SWAMP)
|
|
(DOWN TO RM-LADDER-D2)
|
|
(GLOBAL LG-WALL RM-SWAMP RM-LADDER-D2)
|
|
(ACTION RT-RM-LADDER-D3)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-D3 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the highest level of ladderwell D. The only exits are the ladder leading
|
|
down and the hatch in the forward bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-B3"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-B3
|
|
(LOC ROOMS)
|
|
(DESC "ladderwell B")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDER LADDERWELL)
|
|
(FORE TO RM-SB-OBS-DECK)
|
|
(AFT TO RM-COMPUTER-CENTER)
|
|
(STARBOARD TO RM-INFIRMARY)
|
|
(DOWN TO RM-LADDER-B2)
|
|
(GLOBAL LG-WALL RM-SB-OBS-DECK RM-COMPUTER-CENTER RM-INFIRMARY RM-LADDER-B2)
|
|
(ACTION RT-RM-LADDER-B3)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-B3 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the uppermost level of ladderwell B. Hatchways fore, aft, and starboard
|
|
lead to the starboard observation deck, the computer center, and the
|
|
infirmary, respectively.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-SB-OBS-DECK"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-SB-OBS-DECK
|
|
(LOC ROOMS)
|
|
(DESC "starboard observation deck")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM DECK)
|
|
(ADJECTIVE STARBOARD OBSERVATION)
|
|
(AFT TO RM-LADDER-B3)
|
|
(GLOBAL LG-WALL RM-LADDER-B3)
|
|
(ACTION RT-RM-SB-OBS-DECK)
|
|
>
|
|
|
|
<ROUTINE RT-RM-SB-OBS-DECK ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the starboard observation deck, which has a huge domed plexiglass window
|
|
that lets you look out onto the ocean floor. The only exit is in the aft
|
|
bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-COMPUTER-CENTER"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-COMPUTER-CENTER
|
|
(LOC ROOMS)
|
|
(DESC "computer center")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM CENTER)
|
|
(ADJECTIVE COMPUTER)
|
|
(FORE TO RM-LADDER-B3)
|
|
(AFT TO RM-LAB)
|
|
(GLOBAL LG-WALL RM-LADDER-B3 RM-LAB)
|
|
(ACTION RT-RM-COMPUTER-CENTER)
|
|
>
|
|
|
|
<ROUTINE RT-RM-COMPUTER-CENTER ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL
|
|
" This is Deepcore's computer center. On the desk is a dumb terminal to
|
|
the mainframe aboard the Benthic Explorer on the surface. There is some text
|
|
on the screen. Exits here lead fore and aft.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-ELECTRONICS-SHOP"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-ELECTRONICS-SHOP
|
|
(LOC ROOMS)
|
|
(DESC "electronics shop")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM SHOP)
|
|
(ADJECTIVE ELECTRONIC)
|
|
(STARBOARD TO RM-LADDER-A2)
|
|
(GLOBAL LG-WALL RM-LADDER-A2)
|
|
(ACTION RT-RM-ELECTRONICS-SHOP)
|
|
>
|
|
|
|
<ROUTINE RT-RM-ELECTRONICS-SHOP ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "step into">
|
|
)
|
|
>
|
|
<TELL
|
|
" the electronics shop, which has become Hippy's personal domain. His
|
|
workbench backs onto a storage unit that contains hundreds of clear plastic
|
|
drawers, which in turn contain thousands of connectors, pins, and other
|
|
spare parts. The workbench also has one large central drawer above the
|
|
kneehole. The only exit is in the starboard bulkhead.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
<OBJECT TH-ELEC-SHOP-DRAWER
|
|
(LOC RM-ELECTRONICS-SHOP)
|
|
(DESC "center drawer")
|
|
(FLAGS FL-CONTAINER FL-OPENABLE FL-SEARCH)
|
|
(SYNONYM DRAWER)
|
|
(ADJECTIVE CENTER)
|
|
(ACTION RT-TH-ELEC-SHOP-DRAWER)
|
|
>
|
|
|
|
<ROUTINE RT-TH-ELEC-SHOP-DRAWER ("OPT" (CONTEXT <>))
|
|
<RFALSE>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LAB"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LAB
|
|
(LOC ROOMS)
|
|
(DESC "lab")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM LAB LABORATORY)
|
|
(FORE TO RM-COMPUTER-CENTER)
|
|
(AFT TO RM-TAPE-LIBRARY)
|
|
(GLOBAL LG-WALL RM-COMPUTER-CENTER RM-TAPE-LIBRARY)
|
|
(ACTION RT-RM-LAB)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LAB ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL
|
|
" This is Deepcore's biomedical lab. The room is cleaner than most of the
|
|
other rooms aboard the habitat, but it has a curious, fishy odor to it. Exits
|
|
lead fore and aft.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-TAPE-LIBRARY"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-TAPE-LIBRARY
|
|
(LOC ROOMS)
|
|
(DESC "tape library")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM LIBRARY)
|
|
(ADJECTIVE TAPE)
|
|
(FORE TO RM-LAB)
|
|
(AFT TO RM-LADDER-C3)
|
|
(GLOBAL LG-WALL RM-LAB RM-LADDER-C3)
|
|
(ACTION RT-RM-TAPE-LIBRARY)
|
|
>
|
|
|
|
<ROUTINE RT-RM-TAPE-LIBRARY ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" Deepcore's tape library. The walls are covered with videotapes that range
|
|
in subject matter from the serious to the scatological. You can exit either
|
|
forward or aft.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"---------------------------------------------------------------------------"
|
|
; "RM-LADDER-C3"
|
|
;"---------------------------------------------------------------------------"
|
|
|
|
<ROOM RM-LADDER-C3
|
|
(LOC ROOMS)
|
|
(DESC "ladderwell C")
|
|
(FLAGS FL-INDOORS FL-LIGHTED)
|
|
(SYNONYM WELL LADDERWELL)
|
|
(ADJECTIVE LADDER LADDERWELL)
|
|
(FORE TO RM-TAPE-LIBRARY)
|
|
(DOWN TO RM-LADDER-C2)
|
|
(GLOBAL LG-WALL RM-TAPE-LIBRARY RM-LADDER-C2)
|
|
(ACTION RT-RM-LADDER-C3)
|
|
>
|
|
|
|
<ROUTINE RT-RM-LADDER-C3 ("OPTIONAL" (CONTEXT <>))
|
|
<COND
|
|
(<MC-CONTEXT? ,M-F-LOOK ,M-V-LOOK ,M-LOOK>
|
|
<TELL " You ">
|
|
<COND
|
|
(<MC-CONTEXT? ,M-LOOK>
|
|
<TELL "are in">
|
|
)
|
|
(T
|
|
<TELL "enter">
|
|
)
|
|
>
|
|
<TELL
|
|
" the highest level of ladderwell C. You see a hatch in the forward bulkhead
|
|
and a ladder leading down.|"
|
|
>
|
|
<RFALSE>
|
|
)
|
|
(.CONTEXT
|
|
<RFALSE>
|
|
)
|
|
>
|
|
>
|
|
|
|
;"***************************************************************************"
|
|
; "end of file"
|
|
;"***************************************************************************"
|
|
|