Revision 22 (Original Source)
commit
fa9390b02c
|
@ -0,0 +1,674 @@
|
|||
"BARGE for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<ROOM LANDING-TWO
|
||||
(IN ROOMS)
|
||||
(DESC "South Landing")
|
||||
(FLAGS RLANDBIT)
|
||||
(LDESC
|
||||
"You are on a landing in the middle of a set of stairs. The staircase goes down
|
||||
to the south and up to the north. The walls here are undistinguished, formed by
|
||||
the stones of which the pyramid was built.")
|
||||
(UP TO CHAMBER-OF-RA)
|
||||
(NORTH TO CHAMBER-OF-RA)
|
||||
(DOWN TO NARROW-HALL)
|
||||
(SOUTH TO NARROW-HALL)
|
||||
(GLOBAL SOUTH-STAIRS)
|
||||
(ACTION MOVE-ROPE-HERE)>
|
||||
|
||||
<ROOM NARROW-HALL
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Narrow Hallway")
|
||||
(LDESC
|
||||
"You are at the entrance of a narrow hallway which goes to the northeast. A
|
||||
staircase goes up to the north.")
|
||||
(UP TO LANDING-TWO)
|
||||
(NE TO BEND-HALL)
|
||||
(NORTH TO LANDING-TWO)>
|
||||
|
||||
<ROOM BEND-HALL
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Narrow Hallway")
|
||||
(LDESC
|
||||
"You are at a bend in the Narrow Hallway. The hallway continues to the
|
||||
northwest and to the southwest. Inscribed on the wall are some hieroglyphs.")
|
||||
(NW TO BARGE-ENTRANCE)
|
||||
(SW TO NARROW-HALL)
|
||||
(GLOBAL HIEROGLYPHS)>
|
||||
|
||||
<ROOM BARGE-ENTRANCE
|
||||
(IN ROOMS)
|
||||
(DESC "Barge Chamber")
|
||||
(FLAGS RLANDBIT)
|
||||
(LDESC
|
||||
"You are in the southern section of a huge room which holds the royal barge.
|
||||
Before you, to the north, is a plank which provides entrance to the barge.
|
||||
There is room to move around the barge to the east and west, while a doorway
|
||||
to the southeast leads into a darkened corridor.")
|
||||
(UP TO BARGE-CENTER)
|
||||
(NORTH TO BARGE-CENTER)
|
||||
(WEST TO SW-CORNER)
|
||||
(EAST TO SE-CORNER)
|
||||
(SE TO BEND-HALL)
|
||||
(GLOBAL BOAT)
|
||||
(ACTION MOVE-THE-PLANK-FCN)>
|
||||
|
||||
<ROUTINE MOVE-THE-PLANK-FCN (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<COND (<OR <NOT <FSET? ,PLANK ,TOUCHBIT>>
|
||||
<IN? ,PLANK ,BARGE-CENTER>>
|
||||
<MOVE ,PLANK ,HERE>)>
|
||||
<RFALSE>)>>
|
||||
|
||||
<ROOM SE-CORNER
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Barge Chamber")
|
||||
(LDESC
|
||||
"You are in the southeast corner of the Barge Chamber. There's enough room to
|
||||
bypass the stern of the barge and continue to the north. To the west you can
|
||||
see the entrance to the barge.")
|
||||
(WEST TO BARGE-ENTRANCE)
|
||||
(NORTH TO NE-CORNER)
|
||||
(GLOBAL BOAT)>
|
||||
|
||||
<ROOM NE-CORNER
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Barge Chamber")
|
||||
(LDESC
|
||||
"You're standing in the northeast corner of the Barge Chamber. You can get
|
||||
around the stern of the barge to the south, while there's enough room to
|
||||
continue around the barge to the west.")
|
||||
(WEST TO BARGE-EXIT)
|
||||
(SOUTH TO SE-CORNER)
|
||||
(GLOBAL BOAT)>
|
||||
|
||||
<ROOM SW-CORNER
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Barge Chamber")
|
||||
(LDESC
|
||||
"You're in the southwest corner of the Barge Chamber. You can still see the
|
||||
barge entrance to the east, while there's enough room to continue to the north,
|
||||
around the barge.")
|
||||
(NORTH TO NW-CORNER)
|
||||
(EAST TO BARGE-ENTRANCE)
|
||||
(GLOBAL BOAT)>
|
||||
|
||||
<ROOM NW-CORNER
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Barge Chamber")
|
||||
(LDESC
|
||||
"You're in the northwest corner of the Barge Chamber. You can see by your light
|
||||
that there's room enough to continue around the back of the barge by going to
|
||||
the east, while you can bypass the bow of the boat by going south.")
|
||||
(SOUTH TO SW-CORNER)
|
||||
(EAST TO BARGE-EXIT)
|
||||
(GLOBAL BOAT)>
|
||||
|
||||
<ROOM BARGE-EXIT
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Barge Chamber")
|
||||
(LDESC
|
||||
"You're at the start of a hallway which goes off to the north. To the south,
|
||||
directly behind you, is the back side of the barge. There's enough room to get
|
||||
around it to the east and west.")
|
||||
(EAST TO NE-CORNER)
|
||||
(WEST TO NW-CORNER)
|
||||
(NORTH TO IN-THE-HALL)
|
||||
(GLOBAL BOAT)>
|
||||
|
||||
;"These rooms are actually part of the barge itself."
|
||||
<ROOM BARGE-CENTER
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Center of Barge")
|
||||
(LDESC
|
||||
"You are standing on the deck of an ancient wooden barge. Before you, cut into
|
||||
the deck, is a hole. To the south is a plank which leads down off the barge.
|
||||
You can see two cabins on the deck, one to the west and the other to the east.")
|
||||
(WEST TO FORE-CABIN)
|
||||
(EAST TO AFT-CABIN)
|
||||
(DOWN TO BARGE-ENTRANCE)
|
||||
(SOUTH TO BARGE-ENTRANCE)
|
||||
(GLOBAL HOLE BOAT DECK)
|
||||
(ACTION BURN-THE-BARGE)>
|
||||
|
||||
<ROOM FORE-CABIN
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(EAST TO BARGE-CENTER)
|
||||
(DESC "Fore Cabin")
|
||||
(LDESC
|
||||
"You are in the forward cabin aboard the barge. The cabin is bare with none of
|
||||
the luxuries you expected to see. You close your eyes for a moment, picturing
|
||||
the barge you'll someday own, the yacht fully rigged and crewed. You open your
|
||||
eyes and shake your head, anxious to make your dream reality. There's a doorway
|
||||
to the east leading out onto the deck.")
|
||||
(GLOBAL BOAT DECK)
|
||||
(ACTION BURN-THE-BARGE)>
|
||||
|
||||
<ROOM AFT-CABIN
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Aft Cabin")
|
||||
(LDESC
|
||||
"You are in the aft cabin aboard the barge. There's a door to the west which
|
||||
leads out to the deck, and a short ladder, permanently mounted to the deck,
|
||||
going down into the depths of the barge itself.")
|
||||
(WEST TO BARGE-CENTER)
|
||||
(DOWN TO BELOW-DECK)
|
||||
(GLOBAL STAIRS BOAT DECK)
|
||||
(ACTION BURN-THE-BARGE)>
|
||||
|
||||
<ROOM BELOW-DECK
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Below Deck")
|
||||
(LDESC
|
||||
"You are below the deck of the barge in what looks like a huge hold. To the
|
||||
west you can see the hold continuing, while a ladder leads up and out from
|
||||
here.")
|
||||
(UP TO AFT-CABIN)
|
||||
(OUT TO AFT-CABIN)
|
||||
(WEST TO BELOW-MAST)
|
||||
(ACTION BURN-THE-BARGE)
|
||||
(GLOBAL BOAT STAIRS DECK)>
|
||||
|
||||
<ROOM BELOW-MAST
|
||||
(IN ROOMS)
|
||||
(DESC "West End of Hold")
|
||||
(FLAGS RLANDBIT)
|
||||
(LDESC
|
||||
"You are in the westmost portion of the hold, below the deck of the barge.
|
||||
On the north side of the hull is a small knothole about three feet off the
|
||||
deck. Overhead you can see a hole going through the deck while, directly
|
||||
below this hole, on the deck by your feet, is a slot.")
|
||||
(ACTION BURN-THE-BARGE)
|
||||
(EAST TO BELOW-DECK)
|
||||
(GLOBAL BOAT HOLE DECK)>
|
||||
|
||||
<GLOBAL PUSHED-BEAM <>>
|
||||
|
||||
<OBJECT PLANK
|
||||
(IN BARGE-CENTER)
|
||||
(SYNONYM LADDER PLANK)
|
||||
(DESC "plank")
|
||||
(FDESC
|
||||
"A long wooden plank connects the barge and the entry area.")
|
||||
(FLAGS NDESCBIT CLIMBBIT DONTTAKE TRYTAKEBIT)
|
||||
(ACTION PLANK-FCN)>
|
||||
|
||||
<ROUTINE PLANK-FCN ()
|
||||
<COND (<VERB? TAKE MOVE>
|
||||
<TELL
|
||||
"The plank is a permanent part of the barge. To remove it might create far more
|
||||
destruction than you think." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<GLOBAL BARGE-BURN-STR
|
||||
"The barge immediately catches fire in a tremendous flash and, before you know
|
||||
it, you're heated to a toasty 1000 degrees. Not being made of asbestos has its
|
||||
disadvantages, as you quickly realize....">
|
||||
|
||||
<ROUTINE BURN-THE-BARGE (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-END>
|
||||
<COND (<AND <VERB? DROP THROW>
|
||||
<FLAMING? ,PRSO>>
|
||||
<JIGS-UP ,BARGE-BURN-STR>
|
||||
<RFATAL>)
|
||||
(<AND <VERB? PUT>
|
||||
<FLAMING? ,PRSO>
|
||||
<EQUAL? <LOC ,PRSI> ,HERE>
|
||||
<NOT <EQUAL? ,PRSI ,TORCH-HOLDER>>>
|
||||
<JIGS-UP ,BARGE-BURN-STR>
|
||||
<RFATAL>)>)
|
||||
(<AND <EQUAL? .RARG ,M-ENTER>
|
||||
<EQUAL? ,HERE ,BELOW-MAST>>
|
||||
<MOVE ,MAST-HOLE ,HERE>
|
||||
<COND (<NOT <FSET? ,BEAM ,TOUCHBIT>>
|
||||
<PUTP ,BEAM ,P?FDESC
|
||||
"Coming down through the hole above your head and ending in the slot at your
|
||||
feet is the beam which served as a mast.">
|
||||
<COND (<NOT ,PUSHED-BEAM>
|
||||
<MOVE ,BEAM ,SLOT>)>)>
|
||||
<RFALSE>)
|
||||
(<AND <EQUAL? .RARG ,M-ENTER>
|
||||
<EQUAL? ,HERE ,BARGE-CENTER>>
|
||||
<COND (<OR <NOT <FSET? ,PLANK ,TOUCHBIT>>
|
||||
<IN? ,PLANK ,BARGE-ENTRANCE>>
|
||||
<MOVE ,PLANK ,HERE>)>
|
||||
<MOVE ,MAST-HOLE ,HERE>
|
||||
<COND (<AND ,PUSHED-BEAM
|
||||
<NOT <FSET? ,BEAM ,TOUCHBIT>>>
|
||||
<PUTP ,BEAM ,P?FDESC
|
||||
"Lying on the deck of the barge is a long wooden beam.">)>
|
||||
<COND (<NOT ,PUSHED-BEAM>
|
||||
<MOVE ,BEAM ,HERE>
|
||||
<PUTP ,BEAM ,P?FDESC
|
||||
"Before you, running down through a hole in the deck, is a sturdy beam made of
|
||||
wood. Although only a few feet of it rise above the deck, it was probably used
|
||||
at one time as a mast.">)>)>>
|
||||
|
||||
<OBJECT MAST-HOLE
|
||||
(IN BARGE-CENTER)
|
||||
(DESC "mast hole")
|
||||
(FLAGS NDESCBIT OPENBIT CONTBIT TRANSBIT DONTTAKE TRYTAKEBIT VEHBIT)
|
||||
(CAPACITY 34)
|
||||
(SYNONYM HOLE)
|
||||
(ADJECTIVE MAST)
|
||||
(ACTION MAST-HOLE-FCN)>
|
||||
|
||||
<ROUTINE MAST-HOLE-FCN ()
|
||||
<COND (<VERB? OPEN CLOSE>
|
||||
<HOW? ,PRSO>
|
||||
<RTRUE>)
|
||||
(<VERB? CLIMB-DOWN CLIMB-UP THROUGH>
|
||||
<COND (<NOT ,PUSHED-BEAM>
|
||||
<TELL "I think the mast hole is already being used." CR>)
|
||||
(T
|
||||
<TELL "You'd never squeeze through it." CR>)>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? EXAMINE LOOK-INSIDE>
|
||||
<NOT ,PUSHED-BEAM>>
|
||||
<TELL "The mast is going through the hole." CR>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT>
|
||||
<PRSI? ,MAST-HOLE>
|
||||
<NOT ,PUSHED-BEAM>>
|
||||
<TELL
|
||||
"There isn't room for the " D ,PRSO " and the mast, too." CR>
|
||||
<RTRUE>)
|
||||
(<AND <PRSI? ,MAST-HOLE>
|
||||
<VERB? PUT>>
|
||||
<COND (<EQUAL? ,HERE ,BARGE-CENTER>
|
||||
<TELL "The " D ,PRSO " drops through the hole." CR>)
|
||||
(T
|
||||
<TELL "You try to reach up that high, but fail. The "
|
||||
D ,PRSO " falls to the deck." CR>)>
|
||||
<MOVE ,PRSO ,BELOW-MAST>
|
||||
<FSET ,PRSO ,TOUCHBIT>
|
||||
<COND (<FLAMING? ,PRSO>
|
||||
<JIGS-UP ,BARGE-BURN-STR>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT TORCH-HOLDER
|
||||
(IN BELOW-MAST)
|
||||
(DESC "knothole")
|
||||
(FLAGS NDESCBIT CONTBIT TRANSBIT OPENBIT DONTTAKE TRYTAKEBIT)
|
||||
(CAPACITY 5)
|
||||
(ACTION TORCH-HOLDER-FCN)
|
||||
(SYNONYM KNOTHO HOLE)
|
||||
(ADJECTIVE KNOT)>
|
||||
|
||||
<ROUTINE TORCH-HOLDER-FCN ("AUX" FROB)
|
||||
<COND (<VERB? OPEN CLOSE>
|
||||
<HOW? ,TORCH-HOLDER>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<SET FROB <FIRST? ,PRSO>>
|
||||
<TELL "All I can see is a " D .FROB " in there." CR>)
|
||||
(T
|
||||
<TELL "Through the knothole is inky blackness." CR>)>)>>
|
||||
|
||||
<OBJECT SLOT
|
||||
(IN BELOW-MAST)
|
||||
(FLAGS NDESCBIT CONTBIT OPENBIT DONTTAKE TRYTAKEBIT)
|
||||
(CAPACITY 9)
|
||||
(DESC "slot")
|
||||
(SYNONYM SLOT)
|
||||
(ADJECTIVE SMALL)
|
||||
(ACTION SLOT-FCN)>
|
||||
|
||||
<ROUTINE SLOT-FCN ()
|
||||
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<AND <IN? ,BEAM ,SLOT>
|
||||
<FSET? ,SHIM ,NDESCBIT>>
|
||||
<TELL
|
||||
"A shim is wedged between the slot and the beam." CR>
|
||||
<RTRUE>)
|
||||
(<IN? ,BEAM ,SLOT>
|
||||
<TELL "The beam is resting in the slot." CR>
|
||||
<RTRUE>)
|
||||
(ELSE
|
||||
<RFALSE>)>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<HOW? ,SLOT>)>>
|
||||
|
||||
<OBJECT SHIM
|
||||
(IN BELOW-MAST)
|
||||
(FLAGS TAKEBIT DONTTAKE NDESCBIT BURNBIT TRYTAKEBIT)
|
||||
(DESC "shim")
|
||||
(SIZE 4)
|
||||
(SYNONYM SHIM WEDGE)
|
||||
(ADJECTIVE WOOD)
|
||||
(TEXT
|
||||
"It's a small piece of wood, used as a wedge.")
|
||||
(ACTION SHIM-FCN)>
|
||||
|
||||
<ROUTINE SHIM-FCN ()
|
||||
<COND (<AND <VERB? TAKE>
|
||||
<FSET? ,SHIM ,NDESCBIT>>
|
||||
<COND (<ITAKE>
|
||||
<TELL "Taken." CR>
|
||||
<FCLEAR ,SHIM ,NDESCBIT>
|
||||
<FCLEAR ,SHIM ,DONTTAKE>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT BEAM
|
||||
(IN BARGE-CENTER)
|
||||
(FLAGS BURNBIT TAKEBIT VEHBIT TRYTAKEBIT SURFACEBIT CONTBIT OPENBIT)
|
||||
(DESC "wooden beam")
|
||||
(FDESC
|
||||
"Before you, running down through a hole in the deck, is a sturdy beam made of
|
||||
wood. Although only a few feet of it rise above the deck, it was probably used
|
||||
at one time as a mast.")
|
||||
(SYNONYM BEAM MAST)
|
||||
(ADJECTIVE WOODEN STURDY)
|
||||
(TEXT
|
||||
"This wooden beam is made of an extremely hard wood. It's 10 feet long and has
|
||||
a diameter of 12 inches. Scratched into it is the following symbol:|
|
||||
|
|
||||
/!\\")
|
||||
(SIZE 10)
|
||||
(VALUE 15)
|
||||
(ACTION BEAM-FCN)
|
||||
(CAPACITY 30)
|
||||
(DESCFCN DESCRIBE-BEAM-FCN)>
|
||||
|
||||
<GLOBAL AIR-WALK
|
||||
"Well, despite your \"angelic\" qualities, you aren't very good at walking on
|
||||
air and so, with a scream on your lips, you plunge to a horrible death in a pit
|
||||
of voracious rats.">
|
||||
|
||||
<GLOBAL BURIAL-BEAM-STR
|
||||
"How fitting -- to be trapped forever in the Burial Chamber, waiting slowly,
|
||||
painfully, for your oxygen to run out -- a true testimony to the brilliance of
|
||||
the Queen and her protection.">
|
||||
|
||||
<GLOBAL ANNEX-BEAM-STR
|
||||
"The doorway suddenly closes as heavy, immovable stones crush in from both
|
||||
sides. You slowly and painfully suffocate in the Annex, cursing the gods for
|
||||
ever revealing this horrible place to you. You wish you had told Craige about
|
||||
this place -- that way, it could have been he instead of you.">
|
||||
|
||||
<ROUTINE DROP-THE-BLOCKS ()
|
||||
<TELL
|
||||
"When you remove the beam, you remove the only thing between you and three
|
||||
tons of solid rock, poised over your head. Knowing the situation, though, has
|
||||
saved your life: you leap out of the way just in time." CR>
|
||||
<SETG BEAM-PLACED <>>
|
||||
<MUNG-ROOM ,BURIAL-CHAMBER
|
||||
"The way into the Burial Chamber has been forever blocked by massive stones.">
|
||||
<REMOVE ,NORTH-ANTE-DOOR>
|
||||
<SETG P-IT-LOC <>>
|
||||
<SETG ANTE-SEAL T>
|
||||
<REMOVE ,N-ANTE-SEAL>>
|
||||
|
||||
<ROUTINE CLOSE-THE-ANNEX ()
|
||||
<MUNG-ROOM ,ANNEX
|
||||
"The way into the Annex is forever blocked by huge, immovable stones.">
|
||||
<TELL
|
||||
"The doorway disappears behind two huge stones which slide horizontally from
|
||||
the doorway. Luckily, you stepped out of their way just in time." CR>
|
||||
<SETG BEAM-PLACED <>>
|
||||
<REMOVE ,ROCKS>
|
||||
<PUTP ,SOUTH-ANTECHAMBER ,P?LDESC
|
||||
"You are in the southern end of the Chamber of Eternal Royalty. From here you
|
||||
can see the room stretching out towards the north. The south wall is painted to
|
||||
resemble large baskets of lotus flowers with their blue petals framing an image
|
||||
of the Sun God, Amun Ra. The west wall once held a door but is now forever
|
||||
blocked.">>
|
||||
|
||||
<ROUTINE SET-THE-BEAM (CASE)
|
||||
<COND (,BEAM-PLACED
|
||||
<COND (<EQUAL? ,BEAM-PLACED .CASE>
|
||||
<TELL "It's already been done." CR>
|
||||
<RTRUE>)
|
||||
(<NOT <ITAKE>>
|
||||
<RTRUE>)
|
||||
(T <TELL "(taken)" CR>)>)>
|
||||
<TELL "Consider it done." CR>
|
||||
<SETG BEAM-PLACED .CASE>
|
||||
<DESCRIBE-BEAM-FCN ,M-OBJDESC>
|
||||
<MOVE ,BEAM ,HERE>
|
||||
<COND (<EQUAL? ,HERE ,SOUTH-ANTECHAMBER>
|
||||
<THIS-IS-IT ,ANNEX-DOOR>)>>
|
||||
|
||||
<ROUTINE BEAM-FCN ()
|
||||
<COND (<EQUAL? ,BEAM ,PRSI>
|
||||
<COND (<VERB? PUT PUT-ON>
|
||||
<COND (<EQUAL? ,PRSO ,ME ,WINNER ,ADVENTURER>
|
||||
<TELL "Why not just stand on it?" CR>)
|
||||
(<HELD? ,BEAM>
|
||||
<TELL "Better drop the " D ,PRSI " first." CR>
|
||||
<RTRUE>)
|
||||
(<PRSO? ,BEAM>
|
||||
<TELL "How recursive!" CR>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL
|
||||
"Done. But the " D ,PRSO " falls off the beam and lands">
|
||||
<COND (<AND <NOT <FSET? ,PIT ,INVISIBLE>>
|
||||
<ROOM? ,WEST-END-OF-PASSAGE
|
||||
,MID-ANTECHAMBER>
|
||||
,BEAM-PLACED>
|
||||
<TELL " in the pit." CR>
|
||||
<REMOVE ,PRSO>)
|
||||
(T <TELL " on the ground." CR>
|
||||
<MOVE ,PRSO ,HERE>
|
||||
<RTRUE>)>)>)>)
|
||||
(<VERB? TAKE>
|
||||
<COND (<AND <EQUAL? ,HERE ,NORTH-ANTECHAMBER>
|
||||
<FSET? ,NORTH-ANTE-DOOR ,OPENBIT>
|
||||
<ITAKE>>
|
||||
<DROP-THE-BLOCKS>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,HERE ,BURIAL-CHAMBER>
|
||||
<COND (<ITAKE>
|
||||
<TELL "Taken. Oh oh...." CR>
|
||||
<JIGS-UP ,BURIAL-BEAM-STR>)>)
|
||||
(<EQUAL? ,HERE ,ANNEX>
|
||||
<COND (<ITAKE>
|
||||
<JIGS-UP ,ANNEX-BEAM-STR>
|
||||
<RFATAL>)>)
|
||||
(<AND <EQUAL? ,HERE ,SOUTH-ANTECHAMBER>
|
||||
<NOT <FSET? ,ANNEX ,RMUNGBIT>>
|
||||
<FSET? ,ANNEX-DOOR ,OPENBIT>>
|
||||
<COND (<ITAKE>
|
||||
<CLOSE-THE-ANNEX>)>
|
||||
<RTRUE>)
|
||||
(<AND <EQUAL? ,HERE ,BARGE-CENTER>
|
||||
<FSET? ,SHIM ,NDESCBIT>
|
||||
<IN? ,BEAM ,HERE>>
|
||||
<TELL
|
||||
"It seems to be securely wedged in the mast hole." CR>
|
||||
<RTRUE>)
|
||||
;(<AND <EQUAL? ,HERE ,BARGE-CENTER>
|
||||
<NOT ,PUSHED-BEAM>
|
||||
<IN? ,BEAM ,HERE>>
|
||||
<TELL
|
||||
"You can't lift it that high over your head to get it out of the deck." CR>
|
||||
<RTRUE>)
|
||||
(<AND <EQUAL? ,HERE ,BELOW-MAST>
|
||||
<FSET? ,SHIM ,NDESCBIT>
|
||||
<IN? ,BEAM ,SLOT>>
|
||||
<TELL "It's wedged into the slot." CR>
|
||||
<RTRUE>)
|
||||
(<AND <EQUAL? ,HERE ,BELOW-MAST>
|
||||
<IN? ,BEAM ,SLOT>>
|
||||
<TELL
|
||||
"The mast hole won't allow a steep enough angle for removing it." CR>
|
||||
<RTRUE>)
|
||||
(,ON-BEAM
|
||||
<COND (<ITAKE>
|
||||
<SETG ON-BEAM <>>
|
||||
<TELL "(getting off the beam first)" CR "Taken."
|
||||
CR>
|
||||
<COND (<NOT <IN? ,PLASTER ,HERE>>
|
||||
<JIGS-UP
|
||||
"Well, you were never very good walking on air and so, with a scream on your
|
||||
lips, you plunge to a horrible death in a pit of voracious rats.">)>
|
||||
<SETG BEAM-PLACED <>>
|
||||
<RTRUE>)>)
|
||||
(T
|
||||
<SETG BEAM-PLACED <>>
|
||||
<RFALSE>)>)
|
||||
(<AND <VERB? PUT PUT-ACROSS PUT-ON PUT-AGAINST>
|
||||
<PRSI? ,NICHES>
|
||||
<EQUAL? ,HERE ,WEST-END-OF-PASSAGE>
|
||||
<NOT <IN? ,PIT ,HERE>>>
|
||||
<SET-THE-BEAM 1>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT-ON>
|
||||
<EQUAL? ,PRSI ,ROCKS>
|
||||
<EQUAL? ,HERE ,SOUTH-ANTECHAMBER>>
|
||||
<SET-THE-BEAM 2>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT>
|
||||
<EQUAL? ,PRSI ,ROCKS>
|
||||
<EQUAL? ,HERE ,SOUTH-ANTECHAMBER>>
|
||||
<TELL
|
||||
"Done. The beam immediately falls to the floor, though." CR>
|
||||
<MOVE ,BEAM ,HERE>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT-ACROSS PUT>
|
||||
<EQUAL? ,PRSI ,DOORWAY ,ANNEX-DOOR>
|
||||
<EQUAL? ,HERE ,SOUTH-ANTECHAMBER>
|
||||
<IN? ,ROCKS ,HERE>>
|
||||
<SET-THE-BEAM 3>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT-UNDER>
|
||||
<EQUAL? ,PRSI ,T-LINTEL ,DOORWAY>
|
||||
<EQUAL? ,HERE ,NORTH-ANTECHAMBER>>
|
||||
<SET-THE-BEAM 4>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT-ACROSS PUT>
|
||||
<EQUAL? ,PRSI ,PIT>
|
||||
<EQUAL? ,HERE ,MID-ANTECHAMBER>>
|
||||
<SET-THE-BEAM 5>
|
||||
<RTRUE>)
|
||||
(<AND ,ON-BEAM <VERB? DISEMBARK CLIMB-DOWN>>
|
||||
<SETG ON-BEAM <>>
|
||||
<COND (<AND <IN? ,PLASTER ,WEST-END-OF-PASSAGE>
|
||||
<EQUAL? ,HERE ,WEST-END-OF-PASSAGE>>
|
||||
<TELL
|
||||
"You're now standing on the ground." CR>)
|
||||
(T
|
||||
<JIGS-UP ,AIR-WALK>
|
||||
<RTRUE>)>)
|
||||
(<AND <VERB? RAISE PULL-UP PUSH-THROUGH>
|
||||
<EQUAL? ,HERE ,BELOW-MAST ,BARGE-CENTER>
|
||||
<FSET? ,SHIM ,NDESCBIT>>
|
||||
<TELL
|
||||
"You try to raise the mast but it seems to be wedged into something." CR>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUSH-THROUGH RAISE PULL-UP>
|
||||
<EQUAL? ,HERE ,BELOW-MAST ,BARGE-CENTER>
|
||||
<NOT <FSET? ,SHIM ,NDESCBIT>>>
|
||||
<COND (<NOT <EQUAL? <CCOUNT ,WINNER> 0>>
|
||||
<TELL
|
||||
"You'll need two hands to do that. Better put everything down." CR>
|
||||
<RTRUE>)
|
||||
(ELSE
|
||||
<MOVE ,BEAM ,BARGE-CENTER>
|
||||
<SETG PUSHED-BEAM T>
|
||||
<PUTP ,BEAM ,P?FDESC
|
||||
"Lying on the deck of the barge is a long wooden beam.">
|
||||
<TELL
|
||||
"You have managed to lift the beam up through the hole and you hear it land on
|
||||
the deck with a thud." CR>)>)
|
||||
(<AND <VERB? PUSH-THROUGH>
|
||||
<EQUAL? ,PRSI ,MAST-HOLE>
|
||||
<EQUAL? ,HERE ,BELOW-MAST>>
|
||||
<TELL "It's wedged too tightly in the slot." CR>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUSH>
|
||||
<NOT <FSET? ,BEAM ,TOUCHBIT>>>
|
||||
<TELL "Nice try." CR>)
|
||||
(<VERB? MUNG>
|
||||
<TELL
|
||||
"This piece of wood is virtually petrified due to its age and original strength." CR>)
|
||||
>>
|
||||
|
||||
<ROUTINE DESCRIBE-BEAM-FCN (RARG "AUX" STR)
|
||||
<COND (<OR <NOT <EQUAL? .RARG ,M-OBJDESC>>
|
||||
<NOT ,BEAM-PLACED>>
|
||||
<RFALSE>)
|
||||
(<EQUAL? ,BEAM-PLACED 4> ;"CASE: In N. Ante, beam wedged"
|
||||
<TELL
|
||||
"Wedged under the top of the doorway, perpendicular to the floor, is the wooden
|
||||
beam." CR>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,BEAM-PLACED 5 1>
|
||||
<COND (<EQUAL? ,HERE ,MID-ANTECHAMBER>
|
||||
<TELL
|
||||
"Through the doorway you can see the beam spanning the pit." CR>)
|
||||
(<EQUAL? ,HERE ,WEST-END-OF-PASSAGE>
|
||||
<TELL "Stretching across the floor">
|
||||
<COND (<EQUAL? ,BEAM-PLACED 1>
|
||||
<TELL " from niche to niche">)>
|
||||
<COND (<NOT ,INNER-DOOR-SEALED>
|
||||
<TELL ", spanning a deep pit,">)>
|
||||
<TELL " is the wooden beam.">
|
||||
<COND (,ON-BEAM
|
||||
<TELL " You are standing on the beam.">)>
|
||||
<CRLF>)>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,BEAM-PLACED 2 3> ;"Case: S. Ante, wedged beam"
|
||||
<COND (<EQUAL? ,BEAM-PLACED 2>
|
||||
<SET STR "rocks">)
|
||||
(T <SET STR "doorway">)>
|
||||
<TELL
|
||||
"Wedged between the " .STR ", from side to side, is the stout beam." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT SCROLL
|
||||
(IN FORE-CABIN)
|
||||
(FLAGS TAKEBIT READBIT BURNBIT)
|
||||
(DESC "papyrus scroll")
|
||||
(FDESC
|
||||
"Sitting on the deck is a papyrus scroll.")
|
||||
(SIZE 1)
|
||||
(TEXT
|
||||
"This scroll was placed here for the Queen's passage to the afterlife.")
|
||||
(SYNONYM SCROLL)
|
||||
(ADJECTIVE PAPYRU)
|
||||
(ACTION READ-SCROLL-FCN)>
|
||||
|
||||
<ROUTINE READ-SCROLL-FCN ()
|
||||
<COND (<NOT <VERB? READ>>
|
||||
<RFALSE>)>
|
||||
<TELL
|
||||
"The scroll reads as follows:|
|
||||
|
|
||||
*-> <.> <:.> ... <::.>|
|
||||
|
|
||||
:: : ** --->> -) (*)" CR>
|
||||
<RTRUE>>
|
||||
|
||||
;<ROUTINE CLEAR-THE-BEAM ("AUX" F N (FLG <>) STR)
|
||||
<SET F <FIRST? ,BEAM>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .F>
|
||||
<RETURN>)
|
||||
(T
|
||||
<SET N .F>
|
||||
<SET F <NEXT? .N>>
|
||||
<COND (<AND <EQUAL? ,HERE ,MID-ANTECHAMBER>
|
||||
<NOT <FSET? ,PIT ,INVISIBLE>>
|
||||
<EQUAL? ,BEAM-PLACED 1>>
|
||||
<REMOVE .N>
|
||||
<SET STR "into the pit">)
|
||||
(T
|
||||
<MOVE .N ,HERE>
|
||||
<SET STR "onto the floor">)>
|
||||
<SET FLG T>)>>
|
||||
<COND (.FLG
|
||||
<TELL "Everything on the beam falls " .STR "." CR>)>>
|
|
@ -0,0 +1,66 @@
|
|||
"CLOCK for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<CONSTANT C-TABLELEN 180>
|
||||
|
||||
<GLOBAL C-TABLE <ITABLE NONE 180>>
|
||||
|
||||
<GLOBAL C-DEMONS 180>
|
||||
|
||||
<GLOBAL C-INTS 180>
|
||||
|
||||
<CONSTANT C-INTLEN 6>
|
||||
|
||||
<CONSTANT C-ENABLED? 0>
|
||||
|
||||
<CONSTANT C-TICK 1>
|
||||
|
||||
<CONSTANT C-RTN 2>
|
||||
|
||||
<ROUTINE DEMON (RTN TICK "AUX" CINT)
|
||||
#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
|
||||
<PUT <SET CINT <INT .RTN T>> ,C-TICK .TICK>
|
||||
.CINT>
|
||||
|
||||
<ROUTINE QUEUE (RTN TICK "AUX" CINT)
|
||||
#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
|
||||
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
|
||||
.CINT>
|
||||
|
||||
<ROUTINE INT (RTN "OPTIONAL" (DEMON <>) E C INT)
|
||||
#DECL ((RTN) ATOM (DEMON) <OR ATOM FALSE> (E C INT) <PRIMTYPE
|
||||
VECTOR>)
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
|
||||
<AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,C-INTLEN>>>
|
||||
<SET INT <REST ,C-TABLE ,C-INTS>>
|
||||
<PUT .INT ,C-RTN .RTN>
|
||||
<RETURN .INT>)
|
||||
(<EQUAL? <GET .C ,C-RTN> .RTN> <RETURN .C>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
||||
|
||||
<GLOBAL CLOCK-WAIT <>>
|
||||
|
||||
<ROUTINE CLOCKER ("AUX" C E TICK (FLG <>))
|
||||
#DECL ((C E) <PRIMTYPE VECTOR> (TICK) FIX (FLG) <OR FALSE ATOM>)
|
||||
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
|
||||
<SET C <REST ,C-TABLE <COND (,P-WON ,C-INTS) (T ,C-DEMONS)>>>
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<SETG MOVES <+ ,MOVES 1>>
|
||||
<RETURN .FLG>)
|
||||
(<NOT <0? <GET .C ,C-ENABLED?>>>
|
||||
<SET TICK <GET .C ,C-TICK>>
|
||||
<COND (<0? .TICK>)
|
||||
(T
|
||||
<PUT .C ,C-TICK <- .TICK 1>>
|
||||
<COND (<AND <NOT <G? .TICK 1>>
|
||||
<APPLY <GET .C ,C-RTN>>>
|
||||
<SET FLG T>)>)>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
|
@ -0,0 +1,16 @@
|
|||
"(c) Copyright 1983 Infocom, Inc. All Rights Reserved."
|
||||
|
||||
<ROUTINE THIS-IT? (OBJ TBL "AUX" SYNS)
|
||||
<COND (<FSET? .OBJ ,INVISIBLE> <RFALSE>)
|
||||
(<AND ,P-NAM
|
||||
<NOT <ZMEMQ ,P-NAM
|
||||
<SET SYNS <GETPT .OBJ ,P?SYNONYM>>
|
||||
<- </ <PTSIZE .SYNS> 2> 1>>>>
|
||||
<RFALSE>)
|
||||
(<AND ,P-ADJ
|
||||
<OR <NOT <SET SYNS <GETPT .OBJ ,P?ADJECTIVE>>>
|
||||
<NOT <ZMEMQB ,P-ADJ .SYNS <- <PTSIZE .SYNS> 1>>>>>
|
||||
<RFALSE>)
|
||||
(<AND <NOT <0? ,P-GWIMBIT>> <NOT <FSET? .OBJ ,P-GWIMBIT>>>
|
||||
<RFALSE>)>
|
||||
<RTRUE>>
|
|
@ -0,0 +1,395 @@
|
|||
"CUBE for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<ROOM LANDING-ONE
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Cube")
|
||||
(LDESC
|
||||
"You are in a room whose symmetry is uncanny, at least to the unaided eye: the
|
||||
dimensions of the room seem to form a perfect cube. There are three square
|
||||
doorways cut into the walls -- one to the north, and another to the west. A
|
||||
wide staircase leads up through the square doorway to the east.")
|
||||
(UP TO CHAMBER-OF-RA)
|
||||
(NORTH TO NE-BEND)
|
||||
(WEST TO CENTRAL-ROOM)
|
||||
(EAST TO CHAMBER-OF-RA)
|
||||
(GLOBAL EAST-STAIRS)
|
||||
(ACTION MOVE-PANEL-HERE)>
|
||||
|
||||
<ROOM LANDING-THREE
|
||||
(IN ROOMS)
|
||||
(DESC "Cube")
|
||||
(FLAGS RLANDBIT)
|
||||
(LDESC
|
||||
"You are in a room whose walls, floor and ceiling seem to form a perfect cube.
|
||||
There are four square doorways cut into the walls -- to the north, the south,
|
||||
the east and the west. Through the west doorway you can see a flight of stairs
|
||||
heading up.")
|
||||
(UP TO CHAMBER-OF-RA)
|
||||
(WEST TO CHAMBER-OF-RA)
|
||||
(NORTH TO NW-BEND)
|
||||
(SOUTH TO SW-BEND)
|
||||
(EAST TO CENTRAL-ROOM)
|
||||
(GLOBAL WEST-STAIRS)
|
||||
(ACTION MOVE-PANEL-HERE)>
|
||||
|
||||
<ROOM CENTRAL-ROOM
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Cube")
|
||||
(LDESC
|
||||
"You are in a room whose dimensions seem to measure a perfect cube. On the
|
||||
floor of this room is a series of symbols, inscribed in the stone. The walls
|
||||
bear strange pictures of a Queen, one of which shows her being wrapped in
|
||||
linen, another one showing her being lowered into what appears to be a solid
|
||||
gold sarcophagus. Four identical square doorways lead out of this chamber to
|
||||
the north, south, east and west.")
|
||||
(NORTH TO NORTH-CENTER)
|
||||
(SOUTH TO SOUTH-CENTER)
|
||||
(EAST TO LANDING-ONE)
|
||||
(WEST TO LANDING-THREE)
|
||||
(GLOBAL HIEROGLYPHS PICTURES)>
|
||||
|
||||
<ROOM NORTH-CENTER
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Cube")
|
||||
(LDESC
|
||||
"You are in a room in the shape of a perfect cube. There are three square
|
||||
doorways cut into the walls -- one to the west, one to the east, and another
|
||||
to the south.")
|
||||
(EAST TO NE-BEND)
|
||||
(WEST TO NW-BEND)
|
||||
(SOUTH TO CENTRAL-ROOM)>
|
||||
|
||||
<ROOM SOUTH-CENTER
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Cube")
|
||||
(LDESC
|
||||
"You are in a room whose symmetry is uncanny, at least to the unaided eye: the
|
||||
dimensions of the room seem to form a perfect cube. There are two square
|
||||
doorways cut into the walls -- one to the north, and another to the west.
|
||||
A panel, recessed into a wall, glows softly in your reflected light,
|
||||
while some hieroglyphs are visible above it.")
|
||||
(NORTH TO CENTRAL-ROOM)
|
||||
(WEST TO SW-BEND)
|
||||
(EAST TO SECRET-PASSAGE IF BRICKS-PRESSED
|
||||
ELSE "You can't go that way.")
|
||||
(GLOBAL HIEROGLYPHS)
|
||||
(ACTION SOUTH-CENTER-F)>
|
||||
|
||||
<GLOBAL BRICKS-TBL
|
||||
<TABLE BRICK-ONE BRICK-TWO BRICK-THREE BRICK-FOUR BRICK-FIVE
|
||||
BRICK-SIX BRICK-SEVEN BRICK-EIGHT BRICK-NINE>>
|
||||
|
||||
<ROUTINE SOUTH-CENTER-F (RARG "AUX" (OFFS -1) BK)
|
||||
<COND (<NOT <EQUAL? .RARG ,M-END>>
|
||||
<RFALSE>)>
|
||||
<REPEAT ()
|
||||
<SET OFFS <+ .OFFS 1>>
|
||||
<COND (<G? .OFFS 8>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SET BK <GET ,BRICKS-TBL .OFFS>>
|
||||
<COND (<IN? .BK ,PUNCH-PANEL>
|
||||
<FSET .BK ,NDESCBIT>)>)>>>
|
||||
|
||||
|
||||
<GLOBAL BRICKS-PRESSED <>>
|
||||
|
||||
<ROOM SW-BEND
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Cube")
|
||||
(LDESC
|
||||
"You are in a room whose symmetry is uncanny, at least to the unaided eye: the
|
||||
dimensions of the room seem to form a perfect cube. There are two square
|
||||
doorways cut into the walls -- one to the north, and another to the east. The
|
||||
uncannily-shaped room seems to form a corner for this entire area.")
|
||||
(NORTH TO LANDING-THREE)
|
||||
(EAST TO SOUTH-CENTER)>
|
||||
|
||||
<ROOM NE-BEND
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Cube")
|
||||
(LDESC
|
||||
"You are in a room whose dimensions seem to form a perfect cube. There are two
|
||||
square doorways cut into the walls -- one to the south, and another to the
|
||||
west. This room seems to form a corner for this entire area.")
|
||||
(WEST TO NORTH-CENTER)
|
||||
(SOUTH TO LANDING-ONE)>
|
||||
|
||||
<ROOM NW-BEND
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Cube")
|
||||
(LDESC
|
||||
"You are in a room whose shape is that of a perfect cube. There are two square
|
||||
doorways cut into the walls -- one to the south, and another to the east.")
|
||||
(SOUTH TO LANDING-THREE)
|
||||
(EAST TO NORTH-CENTER)>
|
||||
|
||||
<ROUTINE MOVE-PANEL-HERE (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<COND (<EQUAL? ,HERE ,LANDING-ONE ,LANDING-THREE ,TINY-LANDING>
|
||||
<MOVE-ROPE-HERE ,M-ENTER>
|
||||
<FCLEAR ,ROPE ,NDESCBIT>)>)>
|
||||
<RFALSE>>
|
||||
|
||||
<ROOM SECRET-PASSAGE
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Turning Passage")
|
||||
(LDESC
|
||||
"You are in a strange, turning passageway. The floor here descends, reminding
|
||||
you of a ramp Craige once told you about -- a deep entrance into the depths of
|
||||
an Incan tomb. The ramp turns off toward the north. Judging from what you
|
||||
remember of the cube rooms, the ramp most probably passes beneath the
|
||||
ascending east staircase. Through the open doorway to the west you can still
|
||||
see one of the cube rooms.")
|
||||
(NORTH TO TOP-OF-STAIRS) ;"Connection to ANTE"
|
||||
(WEST TO SOUTH-CENTER)
|
||||
(DOWN TO TOP-OF-STAIRS)
|
||||
(OUT TO SOUTH-CENTER)>
|
||||
|
||||
<OBJECT PUNCH-PANEL
|
||||
(IN SOUTH-CENTER)
|
||||
(DESC "recessed panel")
|
||||
(FLAGS NDESCBIT OPENBIT CONTBIT DONTTAKE)
|
||||
(SYNONYM PANEL)
|
||||
(ADJECTIVE RECESS)
|
||||
(CAPACITY 45)
|
||||
(ACTION PUNCH-PANEL-FCN)>
|
||||
|
||||
<GLOBAL NUM-TBL
|
||||
<TABLE "no" "one" "two" "three" "four" "five" "six" "seven" "eight"
|
||||
"nine">>
|
||||
|
||||
<GLOBAL DASH-STR
|
||||
"-----------------------------">
|
||||
|
||||
<GLOBAL EX-SP-EX-STR
|
||||
"! !">
|
||||
|
||||
<ROUTINE PUNCH-PANEL-FCN ("AUX" NUM)
|
||||
<COND (<AND <VERB? PUT>
|
||||
<PRSI? ,PUNCH-PANEL>
|
||||
<NOT <GETP ,PRSO ,P?BRICK>>>
|
||||
<TELL "It won't fit in there." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE READ>
|
||||
<SET NUM <- 9 ,BRICKS-TAKEN>>
|
||||
<TELL "There ">
|
||||
<COND (<EQUAL? .NUM 1>
|
||||
<TELL "is ">)
|
||||
(ELSE <TELL "are ">)>
|
||||
<TELL <GET ,NUM-TBL .NUM> " brick">
|
||||
<COND (<NOT <EQUAL? .NUM 1>>
|
||||
<TELL "s">)>
|
||||
<TELL " recessed into the panel">
|
||||
<COND (<EQUAL? .NUM 0 1>
|
||||
<TELL "." CR>)
|
||||
(ELSE <TELL
|
||||
", three rows by three columns. These bricks look as if they could be easily
|
||||
removed and are marked with numerical symbols." CR>)>
|
||||
<CRLF>
|
||||
<TELL ,DASH-STR CR>
|
||||
<TELL ,EX-SP-EX-STR CR>
|
||||
<TELL "! ">
|
||||
<COND (<IN? ,BRICK-ONE ,PUNCH-PANEL>
|
||||
<TELL "<.>">)
|
||||
(T <TELL " ">)>
|
||||
<TELL " ">
|
||||
<COND (<IN? ,BRICK-TWO ,PUNCH-PANEL>
|
||||
<TELL "<:>">)
|
||||
(T <TELL " ">)>
|
||||
<TELL " ">
|
||||
<COND (<IN? ,BRICK-THREE ,PUNCH-PANEL>
|
||||
<TELL "<:.>">)
|
||||
(T <TELL " ">)>
|
||||
<TELL " !" CR>
|
||||
<TELL ,EX-SP-EX-STR CR>
|
||||
<TELL "! ">
|
||||
<COND (<IN? ,BRICK-FOUR ,PUNCH-PANEL>
|
||||
<TELL "<::>">)
|
||||
(T <TELL " ">)>
|
||||
<TELL " ">
|
||||
<COND (<IN? ,BRICK-FIVE ,PUNCH-PANEL>
|
||||
<TELL "<::.>">)
|
||||
(T <TELL " ">)>
|
||||
<TELL " ">
|
||||
<COND (<IN? ,BRICK-SIX ,PUNCH-PANEL>
|
||||
<TELL "<:::>">)
|
||||
(T <TELL " ">)>
|
||||
<TELL " !" CR>
|
||||
<TELL ,EX-SP-EX-STR CR>
|
||||
<TELL "! ">
|
||||
<COND (<IN? ,BRICK-SEVEN ,PUNCH-PANEL>
|
||||
<TELL "<:::.>">)
|
||||
(T <TELL " ">)>
|
||||
<TELL " ">
|
||||
<COND (<IN? ,BRICK-EIGHT ,PUNCH-PANEL>
|
||||
<TELL "<::::>">)
|
||||
(T <TELL" ">)>
|
||||
<TELL " ">
|
||||
<COND (<IN? ,BRICK-NINE ,PUNCH-PANEL>
|
||||
<TELL "<::::.>">)
|
||||
(T <TELL " ">)>
|
||||
<TELL " !" CR>
|
||||
<TELL ,EX-SP-EX-STR CR>
|
||||
<TELL ,DASH-STR CR>
|
||||
<RTRUE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<HOW? ,PUNCH-PANEL>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT BRICK-ONE
|
||||
(IN PUNCH-PANEL)
|
||||
(FLAGS TAKEBIT NDESCBIT TOUCHBIT TRYTAKEBIT)
|
||||
(DESC "first brick")
|
||||
(SYNONYM BRICK BRICKS)
|
||||
(ADJECTIVE FIRST)
|
||||
(BRICK 1)
|
||||
(TEXT
|
||||
"<.>")
|
||||
(ACTION TAKE-BRICK-FCN)>
|
||||
|
||||
<OBJECT BRICK-NINE
|
||||
(IN PUNCH-PANEL)
|
||||
(FLAGS TAKEBIT NDESCBIT TOUCHBIT TRYTAKEBIT)
|
||||
(DESC "ninth brick")
|
||||
(SYNONYM BRICK BRICKS)
|
||||
(ADJECTIVE NINTH)
|
||||
(TEXT
|
||||
"<::::.>")
|
||||
(BRICK 9)
|
||||
(ACTION TAKE-BRICK-FCN)>
|
||||
|
||||
<OBJECT BRICK-EIGHT
|
||||
(IN PUNCH-PANEL)
|
||||
(FLAGS TAKEBIT NDESCBIT TOUCHBIT VOWELBIT TRYTAKEBIT)
|
||||
(DESC "eighth brick")
|
||||
(SYNONYM BRICK BRICKS)
|
||||
(ADJECTIVE EIGHTH)
|
||||
(TEXT
|
||||
"<::::>")
|
||||
(BRICK 8)
|
||||
(ACTION TAKE-BRICK-FCN)>
|
||||
|
||||
<OBJECT BRICK-SEVEN
|
||||
(IN PUNCH-PANEL)
|
||||
(FLAGS TAKEBIT NDESCBIT TOUCHBIT TRYTAKEBIT)
|
||||
(DESC "seventh brick")
|
||||
(SYNONYM BRICK BRICKS)
|
||||
(ADJECTIVE SEVENTH)
|
||||
(TEXT
|
||||
"<:::.>")
|
||||
(BRICK 7)
|
||||
(ACTION TAKE-BRICK-FCN)>
|
||||
|
||||
<OBJECT BRICK-SIX
|
||||
(IN PUNCH-PANEL)
|
||||
(FLAGS TAKEBIT NDESCBIT TOUCHBIT TRYTAKEBIT)
|
||||
(DESC "sixth brick")
|
||||
(SYNONYM BRICK BRICKS)
|
||||
(ADJECTIVE SIXTH)
|
||||
(TEXT
|
||||
"<:::>")
|
||||
(BRICK 6)
|
||||
(ACTION TAKE-BRICK-FCN)>
|
||||
|
||||
<OBJECT BRICK-FIVE
|
||||
(IN PUNCH-PANEL)
|
||||
(FLAGS TAKEBIT NDESCBIT TOUCHBIT TRYTAKEBIT)
|
||||
(DESC "fifth brick")
|
||||
(SYNONYM BRICK BRICKS)
|
||||
(ADJECTIVE FIFTH)
|
||||
(TEXT
|
||||
"<::.>")
|
||||
(BRICK 5)
|
||||
(ACTION TAKE-BRICK-FCN)>
|
||||
|
||||
<OBJECT BRICK-FOUR
|
||||
(IN PUNCH-PANEL)
|
||||
(FLAGS TAKEBIT NDESCBIT TOUCHBIT TRYTAKEBIT)
|
||||
(DESC "fourth brick")
|
||||
(SYNONYM BRICK BRICKS)
|
||||
(ADJECTIVE FOURTH)
|
||||
(TEXT
|
||||
"<::>")
|
||||
(BRICK 4)
|
||||
(ACTION TAKE-BRICK-FCN)>
|
||||
|
||||
<OBJECT BRICK-THREE
|
||||
(IN PUNCH-PANEL)
|
||||
(FLAGS TAKEBIT NDESCBIT TOUCHBIT TRYTAKEBIT)
|
||||
(DESC "third brick")
|
||||
(SYNONYM BRICK BRICKS)
|
||||
(ADJECTIVE THIRD)
|
||||
(TEXT
|
||||
"<:.>")
|
||||
(BRICK 3)
|
||||
(ACTION TAKE-BRICK-FCN)>
|
||||
|
||||
<OBJECT BRICK-TWO
|
||||
(IN PUNCH-PANEL)
|
||||
(FLAGS TAKEBIT NDESCBIT TOUCHBIT TRYTAKEBIT)
|
||||
(DESC "second brick")
|
||||
(SYNONYM BRICK BRICKS)
|
||||
(ADJECTIVE SECOND)
|
||||
(TEXT
|
||||
"<:>")
|
||||
(BRICK 2)
|
||||
(ACTION TAKE-BRICK-FCN)>
|
||||
|
||||
<GLOBAL BRICKS-TAKEN 0>
|
||||
<GLOBAL WRONG-BRICK <>>
|
||||
|
||||
<ROUTINE TAKE-BRICK-FCN ()
|
||||
<COND (<AND <VERB? PUT>
|
||||
<EQUAL? ,PRSI ,PUNCH-PANEL>>
|
||||
<FSET ,PRSO ,NDESCBIT>
|
||||
<SETG BRICKS-TAKEN <- ,BRICKS-TAKEN 1>>
|
||||
<RFALSE>)
|
||||
(<OR <NOT <VERB? TAKE>>
|
||||
<NOT <IN? ,PRSO ,PUNCH-PANEL>>>
|
||||
<RFALSE>)>
|
||||
<COND (<EQUAL? <ITAKE> <>>
|
||||
<RFATAL>)
|
||||
(T
|
||||
<COND (<AND <EQUAL? ,BRICKS-TAKEN 0>
|
||||
<NOT <EQUAL? ,PRSO ,BRICK-ONE>>>
|
||||
<SETG WRONG-BRICK T>)
|
||||
(<AND <EQUAL? ,BRICKS-TAKEN 1>
|
||||
<NOT <EQUAL? ,PRSO ,BRICK-THREE>>>
|
||||
<SETG WRONG-BRICK T>)
|
||||
(<AND <EQUAL? ,BRICKS-TAKEN 2>
|
||||
<NOT <EQUAL? ,PRSO ,BRICK-FIVE>>>
|
||||
<SETG WRONG-BRICK T>)>
|
||||
<SETG BRICKS-TAKEN <+ ,BRICKS-TAKEN 1>>
|
||||
<COND (<NOT <IN? ,PRSO ,PUNCH-PANEL>>
|
||||
<FCLEAR ,PRSO ,NDESCBIT>)>
|
||||
<COND (<AND <EQUAL? ,BRICKS-TAKEN 3>
|
||||
<NOT ,BRICKS-PRESSED>
|
||||
<NOT ,WRONG-BRICK>>
|
||||
<TELL
|
||||
"As soon as you grasp this brick a square doorway swings open. You leap back,
|
||||
unsure of what might happen, but quickly realize you've discovered a hidden
|
||||
passageway, making eastern movement from this cube room possible." CR>
|
||||
<SETG BRICKS-PRESSED T>
|
||||
<SETG SCORE <+ ,SCORE 25>>
|
||||
<PUTP ,SOUTH-CENTER ,P?LDESC
|
||||
"You are in a cubical-room whose walls, floor and ceiling are of an
|
||||
identical size. There are three square doorways cut into the walls --
|
||||
to the north, to the west, and a newly opened one to the east. Engraved
|
||||
on a wall are some hieroglyphs, while a panel, recessed in the same wall,
|
||||
glows softly in your reflected light.">
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL "Taken." CR>
|
||||
<RTRUE>)>)>>
|
|
@ -0,0 +1,448 @@
|
|||
"DIAMOND for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
;"DIAMOND AREA"
|
||||
|
||||
<ROOM ROOM-OF-NEPHTHYS
|
||||
(IN ROOMS)
|
||||
(DESC "Room of Nephthys")
|
||||
(FLAGS RLANDBIT)
|
||||
(LDESC
|
||||
"You have entered the room of the protective goddess Nephthys. The walls here
|
||||
are cut from pink granite, elaborately decorated with bright red carnelian and
|
||||
pale yellow feldspar. Along the northeast wall are panels of beaten gold, and
|
||||
midway up this wall, under the winged symbol of Nephthys, you can see some
|
||||
hieroglyphs. To the southeast, an opening has been cut in the thick granite
|
||||
wall.")
|
||||
(SE TO A-PRIME)
|
||||
(OUT TO A-PRIME)
|
||||
(GLOBAL HIEROGLYPHS DOORWAY PICTURE-PANELS GEMS-2)
|
||||
(ACTION SCORE-RMS)>
|
||||
|
||||
<OBJECT NEPHTH-JEWEL
|
||||
(IN ROOM-OF-NEPHTHYS)
|
||||
(FLAGS TAKEBIT)
|
||||
(DESC "diamond cluster")
|
||||
(VALUE 5)
|
||||
(SIZE 2)
|
||||
(FDESC
|
||||
"A large diamond cluster, glittering in your light, sits on the floor directly
|
||||
under the hieroglyphs.")
|
||||
(SYNONYM CLUSTE)
|
||||
(MAP 2)
|
||||
(ADJECTIVE DIAMON)>
|
||||
|
||||
<OBJECT HERRING-JEWEL
|
||||
(IN LANDING-ZERO)
|
||||
(FLAGS TAKEBIT)
|
||||
(DESC "golden cluster")
|
||||
(SIZE 2)
|
||||
(FDESC
|
||||
"A large golden cluster sits on the floor.")
|
||||
(SYNONYM CLUSTE)
|
||||
(MAP 2)
|
||||
(ADJECTIVE GOLDEN GOLD)>
|
||||
|
||||
<OBJECT SELKIS-JEWEL
|
||||
(IN ROOM-OF-SELKIS)
|
||||
(FLAGS TAKEBIT)
|
||||
(VALUE 5)
|
||||
(SIZE 2)
|
||||
(DESC "ruby cluster")
|
||||
(FDESC
|
||||
"A beautiful ruby cluster, sparkling like fire, sits on the floor.")
|
||||
(MAP 2)
|
||||
(SYNONYM CLUSTE)
|
||||
(ADJECTIVE RUBY)>
|
||||
|
||||
<OBJECT ISIS-JEWEL
|
||||
(IN ROOM-OF-ISIS)
|
||||
(FLAGS TAKEBIT VOWELBIT)
|
||||
(VALUE 5)
|
||||
(SIZE 2)
|
||||
(DESC "emerald cluster")
|
||||
(FDESC
|
||||
"Lying on the ground is a brilliant, glowing emerald cluster.")
|
||||
(MAP 2)
|
||||
(SYNONYM CLUSTE)
|
||||
(ADJECTIVE EMERAL)>
|
||||
|
||||
<OBJECT NEITH-JEWEL
|
||||
(IN ROOM-OF-NEITH)
|
||||
(FLAGS TAKEBIT VOWELBIT)
|
||||
(DESC "opal cluster")
|
||||
(FDESC
|
||||
"An opal cluster, glistening with the light of a thousand fires, lies on the
|
||||
floor.")
|
||||
(SYNONYM CLUSTE)
|
||||
(ADJECTIVE OPAL)
|
||||
(VALUE 5)
|
||||
(MAP 2)
|
||||
(SIZE 2)>
|
||||
|
||||
<ROOM ROOM-OF-SELKIS
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Room of Selkis")
|
||||
(LDESC
|
||||
"You are standing in a small room, that of the protective goddess Selkis.
|
||||
There are red, blue and green patterns on the walls formed from small glazed
|
||||
tiles that have been carefully arranged in order of shade. The darkest tiles
|
||||
border the floor, and become lightest near the ceiling. On one wall,
|
||||
inscribed in a beaten gold panel, is the symbol of Selkis, under which you can
|
||||
see some hieroglyphic text. An opening through the southwest wall leads out
|
||||
of this room.")
|
||||
(SW TO B-PRIME)
|
||||
(OUT TO B-PRIME)
|
||||
(GLOBAL HIEROGLYPHS DOORWAY GEMS-2 PICTURE-PANELS)
|
||||
(ACTION SCORE-RMS)>
|
||||
|
||||
<OBJECT TWINKLERS
|
||||
(IN ROOM-OF-ISIS)
|
||||
(FLAGS NDESCBIT DONTTAKE)
|
||||
(DESC "quartz")
|
||||
(SYNONYM LIGHTS QUARTZ CHIPS PATTER)
|
||||
(ADJECTIVE THOUSA TINY)
|
||||
(TEXT
|
||||
"They twinkle in the light, making beautiful patterns.")>
|
||||
|
||||
<ROOM ROOM-OF-ISIS
|
||||
(IN ROOMS)
|
||||
(DESC "Room of Isis")
|
||||
(FLAGS RLANDBIT)
|
||||
(LDESC
|
||||
"This is the room of the protective goddess Isis. You stand in amazement
|
||||
in the center of the room as thousands of tiny lights twinkle around you.
|
||||
With great surprise you realize that the light from your torch is being
|
||||
reflected by the mirror-like surfaces of innumerable quartzite chips.
|
||||
These are set artfully into red clay panels in the walls, and are surrounded
|
||||
by shiny red jasper fragments. On the southwest wall, under the winged symbol
|
||||
of Isis, some hieroglyphic text is inscribed in a gold panel. To the northeast
|
||||
is an arched opening, and, looking through it, you can barely make out a
|
||||
hallway.")
|
||||
(NE TO D-PRIME)
|
||||
(OUT TO D-PRIME)
|
||||
(GLOBAL HIEROGLYPHS PICTURE-PANELS GEMS DOORWAY)
|
||||
(ACTION SCORE-RMS)>
|
||||
|
||||
<ROOM ROOM-OF-NEITH
|
||||
(IN ROOMS)
|
||||
(DESC "Room of Neith")
|
||||
(FLAGS RLANDBIT)
|
||||
(LDESC
|
||||
"You are standing in the room of the protective goddess Neith. This room
|
||||
seems dark and mysterious with its decorations of inky-blue lapis lazuli
|
||||
and jet-black obsidian. Gold scrollwork defines an area on one of the
|
||||
walls, in the center of which is the symbol of Neith. Below this you can
|
||||
see some hieroglyphs etched into a beaten gold panel. There is a door in
|
||||
the northwest wall leading out of the room.")
|
||||
(NW TO E-PRIME)
|
||||
(OUT TO E-PRIME)
|
||||
(GLOBAL HIEROGLYPHS PICTURE-PANELS PICTURES GEMS)
|
||||
(ACTION SCORE-RMS)>
|
||||
|
||||
<OBJECT GEMS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "gem")
|
||||
(FLAGS NDESCBIT)
|
||||
(SYNONYM LAZULI OBSIDI JASPER GEMS)
|
||||
(ADJECTIVE LAPIS RED INKY- BLUE JET-B)
|
||||
(TEXT
|
||||
"The gems are quite remarkable, forming a delicate piece of art. To remove
|
||||
any of them would be beyond thinking. Even for you.")>
|
||||
|
||||
<OBJECT GEMS-2
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "tile")
|
||||
(FLAGS NDESCBIT)
|
||||
(SYNONYM CARNEL FELDSP GEMS TILES)
|
||||
(ADJECTIVE RED YELLOW BLUE GREEN BRIGHT)
|
||||
(TEXT
|
||||
"They are quite remarkable, forming a delicate piece of art. To remove
|
||||
any of them would be beyond thinking. Even for you.")>
|
||||
|
||||
<ROUTINE SCORE-RMS (RARG)
|
||||
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
||||
<NOT <FSET? ,HERE ,TOUCHBIT>>>
|
||||
<SETG SCORE <+ ,SCORE 25>>)>
|
||||
<RFALSE>>
|
||||
|
||||
<ROOM LANDING-ZERO
|
||||
(IN ROOMS)
|
||||
(DESC "Circular Room")
|
||||
(LDESC
|
||||
"You are in a strange, round room which sits in the center of four hallways.
|
||||
These hallways lead off to the northeast, southeast, southwest and northwest
|
||||
like the spokes of a wheel. Above your head is a long tunnel which stretches up
|
||||
and out of sight.")
|
||||
(FLAGS RLANDBIT)
|
||||
(NW TO A-PRIME)
|
||||
(NE TO B-PRIME)
|
||||
(SW TO D-PRIME)
|
||||
(SE TO E-PRIME)
|
||||
(UP TO CHAMBER-OF-RA IF ROPE-TIED ELSE
|
||||
"There's no way to get back up there.")
|
||||
(ACTION CIRCULAR-ROOM-FCN)>
|
||||
|
||||
<ROUTINE LOOK-DOWN-HALLS ()
|
||||
<TELL "As you peer down the dimly-lit hallways, you ">
|
||||
<COND (<NOT <STATUE-OPPOSITE?>>
|
||||
<TELL "see that the doors in all four hallways are
|
||||
balanced halfway open." CR>)
|
||||
(ELSE
|
||||
<TELL "notice that the door to the ">
|
||||
<TELL ,HALL-DIR>
|
||||
<TELL
|
||||
" is closed, while the one in the opposite hallway is all the way open. The
|
||||
other two are halfway open." CR>)>
|
||||
<FSET ,ROPE ,NDESCBIT>>
|
||||
|
||||
<GLOBAL CIRCLE-SCORED <>>
|
||||
|
||||
<ROUTINE CIRCULAR-ROOM-FCN (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<MOVE ,ROPE ,HERE>
|
||||
<FCLEAR ,ROPE ,NDESCBIT>
|
||||
<REMOVE ,ISIS-DOOR>
|
||||
<REMOVE ,NEPHTH-DOOR>
|
||||
<REMOVE ,NEITH-DOOR>
|
||||
<REMOVE ,SELKIS-DOOR>
|
||||
<COND (<NOT ,CIRCLE-SCORED>
|
||||
<SETG SCORE <+ ,SCORE 30>>
|
||||
<SETG CIRCLE-SCORED T>)>
|
||||
<COND (<AND <NOT ,VERBOSE>
|
||||
<FSET? ,HERE ,TOUCHBIT>>
|
||||
<LOOK-DOWN-HALLS>
|
||||
<CRLF>)>)
|
||||
(<EQUAL? .RARG ,M-LOOK>
|
||||
<FCLEAR ,ROPE ,NDESCBIT>
|
||||
<TELL <GETP ,LANDING-ZERO ,P?LDESC> CR>
|
||||
<DESCRIBE-ROPE-FCN ,M-OBJDESC>
|
||||
<LOOK-DOWN-HALLS>)>>
|
||||
|
||||
<OBJECT HUGE-STATUE
|
||||
(IN LANDING-ZERO)
|
||||
(DESC "large statue")
|
||||
(FDESC
|
||||
"Sitting in the middle of the floor is a large statue, about two feet shorter
|
||||
than you. It reminds you a little of Miss Ellingsworth.")
|
||||
(FLAGS TAKEBIT TRYTAKEBIT)
|
||||
(SIZE 281)
|
||||
(SYNONYM STATUE)
|
||||
(ADJECTIVE HUGE)
|
||||
(ACTION HUGE-STATUE-FCN)
|
||||
(TEXT
|
||||
"It is carved out of dark gray basalt and its features resemble a woman at the
|
||||
height of her beauty, most probably the ancient Queen. The statue itself must
|
||||
weigh more than you do.")>
|
||||
|
||||
<OBJECT HEAD
|
||||
(IN HUGE-STATUE)
|
||||
(FLAGS INVISIBLE TAKEBIT)
|
||||
(DESC "broken head")
|
||||
(SYNONYM HEAD)
|
||||
(SIZE 20)
|
||||
(ADJECTIVE BROKEN)
|
||||
(TEXT
|
||||
"This head was once part of the magnificent statue of the Queen.")
|
||||
(ACTION HEAD-FCN)>
|
||||
|
||||
<ROUTINE HEAD-FCN ()
|
||||
<COND (<VERB? RAISE>
|
||||
<PERFORM ,V?TAKE ,PRSO>
|
||||
<RTRUE>)
|
||||
(<VERB? SHAKE>
|
||||
<TELL "It's as empty as yours." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? CLIMB-ON>
|
||||
<TELL "Next you'll be asking for tumbling lessons." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE HUGE-STATUE-FCN ()
|
||||
<COND (<AND <VERB? MOVE TAKE PUSH PUSH-TO>
|
||||
<FSET? ,HEAD ,INVISIBLE>>
|
||||
<TELL
|
||||
"The statue teeters, swaying and rocking back and forth, then falls over,
|
||||
its top-heavy structure striking the floor with a dull, loud thud. As you
|
||||
look over the damage, you see the head has separated from the statue." CR>
|
||||
<MOVE ,HEAD ,HERE>
|
||||
<FCLEAR ,HEAD ,INVISIBLE>
|
||||
<FSET ,HUGE-STATUE ,TOUCHBIT>
|
||||
<RTRUE>)
|
||||
(<VERB? TAKE RAISE>
|
||||
<TELL "It's far too heavy." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? PUSH RAISE MOVE>
|
||||
<TELL
|
||||
"The statue rocks over and back on its back. Looks like it's headed nowhere
|
||||
fast." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? MUNG>
|
||||
<COND (<FSET? ,HEAD ,INVISIBLE>
|
||||
<PERFORM ,V?PUSH ,HUGE-STATUE>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL
|
||||
"Haven't you done enough damage to that beautiful relic?" CR>)>)
|
||||
(<VERB? EXAMINE>
|
||||
<COND (<FSET? ,HEAD ,INVISIBLE>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<TELL
|
||||
"The statue lies on the floor, its head broken off. In this state, the statue
|
||||
weighs a little less than you but it's still far too heavy to carry." CR>
|
||||
<RTRUE>)>)>>
|
||||
|
||||
<ROOM A-PRIME
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Northwest Hallway")
|
||||
(LDESC
|
||||
"You are standing in the middle of the Northwest Hallway. The walls here are
|
||||
smooth and undecorated, carved out of granite. The hallway continues to the
|
||||
northwest and to the southeast.")
|
||||
(SE TO LANDING-ZERO)
|
||||
(NW TO ROOM-OF-NEPHTHYS IF NEPHTH-DOOR IS OPEN ELSE
|
||||
"There's no way to get through the stone door.")
|
||||
(ACTION CLOSE-DEM-DOOAHS)>
|
||||
|
||||
<OBJECT NEPHTH-DOOR
|
||||
(IN A-PRIME)
|
||||
(FLAGS DOORBIT NDESCBIT)
|
||||
(DESC "stone door")
|
||||
(SYNONYM DOOR)
|
||||
(ADJECTIVE STONE)
|
||||
(ACTION STONE-DOOR-FCN)>
|
||||
|
||||
<ROUTINE STONE-DOOR-FCN ()
|
||||
<COND (<VERB? OPEN RAISE>
|
||||
<TELL "You can't. It's got to weigh 50 tons." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROOM B-PRIME
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Northeast Hallway")
|
||||
(LDESC
|
||||
"You are standing midway down the long Northeast Hallway. The high walls
|
||||
are undecorated, but bear the marks of the stonecarver's tool. The hallway
|
||||
continues to the northeast and the southwest.")
|
||||
(SW TO LANDING-ZERO)
|
||||
(NE TO ROOM-OF-SELKIS IF SELKIS-DOOR IS OPEN ELSE
|
||||
"There's no way to get through the stone door.")
|
||||
(ACTION CLOSE-DEM-DOOAHS)>
|
||||
|
||||
<OBJECT SELKIS-DOOR
|
||||
(FLAGS DOORBIT NDESCBIT)
|
||||
(DESC "stone door")
|
||||
(SYNONYM DOOR)
|
||||
(ADJECTIVE STONE)
|
||||
(ACTION STONE-DOOR-FCN)>
|
||||
|
||||
<ROOM D-PRIME
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Southwest Hallway")
|
||||
(LDESC
|
||||
"You are midway down the Southwest Hallway. The walls of this narrow passage
|
||||
are unadorned and smooth. The hallway continues to the southwest and the
|
||||
northeast.")
|
||||
(NE TO LANDING-ZERO)
|
||||
(SW TO ROOM-OF-ISIS IF ISIS-DOOR IS OPEN ELSE
|
||||
"There's no way to get through the stone door.")
|
||||
(ACTION CLOSE-DEM-DOOAHS)>
|
||||
|
||||
<OBJECT ISIS-DOOR
|
||||
(FLAGS DOORBIT NDESCBIT)
|
||||
(DESC "stone door")
|
||||
(SYNONYM DOOR)
|
||||
(ADJECTIVE STONE)
|
||||
(ACTION STONE-DOOR-FCN)>
|
||||
|
||||
<ROOM E-PRIME
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Southeast Hallway")
|
||||
(LDESC
|
||||
"You are midway down the Southeast Hallway. This corridor is undecorated and
|
||||
the walls are polished to a smooth lustre. The hallway continues to the
|
||||
southeast and the northwest.")
|
||||
(NW TO LANDING-ZERO)
|
||||
(SE TO ROOM-OF-NEITH IF NEITH-DOOR IS OPEN ELSE
|
||||
"There's no way to get through the stone door.")
|
||||
(ACTION CLOSE-DEM-DOOAHS)>
|
||||
|
||||
<OBJECT NEITH-DOOR
|
||||
(FLAGS DOORBIT NDESCBIT)
|
||||
(DESC "stone door")
|
||||
(SYNONYM DOOR)
|
||||
(ADJECTIVE STONE)
|
||||
(ACTION STONE-DOOR-FCN)>
|
||||
|
||||
<GLOBAL HALL-DIR <>>
|
||||
|
||||
<GLOBAL STATUE-CHK-TBL ;"starts @ 0, inc by 3"
|
||||
<TABLE A-PRIME E-PRIME "southeast"
|
||||
E-PRIME A-PRIME "northwest"
|
||||
B-PRIME D-PRIME "southwest"
|
||||
D-PRIME B-PRIME "northeast">>
|
||||
|
||||
<ROUTINE STATUE-OPPOSITE? ("AUX" (OFFS -3) H-CHK T-CHK (FLG <>))
|
||||
<REPEAT ()
|
||||
<SET OFFS <+ .OFFS 3>>
|
||||
<COND (<G? .OFFS 9>
|
||||
<RETURN>)
|
||||
(T
|
||||
<SET H-CHK <GET ,STATUE-CHK-TBL .OFFS>>
|
||||
<SET T-CHK <GET ,STATUE-CHK-TBL <+ .OFFS 1>>>
|
||||
<COND (<AND <EQUAL? ,HERE .H-CHK ,LANDING-ZERO>
|
||||
<G? <WEIGHT .T-CHK> 300>>
|
||||
<SET FLG T>
|
||||
<SETG HALL-DIR <GET ,STATUE-CHK-TBL
|
||||
<+ .OFFS 2>>>)>)>>
|
||||
<RETURN .FLG>>
|
||||
|
||||
<GLOBAL KLUDGE-FLG <>>
|
||||
|
||||
<ROUTINE CLOSE-DEM-DOOAHS (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<SET KLUDGE-FLG <>>
|
||||
<COND (<STATUE-OPPOSITE?>
|
||||
<COND (<EQUAL? ,HERE ,A-PRIME>
|
||||
<FSET ,NEPHTH-DOOR ,OPENBIT>)
|
||||
(<EQUAL? ,HERE ,B-PRIME>
|
||||
<FSET ,SELKIS-DOOR ,OPENBIT>)
|
||||
(<EQUAL? ,HERE ,D-PRIME>
|
||||
<FSET ,ISIS-DOOR ,OPENBIT>)
|
||||
(ELSE
|
||||
<FSET ,NEITH-DOOR ,OPENBIT>)>)
|
||||
(<G? <WEIGHT ,HERE> 300>
|
||||
<RFALSE>)
|
||||
(T <TELL
|
||||
"As you enter the corridor, a huge stone door begins to slide down from the
|
||||
ceiling closing off any further progress. The closer you come to the door, the
|
||||
further down the door descends until, eventually, it is close to the floor.
|
||||
When you turn around, you can barely see beyond the Circular Room where an
|
||||
identical door has risen off the floor an equal amount." CR>
|
||||
<CRLF>
|
||||
<COND (<EQUAL? ,HERE ,A-PRIME ,E-PRIME>
|
||||
<MOVE ,NEPHTH-DOOR ,A-PRIME>
|
||||
<FCLEAR ,NEPHTH-DOOR ,OPENBIT>
|
||||
<MOVE ,NEITH-DOOR ,E-PRIME>
|
||||
<FCLEAR ,NEITH-DOOR ,OPENBIT>)
|
||||
(<EQUAL? ,HERE ,B-PRIME ,D-PRIME>
|
||||
<MOVE ,SELKIS-DOOR ,B-PRIME>
|
||||
<MOVE ,ISIS-DOOR ,D-PRIME>
|
||||
<FCLEAR ,SELKIS-DOOR ,OPENBIT>
|
||||
<FCLEAR ,ISIS-DOOR ,OPENBIT>)>
|
||||
<SET KLUDGE-FLG T>)>)
|
||||
(<AND <EQUAL? .RARG ,M-END>
|
||||
<STATUE-OPPOSITE?>
|
||||
<NOT ,KLUDGE-FLG>>
|
||||
<TELL
|
||||
"The path before you remains open, the stone door having risen to the ceiling,
|
||||
counterbalanced by the door in the opposite corridor." CR>
|
||||
<SET KLUDGE-FLG T>
|
||||
<RTRUE>)>>
|
|
@ -0,0 +1,878 @@
|
|||
"GLOBALS for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<DIRECTIONS NORTH EAST WEST SOUTH UP DOWN IN OUT SE SW NE NW>
|
||||
|
||||
"SUBTITLE GLOBAL OBJECTS"
|
||||
|
||||
<OBJECT GLOBAL-OBJECTS
|
||||
(FLAGS RMUNGBIT INVISIBLE TOUCHBIT SURFACEBIT TRYTAKEBIT
|
||||
VOWELBIT OPENBIT SEARCHBIT TRANSBIT WEARBIT ONBIT)>
|
||||
|
||||
<OBJECT LOCAL-GLOBALS
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM ZZMGCK)
|
||||
(DESCFCN 0)
|
||||
(GLOBAL GLOBAL-OBJECTS)
|
||||
(PSEUDO "FOOBAR" V-WAIT)
|
||||
(CONTFCN 0)
|
||||
(SIZE 0)>
|
||||
;"Yes, this synonym for LOCAL-GLOBALS needs to exist... sigh"
|
||||
|
||||
<OBJECT ROOMS>
|
||||
|
||||
<OBJECT BASIE
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM BASIE)
|
||||
(DESC "Basie")>
|
||||
|
||||
<OBJECT PETROL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM GASOLI PETROL)
|
||||
(DESC "gasoline")>
|
||||
|
||||
<OBJECT FOO-TOOL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM HAMMER CROWBA EXPLOS MACHET)
|
||||
(DESC "such thing")>
|
||||
|
||||
<OBJECT DRACULA
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM DRACULA)
|
||||
(DESC "Dracula")>
|
||||
|
||||
<OBJECT FINGER
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(FLAGS SURFACEBIT OPENBIT CONTBIT TOUCHBIT)
|
||||
(CAPACITY 1)
|
||||
(SYNONYM FINGER)
|
||||
(DESC "finger")
|
||||
(ACTION FINGER-FCN)>
|
||||
|
||||
<ROUTINE FINGER-FCN ()
|
||||
<COND (<AND <VERB? PUT-ON>
|
||||
<PRSI? ,FINGER>>
|
||||
<PERFORM ,V?WEAR ,PRSO>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<FSET? ,RING ,WEARBIT>
|
||||
<TELL "Sitting on your finger is a ring." CR>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL "It's part of your hands." CR>
|
||||
<RTRUE>)>)>>
|
||||
|
||||
<OBJECT BLESSINGS
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM BLESSI)
|
||||
(DESC "blessings")>
|
||||
|
||||
<OBJECT INTNUM
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM INTNUM)
|
||||
(DESC "number")>
|
||||
|
||||
<OBJECT INTDIR
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM INTDIR)
|
||||
(ADJECTIVE NORTH EAST SOUTH WEST NE NW SE SW)
|
||||
(FLAGS TOOLBIT)
|
||||
(DESC "direction")>
|
||||
|
||||
<OBJECT PSEUDO-OBJECT
|
||||
(DESC "pseudo")
|
||||
(ACTION CRETIN)>
|
||||
|
||||
<OBJECT IT ;"was IT"
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM IT THAT)
|
||||
(DESC "random object")
|
||||
(FLAGS NDESCBIT TOUCHBIT)>
|
||||
|
||||
<OBJECT AIR
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "air")
|
||||
(FLAGS VOWELBIT CONTBIT OPENBIT)
|
||||
(SYNONYM AIR OXYGEN SKY)
|
||||
(TEXT
|
||||
"The air is as clear as any Egyptian air can be.")
|
||||
(ACTION AIR-FCN)>
|
||||
|
||||
<ROUTINE AIR-FCN ()
|
||||
<COND (<VERB? EXAMINE SMELL TASTE>
|
||||
<COND (<GETP ,HERE ,P?MAP>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<TELL "It's stale and musty" CR>
|
||||
<RTRUE>)>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<TELL "I think you're an air head." CR>)
|
||||
(<AND <PRSI? AIR>
|
||||
<VERB? EXAMINE LOOK-INSIDE>>
|
||||
<PERFORM ,V?LOOK-UP>
|
||||
<RTRUE>)
|
||||
(<AND <EQUAL? ,PRSI ,AIR>
|
||||
<VERB? THROW DROP>>
|
||||
<PERFORM ,PRSA ,PRSO ,GROUND>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? WAVE>
|
||||
<PRSO? ,AIR>>
|
||||
<TELL "Don't expect me to tell you the sky waves back." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT GROUND ;"was GROUND"
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM FLOOR GROUND)
|
||||
(DESC "floor")
|
||||
(ACTION READ-FLOOR-F)>
|
||||
|
||||
<ROUTINE READ-FLOOR-F ()
|
||||
<COND (<AND <VERB? EXAMINE READ>
|
||||
<EQUAL? ,HERE ,CENTRAL-ROOM>>
|
||||
<PERFORM ,V?READ ,HIEROGLYPHS>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT CRACK
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(FLAGS NDESCBIT CONTBIT OPENBIT)
|
||||
(DESC "crack")
|
||||
(SYNONYM CRACK)
|
||||
(TEXT
|
||||
"It's just a crack in the floor where the stones meet.")
|
||||
(ACTION CRACK-FCN)>
|
||||
|
||||
<ROUTINE CRACK-FCN ()
|
||||
<COND (<OR <GETP ,HERE ,P?MAP>
|
||||
<EQUAL? <GETP ,HERE ,P?ACTION> ,BURN-THE-BARGE>
|
||||
<AND <EQUAL? ,HERE ,WEST-END-OF-PASSAGE>
|
||||
<NOT <FSET? ,PIT ,INVISIBLE>>>>
|
||||
<TELL "I see no crack here." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<HOW? ,PRSO>
|
||||
<RTRUE>)
|
||||
(<VERB? LOOK-INSIDE>
|
||||
<TELL
|
||||
"Get real. There's nothing worth looking at in there." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT SAND
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT)
|
||||
(DESC "sand")
|
||||
(SYNONYM DESERT SAND GROUND)>
|
||||
|
||||
<OBJECT HOLE
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT)
|
||||
(DESC "hole")
|
||||
(SYNONYM HOLE)
|
||||
(ADJECTIVE SMALL ENLARG SIZABL KNEE- DEEP)
|
||||
(ACTION HOLE-FCN)>
|
||||
|
||||
<ROUTINE HOLE-FCN ()
|
||||
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<AND <EQUAL? ,HERE ,P8>
|
||||
<IN? ,PYRAMID ,HERE>>
|
||||
<TELL
|
||||
"You can see the block and the opening in there." CR>)
|
||||
(<G? <GETP ,HERE ,P?CAPACITY> 0>
|
||||
<TELL "Never mind that -- Here's a better
|
||||
problem: You dig a hole 52 feet by 20 feet by .105 yards. It takes you 5
|
||||
hours, 11 minutes and 2 seconds. You sweat off thirty grams of water
|
||||
per hour. And your best friend just ran off with the rent money. Now:
|
||||
How much sand is in the hole you dug?" CR>)
|
||||
(T
|
||||
<TELL "I don't see any hole here." CR>)>)
|
||||
(<VERB? FIND>
|
||||
<COND (<GETP ,HERE ,P?CAPACITY>
|
||||
<TELL "It's right here." CR>
|
||||
<RTRUE>)>)
|
||||
(<AND <EQUAL? ,PRSI ,HOLE>
|
||||
<VERB? PUT>
|
||||
<GETP ,HERE ,P?CAPACITY>>
|
||||
<TELL
|
||||
"It's just a hole in the sand from your excavation attempts. There's no need to
|
||||
put anything into it." CR>)>>
|
||||
|
||||
<OBJECT PEN-PENCIL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "writing implement")
|
||||
(SYNONYM PEN PENCIL)>
|
||||
|
||||
<OBJECT STONES
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM STONES BLOCKS)
|
||||
(DESC "stones")>
|
||||
|
||||
<OBJECT KEY
|
||||
(IN GLOBALS)
|
||||
(FLAGS NDESCBIT)
|
||||
(DESC "key")
|
||||
(SYNONYM KEY)
|
||||
(ADJECTIVE TRUNK)>
|
||||
|
||||
<OBJECT BULKHEADS
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(FLAGS NDESCBIT TOUCHBIT)
|
||||
(DESC "bulkhead")
|
||||
(SYNONYM BULKHE)>
|
||||
|
||||
<OBJECT WALLS
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(FLAGS NDESCBIT TOUCHBIT)
|
||||
(DESC "wall")
|
||||
(SYNONYM WALL WALLS)
|
||||
(ADJECTIVE STONE)
|
||||
(ACTION WALL-FCN)>
|
||||
|
||||
<ROUTINE WALL-FCN ("AUX" RMG RMGL)
|
||||
<COND (<AND <EQUAL? ,HERE ,STAIRS-BOTTOM>
|
||||
<VERB? EXAMINE READ>>
|
||||
<COND (<IN? ,PLASTER1 ,STAIRS-BOTTOM>
|
||||
<PERFORM ,V?EXAMINE ,PLASTER1>
|
||||
<RTRUE>)
|
||||
(T <TELL "I see nothing special about the wall." CR>
|
||||
<RTRUE>)>)
|
||||
(<VERB? EXAMINE READ>
|
||||
<COND (<AND <GLOBAL-IN? ,HIEROGLYPHS ,HERE>
|
||||
<NOT <EQUAL? ,HERE ,CENTRAL-ROOM>>>
|
||||
<PERFORM ,V?READ ,HIEROGLYPHS>
|
||||
<RTRUE>)
|
||||
(ELSE
|
||||
<RFALSE>)>)>>
|
||||
|
||||
<OBJECT CEILING
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(FLAGS NDESCBIT TOUCHBIT)
|
||||
(DESC "ceiling")
|
||||
(SYNONYM CEILIN)>
|
||||
|
||||
<OBJECT HANDS ;"was HANDS"
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM HANDS)
|
||||
(DESC "empty hands")
|
||||
(FLAGS NDESCBIT TOOLBIT TOUCHBIT VOWELBIT)
|
||||
(ACTION READ-PALMS-F)>
|
||||
|
||||
<ROUTINE READ-PALMS-F ()
|
||||
<COND (<VERB? READ>
|
||||
<TELL "I don't read palms." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT ADVENTURER
|
||||
(IN TOP-OF-STAIRWAY)
|
||||
(SYNONYM PLAYER ADVENT CRETIN)
|
||||
(DESC "cretin")
|
||||
(FLAGS ACTORBIT NDESCBIT INVISIBLE)>
|
||||
|
||||
<OBJECT ME
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM ME MYSELF SELF BACK)
|
||||
(DESC "you")
|
||||
(FLAGS ACTORBIT)
|
||||
(ACTION CRETIN)>
|
||||
|
||||
<ROUTINE CRETIN ()
|
||||
<COND (<NOT <EQUAL? ,PRSO ,WINNER ,ME>>
|
||||
<RFALSE>)>
|
||||
<COND (<VERB? EAT>
|
||||
<TELL
|
||||
"I've heard of biting one's knuckles, chewing one's fingernails, but don't you
|
||||
think that's a little extreme?" CR>)
|
||||
(<VERB? DRINK>
|
||||
<TELL
|
||||
"Find me a blender, jump in it, and once you're liquified, we'll talk." CR>)
|
||||
(<VERB? ALARM>
|
||||
<TELL
|
||||
"Good morning!" CR>)
|
||||
(<VERB? MUNG ATTACK KILL>
|
||||
<TELL
|
||||
"Hey, I know just how you feel. And I'm sure you think you deserve it -- I've
|
||||
been there myself. But take heart -- let nature take care of you. I'm sure it
|
||||
will, in time." CR>)
|
||||
(<VERB? PRAY>
|
||||
<TELL "Save yourself. Don't look to me, man." CR>)
|
||||
(<VERB? FIND>
|
||||
<TELL "Take a course in Zen." CR>)
|
||||
(<VERB? TAKE>
|
||||
<TELL "Auto-eroticism is not the answer." CR>)
|
||||
(<VERB? BURN>
|
||||
<TELL "Come on. Don't you have enough troubles?" CR>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE THROW>
|
||||
<TELL
|
||||
"Hmmm. How do you propose I accomplish that? (And they told me in AI school
|
||||
the intelligent creatures were on the other side of the keyboard!)" CR>)
|
||||
(<VERB? RUB>
|
||||
<TELL
|
||||
"Go rub yourself. You're starting to rub me the wrong way." CR>)
|
||||
(<VERB? PLAY>
|
||||
<TELL "Who do you think you're playing around with?" CR>)
|
||||
(<VERB? CLIMB-ON BOARD>
|
||||
<TELL "I'll get on your case is what I'll do, turkey." CR>)
|
||||
(<VERB? CLEAN>
|
||||
<TELL "Take a bath. Leave me out of this." CR>)
|
||||
(<VERB? CLOSE>
|
||||
<TELL "Better yet, close your mouth." CR>)
|
||||
(<VERB? CROSS>
|
||||
<TELL "Crossed and double-crossed, sucker." CR>)
|
||||
(<VERB? DISEMBARK>
|
||||
<TELL "What makes you think you deserve it?" CR>)
|
||||
(<VERB? DROP>
|
||||
<TELL "Like a hot potato." CR>)
|
||||
(<VERB? LEAN-ON OPEN>
|
||||
<TELL "I think you've got enough troubles." CR>)
|
||||
(<VERB? FOLLOW>
|
||||
<TELL "What makes you think you know where you're going?" CR>)
|
||||
(<VERB? LISTEN>
|
||||
<TELL "Do I have a choice?" CR>)
|
||||
(<VERB? SEARCH>
|
||||
<TELL "Okay. I found one empty head but a strong heart." CR>)
|
||||
(<VERB? MAKE>
|
||||
<TELL "I doubt anyone could make you do anything with that attitude." CR>)
|
||||
(<VERB? SHAKE>
|
||||
<TELL "Shake, rattle and roll." CR>)
|
||||
(<VERB? SMELL>
|
||||
<TELL "Phew! When was the last time you bathed?" CR>)
|
||||
(<VERB? SQUEEZE>
|
||||
<TELL "Like a python, eh?" CR>)
|
||||
(<VERB? THROW>
|
||||
<TELL "For a loop?" CR>)
|
||||
(<VERB? WEAR>
|
||||
<TELL "How many layers of skin does one human need?" CR>)
|
||||
(ELSE
|
||||
<RFALSE>)>
|
||||
<RTRUE>>
|
||||
|
||||
<OBJECT DOORWAY
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT CONTBIT OPENBIT)
|
||||
(DESC "doorway")
|
||||
(SYNONYM DOORWAY OPENIN)
|
||||
(ADJECTIVE ARCHED TIMBER)
|
||||
(ACTION DOORWAY-FCN)>
|
||||
|
||||
<ROUTINE DOORWAY-FCN ()
|
||||
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<AND <EQUAL? ,HERE ,NORTH-ANTECHAMBER ,BURIAL-CHAMBER>
|
||||
<EQUAL? ,BEAM-PLACED 4>>
|
||||
<TELL
|
||||
"The mast is in the doorway, running from top to bottom." CR>
|
||||
<RTRUE>)
|
||||
(<AND <EQUAL? ,HERE ,SOUTH-ANTECHAMBER ,ANNEX>
|
||||
<EQUAL? ,BEAM-PLACED 2 3>>
|
||||
<TELL
|
||||
"The beam is wedged in the doorway from side to side." CR>
|
||||
<RTRUE>)>)>>
|
||||
|
||||
<OBJECT PICTURE-PANELS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "panel")
|
||||
(FLAGS NDESCBIT)
|
||||
(SYNONYM PANEL PANELS)
|
||||
(ADJECTIVE GOLD RED CLAY BEATEN)
|
||||
(ACTION PANEL-ON-WALL-FCN)>
|
||||
|
||||
<ROUTINE PANEL-ON-WALL-FCN ()
|
||||
<COND (<VERB? EXAMINE READ>
|
||||
<TELL
|
||||
"The panels are beautiful pieces of art, to be appreciated by the Queen on her
|
||||
journey through the Netherworld." CR>
|
||||
<COND (<GLOBAL-IN? ,HIEROGLYPHS ,HERE>
|
||||
<PERFORM ,V?READ ,HIEROGLYPHS>
|
||||
<RTRUE>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
|
||||
<OBJECT STAIRS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(SYNONYM STAIRS STEPS LADDER STAIRWAY)
|
||||
(DESC "stairs")
|
||||
(FLAGS NDESCBIT CLIMBBIT TOUCHBIT)
|
||||
(ACTION DESC-STAIRS-F)>
|
||||
|
||||
<ROUTINE DESC-STAIRS-F ()
|
||||
<COND (<AND <VERB? EXAMINE>
|
||||
<EQUAL? ,HERE ,AFT-CABIN ,BELOW-DECK>>
|
||||
<TELL "The ladder is made of wood, and it looks fairly sturdy."
|
||||
CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT PARACHUTE
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM PARACH CHUTE)
|
||||
(DESC "parachute")
|
||||
(ACTION GOOD-LUCK-FCN)>
|
||||
|
||||
<OBJECT PLANE
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "airplane")
|
||||
(SYNONYM PLANE AIRPLA PILOT)
|
||||
(TEXT
|
||||
"Its a small, one-engine plane, similar in shape to the old Piper Cubs.")
|
||||
(ACTION PLANE-FCN)>
|
||||
|
||||
<ROUTINE PLANE-FCN ()
|
||||
<COND (<VERB? WAVE>
|
||||
<COND (<AND <L? ,MOVES 8>
|
||||
<NOT <IN-A-TENT?>>>
|
||||
<TELL "The plane dips its wings in salute." CR>)
|
||||
(<L? ,MOVES 8>
|
||||
<TELL
|
||||
"You wave at the plane through the top of the tent. Somehow, I doubt it
|
||||
noticed." CR>)
|
||||
(T
|
||||
<TELL "The plane's returned to its home base." CR>)>)
|
||||
(<VERB? FIND>
|
||||
<COND (<G? ,MOVES 8>
|
||||
<TELL "I suppose it's up in the air, somewhere." CR>)
|
||||
(T
|
||||
<TELL "It's somewhere up over your head." CR>)>)
|
||||
(<VERB? EXAMINE>
|
||||
<COND (<AND <NOT <IN-A-TENT?>>
|
||||
<L? ,MOVES 8>>
|
||||
<RFALSE>)
|
||||
(<L? ,MOVES 8>
|
||||
<TELL
|
||||
"All I can tell you about it is that it's out there." CR>)
|
||||
(T
|
||||
<TELL "The plane's far gone, amigo." CR>)>)
|
||||
(<AND <VERB? LISTEN>
|
||||
<L? ,MOVES 9>>
|
||||
<TELL "RRRRRRRrrrrrrr r r r r r r r r." CR>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<COND (<G? ,MOVES 8>
|
||||
<TELL "What plane? It's gone!" CR>)
|
||||
(T
|
||||
<TELL
|
||||
"Leave the plane alone. It's not bothering you." CR>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE GOOD-LUCK-FCN ()
|
||||
<COND (<VERB? FIND>
|
||||
<COND (<L? ,MOVES 8>
|
||||
<TELL "Look up!" CR>)
|
||||
(T
|
||||
<TELL
|
||||
"It's gone with the wind, never to be seen again." CR>)>)
|
||||
(<VERB? EXAMINE>
|
||||
<COND (<AND <G? ,MOVES 4>
|
||||
<L? ,MOVES 8>>
|
||||
<TELL "It's white." CR>)
|
||||
(<L? ,MOVES 5>
|
||||
<TELL "What parachute?" CR>)
|
||||
(T
|
||||
<TELL
|
||||
"The most I can tell you is that it was white." CR>)>)
|
||||
(<VERB? STAND-UNDER>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<COND (<G? ,MOVES 7>
|
||||
<TELL
|
||||
"Forget the chute, amigo. It's history. And if you don't get on with this, you
|
||||
will be too." CR>)
|
||||
(T
|
||||
<TELL "Leave the parachute alone." CR>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT SIP
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(FLAGS TAKEBIT)
|
||||
(DESC "sip of water")
|
||||
(SYNONYM SIP)
|
||||
(ACTION SIP-FCN)>
|
||||
|
||||
<ROUTINE SIP-FCN ()
|
||||
<COND (<AND <EQUAL? ,PRSO ,SIP>
|
||||
<VERB? TAKE>>
|
||||
<COND (<OR <NOT ,PRSI>
|
||||
<PRSI? ,WATER>>
|
||||
<PERFORM ,V?DRINK ,WATER>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,PRSI ,LIQUID>
|
||||
<PERFORM ,V?DRINK ,LIQUID>)
|
||||
(ELSE
|
||||
<TELL "No, I don't think I quite understand." CR>)>)
|
||||
(ELSE
|
||||
<TELL "Now that's an interesting thought." CR>)>>
|
||||
|
||||
;"GLOBAL VARIABLES"
|
||||
|
||||
<GLOBAL HERE <>>
|
||||
|
||||
<GLOBAL LOAD-ALLOWED 100>
|
||||
|
||||
<GLOBAL LOAD-MAX 0>
|
||||
|
||||
<GLOBAL LIT T>
|
||||
|
||||
<GLOBAL MOVES 0>
|
||||
|
||||
<GLOBAL SCORE 0>
|
||||
|
||||
<GLOBAL INDENTS
|
||||
<TABLE ""
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" ">>
|
||||
|
||||
;"******************************************
|
||||
Here come the globals
|
||||
********************************************"
|
||||
|
||||
<GLOBAL STATUE-TBL
|
||||
<TABLE ISIS NEPHTHYS NEITH SELKIS>>
|
||||
<GLOBAL STATUE-NAME-TBL
|
||||
<TABLE "Isis" "Nephthys" "Neith" "Selkis">>
|
||||
<GLOBAL ORDER-LTBL
|
||||
<LTABLE NEITH SELKIS ISIS NEPHTHYS>>
|
||||
<GLOBAL TURNED-LTBL
|
||||
<LTABLE <> <> <> <>>>
|
||||
<GLOBAL DOWN-LTBL
|
||||
<LTABLE LANDING-ZERO LANDING-ONE LANDING-TWO LANDING-THREE>>
|
||||
|
||||
<GLOBAL SOMETHING-DROPPED <>>
|
||||
<GLOBAL WHAT-WAS-DROPPED <>>
|
||||
<GLOBAL ROPE-PLACED <>>
|
||||
;<GLOBAL ROPE-LANDING <>>
|
||||
<GLOBAL ROPE-TIED <>>
|
||||
<GLOBAL MATCH-COUNT 20>
|
||||
<GLOBAL SCARAB-SET <>>
|
||||
<GLOBAL OIL-SOAKED <>>
|
||||
<GLOBAL OILED-TORCH <>>
|
||||
<GLOBAL OIL-LEFT 100>
|
||||
<GLOBAL TORCH-TURNS 0>
|
||||
<GLOBAL TURN-OFFSET 0>
|
||||
<GLOBAL CAN-TURN-STATUES <>>
|
||||
<GLOBAL STATUES-SET <>>
|
||||
<GLOBAL ANTE-SEAL T>
|
||||
<GLOBAL BEAM-PLACED <>>
|
||||
<GLOBAL ON-BEAM <>>
|
||||
<GLOBAL INNER-DOOR-SEALED T>
|
||||
<GLOBAL PLASTER-GONE <>>
|
||||
<GLOBAL FIRST-ENTRY T>
|
||||
|
||||
<OBJECT HIEROGLYPHS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "hieroglyphs")
|
||||
(FLAGS NDESCBIT)
|
||||
(SYNONYM SYMBOL HIEROG GLYPHS)
|
||||
(ADJECTIVE STRANGE)
|
||||
(ACTION HIERO-FCN)>
|
||||
|
||||
<ROUTINE HIERO-FCN ("AUX" TEMP (COUNTER 0) OFFSET)
|
||||
<COND (<NOT <VERB? READ EXAMINE>>
|
||||
<RFALSE>)>
|
||||
<COND (<AND <IN? ,WINNER ,STAIRS-BOTTOM>
|
||||
<IN? ,PLASTER1 ,STAIRS-BOTTOM>>
|
||||
<TELL CR
|
||||
"*-> # !!! :: ...> .-" CR>)
|
||||
(<IN? ,WINNER ,WEST-END-OF-PASSAGE>
|
||||
<COND (<FSET? ,PIT ,INVISIBLE>
|
||||
<TELL CR
|
||||
" .|
|
||||
<-* # /!\\ - # (= =)|
|
||||
|
|
||||
:: *-> # !!!" CR>)
|
||||
(T
|
||||
<TELL "They're gone with the plaster." CR>)>)
|
||||
(<AND <ROOM? ,NORTH-ANTECHAMBER>
|
||||
<NOT <FSET? ,BURIAL-CHAMBER ,RMUNGBIT>>>
|
||||
<TELL CR
|
||||
" - !=!|
|
||||
<-* # /!\\ . # ! !|
|
||||
|
|
||||
:: *-> # !!!" CR>)
|
||||
(<AND <ROOM? SOUTH-ANTECHAMBER>
|
||||
<NOT <FSET? ,ANNEX-DOOR ,OPENBIT>>>
|
||||
<TELL CR
|
||||
" -|
|
||||
<-* # /!\\ (.) # ! !|
|
||||
-|
|
||||
|
|
||||
-|
|
||||
:: ( # ! !|
|
||||
-" CR>)
|
||||
(<ROOM? ,ROOM-OF-NEPHTHYS ,ROOM-OF-ISIS
|
||||
,ROOM-OF-SELKIS ,ROOM-OF-NEITH>
|
||||
<COND (<EQUAL? ,HERE ,ROOM-OF-NEPHTHYS>
|
||||
<SET TEMP ,NEPHTHYS>
|
||||
<SET OFFSET 4>)
|
||||
(<EQUAL? ,HERE ,ROOM-OF-NEITH>
|
||||
<SET TEMP ,NEITH>
|
||||
<SET OFFSET 2>)
|
||||
(<EQUAL? ,HERE ,ROOM-OF-SELKIS>
|
||||
<SET TEMP ,SELKIS>
|
||||
<SET OFFSET 1>)
|
||||
(T <SET TEMP ,ISIS>
|
||||
<SET OFFSET 3>)>
|
||||
<REPEAT ()
|
||||
<SET COUNTER <+ .COUNTER 1>>
|
||||
<COND (<EQUAL? .TEMP
|
||||
<GET ,ORDER-LTBL .COUNTER>>
|
||||
<RETURN>)>>
|
||||
<TELL CR " " <GET ,STAR-LTBL .COUNTER> CR>
|
||||
<TELL CR
|
||||
" " <GET ,COMPASS-POINTS-LTBL .OFFSET> CR>
|
||||
<TELL
|
||||
")) / # " <GET ,COMPASS-TAILS-LTBL .OFFSET> " ::|
|
||||
|
|
||||
<-* "
|
||||
<GET ,STAR-LTBL .COUNTER> " =!= / *" CR>)
|
||||
(<IN? ,WINNER ,BEND-HALL>
|
||||
<TELL
|
||||
"
|
||||
. = - -|
|
||||
!@! ...> - # * = :: <... ;|
|
||||
|
|
||||
# *|
|
||||
=" CR>)
|
||||
(<IN? ,WINNER ,CENTRAL-ROOM>
|
||||
<TELL
|
||||
"The hieroglyphs look like this:|
|
||||
|
|
||||
!-!|
|
||||
...> -. >... # ! ! !|
|
||||
!-!|
|
||||
|
|
||||
/ ...> / # !@!" CR>)
|
||||
(<EQUAL? ,HERE ,SOUTH-CENTER>
|
||||
<TELL
|
||||
"The hieroglyphs look like this:
|
||||
|
|
||||
|
|
||||
<.> <:> <:.>|
|
||||
|
|
||||
<::> <::.> <:::>|
|
||||
|
|
||||
<:::.> <::::> <::::.>" CR>)
|
||||
(<EQUAL? <LOC ,WINNER> ,SKELETON-ROOM ,SILVER-ROOM ,GOLDEN-ROOM>
|
||||
<TELL
|
||||
"The hieroglyphs look like this:|
|
||||
|
|
||||
-!- # !* :: # *! ::|
|
||||
|
|
||||
*-> # !@! >*>" CR>)
|
||||
(T
|
||||
<TELL "I don't see them here." CR>)>
|
||||
<RTRUE>>
|
||||
|
||||
<GLOBAL STAR-LTBL
|
||||
<LTABLE "(@)"
|
||||
"(@@)"
|
||||
"(@@@)"
|
||||
"(@@@@)">>
|
||||
|
||||
<GLOBAL COMPASS-POINTS-LTBL
|
||||
<LTABLE
|
||||
" ."
|
||||
"\\"
|
||||
" /"
|
||||
". ">>
|
||||
|
||||
<GLOBAL COMPASS-TAILS-LTBL
|
||||
<LTABLE
|
||||
"/"
|
||||
" ."
|
||||
". "
|
||||
" \\">>
|
||||
|
||||
<GLOBAL WATER-LEFT 0>
|
||||
|
||||
<OBJECT PICTURES
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT)
|
||||
(DESC "decorations")
|
||||
(SYNONYM PAINTI PICTUR SCROLL)
|
||||
(ADJECTIVE SMALL LARGE)
|
||||
(TEXT
|
||||
"Quite beautiful, no?")>
|
||||
|
||||
<OBJECT PILLARS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT)
|
||||
(DESC "pillars")
|
||||
(SYNONYM PILLARS)
|
||||
(TEXT
|
||||
"They're quite huge, aren't they?")>
|
||||
|
||||
<OBJECT BOAT
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS VEHBIT)
|
||||
(DESC "barge")
|
||||
(SYNONYM BARGE BOAT SHIP WOOD)
|
||||
(ADJECTIVE WOODEN WOOD)
|
||||
(ACTION BOARD-BARGE-F)>
|
||||
|
||||
<ROUTINE BOARD-BARGE-F ()
|
||||
<COND (<VERB? BOARD>
|
||||
<COND (<EQUAL? ,HERE ,BARGE-ENTRANCE>
|
||||
<DO-WALK ,P?UP>
|
||||
<RTRUE>)
|
||||
(<OR <EQUAL? ,HERE ,NW-CORNER ,NE-CORNER>
|
||||
<EQUAL? ,HERE ,SW-CORNER ,SE-CORNER>>
|
||||
<TELL "There's no way to do that from here." CR>
|
||||
<RTRUE>)
|
||||
(<OR <EQUAL? ,HERE ,FORE-CABIN ,AFT-CABIN ,BELOW-DECK>
|
||||
<EQUAL? ,HERE ,BELOW-MAST ,BARGE-CENTER>>
|
||||
<TELL "Just where do you think you are?" CR>
|
||||
<RTRUE>)>)
|
||||
(<VERB? DISEMBARK>
|
||||
<COND (<EQUAL? ,HERE ,BARGE-CENTER>
|
||||
<DO-WALK ,P?DOWN>
|
||||
<RTRUE>)
|
||||
(<OR <EQUAL? ,HERE ,NW-CORNER ,NE-CORNER>
|
||||
<EQUAL? ,HERE ,SW-CORNER ,SE-CORNER>>
|
||||
<TELL "You're not on the barge!" CR>
|
||||
<RTRUE>)
|
||||
(<OR <EQUAL? ,HERE ,FORE-CABIN ,AFT-CABIN ,BELOW-DECK>
|
||||
<EQUAL? ,HERE ,BELOW-MAST ,BARGE-CENTER>>
|
||||
<TELL "I can't do that from here." CR>
|
||||
<RTRUE>)>)>>
|
||||
|
||||
|
||||
<OBJECT DECK
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "deck")
|
||||
(SYNONYM DECK DECKIN)
|
||||
(ACTION JUMP-OFF-FCN)>
|
||||
|
||||
<ROUTINE JUMP-OFF-FCN ()
|
||||
<COND (<AND <EQUAL? ,HERE ,BARGE-CENTER>
|
||||
<VERB? LEAP>>
|
||||
<TELL "Don't you think using the plank would be safer?" CR>
|
||||
<RTRUE>)
|
||||
(<VERB? LEAP>
|
||||
<TELL "It might be easier without these bulkheads around." CR>)
|
||||
(<VERB? LOOK-INSIDE EXAMINE>
|
||||
<COND (<FIRST? ,HERE>
|
||||
<DESCRIBE-OBJECTS T>
|
||||
<RTRUE>)
|
||||
(ELSE
|
||||
<TELL "There's nothing on the deck." CR>
|
||||
<RTRUE>)>)
|
||||
(<VERB? COUNT>
|
||||
<TELL "What a cahd! (52 to be exact!)" CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT FLAPS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "flap")
|
||||
(SYNONYM FLAP FLAPS)
|
||||
(ACTION FLAP-FCN)>
|
||||
|
||||
<ROUTINE FLAP-FCN ()
|
||||
<COND (<NOT <VERB? LOOK-INSIDE>>
|
||||
<RFALSE>)
|
||||
(<EQUAL? ,HERE ,TENT ,TENT2 ,SUPPLY-TENT>
|
||||
<TELL
|
||||
"You can make out a lot of sand and a small firepit." CR>)
|
||||
(<EQUAL? ,HERE ,P2>
|
||||
<TELL
|
||||
"You can make out your cot and the trunk inside the tent." CR>)
|
||||
(<EQUAL? ,HERE ,P7 ,P4>
|
||||
<TELL
|
||||
"You can see nothing distinguishable by trying to look in through the bright
|
||||
sunlight." CR>)>
|
||||
<RTRUE>>
|
||||
|
||||
<OBJECT THICKET
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "thicket")
|
||||
(SYNONYM THICKE)
|
||||
(ACTION THICKET-FCN)>
|
||||
|
||||
<ROUTINE THICKET-FCN ()
|
||||
<COND (<NOT <EQUAL? ,HERE ,RIVER-BANK ,P4 ,P6>>
|
||||
<TELL "I see no thickets here." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE>
|
||||
<TELL "Thicker thickets have never been thicker." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
;"Parser-related stuff"
|
||||
|
||||
<OBJECT NOT-HERE-OBJECT
|
||||
(DESC "such thing" ;"[not here]")
|
||||
(ACTION NOT-HERE-OBJECT-F)>
|
||||
|
||||
<ROUTINE NOT-HERE-OBJECT-F ("AUX" TBL (PRSO? T) OBJ)
|
||||
;"This COND is game independent (except the TELL)"
|
||||
<COND (<AND <EQUAL? ,PRSO ,NOT-HERE-OBJECT>
|
||||
<EQUAL? ,PRSI ,NOT-HERE-OBJECT>>
|
||||
<TELL "Those things aren't here!" CR>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,PRSO ,NOT-HERE-OBJECT>
|
||||
<SET TBL ,P-PRSO>)
|
||||
(T
|
||||
<SET TBL ,P-PRSI>
|
||||
<SET PRSO? <>>)>
|
||||
<COND (.PRSO?
|
||||
<COND (<VERB? LAMP-ON BURN LAMP-OFF>
|
||||
<COND (<SET OBJ <FIND-NOT-HERE .TBL .PRSO?>>
|
||||
<COND (<NOT <==? .OBJ ,NOT-HERE-OBJECT>>
|
||||
<RTRUE>)>)
|
||||
(T
|
||||
<RFALSE>)>)>)
|
||||
(T
|
||||
<COND (<VERB? LAMP-ON BURN LAMP-OFF>
|
||||
<COND (<SET OBJ <FIND-NOT-HERE .TBL .PRSO?>>
|
||||
<COND (<NOT <==? .OBJ ,NOT-HERE-OBJECT>>
|
||||
<RTRUE>)>)
|
||||
(T
|
||||
<RFALSE>)>)>)>
|
||||
;"Here is the default 'cant see any' printer"
|
||||
<COND (<EQUAL? ,WINNER ,ADVENTURER>
|
||||
<TELL "You can't see any">
|
||||
<NOT-HERE-PRINT .PRSO?>
|
||||
<TELL " here!" CR>)
|
||||
(T
|
||||
<TELL "The " D ,WINNER " seems confused. \"I don't see any">
|
||||
<NOT-HERE-PRINT .PRSO?>
|
||||
<TELL " here!\"" CR>)>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE FIND-NOT-HERE (TBL PRSO? "AUX" M-F OBJ)
|
||||
;"Here is where special-case code goes. <MOBY-FIND .TBL> returns
|
||||
number of matches. If 1, then P-MOBY-FOUND is it. One may treat
|
||||
the 0 and >1 cases alike or different. It doesn't matter. Always
|
||||
return RFALSE (not handled) if you have resolved the problem."
|
||||
<SET M-F <MOBY-FIND .TBL>>
|
||||
<COND (<AND <G? .M-F 1>
|
||||
<SET OBJ <GETP <1 .TBL> ,P?GLOBAL>>>
|
||||
<SET M-F 1>
|
||||
<SETG P-MOBY-FOUND .OBJ>)>
|
||||
<COND (<==? 1 .M-F>
|
||||
<COND (.PRSO? <SETG PRSO ,P-MOBY-FOUND>)
|
||||
(T <SETG PRSI ,P-MOBY-FOUND>)>
|
||||
<RFALSE>)
|
||||
(<NOT .PRSO?>
|
||||
<TELL "You wouldn't find any">
|
||||
<NOT-HERE-PRINT .PRSO?>
|
||||
<TELL " there." CR>
|
||||
<RTRUE>)
|
||||
(T ,NOT-HERE-OBJECT)>>
|
||||
|
||||
<ROUTINE GLOBAL-NOT-HERE-PRINT (OBJ)
|
||||
<COND (,P-MULT <SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>)
|
||||
(T
|
||||
<TELL "You can't see any">
|
||||
<COND (<EQUAL? .OBJ ,PRSO> <PRSO-PRINT>)
|
||||
(T <PRSI-PRINT>)>
|
||||
<TELL " here." CR>)>
|
||||
<SETG P-WON <>>>
|
||||
|
||||
<ROUTINE NOT-HERE-PRINT (PRSO?)
|
||||
<COND (,P-OFLAG
|
||||
<COND (,P-XADJ <TELL " "> <PRINTB ,P-XADJN>)>
|
||||
<COND (,P-XNAM <TELL " "> <PRINTB ,P-XNAM>)>)
|
||||
(.PRSO?
|
||||
<BUFFER-PRINT <GET ,P-ITBL ,P-NC1> <GET ,P-ITBL ,P-NC1L> <>>)
|
||||
(T
|
||||
<BUFFER-PRINT <GET ,P-ITBL ,P-NC2> <GET ,P-ITBL ,P-NC2L> <>>)>
|
||||
<SETG P-WON <>>>
|
|
@ -0,0 +1,73 @@
|
|||
"
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<SNAME "INFIDEL">
|
||||
|
||||
<GC-MON <>>
|
||||
;<COND (<GASSIGNED? ZILCH> <GC 0 T>)
|
||||
(T <GC 0 T 5>)>
|
||||
<GC 0 T 5>
|
||||
|
||||
<BLOAT 90000 0 0 3500 0 0 0 0 0 512>
|
||||
|
||||
;<SETG SHORT-STRINGS 2>
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<GLOBAL BIGFIX 10000>
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !\= !,WBREAKS>>>
|
||||
|
||||
<OR <GASSIGNED? INSERT-CRUFTY>
|
||||
<DEFINE INSERT-CRUFTY (STR) <IFILE .STR T>>>
|
||||
|
||||
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
|
||||
<INSERT-FILE .STR .FLOAD?>>
|
||||
|
||||
<PRINC "INFIDEL: Interlogic Adventure Fiction
|
||||
">
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<ID 0>)>
|
||||
|
||||
<IFILE "MACROS" T>
|
||||
|
||||
<IFILE "GLOBALS" T>
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
||||
<PROPDEF VALUE 0>
|
||||
|
||||
<IFILE "SYNTAX" T>
|
||||
<ENDLOAD>
|
||||
|
||||
<IFILE "CLOCK" T>
|
||||
<IFILE "MAIN" T>
|
||||
<IFILE "PARSER" T>
|
||||
<INSERT-CRUFTY "CRUFTY">
|
||||
<IFILE "VERBS" T>
|
||||
|
||||
|
||||
|
||||
;"MIKE: Add your files here, as with ROBOTS"
|
||||
|
||||
<IFILE "INTERRUPTS" T>
|
||||
<IFILE "RA" T>
|
||||
<IFILE "ANTE" T>
|
||||
<IFILE "DIAMOND" T>
|
||||
<IFILE "BARGE" T>
|
||||
<IFILE "CUBE" T>
|
||||
<IFILE "CAMP" T>
|
||||
<IFILE "TEMPLE" T>
|
||||
|
||||
<PRINC "INFIDEL: Interlogic Adventure Fiction
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Get ready!">
|
Binary file not shown.
|
@ -0,0 +1,273 @@
|
|||
"INTERRUPTS for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
;"
|
||||
Interrupt Routines for
|
||||
PYRAMID"
|
||||
|
||||
<GLOBAL RING-COUNTER 0>
|
||||
|
||||
<ROUTINE I-RING-KILL ()
|
||||
<SETG RING-COUNTER <+ ,RING-COUNTER 1>>
|
||||
<COND (<EQUAL? ,RING-COUNTER 3>
|
||||
<TELL
|
||||
"You're starting to feel a little woozy. You blink your eyes, but can't seem
|
||||
to focus correctly. You think you see Craige standing by a wall." CR>)
|
||||
(<EQUAL? ,RING-COUNTER 5>
|
||||
<TELL
|
||||
"Your ring finger is starting to throb painfully." CR>)
|
||||
(<G? ,RING-COUNTER 7>
|
||||
<JIGS-UP
|
||||
"You fall over on your face as a quick-acting poison from the ring makes its
|
||||
way to your heart. Bye!">)>>
|
||||
|
||||
<ROUTINE I-GINANDTONIC ()
|
||||
<COND (<G? ,THIRST 400>
|
||||
<JIGS-UP
|
||||
"Like a grape, left out in the sun too long, you turn into a raisin for lack of
|
||||
water.">)
|
||||
(<AND <G? ,THIRST 380>
|
||||
<L? ,THIRST 387>>
|
||||
<SETG NILE-DRINKS 0>
|
||||
<TELL
|
||||
"If you don't drink something, and now, you're gonna be history." CR>)
|
||||
(<AND <G? ,THIRST 300>
|
||||
<L? ,THIRST 317>>
|
||||
<SETG NILE-DRINKS 0>
|
||||
<COND (<NOT <ROOM? ,TENT ,TENT2 ,SUPPLY-TENT>>
|
||||
<TELL "You'd better drink something, and soon!" CR>)
|
||||
(T
|
||||
<TELL "You wipe your fevered brow." CR>)>)
|
||||
(<AND <G? ,THIRST 200>
|
||||
<L? ,THIRST 217>>
|
||||
<SETG NILE-DRINKS 0>
|
||||
<COND (<NOT <ROOM? ,TENT ,TENT2 ,SUPPLY-TENT>>
|
||||
<TELL
|
||||
"You scowl at the sun, cursing its searing heat." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"Even in the tent the heat starts to get to you." CR>)>)>>
|
||||
|
||||
<ROUTINE I-MATCH-OUT ("OPTIONAL" BLOWN? "AUX" (FLG <>))
|
||||
<COND (<FSET? ,ONE-MATCH ,FLAMEBIT>
|
||||
<COND (<NOT .BLOWN?>
|
||||
<TELL "Your match went out.">)
|
||||
(.BLOWN?
|
||||
<TELL "You blow out the match and toss it aside.">)>
|
||||
<SET FLG T>)>
|
||||
<FCLEAR ,ONE-MATCH ,ONBIT>
|
||||
<FCLEAR ,ONE-MATCH ,FLAMEBIT>
|
||||
<FCLEAR ,MANY-MATCHES ,FLAMEBIT>
|
||||
<COND (<AND <IN? ,ONE-MATCH ,WINNER>
|
||||
<NOT .BLOWN?>>
|
||||
<TELL " And it burned your fingers, too! You drop it. ">
|
||||
<BUT-WHERE?>
|
||||
<SET FLG <>>)>
|
||||
<MOVE ,ONE-MATCH ,GLOBAL-OBJECTS>
|
||||
<COND (,LIT
|
||||
<SETG LIT <LIT? ,HERE>>)>
|
||||
<COND (<NOT <SETG LIT <LIT? ,HERE>>>
|
||||
<TELL " It is now pitch black.">
|
||||
<SET FLG T>)>
|
||||
<COND (.FLG
|
||||
<CRLF>)>>
|
||||
|
||||
<ROUTINE I-TORCH ("AUX" (FLG <>))
|
||||
<SETG TORCH-TURNS <+ ,TORCH-TURNS 1>>
|
||||
<COND (<NOT ,OILED-TORCH>
|
||||
<TELL "Your torch is too dry and burns itself out quickly." CR>
|
||||
<KILL-TORCH>
|
||||
<SET FLG T>)>
|
||||
<COND (<OR <IN? ,TORCH ,WINNER>
|
||||
<EQUAL? <LOC ,TORCH> <LOC ,WINNER>>>
|
||||
<COND (<EQUAL? ,TORCH-TURNS 150>
|
||||
<TELL "Your torch is beginning to sputter." CR>
|
||||
<SET FLG T>)
|
||||
(<EQUAL? ,TORCH-TURNS 162>
|
||||
<TELL "Your torch is getting very, very dim." CR>
|
||||
<SET FLG T>)
|
||||
(<EQUAL? ,TORCH-TURNS 175>
|
||||
<TELL "With a final blaze of glory, your torch goes out." CR>
|
||||
<KILL-TORCH>
|
||||
<SET FLG T>)>)
|
||||
(<G? ,TORCH-TURNS 174>
|
||||
<KILL-TORCH>)>
|
||||
.FLG>
|
||||
|
||||
<ROUTINE KILL-TORCH ("OPTIONAL" (IN-SLAB? <>))
|
||||
<FCLEAR ,TORCH ,ONBIT>
|
||||
<FCLEAR ,TORCH ,FLAMEBIT>
|
||||
<COND (<NOT .IN-SLAB?>
|
||||
<SETG OIL-SOAKED <>>
|
||||
<SETG OILED-TORCH <>>
|
||||
<SETG TORCH-TURNS 0>)>
|
||||
<COND (,LIT
|
||||
<SETG LIT <LIT? ,HERE>>)>
|
||||
<COND (<NOT <SETG LIT <LIT? ,HERE>>>
|
||||
<TELL "It is now pitch black." CR>)>
|
||||
<DISABLE <INT I-TORCH>>>
|
||||
|
||||
<ROUTINE I-RESET-STATUES ("AUX" (CHECK-OFF 0) (COUNTER 0)
|
||||
(CLEAR-OFF 0) (FLG <>) STR)
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? .CHECK-OFF 4>
|
||||
<RETURN>)
|
||||
(T
|
||||
<SET CHECK-OFF <+ .CHECK-OFF 1>>
|
||||
<COND (<OR <NOT <EQUAL? <GET ,ORDER-LTBL .CHECK-OFF>
|
||||
<GET ,TURNED-LTBL .CHECK-OFF>>>
|
||||
<FSET? <GET ,TURNED-LTBL .CHECK-OFF>
|
||||
,CLAMPBIT>>
|
||||
<SETG TURN-OFFSET 0>
|
||||
<REPEAT ()
|
||||
<SET CLEAR-OFF <+ .CLEAR-OFF 1>>
|
||||
<COND (<EQUAL? .CLEAR-OFF 5>
|
||||
<RETURN>)>
|
||||
<PUT ,TURNED-LTBL .CLEAR-OFF <>>
|
||||
<COND (<NOT <FSET? <GET ,STATUE-TBL
|
||||
<- .CLEAR-OFF 1>>
|
||||
,CLAMPBIT>>
|
||||
<SET COUNTER <+ .COUNTER 1>>)>
|
||||
<FSET <GET ,STATUE-TBL <- .CLEAR-OFF 1>>
|
||||
,CLAMPBIT>>
|
||||
<SET STR <GET ,NUM-TBL .COUNTER>>
|
||||
<COND (<NOT .COUNTER>
|
||||
<TELL
|
||||
"A loud click comes from beneath the four statues as they clamp down on the
|
||||
cover again." CR>)
|
||||
(T
|
||||
<TELL "The " .STR " statue">
|
||||
<COND (<G? .COUNTER 1>
|
||||
<TELL
|
||||
"s, heavy though they are, effortlessly swing back in unison to clamp down on the quartz cover again." CR>)
|
||||
(T
|
||||
<TELL
|
||||
", heavy though it is, effortlessly swings back to clamp down on the quartz cover again." CR>)>)>
|
||||
<SET FLG T>
|
||||
<RETURN>)>)>>
|
||||
<COND (<NOT .FLG> ;"order was correct"
|
||||
<TELL
|
||||
"The statues freeze in their current positions and you hear a light click come
|
||||
from the cover of the sarcophagus." CR>
|
||||
<SETG CAN-TURN-STATUES <>>
|
||||
<SETG STATUES-SET T>
|
||||
<SETG SCORE <+ ,SCORE 35>>)>>
|
||||
|
||||
<GLOBAL HUNGER 0>
|
||||
|
||||
<ROUTINE I-GROWL ()
|
||||
<SETG HUNGER <+ ,HUNGER 1>>
|
||||
<COND (<AND <G? ,HUNGER 70>
|
||||
<L? ,HUNGER 73>>
|
||||
<TELL "Your stomach growls in hunger." CR>)
|
||||
(<AND <G? ,HUNGER 100>
|
||||
<L? ,HUNGER 103>>
|
||||
<TELL
|
||||
"You feel yourself growing weaker. Without nourishment, this is a losing
|
||||
cause!" CR>)
|
||||
(<G? ,HUNGER 140>
|
||||
<JIGS-UP
|
||||
"You fall over on your face, dreaming of Thanksgiving dinner. Needless to say,
|
||||
it was you against hunger. And hunger won.">)>>
|
||||
|
||||
<ROUTINE I-PARACHUTE ()
|
||||
<COND (<L? ,MOVES 3>
|
||||
<COND (<IN-A-TENT?>
|
||||
<TELL CR
|
||||
"You hear a plane flying high overhead, outside the tent." CR>)
|
||||
(T
|
||||
<TELL CR
|
||||
"You crane your neck and see a plane, high overhead, circling the encampment." CR>)>
|
||||
<RTRUE>)
|
||||
(<L? ,MOVES 5>
|
||||
<COND (<IN-A-TENT?>
|
||||
<TELL CR "It sounds as if the plane is circling." CR>)
|
||||
(T
|
||||
<TELL CR
|
||||
"The plane seems to be circling right overhead." CR>)>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,MOVES 5>
|
||||
<COND (<NOT <IN-A-TENT?>>
|
||||
<TELL CR
|
||||
"You look up to see a small speck appear right beneath the plane -- probably a
|
||||
parachute. The plane heads off far to the northwest, dipping its wings in a
|
||||
salute." CR>)
|
||||
(T
|
||||
<TELL CR "It sounds as if the plane is flying off." CR>)>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,MOVES 6>
|
||||
<COND (<NOT <IN-A-TENT?>>
|
||||
<TELL CR
|
||||
"A small speck descending from the plane overhead gets larger until you see a
|
||||
crate, dangling from a parachute." CR>)
|
||||
(T
|
||||
<TELL CR "You can barely hear the plane." CR>)>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,MOVES 7>
|
||||
<COND (<IN-A-TENT?>
|
||||
<MOVE ,CRATE <PICK-ONE ,ROOM-LTBL>>
|
||||
<TELL CR
|
||||
"The sound of something heavy landing comes from nearby." CR>)
|
||||
(T
|
||||
<TELL CR
|
||||
"At last, your luck seems to be changing. A large crate lands right before you,
|
||||
its parachute flapping in the breeze. The parachute breaks away from the crate
|
||||
and drifts off in the wind." CR>
|
||||
<MOVE ,CRATE ,HERE>)>
|
||||
<FSET ,CRATE ,VEHBIT>
|
||||
<DISABLE <INT I-PARACHUTE>>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE IN-A-TENT? ("OPTIONAL" (COT-TOO? T))
|
||||
<COND (.COT-TOO?
|
||||
<COND (<OR <EQUAL? <LOC ,WINNER> ,TENT ,TENT2 ,SUPPLY-TENT>
|
||||
<EQUAL? <LOC ,WINNER> ,COT>>
|
||||
<RTRUE>)
|
||||
(T <RFALSE>)>)
|
||||
(<NOT .COT-TOO?>
|
||||
<COND (<EQUAL? <LOC ,WINNER> ,TENT ,TENT2 ,SUPPLY-TENT>
|
||||
<RTRUE>)
|
||||
(ELSE <RFALSE>)>)
|
||||
(ELSE
|
||||
<RFALSE>)>>
|
||||
|
||||
<GLOBAL RANDOM-ROOM-LTBL
|
||||
<LTABLE P1 P2 P3 P4 P5 P6 P7 P8 EX1 EX3 EX5 EX7 EX9
|
||||
FIRE>>
|
||||
|
||||
<GLOBAL ROOM-LTBL
|
||||
<LTABLE P1 P2 P3 P4 P5 P6 P7 P8 FIRE>>
|
||||
|
||||
<ROUTINE RANDOMIZE-HOLES ("AUX" (OFFS 0) MAX)
|
||||
<SET MAX <GET ,RANDOM-ROOM-LTBL 0>>
|
||||
<REPEAT ()
|
||||
<SET OFFS <+ .OFFS 1>>
|
||||
<COND (<G? .OFFS .MAX>
|
||||
<RETURN>)
|
||||
(T
|
||||
<PUTP <GET ,RANDOM-ROOM-LTBL .OFFS>
|
||||
,P?CAPACITY <RANDOM 2>>)>>>
|
||||
|
||||
<GLOBAL PYR-THIRST 0>
|
||||
|
||||
<ROUTINE I-PYRAMID-DRINK ()
|
||||
<COND (<GETP ,HERE ,P?MAP>
|
||||
<DISABLE <INT I-PYRAMID-DRINK>>
|
||||
<RFALSE>)>
|
||||
<SETG PYR-THIRST <+ ,PYR-THIRST 1>>
|
||||
<SETG NILE-DRINKS 0>
|
||||
<COND (<EQUAL? ,PYR-THIRST 1>
|
||||
<TELL
|
||||
"Even in this pyramid, you need to drink something, and soon." CR>)
|
||||
(<EQUAL? ,PYR-THIRST 10>
|
||||
<TELL
|
||||
"Your throat feels as if it's coated with razor blades. Some water would be in
|
||||
order." CR>)
|
||||
(<EQUAL? ,PYR-THIRST 19>
|
||||
<TELL "Better drink something. NOW!" CR>)
|
||||
(<EQUAL? ,PYR-THIRST 25>
|
||||
<JIGS-UP
|
||||
"Well, your body could only take so much of this heat. Like a car, idling on a
|
||||
crowded highway, your body decides it's time to overheat. Such is death.">)>>
|
|
@ -0,0 +1,136 @@
|
|||
"MACROS for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<SETG C-ENABLED? 0>
|
||||
<SETG C-ENABLED 1>
|
||||
<SETG C-DISABLED 0>
|
||||
|
||||
<DEFMAC TELL ("ARGS" A)
|
||||
<FORM PROG ()
|
||||
!<MAPF ,LIST
|
||||
<FUNCTION ("AUX" E P O)
|
||||
<COND (<EMPTY? .A> <MAPSTOP>)
|
||||
(<SET E <NTH .A 1>>
|
||||
<SET A <REST .A>>)>
|
||||
<COND (<TYPE? .E ATOM>
|
||||
<COND (<OR <=? <SET P <SPNAME .E>>
|
||||
"CRLF">
|
||||
<=? .P "CR">>
|
||||
<MAPRET '<CRLF>>)
|
||||
(<EMPTY? .A>
|
||||
<ERROR INDICATOR-AT-END? .E>)
|
||||
(ELSE
|
||||
<SET O <NTH .A 1>>
|
||||
<SET A <REST .A>>
|
||||
<COND (<OR <=? <SET P <SPNAME .E>>
|
||||
"DESC">
|
||||
<=? .P "D">
|
||||
<=? .P "OBJ">
|
||||
<=? .P "O">>
|
||||
<MAPRET <FORM PRINTD .O>>)
|
||||
(<OR <=? .P "NUM">
|
||||
<=? .P "N">>
|
||||
<MAPRET <FORM PRINTN .O>>)
|
||||
(<OR <=? .P "CHAR">
|
||||
<=? .P "CHR">
|
||||
<=? .P "C">>
|
||||
<MAPRET <FORM PRINTC .O>>)
|
||||
(ELSE
|
||||
<MAPRET
|
||||
<FORM PRINT
|
||||
<FORM GETP .O .E>>>)>)>)
|
||||
(<TYPE? .E STRING ZSTRING>
|
||||
<MAPRET <FORM PRINTI .E>>)
|
||||
(<TYPE? .E FORM>
|
||||
<MAPRET <FORM PRINT .E>>)
|
||||
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
|
||||
|
||||
<DEFMAC VERB? ("ARGS" ATMS)
|
||||
<MULTIFROB PRSA .ATMS>>
|
||||
|
||||
<DEFMAC PRSO? ("ARGS" ATMS)
|
||||
<MULTIFROB PRSO .ATMS>>
|
||||
|
||||
<DEFMAC PRSI? ("ARGS" ATMS)
|
||||
<MULTIFROB PRSI .ATMS>>
|
||||
|
||||
<DEFMAC ROOM? ("ARGS" ATMS)
|
||||
<MULTIFROB HERE .ATMS>>
|
||||
|
||||
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
|
||||
<REPEAT ()
|
||||
<COND (<EMPTY? .ATMS>
|
||||
<RETURN!- <COND (<LENGTH? .OO 1> <ERROR .X>)
|
||||
(<LENGTH? .OO 2> <NTH .OO 2>)
|
||||
(ELSE <CHTYPE .OO FORM>)>>)>
|
||||
<REPEAT ()
|
||||
<COND (<EMPTY? .ATMS> <RETURN!->)>
|
||||
<SET ATM <NTH .ATMS 1>>
|
||||
<SET L
|
||||
(<COND (<TYPE? .ATM ATOM>
|
||||
<FORM GVAL
|
||||
<COND (<==? .X PRSA>
|
||||
<PARSE
|
||||
<STRING "V?"
|
||||
<SPNAME .ATM>>>)
|
||||
(ELSE .ATM)>>)
|
||||
(ELSE .ATM)>
|
||||
!.L)>
|
||||
<SET ATMS <REST .ATMS>>
|
||||
<COND (<==? <LENGTH .L> 3> <RETURN!->)>>
|
||||
<SET O <REST <PUTREST .O (<FORM EQUAL? <FORM GVAL .X> !.L>)>>>
|
||||
<SET L ()>>>
|
||||
|
||||
<DEFMAC BLT ("ARGS" X "AUX" (TO <MEMQ TO .X>) (LL (())) (L .LL) ATM)
|
||||
<COND (<AND .TO <1? <LENGTH <REST .TO>>>>
|
||||
<SET DEST <NTH .TO 2>>)
|
||||
(ELSE <SET DEST <>>)>
|
||||
<REPEAT ()
|
||||
<COND (<OR <EMPTY? .X> <==? <NTH .X 1> TO>>
|
||||
<RETURN <COND (<LENGTH? .LL 1> <ERROR BLT>)
|
||||
(<LENGTH? .LL 2> <NTH .LL 2>)
|
||||
(ELSE
|
||||
<FORM PROG !.LL>)>>)
|
||||
(ELSE
|
||||
<SET ATM <NTH .X 1>>
|
||||
<COND (<TYPE? .ATM ATOM>
|
||||
<SET ATM <FORM GVAL .ATM>>)>
|
||||
<SET L
|
||||
<REST
|
||||
<PUTREST .L
|
||||
(<COND (.DEST
|
||||
<FORM MOVE .ATM .DEST>)
|
||||
(ELSE
|
||||
<FORM REMOVE .ATM>)>)>>>
|
||||
<SET X <REST .X>>)>>>
|
||||
|
||||
<DEFMAC RFATAL ()
|
||||
'<PROG () <PUSH 2> <RSTACK>>>
|
||||
|
||||
<DEFMAC PROB ('BASE? "OPTIONAL" 'LOSER?)
|
||||
<COND (<ASSIGNED? LOSER?> <FORM ZPROB .BASE?>)
|
||||
(ELSE <FORM G? .BASE? '<RANDOM 100>>)>>
|
||||
|
||||
<ROUTINE ZPROB
|
||||
(BASE)
|
||||
<COND (,LUCKY <G? .BASE <RANDOM 100>>)
|
||||
(ELSE <G? .BASE <RANDOM 300>>)>>
|
||||
|
||||
<ROUTINE PICK-ONE (FROB)
|
||||
<GET .FROB <RANDOM <GET .FROB 0>>>>
|
||||
|
||||
<DEFMAC ENABLE ('INT) <FORM PUT .INT ,C-ENABLED? 1>>
|
||||
|
||||
<DEFMAC DISABLE ('INT) <FORM PUT .INT ,C-ENABLED? 0>>
|
||||
|
||||
<DEFMAC OPENABLE? ('OBJ)
|
||||
<FORM OR <FORM FSET? .OBJ ',DOORBIT>
|
||||
<FORM FSET? .OBJ ',CONTBIT>>>
|
||||
|
||||
<ROUTINE ABS (NUM)
|
||||
<COND (<G? .NUM 0>
|
||||
<RETURN .NUM>)
|
||||
(ELSE
|
||||
<RETURN <- 0 .NUM>>)>>
|
|
@ -0,0 +1,364 @@
|
|||
"MAIN for
|
||||
INFIDEL
|
||||
Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<GLOBAL PLAYER <>>
|
||||
|
||||
<GLOBAL P-WON <>>
|
||||
|
||||
<CONSTANT M-FATAL 2>
|
||||
|
||||
<CONSTANT M-HANDLED 1>
|
||||
|
||||
<CONSTANT M-NOT-HANDLED <>>
|
||||
|
||||
<CONSTANT M-OBJECT <>>
|
||||
|
||||
<CONSTANT M-BEG 1>
|
||||
|
||||
<CONSTANT M-END 6>
|
||||
|
||||
<CONSTANT M-ENTER 2>
|
||||
|
||||
<CONSTANT M-LOOK 3>
|
||||
|
||||
<CONSTANT M-FLASH 4>
|
||||
|
||||
<CONSTANT M-OBJDESC 5>
|
||||
|
||||
<ROUTINE GO ()
|
||||
;"put interrupts on clock chain"
|
||||
<RANDOMIZE-HOLES>
|
||||
<ENABLE <QUEUE I-GINANDTONIC -1>>
|
||||
<ENABLE <QUEUE I-PARACHUTE -1>>
|
||||
<ENABLE <QUEUE I-GROWL -1>>
|
||||
<REMOVE ,WATER>
|
||||
;"set up and go"
|
||||
<SETG LIT T>
|
||||
<SETG WINNER ,ADVENTURER>
|
||||
<SETG PLAYER ,WINNER>
|
||||
<SETG HERE ,TENT>
|
||||
<SETG P-IT-LOC ,HERE>
|
||||
<SETG P-IT-OBJECT <>>
|
||||
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
||||
<TELL ,START-STR CR>
|
||||
<CRLF>
|
||||
<V-VERSION>
|
||||
<CRLF>)>
|
||||
<MOVE ,WINNER ,COT>
|
||||
<V-LOOK>
|
||||
<MAIN-LOOP>
|
||||
<AGAIN>>
|
||||
|
||||
|
||||
<ROUTINE MAIN-LOOP ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
|
||||
#DECL ((CNT OCNT ICNT NUM) FIX (V) <OR 'T FIX FALSE> (OBJ) <OR FALSE OBJECT>
|
||||
(OBJ1) OBJECT (TBL) TABLE (PTBL) <OR FALSE ATOM>)
|
||||
<REPEAT ()
|
||||
<SET CNT 0>
|
||||
<SET OBJ <>>
|
||||
<SET PTBL T>
|
||||
<COND (<SETG P-WON <PARSER>>
|
||||
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
|
||||
<SET NUM
|
||||
<COND (<0? <SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>> .OCNT)
|
||||
(<G? .OCNT 1>
|
||||
<SET TBL ,P-PRSO>
|
||||
<COND (<0? .ICNT> <SET OBJ <>>)
|
||||
(T <SET OBJ <GET ,P-PRSI 1>>)>
|
||||
.OCNT)
|
||||
(<G? .ICNT 1>
|
||||
<SET PTBL <>>
|
||||
<SET TBL ,P-PRSI>
|
||||
<SET OBJ <GET ,P-PRSO 1>>
|
||||
.ICNT)
|
||||
(T 1)>>
|
||||
<COND (<AND <NOT .OBJ> <1? .ICNT>> <SET OBJ <GET ,P-PRSI 1>>)>
|
||||
<COND (<==? ,PRSA ,V?WALK> <SET V <PERFORM ,PRSA ,PRSO>>)
|
||||
(<0? .NUM>
|
||||
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
|
||||
<SET V <PERFORM ,PRSA>>
|
||||
<SETG PRSO <>>)
|
||||
(<NOT ,LIT>
|
||||
<TELL "It's too dark to see." CR>)
|
||||
(T
|
||||
;"** M" <COND (.OBJ
|
||||
<COND (<AND <FSET? .OBJ ,CONTBIT>
|
||||
<NOT <FSET? .OBJ ,OPENBIT>>>
|
||||
<TELL "Better open the " D .OBJ
|
||||
" first." CR>
|
||||
<THIS-IS-IT .OBJ>
|
||||
<SET V <>>)
|
||||
(<NOT <FSET? .OBJ ,CONTBIT>>
|
||||
<TELL "There's nothing in that." CR>
|
||||
<SET V <>>)
|
||||
(T
|
||||
<TELL "It's not in that." CR>
|
||||
<SET V <>>)>)
|
||||
(T
|
||||
<TELL "There isn't anything to ">
|
||||
<SET TMP <GET ,P-ITBL ,P-VERBN>>
|
||||
<COND (,P-OFLAG
|
||||
<PRINTB <GET .TMP 0>>)
|
||||
(T
|
||||
<WORD-PRINT <GETB .TMP 2>
|
||||
<GETB .TMP 3>>)>
|
||||
<TELL "!" CR>
|
||||
<SET V <>>)>)>)
|
||||
(T
|
||||
<SETG P-NOT-HERE 0>
|
||||
<SETG P-MULT <>>
|
||||
<COND (<G? .NUM 1> <SETG P-MULT T>)>
|
||||
<SET TMP <>>
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> .NUM>
|
||||
<COND (<G? ,P-NOT-HERE 0>
|
||||
<TELL "The ">
|
||||
<COND (<NOT <EQUAL? ,P-NOT-HERE .NUM>>
|
||||
<TELL "other ">)>
|
||||
<TELL "object">
|
||||
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
|
||||
<TELL "s">)>
|
||||
<TELL " that you mentioned ">
|
||||
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
|
||||
<TELL "are">)
|
||||
(T <TELL "is">)>
|
||||
<TELL "n't here." CR>)
|
||||
(<NOT .TMP>
|
||||
<TELL
|
||||
"I don't know what you're referring to." CR>)>
|
||||
<RETURN>)
|
||||
(T
|
||||
<COND (.PTBL <SET OBJ1 <GET ,P-PRSO .CNT>>)
|
||||
(T <SET OBJ1 <GET ,P-PRSI .CNT>>)>
|
||||
<SETG PRSO <COND (.PTBL .OBJ1) (T .OBJ)>>
|
||||
<SETG PRSI <COND (.PTBL .OBJ) (T .OBJ1)>>
|
||||
<COND (<VERB? COMPARE> T)
|
||||
(<G? .NUM 1>
|
||||
<COND (<EQUAL? .OBJ1
|
||||
,NOT-HERE-OBJECT>
|
||||
<SETG P-NOT-HERE
|
||||
<+ ,P-NOT-HERE 1>>
|
||||
<AGAIN>)
|
||||
(<AND <VERB? TAKE>
|
||||
,PRSI
|
||||
<EQUAL? <GET <GET ,P-ITBL
|
||||
,P-NC1>
|
||||
0>
|
||||
,W?ALL>
|
||||
<NOT <IN? ,PRSO ,PRSI>>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS
|
||||
,P-ALL>
|
||||
<VERB? TAKE>
|
||||
<OR <AND <NOT <EQUAL?
|
||||
<LOC .OBJ1>
|
||||
,WINNER
|
||||
,HERE>>
|
||||
<NOT <FSET?
|
||||
<LOC .OBJ1>
|
||||
,TRANSBIT>>>
|
||||
<FSET? .OBJ1
|
||||
,DONTTAKE>
|
||||
<EQUAL? .OBJ1
|
||||
,PLASTER
|
||||
,PLASTER1>>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS
|
||||
,P-ALL>
|
||||
<VERB? DROP>
|
||||
<NOT <IN? .OBJ1 ,WINNER>>
|
||||
<NOT <IN? ,P-IT-OBJECT
|
||||
,WINNER>>>
|
||||
<AGAIN>)
|
||||
(T
|
||||
<COND (<EQUAL? .OBJ1 ,IT>
|
||||
<PRINTD ,P-IT-OBJECT>)
|
||||
(T <PRINTD .OBJ1>)>
|
||||
<TELL ": ">)>)>
|
||||
<SET TMP T>
|
||||
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
|
||||
<COND (<==? .V ,M-FATAL> <RETURN>)>)>>)>
|
||||
<COND (<NOT <==? .V ,M-FATAL>>
|
||||
;<COND (<==? <LOC ,WINNER> ,PRSO>
|
||||
<SETG PRSO <>>)>
|
||||
;"Removing this code should fix the problem that AGAIN
|
||||
loses when in a vehicle and it is the PRSO."
|
||||
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
|
||||
<COND (<VERB? AGAIN WALK SAVE RESTORE SCORE VERSION WAIT> T)
|
||||
(T
|
||||
<SETG L-PRSA ,PRSA>
|
||||
<SETG L-PRSO ,PRSO>
|
||||
<SETG L-PRSI ,PRSI>)>
|
||||
<COND (<==? .V ,M-FATAL> <SETG P-CONT <>>)>)
|
||||
(T
|
||||
<SETG P-CONT <>>)>
|
||||
<COND (,P-WON
|
||||
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION> T)
|
||||
(T <SET V <CLOCKER>>)>)>>>
|
||||
|
||||
<GLOBAL P-MULT <>>
|
||||
|
||||
<GLOBAL P-NOT-HERE 0>
|
||||
|
||||
<GLOBAL L-PRSA <>>
|
||||
|
||||
<GLOBAL L-PRSO <>>
|
||||
|
||||
<GLOBAL L-PRSI <>>
|
||||
|
||||
%<COND (<GASSIGNED? PREDGEN>
|
||||
|
||||
'<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
|
||||
#DECL ((A) FIX (O) <OR FALSE OBJECT FIX> (I) <OR FALSE OBJECT> (V) ANY)
|
||||
<SET OA ,PRSA>
|
||||
<SET OO ,PRSO>
|
||||
<SET OI ,PRSI>
|
||||
<COND (<AND <EQUAL? ,IT .I .O>
|
||||
<NOT <EQUAL? ,P-IT-LOC ,HERE>>>
|
||||
<TELL "I don't see what you are referring to." CR>
|
||||
<RFATAL>)>
|
||||
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
||||
<COND (<==? .I ,IT> <SET I ,P-IT-OBJECT>)>
|
||||
<SETG PRSA .A>
|
||||
<SETG PRSO .O>
|
||||
<COND (<AND ,PRSO <NOT <EQUAL? ,PRSI ,IT>> <NOT <VERB? WALK>>>
|
||||
<SETG P-IT-OBJECT ,PRSO>
|
||||
<SETG P-IT-LOC ,HERE>)>
|
||||
<SETG PRSI .I>
|
||||
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||
<SET V <NOT-HERE-OBJECT-F>>>
|
||||
<SETG P-WON <>>
|
||||
.V)
|
||||
(T
|
||||
<SET O ,PRSO>
|
||||
<SET I ,PRSI>
|
||||
<COND
|
||||
(<SET V <APPLY <GETP ,WINNER ,P?ACTION>>> .V)
|
||||
(<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-BEG>> .V)
|
||||
(<SET V <APPLY <GET ,PREACTIONS .A>>> .V)
|
||||
(<AND .I <SET V <APPLY <GETP .I ,P?ACTION>>>> .V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<LOC .O>
|
||||
<SET V <APPLY <GETP <LOC .O> ,P?CONTFCN>>>>
|
||||
.V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<SET V <APPLY <GETP .O ,P?ACTION>>>>
|
||||
.V)
|
||||
(<SET V <APPLY <GET ,ACTIONS .A>>> .V)>)>
|
||||
<COND (<NOT <==? .V ,M-FATAL>>
|
||||
<COND (<==? <LOC ,WINNER> ,PRSO>
|
||||
<SETG PRSO <>>)>
|
||||
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
|
||||
<SETG PRSA .OA>
|
||||
<SETG PRSO .OO>
|
||||
<SETG PRSI .OI>
|
||||
.V>)
|
||||
(T
|
||||
|
||||
'<PROG ()
|
||||
|
||||
<SETG PDEBUG <>>
|
||||
|
||||
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
|
||||
#DECL ((A) FIX (O) <OR FALSE OBJECT FIX> (I) <OR FALSE OBJECT> (V) ANY)
|
||||
<COND (,PDEBUG
|
||||
<TELL "** PERFORM: PRSA = ">
|
||||
<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>
|
||||
<COND (<AND .O <NOT <==? .A ,V?WALK>>>
|
||||
<TELL " | PRSO = " D .O>)>
|
||||
<COND (.I <TELL " | PRSI = " D .I>)>)>
|
||||
<SET OA ,PRSA>
|
||||
<SET OO ,PRSO>
|
||||
<SET OI ,PRSI>
|
||||
<COND (<AND <EQUAL? ,IT .I .O>
|
||||
<NOT <EQUAL? ,P-IT-LOC ,HERE>>>
|
||||
<TELL "I don't see what you are referring to." CR>
|
||||
<RFATAL>)>
|
||||
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
||||
<COND (<==? .I ,IT> <SET I ,P-IT-OBJECT>)>
|
||||
<SETG PRSA .A>
|
||||
<SETG PRSO .O>
|
||||
<COND (<AND ,PRSO <NOT <EQUAL? ,PRSI ,IT>> <NOT <VERB? WALK>>>
|
||||
<SETG P-IT-OBJECT ,PRSO>
|
||||
<SETG P-IT-LOC ,HERE>)>
|
||||
<SETG PRSI .I>
|
||||
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>>
|
||||
<SETG P-WON <>>
|
||||
.V)
|
||||
(T
|
||||
<SET O ,PRSO>
|
||||
<SET I ,PRSI>
|
||||
<COND (<SET V <D-APPLY "Actor"
|
||||
<GETP ,WINNER ,P?ACTION>>> .V)
|
||||
(<SET V <D-APPLY "Room (M-BEG)"
|
||||
<GETP <LOC ,WINNER> ,P?ACTION>
|
||||
,M-BEG>> .V)
|
||||
(<SET V <D-APPLY "Preaction"
|
||||
<GET ,PREACTIONS .A>>> .V)
|
||||
(<AND .I <SET V <D-APPLY "PRSI"
|
||||
<GETP .I ,P?ACTION>>>> .V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<LOC .O>
|
||||
<SET V <D-APPLY "Container"
|
||||
<GETP <LOC .O> ,P?CONTFCN>>>>
|
||||
.V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<SET V <D-APPLY "PRSO"
|
||||
<GETP .O ,P?ACTION>>>>
|
||||
.V)
|
||||
(<SET V <D-APPLY <>
|
||||
<GET ,ACTIONS .A>>> .V)>)>
|
||||
<COND (<NOT <==? .V ,M-FATAL>>
|
||||
<COND (<==? <LOC ,WINNER> ,PRSO>
|
||||
<SETG PRSO <>>)>
|
||||
<SET V <D-APPLY "Room (M-END)"
|
||||
<GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
|
||||
<SETG PRSA .OA>
|
||||
<SETG PRSO .OO>
|
||||
<SETG PRSI .OI>
|
||||
.V>
|
||||
|
||||
<DEFINE D-APPLY (STR FCN "OPTIONAL" FOO "AUX" RES)
|
||||
<COND (<NOT .FCN> <>)
|
||||
(T
|
||||
<COND (,PDEBUG
|
||||
<COND (<NOT .STR>
|
||||
<TELL CR " Default ->" CR>)
|
||||
(T <TELL CR " " .STR " -> ">)>)>
|
||||
<SET RES
|
||||
<COND (<ASSIGNED? FOO>
|
||||
<APPLY .FCN .FOO>)
|
||||
(T <APPLY .FCN>)>>
|
||||
<COND (<AND ,PDEBUG .STR>
|
||||
<COND (<==? .RES 2>
|
||||
<TELL "Fatal" CR>)
|
||||
(<NOT .RES>
|
||||
<TELL "Not handled">)
|
||||
(T <TELL "Handled" CR>)>)>
|
||||
.RES)>>
|
||||
|
||||
>)>
|
||||
|
||||
<GLOBAL START-STR
|
||||
"You wake slowly, sit up in your bunk, look around the tent, and try to ignore
|
||||
the pounding in your head, the cottony taste in your mouth, and the ache in
|
||||
your stomach. The droning of a plane's engine breaks the stillness and you
|
||||
realize that things outside are quiet -- too quiet. You know that this can
|
||||
mean only one thing: your workmen have deserted you. They complained over the
|
||||
last few weeks, grumbling about the small pay and lack of food, and your
|
||||
inability to locate the pyramid. And after what you stupidly did yesterday,
|
||||
trying to make them work on a holy day, their leaving is understandable.|
|
||||
|
|
||||
The Professor's map was just an ancient map -- as worthless as an ice cube in
|
||||
the Arctic without an instrument fine enough to accurately measure longitude
|
||||
and latitude. You knew that the site was nearby. You dug, and you ordered the
|
||||
workers to dig, even without the box. As you listen to the plane and rub your
|
||||
aching eyes, you pray they left you supplies enough to find the pyramid and to
|
||||
survive, and that the plane's carrying the long-overdue box.">
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,398 @@
|
|||
"RA for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
;"RA-This is a file of all rooms and objects found in the upper part of the
|
||||
pyramid; the Chamber of Ra."
|
||||
|
||||
<ROOM CHAMBER-OF-RA
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(DESC "Chamber of Ra")
|
||||
(NORTH PER ROPE-HOOK-FCN)
|
||||
(EAST PER TELL-STAIRS-FCN)
|
||||
(SOUTH PER TELL-STAIRS-FCN)
|
||||
(WEST PER TELL-STAIRS-FCN)
|
||||
(DOWN PER ROPE-DOWN-FCN)
|
||||
(UP PER RE-ENABLE-FCN)
|
||||
(OUT PER RE-ENABLE-FCN)
|
||||
(GLOBAL NORTH-STAIRS EAST-STAIRS SOUTH-STAIRS WEST-STAIRS FEW-STEPS)
|
||||
(ACTION MOVE-ROPE-RA)>
|
||||
|
||||
<ROUTINE TELL-STAIRS-FCN ("AUX" PLACE (FLG <>) (R-FLG <>))
|
||||
<COND (<IN? ,WINNER ,ALTAR>
|
||||
<RETURN ,LANDING-ONE>)>
|
||||
<TELL "(down the ">
|
||||
<COND (<AND ,ROPE-TIED
|
||||
<IN? ,ROPE ,WINNER>>
|
||||
<MOVE ,ROPE ,HERE>
|
||||
<SET R-FLG T>)>
|
||||
<COND (<PRSO? ,P?EAST>
|
||||
<TELL "wide staircase)" CR>
|
||||
<SET PLACE ,LANDING-ONE>
|
||||
<SET FLG T>)
|
||||
(<PRSO? ,P?WEST>
|
||||
<TELL "narrow staircase)" CR>
|
||||
<SET PLACE ,LANDING-THREE>
|
||||
<SET FLG T>)
|
||||
(<PRSO? ,P?NORTH>
|
||||
<TELL "steep staircase)" CR>
|
||||
<SET PLACE ,LANDING-ZERO>)
|
||||
(<PRSO? ,P?SOUTH>
|
||||
<TELL "winding staircase)" CR>
|
||||
<SET PLACE ,LANDING-TWO>)>
|
||||
<COND (.R-FLG
|
||||
<TELL "You release the free end of the rope as you walk." CR>)>
|
||||
<COND (.FLG
|
||||
<TELL "The staircase winds as you walk down, turning you around
|
||||
so you face in the opposite direction." CR>
|
||||
<CRLF>)>
|
||||
.PLACE>
|
||||
|
||||
<ROUTINE RE-ENABLE-FCN ()
|
||||
<COND (<NOT <IN? ,WINNER ,ALTAR>>
|
||||
<ENABLE <QUEUE I-GINANDTONIC -1>>)>
|
||||
<COND (<AND ,ROPE-TIED
|
||||
<IN? ,ROPE ,WINNER>>
|
||||
<MOVE ,ROPE ,CHAMBER-OF-RA>
|
||||
<TELL "You release the free end of the rope as you walk." CR>)>
|
||||
,EX8>
|
||||
|
||||
<GLOBAL PLUNGE-STR
|
||||
"You take a few steps down the steep staircase when suddenly you lose your
|
||||
footing as you try to walk on air. You fall a mere 25 feet straight
|
||||
down and, landing on your head, regret your attempt.">
|
||||
|
||||
<ROUTINE ROPE-HOOK-FCN ()
|
||||
<COND (<IN? ,WINNER ,ALTAR>
|
||||
<RETURN ,LANDING-ONE>)
|
||||
(<AND ,ROPE-TIED
|
||||
<EQUAL? ,LANDING ,LANDING-ZERO>>
|
||||
<TELL "(down the rope)" CR>
|
||||
<RETURN ,LANDING-ZERO>)
|
||||
(<AND ,ROPE-TIED ,LANDING>
|
||||
<TELL "(down the steep staircase)" CR>
|
||||
<JIGS-UP ,PLUNGE-STR>)
|
||||
(,ROPE-TIED
|
||||
<JIGS-UP
|
||||
"You grasp the rope firmly in your hands, but the fall is shorter than you
|
||||
thought. You reach the bottom with a resounding splat accompanied by a chorus
|
||||
of pain led by ganglions you never knew you had. Just before you (thankfully)
|
||||
black out, you release your grip from the rope.">)
|
||||
(ELSE
|
||||
<JIGS-UP ,PLUNGE-STR>)>>
|
||||
|
||||
|
||||
<ROUTINE ROPE-DOWN-FCN ()
|
||||
<COND (<OR <NOT ,ROPE-TIED>
|
||||
<NOT ,ROPE-PLACED>>
|
||||
<COND (<IN? ,WINNER ,ALTAR>
|
||||
<RETURN ,LANDING-TWO>)
|
||||
(<EQUAL? ,HERE ,CHAMBER-OF-RA>
|
||||
<TELL
|
||||
"Since there are four staircases going down, you'd better say which staircase."
|
||||
CR>)
|
||||
(T
|
||||
<JIGS-UP ,PLUNGE-STR>)>
|
||||
<RFALSE>)
|
||||
(ELSE
|
||||
<COND (<NOT ,ROPE-HACK>
|
||||
<TELL "(down the rope)" CR>)>
|
||||
<RETURN ,LANDING>)>>
|
||||
|
||||
<GLOBAL ROPE-HACK <>>
|
||||
|
||||
<ROUTINE MOVE-ROPE-RA (RARG)
|
||||
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
||||
<EQUAL? ,ROPE-TIED ,ALTAR>>
|
||||
<DISABLE <INT I-GINANDTONIC>>
|
||||
<MOVE ,ROPE ,HERE>
|
||||
<FCLEAR ,ROPE ,NDESCBIT>
|
||||
<RFALSE>)
|
||||
(<EQUAL? .RARG ,M-ENTER>
|
||||
<DISABLE <INT I-GINANDTONIC>>)
|
||||
(<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL ,RA-STR>
|
||||
<COND (,ROPE-PLACED
|
||||
<FSET ,ROPE ,NDESCBIT>
|
||||
<TELL
|
||||
" Descending the " D ,ROPE-PLACED " is one end of the rope.">)>
|
||||
<TELL
|
||||
" In the center of the room is a large red sandstone altar mounted solidly in
|
||||
the floor.">
|
||||
<COND (,ROPE-TIED
|
||||
<TELL " The rope is tied to the " D ,ROPE-TIED ".">
|
||||
<COND (<AND <IN? ,ROPE ,CHAMBER-OF-RA>
|
||||
<NOT ,ROPE-PLACED>>
|
||||
<TELL
|
||||
" The other end of the rope rests on the floor.">)
|
||||
(<IN? ,ROPE ,ALTAR>
|
||||
<TELL
|
||||
" The other end rests on the altar.">)>)>
|
||||
<CRLF>)
|
||||
(<EQUAL? .RARG ,M-END>
|
||||
<FCLEAR ,ROPE ,NDESCBIT>
|
||||
<SETG ROPE-HACK <>>
|
||||
<RFALSE>)
|
||||
(<AND <EQUAL? .RARG ,M-BEG>
|
||||
<OR ,ROPE-TIED ,ROPE-PLACED>
|
||||
<NOT <IN? ,ROPE ,WINNER>>>
|
||||
<FSET ,ROPE ,NDESCBIT>
|
||||
<RFALSE>)>>
|
||||
|
||||
<GLOBAL RA-STR
|
||||
"You are standing in the Chamber of Ra, a tribute to the Sun God. Even though
|
||||
the only natural light enters through the opening above, the room is
|
||||
brilliantly lit as though the walls themselves generated light. The room
|
||||
slopes inward and the walls meet at an open point, over your head. The heat of
|
||||
the desert filters down through the opening and, as the air slowly circulates,
|
||||
the deep, long-dead musty odors from the depths of the pyramid assault your
|
||||
senses. Four staircases descend from here: a steep one to the north, a winding
|
||||
one to the south, a wide one to the east, and a narrow one to the west.">
|
||||
|
||||
<OBJECT NORTH-STAIRS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT CLIMBBIT)
|
||||
(DESC "steep staircase")
|
||||
(SYNONYM STAIRC STAIRS STEPS STAIR)
|
||||
(ADJECTIVE STEEP NORTH)
|
||||
(ACTION RA-STAIRS-FCN)>
|
||||
|
||||
<OBJECT EAST-STAIRS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT CLIMBBIT)
|
||||
(DESC "wide staircase")
|
||||
(SYNONYM STAIRC STAIRS STEPS STAIR)
|
||||
(ADJECTIVE WIDE EAST)
|
||||
(ACTION RA-STAIRS-FCN)>
|
||||
|
||||
<OBJECT SOUTH-STAIRS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT CLIMBBIT)
|
||||
(DESC "winding staircase")
|
||||
(SYNONYM STAIRC STAIRS STEPS STAIR)
|
||||
(ADJECTIVE WINDIN SOUTH)
|
||||
(ACTION RA-STAIRS-FCN)>
|
||||
|
||||
<OBJECT WEST-STAIRS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT CLIMBBIT)
|
||||
(DESC "narrow staircase")
|
||||
(SYNONYM STAIRC STAIRS STEPS STAIR)
|
||||
(ADJECTIVE NARROW WEST)
|
||||
(ACTION RA-STAIRS-FCN)>
|
||||
|
||||
<ROUTINE RA-STAIRS-FCN ()
|
||||
<COND (<VERB? LOOK-DOWN EXAMINE>
|
||||
<COND (<AND <NOT <FLAMING? ,TORCH>>
|
||||
<NOT <FLAMING? ,MATCHES>>>
|
||||
<TELL
|
||||
"There's just enough light to see the first few steps." CR>)
|
||||
(<OR <FLAMING? ,TORCH>
|
||||
<FLAMING? ,MATCHES>>
|
||||
<COND (<NOT <PRSO? ,NORTH-STAIRS>>
|
||||
<TELL
|
||||
"You can see far enough down the stairs to make out a landing below." CR>)
|
||||
(ELSE
|
||||
<TELL
|
||||
"You can see the first few steps and then what could only be a sheer dropoff,
|
||||
going down into total darkness." CR>)>)>
|
||||
<RTRUE>)
|
||||
(<VERB? CLIMB-DOWN>
|
||||
<COND (<PRSO? ,NORTH-STAIRS>
|
||||
<COND (<EQUAL? ,ROPE-PLACED ,NORTH-STAIRS>
|
||||
<PERFORM ,V?CLIMB-DOWN ,ROPE>
|
||||
<RTRUE>)
|
||||
(ELSE
|
||||
<JIGS-UP ,PLUNGE-STR>
|
||||
<RFATAL>)>)
|
||||
(<PRSO? ,EAST-STAIRS>
|
||||
<GOTO ,LANDING-ONE>)
|
||||
(<PRSO? ,SOUTH-STAIRS>
|
||||
<GOTO ,LANDING-TWO>)
|
||||
(<PRSO? ,WEST-STAIRS>
|
||||
<GOTO ,LANDING-THREE>)>)>>
|
||||
|
||||
<OBJECT FEW-STEPS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT CLIMBBIT)
|
||||
(DESC "few steps")
|
||||
(SYNONYM STEPS STAIRS)
|
||||
(ADJECTIVE FEW FIRST)
|
||||
(ACTION FEW-STEPS-FCN)>
|
||||
|
||||
<ROUTINE FEW-STEPS-FCN ()
|
||||
<COND (<VERB? CLIMB-DOWN BOARD CLIMB-ON>
|
||||
;<COND (<AND ,ROPE-TIED
|
||||
<IN? ,ROPE ,WINNER>>
|
||||
<TELL "You release the rope as you walk." CR>)>
|
||||
<GOTO ,TINY-LANDING>
|
||||
<MOVE-ROPE-HERE ,M-ENTER>
|
||||
<COND (<IN? ,ROPE ,HERE>
|
||||
<FCLEAR ,ROPE ,NDESCBIT>
|
||||
<DESCRIBE-ROPE-FCN ,M-OBJDESC>)>
|
||||
<RFATAL>)>>
|
||||
|
||||
<ROOM TINY-LANDING
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(DESC "On the Steep Stairs")
|
||||
(LDESC
|
||||
"You are two steps down the steep staircase when you see before you a deep
|
||||
dropoff going down into nothingness. To go down any further would be suicide.")
|
||||
(DOWN PER ROPE-DOWN-FCN)
|
||||
(UP TO CHAMBER-OF-RA)
|
||||
(GLOBAL NORTH-STAIRS)
|
||||
;(ACTION TINY-LANDING-F)>
|
||||
|
||||
;<ROUTINE TINY-LANDING-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-END>
|
||||
<MOVE-ROPE-HERE ,M-ENTER>)>>
|
||||
|
||||
<OBJECT ALTAR
|
||||
(IN CHAMBER-OF-RA)
|
||||
(DESC "stone altar")
|
||||
(FLAGS NDESCBIT CONTBIT OPENBIT SURFACEBIT VEHBIT DONTTAKE TRANSBIT
|
||||
TRYTAKEBIT)
|
||||
(CAPACITY 1000)
|
||||
(SYNONYM ALTAR)
|
||||
(ADJECTIVE LARGE STONE)
|
||||
(TEXT
|
||||
"The altar is three feet by five feet and is mounted firmly in the solid floor.")
|
||||
(ACTION ALTAR-FCN)>
|
||||
|
||||
<ROUTINE ALTAR-FCN ("OPTIONAL" (RARG ,M-OBJECT))
|
||||
<COND (<NOT <EQUAL? .RARG ,M-OBJECT>> <RFALSE>)
|
||||
(<AND <VERB? EXAMINE LOOK-INSIDE>
|
||||
<OR <NOT <FIRST? ,ALTAR>>
|
||||
<EQUAL? <FIRST? ,ALTAR> ,WINNER ,ADVENTURER>>
|
||||
<PRSO? ,ALTAR>>
|
||||
<TELL
|
||||
<GETP ,ALTAR ,P?TEXT> " There is nothing on the altar." CR>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? EXAMINE LOOK-INSIDE>
|
||||
<IN? ,WINNER ,ALTAR>
|
||||
<PRSO? ,ALTAR>
|
||||
<L? <CCOUNT ,ALTAR> 2>>
|
||||
<TELL <GETP ,ALTAR ,P?TEXT> CR>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? EXAMINE LOOK-INSIDE>
|
||||
<PRSO? ,ALTAR>>
|
||||
<PRINT-CONT ,ALTAR>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? OPEN CLOSE>
|
||||
<PRSO? ,ALTAR>>
|
||||
<HOW? ,ALTAR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<GLOBAL LANDING <>>
|
||||
|
||||
<ROUTINE MOVE-ROPE-HERE (RARG)
|
||||
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
||||
<OR <EQUAL? ,LANDING ,HERE>
|
||||
<AND <EQUAL? ,LANDING ,LANDING-ZERO>
|
||||
<EQUAL? ,HERE ,TINY-LANDING>>>>
|
||||
<MOVE ,ROPE ,HERE>
|
||||
<FCLEAR ,ROPE ,NDESCBIT>
|
||||
<RFALSE>)>>
|
||||
|
||||
<OBJECT TORCH
|
||||
(IN CHAMBER-OF-RA)
|
||||
(FLAGS BURNBIT TAKEBIT)
|
||||
(DESC "bronze torch")
|
||||
(SYNONYM TORCH WICK)
|
||||
(ADJECTIVE BRONZE)
|
||||
(FDESC
|
||||
"Leaning against the altar is a bronze torch.")
|
||||
(TEXT
|
||||
"The torch has a tapered tip, much like a wick, which should be able to hold
|
||||
a large amount of oil.")
|
||||
(ACTION TORCH-FCN)>
|
||||
|
||||
<ROUTINE TORCH-FCN ()
|
||||
<COND (<AND <PRSI? ,TORCH>
|
||||
<FLAMING? ,TORCH>
|
||||
<IN? ,TORCH ,HERE>
|
||||
<VERB? DROP THROW>
|
||||
<IN? ,PRSO ,WINNER>
|
||||
<FSET? ,PRSO ,BURNBIT>>
|
||||
<COND (<VERB? DROP>
|
||||
<TELL "Dropped. ">)
|
||||
(T <TELL "Thrown. ">)>
|
||||
<V-BURN>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL <GETP ,TORCH ,P?TEXT> " The torch is ">
|
||||
<COND (<NOT <FLAMING? ,TORCH>>
|
||||
<TELL "not lit">)
|
||||
(<L? ,TORCH-TURNS 125>
|
||||
<TELL "burning brightly">)
|
||||
(<L? ,TORCH-TURNS 160>
|
||||
<TELL "burning dimly">)
|
||||
(<L? ,TORCH-TURNS 175>
|
||||
<TELL "barely lit">)>
|
||||
<TELL "." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT OIL-JAR
|
||||
(IN CHAMBER-OF-RA)
|
||||
(SYNONYM JAR)
|
||||
(ADJECTIVE PINK SMALL ALABAS)
|
||||
(DESC "pink jar")
|
||||
(FLAGS CONTBIT TAKEBIT BURNBIT)
|
||||
(CAPACITY 4)
|
||||
(FDESC
|
||||
"Lying on the floor, partially covered with dust, is a small pink alabaster
|
||||
jar.")
|
||||
(ACTION OIL-FCN)>
|
||||
|
||||
<ROUTINE OIL-FCN ()
|
||||
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<NOT <FSET? ,OIL-JAR ,OPENBIT>>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<COND (<G? ,OIL-LEFT 0>
|
||||
<TELL "Inside the small pink jar is some liquid." CR>)
|
||||
(ELSE
|
||||
<TELL "The jar is empty." CR>)>)>)
|
||||
(<AND <VERB? OPEN>
|
||||
<NOT <FSET? ,OIL-JAR ,OPENBIT>>>
|
||||
<COND (<G? ,OIL-LEFT 0>
|
||||
<TELL
|
||||
"Opening the jar reveals a small amount of liquid." CR >)
|
||||
(T
|
||||
<TELL "Opened." CR>)>
|
||||
<FSET ,OIL-JAR ,OPENBIT>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT LIQUID
|
||||
(IN OIL-JAR)
|
||||
(FLAGS DONTTAKE)
|
||||
(DESC "liquid")
|
||||
(TEXT
|
||||
"The liquid is oily to the touch and smells as if it could be highly volatile.")
|
||||
(SYNONYM LIQUID OIL)
|
||||
(ACTION LIQUID-FCN)>
|
||||
|
||||
<ROUTINE LIQUID-FCN ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<RFALSE>)
|
||||
(<VERB? POUR POUR-ON>
|
||||
<COND (<NOT <IN? ,OIL-JAR ,WINNER>>
|
||||
<COND (<ITAKE>
|
||||
<TELL "(taken)" CR>
|
||||
<PERFORM ,PRSA ,OIL-JAR>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL
|
||||
"Hmm. It would be easier if you were holding it." CR>
|
||||
<RTRUE>)>)
|
||||
(T
|
||||
<PERFORM ,PRSA ,OIL-JAR>
|
||||
<RTRUE>)>)
|
||||
(<AND <VERB? TASTE>
|
||||
<FSET? ,OIL-JAR ,OPENBIT>>
|
||||
<TELL "It tastes horrible." CR>)>>
|
||||
|
||||
|
|
@ -0,0 +1,710 @@
|
|||
"SYNTAX for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
"SUBTITLE VOCABULARY"
|
||||
|
||||
<BUZZ A AN THE IS AND SOME OF THEN ALL ONE BUT EXCEPT \. \, \"
|
||||
YES NO Y HERE MY>
|
||||
|
||||
;<SYNONYM WITH USING THROUGH>
|
||||
<SYNONYM ON ONTO>
|
||||
<SYNONYM IN INSIDE INTO>
|
||||
<SYNONYM UNDER BELOW BENEATH UNDERNEATH>
|
||||
|
||||
<SYNONYM NORTH N>
|
||||
<SYNONYM SOUTH S>
|
||||
<SYNONYM EAST E>
|
||||
<SYNONYM WEST W>
|
||||
<SYNONYM DOWN D>
|
||||
<SYNONYM UP U>
|
||||
<SYNONYM NW NORTHWEST>
|
||||
<SYNONYM NE NORTHE>
|
||||
<SYNONYM SW SOUTHWEST>
|
||||
<SYNONYM SE SOUTHE>
|
||||
|
||||
\
|
||||
|
||||
"ZORK game commands"
|
||||
|
||||
<SYNTAX BRIEF = V-BRIEF>
|
||||
|
||||
<SYNTAX SUPER = V-SUPER-BRIEF>
|
||||
<SYNONYM SUPER SUPERBRIEF>
|
||||
|
||||
;<SYNTAX DIAGNOSE = V-DIAGNOSE>
|
||||
|
||||
<SYNTAX INVENTORY = V-INVENTORY>
|
||||
<SYNONYM INVENTORY I>
|
||||
|
||||
<SYNTAX QUIT = V-QUIT>
|
||||
<SYNONYM QUIT Q>
|
||||
|
||||
<SYNTAX RESTART = V-RESTART>
|
||||
|
||||
<SYNTAX RESTORE = V-RESTORE>
|
||||
|
||||
<SYNTAX SAVE = V-SAVE>
|
||||
|
||||
<SYNTAX SCORE = V-SCORE>
|
||||
|
||||
<SYNTAX $VERIFY = V-$VERIFY>
|
||||
|
||||
<SYNTAX VERSION = V-VERSION>
|
||||
|
||||
<SYNTAX VERBOSE = V-VERBOSE>
|
||||
|
||||
\
|
||||
|
||||
"SUBTITLE REAL VERBS"
|
||||
|
||||
<SYNTAX AGAIN = V-AGAIN>
|
||||
<SYNONYM AGAIN G>
|
||||
|
||||
<SYNTAX ANSWER = V-ANSWER>
|
||||
<SYNTAX ANSWER OBJECT = V-REPLY>
|
||||
<SYNONYM ANSWER REPLY>
|
||||
|
||||
<SYNTAX APPLY OBJECT TO OBJECT = V-PUT PRE-PUT>
|
||||
|
||||
<SYNTAX ATTACK
|
||||
OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
|
||||
= V-ATTACK>
|
||||
<SYNONYM ATTACK FIGHT HURT INJURE>
|
||||
|
||||
<SYNTAX BACK = V-BACK>
|
||||
|
||||
<SYNTAX BLAST = V-BLAST>
|
||||
|
||||
<SYNTAX BOARD OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
|
||||
= V-BOARD PRE-BOARD>
|
||||
|
||||
<SYNTAX BUG = V-BUG>
|
||||
|
||||
<SYNTAX BURN
|
||||
OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
|
||||
= V-BURN PRE-BURN>
|
||||
<SYNTAX BURN
|
||||
DOWN
|
||||
OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
|
||||
= V-BURN PRE-BURN>
|
||||
<SYNONYM BURN INCINERATE IGNITE>
|
||||
|
||||
<SYNTAX CHOMP = V-CHOMP>
|
||||
<SYNONYM CHOMP LOSE BARF>
|
||||
|
||||
<SYNTAX CLEAN OBJECT = V-CLEAN>
|
||||
<SYNONYM CLEAN SCRUB POLISH>
|
||||
|
||||
<SYNTAX CLEAR OBJECT FROM OBJECT = V-PLASTER-REMOVE>
|
||||
|
||||
<SYNTAX CLIMB DOWN OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
|
||||
<SYNTAX CLIMB UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
|
||||
<SYNTAX CLIMB OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
|
||||
<SYNTAX CLIMB IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
|
||||
<SYNTAX CLIMB ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<SYNONYM CLIMB>
|
||||
|
||||
;<SYNTAX SIT ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<SYNTAX SIT ON OBJECT (ON-GROUND IN-ROOM) = V-SIT-ON>
|
||||
|
||||
<SYNTAX CLOSE
|
||||
OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-CLOSE>
|
||||
|
||||
<SYNTAX COMPARE OBJECT TO OBJECT = V-COMPARE PRE-COMPARE>
|
||||
<SYNTAX COMPARE OBJECT WITH OBJECT = V-COMPARE PRE-COMPARE>
|
||||
<SYNTAX COMPARE OBJECT (HELD CARRIED MANY) = V-FOO-COMPARE>
|
||||
|
||||
<SYNTAX COUNT OBJECT = V-COUNT>
|
||||
<SYNONYM COUNT>
|
||||
|
||||
<SYNTAX CROSS OBJECT = V-CROSS>
|
||||
<SYNONYM CROSS FORD>
|
||||
|
||||
<SYNTAX CUT OBJECT WITH OBJECT (FIND WEAPONBIT) (CARRIED HELD) = V-CUT>
|
||||
<SYNONYM CUT SLICE PIERCE>
|
||||
|
||||
<SYNTAX CURSE = V-CURSES>
|
||||
<SYNTAX CURSE OBJECT (FIND VILLAIN) = V-CURSES>
|
||||
<SYNONYM CURSE DAMN FUCK SHIT HELL>
|
||||
|
||||
<SYNTAX DEFLATE OBJECT = V-DEFLATE>
|
||||
|
||||
<SYNTAX DIG IN OBJECT = V-DIG PRE-DIG>
|
||||
<SYNTAX DIG
|
||||
OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE)
|
||||
= V-DIG PRE-DIG ;*>
|
||||
<SYNTAX DIG
|
||||
IN
|
||||
OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE)
|
||||
= V-DIG PRE-DIG>
|
||||
<SYNTAX DIG OBJECT IN OBJECT = V-HOLE-DIG>
|
||||
<SYNTAX DIG WITH OBJECT = V-DIG-WITH>
|
||||
|
||||
<SYNTAX DIP OBJECT (FIND BURNBIT) (HELD CARRIED HAVE)
|
||||
IN OBJECT (ON-GROUND HAVE) = V-DIP-IN>
|
||||
<SYNONYM DIP IMMERSE SUBMERGE DUNK>
|
||||
|
||||
<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
|
||||
= V-DISEMBARK>
|
||||
|
||||
<SYNTAX DRINK
|
||||
OBJECT (FIND DRINKBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-DRINK>
|
||||
<SYNTAX DRINK FROM OBJECT (HELD CARRIED) = V-DRINK-FROM>
|
||||
<SYNTAX DRINK OBJECT (FIND DRINKBIT)
|
||||
IN OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND) = V-DRINK-FROM>
|
||||
<SYNTAX DRINK OBJECT (FIND DRINKBIT)
|
||||
FROM OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND) = V-DRINK-FROM>
|
||||
<SYNONYM DRINK IMBIBE SWALLOW SIP>
|
||||
|
||||
<SYNTAX DROP OBJECT (HELD MANY HAVE) = V-DROP ;*>
|
||||
<SYNTAX DROP OBJECT (HELD MANY HAVE) DOWN OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX DROP OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX DROP OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT PRE-PUT>
|
||||
<SYNONYM DROP RELEASE>
|
||||
|
||||
<SYNTAX LEAN ON OBJECT (HELD HAVE) = V-LEAN-ON>
|
||||
|
||||
<SYNTAX EAT
|
||||
OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM MANY)
|
||||
= V-EAT PRE-EAT>
|
||||
<SYNONYM EAT CONSUME BITE CHEW>
|
||||
|
||||
<SYNTAX TASTE OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-TASTE>
|
||||
|
||||
<SYNTAX ENTER = V-ENTER>
|
||||
<SYNTAX ENTER OBJECT = V-THROUGH>
|
||||
<SYNTAX EXIT = V-EXIT>
|
||||
<SYNTAX EXIT OBJECT = V-EXIT>
|
||||
|
||||
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EXAMINE>
|
||||
<SYNTAX EXAMINE IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
|
||||
= V-LOOK-INSIDE>
|
||||
<SYNTAX EXAMINE ON OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
|
||||
= V-LOOK-INSIDE>
|
||||
<SYNONYM EXAMINE DESCRIBE WHAT WHATS>
|
||||
|
||||
<SYNTAX EXORCISE OBJECT = V-EXORCISE>
|
||||
<SYNTAX EXORCISE OUT OBJECT (FIND VILLAIN) = V-EXORCISE>
|
||||
<SYNTAX EXORCISE AWAY OBJECT (FIND VILLAIN) = V-EXORCISE>
|
||||
<SYNONYM EXORCISE BANISH CAST DRIVE BEGONE>
|
||||
|
||||
<SYNTAX EXTINGUISH
|
||||
OBJECT
|
||||
(FIND FLAMEBIT) (MANY HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE)
|
||||
= V-LAMP-OFF>
|
||||
<SYNONYM EXTINGUISH DOUSE>
|
||||
|
||||
<SYNTAX FILL
|
||||
OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND TAKE HAVE)
|
||||
WITH
|
||||
OBJECT
|
||||
= V-FILL>
|
||||
<SYNTAX FILL IN OBJECT (ON-GROUND IN-ROOM) = V-FILL-IN>
|
||||
<SYNTAX FILL
|
||||
OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND TAKE HAVE)
|
||||
= V-FILL>
|
||||
<SYNTAX FILL OUT OBJECT = V-FILL-OUT>
|
||||
|
||||
<SYNTAX FIND OBJECT
|
||||
= V-FIND>
|
||||
<SYNONYM FIND WHERE SEEK SEE>
|
||||
|
||||
<SYNTAX FOLLOW = V-FOLLOW>
|
||||
<SYNTAX FOLLOW OBJECT = V-FOLLOW>
|
||||
<SYNONYM FOLLOW PURSUE CHASE COME>
|
||||
|
||||
<SYNTAX GIVE
|
||||
OBJECT (MANY HELD HAVE ;CARRIED ;ON-GROUND ;IN-ROOM)
|
||||
TO
|
||||
OBJECT (FIND VICBIT) (ON-GROUND)
|
||||
= V-GIVE PRE-GIVE>
|
||||
<SYNTAX GIVE
|
||||
OBJECT (FIND VICBIT) (ON-GROUND)
|
||||
OBJECT (MANY HELD HAVE)
|
||||
= V-SGIVE PRE-SGIVE>
|
||||
<SYNONYM GIVE HAND DONATE OFFER FEED>
|
||||
|
||||
<SYNTAX HELLO = V-HELLO ;*>
|
||||
<SYNTAX HELLO OBJECT = V-HELLO>
|
||||
<SYNONYM HELLO HI>
|
||||
|
||||
<SYNTAX HELP = V-HELP>
|
||||
<SYNTAX HELP OBJECT = V-HELP>
|
||||
|
||||
<SYNTAX BLOW OUT OBJECT (HELD CARRIED ON-GROUND HAVE) = V-LAMP-OFF>
|
||||
<SYNTAX BLOW UP
|
||||
OBJECT
|
||||
WITH
|
||||
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
= V-INFLATE ;*>
|
||||
<SYNTAX BLOW UP OBJECT = V-BLAST>
|
||||
|
||||
<SYNTAX INFLAT
|
||||
OBJECT
|
||||
WITH
|
||||
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
= V-INFLATE>
|
||||
|
||||
<SYNTAX JUMP = V-LEAP>
|
||||
<SYNTAX JUMP OVER OBJECT = V-LEAP>
|
||||
<SYNTAX JUMP ACROSS OBJECT = V-LEAP>
|
||||
<SYNTAX JUMP IN OBJECT = V-LEAP>
|
||||
<SYNTAX JUMP FROM OBJECT = V-LEAP>
|
||||
<SYNTAX JUMP OFF OBJECT = V-DISEMBARK>
|
||||
<SYNTAX JUMP OBJECT = V-JUMP-ROPE>
|
||||
<SYNONYM JUMP LEAP DIVE>
|
||||
|
||||
<SYNTAX KICK OBJECT = V-KICK>
|
||||
<SYNONYM KICK>
|
||||
|
||||
<SYNTAX KILL
|
||||
OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
|
||||
= V-KILL>
|
||||
<SYNONYM KILL MURDER SLAY DISPATCH STAB>
|
||||
|
||||
<SYNTAX KISS OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM) = V-KISS>
|
||||
|
||||
<SYNTAX KNOCK AT OBJECT = V-KNOCK ;*>
|
||||
<SYNTAX KNOCK ON OBJECT = V-KNOCK>
|
||||
<SYNTAX KNOCK OVER OBJECT = V-PUSH>
|
||||
<SYNTAX KNOCK DOWN OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
<SYNONYM KNOCK RAP>
|
||||
|
||||
<SYNTAX LAUNCH OBJECT (FIND VEHBIT) = V-LAUNCH>
|
||||
|
||||
<SYNTAX LEAVE = V-LEAVE>
|
||||
<SYNTAX LEAVE OBJECT = V-DROP>
|
||||
|
||||
<SYNTAX LIGHT
|
||||
OBJECT ;(FIND LIGHTBIT) (FIND BURNBIT)
|
||||
(CARRIED ON-GROUND IN-ROOM)
|
||||
= V-LAMP-ON ;*>
|
||||
<SYNTAX LIGHT
|
||||
OBJECT ;(FIND LIGHTBIT) (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-BURN PRE-BURN>
|
||||
|
||||
<SYNTAX LISTEN TO OBJECT = V-LISTEN>
|
||||
<SYNTAX LISTEN FOR OBJECT = V-LISTEN>
|
||||
|
||||
<SYNTAX LOCK
|
||||
OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-LOCK>
|
||||
|
||||
<SYNTAX LOOK = V-LOOK>
|
||||
<SYNTAX LOOK AROUND OBJECT (FIND RMUNGBIT) = V-LOOK>
|
||||
<SYNTAX LOOK UP OBJECT (FIND RMUNGBIT) = V-LOOK-UP>
|
||||
<SYNTAX LOOK UP OBJECT = V-LOOK-UP>
|
||||
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EXAMINE>
|
||||
<SYNTAX LOOK WITH OBJECT = V-LOOK-INSIDE>
|
||||
<SYNTAX LOOK THROUGH OBJECT = V-LOOK-INSIDE>
|
||||
<SYNTAX LOOK UNDER OBJECT = V-LOOK-UNDER>
|
||||
<SYNTAX LOOK BEHIND OBJECT = V-LOOK-BEHIND>
|
||||
<SYNTAX LOOK DOWN OBJECT = V-LOOK-DOWN>
|
||||
<SYNTAX LOOK IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-LOOK-INSIDE>
|
||||
<SYNTAX LOOK ON OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-LOOK-INSIDE>
|
||||
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) WITH OBJECT =
|
||||
V-READ PRE-READ>
|
||||
<SYNTAX LOOK FOR OBJECT = V-FIND>
|
||||
<SYNTAX LOOK OBJECT = V-CHASTISE>
|
||||
<SYNONYM LOOK L STARE GAZE>
|
||||
|
||||
<SYNTAX SEARCH OBJECT = V-SEARCH>
|
||||
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
|
||||
<SYNTAX SEARCH FOR OBJECT = V-FIND>
|
||||
|
||||
<SYNTAX LOWER OBJECT = V-LOWER>
|
||||
<SYNTAX LOWER OBJECT DOWN OBJECT = V-PUT PRE-PUT>
|
||||
|
||||
<SYNTAX MAKE OBJECT = V-MAKE>
|
||||
|
||||
<SYNTAX MELT
|
||||
OBJECT
|
||||
WITH
|
||||
OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-MELT>
|
||||
<SYNONYM MELT LIQUIFY>
|
||||
|
||||
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
||||
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO PRE-PUSH-TO>
|
||||
<SYNTAX ROLL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
||||
|
||||
<SYNTAX PLAY OBJECT = V-PLAY>
|
||||
|
||||
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE ; *>
|
||||
<SYNTAX PULL ON OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
||||
<SYNTAX PULL UP OBJECT (ON-GROUND IN-ROOM) = V-PULL-UP PRE-PULL-UP>
|
||||
<SYNTAX PULL OBJECT THROUGH OBJECT (ON-GROUND IN-ROOM) = V-PULL-UP PRE-PULL-UP>
|
||||
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO PRE-PUSH-TO>
|
||||
<SYNONYM PULL TUG YANK>
|
||||
|
||||
<SYNTAX MUMBLE = V-MUMBLE>
|
||||
<SYNONYM MUMBLE SIGH>
|
||||
|
||||
<SYNTAX DESTROY
|
||||
OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
WITH
|
||||
OBJECT (HELD CARRIED HAVE)
|
||||
= V-MUNG PRE-MUNG>
|
||||
<SYNTAX DESTROY IN OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
|
||||
<SYNTAX DESTROY
|
||||
DOWN
|
||||
OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
WITH
|
||||
OBJECT (HELD CARRIED HAVE)
|
||||
= V-MUNG PRE-MUNG>
|
||||
<SYNONYM DESTROY DAMAGE BREAK SMASH CHOP CHIP HIT>
|
||||
|
||||
<SYNTAX LUBRICATE OBJECT WITH OBJECT (HELD CARRIED) = V-OIL PRE-OIL>
|
||||
<SYNONYM LUBRICATE GREASE>
|
||||
|
||||
<SYNTAX OPEN
|
||||
OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-OPEN ;*>
|
||||
<SYNTAX OPEN
|
||||
UP
|
||||
OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-OPEN ;*>
|
||||
<SYNTAX OPEN
|
||||
OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
|
||||
= V-OPEN>
|
||||
|
||||
<SYNTAX PICK OBJECT = V-PICK>
|
||||
<SYNTAX PICK OBJECT WITH OBJECT (HELD CARRIED HAVE) = V-PICK>
|
||||
|
||||
<SYNTAX PICK UP
|
||||
OBJECT (FIND TAKEBIT)
|
||||
(ON-GROUND MANY)
|
||||
= V-TAKE PRE-TAKE>
|
||||
|
||||
<SYNTAX PLUG OBJECT WITH OBJECT (HELD CARRIED HAVE) = V-PLUG>
|
||||
<SYNONYM PLUG GLUE PATCH REPAIR FIX>
|
||||
|
||||
<SYNTAX PLUGH = V-ADVENTURE>
|
||||
<SYNONYM PLUGH XYZZY>
|
||||
|
||||
<SYNTAX POKE
|
||||
OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
|
||||
= V-MUNG PRE-MUNG>
|
||||
<SYNONYM POKE JAB BLIND>
|
||||
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED) = V-POUR ;*>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED) IN OBJECT = V-POUR-IN>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED HAVE) ON OBJECT = V-POUR-ON PRE-POUR-ON>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED) FROM OBJECT = V-POUR>
|
||||
<SYNONYM POUR SPILL>
|
||||
|
||||
<SYNTAX PRAY = V-PRAY>
|
||||
<SYNTAX PRAY FOR OBJECT = V-PRAY>
|
||||
|
||||
<SYNTAX PUMP UP OBJECT = V-PUMP>
|
||||
<SYNTAX PUMP UP OBJECT WITH OBJECT = V-PUMP>
|
||||
|
||||
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
|
||||
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
|
||||
<SYNTAX PUSH OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO PRE-PUSH-TO>
|
||||
<SYNTAX PUSH OBJECT (ON-GROUND IN-ROOM) TO OBJECT = V-PUSH-TO PRE-PUSH-TO>
|
||||
<SYNTAX PUSH OBJECT (HELD CARRIED HAVE) UNDER OBJECT = V-PUT-UNDER>
|
||||
<SYNTAX PUSH OBJECT (HELD CARRIED HAVE) THROUGH OBJECT = V-PUSH-THROUGH>
|
||||
<SYNTAX PUSH UP OBJECT = V-RAISE>
|
||||
<SYNONYM PUSH PRESS>
|
||||
|
||||
<SYNTAX PUT OBJECT (ON-GROUND HELD MANY HAVE)
|
||||
IN OBJECT = V-PUT PRE-PUT ;*>
|
||||
<SYNTAX PUT OBJECT (ON-GROUND HELD MANY HAVE)
|
||||
ON OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNTAX PUT DOWN OBJECT (HELD MANY) = V-DROP>
|
||||
<SYNTAX PUT OBJECT (HELD MANY HAVE) UNDER OBJECT = V-PUT-UNDER>
|
||||
<SYNTAX PUT ON OBJECT (IN-ROOM ON-GROUND CARRIED MANY) = V-WEAR>
|
||||
<SYNTAX PUT OBJECT (HELD MANY HAVE) BEHIND OBJECT = V-PUT-BEHIND>
|
||||
<SYNTAX PUT OBJECT (HELD HAVE) AGAINST OBJECT = V-PUT-AGAINST>
|
||||
<SYNTAX PUT OBJECT (HELD HAVE) BY OBJECT = V-PUT-AGAINST>
|
||||
<SYNTAX PUT OBJECT (HELD HAVE) AT OBJECT = V-PUT-AGAINST>
|
||||
<SYNTAX PUT OBJECT (HELD HAVE) ACROSS OBJECT = V-PUT-ACROSS>
|
||||
<SYNTAX PUT OBJECT (HELD HAVE) OVER OBJECT = V-PUT-ACROSS>
|
||||
<SYNTAX PUT OBJECT (HELD HAVE) BETWEEN OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNONYM PUT STUFF INSERT PLACE HIDE WEDGE>
|
||||
|
||||
<SYNTAX RAISE OBJECT = V-RAISE ;*>
|
||||
<SYNTAX RAISE UP OBJECT = V-RAISE>
|
||||
<SYNONYM RAISE LIFT>
|
||||
|
||||
<SYNTAX RAPE OBJECT (FIND VICBIT) = V-RAPE>
|
||||
<SYNONYM RAPE MOLEST>
|
||||
|
||||
<SYNTAX REACH IN OBJECT (FIND OPENBIT) = V-REACH-IN PRE-REACH-IN>
|
||||
|
||||
<SYNTAX READ
|
||||
OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-READ PRE-READ ; *>
|
||||
<SYNTAX READ IN OBJECT (HELD CARRIED HAVE) = V-READ-INSIDE>
|
||||
<SYNTAX READ
|
||||
OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (HELD CARRIED HAVE)
|
||||
= V-READ PRE-READ>
|
||||
<SYNONYM READ SKIM>
|
||||
|
||||
<SYNTAX REPENT = V-REPENT>
|
||||
|
||||
<SYNTAX ROLL OBJECT = V-ROLL>
|
||||
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO PRE-PUSH-TO>
|
||||
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) TO OBJECT = V-PUSH-TO PRE-PUSH-TO>
|
||||
|
||||
<SYNTAX RUB OBJECT = V-RUB>
|
||||
<SYNTAX RUB OBJECT WITH OBJECT = V-RUB>
|
||||
<SYNONYM RUB TOUCH FEEL PAT PET>
|
||||
|
||||
<SYNTAX SCRIPT = V-SCRIPT>
|
||||
<SYNTAX UNSCRIPT = V-UNSCRIPT>
|
||||
|
||||
<SYNTAX SEND OBJECT = V-SEND>
|
||||
<SYNTAX SEND FOR OBJECT = V-SEND>
|
||||
|
||||
<SYNTAX SHAKE OBJECT = V-SHAKE>
|
||||
<SYNONYM SHAKE EMPTY>
|
||||
|
||||
<SYNTAX SLIDE OBJECT = V-PUSH>
|
||||
<SYNTAX SLIDE OBJECT UNDER OBJECT = V-PUT-UNDER>
|
||||
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
|
||||
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
|
||||
|
||||
<SYNTAX SKIP = V-SKIP>
|
||||
<SYNONYM SKIP HOP>
|
||||
|
||||
<SYNTAX SMELL OBJECT = V-SMELL>
|
||||
<SYNONYM SMELL SNIFF>
|
||||
|
||||
<SYNTAX SMOKE OBJECT = V-SMOKE>
|
||||
|
||||
<SYNTAX SPIN OBJECT = V-SPIN>
|
||||
|
||||
<SYNTAX SPRAY OBJECT ON OBJECT = V-SPRAY>
|
||||
<SYNTAX SPRAY OBJECT WITH OBJECT = V-SSPRAY>
|
||||
|
||||
<SYNTAX SQUEEZE OBJECT = V-SQUEEZE>
|
||||
<SYNTAX SQUEEZE OBJECT ON OBJECT = V-PUT PRE-PUT>
|
||||
|
||||
<SYNTAX STAND = V-STAND>
|
||||
<SYNTAX STAND UP OBJECT (FIND RMUNGBIT) = V-STAND>
|
||||
<SYNTAX STAND ON OBJECT (FIND VEHBIT) = V-CLIMB-ON>
|
||||
<SYNTAX STAND UNDER OBJECT = V-STAND-UNDER>
|
||||
|
||||
<SYNTAX STAY = V-STAY>
|
||||
|
||||
<SYNTAX STRIKE
|
||||
OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND WEAPONBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
|
||||
= V-ATTACK>
|
||||
<SYNTAX STRIKE
|
||||
OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM)
|
||||
= V-ATTACK ;*>
|
||||
<SYNTAX STRIKE OBJECT (CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
|
||||
|
||||
<SYNTAX SWIM = V-SWIM>
|
||||
<SYNTAX SWIM IN OBJECT = V-SWIM>
|
||||
<SYNONYM SWIM BATHE WADE>
|
||||
|
||||
<SYNTAX SWING
|
||||
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
|
||||
= V-SWING>
|
||||
<SYNTAX SWING
|
||||
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
|
||||
AT
|
||||
OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM)
|
||||
= V-SWING>
|
||||
<SYNONYM SWING THRUST>
|
||||
|
||||
<SYNTAX TAKE
|
||||
OBJECT (FIND TAKEBIT)
|
||||
(ON-GROUND IN-ROOM MANY)
|
||||
= V-TAKE PRE-TAKE ;*>
|
||||
<SYNTAX TAKE IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
|
||||
<SYNTAX TAKE OUT OBJECT (FIND VEHBIT) (ON-GROUND) = V-DISEMBARK>
|
||||
<SYNTAX TAKE OFF OBJECT (FIND VEHBIT) (ON-GROUND) = V-DISEMBARK>
|
||||
<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<SYNTAX TAKE UNDER OBJECT = V-STAND-UNDER>
|
||||
<SYNTAX TAKE UP OBJECT (FIND RMUNGBIT) = V-STAND>
|
||||
<SYNTAX TAKE
|
||||
OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||
OUT
|
||||
OBJECT
|
||||
= V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE
|
||||
OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||
OFF
|
||||
OBJECT
|
||||
= V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE
|
||||
OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
|
||||
FROM
|
||||
OBJECT
|
||||
= V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE
|
||||
OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
|
||||
OF
|
||||
OBJECT
|
||||
= V-TAKE PRE-TAKE> ;"Take a sip of water"
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT)
|
||||
WITH OBJECT (FIND TOOLBIT) = V-TAKE PRE-TAKE>
|
||||
<SYNONYM TAKE GRAB GET HOLD CARRY REMOVE>
|
||||
|
||||
<SYNTAX TELL OBJECT (FIND VICBIT) (IN-ROOM) = V-TELL>
|
||||
<SYNONYM TELL ASK>
|
||||
|
||||
<SYNTAX SAY TO OBJECT (FIND VICBIT) (IN-ROOM) = V-TELL>
|
||||
<SYNTAX SAY = V-SAY>
|
||||
<SYNONYM SAY TALK>
|
||||
|
||||
<SYNTAX SLEEP = V-SLEEP>
|
||||
<SYNTAX SLEEP IN OBJECT = V-SLEEP>
|
||||
<SYNTAX SLEEP ON OBJECT = V-SLEEP>
|
||||
<SYNTAX SLEEP DOWN ON OBJECT = V-SLEEP> ;"lie down"
|
||||
<SYNTAX SLEEP DOWN OBJECT (FIND RMUNGBIT) = V-SLEEP>
|
||||
<SYNONYM SLEEP LIE REST>
|
||||
|
||||
<SYNTAX INCANT = V-INCANT>
|
||||
<SYNONYM INCANT CHANT>
|
||||
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE) = V-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE) OBJECT = V-THROW-DOWN>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE) DOWN OBJECT = V-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE) AT OBJECT = V-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE) OFF OBJECT = V-THROW-OFF>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE) OVER OBJECT = V-THROW-OFF>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE)
|
||||
WITH OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE) IN OBJECT = V-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE) ON OBJECT = V-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED TAKE HAVE) TO OBJECT = V-THROW-DOWN>
|
||||
<SYNONYM THROW HURL CHUCK TOSS>
|
||||
|
||||
<SYNTAX TIE OBJECT (ON-GROUND HELD CARRIED TAKE HAVE)
|
||||
TO OBJECT = V-TIE PRE-TIE>
|
||||
<SYNTAX TIE OBJECT (ON-GROUND HELD CARRIED TAKE HAVE)
|
||||
AROUND OBJECT = V-TIE PRE-TIE>
|
||||
<SYNTAX TIE UP
|
||||
OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (ON-GROUND IN-ROOM HELD CARRIED TAKE HAVE)
|
||||
= V-TIE-UP>
|
||||
<SYNONYM TIE FASTEN SECURE ATTACH>
|
||||
|
||||
<SYNTAX TIME = V-TIME>
|
||||
|
||||
<SYNTAX TURN OVER OBJECT = V-TURN-OVER>
|
||||
<SYNTAX TURN OBJECT (FIND TURNBIT) TO OBJECT = V-TURN PRE-TURN>
|
||||
<SYNTAX TURN OBJECT (FIND TURNBIT) FOR OBJECT = V-TURN PRE-TURN>
|
||||
<SYNTAX TURN OBJECT (FIND TURNBIT) = V-TURN PRE-TURN>
|
||||
<SYNTAX TURN
|
||||
OBJECT (FIND TURNBIT) ( HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
|
||||
= V-TURN PRE-TURN ;*>
|
||||
<SYNTAX TURN ON
|
||||
OBJECT ;(FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE)
|
||||
= V-LAMP-ON>
|
||||
<SYNTAX TURN OFF
|
||||
OBJECT ;(FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE)
|
||||
= V-LAMP-OFF>
|
||||
<SYNONYM TURN FLIP SHUT SET>
|
||||
|
||||
<SYNTAX UNFOLD OBJECT = V-UNFOLD>
|
||||
<SYNTAX FOLD OBJECT = V-FOLD>
|
||||
<SYNTAX FOLD UP OBJECT = V-FOLD>
|
||||
|
||||
<SYNTAX UNLOCK
|
||||
OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH
|
||||
OBJECT (FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
|
||||
= V-UNLOCK>
|
||||
|
||||
<SYNTAX UNTIE
|
||||
OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
= V-UNTIE ;*>
|
||||
<SYNTAX UNTIE
|
||||
OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
FROM
|
||||
OBJECT
|
||||
= V-UNTIE>
|
||||
<SYNONYM UNTIE FREE UNFASTEN UNATTACH UNHOOK>
|
||||
|
||||
<SYNTAX WAIT = V-WAIT>
|
||||
<SYNONYM WAIT Z>
|
||||
|
||||
<SYNTAX WAKE OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM) = V-ALARM ;*>
|
||||
<SYNTAX WAKE UP OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM) = V-ALARM>
|
||||
<SYNONYM WAKE AWAKE SURPRISE STARTLE>
|
||||
|
||||
<SYNTAX WALK OBJECT = V-WALK>
|
||||
<SYNTAX WALK IN OBJECT = V-THROUGH>
|
||||
<SYNTAX WALK ON OBJECT = V-THROUGH>
|
||||
<SYNTAX WALK OVER OBJECT = V-LEAP>
|
||||
<SYNTAX WALK WITH OBJECT = V-THROUGH>
|
||||
<SYNTAX WALK AROUND OBJECT = V-WALK-AROUND>
|
||||
<SYNTAX WALK UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
|
||||
<SYNTAX WALK DOWN OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
|
||||
<SYNTAX WALK TO OBJECT = V-WALK-TO>
|
||||
<SYNONYM WALK GO RUN PROCEED STEP>
|
||||
|
||||
<SYNTAX WAVE AT OBJECT = V-WAVE>
|
||||
<SYNTAX WAVE TO OBJECT = V-WAVE>
|
||||
<SYNTAX WAVE OBJECT (HELD CARRIED) = V-WAVE>
|
||||
<SYNTAX WAVE OBJECT (HELD CARRIED) AT OBJECT = V-WAVE>
|
||||
<SYNONYM WAVE BRANDISH SIGNAL>
|
||||
|
||||
<SYNTAX WEAR OBJECT = V-WEAR>
|
||||
|
||||
<SYNTAX WEIGH OBJECT = V-WEIGH>
|
||||
|
||||
<SYNTAX WET OBJECT (ON-GROUND IN-ROOM HELD CARRIED HAVE)
|
||||
WITH OBJECT = V-WET>
|
||||
|
||||
<SYNTAX WIN = V-WIN>
|
||||
<SYNONYM WIN WINNAGE>
|
||||
|
||||
<SYNTAX WIND OBJECT = V-WIND>
|
||||
<SYNTAX WIND UP OBJECT = V-WIND>
|
||||
|
||||
<SYNTAX YELL = V-YELL>
|
||||
<SYNONYM YELL SCREAM SHOUT>
|
||||
|
||||
<SYNTAX ZORK = V-ZORK>
|
||||
|
||||
;"Simple questions"
|
||||
|
||||
;"<SYNTAX WHAT ...> WHAT is a synonym of EXAMINE"
|
||||
|
||||
;"<SYNTAX WHERE ...> WHERE is a synonym of FIND"
|
||||
|
||||
<SYNTAX IS OBJECT IN OBJECT = V-IS-IN>
|
||||
<SYNTAX IS OBJECT ON OBJECT = V-IS-IN>
|
||||
|
||||
|
|
@ -0,0 +1,378 @@
|
|||
"TEMPLE for
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
;"TEMPLE--This is the file for the Temple area, the passage(s) leading
|
||||
to it, and any objects found there. TEMPLE will articulate with the
|
||||
BARGE area."
|
||||
|
||||
<ROOM IN-THE-HALL
|
||||
(IN ROOMS)
|
||||
(DESC "Steep Passageway")
|
||||
(FLAGS RLANDBIT)
|
||||
(LDESC
|
||||
"You are at the top of a steep, descending passage that plunges down to the
|
||||
north. Although the angle is steep, it looks as if you should have firm enough
|
||||
footing to travel safely. From the angle, it appears as though the passage
|
||||
is actually leaving the pyramid, cutting down through the sand high overhead
|
||||
to an adjoining building.")
|
||||
(SOUTH TO BARGE-EXIT) ;"Articulates with BARGE area here"
|
||||
(DOWN TO S-END)
|
||||
(NORTH TO S-END)
|
||||
(OUT TO BARGE-EXIT)>
|
||||
|
||||
<ROOM S-END
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Steep Passageway")
|
||||
(LDESC
|
||||
"You are about midway down a steep, descending, north/south passageway which
|
||||
seems to lead out of the pyramid to the north. The walls of stone are polished
|
||||
and as smooth as glass, glistening in your light, lighting the passage far to
|
||||
the north and the south.")
|
||||
(SOUTH TO IN-THE-HALL)
|
||||
(UP TO IN-THE-HALL)
|
||||
(DOWN TO N-END)
|
||||
(NORTH TO N-END)>
|
||||
|
||||
<ROOM N-END
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Steep Passageway")
|
||||
(LDESC
|
||||
"You are at the north end of a descending passageway. You can see the smoothly
|
||||
polished passageway rising up and out of sight to the south, heading back into
|
||||
the pyramid. A large doorway cut into the stone walls lies to the north and,
|
||||
through it, you can see an immense chamber.")
|
||||
(SOUTH TO S-END)
|
||||
(UP TO S-END)
|
||||
(NORTH TO TEMPLE-ENTER)
|
||||
(IN TO TEMPLE-ENTER)
|
||||
(GLOBAL DOORWAY)>
|
||||
|
||||
<ROOM TEMPLE-ENTER
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Temple Chamber")
|
||||
(LDESC
|
||||
"You are in a huge chamber, immense in its size and scope, especially since it
|
||||
is far underground. Your light seems to climb and fall from the high walls,
|
||||
making their top boundaries undefined as they melt into inky darkness,
|
||||
flickering into the unknown reaches high overhead. There is a huge doorway
|
||||
carved out of the south wall, the arch at its top barely discernible in your
|
||||
light. To the north is a similar doorway, slightly scaled down, with pillars on
|
||||
either side of it, their shadows playing strange tricks on the wall behind
|
||||
them. You can just barely make out the paintings on the walls, pictures of the
|
||||
ancient Queen, her servants, and the priests in attendance.")
|
||||
(SOUTH TO N-END)
|
||||
(NORTH TO SKELETON-ROOM)
|
||||
(OUT TO N-END)
|
||||
(IN TO SKELETON-ROOM)
|
||||
(GLOBAL PICTURES PILLARS)>
|
||||
|
||||
<ROOM SKELETON-ROOM
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Inner Chamber")
|
||||
(LDESC
|
||||
"You are in the temple's inner chamber. The ceiling here is lower, low enough
|
||||
for your light to reach it. There are openings in the east and west walls, and
|
||||
a large, arched doorway to the south. The walls are covered with paintings,
|
||||
most of which depict the Queen in different stages of preparation for her trip
|
||||
on the royal barge. One in particular, larger than any of the others, shows the
|
||||
Queen and all of her attendants aboard the barge, floating through the air on
|
||||
their way to the netherworld. There are some detailed hieroglyphs on one of the
|
||||
walls.")
|
||||
(OUT TO TEMPLE-ENTER)
|
||||
(SOUTH TO TEMPLE-ENTER)
|
||||
(WEST TO GOLDEN-ROOM)
|
||||
(EAST TO SILVER-ROOM)
|
||||
(GLOBAL HIEROGLYPHS PICTURES DOORWAY)>
|
||||
|
||||
<ROOM GOLDEN-ROOM
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Golden Room")
|
||||
(LDESC
|
||||
"You are in a room whose walls are covered with gold leaf. Your light reflects
|
||||
off the walls with a rich, warm tone and reveals the outlines of hieroglyphics
|
||||
engraved in the gold itself. There is a doorway cut into the south wall and,
|
||||
through the reflected light, you can tell it leads into a small chamber. There
|
||||
is another doorway leading out to the east.")
|
||||
(EAST TO SKELETON-ROOM)
|
||||
(SOUTH TO GCUP-ROOM)
|
||||
(OUT TO SKELETON-ROOM)
|
||||
(IN TO GCUP-ROOM)
|
||||
(GLOBAL HIEROGLYPHS GOLD-LEAF)>
|
||||
|
||||
<OBJECT GOLD-LEAF
|
||||
(IN LOCAL-GLOBALS)
|
||||
(FLAGS NDESCBIT DONTTAKE TOUCHBIT)
|
||||
(DESC "glittering leaf")
|
||||
(SYNONYM LEAF)
|
||||
(ADJECTIVE GOLD SILVER)
|
||||
(TEXT
|
||||
"The walls are covered with it. And it's very beautiful.")>
|
||||
|
||||
<ROOM GCUP-ROOM
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Golden Alcove")
|
||||
(LDESC
|
||||
"You are in a small alcove off the Golden Room. Sitting in the middle of this
|
||||
small room is a roughly-hewn slab of granite, much like a legless table.")
|
||||
(OUT TO GOLDEN-ROOM)
|
||||
(NORTH TO GOLDEN-ROOM)
|
||||
(GLOBAL TABLE)>
|
||||
|
||||
<ROOM SILVER-ROOM
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Silver Room")
|
||||
(LDESC
|
||||
"You are in the Silver Chamber, a room whose walls reflect your light
|
||||
brilliantly due to their silver surface. A doorway leads west and out, while
|
||||
another doorway leads into a smaller room to the south.")
|
||||
(OUT TO SKELETON-ROOM)
|
||||
(WEST TO SKELETON-ROOM)
|
||||
(IN TO SCUP-ROOM)
|
||||
(SOUTH TO SCUP-ROOM)
|
||||
(GLOBAL HIEROGLYPHS GOLD-LEAF)>
|
||||
|
||||
<ROOM SCUP-ROOM
|
||||
(IN ROOMS)
|
||||
(FLAGS RLANDBIT)
|
||||
(DESC "Silver Alcove")
|
||||
(LDESC
|
||||
"You are in a small alcove off the Silver Room. Sitting in the middle of this
|
||||
small room is a roughly-hewn slab of granite, much like a legless table.")
|
||||
(OUT TO SILVER-ROOM)
|
||||
(NORTH TO SILVER-ROOM)
|
||||
(GLOBAL TABLE)>
|
||||
|
||||
<OBJECT GOLD-TABLE
|
||||
(IN GCUP-ROOM)
|
||||
(FLAGS CONTBIT SURFACEBIT OPENBIT NDESCBIT TRANSBIT DONTTAKE)
|
||||
(DESC "granite table")
|
||||
(SYNONYM TABLE SLAB)
|
||||
(ADJECTIVE GRANITE)
|
||||
(CAPACITY 100)
|
||||
(ACTION HUH?)>
|
||||
|
||||
<OBJECT GOLD-CUP
|
||||
(IN GOLD-TABLE)
|
||||
(FLAGS CONTBIT OPENBIT TAKEBIT SEARCHBIT)
|
||||
(DESC "golden chalice")
|
||||
(FDESC
|
||||
"Sitting in the middle of the granite table is a gleaming chalice made
|
||||
of gold.")
|
||||
(TEXT
|
||||
"The cup is heavier than you thought it might be. The outside of it is
|
||||
beautifully etched with scenes of the Queen and her handmaidens.")
|
||||
(SYNONYM CUP CHALIC)
|
||||
(ADJECTIVE GOLD GOLDEN)
|
||||
(VALUE 15)
|
||||
(CAPACITY 5)
|
||||
(SIZE 8)
|
||||
(MAP 1)
|
||||
(ACTION CUP-FCN)>
|
||||
|
||||
<OBJECT SILVER-CUP
|
||||
(IN SILVER-TABLE)
|
||||
(FLAGS CONTBIT OPENBIT TAKEBIT SEARCHBIT)
|
||||
(DESC "silver chalice")
|
||||
(TEXT
|
||||
"There's a thin line etched inside the chalice which travels all the way
|
||||
around it. The chalice is not very heavy.")
|
||||
(FDESC
|
||||
"Sitting in the middle of the granite table is a chalice made of gleaming silver.")
|
||||
(SYNONYM CUP CHALIC)
|
||||
(ADJECTIVE SILVER)
|
||||
(VALUE 15)
|
||||
(SIZE 5)
|
||||
(CAPACITY 5)
|
||||
(MAP 1)
|
||||
(ACTION CUP-FCN)>
|
||||
|
||||
<OBJECT LINE
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(FLAGS NDESCBIT TOUCHBIT)
|
||||
(DESC "line")
|
||||
(SYNONYM LINE)
|
||||
(ADJECTIVE THIN)
|
||||
(TEXT
|
||||
"The line goes around the interior of the silver cup.")
|
||||
(ACTION LINE-FCN)>
|
||||
|
||||
<ROUTINE LINE-FCN ()
|
||||
<COND (<NOT <OR <HELD? ,SILVER-CUP>
|
||||
<IN? ,SILVER-CUP ,HERE>>>
|
||||
<TELL "I can't see any " D ,PRSO " here." CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE CUP-FCN ()
|
||||
<COND (<AND <PRSO? ,SILVER-CUP>
|
||||
<VERB? EXAMINE LOOK-INSIDE>
|
||||
<OR <IN? ,WATER ,SILVER-CUP>
|
||||
<IN? ,LIQUID ,SILVER-CUP>>>
|
||||
<TELL "The ">
|
||||
<COND (<IN? ,WATER ,SILVER-CUP>
|
||||
<TELL "water">)
|
||||
(T
|
||||
<TELL "oily liquid">)>
|
||||
<TELL " fills the cup up to the line." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<HOW? ,PRSO>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT SILVER-TABLE
|
||||
(IN SCUP-ROOM)
|
||||
(FLAGS CONTBIT SURFACEBIT TRANSBIT OPENBIT NDESCBIT DONTTAKE)
|
||||
(DESC "granite table")
|
||||
(SYNONYM TABLE SLAB)
|
||||
(ADJECTIVE GRANITE)
|
||||
(CAPACITY 100)
|
||||
(ACTION HUH?)>
|
||||
|
||||
<OBJECT SKELETON
|
||||
(IN SKELETON-ROOM)
|
||||
(DESC "skeleton")
|
||||
(FDESC
|
||||
"Lying before you in tortured repose are the bony remains of a former
|
||||
adventurer, someone who tried looting the pyramid long, long ago. As you bend
|
||||
over to pay your respects, something glitters, catching your eye as you move
|
||||
your head.")
|
||||
(SYNONYM SKELET REMAIN BONES ADVENT)
|
||||
(ADJECTIVE BONY)
|
||||
(FLAGS TRYTAKEBIT TAKEBIT CONTBIT OPENBIT SEARCHBIT)
|
||||
(CAPACITY 15)
|
||||
(ACTION SKELETON-FCN)>
|
||||
|
||||
<ROUTINE SKELETON-FCN ()
|
||||
<COND (<OR <VERB? TAKE SHAKE MOVE>
|
||||
<AND <VERB? PUT>
|
||||
<EQUAL? ,PRSO ,SKELETON>>>
|
||||
<TELL
|
||||
"If you tried that, the skeleton would fall apart, bone by bone." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<HOW? ,PRSO>
|
||||
<RTRUE>)
|
||||
(<VERB? ALARM>
|
||||
<TELL "Let the dead rest." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<IN? ,RING ,DIGITS>
|
||||
<TELL
|
||||
"On the bony digits of one hand is a jeweled ring." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"I see nothing special about the " D ,PRSO "." CR>)>
|
||||
<RTRUE>)
|
||||
(<VERB? LOOK-INSIDE>
|
||||
<HOW? ,PRSO>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT DIGITS
|
||||
(IN SKELETON)
|
||||
(DESC "calcified hand")
|
||||
(FLAGS NDESCBIT CONTBIT OPENBIT SEARCHBIT)
|
||||
(SYNONYM DIGITS HAND)
|
||||
(ADJECTIVE BONY CALCIF)
|
||||
(ACTION DIGIT-FCN)>
|
||||
|
||||
<ROUTINE DIGIT-FCN ()
|
||||
<COND (<VERB? OPEN CLOSE>
|
||||
<HOW? ,PRSO>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE>
|
||||
<PERFORM ,V?EXAMINE ,SKELETON>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT RING
|
||||
(IN DIGITS)
|
||||
(FLAGS TAKEBIT DONTTAKE NDESCBIT CONTBIT OPENBIT SEARCHBIT)
|
||||
(DESC "jeweled ring")
|
||||
(SYNONYM RING)
|
||||
(ADJECTIVE JEWELE)
|
||||
(TEXT
|
||||
"At first glance, you are overwhelmed with the beauty and richness of the ring.
|
||||
On close examination you notice the ring has a tiny needle on the inside of
|
||||
the band.")
|
||||
(SIZE 1)
|
||||
(ACTION WEAR-RING-FCN)>
|
||||
|
||||
<ROUTINE WEAR-RING-FCN ()
|
||||
<COND (<AND <VERB? WEAR>
|
||||
<IN? ,RING ,WINNER>>
|
||||
<TELL
|
||||
"Ouch! It seems you've pricked your finger while putting on the ring."
|
||||
CR>
|
||||
<ENABLE <QUEUE I-RING-KILL -1>>
|
||||
<FSET ,RING ,WEARBIT>
|
||||
<RTRUE>)
|
||||
(<VERB? WEAR>
|
||||
<TELL "(Taken)" CR>
|
||||
<MOVE ,RING ,WINNER>
|
||||
<PERFORM ,V?WEAR ,RING>
|
||||
<RTRUE>)
|
||||
(<VERB? TAKE>
|
||||
<COND (<ITAKE>
|
||||
<TELL "Taken." CR>
|
||||
<FCLEAR ,RING ,NDESCBIT>
|
||||
<FCLEAR ,NEEDLE ,INVISIBLE>
|
||||
<FCLEAR ,RING ,DONTTAKE>
|
||||
<PUTP ,SKELETON ,P?FDESC
|
||||
"Lying before you in tortured repose are the bony remains of a former adventurer.">)>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT>
|
||||
<FSET? ,RING ,NDESCBIT>>
|
||||
<FCLEAR ,NEEDLE ,INVISIBLE>
|
||||
<FCLEAR ,RING ,NDESCBIT>
|
||||
<FCLEAR ,RING ,DONTTAKE>
|
||||
<PUTP ,SKELETON ,P?FDESC
|
||||
"Lying before you in tortured repose are the bony remains of a former adventurer.">
|
||||
<RFALSE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<HOW? ,PRSO>
|
||||
<RTRUE>)
|
||||
(<VERB? DISEMBARK>
|
||||
<TELL "It's stuck on your finger." CR>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE>
|
||||
<TELL <GETP ,RING ,P?TEXT> CR>
|
||||
<FCLEAR ,NEEDLE ,INVISIBLE>
|
||||
<FCLEAR ,RING ,DONTTAKE>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT NEEDLE
|
||||
(IN RING)
|
||||
(FLAGS NDESCBIT INVISIBLE DONTTAKE TRYTAKEBIT)
|
||||
(DESC "tiny needle")
|
||||
(SYNONYM NEEDLE)
|
||||
(ADJECTIVE TINY)
|
||||
(SIZE 1)
|
||||
(TEXT
|
||||
"Inside the band is a small needle set at an angle designed to pierce the skin.")
|
||||
(ACTION TOUCH-NEEDLE-FCN)>
|
||||
|
||||
<ROUTINE TOUCH-NEEDLE-FCN ()
|
||||
<COND (<VERB? RUB>
|
||||
<TELL
|
||||
"You prick your finger on the tiny needle sticking out from the inside of the
|
||||
ring." CR>
|
||||
<ENABLE <QUEUE I-RING-KILL -1>>
|
||||
<RTRUE>)
|
||||
(<VERB? DROP THROW PUT PUT-ON>
|
||||
<TELL "Better find a haystack first." CR>)
|
||||
(<VERB? SMELL>
|
||||
<TELL "It smells very faintly of almonds." CR>)
|
||||
(<VERB? TASTE>
|
||||
<JIGS-UP
|
||||
"Ugh! It tastes terrible!|
|
||||
|
|
||||
You stand there in horrified amazement, feeling the poison creeping down your
|
||||
throat and acting on your body almost instantaneously. Time to shuffle off...">
|
||||
<RFATAL>)>>
|
||||
|
Loading…
Reference in New Issue