Final Revision

master
historicalsource 2019-04-14 11:07:54 -04:00
parent 1f51010aba
commit 428d629597
18 changed files with 4293 additions and 244 deletions

135
bclocker.zil Normal file
View File

@ -0,0 +1,135 @@
"CLOCKER for BUREAUCRACY: (C)1987 Infocom, Inc. All rights reserved."
<FILE-FLAGS MDL-ZIL?>
<USE "NEWSTRUC">
<SETG C-TABLE <ITABLE NONE 100>>
<GDECL (C-TABLE) TABLE>
<MSETG C-TABLELEN 100>
<SETG C-INTS 100>
<GDECL (C-INTS) FIX>
<MSETG C-INTLEN 4> ; "Length of an interrupt entry."
<MSETG C-RTN 0> ; "Offset of routine name."
<MSETG C-TICK 1> ; "Offset of count."
<MSETG H-HUNG 2> ; "For hunger stuff."
<DEFINE DEQUEUE (RTN)
<SET RTN <QUEUED? .RTN>>
<COND (<T? .RTN>
<ZPUT .RTN ,C-RTN 0>)>>
<DEFINE QUEUED? QQ (RTN "AUX" C E)
<SET E <ZREST ,C-TABLE ,C-TABLELEN>>
<SET C <ZREST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<RETURN <> .QQ>)
(<EQUAL? <ZGET .C ,C-RTN> .RTN>
<COND (<ZERO? <ZGET .C ,C-TICK>>
<RETURN <> .QQ>)
(T
<RETURN .C .QQ>)>)>
<SET C <ZREST .C ,C-INTLEN>>>>
"This version of QUEUE automatically enables as well."
<DEFINE QUEUE (RTN "OPTIONAL" (TICK:FIX -1) "AUX" C E (INT <>))
<SET E <ZREST ,C-TABLE ,C-TABLELEN>>
<SET C <ZREST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<COND (<T? .INT>
<SET C .INT>)
(T
<COND (<L? ,C-INTS ,C-INTLEN>
<TELL "[Too many interrupts!]" CR>)>
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
<SET INT <ZREST ,C-TABLE ,C-INTS>>)>
<ZPUT .INT ,C-RTN .RTN>
<RETURN>)
(<EQUAL? <ZGET .C ,C-RTN> .RTN>
<SET INT .C>
<RETURN>)
(<ZERO? <ZGET .C ,C-RTN>>
<SET INT .C>)>
<SET C <ZREST .C ,C-INTLEN>>>
<COND (%<COND (<GASSIGNED? ZILCH>
'<G? .INT ,CLOCK-HAND>)
(ELSE
'<L=? <LENGTH .INT:<PRIMTYPE VECTOR>>
<LENGTH ,CLOCK-HAND:<PRIMTYPE VECTOR>>>)>
<SET TICK <- <+ .TICK 3>>>)>
<ZPUT .INT ,C-TICK .TICK>
.INT>
<SETG CLOCK-WAIT? <>>
<SETG CLOCK-HAND <>>
<SETG HOURS 9>
<SETG MINUTES 0>
<SETG DAY-TABLE
<TABLE 6 "Mon" "Tues" "Wednes" "Thurs" "Fri" "Satur" "Sun">>
<GDECL (HOURS MINUTES) FIX (DAY-TABLE) TABLE>
<DEFINE CLOCKER CLOCKER ("AUX" E TICK:FIX RTN (FLG <>) (Q? <>) DAY:FIX)
<COND (<T? ,CLOCK-WAIT?>
<SETG CLOCK-WAIT? <>>
<RETURN <> .CLOCKER>)>
<SETG CLOCK-HAND <ZREST ,C-TABLE ,C-INTS>>
<SET E <ZREST ,C-TABLE ,C-TABLELEN>>
<REPEAT ()
<COND (<EQUAL? ,CLOCK-HAND .E>
<SETG MINUTES <+ ,MINUTES:FIX 1>>
<COND (<G? ,MINUTES:FIX 59>
<SETG MINUTES 0>
<SETG HOURS <+ ,HOURS:FIX 1>>
<COND (<G? ,HOURS:FIX 23>
<SETG HOURS 0>
<SET DAY <ZGET ,DAY-TABLE 0>>
<SET DAY <+ .DAY 1>>
<COND (<G? .DAY 7>
<SET DAY 1>)>
<ZPUT ,DAY-TABLE 0 .DAY>)>)>
<RETURN>)
(<T? <ZGET ,CLOCK-HAND ,C-RTN>>
<SET TICK <ZGET ,CLOCK-HAND ,C-TICK>>
<COND (<L? .TICK -1>
<SET TICK <- 0 .TICK>>
<ZPUT ,CLOCK-HAND ,C-TICK <- .TICK 3>>
<SET Q? ,CLOCK-HAND>)
(<T? .TICK>
<COND (<G? .TICK 0>
<SET TICK <- .TICK 1>>
<ZPUT ,CLOCK-HAND ,C-TICK .TICK>)>
<COND (<T? .TICK>
<SET Q? ,CLOCK-HAND>)>
<COND (<NOT <G? .TICK 0>>
<SET RTN
<ZGET ,CLOCK-HAND ,C-RTN>>
<COND (<ZERO? .TICK>
<ZPUT ,CLOCK-HAND ,C-RTN 0>)>
<COND (<ZAPPLY .RTN>
<SET FLG T>)>
<COND (<AND <ZERO? .Q?>
<T? <ZGET ,CLOCK-HAND ,C-RTN>>>
<SET Q? T>)>)>)>)>
<SETG CLOCK-HAND <ZREST ,CLOCK-HAND ,C-INTLEN>>
<COND (<ZERO? .Q?>
<SETG C-INTS <+ ,C-INTS ,C-INTLEN>>)>>
<RETURN .FLG .CLOCKER>>
; "This runs every turn..."
<MSETG DELAY-FACTOR 3>
<SETG BP-DELAY 2>
<DEFINE I-BLOOD-PRESSURE ("AUX" (SYSTOLIC:FIX <GET-SYSTOLIC>)
(DIASTOLIC:FIX <ANDB ,BP *377*>))
<COND (<EQUAL? .SYSTOLIC 120>
<>)
(<L? <SETG BP-DELAY <- ,BP-DELAY:FIX 1>> 1>
<SETG BP-DELAY ,DELAY-FACTOR>
<COND (<G? .SYSTOLIC 120>
<UPDATE-BP -2 T T>)
(<L? .SYSTOLIC 120>
<UPDATE-BP 2 T T>)>)>>

48
c3.zil Normal file
View File

@ -0,0 +1,48 @@
"J3 for
NORD AND BERT
(c) Copyright 1987 Infocom, Inc. All Rights Reserved."
;<SETG PLUS-MODE T>
<PRINC "
*** F1: Nord and Bert ***
">
ON!-INITIIAL
OFF!-INITIAL ;"makes debugging possible -- pdl"
<VERSION EZIP>
<FREQUENT-WORDS?>
<COND (<GASSIGNED? MUDDLE>
<BLOAT 90000 0 0 3300 0 0 0 0 0 256>)>
<SET REDEFINE T>
<OR <GASSIGNED? ZILCH>
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
<COND (<GASSIGNED? PREDGEN>
<SETG ZSTR-ON <SETG ZSTR-OFF ,TIME>>
<ID 0>)>
<SETG NEW-VOC? T>
<INSERT-FILE "TELLS" T>
<INSERT-FILE "PARSER" T>
<INSERT-FILE "SYNTAX" T>
<INSERT-FILE "VERBS" T>
<PUT-PURE-HERE>
<INSERT-FILE "GLOBALS" T>
<INSERT-FILE "INVIS" T>
<INSERT-FILE "HAZING" T>
<INSERT-FILE "DUELING" T>
<INSERT-FILE "AISLE" T>
<INSERT-FILE "NORTH" T>
<INSERT-FILE "FARM" T>
<INSERT-FILE "RESTAURANT" T>
<INSERT-FILE "COMEDY" T>
<INSERT-FILE "EIGHT" T>
<PROPDEF SIZE 5>
<PROPDEF CAPACITY 5>

View File

@ -10,7 +10,7 @@
(LOC LOCAL-GLOBALS)
(DESC "place")
(PICK-IT "Meet the Mayor")
(MAX-SCORE 14)
(MAX-SCORE 14) ;"total 140 points possible"
(SCENE-SCORE 0)
(SCENE-ROOM SQUARE)
(SCENE-CUR 0)

View File

@ -1621,5 +1621,6 @@ as carefully as you would an apple from the bottom of the stack.\"" CR>)
"Visibly perturbed, the stacked apples begin to tremble and quake, until
one apple heaves up out of the pile and into the air. Your horsey
companion eyeballs the apple, bares his teeth, tilts back his
long mane, and catches it. He loudly chomps it into a pulp, and swallows">)>
long mane, and catches it. He loudly chomps it into a pulp, and swallows
very hard">)>
<TELL ,PERIOD>)>>

1
file.zil Normal file
View File

@ -0,0 +1 @@
show me to seat - now point for it.

View File

@ -961,8 +961,6 @@ Act the Part, Visit the Manor of Speaking, or Shake a Tower."
<GLOBAL SCENE <>>
;<GLOBAL MAYOR-TOLD <>>
<GLOBAL RECORDS-SHOW <>>
<ROUTINE START-OBJ-F ("AUX" OBJ (CNT 0))
@ -1087,7 +1085,10 @@ could be dramatically rectified, the spirits who've worn out their welcome
might flee in horror. This is our hope, may it be your quest." CR CR>
<GO-TO-SCENE ,DUELING>)
(<NOUN-USED ,START-OBJ ,W?MAYOR>
<COND (<FSET? ,SQUARE ,TOUCHBIT>
<COND (<NOT <EQUAL? ,HERE ,STARTING-ROOM>>
<TELL ,MUST-GO-BEGIN>
<RTRUE>)
(<FSET? ,SQUARE ,TOUCHBIT>
<FCLEAR ,SQUARE ,TOUCHBIT>
<SETG HINT-TBL ,EIGHT-HINTS>
<MOVE ,DECREE ,PROTAGONIST>
@ -1353,8 +1354,7 @@ relaxed and your eyelids are buffeted with sand from the cloud." CR CR>
<TELL ,ARRIVED>
<RTRUE>)
(<NOT <EQUAL? ,HERE ,STARTING-ROOM>>
<TELL
"You must first go to the BEGINNING before playing another scenario." CR>
<TELL ,MUST-GO-BEGIN>
<RTRUE>)
(<FSET? .SECTION ,WONBIT>
<TELL
@ -1689,104 +1689,6 @@ NO DANGER! THICK ICE|">)>)
<PRSI? ,STAIRS>>
<WASTES>)>>
;<OBJECT WINDOW
(LOC LOCAL-GLOBALS)
(DESC "window")
(SYNONYM WINDOW VIEWPORT GLASS)
(ADJECTIVE RECTAN STAINED GLASS BARRED SMALL GRIMY)
(ACTION WINDOW-F)>
;<ROUTINE WINDOW-F ()
<COND (<VERB? LOOK-INSIDE>
<COND (<EQUAL? ,HERE ,OBSERVATION-ROOM>
<SETG SEEN-EXAMINATION-ROOM T>
<TELL ,YOU-SEE " a large room below. ">
<EXAMINATION-ROOM-DESC T>)
(<EQUAL? ,HERE ,BEDROOM>
<MOVE ,FORD ,HERE>
<COND (<FSET? ,HEADLIGHT ,TRYTAKEBIT>
<MOVE ,HEADLIGHT ,HERE>)>
<MOVE ,FORD ,HERE>
<TELL
"A car is parked on the street, twenty feet below. It's a Ford, a 1933 Ford
... and one of its " 'HEADLIGHT "s is ">
<COND (<AND <IN? ,HEADLIGHT ,HERE>
<FSET? ,HEADLIGHT ,TRYTAKEBIT>>
<TELL "loose">)
(T
<TELL "missing">)>
<TELL ,PERIOD>)
(<EQUAL? ,HERE ,HOLD>
<TELL ,YOU-SEE " Saturn and her ample rings.">
<COND (<NOT <EQUAL? ,SPACESHIP-SCENE-STATUS 1>>
<TELL
" Much closer, no more than a hundred feet away, is"
A ,PASSENGER-SHIP ". Judging by the steam blowing from
her ion engines, she's preparing to depart.">)>
<CRLF>)
(<EQUAL? ,HERE ,JOES-BAR>
<TELL
"It's raw and blowy outside. Little whirlpools of dust dance by." CR>)
(<EQUAL? ,HERE ,SOUTH-POLE>
<COND (<FSET? ,ORPHANAGE-FOYER ,TOUCHBIT>
<TELL "The window is fogged." CR>)
(T
<SETG COTTON-BALLS-SEEN T>
<MOVE ,COTTON-BALLS ,HERE> ;"so you can refer"
<TELL
,YOU-SEE " a " 'COTTON-BALLS " sitting in an entrance foyer." CR>)>)
(<EQUAL? ,HERE ,ORPHANAGE-FOYER>
<TELL ,YOU-SEE " an icy plain." CR>)
(<EQUAL? ,HERE ,MAIN-HALL-OF-PALACE>
<TELL "Colored light spills through the window." CR>)>)
(<VERB? OPEN>
<COND (<EQUAL? ,HERE ,BEDROOM>
<TELL ,ALREADY-IS>)
(T
<TELL "It's not that kind of window." CR>)>)
(<VERB? CLOSE>
<COND (<EQUAL? ,HERE ,BEDROOM>
<TELL "It seems stuck." CR>)
(T
<TELL ,ALREADY-IS>)>)
(<AND <VERB? PUT-THROUGH PUT>
<PRSI? ,WINDOW>
<EQUAL? ,HERE ,BEDROOM>>
<COND (<PRSO? ,HANDS>
<TELL ,HUH>)
(<IN? ,PROTAGONIST ,BED>
<CANT-REACH ,PRSI>)
(<AND <PRSO? ,SHEET>
<OR ,SHEET-HANGING
,SHEET-TIED>>
<RFALSE> ;"SHEET-F handles it")
(T
<REMOVE ,PRSO>
<PRONOUN>
<TELL " land">
<COND (<NOT <FSET? ,PRSO ,PLURALBIT>>
<TELL "s">)>
<TELL
" on the street below. An urchin dashes up and runs off with" TR ,PRSO>)>)
(<AND <VERB? EMPTY-FROM>
<PRSI? ,WINDOW>
<EQUAL? ,HERE ,BEDROOM>>
<PERFORM ,V?EMPTY ,PRSO ,WINDOW>
<RTRUE>)
(<VERB? ENTER EXIT DISEMBARK LEAP-OFF>
<COND (<EQUAL? ,HERE ,BEDROOM>
<COND (,SHEET-HANGING
<PERFORM ,V?CLIMB-DOWN ,SHEET>
<RTRUE>)
(T
<PLUMMET-TO-PAVEMENT>)>)
(<EQUAL? ,HERE ,SOUTH-POLE ,ORPHANAGE-FOYER>
<TELL "It's barred!" CR>)
(<EQUAL? ,HERE ,OBSERVATION-ROOM>
<DO-WALK ,P?WEST>)
(T
<DO-FIRST "open" ,WINDOW>)>)>>
;"status line stuff"
<CONSTANT S-TEXT 0> ;"<SCREEN 0> puts cursor in text part of screen"
@ -2336,4 +2238,7 @@ entitled \"Communicating With Infocom's Interactive Fiction.\"]" CR>>
<GLOBAL STANDS-STILL ", but stands still and silent as the mountain air.|">
<GLOBAL NO-SALE "That's not for sale.|">
<GLOBAL NO-SALE "That's not for sale.|">
<GLOBAL MUST-GO-BEGIN
"You must first go to the BEGINNING before playing another scenario.|">

210
hints.zil Normal file
View File

@ -0,0 +1,210 @@
"HINTS for
WORDPLAY
(c) Copyright 1987 Infocom, Inc. All Rights Reserved."
<ROUTINE V-HINT ("AUX" CURQ CURL CHR (MAXQ <GET ,HINT-TBL 0>) MAXL (Q <>))
<INIT-HINT-SCREEN>
<CURSET 4 1>
<SET MAXL <PUT-UP-QUESTIONS 1>>
<SET CURQ 1>
<SET CURL 5>
<CURSET .CURL 2>
<PRINTI "->">
<REPEAT ()
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR %<ASCII !\Q> %<ASCII !\q>>
<SET Q T>
<RETURN>)
(<EQUAL? .CHR %<ASCII !\+>>
<COND (<EQUAL? .CURQ .MAXQ> T)
(T
<CURSET .CURL 2>
<PRINTI " ">
<SET CURL <+ .CURL 2>>
<SET CURQ <+ .CURQ 1>>
<CURSET .CURL 2>
<PRINTI "->">)>)
(<EQUAL? .CHR %<ASCII !\->>
<COND (<EQUAL? .CURQ 1> T)
(T
<CURSET .CURL 2>
<PRINTI " ">
<SET CURL <- .CURL 2>>
<SET CURQ <- .CURQ 1>>
<CURSET .CURL 2>
<PRINTI "->">)>)
(<EQUAL? .CHR 13 10>
<DISPLAY-HINT .CURQ>
<RETURN>)>>
<COND (<NOT .Q> <AGAIN>)>
<SPLIT 0>
<CLEAR -1>
<BUFOUT T>
<INIT-STATUS-LINE 2>
<STATUS-LINE>
<TELL "Back to the game.." CR>>
<ROUTINE DISPLAY-HINT (N "AUX" H MX (CNT ,HINT-HINTS) CHR (FLG T))
<SPLIT 0>
<CLEAR -1>
<SPLIT 3>
<SCREEN ,S-WINDOW>
<CURSET 1 1>
<INVERSE-LINE>
<CENTER-LINE 1 "INVISICLUES" %<LENGTH "INVISICLUES">>
<CURSET 3 1>
<INVERSE-LINE>
<LEFT-LINE 3 " RETURN to see next hint">
<RIGHT-LINE 3 "Q to return to hint menu"
%<LENGTH "Q to return to hint menu">>
<HLIGHT ,H-BOLD>
<CENTER-LINE 2 <GET <SET H <GET ,HINT-TBL .N>> ,HINT-QUESTION>>
<HLIGHT ,H-NORMAL>
<SET MX <GET .H 0>>
<SCREEN ,S-TEXT>
<CRLF>
<REPEAT ()
<COND (<EQUAL? .CNT <GET .H ,HINT-SEEN>>
<RETURN>)
(T
<TELL <GET .H .CNT> CR CR>
<SET CNT <+ .CNT 1>>)>>
<REPEAT ()
<COND (.FLG <TELL " Hint -> "> <SET FLG <>>)>
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR %<ASCII !\Q> %<ASCII !\q>>
<PUT .H ,HINT-SEEN .CNT>
<RETURN>)
(<EQUAL? .CHR 13 10>
<COND (<G? .CNT .MX>
T)
(T
<SET FLG T>
<TELL <GET .H .CNT> CR CR>
<SET CNT <+ .CNT 1>>
<COND (<G? .CNT .MX>
<SET FLG <>>
<TELL
"[That's all folks!]" CR>)>)>)>>>
<ROUTINE PUT-UP-QUESTIONS (ST "AUX" MXQ MXL LN)
<SET MXQ <GET ,HINT-TBL 0>>
<SET MXL <GETB 0 32>>
<SET LN 6>
<REPEAT ()
<SET LN <+ .LN 2>>
<COND (<G? .ST .MXQ>
<TELL CR "[Last question]" CR>
<RETURN .MXQ>)
(<G? .LN .MXL>
<TELL CR "[More questions follow]" CR>
<RETURN <- .ST 1>>)
(T
<CRLF>
<TELL " " <GET <GET ,HINT-TBL .ST> ,HINT-QUESTION>>
<CRLF>)>
<SET ST <+ .ST 1>>>>
<ROUTINE INIT-HINT-SCREEN ("AUX" WID LEN)
<SET WID <GETB 0 33>>
<SPLIT 0>
<CLEAR -1>
<SPLIT <GETB 0 32>>
<SCREEN ,S-WINDOW>
<BUFOUT <>>
<CURSET 1 1>
<INVERSE-LINE>
<CURSET 2 1>
<INVERSE-LINE>
<CURSET 3 1>
<INVERSE-LINE>
<CENTER-LINE 1 "INVISICLUES" 11>
<LEFT-LINE 2 " + to move forward">
<RIGHT-LINE 2 "- to move backward" %<LENGTH "- to move backward">>
<LEFT-LINE 3 " RETURN to see the hint">
<RIGHT-LINE 3 "Q to return to game" %<LENGTH "Q to return to game">>>
<CONSTANT HINT-COUNT 0>
<CONSTANT HINT-QUESTION 1>
<CONSTANT HINT-SEEN 2>
<CONSTANT HINT-OFF 3>
<CONSTANT HINT-HINTS 4>
<DEFINE NEW-HINT (NAME Q "ARGS" HINTS)
<SETG .NAME 1>
<COND (<G? <LENGTH .Q> 39>
<ERROR QUESTION-TOO-LONG!-ERRORS NEW-HINT .Q>)>
<LTABLE .Q
4
.NAME
!.HINTS>>
<GLOBAL HINT-FLAG-TBL <TABLE 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1>>
<GLOBAL HINT-TBL
<LTABLE
%<NEW-HINT H-HOUSE
"How can I stop myself from bleeding?"
"Have you tried using a tourniquet?">
%<NEW-HINT H-PEARL
"How can I get warm?"
"Have you found any shelter?">
%<NEW-HINT H-PAN-OF-KEYS
"How can I keep away from the dogs?"
"Is there any food you can use to distract them?"
"Have you seen the swamp."
"Go along the edge of the swamp, and you'll confuse them.">
%<NEW-HINT H-GIRL-GONE
"How can I get warm?"
"Have you found any shelter?">
%<NEW-HINT H-ROCKS
"How can I get warm?"
"Have you found any shelter?">
%<NEW-HINT H-DEAN
"How can I get warm?"
"Have you found any shelter?">
%<NEW-HINT H-LEOPARD
"How can I get warm?"
"Have you found any shelter?">
%<NEW-HINT H-RAT
"How can I get warm?"
"Have you found any shelter?">
%<NEW-HINT H-BONFIRE
"How can I get warm?"
"Have you found any shelter?">
%<NEW-HINT H-ICICLE
"How can I get warm?"
"Have you found any shelter?">
%<NEW-HINT H-ELF
"How can I get warm?"
"Have you found any shelter?">>>
<ROUTINE CENTER-LINE (LN STR "OPTIONAL" (LEN 0) (INV T))
<COND (<ZERO? .LEN>
<DIROUT ,D-TABLE-ON ,DIROUT-TBL>
<TELL .STR>
<DIROUT ,D-TABLE-OFF>
<SET LEN <GET ,DIROUT-TBL 0>>)>
<CURSET .LN </ <- <GETB 0 33> .LEN> 2>>
<COND (.INV <HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV <HLIGHT ,H-NORMAL>)>>
<ROUTINE LEFT-LINE (LN STR "OPTIONAL" (INV T))
<CURSET .LN 1>
<COND (.INV <HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV <HLIGHT ,H-NORMAL>)>>
<ROUTINE RIGHT-LINE (LN STR "OPTIONAL" (LEN 0) (INV T))
<COND (<ZERO? .LEN>
<DIROUT 3 ,DIROUT-TBL>
<TELL .STR>
<DIROUT -3>
<SET LEN <GET ,DIROUT-TBL 0>>)>
<CURSET .LN <- <GETB 0 33> .LEN>>
<COND (.INV <HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV <HLIGHT ,H-NORMAL>)>>
<GLOBAL DIROUT-TBL <TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>>

View File

@ -113,7 +113,7 @@ the curser and text"
<SCREEN ,S-WINDOW>
<CURSET 1 1>
<INVERSE-LINE>
<CENTER-LINE 1 "INVISICLUES" %<LENGTH "INVISICLUES">>
<CENTER-LINE 1 "INVISICLUES (tm)" %<LENGTH "INVISICLUES (tm)">>
<CURSET 3 1>
<INVERSE-LINE>
<COND (,WIDE
@ -650,6 +650,7 @@ the curser and text"
"LIGHT THE MATCH"
"PUT THE MATCH IN BOB'S SHOE">
<PLTABLE "The Sponge"
"It is clearly ambiguous."
"There's more than one sponge here."
"Refer to Bob as a sponge.">>>
@ -667,7 +668,7 @@ the curser and text"
<INVERSE-LINE>
<CURSET 3 1>
<INVERSE-LINE>
<CENTER-LINE 1 "INVISICLUES" 11>
<CENTER-LINE 1 "INVISICLUES (tm)" 16>
<LEFT-LINE 2 " N = next">
<RIGHT-LINE 2 "P = previous" %<LENGTH "P = previous">>
<LEFT-LINE 3 " RETURN = See hint">

87
j3.chart Normal file
View File

@ -0,0 +1,87 @@
-date- -rel- -size- -pre- -obj- -glo- -voc-
5/08 109 156710 31583 281 169 1155
5/08 110 156710 31583 281 169 1155
5/08 111 156722 31583 281 169 1155
5/11 112 156726 31583 281 169 1155
5/11 113 157822 31783 282 169 1163
5/11 114 157822 31786 282 169 1163
5/12 115 158150 31808 282 169 1164
5/12 116 158302 31821 282 169 1164
5/12 117 158310 31821 282 169 1164
5/12 118 158378 31823 282 169 1164
5/13 119 158602 31769 282 169 1165
5/14 120 159234 31809 282 169 1167
5/14 121 159086 31811 282 170 1167
5/15 122 159146 31822 282 171 1168
5/18 123 159310 31834 282 171 1168
5/19 124 160546 32089 285 171 1176
5/19 125 160718 32104 285 172 1176
5/19 126 160758 32104 285 172 1176
5/20 127 161058 32115 285 172 1176
5/21 128 161922 32194 285 174 1180
5/21 129 162110 32228 285 175 1180
5/21 130 162134 32228 285 175 1180
5/21 130 162130 32228 285 175 1180
5/21 130 162142 32228 285 175 1180
5/21 1 162146 32228 285 175 1180
5/21 131 162146 32228 285 175 1180
5/21 1 162138 32228 285 175 1180
5/21 131 162214 32237 285 175 1181
5/21 132 162226 32237 285 175 1181
5/21 133 162194 32237 285 175 1181
5/22 134 162194 32237 285 175 1181
5/22 1 162174 32237 285 175 1181
5/22 2 162190 32237 285 175 1181
5/22 3 162190 32237 285 175 1181
5/22 3 162150 32237 285 175 1181
5/26 4 162114 32250 285 175 1182
5/29 5 158594 32242 285 175 1182
5/29 6 159902 32289 285 176 1183
6/03 7 160302 32300 285 176 1184
6/09 8 161936 32364 285 179 1188
6/09 9 161932 32362 285 178 1188
6/10 10 162020 32365 285 178 1188
6/10 11 162904 32681 286 179 1215
6/11 12 162904 32690 286 179 1216
6/11 13 162904 32690 286 179 1216
6/12 14 163352 32744 286 181 1219
6/13 15 163352 32744 286 181 1219
6/16 16 165256 32892 286 181 1219
6/18 17 167520 32894 286 181 1219
6/18 18 167676 32904 286 181 1219
6/18 19 167664 32904 286 181 1219
6/18 20 167660 32906 286 182 1219
6/18 21 167660 32906 286 182 1219
6/22 21 167944 32940 286 182 1220
6/23 22 167932 32934 286 181 1220
6/24 23 167404 31304 286 180 1220
6/24 24 167936 31304 286 180 1220
6/24 25 167936 31304 286 180 1220
6/25 26 168036 31304 286 180 1220
6/26 27 168420 31360 287 180 1220
6/29 28 168412 31360 287 180 1220
6/29 29 168796 31385 287 182 1221
7/01 30 168876 31388 287 182 1221
7/06 31 169240 31426 287 182 1224
7/06 32 169084 31475 288 189 1225
7/06 33 169064 31475 288 189 1225
7/07 34 168892 31405 286 189 1225
7/13 35 169232 31493 286 190 1232
7/13 36 169228 31489 286 190 1232
7/15 37 169448 31493 286 190 1232
7/15 38 170488 31504 286 191 1233
7/15 39 170824 31547 286 191 1234
7/17 40 170594 31565 286 191 1234
7/17 41 170594 31565 286 191 1234
7/17 42 170594 31565 286 191 1234
7/17 43 170594 31565 286 191 1234
7/17 44 170602 31565 286 191 1234
7/20 45 170850 31587 286 191 1235
7/20 46 170830 31587 286 191 1235
7/20 47 170170 31469 286 192 1230
7/20 48 170214 31469 286 192 1230
7/21 49 170230 31469 286 192 1230
7/21 17 170234 31469 286 192 1230
7/21 18 170278 31472 286 192 1230
7/22 19 170282 31472 286 192 1230
7/22 20 170298 31474 286 193 1230

29
j3.errors Normal file
View File

@ -0,0 +1,29 @@
Assembling J3.ZAP.105 on Wednesday, July 22, 1987 13:32:38
Release: 20
64 Inserting J3FREQ.ZAP.3 (610 bytes)
674 Inserting J3DAT.ZAP.99 (30800 bytes)
31474 Inserting TELLS.ZAP.125 (5027 bytes)
36501 Inserting PARSER.ZAP.121 (7878 bytes)
44379 Inserting SYNTAX.ZAP.118 (0 bytes)
44379 Inserting VERBS.ZAP.127 (17144 bytes)
61523 Inserting J3PUR.ZAP.95 (1568 bytes)
63091 Inserting GLOBALS.ZAP.124 (11730 bytes)
74821 Inserting INVIS.ZAP.106 (988 bytes)
75809 Inserting HAZING.ZAP.106 (15534 bytes)
91343 Inserting DUELING.ZAP.105 (6126 bytes)
97469 Inserting AISLE.ZAP.101 (8004 bytes)
105473 Inserting NORTH.ZAP.101 (6951 bytes)
112424 Inserting FARM.ZAP.101 (11332 bytes)
123756 Inserting RESTAURANT.ZAP.104 (11409 bytes)
135165 Inserting COMEDY.ZAP.100 (7432 bytes)
142597 Inserting EIGHT.ZAP.99 (9174 bytes)
151771 Inserting J3STR.ZAP.95 (18527 bytes)
286 objects.
193 globals.
1230 word vocabulary.
170298 bytes (167K).
31474 bytes of preload.
14854 bytes of impure.
Outputting symbol tables

929
j3.record Normal file
View File

@ -0,0 +1,929 @@
Combined ZIL Compiler Ver 2.0 (MIM)
-----------------------------------
Input file: PS:<J3>J3.ZIL.38
Input file: PS:<J3>TELLS.ZIL.171
Compiling routine: PICK-NEXT
Compiling routine: PICK-ONE
Compiling routine: DPRINT
Compiling routine: APRINT
Compiling routine: TPRINT
Compiling routine: TPRINT-PRSO
Compiling routine: TPRINT-PRSI
Compiling routine: ARPRINT
Compiling routine: TRPRINT
Compiling routine: IS-ARE-PRINT
Compiling routine: GO
Compiling routine: GET-KEY
Compiling routine: MAIN-LOOP
Compiling routine: MAIN-LOOP-1
Compiling routine: DONT-ALL
Compiling routine: CLOCKER-VERB?
Compiling routine: FAKE-ORPHAN
Compiling routine: NOW-PRSI-KLUDGE
Compiling routine: PERFORM-PRSA
Compiling routine: PERFORM
Compiling routine: D-APPLY
Compiling routine: DEQUEUE
Compiling routine: QUEUED?
Compiling routine: RUNNING?
Compiling routine: QUEUE
Compiling routine: CLOCKER
Compiling routine: STATUS-LINE
Compiling routine: SAY-HERE
Compiling routine: SAY-SCORE
Compiling routine: TELL-SCORE
Compiling routine: LIST-ALL-ROOMS
Compiling routine: COMEDY-ROOMS
Compiling routine: HAZING-ROOMS
Compiling routine: TO-CLEARING?
Compiling routine: FARM-ROOMS
Compiling routine: RESTAURANT-ROOMS
Compiling routine: JOAT-ROOMS
Compiling routine: AISLE-ROOMS
Compiling routine: DUELING-ROOMS
Compiling routine: EIGHT-ROOMS
Compiling routine: I-WIFE
Input file: PS:<J3>PARSER.ZIL.177
Compiling routine: THIS-IS-IT
Compiling routine: PARSER
Compiling routine: DOLDRUMS-WORD?
Compiling routine: CHANGE-LEXV
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: VERB-PRINT
Compiling routine: ORPHAN
Compiling routine: CLAUSE-PRINT
Compiling routine: BUFFER-PRINT
Compiling routine: NAME?
Compiling routine: CAPITALIZE
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: ADJ-CHECK
Compiling routine: NOUN-MISSING
Compiling routine: GET-OBJECT
Compiling routine: PUT-ADJ-NAM
Compiling routine: MOBY-FIND
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: THIS-IT?
Input file: PS:<J3>SYNTAX.ZIL.260
Input file: PS:<J3>VERBS.ZIL.802
Compiling routine: V-VERBOSE
Compiling routine: V-BRIEF
Compiling routine: V-SUPER-BRIEF
Compiling routine: V-SAVE
Compiling routine: V-RESTORE
Compiling routine: V-SCRIPT
Compiling routine: V-UNSCRIPT
Compiling routine: CORP-NOTICE
Compiling routine: V-DIAGNOSE
Compiling routine: V-INVENTORY
Compiling routine: V-QUIT
Compiling routine: V-RESTART
Compiling routine: DO-YOU-WISH
Compiling routine: YES?
Compiling routine: FINISH
Compiling routine: V-VERSION
Compiling routine: V-$ID
Compiling routine: V-$VERIFY
Compiling routine: V-$REFRESH
Compiling routine: V-ALARM
Compiling routine: V-APPLAUD
Compiling routine: V-ASK-ABOUT
Compiling routine: V-ASK-FOR
Compiling routine: V-ASK-NO-ONE-FOR
Compiling routine: V-BEND
Compiling routine: V-BITE
Compiling routine: V-BLESS
Compiling routine: V-BLOW
Compiling routine: PRE-BOARD
Compiling routine: V-BOARD
Compiling routine: V-BOO
Compiling routine: V-BURN
Compiling routine: V-BURY
Compiling routine: V-BUY
Compiling routine: V-BUY-IN
Compiling routine: V-BUY-WITH
Compiling routine: V-CALL
Compiling routine: V-CATCH
Compiling routine: V-CHASTISE
Compiling routine: V-CHEER
Compiling routine: V-CHOO
Compiling routine: V-CLEAN
Compiling routine: V-CLEAN-IN
Compiling routine: V-CLIMB
Compiling routine: V-CLIMB-DOWN
Compiling routine: V-CLIMB-ON
Compiling routine: V-CLIMB-OVER
Compiling routine: V-CLIMB-UP
Compiling routine: V-CLOSE
Compiling routine: V-COMB
Compiling routine: V-COOK
Compiling routine: V-COUNT
Compiling routine: V-CRAWL
Compiling routine: V-CRAWL-UNDER
Compiling routine: V-CROSS
Compiling routine: V-CRY
Compiling routine: V-CUT
Compiling routine: V-DECODE
Compiling routine: V-DEEP-SIX
Compiling routine: V-DEFLATE
Compiling routine: V-DIG
Compiling routine: V-DISEMBARK
Compiling routine: V-DRINK
Compiling routine: V-DRINK-FROM
Compiling routine: V-DROP
Compiling routine: SPECIAL-DROP
Compiling routine: V-EAT
Compiling routine: V-EMPTY
Compiling routine: V-EMPTY-FROM
Compiling routine: V-ENTER
Compiling routine: V-EXAMINE
Compiling routine: NOTHING-INTERESTING
Compiling routine: V-EXIT
Compiling routine: IN-EXITABLE-VEHICLE?
Compiling routine: V-FEED
Compiling routine: V-FILL
Compiling routine: V-FIND
Compiling routine: V-FOLLOW
Compiling routine: I-FOLLOW
Compiling routine: PRE-GIVE
Compiling routine: V-GARBLE
Compiling routine: V-GIVE
Compiling routine: GIVE-TO-MURDERER
Compiling routine: GIVE-TO-ROCKS
Compiling routine: GIVE-TO-CLIENT
Compiling routine: GIVE-TO-SELLER
Compiling routine: V-GIVE-UP
Compiling routine: V-GOOSE
Compiling routine: V-GRIND
Compiling routine: V-HAIR
Compiling routine: V-HAMMER
Compiling routine: V-HELLO
Compiling routine: V-HIDE
Compiling routine: V-HINTS-NO
Compiling routine: V-IN
Compiling routine: V-INFLATE
Compiling routine: V-KICK
Compiling routine: V-KILL
Compiling routine: V-KISS
Compiling routine: V-KNOCK
Compiling routine: V-KNOCK-OFF
Compiling routine: V-LEAP
Compiling routine: V-LEAP-OFF
Compiling routine: V-LEAVE
Compiling routine: V-LEAVE-TO
Compiling routine: V-LET-OUT
Compiling routine: V-LIE-DOWN
Compiling routine: V-LISTEN
Compiling routine: V-LOCK
Compiling routine: V-LOOK
Compiling routine: V-LOOK-BEHIND
Compiling routine: V-LOOK-DOWN
Compiling routine: V-LOOK-INSIDE
Compiling routine: V-LOOK-OBJECT-IN
Compiling routine: V-LOOK-OVER
Compiling routine: V-LOOK-UNDER
Compiling routine: V-LOOK-UP
Compiling routine: V-LOWER
Compiling routine: V-MAKE
Compiling routine: V-MAKE-OBJECT-DRINK
Compiling routine: V-MAKE-WITH
Compiling routine: V-MEET
Compiling routine: V-MOVE
Compiling routine: V-MUNG
Compiling routine: V-NO
Compiling routine: V-NO-VERB
Compiling routine: I-ORPHAN
Compiling routine: NO-WORD
Compiling routine: V-OFF
Compiling routine: V-ON
Compiling routine: CANT-TURN
Compiling routine: V-OPEN
Compiling routine: V-PASS
Compiling routine: V-PAY
Compiling routine: V-PICK
Compiling routine: V-PICK-UP
Compiling routine: V-PIN
Compiling routine: V-PLAY
Compiling routine: V-PLUG
Compiling routine: V-POINT
Compiling routine: V-POSSESSION
Compiling routine: PRE-POUR
Compiling routine: V-POUR
Compiling routine: V-PULL-OVER
Compiling routine: V-PUSH
Compiling routine: V-PUSH-DIR
Compiling routine: V-PUSH-OFF
Compiling routine: PRE-PUT
Compiling routine: V-PUT
Compiling routine: V-PUT-AGAINST
Compiling routine: V-PUT-BEHIND
Compiling routine: V-PUT-IN-FRONT
Compiling routine: V-PUT-NEAR
Compiling routine: V-PUT-ON
Compiling routine: V-PUT-THROUGH
Compiling routine: V-PUT-TO
Compiling routine: V-PUT-UNDER
Compiling routine: V-RAISE
Compiling routine: PRE-RAKE
Compiling routine: V-RAKE
Compiling routine: V-RAKE-OVER
Compiling routine: V-SRIDE-OBJECT-TO
Compiling routine: V-RIDE-OBJECT-TO
Compiling routine: V-RIDE-TO
Compiling routine: V-REACH-IN
Compiling routine: V-READ
Compiling routine: V-READ-BETWEEN
Compiling routine: V-SREAD-TO
Compiling routine: V-READ-TO
Compiling routine: V-REMOVE
Compiling routine: V-REVOLVE
Compiling routine: V-RETURN
Compiling routine: V-RIDDLE
Compiling routine: V-ROLL
Compiling routine: V-RUB
Compiling routine: V-SAVE-SOMETHING
Compiling routine: V-SAY
Compiling routine: V-SCORE
Compiling routine: V-SEARCH
Compiling routine: V-SSEARCH-OBJECT-FOR
Compiling routine: V-SEARCH-OBJECT-FOR
Compiling routine: V-SEARCH-WITH
Compiling routine: V-SSET
Compiling routine: PRE-SET
Compiling routine: V-SET
Compiling routine: V-SGIVE
Compiling routine: V-SHAKE
Compiling routine: V-SHAKE-WITH
Compiling routine: V-SHINE
Compiling routine: V-SHOCK
Compiling routine: V-SHOW
Compiling routine: V-SHUT-UP
Compiling routine: V-SIGN
Compiling routine: V-SINK
Compiling routine: V-SIT
Compiling routine: V-SKIP
Compiling routine: V-SLEEP
Compiling routine: V-SMELL
Compiling routine: V-SOW
Compiling routine: SENSE-OBJECT
Compiling routine: V-SPUT-ON
Compiling routine: V-SRUB
Compiling routine: V-SSHOW
Compiling routine: V-STAND
Compiling routine: V-STAND-ON
Compiling routine: V-STELL
Compiling routine: V-STHROW
Compiling routine: V-SWIM
Compiling routine: V-SWING
Compiling routine: PRE-SWITCH
Compiling routine: V-SWRAP
Compiling routine: PRE-TAKE
Compiling routine: V-TAKE
Compiling routine: V-TAKE-OFF
Compiling routine: V-TAKE-UNDER
Compiling routine: V-TAKE-WITH
Compiling routine: V-TASTE
Compiling routine: V-STEACH
Compiling routine: V-TEACH
Compiling routine: PRE-TELL
Compiling routine: V-TELL
Compiling routine: V-TELL-ABOUT
Compiling routine: V-THANK
Compiling routine: V-THROW
Compiling routine: V-THROW-OUT
Compiling routine: V-THROW-TO
Compiling routine: V-TIE
Compiling routine: V-TIE-TOGETHER
Compiling routine: PRE-TOUCH
Compiling routine: V-STOUCH
Compiling routine: V-TOUCH
Compiling routine: V-TURN-OBJECT-ON
Compiling routine: V-UNLOCK
Compiling routine: V-UNPLUG
Compiling routine: V-UNTIE
Compiling routine: V-UPSET
Compiling routine: V-USE
Compiling routine: V-VENT
Compiling routine: V-WALK
Compiling routine: V-WATCH-GROW
Compiling routine: NOT-GOING-ANYWHERE
Compiling routine: V-WALK-AROUND
Compiling routine: PRE-WALK-TO
Compiling routine: V-WALK-TO
Compiling routine: CANT-GET-THERE
Compiling routine: V-WAIT
Compiling routine: V-WAIT-FOR
Compiling routine: V-WAVE
Compiling routine: PRE-WEAR
Compiling routine: V-WEAR
Compiling routine: V-WHAT
Compiling routine: V-WHERE
Compiling routine: V-WHO
Compiling routine: V-WRAP
Compiling routine: V-YELL
Compiling routine: I-REPLY
Compiling routine: V-YES
Compiling routine: YOU-SOUND
Compiling routine: YES-WORD
Compiling routine: ITAKE
Compiling routine: IDROP
Compiling routine: CCOUNT
Compiling routine: WEIGHT
Compiling routine: D-ROOM
Compiling routine: D-OBJECTS
Compiling routine: D-CONTENTS
Compiling routine: DESCRIBABLE?
Compiling routine: SIMPLE-DESC?
Compiling routine: D-VEHICLE
Compiling routine: D-NOTHING
Compiling routine: GOTO
Compiling routine: JIGS-UP
Compiling routine: ACCESSIBLE?
Compiling routine: VISIBLE?
Compiling routine: UNTOUCHABLE?
Compiling routine: META-LOC
Compiling routine: OTHER-SIDE
Compiling routine: HELD?
Compiling routine: SEE-INSIDE?
Compiling routine: GLOBAL-IN?
Compiling routine: FIND-IN
Compiling routine: LOC-CLOSED
Compiling routine: DO-WALK
Compiling routine: STOP
Compiling routine: ROB
Compiling routine: HACK-HACK
Compiling routine: HO-HUM
Compiling routine: YUKS
Compiling routine: IMPOSSIBLES
Compiling routine: WASTES
Input file: PS:<J3>GLOBALS.ZIL.996
Compiling routine: INTNUM-F
Compiling routine: EACH-OTHER-F
Compiling routine: MAN-WOMAN-F
Compiling routine: FIND-MAN
Compiling routine: FIND-WOMAN
Compiling routine: NOT-HERE-OBJECT-F
Compiling routine: PRSO-MOBY-VERB?
Compiling routine: PRSI-MOBY-VERB?
Compiling routine: FIND-NOT-HERE
Compiling routine: NOT-HERE-PRINT
Compiling routine: GLOBAL-SLEEP-F
Compiling routine: GROUND-F
Compiling routine: WALL-F
Compiling routine: CEILING-F
Compiling routine: WATER-F
Compiling routine: HANDS-F
Compiling routine: FOOT-F
Compiling routine: HEAD-F
Compiling routine: SHOULDER-F
Compiling routine: SPLEEN-F
Compiling routine: EYES-F
Compiling routine: MOUTH-F
Compiling routine: STARTING-ROOM-F
Compiling routine: SHERIFF-ASKS
Compiling routine: START-OBJ-F
Compiling routine: I-RANK
Compiling routine: RANKS-F
Compiling routine: YES-RIGHT
Compiling routine: TO-MAYOR?
Compiling routine: GO-TO-SCENE
Compiling routine: RE-BEGIN
Compiling routine: FINISHED?
Compiling routine: UPDATE-SCORE
Compiling routine: I-END-SCENE
Compiling routine: DO-JACK
Compiling routine: DE-LOUSE
Compiling routine: WARN-PLAYER
Compiling routine: MORE-SCORE
Compiling routine: PROTAGONIST-F
Compiling routine: PROTAG-JACKHAMMER-F
Compiling routine: ME-F
Compiling routine: GLOBAL-ROOM-F
Compiling routine: SIGN-F
Compiling routine: STAIRS-F
Compiling routine: INIT-STATUS-LINE
Compiling routine: PRINT-SPACES
Compiling routine: ITALICIZE
Compiling routine: SEEING?
Compiling routine: TOUCHING?
Compiling routine: DONT-HANDLE
Compiling routine: CANT-SEE
Compiling routine: NO-SUCH
Compiling routine: PRSO-PRINT
Compiling routine: PRSI-PRINT
Compiling routine: CANT-VERB-A-PRSO
Compiling routine: TELL-HIT-HEAD
Compiling routine: NOUN-USED
Compiling routine: TRANS-PRINT
Compiling routine: ADJ-USED
Compiling routine: OFF-VEHICLE?
Compiling routine: OPEN-CLOSED
Compiling routine: WEE
Compiling routine: CANT-REACH
Compiling routine: DO-FIRST
Compiling routine: NOT-IN
Compiling routine: PART-OF
Compiling routine: BE-MORE-SPECIFIC
Compiling routine: CHANGE-OBJECT
Compiling routine: SORE
Compiling routine: RECOGNIZE
Compiling routine: PREGNANT
Compiling routine: PRONOUN
Compiling routine: DONT-F
Compiling routine: REFERRING
Compiling routine: NO-ONE-HERE
Input file: PS:<J3>INVIS.ZIL.359
Compiling routine: V-HINT
Compiling routine: ERASE-CURSOR
Compiling routine: NEW-CURSOR
Compiling routine: INVERSE-LINE
Compiling routine: DISPLAY-HINT
Compiling routine: PUT-UP-QUESTIONS
Compiling routine: INIT-HINT-SCREEN
Compiling routine: CENTER-LINE
Compiling routine: LEFT-LINE
Compiling routine: RIGHT-LINE
Input file: PS:<J3>HAZING.ZIL.925
Compiling routine: HAZING-F
Compiling routine: GEN-BEAN-STALK
Compiling routine: CLEARING-F
Compiling routine: SHINING-DOOR-F
Compiling routine: HOUSE-F
Compiling routine: PEARL-F
Compiling routine: GEN-GIRL
Compiling routine: PAN-OF-KEYS-F
Compiling routine: GEN-KEY
Compiling routine: GO-GIRL
Compiling routine: SHORE-F
Compiling routine: ROCKS-F
Compiling routine: RHINES-F
Compiling routine: GEN-SHORE
Compiling routine: LINES-F
Compiling routine: SAND-F
Compiling routine: RIDDLE-BOOK-F
Compiling routine: DEAN-F
Compiling routine: I-DEAN
Compiling routine: EXPERIENCE-F
Compiling routine: LEOPARD-F
Compiling routine: HABIT-F
Compiling routine: RAT-F
Compiling routine: TO-HAT
Compiling routine: FACTORY-F
Compiling routine: FOAM-F
Compiling routine: ICICLE-F
Compiling routine: STOCK-ROOM-F
Compiling routine: ELF-F
Compiling routine: SMOCK-F
Compiling routine: CLIENT-F
Compiling routine: I-CLIENT
Compiling routine: CLIENT-FALL
Compiling routine: JEAN-STOCK-F
Compiling routine: STALK-ROOM-F
Compiling routine: NO-DIR
Compiling routine: STALK-EXIT
Compiling routine: BEAN-STALK-F
Compiling routine: BLUSHING-CROW-F
Compiling routine: MARE-F
Compiling routine: CLOUD-ROOM-F
Compiling routine: BEETS-F
Compiling routine: CLIENT-NEEDLE-F
Compiling routine: GEN-NEEDLE
Input file: PS:<J3>DUELING.ZIL.273
Compiling routine: BEFORE-MANOR-F
Compiling routine: DUELING-F
Compiling routine: MANOR-F
Compiling routine: ID-ROOM-F
Compiling routine: LOUIS-CHAIR-F
Compiling routine: PILLOW-F
Compiling routine: DOLDRUMS-F
Compiling routine: I-DOLDRUMS
Compiling routine: WASTELAND-F
Compiling routine: CHASMS-F
Compiling routine: CLOCK-F
Compiling routine: I-CLOCK
Compiling routine: CLOCK-KEY-F
Compiling routine: KREMLIN-F
Compiling routine: MARX-F
Compiling routine: SAFE-F
Compiling routine: REVOLUTION-F
Compiling routine: PHARMACY-F
Compiling routine: CABINET-F
Compiling routine: MEDICINES-F
Compiling routine: OLD-BOTTLE-F
Compiling routine: MAT-F
Compiling routine: ATTIC-F
Compiling routine: ATTIC-EXIT
Compiling routine: ATTIC-ENTER
Input file: PS:<J3>AISLE.ZIL.557
Compiling routine: AISLE-F
Compiling routine: DESSERT-ROOM-F
Compiling routine: MOOSE-F
Compiling routine: PI-F
Compiling routine: FREEZER-F
Compiling routine: MANICOTTI-ROOM-F
Compiling routine: CEREALS-F
Compiling routine: MURDERER-F
Compiling routine: MUSSEL-ROOM-F
Compiling routine: MUSSELS-F
Compiling routine: SAIL-F
Compiling routine: TACKS-F
Compiling routine: BRITISH-ROOM-F
Compiling routine: BRITISH-SHELF-F
Compiling routine: PUTTING-F
Compiling routine: BOXES-F
Compiling routine: BOX-BOY-F
Compiling routine: LET-ROOM-F
Compiling routine: STEAK-F
Compiling routine: MINCE-F
Compiling routine: BRAT-F
Compiling routine: I-BRAT
Compiling routine: RIBBON-F
Compiling routine: ANTS-F
Compiling routine: I-ANTS
Compiling routine: ILL-ROOM-F
Compiling routine: ILL-ROOM-EXIT
Compiling routine: FLOUR-F
Compiling routine: SCENT-F
Compiling routine: BEAR-CLAUSE-F
Compiling routine: STATIONARY-F
Compiling routine: QUARTZ-F
Compiling routine: LOCKS-DOOR-F
Compiling routine: LOCKS-F
Compiling routine: JAMB-F
Compiling routine: CELLAR-ROOM-F
Compiling routine: CELLAR-F
Input file: PS:<J3>NORTH.ZIL.419
Compiling routine: FOREST-ENTER
Compiling routine: JACK-HOUSE-F
Compiling routine: JACK-ROOM-F
Compiling routine: JOAT-F
Compiling routine: CHANGE-JACK
Compiling routine: NO-JACK-HERE
Compiling routine: BALL-OF-FUR-F
Compiling routine: PIECE-OF-METAL-F
Compiling routine: CRANK-F
Compiling routine: FAUCET-F
Compiling routine: HOT-TUB-F
Compiling routine: ELECTRICAL-SWITCH-F
Compiling routine: SLEEVES-F
Compiling routine: FROST-ROOM-F
Compiling routine: GEN-JACK
Compiling routine: I-FROST
Compiling routine: NEAR-POND-F
Compiling routine: POND-ROOM-ENTER
Compiling routine: LAYER-OF-FROST-F
Compiling routine: SNOW-F
Compiling routine: ICE-F
Compiling routine: FROST-F
Compiling routine: SEE-FROST
Compiling routine: STICK-F
Compiling routine: POND-ROOM-F
Compiling routine: MERMAID-F
Compiling routine: MERMAID-LEAVES
Compiling routine: FISHING-LINE-F
Compiling routine: NECKLACE-F
Input file: PS:<J3>FARM.ZIL.650
Compiling routine: FARM-F
Compiling routine: ROAD-F
Compiling routine: OLD-DOG-F
Compiling routine: STONE-F
Compiling routine: CART-F
Compiling routine: BARNYARD-F
Compiling routine: TAIL-F
Compiling routine: SOW-EAR-F
Compiling routine: PURSE-F
Compiling routine: PENNY-F
Compiling routine: SWORDS-F
Compiling routine: PLOWSHARES-F
Compiling routine: SIDE-OF-BARN-F
Compiling routine: GEN-BARN
Compiling routine: BARN-F
Compiling routine: MILK-F
Compiling routine: LADDER-F
Compiling routine: TELL-LADDER
Compiling routine: GRAIN-F
Compiling routine: MICE-F
Compiling routine: LOFT-F
Compiling routine: BAGS-OF-GRAIN-F
Compiling routine: GEN-BAG
Compiling routine: GRINDSTONE-F
Compiling routine: STABLE-F
Compiling routine: TROUGH-F
Compiling routine: OATS-F
Compiling routine: DONKEY-F
Compiling routine: HORSE-F
Compiling routine: HORSE-RIBBON-F
Compiling routine: FIELD-F
Compiling routine: HAYSTACK-F
Compiling routine: MOLEHILL-F
Compiling routine: CROPS-F
Compiling routine: BIRDS-F
Compiling routine: PIPER-F
Compiling routine: PIPE-F
Compiling routine: WHISTLE
Compiling routine: PEPPERS-F
Compiling routine: CAT-BAG-F
Compiling routine: CAT-F
Compiling routine: PIG-F
Compiling routine: COST-YOU
Compiling routine: APPLE-F
Compiling routine: GEN-APPLE
Compiling routine: APPLE-CART-F
Input file: PS:<J3>RESTAURANT.ZIL.639
Compiling routine: RESTAURANT-F
Compiling routine: FLOOR-1-F
Compiling routine: REST-TABLE-F
Compiling routine: REST-CHAIR-F
Compiling routine: SHRIFT-F
Compiling routine: SALT-SHAKER-F
Compiling routine: GEN-SALT
Compiling routine: FORTUNE-F
Compiling routine: ADVICE-F
Compiling routine: CROW-F
Compiling routine: ROAST-F
Compiling routine: HUMBLE-PIE-F
Compiling routine: PRIDE-F
Compiling routine: HATCHET-F
Compiling routine: NAPKIN-F
Compiling routine: OFFENCE
Compiling routine: OFFENCE-REACTION
Compiling routine: GIVE-IT
Compiling routine: UMBRAGE-F
Compiling routine: COMEUPPANCE-F
Compiling routine: WAITRESS-F
Compiling routine: WOOL-F
Compiling routine: DANDER-F
Compiling routine: CHIP-F
Compiling routine: FLOOR-2-F
Compiling routine: WAITRESS-COMES
Compiling routine: RIOT-ACT-F
Compiling routine: COALS-F
Compiling routine: OLIVE-TREE-F
Compiling routine: BRANCH-F
Compiling routine: GEN-OLIVE
Compiling routine: DESSERTS-F
Compiling routine: CAPE-F
Compiling routine: FLOOR-1-EXIT
Compiling routine: KITCHEN-F
Compiling routine: KITCHEN-EXIT
Compiling routine: COOK-F
Compiling routine: BAD-BLOOD-F
Compiling routine: TELL-BAD-BLOOD
Compiling routine: RECIPE-CARD-F
Compiling routine: I-PET-PEEVE
Compiling routine: CAN-F
Compiling routine: GOAT-F
Compiling routine: GOOSE-F
Compiling routine: GEN-PEEVES
Compiling routine: OFFENCE-COOK
Compiling routine: PAN-F
Compiling routine: I-PAN
Compiling routine: MESS-F
Compiling routine: CONCOCTION-F
Compiling routine: FIRE-F
Compiling routine: DEVICES-F
Compiling routine: GEN-DEVICE
Compiling routine: I-DEVICES
Compiling routine: OX-F
Input file: PS:<J3>COMEDY.ZIL.493
Compiling routine: COMEDY-F
Compiling routine: AUDIENCE-F
Compiling routine: TV-KITCHEN-F
Compiling routine: TV-KITCHEN-EXIT
Compiling routine: MATCH-F
Compiling routine: I-MATCH
Compiling routine: LAMP-F
Compiling routine: LAMP-SHADE-F
Compiling routine: CORD-F
Compiling routine: GLOVES-F
Compiling routine: SPONGE-F
Compiling routine: GEN-SPONGE
Compiling routine: WATER-BOTTLE-F
Compiling routine: GEN-CUSHION
Compiling routine: LOBOTOMY-F
Compiling routine: BOB-F
Compiling routine: BOB-SHOE-F
Compiling routine: FRONT-ROOM-F
Compiling routine: FRONT-ROOM-EXIT
Compiling routine: FRONT-DOOR-F
Compiling routine: BATHROOM-DOOR-F
Compiling routine: I-BOB
Compiling routine: WIFE-F
Compiling routine: I-KNOCK
Compiling routine: TV-F
Compiling routine: REMOTE-F
Compiling routine: YOUR-CHAIR-F
Input file: PS:<J3>EIGHT.ZIL.346
Compiling routine: EIGHT-F
Compiling routine: DECREE-F
Compiling routine: SQUARE-F
Compiling routine: LOBBY-ENTER
Compiling routine: TOWN-HOUSE-F
Compiling routine: BUSHES-F
Compiling routine: LAUREL-F
Compiling routine: GEN-LAUREL
Compiling routine: BLESSING-F
Compiling routine: STUMP-F
Compiling routine: LAWS-F
Compiling routine: HORN-F
Compiling routine: GEN-POSSESSION
Compiling routine: LOBBY-F
Compiling routine: PRETENSES-F
Compiling routine: SIX-PACK-F
Compiling routine: BATHROOM-F
Compiling routine: JAR-F
Compiling routine: CLOSET-F
Compiling routine: SKELETON-F
Compiling routine: TUB-F
Compiling routine: DUCK-F
Compiling routine: COMB-F
Compiling routine: DISGUISE-F
Compiling routine: LINEN-F
Vocabulary: 1230
Prepositions: 31
ABOUT AWAY DRINK OFF TO WITH
ACROSS BACK FOR ON TOGETHER
AGAINST BEFORE FROM OUT UNDER
APART BEHIND GO OVER UP
AROUND BETWEEN GROW RIGHT-SIDE UPSIDE
AT DOWN IN THROUGH WHILE
Real globals: 189
AGAIN-DIR HO-HUM-LIST P-EXCHANGE REAL-COMEDY
AGAIN-LEXV HOLDING-IT P-GETFLAGS REAL-DUELING
AISLE-HINTS HORSE-TO-CART P-GWIMBIT REAL-EIGHT
ALREADY-HAVE HORSE-TO-TROUGH P-HER-OBJECT REAL-FARM
ALREADY-IS HUH P-HIM-OBJECT REAL-HAZING
AND-FLAG IF-HAMMER P-INBUF RECORDS-SHOW
ANTS-C IMPOSSIBLE-LIST P-IT-OBJECT RESERVE-INBUF
ARRIVED IN-FRONT-FLAG P-ITBL RESERVE-LEXV
AWAITING-REPLY IT-SEEMS-THAT P-LEN RESERVE-PTR
BABY-THROWN ITEM-BOUGHT P-LEXV RESTAURANT-HINTS
BOB-N JACK-IS P-MERGE RESUME-ANTS
BRAT-C JACKHAMMER-C P-MERGED RESUME-BRAT
C-INTS JOAT-HINTS P-MOBY-FOUND RESUME-DEAN
C-MAXINTS KILLING-BOB P-MULT ROOM-DESC-PRINTED
C-TABLE KNOCK-JOKE P-NAM S-BRAT
CANT-FLAG KNOCK-N P-NAMW S-FROST
CANT-FROM-HERE KREMLIN-ENTER P-NCN S-JACKHAMMER
CANT-GO LINE-TABLE P-NOT-HERE S-MURDERER
CANT-REACH-FLAG LOOK-AROUND P-NUMBER S-WAITRESS
CLIENT-C LOUSE-ON-HEAD P-OCLAUSE SCENE
CLOCK-HAND MATCH-N P-OFLAG SELF-JOKE
CLOCK-N MENU-FLAG P-OFW SHEETS-TIED
CLOCK-WAIT MERMAID-KISS P-OTBL SLINE
COLUMN-TABLE MERMAID-WARM P-OVTBL SPONGE-FLAG
COMEDY-HINTS MINCE-EATEN P-PHR STANDS-STILL
CROWN-MADE MOVES P-PRSA-WORD SWUM-IN-RHINES
CUR-POS MUST-GO-BEGIN P-PRSI THERES-NOTHING
DATELINE NICE-HOLE P-PRSO TRANS-PRINTED
DEVICES-N NO-SALE P-SLOCBITS TURN-KLUDGE
DOG-PLAYS NOTHING-NEW P-SYNTAX UPDATE-SCORE?
DOLDRUMS-TABLE NOW-PRSI P-VTBL VERBOSITY
DOLDRUMS-WORD-N OFFENCES P-WALK-DIR WASTE-LIST
DONT-FLAG OK P-WON WEARING-IT
DONT-KNOW-WHERE OLD-HERE P-XADJ WEARING-THIN
DUELING-HINTS OOPS-INBUF P-XNAM WIDE
EIGHT-HINTS OOPS-TABLE PAN-N WIDTH
ELF-TOLD ORPHAN-DONT PEARL-TO-RIVER WIFE-N
FAILED ORPHAN-FLAG PERIOD WINNER
FARM-HINTS P-AADJ PICKED-FLAG WON-GAME
FIRST-TIME P-ACLAUSE PRSA YNH
FLY P-ADJ PRSI YOU-CANT
FOLLOW-FLAG P-ADJW PRSO YOU-SEE
FROST-C P-ANAM QUEST-NUM YOULL-HAVE-TO
HAZING-HINTS P-AND QUOTE-FLAG YOUR-CHAIR-KLUDGE
HERE P-BUTS RANK-Q YUK-LIST
HINT-TBL P-CONT RANK-TABLE
HINT-WARNING P-DIRECTION RANK-WARNING
HINTS-OFF P-END-ON-PREP REAL-AISLE
Objects: 286
ADVICE DUELING LAMP-SHADE PUTTING
AISLE EACH-OTHER LAUREL QUARTZ
ANTS EIGHT LAWS RAKE
APPLE ELECTRICAL-SWITCH LAYER-OF-FROST RANKS
APPLE-CART ELF LEOPARD RAT
ATTIC EXPERIENCE LET-ROOM RECIPE-CARD
AUDIENCE EYES LET-SHELF REMOTE
BAD-BLOOD FACTORY LINEN REST-CHAIR
BAGS-OF-GRAIN FARM LINES REST-TABLE
BALL-OF-FUR FAUCET LOBBY RESTAURANT
BARN FIELD LOBOTOMY REVOLUTION
BARNYARD FIRE LOCAL-GLOBALS RHINES
BATHROOM FISHING-LINE LOCKS RIBBON
BATHROOM-DOOR FLOOR-1 LOCKS-DOOR RIDDLE-BOOK
BEAN-STALK FLOOR-2 LOFT RIOT-ACT
BEAR-CLAUSE FLOUR LOUIS-CHAIR ROAD
BEETS FOAM MAN-WOMAN ROAST
BEFORE-MANOR FOOT MANICOTTI-ROOM ROCKS
BIRDS FORTUNE MANICOTTI-SHELF ROOMS
BLESSING FREEZER MANOR SAFE
BLUSHING-CROW FRIDGE MANTEL SAIL
BOB FRONT-DOOR MARE SALT-SHAKER
BOB-SHOE FRONT-ROOM MARKET SAND
BOX FROST MARX SCENT
BOX-BOY FROST-ROOM MAT SHINING-DOOR
BOXES GLOBAL-OBJECTS MATCH SHORE
BRANCH GLOBAL-ROOM ME SHOULDER
BRAT GLOBAL-SLEEP MEDICINES SHRIFT
BRITISH-ROOM GLOVES MERMAID SIDE-OF-BARN
BRITISH-SHELF GOAT MESS SIGN
BUSHES GOOSE MICE SIX-PACK
CABINET GRAIN MILK SKELETON
CAN GRAIN-OF-SALT MINCE SLEEVES
CAPE GRASS MOLEHILL SMOCK
CART GRINDSTONE MOOSE SNOW
CAT GROUND MOUNTAIN SOW-EAR
CAT-BAG HABIT MOUTH SPLEEN
CEILING HAMMER MURDERER SPONGE
CELLAR HANDS MUSSEL-ROOM SQUARE
CELLAR-ROOM HATCHET MUSSEL-SHELF STABLE
CEREALS HAYSTACK MUSSELS STAIRS
CHASMS HAZING NAPKIN STALK-ROOM
CHIP HEAD NEAR-POND START-OBJ
CLEARING HER NECKLACE STARTING-ROOM
CLIENT HIM NEEDLE STATIONARY
CLIENT-NEEDLE HORN NOSE STEAK
CLOCK HORSE NOT-HERE-OBJECT STICK
CLOCK-KEY HORSE-RIBBON OATS STOCK-ROOM
CLOSET HOT-TUB OLD-BOTTLE STONE
CLOUD HOUSE OLD-DOG STUMP
CLOUD-ROOM HUMBLE-PIE OLIVE-TREE SWORDS
COALS ICE OX TACKS
COAT ICICLE PAINT TAIL
COMB ID-ROOM PAN TOWN-HOUSE
COMEDY ILL-ROOM PAN-KEY TRICKS
COMEUPPANCE ILL-SHELF PAN-OF-KEYS TROUGH
CONCOCTION INTDIR PEARL TUB
COOK INTNUM PENNY TUB-WATER
CORD IT PEPPERS TV
CRANK JACK-HOUSE PHARMACY TV-KITCHEN
CROPS JACK-ROOM PI UMBRAGE
CROW JACKVILLE PIECE-OF-METAL WAITRESS
DANDER JAMB PIG WALL
DEAN JAR PILLOW WARNING
DECREE JEAN-STOCK PIPE WASTELAND
DESSERT-ROOM JOAT PIPER WATER
DESSERTS KITCHEN PLOWSHARES WATER-BOTTLE
DEVICES KNIFE POND-ROOM WIFE
DISGUISE KREMLIN PRETENSES WOOL
DOLDRUMS LACE PRIDE YOUR-CHAIR
DONKEY LADDER PROTAGONIST
DUCK LAMP PURSE
Properties: 33
P?ACTION P?GENERIC P?NEW-TO-OLD P?PICK-IT P?SOUTH
P?ADJECTIVE P?GLOBAL P?NEWDESC P?SCENE-CUR P?SW
P?CAPACITY P?IN P?NORTH P?SCENE-ROOM P?SYNONYM
P?DESCFCN P?JACKDESC P?NW P?SCENE-SCORE P?UP
P?DOWN P?LDESC P?OLD-TO-NEW P?SDESC P?WEST
P?EAST P?MAX-SCORE P?OLDDESC P?SE
P?FDESC P?NE P?OUT P?SIZE
Flags: 46
ACTORBIT INVISIBLE OPENBIT TAKEBIT
BURNBIT KLUDGEBIT PARTBIT TOUCHBIT
CONTBIT LIGHTBIT PHRASEBIT TRANSBIT
DESC-IN-ROOMBIT LOCKEDBIT PLURALBIT TRANSFORMED
DOORBIT N0-D-CONT RANKBIT TRYTAKEBIT
FEMALEBIT NARTICLEBIT READBIT VEHBIT
FIRST-TIMEBIT NDESCBIT RLANDBIT VOWELBIT
FOODBIT NO-D-CONT RMUNGBIT WEARBIT
HEARDBIT NOA SCENEBIT WONBIT
INBIT NOALL SEARCHBIT WORNBIT
INDOORSBIT OLDBIT SEENBIT
INTEGRALBIT ONBIT SURFACEBIT

1
j3.serial Normal file
View File

@ -0,0 +1 @@
48

333
j3.str Normal file
View File

@ -0,0 +1,333 @@
2 30 "That would be against the law."
2 18 "Don't eat profits."
2 16 "You already are."
2 16 "Nowhere directly"
2 15 "You go there..."
2 15 " is now closed."
2 14 " a package of "
5 13 "The waitress "
2 13 " you want to "
2 10 " your hand"
2 9 "You walk "
2 9 " contains"
2 8 "You find"
2 8 "It seems"
2 8 "'s size."
2 8 " you see"
2 7 "You're "
2 6 "closed"
3 6 "Taken."
2 6 " here!"
2 5 "about"
2 5 "Well,"
4 5 "Okay,"
2 5 "Done."
5 5 " the "
2 4 "your"
3 4 "the "
3 4 "tell"
3 4 "open"
5 4 "down"
28 4 "The "
2 4 "How?"
4 4 "Down"
2 4 " is "
3 4 " has"
3 4 " are"
2 4 " any"
2 3 "put"
2 3 "off"
2 3 "n't"
2 3 "lox"
3 3 "her"
5 3 "You"
2 3 "She"
2 3 "Out"
12 3 "But"
2 3 "..."
2 3 " on"
3 3 " is"
4 3 " in"
2 3 " do"
5 2 "up"
5 2 "on"
6 2 "in"
2 2 "at"
2 2 "It"
7 2 "A "
4 2 "?]"
2 2 ": "
4 2 ".\""
2 2 ". "
20 2 ", "
4 1 "s"
5 1 "o"
3 1 "n"
3 1 "i"
3 1 "]"
3 1 "["
2 1 "O"
11 1 ">"
39 1 "."
2 1 ","
3 1 "\""
6 1 "!"
19 1 " "
< 32 "You're barking up the wrong tree."
< 32 "You're barking up the wrong tree!"
< 30 "Congratulations are in order. You're ranked as..."
< 30 "Congratulations are in order. Having braved mutable strangeness and
having made the heroic gesture of a rescue, you make possible the reuniting
in joy of a grateful Punster family. This feat earns you the rank of "
< 25 "There's no one here to show it to."
< 24 "Your brother-in-law Bob swings open the refrigerator door, loads himself
down, shuts the fridge door with his knee, and with his movable feast
shuffles back into the living room."
< 24 "Your brother-in-law Bob is kicking back on
your favorite chair, feeding his face and staring at the television"
< 24 "You hear a stage whisper, \"Another move like that and the light's going
to be out on his career.\""
< 24 "You hear a stage whisper that stops you: \"He might as well be pulling
the plug on his career.\""
< 23 "You don't know the way there."
< 23 "You don't know the way back."
< 23 "There's no one here to shake hands with."
< 23 "There's no one here to "
< 22 "From the looks of it, you've been given the "
< 22 "From the looks of it, her answer to your "
< 22 "An avalanche of boxes tumble down as the box boy keeps putting new ones on
the shelves."
< 22 "An avalanche of boxes slopes down from the shelf"
< 20 "Your brother-in-law trips you up."
< 20 "Whom do you want to turn the tables on?"
< 20 "Whom do you want to make small talk with?"
< 20 "This is no time for such vain self-congratulation."
< 20 "There's no key to this problem of locks."
< 20 "There's no key to these locks."
< 20 "The ice is too thick here. My job is to make things cold for you, not let
you have fun."
< 19 "This is no time for pigging out on"
< 19 "This is no time for"
< 18 "You haven't even mixed it up with the waitress. So there's no need to take
it up with the cook yet."
< 18 "You haven't even met the farmer's daughter yet."
< 18 "The old brass horn suddenly radiates through its tarnished surface a deep
amber glow of indignation, and trumpets out a sharp rebuke in a nasty off-key
pitch that seems to accuse you of taking hold of itself without rightfully
owning it."
< 18 "The old brass horn"
< 18 "GIVE THE WAITRESS SHORT SHRIFT"
< 18 "GIVE THE WAITRESS HER COMEUPPANCE"
< 18 "GIVE THE WAITRESS AN EVIL EYE"
< 17 "You don't have a weapon."
< 17 "You don't have a leg to stand on."
< 17 "You are standing in a fertile valley among the tall and lush crops in
the field. Mountains bordering the valley serve to shield the fields
from damaging wind storms."
< 17 "You are standing at the edge of a barren field that is reminiscent of the dust
bowl days. A steady wind, having secreted away the topsoil, is now drifting
sandy dirt across the plain. A scant sign of life here is a freshly burrowed
molehill on the ground."
< 17 "The crowd boos, stopping your hand. \"Booo... boooo.\""
< 17 "The crowd boos, so you back away instead"
< 17 "Congratulations. You have been nimble and you have been quick. Punster will
from here on out enjoy better relations with its northern neighbor, Jackville.
The Citizen's Action Committee does hereby confer upon you the title of "
< 17 " sits in the dusty road here."
< 17 " sits in the dust at the side of the road, feeling all of the spirit of gravity, looking dog-eared and worn out by a lifetime on
the farm"
< 16 "be more specific.]"
< 16 "be more specific about how you want to use"
< 16 "You're standing in front of a large but oddly shaped manor house. From
the outside, it looks as if its individual rooms have been haphazardly
constructed and are out of proportion with each other. This has a slight
disorienting effect."
< 16 "You're standing here in the barnyard, a meager patch of scratched earth. "
< 16 "You don't have any money"
< 16 "You can't use \"and\" that way."
< 16 "You can't use \"all\" that way."
< 16 "You already haven't"
< 16 "You already have"
< 16 "That would be extremely painful."
< 16 "That would be excessively rakish behavior."
< 16 "Not a bad idea, since the "
< 16 "Not a bad idea, but t"
< 16 "It doesn't look like"
< 16 "It doesn't look as if"
< 16 "Congratulations on your personal hygiene, but"
< 16 "Congratulations for the completion of these
19 chores. You have transformed their abandoned husk of a farm into a horn of
plenty. The McCleary's, under your tutelage, have learned much about
how to manage their farm, coping with the tough realities of modern
farming. After this long period of want, the townspeople of Punster will
feast heartily upon the fruits of your labor. You shall be honored by
them with the rank of "
< 16 ".||
The mermaid, having been warmed by the dip in the hot tub, and freed of
the entanglement of the fishing line, appears ready to brave the frigid
waters for a long swim to warmer regions. She hyperventilates for a few
moments and braces herself with a frenetic self-hug, stopping to give you
a smile with her thin lips.|
|
She bids farewell, and slips back into the frigid water, causing a
little plop of water as her tail fin disappears beneath the surface"
< 16 ".||
The mermaid is also in the hot tub, smiling with her eyes closed as
she swims "
< 16 " doesn't seem too upset."
< 16 " doesn't seem to grow much."
< 15 "[You can't see that here!]"
< 15 "[You can't see "
< 15 "You're already wearing"
< 15 "You're already standing."
< 15 "You're already juggling as many items as you could possibly carry."
< 15 "You're already here."
< 15 "You don't have such an eye now."
< 15 "You don't have nearly enough gall to storm into the kitchen, but you're
getting there."
< 15 "The mermaid is tall, curvaceous and attractive, even with her long blond hair
dripping wet"
< 15 "The mermaid is swimming circles around you in the well-insulated hot
tub, her long silken blond hair streaming through the steamy water. "
< 15 "The mermaid is floating upright and swimming, with some difficulty, to and
fro under the surface of the ice. Her long blond hair drifts back and forth
following the undulating motion of her body"
< 15 "The ice is too thick"
< 15 "The ice is too firmly attached."
< 15 "Refer to it as a LAME DUCK."
< 15 "Refer to it as A DOOR."
< 15 "It looks like the horse has drunk a lot of water."
< 15 "It looks like ten percent fewer cavities."
< 15 "Congratulations. Having rid the manor of its unwanted, if spirited,
visitors you thereby, in the eyes of the Citizens' Action Committee,
earn the title of "
< 15 ", having been smashed back into his currently thin man-sized
shape, stands here looking disheveled and shaken"
< 15 ", having been scrubbed from head to toe, is a towering
figure of a man."
< 15 " down the aisle to him. He summarily bites "
< 15 " down the aisle"
> 27 " in disguise\" doesn't have the right ring to it."
> 27 "That phrase have the right ring to it."
> 26 "You hear someone behind the flimsy door whisper, \"Another move like that
and his career's in the toilet too,\" which stops you in your tracks."
> 26 "The urgency of the unseen voice stops you in your tracks."
> 26 "Closing his book with a hollow thud, the shepherd uses a stick
to scrawl a two-line message on the shore. And then, looking with grand vision
toward the tributaries of the Rhine River,
our loving shepherd turns tail, walks away from the shore,
and disappears in the distance as he leads between the Rhines."
> 26 "Shepherd leads between the Rhines."
> 25 "You can't get there from here."
> 25 "Can't get there from here."
> 24 "The door jamb is tight against the door."
> 24 "Although you tug your hardest, you can
see the door jamb is too tight against the door."
> 23 "Finding nothing of interest here, the aunts walk in a line around the corner
of the aisle and out of sight."
> 23 "With a final karate chop to your leg, the little girl spirits off down the
aisle and out of sight."
> 22 "Old Factory, Stock Room"
> 22 "Shore, Old Factory, Stock Room"
> 22 " It offers much shelter from the cold, which is now nipping at your nose."
> 22 "There continues to be an annoying bitter cold frost nipping at your nose."
> 22 "You can barely see your hand in front of your face, but you can't miss
the personification of frosty weather himself nipping at your nose."
> 21 "Find it in the medicine cabinet."
> 21 "You look a little peaked to yourself, reflected in the mirror of
the medicine cabinet."
> 21 "The peas in the can simmer briefly and furiously but nothing else happens."
> 21 "The hinges creak eerily as the door moves slowly back and forth, but
nothing else happens."
> 21 "They are too busy gossiping among themselves."
> 21 "The milling aunts are gawking and talking among themselves."
> 21 ", kicking her feet in frustration,
continues to shine on the door."
> 21 " appears
to shine on the door."
> 21 "not all that appetizing."
> 21 ", they don't look all that appetizing."
> 21 "'s stubborn as a mule."
> 21 "He's stubborn as a mule."
> 19 "[There were too many nouns in that sentence.]"
> 18 "Super-brief descriptions."
> 18 "Brief descriptions."
> 18 " is hanging against the door and flailing her legs into
air. The operative words in this absurd predicament seem to be that she
appears to \"shine on the door.\""
> 18 "\"Shine on the door.\""
> 17 ",\" says the piper."
> 17 "\"Not quite the right phrasing,\" says the piper."
> 17 "It's firmly attached."
> 17 "The ice is too firmly attached."
> 16 "[There seems to be a noun missing in that sentence.]"
> 16 "[I couldn't understand that sentence.]"
> 16 "The mohair of the hat ruffles a couple of times, but that's it."
> 16 "The spiraled seams flex and tighten, but that's it."
> 16 " faces you open-mouthed, and his bad breath caused by
all his recent activity drives you back down the aisle."
> 16 "They're crawling in a line down the aisle."
> 16 "A mermaid swims desperately under the suface of the ice."
> 16 "You knock a wide circle of frost away from the ice, allowing you to see an
astonishing sight below the ice: A woman's face with her large beautiful
eyes wide open and her long, blond hair drifting back and forth as she swims
side to side below the surface of the ice."
> 16 "||
A line of sheets hangs down from the cloud."
> 16 "You are surrounded by a swirling, blinding cloud. You feel your limbs going
relaxed and your eyelids are buffeted with sand from the cloud."
> 16 ".||
If at any time in your travels you wish to tackle another situation, indicate
BEGINNING, and you shall return here empty-handed."
> 16 "You're empty-handed."
> 16 "Jimmy \"Fat Baby\" Kazooli reclines in the bathtub."
> 16 "The mayor is sitting in the bathtub."
> 16 "You hear a stage whisper, \"Another move like that and the light's going
to be out on his career.\""
> 16 "You hear a stage whisper that stops you: \"He might as well be pulling
the plug on his career.\""
> 16 "One hand slips off the handle and hits the switch. The jackhammer
coughs, wheezes and shudders to a halt. All the features of the "
> 16 "The long piece of metal, in reality the glistening, razor-sharp blade of a
jackknife, pivots out of its handle and with a \"snap!\" all the other
features of the "
> 15 "The cook begins gathering his own devices, as flames lick up around the rim
of the frying pan"
> 15 "Flames intensify up around the frying pan"
> 15 "VENT MY SPLEEN UPON THE WAITRESS"
> 15 "TURN THE TABLES ON THE WAITRESS"
> 15 ". Also on the mantel:"
> 15 " Resting on the mantel:"
> 15 "He rips it away from you."
> 15 "The mermaid covers up her necklace and shrinks away from you."
> 15 "The fragile bottle is smashed into smithereens."
> 15 "From the consequential uproar, there seems to be a
ring of truth in this phrase. In strong jets shooting at varying
trajectories, the bathwater in the tub begins first to spout off.
Suddenly, this messy but harmless spectacle of the spouts is over, and
angry riptides ruffle the water's surface. Now with the tidal force of
lunar determination, the bathwater polarizes itself around the edges of
the tub and even higher, engulfing the mayor and leaving a wide funnel
of air in the middle of the tub.|
|
As the gathering water reaches a critical peak, it pauses for one brief
moment, and now with an awful suddenness collapses into itself to form
a fearful wave of tubular shape and seismic strength. It gushes in front
of your face and toward the stairs in a torrent, through which you can
see the strange slow-motion figure of the mayor swimming half in air
and half in water. Following the mayor inside the wave and down the
stairway is the tub itself, which, out of your sight, makes the terrible
crashing noise of porcelain going to smithereens."
> 15 "As you touch the bag you hear \"Meow... Meow.\" You gingerly pick up the
bag. It continues moving slowly in your hands."
> 15 "Having pulled the wool over the waitress's eyes, you snatch the neon sign,
which glows warm in your hands."
> 15 "You'd never make it up the stalk while holding anything in your hands."
> 15 "\"Snap!\" The branch comes off in your hands."
> 15 "fill your belly with the warmth of smoked salmon."
> 15 "You \"unlox\" the door by gathering the smoked salmon."
> 15 "man's voice from the other side of your front door. \"Knock knock.\""
> 15 "Bob stays in there several very tense minutes, without making a sound.
Just when you think it's about time to call a professional, Bob's silence
is suddenly broken by the words, \"Knock knock.\""

BIN
j3.zip

Binary file not shown.

703
misc.zil Normal file
View File

@ -0,0 +1,703 @@
"TELLS for
LEATHER GODDESSES OF PHOBOS
(c) Copyright 1986 Infocom, Inc. All Rights Reserved."
;"macros"
<TELL-TOKENS (CRLF CR) <CRLF>
D ,SIDEKICK <DPRINT-SIDEKICK>
D * <DPRINT .X>
A * <APRINT .X>
T ,PRSO <TPRINT-PRSO>
T ,PRSI <TPRINT-PRSI>
T * <TPRINT .X>
AR * <ARPRINT .X>
TR * <TRPRINT .X>
N * <PRINTN .X>
C * <PRINTC .X>>
<DEFMAC VERB? ("ARGS" ATMS)
<MULTIFROB PRSA .ATMS>>
<DEFMAC PRSO? ("ARGS" ATMS)
<MULTIFROB PRSO .ATMS>>
<DEFMAC PRSI? ("ARGS" ATMS)
<MULTIFROB PRSI .ATMS>>
<DEFMAC ROOM? ("ARGS" ATMS)
<MULTIFROB HERE .ATMS>>
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .OO 1> <ERROR .X>)
(<LENGTH? .OO 2> <NTH .OO 2>)
(ELSE <CHTYPE .OO FORM>)>>)>
<REPEAT ()
<COND (<EMPTY? .ATMS> <RETURN!->)>
<SET ATM <NTH .ATMS 1>>
<SET L
(<COND (<TYPE? .ATM ATOM>
<CHTYPE <COND (<==? .X PRSA>
<PARSE
<STRING "V?"
<SPNAME .ATM>>>)
(ELSE .ATM)> GVAL>)
(ELSE .ATM)>
!.L)>
<SET ATMS <REST .ATMS>>
<COND (<==? <LENGTH .L> 3> <RETURN!->)>>
<SET O <REST <PUTREST .O
(<FORM EQUAL? <CHTYPE .X GVAL> !.L>)>>>
<SET L ()>>>
<DEFMAC BSET ('OBJ "ARGS" BITS)
<MULTIBITS FSET .OBJ .BITS>>
<DEFMAC BCLEAR ('OBJ "ARGS" BITS)
<MULTIBITS FCLEAR .OBJ .BITS>>
<DEFMAC BSET? ('OBJ "ARGS" BITS)
<MULTIBITS FSET? .OBJ .BITS>>
<DEFINE MULTIBITS (X OBJ ATMS "AUX" (O ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .O 1> <NTH .O 1>)
(<EQUAL? .X FSET?> <FORM OR !.O>)
(ELSE <FORM PROG () !.O>)>>)>
<SET ATM <NTH .ATMS 1>>
<SET ATMS <REST .ATMS>>
<SET O
(<FORM .X
.OBJ
<COND (<TYPE? .ATM FORM> .ATM)
(ELSE <FORM GVAL .ATM>)>>
!.O)>>>
<DEFMAC RFATAL ()
'<PROG () <PUSH 8> <RSTACK>>>
<DEFMAC PROB ('BASE?)
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
;<ROUTINE PICK-ONE (FROB)
<GET .FROB <RANDOM <GET .FROB 0>>>>
;"this new PICK-ONE won't begin repeating any of the items in the table until
they've all been used."
<ROUTINE PICK-ONE (TBL "AUX" LENGTH CNT RND MSG RFROB)
<SET LENGTH <GET .TBL 0>>
<SET CNT <GET .TBL 1>>
<SET LENGTH <- .LENGTH 1>>
<SET TBL <REST .TBL 2>>
<SET RFROB <REST .TBL <* .CNT 2>>>
<SET RND <RANDOM <- .LENGTH .CNT>>>
<SET MSG <GET .RFROB .RND>>
<PUT .RFROB .RND <GET .RFROB 1>>
<PUT .RFROB 1 .MSG>
<SET CNT <+ .CNT 1>>
<COND (<==? .CNT .LENGTH>
<SET CNT 0>)>
<PUT .TBL 0 .CNT>
.MSG>
<ROUTINE DPRINT (OBJ)
<COND (<EQUAL? .OBJ ,SULTANS-WIFE>
<TELL "Sultan">
<COND (,MALE
<TELL "'s wife #">)
(T
<TELL "ess' husband #">)>
<PRINTN ,CHOICE-NUMBER>)
(<FSET? .OBJ ,UNTEEDBIT>
<TELL <GETP .OBJ ,P?NO-T-DESC>>)
(<GETP .OBJ ,P?SDESC>
<TELL <GETP .OBJ ,P?SDESC>>)
(T
<PRINTD .OBJ>)>>
<ROUTINE DPRINT-SIDEKICK ()
<DPRINT ,SIDEKICK>>
<ROUTINE APRINT (OBJ)
<COND (<FSET? .OBJ ,NARTICLEBIT>
<TELL " ">)
(<FSET? .OBJ ,VOWELBIT>
<TELL " an ">)
(T
<TELL " a ">)>
<DPRINT .OBJ>>
<ROUTINE TPRINT (OBJ)
<COND (<FSET? .OBJ ,NARTICLEBIT>
<TELL " ">)
(T
<TELL " the ">)>
<DPRINT .OBJ>>
<ROUTINE TPRINT-PRSO ()
<TPRINT ,PRSO>>
<ROUTINE TPRINT-PRSI ()
<TPRINT ,PRSI>>
<ROUTINE ARPRINT (OBJ)
<APRINT .OBJ>
<TELL ,PERIOD>>
<ROUTINE TRPRINT (OBJ)
<TPRINT .OBJ>
<TELL ,PERIOD>>
<DEFINE PSEUDO ("TUPLE" V)
<MAPF ,PLTABLE
<FUNCTION (OBJ)
<COND (<N==? <LENGTH .OBJ> 3>
<ERROR BAD-THING .OBJ>)>
<MAPRET <COND (<NTH .OBJ 2>
<VOC <SPNAME <NTH .OBJ 2>> NOUN>)>
<COND (<NTH .OBJ 1>
<VOC <SPNAME <NTH .OBJ 1>> ADJECTIVE>)>
<3 .OBJ>>>
.V>>
;"MAIN-LOOP and associated routines"
<CONSTANT M-BEG 1>
<CONSTANT M-ENTER 2>
<CONSTANT M-LOOK 3>
<CONSTANT M-FLASH 4>
<CONSTANT M-OBJDESC 5>
<CONSTANT M-END 6>
<CONSTANT M-SMELL 7>
<CONSTANT M-FATAL 8>
<CONSTANT M-OBJDESC? 9>
<ROOM WARNING
(IN ROOMS)
(DESC "WARNING!")
(SYNONYM ZZMGCK) ;"No, this synonym doesn't need to exist... sigh">
<ZSTART GO> ;"else, ZIL gets confused between verb-word GO and routine GO"
<ROUTINE GO () ;"NOTE: this routine CANNOT have any local variables"
<SETG HERE ,WARNING>
<USL>
<TELL
" Some material in this story may not be suitable for children, especially
the parts involving sex, which no one should know anything about until
reaching the age of eighteen (twenty-one in certain states). This story is
also unsuitable for censors, members of the Moral Majority, and anyone
else who thinks that sex is dirty rather than fun.|
The attitudes expressed and language used in this story are representative
only of the views of the author, and in no way represent the views of Infocom,
Inc. or its employees, many of whom are children, censors, and members of the
Moral Majority. (But very few of whom, based on last year's Christmas Party,
think that sex is dirty.)|
By now, all the folks who might be offended by " ,LGOP-CAPS " have whipped
their disk out of their drive and, evidence in hand, are indignantly huffing
toward their dealer, their lawyer, or their favorite repression-oriented
politico. So.." ,HIT-RETURN "begin!">
<READ ,P-INBUF ,P-LEXV>
<CLEAR-SCREEN>
<SETG WINNER ,PROTAGONIST>
<SETG HERE ,JOES-BAR>
<USL>
<TELL
"The place: Upper Sandusky, Ohio. The time: 1936. The beer: at a nickel
a mug, you don't ask for brand names. All you know is that your fifth
one tasted as bad as the first." CR CR>
<V-VERSION>
<CRLF>
<V-LOOK>
<I-URGE>
<MAIN-LOOP>
<AGAIN>>
<ROUTINE CLEAR-SCREEN ("AUX" (CNT 24))
<REPEAT ()
<CRLF>
<SET CNT <- .CNT 1>>
<COND (<0? .CNT>
<RETURN>)>>>
<ROUTINE MAIN-LOOP ("AUX" TRASH)
<REPEAT ()
<SET TRASH <MAIN-LOOP-1>>>>
<ROUTINE MAIN-LOOP-1 ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
<SET CNT 0>
<SET OBJ <>>
<SET PTBL T>
<COND (<SETG P-WON <PARSER>>
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
<SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>
<COND (<AND ,P-IT-OBJECT
<ACCESSIBLE? ,P-IT-OBJECT>>
<SET TMP <>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .ICNT>
<RETURN>)
(T
<COND (<EQUAL? <GET ,P-PRSI .CNT> ,IT>
<COND (<TOO-DARK-FOR-IT?> <RTRUE>)>
<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>
<COND (<TOO-DARK-FOR-IT?> <RTRUE>)>
<PUT ,P-PRSO .CNT ,P-IT-OBJECT>
<RETURN>)>)>>)>
<SET CNT 0>)>
<SET NUM <COND (<0? .OCNT>
.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 (<EQUAL? ,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 ,TOO-DARK CR>
<STOP>)
(T
<TELL "There isn't anything to ">
<SET TMP <GET ,P-ITBL ,P-VERBN>>
<COND (<VERB? TELL>
<TELL "talk to">)
(<OR ,P-OFLAG ,P-MERGED>
<PRINTB <GET .TMP 0>>)
(T
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>)>
<TELL "!" CR>
<SET V <>>
<STOP>)>)
(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>
<REFERRING>)>
<RETURN>)
(T
<COND (.PTBL
<SET OBJ1 <GET ,P-PRSO .CNT>>)
(T
<SET OBJ1 <GET ,P-PRSI .CNT>>)>
<SETG PRSO <COND (.PTBL
.OBJ1)
(T
.OBJ)>>
<SETG PRSI <COND (.PTBL
.OBJ)
(T
.OBJ1)>>
<COND (<OR <G? .NUM 1>
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0>
,W?ALL
,W?EVERYT>>
<COND (<DONT-ALL .OBJ1>
<AGAIN>)
(T
<COND (<EQUAL? .OBJ1 ,IT>
<TELL D ,P-IT-OBJECT>)
(<EQUAL? .OBJ1 ,HIM>
<TELL D ,P-HIM-OBJECT>)
(<EQUAL? .OBJ1 ,HER>
<TELL D ,P-HER-OBJECT>)
(T
<TELL D .OBJ1>)>
<TELL ": ">)>)>
<SET TMP T>
<SET V <PERFORM-PRSA ,PRSO ,PRSI>>
<COND (<EQUAL? .V ,M-FATAL>
<RETURN>)>)>>)>
<COND (<EQUAL? .V ,M-FATAL>
<SETG P-CONT <>>)>
<COND (<AND <CLOCKER-VERB?>
<NOT <VERB? TELL>>
,P-WON ;"fake YOU CANT SEE responses set P-WON to false">
<SET V <APPLY <GETP ,HERE ,P?ACTION> ,M-END>>)>)
(T
<SETG P-CONT <>>)>
<COND (,P-WON
<COND (<CLOCKER-VERB?>
<SET V <CLOCKER>>)>
<SETG P-PRSA-WORD <>>
;"else, when input is just a direction, P-PRSA-WORD will remain
whatever it was for the previous turn"
<SETG PRSA <>>
<SETG PRSO <>>
<SETG PRSI <>>)>
<COND (<AND ,AWAITING-FAKE-ORPHAN
<NOT ,P-OFLAG>>
<ORPHAN-VERB>)>>
<ROUTINE TOO-DARK-FOR-IT? ()
<COND (<AND <NOT ,LIT>
<NOT <ULTIMATELY-IN? ,P-IT-OBJECT ,WINNER>>
<NOT <IN? ,WINNER ,P-IT-OBJECT>>>
<TELL ,TOO-DARK CR>
<RTRUE>)>>
<ROUTINE DONT-ALL (OBJ1 "AUX" (L <LOC .OBJ1>))
;"RFALSE if OBJ1 should be included in the ALL, otherwise RTRUE"
<COND (<EQUAL? .OBJ1 ,NOT-HERE-OBJECT>
<SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>
<RTRUE>)
(<AND <VERB? TAKE> ;"TAKE prso FROM prsi and prso isn't in prsi"
,PRSI
<NOT <IN? ,PRSO ,PRSI>>>
<RTRUE>)
(<NOT <ACCESSIBLE? .OBJ1>> ;"can't get at object"
<RTRUE>)
(<EQUAL? ,P-GETFLAGS ,P-ALL> ;"cases for ALL"
<COND (<AND ,PRSI
<PRSO? ,PRSI>>
<RTRUE>)
(<VERB? TAKE>
;"TAKE ALL and object not accessible or takeable"
<COND (<AND <NOT <FSET? .OBJ1 ,TAKEBIT>>
<NOT <FSET? .OBJ1 ,TRYTAKEBIT>>>
<RTRUE>)
(<AND <NOT <EQUAL? .L ,WINNER ,HERE ,PRSI>>
<NOT <EQUAL? .L <LOC ,WINNER>>>>
<COND (<AND <FSET? .L ,SURFACEBIT>
<NOT <FSET? .L ,TAKEBIT>>> ;"tray"
<RFALSE>)
(T
<RTRUE>)>)
(<AND <NOT ,PRSI>
<ULTIMATELY-IN? ,PRSO>> ;"already have it"
<RTRUE>)
(T
<RFALSE>)>)
(<AND <VERB? DROP PUT PUT-ON GIVE SGIVE>
;"VERB ALL, object not held"
<NOT <IN? .OBJ1 ,WINNER>>>
<RTRUE>)
(<AND <VERB? PUT PUT-ON> ;"PUT ALL IN X,obj already in x"
<NOT <IN? ,PRSO ,WINNER>>
<ULTIMATELY-IN? ,PRSO ,PRSI>>
<RTRUE>)>)>>
<ROUTINE CLOCKER-VERB? ()
<COND (<VERB? VERSION HELP STATUS $RECORD $UNRECORD $COMMAND $RANDOM
SAVE RESTORE RESTART QUIT SCRIPT UNSCRIPT
BRIEF SUPER-BRIEF VERBOSE LEWD TAME SUGGESTIVE>
<RFALSE>)
(T
<RTRUE>)>>
<GLOBAL P-WON <>>
<GLOBAL P-MULT <>>
<GLOBAL P-NOT-HERE 0>
<ROUTINE FAKE-ORPHAN ("OPTIONAL" (IT-WAS-USED <>) "AUX" TMP)
<ORPHAN ,P-SYNTAX <>>
<SET TMP <GET ,P-OTBL ,P-VERBN>>
<TELL "[Be specific: Wh">
<COND (.IT-WAS-USED
<TELL "at object">)
(T
<TELL "o">)>
<TELL " do you want to ">
<COND (<EQUAL? .TMP 0>
<TELL "tell">)
(<0? <GETB ,P-VTBL 2>>
<PRINTB <GET .TMP 0>>)
(T
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>
<PUTB ,P-VTBL 2 0>)>
<SETG P-OFLAG T>
<SETG P-WON <>>
<PREP-PRINT <GETB ,P-SYNTAX ,P-SPREP1>>
<TELL "?]" CR>>
<ROUTINE PERFORM-PRSA ("OPTIONAL" (O <>) (I <>))
<PERFORM ,PRSA .O .I>>
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
;<COND (,DEBUG
<TELL "[Perform: ">
%<COND (<GASSIGNED? ZILCH>
'<TELL N .A>)
(T
'<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>)>
<COND (.O
<TELL " / PRSO = ">
<COND (<NOT <EQUAL? .A ,V?WALK>>
<TELL D .O>)
(T
<TELL N .O>)>)>
<COND (.I <TELL " / PRSI = " D .I>)>
<TELL "]" CR>)>
<SET OA ,PRSA>
<SET OO ,PRSO>
<SET OI ,PRSI>
<SETG PRSA .A>
<COND (<EQUAL? ,IT .O .I>
<COND (<VISIBLE? ,P-IT-OBJECT>
<COND (<EQUAL? ,IT .O>
<SET O ,P-IT-OBJECT>)
(T
<SET I ,P-IT-OBJECT>)>)
(T
<COND (<NOT .I>
<FAKE-ORPHAN T>)
(T
<REFERRING>)>
<RFATAL>)>)>
<COND (<EQUAL? ,HIM .O .I>
<COND (<VISIBLE? ,P-HIM-OBJECT>
<COND (<EQUAL? ,HIM .O>
<SET O ,P-HIM-OBJECT>)
(T
<SET I ,P-HIM-OBJECT>)>)
(T
<COND (<NOT .I>
<FAKE-ORPHAN>)
(T
<REFERRING T>)>
<RFATAL>)>)>
<COND (<EQUAL? ,HER .O .I>
<COND (<VISIBLE? ,P-HER-OBJECT>
<COND (<EQUAL? ,HER .O>
<SET O ,P-HER-OBJECT>)
(T
<SET I ,P-HER-OBJECT>)>)
(T
<COND (<NOT .I>
<FAKE-ORPHAN>)
(T
<REFERRING T>)>
<RFATAL>)>)>
<SETG PRSO .O>
<SETG PRSI .I>
<COND (<AND <NOT <EQUAL? .A ,V?WALK>>
<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>
<THIS-IS-IT ,PRSI>
<THIS-IS-IT ,PRSO>
<COND (<SET V <D-APPLY "Actor" <GETP ,WINNER ,P?ACTION>>>
.V)
;(<SET V <D-APPLY "M-Beg" <GETP ,HERE ,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 <EQUAL? .A ,V?WALK>>
<LOC .O>
<GETP <LOC .O> ,P?CONTFCN>
<SET V <D-APPLY "Cont" <GETP <LOC .O> ,P?CONTFCN>>>>
.V)
(<AND .O
<NOT <EQUAL? .A ,V?WALK>>
<SET V <D-APPLY "PRSO" <GETP .O ,P?ACTION>>>>
.V)
(<SET V <D-APPLY <> <GET ,ACTIONS .A>>>
.V)>)>
<SETG PRSA .OA>
<SETG PRSO .OO>
<SETG PRSI .OI>
.V>
<ROUTINE D-APPLY (STR FCN "OPTIONAL" (FOO <>) "AUX" RES)
<COND (<NOT .FCN> <>)
(T
;<COND (,DEBUG
<COND (<NOT .STR>
<TELL " Default ->" CR>)
(T
<TELL " " .STR " -> ">)>)>
<SET RES <COND (.FOO
<APPLY .FCN .FOO>)
(T
<APPLY .FCN>)>>
;<COND (<AND ,DEBUG
.STR>
<COND (<EQUAL? .RES ,M-FATAL>
<TELL "Fatal" CR>)
(<NOT .RES>
<TELL "Not handled">)
(T <TELL "Handled" CR>)>)>
.RES)>>
;"CLOCKER and related routines"
<GLOBAL C-TABLE %<COND (<GASSIGNED? ZILCH>
'<ITABLE NONE 30>)
(T
'<ITABLE NONE 60>)>>
<GLOBAL CLOCK-WAIT <>>
<GLOBAL C-INTS 60>
<GLOBAL C-MAXINTS 60>
<GLOBAL CLOCK-HAND <>>
<CONSTANT C-TABLELEN 60>
<CONSTANT C-INTLEN 4> ;"length of an interrupt entry"
<CONSTANT C-RTN 0> ;"offset of routine name"
<CONSTANT C-TICK 1> ;"offset of count"
<ROUTINE DEQUEUE (RTN)
<COND (<SET RTN <QUEUED? .RTN>>
<PUT .RTN ,C-RTN 0>)>>
<ROUTINE QUEUED? (RTN "AUX" C E)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<RFALSE>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<COND (<ZERO? <GET .C ,C-TICK>>
<RFALSE>)
(T
<RETURN .C>)>)>
<SET C <REST .C ,C-INTLEN>>>>
<ROUTINE RUNNING? (RTN "AUX" C E)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<RFALSE>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<COND (<OR <ZERO? <GET .C ,C-TICK>>
<G? <GET .C ,C-TICK> 1>>
<RFALSE>)
(T
<RTRUE>)>)>
<SET C <REST .C ,C-INTLEN>>>>
<ROUTINE QUEUE (RTN TICK "AUX" C E (INT <>)) ;"automatically enables as well"
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<COND (.INT
<SET C .INT>)
(T
<COND (<L? ,C-INTS ,C-INTLEN>
<TELL "**Too many ints!**" CR>)>
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
<COND (<L? ,C-INTS ,C-MAXINTS>
<SETG C-MAXINTS ,C-INTS>)>
<SET INT <REST ,C-TABLE ,C-INTS>>)>
<PUT .INT ,C-RTN .RTN>
<RETURN>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<SET INT .C>
<RETURN>)
(<ZERO? <GET .C ,C-RTN>>
<SET INT .C>)>
<SET C <REST .C ,C-INTLEN>>>
<COND (%<COND (<GASSIGNED? ZILCH>
'<G? .INT ,CLOCK-HAND>)
(T
'<L? <LENGTH .INT> <LENGTH ,CLOCK-HAND>>)>
<SET TICK <- <+ .TICK 3>>>)>
<PUT .INT ,C-TICK .TICK>
.INT>
<ROUTINE CLOCKER ("AUX" E TICK RTN (FLG <>) (Q? <>) OWINNER)
<COND (,CLOCK-WAIT
<SETG CLOCK-WAIT <>>
<RFALSE>)>
<SETG CLOCK-HAND <REST ,C-TABLE ,C-INTS>>
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET OWINNER ,WINNER>
<SETG WINNER ,PROTAGONIST>
<REPEAT ()
<COND (<EQUAL? ,CLOCK-HAND .E>
<SETG CLOCK-HAND .E>
<SETG MOVES <+ ,MOVES 1>>
<SETG WINNER .OWINNER>
<RETURN .FLG>)
(<NOT <ZERO? <GET ,CLOCK-HAND ,C-RTN>>>
<SET TICK <GET ,CLOCK-HAND ,C-TICK>>
<COND (<L? .TICK -1>
<PUT ,CLOCK-HAND ,C-TICK <- <- .TICK> 3>>
<SET Q? ,CLOCK-HAND>)
(<NOT <ZERO? .TICK>>
<COND (<G? .TICK 0>
<SET TICK <- .TICK 1>>
<PUT ,CLOCK-HAND ,C-TICK .TICK>)>
<COND (<NOT <ZERO? .TICK>>
<SET Q? ,CLOCK-HAND>)>
<COND (<NOT <G? .TICK 0>>
<SET RTN
%<COND (<GASSIGNED? ZILCH>
'<GET ,CLOCK-HAND ,C-RTN>)
(ELSE
'<NTH ,CLOCK-HAND
<+ <* ,C-RTN 2>
1>>)>>
<COND (<ZERO? .TICK>
<PUT ,CLOCK-HAND ,C-RTN 0>)>
<COND (<APPLY .RTN>
<SET FLG T>)>
<COND (<AND <NOT .Q?>
<NOT
<ZERO?
<GET ,CLOCK-HAND
,C-RTN>>>>
<SET Q? T>)>)>)>)>
<SETG CLOCK-HAND <REST ,CLOCK-HAND ,C-INTLEN>>
<COND (<NOT .Q?>
<SETG C-INTS <+ ,C-INTS ,C-INTLEN>>)>>>

1801
parser-lgop-to-ezip.zil Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1032,7 +1032,7 @@ The kitchen is equipped with, among other crude devices, a grindstone.">)
(DESC "cook")
(LDESC "The hulking, ill-mannered cook stands here.")
(SYNONYM COOK)
(FLAGS ACTORBIT DESC-IN-ROOMBIT CONTBIT OPENBIT SEARCHBIT NO-D-CONT)
(FLAGS ACTORBIT DESC-IN-ROOMBIT CONTBIT OPENBIT SEARCHBIT ;NO-D-CONT)
(ACTION COOK-F)>
;"phrasebit = turn cook into a laughing stock"

135
tells.zil
View File

@ -2,141 +2,6 @@
NORD AND BERT
(c) Copyright 1987 Infocom, Inc. All Rights Reserved."
;"macros"
<TELL-TOKENS (CRLF CR) <CRLF>
;[D ,SIDEKICK <DPRINT-SIDEKICK>]
D * <DPRINT .X>
A * <APRINT .X>
T ,PRSO <TPRINT-PRSO>
T ,PRSI <TPRINT-PRSI>
T * <TPRINT .X>
AR * <ARPRINT .X>
TR * <TRPRINT .X>
N * <PRINTN .X>
C * <PRINTC .X>
T-IS-ARE * <IS-ARE-PRINT .X>>
<DEFMAC VERB? ("ARGS" ATMS)
<MULTIFROB PRSA .ATMS>>
<DEFMAC PRSO? ("ARGS" ATMS)
<MULTIFROB PRSO .ATMS>>
<DEFMAC PRSI? ("ARGS" ATMS)
<MULTIFROB PRSI .ATMS>>
<DEFMAC ROOM? ("ARGS" ATMS)
<MULTIFROB HERE .ATMS>>
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .OO 1> <ERROR .X>)
(<LENGTH? .OO 2> <NTH .OO 2>)
(ELSE <CHTYPE .OO FORM>)>>)>
<REPEAT ()
<COND (<EMPTY? .ATMS> <RETURN!->)>
<SET ATM <NTH .ATMS 1>>
<SET L
(<COND (<TYPE? .ATM ATOM>
<CHTYPE <COND (<==? .X PRSA>
<PARSE
<STRING "V?"
<SPNAME .ATM>>>)
(ELSE .ATM)> GVAL>)
(ELSE .ATM)>
!.L)>
<SET ATMS <REST .ATMS>>
<COND (<==? <LENGTH .L> 3> <RETURN!->)>>
<SET O <REST <PUTREST .O
(<FORM EQUAL? <CHTYPE .X GVAL> !.L>)>>>
<SET L ()>>>
<DEFMAC BSET ('OBJ "ARGS" BITS)
<MULTIBITS FSET .OBJ .BITS>>
<DEFMAC BCLEAR ('OBJ "ARGS" BITS)
<MULTIBITS FCLEAR .OBJ .BITS>>
<DEFMAC BSET? ('OBJ "ARGS" BITS)
<MULTIBITS FSET? .OBJ .BITS>>
<DEFINE MULTIBITS (X OBJ ATMS "AUX" (O ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .O 1> <NTH .O 1>)
(<EQUAL? .X FSET?> <FORM OR !.O>)
(ELSE <FORM PROG () !.O>)>>)>
<SET ATM <NTH .ATMS 1>>
<SET ATMS <REST .ATMS>>
<SET O
(<FORM .X
.OBJ
<COND (<TYPE? .ATM FORM> .ATM)
(ELSE <FORM GVAL .ATM>)>>
!.O)>>>
<DEFMAC RFATAL ()
'<PROG () <PUSH 8> <RSTACK>>>
<DEFMAC PROB ('BASE?)
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
;"PICK-NEXT expects an LTABLE of strings, with an initial element of 2."
<ROUTINE PICK-NEXT (TBL "AUX" CNT STR)
<SET CNT <GET .TBL 1>>
<SET STR <GET .TBL .CNT>>
<INC CNT>
<COND (<G? .CNT <GET .TBL 0>>
<SET CNT 2>)>
<PUT .TBL 1 .CNT>
<RETURN .STR>>
<ROUTINE PICK-ONE (TBL "AUX" LENGTH CNT RND MSG RFROB)
<SET LENGTH <GET .TBL 0>>
<SET CNT <GET .TBL 1>>
<SET LENGTH <- .LENGTH 1>>
<SET TBL <REST .TBL 2>>
<SET RFROB <REST .TBL <* .CNT 2>>>
<SET RND <RANDOM <- .LENGTH .CNT>>>
<SET MSG <GET .RFROB .RND>>
<PUT .RFROB .RND <GET .RFROB 1>>
<PUT .RFROB 1 .MSG>
<SET CNT <+ .CNT 1>>
<COND (<==? .CNT .LENGTH>
<SET CNT 0>)>
<PUT .TBL 0 .CNT>
.MSG>
<ROUTINE DPRINT (OBJ)
<COND ;(<EQUAL? .OBJ ,SULTANS-WIFE>
<TELL "Sultan">
<COND (,MALE
<TELL "'s wife #">)
(T
<TELL "ess' husband #">)>
<PRINTN ,CHOICE-NUMBER>)
;(<FSET? .OBJ ,UNTEEDBIT>
<TELL <GETP .OBJ ,P?NO-T-DESC>>)
(<GETP .OBJ ,P?OLDDESC>
<COND (<FSET? .OBJ ,OLDBIT>
;<HLIGHT ,H-INVERSE>
<TELL <GETP .OBJ ,P?OLDDESC>>
;<HLIGHT ,H-NORMAL>)
(T
<TELL <GETP .OBJ ,P?NEWDESC>>)>)
(<AND <GETP .OBJ ,P?JACKDESC>
<EQUAL? .OBJ ,JACK-IS>>
<TELL <GETP ,JACK-IS ,P?JACKDESC>>)
(<GETP .OBJ ,P?SDESC>
<TELL <GETP .OBJ ,P?SDESC>>)
(T
<PRINTD .OBJ>)>>
;<ROUTINE DPRINT-SIDEKICK ()
<DPRINT ,SIDEKICK>>
<ROUTINE APRINT (OBJ)
<COND (<OR <FSET? .OBJ ,NARTICLEBIT>