mirror of
https://github.com/historicalsource/zork1.git
synced 2026-05-05 07:24:04 +00:00
Final Revision
This commit is contained in:
489
1actions.zil
489
1actions.zil
@@ -64,10 +64,14 @@ to brush them with." CR>)
|
|||||||
<ROUTINE GRANITE-WALL-F ()
|
<ROUTINE GRANITE-WALL-F ()
|
||||||
<COND (<EQUAL? ,HERE ,NORTH-TEMPLE>
|
<COND (<EQUAL? ,HERE ,NORTH-TEMPLE>
|
||||||
<COND (<VERB? FIND>
|
<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>
|
(<EQUAL? ,HERE ,TREASURE-ROOM>
|
||||||
<COND (<VERB? FIND>
|
<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>
|
(<EQUAL? ,HERE ,SLIDE-ROOM>
|
||||||
<COND (<VERB? FIND READ>
|
<COND (<VERB? FIND READ>
|
||||||
<TELL "It only SAYS \"Granite Wall\"." CR>)
|
<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>
|
(<VERB? BURN>
|
||||||
<TELL "You must be joking." CR>)>>
|
<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 ()
|
<ROUTINE FOREST-F ()
|
||||||
<COND (<VERB? WALK-AROUND>
|
<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>)
|
<GO-NEXT ,FOREST-AROUND>)
|
||||||
(<VERB? DISEMBARK>
|
(<VERB? DISEMBARK>
|
||||||
<TELL "You will have to specify a direction." CR>)
|
<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?)
|
<ROUTINE WATER-F ("AUX" AV W PI?)
|
||||||
<COND (<VERB? SGIVE> <RFALSE>)
|
<COND (<VERB? SGIVE> <RFALSE>)
|
||||||
(<VERB? THROUGH>
|
(<VERB? THROUGH BOARD>
|
||||||
<TELL <PICK-ONE ,SWIMYUKS> CR>
|
<TELL <PICK-ONE ,SWIMYUKS> CR>
|
||||||
<RTRUE>)
|
<RTRUE>)
|
||||||
(<VERB? FILL> ;"fill bottle with water =>"
|
(<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>>
|
<EQUAL? ,PRSO ,WATER>>
|
||||||
<SET W ,PRSO>
|
<SET W ,PRSO>
|
||||||
<SET PI? <>>)
|
<SET PI? <>>)
|
||||||
(<SET W ,PRSI>
|
(ELSE
|
||||||
<SET PI? T>)>
|
<SET W ,PRSI>
|
||||||
|
<COND (.W <SET PI? T>)>)>
|
||||||
<COND (<EQUAL? .W ,GLOBAL-WATER>
|
<COND (<EQUAL? .W ,GLOBAL-WATER>
|
||||||
<SET W ,WATER>
|
<SET W ,WATER>
|
||||||
<COND (<VERB? TAKE PUT> <REMOVE-CAREFULLY .W>)>)>
|
<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>)
|
"It's in the bottle. Perhaps you should take that instead." CR>)
|
||||||
(T
|
(T
|
||||||
<TELL "The water slips through your fingers." CR>)>)
|
<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>
|
(<VERB? DROP GIVE>
|
||||||
|
<COND (<AND <VERB? DROP>
|
||||||
|
<IN? ,WATER ,BOTTLE>
|
||||||
|
<NOT <FSET? ,BOTTLE ,OPENBIT>>>
|
||||||
|
<TELL "The bottle is closed." CR>
|
||||||
|
<RTRUE>)>
|
||||||
<REMOVE-CAREFULLY ,WATER>
|
<REMOVE-CAREFULLY ,WATER>
|
||||||
<COND (.AV
|
<COND (.AV
|
||||||
<TELL "There is now a puddle in the bottom of the "
|
<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 ()
|
<ROUTINE FLY-ME ()
|
||||||
<FWEEP 4>
|
<FWEEP 4>
|
||||||
<TELL CR
|
<TELL
|
||||||
"The bat grabs you by the scruff of your neck and lifts you away...." CR CR>
|
"The bat grabs you by the scruff of your neck and lifts you away...." CR CR>
|
||||||
<GOTO <PICK-ONE ,BAT-DROPS> <>>
|
<GOTO <PICK-ONE ,BAT-DROPS> <>>
|
||||||
<V-FIRST-LOOK>
|
<COND (<NOT <EQUAL? ,HERE ,ENTRANCE-TO-HADES>>
|
||||||
|
<V-FIRST-LOOK>)>
|
||||||
T>
|
T>
|
||||||
|
|
||||||
<ROUTINE FWEEP (N)
|
<ROUTINE FWEEP (N)
|
||||||
@@ -398,7 +427,7 @@ is completed in \"ZORK III: The Dungeon Master.\"" CR>)
|
|||||||
(T
|
(T
|
||||||
<TELL "
|
<TELL "
|
||||||
ZORK: The Great Underground Empire.|" CR>)>
|
ZORK: The Great Underground Empire.|" CR>)>
|
||||||
<V-QUIT <>>)>>
|
<FINISH>)>>
|
||||||
|
|
||||||
<ROUTINE BARROW-DOOR-FCN ()
|
<ROUTINE BARROW-DOOR-FCN ()
|
||||||
<COND (<VERB? OPEN CLOSE>
|
<COND (<VERB? OPEN CLOSE>
|
||||||
@@ -610,8 +639,8 @@ uncomfortable, you stand up again." CR>)
|
|||||||
|
|
||||||
<ROUTINE TROLL-FCN ("OPTIONAL" (MODE <>))
|
<ROUTINE TROLL-FCN ("OPTIONAL" (MODE <>))
|
||||||
<COND (<VERB? TELL>
|
<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?>
|
(<EQUAL? .MODE ,F-BUSY?>
|
||||||
<COND (<IN? ,AXE ,TROLL> <>)
|
<COND (<IN? ,AXE ,TROLL> <>)
|
||||||
(<AND <IN? ,AXE ,HERE> <PROB 75 90>>
|
(<AND <IN? ,AXE ,HERE> <PROB 75 90>>
|
||||||
@@ -738,7 +767,7 @@ his guttural tongue." CR>)
|
|||||||
|
|
||||||
"SUBTITLE GRATING/MAZE"
|
"SUBTITLE GRATING/MAZE"
|
||||||
|
|
||||||
<GLOBAL LEAVES-GONE <>>
|
;<GLOBAL LEAVES-GONE <>> ;"no longer used?"
|
||||||
<GLOBAL GRATE-REVEALED <>>
|
<GLOBAL GRATE-REVEALED <>>
|
||||||
<GLOBAL GRUNLOCK <>>
|
<GLOBAL GRUNLOCK <>>
|
||||||
|
|
||||||
@@ -1020,7 +1049,7 @@ drawing you over the railing and down." CR>
|
|||||||
<JIGS-UP
|
<JIGS-UP
|
||||||
"I'm afraid that the leap you attempted has done you in.">)>)>>
|
"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)>)
|
||||||
(T <TELL
|
(T <TELL
|
||||||
"The bolt won't turn with your best effort." CR>)>)
|
"The bolt won't turn with your best effort." CR>)>)
|
||||||
(,PRSI <TELL
|
(ELSE
|
||||||
"The bolt won't turn using the " D ,PRSI "." CR>)
|
<TELL
|
||||||
(T <TELL "You can't with your bare hands." CR>)>)
|
"The bolt won't turn using the " D ,PRSI "." CR>)>)
|
||||||
(<VERB? TAKE>
|
(<VERB? TAKE>
|
||||||
<INTEGRAL-PART>)
|
<INTEGRAL-PART>)
|
||||||
(<VERB? OIL>
|
(<VERB? OIL>
|
||||||
@@ -1253,7 +1282,7 @@ to the other side." CR>)>
|
|||||||
T>
|
T>
|
||||||
|
|
||||||
<GLOBAL DROWNINGS
|
<GLOBAL DROWNINGS
|
||||||
<TABLE "up to your ankles."
|
<TABLE (PURE) "up to your ankles."
|
||||||
"up to your shin."
|
"up to your shin."
|
||||||
"up to your knees."
|
"up to your knees."
|
||||||
"up to your hips."
|
"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>>>)>>
|
<OR <0? ,CYCLOWRATH> <ENABLE <INT I-CYCLOPS>>>)>>
|
||||||
|
|
||||||
<GLOBAL CYCLOMAD
|
<GLOBAL CYCLOMAD
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
"The cyclops seems somewhat agitated."
|
"The cyclops seems somewhat agitated."
|
||||||
"The cyclops appears to be getting more agitated."
|
"The cyclops appears to be getting more agitated."
|
||||||
"The cyclops is moving about the room, looking for something."
|
"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>
|
"The rest of your commands have been lost in the noise." CR>
|
||||||
<SETG P-CONT <>>)>
|
<SETG P-CONT <>>)>
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
<CRLF>
|
<COND (<NOT ,SUPER-BRIEF> <CRLF>)>
|
||||||
<TELL ">">
|
<TELL ">">
|
||||||
<READ ,P-INBUF ,P-LEXV>
|
<READ ,P-INBUF ,P-LEXV>
|
||||||
<COND (<0? <GETB ,P-LEXV ,P-LEXWORDS>>
|
<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>
|
<SETG LOUD-FLAG T>
|
||||||
<FCLEAR ,BAR ,SACREDBIT>
|
<FCLEAR ,BAR ,SACREDBIT>
|
||||||
<TELL
|
<TELL
|
||||||
"The acoustics of the room change subtly." CR CR>
|
"The acoustics of the room change subtly." CR>
|
||||||
|
<COND (<NOT ,SUPER-BRIEF> <CRLF>)>
|
||||||
<RETURN>)
|
<RETURN>)
|
||||||
;(,DEAD <CRLF>)
|
;(,DEAD <CRLF>)
|
||||||
(T
|
(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>
|
the bag will be taken only over his dead body." CR>
|
||||||
<SETG THIEF-HERE T>
|
<SETG THIEF-HERE T>
|
||||||
<RTRUE>)
|
<RTRUE>)
|
||||||
(<IN? ,STILETTO ,WINNER>
|
;(<IN? ,STILETTO ,WINNER>
|
||||||
<MOVE ,STILETTO ,THIEF>
|
<MOVE ,STILETTO ,THIEF>
|
||||||
<FSET ,STILETTO ,NDESCBIT>
|
<FSET ,STILETTO ,NDESCBIT>
|
||||||
<FCLEAR ,THIEF ,INVISIBLE>
|
<FCLEAR ,THIEF ,INVISIBLE>
|
||||||
@@ -1774,16 +1804,20 @@ Fortunately, he took nothing." CR>
|
|||||||
<RTRUE>)
|
<RTRUE>)
|
||||||
(<PROB 70> <RFALSE>)
|
(<PROB 70> <RFALSE>)
|
||||||
(<NOT ,DEAD>
|
(<NOT ,DEAD>
|
||||||
<COND (<ROB ,HERE ,THIEF 100> <SET ROBBED? T>)
|
<COND (<ROB ,HERE ,THIEF 100>
|
||||||
|
<SET ROBBED? ,HERE>)
|
||||||
(<ROB ,WINNER ,THIEF>
|
(<ROB ,WINNER ,THIEF>
|
||||||
<SET ROBBED? T>
|
<SET ROBBED? ,PLAYER>)>
|
||||||
<SET WINNER-ROBBED? T>)>
|
|
||||||
<SETG THIEF-HERE T>
|
<SETG THIEF-HERE T>
|
||||||
<COND (<AND .ROBBED? <NOT .HERE?>>
|
<COND (<AND .ROBBED? <NOT .HERE?>>
|
||||||
<TELL
|
<TELL
|
||||||
"A seedy-looking individual with a large bag just wandered through
|
"A seedy-looking individual with a large bag just wandered through
|
||||||
the room. On the way through, he quietly abstracted some valuables
|
the room. On the way through, he quietly abstracted some valuables from ">
|
||||||
from the room and from your possession, mumbling something about
|
<COND (<EQUAL? .ROBBED? ,HERE>
|
||||||
|
<TELL "the room">)
|
||||||
|
(ELSE
|
||||||
|
<TELL "your possession">)>
|
||||||
|
<TELL ", mumbling something about
|
||||||
\"Doing unto others before...\"" CR>
|
\"Doing unto others before...\"" CR>
|
||||||
<STOLE-LIGHT?>)
|
<STOLE-LIGHT?>)
|
||||||
(.HERE?
|
(.HERE?
|
||||||
@@ -1792,10 +1826,11 @@ from the room and from your possession, mumbling something about
|
|||||||
<TELL
|
<TELL
|
||||||
"The thief just left, still carrying his large bag. You may
|
"The thief just left, still carrying his large bag. You may
|
||||||
not have noticed that he ">
|
not have noticed that he ">
|
||||||
<COND (.WINNER-ROBBED?
|
<COND (<EQUAL? .ROBBED? ,PLAYER>
|
||||||
<TELL
|
<TELL
|
||||||
"robbed you blind first.">)
|
"robbed you blind first.">)
|
||||||
(T <TELL
|
(T
|
||||||
|
<TELL
|
||||||
"appropriated the valuables in the room.">)>
|
"appropriated the valuables in the room.">)>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
<STOLE-LIGHT?>)
|
<STOLE-LIGHT?>)
|
||||||
@@ -1813,12 +1848,21 @@ large bag. Finding nothing of value, he left disgruntled." CR>
|
|||||||
(T
|
(T
|
||||||
<COND (.HERE? ;"Here, already announced."
|
<COND (.HERE? ;"Here, already announced."
|
||||||
<COND (<PROB 30>
|
<COND (<PROB 30>
|
||||||
<COND (<SET ROBBED?
|
<COND (<ROB ,HERE ,THIEF 100>
|
||||||
<OR <ROB ,HERE ,THIEF 100>
|
<SET ROBBED? ,HERE>)
|
||||||
<ROB ,WINNER ,THIEF>>>
|
(<ROB ,WINNER ,THIEF>
|
||||||
|
<SET ROBBED? ,PLAYER>)>
|
||||||
|
<COND (.ROBBED?
|
||||||
<TELL
|
<TELL
|
||||||
"The thief just left, still carrying his large bag. You may
|
"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?>)
|
<STOLE-LIGHT?>)
|
||||||
(T
|
(T
|
||||||
<TELL
|
<TELL
|
||||||
@@ -1913,16 +1957,24 @@ your greeting with his usual graciousness." CR>)
|
|||||||
(<AND <EQUAL? ,PRSO ,KNIFE>
|
(<AND <EQUAL? ,PRSO ,KNIFE>
|
||||||
<VERB? THROW>
|
<VERB? THROW>
|
||||||
<NOT <FSET? ,THIEF ,FIGHTBIT>>>
|
<NOT <FSET? ,THIEF ,FIGHTBIT>>>
|
||||||
|
<MOVE ,PRSO ,HERE>
|
||||||
<COND (<PROB 10 0>
|
<COND (<PROB 10 0>
|
||||||
<TELL
|
<TELL
|
||||||
"You evidently frightened the robber, though you didn't hit him. He
|
"You evidently frightened the robber, though you didn't hit him. He
|
||||||
flees">
|
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>
|
<MOVE-ALL ,THIEF ,HERE>
|
||||||
<TELL
|
<TELL
|
||||||
", but the contents of his bag fall on the floor.">)
|
", but the contents of his bag fall on the floor.">)
|
||||||
(T
|
(T
|
||||||
<TELL ".">)>
|
<TELL ".">)>
|
||||||
|
<MOVE ,LARGE-BAG ,THIEF>
|
||||||
|
<COND (.X <MOVE ,STILETTO ,THIEF>)>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
<FSET ,THIEF ,INVISIBLE>)
|
<FSET ,THIEF ,INVISIBLE>)
|
||||||
(T
|
(T
|
||||||
@@ -1945,7 +1997,11 @@ angered by your attempt." CR>
|
|||||||
<TELL
|
<TELL
|
||||||
"Your proposed victim suddenly recovers consciousness." CR>)>
|
"Your proposed victim suddenly recovers consciousness." CR>)>
|
||||||
<MOVE ,PRSO ,THIEF>
|
<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>
|
<SETG THIEF-ENGROSSED T>
|
||||||
<TELL
|
<TELL
|
||||||
"The thief is taken aback by your unexpected generosity, but accepts
|
"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>)
|
"You can't. It's not a very good chalice, is it?" CR>)
|
||||||
(T <DUMB-CONTAINER>)>>
|
(T <DUMB-CONTAINER>)>>
|
||||||
|
|
||||||
<ROUTINE TREASURE-ROOM-FCN (RARG "AUX" (FLG <>) TL)
|
<ROUTINE TREASURE-ROOM-FCN (RARG "AUX" TL)
|
||||||
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
||||||
<1? <GET <INT I-THIEF> ,C-ENABLED?>>
|
<1? <GET <INT I-THIEF> ,C-ENABLED?>>
|
||||||
<NOT ,DEAD>>
|
<NOT ,DEAD>>
|
||||||
<COND (<SET FLG <NOT <IN? ,THIEF ,HERE>>>
|
<COND (<NOT <IN? ,THIEF ,HERE>>
|
||||||
<TELL
|
<TELL
|
||||||
"You hear a scream of anguish as you violate the robber's hideaway.
|
"You hear a scream of anguish as you violate the robber's hideaway.
|
||||||
Using passages unknown to you, he rushes to its defense." CR>
|
Using passages unknown to you, he rushes to its defense." CR>
|
||||||
<MOVE ,THIEF ,HERE>
|
<MOVE ,THIEF ,HERE>)>
|
||||||
<FSET ,THIEF ,FIGHTBIT>
|
<FSET ,THIEF ,FIGHTBIT>
|
||||||
<FCLEAR ,THIEF ,INVISIBLE>)
|
<FCLEAR ,THIEF ,INVISIBLE>
|
||||||
(T
|
<THIEF-IN-TREASURE>)>>
|
||||||
<FSET ,THIEF ,FIGHTBIT>)>
|
|
||||||
<THIEF-IN-TREASURE>)>>
|
|
||||||
|
|
||||||
<ROUTINE THIEF-IN-TREASURE ("AUX" F N)
|
<ROUTINE THIEF-IN-TREASURE ("AUX" F N)
|
||||||
<SET F <FIRST? ,HERE>>
|
<SET F <FIRST? ,HERE>>
|
||||||
@@ -2102,8 +2156,7 @@ Using passages unknown to you, he rushes to its defense." CR>
|
|||||||
suddenly vanish." CR CR>)>
|
suddenly vanish." CR CR>)>
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
<COND (<NOT .F> <RETURN>)
|
<COND (<NOT .F> <RETURN>)
|
||||||
(<AND <NOT <EQUAL? .F ,CHALICE>>
|
(<NOT <EQUAL? .F ,CHALICE ,THIEF>>
|
||||||
<NOT <EQUAL? .F ,THIEF>>>
|
|
||||||
<FSET .F ,INVISIBLE>)>
|
<FSET .F ,INVISIBLE>)>
|
||||||
<SET F <NEXT? .F>>>>
|
<SET F <NEXT? .F>>>>
|
||||||
|
|
||||||
@@ -2165,7 +2218,8 @@ artist's masterpieces, you have destroyed one." CR>)>>
|
|||||||
"SUBTITLE LET THERE BE LIGHT SOURCES"
|
"SUBTITLE LET THERE BE LIGHT SOURCES"
|
||||||
|
|
||||||
<GLOBAL LAMP-TABLE
|
<GLOBAL LAMP-TABLE
|
||||||
<TABLE 100
|
<TABLE (PURE)
|
||||||
|
100
|
||||||
"The lamp appears a bit dimmer."
|
"The lamp appears a bit dimmer."
|
||||||
70
|
70
|
||||||
"The lamp is definitely dimmer now."
|
"The lamp is definitely dimmer now."
|
||||||
@@ -2333,6 +2387,7 @@ burn." CR>)
|
|||||||
<COND (<FSET? ,CANDLES ,ONBIT>
|
<COND (<FSET? ,CANDLES ,ONBIT>
|
||||||
<TELL "The flame is extinguished.">
|
<TELL "The flame is extinguished.">
|
||||||
<FCLEAR ,CANDLES ,ONBIT>
|
<FCLEAR ,CANDLES ,ONBIT>
|
||||||
|
<FSET ,CANDLES ,TOUCHBIT>
|
||||||
<SETG LIT <LIT? ,HERE>>
|
<SETG LIT <LIT? ,HERE>>
|
||||||
<COND (<NOT ,LIT>
|
<COND (<NOT ,LIT>
|
||||||
<TELL " It's really dark in here....">)>
|
<TELL " It's really dark in here....">)>
|
||||||
@@ -2349,7 +2404,8 @@ burn." CR>)
|
|||||||
<CRLF>)>)>>
|
<CRLF>)>)>>
|
||||||
|
|
||||||
<GLOBAL CANDLE-TABLE
|
<GLOBAL CANDLE-TABLE
|
||||||
<TABLE 20
|
<TABLE (PURE)
|
||||||
|
20
|
||||||
"The candles grow shorter."
|
"The candles grow shorter."
|
||||||
10
|
10
|
||||||
"The candles are becoming quite short."
|
"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>>
|
(<AND <EQUAL? .RARG ,M-ENTER> <NOT ,DEAD>>
|
||||||
<COND (<NOT <EQUAL? <LOC ,GARLIC> ,WINNER ,HERE>>
|
<COND (<NOT <EQUAL? <LOC ,GARLIC> ,WINNER ,HERE>>
|
||||||
<V-LOOK>
|
<V-LOOK>
|
||||||
|
<CRLF>
|
||||||
<FLY-ME>)>)>>
|
<FLY-ME>)>)>>
|
||||||
|
|
||||||
<ROUTINE MACHINE-ROOM-FCN (RARG)
|
<ROUTINE MACHINE-ROOM-FCN (RARG)
|
||||||
@@ -2443,7 +2500,7 @@ lid, which is ">
|
|||||||
<CRLF>)>>
|
<CRLF>)>>
|
||||||
|
|
||||||
<ROUTINE MACHINE-F ()
|
<ROUTINE MACHINE-F ()
|
||||||
<COND (<VERB? TAKE>
|
<COND (<AND <VERB? TAKE> <EQUAL? ,PRSO ,MACHINE>>
|
||||||
<TELL "It is far too large to carry." CR>)
|
<TELL "It is far too large to carry." CR>)
|
||||||
(<VERB? OPEN>
|
(<VERB? OPEN>
|
||||||
<COND (<FSET? ,MACHINE ,OPENBIT>
|
<COND (<FSET? ,MACHINE ,OPENBIT>
|
||||||
@@ -2489,10 +2546,7 @@ excitement abates." CR>
|
|||||||
<COND (<SET O <FIRST? ,MACHINE>>
|
<COND (<SET O <FIRST? ,MACHINE>>
|
||||||
<REMOVE-CAREFULLY .O>)
|
<REMOVE-CAREFULLY .O>)
|
||||||
(T <RETURN>)>>
|
(T <RETURN>)>>
|
||||||
<MOVE ,GUNK ,MACHINE>)
|
<MOVE ,GUNK ,MACHINE>)>)>)
|
||||||
(T)>)>)
|
|
||||||
(<NOT ,PRSI>
|
|
||||||
<TELL "You can't turn it with your hands..." CR>)
|
|
||||||
(T
|
(T
|
||||||
<TELL "It seems that a " D ,PRSI " won't do." CR>)>)>>
|
<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>
|
<ROB ,ON-RAINBOW ,WALL>
|
||||||
<TELL
|
<TELL
|
||||||
"The rainbow seems to have become somewhat run-of-the-mill." CR>
|
"The rainbow seems to have become somewhat run-of-the-mill." CR>
|
||||||
<SETG RAINBOW-FLAG <>>)>)
|
<SETG RAINBOW-FLAG <>>
|
||||||
|
<RTRUE>)>)
|
||||||
(<EQUAL? ,HERE ,ON-RAINBOW>
|
(<EQUAL? ,HERE ,ON-RAINBOW>
|
||||||
<SETG RAINBOW-FLAG <>>
|
<SETG RAINBOW-FLAG <>>
|
||||||
<JIGS-UP
|
<JIGS-UP
|
||||||
"The structural integrity of the rainbow is severely compromised,
|
"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
|
(T
|
||||||
<TELL
|
<TELL
|
||||||
"A dazzling display of color briefly emanates from the sceptre." CR>)>)>>
|
"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>)>>
|
swim." CR>)>>
|
||||||
|
|
||||||
<GLOBAL RIVER-SPEEDS
|
<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
|
<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
|
<GLOBAL RIVER-LAUNCH
|
||||||
<LTABLE DAM-BASE RIVER-1
|
<LTABLE (PURE) DAM-BASE RIVER-1
|
||||||
WHITE-CLIFFS-NORTH RIVER-3
|
WHITE-CLIFFS-NORTH RIVER-3
|
||||||
WHITE-CLIFFS-SOUTH RIVER-4
|
WHITE-CLIFFS-SOUTH RIVER-4
|
||||||
SHORE RIVER-5
|
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>)>)>>
|
<TELL <GET ,BDIGS ,BEACH-DIG> CR>)>)>>
|
||||||
|
|
||||||
<GLOBAL BDIGS
|
<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."
|
"The hole is getting deeper, but that's about it."
|
||||||
"You are surrounded by a wall of sand on all sides.">>
|
"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>
|
<PRINT-CONTENTS ,PATH>
|
||||||
<TELL "." CR>)>)
|
<TELL "." CR>)>)
|
||||||
(<EQUAL? .RARG ,M-BEG>
|
(<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>)
|
<DO-WALK ,P?DOWN>)
|
||||||
(<AND <VERB? CLIMB-UP CLIMB-FOO>
|
(<AND <VERB? CLIMB-UP CLIMB-FOO>
|
||||||
<EQUAL? ,PRSO ,TREE>>
|
<EQUAL? ,PRSO ,TREE>>
|
||||||
@@ -2992,7 +3047,7 @@ down, the songbird flies away." CR>
|
|||||||
<NOT <IN? .RLOC ,ROOMS>>>
|
<NOT <IN? .RLOC ,ROOMS>>>
|
||||||
<MOVE ,ROPE ,HERE>)>
|
<MOVE ,ROPE ,HERE>)>
|
||||||
T)>)>)
|
T)>)>)
|
||||||
(<AND <VERB? CLIMB-DOWN> <EQUAL? ,PRSO ,ROPE> ,DOME-FLAG>
|
(<AND <VERB? CLIMB-DOWN> <EQUAL? ,PRSO ,ROPE ,ROOMS> ,DOME-FLAG>
|
||||||
<DO-WALK ,P?DOWN>)
|
<DO-WALK ,P?DOWN>)
|
||||||
(<AND <VERB? TIE-UP>
|
(<AND <VERB? TIE-UP>
|
||||||
<EQUAL? ,ROPE ,PRSI>>
|
<EQUAL? ,ROPE ,PRSI>>
|
||||||
@@ -3061,7 +3116,7 @@ down, the songbird flies away." CR>
|
|||||||
<EQUAL? ,PRSO ,P?WEST>>
|
<EQUAL? ,PRSO ,P?WEST>>
|
||||||
<TELL "You cannot enter in your condition." CR>)>)
|
<TELL "You cannot enter in your condition." CR>)>)
|
||||||
(<VERB? BRIEF VERBOSE SUPER-BRIEF
|
(<VERB? BRIEF VERBOSE SUPER-BRIEF
|
||||||
VERSION AGAIN SAVE RESTORE QUIT RESTART>
|
VERSION ;AGAIN SAVE RESTORE QUIT RESTART>
|
||||||
<>)
|
<>)
|
||||||
(<VERB? ATTACK MUNG ALARM SWING>
|
(<VERB? ATTACK MUNG ALARM SWING>
|
||||||
<TELL "All such attacks are vain in your condition." CR>)
|
<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>)
|
<TELL "You need no light to guide you." CR>)
|
||||||
(<VERB? SCORE>
|
(<VERB? SCORE>
|
||||||
<TELL "You're dead! How can you think of your score?" CR>)
|
<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>)
|
<TELL "Your hand passes through its object." CR>)
|
||||||
(<VERB? DROP THROW INVENTORY>
|
(<VERB? DROP THROW INVENTORY>
|
||||||
<TELL "You have no possessions." CR>)
|
<TELL "You have no possessions." CR>)
|
||||||
@@ -3098,7 +3153,7 @@ down, the songbird flies away." CR>
|
|||||||
<COND (<EQUAL? ,HERE ,SOUTH-TEMPLE>
|
<COND (<EQUAL? ,HERE ,SOUTH-TEMPLE>
|
||||||
<FCLEAR ,LAMP ,INVISIBLE>
|
<FCLEAR ,LAMP ,INVISIBLE>
|
||||||
<PUTP ,WINNER ,P?ACTION 0>
|
<PUTP ,WINNER ,P?ACTION 0>
|
||||||
<SETG GWIM-DISABLE <>>
|
;<SETG GWIM-DISABLE <>>
|
||||||
<SETG ALWAYS-LIT <>>
|
<SETG ALWAYS-LIT <>>
|
||||||
<SETG DEAD <>>
|
<SETG DEAD <>>
|
||||||
<COND (<IN? ,TROLL ,TROLL-ROOM>
|
<COND (<IN? ,TROLL ,TROLL-ROOM>
|
||||||
@@ -3201,21 +3256,21 @@ teeth ache to touch it." CR>)>>
|
|||||||
"tables of melee results"
|
"tables of melee results"
|
||||||
|
|
||||||
<GLOBAL DEF1
|
<GLOBAL DEF1
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
MISSED MISSED MISSED MISSED
|
MISSED MISSED MISSED MISSED
|
||||||
STAGGER STAGGER
|
STAGGER STAGGER
|
||||||
UNCONSCIOUS UNCONSCIOUS
|
UNCONSCIOUS UNCONSCIOUS
|
||||||
KILLED KILLED KILLED KILLED KILLED>>
|
KILLED KILLED KILLED KILLED KILLED>>
|
||||||
|
|
||||||
<GLOBAL DEF2A
|
<GLOBAL DEF2A
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
MISSED MISSED MISSED MISSED MISSED
|
MISSED MISSED MISSED MISSED MISSED
|
||||||
STAGGER STAGGER
|
STAGGER STAGGER
|
||||||
LIGHT-WOUND LIGHT-WOUND
|
LIGHT-WOUND LIGHT-WOUND
|
||||||
UNCONSCIOUS>>
|
UNCONSCIOUS>>
|
||||||
|
|
||||||
<GLOBAL DEF2B
|
<GLOBAL DEF2B
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
MISSED MISSED MISSED
|
MISSED MISSED MISSED
|
||||||
STAGGER STAGGER
|
STAGGER STAGGER
|
||||||
LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND
|
LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND
|
||||||
@@ -3223,21 +3278,21 @@ teeth ache to touch it." CR>)>>
|
|||||||
KILLED KILLED KILLED>>
|
KILLED KILLED KILLED>>
|
||||||
|
|
||||||
<GLOBAL DEF3A
|
<GLOBAL DEF3A
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
MISSED MISSED MISSED MISSED MISSED
|
MISSED MISSED MISSED MISSED MISSED
|
||||||
STAGGER STAGGER
|
STAGGER STAGGER
|
||||||
LIGHT-WOUND LIGHT-WOUND
|
LIGHT-WOUND LIGHT-WOUND
|
||||||
SERIOUS-WOUND SERIOUS-WOUND>>
|
SERIOUS-WOUND SERIOUS-WOUND>>
|
||||||
|
|
||||||
<GLOBAL DEF3B
|
<GLOBAL DEF3B
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
MISSED MISSED MISSED
|
MISSED MISSED MISSED
|
||||||
STAGGER STAGGER
|
STAGGER STAGGER
|
||||||
LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND
|
LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND
|
||||||
SERIOUS-WOUND SERIOUS-WOUND SERIOUS-WOUND>>
|
SERIOUS-WOUND SERIOUS-WOUND SERIOUS-WOUND>>
|
||||||
|
|
||||||
<GLOBAL DEF3C
|
<GLOBAL DEF3C
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
MISSED
|
MISSED
|
||||||
STAGGER STAGGER
|
STAGGER STAGGER
|
||||||
LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND
|
LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND LIGHT-WOUND
|
||||||
@@ -3411,7 +3466,7 @@ property, which is normally 0"
|
|||||||
<SETG LOAD-ALLOWED <- ,LOAD-ALLOWED 20>>)>)
|
<SETG LOAD-ALLOWED <- ,LOAD-ALLOWED 20>>)>)
|
||||||
(<EQUAL? .RES ,STAGGER> <FSET ,WINNER ,STAGGERED>)
|
(<EQUAL? .RES ,STAGGER> <FSET ,WINNER ,STAGGERED>)
|
||||||
(T
|
(T
|
||||||
<AND <EQUAL? .RES ,LOSE-WEAPON> .DWEAPON>
|
;<AND <EQUAL? .RES ,LOSE-WEAPON> .DWEAPON>
|
||||||
<MOVE .DWEAPON ,HERE>
|
<MOVE .DWEAPON ,HERE>
|
||||||
<COND (<SET NWEAPON <FIND-WEAPON ,WINNER>>
|
<COND (<SET NWEAPON <FIND-WEAPON ,WINNER>>
|
||||||
<TELL
|
<TELL
|
||||||
@@ -3446,8 +3501,8 @@ ineffective." CR>
|
|||||||
<SET DWEAPON <FIND-WEAPON .VILLAIN>>
|
<SET DWEAPON <FIND-WEAPON .VILLAIN>>
|
||||||
<COND (<OR <NOT .DWEAPON> <L? .DEF 0>>
|
<COND (<OR <NOT .DWEAPON> <L? .DEF 0>>
|
||||||
<TELL "The ">
|
<TELL "The ">
|
||||||
<COND (<NOT .DWEAPON> <TELL "unarmed">)
|
<COND (<L? .DEF 0> <TELL "unconscious">)
|
||||||
(T <TELL "unconscious">)>
|
(T <TELL "unarmed">)>
|
||||||
<TELL " " D .VILLAIN
|
<TELL " " D .VILLAIN
|
||||||
" cannot defend himself: He dies." CR>
|
" cannot defend himself: He dies." CR>
|
||||||
<SET RES ,KILLED>)
|
<SET RES ,KILLED>)
|
||||||
@@ -3485,7 +3540,7 @@ ineffective." CR>
|
|||||||
<COND (<L? .DEF 0> <SET DEF 0>)>)
|
<COND (<L? .DEF 0> <SET DEF 0>)>)
|
||||||
(<EQUAL? .RES ,STAGGER> <FSET ,PRSO ,STAGGERED>)
|
(<EQUAL? .RES ,STAGGER> <FSET ,PRSO ,STAGGERED>)
|
||||||
(T
|
(T
|
||||||
<AND <EQUAL? .RES ,LOSE-WEAPON> .DWEAPON>
|
;<AND <EQUAL? .RES ,LOSE-WEAPON> .DWEAPON>
|
||||||
<FCLEAR .DWEAPON ,NDESCBIT>
|
<FCLEAR .DWEAPON ,NDESCBIT>
|
||||||
<FSET .DWEAPON ,WEAPONBIT>
|
<FSET .DWEAPON ,WEAPONBIT>
|
||||||
<MOVE .DWEAPON ,HERE>
|
<MOVE .DWEAPON ,HERE>
|
||||||
@@ -3554,182 +3609,182 @@ carcass has disappeared." CR>
|
|||||||
<CONSTANT F-DEF 1> ;"means print defender name (villain, e.g.)"
|
<CONSTANT F-DEF 1> ;"means print defender name (villain, e.g.)"
|
||||||
|
|
||||||
<GLOBAL HERO-MELEE
|
<GLOBAL HERO-MELEE
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "Your " F-WEP " misses the " F-DEF " by an inch.">
|
<LTABLE (PURE) "Your " F-WEP " misses the " F-DEF " by an inch.">
|
||||||
<LTABLE "A good slash, but it misses the " F-DEF " by a mile.">
|
<LTABLE (PURE) "A good slash, but it misses the " F-DEF " by a mile.">
|
||||||
<LTABLE "You charge, but the " F-DEF " jumps nimbly aside.">
|
<LTABLE (PURE) "You charge, but the " F-DEF " jumps nimbly aside.">
|
||||||
<LTABLE "Clang! Crash! The " F-DEF " parries.">
|
<LTABLE (PURE) "Clang! Crash! The " F-DEF " parries.">
|
||||||
<LTABLE "A quick stroke, but the " F-DEF " is on guard.">
|
<LTABLE (PURE) "A quick stroke, but the " F-DEF " is on guard.">
|
||||||
<LTABLE "A good stroke, but it's too slow; the " F-DEF " dodges.">>
|
<LTABLE (PURE) "A good stroke, but it's too slow; the " F-DEF " dodges.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "Your " F-WEP " crashes down, knocking the " F-DEF " into dreamland.">
|
<LTABLE (PURE) "Your " F-WEP " crashes down, knocking the " F-DEF " into dreamland.">
|
||||||
<LTABLE "The " F-DEF " is battered into unconsciousness.">
|
<LTABLE (PURE) "The " F-DEF " is battered into unconsciousness.">
|
||||||
<LTABLE "A furious exchange, and the " F-DEF " is knocked out!">
|
<LTABLE (PURE) "A furious exchange, and the " F-DEF " is knocked out!">
|
||||||
<LTABLE "The haft of your " F-WEP " knocks out the " F-DEF ".">
|
<LTABLE (PURE) "The haft of your " F-WEP " knocks out the " F-DEF ".">
|
||||||
<LTABLE "The " F-DEF " is knocked out!">>
|
<LTABLE (PURE) "The " F-DEF " is knocked out!">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "It's curtains for the " F-DEF " as your " F-WEP " removes his head.">
|
<LTABLE (PURE) "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 (PURE) "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 (PURE) "The " F-DEF " takes a fatal blow and slumps to the floor dead.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The " F-DEF " is struck on the arm; blood begins to trickle down.">
|
<LTABLE (PURE) "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 (PURE) "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 (PURE) "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 (PURE) "The blow lands, making a shallow gash in the " F-DEF "'s arm!">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The " F-DEF " receives a deep gash in his side.">
|
<LTABLE (PURE) "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 (PURE) "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 (PURE) "Slash! Your blow lands! That one hit an artery, it could be serious!">
|
||||||
<LTABLE "Slash! Your stroke connects! This could be serious!">>
|
<LTABLE (PURE) "Slash! Your stroke connects! This could be serious!">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The " F-DEF " is staggered, and drops to his knees.">
|
<LTABLE (PURE) "The " F-DEF " is staggered, and drops to his knees.">
|
||||||
<LTABLE "The " F-DEF " is momentarily disoriented and can't fight back.">
|
<LTABLE (PURE) "The " F-DEF " is momentarily disoriented and can't fight back.">
|
||||||
<LTABLE "The force of your blow knocks the " F-DEF " back, stunned.">
|
<LTABLE (PURE) "The force of your blow knocks the " F-DEF " back, stunned.">
|
||||||
<LTABLE "The " F-DEF " is confused and can't fight back.">
|
<LTABLE (PURE) "The " F-DEF " is confused and can't fight back.">
|
||||||
<LTABLE "The quickness of your thrust knocks the " F-DEF " back, stunned.">>
|
<LTABLE (PURE) "The quickness of your thrust knocks the " F-DEF " back, stunned.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The " F-DEF "'s weapon is knocked to the floor, leaving him unarmed.">
|
<LTABLE (PURE) "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.">>>>
|
<LTABLE (PURE) "The " F-DEF " is disarmed by a subtle feint past his guard.">>>>
|
||||||
|
|
||||||
\
|
\
|
||||||
|
|
||||||
"messages for cyclops (note that he has no weapon"
|
"messages for cyclops (note that he has no weapon"
|
||||||
|
|
||||||
<GLOBAL CYCLOPS-MELEE
|
<GLOBAL CYCLOPS-MELEE
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The Cyclops misses, but the backwash almost knocks you over.">
|
<LTABLE (PURE) "The Cyclops misses, but the backwash almost knocks you over.">
|
||||||
<LTABLE "The Cyclops rushes you, but runs into the wall.">>
|
<LTABLE (PURE) "The Cyclops rushes you, but runs into the wall.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The Cyclops sends you crashing to the floor, unconscious.">>
|
<LTABLE (PURE) "The Cyclops sends you crashing to the floor, unconscious.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The Cyclops breaks your neck with a massive smash.">>
|
<LTABLE (PURE) "The Cyclops breaks your neck with a massive smash.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "A quick punch, but it was only a glancing blow.">
|
<LTABLE (PURE) "A quick punch, but it was only a glancing blow.">
|
||||||
<LTABLE "A glancing blow from the Cyclops' fist.">>
|
<LTABLE (PURE) "A glancing blow from the Cyclops' fist.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The monster smashes his huge fist into your chest, breaking several
|
<LTABLE (PURE) "The monster smashes his huge fist into your chest, breaking several
|
||||||
ribs.">
|
ribs.">
|
||||||
<LTABLE "The Cyclops almost knocks the wind out of you with a quick punch.">>
|
<LTABLE (PURE) "The Cyclops almost knocks the wind out of you with a quick punch.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The Cyclops lands a punch that knocks the wind out of you.">
|
<LTABLE (PURE) "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) "Heedless of your weapons, the Cyclops tosses you against the rock
|
||||||
wall of the room.">>
|
wall of the room.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The Cyclops grabs your " F-WEP ", tastes it, and throws it to the
|
<LTABLE (PURE) "The Cyclops grabs your " F-WEP ", tastes it, and throws it to the
|
||||||
ground in disgust.">
|
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.">>
|
" F-WEP " in pain.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The Cyclops seems unable to decide whether to broil or stew his
|
<LTABLE (PURE) "The Cyclops seems unable to decide whether to broil or stew his
|
||||||
dinner.">>
|
dinner.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The Cyclops, no sportsman, dispatches his unconscious victim.">>>>
|
<LTABLE (PURE) "The Cyclops, no sportsman, dispatches his unconscious victim.">>>>
|
||||||
|
|
||||||
\
|
\
|
||||||
|
|
||||||
"messages for troll"
|
"messages for troll"
|
||||||
|
|
||||||
<GLOBAL TROLL-MELEE
|
<GLOBAL TROLL-MELEE
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The troll swings his axe, but it misses.">
|
<LTABLE (PURE) "The troll swings his axe, but it misses.">
|
||||||
<LTABLE "The troll's axe barely misses your ear.">
|
<LTABLE (PURE) "The troll's axe barely misses your ear.">
|
||||||
<LTABLE "The axe sweeps past as you jump aside.">
|
<LTABLE (PURE) "The axe sweeps past as you jump aside.">
|
||||||
<LTABLE "The axe crashes against the rock, throwing sparks!">>
|
<LTABLE (PURE) "The axe crashes against the rock, throwing sparks!">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The flat of the troll's axe hits you delicately on the head, knocking
|
<LTABLE (PURE) "The flat of the troll's axe hits you delicately on the head, knocking
|
||||||
you out.">>
|
you out.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The troll neatly removes your head.">
|
<LTABLE (PURE) "The troll neatly removes your head.">
|
||||||
<LTABLE "The troll's axe stroke cleaves you from the nave to the chops.">
|
<LTABLE (PURE) "The troll's axe stroke cleaves you from the nave to the chops.">
|
||||||
<LTABLE "The troll's axe removes your head.">>
|
<LTABLE (PURE) "The troll's axe removes your head.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The axe gets you right in the side. Ouch!">
|
<LTABLE (PURE) "The axe gets you right in the side. Ouch!">
|
||||||
<LTABLE "The flat of the troll's axe skins across your forearm.">
|
<LTABLE (PURE) "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) "The troll's swing almost knocks you over as you barely parry
|
||||||
in time.">
|
in time.">
|
||||||
<LTABLE "The troll swings his axe, and it nicks your arm as you dodge.">>
|
<LTABLE (PURE) "The troll swings his axe, and it nicks your arm as you dodge.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The troll charges, and his axe slashes you on your " F-WEP " arm.">
|
<LTABLE (PURE) "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 (PURE) "An axe stroke makes a deep wound in your leg.">
|
||||||
<LTABLE "The troll's axe swings down, gashing your shoulder.">>
|
<LTABLE (PURE) "The troll's axe swings down, gashing your shoulder.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The troll hits you with a glancing blow, and you are momentarily
|
<LTABLE (PURE) "The troll hits you with a glancing blow, and you are momentarily
|
||||||
stunned.">
|
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.">
|
broadside into your head.">
|
||||||
<LTABLE "You stagger back under a hail of axe strokes.">
|
<LTABLE (PURE) "You stagger back under a hail of axe strokes.">
|
||||||
<LTABLE "The troll's mighty blow drops you to your knees.">>
|
<LTABLE (PURE) "The troll's mighty blow drops you to your knees.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The axe hits your " F-WEP " and knocks it spinning.">
|
<LTABLE (PURE) "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 (PURE) "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 (PURE) "The axe knocks your " F-WEP " out of your hand. It falls to the floor.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The troll hesitates, fingering his axe.">
|
<LTABLE (PURE) "The troll hesitates, fingering his axe.">
|
||||||
<LTABLE "The troll scratches his head ruminatively: Might you be magically
|
<LTABLE (PURE) "The troll scratches his head ruminatively: Might you be magically
|
||||||
protected, he wonders?">>
|
protected, he wonders?">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "Conquering his fears, the troll puts you to death.">>>>
|
<LTABLE (PURE) "Conquering his fears, the troll puts you to death.">>>>
|
||||||
|
|
||||||
\
|
\
|
||||||
|
|
||||||
"messages for thief"
|
"messages for thief"
|
||||||
|
|
||||||
<GLOBAL THIEF-MELEE
|
<GLOBAL THIEF-MELEE
|
||||||
<TABLE
|
<TABLE (PURE)
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The thief stabs nonchalantly with his stiletto and misses.">
|
<LTABLE (PURE) "The thief stabs nonchalantly with his stiletto and misses.">
|
||||||
<LTABLE "You dodge as the thief comes in low.">
|
<LTABLE (PURE) "You dodge as the thief comes in low.">
|
||||||
<LTABLE "You parry a lightning thrust, and the thief salutes you with
|
<LTABLE (PURE) "You parry a lightning thrust, and the thief salutes you with
|
||||||
a grim nod.">
|
a grim nod.">
|
||||||
<LTABLE "The thief tries to sneak past your guard, but you twist away.">>
|
<LTABLE (PURE) "The thief tries to sneak past your guard, but you twist away.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "Shifting in the midst of a thrust, the thief knocks you unconscious
|
<LTABLE (PURE) "Shifting in the midst of a thrust, the thief knocks you unconscious
|
||||||
with the haft of his stiletto.">
|
with the haft of his stiletto.">
|
||||||
<LTABLE "The thief knocks you out.">>
|
<LTABLE (PURE) "The thief knocks you out.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "Finishing you off, the thief inserts his blade into your heart.">
|
<LTABLE (PURE) "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 comes in from the side, feints, and inserts the blade
|
||||||
into your ribs.">
|
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.">>
|
ends the battle and your life.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "A quick thrust pinks your left arm, and blood starts to
|
<LTABLE (PURE) "A quick thrust pinks your left arm, and blood starts to
|
||||||
trickle down.">
|
trickle down.">
|
||||||
<LTABLE "The thief draws blood, raking his stiletto across your arm.">
|
<LTABLE (PURE) "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 stiletto flashes faster than you can follow, and blood wells
|
||||||
from your leg.">
|
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.">>
|
you wounded.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The thief strikes like a snake! The resulting wound is serious.">
|
<LTABLE (PURE) "The thief strikes like a snake! The resulting wound is serious.">
|
||||||
<LTABLE "The thief stabs a deep cut in your upper arm.">
|
<LTABLE (PURE) "The thief stabs a deep cut in your upper arm.">
|
||||||
<LTABLE "The stiletto touches your forehead, and the blood obscures your
|
<LTABLE (PURE) "The stiletto touches your forehead, and the blood obscures your
|
||||||
vision.">
|
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.">>
|
with blood.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The butt of his stiletto cracks you on the skull, and you stagger
|
<LTABLE (PURE) "The butt of his stiletto cracks you on the skull, and you stagger
|
||||||
back.">
|
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.">
|
you out of breath.">
|
||||||
<LTABLE "The thief attacks, and you fall back desperately.">>
|
<LTABLE (PURE) "The thief attacks, and you fall back desperately.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "A long, theatrical slash. You catch it on your " F-WEP ", but the
|
<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.">
|
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.">
|
to the floor.">
|
||||||
<LTABLE "You parry a low thrust, and your " F-WEP " slips out of your hand.">>
|
<LTABLE (PURE) "You parry a low thrust, and your " F-WEP " slips out of your hand.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The thief, a man of superior breeding, pauses for a moment to consider the propriety of finishing you off.">
|
<LTABLE (PURE) "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 (PURE) "The thief amuses himself by searching your pockets.">
|
||||||
<LTABLE "The thief entertains himself by rifling your pack.">>
|
<LTABLE (PURE) "The thief entertains himself by rifling your pack.">>
|
||||||
<LTABLE
|
<LTABLE (PURE)
|
||||||
<LTABLE "The thief, forgetting his essentially genteel upbringing, cuts your
|
<LTABLE (PURE) "The thief, forgetting his essentially genteel upbringing, cuts your
|
||||||
throat.">
|
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.">>>>
|
livelihood.">>>>
|
||||||
|
|
||||||
|
|
||||||
@@ -3918,7 +3973,7 @@ valueless." CR>
|
|||||||
(ELSE <RFALSE>)>)>
|
(ELSE <RFALSE>)>)>
|
||||||
<SET X .N>>>
|
<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>>
|
<SET X <FIRST? .WHAT>>
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
<COND (<NOT .X> <RETURN .ROBBED?>)>
|
<COND (<NOT .X> <RETURN .ROBBED?>)>
|
||||||
@@ -3927,14 +3982,12 @@ valueless." CR>
|
|||||||
<NOT <FSET? .X ,SACREDBIT>>
|
<NOT <FSET? .X ,SACREDBIT>>
|
||||||
<G? <GETP .X ,P?TVALUE> 0>
|
<G? <GETP .X ,P?TVALUE> 0>
|
||||||
<OR <NOT .PROB> <PROB .PROB>>>
|
<OR <NOT .PROB> <PROB .PROB>>>
|
||||||
<MOVE .X .THIEF>
|
<MOVE .X .WHERE>
|
||||||
<FSET .X ,TOUCHBIT>
|
<FSET .X ,TOUCHBIT>
|
||||||
<COND (<EQUAL? .THIEF ,THIEF> <FSET .X ,INVISIBLE>)>
|
<COND (<EQUAL? .WHERE ,THIEF> <FSET .X ,INVISIBLE>)>
|
||||||
<SET ROBBED? T>)>
|
<SET ROBBED? T>)>
|
||||||
<SET X .N>>>
|
<SET X .N>>>
|
||||||
|
|
||||||
^/L
|
|
||||||
|
|
||||||
;"special-cased routines"
|
;"special-cased routines"
|
||||||
|
|
||||||
<ROUTINE V-DIAGNOSE ("AUX" (MS <FIGHT-STRENGTH <>>)
|
<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 2> <TELL "be killed by a serious wound">)
|
||||||
(<EQUAL? .RS 3> <TELL "survive one serious wound">)
|
(<EQUAL? .RS 3> <TELL "survive one serious wound">)
|
||||||
(<G? .RS 3>
|
(<G? .RS 3>
|
||||||
<TELL "strong enough to take several wounds.">)>
|
<TELL "survive several wounds">)>
|
||||||
<TELL "." CR>
|
<TELL "." CR>
|
||||||
<COND (<NOT <0? ,DEATHS>>
|
<COND (<NOT <0? ,DEATHS>>
|
||||||
<TELL "You have been killed ">
|
<TELL "You have been killed ">
|
||||||
@@ -3991,7 +4044,8 @@ valueless." CR>
|
|||||||
,SCORE>
|
,SCORE>
|
||||||
|
|
||||||
<ROUTINE JIGS-UP (DESC "OPTIONAL" (PLAYER? <>))
|
<ROUTINE JIGS-UP (DESC "OPTIONAL" (PLAYER? <>))
|
||||||
<COND (,DEAD
|
<SETG WINNER ,ADVENTURER>
|
||||||
|
<COND (,DEAD
|
||||||
<TELL "|
|
<TELL "|
|
||||||
It takes a talented person to be killed while already dead. YOU are such
|
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.
|
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>
|
color, even unreal." CR CR>
|
||||||
<SETG DEAD T>
|
<SETG DEAD T>
|
||||||
<SETG TROLL-FLAG T>
|
<SETG TROLL-FLAG T>
|
||||||
<SETG GWIM-DISABLE T>
|
;<SETG GWIM-DISABLE T>
|
||||||
<SETG ALWAYS-LIT T>
|
<SETG ALWAYS-LIT T>
|
||||||
<PUTP ,WINNER ,P?ACTION DEAD-FUNCTION>
|
<PUTP ,WINNER ,P?ACTION DEAD-FUNCTION>
|
||||||
<GOTO ,ENTRANCE-TO-HADES>)
|
<GOTO ,ENTRANCE-TO-HADES>)
|
||||||
@@ -4041,7 +4095,8 @@ up completely, but you can't have everything." CR CR>
|
|||||||
<FCLEAR ,TRAP-DOOR ,TOUCHBIT>
|
<FCLEAR ,TRAP-DOOR ,TOUCHBIT>
|
||||||
<SETG P-CONT <>>
|
<SETG P-CONT <>>
|
||||||
<RANDOMIZE-OBJECTS>
|
<RANDOMIZE-OBJECTS>
|
||||||
<KILL-INTERRUPTS>)>>>
|
<KILL-INTERRUPTS>
|
||||||
|
<RFATAL>)>>>
|
||||||
|
|
||||||
<ROUTINE RANDOMIZE-OBJECTS ("AUX" (R <>) F N L)
|
<ROUTINE RANDOMIZE-OBJECTS ("AUX" (R <>) F N L)
|
||||||
<COND (<IN? ,LAMP ,WINNER>
|
<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)
|
(FLAGS TAKEBIT CONTBIT BURNBIT)
|
||||||
(FDESC
|
(FDESC
|
||||||
"On the table is an elongated brown sack, smelling of hot peppers.")
|
"On the table is an elongated brown sack, smelling of hot peppers.")
|
||||||
(CAPACITY 15)
|
(CAPACITY 9)
|
||||||
(SIZE 3)
|
(SIZE 9)
|
||||||
(ACTION SANDWICH-BAG-FCN)>
|
(ACTION SANDWICH-BAG-FCN)>
|
||||||
|
|
||||||
<OBJECT TOOL-CHEST
|
<OBJECT TOOL-CHEST
|
||||||
@@ -370,7 +370,8 @@ sceptre is ornamented with colored enamel, and tapers to a sharp point.")
|
|||||||
(SYNONYM GARLIC CLOVE)
|
(SYNONYM GARLIC CLOVE)
|
||||||
(DESC "clove of garlic")
|
(DESC "clove of garlic")
|
||||||
(FLAGS TAKEBIT FOODBIT)
|
(FLAGS TAKEBIT FOODBIT)
|
||||||
(ACTION GARLIC-F)>
|
(ACTION GARLIC-F)
|
||||||
|
(SIZE 4)>
|
||||||
|
|
||||||
<OBJECT TRIDENT
|
<OBJECT TRIDENT
|
||||||
(IN ATLANTIS-ROOM)
|
(IN ATLANTIS-ROOM)
|
||||||
@@ -428,7 +429,7 @@ sceptre is ornamented with colored enamel, and tapers to a sharp point.")
|
|||||||
(SYNONYM DOOR)
|
(SYNONYM DOOR)
|
||||||
(ADJECTIVE HUGE STONE)
|
(ADJECTIVE HUGE STONE)
|
||||||
(DESC "stone door")
|
(DESC "stone door")
|
||||||
(FLAGS DOORBIT NDESCBIT)
|
(FLAGS DOORBIT NDESCBIT OPENBIT)
|
||||||
(ACTION BARROW-DOOR-FCN)>
|
(ACTION BARROW-DOOR-FCN)>
|
||||||
|
|
||||||
<OBJECT BARROW
|
<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
|
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.
|
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)>
|
(SIZE 2)>
|
||||||
|
|
||||||
<OBJECT LEAK
|
<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.\"|
|
future and make really big Zorkmids.\"|
|
||||||
|
|
|
|
||||||
GUE Tech can't promise these fantastic results to everyone. But when
|
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
|
<OBJECT MIRROR-2
|
||||||
(IN MIRROR-ROOM-2)
|
(IN MIRROR-ROOM-2)
|
||||||
@@ -946,7 +946,7 @@ southwest, is marked \"To Stone Barrow\".")>
|
|||||||
(FLAGS READBIT TAKEBIT BURNBIT)
|
(FLAGS READBIT TAKEBIT BURNBIT)
|
||||||
(SIZE 2)
|
(SIZE 2)
|
||||||
(TEXT
|
(TEXT
|
||||||
" !!!! FROBOZZ MAGIC BOAT COMPANY !!!!|
|
" !!!!FROBOZZ MAGIC BOAT COMPANY!!!!|
|
||||||
|
|
|
|
||||||
Hello, Sailor!|
|
Hello, Sailor!|
|
||||||
|
|
|
|
||||||
@@ -963,8 +963,7 @@ milliseconds from date of purchase or until first used, whichever comes first.|
|
|||||||
|
|
|
|
||||||
Warning:|
|
Warning:|
|
||||||
This boat is made of thin plastic.|
|
This boat is made of thin plastic.|
|
||||||
Good Luck!|
|
Good Luck!" )>
|
||||||
" )>
|
|
||||||
|
|
||||||
<OBJECT THIEF
|
<OBJECT THIEF
|
||||||
(IN ROUND-ROOM)
|
(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
|
of 1.7 billion cubic feet, an area of 12 million square feet, and a
|
||||||
shore line of 36 thousand feet.|
|
shore line of 36 thousand feet.|
|
||||||
|
|
|
|
||||||
We will now point out some of the more interesting features
|
The construction of FCD#3 took 112 days from ground breaking to
|
||||||
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 dedication. It required a work force of 384 slaves, 34 slave
|
the dedication. It required a work force of 384 slaves, 34 slave
|
||||||
drivers, 12 engineers, 2 turtle doves, and a partridge in a pear
|
drivers, 12 engineers, 2 turtle doves, and a partridge in a pear
|
||||||
tree. The work was managed by a command team composed of 2345
|
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
|
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
|
<OBJECT TROLL
|
||||||
(IN TROLL-ROOM)
|
(IN TROLL-ROOM)
|
||||||
@@ -1105,14 +1105,12 @@ excised them.")>
|
|||||||
(FLAGS READBIT TAKEBIT)
|
(FLAGS READBIT TAKEBIT)
|
||||||
(FDESC "Loosely attached to a wall is a small piece of paper.")
|
(FDESC "Loosely attached to a wall is a small piece of paper.")
|
||||||
(TEXT
|
(TEXT
|
||||||
"|
|
"Congratulations!|
|
||||||
Congratulations!|
|
|
||||||
|
|
|
|
||||||
You are the privileged owner of ZORK I: The Great Underground Empire,
|
You are the privileged owner of ZORK I: The Great Underground Empire,
|
||||||
a self-contained and self-maintaining universe. If used and maintained
|
a self-contained and self-maintaining universe. If used and maintained
|
||||||
in accordance with normal operating practices for small universes, ZORK
|
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
|
<OBJECT CLIMBABLE-CLIFF
|
||||||
(IN LOCAL-GLOBALS)
|
(IN LOCAL-GLOBALS)
|
||||||
@@ -1251,14 +1249,13 @@ have, as the mainspring seems sprung.")>
|
|||||||
(IN TO STONE-BARROW IF WON-FLAG)
|
(IN TO STONE-BARROW IF WON-FLAG)
|
||||||
(ACTION WEST-HOUSE)
|
(ACTION WEST-HOUSE)
|
||||||
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
||||||
(GLOBAL WHITE-HOUSE BOARD)>
|
(GLOBAL WHITE-HOUSE BOARD FOREST)>
|
||||||
|
|
||||||
<ROOM STONE-BARROW
|
<ROOM STONE-BARROW
|
||||||
(IN ROOMS)
|
(IN ROOMS)
|
||||||
(LDESC
|
(LDESC
|
||||||
"You are standing in front of a massive barrow of stone. In the east face
|
"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
|
is a huge stone door which is open. You cannot see into the dark of the tomb.")
|
||||||
tomb.")
|
|
||||||
(DESC "Stone Barrow")
|
(DESC "Stone Barrow")
|
||||||
(NE TO WEST-OF-HOUSE)
|
(NE TO WEST-OF-HOUSE)
|
||||||
(ACTION STONE-BARROW-FCN)
|
(ACTION STONE-BARROW-FCN)
|
||||||
@@ -1278,7 +1275,7 @@ the trees.")
|
|||||||
(NORTH TO PATH)
|
(NORTH TO PATH)
|
||||||
(SOUTH "The windows are all boarded.")
|
(SOUTH "The windows are all boarded.")
|
||||||
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
||||||
(GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE)>
|
(GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE FOREST)>
|
||||||
|
|
||||||
<ROOM SOUTH-OF-HOUSE
|
<ROOM SOUTH-OF-HOUSE
|
||||||
(IN ROOMS)
|
(IN ROOMS)
|
||||||
@@ -1293,7 +1290,7 @@ and all the windows are boarded.")
|
|||||||
(SOUTH TO FOREST-3)
|
(SOUTH TO FOREST-3)
|
||||||
(NORTH "The windows are all boarded.")
|
(NORTH "The windows are all boarded.")
|
||||||
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
||||||
(GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE)>
|
(GLOBAL BOARDED-WINDOW BOARD WHITE-HOUSE FOREST)>
|
||||||
|
|
||||||
<ROOM EAST-OF-HOUSE
|
<ROOM EAST-OF-HOUSE
|
||||||
(IN ROOMS)
|
(IN ROOMS)
|
||||||
@@ -1307,7 +1304,7 @@ and all the windows are boarded.")
|
|||||||
(IN TO KITCHEN IF KITCHEN-WINDOW IS OPEN)
|
(IN TO KITCHEN IF KITCHEN-WINDOW IS OPEN)
|
||||||
(ACTION EAST-HOUSE)
|
(ACTION EAST-HOUSE)
|
||||||
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
(FLAGS RLANDBIT ONBIT SACREDBIT)
|
||||||
(GLOBAL WHITE-HOUSE KITCHEN-WINDOW)>
|
(GLOBAL WHITE-HOUSE KITCHEN-WINDOW FOREST)>
|
||||||
|
|
||||||
<ROOM FOREST-1
|
<ROOM FOREST-1
|
||||||
(IN ROOMS)
|
(IN ROOMS)
|
||||||
@@ -2466,7 +2463,7 @@ shaft is a metal framework to which a heavy iron chain is attached.")
|
|||||||
<ROOM SMELLY-ROOM ;"was SMELL"
|
<ROOM SMELLY-ROOM ;"was SMELL"
|
||||||
(IN ROOMS)
|
(IN ROOMS)
|
||||||
(LDESC
|
(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
|
of a small descending staircase a foul odor can be detected. To the
|
||||||
south is a narrow tunnel.")
|
south is a narrow tunnel.")
|
||||||
(DESC "Smelly Room")
|
(DESC "Smelly Room")
|
||||||
@@ -2567,7 +2564,7 @@ passage. In the shaft can be seen a heavy iron chain.")
|
|||||||
|
|
||||||
<ROOM MINE-1 ;"was MINE1"
|
<ROOM MINE-1 ;"was MINE1"
|
||||||
(IN ROOMS)
|
(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")
|
(DESC "Coal Mine")
|
||||||
(NORTH TO GAS-ROOM)
|
(NORTH TO GAS-ROOM)
|
||||||
(EAST TO MINE-1)
|
(EAST TO MINE-1)
|
||||||
@@ -2576,7 +2573,7 @@ passage. In the shaft can be seen a heavy iron chain.")
|
|||||||
|
|
||||||
<ROOM MINE-2 ;"was MINE2"
|
<ROOM MINE-2 ;"was MINE2"
|
||||||
(IN ROOMS)
|
(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")
|
(DESC "Coal Mine")
|
||||||
(NORTH TO MINE-2)
|
(NORTH TO MINE-2)
|
||||||
(SOUTH TO MINE-1)
|
(SOUTH TO MINE-1)
|
||||||
@@ -2585,7 +2582,7 @@ passage. In the shaft can be seen a heavy iron chain.")
|
|||||||
|
|
||||||
<ROOM MINE-3 ;"was MINE3"
|
<ROOM MINE-3 ;"was MINE3"
|
||||||
(IN ROOMS)
|
(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")
|
(DESC "Coal Mine")
|
||||||
(SOUTH TO MINE-3)
|
(SOUTH TO MINE-3)
|
||||||
(SW TO MINE-4)
|
(SW TO MINE-4)
|
||||||
@@ -2594,7 +2591,7 @@ passage. In the shaft can be seen a heavy iron chain.")
|
|||||||
|
|
||||||
<ROOM MINE-4 ;"was MINE4"
|
<ROOM MINE-4 ;"was MINE4"
|
||||||
(IN ROOMS)
|
(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")
|
(DESC "Coal Mine")
|
||||||
(NORTH TO MINE-3)
|
(NORTH TO MINE-3)
|
||||||
(WEST TO MINE-4)
|
(WEST TO MINE-4)
|
||||||
@@ -2621,17 +2618,17 @@ a small opening.")
|
|||||||
;"RANDOM TABLES FOR WALK-AROUND"
|
;"RANDOM TABLES FOR WALK-AROUND"
|
||||||
|
|
||||||
<GLOBAL HOUSE-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>>
|
WEST-OF-HOUSE>>
|
||||||
|
|
||||||
<GLOBAL FOREST-AROUND
|
<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
|
<GLOBAL IN-HOUSE-AROUND
|
||||||
<LTABLE LIVING-ROOM KITCHEN ATTIC KITCHEN>>
|
<LTABLE (PURE) LIVING-ROOM KITCHEN ATTIC KITCHEN>>
|
||||||
|
|
||||||
<GLOBAL ABOVE-GROUND
|
<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
|
FOREST-1 FOREST-2 FOREST-3 PATH CLEARING GRATING-CLEARING
|
||||||
CANYON-VIEW>>
|
CANYON-VIEW>>
|
||||||
|
|
||||||
|
|||||||
@@ -18,11 +18,6 @@
|
|||||||
|
|
||||||
<CONSTANT C-RTN 2>
|
<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)
|
<ROUTINE QUEUE (RTN TICK "AUX" CINT)
|
||||||
#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
|
#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
|
||||||
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
|
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
|
||||||
@@ -52,8 +47,7 @@
|
|||||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
<COND (<==? .C .E>
|
<COND (<==? .C .E>
|
||||||
<COND (<G? <SETG MOVES <+ ,MOVES 1>> 999>
|
<SETG MOVES <+ ,MOVES 1>>
|
||||||
<SETG MOVES 0>)>
|
|
||||||
<RETURN .FLG>)
|
<RETURN .FLG>)
|
||||||
(<NOT <0? <GET .C ,C-ENABLED?>>>
|
(<NOT <0? <GET .C ,C-ENABLED?>>>
|
||||||
<SET TICK <GET .C ,C-TICK>>
|
<SET TICK <GET .C ,C-TICK>>
|
||||||
|
|||||||
93
gglobals.zil
93
gglobals.zil
@@ -64,52 +64,19 @@
|
|||||||
<SETG P-CONT <>>
|
<SETG P-CONT <>>
|
||||||
<SETG QUOTE-FLAG <>>
|
<SETG QUOTE-FLAG <>>
|
||||||
<COND (<EQUAL? ,WINNER ,PLAYER>
|
<COND (<EQUAL? ,WINNER ,PLAYER>
|
||||||
<TELL "You can't see any">
|
<TELL "You can't see any ">
|
||||||
<NOT-HERE-PRINT .PRSO?>
|
<NOT-HERE-PRINT .PRSO?>
|
||||||
<TELL " here!" CR>)
|
<TELL " here!" CR>)
|
||||||
(T
|
(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?>
|
<NOT-HERE-PRINT .PRSO?>
|
||||||
<TELL " here!\"" CR>)>
|
<TELL " here!\"" CR>)>
|
||||||
<RTRUE>>
|
<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?)
|
<ROUTINE NOT-HERE-PRINT (PRSO?)
|
||||||
<COND (,P-OFLAG
|
<COND (,P-OFLAG
|
||||||
<COND (,P-XADJ <TELL " "> <PRINTB ,P-XADJN>)>
|
<COND (,P-XADJ <PRINTB ,P-XADJN>)>
|
||||||
<COND (,P-XNAM <TELL " "> <PRINTB ,P-XNAM>)>)
|
<COND (,P-XNAM <PRINTB ,P-XNAM>)>)
|
||||||
(.PRSO?
|
(.PRSO?
|
||||||
<BUFFER-PRINT <GET ,P-ITBL ,P-NC1> <GET ,P-ITBL ,P-NC1L> <>>)
|
<BUFFER-PRINT <GET ,P-ITBL ,P-NC1> <GET ,P-ITBL ,P-NC1L> <>>)
|
||||||
(T
|
(T
|
||||||
@@ -153,7 +120,20 @@
|
|||||||
(ACTION SAILOR-FCN)>
|
(ACTION SAILOR-FCN)>
|
||||||
|
|
||||||
<ROUTINE 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>>
|
<SETG HS <+ ,HS 1>>
|
||||||
%<COND (<==? ,ZORK-NUMBER 3>
|
%<COND (<==? ,ZORK-NUMBER 3>
|
||||||
'<COND (<NOT <FSET? ,VIKING-SHIP ,INVISIBLE>>
|
'<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
|
<COND (,SHIP-GONE
|
||||||
<TELL "Nothing happens anymore." CR>)
|
<TELL "Nothing happens anymore." CR>)
|
||||||
(T
|
(T
|
||||||
<TELL "Nothing happens yet." CR>)>)>)
|
<TELL "Nothing happens yet." CR>)>)
|
||||||
|
(T <TELL "Nothing happens here." CR>)>)
|
||||||
(T
|
(T
|
||||||
'<NULL-F>)>
|
'<COND (<0? <MOD ,HS 20>>
|
||||||
<COND (<0? <MOD ,HS 20>>
|
<TELL
|
||||||
<TELL "You seem to be repeating yourself." CR>)
|
"You seem to be repeating yourself." CR>)
|
||||||
(<0? <MOD ,HS 10>>
|
(<0? <MOD ,HS 10>>
|
||||||
<TELL
|
<TELL
|
||||||
"I think that phrase is getting a bit worn out." CR>)
|
"I think that phrase is getting a bit worn out." CR>)
|
||||||
(T
|
(T
|
||||||
<TELL "Nothing happens here." CR>)>)>>
|
<TELL "Nothing happens here." CR>)>)>)>>
|
||||||
|
|
||||||
<OBJECT GROUND
|
<OBJECT GROUND
|
||||||
(IN GLOBAL-OBJECTS)
|
(IN GLOBAL-OBJECTS)
|
||||||
@@ -258,6 +239,10 @@ you!" CR>)
|
|||||||
<JIGS-UP "If you insist.... Poof, you're dead!">)
|
<JIGS-UP "If you insist.... Poof, you're dead!">)
|
||||||
(T
|
(T
|
||||||
<TELL "Suicide is not the answer." CR>)>)
|
<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>
|
(<VERB? TAKE>
|
||||||
<TELL "How romantic!" CR>)
|
<TELL "How romantic!" CR>)
|
||||||
(<VERB? EXAMINE>
|
(<VERB? EXAMINE>
|
||||||
@@ -265,11 +250,19 @@ you!" CR>)
|
|||||||
'(<EQUAL? ,HERE <LOC ,MIRROR-1> <LOC ,MIRROR-2>>
|
'(<EQUAL? ,HERE <LOC ,MIRROR-1> <LOC ,MIRROR-2>>
|
||||||
<TELL
|
<TELL
|
||||||
"Your image in the mirror looks tired." CR>))
|
"Your image in the mirror looks tired." CR>))
|
||||||
|
(<==? ,ZORK-NUMBER 3>
|
||||||
|
'(,INVIS
|
||||||
|
<TELL
|
||||||
|
"A good trick, as you are currently invisible." CR>))
|
||||||
(T
|
(T
|
||||||
'(<NULL-F> <RTRUE>))>
|
'(<NULL-F> <RTRUE>))>
|
||||||
(T
|
(T
|
||||||
<TELL
|
%<COND (<==? ,ZORK-NUMBER 3>
|
||||||
"That's difficult unless your eyes are prehensile." CR>)>)>>
|
'<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
|
<OBJECT ADVENTURER
|
||||||
(SYNONYM ADVENTURER)
|
(SYNONYM ADVENTURER)
|
||||||
@@ -280,9 +273,9 @@ you!" CR>)
|
|||||||
|
|
||||||
<OBJECT PATHOBJ
|
<OBJECT PATHOBJ
|
||||||
(IN GLOBAL-OBJECTS)
|
(IN GLOBAL-OBJECTS)
|
||||||
(SYNONYM PASSAGE CRAWLWAY TRAIL PATH)
|
(SYNONYM TRAIL PATH)
|
||||||
(ADJECTIVE FOREST NARROW LONG WINDING)
|
(ADJECTIVE FOREST NARROW LONG WINDING)
|
||||||
(DESC "way")
|
(DESC "passage")
|
||||||
(FLAGS NDESCBIT)
|
(FLAGS NDESCBIT)
|
||||||
(ACTION PATH-OBJECT)>
|
(ACTION PATH-OBJECT)>
|
||||||
|
|
||||||
|
|||||||
@@ -49,9 +49,6 @@
|
|||||||
<MAPRET <FORM PRINT .E>>)
|
<MAPRET <FORM PRINT .E>>)
|
||||||
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
|
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
|
||||||
|
|
||||||
<ROUTINE PRINTA (O)
|
|
||||||
<TELL "a " D .O>>
|
|
||||||
|
|
||||||
<DEFMAC VERB? ("ARGS" ATMS)
|
<DEFMAC VERB? ("ARGS" ATMS)
|
||||||
<MULTIFROB PRSA .ATMS>>
|
<MULTIFROB PRSA .ATMS>>
|
||||||
|
|
||||||
@@ -64,8 +61,6 @@
|
|||||||
<DEFMAC ROOM? ("ARGS" ATMS)
|
<DEFMAC ROOM? ("ARGS" ATMS)
|
||||||
<MULTIFROB HERE .ATMS>>
|
<MULTIFROB HERE .ATMS>>
|
||||||
|
|
||||||
<ZSTR-OFF>
|
|
||||||
|
|
||||||
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
|
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
<COND (<EMPTY? .ATMS>
|
<COND (<EMPTY? .ATMS>
|
||||||
@@ -114,8 +109,6 @@
|
|||||||
(ELSE <FORM GVAL .ATM>)>>
|
(ELSE <FORM GVAL .ATM>)>>
|
||||||
!.O)>>>
|
!.O)>>>
|
||||||
|
|
||||||
<ZSTR-ON>
|
|
||||||
|
|
||||||
<DEFMAC RFATAL ()
|
<DEFMAC RFATAL ()
|
||||||
'<PROG () <PUSH 2> <RSTACK>>>
|
'<PROG () <PUSH 2> <RSTACK>>>
|
||||||
|
|
||||||
|
|||||||
132
gmain.zil
132
gmain.zil
@@ -2,6 +2,8 @@
|
|||||||
The ZORK Trilogy
|
The ZORK Trilogy
|
||||||
started on 7/28/83 by MARC"
|
started on 7/28/83 by MARC"
|
||||||
|
|
||||||
|
<CONSTANT SERIAL 0>
|
||||||
|
|
||||||
<GLOBAL PLAYER <>>
|
<GLOBAL PLAYER <>>
|
||||||
|
|
||||||
<GLOBAL P-WON <>>
|
<GLOBAL P-WON <>>
|
||||||
@@ -29,15 +31,39 @@
|
|||||||
;"GO now lives in SPECIAL.ZIL"
|
;"GO now lives in SPECIAL.ZIL"
|
||||||
|
|
||||||
|
|
||||||
<ROUTINE MAIN-LOOP ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
|
<ROUTINE MAIN-LOOP ("AUX" TRASH)
|
||||||
<REPEAT ()
|
<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 CNT 0>
|
||||||
<SET OBJ <>>
|
<SET OBJ <>>
|
||||||
<SET PTBL T>
|
<SET PTBL T>
|
||||||
<COND (<SETG P-WON <PARSER>>
|
<COND (<SETG P-WON <PARSER>>
|
||||||
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
|
<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
|
<SET NUM
|
||||||
<COND (<0? <SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>> .OCNT)
|
<COND (<0? .OCNT> .OCNT)
|
||||||
(<G? .OCNT 1>
|
(<G? .OCNT 1>
|
||||||
<SET TBL ,P-PRSO>
|
<SET TBL ,P-PRSO>
|
||||||
<COND (<0? .ICNT> <SET OBJ <>>)
|
<COND (<0? .ICNT> <SET OBJ <>>)
|
||||||
@@ -50,7 +76,9 @@
|
|||||||
.ICNT)
|
.ICNT)
|
||||||
(T 1)>>
|
(T 1)>>
|
||||||
<COND (<AND <NOT .OBJ> <1? .ICNT>> <SET OBJ <GET ,P-PRSI 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>
|
(<0? .NUM>
|
||||||
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
|
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
|
||||||
<SET V <PERFORM ,PRSA>>
|
<SET V <PERFORM ,PRSA>>
|
||||||
@@ -86,45 +114,37 @@
|
|||||||
(T
|
(T
|
||||||
<COND (.PTBL <SET OBJ1 <GET ,P-PRSO .CNT>>)
|
<COND (.PTBL <SET OBJ1 <GET ,P-PRSO .CNT>>)
|
||||||
(T <SET OBJ1 <GET ,P-PRSI .CNT>>)>
|
(T <SET OBJ1 <GET ,P-PRSI .CNT>>)>
|
||||||
<SETG PRSO <COND (.PTBL .OBJ1) (T .OBJ)>>
|
<SET O <COND (.PTBL .OBJ1) (T .OBJ)>>
|
||||||
<SETG PRSI <COND (.PTBL .OBJ) (T .OBJ1)>>
|
<SET I <COND (.PTBL .OBJ) (T .OBJ1)>>
|
||||||
<COND (<OR <G? .NUM 1>
|
|
||||||
<EQUAL? <GET <GET ,P-ITBL ,P-NC1>
|
;"multiple exceptions"
|
||||||
0>
|
<COND (<OR <G? .NUM 1>
|
||||||
,W?ALL>>
|
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALL>>
|
||||||
<COND (<EQUAL? .OBJ1
|
<SET V <LOC ,WINNER>>
|
||||||
,NOT-HERE-OBJECT>
|
<COND (<EQUAL? .O ,NOT-HERE-OBJECT>
|
||||||
<SETG P-NOT-HERE
|
<SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>
|
||||||
<+ ,P-NOT-HERE 1>>
|
<AGAIN>)
|
||||||
<AGAIN>)
|
(<AND <VERB? TAKE>
|
||||||
(<AND <VERB? TAKE>
|
.I
|
||||||
,PRSI
|
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALL>
|
||||||
<EQUAL? <GET <GET ,P-ITBL
|
<NOT <IN? .O .I>>>
|
||||||
,P-NC1>
|
<AGAIN>)
|
||||||
0>
|
(<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
|
||||||
,W?ALL>
|
<VERB? TAKE>
|
||||||
<NOT <IN? ,PRSO ,PRSI>>>
|
<OR <AND <NOT <EQUAL? <LOC .O> ,WINNER ,HERE .V>>
|
||||||
<AGAIN>)
|
<NOT <EQUAL? <LOC .O> .I>>
|
||||||
(<AND <EQUAL? ,P-GETFLAGS
|
<NOT <FSET? <LOC .O> ,SURFACEBIT>>>
|
||||||
,P-ALL>
|
<NOT <OR <FSET? .O ,TAKEBIT>
|
||||||
<VERB? TAKE>
|
<FSET? .O ,TRYTAKEBIT>>>>>
|
||||||
<OR <AND <NOT <EQUAL?
|
<AGAIN>)
|
||||||
<LOC .OBJ1>
|
(ELSE
|
||||||
,WINNER
|
<COND (<EQUAL? .OBJ1 ,IT>
|
||||||
,HERE>>
|
<PRINTD ,P-IT-OBJECT>)
|
||||||
<NOT <FSET?
|
(T <PRINTD .OBJ1>)>
|
||||||
<LOC .OBJ1>
|
<TELL ": ">)>)>
|
||||||
,SURFACEBIT>>>
|
;"end multiple exceptions"
|
||||||
<NOT <OR <FSET? .OBJ1
|
<SETG PRSO .O>
|
||||||
,TAKEBIT>
|
<SETG PRSI .I>
|
||||||
<FSET? .OBJ1
|
|
||||||
,TRYTAKEBIT>>>>>
|
|
||||||
<AGAIN>)
|
|
||||||
(T
|
|
||||||
<COND (<EQUAL? .OBJ1 ,IT>
|
|
||||||
<PRINTD ,P-IT-OBJECT>)
|
|
||||||
(T <PRINTD .OBJ1>)>
|
|
||||||
<TELL ": ">)>)>
|
|
||||||
<SET TMP T>
|
<SET TMP T>
|
||||||
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
|
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
|
||||||
<COND (<==? .V ,M-FATAL> <RETURN>)>)>>)>
|
<COND (<==? .V ,M-FATAL> <RETURN>)>)>>)>
|
||||||
@@ -132,7 +152,8 @@
|
|||||||
;<COND (<==? <LOC ,WINNER> ,PRSO>
|
;<COND (<==? <LOC ,WINNER> ,PRSO>
|
||||||
<SETG PRSO <>>)>
|
<SETG PRSO <>>)>
|
||||||
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
|
<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
|
(T
|
||||||
<SETG L-PRSA ,PRSA>
|
<SETG L-PRSA ,PRSA>
|
||||||
<SETG L-PRSO ,PRSO>
|
<SETG L-PRSO ,PRSO>
|
||||||
@@ -140,17 +161,16 @@
|
|||||||
<COND (<==? .V ,M-FATAL> <SETG P-CONT <>>)>)
|
<COND (<==? .V ,M-FATAL> <SETG P-CONT <>>)>)
|
||||||
(T
|
(T
|
||||||
<SETG P-CONT <>>)>
|
<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 (,P-WON
|
||||||
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION
|
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION
|
||||||
QUIT RESTART SCORE SCRIPT UNSCRIPT RESTORE> T)
|
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-MULT <>>
|
||||||
|
|
||||||
<GLOBAL P-NOT-HERE 0>
|
<GLOBAL P-NOT-HERE 0>
|
||||||
@@ -172,7 +192,7 @@
|
|||||||
<SET OO ,PRSO>
|
<SET OO ,PRSO>
|
||||||
<SET OI ,PRSI>
|
<SET OI ,PRSI>
|
||||||
<COND (<AND <EQUAL? ,IT .I .O>
|
<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>
|
<TELL "I don't see what you are referring to." CR>
|
||||||
<RFATAL>)>
|
<RFATAL>)>
|
||||||
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
||||||
@@ -180,8 +200,7 @@
|
|||||||
<SETG PRSA .A>
|
<SETG PRSA .A>
|
||||||
<SETG PRSO .O>
|
<SETG PRSO .O>
|
||||||
<COND (<AND ,PRSO <NOT <EQUAL? ,PRSI ,IT>> <NOT <VERB? WALK>>>
|
<COND (<AND ,PRSO <NOT <EQUAL? ,PRSI ,IT>> <NOT <VERB? WALK>>>
|
||||||
<SETG P-IT-OBJECT ,PRSO>
|
<SETG P-IT-OBJECT ,PRSO>)>
|
||||||
<SETG P-IT-LOC ,HERE>)>
|
|
||||||
<SETG PRSI .I>
|
<SETG PRSI .I>
|
||||||
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||||
<SET V <NOT-HERE-OBJECT-F>>> .V)
|
<SET V <NOT-HERE-OBJECT-F>>> .V)
|
||||||
@@ -225,7 +244,7 @@
|
|||||||
<SET OO ,PRSO>
|
<SET OO ,PRSO>
|
||||||
<SET OI ,PRSI>
|
<SET OI ,PRSI>
|
||||||
<COND (<AND <EQUAL? ,IT .I .O>
|
<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>
|
<TELL "I don't see what you are referring to." CR>
|
||||||
<RFATAL>)>
|
<RFATAL>)>
|
||||||
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
||||||
@@ -233,8 +252,7 @@
|
|||||||
<SETG PRSA .A>
|
<SETG PRSA .A>
|
||||||
<SETG PRSO .O>
|
<SETG PRSO .O>
|
||||||
<COND (<AND ,PRSO <NOT <VERB? WALK>>>
|
<COND (<AND ,PRSO <NOT <VERB? WALK>>>
|
||||||
<SETG P-IT-OBJECT ,PRSO>
|
<SETG P-IT-OBJECT ,PRSO>)>
|
||||||
<SETG P-IT-LOC ,HERE>)>
|
|
||||||
<SETG PRSI .I>
|
<SETG PRSI .I>
|
||||||
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||||
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>> .V)
|
<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"
|
"Buzzwords, Prepositions and Directions"
|
||||||
|
|
||||||
<BUZZ A AN THE IS AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y HERE
|
<BUZZ AGAIN G OOPS>
|
||||||
FEEBLE FUMBLE FEAR FILCH FREEZE FALL FRY FLUORESCE
|
|
||||||
FERMENT FIERCE FLOAT FIREPROOF FENCE FUDGE FANTASIZE
|
<BUZZ A AN THE IS AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y HERE>
|
||||||
FROTZ OZMOO>
|
|
||||||
|
<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 WITH USING THROUGH THRU>
|
||||||
<SYNONYM IN INSIDE INTO>
|
<SYNONYM IN INSIDE INTO>
|
||||||
@@ -62,7 +68,13 @@
|
|||||||
|
|
||||||
<SYNTAX $VERIFY = V-VERIFY>
|
<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
|
^L
|
||||||
|
|
||||||
@@ -71,15 +83,16 @@
|
|||||||
<SYNTAX ACTIVATE OBJECT (FIND LIGHTBIT)
|
<SYNTAX ACTIVATE OBJECT (FIND LIGHTBIT)
|
||||||
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
|
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
|
||||||
|
|
||||||
<SYNTAX AGAIN = V-AGAIN>
|
|
||||||
<SYNONYM AGAIN G>
|
|
||||||
|
|
||||||
<SYNTAX ANSWER = V-ANSWER>
|
<SYNTAX ANSWER = V-ANSWER>
|
||||||
<SYNTAX ANSWER OBJECT = V-REPLY>
|
<SYNTAX ANSWER OBJECT = V-REPLY>
|
||||||
<SYNONYM ANSWER REPLY>
|
<SYNONYM ANSWER REPLY>
|
||||||
|
|
||||||
<SYNTAX APPLY OBJECT TO OBJECT = V-PUT PRE-PUT>
|
<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)
|
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
|
||||||
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
|
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
|
||||||
<SYNONYM ATTACK FIGHT HURT INJURE HIT>
|
<SYNONYM ATTACK FIGHT HURT INJURE HIT>
|
||||||
@@ -114,9 +127,9 @@
|
|||||||
<SYNTAX CHOMP = V-CHOMP>
|
<SYNTAX CHOMP = V-CHOMP>
|
||||||
<SYNONYM CHOMP LOSE BARF>
|
<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 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 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 OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
|
||||||
<SYNTAX CLIMB IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
|
<SYNTAX CLIMB 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>
|
<SYNTAX DESTROY IN OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-OPEN>
|
||||||
<SYNONYM DESTROY DAMAGE BREAK BLOCK SMASH>
|
<SYNONYM DESTROY DAMAGE BREAK BLOCK SMASH>
|
||||||
|
|
||||||
|
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM) = V-DIG>
|
||||||
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM)
|
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM)
|
||||||
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
|
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
|
||||||
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM)
|
<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) DOWN OBJECT = V-PUT PRE-PUT>
|
||||||
<SYNTAX DROP OBJECT (HELD MANY HAVE) IN 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>
|
<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)
|
<SYNTAX EAT OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||||
= V-EAT>
|
= V-EAT>
|
||||||
@@ -217,11 +230,9 @@
|
|||||||
TO OBJECT (FIND ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE>
|
TO OBJECT (FIND ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE>
|
||||||
<SYNTAX GIVE OBJECT (FIND ACTORBIT) (ON-GROUND)
|
<SYNTAX GIVE OBJECT (FIND ACTORBIT) (ON-GROUND)
|
||||||
OBJECT (MANY HELD HAVE) = V-SGIVE PRE-SGIVE>
|
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>
|
<SYNONYM GIVE DONATE OFFER FEED>
|
||||||
|
<COND (<N==? ,ZORK-NUMBER 3>
|
||||||
|
<SYNONYM GIVE HAND>)>
|
||||||
|
|
||||||
<SYNTAX HATCH OBJECT = V-HATCH>
|
<SYNTAX HATCH OBJECT = V-HATCH>
|
||||||
|
|
||||||
@@ -235,9 +246,6 @@
|
|||||||
<SYNTAX INFLAT OBJECT WITH
|
<SYNTAX INFLAT OBJECT WITH
|
||||||
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED) = V-INFLATE>
|
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 = V-LEAP>
|
||||||
<SYNTAX JUMP OVER OBJECT = V-LEAP>
|
<SYNTAX JUMP OVER OBJECT = V-LEAP>
|
||||||
<SYNTAX JUMP ACROSS OBJECT = V-LEAP>
|
<SYNTAX JUMP ACROSS OBJECT = V-LEAP>
|
||||||
@@ -249,6 +257,10 @@
|
|||||||
<SYNTAX KICK OBJECT = V-KICK>
|
<SYNTAX KICK OBJECT = V-KICK>
|
||||||
<SYNONYM KICK TAUNT>
|
<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)
|
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
|
||||||
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
|
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
|
||||||
<SYNONYM KILL MURDER SLAY DISPATCH>
|
<SYNONYM KILL MURDER SLAY DISPATCH>
|
||||||
@@ -309,6 +321,8 @@
|
|||||||
<SYNONYM MELT LIQUIFY>
|
<SYNONYM MELT LIQUIFY>
|
||||||
|
|
||||||
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
<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 (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
|
||||||
<SYNTAX MOVE OBJECT WITH OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
|
<SYNTAX MOVE OBJECT WITH OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
|
||||||
<SYNTAX ROLL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
<SYNTAX ROLL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
||||||
@@ -418,7 +432,6 @@
|
|||||||
<SYNTAX SKIP = V-SKIP>
|
<SYNTAX SKIP = V-SKIP>
|
||||||
<SYNONYM SKIP HOP>
|
<SYNONYM SKIP HOP>
|
||||||
|
|
||||||
;<SYNTAX SLIDE OBJECT = V-PUSH>
|
|
||||||
<SYNTAX SLIDE OBJECT UNDER OBJECT = V-PUT-UNDER>
|
<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) OBJECT = V-PUSH-TO>
|
||||||
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) TO 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 = V-SWIM>
|
||||||
<SYNTAX SWIM IN OBJECT = V-SWIM>
|
<SYNTAX SWIM IN OBJECT = V-SWIM>
|
||||||
|
<SYNTAX SWIM ACROSS OBJECT = V-SWIM>
|
||||||
<SYNONYM SWIM BATHE WADE>
|
<SYNONYM SWIM BATHE WADE>
|
||||||
|
|
||||||
<SYNTAX SWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-SWING>
|
<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 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 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 ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||||
<SYNTAX TAKE UP OBJECT (FIND RMUNGBIT) = V-STAND>
|
<SYNTAX TAKE UP OBJECT (FIND RMUNGBIT) = V-STAND>
|
||||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||||
@@ -466,6 +480,7 @@
|
|||||||
<SYNONYM TAKE GET HOLD CARRY REMOVE GRAB CATCH>
|
<SYNONYM TAKE GET HOLD CARRY REMOVE GRAB CATCH>
|
||||||
|
|
||||||
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
|
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
|
||||||
|
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) ABOUT OBJECT = V-TELL>
|
||||||
<SYNONYM TELL ASK>
|
<SYNONYM TELL ASK>
|
||||||
|
|
||||||
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
|
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
|
||||||
@@ -488,8 +503,7 @@
|
|||||||
<SYNONYM TREASURE TEMPLE>
|
<SYNONYM TREASURE TEMPLE>
|
||||||
|
|
||||||
<SYNTAX TURN OBJECT (FIND TURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
<SYNTAX TURN OBJECT (FIND TURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
WITH OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
|
WITH OBJECT (FIND RMUNGBIT) = V-TURN PRE-TURN>
|
||||||
= V-TURN PRE-TURN>
|
|
||||||
<SYNTAX TURN ON OBJECT (FIND LIGHTBIT)
|
<SYNTAX TURN ON OBJECT (FIND LIGHTBIT)
|
||||||
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
|
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
|
||||||
<SYNTAX TURN ON OBJECT WITH OBJECT (HAVE) = 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>
|
(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) TO OBJECT = V-TURN PRE-TURN>
|
||||||
<SYNTAX TURN OBJECT (FIND TURNBIT) FOR 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>
|
<SYNONYM TURN SET FLIP SHUT>
|
||||||
|
|
||||||
<SYNTAX UNLOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT
|
<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>
|
<SYNTAX WAKE UP OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
|
||||||
<SYNONYM WAKE AWAKE SURPRISE STARTLE>
|
<SYNONYM WAKE AWAKE SURPRISE STARTLE>
|
||||||
|
|
||||||
|
<SYNTAX WALK = V-WALK-AROUND>
|
||||||
<SYNTAX WALK OBJECT = V-WALK>
|
<SYNTAX WALK OBJECT = V-WALK>
|
||||||
<SYNTAX WALK AWAY OBJECT = V-WALK>
|
<SYNTAX WALK AWAY OBJECT = V-WALK>
|
||||||
<SYNTAX WALK IN OBJECT = V-THROUGH>
|
<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) = V-WAVE>
|
||||||
<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) AT OBJECT = V-WAVE>
|
<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) AT OBJECT = V-WAVE>
|
||||||
|
<SYNTAX WAVE AT OBJECT = V-WAVE>
|
||||||
<SYNONYM WAVE BRANDISH>
|
<SYNONYM WAVE BRANDISH>
|
||||||
|
|
||||||
<SYNTAX WEAR OBJECT = V-WEAR>
|
<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
|
The ZORK Trilogy
|
||||||
started on 7/25/83 by SEM"
|
started on 7/25/83 by SEM"
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<ROUTINE V-SUPER-BRIEF ()
|
<ROUTINE V-SUPER-BRIEF ()
|
||||||
<SETG SUPER-BRIEF T>
|
<SETG SUPER-BRIEF T>
|
||||||
<TELL "Super-brief descriptions." CR>>
|
<TELL "Superbrief descriptions." CR>>
|
||||||
|
|
||||||
;"V-DIAGNOSE is in ACTIONS.ZIL"
|
;"V-DIAGNOSE is in ACTIONS.ZIL"
|
||||||
|
|
||||||
@@ -30,13 +30,33 @@
|
|||||||
<COND (<FIRST? ,WINNER> <PRINT-CONT ,WINNER>)
|
<COND (<FIRST? ,WINNER> <PRINT-CONT ,WINNER>)
|
||||||
(T <TELL "You are empty-handed." CR>)>>
|
(T <TELL "You are empty-handed." CR>)>>
|
||||||
|
|
||||||
<ROUTINE V-QUIT ("OPTIONAL" (ASK? T) "AUX" SCOR)
|
<ROUTINE FINISH ("AUX" WRD)
|
||||||
<V-SCORE>
|
<V-SCORE>
|
||||||
<COND (<OR <AND .ASK?
|
<REPEAT ()
|
||||||
<TELL
|
<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): ">
|
"Do you wish to leave the game? (Y is affirmative): ">
|
||||||
<YES?>>
|
<COND (<YES?>
|
||||||
<NOT .ASK?>>
|
|
||||||
<QUIT>)
|
<QUIT>)
|
||||||
(ELSE <TELL "Ok." CR>)>>
|
(ELSE <TELL "Ok." CR>)>>
|
||||||
|
|
||||||
@@ -78,19 +98,19 @@
|
|||||||
<ROUTINE V-VERSION ("AUX" (CNT 17))
|
<ROUTINE V-VERSION ("AUX" (CNT 17))
|
||||||
%<COND (<==? ,ZORK-NUMBER 1>
|
%<COND (<==? ,ZORK-NUMBER 1>
|
||||||
'<TELL "ZORK I: The Great Underground Empire|
|
'<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>
|
(<==? ,ZORK-NUMBER 2>
|
||||||
'<TELL "ZORK II: The Wizard of Frobozz|
|
'<TELL "ZORK II: The Wizard of Frobozz|
|
||||||
***RENOVATED VERSION***|
|
Infocom interactive fiction - a fantasy story|
|
||||||
Copyright (c) 1981, 1982, 1983 Infocom, Inc. ">)
|
Copyright (c) 1981, 1982, 1983, 1986">)
|
||||||
(T
|
(<==? ,ZORK-NUMBER 3>
|
||||||
'<TELL "ZORK III: The Dungeon Master|
|
'<TELL "ZORK III: The Dungeon Master|
|
||||||
Copyright (c) 1982, 1983 Infocom, Inc. ">)>
|
Infocom interactive fiction - a fantasy story|
|
||||||
<TELL "All rights reserved." CR>
|
Copyright 1982, 1983, 1984, 1986">)>
|
||||||
<COND (<NOT <==? <BAND <GETB 0 1> 8> 0>>
|
<TELL " Infocom, Inc. All rights reserved." CR>
|
||||||
<TELL "Licensed to Tandy Corporation." CR>)>
|
|
||||||
<TELL "ZORK is a registered trademark of Infocom, Inc.|
|
<TELL "ZORK is a registered trademark of Infocom, Inc.|
|
||||||
Revision ">
|
Release ">
|
||||||
<PRINTN <BAND <GET 0 1> *3777*>>
|
<PRINTN <BAND <GET 0 1> *3777*>>
|
||||||
<TELL " / Serial number ">
|
<TELL " / Serial number ">
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
@@ -107,6 +127,25 @@ Revision ">
|
|||||||
(T
|
(T
|
||||||
<TELL CR "** Disk Failure **" CR>)>>
|
<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
|
^L
|
||||||
|
|
||||||
"Real Verb Functions"
|
"Real Verb Functions"
|
||||||
@@ -114,25 +153,6 @@ Revision ">
|
|||||||
<ROUTINE V-ADVENT ()
|
<ROUTINE V-ADVENT ()
|
||||||
<TELL "A hollow voice says \"Fool.\"" CR>>
|
<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 ()
|
<ROUTINE V-ALARM ()
|
||||||
<COND (<FSET? ,PRSO ,ACTORBIT>
|
<COND (<FSET? ,PRSO ,ACTORBIT>
|
||||||
<COND %<COND (<==? ,ZORK-NUMBER 1>
|
<COND %<COND (<==? ,ZORK-NUMBER 1>
|
||||||
@@ -181,7 +201,7 @@ Revision ">
|
|||||||
<ROUTINE PRE-BOARD ("AUX" AV)
|
<ROUTINE PRE-BOARD ("AUX" AV)
|
||||||
<SET AV <LOC ,WINNER>>
|
<SET AV <LOC ,WINNER>>
|
||||||
<COND %<COND (<==? ,ZORK-NUMBER 3>
|
<COND %<COND (<==? ,ZORK-NUMBER 3>
|
||||||
'(<EQUAL? ,PRSO ,WATER-CHANNEL>
|
'(<EQUAL? ,PRSO ,WATER-CHANNEL ,TM-SEAT ,LAKE>
|
||||||
<RFALSE>))
|
<RFALSE>))
|
||||||
(T
|
(T
|
||||||
'(<NULL-F> <RTRUE>))>
|
'(<NULL-F> <RTRUE>))>
|
||||||
@@ -193,6 +213,9 @@ Revision ">
|
|||||||
<TELL "You are already in the " D .AV "!" CR>)
|
<TELL "You are already in the " D .AV "!" CR>)
|
||||||
(T
|
(T
|
||||||
<RFALSE>)>)
|
<RFALSE>)>)
|
||||||
|
(<EQUAL? ,PRSO ,WATER ,GLOBAL-WATER>
|
||||||
|
<PERFORM ,V?SWIM ,PRSO>
|
||||||
|
<RTRUE>)
|
||||||
(T
|
(T
|
||||||
<TELL
|
<TELL
|
||||||
"You have a theory on how to board a " D ,PRSO ", perhaps?" CR>)>
|
"You have a theory on how to board a " D ,PRSO ", perhaps?" CR>)>
|
||||||
@@ -214,8 +237,13 @@ Revision ">
|
|||||||
<TELL
|
<TELL
|
||||||
"Bug? Not in a flawless program like this! (Cough, cough)." CR>>
|
"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 ()
|
<ROUTINE PRE-BURN ()
|
||||||
<COND (<FLAMING? ,PRSI>
|
<COND (<NOT ,PRSI>
|
||||||
|
<TELL-NO-PRSI>)
|
||||||
|
(<FLAMING? ,PRSI>
|
||||||
<RFALSE>)
|
<RFALSE>)
|
||||||
(T
|
(T
|
||||||
<TELL "With a " D ,PRSI "??!?" CR>)>>
|
<TELL "With a " D ,PRSI "??!?" CR>)>>
|
||||||
@@ -251,17 +279,26 @@ Revision ">
|
|||||||
<ROUTINE V-CLIMB-DOWN () <V-CLIMB-UP ,P?DOWN ,PRSO>>
|
<ROUTINE V-CLIMB-DOWN () <V-CLIMB-UP ,P?DOWN ,PRSO>>
|
||||||
|
|
||||||
<ROUTINE V-CLIMB-FOO ()
|
<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 ()
|
<ROUTINE V-CLIMB-ON ()
|
||||||
<COND (<FSET? ,PRSO ,VEHBIT>
|
<COND (<FSET? ,PRSO ,VEHBIT>
|
||||||
<PERFORM ,V?BOARD ,PRSO>
|
%<COND (<==? ,ZORK-NUMBER 3>
|
||||||
|
'<V-CLIMB-UP ,P?UP T>)
|
||||||
|
(ELSE
|
||||||
|
'<PERFORM ,V?BOARD ,PRSO>)>
|
||||||
<RTRUE>)
|
<RTRUE>)
|
||||||
(T
|
(T
|
||||||
<TELL "You can't climb onto the " D ,PRSO "." CR>)>>
|
<TELL "You can't climb onto the " D ,PRSO "." CR>)>>
|
||||||
|
|
||||||
<ROUTINE V-CLIMB-UP ("OPTIONAL" (DIR ,P?UP) (OBJ <>) "AUX" X TX)
|
<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>)>
|
<SET OBJ ,PRSO>)>
|
||||||
<COND (<SET TX <GETPT ,HERE .DIR>>
|
<COND (<SET TX <GETPT ,HERE .DIR>>
|
||||||
<COND (.OBJ
|
<COND (.OBJ
|
||||||
@@ -280,12 +317,19 @@ Revision ">
|
|||||||
<RTRUE>)>)>
|
<RTRUE>)>)>
|
||||||
<DO-WALK .DIR>
|
<DO-WALK .DIR>
|
||||||
<RTRUE>)
|
<RTRUE>)
|
||||||
(<NOT .OBJ>
|
|
||||||
<TELL "You can't go that way." CR>)
|
|
||||||
(<AND .OBJ
|
(<AND .OBJ
|
||||||
<ZMEMQ ,W?WALL
|
<ZMEMQ ,W?WALL
|
||||||
<SET X <GETPT ,PRSO ,P?SYNONYM>> <PTSIZE .X>>>
|
<SET X <GETPT ,PRSO ,P?SYNONYM>> <PTSIZE .X>>>
|
||||||
<TELL "Climbing the walls is to no avail." CR>)
|
<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
|
(T
|
||||||
<TELL "You can't do that!" CR>)>>
|
<TELL "You can't do that!" CR>)>>
|
||||||
|
|
||||||
@@ -361,15 +405,22 @@ Revision ">
|
|||||||
<ROUTINE V-DIG ()
|
<ROUTINE V-DIG ()
|
||||||
<COND (<NOT ,PRSI>
|
<COND (<NOT ,PRSI>
|
||||||
<SETG PRSI ,HANDS>)>
|
<SETG PRSI ,HANDS>)>
|
||||||
<COND (<EQUAL? ,PRSI ,SHOVEL>
|
%<COND (<==? ,ZORK-NUMBER 1>
|
||||||
<TELL "There's no reason to be digging here." CR>)
|
'<COND (<EQUAL? ,PRSI ,SHOVEL>
|
||||||
(<FSET? ,PRSI ,TOOLBIT>
|
<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>)
|
<TELL "Digging with the " D ,PRSI " is slow and tedious." CR>)
|
||||||
(T
|
(T
|
||||||
<TELL "Digging with a " D ,PRSI " is silly." CR>)>>
|
<TELL "Digging with a " D ,PRSI " is silly." CR>)>>
|
||||||
|
|
||||||
<ROUTINE V-DISEMBARK ()
|
<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>
|
<TELL "You're not in that!" CR>
|
||||||
<RFATAL>)
|
<RFATAL>)
|
||||||
(<FSET? ,HERE ,RLANDBIT>
|
(<FSET? ,HERE ,RLANDBIT>
|
||||||
@@ -444,13 +495,15 @@ Revision ">
|
|||||||
<SET DRINK? T>
|
<SET DRINK? T>
|
||||||
<SET NOBJ <LOC ,PRSO>>
|
<SET NOBJ <LOC ,PRSO>>
|
||||||
<COND (<OR <IN? ,PRSO ,GLOBAL-OBJECTS>
|
<COND (<OR <IN? ,PRSO ,GLOBAL-OBJECTS>
|
||||||
<IN? ,PRSO ,LOCAL-GLOBALS>
|
<GLOBAL-IN? ,GLOBAL-WATER ,HERE>
|
||||||
<EQUAL? ,PRSO ,PSEUDO-OBJECT>>
|
<EQUAL? ,PRSO ,PSEUDO-OBJECT>>
|
||||||
<HIT-SPOT>)
|
<HIT-SPOT>)
|
||||||
(<NOT .NOBJ>
|
(<OR <NOT .NOBJ>
|
||||||
|
<NOT <ACCESSIBLE? .NOBJ>>>
|
||||||
<TELL
|
<TELL
|
||||||
"You don't have any to drink." CR>)
|
"There isn't any water here." CR>)
|
||||||
(<NOT <IN? .NOBJ ,WINNER>>
|
(<AND <ACCESSIBLE? .NOBJ>
|
||||||
|
<NOT <IN? .NOBJ ,WINNER>>>
|
||||||
<TELL
|
<TELL
|
||||||
"You have to be holding the " D .NOBJ " first." CR>)
|
"You have to be holding the " D .NOBJ " first." CR>)
|
||||||
(<NOT <FSET? .NOBJ ,OPENBIT>>
|
(<NOT <FSET? .NOBJ ,OPENBIT>>
|
||||||
@@ -463,10 +516,12 @@ Revision ">
|
|||||||
"I don't think that the " D ,PRSO " would agree with you." CR>)>>
|
"I don't think that the " D ,PRSO " would agree with you." CR>)>>
|
||||||
|
|
||||||
<ROUTINE HIT-SPOT ()
|
<ROUTINE HIT-SPOT ()
|
||||||
|
<COND (<AND <EQUAL? ,PRSO ,WATER>
|
||||||
|
<NOT <GLOBAL-IN? ,GLOBAL-WATER ,HERE>>>
|
||||||
|
<REMOVE-CAREFULLY ,PRSO>)>
|
||||||
<TELL
|
<TELL
|
||||||
"Thank you very much. I was rather thirsty (from all this talking,
|
"Thank you very much. I was rather thirsty (from all this talking,
|
||||||
probably)." CR>
|
probably)." CR>>
|
||||||
<REMOVE-CAREFULLY ,PRSO>>
|
|
||||||
|
|
||||||
<ROUTINE V-ECHO ("AUX" LST MAX (ECH 0) CNT)
|
<ROUTINE V-ECHO ("AUX" LST MAX (ECH 0) CNT)
|
||||||
#DECL ((LST) <PRIMTYPE VECTOR> (MAX CNT ECH) FIX)
|
#DECL ((LST) <PRIMTYPE VECTOR> (MAX CNT ECH) FIX)
|
||||||
@@ -536,7 +591,7 @@ probably)." CR>
|
|||||||
<IN? ,COLLAR ,CERBERUS>>
|
<IN? ,COLLAR ,CERBERUS>>
|
||||||
<SETG SPELL-VICTIM ,CERBERUS>)>
|
<SETG SPELL-VICTIM ,CERBERUS>)>
|
||||||
<TELL
|
<TELL
|
||||||
"The " D ,PRSO " floats serenely in mid-air." CR>)
|
"The " D ,PRSO " floats serenely in midair." CR>)
|
||||||
(<AND <EQUAL? ,SPELL-USED ,W?FRY>
|
(<AND <EQUAL? ,SPELL-USED ,W?FRY>
|
||||||
<FSET? ,PRSO ,TAKEBIT>>
|
<FSET? ,PRSO ,TAKEBIT>>
|
||||||
<SETG SPELL-HANDLED? T>
|
<SETG SPELL-HANDLED? T>
|
||||||
@@ -554,8 +609,7 @@ probably)." CR>
|
|||||||
|
|
||||||
<ROUTINE REMOVE-CAREFULLY (OBJ "AUX" OLIT)
|
<ROUTINE REMOVE-CAREFULLY (OBJ "AUX" OLIT)
|
||||||
<COND (<EQUAL? .OBJ ,P-IT-OBJECT>
|
<COND (<EQUAL? .OBJ ,P-IT-OBJECT>
|
||||||
<SETG P-IT-OBJECT <>>
|
<SETG P-IT-OBJECT <>>)>
|
||||||
<SETG P-IT-LOC <>>)>
|
|
||||||
<SET OLIT ,LIT>
|
<SET OLIT ,LIT>
|
||||||
<REMOVE .OBJ>
|
<REMOVE .OBJ>
|
||||||
<SETG LIT <LIT? ,HERE>>
|
<SETG LIT <LIT? ,HERE>>
|
||||||
@@ -576,20 +630,34 @@ probably)." CR>
|
|||||||
<TELL "There's nothing special about the " D ,PRSO "." CR>)>>
|
<TELL "There's nothing special about the " D ,PRSO "." CR>)>>
|
||||||
|
|
||||||
<ROUTINE V-EXIT ()
|
<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 ()
|
<ROUTINE V-EXORCISE ()
|
||||||
<TELL "What a bizarre concept!" CR>>
|
<TELL "What a bizarre concept!" CR>>
|
||||||
|
|
||||||
<ROUTINE PRE-FILL ("AUX" TX)
|
<ROUTINE PRE-FILL ("AUX" TX)
|
||||||
<COND (<AND <NOT ,PRSI> <SET TX <GETPT ,HERE ,P?GLOBAL>>>
|
<COND (<NOT ,PRSI>
|
||||||
<COND (<ZMEMQB ,GLOBAL-WATER .TX <- <PTSIZE .TX> 1>>
|
<SET TX <GETPT ,HERE ,P?GLOBAL>>
|
||||||
<SETG PRSI ,GLOBAL-WATER>
|
<COND (<AND .TX <ZMEMQB ,GLOBAL-WATER .TX <- <PTSIZE .TX> 1>>>
|
||||||
<RFALSE>)
|
<PERFORM ,V?FILL ,PRSO ,GLOBAL-WATER>
|
||||||
|
<RTRUE>)
|
||||||
|
(<IN? ,WATER <LOC ,WINNER>>
|
||||||
|
<PERFORM ,V?FILL ,PRSO ,WATER>
|
||||||
|
<RTRUE>)
|
||||||
(T
|
(T
|
||||||
<TELL "There is nothing to fill it with." CR>
|
<TELL "There is nothing to fill it with." CR>
|
||||||
<RTRUE>)>)>
|
<RTRUE>)>)>
|
||||||
<COND (<NOT <EQUAL? ,PRSI ,GLOBAL-WATER>>
|
<COND (<EQUAL? ,PRSI ,WATER>
|
||||||
|
<RFALSE>)
|
||||||
|
(<NOT <EQUAL? ,PRSI ,GLOBAL-WATER>>
|
||||||
<PERFORM ,V?PUT ,PRSI ,PRSO>
|
<PERFORM ,V?PUT ,PRSI ,PRSO>
|
||||||
<RTRUE>)>>
|
<RTRUE>)>>
|
||||||
|
|
||||||
@@ -689,17 +757,6 @@ D ,PRSO "." CR>)>)
|
|||||||
<ROUTINE V-INFLATE ()
|
<ROUTINE V-INFLATE ()
|
||||||
<TELL "How can you inflate that?" CR>>
|
<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-KICK () <HACK-HACK "Kicking the ">>
|
||||||
|
|
||||||
<ROUTINE V-KISS ()
|
<ROUTINE V-KISS ()
|
||||||
@@ -737,6 +794,9 @@ D ,PRSO "." CR>)>)
|
|||||||
<SETG LIT <LIT? ,HERE>>
|
<SETG LIT <LIT? ,HERE>>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
<V-LOOK>)>)>)
|
<V-LOOK>)>)>)
|
||||||
|
(<FSET? ,PRSO ,BURNBIT>
|
||||||
|
<TELL
|
||||||
|
"If you wish to burn the " D ,PRSO ", you should say so." CR>)
|
||||||
(T
|
(T
|
||||||
<TELL "You can't turn that on." CR>)>
|
<TELL "You can't turn that on." CR>)>
|
||||||
<RTRUE>>
|
<RTRUE>>
|
||||||
@@ -817,6 +877,11 @@ killing yourself." CR CR>
|
|||||||
<COND (<AND <FIRST? ,PRSO>
|
<COND (<AND <FIRST? ,PRSO>
|
||||||
<PRINT-CONT ,PRSO>>
|
<PRINT-CONT ,PRSO>>
|
||||||
<RTRUE>)
|
<RTRUE>)
|
||||||
|
%<COND (<==? ,ZORK-NUMBER 3>
|
||||||
|
'(<FSET? ,PRSO ,SURFACEBIT>
|
||||||
|
<TELL
|
||||||
|
"There is nothing on the " D ,PRSO "." CR>))
|
||||||
|
(ELSE '(<NULL-F> <RTRUE>))>
|
||||||
(T
|
(T
|
||||||
<TELL "The " D ,PRSO " is empty." CR>)>)
|
<TELL "The " D ,PRSO " is empty." CR>)>)
|
||||||
(T
|
(T
|
||||||
@@ -937,13 +1002,21 @@ by knocking down the wall on the east of the room." CR>
|
|||||||
(T
|
(T
|
||||||
<TELL "You're not in anything!" CR>)>))
|
<TELL "You're not in anything!" CR>)>))
|
||||||
(T '(<NULL-F> T))>
|
(T '(<NULL-F> T))>
|
||||||
|
(<FSET? <LOC ,WINNER> ,VEHBIT>
|
||||||
|
<PERFORM ,V?THROW ,PRSO>
|
||||||
|
<RTRUE>)
|
||||||
(T
|
(T
|
||||||
<TELL "Huh?" CR>)>>
|
<TELL "Huh?" CR>)>>
|
||||||
|
|
||||||
<ROUTINE V-PICK () <TELL "You can't pick that." CR>>
|
<ROUTINE V-PICK () <TELL "You can't pick that." CR>>
|
||||||
|
|
||||||
<ROUTINE V-PLAY ()
|
<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 ()
|
<ROUTINE V-PLUG ()
|
||||||
<TELL "This has no effect." CR>>
|
<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>
|
<REMOVE-CAREFULLY ,PRSO>
|
||||||
<COND (<FLAMING? ,PRSI>
|
<COND (<FLAMING? ,PRSI>
|
||||||
<TELL "The " D ,PRSI " is extinguished." CR>
|
<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 ,ONBIT>
|
||||||
<FCLEAR ,PRSI ,FLAMEBIT>)
|
<FCLEAR ,PRSI ,FLAMEBIT>)
|
||||||
(T
|
(T
|
||||||
@@ -1099,8 +1176,7 @@ by knocking down the wall on the east of the room." CR>
|
|||||||
<SETG P-CONT <>>
|
<SETG P-CONT <>>
|
||||||
<COND (<EQUAL? ,HERE ,MSTAIRS>
|
<COND (<EQUAL? ,HERE ,MSTAIRS>
|
||||||
<CRLF>
|
<CRLF>
|
||||||
<GOTO ,FRONT-DOOR>
|
<GOTO ,FRONT-DOOR>)
|
||||||
<RTRUE>)
|
|
||||||
(T
|
(T
|
||||||
<TELL "Nothing happens." CR>)>
|
<TELL "Nothing happens." CR>)>
|
||||||
<RTRUE>)>)
|
<RTRUE>)>)
|
||||||
@@ -1108,14 +1184,14 @@ by knocking down the wall on the east of the room." CR>
|
|||||||
'<COND (<NOT ,P-CONT>
|
'<COND (<NOT ,P-CONT>
|
||||||
<TELL "Say what?" CR>
|
<TELL "Say what?" CR>
|
||||||
<RTRUE>)>)>
|
<RTRUE>)>)>
|
||||||
|
<SETG QUOTE-FLAG <>>
|
||||||
<COND (<SET V <FIND-IN ,HERE ,ACTORBIT>>
|
<COND (<SET V <FIND-IN ,HERE ,ACTORBIT>>
|
||||||
<TELL "You must address the " D .V " directly." CR>
|
<TELL "You must address the " D .V " directly." CR>
|
||||||
<SETG P-CONT <>>)
|
<SETG P-CONT <>>)
|
||||||
(<NOT <EQUAL? <GET ,P-LEXV ,P-CONT> ,W?HELLO>>
|
(<NOT <EQUAL? <GET ,P-LEXV ,P-CONT> ,W?HELLO>>
|
||||||
<SETG P-CONT <>>
|
<SETG P-CONT <>>
|
||||||
<TELL
|
<TELL
|
||||||
"Talking to yourself is a sign of impending mental collapse." CR>)>
|
"Talking to yourself is a sign of impending mental collapse." CR>)>
|
||||||
<SETG QUOTE-FLAG <>>
|
|
||||||
<RTRUE>>
|
<RTRUE>>
|
||||||
|
|
||||||
<ROUTINE V-SEARCH ()
|
<ROUTINE V-SEARCH ()
|
||||||
@@ -1143,8 +1219,11 @@ by knocking down the wall on the east of the room." CR>
|
|||||||
<COND (<FSET? ,PRSO ,OPENBIT>
|
<COND (<FSET? ,PRSO ,OPENBIT>
|
||||||
<COND (<FIRST? ,PRSO>
|
<COND (<FIRST? ,PRSO>
|
||||||
<SHAKE-LOOP>
|
<SHAKE-LOOP>
|
||||||
<TELL "The contents of the " D, PRSO " spills ">
|
<TELL "The contents of the " D, PRSO " spill ">
|
||||||
<COND (<NOT <FSET? ,HERE ,RLANDBIT>>
|
<COND (%<COND (<==? ,ZORK-NUMBER 3>
|
||||||
|
'<FSET? ,HERE ,NONLANDBIT>)
|
||||||
|
(ELSE
|
||||||
|
'<NOT <FSET? ,HERE ,RLANDBIT>>)>
|
||||||
<TELL "out and disappears">)
|
<TELL "out and disappears">)
|
||||||
(T
|
(T
|
||||||
<TELL "to the ground">)>
|
<TELL "to the ground">)>
|
||||||
@@ -1247,7 +1326,7 @@ D ,PRSO " with a weapon." CR>)
|
|||||||
<==? ,ZORK-NUMBER 2>>
|
<==? ,ZORK-NUMBER 2>>
|
||||||
'(<GLOBAL-IN? ,GLOBAL-WATER ,HERE>
|
'(<GLOBAL-IN? ,GLOBAL-WATER ,HERE>
|
||||||
<TELL "Swimming isn't usually allowed in the ">
|
<TELL "Swimming isn't usually allowed in the ">
|
||||||
<COND (,PRSO
|
<COND (<NOT <EQUAL? ,PRSO ,WATER ,GLOBAL-WATER>>
|
||||||
<TELL D ,PRSO ".">)
|
<TELL D ,PRSO ".">)
|
||||||
(T
|
(T
|
||||||
<TELL "dungeon.">)>
|
<TELL "dungeon.">)>
|
||||||
@@ -1285,8 +1364,14 @@ D ,PRSO " with a weapon." CR>)
|
|||||||
(,PRSI
|
(,PRSI
|
||||||
<COND (<EQUAL? ,PRSI ,GROUND>
|
<COND (<EQUAL? ,PRSI ,GROUND>
|
||||||
<SETG PRSI <>>
|
<SETG PRSI <>>
|
||||||
<RFALSE>)
|
<RFALSE>)>
|
||||||
(<NOT <EQUAL? ,PRSI <LOC ,PRSO>>>
|
%<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>)
|
<TELL "The " D ,PRSO " isn't in the " D ,PRSI "." CR>)
|
||||||
(T
|
(T
|
||||||
<SETG PRSI <>>
|
<SETG PRSI <>>
|
||||||
@@ -1308,7 +1393,7 @@ D ,PRSO " with a weapon." CR>)
|
|||||||
<SETG HERE <LOC ,WINNER>>)
|
<SETG HERE <LOC ,WINNER>>)
|
||||||
(T
|
(T
|
||||||
<TELL "The " D ,PRSO
|
<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>)>)
|
the manual." CR>)>)
|
||||||
(T
|
(T
|
||||||
<TELL "You can't talk to the " D ,PRSO "!" CR>
|
<TELL "You can't talk to the " D ,PRSO "!" CR>
|
||||||
@@ -1318,52 +1403,40 @@ the manual." CR>)>)
|
|||||||
|
|
||||||
<ROUTINE V-THROUGH ("OPTIONAL" (OBJ <>) "AUX" M)
|
<ROUTINE V-THROUGH ("OPTIONAL" (OBJ <>) "AUX" M)
|
||||||
#DECL ((OBJ) <OR OBJECT FALSE> (M) <PRIMTYPE VECTOR>)
|
#DECL ((OBJ) <OR OBJECT FALSE> (M) <PRIMTYPE VECTOR>)
|
||||||
<COND (<FSET? ,PRSO ,DOORBIT>
|
<COND (<AND <FSET? ,PRSO ,DOORBIT>
|
||||||
<DO-WALK <OTHER-SIDE ,PRSO>>
|
<SET M <OTHER-SIDE ,PRSO>>>
|
||||||
|
<DO-WALK .M>
|
||||||
<RTRUE>)
|
<RTRUE>)
|
||||||
(<AND <NOT .OBJ> <FSET? ,PRSO ,VEHBIT>>
|
(<AND <NOT .OBJ> <FSET? ,PRSO ,VEHBIT>>
|
||||||
<PERFORM ,V?BOARD ,PRSO>
|
<PERFORM ,V?BOARD ,PRSO>
|
||||||
<RTRUE>)
|
<RTRUE>)
|
||||||
(<AND <NOT .OBJ> <NOT <FSET? ,PRSO ,TAKEBIT>>>
|
(<OR .OBJ <NOT <FSET? ,PRSO ,TAKEBIT>>>
|
||||||
<COND %<COND (<==? ,ZORK-NUMBER 2>
|
%<COND (<==? ,ZORK-NUMBER 2>
|
||||||
'(<AND ,SCOL-ROOM
|
'<COND (<AND ,SCOL-ROOM
|
||||||
<OR .OBJ <EQUAL? ,PRSO ,CURTAIN>>>
|
<OR .OBJ <EQUAL? ,PRSO ,CURTAIN>>>
|
||||||
<SCOL-GO .OBJ>
|
<SCOL-GO .OBJ>
|
||||||
<RTRUE>))
|
<RTRUE>)
|
||||||
(T
|
(<AND <EQUAL? ,HERE ,DEPOSITORY>
|
||||||
'(<NULL-F> <RTRUE>))>
|
<EQUAL? ,PRSO ,SNWL>
|
||||||
%<COND (<==? ,ZORK-NUMBER 2>
|
,SCOL-ROOM>
|
||||||
'(<AND <EQUAL? ,HERE ,DEPOSITORY>
|
<SCOL-GO .OBJ>
|
||||||
<EQUAL? ,PRSO ,SNWL>
|
<RTRUE>)
|
||||||
,SCOL-ROOM>
|
(<AND <EQUAL? ,HERE ,SCOL-ACTIVE>
|
||||||
<SCOL-GO .OBJ>
|
<EQUAL? ,PRSO
|
||||||
<RTRUE>))
|
<GET <SET M <GET-WALL ,HERE>> 1>>>
|
||||||
(T
|
<SETG SCOL-ROOM <GET .M 2>>
|
||||||
'(<NULL-F> <RTRUE>))>
|
<SETG PRSO <GETP ,PRSO ,P?SIZE>>
|
||||||
%<COND (<==? ,ZORK-NUMBER 2>
|
<COND (.OBJ <SCOL-OBJ .OBJ 0 ,DEPOSITORY>)
|
||||||
'(<AND <EQUAL? ,HERE ,SCOL-ACTIVE>
|
(T
|
||||||
<EQUAL? ,PRSO
|
<SCOL-THROUGH 0 ,DEPOSITORY>)>
|
||||||
<GET <SET M <GET-WALL ,HERE>> 1>>>
|
<RTRUE>)
|
||||||
<SETG SCOL-ROOM <GET .M 2>>
|
(<EQUAL? ,PRSO ,CURTAIN>
|
||||||
<SETG PRSO <GETP ,PRSO ,P?SIZE>>
|
<TELL
|
||||||
<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
|
|
||||||
"You can't go more than part way through the curtain." CR>
|
"You can't go more than part way through the curtain." CR>
|
||||||
<RTRUE>))
|
<RTRUE>)>)
|
||||||
(T
|
(ELSE '<NULL-F>)>
|
||||||
'(<NULL-F> <RTRUE>))>
|
<TELL
|
||||||
(T
|
"You hit your head against the " D ,PRSO " as you attempt this feat." CR>)
|
||||||
<TELL
|
|
||||||
"You hit your head against the " D ,PRSO " as you attempt this feat." CR>)>)
|
|
||||||
(.OBJ
|
|
||||||
<TELL "You can't do that!" CR>)
|
|
||||||
(<IN? ,PRSO ,WINNER>
|
(<IN? ,PRSO ,WINNER>
|
||||||
<TELL "That would involve quite a contortion!" CR>)
|
<TELL "That would involve quite a contortion!" CR>)
|
||||||
(T
|
(T
|
||||||
@@ -1374,15 +1447,17 @@ the manual." CR>)>)
|
|||||||
<COND (<EQUAL? ,PRSI ,ME>
|
<COND (<EQUAL? ,PRSI ,ME>
|
||||||
<TELL
|
<TELL
|
||||||
"A terrific throw! The " D ,PRSO>
|
"A terrific throw! The " D ,PRSO>
|
||||||
|
<SETG WINNER ,PLAYER>
|
||||||
<JIGS-UP " hits you squarely in the head. Normally,
|
<JIGS-UP " hits you squarely in the head. Normally,
|
||||||
this wouldn't do much damage, but by incredible mischance, you fall over
|
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
|
backwards trying to duck, and break your neck, justice being swift and
|
||||||
merciful in the Great Underground Empire.">)
|
merciful in the Great Underground Empire.">)
|
||||||
(<FSET? ,PRSI ,ACTORBIT>
|
(<AND ,PRSI <FSET? ,PRSI ,ACTORBIT>>
|
||||||
<TELL
|
<TELL
|
||||||
"The " D ,PRSI " ducks as the " D ,PRSO " flies by and crashes to the ground."
|
"The " D ,PRSI " ducks as the " D ,PRSO " flies by and crashes to the ground."
|
||||||
CR>)
|
CR>)
|
||||||
(T <TELL "Thrown." CR>)>)>>
|
(T <TELL "Thrown." CR>)>)
|
||||||
|
(ELSE <TELL "Huh?" CR>)>>
|
||||||
|
|
||||||
<ROUTINE V-THROW-OFF ()
|
<ROUTINE V-THROW-OFF ()
|
||||||
<TELL "You can't throw anything off of that!" CR>>
|
<TELL "You can't throw anything off of that!" CR>>
|
||||||
@@ -1411,7 +1486,20 @@ CR>)
|
|||||||
<TELL "Nothing happens." CR>)>>
|
<TELL "Nothing happens." CR>)>>
|
||||||
|
|
||||||
<ROUTINE PRE-TURN ()
|
<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>)>>
|
<TELL "You can't turn that!" CR>)>>
|
||||||
|
|
||||||
<ROUTINE V-TURN ()
|
<ROUTINE V-TURN ()
|
||||||
@@ -1471,6 +1559,7 @@ CR>)
|
|||||||
<RFATAL>)>)>)
|
<RFATAL>)>)>)
|
||||||
(<AND <NOT ,LIT>
|
(<AND <NOT ,LIT>
|
||||||
<PROB 80>
|
<PROB 80>
|
||||||
|
<EQUAL? ,WINNER ,ADVENTURER>
|
||||||
<NOT <FSET? ,HERE ,NONLANDBIT>>>
|
<NOT <FSET? ,HERE ,NONLANDBIT>>>
|
||||||
<COND (,SPRAYED?
|
<COND (,SPRAYED?
|
||||||
<TELL
|
<TELL
|
||||||
@@ -1495,8 +1584,9 @@ direction." CR>
|
|||||||
<TELL "Use compass directions for movement." CR>>
|
<TELL "Use compass directions for movement." CR>>
|
||||||
|
|
||||||
<ROUTINE V-WALK-TO ()
|
<ROUTINE V-WALK-TO ()
|
||||||
<COND (<OR <IN? ,PRSO ,HERE>
|
<COND (<AND ,PRSO
|
||||||
<GLOBAL-IN? ,PRSO ,HERE>>
|
<OR <IN? ,PRSO ,HERE>
|
||||||
|
<GLOBAL-IN? ,PRSO ,HERE>>>
|
||||||
<TELL "It's here!" CR>)
|
<TELL "It's here!" CR>)
|
||||||
(T
|
(T
|
||||||
<TELL "You should supply a direction!" CR>)>>
|
<TELL "You should supply a direction!" CR>)>>
|
||||||
@@ -1556,7 +1646,7 @@ direction." CR>
|
|||||||
detect a dim light from the east." CR>)>)
|
detect a dim light from the east." CR>)>)
|
||||||
(T
|
(T
|
||||||
'<NULL-F>)>
|
'<NULL-F>)>
|
||||||
<RETURN <>>)>
|
<RFALSE>)>
|
||||||
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
||||||
<FSET ,HERE ,TOUCHBIT>
|
<FSET ,HERE ,TOUCHBIT>
|
||||||
<SET V? T>)>
|
<SET V? T>)>
|
||||||
@@ -1571,7 +1661,10 @@ detect a dim light from the east." CR>)>)
|
|||||||
<COND (<FSET? <SET AV <LOC ,WINNER>> ,VEHBIT>
|
<COND (<FSET? <SET AV <LOC ,WINNER>> ,VEHBIT>
|
||||||
<TELL ", in the " D .AV>)>
|
<TELL ", in the " D .AV>)>
|
||||||
<CRLF>)>
|
<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>>
|
<SET AV <LOC ,WINNER>>
|
||||||
;<COND (<FSET? .AV ,VEHBIT>
|
;<COND (<FSET? .AV ,VEHBIT>
|
||||||
<TELL "(You are in the " D .AV ".)" CR>)>
|
<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>
|
<TELL "A " D .OBJ>
|
||||||
<COND (<FSET? .OBJ ,ONBIT>
|
<COND (<FSET? .OBJ ,ONBIT>
|
||||||
<TELL " (providing light)">)
|
<TELL " (providing light)">)
|
||||||
(<FSET? .OBJ ,WEARBIT>
|
(<AND <FSET? .OBJ ,WEARBIT>
|
||||||
|
<IN? .OBJ ,WINNER>>
|
||||||
<TELL " (being worn)">)>)>
|
<TELL " (being worn)">)>)>
|
||||||
%<COND (<==? ,ZORK-NUMBER 2>
|
%<COND (<==? ,ZORK-NUMBER 2>
|
||||||
'<COND (<AND <EQUAL? .OBJ ,SPELL-VICTIM>
|
'<COND (<AND <EQUAL? .OBJ ,SPELL-VICTIM>
|
||||||
@@ -1665,8 +1759,19 @@ long description (fdesc or ldesc), otherwise will print short."
|
|||||||
<SET INV? T>)
|
<SET INV? T>)
|
||||||
(ELSE
|
(ELSE
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
<COND (<NOT .Y>
|
<COND %<COND (<==? ,ZORK-NUMBER 2>
|
||||||
<RETURN>)
|
'(<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 .AV> <SET PV? T>)
|
||||||
(<EQUAL? .Y ,WINNER>)
|
(<EQUAL? .Y ,WINNER>)
|
||||||
(<AND <NOT <FSET? .Y ,INVISIBLE>>
|
(<AND <NOT <FSET? .Y ,INVISIBLE>>
|
||||||
@@ -1705,7 +1810,8 @@ long description (fdesc or ldesc), otherwise will print short."
|
|||||||
<DESCRIBE-OBJECT .Y .V? .LEVEL>)
|
<DESCRIBE-OBJECT .Y .V? .LEVEL>)
|
||||||
(<AND <FIRST? .Y> <SEE-INSIDE? .Y>>
|
(<AND <FIRST? .Y> <SEE-INSIDE? .Y>>
|
||||||
<SET LEVEL <+ .LEVEL 1>> ;"not in Zork III"
|
<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>>>
|
<SET Y <NEXT? .Y>>>
|
||||||
<COND (<AND .1ST? .SHIT> <RFALSE>) (T <RTRUE>)>>
|
<COND (<AND .1ST? .SHIT> <RFALSE>) (T <RTRUE>)>>
|
||||||
|
|
||||||
@@ -1763,10 +1869,6 @@ for the final secret.\"" CR>)>)
|
|||||||
<SCORE-UPD .TEMP>
|
<SCORE-UPD .TEMP>
|
||||||
<PUTP .OBJ ,P?VALUE 0>)>>
|
<PUTP .OBJ ,P?VALUE 0>)>>
|
||||||
|
|
||||||
<ROUTINE FINISH ()
|
|
||||||
<V-SCORE>
|
|
||||||
<QUIT>>
|
|
||||||
|
|
||||||
<ROUTINE YES? ()
|
<ROUTINE YES? ()
|
||||||
<PRINTI ">">
|
<PRINTI ">">
|
||||||
<READ ,P-INBUF ,P-LEXV>
|
<READ ,P-INBUF ,P-LEXV>
|
||||||
@@ -1844,6 +1946,7 @@ for the final secret.\"" CR>)>)
|
|||||||
<RFALSE>)
|
<RFALSE>)
|
||||||
(T
|
(T
|
||||||
<MOVE ,PRSO ,WINNER>
|
<MOVE ,PRSO ,WINNER>
|
||||||
|
<FCLEAR ,PRSO ,NDESCBIT>
|
||||||
<FSET ,PRSO ,TOUCHBIT>
|
<FSET ,PRSO ,TOUCHBIT>
|
||||||
%<COND (<==? ,ZORK-NUMBER 2>
|
%<COND (<==? ,ZORK-NUMBER 2>
|
||||||
'<COND (<EQUAL? ,SPELL? ,S-FILCH>
|
'<COND (<EQUAL? ,SPELL? ,S-FILCH>
|
||||||
@@ -1910,7 +2013,8 @@ for the final secret.\"" CR>)>)
|
|||||||
<CONSTANT DEXITSTR 1>
|
<CONSTANT DEXITSTR 1>
|
||||||
|
|
||||||
<GLOBAL INDENTS
|
<GLOBAL INDENTS
|
||||||
<TABLE ""
|
<TABLE (PURE)
|
||||||
|
""
|
||||||
" "
|
" "
|
||||||
" "
|
" "
|
||||||
" "
|
" "
|
||||||
@@ -1940,8 +2044,9 @@ for the final secret.\"" CR>)>)
|
|||||||
|
|
||||||
<ROUTINE GOTO (RM "OPTIONAL" (V? T)
|
<ROUTINE GOTO (RM "OPTIONAL" (V? T)
|
||||||
"AUX" (LB <FSET? .RM ,RLANDBIT>) (WLOC <LOC ,WINNER>)
|
"AUX" (LB <FSET? .RM ,RLANDBIT>) (WLOC <LOC ,WINNER>)
|
||||||
(AV <>) OLIT)
|
(AV <>) OLIT OHERE)
|
||||||
<SET OLIT ,LIT>
|
<SET OLIT ,LIT>
|
||||||
|
<SET OHERE ,HERE>
|
||||||
<COND (<FSET? .WLOC ,VEHBIT>
|
<COND (<FSET? .WLOC ,VEHBIT>
|
||||||
<SET AV <GETP .WLOC ,P?VTYPE>>)>
|
<SET AV <GETP .WLOC ,P?VTYPE>>)>
|
||||||
<COND (<AND <NOT .LB>
|
<COND (<AND <NOT .LB>
|
||||||
@@ -1967,8 +2072,20 @@ for the final secret.\"" CR>)>)
|
|||||||
<NOT <FSET? ,HERE ,RLANDBIT>>
|
<NOT <FSET? ,HERE ,RLANDBIT>>
|
||||||
<NOT ,DEAD>
|
<NOT ,DEAD>
|
||||||
<FSET? .WLOC ,VEHBIT>>
|
<FSET? .WLOC ,VEHBIT>>
|
||||||
<TELL
|
%<COND (<==? ,ZORK-NUMBER 1>
|
||||||
"The " D .WLOC " comes to a rest on the shore." CR CR>)>
|
'<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
|
<COND (.AV
|
||||||
<MOVE .WLOC .RM>)
|
<MOVE .WLOC .RM>)
|
||||||
(T
|
(T
|
||||||
@@ -2004,18 +2121,21 @@ stumbled into an authentic grue lair!">))
|
|||||||
<APPLY <GETP ,HERE ,P?ACTION> ,M-ENTER>
|
<APPLY <GETP ,HERE ,P?ACTION> ,M-ENTER>
|
||||||
<SCORE-OBJ .RM>
|
<SCORE-OBJ .RM>
|
||||||
<COND (<NOT <EQUAL? ,HERE .RM>> <RTRUE>)
|
<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>)
|
<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>)>>
|
<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>))
|
<ROUTINE LKP (ITM TBL "AUX" (CNT 0) (LEN <GET .TBL 0>))
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
<COND (<G? <SET CNT <+ .CNT 1>> .LEN>
|
<COND (<G? <SET CNT <+ .CNT 1>> .LEN>
|
||||||
@@ -2029,11 +2149,6 @@ stumbled into an authentic grue lair!">))
|
|||||||
<SETG P-WALK-DIR .DIR>
|
<SETG P-WALK-DIR .DIR>
|
||||||
<PERFORM ,V?WALK .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)
|
<ROUTINE GLOBAL-IN? (OBJ1 OBJ2 "AUX" TX)
|
||||||
<COND (<SET TX <GETPT .OBJ2 ,P?GLOBAL>>
|
<COND (<SET TX <GETPT .OBJ2 ,P?GLOBAL>>
|
||||||
<ZMEMQB .OBJ1 .TX <- <PTSIZE .TX> 1>>)>>
|
<ZMEMQB .OBJ1 .TX <- <PTSIZE .TX> 1>>)>>
|
||||||
@@ -2049,11 +2164,6 @@ stumbled into an authentic grue lair!">))
|
|||||||
(<NOT <SET W <NEXT? .W>>>
|
(<NOT <SET W <NEXT? .W>>>
|
||||||
<RETURN <>>)>>>
|
<RETURN <>>)>>>
|
||||||
|
|
||||||
|
|
||||||
<ROUTINE IN-HERE? (OBJ)
|
|
||||||
<OR <IN? .OBJ ,HERE>
|
|
||||||
<GLOBAL-IN? .OBJ ,HERE>>>
|
|
||||||
|
|
||||||
<ROUTINE HELD? (CAN)
|
<ROUTINE HELD? (CAN)
|
||||||
<REPEAT ()
|
<REPEAT ()
|
||||||
<SET CAN <LOC .CAN>>
|
<SET CAN <LOC .CAN>>
|
||||||
@@ -2071,15 +2181,19 @@ stumbled into an authentic grue lair!">))
|
|||||||
<RETURN .P>)>)>>>
|
<RETURN .P>)>)>>>
|
||||||
|
|
||||||
<ROUTINE MUNG-ROOM (RM STR)
|
<ROUTINE MUNG-ROOM (RM STR)
|
||||||
|
%<COND (<==? ,ZORK-NUMBER 2>
|
||||||
|
'<COND (<EQUAL? .RM ,INSIDE-BARROW>
|
||||||
|
<RFALSE>)>)
|
||||||
|
(ELSE T)>
|
||||||
<FSET .RM ,RMUNGBIT>
|
<FSET .RM ,RMUNGBIT>
|
||||||
<PUTP .RM ,P?LDESC .STR>>
|
<PUTP .RM ,P?LDESC .STR>>
|
||||||
|
|
||||||
<ROUTINE THIS-IS-IT (OBJ)
|
<ROUTINE THIS-IS-IT (OBJ)
|
||||||
<SETG P-IT-OBJECT .OBJ>
|
<SETG P-IT-OBJECT .OBJ>>
|
||||||
<SETG P-IT-LOC ,HERE>>
|
|
||||||
|
|
||||||
<GLOBAL SWIMYUKS
|
<COND (<N==? ,ZORK-NUMBER 3>
|
||||||
<LTABLE 0 "You can't swim in the dungeon.">>
|
<GLOBAL SWIMYUKS
|
||||||
|
<LTABLE 0 "You can't swim in the dungeon.">>)>
|
||||||
|
|
||||||
<GLOBAL HELLOS
|
<GLOBAL HELLOS
|
||||||
<LTABLE 0 "Hello."
|
<LTABLE 0 "Hello."
|
||||||
|
|||||||
2111
parser.cmp
Normal file
2111
parser.cmp
Normal file
File diff suppressed because it is too large
Load Diff
2
zork1.chart
Normal file
2
zork1.chart
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
-date- -rel- -size- -pre- -obj- -glo- -voc-
|
||||||
|
4/29 119 86838 19284 250 155 684
|
||||||
35
zork1.errors
Normal file
35
zork1.errors
Normal file
@@ -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
|
||||||
632
zork1.record
Normal file
632
zork1.record
Normal file
@@ -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
|
||||||
1
zork1.serial
Normal file
1
zork1.serial
Normal file
@@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
47
zork1.zil
47
zork1.zil
@@ -2,55 +2,32 @@
|
|||||||
Zork I: The Great Underground Empire
|
Zork I: The Great Underground Empire
|
||||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved."
|
(c) Copyright 1983 Infocom, Inc. All Rights Reserved."
|
||||||
|
|
||||||
|
<VERSION ZIP>
|
||||||
|
|
||||||
<SETG ZORK-NUMBER 1>
|
<SETG ZORK-NUMBER 1>
|
||||||
|
|
||||||
<GC 0 T 5>
|
|
||||||
|
|
||||||
<BLOAT 70000 0 0 2700 0 0 0 0 0 256>
|
|
||||||
|
|
||||||
<SET REDEFINE T>
|
<SET REDEFINE T>
|
||||||
|
|
||||||
<GLOBAL BIGFIX 10000>
|
|
||||||
|
|
||||||
<OR <GASSIGNED? ZILCH>
|
<OR <GASSIGNED? ZILCH>
|
||||||
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
||||||
|
|
||||||
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
|
|
||||||
<INSERT-FILE .STR .FLOAD?>>
|
|
||||||
|
|
||||||
<PRINC "Renovated ZORK I: The Great Underground Empire
|
<PRINC "Renovated ZORK I: The Great Underground Empire
|
||||||
">
|
">
|
||||||
|
|
||||||
<OR <GASSIGNED? INSERT-CRUFTY>
|
<FREQUENT-WORDS?>
|
||||||
<DEFINE INSERT-CRUFTY (STR) <INSERT-FILE .STR T>>>
|
|
||||||
|
|
||||||
<COND (<GASSIGNED? PREDGEN>
|
<INSERT-FILE "GMACROS" T>
|
||||||
<ID 0>)>
|
<INSERT-FILE "GSYNTAX" T>
|
||||||
|
<INSERT-FILE "1DUNGEON" T>
|
||||||
<IFILE "GMACROS" T>
|
<INSERT-FILE "GGLOBALS" T>
|
||||||
|
|
||||||
<IFILE "GSYNTAX" T>
|
|
||||||
<IFILE "1DUNGEON" T>
|
|
||||||
<IFILE "GGLOBALS" T>
|
|
||||||
|
|
||||||
<PROPDEF SIZE 5>
|
<PROPDEF SIZE 5>
|
||||||
<PROPDEF CAPACITY 0>
|
<PROPDEF CAPACITY 0>
|
||||||
<PROPDEF VALUE 0>
|
<PROPDEF VALUE 0>
|
||||||
<PROPDEF TVALUE 0>
|
<PROPDEF TVALUE 0>
|
||||||
|
|
||||||
<IFILE "GCLOCK" T>
|
<INSERT-FILE "GCLOCK" T>
|
||||||
<IFILE "GMAIN" T>
|
<INSERT-FILE "GMAIN" T>
|
||||||
<IFILE "GPARSER" T>
|
<INSERT-FILE "GPARSER" T>
|
||||||
<IFILE "GVERBS" T>
|
<INSERT-FILE "GVERBS" T>
|
||||||
<IFILE "1ACTIONS" T>
|
<INSERT-FILE "1ACTIONS" T>
|
||||||
|
|
||||||
<GC 0 T>
|
|
||||||
|
|
||||||
<DEFINE CNT (STR OBL)
|
|
||||||
<PRINC .STR>
|
|
||||||
<PRIN1 <MAPF ,+ ,LENGTH .OBL>>
|
|
||||||
<CRLF>>
|
|
||||||
|
|
||||||
<COND (<NOT <GASSIGNED? PREDGEN>>
|
|
||||||
<GC-MON T>)>
|
|
||||||
|
|
||||||
|
|||||||
200
zork1freq.xzap
Normal file
200
zork1freq.xzap
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user