Final Revision
parent
d26f157357
commit
e57804a453
File diff suppressed because it is too large
Load Diff
159
2actions.zil
159
2actions.zil
|
@ -395,7 +395,7 @@ damaged, since an oblong hole has been chipped out of the front of it." CR>)
|
|||
"On the far wall is a rusty box, whose door has been blown off." CR>)>)>>
|
||||
|
||||
<ROUTINE SAFE-FCN ()
|
||||
<COND (<VERB? TAKE>
|
||||
<COND (<AND <VERB? TAKE> <EQUAL? ,PRSO ,SAFE>>
|
||||
<TELL "The box is imbedded in the wall." CR>)
|
||||
(<VERB? OPEN>
|
||||
<COND (,SAFE-FLAG <TELL "The box has no door!" CR>)
|
||||
|
@ -506,7 +506,7 @@ about 200 feet above and there is a precipitous drop to the bottom.">
|
|||
<TELL " The way to the south is blocked by rubble." CR>)
|
||||
(T <TELL " There is a small door to the south." CR>)>)>>
|
||||
|
||||
<ROUTINE BLAST ()
|
||||
;<ROUTINE BLAST () ;"APPARENTLY UNUSED?"
|
||||
<COND (<EQUAL? ,HERE ,SAFE-ROOM>)
|
||||
(T
|
||||
<TELL "You must explain how to do that." CR>)>>
|
||||
|
@ -532,7 +532,15 @@ notice the gnome nervously glancing at his watch." CR>
|
|||
<GLOBAL GNOME-FLAG <>>
|
||||
|
||||
<ROUTINE GNOME-FCN ()
|
||||
<COND (<AND <VERB? GIVE THROW> <EQUAL? ,PRSI ,GNOME>>
|
||||
<COND (<VERB? TELL>
|
||||
<SETG P-CONT <>>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<COND (<NOT ,GNOME-FLAG>
|
||||
<ENABLE <QUEUE I-NERVOUS 5>>)>
|
||||
<SETG GNOME-FLAG T>
|
||||
<TELL
|
||||
"The gnome appears increasingly nervous." CR>)
|
||||
(<AND <VERB? GIVE THROW> <EQUAL? ,PRSI ,GNOME>>
|
||||
<COND (<GETPT ,PRSO ,P?VALUE>
|
||||
<TELL
|
||||
"\"Thank you very much for the " D ,PRSO ". I don't believe
|
||||
|
@ -731,9 +739,9 @@ become the master of his domain, but the final challenge awaits!|
|
|||
<FINISH>)
|
||||
(T
|
||||
<JIGS-UP
|
||||
"The green curves begin to vibrate toward you, as if searching for something.
|
||||
One by one your possessions glow bright green. Finally, you are attacked by
|
||||
these magical wardens, and destroyed!">)>)>>
|
||||
"The green curves begin to vibrate toward you, as if searching for
|
||||
something. One by one your possessions glow bright green. Finally, you
|
||||
are attacked by these magical wardens, and destroyed!">)>)>>
|
||||
|
||||
\
|
||||
|
||||
|
@ -1156,7 +1164,8 @@ for movement.">
|
|||
(<EQUAL? ,PRSO ,SQUARE-BUTTON>
|
||||
<COND (,CAROUSEL-ZOOM-FLAG
|
||||
<TELL "Nothing seems to happen." CR>)
|
||||
(<SETG CAROUSEL-ZOOM-FLAG T>
|
||||
(ELSE
|
||||
<SETG CAROUSEL-ZOOM-FLAG T>
|
||||
<TELL "The whirring increases in intensity." CR>)>)
|
||||
(<EQUAL? ,PRSO ,ROUND-BUTTON>
|
||||
<COND (,CAROUSEL-ZOOM-FLAG
|
||||
|
@ -1250,16 +1259,16 @@ say, but the robot appears to be smiling." CR CR>
|
|||
"\"I am sorry but that is difficult for a being with no mouth.\"" CR>)>
|
||||
<RTRUE>)
|
||||
(<AND <PROB 2>
|
||||
<IN? ,ADVENTURER ,HERE>>
|
||||
<EQUAL? <META-LOC ,ADVENTURER> ,HERE>>
|
||||
<TELL
|
||||
"\"Buzz! Buzz! Buzz! My circuits are getting rusty. Try again.\"" CR>)
|
||||
(<VERB? READ EXAMINE>
|
||||
<COND (<IN? ,ADVENTURER ,HERE>
|
||||
<COND (<EQUAL? <META-LOC ,ADVENTURER> ,HERE>
|
||||
<TELL
|
||||
"\"My vision is not sufficiently acute to do that.\"" CR>)>
|
||||
<RTRUE>)
|
||||
(<VERB? DROP PUT THROW>
|
||||
<COND (<NOT <IN? ,ADVENTURER ,HERE>>
|
||||
<COND (<NOT <EQUAL? <META-LOC ,ADVENTURER> ,HERE>>
|
||||
<RFALSE>)
|
||||
(<IN? ,PRSO ,ROBOT>
|
||||
<TELL "\"Whirr, buzz, click!\"" CR>
|
||||
|
@ -1267,8 +1276,10 @@ say, but the robot appears to be smiling." CR CR>
|
|||
(T
|
||||
<TELL
|
||||
"\"Click! I don't have that. Buzz! Whirr!\"" CR>)>)
|
||||
(<VERB? WALK TAKE PUSH TURN>
|
||||
<COND (<NOT <IN? ,ADVENTURER ,HERE>>
|
||||
(<OR <VERB? WALK>
|
||||
<AND <VERB? TAKE PUSH TURN>
|
||||
<NOT <FSET? ,PRSO ,ACTORBIT>>>>
|
||||
<COND (<NOT <EQUAL? <META-LOC ,ADVENTURER> ,HERE>>
|
||||
<RFALSE>)
|
||||
(<PROB 80>
|
||||
<TELL "\"Whirr, buzz, click!\"" CR>)
|
||||
|
@ -1276,7 +1287,7 @@ say, but the robot appears to be smiling." CR CR>
|
|||
<TELL "\"Buzz, click, whirr!\"" CR>)>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<COND (<IN? ,ADVENTURER ,HERE>
|
||||
<COND (<EQUAL? <META-LOC ,ADVENTURER> ,HERE>
|
||||
<TELL
|
||||
"\"My programming is insufficient to allow me to perform that task.\"" CR>)>
|
||||
<RTRUE>)>)
|
||||
|
@ -1357,9 +1368,9 @@ safety deposit boxes for the customer. On the north side of the room is a
|
|||
sign which reads \"Viewing Room\". On the ">
|
||||
<COND (<EQUAL? ,HERE ,TELLER-WEST> <TELL "west">)
|
||||
(T <TELL "east">)>
|
||||
<TELL " side of the room, above an open door, is a sign reading||
|
||||
|
||||
BANK PERSONNEL ONLY|
|
||||
<TELL " side of the room, above an open door, is a sign reading:|
|
||||
|
|
||||
BANK PERSONNEL ONLY|
|
||||
" CR>)>>
|
||||
|
||||
<ROUTINE SCOL-OBJECT ("OPTIONAL" (OBJ <>))
|
||||
|
@ -1448,8 +1459,16 @@ here, but we can make this ONE exception, I suppose...\" He looks
|
|||
askance at you over his wire-rimmed bifocals." CR>
|
||||
<MOVE ,GNOME-OF-ZURICH ,HERE>)>)>>
|
||||
|
||||
<ROUTINE BOX-F ()
|
||||
<TELL "The gnome clutches it possessively." CR>>
|
||||
|
||||
<ROUTINE ZGNOME-FCN ()
|
||||
<COND (<AND <VERB? GIVE THROW> <EQUAL? ,PRSI ,GNOME-OF-ZURICH>>
|
||||
<COND (<VERB? TELL>
|
||||
<SETG P-CONT <>>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<TELL
|
||||
"The gnome appears increasingly impatient." CR>)
|
||||
(<AND <VERB? GIVE THROW> <EQUAL? ,PRSI ,GNOME-OF-ZURICH>>
|
||||
<COND (<GETPT ,PRSO ,P?VALUE>
|
||||
<TELL
|
||||
"The gnome carefully places the " D ,PRSO " in the
|
||||
|
@ -1949,7 +1968,24 @@ Unfortunately, wishing makes the coin go...." CR>
|
|||
<TELL "The lamp is turned off.">)>
|
||||
<CRLF>)>>
|
||||
|
||||
<ROUTINE LIGHT-INT (OBJ INTNAM TBLNAM "AUX" (TBL <VALUE .TBLNAM>) TICK)
|
||||
<ROUTINE I-LANTERN ("AUX" TICK (TBL <VALUE LAMP-TABLE>))
|
||||
<ENABLE <QUEUE I-LANTERN <SET TICK <GET .TBL 0>>>>
|
||||
<LIGHT-INT ,LAMP .TBL .TICK>
|
||||
<COND (<NOT <0? .TICK>>
|
||||
<SETG LAMP-TABLE <REST .TBL 4>>)>>
|
||||
|
||||
<ROUTINE LIGHT-INT (OBJ TBL TICK)
|
||||
<COND (<0? .TICK>
|
||||
<FCLEAR .OBJ ,ONBIT>
|
||||
<FSET .OBJ ,RMUNGBIT>)>
|
||||
<COND (<OR <HELD? .OBJ> <IN? .OBJ ,HERE>>
|
||||
<COND (<0? .TICK>
|
||||
<TELL
|
||||
"You'd better have more light than from the " D .OBJ "." CR>)
|
||||
(T
|
||||
<TELL <GET .TBL 1> CR>)>)>>
|
||||
|
||||
;<ROUTINE LIGHT-INT (OBJ INTNAM TBLNAM "AUX" (TBL <VALUE .TBLNAM>) TICK)
|
||||
#DECL ((OBJ) OBJECT (TBLNAM INTNAM) ATOM (TBL) <PRIMTYPE VECTOR>
|
||||
(TICK) FIX)
|
||||
<ENABLE <QUEUE .INTNAM <SET TICK <GET .TBL 0>>>>
|
||||
|
@ -2521,9 +2557,10 @@ leading west." CR>
|
|||
T>
|
||||
|
||||
<ROUTINE DRAGON-LEAVES ()
|
||||
<MOVE ,DRAGON ,DRAGON-ROOM>
|
||||
<SETG DRAGON-ANGER 0>
|
||||
<DISABLE <INT I-DRAGON>>>
|
||||
<COND (<NOT <LOC ,DEAD-DRAGON>>
|
||||
<MOVE ,DRAGON ,DRAGON-ROOM>
|
||||
<SETG DRAGON-ANGER 0>
|
||||
<DISABLE <INT I-DRAGON>>)>>
|
||||
|
||||
<ROUTINE I-GARDEN ()
|
||||
<COND (<OR <EQUAL? ,HERE ,GARDEN-NORTH ,GAZEBO-ROOM>
|
||||
|
@ -2673,12 +2710,19 @@ the young woman.">)>
|
|||
<TELL "There is no princess here." CR>)
|
||||
(<VERB? ATTACK MUNG RAPE>
|
||||
<REMOVE ,PRINCESS>
|
||||
<JIGS-UP
|
||||
<TELL
|
||||
"The princess screams as you approach. \"Won't someone deliver
|
||||
me from this awful fate?\" she cries. Just in time, the Wizard of Frobozz
|
||||
appears, seeming to unroll himself out of nothing like a window shade.
|
||||
\"Fry!\" he intones, and a massive bolt of lightning reduces you to a pile
|
||||
of smoking ashes. (Serves you right, too, if you ask me.)">)
|
||||
me from this awful fate?\" she cries. ">
|
||||
<COND (<IN? ,WIZARD ,HERE>
|
||||
<TELL
|
||||
"Shocked, the Wizard of Frobozz turns toward you.">)
|
||||
(ELSE
|
||||
<TELL "Just in time, the Wizard of Frobozz
|
||||
appears, seeming to unroll himself out of nothing like a window shade.">)>
|
||||
<TELL
|
||||
" \"Fry!\" he intones, and a massive bolt of lightning reduces you to a pile
|
||||
of smoking ashes. (Serves you right, too, if you ask me.)">
|
||||
<JIGS-UP>)
|
||||
(<OR <HELLO? ,PRINCESS> <VERB? ALARM KISS EXAMINE RUB>>
|
||||
<COND (<AND <IN? ,PRINCESS ,DRAGON-LAIR>
|
||||
<EQUAL? <GET .DEM ,C-ENABLED?> 0>>
|
||||
|
@ -2834,7 +2878,7 @@ southwest. On this side of the menhir is carved an ornate letter \"F\"." CR>)
|
|||
<TELL "There is a huge menhir here." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"There is a huge menhir floating like a feather in mid-air here. A
|
||||
"There is a huge menhir floating like a feather in midair here. A
|
||||
passage to the southwest opens beneath it." CR>)>
|
||||
<COND (<EQUAL? ,HERE ,MUNGED-ROOM>
|
||||
<TELL
|
||||
|
@ -3110,7 +3154,10 @@ aquarium." CR>)>)
|
|||
"The " D .OBJ " bounces harmlessly off the glass." CR>)>)>>
|
||||
|
||||
<ROUTINE SERPENT-FCN ()
|
||||
<COND (<VERB? ATTACK MUNG>
|
||||
<COND (<EQUAL? ,SERPENT ,WINNER>
|
||||
<TELL
|
||||
"The serpent only stares hungrily at you." CR>)
|
||||
(<VERB? ATTACK MUNG>
|
||||
<TELL
|
||||
"He swims towards you with a powerful stroke of his flippers, dagger-like
|
||||
teeth dripping. Fortunately, he doesn't want to crash into the aquarium
|
||||
|
@ -3252,11 +3299,17 @@ He seems somewhat chagrined to have to admit this." CR>
|
|||
<TELL
|
||||
"The demon laughs uproariously." CR>)
|
||||
(<AND <VERB? GIVE> <EQUAL? ,PRSI ,GENIE>>
|
||||
<COND (<AND <EQUAL? ,PRSO ,IRON-BOX> <IN? ,VIOLIN ,PRSO>>
|
||||
<COND (<AND <EQUAL? ,PRSO ,IRON-BOX>
|
||||
<IN? ,VIOLIN ,PRSO>>
|
||||
<TELL
|
||||
"The genie frowns briefly, then opens the box. He smiles horribly." CR>
|
||||
"The genie frowns briefly, then ">
|
||||
<COND (<FSET? ,PRSO ,OPENBIT> <TELL "looks inside">)
|
||||
(ELSE <TELL "opens">)>
|
||||
<TELL " the box. He smiles horribly." CR>
|
||||
<REMOVE-CAREFULLY ,IRON-BOX>
|
||||
<SETG PRSO ,VIOLIN>)>
|
||||
<COND (<GETPT ,PRSO ,P?VALUE>
|
||||
<COND (<AND <GETPT ,PRSO ,P?VALUE>
|
||||
<NOT <EQUAL? ,PRSO ,SWORD>>>
|
||||
<REMOVE-CAREFULLY ,PRSO>
|
||||
<SETG GENIE-HOARD <+ ,GENIE-HOARD 1>>
|
||||
<SCORE-UPD 2>
|
||||
|
@ -3327,6 +3380,7 @@ and are not great services bought at great price?"
|
|||
power." CR>)
|
||||
(<AND <VERB? PUT PUT-ON> <EQUAL? ,PRSO ,PALANTIR-4>>
|
||||
<REMOVE ,PALANTIR-4>
|
||||
<FCLEAR ,GENIE ,INVISIBLE>
|
||||
<MOVE ,GENIE ,PENTAGRAM-ROOM>
|
||||
<TELL
|
||||
"A cold wind blows outward from the sphere. The candles flicker, and a
|
||||
|
@ -3451,12 +3505,15 @@ to have gotten into quite a pickle.\" He chuckles. \"Fluoresce!\" he
|
|||
incants. It is no longer dark." CR>
|
||||
<RTRUE>)>
|
||||
<COND (<AND <LOC ,WIZARD> <PROB 80>>
|
||||
<COND (<IN? ,WIZARD ,HERE>
|
||||
<COND (<AND ,LIT <IN? ,WIZARD ,HERE>>
|
||||
<TELL "The Wizard vanishes." CR>)>
|
||||
<REMOVE ,WIZARD>
|
||||
<RTRUE>)>
|
||||
<COND (<PROB 10>
|
||||
<COND (<EQUAL? ,HERE ,POSTS-ROOM ,POOL-ROOM>
|
||||
<COND (<NOT ,LIT>
|
||||
<TELL
|
||||
"You feel a slight outrush of air as something moves nearby." CR>)
|
||||
(<EQUAL? ,HERE ,POSTS-ROOM ,POOL-ROOM>
|
||||
<TELL
|
||||
"A huge and terrible wizard appears before you, as large as the largest
|
||||
tree! He looks down on you as you would look upon a gnat!" CR>)
|
||||
|
@ -3470,15 +3527,23 @@ grins sideways at you." CR>)
|
|||
He is wearing a high pointed hat embroidered with astrological signs.
|
||||
He has a long, stringy, and unkempt beard." CR>)>
|
||||
<COND (<IN? ,PALANTIR-4 ,ADVENTURER>
|
||||
<TELL
|
||||
<COND (,LIT
|
||||
<TELL
|
||||
"The Wizard notices that you carry the Black Crystal, and with an
|
||||
unseemly haste, he disappears." CR>
|
||||
unseemly haste, he disappears." CR>)
|
||||
(ELSE
|
||||
<TELL
|
||||
"You feel a sudden inrush of air as though something disappeared." CR>)>
|
||||
<REMOVE ,WIZARD>
|
||||
<RTRUE>)
|
||||
(<PROB 20>
|
||||
<TELL
|
||||
<COND (,LIT
|
||||
<TELL
|
||||
"He mutters something (muffled by his beard) and disappears as suddenly
|
||||
as he came." CR>
|
||||
as he came." CR>)
|
||||
(ELSE
|
||||
<TELL
|
||||
"You hear low, confused muttering." CR>)>
|
||||
<REMOVE ,WIZARD>
|
||||
<RTRUE>)>
|
||||
<COND (<IN? ,PALANTIR-1 ,ADVENTURER>
|
||||
|
@ -3488,9 +3553,14 @@ as he came." CR>
|
|||
<COND (<IN? ,PALANTIR-3 ,ADVENTURER>
|
||||
<SET PCNT <+ .PCNT 1>>)>
|
||||
<SET CAST-PROB <- 80 <* .PCNT 20>>>
|
||||
<TELL
|
||||
<COND (,LIT
|
||||
<TELL
|
||||
"The Wizard draws forth his wand and waves it in your direction. It
|
||||
begins to glow with a faint blue glow." CR>
|
||||
begins to glow with a faint blue glow." CR>)
|
||||
(ELSE
|
||||
<TELL
|
||||
"Suddenly, illuminated by the faint blue glow of a magic wand pointed
|
||||
in your direction, you see the Wizard!" CR>)>
|
||||
<COND (<PROB .CAST-PROB>
|
||||
<MOVE ,WIZARD ,HERE>
|
||||
<SETG SPELL? <RANDOM ,SPELLS>>
|
||||
|
@ -3501,7 +3571,7 @@ begins to glow with a faint blue glow." CR>
|
|||
<COND (<PROB 75>
|
||||
<TELL
|
||||
"The Wizard, in a deep and resonant voice, speaks the word \""
|
||||
<GET ,SPELL-NAMES ,SPELL?> "!\" He cackles gleefully." CR>)
|
||||
<GET ,SPELL-NAMES ,SPELL?> "!\" He then vanishes, cackling gleefully." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"The Wizard, almost inaudibly, whispers a word beginning with \"F,\"
|
||||
|
@ -3640,7 +3710,7 @@ again."
|
|||
<REPEAT ()
|
||||
<COND (<NOT .X> <RETURN .ROBBED?>)>
|
||||
<SET N <NEXT? .X>>
|
||||
<COND (<RIPOFF .N .WHERE> <SET ROBBED? T>)>
|
||||
<COND (<RIPOFF .X .WHERE> <SET ROBBED? T>)>
|
||||
<SET X .N>>>
|
||||
|
||||
<ROUTINE RIPOFF (X WHERE)
|
||||
|
@ -3886,9 +3956,9 @@ The rose almost seemed to move its thorns into your path." CR>)>>
|
|||
<TELL "." CR>
|
||||
,SCORE>
|
||||
|
||||
<ROUTINE JIGS-UP (DESC "OPTIONAL" (PLAYER? <>))
|
||||
#DECL ((DESC) STRING (PLAYER?) <OR ATOM FALSE>)
|
||||
<TELL .DESC CR>
|
||||
<ROUTINE JIGS-UP ("OPTIONAL" (DESC <>) (PLAYER? <>))
|
||||
#DECL ((PLAYER?) <OR ATOM FALSE>)
|
||||
<COND (.DESC <TELL .DESC CR>)>
|
||||
<COND (<NOT <EQUAL? ,ADVENTURER ,WINNER>>
|
||||
<TELL "
|
||||
| **** The " D ,WINNER " has died ****
|
||||
|
@ -3925,7 +3995,6 @@ up completely, but you can't have everything." CR CR>
|
|||
<ROUTINE RANDOMIZE-OBJECTS ("AUX" (R <>) F N L)
|
||||
<COND (<IN? ,LAMP ,WINNER>
|
||||
<MOVE ,LAMP ,INSIDE-BARROW>)>
|
||||
<PUTP ,SWORD ,P?VALUE 0>
|
||||
<SET N <FIRST? ,WINNER>>
|
||||
<REPEAT ()
|
||||
<SET F .N>
|
||||
|
|
|
@ -0,0 +1,109 @@
|
|||
|
||||
|
||||
.FUNCT GO
|
||||
START::
|
||||
|
||||
?FCN: PUTB P-LEXV,0,59
|
||||
CALL QUEUE,I-WIZARD,4
|
||||
PUT STACK,0,1
|
||||
CALL QUEUE,I-LANTERN,200
|
||||
PUTP BALLOON,P?VTYPE,NONLANDBIT
|
||||
PUTP BUCKET,P?VTYPE,NONLANDBIT
|
||||
PUTP SEWL,P?SIZE,P?EAST
|
||||
PUTP SWWL,P?SIZE,P?WEST
|
||||
PUTP SSWL,P?SIZE,P?SOUTH
|
||||
PUTP SNWL,P?SIZE,P?NORTH
|
||||
SET 'LIT,TRUE-VALUE
|
||||
SET 'WINNER,ADVENTURER
|
||||
SET 'PLAYER,ADVENTURER
|
||||
SET 'HERE,INSIDE-BARROW
|
||||
SET 'P-IT-OBJECT,FALSE-VALUE
|
||||
FSET? HERE,TOUCHBIT /?CND1
|
||||
CALL V-VERSION
|
||||
CRLF
|
||||
?CND1: MOVE WINNER,HERE
|
||||
CALL V-LOOK
|
||||
CALL MAIN-LOOP
|
||||
JUMP ?FCN
|
||||
|
||||
|
||||
.FUNCT HEDGES-F
|
||||
EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
PRINTR "The hedges are shaped like various animals: dogs, serpents, dragons, and the like, and they are vaguely troubling to look at."
|
||||
|
||||
|
||||
.FUNCT LT-CRACK-PSEUDO
|
||||
EQUAL? PRSA,V?THROUGH,V?BOARD \?ELS5
|
||||
CALL DO-WALK,P?SOUTH
|
||||
RTRUE
|
||||
?ELS5: CALL CC-CRACK-PSEUDO
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT CC-CRACK-PSEUDO
|
||||
EQUAL? PRSA,V?BOARD,V?THROUGH \?ELS5
|
||||
CALL DO-WALK,P?NORTH
|
||||
RTRUE
|
||||
?ELS5: PRINTR "The crack is fairly wide. You should be able to get into it."
|
||||
|
||||
|
||||
.FUNCT GLOBAL-MENHIR-F
|
||||
PRINTR "It's not here."
|
||||
|
||||
|
||||
.FUNCT GLOBAL-CERBERUS-F
|
||||
PRINTR "He's not here."
|
||||
|
||||
|
||||
.FUNCT CRACK-PSEUDO
|
||||
EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
PRINTR "It is a small crack (as advertised) with no redeeming value."
|
||||
|
||||
|
||||
.FUNCT ALICE-HOLE
|
||||
EQUAL? PRSA,V?EXAMINE \?ELS5
|
||||
PRINTR "The hole is very small. You could never enter it."
|
||||
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS9
|
||||
PRINTR "You can't see what's beyond the hole from here."
|
||||
?ELS9: EQUAL? PRSA,V?PUT \FALSE
|
||||
EQUAL? PRSI,PSEUDO-OBJECT \FALSE
|
||||
PRINTR "It doesn't fit through the hole."
|
||||
|
||||
|
||||
.FUNCT SLOT-F
|
||||
EQUAL? PRSA,V?LOOK-INSIDE \?ELS5
|
||||
FIRST? SLOT /?ELS5
|
||||
PRINTR "There's nothing in the hole."
|
||||
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
PRINTR "The oblong hole has been chipped out of the box, probably by someone wanting whatever is inside the box. The attempt was a pathetic failure, however."
|
||||
|
||||
|
||||
.FUNCT TEAPOT-F
|
||||
EQUAL? PRSA,V?CLOSE \FALSE
|
||||
PRINTR "The teapot has no lid."
|
||||
|
||||
|
||||
.FUNCT ROSE-F
|
||||
EQUAL? PRSA,V?SMELL \?ELS5
|
||||
PRINTR "Unlike your efforts here, it comes out smelling like a rose."
|
||||
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
PRINTR "A rose is a rose is a rose...."
|
||||
|
||||
|
||||
.FUNCT FOOTPAD-F
|
||||
EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
PRINTR "A footpad is a thief."
|
||||
|
||||
|
||||
.FUNCT COMPASS-F
|
||||
EQUAL? PRSA,V?FIND \?ELS5
|
||||
PRINTR "It's on your person. And lucky for you, or you would become hopelessly lost."
|
||||
?ELS5: EQUAL? PRSA,V?OVERBOARD,V?THROW,V?DROP \?ELS9
|
||||
PRINTR "You can't get rid of it. It is an extension of yourself."
|
||||
?ELS9: EQUAL? PRSA,V?EXAMINE \?ELS13
|
||||
PRINTR "It's one of those gizmos with a needle and a card with the eight major compass directions. Simple, but effective."
|
||||
?ELS13: EQUAL? PRSA,V?READ \?ELS17
|
||||
PRINTR "It doesn't make very interesting reading - just the compass directions."
|
||||
?ELS17: PRINTR "You can't do that. And don't bother to ask why."
|
||||
|
||||
.ENDI
|
51
2dungeon.zil
51
2dungeon.zil
|
@ -5,6 +5,7 @@
|
|||
<DIRECTIONS NORTH EAST WEST SOUTH NE NW SE SW UP DOWN IN OUT LAND CROSS>
|
||||
|
||||
<ROUTINE GO ()
|
||||
<PUTB ,P-LEXV 0 59>
|
||||
;"put interrupts on clock chain"
|
||||
<ENABLE <QUEUE I-WIZARD 4>>
|
||||
<QUEUE I-LANTERN 200>
|
||||
|
@ -20,7 +21,6 @@
|
|||
<SETG WINNER ,ADVENTURER>
|
||||
<SETG PLAYER ,ADVENTURER>
|
||||
<SETG HERE ,INSIDE-BARROW>
|
||||
<SETG P-IT-LOC ,HERE>
|
||||
<SETG P-IT-OBJECT <>>
|
||||
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
||||
<V-VERSION>
|
||||
|
@ -656,11 +656,15 @@ On the wall is crudely chiseled the number \"8\".")
|
|||
(SYNONYM MENHIR ROCK STONE)
|
||||
(ADJECTIVE HUGE HEAVY ENORMOUS)
|
||||
(FLAGS NDESCBIT READBIT)
|
||||
(ACTION GLOBAL-MENHIR-F)
|
||||
(DESC "enormous menhir")>
|
||||
|
||||
<ROUTINE GLOBAL-MENHIR-F ()
|
||||
<TELL "It's not here." CR>>
|
||||
|
||||
<OBJECT MENHIR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(SYNONYM MENHIR ROCK STONE)
|
||||
(SYNONYM MENHIR ROCK STONE F)
|
||||
(ADJECTIVE HUGE HEAVY ENORMOUS)
|
||||
(FLAGS NDESCBIT READBIT TURNBIT)
|
||||
(DESC "enormous menhir")
|
||||
|
@ -864,8 +868,12 @@ up from a gateway arch.")
|
|||
(IN LOCAL-GLOBALS)
|
||||
(SYNONYM CERBERUS DOG HOUND MONSTER)
|
||||
(ADJECTIVE HUGE GIANT THREE HEADED)
|
||||
(ACTION GLOBAL-CERBERUS-F)
|
||||
(DESC "three-headed dog")>
|
||||
|
||||
<ROUTINE GLOBAL-CERBERUS-F ()
|
||||
<TELL "He's not here." CR>>
|
||||
|
||||
<OBJECT CERBERUS
|
||||
(IN CERBERUS-ROOM)
|
||||
(SYNONYM CERBERUS DOG HOUND MONSTER)
|
||||
|
@ -1559,7 +1567,7 @@ less objective) may be found in Flathead's outrageous autobiography
|
|||
\"I'm Rich and You Aren't - So There!\".
|
||||
Most of the furniture has been ravaged by passing scavengers. All
|
||||
that remains are two signs at the northwest and northeast corners of
|
||||
the room, which say|
|
||||
the room, which say:|
|
||||
|
|
||||
<-- VIEWING ROOMS -->|
|
||||
|
|
||||
|
@ -1595,7 +1603,7 @@ The way out (ornate but tasteful) is to the east.
|
|||
(IN ROOMS)
|
||||
(LDESC
|
||||
"This room was used by holders of safety deposit boxes to view
|
||||
their contents. On the north side of the room is a sign which says|
|
||||
their contents. On the north side of the room is a sign which says:|
|
||||
|
|
||||
\"Remain here while the teller retrieves your safety deposit box.
|
||||
When you are finished, leave the box, and exit to the south.
|
||||
|
@ -1752,13 +1760,12 @@ Hello, Aviator!|
|
|||
To land your balloon, say LAND|
|
||||
Otherwise, you're on your own!|
|
||||
|
|
||||
No warranty expressed or implied.
|
||||
|")>
|
||||
No warranty expressed or implied.")>
|
||||
|
||||
<OBJECT SAFE
|
||||
(IN SAFE-ROOM)
|
||||
(SYNONYM SAFE BOX)
|
||||
(ADJECTIVE STEEL)
|
||||
(ADJECTIVE STEEL RUSTY)
|
||||
(DESC "box")
|
||||
(FLAGS CONTBIT NDESCBIT)
|
||||
(ACTION SAFE-FCN)
|
||||
|
@ -1852,7 +1859,8 @@ of explosives in this room is strictly prohibited!|
|
|||
(ADJECTIVE GAUDY)
|
||||
(DESC "gaudy crown")
|
||||
(FLAGS STAGGERED TAKEBIT WEARBIT)
|
||||
(FDESC "The excessively gaudy crown of Lord Dimwit Flathead is here.")
|
||||
(FDESC
|
||||
"The excessively gaudy crown of Lord Dimwit Flathead sits in the safe.")
|
||||
(LDESC "Lord Dimwit's crown is here.")
|
||||
(SIZE 10)
|
||||
(VALUE 20)>
|
||||
|
@ -1921,8 +1929,7 @@ simple household functions.|
|
|||
|
|
||||
>ROBOT, <things to do>|
|
||||
|
|
||||
At your service!
|
||||
") >
|
||||
At your service!") >
|
||||
|
||||
<OBJECT SLOT
|
||||
(IN SAFE-ROOM)
|
||||
|
@ -2167,7 +2174,7 @@ these ancients were, isn't it?)")
|
|||
(SYNONYM BOOK BOOKS)
|
||||
(ADJECTIVE PURPLE)
|
||||
(DESC "purple book")
|
||||
(FLAGS READBIT TAKEBIT CONTBIT BURNBIT)
|
||||
(FLAGS READBIT TAKEBIT CONTBIT SEARCHBIT BURNBIT)
|
||||
(LDESC
|
||||
"Lying in the dust, and covered with mold, is a purple book.")
|
||||
(CAPACITY 2)
|
||||
|
@ -2383,10 +2390,18 @@ seems to walk through ... walls ...\"")>
|
|||
(SYNONYM GNOME ZURICH)
|
||||
(ADJECTIVE ZURICH)
|
||||
(DESC "Gnome of Zurich")
|
||||
(FLAGS ACTORBIT)
|
||||
(FLAGS ACTORBIT CONTBIT OPENBIT)
|
||||
(ACTION ZGNOME-FCN)
|
||||
(LDESC "There is a Gnome of Zurich here.")>
|
||||
|
||||
<OBJECT DEPOSIT-BOX
|
||||
(IN GNOME-OF-ZURICH)
|
||||
(SYNONYM BOX)
|
||||
(ADJECTIVE DEPOSIT SAFETY)
|
||||
(DESC "safety deposit box")
|
||||
(FLAGS NDESCBIT TAKEBIT TRYTAKEBIT)
|
||||
(ACTION BOX-F)>
|
||||
|
||||
;"PALANTIR SECTION"
|
||||
|
||||
<OBJECT PDOOR
|
||||
|
@ -2512,8 +2527,7 @@ Empire. Local grues have been reported sharpening their (slavering)
|
|||
fangs....|
|
||||
|
|
||||
\"Zork II: The Wizard of Frobozz\" was written by Dave Lebling and Marc
|
||||
Blank, and is (c) Copyright 1981, 1982, 1983 by Infocom, Inc.|
|
||||
|")>
|
||||
Blank, and is (c) Copyright 1981, 1982, 1983 by Infocom, Inc.")>
|
||||
|
||||
<OBJECT PLACE-MAT
|
||||
(IN GAZEBO-TABLE)
|
||||
|
@ -2590,9 +2604,9 @@ Blank, and is (c) Copyright 1981, 1982, 1983 by Infocom, Inc.|
|
|||
<OBJECT GENIE
|
||||
(SYNONYM DEVIL DEMON GENIE DJINN)
|
||||
(DESC "demon")
|
||||
(FLAGS ACTORBIT)
|
||||
(FLAGS ACTORBIT INVISIBLE)
|
||||
(ACTION GENIE-FCN)
|
||||
(LDESC "There is a demon floating in mid-air here.")>
|
||||
(LDESC "There is a demon floating in midair here.")>
|
||||
|
||||
<OBJECT WIZARD
|
||||
(SYNONYM WIZARD MAGICIAN SORCEROR MAN)
|
||||
|
@ -2616,13 +2630,12 @@ Blank, and is (c) Copyright 1981, 1982, 1983 by Infocom, Inc.|
|
|||
(IN INSIDE-BARROW)
|
||||
(SYNONYM SWORD ORCRIST GLAMDRING BLADE)
|
||||
(ADJECTIVE ELVISH OLD ANTIQUE)
|
||||
(DESC "sword")
|
||||
(DESC "elvish sword")
|
||||
(FLAGS TAKEBIT WEAPONBIT TRYTAKEBIT)
|
||||
(ACTION SWORD-FCN)
|
||||
(LDESC "An Elvish sword of great antiquity is here.")
|
||||
(FDESC "A sword of Elvish workmanship is on the ground.")
|
||||
(SIZE 30)
|
||||
(VALUE 0)>
|
||||
(SIZE 30)>
|
||||
|
||||
<OBJECT REPELLENT
|
||||
(IN ROOM-8)
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
|
||||
|
||||
.FUNCT QUEUE,RTN,TICK,CINT
|
||||
CALL INT,RTN >CINT
|
||||
PUT CINT,C-TICK,TICK
|
||||
RETURN CINT
|
||||
|
||||
|
||||
.FUNCT INT,RTN,DEMON=0,E,C,INT
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
ADD C-TABLE,C-INTS >C
|
||||
?PRG1: EQUAL? C,E \?ELS5
|
||||
SUB C-INTS,C-INTLEN >C-INTS
|
||||
ZERO? DEMON /?ELS7
|
||||
SUB C-DEMONS,C-INTLEN >C-DEMONS
|
||||
?ELS7: ADD C-TABLE,C-INTS >INT
|
||||
PUT INT,C-RTN,RTN
|
||||
RETURN INT
|
||||
?ELS5: GET C,C-RTN
|
||||
EQUAL? STACK,RTN \?CND3
|
||||
RETURN C
|
||||
?CND3: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT CLOCKER,C,E,TICK,FLG=0
|
||||
ZERO? CLOCK-WAIT /?CND1
|
||||
SET 'CLOCK-WAIT,FALSE-VALUE
|
||||
RFALSE
|
||||
?CND1: ZERO? P-WON /?ELS9
|
||||
PUSH C-INTS
|
||||
JUMP ?CND5
|
||||
?ELS9: PUSH C-DEMONS
|
||||
?CND5: ADD C-TABLE,STACK >C
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
?PRG13: EQUAL? C,E \?ELS17
|
||||
INC 'MOVES
|
||||
RETURN FLG
|
||||
?ELS17: GET C,C-ENABLED?
|
||||
ZERO? STACK /?CND15
|
||||
GET C,C-TICK >TICK
|
||||
ZERO? TICK \?ELS22
|
||||
JUMP ?CND15
|
||||
?ELS22: SUB TICK,1
|
||||
PUT C,C-TICK,STACK
|
||||
GRTR? TICK,1 /?CND20
|
||||
GET C,C-RTN
|
||||
CALL STACK
|
||||
ZERO? STACK /?CND20
|
||||
SET 'FLG,TRUE-VALUE
|
||||
?CND20:
|
||||
?CND15: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG13
|
||||
|
||||
.ENDI
|
|
@ -18,11 +18,6 @@
|
|||
|
||||
<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>
|
||||
|
@ -52,8 +47,7 @@
|
|||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<COND (<G? <SETG MOVES <+ ,MOVES 1>> 999>
|
||||
<SETG MOVES 0>)>
|
||||
<SETG MOVES <+ ,MOVES 1>>
|
||||
<RETURN .FLG>)
|
||||
(<NOT <0? <GET .C ,C-ENABLED?>>>
|
||||
<SET TICK <GET .C ,C-TICK>>
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
|
||||
|
||||
.FUNCT NOT-HERE-OBJECT-F,TBL,PRSO?=1,OBJ
|
||||
EQUAL? PRSO,NOT-HERE-OBJECT \?ELS3
|
||||
EQUAL? PRSI,NOT-HERE-OBJECT \?ELS3
|
||||
PRINTR "Those things aren't here!"
|
||||
?ELS3: EQUAL? PRSO,NOT-HERE-OBJECT \?ELS9
|
||||
SET 'TBL,P-PRSO
|
||||
JUMP ?CND1
|
||||
?ELS9: SET 'TBL,P-PRSI
|
||||
SET 'PRSO?,FALSE-VALUE
|
||||
?CND1: SET 'P-CONT,FALSE-VALUE
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
EQUAL? WINNER,PLAYER \?ELS14
|
||||
PRINTI "You can't see any "
|
||||
CALL NOT-HERE-PRINT,PRSO?
|
||||
PRINTR " here!"
|
||||
?ELS14: PRINTI "The "
|
||||
PRINTD WINNER
|
||||
PRINTI " seems confused. ""I don't see any "
|
||||
CALL NOT-HERE-PRINT,PRSO?
|
||||
PRINTR " here!"""
|
||||
|
||||
|
||||
.FUNCT NOT-HERE-PRINT,PRSO?,?TMP1
|
||||
ZERO? P-OFLAG /?ELS5
|
||||
ZERO? P-XADJ /?CND7
|
||||
PRINTB P-XADJN
|
||||
?CND7: ZERO? P-XNAM /FALSE
|
||||
PRINTB P-XNAM
|
||||
RTRUE
|
||||
?ELS5: ZERO? PRSO? /?ELS18
|
||||
GET P-ITBL,P-NC1 >?TMP1
|
||||
GET P-ITBL,P-NC1L
|
||||
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
|
||||
RSTACK
|
||||
?ELS18: GET P-ITBL,P-NC2 >?TMP1
|
||||
GET P-ITBL,P-NC2L
|
||||
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT NULL-F,A1,A2
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT STAIRS-F
|
||||
EQUAL? PRSA,V?THROUGH \FALSE
|
||||
PRINTR "You should say whether you want to go up or down."
|
||||
|
||||
|
||||
.FUNCT SAILOR-FCN
|
||||
EQUAL? PRSA,V?TELL \?ELS5
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
PRINTR "You can't talk to the sailor that way."
|
||||
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
|
||||
PRINTR "There is no sailor to be seen."
|
||||
?ELS9: EQUAL? PRSA,V?HELLO \FALSE
|
||||
INC 'HS
|
||||
MOD HS,20
|
||||
ZERO? STACK \?ELS18
|
||||
PRINTR "You seem to be repeating yourself."
|
||||
?ELS18: MOD HS,10
|
||||
ZERO? STACK \?ELS22
|
||||
PRINTR "I think that phrase is getting a bit worn out."
|
||||
?ELS22: PRINTR "Nothing happens here."
|
||||
|
||||
|
||||
.FUNCT GROUND-FUNCTION
|
||||
EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS5
|
||||
EQUAL? PRSI,GROUND \?ELS5
|
||||
CALL PERFORM,V?DROP,PRSO
|
||||
RTRUE
|
||||
?ELS5: CALL NULL-F
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?DIG \FALSE
|
||||
PRINTR "The ground is too hard for digging here."
|
||||
|
||||
|
||||
.FUNCT GRUE-FUNCTION
|
||||
EQUAL? PRSA,V?EXAMINE \?ELS5
|
||||
PRINTR "The grue is a sinister, lurking presence in the dark places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale."
|
||||
?ELS5: EQUAL? PRSA,V?FIND \?ELS9
|
||||
PRINTR "There is no grue here, but I'm sure there is at least one lurking in the darkness nearby. I wouldn't let my light go out if I were you!"
|
||||
?ELS9: EQUAL? PRSA,V?LISTEN \FALSE
|
||||
PRINTR "It makes no sound but is always lurking in the darkness nearby."
|
||||
|
||||
|
||||
.FUNCT CRETIN-FCN
|
||||
EQUAL? PRSA,V?TELL \?ELS5
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
PRINTR "Talking to yourself is said to be a sign of impending mental collapse."
|
||||
?ELS5: EQUAL? PRSA,V?GIVE \?ELS9
|
||||
EQUAL? PRSI,ME \?ELS9
|
||||
CALL PERFORM,V?TAKE,PRSO
|
||||
RTRUE
|
||||
?ELS9: EQUAL? PRSA,V?MAKE \?ELS13
|
||||
PRINTR "Only you can do that."
|
||||
?ELS13: EQUAL? PRSA,V?DISEMBARK \?ELS17
|
||||
PRINTR "You'll have to do that on your own."
|
||||
?ELS17: EQUAL? PRSA,V?EAT \?ELS21
|
||||
PRINTR "Auto-cannibalism is not the answer."
|
||||
?ELS21: EQUAL? PRSA,V?MUNG,V?ATTACK \?ELS25
|
||||
ZERO? PRSI /?ELS30
|
||||
FSET? PRSI,WEAPONBIT \?ELS30
|
||||
CALL JIGS-UP,STR?167
|
||||
RSTACK
|
||||
?ELS30: PRINTR "Suicide is not the answer."
|
||||
?ELS25: EQUAL? PRSA,V?THROW \?ELS38
|
||||
EQUAL? PRSO,ME \FALSE
|
||||
PRINTR "Why don't you just walk like normal people?"
|
||||
?ELS38: EQUAL? PRSA,V?TAKE \?ELS47
|
||||
PRINTR "How romantic!"
|
||||
?ELS47: EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
CALL NULL-F
|
||||
ZERO? STACK \TRUE
|
||||
PRINTR "That's difficult unless your eyes are prehensile."
|
||||
|
||||
|
||||
.FUNCT PATH-OBJECT
|
||||
EQUAL? PRSA,V?FOLLOW,V?TAKE \?ELS5
|
||||
PRINTR "You must specify a direction to go."
|
||||
?ELS5: EQUAL? PRSA,V?FIND \?ELS9
|
||||
PRINTR "I can't help you there...."
|
||||
?ELS9: EQUAL? PRSA,V?DIG \FALSE
|
||||
PRINTR "Not a chance."
|
||||
|
||||
|
||||
.FUNCT ZORKMID-FUNCTION
|
||||
EQUAL? PRSA,V?EXAMINE \?ELS5
|
||||
PRINTR "The zorkmid is the unit of currency of the Great Underground Empire."
|
||||
?ELS5: EQUAL? PRSA,V?FIND \FALSE
|
||||
PRINTR "The best way to find zorkmids is to go out and look for them."
|
||||
|
||||
.ENDI
|
74
gglobals.zil
74
gglobals.zil
|
@ -64,40 +64,40 @@
|
|||
<SETG P-CONT <>>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<COND (<EQUAL? ,WINNER ,PLAYER>
|
||||
<TELL "You can't see any">
|
||||
<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">
|
||||
<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)
|
||||
;<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 (,DEBUG
|
||||
;<COND (,DEBUG
|
||||
<TELL "[Moby-found " N .M-F " objects" "]" CR>)>
|
||||
<COND (<AND <G? .M-F 1>
|
||||
<SET OBJ <GETP <1 .TBL> ,P?GLOBAL>>>
|
||||
<SET OBJ <GETP <GET .TBL 1> ,P?GLOBAL>>>
|
||||
<SET M-F 1>
|
||||
<SETG P-MOBY-FOUND .OBJ>)>
|
||||
<COND (<==? 1 .M-F>
|
||||
<COND (,DEBUG <TELL "[Namely: " D ,P-MOBY-FOUND "]" CR>)>
|
||||
;<COND (,DEBUG <TELL "[Namely: " D ,P-MOBY-FOUND "]" CR>)>
|
||||
<COND (.PRSO? <SETG PRSO ,P-MOBY-FOUND>)
|
||||
(T <SETG PRSI ,P-MOBY-FOUND>)>
|
||||
<RFALSE>)
|
||||
(<NOT .PRSO?>
|
||||
<TELL "You wouldn't find any">
|
||||
<TELL "You wouldn't find any ">
|
||||
<NOT-HERE-PRINT .PRSO?>
|
||||
<TELL " there." CR>
|
||||
<RTRUE>)
|
||||
(T ,NOT-HERE-OBJECT)>>
|
||||
|
||||
<ROUTINE GLOBAL-NOT-HERE-PRINT (OBJ)
|
||||
;<ROUTINE GLOBAL-NOT-HERE-PRINT (OBJ)
|
||||
;<COND (,P-MULT <SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>)>
|
||||
<SETG P-CONT <>>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
|
@ -108,8 +108,8 @@
|
|||
|
||||
<ROUTINE NOT-HERE-PRINT (PRSO?)
|
||||
<COND (,P-OFLAG
|
||||
<COND (,P-XADJ <TELL " "> <PRINTB ,P-XADJN>)>
|
||||
<COND (,P-XNAM <TELL " "> <PRINTB ,P-XNAM>)>)
|
||||
<COND (,P-XADJ <PRINTB ,P-XADJN>)>
|
||||
<COND (,P-XNAM <PRINTB ,P-XNAM>)>)
|
||||
(.PRSO?
|
||||
<BUFFER-PRINT <GET ,P-ITBL ,P-NC1> <GET ,P-ITBL ,P-NC1L> <>>)
|
||||
(T
|
||||
|
@ -147,13 +147,26 @@
|
|||
|
||||
<OBJECT SAILOR
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM SAILOR)
|
||||
(SYNONYM SAILOR FOOTPAD AVIATOR)
|
||||
(DESC "sailor")
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION SAILOR-FCN)>
|
||||
|
||||
<ROUTINE SAILOR-FCN ()
|
||||
<COND (<VERB? HELLO>
|
||||
<COND (<VERB? TELL>
|
||||
<SETG P-CONT <>>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<TELL "You can't talk to the sailor that way." CR>)
|
||||
(<VERB? EXAMINE>
|
||||
%<COND (<==? ,ZORK-NUMBER 3>
|
||||
'<COND (<NOT <FSET? ,VIKING-SHIP ,INVISIBLE>>
|
||||
<TELL
|
||||
"He looks like a sailor." CR>
|
||||
<RTRUE>)>)
|
||||
(ELSE T)>
|
||||
<TELL
|
||||
"There is no sailor to be seen." CR>)
|
||||
(<VERB? HELLO>
|
||||
<SETG HS <+ ,HS 1>>
|
||||
%<COND (<==? ,ZORK-NUMBER 3>
|
||||
'<COND (<NOT <FSET? ,VIKING-SHIP ,INVISIBLE>>
|
||||
|
@ -169,16 +182,17 @@ off toward the west, singing a lively, but somewhat uncouth, sailor song." CR>
|
|||
<COND (,SHIP-GONE
|
||||
<TELL "Nothing happens anymore." CR>)
|
||||
(T
|
||||
<TELL "Nothing happens yet." CR>)>)>)
|
||||
<TELL "Nothing happens yet." CR>)>)
|
||||
(T <TELL "Nothing happens here." CR>)>)
|
||||
(T
|
||||
'<NULL-F>)>
|
||||
<COND (<0? <MOD ,HS 20>>
|
||||
<TELL "You seem to be repeating yourself." CR>)
|
||||
(<0? <MOD ,HS 10>>
|
||||
<TELL
|
||||
'<COND (<0? <MOD ,HS 20>>
|
||||
<TELL
|
||||
"You seem to be repeating yourself." CR>)
|
||||
(<0? <MOD ,HS 10>>
|
||||
<TELL
|
||||
"I think that phrase is getting a bit worn out." CR>)
|
||||
(T
|
||||
<TELL "Nothing happens here." CR>)>)>>
|
||||
(T
|
||||
<TELL "Nothing happens here." CR>)>)>)>>
|
||||
|
||||
<OBJECT GROUND
|
||||
(IN GLOBAL-OBJECTS)
|
||||
|
@ -258,6 +272,10 @@ you!" CR>)
|
|||
<JIGS-UP "If you insist.... Poof, you're dead!">)
|
||||
(T
|
||||
<TELL "Suicide is not the answer." CR>)>)
|
||||
(<VERB? THROW>
|
||||
<COND (<==? ,PRSO ,ME>
|
||||
<TELL
|
||||
"Why don't you just walk like normal people?" CR>)>)
|
||||
(<VERB? TAKE>
|
||||
<TELL "How romantic!" CR>)
|
||||
(<VERB? EXAMINE>
|
||||
|
@ -265,11 +283,19 @@ you!" CR>)
|
|||
'(<EQUAL? ,HERE <LOC ,MIRROR-1> <LOC ,MIRROR-2>>
|
||||
<TELL
|
||||
"Your image in the mirror looks tired." CR>))
|
||||
(<==? ,ZORK-NUMBER 3>
|
||||
'(,INVIS
|
||||
<TELL
|
||||
"A good trick, as you are currently invisible." CR>))
|
||||
(T
|
||||
'(<NULL-F> <RTRUE>))>
|
||||
(T
|
||||
<TELL
|
||||
"That's difficult unless your eyes are prehensile." CR>)>)>>
|
||||
%<COND (<==? ,ZORK-NUMBER 3>
|
||||
'<TELL
|
||||
"What you can see looks pretty much as usual, sorry to say." CR>)
|
||||
(ELSE
|
||||
'<TELL
|
||||
"That's difficult unless your eyes are prehensile." CR>)>)>)>>
|
||||
|
||||
<OBJECT ADVENTURER
|
||||
(SYNONYM ADVENTURER)
|
||||
|
@ -280,9 +306,9 @@ you!" CR>)
|
|||
|
||||
<OBJECT PATHOBJ
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM PASSAGE CRAWLWAY TRAIL PATH)
|
||||
(SYNONYM TRAIL PATH)
|
||||
(ADJECTIVE FOREST NARROW LONG WINDING)
|
||||
(DESC "way")
|
||||
(DESC "passage")
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION PATH-OBJECT)>
|
||||
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
|
||||
.FUNCT ZPROB,BASE
|
||||
ZERO? LUCKY /?ELS5
|
||||
RANDOM 100
|
||||
GRTR? BASE,STACK /TRUE
|
||||
RFALSE
|
||||
?ELS5: RANDOM 300
|
||||
GRTR? BASE,STACK /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT RANDOM-ELEMENT,FROB
|
||||
GET FROB,0
|
||||
RANDOM STACK
|
||||
GET FROB,STACK
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT PICK-ONE,FROB,L,CNT,RND,MSG,RFROB
|
||||
GET FROB,0 >L
|
||||
GET FROB,1 >CNT
|
||||
DEC 'L
|
||||
ADD FROB,2 >FROB
|
||||
MUL CNT,2
|
||||
ADD FROB,STACK >RFROB
|
||||
SUB L,CNT
|
||||
RANDOM STACK >RND
|
||||
GET RFROB,RND >MSG
|
||||
GET RFROB,1
|
||||
PUT RFROB,RND,STACK
|
||||
PUT RFROB,1,MSG
|
||||
INC 'CNT
|
||||
EQUAL? CNT,L \?CND1
|
||||
SET 'CNT,0
|
||||
?CND1: PUT FROB,0,CNT
|
||||
RETURN MSG
|
||||
|
||||
.ENDI
|
|
@ -45,11 +45,11 @@
|
|||
<FORM GETP .O .E>>>)>)>)
|
||||
(<TYPE? .E STRING ZSTRING>
|
||||
<MAPRET <FORM PRINTI .E>>)
|
||||
(<TYPE? .E FORM>
|
||||
(<TYPE? .E FORM LVAL GVAL>
|
||||
<MAPRET <FORM PRINT .E>>)
|
||||
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
|
||||
|
||||
<ROUTINE PRINTA (O)
|
||||
;<ROUTINE PRINTA (O)
|
||||
<TELL "a " D .O>>
|
||||
|
||||
<DEFMAC VERB? ("ARGS" ATMS)
|
||||
|
|
|
@ -0,0 +1,238 @@
|
|||
|
||||
|
||||
.FUNCT MAIN-LOOP,TRASH
|
||||
?PRG1: CALL MAIN-LOOP-1 >TRASH
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT MAIN-LOOP-1,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,O,I
|
||||
SET 'CNT,0
|
||||
SET 'OBJ,FALSE-VALUE
|
||||
SET 'PTBL,TRUE-VALUE
|
||||
CALL PARSER >P-WON
|
||||
ZERO? P-WON /?ELS3
|
||||
GET P-PRSI,P-MATCHLEN >ICNT
|
||||
GET P-PRSO,P-MATCHLEN >OCNT
|
||||
ZERO? P-IT-OBJECT /?CND4
|
||||
CALL ACCESSIBLE?,P-IT-OBJECT
|
||||
ZERO? STACK /?CND4
|
||||
SET 'TMP,FALSE-VALUE
|
||||
?PRG9: IGRTR? 'CNT,ICNT \?ELS13
|
||||
JUMP ?REP10
|
||||
?ELS13: GET P-PRSI,CNT
|
||||
EQUAL? STACK,IT \?PRG9
|
||||
PUT P-PRSI,CNT,P-IT-OBJECT
|
||||
SET 'TMP,TRUE-VALUE
|
||||
?REP10: ZERO? TMP \?CND19
|
||||
SET 'CNT,0
|
||||
?PRG22: IGRTR? 'CNT,OCNT \?ELS26
|
||||
JUMP ?CND19
|
||||
?ELS26: GET P-PRSO,CNT
|
||||
EQUAL? STACK,IT \?PRG22
|
||||
PUT P-PRSO,CNT,P-IT-OBJECT
|
||||
?CND19: SET 'CNT,0
|
||||
?CND4: ZERO? OCNT \?ELS36
|
||||
PUSH OCNT
|
||||
JUMP ?CND32
|
||||
?ELS36: GRTR? OCNT,1 \?ELS38
|
||||
SET 'TBL,P-PRSO
|
||||
ZERO? ICNT \?ELS41
|
||||
SET 'OBJ,FALSE-VALUE
|
||||
JUMP ?CND39
|
||||
?ELS41: GET P-PRSI,1 >OBJ
|
||||
?CND39: PUSH OCNT
|
||||
JUMP ?CND32
|
||||
?ELS38: GRTR? ICNT,1 \?ELS45
|
||||
SET 'PTBL,FALSE-VALUE
|
||||
SET 'TBL,P-PRSI
|
||||
GET P-PRSO,1 >OBJ
|
||||
PUSH ICNT
|
||||
JUMP ?CND32
|
||||
?ELS45: PUSH 1
|
||||
?CND32: SET 'NUM,STACK
|
||||
ZERO? OBJ \?CND48
|
||||
EQUAL? ICNT,1 \?CND48
|
||||
GET P-PRSI,1 >OBJ
|
||||
?CND48: EQUAL? PRSA,V?WALK \?ELS55
|
||||
ZERO? P-WALK-DIR /?ELS55
|
||||
CALL PERFORM,PRSA,PRSO >V
|
||||
JUMP ?CND53
|
||||
?ELS55: ZERO? NUM \?ELS59
|
||||
GETB P-SYNTAX,P-SBITS
|
||||
BAND STACK,P-SONUMS
|
||||
ZERO? STACK \?ELS62
|
||||
CALL PERFORM,PRSA >V
|
||||
SET 'PRSO,FALSE-VALUE
|
||||
JUMP ?CND53
|
||||
?ELS62: ZERO? LIT \?ELS64
|
||||
PRINTI "It's too dark to see."
|
||||
CRLF
|
||||
JUMP ?CND53
|
||||
?ELS64: PRINTI "It's not clear what you're referring to."
|
||||
CRLF
|
||||
SET 'V,FALSE-VALUE
|
||||
JUMP ?CND53
|
||||
?ELS59: SET 'P-NOT-HERE,0
|
||||
SET 'P-MULT,FALSE-VALUE
|
||||
GRTR? NUM,1 \?CND73
|
||||
SET 'P-MULT,TRUE-VALUE
|
||||
?CND73: SET 'TMP,FALSE-VALUE
|
||||
?PRG76: IGRTR? 'CNT,NUM \?ELS80
|
||||
GRTR? P-NOT-HERE,0 \?ELS83
|
||||
PRINTI "The "
|
||||
EQUAL? P-NOT-HERE,NUM /?CND86
|
||||
PRINTI "other "
|
||||
?CND86: PRINTI "object"
|
||||
EQUAL? P-NOT-HERE,1 /?CND93
|
||||
PRINTI "s"
|
||||
?CND93: PRINTI " that you mentioned "
|
||||
EQUAL? P-NOT-HERE,1 /?ELS102
|
||||
PRINTI "are"
|
||||
JUMP ?CND100
|
||||
?ELS102: PRINTI "is"
|
||||
?CND100: PRINTI "n't here."
|
||||
CRLF
|
||||
JUMP ?REP77
|
||||
?ELS83: ZERO? TMP \?REP77
|
||||
PRINTI "There's nothing here you can take."
|
||||
CRLF
|
||||
JUMP ?REP77
|
||||
?ELS80: ZERO? PTBL /?ELS119
|
||||
GET P-PRSO,CNT >OBJ1
|
||||
JUMP ?CND117
|
||||
?ELS119: GET P-PRSI,CNT >OBJ1
|
||||
?CND117: ZERO? PTBL /?ELS127
|
||||
PUSH OBJ1
|
||||
JUMP ?CND123
|
||||
?ELS127: PUSH OBJ
|
||||
?CND123: SET 'O,STACK
|
||||
ZERO? PTBL /?ELS135
|
||||
PUSH OBJ
|
||||
JUMP ?CND131
|
||||
?ELS135: PUSH OBJ1
|
||||
?CND131: SET 'I,STACK
|
||||
GRTR? NUM,1 /?THN142
|
||||
GET P-ITBL,P-NC1
|
||||
GET STACK,0
|
||||
EQUAL? STACK,W?ALL \?CND139
|
||||
?THN142: LOC WINNER >V
|
||||
EQUAL? O,NOT-HERE-OBJECT \?ELS146
|
||||
INC 'P-NOT-HERE
|
||||
JUMP ?PRG76
|
||||
?ELS146: EQUAL? PRSA,V?TAKE \?ELS148
|
||||
ZERO? I /?ELS148
|
||||
GET P-ITBL,P-NC1
|
||||
GET STACK,0
|
||||
EQUAL? STACK,W?ALL \?ELS148
|
||||
IN? O,I /?ELS148
|
||||
JUMP ?PRG76
|
||||
?ELS148: EQUAL? P-GETFLAGS,P-ALL \?ELS152
|
||||
EQUAL? PRSA,V?TAKE \?ELS152
|
||||
LOC O
|
||||
EQUAL? STACK,WINNER,HERE,V /?ELS158
|
||||
LOC O
|
||||
EQUAL? STACK,I /?ELS158
|
||||
LOC O
|
||||
FSET? STACK,SURFACEBIT \?PRG76
|
||||
?ELS158: FSET? O,TAKEBIT /?ELS152
|
||||
FSET? O,TRYTAKEBIT /?ELS152
|
||||
JUMP ?PRG76
|
||||
?ELS152: EQUAL? OBJ1,IT \?ELS165
|
||||
PRINTD P-IT-OBJECT
|
||||
JUMP ?CND163
|
||||
?ELS165: PRINTD OBJ1
|
||||
?CND163: PRINTI ": "
|
||||
?CND139: SET 'PRSO,O
|
||||
SET 'PRSI,I
|
||||
SET 'TMP,TRUE-VALUE
|
||||
CALL PERFORM,PRSA,PRSO,PRSI >V
|
||||
EQUAL? V,M-FATAL \?PRG76
|
||||
JUMP ?CND53
|
||||
?REP77:
|
||||
?CND53: EQUAL? V,M-FATAL /?CND173
|
||||
LOC WINNER
|
||||
GETP STACK,P?ACTION
|
||||
CALL STACK,M-END >V
|
||||
?CND173: EQUAL? V,M-FATAL \?CND1
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
JUMP ?CND1
|
||||
?ELS3: SET 'P-CONT,FALSE-VALUE
|
||||
?CND1: CALL NULL-F
|
||||
ZERO? P-WON /FALSE
|
||||
EQUAL? PRSA,V?SUPER-BRIEF,V?BRIEF,V?TELL /TRUE
|
||||
EQUAL? PRSA,V?VERSION,V?SAVE,V?VERBOSE /TRUE
|
||||
EQUAL? PRSA,V?SCORE,V?RESTART,V?QUIT /TRUE
|
||||
EQUAL? PRSA,V?RESTORE,V?UNSCRIPT,V?SCRIPT /TRUE
|
||||
CALL CLOCKER >V
|
||||
RETURN V
|
||||
|
||||
|
||||
.FUNCT PERFORM,A,O=0,I=0,V,OA,OO,OI
|
||||
SET 'OA,PRSA
|
||||
SET 'OO,PRSO
|
||||
SET 'OI,PRSI
|
||||
EQUAL? IT,I,O \?CND1
|
||||
CALL ACCESSIBLE?,P-IT-OBJECT
|
||||
ZERO? STACK \?CND1
|
||||
PRINTI "I don't see what you are referring to."
|
||||
CRLF
|
||||
RETURN 2
|
||||
?CND1: EQUAL? O,IT \?CND10
|
||||
SET 'O,P-IT-OBJECT
|
||||
?CND10: EQUAL? I,IT \?CND13
|
||||
SET 'I,P-IT-OBJECT
|
||||
?CND13: SET 'PRSA,A
|
||||
SET 'PRSO,O
|
||||
ZERO? PRSO /?CND16
|
||||
EQUAL? PRSI,IT /?CND16
|
||||
EQUAL? PRSA,V?WALK /?CND16
|
||||
SET 'P-IT-OBJECT,PRSO
|
||||
?CND16: SET 'PRSI,I
|
||||
EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?ELS23
|
||||
CALL NOT-HERE-OBJECT-F >V
|
||||
ZERO? V /?ELS23
|
||||
JUMP ?CND21
|
||||
?ELS23: SET 'O,PRSO
|
||||
SET 'I,PRSI
|
||||
GETP WINNER,P?ACTION
|
||||
CALL STACK >V
|
||||
ZERO? V /?ELS30
|
||||
JUMP ?CND21
|
||||
?ELS30: LOC WINNER
|
||||
GETP STACK,P?ACTION
|
||||
CALL STACK,M-BEG >V
|
||||
ZERO? V /?ELS32
|
||||
JUMP ?CND21
|
||||
?ELS32: GET PREACTIONS,A
|
||||
CALL STACK >V
|
||||
ZERO? V /?ELS34
|
||||
JUMP ?CND21
|
||||
?ELS34: ZERO? I /?ELS36
|
||||
GETP I,P?ACTION
|
||||
CALL STACK >V
|
||||
ZERO? V /?ELS36
|
||||
JUMP ?CND21
|
||||
?ELS36: ZERO? O /?ELS40
|
||||
EQUAL? A,V?WALK /?ELS40
|
||||
LOC O
|
||||
ZERO? STACK /?ELS40
|
||||
LOC O
|
||||
GETP STACK,P?CONTFCN
|
||||
CALL STACK >V
|
||||
ZERO? V /?ELS40
|
||||
JUMP ?CND21
|
||||
?ELS40: ZERO? O /?ELS44
|
||||
EQUAL? A,V?WALK /?ELS44
|
||||
GETP O,P?ACTION
|
||||
CALL STACK >V
|
||||
ZERO? V /?ELS44
|
||||
JUMP ?CND21
|
||||
?ELS44: GET ACTIONS,A
|
||||
CALL STACK >V
|
||||
ZERO? V /?CND21
|
||||
?CND21: SET 'PRSA,OA
|
||||
SET 'PRSO,OO
|
||||
SET 'PRSI,OI
|
||||
RETURN V
|
||||
|
||||
.ENDI
|
139
gmain.zil
139
gmain.zil
|
@ -2,6 +2,8 @@
|
|||
The ZORK Trilogy
|
||||
started on 7/28/83 by MARC"
|
||||
|
||||
<CONSTANT SERIAL 0>
|
||||
|
||||
<GLOBAL PLAYER <>>
|
||||
|
||||
<GLOBAL P-WON <>>
|
||||
|
@ -26,20 +28,42 @@
|
|||
|
||||
<CONSTANT M-OBJDESC 5>
|
||||
|
||||
<GLOBAL DEBUG <>>
|
||||
|
||||
;"GO now lives in SPECIAL.ZIL"
|
||||
|
||||
|
||||
<ROUTINE MAIN-LOOP ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
|
||||
<REPEAT ()
|
||||
<ROUTINE MAIN-LOOP ("AUX" TRASH)
|
||||
<REPEAT ()
|
||||
<SET TRASH <MAIN-LOOP-1>>>>
|
||||
|
||||
<ROUTINE MAIN-LOOP-1 ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP O I)
|
||||
<SET CNT 0>
|
||||
<SET OBJ <>>
|
||||
<SET PTBL T>
|
||||
<COND (<SETG P-WON <PARSER>>
|
||||
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
|
||||
<SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>
|
||||
<COND (<AND ,P-IT-OBJECT <ACCESSIBLE? ,P-IT-OBJECT>>
|
||||
<SET TMP <>>
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> .ICNT>
|
||||
<RETURN>)
|
||||
(T
|
||||
<COND (<EQUAL? <GET ,P-PRSI .CNT> ,IT>
|
||||
<PUT ,P-PRSI .CNT ,P-IT-OBJECT>
|
||||
<SET TMP T>
|
||||
<RETURN>)>)>>
|
||||
<COND (<NOT .TMP>
|
||||
<SET CNT 0>
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> .OCNT>
|
||||
<RETURN>)
|
||||
(T
|
||||
<COND (<EQUAL? <GET ,P-PRSO .CNT> ,IT>
|
||||
<PUT ,P-PRSO .CNT ,P-IT-OBJECT>
|
||||
<RETURN>)>)>>)>
|
||||
<SET CNT 0>)>
|
||||
<SET NUM
|
||||
<COND (<0? <SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>> .OCNT)
|
||||
<COND (<0? .OCNT> .OCNT)
|
||||
(<G? .OCNT 1>
|
||||
<SET TBL ,P-PRSO>
|
||||
<COND (<0? .ICNT> <SET OBJ <>>)
|
||||
|
@ -52,7 +76,9 @@
|
|||
.ICNT)
|
||||
(T 1)>>
|
||||
<COND (<AND <NOT .OBJ> <1? .ICNT>> <SET OBJ <GET ,P-PRSI 1>>)>
|
||||
<COND (<==? ,PRSA ,V?WALK> <SET V <PERFORM ,PRSA ,PRSO>>)
|
||||
<COND (<AND <==? ,PRSA ,V?WALK>
|
||||
<NOT <ZERO? ,P-WALK-DIR>>>
|
||||
<SET V <PERFORM ,PRSA ,PRSO>>)
|
||||
(<0? .NUM>
|
||||
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
|
||||
<SET V <PERFORM ,PRSA>>
|
||||
|
@ -83,51 +109,42 @@
|
|||
<TELL "n't here." CR>)
|
||||
(<NOT .TMP>
|
||||
<TELL
|
||||
"There's nothing here to take." CR>)>
|
||||
"There's nothing here you can take." 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 (<OR <G? .NUM 1>
|
||||
<EQUAL? <GET <GET ,P-ITBL ,P-NC1>
|
||||
0>
|
||||
,W?ALL>>
|
||||
<SET V <LOC ,WINNER>>
|
||||
<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
|
||||
.V>>
|
||||
<NOT <FSET?
|
||||
<LOC .OBJ1>
|
||||
,SURFACEBIT>>>
|
||||
<NOT <OR <FSET? .OBJ1
|
||||
,TAKEBIT>
|
||||
<FSET? .OBJ1
|
||||
,TRYTAKEBIT>>>>>
|
||||
<AGAIN>)
|
||||
(T
|
||||
<COND (<EQUAL? .OBJ1 ,IT>
|
||||
<PRINTD ,P-IT-OBJECT>)
|
||||
(T <PRINTD .OBJ1>)>
|
||||
<TELL ": ">)>)>
|
||||
<SET O <COND (.PTBL .OBJ1) (T .OBJ)>>
|
||||
<SET I <COND (.PTBL .OBJ) (T .OBJ1)>>
|
||||
|
||||
;"multiple exceptions"
|
||||
<COND (<OR <G? .NUM 1>
|
||||
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALL>>
|
||||
<SET V <LOC ,WINNER>>
|
||||
<COND (<EQUAL? .O ,NOT-HERE-OBJECT>
|
||||
<SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>
|
||||
<AGAIN>)
|
||||
(<AND <VERB? TAKE>
|
||||
.I
|
||||
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALL>
|
||||
<NOT <IN? .O .I>>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
|
||||
<VERB? TAKE>
|
||||
<OR <AND <NOT <EQUAL? <LOC .O> ,WINNER ,HERE .V>>
|
||||
<NOT <EQUAL? <LOC .O> .I>>
|
||||
<NOT <FSET? <LOC .O> ,SURFACEBIT>>>
|
||||
<NOT <OR <FSET? .O ,TAKEBIT>
|
||||
<FSET? .O ,TRYTAKEBIT>>>>>
|
||||
<AGAIN>)
|
||||
(ELSE
|
||||
<COND (<EQUAL? .OBJ1 ,IT>
|
||||
<PRINTD ,P-IT-OBJECT>)
|
||||
(T <PRINTD .OBJ1>)>
|
||||
<TELL ": ">)>)>
|
||||
;"end multiple exceptions"
|
||||
<SETG PRSO .O>
|
||||
<SETG PRSI .I>
|
||||
<SET TMP T>
|
||||
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
|
||||
<COND (<==? .V ,M-FATAL> <RETURN>)>)>>)>
|
||||
|
@ -135,7 +152,8 @@
|
|||
;<COND (<==? <LOC ,WINNER> ,PRSO>
|
||||
<SETG PRSO <>>)>
|
||||
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
|
||||
<COND (<VERB? AGAIN WALK SAVE RESTORE SCORE VERSION ;WAIT> T)
|
||||
;<COND (<VERB? ;AGAIN ;"WALK -- why was this here?"
|
||||
SAVE RESTORE ;SCORE ;VERSION ;WAIT> T)
|
||||
(T
|
||||
<SETG L-PRSA ,PRSA>
|
||||
<SETG L-PRSO ,PRSO>
|
||||
|
@ -143,17 +161,16 @@
|
|||
<COND (<==? .V ,M-FATAL> <SETG P-CONT <>>)>)
|
||||
(T
|
||||
<SETG P-CONT <>>)>
|
||||
%<COND (<==? ,ZORK-NUMBER 3>
|
||||
'<COND (<NOT ,CLEFT-QUEUED?>
|
||||
<ENABLE <QUEUE I-CLEFT <+ 70 <RANDOM 70>>>>
|
||||
<SETG CLEFT-QUEUED? T>)>)
|
||||
(ELSE '<NULL-F>)>
|
||||
<COND (,P-WON
|
||||
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION
|
||||
QUIT RESTART SCORE SCRIPT UNSCRIPT RESTORE> T)
|
||||
(T <SET V <CLOCKER>>)>)>>>
|
||||
(T <SET V <CLOCKER>>)>)>>
|
||||
|
||||
<GLOBAL L-PRSA <>>
|
||||
|
||||
<GLOBAL L-PRSO <>>
|
||||
|
||||
<GLOBAL L-PRSI <>>
|
||||
|
||||
<GLOBAL P-MULT <>>
|
||||
|
||||
<GLOBAL P-NOT-HERE 0>
|
||||
|
@ -163,7 +180,7 @@
|
|||
%<COND (<GASSIGNED? PREDGEN>
|
||||
|
||||
'<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
|
||||
<COND (,DEBUG
|
||||
;<COND (,DEBUG
|
||||
<TELL "[Perform: ">
|
||||
%<COND (<GASSIGNED? PREDGEN> '<TELL N .A>)
|
||||
(T '<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>)>
|
||||
|
@ -175,7 +192,7 @@
|
|||
<SET OO ,PRSO>
|
||||
<SET OI ,PRSI>
|
||||
<COND (<AND <EQUAL? ,IT .I .O>
|
||||
<NOT <EQUAL? ,P-IT-LOC ,HERE>>>
|
||||
<NOT <ACCESSIBLE? ,P-IT-OBJECT>>>
|
||||
<TELL "I don't see what you are referring to." CR>
|
||||
<RFATAL>)>
|
||||
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
||||
|
@ -183,8 +200,7 @@
|
|||
<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 P-IT-OBJECT ,PRSO>)>
|
||||
<SETG PRSI .I>
|
||||
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||
<SET V <NOT-HERE-OBJECT-F>>> .V)
|
||||
|
@ -228,7 +244,7 @@
|
|||
<SET OO ,PRSO>
|
||||
<SET OI ,PRSI>
|
||||
<COND (<AND <EQUAL? ,IT .I .O>
|
||||
<NOT <EQUAL? ,P-IT-LOC ,HERE>>>
|
||||
<NOT <ACCESSIBLE? ,P-IT-OBJECT>>>
|
||||
<TELL "I don't see what you are referring to." CR>
|
||||
<RFATAL>)>
|
||||
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
||||
|
@ -236,8 +252,7 @@
|
|||
<SETG PRSA .A>
|
||||
<SETG PRSO .O>
|
||||
<COND (<AND ,PRSO <NOT <VERB? WALK>>>
|
||||
<SETG P-IT-OBJECT ,PRSO>
|
||||
<SETG P-IT-LOC ,HERE>)>
|
||||
<SETG P-IT-OBJECT ,PRSO>)>
|
||||
<SETG PRSI .I>
|
||||
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>> .V)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
1134
gparser.zil
1134
gparser.zil
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,117 @@
|
|||
|
||||
;COMPARISON OF SS:<ZORK2>GSYNTAX.ZIL.140 AND SS:<ZORK1>GSYNTAX.ZIL.141
|
||||
;OPTIONS ARE /3
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-9 (143)
|
||||
<BUZZ A AN THE IS AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y HERE
|
||||
FEEBLE FUMBLE FEAR FILCH FREEZE FALL FRY FLUORESCE
|
||||
FERMENT FIERCE FLOAT FIREPROOF FENCE FUDGE FANTASIZE
|
||||
FROTZ OZMOO>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-9 (143)
|
||||
<BUZZ A AN THE IS AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y HERE>
|
||||
<COND (<==? ,ZORK-NUMBER 2>
|
||||
<BUZZ FEEBLE FUMBLE FEAR FILCH FREEZE FALL FRY FLUORESCE
|
||||
FERMENT FIERCE FLOAT FIREPROOF FENCE FUDGE FANTASIZE
|
||||
FROTZ OZMOO>)>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-65 (1209)
|
||||
<SYNTAX DEBUG = V-DEBUG>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-67 (1250)
|
||||
<SYNTAX \#RANDOM OBJECT = V-RANDOM>
|
||||
<SYNTAX \#COMMAND = V-COMMAND-FILE>
|
||||
<SYNTAX \#RECORD = V-RECORD>
|
||||
<SYNTAX \#UNRECORD = V-UNRECORD>
|
||||
;<SYNTAX DEBUG = V-DEBUG>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-83 (1536)
|
||||
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-93 (1724)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-118 (2723)
|
||||
<SYNTAX CLIMB UP OBJECT (FIND RMUNGBIT) = V-CLIMB-UP>
|
||||
<SYNTAX CLIMB UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
|
||||
<SYNTAX CLIMB DOWN (FIND RMUNGBIT) = V-CLIMB-DOWN>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-127 (2840)
|
||||
<SYNTAX CLIMB UP = V-CLIMB-UP>
|
||||
<SYNTAX CLIMB UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
|
||||
<SYNTAX CLIMB DOWN = V-CLIMB-DOWN>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-153 (4098)
|
||||
<SYNTAX DIG IN OBJECT = V-DIG>
|
||||
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
|
||||
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM)
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-162 (4176)
|
||||
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
|
||||
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-188 (5237)
|
||||
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EXAMINE>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-196 (5283)
|
||||
<SYNTAX EXAMINE OBJECT (MANY) = V-EXAMINE>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-204 (5855)
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT) (TAKE HAVE HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH OBJECT = V-FILL PRE-FILL>
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT)
|
||||
(TAKE HAVE HELD CARRIED ON-GROUND IN-ROOM) = V-FILL PRE-FILL>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-212 (5870)
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH OBJECT = V-FILL PRE-FILL>
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT)
|
||||
(HELD CARRIED ON-GROUND IN-ROOM) = V-FILL PRE-FILL>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-254 (7326)
|
||||
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-262 (7321)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-319 (9832)
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-325 (9756)
|
||||
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-418 (13394)
|
||||
<SYNTAX SHAKE OBJECT = V-SHAKE>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-426 (13380)
|
||||
<SYNTAX SHAKE OBJECT (HAVE) = V-SHAKE>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-450 (14333)
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-458 (14326)
|
||||
<SYNTAX SWIM ACROSS OBJECT = V-SWIM>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-471 (15314)
|
||||
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) ABOUT OBJECT = V-TELL>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-480 (15345)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-494 (16312)
|
||||
WITH OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
|
||||
= V-TURN PRE-TURN>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-502 (16273)
|
||||
WITH OBJECT (FIND RMUNGBIT) = V-TURN PRE-TURN>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-512 (17130)
|
||||
<SYNONYM UNTIE FREE RELEASE UNFASTEN UNATTACH UNHOOK>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-519 (17052)
|
||||
<SYNONYM UNTIE FREE UNFASTEN UNATTACH UNHOOK>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GSYNTAX.ZIL.140, 1-535 (18021)
|
||||
<SYNTAX WAVE AT OBJECT = V-WAVE>
|
||||
<SYNONYM WAVE BRANDISH POINT AIM>
|
||||
**** FILE SS:<ZORK1>GSYNTAX.ZIL.141, 1-542 (17935)
|
||||
<SYNONYM WAVE BRANDISH>
|
||||
***************
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
.ENDI
|
78
gsyntax.zil
78
gsyntax.zil
|
@ -6,10 +6,16 @@
|
|||
|
||||
"Buzzwords, Prepositions and Directions"
|
||||
|
||||
<BUZZ A AN THE IS AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y HERE
|
||||
FEEBLE FUMBLE FEAR FILCH FREEZE FALL FRY FLUORESCE
|
||||
FERMENT FIERCE FLOAT FIREPROOF FENCE FUDGE FANTASIZE
|
||||
FROTZ OZMOO>
|
||||
<BUZZ AGAIN G OOPS>
|
||||
|
||||
<BUZZ A AN THE IS AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y HERE>
|
||||
|
||||
<COND (<==? ,ZORK-NUMBER 2>
|
||||
<BUZZ FEEBLE FUMBLE FEAR FILCH FREEZE FALL FRY FLUORESCE
|
||||
FERMENT FIERCE FLOAT FIREPROOF FENCE FUDGE FANTASIZE
|
||||
FROTZ OZMOO>)
|
||||
(<==? ,ZORK-NUMBER 3>
|
||||
<BUZZ FROTZ OZMOO>)>
|
||||
|
||||
<SYNONYM WITH USING THROUGH THRU>
|
||||
<SYNONYM IN INSIDE INTO>
|
||||
|
@ -62,7 +68,15 @@
|
|||
|
||||
<SYNTAX $VERIFY = V-VERIFY>
|
||||
|
||||
<SYNTAX DEBUG = V-DEBUG>
|
||||
<SYNTAX \#RANDOM OBJECT = V-RANDOM>
|
||||
|
||||
<SYNTAX \#COMMAND = V-COMMAND-FILE>
|
||||
|
||||
<SYNTAX \#RECORD = V-RECORD>
|
||||
|
||||
<SYNTAX \#UNRECORD = V-UNRECORD>
|
||||
|
||||
;<SYNTAX DEBUG = V-DEBUG>
|
||||
|
||||
^L
|
||||
|
||||
|
@ -71,8 +85,8 @@
|
|||
<SYNTAX ACTIVATE OBJECT (FIND LIGHTBIT)
|
||||
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
|
||||
|
||||
<SYNTAX AGAIN = V-AGAIN>
|
||||
<SYNONYM AGAIN G>
|
||||
;<SYNTAX AGAIN = V-AGAIN>
|
||||
;<SYNONYM AGAIN G>
|
||||
|
||||
<SYNTAX ANSWER = V-ANSWER>
|
||||
<SYNTAX ANSWER OBJECT = V-REPLY>
|
||||
|
@ -80,7 +94,10 @@
|
|||
|
||||
<SYNTAX APPLY OBJECT TO OBJECT = V-PUT PRE-PUT>
|
||||
|
||||
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
<COND (<==? ,ZORK-NUMBER 2>
|
||||
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
|
||||
= V-ATTACK>)>
|
||||
|
||||
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
|
||||
<SYNONYM ATTACK FIGHT HURT INJURE HIT>
|
||||
|
@ -117,7 +134,7 @@
|
|||
|
||||
<SYNTAX CLIMB UP OBJECT (FIND RMUNGBIT) = V-CLIMB-UP>
|
||||
<SYNTAX CLIMB UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
|
||||
<SYNTAX CLIMB DOWN (FIND RMUNGBIT) = V-CLIMB-DOWN>
|
||||
<SYNTAX CLIMB DOWN OBJECT (FIND RMUNGBIT) = V-CLIMB-DOWN>
|
||||
<SYNTAX CLIMB DOWN OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
|
||||
<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>
|
||||
|
@ -150,11 +167,11 @@
|
|||
<SYNTAX DESTROY IN OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-OPEN>
|
||||
<SYNONYM DESTROY DAMAGE BREAK BLOCK SMASH>
|
||||
|
||||
<SYNTAX DIG IN OBJECT = V-DIG>
|
||||
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
|
||||
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM) = V-DIG>
|
||||
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
|
||||
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
|
||||
|
||||
<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
|
||||
= V-DISEMBARK>
|
||||
|
@ -170,7 +187,7 @@
|
|||
<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-ON PRE-PUT>
|
||||
<SYNONYM DROP RELEASE>
|
||||
;<SYNONYM DROP RELEASE>
|
||||
|
||||
<SYNTAX EAT OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
= V-EAT>
|
||||
|
@ -185,7 +202,7 @@
|
|||
<SYNTAX EXIT = V-EXIT>
|
||||
<SYNTAX EXIT OBJECT = V-EXIT>
|
||||
|
||||
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EXAMINE>
|
||||
<SYNTAX EXAMINE OBJECT (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)
|
||||
|
@ -201,10 +218,10 @@
|
|||
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
|
||||
<SYNONYM EXTINGUISH DOUSE>
|
||||
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT) (TAKE HAVE HELD CARRIED ON-GROUND IN-ROOM)
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH OBJECT = V-FILL PRE-FILL>
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT)
|
||||
(TAKE HAVE HELD CARRIED ON-GROUND IN-ROOM) = V-FILL PRE-FILL>
|
||||
(HELD CARRIED ON-GROUND IN-ROOM) = V-FILL PRE-FILL>
|
||||
|
||||
<SYNTAX FIND OBJECT = V-FIND>
|
||||
<SYNONYM FIND WHERE SEEK SEE>
|
||||
|
@ -219,11 +236,9 @@
|
|||
TO OBJECT (FIND ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE>
|
||||
<SYNTAX GIVE OBJECT (FIND ACTORBIT) (ON-GROUND)
|
||||
OBJECT (MANY HELD HAVE) = V-SGIVE PRE-SGIVE>
|
||||
<SYNTAX HAND OBJECT (MANY HELD HAVE)
|
||||
TO OBJECT (FIND ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE>
|
||||
<SYNTAX HAND OBJECT (FIND ACTORBIT) (ON-GROUND)
|
||||
OBJECT (MANY HELD HAVE) = V-SGIVE PRE-SGIVE>
|
||||
<SYNONYM GIVE DONATE OFFER FEED>
|
||||
<COND (<N==? ,ZORK-NUMBER 3>
|
||||
<SYNONYM GIVE HAND>)>
|
||||
|
||||
<SYNTAX HATCH OBJECT = V-HATCH>
|
||||
|
||||
|
@ -237,8 +252,8 @@
|
|||
<SYNTAX INFLAT OBJECT WITH
|
||||
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED) = V-INFLATE>
|
||||
|
||||
<SYNTAX IS OBJECT IN OBJECT = V-IS-IN>
|
||||
<SYNTAX IS OBJECT ON OBJECT = V-IS-IN>
|
||||
;<SYNTAX IS OBJECT IN OBJECT = V-IS-IN>
|
||||
;<SYNTAX IS OBJECT ON OBJECT = V-IS-IN>
|
||||
|
||||
<SYNTAX JUMP = V-LEAP>
|
||||
<SYNTAX JUMP OVER OBJECT = V-LEAP>
|
||||
|
@ -251,7 +266,10 @@
|
|||
<SYNTAX KICK OBJECT = V-KICK>
|
||||
<SYNONYM KICK TAUNT>
|
||||
|
||||
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
<COND (<==? ,ZORK-NUMBER 2>
|
||||
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
|
||||
= V-ATTACK>)>
|
||||
|
||||
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
|
||||
<SYNONYM KILL MURDER SLAY DISPATCH>
|
||||
|
@ -312,9 +330,12 @@
|
|||
<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>
|
||||
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) TO OBJECT = V-PUSH-TO>
|
||||
<SYNTAX MOVE OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX MOVE OBJECT WITH OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
|
||||
<SYNTAX ROLL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
||||
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
||||
|
||||
<SYNTAX MUMBLE = V-MUMBLE>
|
||||
<SYNONYM MUMBLE SIGH>
|
||||
|
@ -415,7 +436,7 @@
|
|||
|
||||
<SYNTAX SEND FOR OBJECT = V-SEND>
|
||||
|
||||
<SYNTAX SHAKE OBJECT = V-SHAKE>
|
||||
<SYNTAX SHAKE OBJECT (HAVE) = V-SHAKE>
|
||||
|
||||
<SYNTAX SKIP = V-SKIP>
|
||||
<SYNONYM SKIP HOP>
|
||||
|
@ -447,6 +468,7 @@
|
|||
|
||||
<SYNTAX SWIM = V-SWIM>
|
||||
<SYNTAX SWIM IN OBJECT = V-SWIM>
|
||||
<SYNTAX SWIM ACROSS OBJECT = V-SWIM>
|
||||
<SYNONYM SWIM BATHE WADE>
|
||||
|
||||
<SYNTAX SWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-SWING>
|
||||
|
@ -456,7 +478,7 @@
|
|||
|
||||
<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 IN-ROOM) = V-DISEMBARK>
|
||||
<SYNTAX TAKE OUT OBJECT (FIND RMUNGBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
|
||||
<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<SYNTAX TAKE UP OBJECT (FIND RMUNGBIT) = V-STAND>
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||
|
@ -491,8 +513,7 @@
|
|||
<SYNONYM TREASURE TEMPLE>
|
||||
|
||||
<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>
|
||||
WITH OBJECT (FIND RMUNGBIT) = V-TURN PRE-TURN>
|
||||
<SYNTAX TURN ON OBJECT (FIND LIGHTBIT)
|
||||
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
|
||||
<SYNTAX TURN ON OBJECT WITH OBJECT (HAVE) = V-LAMP-ON>
|
||||
|
@ -518,6 +539,7 @@
|
|||
<SYNTAX WAKE UP OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
|
||||
<SYNONYM WAKE AWAKE SURPRISE STARTLE>
|
||||
|
||||
<SYNTAX WALK = V-WALK-AROUND>
|
||||
<SYNTAX WALK OBJECT = V-WALK>
|
||||
<SYNTAX WALK AWAY OBJECT = V-WALK>
|
||||
<SYNTAX WALK IN OBJECT = V-THROUGH>
|
||||
|
@ -533,7 +555,7 @@
|
|||
<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) = V-WAVE>
|
||||
<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) AT OBJECT = V-WAVE>
|
||||
<SYNTAX WAVE AT OBJECT = V-WAVE>
|
||||
<SYNONYM WAVE BRANDISH POINT AIM>
|
||||
<SYNONYM WAVE BRANDISH>
|
||||
|
||||
<SYNTAX WEAR OBJECT = V-WEAR>
|
||||
|
||||
|
|
|
@ -0,0 +1,392 @@
|
|||
|
||||
;COMPARISON OF SS:<ZORK2>GVERBS.ZIL.407 AND SS:<ZORK1>GVERBS.ZIL.391
|
||||
;OPTIONS ARE /3
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-82 (1812)
|
||||
Copyright (c) 1981, 1982, 1983 Infocom, Inc. ">)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-82 (1812)
|
||||
Copyright (c) 1981, 1982, 1983, 1984, 1985 Infocom, Inc. ">)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-86 (1984)
|
||||
Copyright (c) 1981, 1982, 1983, 1984 Infocom, Inc. ">)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-86 (1996)
|
||||
Copyright (c) 1981, 1982, 1983 Infocom, Inc. ">)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-112 (2750)
|
||||
<ROUTINE V-DEBUG ()
|
||||
<TELL "Turning debugging feature ">
|
||||
<COND (,DEBUG
|
||||
<SETG DEBUG <>>
|
||||
<TELL "off">)
|
||||
(T
|
||||
<SETG DEBUG T>
|
||||
<TELL "on">)>
|
||||
<TELL "." CR>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-112 (2756)
|
||||
<ROUTINE V-COMMAND-FILE ()
|
||||
<DIRIN 1>
|
||||
<RTRUE>>
|
||||
<ROUTINE V-RANDOM ()
|
||||
<COND (<NOT <EQUAL? ,PRSO ,INTNUM>>
|
||||
<TELL "Illegal call to #RND." CR>)
|
||||
(T
|
||||
<RANDOM <- 0 ,P-NUMBER>>
|
||||
<RTRUE>)>>
|
||||
<ROUTINE V-RECORD ()
|
||||
<DIROUT 4>
|
||||
<RTRUE>>
|
||||
<ROUTINE V-UNRECORD ()
|
||||
<DIROUT -4>
|
||||
<RTRUE>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-229 (5915)
|
||||
<ROUTINE PRE-BURN ()
|
||||
<COND (<NOT ,PRSI>
|
||||
<TELL "You should say what you want to burn it with." CR>)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-238 (6054)
|
||||
<ROUTINE TELL-NO-PRSI ()
|
||||
<TELL "You didn't say with what!" CR>>
|
||||
<ROUTINE PRE-BURN ()
|
||||
<COND (<NOT ,PRSI>
|
||||
<TELL-NO-PRSI>)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-245 (6360)
|
||||
<COND (<IN? ,PRSO ,WINNER>
|
||||
<REMOVE-CAREFULLY ,PRSO>
|
||||
<TELL "The " D ,PRSO>
|
||||
<JIGS-UP
|
||||
" catches fire. Unfortunately, you were holding it at the time.">)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-257 (6526)
|
||||
<COND (<OR <IN? ,PRSO ,WINNER>
|
||||
<IN? ,WINNER ,PRSO>>
|
||||
<REMOVE-CAREFULLY ,PRSO>
|
||||
<TELL "The " D ,PRSO>
|
||||
<TELL
|
||||
" catches fire. Unfortunately, you were ">
|
||||
<COND (<IN? ,WINNER ,PRSO>
|
||||
<TELL "in">)
|
||||
(T <TELL "holding">)>
|
||||
<JIGS-UP " it at the time.">)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-266 (6914)
|
||||
<COND %<COND (<==? ,ZORK-NUMBER 1>
|
||||
'(<FSET? ,PRSO ,VEHBIT>
|
||||
<V-CLIMB-UP ,P?UP ,PRSO>))
|
||||
(T
|
||||
'(<FSET? ,PRSO ,VEHBIT>
|
||||
<PERFORM ,V?BOARD ,PRSO>
|
||||
<RTRUE>))>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-283 (7216)
|
||||
<COND (<FSET? ,PRSO ,VEHBIT>
|
||||
<PERFORM ,V?BOARD ,PRSO>
|
||||
<RTRUE>)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-358 (9735)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-371 (9913)
|
||||
<COND (<IN? ,WINNER ,PRSO>
|
||||
<TELL
|
||||
"Not a bright idea, especially since you're in it." CR>
|
||||
<RTRUE>)>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-373 (10192)
|
||||
<COND (<FSET? ,PRSI ,TOOLBIT>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-390 (10493)
|
||||
<COND (<EQUAL? ,PRSI ,SHOVEL>
|
||||
<TELL "There's no reason to be digging here." CR>)
|
||||
(<FSET? ,PRSI ,TOOLBIT>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-440 (12400)
|
||||
<COND (<AND <SET EAT? <FSET? ,PRSO ,FOODBIT>> <IN? ,PRSO ,WINNER>>
|
||||
<COND (<VERB? DRINK>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-459 (12788)
|
||||
<COND (<SET EAT? <FSET? ,PRSO ,FOODBIT>>
|
||||
<COND (<AND <NOT <IN? ,PRSO ,WINNER>>
|
||||
<NOT <IN? <LOC ,PRSO> ,WINNER>>>
|
||||
<TELL "You're not holding that." CR>)
|
||||
(<VERB? DRINK>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-452 (12816)
|
||||
<GLOBAL-IN? ,GLOBAL-WATER ,HERE>
|
||||
<EQUAL? ,PRSO ,PSEUDO-OBJECT>>
|
||||
<HIT-SPOT>)
|
||||
(<NOT .NOBJ>
|
||||
<TELL
|
||||
"There isn't any water here." CR>)
|
||||
(<NOT <IN? .NOBJ ,WINNER>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-474 (13308)
|
||||
<EQUAL? ,PRSO ,PSEUDO-OBJECT>>
|
||||
<HIT-SPOT>)
|
||||
(<OR <NOT .NOBJ>
|
||||
<NOT <ACCESSIBLE? .NOBJ>>>
|
||||
<TELL
|
||||
"You don't have any to drink." CR>)
|
||||
(<ACCESSIBLE? .NOBJ> ;<NOT <IN? .NOBJ ,WINNER>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-474 (13467)
|
||||
<COND (<AND <EQUAL? ,PRSO ,WATER>
|
||||
<NOT <GLOBAL-IN? ,GLOBAL-WATER ,HERE>>>
|
||||
<REMOVE-CAREFULLY ,PRSO>)>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-496 (13979)
|
||||
<REMOVE-CAREFULLY ,PRSO>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-564 (16542)
|
||||
<SETG P-IT-OBJECT <>>
|
||||
<SETG P-IT-LOC <>>)>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-584 (16967)
|
||||
<SETG P-IT-OBJECT <>>)>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-586 (17073)
|
||||
<COND (<IN? ,WINNER ,PRSO>
|
||||
<PERFORM ,V?DISEMBARK ,PRSO>
|
||||
<RTRUE>)
|
||||
(T <DO-WALK ,P?OUT>)>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-605 (17476)
|
||||
<DO-WALK ,P?OUT>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-596 (17299)
|
||||
<SET TX <GETPT ,HERE ,P?GLOBAL>>
|
||||
<COND (<AND .TX <ZMEMQB ,GLOBAL-WATER .TX <- <PTSIZE .TX> 1>>>
|
||||
<PERFORM ,V?FILL ,PRSO ,GLOBAL-WATER>
|
||||
<RTRUE>)
|
||||
(<IN? ,WATER <LOC ,WINNER>>
|
||||
<PERFORM ,V?FILL ,PRSO ,WATER>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL "There is nothing to fill it with." CR>
|
||||
<RTRUE>)>)>
|
||||
<COND (<EQUAL? ,PRSI ,WATER>
|
||||
<RFALSE>)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-612 (17617)
|
||||
<COND (<AND <SET TX <GETPT ,HERE ,P?GLOBAL>>
|
||||
<ZMEMQB ,GLOBAL-WATER .TX <- <PTSIZE .TX> 1>>>
|
||||
<SETG PRSI ,GLOBAL-WATER>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<TELL "There is nothing to fill it with." CR>
|
||||
<RTRUE>)>)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-756 (21795)
|
||||
(<FSET? ,PRSO ,BURNBIT>
|
||||
<TELL
|
||||
"If you wish to burn the " D ,PRSO ", you should say so." CR>)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-767 (21960)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-960 (27706)
|
||||
<PERFORM ,V?THROW ,PRSO>
|
||||
<RTRUE>)>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-968 (27765)
|
||||
<TELL "Huh?" CR>)>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1313 (37385)
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'(<EQUAL? ,PRSO ,DOOR-KEEPER>
|
||||
<SETG PRSI <>>
|
||||
<RFALSE>))
|
||||
(T
|
||||
'(<NULL-F> T))>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1320 (37425)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1351 (38471)
|
||||
<COND (<FSET? ,PRSO ,DOORBIT>
|
||||
<DO-WALK <OTHER-SIDE ,PRSO>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1352 (38359)
|
||||
<COND (<AND <FSET? ,PRSO ,DOORBIT>
|
||||
<SET M <OTHER-SIDE ,PRSO>>>
|
||||
<DO-WALK .M>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1357 (38659)
|
||||
(<OR .OBJ <NOT <FSET? ,PRSO ,TAKEBIT>>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1359 (38571)
|
||||
(<AND <NOT .OBJ> <NOT <FSET? ,PRSO ,TAKEBIT>>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1395 (40068)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1397 (39987)
|
||||
(.OBJ
|
||||
<TELL "You can't do that!" CR>)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1409 (40583)
|
||||
(<AND ,PRSI <FSET? ,PRSI ,ACTORBIT>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1413 (40557)
|
||||
(<FSET? ,PRSI ,ACTORBIT>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1413 (40731)
|
||||
(T <TELL "Thrown." CR>)>)
|
||||
(T <TELL "Huh?" CR>)>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1417 (40693)
|
||||
(T <TELL "Thrown." CR>)>)>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1443 (41553)
|
||||
<COND (<NOT <FSET? ,PRSO ,TURNBIT>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1446 (41485)
|
||||
<COND (<AND <NOT ,PRSI>
|
||||
<NOT <EQUAL? ,PRSO ,BOOK>>>
|
||||
<TELL "Your bare hands don't appear to be enough." CR>)
|
||||
(<NOT <FSET? ,PRSO ,TURNBIT>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1503 (43288)
|
||||
<EQUAL? ,WINNER ,ADVENTURER>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1509 (43342)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1604 (45864)
|
||||
<COND (<OR .LOOK? <NOT ,SUPER-BRIEF> <EQUAL? ,HERE ,ZORK3>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1609 (45881)
|
||||
<COND (<OR .LOOK? <NOT ,SUPER-BRIEF>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1650 (47403)
|
||||
(<AND <FSET? .OBJ ,WEARBIT>
|
||||
<IN? .OBJ ,WINNER>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1655 (47398)
|
||||
(<FSET? .OBJ ,WEARBIT>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1688 (48515)
|
||||
"AUX" Y 1ST? AV STR (PV? <>) (INV? <>))
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1692 (48477)
|
||||
"AUX" Y 1ST? SHIT AV STR (PV? <>) (INV? <>))
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1694 (48721)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1698 (48688)
|
||||
<SET SHIT T>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1698 (48810)
|
||||
<COND %<COND (<==? ,ZORK-NUMBER 2>
|
||||
'(<NOT .Y>
|
||||
<COND (<AND <0? .LEVEL>
|
||||
<==? ,SPELL? ,S-FANTASIZE>
|
||||
<PROB 20>>
|
||||
<TELL "There is a "
|
||||
<PICK-ONE ,FANTASIES>
|
||||
" here." CR>
|
||||
<SET 1ST? <>>)>
|
||||
<RETURN <NOT .1ST?>>))
|
||||
(ELSE
|
||||
'(<NOT .Y>
|
||||
<RETURN <NOT .1ST?>>))>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1703 (48793)
|
||||
<COND (<NOT .Y>
|
||||
<RETURN>)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1718 (49441)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1712 (49096)
|
||||
<SET SHIT <>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1731 (49864)
|
||||
<RETURN <NOT .1ST?>>)
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1726 (49544)
|
||||
<RETURN>)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1749 (50514)
|
||||
<SET Y <NEXT? .Y>>>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1744 (50182)
|
||||
<SET Y <NEXT? .Y>>>
|
||||
<COND (<AND .1ST? .SHIT> <RFALSE>) (T <RTRUE>)>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1882 (53926)
|
||||
"You try to pick it up, but with everything else you have, you can't manage
|
||||
to hold onto it!" CR>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1878 (53645)
|
||||
"You're holding too many things already!" CR>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1887 (54075)
|
||||
<FCLEAR ,PRSO ,NDESCBIT>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1882 (53741)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-1984 (56471)
|
||||
(AV <>) OLIT OHERE)
|
||||
<SET OLIT ,LIT>
|
||||
<SET OHERE ,HERE>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-1978 (56109)
|
||||
(AV <>) OLIT)
|
||||
<SET OLIT ,LIT>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-2008 (57052)
|
||||
<COND (<AND .LB <NOT <FSET? ,HERE ,RLANDBIT>> <NOT ,DEAD>>
|
||||
%<COND (<==? ,ZORK-NUMBER 1>
|
||||
'<TELL
|
||||
"The " D .WLOC " comes to a rest on the shore." CR CR>)
|
||||
(T
|
||||
'<COND (<EQUAL? .AV ,BALLOON>
|
||||
<TELL
|
||||
"The balloon lands." CR>)
|
||||
(<FSET? .WLOC ,VEHBIT>
|
||||
<TELL
|
||||
"The " D .WLOC " comes to a stop." CR CR>)>)>)>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-2001 (56663)
|
||||
<COND (<AND .LB
|
||||
<NOT <FSET? ,HERE ,RLANDBIT>>
|
||||
<NOT ,DEAD>
|
||||
<FSET? .WLOC ,VEHBIT>>
|
||||
<TELL
|
||||
"The " D .WLOC " comes to a rest on the shore." CR CR>)>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-2054 (58530)
|
||||
(<AND <NOT <EQUAL? ,ADVENTURER ,WINNER>>
|
||||
<IN? ,ADVENTURER .OHERE>>
|
||||
<TELL "The " D ,WINNER " leaves the room." CR>)
|
||||
(<AND .V?
|
||||
<EQUAL? ,WINNER ,ADVENTURER>>
|
||||
<V-FIRST-LOOK>)>
|
||||
<RTRUE>)>>
|
||||
<ROUTINE GO-NEXT (TBL "AUX" VAL)
|
||||
<COND (<SET VAL <LKP ,HERE .TBL>>
|
||||
<GOTO .VAL>)>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-2042 (57947)
|
||||
(<NOT <EQUAL? ,ADVENTURER ,WINNER>>
|
||||
<TELL "The " D ,WINNER " leaves the room." CR>)
|
||||
(.V? <V-FIRST-LOOK>)>
|
||||
<RTRUE>)>>
|
||||
;"0 -> no next, 1 -> success, 2 -> failed move"
|
||||
<ROUTINE GO-NEXT (TBL "AUX" VAL)
|
||||
<COND (<SET VAL <LKP ,HERE .TBL>>
|
||||
<COND (<NOT <GOTO .VAL>> 2)
|
||||
(T 1)>)>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-2121 (60321)
|
||||
<COND (<EQUAL? .RM ,INSIDE-BARROW>
|
||||
<RFALSE>)>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-2109 (59729)
|
||||
***************
|
||||
|
||||
**** FILE SS:<ZORK2>GVERBS.ZIL.407, 1-2127 (60455)
|
||||
<SETG P-IT-OBJECT .OBJ>
|
||||
<SETG P-IT-LOC ,HERE>>
|
||||
**** FILE SS:<ZORK1>GVERBS.ZIL.391, 1-2113 (59811)
|
||||
<SETG P-IT-OBJECT .OBJ>>
|
||||
***************
|
||||
|
File diff suppressed because it is too large
Load Diff
444
gverbs.zil
444
gverbs.zil
|
@ -1,4 +1,4 @@
|
|||
"Generic VERBS file for
|
||||
"Generic VERBS file for
|
||||
The ZORK Trilogy
|
||||
started on 7/25/83 by SEM"
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
<ROUTINE V-SUPER-BRIEF ()
|
||||
<SETG SUPER-BRIEF T>
|
||||
<TELL "Super-brief descriptions." CR>>
|
||||
<TELL "Superbrief descriptions." CR>>
|
||||
|
||||
;"V-DIAGNOSE is in ACTIONS.ZIL"
|
||||
|
||||
|
@ -30,13 +30,33 @@
|
|||
<COND (<FIRST? ,WINNER> <PRINT-CONT ,WINNER>)
|
||||
(T <TELL "You are empty-handed." CR>)>>
|
||||
|
||||
<ROUTINE V-QUIT ("OPTIONAL" (ASK? T) "AUX" SCOR)
|
||||
<ROUTINE FINISH ("AUX" WRD)
|
||||
<V-SCORE>
|
||||
<COND (<OR <AND .ASK?
|
||||
<TELL
|
||||
<REPEAT ()
|
||||
<CRLF>
|
||||
<TELL
|
||||
"Would you like to restart the game from the beginning, restore a saved
|
||||
game position, or end this session of the game?|
|
||||
(Type RESTART, RESTORE, or QUIT):|
|
||||
>">
|
||||
<READ ,P-INBUF ,P-LEXV>
|
||||
<SET WRD <GET ,P-LEXV 1>>
|
||||
<COND (<EQUAL? .WRD ,W?RESTART>
|
||||
<RESTART>
|
||||
<TELL "Failed." CR>)
|
||||
(<EQUAL? .WRD ,W?RESTORE>
|
||||
<COND (<RESTORE>
|
||||
<TELL "Ok." CR>)
|
||||
(T
|
||||
<TELL "Failed." CR>)>)
|
||||
(<EQUAL? .WRD ,W?QUIT ,W?Q>
|
||||
<QUIT>)>>>
|
||||
|
||||
<ROUTINE V-QUIT ("AUX" SCOR)
|
||||
<V-SCORE>
|
||||
<TELL
|
||||
"Do you wish to leave the game? (Y is affirmative): ">
|
||||
<YES?>>
|
||||
<NOT .ASK?>>
|
||||
<COND (<YES?>
|
||||
<QUIT>)
|
||||
(ELSE <TELL "Ok." CR>)>>
|
||||
|
||||
|
@ -78,18 +98,19 @@
|
|||
<ROUTINE V-VERSION ("AUX" (CNT 17))
|
||||
%<COND (<==? ,ZORK-NUMBER 1>
|
||||
'<TELL "ZORK I: The Great Underground Empire|
|
||||
Copyright (c) 1981, 1982, 1983 Infocom, Inc. ">)
|
||||
Infocom interactive fiction - a fantasy story|
|
||||
Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986">)
|
||||
(<==? ,ZORK-NUMBER 2>
|
||||
'<TELL "ZORK II: The Wizard of Frobozz|
|
||||
Copyright (c) 1981, 1982, 1983 Infocom, Inc. ">)
|
||||
(T
|
||||
Infocom interactive fiction - a fantasy story|
|
||||
Copyright (c) 1981, 1982, 1983, 1986">)
|
||||
(<==? ,ZORK-NUMBER 3>
|
||||
'<TELL "ZORK III: The Dungeon Master|
|
||||
Copyright (c) 1982, 1983 Infocom, Inc. ">)>
|
||||
<TELL "All rights reserved." CR>
|
||||
<COND (<NOT <==? <BAND <GETB 0 1> 8> 0>>
|
||||
<TELL "Licensed to Tandy Corporation." CR>)>
|
||||
Infocom interactive fiction - a fantasy story|
|
||||
Copyright 1982, 1983, 1984, 1986">)>
|
||||
<TELL " Infocom, Inc. All rights reserved." CR>
|
||||
<TELL "ZORK is a registered trademark of Infocom, Inc.|
|
||||
Version ">
|
||||
Release ">
|
||||
<PRINTN <BAND <GET 0 1> *3777*>>
|
||||
<TELL " / Serial number ">
|
||||
<REPEAT ()
|
||||
|
@ -106,15 +127,24 @@ Version ">
|
|||
(T
|
||||
<TELL CR "** Disk Failure **" CR>)>>
|
||||
|
||||
<ROUTINE V-DEBUG ()
|
||||
<TELL "Turning debugging feature ">
|
||||
<COND (,DEBUG
|
||||
<SETG DEBUG <>>
|
||||
<TELL "off">)
|
||||
<ROUTINE V-COMMAND-FILE ()
|
||||
<DIRIN 1>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE V-RANDOM ()
|
||||
<COND (<NOT <EQUAL? ,PRSO ,INTNUM>>
|
||||
<TELL "Illegal call to #RND." CR>)
|
||||
(T
|
||||
<SETG DEBUG T>
|
||||
<TELL "on">)>
|
||||
<TELL "." CR>>
|
||||
<RANDOM <- 0 ,P-NUMBER>>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE V-RECORD ()
|
||||
<DIROUT 4>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE V-UNRECORD ()
|
||||
<DIROUT -4>
|
||||
<RTRUE>>
|
||||
|
||||
^L
|
||||
|
||||
|
@ -123,9 +153,9 @@ Version ">
|
|||
<ROUTINE V-ADVENT ()
|
||||
<TELL "A hollow voice says \"Fool.\"" CR>>
|
||||
|
||||
<ROUTINE V-AGAIN ("AUX" (OBJ <>))
|
||||
;<ROUTINE V-AGAIN ("AUX" (OBJ <>))
|
||||
<COND (<EQUAL? ,L-PRSA ,V?WALK>
|
||||
<PERFORM ,L-PRSA ,L-PRSO>)
|
||||
<DO-WALK ,L-PRSO>)
|
||||
(T
|
||||
<COND (,L-PRSO
|
||||
<COND (<OR <NOT <LOC ,L-PRSO>>
|
||||
|
@ -190,7 +220,7 @@ Version ">
|
|||
<ROUTINE PRE-BOARD ("AUX" AV)
|
||||
<SET AV <LOC ,WINNER>>
|
||||
<COND %<COND (<==? ,ZORK-NUMBER 3>
|
||||
'(<EQUAL? ,PRSO ,WATER-CHANNEL>
|
||||
'(<EQUAL? ,PRSO ,WATER-CHANNEL ,TM-SEAT ,LAKE>
|
||||
<RFALSE>))
|
||||
(T
|
||||
'(<NULL-F> <RTRUE>))>
|
||||
|
@ -202,6 +232,9 @@ Version ">
|
|||
<TELL "You are already in the " D .AV "!" CR>)
|
||||
(T
|
||||
<RFALSE>)>)
|
||||
(<EQUAL? ,PRSO ,WATER ,GLOBAL-WATER>
|
||||
<PERFORM ,V?SWIM ,PRSO>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL
|
||||
"You have a theory on how to board a " D ,PRSO ", perhaps?" CR>)>
|
||||
|
@ -223,9 +256,12 @@ Version ">
|
|||
<TELL
|
||||
"Bug? Not in a flawless program like this! (Cough, cough)." CR>>
|
||||
|
||||
<ROUTINE TELL-NO-PRSI ()
|
||||
<TELL "You didn't say with what!" CR>>
|
||||
|
||||
<ROUTINE PRE-BURN ()
|
||||
<COND (<NOT ,PRSI>
|
||||
<TELL "You should say what you want to burn it with." CR>)
|
||||
<TELL-NO-PRSI>)
|
||||
(<FLAMING? ,PRSI>
|
||||
<RFALSE>)
|
||||
(T
|
||||
|
@ -239,11 +275,16 @@ Version ">
|
|||
(T
|
||||
'(<NULL-F> <RFALSE>))>
|
||||
(<FSET? ,PRSO ,BURNBIT>
|
||||
<COND (<IN? ,PRSO ,WINNER>
|
||||
<COND (<OR <IN? ,PRSO ,WINNER>
|
||||
<IN? ,WINNER ,PRSO>>
|
||||
<REMOVE-CAREFULLY ,PRSO>
|
||||
<TELL "The " D ,PRSO>
|
||||
<JIGS-UP
|
||||
" catches fire. Unfortunately, you were holding it at the time.">)
|
||||
<TELL
|
||||
" catches fire. Unfortunately, you were ">
|
||||
<COND (<IN? ,WINNER ,PRSO>
|
||||
<TELL "in">)
|
||||
(T <TELL "holding">)>
|
||||
<JIGS-UP " it at the time.">)
|
||||
(T
|
||||
<REMOVE-CAREFULLY ,PRSO>
|
||||
<TELL
|
||||
|
@ -257,21 +298,26 @@ Version ">
|
|||
<ROUTINE V-CLIMB-DOWN () <V-CLIMB-UP ,P?DOWN ,PRSO>>
|
||||
|
||||
<ROUTINE V-CLIMB-FOO ()
|
||||
<V-CLIMB-UP ,P?UP ,PRSO>>
|
||||
%<COND (<==? ,ZORK-NUMBER 3>
|
||||
'<V-CLIMB-UP <COND (<EQUAL? ,PRSO ,ROPE ,GLOBAL-ROPE>
|
||||
,P?DOWN)
|
||||
(T ,P?UP)>
|
||||
T>)
|
||||
(ELSE
|
||||
'<V-CLIMB-UP ,P?UP ,PRSO>)>>
|
||||
|
||||
<ROUTINE V-CLIMB-ON ()
|
||||
<COND %<COND (<==? ,ZORK-NUMBER 1>
|
||||
'(<FSET? ,PRSO ,VEHBIT>
|
||||
<V-CLIMB-UP ,P?UP ,PRSO>))
|
||||
(T
|
||||
'(<FSET? ,PRSO ,VEHBIT>
|
||||
<PERFORM ,V?BOARD ,PRSO>
|
||||
<RTRUE>))>
|
||||
<COND (<FSET? ,PRSO ,VEHBIT>
|
||||
%<COND (<==? ,ZORK-NUMBER 3>
|
||||
'<V-CLIMB-UP ,P?UP T>)
|
||||
(ELSE
|
||||
'<PERFORM ,V?BOARD ,PRSO>)>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL "You can't climb onto the " D ,PRSO "." CR>)>>
|
||||
|
||||
<ROUTINE V-CLIMB-UP ("OPTIONAL" (DIR ,P?UP) (OBJ <>) "AUX" X TX)
|
||||
<COND (<AND <NOT .OBJ> ,PRSO>
|
||||
<COND (<AND .OBJ <NOT <EQUAL? ,PRSO ,ROOMS>>>
|
||||
<SET OBJ ,PRSO>)>
|
||||
<COND (<SET TX <GETPT ,HERE .DIR>>
|
||||
<COND (.OBJ
|
||||
|
@ -290,12 +336,19 @@ Version ">
|
|||
<RTRUE>)>)>
|
||||
<DO-WALK .DIR>
|
||||
<RTRUE>)
|
||||
(<NOT .OBJ>
|
||||
<TELL "You can't go that way." CR>)
|
||||
(<AND .OBJ
|
||||
<ZMEMQ ,W?WALL
|
||||
<SET X <GETPT ,PRSO ,P?SYNONYM>> <PTSIZE .X>>>
|
||||
<TELL "Climbing the walls is to no avail." CR>)
|
||||
(%<COND (<==? ,ZORK-NUMBER 1>
|
||||
'<AND <NOT <EQUAL? ,HERE ,PATH>>
|
||||
<EQUAL? .OBJ <> ,TREE>
|
||||
<GLOBAL-IN? ,TREE ,HERE>>)
|
||||
(ELSE '<NULL-F>)>
|
||||
<TELL "There are no climbable trees here." CR>
|
||||
<RTRUE>)
|
||||
(<EQUAL? .OBJ <> ,ROOMS>
|
||||
<TELL "You can't go that way." CR>)
|
||||
(T
|
||||
<TELL "You can't do that!" CR>)>>
|
||||
|
||||
|
@ -352,6 +405,10 @@ Version ">
|
|||
<PERFORM ,V?ATTACK ,PRSO ,PRSI>)
|
||||
(<AND <FSET? ,PRSO ,BURNBIT>
|
||||
<FSET? ,PRSI ,WEAPONBIT>>
|
||||
<COND (<IN? ,WINNER ,PRSO>
|
||||
<TELL
|
||||
"Not a bright idea, especially since you're in it." CR>
|
||||
<RTRUE>)>
|
||||
<REMOVE-CAREFULLY ,PRSO>
|
||||
<TELL "Your skillful " D ,PRSI "smanship slices the " D ,PRSO
|
||||
" into innumerable slivers which blow away." CR>)
|
||||
|
@ -367,13 +424,22 @@ Version ">
|
|||
<ROUTINE V-DIG ()
|
||||
<COND (<NOT ,PRSI>
|
||||
<SETG PRSI ,HANDS>)>
|
||||
%<COND (<==? ,ZORK-NUMBER 1>
|
||||
'<COND (<EQUAL? ,PRSI ,SHOVEL>
|
||||
<TELL "There's no reason to be digging here." CR>
|
||||
<RTRUE>)>)
|
||||
(ELSE T)>
|
||||
<COND (<FSET? ,PRSI ,TOOLBIT>
|
||||
<TELL "Digging with the " D ,PRSI " is slow and tedious." CR>)
|
||||
(T
|
||||
<TELL "Digging with a " D ,PRSI " is silly." CR>)>>
|
||||
|
||||
<ROUTINE V-DISEMBARK ()
|
||||
<COND (<NOT <EQUAL? <LOC ,WINNER> ,PRSO>>
|
||||
<COND (<AND <EQUAL? ,PRSO ,ROOMS>
|
||||
<FSET? <LOC ,WINNER> ,VEHBIT>>
|
||||
<PERFORM ,V?DISEMBARK <LOC ,WINNER>>
|
||||
<RTRUE>)
|
||||
(<NOT <EQUAL? <LOC ,WINNER> ,PRSO>>
|
||||
<TELL "You're not in that!" CR>
|
||||
<RFATAL>)
|
||||
(<FSET? ,HERE ,RLANDBIT>
|
||||
|
@ -434,8 +500,11 @@ Version ">
|
|||
<TELL "Dropped." CR>)>>
|
||||
|
||||
<ROUTINE V-EAT ("AUX" (EAT? <>) (DRINK? <>) (NOBJ <>))
|
||||
<COND (<AND <SET EAT? <FSET? ,PRSO ,FOODBIT>> <IN? ,PRSO ,WINNER>>
|
||||
<COND (<VERB? DRINK>
|
||||
<COND (<SET EAT? <FSET? ,PRSO ,FOODBIT>>
|
||||
<COND (<AND <NOT <IN? ,PRSO ,WINNER>>
|
||||
<NOT <IN? <LOC ,PRSO> ,WINNER>>>
|
||||
<TELL "You're not holding that." CR>)
|
||||
(<VERB? DRINK>
|
||||
<TELL "How can you drink that?">)
|
||||
(T
|
||||
<TELL "Thank you very much. It really hit the spot.">
|
||||
|
@ -445,14 +514,15 @@ Version ">
|
|||
<SET DRINK? T>
|
||||
<SET NOBJ <LOC ,PRSO>>
|
||||
<COND (<OR <IN? ,PRSO ,GLOBAL-OBJECTS>
|
||||
<IN? ,PRSO ,LOCAL-GLOBALS>
|
||||
<GLOBAL-IN? ,GLOBAL-WATER ,HERE>
|
||||
<EQUAL? ,PRSO ,PSEUDO-OBJECT>>
|
||||
<HIT-SPOT>)
|
||||
(<NOT .NOBJ>
|
||||
(<OR <NOT .NOBJ>
|
||||
<NOT <ACCESSIBLE? .NOBJ>>>
|
||||
<TELL
|
||||
"There isn't any water here." CR>)
|
||||
(<NOT <IN? .NOBJ ,WINNER>>
|
||||
(<AND <ACCESSIBLE? .NOBJ>
|
||||
<NOT <IN? .NOBJ ,WINNER>>>
|
||||
<TELL
|
||||
"You have to be holding the " D .NOBJ " first." CR>)
|
||||
(<NOT <FSET? .NOBJ ,OPENBIT>>
|
||||
|
@ -465,12 +535,12 @@ Version ">
|
|||
"I don't think that the " D ,PRSO " would agree with you." CR>)>>
|
||||
|
||||
<ROUTINE HIT-SPOT ()
|
||||
<COND (<AND <EQUAL? ,PRSO ,WATER>
|
||||
<NOT <GLOBAL-IN? ,GLOBAL-WATER ,HERE>>>
|
||||
<REMOVE-CAREFULLY ,PRSO>)>
|
||||
<TELL
|
||||
"Thank you very much. I was rather thirsty (from all this talking,
|
||||
probably)." CR>
|
||||
<COND (<AND <EQUAL? ,PRSO ,WATER>
|
||||
<NOT <GLOBAL-IN? ,GLOBAL-WATER ,HERE>>>
|
||||
<REMOVE-CAREFULLY ,PRSO>)>>
|
||||
probably)." CR>>
|
||||
|
||||
<ROUTINE V-ECHO ("AUX" LST MAX (ECH 0) CNT)
|
||||
#DECL ((LST) <PRIMTYPE VECTOR> (MAX CNT ECH) FIX)
|
||||
|
@ -540,7 +610,7 @@ probably)." CR>
|
|||
<IN? ,COLLAR ,CERBERUS>>
|
||||
<SETG SPELL-VICTIM ,CERBERUS>)>
|
||||
<TELL
|
||||
"The " D ,PRSO " floats serenely in mid-air." CR>)
|
||||
"The " D ,PRSO " floats serenely in midair." CR>)
|
||||
(<AND <EQUAL? ,SPELL-USED ,W?FRY>
|
||||
<FSET? ,PRSO ,TAKEBIT>>
|
||||
<SETG SPELL-HANDLED? T>
|
||||
|
@ -558,8 +628,7 @@ probably)." CR>
|
|||
|
||||
<ROUTINE REMOVE-CAREFULLY (OBJ "AUX" OLIT)
|
||||
<COND (<EQUAL? .OBJ ,P-IT-OBJECT>
|
||||
<SETG P-IT-OBJECT <>>
|
||||
<SETG P-IT-LOC <>>)>
|
||||
<SETG P-IT-OBJECT <>>)>
|
||||
<SET OLIT ,LIT>
|
||||
<REMOVE .OBJ>
|
||||
<SETG LIT <LIT? ,HERE>>
|
||||
|
@ -580,10 +649,15 @@ probably)." CR>
|
|||
<TELL "There's nothing special about the " D ,PRSO "." CR>)>>
|
||||
|
||||
<ROUTINE V-EXIT ()
|
||||
<COND (<IN? ,WINNER ,PRSO>
|
||||
<COND (<AND <EQUAL? ,PRSO <> ,ROOMS>
|
||||
<FSET? <LOC ,WINNER> ,VEHBIT>>
|
||||
<PERFORM ,V?DISEMBARK <LOC ,WINNER>>
|
||||
<RTRUE>)
|
||||
(<AND ,PRSO <IN? ,WINNER ,PRSO>>
|
||||
<PERFORM ,V?DISEMBARK ,PRSO>
|
||||
<RTRUE>)
|
||||
(T <DO-WALK ,P?OUT>)>>
|
||||
(ELSE
|
||||
<DO-WALK ,P?OUT>)>>
|
||||
|
||||
<ROUTINE V-EXORCISE ()
|
||||
<TELL "What a bizarre concept!" CR>>
|
||||
|
@ -606,6 +680,20 @@ probably)." CR>
|
|||
<PERFORM ,V?PUT ,PRSI ,PRSO>
|
||||
<RTRUE>)>>
|
||||
|
||||
;"OLD ZORK1 PRE-FILL"
|
||||
;<ROUTINE PRE-FILL ("AUX" TX)
|
||||
<COND (<NOT ,PRSI>
|
||||
<COND (<AND <SET TX <GETPT ,HERE ,P?GLOBAL>>
|
||||
<ZMEMQB ,GLOBAL-WATER .TX <- <PTSIZE .TX> 1>>>
|
||||
<SETG PRSI ,GLOBAL-WATER>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<TELL "There is nothing to fill it with." CR>
|
||||
<RTRUE>)>)
|
||||
(<NOT <EQUAL? ,PRSI ,GLOBAL-WATER>>
|
||||
<PERFORM ,V?PUT ,PRSI ,PRSO>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE V-FILL ()
|
||||
<COND (<NOT ,PRSI>
|
||||
<COND (<GLOBAL-IN? ,GLOBAL-WATER ,HERE>
|
||||
|
@ -702,7 +790,7 @@ D ,PRSO "." CR>)>)
|
|||
<ROUTINE V-INFLATE ()
|
||||
<TELL "How can you inflate that?" CR>>
|
||||
|
||||
<ROUTINE V-IS-IN ()
|
||||
;<ROUTINE V-IS-IN ()
|
||||
<COND (<IN? ,PRSO ,PRSI>
|
||||
<TELL "Yes, it is ">
|
||||
<COND (<FSET? ,PRSI ,SURFACEBIT>
|
||||
|
@ -833,6 +921,11 @@ killing yourself." CR CR>
|
|||
<COND (<AND <FIRST? ,PRSO>
|
||||
<PRINT-CONT ,PRSO>>
|
||||
<RTRUE>)
|
||||
%<COND (<==? ,ZORK-NUMBER 3>
|
||||
'(<FSET? ,PRSO ,SURFACEBIT>
|
||||
<TELL
|
||||
"There is nothing on the " D ,PRSO "." CR>))
|
||||
(ELSE '(<NULL-F> <RTRUE>))>
|
||||
(T
|
||||
<TELL "The " D ,PRSO " is empty." CR>)>)
|
||||
(T
|
||||
|
@ -953,14 +1046,21 @@ by knocking down the wall on the east of the room." CR>
|
|||
(T
|
||||
<TELL "You're not in anything!" CR>)>))
|
||||
(T '(<NULL-F> T))>
|
||||
(T
|
||||
(<FSET? <LOC ,WINNER> ,VEHBIT>
|
||||
<PERFORM ,V?THROW ,PRSO>
|
||||
<RTRUE>)>>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL "Huh?" CR>)>>
|
||||
|
||||
<ROUTINE V-PICK () <TELL "You can't pick that." CR>>
|
||||
|
||||
<ROUTINE V-PLAY ()
|
||||
<TELL "That's silly!" CR>>
|
||||
<COND (<FSET? ,PRSO ,ACTORBIT>
|
||||
<TELL
|
||||
"You become so engrossed in the role of the " D ,PRSO " that
|
||||
you kill yourself, just as he might have done!" CR>
|
||||
<JIGS-UP "">)
|
||||
(ELSE <TELL "That's silly!" CR>)>>
|
||||
|
||||
<ROUTINE V-PLUG ()
|
||||
<TELL "This has no effect." CR>>
|
||||
|
@ -970,6 +1070,10 @@ by knocking down the wall on the east of the room." CR>
|
|||
<REMOVE-CAREFULLY ,PRSO>
|
||||
<COND (<FLAMING? ,PRSI>
|
||||
<TELL "The " D ,PRSI " is extinguished." CR>
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'<COND (<EQUAL? ,PRSI ,BINF-FLAG>
|
||||
<SETG BINF-FLAG <>>)>)
|
||||
(ELSE '<NULL-F>)>
|
||||
<FCLEAR ,PRSI ,ONBIT>
|
||||
<FCLEAR ,PRSI ,FLAMEBIT>)
|
||||
(T
|
||||
|
@ -1121,23 +1225,18 @@ by knocking down the wall on the east of the room." CR>
|
|||
<TELL "Nothing happens." CR>)>
|
||||
<RTRUE>)>)
|
||||
(T
|
||||
'<PROG ()
|
||||
<COND (<NOT ,P-CONT>
|
||||
<TELL "Say what?" CR>
|
||||
<RTRUE>)
|
||||
(T <SETG QUOTE-FLAG <>> <RTRUE>)>>)>
|
||||
'<COND (<NOT ,P-CONT>
|
||||
<TELL "Say what?" CR>
|
||||
<RTRUE>)>)>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<COND (<SET V <FIND-IN ,HERE ,ACTORBIT>>
|
||||
<TELL "You must address the " D .V " directly." CR>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<SETG P-CONT <>>)
|
||||
(<EQUAL? <GET ,P-LEXV ,P-CONT> ,W?HELLO>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<SETG P-CONT <>>
|
||||
(<NOT <EQUAL? <GET ,P-LEXV ,P-CONT> ,W?HELLO>>
|
||||
<SETG P-CONT <>>
|
||||
<TELL
|
||||
"Talking to yourself is a sign of impending mental collapse." CR>)>>
|
||||
"Talking to yourself is a sign of impending mental collapse." CR>)>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE V-SEARCH ()
|
||||
<TELL "You find nothing unusual." CR>>
|
||||
|
@ -1164,8 +1263,11 @@ by knocking down the wall on the east of the room." CR>
|
|||
<COND (<FSET? ,PRSO ,OPENBIT>
|
||||
<COND (<FIRST? ,PRSO>
|
||||
<SHAKE-LOOP>
|
||||
<TELL "The contents of the " D, PRSO " spills ">
|
||||
<COND (<NOT <FSET? ,HERE ,RLANDBIT>>
|
||||
<TELL "The contents of the " D, PRSO " spill ">
|
||||
<COND (%<COND (<==? ,ZORK-NUMBER 3>
|
||||
'<FSET? ,HERE ,NONLANDBIT>)
|
||||
(ELSE
|
||||
'<NOT <FSET? ,HERE ,RLANDBIT>>)>
|
||||
<TELL "out and disappears">)
|
||||
(T
|
||||
<TELL "to the ground">)>
|
||||
|
@ -1268,7 +1370,7 @@ D ,PRSO " with a weapon." CR>)
|
|||
<==? ,ZORK-NUMBER 2>>
|
||||
'(<GLOBAL-IN? ,GLOBAL-WATER ,HERE>
|
||||
<TELL "Swimming isn't usually allowed in the ">
|
||||
<COND (,PRSO
|
||||
<COND (<NOT <EQUAL? ,PRSO ,WATER ,GLOBAL-WATER>>
|
||||
<TELL D ,PRSO ".">)
|
||||
(T
|
||||
<TELL "dungeon.">)>
|
||||
|
@ -1306,14 +1408,14 @@ D ,PRSO " with a weapon." CR>)
|
|||
(,PRSI
|
||||
<COND (<EQUAL? ,PRSI ,GROUND>
|
||||
<SETG PRSI <>>
|
||||
<RFALSE>)
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'(<EQUAL? ,PRSO ,DOOR-KEEPER>
|
||||
<RFALSE>)>
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'<COND (<EQUAL? ,PRSO ,DOOR-KEEPER>
|
||||
<SETG PRSI <>>
|
||||
<RFALSE>))
|
||||
(T
|
||||
'(<NULL-F> T))>
|
||||
(<NOT <EQUAL? ,PRSI <LOC ,PRSO>>>
|
||||
<RFALSE>)>)
|
||||
(ELSE
|
||||
'<NULL-F>)>
|
||||
<COND (<NOT <EQUAL? ,PRSI <LOC ,PRSO>>>
|
||||
<TELL "The " D ,PRSO " isn't in the " D ,PRSI "." CR>)
|
||||
(T
|
||||
<SETG PRSI <>>
|
||||
|
@ -1335,7 +1437,7 @@ D ,PRSO " with a weapon." CR>)
|
|||
<SETG HERE <LOC ,WINNER>>)
|
||||
(T
|
||||
<TELL "The " D ,PRSO
|
||||
" pauses for a moment, perhaps thinking that you should re-read
|
||||
" pauses for a moment, perhaps thinking that you should reread
|
||||
the manual." CR>)>)
|
||||
(T
|
||||
<TELL "You can't talk to the " D ,PRSO "!" CR>
|
||||
|
@ -1345,50 +1447,40 @@ the manual." CR>)>)
|
|||
|
||||
<ROUTINE V-THROUGH ("OPTIONAL" (OBJ <>) "AUX" M)
|
||||
#DECL ((OBJ) <OR OBJECT FALSE> (M) <PRIMTYPE VECTOR>)
|
||||
<COND (<FSET? ,PRSO ,DOORBIT>
|
||||
<DO-WALK <OTHER-SIDE ,PRSO>>
|
||||
<COND (<AND <FSET? ,PRSO ,DOORBIT>
|
||||
<SET M <OTHER-SIDE ,PRSO>>>
|
||||
<DO-WALK .M>
|
||||
<RTRUE>)
|
||||
(<AND <NOT .OBJ> <FSET? ,PRSO ,VEHBIT>>
|
||||
<PERFORM ,V?BOARD ,PRSO>
|
||||
<RTRUE>)
|
||||
(<OR .OBJ <NOT <FSET? ,PRSO ,TAKEBIT>>>
|
||||
<COND %<COND (<==? ,ZORK-NUMBER 2>
|
||||
'(<AND ,SCOL-ROOM
|
||||
<OR .OBJ <EQUAL? ,PRSO ,CURTAIN>>>
|
||||
<SCOL-GO .OBJ>
|
||||
<RTRUE>))
|
||||
(T
|
||||
'(<NULL-F> <RTRUE>))>
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'(<AND <EQUAL? ,HERE ,DEPOSITORY>
|
||||
<EQUAL? ,PRSO ,SNWL>
|
||||
,SCOL-ROOM>
|
||||
<SCOL-GO .OBJ>
|
||||
<RTRUE>))
|
||||
(T
|
||||
'(<NULL-F> <RTRUE>))>
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'(<AND <EQUAL? ,HERE ,SCOL-ACTIVE>
|
||||
<EQUAL? ,PRSO
|
||||
<GET <SET M <GET-WALL ,HERE>> 1>>>
|
||||
<SETG SCOL-ROOM <GET .M 2>>
|
||||
<SETG PRSO <GETP ,PRSO ,P?SIZE>>
|
||||
<COND (.OBJ <SCOL-OBJ .OBJ 0 ,DEPOSITORY>)
|
||||
(T
|
||||
<SCOL-THROUGH 0 ,DEPOSITORY>)>
|
||||
<RTRUE>))
|
||||
(T
|
||||
'(<NULL-F> <RTRUE>))>
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'(<EQUAL? ,PRSO ,CURTAIN>
|
||||
<TELL
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'<COND (<AND ,SCOL-ROOM
|
||||
<OR .OBJ <EQUAL? ,PRSO ,CURTAIN>>>
|
||||
<SCOL-GO .OBJ>
|
||||
<RTRUE>)
|
||||
(<AND <EQUAL? ,HERE ,DEPOSITORY>
|
||||
<EQUAL? ,PRSO ,SNWL>
|
||||
,SCOL-ROOM>
|
||||
<SCOL-GO .OBJ>
|
||||
<RTRUE>)
|
||||
(<AND <EQUAL? ,HERE ,SCOL-ACTIVE>
|
||||
<EQUAL? ,PRSO
|
||||
<GET <SET M <GET-WALL ,HERE>> 1>>>
|
||||
<SETG SCOL-ROOM <GET .M 2>>
|
||||
<SETG PRSO <GETP ,PRSO ,P?SIZE>>
|
||||
<COND (.OBJ <SCOL-OBJ .OBJ 0 ,DEPOSITORY>)
|
||||
(T
|
||||
<SCOL-THROUGH 0 ,DEPOSITORY>)>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,PRSO ,CURTAIN>
|
||||
<TELL
|
||||
"You can't go more than part way through the curtain." CR>
|
||||
<RTRUE>))
|
||||
(T
|
||||
'(<NULL-F> <RTRUE>))>
|
||||
(T
|
||||
<TELL
|
||||
"You hit your head against the " D ,PRSO " as you attempt this feat." CR>)>)
|
||||
<RTRUE>)>)
|
||||
(ELSE '<NULL-F>)>
|
||||
<TELL
|
||||
"You hit your head against the " D ,PRSO " as you attempt this feat." CR>)
|
||||
(<IN? ,PRSO ,WINNER>
|
||||
<TELL "That would involve quite a contortion!" CR>)
|
||||
(T
|
||||
|
@ -1399,6 +1491,7 @@ the manual." CR>)>)
|
|||
<COND (<EQUAL? ,PRSI ,ME>
|
||||
<TELL
|
||||
"A terrific throw! The " D ,PRSO>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<JIGS-UP " hits you squarely in the head. Normally,
|
||||
this wouldn't do much damage, but by incredible mischance, you fall over
|
||||
backwards trying to duck, and break your neck, justice being swift and
|
||||
|
@ -1408,7 +1501,7 @@ merciful in the Great Underground Empire.">)
|
|||
"The " D ,PRSI " ducks as the " D ,PRSO " flies by and crashes to the ground."
|
||||
CR>)
|
||||
(T <TELL "Thrown." CR>)>)
|
||||
(T <TELL "Huh?" CR>)>>
|
||||
(ELSE <TELL "Huh?" CR>)>>
|
||||
|
||||
<ROUTINE V-THROW-OFF ()
|
||||
<TELL "You can't throw anything off of that!" CR>>
|
||||
|
@ -1437,7 +1530,20 @@ CR>)
|
|||
<TELL "Nothing happens." CR>)>>
|
||||
|
||||
<ROUTINE PRE-TURN ()
|
||||
<COND (<NOT <FSET? ,PRSO ,TURNBIT>>
|
||||
%<COND (<==? ,ZORK-NUMBER 3>
|
||||
'<COND (<AND <EQUAL? ,PRSI <> ,ROOMS>
|
||||
<EQUAL? ,PRSO ,DIAL ,TM-DIAL ,T-BAR>>
|
||||
<TELL
|
||||
"You should turn the " D ,PRSO " to something." CR>
|
||||
<RTRUE>)>)
|
||||
(ELSE T)>
|
||||
<COND (%<COND (<==? ,ZORK-NUMBER 1>
|
||||
'<AND <EQUAL? ,PRSI <> ,ROOMS>
|
||||
<NOT <EQUAL? ,PRSO ,BOOK>>>)
|
||||
(ELSE
|
||||
'<EQUAL? ,PRSI <> ,ROOMS>)>
|
||||
<TELL "Your bare hands don't appear to be enough." CR>)
|
||||
(<NOT <FSET? ,PRSO ,TURNBIT>>
|
||||
<TELL "You can't turn that!" CR>)>>
|
||||
|
||||
<ROUTINE V-TURN ()
|
||||
|
@ -1522,8 +1628,9 @@ direction." CR>
|
|||
<TELL "Use compass directions for movement." CR>>
|
||||
|
||||
<ROUTINE V-WALK-TO ()
|
||||
<COND (<OR <IN? ,PRSO ,HERE>
|
||||
<GLOBAL-IN? ,PRSO ,HERE>>
|
||||
<COND (<AND ,PRSO
|
||||
<OR <IN? ,PRSO ,HERE>
|
||||
<GLOBAL-IN? ,PRSO ,HERE>>>
|
||||
<TELL "It's here!" CR>)
|
||||
(T
|
||||
<TELL "You should supply a direction!" CR>)>>
|
||||
|
@ -1583,7 +1690,7 @@ direction." CR>
|
|||
detect a dim light from the east." CR>)>)
|
||||
(T
|
||||
'<NULL-F>)>
|
||||
<RETURN <>>)>
|
||||
<RFALSE>)>
|
||||
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
||||
<FSET ,HERE ,TOUCHBIT>
|
||||
<SET V? T>)>
|
||||
|
@ -1598,7 +1705,10 @@ detect a dim light from the east." CR>)>)
|
|||
<COND (<FSET? <SET AV <LOC ,WINNER>> ,VEHBIT>
|
||||
<TELL ", in the " D .AV>)>
|
||||
<CRLF>)>
|
||||
<COND (<OR .LOOK? <NOT ,SUPER-BRIEF>>
|
||||
<COND (%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'<OR .LOOK? <NOT ,SUPER-BRIEF> <EQUAL? ,HERE ,ZORK3>>)
|
||||
(ELSE
|
||||
'<OR .LOOK? <NOT ,SUPER-BRIEF>>)>
|
||||
<SET AV <LOC ,WINNER>>
|
||||
;<COND (<FSET? .AV ,VEHBIT>
|
||||
<TELL "(You are in the " D .AV ".)" CR>)>
|
||||
|
@ -1682,17 +1792,30 @@ long description (fdesc or ldesc), otherwise will print short."
|
|||
<RTRUE>)>>)>>
|
||||
|
||||
<ROUTINE PRINT-CONT (OBJ "OPTIONAL" (V? <>) (LEVEL 0)
|
||||
"AUX" Y 1ST? AV STR (PV? <>) (INV? <>))
|
||||
"AUX" Y 1ST? SHIT AV STR (PV? <>) (INV? <>))
|
||||
<COND (<NOT <SET Y <FIRST? .OBJ>>> <RTRUE>)>
|
||||
<COND (<AND <SET AV <LOC ,WINNER>> <FSET? .AV ,VEHBIT>>
|
||||
T)
|
||||
(ELSE <SET AV <>>)>
|
||||
<SET 1ST? T>
|
||||
<SET SHIT T>
|
||||
<COND (<EQUAL? ,WINNER .OBJ <LOC .OBJ>>
|
||||
<SET INV? T>)
|
||||
(ELSE
|
||||
<REPEAT ()
|
||||
<COND (<NOT .Y> <RETURN <NOT .1ST?>>)
|
||||
<COND %<COND (<==? ,ZORK-NUMBER 2>
|
||||
'(<NOT .Y>
|
||||
<COND (<AND <0? .LEVEL>
|
||||
<==? ,SPELL? ,S-FANTASIZE>
|
||||
<PROB 20>>
|
||||
<TELL "There is a "
|
||||
<PICK-ONE ,FANTASIES>
|
||||
" here." CR>
|
||||
<SET 1ST? <>>)>
|
||||
<RETURN>))
|
||||
(ELSE
|
||||
'(<NOT .Y>
|
||||
<RETURN>))>
|
||||
(<EQUAL? .Y .AV> <SET PV? T>)
|
||||
(<EQUAL? .Y ,WINNER>)
|
||||
(<AND <NOT <FSET? .Y ,INVISIBLE>>
|
||||
|
@ -1700,6 +1823,7 @@ long description (fdesc or ldesc), otherwise will print short."
|
|||
<SET STR <GETP .Y ,P?FDESC>>>
|
||||
<COND (<NOT <FSET? .Y ,NDESCBIT>>
|
||||
<TELL .STR CR>
|
||||
<SET SHIT <>>
|
||||
;<SET 1ST? <>>)>
|
||||
<COND (<AND <SEE-INSIDE? .Y>
|
||||
<NOT <GETP <LOC .Y> ,P?DESCFCN>>
|
||||
|
@ -1713,7 +1837,7 @@ long description (fdesc or ldesc), otherwise will print short."
|
|||
<COND (<AND .PV? .AV <FIRST? .AV>>
|
||||
<SET LEVEL <+ .LEVEL 1>> ;"not in Zork III"
|
||||
<PRINT-CONT .AV .V? .LEVEL>)>
|
||||
<RETURN <NOT .1ST?>>)
|
||||
<RETURN>)
|
||||
(<EQUAL? .Y .AV ,ADVENTURER>)
|
||||
(<AND <NOT <FSET? .Y ,INVISIBLE>>
|
||||
<OR .INV?
|
||||
|
@ -1730,8 +1854,10 @@ long description (fdesc or ldesc), otherwise will print short."
|
|||
<DESCRIBE-OBJECT .Y .V? .LEVEL>)
|
||||
(<AND <FIRST? .Y> <SEE-INSIDE? .Y>>
|
||||
<SET LEVEL <+ .LEVEL 1>> ;"not in Zork III"
|
||||
<PRINT-CONT .Y .V? .LEVEL>)>)>
|
||||
<SET Y <NEXT? .Y>>>>
|
||||
<PRINT-CONT .Y .V? .LEVEL>
|
||||
<SET LEVEL <- .LEVEL 1>> ;"not in Zork III")>)>
|
||||
<SET Y <NEXT? .Y>>>
|
||||
<COND (<AND .1ST? .SHIT> <RFALSE>) (T <RTRUE>)>>
|
||||
|
||||
<ROUTINE FIRSTER (OBJ LEVEL)
|
||||
<COND %<COND (<==? ,ZORK-NUMBER 1>
|
||||
|
@ -1787,10 +1913,6 @@ for the final secret.\"" CR>)>)
|
|||
<SCORE-UPD .TEMP>
|
||||
<PUTP .OBJ ,P?VALUE 0>)>>
|
||||
|
||||
<ROUTINE FINISH ()
|
||||
<V-SCORE>
|
||||
<QUIT>>
|
||||
|
||||
<ROUTINE YES? ()
|
||||
<PRINTI ">">
|
||||
<READ ,P-INBUF ,P-LEXV>
|
||||
|
@ -1864,8 +1986,7 @@ for the final secret.\"" CR>)>)
|
|||
<G? <SET CNT <CCOUNT ,WINNER>> ,FUMBLE-NUMBER>
|
||||
<PROB <* .CNT ,FUMBLE-PROB>>>
|
||||
<TELL
|
||||
"You try to pick it up, but with everything else you have, you can't manage
|
||||
to hold onto it!" CR>
|
||||
"You're holding too many things already!" CR>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<MOVE ,PRSO ,WINNER>
|
||||
|
@ -1936,7 +2057,8 @@ to hold onto it!" CR>
|
|||
<CONSTANT DEXITSTR 1>
|
||||
|
||||
<GLOBAL INDENTS
|
||||
<TABLE ""
|
||||
<TABLE (PURE)
|
||||
""
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
|
@ -1990,16 +2112,23 @@ to hold onto it!" CR>
|
|||
<TELL <GETP .RM ,P?LDESC> CR>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<COND (<AND .LB <NOT <FSET? ,HERE ,RLANDBIT>> <NOT ,DEAD>>
|
||||
<COND (<AND .LB
|
||||
<NOT <FSET? ,HERE ,RLANDBIT>>
|
||||
<NOT ,DEAD>
|
||||
<FSET? .WLOC ,VEHBIT>>
|
||||
%<COND (<==? ,ZORK-NUMBER 1>
|
||||
'<TELL
|
||||
"The " D .WLOC " comes to a rest on the shore." CR CR>)
|
||||
(T
|
||||
'<COND (<EQUAL? .AV ,BALLOON>
|
||||
(<==? ,ZORK-NUMBER 2>
|
||||
'<COND (<EQUAL? .WLOC ,BALLOON>
|
||||
<TELL
|
||||
"The balloon lands." CR>)
|
||||
(<FSET? .WLOC ,VEHBIT>
|
||||
<TELL
|
||||
"The " D .WLOC " comes to a stop." CR CR>)>)
|
||||
(<==? ,ZORK-NUMBER 3>
|
||||
'<COND (<FSET? .WLOC ,VEHBIT>
|
||||
<TELL
|
||||
"The " D .WLOC " comes to a stop." CR CR>)>)>)>
|
||||
<COND (.AV
|
||||
<MOVE .WLOC .RM>)
|
||||
|
@ -2039,15 +2168,18 @@ stumbled into an authentic grue lair!">))
|
|||
(<AND <NOT <EQUAL? ,ADVENTURER ,WINNER>>
|
||||
<IN? ,ADVENTURER .OHERE>>
|
||||
<TELL "The " D ,WINNER " leaves the room." CR>)
|
||||
%<COND (<==? ,ZORK-NUMBER 1>
|
||||
'(<AND <EQUAL? ,HERE .OHERE>
|
||||
;"no double description"
|
||||
<EQUAL? ,HERE ,ENTRANCE-TO-HADES>>
|
||||
<RTRUE>))
|
||||
(ELSE
|
||||
'(<NULL-F> <RTRUE>))>
|
||||
(<AND .V?
|
||||
<EQUAL? ,WINNER ,ADVENTURER>>
|
||||
<V-FIRST-LOOK>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE GO-NEXT (TBL "AUX" VAL)
|
||||
<COND (<SET VAL <LKP ,HERE .TBL>>
|
||||
<GOTO .VAL>)>>
|
||||
|
||||
<ROUTINE LKP (ITM TBL "AUX" (CNT 0) (LEN <GET .TBL 0>))
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> .LEN>
|
||||
|
@ -2061,7 +2193,7 @@ stumbled into an authentic grue lair!">))
|
|||
<SETG P-WALK-DIR .DIR>
|
||||
<PERFORM ,V?WALK .DIR>>
|
||||
|
||||
<ROUTINE WORD-TYPE (OBJ WORD "AUX" SYNS)
|
||||
;<ROUTINE WORD-TYPE (OBJ WORD "AUX" SYNS)
|
||||
<ZMEMQ .WORD
|
||||
<SET SYNS <GETPT .OBJ ,P?SYNONYM>>
|
||||
<- </ <PTSIZE .SYNS> 2> 1>>>
|
||||
|
@ -2082,7 +2214,7 @@ stumbled into an authentic grue lair!">))
|
|||
<RETURN <>>)>>>
|
||||
|
||||
|
||||
<ROUTINE IN-HERE? (OBJ)
|
||||
;<ROUTINE IN-HERE? (OBJ)
|
||||
<OR <IN? .OBJ ,HERE>
|
||||
<GLOBAL-IN? .OBJ ,HERE>>>
|
||||
|
||||
|
@ -2103,17 +2235,19 @@ stumbled into an authentic grue lair!">))
|
|||
<RETURN .P>)>)>>>
|
||||
|
||||
<ROUTINE MUNG-ROOM (RM STR)
|
||||
<COND (<EQUAL? .RM ,INSIDE-BARROW>
|
||||
<RFALSE>)>
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'<COND (<EQUAL? .RM ,INSIDE-BARROW>
|
||||
<RFALSE>)>)
|
||||
(ELSE T)>
|
||||
<FSET .RM ,RMUNGBIT>
|
||||
<PUTP .RM ,P?LDESC .STR>>
|
||||
|
||||
<ROUTINE THIS-IS-IT (OBJ)
|
||||
<SETG P-IT-OBJECT .OBJ>
|
||||
<SETG P-IT-LOC ,HERE>>
|
||||
<SETG P-IT-OBJECT .OBJ>>
|
||||
|
||||
<GLOBAL SWIMYUKS
|
||||
<LTABLE 0 "You can't swim in the dungeon.">>
|
||||
<COND (<N==? ,ZORK-NUMBER 3>
|
||||
<GLOBAL SWIMYUKS
|
||||
<LTABLE 0 "You can't swim in the dungeon.">>)>
|
||||
|
||||
<GLOBAL HELLOS
|
||||
<LTABLE 0 "Hello."
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
-date- -rel- -size- -pre- -obj- -glo- -voc-
|
||||
7/29 49 90124 19181 250 168 686
|
||||
7/29 50 90122 19179 250 167 686
|
||||
7/29 51 90080 19168 250 167 686
|
||||
7/30 52 90300 19170 250 167 686
|
||||
8/01 53 90518 19170 250 167 686
|
||||
8/01 54 90798 19223 252 167 688
|
||||
8/06 55 90566 19200 252 165 688
|
||||
8/06 56 90386 19198 252 164 688
|
||||
8/06 57 90458 19201 251 163 688
|
||||
8/07 58 90550 19201 251 163 688
|
||||
8/08 59 90550 19201 251 163 688
|
||||
8/08 60 90550 19201 251 163 688
|
||||
8/11 61 92530 19820 251 168 689
|
||||
8/11 62 92530 19820 251 168 689
|
||||
8/11 63 92524 19820 251 168 689
|
|
@ -0,0 +1,31 @@
|
|||
Assembling ZORK2.XZAP.10 on Monday, August 11, 1986 18:40:51
|
||||
Release: 63
|
||||
|
||||
64 Inserting ZORK2FREQ.XZAP.5 (616 bytes)
|
||||
680 Inserting ZORK2DAT.ZAP.10 (19140 bytes)
|
||||
19820 Inserting GMACROS.ZAP.11 (119 bytes)
|
||||
19939 Inserting GSYNTAX.ZAP.11 (0 bytes)
|
||||
19939 Inserting 2DUNGEON.ZAP.11 (859 bytes)
|
||||
20798 Inserting GGLOBALS.ZAP.11 (1127 bytes)
|
||||
21925 Inserting GCLOCK.ZAP.11 (178 bytes)
|
||||
22103 Inserting GMAIN.ZAP.11 (938 bytes)
|
||||
23041 Inserting GPARSER.ZAP.11 (6647 bytes)
|
||||
29688 Inserting GVERBS.ZAP.11 (11102 bytes)
|
||||
40790 Inserting 2ACTIONS.ZAP.11 (34274 bytes)
|
||||
75064 Inserting ZORK2STR.ZAP.10 (17460 bytes)
|
||||
|
||||
Symbols unused:
|
||||
ROOM?
|
||||
ZPROB
|
||||
P-DIRECTION
|
||||
SWIMYUKS
|
||||
|
||||
251 objects.
|
||||
168 globals.
|
||||
689 word vocabulary.
|
||||
|
||||
92524 bytes (91K).
|
||||
19820 bytes of preload.
|
||||
11767 bytes of impure.
|
||||
|
||||
Outputting symbol tables
|
|
@ -0,0 +1,923 @@
|
|||
|
||||
Combined ZIL Compiler Ver 2.0 (MIM)
|
||||
-----------------------------------
|
||||
Input file: SS:<ZORK2>ZORK2.ZIL.18
|
||||
Input file: SS:<ZORK2>GMACROS.ZIL.7
|
||||
Compiling routine: ZPROB
|
||||
Compiling routine: RANDOM-ELEMENT
|
||||
Compiling routine: PICK-ONE
|
||||
Input file: SS:<ZORK2>GSYNTAX.ZIL.154
|
||||
Input file: SS:<ZORK2>2DUNGEON.ZIL.79
|
||||
Compiling routine: GO
|
||||
Compiling routine: HEDGES-F
|
||||
Compiling routine: LT-CRACK-PSEUDO
|
||||
Compiling routine: CC-CRACK-PSEUDO
|
||||
Compiling routine: GLOBAL-MENHIR-F
|
||||
Compiling routine: GLOBAL-CERBERUS-F
|
||||
Compiling routine: CRACK-PSEUDO
|
||||
Compiling routine: ALICE-HOLE
|
||||
Compiling routine: SLOT-F
|
||||
Compiling routine: TEAPOT-F
|
||||
Compiling routine: ROSE-F
|
||||
Compiling routine: FOOTPAD-F
|
||||
Compiling routine: COMPASS-F
|
||||
Input file: SS:<ZORK2>GGLOBALS.ZIL.67
|
||||
Compiling routine: NOT-HERE-OBJECT-F
|
||||
Compiling routine: NOT-HERE-PRINT
|
||||
Compiling routine: NULL-F
|
||||
Compiling routine: STAIRS-F
|
||||
Compiling routine: SAILOR-FCN
|
||||
Compiling routine: GROUND-FUNCTION
|
||||
Compiling routine: GRUE-FUNCTION
|
||||
Compiling routine: CRETIN-FCN
|
||||
Compiling routine: PATH-OBJECT
|
||||
Compiling routine: ZORKMID-FUNCTION
|
||||
Input file: SS:<ZORK2>GCLOCK.ZIL.7
|
||||
Compiling routine: QUEUE
|
||||
Compiling routine: INT
|
||||
Compiling routine: CLOCKER
|
||||
Input file: SS:<ZORK2>GMAIN.ZIL.41
|
||||
Compiling routine: MAIN-LOOP
|
||||
Compiling routine: MAIN-LOOP-1
|
||||
Compiling routine: PERFORM
|
||||
Input file: SS:<ZORK2>GPARSER.ZIL.41
|
||||
Compiling routine: PARSER
|
||||
Compiling routine: STUFF
|
||||
Compiling routine: INBUF-STUFF
|
||||
Compiling routine: INBUF-ADD
|
||||
Compiling routine: WT?
|
||||
Compiling routine: CLAUSE
|
||||
Compiling routine: NUMBER?
|
||||
Compiling routine: ORPHAN-MERGE
|
||||
Compiling routine: ACLAUSE-WIN
|
||||
Compiling routine: NCLAUSE-WIN
|
||||
Compiling routine: WORD-PRINT
|
||||
Compiling routine: UNKNOWN-WORD
|
||||
Compiling routine: CANT-USE
|
||||
Compiling routine: SYNTAX-CHECK
|
||||
Compiling routine: CANT-ORPHAN
|
||||
Compiling routine: ORPHAN
|
||||
Compiling routine: THING-PRINT
|
||||
Compiling routine: BUFFER-PRINT
|
||||
Compiling routine: PREP-PRINT
|
||||
Compiling routine: CLAUSE-COPY
|
||||
Compiling routine: CLAUSE-ADD
|
||||
Compiling routine: PREP-FIND
|
||||
Compiling routine: SYNTAX-FOUND
|
||||
Compiling routine: GWIM
|
||||
Compiling routine: SNARF-OBJECTS
|
||||
Compiling routine: BUT-MERGE
|
||||
Compiling routine: SNARFEM
|
||||
Compiling routine: GET-OBJECT
|
||||
Compiling routine: WHICH-PRINT
|
||||
Compiling routine: GLOBAL-CHECK
|
||||
Compiling routine: DO-SL
|
||||
Compiling routine: SEARCH-LIST
|
||||
Compiling routine: OBJ-FOUND
|
||||
Compiling routine: TAKE-CHECK
|
||||
Compiling routine: ITAKE-CHECK
|
||||
Compiling routine: MANY-CHECK
|
||||
Compiling routine: ZMEMQ
|
||||
Compiling routine: ZMEMQB
|
||||
Compiling routine: LIT?
|
||||
Compiling routine: THIS-IT?
|
||||
Compiling routine: ACCESSIBLE?
|
||||
Compiling routine: META-LOC
|
||||
Input file: SS:<ZORK2>GVERBS.ZIL.440
|
||||
Compiling routine: V-VERBOSE
|
||||
Compiling routine: V-BRIEF
|
||||
Compiling routine: V-SUPER-BRIEF
|
||||
Compiling routine: V-INVENTORY
|
||||
Compiling routine: FINISH
|
||||
Compiling routine: V-QUIT
|
||||
Compiling routine: V-RESTART
|
||||
Compiling routine: V-RESTORE
|
||||
Compiling routine: V-SAVE
|
||||
Compiling routine: V-SCRIPT
|
||||
Compiling routine: V-UNSCRIPT
|
||||
Compiling routine: V-VERSION
|
||||
Compiling routine: V-VERIFY
|
||||
Compiling routine: V-COMMAND-FILE
|
||||
Compiling routine: V-RANDOM
|
||||
Compiling routine: V-RECORD
|
||||
Compiling routine: V-UNRECORD
|
||||
Compiling routine: V-ADVENT
|
||||
Compiling routine: V-ALARM
|
||||
Compiling routine: V-ANSWER
|
||||
Compiling routine: V-ATTACK
|
||||
Compiling routine: V-BACK
|
||||
Compiling routine: V-BLAST
|
||||
Compiling routine: PRE-BOARD
|
||||
Compiling routine: V-BOARD
|
||||
Compiling routine: V-BREATHE
|
||||
Compiling routine: V-BRUSH
|
||||
Compiling routine: V-BUG
|
||||
Compiling routine: TELL-NO-PRSI
|
||||
Compiling routine: PRE-BURN
|
||||
Compiling routine: V-BURN
|
||||
Compiling routine: V-CHOMP
|
||||
Compiling routine: V-CLIMB-DOWN
|
||||
Compiling routine: V-CLIMB-FOO
|
||||
Compiling routine: V-CLIMB-ON
|
||||
Compiling routine: V-CLIMB-UP
|
||||
Compiling routine: V-CLOSE
|
||||
Compiling routine: V-COMMAND
|
||||
Compiling routine: V-COUNT
|
||||
Compiling routine: V-CROSS
|
||||
Compiling routine: V-CURSES
|
||||
Compiling routine: V-CUT
|
||||
Compiling routine: V-DEFLATE
|
||||
Compiling routine: V-DIG
|
||||
Compiling routine: V-DISEMBARK
|
||||
Compiling routine: V-DISENCHANT
|
||||
Compiling routine: V-DRINK
|
||||
Compiling routine: V-DRINK-FROM
|
||||
Compiling routine: PRE-DROP
|
||||
Compiling routine: V-DROP
|
||||
Compiling routine: V-EAT
|
||||
Compiling routine: HIT-SPOT
|
||||
Compiling routine: V-ECHO
|
||||
Compiling routine: V-ENCHANT
|
||||
Compiling routine: REMOVE-CAREFULLY
|
||||
Compiling routine: V-ENTER
|
||||
Compiling routine: V-EXAMINE
|
||||
Compiling routine: V-EXIT
|
||||
Compiling routine: V-EXORCISE
|
||||
Compiling routine: PRE-FILL
|
||||
Compiling routine: V-FILL
|
||||
Compiling routine: V-FIND
|
||||
Compiling routine: V-FOLLOW
|
||||
Compiling routine: V-FROBOZZ
|
||||
Compiling routine: PRE-GIVE
|
||||
Compiling routine: V-GIVE
|
||||
Compiling routine: V-HATCH
|
||||
Compiling routine: V-HELLO
|
||||
Compiling routine: V-INCANT
|
||||
Compiling routine: V-INFLATE
|
||||
Compiling routine: V-KICK
|
||||
Compiling routine: V-KISS
|
||||
Compiling routine: V-KNOCK
|
||||
Compiling routine: V-LAMP-OFF
|
||||
Compiling routine: V-LAMP-ON
|
||||
Compiling routine: V-LAUNCH
|
||||
Compiling routine: V-LEAN-ON
|
||||
Compiling routine: V-LEAP
|
||||
Compiling routine: V-LEAVE
|
||||
Compiling routine: V-LISTEN
|
||||
Compiling routine: V-LOCK
|
||||
Compiling routine: V-LOOK
|
||||
Compiling routine: V-LOOK-BEHIND
|
||||
Compiling routine: V-LOOK-INSIDE
|
||||
Compiling routine: V-LOOK-ON
|
||||
Compiling routine: V-LOOK-UNDER
|
||||
Compiling routine: V-LOWER
|
||||
Compiling routine: V-MAKE
|
||||
Compiling routine: V-MELT
|
||||
Compiling routine: PRE-MOVE
|
||||
Compiling routine: V-MOVE
|
||||
Compiling routine: V-MUMBLE
|
||||
Compiling routine: PRE-MUNG
|
||||
Compiling routine: V-MUNG
|
||||
Compiling routine: V-ODYSSEUS
|
||||
Compiling routine: V-OIL
|
||||
Compiling routine: V-OPEN
|
||||
Compiling routine: V-OVERBOARD
|
||||
Compiling routine: V-PICK
|
||||
Compiling routine: V-PLAY
|
||||
Compiling routine: V-PLUG
|
||||
Compiling routine: V-POUR-ON
|
||||
Compiling routine: V-PRAY
|
||||
Compiling routine: V-PUMP
|
||||
Compiling routine: V-PUSH
|
||||
Compiling routine: V-PUSH-TO
|
||||
Compiling routine: PRE-PUT
|
||||
Compiling routine: V-PUT
|
||||
Compiling routine: V-PUT-BEHIND
|
||||
Compiling routine: V-PUT-ON
|
||||
Compiling routine: V-PUT-UNDER
|
||||
Compiling routine: V-RAISE
|
||||
Compiling routine: V-RAPE
|
||||
Compiling routine: PRE-READ
|
||||
Compiling routine: V-READ
|
||||
Compiling routine: V-READ-PAGE
|
||||
Compiling routine: V-REPENT
|
||||
Compiling routine: V-REPLY
|
||||
Compiling routine: V-RING
|
||||
Compiling routine: V-RUB
|
||||
Compiling routine: V-SAY
|
||||
Compiling routine: V-SEARCH
|
||||
Compiling routine: V-SEND
|
||||
Compiling routine: PRE-SGIVE
|
||||
Compiling routine: V-SGIVE
|
||||
Compiling routine: V-SHAKE
|
||||
Compiling routine: SHAKE-LOOP
|
||||
Compiling routine: V-SKIP
|
||||
Compiling routine: V-SMELL
|
||||
Compiling routine: V-SPIN
|
||||
Compiling routine: V-SPRAY
|
||||
Compiling routine: V-SQUEEZE
|
||||
Compiling routine: V-SSPRAY
|
||||
Compiling routine: V-STAB
|
||||
Compiling routine: V-STAND
|
||||
Compiling routine: V-STAY
|
||||
Compiling routine: V-STRIKE
|
||||
Compiling routine: V-SWIM
|
||||
Compiling routine: V-SWING
|
||||
Compiling routine: PRE-TAKE
|
||||
Compiling routine: V-TAKE
|
||||
Compiling routine: V-TELL
|
||||
Compiling routine: V-THROUGH
|
||||
Compiling routine: V-THROW
|
||||
Compiling routine: V-THROW-OFF
|
||||
Compiling routine: V-TIE
|
||||
Compiling routine: V-TIE-UP
|
||||
Compiling routine: V-TREASURE
|
||||
Compiling routine: PRE-TURN
|
||||
Compiling routine: V-TURN
|
||||
Compiling routine: V-UNLOCK
|
||||
Compiling routine: V-UNTIE
|
||||
Compiling routine: V-WAIT
|
||||
Compiling routine: V-WALK
|
||||
Compiling routine: V-WALK-AROUND
|
||||
Compiling routine: V-WALK-TO
|
||||
Compiling routine: V-WAVE
|
||||
Compiling routine: V-WEAR
|
||||
Compiling routine: V-WIN
|
||||
Compiling routine: V-WIND
|
||||
Compiling routine: V-WISH
|
||||
Compiling routine: V-YELL
|
||||
Compiling routine: V-ZORK
|
||||
Compiling routine: V-FIRST-LOOK
|
||||
Compiling routine: DESCRIBE-ROOM
|
||||
Compiling routine: DESCRIBE-OBJECTS
|
||||
Compiling routine: DESCRIBE-OBJECT
|
||||
Compiling routine: PRINT-CONTENTS
|
||||
Compiling routine: PRINT-CONT
|
||||
Compiling routine: FIRSTER
|
||||
Compiling routine: SEE-INSIDE?
|
||||
Compiling routine: SCORE-UPD
|
||||
Compiling routine: SCORE-OBJ
|
||||
Compiling routine: YES?
|
||||
Compiling routine: ITAKE
|
||||
Compiling routine: IDROP
|
||||
Compiling routine: CCOUNT
|
||||
Compiling routine: WEIGHT
|
||||
Compiling routine: HACK-HACK
|
||||
Compiling routine: NO-GO-TELL
|
||||
Compiling routine: GOTO
|
||||
Compiling routine: LKP
|
||||
Compiling routine: DO-WALK
|
||||
Compiling routine: GLOBAL-IN?
|
||||
Compiling routine: FIND-IN
|
||||
Compiling routine: HELD?
|
||||
Compiling routine: OTHER-SIDE
|
||||
Compiling routine: MUNG-ROOM
|
||||
Compiling routine: THIS-IS-IT
|
||||
Input file: SS:<ZORK2>2ACTIONS.ZIL.107
|
||||
Compiling routine: SWORD-FCN
|
||||
Compiling routine: I-SWORD
|
||||
Compiling routine: INFESTED?
|
||||
Compiling routine: CAROUSEL-ROOM-FCN
|
||||
Compiling routine: VIOLIN-FCN
|
||||
Compiling routine: OPEN-CLOSE
|
||||
Compiling routine: BALLOON-FCN
|
||||
Compiling routine: I-BALLOON
|
||||
Compiling routine: BALLOON-BURN
|
||||
Compiling routine: PUT-BALLOON
|
||||
Compiling routine: RISE-AND-SHINE
|
||||
Compiling routine: DECLINE-AND-FALL
|
||||
Compiling routine: BCONTENTS
|
||||
Compiling routine: WIRE-FCN
|
||||
Compiling routine: I-BURNUP
|
||||
Compiling routine: SAFE-ROOM-FCN
|
||||
Compiling routine: SAFE-FCN
|
||||
Compiling routine: BRICK-FCN
|
||||
Compiling routine: FUSE-FCN
|
||||
Compiling routine: I-FUSE
|
||||
Compiling routine: I-SAFE
|
||||
Compiling routine: I-LEDGE
|
||||
Compiling routine: LEDGE-FCN
|
||||
Compiling routine: I-GNOME
|
||||
Compiling routine: GNOME-FCN
|
||||
Compiling routine: I-NERVOUS
|
||||
Compiling routine: PURPLE-BOOK-FCN
|
||||
Compiling routine: RANDOM-BOOK
|
||||
Compiling routine: HEAD-FCN
|
||||
Compiling routine: CRYPT-ANTEROOM-FCN
|
||||
Compiling routine: CRYPT-ROOM-FCN
|
||||
Compiling routine: DIM-DOOR-APPEARS
|
||||
Compiling routine: CRYPT-OBJECT
|
||||
Compiling routine: CRYPT-DOOR-FCN
|
||||
Compiling routine: TOMB-PSEUDO
|
||||
Compiling routine: DIM-DOOR-FCN
|
||||
Compiling routine: REPELLENT-FCN
|
||||
Compiling routine: I-SPRAY
|
||||
Compiling routine: ZORK3-FCN
|
||||
Compiling routine: I-BUCKET
|
||||
Compiling routine: WATER-FCN
|
||||
Compiling routine: PUDDLE
|
||||
Compiling routine: BUCKET-FCN
|
||||
Compiling routine: PASS-THE-BUCKET
|
||||
Compiling routine: POSTS-ROOM-FCN
|
||||
Compiling routine: EATME-FCN
|
||||
Compiling routine: CAKE-CRUMBLE
|
||||
Compiling routine: CAKE-FCN
|
||||
Compiling routine: CANDY-FCN
|
||||
Compiling routine: TOP-ETCHINGS-F
|
||||
Compiling routine: BOTTOM-ETCHINGS-F
|
||||
Compiling routine: CUBE-F
|
||||
Compiling routine: FIXED-FONT-ON
|
||||
Compiling routine: FIXED-FONT-OFF
|
||||
Compiling routine: POOL-FCN
|
||||
Compiling routine: FLASK-FCN
|
||||
Compiling routine: PLEAK
|
||||
Compiling routine: ICEBOOM
|
||||
Compiling routine: MAGNET-ROOM-FCN
|
||||
Compiling routine: MAGNET-ROOM-EXIT
|
||||
Compiling routine: BUTTONS
|
||||
Compiling routine: SPHERE-FCN
|
||||
Compiling routine: I-SPHERE
|
||||
Compiling routine: IN-CAGE-FCN
|
||||
Compiling routine: ROBOT-FCN
|
||||
Compiling routine: BILLS-OBJECT
|
||||
Compiling routine: BKLEAVEE
|
||||
Compiling routine: BKLEAVEW
|
||||
Compiling routine: DEPOSITORY-FCN
|
||||
Compiling routine: TELLER-ROOM
|
||||
Compiling routine: SCOL-OBJECT
|
||||
Compiling routine: GET-WALL
|
||||
Compiling routine: SCOLWALL
|
||||
Compiling routine: SCOL-GO
|
||||
Compiling routine: SCOL-OBJ
|
||||
Compiling routine: SCOL-THROUGH
|
||||
Compiling routine: I-CURTAIN
|
||||
Compiling routine: I-ZGNOME
|
||||
Compiling routine: BOX-F
|
||||
Compiling routine: ZGNOME-FCN
|
||||
Compiling routine: I-ZGNOME-OUT
|
||||
Compiling routine: BOMB?
|
||||
Compiling routine: GO&LOOK
|
||||
Compiling routine: TINY-ROOM-FCN
|
||||
Compiling routine: DREARY-ROOM-FCN
|
||||
Compiling routine: PCHECK
|
||||
Compiling routine: P-DOOR
|
||||
Compiling routine: PLID
|
||||
Compiling routine: PKH
|
||||
Compiling routine: PKH-FCN
|
||||
Compiling routine: PLID-FCN
|
||||
Compiling routine: ROOM?
|
||||
Compiling routine: PALANTIR
|
||||
Compiling routine: DEAD-PALANTIR
|
||||
Compiling routine: GLOBAL-PALANTIRS
|
||||
Compiling routine: PALANTIR-LOOK
|
||||
Compiling routine: PWINDOW-FCN
|
||||
Compiling routine: PDOOR-FCN
|
||||
Compiling routine: PKEY-FCN
|
||||
Compiling routine: PLACE-MAT-FCN
|
||||
Compiling routine: WISH-FCN
|
||||
Compiling routine: WELL-FCN
|
||||
Compiling routine: MATCH-FCN
|
||||
Compiling routine: I-MATCH
|
||||
Compiling routine: LANTERN
|
||||
Compiling routine: I-LANTERN
|
||||
Compiling routine: LIGHT-INT
|
||||
Compiling routine: RIDDLE-ROOM-FCN
|
||||
Compiling routine: RIDDLE-DOOR-FCN
|
||||
Compiling routine: RIDDLE-PSEUDO
|
||||
Compiling routine: MAGIC-ACTOR
|
||||
Compiling routine: RANDOM-WALK
|
||||
Compiling routine: FORCE-FIGHT
|
||||
Compiling routine: DWINDOW-DESC
|
||||
Compiling routine: DWINDOW-FCN
|
||||
Compiling routine: DIAMOND-MOTION
|
||||
Compiling routine: DIAMOND-LOSS
|
||||
Compiling routine: CERBERUS-FCN
|
||||
Compiling routine: COLLAR-FCN
|
||||
Compiling routine: GLACIER-FCN
|
||||
Compiling routine: GLACIER-ROOM-FCN
|
||||
Compiling routine: DRAGON-FCN
|
||||
Compiling routine: HELLO?
|
||||
Compiling routine: FIND-TARGET
|
||||
Compiling routine: I-DRAGON
|
||||
Compiling routine: DRAGON-LEAVES
|
||||
Compiling routine: I-GARDEN
|
||||
Compiling routine: GARDEN-ROOM-FCN
|
||||
Compiling routine: GLOBAL-UNICORN-FCN
|
||||
Compiling routine: UNICORN-FCN
|
||||
Compiling routine: GAZEBO-FCN
|
||||
Compiling routine: CHEST-FCN
|
||||
Compiling routine: PRINCESS-FCN
|
||||
Compiling routine: I-PRINCESS
|
||||
Compiling routine: I-UNICORN
|
||||
Compiling routine: MENHIR-ROOM-FCN
|
||||
Compiling routine: DESCRIBE-MENHIR
|
||||
Compiling routine: MENHIR-FCN
|
||||
Compiling routine: DOOR-KEEPER-FCN
|
||||
Compiling routine: WIZ-DOOR-FCN
|
||||
Compiling routine: GUARDIAN-ROOM-FCN
|
||||
Compiling routine: WORKSHOP-FCN
|
||||
Compiling routine: ARCANA-PSEUDO
|
||||
Compiling routine: TROPHY-PSEUDO
|
||||
Compiling routine: STAND-FCN
|
||||
Compiling routine: IN-AQUARIUM-FCN
|
||||
Compiling routine: AQUARIUM-FCN
|
||||
Compiling routine: SERPENT-FCN
|
||||
Compiling routine: DEAD-SERPENT-FCN
|
||||
Compiling routine: GENIE-FCN
|
||||
Compiling routine: GENIE-LEAVES
|
||||
Compiling routine: CASE-WORTH
|
||||
Compiling routine: PENTAGRAM-FCN
|
||||
Compiling routine: WIZARD-FCN
|
||||
** Note: Atomic argument to routine assumed constant - MAGIC-ACTOR
|
||||
|
||||
Compiling routine: I-WIZARD
|
||||
** Note: Atomic argument to routine assumed constant - MAGIC-ACTOR
|
||||
|
||||
Compiling routine: ROB
|
||||
Compiling routine: RIPOFF
|
||||
Compiling routine: WIZARD-CASE-FCN
|
||||
Compiling routine: WAND-FCN
|
||||
Compiling routine: I-WAND
|
||||
Compiling routine: WIZARD-QUARTERS-FCN
|
||||
Compiling routine: BRIDGE-FCN
|
||||
Compiling routine: STREAM-FCN
|
||||
Compiling routine: CHASM-FCN
|
||||
Compiling routine: TUNNEL-OBJECT
|
||||
Compiling routine: STALA-PSEUDO
|
||||
Compiling routine: MOSS-FCN
|
||||
Compiling routine: ROSE-BUSH-FCN
|
||||
Compiling routine: I-SPELL
|
||||
Compiling routine: V-DIAGNOSE
|
||||
Compiling routine: V-SCORE
|
||||
Compiling routine: JIGS-UP
|
||||
Compiling routine: RANDOMIZE-OBJECTS
|
||||
Compiling routine: KILL-INTERRUPTS
|
||||
Compiling routine: FIND-WEAPON
|
||||
Compiling routine: BUCKET-CONT
|
||||
** Warning: Undefined Routine: T
|
||||
|
||||
Warnings: 1
|
||||
** Note: OBJECT has no properties: GLOBAL-OBJECTS
|
||||
Vocabulary: 689
|
||||
Prepositions: 18
|
||||
IN
|
||||
TO
|
||||
WITH
|
||||
ON
|
||||
UNDER
|
||||
DOWN
|
||||
UP
|
||||
BEHIND
|
||||
AROUND
|
||||
FOR
|
||||
AT
|
||||
OFF
|
||||
ACROSS
|
||||
OVER
|
||||
AWAY
|
||||
FROM
|
||||
OUT
|
||||
Objects: 251
|
||||
PTABLE
|
||||
AQUARIUM
|
||||
PSEUDO-OBJECT
|
||||
DRAGON-ROOM
|
||||
LETTER-OPENER
|
||||
COIN
|
||||
CRYPT-DOOR
|
||||
ROBOT-LABEL
|
||||
TELLER-EAST
|
||||
DIAMOND-4
|
||||
MANGLED-CAGE
|
||||
STAIRWAY-TOP
|
||||
GNOME
|
||||
RIDDLE-ROOM
|
||||
IN-AQUARIUM
|
||||
WARNING-LABEL
|
||||
GAZEBO
|
||||
GARDEN-NORTH
|
||||
AQUARIUM-ROOM
|
||||
WHITE-BOOK
|
||||
DEEP-FORD
|
||||
ZORK3
|
||||
GENIE
|
||||
DEAD-PALANTIR-3
|
||||
DEAD-PALANTIR-2
|
||||
DIAMOND-7
|
||||
BRICK
|
||||
DEAD-PALANTIR-1
|
||||
SWORD
|
||||
GLOBAL-WIZARD-CASE
|
||||
TUNNEL
|
||||
BANK-BROCHURE
|
||||
STAND-2
|
||||
TOPIARY-ROOM
|
||||
MOSS
|
||||
DWINDOW
|
||||
SALTY-WATER
|
||||
REPELLENT
|
||||
FUSE
|
||||
STREAM-PATH
|
||||
SWWL
|
||||
DEAD-PALANTIR-4
|
||||
PENTAGRAM
|
||||
GLOBAL-CERBERUS
|
||||
ROOM-8
|
||||
COBWEBBY-CORRIDOR
|
||||
FOOTPAD
|
||||
VIEWING-WEST
|
||||
ARCANA
|
||||
DIAMOND-6
|
||||
DRAGON-LAIR
|
||||
DEPOSITORY
|
||||
SSWL
|
||||
PURPLE-BOOK
|
||||
STAND-4
|
||||
INTNUM
|
||||
POSTS
|
||||
CRYPT-ANTEROOM
|
||||
NOT-HERE-OBJECT
|
||||
DRAGON
|
||||
TOP-ETCHINGS
|
||||
TEA-ROOM
|
||||
GROUND
|
||||
GLOBAL-PALANTIR
|
||||
MAGNET-ROOM
|
||||
WATER
|
||||
DIAMOND-1
|
||||
LAVA-TUBE
|
||||
GREAT-CAVERN
|
||||
SAFE-ROOM
|
||||
NEWSPAPER
|
||||
STAIRS
|
||||
BILLS
|
||||
GAZEBO-TABLE
|
||||
VAIR-4
|
||||
VOLCANO-BOTTOM
|
||||
DEGREE
|
||||
GRUE
|
||||
PWINDOW
|
||||
COOL-ROOM
|
||||
LEDGE-TUNNEL
|
||||
BRAIDED-WIRE
|
||||
BALLOON
|
||||
NARROW-TUNNEL
|
||||
BROKEN-LAMP
|
||||
GLOBAL-MENHIR
|
||||
WEST-WALL
|
||||
LUNGS
|
||||
SLOT
|
||||
CERBERUS-ROOM
|
||||
GLACIER-ROOM
|
||||
CUBE
|
||||
MENHIR-ROOM
|
||||
DARK-TUNNEL
|
||||
FORMAL-GARDEN
|
||||
EAST-WALL
|
||||
ALICE-TABLE
|
||||
GLOBAL-UNICORN
|
||||
BLESSINGS
|
||||
TELLER-WEST
|
||||
DIM-DOOR
|
||||
PRINCESS
|
||||
LAMP
|
||||
NORTH-WALL
|
||||
RED-ICING
|
||||
CROWN
|
||||
SEWL
|
||||
CAROUSEL-ROOM
|
||||
LEDGE-2
|
||||
DIAMOND-3
|
||||
FRESCO-ROOM
|
||||
VIOLIN
|
||||
WISH
|
||||
BALLOON-LABEL
|
||||
PDOOR
|
||||
LIBRARY
|
||||
COMPASS
|
||||
PEARL
|
||||
GNOME-OF-ZURICH
|
||||
SAFE
|
||||
CANDY
|
||||
KEYHOLE-1
|
||||
WIZARD-CASE
|
||||
KENNEL
|
||||
GOLD-KEY
|
||||
RECEPTACLE
|
||||
CRYPT-ROOM
|
||||
RAVINE-LEDGE
|
||||
SAILOR
|
||||
POSTS-ROOM
|
||||
DIAMOND-2
|
||||
HEDGES
|
||||
WELL-BOTTOM
|
||||
HEADS
|
||||
VOLCANO-VIEW
|
||||
CRYPT
|
||||
DEPOSIT-BOX
|
||||
ZORKMID
|
||||
VAIR-2
|
||||
LID-1
|
||||
ICE
|
||||
ROSE
|
||||
LID-2
|
||||
KEYHOLE-2
|
||||
TEAPOT
|
||||
IN-CAGE
|
||||
CHASM
|
||||
STREAM
|
||||
BLUE-ICING
|
||||
VIEWING-EAST
|
||||
EXPLOSION
|
||||
PLACE-MAT
|
||||
STAND-3
|
||||
ROBOT
|
||||
RUBY
|
||||
WANDS
|
||||
DIAMOND-9
|
||||
WORKBENCH-ROOM
|
||||
CLOTH-BAG
|
||||
BANK-ENTRANCE
|
||||
PENTAGRAM-ROOM
|
||||
SOUTH-WALL
|
||||
STAND-1
|
||||
HOOK-1
|
||||
MACHINE-ROOM
|
||||
VAIR-3
|
||||
TROPHY-BOTTLES
|
||||
MENHIR
|
||||
EAT-ME-CAKE
|
||||
POOL-ROOM
|
||||
CHEST
|
||||
STONE-BRIDGE
|
||||
DOOR-KEEPER
|
||||
STAMP
|
||||
PCRACK
|
||||
WORKBENCH
|
||||
DIAMOND-8
|
||||
BRIDGE
|
||||
RIBBON
|
||||
COLLAR
|
||||
PATHOBJ
|
||||
GLOBAL-PRINCESS
|
||||
WIZARDS-QUARTERS
|
||||
BAT
|
||||
BROKEN-CASE
|
||||
IT
|
||||
HOOK-2
|
||||
SMALL-ROOM
|
||||
TROPHY-ROOM
|
||||
GLOBAL-OBJECTS
|
||||
BLUE-BOOK
|
||||
DEAD-BALLOON
|
||||
DREARY-ROOM
|
||||
CERBERUS
|
||||
DEAD-DRAGON
|
||||
PORTRAIT
|
||||
CARD
|
||||
CAGE-ROOM
|
||||
SHALLOW-FORD
|
||||
BUCKET
|
||||
INSIDE-BARROW
|
||||
SNWL
|
||||
OFFICE
|
||||
ROSE-BUSH
|
||||
LEAK
|
||||
TINY-ROOM
|
||||
WIZARDS-WORKSHOP
|
||||
LOCAL-GLOBALS
|
||||
WIZ-DOOR
|
||||
FLASK
|
||||
GREEN-BOOK
|
||||
ADVENTURER
|
||||
POOL
|
||||
PEARL-ROOM
|
||||
ROOMS
|
||||
PALANTIR-4
|
||||
ORANGE-ICING
|
||||
VAIR-1
|
||||
PALANTIR-2
|
||||
SERPENT
|
||||
PALANTIR-3
|
||||
MARBLE-HALL
|
||||
PALANTIR-1
|
||||
GUARDIAN-ROOM
|
||||
SQUARE-BUTTON
|
||||
UNICORN
|
||||
ME
|
||||
WAND
|
||||
MATCH
|
||||
IRON-BOX
|
||||
FOOT-BRIDGE
|
||||
CURTAIN
|
||||
DIAMOND-5
|
||||
WIZARD
|
||||
DEAD-SERPENT
|
||||
GAZEBO-ROOM
|
||||
LAVA-ROOM
|
||||
KEY
|
||||
LEDGE-1
|
||||
HANDS
|
||||
CAGE
|
||||
TROPHY-SWORD
|
||||
BOTTOM-ETCHINGS
|
||||
WELL-TOP
|
||||
RIDDLE-DOOR
|
||||
WELL
|
||||
GLOBAL-WATER
|
||||
TRIANGULAR-BUTTON
|
||||
STATUETTE
|
||||
VAULT
|
||||
ROUND-BUTTON
|
||||
Properties: 30
|
||||
P?NW
|
||||
P?SW
|
||||
P?SE
|
||||
P?NE
|
||||
P?SOUTH
|
||||
P?EAST
|
||||
P?NORTH
|
||||
P?ADVFCN
|
||||
P?CONTFCN
|
||||
P?VTYPE
|
||||
P?DESCFCN
|
||||
P?TEXT
|
||||
P?VALUE
|
||||
P?CAPACITY
|
||||
P?FDESC
|
||||
P?PSEUDO
|
||||
P?GLOBAL
|
||||
P?LDESC
|
||||
P?SIZE
|
||||
P?ACTION
|
||||
P?ADJECTIVE
|
||||
P?SYNONYM
|
||||
P?CROSS
|
||||
P?LAND
|
||||
P?OUT
|
||||
P?IN
|
||||
P?DOWN
|
||||
P?UP
|
||||
P?WEST
|
||||
Globals: 161
|
||||
MATCH-COUNT
|
||||
LAMP-TABLE
|
||||
DIAMOND-SOLVE
|
||||
DIAMOND-COUNT
|
||||
DIAMOND-MOVES
|
||||
DIAMOND-BASE
|
||||
DWDESCS
|
||||
BASES
|
||||
DIAMOND-ROOMS
|
||||
DIDIRS
|
||||
CERBERUS-LEASHED
|
||||
ICE-MELTED
|
||||
DRAGON-ANGER
|
||||
DRAGON-ATTACKS
|
||||
OLD-HERE
|
||||
TOPIARY-MOVED
|
||||
TOPIARY-NEAR
|
||||
UNICORN-MSGS
|
||||
UNICORN-FRIGHTENED
|
||||
PRINCESS-AWAKE
|
||||
PRCOUNT
|
||||
PRFOLLOW
|
||||
PRDIRS
|
||||
MENHIR-POSITION
|
||||
GUARDIAN-FED
|
||||
WIZ-DOOR-FLAG
|
||||
GENIE-READY?
|
||||
GENIE-HOARD
|
||||
GENIE-THANKS
|
||||
SPELL?
|
||||
SPELL-NAMES
|
||||
SPELL-HINTS
|
||||
SPELL-STOPS
|
||||
SPELL-HANDLED?
|
||||
WAND-ON
|
||||
SPELL-USED
|
||||
SPELL-VICTIM
|
||||
WAND-ON-LOC
|
||||
WIZQLAST
|
||||
WIZQDESCS
|
||||
FANTASIES
|
||||
SECRET-DOOR
|
||||
CRYPT-LIT?
|
||||
P-NCN
|
||||
P-NOT-HERE
|
||||
HELLOS
|
||||
P-OVTBL
|
||||
P-VTBL
|
||||
P-OTBL
|
||||
P-BUTS
|
||||
P-PRSI
|
||||
P-PRSO
|
||||
P-MERGE
|
||||
P-OCLAUSE
|
||||
JUMPLOSS
|
||||
RESERVE-LEXV
|
||||
INDENTS
|
||||
WHEEEEE
|
||||
P-CCTBL
|
||||
EIGHT-DIRECTIONS
|
||||
DUMMY
|
||||
YUKS
|
||||
SWIMYUKS
|
||||
HO-HUM
|
||||
BALLOON-UPS
|
||||
BALLOON-FLOATS
|
||||
BALLOON-DOWNS
|
||||
OTHER-PROPERTIES
|
||||
FATAL-VAPORS
|
||||
C-TABLE
|
||||
P-LEXV
|
||||
AGAIN-LEXV
|
||||
P-INBUF
|
||||
OOPS-INBUF
|
||||
OOPS-TABLE
|
||||
P-ITBL
|
||||
COMPASS-KLUDGE
|
||||
RESERVE-PTR
|
||||
PRSI
|
||||
CAROUSEL-ZOOM-FLAG
|
||||
BLOC
|
||||
P-IT-OBJECT
|
||||
HS
|
||||
CAGE-SOLVE-FLAG
|
||||
AGAIN-DIR
|
||||
P-ADJN
|
||||
WINNER
|
||||
BLAB-FLAG
|
||||
P-OFLAG
|
||||
P-NUMBER
|
||||
FUMBLE-PROB
|
||||
BINF-FLAG
|
||||
GNOME-FLAG
|
||||
DIM-DOOR-FLAG
|
||||
P-GETFLAGS
|
||||
LOAD-MAX
|
||||
P-TABLE
|
||||
QUOTE-FLAG
|
||||
WON-FLAG
|
||||
P-WON
|
||||
DEATHS
|
||||
SPRAY-USED?
|
||||
DEAD
|
||||
P-ONEOBJ
|
||||
P-AND
|
||||
PRSA
|
||||
P-AADJ
|
||||
P-XADJ
|
||||
P-SYNTAX
|
||||
C-DEMONS
|
||||
P-GWIMBIT
|
||||
P-MERGED
|
||||
GNOME-DOOR-FLAG
|
||||
BUCKET-TOP-FLAG
|
||||
PRSO
|
||||
SPRAYED?
|
||||
LOAD-ALLOWED
|
||||
C-INTS
|
||||
P-LEN
|
||||
P-ADJ
|
||||
P-ACT
|
||||
P-XADJN
|
||||
LIT
|
||||
BTIE-FLAG
|
||||
MUNGED-ROOM
|
||||
DESC-OBJECT
|
||||
FUMBLE-NUMBER
|
||||
P-DIRECTION
|
||||
P-CONT
|
||||
PLAYER
|
||||
P-ANAM
|
||||
P-WALK-DIR
|
||||
SWORD-GLOW
|
||||
P-XNAM
|
||||
LUCKY
|
||||
ALWAYS-LIT
|
||||
P-NAM
|
||||
P-MULT
|
||||
CLOCK-WAIT
|
||||
BASE-SCORE
|
||||
P-ADVERB
|
||||
P-MATCHLEN
|
||||
P-SLOCBITS
|
||||
P-ACLAUSE
|
||||
P-DIR
|
||||
EVAPORATED
|
||||
VERBOSE
|
||||
CAROUSEL-FLIP-FLAG
|
||||
SAFE-FLAG
|
||||
SUPER-BRIEF
|
||||
P-END-ON-PREP
|
||||
BANK-SOLVE-FLAG
|
||||
SCOL-ROOMS
|
||||
SCOL-WALLS
|
||||
SCOL-ROOM
|
||||
SCOL-ACTIVE
|
||||
ZGNOME-FLAG
|
||||
MUD-FLAG
|
||||
MATOBJ
|
||||
PUNLOCK-FLAG
|
||||
PLOOK-FLAG
|
|
@ -0,0 +1 @@
|
|||
15
|
|
@ -0,0 +1,13 @@
|
|||
.INSERT "ZORK2FREQ"
|
||||
.INSERT "ZORK2DAT" ; DATA IS IN THIS FILE
|
||||
.INSERT "GMACROS"
|
||||
.INSERT "GSYNTAX"
|
||||
.INSERT "2DUNGEON"
|
||||
.INSERT "GGLOBALS"
|
||||
.INSERT "GCLOCK"
|
||||
.INSERT "GMAIN"
|
||||
.INSERT "GPARSER"
|
||||
.INSERT "GVERBS"
|
||||
.INSERT "2ACTIONS"
|
||||
.INSERT "ZORK2STR"
|
||||
.END
|
46
zork2.zil
46
zork2.zil
|
@ -2,55 +2,35 @@
|
|||
Zork II: The Wizard of Frobozz
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved."
|
||||
|
||||
ON!-INITIAL
|
||||
OFF!-INITIAL
|
||||
|
||||
<SETG ZORK-NUMBER 2>
|
||||
|
||||
<GC 0 T 5>
|
||||
|
||||
<BLOAT 70000 0 0 2700 0 0 0 0 0 256>
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<GLOBAL BIGFIX 10000>
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
||||
|
||||
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
|
||||
<INSERT-FILE .STR .FLOAD?>>
|
||||
|
||||
<PRINC "Renovated ZORK II: The Wizard of Frobozz
|
||||
">
|
||||
|
||||
<OR <GASSIGNED? INSERT-CRUFTY>
|
||||
<DEFINE INSERT-CRUFTY (STR) <INSERT-FILE .STR T>>>
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<ID 0>)>
|
||||
|
||||
<IFILE "GMACROS" T>
|
||||
<FREQUENT-WORDS?>
|
||||
|
||||
<IFILE "GSYNTAX" T>
|
||||
<IFILE "2DUNGEON" T>
|
||||
<IFILE "GGLOBALS" T>
|
||||
<INSERT-FILE "GMACROS" T>
|
||||
<INSERT-FILE "GSYNTAX" T>
|
||||
<INSERT-FILE "2DUNGEON" T>
|
||||
<INSERT-FILE "GGLOBALS" T>
|
||||
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
||||
<PROPDEF VALUE 0>
|
||||
;<PROPDEF TVALUE 0>
|
||||
|
||||
<IFILE "GCLOCK" T>
|
||||
<IFILE "GMAIN" T>
|
||||
<IFILE "GPARSER" T>
|
||||
<IFILE "GVERBS" T>
|
||||
<IFILE "2ACTIONS" T>
|
||||
|
||||
<GC 0 T>
|
||||
|
||||
<DEFINE CNT (STR OBL)
|
||||
<PRINC .STR>
|
||||
<PRIN1 <MAPF ,+ ,LENGTH .OBL>>
|
||||
<CRLF>>
|
||||
|
||||
<COND (<NOT <GASSIGNED? PREDGEN>>
|
||||
<GC-MON T>)>
|
||||
|
||||
<INSERT-FILE "GCLOCK" T>
|
||||
<INSERT-FILE "GMAIN" T>
|
||||
<INSERT-FILE "GPARSER" T>
|
||||
<INSERT-FILE "GVERBS" T>
|
||||
<INSERT-FILE "2ACTIONS" T>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,200 @@
|
|||
.FSTR FSTR?1,"the " ;1642 821
|
||||
.FSTR FSTR?2,"The " ;1122 374
|
||||
.FSTR FSTR?3,"You " ;573 191
|
||||
.FSTR FSTR?4,"and " ;548 274
|
||||
.FSTR FSTR?5,"There " ;545 109
|
||||
.FSTR FSTR?6,", " ;498 498
|
||||
.FSTR FSTR?7,"is " ;477 477
|
||||
.FSTR FSTR?8,". " ;455 455
|
||||
.FSTR FSTR?9,"you " ;432 216
|
||||
.FSTR FSTR?10,"of " ;372 372
|
||||
.FSTR FSTR?11,"to " ;328 328
|
||||
.FSTR FSTR?12,"can't " ;280 56
|
||||
.FSTR FSTR?13,"with " ;267 89
|
||||
.FSTR FSTR?14,"are " ;252 126
|
||||
.FSTR FSTR?15,"This " ;236 59
|
||||
.FSTR FSTR?16,"your " ;228 76
|
||||
.FSTR FSTR?17,"from " ;222 74
|
||||
.FSTR FSTR?18,"room " ;219 73
|
||||
.FSTR FSTR?19,"Wizard " ;204 34
|
||||
.FSTR FSTR?20,"in " ;189 189
|
||||
.FSTR FSTR?21,"that " ;189 63
|
||||
.FSTR FSTR?22,"which " ;184 46
|
||||
.FSTR FSTR?23,"have " ;177 59
|
||||
.FSTR FSTR?24,"into " ;165 55
|
||||
.FSTR FSTR?25,"large " ;164 41
|
||||
.FSTR FSTR?26,"this " ;153 51
|
||||
.FSTR FSTR?27,"seems " ;148 37
|
||||
.FSTR FSTR?28,"here" ;144 72
|
||||
.FSTR FSTR?29,"small " ;144 36
|
||||
.FSTR FSTR?30,"but " ;142 71
|
||||
.FSTR FSTR?31,"appears " ;138 23
|
||||
.FSTR FSTR?32,"dragon " ;135 27
|
||||
.FSTR FSTR?33,"through " ;132 22
|
||||
.FSTR FSTR?34,"It " ;124 62
|
||||
.FSTR FSTR?35,"something " ;120 15
|
||||
.FSTR FSTR?36,"Room" ;117 39
|
||||
.FSTR FSTR?37,"Wizard's " ;117 13
|
||||
.FSTR FSTR?38,"don't " ;115 23
|
||||
.FSTR FSTR?39,"door " ;114 38
|
||||
.FSTR FSTR?40,"for " ;112 56
|
||||
.FSTR FSTR?41,"his " ;110 55
|
||||
.FSTR FSTR?42,"out " ;106 53
|
||||
.FSTR FSTR?43,"princess " ;105 15
|
||||
.FSTR FSTR?44,"A " ;97 97
|
||||
.FSTR FSTR?45,"He " ;96 48
|
||||
.FSTR FSTR?46,"huge " ;93 31
|
||||
.FSTR FSTR?47,"about " ;92 23
|
||||
.FSTR FSTR?48,"on " ;90 90
|
||||
.FSTR FSTR?49,"room" ;90 45
|
||||
.FSTR FSTR?50,"very " ;90 30
|
||||
.FSTR FSTR?51,"balloon " ;84 14
|
||||
.FSTR FSTR?52,"Frobozz " ;84 12
|
||||
.FSTR FSTR?53,"I " ;83 83
|
||||
.FSTR FSTR?54,"it " ;80 80
|
||||
.FSTR FSTR?55,"has " ;80 40
|
||||
.FSTR FSTR?56,"looks " ;80 20
|
||||
.FSTR FSTR?57,"around " ;80 16
|
||||
.FSTR FSTR?58,"doesn't " ;77 11
|
||||
.FSTR FSTR?59,"be " ;76 76
|
||||
.FSTR FSTR?60,"would " ;76 19
|
||||
.FSTR FSTR?61,"walls " ;76 19
|
||||
.FSTR FSTR?62,"there " ;76 19
|
||||
.FSTR FSTR?63,"center " ;75 15
|
||||
.FSTR FSTR?64,"cannot " ;75 15
|
||||
.FSTR FSTR?65,"not " ;74 37
|
||||
.FSTR FSTR?66,"unicorn " ;72 12
|
||||
.FSTR FSTR?67,"nothing " ;72 12
|
||||
.FSTR FSTR?68,"disappears" ;72 9
|
||||
.FSTR FSTR?69,"at " ;71 71
|
||||
.FSTR FSTR?70,"volcano" ;70 14
|
||||
.FSTR FSTR?71,"enormous " ;70 10
|
||||
.FSTR FSTR?72,"some " ;69 23
|
||||
.FSTR FSTR?73,"can " ;68 34
|
||||
.FSTR FSTR?74,"sphere" ;68 17
|
||||
.FSTR FSTR?75,"leads " ;68 17
|
||||
.FSTR FSTR?76,"floor " ;68 17
|
||||
.FSTR FSTR?77,"Your " ;68 17
|
||||
.FSTR FSTR?78,"wall " ;66 22
|
||||
.FSTR FSTR?79,"like " ;66 22
|
||||
.FSTR FSTR?80,"crystal " ;66 11
|
||||
.FSTR FSTR?81,"already " ;66 11
|
||||
.FSTR FSTR?82,"almost " ;65 13
|
||||
.FSTR FSTR?83,"that" ;64 32
|
||||
.FSTR FSTR?84,"north " ;64 16
|
||||
.FSTR FSTR?85,"light " ;64 16
|
||||
.FSTR FSTR?86,"ledge " ;64 16
|
||||
.FSTR FSTR?87,"demon " ;64 16
|
||||
.FSTR FSTR?88,"above " ;64 16
|
||||
.FSTR FSTR?89,"beautiful " ;64 8
|
||||
.FSTR FSTR?90,"been " ;63 21
|
||||
.FSTR FSTR?91,"probably " ;63 9
|
||||
.FSTR FSTR?92,"Nothing " ;63 9
|
||||
.FSTR FSTR?93,"as " ;60 60
|
||||
.FSTR FSTR?94,"south " ;60 15
|
||||
.FSTR FSTR?95,"wooden " ;60 12
|
||||
.FSTR FSTR?96,"narrow " ;60 12
|
||||
|
||||
|
||||
;word frequency table of 96 most common words
|
||||
|
||||
WORDS:: .TABLE
|
||||
FSTR?1
|
||||
FSTR?2
|
||||
FSTR?3
|
||||
FSTR?4
|
||||
FSTR?5
|
||||
FSTR?6
|
||||
FSTR?7
|
||||
FSTR?8
|
||||
FSTR?9
|
||||
FSTR?10
|
||||
FSTR?11
|
||||
FSTR?12
|
||||
FSTR?13
|
||||
FSTR?14
|
||||
FSTR?15
|
||||
FSTR?16
|
||||
FSTR?17
|
||||
FSTR?18
|
||||
FSTR?19
|
||||
FSTR?20
|
||||
FSTR?21
|
||||
FSTR?22
|
||||
FSTR?23
|
||||
FSTR?24
|
||||
FSTR?25
|
||||
FSTR?26
|
||||
FSTR?27
|
||||
FSTR?28
|
||||
FSTR?29
|
||||
FSTR?30
|
||||
FSTR?31
|
||||
FSTR?32
|
||||
FSTR?33
|
||||
FSTR?34
|
||||
FSTR?35
|
||||
FSTR?36
|
||||
FSTR?37
|
||||
FSTR?38
|
||||
FSTR?39
|
||||
FSTR?40
|
||||
FSTR?41
|
||||
FSTR?42
|
||||
FSTR?43
|
||||
FSTR?44
|
||||
FSTR?45
|
||||
FSTR?46
|
||||
FSTR?47
|
||||
FSTR?48
|
||||
FSTR?49
|
||||
FSTR?50
|
||||
FSTR?51
|
||||
FSTR?52
|
||||
FSTR?53
|
||||
FSTR?54
|
||||
FSTR?55
|
||||
FSTR?56
|
||||
FSTR?57
|
||||
FSTR?58
|
||||
FSTR?59
|
||||
FSTR?60
|
||||
FSTR?61
|
||||
FSTR?62
|
||||
FSTR?63
|
||||
FSTR?64
|
||||
FSTR?65
|
||||
FSTR?66
|
||||
FSTR?67
|
||||
FSTR?68
|
||||
FSTR?69
|
||||
FSTR?70
|
||||
FSTR?71
|
||||
FSTR?72
|
||||
FSTR?73
|
||||
FSTR?74
|
||||
FSTR?75
|
||||
FSTR?76
|
||||
FSTR?77
|
||||
FSTR?78
|
||||
FSTR?79
|
||||
FSTR?80
|
||||
FSTR?81
|
||||
FSTR?82
|
||||
FSTR?83
|
||||
FSTR?84
|
||||
FSTR?85
|
||||
FSTR?86
|
||||
FSTR?87
|
||||
FSTR?88
|
||||
FSTR?89
|
||||
FSTR?90
|
||||
FSTR?91
|
||||
FSTR?92
|
||||
FSTR?93
|
||||
FSTR?94
|
||||
FSTR?95
|
||||
FSTR?96
|
||||
.ENDT
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,419 @@
|
|||
|
||||
|
||||
; STRINGS ARE DEFINED HERE
|
||||
|
||||
STRBEG::
|
||||
|
||||
.GSTR STR?1,"You are inside an ancient barrow hidden deep within a dark forest. The barrow opens into a narrow tunnel at its southern end. You can see a faint glow at the far end."
|
||||
.GSTR STR?2,"You may not recall, but when you entered, the door of the barrow shut behind you. There is no way out."
|
||||
.GSTR STR?3,"You are standing at the southern end of a narrow tunnel where it opens into a wide cavern. The cavern is dimly illuminated by phosphorescent mosses clinging to its high ceiling. A deep ravine winds through the cavern, with a small stream at the bottom. The walls of the ravine are steep and crumbly. A foot bridge crosses the ravine to the south."
|
||||
.GSTR STR?4,"As you start down, you slip on the crumbling rocks and pull back, narrowly averting a fatal fall."
|
||||
.GSTR STR?5,"You are standing on a crude but sturdy wooden foot bridge crossing a deep ravine. The path runs north and south from here."
|
||||
.GSTR STR?6,"The drop would be fatal."
|
||||
.GSTR STR?7,"You'll have to specify a direction."
|
||||
.GSTR STR?8,"This is the center of the great cavern, carved out of the limestone. Stalactites and stalagmites of many sizes are everywhere. The room glows with dim light provided by phosphorescent moss, and weird shadows move all around you. A narrow path winds southwest among the stalagmites, and another leads northeast."
|
||||
.GSTR STR?9,"You are at the southern edge of a great cavern. To the south across a shallow ford is a dark tunnel which looks like it was once enlarged and smoothed. To the north a narrow path winds among stalagmites. Dim light illuminates the cavern."
|
||||
.GSTR STR?10,"This is a dark tunnel with dim light to the northeast. The tunnel is smooth but dusty and filled with twigs and leaves, debris which becomes deeper as the tunnel branches into a wide corridor leading southwest and a narrower one leading southeast."
|
||||
.GSTR STR?11,"There is a beautiful unicorn here cropping grass."
|
||||
.GSTR STR?12,"This is the northern end of a formal garden. Hedges hide the cavern walls, and if you don't look up, the illusion is of a cloudy day outside. The light comes from a large growth of glowing mosses on the roof of the cave. A break in the hedge is almost overgrown to the north. A carefully manicured path leads south. In the center of a rosebed is a small open structure, painted white. It appears to be a gazebo."
|
||||
.GSTR STR?13,"This is a gazebo in the midst of a formal garden. It is cool and restful here. A tea table adorns the center of the gazebo."
|
||||
.GSTR STR?14,"This is the middle part of a formal garden. Hedges hide the cavern walls and a dim illumination comes from mosses far above. The path is of small crushed white stones. It winds among bushes and flower beds from south to north. To the north a small structure can be seen. To the south are peculiarly shaped bushes. There is a small gap in the hedges to the west."
|
||||
.GSTR STR?15,"This is the southern end of a formal garden. Hedges hide the cavern walls and mosses provide dim illumination. Fantastically shaped hedges and bushes are arrayed with geometric precision. They have not recently been clipped, but you can discern creatures in the shapes of the bushes: There is a dragon, a unicorn, a great serpent, a huge misshapen dog, and several human figures. On the west side of the garden the path leads through a rose arbor into a tunnel."
|
||||
.GSTR STR?16,"The path follows the south edge of a deep ravine and heads northeast. A tunnel heads southwest, narrowing to a rather tight crawl. A faint whirring sound can be heard in that direction. On the east is a ruined archway choked with vegetation."
|
||||
.GSTR STR?17,"The ravine is extremely deep. You would never make it."
|
||||
.GSTR STR?18,"This is an arched hall of fine marble. The hall stops abruptly to the north at a ford across a stream, where the marble is cracked and broken. Perhaps a flood or collapse of the cave was responsible. To the south the hall opens into a large room. There is rather annoying whirring sound coming from that room."
|
||||
.GSTR STR?19,"That's a wall there."
|
||||
.GSTR STR?20,"You are fording the stream at a deep but not impossible spot. The water is very cold. The walls of the ravine rise to east and west. There is a small ledge along the north wall of the ravine. To the south is the entrance to a well-constructed but somewhat ruined hall."
|
||||
.GSTR STR?21,"The stream deepens rapidly, and you wisely return before drowning."
|
||||
.GSTR STR?22,"You notice that the ledge above would be a drier route west."
|
||||
.GSTR STR?23,"You are on a narrow ledge near the bottom of a deep ravine. The ledge continues to the west. A precarious climb up to another tiny ledge is possible. A short scramble down the rock face leads to a stream."
|
||||
.GSTR STR?24,"A ledge from the east ends here, and a tunnel leads north into the wall. There is a rather odd smokey odor in the warm air of the tunnel."
|
||||
.GSTR STR?25,"There are a lot of sharp rocks down there."
|
||||
.GSTR STR?26,"The room is a large cavern full of broken stone. The walls are scorched and there are deep scratches on the floor. A sooty dry smell is very strong here. A paved path winds from a large passage to the west, through the room, and across a huge stone bridge to the south. To the east a small crack is visible. A dark and smokey tunnel leads north."
|
||||
.GSTR STR?27,"The dragon hisses at you and blocks your way."
|
||||
.GSTR STR?28,"You are in the dragon's lair, where the rock walls are scarred by flame. A blackened doorway leads to the south."
|
||||
.GSTR STR?29,"A rotten old wooden chest is in one corner among the debris."
|
||||
.GSTR STR?30,"Nestled in the chest is a wrought gold statuette of a dragon."
|
||||
.GSTR STR?31,"A huge red dragon is lying on the rocks here, watching."
|
||||
.GSTR STR?32,"A huge red dragon is lying here, blocking the entrance to a tunnel leading north. Smoke curls from his nostrils and out between his teeth."
|
||||
.GSTR STR?33,"A huge dead dragon is lying half blocking the stream."
|
||||
.GSTR STR?34,"A beautiful young woman, wearing a dirty and bedraggled gown, sits on a rock in the corner. Her hair is unkempt and she is oblivious to your presence, almost in a trance."
|
||||
.GSTR STR?35,"A path leads east-west through a room decorated with beautiful frescoes of someone battling dragons and rescuing fair maidens. It is hard to tell who is doing this as those parts of the frescoes have been blackened and cracked by intense heat."
|
||||
.GSTR STR?36,"This is the middle of a ruined but still impressive stone bridge spanning a deep chasm. Water flows far beneath. A paved path leads north into a large open space. To the south, the path leads into a misty tunnel."
|
||||
.GSTR STR?37,"It's a long way down."
|
||||
.GSTR STR?38,"The room is cool and damp. The air is misty. A twisty path from the southeast splits here toward a wide northerly stone bridge, and a narrow westerly tunnel. It is from the latter that the mist and chill seem to originate."
|
||||
.GSTR STR?39," "
|
||||
.GSTR STR?40,"You don't even have an ice-pick."
|
||||
.GSTR STR?41,"You are in a tight chimney of solidified lava. It extends up at least another hundred feet and down to a large room far below. A large crack opens to the south, probably the result of a shift in the rock strata."
|
||||
.GSTR STR?42,"A winding corridor is filled with cobwebs. Some are broken and the dust on the floor is disturbed. The trend of the twists and turns is northeast to southwest. On the north side of one twist, high up, is a narrow crack."
|
||||
.GSTR STR?43,"This is a small chamber carved out of the rock at the end of a short crawl. On the wall is crudely chiseled the number ""8""."
|
||||
.GSTR STR?44,"You are trying to walk through an enormous rock."
|
||||
.GSTR STR?45,"This room looks like it was once a kennel for a very large dog (some of the bones would fit a dinosaur). It apparently hasn't been used for a long time, as the dust is fairly thick all over. The only exit is northeast."
|
||||
.GSTR STR?46,"A gigantic dog collar, large enough for three rhinoceros-sized dogs, is lying amidst the debris."
|
||||
.GSTR STR?47,"A long wooden club lies on the ground near the diamond-shaped window. The club is curiously burned at the thick end."
|
||||
.GSTR STR?48,"The words ""Babe Flathead"" are burned into the wood."
|
||||
.GSTR STR?49,"A marble stairway leads down into the gloom and a passage leads north."
|
||||
.GSTR STR?50,"A small room with oddly angled walls and passages in all directions."
|
||||
.GSTR STR?51,"This is the entrance to a huge crypt or tomb. A marble stairway leads up from a gateway arch."
|
||||
.GSTR STR?52,"The huge dog snaps nastily at you."
|
||||
.GSTR STR?53,"There is a vicious-looking dog guarding the entrance. It is more or less your usual dog, except that it has three heads and is the size of an elephant."
|
||||
.GSTR STR?54,"""Here lie the Flatheads, whose heads were placed on poles by the Keeper of the Dungeon for amazing untastefulness."""
|
||||
.GSTR STR?55,"This is the workshop of the Wizard of Frobozz."
|
||||
.GSTR STR?56,"This room is the Wizard's workroom. A hall continues east and west, and a larger room lies to the south. There are many shelves and racks on the walls, but the Wizard's workbench dominates the room. It is made of dark, heavy wood bound with iron. The workbench is stained from many years of use, and is deeply gouged as though some huge clawed animal was imprisoned on it. There are burn marks and even notes written in a crabbed hand. Many arcane items are scattered about the bench; alembics, mortar and pestle, small knives of various sizes, odd scraps of vellum, wax candles, and much more. In the center of a relatively clear area of the bench are affixed three stands - ruby, sapphire, and diamond - which form a triangle."
|
||||
.GSTR STR?57,"There is a strange black sphere here."
|
||||
.GSTR STR?58,"This is the Wizard's trophy room, filled with memorabilia of various sorts. On one wall is the Wizard's D. T. (Doctor of Thaumaturgy) degree from GUE Tech. Several old magic wands are mounted on a wand rack. A collection of dull and nicked swords testify to the fate of many foolhardy adventurers. Small bottles contain discarded homunculi (a few preserved in alcohol). There is a stuffed owl on a perch."
|
||||
.GSTR STR?59,"The text is in some obscure tongue. All that can be made out is a reference to ""sending in a matchbook cover."""
|
||||
.GSTR STR?60,"A hand-lettered label is affixed to the wall."
|
||||
.GSTR STR?61,"Warning!
|
||||
|
||||
The exhibits in this room are the property of the mighty Wizard of Frobozz (me), and are the fruits of diligent labor and study over many years. He who touches anything will regret it.
|
||||
|
||||
(signed)
|
||||
Frobozz
|
||||
"
|
||||
.GSTR STR?62,"Imbedded in the wall is an ornate trophy cabinet."
|
||||
.GSTR STR?63,"Shards of a smashed trophy case litter the room."
|
||||
.GSTR STR?64,"In this room, inscribed on the floor, is a great pentagram drawn with black chalk. In its center is a black circle."
|
||||
.GSTR STR?65,"Here a dark hallway turns a corner. To the south is a dark room, to the east is fitful light."
|
||||
.GSTR STR?66,"Filling the northern half of the room is a huge aquarium."
|
||||
.GSTR STR?67,"There is a clear crystal sphere lying in the sand."
|
||||
.GSTR STR?68,"There is a baby sea serpent swimming in the aquarium."
|
||||
.GSTR STR?69,"There is a dead sea serpent in a heap here."
|
||||
.GSTR STR?70,"The floor here seems to be made of sand, but it is hard to see anything else."
|
||||
.GSTR STR?71,"This is a former broom closet. The exits are to the east and west."
|
||||
.GSTR STR?72,"You are at the bottom of a large dormant volcano. High above you light enters from the cone of the volcano. The only exit is to the north."
|
||||
.GSTR STR?73,"You are about one hundred feet above the bottom of the volcano. The top of the volcano is clearly visible here."
|
||||
.GSTR STR?74,"You are about two hundred feet above the volcano floor. Looming above is the rim of the volcano. There is a small ledge on the west side."
|
||||
.GSTR STR?75,"You are high above the floor of the volcano. The rim of the volcano looks very narrow and you are very near it. To the east is what appears to be a viewing ledge, too thin to land on."
|
||||
.GSTR STR?76,"You are near the rim of the volcano. Above you it is open to the sky. To the west, there is a place to land on a wide ledge."
|
||||
.GSTR STR?77,"You are on a narrow ledge within an old dormant volcano. This ledge is about halfway between the floor below and the rim above. There is an exit to the south."
|
||||
.GSTR STR?78,"I wouldn't jump from here."
|
||||
.GSTR STR?79,"This must have been a large library, probably for the royal family. All of the shelves have been gnawed to pieces by unfriendly gnomes. To the north is an exit."
|
||||
.GSTR STR?80,"You are on a ledge in the middle of a large volcano. Below you the volcano bottom can be seen and above is the rim of the volcano. A couple of ledges can be seen on the other side of the volcano; it appears that this ledge is intermediate in elevation between those on the other side. The exit from this room is to the east."
|
||||
.GSTR STR?81,"I wouldn't try that."
|
||||
.GSTR STR?82,"It is impossible to cross this distance."
|
||||
.GSTR STR?83,"This is a small room, whose walls are formed by an old lava flow. There are exits here to the east and the south."
|
||||
.GSTR STR?84,"This is a large room full of assorted heavy machinery, whirring noisily. The room smells of burned resistors. Along one wall are three buttons which are, respectively, round, triangular, and square. Naturally, above these buttons are instructions written in EBCDIC. A large sign in English above all the buttons says
|
||||
""DANGER -- HIGH VOLTAGE""
|
||||
There are exits to the west and the south."
|
||||
.GSTR STR?85,"This is a dingy closet adjacent to a larger room to the north. Chiselled into a wall are these words:
|
||||
|
||||
Protected by
|
||||
FROBOZZ
|
||||
Magic Alarm Company
|
||||
(Hello, footpad!)
|
||||
|
||||
There doesn't seem to be any footpad here, however."
|
||||
.GSTR STR?86,"You are trapped inside a solid steel cage."
|
||||
.GSTR STR?87,"You are at the top of the well. Well done. There are etchings on the side of the well. There is a small crack across the floor at the entrance to a room on the east, but it can be crossed easily."
|
||||
.GSTR STR?88,"It's a long way down!"
|
||||
.GSTR STR?89,"This is a damp circular room, whose walls are made of brick and mortar. The roof of this room is not visible, but there appear to be some etchings on the walls. There is a passageway to the west."
|
||||
.GSTR STR?90,"The walls cannot be climbed."
|
||||
.GSTR STR?91,"This is a small room containing a large oblong table, no doubt set for afternoon tea. It is clear from the objects on the table that the users were indeed mad. In the eastern corner of the room is a small hole (no more than four inches high). There are passageways leading away to the west and the northwest."
|
||||
.GSTR STR?92,"Only a mouse could get in there."
|
||||
.GSTR STR?93,"This is an enormous room, in the center of which are four wooden posts delineating a rectangular area, above which is what appears to be a wooden roof. In fact, all objects in this room appear to be abnormally large. To the east is a passageway. There are large gaping chasms to the west and northwest."
|
||||
.GSTR STR?94,"A great chasm blocks your way."
|
||||
.GSTR STR?95,"This is a large room, one half of which is depressed. Salty water flows from a large leak in the ceiling. The only exit is to the west."
|
||||
.GSTR STR?96,"This is the entrance hall of the Bank of Zork, the largest banking institution of the Great Underground Empire. A partial account of its history is in ""The Lives of the Twelve Flatheads,"" in the chapter on J. Pierpont Flathead. A more detailed history (albeit less objective) may be found in Flathead's outrageous autobiography ""I'm Rich and You Aren't - So There!"". Most of the furniture has been ravaged by passing scavengers. All that remains are two signs at the northwest and northeast corners of the room, which say:
|
||||
|
||||
<-- VIEWING ROOMS -->
|
||||
|
||||
The way out (ornate but tasteful) is to the east. "
|
||||
.GSTR STR?97,"This room was used by holders of safety deposit boxes to view their contents. On the north side of the room is a sign which says:
|
||||
|
||||
""Remain here while the teller retrieves your safety deposit box. When you are finished, leave the box, and exit to the south. Safety deposit boxes cannot be removed from this room!
|
||||
|
||||
Thank You for Banking at the Zork!"" "
|
||||
.GSTR STR?98,"This room was used by holders of safety deposit boxes to view their contents. On the north side of the room is a sign which says
|
||||
|
||||
""Remain here while the teller retrieves your safety deposit box. When you are finished, leave the box, and exit to the south. Safety deposit boxes cannot be removed from this room!
|
||||
|
||||
Thank You for Banking at the Zork!"" "
|
||||
.GSTR STR?99,"This is a small, bare room with no distinguishing features. There are no exits from this room."
|
||||
.GSTR STR?100,"This is the Vault of the Bank of Zork, in which there are no doors."
|
||||
.GSTR STR?101,"This is a large rectangular room. The east and west walls were used for storing safety deposit boxes, but all have been carefully removed by evil persons. To the east, west, and south of the room are large doorways. The northern ""wall"" of the room is a shimmering curtain of light. In the center of the room is a large stone cube, about 10 feet on a side. Engraved on the side of the cube is some lettering."
|
||||
.GSTR STR?102,"There is a curtain of light there."
|
||||
.GSTR STR?103,"This room was the office of the Chairman of the Bank of Zork. Like the other rooms here, it has been extensively vandalized. The lone exit is to the north."
|
||||
.GSTR STR?104,"There is a matchbook saying ""Visit ZORK I"" here."
|
||||
.GSTR STR?105,""">> Visit Exotic ZORK I <<
|
||||
|
||||
Consult the Frobozz Magic Travel Agency, or visit your local computer store for more details."""
|
||||
.GSTR STR?106,"There is a nervous Volcano Gnome here."
|
||||
.GSTR STR?107,"There is a blue label here."
|
||||
.GSTR STR?108," !! FROBOZZ MAGIC BALLOON COMPANY !!
|
||||
|
||||
Hello, Aviator!
|
||||
|
||||
To land your balloon, say LAND
|
||||
Otherwise, you're on your own!
|
||||
|
||||
No warranty expressed or implied."
|
||||
.GSTR STR?109,"There is a square brick here which feels like clay."
|
||||
.GSTR STR?110,"The room is cluttered with debris from an explosion. The walls seem ready to collapse."
|
||||
.GSTR STR?111,"There is a balloon here, broken into pieces."
|
||||
.GSTR STR?112,"There is a card with writing on it here."
|
||||
.GSTR STR?113," Warning:
|
||||
This room was constructed over very weak rock strata. Detonation of explosives in this room is strictly prohibited!
|
||||
Frobozz Magic Cave Company
|
||||
per M. Agrippa, foreman
|
||||
"
|
||||
.GSTR STR?114,"The excessively gaudy crown of Lord Dimwit Flathead sits in the safe."
|
||||
.GSTR STR?115,"Lord Dimwit's crown is here."
|
||||
.GSTR STR?116,"There is a beautiful red crystal sphere here."
|
||||
.GSTR STR?117,"There is a Stradivarius here."
|
||||
.GSTR STR?118,"A mass of ice fills the western half of the room."
|
||||
.GSTR STR?119,"A stoppered glass flask with a skull-and-crossbones marking is here. The flask is filled with some clear liquid."
|
||||
.GSTR STR?120,"There is a skull-and-crossbones engraved on the glass."
|
||||
.GSTR STR?121,"There is a green piece of paper here."
|
||||
.GSTR STR?122,"!! FROBOZZ MAGIC ROBOT COMPANY !!
|
||||
|
||||
Hello, Master!
|
||||
|
||||
I am a late-model robot, trained at GUE Tech to perform various simple household functions.
|
||||
|
||||
To activate me, say the following:
|
||||
|
||||
>ROBOT, <things to do>
|
||||
|
||||
At your service!"
|
||||
.GSTR STR?123,"There is a small hook attached to the rock here."
|
||||
.GSTR STR?124,"A strangely familiar brass lantern is lying on the ground."
|
||||
.GSTR STR?125,"There is a mangled steel cage here."
|
||||
.GSTR STR?126,"There is a pearl necklace here with hundreds of large pearls."
|
||||
.GSTR STR?127,"The icing spells out ""Eat Me."""
|
||||
.GSTR STR?128,"The leak has submerged the depressed area in a pool of tears. There is a hazy something at the deepest part of the pool."
|
||||
.GSTR STR?129,"On the floor is a priceless gold zorkmid (a valuable collector's item)."
|
||||
.GSTR STR?130,"There is an engraved zorkmid here."
|
||||
.GSTR STR?131,"This is a beautiful octagonal coin bearing the legends ""Ten Thousand Zorkmids"" and ""In Frobs We Trust""."
|
||||
.GSTR STR?132,"There is a Flathead stamp here."
|
||||
.GSTR STR?133,"This three zorkmid stamp bears a portrait of Lord Dimwit Flathead, ""Our Excessive Leader""."
|
||||
.GSTR STR?134,"A handsome book, bound in green leather, sits in the center of the room."
|
||||
.GSTR STR?135,"This book is written in a tongue with which I am unfamiliar."
|
||||
.GSTR STR?136,"Worn and battered in one corner of the room is a blue book."
|
||||
.GSTR STR?137,"Right beside the purple book sits a white one."
|
||||
.GSTR STR?138,"It is written in an unfamiliar tongue and details the use of various magical objects, chiefly the so-called ""magic wand"". Apparently these devices work by pointing them at the object to be ensorcelled, and then chanting the appropriate magic words. (It's truly amazing how credulous these ancients were, isn't it?)"
|
||||
.GSTR STR?139,"Lying in the dust, and covered with mold, is a purple book."
|
||||
.GSTR STR?140,"This book is written in a tongue with which I am unfamiliar. Assuming that one can indeed tell a book by its cover, it is likely filled with purple prose, the like of which is rarely seen outside the Great Underground Empire."
|
||||
.GSTR STR?141,"There is a robot here."
|
||||
.GSTR STR?142,"On the floor lies a moby ruby."
|
||||
.GSTR STR?143,"There is a moby ruby lying here."
|
||||
.GSTR STR?144,"There is a dented steel box here."
|
||||
.GSTR STR?145,"There is a solid steel cage in the middle of the room."
|
||||
.GSTR STR?146,"There is a package of candied goodies here."
|
||||
.GSTR STR?147,"There is a coil of black, braided string here."
|
||||
.GSTR STR?148,"There is a wooden bucket here, 3 feet in diameter and 3 feet high."
|
||||
.GSTR STR?149,"200 neatly stacked zorkmid bills are here."
|
||||
.GSTR STR?150,"On the floor sit 200 neatly stacked zorkmid bills."
|
||||
.GSTR STR?151,"Each bill is worth 100 zorkmids, and bears the legend ""In Frobs We Trust""."
|
||||
.GSTR STR?152,"The portrait of J. Pierpont Flathead is here."
|
||||
.GSTR STR?153,"A portrait of J. Pierpont Flathead hangs on the wall."
|
||||
.GSTR STR?154,"On the ground is a small, worn piece of paper."
|
||||
.GSTR STR?155,"The paper is barely readable. You can only make out ""... valuables are completely safe ... advanced magic technology ... impossible to take valuables from the depository ... either teller's ... Many customers faint ... teller pops in ... seems to walk through ... walls ..."""
|
||||
.GSTR STR?156,"There is a Gnome of Zurich here."
|
||||
.GSTR STR?157,"In the center of the table sits a blue crystal sphere."
|
||||
.GSTR STR?158,"** U.S. News and Dungeon Report **
|
||||
|
||||
FAMED ADVENTURER TO EXPLORE GREAT UNDERGROUND EMPIRE
|
||||
|
||||
Our correspondents report that a world-famous and battle-hardened adventurer has been seen in the vicinity of the Great Underground Empire. Local grues have been reported sharpening their (slavering) fangs....
|
||||
|
||||
""Zork II: The Wizard of Frobozz"" was written by Dave Lebling and Marc Blank, and is (c) Copyright 1981, 1982, 1983 by Infocom, Inc."
|
||||
.GSTR STR?159,"There is some water here."
|
||||
.GSTR STR?160,"There is a demon floating in midair here."
|
||||
.GSTR STR?161,"The Wizard of Frobozz is here, eyeing you warily."
|
||||
.GSTR STR?162,"An Elvish sword of great antiquity is here."
|
||||
.GSTR STR?163,"A sword of Elvish workmanship is on the ground."
|
||||
.GSTR STR?164,"A spray can is in the corner. In large type is the legend ""Frobozz Magic Grue Repellent""."
|
||||
.GSTR STR?165,"!!! FROBOZZ MAGIC GRUE REPELLENT !!!
|
||||
|
||||
Instructions for use: Apply liberally to creature to be protected. Duration of effect is unpredictable. Use only in place of death!
|
||||
|
||||
(No warranty expressed or implied)"
|
||||
.GSTR STR?166,"F"
|
||||
.GSTR STR?167,"If you insist.... Poof, you're dead!"
|
||||
.GSTR STR?168," it at the time."
|
||||
.GSTR STR?169,"Kicking the "
|
||||
.GSTR STR?170,"You should have looked before you leaped."
|
||||
.GSTR STR?171,"In the movies, your life would be passing before your eyes."
|
||||
.GSTR STR?172,"Geronimo..."
|
||||
.GSTR STR?173,"Playing in this way with the "
|
||||
.GSTR STR?174,"Pushing the "
|
||||
.GSTR STR?175,"Fiddling with the "
|
||||
.GSTR STR?176,"Very good. Now you can go to the second grade."
|
||||
.GSTR STR?177,"Are you enjoying yourself?"
|
||||
.GSTR STR?178,"Wheeeeeeeeee!!!!!"
|
||||
.GSTR STR?179,"Do you expect me to applaud?"
|
||||
.GSTR STR?180," hits you squarely in the head. Normally, this wouldn't do much damage, but by incredible mischance, you fall over backwards trying to duck, and break your neck, justice being swift and merciful in the Great Underground Empire."
|
||||
.GSTR STR?181,"Oh, no! You have walked into the slavering fangs of a lurking grue!"
|
||||
.GSTR STR?182,"Waving the "
|
||||
.GSTR STR?183," "
|
||||
.GSTR STR?184," "
|
||||
.GSTR STR?185," "
|
||||
.GSTR STR?186," "
|
||||
.GSTR STR?187," "
|
||||
.GSTR STR?188," doesn't seem to work."
|
||||
.GSTR STR?189," isn't notably helpful."
|
||||
.GSTR STR?190," has no effect."
|
||||
.GSTR STR?191," and devoured you!"
|
||||
.GSTR STR?192,"You can't swim in the dungeon."
|
||||
.GSTR STR?193,"Hello."
|
||||
.GSTR STR?194,"Good day."
|
||||
.GSTR STR?195,"Nice weather we've been having lately."
|
||||
.GSTR STR?196,"Goodbye."
|
||||
.GSTR STR?197,"A valiant attempt."
|
||||
.GSTR STR?198,"You can't be serious."
|
||||
.GSTR STR?199,"An interesting idea..."
|
||||
.GSTR STR?200,"What a concept!"
|
||||
.GSTR STR?201,"Look around."
|
||||
.GSTR STR?202,"Too late for that."
|
||||
.GSTR STR?203,"Have your eyes checked."
|
||||
.GSTR STR?204,"burning"
|
||||
.GSTR STR?205,"nestled"
|
||||
.GSTR STR?206,"The balloon floats majestically out of the volcano, revealing a breathtaking view of a wooded river valley surrounded by impassable mountains. In a clearing stands a white house. You drift into high winds, which carry you towards the snow-capped peaks. Oh, no! You crash into the jagged cliffs of the Flathead Mountains!"
|
||||
.GSTR STR?207,"ascends."
|
||||
.GSTR STR?208,"floats away. It seems to be ascending, due to its light load."
|
||||
.GSTR STR?209,"lifts off."
|
||||
.GSTR STR?210,"lands."
|
||||
.GSTR STR?211,"descends."
|
||||
.GSTR STR?212,"Now you've done it. It seems that the brick has other properties than weight, namely the ability to blow you to smithereens."
|
||||
.GSTR STR?213,"The way is blocked by debris from an explosion."
|
||||
.GSTR STR?214,"The room trembles and 5000 tons of rock fall on you, turning you into a pancake."
|
||||
.GSTR STR?215,"The ledge collapses, probably as a result of the explosion, and plummets to the ground far below. Sadly, you were still attached to the ledge."
|
||||
.GSTR STR?216,"The force of the recent explosion has caused the ledge to collapse."
|
||||
.GSTR STR?217,"The ledge has collapsed and cannot be landed on."
|
||||
.GSTR STR?218,"Although the Flatheads are dead, they foresaw that some cretin might tamper with their remains. Therefore, they took steps to punish such actions."
|
||||
.GSTR STR?219,"The crypt door squeaks open."
|
||||
.GSTR STR?220,"The crypt door squeaks closed."
|
||||
.GSTR STR?221,"The secret door opens noiselessly."
|
||||
.GSTR STR?222,"The secret door closes noiselessly."
|
||||
.GSTR STR?223,"The green curves begin to vibrate toward you, as if searching for something. One by one your possessions glow bright green. Finally, you are attacked by these magical wardens, and destroyed!"
|
||||
.GSTR STR?224,"If you insist."
|
||||
.GSTR STR?225,"That was delicious, but your dying memory is of feeling horribly dehydrated and thirsty."
|
||||
.GSTR STR?226,"The room seems to have become too small to hold you. The walls are not as compressible as your body, which is demolished."
|
||||
.GSTR STR?227,"You enter the pool, thrash around for a good while, and then drown. Sad, but true."
|
||||
.GSTR STR?228,"Noxious vapors prevent your entry."
|
||||
.GSTR STR?229,"As you pass out, you realize that the vapors from the flask's contents are fatal."
|
||||
.GSTR STR?230,"The entrance is blocked by sticky orange rubble. Probably some careless adventurer was playing with blasting cakes."
|
||||
.GSTR STR?231,"You have been blasted to smithereens (wherever they are)."
|
||||
.GSTR STR?232,"According to Prof. TAA of GUE Tech, the rapidly changing magnetic fields in the room are intense enough to electrocute you. I really don't know, but in any event, something just killed you."
|
||||
.GSTR STR?233,"According to Prof. TAA of GUE Tech, the magnetic fields in the room are intense enough to fry the delicate innards of the robot. I really don't know, but in any event, smoke pours from its ears and it has stopped moving."
|
||||
.GSTR STR?234,"There is a giant spark and you are fried to a crisp."
|
||||
.GSTR STR?235,"As the robot reaches for the sphere, a solid steel cage falls from the ceiling, trapping him. You can faintly hear his last words: ""Whirr, buzz, click!"" A cloud of smoke rising from beneath the cage confirms your fears about the fate of your brave mechanical friend."
|
||||
.GSTR STR?236,"You are stopped by a cloud of poisonous gas."
|
||||
.GSTR STR?237,"Time passes...and you die from some obscure poisoning."
|
||||
.GSTR STR?238,"A metallic voice says ""Hello, Intruder! Your unauthorized presence in the vault of the Bank of Zork has set off all sorts of nasty surprises, most of which are fatal. This message brought to you by the Frobozz Magic Vault Company."""
|
||||
.GSTR STR?239,"north"
|
||||
.GSTR STR?240,"south"
|
||||
.GSTR STR?241,"red"
|
||||
.GSTR STR?242,"blue"
|
||||
.GSTR STR?243,"white"
|
||||
.GSTR STR?244,"black"
|
||||
.GSTR STR?245,"The door is now open."
|
||||
.GSTR STR?246,"The door is now closed."
|
||||
.GSTR STR?247,"The lamp appears a bit dimmer."
|
||||
.GSTR STR?248,"The lamp is definitely dimmer now."
|
||||
.GSTR STR?249,"The lamp is nearly out."
|
||||
.GSTR STR?250,"You think it isn't?"
|
||||
.GSTR STR?251,"I think you've already done that."
|
||||
.GSTR STR?252,"You find yourself drawn toward the edge of the bridge. You peer over the side. Oops, that was clumsy of you! You tripped on something and fell in. Too bad."
|
||||
.GSTR STR?253,"For some odd reason you have tripped on your own feet, or perhaps an invisible cord stretched across the path. The resulting fall seems to have done you in."
|
||||
.GSTR STR?254,"dark"
|
||||
.GSTR STR?255,"flickering dimly"
|
||||
.GSTR STR?256,"dimly glowing"
|
||||
.GSTR STR?257,"glowing"
|
||||
.GSTR STR?258,"glowing brightly"
|
||||
.GSTR STR?259,"first"
|
||||
.GSTR STR?260,"second"
|
||||
.GSTR STR?261,"third"
|
||||
.GSTR STR?262,"home"
|
||||
.GSTR STR?263,"The dog-thing snaps at you viciously, and succeeds. Your head, it seems, is only a small mouthful for the poor animal, who is just as hungry afterward."
|
||||
.GSTR STR?264,"An insipidly grinning three-headed dog is wagging its tail here. It is wearing a huge dog collar."
|
||||
.GSTR STR?265,"Cerberus tears you limb from limb! What ferocity!"
|
||||
.GSTR STR?266,"That wasn't such a good idea. The creature was enjoying being your pet. As you unfasten the collar, the disappointed monster hound begins to growl, and then its three fang-crammed mouths rend you into little doggy biscuits."
|
||||
.GSTR STR?267,"Dragon hide is tough as steel, but you have succeeded in annoying him a bit. He looks at you as if deciding whether or not to eat you."
|
||||
.GSTR STR?268,"That captured his interest. He stares at you balefully."
|
||||
.GSTR STR?269,"The dragon is surprised and interested (for the moment)."
|
||||
.GSTR STR?270,"You've made him rather angry. You had better be very careful now."
|
||||
.GSTR STR?271,"That did no damage, but he turns his smoky yellow eyes in your direction and sighs."
|
||||
.GSTR STR?272,"incinerates you in a blast of white-hot dragon fire."
|
||||
.GSTR STR?273,"A huge ball of flame envelops you, but you don't even feel the heat. The dragon is puzzled, but not too puzzled to crush you in his jaws."
|
||||
.GSTR STR?274,"Worse for you, his mouth opens and a great gout of flame puffs out and consumes you on the spot."
|
||||
.GSTR STR?275,"The topiary animals attack! You are crushed by their branches and clawed by their thorns."
|
||||
.GSTR STR?276,"There is a large, white animal partly hidden behind some trees."
|
||||
.GSTR STR?277,"You catch a glimpse of something white between two hedges."
|
||||
.GSTR STR?278,"A unicorn is cropping grass on the other side of the room. A gold key hangs from a ribbon around its neck."
|
||||
.GSTR STR?279,"There is a beautiful unicorn eating roses here. Around his neck is a red satin ribbon on which is strung a tiny key."
|
||||
.GSTR STR?280,"There is a dishevelled and slightly unkempt princess here."
|
||||
.GSTR STR?281,"east"
|
||||
.GSTR STR?282,"west"
|
||||
.GSTR STR?283,"down"
|
||||
.GSTR STR?284,"up"
|
||||
.GSTR STR?285,"in"
|
||||
.GSTR STR?286,"out"
|
||||
.GSTR STR?287,"The door creaks open."
|
||||
.GSTR STR?288,"The door reluctantly closes."
|
||||
.GSTR STR?289,"You drop into the aquarium with a splash (which attracts the serpent). He greedily eats you. He's just a baby, after all, and needs all the food he can get."
|
||||
.GSTR STR?290,"Oh dear, you have cut yourself severely on the broken glass. I'm afraid you've bled to death."
|
||||
.GSTR STR?291,"The flask shatters, and poison gas fills the room!"
|
||||
.GSTR STR?292,"A shattered aquarium fills the northern half of the room."
|
||||
.GSTR STR?293,"I guess you were too careless."
|
||||
.GSTR STR?294,"He takes you instead. *Uurrp!*"
|
||||
.GSTR STR?295,"""Foolish mortal, if you insist..."" The demon crushes you with one blow of his enormous hand."
|
||||
.GSTR STR?296,"A dejected and fearful Wizard watches from the corner."
|
||||
.GSTR STR?297,"Most fine, master! But 'tis not enough. I will do a great service, and are not great services bought at great price?"
|
||||
.GSTR STR?298,"Very nice, but not enough!"
|
||||
.GSTR STR?299,"Ah, truly magnificent! Keep them coming."
|
||||
.GSTR STR?300,"Almost halfway there, oh worthy one!"
|
||||
.GSTR STR?301,"Oh, such beauty! Your generosity almost overwhelms me!"
|
||||
.GSTR STR?302,"Truly I shall do thee a wonderful service when thou hast finished!"
|
||||
.GSTR STR?303,"Truly you are most generous! But still, this is yet not enough."
|
||||
.GSTR STR?304,"A fine gift, mighty one, you have almost reached my fee."
|
||||
.GSTR STR?305,"Wondrous fine, master! But one treasure is yet to be given!"
|
||||
.GSTR STR?306,"You plunge to the bottom of the shaft as the spell wears off."
|
||||
.GSTR STR?307,"As the spell wears off, you find yourself making a half-gainer towards the bottom of the volcano."
|
||||
.GSTR STR?308,"You plummet to the bottom of the shaft."
|
||||
.GSTR STR?309,"You make a rather messy swan dive to the bottom of the volcano."
|
||||
.GSTR STR?310,"Feeble"
|
||||
.GSTR STR?311,"Fumble"
|
||||
.GSTR STR?312,"Fear"
|
||||
.GSTR STR?313,"Filch"
|
||||
.GSTR STR?314,"Freeze"
|
||||
.GSTR STR?315,"Fall"
|
||||
.GSTR STR?316,"Ferment"
|
||||
.GSTR STR?317,"Fierce"
|
||||
.GSTR STR?318,"Float"
|
||||
.GSTR STR?319,"Fireproof"
|
||||
.GSTR STR?320,"Fence"
|
||||
.GSTR STR?321,"Fantasize"
|
||||
.GSTR STR?322,"All at once you feel very tired."
|
||||
.GSTR STR?323,"You look at the Wizard in terror. You scramble away, trying to get as far as possible from him."
|
||||
.GSTR STR?324,"Your limbs suddenly feel like they have turned to stone. You can't move a muscle."
|
||||
.GSTR STR?325,"You begin to feel lightheaded."
|
||||
.GSTR STR?326,"You rush at the Wizard, intending to tear him limb from limb."
|
||||
.GSTR STR?327,"You feel more energetic now."
|
||||
.GSTR STR?328,"You suddenly decide that the Wizard isn't that terrifying..."
|
||||
.GSTR STR?329,"Your little finger begins to twitch, and then your whole body is free again."
|
||||
.GSTR STR?330,"Your head is clearer now."
|
||||
.GSTR STR?331,"You feel cooler and less angry now."
|
||||
.GSTR STR?332,"You sink quietly down again."
|
||||
.GSTR STR?333,"The Wizard snatches the wand away, muttering the word ""Float"" at the robot. Unfortunately he has no floating-point processor and dies in a vain attempt to divide 4.85 by 3.62."
|
||||
.GSTR STR?334,"The wand was still recharging from its last use. It discharges magic all over everything. You turn into a toad, the room fills with a fetid smell, and all sorts of other grubby things happen. Then the wand explodes!"
|
||||
.GSTR STR?335,"sparsely furnished and almost monkish in its austerity."
|
||||
.GSTR STR?336,"an opulently furnished seraglio out of an Arabian folktale."
|
||||
.GSTR STR?337,"decorated in the Louis XIV style."
|
||||
.GSTR STR?338,"overhung with palm-trees and lianas. The only furniture is a hammock."
|
||||
.GSTR STR?339,"constructed of delicate and wispy cloud-stuffs."
|
||||
.GSTR STR?340,"furnished in plastic and metal and looks like the control deck of a spaceship."
|
||||
.GSTR STR?341,"a suburban bedroom out of the 1950's, complete with bunk beds."
|
||||
.GSTR STR?342,"a dank and dimly lighted cave, its floor piled with furs and old bones."
|
||||
.GSTR STR?343,"You execute a perfect swan-dive into the depths below."
|
||||
.GSTR STR?344,"pile of jewels"
|
||||
.GSTR STR?345,"gold ingot"
|
||||
.GSTR STR?346,"basilisk"
|
||||
.GSTR STR?347,"bulging chest"
|
||||
.GSTR STR?348,"yellow sphere"
|
||||
.GSTR STR?349,"grue"
|
||||
.GSTR STR?350,"convention of wizards"
|
||||
.GSTR STR?351,"copy of ZORK I"
|
||||
|
||||
.ENDI
|
Loading…
Reference in New Issue