mirror of
https://github.com/historicalsource/spellbreaker
synced 2024-05-17 08:38:15 +03:00
Revision 63 (Original Source)
This commit is contained in:
commit
3a4d17d26a
40
debug.zil
Normal file
40
debug.zil
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
%<DEBUG-CODE <GLOBAL ZDEBUG <>>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE <SYNTAX $DEBUG = V-$DEBUG>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<ROUTINE V-$DEBUG ()
|
||||||
|
<COND (<SETG ZDEBUG <NOT ,ZDEBUG>>
|
||||||
|
<TELL-ON>)
|
||||||
|
(T <TELL-OFF>)>>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE <ROUTINE TELL-ON () <TELL "On." CR>>>
|
||||||
|
%<DEBUG-CODE <ROUTINE TELL-OFF () <TELL "Off." CR>>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE <SYNTAX $BLORPLE OBJECT = V-$BLORPLE>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<ROUTINE V-$BLORPLE ("AUX" CUBE)
|
||||||
|
<MOVE ,PRSO ,WINNER>
|
||||||
|
<V-BLORPLE>>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE <SYNTAX $CHEAT = V-$CHEAT>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<ROUTINE V-$CHEAT ("AUX" CUBE)
|
||||||
|
<TELL "[Solution: " D ,TIME-CUBE "]" CR>>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<SYNTAX $TAKE OBJECT = V-$TAKE>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<ROUTINE V-$TAKE ("AUX" CUBE)
|
||||||
|
<MOVE ,PRSO ,WINNER>
|
||||||
|
<FCLEAR ,PRSO ,NDESCBIT>
|
||||||
|
<FCLEAR ,PRSO ,INVISIBLE>
|
||||||
|
<TELL ,TAKEN>>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<ROUTINE TELL-C-INTS ()
|
||||||
|
<TELL "[MaxInts: " N </ <- ,C-TABLELEN ,C-MAXINTS> ,C-INTLEN>
|
||||||
|
"]" CR>>>
|
1087
globals.zil
Normal file
1087
globals.zil
Normal file
File diff suppressed because it is too large
Load diff
688
guild.zil
Normal file
688
guild.zil
Normal file
|
@ -0,0 +1,688 @@
|
||||||
|
"GUILD for
|
||||||
|
MAGE
|
||||||
|
(c) Copyright 1985 Infocom, Inc. All Rights Reserved."
|
||||||
|
|
||||||
|
<OBJECT KNIFE
|
||||||
|
(IN PLAYER)
|
||||||
|
(DESC "knife")
|
||||||
|
(SYNONYM KNIFE DAGGER)
|
||||||
|
(FLAGS TAKEBIT WEAPONBIT)
|
||||||
|
(ACTION KNIFE-F)>
|
||||||
|
|
||||||
|
<ROUTINE KNIFE-F ()
|
||||||
|
<COND (<AND <VERB? CUT>
|
||||||
|
<EQUAL? ,PRSO ,BREAD ,FISH>>
|
||||||
|
<TELL
|
||||||
|
"You slice off a little piece and eat it. It tastes pretty good, but
|
||||||
|
you really weren't feeling very hungry." CR>)>>
|
||||||
|
|
||||||
|
<ROOM GUILD-HALL
|
||||||
|
(IN ROOMS)
|
||||||
|
(DESC "Guild Hall")
|
||||||
|
(NORTH TO COUNCIL-CHAMBER)
|
||||||
|
(SOUTH TO BELWIT-SQUARE)
|
||||||
|
(OUT TO BELWIT-SQUARE)
|
||||||
|
(ACTION GUILD-HALL-F)
|
||||||
|
(FLAGS ONBIT RLANDBIT)>
|
||||||
|
|
||||||
|
<ROUTINE GUILD-HALL-F (RARG)
|
||||||
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||||
|
<TELL
|
||||||
|
"This is the entrance to the Guild Hall in Borphee. To the north is
|
||||||
|
the Council Chamber, and to the south is an exit leading outside.">
|
||||||
|
<COND (<OR <NOT <FSET? ,BREAD ,TOUCHBIT>>
|
||||||
|
<NOT <FSET? ,FISH ,TOUCHBIT>>>
|
||||||
|
<TELL
|
||||||
|
" Little is left of the sumptuous buffet lunch. Only ">
|
||||||
|
<COND (<NOT <FSET? ,BREAD ,TOUCHBIT>>
|
||||||
|
<TELL "a loaf of bread">
|
||||||
|
<COND (<NOT <FSET? ,FISH ,TOUCHBIT>>
|
||||||
|
<TELL " and ">)>)>
|
||||||
|
<COND (<NOT <FSET? ,FISH ,TOUCHBIT>>
|
||||||
|
<TELL "some smoked fish">)>
|
||||||
|
<TELL " remains.">)>
|
||||||
|
<CRLF>)>>
|
||||||
|
|
||||||
|
<OBJECT BREAD
|
||||||
|
(IN GUILD-HALL)
|
||||||
|
(DESC "chunk of rye bread")
|
||||||
|
(SYNONYM BREAD FOOD LOAF CHUNK)
|
||||||
|
(ADJECTIVE FRESH RYE LOAF CHUNK)
|
||||||
|
(FLAGS NDESCBIT BRIEFBIT TAKEBIT)>
|
||||||
|
|
||||||
|
<OBJECT FISH
|
||||||
|
(IN GUILD-HALL)
|
||||||
|
(DESC "smoked fish")
|
||||||
|
(SYNONYM FISH SARDINE HERRING FOOD)
|
||||||
|
(ADJECTIVE SMOKED)
|
||||||
|
(FLAGS NDESCBIT BRIEFBIT TAKEBIT)
|
||||||
|
(GENERIC GENERIC-FISH-F)>
|
||||||
|
|
||||||
|
<ROOM COUNCIL-CHAMBER
|
||||||
|
(IN ROOMS)
|
||||||
|
(DESC "Council Chamber")
|
||||||
|
(ACTION COUNCIL-CHAMBER-F)
|
||||||
|
(SOUTH TO GUILD-HALL)
|
||||||
|
(OUT TO GUILD-HALL)
|
||||||
|
(FLAGS ONBIT RLANDBIT)
|
||||||
|
(THINGS
|
||||||
|
<PSEUDO (LEOPARD FROG FROG-PSEUDO)
|
||||||
|
(<> FROGS AMPHIBIAN-PSEUDO)
|
||||||
|
(TREE TOAD TOAD-PSEUDO)
|
||||||
|
(<> TOADS AMPHIBIAN-PSEUDO)
|
||||||
|
(<> SALAMANDER SALAMANDER-PSEUDO)
|
||||||
|
(<> NEWT NEWT-PSEUDO)
|
||||||
|
(<> NEWTS AMPHIBIAN-PSEUDO)
|
||||||
|
(<> HELLBENDER HELLBENDER-PSEUDO)
|
||||||
|
(<> EFT AMPHIBIAN-PSEUDO)
|
||||||
|
(<> EFTS AMPHIBIAN-PSEUDO)>)>
|
||||||
|
|
||||||
|
<ROUTINE FROG-PSEUDO ()
|
||||||
|
<COND (,CLEESHED? <REDIRECT ,PSEUDO-OBJECT ,GZORNENPLATZ>)
|
||||||
|
(ELSE <AMPHIBIAN-PSEUDO>)>>
|
||||||
|
|
||||||
|
<ROUTINE TOAD-PSEUDO ()
|
||||||
|
<COND (,CLEESHED? <REDIRECT ,PSEUDO-OBJECT ,SNEFFLE>)
|
||||||
|
(ELSE <AMPHIBIAN-PSEUDO>)>>
|
||||||
|
|
||||||
|
<ROUTINE SALAMANDER-PSEUDO ()
|
||||||
|
<COND (,CLEESHED? <REDIRECT ,PSEUDO-OBJECT ,HOOBLY>)
|
||||||
|
(ELSE <AMPHIBIAN-PSEUDO>)>>
|
||||||
|
|
||||||
|
<ROUTINE NEWT-PSEUDO ()
|
||||||
|
<COND (,CLEESHED? <REDIRECT ,PSEUDO-OBJECT ,ARDIS>)
|
||||||
|
(ELSE <AMPHIBIAN-PSEUDO>)>>
|
||||||
|
|
||||||
|
<ROUTINE HELLBENDER-PSEUDO ()
|
||||||
|
<COND (,CLEESHED? <REDIRECT ,PSEUDO-OBJECT ,ORKAN>)
|
||||||
|
(ELSE <AMPHIBIAN-PSEUDO>)>>
|
||||||
|
|
||||||
|
<ROUTINE AMPHIBIAN-PSEUDO ()
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"They are hopping around so wildly it's hard to do anything with them." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"I think you had too much punch at lunch. There's no such thing here." CR>)>>
|
||||||
|
|
||||||
|
<GLOBAL ORATOR <>>
|
||||||
|
<GLOBAL CLEESHED? <>>
|
||||||
|
|
||||||
|
<OBJECT SORCERER
|
||||||
|
(IN COUNCIL-CHAMBER)
|
||||||
|
(DESC "sorcerer")
|
||||||
|
(SYNONYM SORCERER ENCHANTER MAGE MAGES)
|
||||||
|
(ADJECTIVE GROUP PARTY)
|
||||||
|
(ACTION SORCERER-F)
|
||||||
|
(FLAGS NDESCBIT PERSON THE)>
|
||||||
|
|
||||||
|
<ROUTINE SORCERER-F ()
|
||||||
|
<COND (<VERB? TELL>
|
||||||
|
<TELL
|
||||||
|
,MORE-SPECIFIC ". There are about ten of them around, including
|
||||||
|
yourself." CR>)
|
||||||
|
(<VERB? EXAMINE>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"The former mages are scuttling hither and yon across the floor." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"The mages, grouped loosely near you, are listening to the speakers." CR>)>)
|
||||||
|
(<VERB? COUNT>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"It's hard to tell. I assume there are still about ten." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"There are about ten, including you and " 'ORKAN ", the
|
||||||
|
most eminent of the group, now that Belboz has retired." CR>)>)>>
|
||||||
|
|
||||||
|
<OBJECT SPEAKER
|
||||||
|
(IN COUNCIL-CHAMBER)
|
||||||
|
(DESC "speaker")
|
||||||
|
(SYNONYM SPEAKER ORATOR GUILDMASTER)
|
||||||
|
(ACTION SPEAKER-F)
|
||||||
|
(FLAGS NDESCBIT)>
|
||||||
|
|
||||||
|
<ROUTINE SPEAKER-F ()
|
||||||
|
<REDIRECT ,SPEAKER ,ORATOR>>
|
||||||
|
|
||||||
|
<ROUTINE COUNCIL-CHAMBER-F ("OPTIONAL" (RARG <>))
|
||||||
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||||
|
<TELL
|
||||||
|
"You are in the Council Chamber of the ancient Guild Hall at Borphee. To
|
||||||
|
the south is the entry of the Guild Hall. ">
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"Scurrying wetly hither and yon around you are many brightly colored newts,
|
||||||
|
efts, and salamanders. Toads and frogs hop excitedly about.">)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"There is a meeting of the Guildmasters going on. You are standing among
|
||||||
|
a group of about ten sorcerers, each the master of an Enchanters Guild chapter
|
||||||
|
somewhere in the land.">
|
||||||
|
<COND (<G? ,OCOUNT 0>
|
||||||
|
<TELL
|
||||||
|
" " 'ORATOR " is addressing the meeting.">)>)>
|
||||||
|
<CRLF>)
|
||||||
|
(<EQUAL? .RARG ,M-BEG>
|
||||||
|
<COND (<NOT ,CLEESHED?>
|
||||||
|
<COND (<VERB? WALK>
|
||||||
|
<TELL
|
||||||
|
"Annoyed guildmasters make way grudgingly. You hear muttering about
|
||||||
|
\"arrogant enchanters\" as you try to leave the chamber. Finally, "
|
||||||
|
'ORKAN ", one of your colleagues, says, \"Stay. Be quiet. Don't
|
||||||
|
embarrass us.\"" CR>)
|
||||||
|
(<AND <VERB? SAY> <NOT ,PRSO>>
|
||||||
|
<TELL
|
||||||
|
'ORKAN " quiets you. \"Interruptions will only annoy them.\"" CR>)
|
||||||
|
(<AND <VERB? LISTEN>
|
||||||
|
<NOT ,PRSO>>
|
||||||
|
<TELL
|
||||||
|
'ORATOR " is speaking." CR>)
|
||||||
|
(<SPELL-VERB?>
|
||||||
|
<TELL
|
||||||
|
'ORKAN " stares at you in wonderment. \"Are you trying to get them
|
||||||
|
even more mad at us?\" He makes a gesture of cancellation before you can
|
||||||
|
finish the spell." CR>)
|
||||||
|
(<AND <HOSTILE-VERB?>
|
||||||
|
<FSET? ,PRSO ,PERSON>>
|
||||||
|
<COND (<EQUAL? ,PRSO ,ORKAN>
|
||||||
|
<TELL
|
||||||
|
'ORKAN " easily subdues you without causing undue disruption." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
'ORKAN " grabs you and prevents your antisocial deed." CR>)>)
|
||||||
|
(<VERB? YAWN SLEEP>
|
||||||
|
<TELL
|
||||||
|
"Realizing how insulting you are being to the speaker, you try to stifle
|
||||||
|
the yawn." CR>)>)>)>>
|
||||||
|
|
||||||
|
<OBJECT ORKAN
|
||||||
|
(IN COUNCIL-CHAMBER)
|
||||||
|
(DESC "Orkan of Thriff")
|
||||||
|
(SYNONYM ORKAN)
|
||||||
|
(ADJECTIVE THRIFF)
|
||||||
|
(ACTION ORKAN-F)
|
||||||
|
(FLAGS PERSON NOABIT NOTHEBIT NDESCBIT)>
|
||||||
|
|
||||||
|
<ROUTINE ORKAN-F ()
|
||||||
|
<COND (<EQUAL? ,WINNER ,ORKAN>
|
||||||
|
<COND (<AND <VERB? TELL-ABOUT>
|
||||||
|
<EQUAL? ,PRSO ,ME>>
|
||||||
|
<RFALSE>)
|
||||||
|
(,CLEESHED?
|
||||||
|
<TELL "Orkan doesn't reply." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"\"Please! You should at least pretend to pay attention to these fools,\"
|
||||||
|
whispers Orkan." CR>)>
|
||||||
|
<END-QUOTE>)
|
||||||
|
(<VERB? EXAMINE>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL "Orkan is now a hellbender." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
'ORKAN " is a large bear-like gentleman dressed in the traditional garb
|
||||||
|
of a mage." CR>)>)
|
||||||
|
(<VERB? LISTEN>
|
||||||
|
<COND (<NOT ,CLEESHED?>
|
||||||
|
<TELL
|
||||||
|
"Orkan is listening to the speaker and suggests you do the same." CR>)>)
|
||||||
|
(<VERB? YOMIN>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"You get a vague impression of hunger and annoyance at being dry." CR>)>)>>
|
||||||
|
|
||||||
|
<OBJECT SNEFFLE
|
||||||
|
(IN COUNCIL-CHAMBER)
|
||||||
|
(DESC "Sneffle")
|
||||||
|
(SYNONYM SNEFFLE BAKER)
|
||||||
|
(ACTION SNEFFLE-F)
|
||||||
|
(FLAGS PERSON NOABIT NOTHEBIT NDESCBIT)>
|
||||||
|
|
||||||
|
<ROUTINE SNEFFLE-F ()
|
||||||
|
<COND (<EQUAL? ,WINNER ,SNEFFLE>
|
||||||
|
<COND (<AND <VERB? TELL-ABOUT>
|
||||||
|
<EQUAL? ,PRSO ,ME>>
|
||||||
|
<RFALSE>)
|
||||||
|
(,CLEESHED?
|
||||||
|
<TELL "\"Breep!\"" CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"\"Interrupting, eh? This is precisely what I was talking about!\" snorts "
|
||||||
|
'SNEFFLE>
|
||||||
|
<TELL ,PERIOD>)>
|
||||||
|
<END-QUOTE>)
|
||||||
|
(<VERB? EXAMINE>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL "Sneffle is now a tree toad." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"Sneffle is a small doughy gentleman whose person is splotched here and
|
||||||
|
there with flour." CR>)>)
|
||||||
|
(<VERB? LISTEN>
|
||||||
|
<COND (<NOT ,CLEESHED?>
|
||||||
|
<LISTEN-TO-GUILDMASTER>)>)
|
||||||
|
(<VERB? YOMIN>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"Sneffle is searching intently for flies." CR>)>)>>
|
||||||
|
|
||||||
|
<ROUTINE LISTEN-TO-GUILDMASTER ()
|
||||||
|
<TELL 'PRSO " is ">
|
||||||
|
<COND (<EQUAL? ,PRSO ,ORATOR>
|
||||||
|
<TELL "making a speech.">)
|
||||||
|
(ELSE
|
||||||
|
<TELL "listening to the speaker.">)>
|
||||||
|
<CRLF>>
|
||||||
|
|
||||||
|
<OBJECT HOOBLY
|
||||||
|
(IN COUNCIL-CHAMBER)
|
||||||
|
(DESC "Hoobly")
|
||||||
|
(SYNONYM HOOBLY BREWER)
|
||||||
|
(ADJECTIVE CORPULENT FAT)
|
||||||
|
(ACTION HOOBLY-F)
|
||||||
|
(FLAGS PERSON NOABIT NOTHEBIT NDESCBIT)>
|
||||||
|
|
||||||
|
<ROUTINE HOOBLY-F ()
|
||||||
|
<COND (<EQUAL? ,WINNER ,HOOBLY>
|
||||||
|
<COND (<AND <VERB? TELL-ABOUT>
|
||||||
|
<EQUAL? ,PRSO ,ME>>
|
||||||
|
<RFALSE>)
|
||||||
|
(,CLEESHED?
|
||||||
|
<TELL "\"Ssss!\"" CR>)
|
||||||
|
(<EQUAL? ,ORATOR ,HOOBLY>
|
||||||
|
<TELL
|
||||||
|
'HOOBLY " pointedly ignores you." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"\"Your manners leave something to be desired! " 'ORATOR " is
|
||||||
|
speaking!\" remarks " 'HOOBLY>
|
||||||
|
<TELL ,PERIOD>)>
|
||||||
|
<END-QUOTE>)
|
||||||
|
(<VERB? EXAMINE>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL "Hoobly has become a salamander." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"Hoobly is a large, florid, and solid-looking fellow who gives the appearance
|
||||||
|
of being one of his own better customers." CR>)>)
|
||||||
|
(<VERB? YOMIN>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"You get a strong feeling of torpidity." CR>)>)>>
|
||||||
|
|
||||||
|
<OBJECT GZORNENPLATZ
|
||||||
|
(IN COUNCIL-CHAMBER)
|
||||||
|
(DESC "Gzornenplatz")
|
||||||
|
(SYNONYM GZORNENPLATZ HUNTSMAN)
|
||||||
|
(ACTION GZORNENPLATZ-F)
|
||||||
|
(FLAGS PERSON NOABIT NOTHEBIT NDESCBIT)>
|
||||||
|
|
||||||
|
<ROUTINE GZORNENPLATZ-F ()
|
||||||
|
<COND (<EQUAL? ,WINNER ,GZORNENPLATZ>
|
||||||
|
<COND (<AND <VERB? TELL-ABOUT>
|
||||||
|
<EQUAL? ,PRSO ,ME>>
|
||||||
|
<RFALSE>)
|
||||||
|
(,CLEESHED?
|
||||||
|
<TELL "\"Braaaak! Gleep?\"" CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
'GZORNENPLATZ " glares at you.">
|
||||||
|
<COND (<NOT <EQUAL? ,ORATOR ,GZORNENPLATZ>>
|
||||||
|
<TELL " \"No doubt you don't wish the speakers
|
||||||
|
to be heard. This is what I expect from such as you!\"">)>
|
||||||
|
<CRLF>)>
|
||||||
|
<END-QUOTE>)
|
||||||
|
(<VERB? EXAMINE>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL 'GZORNENPLATZ " has become a leopard frog." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
'GZORNENPLATZ " is a tall, whipcord thin man with sandy blond hair. He
|
||||||
|
is dressed in the traditional lincoln green of huntsmen." CR>)>)
|
||||||
|
(<VERB? YOMIN>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"You feel a strong impression of intent, careful stalking of a beetle."
|
||||||
|
CR>)>)>>
|
||||||
|
|
||||||
|
<OBJECT ARDIS
|
||||||
|
(IN COUNCIL-CHAMBER)
|
||||||
|
(DESC "Ardis")
|
||||||
|
(SYNONYM ARDIS POET)
|
||||||
|
(ACTION ARDIS-F)
|
||||||
|
(FLAGS PERSON NOABIT NOTHEBIT NDESCBIT)>
|
||||||
|
|
||||||
|
<ROUTINE ARDIS-F ()
|
||||||
|
<COND (<EQUAL? ,WINNER ,ARDIS>
|
||||||
|
<COND (<AND <VERB? TELL-ABOUT>
|
||||||
|
<EQUAL? ,PRSO ,ME>>
|
||||||
|
<RFALSE>)
|
||||||
|
(,CLEESHED?
|
||||||
|
<UNINTERESTED ,ARDIS>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"\"You must wait your turn!\" screams " 'ARDIS>
|
||||||
|
<TELL ,PERIOD>)>
|
||||||
|
<END-QUOTE>)
|
||||||
|
(<VERB? EXAMINE>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL "Ardis has become a newt." CR>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"Ardis is the muscular sort of poet (as opposed to the neurasthenic).
|
||||||
|
He sports a full black beard, wild hair, and talks in a loud voice." CR>)>)
|
||||||
|
(<VERB? YOMIN>
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"You get a feeling of surprise and terror." CR>)>)>>
|
||||||
|
|
||||||
|
<ROOM BELWIT-SQUARE
|
||||||
|
(IN ROOMS)
|
||||||
|
(DESC "Belwit Square")
|
||||||
|
(NORTH TO GUILD-HALL)
|
||||||
|
(EAST "You wander around for a while and end up back in the square.")
|
||||||
|
(WEST "You wander around for a while and end up back in the square.")
|
||||||
|
(SOUTH "A remarkably surly guard blocks your way.")
|
||||||
|
(ACTION BELWIT-SQUARE-F)
|
||||||
|
(FLAGS ONBIT RLANDBIT)
|
||||||
|
(THINGS
|
||||||
|
<PSEUDO (SURLY GUARD GUARD-PSEUDO)
|
||||||
|
(STORIED MANSE MANSE-PSEUDO)
|
||||||
|
(GUILD HALL GUILD-HALL-PSEUDO)
|
||||||
|
(<> BUILDING RANDOM-PSEUDO)>)>
|
||||||
|
|
||||||
|
<ROUTINE GUILD-HALL-PSEUDO ()
|
||||||
|
<COND (<VERB? THROUGH>
|
||||||
|
<DO-WALK ,P?NORTH>)
|
||||||
|
(ELSE <RANDOM-PSEUDO>)>>
|
||||||
|
|
||||||
|
<ROUTINE MANSE-PSEUDO ()
|
||||||
|
<COND (<VERB? EXAMINE>
|
||||||
|
<TELL "It is a large, imposing building of great age." CR>)
|
||||||
|
(<VERB? THROUGH>
|
||||||
|
<TELL "The manse is closed to the public." CR>)>>
|
||||||
|
|
||||||
|
<ROUTINE GUARD-PSEUDO ()
|
||||||
|
<COND (<VERB? EXAMINE>
|
||||||
|
<TELL "He looks very zealous." CR>)
|
||||||
|
(<VERB? TELL ASK-ABOUT>
|
||||||
|
<TELL
|
||||||
|
"The guard ignores you, intent on his duty." CR>
|
||||||
|
<COND (<VERB? TELL> <END-QUOTE>)
|
||||||
|
(ELSE <RTRUE>)>)
|
||||||
|
(<VERB? SHOW GIVE OFFER>
|
||||||
|
<TELL "Trying to bribe the guard, eh?" CR>)
|
||||||
|
(<HOSTILE-VERB?>
|
||||||
|
<TELL "That would be incredibly dangerous." CR>)
|
||||||
|
(<SPELL-VERB?>
|
||||||
|
<TELL
|
||||||
|
"Nothing happens, as the mayoral guards are quite well-protected
|
||||||
|
from spells." CR>)>>
|
||||||
|
|
||||||
|
<ROUTINE BELWIT-SQUARE-F (RARG)
|
||||||
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||||
|
<TELL
|
||||||
|
"This is " 'HERE ". ">
|
||||||
|
<COND (<NOT <FSET? ,CLOUD ,INVISIBLE>>
|
||||||
|
<TELL
|
||||||
|
"Its many historic and picturesque buildings are obscured by
|
||||||
|
a cloud of orange smoke.">)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"To the north is the ancient Guild Hall.
|
||||||
|
A wide cobblestone street runs east and west. To the south is the storied
|
||||||
|
Manse, home of the Mayors of Borphee for generations.">)>
|
||||||
|
<CRLF>)
|
||||||
|
(<AND <EQUAL? .RARG ,M-BEG>
|
||||||
|
<NOT <FSET? ,CLOUD ,INVISIBLE>>>
|
||||||
|
<COND (<VERB? WALK>
|
||||||
|
<TELL
|
||||||
|
,YOU-CANT-SEE "well enough to find your way out" ,PERIOD>)
|
||||||
|
(<EQUAL? ,PRSO ,CLOUD> <RFALSE>)
|
||||||
|
(<AND <VERB? FIND LOOK TAKE EXAMINE TELL ASK-ABOUT>
|
||||||
|
<NOT <HELD? ,PRSO>>>
|
||||||
|
<TELL
|
||||||
|
,YOU-CANT-SEE "anything, what with the smokey orange cloud that blankets
|
||||||
|
the square." CR>)
|
||||||
|
(<VERB? DROP>
|
||||||
|
<COND (<IDROP>
|
||||||
|
<TELL
|
||||||
|
"Dropped, but you lose it in the smoke." CR>)
|
||||||
|
(ELSE <RTRUE>)>)
|
||||||
|
(<AND <VERB? SMELL> <NOT ,PRSO>>
|
||||||
|
<SMELL-CLOUD>)>)
|
||||||
|
(<EQUAL? .RARG ,M-ENTER>
|
||||||
|
<COND (<AND <FSET? ,DEATH-CUBE ,TOUCHBIT>
|
||||||
|
<NOT ,SAMARRA?>>
|
||||||
|
<SETG SAMARRA? T>
|
||||||
|
<QUEUE I-SAMARRA 1>)>)>>
|
||||||
|
|
||||||
|
<OBJECT SHADOW
|
||||||
|
(IN COUNCIL-CHAMBER)
|
||||||
|
(DESC "shadowy figure")
|
||||||
|
(SYNONYM FIGURE SHADOW TWIN BEING)
|
||||||
|
(ADJECTIVE SHADOW CLOAKED)
|
||||||
|
(DESCFCN SHADOW-DESC)
|
||||||
|
(ACTION SHADOW-F)
|
||||||
|
(FLAGS PERSON NDESCBIT TAKEBIT TRYTAKEBIT THE MAGICBIT)>
|
||||||
|
|
||||||
|
<ROUTINE SHADOW-DESC (RARG OBJ)
|
||||||
|
<COND (,CLEESHED?
|
||||||
|
<TELL
|
||||||
|
"A " 'SHADOW " in a dark cloak ">
|
||||||
|
<COND (<EQUAL? ,HERE ,GUILD-HALL ,COUNCIL-CHAMBER>
|
||||||
|
<TELL "is running out the door">)
|
||||||
|
(<EQUAL? ,HERE ,BELWIT-SQUARE>
|
||||||
|
<TELL "flees across the square">)
|
||||||
|
(ELSE
|
||||||
|
<TELL "is here">)>
|
||||||
|
<TELL ,PERIOD>)>>
|
||||||
|
|
||||||
|
<ROUTINE SHADOW-F ()
|
||||||
|
<COND (<OR <NOT <EQUAL? ,HERE ,CASTLE>>
|
||||||
|
<NOT <IN? ,SHADOW ,CASTLE>>>
|
||||||
|
<COND (<EQUAL? ,WINNER ,SHADOW>
|
||||||
|
<END-QUOTE>
|
||||||
|
<TELL "What shadow?" CR>)
|
||||||
|
(<AND <NOT ,CLEESHED?>
|
||||||
|
<VERB? FIND>
|
||||||
|
<PROB 33>>
|
||||||
|
<TELL
|
||||||
|
"There is a figure wearing a dark cloak on the other side of the room,
|
||||||
|
but almost the moment you catch sight of it, it disappears." CR>)
|
||||||
|
(<VERB? EXAMINE>
|
||||||
|
<TELL
|
||||||
|
"I don't see any " 'SHADOW " anywhere." CR>)
|
||||||
|
(<VERB? ASK-ABOUT TELL-ABOUT TELL-ME-ABOUT>
|
||||||
|
<RFALSE>)
|
||||||
|
(<AND <VERB? FOLLOW>
|
||||||
|
<NOT <IN? ,SHADOW ,HERE>>>
|
||||||
|
<COND (<EQUAL? ,HERE ,COUNCIL-CHAMBER ,GUILD-HALL>
|
||||||
|
<DO-WALK ,P?SOUTH>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"Where it went, I doubt you can follow." CR>)>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"There is no sign of such a person." CR>)>)
|
||||||
|
(<EQUAL? ,HERE ,CASTLE>
|
||||||
|
<COND (<EQUAL? ,WINNER ,SHADOW>
|
||||||
|
<COND (<TIME-FROZEN?>
|
||||||
|
<IMMOBILE>
|
||||||
|
<END-QUOTE>)
|
||||||
|
(ELSE
|
||||||
|
<TELL
|
||||||
|
"\"All will be revealed in due time.\"" CR>)>)
|
||||||
|
(<AND <VERB? GIVE>
|
||||||
|
<GETP ,PRSO ,P?CUBE>>
|
||||||
|
<MOVE ,PRSO ,HERE>
|
||||||
|
<FSET ,PRSO ,NDESCBIT>
|
||||||
|
<TELL
|
||||||
|
CTHE ,SHADOW " snatches it greedily." CR>)
|
||||||
|
(<HOSTILE-VERB?>
|
||||||
|
<COND (<EQUAL? ,TIME-STOPPED? ,HERE>
|
||||||
|
<TELL
|
||||||
|
"The frozen shadow is impervious to harm." CR>)
|
||||||
|
(ELSE <FREEZES-YOU>)>)
|
||||||
|
(<VERB? ESPNIS>
|
||||||
|
<TELL
|
||||||
|
"The shadow begins to nod off but with great effort resists and
|
||||||
|
awakens. ">
|
||||||
|
<FREEZES-YOU>)
|
||||||
|
(<VERB? YOMIN>
|
||||||
|
<TELL
|
||||||
|
"You feel your own innermost desires, petty jealousies, and unworthy
|
||||||
|
thoughts magnified a thousand times." CR>)
|
||||||
|
(<VERB? EXAMINE>
|
||||||
|
<TELL
|
||||||
|
CTHE ,SHADOW " is hard to see, almost as though some spell is acting
|
||||||
|
to obscure it. It's clad in a dark cloak with a hood, and it blends into
|
||||||
|
the background in a disturbing way." CR>)
|
||||||
|
(<AND <VERB? TELL> ,FROZEN?>
|
||||||
|
<TELL "You cannot speak." CR>
|
||||||
|
<END-QUOTE>)
|
||||||
|
(<AND <NOT ,FROZEN?>
|
||||||
|
<G? ,SHADOW-COUNT 4>
|
||||||
|
<L? ,SHADOW-COUNT 8>>
|
||||||
|
<COND (<VERB? TELL>
|
||||||
|
<FREEZES-YOU>)
|
||||||
|
(<OR <NO-CLOCK-VERB?>
|
||||||
|
<VERB? EXAMINE LOOK WAIT LOOK-INSIDE>>
|
||||||
|
<RFALSE>)
|
||||||
|
(ELSE
|
||||||
|
<FREEZES-YOU>)>)>)>>
|
||||||
|
|
||||||
|
<OBJECT CLOUD
|
||||||
|
(IN BELWIT-SQUARE)
|
||||||
|
(DESC "cloud of orange smoke")
|
||||||
|
(SYNONYM CLOUD SMOKE)
|
||||||
|
(ADJECTIVE ORANGE)
|
||||||
|
(FLAGS NDESCBIT INVISIBLE)
|
||||||
|
(ACTION CLOUD-F)>
|
||||||
|
|
||||||
|
<ROUTINE CLOUD-F ()
|
||||||
|
<COND (<VERB? EXAMINE>
|
||||||
|
<TELL
|
||||||
|
"This is a fairly standard " 'PRSO ", a side effect of a certain class
|
||||||
|
of teleportation spells. These spells are favored by those of a less
|
||||||
|
than honest nature, as the " 'PRSO " serves to conceal their usually
|
||||||
|
hasty departures." CR>)
|
||||||
|
(<VERB? THROUGH>
|
||||||
|
<TELL ,YOU-ARE " in the middle of it." CR>)
|
||||||
|
(<VERB? SMELL>
|
||||||
|
<SMELL-CLOUD>)>>
|
||||||
|
|
||||||
|
<ROUTINE SMELL-CLOUD ()
|
||||||
|
<TELL
|
||||||
|
"It smells vaguely of orange peels, but the predominant motif is less
|
||||||
|
pleasant and more acrid." CR>>
|
||||||
|
|
||||||
|
<ROOM CASTLE
|
||||||
|
(IN ROOMS)
|
||||||
|
(DESC "Castle")
|
||||||
|
(ACTION CASTLE-F)
|
||||||
|
(FLAGS RLANDBIT ONBIT)
|
||||||
|
(THINGS
|
||||||
|
<PSEUDO (<> THRONE RANDOM-PSEUDO)
|
||||||
|
(<> WINDOW RANDOM-PSEUDO)
|
||||||
|
(<> SKYLIGHT RANDOM-PSEUDO)
|
||||||
|
(<> MIST RANDOM-PSEUDO)>)>
|
||||||
|
|
||||||
|
<ROUTINE CASTLE-F (RARG "AUX" F)
|
||||||
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||||
|
<TELL
|
||||||
|
"This is the audience chamber. It is high and spacious, and every
|
||||||
|
proportion and decoration is intended to highlight the throne that
|
||||||
|
looms before you. The throne itself is bathed in light, but only
|
||||||
|
featureless gray may be seen through the windows and skylights." CR>)
|
||||||
|
(<EQUAL? .RARG ,M-BEG>
|
||||||
|
<COND (<OR <VERB? EXAMINE WAIT LOOK>
|
||||||
|
<NO-CLOCK-VERB?>>
|
||||||
|
<RFALSE>)
|
||||||
|
(,FROZEN?
|
||||||
|
<COND (<EQUAL? ,FROZEN? 1>
|
||||||
|
<COND (<NOT <EQUAL? ,TIME-STOPPED? ,HERE>>
|
||||||
|
<TELL "You clumsily attempt to ">
|
||||||
|
<COND (<SPELL-VERB?>
|
||||||
|
<TELL "cast the spell.">)
|
||||||
|
(ELSE
|
||||||
|
<TELL "do it.">)>
|
||||||
|
<COND (<OR <L? ,SHADOW-COUNT 8>
|
||||||
|
<SPELL-VERB?>
|
||||||
|
<HOSTILE-VERB?>
|
||||||
|
<EQUAL? ,PRSO ,SHADOW>>
|
||||||
|
<TELL " ">
|
||||||
|
<FREEZES-YOU>)>
|
||||||
|
<RTRUE>)>)
|
||||||
|
(ELSE
|
||||||
|
<TELL "You are frozen." CR>)>)
|
||||||
|
(<VERB? LEARN>
|
||||||
|
<TELL
|
||||||
|
"Something about this place prevents you. It's unsettling." CR>)
|
||||||
|
(<VERB? TAKE>
|
||||||
|
<COND (<EQUAL? ,TIME-STOPPED? ,HERE>
|
||||||
|
<COND (<NOT <ZERO? ,P-MULT>>
|
||||||
|
<TELL
|
||||||
|
"As you try to decide what to take first, the spell wears off! ">
|
||||||
|
<FREEZES-YOU>
|
||||||
|
<RFATAL>)
|
||||||
|
(<AND <EQUAL? ,PRSO ,MAGIC-CUBE>
|
||||||
|
<EQUAL? ,SHADOW-COUNT 9>>
|
||||||
|
<MOVE ,MAGIC-CUBE ,WINNER>
|
||||||
|
<FCLEAR ,MAGIC-CUBE ,NDESCBIT>
|
||||||
|
<TELL
|
||||||
|
"You tug and pull at the cube, trying desperately to remove it from its
|
||||||
|
place in the center of the tesseract. With your last reserve of strength
|
||||||
|
you free it!" CR>)
|
||||||
|
(<AND <GETP ,PRSO ,P?CUBE>
|
||||||
|
<FSET? ,PRSO ,NDESCBIT>>
|
||||||
|
<TELL
|
||||||
|
"You can no longer see " THE ,PRSO " in the blaze of light." CR>)
|
||||||
|
(<EQUAL? <ITAKE> T>
|
||||||
|
<TELL ,TAKEN>)
|
||||||
|
(ELSE <RTRUE>)>)
|
||||||
|
(<IN? ,SHADOW ,HERE>
|
||||||
|
<FREEZES-YOU>)>)
|
||||||
|
(<AND <VERB? PUT>
|
||||||
|
<EQUAL? ,PRSI ,HYPERCUBE>>
|
||||||
|
<COND (<EQUAL? ,TIME-STOPPED? ,HERE>
|
||||||
|
<COND (<SET F <FIRST? ,HYPERCUBE>>
|
||||||
|
<TELL
|
||||||
|
CTHE .F " is already there." CR>)
|
||||||
|
(ELSE
|
||||||
|
<MOVE ,PRSO ,HYPERCUBE>
|
||||||
|
<FSET ,PRSO ,NDESCBIT>
|
||||||
|
<TELL
|
||||||
|
"You push " THE ,PRSO " into the hypercube, where it hangs unsupported." CR>)>)
|
||||||
|
(<IN? ,SHADOW ,HERE>
|
||||||
|
<FREEZES-YOU>)>)
|
||||||
|
(<AND <VERB? BOARD>
|
||||||
|
<IN? ,SHADOW ,HERE>
|
||||||
|
<NOT <EQUAL? ,TIME-STOPPED? ,HERE>>>
|
||||||
|
<FREEZES-YOU>)
|
||||||
|
(<VERB? JINDAK>
|
||||||
|
<TELL "Everything glows." CR>)>)
|
||||||
|
(<EQUAL? .RARG ,M-ENTER>
|
||||||
|
<COND (<NOT <IN? ,SHADOW ,HERE>>
|
||||||
|
<QUEUE I-SHADOW-ARRIVES 2>)
|
||||||
|
(ELSE <QUEUE I-SHADOW -1>)>
|
||||||
|
<TELL
|
||||||
|
"Mocking laughter echoes around you." CR CR>)>>
|
||||||
|
|
||||||
|
<OBJECT HYPERCUBE
|
||||||
|
(DESC "construction")
|
||||||
|
(SYNONYM CONSTRUCT HYPERCUBE TESSERACT SQUARE)
|
||||||
|
(ADJECTIVE GLOWING TUMBLING)
|
||||||
|
(FLAGS NDESCBIT CONTBIT OPENBIT)
|
||||||
|
(ACTION HYPERCUBE-F)>
|
||||||
|
|
||||||
|
<ROUTINE HYPERCUBE-F ()
|
||||||
|
<COND (<VERB? EXAMINE>
|
||||||
|
<TELL
|
||||||
|
"It floats in front of you, glowing and tumbling." CR>)
|
||||||
|
(<VERB? LEAP>
|
||||||
|
<TELL
|
||||||
|
"Though tempted, you cannot bring yourself to do it." CR>)>>
|
1373
interrupts.zil
Normal file
1373
interrupts.zil
Normal file
File diff suppressed because it is too large
Load diff
957
misc.zil
Normal file
957
misc.zil
Normal file
|
@ -0,0 +1,957 @@
|
||||||
|
"MISC for
|
||||||
|
MAGE
|
||||||
|
(c) 1985 by Infocom, Inc. All Rights Reserved."
|
||||||
|
|
||||||
|
;"former MACROS.ZIL stuff"
|
||||||
|
|
||||||
|
<SETG C-NORTH 1>
|
||||||
|
<SETG C-EAST 2>
|
||||||
|
<SETG C-WEST 4>
|
||||||
|
<SETG C-SOUTH 8>
|
||||||
|
<SETG C-NE 16>
|
||||||
|
<SETG C-NW 32>
|
||||||
|
<SETG C-SE 64>
|
||||||
|
<SETG C-SW 128>
|
||||||
|
|
||||||
|
<CONSTANT C-NORTH 1>
|
||||||
|
<CONSTANT C-EAST 2>
|
||||||
|
<CONSTANT C-WEST 4>
|
||||||
|
<CONSTANT C-SOUTH 8>
|
||||||
|
<CONSTANT C-NE 16>
|
||||||
|
<CONSTANT C-NW 32>
|
||||||
|
<CONSTANT C-SE 64>
|
||||||
|
<CONSTANT C-SW 128>
|
||||||
|
|
||||||
|
;"SUSPECT tell macro and friends"
|
||||||
|
|
||||||
|
<COND (<GASSIGNED? ZILCH> ;"version for when compiling"
|
||||||
|
<DEFMAC TELL ("ARGS" A)
|
||||||
|
<FORM PROG ()
|
||||||
|
!<MAPF ,LIST
|
||||||
|
<FUNCTION ("AUX" E P O)
|
||||||
|
<COND (<EMPTY? .A> <MAPSTOP>)
|
||||||
|
(<SET E <NTH .A 1>>
|
||||||
|
<SET A <REST .A>>)>
|
||||||
|
<COND (<TYPE? .E ATOM>
|
||||||
|
<COND (<OR <=? <SET P <SPNAME .E>>
|
||||||
|
"CRLF">
|
||||||
|
<=? .P "CR">>
|
||||||
|
<MAPRET '<CRLF>>)
|
||||||
|
;(<=? .P "V">
|
||||||
|
<MAPRET '<VPRINT>>)
|
||||||
|
(<EMPTY? .A>
|
||||||
|
<ERROR INDICATOR-AT-END? .E>)
|
||||||
|
(ELSE
|
||||||
|
<SET O <NTH .A 1>>
|
||||||
|
<SET A <REST .A>>
|
||||||
|
<COND (<OR <=? <SET P <SPNAME .E>>
|
||||||
|
"DESC">
|
||||||
|
<=? .P "D">
|
||||||
|
<=? .P "OBJ">
|
||||||
|
<=? .P "O">>
|
||||||
|
<MAPRET
|
||||||
|
<PFORM DPRINT .O>>)
|
||||||
|
(<=? .P "CD">
|
||||||
|
<MAPRET
|
||||||
|
<PFORM CDPRINT .O>>)
|
||||||
|
(<=? .P "THE">
|
||||||
|
<MAPRET
|
||||||
|
<PFORM THE-PRINT .O>>)
|
||||||
|
(<=? .P "CTHE">
|
||||||
|
<MAPRET
|
||||||
|
<PFORM CTHE-PRINT .O>>)
|
||||||
|
(<OR <=? .P "A">
|
||||||
|
<=? .P "AN">>
|
||||||
|
<MAPRET
|
||||||
|
<PFORM PRINTA .O>>)
|
||||||
|
(<OR <=? .P "NUM">
|
||||||
|
<=? .P "N">>
|
||||||
|
<MAPRET
|
||||||
|
<FORM PRINTN .O>>)
|
||||||
|
(<OR <=? .P "CHAR">
|
||||||
|
<=? .P "CHR">
|
||||||
|
<=? .P "C">>
|
||||||
|
<MAPRET
|
||||||
|
<FORM PRINTC
|
||||||
|
<CHTYPE .O FIX>>>)
|
||||||
|
(ELSE
|
||||||
|
<MAPRET
|
||||||
|
<FORM PRINT
|
||||||
|
<FORM GETP .O .E>>>)>)>)
|
||||||
|
(<TYPE? .E STRING ZSTRING>
|
||||||
|
<MAPRET
|
||||||
|
<COND (<==? <LENGTH .E> 1>
|
||||||
|
<FORM PRINTC
|
||||||
|
<CHTYPE <1 .E> FIX>>)
|
||||||
|
(ELSE
|
||||||
|
<FORM PRINTI .E>)>>)
|
||||||
|
(<AND <TYPE? .E FORM>
|
||||||
|
<==? <NTH .E 1> QUOTE>>
|
||||||
|
<MAPRET
|
||||||
|
<FORM PRINTD
|
||||||
|
<MAKE-GVAL <NTH .E 2>>>>)
|
||||||
|
(<TYPE? .E FORM LVAL GVAL>
|
||||||
|
<MAPRET <FORM PRINT .E>>)
|
||||||
|
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>)
|
||||||
|
(ELSE ;"version for when interpreting"
|
||||||
|
<DEFINE TELL ("TUPLE" A)
|
||||||
|
<MAPR <>
|
||||||
|
<FUNCTION ("AUX" E P O)
|
||||||
|
<COND (<EMPTY? .A> <MAPLEAVE>)
|
||||||
|
(<SET E <NTH .A 1>>
|
||||||
|
<SET A <REST .A>>)>
|
||||||
|
<COND (<TYPE? .E ATOM>
|
||||||
|
<COND (<OR <=? <SET P <SPNAME .E>>
|
||||||
|
"CRLF">
|
||||||
|
<=? .P "CR">>
|
||||||
|
<CRLF>)
|
||||||
|
;(<=? .P "V"> <VPRINT>)
|
||||||
|
(<AND <GASSIGNED? .E>
|
||||||
|
<TYPE? ,.E OBJECT>>
|
||||||
|
<PRINTD ,.E>)
|
||||||
|
(<EMPTY? .A>
|
||||||
|
<ERROR INDICATOR-AT-END? .E>)
|
||||||
|
(ELSE
|
||||||
|
<SET O <NTH .A 1>>
|
||||||
|
<SET A <REST .A>>
|
||||||
|
<COND (<OR <=? <SET P <SPNAME .E>>
|
||||||
|
"DESC">
|
||||||
|
<=? .P "D">
|
||||||
|
<=? .P "OBJ">
|
||||||
|
<=? .P "O">>
|
||||||
|
<DPRINT .O>)
|
||||||
|
(<=? .P "CD">
|
||||||
|
<DPRINT .O T>)
|
||||||
|
;(<=? .P "HE/SHE">
|
||||||
|
<HE/SHE-PRINT .O>)
|
||||||
|
;(<=? .P "HIM/HER">
|
||||||
|
<HIM/HER-PRINT .O>)
|
||||||
|
;(<=? .P "HIS/HER">
|
||||||
|
<HIM/HER-PRINT .O T>)
|
||||||
|
(<=? .P "THE">
|
||||||
|
<THE-PRINT .O>)
|
||||||
|
(<=? .P "CTHE">
|
||||||
|
<CTHE-PRINT .O>)
|
||||||
|
(<OR <=? .P "A">
|
||||||
|
<=? .P "AN">>
|
||||||
|
<PRINTA .O>)
|
||||||
|
(<OR <=? .P "NUM">
|
||||||
|
<=? .P "N">>
|
||||||
|
<PRINTN .O>)
|
||||||
|
(<OR <=? .P "CHAR">
|
||||||
|
<=? .P "CHR">
|
||||||
|
<=? .P "C">>
|
||||||
|
<PRINTC .O>)
|
||||||
|
(ELSE
|
||||||
|
<PRINT <GETP .O .E>>)>)>)
|
||||||
|
(<TYPE? .E STRING ZSTRING>
|
||||||
|
<PRINTI .E>)
|
||||||
|
(<AND <TYPE? .E FORM>
|
||||||
|
<==? <NTH .E 1> QUOTE>>
|
||||||
|
<PRINTD <GVAL <NTH .E 2>>>)
|
||||||
|
(<TYPE? .E FORM LVAL GVAL>
|
||||||
|
<PRINT .E>)
|
||||||
|
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>
|
||||||
|
)>
|
||||||
|
|
||||||
|
<DEFINE PFORM (APP OBJ "AUX" A)
|
||||||
|
<COND (<AND <TYPE? .OBJ LVAL GVAL>
|
||||||
|
<MEMQ <SET A <CHTYPE .OBJ ATOM>> '[PRSO PRSI]>>
|
||||||
|
<COND (<==? .APP DPRINT>
|
||||||
|
<COND (<==? .A PRSO> <FORM DPRINT-PRSO>)
|
||||||
|
(ELSE <FORM DPRINT-PRSI>)>)
|
||||||
|
(<==? .APP CDPRINT>
|
||||||
|
<COND (<==? .A PRSO> <FORM CDPRINT-PRSO>)
|
||||||
|
(ELSE <FORM CDPRINT-PRSI>)>)
|
||||||
|
(<==? .APP THE-PRINT>
|
||||||
|
<COND (<==? .A PRSO> <FORM THE-PRINT-PRSO>)
|
||||||
|
(ELSE <FORM THE-PRINT-PRSI>)>)
|
||||||
|
(<==? .APP CTHE-PRINT>
|
||||||
|
<COND (<==? .A PRSO> <FORM CTHE-PRINT-PRSO>)
|
||||||
|
(ELSE <FORM CTHE-PRINT-PRSI>)>)
|
||||||
|
(<==? .APP PRINTA>
|
||||||
|
<COND (<==? .A PRSO> <FORM PRINTA-PRSO>)
|
||||||
|
(ELSE <FORM PRINTA-PRSI>)>)
|
||||||
|
(ELSE <ERROR .APP .OBJ>)>)
|
||||||
|
(<ASSIGNED? EXT>
|
||||||
|
<FORM .APP .OBJ .EXT>)
|
||||||
|
(ELSE
|
||||||
|
<FORM .APP .OBJ>)>>
|
||||||
|
|
||||||
|
<DEFINE MAKE-GVAL (E)
|
||||||
|
<COND (<OR <GASSIGNED? MUDDLE>
|
||||||
|
<NOT <TYPE? .E ATOM>>>
|
||||||
|
<FORM GVAL .E>)
|
||||||
|
(ELSE
|
||||||
|
<CHTYPE .E GVAL>)>>
|
||||||
|
|
||||||
|
<ROUTINE CTHE-PRINT-PRSO ()
|
||||||
|
<THE-PRINT ,PRSO T>>
|
||||||
|
|
||||||
|
<ROUTINE CTHE-PRINT-PRSI ()
|
||||||
|
<THE-PRINT ,PRSI T>>
|
||||||
|
|
||||||
|
<ROUTINE CTHE-PRINT (O)
|
||||||
|
<THE-PRINT .O T>>
|
||||||
|
|
||||||
|
<ROUTINE THE-PRINT-PRSO ()
|
||||||
|
<THE-PRINT ,PRSO>>
|
||||||
|
|
||||||
|
<ROUTINE THE-PRINT-PRSI ()
|
||||||
|
<THE-PRINT ,PRSI>>
|
||||||
|
|
||||||
|
<ROUTINE THE-PRINT (O "OPTIONAL" (CAP? <>))
|
||||||
|
<DPRINT .O .CAP? <NOT <FSET? .O ,NOTHEBIT>>>>
|
||||||
|
|
||||||
|
<ROUTINE PRINTA-PRSO ()
|
||||||
|
<PRINTA ,PRSO>>
|
||||||
|
|
||||||
|
<ROUTINE PRINTA-PRSI ()
|
||||||
|
<PRINTA ,PRSI>>
|
||||||
|
|
||||||
|
<ROUTINE PRINTA (O)
|
||||||
|
<COND (<FSET? .O ,THE> <PRINTI "the ">)
|
||||||
|
(<NOT <FSET? .O ,NOABIT>>
|
||||||
|
<COND (<FSET? .O ,AN> <PRINTI "an ">)
|
||||||
|
(ELSE <PRINTI "a ">)>)>
|
||||||
|
<IPRINT .O>>
|
||||||
|
|
||||||
|
;<ROUTINE CDPRINT-PRSO ()
|
||||||
|
<DPRINT ,PRSO T>>
|
||||||
|
|
||||||
|
;<ROUTINE CDPRINT-PRSI ()
|
||||||
|
<DPRINT ,PRSI T>>
|
||||||
|
|
||||||
|
;<ROUTINE CDPRINT (O)
|
||||||
|
<DPRINT .O T>>
|
||||||
|
|
||||||
|
<ROUTINE DPRINT (O "OPTIONAL" (CAP? <>) (THE? <>) "AUX" S)
|
||||||
|
<COND (<OR .THE? <FSET? .O ,THE>>
|
||||||
|
<COND (.CAP? <PRINTI "The ">)
|
||||||
|
(T <PRINTI "the ">)>)>
|
||||||
|
<IPRINT .O>>
|
||||||
|
|
||||||
|
<ROUTINE IPRINT (O)
|
||||||
|
<COND (<AND <EQUAL? .O ,PSEUDO-OBJECT>
|
||||||
|
<NOT ,P-MERGED>
|
||||||
|
<EQUAL? .O ,PRSO ,PRSI>>
|
||||||
|
<THING-PRINT ,PSEUDO-PRSO ;"<EQUAL? .O ,PRSO>">)
|
||||||
|
(<AND <EQUAL? .O ,WEED>
|
||||||
|
<FSET? .O ,RWATERBIT>>
|
||||||
|
<TELL "weed cutting">)
|
||||||
|
(<EQUAL? .O ,SPELL-COPY>
|
||||||
|
<PRINTD .O>
|
||||||
|
<PRINTI " ">
|
||||||
|
<PRINTD <GETP .O ,P?WALLS>>)
|
||||||
|
(ELSE
|
||||||
|
<COND (<NOT <ZERO? <GETP .O ,P?NAME>>>
|
||||||
|
<CUBE-NAME .O>
|
||||||
|
<PRINTI " ">)
|
||||||
|
(<AND <FSET? .O ,RWATERBIT>
|
||||||
|
<GETPT .O ,P?COUNT>>
|
||||||
|
<PRINTI "duplicate ">)>
|
||||||
|
<PRINTD .O>)>>
|
||||||
|
|
||||||
|
<COND (<GASSIGNED? ZILCH>
|
||||||
|
<DEFMAC VERB? ("ARGS" ATMS)
|
||||||
|
<MULTIFROB PRSA .ATMS>>
|
||||||
|
|
||||||
|
<DEFMAC PRSO? ("ARGS" ATMS)
|
||||||
|
<MULTIFROB PRSO .ATMS>>
|
||||||
|
|
||||||
|
<DEFMAC PRSI? ("ARGS" ATMS)
|
||||||
|
<MULTIFROB PRSI .ATMS>>
|
||||||
|
|
||||||
|
<DEFMAC ROOM? ("ARGS" ATMS)
|
||||||
|
<MULTIFROB HERE .ATMS>>
|
||||||
|
|
||||||
|
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<EMPTY? .ATMS>
|
||||||
|
<RETURN!- <COND (<LENGTH? .OO 1> <ERROR .X>)
|
||||||
|
(<LENGTH? .OO 2> <NTH .OO 2>)
|
||||||
|
(ELSE <CHTYPE .OO FORM>)>>)>
|
||||||
|
<REST
|
||||||
|
<PUTREST
|
||||||
|
.O
|
||||||
|
<SET O (<REPEAT ((LL <FORM EQUAL? <MAKE-GVAL .X>>)
|
||||||
|
(L <REST .LL>))
|
||||||
|
<COND (<OR <EMPTY? .ATMS>
|
||||||
|
<==? <LENGTH <REST .LL 2>> 3>>
|
||||||
|
<RETURN!- .LL>)>
|
||||||
|
<SET ATM <NTH .ATMS 1>>
|
||||||
|
<PUTREST .L
|
||||||
|
<SET L
|
||||||
|
(<COND
|
||||||
|
(<TYPE? .ATM ATOM>
|
||||||
|
<MAKE-GVAL
|
||||||
|
<COND (<==? .X PRSA>
|
||||||
|
<PARSE
|
||||||
|
<STRING
|
||||||
|
"V?"
|
||||||
|
<SPNAME .ATM>>>)
|
||||||
|
(ELSE .ATM)>>)
|
||||||
|
(ELSE .ATM)>)>>
|
||||||
|
<SET ATMS <REST .ATMS>>>)>>>>>)
|
||||||
|
(ELSE
|
||||||
|
<DEFINE VERB? ("TUPLE" ATMS)
|
||||||
|
<MAPF <>
|
||||||
|
<FUNCTION (A "AUX" ATM)
|
||||||
|
<COND (<NOT <TYPE? .A ATOM>> <ERROR MULTIFROB>)
|
||||||
|
(<NOT <SET ATM
|
||||||
|
<LOOKUP <STRING "V?" <SPNAME .A>>
|
||||||
|
<MOBLIST INITIAL>>>>
|
||||||
|
<ERROR NOT-A-VERB? .A>)
|
||||||
|
(<EQUAL? ,PRSA ,.ATM>
|
||||||
|
<MAPLEAVE T>)>>
|
||||||
|
.ATMS>>
|
||||||
|
<DEFINE PRSO? ("TUPLE" ATMS)
|
||||||
|
<MULTIFROB ,PRSO .ATMS>>
|
||||||
|
<DEFINE PRSI? ("TUPLE" ATMS)
|
||||||
|
<MULTIFROB ,PRSI .ATMS>>
|
||||||
|
<DEFINE ROOM? ("TUPLE" ATMS)
|
||||||
|
<MULTIFROB HERE .ATMS>>
|
||||||
|
<DEFINE MULTIFROB (X ATMS)
|
||||||
|
<MAPF <>
|
||||||
|
<FUNCTION (A)
|
||||||
|
<COND (<TYPE? .A ATOM> <SET A ,.A>)>
|
||||||
|
<COND (<EQUAL? .X .A>
|
||||||
|
<MAPLEAVE T>)>>
|
||||||
|
.ATMS>>)>
|
||||||
|
|
||||||
|
<COND (<GASSIGNED? ZILCH>
|
||||||
|
<DEFMAC BSET ('OBJ "ARGS" BITS)
|
||||||
|
<MULTIBITS FSET .OBJ .BITS>>
|
||||||
|
|
||||||
|
<DEFMAC BCLEAR ('OBJ "ARGS" BITS)
|
||||||
|
<MULTIBITS FCLEAR .OBJ .BITS>>
|
||||||
|
|
||||||
|
<DEFMAC BSET? ('OBJ "ARGS" BITS)
|
||||||
|
<MULTIBITS FSET? .OBJ .BITS>>
|
||||||
|
|
||||||
|
<DEFINE MULTIBITS (X OBJ ATMS
|
||||||
|
"AUX" (OT <COND (<==? .X FSET?> <FORM OR>)
|
||||||
|
(ELSE <FORM PROG ()>)>)
|
||||||
|
(OO <COND (<LENGTH? .OT 1> .OT)
|
||||||
|
(ELSE <REST .OT>)>)
|
||||||
|
(O .OO)
|
||||||
|
ATM)
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<EMPTY? .ATMS>
|
||||||
|
<RETURN!- .OT>)>
|
||||||
|
<SET ATM <NTH .ATMS 1>>
|
||||||
|
<SET ATMS <REST .ATMS>>
|
||||||
|
<PUTREST .O
|
||||||
|
<SET O
|
||||||
|
(<FORM .X
|
||||||
|
.OBJ
|
||||||
|
<COND (<TYPE? .ATM FORM> .ATM)
|
||||||
|
(ELSE <MAKE-GVAL .ATM>)>>)>>>>)
|
||||||
|
(ELSE
|
||||||
|
<DEFINE BSET (OBJ "TUPLE" BITS)
|
||||||
|
<MULTIBITS ,FSET .OBJ .BITS>>
|
||||||
|
|
||||||
|
<DEFINE BCLEAR (OBJ "TUPLE" BITS)
|
||||||
|
<MULTIBITS ,FCLEAR .OBJ .BITS>>
|
||||||
|
|
||||||
|
<DEFINE BSET? (OBJ "TUPLE" BITS)
|
||||||
|
<MAPF <>
|
||||||
|
<FUNCTION (A)
|
||||||
|
<COND (<FSET? .OBJ ,.A> <MAPLEAVE T>)>>
|
||||||
|
.BITS>>
|
||||||
|
|
||||||
|
<DEFINE MULTIBITS (X OBJ ATMS)
|
||||||
|
<MAPF <>
|
||||||
|
<FUNCTION (A)
|
||||||
|
<APPLY!- .X .OBJ ,.A>>
|
||||||
|
.ATMS>>)>
|
||||||
|
|
||||||
|
<DEFMAC RFATAL ()
|
||||||
|
'<PROG () <PUSH 2> <RSTACK>>>
|
||||||
|
|
||||||
|
<COND (<GASSIGNED? ZILCH>
|
||||||
|
<DEFMAC PROB ('BASE?)
|
||||||
|
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>)
|
||||||
|
(ELSE
|
||||||
|
<DEFINE PROB (BASE?)
|
||||||
|
<NOT <L? .BASE? <RANDOM 100>>>>)>
|
||||||
|
|
||||||
|
<ROUTINE PICK-ONE (FROB
|
||||||
|
"AUX" (L <GET .FROB 0>) (CNT <GET .FROB 1>) RND MSG RFROB)
|
||||||
|
<SET L <- .L 1>>
|
||||||
|
<SET FROB <REST .FROB 2>>
|
||||||
|
<SET RFROB <REST .FROB <* .CNT 2>>>
|
||||||
|
<SET RND <RANDOM <- .L .CNT>>>
|
||||||
|
<SET MSG <GET .RFROB .RND>>
|
||||||
|
<PUT .RFROB .RND <GET .RFROB 1>>
|
||||||
|
<PUT .RFROB 1 .MSG>
|
||||||
|
<SET CNT <+ .CNT 1>>
|
||||||
|
<COND (<==? .CNT .L> <SET CNT 0>)>
|
||||||
|
<PUT .FROB 0 .CNT>
|
||||||
|
.MSG>
|
||||||
|
|
||||||
|
<ROUTINE RANDOM-ELEMENT (FROB)
|
||||||
|
<GET .FROB <RANDOM <GET .FROB 0>>>>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;"former MAIN.ZIL stuff"
|
||||||
|
|
||||||
|
<GLOBAL P-WON <>>
|
||||||
|
|
||||||
|
<CONSTANT M-FATAL 2>
|
||||||
|
|
||||||
|
<CONSTANT M-BEG 1>
|
||||||
|
<CONSTANT M-END 2>
|
||||||
|
<CONSTANT M-ENTER 3>
|
||||||
|
<CONSTANT M-LEAVE 4>
|
||||||
|
<CONSTANT M-LOOK 5>
|
||||||
|
<CONSTANT M-FLASH 6>
|
||||||
|
<CONSTANT M-OBJDESC 7>
|
||||||
|
<CONSTANT M-CONTAINER 8>
|
||||||
|
|
||||||
|
<ROUTINE GO ()
|
||||||
|
<INITIALIZE-CUBES>
|
||||||
|
<PUTB ,P-LEXV 0 59>
|
||||||
|
;"put interrupts on clock chain"
|
||||||
|
<SETG CLOCK-HAND <REST ,C-TABLE ,C-TABLELEN>>
|
||||||
|
<QUEUE I-TIRED 80>
|
||||||
|
<QUEUE I-ORATION -1>
|
||||||
|
;"set up and go"
|
||||||
|
<SETG MAGIC-BOX-CUBE ,WATER-CUBE>
|
||||||
|
<SETG WINNER ,PLAYER>
|
||||||
|
<SETG HERE ,COUNCIL-CHAMBER>
|
||||||
|
<SETG LIT <LIT? ,HERE>>
|
||||||
|
<SETG ORATOR ,SNEFFLE>
|
||||||
|
<V-VERSION>
|
||||||
|
<CRLF>
|
||||||
|
<V-LOOK>
|
||||||
|
<MAIN-LOOP>
|
||||||
|
<AGAIN>>
|
||||||
|
|
||||||
|
<ROUTINE MAIN-LOOP ("AUX" TRASH)
|
||||||
|
<REPEAT ()
|
||||||
|
<SET TRASH <MAIN-LOOP-1>>>>
|
||||||
|
|
||||||
|
<ROUTINE MAIN-LOOP-1 ("AUX" ICNT OCNT NUM CNT OBJ TBL (V <>) PTBL OBJ1 TMP)
|
||||||
|
<SET CNT 0>
|
||||||
|
<SET OBJ <>>
|
||||||
|
<SET PTBL T>
|
||||||
|
<COND (<SETG P-WON <PARSER>>
|
||||||
|
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
|
||||||
|
<SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>
|
||||||
|
<COND (<AND ,P-IT-OBJECT <ACCESSIBLE? ,P-IT-OBJECT>>
|
||||||
|
<SET TMP <>>
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<G? <SET CNT <+ .CNT 1>> .ICNT>
|
||||||
|
<RETURN>)
|
||||||
|
(T
|
||||||
|
<COND (<EQUAL? <GET ,P-PRSI .CNT> ,IT>
|
||||||
|
<PUT ,P-PRSI .CNT ,P-IT-OBJECT>
|
||||||
|
<SET TMP T>
|
||||||
|
<RETURN>)>)>>
|
||||||
|
<COND (<NOT .TMP>
|
||||||
|
<SET CNT 0>
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<G? <SET CNT <+ .CNT 1>> .OCNT>
|
||||||
|
<RETURN>)
|
||||||
|
(T
|
||||||
|
<COND (<EQUAL? <GET ,P-PRSO .CNT> ,IT>
|
||||||
|
<PUT ,P-PRSO .CNT ,P-IT-OBJECT>
|
||||||
|
<RETURN>)>)>>)>
|
||||||
|
<SET CNT 0>)>
|
||||||
|
<SET NUM
|
||||||
|
<COND (<ZERO? .OCNT> .OCNT)
|
||||||
|
(<G? .OCNT 1>
|
||||||
|
<SET TBL ,P-PRSO>
|
||||||
|
<COND (<ZERO? .ICNT> <SET OBJ <>>)
|
||||||
|
(T <SET OBJ <GET ,P-PRSI 1>>)>
|
||||||
|
.OCNT)
|
||||||
|
(<G? .ICNT 1>
|
||||||
|
<SET PTBL <>>
|
||||||
|
<SET TBL ,P-PRSI>
|
||||||
|
<SET OBJ <GET ,P-PRSO 1>>
|
||||||
|
.ICNT)
|
||||||
|
(T 1)>>
|
||||||
|
<COND (<AND <NOT .OBJ>
|
||||||
|
<1? .ICNT>>
|
||||||
|
<SET OBJ <GET ,P-PRSI 1>>)>
|
||||||
|
<COND (<EQUAL? ,PRSA ,V?WALK> <SET V <PERFORM ,PRSA ,PRSO>>)
|
||||||
|
(<ZERO? .NUM>
|
||||||
|
<COND (<ZERO? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
|
||||||
|
<SET V <PERFORM ,PRSA>>
|
||||||
|
<SETG PRSO <>>)
|
||||||
|
(<NOT ,LIT>
|
||||||
|
<TELL ,TOO-DARK>
|
||||||
|
<END-QUOTE>)
|
||||||
|
(T
|
||||||
|
<TELL "There isn't anything to ">
|
||||||
|
<SET TMP <GET ,P-ITBL ,P-VERBN>>
|
||||||
|
<COND (<VERB? TELL>
|
||||||
|
<TELL "talk to">)
|
||||||
|
(<OR ,P-OFLAG ,P-MERGED>
|
||||||
|
<PRINTB <GET .TMP 0>>)
|
||||||
|
(T
|
||||||
|
<WORD-PRINT <GETB .TMP 2>
|
||||||
|
<GETB .TMP 3>>)>
|
||||||
|
<TELL "!" CR>
|
||||||
|
<SET V <>>
|
||||||
|
<END-QUOTE>)>)
|
||||||
|
(T
|
||||||
|
<SETG P-NOT-HERE 0>
|
||||||
|
<SETG P-MULT <>>
|
||||||
|
<COND (<G? .NUM 1> <SETG P-MULT 1>)>
|
||||||
|
<SET TMP <>>
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<G? <SET CNT <+ .CNT 1>> .NUM>
|
||||||
|
<COND (<G? ,P-NOT-HERE 0>
|
||||||
|
<TELL "The ">
|
||||||
|
<COND (<NOT <EQUAL? ,P-NOT-HERE .NUM>>
|
||||||
|
<TELL "other ">)>
|
||||||
|
<TELL "object">
|
||||||
|
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
|
||||||
|
<TELL "s">)>
|
||||||
|
<TELL " that you mentioned ">
|
||||||
|
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
|
||||||
|
<TELL "are">)
|
||||||
|
(T <TELL "is">)>
|
||||||
|
<TELL "n't here." CR>)
|
||||||
|
(<NOT .TMP>
|
||||||
|
<TELL ,REFERRING CR>)>
|
||||||
|
<RETURN>)
|
||||||
|
|
||||||
|
(T ;"REFORMATTED AREA"
|
||||||
|
<COND (.PTBL <SET OBJ1 <GET ,P-PRSO .CNT>>)
|
||||||
|
(T <SET OBJ1 <GET ,P-PRSI .CNT>>)>
|
||||||
|
<SETG PRSO <COND (.PTBL .OBJ1) (T .OBJ)>>
|
||||||
|
<SETG PRSI <COND (.PTBL .OBJ) (T .OBJ1)>>
|
||||||
|
<COND (<OR <G? .NUM 1>
|
||||||
|
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALL>>
|
||||||
|
<COND (<MULTIPLE-EXCEPTION? .OBJ1> <AGAIN>)
|
||||||
|
(T
|
||||||
|
<COND (<EQUAL? .OBJ1 ,IT>
|
||||||
|
<TELL D ,P-IT-OBJECT>)
|
||||||
|
(ELSE
|
||||||
|
<TELL D .OBJ1>)>
|
||||||
|
<TELL ": ">)>)>
|
||||||
|
<SET TMP T>
|
||||||
|
<SETG PSEUDO-PRSO <COND (<EQUAL? ,PRSO ,PSEUDO-OBJECT>)>>
|
||||||
|
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
|
||||||
|
<COND (<EQUAL? .V ,M-FATAL> <RETURN>)>
|
||||||
|
<COND (,P-MULT <SETG P-MULT <+ ,P-MULT 1>>)>) ;"END REFORMATTING"
|
||||||
|
|
||||||
|
>>)>
|
||||||
|
<COND (<NOT <EQUAL? .V ,M-FATAL>>
|
||||||
|
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE
|
||||||
|
SAVE VERSION RESTORE SCRIPT UNSCRIPT>
|
||||||
|
T)
|
||||||
|
(T
|
||||||
|
<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<D-APPLY "End"
|
||||||
|
<GETP <LOC ,WINNER> ,P?ACTION>
|
||||||
|
,M-END>
|
||||||
|
<APPLY <GETP <LOC ,WINNER> ,P?ACTION>
|
||||||
|
,M-END>>>)>)>
|
||||||
|
<COND (<VERB? SAVE RESTORE SCRIPT UNSCRIPT
|
||||||
|
VERBOSE BRIEF SUPER-BRIEF>
|
||||||
|
T)
|
||||||
|
(,P-OFLAG T)>
|
||||||
|
<COND (<EQUAL? .V ,M-FATAL>
|
||||||
|
<SETG P-CONT <>>)>)
|
||||||
|
(T
|
||||||
|
<SETG P-CONT <>>)>
|
||||||
|
<COND (,P-WON
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<COND (<VERB? $DEBUG>
|
||||||
|
<AGAIN>)>>
|
||||||
|
<COND (<NO-CLOCK-VERB?> T)
|
||||||
|
(T
|
||||||
|
<SET V <CLOCKER>>)>
|
||||||
|
<SETG PRSA <>>
|
||||||
|
<SETG PRSO <>>
|
||||||
|
<SETG PRSI <>>)>>
|
||||||
|
|
||||||
|
<GLOBAL PSEUDO-PRSO <>> ;"T IF ORIGINAL PRSO WAS PSEUDO-OBJECT"
|
||||||
|
|
||||||
|
<ROUTINE NO-CLOCK-VERB? ()
|
||||||
|
<COND (<AND <VERB? TELL> ,P-CONT> <RTRUE>)
|
||||||
|
(<VERB? BRIEF SUPER-BRIEF VERBOSE VERSION QUIT SCORE
|
||||||
|
SAVE RESTORE SCRIPT UNSCRIPT HELP RESTART $VERIFY
|
||||||
|
TIME $RANDOM $COMMAND $RECORD $UNRECORD>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
|
"MULTIPLE-EXCEPTION? -- return true if an object found by all should not
|
||||||
|
be include when the crunch comes."
|
||||||
|
|
||||||
|
<ROUTINE MULTIPLE-EXCEPTION? (OBJ1 "AUX" (L <LOC .OBJ1>))
|
||||||
|
<COND (<EQUAL? .OBJ1 ,NOT-HERE-OBJECT>
|
||||||
|
<SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>
|
||||||
|
<RTRUE>)
|
||||||
|
(<AND <VERB? TAKE>
|
||||||
|
,PRSI
|
||||||
|
<NOT <IN? ,PRSO ,PRSI>>>
|
||||||
|
;"TAKE X FROM Y and x not in y"
|
||||||
|
<RTRUE>)
|
||||||
|
(<NOT <ACCESSIBLE? .OBJ1>>
|
||||||
|
;"can't get at object"
|
||||||
|
<RTRUE>)
|
||||||
|
(<EQUAL? ,P-GETFLAGS ,P-ALL>
|
||||||
|
;"cases for ALL"
|
||||||
|
<COND (<AND <VERB? TAKE>
|
||||||
|
<OR <AND <NOT <EQUAL? .L ,WINNER ,HERE ,PRSI>>
|
||||||
|
<NOT <EQUAL? .L <LOC ,WINNER>>>
|
||||||
|
<NOT <FSET? .L ,SURFACEBIT>>
|
||||||
|
<NOT <FSET? .L ,SEARCHBIT>>>
|
||||||
|
<AND <NOT <FSET? .OBJ1 ,TAKEBIT>>
|
||||||
|
<NOT <FSET? .OBJ1 ,TRYTAKEBIT>>>>>
|
||||||
|
;"TAKE ALL and object not accessible or takeable"
|
||||||
|
<RTRUE>)
|
||||||
|
(<AND <VERB? TAKE>
|
||||||
|
<NOT ,PRSI>
|
||||||
|
<HELD? ,PRSO>>
|
||||||
|
;"TAKE ALL and one object has others in it"
|
||||||
|
<RTRUE>)
|
||||||
|
(<AND <VERB? DROP>
|
||||||
|
<NOT <IN? .OBJ1 ,WINNER>>>
|
||||||
|
;"DROP ALL and object not held"
|
||||||
|
<RTRUE>)
|
||||||
|
(<AND ,PRSI
|
||||||
|
<EQUAL? ,PRSO ,PRSI>>
|
||||||
|
;"VERB ALL and prso = prsi"
|
||||||
|
<RTRUE>)
|
||||||
|
(<AND <VERB? PUT>
|
||||||
|
<NOT <IN? ,PRSO ,WINNER>>
|
||||||
|
<HELD? ,PRSO ,PRSI>>
|
||||||
|
;"PUT ALL IN X and object already in x"
|
||||||
|
<RTRUE>)
|
||||||
|
(<AND <FSET? ,PRSO ,SPELLBIT>
|
||||||
|
<NOT <VERB? LEARN GNUSTO CAST>>
|
||||||
|
<NOT <VERB? READ>>>
|
||||||
|
;"normally ignore spells in ALL"
|
||||||
|
<RTRUE>)>)>>
|
||||||
|
|
||||||
|
;<ROUTINE SAVE-INPUT (TBL "AUX" (OFFS 0) CNT TMP)
|
||||||
|
<SET CNT <+ <GETB ,P-LEXV <SET TMP <* 4 ,P-INPUT-WORDS>>>
|
||||||
|
<GETB ,P-LEXV <+ .TMP 1>>>>
|
||||||
|
<COND (<EQUAL? .CNT 0> ;"failed"
|
||||||
|
<RFALSE>)>
|
||||||
|
<SET CNT <- .CNT 1>>
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<EQUAL? .OFFS .CNT>
|
||||||
|
<PUTB .TBL .OFFS 0>
|
||||||
|
<RETURN>)
|
||||||
|
(T
|
||||||
|
<PUTB .TBL .OFFS <GETB ,P-INBUF <+ .OFFS 1>>>)>
|
||||||
|
<SET OFFS <+ .OFFS 1>>>
|
||||||
|
<RTRUE>>
|
||||||
|
|
||||||
|
;<ROUTINE RESTORE-INPUT (TBL "AUX" CHR)
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<EQUAL? <SET CHR <GETB .TBL 0>> 0>
|
||||||
|
<RETURN>)
|
||||||
|
(T
|
||||||
|
<PRINTC .CHR>
|
||||||
|
<SET TBL <REST .TBL>>)>>>
|
||||||
|
|
||||||
|
<GLOBAL P-MULT <>>
|
||||||
|
|
||||||
|
<GLOBAL P-NOT-HERE 0>
|
||||||
|
|
||||||
|
|
||||||
|
<ROUTINE FAKE-ORPHAN ("AUX" TMP)
|
||||||
|
<ORPHAN ,P-SYNTAX <>>
|
||||||
|
<TELL "What do you want to ">
|
||||||
|
<SET TMP <GET ,P-OTBL ,P-VERBN>>
|
||||||
|
<COND (<EQUAL? .TMP 0>
|
||||||
|
<TELL "tell">)
|
||||||
|
(<ZERO? <GETB ,P-VTBL 2>>
|
||||||
|
<PRINTB <GET .TMP 0>>)
|
||||||
|
(T
|
||||||
|
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>
|
||||||
|
<PUTB ,P-VTBL 2 0>)>
|
||||||
|
<SETG P-OFLAG T>
|
||||||
|
<SETG P-WON <>>
|
||||||
|
<PREP-PRINT
|
||||||
|
<GETB ,P-SYNTAX ,P-SPREP1>>
|
||||||
|
<TELL "?" CR>>
|
||||||
|
|
||||||
|
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI CNT)
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<COND (,ZDEBUG
|
||||||
|
<TELL "[Perform: ">
|
||||||
|
%<COND (<GASSIGNED? ZILCH> '<TELL N .A>)
|
||||||
|
(T '<PRINT <SPNAME <NTH ,ACTIONS <+ <* .A 2> 1>>>>)>
|
||||||
|
<COND (.O
|
||||||
|
<COND (<AND <EQUAL? .A ,V?WALK>
|
||||||
|
,P-WALK-DIR>
|
||||||
|
<TELL "/" N .O>)
|
||||||
|
(ELSE
|
||||||
|
<TELL "/" D .O>)>)>
|
||||||
|
<COND (.I <TELL "/" D .I>)>
|
||||||
|
<TELL "]" CR>)>>
|
||||||
|
<SET OA ,PRSA>
|
||||||
|
<SET OO ,PRSO>
|
||||||
|
<SET OI ,PRSI>
|
||||||
|
<SETG PRSA .A>
|
||||||
|
<COND (<EQUAL? ,IT .I .O>
|
||||||
|
<COND (<NOT .I>
|
||||||
|
<FAKE-ORPHAN>)
|
||||||
|
(T
|
||||||
|
<TELL ,REFERRING CR>)>
|
||||||
|
<RFATAL>)
|
||||||
|
(<AND .O
|
||||||
|
<NOT <VERB? WALK>>
|
||||||
|
<NOT <EQUAL? .O ,NOT-HERE-OBJECT>>>
|
||||||
|
<THIS-IS-IT .O>)>
|
||||||
|
<SETG PRSO .O>
|
||||||
|
<SETG PRSI .I>
|
||||||
|
<COND (<AND <NOT <EQUAL? .A ,V?WALK>>
|
||||||
|
<EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||||
|
<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>
|
||||||
|
<APPLY ,NOT-HERE-OBJECT-F>>>>
|
||||||
|
<SETG P-WON <>>
|
||||||
|
.V)
|
||||||
|
(T
|
||||||
|
<SET O ,PRSO>
|
||||||
|
<SET I ,PRSI>
|
||||||
|
<COND (<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<DD-APPLY "Actor" ,WINNER
|
||||||
|
<GETP ,WINNER ,P?ACTION>>
|
||||||
|
<APPLY <GETP ,WINNER ,P?ACTION>>>>
|
||||||
|
.V)
|
||||||
|
(<AND <NOT <EQUAL? <LOC ,WINNER> ,HERE>>
|
||||||
|
<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<D-APPLY "Begin"
|
||||||
|
<GETP <LOC ,WINNER> ,P?ACTION>
|
||||||
|
,M-BEG>
|
||||||
|
<APPLY <GETP <LOC ,WINNER> ,P?ACTION>
|
||||||
|
,M-BEG>>>>
|
||||||
|
.V)
|
||||||
|
(<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<D-APPLY "Begin"
|
||||||
|
<GETP ,HERE ,P?ACTION>
|
||||||
|
,M-BEG>
|
||||||
|
<APPLY <GETP ,HERE ,P?ACTION>
|
||||||
|
,M-BEG>>>
|
||||||
|
.V)
|
||||||
|
(<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<D-APPLY "Preaction"
|
||||||
|
<GET ,PREACTIONS .A>>
|
||||||
|
<APPLY <GET ,PREACTIONS .A>>>>
|
||||||
|
.V)
|
||||||
|
(<AND .I
|
||||||
|
<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<D-APPLY "PRSI" <GETP .I ,P?ACTION>>
|
||||||
|
<APPLY <GETP .I ,P?ACTION>>>>>
|
||||||
|
.V)
|
||||||
|
(<AND .O
|
||||||
|
<NOT <EQUAL? .A ,V?WALK>>
|
||||||
|
<LOC .O>
|
||||||
|
<GETP <LOC .O> ,P?CONTFCN>
|
||||||
|
<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<D-APPLY "Container"
|
||||||
|
<GETP <LOC .O> ,P?CONTFCN>
|
||||||
|
,M-CONTAINER>
|
||||||
|
<APPLY <GETP <LOC .O> ,P?CONTFCN>
|
||||||
|
,M-CONTAINER>>>>
|
||||||
|
.V)
|
||||||
|
(<AND .O
|
||||||
|
<NOT <EQUAL? .A ,V?WALK>>
|
||||||
|
<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<D-APPLY "PRSO"
|
||||||
|
<GETP .O ,P?ACTION>>
|
||||||
|
<APPLY <GETP .O ,P?ACTION>>>>>
|
||||||
|
.V)
|
||||||
|
(<SET V
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<D-APPLY <>
|
||||||
|
<GET ,ACTIONS .A>>
|
||||||
|
<APPLY <GET ,ACTIONS .A>>>>
|
||||||
|
.V)>)>
|
||||||
|
<COND (,SPELL-CAST
|
||||||
|
<COND (<G? <SET CNT <GETP ,SPELL-CAST ,P?COUNT>> 0>
|
||||||
|
<PUTP ,SPELL-CAST ,P?COUNT <- .CNT 1>>)>
|
||||||
|
<COND (<L? ,SPELL-ROOM ,SPELL-MAX>
|
||||||
|
<SETG SPELL-ROOM <+ ,SPELL-ROOM 1>>)>
|
||||||
|
<SETG SPELL-CAST <>>)>
|
||||||
|
<SETG PRSA .OA>
|
||||||
|
<SETG PRSO .OO>
|
||||||
|
<SETG PRSI .OI>
|
||||||
|
.V>
|
||||||
|
|
||||||
|
%<COND (,ZDEBUGGING?
|
||||||
|
<COND (<GASSIGNED? ZILCH>
|
||||||
|
<ROUTINE II-APPLY (STR FCN)
|
||||||
|
<COND (,ZDEBUG
|
||||||
|
<TELL "[I- " N <* .FCN 2> " ">)>
|
||||||
|
<D-APPLY .STR .FCN>>)
|
||||||
|
(ELSE
|
||||||
|
<ROUTINE II-APPLY (STR FCN)
|
||||||
|
<D-APPLY <COND (<TYPE? .FCN ATOM> <SPNAME .FCN>)
|
||||||
|
(ELSE .STR)>
|
||||||
|
.FCN>>)>)>
|
||||||
|
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<ROUTINE DD-APPLY (STR OBJ FCN)
|
||||||
|
<COND (,ZDEBUG <TELL "[" D .OBJ "=]">)>
|
||||||
|
<D-APPLY .STR .FCN>>>
|
||||||
|
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<ROUTINE D-APPLY (STR FCN "OPTIONAL" (FOO <>) "AUX" RES)
|
||||||
|
<COND (<NOT .FCN> <>)
|
||||||
|
(T
|
||||||
|
<COND (,ZDEBUG
|
||||||
|
<COND (<NOT .STR>
|
||||||
|
<TELL "[Action:]" CR>)
|
||||||
|
(T <TELL "[" .STR ": ">)>)>
|
||||||
|
<SET RES
|
||||||
|
<COND (.FOO <APPLY .FCN .FOO>)
|
||||||
|
(T <APPLY .FCN>)>>
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<COND (<AND ,ZDEBUG .STR>
|
||||||
|
<COND (<EQUAL? .RES ,M-FATAL>
|
||||||
|
<TELL "Fatal]" CR>)
|
||||||
|
(<NOT .RES>
|
||||||
|
<TELL "Not handled]" CR>)
|
||||||
|
(T <TELL "Handled]" CR>)>)>>
|
||||||
|
.RES)>>>
|
||||||
|
|
||||||
|
;"former CLOCK.ZIL stuff"
|
||||||
|
|
||||||
|
<GLOBAL CLOCK-WAIT <>>
|
||||||
|
|
||||||
|
<GLOBAL C-TABLE %<COND (<GASSIGNED? ZILCH>
|
||||||
|
'<ITABLE NONE 26>)
|
||||||
|
(T
|
||||||
|
'<ITABLE NONE 52>)>>
|
||||||
|
|
||||||
|
<CONSTANT C-TABLELEN 52>
|
||||||
|
<GLOBAL C-INTS 52>
|
||||||
|
%<DEBUG-CODE <GLOBAL C-MAXINTS 52>>
|
||||||
|
|
||||||
|
<CONSTANT C-INTLEN 4> ;"length of an interrupt entry"
|
||||||
|
<CONSTANT C-RTN 0> ;"offset of routine name"
|
||||||
|
<CONSTANT C-TICK 1> ;"offset of count"
|
||||||
|
|
||||||
|
<ROUTINE DEQUEUE (RTN)
|
||||||
|
<COND (<SET RTN <QUEUED? .RTN>>
|
||||||
|
<PUT .RTN ,C-RTN 0>)>>
|
||||||
|
|
||||||
|
<ROUTINE QUEUED? (RTN "AUX" C E)
|
||||||
|
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||||
|
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<EQUAL? .C .E> <RFALSE>)
|
||||||
|
(<EQUAL? <GET .C ,C-RTN> .RTN>
|
||||||
|
<COND (<ZERO? <GET .C ,C-TICK>>
|
||||||
|
<RFALSE>)
|
||||||
|
(T <RETURN .C>)>)>
|
||||||
|
<SET C <REST .C ,C-INTLEN>>>>
|
||||||
|
|
||||||
|
"this version of QUEUE automatically enables as well"
|
||||||
|
|
||||||
|
<ROUTINE QUEUE (RTN TICK "AUX" C E (INT <>))
|
||||||
|
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||||
|
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<EQUAL? .C .E>
|
||||||
|
<COND (.INT
|
||||||
|
<SET C .INT>)
|
||||||
|
(ELSE
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<COND (<L? ,C-INTS ,C-INTLEN>
|
||||||
|
<TELL
|
||||||
|
"[**Too many interrupts!**]" CR>)>>
|
||||||
|
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
|
||||||
|
%<DEBUG-CODE
|
||||||
|
<COND (<L? ,C-INTS ,C-MAXINTS>
|
||||||
|
<SETG C-MAXINTS ,C-INTS>)>>
|
||||||
|
<SET INT <REST ,C-TABLE ,C-INTS>>)>
|
||||||
|
<PUT .INT ,C-RTN .RTN>
|
||||||
|
<RETURN>)
|
||||||
|
(<EQUAL? <GET .C ,C-RTN> .RTN>
|
||||||
|
<SET INT .C>
|
||||||
|
<RETURN>)
|
||||||
|
(<ZERO? <GET .C ,C-RTN>>
|
||||||
|
<SET INT .C>)>
|
||||||
|
<SET C <REST .C ,C-INTLEN>>>
|
||||||
|
<COND (%<COND (<GASSIGNED? ZILCH>
|
||||||
|
'<G? .INT ,CLOCK-HAND>)
|
||||||
|
(ELSE
|
||||||
|
'<L=? <LENGTH .INT> <LENGTH ,CLOCK-HAND>>)>
|
||||||
|
<SET TICK <- <+ .TICK 3>>>)>
|
||||||
|
<PUT .INT ,C-TICK .TICK>
|
||||||
|
.INT>
|
||||||
|
|
||||||
|
<GLOBAL CLOCK-HAND <>>
|
||||||
|
|
||||||
|
<ROUTINE CLOCKER ("AUX" E TICK RTN (FLG <>) (Q? <>) OWINNER)
|
||||||
|
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
|
||||||
|
<SETG CLOCK-HAND <REST ,C-TABLE ,C-INTS>>
|
||||||
|
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||||
|
<SET OWINNER ,WINNER>
|
||||||
|
<SETG WINNER ,PLAYER>
|
||||||
|
<REPEAT ()
|
||||||
|
<COND (<EQUAL? ,CLOCK-HAND .E>
|
||||||
|
<SETG CLOCK-HAND .E>
|
||||||
|
<SETG MOVES <+ ,MOVES 1>>
|
||||||
|
<SETG WINNER .OWINNER>
|
||||||
|
<RETURN .FLG>)
|
||||||
|
(<NOT <ZERO? <GET ,CLOCK-HAND ,C-RTN>>>
|
||||||
|
<SET TICK <GET ,CLOCK-HAND ,C-TICK>>
|
||||||
|
<COND (<L? .TICK -1>
|
||||||
|
<PUT ,CLOCK-HAND ,C-TICK <- <- .TICK> 3>>
|
||||||
|
<SET Q? ,CLOCK-HAND>)
|
||||||
|
(<NOT <ZERO? .TICK>>
|
||||||
|
<COND (<G? .TICK 0>
|
||||||
|
<SET TICK <- .TICK 1>>
|
||||||
|
<PUT ,CLOCK-HAND ,C-TICK .TICK>)>
|
||||||
|
<COND (<NOT <ZERO? .TICK>>
|
||||||
|
<SET Q? ,CLOCK-HAND>)>
|
||||||
|
<COND (<NOT <G? .TICK 0>>
|
||||||
|
<SET RTN
|
||||||
|
%<COND (<GASSIGNED? ZILCH>
|
||||||
|
'<GET ,CLOCK-HAND ,C-RTN>)
|
||||||
|
(ELSE
|
||||||
|
'<NTH ,CLOCK-HAND
|
||||||
|
<+ <* ,C-RTN 2>
|
||||||
|
1>>)>>
|
||||||
|
<COND (<ZERO? .TICK>
|
||||||
|
<PUT ,CLOCK-HAND ,C-RTN 0>)>
|
||||||
|
<COND (%<COND
|
||||||
|
(,ZDEBUGGING?
|
||||||
|
'<II-APPLY "Int" .RTN>)
|
||||||
|
(ELSE
|
||||||
|
'<APPLY .RTN>)>
|
||||||
|
<SET FLG T>)>
|
||||||
|
<COND (<AND <NOT .Q?>
|
||||||
|
<NOT
|
||||||
|
<ZERO?
|
||||||
|
<GET ,CLOCK-HAND
|
||||||
|
,C-RTN>>>>
|
||||||
|
<SET Q? T>)>)>)>)>
|
||||||
|
<SETG CLOCK-HAND <REST ,CLOCK-HAND ,C-INTLEN>>
|
||||||
|
<COND (<NOT .Q?>
|
||||||
|
<SETG C-INTS <+ ,C-INTS ,C-INTLEN>>)>>>
|
||||||
|
|
||||||
|
<DEFINE PSEUDO ("TUPLE" V)
|
||||||
|
<MAPF ,PLTABLE
|
||||||
|
<FUNCTION (OBJ)
|
||||||
|
<COND (<N==? <LENGTH .OBJ> 3>
|
||||||
|
<ERROR BAD-THING .OBJ>)>
|
||||||
|
<MAPRET <COND (<NTH .OBJ 2>
|
||||||
|
<VOC <SPNAME <NTH .OBJ 2>>>)>
|
||||||
|
<COND (<NTH .OBJ 1>
|
||||||
|
<VOC <SPNAME <NTH .OBJ 1>> ADJECTIVE>)>
|
||||||
|
<3 .OBJ>>>
|
||||||
|
.V>>
|
1763
parser.zil
Normal file
1763
parser.zil
Normal file
File diff suppressed because it is too large
Load diff
30
record.zil
Normal file
30
record.zil
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
"RECORD for
|
||||||
|
MAGE
|
||||||
|
(c) Copyright 1985 Infocom, Inc. All Rights Reserved."
|
||||||
|
|
||||||
|
<SYNTAX \#RANDOM OBJECT = V-$RANDOM>
|
||||||
|
<SYNTAX \#COMMAND = V-$COMMAND>
|
||||||
|
<SYNTAX \#RECORD = V-$RECORD>
|
||||||
|
<SYNTAX \#UNRECORD = V-$UNRECORD>
|
||||||
|
|
||||||
|
<ROUTINE V-$COMMAND ()
|
||||||
|
<DIRIN 1>
|
||||||
|
<RTRUE>>
|
||||||
|
|
||||||
|
<ROUTINE V-$RANDOM ()
|
||||||
|
<COND (<NOT <EQUAL? ,PRSO ,INTNUM>>
|
||||||
|
<TELL "Illegal call to #RANDOM." CR>)
|
||||||
|
(T
|
||||||
|
<RANDOM <- 0 ,P-NUMBER>>
|
||||||
|
<RTRUE>)>>
|
||||||
|
|
||||||
|
<CONSTANT D-RECORD-ON 4>
|
||||||
|
<CONSTANT D-RECORD-OFF -4>
|
||||||
|
|
||||||
|
<ROUTINE V-$RECORD ()
|
||||||
|
<DIROUT ,D-RECORD-ON> ;"all READS and INPUTS get sent to command file"
|
||||||
|
<RTRUE>>
|
||||||
|
|
||||||
|
<ROUTINE V-$UNRECORD ()
|
||||||
|
<DIROUT ,D-RECORD-OFF>
|
||||||
|
<RTRUE>>
|
684
syntax.zil
Normal file
684
syntax.zil
Normal file
|
@ -0,0 +1,684 @@
|
||||||
|
"SYNTAX for
|
||||||
|
MAGE
|
||||||
|
(c) Copyright 1985 Infocom, Inc. All Rights Reserved."
|
||||||
|
|
||||||
|
<BUZZ $BUZZ A AN THE IS ARE AM AND OF THEN ALL ONE BUT EXCEPT \. \, \"
|
||||||
|
PLEASE HERE SOME G AGAIN OOPS>
|
||||||
|
|
||||||
|
<SYNONYM WITH USING>
|
||||||
|
;<SYNONYM THROUGH THRU>
|
||||||
|
<SYNONYM ON ONTO>
|
||||||
|
<SYNONYM IN INSIDE INTO>
|
||||||
|
<SYNONYM UNDER BELOW BENEATH UNDERNEATH>
|
||||||
|
<SYNONYM AROUND ALONG>
|
||||||
|
<SYNONYM ALL BOTH>
|
||||||
|
|
||||||
|
<SYNONYM NORTH N>
|
||||||
|
<SYNONYM SOUTH S>
|
||||||
|
<SYNONYM EAST E>
|
||||||
|
<SYNONYM WEST W>
|
||||||
|
<SYNONYM DOWN D>
|
||||||
|
<SYNONYM UP U>
|
||||||
|
|
||||||
|
\
|
||||||
|
|
||||||
|
;"game commands"
|
||||||
|
|
||||||
|
<SYNTAX VERBOSE = V-VERBOSE>
|
||||||
|
|
||||||
|
<SYNTAX BRIEF = V-BRIEF>
|
||||||
|
|
||||||
|
<SYNTAX SUPER = V-SUPER-BRIEF>
|
||||||
|
<SYNONYM SUPER SUPERBRIEF>
|
||||||
|
|
||||||
|
<SYNTAX DIAGNOSE = V-DIAGNOSE>
|
||||||
|
|
||||||
|
<SYNTAX I = V-INVENTORY>
|
||||||
|
<SYNONYM I INVENTORY>
|
||||||
|
|
||||||
|
<SYNTAX QUIT = V-QUIT>
|
||||||
|
<SYNONYM QUIT Q>
|
||||||
|
|
||||||
|
<SYNTAX RESTAR = V-RESTART>
|
||||||
|
|
||||||
|
<SYNTAX RESTOR = V-RESTORE>
|
||||||
|
|
||||||
|
<SYNTAX SAVE = V-SAVE>
|
||||||
|
|
||||||
|
<SYNTAX SCORE = V-SCORE>
|
||||||
|
|
||||||
|
<SYNTAX SCRIPT = V-SCRIPT>
|
||||||
|
|
||||||
|
<SYNTAX UNSCRIPT = V-UNSCRIPT>
|
||||||
|
|
||||||
|
<SYNTAX VERSION = V-VERSION>
|
||||||
|
|
||||||
|
<SYNTAX $VERIFY = V-$VERIFY>
|
||||||
|
<SYNTAX $VERIFY OBJECT = V-$VERIFY>
|
||||||
|
|
||||||
|
\
|
||||||
|
|
||||||
|
;"subtitle real verbs"
|
||||||
|
|
||||||
|
<SYNTAX ANSWER = V-ANSWER>
|
||||||
|
<SYNTAX ANSWER OBJECT = V-REPLY>
|
||||||
|
<SYNONYM ANSWER REPLY RESPOND>
|
||||||
|
|
||||||
|
<SYNTAX APPLY OBJECT (HELD MANY HAVE) TO OBJECT = V-PUT PRE-PUT>
|
||||||
|
|
||||||
|
<SYNTAX ASK FOR OBJECT = V-ASK-FOR PRE-ASK-FOR>
|
||||||
|
<SYNTAX ASK OBJECT (FIND PERSON) FOR OBJECT = V-ASK-FOR PRE-ASK-FOR>
|
||||||
|
<SYNTAX ASK ABOUT OBJECT = V-ASK-ABOUT PRE-ASK-ABOUT>
|
||||||
|
<SYNTAX ASK OBJECT (FIND PERSON) ABOUT OBJECT = V-ASK-ABOUT PRE-ASK-ABOUT>
|
||||||
|
<SYNONYM ASK QUERY QUIZ>
|
||||||
|
|
||||||
|
<SYNTAX ATTACK OBJECT (FIND PERSON) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||||
|
<SYNTAX ATTACK OBJECT (FIND PERSON) (ON-GROUND IN-ROOM)
|
||||||
|
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
|
||||||
|
<SYNONYM ATTACK ASSAULT FIGHT HIT STRIKE>
|
||||||
|
|
||||||
|
<SYNTAX BITE OBJECT = V-BITE>
|
||||||
|
|
||||||
|
<SYNTAX BLOW UP OBJECT = V-INFLATE>
|
||||||
|
<SYNTAX BLOW OUT OBJECT = V-LAMP-OFF>
|
||||||
|
|
||||||
|
<SYNTAX BOARD OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
|
||||||
|
<SYNONYM BOARD EMBARK RIDE>
|
||||||
|
|
||||||
|
<SYNTAX BURN OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM HAVE) = V-BURN>
|
||||||
|
<SYNTAX BURN DOWN OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM HAVE) = V-BURN>
|
||||||
|
<SYNONYM BURN IGNITE>
|
||||||
|
|
||||||
|
<SYNTAX CLIMB OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
|
||||||
|
<SYNTAX CLIMB ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||||
|
<SYNTAX CLIMB UP OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
|
||||||
|
<SYNTAX CLIMB DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
|
||||||
|
<SYNTAX CLIMB OVER OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-OVER>
|
||||||
|
<SYNTAX CLIMB IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
|
||||||
|
<SYNTAX CLIMB OFF OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
|
||||||
|
<SYNTAX CLIMB OUT OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
|
||||||
|
<SYNONYM CLIMB SCALE>
|
||||||
|
|
||||||
|
<SYNTAX DESCEN OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
|
||||||
|
|
||||||
|
<SYNTAX LIE DOWN OBJECT (FIND RLANDBIT) = V-SLEEP>
|
||||||
|
<SYNTAX LIE ON OBJECT (FIND VEHBIT) = V-BOARD>
|
||||||
|
;<SYNONYM LIE>
|
||||||
|
|
||||||
|
<SYNTAX CLOSE OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
= V-CLOSE PRE-CLOSE>
|
||||||
|
<SYNONYM CLOSE SHUT ZIP>
|
||||||
|
|
||||||
|
<SYNTAX COMPARE OBJECT TO OBJECT = V-COMPARE>
|
||||||
|
<SYNTAX COMPARE OBJECT WITH OBJECT = V-COMPARE>
|
||||||
|
|
||||||
|
<SYNTAX COUNT OBJECT = V-COUNT>
|
||||||
|
<SYNTAX COUNT OBJECT IN OBJECT = V-COUNT>
|
||||||
|
;<SYNONYM COUNT>
|
||||||
|
|
||||||
|
<SYNTAX CROSS OBJECT = V-CROSS>
|
||||||
|
<SYNONYM CROSS FORD TRAVERSE>
|
||||||
|
|
||||||
|
<SYNTAX CUT OBJECT WITH OBJECT (FIND WEAPONBIT) (CARRIED HELD) = V-CUT>
|
||||||
|
<SYNTAX CUT THROUGH OBJECT WITH OBJECT (FIND WEAPONBIT) (CARRIED HELD) = V-CUT>
|
||||||
|
<SYNONYM CUT SLICE SLASH SEVER SPLIT DIVIDE PRUNE>
|
||||||
|
|
||||||
|
<SYNTAX SHIT = V-CURSE>
|
||||||
|
<SYNONYM SHIT DAMN FUCK>
|
||||||
|
|
||||||
|
<SYNTAX CRACK OBJECT (ON-GROUND IN-ROOM) = V-MUNG>
|
||||||
|
<SYNTAX CRACK OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||||
|
WITH OBJECT (HELD CARRIED TAKE) = V-MUNG>
|
||||||
|
<SYNTAX CRACK DOWN OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||||
|
WITH OBJECT (HELD CARRIED TAKE) = V-MUNG>
|
||||||
|
<SYNONYM CRACK DESTROY BREAK SMASH WRECK SCRATCH>
|
||||||
|
|
||||||
|
<SYNTAX DIG IN OBJECT = V-DIG>
|
||||||
|
<SYNTAX DIG WITH OBJECT = V-DIG>
|
||||||
|
<SYNTAX DIG THROUGH OBJECT = V-DIG>
|
||||||
|
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM)
|
||||||
|
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
|
||||||
|
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM)
|
||||||
|
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
|
||||||
|
<SYNONYM DIG EXCAVATE>
|
||||||
|
|
||||||
|
<SYNTAX DISEMBARK = V-DISEMBARK>
|
||||||
|
<SYNTAX DISEMBARK OBJECT (ON-GROUND IN-ROOM) = V-DISEMBARK>
|
||||||
|
<SYNONYM DISEMBARK DEBARK>
|
||||||
|
|
||||||
|
<SYNTAX DRINK OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-DRINK>
|
||||||
|
<SYNTAX DRINK FROM OBJECT (HELD CARRIED) = V-DRINK-FROM>
|
||||||
|
<SYNONYM DRINK SIP SWALLOW>
|
||||||
|
|
||||||
|
<SYNTAX DROP OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
|
||||||
|
<SYNTAX DROP OBJECT (HELD MANY HAVE) DOWN OBJECT = V-PUT PRE-PUT>
|
||||||
|
<SYNTAX DROP OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
|
||||||
|
<SYNTAX DROP OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT PRE-PUT>
|
||||||
|
<SYNONYM DROP RELEASE DUMP>
|
||||||
|
|
||||||
|
<SYNTAX EAT OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EAT>
|
||||||
|
<SYNONYM EAT CONSUME TASTE ;INGEST GOBBLE>
|
||||||
|
|
||||||
|
<SYNTAX ENTER = V-ENTER>
|
||||||
|
<SYNTAX ENTER OBJECT = V-THROUGH>
|
||||||
|
|
||||||
|
<SYNTAX EXIT = V-EXIT>
|
||||||
|
<SYNTAX EXIT OBJECT = V-EXIT>
|
||||||
|
<SYNONYM EXIT DEPART WITHDRAW>
|
||||||
|
|
||||||
|
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
= V-EXAMINE PRE-EXAMINE>
|
||||||
|
<SYNTAX EXAMINE IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND)
|
||||||
|
= V-LOOK-INSIDE>
|
||||||
|
<SYNTAX EXAMINE ON OBJECT (HELD CARRIED IN-ROOM ON-GROUND)
|
||||||
|
= V-LOOK-INSIDE>
|
||||||
|
<SYNTAX EXAMINE FOR OBJECT = V-FIND>
|
||||||
|
<SYNONYM EXAMINE INSPECT DESCRIBE CHECK OBSERVE WATCH>
|
||||||
|
|
||||||
|
;<SYNTAX EXORCISE OBJECT = V-EXORCISE>
|
||||||
|
;<SYNTAX EXORCISE OUT OBJECT (FIND PERSON) = V-EXORCISE>
|
||||||
|
;<SYNTAX EXORCISE AWAY OBJECT (FIND PERSON) = V-EXORCISE>
|
||||||
|
;<SYNONYM EXORCISE BANISH DRIVE>
|
||||||
|
|
||||||
|
<SYNTAX EXTINGUISH OBJECT
|
||||||
|
(MANY HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
|
||||||
|
;<SYNONYM EXTINGUISH DOUSE>
|
||||||
|
|
||||||
|
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD TAKE HAVE) = V-FILL>
|
||||||
|
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD TAKE HAVE)
|
||||||
|
WITH OBJECT = V-FILL>
|
||||||
|
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD TAKE HAVE)
|
||||||
|
AT OBJECT = V-FILL>
|
||||||
|
|
||||||
|
<SYNTAX FIND OBJECT = V-FIND>
|
||||||
|
;<SYNONYM FIND SEEK SEE>
|
||||||
|
|
||||||
|
<SYNTAX FLY = V-FLY>
|
||||||
|
<SYNTAX FLY OBJECT = V-FLY>
|
||||||
|
|
||||||
|
<SYNTAX FOLLOW = V-FOLLOW>
|
||||||
|
<SYNTAX FOLLOW OBJECT = V-FOLLOW>
|
||||||
|
<SYNONYM FOLLOW PURSUE CHASE>
|
||||||
|
|
||||||
|
<SYNTAX FORGET OBJECT = V-FORGET>
|
||||||
|
<SYNONYM FORGET UNLEARN ;UNMEMORIZE>
|
||||||
|
|
||||||
|
<SYNTAX GIVE OBJECT (MANY HELD HAVE)
|
||||||
|
TO OBJECT (FIND PERSON) (ON-GROUND) = V-GIVE PRE-GIVE>
|
||||||
|
<SYNTAX GIVE OBJECT (FIND PERSON) (ON-GROUND) OBJECT (MANY HELD HAVE)
|
||||||
|
= V-SGIVE PRE-SGIVE>
|
||||||
|
<SYNTAX GIVE OBJECT (FIND PERSON) (ON-GROUND) WITH OBJECT (MANY HELD HAVE)
|
||||||
|
= V-SGIVE PRE-SGIVE>
|
||||||
|
<SYNTAX GIVE OBJECT FOR OBJECT = V-OFFER>
|
||||||
|
<SYNONYM GIVE HAND OFFER FEED ;PRESENT>
|
||||||
|
|
||||||
|
<SYNTAX HELLO = V-HELLO>
|
||||||
|
<SYNTAX HELLO OBJECT = V-HELLO>
|
||||||
|
<SYNONYM HELLO HI ;GREETINGS>
|
||||||
|
|
||||||
|
<SYNTAX HELP = V-HELP>
|
||||||
|
<SYNTAX HELP OBJECT = V-HELP>
|
||||||
|
<SYNONYM HELP HINT ;HINTS>
|
||||||
|
|
||||||
|
<SYNTAX HIDE = V-HIDE>
|
||||||
|
<SYNTAX HIDE OBJECT (HELD HAVE) = V-HIDE>
|
||||||
|
<SYNTAX HIDE UNDER OBJECT = V-HIDE>
|
||||||
|
<SYNTAX HIDE BEHIND OBJECT = V-HIDE>
|
||||||
|
<SYNTAX HIDE OBJECT (HELD HAVE) FROM OBJECT = V-HIDE>
|
||||||
|
<SYNTAX HIDE IN OBJECT = V-BOARD>
|
||||||
|
<SYNTAX HIDE FROM OBJECT = V-HIDE-FROM>
|
||||||
|
<SYNONYM HIDE CONCEAL ;STASH>
|
||||||
|
|
||||||
|
<SYNTAX INFLAT OBJECT = V-INFLATE>
|
||||||
|
|
||||||
|
<SYNTAX JUMP = V-LEAP>
|
||||||
|
<SYNTAX JUMP OVER OBJECT = V-LEAP>
|
||||||
|
<SYNTAX JUMP ACROSS OBJECT = V-LEAP>
|
||||||
|
<SYNTAX JUMP IN OBJECT = V-LEAP>
|
||||||
|
<SYNTAX JUMP FROM OBJECT = V-LEAP>
|
||||||
|
<SYNTAX JUMP DOWN OBJECT (FIND RLANDBIT) = V-LEAP>
|
||||||
|
<SYNTAX JUMP OFF OBJECT = V-LEAP>
|
||||||
|
<SYNTAX JUMP ON OBJECT = V-CLIMB-ON>
|
||||||
|
<SYNTAX JUMP TO OBJECT = V-CLIMB-ON>
|
||||||
|
<SYNONYM JUMP LEAP DIVE>
|
||||||
|
|
||||||
|
<SYNTAX KICK OBJECT = V-KICK PRE-OPEN>
|
||||||
|
|
||||||
|
<SYNTAX KILL OBJECT (FIND PERSON) (ON-GROUND IN-ROOM) = V-KILL>
|
||||||
|
<SYNTAX KILL OBJECT (FIND PERSON) (ON-GROUND IN-ROOM)
|
||||||
|
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-KILL>
|
||||||
|
<SYNONYM KILL MURDER SLAY STAB>
|
||||||
|
|
||||||
|
<SYNTAX KISS OBJECT (FIND PERSON) (ON-GROUND IN-ROOM) = V-KISS>
|
||||||
|
|
||||||
|
<SYNTAX KNOCK AT OBJECT = V-KNOCK>
|
||||||
|
<SYNTAX KNOCK ON OBJECT = V-KNOCK>
|
||||||
|
<SYNTAX KNOCK DOWN OBJECT (FIND PERSON) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||||
|
<SYNONYM KNOCK RAP>
|
||||||
|
|
||||||
|
<SYNTAX LAND = V-LAND>
|
||||||
|
|
||||||
|
<SYNTAX LEAN ON OBJECT (HELD HAVE) = V-LEAN-ON>
|
||||||
|
|
||||||
|
<SYNTAX LEAVE = V-LEAVE>
|
||||||
|
<SYNTAX LEAVE OBJECT = V-DROP PRE-DROP>
|
||||||
|
|
||||||
|
<SYNTAX LISTEN = V-LISTEN>
|
||||||
|
<SYNTAX LISTEN TO OBJECT = V-LISTEN>
|
||||||
|
<SYNTAX LISTEN FOR OBJECT = V-LISTEN>
|
||||||
|
|
||||||
|
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT
|
||||||
|
(HELD CARRIED ON-GROUND IN-ROOM) = V-LOCK>
|
||||||
|
|
||||||
|
<SYNTAX LOOK = V-LOOK>
|
||||||
|
<SYNTAX LOOK AROUND OBJECT (FIND RLANDBIT) = V-LOOK>
|
||||||
|
<SYNTAX LOOK DOWN OBJECT (FIND RLANDBIT) = V-LOOK-DOWN>
|
||||||
|
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
= V-EXAMINE PRE-EXAMINE>
|
||||||
|
<SYNTAX LOOK THROUGH OBJECT = V-LOOK-INSIDE>
|
||||||
|
<SYNTAX LOOK UNDER OBJECT = V-LOOK-UNDER>
|
||||||
|
<SYNTAX LOOK BEHIND OBJECT = V-LOOK-BEHIND>
|
||||||
|
<SYNTAX LOOK ON OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
= V-LOOK-INSIDE>
|
||||||
|
<SYNTAX LOOK IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-LOOK-INSIDE>
|
||||||
|
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM TAKE) THROUGH OBJECT
|
||||||
|
= V-READ PRE-READ>
|
||||||
|
<SYNTAX LOOK UP OBJECT (FIND RLANDBIT) = V-LOOK-UP>
|
||||||
|
<SYNTAX LOOK UP OBJECT IN OBJECT = V-WHAT>
|
||||||
|
<SYNTAX LOOK FOR OBJECT = V-FIND>
|
||||||
|
<SYNTAX LOOK OBJECT = V-CHASTISE>
|
||||||
|
<SYNONYM LOOK L STARE GAZE>
|
||||||
|
|
||||||
|
<SYNTAX LOWER OBJECT = V-LOWER>
|
||||||
|
<SYNTAX LOWER OBJECT IN OBJECT = V-LOWER-INTO>
|
||||||
|
<SYNTAX LOWER OBJECT DOWN OBJECT = V-LOWER-INTO>
|
||||||
|
|
||||||
|
<SYNTAX MELT OBJECT WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-MELT>
|
||||||
|
<SYNONYM MELT THAW>
|
||||||
|
|
||||||
|
<SYNTAX MOVE = V-WALK-AROUND>
|
||||||
|
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE>
|
||||||
|
<SYNTAX ROLL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE>
|
||||||
|
<SYNONYM MOVE SHIFT>
|
||||||
|
|
||||||
|
<SYNTAX PAY OBJECT (MANY HELD HAVE) = V-PAY>
|
||||||
|
<SYNTAX PAY OBJECT (FIND PERSON) WITH OBJECT (MANY HELD HAVE) = V-PAY>
|
||||||
|
<SYNTAX PAY OBJECT (MANY HELD HAVE) TO OBJECT (FIND PERSON) = V-SPAY>
|
||||||
|
<SYNTAX PAY OBJECT (FIND PERSON) OBJECT (MANY HELD HAVE) = V-PAY>
|
||||||
|
|
||||||
|
<SYNTAX PLAY OBJECT = V-PLAY>
|
||||||
|
|
||||||
|
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) = V-MOVE>
|
||||||
|
<SYNTAX PULL ON OBJECT (ON-GROUND IN-ROOM) = V-MOVE>
|
||||||
|
<SYNTAX PULL DOWN OBJECT = V-LOWER>
|
||||||
|
<SYNONYM PULL TUG DRAG>
|
||||||
|
|
||||||
|
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
= V-OPEN PRE-OPEN>
|
||||||
|
<SYNTAX OPEN UP OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
= V-OPEN PRE-OPEN>
|
||||||
|
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
WITH OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
|
||||||
|
= V-OPEN PRE-OPEN>
|
||||||
|
<SYNONYM OPEN UNZIP>
|
||||||
|
|
||||||
|
<SYNTAX PICK OBJECT = V-PICK>
|
||||||
|
<SYNTAX PICK OBJECT WITH OBJECT = V-PICK>
|
||||||
|
<SYNTAX PICK UP OBJECT (FIND TAKEBIT) (ON-GROUND MANY) = V-TAKE PRE-TAKE>
|
||||||
|
|
||||||
|
<SYNTAX PLUG OBJECT WITH OBJECT = V-PLUG>
|
||||||
|
<SYNONYM PLUG CLOG BLOCK>
|
||||||
|
|
||||||
|
<SYNTAX REPAIR OBJECT = V-REPAIR>
|
||||||
|
<SYNTAX REPAIR OBJECT WITH OBJECT = V-REPAIR>
|
||||||
|
<SYNONYM REPAIR PATCH FIX>
|
||||||
|
|
||||||
|
<SYNTAX POINT AT OBJECT = V-POINT>
|
||||||
|
<SYNTAX POINT TO OBJECT = V-POINT>
|
||||||
|
<SYNONYM POINT GESTURE>
|
||||||
|
|
||||||
|
<SYNTAX POKE OBJECT (FIND PERSON) (ON-GROUND IN-ROOM)
|
||||||
|
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG>
|
||||||
|
<SYNONYM POKE JAB BLIND>
|
||||||
|
|
||||||
|
<SYNTAX POUR OBJECT (HELD CARRIED) = V-POUR>
|
||||||
|
<SYNTAX POUR OBJECT (HELD CARRIED) IN OBJECT = V-POUR>
|
||||||
|
<SYNTAX POUR OBJECT (HELD CARRIED) ON OBJECT = V-POUR>
|
||||||
|
<SYNTAX POUR OBJECT (HELD CARRIED) FROM OBJECT = V-POUR>
|
||||||
|
<SYNONYM POUR EMPTY SPILL>
|
||||||
|
|
||||||
|
<SYNTAX PUMP UP OBJECT = V-PUMP>
|
||||||
|
<SYNTAX PUMP UP OBJECT WITH OBJECT = V-PUMP>
|
||||||
|
|
||||||
|
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
|
||||||
|
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
|
||||||
|
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
|
||||||
|
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
|
||||||
|
<SYNTAX PUSH OBJECT UNDER OBJECT = V-PUT-UNDER>
|
||||||
|
<SYNONYM PUSH PRESS SHOVE>
|
||||||
|
|
||||||
|
<SYNTAX PUT OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
|
||||||
|
<SYNTAX PUT OBJECT (HELD MANY HAVE) DOWN OBJECT = V-PUT PRE-PUT>
|
||||||
|
<SYNTAX PUT OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
|
||||||
|
<SYNTAX PUT OBJECT (HELD MANY HAVE) OVER OBJECT = V-PUT-ON PRE-PUT>
|
||||||
|
<SYNTAX PUT OBJECT (HELD MANY HAVE) ACROSS OBJECT = V-PUT-ON PRE-PUT>
|
||||||
|
<SYNTAX PUT DOWN OBJECT (HELD MANY) = V-DROP PRE-DROP>
|
||||||
|
<SYNTAX PUT OBJECT (HELD MANY HAVE) UNDER OBJECT = V-PUT-UNDER>
|
||||||
|
<SYNTAX PUT ON OBJECT (IN-ROOM ON-GROUND CARRIED MANY) = V-WEAR>
|
||||||
|
<SYNTAX PUT OBJECT (HELD MANY HAVE) BEHIND OBJECT = V-PUT-BEHIND>
|
||||||
|
<SYNONYM PUT STUFF INSERT PLACE LAY FIT WEDGE>
|
||||||
|
|
||||||
|
<SYNTAX RAISE OBJECT = V-RAISE>
|
||||||
|
<SYNTAX RAISE UP OBJECT = V-RAISE>
|
||||||
|
<SYNONYM RAISE LIFT>
|
||||||
|
|
||||||
|
<SYNTAX REACH IN OBJECT (ON-GROUND IN-ROOM) = V-REACH-IN>
|
||||||
|
|
||||||
|
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
= V-READ PRE-READ>
|
||||||
|
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
THROUGH OBJECT = V-READ PRE-READ>
|
||||||
|
<SYNTAX READ ABOUT OBJECT = V-WHAT>
|
||||||
|
<SYNTAX READ ABOUT OBJECT IN OBJECT = V-WHAT>
|
||||||
|
;<SYNONYM READ>
|
||||||
|
|
||||||
|
<SYNTAX REMOVE OBJECT = V-TAKE-OFF>
|
||||||
|
<SYNONYM REMOVE SHED>
|
||||||
|
|
||||||
|
<SYNTAX SAY TO OBJECT (FIND PERSON) (IN-ROOM) = V-TELL>
|
||||||
|
<SYNTAX SAY = V-SAY>
|
||||||
|
<SYNONYM SAY TALK CALL>
|
||||||
|
|
||||||
|
<SYNTAX SEARCH OBJECT = V-SEARCH>
|
||||||
|
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
|
||||||
|
<SYNTAX SEARCH FOR OBJECT = V-FIND>
|
||||||
|
<SYNONYM SEARCH RUMMAGE ;FRISK>
|
||||||
|
|
||||||
|
<SYNTAX SEND FOR OBJECT = V-SEND>
|
||||||
|
|
||||||
|
<SYNTAX SHAKE OBJECT = V-SHAKE>
|
||||||
|
<SYNTAX SHAKE OBJECT AT OBJECT = V-WAVE-AT>
|
||||||
|
<SYNONYM SHAKE ;JOSTLE RATTLE>
|
||||||
|
|
||||||
|
<SYNTAX SHARPEN OBJECT WITH OBJECT (FIND TOOLBIT) (HAVE) = V-SHARPEN>
|
||||||
|
;<SYNONYM SHARPEN HONE>
|
||||||
|
|
||||||
|
<SYNTAX SHOOT OBJECT = V-SHOOT>
|
||||||
|
<SYNONYM SHOOT FIRE>
|
||||||
|
|
||||||
|
<SYNTAX SHOW OBJECT TO OBJECT = V-SHOW>
|
||||||
|
<SYNTAX SHOW OBJECT OBJECT = V-SSHOW PRE-SSHOW>
|
||||||
|
|
||||||
|
<SYNTAX SIT ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-SIT>
|
||||||
|
<SYNTAX SIT DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-SIT>
|
||||||
|
<SYNTAX SIT IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
|
||||||
|
<SYNTAX SIT AT OBJECT = V-SIT>
|
||||||
|
<SYNONYM SIT REST MEDITATE>
|
||||||
|
|
||||||
|
<SYNTAX SLEEP = V-SLEEP>
|
||||||
|
<SYNTAX SLEEP IN OBJECT (IN-ROOM ON-GROUND) = V-BOARD>
|
||||||
|
<SYNTAX SLEEP ON OBJECT (IN-ROOM ON-GROUND) = V-BOARD>
|
||||||
|
|
||||||
|
<SYNTAX NAP = V-SLEEP>
|
||||||
|
<SYNTAX NAP IN OBJECT (IN-ROOM ON-GROUND) = V-BOARD>
|
||||||
|
<SYNTAX NAP ON OBJECT (IN-ROOM ON-GROUND) = V-BOARD>
|
||||||
|
|
||||||
|
<SYNTAX SNOOZE = V-SLEEP>
|
||||||
|
<SYNTAX SNOOZE IN OBJECT (IN-ROOM ON-GROUND) = V-BOARD>
|
||||||
|
<SYNTAX SNOOZE ON OBJECT (IN-ROOM ON-GROUND) = V-BOARD>
|
||||||
|
|
||||||
|
<SYNTAX SKIP = V-SKIP>
|
||||||
|
<SYNONYM SKIP HOP CAVORT GAMBOL>
|
||||||
|
|
||||||
|
<SYNTAX SLIDE OBJECT UNDER OBJECT = V-PUT-UNDER>
|
||||||
|
|
||||||
|
<SYNTAX SMELL = V-SMELL>
|
||||||
|
<SYNTAX SMELL OBJECT = V-SMELL>
|
||||||
|
<SYNONYM SMELL SNIFF>
|
||||||
|
|
||||||
|
<SYNTAX SPIN OBJECT = V-SPIN>
|
||||||
|
<SYNONYM SPIN WHIRL ROTATE>
|
||||||
|
|
||||||
|
<SYNTAX SQUEEZE OBJECT = V-SQUEEZE>
|
||||||
|
<SYNTAX SQUEEZE OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT PRE-PUT>
|
||||||
|
|
||||||
|
<SYNTAX STAND = V-STAND>
|
||||||
|
<SYNTAX STAND UP OBJECT (FIND RLANDBIT) = V-STAND>
|
||||||
|
<SYNTAX STAND ON OBJECT = V-STAND-ON>
|
||||||
|
<SYNONYM STAND RISE>
|
||||||
|
|
||||||
|
<SYNTAX SWIM = V-SWIM>
|
||||||
|
<SYNTAX SWIM IN OBJECT = V-SWIM>
|
||||||
|
<SYNONYM SWIM BATHE WADE>
|
||||||
|
|
||||||
|
<SYNTAX SWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-SWING>
|
||||||
|
<SYNTAX SWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
|
||||||
|
AT OBJECT (FIND PERSON) (ON-GROUND IN-ROOM) = V-SWING>
|
||||||
|
<SYNONYM SWING THRUST>
|
||||||
|
|
||||||
|
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY) = V-TAKE PRE-TAKE>
|
||||||
|
<SYNTAX TAKE IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
|
||||||
|
<SYNTAX TAKE OUT OBJECT (FIND RLANDBIT) (ON-GROUND) = V-DISEMBARK>
|
||||||
|
<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||||
|
<SYNTAX TAKE UP OBJECT (FIND RLANDBIT) = V-STAND>
|
||||||
|
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||||
|
OUT OBJECT = V-TAKE PRE-TAKE>
|
||||||
|
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||||
|
OFF OBJECT = V-TAKE PRE-TAKE>
|
||||||
|
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
|
||||||
|
FROM OBJECT = V-TAKE PRE-TAKE>
|
||||||
|
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
|
||||||
|
IN OBJECT = V-TAKE PRE-TAKE>
|
||||||
|
<SYNTAX TAKE OFF OBJECT = V-TAKE-OFF>
|
||||||
|
<SYNONYM TAKE GRAB CATCH GET HOLD CARRY SNATCH>
|
||||||
|
|
||||||
|
<SYNTAX TELL OBJECT (FIND PERSON) (IN-ROOM) = V-TELL>
|
||||||
|
<SYNTAX TELL OBJECT ABOUT OBJECT = V-TELL-ABOUT PRE-TELL-ABOUT>
|
||||||
|
<SYNTAX TELL OBJECT OBJECT = V-REPLY>
|
||||||
|
<SYNTAX TELL ABOUT OBJECT = V-TELL-ME-ABOUT>
|
||||||
|
|
||||||
|
<SYNTAX THANK OBJECT = V-THANK>
|
||||||
|
<SYNTAX THANK = V-THANK>
|
||||||
|
<SYNONYM THANK THANKS>
|
||||||
|
|
||||||
|
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
|
||||||
|
AT OBJECT (ON-GROUND IN-ROOM) = V-THROW>
|
||||||
|
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
|
||||||
|
TO OBJECT (ON-GROUND IN-ROOM) = V-THROW>
|
||||||
|
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) OFF OBJECT = V-THROW-OFF>
|
||||||
|
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) OVER OBJECT = V-THROW-OFF>
|
||||||
|
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
|
||||||
|
THROUGH OBJECT (ON-GROUND IN-ROOM) = V-THROW>
|
||||||
|
<SYNTAX THROW OBJECT (HELD MANY HAVE) DOWN OBJECT = V-THROW>
|
||||||
|
<SYNTAX THROW OBJECT (HELD MANY HAVE) IN OBJECT = V-THROW>
|
||||||
|
<SYNTAX THROW OBJECT (HELD MANY HAVE) ON OBJECT = V-THROW>
|
||||||
|
<SYNONYM THROW HURL TOSS PITCH>
|
||||||
|
|
||||||
|
<SYNTAX TIE OBJECT TO OBJECT = V-TIE>
|
||||||
|
<SYNTAX TIE UP OBJECT (FIND PERSON) (ON-GROUND IN-ROOM) WITH OBJECT
|
||||||
|
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
|
||||||
|
<SYNONYM TIE FASTEN ATTACH>
|
||||||
|
|
||||||
|
<SYNTAX TIME = V-TIME>
|
||||||
|
<SYNONYM TIME T>
|
||||||
|
|
||||||
|
<SYNTAX TORTUR OBJECT = V-TORTURE>
|
||||||
|
|
||||||
|
<SYNTAX TOUCH OBJECT = V-RUB>
|
||||||
|
<SYNTAX TOUCH OBJECT WITH OBJECT = V-RUB>
|
||||||
|
<SYNTAX TOUCH OBJECT TO OBJECT = V-SRUB PRE-SRUB>
|
||||||
|
<SYNONYM TOUCH FEEL PAT PET RUB>
|
||||||
|
|
||||||
|
<SYNTAX TURN OBJECT TO OBJECT = V-TURN>
|
||||||
|
<SYNTAX TURN OBJECT = V-TURN>
|
||||||
|
<SYNTAX TURN OBJECT WITH OBJECT (FIND TOOLBIT) (HAVE) = V-TURN>
|
||||||
|
<SYNTAX TURN ON OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||||
|
= V-LAMP-ON>
|
||||||
|
<SYNTAX TURN OFF OBJECT
|
||||||
|
(HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-LAMP-OFF>
|
||||||
|
<SYNTAX TURN OVER OBJECT = V-TURN-OVER>
|
||||||
|
<SYNONYM TURN FLIP SHUT SET>
|
||||||
|
|
||||||
|
<SYNTAX UNLOCK OBJECT (ON-GROUND IN-ROOM)
|
||||||
|
WITH OBJECT = V-UNLOCK>
|
||||||
|
|
||||||
|
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
|
||||||
|
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) FROM OBJECT = V-UNTIE>
|
||||||
|
<SYNONYM UNTIE FREE UNFASTEN UNATTACH>
|
||||||
|
|
||||||
|
<SYNTAX WAIT = V-WAIT>
|
||||||
|
<SYNTAX WAIT FOR OBJECT = V-WAIT-FOR>
|
||||||
|
<SYNONYM WAIT Z>
|
||||||
|
|
||||||
|
<SYNTAX WAKE OBJECT (FIND RLANDBIT) = V-ALARM>
|
||||||
|
<SYNTAX WAKE UP OBJECT (FIND RLANDBIT) = V-ALARM>
|
||||||
|
<SYNONYM WAKE AWAKE SURPRISE STARTLE ROUSE>
|
||||||
|
|
||||||
|
<SYNTAX WALK = V-WALK-AROUND>
|
||||||
|
<SYNTAX WALK OBJECT = V-WALK>
|
||||||
|
<SYNTAX WALK IN OBJECT = V-THROUGH>
|
||||||
|
<SYNTAX WALK ON OBJECT = V-BOARD>
|
||||||
|
<SYNTAX WALK OVER OBJECT = V-LEAP>
|
||||||
|
<SYNTAX WALK THROUGH OBJECT = V-THROUGH>
|
||||||
|
<SYNTAX WALK AROUND OBJECT = V-WALK-AROUND>
|
||||||
|
<SYNTAX WALK UP OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-UP>
|
||||||
|
<SYNTAX WALK DOWN OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
|
||||||
|
<SYNTAX WALK TO OBJECT = V-WALK-TO>
|
||||||
|
<SYNONYM WALK GO RUN PROCEED STEP>
|
||||||
|
|
||||||
|
<SYNTAX WAVE OBJECT (HELD CARRIED) = V-WAVE>
|
||||||
|
<SYNTAX WAVE AT OBJECT = V-WAVE-AT>
|
||||||
|
<SYNTAX WAVE TO OBJECT = V-WAVE-AT>
|
||||||
|
<SYNTAX YELL AT OBJECT = V-WAVE-AT>
|
||||||
|
<SYNTAX WAVE OBJECT (HELD CARRIED) AT OBJECT = V-WAVE>
|
||||||
|
<SYNONYM WAVE ;MOTION BECKON>
|
||||||
|
|
||||||
|
<SYNTAX WEAR OBJECT = V-WEAR>
|
||||||
|
|
||||||
|
<SYNTAX WHAT OBJECT = V-WHAT>
|
||||||
|
;<SYNONYM WHAT WHATS>
|
||||||
|
|
||||||
|
<SYNTAX WHERE = V-WHERE>
|
||||||
|
<SYNTAX WHERE OBJECT = V-WHERE>
|
||||||
|
;<SYNONYM WHERE WHERES>
|
||||||
|
|
||||||
|
<SYNTAX WHO = V-WHO>
|
||||||
|
<SYNTAX WHO OBJECT = V-WHO>
|
||||||
|
;<SYNONYM WHO WHOS>
|
||||||
|
|
||||||
|
<SYNTAX YAWN = V-YAWN>
|
||||||
|
|
||||||
|
<SYNTAX YELL = V-YELL>
|
||||||
|
<SYNONYM YELL SCREAM SHOUT>
|
||||||
|
|
||||||
|
\^L
|
||||||
|
|
||||||
|
;"magic spell syntaxes"
|
||||||
|
|
||||||
|
<SYNTAX CAST OBJECT = V-CAST>
|
||||||
|
<SYNTAX CAST OBJECT ON OBJECT = V-CAST>
|
||||||
|
<SYNTAX CAST OBJECT AT OBJECT = V-CAST>
|
||||||
|
<SYNONYM CAST INCANT INVOKE>
|
||||||
|
|
||||||
|
<SYNTAX LEARN OBJECT (HELD CARRIED MANY) = V-LEARN>
|
||||||
|
<SYNONYM LEARN MEMORIZE ;KNOW>
|
||||||
|
|
||||||
|
<SYNTAX SPELLS = V-SPELLS>
|
||||||
|
|
||||||
|
<SYNTAX FROTZ OBJECT = V-FROTZ PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX GNUSTO OBJECT = V-GNUSTO PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX MALYON OBJECT = V-MALYON PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX REZROV OBJECT = V-REZROV PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX YOMIN OBJECT (FIND PERSON) = V-YOMIN PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX BLORPLE OBJECT (HELD CARRIED HAVE) = V-BLORPLE PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX LESOCH = V-LESOCH PRE-CAST>
|
||||||
|
<SYNTAX LESOCH OBJECT = V-LESOCH PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX SNAVIG = V-SNAVIG PRE-CAST>
|
||||||
|
<SYNTAX SNAVIG OBJECT = V-SNAVIG PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX GIRGOL = V-GIRGOL PRE-CAST>
|
||||||
|
<SYNTAX GIRGOL OBJECT = V-GIRGOL PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX JINDAK = V-JINDAK PRE-CAST>
|
||||||
|
<SYNTAX JINDAK OBJECT = V-JINDAK PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX ESPNIS OBJECT = V-ESPNIS PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX CASKLY OBJECT = V-CASKLY PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX LISKON OBJECT = V-LISKON PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX THROCK OBJECT = V-THROCK PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX TINSOT OBJECT = V-TINSOT PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX $XEROX OBJECT = V-$XEROX PRE-CAST>
|
||||||
|
|
||||||
|
<SYNTAX LABEL OBJECT (HELD CARRIED) = V-SWRITE PRE-SWRITE>
|
||||||
|
<SYNTAX LABEL OBJECT (HELD CARRIED) WITH OBJECT = V-SWRITE PRE-SWRITE>
|
||||||
|
|
||||||
|
<SYNTAX WRITE OBJECT = V-WRITE PRE-WRITE>
|
||||||
|
<SYNTAX WRITE OBJECT ON OBJECT (HELD CARRIED) = V-WRITE PRE-WRITE>
|
||||||
|
<SYNTAX WRITE OBJECT IN OBJECT (HELD CARRIED) = V-WRITE PRE-WRITE>
|
||||||
|
<SYNTAX WRITE ON OBJECT (HELD CARRIED) = V-WRITE-ON PRE-WRITE-ON>
|
||||||
|
<SYNTAX WRITE IN OBJECT (HELD CARRIED) = V-WRITE-ON PRE-WRITE-ON>
|
||||||
|
<SYNTAX WRITE ON OBJECT (HELD CARRIED)
|
||||||
|
WITH OBJECT (FIND TOOLBIT) = V-WRITE-ON PRE-WRITE-ON>
|
||||||
|
<SYNTAX WRITE IN OBJECT (HELD CARRIED)
|
||||||
|
WITH OBJECT (FIND TOOLBIT) = V-WRITE-ON PRE-WRITE-ON>
|
||||||
|
<SYNONYM WRITE PRINT INSCRIBE SCRIBE>
|
||||||
|
|
||||||
|
<SYNTAX PRY OBJECT WITH OBJECT = V-PRY>
|
||||||
|
<SYNTAX PRY OUT OBJECT WITH OBJECT = V-PRY>
|
||||||
|
|
||||||
|
<SYNTAX PLANT OBJECT = V-PLANT>
|
||||||
|
<SYNTAX PLANT OBJECT IN OBJECT = V-PLANT>
|
||||||
|
<SYNONYM PLANT BURY>
|
||||||
|
|
||||||
|
<SYNTAX YES = V-YES>
|
||||||
|
<SYNONYM YES Y OKAY>
|
||||||
|
<SYNTAX NO = V-NO>
|
||||||
|
<SYNONYM NO NOPE>
|
||||||
|
|
||||||
|
<SYNTAX BUY OBJECT FROM OBJECT (FIND PERSON) = V-BUY>
|
||||||
|
<SYNTAX BUY OBJECT WITH OBJECT = V-BUY>
|
||||||
|
<SYNONYM BUY PURCHASE>
|
||||||
|
|
||||||
|
<SYNTAX SELL OBJECT TO OBJECT (FIND PERSON) = V-SELL>
|
||||||
|
<SYNTAX SELL OBJECT OBJECT = V-SSELL PRE-SSELL>
|
||||||
|
|
||||||
|
<SYNTAX TRADE OBJECT (HELD CARRIED HAVE) WITH OBJECT (FIND PERSON) = V-TRADE>
|
||||||
|
<SYNTAX TRADE OBJECT (HELD CARRIED HAVE) FOR OBJECT = V-TRADE>
|
||||||
|
<SYNTAX TRADE OBJECT (HELD CARRIED HAVE) = V-TRADE>
|
||||||
|
|
||||||
|
<SYNTAX LURK = V-SLAVER>
|
||||||
|
<SYNTAX LURK BEHIND OBJECT = V-SLAVER>
|
||||||
|
<SYNTAX LURK IN OBJECT = V-SLAVER>
|
||||||
|
|
||||||
|
<SYNTAX SLAVER = V-SLAVER>
|
||||||
|
<SYNONYM SLAVER DROOL SALIVATE GURGLE>
|
||||||
|
|
||||||
|
<SYNTAX ERASE OBJECT = V-ERASE>
|
||||||
|
|
||||||
|
<SYNTAX ADMIRE OBJECT (FIND PERSON) = V-ADMIRE>
|
||||||
|
<SYNONYM ADMIRE COMPLIMENT>
|
||||||
|
|
||||||
|
<SYNTAX COPY OBJECT (FIND READBIT)
|
||||||
|
WITH OBJECT (FIND TOOLBIT) = V-COPY>
|
||||||
|
<SYNTAX COPY OBJECT (FIND READBIT)
|
||||||
|
ON OBJECT = V-COPY>
|
||||||
|
<SYNTAX COPY OBJECT (FIND READBIT)
|
||||||
|
TO OBJECT = V-COPY>
|
||||||
|
<SYNTAX COPY OBJECT (FIND READBIT) = V-COPY>
|
||||||
|
|
||||||
|
<SYNTAX BARGAIN WITH OBJECT (FIND PERSON) = V-BARGAIN>
|
||||||
|
<SYNONYM BARGAIN HAGGLE>
|
18
z6.xzap
Normal file
18
z6.xzap
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
.INSERT "Z6FREQ"
|
||||||
|
.INSERT "Z6DAT" ; DATA IS IN THIS FILE
|
||||||
|
.INSERT "MISC"
|
||||||
|
.INSERT "PARSER"
|
||||||
|
.INSERT "SYNTAX"
|
||||||
|
.INSERT "DEBUG"
|
||||||
|
.INSERT "RECORD"
|
||||||
|
.INSERT "INTERRUPTS"
|
||||||
|
.INSERT "VERBS"
|
||||||
|
.INSERT "MAGIC"
|
||||||
|
.INSERT "GLOBALS"
|
||||||
|
.INSERT "GUILD"
|
||||||
|
.INSERT "C1"
|
||||||
|
.INSERT "C2"
|
||||||
|
.INSERT "C3"
|
||||||
|
.INSERT "C4"
|
||||||
|
.INSERT "Z6STR"
|
||||||
|
.END
|
63
z6.zil
Normal file
63
z6.zil
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
"Z6 for
|
||||||
|
MAGE
|
||||||
|
(c) Copyright 1985 Infocom, Inc. All Rights Reserved."
|
||||||
|
|
||||||
|
<COND (<GASSIGNED? ZILCH>
|
||||||
|
<SETG ZDEBUGGING? <>>)
|
||||||
|
(ELSE
|
||||||
|
<SETG ZDEBUGGING? T>)>
|
||||||
|
|
||||||
|
<PRINC "
|
||||||
|
*** MAGE: Interactive Fantasy ***
|
||||||
|
">
|
||||||
|
|
||||||
|
ON!-INITIAL
|
||||||
|
OFF!-INITIAL
|
||||||
|
|
||||||
|
;<REPEAT (CHR)
|
||||||
|
<PRINC "Debugging? (Y or N): " ,OUTCHAN>
|
||||||
|
<SET CHR <TYI>>
|
||||||
|
<COND (<MEMQ .CHR "Yy ">
|
||||||
|
<PRINC " Debugging!
|
||||||
|
" ,OUTCHAN>
|
||||||
|
<RETURN <SETG ZDEBUGGING? T>>)
|
||||||
|
(<MEMQ .CHR "Nn">
|
||||||
|
<PRINC " No debugging!
|
||||||
|
" ,OUTCHAN>
|
||||||
|
<RETURN <SETG ZDEBUGGING? <>>>)
|
||||||
|
(ELSE
|
||||||
|
<PRINC " ??
|
||||||
|
" ,OUTCHAN>)>>
|
||||||
|
|
||||||
|
<DEFINE DEBUG-CODE ('X "OPTIONAL" ('Y T))
|
||||||
|
<COND (,ZDEBUGGING? .X)(ELSE .Y)>>
|
||||||
|
|
||||||
|
<SNAME "Z6">
|
||||||
|
|
||||||
|
<SET REDEFINE T>
|
||||||
|
|
||||||
|
<COND (<NOT <GASSIGNED? ZILCH>>
|
||||||
|
<SETG WBREAKS <STRING !\" !,WBREAKS>>)>
|
||||||
|
|
||||||
|
<COND (<GASSIGNED? ZILCH>
|
||||||
|
<ID 0>)>
|
||||||
|
|
||||||
|
<CONSTANT SERIAL 0>
|
||||||
|
|
||||||
|
<INSERT-FILE "MISC" T>
|
||||||
|
<INSERT-FILE "PARSER" T>
|
||||||
|
<INSERT-FILE "SYNTAX" T>
|
||||||
|
<INSERT-FILE "DEBUG" T>
|
||||||
|
<INSERT-FILE "RECORD" T>
|
||||||
|
<INSERT-FILE "INTERRUPTS" T>
|
||||||
|
<INSERT-FILE "VERBS" T>
|
||||||
|
<INSERT-FILE "MAGIC" T>
|
||||||
|
<INSERT-FILE "GLOBALS" T>
|
||||||
|
<INSERT-FILE "GUILD" T>
|
||||||
|
<INSERT-FILE "C1" T>
|
||||||
|
<INSERT-FILE "C2" T>
|
||||||
|
<INSERT-FILE "C3" T>
|
||||||
|
<INSERT-FILE "C4" T>
|
||||||
|
|
||||||
|
<PROPDEF SIZE 5>
|
||||||
|
<PROPDEF CAPACITY 0>
|
200
z6freq.xzap
Normal file
200
z6freq.xzap
Normal file
|
@ -0,0 +1,200 @@
|
||||||
|
.FSTR FSTR?1,"the " ;1880 941
|
||||||
|
.FSTR FSTR?2,"The " ;1005 336
|
||||||
|
.FSTR FSTR?3,"and " ;962 482
|
||||||
|
.FSTR FSTR?4,", " ;955 956
|
||||||
|
.FSTR FSTR?5,"You " ;840 281
|
||||||
|
.FSTR FSTR?6,"you " ;736 369
|
||||||
|
.FSTR FSTR?7,". " ;686 687
|
||||||
|
.FSTR FSTR?8,"is " ;525 526
|
||||||
|
.FSTR FSTR?9,"of " ;489 490
|
||||||
|
.FSTR FSTR?10,"are " ;440 221
|
||||||
|
.FSTR FSTR?11,"to " ;427 428
|
||||||
|
.FSTR FSTR?12,"your " ;426 143
|
||||||
|
.FSTR FSTR?13,"There " ;370 75
|
||||||
|
.FSTR FSTR?14,"that " ;366 123
|
||||||
|
.FSTR FSTR?15,"This " ;356 90
|
||||||
|
.FSTR FSTR?16,"with " ;336 113
|
||||||
|
.FSTR FSTR?17,"It's " ;325 66
|
||||||
|
.FSTR FSTR?18,"in " ;279 280
|
||||||
|
.FSTR FSTR?19,"It " ;234 118
|
||||||
|
.FSTR FSTR?20,"something " ;232 30
|
||||||
|
.FSTR FSTR?21,"have " ;228 77
|
||||||
|
.FSTR FSTR?22,"from " ;222 75
|
||||||
|
.FSTR FSTR?23,"spell " ;204 52
|
||||||
|
.FSTR FSTR?24,"but " ;194 98
|
||||||
|
.FSTR FSTR?25,"into " ;192 65
|
||||||
|
.FSTR FSTR?26,"about " ;176 45
|
||||||
|
.FSTR FSTR?27,"for " ;172 87
|
||||||
|
.FSTR FSTR?28,"which " ;168 43
|
||||||
|
.FSTR FSTR?29,"small " ;168 43
|
||||||
|
.FSTR FSTR?30,"water " ;160 41
|
||||||
|
.FSTR FSTR?31,"can't " ;160 33
|
||||||
|
.FSTR FSTR?32,"around " ;160 33
|
||||||
|
.FSTR FSTR?33,"it " ;158 159
|
||||||
|
.FSTR FSTR?34,"like " ;150 51
|
||||||
|
.FSTR FSTR?35,"doesn't " ;147 22
|
||||||
|
.FSTR FSTR?36,"its " ;144 73
|
||||||
|
.FSTR FSTR?37,"has " ;142 72
|
||||||
|
.FSTR FSTR?38,"looks " ;136 35
|
||||||
|
.FSTR FSTR?39,"There's " ;136 18
|
||||||
|
.FSTR FSTR?40,"can " ;126 64
|
||||||
|
.FSTR FSTR?41,"very " ;123 42
|
||||||
|
.FSTR FSTR?42,"would " ;120 31
|
||||||
|
.FSTR FSTR?43,"Your " ;120 31
|
||||||
|
.FSTR FSTR?44,"begins " ;120 25
|
||||||
|
.FSTR FSTR?45,"here" ;116 59
|
||||||
|
.FSTR FSTR?46,"large " ;116 30
|
||||||
|
.FSTR FSTR?47,"you" ;114 115
|
||||||
|
.FSTR FSTR?48,"through " ;114 20
|
||||||
|
.FSTR FSTR?49,"don't " ;110 23
|
||||||
|
.FSTR FSTR?50,"almost " ;110 23
|
||||||
|
.FSTR FSTR?51,"on " ;109 110
|
||||||
|
.FSTR FSTR?52,"as " ;108 109
|
||||||
|
.FSTR FSTR?53,"light " ;108 28
|
||||||
|
.FSTR FSTR?54,"That " ;104 27
|
||||||
|
.FSTR FSTR?55,"was " ;100 51
|
||||||
|
.FSTR FSTR?56,"this " ;99 34
|
||||||
|
.FSTR FSTR?57,"spell" ;99 34
|
||||||
|
.FSTR FSTR?58,"see " ;98 50
|
||||||
|
.FSTR FSTR?59,"I " ;96 97
|
||||||
|
.FSTR FSTR?60,"out " ;96 49
|
||||||
|
.FSTR FSTR?61,"there " ;96 25
|
||||||
|
.FSTR FSTR?62,"Belboz " ;96 17
|
||||||
|
.FSTR FSTR?63,"before " ;95 20
|
||||||
|
.FSTR FSTR?64,"been " ;93 32
|
||||||
|
.FSTR FSTR?65,"not " ;92 47
|
||||||
|
.FSTR FSTR?66,"nothing " ;90 16
|
||||||
|
.FSTR FSTR?67,"already " ;90 16
|
||||||
|
.FSTR FSTR?68,"at " ;88 89
|
||||||
|
.FSTR FSTR?69,"an " ;86 87
|
||||||
|
.FSTR FSTR?70,"only " ;84 29
|
||||||
|
.FSTR FSTR?71,"They " ;84 22
|
||||||
|
.FSTR FSTR?72,"glowing " ;84 15
|
||||||
|
.FSTR FSTR?73,"something" ;84 13
|
||||||
|
.FSTR FSTR?74,"anything " ;84 13
|
||||||
|
.FSTR FSTR?75,"You're " ;84 13
|
||||||
|
.FSTR FSTR?76,"just " ;81 28
|
||||||
|
.FSTR FSTR?77,"their " ;80 21
|
||||||
|
.FSTR FSTR?78,"still " ;80 21
|
||||||
|
.FSTR FSTR?79,"little " ;80 17
|
||||||
|
.FSTR FSTR?80,"enough " ;80 17
|
||||||
|
.FSTR FSTR?81,"too " ;76 39
|
||||||
|
.FSTR FSTR?82,"cube" ;76 39
|
||||||
|
.FSTR FSTR?83,"He " ;76 39
|
||||||
|
.FSTR FSTR?84,"rock " ;75 26
|
||||||
|
.FSTR FSTR?85,"look " ;75 26
|
||||||
|
.FSTR FSTR?86,"even " ;75 26
|
||||||
|
.FSTR FSTR?87,"down " ;75 26
|
||||||
|
.FSTR FSTR?88,"isn't " ;75 16
|
||||||
|
.FSTR FSTR?89,"carpet " ;75 16
|
||||||
|
.FSTR FSTR?90,"all " ;72 37
|
||||||
|
.FSTR FSTR?91,"more " ;72 25
|
||||||
|
.FSTR FSTR?92,"Room" ;72 25
|
||||||
|
.FSTR FSTR?93,"grues " ;72 19
|
||||||
|
.FSTR FSTR?94,"Octagonal " ;72 9
|
||||||
|
.FSTR FSTR?95,"one " ;70 36
|
||||||
|
.FSTR FSTR?96,"Nothing " ;70 11
|
||||||
|
|
||||||
|
|
||||||
|
;word frequency table of 96 most common words
|
||||||
|
|
||||||
|
WORDS:: .TABLE
|
||||||
|
FSTR?1
|
||||||
|
FSTR?2
|
||||||
|
FSTR?3
|
||||||
|
FSTR?4
|
||||||
|
FSTR?5
|
||||||
|
FSTR?6
|
||||||
|
FSTR?7
|
||||||
|
FSTR?8
|
||||||
|
FSTR?9
|
||||||
|
FSTR?10
|
||||||
|
FSTR?11
|
||||||
|
FSTR?12
|
||||||
|
FSTR?13
|
||||||
|
FSTR?14
|
||||||
|
FSTR?15
|
||||||
|
FSTR?16
|
||||||
|
FSTR?17
|
||||||
|
FSTR?18
|
||||||
|
FSTR?19
|
||||||
|
FSTR?20
|
||||||
|
FSTR?21
|
||||||
|
FSTR?22
|
||||||
|
FSTR?23
|
||||||
|
FSTR?24
|
||||||
|
FSTR?25
|
||||||
|
FSTR?26
|
||||||
|
FSTR?27
|
||||||
|
FSTR?28
|
||||||
|
FSTR?29
|
||||||
|
FSTR?30
|
||||||
|
FSTR?31
|
||||||
|
FSTR?32
|
||||||
|
FSTR?33
|
||||||
|
FSTR?34
|
||||||
|
FSTR?35
|
||||||
|
FSTR?36
|
||||||
|
FSTR?37
|
||||||
|
FSTR?38
|
||||||
|
FSTR?39
|
||||||
|
FSTR?40
|
||||||
|
FSTR?41
|
||||||
|
FSTR?42
|
||||||
|
FSTR?43
|
||||||
|
FSTR?44
|
||||||
|
FSTR?45
|
||||||
|
FSTR?46
|
||||||
|
FSTR?47
|
||||||
|
FSTR?48
|
||||||
|
FSTR?49
|
||||||
|
FSTR?50
|
||||||
|
FSTR?51
|
||||||
|
FSTR?52
|
||||||
|
FSTR?53
|
||||||
|
FSTR?54
|
||||||
|
FSTR?55
|
||||||
|
FSTR?56
|
||||||
|
FSTR?57
|
||||||
|
FSTR?58
|
||||||
|
FSTR?59
|
||||||
|
FSTR?60
|
||||||
|
FSTR?61
|
||||||
|
FSTR?62
|
||||||
|
FSTR?63
|
||||||
|
FSTR?64
|
||||||
|
FSTR?65
|
||||||
|
FSTR?66
|
||||||
|
FSTR?67
|
||||||
|
FSTR?68
|
||||||
|
FSTR?69
|
||||||
|
FSTR?70
|
||||||
|
FSTR?71
|
||||||
|
FSTR?72
|
||||||
|
FSTR?73
|
||||||
|
FSTR?74
|
||||||
|
FSTR?75
|
||||||
|
FSTR?76
|
||||||
|
FSTR?77
|
||||||
|
FSTR?78
|
||||||
|
FSTR?79
|
||||||
|
FSTR?80
|
||||||
|
FSTR?81
|
||||||
|
FSTR?82
|
||||||
|
FSTR?83
|
||||||
|
FSTR?84
|
||||||
|
FSTR?85
|
||||||
|
FSTR?86
|
||||||
|
FSTR?87
|
||||||
|
FSTR?88
|
||||||
|
FSTR?89
|
||||||
|
FSTR?90
|
||||||
|
FSTR?91
|
||||||
|
FSTR?92
|
||||||
|
FSTR?93
|
||||||
|
FSTR?94
|
||||||
|
FSTR?95
|
||||||
|
FSTR?96
|
||||||
|
.ENDT
|
||||||
|
|
||||||
|
.ENDI
|
Loading…
Reference in a new issue