Final Revision
parent
34cc828c4f
commit
87a3b787d1
489
1actions.zil
489
1actions.zil
|
@ -64,10 +64,14 @@ to brush them with." CR>)
|
|||
<ROUTINE GRANITE-WALL-F ()
|
||||
<COND (<EQUAL? ,HERE ,NORTH-TEMPLE>
|
||||
<COND (<VERB? FIND>
|
||||
<TELL "The west wall is solid granite here." CR>)>)
|
||||
<TELL "The west wall is solid granite here." CR>)
|
||||
(<VERB? TAKE RAISE LOWER>
|
||||
<TELL "It's solid granite." CR>)>)
|
||||
(<EQUAL? ,HERE ,TREASURE-ROOM>
|
||||
<COND (<VERB? FIND>
|
||||
<TELL "The east wall is solid granite here." CR>)>)
|
||||
<TELL "The east wall is solid granite here." CR>)
|
||||
(<VERB? TAKE RAISE LOWER>
|
||||
<TELL "It's solid granite." CR>)>)
|
||||
(<EQUAL? ,HERE ,SLIDE-ROOM>
|
||||
<COND (<VERB? FIND READ>
|
||||
<TELL "It only SAYS \"Granite Wall\"." CR>)
|
||||
|
@ -122,8 +126,20 @@ It is clear that the owners must have been extremely wealthy." CR>)
|
|||
(<VERB? BURN>
|
||||
<TELL "You must be joking." CR>)>>
|
||||
|
||||
;"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)>)>>
|
||||
|
||||
<ROUTINE FOREST-F ()
|
||||
<COND (<VERB? WALK-AROUND>
|
||||
<COND (<OR <EQUAL? ,HERE
|
||||
,WEST-OF-HOUSE ,NORTH-OF-HOUSE
|
||||
,SOUTH-OF-HOUSE>
|
||||
<EQUAL? ,HERE ,EAST-OF-HOUSE>>
|
||||
<TELL "You aren't even in the forest." CR>)>
|
||||
<GO-NEXT ,FOREST-AROUND>)
|
||||
(<VERB? DISEMBARK>
|
||||
<TELL "You will have to specify a direction." CR>)
|
||||
|
@ -140,7 +156,7 @@ It is clear that the owners must have been extremely wealthy." CR>)
|
|||
|
||||
<ROUTINE WATER-F ("AUX" AV W PI?)
|
||||
<COND (<VERB? SGIVE> <RFALSE>)
|
||||
(<VERB? THROUGH>
|
||||
(<VERB? THROUGH BOARD>
|
||||
<TELL <PICK-ONE ,SWIMYUKS> CR>
|
||||
<RTRUE>)
|
||||
(<VERB? FILL> ;"fill bottle with water =>"
|
||||
|
@ -153,8 +169,9 @@ It is clear that the owners must have been extremely wealthy." CR>)
|
|||
<EQUAL? ,PRSO ,WATER>>
|
||||
<SET W ,PRSO>
|
||||
<SET PI? <>>)
|
||||
(<SET W ,PRSI>
|
||||
<SET PI? T>)>
|
||||
(ELSE
|
||||
<SET W ,PRSI>
|
||||
<COND (.W <SET PI? T>)>)>
|
||||
<COND (<EQUAL? .W ,GLOBAL-WATER>
|
||||
<SET W ,WATER>
|
||||
<COND (<VERB? TAKE PUT> <REMOVE-CAREFULLY .W>)>)>
|
||||
|
@ -192,8 +209,19 @@ It is clear that the owners must have been extremely wealthy." CR>)
|
|||
"It's in the bottle. Perhaps you should take that instead." CR>)
|
||||
(T
|
||||
<TELL "The water slips through your fingers." CR>)>)
|
||||
(.PI? <TELL "Nice try." CR>)
|
||||
(.PI?
|
||||
<COND (<AND <VERB? PUT>
|
||||
<GLOBAL-IN? ,RIVER ,HERE>>
|
||||
<PERFORM ,V?PUT ,PRSO ,RIVER>)
|
||||
(ELSE
|
||||
<TELL "Nice try." CR>)>
|
||||
<RTRUE>)
|
||||
(<VERB? DROP GIVE>
|
||||
<COND (<AND <VERB? DROP>
|
||||
<IN? ,WATER ,BOTTLE>
|
||||
<NOT <FSET? ,BOTTLE ,OPENBIT>>>
|
||||
<TELL "The bottle is closed." CR>
|
||||
<RTRUE>)>
|
||||
<REMOVE-CAREFULLY ,WATER>
|
||||
<COND (.AV
|
||||
<TELL "There is now a puddle in the bottom of the "
|
||||
|
@ -288,10 +316,11 @@ It is clear that the owners must have been extremely wealthy." CR>)
|
|||
|
||||
<ROUTINE FLY-ME ()
|
||||
<FWEEP 4>
|
||||
<TELL CR
|
||||
<TELL
|
||||
"The bat grabs you by the scruff of your neck and lifts you away...." CR CR>
|
||||
<GOTO <PICK-ONE ,BAT-DROPS> <>>
|
||||
<V-FIRST-LOOK>
|
||||
<COND (<NOT <EQUAL? ,HERE ,ENTRANCE-TO-HADES>>
|
||||
<V-FIRST-LOOK>)>
|
||||
T>
|
||||
|
||||
<ROUTINE FWEEP (N)
|
||||
|
@ -398,7 +427,7 @@ is completed in \"ZORK III: The Dungeon Master.\"" CR>)
|
|||
(T
|
||||
<TELL "
|
||||
ZORK: The Great Underground Empire.|" CR>)>
|
||||
<V-QUIT <>>)>>
|
||||
<FINISH>)>>
|
||||
|
||||
<ROUTINE BARROW-DOOR-FCN ()
|
||||
<COND (<VERB? OPEN CLOSE>
|
||||
|
@ -610,8 +639,8 @@ uncomfortable, you stand up again." CR>)
|
|||
|
||||
<ROUTINE TROLL-FCN ("OPTIONAL" (MODE <>))
|
||||
<COND (<VERB? TELL>
|
||||
<TELL "The troll isn't much of a conversationalist." CR>
|
||||
<SETG P-CONT <>>)
|
||||
<SETG P-CONT <>>
|
||||
<TELL "The troll isn't much of a conversationalist." CR>)
|
||||
(<EQUAL? .MODE ,F-BUSY?>
|
||||
<COND (<IN? ,AXE ,TROLL> <>)
|
||||
(<AND <IN? ,AXE ,HERE> <PROB 75 90>>
|
||||
|
@ -738,7 +767,7 @@ his guttural tongue." CR>)
|
|||
|
||||
"SUBTITLE GRATING/MAZE"
|
||||
|
||||
<GLOBAL LEAVES-GONE <>>
|
||||
;<GLOBAL LEAVES-GONE <>> ;"no longer used?"
|
||||
<GLOBAL GRATE-REVEALED <>>
|
||||
<GLOBAL GRUNLOCK <>>
|
||||
|
||||
|
@ -1020,7 +1049,7 @@ drawing you over the railing and down." CR>
|
|||
<JIGS-UP
|
||||
"I'm afraid that the leap you attempted has done you in.">)>)>>
|
||||
|
||||
<GLOBAL EGYPT-FLAG <>>
|
||||
;<GLOBAL EGYPT-FLAG <>> ;"no longer used?"
|
||||
|
||||
\
|
||||
|
||||
|
@ -1177,9 +1206,9 @@ glowing serenely">)>
|
|||
T)>)
|
||||
(T <TELL
|
||||
"The bolt won't turn with your best effort." CR>)>)
|
||||
(,PRSI <TELL
|
||||
"The bolt won't turn using the " D ,PRSI "." CR>)
|
||||
(T <TELL "You can't with your bare hands." CR>)>)
|
||||
(ELSE
|
||||
<TELL
|
||||
"The bolt won't turn using the " D ,PRSI "." CR>)>)
|
||||
(<VERB? TAKE>
|
||||
<INTEGRAL-PART>)
|
||||
(<VERB? OIL>
|
||||
|
@ -1253,7 +1282,7 @@ to the other side." CR>)>
|
|||
T>
|
||||
|
||||
<GLOBAL DROWNINGS
|
||||
<TABLE "up to your ankles."
|
||||
<TABLE (PURE) "up to your ankles."
|
||||
"up to your shin."
|
||||
"up to your knees."
|
||||
"up to your hips."
|
||||
|
@ -1613,7 +1642,7 @@ His enflamed tongue protrudes from his man-sized mouth." CR>)>)
|
|||
<OR <0? ,CYCLOWRATH> <ENABLE <INT I-CYCLOPS>>>)>>
|
||||
|
||||
<GLOBAL CYCLOMAD
|
||||
<TABLE
|
||||
<TABLE (PURE)
|
||||
"The cyclops seems somewhat agitated."
|
||||
"The cyclops appears to be getting more agitated."
|
||||
"The cyclops is moving about the room, looking for something."
|
||||
|
@ -1662,7 +1691,7 @@ stop. With a tremendous effort, you scramble out of the room." CR CR>
|
|||
"The rest of your commands have been lost in the noise." CR>
|
||||
<SETG P-CONT <>>)>
|
||||
<REPEAT ()
|
||||
<CRLF>
|
||||
<COND (<NOT ,SUPER-BRIEF> <CRLF>)>
|
||||
<TELL ">">
|
||||
<READ ,P-INBUF ,P-LEXV>
|
||||
<COND (<0? <GETB ,P-LEXV ,P-LEXWORDS>>
|
||||
|
@ -1691,7 +1720,8 @@ stop. With a tremendous effort, you scramble out of the room." CR CR>
|
|||
<SETG LOUD-FLAG T>
|
||||
<FCLEAR ,BAR ,SACREDBIT>
|
||||
<TELL
|
||||
"The acoustics of the room change subtly." CR CR>
|
||||
"The acoustics of the room change subtly." CR>
|
||||
<COND (<NOT ,SUPER-BRIEF> <CRLF>)>
|
||||
<RETURN>)
|
||||
;(,DEAD <CRLF>)
|
||||
(T
|
||||
|
@ -1743,7 +1773,7 @@ walls here. He does not speak, but it is clear from his aspect that
|
|||
the bag will be taken only over his dead body." CR>
|
||||
<SETG THIEF-HERE T>
|
||||
<RTRUE>)
|
||||
(<IN? ,STILETTO ,WINNER>
|
||||
;(<IN? ,STILETTO ,WINNER>
|
||||
<MOVE ,STILETTO ,THIEF>
|
||||
<FSET ,STILETTO ,NDESCBIT>
|
||||
<FCLEAR ,THIEF ,INVISIBLE>
|
||||
|
@ -1774,16 +1804,20 @@ Fortunately, he took nothing." CR>
|
|||
<RTRUE>)
|
||||
(<PROB 70> <RFALSE>)
|
||||
(<NOT ,DEAD>
|
||||
<COND (<ROB ,HERE ,THIEF 100> <SET ROBBED? T>)
|
||||
<COND (<ROB ,HERE ,THIEF 100>
|
||||
<SET ROBBED? ,HERE>)
|
||||
(<ROB ,WINNER ,THIEF>
|
||||
<SET ROBBED? T>
|
||||
<SET WINNER-ROBBED? T>)>
|
||||
<SET ROBBED? ,PLAYER>)>
|
||||
<SETG THIEF-HERE T>
|
||||
<COND (<AND .ROBBED? <NOT .HERE?>>
|
||||
<TELL
|
||||
"A seedy-looking individual with a large bag just wandered through
|
||||
the room. On the way through, he quietly abstracted some valuables
|
||||
from the room and from your possession, mumbling something about
|
||||
the room. On the way through, he quietly abstracted some valuables from ">
|
||||
<COND (<EQUAL? .ROBBED? ,HERE>
|
||||
<TELL "the room">)
|
||||
(ELSE
|
||||
<TELL "your possession">)>
|
||||
<TELL ", mumbling something about
|
||||
\"Doing unto others before...\"" CR>
|
||||
<STOLE-LIGHT?>)
|
||||
(.HERE?
|
||||
|
@ -1792,10 +1826,11 @@ from the room and from your possession, mumbling something about
|
|||
<TELL
|
||||
"The thief just left, still carrying his large bag. You may
|
||||
not have noticed that he ">
|
||||
<COND (.WINNER-ROBBED?
|
||||
<COND (<EQUAL? .ROBBED? ,PLAYER>
|
||||
<TELL
|
||||
"robbed you blind first.">)
|
||||
(T <TELL
|
||||
(T
|
||||
<TELL
|
||||
"appropriated the valuables in the room.">)>
|
||||
<CRLF>
|
||||
<STOLE-LIGHT?>)
|
||||
|
@ -1813,12 +1848,21 @@ large bag. Finding nothing of value, he left disgruntled." CR>
|
|||
(T
|
||||
<COND (.HERE? ;"Here, already announced."
|
||||
<COND (<PROB 30>
|
||||
<COND (<SET ROBBED?
|
||||
<OR <ROB ,HERE ,THIEF 100>
|
||||
<ROB ,WINNER ,THIEF>>>
|
||||
<COND (<ROB ,HERE ,THIEF 100>
|
||||
<SET ROBBED? ,HERE>)
|
||||
(<ROB ,WINNER ,THIEF>
|
||||
<SET ROBBED? ,PLAYER>)>
|
||||
<COND (.ROBBED?
|
||||
<TELL
|
||||
"The thief just left, still carrying his large bag. You may
|
||||
not have noticed that he robbed you blind first." CR>
|
||||
not have noticed that he ">
|
||||
<COND (<EQUAL? .ROBBED? ,PLAYER>
|
||||
<TELL
|
||||
"robbed you blind first.">)
|
||||
(T
|
||||
<TELL
|
||||
"appropriated the valuables in the room.">)>
|
||||
<CRLF>
|
||||
<STOLE-LIGHT?>)
|
||||
(T
|
||||
<TELL
|
||||
|
@ -1913,16 +1957,24 @@ your greeting with his usual graciousness." CR>)
|
|||
(<AND <EQUAL? ,PRSO ,KNIFE>
|
||||
<VERB? THROW>
|
||||
<NOT <FSET? ,THIEF ,FIGHTBIT>>>
|
||||
<MOVE ,PRSO ,HERE>
|
||||
<COND (<PROB 10 0>
|
||||
<TELL
|
||||
"You evidently frightened the robber, though you didn't hit him. He
|
||||
flees">
|
||||
<COND (<SET X <FIRST? ,THIEF>>
|
||||
<REMOVE ,LARGE-BAG>
|
||||
<SET X <>>
|
||||
<COND (<IN? ,STILETTO ,THIEF>
|
||||
<REMOVE ,STILETTO>
|
||||
<SET X T>)>
|
||||
<COND (<FIRST? ,THIEF>
|
||||
<MOVE-ALL ,THIEF ,HERE>
|
||||
<TELL
|
||||
", but the contents of his bag fall on the floor.">)
|
||||
(T
|
||||
<TELL ".">)>
|
||||
<MOVE ,LARGE-BAG ,THIEF>
|
||||
<COND (.X <MOVE ,STILETTO ,THIEF>)>
|
||||
<CRLF>
|
||||
<FSET ,THIEF ,INVISIBLE>)
|
||||
(T
|
||||
|
@ -1945,7 +1997,11 @@ angered by your attempt." CR>
|
|||
<TELL
|
||||
"Your proposed victim suddenly recovers consciousness." CR>)>
|
||||
<MOVE ,PRSO ,THIEF>
|
||||
<COND (<G? <GETP ,PRSO ,P?TVALUE> 0>
|
||||
<COND ;(<EQUAL? ,PRSO ,STILETTO>
|
||||
<TELL
|
||||
"The thief takes his stiletto and salutes you with a small nod of
|
||||
his head." CR>)
|
||||
(<G? <GETP ,PRSO ,P?TVALUE> 0>
|
||||
<SETG THIEF-ENGROSSED T>
|
||||
<TELL
|
||||
"The thief is taken aback by your unexpected generosity, but accepts
|
||||
|
@ -2079,20 +2135,18 @@ inside." CR>)>>
|
|||
"You can't. It's not a very good chalice, is it?" CR>)
|
||||
(T <DUMB-CONTAINER>)>>
|
||||
|
||||
<ROUTINE TREASURE-ROOM-FCN (RARG "AUX" (FLG <>) TL)
|
||||
<ROUTINE TREASURE-ROOM-FCN (RARG "AUX" TL)
|
||||
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
||||
<1? <GET <INT I-THIEF> ,C-ENABLED?>>
|
||||
<NOT ,DEAD>>
|
||||
<COND (<SET FLG <NOT <IN? ,THIEF ,HERE>>>
|
||||
<TELL
|
||||
<1? <GET <INT I-THIEF> ,C-ENABLED?>>
|
||||
<NOT ,DEAD>>
|
||||
<COND (<NOT <IN? ,THIEF ,HERE>>
|
||||
<TELL
|
||||
"You hear a scream of anguish as you violate the robber's hideaway.
|
||||
Using passages unknown to you, he rushes to its defense." CR>
|
||||
<MOVE ,THIEF ,HERE>
|
||||
<MOVE ,THIEF ,HERE>)>
|
||||
<FSET ,THIEF ,FIGHTBIT>
|
||||
<FCLEAR ,THIEF ,INVISIBLE>)
|
||||
(T
|
||||
<FSET ,THIEF ,FIGHTBIT>)>
|
||||
<THIEF-IN-TREASURE>)>>
|
||||
<FCLEAR ,THIEF ,INVISIBLE>
|
||||
<THIEF-IN-TREASURE>)>>
|
||||
|
||||
<ROUTINE THIEF-IN-TREASURE ("AUX" F N)
|
||||
<SET F <FIRST? ,HERE>>
|
||||
|
@ -2102,8 +2156,7 @@ Using passages unknown to you, he rushes to its defense." CR>
|
|||
suddenly vanish." CR CR>)>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .F> <RETURN>)
|
||||
(<AND <NOT <EQUAL? .F ,CHALICE>>
|
||||
<NOT <EQUAL? .F ,THIEF>>>
|
||||
(<NOT <EQUAL? .F ,CHALICE ,THIEF>>
|
||||
<FSET .F ,INVISIBLE>)>
|
||||
<SET F <NEXT? .F>>>>
|
||||
|
||||
|
@ -2165,7 +2218,8 @@ artist's masterpieces, you have destroyed one." CR>)>>
|
|||
"SUBTITLE LET THERE BE LIGHT SOURCES"
|
||||
|
||||
<GLOBAL LAMP-TABLE
|
||||
<TABLE 100
|
||||
<TABLE (PURE)
|
||||
100
|
||||
"The lamp appears a bit dimmer."
|
||||
70
|
||||
"The lamp is definitely dimmer now."
|
||||
|
@ -2333,6 +2387,7 @@ burn." CR>)
|
|||
<COND (<FSET? ,CANDLES ,ONBIT>
|
||||
<TELL "The flame is extinguished.">
|
||||
<FCLEAR ,CANDLES ,ONBIT>
|
||||
<FSET ,CANDLES ,TOUCHBIT>
|
||||
<SETG LIT <LIT? ,HERE>>
|
||||
<COND (<NOT ,LIT>
|
||||
<TELL " It's really dark in here....">)>
|
||||
|
@ -2349,7 +2404,8 @@ burn." CR>)
|
|||
<CRLF>)>)>>
|
||||
|
||||
<GLOBAL CANDLE-TABLE
|
||||
<TABLE 20
|
||||
<TABLE (PURE)
|
||||
20
|
||||
"The candles grow shorter."
|
||||
10
|
||||
"The candles are becoming quite short."
|
||||
|
@ -2426,6 +2482,7 @@ is obviously deranged and holding his nose." CR>)
|
|||
(<AND <EQUAL? .RARG ,M-ENTER> <NOT ,DEAD>>
|
||||
<COND (<NOT <EQUAL? <LOC ,GARLIC> ,WINNER ,HERE>>
|
||||
<V-LOOK>
|
||||
<CRLF>
|
||||
<FLY-ME>)>)>>
|
||||
|
||||
<ROUTINE MACHINE-ROOM-FCN (RARG)
|
||||
|
@ -2443,7 +2500,7 @@ lid, which is ">
|
|||
<CRLF>)>>
|
||||
|
||||
<ROUTINE MACHINE-F ()
|
||||
<COND (<VERB? TAKE>
|
||||
<COND (<AND <VERB? TAKE> <EQUAL? ,PRSO ,MACHINE>>
|
||||
<TELL "It is far too large to carry." CR>)
|
||||
(<VERB? OPEN>
|
||||
<COND (<FSET? ,MACHINE ,OPENBIT>
|
||||
|
@ -2489,10 +2546,7 @@ excitement abates." CR>
|
|||
<COND (<SET O <FIRST? ,MACHINE>>
|
||||
<REMOVE-CAREFULLY .O>)
|
||||
(T <RETURN>)>>
|
||||
<MOVE ,GUNK ,MACHINE>)
|
||||
(T)>)>)
|
||||
(<NOT ,PRSI>
|
||||
<TELL "You can't turn it with your hands..." CR>)
|
||||
<MOVE ,GUNK ,MACHINE>)>)>)
|
||||
(T
|
||||
<TELL "It seems that a " D ,PRSI " won't do." CR>)>)>>
|
||||
|
||||
|
@ -2553,12 +2607,13 @@ walkable (I think the giveaway was the stairs and bannister)." CR>
|
|||
<ROB ,ON-RAINBOW ,WALL>
|
||||
<TELL
|
||||
"The rainbow seems to have become somewhat run-of-the-mill." CR>
|
||||
<SETG RAINBOW-FLAG <>>)>)
|
||||
<SETG RAINBOW-FLAG <>>
|
||||
<RTRUE>)>)
|
||||
(<EQUAL? ,HERE ,ON-RAINBOW>
|
||||
<SETG RAINBOW-FLAG <>>
|
||||
<JIGS-UP
|
||||
"The structural integrity of the rainbow is severely compromised,
|
||||
leaving you hanging in mid-air, supported only by water vapor. Bye.">)
|
||||
leaving you hanging in midair, supported only by water vapor. Bye.">)
|
||||
(T
|
||||
<TELL
|
||||
"A dazzling display of color briefly emanates from the sceptre." CR>)>)>>
|
||||
|
@ -2635,13 +2690,13 @@ with swift currents and large, half-hidden rocks. You decide to forgo your
|
|||
swim." CR>)>>
|
||||
|
||||
<GLOBAL RIVER-SPEEDS
|
||||
<LTABLE RIVER-1 4 RIVER-2 4 RIVER-3 3 RIVER-4 2 RIVER-5 1>>
|
||||
<LTABLE (PURE) RIVER-1 4 RIVER-2 4 RIVER-3 3 RIVER-4 2 RIVER-5 1>>
|
||||
|
||||
<GLOBAL RIVER-NEXT
|
||||
<LTABLE RIVER-1 RIVER-2 RIVER-3 RIVER-4 RIVER-5>>
|
||||
<LTABLE (PURE) RIVER-1 RIVER-2 RIVER-3 RIVER-4 RIVER-5>>
|
||||
|
||||
<GLOBAL RIVER-LAUNCH
|
||||
<LTABLE DAM-BASE RIVER-1
|
||||
<LTABLE (PURE) DAM-BASE RIVER-1
|
||||
WHITE-CLIFFS-NORTH RIVER-3
|
||||
WHITE-CLIFFS-SOUTH RIVER-4
|
||||
SHORE RIVER-5
|
||||
|
@ -2814,7 +2869,7 @@ The boat deflates to the sounds of hissing, sputtering, and cursing." CR>
|
|||
<TELL <GET ,BDIGS ,BEACH-DIG> CR>)>)>>
|
||||
|
||||
<GLOBAL BDIGS
|
||||
<TABLE "You seem to be digging a hole here."
|
||||
<TABLE (PURE) "You seem to be digging a hole here."
|
||||
"The hole is getting deeper, but that's about it."
|
||||
"You are surrounded by a wall of sand on all sides.">>
|
||||
|
||||
|
@ -2833,7 +2888,7 @@ branches. The nearest branch above you is above your reach." CR>
|
|||
<PRINT-CONTENTS ,PATH>
|
||||
<TELL "." CR>)>)
|
||||
(<EQUAL? .RARG ,M-BEG>
|
||||
<COND (<AND <VERB? CLIMB-DOWN> <EQUAL? ,PRSO ,TREE>>
|
||||
<COND (<AND <VERB? CLIMB-DOWN> <EQUAL? ,PRSO ,TREE ,ROOMS>>
|
||||
<DO-WALK ,P?DOWN>)
|
||||
(<AND <VERB? CLIMB-UP CLIMB-FOO>
|
||||
<EQUAL? ,PRSO ,TREE>>
|
||||
|
@ -2992,7 +3047,7 @@ down, the songbird flies away." CR>
|
|||
<NOT <IN? .RLOC ,ROOMS>>>
|
||||
<MOVE ,ROPE ,HERE>)>
|
||||
T)>)>)
|
||||
(<AND <VERB? CLIMB-DOWN> <EQUAL? ,PRSO ,ROPE> ,DOME-FLAG>
|
||||
(<AND <VERB? CLIMB-DOWN> <EQUAL? ,PRSO ,ROPE ,ROOMS> ,DOME-FLAG>
|
||||
<DO-WALK ,P?DOWN>)
|
||||
(<AND <VERB? TIE-UP>
|
||||
<EQUAL? ,ROPE ,PRSI>>
|
||||
|
@ -3061,7 +3116,7 @@ down, the songbird flies away." CR>
|
|||
<EQUAL? ,PRSO ,P?WEST>>
|
||||
<TELL "You cannot enter in your condition." CR>)>)
|
||||
(<VERB? BRIEF VERBOSE SUPER-BRIEF
|
||||
VERSION AGAIN SAVE RESTORE QUIT RESTART>
|
||||
VERSION ;AGAIN SAVE RESTORE QUIT RESTART>
|
||||
<>)
|
||||
(<VERB? ATTACK MUNG ALARM SWING>
|
||||
<TELL "All such attacks are vain in your condition." CR>)
|
||||
|
@ -3076,7 +3131,7 @@ down, the songbird flies away." CR>
|
|||
<TELL "You need no light to guide you." CR>)
|
||||
(<VERB? SCORE>
|
||||
<TELL "You're dead! How can you think of your score?" CR>)
|
||||
(<VERB? TAKE>
|
||||
(<VERB? TAKE RUB>
|
||||
<TELL "Your hand passes through its object." CR>)
|
||||
(<VERB? DROP THROW INVENTORY>
|
||||
<TELL "You have no possessions." CR>)
|
||||
|
@ -3098,7 +3153,7 @@ down, the songbird flies away." CR>
|
|||
<COND (<EQUAL? ,HERE ,SOUTH-TEMPLE>
|
||||
<FCLEAR ,LAMP ,INVISIBLE>
|
||||
<PUTP ,WINNER ,P?ACTION 0>
|
||||
<SETG GWIM-DISABLE <>>
|
||||
;<SETG GWIM-DISABLE <>>
|
||||
<SETG ALWAYS-LIT <>>
|
||||
<SETG DEAD <>>
|
||||
<COND (<IN? ,TROLL ,TROLL-ROOM>
|
||||
|
@ -3201,21 +3256,21 @@ teeth ache to touch it." CR>)>>
|
|||
"tables of melee results"
|
||||
|
||||
<GLOBAL DEF1
|
||||
<TABLE
|
||||
<TABLE (PURE)
|
||||
MISSED MISSED MISSED MISSED
|
||||
STAGGER STAGGER
|
||||
UNCONSCIOUS UNCONSCIOUS
|
||||
KILLED KILLED KILLED KILLED KILLED>>
|
||||
|
||||
<GLOBAL DEF2A
|
||||
<TABLE
|
||||
<TABLE (PURE)
|
||||
MISSED MISSED MISSED MISSED MISSED
|
||||
STAGGER STAGGER
|
||||
LIGHT-WOUND LIGHT-WOUND
|
||||
UNCONSCIOUS>>
|
||||
|
||||
<GLOBAL DEF2B
|
||||
<TABLE
|
||||
<TABLE (PURE)
|
||||
MISSED MISSED MISSED
|
||||
STAGGER STAGGER
|
||||
LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND
|
||||
|
@ -3223,21 +3278,21 @@ teeth ache to touch it." CR>)>>
|
|||
KILLED KILLED KILLED>>
|
||||
|
||||
<GLOBAL DEF3A
|
||||
<TABLE
|
||||
<TABLE (PURE)
|
||||
MISSED MISSED MISSED MISSED MISSED
|
||||
STAGGER STAGGER
|
||||
LIGHT-WOUND LIGHT-WOUND
|
||||
SERIOUS-WOUND SERIOUS-WOUND>>
|
||||
|
||||
<GLOBAL DEF3B
|
||||
<TABLE
|
||||
<TABLE (PURE)
|
||||
MISSED MISSED MISSED
|
||||
STAGGER STAGGER
|
||||
LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND
|
||||
SERIOUS-WOUND SERIOUS-WOUND SERIOUS-WOUND>>
|
||||
|
||||
<GLOBAL DEF3C
|
||||
<TABLE
|
||||
<TABLE (PURE)
|
||||
MISSED
|
||||
STAGGER STAGGER
|
||||
LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND
|
||||
|
@ -3411,7 +3466,7 @@ property, which is normally 0"
|
|||
<SETG LOAD-ALLOWED <- ,LOAD-ALLOWED 20>>)>)
|
||||
(<EQUAL? .RES ,STAGGER> <FSET ,WINNER ,STAGGERED>)
|
||||
(T
|
||||
<AND <EQUAL? .RES ,LOSE-WEAPON> .DWEAPON>
|
||||
;<AND <EQUAL? .RES ,LOSE-WEAPON> .DWEAPON>
|
||||
<MOVE .DWEAPON ,HERE>
|
||||
<COND (<SET NWEAPON <FIND-WEAPON ,WINNER>>
|
||||
<TELL
|
||||
|
@ -3446,8 +3501,8 @@ ineffective." CR>
|
|||
<SET DWEAPON <FIND-WEAPON .VILLAIN>>
|
||||
<COND (<OR <NOT .DWEAPON> <L? .DEF 0>>
|
||||
<TELL "The ">
|
||||
<COND (<NOT .DWEAPON> <TELL "unarmed">)
|
||||
(T <TELL "unconscious">)>
|
||||
<COND (<L? .DEF 0> <TELL "unconscious">)
|
||||
(T <TELL "unarmed">)>
|
||||
<TELL " " D .VILLAIN
|
||||
" cannot defend himself: He dies." CR>
|
||||
<SET RES ,KILLED>)
|
||||
|
@ -3485,7 +3540,7 @@ ineffective." CR>
|
|||
<COND (<L? .DEF 0> <SET DEF 0>)>)
|
||||
(<EQUAL? .RES ,STAGGER> <FSET ,PRSO ,STAGGERED>)
|
||||
(T
|
||||
<AND <EQUAL? .RES ,LOSE-WEAPON> .DWEAPON>
|
||||
;<AND <EQUAL? .RES ,LOSE-WEAPON> .DWEAPON>
|
||||
<FCLEAR .DWEAPON ,NDESCBIT>
|
||||
<FSET .DWEAPON ,WEAPONBIT>
|
||||
<MOVE .DWEAPON ,HERE>
|
||||
|
@ -3554,182 +3609,182 @@ carcass has disappeared." CR>
|
|||
<CONSTANT F-DEF 1> ;"means print defender name (villain, e.g.)"
|
||||
|
||||
<GLOBAL HERO-MELEE
|
||||
<TABLE
|
||||
<LTABLE
|
||||
<LTABLE "Your " F-WEP " misses the " F-DEF " by an inch.">
|
||||
<LTABLE "A good slash, but it misses the " F-DEF " by a mile.">
|
||||
<LTABLE "You charge, but the " F-DEF " jumps nimbly aside.">
|
||||
<LTABLE "Clang! Crash! The " F-DEF " parries.">
|
||||
<LTABLE "A quick stroke, but the " F-DEF " is on guard.">
|
||||
<LTABLE "A good stroke, but it's too slow; the " F-DEF " dodges.">>
|
||||
<LTABLE
|
||||
<LTABLE "Your " F-WEP " crashes down, knocking the " F-DEF " into dreamland.">
|
||||
<LTABLE "The " F-DEF " is battered into unconsciousness.">
|
||||
<LTABLE "A furious exchange, and the " F-DEF " is knocked out!">
|
||||
<LTABLE "The haft of your " F-WEP " knocks out the " F-DEF ".">
|
||||
<LTABLE "The " F-DEF " is knocked out!">>
|
||||
<LTABLE
|
||||
<LTABLE "It's curtains for the " F-DEF " as your " F-WEP " removes his head.">
|
||||
<LTABLE "The fatal blow strikes the " F-DEF " square in the heart: He dies.">
|
||||
<LTABLE "The " F-DEF " takes a fatal blow and slumps to the floor dead.">>
|
||||
<LTABLE
|
||||
<LTABLE "The " F-DEF " is struck on the arm; blood begins to trickle down.">
|
||||
<LTABLE "Your " F-WEP " pinks the " F-DEF " on the wrist, but it's not serious.">
|
||||
<LTABLE "Your stroke lands, but it was only the flat of the blade.">
|
||||
<LTABLE "The blow lands, making a shallow gash in the " F-DEF "'s arm!">>
|
||||
<LTABLE
|
||||
<LTABLE "The " F-DEF " receives a deep gash in his side.">
|
||||
<LTABLE "A savage blow on the thigh! The " F-DEF " is stunned but can still fight!">
|
||||
<LTABLE "Slash! Your blow lands! That one hit an artery, it could be serious!">
|
||||
<LTABLE "Slash! Your stroke connects! This could be serious!">>
|
||||
<LTABLE
|
||||
<LTABLE "The " F-DEF " is staggered, and drops to his knees.">
|
||||
<LTABLE "The " F-DEF " is momentarily disoriented and can't fight back.">
|
||||
<LTABLE "The force of your blow knocks the " F-DEF " back, stunned.">
|
||||
<LTABLE "The " F-DEF " is confused and can't fight back.">
|
||||
<LTABLE "The quickness of your thrust knocks the " F-DEF " back, stunned.">>
|
||||
<LTABLE
|
||||
<LTABLE "The " F-DEF "'s weapon is knocked to the floor, leaving him unarmed.">
|
||||
<LTABLE "The " F-DEF " is disarmed by a subtle feint past his guard.">>>>
|
||||
<TABLE (PURE)
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "Your " F-WEP " misses the " F-DEF " by an inch.">
|
||||
<LTABLE (PURE) "A good slash, but it misses the " F-DEF " by a mile.">
|
||||
<LTABLE (PURE) "You charge, but the " F-DEF " jumps nimbly aside.">
|
||||
<LTABLE (PURE) "Clang! Crash! The " F-DEF " parries.">
|
||||
<LTABLE (PURE) "A quick stroke, but the " F-DEF " is on guard.">
|
||||
<LTABLE (PURE) "A good stroke, but it's too slow; the " F-DEF " dodges.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "Your " F-WEP " crashes down, knocking the " F-DEF " into dreamland.">
|
||||
<LTABLE (PURE) "The " F-DEF " is battered into unconsciousness.">
|
||||
<LTABLE (PURE) "A furious exchange, and the " F-DEF " is knocked out!">
|
||||
<LTABLE (PURE) "The haft of your " F-WEP " knocks out the " F-DEF ".">
|
||||
<LTABLE (PURE) "The " F-DEF " is knocked out!">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "It's curtains for the " F-DEF " as your " F-WEP " removes his head.">
|
||||
<LTABLE (PURE) "The fatal blow strikes the " F-DEF " square in the heart: He dies.">
|
||||
<LTABLE (PURE) "The " F-DEF " takes a fatal blow and slumps to the floor dead.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The " F-DEF " is struck on the arm; blood begins to trickle down.">
|
||||
<LTABLE (PURE) "Your " F-WEP " pinks the " F-DEF " on the wrist, but it's not serious.">
|
||||
<LTABLE (PURE) "Your stroke lands, but it was only the flat of the blade.">
|
||||
<LTABLE (PURE) "The blow lands, making a shallow gash in the " F-DEF "'s arm!">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The " F-DEF " receives a deep gash in his side.">
|
||||
<LTABLE (PURE) "A savage blow on the thigh! The " F-DEF " is stunned but can still fight!">
|
||||
<LTABLE (PURE) "Slash! Your blow lands! That one hit an artery, it could be serious!">
|
||||
<LTABLE (PURE) "Slash! Your stroke connects! This could be serious!">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The " F-DEF " is staggered, and drops to his knees.">
|
||||
<LTABLE (PURE) "The " F-DEF " is momentarily disoriented and can't fight back.">
|
||||
<LTABLE (PURE) "The force of your blow knocks the " F-DEF " back, stunned.">
|
||||
<LTABLE (PURE) "The " F-DEF " is confused and can't fight back.">
|
||||
<LTABLE (PURE) "The quickness of your thrust knocks the " F-DEF " back, stunned.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The " F-DEF "'s weapon is knocked to the floor, leaving him unarmed.">
|
||||
<LTABLE (PURE) "The " F-DEF " is disarmed by a subtle feint past his guard.">>>>
|
||||
|
||||
\
|
||||
|
||||
"messages for cyclops (note that he has no weapon"
|
||||
|
||||
<GLOBAL CYCLOPS-MELEE
|
||||
<TABLE
|
||||
<LTABLE
|
||||
<LTABLE "The Cyclops misses, but the backwash almost knocks you over.">
|
||||
<LTABLE "The Cyclops rushes you, but runs into the wall.">>
|
||||
<LTABLE
|
||||
<LTABLE "The Cyclops sends you crashing to the floor, unconscious.">>
|
||||
<LTABLE
|
||||
<LTABLE "The Cyclops breaks your neck with a massive smash.">>
|
||||
<LTABLE
|
||||
<LTABLE "A quick punch, but it was only a glancing blow.">
|
||||
<LTABLE "A glancing blow from the Cyclops' fist.">>
|
||||
<LTABLE
|
||||
<LTABLE "The monster smashes his huge fist into your chest, breaking several
|
||||
<TABLE (PURE)
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The Cyclops misses, but the backwash almost knocks you over.">
|
||||
<LTABLE (PURE) "The Cyclops rushes you, but runs into the wall.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The Cyclops sends you crashing to the floor, unconscious.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The Cyclops breaks your neck with a massive smash.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "A quick punch, but it was only a glancing blow.">
|
||||
<LTABLE (PURE) "A glancing blow from the Cyclops' fist.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The monster smashes his huge fist into your chest, breaking several
|
||||
ribs.">
|
||||
<LTABLE "The Cyclops almost knocks the wind out of you with a quick punch.">>
|
||||
<LTABLE
|
||||
<LTABLE "The Cyclops lands a punch that knocks the wind out of you.">
|
||||
<LTABLE "Heedless of your weapons, the Cyclops tosses you against the rock
|
||||
<LTABLE (PURE) "The Cyclops almost knocks the wind out of you with a quick punch.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The Cyclops lands a punch that knocks the wind out of you.">
|
||||
<LTABLE (PURE) "Heedless of your weapons, the Cyclops tosses you against the rock
|
||||
wall of the room.">>
|
||||
<LTABLE
|
||||
<LTABLE "The Cyclops grabs your " F-WEP ", tastes it, and throws it to the
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The Cyclops grabs your " F-WEP ", tastes it, and throws it to the
|
||||
ground in disgust.">
|
||||
<LTABLE "The monster grabs you on the wrist, squeezes, and you drop your
|
||||
<LTABLE (PURE) "The monster grabs you on the wrist, squeezes, and you drop your
|
||||
" F-WEP " in pain.">>
|
||||
<LTABLE
|
||||
<LTABLE "The Cyclops seems unable to decide whether to broil or stew his
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The Cyclops seems unable to decide whether to broil or stew his
|
||||
dinner.">>
|
||||
<LTABLE
|
||||
<LTABLE "The Cyclops, no sportsman, dispatches his unconscious victim.">>>>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The Cyclops, no sportsman, dispatches his unconscious victim.">>>>
|
||||
|
||||
\
|
||||
|
||||
"messages for troll"
|
||||
|
||||
<GLOBAL TROLL-MELEE
|
||||
<TABLE
|
||||
<LTABLE
|
||||
<LTABLE "The troll swings his axe, but it misses.">
|
||||
<LTABLE "The troll's axe barely misses your ear.">
|
||||
<LTABLE "The axe sweeps past as you jump aside.">
|
||||
<LTABLE "The axe crashes against the rock, throwing sparks!">>
|
||||
<LTABLE
|
||||
<LTABLE "The flat of the troll's axe hits you delicately on the head, knocking
|
||||
<TABLE (PURE)
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The troll swings his axe, but it misses.">
|
||||
<LTABLE (PURE) "The troll's axe barely misses your ear.">
|
||||
<LTABLE (PURE) "The axe sweeps past as you jump aside.">
|
||||
<LTABLE (PURE) "The axe crashes against the rock, throwing sparks!">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The flat of the troll's axe hits you delicately on the head, knocking
|
||||
you out.">>
|
||||
<LTABLE
|
||||
<LTABLE "The troll neatly removes your head.">
|
||||
<LTABLE "The troll's axe stroke cleaves you from the nave to the chops.">
|
||||
<LTABLE "The troll's axe removes your head.">>
|
||||
<LTABLE
|
||||
<LTABLE "The axe gets you right in the side. Ouch!">
|
||||
<LTABLE "The flat of the troll's axe skins across your forearm.">
|
||||
<LTABLE "The troll's swing almost knocks you over as you barely parry
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The troll neatly removes your head.">
|
||||
<LTABLE (PURE) "The troll's axe stroke cleaves you from the nave to the chops.">
|
||||
<LTABLE (PURE) "The troll's axe removes your head.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The axe gets you right in the side. Ouch!">
|
||||
<LTABLE (PURE) "The flat of the troll's axe skins across your forearm.">
|
||||
<LTABLE (PURE) "The troll's swing almost knocks you over as you barely parry
|
||||
in time.">
|
||||
<LTABLE "The troll swings his axe, and it nicks your arm as you dodge.">>
|
||||
<LTABLE
|
||||
<LTABLE "The troll charges, and his axe slashes you on your " F-WEP " arm.">
|
||||
<LTABLE "An axe stroke makes a deep wound in your leg.">
|
||||
<LTABLE "The troll's axe swings down, gashing your shoulder.">>
|
||||
<LTABLE
|
||||
<LTABLE "The troll hits you with a glancing blow, and you are momentarily
|
||||
<LTABLE (PURE) "The troll swings his axe, and it nicks your arm as you dodge.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The troll charges, and his axe slashes you on your " F-WEP " arm.">
|
||||
<LTABLE (PURE) "An axe stroke makes a deep wound in your leg.">
|
||||
<LTABLE (PURE) "The troll's axe swings down, gashing your shoulder.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The troll hits you with a glancing blow, and you are momentarily
|
||||
stunned.">
|
||||
<LTABLE "The troll swings; the blade turns on your armor but crashes
|
||||
<LTABLE (PURE) "The troll swings; the blade turns on your armor but crashes
|
||||
broadside into your head.">
|
||||
<LTABLE "You stagger back under a hail of axe strokes.">
|
||||
<LTABLE "The troll's mighty blow drops you to your knees.">>
|
||||
<LTABLE
|
||||
<LTABLE "The axe hits your " F-WEP " and knocks it spinning.">
|
||||
<LTABLE "The troll swings, you parry, but the force of his blow knocks your " F-WEP " away.">
|
||||
<LTABLE "The axe knocks your " F-WEP " out of your hand. It falls to the floor.">>
|
||||
<LTABLE
|
||||
<LTABLE "The troll hesitates, fingering his axe.">
|
||||
<LTABLE "The troll scratches his head ruminatively: Might you be magically
|
||||
<LTABLE (PURE) "You stagger back under a hail of axe strokes.">
|
||||
<LTABLE (PURE) "The troll's mighty blow drops you to your knees.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The axe hits your " F-WEP " and knocks it spinning.">
|
||||
<LTABLE (PURE) "The troll swings, you parry, but the force of his blow knocks your " F-WEP " away.">
|
||||
<LTABLE (PURE) "The axe knocks your " F-WEP " out of your hand. It falls to the floor.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The troll hesitates, fingering his axe.">
|
||||
<LTABLE (PURE) "The troll scratches his head ruminatively: Might you be magically
|
||||
protected, he wonders?">>
|
||||
<LTABLE
|
||||
<LTABLE "Conquering his fears, the troll puts you to death.">>>>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "Conquering his fears, the troll puts you to death.">>>>
|
||||
|
||||
\
|
||||
|
||||
"messages for thief"
|
||||
|
||||
<GLOBAL THIEF-MELEE
|
||||
<TABLE
|
||||
<LTABLE
|
||||
<LTABLE "The thief stabs nonchalantly with his stiletto and misses.">
|
||||
<LTABLE "You dodge as the thief comes in low.">
|
||||
<LTABLE "You parry a lightning thrust, and the thief salutes you with
|
||||
<TABLE (PURE)
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The thief stabs nonchalantly with his stiletto and misses.">
|
||||
<LTABLE (PURE) "You dodge as the thief comes in low.">
|
||||
<LTABLE (PURE) "You parry a lightning thrust, and the thief salutes you with
|
||||
a grim nod.">
|
||||
<LTABLE "The thief tries to sneak past your guard, but you twist away.">>
|
||||
<LTABLE
|
||||
<LTABLE "Shifting in the midst of a thrust, the thief knocks you unconscious
|
||||
<LTABLE (PURE) "The thief tries to sneak past your guard, but you twist away.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "Shifting in the midst of a thrust, the thief knocks you unconscious
|
||||
with the haft of his stiletto.">
|
||||
<LTABLE "The thief knocks you out.">>
|
||||
<LTABLE
|
||||
<LTABLE "Finishing you off, the thief inserts his blade into your heart.">
|
||||
<LTABLE "The thief comes in from the side, feints, and inserts the blade
|
||||
<LTABLE (PURE) "The thief knocks you out.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "Finishing you off, the thief inserts his blade into your heart.">
|
||||
<LTABLE (PURE) "The thief comes in from the side, feints, and inserts the blade
|
||||
into your ribs.">
|
||||
<LTABLE "The thief bows formally, raises his stiletto, and with a wry grin,
|
||||
<LTABLE (PURE) "The thief bows formally, raises his stiletto, and with a wry grin,
|
||||
ends the battle and your life.">>
|
||||
<LTABLE
|
||||
<LTABLE "A quick thrust pinks your left arm, and blood starts to
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "A quick thrust pinks your left arm, and blood starts to
|
||||
trickle down.">
|
||||
<LTABLE "The thief draws blood, raking his stiletto across your arm.">
|
||||
<LTABLE "The stiletto flashes faster than you can follow, and blood wells
|
||||
<LTABLE (PURE) "The thief draws blood, raking his stiletto across your arm.">
|
||||
<LTABLE (PURE) "The stiletto flashes faster than you can follow, and blood wells
|
||||
from your leg.">
|
||||
<LTABLE "The thief slowly approaches, strikes like a snake, and leaves
|
||||
<LTABLE (PURE) "The thief slowly approaches, strikes like a snake, and leaves
|
||||
you wounded.">>
|
||||
<LTABLE
|
||||
<LTABLE "The thief strikes like a snake! The resulting wound is serious.">
|
||||
<LTABLE "The thief stabs a deep cut in your upper arm.">
|
||||
<LTABLE "The stiletto touches your forehead, and the blood obscures your
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The thief strikes like a snake! The resulting wound is serious.">
|
||||
<LTABLE (PURE) "The thief stabs a deep cut in your upper arm.">
|
||||
<LTABLE (PURE) "The stiletto touches your forehead, and the blood obscures your
|
||||
vision.">
|
||||
<LTABLE "The thief strikes at your wrist, and suddenly your grip is slippery
|
||||
<LTABLE (PURE) "The thief strikes at your wrist, and suddenly your grip is slippery
|
||||
with blood.">>
|
||||
<LTABLE
|
||||
<LTABLE "The butt of his stiletto cracks you on the skull, and you stagger
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The butt of his stiletto cracks you on the skull, and you stagger
|
||||
back.">
|
||||
<LTABLE "The thief rams the haft of his blade into your stomach, leaving
|
||||
<LTABLE (PURE) "The thief rams the haft of his blade into your stomach, leaving
|
||||
you out of breath.">
|
||||
<LTABLE "The thief attacks, and you fall back desperately.">>
|
||||
<LTABLE
|
||||
<LTABLE "A long, theatrical slash. You catch it on your " F-WEP ", but the
|
||||
<LTABLE (PURE) "The thief attacks, and you fall back desperately.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "A long, theatrical slash. You catch it on your " F-WEP ", but the
|
||||
thief twists his knife, and the " F-WEP " goes flying.">
|
||||
<LTABLE "The thief neatly flips your " F-WEP " out of your hands, and it drops
|
||||
<LTABLE (PURE) "The thief neatly flips your " F-WEP " out of your hands, and it drops
|
||||
to the floor.">
|
||||
<LTABLE "You parry a low thrust, and your " F-WEP " slips out of your hand.">>
|
||||
<LTABLE
|
||||
<LTABLE "The thief, a man of superior breeding, pauses for a moment to consider the propriety of finishing you off.">
|
||||
<LTABLE "The thief amuses himself by searching your pockets.">
|
||||
<LTABLE "The thief entertains himself by rifling your pack.">>
|
||||
<LTABLE
|
||||
<LTABLE "The thief, forgetting his essentially genteel upbringing, cuts your
|
||||
<LTABLE (PURE) "You parry a low thrust, and your " F-WEP " slips out of your hand.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The thief, a man of superior breeding, pauses for a moment to consider the propriety of finishing you off.">
|
||||
<LTABLE (PURE) "The thief amuses himself by searching your pockets.">
|
||||
<LTABLE (PURE) "The thief entertains himself by rifling your pack.">>
|
||||
<LTABLE (PURE)
|
||||
<LTABLE (PURE) "The thief, forgetting his essentially genteel upbringing, cuts your
|
||||
throat.">
|
||||
<LTABLE "The thief, a pragmatist, dispatches you as a threat to his
|
||||
<LTABLE (PURE) "The thief, a pragmatist, dispatches you as a threat to his
|
||||
livelihood.">>>>
|
||||
|
||||
|
||||
|
@ -3918,7 +3973,7 @@ valueless." CR>
|
|||
(ELSE <RFALSE>)>)>
|
||||
<SET X .N>>>
|
||||
|
||||
<ROUTINE ROB (WHAT THIEF "OPTIONAL" (PROB <>) "AUX" N X (ROBBED? <>))
|
||||
<ROUTINE ROB (WHAT WHERE "OPTIONAL" (PROB <>) "AUX" N X (ROBBED? <>))
|
||||
<SET X <FIRST? .WHAT>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .X> <RETURN .ROBBED?>)>
|
||||
|
@ -3927,14 +3982,12 @@ valueless." CR>
|
|||
<NOT <FSET? .X ,SACREDBIT>>
|
||||
<G? <GETP .X ,P?TVALUE> 0>
|
||||
<OR <NOT .PROB> <PROB .PROB>>>
|
||||
<MOVE .X .THIEF>
|
||||
<MOVE .X .WHERE>
|
||||
<FSET .X ,TOUCHBIT>
|
||||
<COND (<EQUAL? .THIEF ,THIEF> <FSET .X ,INVISIBLE>)>
|
||||
<COND (<EQUAL? .WHERE ,THIEF> <FSET .X ,INVISIBLE>)>
|
||||
<SET ROBBED? T>)>
|
||||
<SET X .N>>>
|
||||
|
||||
^/L
|
||||
|
||||
;"special-cased routines"
|
||||
|
||||
<ROUTINE V-DIAGNOSE ("AUX" (MS <FIGHT-STRENGTH <>>)
|
||||
|
@ -3962,7 +4015,7 @@ valueless." CR>
|
|||
(<EQUAL? .RS 2> <TELL "be killed by a serious wound">)
|
||||
(<EQUAL? .RS 3> <TELL "survive one serious wound">)
|
||||
(<G? .RS 3>
|
||||
<TELL "strong enough to take several wounds.">)>
|
||||
<TELL "survive several wounds">)>
|
||||
<TELL "." CR>
|
||||
<COND (<NOT <0? ,DEATHS>>
|
||||
<TELL "You have been killed ">
|
||||
|
@ -3991,7 +4044,8 @@ valueless." CR>
|
|||
,SCORE>
|
||||
|
||||
<ROUTINE JIGS-UP (DESC "OPTIONAL" (PLAYER? <>))
|
||||
<COND (,DEAD
|
||||
<SETG WINNER ,ADVENTURER>
|
||||
<COND (,DEAD
|
||||
<TELL "|
|
||||
It takes a talented person to be killed while already dead. YOU are such
|
||||
a talent. Unfortunately, it takes a talented person to deal with it.
|
||||
|
@ -4028,7 +4082,7 @@ disturbed. The objects in the dungeon appear indistinct, bleached of
|
|||
color, even unreal." CR CR>
|
||||
<SETG DEAD T>
|
||||
<SETG TROLL-FLAG T>
|
||||
<SETG GWIM-DISABLE T>
|
||||
;<SETG GWIM-DISABLE T>
|
||||
<SETG ALWAYS-LIT T>
|
||||
<PUTP ,WINNER ,P?ACTION DEAD-FUNCTION>
|
||||
<GOTO ,ENTRANCE-TO-HADES>)
|
||||
|
@ -4041,7 +4095,8 @@ up completely, but you can't have everything." CR CR>
|
|||
<FCLEAR ,TRAP-DOOR ,TOUCHBIT>
|
||||
<SETG P-CONT <>>
|
||||
<RANDOMIZE-OBJECTS>
|
||||
<KILL-INTERRUPTS>)>>>
|
||||
<KILL-INTERRUPTS>
|
||||
<RFATAL>)>>>
|
||||
|
||||
<ROUTINE RANDOMIZE-OBJECTS ("AUX" (R <>) F N L)
|
||||
<COND (<IN? ,LAMP ,WINNER>
|
||||
|
|
71
1dungeon.zil
71
1dungeon.zil
|
@ -291,8 +291,8 @@ sceptre is ornamented with colored enamel, and tapers to a sharp point.")
|
|||
(FLAGS TAKEBIT CONTBIT BURNBIT)
|
||||
(FDESC
|
||||
"On the table is an elongated brown sack, smelling of hot peppers.")
|
||||
(CAPACITY 15)
|
||||
(SIZE 3)
|
||||
(CAPACITY 9)
|
||||
(SIZE 9)
|
||||
(ACTION SANDWICH-BAG-FCN)>
|
||||
|
||||
<OBJECT TOOL-CHEST
|
||||
|
@ -370,7 +370,8 @@ sceptre is ornamented with colored enamel, and tapers to a sharp point.")
|
|||
(SYNONYM GARLIC CLOVE)
|
||||
(DESC "clove of garlic")
|
||||
(FLAGS TAKEBIT FOODBIT)
|
||||
(ACTION GARLIC-F)>
|
||||
(ACTION GARLIC-F)
|
||||
(SIZE 4)>
|
||||
|
||||
<OBJECT TRIDENT
|
||||
(IN ATLANTIS-ROOM)
|
||||
|
@ -428,7 +429,7 @@ sceptre is ornamented with colored enamel, and tapers to a sharp point.")
|
|||
(SYNONYM DOOR)
|
||||
(ADJECTIVE HUGE STONE)
|
||||
(DESC "stone door")
|
||||
(FLAGS DOORBIT NDESCBIT)
|
||||
(FLAGS DOORBIT NDESCBIT OPENBIT)
|
||||
(ACTION BARROW-DOOR-FCN)>
|
||||
|
||||
<OBJECT BARROW
|
||||
|
@ -573,8 +574,7 @@ sceptre is ornamented with colored enamel, and tapers to a sharp point.")
|
|||
|
|
||||
ZORK is a game of adventure, danger, and low cunning. In it you
|
||||
will explore some of the most amazing territory ever seen by mortals.
|
||||
No computer should be without one!\"|
|
||||
")
|
||||
No computer should be without one!\"")
|
||||
(SIZE 2)>
|
||||
|
||||
<OBJECT LEAK
|
||||
|
@ -636,7 +636,7 @@ forward to was a dead-end job as a doctor. Now I have a promising
|
|||
future and make really big Zorkmids.\"|
|
||||
|
|
||||
GUE Tech can't promise these fantastic results to everyone. But when
|
||||
you earn your degree from GUE Tech, your future will be brighter.|" )>
|
||||
you earn your degree from GUE Tech, your future will be brighter." )>
|
||||
|
||||
<OBJECT MIRROR-2
|
||||
(IN MIRROR-ROOM-2)
|
||||
|
@ -946,7 +946,7 @@ southwest, is marked \"To Stone Barrow\".")>
|
|||
(FLAGS READBIT TAKEBIT BURNBIT)
|
||||
(SIZE 2)
|
||||
(TEXT
|
||||
" !!!! FROBOZZ MAGIC BOAT COMPANY !!!!|
|
||||
" !!!!FROBOZZ MAGIC BOAT COMPANY!!!!|
|
||||
|
|
||||
Hello, Sailor!|
|
||||
|
|
||||
|
@ -963,8 +963,7 @@ milliseconds from date of purchase or until first used, whichever comes first.|
|
|||
|
|
||||
Warning:|
|
||||
This boat is made of thin plastic.|
|
||||
Good Luck!|
|
||||
" )>
|
||||
Good Luck!" )>
|
||||
|
||||
<OBJECT THIEF
|
||||
(IN ROUND-ROOM)
|
||||
|
@ -1020,18 +1019,19 @@ feet wide at the top. The lake created behind the dam has a volume
|
|||
of 1.7 billion cubic feet, an area of 12 million square feet, and a
|
||||
shore line of 36 thousand feet.|
|
||||
|
|
||||
We will now point out some of the more interesting features
|
||||
of FCD#3 as we conduct you on a guided tour of the facilities:|
|
||||
1) You start your tour here in the Dam Lobby. You will notice
|
||||
on your right that...." )>
|
||||
|
||||
;" The construction of FCD#3 took 112 days from ground breaking to
|
||||
The construction of FCD#3 took 112 days from ground breaking to
|
||||
the dedication. It required a work force of 384 slaves, 34 slave
|
||||
drivers, 12 engineers, 2 turtle doves, and a partridge in a pear
|
||||
tree. The work was managed by a command team composed of 2345
|
||||
bureaucrats, 2347 secretaries (at least two of whom can type),
|
||||
bureaucrats, 2347 secretaries (at least two of whom could type),
|
||||
12,256 paper shufflers, 52,469 rubber stampers, 245,193 red tape
|
||||
processors, and nearly one million dead trees.|"
|
||||
processors, and nearly one million dead trees.|
|
||||
|
|
||||
We will now point out some of the more interesting features
|
||||
of FCD#3 as we conduct you on a guided tour of the facilities:|
|
||||
|
|
||||
1) You start your tour here in the Dam Lobby. You will notice
|
||||
on your right that...." )>
|
||||
|
||||
<OBJECT TROLL
|
||||
(IN TROLL-ROOM)
|
||||
|
@ -1105,14 +1105,12 @@ excised them.")>
|
|||
(FLAGS READBIT TAKEBIT)
|
||||
(FDESC "Loosely attached to a wall is a small piece of paper.")
|
||||
(TEXT
|
||||
"|
|
||||
Congratulations!|
|
||||
"Congratulations!|
|
||||
|
|
||||
You are the privileged owner of ZORK I: The Great Underground Empire,
|
||||
a self-contained and self-maintaining universe. If used and maintained
|
||||
in accordance with normal operating practices for small universes, ZORK
|
||||
will provide many months of trouble-free operation.|
|
||||
|")>
|
||||
will provide many months of trouble-free operation.")>
|
||||
|
||||
<OBJECT CLIMBABLE-CLIFF
|
||||
(IN LOCAL-GLOBALS)
|
||||
|
@ -1251,14 +1249,13 @@ have, as the mainspring seems sprung.")>
|
|||
(IN TO STONE-BARROW IF WON-FLAG)
|
||||
(ACTION WEST-HOUSE)
|
||||
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
||||
(GLOBAL WHITE-HOUSE BOARD)>
|
||||
(GLOBAL WHITE-HOUSE BOARD FOREST)>
|
||||
|
||||
<ROOM STONE-BARROW
|
||||
(IN ROOMS)
|
||||
(LDESC
|
||||
"You are standing in front of a massive barrow of stone. In the east face
|
||||
is a huge stone door which is open. You cannot see into the dark of the
|
||||
tomb.")
|
||||
is a huge stone door which is open. You cannot see into the dark of the tomb.")
|
||||
(DESC "Stone Barrow")
|
||||
(NE TO WEST-OF-HOUSE)
|
||||
(ACTION STONE-BARROW-FCN)
|
||||
|
@ -1278,7 +1275,7 @@ the trees.")
|
|||
(NORTH TO PATH)
|
||||
(SOUTH "The windows are all boarded.")
|
||||
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
||||
(GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE)>
|
||||
(GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE FOREST)>
|
||||
|
||||
<ROOM SOUTH-OF-HOUSE
|
||||
(IN ROOMS)
|
||||
|
@ -1293,7 +1290,7 @@ and all the windows are boarded.")
|
|||
(SOUTH TO FOREST-3)
|
||||
(NORTH "The windows are all boarded.")
|
||||
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
||||
(GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE)>
|
||||
(GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE FOREST)>
|
||||
|
||||
<ROOM EAST-OF-HOUSE
|
||||
(IN ROOMS)
|
||||
|
@ -1307,7 +1304,7 @@ and all the windows are boarded.")
|
|||
(IN TO KITCHEN IF KITCHEN-WINDOW IS OPEN)
|
||||
(ACTION EAST-HOUSE)
|
||||
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
||||
(GLOBAL WHITE-HOUSE KITCHEN-WINDOW)>
|
||||
(GLOBAL WHITE-HOUSE KITCHEN-WINDOW FOREST)>
|
||||
|
||||
<ROOM FOREST-1
|
||||
(IN ROOMS)
|
||||
|
@ -2466,7 +2463,7 @@ shaft is a metal framework to which a heavy iron chain is attached.")
|
|||
<ROOM SMELLY-ROOM ;"was SMELL"
|
||||
(IN ROOMS)
|
||||
(LDESC
|
||||
"This is a small non-descript room. However, from the direction
|
||||
"This is a small nondescript room. However, from the direction
|
||||
of a small descending staircase a foul odor can be detected. To the
|
||||
south is a narrow tunnel.")
|
||||
(DESC "Smelly Room")
|
||||
|
@ -2567,7 +2564,7 @@ passage. In the shaft can be seen a heavy iron chain.")
|
|||
|
||||
<ROOM MINE-1 ;"was MINE1"
|
||||
(IN ROOMS)
|
||||
(LDESC "This is a non-descript part of a coal mine.")
|
||||
(LDESC "This is a nondescript part of a coal mine.")
|
||||
(DESC "Coal Mine")
|
||||
(NORTH TO GAS-ROOM)
|
||||
(EAST TO MINE-1)
|
||||
|
@ -2576,7 +2573,7 @@ passage. In the shaft can be seen a heavy iron chain.")
|
|||
|
||||
<ROOM MINE-2 ;"was MINE2"
|
||||
(IN ROOMS)
|
||||
(LDESC "This is a non-descript part of a coal mine.")
|
||||
(LDESC "This is a nondescript part of a coal mine.")
|
||||
(DESC "Coal Mine")
|
||||
(NORTH TO MINE-2)
|
||||
(SOUTH TO MINE-1)
|
||||
|
@ -2585,7 +2582,7 @@ passage. In the shaft can be seen a heavy iron chain.")
|
|||
|
||||
<ROOM MINE-3 ;"was MINE3"
|
||||
(IN ROOMS)
|
||||
(LDESC "This is a non-descript part of a coal mine.")
|
||||
(LDESC "This is a nondescript part of a coal mine.")
|
||||
(DESC "Coal Mine")
|
||||
(SOUTH TO MINE-3)
|
||||
(SW TO MINE-4)
|
||||
|
@ -2594,7 +2591,7 @@ passage. In the shaft can be seen a heavy iron chain.")
|
|||
|
||||
<ROOM MINE-4 ;"was MINE4"
|
||||
(IN ROOMS)
|
||||
(LDESC "This is a non-descript part of a coal mine.")
|
||||
(LDESC "This is a nondescript part of a coal mine.")
|
||||
(DESC "Coal Mine")
|
||||
(NORTH TO MINE-3)
|
||||
(WEST TO MINE-4)
|
||||
|
@ -2621,17 +2618,17 @@ a small opening.")
|
|||
;"RANDOM TABLES FOR WALK-AROUND"
|
||||
|
||||
<GLOBAL HOUSE-AROUND
|
||||
<LTABLE WEST-OF-HOUSE NORTH-OF-HOUSE EAST-OF-HOUSE SOUTH-OF-HOUSE
|
||||
<LTABLE (PURE) WEST-OF-HOUSE NORTH-OF-HOUSE EAST-OF-HOUSE SOUTH-OF-HOUSE
|
||||
WEST-OF-HOUSE>>
|
||||
|
||||
<GLOBAL FOREST-AROUND
|
||||
<LTABLE FOREST-1 FOREST-2 FOREST-3 PATH CLEARING FOREST-1>>
|
||||
<LTABLE (PURE) FOREST-1 FOREST-2 FOREST-3 PATH CLEARING FOREST-1>>
|
||||
|
||||
<GLOBAL IN-HOUSE-AROUND
|
||||
<LTABLE LIVING-ROOM KITCHEN ATTIC KITCHEN>>
|
||||
<LTABLE (PURE) LIVING-ROOM KITCHEN ATTIC KITCHEN>>
|
||||
|
||||
<GLOBAL ABOVE-GROUND
|
||||
<LTABLE WEST-OF-HOUSE NORTH-OF-HOUSE EAST-OF-HOUSE SOUTH-OF-HOUSE
|
||||
<LTABLE (PURE) WEST-OF-HOUSE NORTH-OF-HOUSE EAST-OF-HOUSE SOUTH-OF-HOUSE
|
||||
FOREST-1 FOREST-2 FOREST-3 PATH CLEARING GRATING-CLEARING
|
||||
CANYON-VIEW>>
|
||||
|
||||
|
|
|
@ -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>>
|
||||
|
|
93
gglobals.zil
93
gglobals.zil
|
@ -64,52 +64,19 @@
|
|||
<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)
|
||||
;"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
|
||||
<TELL "[Moby-found " N .M-F " objects" "]" CR>)>
|
||||
<COND (<AND <G? .M-F 1>
|
||||
<SET OBJ <GETP <1 .TBL> ,P?GLOBAL>>>
|
||||
<SET M-F 1>
|
||||
<SETG P-MOBY-FOUND .OBJ>)>
|
||||
<COND (<==? 1 .M-F>
|
||||
;<COND (,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">
|
||||
<NOT-HERE-PRINT .PRSO?>
|
||||
<TELL " there." CR>
|
||||
<RTRUE>)
|
||||
(T ,NOT-HERE-OBJECT)>>
|
||||
|
||||
<ROUTINE GLOBAL-NOT-HERE-PRINT (OBJ)
|
||||
;<COND (,P-MULT <SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>)>
|
||||
<SETG P-CONT <>>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<TELL "You can't see any">
|
||||
<COND (<EQUAL? .OBJ ,PRSO> <PRSO-PRINT>)
|
||||
(T <PRSI-PRINT>)>
|
||||
<TELL " here." CR>>
|
||||
|
||||
<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
|
||||
|
@ -153,7 +120,20 @@
|
|||
(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 +149,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 +239,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 +250,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 +273,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)>
|
||||
|
||||
|
|
|
@ -49,9 +49,6 @@
|
|||
<MAPRET <FORM PRINT .E>>)
|
||||
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
|
||||
|
||||
<ROUTINE PRINTA (O)
|
||||
<TELL "a " D .O>>
|
||||
|
||||
<DEFMAC VERB? ("ARGS" ATMS)
|
||||
<MULTIFROB PRSA .ATMS>>
|
||||
|
||||
|
@ -64,8 +61,6 @@
|
|||
<DEFMAC ROOM? ("ARGS" ATMS)
|
||||
<MULTIFROB HERE .ATMS>>
|
||||
|
||||
<ZSTR-OFF>
|
||||
|
||||
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
|
||||
<REPEAT ()
|
||||
<COND (<EMPTY? .ATMS>
|
||||
|
@ -114,8 +109,6 @@
|
|||
(ELSE <FORM GVAL .ATM>)>>
|
||||
!.O)>>>
|
||||
|
||||
<ZSTR-ON>
|
||||
|
||||
<DEFMAC RFATAL ()
|
||||
'<PROG () <PUSH 2> <RSTACK>>>
|
||||
|
||||
|
|
132
gmain.zil
132
gmain.zil
|
@ -2,6 +2,8 @@
|
|||
The ZORK Trilogy
|
||||
started on 7/28/83 by MARC"
|
||||
|
||||
<CONSTANT SERIAL 0>
|
||||
|
||||
<GLOBAL PLAYER <>>
|
||||
|
||||
<GLOBAL P-WON <>>
|
||||
|
@ -29,15 +31,39 @@
|
|||
;"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 <>>)
|
||||
|
@ -50,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>>
|
||||
|
@ -86,45 +114,37 @@
|
|||
(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>>
|
||||
<COND (<EQUAL? .OBJ1
|
||||
,NOT-HERE-OBJECT>
|
||||
<SETG P-NOT-HERE
|
||||
<+ ,P-NOT-HERE 1>>
|
||||
<AGAIN>)
|
||||
(<AND <VERB? TAKE>
|
||||
,PRSI
|
||||
<EQUAL? <GET <GET ,P-ITBL
|
||||
,P-NC1>
|
||||
0>
|
||||
,W?ALL>
|
||||
<NOT <IN? ,PRSO ,PRSI>>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS
|
||||
,P-ALL>
|
||||
<VERB? TAKE>
|
||||
<OR <AND <NOT <EQUAL?
|
||||
<LOC .OBJ1>
|
||||
,WINNER
|
||||
,HERE>>
|
||||
<NOT <FSET?
|
||||
<LOC .OBJ1>
|
||||
,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>)>)>>)>
|
||||
|
@ -132,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>
|
||||
|
@ -140,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>
|
||||
|
@ -172,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>)>
|
||||
|
@ -180,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)
|
||||
|
@ -225,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>)>
|
||||
|
@ -233,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)
|
||||
|
|
1158
gparser.zil
1158
gparser.zil
File diff suppressed because it is too large
Load Diff
61
gsyntax.zil
61
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,13 @@
|
|||
|
||||
<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>
|
||||
|
||||
^L
|
||||
|
||||
|
@ -71,15 +83,16 @@
|
|||
<SYNTAX ACTIVATE OBJECT (FIND LIGHTBIT)
|
||||
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
|
||||
|
||||
<SYNTAX AGAIN = V-AGAIN>
|
||||
<SYNONYM AGAIN G>
|
||||
|
||||
<SYNTAX ANSWER = V-ANSWER>
|
||||
<SYNTAX ANSWER OBJECT = V-REPLY>
|
||||
<SYNONYM ANSWER REPLY>
|
||||
|
||||
<SYNTAX APPLY OBJECT TO OBJECT = V-PUT PRE-PUT>
|
||||
|
||||
<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>
|
||||
|
@ -114,9 +127,9 @@
|
|||
<SYNTAX CHOMP = V-CHOMP>
|
||||
<SYNONYM CHOMP LOSE BARF>
|
||||
|
||||
<SYNTAX CLIMB UP = V-CLIMB-UP>
|
||||
<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 = 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>
|
||||
|
@ -149,6 +162,7 @@
|
|||
<SYNTAX DESTROY IN OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-OPEN>
|
||||
<SYNONYM DESTROY DAMAGE BREAK BLOCK SMASH>
|
||||
|
||||
<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)
|
||||
|
@ -168,7 +182,6 @@
|
|||
<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>
|
||||
|
||||
<SYNTAX EAT OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
= V-EAT>
|
||||
|
@ -217,11 +230,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>
|
||||
|
||||
|
@ -235,9 +246,6 @@
|
|||
<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 JUMP = V-LEAP>
|
||||
<SYNTAX JUMP OVER OBJECT = V-LEAP>
|
||||
<SYNTAX JUMP ACROSS OBJECT = V-LEAP>
|
||||
|
@ -249,6 +257,10 @@
|
|||
<SYNTAX KICK OBJECT = V-KICK>
|
||||
<SYNONYM KICK TAUNT>
|
||||
|
||||
<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>
|
||||
|
@ -309,6 +321,8 @@
|
|||
<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>
|
||||
|
@ -418,7 +432,6 @@
|
|||
<SYNTAX SKIP = V-SKIP>
|
||||
<SYNONYM SKIP HOP>
|
||||
|
||||
;<SYNTAX SLIDE OBJECT = V-PUSH>
|
||||
<SYNTAX SLIDE OBJECT UNDER OBJECT = V-PUT-UNDER>
|
||||
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
|
||||
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
|
||||
|
@ -445,6 +458,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>
|
||||
|
@ -454,7 +468,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)
|
||||
|
@ -466,6 +480,7 @@
|
|||
<SYNONYM TAKE GET HOLD CARRY REMOVE GRAB CATCH>
|
||||
|
||||
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
|
||||
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) ABOUT OBJECT = V-TELL>
|
||||
<SYNONYM TELL ASK>
|
||||
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
|
||||
|
@ -488,8 +503,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>
|
||||
|
@ -497,7 +511,6 @@
|
|||
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
|
||||
<SYNTAX TURN OBJECT (FIND TURNBIT) TO OBJECT = V-TURN PRE-TURN>
|
||||
<SYNTAX TURN OBJECT (FIND TURNBIT) FOR OBJECT = V-TURN PRE-TURN>
|
||||
;<SYNTAX TURN OBJECT (FIND TURNBIT) = V-TURN PRE-TURN>
|
||||
<SYNONYM TURN SET FLIP SHUT>
|
||||
|
||||
<SYNTAX UNLOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT
|
||||
|
@ -515,6 +528,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>
|
||||
|
@ -529,6 +543,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>
|
||||
|
||||
<SYNTAX WEAR OBJECT = V-WEAR>
|
||||
|
|
446
gverbs.zil
446
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,19 +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|
|
||||
***RENOVATED VERSION***|
|
||||
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.|
|
||||
Revision ">
|
||||
Release ">
|
||||
<PRINTN <BAND <GET 0 1> *3777*>>
|
||||
<TELL " / Serial number ">
|
||||
<REPEAT ()
|
||||
|
@ -107,6 +127,25 @@ Revision ">
|
|||
(T
|
||||
<TELL CR "** Disk Failure **" CR>)>>
|
||||
|
||||
<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>>
|
||||
|
||||
^L
|
||||
|
||||
"Real Verb Functions"
|
||||
|
@ -114,25 +153,6 @@ Revision ">
|
|||
<ROUTINE V-ADVENT ()
|
||||
<TELL "A hollow voice says \"Fool.\"" CR>>
|
||||
|
||||
<ROUTINE V-AGAIN ("AUX" (OBJ <>))
|
||||
<COND (<EQUAL? ,L-PRSA ,V?WALK>
|
||||
<PERFORM ,L-PRSA ,L-PRSO>)
|
||||
(T
|
||||
<COND (,L-PRSO
|
||||
<COND (<OR <NOT <LOC ,L-PRSO>>
|
||||
<FSET? ,L-PRSO ,INVISIBLE>>
|
||||
<SET OBJ ,L-PRSO>)>)>
|
||||
<COND (,L-PRSI
|
||||
<COND (<OR <NOT <LOC ,L-PRSI>>
|
||||
<FSET? ,L-PRSI ,INVISIBLE>>
|
||||
<SET OBJ ,L-PRSI>)>)>
|
||||
<COND (<AND .OBJ
|
||||
<NOT <EQUAL? .OBJ ,PSEUDO-OBJECT ,ROOMS>>>
|
||||
<TELL "You can't see the " D .OBJ " anymore." CR>
|
||||
<RFATAL>)
|
||||
(T
|
||||
<PERFORM ,L-PRSA ,L-PRSO ,L-PRSI>)>)>>
|
||||
|
||||
<ROUTINE V-ALARM ()
|
||||
<COND (<FSET? ,PRSO ,ACTORBIT>
|
||||
<COND %<COND (<==? ,ZORK-NUMBER 1>
|
||||
|
@ -181,7 +201,7 @@ Revision ">
|
|||
<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>))>
|
||||
|
@ -193,6 +213,9 @@ Revision ">
|
|||
<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>)>
|
||||
|
@ -214,8 +237,13 @@ Revision ">
|
|||
<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 (<FLAMING? ,PRSI>
|
||||
<COND (<NOT ,PRSI>
|
||||
<TELL-NO-PRSI>)
|
||||
(<FLAMING? ,PRSI>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<TELL "With a " D ,PRSI "??!?" CR>)>>
|
||||
|
@ -251,17 +279,26 @@ Revision ">
|
|||
<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 (<FSET? ,PRSO ,VEHBIT>
|
||||
<PERFORM ,V?BOARD ,PRSO>
|
||||
%<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
|
||||
|
@ -280,12 +317,19 @@ Revision ">
|
|||
<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>)>>
|
||||
|
||||
|
@ -361,15 +405,22 @@ Revision ">
|
|||
<ROUTINE V-DIG ()
|
||||
<COND (<NOT ,PRSI>
|
||||
<SETG PRSI ,HANDS>)>
|
||||
<COND (<EQUAL? ,PRSI ,SHOVEL>
|
||||
<TELL "There's no reason to be digging here." CR>)
|
||||
(<FSET? ,PRSI ,TOOLBIT>
|
||||
%<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>
|
||||
|
@ -444,13 +495,15 @@ Revision ">
|
|||
<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
|
||||
"You don't have any to drink." CR>)
|
||||
(<NOT <IN? .NOBJ ,WINNER>>
|
||||
"There isn't any water here." CR>)
|
||||
(<AND <ACCESSIBLE? .NOBJ>
|
||||
<NOT <IN? .NOBJ ,WINNER>>>
|
||||
<TELL
|
||||
"You have to be holding the " D .NOBJ " first." CR>)
|
||||
(<NOT <FSET? .NOBJ ,OPENBIT>>
|
||||
|
@ -463,10 +516,12 @@ Revision ">
|
|||
"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>
|
||||
<REMOVE-CAREFULLY ,PRSO>>
|
||||
probably)." CR>>
|
||||
|
||||
<ROUTINE V-ECHO ("AUX" LST MAX (ECH 0) CNT)
|
||||
#DECL ((LST) <PRIMTYPE VECTOR> (MAX CNT ECH) FIX)
|
||||
|
@ -536,7 +591,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>
|
||||
|
@ -554,8 +609,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>>
|
||||
|
@ -576,20 +630,34 @@ probably)." CR>
|
|||
<TELL "There's nothing special about the " D ,PRSO "." CR>)>>
|
||||
|
||||
<ROUTINE V-EXIT ()
|
||||
<DO-WALK ,P?OUT>>
|
||||
<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>)
|
||||
(ELSE
|
||||
<DO-WALK ,P?OUT>)>>
|
||||
|
||||
<ROUTINE V-EXORCISE ()
|
||||
<TELL "What a bizarre concept!" CR>>
|
||||
|
||||
<ROUTINE PRE-FILL ("AUX" TX)
|
||||
<COND (<AND <NOT ,PRSI> <SET TX <GETPT ,HERE ,P?GLOBAL>>>
|
||||
<COND (<ZMEMQB ,GLOBAL-WATER .TX <- <PTSIZE .TX> 1>>
|
||||
<SETG PRSI ,GLOBAL-WATER>
|
||||
<RFALSE>)
|
||||
<COND (<NOT ,PRSI>
|
||||
<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 (<NOT <EQUAL? ,PRSI ,GLOBAL-WATER>>
|
||||
<COND (<EQUAL? ,PRSI ,WATER>
|
||||
<RFALSE>)
|
||||
(<NOT <EQUAL? ,PRSI ,GLOBAL-WATER>>
|
||||
<PERFORM ,V?PUT ,PRSI ,PRSO>
|
||||
<RTRUE>)>>
|
||||
|
||||
|
@ -689,17 +757,6 @@ D ,PRSO "." CR>)>)
|
|||
<ROUTINE V-INFLATE ()
|
||||
<TELL "How can you inflate that?" CR>>
|
||||
|
||||
<ROUTINE V-IS-IN ()
|
||||
<COND (<IN? ,PRSO ,PRSI>
|
||||
<TELL "Yes, it is ">
|
||||
<COND (<FSET? ,PRSI ,SURFACEBIT>
|
||||
<TELL "on">)
|
||||
(T
|
||||
<TELL "in">)>
|
||||
<TELL " the " D ,PRSI "." CR>)
|
||||
(T
|
||||
<TELL "No, it isn't." CR>)>>
|
||||
|
||||
<ROUTINE V-KICK () <HACK-HACK "Kicking the ">>
|
||||
|
||||
<ROUTINE V-KISS ()
|
||||
|
@ -737,6 +794,9 @@ D ,PRSO "." CR>)>)
|
|||
<SETG LIT <LIT? ,HERE>>
|
||||
<CRLF>
|
||||
<V-LOOK>)>)>)
|
||||
(<FSET? ,PRSO ,BURNBIT>
|
||||
<TELL
|
||||
"If you wish to burn the " D ,PRSO ", you should say so." CR>)
|
||||
(T
|
||||
<TELL "You can't turn that on." CR>)>
|
||||
<RTRUE>>
|
||||
|
@ -817,6 +877,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
|
||||
|
@ -937,13 +1002,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))>
|
||||
(<FSET? <LOC ,WINNER> ,VEHBIT>
|
||||
<PERFORM ,V?THROW ,PRSO>
|
||||
<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>>
|
||||
|
@ -953,6 +1026,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
|
||||
|
@ -1099,8 +1176,7 @@ by knocking down the wall on the east of the room." CR>
|
|||
<SETG P-CONT <>>
|
||||
<COND (<EQUAL? ,HERE ,MSTAIRS>
|
||||
<CRLF>
|
||||
<GOTO ,FRONT-DOOR>
|
||||
<RTRUE>)
|
||||
<GOTO ,FRONT-DOOR>)
|
||||
(T
|
||||
<TELL "Nothing happens." CR>)>
|
||||
<RTRUE>)>)
|
||||
|
@ -1108,14 +1184,14 @@ by knocking down the wall on the east of the room." CR>
|
|||
'<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 P-CONT <>>)
|
||||
(<NOT <EQUAL? <GET ,P-LEXV ,P-CONT> ,W?HELLO>>
|
||||
<SETG P-CONT <>>
|
||||
<SETG P-CONT <>>
|
||||
<TELL
|
||||
"Talking to yourself is a sign of impending mental collapse." CR>)>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE V-SEARCH ()
|
||||
|
@ -1143,8 +1219,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">)>
|
||||
|
@ -1247,7 +1326,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.">)>
|
||||
|
@ -1285,8 +1364,14 @@ D ,PRSO " with a weapon." CR>)
|
|||
(,PRSI
|
||||
<COND (<EQUAL? ,PRSI ,GROUND>
|
||||
<SETG PRSI <>>
|
||||
<RFALSE>)
|
||||
(<NOT <EQUAL? ,PRSI <LOC ,PRSO>>>
|
||||
<RFALSE>)>
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'<COND (<EQUAL? ,PRSO ,DOOR-KEEPER>
|
||||
<SETG PRSI <>>
|
||||
<RFALSE>)>)
|
||||
(ELSE
|
||||
'<NULL-F>)>
|
||||
<COND (<NOT <EQUAL? ,PRSI <LOC ,PRSO>>>
|
||||
<TELL "The " D ,PRSO " isn't in the " D ,PRSI "." CR>)
|
||||
(T
|
||||
<SETG PRSI <>>
|
||||
|
@ -1308,7 +1393,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>
|
||||
|
@ -1318,52 +1403,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>)
|
||||
(<AND <NOT .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
|
||||
(<OR .OBJ <NOT <FSET? ,PRSO ,TAKEBIT>>>
|
||||
%<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>)>)
|
||||
(.OBJ
|
||||
<TELL "You can't do that!" 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
|
||||
|
@ -1374,15 +1447,17 @@ 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
|
||||
merciful in the Great Underground Empire.">)
|
||||
(<FSET? ,PRSI ,ACTORBIT>
|
||||
(<AND ,PRSI <FSET? ,PRSI ,ACTORBIT>>
|
||||
<TELL
|
||||
"The " D ,PRSI " ducks as the " D ,PRSO " flies by and crashes to the ground."
|
||||
CR>)
|
||||
(T <TELL "Thrown." CR>)>)>>
|
||||
(T <TELL "Thrown." CR>)>)
|
||||
(ELSE <TELL "Huh?" CR>)>>
|
||||
|
||||
<ROUTINE V-THROW-OFF ()
|
||||
<TELL "You can't throw anything off of that!" CR>>
|
||||
|
@ -1411,7 +1486,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 ()
|
||||
|
@ -1471,6 +1559,7 @@ CR>)
|
|||
<RFATAL>)>)>)
|
||||
(<AND <NOT ,LIT>
|
||||
<PROB 80>
|
||||
<EQUAL? ,WINNER ,ADVENTURER>
|
||||
<NOT <FSET? ,HERE ,NONLANDBIT>>>
|
||||
<COND (,SPRAYED?
|
||||
<TELL
|
||||
|
@ -1495,8 +1584,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>)>>
|
||||
|
@ -1556,7 +1646,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>)>
|
||||
|
@ -1571,7 +1661,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>)>
|
||||
|
@ -1617,7 +1710,8 @@ long description (fdesc or ldesc), otherwise will print short."
|
|||
<TELL "A " D .OBJ>
|
||||
<COND (<FSET? .OBJ ,ONBIT>
|
||||
<TELL " (providing light)">)
|
||||
(<FSET? .OBJ ,WEARBIT>
|
||||
(<AND <FSET? .OBJ ,WEARBIT>
|
||||
<IN? .OBJ ,WINNER>>
|
||||
<TELL " (being worn)">)>)>
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'<COND (<AND <EQUAL? .OBJ ,SPELL-VICTIM>
|
||||
|
@ -1665,8 +1759,19 @@ long description (fdesc or ldesc), otherwise will print short."
|
|||
<SET INV? T>)
|
||||
(ELSE
|
||||
<REPEAT ()
|
||||
<COND (<NOT .Y>
|
||||
<RETURN>)
|
||||
<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>>
|
||||
|
@ -1705,7 +1810,8 @@ 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>)>)>
|
||||
<PRINT-CONT .Y .V? .LEVEL>
|
||||
<SET LEVEL <- .LEVEL 1>> ;"not in Zork III")>)>
|
||||
<SET Y <NEXT? .Y>>>
|
||||
<COND (<AND .1ST? .SHIT> <RFALSE>) (T <RTRUE>)>>
|
||||
|
||||
|
@ -1763,10 +1869,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>
|
||||
|
@ -1844,6 +1946,7 @@ for the final secret.\"" CR>)>)
|
|||
<RFALSE>)
|
||||
(T
|
||||
<MOVE ,PRSO ,WINNER>
|
||||
<FCLEAR ,PRSO ,NDESCBIT>
|
||||
<FSET ,PRSO ,TOUCHBIT>
|
||||
%<COND (<==? ,ZORK-NUMBER 2>
|
||||
'<COND (<EQUAL? ,SPELL? ,S-FILCH>
|
||||
|
@ -1910,7 +2013,8 @@ for the final secret.\"" CR>)>)
|
|||
<CONSTANT DEXITSTR 1>
|
||||
|
||||
<GLOBAL INDENTS
|
||||
<TABLE ""
|
||||
<TABLE (PURE)
|
||||
""
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
|
@ -1940,8 +2044,9 @@ for the final secret.\"" CR>)>)
|
|||
|
||||
<ROUTINE GOTO (RM "OPTIONAL" (V? T)
|
||||
"AUX" (LB <FSET? .RM ,RLANDBIT>) (WLOC <LOC ,WINNER>)
|
||||
(AV <>) OLIT)
|
||||
(AV <>) OLIT OHERE)
|
||||
<SET OLIT ,LIT>
|
||||
<SET OHERE ,HERE>
|
||||
<COND (<FSET? .WLOC ,VEHBIT>
|
||||
<SET AV <GETP .WLOC ,P?VTYPE>>)>
|
||||
<COND (<AND <NOT .LB>
|
||||
|
@ -1967,8 +2072,20 @@ for the final secret.\"" CR>)>)
|
|||
<NOT <FSET? ,HERE ,RLANDBIT>>
|
||||
<NOT ,DEAD>
|
||||
<FSET? .WLOC ,VEHBIT>>
|
||||
<TELL
|
||||
"The " D .WLOC " comes to a rest on the shore." CR CR>)>
|
||||
%<COND (<==? ,ZORK-NUMBER 1>
|
||||
'<TELL
|
||||
"The " D .WLOC " comes to a rest on the shore." CR CR>)
|
||||
(<==? ,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>)
|
||||
(T
|
||||
|
@ -2004,18 +2121,21 @@ stumbled into an authentic grue lair!">))
|
|||
<APPLY <GETP ,HERE ,P?ACTION> ,M-ENTER>
|
||||
<SCORE-OBJ .RM>
|
||||
<COND (<NOT <EQUAL? ,HERE .RM>> <RTRUE>)
|
||||
(<NOT <EQUAL? ,ADVENTURER ,WINNER>>
|
||||
(<AND <NOT <EQUAL? ,ADVENTURER ,WINNER>>
|
||||
<IN? ,ADVENTURER .OHERE>>
|
||||
<TELL "The " D ,WINNER " leaves the room." CR>)
|
||||
(.V? <V-FIRST-LOOK>)>
|
||||
%<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>)>>
|
||||
|
||||
;"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)>)>>
|
||||
|
||||
<ROUTINE LKP (ITM TBL "AUX" (CNT 0) (LEN <GET .TBL 0>))
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> .LEN>
|
||||
|
@ -2029,11 +2149,6 @@ stumbled into an authentic grue lair!">))
|
|||
<SETG P-WALK-DIR .DIR>
|
||||
<PERFORM ,V?WALK .DIR>>
|
||||
|
||||
<ROUTINE WORD-TYPE (OBJ WORD "AUX" SYNS)
|
||||
<ZMEMQ .WORD
|
||||
<SET SYNS <GETPT .OBJ ,P?SYNONYM>>
|
||||
<- </ <PTSIZE .SYNS> 2> 1>>>
|
||||
|
||||
<ROUTINE GLOBAL-IN? (OBJ1 OBJ2 "AUX" TX)
|
||||
<COND (<SET TX <GETPT .OBJ2 ,P?GLOBAL>>
|
||||
<ZMEMQB .OBJ1 .TX <- <PTSIZE .TX> 1>>)>>
|
||||
|
@ -2049,11 +2164,6 @@ stumbled into an authentic grue lair!">))
|
|||
(<NOT <SET W <NEXT? .W>>>
|
||||
<RETURN <>>)>>>
|
||||
|
||||
|
||||
<ROUTINE IN-HERE? (OBJ)
|
||||
<OR <IN? .OBJ ,HERE>
|
||||
<GLOBAL-IN? .OBJ ,HERE>>>
|
||||
|
||||
<ROUTINE HELD? (CAN)
|
||||
<REPEAT ()
|
||||
<SET CAN <LOC .CAN>>
|
||||
|
@ -2071,15 +2181,19 @@ stumbled into an authentic grue lair!">))
|
|||
<RETURN .P>)>)>>>
|
||||
|
||||
<ROUTINE MUNG-ROOM (RM STR)
|
||||
%<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."
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,2 @@
|
|||
-date- -rel- -size- -pre- -obj- -glo- -voc-
|
||||
4/29 119 86838 19284 250 155 684
|
|
@ -0,0 +1,35 @@
|
|||
Assembling ZORK1.ZAP.25 on Friday, April 29, 1988 12:12:19
|
||||
Release: 119
|
||||
|
||||
64 Inserting ZORK1FREQ.XZAP.3 (624 bytes)
|
||||
688 Inserting ZORK1DAT.ZAP.22 (18596 bytes)
|
||||
19284 Inserting ZORK1PUR.ZAP.9 (1214 bytes)
|
||||
20498 Inserting GMACROS.ZAP.25 (119 bytes)
|
||||
20617 Inserting 1DUNGEON.ZAP.24 (232 bytes)
|
||||
20849 Inserting GGLOBALS.ZAP.23 (1160 bytes)
|
||||
22009 Inserting GCLOCK.ZAP.23 (175 bytes)
|
||||
22184 Inserting GMAIN.ZAP.23 (891 bytes)
|
||||
23075 Inserting GPARSER.ZAP.21 (6585 bytes)
|
||||
29660 Inserting GVERBS.ZAP.22 (10530 bytes)
|
||||
40190 Inserting 1ACTIONS.ZAP.21 (29982 bytes)
|
||||
70172 Inserting ZORK1STR.ZAP.21 (16666 bytes)
|
||||
|
||||
Symbols unused:
|
||||
UNTIE-FROM
|
||||
BREATHE
|
||||
CYCLOPS-MELEE
|
||||
TROLL-MELEE
|
||||
P-DIRECTION
|
||||
DEF2A
|
||||
DEF3C
|
||||
THIEF-MELEE
|
||||
|
||||
250 objects.
|
||||
155 globals.
|
||||
684 word vocabulary.
|
||||
|
||||
86838 bytes (85K).
|
||||
19284 bytes of preload.
|
||||
11282 bytes of impure.
|
||||
|
||||
Outputting symbol tables
|
|
@ -0,0 +1,632 @@
|
|||
|
||||
Combined ZIL Compiler Ver 2.0 (MIM)
|
||||
-----------------------------------
|
||||
|
||||
Incremental compilation disabled, because top-level ZIL file changed.
|
||||
|
||||
Input file: SS:<ZORK1>ZORK1.ZIL.29
|
||||
[ZIP instructions]
|
||||
|
||||
Loading SS:<ZORK1>GMACROS.ZIL.8 and compiling it.
|
||||
Compiling routine: ZPROB
|
||||
Compiling routine: RANDOM-ELEMENT
|
||||
Compiling routine: PICK-ONE
|
||||
Abstracting SS:<ZORK1>GMACROS.
|
||||
Loading SS:<ZORK1>GSYNTAX.ZIL.153 and compiling it.
|
||||
Loading SS:<ZORK1>1DUNGEON.ZIL.122 and compiling it.
|
||||
Compiling routine: TREASURE-INSIDE
|
||||
Compiling routine: GRATING-EXIT
|
||||
Compiling routine: CANYON-VIEW-F
|
||||
Compiling routine: GO
|
||||
Abstracting SS:<ZORK1>1DUNGEON.
|
||||
Loading SS:<ZORK1>GGLOBALS.ZIL.64 and compiling it.
|
||||
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
|
||||
Abstracting SS:<ZORK1>GGLOBALS.
|
||||
Loading SS:<ZORK1>GCLOCK.ZIL.6 and compiling it.
|
||||
Compiling routine: QUEUE
|
||||
Compiling routine: INT
|
||||
Compiling routine: CLOCKER
|
||||
Abstracting SS:<ZORK1>GCLOCK.
|
||||
Loading SS:<ZORK1>GMAIN.ZIL.42 and compiling it.
|
||||
Compiling routine: MAIN-LOOP
|
||||
Compiling routine: MAIN-LOOP-1
|
||||
Compiling routine: PERFORM
|
||||
Abstracting SS:<ZORK1>GMAIN.
|
||||
Loading SS:<ZORK1>GPARSER.ZIL.45 and compiling it.
|
||||
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
|
||||
Abstracting SS:<ZORK1>GPARSER.
|
||||
Loading SS:<ZORK1>GVERBS.ZIL.429 and compiling it.
|
||||
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
|
||||
Abstracting SS:<ZORK1>GVERBS.
|
||||
Loading SS:<ZORK1>1ACTIONS.ZIL.257 and compiling it.
|
||||
Compiling routine: WEST-HOUSE
|
||||
Compiling routine: EAST-HOUSE
|
||||
Compiling routine: OPEN-CLOSE
|
||||
Compiling routine: BOARD-F
|
||||
Compiling routine: TEETH-F
|
||||
Compiling routine: GRANITE-WALL-F
|
||||
Compiling routine: SONGBIRD-F
|
||||
Compiling routine: WHITE-HOUSE-F
|
||||
Compiling routine: GO-NEXT
|
||||
Compiling routine: FOREST-F
|
||||
Compiling routine: MOUNTAIN-RANGE-F
|
||||
Compiling routine: WATER-F
|
||||
Compiling routine: KITCHEN-WINDOW-F
|
||||
Compiling routine: GHOSTS-F
|
||||
Compiling routine: BASKET-F
|
||||
Compiling routine: BAT-F
|
||||
Compiling routine: FLY-ME
|
||||
Compiling routine: FWEEP
|
||||
Compiling routine: BELL-F
|
||||
Compiling routine: HOT-BELL-F
|
||||
Compiling routine: BOARDED-WINDOW-FCN
|
||||
Compiling routine: NAILS-PSEUDO
|
||||
Compiling routine: CRACK-FCN
|
||||
Compiling routine: KITCHEN-FCN
|
||||
Compiling routine: STONE-BARROW-FCN
|
||||
Compiling routine: BARROW-DOOR-FCN
|
||||
Compiling routine: BARROW-FCN
|
||||
Compiling routine: TROPHY-CASE-FCN
|
||||
Compiling routine: LIVING-ROOM-FCN
|
||||
Compiling routine: TOUCH-ALL
|
||||
Compiling routine: OTVAL-FROB
|
||||
Compiling routine: TRAP-DOOR-FCN
|
||||
Compiling routine: CELLAR-FCN
|
||||
Compiling routine: CHIMNEY-F
|
||||
Compiling routine: UP-CHIMNEY-FUNCTION
|
||||
Compiling routine: TRAP-DOOR-EXIT
|
||||
Compiling routine: RUG-FCN
|
||||
Compiling routine: AXE-F
|
||||
Compiling routine: STILETTO-FUNCTION
|
||||
Compiling routine: WEAPON-FUNCTION
|
||||
Compiling routine: TROLL-FCN
|
||||
Compiling routine: LEAVES-APPEAR
|
||||
Compiling routine: LEAF-PILE
|
||||
Compiling routine: CLEARING-FCN
|
||||
Compiling routine: MAZE-11-FCN
|
||||
Compiling routine: GRATE-FUNCTION
|
||||
Compiling routine: MAZE-DIODES
|
||||
Compiling routine: RUSTY-KNIFE-FCN
|
||||
Compiling routine: KNIFE-F
|
||||
Compiling routine: SKELETON
|
||||
Compiling routine: TORCH-OBJECT
|
||||
Compiling routine: MIRROR-ROOM
|
||||
Compiling routine: MIRROR-MIRROR
|
||||
Compiling routine: TORCH-ROOM-FCN
|
||||
Compiling routine: DOME-ROOM-FCN
|
||||
Compiling routine: LLD-ROOM
|
||||
Compiling routine: I-XB
|
||||
Compiling routine: I-XC
|
||||
Compiling routine: I-XBH
|
||||
Compiling routine: DAM-ROOM-FCN
|
||||
Compiling routine: BOLT-F
|
||||
Compiling routine: BUBBLE-F
|
||||
Compiling routine: INTEGRAL-PART
|
||||
Compiling routine: I-RFILL
|
||||
Compiling routine: I-REMPTY
|
||||
Compiling routine: BUTTON-F
|
||||
Compiling routine: TOOL-CHEST-FCN
|
||||
Compiling routine: I-MAINT-ROOM
|
||||
Compiling routine: LEAK-FUNCTION
|
||||
Compiling routine: FIX-MAINT-LEAK
|
||||
Compiling routine: PUTTY-FCN
|
||||
Compiling routine: TUBE-FUNCTION
|
||||
Compiling routine: DAM-FUNCTION
|
||||
Compiling routine: WITH-TELL
|
||||
Compiling routine: RESERVOIR-SOUTH-FCN
|
||||
Compiling routine: RESERVOIR-FCN
|
||||
Compiling routine: RESERVOIR-NORTH-FCN
|
||||
Compiling routine: BOTTLE-FUNCTION
|
||||
Compiling routine: CYCLOPS-FCN
|
||||
Compiling routine: I-CYCLOPS
|
||||
Compiling routine: CYCLOPS-ROOM-FCN
|
||||
Compiling routine: LOUD-ROOM-FCN
|
||||
Compiling routine: DEEP-CANYON-F
|
||||
Compiling routine: THIEF-VS-ADVENTURER
|
||||
Compiling routine: STOLE-LIGHT?
|
||||
Compiling routine: HACK-TREASURES
|
||||
Compiling routine: DEPOSIT-BOOTY
|
||||
Compiling routine: ROB-MAZE
|
||||
Compiling routine: ROBBER-FUNCTION
|
||||
Compiling routine: LARGE-BAG-F
|
||||
Compiling routine: MOVE-ALL
|
||||
Compiling routine: CHALICE-FCN
|
||||
Compiling routine: TREASURE-ROOM-FCN
|
||||
Compiling routine: THIEF-IN-TREASURE
|
||||
Compiling routine: FRONT-DOOR-FCN
|
||||
Compiling routine: BODY-FUNCTION
|
||||
Compiling routine: BLACK-BOOK
|
||||
Compiling routine: PAINTING-FCN
|
||||
Compiling routine: LANTERN
|
||||
Compiling routine: MAILBOX-F
|
||||
Compiling routine: MATCH-FUNCTION
|
||||
Compiling routine: I-MATCH
|
||||
Compiling routine: I-LANTERN
|
||||
Compiling routine: I-CANDLES
|
||||
Compiling routine: LIGHT-INT
|
||||
Compiling routine: MIN
|
||||
Compiling routine: CANDLES-FCN
|
||||
Compiling routine: CAVE2-ROOM
|
||||
Compiling routine: SWORD-FCN
|
||||
Compiling routine: BOOM-ROOM
|
||||
Compiling routine: BAT-D
|
||||
Compiling routine: BATS-ROOM
|
||||
Compiling routine: MACHINE-ROOM-FCN
|
||||
Compiling routine: MACHINE-F
|
||||
Compiling routine: MSWITCH-FUNCTION
|
||||
Compiling routine: GUNK-FUNCTION
|
||||
Compiling routine: NO-OBJS
|
||||
Compiling routine: SOUTH-TEMPLE-FCN
|
||||
Compiling routine: WHITE-CLIFFS-FUNCTION
|
||||
Compiling routine: SCEPTRE-FUNCTION
|
||||
Compiling routine: FALLS-ROOM
|
||||
Compiling routine: RAINBOW-FCN
|
||||
Compiling routine: DBOAT-FUNCTION
|
||||
Compiling routine: FIX-BOAT
|
||||
Compiling routine: RIVER-FUNCTION
|
||||
Compiling routine: I-RIVER
|
||||
Compiling routine: RBOAT-FUNCTION
|
||||
Compiling routine: BREATHE
|
||||
Compiling routine: IBOAT-FUNCTION
|
||||
Compiling routine: RIVR4-ROOM
|
||||
Compiling routine: SAND-FUNCTION
|
||||
Compiling routine: TREE-ROOM
|
||||
Compiling routine: EGG-OBJECT
|
||||
Compiling routine: BAD-EGG
|
||||
Compiling routine: CANARY-OBJECT
|
||||
Compiling routine: FOREST-ROOM?
|
||||
Compiling routine: I-FOREST-ROOM
|
||||
Compiling routine: FOREST-ROOM
|
||||
Compiling routine: WCLIF-OBJECT
|
||||
Compiling routine: CLIFF-OBJECT
|
||||
Compiling routine: ROPE-FUNCTION
|
||||
Compiling routine: UNTIE-FROM
|
||||
Compiling routine: SLIDE-FUNCTION
|
||||
Compiling routine: SLIDER
|
||||
Compiling routine: SANDWICH-BAG-FCN
|
||||
Compiling routine: DEAD-FUNCTION
|
||||
Compiling routine: LAKE-PSEUDO
|
||||
Compiling routine: STREAM-PSEUDO
|
||||
Compiling routine: CHASM-PSEUDO
|
||||
Compiling routine: DOME-PSEUDO
|
||||
Compiling routine: GATE-PSEUDO
|
||||
Compiling routine: DOOR-PSEUDO
|
||||
Compiling routine: PAINT-PSEUDO
|
||||
Compiling routine: GAS-PSEUDO
|
||||
Compiling routine: DO-FIGHT
|
||||
Compiling routine: REMARK
|
||||
Compiling routine: FIGHT-STRENGTH
|
||||
Compiling routine: VILLAIN-STRENGTH
|
||||
Compiling routine: FIND-WEAPON
|
||||
Compiling routine: VILLAIN-BLOW
|
||||
Compiling routine: HERO-BLOW
|
||||
Compiling routine: WINNER-RESULT
|
||||
Compiling routine: VILLAIN-RESULT
|
||||
Compiling routine: WINNING?
|
||||
Compiling routine: I-CURE
|
||||
Compiling routine: I-FIGHT
|
||||
Compiling routine: AWAKEN
|
||||
Compiling routine: I-SWORD
|
||||
Compiling routine: INFESTED?
|
||||
Compiling routine: I-THIEF
|
||||
Compiling routine: DROP-JUNK
|
||||
Compiling routine: RECOVER-STILETTO
|
||||
Compiling routine: STEAL-JUNK
|
||||
Compiling routine: ROB
|
||||
Compiling routine: V-DIAGNOSE
|
||||
Compiling routine: V-SCORE
|
||||
Compiling routine: JIGS-UP
|
||||
** Note: Atomic argument to routine assumed constant - DEAD-FUNCTION
|
||||
|
||||
Compiling routine: RANDOMIZE-OBJECTS
|
||||
Compiling routine: KILL-INTERRUPTS
|
||||
Compiling routine: BAG-OF-COINS-F
|
||||
Compiling routine: TRUNK-F
|
||||
Compiling routine: STUPID-CONTAINER
|
||||
Compiling routine: DUMB-CONTAINER
|
||||
Compiling routine: GARLIC-F
|
||||
Compiling routine: CHAIN-PSEUDO
|
||||
Compiling routine: TROLL-ROOM-F
|
||||
Abstracting SS:<ZORK1>1ACTIONS.
|
||||
** Note: OBJECT has no properties: GLOBAL-OBJECTS
|
||||
Vocabulary: 684
|
||||
|
||||
Prepositions: 18
|
||||
|
||||
ABOUT AROUND AWAY DOWN FROM OFF OUT TO UP
|
||||
ACROSS AT BEHIND FOR IN ON OVER UNDER WITH
|
||||
|
||||
Real globals: 148
|
||||
|
||||
ABOVE-GROUND HS P-OFLAG
|
||||
AGAIN-DIR IN-HOUSE-AROUND P-ONEOBJ
|
||||
AGAIN-LEXV INDENTS P-OTBL
|
||||
ALWAYS-LIT JUMPLOSS P-OVTBL
|
||||
BASE-SCORE KITCHEN-WINDOW-FLAG P-PRSI
|
||||
BAT-DROPS LAMP-TABLE P-PRSO
|
||||
BDIGS LIGHT-SHAFT P-SLOCBITS
|
||||
BEACH-DIG LIT P-SYNTAX
|
||||
BUOY-FLAG LLD-FLAG P-TABLE
|
||||
C-DEMONS LOAD-ALLOWED P-VTBL
|
||||
C-INTS LOAD-MAX P-WALK-DIR
|
||||
C-TABLE LOUD-FLAG P-WON
|
||||
CAGE-TOP LOUD-RUNS P-XADJ
|
||||
CANDLE-TABLE LOW-TIDE P-XADJN
|
||||
CLOCK-WAIT LUCKY P-XNAM
|
||||
COFFIN-CURE MAGIC-FLAG PLAYER
|
||||
CYCLOMAD MATCH-COUNT PRSA
|
||||
CYCLOPS-FLAG MIRROR-MUNG PRSI
|
||||
CYCLOPS-MELEE OOPS-INBUF PRSO
|
||||
CYCLOWRATH OOPS-TABLE QUOTE-FLAG
|
||||
DEAD P-AADJ RAINBOW-FLAG
|
||||
DEATHS P-ACLAUSE RESERVE-LEXV
|
||||
DEF1 P-ACT RESERVE-PTR
|
||||
DEF1-RES P-ADJ RIVER-LAUNCH
|
||||
DEF2-RES P-ADJN RIVER-NEXT
|
||||
DEF2A P-ADVERB RIVER-SPEEDS
|
||||
DEF2B P-ANAM ROBBER-C-DESC
|
||||
DEF3-RES P-AND ROBBER-U-DESC
|
||||
DEF3A P-BUTS RUG-MOVED
|
||||
DEF3B P-CCTBL SCORE-MAX
|
||||
DEF3C P-CONT SING-SONG
|
||||
DEFLATE P-DIR SPRAYED?
|
||||
DESC-OBJECT P-DIRECTION SUPER-BRIEF
|
||||
DOME-FLAG P-END-ON-PREP SWIMYUKS
|
||||
DROWNINGS P-GETFLAGS THIEF-ENGROSSED
|
||||
DUMMY P-GWIMBIT THIEF-HERE
|
||||
EGG-SOLVE P-INBUF THIEF-MELEE
|
||||
EMPTY-HANDED P-IT-OBJECT TROLL-FLAG
|
||||
FALSE-FLAG P-ITBL TROLL-MELEE
|
||||
FOREST-AROUND P-LEN VERBOSE
|
||||
FUMBLE-NUMBER P-LEXV VILLAINS
|
||||
FUMBLE-PROB P-MATCHLEN WATER-LEVEL
|
||||
GATE-FLAG P-MERGE WHEEEEE
|
||||
GATES-OPEN P-MERGED WINNER
|
||||
GRATE-REVEALED P-MULT WON-FLAG
|
||||
GRUNLOCK P-NAM XB
|
||||
HELLOS P-NCN XC
|
||||
HERO-MELEE P-NOT-HERE YUKS
|
||||
HO-HUM P-NUMBER
|
||||
HOUSE-AROUND P-OCLAUSE
|
||||
|
||||
Objects: 250
|
||||
|
||||
ADVENTURER GLOBAL-OBJECTS POT-OF-GOLD
|
||||
ADVERTISEMENT GLOBAL-WATER PRAYER
|
||||
ALTAR GRANITE-WALL PSEUDO-OBJECT
|
||||
ARAGAIN-FALLS GRATE PUMP
|
||||
ATLANTIS-ROOM GRATING-CLEARING PUNCTURED-BOAT
|
||||
ATTIC GRATING-ROOM PUTTY
|
||||
ATTIC-TABLE GROUND RAILING
|
||||
AXE GRUE RAINBOW
|
||||
BAG-OF-COINS GUIDE RAISED-BASKET
|
||||
BAR GUNK RED-BUTTON
|
||||
BARROW HANDS RESERVOIR
|
||||
BARROW-DOOR HOT-BELL RESERVOIR-NORTH
|
||||
BAT IN-STREAM RESERVOIR-SOUTH
|
||||
BAT-ROOM INFLATABLE-BOAT RIVER
|
||||
BAUBLE INFLATED-BOAT RIVER-1
|
||||
BELL INTNUM RIVER-2
|
||||
BLESSINGS IT RIVER-3
|
||||
BLUE-BUTTON JADE RIVER-4
|
||||
BOARD KEYS RIVER-5
|
||||
BOARDED-WINDOW KITCHEN ROOMS
|
||||
BOAT-LABEL KITCHEN-TABLE ROPE
|
||||
BODIES KITCHEN-WINDOW ROUND-ROOM
|
||||
BOLT KNIFE RUG
|
||||
BONES LADDER RUSTY-KNIFE
|
||||
BOOK LADDER-BOTTOM SAILOR
|
||||
BOTTLE LADDER-TOP SAND
|
||||
BRACELET LAMP SANDWICH-BAG
|
||||
BROKEN-CANARY LAND-OF-LIVING-DEAD SANDY-BEACH
|
||||
BROKEN-EGG LARGE-BAG SANDY-CAVE
|
||||
BROKEN-LAMP LEAK SCARAB
|
||||
BROWN-BUTTON LEAVES SCEPTRE
|
||||
BUBBLE LIVING-ROOM SCREWDRIVER
|
||||
BUOY LOCAL-GLOBALS SHAFT-ROOM
|
||||
BURNED-OUT-LANTERN LOUD-ROOM SHORE
|
||||
CANARY LOWER-SHAFT SHOVEL
|
||||
CANDLES LOWERED-BASKET SKULL
|
||||
CANYON-BOTTOM LUNCH SLIDE
|
||||
CANYON-VIEW LUNGS SLIDE-ROOM
|
||||
CELLAR MACHINE SMALL-CAVE
|
||||
CHALICE MACHINE-ROOM SMELLY-ROOM
|
||||
CHASM-ROOM MACHINE-SWITCH SONGBIRD
|
||||
CHIMNEY MAILBOX SOUTH-OF-HOUSE
|
||||
CLEARING MAINTENANCE-ROOM SOUTH-TEMPLE
|
||||
CLIFF-MIDDLE MAP SQUEEKY-ROOM
|
||||
CLIMBABLE-CLIFF MATCH STAIRS
|
||||
COAL MAZE-1 STILETTO
|
||||
COFFIN MAZE-10 STONE-BARROW
|
||||
COLD-PASSAGE MAZE-11 STRANGE-PASSAGE
|
||||
CONTROL-PANEL MAZE-12 STREAM-VIEW
|
||||
CRACK MAZE-13 STUDIO
|
||||
CYCLOPS MAZE-14 SWORD
|
||||
CYCLOPS-ROOM MAZE-15 TEETH
|
||||
DAM MAZE-2 THIEF
|
||||
DAM-BASE MAZE-3 TIMBER-ROOM
|
||||
DAM-LOBBY MAZE-4 TIMBERS
|
||||
DAM-ROOM MAZE-5 TINY-CAVE
|
||||
DAMP-CAVE MAZE-6 TOOL-CHEST
|
||||
DEAD-END-1 MAZE-7 TORCH
|
||||
DEAD-END-2 MAZE-8 TORCH-ROOM
|
||||
DEAD-END-3 MAZE-9 TRAP-DOOR
|
||||
DEAD-END-4 ME TREASURE-ROOM
|
||||
DEAD-END-5 MINE-1 TREE
|
||||
DEEP-CANYON MINE-2 TRIDENT
|
||||
DIAMOND MINE-3 TROLL
|
||||
DOME-ROOM MINE-4 TROLL-ROOM
|
||||
EAST-OF-CHASM MINE-ENTRANCE TROPHY-CASE
|
||||
EAST-OF-HOUSE MIRROR-1 TRUNK
|
||||
EGG MIRROR-2 TUBE
|
||||
EGYPT-ROOM MIRROR-ROOM-1 TWISTING-PASSAGE
|
||||
EMERALD MIRROR-ROOM-2 UP-A-TREE
|
||||
END-OF-RAINBOW MOUNTAIN-RANGE WALL
|
||||
ENGRAVINGS MOUNTAINS WATER
|
||||
ENGRAVINGS-CAVE NARROW-PASSAGE WEST-OF-HOUSE
|
||||
ENTRANCE-TO-HADES NEST WHITE-CLIFF
|
||||
EW-PASSAGE NORTH-OF-HOUSE WHITE-CLIFFS-NORTH
|
||||
FOREST NORTH-TEMPLE WHITE-CLIFFS-SOUTH
|
||||
FOREST-1 NOT-HERE-OBJECT WHITE-HOUSE
|
||||
FOREST-2 NS-PASSAGE WINDING-PASSAGE
|
||||
FOREST-3 ON-RAINBOW WOODEN-DOOR
|
||||
FRONT-DOOR OWNERS-MANUAL WRENCH
|
||||
GALLERY PAINTING YELLOW-BUTTON
|
||||
GARLIC PATH ZORKMID
|
||||
GAS-ROOM PATHOBJ
|
||||
GHOSTS PEDESTAL
|
||||
|
||||
Properties: 30
|
||||
|
||||
P?ACTION P?DESCFCN P?IN P?NW P?SOUTH P?TVALUE
|
||||
P?ADJECTIVE P?DOWN P?LAND P?OUT P?STRENGTH P?UP
|
||||
P?ADVFCN P?EAST P?LDESC P?PSEUDO P?SW P?VALUE
|
||||
P?CAPACITY P?FDESC P?NE P?SE P?SYNONYM P?VTYPE
|
||||
P?CONTFCN P?GLOBAL P?NORTH P?SIZE P?TEXT P?WEST
|
||||
|
||||
Flags: 32
|
||||
|
||||
ACTORBIT FIGHTBIT NDESCBIT RMUNGBIT TOOLBIT WEAPONBIT
|
||||
BURNBIT FLAMEBIT NONLANDBIT SACREDBIT TOUCHBIT WEARBIT
|
||||
CLIMBBIT FOODBIT ONBIT SEARCHBIT TRANSBIT
|
||||
CONTBIT INVISIBLE OPENBIT STAGGERED TRYTAKEBIT
|
||||
DOORBIT LIGHTBIT READBIT SURFACEBIT TURNBIT
|
||||
DRINKBIT MAZEBIT RLANDBIT TAKEBIT VEHBIT
|
|
@ -0,0 +1 @@
|
|||
1
|
47
zork1.zil
47
zork1.zil
|
@ -2,55 +2,32 @@
|
|||
Zork I: The Great Underground Empire
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved."
|
||||
|
||||
<VERSION ZIP>
|
||||
|
||||
<SETG ZORK-NUMBER 1>
|
||||
|
||||
<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 I: The Great Underground Empire
|
||||
">
|
||||
|
||||
<OR <GASSIGNED? INSERT-CRUFTY>
|
||||
<DEFINE INSERT-CRUFTY (STR) <INSERT-FILE .STR T>>>
|
||||
<FREQUENT-WORDS?>
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<ID 0>)>
|
||||
|
||||
<IFILE "GMACROS" T>
|
||||
|
||||
<IFILE "GSYNTAX" T>
|
||||
<IFILE "1DUNGEON" T>
|
||||
<IFILE "GGLOBALS" T>
|
||||
<INSERT-FILE "GMACROS" T>
|
||||
<INSERT-FILE "GSYNTAX" T>
|
||||
<INSERT-FILE "1DUNGEON" 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 "1ACTIONS" 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 "1ACTIONS" T>
|
||||
|
|
|
@ -0,0 +1,200 @@
|
|||
.FSTR FSTR?1,"the " ;1572 786
|
||||
.FSTR FSTR?2,"The " ;1245 415
|
||||
.FSTR FSTR?3,"You " ;735 245
|
||||
.FSTR FSTR?4,", " ;529 529
|
||||
.FSTR FSTR?5,"your " ;474 158
|
||||
.FSTR FSTR?6,"is " ;466 466
|
||||
.FSTR FSTR?7,"and " ;456 228
|
||||
.FSTR FSTR?8,"you " ;412 206
|
||||
.FSTR FSTR?9,"There " ;395 79
|
||||
.FSTR FSTR?10,"can't " ;360 72
|
||||
.FSTR FSTR?11,"of " ;325 325
|
||||
.FSTR FSTR?12,"to " ;323 323
|
||||
.FSTR FSTR?13,". " ;299 299
|
||||
.FSTR FSTR?14,"with " ;294 98
|
||||
.FSTR FSTR?15,"are " ;272 136
|
||||
.FSTR FSTR?16,"that " ;258 86
|
||||
.FSTR FSTR?17,"have " ;231 77
|
||||
.FSTR FSTR?18,"which " ;224 56
|
||||
.FSTR FSTR?19,"This " ;216 54
|
||||
.FSTR FSTR?20,"from " ;204 68
|
||||
.FSTR FSTR?21,"large " ;204 51
|
||||
.FSTR FSTR?22,"through " ;180 30
|
||||
.FSTR FSTR?23,"appears " ;180 30
|
||||
.FSTR FSTR?24,"in " ;175 175
|
||||
.FSTR FSTR?25,"here" ;162 81
|
||||
.FSTR FSTR?26,"water " ;136 34
|
||||
.FSTR FSTR?27,"room " ;135 45
|
||||
.FSTR FSTR?28,"Cyclops " ;133 19
|
||||
.FSTR FSTR?29,"leading " ;132 22
|
||||
.FSTR FSTR?30,"narrow " ;130 26
|
||||
.FSTR FSTR?31,"cannot " ;130 26
|
||||
.FSTR FSTR?32,"small " ;128 32
|
||||
.FSTR FSTR?33,"into " ;126 42
|
||||
.FSTR FSTR?34,"cyclops " ;114 19
|
||||
.FSTR FSTR?35,"his " ;112 56
|
||||
.FSTR FSTR?36,"thief " ;112 28
|
||||
.FSTR FSTR?37,"It " ;110 55
|
||||
.FSTR FSTR?38,"south " ;108 27
|
||||
.FSTR FSTR?39,"seems " ;108 27
|
||||
.FSTR FSTR?40,"already " ;108 18
|
||||
.FSTR FSTR?41,"don't " ;105 21
|
||||
.FSTR FSTR?42,"be " ;102 102
|
||||
.FSTR FSTR?43,"but " ;100 50
|
||||
.FSTR FSTR?44,"would " ;96 24
|
||||
.FSTR FSTR?45,"Your " ;96 24
|
||||
.FSTR FSTR?46,"there " ;92 23
|
||||
.FSTR FSTR?47,"can " ;90 45
|
||||
.FSTR FSTR?48,"this " ;90 30
|
||||
.FSTR FSTR?49,"It's " ;90 18
|
||||
.FSTR FSTR?50,"staircase " ;88 11
|
||||
.FSTR FSTR?51,"on " ;86 86
|
||||
.FSTR FSTR?52,"for " ;84 42
|
||||
.FSTR FSTR?53,"west " ;84 28
|
||||
.FSTR FSTR?54,"east " ;84 28
|
||||
.FSTR FSTR?55,"north " ;84 21
|
||||
.FSTR FSTR?56,"not " ;82 41
|
||||
.FSTR FSTR?57,"troll " ;80 20
|
||||
.FSTR FSTR?58,"nothing " ;78 13
|
||||
.FSTR FSTR?59,"looking " ;78 13
|
||||
.FSTR FSTR?60,"I " ;72 72
|
||||
.FSTR FSTR?61,"path " ;72 24
|
||||
.FSTR FSTR?62,"closed" ;72 18
|
||||
.FSTR FSTR?63,"candles " ;72 12
|
||||
.FSTR FSTR?64,"Frigid " ;72 12
|
||||
.FSTR FSTR?65,"won't " ;70 14
|
||||
.FSTR FSTR?66,"probably " ;70 10
|
||||
.FSTR FSTR?67,"here " ;69 23
|
||||
.FSTR FSTR?68,"Room" ;69 23
|
||||
.FSTR FSTR?69,"about " ;68 17
|
||||
.FSTR FSTR?70,"A " ;66 66
|
||||
.FSTR FSTR?71,"too " ;66 33
|
||||
.FSTR FSTR?72,"that" ;66 33
|
||||
.FSTR FSTR?73,"room" ;66 33
|
||||
.FSTR FSTR?74,"door " ;66 22
|
||||
.FSTR FSTR?75,"grating " ;66 11
|
||||
.FSTR FSTR?76,"ground " ;65 13
|
||||
.FSTR FSTR?77,"out " ;64 32
|
||||
.FSTR FSTR?78,"other " ;64 16
|
||||
.FSTR FSTR?79,"wall " ;63 21
|
||||
.FSTR FSTR?80,"passages " ;63 9
|
||||
.FSTR FSTR?81,"impossible " ;63 7
|
||||
.FSTR FSTR?82,"has " ;62 31
|
||||
.FSTR FSTR?83,"over " ;60 20
|
||||
.FSTR FSTR?84,"level " ;60 15
|
||||
.FSTR FSTR?85,"knocks " ;60 12
|
||||
.FSTR FSTR?86,"before " ;60 12
|
||||
.FSTR FSTR?87,"passage " ;60 10
|
||||
.FSTR FSTR?88,"Fortunately" ;60 6
|
||||
.FSTR FSTR?89,"Unfortunately" ;60 5
|
||||
.FSTR FSTR?90,"it " ;59 59
|
||||
.FSTR FSTR?91,"an " ;56 56
|
||||
.FSTR FSTR?92,"think " ;56 14
|
||||
.FSTR FSTR?93,"river " ;56 14
|
||||
.FSTR FSTR?94,"troll's " ;56 8
|
||||
.FSTR FSTR?95,"doesn't " ;56 8
|
||||
.FSTR FSTR?96,"You're " ;56 8
|
||||
|
||||
|
||||
;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
|
Loading…
Reference in New Issue