mirror of
https://github.com/historicalsource/infidel
synced 2024-04-26 22:19:31 +03:00
Final Revision
This commit is contained in:
parent
fa9390b02c
commit
5f9e044602
73
a1.zil
Normal file
73
a1.zil
Normal file
|
@ -0,0 +1,73 @@
|
|||
"
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<SNAME "INFIDEL">
|
||||
|
||||
<GC-MON <>>
|
||||
;<COND (<GASSIGNED? ZILCH> <GC 0 T>)
|
||||
(T <GC 0 T 5>)>
|
||||
<GC 0 T 5>
|
||||
|
||||
<BLOAT 90000 0 0 3500 0 0 0 0 0 512>
|
||||
|
||||
;<SETG SHORT-STRINGS 2>
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<GLOBAL BIGFIX 10000>
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !\= !,WBREAKS>>>
|
||||
|
||||
<OR <GASSIGNED? INSERT-CRUFTY>
|
||||
<DEFINE INSERT-CRUFTY (STR) <IFILE .STR T>>>
|
||||
|
||||
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
|
||||
<INSERT-FILE .STR .FLOAD?>>
|
||||
|
||||
<PRINC "INFIDEL: Interlogic Adventure Fiction
|
||||
">
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<ID 0>)>
|
||||
|
||||
<IFILE "MACROS" T>
|
||||
|
||||
<IFILE "GLOBALS" T>
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
||||
<PROPDEF VALUE 0>
|
||||
|
||||
<IFILE "SYNTAX" T>
|
||||
<ENDLOAD>
|
||||
|
||||
<IFILE "CLOCK" T>
|
||||
<IFILE "MAIN" T>
|
||||
<IFILE "PARSER" T>
|
||||
<INSERT-CRUFTY "CRUFTY">
|
||||
<IFILE "VERBS" T>
|
||||
|
||||
|
||||
|
||||
;"MIKE: Add your files here, as with ROBOTS"
|
||||
|
||||
<IFILE "INTERRUPTS" T>
|
||||
<IFILE "RA" T>
|
||||
<IFILE "ANTE" T>
|
||||
<IFILE "DIAMOND" T>
|
||||
<IFILE "BARGE" T>
|
||||
<IFILE "CUBE" T>
|
||||
<IFILE "CAMP" T>
|
||||
<IFILE "TEMPLE" T>
|
||||
|
||||
<PRINC "INFIDEL: Interlogic Adventure Fiction
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Get ready!">
|
55
ante.zil
55
ante.zil
|
@ -783,14 +783,16 @@ into the walls, one on either side of the passageway.")
|
|||
(DESC "plaster")
|
||||
(SYNONYM PLASTE)
|
||||
(SIZE 5)
|
||||
(TEXT
|
||||
"Some hieroglyphics on the plaster say:|
|
||||
|
|
||||
*-> # !!! :: ...> .-")
|
||||
(ACTION PLASTER1-FCN)>
|
||||
|
||||
<ROUTINE PLASTER1-FCN ()
|
||||
<COND (<VERB? TAKE MUNG ATTACK>
|
||||
<COND (<VERB? EXAMINE READ>
|
||||
<TELL
|
||||
"Some hieroglyphics on the plaster say:|
|
||||
">
|
||||
<PLASTER1-GLYPHS>
|
||||
<RTRUE>)
|
||||
(<VERB? TAKE MUNG ATTACK>
|
||||
<COND (<NOT ,PRSI>
|
||||
<COND (<IN? ,PICK-AXE ,WINNER>
|
||||
<SETG PRSI ,PICK-AXE>)
|
||||
|
@ -1219,7 +1221,17 @@ far enough above the surface of the table to activate a mechanism. You hear it
|
|||
click just before the ceiling comes down to meet the floor.">
|
||||
|
||||
<ROUTINE SCARAB-CHECK-FCN ("AUX" L-W R-W (L-OBJ <>) (R-OBJ <>))
|
||||
<COND (<VERB? TAKE>
|
||||
<COND (<VERB? EXAMINE READ>
|
||||
<TELL
|
||||
"Etched onto its back is the following:|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
>*>|
|
||||
">
|
||||
<FIXED-FONT-OFF>
|
||||
<RTRUE>)
|
||||
(<VERB? TAKE>
|
||||
<SETG CAN-TURN-STATUES <>>
|
||||
<SET L-OBJ <FIRST? ,LEFT-DISC>>
|
||||
<SET R-OBJ <FIRST? ,RIGHT-DISC>>
|
||||
|
@ -1269,10 +1281,6 @@ the scarab within the smaller outlined area on the cover." CR>)>
|
|||
(DESC "scarab")
|
||||
(VALUE 10)
|
||||
(SYNONYM SCARAB)
|
||||
(TEXT
|
||||
"Etched onto its back is the following:|
|
||||
|
|
||||
>*>")
|
||||
(SIZE 8)
|
||||
(MAP 3)
|
||||
(ACTION SCARAB-CHECK-FCN)>
|
||||
|
@ -1294,18 +1302,24 @@ the scarab within the smaller outlined area on the cover." CR>)>
|
|||
(SYNONYM PAGE)
|
||||
(FLAGS NDESCBIT READBIT BURNBIT TURNBIT DONTTAKE TRYTAKEBIT)
|
||||
(ACTION PAGE-FCN)
|
||||
(SIZE 1)
|
||||
(TEXT
|
||||
(SIZE 1)>
|
||||
|
||||
<ROUTINE PAGE-FCN ()
|
||||
<COND (<VERB? EXAMINE READ>
|
||||
<TELL
|
||||
"Hieroglyphs can be seen as follows:|
|
||||
|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
= . ! !|
|
||||
<-* # = - # !@! !---!|
|
||||
|
|
||||
. ! !|
|
||||
:: # >*> - # !@! !--!")>
|
||||
|
||||
<ROUTINE PAGE-FCN ()
|
||||
<COND (<VERB? TURN>
|
||||
:: # >*> - # !@! !--!|
|
||||
">
|
||||
<FIXED-FONT-OFF>
|
||||
<RTRUE>)
|
||||
(<VERB? TURN>
|
||||
<TELL "Unnecessary page turning may destroy the book." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? BURN>
|
||||
|
@ -1337,9 +1351,12 @@ referred to, it too has seen better days.")
|
|||
<COND (<NOT <FSET? ,DEAD-BOOK ,OPENBIT>>
|
||||
<TELL
|
||||
"The book isn't open. On the cover is the following, though:|
|
||||
|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
=|
|
||||
=" CR>)
|
||||
=" CR>
|
||||
<FIXED-FONT-OFF>)
|
||||
(T
|
||||
<PERFORM ,V?READ ,PAGE>)>
|
||||
<RTRUE>)
|
||||
|
|
23
barge.zil
23
barge.zil
|
@ -371,11 +371,6 @@ wood. Although only a few feet of it rise above the deck, it was probably used
|
|||
at one time as a mast.")
|
||||
(SYNONYM BEAM MAST)
|
||||
(ADJECTIVE WOODEN STURDY)
|
||||
(TEXT
|
||||
"This wooden beam is made of an extremely hard wood. It's 10 feet long and has
|
||||
a diameter of 12 inches. Scratched into it is the following symbol:|
|
||||
|
|
||||
/!\\")
|
||||
(SIZE 10)
|
||||
(VALUE 15)
|
||||
(ACTION BEAM-FCN)
|
||||
|
@ -598,7 +593,18 @@ the deck with a thud." CR>)>)
|
|||
>>
|
||||
|
||||
<ROUTINE DESCRIBE-BEAM-FCN (RARG "AUX" STR)
|
||||
<COND (<OR <NOT <EQUAL? .RARG ,M-OBJDESC>>
|
||||
<COND (<VERB? EXAMINE READ>
|
||||
<TELL
|
||||
"This wooden beam is made of an extremely hard wood. It's 10 feet long and has
|
||||
a diameter of 12 inches. Scratched into it is the following symbol:|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
/!\\|
|
||||
">
|
||||
<FIXED-FONT-OFF>
|
||||
<RTRUE>)
|
||||
(<OR <NOT <EQUAL? .RARG ,M-OBJDESC>>
|
||||
<NOT ,BEAM-PLACED>>
|
||||
<RFALSE>)
|
||||
(<EQUAL? ,BEAM-PLACED 4> ;"CASE: In N. Ante, beam wedged"
|
||||
|
@ -647,10 +653,13 @@ beam." CR>
|
|||
<RFALSE>)>
|
||||
<TELL
|
||||
"The scroll reads as follows:|
|
||||
|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
*-> <.> <:.> ... <::.>|
|
||||
|
|
||||
:: : ** --->> -) (*)" CR>
|
||||
<FIXED-FONT-OFF>
|
||||
<RTRUE>>
|
||||
|
||||
;<ROUTINE CLEAR-THE-BEAM ("AUX" F N (FLG <>) STR)
|
||||
|
|
48
camp.zil
48
camp.zil
|
@ -846,18 +846,24 @@ crystal-clear lake glimmering on the horizon, just to the north.">>
|
|||
(ADJECTIVE SQUARE)
|
||||
(CAPACITY 5)
|
||||
(MAP 3)
|
||||
(TEXT
|
||||
(ACTION ENTER-OPENING-FCN)>
|
||||
|
||||
<ROUTINE ENTER-OPENING-FCN ()
|
||||
<COND (<VERB? EXAMINE READ>
|
||||
<TELL
|
||||
"The opening sits in the upper right-hand corner of the block. It's a small
|
||||
square opening, about four inches square, far too small for you
|
||||
to enter, and rather shallow. Some hieroglyphs travel across the block,
|
||||
cut off by the opening:|
|
||||
|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
!-! !-!|
|
||||
-> #. ! ! - # ! ! /")
|
||||
(ACTION ENTER-OPENING-FCN)>
|
||||
|
||||
<ROUTINE ENTER-OPENING-FCN ()
|
||||
<COND (<VERB? OPEN CLOSE>
|
||||
-> #. ! ! - # ! ! /|
|
||||
">
|
||||
<FIXED-FONT-OFF>
|
||||
<RTRUE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<HOW? ,PRSO>)
|
||||
(<VERB? THROUGH>
|
||||
<TELL
|
||||
|
@ -1171,7 +1177,7 @@ the dotted line unless you want the manual shipped via alternate shipping.
|
|||
Include your address unless your mailing address and shipping address differ
|
||||
from your postal delivery route. If you are having the manual air-freighted,
|
||||
fill in your airport's zip code unless you're within thirty miles of a large
|
||||
corn field. After checking whether that box has been checked, check it.
|
||||
corn field. After checking whether that box has been checked, check it.|
|
||||
|
|
||||
Before you mail this, be certain you've read the instructions and have filled
|
||||
out all three sides of the form. In case of doubt, contact the Coupon
|
||||
|
@ -1347,11 +1353,6 @@ personality, it has seen better days.")>
|
|||
(IN MAP)
|
||||
(FLAGS TAKEBIT READBIT)
|
||||
(DESC "stone cube")
|
||||
(TEXT
|
||||
"This is a small stone cube, almost four inches on a side, with ancient
|
||||
markings on it. The markings look like this:|
|
||||
|
|
||||
# !@! :: (()) !@! //\\\\")
|
||||
(SYNONYM CUBE)
|
||||
(MAP 3)
|
||||
(ADJECTIVE SMALL STONE)
|
||||
|
@ -1360,7 +1361,18 @@ markings on it. The markings look like this:|
|
|||
<GLOBAL PYRAMID-OPENED <>>
|
||||
|
||||
<ROUTINE STONE-KEY-FCN ()
|
||||
<COND (<AND <VERB? PUT>
|
||||
<COND (<VERB? EXAMINE READ>
|
||||
<TELL
|
||||
"This is a small stone cube, almost four inches on a side, with ancient
|
||||
markings on it. The markings look like this:|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
# !@! :: (()) !@! //\\\\|
|
||||
">
|
||||
<FIXED-FONT-OFF>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT>
|
||||
<EQUAL? ,PRSI ,ROCK-LOCK>>
|
||||
<TELL "The ancient stones beneath your feet shake and
|
||||
tremble as they move the sands. You leap out of the way and manage to
|
||||
|
@ -1545,7 +1557,7 @@ didn't hang you with it.")
|
|||
(TEXT
|
||||
"The note reads:|
|
||||
|
|
||||
Fi aman Allah!
|
||||
Fi aman Allah!|
|
||||
|
|
||||
Hereafter you shall pursue your fool dream of the hidden pyramid and its riches
|
||||
alone. May the jackals feed well on your bones. We have left you what you need
|
||||
|
@ -1736,8 +1748,9 @@ face, blinding you for long enough to lose track of the " D ,PRSO "." CR>
|
|||
656 EX3 706 EX6 751 P6 752 P7 753 P8
|
||||
754 EX7 755 EX8 756 EX9>>
|
||||
|
||||
<ROUTINE DESERT-TO-TABLE (SLOC "AUX" (TBL ,DESERT-TABLE) (CNT 0)
|
||||
<ROUTINE DESERT-TO-TABLE (SLOC "AUX" TBL (CNT 0)
|
||||
(F <FIRST? ,ENDLESS-DESERT>) N)
|
||||
<SET TBL ,DESERT-TABLE>
|
||||
<REPEAT ()
|
||||
<COND (.F <SET N <NEXT? .F>>)
|
||||
(ELSE <RETURN>)>
|
||||
|
@ -1755,7 +1768,8 @@ face, blinding you for long enough to lose track of the " D ,PRSO "." CR>
|
|||
<SET F .N>>>
|
||||
|
||||
<ROUTINE TABLE-TO-DESERT (SLOC
|
||||
"AUX" (TBL ,DESERT-TABLE) (CNT 0))
|
||||
"AUX" TBL (CNT 0))
|
||||
<SET TBL ,DESERT-TABLE>
|
||||
<REPEAT ()
|
||||
<COND (<NOT <L? .CNT 100>>
|
||||
<RETURN>)
|
||||
|
|
22
crufty.xzap
Normal file
22
crufty.xzap
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
.FUNCT THIS-IT?,OBJ,TBL,SYNS,?TMP1
|
||||
FSET? OBJ,INVISIBLE /FALSE
|
||||
ZERO? P-NAM /?THN3
|
||||
GETPT OBJ,P?SYNONYM >SYNS
|
||||
PTSIZE SYNS
|
||||
DIV STACK,2
|
||||
SUB STACK,1
|
||||
CALL ZMEMQ,P-NAM,SYNS,STACK
|
||||
ZERO? STACK /FALSE
|
||||
?THN3: ZERO? P-ADJ /?ELS8
|
||||
GETPT OBJ,P?ADJECTIVE >SYNS
|
||||
ZERO? SYNS /FALSE
|
||||
PTSIZE SYNS
|
||||
SUB STACK,1
|
||||
CALL ZMEMQB,P-ADJ,SYNS,STACK
|
||||
ZERO? STACK /FALSE
|
||||
?ELS8: ZERO? P-GWIMBIT /TRUE
|
||||
FSET? OBJ,P-GWIMBIT /TRUE
|
||||
RFALSE
|
||||
|
||||
.ENDI
|
9
cube.zil
9
cube.zil
|
@ -198,6 +198,7 @@ see one of the cube rooms.")
|
|||
", three rows by three columns. These bricks look as if they could be easily
|
||||
removed and are marked with numerical symbols." CR>)>
|
||||
<CRLF>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL ,DASH-STR CR>
|
||||
<TELL ,EX-SP-EX-STR CR>
|
||||
<TELL "! ">
|
||||
|
@ -243,6 +244,7 @@ removed and are marked with numerical symbols." CR>)>
|
|||
<TELL " !" CR>
|
||||
<TELL ,EX-SP-EX-STR CR>
|
||||
<TELL ,DASH-STR CR>
|
||||
<FIXED-FONT-OFF>
|
||||
<RTRUE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<HOW? ,PUNCH-PANEL>
|
||||
|
@ -351,7 +353,12 @@ removed and are marked with numerical symbols." CR>)>
|
|||
<GLOBAL WRONG-BRICK <>>
|
||||
|
||||
<ROUTINE TAKE-BRICK-FCN ()
|
||||
<COND (<AND <VERB? PUT>
|
||||
<COND (<VERB? EXAMINE READ>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL <GETP ,PRSO ,P?TEXT> CR>
|
||||
<FIXED-FONT-OFF>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT>
|
||||
<EQUAL? ,PRSI ,PUNCH-PANEL>>
|
||||
<FSET ,PRSO ,NDESCBIT>
|
||||
<SETG BRICKS-TAKEN <- ,BRICKS-TAKEN 1>>
|
||||
|
|
57
globals.zil
57
globals.zil
|
@ -565,31 +565,45 @@ will be too." CR>)
|
|||
(ADJECTIVE STRANGE)
|
||||
(ACTION HIERO-FCN)>
|
||||
|
||||
<ROUTINE FIXED-FONT-ON () <PUT 0 8 <BOR <GET 0 8> 2>>>
|
||||
|
||||
<ROUTINE FIXED-FONT-OFF() <PUT 0 8 <BAND <GET 0 8> -3>>>
|
||||
|
||||
<ROUTINE PLASTER1-GLYPHS ()
|
||||
<FIXED-FONT-ON>
|
||||
<TELL CR "*-> # !!! :: ...> .-" CR>
|
||||
<FIXED-FONT-OFF>>
|
||||
|
||||
<ROUTINE HIERO-FCN ("AUX" TEMP (COUNTER 0) OFFSET)
|
||||
<COND (<NOT <VERB? READ EXAMINE>>
|
||||
<RFALSE>)>
|
||||
<COND (<AND <IN? ,WINNER ,STAIRS-BOTTOM>
|
||||
<IN? ,PLASTER1 ,STAIRS-BOTTOM>>
|
||||
<TELL CR
|
||||
"*-> # !!! :: ...> .-" CR>)
|
||||
<PLASTER1-GLYPHS>
|
||||
<RTRUE>)
|
||||
(<IN? ,WINNER ,WEST-END-OF-PASSAGE>
|
||||
<COND (<FSET? ,PIT ,INVISIBLE>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL CR
|
||||
" .|
|
||||
<-* # /!\\ - # (= =)|
|
||||
|
|
||||
:: *-> # !!!" CR>)
|
||||
:: *-> # !!!" CR>
|
||||
<FIXED-FONT-OFF>)
|
||||
(T
|
||||
<TELL "They're gone with the plaster." CR>)>)
|
||||
(<AND <ROOM? ,NORTH-ANTECHAMBER>
|
||||
<NOT <FSET? ,BURIAL-CHAMBER ,RMUNGBIT>>>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL CR
|
||||
" - !=!|
|
||||
<-* # /!\\ . # ! !|
|
||||
|
|
||||
:: *-> # !!!" CR>)
|
||||
:: *-> # !!!" CR>
|
||||
<FIXED-FONT-OFF>)
|
||||
(<AND <ROOM? SOUTH-ANTECHAMBER>
|
||||
<NOT <FSET? ,ANNEX-DOOR ,OPENBIT>>>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL CR
|
||||
" -|
|
||||
<-* # /!\\ (.) # ! !|
|
||||
|
@ -597,7 +611,8 @@ will be too." CR>)
|
|||
|
|
||||
-|
|
||||
:: ( # ! !|
|
||||
-" CR>)
|
||||
-" CR>
|
||||
<FIXED-FONT-OFF>)
|
||||
(<ROOM? ,ROOM-OF-NEPHTHYS ,ROOM-OF-ISIS
|
||||
,ROOM-OF-SELKIS ,ROOM-OF-NEITH>
|
||||
<COND (<EQUAL? ,HERE ,ROOM-OF-NEPHTHYS>
|
||||
|
@ -616,6 +631,7 @@ will be too." CR>)
|
|||
<COND (<EQUAL? .TEMP
|
||||
<GET ,ORDER-LTBL .COUNTER>>
|
||||
<RETURN>)>>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL CR " " <GET ,STAR-LTBL .COUNTER> CR>
|
||||
<TELL CR
|
||||
" " <GET ,COMPASS-POINTS-LTBL .OFFSET> CR>
|
||||
|
@ -623,41 +639,52 @@ will be too." CR>)
|
|||
")) / # " <GET ,COMPASS-TAILS-LTBL .OFFSET> " ::|
|
||||
|
|
||||
<-* "
|
||||
<GET ,STAR-LTBL .COUNTER> " =!= / *" CR>)
|
||||
<GET ,STAR-LTBL .COUNTER> " =!= / *" CR>
|
||||
<FIXED-FONT-OFF>)
|
||||
(<IN? ,WINNER ,BEND-HALL>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL
|
||||
"
|
||||
. = - -|
|
||||
!@! ...> - # * = :: <... ;|
|
||||
|
|
||||
# *|
|
||||
=" CR>)
|
||||
=" CR>
|
||||
<FIXED-FONT-OFF>)
|
||||
(<IN? ,WINNER ,CENTRAL-ROOM>
|
||||
<TELL
|
||||
"The hieroglyphs look like this:|
|
||||
|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
!-!|
|
||||
...> -. >... # ! ! !|
|
||||
!-!|
|
||||
|
|
||||
/ ...> / # !@!" CR>)
|
||||
/ ...> / # !@!" CR>
|
||||
<FIXED-FONT-OFF>)
|
||||
(<EQUAL? ,HERE ,SOUTH-CENTER>
|
||||
<TELL
|
||||
"The hieroglyphs look like this:
|
||||
|
|
||||
|
|
||||
"The hieroglyphs look like this:|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
<.> <:> <:.>|
|
||||
|
|
||||
<::> <::.> <:::>|
|
||||
|
|
||||
<:::.> <::::> <::::.>" CR>)
|
||||
<:::.> <::::> <::::.>" CR>
|
||||
<FIXED-FONT-OFF>)
|
||||
(<EQUAL? <LOC ,WINNER> ,SKELETON-ROOM ,SILVER-ROOM ,GOLDEN-ROOM>
|
||||
<TELL
|
||||
"The hieroglyphs look like this:|
|
||||
|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
-!- # !* :: # *! ::|
|
||||
|
|
||||
*-> # !@! >*>" CR>)
|
||||
*-> # !@! >*>" CR>
|
||||
<FIXED-FONT-OFF>)
|
||||
(T
|
||||
<TELL "I don't see them here." CR>)>
|
||||
<RTRUE>>
|
||||
|
|
1980
infidel.str
Normal file
1980
infidel.str
Normal file
File diff suppressed because it is too large
Load diff
58
infidel.xzap
Normal file
58
infidel.xzap
Normal file
|
@ -0,0 +1,58 @@
|
|||
|
||||
.INSERT "INFIDELFREQ"
|
||||
|
||||
|
||||
.INSERT "INFIDELDAT" ; DATA IS IN THIS FILE
|
||||
|
||||
|
||||
.INSERT "MACROS"
|
||||
|
||||
|
||||
.INSERT "GLOBALS"
|
||||
|
||||
|
||||
.INSERT "SYNTAX"
|
||||
|
||||
|
||||
.INSERT "CLOCK"
|
||||
|
||||
|
||||
.INSERT "MAIN"
|
||||
|
||||
|
||||
.INSERT "PARSER"
|
||||
|
||||
|
||||
.INSERT "CRUFTY"
|
||||
|
||||
|
||||
.INSERT "VERBS"
|
||||
|
||||
|
||||
.INSERT "INTERRUPTS"
|
||||
|
||||
|
||||
.INSERT "RA"
|
||||
|
||||
|
||||
.INSERT "ANTE"
|
||||
|
||||
|
||||
.INSERT "DIAMOND"
|
||||
|
||||
|
||||
.INSERT "BARGE"
|
||||
|
||||
|
||||
.INSERT "CUBE"
|
||||
|
||||
|
||||
.INSERT "CAMP"
|
||||
|
||||
|
||||
.INSERT "TEMPLE"
|
||||
|
||||
|
||||
.INSERT "INFIDELSTR"
|
||||
|
||||
.END
|
200
infidelfreq.xzap
Normal file
200
infidelfreq.xzap
Normal file
|
@ -0,0 +1,200 @@
|
|||
.FSTR FSTR?1,"the " ;2234 1117
|
||||
.FSTR FSTR?2,"You " ;819 273
|
||||
.FSTR FSTR?3,"The " ;642 214
|
||||
.FSTR FSTR?4,", " ;625 625
|
||||
.FSTR FSTR?5,"you " ;520 260
|
||||
.FSTR FSTR?6,"your " ;483 161
|
||||
.FSTR FSTR?7,"and " ;446 223
|
||||
.FSTR FSTR?8,". " ;409 409
|
||||
.FSTR FSTR?9,"of " ;393 393
|
||||
.FSTR FSTR?10,"to " ;385 385
|
||||
.FSTR FSTR?11,"are " ;330 165
|
||||
.FSTR FSTR?12,"There's " ;312 39
|
||||
.FSTR FSTR?13,"can't " ;290 58
|
||||
.FSTR FSTR?14,"is " ;262 262
|
||||
.FSTR FSTR?15,"in " ;243 243
|
||||
.FSTR FSTR?16,"It's " ;235 47
|
||||
.FSTR FSTR?17,"through " ;234 39
|
||||
.FSTR FSTR?18,"into " ;225 75
|
||||
.FSTR FSTR?19,"with " ;219 73
|
||||
.FSTR FSTR?20,"that " ;216 72
|
||||
.FSTR FSTR?21,"from " ;192 64
|
||||
.FSTR FSTR?22,"already " ;174 29
|
||||
.FSTR FSTR?23,"There " ;170 34
|
||||
.FSTR FSTR?24,"You're " ;161 23
|
||||
.FSTR FSTR?25,"see " ;160 80
|
||||
.FSTR FSTR?26,"small " ;160 40
|
||||
.FSTR FSTR?27,"which " ;156 39
|
||||
.FSTR FSTR?28,"nothing " ;150 25
|
||||
.FSTR FSTR?29,"on " ;141 141
|
||||
.FSTR FSTR?30,"this " ;141 47
|
||||
.FSTR FSTR?31,"don't " ;140 28
|
||||
.FSTR FSTR?32,"down " ;138 46
|
||||
.FSTR FSTR?33,"can " ;136 68
|
||||
.FSTR FSTR?34,"walls " ;132 33
|
||||
.FSTR FSTR?35,"out " ;130 65
|
||||
.FSTR FSTR?36,"room " ;129 43
|
||||
.FSTR FSTR?37,"have " ;129 43
|
||||
.FSTR FSTR?38,"doorway " ;126 21
|
||||
.FSTR FSTR?39,"around " ;125 25
|
||||
.FSTR FSTR?40,"Sitting " ;119 17
|
||||
.FSTR FSTR?41,"would " ;112 28
|
||||
.FSTR FSTR?42,"west " ;105 35
|
||||
.FSTR FSTR?43,"enough " ;105 21
|
||||
.FSTR FSTR?44,"It " ;104 52
|
||||
.FSTR FSTR?45,"like " ;102 34
|
||||
.FSTR FSTR?46,"Chamber" ;102 17
|
||||
.FSTR FSTR?47,"This " ;100 25
|
||||
.FSTR FSTR?48,"but " ;98 49
|
||||
.FSTR FSTR?49,"yourself " ;98 14
|
||||
.FSTR FSTR?50,"sand " ;96 32
|
||||
.FSTR FSTR?51,"just " ;96 32
|
||||
.FSTR FSTR?52,"about " ;96 24
|
||||
.FSTR FSTR?53,"something " ;96 12
|
||||
.FSTR FSTR?54,"encampment" ;96 12
|
||||
.FSTR FSTR?55,"standing " ;91 13
|
||||
.FSTR FSTR?56,"it " ;90 90
|
||||
.FSTR FSTR?57,"before " ;90 18
|
||||
.FSTR FSTR?58,"hieroglyphs " ;90 9
|
||||
.FSTR FSTR?59,"seems " ;88 22
|
||||
.FSTR FSTR?60,"isn't " ;85 17
|
||||
.FSTR FSTR?61,"think " ;84 21
|
||||
.FSTR FSTR?62,"light " ;84 21
|
||||
.FSTR FSTR?63,"ancient " ;84 14
|
||||
.FSTR FSTR?64,"You'd " ;84 14
|
||||
.FSTR FSTR?65,"for " ;80 40
|
||||
.FSTR FSTR?66,"that" ;78 39
|
||||
.FSTR FSTR?67,"here" ;78 39
|
||||
.FSTR FSTR?68,"pyramid " ;78 13
|
||||
.FSTR FSTR?69,"staircase" ;77 11
|
||||
.FSTR FSTR?70,"stone " ;76 19
|
||||
.FSTR FSTR?71,"first" ;75 25
|
||||
.FSTR FSTR?72,"door " ;75 25
|
||||
.FSTR FSTR?73,"square " ;75 15
|
||||
.FSTR FSTR?74,"better " ;75 15
|
||||
.FSTR FSTR?75,"north" ;72 24
|
||||
.FSTR FSTR?76,"floor" ;72 24
|
||||
.FSTR FSTR?77,"Your " ;72 18
|
||||
.FSTR FSTR?78,"you're " ;72 12
|
||||
.FSTR FSTR?79,"plaster " ;72 12
|
||||
.FSTR FSTR?80,"sarcophagus" ;72 8
|
||||
.FSTR FSTR?81,"Chamber " ;70 10
|
||||
.FSTR FSTR?82,"one " ;68 34
|
||||
.FSTR FSTR?83,"its " ;68 34
|
||||
.FSTR FSTR?84,"north " ;68 17
|
||||
.FSTR FSTR?85,"quickly " ;66 11
|
||||
.FSTR FSTR?86,"Hallway" ;66 11
|
||||
.FSTR FSTR?87,"middle " ;65 13
|
||||
.FSTR FSTR?88,"little " ;65 13
|
||||
.FSTR FSTR?89,"I " ;64 64
|
||||
.FSTR FSTR?90,"has " ;64 32
|
||||
.FSTR FSTR?91,"while " ;64 16
|
||||
.FSTR FSTR?92,"their " ;64 16
|
||||
.FSTR FSTR?93,"back " ;63 21
|
||||
.FSTR FSTR?94,"doorways " ;63 9
|
||||
.FSTR FSTR?95,"hieroglyphs" ;63 7
|
||||
.FSTR FSTR?96,"off " ;62 31
|
||||
|
||||
|
||||
;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
|
5
main.zil
5
main.zil
|
@ -28,6 +28,7 @@
|
|||
<CONSTANT M-OBJDESC 5>
|
||||
|
||||
<ROUTINE GO ()
|
||||
<PUTB ,P-LEXV 0 59>
|
||||
;"put interrupts on clock chain"
|
||||
<RANDOMIZE-HOLES>
|
||||
<ENABLE <QUEUE I-GINANDTONIC -1>>
|
||||
|
@ -195,7 +196,9 @@
|
|||
(T
|
||||
<SETG P-CONT <>>)>
|
||||
<COND (,P-WON
|
||||
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION> T)
|
||||
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION
|
||||
QUIT RESTART SCORE SCRIPT UNSCRIPT RESTORE>
|
||||
<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION> T)
|
||||
(T <SET V <CLOCKER>>)>)>>>
|
||||
|
||||
<GLOBAL P-MULT <>>
|
||||
|
|
23
verbs.zil
23
verbs.zil
|
@ -285,8 +285,9 @@ long description (fdesc or ldesc), otherwise will print short."
|
|||
<ROUTINE V-VERSION ("AUX" (CNT 17))
|
||||
<TELL
|
||||
"INFIDEL|
|
||||
Copyright 1983 by Infocom, Inc. All rights reserved.|
|
||||
INFIDEL is a trademark of Infocom, Inc.|
|
||||
Infocom interactive fiction - an adventure story|
|
||||
Copyright (c) 1983 by Infocom, Inc. All rights reserved.|
|
||||
INFIDEL is a registered trademark of Infocom, Inc.|
|
||||
Release ">
|
||||
<PRINTN <BAND <GET 0 1> *3777*>>
|
||||
<TELL " / Serial number ">
|
||||
|
@ -785,7 +786,7 @@ your problem to the address provided in your documentation." CR>>
|
|||
|
||||
<GLOBAL COPR-NOTICE
|
||||
" a transcript of interaction with INFIDEL.|
|
||||
INFIDEL is a trademark of Infocom, Inc.|
|
||||
INFIDEL is a registered trademark of Infocom, Inc.|
|
||||
Copyright (c) 1983 Infocom, Inc. All rights reserved.|">
|
||||
|
||||
<ROUTINE V-SCRIPT ()
|
||||
|
@ -1301,7 +1302,7 @@ a few moments." CR>
|
|||
|
||||
<ROUTINE V-LEAP ("AUX" T S) #DECL ((T) <OR FALSE TABLE>)
|
||||
<COND (<AND ,PRSO
|
||||
<NOT <PRSO? ,INTDIR>>>
|
||||
<NOT <PRSO? ,INTDIR ,MAST-HOLE>>>
|
||||
<PERFORM V?BOARD ,PRSO>
|
||||
<RTRUE>)
|
||||
(<SET T <GETPT ,HERE ,P?DOWN>>
|
||||
|
@ -1342,10 +1343,11 @@ a few moments." CR>
|
|||
"Wheeeeeeeeee!!!!!"
|
||||
"Do you expect me to applaud?">>
|
||||
|
||||
<GLOBAL JUMPLOSS
|
||||
<LTABLE "You should have looked before you leaped."
|
||||
"I'm afraid that leap was a bit much for your weak frame."
|
||||
"In the movies, your life would be passing in front of your eyes."
|
||||
<GLOBAL JUMPLOSS <LTABLE "You should have looked before you leaped."
|
||||
"I'm afraid that leap was a bit much for your weak
|
||||
frame."
|
||||
"In the movies, your life would be passing in front of
|
||||
your eyes."
|
||||
"Geronimo.....">>
|
||||
|
||||
<ROUTINE PRE-READ ()
|
||||
|
@ -2571,7 +2573,10 @@ specify which preposition you'd like to use next time, like LOOK AT THE " D ,PRS
|
|||
<COND (<NOT <EQUAL? ,PRSO ,WINNER>>
|
||||
<TELL "The " D ,PRSO " doesn't need any help." CR>
|
||||
<RTRUE>)>)>
|
||||
<TELL "You got yourself into this -- now get yourself out of it." CR>>
|
||||
<TELL
|
||||
"You got yourself into this -- now get yourself out of it.|
|
||||
[If you really need help, you can order an InvisiClues Hint Booklet
|
||||
and a complete map by using the order form that came in your package.]" CR>>
|
||||
|
||||
<ROUTINE V-STAND-UNDER ()
|
||||
<COND (<AND <EQUAL? ,PRSO ,CRATE ,PLANE ,PARACHUTE>
|
||||
|
|
73
zload.zil
Normal file
73
zload.zil
Normal file
|
@ -0,0 +1,73 @@
|
|||
"
|
||||
INFIDEL
|
||||
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<SNAME "INFIDEL">
|
||||
|
||||
<GC-MON <>>
|
||||
;<COND (<GASSIGNED? ZILCH> <GC 0 T>)
|
||||
(T <GC 0 T 5>)>
|
||||
<GC 0 T 5>
|
||||
|
||||
<BLOAT 90000 0 0 3500 0 0 0 0 0 512>
|
||||
|
||||
;<SETG SHORT-STRINGS 2>
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<GLOBAL BIGFIX 10000>
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !\= !,WBREAKS>>>
|
||||
|
||||
<OR <GASSIGNED? INSERT-CRUFTY>
|
||||
<DEFINE INSERT-CRUFTY (STR) <IFILE .STR T>>>
|
||||
|
||||
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
|
||||
<INSERT-FILE .STR .FLOAD?>>
|
||||
|
||||
<PRINC "INFIDEL: Interlogic Adventure Fiction
|
||||
">
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<ID 0>)>
|
||||
|
||||
<IFILE "MACROS" T>
|
||||
|
||||
<IFILE "GLOBALS" T>
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
||||
<PROPDEF VALUE 0>
|
||||
|
||||
<IFILE "SYNTAX" T>
|
||||
<ENDLOAD>
|
||||
|
||||
<IFILE "CLOCK" T>
|
||||
<IFILE "ZMAIN" T>
|
||||
<IFILE "PARSER" T>
|
||||
<INSERT-CRUFTY "CRUFTY">
|
||||
<IFILE "VERBS" T>
|
||||
|
||||
|
||||
|
||||
;"MIKE: Add your files here, as with ROBOTS"
|
||||
|
||||
;<IFILE "INTERRUPTS" T>
|
||||
<IFILE "RA" T>
|
||||
;<IFILE "ANTE" T>
|
||||
;<IFILE "DIAMOND" T>
|
||||
;<IFILE "BARGE" T>
|
||||
;<IFILE "CUBE" T>
|
||||
<IFILE "CAMP" T>
|
||||
;<IFILE "TEMPLE" T>
|
||||
|
||||
<PRINC "INFIDEL: Interlogic Adventure Fiction
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Get ready!">
|
364
zmain.zil
Normal file
364
zmain.zil
Normal file
|
@ -0,0 +1,364 @@
|
|||
"MAIN for
|
||||
INFIDEL
|
||||
Copyright 1983 Infocom, Inc. All Rights Reserved.
|
||||
"
|
||||
|
||||
<GLOBAL PLAYER <>>
|
||||
|
||||
<GLOBAL P-WON <>>
|
||||
|
||||
<CONSTANT M-FATAL 2>
|
||||
|
||||
<CONSTANT M-HANDLED 1>
|
||||
|
||||
<CONSTANT M-NOT-HANDLED <>>
|
||||
|
||||
<CONSTANT M-OBJECT <>>
|
||||
|
||||
<CONSTANT M-BEG 1>
|
||||
|
||||
<CONSTANT M-END 6>
|
||||
|
||||
<CONSTANT M-ENTER 2>
|
||||
|
||||
<CONSTANT M-LOOK 3>
|
||||
|
||||
<CONSTANT M-FLASH 4>
|
||||
|
||||
<CONSTANT M-OBJDESC 5>
|
||||
|
||||
<ROUTINE GO ()
|
||||
;"put interrupts on clock chain"
|
||||
;<RANDOMIZE-HOLES>
|
||||
;<ENABLE <QUEUE I-GINANDTONIC -1>>
|
||||
;<ENABLE <QUEUE I-PARACHUTE -1>>
|
||||
;<ENABLE <QUEUE I-GROWL -1>>
|
||||
<REMOVE ,WATER>
|
||||
;"set up and go"
|
||||
<SETG LIT T>
|
||||
<SETG WINNER ,ADVENTURER>
|
||||
<SETG PLAYER ,WINNER>
|
||||
<SETG HERE ,TENT>
|
||||
<SETG P-IT-LOC ,HERE>
|
||||
<SETG P-IT-OBJECT <>>
|
||||
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
||||
<TELL ,START-STR CR>
|
||||
<CRLF>
|
||||
<V-VERSION>
|
||||
<CRLF>)>
|
||||
<MOVE ,WINNER ,COT>
|
||||
<V-LOOK>
|
||||
<MAIN-LOOP>
|
||||
<AGAIN>>
|
||||
|
||||
|
||||
<ROUTINE MAIN-LOOP ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
|
||||
#DECL ((CNT OCNT ICNT NUM) FIX (V) <OR 'T FIX FALSE> (OBJ) <OR FALSE OBJECT>
|
||||
(OBJ1) OBJECT (TBL) TABLE (PTBL) <OR FALSE ATOM>)
|
||||
<REPEAT ()
|
||||
<SET CNT 0>
|
||||
<SET OBJ <>>
|
||||
<SET PTBL T>
|
||||
<COND (<SETG P-WON <PARSER>>
|
||||
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
|
||||
<SET NUM
|
||||
<COND (<0? <SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>> .OCNT)
|
||||
(<G? .OCNT 1>
|
||||
<SET TBL ,P-PRSO>
|
||||
<COND (<0? .ICNT> <SET OBJ <>>)
|
||||
(T <SET OBJ <GET ,P-PRSI 1>>)>
|
||||
.OCNT)
|
||||
(<G? .ICNT 1>
|
||||
<SET PTBL <>>
|
||||
<SET TBL ,P-PRSI>
|
||||
<SET OBJ <GET ,P-PRSO 1>>
|
||||
.ICNT)
|
||||
(T 1)>>
|
||||
<COND (<AND <NOT .OBJ> <1? .ICNT>> <SET OBJ <GET ,P-PRSI 1>>)>
|
||||
<COND (<==? ,PRSA ,V?WALK> <SET V <PERFORM ,PRSA ,PRSO>>)
|
||||
(<0? .NUM>
|
||||
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
|
||||
<SET V <PERFORM ,PRSA>>
|
||||
<SETG PRSO <>>)
|
||||
(<NOT ,LIT>
|
||||
<TELL "It's too dark to see." CR>)
|
||||
(T
|
||||
;"** M" <COND (.OBJ
|
||||
<COND (<AND <FSET? .OBJ ,CONTBIT>
|
||||
<NOT <FSET? .OBJ ,OPENBIT>>>
|
||||
<TELL "Better open the " D .OBJ
|
||||
" first." CR>
|
||||
<THIS-IS-IT .OBJ>
|
||||
<SET V <>>)
|
||||
(<NOT <FSET? .OBJ ,CONTBIT>>
|
||||
<TELL "There's nothing in that." CR>
|
||||
<SET V <>>)
|
||||
(T
|
||||
<TELL "It's not in that." CR>
|
||||
<SET V <>>)>)
|
||||
(T
|
||||
<TELL "There isn't anything to ">
|
||||
<SET TMP <GET ,P-ITBL ,P-VERBN>>
|
||||
<COND (,P-OFLAG
|
||||
<PRINTB <GET .TMP 0>>)
|
||||
(T
|
||||
<WORD-PRINT <GETB .TMP 2>
|
||||
<GETB .TMP 3>>)>
|
||||
<TELL "!" CR>
|
||||
<SET V <>>)>)>)
|
||||
(T
|
||||
<SETG P-NOT-HERE 0>
|
||||
<SETG P-MULT <>>
|
||||
<COND (<G? .NUM 1> <SETG P-MULT T>)>
|
||||
<SET TMP <>>
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> .NUM>
|
||||
<COND (<G? ,P-NOT-HERE 0>
|
||||
<TELL "The ">
|
||||
<COND (<NOT <EQUAL? ,P-NOT-HERE .NUM>>
|
||||
<TELL "other ">)>
|
||||
<TELL "object">
|
||||
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
|
||||
<TELL "s">)>
|
||||
<TELL " that you mentioned ">
|
||||
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
|
||||
<TELL "are">)
|
||||
(T <TELL "is">)>
|
||||
<TELL "n't here." CR>)
|
||||
(<NOT .TMP>
|
||||
<TELL
|
||||
"I don't know what you're referring to." CR>)>
|
||||
<RETURN>)
|
||||
(T
|
||||
<COND (.PTBL <SET OBJ1 <GET ,P-PRSO .CNT>>)
|
||||
(T <SET OBJ1 <GET ,P-PRSI .CNT>>)>
|
||||
<SETG PRSO <COND (.PTBL .OBJ1) (T .OBJ)>>
|
||||
<SETG PRSI <COND (.PTBL .OBJ) (T .OBJ1)>>
|
||||
<COND (<VERB? COMPARE> T)
|
||||
(<G? .NUM 1>
|
||||
<COND (<EQUAL? .OBJ1
|
||||
,NOT-HERE-OBJECT>
|
||||
<SETG P-NOT-HERE
|
||||
<+ ,P-NOT-HERE 1>>
|
||||
<AGAIN>)
|
||||
(<AND <VERB? TAKE>
|
||||
,PRSI
|
||||
<EQUAL? <GET <GET ,P-ITBL
|
||||
,P-NC1>
|
||||
0>
|
||||
,W?ALL>
|
||||
<NOT <IN? ,PRSO ,PRSI>>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS
|
||||
,P-ALL>
|
||||
<VERB? TAKE>
|
||||
<OR <AND <NOT <EQUAL?
|
||||
<LOC .OBJ1>
|
||||
,WINNER
|
||||
,HERE>>
|
||||
<NOT <FSET?
|
||||
<LOC .OBJ1>
|
||||
,TRANSBIT>>>
|
||||
<FSET? .OBJ1
|
||||
,DONTTAKE>
|
||||
<EQUAL? .OBJ1
|
||||
,PLASTER
|
||||
,PLASTER1>>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS
|
||||
,P-ALL>
|
||||
<VERB? DROP>
|
||||
<NOT <IN? .OBJ1 ,WINNER>>
|
||||
<NOT <IN? ,P-IT-OBJECT
|
||||
,WINNER>>>
|
||||
<AGAIN>)
|
||||
(T
|
||||
<COND (<EQUAL? .OBJ1 ,IT>
|
||||
<PRINTD ,P-IT-OBJECT>)
|
||||
(T <PRINTD .OBJ1>)>
|
||||
<TELL ": ">)>)>
|
||||
<SET TMP T>
|
||||
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
|
||||
<COND (<==? .V ,M-FATAL> <RETURN>)>)>>)>
|
||||
<COND (<NOT <==? .V ,M-FATAL>>
|
||||
;<COND (<==? <LOC ,WINNER> ,PRSO>
|
||||
<SETG PRSO <>>)>
|
||||
;"Removing this code should fix the problem that AGAIN
|
||||
loses when in a vehicle and it is the PRSO."
|
||||
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
|
||||
<COND (<VERB? AGAIN WALK SAVE RESTORE SCORE VERSION WAIT> T)
|
||||
(T
|
||||
<SETG L-PRSA ,PRSA>
|
||||
<SETG L-PRSO ,PRSO>
|
||||
<SETG L-PRSI ,PRSI>)>
|
||||
<COND (<==? .V ,M-FATAL> <SETG P-CONT <>>)>)
|
||||
(T
|
||||
<SETG P-CONT <>>)>
|
||||
<COND (,P-WON
|
||||
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION> T)
|
||||
(T <SET V <CLOCKER>>)>)>>>
|
||||
|
||||
<GLOBAL P-MULT <>>
|
||||
|
||||
<GLOBAL P-NOT-HERE 0>
|
||||
|
||||
<GLOBAL L-PRSA <>>
|
||||
|
||||
<GLOBAL L-PRSO <>>
|
||||
|
||||
<GLOBAL L-PRSI <>>
|
||||
|
||||
%<COND (<GASSIGNED? PREDGEN>
|
||||
|
||||
'<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
|
||||
#DECL ((A) FIX (O) <OR FALSE OBJECT FIX> (I) <OR FALSE OBJECT> (V) ANY)
|
||||
<SET OA ,PRSA>
|
||||
<SET OO ,PRSO>
|
||||
<SET OI ,PRSI>
|
||||
<COND (<AND <EQUAL? ,IT .I .O>
|
||||
<NOT <EQUAL? ,P-IT-LOC ,HERE>>>
|
||||
<TELL "I don't see what you are referring to." CR>
|
||||
<RFATAL>)>
|
||||
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
||||
<COND (<==? .I ,IT> <SET I ,P-IT-OBJECT>)>
|
||||
<SETG PRSA .A>
|
||||
<SETG PRSO .O>
|
||||
<COND (<AND ,PRSO <NOT <EQUAL? ,PRSI ,IT>> <NOT <VERB? WALK>>>
|
||||
<SETG P-IT-OBJECT ,PRSO>
|
||||
<SETG P-IT-LOC ,HERE>)>
|
||||
<SETG PRSI .I>
|
||||
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||
<SET V <NOT-HERE-OBJECT-F>>>
|
||||
<SETG P-WON <>>
|
||||
.V)
|
||||
(T
|
||||
<SET O ,PRSO>
|
||||
<SET I ,PRSI>
|
||||
<COND
|
||||
(<SET V <APPLY <GETP ,WINNER ,P?ACTION>>> .V)
|
||||
(<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-BEG>> .V)
|
||||
(<SET V <APPLY <GET ,PREACTIONS .A>>> .V)
|
||||
(<AND .I <SET V <APPLY <GETP .I ,P?ACTION>>>> .V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<LOC .O>
|
||||
<SET V <APPLY <GETP <LOC .O> ,P?CONTFCN>>>>
|
||||
.V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<SET V <APPLY <GETP .O ,P?ACTION>>>>
|
||||
.V)
|
||||
(<SET V <APPLY <GET ,ACTIONS .A>>> .V)>)>
|
||||
<COND (<NOT <==? .V ,M-FATAL>>
|
||||
<COND (<==? <LOC ,WINNER> ,PRSO>
|
||||
<SETG PRSO <>>)>
|
||||
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
|
||||
<SETG PRSA .OA>
|
||||
<SETG PRSO .OO>
|
||||
<SETG PRSI .OI>
|
||||
.V>)
|
||||
(T
|
||||
|
||||
'<PROG ()
|
||||
|
||||
<SETG PDEBUG <>>
|
||||
|
||||
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
|
||||
#DECL ((A) FIX (O) <OR FALSE OBJECT FIX> (I) <OR FALSE OBJECT> (V) ANY)
|
||||
<COND (,PDEBUG
|
||||
<TELL "** PERFORM: PRSA = ">
|
||||
<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>
|
||||
<COND (<AND .O <NOT <==? .A ,V?WALK>>>
|
||||
<TELL " | PRSO = " D .O>)>
|
||||
<COND (.I <TELL " | PRSI = " D .I>)>)>
|
||||
<SET OA ,PRSA>
|
||||
<SET OO ,PRSO>
|
||||
<SET OI ,PRSI>
|
||||
<COND (<AND <EQUAL? ,IT .I .O>
|
||||
<NOT <EQUAL? ,P-IT-LOC ,HERE>>>
|
||||
<TELL "I don't see what you are referring to." CR>
|
||||
<RFATAL>)>
|
||||
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
||||
<COND (<==? .I ,IT> <SET I ,P-IT-OBJECT>)>
|
||||
<SETG PRSA .A>
|
||||
<SETG PRSO .O>
|
||||
<COND (<AND ,PRSO <NOT <EQUAL? ,PRSI ,IT>> <NOT <VERB? WALK>>>
|
||||
<SETG P-IT-OBJECT ,PRSO>
|
||||
<SETG P-IT-LOC ,HERE>)>
|
||||
<SETG PRSI .I>
|
||||
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>>
|
||||
<SETG P-WON <>>
|
||||
.V)
|
||||
(T
|
||||
<SET O ,PRSO>
|
||||
<SET I ,PRSI>
|
||||
<COND (<SET V <D-APPLY "Actor"
|
||||
<GETP ,WINNER ,P?ACTION>>> .V)
|
||||
(<SET V <D-APPLY "Room (M-BEG)"
|
||||
<GETP <LOC ,WINNER> ,P?ACTION>
|
||||
,M-BEG>> .V)
|
||||
(<SET V <D-APPLY "Preaction"
|
||||
<GET ,PREACTIONS .A>>> .V)
|
||||
(<AND .I <SET V <D-APPLY "PRSI"
|
||||
<GETP .I ,P?ACTION>>>> .V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<LOC .O>
|
||||
<SET V <D-APPLY "Container"
|
||||
<GETP <LOC .O> ,P?CONTFCN>>>>
|
||||
.V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<SET V <D-APPLY "PRSO"
|
||||
<GETP .O ,P?ACTION>>>>
|
||||
.V)
|
||||
(<SET V <D-APPLY <>
|
||||
<GET ,ACTIONS .A>>> .V)>)>
|
||||
<COND (<NOT <==? .V ,M-FATAL>>
|
||||
<COND (<==? <LOC ,WINNER> ,PRSO>
|
||||
<SETG PRSO <>>)>
|
||||
<SET V <D-APPLY "Room (M-END)"
|
||||
<GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
|
||||
<SETG PRSA .OA>
|
||||
<SETG PRSO .OO>
|
||||
<SETG PRSI .OI>
|
||||
.V>
|
||||
|
||||
<DEFINE D-APPLY (STR FCN "OPTIONAL" FOO "AUX" RES)
|
||||
<COND (<NOT .FCN> <>)
|
||||
(T
|
||||
<COND (,PDEBUG
|
||||
<COND (<NOT .STR>
|
||||
<TELL CR " Default ->" CR>)
|
||||
(T <TELL CR " " .STR " -> ">)>)>
|
||||
<SET RES
|
||||
<COND (<ASSIGNED? FOO>
|
||||
<APPLY .FCN .FOO>)
|
||||
(T <APPLY .FCN>)>>
|
||||
<COND (<AND ,PDEBUG .STR>
|
||||
<COND (<==? .RES 2>
|
||||
<TELL "Fatal" CR>)
|
||||
(<NOT .RES>
|
||||
<TELL "Not handled">)
|
||||
(T <TELL "Handled" CR>)>)>
|
||||
.RES)>>
|
||||
|
||||
>)>
|
||||
|
||||
<GLOBAL START-STR
|
||||
"You wake slowly, sit up in your bunk, look around the tent, and try to ignore
|
||||
the pounding in your head, the cottony taste in your mouth, and the ache in
|
||||
your stomach. The droning of a plane's engine breaks the stillness and you
|
||||
realize that things outside are quiet -- too quiet. You know that this can
|
||||
mean only one thing: your workmen have deserted you. They complained over the
|
||||
last few weeks, grumbling about the small pay and lack of food, and your
|
||||
inability to locate the pyramid. And after what you stupidly did yesterday,
|
||||
trying to make them work on a holy day, their leaving is understandable.|
|
||||
|
|
||||
The Professor's map was just an ancient map -- as worthless as an ice cube in
|
||||
the Arctic without an instrument fine enough to accurately measure longitude
|
||||
and latitude. You knew that the site was nearby. You dug, and you ordered the
|
||||
workers to dig, even without the box. As you listen to the plane and rub your
|
||||
aching eyes, you pray they left you supplies enough to find the pyramid and to
|
||||
survive, and that the plane's carrying the long-overdue box.">
|
Loading…
Reference in a new issue