mirror of
https://github.com/historicalsource/cutthroats
synced 2024-05-03 17:39:28 +03:00
1925 lines
56 KiB
Plaintext
1925 lines
56 KiB
Plaintext
"WRECKS for TOA2
|
|
Copyright (c) 1984 Infocom, Inc."
|
|
|
|
<ROOM UNDERWATER
|
|
(IN ROOMS)
|
|
(DESC "Underwater")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL OCEAN)
|
|
(UP PER UNDERWATER-U)
|
|
(DOWN PER UNDERWATER-D)
|
|
(ACTION UNDERWATER-F)
|
|
(LINE 6)>
|
|
|
|
<ROUTINE UNDERWATER-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER>
|
|
<FCLEAR ,UNDERWATER ,TOUCHBIT>
|
|
<COND (<AND <IN? ,SHARK ,LOCAL-GLOBALS>
|
|
<NOT <QUEUED? I-SHARK>>>
|
|
<ENABLE <QUEUE I-SHARK <RANDOM
|
|
<- </ ,OCEAN-BOTTOM 50> 1>>>>)>
|
|
<MOVE ,LINE-HACK ,UNDERWATER>
|
|
<RFALSE>)
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
<TELL "You are in the sea, completely surrounded by water." CR>)
|
|
(<EQUAL? .RARG ,M-BEG>
|
|
<COND (<EQUAL? ,LINE-HACK ,PRSO ,PRSI>
|
|
<TELL-CANT-REACH
|
|
"the line. Worry about it when you've found the treasure">)
|
|
(<AND <VERB? WALK>
|
|
<NOT <EQUAL? ,P-WALK-DIR ,P?UP ,P?DOWN>>>
|
|
<TELL-NOWHERE>)
|
|
(<VERB? WALK DIVE SWIM LOOK EXAMINE SAVE RESTORE QUIT
|
|
SCORE TIME FIND DIAGNOSE LAMP-ON LAMP-OFF OPEN
|
|
CLOSE TAKE READ BREATHE WAIT INVENTORY VERSION
|
|
AGAIN WHAT SCRIPT UNSCRIPT RESTART $CALL>
|
|
<RFALSE>)
|
|
(<VERB? DROP THROW>
|
|
<TELL-NO-LITTER>)
|
|
;(<VERB? LOOK-UP>
|
|
<TELL "You see water." CR>)
|
|
(T
|
|
<TELL-YOU-CANT "do that underwater.">
|
|
<RFATAL>)>)>>
|
|
|
|
<ROUTINE TELL-NOWHERE ()
|
|
<TELL "That won't get you anywhere." CR>>
|
|
|
|
<ROUTINE UNDERWATER-U ("OPTIONAL" (PRINT? T) "AUX" L)
|
|
<COND (<NOT .PRINT?>
|
|
<RFALSE>)>
|
|
<SETG DEPTH <- ,DEPTH 50>>
|
|
<COND (<AND <NOT <IN? ,SAFETY-LINE <SET L <LOC ,WEASEL>>>>
|
|
<NOT <IN? ,TREASURE-CHEST .L>>
|
|
<NOT <IN? ,EMPTY-CHEST .L>>>
|
|
<FCLEAR ,LINE-HACK ,INVISIBLE>)>
|
|
<COND (<==? ,DEPTH 0>
|
|
<TELL "You get out of the water and reboard your ship..." CR CR>
|
|
<DISABLE <INT I-AIR-SUPPLY>>
|
|
<COND (<ENABLED? I-LAST-GASP>
|
|
<DISABLE <INT I-LAST-GASP>>)
|
|
(T <DISABLE <INT I-MM-COMPRESSOR>>)>
|
|
<COND (<OR <FSET? ,OCEAN-FLOOR ,TOUCHBIT>
|
|
<FSET? ,WRECK-1 ,TOUCHBIT>>
|
|
<RATING-UPD 25>
|
|
<COND (<OR <IN? ,SAFETY-LINE ,TREASURE-CHEST>
|
|
<AND <IN? ,GLASS-CASE ,PLAYER>
|
|
<NOT <FSET? ,STAMPS ,RMUNGBIT>>>>
|
|
<RATING-UPD 25>
|
|
<COND (<IN? ,TREASURE-CHEST <LOC, WEASEL>>
|
|
<TREASURE-CHEST-WIN>)
|
|
(<IN? ,SAFETY-LINE ,TREASURE-CHEST>
|
|
<CHEST-PULL-UP>
|
|
<TREASURE-CHEST-WIN>)
|
|
(T <TELL
|
|
"When your shipmates find that you've recovered these priceless stamps, they
|
|
congratulate you. ">)>
|
|
<COND (<OR ,WEASEL-BLOWN
|
|
<FSET? ,ENVELOPE ,INVISIBLE>>
|
|
<TELL
|
|
"Johnny slaps you on the back. \"Good job, matey!\" As you return to the
|
|
island over the calm, dazzling blue sea, you contemplate your wealth with a
|
|
touch of sadness. You think of Hevlin and hope his soul is resting a little
|
|
easier now." CR CR>
|
|
<RATING-UPD 20>
|
|
<V-SCORE>
|
|
<USL>
|
|
<QUIT>)
|
|
(T
|
|
<TELL
|
|
"Exhilarated but tired, you lie out on the deck. You fall asleep at once,
|
|
and dream of a tropical paradise. But even as you dream, your throat is
|
|
cut! And as your life drains away, you realize how foolish it was not to
|
|
have suspected a traitor!" CR>
|
|
<FINISH>)>)
|
|
(<AND <IN? ,GLASS-CASE ,PLAYER>
|
|
<FSET? ,STAMPS ,RMUNGBIT>>
|
|
<TELL
|
|
"But their elation turns to disappointment, as they notice that the
|
|
stamps are waterlogged and, thus, worthless">
|
|
<LONG-TRIP>)
|
|
(<IN? ,EMPTY-CHEST <LOC ,WEASEL>>
|
|
<EMPTY-CHEST-LOSE>)
|
|
(<IN? ,SAFETY-LINE ,EMPTY-CHEST>
|
|
<CHEST-PULL-UP>
|
|
<EMPTY-CHEST-LOSE>)
|
|
(T
|
|
<TELL
|
|
"When your shipmates find out that you haven't found any treasure,
|
|
Johnny shakes his head. You can't help feeling you've let them, as well as
|
|
" D ,GLOBAL-SELF ", down">
|
|
<LONG-TRIP>)>)
|
|
(<AND ,AT-SEA ;,MOMENT-OF-TRUTH <G? ,PRESENT-TIME 720>>
|
|
<TELL
|
|
"Johnny looks downcast when he sees that you empty-handed. \"Let's get back
|
|
to the Island. Maybe another time...\"" CR>
|
|
<FINISH>)
|
|
(<==? ,SHIP-CHOSEN ,TRAWLER>
|
|
<FSET ,OCEAN ,VEHBIT>
|
|
<MOVE ,LINE-HACK ,NW-AFT-DECK>
|
|
<RETURN ,NW-AFT-DECK>)
|
|
(T
|
|
<FSET ,OCEAN ,VEHBIT>
|
|
<MOVE ,LINE-HACK ,MM-AFT-DECK>
|
|
<RETURN ,MM-AFT-DECK>)>)
|
|
(T
|
|
<TELL "You ascend ">
|
|
<COND (<==? ,HERE ,UNDERWATER>
|
|
<TELL "another ">)>
|
|
<TELL "50 feet..." CR CR>
|
|
<COND (<AND ,DOOMED <==? ,DEPTH 250>>
|
|
<JIGS-UP
|
|
"You suddenly find yourself inhaling water! The airhose trailing behind
|
|
must have torn, and there's no time to do anything about it!">)
|
|
(T <RETURN ,UNDERWATER>)>)>>
|
|
|
|
<ROUTINE CHEST-PULL-UP ()
|
|
<COND (<EQUAL? <LOC ,WEASEL> ,MM-AFT-DECK ,NW-AFT-DECK>
|
|
<START-SENTENCE ,WEASEL>)
|
|
(T <START-SENTENCE ,JOHNNY>)>
|
|
<TELL " pulls on the " D ,SAFETY-LINE " and drags up the chest. ">>
|
|
|
|
<ROUTINE EMPTY-CHEST-LOSE ()
|
|
<TELL-1ST-CHEST-LINE>
|
|
<TELL
|
|
"disappointment, the contents are nothing more than old Portuguese
|
|
newspapers">
|
|
<LONG-TRIP>>
|
|
|
|
<ROUTINE TELL-1ST-CHEST-LINE ()
|
|
<TELL
|
|
"Johnny spends several minutes forcing open the chest. To everyone's ">>
|
|
|
|
<ROUTINE LONG-TRIP ()
|
|
<TELL ". It will be a long trip back." CR>
|
|
<FINISH>>
|
|
|
|
<ROUTINE TREASURE-CHEST-WIN ()
|
|
<TELL-1ST-CHEST-LINE>
|
|
<TELL
|
|
"delight, there are hundreds of gold escudos inside. ">>
|
|
|
|
<ROUTINE UNDERWATER-D ("OPTIONAL" (PRINT? T))
|
|
<COND (<NOT .PRINT?>
|
|
<RFALSE>)>
|
|
<SETG DEPTH <+ ,DEPTH 50>>
|
|
<COND (<AND <G? ,DEPTH 300>
|
|
<NOT <FSET? ,DEEP-SUIT ,WORNBIT>>>
|
|
<JIGS-UP
|
|
"As you descend further, Merv Griffin swims by, offering you Pittsburgh
|
|
Penguin tickets. You realize too late that this is a hallucination, since
|
|
Merv doesn't even like the Penguins. At this depth, narcosis takes over,
|
|
and all that's left is to say bye to Merv...">)
|
|
(<==? ,DEPTH ,OCEAN-BOTTOM>
|
|
<COND (,WRECK-CHOSEN
|
|
<TELL-FLUTTER-TO "a shipwreck">
|
|
<RETURN ,WRECK-1>)
|
|
(T
|
|
<TELL-FLUTTER-TO "the ocean floor">
|
|
<RETURN ,OCEAN-FLOOR>)>)
|
|
(T
|
|
<TELL "You descend another 50 feet..." CR CR>
|
|
<RETURN ,UNDERWATER>)>>
|
|
|
|
<ROUTINE TELL-FLUTTER-TO (STR)
|
|
<TELL "You flutter down to " .STR "..." CR CR>>
|
|
|
|
<GLOBAL OCEAN-BOTTOM 400>
|
|
<GLOBAL DEPTH 0>
|
|
|
|
<OBJECT SHARK
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "shark")
|
|
(SYNONYM SHARK FISH)
|
|
(ADJECTIVE UGLY LARGE BIG HUGE TOOTHY)
|
|
(FLAGS NDESCBIT)
|
|
(TEXT
|
|
"The large, ugly, toothy shark is headed toward you!")>
|
|
|
|
<ROOM OCEAN-FLOOR
|
|
(IN ROOMS)
|
|
(DESC "Ocean Floor")
|
|
(LDESC
|
|
"You are on the ocean floor. Sediment and seaweed wave slowly with the
|
|
current.")
|
|
(GLOBAL OCEAN)
|
|
(FLAGS RLANDBIT)
|
|
(LINE 6)
|
|
(UP PER UNDERWATER-U)
|
|
(ACTION OCEAN-FLOOR-F)>
|
|
|
|
<ROUTINE OCEAN-FLOOR-F ("OPTIONAL" (RARG <>))
|
|
<COND (<==? .RARG ,M-BEG>
|
|
<COND (<AND <VERB? WALK>
|
|
<NOT <==? ,P-WALK-DIR ,P?UP>>>
|
|
<TELL-NOWHERE>)>)>>
|
|
<ROOM WRECK-1
|
|
(IN ROOMS)
|
|
(DESC "Top Deck")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK WEST-LADDER FLOOR-HOLE-1 FLOOR-HOLE-2 MAST)
|
|
(VALUE 20)
|
|
(UP PER UNDERWATER-U)
|
|
(SOUTH TO WRECK-2)
|
|
(DOWN PER WRECK-1-D)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(ACTION WRECK-1-F)>
|
|
|
|
<ROUTINE WRECK-1-F (RARG)
|
|
<COND (<==? .RARG ,M-ENTER>
|
|
<COND (<NOT <FSET? ,WRECK-1 ,TOUCHBIT>>
|
|
<FSET ,LINE-HACK ,INVISIBLE>
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
;<ENABLE <QUEUE I-PENDULUM -1>>
|
|
<MOVE ,SQUID ,WRECK-12>
|
|
<MOVE ,IRON-BAR ,WRECK-5>
|
|
<COND (<==? ,WRECK-FOUND 1>
|
|
<MOVE ,TREASURE-CHEST ,WRECK-11>
|
|
<MOVE ,EMPTY-CHEST ,WRECK-9>)>
|
|
<MOVE ,SKELETON ,WRECK-10>
|
|
<MOVE ,SCABBARD ,SKELETON>
|
|
<PUTP ,WRECK-8 ,P?VALUE 10>
|
|
;<PUTP ,WRECK-16 ,P?VALUE 10>
|
|
;<PUTP ,WRECK-3 ,P?VALUE 20>
|
|
<FCLEAR ,CEILING-HOLE-1 ,INVISIBLE>
|
|
<FCLEAR ,FLOOR-HOLE-1 ,INVISIBLE>
|
|
<MOVE ,CASK ,WRECK-6>
|
|
<MOVE ,ROPE ,WRECK-4>
|
|
<MOVE ,BROKEN-MAST ,WRECK-4>
|
|
<PUTP ,WRECK-5 ,P?DESCFCN 80>
|
|
<PUTP ,WRECK-7 ,P?DESCFCN 45>
|
|
<PUTP ,WRECK-8 ,P?DESCFCN 45>
|
|
<FCLEAR ,FALLEN-BUNK ,INVISIBLE>
|
|
<FCLEAR ,MAST ,INVISIBLE>
|
|
<FCLEAR ,JAGGED-HOLE ,INVISIBLE>)
|
|
(<==? ,WRECK-CHOSEN 2>
|
|
<FCLEAR ,AIRTIGHT-DOOR ,INVISIBLE>
|
|
<FCLEAR ,AIRTIGHT-DOOR ,OPENBIT>
|
|
<FCLEAR ,LOCKER-DOOR ,INVISIBLE>
|
|
<FCLEAR ,LOCKER-DOOR ,OPENBIT>
|
|
<MOVE ,SAFE ,WRECK-8>
|
|
<PUTP ,SAFE ,P?ACTION SAFE-F>
|
|
<FCLEAR ,SAFE ,NDESCBIT>
|
|
<COND (<==? ,WRECK-FOUND 2>
|
|
<MOVE ,GLASS-CASE ,SAFE>)>
|
|
<MOVE ,MINE ,WRECK-11>
|
|
<MOVE ,CLUMP-OF-MINES ,WRECK-11>
|
|
<FCLEAR ,CEILING-HOLE-2 ,INVISIBLE>
|
|
<FCLEAR ,FLOOR-HOLE-2 ,INVISIBLE>
|
|
<PUTP ,WRECK-6 ,P?VALUE 25>
|
|
<PUTP ,WRECK-1 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-2 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-3 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-4 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-5 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-6 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-7 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-8 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-9 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-10 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-11 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-12 ,P?DESCFCN 100>
|
|
<PUTP ,WRECK-13 ,P?DESCFCN 100>)>)
|
|
(<==? ,WRECK-CHOSEN 2>
|
|
<PUTP ,FLOOR-HOLE-2 ,P?SDESC "hole">)>)
|
|
(<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-1-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)>>
|
|
|
|
<GLOBAL WRECK-CHOSEN 0>
|
|
|
|
<GLOBAL WRECK-1-DESCS
|
|
<PLTABLE
|
|
"You are at the bow of an old, rotting wreck where a ladder leads down
|
|
through a large square hole in the deck. When the ship sank, the top of one of
|
|
the masts broke off and fell into the hole. What's left of the
|
|
deck continues aft."
|
|
"You are at the bow of a steel ship that has been here
|
|
for quite a while. The deck continues aft, and there is a passage
|
|
leading down at your feet."
|
|
"This is the bow of a very empty-looking wreck. The deck continues aft.">>
|
|
|
|
<ROUTINE WRECK-1-D ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<COND (.PRINT?
|
|
<COND (<FSET? ,WEST-LADDER ,RMUNGBIT>
|
|
<TELL-GRACEFUL>)
|
|
(T
|
|
<FSET ,WEST-LADDER ,RMUNGBIT>
|
|
<TELL
|
|
"As you put your foot on the top rung, the rotting wood gives way. The other
|
|
rungs break beneath your weight, and you plummet down to the deck below..." CR
|
|
CR>)>)>
|
|
<RETURN ,WRECK-4>)
|
|
(<EQUAL? ,WRECK-CHOSEN 3>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-4>)>>
|
|
|
|
<OBJECT WEST-LADDER
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "ladder")
|
|
(SYNONYM LADDER WOOD PIECE PIECES)
|
|
(ADJECTIVE BROKEN WOODEN RUNG RUNGS)
|
|
(FLAGS TRYTAKEBIT)
|
|
(ACTION WEST-LADDER-F)>
|
|
|
|
<ROUTINE WEST-LADDER-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<COND (<FSET? ,WEST-LADDER ,RMUNGBIT>
|
|
<COND (<EQUAL? ,HERE ,WRECK-1>
|
|
<TELL
|
|
"All that's left are a couple of pieces that were broken off at the top."
|
|
CR>)
|
|
(T <TELL
|
|
"The ladder is nothing more than some broken pieces of wood." CR>)>)
|
|
(T <TELL "Looks like a ladder." CR>)>)
|
|
(<VERB? TAKE>
|
|
<COND (<OR <EQUAL? ,HERE ,WRECK-1>
|
|
<NOT <FSET? ,WEST-LADDER ,RMUNGBIT>>>
|
|
<TELL <PICK-ONE ,YUKS> CR>)
|
|
(T <TELL "None of the pieces looks useful." CR>)>)
|
|
(<VERB? CLIMB-FOO>
|
|
<COND (<EQUAL? ,HERE ,WRECK-1>
|
|
<DO-WALK ,P?DOWN>)
|
|
(T <DO-WALK ,P?UP>)>
|
|
<SETG P-IT-OBJECT ,WEST-LADDER>
|
|
<RTRUE>)>>
|
|
|
|
<ROOM WRECK-2
|
|
(IN ROOMS)
|
|
(DESC "Top Deck")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK)
|
|
(NORTH TO WRECK-1)
|
|
(SOUTH TO WRECK-3)
|
|
(UP PER UNDERWATER-U)
|
|
;(DOWN PER WRECK-2-D)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(ACTION WRECK-2-F)>
|
|
|
|
<ROUTINE WRECK-2-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-2-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)>>
|
|
|
|
<GLOBAL WRECK-2-DESCS
|
|
<PLTABLE
|
|
"You are now aft of midships on the topmost deck. The deck continues fore and
|
|
aft."
|
|
"You are now aft of midships on the topmost deck. The deck continues fore and
|
|
aft."
|
|
"You are now aft of midships on the topmost deck. The deck continues fore and
|
|
aft.">>
|
|
|
|
;<ROUTINE WRECK-2-D ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1 2>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-6>)>>
|
|
|
|
;<ROUTINE WRECK-2-E ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<COND (<NOT .PRINT?> <RETURN ,WRECK-3>)
|
|
(T
|
|
<TELL "Fallen masts block your way." CR>
|
|
<RFALSE>)>)
|
|
(T <RETURN ,WRECK-3>)>>
|
|
|
|
<ROOM WRECK-3
|
|
(IN ROOMS)
|
|
(DESC "Top Deck")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL MAST SHIPWRECK OCEAN DECK FLOOR-HOLE-1)
|
|
(NORTH TO WRECK-2)
|
|
(UP PER UNDERWATER-U)
|
|
(DOWN PER WRECK-3-D)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(ACTION WRECK-3-F)>
|
|
|
|
<ROUTINE WRECK-3-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-3-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)>>
|
|
|
|
<GLOBAL WRECK-3-DESCS
|
|
<PLTABLE
|
|
"You are on the narrowing aft deck of the ship, which continues forward. A hole
|
|
at the base of one mast leads down."
|
|
"You are on the aft deck of the ship. Passengers could have gathered
|
|
here to sun themselves and sip drinks. Those times are long gone.
|
|
The only way to proceed is forward."
|
|
"You are at the stern of this wreck. The deck continues forward.">>
|
|
|
|
<ROUTINE WRECK-3-D ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<COND (.PRINT?
|
|
<COND (,DOOMED
|
|
<JIGS-UP
|
|
"Your airhose catches and tears on the way down.">)
|
|
(T
|
|
<SETG DOOMED T>
|
|
<TELL-GRACEFUL>)>)>
|
|
<RETURN ,WRECK-7>)
|
|
(T
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)>>
|
|
|
|
<ROUTINE TELL-GRACEFUL ()
|
|
<TELL "You sink gracefully down to the next deck..." CR CR>>
|
|
|
|
<GLOBAL DOOMED <>>
|
|
|
|
;<ROUTINE WRECK-3-W ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<COND (<NOT .PRINT?> <RETURN ,WRECK-2>)
|
|
(T
|
|
<TELL "Fallen masts block your way." CR>
|
|
<RFALSE>)>)
|
|
(T <RETURN ,WRECK-2>)>>
|
|
|
|
<ROOM WRECK-4
|
|
(IN ROOMS)
|
|
(DESC "Middle Deck")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK WEST-LADDER BUNKS CEILING-HOLE-1
|
|
CEILING-HOLE-2 FLOOR-HOLE-2)
|
|
(UP PER WRECK-4-U)
|
|
(SOUTH PER WRECK-4-N)
|
|
(DOWN PER WRECK-4-D)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(PSEUDO "DEBRIS" DEBRIS-PSEUDO "BARNAC" BARNACLE-PSEUDO)
|
|
(ACTION WRECK-4-F)>
|
|
|
|
<ROUTINE WRECK-4-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-4-DESCS ,WRECK-CHOSEN>>
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<COND (<FSET? ,ROPE ,NDESCBIT>
|
|
<TELL-WRAPPED "the mast">)>)>
|
|
<CRLF>)
|
|
(<AND <==? .RARG ,M-ENTER>
|
|
<==? ,WRECK-CHOSEN 2>>
|
|
<PUTP ,CEILING-HOLE-2 ,P?SDESC "upper hole">
|
|
<FSET ,CEILING-HOLE-2 ,VOWELBIT>
|
|
<PUTP ,FLOOR-HOLE-2 ,P?SDESC "lower hole">
|
|
<RFALSE>)
|
|
(<==? .RARG ,M-BEG>
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<NOT-THIS-WRECK ,BUNKS>)
|
|
(<==? ,WRECK-CHOSEN 2>
|
|
<NOT-THIS-WRECK ,PSEUDO-OBJECT>)>)>>
|
|
|
|
<GLOBAL WRECK-4-DESCS
|
|
<PLTABLE
|
|
"This cabin was apparently used for storage, although what's left can only
|
|
be described as debris. There is an exit abaft, a doorway outlined with
|
|
barnacle-encrusted timbers. There is a hole above your head through which
|
|
a broken-off mast descends."
|
|
"This cabin seems to have been sleeping quarters. It must have
|
|
been used by the crew, as it is spartanly furnished. The only ways
|
|
out of this room are up and down."
|
|
"bug"
|
|
;"This cabin is eerily empty, as though someone had taken everything out. You
|
|
can go aft, up, or down from here.">>
|
|
|
|
<ROUTINE TELL-WRAPPED (STR)
|
|
<TELL " A rope is wrapped around " .STR ".">>
|
|
|
|
<ROUTINE WRECK-4-N ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 2>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-5>)>>
|
|
|
|
<ROUTINE WRECK-4-U ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<COND (.PRINT?
|
|
<COND (,ROPE-HANGING
|
|
<TELL-ROPE-HIGH>)
|
|
(<FSET? ,WEST-LADDER ,RMUNGBIT>
|
|
<TELL
|
|
"There's no way to get back up what's left of the ladder." CR>)
|
|
(T
|
|
<FSET ,WEST-LADDER ,RMUNGBIT>
|
|
<TELL
|
|
"As you start to climb, a rung collapses under your foot. You grab
|
|
at other rungs but find you are back where you started
|
|
amidst several pieces of what used to be the ladder." CR>)>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-1>)>)
|
|
(T
|
|
<COND (<AND <IN? ,GLASS-CASE ,PLAYER>
|
|
<NOT <FSET? ,STAMPS ,RMUNGBIT>>
|
|
<G? ,WATER-IN-CASE 0>>
|
|
<FSET ,STAMPS ,RMUNGBIT>
|
|
<SETG WATER-IN-CASE 10>
|
|
<TELL
|
|
"As you go up, the water in the " D ,GLASS-CASE
|
|
" sloshes around, ruining the stamps." CR CR>)>
|
|
<RETURN ,WRECK-1>)>>
|
|
|
|
<ROUTINE WRECK-4-D ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-9>)>>
|
|
|
|
<GLOBAL WRECK-5-FLOODED <>>
|
|
|
|
<ROUTINE AIRTIGHT-ROOM? ()
|
|
<COND (<AND <==? ,WRECK-CHOSEN 2>
|
|
<==? ,HERE ,WRECK-5>
|
|
<NOT ,WRECK-5-FLOODED>>
|
|
<RTRUE>)>>
|
|
|
|
;<GLOBAL DOOR-HOLES 0>
|
|
|
|
<OBJECT ROPE
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "rope")
|
|
(SYNONYM ROPE)
|
|
(ADJECTIVE HANGIN)
|
|
(FLAGS NDESCBIT TRYTAKEBIT)
|
|
(DESCFCN ROPE-F)
|
|
(ACTION ROPE-F)>
|
|
|
|
<ROUTINE ROPE-F ("OPTIONAL" (RARG <>))
|
|
<COND (<==? .RARG ,M-OBJDESC>
|
|
<COND (<FSET? ,ROPE ,TAKEBIT>
|
|
<TELL "A length of rope lies here.">)
|
|
(T <TELL "A rope hangs down here.">)>
|
|
<CRLF>)
|
|
(<VERB? CUT>
|
|
<COND (<PRSI? ,SWORD>
|
|
<COND (,ROPE-HANGING ;"second cut"
|
|
<FSET ,ROPE ,TAKEBIT>
|
|
<SETG ROPE-HANGING <>>
|
|
<TELL
|
|
"A three-foot length of rope falls to the deck." CR>)
|
|
(<FSET? ,ROPE ,NDESCBIT> ;"first cut"
|
|
<COND (<IN? ,PLAYER ,CASK>
|
|
<SETG ROPE-HANGING T>
|
|
<FCLEAR ,ROPE ,NDESCBIT>
|
|
<RATING-UPD 15>
|
|
<TELL
|
|
"The rope falls to within eight feet of the floor." CR>)
|
|
(T <TELL-ROPE-HIGH>)>)
|
|
(T ;"third cut"
|
|
<MOVE ,ROPE ,LOCAL-GLOBALS>
|
|
<TELL
|
|
"You chop the rope into many small pieces, which float off on the current and
|
|
become lost among the debris." CR>)>)
|
|
(T <TELL-YOU-CANT "cut it with that.">)>)
|
|
(<NOT ,ROPE-HANGING>
|
|
<COND (<VERB? RUB MOVE UNTIE CLIMB-FOO TAKE>
|
|
<COND (<FSET? ,ROPE ,TAKEBIT>
|
|
<RFALSE>)
|
|
(T <TELL-ROPE-HIGH>)>)>)
|
|
(<VERB? TAKE>
|
|
<TELL "It's tied securely above." CR>)
|
|
(<VERB? CLIMB-FOO>
|
|
<DO-WALK ,P?UP>
|
|
<SETG P-IT-OBJECT ,ROPE>
|
|
<RTRUE>)
|
|
(<VERB? UNTIE>
|
|
<TELL-CANT-REACH "the top knot">)>>
|
|
|
|
<GLOBAL ROPE-HANGING <>>
|
|
|
|
<OBJECT BROKEN-MAST
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "mast")
|
|
(SYNONYM MAST)
|
|
(ADJECTIVE BROKEN SUSPEN FALLEN)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION BROKEN-MAST-F)>
|
|
|
|
<ROUTINE BROKEN-MAST-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL "The mast is suspended securely above you.">
|
|
<COND (,ROPE-HANGING
|
|
<TELL " A rope is hanging from it.">)
|
|
(<FSET? ,ROPE ,NDESCBIT>
|
|
<TELL-WRAPPED "it">)>
|
|
<CRLF>)
|
|
(<VERB? RUB MOVE UNTIE CLIMB-FOO TAKE>
|
|
<TELL-CANT-REACH "the mast">)>>
|
|
|
|
<ROOM WRECK-5
|
|
(IN ROOMS)
|
|
(DESC "Middle Deck")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK BUNKS AIRTIGHT-DOOR FLOOR-HOLE-2
|
|
LG-IRON-BAR BARNACLES)
|
|
(SOUTH TO WRECK-6 IF AIRTIGHT-DOOR IS OPEN)
|
|
(NORTH PER WRECK-5-N)
|
|
(DOWN PER WRECK-5-D)
|
|
(PSEUDO "PLAQUE" PLAQUE-PSEUDO "PARTIT" PARTITIONS-PSEUDO)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(ACTION WRECK-5-F)>
|
|
|
|
<ROUTINE WRECK-5-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<COND (<==? ,WRECK-CHOSEN 2>
|
|
<TELL "This cabin was once a passenger compartment, ">
|
|
<COND (,WRECK-5-FLOODED
|
|
<TELL
|
|
"but it is now flooded. There is a passage leading down through the deck, and a
|
|
door in the aft " D ,BULKHEADS ".">)
|
|
(T <TELL
|
|
"although the fragile
|
|
partitions within have collapsed. The room is filled with
|
|
air and a glance tells you why: the closed door to aft kept the
|
|
air and water pressures equalized, stopping the flow of water up
|
|
through the hole in the deck.">)>)
|
|
(T <TELL <GET ,WRECK-5-DESCS ,WRECK-CHOSEN>>)>
|
|
<CRLF>)
|
|
(<==? .RARG ,M-BEG>
|
|
<COND (<AND <NOT <==? ,WRECK-CHOSEN 1>>
|
|
<EQUAL? ,LG-IRON-BAR ,PRSO ,PRSI>>
|
|
<GLOBAL-NOT-HERE-PRINT ,LG-IRON-BAR>)
|
|
(<AND <NOT <==? ,WRECK-CHOSEN 1>>
|
|
<EQUAL? ,BARNACLES ,PRSO ,PRSI>>
|
|
<GLOBAL-NOT-HERE-PRINT ,BARNACLES>)>)
|
|
(<==? .RARG ,M-ENTER>
|
|
<COND (<AND <IN? ,GLASS-CASE ,PLAYER>
|
|
<NOT ,WRECK-5-FLOODED>>
|
|
<DISABLE <INT I-CASE-LEAK>>
|
|
<COND (<AND <IN? ,HOLE-2 ,GLASS-CASE>
|
|
<NOT <IN? ,PUTTY ,GLASS-CASE>>>
|
|
<SETG WATER-IN-CASE 0>)>)>)>>
|
|
|
|
<GLOBAL WRECK-5-DESCS
|
|
<PLTABLE
|
|
"This area is full of barnacle-encrusted iron bars, probably pikes used by
|
|
the sailors for fending off boarding parties. There is a plaque on one wall.
|
|
Exits are fore and aft."
|
|
"bug"
|
|
"bug"
|
|
;"You are in a cabin with nothing in it. There are passages fore, aft, up, and
|
|
down.">>
|
|
|
|
<ROUTINE WRECK-5-N ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 2>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-4>)>>
|
|
|
|
<ROUTINE WRECK-5-D ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-10>)>>
|
|
|
|
<OBJECT AIRTIGHT-DOOR
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "door")
|
|
(FLAGS INVISIBLE DOORBIT OPENBIT)
|
|
(SYNONYM DOOR)
|
|
(ACTION AIRTIGHT-DOOR-F)>
|
|
|
|
<ROUTINE AIRTIGHT-DOOR-F ()
|
|
<COND (<VERB? OPEN>
|
|
<COND (<FSET? ,AIRTIGHT-DOOR ,OPENBIT>
|
|
<TELL-ALREADY "open">)
|
|
(T
|
|
<FSET ,AIRTIGHT-DOOR ,OPENBIT>
|
|
<TELL-NOW ,AIRTIGHT-DOOR "open">
|
|
<COND (<NOT ,WRECK-5-FLOODED>
|
|
<SETG WRECK-5-FLOODED T>
|
|
<COND (<EQUAL? ,HERE ,WRECK-5>
|
|
<COND (<AND
|
|
<NOT <FSET? ,DEEP-SUIT ,WORNBIT>>
|
|
<OR <NOT <FSET? ,MASK ,WORNBIT>>
|
|
<NOT <IN? ,AIR-TANK ,PLAYER>>
|
|
<NOT <FSET? ,WET-SUIT ,WORNBIT>>>>
|
|
<JIGS-UP
|
|
"Water rushes into the room, making you realize the value of your equipment.">)
|
|
(T <TELL
|
|
"Water rushes in through the open door and the hole in the deck,
|
|
filling the room to above your head, forcing the air out." CR>)>)
|
|
(T <TELL
|
|
"Water rushes through the door into the next room." CR>)>)>
|
|
<RTRUE>)>)
|
|
(<VERB? CLOSE>
|
|
<COND (<FSET? AIRTIGHT-DOOR ,OPENBIT>
|
|
<FCLEAR ,AIRTIGHT-DOOR ,OPENBIT>
|
|
<TELL-NOW ,AIRTIGHT-DOOR "closed">)
|
|
(T
|
|
<TELL-ALREADY "closed">)>)>>
|
|
|
|
<OBJECT IRON-BAR
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "iron bar")
|
|
(SYNONYM BAR ROD PIKE)
|
|
(ADJECTIVE IRON METAL HEAVY)
|
|
(FLAGS TAKEBIT NDESCBIT VOWELBIT)
|
|
(STATION 30) ;"metal content"
|
|
(SIZE 9)
|
|
(TEXT
|
|
"This heavy iron bar was probably used as a pike.")
|
|
(ACTION IRON-BAR-F)>
|
|
|
|
<ROUTINE IRON-BAR-F ()
|
|
<COND (<IN? ,IRON-BAR ,FALLEN-BUNK>
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL "The " D ,IRON-BAR " is" ,WEDGED-STR CR>)
|
|
(<VERB? TAKE MOVE>
|
|
<TELL "It's too tightly" ,WEDGED-STR CR>)>)
|
|
(<VERB? TAKE>
|
|
<COND (<ITAKE>
|
|
<COND (<EQUAL? ,HERE ,WRECK-5>
|
|
<FCLEAR ,IRON-BAR ,NDESCBIT>
|
|
<TELL
|
|
"You take one of the " D ,IRON-BAR "s." CR>)
|
|
(T <TELL "Taken." CR>)>)>
|
|
<RTRUE>)
|
|
(<VERB? DROP>
|
|
<COND (<AND <V-DROP>
|
|
<EQUAL? ,HERE ,WRECK-5>>
|
|
<FSET ,IRON-BAR ,NDESCBIT>)>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT LG-IRON-BAR ;"the ones left on the deck"
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "lot of iron bars")
|
|
(SYNONYM BAR PIKE PIKES BARS)
|
|
(ADJECTIVE IRON BARNAC METAL)
|
|
(FLAGS TRYTAKEBIT)
|
|
(ACTION LG-IRON-BAR-F)>
|
|
|
|
<ROUTINE LG-IRON-BAR-F ()
|
|
<COND (<AND <VERB? TAKE>
|
|
<IN? ,IRON-BAR ,HERE>>
|
|
<PERFORM ,V?TAKE ,IRON-BAR>
|
|
<RTRUE>)
|
|
(T <TELL
|
|
"These are a " D ,LG-IRON-BAR " held firmly together by barnacles." CR>)>>
|
|
|
|
<ROUTINE PLAQUE-PSEUDO ("OPTIONAL" (PARG <>))
|
|
<COND (<==? .PARG ,M-NAME>
|
|
<PUTP ,PSEUDO-OBJECT ,P?SDESC "plaque">)
|
|
(<EQUAL? ,WRECK-CHOSEN 1>
|
|
<COND (<VERB? READ EXAMINE>
|
|
<TELL
|
|
"Although your knowledge of 17th-century Portuguese is minimal,
|
|
you can see that the ship is named the Sao Vera, and the plaque
|
|
is signed by King Alfonso VI." CR>)>)
|
|
(T <GLOBAL-NOT-HERE-PRINT ,PSEUDO-OBJECT>)>>
|
|
|
|
<ROUTINE PARTITIONS-PSEUDO ("OPTIONAL" (PARG <>))
|
|
<COND (<==? .PARG ,M-NAME>
|
|
<PUTP ,PSEUDO-OBJECT ,P?SDESC "fallen partition">)
|
|
(<==? ,WRECK-CHOSEN 2>
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"These partitions once separated cabins." CR>)>)
|
|
(T <GLOBAL-NOT-HERE-PRINT ,PSEUDO-OBJECT>)>>
|
|
|
|
<ROOM WRECK-6
|
|
(IN ROOMS)
|
|
(DESC "Middle Deck")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK AIRTIGHT-DOOR FLOOR-HOLE-2)
|
|
(NORTH TO WRECK-5 IF AIRTIGHT-DOOR IS OPEN)
|
|
(SOUTH PER WRECK-6-S)
|
|
(DOWN PER WRECK-6-D)
|
|
;(UP PER WRECK-6-U)
|
|
(VALUE 0)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(PSEUDO "WOOD" WOOD-PSEUDO "TABLES" OVERTURNED-PSEUDO)
|
|
(ACTION WRECK-6-F)>
|
|
|
|
<ROUTINE WRECK-6-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-6-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)
|
|
(<==? .RARG ,M-ENTER>
|
|
<COND (<AND <NOT <FSET? ,DEEP-SUIT ,WORNBIT>>
|
|
<OR <NOT <FSET? ,MASK ,WORNBIT>>
|
|
<NOT <IN? ,AIR-TANK ,PLAYER>>
|
|
<NOT <FSET? ,WET-SUIT ,WORNBIT>>>>
|
|
<JIGS-UP ,WATERY-ENVIRONMENT>)
|
|
(<COMPILER-SUCKS-EXP-2>
|
|
<ENABLE <INT I-CASE-LEAK>>)>)>>
|
|
|
|
<GLOBAL WATERY-ENVIRONMENT
|
|
"As you return to a watery environment, you realize the value of leaving your
|
|
equipment on.">
|
|
|
|
<ROUTINE COMPILER-SUCKS-EXP-2 ()
|
|
<COND (<FSET? ,STAMPS ,RMUNGBIT>
|
|
<RFALSE>)
|
|
(<NOT <IN? ,GLASS-CASE ,PLAYER>>
|
|
<RFALSE>)
|
|
(<OR <NOT <IN? ,PUTTY ,GLASS-CASE>>
|
|
<AND <OR <IN? ,HOLE-1 ,GLASS-CASE>
|
|
<IN? ,HOLE-2 ,GLASS-CASE>>
|
|
,NO-HOLE-PLUGGED>>
|
|
<RTRUE>)
|
|
(T <RFALSE>)>>
|
|
|
|
<GLOBAL WRECK-6-DESCS
|
|
<PLTABLE
|
|
"This was a galley or a pantry, though only the shape and
|
|
size of the cabin suggest that. There are exits fore and aft."
|
|
"This former dining room has some tables upturned and scattered about, a door
|
|
forward, a hole through the floor, and a narrow opening abaft."
|
|
"bug"
|
|
;"This cabin is notable for its complete lack of contents. You can go up, down,
|
|
forward, or aft from here.">>
|
|
|
|
;<ROUTINE WRECK-6-U ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1 2>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-2>)>>
|
|
|
|
<ROUTINE WRECK-6-D ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T
|
|
<COND (<NOT .PRINT?>
|
|
<RETURN ,WRECK-11>)
|
|
(<FSET? ,MINE ,RMUNGBIT>
|
|
<COND (<OR <FSET? ,AIR-TANK ,WORNBIT>
|
|
<NOT <IN? ,AIR-TANK ,PLAYER>>>
|
|
<RETURN ,WRECK-11>)
|
|
(T
|
|
<TELL-TOO-BIG>
|
|
<RFALSE>)>)
|
|
(T
|
|
<TELL
|
|
"As you make your way down, you bump what had to be a floating mine. A second
|
|
later..." CR CR>
|
|
<BOOM>)>)>>
|
|
|
|
<ROUTINE TELL-SCUBA-STOPS ()
|
|
<TELL
|
|
"The scuba tank makes it impossible to fit through the passage." CR>>
|
|
|
|
<ROUTINE TELL-CARRY-SCUBA? ()
|
|
<COND (<IN? ,AIR-TANK ,PLAYER>
|
|
<TELL
|
|
"Carrying your tank in front of you, you swim to the next room..." CR CR>)>>
|
|
|
|
<ROUTINE WRECK-6-S ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 2>
|
|
<COND (<NOT .PRINT?> <RETURN ,WRECK-7>)
|
|
(<FSET? ,AIR-TANK ,WORNBIT>
|
|
<TELL-SCUBA-STOPS>
|
|
<RFALSE>)
|
|
(T
|
|
<TELL-CARRY-SCUBA?>
|
|
<RETURN ,WRECK-7>)>)
|
|
(T <RETURN ,WRECK-7>)>>
|
|
|
|
<OBJECT CASK
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "wooden cask")
|
|
(SYNONYM CASK BARREL)
|
|
(ADJECTIVE WOODEN WHOLE)
|
|
(FLAGS PUSHBIT SURFACEBIT CONTBIT VEHBIT CLIMBBIT OPENBIT)
|
|
(FDESC
|
|
"Amidst a stack of rotted wood is a cask that is still in one piece.")
|
|
(CAPACITY 15)
|
|
(ACTION CASK-F)>
|
|
|
|
<ROUTINE CASK-F ("OPTIONAL" (RARG <>))
|
|
<COND (<==? .RARG ,M-BEG>
|
|
<COND (<AND ,ROPE-HANGING
|
|
<VERB? WALK>
|
|
<EQUAL? ,P-WALK-DIR ,P?UP>
|
|
<IN? ,CASK ,WRECK-4>>
|
|
<COND (<G? <WEIGHT ,PLAYER> 22>
|
|
<TELL-YOU-CANT "climb the rope with that load.">)
|
|
(T
|
|
<MOVE ,PLAYER ,WRECK-1>
|
|
<SETG HERE ,WRECK-1>
|
|
<TELL
|
|
"You reach up, grab the rope, and climb..." CR CR>
|
|
<WRECK-1-F ,M-ENTER>
|
|
<V-FIRST-LOOK>
|
|
<RTRUE>)>)>)
|
|
(<NOT .RARG>
|
|
<COND (<VERB? CLIMB-FOO>
|
|
<PERFORM ,V?CLIMB-ON ,CASK>
|
|
<RTRUE>)
|
|
(<VERB? ,DRILL>
|
|
<TELL "There is now a hole in the " D ,CASK "." CR>
|
|
<ADD-HOLE ,CASK>)>)>>
|
|
|
|
<ROUTINE WOOD-PSEUDO ("OPTIONAL" (PARG <>))
|
|
<COND (<==? .PARG ,M-NAME>
|
|
<PUTP ,PSEUDO-OBJECT ,P?SDESC "stack of rotted wood">)
|
|
(<==? ,WRECK-CHOSEN 2>
|
|
<GLOBAL-NOT-HERE-PRINT ,PSEUDO-OBJECT>)>>
|
|
|
|
<ROUTINE OVERTURNED-PSEUDO ("OPTIONAL" (PARG <>))
|
|
<COND (<==? .PARG ,M-NAME>
|
|
<PUTP ,PSEUDO-OBJECT ,P?SDESC "bunch of overturned tables">)
|
|
(<==? ,WRECK-CHOSEN 1>
|
|
<GLOBAL-NOT-HERE-PRINT ,PSEUDO-OBJECT>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"These are dining tables now scattered in various positions." CR>)>>
|
|
|
|
<ROOM WRECK-7
|
|
(IN ROOMS)
|
|
(DESC "Middle Deck")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK DECK ;BUNKS FALLEN-BUNK CEILING-HOLE-1)
|
|
(NORTH PER WRECK-7-N)
|
|
(SOUTH PER WRECK-7-S)
|
|
(UP PER WRECK-7-U)
|
|
;(DOWN PER WRECK-7-D)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(PSEUDO "DEBRIS" DEBRIS-PSEUDO)
|
|
(ACTION WRECK-7-F)>
|
|
|
|
<ROUTINE WRECK-7-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<TELL
|
|
"This cabin was used for housing the crew. In addition to lining the
|
|
" D ,BULKHEADS "s, bunks are strewn about the cabin">
|
|
<COND (<NOT ,BUNKS-MOVED>
|
|
<TELL ", blocking a doorway aft. There is">)
|
|
(T <TELL ". There is a doorway aft, and">)>
|
|
<TELL " an unblocked forward exit.">)
|
|
(T
|
|
<TELL <GET ,WRECK-7-DESCS ,WRECK-CHOSEN>>)>
|
|
<CRLF>)
|
|
(<==? .RARG ,M-BEG>
|
|
<COND (<==? ,WRECK-CHOSEN 2>
|
|
<COND (<VERB? WEAR>
|
|
<TELL
|
|
"There's not enough room here for you to put that on." CR>
|
|
<RTRUE>)
|
|
(<AND <VERB? WALK>
|
|
<FSET? ,DEEP-SUIT ,WORNBIT>>
|
|
<JIGS-UP
|
|
"As you begin to move, you suddenly find yourself breathing water! Your
|
|
airhose tore on some of the sharper debris.">)>
|
|
<NOT-THIS-WRECK ,PSEUDO-OBJECT>)>)>>
|
|
|
|
<GLOBAL WRECK-7-DESCS
|
|
<PLTABLE
|
|
"bug"
|
|
"The settling of debris has left a very narrow passage through this
|
|
cabin. You can go forward or aft."
|
|
"bug"
|
|
;"This cabin is also empty. It has exits forward, aft, up, and down.">>
|
|
|
|
<ROUTINE WRECK-7-S ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<COND (<OR ,BUNKS-MOVED <NOT .PRINT?>>
|
|
<RETURN ,WRECK-8>)
|
|
(T
|
|
<SETG P-IT-OBJECT ,FALLEN-BUNK>
|
|
<TELL "There are bunks in the way." CR>
|
|
<RFALSE>)>)
|
|
(T
|
|
<COND (<NOT .PRINT?> <RETURN ,WRECK-8>)
|
|
(<FSET? ,AIR-TANK ,WORNBIT>
|
|
<TELL-SCUBA-STOPS>
|
|
<RFALSE>)
|
|
(T
|
|
<TELL-CARRY-SCUBA?>
|
|
<RETURN ,WRECK-8>)>)>>
|
|
|
|
<ROUTINE WRECK-7-N ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 2>
|
|
<COND (<NOT .PRINT?> <RETURN ,WRECK-6>)
|
|
(<FSET? ,AIR-TANK ,WORNBIT>
|
|
<TELL-SCUBA-STOPS>
|
|
<RFALSE>)
|
|
(T
|
|
<TELL-CARRY-SCUBA?>
|
|
<RETURN ,WRECK-6>)>)
|
|
(T <RETURN ,WRECK-6>)>>
|
|
|
|
<ROUTINE WRECK-7-U ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<COND (.PRINT?
|
|
<TELL "There's no way you can reach that hole." CR>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-3>)>)
|
|
(T <TELL-NO-GO .PRINT?> <RFALSE>)>>
|
|
|
|
;<ROUTINE WRECK-7-D ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1 2>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-12>)>>
|
|
|
|
<OBJECT FALLEN-BUNK
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "row of fallen bunks")
|
|
(SYNONYM BUNK BUNKS ROW)
|
|
(ADJECTIVE FALLEN)
|
|
(FLAGS INVISIBLE TRANSBIT)
|
|
(ACTION FALLEN-BUNK-F)>
|
|
|
|
<ROUTINE FALLEN-BUNK-F ()
|
|
<COND (<VERB? PUSH>
|
|
<TELL
|
|
"The bunks move a bit but fall back to where they were." CR>)
|
|
(<VERB? EXAMINE>
|
|
<COND (,BUNKS-MOVED
|
|
<TELL
|
|
"A " D ,FALLEN-BUNK " teeters by the passageway.">
|
|
<COND (<IN? ,IRON-BAR ,FALLEN-BUNK>
|
|
<TELL
|
|
" They are being held up by an " D ,IRON-BAR ".">)>
|
|
<CRLF>)
|
|
(T <TELL
|
|
"There is a " D, FALLEN-BUNK " before the aft doorway." CR>)>)
|
|
(<VERB? SLEEP>
|
|
<TELL-BAD-SHAPE>)
|
|
(<VERB? MOVE>
|
|
<COND (<PRSI? ,IRON-BAR>
|
|
<COND (,BUNKS-MOVED
|
|
<TELL "They've already been moved." CR>)
|
|
(T
|
|
<SETG BUNKS-MOVED T>
|
|
<ENABLE <QUEUE I-PLUMMET 2>>
|
|
<SETG CRIMP-CTR 0>
|
|
<TELL
|
|
"Using the " D ,IRON-BAR ", you move the bunks out of the way." CR>)>)
|
|
(T
|
|
<TELL "They're too heavy to move ">
|
|
<COND (,PRSI <TELL "that way">)
|
|
(T <TELL "by hand">)>
|
|
<TELL "." CR>)>)
|
|
(<AND <VERB? LOOK-BEHIND>
|
|
<==? ,HERE ,WRECK-7>
|
|
<NOT ,BUNKS-MOVED>>
|
|
<TELL "There is a passageway there." CR>)
|
|
(<AND ,BUNKS-MOVED
|
|
<VERB? PUT-UNDER>
|
|
<PRSO? ,IRON-BAR>>
|
|
<DISABLE <INT I-PLUMMET>>
|
|
<MOVE ,IRON-BAR ,FALLEN-BUNK>
|
|
<PUTP ,WRECK-7 ,P?DESCFCN 65>
|
|
<PUTP ,WRECK-8 ,P?DESCFCN 65>
|
|
<TELL "The " D ,IRON-BAR " is wedging the bunks up." CR>)
|
|
(<AND <VERB? LOOK-UNDER>
|
|
<IN? ,IRON-BAR ,FALLEN-BUNK>>
|
|
<TELL "The " D ,IRON-BAR " is there," ,WEDGED-STR CR>)>>
|
|
|
|
<GLOBAL BUNKS-MOVED <>>
|
|
<GLOBAL WEDGED-STR " wedged under the bunks.">
|
|
|
|
<ROUTINE DEBRIS-PSEUDO ("OPTIONAL" (PARG <>))
|
|
<COND (<==? .PARG ,M-NAME>
|
|
<PUTP ,PSEUDO-OBJECT ,P?SDESC "debris">)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"All sorts of jetsam has collected here, none of it very
|
|
interesting on its own." CR>)>>
|
|
|
|
<ROOM WRECK-8
|
|
(IN ROOMS)
|
|
(DESC "Middle Deck")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK DECK BUNKS FALLEN-BUNK EAST-LADDER FLOOR-HOLE-1)
|
|
;(UP PER WRECK-8-U)
|
|
(NORTH PER WRECK-8-N)
|
|
(DOWN PER WRECK-8-D)
|
|
(DESCFCN 0);"metal content"
|
|
(VALUE 0)
|
|
(LINE 6)
|
|
(ACTION WRECK-8-F)>
|
|
|
|
<ROUTINE WRECK-8-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-8-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)>>
|
|
|
|
<GLOBAL WRECK-8-DESCS
|
|
<PLTABLE
|
|
"You are in a bunk-lined cabin. The forward bulkhead has an open
|
|
doorway in it, and a ladder leads down through the deck. The rotting interior
|
|
of the hull lies aft."
|
|
"This might have been the purser's cabin. It can be exited forward
|
|
through a narrow opening."
|
|
"bug"
|
|
;"There is nothing at all in this cabin. Exits lead up, down, and forward.">>
|
|
|
|
;<ROUTINE WRECK-8-U ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1 2>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-3>)>>
|
|
|
|
<ROUTINE WRECK-8-D ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 2>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-13>)>>
|
|
|
|
<ROUTINE WRECK-8-N ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 2>
|
|
<COND (<NOT .PRINT?> <RETURN ,WRECK-7>)
|
|
(<FSET? ,AIR-TANK ,WORNBIT>
|
|
<TELL-SCUBA-STOPS>
|
|
<RFALSE>)
|
|
(T
|
|
<TELL-CARRY-SCUBA?>
|
|
<RETURN ,WRECK-7>)>)
|
|
(T <RETURN ,WRECK-7>)>>
|
|
|
|
;<ROUTINE WRECK-8-SW ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-10>)>>
|
|
|
|
<OBJECT EAST-LADDER
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "ladder")
|
|
(SYNONYM LADDER RUNG RUNGS)
|
|
(ADJECTIVE WOODEN)
|
|
(TEXT
|
|
"Except for two broken rungs at the bottom, this ladder looks as if it's in
|
|
good shape.")
|
|
(ACTION EAST-LADDER-F)>
|
|
|
|
<ROUTINE EAST-LADDER-F ()
|
|
<COND (<VERB? CLIMB-FOO>
|
|
<COND (<EQUAL? ,HERE ,WRECK-8>
|
|
<DO-WALK ,P?DOWN>)
|
|
(T <DO-WALK ,P?UP>)>
|
|
<SETG P-IT-OBJECT ,EAST-LADDER>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT SAFE
|
|
(IN BANK)
|
|
(DESC "safe")
|
|
(SYNONYM SAFE VAULT DOOR LOCK)
|
|
(ADJECTIVE BANK SAFE)
|
|
(FLAGS NDESCBIT SEARCHBIT CONTBIT)
|
|
(CAPACITY 20)
|
|
(ACTION VAULT-F);"VAULT-F can be found in ISLAND">
|
|
|
|
<ROUTINE SAFE-F ()
|
|
<COND (<AND <VERB? THROUGH>
|
|
<NOT <==? ,HERE ,WRECK-8>>
|
|
<NOT <==? ,WRECK-CHOSEN 2>>>
|
|
<GLOBAL-NOT-HERE-PRINT ,SAFE>)
|
|
(<OR <VERB? OPEN>
|
|
<VERB? DRILL>>
|
|
<COND (<PRSI? ,DRILL>
|
|
<FSET ,SAFE ,OPENBIT>
|
|
<ENABLE <QUEUE I-CASE-LEAK -1>>
|
|
<TELL
|
|
"As you drill through the lock, the door pops open with a rush of escaping
|
|
air!">
|
|
<COND (<FIRST? ,SAFE>
|
|
<TELL " This reveals ">
|
|
<PRINT-CONTENTS ,SAFE>
|
|
<TELL "!">)>
|
|
<CRLF>
|
|
<ADD-HOLE ,SAFE>)
|
|
(,PRSI <TELL "With " A ,PRSI "??!?" CR>)
|
|
(<OR <IN? ,HOLE-1 ,SAFE>
|
|
<IN? ,HOLE-2 ,SAFE>>
|
|
<RFALSE>)
|
|
(T <TELL "It's locked." CR>)>)
|
|
(<VERB? UNLOCK>
|
|
<COND (<OR <IN? ,HOLE-1 ,SAFE>
|
|
<IN? ,HOLE-2 ,SAFE>>
|
|
<TELL "You've already done it. By brute force." CR>)
|
|
(T <TELL-DONT-HAVE "the combination">)>)>>
|
|
|
|
<OBJECT GLASS-CASE
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC ;"sealed " "glass case")
|
|
(SYNONYM CASE CRACK SHELF)
|
|
(ADJECTIVE SEALED GLASS CLEAR)
|
|
(FLAGS CONTBIT TRANSBIT TAKEBIT)
|
|
(CAPACITY 10)
|
|
(VALUE 25)
|
|
(ACTION GLASS-CASE-F)>
|
|
|
|
<ROUTINE GLASS-CASE-F ()
|
|
<COND (<VERB? OPEN>
|
|
<TELL "It's sealed shut." CR>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"The " D ,GLASS-CASE " has a shelf inside it. A collection of
|
|
extremely rare ">
|
|
<COND (<FSET? ,STAMPS ,RMUNGBIT>
|
|
<TELL "but soggy ">)>
|
|
<TELL
|
|
"postage stamps sits on the shelf. There is a crack near a bottom corner of
|
|
the case">
|
|
<COND (<IN? ,PUTTY ,GLASS-CASE>
|
|
<TELL ", which is sealed with putty">)>
|
|
<TELL ".">
|
|
<COND (<OR <IN? ,HOLE-1 ,GLASS-CASE>
|
|
<IN? ,HOLE-2 ,GLASS-CASE>>
|
|
<TELL " Near the crack is the hole you drilled">
|
|
<COND (<AND <IN? ,PUTTY ,GLASS-CASE>
|
|
<NOT ,NO-HOLE-PLUGGED>>
|
|
<TELL ", which is also filled with putty">)>
|
|
<TELL ".">)>
|
|
<COND (<G? ,WATER-IN-CASE 0>
|
|
<TELL " The case has some water in it.">)>
|
|
<CRLF>)
|
|
(<OR <AND <VERB? POUR TAKE>
|
|
<PRSO? ,OCEAN>>
|
|
<VERB? EMPTY>>
|
|
<COND (<==? ,WATER-IN-CASE 0>
|
|
<TELL "There's no water in the case." CR>)
|
|
(<NOT <AIRTIGHT-ROOM?>>
|
|
<TELL "That would be a losing battle." CR>)
|
|
(T
|
|
<SETG WATER-IN-CASE 0>
|
|
<FSET ,STAMPS ,RMUNGBIT>
|
|
<TELL
|
|
"In the process of emptying the case, you manage to get the stamps wet." CR>)>)
|
|
(<VERB? DRILL>
|
|
<COND (<AND <IN? ,PLAYER ,WRECK-5>
|
|
<NOT ,WRECK-5-FLOODED>>
|
|
<SETG WATER-IN-CASE 0>
|
|
<TELL "The water pours out of the hole." CR>)
|
|
(T
|
|
<SETG WATER-IN-CASE 10>
|
|
<DISABLE <INT I-CASE-LEAK>>
|
|
<FSET ,STAMPS ,RMUNGBIT>
|
|
<TELL "Water pours into the case, ruining the stamps." CR>)>
|
|
<ADD-HOLE ,GLASS-CASE>)
|
|
(<AND <VERB? MUNG>
|
|
<PRSO? ,GLASS-CASE>>
|
|
<TELL "That wouldn't be too smart." CR>)>>
|
|
|
|
<OBJECT STAMPS
|
|
(IN GLASS-CASE)
|
|
(DESC "collection of rare stamps")
|
|
(SYNONYM STAMPS COLLEC)
|
|
(ADJECTIVE RARE VALUAB PRICEL)
|
|
(ACTION STAMPS-F)>
|
|
|
|
<ROUTINE STAMPS-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"These are rare stamps which include a little-known sheet of
|
|
\"inverted biplanes,\" full sheets of \"Graf Zeppelins,\" and other rarities.
|
|
Sold at auction, their value would exceed $50 million">
|
|
<COND (<FSET? ,STAMPS ,RMUNGBIT>
|
|
<TELL
|
|
". Unfortunately, since they're all stuck together and salty, they're
|
|
not even worth the price of a cup of coffee">)>
|
|
<TELL "." CR>)
|
|
(<VERB? COUNT>
|
|
<TELL "It's hard to tell." CR>)>>
|
|
|
|
<ROOM WRECK-9
|
|
(IN ROOMS)
|
|
(DESC "Below Decks")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK BUNKS JAGGED-HOLE CEILING-HOLE-2)
|
|
(UP PER WRECK-9-U)
|
|
(SOUTH TO WRECK-10)
|
|
(WEST PER WRECK-9-W)
|
|
(OUT PER WRECK-9-W)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(ACTION WRECK-9-F)>
|
|
|
|
<ROUTINE WRECK-9-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-9-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)
|
|
(<AND <==? .RARG ,M-ENTER>
|
|
<==? ,WRECK-CHOSEN 2>>
|
|
<PUTP ,CEILING-HOLE-2 ,P?SDESC "hole">
|
|
<FCLEAR ,CEILING-HOLE-2 ,VOWELBIT>
|
|
<PUTP ,FLOOR-HOLE-2 ,P?SDESC "hole">)
|
|
(<==? .RARG ,M-BEG>
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<NOT-THIS-WRECK ,BUNKS>)>)>>
|
|
|
|
<GLOBAL WRECK-9-DESCS
|
|
<PLTABLE
|
|
"You can go aft from this cabin, a small and claustrophobic area
|
|
little more than a widened passageway, or through a jagged hole in the port
|
|
bulkhead."
|
|
"This cabin is the third-class passengers' quarters. There
|
|
couldn't have been many frills here since the remains are spartan. The cabin
|
|
can be exited aft and up."
|
|
"bug"
|
|
;"This room, once again, is entirely devoid of contents. You can leave it aft or
|
|
go up.">>
|
|
|
|
<ROUTINE WRECK-9-U ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-4>)>>
|
|
|
|
<ROUTINE WRECK-9-W ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<COND (.PRINT?
|
|
<TELL-CAREFULLY-PICK>
|
|
<RETURN ,WEST-OF-WRECK-9>)
|
|
(T <RFALSE>)>)
|
|
(T
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT EMPTY-CHEST
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "maple chest")
|
|
(SYNONYM CHEST TRUNK)
|
|
(ADJECTIVE WOODEN MAPLE WOOD TREASU)
|
|
(FLAGS PUSHBIT SURFACEBIT VEHBIT CLIMBBIT TRYTAKEBIT OPENBIT)
|
|
(ACTION EMPTY-CHEST-F)>
|
|
|
|
<ROUTINE EMPTY-CHEST-F ("OPTIONAL" (RARG <>))
|
|
<GENERIC-CHEST-F ,EMPTY-CHEST .RARG>>
|
|
|
|
<ROUTINE GENERIC-CHEST-F (CHEST RARG)
|
|
<COND (<==? .RARG ,M-BEG>
|
|
<COND (<AND <VERB? WALK>
|
|
<EQUAL? ,P-WALK-DIR ,P?UP>
|
|
<IN? .CHEST ,WRECK-13>>
|
|
<MOVE ,PLAYER ,WRECK-8>
|
|
<SETG HERE ,WRECK-8>
|
|
<COND (,CHEST-CLIMB-POINTS
|
|
<RATING-UPD ,CHEST-CLIMB-POINTS>
|
|
<SETG CHEST-CLIMB-POINTS 0>)>
|
|
<TELL
|
|
"You reach the first unbroken rung and climb the ladder..." CR CR>
|
|
<WRECK-8-F ,M-ENTER>
|
|
<V-FIRST-LOOK>
|
|
<RTRUE>)
|
|
(<AND <VERB? WALK>
|
|
<NOT <==? ,P-WALK-DIR ,P?UP>>>
|
|
<TELL-YOUD-BETTER "get off the chest" T>)
|
|
(<AND <VERB? MOVE>
|
|
<PRSO? ,SAFETY-LINE>
|
|
<IN? ,SAFETY-LINE ,CHEST>>
|
|
<JIGS-UP
|
|
"As the chest starts to rise, you fall off it rather awkwardly and disconnect
|
|
your airhose.">)>)
|
|
(<NOT .RARG>
|
|
<COND (<VERB? CLIMB-FOO>
|
|
<PERFORM ,V?CLIMB-ON .CHEST>
|
|
<RTRUE>)
|
|
(<VERB? TAKE>
|
|
<TELL "It's much too heavy." CR>)
|
|
(<AND <VERB? PUSH-TO>
|
|
<IN? ,SAFETY-LINE .CHEST>
|
|
<==? ,P-WALK-DIR ,P?EAST>>
|
|
<TELL-TOO-SHORT>)
|
|
(<VERB? TIE>
|
|
<COND (<OR <PRSO? ,SAFETY-LINE>
|
|
<PRSI? ,SAFETY-LINE>>
|
|
<COND (<IN? ,SAFETY-LINE .CHEST>
|
|
<TELL-ALREADY "tied">)
|
|
(T
|
|
<MOVE ,SAFETY-LINE .CHEST>
|
|
<FSET ,SAFETY-LINE ,NDESCBIT>
|
|
<COND (,CHEST-TIE-POINTS
|
|
<RATING-UPD ,CHEST-TIE-POINTS>
|
|
<SETG CHEST-TIE-POINTS 0>)>
|
|
<DISABLE <INT I-PENDULUM>>
|
|
<TELL "Tied." CR>)>)>)>)>>
|
|
|
|
<GLOBAL CHEST-CLIMB-POINTS 10>
|
|
<GLOBAL CHEST-TIE-POINTS 15>
|
|
|
|
<OBJECT JAGGED-HOLE
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "jagged hole")
|
|
(SYNONYM HOLE)
|
|
(ADJECTIVE JAGGED)
|
|
(FLAGS INVISIBLE)
|
|
(TEXT
|
|
"This jagged hole is the result of centuries of wear on the hull.")
|
|
(ACTION JAGGED-HOLE-F)>
|
|
|
|
<ROUTINE JAGGED-HOLE-F ("AUX" (OUTSIDE? <>))
|
|
<COND (<EQUAL? ,HERE ,WEST-OF-WRECK-9 ,WEST-OF-WRECK-11>
|
|
<SET OUTSIDE? T>)>
|
|
<COND (<VERB? THROUGH>
|
|
<COND (.OUTSIDE? <DO-WALK ,P?EAST>)
|
|
(T <DO-WALK ,P?WEST>)>)
|
|
(<AND <VERB? PUSH-THROUGH>
|
|
<PRSI? ,JAGGED-HOLE>>
|
|
<COND (.OUTSIDE? <SETG ,P-WALK-DIR ,P?EAST>)
|
|
(T <SETG ,P-WALK-DIR ,P?WEST>)>
|
|
<PERFORM ,V?PUSH-TO ,PRSO ,INTDIR>
|
|
<RTRUE>)
|
|
(<VERB? LOOK-INSIDE>
|
|
<TELL-YOU-CANT "make anything out on the other side.">)>>
|
|
|
|
<ROOM WEST-OF-WRECK-9
|
|
(IN ROOMS)
|
|
(DESC "Ocean Floor")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN JAGGED-HOLE)
|
|
(LINE 6)
|
|
(EAST TO WRECK-9)
|
|
(IN TO WRECK-9)
|
|
(ACTION GENERIC-WEST-F)>
|
|
|
|
<ROUTINE TELL-TOO-SHORT ("OPTIONAL" (STR <>))
|
|
<TELL "The " D ,SAFETY-LINE " isn't long enough">
|
|
<COND (.STR <TELL .STR>)>
|
|
<TELL "." CR>>
|
|
|
|
<ROUTINE GENERIC-WEST-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are on the murky ocean floor, outside the rotted hull of a " D ,SHIPWRECK
|
|
". You can return to the wreck through the hole in the hull to starboard." CR>)
|
|
(<==? .RARG ,M-BEG>
|
|
<COND (<VERB? WALK>
|
|
<COND (<EQUAL? ,P-WALK-DIR ,P?EAST ,P?IN>
|
|
<COND (<IN? ,SAFETY-LINE ,PLAYER>
|
|
<TELL-TOO-SHORT " to take with you">
|
|
<RFATAL>)>)
|
|
(<NOT ,P-WALK-DIR>
|
|
<RFALSE>)
|
|
(T <LINE-SNAGS>)>)
|
|
(<AND <VERB? WAIT-FOR>
|
|
<PRSO? ,SAFETY-LINE>
|
|
<QUEUED? I-PENDULUM>>
|
|
<COND (<IN? ,SAFETY-LINE ,HERE>
|
|
<SETG CLOCK-WAIT T>
|
|
<TELL "It's right here!" CR>)
|
|
(T <V-WAIT>)>)>)
|
|
(<==? .RARG ,M-END>
|
|
<COND (<AND <IN? ,SAFETY-LINE ,HERE>
|
|
<NOT <ENABLED? I-PENDULUM>>>
|
|
<ENABLE <QUEUE I-PENDULUM 3>>)>)>>
|
|
|
|
<ROUTINE LINE-SNAGS ()
|
|
<JIGS-UP
|
|
"As you move away from the hole, your airhose gets caught on
|
|
the edge of the hole in the wreck! As it tears, you find that breathing water
|
|
is beyond your talents.">>
|
|
|
|
<OBJECT SAFETY-LINE
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "orange line")
|
|
(SYNONYM LINE ROPE)
|
|
(ADJECTIVE SAFETY WEIGHT FLOURE ORANGE)
|
|
(FLAGS TAKEBIT VOWELBIT)
|
|
(DESCFCN SAFETY-LINE-F)
|
|
(ACTION SAFETY-LINE-F)>
|
|
|
|
<ROUTINE SAFETY-LINE-F ("OPTIONAL" (RARG <>) "AUX" MSTR)
|
|
<COND (<EQUAL? .RARG ,M-OBJDESC>
|
|
<TELL
|
|
"The " D ,SAFETY-LINE " from the ship is swaying to and fro." CR>)
|
|
(<VERB? TAKE>
|
|
<COND (<OR <IN? ,SAFETY-LINE ,TREASURE-CHEST>
|
|
<IN? ,SAFETY-LINE ,EMPTY-CHEST>>
|
|
<TELL "It's tied to the chest." CR>)
|
|
(<NOT <IN? ,SAFETY-LINE ,HERE>>
|
|
<TELL "It's no longer here." CR>)
|
|
(<ITAKE>
|
|
<DISABLE <INT I-PENDULUM>>
|
|
<TELL "Taken." CR>)>
|
|
<RTRUE>)
|
|
(<VERB? UNTIE>
|
|
<COND (<OR <IN? ,SAFETY-LINE ,TREASURE-CHEST>
|
|
<IN? ,SAFETY-LINE ,EMPTY-CHEST>>
|
|
<MOVE ,SAFETY-LINE <META-LOC ,SAFETY-LINE>>
|
|
<FCLEAR ,SAFETY-LINE ,NDESCBIT>
|
|
<ENABLE <QUEUE I-PENDULUM 3>>
|
|
<TELL "Untied." CR>)
|
|
(T <TELL "It's not tied to anything!" CR>)>)
|
|
(<VERB? MOVE>
|
|
<TELL "The line starts to move upward">
|
|
<SET MSTR ", dragging the chest up with it.">
|
|
<COND (<IN? ,SAFETY-LINE ,TREASURE-CHEST>
|
|
<MOVE ,TREASURE-CHEST <LOC ,WEASEL>>)
|
|
(<IN? ,SAFETY-LINE ,EMPTY-CHEST>
|
|
<MOVE ,EMPTY-CHEST <LOC ,WEASEL>>)
|
|
(T
|
|
<SET MSTR ".">
|
|
<DISABLE <INT I-PENDULUM>>
|
|
<MOVE ,SAFETY-LINE <LOC ,WEASEL>>)>
|
|
<TELL .MSTR CR>)
|
|
(<VERB? CLIMB-FOO>
|
|
<LINE-SNAGS>)
|
|
(<VERB? CUT>
|
|
<TELL "This rope is too strong." CR>)>>
|
|
|
|
<ROOM WRECK-10
|
|
(IN ROOMS)
|
|
(DESC "Below Decks")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK LOCKER-DOOR)
|
|
(UP PER WRECK-10-U)
|
|
(NORTH TO WRECK-9)
|
|
(SOUTH TO WRECK-11 IF LOCKER-DOOR IS OPEN)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(PSEUDO "BARNAC" BARNACLE-PSEUDO)
|
|
(ACTION WRECK-10-F)>
|
|
|
|
<ROUTINE WRECK-10-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-10-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)
|
|
(<==? .RARG ,M-ENTER>
|
|
<COND (<AND <NOT <FSET? ,DEEP-SUIT ,WORNBIT>>
|
|
<OR <NOT <FSET? ,MASK ,WORNBIT>>
|
|
<NOT <IN? ,AIR-TANK ,PLAYER>>
|
|
<NOT <FSET? ,WET-SUIT ,WORNBIT>>>>
|
|
<JIGS-UP ,WATERY-ENVIRONMENT>)
|
|
(<COMPILER-SUCKS-EXP-2>
|
|
<ENABLE <INT I-CASE-LEAK>>)>)>>
|
|
|
|
<GLOBAL WRECK-10-DESCS
|
|
<PLTABLE
|
|
"This room, which may have been a lounge, can be exited fore or aft."
|
|
"This was once the supplies locker, with exits forward and up, and a door
|
|
with a sign on it in the aft bulkhead."
|
|
"bug"
|
|
;"This cabin actually has the phrase \"H.M.S. INTRANSIGENT\" carved in one of
|
|
the bulkheads. Aside from that, it's empty, with exits fore and aft and a
|
|
passage up.">>
|
|
|
|
<ROUTINE WRECK-10-U ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-5>)>>
|
|
|
|
<OBJECT LOCKER-DOOR
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "door")
|
|
(SYNONYM DOOR SIGN)
|
|
(ADJECTIVE LOCKER)
|
|
(FLAGS INVISIBLE DOORBIT OPENBIT READBIT)
|
|
(ACTION LOCKER-DOOR-F)>
|
|
|
|
<ROUTINE LOCKER-DOOR-F ()
|
|
<COND (<VERB? OPEN>
|
|
<COND (<FSET? ,LOCKER-DOOR ,OPENBIT>
|
|
<TELL-ALREADY "open">)
|
|
(T
|
|
<FSET ,LOCKER-DOOR ,OPENBIT>
|
|
<TELL-NOW ,LOCKER-DOOR "open">)>)
|
|
(<VERB? CLOSE>
|
|
<COND (<FSET? ,LOCKER-DOOR ,OPENBIT>
|
|
<FCLEAR ,LOCKER-DOOR ,OPENBIT>
|
|
<TELL-NOW ,LOCKER-DOOR "closed">)
|
|
(T <TELL-ALREADY "closed">)>)
|
|
(<VERB? READ>
|
|
<FIXED-FONT-ON>
|
|
<TELL
|
|
" \"S.S. LEVIATHAN|
|
|
STORAGE LOCKER|
|
|
DANGER: EXPLOSIVES!\"|
|
|
">
|
|
<FIXED-FONT-OFF>
|
|
<RTRUE>)
|
|
(<VERB? EXAMINE>
|
|
<TELL "The door, which has a sign on it, is ">
|
|
<COND (<FSET? ,LOCKER-DOOR ,OPENBIT>
|
|
<TELL "open">)
|
|
(T <TELL "closed">)>
|
|
<TELL "." CR>)>>
|
|
|
|
<OBJECT SKELETON
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "skeleton")
|
|
(SYNONYM SKELET BONES)
|
|
(FLAGS TRYTAKEBIT SEARCHBIT TRANSBIT)
|
|
;(LDESC "The cabin is full of skeletons.")
|
|
(DESCFCN SKELETON-F)
|
|
(ACTION SKELETON-F)>
|
|
|
|
<ROUTINE SKELETON-F ("OPTIONAL" (RARG <>))
|
|
<COND (<==? .RARG ,M-OBJDESC>
|
|
<TELL
|
|
"Some who went down with the ship were in here, where they are nothing more
|
|
than " D ,SKELETON "s." CR>)
|
|
(<VERB? KILL>
|
|
<TELL "The " D ,SKELETON "s remain dead." CR>)
|
|
(<VERB? MUNG ATTACK TAKE PUSH>
|
|
<TELL "One of the " D ,SKELETON "s falls apart." CR>)
|
|
(<VERB? EXAMINE COUNT>
|
|
<TELL "There are about fifty of them. ">
|
|
<COND (<VERB? COUNT>
|
|
<TELL "It's hard to tell exactly." CR>)
|
|
(T <TELL
|
|
"As you look around, you notice
|
|
that one of the " D ,SKELETON "s has what looks like a " D ,SCABBARD
|
|
" at its hip."
|
|
CR>)>)>>
|
|
|
|
<OBJECT SCABBARD
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "scabbard")
|
|
(SYNONYM SCABBA)
|
|
(FLAGS CONTBIT TRYTAKEBIT OPENBIT)
|
|
(CAPACITY 5)
|
|
;(DESCFCN SCABBARD-F)
|
|
(ACTION SCABBARD-F)>
|
|
|
|
<ROUTINE SCABBARD-F ("AUX" F)
|
|
<COND (<VERB? TAKE>
|
|
<TELL
|
|
"The " D ,SCABBARD " is stuck to the " D ,SKELETON " by encrusted barnacles."
|
|
CR>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"There is very little of the original leather left to this " D ,SCABBARD
|
|
", but barnacles have collected in its place.">
|
|
<COND (<SET F <FIRST? ,SCABBARD>>
|
|
<TELL " There is " A .F " in the " D ,SCABBARD ".">)>
|
|
<CRLF>)
|
|
(<VERB? OPEN>
|
|
<TELL-ALREADY "open">)
|
|
(<VERB? CLOSE>
|
|
<TELL "It doesn't close." CR>)
|
|
(<VERB? CUT>
|
|
<TELL-BARNACLES>)>>
|
|
|
|
<ROUTINE TELL-BARNACLES ()
|
|
<TELL "The barnacles are too firmly emplaced." CR>>
|
|
|
|
<OBJECT BARNACLES
|
|
(IN LOCAL-GLOBALS)
|
|
(SYNONYM BARNAC)
|
|
(DESC "barnacle")
|
|
(ACTION BARNACLE-PSEUDO)>
|
|
|
|
<ROUTINE BARNACLE-PSEUDO ("OPTIONAL" (PARG <>))
|
|
<COND (<==? .PARG ,M-NAME>
|
|
<PUTP ,PSEUDO-OBJECT ,P?SDESC "barnacle">)
|
|
(<VERB? EXAMINE>
|
|
<TELL "The barnacles look very firmly emplaced." CR>)
|
|
(<VERB? TAKE CUT MOVE>
|
|
<TELL-BARNACLES>)>>
|
|
|
|
<OBJECT SWORD
|
|
(IN SCABBARD)
|
|
(DESC "sword")
|
|
(SYNONYM SWORD BLADE RAPIER)
|
|
(ADJECTIVE OLD WORN)
|
|
(STATION 30) ;"metal content"
|
|
(TEXT
|
|
"Although this sword is old and worn, it is still moderately sharp.")
|
|
(FLAGS TAKEBIT WEAPONBIT)>
|
|
|
|
<ROOM WRECK-11
|
|
(IN ROOMS)
|
|
(DESC "Below Decks")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK LOCKER-DOOR JAGGED-HOLE CEILING-HOLE-2)
|
|
(UP PER WRECK-11-U)
|
|
(NORTH TO WRECK-10 IF LOCKER-DOOR IS OPEN)
|
|
(SOUTH PER WRECK-11-S)
|
|
(WEST PER WRECK-11-W)
|
|
(OUT PER WRECK-11-W)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(ACTION WRECK-11-F)>
|
|
|
|
<ROUTINE WRECK-11-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-11-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)
|
|
(<==? .RARG ,M-BEG>
|
|
<COND (<AND <VERB? WALK>
|
|
<IN? ,MINE ,MAGNET>
|
|
<IN? ,MAGNET ,PLAYER>
|
|
,MAGNET-ON>
|
|
<TELL "The mine bumps a " D ,BULKHEADS "..." CR CR>
|
|
<BOOM>)>)>>
|
|
|
|
<GLOBAL WRECK-11-DESCS
|
|
<PLTABLE
|
|
"You're in one of the large holds of the ship, impressive in size.
|
|
There are rooms fore and aft, and a hole in the port bulkhead."
|
|
"This had to have been a mine locker. There is a door forward and a
|
|
passage above your head."
|
|
"bug"
|
|
;"This cabin has nothing in it. You can leave through the passage above your
|
|
head, or fore or aft.">>
|
|
|
|
<ROUTINE WRECK-11-U ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T
|
|
<COND (<NOT .PRINT?>
|
|
<RETURN ,WRECK-6>)
|
|
(<NOT <FSET? ,MINE ,RMUNGBIT>>
|
|
<TELL
|
|
"As you make your way up, you bump the floating mine. A second later..." CR CR>
|
|
<BOOM>)
|
|
(<FSET? ,AIR-TANK ,WORNBIT>
|
|
<RETURN ,WRECK-6>)
|
|
(T
|
|
<TELL-TOO-BIG>
|
|
<RFALSE>)>)>>
|
|
|
|
<ROUTINE WRECK-11-S ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 2>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-12>)>>
|
|
|
|
<ROUTINE TELL-CAREFULLY-PICK ()
|
|
<TELL
|
|
"You carefully pick your way through the jagged edge of the hole..." CR CR>>
|
|
|
|
<ROUTINE WRECK-11-W ("OPTIONAL" (PRINT? T))
|
|
<COND (<EQUAL? ,WRECK-CHOSEN 1>
|
|
<COND (.PRINT?
|
|
<TELL-CAREFULLY-PICK>
|
|
<RETURN ,WEST-OF-WRECK-11>)
|
|
(T <RFALSE>)>)
|
|
(T
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT TREASURE-CHEST
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "oak chest")
|
|
(SYNONYM CHEST TRUNK)
|
|
(ADJECTIVE WOODEN TREASU OAK WOOD)
|
|
(STATION 100) ;"metal content"
|
|
(FLAGS PUSHBIT CLIMBBIT VEHBIT SURFACEBIT VOWELBIT TRYTAKEBIT OPENBIT)
|
|
(ACTION TREASURE-CHEST-F)>
|
|
|
|
<ROUTINE TREASURE-CHEST-F ("OPTIONAL" (RARG <>))
|
|
<GENERIC-CHEST-F ,TREASURE-CHEST .RARG>>
|
|
|
|
<OBJECT MINE
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "loose mine")
|
|
(SYNONYM MINE BOMB SPIKE SPIKES)
|
|
(ADJECTIVE EXPLOS LOOSE FLOATI)
|
|
(FLAGS NDESCBIT TAKEBIT)
|
|
(STATION 40) ;"metal content"
|
|
(ACTION MINE-F)>
|
|
|
|
<ROUTINE MINE-F ()
|
|
<COND (<VERB? TAKE THROW THROW-OFF MOVE MUNG PUSH PUSH-TO>
|
|
<BOOM>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<AND <IN? ,MINE ,MAGNET>
|
|
,MAGNET-ON>
|
|
<TELL
|
|
"A single mine is being held by the " D ,MAGNET " which
|
|
is safely attached between its spikes." CR>
|
|
<RTRUE>)
|
|
(<FSET? ,MINE ,RMUNGBIT>
|
|
<TELL
|
|
"A single mine is floating relatively harmlessly in one corner of the room.">)
|
|
(T <TELL
|
|
"This mine is blocking the hole that leads to the room above.">)>
|
|
<TELL
|
|
" It has lots of widely-spaced spikes pointing out from it.">
|
|
<COND (<IN? ,MINE ,MAGNET>
|
|
<TELL
|
|
" You are holding the " D ,MAGNET " next to it.">)>
|
|
<CRLF>)>>
|
|
|
|
<OBJECT CLUMP-OF-MINES
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "bunch of mines")
|
|
(SYNONYM MINES BOMBS POINTS)
|
|
(DESCFCN CLUMP-OF-MINES-F) ;"metal content covered in room's DESCFCN"
|
|
(ACTION CLUMP-OF-MINES-F)>
|
|
|
|
<ROUTINE CLUMP-OF-MINES-F ("OPTIONAL" (RARG <>))
|
|
<COND (<EQUAL? .RARG ,M-OBJDESC>
|
|
<TELL
|
|
"A number of spherical mines with spikes sticking out of them
|
|
litter the room. These mines must have once been used to blockade shipping
|
|
lanes. Most of them are tethered together on the deck, but one is ">
|
|
<COND (<IN? ,MINE ,MAGNET>
|
|
<COND (,MAGNET-ON
|
|
<TELL "being held by the ">)
|
|
(T <TELL "touching your ">)>
|
|
<TELL D ,MAGNET>)
|
|
(<FSET? ,MINE ,RMUNGBIT>
|
|
<TELL "floating in a corner of the room">)
|
|
(T <TELL "floating up near the hole in the " D ,CEILING>)>
|
|
<TELL "." CR>)
|
|
(<VERB? TAKE>
|
|
<BOOM>)>>
|
|
|
|
<ROUTINE BOOM () <JIGS-UP "BOOOOOOOOOOMMMMMMMMMM!">>
|
|
|
|
<ROOM WEST-OF-WRECK-11
|
|
(IN ROOMS)
|
|
(DESC "Ocean Floor")
|
|
(FLAGS RLANDBIT)
|
|
(LINE 6)
|
|
(GLOBAL SHIPWRECK OCEAN JAGGED-HOLE)
|
|
(EAST TO WRECK-11)
|
|
(IN TO WRECK-11)
|
|
(ACTION GENERIC-WEST-F)>
|
|
|
|
<ROOM WRECK-12
|
|
(IN ROOMS)
|
|
(DESC "Below Decks")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK BUNKS)
|
|
;(UP PER WRECK-12-U)
|
|
(NORTH TO WRECK-11)
|
|
(SOUTH TO WRECK-13)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(ACTION WRECK-12-F)>
|
|
|
|
<ROUTINE WRECK-12-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-12-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)
|
|
(<==? .RARG ,M-ENTER>
|
|
<ENABLE <QUEUE I-SQUID 2>>)>>
|
|
|
|
<GLOBAL WRECK-12-DESCS
|
|
<PLTABLE
|
|
"This is another cabin used to house the ship's crew. There are exits forward
|
|
and aft."
|
|
"bug"
|
|
"bug"
|
|
;"You are in another spookily empty cabin, which you can leave to forward, aft,
|
|
or up.">>
|
|
|
|
;<ROUTINE WRECK-12-U ("OPTIONAL" (PRINT? T))
|
|
<COND (<==? ,WRECK-CHOSEN 1>
|
|
<TELL-NO-GO .PRINT?>
|
|
<RFALSE>)
|
|
(T <RETURN ,WRECK-7>)>>
|
|
|
|
<OBJECT SQUID
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "giant squid")
|
|
(SYNONYM SQUID)
|
|
(ADJECTIVE GIANT HUGE LARGE BIG)
|
|
(LDESC "There is a giant squid sleeping here.")
|
|
(ACTION SQUID-F)>
|
|
|
|
<ROUTINE SQUID-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"The squid is huge, its body 20 feet long, and each of its ten arms 35 feet
|
|
long! It is currently asleep, its arms waving placidly beneath its body." CR>)
|
|
(<VERB? ALARM>
|
|
<TELL "As it awakens, the behemoth turns to you. ">
|
|
<I-SQUID>)>>
|
|
|
|
<ROOM WRECK-13
|
|
(IN ROOMS)
|
|
(DESC "Below Decks")
|
|
(FLAGS RLANDBIT)
|
|
(GLOBAL SHIPWRECK OCEAN DECK EAST-LADDER CEILING-HOLE-1)
|
|
(UP PER WRECK-13-U)
|
|
(NORTH TO WRECK-12)
|
|
(DESCFCN 0);"metal content"
|
|
(LINE 6)
|
|
(ACTION WRECK-13-F)>
|
|
|
|
<ROUTINE WRECK-13-F (RARG)
|
|
<COND (<==? .RARG ,M-LOOK>
|
|
<TELL <GET ,WRECK-13-DESCS ,WRECK-CHOSEN>>
|
|
<CRLF>)>>
|
|
|
|
<GLOBAL WRECK-13-DESCS
|
|
<PLTABLE
|
|
"This cabin has suffered the ravages of the sea. Above your head at one end of
|
|
the cabin a ladder leads up. The bottom two rungs of the ladder are broken,
|
|
but the rest of it seems to be pretty sturdy. A doorway, outlined by rotting
|
|
timbers, leads forward."
|
|
"bug"
|
|
"bug"
|
|
;"This cabin is completely deserted. You can leave it by going up or forward.">>
|
|
|
|
<ROUTINE WRECK-13-U ("OPTIONAL" (PRINT? T))
|
|
<COND (<NOT .PRINT?> <RETURN ,WRECK-8>)
|
|
(T
|
|
<TELL-CANT-REACH
|
|
"high enough to get past the two broken rungs">
|
|
<RFALSE>)>>
|
|
|
|
<ROUTINE NOT-THIS-WRECK (OBJ)
|
|
<COND (<OR <PRSO? .OBJ> <PRSI? .OBJ>>
|
|
<GLOBAL-NOT-HERE-PRINT .OBJ>
|
|
<RTRUE>)>> |