mirror of
https://github.com/historicalsource/moonmist
synced 2024-04-26 14:09:36 +03:00
Final Revision
This commit is contained in:
parent
7dcf75bb74
commit
a2025f6d6c
1795
castle.zap
Normal file
1795
castle.zap
Normal file
File diff suppressed because it is too large
Load diff
2804
castle.zil
Normal file
2804
castle.zil
Normal file
File diff suppressed because it is too large
Load diff
754
colors.zap
Normal file
754
colors.zap
Normal file
|
@ -0,0 +1,754 @@
|
|||
|
||||
|
||||
.FUNCT INTRO
|
||||
PRINTI "
|
||||
You drove west from London all day in your new little British "
|
||||
PRINTD CAR
|
||||
PRINTI ". Now at last you've arrived in the storied land of Cornwall.
|
||||
|
||||
Dusk has fallen as you pull up in front of "
|
||||
PRINTD CASTLE
|
||||
PRINTI ". A ghostly "
|
||||
PRINTD MOON
|
||||
PRINTI " is rising, and a tall iron gate between two pillars bars the way into the "
|
||||
PRINTD COURTYARD
|
||||
PRINTI ".
|
||||
"
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT YOUR-COLOR-F
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? HERE,YOUR-ROOM /?PRG11
|
||||
CALL VISIBLE?,CAR
|
||||
ZERO? STACK \?PRG11
|
||||
CALL VISIBLE?,EXERCISE-OUTFIT
|
||||
ZERO? STACK \?PRG11
|
||||
CALL VISIBLE?,DINNER-OUTFIT
|
||||
ZERO? STACK \?PRG11
|
||||
CALL VISIBLE?,SLEEP-OUTFIT
|
||||
ZERO? STACK \?PRG11
|
||||
CALL NOT-HERE,YOUR-COLOR
|
||||
RSTACK
|
||||
?PRG11: PRINTI "It's "
|
||||
PRINTD YOUR-COLOR
|
||||
PRINTR "!"
|
||||
|
||||
|
||||
.FUNCT GET-COLOR,NUM,N,WD,SUM=0,X,?TMP1
|
||||
PUTB P-INBUF,0,30
|
||||
?PRG1: PRINTC 62
|
||||
READ P-INBUF,P-LEXV
|
||||
GETB P-LEXV,P-LEXWORDS >NUM
|
||||
ZERO? NUM \?CND5
|
||||
PRINTC 34
|
||||
PRINT BEG-PARDON
|
||||
PRINTI """ "
|
||||
JUMP ?PRG1
|
||||
?CND5: SET 'N,P-LEXSTART
|
||||
?PRG9: GET P-LEXV,N >WD
|
||||
CALL ZMEMQ,WD,COLOR-WORDS >X
|
||||
ZERO? X /?CCL13
|
||||
SET 'VARIATION,X
|
||||
?REP10: GETB P-LEXV,P-LEXWORDS
|
||||
SUB STACK,1
|
||||
MUL P-LEXELEN,STACK
|
||||
ADD P-LEXSTART,STACK >WD
|
||||
GET P-LEXV,WD
|
||||
EQUAL? STACK,W?PERIOD,W?!,W?? \?CND16
|
||||
SUB WD,P-LEXELEN >WD
|
||||
?CND16: ADD WD,1
|
||||
MUL 2,STACK >N
|
||||
GETB P-LEXV,N >?TMP1
|
||||
ADD 1,N
|
||||
GETB P-LEXV,STACK
|
||||
ADD ?TMP1,STACK
|
||||
ADD -1,STACK >WD
|
||||
ADD P-INBUF,1
|
||||
CALL NON-BLANK-STUFF,FAVE-COLOR,STACK,WD
|
||||
PRINTI """Did you say "
|
||||
PRINTD YOUR-COLOR
|
||||
PRINTI " is "
|
||||
CALL PRINT-COLOR,TRUE-VALUE
|
||||
PRINTI "?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?PRG32
|
||||
ZERO? VARIATION \?CND25
|
||||
GETB P-LEXV,5
|
||||
GETB P-INBUF,STACK >SUM
|
||||
CALL ZMEMQ,SUM,COLOR-LETTERS >X
|
||||
ZERO? X /?CCL29
|
||||
SET 'VARIATION,X
|
||||
JUMP ?CND27
|
||||
?CCL13: DLESS? 'NUM,1 /?REP10
|
||||
ADD N,P-LEXELEN >N
|
||||
JUMP ?PRG9
|
||||
?CCL29: EQUAL? SUM,112 \?CCL31
|
||||
SET 'VARIATION,PAINTER-C
|
||||
JUMP ?CND27
|
||||
?CCL31: MOD SUM,MAX-VARS
|
||||
ADD 1,STACK >VARIATION
|
||||
?CND27: GET COLOR-WORDS,VARIATION >COLOR-FORCED
|
||||
?CND25: CALL DO-VARIATION
|
||||
PUTB P-INBUF,0,80
|
||||
RTRUE
|
||||
?PRG32: PRINTI """What, then?"""
|
||||
CRLF
|
||||
SET 'VARIATION,0
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT FIX-COLOR-ADJ,OBJ,PT,N
|
||||
GETPT OBJ,P?ADJECTIVE >PT
|
||||
ZERO? PT /FALSE
|
||||
PTSIZE PT
|
||||
SUB STACK,1
|
||||
CALL ZMEMQB,A?F.C,PT,STACK >N
|
||||
ZERO? N /FALSE
|
||||
GET COLOR-ADJS,VARIATION
|
||||
PUTB PT,N,STACK
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DO-VARIATION,C
|
||||
CALL FIX-COLOR-ADJ,YOUR-COLOR
|
||||
CALL FIX-COLOR-ADJ,YOUR-ROOM
|
||||
CALL FIX-COLOR-ADJ,CAR
|
||||
CALL FIX-COLOR-ADJ,SLEEP-OUTFIT
|
||||
CALL FIX-COLOR-ADJ,EXERCISE-OUTFIT
|
||||
CALL FIX-COLOR-ADJ,DINNER-OUTFIT
|
||||
EQUAL? VARIATION,LORD-C \?CCL3
|
||||
LOC LOVER >C
|
||||
JUMP ?CND1
|
||||
?CCL3: EQUAL? VARIATION,FRIEND-C \?CCL5
|
||||
SET 'C,IRIS-CLOSET
|
||||
JUMP ?CND1
|
||||
?CCL5: EQUAL? VARIATION,PAINTER-C \?CCL7
|
||||
SET 'C,VIVIEN-BOX
|
||||
JUMP ?CND1
|
||||
?CCL7: SET 'C,WENDISH-KIT
|
||||
?CND1: SET 'HIDING-PLACE,C
|
||||
MOVE COSTUME,C
|
||||
MOVE BLOWGUN,C
|
||||
EQUAL? VARIATION,LORD-C \?CCL10
|
||||
SET 'VILLAIN-PER,LOVER
|
||||
MOVE NECKLACE-OF-D,JACK-ROOM
|
||||
MOVE JEWEL,LOCAL-GLOBALS
|
||||
SET 'TREASURE,WAR-CLUB
|
||||
MOVE CLUE-2,PAINTER
|
||||
FSET STAINED-WINDOW,CONTBIT
|
||||
MOVE CLUE-3,STAINED-WINDOW
|
||||
MOVE CLUE-4,GARDEN
|
||||
MOVE CANE,UMBRELLA-STAND
|
||||
JUMP ?CND8
|
||||
?CCL10: EQUAL? VARIATION,FRIEND-C \?CCL13
|
||||
SET 'VILLAIN-PER,FRIEND
|
||||
MOVE TAMARA-EVIDENCE,TAMARA-BED
|
||||
GETPT FRIEND,P?WEST
|
||||
PUT STACK,NEXITSTR,STR?212
|
||||
MOVE JOURNAL,TAMARA-BED
|
||||
FSET JOURNAL,NDESCBIT
|
||||
MOVE EARRING,JEWELRY-CASE
|
||||
MOVE JEWEL,LOCAL-GLOBALS
|
||||
SET 'TREASURE,NECKLACE
|
||||
MOVE NECKLACE,SKELETON
|
||||
MOVE CLUE-4,COFFIN
|
||||
FCLEAR CLUE-4,NDESCBIT
|
||||
FSET CLUE-4,TAKEBIT
|
||||
MOVE CLUE-3,BELL
|
||||
MOVE BRICKS,BASEMENT
|
||||
JUMP ?CND8
|
||||
?CCL13: EQUAL? VARIATION,DOCTOR-C \?CCL15
|
||||
SET 'VILLAIN-PER,DOCTOR
|
||||
MOVE WENDISH-BOOK,BOOKCASE
|
||||
MOVE LENS-BOX,WENDISH-KIT
|
||||
FCLEAR LENS-BOX,NDESCBIT
|
||||
FSET LENS-BOX,TAKEBIT
|
||||
MOVE JOURNAL,DESK
|
||||
MOVE LETTER-DEE,STUDY
|
||||
SET 'TREASURE,MOONMIST
|
||||
FSET MOONMIST,SECRETBIT
|
||||
MOVE CLUE-3,RHINO-HEAD
|
||||
MOVE CLUE-4,GALLERY-CORNER
|
||||
FCLEAR CLUE-4,NDESCBIT
|
||||
FSET CLUE-4,TAKEBIT
|
||||
MOVE MOONMIST,INKWELL
|
||||
JUMP ?CND8
|
||||
?CCL15: EQUAL? VARIATION,PAINTER-C \?CND8
|
||||
SET 'VILLAIN-PER,PAINTER
|
||||
MOVE VIVIEN-DIARY,VIVIEN-BOX
|
||||
MOVE LENS-BOX,VIVIEN-BOX
|
||||
FCLEAR LENS-BOX,NDESCBIT
|
||||
FSET LENS-BOX,TAKEBIT
|
||||
SET 'TREASURE,SKULL
|
||||
MOVE SKULL,BELL
|
||||
FSET MUSIC,SECRETBIT
|
||||
MOVE CLUE-3,ARMOR
|
||||
?CND8: EQUAL? VILLAIN-PER,LOVER \?CCL21
|
||||
SET 'SEARCHER,LORD
|
||||
JUMP ?CND19
|
||||
?CCL21: SET 'SEARCHER,VILLAIN-PER
|
||||
?CND19: FSET? VILLAIN-PER,FEMALE \FALSE
|
||||
FSET GHOST-NEW,FEMALE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT CANE-F,P
|
||||
CALL ATTACK-VERB?
|
||||
ZERO? STACK /?CCL3
|
||||
CALL NO-VIOLENCE?,CANE
|
||||
RTRUE
|
||||
?CCL3: CALL DISCOVER-WAR-CLUB,CANE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT PAINT-F
|
||||
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||
PRINTR "It seems to be hiding something."
|
||||
?CCL3: EQUAL? PRSA,V?TAKE-OFF,V?RUB /?CTR6
|
||||
EQUAL? PRSA,V?REMOVE,V?LOOK-UNDER,V?BRUSH /?CTR6
|
||||
EQUAL? PRSA,V?TAKE \?CCL7
|
||||
ZERO? PRSI /?CCL7
|
||||
?CTR6: CALL DISCOVER-WAR-CLUB,CANE,TRUE-VALUE
|
||||
RTRUE
|
||||
?CCL7: CALL DIVESTMENT?,PAINT
|
||||
ZERO? STACK /FALSE
|
||||
CALL HAR-HAR
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT DISCOVER-WAR-CLUB,OBJ,DO-IT=0,PER
|
||||
EQUAL? PRSA,V?RUB,V?BRUSH /?CTR2
|
||||
ZERO? DO-IT /?CCL3
|
||||
?CTR2: FSET? WAR-CLUB,SECRETBIT \FALSE
|
||||
CALL DISCOVER,WAR-CLUB,PAINT
|
||||
LOC OBJ
|
||||
MOVE WAR-CLUB,STACK
|
||||
LOC OBJ
|
||||
CALL ROB,OBJ,STACK
|
||||
MOVE OBJ,LOCAL-GLOBALS
|
||||
MOVE PAINT,LOCAL-GLOBALS
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?SEARCH,V?EXAMINE \FALSE
|
||||
FSET? WAR-CLUB,SECRETBIT \FALSE
|
||||
FCLEAR PAINT,SECRETBIT
|
||||
PRINTI "There's something strange about this "
|
||||
PRINTD OBJ
|
||||
PRINTI ". It's shaped like a baseball bat, but with hard, faceted bumps all over it. It has a new "
|
||||
PRINTD PAINT
|
||||
PRINTR "."
|
||||
|
||||
|
||||
.FUNCT ATTACK-VERB?,SHOOT=0
|
||||
EQUAL? PRSA,V?SLAP,V?KILL,V?ATTACK \?CCL3
|
||||
FSET? PRSO,PERSONBIT /TRUE
|
||||
RFALSE
|
||||
?CCL3: EQUAL? PRSA,V?SHOOT \?CCL8
|
||||
ZERO? SHOOT /FALSE
|
||||
FSET? PRSO,PERSONBIT /TRUE
|
||||
RFALSE
|
||||
?CCL8: EQUAL? PRSA,V?PUT,V?RING \?CCL15
|
||||
ZERO? SHOOT /FALSE
|
||||
ZERO? PRSI /TRUE
|
||||
FSET? PRSI,PERSONBIT /TRUE
|
||||
RFALSE
|
||||
?CCL15: EQUAL? PRSA,V?USE \FALSE
|
||||
ZERO? PRSI /TRUE
|
||||
FSET? PRSI,PERSONBIT /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT WAR-CLUB-F
|
||||
EQUAL? PRSA,V?COMPARE \?CCL3
|
||||
EQUAL? JEWEL,PRSO,PRSI \FALSE
|
||||
CALL START-SENTENCE,WAR-CLUB
|
||||
PRINTI " has no "
|
||||
PRINTD JEWEL
|
||||
PRINTR " like this one."
|
||||
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL10
|
||||
CALL DESCRIBE-WAR-CLUB
|
||||
RSTACK
|
||||
?CCL10: CALL ATTACK-VERB?
|
||||
ZERO? STACK /FALSE
|
||||
CALL NO-VIOLENCE?,WAR-CLUB
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DESCRIBE-WAR-CLUB
|
||||
PRINTI "It's a "
|
||||
PRINTD WAR-CLUB
|
||||
PRINTR " that once belonged to the Zulu king Dingaan -- and it's studded with large diamonds!"
|
||||
|
||||
|
||||
.FUNCT SKULL-F
|
||||
EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?EXAMINE \FALSE
|
||||
PRINTR "This staring skull is frightfully old -- even older than the castle."
|
||||
|
||||
|
||||
.FUNCT MOONMIST-F
|
||||
EQUAL? PRSA,V?READ,V?PLAY /?CTR2
|
||||
EQUAL? PRSA,V?FIND,V?EXAMINE \?CCL3
|
||||
IN? MOONMIST,GLOBAL-OBJECTS \?CCL3
|
||||
?CTR2: SET 'CLOCK-WAIT,TRUE-VALUE
|
||||
PRINTR "[You're playing it now!]"
|
||||
?CCL3: CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?TAKE \?CCL13
|
||||
IN? MOONMIST,GLOBAL-OBJECTS /?CCL16
|
||||
CALL VISIBLE?,MOONMIST
|
||||
ZERO? STACK /?CCL16
|
||||
LOC MOONMIST
|
||||
CALL PERFORM,PRSA,STACK,PRSI
|
||||
RTRUE
|
||||
?CCL16: CALL YOU-CANT
|
||||
RSTACK
|
||||
?CCL13: CALL NOT-HOLDING?,PRSO
|
||||
ZERO? STACK \TRUE
|
||||
EQUAL? PRSA,V?PUT,V?POUR \?CCL22
|
||||
ZERO? PRSI /?CND23
|
||||
FSET? PRSI,PERSONBIT \?CND23
|
||||
CALL SHOOTING,MOONMIST
|
||||
ZERO? STACK /?CND23
|
||||
RETURN 2
|
||||
?CND23: MOVE MOONMIST,LOCAL-GLOBALS
|
||||
CALL START-SENTENCE,MOONMIST
|
||||
PRINTI " dribbles "
|
||||
ZERO? PRSI \?CCL34
|
||||
CALL GROUND-DESC
|
||||
PRINT STACK
|
||||
JUMP ?PRG43
|
||||
?CCL34: FSET? PRSI,SURFACEBIT /?PRG41
|
||||
PRINTI "into"
|
||||
CALL PRINTT,PRSI
|
||||
JUMP ?PRG43
|
||||
?PRG41: PRINTI "on"
|
||||
CALL PRINTT,PRSI
|
||||
?PRG43: PRINTR ", sizzles, and evaporates."
|
||||
?CCL22: CALL DIVESTMENT?,MOONMIST
|
||||
ZERO? STACK /?CCL46
|
||||
CALL PERFORM,PRSA,INKWELL,PRSI
|
||||
RTRUE
|
||||
?CCL46: EQUAL? PRSA,V?EAT,V?DRINK \?CCL49
|
||||
EQUAL? WINNER,PLAYER \FALSE
|
||||
PRINTI "First it puts your tongue to sleep. Then your tummy. Then your brain."
|
||||
CALL FINISH
|
||||
RSTACK
|
||||
?CCL49: EQUAL? PRSA,V?SMELL,V?EXAMINE \?CCL56
|
||||
PRINTR "It's a greenish liquid with a strong odor."
|
||||
?CCL56: CALL SHOOTING,MOONMIST
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT CLUE-1-F
|
||||
EQUAL? PRSA,V?COMPARE \?CCL3
|
||||
EQUAL? TREASURE,PRSO,PRSI \FALSE
|
||||
CALL START-SENTENCE,TREASURE
|
||||
EQUAL? VARIATION,LORD-C \?PRG16
|
||||
FSET? PLAYER,FEMALE /?PRG16
|
||||
PRINTI " looks just like the one on"
|
||||
JUMP ?PRG18
|
||||
?PRG16: PRINTI " seems to match"
|
||||
?PRG18: PRINTI " the "
|
||||
PRINTD CLUE-1
|
||||
PRINTR "!"
|
||||
?CCL3: EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
|
||||
FSET? CLUE-1,TOUCHBIT /?CND22
|
||||
PRINTR "You can't see its face."
|
||||
?CND22: CALL NOT-HOLDING?,PRSO
|
||||
ZERO? STACK \TRUE
|
||||
PRINTI "The "
|
||||
PRINTD CLUE-1
|
||||
PRINTI " shows "
|
||||
EQUAL? VARIATION,LORD-C \?CCL32
|
||||
PRINTI "the King of "
|
||||
FSET? PLAYER,FEMALE \?PRG40
|
||||
PRINTR "Spades, holding a sceptre."
|
||||
?PRG40: PRINTI "Clubs in one corner, with a picture of an African chief holding a "
|
||||
PRINTD WAR-CLUB
|
||||
PRINTR "; in the other corner is the King of Diamonds, with a picture of a crowned vulture clutching a diamond."
|
||||
?CCL32: EQUAL? VARIATION,FRIEND-C \?CCL43
|
||||
FSET? PLAYER,FEMALE \?PRG49
|
||||
PRINTR "a Polynesian diver, holding a knife and plunging through black water."
|
||||
?PRG49: PRINTR "a photo of singer Pearl Bailey."
|
||||
?CCL43: EQUAL? VARIATION,DOCTOR-C \?CCL52
|
||||
FSET? PLAYER,FEMALE \?PRG58
|
||||
PRINTD CASTLE
|
||||
PRINTI ", with a cloud of mist hiding the "
|
||||
PRINTD MOON
|
||||
PRINTR "."
|
||||
?PRG58: PRINTI "an Amazon hunter, aiming a "
|
||||
PRINTD BLOWGUN
|
||||
PRINTR " at the tree tops."
|
||||
?CCL52: EQUAL? VARIATION,PAINTER-C \FALSE
|
||||
PRINTI "a "
|
||||
PRINTD SKELETON
|
||||
PRINTR " in Chinese mandarin costume."
|
||||
|
||||
|
||||
.FUNCT CLUE-2-F
|
||||
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
|
||||
CALL NOT-HOLDING?,PRSO
|
||||
ZERO? STACK \TRUE
|
||||
FSET CLUE-2,TOUCHBIT
|
||||
CALL HE-SHE-IT,CLUE-2,TRUE-VALUE
|
||||
PRINTI " says,"
|
||||
CRLF
|
||||
EQUAL? VARIATION,LORD-C \?CCL10
|
||||
SET 'CLUE-LOC,CHAPEL
|
||||
PRINTR """Forbidden fruit tempted the very first lass.
|
||||
'Twas once in a garden but now in a glass."""
|
||||
?CCL10: EQUAL? VARIATION,PAINTER-C \?CCL15
|
||||
FSET? MUSIC,TOUCHBIT /?CCL18
|
||||
SET 'CLUE-LOC,SITTING-ROOM
|
||||
JUMP ?PRG21
|
||||
?CCL18: FSET? BOTTLE,TOUCHBIT /?CCL20
|
||||
SET 'CLUE-LOC,BASEMENT
|
||||
JUMP ?PRG21
|
||||
?CCL20: SET 'CLUE-LOC,DRAWING-ROOM
|
||||
?PRG21: PRINTR """Three fellows argued about life:
|
||||
1. 'Using this motto, no chap can go wrong:
|
||||
Leave the wench and the grape, but go with a ____!'
|
||||
2. 'On the seas of my life sails a ship that is laden
|
||||
Not with bottles or tunes, but with innocent ______s!'
|
||||
3. 'Women and singing are both very fine,
|
||||
But for me there is nothing to equal good ____!'"""
|
||||
?CCL15: EQUAL? VARIATION,DOCTOR-C \?CCL24
|
||||
SET 'CLUE-LOC,GAME-ROOM
|
||||
PRINTR """My first is an 'I,' but find an 'eye' that sees not."""
|
||||
?CCL24: SET 'CLUE-LOC,DECK
|
||||
PRINTR """... Yet the ear distinctly tells,...
|
||||
How the danger sinks and swells,
|
||||
By the sinking or the swelling in the anger of the ____s..."""
|
||||
|
||||
|
||||
.FUNCT CLUE-3-F
|
||||
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
|
||||
CALL NOT-HOLDING?,PRSO
|
||||
ZERO? STACK \TRUE
|
||||
FSET CLUE-3,TOUCHBIT
|
||||
FSET CLUE-3,TAKEBIT
|
||||
CALL HE-SHE-IT,CLUE-3,TRUE-VALUE
|
||||
PRINTI " says,
|
||||
"
|
||||
EQUAL? VARIATION,LORD-C \?CCL10
|
||||
SET 'CLUE-LOC,GARDEN
|
||||
PRINTR """Despite its appearance, the fruit was quite sour.
|
||||
One bite of the apple drove Eve from her bower."""
|
||||
?CCL10: EQUAL? VARIATION,FRIEND-C \?CCL14
|
||||
SET 'CLUE-LOC,0
|
||||
PRINTR """... And so, all the night-tide, I lie down by the side
|
||||
Of my darling -- my darling -- my life and my bride,...
|
||||
In her tomb by the sounding sea."""
|
||||
?CCL14: EQUAL? VARIATION,DOCTOR-C \?CCL18
|
||||
SET 'CLUE-LOC,GALLERY
|
||||
PRINTR """My second is in never but not in ever, and lies in a hidden 'end'."""
|
||||
?CCL18: SET 'CLUE-LOC,DECK
|
||||
PRINTR """My al___ has no glamour;
|
||||
Its '____e' tones do clam___.
|
||||
Can you find me?"""
|
||||
|
||||
|
||||
.FUNCT CLUE-4-F
|
||||
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
|
||||
CALL NOT-HOLDING?,PRSO
|
||||
ZERO? STACK \TRUE
|
||||
FSET CLUE-4,TOUCHBIT
|
||||
FSET CLUE-4,TAKEBIT
|
||||
CALL HE-SHE-IT,CLUE-4,TRUE-VALUE
|
||||
PRINTI " says,
|
||||
"
|
||||
EQUAL? VARIATION,LORD-C \?CCL10
|
||||
SET 'CLUE-LOC,FOYER
|
||||
PRINTR """Out of the sunshine, into the rain...
|
||||
The end of the story is... Abel and CAIN.""
|
||||
The last word is underlined."
|
||||
?CCL10: EQUAL? VARIATION,FRIEND-C \?CCL14
|
||||
SET 'CLUE-LOC,BASEMENT
|
||||
PRINTR """If you search for 'A Cask of Amontillado,' don't get trapped!"""
|
||||
?CCL14: SET 'CLUE-LOC,OFFICE
|
||||
PRINTR """My third is the silent side of knight.
|
||||
All together I am what you could use for poison-pen letters."""
|
||||
|
||||
|
||||
.FUNCT PRINT-COLOR,X=0
|
||||
ZERO? VARIATION \?CCL3
|
||||
ZERO? X /FALSE
|
||||
?CCL3: GETB FAVE-COLOR,0
|
||||
CALL WORD-PRINT,STACK,1,FAVE-COLOR
|
||||
ZERO? COLOR-FORCED /TRUE
|
||||
PRINTI " and "
|
||||
PRINTB COLOR-FORCED
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT TELL-SUFFIX,I,J=1
|
||||
GETB SUFFIX,0 >I
|
||||
ZERO? I /FALSE
|
||||
PRINTI ", "
|
||||
EQUAL? JUNIOR-C,I \?CCL7
|
||||
PRINTI "Junior"
|
||||
RTRUE
|
||||
?CCL7: EQUAL? SENIOR-C,I \?PRG13
|
||||
PRINTI "Senior"
|
||||
RTRUE
|
||||
?PRG13: GETB SUFFIX,J
|
||||
PRINTC STACK
|
||||
DLESS? 'I,1 /TRUE
|
||||
INC 'J
|
||||
JUMP ?PRG13
|
||||
|
||||
|
||||
.FUNCT TITLE-NAME
|
||||
CALL TITLE
|
||||
EQUAL? TITLE-WORD,W?MRS,W?MS,W?MISS /?PRG7
|
||||
EQUAL? TITLE-WORD,W?MISTER,W?MR /?PRG7
|
||||
EQUAL? TITLE-WORD,W?DOCTOR,W?DR \?PRG9
|
||||
?PRG7: CALL PRINT-NAME,LAST-NAME
|
||||
RSTACK
|
||||
?PRG9: CALL PRINT-NAME,FIRST-NAME
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT TITLE
|
||||
EQUAL? TITLE-WORD,W?MRS \?CCL3
|
||||
PRINTI "Mrs. "
|
||||
RTRUE
|
||||
?CCL3: EQUAL? TITLE-WORD,W?MS \?CCL7
|
||||
PRINTI "Ms. "
|
||||
RTRUE
|
||||
?CCL7: EQUAL? TITLE-WORD,W?MISS \?CCL11
|
||||
PRINTI "Miss "
|
||||
RTRUE
|
||||
?CCL11: EQUAL? TITLE-WORD,W?LADY \?CCL15
|
||||
PRINTI "Lady "
|
||||
RTRUE
|
||||
?CCL15: EQUAL? TITLE-WORD,W?DAME \?CCL19
|
||||
PRINTI "Dame "
|
||||
RTRUE
|
||||
?CCL19: EQUAL? TITLE-WORD,W?MADAME,W?MADAM \?CCL23
|
||||
PRINTI "Madame "
|
||||
RTRUE
|
||||
?CCL23: EQUAL? TITLE-WORD,W?DOCTOR,W?DR \?CCL27
|
||||
PRINTI "Dr. "
|
||||
RTRUE
|
||||
?CCL27: EQUAL? TITLE-WORD,W?LORD \?CCL31
|
||||
PRINTI "Lord "
|
||||
RTRUE
|
||||
?CCL31: EQUAL? TITLE-WORD,W?SIR \?CCL35
|
||||
PRINTI "Sir "
|
||||
RTRUE
|
||||
?CCL35: EQUAL? TITLE-WORD,W?MISTER,W?MR \?CCL39
|
||||
PRINTI "Mr. "
|
||||
RTRUE
|
||||
?CCL39: EQUAL? TITLE-WORD,W?MASTER \FALSE
|
||||
PRINTI "Master "
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT NON-BLANK-STUFF,DEST,SRC,CNT,ND=1,NS=0,B,OB=32
|
||||
DEC 'CNT
|
||||
?PRG1: GETB SRC,NS >B
|
||||
EQUAL? B,32 \?CCL4
|
||||
EQUAL? NS,CNT /?CND3
|
||||
EQUAL? OB,32 /?CND3
|
||||
?CCL4: PUTB DEST,ND,B
|
||||
INC 'ND
|
||||
SET 'OB,B
|
||||
?CND3: IGRTR? 'NS,CNT \?PRG1
|
||||
SUB ND,1
|
||||
PUTB DEST,0,STACK
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT FULL-NAME,NO-TELL=0
|
||||
PUTB SUFFIX,0,0
|
||||
PUTB LAST-NAME,0,0
|
||||
SET 'MIDDLE-WORD,0
|
||||
SET 'TITLE-WORD,0
|
||||
ZERO? NO-TELL \TRUE
|
||||
PRINTR """I said: Please state your full name."""
|
||||
|
||||
|
||||
.FUNCT GET-NAME,NUM,N,M,I,BEG,END,?TMP1
|
||||
PUTB P-INBUF,0,30
|
||||
?PRG1: PRINTC 62
|
||||
READ P-INBUF,P-LEXV
|
||||
GETB P-LEXV,P-LEXWORDS >NUM
|
||||
ZERO? NUM \?CND5
|
||||
PRINTC 34
|
||||
PRINT BEG-PARDON
|
||||
PRINTI """ "
|
||||
JUMP ?PRG1
|
||||
?CND5: SET 'N,P-LEXSTART
|
||||
GET P-LEXV,N >BEG
|
||||
CALL TITLE-NOUN?,BEG
|
||||
ZERO? STACK /?CND9
|
||||
DEC 'NUM
|
||||
ADD N,P-LEXELEN >N
|
||||
SET 'TITLE-WORD,BEG
|
||||
EQUAL? BEG,W?DOCTOR,W?DR,W?DETECT /?CND11
|
||||
SET 'GENDER-KNOWN,TRUE-VALUE
|
||||
?CND11: EQUAL? BEG,W?MR,W?MISTER,W?MASTER /?CCL15
|
||||
EQUAL? BEG,W?LORD,W?SIR \?PRG18
|
||||
?CCL15: FCLEAR PLAYER,FEMALE
|
||||
?PRG18: GET P-LEXV,N
|
||||
EQUAL? STACK,W?PERIOD \?CND9
|
||||
DEC 'NUM
|
||||
ADD N,P-LEXELEN >N
|
||||
JUMP ?PRG18
|
||||
?CND9: LESS? NUM,2 \?CND23
|
||||
EQUAL? BEG,W?QUIT,W?Q \?CCL27
|
||||
CALL V-QUIT
|
||||
JUMP ?CND25
|
||||
?CCL27: EQUAL? BEG,W?RESTART \?CCL29
|
||||
CALL V-RESTART
|
||||
JUMP ?CND25
|
||||
?CCL29: EQUAL? BEG,W?RESTORE \?CND25
|
||||
CALL V-RESTORE
|
||||
?CND25: CALL FULL-NAME
|
||||
JUMP ?PRG1
|
||||
?CND23: SET 'BEG,N
|
||||
SUB NUM,1
|
||||
MUL P-LEXELEN,STACK
|
||||
ADD N,STACK >END
|
||||
?PRG31: GET P-LEXV,END
|
||||
EQUAL? STACK,W?PERIOD,W?!,W?? \?REP32
|
||||
SUB END,P-LEXELEN >END
|
||||
JUMP ?PRG31
|
||||
?REP32: LESS? BEG,END /?CND36
|
||||
CALL FULL-NAME
|
||||
JUMP ?PRG1
|
||||
?CND36: GET P-LEXV,END
|
||||
EQUAL? STACK,W?SR,W?SENIOR \?CCL40
|
||||
SUB END,P-LEXELEN >END
|
||||
PUTB SUFFIX,0,SENIOR-C
|
||||
JUMP ?PRG51
|
||||
?CCL40: GET P-LEXV,END
|
||||
EQUAL? STACK,W?JR,W?JUNIOR \?CCL42
|
||||
SUB END,P-LEXELEN >END
|
||||
PUTB SUFFIX,0,JUNIOR-C
|
||||
JUMP ?PRG51
|
||||
?CCL42: ADD END,1
|
||||
MUL 2,STACK >N
|
||||
GETB P-LEXV,N >NUM
|
||||
LESS? NUM,6 \?PRG51
|
||||
ADD 1,N
|
||||
GETB P-LEXV,STACK >M
|
||||
SET 'I,0
|
||||
?PRG44: DLESS? 'NUM,0 /?CCL48
|
||||
GETB P-INBUF,M
|
||||
EQUAL? STACK,105,118,120 \?PRG51
|
||||
INC 'I
|
||||
GETB P-INBUF,M
|
||||
SUB STACK,32
|
||||
PUTB SUFFIX,I,STACK
|
||||
INC 'M
|
||||
JUMP ?PRG44
|
||||
?CCL48: PUTB SUFFIX,0,I
|
||||
SUB END,P-LEXELEN >END
|
||||
?PRG51: GET P-LEXV,END
|
||||
EQUAL? STACK,W?PERIOD,W?COMMA,W?THE \?REP52
|
||||
SUB END,P-LEXELEN >END
|
||||
JUMP ?PRG51
|
||||
?REP52: LESS? BEG,END /?CND56
|
||||
CALL FULL-NAME
|
||||
JUMP ?PRG1
|
||||
?CND56: ADD END,1
|
||||
MUL 2,STACK >N
|
||||
GETB P-LEXV,N >NUM
|
||||
SUB END,P-LEXELEN >END
|
||||
GET P-LEXV,END
|
||||
EQUAL? STACK,W?APOSTROPHE \?CND58
|
||||
SUB END,P-LEXELEN >END
|
||||
ADD END,1
|
||||
MUL 2,STACK >N
|
||||
GETB P-LEXV,N
|
||||
ADD NUM,STACK >NUM
|
||||
INC 'NUM
|
||||
?CND58: GRTR? BEG,END \?CND60
|
||||
CALL FULL-NAME
|
||||
JUMP ?PRG1
|
||||
?CND60: ADD BEG,P-LEXELEN >I
|
||||
?PRG62: GRTR? I,END \?CCL66
|
||||
SET 'MIDDLE-WORD,0
|
||||
JUMP ?REP63
|
||||
?CCL66: GET P-LEXV,I >M
|
||||
EQUAL? M,W?THE,W?OF,W?COMMA /?CCL68
|
||||
ADD I,P-LEXELEN >I
|
||||
JUMP ?PRG62
|
||||
?CCL68: SET 'MIDDLE-WORD,M
|
||||
ADD I,P-LEXELEN
|
||||
ADD 1,STACK
|
||||
MUL 2,STACK >M
|
||||
ADD 1,N
|
||||
GETB P-LEXV,STACK >?TMP1
|
||||
ADD 1,M
|
||||
GETB P-LEXV,STACK
|
||||
SUB ?TMP1,STACK
|
||||
ADD NUM,STACK >NUM
|
||||
SET 'N,M
|
||||
?REP63: ADD 1,N
|
||||
GETB P-LEXV,STACK
|
||||
ADD P-INBUF,STACK
|
||||
CALL NON-BLANK-STUFF,LAST-NAME,STACK,NUM
|
||||
SUB N,P-WORDLEN >N
|
||||
ZERO? MIDDLE-WORD /?CND69
|
||||
SUB N,P-WORDLEN >N
|
||||
?CND69: MUL 2,BEG
|
||||
ADD 3,STACK
|
||||
GETB P-LEXV,STACK >BEG
|
||||
GETB P-LEXV,N >?TMP1
|
||||
ADD 1,N
|
||||
GETB P-LEXV,STACK
|
||||
ADD ?TMP1,STACK
|
||||
ADD -1,STACK >END
|
||||
SUB END,BEG
|
||||
ADD 1,STACK >N
|
||||
ADD P-INBUF,BEG
|
||||
CALL NON-BLANK-STUFF,FIRST-NAME,STACK,N
|
||||
PRINTI """Did you say your name is "
|
||||
CALL TELL-FULL-NAME
|
||||
PRINTI "?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?PRG78
|
||||
PUTB P-INBUF,0,80
|
||||
RTRUE
|
||||
?PRG78: PRINTI """Then please speak up.""
|
||||
"
|
||||
CALL FULL-NAME,TRUE-VALUE
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT PRINT-NAME,TBL,PTR=0,LEN,CH,OCH,SP?=1
|
||||
GETB TBL,0 >LEN
|
||||
?PRG1: IGRTR? 'PTR,LEN /?REP2
|
||||
SET 'OCH,CH
|
||||
GETB TBL,PTR >CH
|
||||
LESS? CH,97 /?CTR6
|
||||
GRTR? CH,122 \?CCL7
|
||||
?CTR6: PRINTC CH
|
||||
JUMP ?CND5
|
||||
?CCL7: ZERO? SP? /?CCL11
|
||||
SUB CH,32
|
||||
PRINTC STACK
|
||||
JUMP ?CND5
|
||||
?CCL11: EQUAL? OCH,39 \?CTR12
|
||||
EQUAL? PTR,LEN /?CTR12
|
||||
ADD 1,PTR
|
||||
GETB TBL,STACK
|
||||
EQUAL? 32,STACK \?CCL13
|
||||
?CTR12: PRINTC CH
|
||||
JUMP ?CND5
|
||||
?CCL13: SUB CH,32
|
||||
PRINTC STACK
|
||||
?CND5: EQUAL? CH,32,46 /?CTR18
|
||||
EQUAL? CH,45,38 \?CCL19
|
||||
?CTR18: SET 'SP?,TRUE-VALUE
|
||||
JUMP ?PRG1
|
||||
?CCL19: SET 'SP?,FALSE-VALUE
|
||||
JUMP ?PRG1
|
||||
?REP2: EQUAL? CH,46 /FALSE
|
||||
RTRUE
|
||||
|
||||
.ENDI
|
|
@ -82,6 +82,8 @@ into the " 'COURTYARD ".|">>
|
|||
(T <SET SUM <+ .SUM <GETB ,P-INBUF .NUM>>>)>>
|
||||
<COND (<SET X <ZMEMQ .SUM ,COLOR-LETTERS>>
|
||||
<SETG VARIATION .X>)
|
||||
(<EQUAL? .SUM %<ASCII !\p>> ;"pink => blue"
|
||||
<SETG VARIATION ,PAINTER-C>)
|
||||
(T <SETG VARIATION <+ 1 <MOD .SUM ,MAX-VARS>>>)>
|
||||
<SETG COLOR-FORCED <GET ,COLOR-WORDS ,VARIATION>>)>
|
||||
<DO-VARIATION>
|
||||
|
@ -681,7 +683,7 @@ what you could use for poison-pen letters.\"" CR>)>)>>
|
|||
<GLOBAL FIRST-NAME <TABLE #BYTE 0 #BYTE 120
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> "x"
|
||||
<GLOBAL LAST-NAME <TABLE #BYTE 0 #BYTE 116 #BYTE 101 #BYTE 115
|
||||
#BYTE 116 #BYTE 101 #BYTE 114
|
||||
#BYTE 116 #BYTE 101 #BYTE 114 #BYTE 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0>> "tester"
|
||||
|
||||
<GLOBAL SUFFIX <TABLE #BYTE 0 #BYTE 0 0 0>>
|
||||
|
|
667
global.zap
Normal file
667
global.zap
Normal file
|
@ -0,0 +1,667 @@
|
|||
|
||||
|
||||
.FUNCT LOCAL-GLOBALS-F
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
CALL CREEPY?,HERE
|
||||
ZERO? STACK \?CTR4
|
||||
CALL OUTSIDE?,HERE
|
||||
ZERO? STACK /?CCL5
|
||||
?CTR4: CALL RANDOM-PSEUDO
|
||||
RSTACK
|
||||
?CCL5: CALL NOT-HERE,LOCAL-GLOBALS
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT UPSTAIRS-DOWNSTAIRS,N,TBL,HR,?TMP1
|
||||
LOC WINNER >HR
|
||||
EQUAL? PRSA,V?WALK-TO,V?WALK,V?THROUGH /?CCL3
|
||||
EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-DOWN,V?BOARD \FALSE
|
||||
?CCL3: FSET? HR,SECRETBIT /FALSE
|
||||
FSET? HR,WEARBIT \?CCL10
|
||||
SET 'TBL,WING-STAIRS
|
||||
JUMP ?CND6
|
||||
?CCL10: SET 'TBL,TOWER-STAIRS
|
||||
?CND6: EQUAL? PRSA,V?CLIMB-UP,V?BOARD \?CCL13
|
||||
GETPT HR,P?UP
|
||||
ZERO? STACK /?CCL17
|
||||
CALL DO-WALK,P?UP
|
||||
RTRUE
|
||||
?CCL17: GETP HR,P?CHARACTER >N
|
||||
ZERO? N /FALSE
|
||||
GET TBL,0 >?TMP1
|
||||
INC 'N
|
||||
LESS? ?TMP1,N /FALSE
|
||||
GET TBL,N >N
|
||||
CALL PERFORM,V?WALK-TO,N
|
||||
RTRUE
|
||||
?CCL13: GETPT HR,P?DOWN
|
||||
ZERO? STACK /?CCL24
|
||||
CALL DO-WALK,P?DOWN
|
||||
RTRUE
|
||||
?CCL24: GETP HR,P?CHARACTER >N
|
||||
ZERO? N /FALSE
|
||||
DEC 'N
|
||||
LESS? 0,N \FALSE
|
||||
GET TBL,N >N
|
||||
CALL PERFORM,V?WALK-TO,N
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DO-INSTEAD-OF,OBJ1,OBJ2
|
||||
EQUAL? PRSI,OBJ2 \?CCL3
|
||||
CALL PERFORM,PRSA,PRSO,OBJ1
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSO,OBJ2 \?CCL5
|
||||
CALL PERFORM,PRSA,OBJ1,PRSI
|
||||
RTRUE
|
||||
?CCL5: CALL V-FOO
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT TURN-F
|
||||
EQUAL? PRSA,V?USE \FALSE
|
||||
CALL PERFORM,V?WAIT-FOR,PRSO
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT IT-F
|
||||
EQUAL? PRSI,IT \?PRD5
|
||||
EQUAL? PRSA,V?TELL-ABOUT /?PRG12
|
||||
EQUAL? PRSA,V?SEARCH-FOR,V?ASK-FOR,V?ASK-ABOUT /?PRG12
|
||||
?PRD5: EQUAL? PRSO,IT \FALSE
|
||||
EQUAL? PRSA,V?FIND,V?ASK-CONTEXT-FOR,V?ASK-CONTEXT-ABOUT \FALSE
|
||||
?PRG12: PRINTR """I'm not sure what you're talking about."""
|
||||
|
||||
|
||||
.FUNCT FLOOR-F,OBJ=0,N
|
||||
EQUAL? PRSA,V?CLIMB-ON \?CCL3
|
||||
CALL ALREADY,WINNER,STR?278
|
||||
RSTACK
|
||||
?CCL3: EQUAL? PRSA,V?THROW-AT,V?PUT \?CCL5
|
||||
EQUAL? PRSO,MOONMIST /?CCL5
|
||||
EQUAL? PRSI,FLOOR \?CCL5
|
||||
MOVE PRSO,HERE
|
||||
PRINTR "Okay."
|
||||
?CCL5: EQUAL? PRSA,V?SEARCH-FOR /?CTR11
|
||||
EQUAL? PRSA,V?SEARCH,V?LOOK-ON,V?EXAMINE \?CCL12
|
||||
?CTR11: EQUAL? HERE,DRAWING-ROOM \?CCL17
|
||||
PRINTI "The carpet ends flush with the archway to the "
|
||||
PRINTD GREAT-HALL
|
||||
PRINTI ", where the footsteps of visitors have begun to wear it thin. It's a magnificent red Brussels carpet with deep pile and a medieval design."
|
||||
CRLF
|
||||
JUMP ?CND15
|
||||
?CCL17: EQUAL? HERE,GREAT-HALL \?CND15
|
||||
CALL GREAT-HALL-IS-FLOORED
|
||||
?CND15: EQUAL? HERE,GARDEN \?CCL23
|
||||
EQUAL? VARIATION,LORD-C \?CCL23
|
||||
FSET? CLUE-4,SECRETBIT \?CCL23
|
||||
SET 'OBJ,CLUE-4
|
||||
JUMP ?CND21
|
||||
?CCL23: EQUAL? HERE,DRAWING-ROOM \?CCL28
|
||||
EQUAL? VARIATION,LORD-C,FRIEND-C \?CCL28
|
||||
FSET? JEWEL,TOUCHBIT /?CCL28
|
||||
SET 'OBJ,JEWEL
|
||||
JUMP ?CND21
|
||||
?CCL28: EQUAL? HERE,GREAT-HALL \?CND21
|
||||
EQUAL? VARIATION,DOCTOR-C,PAINTER-C \?CND21
|
||||
EQUAL? FOUND-IT-PERM,LENS,LENS-2 /?CND21
|
||||
SET 'OBJ,LENS
|
||||
?CND21: CALL START-SEARCH,OBJ
|
||||
RTRUE
|
||||
?CCL12: CALL ADJ-USED?,W?DRAWING
|
||||
ZERO? STACK /?CCL37
|
||||
EQUAL? HERE,DRAWING-ROOM /FALSE
|
||||
CALL DO-INSTEAD-OF,DRAWING-ROOM,FLOOR
|
||||
RTRUE
|
||||
?CCL37: CALL ADJ-USED?,W?GREAT
|
||||
ZERO? STACK /FALSE
|
||||
EQUAL? HERE,GREAT-HALL /FALSE
|
||||
CALL DO-INSTEAD-OF,GREAT-HALL,FLOOR
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT START-SEARCH,OBJ=0
|
||||
PRINTI "Nothing suspicious meets your eye after a moment's scrutiny. Do you want to continue?"
|
||||
CALL YES?
|
||||
ZERO? STACK \?CCL5
|
||||
CALL OKAY
|
||||
RTRUE
|
||||
?CCL5: SET 'FOUND-IT,OBJ
|
||||
SET 'FOUND-LOC,HERE
|
||||
RANDOM 7
|
||||
CALL QUEUE,I-FOUND-IT,STACK
|
||||
CALL V-WAIT,8,FALSE-VALUE,TRUE-VALUE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT I-FOUND-IT,GARG=0,OBJ
|
||||
EQUAL? FOUND-LOC,HERE \FALSE
|
||||
EQUAL? FOUND-IT,JEWEL \?CCL5
|
||||
MOVE FOUND-IT,HERE
|
||||
PRINTI "Suddenly you notice a glittering speck. Probing for it with your fingers, you discover a "
|
||||
PRINTD JEWEL
|
||||
PRINTC 46
|
||||
CRLF
|
||||
JUMP ?CND1
|
||||
?CCL5: EQUAL? FOUND-IT,LENS \?CCL9
|
||||
FSET? LENS,SEENBIT /?CCL12
|
||||
LOC LENS
|
||||
MOVE LENS-2,STACK
|
||||
JUMP ?CND10
|
||||
?CCL12: FSET? LENS-2,SEENBIT /FALSE
|
||||
SET 'FOUND-IT,LENS-2
|
||||
LOC LENS
|
||||
MOVE LENS-1,STACK
|
||||
REMOVE LENS
|
||||
?CND10: MOVE FOUND-IT,HERE
|
||||
PRINTI "Suddenly you find something small, smooth and slippery -- a "
|
||||
PRINTD FOUND-IT
|
||||
PRINTI "! Its transparency, of course, made it practically invisible."
|
||||
ZERO? BUTLER-GHOST-STORY-TOLD /?CND17
|
||||
PRINTI " No wonder you and the ghost had such a hard time finding it!"
|
||||
?CND17: CRLF
|
||||
JUMP ?CND1
|
||||
?CCL9: ZERO? FOUND-IT \?CCL22
|
||||
PRINT NOTHING-NEW
|
||||
RETURN 2
|
||||
?CCL22: FSET? FOUND-IT,SECRETBIT \?PRG29
|
||||
CALL DISCOVER,FOUND-IT
|
||||
JUMP ?CND1
|
||||
?PRG29: PRINTC 89
|
||||
PRINT OU-STOP-SEARCHING
|
||||
PRINTI " when you find"
|
||||
CALL PRINTT,FOUND-IT
|
||||
PRINTI ".
|
||||
"
|
||||
?CND1: FSET FOUND-IT,TOUCHBIT
|
||||
FSET FOUND-IT,SEENBIT
|
||||
EQUAL? FOUND-IT,YOUR-SWITCH /?CND32
|
||||
FCLEAR FOUND-IT,NDESCBIT
|
||||
?CND32: EQUAL? FOUND-IT,LENS,LENS-2 \?CND34
|
||||
SET 'FOUND-IT-PERM,FOUND-IT
|
||||
?CND34: SET 'FOUND-IT,FALSE-VALUE
|
||||
RETURN 2
|
||||
|
||||
|
||||
.FUNCT YOU-F,X
|
||||
EQUAL? WINNER,PLAYER /?CCL3
|
||||
CALL DO-INSTEAD-OF,WINNER,YOU
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?ASK-ABOUT \?CCL5
|
||||
EQUAL? PRSI,YOU \?CCL5
|
||||
CALL PERFORM,V?ASK-ABOUT,PRSO,PRSO
|
||||
RTRUE
|
||||
?CCL5: EQUAL? PRSA,V?THANKS \FALSE
|
||||
CALL QCONTEXT-GOOD? >X
|
||||
ZERO? X /FALSE
|
||||
CALL PERFORM,V?THANKS,X
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT WALL-F,OBJ
|
||||
EQUAL? VARIATION,FRIEND-C \?CCL3
|
||||
EQUAL? HERE,BASEMENT,CRYPT \?CCL3
|
||||
CALL BRICKS-F
|
||||
RSTACK
|
||||
?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL7
|
||||
CALL FIND-FLAG-LG,HERE,DOORBIT,SECRETBIT >OBJ
|
||||
ZERO? OBJ /?CCL7
|
||||
CALL DO-INSTEAD-OF,OBJ,WALL
|
||||
RTRUE
|
||||
?CCL7: EQUAL? PRSA,V?KNOCK \FALSE
|
||||
FSET? HERE,WEARBIT \?PRG17
|
||||
CALL FIND-FLAG-LG,HERE,DOORBIT,SECRETBIT
|
||||
ZERO? STACK /?PRG19
|
||||
?PRG17: PRINTR "You hear a hollow sound."
|
||||
?PRG19: PRINTR "Knocking on the walls reveals nothing unusual."
|
||||
|
||||
|
||||
.FUNCT GLOBAL-HERE-F,OBJ,X=0
|
||||
EQUAL? PRSA,V?WALK-TO,V?SMELL /?CTR2
|
||||
EQUAL? PRSA,V?SIT,V?LIE,V?EXAMINE \?CCL3
|
||||
?CTR2: CALL DO-INSTEAD-OF,HERE,GLOBAL-HERE
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?PUT-IN,V?PUT \?CCL7
|
||||
CALL MORE-SPECIFIC
|
||||
RSTACK
|
||||
?CCL7: EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH \FALSE
|
||||
IN? MAGAZINE,HERE \?CCL12
|
||||
FSET? MAGAZINE,NDESCBIT \?CCL12
|
||||
SET 'X,MAGAZINE
|
||||
JUMP ?CND10
|
||||
?CCL12: IN? BRICKS,HERE \?CCL16
|
||||
FSET? BRICKS,NDESCBIT \?CCL16
|
||||
SET 'X,BRICKS
|
||||
JUMP ?CND10
|
||||
?CCL16: ZERO? PRSI /?CCL20
|
||||
CALL META-LOC,PRSI
|
||||
EQUAL? STACK,HERE \?CCL20
|
||||
SET 'X,PRSI
|
||||
JUMP ?CND10
|
||||
?CCL20: FIRST? HERE >OBJ /?PRG24
|
||||
?PRG24: ZERO? OBJ /?CND10
|
||||
FSET? OBJ,SECRETBIT \?CCL30
|
||||
SET 'X,OBJ
|
||||
JUMP ?CND10
|
||||
?CCL30: FSET? OBJ,PERSONBIT /?CCL32
|
||||
FSET? OBJ,CONTBIT /?PRD35
|
||||
FSET? OBJ,SURFACEBIT \?CCL32
|
||||
?PRD35: CALL FIND-FLAG,OBJ,SECRETBIT >X
|
||||
ZERO? X \?CTR31
|
||||
CALL FIND-FLAG,OBJ,RMUNGBIT >X
|
||||
ZERO? X /?CCL32
|
||||
?CTR31: FSET OBJ,OPENBIT
|
||||
?CND10: CALL START-SEARCH,X
|
||||
RTRUE
|
||||
?CCL32: NEXT? OBJ >OBJ /?PRG24
|
||||
JUMP ?PRG24
|
||||
|
||||
|
||||
.FUNCT CHAIR-F
|
||||
EQUAL? PRSA,V?BOARD,V?CLIMB-ON,V?SIT \?CCL3
|
||||
CALL WONT-HELP
|
||||
RSTACK
|
||||
?CCL3: CALL RANDOM-PSEUDO
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT CLOTHES-FCN
|
||||
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL3
|
||||
EQUAL? PRSO,TWEED-OUTFIT \?CCL6
|
||||
PRINTI "These are sensible clothes for this clammy climate: your new tweed "
|
||||
ZERO? GENDER-KNOWN \?PRG14
|
||||
PRINTI "suit"
|
||||
JUMP ?PRG23
|
||||
?PRG14: PRINTI "blazer and "
|
||||
FSET? PLAYER,FEMALE \?PRG21
|
||||
PRINTI "skirt"
|
||||
JUMP ?PRG23
|
||||
?PRG21: PRINTI "pants"
|
||||
?PRG23: PRINTR ", with woolen sweater, should keep you warm enough."
|
||||
?CCL6: EQUAL? PRSO,EXERCISE-OUTFIT \?CCL26
|
||||
PRINTI "This is your favorite outfit for workouts: a cotton sweatsuit with a sporty "
|
||||
CALL PRINT-COLOR
|
||||
ZERO? STACK /?PRG33
|
||||
PRINTC 32
|
||||
?PRG33: PRINTR "stripe."
|
||||
?CCL26: EQUAL? PRSO,DINNER-OUTFIT \?PRG70
|
||||
ZERO? GENDER-KNOWN \?PRG42
|
||||
PRINTI "You have a decent formal ensemble, with frills in the right places"
|
||||
JUMP ?PRG53
|
||||
?PRG42: PRINTI "Your new "
|
||||
FSET? PLAYER,FEMALE \?PRG49
|
||||
PRINTI "floor-length dinner gown"
|
||||
JUMP ?PRG51
|
||||
?PRG49: PRINTI "tuxedo"
|
||||
?PRG51: PRINTI " is particularly good-looking"
|
||||
?PRG53: PRINTI " and a perfect fit"
|
||||
ZERO? VARIATION /?PRG68
|
||||
PRINTI ", "
|
||||
FSET? PLAYER,FEMALE \?PRG64
|
||||
PRINTI "not to mention that it's all"
|
||||
JUMP ?PRG66
|
||||
?PRG64: PRINTI "with shirt and accessories"
|
||||
?PRG66: PRINTI " in "
|
||||
CALL PRINT-COLOR
|
||||
?PRG68: PRINTR "."
|
||||
?PRG70: PRINTI "Your new "
|
||||
CALL PRINT-COLOR
|
||||
ZERO? STACK /?PRG76
|
||||
PRINTC 32
|
||||
?PRG76: PRINTD SLEEP-OUTFIT
|
||||
PRINTI " is "
|
||||
ZERO? GENDER-KNOWN \?CCL80
|
||||
PRINTR "nothing to write home about, but it is so-o-o comfy for sleeping."
|
||||
?CCL80: FSET? PLAYER,FEMALE \?PRG87
|
||||
PRINTR "made of fine Chinese silk."
|
||||
?PRG87: PRINTR "decorated with a Union Jack flag."
|
||||
?CCL3: EQUAL? PRSA,V?DISEMBARK \?CCL90
|
||||
CALL PERFORM,V?TAKE-OFF,PRSO
|
||||
RTRUE
|
||||
?CCL90: EQUAL? PRSA,V?EMPTY \FALSE
|
||||
CALL META-LOC,LUGGAGE
|
||||
EQUAL? STACK,HERE \?CCL95
|
||||
CALL PERFORM,V?EMPTY,LUGGAGE
|
||||
RTRUE
|
||||
?CCL95: CALL NOT-HERE,LUGGAGE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT SLEEP-GLOBAL-F
|
||||
EQUAL? PRSA,V?DRESS \?CCL3
|
||||
CALL META-LOC,SLEEP-OUTFIT
|
||||
EQUAL? HERE,STACK \FALSE
|
||||
CALL PERFORM,V?WEAR,SLEEP-OUTFIT
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?WALK-TO \FALSE
|
||||
CALL PERFORM,V?FAINT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT ROB,WHAT,THIEF,TELL?=0,N,X,TOLD?=0
|
||||
FIRST? WHAT >X /?PRG2
|
||||
?PRG2: ZERO? X /TRUE
|
||||
NEXT? X >N /?BOGUS6
|
||||
?BOGUS6: ZERO? N \?CND7
|
||||
ZERO? TOLD? /?CND7
|
||||
ZERO? TELL? /?CND7
|
||||
PRINTI " and"
|
||||
?CND7: SET 'TOLD?,TRUE-VALUE
|
||||
ZERO? TELL? /?CND14
|
||||
CALL PRINTT,X
|
||||
ZERO? N /?PRG23
|
||||
PRINTC 44
|
||||
JUMP ?CND14
|
||||
?PRG23: PRINTI ". "
|
||||
?CND14: MOVE X,THIEF
|
||||
SET 'X,N
|
||||
JUMP ?PRG2
|
||||
|
||||
|
||||
.FUNCT LIGHT-GLOBAL-F,P
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?LAMP-OFF,V?LAMP-ON \FALSE
|
||||
CALL CREEPY?,HERE
|
||||
ZERO? STACK /?CCL8
|
||||
CALL ACCESSIBLE?,LAMP
|
||||
ZERO? STACK /?CCL11
|
||||
CALL PERFORM,PRSA,LAMP
|
||||
RTRUE
|
||||
?CCL11: CALL NOT-HERE,LIGHT-GLOBAL
|
||||
RSTACK
|
||||
?CCL8: CALL OUTSIDE?,HERE
|
||||
ZERO? STACK /?CCL13
|
||||
PRINTR "You can't reach it from here."
|
||||
?CCL13: EQUAL? PRSA,V?LAMP-ON \?CCL18
|
||||
FSET? HERE,ONBIT \?CCL21
|
||||
CALL ALREADY,LIGHT-GLOBAL,STR?64
|
||||
RSTACK
|
||||
?CCL21: FSET HERE,ONBIT
|
||||
CALL OKAY,LIGHT-GLOBAL,STR?64
|
||||
RSTACK
|
||||
?CCL18: EQUAL? PRSA,V?LAMP-OFF \FALSE
|
||||
FSET? HERE,ONBIT /?CCL26
|
||||
CALL ALREADY,LIGHT-GLOBAL,STR?65
|
||||
RSTACK
|
||||
?CCL26: CALL FIND-FLAG-HERE-NOT,PERSONBIT,MUNGBIT,PLAYER >P
|
||||
ZERO? P /?CCL28
|
||||
PRINTD P
|
||||
PRINTR " says, ""Please don't leave us in the dark."""
|
||||
?CCL28: FCLEAR HERE,ONBIT
|
||||
CALL OKAY,LIGHT-GLOBAL,STR?65
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT HAUNTING-F
|
||||
EQUAL? PRSA,V?PLAY,V?LAMP-ON \FALSE
|
||||
CALL PERFORM,PRSA,COMPUTER
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT KEYHOLE-F,P,RM
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK /?CCL3
|
||||
EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH \FALSE
|
||||
?CCL3: CALL ADJ-USED?,FALSE-VALUE
|
||||
ZERO? STACK /?CCL7
|
||||
CALL ZMEMQ,HERE,CHAR-ROOM-TABLE
|
||||
ZERO? STACK /?CCL10
|
||||
GETPT HERE,P?OUT
|
||||
GETB STACK,REXIT >RM
|
||||
JUMP ?CND1
|
||||
?CCL10: EQUAL? HERE,CORR-2 /?PRG15
|
||||
EQUAL? HERE,WEST-HALL,GALLERY,EAST-HALL \?CCL12
|
||||
?PRG15: PRINT YOU-DIDNT-SAY-W
|
||||
PRINTI "hose "
|
||||
PRINTD KEYHOLE
|
||||
PRINTR "!]"
|
||||
?CCL12: CALL NOT-HERE,KEYHOLE
|
||||
RTRUE
|
||||
?CCL7: CALL ADJ-USED?
|
||||
CALL ZMEMQ,STACK,CHAR-POSS-TABLE >P
|
||||
ZERO? P /?CND1
|
||||
GET CHAR-ROOM-TABLE,P >RM
|
||||
EQUAL? HERE,RM \?CCL21
|
||||
GETPT HERE,P?OUT
|
||||
GETB STACK,REXIT >RM
|
||||
?CND1: EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH /?CCL25
|
||||
EQUAL? PRSA,V?LOOK-THROUGH,V?LOOK-INSIDE,V?EXAMINE \FALSE
|
||||
?CCL25: EQUAL? JACK-ROOM,HERE,RM \?CCL30
|
||||
EQUAL? VARIATION,LORD-C \?CCL30
|
||||
PRINTI "You see a microphone with its wires leading toward the "
|
||||
PRINTD CREST
|
||||
PRINTR "."
|
||||
?CCL21: GETPT RM,P?OUT
|
||||
GETB STACK,REXIT
|
||||
EQUAL? HERE,STACK /?CND1
|
||||
CALL NOT-HERE,KEYHOLE
|
||||
RTRUE
|
||||
?CCL30: CALL ROOM-PEEK,RM,TRUE-VALUE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT HANDS-F,P,A
|
||||
CALL FIND-BODY,HANDS >P
|
||||
ZERO? P /TRUE
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?KISS \?CCL7
|
||||
FSET? P,FEMALE \?CCL10
|
||||
ZERO? GENDER-KNOWN /?CCL10
|
||||
FSET? PLAYER,FEMALE /?CCL10
|
||||
CALL PERFORM,V?HELLO,P
|
||||
RTRUE
|
||||
?CCL10: CALL PERFORM,V?KISS,P
|
||||
RTRUE
|
||||
?CCL7: EQUAL? PRSA,V?TAKE,V?SHAKE \FALSE
|
||||
EQUAL? PRSO,HANDS \FALSE
|
||||
ZERO? PRSI /?CND18
|
||||
SET 'P,PRSI
|
||||
?CND18: CALL PERFORM,V?HELLO,P
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT HEAD-F,P,P2
|
||||
CALL FIND-BODY,HEAD >P
|
||||
ZERO? P /TRUE
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?NOD \?CCL7
|
||||
CALL PERFORM,V?YES
|
||||
RTRUE
|
||||
?CCL7: EQUAL? PRSA,V?SHAKE \FALSE
|
||||
CALL PERFORM,V?NO
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT EYE-F,P,P2
|
||||
CALL FIND-BODY,EYE >P
|
||||
ZERO? P /TRUE
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?OPEN \?CCL7
|
||||
SET 'WINNER,PLAYER
|
||||
CALL PERFORM,V?ALARM,P
|
||||
RTRUE
|
||||
?CCL7: EQUAL? PRSA,V?CLOSE \?CCL9
|
||||
SET 'WINNER,P
|
||||
CALL PERFORM,V?FAINT
|
||||
RTRUE
|
||||
?CCL9: EQUAL? PRSA,V?LOOK-INSIDE,V?FIND,V?EXAMINE \FALSE
|
||||
EQUAL? P,PLAYER \?CCL14
|
||||
FSET? HERE,WORNBIT /?CCL14
|
||||
CALL NOT-HERE,MIRROR-GLOBAL
|
||||
RSTACK
|
||||
?CCL14: EQUAL? GHOST-NEW,P \?CCL18
|
||||
CALL PERFORM,PRSA,GHOST-NEW
|
||||
RTRUE
|
||||
?CCL18: FSET? LENS,SEENBIT /?PRG37
|
||||
FSET? P,MUNGBIT \?CCL24
|
||||
CALL HE-SHE-IT,P,TRUE-VALUE
|
||||
PRINTR " has closed eyes."
|
||||
?CCL24: GETP P,P?CHARACTER
|
||||
EQUAL? VARIATION,STACK \?CCL28
|
||||
CALL HE-SHE-IT,P,TRUE-VALUE
|
||||
PRINTR " turns away from you."
|
||||
?CCL28: LESS? BED-TIME,PRESENT-TIME \?PRG35
|
||||
CALL HE-SHE-IT,P,TRUE-VALUE,STR?84
|
||||
PRINTR " sleepy."
|
||||
?PRG35: CALL HE-SHE-IT,P,TRUE-VALUE,STR?218
|
||||
PRINTR " at you."
|
||||
?PRG37: CALL HE-SHE-IT,P,TRUE-VALUE,STR?1
|
||||
EQUAL? P,DEALER \?PRG43
|
||||
EQUAL? VARIATION,PAINTER-C \?PRG45
|
||||
?PRG43: PRINTI " not"
|
||||
?PRG45: PRINTI " wearing a "
|
||||
PRINTD LENS
|
||||
PRINTR "."
|
||||
|
||||
|
||||
.FUNCT OTHER-OUTFIT-F,P,P2
|
||||
CALL FIND-BODY,OTHER-OUTFIT >P
|
||||
ZERO? P /TRUE
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?LOOK-INSIDE,V?FIND,V?EXAMINE \?CCL7
|
||||
EQUAL? GHOST-NEW,P \FALSE
|
||||
CALL PERFORM,PRSA,GHOST-NEW
|
||||
RTRUE
|
||||
?CCL7: EQUAL? PRSA,V?TAKE-OFF,V?REMOVE,V?DISEMBARK \FALSE
|
||||
CALL YOU-SHOULDNT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT FIND-BODY,OBJ,A,P
|
||||
CALL ADJ-USED? >A
|
||||
ZERO? A \?CCL3
|
||||
PRINT I-ASSUME
|
||||
PRINTC 32
|
||||
EQUAL? PRSA,V?SEARCH-FOR,V?FIND,V?CLOSE /?CTR7
|
||||
EQUAL? PRSA,V?SLAP /?PRD12
|
||||
EQUAL? PRSA,V?MUNG,V?KILL,V?ATTACK \?CCL8
|
||||
?PRD12: ZERO? NOW-PRSI /?CCL8
|
||||
?CTR7: SET 'P,PLAYER
|
||||
PRINTI "your"
|
||||
JUMP ?CND6
|
||||
?CCL8: EQUAL? PRSA,V?SHAKE \?PRD20
|
||||
ZERO? PRSI /?PRD20
|
||||
SET 'P,PRSI
|
||||
FSET? P,PERSONBIT /?PRG25
|
||||
?PRD20: CALL QCONTEXT-GOOD? >P
|
||||
ZERO? P \?PRG25
|
||||
CALL FIND-FLAG-HERE,PERSONBIT,PLAYER >P
|
||||
ZERO? P /?CCL18
|
||||
?PRG25: PRINTD P
|
||||
PRINTI "'s"
|
||||
JUMP ?CND6
|
||||
?CCL18: SET 'P,PLAYER
|
||||
PRINTI "your"
|
||||
?CND6: GETP P,P?CHARACTER
|
||||
ADD 1,STACK
|
||||
GET CHAR-POSS-TABLE,STACK
|
||||
PUT P-ADJW,NOW-PRSI,STACK
|
||||
PRINTC 32
|
||||
GET P-NAMW,NOW-PRSI >A
|
||||
ZERO? A /?PRG34
|
||||
PRINTB A
|
||||
JUMP ?PRG36
|
||||
?PRG34: PRINTD OBJ
|
||||
?PRG36: PRINTI ".]"
|
||||
CRLF
|
||||
JUMP ?CND1
|
||||
?CCL3: CALL ZMEMQ,A,CHAR-POSS-TABLE >P
|
||||
ZERO? P /?CCL39
|
||||
SUB P,1
|
||||
GET CHARACTER-TABLE,STACK >P
|
||||
JUMP ?CND1
|
||||
?CCL39: EQUAL? A,W?HER \?CCL41
|
||||
SET 'P,P-HER-OBJECT
|
||||
JUMP ?CND1
|
||||
?CCL41: EQUAL? A,W?HIS \?CND1
|
||||
SET 'P,P-HIM-OBJECT
|
||||
?CND1: ZERO? P \?CND43
|
||||
CALL DONT-UNDERSTAND
|
||||
RFALSE
|
||||
?CND43: CALL THIS-IS-IT,P
|
||||
CALL META-LOC,P
|
||||
EQUAL? STACK,HERE /?CCL47
|
||||
CALL NOT-HERE,P
|
||||
RFALSE
|
||||
?CCL47: CALL DIVESTMENT?,OBJ
|
||||
ZERO? STACK /?CCL49
|
||||
CALL HAR-HAR
|
||||
RFALSE
|
||||
?CCL49: RETURN P
|
||||
|
||||
|
||||
.FUNCT PASSAGE-F,RM
|
||||
CALL FIND-FLAG-LG,HERE,DOORBIT,SECRETBIT >RM
|
||||
EQUAL? PRSA,V?WALK-TO,V?TAKE \?CCL3
|
||||
CALL PERFORM,V?THROUGH,PRSO
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL5
|
||||
ZERO? RM /?CCL5
|
||||
CALL DO-INSTEAD-OF,RM,PASSAGE
|
||||
RTRUE
|
||||
?CCL5: FSET? HERE,SECRETBIT \?CCL9
|
||||
CALL DO-INSTEAD-OF,HERE,PASSAGE
|
||||
RTRUE
|
||||
?CCL9: CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
ZERO? RM /?CCL14
|
||||
CALL DOOR-ROOM,HERE,RM >RM
|
||||
ZERO? RM /?CCL14
|
||||
FSET? RM,SEENBIT \?CCL14
|
||||
CALL DO-INSTEAD-OF,RM,PASSAGE
|
||||
RTRUE
|
||||
?CCL14: CALL GENERIC-CLOSET,0 >RM
|
||||
ZERO? RM /?CCL19
|
||||
CALL DO-INSTEAD-OF,RM,PASSAGE
|
||||
RTRUE
|
||||
?CCL19: CALL NOT-HERE,PASSAGE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT CORPSE-F
|
||||
EQUAL? PRSA,V?FIND \FALSE
|
||||
CALL WHO-KNOWS?,CORPSE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT UNDRESSED-F
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?TAKE /FALSE
|
||||
EQUAL? PRSA,V?LOOK-ON /?CTR6
|
||||
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE,V?SEARCH-FOR /?CTR6
|
||||
EQUAL? PRSA,V?SEARCH,V?CLOSE,V?OPEN \?CCL7
|
||||
?CTR6: CALL GLOBAL-IN?,DRESSING-TABLE-LG,HERE
|
||||
ZERO? STACK /?CCL13
|
||||
CALL DO-INSTEAD-OF,DRESSING-TABLE-LG,UNDRESSED
|
||||
RTRUE
|
||||
?CCL13: CALL NOT-HERE,DRESSING-TABLE-LG
|
||||
RSTACK
|
||||
?CCL7: CALL DONT-UNDERSTAND
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT ARTIFACT-F
|
||||
ZERO? TREASURE-FOUND /?CCL3
|
||||
CALL DO-INSTEAD-OF,TREASURE,ARTIFACT
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?TAKE-TO,V?SSHOW,V?SHOW /?CCL5
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
?CCL5: CALL NOT-FOUND,ARTIFACT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT TIMES-UP
|
||||
PRINTI "At first light, the police arrive and take over the investigation."
|
||||
CRLF
|
||||
CALL FINISH
|
||||
RSTACK
|
||||
|
||||
.ENDI
|
906
global.zil
Normal file
906
global.zil
Normal file
|
@ -0,0 +1,906 @@
|
|||
"GLOBALS for MOONMIST
|
||||
Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
||||
|
||||
<OBJECT GLOBAL-OBJECTS
|
||||
(DESC "GO")
|
||||
;(FDESC 0)
|
||||
(TEXT 0)
|
||||
(FLAGS CONTBIT DOORBIT FEMALE
|
||||
INVISIBLE LIGHTBIT LOCKED MUNGBIT
|
||||
NARTICLEBIT NDESCBIT ONBIT OPENBIT
|
||||
;PERSONBIT READBIT RMUNGBIT
|
||||
SEARCHBIT SECRETBIT SEENBIT SURFACEBIT
|
||||
TAKEBIT TOOLBIT TOUCHBIT TRANSBIT TRYTAKEBIT
|
||||
VEHBIT VOWELBIT WEAPONBIT WEARBIT WORNBIT)>
|
||||
|
||||
<OBJECT LOCAL-GLOBALS
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "stone" ;"LG")
|
||||
(SYNONYM STONE ;L.G)
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION LOCAL-GLOBALS-F)>
|
||||
|
||||
<ROUTINE LOCAL-GLOBALS-F ()
|
||||
<COND (<REMOTE-VERB?>
|
||||
<RFALSE>)
|
||||
(<OR <CREEPY? ,HERE> <OUTSIDE? ,HERE>>
|
||||
<RANDOM-PSEUDO>)
|
||||
(T <NOT-HERE ,LOCAL-GLOBALS>)>>
|
||||
|
||||
<OBJECT STAIRS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "stairs")
|
||||
(SYNONYM STAIRS STAIRW STAIR)
|
||||
(GENERIC GENERIC-STAIRS)
|
||||
(FLAGS SEENBIT)
|
||||
(ACTION UPSTAIRS-DOWNSTAIRS)>
|
||||
|
||||
<GLOBAL WING-STAIRS <PLTABLE KITCHEN GREAT-HALL GALLERY>>
|
||||
<GLOBAL TOWER-STAIRS <PLTABLE BASEMENT OLD-GREAT-HALL CORR-2 CORR-3>>
|
||||
|
||||
<ROUTINE UPSTAIRS-DOWNSTAIRS ("AUX" N TBL (HR <LOC ,WINNER>))
|
||||
<COND (<VERB? BOARD CLIMB-DOWN CLIMB-UP THROUGH WALK WALK-TO>
|
||||
<COND (<FSET? .HR ,SECRETBIT>
|
||||
<RFALSE>)
|
||||
(<FSET? .HR ,WEARBIT> ;"WING-ROOMS"
|
||||
<SET TBL ,WING-STAIRS>)
|
||||
(T <SET TBL ,TOWER-STAIRS>)>
|
||||
<COND (<OR <VERB? BOARD CLIMB-UP>
|
||||
;<NOUN-USED? ,W?UPSTAIRS>>
|
||||
<COND (<T? <GETPT .HR ,P?UP>>
|
||||
<DO-WALK ,P?UP>
|
||||
<RTRUE>)
|
||||
(<AND <SET N <GETP .HR ,P?CHARACTER>>
|
||||
<NOT <L? <GET .TBL 0> <SET N <+ .N 1>>>>>
|
||||
<SET N <GET .TBL .N>>
|
||||
;<TELL-I-ASSUME .N " Walk to">
|
||||
<PERFORM ,V?WALK-TO .N>
|
||||
<RTRUE>)>)
|
||||
(T ;<NOUN-USED? ,W?DOWNSTAIRS>
|
||||
<COND (<T? <GETPT .HR ,P?DOWN>>
|
||||
<DO-WALK ,P?DOWN>
|
||||
<RTRUE>)
|
||||
(<AND <SET N <GETP .HR ,P?CHARACTER>>
|
||||
<L? 0 <SET N <- .N 1>>>>
|
||||
<SET N <GET .TBL .N>>
|
||||
;<TELL-I-ASSUME .N " Walk to">
|
||||
<PERFORM ,V?WALK-TO .N>
|
||||
<RTRUE>)>)>)>>
|
||||
|
||||
<ROUTINE DO-INSTEAD-OF (OBJ1 OBJ2)
|
||||
<COND (<EQUAL? ,PRSI .OBJ2> <PERFORM ,PRSA ,PRSO .OBJ1> <RTRUE>)
|
||||
(<EQUAL? ,PRSO .OBJ2> <PERFORM ,PRSA .OBJ1 ,PRSI> <RTRUE>)
|
||||
;(T <PERFORM ,PRSA ,PRSO ,PRSI> <RTRUE>)
|
||||
(T <V-FOO>)>>
|
||||
|
||||
<OBJECT TURN
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(ADJECTIVE INT.NUM ;NUMBER FULL)
|
||||
(SYNONYM TURN TURNS MINUTE)
|
||||
(DESC "minute")
|
||||
(ACTION TURN-F)>
|
||||
|
||||
<ROUTINE TURN-F ()
|
||||
<COND (<VERB? USE>
|
||||
<PERFORM ,V?WAIT-FOR ,PRSO>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT IT
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM IT THIS ;"FUCKER SUCKER")
|
||||
(DESC "it")
|
||||
(FLAGS VOWELBIT NARTICLEBIT)
|
||||
(ACTION IT-F)>
|
||||
|
||||
<ROUTINE IT-F ()
|
||||
<COND (<OR <AND <IOBJ? IT>
|
||||
;<FSET? ,PRSO ,PERSONBIT>
|
||||
<VERB? ASK-ABOUT ASK-FOR SEARCH-FOR TELL-ABOUT>>
|
||||
<AND <DOBJ? IT>
|
||||
<VERB? ASK-CONTEXT-ABOUT ASK-CONTEXT-FOR FIND ;WHAT>>>
|
||||
<TELL "\"I'm not sure what you're talking about.\"" CR>)>>
|
||||
|
||||
<OBJECT FLOOR
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "floor")
|
||||
(ADJECTIVE DRAWING ;ROOM GREAT ;HALL)
|
||||
(SYNONYM FLOOR ;AREA GROUND CARPET RUG)
|
||||
(FLAGS SEENBIT SURFACEBIT OPENBIT)
|
||||
(ACTION FLOOR-F)>
|
||||
|
||||
<ROUTINE FLOOR-F ("AUX" (OBJ <>) N)
|
||||
<COND ;(<REMOTE-VERB?> <RFALSE>)
|
||||
(<VERB? CLIMB-ON>
|
||||
<ALREADY ,WINNER "on it">)
|
||||
(<AND <VERB? PUT THROW-AT>
|
||||
<NOT <DOBJ? MOONMIST>>
|
||||
<IOBJ? FLOOR>>
|
||||
<MOVE ,PRSO ,HERE>
|
||||
<TELL "Okay." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE LOOK-ON SEARCH SEARCH-FOR>
|
||||
<COND (<EQUAL? ,HERE ,DRAWING-ROOM>
|
||||
<TELL
|
||||
"The carpet ends flush with the archway to the " 'GREAT-HALL ",
|
||||
where the footsteps of visitors have begun to wear it thin.
|
||||
It's a magnificent red Brussels carpet with deep pile and a medieval
|
||||
design." CR>)
|
||||
(<EQUAL? ,HERE ,GREAT-HALL>
|
||||
<GREAT-HALL-IS-FLOORED>)>
|
||||
<COND (<AND <EQUAL? ,HERE ,GARDEN>
|
||||
<EQUAL? ,VARIATION ,LORD-C>
|
||||
<FSET? ,CLUE-4 ,SECRETBIT>>
|
||||
<SET OBJ ,CLUE-4>)
|
||||
(<AND <EQUAL? ,HERE ,DRAWING-ROOM>
|
||||
<EQUAL? ,VARIATION ,LORD-C ,FRIEND-C ;,OFFICER-C>
|
||||
<NOT <FSET? ,JEWEL ,TOUCHBIT>>>
|
||||
<SET OBJ ,JEWEL>)
|
||||
(<AND <EQUAL? ,HERE ,GREAT-HALL>
|
||||
<EQUAL? ,VARIATION ,DOCTOR-C ;,DEALER-C ,PAINTER-C>
|
||||
<NOT <EQUAL? ,FOUND-IT-PERM ,LENS ;,LENS-1 ,LENS-2>>>
|
||||
<SET OBJ ,LENS>)>
|
||||
<START-SEARCH .OBJ>
|
||||
<RTRUE>)
|
||||
(<ADJ-USED? ,W?DRAWING>
|
||||
<COND (<NOT <==? ,HERE ,DRAWING-ROOM>>
|
||||
<DO-INSTEAD-OF ,DRAWING-ROOM ,FLOOR>
|
||||
<RTRUE>)>)
|
||||
(<ADJ-USED? ,W?GREAT>
|
||||
<COND (<NOT <==? ,HERE ,GREAT-HALL>>
|
||||
<DO-INSTEAD-OF ,GREAT-HALL ,FLOOR>
|
||||
<RTRUE>)>)>>
|
||||
|
||||
<ROUTINE START-SEARCH ("OPTIONAL" (OBJ <>))
|
||||
<TELL
|
||||
"Nothing suspicious meets your eye after a moment's scrutiny. Do you want
|
||||
to continue?">
|
||||
<COND (<NOT <YES?>>
|
||||
<OKAY>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<COND (T ;<T? .OBJ>
|
||||
<SETG FOUND-IT .OBJ>)>
|
||||
<SETG FOUND-LOC ,HERE>
|
||||
<QUEUE I-FOUND-IT <RANDOM 7>>
|
||||
<V-WAIT 8 <> T>
|
||||
<RTRUE>)>>
|
||||
|
||||
<GLOBAL FOUND-IT:OBJECT <>>
|
||||
<GLOBAL FOUND-IT-PERM:OBJECT <>>
|
||||
<GLOBAL FOUND-LOC:OBJECT <>>
|
||||
<GLOBAL NOTHING-NEW "You don't find anything new there.|">
|
||||
|
||||
<ROUTINE I-FOUND-IT ("OPTIONAL" (GARG <>) "AUX" OBJ)
|
||||
%<DEBUG-CODE <COND (<OR ,IDEBUG <==? .GARG ,G-DEBUG>>
|
||||
<TELL "[I-FOUND-IT:">
|
||||
<COND (<==? .GARG ,G-DEBUG> <RFALSE>)>)>>
|
||||
<COND (<NOT <EQUAL? ,FOUND-LOC ,HERE>>
|
||||
<RFALSE>)
|
||||
(<EQUAL? ,FOUND-IT ,JEWEL>
|
||||
<MOVE ,FOUND-IT ,HERE>
|
||||
<TELL
|
||||
"Suddenly you notice a glittering speck. Probing for it with your fingers,
|
||||
you discover a " 'JEWEL "." ;"extract from the strands of carpet pile" CR>)
|
||||
(<EQUAL? ,FOUND-IT ,LENS>
|
||||
<COND (<NOT <FSET? ,LENS ,SEENBIT>>
|
||||
<MOVE ,LENS-2 <LOC ,LENS>>
|
||||
;<REMOVE ,LENS>)
|
||||
(<NOT <FSET? ,LENS-2 ,SEENBIT>>
|
||||
<SETG FOUND-IT ,LENS-2>
|
||||
<MOVE ,LENS-1 <LOC ,LENS>>
|
||||
<REMOVE ,LENS>)
|
||||
(T <RFALSE>)>
|
||||
<MOVE ,FOUND-IT ,HERE>
|
||||
<TELL
|
||||
"Suddenly you find something small, smooth and slippery -- a "
|
||||
D ,FOUND-IT "! Its transparency, of course, made it practically invisible.">
|
||||
<COND (<T? ,BUTLER-GHOST-STORY-TOLD>
|
||||
<TELL
|
||||
" No wonder you and the ghost had such a hard time finding it!">)>
|
||||
<CRLF>)
|
||||
(<ZERO? ,FOUND-IT>
|
||||
<TELL ,NOTHING-NEW>
|
||||
<RFATAL>)
|
||||
(<FSET? ,FOUND-IT ,SECRETBIT>
|
||||
;<SET OBJ <FIND-FLAG ,HERE ,SECRETBIT>>
|
||||
<DISCOVER ,FOUND-IT ;.OBJ>
|
||||
;<RFATAL>)
|
||||
(T
|
||||
<TELL
|
||||
!\Y ,OU-STOP-SEARCHING " when you find" THE ,FOUND-IT ".|">)>
|
||||
<COND (T ;<NOT <EQUAL? ,FOUND-IT ,MOONMIST ,YOUR-SWITCH>>
|
||||
;<MOVE ,FOUND-IT ,PLAYER>
|
||||
<FSET ,FOUND-IT ,TOUCHBIT>)>
|
||||
<FSET ,FOUND-IT ,SEENBIT>
|
||||
<COND (<NOT <EQUAL? ,FOUND-IT ,YOUR-SWITCH>>
|
||||
<FCLEAR ,FOUND-IT ,NDESCBIT>)>
|
||||
<COND (<EQUAL? ,FOUND-IT ,LENS ;,LENS-1 ,LENS-2>
|
||||
<SETG FOUND-IT-PERM ,FOUND-IT>)>
|
||||
<SETG FOUND-IT <>>
|
||||
<RFATAL>>
|
||||
|
||||
<OBJECT DANGER
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "danger")
|
||||
(SYNONYM DANGER THREAT ATTACK)>
|
||||
|
||||
<OBJECT INTNUM
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM INT.NUM ;NUMBER)
|
||||
(DESC "number")>
|
||||
|
||||
<OBJECT YOU
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM YOU YOURSELF HIMSELF HERSELF)
|
||||
(DESC "self" ;"himself or herself")
|
||||
(FLAGS ;NARTICLEBIT)
|
||||
(ACTION YOU-F)>
|
||||
|
||||
<ROUTINE YOU-F ("AUX" X)
|
||||
<COND (<NOT <==? ,WINNER ,PLAYER>>
|
||||
<DO-INSTEAD-OF ,WINNER ,YOU>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? ASK-ABOUT> <IOBJ? YOU>>
|
||||
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSO>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? THANKS>
|
||||
<SET X <QCONTEXT-GOOD?>>>
|
||||
<PERFORM ,V?THANKS .X>
|
||||
<RTRUE>)>>
|
||||
|
||||
;<OBJECT HINT
|
||||
(DESC "hint")
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM HINT HELP)
|
||||
(ACTION HINT-F)>
|
||||
|
||||
;<ROUTINE HINT-F ()
|
||||
<COND (<VERB? FIND>
|
||||
<HELP-TEXT>)
|
||||
(<VERB? ASK-FOR ASK-CONTEXT-FOR TAKE>
|
||||
<MORE-SPECIFIC>)>>
|
||||
|
||||
;<OBJECT CORRIDOR-GLOBAL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "corridor")
|
||||
(SYNONYM CORRIDOR)
|
||||
(ACTION CORRIDOR-GLOBAL-F)>
|
||||
|
||||
;<ROUTINE CORRIDOR-GLOBAL-F ("AUX" RM)
|
||||
<COND (<VERB? ANALYZE EXAMINE LOOK-INSIDE LOOK-DOWN LOOK-UP>
|
||||
<COND (<SET RM <NEXT-ROOM ,HERE ,P?OUT>>
|
||||
<ROOM-PEEK .RM T>)>)>>
|
||||
|
||||
<OBJECT WALL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "wall")
|
||||
(ADJECTIVE CASTLE TOWER BRICK)
|
||||
(SYNONYM WALL WALLS BRICK BRICKS)
|
||||
(FLAGS SEENBIT SURFACEBIT OPENBIT)
|
||||
(ACTION WALL-F)>
|
||||
|
||||
<ROUTINE WALL-F ("AUX" OBJ)
|
||||
<COND (<AND <EQUAL? ,VARIATION ,FRIEND-C>
|
||||
<EQUAL? ,HERE ,BASEMENT ,CRYPT>
|
||||
;<VERB? ;DIG EXAMINE KNOCK MUNG OPEN RUB SEARCH>>
|
||||
<BRICKS-F>)
|
||||
(<AND <VERB? OPEN CLOSE>
|
||||
<T? <SET OBJ <FIND-FLAG-LG ,HERE ,DOORBIT ,SECRETBIT>>>>
|
||||
<DO-INSTEAD-OF .OBJ ,WALL>
|
||||
<RTRUE>)
|
||||
(<VERB? KNOCK>
|
||||
<COND (<OR <NOT <FSET? ,HERE ,WEARBIT> ;"WING-ROOMS">
|
||||
<FIND-FLAG-LG ,HERE ,DOORBIT ,SECRETBIT>>
|
||||
<TELL "You hear a hollow sound." CR>)
|
||||
(T <TELL
|
||||
"Knocking on the walls reveals nothing unusual." CR>)>)>>
|
||||
|
||||
<OBJECT GLOBAL-HERE
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "here")
|
||||
(ADJECTIVE THIS)
|
||||
(SYNONYM HERE AREA ROOM PLACE)
|
||||
(GENERIC GENERIC-ROOM)
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION GLOBAL-HERE-F)>
|
||||
|
||||
<ROUTINE GLOBAL-HERE-F ("AUX" OBJ (X <>))
|
||||
<COND (<VERB? EXAMINE LIE SIT SMELL WALK-TO>
|
||||
<DO-INSTEAD-OF ,HERE ,GLOBAL-HERE>
|
||||
<RTRUE>)
|
||||
(<VERB? PUT PUT-IN ;TIE-TO>
|
||||
<MORE-SPECIFIC>)
|
||||
(<VERB? SEARCH SEARCH-FOR>
|
||||
<COND (<AND <IN? ,MAGAZINE ,HERE>
|
||||
;<EQUAL? ,VARIATION ,PAINTER-C>
|
||||
<FSET? ,MAGAZINE ,NDESCBIT>>
|
||||
<SET X ,MAGAZINE>)
|
||||
(<AND <IN? ,BRICKS ,HERE>
|
||||
;<EQUAL? ,VARIATION ,FRIEND-C>
|
||||
<FSET? ,BRICKS ,NDESCBIT>>
|
||||
<SET X ,BRICKS>)
|
||||
;(<AND <EQUAL? ,HERE ,COURTYARD>
|
||||
<SET X <FIRST? ,FRONT-GATE>>> ;"for CLUE-4"
|
||||
T)
|
||||
(<AND <T? ,PRSI>
|
||||
<==? <META-LOC ,PRSI> ,HERE>>
|
||||
<SET X ,PRSI>)
|
||||
(T
|
||||
<SET OBJ <FIRST? ,HERE>>
|
||||
<REPEAT ()
|
||||
<COND (<ZERO? .OBJ>
|
||||
<RETURN>)
|
||||
(<FSET? .OBJ ,SECRETBIT>
|
||||
<SET X .OBJ>
|
||||
<RETURN>)
|
||||
(<AND <NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<OR <FSET? .OBJ ,CONTBIT>
|
||||
<FSET? .OBJ ,SURFACEBIT>>
|
||||
<OR <SET X <FIND-FLAG .OBJ ,SECRETBIT>>
|
||||
<SET X <FIND-FLAG .OBJ ,RMUNGBIT>>>>
|
||||
<FSET .OBJ ,OPENBIT>
|
||||
<RETURN>)
|
||||
(T <SET OBJ <NEXT? .OBJ>>)>>)>
|
||||
<START-SEARCH .X>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT CHAIR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "chair")
|
||||
(ADJECTIVE WING)
|
||||
(SYNONYM CHAIR SEAT CHAIRS BENCH)
|
||||
(FLAGS SEENBIT SURFACEBIT ;VEHBIT)
|
||||
(ACTION CHAIR-F)>
|
||||
|
||||
<ROUTINE CHAIR-F () ;("OPT" (ARG 0))
|
||||
<COND ;(<T? .ARG> <RFALSE>)
|
||||
(<VERB? SIT ;LOOK-UNDER CLIMB-ON ;CLIMB-DOWN BOARD>
|
||||
<WONT-HELP>
|
||||
;<SETG PLAYER-SEATED ,CHAIR>
|
||||
;<TELL "Okay." ;"That's just a waste of time." CR>)
|
||||
(T <RANDOM-PSEUDO>)>>
|
||||
|
||||
<OBJECT TABLE-RANDOM
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "table")
|
||||
(ADJECTIVE BILLIARD CARD)
|
||||
(SYNONYM TABLE DESK)
|
||||
(FLAGS SEENBIT)
|
||||
(ACTION RANDOM-PSEUDO)>
|
||||
|
||||
[
|
||||
<OBJECT TWEED-OUTFIT
|
||||
(IN PLAYER)
|
||||
(DESC "tweed outfit")
|
||||
(ADJECTIVE MY TWEED WOOLEN WOOL)
|
||||
(SYNONYM CLOTHES OUTFIT TWEEDS SUIT ;" SWEATER CLOTHING")
|
||||
(GENERIC GENERIC-CLOTHES)
|
||||
(FLAGS WORNBIT WEARBIT TAKEBIT MUNGBIT SEENBIT)
|
||||
(SIZE 20)
|
||||
(ACTION CLOTHES-FCN)>
|
||||
|
||||
<OBJECT SLEEP-OUTFIT
|
||||
(IN LUGGAGE)
|
||||
(DESC "nightshirt" ;"set of pajamas, sleeping outfit")
|
||||
(ADJECTIVE MY NIGHT F.C F.C ;" FINE INDIAN SILK SLEEPING")
|
||||
(SYNONYM CLOTHES OUTFIT NIGHTS SHIRT ;" PAJAMA NIGHTG")
|
||||
(GENERIC GENERIC-CLOTHES)
|
||||
(FLAGS WEARBIT TAKEBIT)
|
||||
(SIZE 20)
|
||||
(ACTION CLOTHES-FCN)>
|
||||
|
||||
<OBJECT EXERCISE-OUTFIT
|
||||
(IN LUGGAGE)
|
||||
(DESC "exercise outfit")
|
||||
(ADJECTIVE MY EXERCISE F.C F.C ;"COTTON COMFORT RUNNING")
|
||||
(SYNONYM CLOTHES OUTFIT SWEATS SUIT ;"SHOES CLOTHING")
|
||||
(GENERIC GENERIC-CLOTHES)
|
||||
(FLAGS WEARBIT TAKEBIT VOWELBIT)
|
||||
(SIZE 20)
|
||||
(ACTION CLOTHES-FCN)>
|
||||
|
||||
<OBJECT DINNER-OUTFIT
|
||||
(IN LUGGAGE)
|
||||
(DESC "dinner outfit")
|
||||
(ADJECTIVE MY DINNER FORMAL F.C F.C ;"FRILLY PERFECT")
|
||||
(SYNONYM CLOTHES OUTFIT ;"ENSEMBLE CLOTHING" DRESS GOWN)
|
||||
(GENERIC GENERIC-CLOTHES)
|
||||
(FLAGS WEARBIT TAKEBIT)
|
||||
(SIZE 20)
|
||||
(ACTION CLOTHES-FCN)>
|
||||
|
||||
<ROUTINE CLOTHES-FCN ()
|
||||
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<DOBJ? TWEED-OUTFIT>
|
||||
<TELL
|
||||
"These are sensible clothes for this clammy climate: your new tweed ">
|
||||
<COND (<ZERO? ,GENDER-KNOWN>
|
||||
<TELL "suit">)
|
||||
(T
|
||||
<TELL "blazer and ">
|
||||
<COND (<FSET? ,PLAYER ,FEMALE> <TELL "skirt">)
|
||||
(T <TELL "pants">)>)>
|
||||
<TELL ", with woolen sweater, should keep you warm enough.">)
|
||||
(<DOBJ? EXERCISE-OUTFIT>
|
||||
<TELL
|
||||
"This is your favorite outfit for workouts: a cotton sweatsuit with a sporty ">
|
||||
<COND (<PRINT-COLOR> <TELL !\ >)>
|
||||
<TELL "stripe." ;", and comfortable running shoes.">)
|
||||
(<DOBJ? DINNER-OUTFIT>
|
||||
<COND (<ZERO? ,GENDER-KNOWN>
|
||||
<TELL
|
||||
"You have a decent formal ensemble, with frills in the right places">)
|
||||
(T
|
||||
<TELL "Your new ">
|
||||
<COND (<FSET? ,PLAYER ,FEMALE>
|
||||
<TELL "floor-length dinner gown">)
|
||||
(T <TELL "tuxedo">)>
|
||||
<TELL " is particularly good-looking">)>
|
||||
<TELL " and a perfect fit">
|
||||
<COND (<NOT <0? ,VARIATION>>
|
||||
<TELL ", ">
|
||||
<COND (<FSET? ,PLAYER ,FEMALE>
|
||||
<TELL "not to mention that it's all">)
|
||||
(T <TELL "with shirt and accessories">)>
|
||||
<TELL " in ">
|
||||
<PRINT-COLOR>)>
|
||||
<TELL ".">)
|
||||
(T ;<DOBJ? SLEEP-OUTFIT>
|
||||
<TELL "Your new ">
|
||||
<COND (<PRINT-COLOR> <TELL !\ >)>
|
||||
<TELL D ,SLEEP-OUTFIT ;"nightshirt" " is ">
|
||||
<COND (<ZERO? ,GENDER-KNOWN>
|
||||
<TELL
|
||||
"nothing to write home about, but it is so-o-o comfy for sleeping.">)
|
||||
(<FSET? ,PLAYER ,FEMALE>
|
||||
<TELL "made of fine Chinese silk.">)
|
||||
(T <TELL "decorated with a Union Jack flag.">)>)>
|
||||
<CRLF>)
|
||||
(<VERB? DISEMBARK ;TAKE> ;"GET OUT OF MY CLOTHES"
|
||||
<PERFORM ,V?TAKE-OFF ,PRSO>
|
||||
<RTRUE>)
|
||||
(<VERB? EMPTY> ;"UNPACK MY CLOTHES"
|
||||
<COND (<EQUAL? <META-LOC ,LUGGAGE> ,HERE>
|
||||
<PERFORM ,V?EMPTY ,LUGGAGE>
|
||||
<RTRUE>)
|
||||
(T <NOT-HERE ,LUGGAGE>)>)>>
|
||||
]
|
||||
<OBJECT SLEEP-GLOBAL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
;(ADJECTIVE ;SOME MY)
|
||||
(SYNONYM SLEEP)
|
||||
(DESC "sleep")
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION SLEEP-GLOBAL-F)>
|
||||
|
||||
<ROUTINE SLEEP-GLOBAL-F ()
|
||||
<COND (<VERB? DRESS ;-FOR>
|
||||
<COND (<EQUAL? ,HERE <META-LOC ,SLEEP-OUTFIT>>
|
||||
<PERFORM ,V?WEAR ,SLEEP-OUTFIT>
|
||||
<RTRUE>)>)
|
||||
(<VERB? WALK-TO>
|
||||
<PERFORM ,V?FAINT>
|
||||
<RTRUE>)>>
|
||||
|
||||
<GLOBAL NOW-WEARING:OBJECT TWEED-OUTFIT>
|
||||
|
||||
<ROUTINE ROB (WHAT THIEF "OPTIONAL" (TELL? <>) "AUX" N X (TOLD? <>))
|
||||
<SET X <FIRST? .WHAT>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .X> <RETURN>)>
|
||||
<SET N <NEXT? .X>>
|
||||
;<COND (<NOT <FSET? .X ,TAKEBIT>>
|
||||
<SET X .N>
|
||||
<AGAIN>)>
|
||||
<COND (<AND <NOT .N> .TOLD? .TELL?>
|
||||
<TELL " and">)>
|
||||
<SET TOLD? T>
|
||||
<COND (.TELL?
|
||||
<TELL THE .X>
|
||||
<COND (.N <TELL !\,>)
|
||||
(T <TELL ". ">)>)>
|
||||
<MOVE .X .THIEF>
|
||||
;<FCLEAR .X ,TAKEBIT>
|
||||
<SET X .N>>>
|
||||
|
||||
<OBJECT LIGHT-GLOBAL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "light")
|
||||
(ADJECTIVE FLOOD MOON)
|
||||
(SYNONYM LIGHT LIGHTS LAMP MOONLIGHT)
|
||||
(FLAGS SEENBIT TRYTAKEBIT)
|
||||
(ACTION LIGHT-GLOBAL-F)>
|
||||
|
||||
<ROUTINE LIGHT-GLOBAL-F ("AUX" P)
|
||||
<COND (<REMOTE-VERB?> <RFALSE>)
|
||||
(<VERB? LAMP-ON LAMP-OFF>
|
||||
<COND (<CREEPY? ,HERE>
|
||||
<COND (<ACCESSIBLE? ,LAMP>
|
||||
<PERFORM ,PRSA ,LAMP>
|
||||
<RTRUE>)
|
||||
(T <NOT-HERE ,LIGHT-GLOBAL>)>)
|
||||
(<AND <OUTSIDE? ,HERE> ;<NOT <EQUAL? ,HERE ,CAR>>>
|
||||
<TELL "You can't reach it from here." CR>)
|
||||
(<VERB? LAMP-ON>
|
||||
<COND (<FSET? ,HERE ,ONBIT>
|
||||
<ALREADY ,LIGHT-GLOBAL "on">)
|
||||
(T
|
||||
<FSET ,HERE ,ONBIT>
|
||||
<OKAY ,LIGHT-GLOBAL "on">)>)
|
||||
(<VERB? LAMP-OFF>
|
||||
<COND (<NOT <FSET? ,HERE ,ONBIT>>
|
||||
<ALREADY ,LIGHT-GLOBAL "off">)
|
||||
(<SET P <FIND-FLAG-HERE-NOT ,PERSONBIT ,MUNGBIT ,PLAYER>>
|
||||
<TELL
|
||||
D .P " says, \"Please don't leave us in the dark.\"" CR>)
|
||||
(T
|
||||
<FCLEAR ,HERE ,ONBIT>
|
||||
<OKAY ,LIGHT-GLOBAL "off">)>)>)>>
|
||||
|
||||
<OBJECT HAUNTING
|
||||
(DESC "haunting")
|
||||
(IN OFFICE)
|
||||
(SYNONYM MYSTERY HAUNTING ATTEMPTS CASE)
|
||||
(FLAGS NDESCBIT SEENBIT)
|
||||
(ACTION HAUNTING-F)>
|
||||
|
||||
<ROUTINE HAUNTING-F ()
|
||||
<COND (<VERB? LAMP-ON PLAY>
|
||||
<PERFORM ,PRSA ,COMPUTER>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT KEYHOLE
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "keyhole")
|
||||
(ADJECTIVE MY TAM\'S JACK\'S VIV\'S HYDE\'S IAN\'S DOC\'S IRIS\'S)
|
||||
(SYNONYM KEYHOLE HOLE)
|
||||
;(FLAGS NARTICLEBIT ;PLURALBIT)
|
||||
(ACTION KEYHOLE-F)>
|
||||
|
||||
<ROUTINE KEYHOLE-F ("AUX" P RM)
|
||||
<COND (<AND <REMOTE-VERB?>
|
||||
<NOT <VERB? SEARCH SEARCH-FOR>>>
|
||||
<RFALSE>)
|
||||
(<ADJ-USED? <>>
|
||||
;<ZERO? ,P-ADJN>
|
||||
<COND (<ZMEMQ ,HERE ,CHAR-ROOM-TABLE>
|
||||
<SET RM <GET-REXIT-ROOM <GETPT ,HERE ,P?OUT>>>)
|
||||
(<OR <EQUAL? ,HERE ,CORR-2>
|
||||
<EQUAL? ,HERE ,WEST-HALL ,GALLERY ,EAST-HALL>>
|
||||
<TELL ,YOU-DIDNT-SAY-W "hose " 'KEYHOLE "!]" CR>
|
||||
<RTRUE>)
|
||||
(T <NOT-HERE ,KEYHOLE> <RTRUE>)>)
|
||||
(<OR <SET P <ZMEMQ <ADJ-USED?> ;,P-ADJN ,CHAR-POSS-TABLE>>
|
||||
;<AND <==? <ADJ-USED?> ,OTHER-POSS>
|
||||
<SET P <GETP ,OTHER-CHAR ,P?CHARACTER>>>>
|
||||
<SET RM <GET ,CHAR-ROOM-TABLE .P>>
|
||||
<COND (<EQUAL? ,HERE .RM>
|
||||
<SET RM <GET-REXIT-ROOM <GETPT ,HERE ,P?OUT>>>)
|
||||
(<NOT <EQUAL? ,HERE <GET-REXIT-ROOM <GETPT .RM ,P?OUT>>>>
|
||||
<NOT-HERE ,KEYHOLE>
|
||||
<RTRUE>)>)>
|
||||
<COND (<VERB? EXAMINE LOOK-INSIDE LOOK-THROUGH SEARCH SEARCH-FOR>
|
||||
<COND (<AND <EQUAL? ,JACK-ROOM ,HERE .RM>
|
||||
<EQUAL? ,VARIATION ,LORD-C>>
|
||||
<TELL
|
||||
"You see a microphone with its wires leading toward the " 'CREST "." CR>
|
||||
;<TELL
|
||||
"Total darkness greets your eye. Something is obstructing your view
|
||||
through the " 'KEYHOLE "." CR>)
|
||||
(T <ROOM-PEEK .RM T>)>
|
||||
<RTRUE>)>>
|
||||
[
|
||||
<OBJECT HANDS
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "hand" ;"your hands")
|
||||
(ADJECTIVE TAM\'S JACK\'S VIV\'S HYDE\'S IAN\'S DOC\'S IRIS\'S MY
|
||||
;"ordering same as HEAD & EYE for UN/DRESS-GHOST"
|
||||
;" B\'S DEE\'S")
|
||||
(SYNONYM HANDS HAND)
|
||||
(FLAGS TRYTAKEBIT ;NARTICLEBIT ;PLURALBIT SEENBIT)
|
||||
(ACTION HANDS-F)>
|
||||
|
||||
<ROUTINE HANDS-F ("AUX" P A)
|
||||
<COND (<NOT <SET P <FIND-BODY ,HANDS>>>
|
||||
<RTRUE>)
|
||||
(<REMOTE-VERB?>
|
||||
<RFALSE>)>
|
||||
<COND ;(<EQUAL? .P ,PLAYER>
|
||||
<COND (<VERB? BRUSH>
|
||||
<RFALSE>)>)
|
||||
(<VERB? KISS>
|
||||
<COND (<AND <FSET? .P ,FEMALE>
|
||||
<T? ,GENDER-KNOWN>
|
||||
<NOT <FSET? ,PLAYER ,FEMALE>>>
|
||||
<PERFORM ,V?HELLO .P>)
|
||||
(T
|
||||
<PERFORM ,V?KISS .P>)>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? SHAKE TAKE> <DOBJ? HANDS>>
|
||||
<COND (<T? ,PRSI> ;<ZERO? .P>
|
||||
<SET P ,PRSI>)>
|
||||
;<COND (<ZERO? .P>
|
||||
<COND ;(<ADJ-USED? ,W?HER>
|
||||
<SET P <FIND-FLAG-HERE-BOTH ,PERSONBIT ,FEMALE ,WINNER>>
|
||||
<COND (<ZERO? .P>
|
||||
<TELL "There's no woman here!" CR>
|
||||
<RTRUE>)>)
|
||||
;(<ADJ-USED? ,W?HIS>
|
||||
<SET P <FIND-FLAG-HERE-NOT ,PERSONBIT ,FEMALE ,WINNER>>
|
||||
<COND (<ZERO? .P>
|
||||
<TELL "There's no man here!" CR>
|
||||
<RTRUE>)>)
|
||||
(T
|
||||
<SET P <FIND-FLAG-HERE ,PERSONBIT ,WINNER>>
|
||||
<COND (<ZERO? .P>
|
||||
<TELL "There's no one here!" CR>
|
||||
<RTRUE>)>)>)>
|
||||
<PERFORM ,V?HELLO .P>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT HEAD
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "head" ;"your head")
|
||||
(ADJECTIVE TAM\'S JACK\'S VIV\'S HYDE\'S IAN\'S DOC\'S IRIS\'S B\'S
|
||||
;" MY DEE\'S")
|
||||
(SYNONYM HEAD ;FACE)
|
||||
(FLAGS ;NARTICLEBIT SEENBIT)
|
||||
(ACTION HEAD-F)>
|
||||
|
||||
<ROUTINE HEAD-F ("AUX" P P2)
|
||||
<COND (<NOT <SET P <FIND-BODY ,HEAD>>>
|
||||
<RTRUE>)
|
||||
(<REMOTE-VERB?>
|
||||
<RFALSE>)
|
||||
;(<AND <EQUAL? .P ,PLAYER>
|
||||
<NOT <FSET? ,HERE ,WORNBIT>>>
|
||||
<NOT-HERE ,MIRROR-GLOBAL ;,HEAD>)
|
||||
(<VERB? NOD>
|
||||
<PERFORM ,V?YES>
|
||||
<RTRUE>)
|
||||
(<VERB? SHAKE>
|
||||
<PERFORM ,V?NO>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT EYE
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "eye")
|
||||
(ADJECTIVE TAM\'S JACK\'S VIV\'S HYDE\'S IAN\'S DOC\'S IRIS\'S B\'S
|
||||
;" MY DEE\'S")
|
||||
(SYNONYM EYE EYES)
|
||||
(FLAGS VOWELBIT ;PLURALBIT SEENBIT)
|
||||
(ACTION EYE-F)>
|
||||
|
||||
<ROUTINE EYE-F ("AUX" P P2)
|
||||
<COND (<NOT <SET P <FIND-BODY ,EYE>>>
|
||||
<RTRUE>)
|
||||
(<REMOTE-VERB?>
|
||||
<RFALSE>)
|
||||
;(<AND <EQUAL? .P ,PLAYER>
|
||||
<NOT <FSET? ,HERE ,WORNBIT>>>
|
||||
<COND (<VERB? OPEN>
|
||||
<TELL "Your eyes are wide open." CR>)
|
||||
(T <NOT-HERE ,MIRROR-GLOBAL ;,EYE>)>)
|
||||
(<VERB? OPEN>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?ALARM .P>
|
||||
<RTRUE>)
|
||||
(<VERB? CLOSE>
|
||||
<SETG WINNER .P>
|
||||
<PERFORM ,V?FAINT>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE FIND LOOK-INSIDE>
|
||||
<COND (<AND <EQUAL? .P ,PLAYER>
|
||||
<NOT <FSET? ,HERE ,WORNBIT>>>
|
||||
<NOT-HERE ,MIRROR-GLOBAL ;,EYE>)
|
||||
(<==? ,GHOST-NEW .P>
|
||||
<PERFORM ,PRSA ,GHOST-NEW>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<COND (<NOT <FSET? ,LENS ;-1 ,SEENBIT>>
|
||||
<COND (<FSET? .P ,MUNGBIT>
|
||||
<TELL CHE .P " has closed eyes." CR>)
|
||||
(<==? ,VARIATION <GETP .P ,P?CHARACTER>>
|
||||
<TELL CHE .P " turns away from you." CR>)
|
||||
(<L? ,BED-TIME ,PRESENT-TIME>
|
||||
<TELL CHE .P look " sleepy." CR>)
|
||||
(T
|
||||
<TELL CHE .P smile " at you." CR>)>)
|
||||
(T
|
||||
<TELL CHE .P is>
|
||||
<COND (<OR <NOT <EQUAL? .P ,DEALER>>
|
||||
<EQUAL? ,VARIATION ,PAINTER-C>>
|
||||
<TELL " not">)>
|
||||
<TELL " wearing a " D ,LENS "." CR>)>)
|
||||
;(T
|
||||
<TELL
|
||||
"Despite some initial demurrals and questioning glances, ">
|
||||
<COND (<ZERO? <SET P2 <FIND-FLAG-HERE ,PERSONBIT ,PLAYER .P>>>
|
||||
<TELL D .P>)
|
||||
(T <TELL "everyone">)>
|
||||
<TELL " allows your examination">
|
||||
<COND (<OR <EQUAL? ,VARIATION ,PAINTER-C>
|
||||
<NOT <IN? ,DEALER ,HERE>>>
|
||||
<TELL ". You discover that">
|
||||
<COND (<ZERO? .P2>
|
||||
<TELL HE .P " is not">)
|
||||
(T <TELL " no one is">)>
|
||||
<TELL " wearing a " D ,LENS "." CR>)
|
||||
(T <TELL
|
||||
" -- except " 'DEALER ", who is wearing " D ,LENS "es
|
||||
but confesses that he hates even to admit that he needs them." CR>)>)>)>>
|
||||
|
||||
<OBJECT OTHER-OUTFIT
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "clothes")
|
||||
(ADJECTIVE TAM\'S JACK\'S VIV\'S HYDE\'S IAN\'S DOC\'S IRIS\'S B\'S
|
||||
;" MY DEE\'S")
|
||||
(SYNONYM CLOTHES OUTFIT DRESS GOWN ; SUIT)
|
||||
;(GENERIC GENERIC-CLOTHES)
|
||||
(FLAGS SEENBIT)
|
||||
;(SIZE 20)
|
||||
(ACTION OTHER-OUTFIT-F)>
|
||||
|
||||
<ROUTINE OTHER-OUTFIT-F ("AUX" P P2)
|
||||
<COND (<NOT <SET P <FIND-BODY ,OTHER-OUTFIT>>>
|
||||
<RTRUE>)
|
||||
(<REMOTE-VERB?>
|
||||
<RFALSE>)
|
||||
(<VERB? EXAMINE FIND LOOK-INSIDE>
|
||||
<COND (<==? ,GHOST-NEW .P>
|
||||
<PERFORM ,PRSA ,GHOST-NEW>
|
||||
<RTRUE>)>)
|
||||
(<VERB? DISEMBARK REMOVE TAKE-OFF>
|
||||
<YOU-SHOULDNT>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE FIND-BODY (OBJ "AUX" A P)
|
||||
<SET A <ADJ-USED?> ;,P-ADJN>
|
||||
<COND (<ZERO? .A>
|
||||
<TELL ,I-ASSUME !\ >
|
||||
<COND (<OR <VERB? CLOSE FIND SEARCH-FOR>
|
||||
<AND <VERB? ATTACK KILL MUNG SLAP>
|
||||
<T? ,NOW-PRSI>>>
|
||||
<SET P ,PLAYER>
|
||||
<TELL "your">)
|
||||
(<OR <AND <VERB? SHAKE> ;"SHAKE HANDS WITH JACK"
|
||||
<T? ,PRSI>
|
||||
<FSET? <SET P ,PRSI> ,PERSONBIT>>
|
||||
<SET P <QCONTEXT-GOOD?>>
|
||||
<SET P <FIND-FLAG-HERE ,PERSONBIT ,PLAYER>>>
|
||||
<TELL D .P "'s">)
|
||||
(T
|
||||
<SET P ,PLAYER>
|
||||
<TELL "your">)>
|
||||
<PUT ,P-ADJW ,NOW-PRSI
|
||||
<GET ,CHAR-POSS-TABLE <+ 1 <GETP .P ,P?CHARACTER>>>>
|
||||
<TELL !\ >
|
||||
<COND (<SET A <GET ,P-NAMW ,NOW-PRSI>>
|
||||
<PRINTB .A>)
|
||||
(T <TELL D .OBJ>)>
|
||||
<TELL ".]" CR>)
|
||||
(<SET P <ZMEMQ .A ,CHAR-POSS-TABLE>>
|
||||
<SET P <GET ,CHARACTER-TABLE <- .P 1>>>)
|
||||
;(<==? .A ,OTHER-POSS>
|
||||
<SET P ,OTHER-CHAR>)
|
||||
(<==? .A ,W?HER>
|
||||
<SET P ,P-HER-OBJECT>)
|
||||
(<==? .A ,W?HIS>
|
||||
<SET P ,P-HIM-OBJECT>)>
|
||||
<COND (<ZERO? .P>
|
||||
<DONT-UNDERSTAND>
|
||||
<RFALSE>)>
|
||||
<THIS-IS-IT .P>
|
||||
<COND (<NOT <==? <META-LOC .P> ,HERE>>
|
||||
<NOT-HERE .P>
|
||||
<RFALSE>)
|
||||
(<DIVESTMENT? .OBJ>
|
||||
<HAR-HAR>
|
||||
<RFALSE>)
|
||||
(T .P)>>
|
||||
]
|
||||
<OBJECT PASSAGE
|
||||
(DESC "secret passage")
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(ADJECTIVE SECRET HIDING HIDDEN)
|
||||
(SYNONYM PASSAGE ROOM PLACE PLACES)
|
||||
(GENERIC GENERIC-ROOM)
|
||||
(ACTION PASSAGE-F)>
|
||||
|
||||
<ROUTINE PASSAGE-F ("AUX" (RM <FIND-FLAG-LG ,HERE ,DOORBIT ,SECRETBIT>))
|
||||
<COND (<VERB? TAKE WALK-TO>
|
||||
<PERFORM ,V?THROUGH ,PRSO>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? OPEN CLOSE>
|
||||
<T? .RM>>
|
||||
<DO-INSTEAD-OF .RM ,PASSAGE>
|
||||
<RTRUE>)
|
||||
(<FSET? ,HERE ,SECRETBIT>
|
||||
<DO-INSTEAD-OF ,HERE ,PASSAGE>
|
||||
<RTRUE>)
|
||||
(<REMOTE-VERB?> ;"includes LEAVE"
|
||||
<RFALSE>)
|
||||
(T ;<VERB? BOARD CLOSE EXAMINE FOLLOW LOOK-INSIDE OPEN THROUGH WALK-TO>
|
||||
<COND (<AND <T? .RM>
|
||||
<SET RM <DOOR-ROOM ,HERE .RM>>
|
||||
<FSET? .RM ,SEENBIT>>
|
||||
<DO-INSTEAD-OF .RM ,PASSAGE>
|
||||
<RTRUE>)
|
||||
(<SET RM <GENERIC-CLOSET 0>>
|
||||
<DO-INSTEAD-OF .RM ,PASSAGE>
|
||||
<RTRUE>)
|
||||
(T <NOT-HERE ,PASSAGE>)>)>>
|
||||
|
||||
<OBJECT ROMANCE
|
||||
(DESC "Tamara's romance")
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(ADJECTIVE TAM\'S JACK\'S HER HIS)
|
||||
(SYNONYM ROMANCE ENGAGE MARRIAGE LOVE ;AFFAIR)
|
||||
(FLAGS NARTICLEBIT)
|
||||
;(ACTION ROMANCE-F)>
|
||||
|
||||
;<ROUTINE ROMANCE-F ()
|
||||
<COND (<AND <VERB? MAKE>
|
||||
<FSET? ,PRSI ,PERSONBIT>>
|
||||
<PERFORM ,V?RUB ,PRSI>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT ACCIDENT
|
||||
(DESC "Deirdre's accident")
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(ADJECTIVE ;DEIRDRE DEE\'S HER)
|
||||
(SYNONYM ACCIDENT DROWNING DEATH)
|
||||
(FLAGS NARTICLEBIT)>
|
||||
|
||||
<OBJECT CORPSE
|
||||
(DESC "Deirdre's body")
|
||||
(IN LOCAL-GLOBALS ;GLOBAL-OBJECTS ;"not really anywhere")
|
||||
(ADJECTIVE ;DEIRDRE DEE\'S HER DEAD)
|
||||
(SYNONYM CORPSE ;BODY ;"foo's body")
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION CORPSE-F)>
|
||||
|
||||
<ROUTINE CORPSE-F ()
|
||||
<COND ;(<REMOTE-VERB?> <RFALSE>)
|
||||
(<VERB? ;EXAMINE FIND>
|
||||
<WHO-KNOWS? ,CORPSE>)
|
||||
;(T <NOT-HERE ,CORPSE>)>>
|
||||
|
||||
<OBJECT UNDRESSED
|
||||
(DESC "undressed")
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(SYNONYM DRESSE UNDRESS)
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION UNDRESSED-F)>
|
||||
|
||||
<ROUTINE UNDRESSED-F ()
|
||||
<COND (<REMOTE-VERB?> <RFALSE>)
|
||||
(<VERB? TAKE> <RFALSE>) ;"GET UN/DRESSED"
|
||||
(<VERB? OPEN CLOSE SEARCH SEARCH-FOR EXAMINE LOOK-INSIDE LOOK-ON>
|
||||
<COND (<GLOBAL-IN? ,DRESSING-TABLE-LG ,HERE>
|
||||
<DO-INSTEAD-OF ,DRESSING-TABLE-LG ,UNDRESSED>
|
||||
<RTRUE>)
|
||||
(T <NOT-HERE ,DRESSING-TABLE-LG>)>)
|
||||
(T <DONT-UNDERSTAND>)>>
|
||||
|
||||
<OBJECT ARTIFACT
|
||||
(IN GLOBAL-OBJECTS ;LOCAL-GLOBALS)
|
||||
(DESC "hidden treasure" ;"artifact")
|
||||
(ADJECTIVE VALUABLE MISSING HIDDEN)
|
||||
(SYNONYM ARTIFACT TREASURE)
|
||||
(FLAGS SEENBIT VOWELBIT)
|
||||
(ACTION ARTIFACT-F)>
|
||||
|
||||
<ROUTINE ARTIFACT-F ()
|
||||
<COND (<T? ,TREASURE-FOUND>
|
||||
<DO-INSTEAD-OF ,TREASURE ,ARTIFACT>
|
||||
<RTRUE>)
|
||||
(<OR <VERB? SHOW SSHOW TAKE-TO>
|
||||
<NOT <REMOTE-VERB?>>>
|
||||
<NOT-FOUND ,ARTIFACT>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE TIMES-UP ()
|
||||
<TELL
|
||||
"At first light, the police arrive and take over the investigation." CR>
|
||||
<FINISH>>
|
3
goal.zil
3
goal.zil
|
@ -562,6 +562,7 @@ hop into " 'YOUR-BATHROOM ".|">
|
|||
<OR <VERB? ASK-FOR>
|
||||
<T? <GET .GT ,GOAL-S>>>
|
||||
<NOT <VERB? SORRY TAKE THANKS>>
|
||||
<NOT <VERB? YES NO>>
|
||||
<NOT <DOBJ? LUGGAGE DINNER>>>
|
||||
<BUTLER-SORRY>
|
||||
<RFALSE>)
|
||||
|
@ -1754,6 +1755,8 @@ CHE ,GOAL-PERSON " says, \"I'm dead tired. Good night.\"" CR>)>)
|
|||
<PUTB <GETPT ,HANDS ,P?ADJECTIVE>
|
||||
,OTHER-POSS-POS ,A?G\'S>
|
||||
<PUTB <GETPT ,EYE ,P?ADJECTIVE>
|
||||
,OTHER-POSS-POS ,A?G\'S>
|
||||
<PUTB <GETPT ,OTHER-OUTFIT ,P?ADJECTIVE>
|
||||
,OTHER-POSS-POS ,A?G\'S>)>)>
|
||||
<FSET ,COSTUME ,NDESCBIT>
|
||||
<FCLEAR ,COSTUME ,TAKEBIT>
|
||||
|
|
910
lumber.ozil
Normal file
910
lumber.ozil
Normal file
|
@ -0,0 +1,910 @@
|
|||
"Excess baggage from Moomnist"
|
||||
|
||||
;<OBJECT DRAWING
|
||||
(IN DESK)
|
||||
(DESC "drawing")
|
||||
(ADJECTIVE LIONEL)
|
||||
(SYNONYM DRAWING DOODLE)
|
||||
(FLAGS TAKEBIT READBIT)
|
||||
(ACTION DRAWING-F)>
|
||||
|
||||
;<ROUTINE DRAWING-F ()
|
||||
<COND (<VERB? EXAMINE READ>
|
||||
<TELL "[The drawing portrays ">
|
||||
<COND (<EQUAL? ,VARIATION ,LORD-C>
|
||||
<TELL
|
||||
"the King of Spades, holding a scepter." CR>)
|
||||
(<EQUAL? ,VARIATION ,FRIEND-C>
|
||||
<TELL
|
||||
"a bird in flight, shot by an arrow and dripping blood." CR>)
|
||||
(<EQUAL? ,VARIATION ,DOCTOR-C>
|
||||
<TELL
|
||||
"a " 'SKELETON " in Chinese mandarin costume." CR>)
|
||||
;(<EQUAL? ,VARIATION ,DEALER-C>
|
||||
<TELL
|
||||
"a coiled cobra rearing its head in response to a snake charmer's flute music."
|
||||
CR>)
|
||||
(<EQUAL? ,VARIATION ,PAINTER-C>
|
||||
<TELL
|
||||
"an underwater diver, naked except for a loincloth." CR>)>)>>
|
||||
|
||||
;<OBJECT TOWER-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "tower door")
|
||||
(ADJECTIVE TOWER)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT SEENBIT)>
|
||||
|
||||
;<ROOM ANTE-ROOM
|
||||
(IN ROOMS)
|
||||
(FLAGS ONBIT SEENBIT VOWELBIT OPENBIT DOORBIT)
|
||||
(DESC "anteroom")
|
||||
(ADJECTIVE ANTE NEW TOWER)
|
||||
(SYNONYM ANTEROOM ROOM DOOR)
|
||||
(LDESC "[NE to courtyard, SW to old great hall]")
|
||||
(LINE 3)
|
||||
(STATION OLD-GREAT-HALL)
|
||||
(CHARACTER 2) ;"floor number"
|
||||
(GLOBAL ANTE-ROOM FIREPLACE ;TOWER-DOOR CHAIR)
|
||||
(NE TO COURTYARD IF ANTE-ROOM ;TOWER-DOOR IS OPEN)
|
||||
(NORTH TO COURTYARD IF ANTE-ROOM ;TOWER-DOOR IS OPEN)
|
||||
(EAST TO COURTYARD IF ANTE-ROOM ;TOWER-DOOR IS OPEN)
|
||||
(OUT TO COURTYARD IF ANTE-ROOM ;TOWER-DOOR IS OPEN)
|
||||
(IN TO OLD-GREAT-HALL)
|
||||
(SW TO OLD-GREAT-HALL)
|
||||
(SOUTH TO OLD-GREAT-HALL)
|
||||
(WEST TO OLD-GREAT-HALL)>
|
||||
|
||||
;<ROUTINE AFRICA-PSEUDO ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"It depicts the Battle of Blood River, during the Boer War." CR>)>>
|
||||
|
||||
;<ROUTINE BURMA-PSEUDO ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"It's a piece of the bridge over the River Kwai." CR>)>>
|
||||
|
||||
;<ROUTINE PHILIPPINE-PSEUDO ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"It shows Lionel at the American Museum of Natural History." CR>)>>
|
||||
|
||||
;<ROUTINE EGYPT-PSEUDO ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"It's a model of the Egyptian Sphinx, made of real sandstone." CR>)>>
|
||||
|
||||
;<ROUTINE PACIFIC-PSEUDO ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"It's an oyster shell, almost two feet across, with a lining of very dark
|
||||
mother-of-pearl." CR>)>>
|
||||
|
||||
;<ROUTINE AMAZON-PSEUDO ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"It's a wooden model of an Amazon river steamer." CR>)>>
|
||||
|
||||
;<PSEUDO (<> PAINTING AFRICA-PSEUDO)
|
||||
(<> WOOD BURMA-PSEUDO)
|
||||
(<> PHOTO PHILIPPINE-PSEUDO)
|
||||
( MODEL SPHINX EGYPT-PSEUDO)
|
||||
( GIANT OYSTER PACIFIC-PSEUDO)
|
||||
( MODEL BOAT AMAZON-PSEUDO)>
|
||||
|
||||
;<OBJECT BRITANNIA
|
||||
(IN OLD-GREAT-HALL)
|
||||
(DESC "statue of Britannia")
|
||||
(LDESC
|
||||
"A life-size gilt statue of Britannia with trident reclines over the archway
|
||||
leading to the wing.")
|
||||
;(ADJECTIVE LIFE-SIZE GILT)
|
||||
(SYNONYM BRITANNIA STATUE)
|
||||
(FLAGS SURFACEBIT OPENBIT NDESCBIT)
|
||||
(CAPACITY 5)
|
||||
(ACTION BRITANNIA-F)>
|
||||
|
||||
;<ROUTINE BRITANNIA-F ()
|
||||
<COND (<VERB? EXAMINE SEARCH SEARCH-FOR>
|
||||
<COND (<NOT <==? ,PLAYER-SEATED ,LIBRARY-STOOL>>
|
||||
<COND (<VERB? EXAMINE>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<YOU-CANT "reach">
|
||||
<RTRUE>)>)
|
||||
;(<AND <IN? ,HEADDRESS ,BRITANNIA>
|
||||
<FSET? ,HEADDRESS ,SECRETBIT>>
|
||||
<DISCOVER ,HEADDRESS>
|
||||
<RTRUE>)>)
|
||||
(<REMOTE-VERB?>
|
||||
<RFALSE>)
|
||||
(<NOT <==? ,PLAYER-SEATED ,LIBRARY-STOOL>>
|
||||
<YOU-CANT "reach">
|
||||
<RTRUE>)>>
|
||||
|
||||
;<ROOM STAIRS-0
|
||||
(IN ROOMS)
|
||||
(FLAGS ONBIT SEENBIT)
|
||||
(DESC "basement stairway")
|
||||
(ADJECTIVE BASEMENT)
|
||||
(SYNONYM STAIR STAIRS STAIRWAY ;ROOM)
|
||||
(GENERIC GENERIC-STAIRS-F)
|
||||
(LDESC
|
||||
"The stairs curve up to the southeast and down to the northwest.")
|
||||
(LINE 3)
|
||||
(STATION STAIRS-0)
|
||||
(UP TO JUNCTION)
|
||||
(EAST TO JUNCTION)
|
||||
(SOUTH TO JUNCTION)
|
||||
(SE TO JUNCTION)
|
||||
(OUT TO JUNCTION)
|
||||
(DOWN TO BASEMENT)
|
||||
(NORTH TO BASEMENT)
|
||||
(WEST TO BASEMENT)
|
||||
(NW TO BASEMENT)
|
||||
(IN TO BASEMENT)>
|
||||
|
||||
;<ROOM STAIRS-1
|
||||
(IN ROOMS)
|
||||
(FLAGS ONBIT SEENBIT)
|
||||
(DESC "first stairway")
|
||||
(ADJECTIVE FIRST)
|
||||
(SYNONYM STAIR STAIRS STAIRWAY)
|
||||
(GENERIC GENERIC-STAIRS-F)
|
||||
(LDESC
|
||||
"The stairs curve up to the northeast and down to the southwest.")
|
||||
(LINE 3)
|
||||
(STATION STAIRS-1)
|
||||
(UP TO CORR-2)
|
||||
(NORTH TO CORR-2)
|
||||
(EAST TO CORR-2)
|
||||
(NE TO CORR-2)
|
||||
(IN TO CORR-2)
|
||||
(DOWN TO OLD-GREAT-HALL)
|
||||
(SOUTH TO OLD-GREAT-HALL)
|
||||
(WEST TO OLD-GREAT-HALL)
|
||||
(SW TO OLD-GREAT-HALL)
|
||||
(OUT TO OLD-GREAT-HALL)>
|
||||
|
||||
;<OBJECT JACK-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "Lord Jack's door")
|
||||
(ADJECTIVE JACK\'S HIS BED ROOM BEDROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT NARTICLEBIT)
|
||||
(GENERIC GENERIC-JACK-DOOR-F)>
|
||||
|
||||
;<ROUTINE MAKE-VISIBLE (OBJ)
|
||||
<TELL "You find" THE .OBJ>
|
||||
<FCLEAR .OBJ ,NDESCBIT>
|
||||
<FSET .OBJ ,TAKEBIT>
|
||||
<FSET .OBJ ,TOUCHBIT>
|
||||
<MOVE .OBJ ,PLAYER>
|
||||
<THIS-IS-IT .OBJ>
|
||||
<TELL " and pick it up." CR>>
|
||||
|
||||
;<ROUTINE WAR-CLUB-HACK ("OPTIONAL" (SP? T))
|
||||
<COND (<AND <EQUAL? ,HERE ,JACK-ROOM>
|
||||
<IN? ,CURTAIN-ROD ,HERE>
|
||||
<FSET? ,CURTAIN-ROD ,NDESCBIT>>
|
||||
<FCLEAR ,CURTAIN-ROD ,NDESCBIT>
|
||||
<FSET ,CURTAIN-ROD ,TAKEBIT>
|
||||
<FSET ,CURTAIN-ROD ,TOUCHBIT>
|
||||
<MOVE ,CURTAIN-ROD ,WINNER>
|
||||
<COND (.SP? <TELL !\ >)>
|
||||
<TELL "By accident," HE ,WINNER pull THE ,CURTAIN-ROD>
|
||||
<THIS-IS-IT ,CURTAIN-ROD>
|
||||
<TELL
|
||||
" loose, and it winds up in" HIS ,WINNER " hands, with the curtains
|
||||
on the floor.">)>>
|
||||
|
||||
;<OBJECT DRAPES
|
||||
(IN JACK-ROOM ;LOCAL-GLOBALS)
|
||||
(DESC "set of drapes")
|
||||
(ADJECTIVE WINDOW)
|
||||
(SYNONYM SET CURTAIN DRAPES DRAPERIES)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION DRAPES-F)>
|
||||
|
||||
;<ROUTINE DRAPES-F ()
|
||||
<COND (<VERB? OPEN CLOSE MOVE MOVE-DIR PUSH TURN>
|
||||
<COND (<WAR-CLUB-HACK <>>
|
||||
<RTRUE>)
|
||||
(T <WONT-HELP>)>)
|
||||
(<VERB? EXAMINE TAKE>
|
||||
<TELL "The curtains are of heavy damask material.">
|
||||
<WAR-CLUB-HACK>
|
||||
<CRLF>)>>
|
||||
|
||||
;<OBJECT STUDY-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "study door")
|
||||
(ADJECTIVE STUDY)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT SEENBIT)>
|
||||
|
||||
;<OBJECT LIBRARY-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "library door")
|
||||
(ADJECTIVE LIBRARY)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT SEENBIT)
|
||||
(GENERIC GENERIC-LIBRARY-DOOR-F)>
|
||||
|
||||
;<OBJECT LIBRARY-STOOL
|
||||
(IN LIBRARY)
|
||||
(DESC "stepstool")
|
||||
(ADJECTIVE STEP)
|
||||
(SYNONYM STOOL STEPSTOOL)
|
||||
(FLAGS SURFACEBIT OPENBIT NDESCBIT TAKEBIT)
|
||||
(SIZE 100)
|
||||
(CAPACITY 99)
|
||||
(ACTION LIBRARY-STOOL-F)>
|
||||
|
||||
;<ROUTINE LIBRARY-STOOL-F ()
|
||||
<COND (<VERB? SIT CLIMB-ON BOARD>
|
||||
<SETG PLAYER-SEATED ,LIBRARY-STOOL>
|
||||
<TELL "Okay." CR>)>>
|
||||
|
||||
;<OBJECT OFFICE-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "office door")
|
||||
(ADJECTIVE OFFICE)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT VOWELBIT SEENBIT)>
|
||||
|
||||
;<OBJECT TAMARA-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "Tamara's door")
|
||||
(ADJECTIVE TAMARA TAMMY BED ROOM BEDROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT NARTICLEBIT)
|
||||
(GENERIC GENERIC-TAMARA-DOOR-F)>
|
||||
|
||||
;<ROOM STAIRS-2
|
||||
(IN ROOMS)
|
||||
(FLAGS ;ONBIT SEENBIT)
|
||||
(DESC "second stairway")
|
||||
(ADJECTIVE SECOND)
|
||||
(SYNONYM STAIR STAIRS STAIRWAY)
|
||||
(GENERIC GENERIC-STAIRS-F)
|
||||
(LDESC
|
||||
"The stairs curve up to the northwest and down to the southeast."
|
||||
;"[UP/E to second floor, DOWN/N to first floor]")
|
||||
(LINE 3)
|
||||
(STATION STAIRS-2)
|
||||
(UP TO CORR-3)
|
||||
(NORTH TO CORR-3)
|
||||
(WEST TO CORR-3)
|
||||
(NW TO CORR-3)
|
||||
(IN TO CORR-3)
|
||||
(DOWN TO CORR-2)
|
||||
(SOUTH TO CORR-2)
|
||||
(EAST TO CORR-2)
|
||||
(SE TO CORR-2)
|
||||
(OUT TO CORR-2)>
|
||||
|
||||
;<OBJECT SECRET-LUMBER-DOOR
|
||||
(IN ROOMS ;LOCAL-GLOBALS)
|
||||
(DESC "secret door")
|
||||
(ADJECTIVE SECRET)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS SECRETBIT DOORBIT)
|
||||
(GENERIC GENERIC-LUMBER-DOOR-F)>
|
||||
|
||||
;<OBJECT LUMBER-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "lumber-room door")
|
||||
(ADJECTIVE LUMBER ROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT SEENBIT)
|
||||
(GENERIC GENERIC-LUMBER-DOOR-F)>
|
||||
|
||||
;<OBJECT CHAPEL-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "chapel door")
|
||||
(ADJECTIVE CHAPEL)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT SEENBIT)>
|
||||
|
||||
;<OBJECT GAME-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "game-room door")
|
||||
(ADJECTIVE GAME GAME-ROOM ROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT SEENBIT)>
|
||||
|
||||
;<ROOM STAIRS-3
|
||||
(IN ROOMS)
|
||||
(FLAGS ;ONBIT SEENBIT)
|
||||
(DESC "third stairway")
|
||||
(ADJECTIVE THIRD)
|
||||
(SYNONYM STAIR STAIRS STAIRWAY)
|
||||
(GENERIC GENERIC-STAIRS-F)
|
||||
(LDESC
|
||||
"The stairs curve up to the southwest and down to the northeast."
|
||||
;"[UP/N to top floor, DOWN/W to second floor]")
|
||||
(LINE 3)
|
||||
(STATION STAIRS-3)
|
||||
(UP TO DECK)
|
||||
(SOUTH TO DECK)
|
||||
(WEST TO DECK)
|
||||
(SW TO DECK)
|
||||
(OUT TO DECK)
|
||||
(DOWN TO CORR-3)
|
||||
(NORTH TO CORR-3)
|
||||
(EAST TO CORR-3)
|
||||
(NE TO CORR-3)
|
||||
(IN TO CORR-3)>
|
||||
|
||||
;<ROOM CURTAIN-WALL
|
||||
(IN ROOMS)
|
||||
(FLAGS ONBIT SEENBIT SURFACEBIT OPENBIT)
|
||||
(DESC "curtain wall")
|
||||
(ADJECTIVE CURTAIN)
|
||||
(SYNONYM WALL)
|
||||
(LDESC "[S to fighting deck]")
|
||||
(GLOBAL MOON OCEAN)
|
||||
(LINE 3)
|
||||
(STATION DECK)
|
||||
(SOUTH TO DECK)
|
||||
(IN TO DECK)
|
||||
(OUT TO DECK)>
|
||||
|
||||
;<OBJECT BLAST
|
||||
(IN CAR)
|
||||
(DESC "blast")
|
||||
(ADJECTIVE INT.NUM SHORT LONG)
|
||||
(SYNONYM BLAST BLASTS)
|
||||
(FLAGS NDESCBIT)>
|
||||
|
||||
;<OBJECT FOYER-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "foyer door")
|
||||
(ADJECTIVE FOYER DOUBLE BRONZE)
|
||||
(SYNONYM DOOR DOORS)
|
||||
(FLAGS DOORBIT SEENBIT)>
|
||||
|
||||
;<OBJECT DRAWING-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "drawing-room door")
|
||||
(ADJECTIVE DRAWING ROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT SEENBIT)
|
||||
(GENERIC GENERIC-DRAWING-DOOR)>
|
||||
|
||||
;<OBJECT CARTOON
|
||||
(IN DRAWING-ROOM)
|
||||
(DESC "framed cartoon")
|
||||
;(ADJECTIVE FRAMED DRUNK HUNGOVER)
|
||||
(SYNONYM CARTOON PICTURE RHINO RHINOCEROS)
|
||||
;(GENERIC GENERIC-PAINTING)
|
||||
(FLAGS NDESCBIT SEENBIT)
|
||||
(ACTION PICTURE-F)>
|
||||
|
||||
;<OBJECT FLAGGS
|
||||
(IN GREAT-HALL)
|
||||
(DESC "bunch of flags")
|
||||
(SYNONYM BUNCH FLAGS)
|
||||
(FLAGS CONTBIT OPENBIT NDESCBIT)
|
||||
(CAPACITY 99)
|
||||
(LDESC
|
||||
"In the southeast corner of the Great Hall, on a raised dais, is a
|
||||
circular metal stand, containing various flags on their standards.")
|
||||
(TEXT
|
||||
"The flags include the Union Jack, the flag of the Duchy of Cornwall,
|
||||
the regimental colors of the Duke of Cornwall's Light Infantry
|
||||
blazoned with the regiment's battle honors, and an embroidered
|
||||
yellow household flag.")
|
||||
(ACTION FLAGGS-F)>
|
||||
|
||||
;<ROUTINE FLAGGS-F () <FCLEAR ,FLAGGS ,NDESCBIT> <RFALSE>>
|
||||
|
||||
;<ROOM STAIRS-NEW
|
||||
(IN ROOMS)
|
||||
(FLAGS ONBIT SEENBIT SURFACEBIT OPENBIT WEARBIT)
|
||||
(DESC "landing")
|
||||
(ADJECTIVE NEW)
|
||||
(SYNONYM LANDING STAIR STAIRS STAIRWAY)
|
||||
(GENERIC GENERIC-LANDING)
|
||||
(LINE 1)
|
||||
(STATION GREAT-HALL)
|
||||
(GLOBAL FIREPLACE WINDOW STAIRS)
|
||||
(UP TO GALLERY)
|
||||
(IN TO GALLERY)
|
||||
(NORTH "Do you want to go up or down?")
|
||||
(DOWN TO GREAT-HALL)
|
||||
(OUT TO GREAT-HALL)
|
||||
(ACTION STAIRS-NEW-F)>
|
||||
|
||||
;<ROUTINE STAIRS-NEW-F ("OPTIONAL" (RARG 0))
|
||||
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL-LIKE-BROCHURE>)>>
|
||||
|
||||
;<OBJECT SITTING-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "sitting-room door")
|
||||
(ADJECTIVE SITTING ROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT SEENBIT)
|
||||
(GENERIC GENERIC-SITTING-DOOR)>
|
||||
|
||||
;<ROUTINE WRITING-DESK-F ()
|
||||
<COND (<VERB? EXAMINE LOOK-INSIDE LOOK-ON SEARCH SEARCH-FOR>
|
||||
<COND (<IN? ,LETTER-MAID ,WRITING-DESK>
|
||||
<FCLEAR ,LETTER-MAID ,NDESCBIT>
|
||||
<FSET ,LETTER-MAID ,TAKEBIT>
|
||||
<RFALSE>)>)>>
|
||||
|
||||
;<OBJECT TAPE-LIONEL
|
||||
(IN RECORDER)
|
||||
(DESC "Lionel's tape")
|
||||
(ADJECTIVE LI\'S HIS)
|
||||
(SYNONYM TAPE LIONEL)
|
||||
(FLAGS NARTICLEBIT ;TAKEBIT)
|
||||
(SIZE 2)>
|
||||
|
||||
;<OBJECT CONTROL-PANEL
|
||||
(IN KITCHEN)
|
||||
(ADJECTIVE CONTROL)
|
||||
(SYNONYM PANEL BUTTON SWITCH)
|
||||
(DESC "control panel")
|
||||
(FLAGS SEARCHBIT)
|
||||
(TEXT "It has several buttons and a speaker.")
|
||||
(ACTION CONTROL-PANEL-F)>
|
||||
|
||||
;<OBJECT GATE-BUTTON
|
||||
(IN CONTROL-PANEL)
|
||||
(DESC "gate button")
|
||||
(ADJECTIVE ;"FRONT TALL WROUGHT SECURITY" GATE)
|
||||
(SYNONYM BUTTON)
|
||||
(ACTION GATE-BUTTON-F)>
|
||||
|
||||
;<ROUTINE CONTROL-PANEL-F ;GATE-BUTTON-F ()
|
||||
<COND (<VERB? LAMP-ON MOVE MOVE-DIR PUSH RUB TURN>
|
||||
<TELL "Nothing seems to happen." CR>)>>
|
||||
|
||||
;<OBJECT BROKEN-LAMP
|
||||
(ADJECTIVE BROKEN BRASS)
|
||||
(SYNONYM LAMP LANTERN)
|
||||
(DESC "broken lantern")
|
||||
(FLAGS TAKEBIT)>
|
||||
|
||||
;<OBJECT NIGHTLAMP-LG
|
||||
(IN LOCAL-GLOBALS ;NIGHTSTAND-LG)
|
||||
(DESC "lamp")
|
||||
(ADJECTIVE TAM\'S JACK\'S VIV\'S HYDE\'S IAN\'S DOC\'S IRIS\'S)
|
||||
(SYNONYM LAMP LIGHT LIGHTS)
|
||||
(FLAGS ONBIT LIGHTBIT SEENBIT)>
|
||||
|
||||
;<OBJECT YOUR-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "your door")
|
||||
(ADJECTIVE MY ;YOUR BED ROOM BEDROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT NARTICLEBIT)
|
||||
(GENERIC GENERIC-YOUR-DOOR)>
|
||||
|
||||
;<OBJECT IRIS-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "Iris's door")
|
||||
(ADJECTIVE IRIS\'S HER BED ROOM BEDROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT NARTICLEBIT)
|
||||
(GENERIC GENERIC-IRIS-DOOR-F)>
|
||||
|
||||
;<OBJECT WENDISH-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "Wendish's door")
|
||||
(ADJECTIVE DOC\'S HIS ;WENDISH BED ROOM BEDROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT NARTICLEBIT)
|
||||
(GENERIC GENERIC-WENDISH-DOOR-F)>
|
||||
|
||||
;<OBJECT VIVIEN-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "Vivien's door")
|
||||
(ADJECTIVE VIV\'S HER BED ROOM BEDROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT NARTICLEBIT)
|
||||
(GENERIC GENERIC-VIVIEN-DOOR)>
|
||||
|
||||
;<OBJECT IAN-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "Ian's door")
|
||||
(ADJECTIVE IAN\'S HIS BED ROOM BEDROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT NARTICLEBIT)
|
||||
(GENERIC GENERIC-IAN-DOOR)>
|
||||
|
||||
;<OBJECT HYDE-DOOR
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "Hyde's door")
|
||||
(ADJECTIVE HYDE\'S HIS BED ROOM BEDROOM)
|
||||
(SYNONYM DOOR)
|
||||
(FLAGS OPENBIT DOORBIT NARTICLEBIT)
|
||||
(GENERIC GENERIC-HYDE-DOOR)>
|
||||
|
||||
;<ROUTINE DONT-KNOW (PER OBJ) <TELL "\"Dunno.\"" CR>>
|
||||
|
||||
;<ROOM UNCONSCIOUS
|
||||
(IN ROOMS)
|
||||
(DESC "limbo")
|
||||
(FLAGS NARTICLEBIT)>
|
||||
|
||||
;<ROUTINE UNCONSCIOUS-FCN ("OPTIONAL" (TIM 0) "AUX" HR NXT ;PS)
|
||||
<COND (<0? .TIM> <SET TIM <+ 9 <RANDOM 6>>>)>
|
||||
;<SETG MUNGED-PERSON ,PLAYER>
|
||||
<SET HR <FIRST? ,PLAYER>>
|
||||
<REPEAT ()
|
||||
<SET NXT <NEXT? .HR>>
|
||||
<COND (<NOT <FSET? .HR ,WORNBIT>>
|
||||
<MOVE .HR <LOC ,PLAYER>>)
|
||||
(<NOT <EQUAL? .HR ,SLEEP-OUTFIT>>
|
||||
<FSET .HR ,MUNGBIT>)>
|
||||
<COND (<ZERO? .NXT> <RETURN>)
|
||||
(T <SET HR .NXT>)>>
|
||||
<SET HR ,HERE>
|
||||
<MOVE ,PLAYER ,UNCONSCIOUS>
|
||||
<SETG HERE ,UNCONSCIOUS>
|
||||
<TELL "...||">
|
||||
<USL>
|
||||
<QUEUE I-COME-TO .TIM>
|
||||
<V-WAIT .TIM <> T>
|
||||
;<INT-WAIT .TIM>
|
||||
<QUEUE I-COME-TO 0>
|
||||
<MOVE ,PLAYER .HR>
|
||||
<SETG HERE .HR>
|
||||
<COND (<ZERO? ,PLAYER-SEATED>
|
||||
<SETG PLAYER-SEATED <- 0 ,HERE> ;.PS>)>
|
||||
<RTRUE>>
|
||||
|
||||
;<ROUTINE ANYONE-VISIBLE? ("OPTIONAL" (VICTIM <>) "AUX" CNT X (VAL <>))
|
||||
<SET CNT 0>
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> ,CHARACTER-MAX>
|
||||
<SET VAL <>>
|
||||
<RETURN>)
|
||||
(<EQUAL? .VICTIM <SET VAL <GET ,CHARACTER-TABLE .CNT>>>
|
||||
<AGAIN>)
|
||||
(<VISIBLE? .VAL>
|
||||
<RETURN>)>>
|
||||
.VAL>
|
||||
|
||||
"<CONSTANT PASS1-LINE-C 4>
|
||||
<CONSTANT PASS2-LINE-C 5>"
|
||||
|
||||
"<GLOBAL PASS1-LINE
|
||||
<PTABLE 0 SECRET-LANDING-JACK P?DOWN
|
||||
P?WEST PASSAGE-1 P?UP
|
||||
P?DOWN SECRET-LANDING-TAM P?NE
|
||||
P?SOUTH DINING-LANDING P?NORTH
|
||||
P?DOWN SECRET-LANDING-LIB 0>>
|
||||
|
||||
<GLOBAL PASS2-LINE
|
||||
<PTABLE 0 SECRET-VIVIEN-PASSAGE P?UP
|
||||
P?DOWN GARRET-PASSAGE P?EAST
|
||||
P?WEST GARRET-CORNER P?NORTH
|
||||
P?SOUTH NORTH-CORNER P?DOWN
|
||||
P?UP IRIS-CLOSET P?WEST
|
||||
P?EAST WENDISH-CORNER P?SOUTH
|
||||
P?NORTH DRAWING-CLOSET P?SOUTH
|
||||
P?NORTH GALLERY-CORNER P?WEST
|
||||
P?EAST HYDE-CLOSET 0>>"
|
||||
|
||||
;<
|
||||
|
||||
DRAWING-CLOSET DRAWING-ROOM ;"transfers from PASS2-LINE"
|
||||
YOUR-CLOSET YOUR-ROOM
|
||||
SECRET-LANDING-LIB LIBRARY
|
||||
SECRET-VIVIEN-PASSAGE SECRET-LANDING-TAM
|
||||
0 0>
|
||||
|
||||
;<ROUTINE I-PRE-DINNER ("OPTIONAL" (GARG <>) "AUX" N CH RM ;(SAID <>) GT)
|
||||
%<DEBUG-CODE
|
||||
<COND (<OR ,IDEBUG <==? .GARG ,G-DEBUG>>
|
||||
<TELL "[I-PRE-DINNER:">
|
||||
<COND (<==? .GARG ,G-DEBUG> <RFALSE>)>)>>
|
||||
<COND (<EQUAL? ,FOLLOWER ,FRIEND ,LORD>
|
||||
<SETG FOLLOWER 0>)>
|
||||
;<SET GT <GT-O ,BUTLER>>
|
||||
;<COND (<NOT <==? <GET .GT ,GOAL-FUNCTION> ,BUTLER-COOKS>>
|
||||
<PUT .GT ,GOAL-FUNCTION ,BUTLER-COOKS>
|
||||
<ESTABLISH-GOAL ,BUTLER ,KITCHEN>)>
|
||||
<SET N ,MASS-COUNTER>
|
||||
<COND (<IGRTR? N ,CHARACTER-MAX>
|
||||
<SETG MASS-SAID <>>
|
||||
<SETG MASS-COUNTER 0>
|
||||
<RFALSE>)
|
||||
;(<EQUAL? .N ,LOVER-C>
|
||||
<INC N>)>
|
||||
<QUEUE I-PRE-DINNER 1>
|
||||
<SETG MASS-COUNTER .N>
|
||||
<SET CH <GET ,CHARACTER-TABLE .N>>
|
||||
<SET RM <GET ,CHAR-ROOM-TABLE <+ 1 .N>>>
|
||||
<PUT <GET ,GOAL-TABLES .N> ,GOAL-FUNCTION ,X-WASHES>
|
||||
<ESTABLISH-GOAL .CH .RM>
|
||||
<COND (<AND <EQUAL? <META-LOC .CH> ,HERE>
|
||||
<ZERO? ,MASS-SAID>>
|
||||
<SETG MASS-SAID T>
|
||||
<TELL
|
||||
D .CH " says, \"It's time to wash up for dinner now.
|
||||
I'll see you in the " 'DINING-ROOM ".\"" CR>)>
|
||||
%<DEBUG-CODE
|
||||
<COND (,IDEBUG <TELL N ,MASS-SAID !\] CR>)>>
|
||||
<RETURN ,MASS-SAID>>
|
||||
|
||||
;<ROUTINE X-WASHES ("OPTIONAL" (GARG <>))
|
||||
%<DEBUG-CODE <COND (<OR ,IDEBUG <==? .GARG ,G-DEBUG>>
|
||||
<TELL "[X-WASHES:">
|
||||
<COND (<==? .GARG ,G-DEBUG> <RFALSE>)>)>>
|
||||
<COND (<==? .GARG ,G-REACHED>
|
||||
<PUTP ,GOAL-PERSON ,P?LDESC 8 ;"washing up">
|
||||
<RFALSE>)>>
|
||||
|
||||
;<ROUTINE I-WITHDRAW ("OPTIONAL" (GARG <>) "AUX" (N 0) CH (SAID <>))
|
||||
%<DEBUG-CODE <COND (<OR ,IDEBUG <==? .GARG ,G-DEBUG>>
|
||||
<TELL "[I-WITHDRAW:">
|
||||
<COND (<==? .GARG ,G-DEBUG> <RFALSE>)>)>>
|
||||
<QUEUE I-BEDTIME <- ,BED-TIME ,PRESENT-TIME>>
|
||||
<COND (<EQUAL? ,DINING-ROOM ,HERE>
|
||||
<SET SAID T>
|
||||
<TELL
|
||||
D ,LORD " says, \"If you ladies will join Tammy in the " D ,SITTING-ROOM
|
||||
", we'll try to puzzle this one out.\"" CR>
|
||||
<COND (<FSET? ,PLAYER ,FEMALE>
|
||||
<TELL
|
||||
D ,FRIEND " says, \"Won't you join us, "FN"?\"" CR>)>
|
||||
<ESTABLISH-GOAL ,FRIEND ,SITTING-ROOM>
|
||||
<ESTABLISH-GOAL ,DEB ,SITTING-ROOM>
|
||||
<ESTABLISH-GOAL ,PAINTER ,SITTING-ROOM>)>
|
||||
%<DEBUG-CODE
|
||||
<COND (,IDEBUG <TELL N .SAID !\] CR>)>>
|
||||
<RETURN .SAID>>
|
||||
|
||||
;<ROUTINE GHOST-DRESSES ("OPTIONAL" (GARG <>) "AUX" L X GT (VAL <>))
|
||||
%<DEBUG-CODE <COND (<OR ,IDEBUG <==? .GARG ,G-DEBUG>>
|
||||
<TELL "[GHOST-DRESSES:">
|
||||
<COND (<==? .GARG ,G-DEBUG> <RFALSE>)>)>>
|
||||
<SET L <LOC ,FRIEND>>
|
||||
<COND (<EQUAL? .L ,HERE>
|
||||
<TELL
|
||||
"Suddenly" HE ,FRIEND " runs smack into you!|
|
||||
\"Oh, do pardon me, "FN", but I just discovered this " D ,PASSAGE ",
|
||||
and I couldn't resist exploring a little.\"|">
|
||||
<SET VAL ,M-FATAL>
|
||||
<PUT <GT-O ,FRIEND> ,GOAL-ENABLE 0>)
|
||||
(<==? .GARG ,G-REACHED>
|
||||
<SET VAL <DRESS-GHOST .L ,FRIEND-C>>
|
||||
<ESTABLISH-GOAL ,GHOST-NEW ,YOUR-CLOSET>)>
|
||||
%<DEBUG-CODE <COND (,IDEBUG <TELL N .VAL "]|">)>>
|
||||
<RETURN .VAL>>
|
||||
|
||||
;<OBJECT RUBY
|
||||
;(IN LOCAL-GLOBALS)
|
||||
(DESC "pigeon's-blood ruby")
|
||||
(ADJECTIVE PIGEON BLOOD RED)
|
||||
(SYNONYM RUBY EYE)
|
||||
(FLAGS NDESCBIT SECRETBIT)
|
||||
(SIZE 3)
|
||||
(TEXT
|
||||
"a large pigeon's-blood ruby, possibly the most priceless of all gems")
|
||||
(ACTION RUBY-F)>
|
||||
|
||||
;<ROUTINE RUBY-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<FCLEAR ,RUBY ,SECRETBIT>
|
||||
<SETG TREASURE-FOUND ,RUBY>
|
||||
<TELL "It's " <GETP ,RUBY ,P?TEXT> "!" CR>)
|
||||
(<AND <VERB? TAKE>
|
||||
<IN? ,RUBY ,RHINO-HEAD>
|
||||
<FSET? ,RUBY ,NDESCBIT>>
|
||||
<FCLEAR ,RUBY ,NDESCBIT>
|
||||
<FCLEAR ,RUBY ,SECRETBIT>
|
||||
<FSET ,RUBY ,TAKEBIT>
|
||||
<SETG TREASURE-FOUND ,RUBY>
|
||||
<MOVE ,RUBY ,PLAYER>
|
||||
<TELL
|
||||
"It's stuck pretty tightly in its socket, but eventually you pry it loose.
|
||||
Your own eyes pop a bit as you examine your find more closely. It's "
|
||||
<GETP ,RUBY ,P?TEXT> "!" CR>)>>
|
||||
|
||||
;<OBJECT HEADDRESS
|
||||
;(IN LOCAL-GLOBALS)
|
||||
(DESC "Egyptian headdress")
|
||||
(ADJECTIVE EGYPTIAN ;HEAD)
|
||||
(SYNONYM HEADDRESS DRESS)
|
||||
(FLAGS WEARBIT VOWELBIT SECRETBIT)
|
||||
(SIZE 9)
|
||||
(TEXT
|
||||
"the gold headdress of a Pharaoh's daughter, in the shape of a coiled
|
||||
cobra")
|
||||
(ACTION HEADDRESS-F)>
|
||||
|
||||
;<ROUTINE HEADDRESS-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<FCLEAR ,HEADDRESS ,SECRETBIT>
|
||||
<SETG TREASURE-FOUND ,HEADDRESS>
|
||||
<TELL "It's obviously " <GETP ,HEADDRESS ,P?TEXT> "!" CR>)>>
|
||||
|
||||
;<OBJECT IAN-EVIDENCE
|
||||
(DESC "Ian's note")
|
||||
(ADJECTIVE IAN\'S JACK\'S HIS)
|
||||
(SYNONYM EVIDENCE NOTE)
|
||||
(FLAGS NDESCBIT READBIT NARTICLEBIT SECRETBIT RMUNGBIT ;"= is evidence")
|
||||
(CHARACTER 5) ;"for this char"
|
||||
(TEXT
|
||||
"It's a note from Jack to Ian, offering to pay off his gambling IOU if
|
||||
he will take Deirdre off Jack's hands."
|
||||
;"It clearly shows how Ian wanted to break up Tamara's romance.")
|
||||
(SIZE 2)>
|
||||
|
||||
;<OBJECT HYDE-IOU
|
||||
(DESC "museum report")
|
||||
(ADJECTIVE HYDE\'S HIS MUSEUM)
|
||||
(SYNONYM EVIDENCE REPORT)
|
||||
(FLAGS NDESCBIT READBIT SECRETBIT RMUNGBIT ;"= is evidence")
|
||||
(CHARACTER 6) ;"for this char"
|
||||
(TEXT
|
||||
"It's a report from the British Museum, saying their tests have proved
|
||||
that a valuable painting from the castle is a very recent fake.
|
||||
While it was in his shop for cleaning, Hyde sold the original to one
|
||||
of his customers.")
|
||||
(SIZE 4)>
|
||||
|
||||
;<OBJECT POCKET
|
||||
(IN ;PLAYER GLOBAL-OBJECTS)
|
||||
(DESC "your pocket")
|
||||
(ADJECTIVE MY)
|
||||
(SYNONYM POCKET)
|
||||
(FLAGS CONTBIT OPENBIT NARTICLEBIT NDESCBIT SEARCHBIT)
|
||||
(CAPACITY 5)
|
||||
(ACTION POCKET-F)>
|
||||
|
||||
;<ROUTINE POCKET-F ("AUX" X)
|
||||
<COND ;(<DIVESTMENT? ,POCKET>
|
||||
<HAR-HAR>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE LOOK-THROUGH>
|
||||
<TELL "Your pocket ">
|
||||
<COND (<NOT <FIRST? ,POCKET>>
|
||||
<TELL "is empty." CR>)
|
||||
(T
|
||||
<TELL "contains">
|
||||
<PRINT-CONTENTS ,POCKET>
|
||||
<TELL "." CR>
|
||||
;<SET X <PRINT-CONT ,POCKET ;T>>)>
|
||||
<RTRUE>)
|
||||
(<VERB? EMPTY>
|
||||
<COND (<FIRST? ,POCKET>
|
||||
<TELL "You are now holding">
|
||||
<ROB ,POCKET ,PLAYER T>
|
||||
<CRLF>)>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<TELL "You don't need to do that." CR>)>>
|
||||
|
||||
;<OBJECT CLOTHES
|
||||
(IN GLOBAL-OBJECTS ;ADVENTURER)
|
||||
(DESC "your clothes")
|
||||
(ADJECTIVE ;YOUR MY)
|
||||
(SYNONYM CLOTHES)
|
||||
(FLAGS WORNBIT WEARBIT NARTICLEBIT)
|
||||
;(ACTION CLOTHES-F)>
|
||||
|
||||
;<ROUTINE CLOTHES-F ("AUX" X)
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL <GETP ,NOW-WEARING ,P?TEXT> CR>)>>
|
||||
|
||||
<ROUTINE COMMON-ASK-ABOUT (PER OBJ)
|
||||
<COND
|
||||
;(<OR <AND <==? .PER ,LORD> <==? .OBJ ,OFFICER>>
|
||||
<AND <==? .PER ,OFFICER> <==? .OBJ ,LORD>>>
|
||||
<TELL
|
||||
"\"We've been mates for years, since serving together in the
|
||||
Coldstream Guards.\"" CR>)
|
||||
;(<EQUAL? .OBJ ,LORD>
|
||||
<TELL "\"A fine young man, and he seems very happy recently.\"" CR>)
|
||||
;(<EQUAL? .OBJ ,DEB>
|
||||
<DISCRETION .PER .OBJ>
|
||||
<TELL
|
||||
"\"She's a kittenish Mayfair deb, who
|
||||
comes on as an affectionate girl friend of ">
|
||||
<COND (<==? .PER ,FRIEND> <TELL "mine.\"" CR> <RTRUE>)>
|
||||
<TELL 'FRIEND "'s.">
|
||||
<COND (<==? .PER ,LORD> <TELL "\"" CR> <RTRUE>)>
|
||||
<TELL " But she radiates
|
||||
bitchy overtones which suggest that she may have secret designs of her
|
||||
own on " 'LORD " Tresyllian, and that she secretly hates " 'FRIEND " for
|
||||
beating her time with his lordship.\"" CR>)
|
||||
;(<EQUAL? .OBJ ,OFFICER>
|
||||
<DISCRETION .PER .OBJ>
|
||||
<TELL
|
||||
"\"He's a sporty young London man-about-town and officer in the
|
||||
Coldstream Guards. He's a close buddy of " 'LORD "'s, who is himself an
|
||||
ex-Guards officer. Belowstairs gossip at the castle hints that Ian was
|
||||
madly in love with " 'LOVER ", and that it was a quarrel over him which led
|
||||
to her breakup with " 'LORD ".\"" CR>)
|
||||
;(<EQUAL? .OBJ ,DOCTOR>
|
||||
<TELL
|
||||
"\"Nicholas Wendish was, in fact, a classmate of Lionel Tresyllian's at
|
||||
Cambridge University, and over the years the two kept in close touch.
|
||||
Trained as a medical man and biochemist, " 'DOCTOR " is a leading
|
||||
authority on drugs derived from plants and their use in the treatment
|
||||
of disease.\"" CR>)
|
||||
;(<EQUAL? .OBJ ,DEALER>
|
||||
<TELL
|
||||
"\"He's a London antique dealer who has come to Cornwall to discuss with ">
|
||||
<COND (<==? .PER ,LORD> <TELL "me">) (T <TELL D ,LORD>)>
|
||||
<TELL
|
||||
" the possible sale of Tresyllian family portraits and other objets d'art.\""
|
||||
CR>)
|
||||
;(<EQUAL? .OBJ ,PAINTER>
|
||||
<DISCRETION .PER .OBJ>
|
||||
<TELL
|
||||
"\"She's a local painter of vintage beauty and uncertain age,
|
||||
who is reputed to have been the mistress of ">
|
||||
<COND (<==? .PER ,LORD> <TELL "my">) (T <TELL "Jack's">)>
|
||||
<TELL " late kinsman Lionel, the previous Lord Tresyllian.\"" CR>)>>
|
||||
|
||||
;<GLOBAL EXPLAINED-JEWEL:OBJECT <>>
|
||||
|
||||
;<ROUTINE FIND-JEWEL-EXPLAINER ("AUX" O)
|
||||
<SET O <FIRST? ,HERE>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RETURN <>>)
|
||||
(<AND <FSET? .O ,PERSONBIT>
|
||||
<NOT <FSET? .O ,RMUNGBIT>>
|
||||
<NOT <FSET? .O ,MUNGBIT>>
|
||||
<NOT <EQUAL? .O ,PLAYER ,OFFICER>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
;<ROUTINE PRE-APOLOGIZE ("AUX" P)
|
||||
<COND (<NOT <DOBJ? ROOMS>>
|
||||
<RFALSE>)
|
||||
(<QCONTEXT-GOOD?>
|
||||
<PERFORM ,PRSA ,QCONTEXT>
|
||||
<RTRUE>)
|
||||
(<SET P <FIND-FLAG-HERE-NOT ,PERSONBIT ,MUNGBIT ,WINNER>>
|
||||
<TELL-I-ASSUME .P " to">
|
||||
<PERFORM ,PRSA .P>
|
||||
<RTRUE>)>>
|
||||
|
||||
;<ROUTINE V-HIDE ()
|
||||
<COND ;(<EQUAL? ,HERE ,OFFICE>
|
||||
<TELL "You could hide behind the lounge." CR>)
|
||||
(T <TELL "There's no good hiding place here." CR>)>>
|
||||
|
||||
;<ROUTINE V-HIDE-BEHIND ()
|
||||
<COND (<FIND-FLAG-HERE-NOT ,PERSONBIT ,MUNGBIT ,WINNER>
|
||||
<TELL "As you start to hide">
|
||||
<COND (<T? ,PRSI> <HIM-HER-IT ,PRSO>)>
|
||||
<TELL ", you realize that someone may be watching you." CR>)
|
||||
(T
|
||||
<TELL "There's no room to hide">
|
||||
<COND (<T? ,PRSI> <HIM-HER-IT ,PRSO>)>
|
||||
<TELL " behind">
|
||||
<COND (<T? ,PRSI> <HIM-HER-IT ,PRSI>)
|
||||
(T <HIM-HER-IT ,PRSO>)>
|
||||
<TELL "." CR>)>>
|
||||
|
||||
;<ROUTINE V-KICK () <HACK-HACK "Kicking">>
|
||||
|
||||
;<ROUTINE PRE-SHOOT ("AUX" X)
|
||||
<COND (<ZERO? ,PRSI>
|
||||
<COND (<FSET? ,PRSO ,PERSONBIT>
|
||||
<COND (<SET X <FIND-FLAG ,WINNER ,WEAPONBIT>>
|
||||
<TELL-I-ASSUME .X " with">
|
||||
<PERFORM ,V?SHOOT ,PRSO .X>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<SETG CLOCK-WAIT T>
|
||||
<TELL ,YOU-DIDNT-SAY-W "ith what!]" CR>)>)
|
||||
(T
|
||||
<COND (<SET X <FIND-FLAG-HERE ,PERSONBIT ,WINNER>>
|
||||
<TELL-I-ASSUME .X " at">
|
||||
<PERFORM ,V?SHOOT .X ,PRSO>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<SETG CLOCK-WAIT T>
|
||||
<TELL ,YOU-DIDNT-SAY-W "hom!]" CR>)>)>)>>
|
455
m5.chart
Normal file
455
m5.chart
Normal file
|
@ -0,0 +1,455 @@
|
|||
-date- -rel- -size- -pre- -obj- -glo- -voc-
|
||||
6/07 4 51052 11911 39 113 611
|
||||
6/10 5 49336 12543 39 114 617
|
||||
6/11 6 49334 12543 39 114 617
|
||||
6/11 7 49328 12543 39 114 617
|
||||
6/11 8 49338 12546 39 114 617
|
||||
6/12 9 49482 12546 39 114 617
|
||||
6/12 10 49482 12546 39 114 617
|
||||
6/12 11 49490 12546 39 114 617
|
||||
6/12 12 49492 12546 39 114 617
|
||||
6/12 13 50296 12756 42 115 630
|
||||
6/12 14 50296 12756 42 115 630
|
||||
6/14 15 50320 12756 42 115 630
|
||||
6/24 16 51950 13445 50 115 666
|
||||
7/01 17 51900 13435 50 114 666
|
||||
7/02 18 51950 13446 51 114 666
|
||||
7/02 19 51822 13446 51 114 666
|
||||
7/26 20 52074 13556 51 116 664
|
||||
8/29 21 53858 14758 78 116 691
|
||||
9/03 22 55452 15834 102 116 704
|
||||
9/03 23 55468 15876 103 116 705
|
||||
9/04 23 55498 15876 103 116 705
|
||||
9/04 23 55504 15876 103 116 705
|
||||
9/10 24 54940 15814 103 113 703
|
||||
9/13 25 57082 17263 138 113 709
|
||||
9/16 26 57412 17545 137 113 709
|
||||
9/16 27 57412 17545 137 113 709
|
||||
9/17 28 57804 17721 138 113 712
|
||||
9/17 29 59476 18228 149 113 738
|
||||
9/17 -1 59574 18234 149 116 738
|
||||
9/18 2 59184 18375 149 118 737
|
||||
9/18 3 59182 18375 149 118 737
|
||||
9/18 4 62304 18375 149 118 737
|
||||
9/19 5 61812 18371 149 116 737
|
||||
9/20 6 62002 18641 149 116 738
|
||||
9/20 6 61850 18619 149 116 738
|
||||
9/20 7 62002 18641 149 116 738
|
||||
9/23 7 62074 18692 149 117 738
|
||||
9/23 8 62112 18695 149 117 738
|
||||
9/24 9 62980 18819 151 117 744
|
||||
9/25 10 62988 18822 151 117 744
|
||||
9/25 11 64686 19463 165 118 766
|
||||
9/30 12 65926 19583 168 119 771
|
||||
10/01 13 67020 20167 180 119 801
|
||||
10/02 14 67272 20158 179 119 801
|
||||
10/03 15 67988 20234 181 119 805
|
||||
10/03 16 68032 20234 181 119 805
|
||||
10/03 17 68032 20234 181 119 805
|
||||
10/03 17 68032 20234 181 119 805
|
||||
10/03 18 68520 20363 183 121 812
|
||||
10/04 19 68520 20363 183 121 812
|
||||
10/04 20 68506 20331 182 121 811
|
||||
10/04 21 68522 20331 182 121 811
|
||||
10/04 22 68630 20357 182 122 811
|
||||
10/07 23 69342 20373 182 124 811
|
||||
10/09 24 69460 20395 184 124 811
|
||||
10/09 25 69930 20511 187 126 814
|
||||
10/09 26 70422 20534 185 127 820
|
||||
10/10 27 70748 20498 185 127 819
|
||||
10/10 28 70748 20497 185 127 819
|
||||
10/10 29 70742 20497 185 127 819
|
||||
10/14 30 70776 20497 185 127 819
|
||||
10/17 31 74274 20718 189 130 827
|
||||
10/17 -1 74274 20718 189 130 827
|
||||
10/17 32 74274 20718 189 130 827
|
||||
10/17 33 74494 20883 189 132 823
|
||||
10/17 34 74494 20856 188 131 822
|
||||
10/18 35 74924 20937 189 131 826
|
||||
10/18 36 74922 20937 189 131 826
|
||||
10/18 37 75914 21285 200 131 832
|
||||
10/21 38 75944 21285 200 131 832
|
||||
10/21 39 76000 21285 200 131 832
|
||||
10/21 40 76440 21422 201 134 840
|
||||
10/22 41 77906 22054 214 136 867
|
||||
10/22 42 77904 22054 214 136 867
|
||||
10/22 43 79042 22054 214 136 867
|
||||
10/23 44 79414 22246 215 138 869
|
||||
10/23 45 81376 22246 215 138 869
|
||||
10/23 46 81342 22255 215 138 869
|
||||
10/23 0 81342 22255 215 138 869
|
||||
10/23 47 81326 22255 215 138 869
|
||||
10/23 48 81228 22255 215 138 869
|
||||
10/24 49 81240 22255 215 138 869
|
||||
10/24 50 81240 22255 215 138 869
|
||||
10/24 50 81438 22269 215 138 869
|
||||
10/24 51 81568 22304 215 138 869
|
||||
10/28 52 81554 22304 215 138 869
|
||||
10/28 53 81544 22304 215 138 869
|
||||
10/28 54 81834 22438 218 138 872
|
||||
10/29 55 81522 22468 218 137 873
|
||||
10/29 56 81532 22468 218 137 873
|
||||
10/29 57 81596 22468 218 137 873
|
||||
10/30 58 81494 22486 218 137 874
|
||||
10/31 59 81394 22498 218 137 874
|
||||
10/31 60 81446 22441 218 135 875
|
||||
10/31 61 81440 22441 218 135 875
|
||||
10/31 62 81440 22441 218 135 875
|
||||
10/31 63 81402 22401 218 134 875
|
||||
11/01 64 87920 22753 224 134 893
|
||||
11/04 65 88014 22758 224 135 893
|
||||
11/05 66 88120 22758 224 135 893
|
||||
11/05 67 87912 0 224 135 893
|
||||
11/05 68 87826 22732 224 136 893
|
||||
11/05 69 87826 22732 224 136 893
|
||||
11/06 70 87104 22797 225 136 897
|
||||
11/06 71 87108 22797 225 136 897
|
||||
11/06 72 87112 22797 225 136 897
|
||||
11/06 73 90074 23068 232 137 910
|
||||
11/06 74 90652 23123 232 137 914
|
||||
11/07 75 90638 23116 232 137 913
|
||||
11/07 76 90638 23116 232 137 913
|
||||
11/07 77 90638 23116 232 137 913
|
||||
...
|
||||
11/08 84 91902 23318 233 137 924
|
||||
11/08 85 91902 23318 233 137 924
|
||||
11/08 86 92556 23236 233 139 914
|
||||
11/11 87 91932 23306 233 139 924
|
||||
11/11 88 91932 23306 233 139 924
|
||||
11/11 89 92032 23306 233 139 924
|
||||
11/11 90 92032 23306 233 139 924
|
||||
11/11 91 92236 23340 233 139 924
|
||||
11/12 92 92236 23340 233 139 924
|
||||
11/12 93 92190 23345 233 140 925
|
||||
11/12 94 92176 23345 233 140 925
|
||||
11/13 95 92142 23347 233 141 925
|
||||
11/13 96 92140 23347 233 141 925
|
||||
11/13 97 92054 23366 233 142 925
|
||||
11/13 98 92676 23373 233 144 925
|
||||
11/14 99 91634 23135 233 144 925
|
||||
11/14 100 92826 23556 243 144 943
|
||||
11/15 101 92826 23556 243 144 943
|
||||
11/15 102 93186 23601 243 146 945
|
||||
11/15 103 93122 23550 243 144 943
|
||||
11/15 103 93182 23601 243 146 945
|
||||
11/15 104 93430 23610 243 146 945
|
||||
11/19 105 95464 23723 245 146 952
|
||||
11/20 106 95468 23723 245 146 952
|
||||
11/20 107 98378 23837 247 146 957
|
||||
11/21 108 98728 24036 251 146 965
|
||||
11/22 109 99356 24155 253 146 970
|
||||
11/22 110 99190 24146 253 145 969
|
||||
11/25 111 96860 23160 251 142 872
|
||||
11/25 112 96382 22866 251 142 847
|
||||
11/26 113 96872 22868 251 143 847
|
||||
11/29 114 97082 22885 251 143 849
|
||||
12/02 115 97056 22885 251 143 849
|
||||
12/02 116 97332 22981 253 145 854
|
||||
12/03 117 97376 22994 253 145 855
|
||||
12/03 118 97374 22994 253 145 855
|
||||
12/03 119 97398 23016 253 145 855
|
||||
12/04 120 100438 23116 255 145 857
|
||||
12/04 121 104542 23183 256 145 860
|
||||
12/06 122 104166 22743 238 145 860
|
||||
12/06 123 104130 22743 238 145 860
|
||||
12/06 124 104086 22743 238 145 860
|
||||
12/07 125 104084 22743 238 145 860
|
||||
12/07 126 105980 22866 240 145 868
|
||||
12/11 127 107528 23003 244 145 870
|
||||
12/11 128 107484 23003 244 145 870
|
||||
12/11 129 107484 23003 244 145 870
|
||||
12/11 130 107496 23007 244 145 870
|
||||
12/12 131 108562 23183 247 147 877
|
||||
12/12 132 108502 23183 247 147 877
|
||||
12/13 133 108534 23150 246 147 877
|
||||
12/13 134 111280 23317 248 149 886
|
||||
12/17 135 112264 23325 248 149 887
|
||||
12/17 136 112264 23324 248 149 887
|
||||
12/17 137 112264 23324 248 149 887
|
||||
12/18 138 112508 23301 246 150 889
|
||||
12/18 139 112942 23365 247 153 889
|
||||
12/19 140 112972 23383 247 154 890
|
||||
12/20 141 112972 23383 247 154 890
|
||||
12/20 142 112924 23383 247 154 890
|
||||
12/20 143 112928 23383 247 154 890
|
||||
1/02 144 113658 23393 247 155 890
|
||||
1/03 145 113026 23400 247 155 890
|
||||
1/03 146 113112 23405 247 155 891
|
||||
1/03 147 113112 23405 247 155 891
|
||||
1/06 148 113464 23397 247 154 890
|
||||
1/07 149 114084 23380 246 154 888
|
||||
1/08 150 114298 23469 247 155 892
|
||||
1/09 151 115208 23478 247 157 892
|
||||
1/10 151 115202 23478 247 157 892
|
||||
1/10 152 115324 23447 246 157 891
|
||||
1/13 153 116086 23517 246 158 897
|
||||
1/13 153 116086 23517 246 158 897
|
||||
1/15 154 116468 23593 246 158 904
|
||||
1/15 155 116558 23559 244 159 903
|
||||
1/16 156 116862 23647 244 159 903
|
||||
1/16 156 116838 23647 244 159 903
|
||||
1/17 157 115978 23749 245 160 906
|
||||
1/20 157 115910 23749 245 160 906
|
||||
1/20 157 115998 23698 245 160 902
|
||||
1/20 157 115994 23698 245 160 902
|
||||
1/21 157 116004 23698 245 160 902
|
||||
1/21 157 116018 23698 245 160 902
|
||||
1/21 157 116030 23698 245 160 902
|
||||
1/21 157 116034 23698 245 160 902
|
||||
1/21 157 116048 23698 245 160 902
|
||||
1/21 158 116058 23698 245 160 902
|
||||
1/22 159 117290 23641 243 160 903
|
||||
1/23 160 117736 23648 243 161 903
|
||||
1/23 9 117722 23648 243 161 903
|
||||
1/23 9 117748 23648 243 161 903
|
||||
1/23 9 117750 23648 243 161 903
|
||||
1/23 10 117870 23661 243 162 903
|
||||
1/24 11 118290 23727 243 161 906
|
||||
1/24 11 118282 23720 243 161 905
|
||||
1/30 0 118302 23720 243 161 905
|
||||
1/30 12 118438 23691 244 161 909
|
||||
1/30 13 119104 23708 244 161 912
|
||||
1/30 12 119104 23708 244 161 912
|
||||
1/30 12 119110 23708 244 161 912
|
||||
1/31 13 119920 23739 244 161 915
|
||||
2/03 14 119608 23770 245 162 912
|
||||
2/04 15 119868 23741 245 163 912
|
||||
2/04 15 119864 23741 245 163 912
|
||||
2/04 16 119882 23748 245 163 913
|
||||
2/04 0 119744 23800 245 163 913
|
||||
2/04 17 120064 23870 245 164 917
|
||||
2/05 18 120284 23891 241 166 931
|
||||
2/06 18 120290 23891 241 166 931
|
||||
2/06 19 120176 23860 240 164 935
|
||||
2/07 19 120176 23860 240 164 935
|
||||
2/07 20 120016 23853 242 164 930
|
||||
2/07 20 120008 23853 242 164 930
|
||||
2/10 21 120332 23917 242 165 936
|
||||
2/10 21 120320 23917 242 165 936
|
||||
2/11 22 120746 24030 243 166 947
|
||||
2/11 22 120746 24030 243 166 947
|
||||
2/12 23 120554 24009 243 167 944
|
||||
2/13 23 120554 24009 243 167 944
|
||||
2/13 24 121344 24088 245 169 940
|
||||
2/14 24 121342 24088 245 169 940
|
||||
2/14 0 121386 24088 245 169 940
|
||||
2/14 0 121380 24088 245 169 940
|
||||
2/14 0 121496 24088 245 169 940
|
||||
2/14 0 121490 24088 245 169 940
|
||||
2/14 0 121494 24088 245 169 940
|
||||
2/14 0 121494 24088 245 169 940
|
||||
2/14 25 121582 24113 244 170 945
|
||||
2/17 26 121754 24142 244 170 945
|
||||
2/17 26 121626 24142 244 170 945
|
||||
2/18 27 121638 24145 244 169 945
|
||||
2/19 28 121766 24180 243 169 948
|
||||
2/20 29 121728 24241 244 170 949
|
||||
2/21 30 121914 24298 244 170 950
|
||||
2/23 31 121924 24298 244 170 950
|
||||
2/24 1 121924 24298 244 170 950
|
||||
2/24 32 121468 24268 243 170 954
|
||||
2/25 33 121562 24287 243 170 954
|
||||
2/26 34 121436 24221 242 171 953
|
||||
2/27 34 121442 24221 242 171 953
|
||||
2/27 35 121770 24237 242 171 954
|
||||
3/02 36 121646 24012 242 171 953
|
||||
3/04 36 119858 23830 241 176 948
|
||||
3/05 36 119772 23830 241 176 948
|
||||
3/05 37 119740 23713 238 179 955
|
||||
3/06 38 119870 23729 240 178 954
|
||||
3/07 38 119868 23729 240 178 954
|
||||
3/07 39 119908 23715 240 178 952
|
||||
3/10 40 120506 23821 241 178 957
|
||||
3/11 41 120756 23858 241 178 960
|
||||
3/12 42 120854 23886 241 178 963
|
||||
3/13 43 122384 24001 243 179 970
|
||||
3/14 43 122382 24001 243 179 970
|
||||
3/14 -1 122422 24001 243 179 970
|
||||
3/17 2 122526 24001 243 179 970
|
||||
3/17 3 123346 24112 246 179 975
|
||||
3/18 4 123278 23988 246 179 965
|
||||
3/19 5 124852 24196 246 182 968
|
||||
3/20 5 124848 24196 246 182 968
|
||||
3/20 6 126202 24283 247 183 971
|
||||
3/21 7 126644 24354 247 183 978
|
||||
3/25 8 127158 24439 247 184 979
|
||||
3/25 8 127164 24442 247 184 979
|
||||
3/26 9 127166 24274 242 185 972
|
||||
3/27 9 127166 24274 242 185 972
|
||||
3/27 10 126636 24297 243 185 971
|
||||
3/28 10 126866 24288 243 185 970
|
||||
3/29 11 127072 24295 243 185 971
|
||||
4/01 12 127300 24398 244 186 976
|
||||
4/02 13 127708 24450 245 186 979
|
||||
4/02 14 127994 24450 246 187 978
|
||||
4/04 15 127558 24276 246 187 972
|
||||
4/04 15 127558 24276 246 187 972
|
||||
4/04 15 127560 24276 246 187 972
|
||||
4/09 16 127438 24312 246 187 974
|
||||
4/15 17 128204 24148 244 189 970
|
||||
4/16 17 128196 24155 244 189 971
|
||||
4/16 17 128552 24176 245 190 970
|
||||
4/16 18 128656 24180 245 192 970
|
||||
4/17 18 128658 24180 245 192 970
|
||||
4/18 19 128668 24142 245 192 970
|
||||
4/18 20 128154 24082 245 189 964
|
||||
4/23 21 128218 24081 245 189 964
|
||||
4/24 22 128324 24128 246 191 965
|
||||
4/25 23 128724 24177 247 192 967
|
||||
4/25 23 128532 24030 247 192 946
|
||||
4/28 24 128356 24020 247 193 948
|
||||
4/29 24 128494 24167 247 193 969
|
||||
4/29 24 128548 24180 248 194 965
|
||||
4/29 24 128542 24180 248 194 965
|
||||
4/29 24 128542 24180 248 194 965
|
||||
4/30 25 128628 24182 248 195 965
|
||||
5/01 25 128628 24182 248 195 965
|
||||
5/01 25 128632 24182 248 195 965
|
||||
5/02 26 128714 24209 248 199 965
|
||||
5/06 27 128964 24209 248 199 965
|
||||
5/08 28 128980 24207 248 198 965
|
||||
5/14 29 129424 24229 248 198 968
|
||||
5/14 29 129130 24301 248 198 968
|
||||
5/14 30 128780 24267 247 199 967
|
||||
5/19 31 128644 24267 247 199 967
|
||||
5/20 31 128612 24267 247 199 967
|
||||
5/20 31 128616 24267 247 199 967
|
||||
5/20 31 128620 24267 247 199 967
|
||||
5/20 31 128288 24267 247 199 967
|
||||
5/21 32 128766 24307 248 200 969
|
||||
5/26 33 129080 24377 249 201 970
|
||||
5/26 33 129076 24377 249 201 970
|
||||
5/27 34 128896 24494 253 199 977
|
||||
5/28 35 129052 24533 253 199 981
|
||||
5/29 35 129048 24531 253 199 981
|
||||
5/29 35 129062 24531 253 199 981
|
||||
5/29 35 129062 24531 253 199 981
|
||||
6/06 36 129370 24563 253 198 985
|
||||
6/06 36 129550 24585 253 198 985
|
||||
6/06 37 129598 24593 253 198 985
|
||||
6/09 37 129598 24593 253 198 985
|
||||
6/09 38 129680 24688 254 198 992
|
||||
6/10 39 126516 24504 254 198 984
|
||||
6/10 39 126570 24504 254 198 984
|
||||
6/10 40 126806 24531 254 198 986
|
||||
6/10 40 126800 24531 254 198 986
|
||||
6/11 40 126800 24531 254 198 986
|
||||
6/12 40 126800 24531 254 198 986
|
||||
6/12 40 126800 24531 254 198 986
|
||||
6/12 40 126800 24531 254 198 986
|
||||
6/16 40 126800 24531 254 198 986
|
||||
6/16 41 130134 24735 254 202 994
|
||||
6/16 41 130124 24735 254 202 994
|
||||
6/18 42 130410 24744 254 204 997
|
||||
6/18 42 130378 24744 254 204 997
|
||||
6/27 43 130818 24989 255 206 1001
|
||||
6/30 44 52768 24989 255 206 1001
|
||||
7/01 44 131408 25019 255 209 1004
|
||||
7/01 44 131262 24987 255 210 1004
|
||||
7/01 44 131176 24987 255 210 1004
|
||||
7/01 44 131108 24987 255 210 1004
|
||||
7/01 44 131070 24987 255 210 1004
|
||||
7/02 45 130964 24965 255 211 1004
|
||||
7/03 45 130966 24965 255 211 1004
|
||||
7/03 45 130966 24965 255 211 1004
|
||||
7/03 0 130966 24965 255 211 1004
|
||||
7/03 1 130972 24965 255 211 1004
|
||||
7/08 46 131184 24946 254 212 1005
|
||||
7/08 46 131104 24946 254 212 1005
|
||||
7/08 46 131048 24946 254 212 1005
|
||||
7/09 0 131028 24946 254 212 1005
|
||||
7/09 2 131050 24946 254 212 1005
|
||||
7/09 3 131050 24946 254 212 1005
|
||||
7/09 47 131996 24936 254 215 1004
|
||||
7/10 47 131614 24940 254 217 1004
|
||||
7/10 47 130876 24944 254 219 1004
|
||||
7/10 47 130876 24944 254 219 1004
|
||||
7/11 47 130890 24944 254 219 1004
|
||||
7/14 48 131370 25022 254 219 1013
|
||||
7/14 48 131144 25022 254 219 1013
|
||||
7/14 48 131116 25022 254 219 1013
|
||||
7/14 48 131066 25022 254 219 1013
|
||||
7/16 49 131108 24933 253 219 1009
|
||||
7/16 49 130944 24933 253 219 1009
|
||||
7/16 49 130944 24933 253 219 1009
|
||||
7/16 50 131110 24937 253 221 1009
|
||||
7/16 50 130940 24937 253 221 1009
|
||||
7/17 50 130938 24937 253 221 1009
|
||||
7/17 50 130940 24937 253 221 1009
|
||||
7/17 50 130936 24937 253 221 1009
|
||||
7/17 50 130940 24937 253 221 1009
|
||||
7/17 51 130934 24935 253 222 1010
|
||||
7/18 52 131028 24966 253 222 1010
|
||||
7/18 52 131042 24966 253 222 1010
|
||||
7/26 53 131220 24980 253 223 1010
|
||||
7/26 53 128596 24796 253 223 1002
|
||||
7/29 54 131284 24974 253 222 1009
|
||||
7/30 54 128662 24790 253 222 1001
|
||||
7/30 1 128672 24790 253 222 1001
|
||||
7/31 2 128680 24790 253 222 1001
|
||||
7/31 55 128542 24798 253 222 1001
|
||||
8/01 56 128498 24760 253 221 998
|
||||
8/04 57 128524 24781 254 221 998
|
||||
8/06 1 128530 24781 254 221 998
|
||||
8/06 2 128530 24781 254 221 998
|
||||
8/06 58 129092 24806 254 223 998
|
||||
8/11 59 129136 24770 254 222 997
|
||||
8/11 59 128992 24770 254 222 997
|
||||
8/13 60 128844 24795 254 218 998
|
||||
8/15 61 128824 24700 253 219 991
|
||||
8/18 62 129190 24736 254 221 991
|
||||
8/19 -1 128966 24727 254 221 991
|
||||
8/19 63 128966 24727 254 221 991
|
||||
8/19 64 129074 24735 254 221 991
|
||||
8/19 64 129016 24713 254 221 991
|
||||
8/20 65 128986 24669 253 221 992
|
||||
8/21 65 128986 24669 253 221 992
|
||||
8/21 65 128986 24669 253 221 992
|
||||
8/21 65 128986 24669 253 221 992
|
||||
8/23 66 128984 24652 253 222 991
|
||||
8/24 66 128964 24652 253 222 991
|
||||
8/24 66 128954 24652 253 222 991
|
||||
8/24 66 128954 24652 253 222 991
|
||||
8/25 67 128872 24655 253 222 991
|
||||
8/26 67 128872 24655 253 222 991
|
||||
8/26 67 128872 24655 253 222 991
|
||||
8/27 68 129096 24673 253 223 992
|
||||
8/28 68 129078 24673 253 223 992
|
||||
8/28 68 129040 24673 253 223 992
|
||||
8/28 68 129020 24673 253 223 992
|
||||
9/03 69 129300 24690 253 224 992
|
||||
9/03 69 129094 24697 253 225 992
|
||||
9/03 69 129096 24697 253 225 992
|
||||
9/03 69 129022 24697 253 225 992
|
||||
9/05 70 129062 24712 253 228 990
|
||||
9/05 70 129018 24712 253 228 990
|
||||
9/11 71 129128 24690 253 230 986
|
||||
9/11 71 129034 24690 253 230 986
|
||||
9/11 71 129022 24690 253 230 986
|
||||
9/12 71 129022 24690 253 230 986
|
||||
9/15 72 129134 24705 253 229 985
|
||||
9/15 72 128812 24495 253 229 955
|
||||
9/16 73 128892 24480 253 229 954
|
||||
9/16 3 128886 24480 253 229 954
|
||||
9/18 4 129020 24528 253 230 955
|
||||
9/18 4 129002 24528 253 230 955
|
||||
9/22 5 128768 24294 253 230 955
|
||||
9/22 6 27027 24528 253 230 955
|
||||
9/22 5 128690 24216 253 230 955
|
||||
9/22 5 128690 24216 253 230 955
|
||||
9/23 6 128682 24216 253 230 955
|
||||
9/23 6 128674 24207 253 230 955
|
||||
9/24 7 128896 24439 253 230 955
|
||||
10/21 8 128916 24439 253 230 955
|
||||
10/21 9 128866 24439 253 230 955
|
||||
10/22 -1 128866 24439 253 230 955
|
||||
10/22 9 128866 24439 253 230 955
|
||||
10/31 10 128872 24439 253 230 955
|
||||
12/02 10 128796 24477 254 230 955
|
||||
12/03 11 128830 24478 254 230 955
|
||||
12/05 10 128832 24470 254 230 955
|
||||
2/26 11 128832 24472 254 230 955
|
||||
8/28 12 128822 24470 254 230 955
|
||||
8/28 12 128822 24470 254 230 955
|
||||
8/28 12 128826 24470 254 230 955
|
||||
5/01 13 128828 24470 254 230 955
|
41
m5.errors
41
m5.errors
|
@ -1,28 +1,27 @@
|
|||
Assembling M5.XZAP.1 on Wednesday, October 22, 1986 09:45:48
|
||||
Release: 9
|
||||
Assembling M5.ZAP.13 on Sunday, May 1, 1988 13:55:06
|
||||
Release: 13
|
||||
|
||||
64 Inserting M5FREQ.XZAP.1 (594 bytes)
|
||||
658 Inserting M5DAT.ZAP.9 (25035 bytes)
|
||||
25693 Inserting MACROS.ZAP.4 (0 bytes)
|
||||
25693 Inserting MISC.ZAP.4 (1236 bytes)
|
||||
26929 Inserting SYNTAX.ZAP.4 (0 bytes)
|
||||
26929 Inserting PARSER.ZAP.4 (13085 bytes)
|
||||
40014 Inserting VERBS.ZAP.5 (21161 bytes)
|
||||
61175 Inserting GOAL.ZAP.1 (11194 bytes)
|
||||
72369 Inserting PEOPLE.ZAP.1 (23137 bytes)
|
||||
95506 Inserting CASTLE.ZAP.1 (10616 bytes)
|
||||
106122 Inserting TOWER.ZAP.1 (8181 bytes)
|
||||
114303 Inserting THINGS.ZAP.1 (2553 bytes)
|
||||
116856 Inserting PLACES.ZAP.1 (848 bytes)
|
||||
117704 Inserting GLOBAL.ZAP.1 (3165 bytes)
|
||||
120869 Inserting COLORS.ZAP.1 (4243 bytes)
|
||||
125112 Inserting M5STR.ZAP.9 (3754 bytes)
|
||||
253 objects.
|
||||
658 Inserting M5DAT.ZAP.13 (23812 bytes)
|
||||
24470 Inserting M5PUR.ZAP.13 (1254 bytes)
|
||||
25724 Inserting MISC.ZAP.9 (1226 bytes)
|
||||
26950 Inserting PARSER.ZAP.12 (13044 bytes)
|
||||
39994 Inserting VERBS.ZAP.10 (21117 bytes)
|
||||
61111 Inserting GOAL.ZAP.7 (11204 bytes)
|
||||
72315 Inserting PEOPLE.ZAP.6 (23145 bytes)
|
||||
95460 Inserting CASTLE.ZAP.6 (10608 bytes)
|
||||
106068 Inserting TOWER.ZAP.7 (8177 bytes)
|
||||
114245 Inserting THINGS.ZAP.6 (2553 bytes)
|
||||
116798 Inserting PLACES.ZAP.6 (846 bytes)
|
||||
117644 Inserting GLOBAL.ZAP.7 (3193 bytes)
|
||||
120837 Inserting COLORS.ZAP.6 (4237 bytes)
|
||||
125074 Inserting M5STR.ZAP.13 (3754 bytes)
|
||||
254 objects.
|
||||
230 globals.
|
||||
955 word vocabulary.
|
||||
|
||||
128866 bytes (126K).
|
||||
24439 bytes of preload.
|
||||
13860 bytes of impure.
|
||||
128828 bytes (126K).
|
||||
24470 bytes of preload.
|
||||
13899 bytes of impure.
|
||||
|
||||
Outputting symbol tables
|
||||
|
|
53
m5.zap
Normal file
53
m5.zap
Normal file
|
@ -0,0 +1,53 @@
|
|||
.TIME
|
||||
; Low core locations
|
||||
%ZVERSION:: .BYTE 0
|
||||
.BYTE FLAGS
|
||||
%ZORKID:: ZORKID
|
||||
%ENDLOD:: ENDLOD
|
||||
%START:: START
|
||||
%VOCAB:: VOCAB
|
||||
%OBJECT:: OBJECT
|
||||
%GLOBAL:: GLOBAL
|
||||
%PURBOT:: IMPURE
|
||||
%FLAGS:: .WORD 64
|
||||
%SERIAL:: .WORD 0
|
||||
%SERI1:: .WORD 0
|
||||
%SERI2:: .WORD 0
|
||||
%FWORDS:: WORDS
|
||||
%PLENTH:: .WORD 0
|
||||
%PCHKSM:: .WORD 0
|
||||
%INTWRD:: .WORD 0
|
||||
%SCRWRD:: .WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.INSERT "SS:<MOONMIST>M5FREQ" ;Frequent word table
|
||||
.INSERT "SS:<MOONMIST>M5DAT" ; Data file
|
||||
.INSERT "SS:<MOONMIST>M5PUR"
|
||||
.INSERT "SS:<MOONMIST>MISC"
|
||||
.INSERT "SS:<MOONMIST>PARSER"
|
||||
.INSERT "SS:<MOONMIST>VERBS"
|
||||
.INSERT "SS:<MOONMIST>GOAL"
|
||||
.INSERT "SS:<MOONMIST>PEOPLE"
|
||||
.INSERT "SS:<MOONMIST>CASTLE"
|
||||
.INSERT "SS:<MOONMIST>TOWER"
|
||||
.INSERT "SS:<MOONMIST>THINGS"
|
||||
.INSERT "SS:<MOONMIST>PLACES"
|
||||
.INSERT "SS:<MOONMIST>GLOBAL"
|
||||
.INSERT "SS:<MOONMIST>COLORS"
|
||||
|
||||
.INSERT "SS:<MOONMIST>M5STR"
|
||||
|
||||
.END
|
48
m5.zil
Normal file
48
m5.zil
Normal file
|
@ -0,0 +1,48 @@
|
|||
"COMPILE/LOAD FILE for MOONMIST
|
||||
Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
||||
|
||||
<SETG ZDEBUGGING? <>>
|
||||
<DEFINE DEBUG-CODE ('X "OPTIONAL" ('Y T))
|
||||
<COND (,ZDEBUGGING? .X) (ELSE .Y)>>
|
||||
|
||||
<SETG NEW-VOC? T>
|
||||
<FREQUENT-WORDS?>
|
||||
<VERSION ZIP TIME>
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<PRINC "Compiling">
|
||||
<ID 0>)
|
||||
(T <PRINC "Loading">)>
|
||||
|
||||
<PRINC " MOONMIST: interactive fiction from Infocom!
|
||||
">
|
||||
|
||||
ON!-INITIAL "for DEBUGR"
|
||||
OFF!-INITIAL
|
||||
ENABLE!-INITIAL
|
||||
DISABLE!-INITIAL
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
||||
|
||||
<DIRECTIONS ;"Do not change the order of the first eight
|
||||
without consulting Marc! -- per ENCHANTER"
|
||||
NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
|
||||
|
||||
<INSERT-FILE "MACROS">
|
||||
<INSERT-FILE "MISC">
|
||||
<INSERT-FILE "SYNTAX">
|
||||
<INSERT-FILE "PARSER">
|
||||
<INSERT-FILE "VERBS">
|
||||
<INSERT-FILE "GOAL">
|
||||
<INSERT-FILE "PEOPLE">
|
||||
<INSERT-FILE "CASTLE">
|
||||
<INSERT-FILE "TOWER">
|
||||
<INSERT-FILE "THINGS">
|
||||
<INSERT-FILE "PLACES">
|
||||
<INSERT-FILE "GLOBAL">
|
||||
<INSERT-FILE "COLORS">
|
||||
|
||||
<PROPDEF SIZE 5>
|
200
m5freq.xzap
Normal file
200
m5freq.xzap
Normal file
|
@ -0,0 +1,200 @@
|
|||
.FSTR FSTR?1,"the " ;1294 648
|
||||
.FSTR FSTR?2,", " ;769 770
|
||||
.FSTR FSTR?3,"and " ;496 249
|
||||
.FSTR FSTR?4,"you " ;486 244
|
||||
.FSTR FSTR?5,". " ;385 386
|
||||
.FSTR FSTR?6,"You " ;345 116
|
||||
.FSTR FSTR?7,"that " ;330 111
|
||||
.FSTR FSTR?8,"The " ;318 107
|
||||
.FSTR FSTR?9,"to " ;312 313
|
||||
.FSTR FSTR?10,"It's " ;265 54
|
||||
.FSTR FSTR?11,"with " ;261 88
|
||||
.FSTR FSTR?12,"of " ;228 229
|
||||
.FSTR FSTR?13,"I " ;228 229
|
||||
.FSTR FSTR?14,"your " ;210 71
|
||||
.FSTR FSTR?15,"was " ;196 99
|
||||
.FSTR FSTR?16,"There's " ;192 25
|
||||
.FSTR FSTR?17,"in " ;179 180
|
||||
.FSTR FSTR?18,"for " ;170 86
|
||||
.FSTR FSTR?19,"can't " ;165 34
|
||||
.FSTR FSTR?20,"don't " ;155 32
|
||||
.FSTR FSTR?21,"is " ;149 150
|
||||
.FSTR FSTR?22,"from " ;147 50
|
||||
.FSTR FSTR?23,"about " ;132 34
|
||||
.FSTR FSTR?24,"I'm " ;132 34
|
||||
.FSTR FSTR?25,"just " ;120 41
|
||||
.FSTR FSTR?26,"it " ;112 113
|
||||
.FSTR FSTR?27,"something " ;112 15
|
||||
.FSTR FSTR?28,"but " ;110 56
|
||||
.FSTR FSTR?29,"her " ;108 55
|
||||
.FSTR FSTR?30,"You're " ;105 16
|
||||
.FSTR FSTR?31,"have " ;102 35
|
||||
.FSTR FSTR?32,"ghost " ;100 26
|
||||
.FSTR FSTR?33,"you're " ;96 17
|
||||
.FSTR FSTR?34,"not " ;90 46
|
||||
.FSTR FSTR?35,"Lionel's " ;90 11
|
||||
.FSTR FSTR?36,"can " ;88 45
|
||||
.FSTR FSTR?37,"this " ;87 30
|
||||
.FSTR FSTR?38,"down " ;84 29
|
||||
.FSTR FSTR?39,"This " ;84 22
|
||||
.FSTR FSTR?40,"nothing " ;84 15
|
||||
.FSTR FSTR?41,"Please " ;84 15
|
||||
.FSTR FSTR?42,"are " ;82 42
|
||||
.FSTR FSTR?43,"It " ;82 42
|
||||
.FSTR FSTR?44,"secret " ;80 17
|
||||
.FSTR FSTR?45,"figure " ;80 17
|
||||
.FSTR FSTR?46,"one " ;78 40
|
||||
.FSTR FSTR?47,"as " ;77 78
|
||||
.FSTR FSTR?48,"That's " ;77 12
|
||||
.FSTR FSTR?49,"Jack " ;76 20
|
||||
.FSTR FSTR?50,"on " ;75 76
|
||||
.FSTR FSTR?51,"But " ;75 26
|
||||
.FSTR FSTR?52,"she " ;72 37
|
||||
.FSTR FSTR?53,"all " ;72 37
|
||||
.FSTR FSTR?54,"Your " ;72 19
|
||||
.FSTR FSTR?55,"didn't " ;72 13
|
||||
.FSTR FSTR?56,"see " ;70 36
|
||||
.FSTR FSTR?57,"into " ;69 24
|
||||
.FSTR FSTR?58,"find " ;69 24
|
||||
.FSTR FSTR?59,"would " ;68 18
|
||||
.FSTR FSTR?60,"looks " ;68 18
|
||||
.FSTR FSTR?61,"his " ;66 34
|
||||
.FSTR FSTR?62,"you've " ;66 12
|
||||
.FSTR FSTR?63,"looking " ;66 12
|
||||
.FSTR FSTR?64,"like " ;63 22
|
||||
.FSTR FSTR?65,"know " ;63 22
|
||||
.FSTR FSTR?66,"She " ;63 22
|
||||
.FSTR FSTR?67,"at " ;62 63
|
||||
.FSTR FSTR?68,"says" ;62 32
|
||||
.FSTR FSTR?69,"has " ;62 32
|
||||
.FSTR FSTR?70,"when " ;60 21
|
||||
.FSTR FSTR?71,"what " ;60 21
|
||||
.FSTR FSTR?72,"it's " ;60 16
|
||||
.FSTR FSTR?73,"through " ;60 11
|
||||
.FSTR FSTR?74,"you" ;59 60
|
||||
.FSTR FSTR?75,"here" ;58 30
|
||||
.FSTR FSTR?76,"says " ;57 20
|
||||
.FSTR FSTR?77,"! " ;56 57
|
||||
.FSTR FSTR?78,"too " ;56 29
|
||||
.FSTR FSTR?79,"my " ;55 56
|
||||
.FSTR FSTR?80,"dinner " ;55 12
|
||||
.FSTR FSTR?81,"around " ;55 12
|
||||
.FSTR FSTR?82,"want " ;54 19
|
||||
.FSTR FSTR?83,"time " ;54 19
|
||||
.FSTR FSTR?84,"look " ;54 19
|
||||
.FSTR FSTR?85,"Lionel " ;54 10
|
||||
.FSTR FSTR?86,"door" ;52 27
|
||||
.FSTR FSTR?87,"young " ;52 14
|
||||
.FSTR FSTR?88,"white " ;52 14
|
||||
.FSTR FSTR?89,"think " ;52 14
|
||||
.FSTR FSTR?90,"there " ;52 14
|
||||
.FSTR FSTR?91,"seems " ;52 14
|
||||
.FSTR FSTR?92,"right " ;52 14
|
||||
.FSTR FSTR?93,"never " ;52 14
|
||||
.FSTR FSTR?94,"dinner" ;52 14
|
||||
.FSTR FSTR?95,"What " ;52 14
|
||||
.FSTR FSTR?96,"out " ;50 26
|
||||
|
||||
|
||||
;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
|
823
m5pur.zap
Normal file
823
m5pur.zap
Normal file
|
@ -0,0 +1,823 @@
|
|||
|
||||
|
||||
; PURE TABLES ARE DEFINED HERE
|
||||
|
||||
PURTBL::
|
||||
|
||||
PT?104::
|
||||
T?QWP1-TABLE:: .TABLE
|
||||
25
|
||||
W?AREN
|
||||
W?COULDN
|
||||
W?DIDN
|
||||
W?DON
|
||||
W?HASN
|
||||
W?HAVEN
|
||||
W?HE
|
||||
W?I
|
||||
W?I
|
||||
W?I
|
||||
W?I
|
||||
W?ISN
|
||||
W?IT
|
||||
W?LET
|
||||
W?SHE
|
||||
W?SHOULD
|
||||
W?THAT
|
||||
W?THEY
|
||||
W?WASN
|
||||
W?WE
|
||||
W?WE
|
||||
W?WEREN
|
||||
W?WON
|
||||
W?WOULDN
|
||||
W?YOU
|
||||
.ENDT
|
||||
|
||||
PT?204::
|
||||
T?QWP2-TABLE:: .TABLE
|
||||
25
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?S
|
||||
W?D
|
||||
W?LL
|
||||
W?M
|
||||
W?VE
|
||||
W?T
|
||||
W?S
|
||||
W?S
|
||||
W?S
|
||||
W?T
|
||||
W?S
|
||||
W?RE
|
||||
W?T
|
||||
W?RE
|
||||
W?LL
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?RE
|
||||
.ENDT
|
||||
|
||||
PT?304::
|
||||
T?QUESTION-WORD-TABLE:: .TABLE
|
||||
21
|
||||
W?AM
|
||||
W?ARE
|
||||
W?CAN
|
||||
W?COULD
|
||||
W?DID
|
||||
W?DO
|
||||
W?HAS
|
||||
W?HAVE
|
||||
W?HOW
|
||||
W?IS
|
||||
W?LIKE
|
||||
W?MAY
|
||||
W?SHALL
|
||||
W?SHOULD
|
||||
W?WANT
|
||||
W?WAS
|
||||
W?WERE
|
||||
W?WHEN
|
||||
W?WHICH
|
||||
W?WHY
|
||||
W?WOULD
|
||||
.ENDT
|
||||
|
||||
PT?404::
|
||||
T?NUMBER-WORD-TABLE:: .TABLE
|
||||
20
|
||||
W?ZERO
|
||||
W?ONE
|
||||
W?TWO
|
||||
W?THREE
|
||||
W?FOUR
|
||||
W?FIVE
|
||||
W?SIX
|
||||
W?SEVEN
|
||||
W?EIGHT
|
||||
W?NINE
|
||||
W?TEN
|
||||
W?ELEVEN
|
||||
W?TWELVE
|
||||
W?TWENTY
|
||||
W?THIRTY
|
||||
W?FORTY
|
||||
W?FIFTY
|
||||
W?SIXTY
|
||||
W?HUNDRED
|
||||
W?THOUSAND
|
||||
.ENDT
|
||||
|
||||
PT?504::
|
||||
T?NAUGHTY-WORD-TABLE:: .TABLE
|
||||
25
|
||||
W?ASSHOLE
|
||||
W?BASTARD
|
||||
W?BITCH
|
||||
W?COCK
|
||||
W?COCKSUCKER
|
||||
W?CRAP
|
||||
W?CUNT
|
||||
W?CURSE
|
||||
W?CUSS
|
||||
W?DAMN
|
||||
W?DAMNED
|
||||
W?DARN
|
||||
W?FUCK
|
||||
W?FUCKED
|
||||
W?FUCKING
|
||||
W?FUDGE
|
||||
W?GODDAMN
|
||||
W?HELL
|
||||
W?PEE
|
||||
W?PISS
|
||||
W?SCREW
|
||||
W?SHIT
|
||||
W?SHITHEAD
|
||||
W?SUCK
|
||||
W?SUCKS
|
||||
.ENDT
|
||||
|
||||
PT?105::
|
||||
T?TRAILS-ALONG:: .TABLE
|
||||
4
|
||||
STR?50
|
||||
STR?51
|
||||
STR?52
|
||||
STR?53
|
||||
.ENDT
|
||||
|
||||
PT?205::
|
||||
T?HO-HUM:: .TABLE
|
||||
2
|
||||
STR?59
|
||||
STR?60
|
||||
.ENDT
|
||||
|
||||
PT?305::
|
||||
T?WHO-CARES-VERB:: .TABLE
|
||||
4
|
||||
STR?5
|
||||
STR?5
|
||||
STR?71
|
||||
STR?72
|
||||
.ENDT
|
||||
|
||||
PT?405::
|
||||
T?WHO-CARES-TBL:: .TABLE
|
||||
4
|
||||
STR?73
|
||||
STR?74
|
||||
STR?75
|
||||
STR?76
|
||||
.ENDT
|
||||
|
||||
PT?106::
|
||||
T?MAIN-LINE:: .TABLE
|
||||
0
|
||||
GARDEN
|
||||
P?OUT
|
||||
P?IN
|
||||
MAZE
|
||||
P?OUT
|
||||
P?EAST
|
||||
COURTYARD
|
||||
P?SOUTH
|
||||
P?NORTH
|
||||
FOYER
|
||||
P?SOUTH
|
||||
P?NORTH
|
||||
GREAT-HALL
|
||||
P?WEST
|
||||
P?EAST
|
||||
CORR-1
|
||||
P?NORTH
|
||||
P?SOUTH
|
||||
DINING-ROOM
|
||||
P?IN
|
||||
P?OUT
|
||||
BACKSTAIRS
|
||||
P?DOWN
|
||||
P?UP
|
||||
KITCHEN
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?206::
|
||||
T?BED-LINE:: .TABLE
|
||||
0
|
||||
WEST-HALL
|
||||
P?SOUTH
|
||||
P?NW
|
||||
GALLERY
|
||||
P?NE
|
||||
P?SOUTH
|
||||
EAST-HALL
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?306::
|
||||
T?TOWER-LINE:: .TABLE
|
||||
0
|
||||
LOVER-PATH
|
||||
P?IN
|
||||
P?NW
|
||||
DUNGEON
|
||||
P?EAST
|
||||
P?WEST
|
||||
BASEMENT
|
||||
P?UP
|
||||
P?DOWN
|
||||
JUNCTION
|
||||
P?WEST
|
||||
P?EAST
|
||||
OLD-GREAT-HALL
|
||||
P?UP
|
||||
P?DOWN
|
||||
CORR-2
|
||||
P?UP
|
||||
P?DOWN
|
||||
CORR-3
|
||||
P?UP
|
||||
P?DOWN
|
||||
DECK
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?406::
|
||||
T?PASS-LINE:: .TABLE
|
||||
0
|
||||
SECRET-LANDING-JACK
|
||||
P?DOWN
|
||||
P?WEST
|
||||
PASSAGE-1
|
||||
P?UP
|
||||
P?DOWN
|
||||
SECRET-LANDING-TAM
|
||||
P?NORTH
|
||||
P?SOUTH
|
||||
SECRET-LANDING-LIB
|
||||
P?EAST
|
||||
P?WEST
|
||||
SECRET-IAN-PASSAGE
|
||||
P?EAST
|
||||
P?WEST
|
||||
HYDE-CLOSET
|
||||
P?EAST
|
||||
P?WEST
|
||||
MIDPOINT
|
||||
P?EAST
|
||||
P?WEST
|
||||
WENDISH-CORNER
|
||||
P?EAST
|
||||
P?NORTH
|
||||
IRIS-CLOSET
|
||||
P?SOUTH
|
||||
P?NORTH
|
||||
YOUR-CLOSET
|
||||
P?DOWN
|
||||
P?UP
|
||||
DRAWING-CLOSET
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?506::
|
||||
T?TRANSFER-TABLE:: .TABLE
|
||||
0
|
||||
0
|
||||
GREAT-HALL
|
||||
GALLERY
|
||||
CORR-1
|
||||
JUNCTION
|
||||
GREAT-HALL
|
||||
GALLERY
|
||||
GALLERY
|
||||
GREAT-HALL
|
||||
0
|
||||
0
|
||||
GALLERY
|
||||
GREAT-HALL
|
||||
YOUR-ROOM
|
||||
YOUR-CLOSET
|
||||
JUNCTION
|
||||
CORR-1
|
||||
JUNCTION
|
||||
CORR-1
|
||||
0
|
||||
0
|
||||
LIBRARY
|
||||
SECRET-LANDING-LIB
|
||||
YOUR-CLOSET
|
||||
YOUR-ROOM
|
||||
YOUR-CLOSET
|
||||
YOUR-ROOM
|
||||
SECRET-LANDING-LIB
|
||||
LIBRARY
|
||||
0
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?606::
|
||||
T?DIR-STRINGS:: .TABLE
|
||||
P?SOUTH
|
||||
STR?148
|
||||
P?NORTH
|
||||
STR?149
|
||||
P?EAST
|
||||
STR?150
|
||||
P?WEST
|
||||
STR?151
|
||||
P?UP
|
||||
STR?152
|
||||
P?DOWN
|
||||
STR?153
|
||||
P?IN
|
||||
STR?154
|
||||
P?OUT
|
||||
STR?155
|
||||
P?SE
|
||||
STR?156
|
||||
P?NW
|
||||
STR?157
|
||||
P?SW
|
||||
STR?158
|
||||
P?NE
|
||||
STR?159
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?706::
|
||||
T?GOAL-TABLES:: .TABLE
|
||||
T?206
|
||||
T?306
|
||||
T?406
|
||||
T?506
|
||||
T?606
|
||||
T?706
|
||||
T?806
|
||||
T?906
|
||||
T?1006
|
||||
T?1106
|
||||
T?1206
|
||||
.ENDT
|
||||
|
||||
PT?806::
|
||||
T?TOUR-PATH:: .TABLE
|
||||
FOYER
|
||||
DRAWING-ROOM
|
||||
GREAT-HALL
|
||||
GALLERY
|
||||
YOUR-ROOM
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?906::
|
||||
T?SEARCH-ROOMS:: .TABLE
|
||||
19
|
||||
OLD-GREAT-HALL
|
||||
BASEMENT
|
||||
STUDY
|
||||
LIBRARY
|
||||
OFFICE
|
||||
LUMBER-ROOM
|
||||
CHAPEL
|
||||
GAME-ROOM
|
||||
DECK
|
||||
COURTYARD
|
||||
MAZE
|
||||
GARDEN
|
||||
GALLERY
|
||||
FOYER
|
||||
DRAWING-ROOM
|
||||
GREAT-HALL
|
||||
SITTING-ROOM
|
||||
DINING-ROOM
|
||||
KITCHEN
|
||||
.ENDT
|
||||
|
||||
PT?107::
|
||||
T?QUESTIONERS:: .TABLE
|
||||
.BYTE 9
|
||||
.BYTE FRIEND
|
||||
.BYTE BUTLER
|
||||
.BYTE BUTLER
|
||||
.BYTE DOCTOR
|
||||
.BYTE OFFICER
|
||||
.BYTE BUTLER
|
||||
.BYTE DEB
|
||||
.BYTE OFFICER
|
||||
.BYTE BUTLER
|
||||
.ENDT
|
||||
|
||||
PT?207::
|
||||
T?CHARACTER-TABLE:: .TABLE
|
||||
PLAYER
|
||||
FRIEND
|
||||
LORD
|
||||
PAINTER
|
||||
DOCTOR
|
||||
OFFICER
|
||||
DEALER
|
||||
DEB
|
||||
BUTLER
|
||||
LOVER
|
||||
GHOST-NEW
|
||||
COUSIN
|
||||
MAID
|
||||
DRAGON
|
||||
BUFFALO-HEAD
|
||||
RHINO-HEAD
|
||||
GHOST-OLD
|
||||
.ENDT
|
||||
|
||||
PT?307::
|
||||
T?GUEST-TABLE:: .TABLE
|
||||
6
|
||||
FRIEND
|
||||
DEB
|
||||
OFFICER
|
||||
DOCTOR
|
||||
DEALER
|
||||
PAINTER
|
||||
.ENDT
|
||||
|
||||
PT?407::
|
||||
T?CHAR-ROOM-TABLE:: .TABLE
|
||||
15
|
||||
YOUR-ROOM
|
||||
TAMARA-ROOM
|
||||
JACK-ROOM
|
||||
VIVIEN-ROOM
|
||||
WENDISH-ROOM
|
||||
IAN-ROOM
|
||||
HYDE-ROOM
|
||||
IRIS-ROOM
|
||||
KITCHEN
|
||||
LIMBO
|
||||
LIMBO
|
||||
DRAWING-ROOM
|
||||
LIBRARY
|
||||
SITTING-ROOM
|
||||
BACKSTAIRS
|
||||
.ENDT
|
||||
|
||||
PT?507::
|
||||
T?LDESC-STRINGS:: .TABLE
|
||||
25
|
||||
STR?197
|
||||
STR?198
|
||||
STR?199
|
||||
STR?200
|
||||
0
|
||||
STR?201
|
||||
STR?202
|
||||
STR?203
|
||||
STR?204
|
||||
STR?205
|
||||
STR?206
|
||||
STR?207
|
||||
STR?208
|
||||
STR?145
|
||||
0
|
||||
STR?209
|
||||
STR?210
|
||||
STR?211
|
||||
STR?146
|
||||
STR?212
|
||||
STR?213
|
||||
STR?214
|
||||
STR?215
|
||||
STR?216
|
||||
STR?217
|
||||
.ENDT
|
||||
|
||||
PT?108::
|
||||
PT?208:: .TABLE
|
||||
3
|
||||
W?DOOR
|
||||
W?CAR
|
||||
CAR-DOOR-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?308:: .TABLE
|
||||
12
|
||||
W?RADIO
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
W?ARMS
|
||||
W?TRESYLLIAN
|
||||
BROCHURE-PSEUDO
|
||||
W?CREST
|
||||
W?TRESYLLIAN
|
||||
BROCHURE-PSEUDO
|
||||
W?CARVING
|
||||
W?WOOD
|
||||
BROCHURE-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?408::
|
||||
T?PIANO-PIECES:: .TABLE
|
||||
STR?233
|
||||
STR?234
|
||||
STR?235
|
||||
STR?236
|
||||
STR?237
|
||||
STR?238
|
||||
STR?239
|
||||
STR?240
|
||||
.ENDT
|
||||
|
||||
PT?508:: .TABLE
|
||||
12
|
||||
W?VASE
|
||||
W?PORCEL
|
||||
BROCHURE-PSEUDO
|
||||
W?VASES
|
||||
W?PORCEL
|
||||
BROCHURE-PSEUDO
|
||||
W?SHELF
|
||||
0
|
||||
BROCHURE-PSEUDO
|
||||
W?SHELVES
|
||||
0
|
||||
BROCHURE-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?608:: .TABLE
|
||||
3
|
||||
W?SINK
|
||||
W?KITCHEN
|
||||
RANDOM-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?708:: .TABLE
|
||||
18
|
||||
W?BATH
|
||||
W?MY
|
||||
BATH-PSEUDO
|
||||
W?TUB
|
||||
W?BATH
|
||||
BATH-PSEUDO
|
||||
W?BATHTUB
|
||||
W?MY
|
||||
BATH-PSEUDO
|
||||
W?TUB
|
||||
W?MY
|
||||
BATH-PSEUDO
|
||||
W?TOILET
|
||||
W?MY
|
||||
TOILET-PSEUDO
|
||||
W?SINK
|
||||
W?MY
|
||||
RANDOM-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?808:: .TABLE
|
||||
6
|
||||
W?BED
|
||||
W?IRIS'S
|
||||
BED-PSEUDO
|
||||
W?BED
|
||||
W?HER
|
||||
BED-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?908:: .TABLE
|
||||
6
|
||||
W?BED
|
||||
W?DOC'S
|
||||
BED-PSEUDO
|
||||
W?BED
|
||||
W?HIS
|
||||
BED-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?1008:: .TABLE
|
||||
12
|
||||
W?BOOK
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
W?BOOKS
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
W?BED
|
||||
W?VIV'S
|
||||
BED-PSEUDO
|
||||
W?BED
|
||||
W?HER
|
||||
BED-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?1108:: .TABLE
|
||||
6
|
||||
W?BED
|
||||
W?IAN'S
|
||||
BED-PSEUDO
|
||||
W?BED
|
||||
W?HIS
|
||||
BED-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?1208:: .TABLE
|
||||
6
|
||||
W?BED
|
||||
W?HYDE'S
|
||||
BED-PSEUDO
|
||||
W?BED
|
||||
W?HIS
|
||||
BED-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?109:: .TABLE
|
||||
3
|
||||
W?GEAR
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?209:: .TABLE
|
||||
15
|
||||
W?BED
|
||||
W?JACK'S
|
||||
BED-PSEUDO
|
||||
W?BED
|
||||
W?HIS
|
||||
BED-PSEUDO
|
||||
W?TV
|
||||
W?COLOR
|
||||
TV-PSEUDO
|
||||
W?TELEVI
|
||||
W?COLOR
|
||||
TV-PSEUDO
|
||||
W?CHAIR
|
||||
W?OVERST
|
||||
RANDOM-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?309:: .TABLE
|
||||
6
|
||||
W?PRINT
|
||||
W?HUNTING
|
||||
RANDOM-PSEUDO
|
||||
W?PRINTS
|
||||
W?HUNTING
|
||||
RANDOM-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?409:: .TABLE
|
||||
3
|
||||
W?STOOL
|
||||
W?TALL
|
||||
RANDOM-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?509:: .TABLE
|
||||
6
|
||||
W?KIT
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
W?MIRROR
|
||||
W?HAND
|
||||
DRESSING-MIRROR-F
|
||||
.ENDT
|
||||
|
||||
PT?609:: .TABLE
|
||||
9
|
||||
W?CAGE
|
||||
W?ORNATE
|
||||
CAGE-PSEUDO
|
||||
W?CAGE
|
||||
W?BIRD
|
||||
CAGE-PSEUDO
|
||||
W?HORSE
|
||||
W?HOBBY
|
||||
RANDOM-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?709:: .TABLE
|
||||
15
|
||||
W?ALTAR
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
W?PULPIT
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
W?FONT
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
W?PEW
|
||||
W?FAMILY
|
||||
RANDOM-PSEUDO
|
||||
W?PEWS
|
||||
W?FAMILY
|
||||
RANDOM-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?809:: .TABLE
|
||||
24
|
||||
W?TABLE
|
||||
W?CARD
|
||||
BILLIARD-PSEUDO
|
||||
W?TABLE
|
||||
W?BILLIARD
|
||||
BILLIARD-PSEUDO
|
||||
W?RACK
|
||||
W?CUE
|
||||
RANDOM-PSEUDO
|
||||
W?CUE
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
W?RACK
|
||||
W?GUN
|
||||
RANDOM-PSEUDO
|
||||
W?GUN
|
||||
0
|
||||
RANDOM-PSEUDO
|
||||
W?TRAY
|
||||
W?ASH
|
||||
RANDOM-PSEUDO
|
||||
W?TRAYS
|
||||
W?ASH
|
||||
RANDOM-PSEUDO
|
||||
.ENDT
|
||||
|
||||
PT?111::
|
||||
T?COR-1:: .TABLE
|
||||
P?EAST
|
||||
P?WEST
|
||||
CORR-1
|
||||
JUNCTION
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?211::
|
||||
T?COR-2:: .TABLE
|
||||
P?NORTH
|
||||
P?SOUTH
|
||||
GALLERY-CORNER
|
||||
GALLERY
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?311::
|
||||
T?COR-4:: .TABLE
|
||||
P?UP
|
||||
P?DOWN
|
||||
LUMBER-ROOM
|
||||
TAMARA-ROOM
|
||||
0
|
||||
.ENDT
|
||||
|
||||
PT?112::
|
||||
T?WING-STAIRS:: .TABLE
|
||||
3
|
||||
KITCHEN
|
||||
GREAT-HALL
|
||||
GALLERY
|
||||
.ENDT
|
||||
|
||||
PT?212::
|
||||
T?TOWER-STAIRS:: .TABLE
|
||||
4
|
||||
BASEMENT
|
||||
OLD-GREAT-HALL
|
||||
CORR-2
|
||||
CORR-3
|
||||
.ENDT
|
||||
|
||||
PT?113::
|
||||
T?COLOR-WORDS:: .TABLE
|
||||
4
|
||||
W?YELLOW
|
||||
W?RED
|
||||
W?BLUE
|
||||
W?GREEN
|
||||
.ENDT
|
||||
|
||||
PT?213::
|
||||
T?COLOR-ADJS:: .TABLE
|
||||
4
|
||||
A?YELLOW
|
||||
A?RED
|
||||
A?BLUE
|
||||
A?GREEN
|
||||
.ENDT
|
||||
|
||||
PT?313::
|
||||
T?COLOR-LETTERS:: .TABLE
|
||||
4
|
||||
121
|
||||
114
|
||||
98
|
||||
103
|
||||
.ENDT
|
||||
|
||||
PURTND::
|
||||
.ENDI
|
309
m5str.zap
Normal file
309
m5str.zap
Normal file
|
@ -0,0 +1,309 @@
|
|||
|
||||
|
||||
; STRINGS ARE DEFINED HERE
|
||||
|
||||
STRBEG::
|
||||
|
||||
.GSTR STR?14,"PRSO"
|
||||
.GSTR STR?25,"Step outside and say that!"
|
||||
.GSTR STR?52," stays at your side."
|
||||
.GSTR STR?97,"dressed"
|
||||
.GSTR STR?176,"""I won't say what I think of her, but it rhymes with 'rich.'"""
|
||||
.GSTR STR?250," a bunch of nasty-looking instruments"
|
||||
.GSTR STR?259,"swing"
|
||||
.GSTR STR?12,"Preaction"
|
||||
.GSTR STR?44,"turn off"
|
||||
.GSTR STR?45,"turn on"
|
||||
.GSTR STR?90,"a sink"
|
||||
.GSTR STR?132,"reach"
|
||||
.GSTR STR?260,"Lord Jack's private study has rich mahogany furniture and hunting prints on the walls."
|
||||
.GSTR STR?48,"extraordinary"
|
||||
.GSTR STR?88,"attack"
|
||||
.GSTR STR?107," Greet"
|
||||
.GSTR STR?147,"too sleepy to listen"
|
||||
.GSTR STR?155,"outer"
|
||||
.GSTR STR?189," glasses for closeup art work"
|
||||
.GSTR STR?212,"ignoring you"
|
||||
.GSTR STR?265,"too small"
|
||||
.GSTR STR?247," remember that you're not dressed"
|
||||
.GSTR STR?264,"rusted shut"
|
||||
.GSTR STR?272,"A ladder leads down, a passage leads east, and a walkway leads "
|
||||
.GSTR STR?65,"off"
|
||||
.GSTR STR?115,"look inside"
|
||||
.GSTR STR?116,"look outside"
|
||||
.GSTR STR?117,"look through"
|
||||
.GSTR STR?118,"look up"
|
||||
.GSTR STR?198,"sipping sherry"
|
||||
.GSTR STR?162," the bedpost"
|
||||
.GSTR STR?227,"Tall dark hedges surround you like walls, with walkways in all directions."
|
||||
.GSTR STR?245," the remains of dinner"
|
||||
.GSTR STR?270," the clapper"
|
||||
.GSTR STR?276," the lips of the clasp are sprung apart"
|
||||
.GSTR STR?16," (something).]
|
||||
"
|
||||
.GSTR STR?43,"pick up"
|
||||
.GSTR STR?46,"unusual"
|
||||
.GSTR STR?111,"[You didn't say w"
|
||||
.GSTR STR?161,"turn"
|
||||
.GSTR STR?238,"sex"
|
||||
.GSTR STR?23,"You ought to be ashamed of yourself!"
|
||||
.GSTR STR?94,"dance"
|
||||
.GSTR STR?139,"remove"
|
||||
.GSTR STR?173,"Are there more girl sleuths like you in the States, my dear?"
|
||||
.GSTR STR?202,"sobbing quietly"
|
||||
.GSTR STR?236,"quar"
|
||||
.GSTR STR?278,"on it"
|
||||
.GSTR STR?21,"What charming language!"
|
||||
.GSTR STR?33,"begin"
|
||||
.GSTR STR?47,"interesting"
|
||||
.GSTR STR?73,"n't appear interested"
|
||||
.GSTR STR?81,"What a concept!"
|
||||
.GSTR STR?127,"ou stop searching"
|
||||
.GSTR STR?192," discovered a strand of fabric from her gown, snagged on a jagged bit of brickwork."
|
||||
.GSTR STR?243,"This room is impeccably furnished, but it's too formal for relaxing.
|
||||
"
|
||||
.GSTR STR?244,"The clockwork timer prevents it.
|
||||
"
|
||||
.GSTR STR?246,"You peek in and see nothing interesting in there."
|
||||
.GSTR STR?257,"Which direction do you want to go in?"
|
||||
.GSTR STR?31,"noun"
|
||||
.GSTR STR?92,"hurt"
|
||||
.GSTR STR?223,"The dark stone turrets rise toward the misty sky.
|
||||
"
|
||||
.GSTR STR?54,"feel a cold shiver run down your back."
|
||||
.GSTR STR?57,"feel a cobweb brush your face."
|
||||
.GSTR STR?74,"n't care"
|
||||
.GSTR STR?125,"Rubbing"
|
||||
.GSTR STR?138,"Before you unfasten even the first button, you decide that this isn't a good place to undress.
|
||||
"
|
||||
.GSTR STR?151,"west"
|
||||
.GSTR STR?9,"Not Here"
|
||||
.GSTR STR?18,"FIND"
|
||||
.GSTR STR?39,"identified the ghost"
|
||||
.GSTR STR?140,"Reached"
|
||||
.GSTR STR?150,"east"
|
||||
.GSTR STR?178,"Tresyllian"
|
||||
.GSTR STR?197,"dancing"
|
||||
.GSTR STR?41,"drive"
|
||||
.GSTR STR?105,"refuse"
|
||||
.GSTR STR?112,"You think it over. There's no need to get violent.
|
||||
"
|
||||
.GSTR STR?172,"Are you one of those brutally fascinating American private eyes?"
|
||||
.GSTR STR?182,"The girl is a stylish London deb type. Her dark hair is cut boyishly short. Her height and figure would make her a perfect high-fashion model."
|
||||
.GSTR STR?195,"The ghost only cackles in response.
|
||||
"
|
||||
.GSTR STR?268,"The game room has a billiard table and card table, with various chairs and standing ash trays. On the wall are a cue rack, gun rack, and mounted heads of a rhino and a cape buffalo."
|
||||
.GSTR STR?32,"[I assume you mean:"
|
||||
.GSTR STR?77,"That's ridiculous!"
|
||||
.GSTR STR?84,"look"
|
||||
.GSTR STR?149,"north"
|
||||
.GSTR STR?157,"northwest"
|
||||
.GSTR STR?159,"northeast"
|
||||
.GSTR STR?186,"examining objects"
|
||||
.GSTR STR?255,"That's not the way to go up from here."
|
||||
.GSTR STR?37,"verbose"
|
||||
.GSTR STR?82,"Like, totally grody, for sure."
|
||||
.GSTR STR?110,"kill"
|
||||
.GSTR STR?124,"in"
|
||||
.GSTR STR?229," an assortment of umbrellas"
|
||||
.GSTR STR?254," an assortment of wine"
|
||||
.GSTR STR?262," an assortment of jewelry"
|
||||
.GSTR STR?60," is a waste of time."
|
||||
.GSTR STR?120,"Pushing"
|
||||
.GSTR STR?263,"The jewel is missing from its setting!"
|
||||
.GSTR STR?104,"here"
|
||||
.GSTR STR?133," to"
|
||||
.GSTR STR?153,"downstairs"
|
||||
.GSTR STR?208,"lounging and chatting"
|
||||
.GSTR STR?10,"Actor"
|
||||
.GSTR STR?19,"ask about"
|
||||
.GSTR STR?50," walks a few steps behind."
|
||||
.GSTR STR?53," walks along with you."
|
||||
.GSTR STR?87," Ask"
|
||||
.GSTR STR?122," in"
|
||||
.GSTR STR?174,"You've seen that room, have you not?"
|
||||
.GSTR STR?222,"""Yes, the oldest parts of the castle hold ancient secrets, some fascinating and some not."""
|
||||
.GSTR STR?35,"superbrief"
|
||||
.GSTR STR?136,"(The castle is south of here.)
|
||||
"
|
||||
.GSTR STR?214,"playing the piano"
|
||||
.GSTR STR?249,"lift"
|
||||
.GSTR STR?1,"is"
|
||||
.GSTR STR?22,"Computers aren't impressed by naughty words!"
|
||||
.GSTR STR?24,"Hey, save that talk for the locker room!"
|
||||
.GSTR STR?67,"locked"
|
||||
.GSTR STR?91,"get in"
|
||||
.GSTR STR?113,"standing up"
|
||||
.GSTR STR?160,"Lionel's voice"
|
||||
.GSTR STR?163,"stand up"
|
||||
.GSTR STR?240,"oc"
|
||||
.GSTR STR?271," into darkness.
|
||||
"
|
||||
.GSTR STR?75," out a loud yawn"
|
||||
.GSTR STR?179," a glimpse of a whitish figure from the rear"
|
||||
.GSTR STR?232,"tug at"
|
||||
.GSTR STR?280,"It's a strand of shiny black pearls, the rarest and most precious kind in the world!"
|
||||
.GSTR STR?61,"closed"
|
||||
.GSTR STR?213,"searching"
|
||||
.GSTR STR?273,"The passage leads east and west into darkness.
|
||||
"
|
||||
.GSTR STR?4,"empti"
|
||||
.GSTR STR?15,"Container"
|
||||
.GSTR STR?66,"open"
|
||||
.GSTR STR?148,"south"
|
||||
.GSTR STR?156,"southeast"
|
||||
.GSTR STR?158,"southwest"
|
||||
.GSTR STR?185,"""Dear me,"" he giggles nervously, ""I'm afraid you've found out my little secret! A lady friend, you see, begged me to shave off my mustache. I did so just before coming to Cornwall. But then I felt so naked without it, that I bought a hair piece until I could grow back my own.""
|
||||
"
|
||||
.GSTR STR?230," introduces "
|
||||
.GSTR STR?261,"move"
|
||||
.GSTR STR?17,"locate"
|
||||
.GSTR STR?68,"unlocked"
|
||||
.GSTR STR?119,"unlock"
|
||||
.GSTR STR?142,"appear"
|
||||
.GSTR STR?203,"poised to attack"
|
||||
.GSTR STR?204,"waiting patiently"
|
||||
.GSTR STR?6,"kiss"
|
||||
.GSTR STR?26,"And so's your old man!"
|
||||
.GSTR STR?27,"I beg your pardon?"
|
||||
.GSTR STR?252,"The stairs curve up to the right.
|
||||
"
|
||||
.GSTR STR?253,"The stairs curve down to the left.
|
||||
"
|
||||
.GSTR STR?55,"hear footsteps behind you, but no one is there."
|
||||
.GSTR STR?56,"hear a door creak open... or was it the wind?"
|
||||
.GSTR STR?58,"hear a scurrying sound underfoot."
|
||||
.GSTR STR?69,"angry"
|
||||
.GSTR STR?123,"There's not enough room.
|
||||
"
|
||||
.GSTR STR?187,"studying colors"
|
||||
.GSTR STR?226,"The thickening mist has made it too slippery.
|
||||
"
|
||||
.GSTR STR?248,"There are bedrooms to the east and west. The gallery lies south."
|
||||
.GSTR STR?258,"There's a telescope mounted on a swinging wall bracket near a small uncurtained window."
|
||||
.GSTR STR?135,"not asleep"
|
||||
.GSTR STR?169,"Is it a case that brings you to Cornwall?"
|
||||
.GSTR STR?2,"has"
|
||||
.GSTR STR?29,"AGAIN"
|
||||
.GSTR STR?38,"arrested the villain"
|
||||
.GSTR STR?85,"arrested"
|
||||
.GSTR STR?102,"bang"
|
||||
.GSTR STR?219,"""I can't say that I ever noticed her much.""
|
||||
"
|
||||
.GSTR STR?137,"move around within"
|
||||
.GSTR STR?154,"inner"
|
||||
.GSTR STR?167,"Do you wish me to do so before I leave?"
|
||||
.GSTR STR?177,"surveying his domain"
|
||||
.GSTR STR?196,"long blonde hair"
|
||||
.GSTR STR?36,"brief"
|
||||
.GSTR STR?76," impatient"
|
||||
.GSTR STR?143," gets in your way"
|
||||
.GSTR STR?188,"She is a tall, tawny-haired woman of vintage beauty and uncertain age."
|
||||
.GSTR STR?206,"preparing dinner"
|
||||
.GSTR STR?210,"preparing to leave"
|
||||
.GSTR STR?215,"following you"
|
||||
.GSTR STR?224,"leave"
|
||||
.GSTR STR?225,"do that to"
|
||||
.GSTR STR?64,"on"
|
||||
.GSTR STR?134,"""You're quite welcome, I'm sure.""
|
||||
"
|
||||
.GSTR STR?164,"looking at you hopefully"
|
||||
.GSTR STR?168,"Am I right in assuming that you are the well-known young American detective?"
|
||||
.GSTR STR?181,"looking coy"
|
||||
.GSTR STR?183,"looking debonair"
|
||||
.GSTR STR?184,"looking muddled"
|
||||
.GSTR STR?190,"awaiting orders"
|
||||
.GSTR STR?193,"Can you see where I mean?"
|
||||
.GSTR STR?200,"looking at you with suspicion"
|
||||
.GSTR STR?217,"looking sleepy"
|
||||
.GSTR STR?256,"start"
|
||||
.GSTR STR?275,"It says, ""JUST PRESS THE BUTTON."""
|
||||
.GSTR STR?78,"Surely you jest."
|
||||
.GSTR STR?93,"too busy"
|
||||
.GSTR STR?242,"play"
|
||||
.GSTR STR?277,"too big"
|
||||
.GSTR STR?5,"do"
|
||||
.GSTR STR?7,"push"
|
||||
.GSTR STR?59," won't help any."
|
||||
.GSTR STR?89,"Ahhh! How refreshing!
|
||||
"
|
||||
.GSTR STR?108," Apologize to"
|
||||
.GSTR STR?51," trails along."
|
||||
.GSTR STR?70,"peeved"
|
||||
.GSTR STR?131,"smell"
|
||||
.GSTR STR?199,"watching you"
|
||||
.GSTR STR?20,"TELL ME ABOUT"
|
||||
.GSTR STR?106,"accept"
|
||||
.GSTR STR?128,"shoot"
|
||||
.GSTR STR?152,"upstairs"
|
||||
.GSTR STR?211,"deep in thought"
|
||||
.GSTR STR?96," Wear"
|
||||
.GSTR STR?103,"too far away"
|
||||
.GSTR STR?130," Show"
|
||||
.GSTR STR?141,"Enroute"
|
||||
.GSTR STR?201,"walking along"
|
||||
.GSTR STR?231,"in this room"
|
||||
.GSTR STR?234,"duet"
|
||||
.GSTR STR?266,"It portrays, in vividly glowing colors, Eve tempting Adam with the forbidden apple in the Garden of Eden."
|
||||
.GSTR STR?63,"try to enter"
|
||||
.GSTR STR?80,"Not bloody likely."
|
||||
.GSTR STR?175,"hug"
|
||||
.GSTR STR?3,"tri"
|
||||
.GSTR STR?100,"empty"
|
||||
.GSTR STR?146,"out cold"
|
||||
.GSTR STR?269,"too heavy"
|
||||
.GSTR STR?11,"Room (M-BEG)"
|
||||
.GSTR STR?86," famous young detective"
|
||||
.GSTR STR?121,"being worn"
|
||||
.GSTR STR?170,"Have you a theory about the castle ghost?"
|
||||
.GSTR STR?30,"verb"
|
||||
.GSTR STR?79,"Don't be silly."
|
||||
.GSTR STR?98,"on the floor"
|
||||
.GSTR STR?99,"on the ground"
|
||||
.GSTR STR?114,"a way to lock"
|
||||
.GSTR STR?220,"""I'm shocked!""
|
||||
"
|
||||
.GSTR STR?228," dark water"
|
||||
.GSTR STR?235,"trio"
|
||||
.GSTR STR?237,"quin"
|
||||
.GSTR STR?13,"PRSI"
|
||||
.GSTR STR?28,"OOPS"
|
||||
.GSTR STR?34,"end"
|
||||
.GSTR STR?40,"go"
|
||||
.GSTR STR?71,"let"
|
||||
.GSTR STR?101,"an opening in"
|
||||
.GSTR STR?8,"Impatient"
|
||||
.GSTR STR?83,"You can't be serious!"
|
||||
.GSTR STR?165,"She's a beautiful red-haired young woman of average height."
|
||||
.GSTR STR?221,"""Hmm... That certainly is interesting.""
|
||||
"
|
||||
.GSTR STR?251," Vivien's brushes and thinner"
|
||||
.GSTR STR?49,"special"
|
||||
.GSTR STR?72,"seem"
|
||||
.GSTR STR?144," says hello"
|
||||
.GSTR STR?166,"You did read my letter, and not just give it a hasty glance?"
|
||||
.GSTR STR?191,"He's a short white-haired gentle man, impeccably dressed tonight in white gloves and tails."
|
||||
.GSTR STR?207,"listening to you"
|
||||
.GSTR STR?209,"listening"
|
||||
.GSTR STR?274," poison dart"
|
||||
.GSTR STR?279,"You don't find anything new there.
|
||||
"
|
||||
.GSTR STR?42,"wait until"
|
||||
.GSTR STR?95,"undressed"
|
||||
.GSTR STR?205,"eating with relish"
|
||||
.GSTR STR?216,"brushing her hair"
|
||||
.GSTR STR?241,"sit"
|
||||
.GSTR STR?62,"take"
|
||||
.GSTR STR?109,"nod"
|
||||
.GSTR STR?145,"asleep"
|
||||
.GSTR STR?180,"""Dashed if I'm going to have my digestion upset by Gladys's whining, the odious little twit!"
|
||||
.GSTR STR?194,"lurking in the shadows"
|
||||
.GSTR STR?218,"smile"
|
||||
.GSTR STR?239,"sep"
|
||||
.GSTR STR?267,"knock"
|
||||
.GSTR STR?126," Say to"
|
||||
.GSTR STR?129," Ask about"
|
||||
.GSTR STR?171,"May I offer one last suggestion?"
|
||||
.GSTR STR?233,"solo"
|
||||
|
||||
.ENDI
|
2
macros.zap
Normal file
2
macros.zap
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
.ENDI
|
349
misc.zap
Normal file
349
misc.zap
Normal file
|
@ -0,0 +1,349 @@
|
|||
|
||||
|
||||
.FUNCT GO
|
||||
START::
|
||||
|
||||
?FCN: CALL V-VERSION
|
||||
CALL INTRO
|
||||
CALL MAIN-LOOP
|
||||
JUMP ?FCN
|
||||
|
||||
|
||||
.FUNCT PRINTT,OBJ
|
||||
EQUAL? OBJ,TURN \?CCL3
|
||||
LESS? 1,P-NUMBER \?CCL3
|
||||
PRINTC 32
|
||||
PRINTN P-NUMBER
|
||||
PRINTI " minutes"
|
||||
RTRUE
|
||||
?CCL3: EQUAL? OBJ,WINDOW \?CCL9
|
||||
PRINTI " the window"
|
||||
RTRUE
|
||||
?CCL9: CALL THE?,OBJ
|
||||
PRINTC 32
|
||||
PRINTD OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT THE?,OBJ
|
||||
FSET? OBJ,NARTICLEBIT /?CND1
|
||||
IN? OBJ,ROOMS /?PRG8
|
||||
FSET? OBJ,SEENBIT \?CCL5
|
||||
?PRG8: PRINTI " the"
|
||||
JUMP ?CND1
|
||||
?CCL5: FSET? OBJ,VOWELBIT \?PRG14
|
||||
PRINTI " an"
|
||||
JUMP ?CND1
|
||||
?PRG14: PRINTI " a"
|
||||
?CND1: FSET OBJ,SEENBIT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT START-SENTENCE,OBJ
|
||||
CALL THIS-IS-IT,OBJ
|
||||
EQUAL? OBJ,PLAYER \?CCL3
|
||||
PRINTI "You"
|
||||
RTRUE
|
||||
?CCL3: EQUAL? OBJ,NIGHTLAMP \?CCL7
|
||||
PRINTI "Your lamp"
|
||||
RTRUE
|
||||
?CCL7: EQUAL? OBJ,LUGGAGE \?CCL11
|
||||
PRINTI "Your luggage"
|
||||
RTRUE
|
||||
?CCL11: EQUAL? OBJ,BED \?CCL15
|
||||
PRINTI "Your bed"
|
||||
RTRUE
|
||||
?CCL15: EQUAL? OBJ,YOUR-COLOR \?CCL19
|
||||
PRINTI "Your favorite color"
|
||||
RTRUE
|
||||
?CCL19: EQUAL? OBJ,YOUR-ROOM \?CCL23
|
||||
PRINTI "Your room"
|
||||
RTRUE
|
||||
?CCL23: EQUAL? OBJ,YOUR-BATHROOM \?CCL27
|
||||
PRINTI "Your bathroom"
|
||||
RTRUE
|
||||
?CCL27: EQUAL? OBJ,YOUR-CLOSET \?CCL31
|
||||
PRINTI "Your secret entrance"
|
||||
RTRUE
|
||||
?CCL31: EQUAL? OBJ,DINNER \?CND1
|
||||
PRINTI "Your dinner"
|
||||
RTRUE
|
||||
?CND1: FSET? OBJ,NARTICLEBIT /?CND37
|
||||
FSET? OBJ,SEENBIT \?CCL41
|
||||
PRINTI "The "
|
||||
JUMP ?CND37
|
||||
?CCL41: FSET? OBJ,VOWELBIT \?PRG49
|
||||
PRINTI "An "
|
||||
JUMP ?CND37
|
||||
?PRG49: PRINTI "A "
|
||||
?CND37: FSET OBJ,SEENBIT
|
||||
PRINTD OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PRINTA,O
|
||||
FSET? O,NARTICLEBIT /?PRG11
|
||||
FSET? O,VOWELBIT \?PRG9
|
||||
PRINTI "an "
|
||||
JUMP ?PRG11
|
||||
?PRG9: PRINTI "a "
|
||||
?PRG11: PRINTD O
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT THIS-IS-IT,OBJ
|
||||
EQUAL? OBJ,FALSE-VALUE,NOT-HERE-OBJECT,PLAYER /TRUE
|
||||
EQUAL? OBJ,INTDIR,GLOBAL-HERE,ROOMS /TRUE
|
||||
EQUAL? PRSA,V?WALK \?CND1
|
||||
EQUAL? OBJ,PRSO /TRUE
|
||||
?CND1: FSET? OBJ,PERSONBIT /?CCL11
|
||||
GET P-ADJW,NOW-PRSI
|
||||
PUT P-IT-WORDS,0,STACK
|
||||
GET P-NAMW,NOW-PRSI
|
||||
PUT P-IT-WORDS,1,STACK
|
||||
FSET IT,TOUCHBIT
|
||||
SET 'P-IT-OBJECT,OBJ
|
||||
RTRUE
|
||||
?CCL11: FSET? OBJ,FEMALE \?CCL13
|
||||
FSET HER,TOUCHBIT
|
||||
SET 'P-HER-OBJECT,OBJ
|
||||
RTRUE
|
||||
?CCL13: FSET HIM,TOUCHBIT
|
||||
SET 'P-HIM-OBJECT,OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT NO-PRONOUN?,OBJ,CAP=0
|
||||
EQUAL? OBJ,PLAYER /FALSE
|
||||
FSET? OBJ,PERSONBIT /?CCL5
|
||||
EQUAL? OBJ,P-IT-OBJECT \?CND1
|
||||
FSET? IT,TOUCHBIT \?CND1
|
||||
RFALSE
|
||||
?CCL5: FSET? OBJ,FEMALE \?CCL11
|
||||
EQUAL? OBJ,P-HER-OBJECT \?CND1
|
||||
FSET? HER,TOUCHBIT \?CND1
|
||||
RFALSE
|
||||
?CCL11: EQUAL? OBJ,P-HIM-OBJECT \?CND1
|
||||
FSET? HIM,TOUCHBIT /FALSE
|
||||
?CND1: ZERO? CAP \?CCL22
|
||||
CALL PRINTT,OBJ
|
||||
JUMP ?CND20
|
||||
?CCL22: EQUAL? CAP,1,TRUE-VALUE \?CND20
|
||||
CALL START-SENTENCE,OBJ
|
||||
?CND20: CALL THIS-IS-IT,OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT HE-SHE-IT,OBJ,CAP=0,VERB=0
|
||||
CALL NO-PRONOUN?,OBJ,CAP
|
||||
ZERO? STACK \?CND1
|
||||
FSET? OBJ,PERSONBIT /?CCL5
|
||||
ZERO? CAP \?CCL8
|
||||
PRINTI " it"
|
||||
JUMP ?CND1
|
||||
?CCL8: EQUAL? CAP,1,TRUE-VALUE \?CND1
|
||||
PRINTI "It"
|
||||
JUMP ?CND1
|
||||
?CCL5: EQUAL? OBJ,PLAYER \?CCL15
|
||||
ZERO? CAP \?CCL18
|
||||
PRINTI " you"
|
||||
JUMP ?CND1
|
||||
?CCL18: EQUAL? CAP,1,TRUE-VALUE \?CND1
|
||||
PRINTI "You"
|
||||
JUMP ?CND1
|
||||
?CCL15: FSET? OBJ,FEMALE \?CCL25
|
||||
ZERO? CAP \?CCL28
|
||||
PRINTI " she"
|
||||
JUMP ?CND1
|
||||
?CCL28: EQUAL? CAP,1,TRUE-VALUE \?CND1
|
||||
PRINTI "She"
|
||||
JUMP ?CND1
|
||||
?CCL25: ZERO? CAP \?CCL36
|
||||
PRINTI " he"
|
||||
JUMP ?CND1
|
||||
?CCL36: EQUAL? CAP,1,TRUE-VALUE \?CND1
|
||||
PRINTI "He"
|
||||
?CND1: ZERO? VERB /FALSE
|
||||
PRINTC 32
|
||||
EQUAL? OBJ,PLAYER \?PRG68
|
||||
EQUAL? VERB,STR?1 \?CCL51
|
||||
PRINTI "are"
|
||||
RTRUE
|
||||
?CCL51: EQUAL? VERB,STR?2 \?CCL55
|
||||
PRINTI "have"
|
||||
RTRUE
|
||||
?CCL55: EQUAL? VERB,STR?3 \?CCL59
|
||||
PRINTI "try"
|
||||
RTRUE
|
||||
?CCL59: EQUAL? VERB,STR?4 \?PRG66
|
||||
PRINTI "empty"
|
||||
RTRUE
|
||||
?PRG66: PRINT VERB
|
||||
RTRUE
|
||||
?PRG68: PRINT VERB
|
||||
EQUAL? VERB,STR?5,STR?6,STR?7 /?PRG74
|
||||
EQUAL? VERB,STR?3,STR?4 \?CND70
|
||||
?PRG74: PRINTC 101
|
||||
?CND70: EQUAL? VERB,STR?1,STR?2 /FALSE
|
||||
PRINTC 115
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT HIM-HER-IT,OBJ,CAP=0,POSSESS?=0
|
||||
CALL NO-PRONOUN?,OBJ,CAP
|
||||
ZERO? STACK /?CCL3
|
||||
ZERO? POSSESS? /TRUE
|
||||
PRINTI "'s"
|
||||
RTRUE
|
||||
?CCL3: FSET? OBJ,PERSONBIT /?CCL9
|
||||
ZERO? CAP \?PRG15
|
||||
PRINTI " it"
|
||||
JUMP ?CND10
|
||||
?PRG15: PRINTI "It"
|
||||
?CND10: ZERO? POSSESS? /TRUE
|
||||
PRINTC 115
|
||||
RTRUE
|
||||
?CCL9: EQUAL? OBJ,PLAYER \?CCL22
|
||||
ZERO? CAP \?PRG28
|
||||
PRINTI " you"
|
||||
JUMP ?CND23
|
||||
?PRG28: PRINTI "You"
|
||||
?CND23: ZERO? POSSESS? /TRUE
|
||||
PRINTC 114
|
||||
RTRUE
|
||||
?CCL22: FSET? OBJ,FEMALE \?CCL35
|
||||
ZERO? CAP \?PRG41
|
||||
PRINTI " her"
|
||||
RTRUE
|
||||
?PRG41: PRINTI "Her"
|
||||
RTRUE
|
||||
?CCL35: ZERO? POSSESS? /?CCL45
|
||||
ZERO? CAP \?PRG51
|
||||
PRINTI " his"
|
||||
RTRUE
|
||||
?PRG51: PRINTI "His"
|
||||
RTRUE
|
||||
?CCL45: ZERO? CAP \?PRG58
|
||||
PRINTI " him"
|
||||
RTRUE
|
||||
?PRG58: PRINTI "Him"
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT QUEUE,RTN,TICK,CINT
|
||||
CALL INT,RTN >CINT
|
||||
PUT CINT,C-TICK,TICK
|
||||
PUT CINT,C-ENABLED?,1
|
||||
RETURN CINT
|
||||
|
||||
|
||||
.FUNCT INT,RTN,DEMON=0,E,C,INT
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
ADD C-TABLE,C-INTS >C
|
||||
?PRG1: EQUAL? C,E \?CCL5
|
||||
SUB C-INTS,C-INTLEN >C-INTS
|
||||
ADD C-TABLE,C-INTS >INT
|
||||
PUT INT,C-RTN,RTN
|
||||
RETURN INT
|
||||
?CCL5: GET C,C-RTN
|
||||
EQUAL? STACK,RTN \?CND3
|
||||
RETURN C
|
||||
?CND3: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT QUEUED?,RTN,C
|
||||
CALL INT,RTN >C
|
||||
GET C,C-ENABLED?
|
||||
ZERO? STACK /FALSE
|
||||
GET C,C-TICK
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT CLOCKER,C,E,TICK,FLG=0,VAL
|
||||
ZERO? CLOCK-WAIT /?CND1
|
||||
SET 'CLOCK-WAIT,FALSE-VALUE
|
||||
RFALSE
|
||||
?CND1: IGRTR? 'PRESENT-TIME,1139 \?CND3
|
||||
CALL TIMES-UP
|
||||
?CND3: IGRTR? 'MOVES,59 \?CND5
|
||||
SET 'MOVES,0
|
||||
IGRTR? 'SCORE,23 \?CND5
|
||||
SET 'SCORE,0
|
||||
?CND5: ADD C-TABLE,C-INTS >C
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
?PRG9: EQUAL? C,E \?CCL13
|
||||
RETURN FLG
|
||||
?CCL13: GET C,C-ENABLED?
|
||||
ZERO? STACK /?CND11
|
||||
GET C,C-TICK >TICK
|
||||
ZERO? TICK /?CND11
|
||||
SUB TICK,1
|
||||
PUT C,C-TICK,STACK
|
||||
GRTR? TICK,1 /?CND11
|
||||
GET C,C-RTN
|
||||
CALL STACK >VAL
|
||||
ZERO? VAL /?CND11
|
||||
ZERO? FLG /?CCL22
|
||||
EQUAL? VAL,M-FATAL \?CND11
|
||||
?CCL22: SET 'FLG,VAL
|
||||
?CND11: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG9
|
||||
|
||||
|
||||
.FUNCT I-FOLLOW,GARG=0,FLG=0,CNT=0,GT,VAL=0
|
||||
?PRG1: IGRTR? 'CNT,GHOST-NEW-C /?REP2
|
||||
GET GOAL-TABLES,CNT >GT
|
||||
GET GT,GOAL-S
|
||||
ZERO? STACK /?PRG1
|
||||
GET GT,GOAL-ENABLE
|
||||
ZERO? STACK /?PRG1
|
||||
GET CHARACTER-TABLE,CNT
|
||||
CALL FOLLOW-GOAL,STACK >VAL
|
||||
ZERO? VAL /?PRG1
|
||||
EQUAL? FLG,M-FATAL /?PRG1
|
||||
SET 'FLG,VAL
|
||||
JUMP ?PRG1
|
||||
?REP2: RETURN FLG
|
||||
|
||||
|
||||
.FUNCT I-ATTENTION,GARG=0,FLG=0,CNT=0,ATT,GT,PER,RM
|
||||
?PRG1: IGRTR? 'CNT,GHOST-NEW-C /?REP2
|
||||
GET GOAL-TABLES,CNT >GT
|
||||
GET GT,ATTENTION >ATT
|
||||
GRTR? ATT,0 \?PRG1
|
||||
DEC 'ATT
|
||||
GET CHARACTER-TABLE,CNT >PER
|
||||
EQUAL? PER,CONFESSED,CAPTOR,FOLLOWER /?PRG1
|
||||
SET 'GOAL-PERSON,PER
|
||||
ZERO? ATT \?CCL11
|
||||
LESS? BED-TIME,PRESENT-TIME /?CTR13
|
||||
GET GT,GOAL-FUNCTION
|
||||
EQUAL? STACK,X-RETIRES \?CCL14
|
||||
?CTR13: ADD 1,CNT
|
||||
GET CHAR-ROOM-TABLE,STACK >RM
|
||||
IN? PER,RM \?CCL19
|
||||
CALL GOODNIGHT,RM,PER
|
||||
JUMP ?CND9
|
||||
?CCL19: PUT GT,GOAL-FUNCTION,X-RETIRES
|
||||
CALL ESTABLISH-GOAL,PER,RM
|
||||
JUMP ?CND9
|
||||
?CCL14: GET GT,GOAL-QUEUED >RM
|
||||
ZERO? RM /?CCL21
|
||||
PUT GT,GOAL-QUEUED,0
|
||||
CALL ESTABLISH-GOAL,PER,RM
|
||||
JUMP ?CND9
|
||||
?CCL21: PUTP PER,P?LDESC,17
|
||||
PUT GT,GOAL-ENABLE,1
|
||||
JUMP ?CND9
|
||||
?CCL11: EQUAL? ATT,1 \?CND9
|
||||
IN? PER,HERE \?CND9
|
||||
GET GT,GOAL-FUNCTION
|
||||
CALL D-APPLY,STR?8,STACK,G-IMPATIENT
|
||||
ZERO? STACK /?CND9
|
||||
SET 'FLG,TRUE-VALUE
|
||||
?CND9: PUT GT,ATTENTION,ATT
|
||||
JUMP ?PRG1
|
||||
?REP2: RETURN FLG
|
||||
|
||||
.ENDI
|
362
misc.zil
Normal file
362
misc.zil
Normal file
|
@ -0,0 +1,362 @@
|
|||
"MISC for MOONMIST
|
||||
Copyright (c) 1986 Infocom, Inc. All rights reserved."
|
||||
|
||||
<ROUTINE GO ()
|
||||
;<SETG WINNER ,PLAYER>
|
||||
;<START-MOVEMENT>
|
||||
<V-VERSION>
|
||||
<INTRO>
|
||||
<MAIN-LOOP>
|
||||
<AGAIN>>
|
||||
|
||||
<ROUTINE PRINTT (OBJ) ;"THE"
|
||||
<COND (<AND <EQUAL? .OBJ ,TURN> <L? 1 ,P-NUMBER>>
|
||||
<TELL !\ N ,P-NUMBER " minutes">)
|
||||
(<EQUAL? .OBJ ,WINDOW>
|
||||
<TELL " the window">)
|
||||
;(<AND <EQUAL? .OBJ ,P-IT-OBJECT>
|
||||
<FSET? ,IT ,TOUCHBIT>>
|
||||
<TELL " it">
|
||||
<RTRUE>)
|
||||
(T
|
||||
<THE? .OBJ>
|
||||
<TELL !\ D .OBJ>)>
|
||||
;<THIS-IS-IT .OBJ>>
|
||||
|
||||
<ROUTINE THE? (OBJ)
|
||||
<COND (<NOT <FSET? .OBJ ,NARTICLEBIT>>
|
||||
<COND (<OR ;<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<IN? .OBJ ,ROOMS>
|
||||
<FSET? .OBJ ,SEENBIT>>
|
||||
<TELL " the">)
|
||||
(<FSET? .OBJ ,VOWELBIT>
|
||||
<TELL " an">)
|
||||
(T <TELL " a">)>)>
|
||||
<COND (T ;<FSET? .OBJ ,PERSONBIT>
|
||||
<FSET .OBJ ,SEENBIT>)>>
|
||||
|
||||
<ROUTINE START-SENTENCE (OBJ) ;"CTHE"
|
||||
<THIS-IS-IT .OBJ>
|
||||
<COND (<EQUAL? .OBJ ,PLAYER> <TELL "You"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,NIGHTLAMP> <TELL "Your lamp"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,LUGGAGE> <TELL "Your luggage"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,BED> <TELL "Your bed"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,YOUR-COLOR><TELL "Your favorite color"><RTRUE>)
|
||||
(<EQUAL? .OBJ ,YOUR-ROOM> <TELL "Your room"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,YOUR-BATHROOM><TELL "Your bathroom"><RTRUE>)
|
||||
(<EQUAL? .OBJ ,YOUR-CLOSET><TELL "Your secret entrance"><RTRUE>)
|
||||
(<EQUAL? .OBJ ,DINNER> <TELL "Your dinner"> <RTRUE>)>
|
||||
<COND (<NOT <FSET? .OBJ ,NARTICLEBIT>>
|
||||
<COND (<OR ;<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<FSET? .OBJ ,SEENBIT>>
|
||||
<TELL "The ">)
|
||||
(<FSET? .OBJ ,VOWELBIT>
|
||||
<TELL "An ">)
|
||||
(T <TELL "A ">)>)>
|
||||
<COND (T ;<FSET? .OBJ ,PERSONBIT>
|
||||
<FSET .OBJ ,SEENBIT>)>
|
||||
<TELL D .OBJ>>
|
||||
|
||||
<ROUTINE PRINTA (O) ;"A"
|
||||
<COND (<OR ;<FSET? .O ,PERSONBIT> <FSET? .O ,NARTICLEBIT>> T)
|
||||
(<FSET? .O ,VOWELBIT> <TELL "an ">)
|
||||
(T <TELL "a ">)>
|
||||
<TELL D .O>>
|
||||
|
||||
<GLOBAL P-IT-WORDS <TABLE 0 0>> "adj & noun for IT"
|
||||
|
||||
<ROUTINE THIS-IS-IT (OBJ)
|
||||
<COND (<EQUAL? .OBJ <> ,NOT-HERE-OBJECT ,PLAYER>
|
||||
<RTRUE>)
|
||||
(<EQUAL? .OBJ ,INTDIR ,GLOBAL-HERE ,ROOMS>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? WALK ;"WALK-TO FACE"> <==? .OBJ ,PRSO>>
|
||||
<RTRUE>)>
|
||||
<COND (<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<PUT ,P-IT-WORDS 0 <GET ,P-ADJW ,NOW-PRSI>>
|
||||
<PUT ,P-IT-WORDS 1 <GET ,P-NAMW ,NOW-PRSI>>
|
||||
<FSET ,IT ,TOUCHBIT> ;"to cause pronoun 'it' in output"
|
||||
<SETG P-IT-OBJECT .OBJ>)
|
||||
(<FSET? .OBJ ,FEMALE>
|
||||
<FSET ,HER ,TOUCHBIT>
|
||||
<SETG P-HER-OBJECT .OBJ>)
|
||||
;(<FSET? .OBJ ,PLURALBIT>
|
||||
<FSET ,THEM ,TOUCHBIT>
|
||||
<SETG P-THEM-OBJECT .OBJ>)
|
||||
(T
|
||||
<FSET ,HIM ,TOUCHBIT>
|
||||
<SETG P-HIM-OBJECT .OBJ>)>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE NO-PRONOUN? (OBJ "OPTIONAL" (CAP 0))
|
||||
<COND (<EQUAL? .OBJ ,PLAYER>
|
||||
<RFALSE>)
|
||||
(<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<COND (<AND <EQUAL? .OBJ ,P-IT-OBJECT>
|
||||
<FSET? ,IT ,TOUCHBIT>>
|
||||
<RFALSE>)>)
|
||||
(<FSET? .OBJ ,FEMALE>
|
||||
<COND (<AND <EQUAL? .OBJ ,P-HER-OBJECT>
|
||||
<FSET? ,HER ,TOUCHBIT>>
|
||||
<RFALSE>)>)
|
||||
;(<FSET? .OBJ ,PLURALBIT>
|
||||
<COND (<AND <EQUAL? .OBJ ,P-THEM-OBJECT>
|
||||
<FSET? ,THEM ,TOUCHBIT>>
|
||||
<RFALSE>)>)
|
||||
(T
|
||||
<COND (<AND <EQUAL? .OBJ ,P-HIM-OBJECT>
|
||||
<FSET? ,HIM ,TOUCHBIT>>
|
||||
<RFALSE>)>)>
|
||||
<COND (<ZERO? .CAP> <TELL THE .OBJ>)
|
||||
(<ONE? .CAP> <TELL CTHE .OBJ>)>
|
||||
<THIS-IS-IT .OBJ>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE HE-SHE-IT (OBJ "OPTIONAL" (CAP 0) (VERB <>)) ;"C/HE"
|
||||
<COND (<NO-PRONOUN? .OBJ .CAP>
|
||||
T)
|
||||
(<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<COND (<ZERO? .CAP> <TELL " it">)
|
||||
(<ONE? .CAP> <TELL "It">)>)
|
||||
(<==? .OBJ ,PLAYER>
|
||||
<COND (<ZERO? .CAP> <TELL " you">)
|
||||
(<ONE? .CAP> <TELL "You">)>)
|
||||
(<FSET? .OBJ ,FEMALE>
|
||||
<COND (<ZERO? .CAP> <TELL " she">)
|
||||
(<ONE? .CAP> <TELL "She">)>)
|
||||
;(<FSET? .OBJ ,PLURALBIT>
|
||||
<COND (<ZERO? .CAP> <TELL " they">)
|
||||
(<ONE? .CAP> <TELL "They">)>)
|
||||
(T
|
||||
<COND (<ZERO? .CAP> <TELL " he">)
|
||||
(<ONE? .CAP> <TELL "He">)>)>
|
||||
<COND (<NOT <ZERO? .VERB>>
|
||||
<PRINTC 32>
|
||||
<COND (<OR <EQUAL? .OBJ ,PLAYER>
|
||||
;<FSET? .OBJ ,PLURALBIT>>
|
||||
<COND (<=? .VERB "is"> <TELL "are">)
|
||||
(<=? .VERB "has"><TELL "have">)
|
||||
(<=? .VERB "tri"><TELL "try">)
|
||||
(<=? .VERB "empti"><TELL "empty">)
|
||||
(T <TELL .VERB>)>)
|
||||
(T
|
||||
<TELL .VERB>
|
||||
<COND (<OR <EQUAL? .VERB "do" "kiss" "push">
|
||||
<EQUAL? .VERB "tri" "empti">>
|
||||
<TELL !\e>)>
|
||||
<COND (<NOT <EQUAL? .VERB "is" "has">>
|
||||
<TELL !\s>)>)>)>>
|
||||
|
||||
<ROUTINE HIM-HER-IT (OBJ "OPTIONAL" (CAP 0) (POSSESS? <>)) ;"C/HIS/M"
|
||||
<COND (<NO-PRONOUN? .OBJ .CAP>
|
||||
<COND (<NOT <ZERO? .POSSESS?>> <TELL "'s">)>)
|
||||
(<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<COND (<ZERO? .CAP> <TELL " it">) (T <TELL "It">)>
|
||||
<COND (<NOT <ZERO? .POSSESS?>> <TELL !\s>)>)
|
||||
(<==? .OBJ ,PLAYER>
|
||||
<COND (<ZERO? .CAP> <TELL " you">) (T <TELL "You">)>
|
||||
<COND (<NOT <ZERO? .POSSESS?>> <TELL !\r>)>)
|
||||
;(<FSET? .OBJ ,PLURALBIT>
|
||||
<COND (<NOT <ZERO? .POSSESS?>>
|
||||
<COND (<ZERO? .CAP> <TELL " their">)
|
||||
(T <TELL "Their">)>)
|
||||
(T
|
||||
<COND (<ZERO? .CAP> <TELL " them">)
|
||||
(T <TELL "Them">)>)>)
|
||||
(<FSET? .OBJ ,FEMALE>
|
||||
<COND (<ZERO? .CAP> <TELL " her">) (T <TELL "Her">)>)
|
||||
(T
|
||||
<COND (<NOT <ZERO? .POSSESS?>>
|
||||
<COND (<ZERO? .CAP> <TELL " his">)
|
||||
(T <TELL "His">)>)
|
||||
(T
|
||||
<COND (<ZERO? .CAP> <TELL " him">)
|
||||
(T <TELL "Him">)>)>)>
|
||||
<RTRUE>>
|
||||
|
||||
"CLOCK for MOONMIST
|
||||
Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
||||
|
||||
"List of 22 queued routines:
|
||||
I-ATTENTION
|
||||
I-BEDTIME
|
||||
I-BUTLER-COOKS
|
||||
I-BUTLER-HINTS
|
||||
I-BUTLER-SERVES
|
||||
I-COME-TO
|
||||
I-DINNER
|
||||
I-DINNER-SIT
|
||||
I-DINNER-TALK
|
||||
I-DISCOVERED
|
||||
I-DRAGON-EYE
|
||||
I-FOLLOW
|
||||
I-FOUND-IT
|
||||
I-FOUND-PASSAGES
|
||||
I-FRIEND-GREETS
|
||||
I-LIONEL-SPEAKS
|
||||
I-PROMPT
|
||||
I-REPLY
|
||||
I-SEARCH
|
||||
I-SHOT
|
||||
I-TOUR
|
||||
I-WITHDRAW"
|
||||
|
||||
"SCORE INDICATES HOURS / MOVES = MINUTES"
|
||||
|
||||
<GLOBAL SCORE:NUMBER 19>
|
||||
<GLOBAL MOVES:NUMBER 0>
|
||||
<GLOBAL PRESENT-TIME:NUMBER <SETG PRESENT-TIME-ATOM 420 ;1140>>
|
||||
<GLOBAL CLOCKER-RUNNING:NUMBER 0>
|
||||
|
||||
<CONSTANT DINNER-TIME <SETG DINNER-TIME 480>>
|
||||
<CONSTANT LIONEL-TIME <SETG LIONEL-TIME 510>>
|
||||
<CONSTANT SEARCH-TIME 600>
|
||||
<CONSTANT BED-TIME 720>
|
||||
|
||||
<CONSTANT C-TABLELEN 138> ;"and one for good measure"
|
||||
|
||||
<GLOBAL C-TABLE
|
||||
<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 I-SHOT ;"first to run"
|
||||
0 0 I-COME-TO
|
||||
0 0 I-REPLY
|
||||
0 0 I-TOUR
|
||||
0 0 I-BUTLER-COOKS
|
||||
0 0 I-BUTLER-HINTS
|
||||
1 %<- ,DINNER-TIME ,PRESENT-TIME-ATOM 10> I-DINNER
|
||||
0 0 I-DINNER-SIT
|
||||
1 10 I-DRAGON-EYE
|
||||
1 -1 I-ATTENTION
|
||||
1 -1 I-FOLLOW ;"last to run"
|
||||
1 1 I-PROMPT>>
|
||||
|
||||
<GLOBAL C-INTS:NUMBER <- 138 <* 12 6>>>
|
||||
<CONSTANT C-INTLEN 6>
|
||||
<CONSTANT C-ENABLED? 0>
|
||||
<CONSTANT C-TICK 1>
|
||||
<CONSTANT C-RTN 2>
|
||||
|
||||
<ROUTINE QUEUE (RTN TICK "AUX" CINT)
|
||||
;#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
|
||||
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
|
||||
<PUT .CINT ,C-ENABLED? 1>
|
||||
.CINT>
|
||||
|
||||
<ROUTINE INT (RTN "OPTIONAL" (DEMON <>) E C INT)
|
||||
;#DECL ((RTN) ATOM (DEMON) <OR ATOM FALSE> (E C INT) <PRIMTYPE
|
||||
VECTOR>)
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
|
||||
;<AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,C-INTLEN>>>
|
||||
<SET INT <REST ,C-TABLE ,C-INTS>>
|
||||
<PUT .INT ,C-RTN .RTN>
|
||||
<RETURN .INT>)
|
||||
(<EQUAL? <GET .C ,C-RTN> .RTN> <RETURN .C>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
||||
|
||||
;<ROUTINE ENABLED? (RTN)
|
||||
<NOT <ZERO? <GET <INT .RTN> ,C-ENABLED?>>>>
|
||||
|
||||
<ROUTINE QUEUED? (RTN "AUX" C)
|
||||
<SET C <INT .RTN>>
|
||||
<COND (<ZERO? <GET .C ,C-ENABLED?>> <RFALSE>)
|
||||
(T <GET .C ,C-TICK>)>>
|
||||
|
||||
<GLOBAL CLOCK-WAIT:FLAG <>>
|
||||
|
||||
<ROUTINE CLOCKER ("AUX" C E TICK (FLG <>) VAL)
|
||||
;#DECL ((C E) <PRIMTYPE VECTOR> (TICK) FIX ;(FLG) ;<OR FALSE ATOM>)
|
||||
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
|
||||
<SETG PRESENT-TIME <+ ,PRESENT-TIME 1>>
|
||||
<COND (<G? ,PRESENT-TIME 1139 ;1859>
|
||||
<TIMES-UP>)>
|
||||
<COND (<G? <SETG MOVES <+ ,MOVES 1>> 59>
|
||||
<SETG MOVES 0>
|
||||
<COND (<G? <SETG SCORE <+ ,SCORE 1>> 23>
|
||||
<SETG SCORE 0>)>)>
|
||||
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<RETURN .FLG>)
|
||||
(<NOT <ZERO? <GET .C ,C-ENABLED?>>>
|
||||
<SET TICK <GET .C ,C-TICK>>
|
||||
<COND (<NOT <ZERO? .TICK>>
|
||||
<PUT .C ,C-TICK <- .TICK 1>>
|
||||
<COND (<AND <NOT <G? .TICK 1>>
|
||||
<SET VAL <APPLY <GET .C ,C-RTN>>>>
|
||||
<COND (<OR <ZERO? .FLG>
|
||||
<==? .VAL ,M-FATAL>>
|
||||
<SET FLG .VAL>)>)>)>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
||||
|
||||
"These routines were moved here from GOAL:"
|
||||
|
||||
<ROUTINE I-FOLLOW ("OPTIONAL" (GARG <>) "AUX" (FLG <>) (CNT 0) GT (VAL 0))
|
||||
%<DEBUG-CODE
|
||||
<COND (<OR ,IDEBUG <==? .GARG ,G-DEBUG>>
|
||||
<TELL "[I-FOLLOW:">
|
||||
<COND (<==? .GARG ,G-DEBUG> <RFALSE>)>)>>
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> ,GHOST-NEW-C ;,CHARACTER-MAX>
|
||||
<RETURN>)
|
||||
(<AND <GET <SET GT <GET ,GOAL-TABLES .CNT>> ,GOAL-S>
|
||||
<OR <NOT <ZERO? <GET .GT ,GOAL-ENABLE>>>
|
||||
;<0? <GET .GT ,ATTENTION>>>>
|
||||
;<PUT .GT ,GOAL-ENABLE 1>
|
||||
<COND (<SET VAL
|
||||
<FOLLOW-GOAL <GET ,CHARACTER-TABLE .CNT>>>
|
||||
<COND (<NOT <==? .FLG ,M-FATAL>>
|
||||
<SET FLG .VAL>)>)>)>>
|
||||
%<DEBUG-CODE <COND (,IDEBUG <TELL N .FLG !\] CR>)>>
|
||||
.FLG>
|
||||
|
||||
<ROUTINE I-ATTENTION ("OPTIONAL" (GARG <>)
|
||||
"AUX" (FLG <>) (CNT 0) ATT GT PER RM)
|
||||
%<DEBUG-CODE <COND (<OR ,IDEBUG <==? .GARG ,G-DEBUG>>
|
||||
<TELL "[I-ATTENTION:">
|
||||
<COND (<==? .GARG ,G-DEBUG> <RFALSE>)>)>>
|
||||
<REPEAT ()
|
||||
<COND (<IGRTR? CNT ,GHOST-NEW-C ;,CHARACTER-MAX>
|
||||
<RETURN>)>
|
||||
<SET GT <GET ,GOAL-TABLES .CNT>>
|
||||
<SET ATT <GET .GT ,ATTENTION>>
|
||||
<COND (<NOT <G? .ATT 0>> <AGAIN>)>
|
||||
<DEC ATT>
|
||||
<SET PER <GET ,CHARACTER-TABLE .CNT>>
|
||||
<COND (<EQUAL? .PER ,CONFESSED ,CAPTOR ,FOLLOWER>
|
||||
<AGAIN>)>
|
||||
<SETG GOAL-PERSON .PER>
|
||||
<COND ;(<0? .PER>
|
||||
<TELL "[!! I-ATT: PER=0]" CR>)
|
||||
(<0? .ATT>
|
||||
;<FCLEAR .PER ,TOUCHBIT>
|
||||
<COND ;(<==? .PER ,BUTLER>
|
||||
<SET FLG T>
|
||||
<MOVE ,BUTLER <GET .GT ,GOAL-F>>
|
||||
<TELL
|
||||
'BUTLER " says, \"You really must excuse me now, "TN",\" and leaves." CR>)
|
||||
(<OR <L? ,BED-TIME ,PRESENT-TIME>
|
||||
<==? <GET .GT ,GOAL-FUNCTION> ,X-RETIRES>>
|
||||
<SET RM <GET ,CHAR-ROOM-TABLE <+ 1 .CNT>>>
|
||||
<COND (<IN? .PER .RM>
|
||||
<GOODNIGHT .RM .PER>)
|
||||
(T
|
||||
<PUT .GT ,GOAL-FUNCTION ,X-RETIRES>
|
||||
<ESTABLISH-GOAL .PER .RM>)>)
|
||||
(<T? <SET RM <GET .GT ,GOAL-QUEUED>>>
|
||||
<PUT .GT ,GOAL-QUEUED 0>
|
||||
<ESTABLISH-GOAL .PER .RM>)
|
||||
(T
|
||||
<PUTP .PER ,P?LDESC 17 ;"preparing to leave">
|
||||
<PUT .GT ,GOAL-ENABLE 1>)>)
|
||||
(<AND <==? .ATT 1>
|
||||
<IN? .PER ,HERE>
|
||||
<D-APPLY "Impatient"<GET .GT ,GOAL-FUNCTION>,G-IMPATIENT>>
|
||||
<SET FLG T>)>
|
||||
<PUT .GT ,ATTENTION .ATT>>
|
||||
%<DEBUG-CODE <COND (,IDEBUG <TELL N .FLG !\] CR>)>>
|
||||
.FLG>
|
6
moon.mud
Normal file
6
moon.mud
Normal file
|
@ -0,0 +1,6 @@
|
|||
<USE "CELEST">
|
||||
<SETG LONGITUDE!-ICELEST '(- 5 30 0)>
|
||||
<SETG LATITUDE!-ICELEST (+ 50 10 0)>
|
||||
<SETG GMT-OFFSET!-ICELEST <+ 0 <DAY-SAVE-CROCK!-ICELEST <1 <DTNOW>>>>>
|
||||
|
||||
"SUNSET on May 3 @ 19:37 GMT"
|
1239
moonmist.man
Normal file
1239
moonmist.man
Normal file
File diff suppressed because it is too large
Load diff
48
moonmist.zil
Normal file
48
moonmist.zil
Normal file
|
@ -0,0 +1,48 @@
|
|||
"COMPILE/LOAD FILE for MOONMIST
|
||||
Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
||||
|
||||
<SETG ZDEBUGGING? <>>
|
||||
<DEFINE DEBUG-CODE ('X "OPTIONAL" ('Y T))
|
||||
<COND (,ZDEBUGGING? .X) (ELSE .Y)>>
|
||||
|
||||
<SETG NEW-VOC? T>
|
||||
<FREQUENT-WORDS?>
|
||||
<VERSION ZIP TIME>
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<PRINC "Compiling">
|
||||
<ID 0>)
|
||||
(T <PRINC "Loading">)>
|
||||
|
||||
<PRINC " MOONMIST: interactive fiction from Infocom!
|
||||
">
|
||||
|
||||
ON!-INITIAL "for DEBUGR"
|
||||
OFF!-INITIAL
|
||||
ENABLE!-INITIAL
|
||||
DISABLE!-INITIAL
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
||||
|
||||
<DIRECTIONS ;"Do not change the order of the first eight
|
||||
without consulting Marc! -- per ENCHANTER"
|
||||
NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
|
||||
|
||||
<INSERT-FILE "MACROS">
|
||||
<INSERT-FILE "MISC">
|
||||
<INSERT-FILE "SYNTAX">
|
||||
<INSERT-FILE "PARSER">
|
||||
<INSERT-FILE "VERBS">
|
||||
<INSERT-FILE "GOAL">
|
||||
<INSERT-FILE "PEOPLE">
|
||||
<INSERT-FILE "CASTLE">
|
||||
<INSERT-FILE "TOWER">
|
||||
<INSERT-FILE "THINGS">
|
||||
<INSERT-FILE "PLACES">
|
||||
<INSERT-FILE "GLOBAL">
|
||||
<INSERT-FILE "COLORS">
|
||||
|
||||
<PROPDEF SIZE 5>
|
302
parser.cmp
Normal file
302
parser.cmp
Normal file
|
@ -0,0 +1,302 @@
|
|||
|
||||
;COMPARISON OF SS:<MOONMIST>PARSER.ZIL.466 AND SS:<MOONMIST>PARSER.ZIL.467
|
||||
;OPTIONS ARE /1
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-2 (55185)
|
||||
<ROUTINE ORPHAN-MERGE ("AUX" (CNT -1) TEMP VERB BEG END (ADJ <>) WRD)
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-2 (55185)
|
||||
<ROUTINE ORPHAN-MERGE ("AUX" (CNT -1) TEMP VERB BEG END
|
||||
(ADJ <>) (ADJB <>) (VRB <>) (NOUN <>) ADJE WRD)
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-4 (55279)
|
||||
<COND (<OR <EQUAL? <WT? <SET WRD <GET <GET ,P-ITBL ,P-VERBN> 0>>
|
||||
,PS?VERB ,P1?VERB>
|
||||
<GET ,P-OTBL ,P-VERB>>
|
||||
<WT? .WRD ,PS?ADJECTIVE>>
|
||||
<SET ADJ T>)
|
||||
(<AND <WT? .WRD ,PS?OBJECT ,P1?OBJECT>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-5 (55323)
|
||||
<COND (<SET WRD <GET <GET ,P-ITBL ,P-VERBN> 0>>
|
||||
<COND (<EQUAL? <WT? .WRD ,PS?VERB ,P1?VERB>
|
||||
<GET ,P-OTBL ,P-VERB>>
|
||||
<SET VRB T>)>
|
||||
<COND (<WT? .WRD ,PS?ADJECTIVE>
|
||||
<SET ADJ T>)>
|
||||
<COND (<WT? .WRD ,PS?OBJECT>
|
||||
<SET NOUN T>)>)>
|
||||
<COND (<AND <NOT .VRB> ;"convert apparent verb into noun clause"
|
||||
<NOT .ADJ>
|
||||
<WT? .WRD ,PS?OBJECT ,P1?OBJECT>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-13 (55584)
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV 2>>
|
||||
<PUT ,P-ITBL ,P-NC1L <REST ,P-LEXV 6>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-19 (55793)
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV <* 2 ,P-LEXSTART>>>
|
||||
<PUT ,P-ITBL ,P-NC1L <REST ,P-LEXV <+ ,P-WORDLEN <* 2 ,P-LEXSTART>>>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-18 (55773)
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-24 (56029)
|
||||
<NOT .VRB>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-22 (55908)
|
||||
<COND (<OR <ZERO? <SET TEMP <GET ,P-ITBL ,P-PREP1>>>
|
||||
<EQUAL? .TEMP <GET ,P-OTBL ,P-PREP1>>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-29 (56184)
|
||||
<COND (<EQUAL? <GET ,P-ITBL ,P-PREP1>
|
||||
0
|
||||
<GET ,P-OTBL ,P-PREP1>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-25 (56028)
|
||||
<PUT ,P-OTBL ,P-NC1 <REST ,P-LEXV 2>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-33 (56278)
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV <* 2 ,P-LEXSTART>>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-27 (56111)
|
||||
<PUT ,P-ITBL ,P-NC1L <REST ,P-LEXV 6>>)>
|
||||
<COND (<ZERO? ,P-NCN> <SETG P-NCN 1>)>)
|
||||
(T
|
||||
<PUT ,P-OTBL ,P-NC1 <GET ,P-ITBL ,P-NC1>>
|
||||
;<PUT ,P-OTBL ,P-NC1L <GET ,P-ITBL ,P-NC1L>>)>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-35 (56377)
|
||||
<PUT ,P-ITBL ,P-NC1L
|
||||
<REST ,P-LEXV <+ ,P-WORDLEN
|
||||
<* 2 ,P-LEXSTART>>>>)>
|
||||
<COND (<ZERO? ,P-NCN> <SETG P-NCN 1>)>)>
|
||||
<PUT ,P-OTBL ,P-NC1 <GET ,P-ITBL ,P-NC1>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-35 (56420)
|
||||
<COND (<OR <ZERO? <SET TEMP <GET ,P-ITBL ,P-PREP1>>>
|
||||
<EQUAL? .TEMP <GET ,P-OTBL ,P-PREP2>>>
|
||||
<COND (.ADJ
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV 2>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-43 (56675)
|
||||
<COND (<EQUAL? <GET ,P-ITBL ,P-PREP1>
|
||||
<>
|
||||
<GET ,P-OTBL ,P-PREP2>>
|
||||
<COND (<OR .ADJ
|
||||
<AND <ZERO? ,P-NCN> .NOUN>>
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV <* 2 ,P-LEXSTART>>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-40 (56623)
|
||||
<PUT ,P-ITBL ,P-NC1L <REST ,P-LEXV 6>>)>)>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-50 (56909)
|
||||
<PUT ,P-ITBL ,P-NC1L
|
||||
<REST ,P-LEXV <+ ,P-WORDLEN
|
||||
<* 2 ,P-LEXSTART>>>>)>)>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-51 (56955)
|
||||
<COND (.ADJ <SET BEG <REST ,P-LEXV 2>> <SET ADJ <>>)>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-63 (57293)
|
||||
<COND (.ADJ
|
||||
<SET BEG <REST ,P-LEXV <* 2 ,P-LEXSTART>>>
|
||||
<PUT ,P-ITBL ,P-NC1 .BEG>
|
||||
<SET ADJ <>>)>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-54 (57064)
|
||||
<SET WRD <GET .BEG 0>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-69 (57456)
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-56 (57123)
|
||||
<COND (.ADJ <CLAUSE-WIN .ADJ> <RETURN>)
|
||||
(T <SETG P-ACLAUSE <>> <RFALSE>)>)
|
||||
(<OR <EQUAL? .WRD ,W?ALL ;,W?EVERYT ,W?ONE>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-70 (57487)
|
||||
<COND (.ADJB <CLAUSE-WIN .ADJB .ADJE> <RETURN>)
|
||||
(T
|
||||
<SETG P-ACLAUSE <>>
|
||||
<RFALSE>)>)>
|
||||
<SET WRD <GET .BEG 0>>
|
||||
<COND (<OR <EQUAL? .WRD ,W?ALL ,W?ONE>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-62 (57390)
|
||||
<SET ADJ .WRD>)
|
||||
(<EQUAL? .WRD ,W?ONE>
|
||||
<CLAUSE-WIN .ADJ>
|
||||
<RETURN>)
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-79 (57804)
|
||||
<COND (<NOT .ADJB> <SET ADJB .BEG>)>
|
||||
<SET ADJ .WRD>
|
||||
<SET ADJE <REST .BEG ,P-WORDLEN>>)
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-68 (57583)
|
||||
<COND (<EQUAL? .WRD ,P-ANAM>
|
||||
<CLAUSE-WIN .ADJ>)
|
||||
(T
|
||||
<CLAUSE-WIN>)>
|
||||
<RETURN>)>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-84 (58007)
|
||||
<COND (<AND ,P-ANAM
|
||||
<NOT <EQUAL? .WRD ,P-ANAM>>>
|
||||
<SETG P-ANAM <>>
|
||||
<SET ADJB <GET ,P-ITBL ,P-NC1>>
|
||||
<SET ADJE .END>)>)>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-77 (57811)
|
||||
<PUT ,P-ITBL ,P-NC1 <BACK .BEG 4>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-93 (58282)
|
||||
<PUT ,P-ITBL ,P-NC1 <BACK .BEG ,P-WORDLEN>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-92 (58285)
|
||||
<ROUTINE CLAUSE-WIN ("OPT" (ADJ <>))
|
||||
<COND (.ADJ
|
||||
<PUT ,P-ITBL ,P-VERB <GET ,P-OTBL ,P-VERB>>)
|
||||
(ELSE <SET ADJ T>)>
|
||||
<PUT ,P-CCTBL ,CC-SBPTR ,P-ACLAUSE>
|
||||
<PUT ,P-CCTBL ,CC-SEPTR <+ ,P-ACLAUSE 1>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-108 (58765)
|
||||
<ROUTINE CLAUSE-WIN ("OPT" (ADJB <>) (ADJE <>))
|
||||
<COND (.ADJB
|
||||
<PUT ,P-ITBL ,P-VERB <GET ,P-OTBL ,P-VERB>>)>
|
||||
<PUT ,P-CCTBL ,CC-BEG ,P-ACLAUSE>
|
||||
<PUT ,P-CCTBL ,CC-END <+ ,P-ACLAUSE 1>>
|
||||
<PUT ,P-CCTBL ,CC-IBEG .ADJB>
|
||||
<PUT ,P-CCTBL ,CC-IEND .ADJE>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-99 (58538)
|
||||
<PUT ,P-CCTBL ,CC-OCLAUSE ,P-OCL1>)
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-116 (59063)
|
||||
<PUT ,P-CCTBL ,CC-CLAUSE ,P-OCL1>)
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 7-101 (58597)
|
||||
<PUT ,P-CCTBL ,CC-OCLAUSE ,P-OCL2>)>
|
||||
<CLAUSE-COPY ,P-OTBL ,P-OTBL .ADJ>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 7-118 (59121)
|
||||
<PUT ,P-CCTBL ,CC-CLAUSE ,P-OCL2>)>
|
||||
<CLAUSE-COPY ,P-OTBL ,P-OTBL>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-13 (65387)
|
||||
<PUT ,P-CCTBL ,CC-SBPTR ,P-NC2>
|
||||
<PUT ,P-CCTBL ,CC-SEPTR ,P-NC2L>
|
||||
<PUT ,P-CCTBL ,CC-OCLAUSE ,P-OCL2>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 10-13 (65905)
|
||||
<PUT ,P-CCTBL ,CC-BEG ,P-NC2>
|
||||
<PUT ,P-CCTBL ,CC-END ,P-NC2L>
|
||||
<PUT ,P-CCTBL ,CC-CLAUSE ,P-OCL2>
|
||||
<PUT ,P-CCTBL ,CC-IBEG <>>
|
||||
<PUT ,P-CCTBL ,CC-IEND <>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-18 (65584)
|
||||
<PUT ,P-CCTBL ,CC-SBPTR ,P-NC1>
|
||||
<PUT ,P-CCTBL ,CC-SEPTR ,P-NC1L>
|
||||
<PUT ,P-CCTBL ,CC-OCLAUSE ,P-OCL1>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 10-20 (66169)
|
||||
<PUT ,P-CCTBL ,CC-BEG ,P-NC1>
|
||||
<PUT ,P-CCTBL ,CC-END ,P-NC1L>
|
||||
<PUT ,P-CCTBL ,CC-CLAUSE ,P-OCL1>
|
||||
<PUT ,P-CCTBL ,CC-IBEG <>>
|
||||
<PUT ,P-CCTBL ,CC-IEND <>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-157 (70200)
|
||||
"pointers used by CLAUSE-COPY (source/destination beginning/end pointers):"
|
||||
<CONSTANT CC-SBPTR 0>
|
||||
<CONSTANT CC-SEPTR 1>
|
||||
<CONSTANT CC-OCLAUSE 2>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 11-2 (70853)
|
||||
"CLAUSE-COPY"
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-164 (70388)
|
||||
<ROUTINE CLAUSE-COPY (SRC DEST "OPT" (INSRT <>)
|
||||
"AUX" OCL BEG END BB EE OBEG CNT B E)
|
||||
<SET BB <GET ,P-CCTBL ,CC-SBPTR>>
|
||||
<SET EE <GET ,P-CCTBL ,CC-SEPTR>>
|
||||
<SET OCL <GET ,P-CCTBL ,CC-OCLAUSE>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 11-6 (70908)
|
||||
"pointers used by CLAUSE-COPY (source/destination beginning/end pointers)"
|
||||
<CONSTANT CC-BEG 0> "slot in source to start from"
|
||||
<CONSTANT CC-END 1> "slot in source to end at"
|
||||
<CONSTANT CC-CLAUSE 2> "which orphan table to use"
|
||||
<CONSTANT CC-IBEG 3> "insertion beginning (from lexv)"
|
||||
<CONSTANT CC-IEND 4> "insertion ending"
|
||||
"do something about duplicate words in clause?"
|
||||
<ROUTINE CLAUSE-COPY (SRC DEST
|
||||
"AUX" (IBEG <>) IEND OCL BEG END BB EE OBEG CNT B E)
|
||||
<SET BB <GET ,P-CCTBL ,CC-BEG>>
|
||||
<SET EE <GET ,P-CCTBL ,CC-END>>
|
||||
<SET OCL <GET ,P-CCTBL ,CC-CLAUSE>>
|
||||
<SET IBEG <GET ,P-CCTBL ,CC-IBEG>>
|
||||
<SET IEND <GET ,P-CCTBL ,CC-IEND>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-173 (70698)
|
||||
<COND (<EQUAL? .BEG .END> <RETURN>)>
|
||||
<COND (<AND .INSRT
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 11-26 (71663)
|
||||
<COND (<EQUAL? .BEG .END>
|
||||
<COND (<AND .IBEG <NOT ,P-ANAM>>
|
||||
<CLAUSE-SUBSTRUC .IBEG .IEND>)>
|
||||
<RETURN>)>
|
||||
<COND (<AND .IBEG
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-176 (70799)
|
||||
<COND (<EQUAL? .INSRT T>
|
||||
<SET B <GET ,P-ITBL ,P-NC1>>
|
||||
<SET E <GET ,P-ITBL ,P-NC1L>>
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? .B .E> <RETURN>)>
|
||||
<CLAUSE-ADD <GET .B 0>>
|
||||
<SET B <REST .B ,P-WORDLEN>>>)
|
||||
(ELSE
|
||||
<COND (<NOT <EQUAL? .INSRT <GET .OCL 1>>>
|
||||
<CLAUSE-ADD .INSRT>)>
|
||||
<CLAUSE-ADD ,P-ANAM>)>)
|
||||
(ELSE
|
||||
<CLAUSE-ADD <GET .BEG 0>>)>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 11-32 (71858)
|
||||
<CLAUSE-SUBSTRUC .IBEG .IEND>)>
|
||||
<CLAUSE-ADD <GET .BEG 0>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-190 (71278)
|
||||
<COND (<AND <EQUAL? .SRC .DEST>
|
||||
<G? .OBEG 0>
|
||||
<L? 0 <SET CNT <- <GET .OCL ,P-MATCHLEN> .OBEG>>>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 11-35 (71966)
|
||||
<COND (<AND <G? .OBEG 0>
|
||||
<G? <SET CNT <- <GET .OCL ,P-MATCHLEN> .OBEG>> 0>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-209 (71811)
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 11-53 (72472)
|
||||
<ROUTINE CLAUSE-SUBSTRUC (B E)
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? .B .E> <RETURN>)>
|
||||
<CLAUSE-ADD <GET .B 0>>
|
||||
<SET B <REST .B ,P-WORDLEN>>>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-210 (71870)
|
||||
<SET OCL <GET ,P-CCTBL ,CC-OCLAUSE>>
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 11-60 (72679)
|
||||
<SET OCL <GET ,P-CCTBL ,CC-CLAUSE>>
|
||||
***************
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.466, 10-218 (72130)
|
||||
<PUT .OCL ,P-MATCHLEN .PTR>)>>
|
||||
|
||||
**** FILE SS:<MOONMIST>PARSER.ZIL.467, 11-68 (72938)
|
||||
<PUT .OCL ,P-MATCHLEN .PTR>)>>
|
||||
***************
|
||||
|
3161
parser.zap
Normal file
3161
parser.zap
Normal file
File diff suppressed because it is too large
Load diff
281
parser.zil
281
parser.zil
|
@ -171,7 +171,7 @@ Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
|||
;<SET TBL ,P-PRSI>
|
||||
<SET OBJ <GET/B ,P-PRSO 1>>
|
||||
.ICNT)
|
||||
(T 1)>>
|
||||
(T ;.ICNT 1)>>
|
||||
<COND (<AND <NOT .OBJ> <1? .ICNT>>
|
||||
<SET OBJ <GET/B ,P-PRSI 1>>)>
|
||||
<COND (<EQUAL? ,PRSA ,V?WALK ;,V?FACE>
|
||||
|
@ -1339,10 +1339,7 @@ Now you can try again">)
|
|||
<COND (<L? <SETG P-LEN <- ,P-LEN 1>> 0>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<RETURN>)
|
||||
(<AND <SET WRD <GET ,P-LEXV .PTR>>
|
||||
<BUZZER-WORD? .WRD .PTR>>
|
||||
<RFALSE>)
|
||||
(<OR <T? .WRD>
|
||||
(<OR <T? <SET WRD <GET ,P-LEXV .PTR>>>
|
||||
<SET WRD <NUMBER? .PTR>>
|
||||
<SET WRD <NAME? .PTR>>>
|
||||
<COND (<0? ,P-LEN> <SET NW 0>)
|
||||
|
@ -1403,7 +1400,8 @@ Now you can try again">)
|
|||
<RETURN>)>)
|
||||
(<AND <SET VAL <WT? .WRD ,PS?VERB ,P1?VERB>>
|
||||
<ZERO? .VERB>>
|
||||
<SETG P-PRSA-WORD .WRD>
|
||||
<COND (<ZERO? ,P-OFLAG>
|
||||
<SETG P-PRSA-WORD .WRD>)>
|
||||
<SET VERB .VAL>
|
||||
<PUT ,P-ITBL ,P-VERB .VAL>
|
||||
<PUT ,P-ITBL ,P-VERBN ,P-VTBL>
|
||||
|
@ -1417,7 +1415,7 @@ Now you can try again">)
|
|||
;<EQUAL? .WRD ,W?BOTH>
|
||||
<WT? .WRD ,PS?ADJECTIVE>
|
||||
<WT? .WRD ,PS?OBJECT>>
|
||||
<SET VAL 0>>>
|
||||
;<SET VAL 0>>>
|
||||
<COND (<AND <G? ,P-LEN 1 ;0>
|
||||
<==? .NW ,W?OF>
|
||||
;<NOT <EQUAL? .VERB
|
||||
|
@ -1462,7 +1460,9 @@ Now you can try again">)
|
|||
<RFALSE>)
|
||||
(T
|
||||
<SET OF-FLAG <>>)>)
|
||||
(<WT? .WRD ,PS?BUZZ-WORD>)
|
||||
(<WT? .WRD ,PS?BUZZ-WORD>
|
||||
<COND (<BUZZER-WORD? .WRD .PTR>
|
||||
<RFALSE>)>)
|
||||
(<AND <EQUAL? .VERB ,ACT?TELL>
|
||||
<WT? .WRD ,PS?VERB ;,P1?VERB>>
|
||||
<TELL
|
||||
|
@ -1677,14 +1677,14 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV:"
|
|||
<COND (<L? <SETG P-LEN <- ,P-LEN 1>> 0>
|
||||
<PUT ,P-ITBL <+ .NUM 1> <REST ,P-LEXV <* .PTR 2>>>
|
||||
<RETURN -1>)>
|
||||
<COND (<AND <SET WRD <GET ,P-LEXV .PTR>>
|
||||
<BUZZER-WORD? .WRD .PTR>>
|
||||
<RFALSE>)
|
||||
(<OR <T? .WRD>
|
||||
<COND (<OR <T? <SET WRD <GET ,P-LEXV .PTR>>>
|
||||
<SET WRD <NUMBER? .PTR>>
|
||||
<SET WRD <NAME? .PTR>>>
|
||||
<COND (<0? ,P-LEN> <SET NW 0>)
|
||||
(T <SET NW <GET ,P-LEXV <+ .PTR ,P-LEXELEN>>>)>
|
||||
(T
|
||||
<SET NW <GET ,P-LEXV <+ .PTR ,P-LEXELEN>>>
|
||||
<COND (<ZERO? .NW> ;"added 8/14/86 SWG"
|
||||
<SET NW <NUMBER? <+ .PTR ,P-LEXELEN>>>)>)>
|
||||
;<COND (<AND <==? .WRD ,W?OF>
|
||||
<EQUAL? <GET ,P-ITBL ,P-VERB>
|
||||
,ACT?MAKE ,ACT?TAKE>>
|
||||
|
@ -1735,15 +1735,10 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV:"
|
|||
<REST ,P-LEXV <* <+ .PTR 2> 2>>>
|
||||
<RETURN .PTR>)
|
||||
(T <SET ANDFLG <>>)>)
|
||||
;"Next clause replaced by following one to allow
|
||||
ATTRACTIVE MAN, VERB - JW 2/15/85"
|
||||
;(<AND <OR ,P-MERGED
|
||||
,P-OFLAG
|
||||
<NOT <EQUAL? <GET ,P-ITBL ,P-VERB> 0>>>
|
||||
<OR <WT? .WRD ,PS?ADJECTIVE>
|
||||
<WT? .WRD ,PS?BUZZ-WORD>>>)
|
||||
(<OR <WT? .WRD ,PS?ADJECTIVE>
|
||||
<WT? .WRD ,PS?BUZZ-WORD>>)
|
||||
(<WT? .WRD ,PS?ADJECTIVE>)
|
||||
(<WT? .WRD ,PS?BUZZ-WORD>
|
||||
<COND (<BUZZER-WORD? .WRD .PTR>
|
||||
<RFALSE>)>)
|
||||
(<AND .ANDFLG
|
||||
<EQUAL? <GET ,P-ITBL ,P-VERB> 0>>
|
||||
<SET PTR <- .PTR 4>>
|
||||
|
@ -1796,45 +1791,58 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV:"
|
|||
<GLOBAL P-TIME:FLAG <>>
|
||||
<GLOBAL P-DIRECTION 0>
|
||||
|
||||
<ROUTINE ORPHAN-MERGE ("AUX" (CNT -1) TEMP VERB BEG END (ADJ <>) WRD)
|
||||
<ROUTINE ORPHAN-MERGE ("AUX" (CNT -1) TEMP VERB BEG END
|
||||
(ADJ <>) (ADJB <>) (VRB <>) (NOUN <>) ADJE WRD)
|
||||
<SETG P-OFLAG <>>
|
||||
<COND (<OR <EQUAL? <WT? <SET WRD <GET <GET ,P-ITBL ,P-VERBN> 0>>
|
||||
,PS?VERB ,P1?VERB>
|
||||
<GET ,P-OTBL ,P-VERB>>
|
||||
<WT? .WRD ,PS?ADJECTIVE>>
|
||||
<SET ADJ T>)
|
||||
(<AND <WT? .WRD ,PS?OBJECT ,P1?OBJECT>
|
||||
<COND (<AND <SET WRD <GET ,P-ITBL ,P-VERBN>>
|
||||
<SET WRD <GET .WRD 0>>>
|
||||
<COND (<EQUAL? <WT? .WRD ,PS?VERB ,P1?VERB>
|
||||
<GET ,P-OTBL ,P-VERB>>
|
||||
<SET VRB T>)>
|
||||
<COND (<WT? .WRD ,PS?ADJECTIVE>
|
||||
<SET ADJ T>)>
|
||||
<COND (<WT? .WRD ,PS?OBJECT>
|
||||
<SET NOUN T>)>)>
|
||||
<COND (<AND <NOT .VRB> ;"convert apparent verb into noun clause"
|
||||
<NOT .ADJ>
|
||||
<WT? .WRD ,PS?OBJECT ,P1?OBJECT>
|
||||
<EQUAL? ,P-NCN 0>>
|
||||
<PUT ,P-ITBL ,P-VERB 0>
|
||||
<PUT ,P-ITBL ,P-VERBN 0>
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV 2>>
|
||||
<PUT ,P-ITBL ,P-NC1L <REST ,P-LEXV 6>>
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV <* 2 ,P-LEXSTART>>>
|
||||
<PUT ,P-ITBL ,P-NC1L <REST ,P-LEXV <+ ,P-WORDLEN <* 2 ,P-LEXSTART>>>>
|
||||
<SETG P-NCN 1>)>
|
||||
<COND (<AND <NOT <ZERO? <SET VERB <GET ,P-ITBL ,P-VERB>>>>
|
||||
<NOT .ADJ>
|
||||
<NOT .VRB>
|
||||
<NOT <EQUAL? .VERB <GET ,P-OTBL ,P-VERB>>>>
|
||||
<RFALSE>)
|
||||
(<EQUAL? ,P-NCN 2> <RFALSE>)
|
||||
(<EQUAL? <GET ,P-OTBL ,P-NC1> 1>
|
||||
<COND (<OR <ZERO? <SET TEMP <GET ,P-ITBL ,P-PREP1>>>
|
||||
<EQUAL? .TEMP <GET ,P-OTBL ,P-PREP1>>>
|
||||
<COND (<EQUAL? <GET ,P-ITBL ,P-PREP1>
|
||||
0
|
||||
<GET ,P-OTBL ,P-PREP1>>
|
||||
<COND (.ADJ
|
||||
<PUT ,P-OTBL ,P-NC1 <REST ,P-LEXV 2>>
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV <* 2 ,P-LEXSTART>>>
|
||||
<COND (<ZERO? <GET ,P-ITBL ,P-NC1L>>
|
||||
<PUT ,P-ITBL ,P-NC1L <REST ,P-LEXV 6>>)>
|
||||
<COND (<ZERO? ,P-NCN> <SETG P-NCN 1>)>)
|
||||
(T
|
||||
<PUT ,P-OTBL ,P-NC1 <GET ,P-ITBL ,P-NC1>>
|
||||
;<PUT ,P-OTBL ,P-NC1L <GET ,P-ITBL ,P-NC1L>>)>
|
||||
<PUT ,P-ITBL ,P-NC1L
|
||||
<REST ,P-LEXV <+ ,P-WORDLEN
|
||||
<* 2 ,P-LEXSTART>>>>)>
|
||||
<COND (<ZERO? ,P-NCN> <SETG P-NCN 1>)>)>
|
||||
<PUT ,P-OTBL ,P-NC1 <GET ,P-ITBL ,P-NC1>>
|
||||
<PUT ,P-OTBL ,P-NC1L <GET ,P-ITBL ,P-NC1L>>)
|
||||
(T <RFALSE>)>)
|
||||
(<EQUAL? <GET ,P-OTBL ,P-NC2> 1>
|
||||
<COND (<OR <ZERO? <SET TEMP <GET ,P-ITBL ,P-PREP1>>>
|
||||
<EQUAL? .TEMP <GET ,P-OTBL ,P-PREP2>>>
|
||||
<COND (.ADJ
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV 2>>
|
||||
<COND (<EQUAL? <GET ,P-ITBL ,P-PREP1>
|
||||
<>
|
||||
<GET ,P-OTBL ,P-PREP2>>
|
||||
<COND (<OR .ADJ
|
||||
<AND <ZERO? ,P-NCN> .NOUN>>
|
||||
<PUT ,P-ITBL ,P-NC1 <REST ,P-LEXV <* 2 ,P-LEXSTART>>>
|
||||
<COND (<ZERO? <GET ,P-ITBL ,P-NC1L>>
|
||||
<PUT ,P-ITBL ,P-NC1L <REST ,P-LEXV 6>>)>)>
|
||||
<PUT ,P-ITBL ,P-NC1L
|
||||
<REST ,P-LEXV <+ ,P-WORDLEN
|
||||
<* 2 ,P-LEXSTART>>>>)>)>
|
||||
<PUT ,P-OTBL ,P-NC2 <GET ,P-ITBL ,P-NC1>>
|
||||
<PUT ,P-OTBL ,P-NC2L <GET ,P-ITBL ,P-NC1L>>
|
||||
<SETG P-NCN 2>)
|
||||
|
@ -1845,33 +1853,37 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV:"
|
|||
<RFALSE>)
|
||||
(T
|
||||
<SET BEG <GET ,P-ITBL ,P-NC1>>
|
||||
<COND (.ADJ <SET BEG <REST ,P-LEXV 2>> <SET ADJ <>>)>
|
||||
<COND (.ADJ
|
||||
<SET BEG <REST ,P-LEXV <* 2 ,P-LEXSTART>>>
|
||||
<PUT ,P-ITBL ,P-NC1 .BEG>
|
||||
<SET ADJ <>>)>
|
||||
<SET END <GET ,P-ITBL ,P-NC1L>>
|
||||
<REPEAT ()
|
||||
<SET WRD <GET .BEG 0>>
|
||||
<COND (<EQUAL? .BEG .END>
|
||||
<COND (.ADJ <CLAUSE-WIN .ADJ> <RETURN>)
|
||||
(T <SETG P-ACLAUSE <>> <RFALSE>)>)
|
||||
(<OR <EQUAL? .WRD ,W?ALL ;,W?EVERYT ,W?ONE>
|
||||
<COND (.ADJB <CLAUSE-WIN .ADJB .ADJE> <RETURN>)
|
||||
(T
|
||||
<SETG P-ACLAUSE <>>
|
||||
<RFALSE>)>)>
|
||||
<SET WRD <GET .BEG 0>>
|
||||
<COND (<OR <EQUAL? .WRD ,W?ALL ,W?ONE>
|
||||
<AND <BTST <GETB .WRD ,P-PSOFF>
|
||||
,PS?ADJECTIVE> ;"same as WT?"
|
||||
<ADJ-CHECK .WRD .ADJ .ADJ>>>
|
||||
<SET ADJ .WRD>)
|
||||
(<EQUAL? .WRD ,W?ONE>
|
||||
<CLAUSE-WIN .ADJ>
|
||||
<RETURN>)
|
||||
<COND (<NOT .ADJB> <SET ADJB .BEG>)>
|
||||
<SET ADJ .WRD>
|
||||
<SET ADJE <REST .BEG ,P-WORDLEN>>)
|
||||
(<AND <BTST <GETB .WRD ,P-PSOFF> ,PS?OBJECT>
|
||||
<EQUAL? <+ .BEG ,P-WORDLEN> .END>>
|
||||
<COND (<EQUAL? .WRD ,P-ANAM>
|
||||
<CLAUSE-WIN .ADJ>)
|
||||
(T
|
||||
<CLAUSE-WIN>)>
|
||||
<RETURN>)>
|
||||
<COND (<AND ,P-ANAM
|
||||
<NOT <EQUAL? .WRD ,P-ANAM>>>
|
||||
<SETG P-ANAM <>>
|
||||
<SET ADJB <GET ,P-ITBL ,P-NC1>>
|
||||
<SET ADJE .END>)>)>
|
||||
<SET BEG <REST .BEG ,P-WORDLEN>>
|
||||
<COND (<EQUAL? .END 0>
|
||||
<SET END .BEG>
|
||||
<SETG P-NCN 1>
|
||||
<PUT ,P-ITBL ,P-NC1 <BACK .BEG 4>>
|
||||
<PUT ,P-ITBL ,P-NC1 <BACK .BEG ,P-WORDLEN>>
|
||||
<PUT ,P-ITBL ,P-NC1L .BEG>)>>)>)>
|
||||
<PUT ,P-VTBL 0 <GET ,P-OVTBL 0>>
|
||||
<PUTB ,P-VTBL 2 <GETB ,P-OVTBL 2>>
|
||||
|
@ -1886,17 +1898,18 @@ OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV:"
|
|||
(T <PUT ,P-ITBL .CNT <GET ,P-OTBL .CNT>>)>>
|
||||
T>
|
||||
|
||||
<ROUTINE CLAUSE-WIN ("OPT" (ADJ <>))
|
||||
<COND (.ADJ
|
||||
<PUT ,P-ITBL ,P-VERB <GET ,P-OTBL ,P-VERB>>)
|
||||
(ELSE <SET ADJ T>)>
|
||||
<PUT ,P-CCTBL ,CC-SBPTR ,P-ACLAUSE>
|
||||
<PUT ,P-CCTBL ,CC-SEPTR <+ ,P-ACLAUSE 1>>
|
||||
<ROUTINE CLAUSE-WIN ("OPT" (ADJB <>) (ADJE <>))
|
||||
<COND (.ADJB
|
||||
<PUT ,P-ITBL ,P-VERB <GET ,P-OTBL ,P-VERB>>)>
|
||||
<PUT ,P-CCTBL ,CC-BEG ,P-ACLAUSE>
|
||||
<PUT ,P-CCTBL ,CC-END <+ ,P-ACLAUSE 1>>
|
||||
<PUT ,P-CCTBL ,CC-IBEG .ADJB>
|
||||
<PUT ,P-CCTBL ,CC-IEND .ADJE>
|
||||
<COND (<EQUAL? ,P-ACLAUSE ,P-NC1>
|
||||
<PUT ,P-CCTBL ,CC-OCLAUSE ,P-OCL1>)
|
||||
<PUT ,P-CCTBL ,CC-CLAUSE ,P-OCL1>)
|
||||
(ELSE
|
||||
<PUT ,P-CCTBL ,CC-OCLAUSE ,P-OCL2>)>
|
||||
<CLAUSE-COPY ,P-OTBL ,P-OTBL .ADJ>
|
||||
<PUT ,P-CCTBL ,CC-CLAUSE ,P-OCL2>)>
|
||||
<CLAUSE-COPY ,P-OTBL ,P-OTBL>
|
||||
<AND <NOT <EQUAL? <GET ,P-OTBL ,P-NC2> 0>> <SETG P-NCN 2>>
|
||||
<SETG P-ACLAUSE <>>
|
||||
<RTRUE>>
|
||||
|
@ -2100,14 +2113,18 @@ something else.]" CR>>
|
|||
<COND (<IGRTR? CNT ,P-ITBLLEN> <RETURN>)
|
||||
(T <PUT ,P-OTBL .CNT <GET ,P-ITBL .CNT>>)>>
|
||||
<COND (<EQUAL? ,P-NCN 2>
|
||||
<PUT ,P-CCTBL ,CC-SBPTR ,P-NC2>
|
||||
<PUT ,P-CCTBL ,CC-SEPTR ,P-NC2L>
|
||||
<PUT ,P-CCTBL ,CC-OCLAUSE ,P-OCL2>
|
||||
<PUT ,P-CCTBL ,CC-BEG ,P-NC2>
|
||||
<PUT ,P-CCTBL ,CC-END ,P-NC2L>
|
||||
<PUT ,P-CCTBL ,CC-CLAUSE ,P-OCL2>
|
||||
<PUT ,P-CCTBL ,CC-IBEG <>>
|
||||
<PUT ,P-CCTBL ,CC-IEND <>>
|
||||
<CLAUSE-COPY ,P-ITBL ,P-OTBL>)>
|
||||
<COND (<NOT <L? ,P-NCN 1>>
|
||||
<PUT ,P-CCTBL ,CC-SBPTR ,P-NC1>
|
||||
<PUT ,P-CCTBL ,CC-SEPTR ,P-NC1L>
|
||||
<PUT ,P-CCTBL ,CC-OCLAUSE ,P-OCL1>
|
||||
<PUT ,P-CCTBL ,CC-BEG ,P-NC1>
|
||||
<PUT ,P-CCTBL ,CC-END ,P-NC1L>
|
||||
<PUT ,P-CCTBL ,CC-CLAUSE ,P-OCL1>
|
||||
<PUT ,P-CCTBL ,CC-IBEG <>>
|
||||
<PUT ,P-CCTBL ,CC-IEND <>>
|
||||
<CLAUSE-COPY ,P-ITBL ,P-OTBL>)>
|
||||
<COND (.D1
|
||||
<PUT ,P-OTBL ,P-PREP1 <GETB .D1 ,P-SPREP1>>
|
||||
|
@ -2243,43 +2260,42 @@ something else.]" CR>>
|
|||
<EQUAL? .WRD ,W?OUT>>
|
||||
<TELL " of">)>
|
||||
<RTRUE>)>>
|
||||
|
||||
"pointers used by CLAUSE-COPY (source/destination beginning/end pointers):"
|
||||
<CONSTANT CC-SBPTR 0>
|
||||
<CONSTANT CC-SEPTR 1>
|
||||
<CONSTANT CC-OCLAUSE 2>
|
||||
|
||||
"CLAUSE-COPY"
|
||||
|
||||
<GLOBAL P-CCTBL <TABLE 0 0 0 0 0>>
|
||||
|
||||
<ROUTINE CLAUSE-COPY (SRC DEST "OPT" (INSRT <>)
|
||||
"AUX" OCL BEG END BB EE OBEG CNT B E)
|
||||
<SET BB <GET ,P-CCTBL ,CC-SBPTR>>
|
||||
<SET EE <GET ,P-CCTBL ,CC-SEPTR>>
|
||||
<SET OCL <GET ,P-CCTBL ,CC-OCLAUSE>>
|
||||
"pointers used by CLAUSE-COPY (source/destination beginning/end pointers)"
|
||||
<CONSTANT CC-BEG 0> "slot in source to start from"
|
||||
<CONSTANT CC-END 1> "slot in source to end at"
|
||||
<CONSTANT CC-CLAUSE 2> "which orphan table to use"
|
||||
<CONSTANT CC-IBEG 3> "insertion beginning (from lexv)"
|
||||
<CONSTANT CC-IEND 4> "insertion ending"
|
||||
|
||||
"do something about duplicate words in clause?"
|
||||
|
||||
<ROUTINE CLAUSE-COPY (SRC DEST
|
||||
"AUX" (IBEG <>) IEND OCL BEG END BB EE OBEG CNT B E)
|
||||
<SET BB <GET ,P-CCTBL ,CC-BEG>>
|
||||
<SET EE <GET ,P-CCTBL ,CC-END>>
|
||||
<SET OCL <GET ,P-CCTBL ,CC-CLAUSE>>
|
||||
<SET IBEG <GET ,P-CCTBL ,CC-IBEG>>
|
||||
<SET IEND <GET ,P-CCTBL ,CC-IEND>>
|
||||
<SET BEG <GET .SRC .BB>>
|
||||
<SET END <GET .SRC .EE>>
|
||||
<SET OBEG <GET .OCL ,P-MATCHLEN>>
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? .BEG .END> <RETURN>)>
|
||||
<COND (<AND .INSRT
|
||||
<COND (<EQUAL? .BEG .END>
|
||||
<COND (<AND .IBEG <NOT ,P-ANAM>>
|
||||
<CLAUSE-SUBSTRUC .IBEG .IEND>)>
|
||||
<RETURN>)>
|
||||
<COND (<AND .IBEG
|
||||
<EQUAL? ,P-ANAM <GET .BEG 0>>>
|
||||
<COND (<EQUAL? .INSRT T>
|
||||
<SET B <GET ,P-ITBL ,P-NC1>>
|
||||
<SET E <GET ,P-ITBL ,P-NC1L>>
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? .B .E> <RETURN>)>
|
||||
<CLAUSE-ADD <GET .B 0>>
|
||||
<SET B <REST .B ,P-WORDLEN>>>)
|
||||
(ELSE
|
||||
<COND (<NOT <EQUAL? .INSRT <GET .OCL 1>>>
|
||||
<CLAUSE-ADD .INSRT>)>
|
||||
<CLAUSE-ADD ,P-ANAM>)>)
|
||||
(ELSE
|
||||
<CLAUSE-ADD <GET .BEG 0>>)>
|
||||
<CLAUSE-SUBSTRUC .IBEG .IEND>)>
|
||||
<CLAUSE-ADD <GET .BEG 0>>
|
||||
<SET BEG <REST .BEG ,P-WORDLEN>>>
|
||||
<COND (<AND <EQUAL? .SRC .DEST>
|
||||
<G? .OBEG 0>
|
||||
<L? 0 <SET CNT <- <GET .OCL ,P-MATCHLEN> .OBEG>>>>
|
||||
<COND (<AND <G? .OBEG 0>
|
||||
<G? <SET CNT <- <GET .OCL ,P-MATCHLEN> .OBEG>> 0>>
|
||||
<PUT .OCL ,P-MATCHLEN 0>
|
||||
<SET OBEG <+ .OBEG 1>>
|
||||
<REPEAT ()
|
||||
|
@ -2296,8 +2312,14 @@ something else.]" CR>>
|
|||
<REST .OCL
|
||||
<+ <* <GET .OCL ,P-MATCHLEN> ,P-LEXELEN> 2>>>>
|
||||
|
||||
<ROUTINE CLAUSE-SUBSTRUC (B E)
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? .B .E> <RETURN>)>
|
||||
<CLAUSE-ADD <GET .B 0>>
|
||||
<SET B <REST .B ,P-WORDLEN>>>>
|
||||
|
||||
<ROUTINE CLAUSE-ADD (WRD "OPT" (CHECK? <>) "AUX" OCL PTR)
|
||||
<SET OCL <GET ,P-CCTBL ,CC-OCLAUSE>>
|
||||
<SET OCL <GET ,P-CCTBL ,CC-CLAUSE>>
|
||||
<SET PTR <GET .OCL ,P-MATCHLEN>>
|
||||
<COND (<AND .CHECK? <NOT <ZERO? .PTR>> <ZMEMQ .WRD .OCL>>
|
||||
<RFALSE>)
|
||||
|
@ -2305,8 +2327,8 @@ something else.]" CR>>
|
|||
<SET PTR <+ .PTR 2>>
|
||||
<PUT .OCL <- .PTR 1> .WRD>
|
||||
<PUT .OCL .PTR 0>
|
||||
<PUT .OCL ,P-MATCHLEN .PTR>)>>
|
||||
|
||||
<PUT .OCL ,P-MATCHLEN .PTR>)>>
|
||||
|
||||
<ROUTINE PREP-FIND (PREP "AUX" (CNT 0) SIZE)
|
||||
;#DECL ((PREP CNT SIZE) FIX)
|
||||
<SET SIZE <* <GET ,PREPOSITIONS 0> 2>>
|
||||
|
@ -2460,8 +2482,6 @@ something else.]" CR>>
|
|||
<RFALSE>)>
|
||||
<SET BUT ,P-BUTS>
|
||||
<PUT/B .BUT ,P-MATCHLEN 0>)
|
||||
(<BUZZER-WORD? .WRD .PTR>
|
||||
<RFALSE>)
|
||||
(<EQUAL? .WRD ,W?A ,W?ONE>
|
||||
<COND (<ZERO? ,P-ADJ>
|
||||
<SETG P-GETFLAGS ,P-ONE>
|
||||
|
@ -2479,7 +2499,9 @@ something else.]" CR>>
|
|||
<COND (<NOT <GET-OBJECT <OR .BUT .TBL>>>
|
||||
<RFALSE>)>
|
||||
T)
|
||||
(<WT? .WRD ,PS?BUZZ-WORD>)
|
||||
(<WT? .WRD ,PS?BUZZ-WORD>
|
||||
<COND (<BUZZER-WORD? .WRD .PTR>
|
||||
<RFALSE>)>)
|
||||
(<EQUAL? .WRD ,W?AND ,W?COMMA>)
|
||||
(<==? .WRD ,W?OF>
|
||||
<COND (<0? ,P-GETFLAGS>
|
||||
|
@ -2764,35 +2786,39 @@ something else.]" CR>>
|
|||
<ROUTINE GENERIC-BEDROOM (TBL "OPTIONAL" (N 0) "AUX" RM)
|
||||
<COND (<ZERO? .N>
|
||||
<SET N <GET/B .TBL ,P-MATCHLEN>>)>
|
||||
<COND (<ZMEMQ/B ,P-IT-OBJECT .TBL>
|
||||
<RETURN ,P-IT-OBJECT>)
|
||||
(<ZMEMQ/B ,HERE .TBL>
|
||||
<RETURN ,HERE>)
|
||||
<COND (<SET RM <ZMEMQ ,HERE ,CHAR-CLOSET-TABLE>>
|
||||
<COND (<EQUAL? ,W?DOOR ,P-NAM ,P-XNAM>
|
||||
<RETURN <FIND-FLAG-LG ,HERE ,DOORBIT>>)
|
||||
(T <RETURN <GET ,CHAR-ROOM-TABLE .RM>>)>)
|
||||
(<AND <EQUAL? ,A?JACK\'S ,P-ADJ ,P-XADJ>
|
||||
<EQUAL? ,W?DOOR ,P-NAM ,P-XNAM>>
|
||||
<RETURN ,JACK-ROOM>)
|
||||
(<ZMEMQ/B ,P-IT-OBJECT .TBL>
|
||||
<RETURN ,P-IT-OBJECT>)
|
||||
(<ZMEMQ/B ,HERE .TBL>
|
||||
<RETURN ,HERE>)
|
||||
(<REMOTE-VERB?>
|
||||
<COND (<EQUAL? ,A?BATH ,P-ADJ ,P-XADJ>
|
||||
<RETURN ,YOUR-BATHROOM>)
|
||||
(<EQUAL? ,W?ROOM ,P-NAM ,P-XNAM>
|
||||
<RETURN ,YOUR-ROOM>)>)
|
||||
<RETURN ,YOUR-ROOM>)
|
||||
(T <SET RM <>>)>)
|
||||
(<EQUAL? ,HERE ,GALLERY ,YOUR-BATHROOM>
|
||||
<RETURN ,YOUR-ROOM>)
|
||||
(<ZMEMQ ,HERE ,CHAR-ROOM-TABLE>
|
||||
<RETURN ,HERE>)
|
||||
(<SET RM <ZMEMQ ,HERE ,CHAR-CLOSET-TABLE>>
|
||||
<COND (<EQUAL? ,W?DOOR ,P-NAM ,P-XNAM>
|
||||
<RETURN <FIND-FLAG-LG ,HERE ,DOORBIT>>)
|
||||
(T <RETURN <GET ,CHAR-ROOM-TABLE .RM>>)>)
|
||||
(<VERB? CLIMB-DOWN CLIMB-UP WALK-TO>
|
||||
<RETURN ,YOUR-ROOM>)
|
||||
(T
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? ,HERE <GETP <SET RM <GET/B .TBL .N>>,P?STATION>>
|
||||
<RETURN .RM>)
|
||||
(<DLESS? N 1>
|
||||
<RETURN>)>>)>
|
||||
<COND (<EQUAL? ,WINNER ,FRIEND ,LORD>
|
||||
<COND (<EQUAL? ,HERE <GETP <SET RM <GET/B .TBL .N>> ,P?STATION>>
|
||||
<RETURN>)
|
||||
(<DLESS? N 1>
|
||||
<SET RM <>>
|
||||
<RETURN>)>>)>
|
||||
<COND (<T? .RM>
|
||||
<RETURN .RM>)
|
||||
(<EQUAL? ,WINNER ,FRIEND ,LORD>
|
||||
<RETURN ,YOUR-ROOM>)
|
||||
(T <RFALSE>)>>
|
||||
|
||||
|
@ -2803,18 +2829,12 @@ something else.]" CR>>
|
|||
,GREAT-HALL)
|
||||
(T ,OLD-GREAT-HALL)>>
|
||||
|
||||
;<ROUTINE GENERIC-CAR (X "OPTIONAL" Y) ,CAR>
|
||||
|
||||
<ROUTINE GENERIC-LENS (X "OPTIONAL" Y)
|
||||
<COND (<REMOTE-VERB?>
|
||||
,LENS)
|
||||
(<NOT <FSET? ,LENS-2 ,SEENBIT>>
|
||||
,LENS-1)>>
|
||||
|
||||
;<ROUTINE GENERIC-PAINTING (X "OPTIONAL" Y)
|
||||
<COND (<FSET? ,HYDE-IOU ,TOUCHBIT>
|
||||
,OIL-PAINTING)>>
|
||||
|
||||
<ROUTINE GENERIC-RECORDER (X "OPTIONAL" Y)
|
||||
<COND (<NOT <FSET? ,JACK-TAPE ,SEENBIT>>
|
||||
,RECORDER)>>
|
||||
|
@ -2885,8 +2905,9 @@ something else.]" CR>>
|
|||
(T
|
||||
<TELL "[Which">
|
||||
<COND (<OR <T? ,P-OFLAG> <T? ,P-MERGED> <T? ,P-AND>>
|
||||
<TELL !\ >
|
||||
<PRINTB ,P-NAM>)
|
||||
<COND (<T? ,P-NAM>
|
||||
<TELL !\ >
|
||||
<PRINTB ,P-NAM>)>)
|
||||
(<EQUAL? .TBL ,P-PRSO>
|
||||
<CLAUSE-PRINT ,P-NC1 ,P-NC1L <>>)
|
||||
(T
|
||||
|
|
2891
people.zap
Normal file
2891
people.zap
Normal file
File diff suppressed because it is too large
Load diff
52
people.zil
52
people.zil
|
@ -2039,10 +2039,13 @@ CHE ,GHOST-NEW " is wearing heavy white makeup with black eyes and lips. ">
|
|||
<RTRUE>)
|
||||
(<VERB? SMILE> ;"friendly"
|
||||
<RTRUE>)
|
||||
(<SPEAKING-VERB? ,GHOST-NEW> ;"friendly"
|
||||
(<SPEAKING-VERB? ,GHOST-NEW> ;"friendly"
|
||||
<RTRUE>)
|
||||
(<VERB? ARREST MUNG PUSH SLAP STOP TAKE YELL> ;"unfriendly"
|
||||
<RETURN 2>)>>
|
||||
(<VERB? ARREST MUNG PUSH SLAP STOP YELL> ;"unfriendly"
|
||||
<RETURN 2>)
|
||||
(<VERB? TAKE> ;"unfriendly"
|
||||
<COND (<NOT <FSET? ,GHOST-NEW ,MUNGBIT>>
|
||||
<RETURN 2>)>)>>
|
||||
|
||||
<GLOBAL VILLAIN-KNOWN?:FLAG <>>
|
||||
|
||||
|
@ -2067,10 +2070,12 @@ CHE ,GHOST-NEW " is wearing heavy white makeup with black eyes and lips. ">
|
|||
<PUTB <GETPT ,HANDS ,P?ADJECTIVE>
|
||||
,OTHER-POSS-POS .ADJ>
|
||||
<PUTB <GETPT ,EYE ,P?ADJECTIVE>
|
||||
,OTHER-POSS-POS .ADJ>
|
||||
<PUTB <GETPT ,OTHER-OUTFIT ,P?ADJECTIVE>
|
||||
,OTHER-POSS-POS .ADJ>)>)>
|
||||
<THIS-IS-IT ,VILLAIN-PER>
|
||||
<FSET ,VILLAIN-PER ,MUNGBIT>
|
||||
<PUTP ,VILLAIN-PER ,P?LDESC 19 ;"out cold" ;<GETP ,GHOST-NEW ,P?LDESC>>
|
||||
<PUTP ,VILLAIN-PER ,P?LDESC 19 ;"out cold">
|
||||
<SETG VILLAIN-KNOWN? T>
|
||||
<TELL
|
||||
"When you remove the " D ,COSTUME ", you discover " D ,VILLAIN-PER
|
||||
|
@ -2117,34 +2122,35 @@ CHE ,GHOST-NEW " is wearing heavy white makeup with black eyes and lips. ">
|
|||
<SETG CLOCK-WAIT T>
|
||||
<TELL "(There is no wig!)" CR>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<NOT <NOUN-USED? ,W?WIG>>
|
||||
<DESCRIBE-GOWN>
|
||||
<COND (<EQUAL? <LOC ,COSTUME> ,GHOST-NEW ,VILLAIN-PER>
|
||||
<TELL " It's on">)
|
||||
(T <TELL
|
||||
" When you hold it up, you can see it would fit">)>
|
||||
<TELL " a ">
|
||||
<COND (<EQUAL? ,VARIATION ,LORD-C ,FRIEND-C ,DOCTOR-C>
|
||||
<TELL "person of average height.">)
|
||||
(T ;<EQUAL? ,VARIATION ;,DEALER-C ,PAINTER-C ;,OFFICER-C>
|
||||
<TELL "tall person.">)>
|
||||
<CRLF>)>
|
||||
<COND (<AND <NOT <NOUN-USED? ,W?GOWN>>
|
||||
<NOT <EQUAL? ,VARIATION ,LORD-C>>>
|
||||
<TELL
|
||||
"It's obvious that the wig was designed to resemble " 'LOVER "'s long, flowing
|
||||
hair.">
|
||||
hair." CR>
|
||||
<COND (<NOT <EQUAL? <LOC ,COSTUME> ,GHOST-NEW ,VILLAIN-PER>>
|
||||
<TELL " Inside, you notice several individual ">
|
||||
<TELL "Inside, you notice several individual ">
|
||||
<COND (<EQUAL? ,VARIATION ,FRIEND-C> <TELL "red">)
|
||||
(<EQUAL? ,VARIATION ,DOCTOR-C> <TELL "grayish">)
|
||||
;(<EQUAL?,VARIATION ,DEALER-C><TELL "sandy-brown">)
|
||||
;(<EQUAL?,VARIATION,DEALER-C><TELL "sandy-brown">)
|
||||
(T ;<EQUAL? ,VARIATION ,PAINTER-C> <TELL "tawny">)
|
||||
;(<EQUAL?,VARIATION,OFFICER-C><TELL "dark blond">)>
|
||||
;(<EQUAL?,VARIATION,OFFICER-C><TELL"dark blond">)>
|
||||
<TELL " hairs, the same color as ">
|
||||
<COND ;(<EQUAL? ,VARIATION ,LORD-C> <TELL 'LOVER>)
|
||||
(T <TELL D <GET ,CHARACTER-TABLE ,VARIATION>>)>
|
||||
<TELL "'s hair.">)>
|
||||
<CRLF>)>
|
||||
<COND (<NOT <NOUN-USED? ,W?WIG>>
|
||||
<DESCRIBE-GOWN>
|
||||
<COND (<EQUAL? <LOC ,COSTUME> ,GHOST-NEW ,VILLAIN-PER>
|
||||
<TELL " It's on a ">)
|
||||
(T <TELL
|
||||
" When you hold it up, you can see it would fit a ">)>
|
||||
<COND (<EQUAL? ,VARIATION ,LORD-C ,FRIEND-C ,DOCTOR-C>
|
||||
<TELL "person of average height." CR>)
|
||||
(T ;<EQUAL? ,VARIATION ;,DEALER-C ,PAINTER-C ;,OFFICER-C>
|
||||
<TELL "tall person." CR>)>)>
|
||||
<CONGRATS ,COSTUME>
|
||||
<TELL "'s hair." CR>
|
||||
<CONGRATS ,COSTUME>)>)>
|
||||
<RTRUE>)
|
||||
;(<VERB? FIND>
|
||||
<COND (<IN? ,COSTUME ,HERE>
|
||||
|
@ -2157,7 +2163,9 @@ hair.">
|
|||
<PERFORM ,V?UNDRESS ,GHOST-NEW>
|
||||
<RTRUE>)>)
|
||||
(<OR <VERB? WEAR>
|
||||
<AND <VERB? PUT> <FSET? ,PRSI ,PERSONBIT>>>
|
||||
<AND <VERB? PUT>
|
||||
<T? ,PRSI>
|
||||
<FSET? ,PRSI ,PERSONBIT>>>
|
||||
<WEAR-SCARE>)>>
|
||||
|
||||
<ROUTINE WEAR-SCARE ()
|
||||
|
|
216
places.zap
Normal file
216
places.zap
Normal file
|
@ -0,0 +1,216 @@
|
|||
|
||||
|
||||
.FUNCT NULL-F,A1,A2
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT DOOR-ROOM,RM,DR,P=0,TBL
|
||||
?PRG1: NEXTP RM,P >P
|
||||
ZERO? P /FALSE
|
||||
LESS? P,LOW-DIRECTION /FALSE
|
||||
GETPT RM,P >TBL
|
||||
PTSIZE TBL
|
||||
EQUAL? DEXIT,STACK \?PRG1
|
||||
GETB TBL,DEXITOBJ
|
||||
EQUAL? DR,STACK \?PRG1
|
||||
GETB TBL,REXIT
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT FIND-FLAG,RM,FLAG,EXCLUDED=0,O
|
||||
FIRST? RM >O /?PRG1
|
||||
?PRG1: ZERO? O /FALSE
|
||||
FSET? O,FLAG \?CCL7
|
||||
FSET? O,INVISIBLE /?CCL7
|
||||
EQUAL? O,EXCLUDED /?CCL7
|
||||
RETURN O
|
||||
?CCL7: NEXT? O >O /?PRG1
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT FIND-FLAG-NOT,RM,FLAG,O
|
||||
FIRST? RM >O /?PRG1
|
||||
?PRG1: ZERO? O /FALSE
|
||||
FSET? O,FLAG /?CCL7
|
||||
FSET? O,INVISIBLE /?CCL7
|
||||
RETURN O
|
||||
?CCL7: NEXT? O >O /?PRG1
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT FIND-FLAG-LG,RM,FLAG,FLAG2=0,TBL,O,CNT=0,SIZE
|
||||
GETPT RM,P?GLOBAL >TBL
|
||||
ZERO? TBL /FALSE
|
||||
PTSIZE TBL
|
||||
SUB STACK,1 >SIZE
|
||||
?PRG4: GETB TBL,CNT >O
|
||||
FSET? O,FLAG \?CCL8
|
||||
FSET? O,INVISIBLE /?CCL8
|
||||
ZERO? FLAG2 /?CTR7
|
||||
FSET? O,FLAG2 \?CCL8
|
||||
?CTR7: RETURN O
|
||||
?CCL8: IGRTR? 'CNT,SIZE \?PRG4
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT FIND-FLAG-HERE,FLAG,NOT1=0,NOT2=0,O
|
||||
FIRST? HERE >O /?PRG1
|
||||
?PRG1: ZERO? O /FALSE
|
||||
FSET? O,FLAG \?CCL7
|
||||
FSET? O,INVISIBLE /?CCL7
|
||||
EQUAL? O,NOT1,NOT2 /?CCL7
|
||||
RETURN O
|
||||
?CCL7: NEXT? O >O /?PRG1
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT FIND-FLAG-HERE-NOT,FLAG,NFLAG,NOT2=0,O
|
||||
FIRST? HERE >O /?PRG1
|
||||
?PRG1: ZERO? O /FALSE
|
||||
FSET? O,FLAG \?CCL7
|
||||
FSET? O,NFLAG /?CCL7
|
||||
FSET? O,INVISIBLE /?CCL7
|
||||
EQUAL? O,NOT2 /?CCL7
|
||||
RETURN O
|
||||
?CCL7: NEXT? O >O /?PRG1
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT LEVER-F,X=0
|
||||
FSET? HERE,SECRETBIT \?CCL3
|
||||
CALL FIND-FLAG-LG,HERE,DOORBIT >X
|
||||
JUMP ?CND1
|
||||
?CCL3: EQUAL? HERE,DUNGEON,LOVER-PATH \?CND1
|
||||
SET 'X,PRIEST-DOOR
|
||||
?CND1: ZERO? X \?CCL7
|
||||
CALL NOT-HERE,LEVER
|
||||
RTRUE
|
||||
?CCL7: EQUAL? PRSA,V?TURN,V?TAKE,V?RUB /?CTR8
|
||||
EQUAL? PRSA,V?PUSH,V?MOVE-DIR,V?MOVE \?CCL9
|
||||
?CTR8: FSET X,TOUCHBIT
|
||||
CALL OPEN-CLOSE,X
|
||||
RSTACK
|
||||
?CCL9: EQUAL? PRSA,V?OPEN \?CCL13
|
||||
FSET X,TOUCHBIT
|
||||
CALL OKAY,X,STR?66
|
||||
RTRUE
|
||||
?CCL13: EQUAL? PRSA,V?CLOSE \FALSE
|
||||
FSET X,TOUCHBIT
|
||||
CALL OKAY,X,STR?61
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT OPEN-CLOSE,DR,SAY-NAME=1,X
|
||||
ZERO? SAY-NAME /?PRG5
|
||||
CALL START-SENTENCE,DR
|
||||
?PRG5: PRINTI " creaks "
|
||||
FSET? DR,OPENBIT \?CCL9
|
||||
FCLEAR DR,OPENBIT
|
||||
CALL THIS-IS-IT,DR
|
||||
PRINTI "closed.
|
||||
"
|
||||
CALL REMOVE-CAREFULLY
|
||||
RTRUE
|
||||
?CCL9: CALL DOOR-ROOM,HERE,DR >X
|
||||
ZERO? X /FALSE
|
||||
FSET DR,OPENBIT
|
||||
CALL THIS-IS-IT,X
|
||||
PRINTI "open, revealing"
|
||||
FSET? HERE,SECRETBIT \?CCL18
|
||||
CALL PRINTT,X
|
||||
JUMP ?CND16
|
||||
?CCL18: EQUAL? HERE,LOVER-PATH \?PRG25
|
||||
CALL PRINTT,DUNGEON
|
||||
JUMP ?CND16
|
||||
?PRG25: PRINTI " a "
|
||||
PRINTD PASSAGE
|
||||
?CND16: FSET DR,SEENBIT
|
||||
FSET X,SEENBIT
|
||||
PRINTR "!"
|
||||
|
||||
|
||||
.FUNCT OUTSIDE?,RM
|
||||
CALL GLOBAL-IN?,MOON,RM
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT WINDOW-F
|
||||
EQUAL? PRSA,V?UNLOCK /?CTR2
|
||||
EQUAL? PRSA,V?LOCK,V?CLOSE,V?OPEN \?CCL3
|
||||
?CTR2: EQUAL? HERE,DRIVEWAY /?CTR7
|
||||
LOC PLAYER
|
||||
EQUAL? STACK,CAR \?CCL8
|
||||
?CTR7: CALL NO-NEED
|
||||
RTRUE
|
||||
?CCL8: EQUAL? PRSA,V?OPEN \?CCL12
|
||||
PRINTR "The night air is too damp and chilly."
|
||||
?CCL12: CALL ALREADY,WINDOW,STR?61
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?THROUGH,V?LEAVE,V?DISEMBARK \?CCL16
|
||||
PRINTR "It's closed tight against the mist."
|
||||
?CCL16: EQUAL? PRSA,V?LOOK-OUTSIDE,V?LOOK-THROUGH,V?LOOK-INSIDE \FALSE
|
||||
LOC WINNER
|
||||
EQUAL? STACK,CAR \?PRG24
|
||||
CALL V-LOOK
|
||||
RSTACK
|
||||
?PRG24: PRINTR "All you can see are grey shapes in the moonlight."
|
||||
|
||||
|
||||
.FUNCT CORRIDOR-LOOK,ITM=0,C,Z,COR,VAL,FOUND=0
|
||||
GETP HERE,P?CORRIDOR >C
|
||||
ZERO? C /FALSE
|
||||
?PRG5: SUB C,4 >Z
|
||||
LESS? Z,0 /?CCL9
|
||||
SET 'COR,COR-4
|
||||
JUMP ?CND7
|
||||
?CCL9: SUB C,2 >Z
|
||||
LESS? Z,0 /?CCL11
|
||||
SET 'COR,COR-2
|
||||
JUMP ?CND7
|
||||
?CCL11: SUB C,1 >Z
|
||||
LESS? Z,0 /?REP6
|
||||
SET 'COR,COR-1
|
||||
?CND7: CALL CORRIDOR-CHECK,COR,ITM >VAL
|
||||
ZERO? FOUND \?CND14
|
||||
SET 'FOUND,VAL
|
||||
?CND14: SET 'C,Z
|
||||
JUMP ?PRG5
|
||||
?REP6: RETURN FOUND
|
||||
|
||||
|
||||
.FUNCT CORRIDOR-CHECK,COR,ITM,CNT=1,PAST=0,FOUND=0,RM,OBJ
|
||||
?PRG1: INC 'CNT
|
||||
GET COR,CNT >RM
|
||||
ZERO? RM /FALSE
|
||||
EQUAL? RM,ITM \?CCL7
|
||||
GET COR,PAST
|
||||
RSTACK
|
||||
?CCL7: EQUAL? ITM,ROOMS \?CCL9
|
||||
CALL THIS-IT?,RM
|
||||
ZERO? STACK /?CCL9
|
||||
RETURN RM
|
||||
?CCL9: CALL LIT?,RM
|
||||
ZERO? STACK \?CCL13
|
||||
EQUAL? ITM,ROOMS \?PRG1
|
||||
?CCL13: EQUAL? RM,HERE \?CCL17
|
||||
SET 'PAST,1
|
||||
JUMP ?PRG1
|
||||
?CCL17: FIRST? RM >OBJ \?PRG1
|
||||
?PRG19: ZERO? ITM /?CCL23
|
||||
EQUAL? OBJ,ITM \?CND21
|
||||
GET COR,PAST >FOUND
|
||||
JUMP ?REP20
|
||||
?CCL23: FSET? OBJ,PERSONBIT \?CND21
|
||||
CALL IN-MOTION?,OBJ,TRUE-VALUE
|
||||
ZERO? STACK \?CND21
|
||||
PRINTD OBJ
|
||||
PRINTI " is in"
|
||||
CALL PRINTT,RM
|
||||
PRINTC 46
|
||||
CRLF
|
||||
?CND21: NEXT? OBJ >OBJ /?KLU35
|
||||
?KLU35: ZERO? OBJ \?PRG19
|
||||
?REP20: ZERO? FOUND /?PRG1
|
||||
RETURN FOUND
|
||||
|
||||
.ENDI
|
249
places.zil
Normal file
249
places.zil
Normal file
|
@ -0,0 +1,249 @@
|
|||
"PLACES for MOONMIST
|
||||
Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
||||
|
||||
"The usual globals"
|
||||
|
||||
<OBJECT ROOMS
|
||||
(DESC "that")
|
||||
(FLAGS NARTICLEBIT)>
|
||||
|
||||
<ROUTINE NULL-F ("OPTIONAL" A1 A2)
|
||||
<RFALSE>>
|
||||
|
||||
<ROUTINE DOOR-ROOM (RM DR "AUX" (P 0) TBL)
|
||||
;<COND (<==? .RM ,CAR>
|
||||
<SET RM <GETP ,CAR ,P?STATION>>)>
|
||||
<REPEAT ()
|
||||
<COND (<OR <0? <SET P <NEXTP .RM .P>>>
|
||||
<L? .P ,LOW-DIRECTION>>
|
||||
<RFALSE>)
|
||||
(<AND <==? ,DEXIT <PTSIZE <SET TBL <GETPT .RM .P>>>>
|
||||
<==? .DR <GET-DOOR-OBJ .TBL>>>
|
||||
<RETURN <GET-REXIT-ROOM .TBL>>)>>>
|
||||
|
||||
;<ROUTINE DOOR-DIR (RM DR "AUX" (P 0) TBL)
|
||||
<REPEAT ()
|
||||
<COND (<OR <0? <SET P <NEXTP .RM .P>>>
|
||||
<L? .P ,LOW-DIRECTION>>
|
||||
<RFALSE>)
|
||||
(<AND <==? ,DEXIT <PTSIZE <SET TBL <GETPT .RM .P>>>>
|
||||
<==? .DR <GET-DOOR-OBJ .TBL>>
|
||||
<OR <EQUAL? .P ,P?NORTH ,P?EAST>
|
||||
<EQUAL? .P ,P?SOUTH ,P?WEST>>>
|
||||
<RETURN .P>)>>>
|
||||
|
||||
<ROUTINE FIND-FLAG (RM FLAG "OPTIONAL" (EXCLUDED <>) "AUX" O)
|
||||
<SET O <FIRST? .RM>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RETURN <>>)
|
||||
(<AND <FSET? .O .FLAG>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<NOT <==? .O .EXCLUDED>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
<ROUTINE FIND-FLAG-NOT (RM FLAG ;"OPTIONAL" ;(EXCLUDED <>) "AUX" O)
|
||||
<SET O <FIRST? .RM>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RETURN <>>)
|
||||
(<AND <NOT <FSET? .O .FLAG>>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
;<NOT <==? .O .EXCLUDED>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
<ROUTINE FIND-FLAG-LG (RM FLAG "OPTIONAL" (FLAG2 0) "AUX" TBL O (CNT 0) SIZE)
|
||||
<COND (<SET TBL <GETPT .RM ,P?GLOBAL>>
|
||||
<SET SIZE <RMGL-SIZE .TBL>>
|
||||
<REPEAT ()
|
||||
<SET O <GET/B .TBL .CNT>>
|
||||
<COND (<AND <FSET? .O .FLAG>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<OR <0? .FLAG2> <FSET? .O .FLAG2>>>
|
||||
<RETURN .O>)
|
||||
(<IGRTR? CNT .SIZE> <RFALSE>)>>)>>
|
||||
|
||||
<ROUTINE FIND-FLAG-HERE (FLAG "OPTIONAL" (NOT1 <>) (NOT2 <>) "AUX" O)
|
||||
<SET O <FIRST? ,HERE>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RETURN <>>)
|
||||
(<AND <FSET? .O .FLAG>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<NOT <EQUAL? .O .NOT1 .NOT2>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
;<ROUTINE FIND-FLAG-HERE-BOTH (FLAG FLAG2 "OPTIONAL" (NOT2 <>) "AUX" O)
|
||||
<SET O <FIRST? ,HERE>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RETURN <>>)
|
||||
(<AND <FSET? .O .FLAG>
|
||||
<FSET? .O .FLAG2>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<NOT <EQUAL? .O .NOT2>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
<ROUTINE FIND-FLAG-HERE-NOT (FLAG NFLAG "OPTIONAL" (NOT2 <>) "AUX" O)
|
||||
<SET O <FIRST? ,HERE>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RETURN <>>)
|
||||
(<AND <FSET? .O .FLAG>
|
||||
<NOT <FSET? .O .NFLAG>>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<NOT <EQUAL? .O .NOT2>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
<OBJECT LEVER
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "lever")
|
||||
(SYNONYM LEVER HANDLE)
|
||||
(FLAGS TRYTAKEBIT SEENBIT)
|
||||
(ACTION LEVER-F)>
|
||||
|
||||
<ROUTINE LEVER-F ("AUX" (X <>))
|
||||
<COND (<FSET? ,HERE ,SECRETBIT>
|
||||
<SET X <FIND-FLAG-LG ,HERE ,DOORBIT>>)
|
||||
(<EQUAL? ,HERE ,DUNGEON ,LOVER-PATH>
|
||||
<SET X ,PRIEST-DOOR>)>
|
||||
<COND (<ZERO? .X>
|
||||
<NOT-HERE ,LEVER>
|
||||
<RTRUE>)
|
||||
(<VERB? MOVE MOVE-DIR PUSH RUB TAKE TURN>
|
||||
<FSET .X ,TOUCHBIT ;,SEENBIT>
|
||||
<OPEN-CLOSE .X>)
|
||||
(<VERB? OPEN>
|
||||
<FSET .X ,TOUCHBIT ;,SEENBIT>
|
||||
<OKAY .X "open">
|
||||
<RTRUE>)
|
||||
(<VERB? CLOSE>
|
||||
<FSET .X ,TOUCHBIT ;,SEENBIT>
|
||||
<OKAY .X "closed">
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE OPEN-CLOSE (DR "OPTIONAL" (SAY-NAME T) X)
|
||||
<COND (.SAY-NAME
|
||||
<TELL CTHE .DR>)>
|
||||
<TELL " creaks ">
|
||||
<COND (<FSET? .DR ,OPENBIT>
|
||||
<FCLEAR .DR ,OPENBIT>
|
||||
<THIS-IS-IT .DR>
|
||||
<TELL "closed.|">
|
||||
<REMOVE-CAREFULLY>
|
||||
<RTRUE>)
|
||||
(<SET X <DOOR-ROOM ,HERE .DR>>
|
||||
<FSET .DR ,OPENBIT>
|
||||
<THIS-IS-IT .X>
|
||||
<TELL "open, revealing">
|
||||
<COND (<FSET? ,HERE ,SECRETBIT>
|
||||
<TELL THE .X>)
|
||||
(<==? ,HERE ,LOVER-PATH>
|
||||
<TELL THE ,DUNGEON>)
|
||||
(T
|
||||
<TELL " a " D ,PASSAGE>
|
||||
;<PRINTB <GET <GETPT .X ,P?SYNONYM> 0>>)>
|
||||
<FSET .DR ,SEENBIT>
|
||||
<FSET .X ,SEENBIT>
|
||||
<TELL "!" CR>)>>
|
||||
|
||||
<ROUTINE OUTSIDE? (RM) <GLOBAL-IN? ,MOON .RM>>
|
||||
|
||||
;<OBJECT CAR-WINDOW
|
||||
(IN CAR ;LOCAL-GLOBALS)
|
||||
(DESC "car window")
|
||||
(ADJECTIVE CAR)
|
||||
(SYNONYM WINDOW WINDSHIELD WINDSCREEN DOOR)
|
||||
(GENERIC GENERIC-WINDOW)
|
||||
(FLAGS SEENBIT NDESCBIT)
|
||||
(ACTION WINDOW-F)>
|
||||
|
||||
<OBJECT WINDOW
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC ;"room " "window")
|
||||
;(ADJECTIVE ROOM)
|
||||
(SYNONYM WINDOW WINDSHIELD WINDSCREEN DOOR)
|
||||
;(GENERIC GENERIC-WINDOW)
|
||||
(FLAGS SEENBIT NDESCBIT)
|
||||
(ACTION WINDOW-F)>
|
||||
|
||||
<ROUTINE WINDOW-F ()
|
||||
<COND (<VERB? OPEN CLOSE LOCK UNLOCK>
|
||||
<COND (<OR <EQUAL? ,HERE ,DRIVEWAY>
|
||||
<EQUAL? <LOC ,PLAYER> ,CAR>>
|
||||
;<DOBJ? CAR-WINDOW>
|
||||
<NO-NEED ;"do that">
|
||||
;<CAR-DOOR-PSEUDO>
|
||||
<RTRUE>)
|
||||
(<VERB? OPEN>
|
||||
<TELL "The night air is too damp and chilly." CR>)
|
||||
(T ;<VERB? CLOSE>
|
||||
<ALREADY ,WINDOW "closed">
|
||||
<RTRUE>)>)
|
||||
(<VERB? DISEMBARK ;"CLIMB OUT" LEAVE THROUGH>
|
||||
<TELL "It's closed tight against the mist." CR>)
|
||||
(<VERB? LOOK-INSIDE LOOK-THROUGH LOOK-OUTSIDE>
|
||||
<COND (<EQUAL? <LOC ,WINNER> ,CAR>
|
||||
<V-LOOK>
|
||||
;<ROOM-PEEK <GETP ,CAR ,P?STATION> T>)
|
||||
(T <TELL
|
||||
"All you can see are grey shapes in the moonlight." CR>)>)>>
|
||||
|
||||
"Other stuff"
|
||||
|
||||
<GLOBAL COR-1 <PTABLE P?EAST P?WEST CORR-1 JUNCTION 0>>
|
||||
<GLOBAL COR-2 <PTABLE P?NORTH P?SOUTH GALLERY-CORNER GALLERY 0>>
|
||||
<GLOBAL COR-4 <PTABLE P?UP P?DOWN LUMBER-ROOM TAMARA-ROOM 0>>
|
||||
|
||||
<ROUTINE CORRIDOR-LOOK ("OPTIONAL" (ITM <>) ;(GRAB <>)
|
||||
"AUX" C Z COR VAL (FOUND <>))
|
||||
<COND ;(<EQUAL? .ITM ,PLAYER>
|
||||
<RFALSE>)
|
||||
(<T? <SET C <GETP ,HERE ,P?CORRIDOR>>>
|
||||
<COND ;(<L? .C 0>
|
||||
<CORRIDOR-CHECK <> .ITM .GRAB>)
|
||||
(T
|
||||
<REPEAT ()
|
||||
<COND (<NOT <L? <SET Z <- .C 4>> 0>>
|
||||
<SET COR ,COR-4>)
|
||||
(<NOT <L? <SET Z <- .C 2>> 0>>
|
||||
<SET COR ,COR-2>)
|
||||
(<NOT <L? <SET Z <- .C 1>> 0>>
|
||||
<SET COR ,COR-1>)
|
||||
(T <RETURN>)>
|
||||
<SET VAL <CORRIDOR-CHECK .COR .ITM ;.GRAB>>
|
||||
<COND (<NOT .FOUND> <SET FOUND .VAL>)>
|
||||
<SET C .Z>>
|
||||
.FOUND)>)>>
|
||||
|
||||
<ROUTINE CORRIDOR-CHECK (COR ITM "AUX" (CNT 1) (PAST 0) (FOUND <>) RM OBJ)
|
||||
<REPEAT ()
|
||||
<SET CNT <+ .CNT 1>>
|
||||
<SET RM <GET .COR .CNT>>
|
||||
<COND (<==? .RM 0>
|
||||
<RFALSE>)
|
||||
(<==? .RM .ITM>
|
||||
<RETURN <GET .COR .PAST> ;.RM>)
|
||||
(<AND <==? .ITM ,ROOMS>
|
||||
<THIS-IT? .RM> ;"ROOM-SEARCH">
|
||||
<RETURN .RM>
|
||||
;<COND (
|
||||
<SET FOUND .RM>
|
||||
<RETURN>)>)
|
||||
(<AND <ZERO? <LIT? .RM>>
|
||||
<NOT <==? .ITM ,ROOMS>>>
|
||||
<AGAIN>)
|
||||
(<==? .RM ,HERE>
|
||||
<SET PAST 1>)
|
||||
(<SET OBJ <FIRST? .RM>>
|
||||
<REPEAT ()
|
||||
<COND (.ITM
|
||||
<COND (<==? .OBJ .ITM>
|
||||
<SET FOUND <GET .COR .PAST>>
|
||||
<RETURN>)>)
|
||||
(<AND <FSET? .OBJ ,PERSONBIT>
|
||||
<NOT <IN-MOTION? .OBJ T>>>
|
||||
<TELL D ;CTHE .OBJ " is in" THE .RM "." CR>)>
|
||||
<SET OBJ <NEXT? .OBJ>>
|
||||
<COND (<NOT .OBJ> <RETURN>)>>
|
||||
<COND (.FOUND <RETURN .FOUND>)>)>>>
|
2
syntax.zap
Normal file
2
syntax.zap
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
.ENDI
|
10
syntax.zil
10
syntax.zil
|
@ -148,9 +148,9 @@ Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
|||
<VERB-SYNONYM COMPARE MATCH>
|
||||
<SYNTAX COMPARE OBJECT (MANY) = V-COMPARE PRE-COMPARE>
|
||||
<SYNTAX COMPARE OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
TO OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-COMPARE>
|
||||
TO OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-COMPARE PRE-COMPARE>
|
||||
<SYNTAX COMPARE OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-COMPARE>
|
||||
WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-COMPARE PRE-COMPARE>
|
||||
|
||||
<SYNTAX CONFRONT OBJECT (FIND PERSONBIT) WITH OBJECT = V-CONFRONT>
|
||||
|
||||
|
@ -369,8 +369,8 @@ Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
|||
<SYNTAX KNOCK OBJECT ;(FIND PERSONBIT) (IN-ROOM ON-GROUND) ON OBJECT = V-SLAP>
|
||||
|
||||
<VERB-SYNONYM LEAVE EXIT ;" EMERGE ABANDON EVACUATE DEBARK DISEMBARK SCRAM">
|
||||
<SYNTAX LEAVE = V-LEAVE>
|
||||
<SYNTAX LEAVE OBJECT = V-LEAVE>
|
||||
;<SYNTAX LEAVE = V-LEAVE>
|
||||
<SYNTAX LEAVE OBJECT (FIND RMUNGBIT) = V-LEAVE>
|
||||
<SYNTAX LEAVE FROM OBJECT = V-LEAVE>
|
||||
|
||||
<SYNTAX LIE DOWN ;ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-LIE PRE-LIE>
|
||||
|
@ -838,7 +838,7 @@ Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
|||
<SYNTAX HEAD OBJECT THROUGH OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX HEAD OBJECT TO OBJECT = V-DRIVE-TO PRE-DRIVE-TO>
|
||||
|
||||
<SYNTAX WATCH OBJECT = V-EXAMINE>
|
||||
<SYNTAX WATCH OBJECT = V-EXAMINE PRE-EXAMINE>
|
||||
|
||||
<VERB-SYNONYM WEAR DON>
|
||||
<SYNTAX WEAR OBJECT (FIND WEARBIT) (HAVE TAKE) = V-WEAR>
|
||||
|
|
299
things.zap
Normal file
299
things.zap
Normal file
|
@ -0,0 +1,299 @@
|
|||
|
||||
|
||||
.FUNCT RANDOM-PSEUDO
|
||||
EQUAL? PRSA,V?TELL-ABOUT,V?LOOK-UNDER /FALSE
|
||||
EQUAL? PRSA,V?LOOK-BEHIND,V?ASK-CONTEXT-ABOUT,V?ASK-ABOUT /FALSE
|
||||
EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?EXAMINE \?CCL7
|
||||
CALL NOTHING-SPECIAL
|
||||
RTRUE
|
||||
?CCL7: CALL WONT-HELP
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT LUGGAGE-F,RARG=0
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?MOVE,V?TAKE \?CCL5
|
||||
EQUAL? PRSO,LUGGAGE \?CCL5
|
||||
LOC LUGGAGE
|
||||
FSET? STACK,PERSONBIT /FALSE
|
||||
?CCL5: LOC LUGGAGE
|
||||
FSET? STACK,PERSONBIT \FALSE
|
||||
CALL NOT-HOLDING?,LUGGAGE
|
||||
ZERO? STACK \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT BROCHURE-F,X
|
||||
EQUAL? PRSA,V?TELL-ABOUT,V?READ,V?OPEN /?PRG8
|
||||
EQUAL? PRSA,V?LOOK-UP,V?LOOK-INSIDE,V?EXAMINE /?PRG8
|
||||
EQUAL? PRSA,V?DESCRIBE,V?ASK-FOR,V?ASK-CONTEXT-FOR /?PRG8
|
||||
EQUAL? PRSA,V?ASK-CONTEXT-ABOUT,V?ASK-ABOUT,V?ANALYZE \FALSE
|
||||
?PRG8: PRINTI "[You'll find the "
|
||||
PRINTD BROCHURE
|
||||
PRINTI " in your "
|
||||
PRINTD MOONMIST
|
||||
PRINTR " package.]"
|
||||
|
||||
|
||||
.FUNCT BLOWGUN-F
|
||||
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||
CALL QUEUED?,I-SHOT
|
||||
ZERO? STACK /?PRG9
|
||||
PRINTR "It's pointing right at you!"
|
||||
?PRG9: PRINTR "It's a bamboo tube, two feet long and as thin as a small snake."
|
||||
?CCL3: EQUAL? PRSA,V?LOOK-THROUGH,V?LOOK-INSIDE \?CCL12
|
||||
FSET? BLOWGUN,MUNGBIT \?PRG18
|
||||
PRINTR "It's empty."
|
||||
?PRG18: PRINTI "There's a"
|
||||
PRINT POISON-DART
|
||||
PRINTR " inside."
|
||||
?CCL12: EQUAL? PRSA,V?EMPTY \?CND20
|
||||
SET 'PRSA,V?USE
|
||||
?CND20: CALL SHOOTING,BLOWGUN
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT NO-VIOLENCE?,OBJ,P
|
||||
EQUAL? PRSA,V?SLAP /?CTR2
|
||||
EQUAL? PRSA,V?SHOOT,V?KILL,V?ATTACK \?CCL3
|
||||
?CTR2: SET 'P,PRSO
|
||||
JUMP ?CND1
|
||||
?CCL3: SET 'P,PRSI
|
||||
?CND1: ZERO? P \?CND6
|
||||
CALL FIND-FLAG-HERE-NOT,PERSONBIT,MUNGBIT,WINNER >P
|
||||
?CND6: ZERO? P \?CND8
|
||||
SET 'CLOCK-WAIT,TRUE-VALUE
|
||||
PRINTI "(You didn't say whom to use it on!)"
|
||||
CRLF
|
||||
RFALSE
|
||||
?CND8: EQUAL? P,GHOST-NEW /?CCL14
|
||||
ZERO? VILLAIN-KNOWN? /?PRG19
|
||||
EQUAL? P,VILLAIN-PER /?CCL14
|
||||
?PRG19: PRINT NO-VIOLENCE
|
||||
RFALSE
|
||||
?CCL14: FSET? P,MUNGBIT \?CCL22
|
||||
PRINT NO-VIOLENCE
|
||||
RFALSE
|
||||
?CCL22: EQUAL? VILLAIN-PER,LOVER /?CCL26
|
||||
CALL QUEUED?,I-SHOT
|
||||
ZERO? STACK \?CCL26
|
||||
PRINT NO-VIOLENCE
|
||||
RFALSE
|
||||
?CCL26: ZERO? LIONEL-SPEAKS-COUNTER /?CCL32
|
||||
CALL TELL-BAD-FORM
|
||||
RFALSE
|
||||
?CCL32: SET 'SHOOTER,FALSE-VALUE
|
||||
CALL QUEUE,I-SHOT,0
|
||||
EQUAL? VILLAIN-PER,LOVER \?CND33
|
||||
CALL GHOST-FLEES
|
||||
RFALSE
|
||||
?CND33: FSET P,MUNGBIT
|
||||
FCLEAR P,NDESCBIT
|
||||
PUTP P,P?LDESC,19
|
||||
GETP P,P?CHARACTER
|
||||
GET GOAL-TABLES,STACK
|
||||
PUT STACK,ATTENTION,0
|
||||
EQUAL? P,GHOST-NEW \?CND35
|
||||
GETP VILLAIN-PER,P?CHARACTER
|
||||
GET GOAL-TABLES,STACK
|
||||
PUT STACK,ATTENTION,0
|
||||
?CND35: EQUAL? OBJ,CANE,WAR-CLUB,MACE \?CCL39
|
||||
RANDOM 6
|
||||
ADD 9,STACK
|
||||
CALL QUEUE,I-COME-TO,STACK
|
||||
JUMP ?CND37
|
||||
?CCL39: GETP P,P?CHARACTER
|
||||
PUT SHOT,STACK,TRUE-VALUE
|
||||
EQUAL? P,GHOST-NEW \?CND37
|
||||
GETP VILLAIN-PER,P?CHARACTER
|
||||
PUT SHOT,STACK,TRUE-VALUE
|
||||
?CND37: GETP P,P?LINE
|
||||
ADD 3,STACK
|
||||
PUTP P,P?LINE,STACK
|
||||
CALL HE-SHE-IT,P,TRUE-VALUE
|
||||
IN? BLOWGUN,P \?CND44
|
||||
FSET BLOWGUN,TAKEBIT
|
||||
FCLEAR BLOWGUN,NDESCBIT
|
||||
MOVE BLOWGUN,HERE
|
||||
PRINTI " drops"
|
||||
CALL PRINTT,BLOWGUN
|
||||
PRINTI " and"
|
||||
?CND44: EQUAL? OBJ,MACE \?PRG53
|
||||
PRINTI " claps both hands over"
|
||||
CALL HIM-HER-IT,P,FALSE-VALUE,TRUE-VALUE
|
||||
PRINTI " mouth and nose. "
|
||||
CALL HIM-HER-IT,P,TRUE-VALUE,TRUE-VALUE
|
||||
PRINTI " face takes on a greenish pallor, and strangled noises issue from"
|
||||
CALL HIM-HER-IT,P,FALSE-VALUE,TRUE-VALUE
|
||||
PRINTI " throat"
|
||||
JUMP ?PRG55
|
||||
?PRG53: PRINTI " looks surprised and stunned. Then"
|
||||
CALL HIM-HER-IT,P,FALSE-VALUE,TRUE-VALUE
|
||||
PRINTI " eyes flutter"
|
||||
?PRG55: PRINTI ". Next moment"
|
||||
CALL HE-SHE-IT,P
|
||||
PRINTI " collapses "
|
||||
CALL GROUND-DESC
|
||||
PRINT STACK
|
||||
PRINTI "!
|
||||
"
|
||||
RETURN P
|
||||
|
||||
|
||||
.FUNCT SHOOTING,OBJ,P=0
|
||||
CALL ATTACK-VERB?,TRUE-VALUE
|
||||
ZERO? STACK /FALSE
|
||||
CALL NO-VIOLENCE?,OBJ
|
||||
ZERO? STACK /TRUE
|
||||
EQUAL? OBJ,BLOWGUN \TRUE
|
||||
FSET BLOWGUN,MUNGBIT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT MACE-F,P=0
|
||||
EQUAL? PRSA,V?PUSH \?CCL3
|
||||
CALL FIND-FLAG-HERE-NOT,PERSONBIT,MUNGBIT,PLAYER >P
|
||||
CALL QUEUED?,I-SHOT
|
||||
ZERO? STACK /?PRG8
|
||||
ZERO? P /?PRG8
|
||||
CALL PERFORM,V?SHOOT,P,MACE
|
||||
RTRUE
|
||||
?PRG8: PRINTI "The "
|
||||
PRINTD MACE
|
||||
PRINTI " emits a foul-smelling spray."
|
||||
ZERO? P /?CND10
|
||||
PRINTC 32
|
||||
CALL HE-SHE-IT,P,TRUE-VALUE
|
||||
PRINTR " says, ""Have a care! You almost shot me!"""
|
||||
?CND10: CRLF
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?SMELL \?CCL15
|
||||
PRINTR "It smells foul!"
|
||||
?CCL15: CALL SHOOTING,MACE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT NECKLACE-OF-D-F
|
||||
EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL3
|
||||
CALL YOU-CANT
|
||||
RSTACK
|
||||
?CCL3: EQUAL? PRSA,V?PUT-IN /?PRD7
|
||||
EQUAL? PRSA,V?PUT,V?HOLD-UP,V?COMPARE \?CCL5
|
||||
?PRD7: EQUAL? JEWEL,PRSO,PRSI \?CCL5
|
||||
EQUAL? PRSA,V?PUT-IN \?PRG12
|
||||
MOVE JEWEL,NECKLACE-OF-D
|
||||
?PRG12: PRINTI "The "
|
||||
PRINTD JEWEL
|
||||
PRINTR " fits the empty socket and matches the other red stones."
|
||||
?CCL5: EQUAL? PRSA,V?PUT-IN \?CCL15
|
||||
EQUAL? PRSI,NECKLACE-OF-D \FALSE
|
||||
CALL TOO-BAD-BUT,PRSO,STR?277
|
||||
RSTACK
|
||||
?CCL15: EQUAL? PRSA,V?FIX \?CCL20
|
||||
CALL YOU-CANT
|
||||
RSTACK
|
||||
?CCL20: EQUAL? PRSA,V?EXAMINE \?CCL22
|
||||
PRINTI "It's a slender string of small, sparkling red, nonprecious stones. You notice that"
|
||||
PRINT CLASP-MUNGED
|
||||
PRINTI ", as if the clasp had been pulled open by force."
|
||||
IN? JEWEL,NECKLACE-OF-D /?CND25
|
||||
PRINTR " You also notice an empty socket or setting, from which one of the red stones is missing."
|
||||
?CND25: CRLF
|
||||
RTRUE
|
||||
?CCL22: EQUAL? PRSA,V?WEAR /?CCL31
|
||||
EQUAL? PRSA,V?PUT \FALSE
|
||||
FSET? PRSI,PERSONBIT \FALSE
|
||||
?CCL31: CALL WEAR-SCARE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT LENS-2-F
|
||||
EQUAL? PRSA,V?COMPARE \FALSE
|
||||
EQUAL? LENS-1,PRSO,PRSI \FALSE
|
||||
PRINTR "As near as you can tell, they're a matched set."
|
||||
|
||||
|
||||
.FUNCT LENS-BOX-F,X
|
||||
EQUAL? PRSA,V?OPEN,V?LOOK-INSIDE,V?EXAMINE \FALSE
|
||||
FSET? LENS,SEENBIT \?CND4
|
||||
LOC LENS >X
|
||||
ZERO? X /?CND4
|
||||
MOVE LENS-1,X
|
||||
REMOVE LENS
|
||||
?CND4: FSET LENS-BOX,OPENBIT
|
||||
PRINTI "You lift the hinged cover. Inside is a bed of moist foam rubber"
|
||||
FIRST? LENS-BOX >X /?KLU16
|
||||
?KLU16: ZERO? X /?PRG14
|
||||
PRINTI ", holding"
|
||||
CALL PRINT-CONTENTS,LENS-BOX
|
||||
?PRG14: PRINTR ". It's obvious that the box will hold two lenses."
|
||||
|
||||
|
||||
.FUNCT LETTER-F
|
||||
EQUAL? PRSA,V?READ,V?LOOK-INSIDE,V?EXAMINE /?CCL3
|
||||
EQUAL? PRSA,V?SHOW \FALSE
|
||||
FSET? LETTER,TOUCHBIT /FALSE
|
||||
?CCL3: CALL NOT-HOLDING?,LETTER
|
||||
ZERO? STACK \TRUE
|
||||
FSET LETTER-MAID,SEENBIT
|
||||
PRINTI "It says,
|
||||
""Your Lordship:
|
||||
Following instructions in your late Uncle Lionel's will, the other servants and I have left the castle after sounding the dinner gong. We shall remain away until tomorrow morning.
|
||||
I regret to inform you that Gladys, the "
|
||||
PRINTD MAID
|
||||
PRINTI ", will not return with the rest of us. She wrote a note to Your Lordship explaining the reason. She told me that she put it on the "
|
||||
PRINTD WRITING-DESK
|
||||
PRINTI " in the "
|
||||
PRINTD SITTING-ROOM
|
||||
PRINTI ".
|
||||
(signed) "
|
||||
PRINTD BUTLER
|
||||
PRINTR "."""
|
||||
|
||||
|
||||
.FUNCT LETTER-MAID-F
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
FCLEAR LETTER-MAID,NDESCBIT
|
||||
EQUAL? PRSA,V?READ,V?LOOK-INSIDE,V?EXAMINE /?CCL5
|
||||
EQUAL? PRSA,V?SHOW \FALSE
|
||||
FSET? LETTER-MAID,TOUCHBIT /FALSE
|
||||
?CCL5: CALL NOT-HOLDING?,LETTER-MAID
|
||||
ZERO? STACK \TRUE
|
||||
PRINTI "It says, ""Today while cleaning the room of a certain person who shall be nameless, I was SHOCKED to discover SUMMING DREDFUL!
|
||||
I hope I knows me place, Your Lordship, but I was brought up to be a PERFECKLY RESPECTABLE young woman, and I cannot go on working under the same roof where such WICKEDNESS takes place.
|
||||
I am not the type of girl given to idle gossip, so I will only say this. Maybe there is more reason than ANYONE SUSPECKS why that so-called ghost prowls about the castle at night, if you know what I mean.
|
||||
"
|
||||
EQUAL? VARIATION,LORD-C \?CCL16
|
||||
PRINTI "I am not the type who peeks through "
|
||||
PRINTD KEYHOLE
|
||||
PRINTI "s, either, but maybe it is high time someone did"
|
||||
JUMP ?PRG26
|
||||
?CCL16: EQUAL? VARIATION,FRIEND-C \?CCL20
|
||||
PRINTI "Maybe you will also be surprised to learn that a certain pet shop in Frobzance sells more than just harmless puppies, kittens, and budgies"
|
||||
JUMP ?PRG26
|
||||
?CCL20: EQUAL? VARIATION,PAINTER-C,DOCTOR-C \?PRG26
|
||||
PRINTI "Me Dad always says that the first sign of a nut case is when a person starts talking to hisself. Well, if you was to ask me, there is more than one way to talk to "
|
||||
PRINTD PLAYER
|
||||
PRINTI ". Some does it on paper, and that is the type person to watch out for"
|
||||
?PRG26: PRINTR "!"""
|
||||
|
||||
|
||||
.FUNCT LETTER-DEE-F
|
||||
EQUAL? PRSA,V?READ,V?LOOK-INSIDE,V?EXAMINE /?CCL3
|
||||
EQUAL? PRSA,V?SHOW \FALSE
|
||||
FSET? LETTER-DEE,TOUCHBIT /FALSE
|
||||
?CCL3: CALL NOT-HOLDING?,LETTER-DEE
|
||||
ZERO? STACK \TRUE
|
||||
PRINTI "The writing is thick with loops and curls. It says,
|
||||
""Dear Uncle Lionel,
|
||||
I'm writing this on the train, coming up from London, where I saw Grandpapa in the clinic. He's so frightfully ill! I know "
|
||||
PRINTD DOCTOR
|
||||
PRINTI " is your old friend, but I can't help thinking his 'special treatments' are making Grandpapa worse, not better. Would you be a dear and find out just what he's doing there? I'd be ever so grateful!
|
||||
Love,
|
||||
"
|
||||
PRINTD LOVER
|
||||
PRINTR "."""
|
||||
|
||||
.ENDI
|
432
things.zil
Normal file
432
things.zil
Normal file
|
@ -0,0 +1,432 @@
|
|||
"THINGS for MOONMIST
|
||||
Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
||||
|
||||
<OBJECT PSEUDO-OBJECT
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "pseudo") ;"Place holder (MUST BE 6 CHARACTERS!!!!!)"
|
||||
(ACTION NULL-F) ;"Place holder"
|
||||
(FLAGS SEENBIT)>
|
||||
|
||||
<ROUTINE RANDOM-PSEUDO ()
|
||||
<COND (<VERB? ASK-ABOUT ASK-CONTEXT-ABOUT LOOK-BEHIND LOOK-UNDER TELL-ABOUT>
|
||||
<RFALSE>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE SEARCH>
|
||||
<NOTHING-SPECIAL>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<WONT-HELP>
|
||||
;<TELL "You can't do anything useful with that." CR>)>>
|
||||
|
||||
<OBJECT LUGGAGE
|
||||
(IN CAR)
|
||||
(DESC "your luggage")
|
||||
(ADJECTIVE MY)
|
||||
(SYNONYM LUGGAGE BAG CASE SUITCASE)
|
||||
(FLAGS CONTBIT SEARCHBIT TAKEBIT NARTICLEBIT)
|
||||
;(LDESC "Your luggage is here.")
|
||||
(CAPACITY 88)
|
||||
(SIZE 30)
|
||||
(ACTION LUGGAGE-F)>
|
||||
|
||||
<ROUTINE LUGGAGE-F ("OPTIONAL" (RARG <>))
|
||||
<COND (<REMOTE-VERB?> <RFALSE>)
|
||||
(<AND <VERB? TAKE MOVE>
|
||||
<EQUAL? ,PRSO ,LUGGAGE>
|
||||
<FSET? <LOC ,LUGGAGE> ,PERSONBIT>
|
||||
;<NOT <IN? ,LUGGAGE ,PLAYER>>>
|
||||
<RFALSE>)
|
||||
(<AND <FSET? <LOC ,LUGGAGE> ,PERSONBIT>
|
||||
<NOT-HOLDING? ,LUGGAGE>>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT BROCHURE
|
||||
(IN LUGGAGE)
|
||||
(DESC "tourist brochure")
|
||||
(ADJECTIVE TOURIST)
|
||||
(SYNONYM BROCHURE BOOK BOOKS ;BOOKLET ;GUIDE)
|
||||
(GENERIC GENERIC-BOOK)
|
||||
(FLAGS TAKEBIT READBIT ;BURNBIT)
|
||||
(SIZE 2)
|
||||
(ACTION BROCHURE-F)>
|
||||
|
||||
;<ROUTINE SCREENPLAY () <TELL "Screenplay by Jim Lawrence" CR>>
|
||||
|
||||
<ROUTINE BROCHURE-F ("AUX" X)
|
||||
<COND (<VERB? ANALYZE ASK-ABOUT ASK-CONTEXT-ABOUT ASK-CONTEXT-FOR ASK-FOR
|
||||
DESCRIBE EXAMINE LOOK-INSIDE LOOK-UP OPEN READ TELL-ABOUT>
|
||||
<TELL
|
||||
"[You'll find the " D ,BROCHURE " in your " D ,MOONMIST " package.]" CR>
|
||||
;"<TELL '|
|
||||
But this copy has a scribbled note:||'>
|
||||
<SET X <RANDOM 2>>
|
||||
<COND (<1? .X> <SCREENPLAY>)>
|
||||
<TELL ' Directed by Stu Galley|'>
|
||||
<COND (<NOT <1? .X>> <SCREENPLAY>)>")>>
|
||||
|
||||
;<OBJECT PRINT-KIT
|
||||
(IN LUGGAGE)
|
||||
(DESC "fingerprint kit")
|
||||
(ADJECTIVE FINGER)
|
||||
(SYNONYM KIT)
|
||||
(FLAGS TAKEBIT)
|
||||
(SIZE 6)
|
||||
(ACTION PRINT-KIT-F)>
|
||||
|
||||
;<ROUTINE PRINT-KIT-F ()
|
||||
<COND (<VERB? OPEN CLOSE>
|
||||
<NO-NEED>)
|
||||
(<VERB? USE>
|
||||
<COND (,PRSI
|
||||
<PERFORM ,V?ANALYZE ,PRSI ,FINGERPRINTS>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<SETG CLOCK-WAIT T>
|
||||
<TELL "(You didn't say what to use it on.)" CR>)>)>>
|
||||
|
||||
<OBJECT BLOWGUN
|
||||
(DESC "blowgun")
|
||||
;(IN VILLAIN)
|
||||
(ADJECTIVE BLOW ;POISON)
|
||||
(SYNONYM GUN BLOWGUN ;DART)
|
||||
(FLAGS WEAPONBIT TAKEBIT SECRETBIT)
|
||||
(SIZE 9)
|
||||
(ACTION BLOWGUN-F)>
|
||||
|
||||
<ROUTINE BLOWGUN-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<COND ;(<NOUN-USED? ,W?DART>
|
||||
)
|
||||
(<QUEUED? ,I-SHOT>
|
||||
<TELL "It's pointing right at you!" CR>)
|
||||
(T <TELL
|
||||
"It's a bamboo tube, two feet long and as thin as a small snake." CR>)>)
|
||||
(<VERB? LOOK-INSIDE LOOK-THROUGH ;OPEN>
|
||||
<COND (<FSET? ,BLOWGUN ,MUNGBIT>
|
||||
<TELL "It's empty." CR>)
|
||||
(T <TELL "There's a" ,POISON-DART " inside." CR>)>)
|
||||
(T
|
||||
<COND (<VERB? EMPTY>
|
||||
<SETG PRSA ,V?USE>)>
|
||||
<SHOOTING ,BLOWGUN>)>>
|
||||
|
||||
<GLOBAL POISON-DART " poison dart">
|
||||
|
||||
<ROUTINE NO-VIOLENCE? (OBJ "AUX" P)
|
||||
<COND (<VERB? ATTACK KILL SHOOT SLAP>
|
||||
<SET P ,PRSO>)
|
||||
(T <SET P ,PRSI>)>
|
||||
<COND (<ZERO? .P>
|
||||
<SET P <FIND-FLAG-HERE-NOT ,PERSONBIT ,MUNGBIT ,WINNER>>)>
|
||||
<COND (<ZERO? .P>
|
||||
<SETG CLOCK-WAIT T>
|
||||
<TELL "(You didn't say whom to use it on!)" CR>
|
||||
<RFALSE>)>
|
||||
<COND (<AND <NOT <EQUAL? .P ,GHOST-NEW>>
|
||||
<OR <NOT ,VILLAIN-KNOWN?>
|
||||
<NOT <EQUAL? .P ,VILLAIN-PER>>>>
|
||||
<TELL ,NO-VIOLENCE>
|
||||
<RFALSE>)
|
||||
(<FSET? .P ,MUNGBIT>
|
||||
<TELL ,NO-VIOLENCE>
|
||||
<RFALSE>)
|
||||
(<AND <NOT <EQUAL? ,VILLAIN-PER ,LOVER ;,LORD>>
|
||||
<NOT <QUEUED? ,I-SHOT>>>
|
||||
<TELL ,NO-VIOLENCE>
|
||||
<RFALSE>)
|
||||
(<NOT <ZERO? ,LIONEL-SPEAKS-COUNTER>>
|
||||
<TELL-BAD-FORM>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG SHOOTER <>>
|
||||
<QUEUE I-SHOT 0>
|
||||
<COND (<EQUAL? ,VILLAIN-PER ,LOVER ;,LORD>
|
||||
<GHOST-FLEES>
|
||||
<RFALSE>)>
|
||||
;<COND (<==? .P ,FOLLOWER>
|
||||
<SETG FOLLOWER 0>)>
|
||||
<FSET .P ,MUNGBIT>
|
||||
<FCLEAR .P ,NDESCBIT>
|
||||
<PUTP .P ,P?LDESC 19 ;"out cold">
|
||||
<PUT <GT-O .P> ,ATTENTION 0>
|
||||
<COND (<==? .P ,GHOST-NEW>
|
||||
<PUT <GT-O ,VILLAIN-PER> ,ATTENTION 0>)>
|
||||
<COND (<EQUAL? .OBJ ,CANE ,WAR-CLUB ,MACE>
|
||||
<QUEUE I-COME-TO <+ 9 <RANDOM 6>>>)
|
||||
(T
|
||||
<PUT ,SHOT <GETP .P ,P?CHARACTER> T>
|
||||
<COND (<==? .P ,GHOST-NEW>
|
||||
<PUT ,SHOT <GETP ,VILLAIN-PER ,P?CHARACTER> T>)>)>
|
||||
<PUTP .P ,P?LINE <+ 3 <GETP .P ,P?LINE>>>
|
||||
<TELL CHE .P>
|
||||
<COND (<IN? ,BLOWGUN .P>
|
||||
<FSET ,BLOWGUN ,TAKEBIT>
|
||||
<FCLEAR ,BLOWGUN ,NDESCBIT>
|
||||
<MOVE ,BLOWGUN ,HERE>
|
||||
<TELL " drops" THE ,BLOWGUN " and">)>
|
||||
<COND (<==? .OBJ ,MACE>
|
||||
<TELL
|
||||
" claps both hands over" HIS .P " mouth and nose. " CHIS .P " face
|
||||
takes on a greenish pallor, and strangled noises issue from" HIS .P
|
||||
" throat">)
|
||||
(T <TELL
|
||||
" looks surprised and stunned. Then" HIS .P " eyes flutter">)>
|
||||
<TELL ". Next moment" HE .P " collapses " <GROUND-DESC> "!|">
|
||||
.P)>>
|
||||
|
||||
<ROUTINE SHOOTING (OBJ "AUX" (P <>) ;GT)
|
||||
<COND (<ATTACK-VERB? T>
|
||||
<COND ;(<EQUAL? .P ,PLAYER>
|
||||
<HAR-HAR>
|
||||
<RTRUE>)
|
||||
(<ZERO? <NO-VIOLENCE? .OBJ>>
|
||||
<RTRUE>)>
|
||||
<COND (<==? .OBJ ,BLOWGUN>
|
||||
<FSET ,BLOWGUN ,MUNGBIT>)>
|
||||
;<COND (<T? <SET P <FIND-FLAG-HERE ,PERSONBIT ,PLAYER .P>>>
|
||||
<TELL
|
||||
CHE .P " can hardly believe" HIS .P " eyes. " CHE .P " holds you from behind,
|
||||
saying, \"I do believe you're mad! But we can detain you until the police
|
||||
arrive.\"|
|
||||
As indeed they do. You ought to be more careful with weapons!|">
|
||||
<FINISH>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT MACE
|
||||
(DESC "aerosol device")
|
||||
(IN BUTLER)
|
||||
(ADJECTIVE AEROSOL DOG ;DETERRENT)
|
||||
(SYNONYM DEVICE SPRAY BUTTON WEAPON ;MACE)
|
||||
(FLAGS TAKEBIT VOWELBIT WEAPONBIT NDESCBIT)
|
||||
(TEXT "It says, \"JUST PRESS THE BUTTON.\"")
|
||||
(SIZE 2)
|
||||
(ACTION MACE-F)>
|
||||
|
||||
<ROUTINE MACE-F ("AUX" (P <>))
|
||||
<COND (<VERB? PUSH>
|
||||
<SET P <FIND-FLAG-HERE-NOT ,PERSONBIT ,MUNGBIT ,PLAYER>>
|
||||
<COND (<AND <QUEUED? ,I-SHOT>
|
||||
<T? .P>>
|
||||
<PERFORM ,V?SHOOT .P ,MACE>
|
||||
<RTRUE>)>
|
||||
<TELL "The " 'MACE " emits a foul-smelling spray.">
|
||||
<COND (<T? .P>
|
||||
<TELL !\ CHE .P" says, \"Have a care! You almost shot me!\"">)>
|
||||
<CRLF>)
|
||||
(<VERB? SMELL>
|
||||
<TELL "It smells foul!" CR>)
|
||||
(T <SHOOTING ,MACE>)>>
|
||||
|
||||
<OBJECT NECKLACE-OF-D
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "Deirdre's necklace")
|
||||
(ADJECTIVE ;DEIRDRE DEE\'S HER RED)
|
||||
(SYNONYM NECKLACE STRING SETTING SOCKET)
|
||||
(FLAGS NARTICLEBIT TAKEBIT NDESCBIT ;WEARBIT CONTBIT SECRETBIT OPENBIT)
|
||||
(CAPACITY 1)
|
||||
(SIZE 5)
|
||||
(ACTION NECKLACE-OF-D-F)>
|
||||
|
||||
<GLOBAL CLASP-MUNGED " the lips of the clasp are sprung apart">
|
||||
|
||||
<ROUTINE NECKLACE-OF-D-F ()
|
||||
<COND (<VERB? OPEN CLOSE>
|
||||
<YOU-CANT>)
|
||||
(<AND <VERB? COMPARE HOLD-UP PUT PUT-IN>
|
||||
;<EQUAL? ,VARIATION ,LORD-C>
|
||||
<EQUAL? ,JEWEL ,PRSO ,PRSI>>
|
||||
<COND (<VERB? PUT-IN>
|
||||
<MOVE ,JEWEL ,NECKLACE-OF-D>)>
|
||||
<TELL
|
||||
"The " 'JEWEL " fits the empty socket and matches the other red stones." CR>)
|
||||
(<VERB? PUT-IN>
|
||||
<COND (<IOBJ? NECKLACE-OF-D>
|
||||
<TOO-BAD-BUT ,PRSO "too big">)>)
|
||||
(<VERB? FIX>
|
||||
<YOU-CANT>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL
|
||||
"It's a slender string of small, sparkling red, nonprecious stones. You
|
||||
notice that" ,CLASP-MUNGED ", as if the clasp had been pulled open by
|
||||
force.">
|
||||
<COND (<AND <NOT <IN? ,JEWEL ,NECKLACE-OF-D>>
|
||||
;<EQUAL? ,VARIATION ,LORD-C>>
|
||||
<TELL
|
||||
" You also notice an empty socket or setting, from which one of the red stones
|
||||
is missing.">)>
|
||||
<CRLF>)
|
||||
(<OR <VERB? WEAR>
|
||||
<AND <VERB? PUT> <FSET? ,PRSI ,PERSONBIT>>>
|
||||
<WEAR-SCARE>)>>
|
||||
|
||||
<OBJECT JEWEL
|
||||
(DESC "tiny red jewel")
|
||||
(ADJECTIVE TINY RED ;GLITTERING MISSING)
|
||||
(SYNONYM JEWEL SPECK GEM STONE)
|
||||
(FLAGS TAKEBIT SEENBIT)
|
||||
(SIZE 1)>
|
||||
[
|
||||
<OBJECT LENS
|
||||
(IN LENS-BOX)
|
||||
(DESC "contact lens")
|
||||
(ADJECTIVE CONTACT FIRST)
|
||||
(SYNONYM LENS LENSES)
|
||||
(FLAGS TAKEBIT ;SEENBIT ;NDESCBIT WEARBIT TRANSBIT)
|
||||
(SIZE 1)
|
||||
;(ACTION LENS-F)>
|
||||
|
||||
<OBJECT LENS-1
|
||||
(DESC "first contact lens")
|
||||
(ADJECTIVE FIRST CONTACT)
|
||||
(SYNONYM LENS LENSES)
|
||||
(GENERIC GENERIC-LENS)
|
||||
(FLAGS TAKEBIT SEENBIT ;NDESCBIT WEARBIT TRANSBIT ;TOUCHBIT)
|
||||
(SIZE 1)
|
||||
;(ACTION LENS-F)>
|
||||
|
||||
;<ROUTINE LENS-F ()
|
||||
<COND (<VERB? WEAR>
|
||||
<TELL "Your head starts to ache, so you remove it." CR>)>>
|
||||
|
||||
<OBJECT LENS-2
|
||||
(DESC "second contact lens")
|
||||
(ADJECTIVE SECOND CONTACT)
|
||||
(SYNONYM LENS LENSES)
|
||||
(GENERIC GENERIC-LENS)
|
||||
(FLAGS TAKEBIT ;SEENBIT ;NDESCBIT WEARBIT TRANSBIT ;TOUCHBIT)
|
||||
(SIZE 1)
|
||||
(ACTION LENS-2-F)>
|
||||
|
||||
<ROUTINE LENS-2-F ()
|
||||
<COND (<AND <VERB? COMPARE>
|
||||
<EQUAL? ,LENS-1 ,PRSO ,PRSI>>
|
||||
<TELL "As near as you can tell, they're a matched set." CR>)
|
||||
;(T <LENS-F>)>>
|
||||
|
||||
<OBJECT LENS-BOX
|
||||
(DESC "small plastic box")
|
||||
(ADJECTIVE SMALL PLASTIC LENS)
|
||||
(SYNONYM BOX)
|
||||
(GENERIC GENERIC-BOX)
|
||||
(FLAGS NDESCBIT CONTBIT SEARCHBIT ;TRANSBIT SECRETBIT)
|
||||
(CAPACITY 2)
|
||||
(SIZE 3)
|
||||
(ACTION LENS-BOX-F)>
|
||||
|
||||
<ROUTINE LENS-BOX-F ("AUX" X)
|
||||
<COND (<VERB? EXAMINE LOOK-INSIDE OPEN>
|
||||
<COND (<AND <FSET? ,LENS ;-1 ,SEENBIT>
|
||||
<T? <SET X <LOC ,LENS>>>
|
||||
;<NOT <IN? ,LENS ,LENS-BOX>>>
|
||||
<MOVE ,LENS-1 .X>
|
||||
<REMOVE ,LENS>)>
|
||||
<FSET ,LENS-BOX ,OPENBIT>
|
||||
<TELL
|
||||
"You lift the hinged cover. Inside is a bed of moist foam rubber">
|
||||
<SET X <FIRST? ,LENS-BOX>>
|
||||
<COND (<T? .X>
|
||||
<TELL ", holding">
|
||||
<PRINT-CONTENTS ,LENS-BOX>)>
|
||||
<TELL
|
||||
". It's obvious that the box will hold two lenses." ;" You close it again."
|
||||
CR>)>>
|
||||
]
|
||||
<OBJECT LETTER
|
||||
(IN BUTLER)
|
||||
(DESC "butler's note")
|
||||
(ADJECTIVE B\'S HIS JACK\'S ;"BUTLER BOLITHO JACK")
|
||||
(SYNONYM ;LETTER NOTE NOTES)
|
||||
(FLAGS SEENBIT NDESCBIT ;TAKEBIT READBIT)
|
||||
(SIZE 2)
|
||||
(ACTION LETTER-F)>
|
||||
|
||||
<ROUTINE LETTER-F ()
|
||||
<COND (<OR <VERB? EXAMINE LOOK-INSIDE READ>
|
||||
<AND <VERB? SHOW> <NOT <FSET? ,LETTER ,TOUCHBIT>>>>
|
||||
<COND (<NOT-HOLDING? ,LETTER>
|
||||
<RTRUE>)>
|
||||
<FSET ,LETTER-MAID ,SEENBIT>
|
||||
<TELL
|
||||
"It says,|
|
||||
\"Your Lordship:|
|
||||
Following instructions in your late Uncle
|
||||
Lionel's will, the other servants and I have left the castle after sounding
|
||||
the dinner gong. We shall remain away until tomorrow morning.|
|
||||
I regret to inform you that Gladys, the " 'MAID ", will not return
|
||||
with the rest of us. She wrote a note to Your Lordship
|
||||
explaining the reason. She told me
|
||||
that she put it on the " 'WRITING-DESK " in the " 'SITTING-ROOM ".|
|
||||
(signed) " 'BUTLER ".\"" CR>)>>
|
||||
|
||||
<OBJECT LETTER-MAID
|
||||
(IN WRITING-DESK)
|
||||
(DESC "maid's note")
|
||||
(ADJECTIVE MAID\'S HER ;"MAID GLADYS")
|
||||
(SYNONYM ;LETTER NOTE NOTES)
|
||||
(FLAGS NDESCBIT ;TRYTAKEBIT TAKEBIT READBIT)
|
||||
(SIZE 2)
|
||||
(ACTION LETTER-MAID-F)>
|
||||
|
||||
<ROUTINE LETTER-MAID-F ()
|
||||
<COND (<REMOTE-VERB?>
|
||||
<RFALSE>)>
|
||||
<FCLEAR ,LETTER-MAID ,NDESCBIT>
|
||||
<COND (<OR <VERB? EXAMINE LOOK-INSIDE READ>
|
||||
<AND <VERB? SHOW> <NOT <FSET? ,LETTER-MAID ,TOUCHBIT>>>>
|
||||
<COND (<NOT-HOLDING? ,LETTER-MAID>
|
||||
<RTRUE>)>
|
||||
<TELL
|
||||
"It says, \"Today while cleaning the room of a certain person who shall
|
||||
be nameless, I was SHOCKED to discover SUMMING DREDFUL!|
|
||||
I hope I knows me place, Your Lordship, but I was brought up to be a
|
||||
PERFECKLY RESPECTABLE young woman, and I cannot go on working under the
|
||||
same roof where such WICKEDNESS takes place.|
|
||||
I am not the type of girl given to idle gossip, so I will only say this.
|
||||
Maybe there is more reason than ANYONE SUSPECKS why that so-called ghost
|
||||
prowls about the castle at night, if you know what I mean.|">
|
||||
<COND (<EQUAL? ,VARIATION ,LORD-C>
|
||||
<TELL
|
||||
"I am not the type who peeks through " 'KEYHOLE "s, either, but maybe it is
|
||||
high time someone did">)
|
||||
(<EQUAL? ,VARIATION ,FRIEND-C>
|
||||
<TELL
|
||||
"Maybe you will also be surprised to learn that a certain pet shop in
|
||||
Frobzance sells more than just harmless puppies, kittens, and budgies">)
|
||||
;(<EQUAL? ,VARIATION ,DEALER-C>
|
||||
<TELL
|
||||
"I like a pretty picture meself, but at least I know what's mine and
|
||||
what's not">)
|
||||
(<EQUAL? ,VARIATION ,PAINTER-C ,DOCTOR-C>
|
||||
<TELL
|
||||
"Me Dad always says that the first sign of a nut case is when a person
|
||||
starts talking to hisself. Well, if you was to ask me, there is more than
|
||||
one way to talk to " 'PLAYER ". Some does it on paper, and that is the type
|
||||
person to watch out for">)
|
||||
;(<EQUAL? ,VARIATION ,OFFICER-C>
|
||||
<TELL
|
||||
"I lay a wager meself now and again, but at least I use me own money">)>
|
||||
<TELL "!\"" CR>)>>
|
||||
|
||||
<OBJECT LETTER-DEE
|
||||
;(IN BUTLER)
|
||||
(DESC "Deirdre's note")
|
||||
(ADJECTIVE DEE\'S HER ;"DEE DEIRDRE")
|
||||
(SYNONYM NOTE NOTES)
|
||||
(FLAGS NARTICLEBIT NDESCBIT SECRETBIT ;TAKEBIT READBIT)
|
||||
(SIZE 2)
|
||||
(ACTION LETTER-DEE-F)>
|
||||
|
||||
<ROUTINE LETTER-DEE-F ()
|
||||
<COND (<OR <VERB? EXAMINE LOOK-INSIDE READ>
|
||||
<AND <VERB? SHOW> <NOT <FSET? ,LETTER-DEE ,TOUCHBIT>>>>
|
||||
<COND (<NOT-HOLDING? ,LETTER-DEE>
|
||||
<RTRUE>)>
|
||||
<TELL
|
||||
"The writing is thick with loops and curls. It says,|
|
||||
\"Dear Uncle Lionel,|
|
||||
I'm writing this on the train, coming up from London, where I saw
|
||||
Grandpapa in the clinic. He's so frightfully ill! I know " 'DOCTOR " is
|
||||
your old friend, but I can't help thinking his 'special treatments' are
|
||||
making Grandpapa worse, not better. Would you be a dear and find out
|
||||
just what he's doing there? I'd be ever so grateful!|
|
||||
Love,|
|
||||
" 'LOVER ".\"" CR>)>>
|
179
verbs.indicative
Normal file
179
verbs.indicative
Normal file
|
@ -0,0 +1,179 @@
|
|||
W?AIM:: .ZWORD "aim"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?POINT!.BYTE 0
|
||||
W?ASK:: .ZWORD "ask"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?ASK!.BYTE 0
|
||||
W?AWAKE:: .ZWORD "awake"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WAKE!.BYTE 0
|
||||
W?BACK:: .ZWORD "back"!.BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE!.BYTE A?BACK!.BYTE ACT?BACK
|
||||
W?BANG:: .ZWORD "bang"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?KNOCK!.BYTE 0
|
||||
W?BATHE:: .ZWORD "bathe"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SWIM!.BYTE 0
|
||||
W?BEEP:: .ZWORD "beep"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BLOW!.BYTE 0
|
||||
W?BLAST:: .ZWORD "blast"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?BLAST
|
||||
W?BLOW:: .ZWORD "blow"!.BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE!.BYTE A?BLOW!.BYTE ACT?BLOW
|
||||
W?BOARD:: .ZWORD "board"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?CLIMB
|
||||
W?BOW:: .ZWORD "bow"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BOW!.BYTE 0
|
||||
W?BREAK:: .ZWORD "break"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?DAMAGE!.BYTE 0
|
||||
W?BRING:: .ZWORD "bring"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BRING!.BYTE 0
|
||||
W?BRUSH:: .ZWORD "brush"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BRUSH!.BYTE 0
|
||||
W?CALL:: .ZWORD "call"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?CALL!.BYTE 0
|
||||
W?CARRY:: .ZWORD "carry"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TAKE!.BYTE 0
|
||||
W?CHASE:: .ZWORD "chase"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?FOLLOW!.BYTE 0
|
||||
W?CHAT:: .ZWORD "chat"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SAY!.BYTE 0
|
||||
W?CHECK:: .ZWORD "check"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?CHECK!.BYTE 0
|
||||
W?CHUCK:: .ZWORD "chuck"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?THROW!.BYTE 0
|
||||
W?CLEAN:: .ZWORD "clean"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BRUSH!.BYTE 0
|
||||
W?CLIMB:: .ZWORD "climb"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?CLIMB!.BYTE 0
|
||||
W?CLOSE:: .ZWORD "close"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?CLOSE!.BYTE 0
|
||||
W?COME:: .ZWORD "come"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HEAD!.BYTE 0
|
||||
W?CRUSH:: .ZWORD "crush"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?DAMAGE!.BYTE 0
|
||||
W?DANCE:: .ZWORD "dance"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?DANCE!.BYTE 0
|
||||
W?DIG:: .ZWORD "dig"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SEARCH!.BYTE 0
|
||||
W?DINE:: .ZWORD "dine"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?DINE!.BYTE 0
|
||||
W?DOFF:: .ZWORD "doff"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?REMOVE!.BYTE 0
|
||||
W?DON:: .ZWORD "don"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WEAR!.BYTE 0
|
||||
W?DRAIN:: .ZWORD "drain"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?EMPTY!.BYTE 0
|
||||
W?DRAW:: .ZWORD "draw"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?CLOSE!.BYTE 0
|
||||
W?DRESS:: .ZWORD "dress"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?DRESS
|
||||
W?DRINK:: .ZWORD "drink"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?DRINK!.BYTE 0
|
||||
W?DRIVE:: .ZWORD "drive"!.BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE!.BYTE A?DRIVE!.BYTE ACT?HEAD
|
||||
W?DROP:: .ZWORD "drop"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?DROP!.BYTE 0
|
||||
W?EAT:: .ZWORD "eat"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?EAT!.BYTE 0
|
||||
W?EMPTY:: .ZWORD "empty"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?EMPTY!.BYTE 0
|
||||
W?ENTER:: .ZWORD "enter"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?ENTER!.BYTE 0
|
||||
W?EXIT:: .ZWORD "exit"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LEAVE!.BYTE 0
|
||||
W?FAINT:: .ZWORD "faint"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SLEEP!.BYTE 0
|
||||
W?FEEL:: .ZWORD "feel"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?RUB!.BYTE 0
|
||||
W?FETCH:: .ZWORD "fetch"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BRING!.BYTE 0
|
||||
W?FIGHT:: .ZWORD "fight"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?ATTACK!.BYTE 0
|
||||
W?FILL:: .ZWORD "fill"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?FILL!.BYTE 0
|
||||
W?FIND:: .ZWORD "find"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?FIND!.BYTE 0
|
||||
W?FIRE:: .ZWORD "fire"!.BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE!.BYTE A?FIRE!.BYTE ACT?FIRE
|
||||
W?FIX:: .ZWORD "fix"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?FIX!.BYTE 0
|
||||
W?FLIP:: .ZWORD "flip"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SWITCH!.BYTE 0
|
||||
W?FLOOD:: .ZWORD "flood"!.BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE!.BYTE A?FLOOD!.BYTE ACT?FILL
|
||||
W?GAB:: .ZWORD "gab"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SAY!.BYTE 0
|
||||
W?GAZE:: .ZWORD "gaze"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LOOK!.BYTE 0
|
||||
W?GET:: .ZWORD "get"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?GET!.BYTE 0
|
||||
W?GIVE:: .ZWORD "give"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?GIVE!.BYTE 0
|
||||
W?GO:: .ZWORD "go"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HEAD!.BYTE 0
|
||||
W?GRAB:: .ZWORD "grab"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TAKE!.BYTE 0
|
||||
W?GREET:: .ZWORD "greet"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HELLO!.BYTE 0
|
||||
W?GRIN:: .ZWORD "grin"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SMILE!.BYTE 0
|
||||
W?HANG:: .ZWORD "hang"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HANG!.BYTE 0
|
||||
W?HEAD:: .ZWORD "head"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?HEAD
|
||||
W?HELP:: .ZWORD "help"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HELP!.BYTE 0
|
||||
W?HIDE:: .ZWORD "hide"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HIDE!.BYTE 0
|
||||
W?HIT:: .ZWORD "hit"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SLAP!.BYTE 0
|
||||
W?HOLD:: .ZWORD "hold"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HOLD!.BYTE 0
|
||||
W?HONK:: .ZWORD "honk"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BLOW!.BYTE 0
|
||||
W?HUG:: .ZWORD "hug"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?CONSOLE!.BYTE 0
|
||||
W?HURL:: .ZWORD "hurl"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?THROW!.BYTE 0
|
||||
W?JUMP:: .ZWORD "jump"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?JUMP!.BYTE 0
|
||||
W?KICK:: .ZWORD "kick"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?DAMAGE!.BYTE 0
|
||||
W?KILL:: .ZWORD "kill"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?MURDER!.BYTE 0
|
||||
W?KISS:: .ZWORD "kiss"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?CONSOLE!.BYTE 0
|
||||
W?KNOCK:: .ZWORD "knock"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?KNOCK!.BYTE 0
|
||||
W?LEAP:: .ZWORD "leap"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?JUMP!.BYTE 0
|
||||
W?LEAVE:: .ZWORD "leave"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LEAVE!.BYTE 0
|
||||
W?LIE:: .ZWORD "lie"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LIE!.BYTE 0
|
||||
W?LIFT:: .ZWORD "lift"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TAKE!.BYTE 0
|
||||
W?LIGHT:: .ZWORD "light"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?LIGHT
|
||||
W?LOCK:: .ZWORD "lock"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LOCK!.BYTE 0
|
||||
W?LOOK:: .ZWORD "look"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LOOK!.BYTE 0
|
||||
W?MAKE:: .ZWORD "make"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?MAKE!.BYTE 0
|
||||
W?MATCH:: .ZWORD "match"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?COMPARE!.BYTE 0
|
||||
W?MOVE:: .ZWORD "move"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?MOVE!.BYTE 0
|
||||
W?NAME:: .ZWORD "name"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?NAME!.BYTE 0
|
||||
W?NAP:: .ZWORD "nap"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SLEEP!.BYTE 0
|
||||
W?NOD:: .ZWORD "nod"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?NOD!.BYTE 0
|
||||
W?OFFER:: .ZWORD "offer"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?GIVE!.BYTE 0
|
||||
W?OPEN:: .ZWORD "open"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?OPEN!.BYTE 0
|
||||
W?PASS:: .ZWORD "pass"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?PASS!.BYTE 0
|
||||
W?PAUSE:: .ZWORD "pause"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WAIT!.BYTE 0
|
||||
W?PEEK:: .ZWORD "peek"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LOOK!.BYTE 0
|
||||
W?PEER:: .ZWORD "peer"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LOOK!.BYTE 0
|
||||
W?PICK:: .ZWORD "pick"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?PICK!.BYTE 0
|
||||
W?PLACE:: .ZWORD "place"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?PLACE
|
||||
W?PLAY:: .ZWORD "play"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?PLAY!.BYTE 0
|
||||
W?POINT:: .ZWORD "point"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?POINT!.BYTE 0
|
||||
W?POUR:: .ZWORD "pour"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?POUR!.BYTE 0
|
||||
W?PRAY:: .ZWORD "pray"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?PRAY!.BYTE 0
|
||||
W?PRESS:: .ZWORD "press"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?PUSH
|
||||
W?PRY:: .ZWORD "pry"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TAKE!.BYTE 0
|
||||
W?PULL:: .ZWORD "pull"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?PULL!.BYTE 0
|
||||
W?PUNCH:: .ZWORD "punch"!.BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE!.BYTE A?PUNCH!.BYTE ACT?SLAP
|
||||
W?PUSH:: .ZWORD "push"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?PUSH!.BYTE 0
|
||||
W?PUT:: .ZWORD "put"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?PLACE!.BYTE 0
|
||||
W?RAISE:: .ZWORD "raise"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TAKE!.BYTE 0
|
||||
W?RAP:: .ZWORD "rap"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?KNOCK!.BYTE 0
|
||||
W?RAPE:: .ZWORD "rape"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?ATTACK!.BYTE 0
|
||||
W?READ:: .ZWORD "read"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?READ!.BYTE 0
|
||||
W?RELAX:: .ZWORD "relax"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WAIT!.BYTE 0
|
||||
W?REPEL:: .ZWORD "repel"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?ATTACK!.BYTE 0
|
||||
W?REPLY:: .ZWORD "reply"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?ANSWER!.BYTE 0
|
||||
W?REST:: .ZWORD "rest"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WAIT!.BYTE 0
|
||||
W?RING:: .ZWORD "ring"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?RING!.BYTE 0
|
||||
W?RUB:: .ZWORD "rub"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?RUB!.BYTE 0
|
||||
W?RUN:: .ZWORD "run"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HEAD!.BYTE 0
|
||||
W?SAVE:: .ZWORD "save"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SAVE!.BYTE 0
|
||||
W?SAY:: .ZWORD "say"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SAY!.BYTE 0
|
||||
W?SEE:: .ZWORD "see"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LOOK!.BYTE 0
|
||||
W?SEIZE:: .ZWORD "seize"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TAKE!.BYTE 0
|
||||
W?SET:: .ZWORD "set"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SET!.BYTE 0
|
||||
W?SHAKE:: .ZWORD "shake"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SHAKE!.BYTE 0
|
||||
W?SHARE:: .ZWORD "share"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SHARE!.BYTE 0
|
||||
W?SHOOT:: .ZWORD "shoot"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?FIRE!.BYTE 0
|
||||
W?SHOUT:: .ZWORD "shout"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?YELL!.BYTE 0
|
||||
W?SHOVE:: .ZWORD "shove"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?PUSH!.BYTE 0
|
||||
W?SHOW:: .ZWORD "show"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SHOW!.BYTE 0
|
||||
W?SHUT:: .ZWORD "shut"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SHUT!.BYTE 0
|
||||
W?SIGN:: .ZWORD "sign"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SIGN!.BYTE 0
|
||||
W?SIP:: .ZWORD "sip"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?DRINK!.BYTE 0
|
||||
W?SIT:: .ZWORD "sit"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SIT!.BYTE 0
|
||||
W?SKIM:: .ZWORD "skim"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?READ!.BYTE 0
|
||||
W?SLAP:: .ZWORD "slap"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SLAP!.BYTE 0
|
||||
W?SLEEP:: .ZWORD "sleep"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?SLEEP
|
||||
W?SLIDE:: .ZWORD "slide"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SLIDE!.BYTE 0
|
||||
W?SMASH:: .ZWORD "smash"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?DAMAGE!.BYTE 0
|
||||
W?SMELL:: .ZWORD "smell"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SMELL!.BYTE 0
|
||||
W?SMILE:: .ZWORD "smile"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SMILE!.BYTE 0
|
||||
W?SNIFF:: .ZWORD "sniff"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SMELL!.BYTE 0
|
||||
W?SOUND:: .ZWORD "sound"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SOUND!.BYTE 0
|
||||
W?SPEAK:: .ZWORD "speak"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SAY!.BYTE 0
|
||||
W?SPILL:: .ZWORD "spill"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?POUR!.BYTE 0
|
||||
W?SPRAY:: .ZWORD "spray"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?SPRAY
|
||||
W?STAB:: .ZWORD "stab"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?MURDER!.BYTE 0
|
||||
W?STAND:: .ZWORD "stand"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?STAND
|
||||
W?STARE:: .ZWORD "stare"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?LOOK!.BYTE 0
|
||||
W?START:: .ZWORD "start"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?START!.BYTE 0
|
||||
W?STATE:: .ZWORD "state"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SAY!.BYTE 0
|
||||
W?STAY:: .ZWORD "stay"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WAIT!.BYTE 0
|
||||
W?STEAL:: .ZWORD "steal"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TAKE!.BYTE 0
|
||||
W?STEER:: .ZWORD "steer"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HEAD!.BYTE 0
|
||||
W?STEP:: .ZWORD "step"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HEAD!.BYTE 0
|
||||
W?STOP:: .ZWORD "stop"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?STOP!.BYTE 0
|
||||
W?STRIP:: .ZWORD "strip"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?UNDRESS!.BYTE 0
|
||||
W?SWIM:: .ZWORD "swim"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SWIM!.BYTE 0
|
||||
W?SWING:: .ZWORD "swing"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SWITCH!.BYTE 0
|
||||
W?TAKE:: .ZWORD "take"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TAKE!.BYTE 0
|
||||
W?TALK:: .ZWORD "talk"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SAY!.BYTE 0
|
||||
W?TASTE:: .ZWORD "taste"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?EAT!.BYTE 0
|
||||
W?TELL:: .ZWORD "tell"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TELL!.BYTE 0
|
||||
W?TEST:: .ZWORD "test"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?CHECK!.BYTE 0
|
||||
W?THROW:: .ZWORD "throw"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?THROW!.BYTE 0
|
||||
W?TOOT:: .ZWORD "toot"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BLOW!.BYTE 0
|
||||
W?TOSS:: .ZWORD "toss"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?THROW!.BYTE 0
|
||||
W?TOUCH:: .ZWORD "touch"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?RUB!.BYTE 0
|
||||
W?TRY:: .ZWORD "try"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?TRY!.BYTE 0
|
||||
W?TUG:: .ZWORD "tug"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?PULL!.BYTE 0
|
||||
W?TURN:: .ZWORD "turn"!.BYTE PS?OBJECT+PS?VERB+P1?OBJECT!.BYTE O?ANY!.BYTE ACT?SWITCH
|
||||
W?USE:: .ZWORD "use"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?USE!.BYTE 0
|
||||
W?WADE:: .ZWORD "wade"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SWIM!.BYTE 0
|
||||
W?WAIT:: .ZWORD "wait"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WAIT!.BYTE 0
|
||||
W?WAKE:: .ZWORD "wake"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WAKE!.BYTE 0
|
||||
W?WALK:: .ZWORD "walk"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?HEAD!.BYTE 0
|
||||
W?WASH:: .ZWORD "wash"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BRUSH!.BYTE 0
|
||||
W?WASTE:: .ZWORD "waste"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?MURDER!.BYTE 0
|
||||
W?WATCH:: .ZWORD "watch"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WATCH!.BYTE 0
|
||||
W?WEAR:: .ZWORD "wear"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WEAR!.BYTE 0
|
||||
W?WINK:: .ZWORD "wink"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?SMILE!.BYTE 0
|
||||
W?WIPE:: .ZWORD "wipe"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?BRUSH!.BYTE 0
|
||||
W?WRITE:: .ZWORD "write"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?WRITE!.BYTE 0
|
||||
W?YELL:: .ZWORD "yell"!.BYTE PS?VERB+P1?VERB!.BYTE ACT?YELL!.BYTE 0
|
28
verbs.zil
28
verbs.zil
|
@ -5,7 +5,7 @@ Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
|||
<TELL "Here " .STR "s a transcript of interaction with" CR>>
|
||||
|
||||
<ROUTINE V-SCRIPT ()
|
||||
<PUT 0 8 <BOR <GET 0 8> 1>>
|
||||
<LOWCORE FLAGS <BOR <LOWCORE FLAGS> 1>>
|
||||
<TRANSCRIPT "begin">
|
||||
<V-VERSION>
|
||||
<RTRUE>>
|
||||
|
@ -13,7 +13,7 @@ Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
|||
<ROUTINE V-UNSCRIPT ()
|
||||
<TRANSCRIPT "end">
|
||||
<V-VERSION>
|
||||
<PUT 0 8 <BAND <GET 0 8> -2>>
|
||||
<LOWCORE FLAGS <BAND <LOWCORE FLAGS> -2>>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE V-$VERIFY ()
|
||||
|
@ -313,21 +313,13 @@ Card can tell you why.]" CR>>
|
|||
<DESCRIBE-OBJECTS>)>)>>
|
||||
|
||||
<ROUTINE V-VERSION ("AUX" (CNT 17) V)
|
||||
<SET V <BAND <GET 0 1> *3777*>>
|
||||
<SET V <BAND <LOWCORE ZORKID> *3777*>>
|
||||
<TELL D ,MOONMIST "|
|
||||
Infocom interactive fiction - a mystery story|
|
||||
Copyright (c) 1986 by Infocom, Inc. All rights reserved." CR>
|
||||
;<COND (<NOT <==? <BAND <GETB 0 1> 8> 0>>
|
||||
<TELL
|
||||
"Licensed to Tandy Corporation. Version 00.00." N .V CR>)>
|
||||
<TELL
|
||||
Copyright (c) 1986 by Infocom, Inc. All rights reserved." CR
|
||||
D ,MOONMIST " is a trademark of Infocom, Inc.|
|
||||
Release number " N .V " / Serial number ">
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> 23>
|
||||
<RETURN>)
|
||||
(T
|
||||
<PRINTC <GETB 0 .CNT>>)>>
|
||||
<LOWCORE-TABLE SERIAL 6 PRINTC>
|
||||
<COND (<NOT <0? ,VARIATION>>
|
||||
<TELL " / ">
|
||||
<PRINTB <GET ,COLOR-WORDS ,VARIATION>>
|
||||
|
@ -2146,7 +2138,7 @@ HIM ,PRSO " nor any other preposition.]" CR>)>
|
|||
<COND (<DOBJ? INTDIR>
|
||||
<SETG CLOCK-WAIT T>
|
||||
<TELL "(If you want to see what's there, go there!)" CR>)
|
||||
(<DOBJ? CASTLE HANDS HEAD ;POCKET TOWER WALL LIGHT-GLOBAL>
|
||||
(<DOBJ? CASTLE HANDS HEAD OTHER-OUTFIT TOWER WALL LIGHT-GLOBAL>
|
||||
<NOTHING-SPECIAL>)
|
||||
;(<DOBJ? NOW-WEARING>
|
||||
<TELL <GETP ,PRSO ,P?TEXT> CR>)
|
||||
|
@ -2561,7 +2553,7 @@ from your dealer or via mail with the form in your package.]" CR>>
|
|||
<ROUTINE V-LEAVE ("AUX" GT)
|
||||
<COND (<==? ,WINNER ,FOLLOWER>
|
||||
<SETG FOLLOWER 0>)>
|
||||
<COND (<EQUAL? ,PRSO <> ,ROOMS ,HERE>
|
||||
<COND (<EQUAL? ,PRSO ;<> ,ROOMS ,HERE ,GLOBAL-HERE>
|
||||
<DO-WALK ,P?OUT>
|
||||
<PUTP ,WINNER ,P?LDESC 9 ;"waiting patiently">
|
||||
<COND (<AND <EQUAL? ,WINNER ,FRIEND>
|
||||
|
@ -2959,7 +2951,7 @@ And things that go bump in the night, Good Lord, deliver us!\"" CR>>
|
|||
;(<NOT <FSET? ,PRSO ,TAKEBIT>> ;"SYNTAX says TAKE"
|
||||
<YOU-CANT "pick up">
|
||||
<RTRUE>)
|
||||
(<DOBJ? HEAD HANDS>
|
||||
(<DOBJ? HEAD HANDS OTHER-OUTFIT>
|
||||
<WONT-HELP>
|
||||
<RTRUE>)
|
||||
(<IN? ,PRSO ,GLOBAL-OBJECTS>
|
||||
|
@ -3533,7 +3525,7 @@ THE ,PRSI " hidden on" HIS ,PRSO " person." CR>)>)>
|
|||
<T? ,TREASURE-FOUND>>
|
||||
<SET L <LOC ,INKWELL>>)>
|
||||
<COND (<DOBJ? CASTLE MOON OCEAN
|
||||
NOW-WEARING ;POCKET TOWER FLOOR
|
||||
NOW-WEARING OTHER-OUTFIT TOWER FLOOR
|
||||
WALL KEYHOLE>
|
||||
<HAR-HAR>)
|
||||
(<DOBJ? ARTIFACT HANDS PASSAGE TREASURE YOU>
|
||||
|
@ -3936,7 +3928,7 @@ CHE ,PRSO is !\ <GET ,LDESC-STRINGS 12> ;"listening to you" "." CR>)>)
|
|||
<RETURN>)
|
||||
(T
|
||||
<SET WHO-WAIT <+ .WHO-WAIT 1>>
|
||||
<COND (<NOT <==? <BAND <GETB 0 1> 16> 0>>
|
||||
<COND (<T? <BAND <LOWCORE ZVERSION> 16>>
|
||||
<TELL !\(>
|
||||
<SET VAL <TIME-PRINT ,PRESENT-TIME>>
|
||||
<TELL ") ">)>
|
||||
|
|
Loading…
Reference in a new issue