Revision 13 (Original Source)
This commit is contained in:
commit
daad2bd710
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,888 @@
|
|||
"END for
|
||||
SORCERER
|
||||
(c) Copyright 1984 by Infocom, Inc. All Rights Reserved"
|
||||
|
||||
<ROOM COVE
|
||||
(IN ROOMS)
|
||||
(DESC "Lagoon Shore")
|
||||
(LDESC
|
||||
"This is a narrow beach between a small cove to the east and tall
|
||||
cliffs to the west. The shore curves to the southeast and northeast.
|
||||
A metal chute leads up into the cliff.")
|
||||
(NORTH "There's a tall cliff there.")
|
||||
(NE TO OCEAN-NORTH)
|
||||
(EAST TO LAGOON)
|
||||
(SE TO OCEAN-SOUTH)
|
||||
(SOUTH "There's a tall cliff there.")
|
||||
(SW "There's a tall cliff there.")
|
||||
(WEST "There's a tall cliff there.")
|
||||
(NW "There's a tall cliff there.")
|
||||
(IN TO LAGOON)
|
||||
(UP PER CHUTE-ENTER-F)
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(GLOBAL LOWER-CHUTE LAGOON-OBJECT WATER BEACH)
|
||||
(PSEUDO "CLIFF" CLIFF-PSEUDO "CLIFFS" CLIFF-PSEUDO)
|
||||
(ACTION COVE-F)>
|
||||
|
||||
<GLOBAL POOFED <>>
|
||||
|
||||
<ROUTINE COVE-F (RARG "AUX" (X <>))
|
||||
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
||||
<NOT <FSET? ,COVE ,TOUCHBIT>>>
|
||||
<COND (,BOOK-BELONGS-IN-LAGOON
|
||||
<MOVE ,SPELL-BOOK ,LAGOON-FLOOR>)>
|
||||
<PUT ,VEZZAS 6 0>
|
||||
<SETG SCORE <+ ,SCORE 20>>
|
||||
<DISABLE <INT I-SUFFOCATE>>
|
||||
<DISABLE <INT I-YOUNGER-SELF>>
|
||||
<DISABLE <INT I-OLDER-SELF>>
|
||||
<COND (<AND ,GOLMACKED
|
||||
<NOT ,COMBO-REVEALED>>
|
||||
<POOF>)
|
||||
(<NOT ,GOLMACKED>
|
||||
<COND (<HELD? ,ROPE>
|
||||
<MOVE ,ROPE ,DIAL>
|
||||
<SET X T>)>
|
||||
<COND (<HELD? ,BEAM>
|
||||
<MOVE ,BEAM ,DIAL>
|
||||
<SET X T>)>
|
||||
<COND (<HELD? ,VARDIK-SCROLL>
|
||||
<MOVE ,VARDIK-SCROLL ,DIAL>
|
||||
<SET X T>)>
|
||||
<COND (<HELD? ,GOLMAC-SCROLL>
|
||||
<MOVE ,GOLMAC-SCROLL ,DIAL>
|
||||
<SET X T>)>
|
||||
<COND (.X
|
||||
<TELL
|
||||
"As you slide down the chute, some of your possessions suddenly vanish! ">)>)>
|
||||
<TELL
|
||||
"You fly out of the chute and land just at the edge of some water..." CR CR>)>>
|
||||
|
||||
<ROUTINE POOF ()
|
||||
<SETG POOFED T>
|
||||
<TELL
|
||||
"Suddenly, without the slightest fanfare, you cease to exist!" CR>
|
||||
<FINISH>>
|
||||
|
||||
<ROOM OCEAN-NORTH
|
||||
(IN ROOMS)
|
||||
(SYNONYM DAM FCD)
|
||||
(ADJECTIVE FLOOD CONTRO)
|
||||
(DESC "Ocean Shore North")
|
||||
(NORTH TO MOUTH-OF-RIVER)
|
||||
(NE "Entering the ocean is certain death.")
|
||||
(EAST "Entering the ocean is certain death.")
|
||||
(SE "Entering the ocean is certain death.")
|
||||
(SOUTH TO LAGOON)
|
||||
(SW TO COVE)
|
||||
(WEST "There's a tall cliff there.")
|
||||
(NW "There's a tall cliff there.")
|
||||
(IN TO LAGOON)
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(PSEUDO "CLIFF" CLIFF-PSEUDO "CLIFFS" CLIFF-PSEUDO)
|
||||
(GLOBAL LAGOON-OBJECT OCEAN BEACH WATER)
|
||||
(ACTION OCEAN-SHORE-F)>
|
||||
|
||||
<ROOM OCEAN-SOUTH
|
||||
(IN ROOMS)
|
||||
(SYNONYM MUSEUM)
|
||||
(ADJECTIVE ROYAL)
|
||||
(DESC "Ocean Shore South")
|
||||
(NORTH TO LAGOON)
|
||||
(NE "Entering the ocean is certain death.")
|
||||
(EAST "Entering the ocean is certain death.")
|
||||
(SE "Entering the ocean is certain death.")
|
||||
(SOUTH "There's a tall cliff there.")
|
||||
(SW "There's a tall cliff there.")
|
||||
(WEST "There's a tall cliff there.")
|
||||
(NW TO COVE)
|
||||
(IN TO LAGOON)
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(PSEUDO "CLIFF" CLIFF-PSEUDO "CLIFFS" CLIFF-PSEUDO)
|
||||
(GLOBAL LAGOON-OBJECT OCEAN WATER BEACH)
|
||||
(ACTION OCEAN-SHORE-F)>
|
||||
|
||||
<ROUTINE OCEAN-SHORE-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL "You are ">
|
||||
<COND (,FLYING
|
||||
<TELL "floating above">)
|
||||
(T
|
||||
<TELL "standing on">)>
|
||||
<TELL
|
||||
" the western shore of the mighty Flathead Ocean. According to legends
|
||||
you read at the University, the eastern shore of this ocean is a strange
|
||||
land of magical beings and priceless treasures. ">
|
||||
<COND (<EQUAL? ,HERE ,OCEAN-NORTH>
|
||||
<TELL
|
||||
"You could go north along the shore; the edge of a small cove lies to
|
||||
the southwest.">)
|
||||
(T
|
||||
<TELL
|
||||
"The beach to the south is blocked by a tall cliff; a lagoon shore
|
||||
lies to the northwest.">)>
|
||||
<CRLF>)>>
|
||||
|
||||
<OBJECT BEACH
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "beach")
|
||||
(SYNONYM BEACH SHORE SAND)
|
||||
(ADJECTIVE CURVED SANDY NARROW)
|
||||
(FLAGS NDESCBIT)>
|
||||
|
||||
<OBJECT OCEAN
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "ocean")
|
||||
(SYNONYM OCEAN WATERS)
|
||||
(ADJECTIVE MIGHTY FLATHE TURBUL)
|
||||
(FLAGS VOWELBIT NDESCBIT)
|
||||
(ACTION OCEAN-F)>
|
||||
|
||||
<ROUTINE OCEAN-F ("AUX" (X 0))
|
||||
<COND (<EQUAL? ,HERE ,GUN-EMPLACEMENT ,TURRET ,TOP-OF-FALLS>
|
||||
<TELL "The ocean lies far below you." CR>)
|
||||
(<VERB? PULVER>
|
||||
<SETG PERFORMING-SPELL T>
|
||||
<PERFORM ,V?PULVER ,LAGOON-OBJECT>
|
||||
<RTRUE>)
|
||||
(<VERB? DRINK DRINK-FROM>
|
||||
<PERFORM ,V?DRINK ,WATER>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL "It streches east as far as the eye can see." CR>)
|
||||
(<VERB? RESEARCH>
|
||||
<TELL
|
||||
"The Flathead Ocean, called the Great Sea by the ancients, has a very
|
||||
unusual feature -- its western shore basks in the sunlight while its
|
||||
eastern shore lies far underground." CR>)
|
||||
(<AND <VERB? PUT>
|
||||
<EQUAL? ,OCEAN ,PRSI>>
|
||||
<MOVE ,PRSO ,DIAL>
|
||||
<SPLASH>)
|
||||
(<VERB? THROUGH>
|
||||
<JIGS-UP "Certain death.">)>>
|
||||
|
||||
<ROUTINE CLIFF-PSEUDO ()
|
||||
<COND (<VERB? CLIMB-UP CLIMB-FOO>
|
||||
<COND (,FLYING
|
||||
<TELL "The cliff is too high to fly over." CR>)
|
||||
(T
|
||||
<TELL "The cliff is unclimbable." CR>)>)>>
|
||||
|
||||
<OBJECT LAGOON-OBJECT
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "lagoon")
|
||||
(SYNONYM LAGOON INLET COVE)
|
||||
(ADJECTIVE SMALL CALM)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION LAGOON-OBJECT-F)>
|
||||
|
||||
<ROUTINE LAGOON-OBJECT-F ()
|
||||
<COND (<VERB? THROUGH>
|
||||
<COND (<EQUAL? ,HERE ,LAGOON ,LAGOON-FLOOR>
|
||||
<LOOK-AROUND-YOU>)
|
||||
(T
|
||||
<GOTO ,LAGOON>)>)
|
||||
(<AND <VERB? PUT>
|
||||
<NOT <EQUAL? ,HERE ,LAGOON-FLOOR>>
|
||||
<EQUAL? ,PRSI ,LAGOON-OBJECT>>
|
||||
<MOVE ,PRSO ,LAGOON-FLOOR>
|
||||
<COND (<OR <FSET? ,PRSO ,SCROLLBIT>
|
||||
<EQUAL? ,PRSO ,SPELL-BOOK>>
|
||||
<FSET ,PRSO ,MUNGBIT>)>
|
||||
<SPLASH>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL "The water looks calm and hospitable." CR>)
|
||||
(<VERB? DRINK DRINK-FROM>
|
||||
<PERFORM ,V?DRINK ,WATER>
|
||||
<RTRUE>)
|
||||
(<VERB? PULVER>
|
||||
<TELL
|
||||
"The water level seems to drop an inch or two, for a moment." CR>)>>
|
||||
|
||||
<ROOM LAGOON
|
||||
(IN ROOMS)
|
||||
(DESC "Surface of Lagoon")
|
||||
(NORTH TO OCEAN-NORTH)
|
||||
(OUT TO COVE)
|
||||
(NW TO COVE)
|
||||
(WEST TO COVE)
|
||||
(SW TO COVE)
|
||||
(SOUTH TO OCEAN-SOUTH)
|
||||
(SE "Entering the ocean is certain death.")
|
||||
(EAST "Entering the ocean is certain death.")
|
||||
(NE "Entering the ocean is certain death.")
|
||||
(DOWN PER LAGOON-FLOOR-ENTER-F)
|
||||
(FLAGS ONBIT)
|
||||
(GLOBAL LAGOON-OBJECT OCEAN WATER)
|
||||
(PSEUDO "SAND" SAND-PSEUDO)
|
||||
(ACTION LAGOON-F)>
|
||||
|
||||
<ROUTINE LAGOON-F (RARG "AUX" X)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<SET X <FIRST? ,PROTAGONIST>>
|
||||
<REPEAT ()
|
||||
<COND (.X
|
||||
<COND (<OR <FSET? .X ,SCROLLBIT>
|
||||
<EQUAL? .X ,SPELL-BOOK>>
|
||||
<FSET .X ,MUNGBIT>)>
|
||||
<SET X <NEXT? .X>>)
|
||||
(T
|
||||
<RETURN>)>>)
|
||||
(<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL "You are ">
|
||||
<COND (,FLYING
|
||||
<TELL "flying over">)
|
||||
(T
|
||||
<TELL "swimming on">)>
|
||||
<TELL
|
||||
" the surface of a calm lagoon, whose sandy floor is visible below.
|
||||
A curved beach surrounds this inlet on its western side." CR>)>>
|
||||
|
||||
<ROUTINE LAGOON-FLOOR-ENTER-F ()
|
||||
<COND (,FLYING
|
||||
<WHILE-FLYING>
|
||||
<RFALSE>)
|
||||
(T
|
||||
,LAGOON-FLOOR)>>
|
||||
|
||||
<ROUTINE SAND-PSEUDO ()
|
||||
<COND (<EQUAL? ,PSEUDO-OBJECT ,PRSO>
|
||||
<SETG PERFORMING-SPELL T>
|
||||
<PERFORM ,PRSA ,GROUND ,PRSI>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<SETG PERFORMING-SPELL T>
|
||||
<PERFORM ,PRSA ,PRSO ,GROUND>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROOM LAGOON-FLOOR
|
||||
(IN ROOMS)
|
||||
(DESC "Lagoon Floor")
|
||||
(LDESC
|
||||
"This is the floor of a cove off the turbulent ocean to the east.
|
||||
The ground slopes upward to the north, west, and south. Light filters
|
||||
down from the surface of the water.")
|
||||
(NORTH TO OCEAN-NORTH)
|
||||
(NW TO COVE)
|
||||
(WEST TO COVE)
|
||||
(SW TO COVE)
|
||||
(SOUTH TO OCEAN-SOUTH)
|
||||
(SE "Entering the ocean is certain death.")
|
||||
(EAST "Entering the ocean is certain death.")
|
||||
(NE "Entering the ocean is certain death.")
|
||||
(UP TO LAGOON)
|
||||
(FLAGS ONBIT)
|
||||
(GLOBAL LAGOON-OBJECT OCEAN WATER)
|
||||
(PSEUDO "CORAL" CORAL-PSEUDO "SAND" SAND-PSEUDO)
|
||||
(ACTION LAGOON-FLOOR-F)>
|
||||
|
||||
<GLOBAL UNDERWATER-COUNTER 0>
|
||||
|
||||
<ROUTINE LAGOON-FLOOR-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<ENABLE <QUEUE I-DROWN -1>>
|
||||
<RFALSE>)>>
|
||||
|
||||
<ROUTINE I-DROWN ()
|
||||
<COND (<EQUAL? ,HERE ,LAGOON-FLOOR>
|
||||
<COND (,VILSTUED
|
||||
<RFALSE>)>
|
||||
<SETG UNDERWATER-COUNTER <+ ,UNDERWATER-COUNTER 1>>
|
||||
<COND (<EQUAL? ,UNDERWATER-COUNTER 3>
|
||||
<TELL CR
|
||||
"You won't be able to hold your breath much longer." CR>)
|
||||
(<EQUAL? ,UNDERWATER-COUNTER 4>
|
||||
<TELL CR "Better get some fresh air soon!" CR>)
|
||||
(<EQUAL? ,UNDERWATER-COUNTER 5>
|
||||
<SETG UNDERWATER-COUNTER 0>
|
||||
<CRLF>
|
||||
<JIGS-UP "You run out of air and drown.">)
|
||||
(T
|
||||
<RFALSE>)>)
|
||||
(T
|
||||
<SETG UNDERWATER-COUNTER 0>
|
||||
<DISABLE <INT I-DROWN>>
|
||||
<RFALSE>)>>
|
||||
|
||||
<ROUTINE CORAL-PSEUDO ()
|
||||
<COND (<AND <VERB? EXAMINE>
|
||||
<IN? ,HERE ,SPENSEWEEDS>>
|
||||
<TELL "The coral is covered by swaying spenseweeds." CR>)>>
|
||||
|
||||
<OBJECT SPENSEWEEDS
|
||||
(IN LAGOON-FLOOR)
|
||||
(DESC "spenseweeds")
|
||||
(LDESC
|
||||
"Nestled among some coral is a clump of stunningly beautiful spenseweeds,
|
||||
waving slowly in the currents of the lagoon.")
|
||||
(SYNONYM CLUMP SPENSE WEEDS WEED)
|
||||
(ADJECTIVE SEA STUNNI BEAUTI)
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION SPENSEWEEDS-F)>
|
||||
|
||||
<ROUTINE SPENSEWEEDS-F ()
|
||||
<COND (<VERB? MEEF>
|
||||
<MOVE ,SPENSEWEEDS ,DIAL>
|
||||
<MOVE ,CRATE ,HERE>
|
||||
<THIS-IS-IT ,CRATE>
|
||||
<TELL
|
||||
"The spenseweeds wilt away, revealing a wooden crate labelled with
|
||||
black lettering." CR>)
|
||||
(<VERB? LOOK-UNDER>
|
||||
<TELL
|
||||
"That's difficult -- they're well rooted in the coral." CR>)>>
|
||||
|
||||
<OBJECT CRATE
|
||||
(IN DIAL)
|
||||
(DESC "wooden crate")
|
||||
(SYNONYM LETTER CRATE LABEL)
|
||||
(ADJECTIVE WOOD WOODEN BLACK STENCI)
|
||||
(SIZE 45)
|
||||
(CAPACITY 40)
|
||||
(FLAGS TAKEBIT CONTBIT READBIT SEARCHBIT)
|
||||
(ACTION CRATE-F)>
|
||||
|
||||
<ROUTINE CRATE-F ()
|
||||
<COND (<AND <VERB? OPEN REZROV>
|
||||
<NOT ,CRATE-POINT>>
|
||||
<SETG CRATE-POINT T>
|
||||
<SETG SCORE <+ ,SCORE 15>>
|
||||
<RFALSE>)
|
||||
(<VERB? READ>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL
|
||||
"Stencilled diagonally across the crate:|
|
||||
|
|
||||
GRUE PROTECTION KIT|
|
||||
|
|
||||
Below, in much smaller letters:|
|
||||
|
|
||||
FROM:|
|
||||
Frobozz Magic Grue Accessories Co.|
|
||||
|
|
||||
TO:|
|
||||
Aragain Brothers Circus|
|
||||
Attn: Grue Trainer" CR>
|
||||
<FIXED-FONT-OFF>)>>
|
||||
|
||||
<GLOBAL CRATE-POINT <>>
|
||||
|
||||
<OBJECT GRUE-SUIT
|
||||
(IN CRATE)
|
||||
(DESC "grue suit")
|
||||
(SYNONYM SUIT)
|
||||
(ADJECTIVE GRUE)
|
||||
(FLAGS WEARBIT TAKEBIT)
|
||||
(SIZE 15)>
|
||||
|
||||
<OBJECT BRASS-LANTERN
|
||||
(IN CRATE)
|
||||
(DESC "brass lantern")
|
||||
(SYNONYM LANTERN LAMP)
|
||||
(ADJECTIVE BRASS BATTER POWERE)
|
||||
(FLAGS TAKEBIT LIGHTBIT)
|
||||
(SIZE 15)
|
||||
(ACTION BRASS-LANTERN-F)>
|
||||
|
||||
<ROUTINE BRASS-LANTERN-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"It is a battery-powered lantern like those used by adventurers
|
||||
and explorers. It is currently ">
|
||||
<COND (<FSET? ,BRASS-LANTERN ,ONBIT>
|
||||
<TELL "on">)
|
||||
(T
|
||||
<TELL "off">)>
|
||||
<TELL "." CR>)>>
|
||||
|
||||
<OBJECT GRUE-REPELLENT
|
||||
(IN CRATE)
|
||||
(SYNONYM REPELLENT CAN)
|
||||
(ADJECTIVE GRUE MAGIC)
|
||||
(DESC "can of grue repellent")
|
||||
(FLAGS TAKEBIT READBIT)
|
||||
(ACTION GRUE-REPELLENT-F)
|
||||
(TEXT
|
||||
"|
|
||||
\"!!! FROBOZZ MAGIC GRUE REPELLENT !!!|
|
||||
|
|
||||
Instructions for use: Apply liberally to creature to be protected.
|
||||
Duration of effect is unpredictable. Use only in place of death!|
|
||||
|
|
||||
(No warranty expressed or implied)\"")>
|
||||
|
||||
<ROUTINE GRUE-REPELLENT-F ()
|
||||
<COND (<VERB? SHAKE>
|
||||
<COND (,SPRAY-USED?
|
||||
<TELL "The can seems empty." CR>)
|
||||
(T
|
||||
<TELL "There is a sloshing sound from inside." CR>)>)
|
||||
(<AND <VERB? SPRAY PUT-ON>
|
||||
<EQUAL? ,PRSO ,GRUE-REPELLENT>>
|
||||
<COND (,SPRAY-USED?
|
||||
<TELL "The repellent is all gone." CR>)
|
||||
(<NOT ,PRSI>
|
||||
<SETG SPRAY-USED? T>
|
||||
<TELL
|
||||
"The spray stinks amazingly for a few moments, then drifts away." CR>)
|
||||
(T
|
||||
<COND (<EQUAL? ,PRSI ,ME>
|
||||
<ENABLE <QUEUE I-SPRAY 5>>
|
||||
<SETG SPRAYED? T>)>
|
||||
<SETG SPRAY-USED? T>
|
||||
<TELL
|
||||
"The spray smells like a mixture of old socks and burning rubber. If
|
||||
I were a grue I'd sure stay clear!" CR>)>)>>
|
||||
|
||||
<GLOBAL SPRAY-USED? <>>
|
||||
|
||||
<GLOBAL SPRAYED? <>>
|
||||
|
||||
<ROUTINE I-SPRAY ()
|
||||
<SETG SPRAYED? <>>
|
||||
<TELL CR "That horrible smell is much less pungent now." CR>>
|
||||
|
||||
<ROOM MOUTH-OF-RIVER
|
||||
(IN ROOMS)
|
||||
(DESC "Mouth of River")
|
||||
(NORTH "The river is too wide to cross.")
|
||||
(NE "Entering the ocean is certain death.")
|
||||
(EAST "Entering the ocean is certain death.")
|
||||
(SE "Entering the ocean is certain death.")
|
||||
(SOUTH TO OCEAN-NORTH)
|
||||
(SW "There's a tall cliff there.")
|
||||
(WEST PER VINES-EXIT-F)
|
||||
(NW "There's a tall cliff there.")
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(GLOBAL WATER OCEAN RIVER FORT CAVE WATERFALL)
|
||||
(PSEUDO "CLIFF" CLIFF-PSEUDO "CLIFFS" CLIFF-PSEUDO)
|
||||
(ACTION MOUTH-OF-RIVER-F)>
|
||||
|
||||
<ROUTINE MOUTH-OF-RIVER-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL
|
||||
"A mighty river spills into the ocean here. Looking up the river valley,
|
||||
you see a tall waterfall. Atop a cliff, high above you, is the rampart
|
||||
of a fortress. A cave entrance ">
|
||||
<COND (<IN? ,VINES ,HERE>
|
||||
<TELL
|
||||
"at the base of the cliff to the west is blocked by writhing green vines">)
|
||||
(T
|
||||
<TELL "lies to the west">)>
|
||||
<TELL "." CR>)
|
||||
(<AND <EQUAL? .RARG ,M-END>
|
||||
<IN? ,VINES ,HERE>
|
||||
<PROB 15>>
|
||||
<CRLF>
|
||||
<TELL
|
||||
"Suddenly you realize that, without really thinking about it, you were ">
|
||||
<COND (,FLYING
|
||||
<TELL "flying">)
|
||||
(T
|
||||
<TELL "walking">)>
|
||||
<TELL
|
||||
" toward the wriggling vines. As you stop, a feeling of annoyance
|
||||
seems to radiate from the plants." CR>)>>
|
||||
|
||||
<OBJECT VINES
|
||||
(IN MOUTH-OF-RIVER)
|
||||
(DESC "mass of wriggling vines")
|
||||
(SYNONYM MASS VINES VINE PLANTS)
|
||||
(ADJECTIVE WRIGLI WRITHI GREEN)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION VINES-F)>
|
||||
|
||||
<ROUTINE VINES-F ()
|
||||
<COND (<VERB? MEEF>
|
||||
<MOVE ,VINES ,DIAL>
|
||||
<TELL
|
||||
"You can almost feel a wave of pain from the vines as they shrivel away." CR>)
|
||||
(<VERB? ATTACK KILL>
|
||||
<JIGS-UP
|
||||
"Your attack is somewhat quixotic as the vines wrap around and tear
|
||||
you to pieces.">)
|
||||
(<VERB? THROUGH KICK BITE TAKE CLIMB-UP CLIMB-FOO PUSH MOVE RUB>
|
||||
<DO-WALK ,P?WEST>)>>
|
||||
|
||||
<ROUTINE VINES-EXIT-F ()
|
||||
<COND (<IN? ,VINES ,HERE>
|
||||
<JIGS-UP
|
||||
"The vines encircle you and tear you limb from limb.">
|
||||
<RFALSE>)
|
||||
(T
|
||||
,GRUE-LAIR)>>
|
||||
|
||||
<ROOM GRUE-LAIR
|
||||
(IN ROOMS)
|
||||
(DESC "Grue Lair")
|
||||
(LDESC
|
||||
"This is a low, shadowy cave leading east to west. The rocky walls
|
||||
are scarred with deep claw marks.")
|
||||
(EAST TO MOUTH-OF-RIVER)
|
||||
(WEST TO MAMMOTH-CAVERN)
|
||||
(FLAGS RLANDBIT INSIDEBIT)
|
||||
(GLOBAL CAVE)
|
||||
(ACTION GRUE-LAIR-F)>
|
||||
|
||||
<ROUTINE GRUE-LAIR-F (RARG)
|
||||
<COND (<AND <NOT ,SPRAYED?>
|
||||
<EQUAL? .RARG ,M-END>
|
||||
<NOT <IN? ,GRUE-SUIT ,PROTAGONIST>>>
|
||||
<COND (<OR ,LIT ,BLORTED>
|
||||
<JIGS-UP
|
||||
"The grues lurk toward you! Your last sight is a hundred slavering fangs.">)
|
||||
(T
|
||||
<JIGS-UP
|
||||
"Suddenly, you are set upon by countless slavering fangs!">)>)>>
|
||||
|
||||
<OBJECT MUTATED-GRUES
|
||||
(IN GRUE-LAIR)
|
||||
(DESC "pack of mutated grues")
|
||||
(SYNONYM PACK GRUES GRUE)
|
||||
(ADJECTIVE MUTATE)
|
||||
(DESCFCN MUTATED-GRUES-DESCFCN)
|
||||
(ACTION MUTATED-GRUES-F)>
|
||||
|
||||
<ROUTINE MUTATED-GRUES-F ()
|
||||
<COND (<VERB? FROTZ>
|
||||
<TELL
|
||||
"One of the grues gives off a flash of light but, strangely, it doesn't seem
|
||||
to notice or care." CR>)
|
||||
(<VERB? RESEARCH>
|
||||
<PERFORM ,V?RESEARCH ,GRUE>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE MUTATED-GRUES-DESCFCN (RARG)
|
||||
<COND (<OR ,LIT ,BLORTED>
|
||||
<COND (,SPRAYED?
|
||||
<LIT-MESSAGE>
|
||||
<TELL
|
||||
"They stagger about the room, covering their noses and making horrid
|
||||
gurgling noises." CR>)
|
||||
(<IN? ,GRUE-SUIT ,PROTAGONIST>
|
||||
<LIT-MESSAGE>
|
||||
<TELL
|
||||
"They seem to be ignoring you, aside from a few suspicious gurgles
|
||||
in your direction." CR>)
|
||||
(T
|
||||
<LIT-MESSAGE>
|
||||
<TELL
|
||||
"Baring tremendous fangs, they form a circle around you..." CR>)>)
|
||||
(T
|
||||
<TELL
|
||||
"There are terrifying gurgling noises from the darkness!" CR>)>>
|
||||
|
||||
<ROUTINE LIT-MESSAGE ()
|
||||
<TELL "A pack of grues fills the room! ">
|
||||
<COND (,LIT
|
||||
<TELL
|
||||
"The grues, contrary to all conventional wisdom, aren't bothered by your
|
||||
light in the least. They must be mutated grues, no longer fearing light! ">)>>
|
||||
|
||||
<ROOM MAMMOTH-CAVERN
|
||||
(IN ROOMS)
|
||||
(DESC "Mammoth Cavern")
|
||||
(LDESC
|
||||
"This cavern is of extraordinary size, but nevertheless crowded with
|
||||
powerful-looking machinery. You recognize a breeder for producing
|
||||
millions of the mutated grues you just passed. Other devices seem
|
||||
designed to aid the forces of evil while sapping magic powers of
|
||||
Enchanters everywhere.|
|
||||
|
|
||||
At the far end of the cavern are three closed doors: a black marble door
|
||||
leading to the northwest, a shiny silver door heading due west, and
|
||||
a door of bleached white wood to the southwest.")
|
||||
(EAST TO GRUE-LAIR)
|
||||
(NW TO CHAMBER-OF-LIVING-DEATH IF BLACK-DOOR IS OPEN)
|
||||
(WEST TO HALL-OF-ETERNAL-PAIN IF SILVER-DOOR IS OPEN)
|
||||
(SW TO BELBOZ-HIDEOUT IF WHITE-DOOR IS OPEN)
|
||||
(FLAGS RLANDBIT INSIDEBIT)
|
||||
(GLOBAL CAVE)
|
||||
(ACTION MAMMOTH-CAVERN-F)>
|
||||
|
||||
<ROUTINE MAMMOTH-CAVERN-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<SETG SCORE <+ ,SCORE ,CAVERN-POINT>>
|
||||
<SETG CAVERN-POINT 0>
|
||||
<PUT ,VEZZAS 7 0>)>>
|
||||
|
||||
<GLOBAL CAVERN-POINT 20>
|
||||
|
||||
<OBJECT MACHINERY
|
||||
(IN MAMMOTH-CAVERN)
|
||||
(DESC "diabolic machinery")
|
||||
(SYNONYM MACHIN DEVICE BREEDER PLAQUE)
|
||||
(ADJECTIVE DIABOL EVIL POWERF TINY)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION MACHINERY-F)>
|
||||
|
||||
<ROUTINE MACHINERY-F ()
|
||||
<COND (<VERB? MUNG LAMP-ON>
|
||||
<JIGS-UP
|
||||
"A field of energy leaps forth, reducing you to a pile of smoldering ash.">)
|
||||
(<VERB? EXAMINE READ>
|
||||
<TELL
|
||||
"You notice, on one machine, a tiny plaque which reads:|
|
||||
|
|
||||
FROBOZZ MAGIC MUTATED GRUE BREEDER CO." CR>)>>
|
||||
|
||||
<ROOM CHAMBER-OF-LIVING-DEATH
|
||||
(IN ROOMS)
|
||||
(DESC "Chamber of Living Death")
|
||||
(LDESC
|
||||
"The very walls of this room seem to soak up all light, so it seems
|
||||
as though you're floating in the center of an infinite void.")
|
||||
(FLAGS RLANDBIT ONBIT INSIDEBIT)
|
||||
(GLOBAL CAVE)
|
||||
(PSEUDO "PARASI" PARASITES-PSEUDO)
|
||||
(ACTION CHAMBER-OF-LIVING-DEATH-F)>
|
||||
|
||||
<ROUTINE CHAMBER-OF-LIVING-DEATH-F (RARG)
|
||||
<COND (<AND <EQUAL? .RARG ,M-BEG>
|
||||
<NOT <VERB? QUIT SAVE VERSION>>
|
||||
<NOT <VERB? RESTORE RESTART AGAIN>>
|
||||
<NOT <VERB? BRIEF VERBOSE SUPER-BRIEF>>
|
||||
<NOT <VERB? SCRIPT UNSCRIPT>>>
|
||||
<AGONY>
|
||||
<RTRUE>)
|
||||
(<EQUAL? .RARG ,M-END>
|
||||
<TELL
|
||||
"Hideous parasites descend upon you and tear the flesh from your bones,
|
||||
gnaw the eyes from your sockets, and feast upon your very brain tissue.
|
||||
Amazingly, you do not die, and your body regenerates itself as you await
|
||||
the next attack..." CR>)>>
|
||||
|
||||
<ROUTINE PARASITES-PSEUDO ()
|
||||
<RFALSE>>
|
||||
|
||||
<ROOM HALL-OF-ETERNAL-PAIN
|
||||
(IN ROOMS)
|
||||
(DESC "Hall of Eternal Pain")
|
||||
(LDESC
|
||||
"This room is filled with blinding light that stabs at your eyes.")
|
||||
(FLAGS RLANDBIT ONBIT INSIDEBIT)
|
||||
(GLOBAL CAVE)
|
||||
(PSEUDO "FORCE" FORCE-PSEUDO "FORCES" FORCE-PSEUDO)
|
||||
(ACTION HALL-OF-ETERNAL-DEATH-F)>
|
||||
|
||||
<ROUTINE HALL-OF-ETERNAL-DEATH-F (RARG)
|
||||
<COND (<AND <EQUAL? .RARG ,M-BEG>
|
||||
<NOT <VERB? QUIT SAVE VERSION>>
|
||||
<NOT <VERB? RESTORE RESTART AGAIN>>
|
||||
<NOT <VERB? BRIEF VERBOSE SUPER-BRIEF>>
|
||||
<NOT <VERB? SCRIPT UNSCRIPT>>>
|
||||
<AGONY>
|
||||
<RTRUE>)
|
||||
(<EQUAL? .RARG ,M-END>
|
||||
<TELL
|
||||
"Disembodied forces suck the very thoughts from your mind, savoring
|
||||
each moment and growing stronger. Every second is an agonizing torment,
|
||||
as though thousands of raging fires were exploding in your skull,
|
||||
filling you with a pain greater than you could ever imagine." CR>)>>
|
||||
|
||||
<ROUTINE FORCE-PSEUDO ()
|
||||
<RFALSE>>
|
||||
|
||||
<ROUTINE AGONY ()
|
||||
<TELL
|
||||
"Your agony is too great to concentrate on such an action." CR>>
|
||||
|
||||
<ROOM BELBOZ-HIDEOUT
|
||||
(IN ROOMS)
|
||||
(SYNONYM JUNGLE MIZNIA)
|
||||
(DESC "Belboz's Hideout")
|
||||
(LDESC
|
||||
"An acrid stench fills this small room, which is obviously a
|
||||
control center for the evil experiments in the cavern outside.")
|
||||
(EAST "An invisible force stops you.")
|
||||
(FLAGS RLANDBIT INSIDEBIT ONBIT)
|
||||
(GLOBAL CAVE)>
|
||||
|
||||
<OBJECT KNIFE
|
||||
(IN BELBOZ-HIDEOUT)
|
||||
(DESC "diamond-studded knife")
|
||||
(FDESC
|
||||
"Hanging on the wall is a heavy dagger, its handle encrusted with diamonds.")
|
||||
(SYNONYM KNIFE DAGGER HANDLE)
|
||||
(ADJECTIVE HEAVY DIAMON STUDDE ENCRUS)
|
||||
(FLAGS TAKEBIT WEAPONBIT)
|
||||
(SIZE 10)>
|
||||
|
||||
<OBJECT BLACK-DOOR
|
||||
(IN MAMMOTH-CAVERN)
|
||||
(DESC "black marble door")
|
||||
(SYNONYM DOOR DOORS)
|
||||
(ADJECTIVE BLACK MARBLE)
|
||||
(FLAGS DOORBIT NDESCBIT)
|
||||
(ACTION BLACK-DOOR-F)>
|
||||
|
||||
<ROUTINE BLACK-DOOR-F ()
|
||||
<COND (<VERB? OPEN REZROV>
|
||||
<TELL
|
||||
"As the door opens, hundreds of slime-covered tentacles stream
|
||||
out and drag you across the threshold..." CR CR>
|
||||
<ROB ,PROTAGONIST>
|
||||
<DISABLE <INT I-TIRED>>
|
||||
<DISABLE <INT I-THIRST>>
|
||||
<DISABLE <INT I-HUNGER>>
|
||||
<WEAR-OFF-SPELLS>
|
||||
<GOTO ,CHAMBER-OF-LIVING-DEATH>)>>
|
||||
|
||||
<OBJECT SILVER-DOOR
|
||||
(IN MAMMOTH-CAVERN)
|
||||
(DESC "shiny silver door")
|
||||
(SYNONYM DOOR DOORS)
|
||||
(ADJECTIVE SHINY SILVER)
|
||||
(FLAGS DOORBIT NDESCBIT)
|
||||
(ACTION SILVER-DOOR-F)>
|
||||
|
||||
<ROUTINE SILVER-DOOR-F ()
|
||||
<COND (<VERB? OPEN REZROV>
|
||||
<TELL
|
||||
"The door blows open, knocking you to the ground. You are pulled
|
||||
through the open doorway by an unseen force..." CR CR>
|
||||
<ROB ,PROTAGONIST>
|
||||
<DISABLE <INT I-TIRED>>
|
||||
<DISABLE <INT I-HUNGER>>
|
||||
<DISABLE <INT I-THIRST>>
|
||||
<WEAR-OFF-SPELLS>
|
||||
<GOTO ,HALL-OF-ETERNAL-PAIN>)>>
|
||||
|
||||
<OBJECT WHITE-DOOR
|
||||
(IN MAMMOTH-CAVERN)
|
||||
(DESC "white wooden door")
|
||||
(SYNONYM DOOR DOORS)
|
||||
(ADJECTIVE WHITE WOODEN BLEACH WOOD)
|
||||
(FLAGS DOORBIT NDESCBIT)
|
||||
(ACTION WHITE-DOOR-F)>
|
||||
|
||||
<GLOBAL WHITE-DOOR-SCORE 20>
|
||||
|
||||
<ROUTINE WHITE-DOOR-F ()
|
||||
<COND (<VERB? OPEN REZROV>
|
||||
<COND (<EQUAL? ,HERE ,BELBOZ-HIDEOUT>
|
||||
<DO-WALK ,P?EAST>
|
||||
<RTRUE>)>
|
||||
<SETG SCORE <+ ,SCORE ,WHITE-DOOR-SCORE>>
|
||||
<SETG WHITE-DOOR-SCORE 0>
|
||||
<TELL
|
||||
"The door creaks slowly open. Within, you see someone lying as though
|
||||
asleep. You feel yourself drawn into the room..." CR CR>
|
||||
<ENABLE <QUEUE I-BELBOZ-AWAKES 8>>
|
||||
<GOTO ,BELBOZ-HIDEOUT>)>>
|
||||
|
||||
<GLOBAL VARDIKED <>>
|
||||
|
||||
<ROUTINE I-UNVARDIK ()
|
||||
<SETG VARDIKED <>>
|
||||
<TELL CR
|
||||
"Your head feels numb for a moment, and your mind feels suddenly open and
|
||||
unprotected." CR>>
|
||||
|
||||
<GLOBAL BELBOZ-DEAD <>>
|
||||
|
||||
<GLOBAL BELBOZ-GASPARED <>>
|
||||
|
||||
<ROUTINE KILL-BELBOZ ()
|
||||
<COND (,BELBOZ-GASPARED
|
||||
<SETG BELBOZ-GASPARED <>>
|
||||
<TELL
|
||||
"As you stab Belboz, an apparition rises from his body. Floating above him
|
||||
like a cloud of fog, it howls with laughter. A moment later, gaspar begins
|
||||
to heal the wounds, and the spirit flows back into the body." CR>
|
||||
<CRLF>
|
||||
<I-BELBOZ-AWAKES>)
|
||||
(T
|
||||
<TELL
|
||||
"You stab the knife time and again into Belboz, who writhes in pain,
|
||||
eyes bulging outward. Sickened and dizzy, you stagger back." CR CR>
|
||||
<SETG BELBOZ-DEAD T>
|
||||
<SWANZO-BELBOZ>)>>
|
||||
|
||||
<ROUTINE SWANZO-BELBOZ ()
|
||||
<TELL "A wispy translucent shape rises from the ">
|
||||
<COND (,BELBOZ-DEAD
|
||||
<TELL "corpse">)
|
||||
(T
|
||||
<TELL "body">)>
|
||||
<TELL
|
||||
" of Belboz. It speaks in a voice so deep that your whole body seems to
|
||||
hear it. \"Foolish Charlatan! I am forced to flee that weak, old body -- I
|
||||
shall take your own, instead! Already I have sucked all knowledge, all
|
||||
secrets from that ancient Enchanter. Now begins an epoch of evil transcending
|
||||
even your worst nightmares; a reign of terror that will last a thousand
|
||||
thousand years!\" The shape blows toward you on a cold wind." CR CR>
|
||||
<COND (,VARDIKED
|
||||
<TELL
|
||||
"Jeearr surrounds you like a cloud and begins to contract. Suddenly, it
|
||||
strikes your invisible protection and recoils as if burned. \"No!\" it
|
||||
cries. \"Such a guileless Enchanter developing a mind shield?\" The cloud
|
||||
is thinner, the voice fainter. \"It cannot be! I cannot survive ... without
|
||||
a host.\" The demon roils in agony, then thins and dissipates. There is a
|
||||
final scream of pain, then silence." CR CR>
|
||||
<COND (,BELBOZ-DEAD
|
||||
<TELL
|
||||
"Jeearr is vanquished; the kingdom is saved. But you - you are stranded in
|
||||
a land unknown, and your closest friend, the greatest Enchanter of his
|
||||
age, lies dead by your own hand. Kneeling by his blood-soaked corpse, you
|
||||
beg for another chance..." CR>
|
||||
<FINISH>)
|
||||
(T
|
||||
<TELL
|
||||
"Belboz moans softly, and begins stirring. He sees you and rises, instantly
|
||||
alert. After posing a few well-chosen questions, he casts a brief but
|
||||
unfamiliar spell.|
|
||||
|
|
||||
An instant later, ">
|
||||
<COND (<IN? ,GRUE-SUIT ,PROTAGONIST>
|
||||
<TELL "your grue suit has vanished and ">)>
|
||||
<TELL
|
||||
"you are standing in the Chamber of the Circle. The Circle of Enchanters
|
||||
is assembled. Belboz speaks. \"Once again, this young Enchanter has done
|
||||
a matchless service to the Guild and to the entire kingdom, displaying
|
||||
resourcefulness and imagination worthy of the greatest of Enchanters. I
|
||||
grow old, and must soon step down as Head of the Circle. But let it be
|
||||
known that a successor has been found.\"" CR CR>
|
||||
<SETG SCORE <+ ,SCORE 25>>
|
||||
<SETG HERE ,CHAMBER-OF-THE-CIRCLE>
|
||||
<V-SCORE>
|
||||
<USL>
|
||||
<TELL CR
|
||||
"Here ends the second chapter of the Enchanter saga, in which,
|
||||
by virtue of your skills, you have been appointed as the next
|
||||
leader of the Circle of Enchanters. The final adventure awaits
|
||||
you as the Enchanter series concludes." CR>
|
||||
<COND (<NOT <IN? ,MORGIA-PLANT ,BELBOZ-QUARTERS>>
|
||||
<TELL CR
|
||||
"You hear a distant bellow. \"What happened to my morgia plant?\"" CR>)>
|
||||
<FINISH T>)>)
|
||||
(T
|
||||
<TELL
|
||||
"You feel an overwhelming sense of oppression as the demon seizes control
|
||||
of your mind and body. The monster reaches into the recesses of your mind,
|
||||
adding your hard-earned magic powers to its own. As it settles comfortably
|
||||
into your skull, the demon grants you a vision of the future. You see the
|
||||
enslaved people of the land toiling to erect great idols to Jeearr. Parents
|
||||
offer up their own children upon these altars, as the rivers of the land fill
|
||||
with blood. And YOU embody Jeearr; you are cursed by ten thousand generations
|
||||
of victims; your face adorns the idols. And worst of all, you remain awake
|
||||
and aware, a witness to horror, never sleeping, and never, ever to escape." CR>
|
||||
<SETG SCORE -100>
|
||||
<FINISH>)>>
|
||||
|
||||
<ROUTINE I-BELBOZ-AWAKES ()
|
||||
<COND (<NOT <EQUAL? ,HERE ,BELBOZ-HIDEOUT>>
|
||||
<RFALSE>)>
|
||||
<TELL CR
|
||||
"Suddenly, Belboz's eyes flicker and he leaps to his feet. His face is
|
||||
unrecognizable, a twisted mask of hatred. \"Meddlesome Enchanter! I should
|
||||
have killed you all before I left! But better late than never...\" Lightning
|
||||
bolts flash toward you from his fingers, but rather than dying, you find
|
||||
yourself in the..." CR CR>
|
||||
<ROB ,PROTAGONIST>
|
||||
<DISABLE <INT I-TIRED>>
|
||||
<DISABLE <INT I-THIRST>>
|
||||
<DISABLE <INT I-HUNGER>>
|
||||
<WEAR-OFF-SPELLS>
|
||||
<GOTO ,HALL-OF-ETERNAL-PAIN>>
|
|
@ -0,0 +1,382 @@
|
|||
"FORT.ZIL for
|
||||
SORCERER
|
||||
(c) Copyright 1984 Infocom, Inc. All Rights Reserved"
|
||||
|
||||
<OBJECT FORT
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "fort")
|
||||
(SYNONYM FORT GRIFFS RAMPAR FORTRE)
|
||||
(ADJECTIVE FORT PROUD MIGHTY)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION FORT-F)>
|
||||
|
||||
<ROUTINE FORT-F ()
|
||||
<COND (<VERB? THROUGH>
|
||||
<COND (<OR <EQUAL? ,HERE ,PARADE-GROUND ,GUN-EMPLACEMENT>
|
||||
<EQUAL? ,HERE ,BARRACKS ,ARMORY>>
|
||||
<LOOK-AROUND-YOU>)
|
||||
(<EQUAL? ,HERE ,FORT-ENTRANCE>
|
||||
<DO-WALK ,P?EAST>)
|
||||
(T
|
||||
<CANT-ENTER ,FORT>)>)
|
||||
(<VERB? DROP EXIT>
|
||||
<COND (<EQUAL? ,HERE ,PARADE-GROUND>
|
||||
<DO-WALK ,P?WEST>)
|
||||
(<EQUAL? ,HERE ,GUN-EMPLACEMENT ,BARRACKS ,ARMORY>
|
||||
<CANT-ENTER ,FORT T>)
|
||||
(T
|
||||
<LOOK-AROUND-YOU>)>)
|
||||
(<VERB? RESEARCH>
|
||||
<TELL
|
||||
"Fort Griffspotter once guarded the lands near Egreth Castle from
|
||||
attack by sea." CR>)>>
|
||||
|
||||
<ROOM FORT-ENTRANCE
|
||||
(IN ROOMS)
|
||||
(DESC "Fort Entrance")
|
||||
(LDESC
|
||||
"You are at the entrance to Fort Griffspotter, which lies to the east.
|
||||
A trail leads along the river bank to the northwest.")
|
||||
(EAST TO PARADE-GROUND)
|
||||
(NW TO RIVER-BANK)
|
||||
(FLAGS ONBIT RLANDBIT)
|
||||
(GLOBAL FORT ROAD BANKS)>
|
||||
|
||||
<ROOM PARADE-GROUND
|
||||
(IN ROOMS)
|
||||
(DESC "Parade Ground")
|
||||
(LDESC
|
||||
"You are at the center of a level field inside the fort. Entrances to
|
||||
rooms around the perimeter lie in several directions.")
|
||||
(WEST TO FORT-ENTRANCE)
|
||||
(SOUTH TO ARMORY)
|
||||
(EAST TO GUN-EMPLACEMENT)
|
||||
(NORTH TO BARRACKS)
|
||||
(UP "If you want to climb the flagpole, just say so.")
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(PSEUDO "ROPE" ROPE-PSEUDO)
|
||||
(GLOBAL FORT)
|
||||
(ACTION PARADE-GROUND-F)>
|
||||
|
||||
<ROUTINE PARADE-GROUND-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<PUT ,VEZZAS 2 0>
|
||||
<RFALSE>)
|
||||
(<AND <EQUAL? .RARG ,M-END>
|
||||
,SLEEPING>
|
||||
<DISABLE <INT I-WAKE-UP>>
|
||||
<I-WAKE-UP>)>>
|
||||
|
||||
<ROUTINE ROPE-PSEUDO ()
|
||||
<COND (<VERB? MOVE>
|
||||
<PERFORM ,V?LOWER ,FLAG>
|
||||
<RTRUE>)
|
||||
(<VERB? TAKE>
|
||||
<TELL
|
||||
"The rope is attached to the pole and can't possibly be removed." CR>)>>
|
||||
|
||||
<OBJECT FLAG-POLE
|
||||
(IN PARADE-GROUND)
|
||||
(DESC "flagpole")
|
||||
(SYNONYM POLE FLAGPO)
|
||||
(ADJECTIVE FLAG)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION FLAG-POLE-F)>
|
||||
|
||||
<ROUTINE FLAG-POLE-F ()
|
||||
<COND (<VERB? CLIMB-ON CLIMB-FOO CLIMB-UP>
|
||||
<TELL
|
||||
"That sort of thing went out of fashion years ago." CR>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL "A rope runs up the side of the pole." CR>)>>
|
||||
|
||||
<OBJECT FLAG
|
||||
(IN PARADE-GROUND)
|
||||
(DESC "flag of Quendor")
|
||||
(SYNONYM FLAG)
|
||||
(ADJECTIVE TATTER BROWN GOLD)
|
||||
(FLAGS TAKEBIT TRYTAKEBIT)
|
||||
(SIZE 8)
|
||||
(DESCFCN FLAG-DESCFCN)
|
||||
(ACTION FLAG-F)>
|
||||
|
||||
<GLOBAL FLAG-RAISED T>
|
||||
|
||||
<GLOBAL FOOBLE-FOUND <>>
|
||||
|
||||
<ROUTINE FLAG-DESCFCN (RARG)
|
||||
<COND (,FLAG-RAISED
|
||||
<TELL
|
||||
"A tattered flag, apparently that of ancient Quendor, still flies atop
|
||||
a mighty flagpole in the center of the field." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"A flag displaying the brown and gold of ancient Quendor is lying here." CR>)>>
|
||||
|
||||
<ROUTINE FLAG-F ()
|
||||
<COND (<VERB? FLY>
|
||||
<PERFORM ,V?RAISE ,FLAG>
|
||||
<RTRUE>)>
|
||||
<COND (,FLAG-RAISED
|
||||
<COND (<VERB? RAISE>
|
||||
<TELL "It's already at the top of the pole." CR>)
|
||||
(<VERB? LOWER>
|
||||
<SETG FLAG-RAISED <>>
|
||||
<FCLEAR ,FLAG ,TRYTAKEBIT>
|
||||
<FCLEAR ,FLAG-POLE ,NDESCBIT>
|
||||
<TELL "The flag is lowered to the ground." CR>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL
|
||||
"You can't see it very well from here -- the flagpole is very tall." CR>)
|
||||
(<VERB? SHAKE WAVE TAKE MOVE RUB EAT DRINK LOOK-INSIDE>
|
||||
<TELL "The flag is ">
|
||||
<COND (,FLYING
|
||||
<TELL "still ">)>
|
||||
<TELL
|
||||
"way above you at the top of the flagpole!" CR>)
|
||||
(<VERB? LOOK-UNDER>
|
||||
<PERFORM ,V?EXAMINE ,FLAG-POLE>
|
||||
<RTRUE>)>)
|
||||
(T
|
||||
<COND (<VERB? RAISE>
|
||||
<COND (<EQUAL? ,HERE ,PARADE-GROUND>
|
||||
<FSET ,FLAG ,TRYTAKEBIT>
|
||||
<MOVE ,FLAG ,HERE>
|
||||
<FSET ,FLAG-POLE ,NDESCBIT>
|
||||
<SETG FLAG-RAISED T>
|
||||
<TELL
|
||||
"The flag is raised to the top of the pole." CR>)
|
||||
(T
|
||||
<TELL "There's no flagpole in sight." CR>)>)
|
||||
(<VERB? LOWER>
|
||||
<TELL "You've already done that." CR>)
|
||||
(<VERB? WAVE>
|
||||
<TELL "How patriotic!" CR>)
|
||||
(<VERB? WEAR>
|
||||
<TELL "Who do you think you are, Abbie Hoffman?" CR>)
|
||||
(<AND <VERB? EXAMINE LOOK-INSIDE SHAKE RUB SEARCH>
|
||||
<NOT ,FOOBLE-FOUND>>
|
||||
<SETG FOOBLE-FOUND T>
|
||||
<MOVE ,FOOBLE-VIAL ,HERE>
|
||||
<THIS-IS-IT ,FOOBLE-VIAL>
|
||||
<TELL
|
||||
"As you fiddle with the flag, an aqua vial drops from a hidden pocket
|
||||
and falls to the ground." CR>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL
|
||||
"The tattered flag displays the brown and gold of ancient Quendor." CR>)>)>>
|
||||
|
||||
<OBJECT FOOBLE-VIAL
|
||||
(IN DIAL)
|
||||
(DESC "aqua vial")
|
||||
(SYNONYM VIAL VIALS LABEL)
|
||||
(ADJECTIVE AQUA FOOBLE)
|
||||
(FLAGS CONTBIT READBIT TAKEBIT VOWELBIT VIALBIT SEARCHBIT)
|
||||
(SIZE 3)
|
||||
(CAPACITY 1)
|
||||
(ACTION FOOBLE-VIAL-F)>
|
||||
|
||||
<ROUTINE FOOBLE-VIAL-F ()
|
||||
<COND (<VERB? READ>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL
|
||||
"|
|
||||
\"FOOBLE POTION|
|
||||
(increase muscular coordination)\"" CR>
|
||||
<FIXED-FONT-OFF>)>>
|
||||
|
||||
<OBJECT FOOBLE-POTION
|
||||
(IN FOOBLE-VIAL)
|
||||
(DESC "aqua potion")
|
||||
(SYNONYM POTION)
|
||||
(ADJECTIVE AQUA FOOBLE)
|
||||
(FLAGS NARTICLEBIT VOWELBIT)
|
||||
(ACTION FOOBLE-POTION-F)>
|
||||
|
||||
<ROUTINE FOOBLE-POTION-F ()
|
||||
<COND (<AND <VERB? EAT DRINK>
|
||||
<NOT <HELD? ,FOOBLE-VIAL>>>
|
||||
<POTION-POUR ,FOOBLE-VIAL>)
|
||||
(<VERB? RESEARCH>
|
||||
<READ-ABOUT-POTIONS 2>)
|
||||
(<VERB? EAT DRINK>
|
||||
<MOVE ,FOOBLE-POTION ,DIAL>
|
||||
<COND (,UNDER-INFLUENCE
|
||||
<TWO-POTIONS>
|
||||
<RTRUE>)>
|
||||
<SETG UNDER-INFLUENCE ,FOOBLE-POTION>
|
||||
<ENABLE <QUEUE I-UNFOOBLE 17>>
|
||||
<SETG FOOBLED T>
|
||||
<TELL
|
||||
"The aqua potion tasted like lime jelly, and sent vibrations through
|
||||
your muscles." CR>)
|
||||
(<VERB? DROP>
|
||||
<PERFORM ,V?POUR ,PRSO ,PRSI>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? POUR>
|
||||
<EQUAL? ,PRSO ,FOOBLE-POTION>>
|
||||
<POTION-POUR ,FOOBLE-VIAL>)>>
|
||||
|
||||
<GLOBAL FOOBLED <>>
|
||||
|
||||
<ROUTINE I-UNFOOBLE ()
|
||||
<SETG FOOBLED <>>
|
||||
<COND (<EQUAL? ,UNDER-INFLUENCE ,FOOBLE-POTION>
|
||||
<SETG UNDER-INFLUENCE <>>)>
|
||||
<TELL CR "Your muscles feel limp for a moment." CR>>
|
||||
|
||||
<ROOM ARMORY
|
||||
(IN ROOMS)
|
||||
(DESC "Armory")
|
||||
(LDESC
|
||||
"Once the armory for the fort, this room has been picked clean by
|
||||
vandals and soldiers of fortune. Exit north or northeast.")
|
||||
(NORTH TO PARADE-GROUND)
|
||||
(NE TO GUN-EMPLACEMENT)
|
||||
(FLAGS RLANDBIT INSIDEBIT)
|
||||
(GLOBAL FORT)>
|
||||
|
||||
<ROOM BARRACKS
|
||||
(IN ROOMS)
|
||||
(DESC "Barracks")
|
||||
(LDESC
|
||||
"This was a barracks for the battalion stationed in this fort. You
|
||||
could leave to the south, or to the southeast.")
|
||||
(SOUTH TO PARADE-GROUND)
|
||||
(SE TO GUN-EMPLACEMENT)
|
||||
(FLAGS RLANDBIT INSIDEBIT)
|
||||
(PSEUDO "BARRAC" BARRACKS-PSEUDO)
|
||||
(GLOBAL FORT)>
|
||||
|
||||
<ROUTINE BARRACKS-PSEUDO ()
|
||||
<SETG PERFORMING-SPELL T>
|
||||
<PERFORM ,PRSA ,GLOBAL-ROOM ,PRSI>
|
||||
<RTRUE>>
|
||||
|
||||
<ROOM GUN-EMPLACEMENT
|
||||
(IN ROOMS)
|
||||
(DESC "Gun Emplacement")
|
||||
(LDESC
|
||||
"This is a battlement with a view of a river to the north and an ocean to
|
||||
the east. Openings northwest, west, and southwest lead to other parts of
|
||||
the fort.")
|
||||
(WEST TO PARADE-GROUND)
|
||||
(NW TO BARRACKS)
|
||||
(SW TO ARMORY)
|
||||
(NORTH PER EMPLACEMENT-EXIT-F)
|
||||
(EAST PER EMPLACEMENT-EXIT-F)
|
||||
(FLAGS ONBIT RLANDBIT)
|
||||
(GLOBAL RIVER OCEAN FORT)>
|
||||
|
||||
<ROUTINE EMPLACEMENT-EXIT-F ()
|
||||
<COND (,FLYING
|
||||
<TELL "The updrafts from the ">
|
||||
<COND (<EQUAL? ,PRSO ,P?NORTH>
|
||||
<TELL "river">)
|
||||
(T
|
||||
<TELL "ocean">)>)
|
||||
(T
|
||||
<TELL "The plunge">)>
|
||||
<TELL " would kill you." CR>
|
||||
<RFALSE>>
|
||||
|
||||
<OBJECT CANNON
|
||||
(IN GUN-EMPLACEMENT)
|
||||
(DESC "cannon")
|
||||
(LDESC
|
||||
"A magnificent cast-iron cannon stands atop the battlement. Its wide,
|
||||
shallow barrel points toward the ocean, as though daring enemy ships
|
||||
to approach.")
|
||||
(SYNONYM CANNON BARREL)
|
||||
(ADJECTIVE MAGNIF CAST-IRON CAST IRON WIDE SHALLO)
|
||||
(FLAGS CONTBIT OPENBIT SEARCHBIT)
|
||||
(CAPACITY 80)
|
||||
(ACTION CANNON-F)>
|
||||
|
||||
<ROUTINE CANNON-F ()
|
||||
<COND (<VERB? SHOOT LAMP-ON>
|
||||
<TELL "This cannon probably hasn't worked for centuries!" CR>)
|
||||
(<VERB? CLOSE>
|
||||
<V-DEFLATE>)
|
||||
(<AND <VERB? REACH-IN SEARCH>
|
||||
<FSET? ,YIPPLES ,INVISIBLE>>
|
||||
<SETG BITTEN T>
|
||||
<ENABLE <QUEUE I-BITE-HEAL 20>>
|
||||
<TELL "Something bites your hand!" CR>)
|
||||
(<AND <VERB? LOOK-INSIDE>
|
||||
<FSET? ,YIPPLES ,INVISIBLE>>
|
||||
<FCLEAR ,YIPPLES ,INVISIBLE>
|
||||
<TELL
|
||||
"Lying at the bottom of the barrel is a pile of identical scrolls!" CR>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL
|
||||
"The barrel is wide enough to hold the hugest of cannonballs, but it
|
||||
isn't very deep." CR>)
|
||||
(<AND <VERB? REACH-IN SEARCH>
|
||||
<IN? ,YIPPLES ,CANNON>>
|
||||
<PERFORM ,V?TAKE ,YIPPLES>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT>
|
||||
<IN? ,YIPPLES ,CANNON>
|
||||
<EQUAL? ,BAT-GUANO ,PRSO>>
|
||||
<MOVE ,YIPPLES ,DIAL>
|
||||
<MOVE ,YONK-SCROLL ,CANNON>
|
||||
<THIS-IS-IT ,YONK-SCROLL>
|
||||
<MOVE ,BAT-GUANO ,CANNON>
|
||||
<TELL
|
||||
"When you drop the guano into the barrel, ">
|
||||
<COND (<FSET? ,YIPPLES ,INVISIBLE>
|
||||
<TELL
|
||||
"dozens of scrolls pour out and literally run off">)
|
||||
(T
|
||||
<TELL
|
||||
"the scrolls sprout feet and spill out of the cannon, dashing away">)>
|
||||
<TELL " in every direction! A single ordinary scroll
|
||||
is left sitting at the bottom of the barrel." CR>
|
||||
<FCLEAR ,YIPPLES ,INVISIBLE>)
|
||||
(<AND <VERB? THROUGH>
|
||||
,FWEEPED>
|
||||
<TELL "Your wingspan is too large." CR>)>>
|
||||
|
||||
<OBJECT YIPPLES
|
||||
(IN CANNON)
|
||||
(DESC "pile of identical scrolls")
|
||||
(SYNONYM PILE SCROLL)
|
||||
(ADJECTIVE IDENTI)
|
||||
(FLAGS INVISIBLE TRYTAKEBIT)
|
||||
(ACTION YIPPLES-F)>
|
||||
|
||||
<ROUTINE YIPPLES-F ()
|
||||
<COND (<VERB? TAKE>
|
||||
<SETG BITTEN T>
|
||||
<ENABLE <QUEUE I-BITE-HEAL 20>>
|
||||
<TELL
|
||||
"As you reach into the cannon, something bites you painfully on the hand!" CR>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL "Every scroll is virtually identical." CR>)>>
|
||||
|
||||
<GLOBAL BITTEN <>>
|
||||
|
||||
<ROUTINE I-BITE-HEAL ()
|
||||
<SETG BITTEN <>>
|
||||
<RFALSE>>
|
||||
|
||||
<OBJECT YONK-SCROLL
|
||||
(IN DIAL)
|
||||
(DESC "ordinary scroll")
|
||||
(SYNONYM SCROLL)
|
||||
(ADJECTIVE SINGLE ORDINA)
|
||||
(FLAGS READBIT SCROLLBIT TAKEBIT CONTBIT TRANSBIT VOWELBIT)
|
||||
(SIZE 3)
|
||||
(ACTION SCROLL-F)>
|
||||
|
||||
<OBJECT YONK-SPELL
|
||||
(IN YONK-SCROLL)
|
||||
(SYNONYM SPELLS SPELL)
|
||||
(ADJECTIVE YONK)
|
||||
(DESC "yonk spell")
|
||||
(TEXT "augment the power of certain spells")
|
||||
(COUNT 0)
|
||||
(SIZE 1)
|
||||
(FLAGS NDESCBIT SPELLBIT)
|
||||
(ACTION SPELL-F)>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,847 @@
|
|||
"MAZE for
|
||||
SORCERER
|
||||
(c) Copyright 1984 by Infocom Inc. All Rights Reserved."
|
||||
|
||||
<OBJECT MAZE
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "glass maze")
|
||||
(SYNONYM MAZE LABYRI)
|
||||
(ADJECTIVE GLASS)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION MAZE-F)>
|
||||
|
||||
<ROUTINE MAZE-F ()
|
||||
<COND (<VERB? THROUGH>
|
||||
<COND (<EQUAL? ,HERE ,OUTSIDE-GLASS-DOOR>
|
||||
<DO-WALK ,P?EAST>)
|
||||
(<EQUAL? ,HERE ,HOLLOW>
|
||||
<DO-WALK ,P?WEST>)
|
||||
(T
|
||||
<LOOK-AROUND-YOU>)>)
|
||||
(<VERB? DROP EXIT>
|
||||
<COND (<EQUAL? ,HERE ,GLASS-MAZE>
|
||||
<DO-WALK ,P?OUT>)
|
||||
(T
|
||||
<LOOK-AROUND-YOU>)>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE>
|
||||
<TELL
|
||||
"You see nothing but reflected light in all directions." CR>)
|
||||
(<VERB? RESEARCH>
|
||||
<TELL
|
||||
"According to the article, Duncanthrax built the Glass Maze on a whim,
|
||||
to amuse his friends and torture his enemies. A labyrinth of 27 cubicles, it
|
||||
was full of devilish pitfalls and was located near his castle, Egreth." CR>)>>
|
||||
|
||||
<ROOM END-OF-HIGHWAY
|
||||
(IN ROOMS)
|
||||
(SYNONYM GALEPA MAREIL CITY)
|
||||
(ADJECTIVE ANCIEN)
|
||||
(DESC "End of Highway")
|
||||
(LDESC
|
||||
"The underground road ends here. A hovel, carved into the rock, lies to the
|
||||
east. To the north, wide marble stairs lead upward.")
|
||||
(EAST TO STONE-HUT)
|
||||
(WEST TO OUTSIDE-STORE)
|
||||
(UP TO ENTRANCE-HALL)
|
||||
(NORTH TO ENTRANCE-HALL)
|
||||
(IN TO STONE-HUT)
|
||||
(FLAGS RLANDBIT INSIDEBIT)
|
||||
(GLOBAL ROAD HOVEL STAIRS)>
|
||||
|
||||
<OBJECT HOVEL
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "stone hovel")
|
||||
(SYNONYM HUT HOVEL)
|
||||
(ADJECTIVE UNDERG STONE)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION HOVEL-F)>
|
||||
|
||||
<ROUTINE HOVEL-F ()
|
||||
<COND (<VERB? THROUGH>
|
||||
<COND (<EQUAL? ,HERE ,END-OF-HIGHWAY>
|
||||
<DO-WALK ,P?EAST>)
|
||||
(T
|
||||
<LOOK-AROUND-YOU>)>)
|
||||
(<VERB? DROP EXIT>
|
||||
<COND (<EQUAL? ,HERE ,STONE-HUT>
|
||||
<DO-WALK ,P?WEST>)
|
||||
(T
|
||||
<LOOK-AROUND-YOU>)>)
|
||||
(<VERB? LOOK-INSIDE>
|
||||
<COND (<EQUAL? ,HERE ,STONE-HUT>
|
||||
<LOOK-AROUND-YOU>)
|
||||
(T
|
||||
<MAKE-OUT>)>)>>
|
||||
|
||||
|
||||
<ROOM STONE-HUT
|
||||
(IN ROOMS)
|
||||
(SYNONYM QUENDO KINGDO)
|
||||
(DESC "Stone Hut")
|
||||
(LDESC
|
||||
"This is a small underground hovel. On the far wall is a small
|
||||
fireplace, long unused.")
|
||||
(OUT TO END-OF-HIGHWAY)
|
||||
(WEST TO END-OF-HIGHWAY)
|
||||
(UP PER CHIMNEY-EXIT-F)
|
||||
(FLAGS RLANDBIT INSIDEBIT)
|
||||
(GLOBAL CHIMNEY HOVEL)>
|
||||
|
||||
<ROUTINE CHIMNEY-EXIT-F ()
|
||||
<COND (,FWEEPED
|
||||
<TELL "Too narrow even for bats." CR>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<TELL
|
||||
"Where did you get the bizarre notion that you might fit up a chimney?" CR>
|
||||
<RFALSE>)>>
|
||||
|
||||
<OBJECT FIREPLACE
|
||||
(IN STONE-HUT)
|
||||
(DESC "fireplace")
|
||||
(SYNONYM FIREPL)
|
||||
(ADJECTIVE SMALL UNUSED)
|
||||
(FLAGS NDESCBIT CONTBIT OPENBIT SEARCHBIT)
|
||||
(CAPACITY 50)
|
||||
(ACTION FIREPLACE-F)>
|
||||
|
||||
<ROUTINE FIREPLACE-F ()
|
||||
<COND (<VERB? OPEN CLOSE>
|
||||
<V-DEFLATE>)>>
|
||||
|
||||
<ROOM ENTRANCE-HALL
|
||||
(IN ROOMS)
|
||||
(SYNONYM EMPIRE GUE)
|
||||
(ADJECTIVE GREAT UNDERG)
|
||||
(DESC "Entrance Hall")
|
||||
(LDESC
|
||||
"This is a large entrance hall, paved with polished stone. Large doorways
|
||||
lead north and south.")
|
||||
(NORTH TO OUTSIDE-GLASS-DOOR)
|
||||
(SOUTH TO END-OF-HIGHWAY)
|
||||
(FLAGS INSIDEBIT RLANDBIT)
|
||||
(GLOBAL ARCHWAY)>
|
||||
|
||||
<OBJECT STATUE
|
||||
(IN ENTRANCE-HALL)
|
||||
(DESC "statue")
|
||||
(FDESC
|
||||
"Standing in the center of the hall is a life-sized statue. An inscription
|
||||
at the base is in a familiar language.")
|
||||
(LDESC
|
||||
"There is a marble statue here, in a strikingly life-like pose of
|
||||
pompous bellicosity.")
|
||||
(SYNONYM STATUE INSCRI)
|
||||
(ADJECTIVE LIFE- SIZED MARBLE)
|
||||
(FLAGS READBIT)
|
||||
(TEXT
|
||||
"\"I, Duncanthrax, King of Quendor and all its subjugated outlands, invite
|
||||
you to sample the delights of my Glass Labyrinth.\"")
|
||||
(ACTION STATUE-F)>
|
||||
|
||||
<ROUTINE STATUE-F ()
|
||||
<COND (<VERB? MALYON>
|
||||
<TELL
|
||||
"The statue transforms into a living figure, probably a King if the royal
|
||||
attire is any clue. The King seems angry, and quickly settles his wrathful
|
||||
gaze on you. He bellows \"Guards! Throw this trespasser into the glass
|
||||
maze! Guards! ... GUARDS!!!\" When the guards fail to respond, the King
|
||||
becomes livid, his voice rises to an incoherent squeak, and flecks of foam
|
||||
spit from the corners of his mouth. Finally, eyes bulging with rage, he
|
||||
storms out of the room." CR>
|
||||
<FSET ,STATUE ,TOUCHBIT>
|
||||
<SETG STATUE-FOLLOW T>
|
||||
<ENABLE <QUEUE I-STATUE-UNFOLLOW 1>>
|
||||
<COND (<EQUAL? ,HERE ,ENTRANCE-HALL ,OUTSIDE-STORE>
|
||||
<COND (<PROB 50>
|
||||
<MOVE ,STATUE ,HIGHWAY>)
|
||||
(T
|
||||
<MOVE ,STATUE ,BEND>)>)
|
||||
(T
|
||||
<COND (<PROB 50>
|
||||
<MOVE ,STATUE ,ENTRANCE-HALL>)
|
||||
(T
|
||||
<MOVE ,STATUE ,OUTSIDE-STORE>)>)>)
|
||||
(<AND <VERB? FOLLOW>
|
||||
,STATUE-FOLLOW>
|
||||
<TELL "The King moved too quickly to follow." CR>)>>
|
||||
|
||||
<GLOBAL STATUE-FOLLOW <>>
|
||||
|
||||
<ROUTINE I-STATUE-UNFOLLOW ()
|
||||
<SETG STATUE-FOLLOW <>>
|
||||
<RFALSE>>
|
||||
|
||||
<ROOM OUTSIDE-GLASS-DOOR
|
||||
(IN ROOMS)
|
||||
(SYNONYM TECH)
|
||||
(ADJECTIVE GUE)
|
||||
(DESC "Outside Glass Arch")
|
||||
(LDESC
|
||||
"Through a breathtaking archway of glass to the east is an
|
||||
area glistening with reflected light. Another exit leads south.")
|
||||
(EAST TO GLASS-MAZE)
|
||||
(SOUTH TO ENTRANCE-HALL)
|
||||
(FLAGS RLANDBIT INSIDEBIT)
|
||||
(GLOBAL MAZE ARCHWAY)>
|
||||
|
||||
<ROUTINE NO-FLOOR? ()
|
||||
<COND (<AND ,MAZE-CROSSED
|
||||
<EQUAL? <GET ,POST-DOWN-EXITS ,ROOM-NUMBER> 0>>
|
||||
<RFALSE>)
|
||||
(<AND <NOT ,MAZE-CROSSED>
|
||||
<EQUAL? <GET ,PRE-DOWN-EXITS ,ROOM-NUMBER> 0>>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROOM GLASS-MAZE
|
||||
(IN ROOMS)
|
||||
(DESC "Inside the Glass Maze")
|
||||
(UP PER MAZE-EXIT-F)
|
||||
(DOWN PER MAZE-EXIT-F)
|
||||
(NORTH PER MAZE-EXIT-F)
|
||||
(SOUTH PER MAZE-EXIT-F)
|
||||
(WEST PER MAZE-EXIT-F)
|
||||
(EAST PER MAZE-EXIT-F)
|
||||
(OUT "Please use compass directions here.")
|
||||
(FLAGS INSIDEBIT RLANDBIT ONBIT)
|
||||
(GLOBAL MAZE)
|
||||
(ACTION GLASS-MAZE-F)>
|
||||
|
||||
<ROUTINE GLASS-MAZE-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<TABLE-TO-MAZE ,ROOM-NUMBER>
|
||||
<FCLEAR ,GLASS-MAZE ,TOUCHBIT>
|
||||
<PUT ,VEZZAS 5 0>)
|
||||
(<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL
|
||||
"You are inside a huge cubical maze, shimmering with light from an unseen
|
||||
source above.">
|
||||
<COND (<NOT ,FWEEPED>
|
||||
<TELL
|
||||
" It is impossible to tell if the walls and ceilings around you are
|
||||
glass surfaces or openings.">)>
|
||||
<COND (<AND <NOT ,FLYING>
|
||||
<NO-FLOOR?>
|
||||
<EQUAL? ,ROOM-NUMBER 13>>
|
||||
<TELL " ">
|
||||
<PLUMMET>
|
||||
<RTRUE>)>
|
||||
<COND (<AND <NOT ,FLYING>
|
||||
<NOT <NO-FLOOR?>>>
|
||||
<TELL
|
||||
" Since you are standing on something, the floor must be solid, but it is
|
||||
virtually invisible and you feel as though you were walking on air.">)>
|
||||
<COND (,FWEEPED
|
||||
<RADAR-VIEW>)>
|
||||
<CRLF>)>>
|
||||
|
||||
<ROUTINE RADAR-VIEW ("AUX" X COUNT LUP LDOWN NORTH SOUTH EAST WEST)
|
||||
<SET X <>>
|
||||
<SET LUP <>>
|
||||
<SET LDOWN <>>
|
||||
<SET NORTH <>>
|
||||
<SET SOUTH <>>
|
||||
<SET EAST <>>
|
||||
<SET WEST <>>
|
||||
<SET COUNT 0> ;"number of surfaces"
|
||||
<TELL
|
||||
" Thanks to your sonar-like bat senses, you can tell that there are surfaces ">
|
||||
<COND (<OR <AND ,MAZE-CROSSED
|
||||
<EQUAL? <GET ,POST-UP-EXITS ,ROOM-NUMBER> 0>>
|
||||
<AND <NOT ,MAZE-CROSSED>
|
||||
<EQUAL? <GET ,PRE-UP-EXITS ,ROOM-NUMBER> 0>>>
|
||||
<SET LUP T>
|
||||
<SET COUNT <+ .COUNT 1>>)>
|
||||
<COND (<OR <AND ,MAZE-CROSSED
|
||||
<EQUAL? <GET ,POST-DOWN-EXITS ,ROOM-NUMBER> 0>>
|
||||
<AND <NOT ,MAZE-CROSSED>
|
||||
<EQUAL? <GET ,PRE-DOWN-EXITS ,ROOM-NUMBER> 0>>>
|
||||
<SET LDOWN T>
|
||||
<SET COUNT <+ .COUNT 1>>)>
|
||||
<COND (<OR <AND ,MAZE-CROSSED
|
||||
<EQUAL? <GET ,POST-NORTH-EXITS ,ROOM-NUMBER> 0>>
|
||||
<AND <NOT ,MAZE-CROSSED>
|
||||
<EQUAL? <GET ,PRE-NORTH-EXITS ,ROOM-NUMBER> 0>>>
|
||||
<SET NORTH T>
|
||||
<SET COUNT <+ .COUNT 1>>)>
|
||||
<COND (<OR <AND ,MAZE-CROSSED
|
||||
<EQUAL? <GET ,POST-SOUTH-EXITS ,ROOM-NUMBER> 0>>
|
||||
<AND <NOT ,MAZE-CROSSED>
|
||||
<EQUAL? <GET ,PRE-SOUTH-EXITS ,ROOM-NUMBER> 0>>>
|
||||
<SET SOUTH T>
|
||||
<SET COUNT <+ .COUNT 1>>)>
|
||||
<COND (<OR <AND ,MAZE-CROSSED
|
||||
<EQUAL? <GET ,POST-EAST-EXITS ,ROOM-NUMBER> 0>>
|
||||
<AND <NOT ,MAZE-CROSSED>
|
||||
<EQUAL? <GET ,PRE-EAST-EXITS ,ROOM-NUMBER> 0>>>
|
||||
<SET EAST T>
|
||||
<SET COUNT <+ .COUNT 1>>)>
|
||||
<COND (<OR <AND ,MAZE-CROSSED
|
||||
<EQUAL? <GET ,POST-WEST-EXITS ,ROOM-NUMBER> 0>>
|
||||
<AND <NOT ,MAZE-CROSSED>
|
||||
<EQUAL? <GET ,PRE-WEST-EXITS ,ROOM-NUMBER> 0>>>
|
||||
<SET WEST T>
|
||||
<SET COUNT <+ .COUNT 1>>)>
|
||||
<COND (.LUP
|
||||
<COND (<EQUAL? .COUNT 1>
|
||||
<TELL " and ">)
|
||||
(.X
|
||||
<TELL ", ">)>
|
||||
<SET X T>
|
||||
<SET COUNT <- .COUNT 1>>
|
||||
<TELL "above you">)>
|
||||
<COND (.LDOWN
|
||||
<COND (<EQUAL? .COUNT 1>
|
||||
<TELL " and ">)
|
||||
(.X
|
||||
<TELL ", ">)>
|
||||
<SET X T>
|
||||
<SET COUNT <- .COUNT 1>>
|
||||
<TELL "below you">)>
|
||||
<COND (.NORTH
|
||||
<COND (<EQUAL? .COUNT 1>
|
||||
<TELL " and ">)
|
||||
(.X
|
||||
<TELL ", ">)>
|
||||
<SET X T>
|
||||
<SET COUNT <- .COUNT 1>>
|
||||
<TELL "to the north">)>
|
||||
<COND (.SOUTH
|
||||
<COND (<EQUAL? .COUNT 1>
|
||||
<TELL " and ">)
|
||||
(.X
|
||||
<TELL ", ">)>
|
||||
<SET X T>
|
||||
<SET COUNT <- .COUNT 1>>
|
||||
<TELL "to the south">)>
|
||||
<COND (.EAST
|
||||
<COND (<EQUAL? .COUNT 1>
|
||||
<TELL " and ">)
|
||||
(.X
|
||||
<TELL ", ">)>
|
||||
<SET X T>
|
||||
<SET COUNT <- .COUNT 1>>
|
||||
<TELL "to the east">)>
|
||||
<COND (.WEST
|
||||
<COND (<EQUAL? .COUNT 1>
|
||||
<TELL " and ">)
|
||||
(.X
|
||||
<TELL ", ">)>
|
||||
<SET X T>
|
||||
<SET COUNT <- .COUNT 1>>
|
||||
<TELL "to the west">)>
|
||||
<TELL ".">>
|
||||
|
||||
<ROUTINE MAZE-EXIT-F ()
|
||||
<COND (,MAZE-CROSSED
|
||||
;"post-maze-exit-function"
|
||||
<MAZE-TO-TABLE ,ROOM-NUMBER>
|
||||
<COND (<EQUAL? ,PRSO ,P?UP>
|
||||
<COND (<NOT ,FLYING>
|
||||
<CANT-JUMP>
|
||||
<TABLE-TO-MAZE ,ROOM-NUMBER>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<COND (<EQUAL? <GET ,POST-UP-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER
|
||||
<GET ,POST-UP-EXITS ,ROOM-NUMBER>>)>)>)
|
||||
(<EQUAL? ,PRSO ,P?DOWN>
|
||||
<COND (<NOT ,FLYING>
|
||||
<SOLID-FLOOR>
|
||||
<TABLE-TO-MAZE ,ROOM-NUMBER>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<COND (<EQUAL? <GET ,POST-DOWN-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER
|
||||
<GET ,POST-DOWN-EXITS ,ROOM-NUMBER>>)>)>)
|
||||
(<EQUAL? ,PRSO ,P?NORTH>
|
||||
<COND (<EQUAL? <GET ,POST-NORTH-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER <GET ,POST-NORTH-EXITS ,ROOM-NUMBER>>)>)
|
||||
(<EQUAL? ,PRSO ,P?SOUTH>
|
||||
<COND (<EQUAL? <GET ,POST-SOUTH-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER <GET ,POST-SOUTH-EXITS ,ROOM-NUMBER>>)>)
|
||||
(<EQUAL? ,PRSO ,P?EAST>
|
||||
<COND (<EQUAL? <GET ,POST-EAST-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER <GET ,POST-EAST-EXITS ,ROOM-NUMBER>>
|
||||
<COND (<EQUAL? ,ROOM-NUMBER 30>
|
||||
<SETG ROOM-NUMBER 24>
|
||||
<RETURN ,HOLLOW>)>)>)
|
||||
(<EQUAL? ,PRSO ,P?WEST>
|
||||
<COND (<EQUAL? <GET ,POST-WEST-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER <GET ,POST-WEST-EXITS ,ROOM-NUMBER>>
|
||||
<COND (<EQUAL? ,ROOM-NUMBER 40>
|
||||
<SETG ROOM-NUMBER 13>
|
||||
<RETURN ,OUTSIDE-GLASS-DOOR>)>)>)>
|
||||
<TABLE-TO-MAZE ,ROOM-NUMBER>
|
||||
<V-LOOK>
|
||||
<PLUMMET>
|
||||
<RFALSE>)
|
||||
(T
|
||||
;"pre-maze-exit-funtion"
|
||||
<MAZE-TO-TABLE ,ROOM-NUMBER>
|
||||
<COND (<EQUAL? ,PRSO ,P?UP>
|
||||
<COND (<NOT ,FLYING>
|
||||
<CANT-JUMP>
|
||||
<TABLE-TO-MAZE ,ROOM-NUMBER>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<COND (<EQUAL? <GET ,PRE-UP-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER
|
||||
<GET ,PRE-UP-EXITS ,ROOM-NUMBER>>)>)>)
|
||||
(<EQUAL? ,PRSO ,P?DOWN>
|
||||
<COND (<NOT ,FLYING>
|
||||
<SOLID-FLOOR>
|
||||
<TABLE-TO-MAZE ,ROOM-NUMBER>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<COND (<EQUAL? <GET ,PRE-DOWN-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER
|
||||
<GET ,PRE-DOWN-EXITS ,ROOM-NUMBER>>)>)>)
|
||||
(<EQUAL? ,PRSO ,P?NORTH>
|
||||
<COND (<EQUAL? <GET ,PRE-NORTH-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER <GET ,PRE-NORTH-EXITS ,ROOM-NUMBER>>)>)
|
||||
(<EQUAL? ,PRSO ,P?SOUTH>
|
||||
<COND (<EQUAL? <GET ,PRE-SOUTH-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER <GET ,PRE-SOUTH-EXITS ,ROOM-NUMBER>>)>)
|
||||
(<EQUAL? ,PRSO ,P?EAST>
|
||||
<COND (<EQUAL? <GET ,PRE-EAST-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER <GET ,PRE-EAST-EXITS ,ROOM-NUMBER>>
|
||||
<COND (<EQUAL? ,ROOM-NUMBER 30>
|
||||
<SETG SCORE <+ ,SCORE ,HOLLOW-POINT>>
|
||||
<SETG HOLLOW-POINT 0>
|
||||
<SETG ROOM-NUMBER 24>
|
||||
<RETURN ,HOLLOW>)>)>)
|
||||
(<EQUAL? ,PRSO ,P?WEST>
|
||||
<COND (<EQUAL? <GET ,PRE-WEST-EXITS ,ROOM-NUMBER> 0>
|
||||
<HIT-WALL>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG ROOM-NUMBER <GET ,PRE-WEST-EXITS ,ROOM-NUMBER>>
|
||||
<COND (<EQUAL? ,ROOM-NUMBER 40>
|
||||
<SETG ROOM-NUMBER 13>
|
||||
<RETURN ,OUTSIDE-GLASS-DOOR>)>)>)>
|
||||
<TABLE-TO-MAZE ,ROOM-NUMBER>
|
||||
<V-LOOK>
|
||||
<PLUMMET>
|
||||
<RFALSE>)>>
|
||||
|
||||
<GLOBAL MAZE-CROSSED <>>
|
||||
|
||||
<GLOBAL ROOM-NUMBER 13> ;"you enter maze at room number thirteen"
|
||||
|
||||
<ROUTINE HIT-WALL ()
|
||||
<TELL "BONK! You ">
|
||||
<COND (,FLYING
|
||||
<TELL "fly">)
|
||||
(T
|
||||
<TELL "walk">)>
|
||||
<TELL
|
||||
" right into an almost invisible wall of glass -- a stunning blow!" CR>>
|
||||
|
||||
<ROUTINE CANT-JUMP ()
|
||||
<TELL "You can't possibly jump that high." CR>>
|
||||
|
||||
<ROUTINE SOLID-FLOOR ()
|
||||
<TELL "Fortunately, the floor is solid." CR>>
|
||||
|
||||
<ROUTINE PLUMMET ()
|
||||
<COND (<AND <NOT ,FLYING>
|
||||
<NO-FLOOR?>>
|
||||
<JIGS-UP
|
||||
"Unfortunately, this section of the glass maze has no floor.">
|
||||
<RFALSE>)>>
|
||||
|
||||
<GLOBAL PRE-UP-EXITS
|
||||
<PTABLE 0
|
||||
10 0 12 0 0 0 16 0 0
|
||||
0 20 21 0 0 0 0 26 0
|
||||
0 0 0 0 0 0 0 0 0>>
|
||||
|
||||
<GLOBAL PRE-DOWN-EXITS
|
||||
<PTABLE 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
1 0 3 0 0 0 7 0 0
|
||||
0 11 12 0 0 0 0 17 0>>
|
||||
|
||||
<GLOBAL PRE-NORTH-EXITS
|
||||
<PTABLE 0
|
||||
0 0 0 1 2 3 0 0 6
|
||||
0 0 0 10 11 0 0 14 15
|
||||
0 0 0 0 0 21 22 0 0>>
|
||||
|
||||
<GLOBAL PRE-SOUTH-EXITS
|
||||
<PTABLE 0
|
||||
4 5 6 0 0 9 0 0 0
|
||||
13 14 0 0 17 18 0 0 0
|
||||
0 0 24 25 0 0 0 0 0>>
|
||||
|
||||
<GLOBAL PRE-EAST-EXITS
|
||||
<PTABLE 0
|
||||
0 0 0 5 0 0 8 9 0
|
||||
11 0 0 0 0 0 17 18 0
|
||||
20 0 0 23 0 30 26 27 0>>
|
||||
|
||||
<GLOBAL PRE-WEST-EXITS
|
||||
<PTABLE 0
|
||||
0 0 0 0 4 0 0 7 8
|
||||
0 10 0 40 0 0 0 16 17
|
||||
0 19 0 0 22 0 0 25 26>>
|
||||
|
||||
<GLOBAL POST-UP-EXITS
|
||||
<PTABLE 0
|
||||
0 0 12 13 0 0 16 0 18
|
||||
19 20 0 0 0 0 25 0 27
|
||||
0 0 0 0 0 0 0 0 0>>
|
||||
|
||||
<GLOBAL POST-DOWN-EXITS
|
||||
<PTABLE 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 3 4 0 0 7 0 9
|
||||
10 11 0 0 0 0 16 0 18>>
|
||||
|
||||
<GLOBAL POST-NORTH-EXITS
|
||||
<PTABLE 0
|
||||
0 0 0 1 2 3 0 0 0
|
||||
0 0 0 0 11 12 0 0 0
|
||||
0 0 0 19 0 0 22 23 0>>
|
||||
|
||||
<GLOBAL POST-SOUTH-EXITS
|
||||
<PTABLE 0
|
||||
4 5 6 0 0 0 0 0 0
|
||||
0 14 15 0 0 0 0 0 0
|
||||
22 0 0 25 26 0 0 0 0>>
|
||||
|
||||
<GLOBAL POST-EAST-EXITS
|
||||
<PTABLE 0
|
||||
0 3 0 5 0 0 8 9 0
|
||||
11 0 0 0 15 0 0 18 0
|
||||
0 21 0 0 24 30 0 27 0>>
|
||||
|
||||
<GLOBAL POST-WEST-EXITS
|
||||
<PTABLE 0
|
||||
0 0 2 0 4 0 0 7 8
|
||||
0 10 0 40 0 14 0 0 17
|
||||
0 0 20 0 0 23 0 0 26>>
|
||||
|
||||
<ROUTINE MAZE-TO-TABLE (LOC "AUX" (CNT 0) (F <FIRST? ,GLASS-MAZE>) N)
|
||||
<REPEAT ()
|
||||
<COND (.F
|
||||
<SET N <NEXT? .F>>)
|
||||
(T
|
||||
<RETURN>)>
|
||||
<COND (<EQUAL? .F ,WINNER>
|
||||
T)
|
||||
(<OR <FSET? .F ,TAKEBIT>
|
||||
<EQUAL? .F ,DORN-BEAST-CORPSE>>
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? <GET ,MAZE-TABLE .CNT> 0>
|
||||
<PUT ,MAZE-TABLE .CNT .LOC>
|
||||
<PUT ,MAZE-TABLE <+ .CNT 1> .F>
|
||||
<SET CNT <+ .CNT 2>>
|
||||
<MOVE .F ,DIAL>
|
||||
<RETURN>)
|
||||
(T
|
||||
<SET CNT <+ .CNT 2>>)>>)>
|
||||
<SET F .N>>>
|
||||
|
||||
<ROUTINE TABLE-TO-MAZE (LOC "AUX" (TABLE ,MAZE-TABLE) (CNT 0))
|
||||
<REPEAT ()
|
||||
<COND (<NOT <L? .CNT ,MAZE-TABLE-LENGTH>>
|
||||
<RETURN>)
|
||||
(<EQUAL? <GET ,MAZE-TABLE .CNT> .LOC>
|
||||
<PUT ,MAZE-TABLE .CNT 0>
|
||||
<MOVE <GET ,MAZE-TABLE <+ .CNT 1>> ,GLASS-MAZE>)>
|
||||
<SET CNT <+ .CNT 2>>>>
|
||||
|
||||
<ROUTINE DROP-IN-MAZE ("AUX" (CNT 0) (NEW-ROOM 0))
|
||||
<COND (,MAZE-CROSSED
|
||||
<COND (<EQUAL? ,ROOM-NUMBER 12>
|
||||
<SET NEW-ROOM 3>)
|
||||
(<EQUAL? ,ROOM-NUMBER 13>
|
||||
<SET NEW-ROOM 4>)
|
||||
(<EQUAL? ,ROOM-NUMBER 16>
|
||||
<SET NEW-ROOM 7>)
|
||||
(<EQUAL? ,ROOM-NUMBER 18>
|
||||
<SET NEW-ROOM 9>)
|
||||
(<EQUAL? ,ROOM-NUMBER 19>
|
||||
<SET NEW-ROOM 10>)
|
||||
(<EQUAL? ,ROOM-NUMBER 20>
|
||||
<SET NEW-ROOM 11>)
|
||||
(<EQUAL? ,ROOM-NUMBER 25>
|
||||
<SET NEW-ROOM 7>)
|
||||
(<EQUAL? ,ROOM-NUMBER 27>
|
||||
<SET NEW-ROOM 9>)>)
|
||||
(T
|
||||
<COND (<EQUAL? ,ROOM-NUMBER 10>
|
||||
<SET NEW-ROOM 1>)
|
||||
(<EQUAL? ,ROOM-NUMBER 12>
|
||||
<SET NEW-ROOM 3>)
|
||||
(<EQUAL? ,ROOM-NUMBER 16>
|
||||
<SET NEW-ROOM 7>)
|
||||
(<EQUAL? ,ROOM-NUMBER 20>
|
||||
<SET NEW-ROOM 11>)
|
||||
(<EQUAL? ,ROOM-NUMBER 21>
|
||||
<SET NEW-ROOM 3>)
|
||||
(<EQUAL? ,ROOM-NUMBER 26>
|
||||
<SET NEW-ROOM 17>)>)>
|
||||
<COND (<EQUAL? .NEW-ROOM 0>
|
||||
<TELL "Bug #14" CR>
|
||||
<RTRUE>)>
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? <GET ,MAZE-TABLE .CNT> 0>
|
||||
<PUT ,MAZE-TABLE .CNT .NEW-ROOM>
|
||||
<PUT ,MAZE-TABLE <+ .CNT 1> ,PRSO>
|
||||
<SET CNT <+ .CNT 2>>
|
||||
<RETURN>)
|
||||
(T
|
||||
<SET CNT <+ .CNT 2>>)>>>
|
||||
|
||||
<ROUTINE REARRANGE-MAZE-TABLE ("AUX" (CNT 0))
|
||||
<REPEAT ()
|
||||
<COND (<NOT <L? .CNT ,MAZE-TABLE-LENGTH>>
|
||||
<RETURN>)
|
||||
(<EQUAL? <GET ,MAZE-TABLE .CNT> 12>
|
||||
<PUT ,MAZE-TABLE .CNT 3>)
|
||||
(<EQUAL? <GET ,MAZE-TABLE .CNT> 13>
|
||||
<PUT ,MAZE-TABLE .CNT 4>)
|
||||
(<EQUAL? <GET ,MAZE-TABLE .CNT> 16>
|
||||
<PUT ,MAZE-TABLE .CNT 7>)
|
||||
(<EQUAL? <GET ,MAZE-TABLE .CNT> 18>
|
||||
<PUT ,MAZE-TABLE .CNT 9>)
|
||||
(<EQUAL? <GET ,MAZE-TABLE .CNT> 19>
|
||||
<PUT ,MAZE-TABLE .CNT 10>)
|
||||
(<EQUAL? <GET ,MAZE-TABLE .CNT> 20>
|
||||
<PUT ,MAZE-TABLE .CNT 11>)
|
||||
(<EQUAL? <GET ,MAZE-TABLE .CNT> 25>
|
||||
<PUT ,MAZE-TABLE .CNT 7>)
|
||||
(<EQUAL? <GET ,MAZE-TABLE .CNT> 27>
|
||||
<PUT ,MAZE-TABLE .CNT 9>)>
|
||||
<SET CNT <+ .CNT 2>>>>
|
||||
|
||||
<CONSTANT MAZE-TABLE-LENGTH 40>
|
||||
|
||||
<GLOBAL MAZE-TABLE ;"length should be 2*number of takeable objects"
|
||||
<TABLE 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0>>
|
||||
|
||||
<GLOBAL HOLLOW-POINT 20>
|
||||
|
||||
<ROOM HOLLOW
|
||||
(IN ROOMS)
|
||||
(SYNONYM ANTHAR)
|
||||
(DESC "Hollow")
|
||||
(LDESC
|
||||
"The maze opens here onto a tiny outdoor plateau, completely surrounded
|
||||
by towering cliffs. The only way out is back through the dazzling archway
|
||||
of glass to the west.|
|
||||
Near the glass arch is a small rectangular brick structure. The center of
|
||||
the structure is a hole about a foot wide, leading down into darkness.")
|
||||
(WEST TO GLASS-MAZE)
|
||||
(UP "You couldn't even fly over these cliffs.")
|
||||
(DOWN "The opening in the brick structure is too small for
|
||||
humans or even bats.")
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(PSEUDO "CLIFF" CLIFF-PSEUDO "CLIFFS" CLIFF-PSEUDO)
|
||||
(GLOBAL CHIMNEY HOLE SOOT MAZE ARCHWAY)
|
||||
(ACTION HOLLOW-F)>
|
||||
|
||||
<ROUTINE HOLLOW-F (RARG)
|
||||
<COND (<AND <EQUAL? .RARG ,M-END>
|
||||
<HELD? ,SPELL-BOOK>>
|
||||
<MOVE ,SPELL-BOOK ,DIAL>
|
||||
<TELL
|
||||
"\"Caw! Caw!\" A giant bird of prey with a fondness for gnusto-receptive
|
||||
paper swoops down and flies off with your spell book." CR>)>>
|
||||
|
||||
<OBJECT CHIMNEY
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "chimney")
|
||||
(SYNONYM CHIMNE)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION CHIMNEY-F)>
|
||||
|
||||
<ROUTINE CHIMNEY-F ()
|
||||
<COND (<EQUAL? ,HERE ,HOLLOW>
|
||||
<COND (<EQUAL? ,PRSO ,CHIMNEY>
|
||||
<SETG PERFORMING-SPELL T>
|
||||
<PERFORM ,PRSA ,BRICK-STRUCTURE ,PRSI>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<SETG PERFORMING-SPELL T>
|
||||
<PERFORM ,PRSA ,PRSO ,BRICK-STRUCTURE>
|
||||
<RTRUE>)>)>>
|
||||
|
||||
<OBJECT BRICK-STRUCTURE
|
||||
(IN HOLLOW)
|
||||
(DESC "brick structure")
|
||||
(SYNONYM STRUCT BRICKS SHAFT OPENIN)
|
||||
(ADJECTIVE BRICK RECTAN SMALL)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION BRICK-STRUCTURE-F)>
|
||||
|
||||
<ROUTINE BRICK-STRUCTURE-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"The structure is about two feet on each side, and extends up from the
|
||||
ground about three feet. Except for a large quantity of soot around the
|
||||
opening, it looks a lot like a small, rectangular well." CR>)
|
||||
(<VERB? LOOK-INSIDE>
|
||||
<TELL
|
||||
"The opening is dark and you can only see a few feet into it." CR>)
|
||||
(<VERB? ENTER CLIMB-DOWN>
|
||||
<DO-WALK ,P?DOWN>)
|
||||
(<AND <VERB? PUT>
|
||||
<EQUAL? ,PRSI ,BRICK-STRUCTURE>>
|
||||
<MOVE ,PRSO ,FIREPLACE>
|
||||
<COND (<EQUAL? ,PRSO ,SWANZO-SCROLL>
|
||||
<ENABLE <QUEUE I-DORN-BEAST 2>>)>
|
||||
<TELL
|
||||
"The " D ,PRSO " disappears into the shaft." CR>)
|
||||
(<VERB? REACH-IN>
|
||||
<TELL "The shaft extends beyond your reach." CR>)
|
||||
(<VERB? THROUGH>
|
||||
<DO-WALK ,P?DOWN>)>>
|
||||
|
||||
<OBJECT SOOT
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "soot")
|
||||
(SYNONYM SOOT QUANTI)
|
||||
(ADJECTIVE LARGE BLACK)
|
||||
(FLAGS NDESCBIT NARTICLEBIT)>
|
||||
|
||||
<OBJECT SWANZO-SCROLL
|
||||
(IN HOLLOW)
|
||||
(DESC "parchment scroll")
|
||||
(SYNONYM SCROLL)
|
||||
(ADJECTIVE PARCHM)
|
||||
(SIZE 3)
|
||||
(FLAGS TAKEBIT TRYTAKEBIT TRANSBIT CONTBIT READBIT SCROLLBIT)
|
||||
(ACTION SCROLL-F)>
|
||||
|
||||
<OBJECT SWANZO-SPELL
|
||||
(IN SWANZO-SCROLL)
|
||||
(SYNONYM SPELLS SPELL)
|
||||
(ADJECTIVE SWANZO)
|
||||
(DESC "swanzo spell")
|
||||
(TEXT "exorcise an inhabiting presence")
|
||||
(SIZE 1)
|
||||
(COUNT 0)
|
||||
(FLAGS NDESCBIT SPELLBIT VOWELBIT)
|
||||
(ACTION SPELL-F)>
|
||||
|
||||
<OBJECT DORN-BEAST
|
||||
(IN DIAL)
|
||||
(DESC "ferocious dorn beast")
|
||||
(SYNONYM DORNBE DORN BEAST DORNS)
|
||||
(ADJECTIVE FEROCI DORN)
|
||||
(ACTION DORN-BEAST-F)>
|
||||
|
||||
<ROUTINE DORN-BEAST-F ()
|
||||
<COND (<VERB? RESEARCH>
|
||||
<PERFORM ,V?RESEARCH ,LOBBY>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT DORN-BEAST-CORPSE
|
||||
(IN DIAL)
|
||||
(DESC "splattered body")
|
||||
(LDESC
|
||||
"A somewhat splattered corpse is sprawled across the floor.")
|
||||
(SYNONYM CORPSE BODY)
|
||||
(ADJECTIVE DEAD SPLATT)
|
||||
(ACTION CORPSE-F)>
|
||||
|
||||
<ROUTINE CORPSE-F ()
|
||||
<COND (<VERB? MALYON>
|
||||
<JIGS-UP
|
||||
"The corpse comes to life just long enough to fry you.">)>>
|
||||
|
||||
<GLOBAL DORN-BEAST-WARNING <>>
|
||||
|
||||
<GLOBAL DORN-BEAST-ROOM 0>
|
||||
|
||||
<GLOBAL LAST-DORN-ROOM 0>
|
||||
|
||||
<GLOBAL SPLATTERED <>>
|
||||
|
||||
<ROUTINE I-DORN-BEAST ()
|
||||
<ENABLE <QUEUE I-DORN-BEAST -1>>
|
||||
<COND (<EQUAL? ,HERE ,HOLLOW>
|
||||
<COND (,DORN-BEAST-WARNING
|
||||
<DORN-DEATH>)
|
||||
(T
|
||||
<MOVE ,DORN-BEAST ,HERE>
|
||||
<SETG DORN-BEAST-WARNING T>
|
||||
<TELL CR
|
||||
"With a loud roar, a dreadfully huge dorn beast emerges from the
|
||||
shadows at the base of the cliff and gallops toward you." CR>)>)
|
||||
(T
|
||||
<FSET ,DORN-BEAST ,NDESCBIT>
|
||||
<COND (<NOT ,DORN-BEAST-WARNING>
|
||||
<SETG DORN-BEAST-WARNING T>
|
||||
<TELL CR
|
||||
"From outside the maze, you hear the bellowing of a ferocious dorn beast!" CR>)
|
||||
(<EQUAL? ,ROOM-NUMBER ,DORN-BEAST-ROOM ,LAST-DORN-ROOM>
|
||||
<CRLF>
|
||||
<DORN-DEATH>)
|
||||
(T
|
||||
<TELL CR
|
||||
"The dorn beast rushes after you. Its ear-splitting bellowing
|
||||
resounds throughout the glass maze.">
|
||||
<COND (<EQUAL? ,ROOM-NUMBER 27>
|
||||
<SETG SPLATTERED T>
|
||||
<DISABLE <INT I-DORN-BEAST>>
|
||||
<MOVE ,DORN-BEAST ,DIAL>
|
||||
<PUT ,MAZE-TABLE 38 9>
|
||||
<PUT ,MAZE-TABLE 39 ,DORN-BEAST-CORPSE>
|
||||
<TELL
|
||||
" Suddenly, the dorn-beast realizes that it is galloping through midair,
|
||||
and gives a surprisingly high-pitched squeal. It claws frantically at thin
|
||||
air, trying desperately to invent dorn beast flight. You happily notice that
|
||||
dorn beasts do not so much fly as plummet.">)
|
||||
(T
|
||||
<SETG LAST-DORN-ROOM ,DORN-BEAST-ROOM>
|
||||
<SETG DORN-BEAST-ROOM ,ROOM-NUMBER>
|
||||
<MOVE ,DORN-BEAST ,HERE>)>
|
||||
<CRLF>)>)>>
|
||||
|
||||
<ROUTINE DORN-DEATH ()
|
||||
<JIGS-UP
|
||||
"The dorn beast fries your brain with its hypnotic gaze and begins
|
||||
secreting digestive juices.">>
|
|
@ -0,0 +1,575 @@
|
|||
"MISC for
|
||||
SORCERER
|
||||
(c) 1984 by Infocom, Inc. All Rights Reserved."
|
||||
|
||||
;"former MACROS.ZIL stuff"
|
||||
|
||||
<SETG C-ENABLED? 0>
|
||||
<SETG C-ENABLED 1>
|
||||
<SETG C-DISABLED 0>
|
||||
|
||||
<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>>)
|
||||
(<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 <FORM PRINTD .O>>)
|
||||
(<OR <=? .P "NUM">
|
||||
<=? .P "N">>
|
||||
<MAPRET <FORM PRINTN .O>>)
|
||||
(<OR <=? .P "CHAR">
|
||||
<=? .P "CHR">
|
||||
<=? .P "C">>
|
||||
<MAPRET <FORM PRINTC .O>>)
|
||||
(ELSE
|
||||
<MAPRET
|
||||
<FORM PRINT
|
||||
<FORM GETP .O .E>>>)>)>)
|
||||
(<TYPE? .E STRING ZSTRING>
|
||||
<MAPRET <FORM PRINTI .E>>)
|
||||
(<TYPE? .E FORM LVAL GVAL>
|
||||
<MAPRET <FORM PRINT .E>>)
|
||||
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
|
||||
|
||||
<DEFMAC VERB? ("ARGS" ATMS)
|
||||
<MULTIFROB PRSA .ATMS>>
|
||||
|
||||
<DEFMAC PRSO? ("ARGS" ATMS)
|
||||
<MULTIFROB PRSO .ATMS>>
|
||||
|
||||
<DEFMAC PRSI? ("ARGS" ATMS)
|
||||
<MULTIFROB PRSI .ATMS>>
|
||||
|
||||
<DEFMAC ROOM? ("ARGS" ATMS)
|
||||
<MULTIFROB HERE .ATMS>>
|
||||
|
||||
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
|
||||
<REPEAT ()
|
||||
<COND (<EMPTY? .ATMS>
|
||||
<RETURN!- <COND (<LENGTH? .OO 1> <ERROR .X>)
|
||||
(<LENGTH? .OO 2> <NTH .OO 2>)
|
||||
(ELSE <CHTYPE .OO FORM>)>>)>
|
||||
<REPEAT ()
|
||||
<COND (<EMPTY? .ATMS> <RETURN!->)>
|
||||
<SET ATM <NTH .ATMS 1>>
|
||||
<SET L
|
||||
(<COND (<TYPE? .ATM ATOM>
|
||||
<CHTYPE
|
||||
<COND (<==? .X PRSA>
|
||||
<PARSE
|
||||
<STRING "V?"
|
||||
<SPNAME .ATM>>>)
|
||||
(ELSE .ATM)> GVAL>)
|
||||
(ELSE .ATM)>
|
||||
!.L)>
|
||||
<SET ATMS <REST .ATMS>>
|
||||
<COND (<==? <LENGTH .L> 3> <RETURN!->)>>
|
||||
<SET O <REST <PUTREST .O (<FORM EQUAL? <CHTYPE .X GVAL> !.L>)>>>
|
||||
<SET L ()>>>
|
||||
|
||||
<DEFMAC BSET ('OBJ "ARGS" BITS)
|
||||
<MULTIBITS FSET .OBJ .BITS>>
|
||||
|
||||
<DEFMAC BCLEAR ('OBJ "ARGS" BITS)
|
||||
<MULTIBITS FCLEAR .OBJ .BITS>>
|
||||
|
||||
<DEFMAC BSET? ('OBJ "ARGS" BITS)
|
||||
<MULTIBITS FSET? .OBJ .BITS>>
|
||||
|
||||
<DEFINE MULTIBITS (X OBJ ATMS "AUX" (O ()) ATM)
|
||||
<REPEAT ()
|
||||
<COND (<EMPTY? .ATMS>
|
||||
<RETURN!- <COND (<LENGTH? .O 1> <NTH .O 1>)
|
||||
(<==? .X FSET?> <FORM OR !.O>)
|
||||
(ELSE <FORM PROG () !.O>)>>)>
|
||||
<SET ATM <NTH .ATMS 1>>
|
||||
<SET ATMS <REST .ATMS>>
|
||||
<SET O
|
||||
(<FORM .X
|
||||
.OBJ
|
||||
<COND (<TYPE? .ATM FORM> .ATM)
|
||||
(ELSE <CHTYPE .ATM GVAL>)>>
|
||||
!.O)>>>
|
||||
|
||||
<DEFMAC RFATAL ()
|
||||
'<PROG () <PUSH 2> <RSTACK>>>
|
||||
|
||||
<DEFMAC PROB ('BASE?)
|
||||
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
|
||||
|
||||
;<DEFMAC PROB ('BASE? "OPTIONAL" 'LOSER?)
|
||||
<COND (<ASSIGNED? LOSER?> <FORM ZPROB .BASE?>)
|
||||
(ELSE <FORM G? .BASE? '<RANDOM 100>>)>>
|
||||
|
||||
;<ROUTINE ZPROB (BASE)
|
||||
<G? .BASE <RANDOM 100>>>
|
||||
|
||||
<ROUTINE PICK-ONE (FROB)
|
||||
<GET .FROB <RANDOM <GET .FROB 0>>>>
|
||||
|
||||
;<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>
|
||||
|
||||
<DEFMAC ENABLE ('INT) <FORM PUT .INT ,C-ENABLED? 1>>
|
||||
|
||||
<DEFMAC DISABLE ('INT) <FORM PUT .INT ,C-ENABLED? 0>>
|
||||
|
||||
<DEFMAC OPENABLE? ('OBJ)
|
||||
<FORM OR <FORM FSET? .OBJ ',DOORBIT>
|
||||
<FORM FSET? .OBJ ',CONTBIT>>>
|
||||
|
||||
<DEFMAC ABS ('NUM)
|
||||
<FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>)
|
||||
(T .NUM)>>
|
||||
|
||||
<ROUTINE FIXED-FONT-ON () ;"turns off proportional spacing for the Mac"
|
||||
<PUT 0 8 <BOR <GET 0 8> 2>>>
|
||||
|
||||
<ROUTINE FIXED-FONT-OFF () ;"turns it back on"
|
||||
<PUT 0 8 <BAND <GET 0 8> -3>>>
|
||||
|
||||
;"former MAIN.ZIL stuff"
|
||||
|
||||
<GLOBAL PLAYER <>>
|
||||
|
||||
<GLOBAL P-WON <>>
|
||||
|
||||
<CONSTANT M-FATAL 2>
|
||||
|
||||
<CONSTANT M-HANDLED 1>
|
||||
|
||||
<CONSTANT M-NOT-HANDLED <>>
|
||||
|
||||
<CONSTANT M-OBJECT <>>
|
||||
|
||||
<CONSTANT M-BEG 1>
|
||||
|
||||
<CONSTANT M-END 6>
|
||||
|
||||
<CONSTANT M-ENTER 2>
|
||||
|
||||
<CONSTANT M-LOOK 3>
|
||||
|
||||
<CONSTANT M-FLASH 4>
|
||||
|
||||
<CONSTANT M-OBJDESC 5>
|
||||
|
||||
<GLOBAL LAST-USED-PRSO <>>
|
||||
|
||||
<ROUTINE GO ()
|
||||
<PUTB ,P-LEXV 0 59>
|
||||
;"put interrupts on clock chain"
|
||||
<ENABLE <QUEUE I-WAKE-UP 7>>
|
||||
<ENABLE <QUEUE I-HELLHOUND -1>>
|
||||
;"set up and go"
|
||||
<SETG LIT T>
|
||||
<SETG WINNER ,PROTAGONIST>
|
||||
<SETG PLAYER ,WINNER>
|
||||
<SETG HERE ,TWISTED-FOREST>
|
||||
<MOVE ,WINNER ,HERE>
|
||||
<THIS-IS-IT ,HELLHOUND>
|
||||
<PUTB ,P-INBUF 0 60>
|
||||
<TELL
|
||||
"You are in a strange location, but you cannot remember how you got here.
|
||||
Everything is hazy, as though viewed through a gauze...">
|
||||
<CRLF> <CRLF>
|
||||
<V-LOOK>
|
||||
<I-HELLHOUND>
|
||||
<MAIN-LOOP>
|
||||
<AGAIN>>
|
||||
|
||||
<ROUTINE MAIN-LOOP ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
|
||||
<REPEAT ()
|
||||
<SETG LAST-USED-PRSO <>>
|
||||
<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 (<0? .OCNT>
|
||||
.OCNT)
|
||||
(<G? .OCNT 1>
|
||||
<SET TBL ,P-PRSO>
|
||||
<COND (<0? .ICNT>
|
||||
<SET OBJ <>>)
|
||||
(T
|
||||
<SET OBJ <GET ,P-PRSI 1>>)>
|
||||
.OCNT)
|
||||
(<G? .ICNT 1>
|
||||
<SET PTBL <>>
|
||||
<SET TBL ,P-PRSI>
|
||||
<SET OBJ <GET ,P-PRSO 1>>
|
||||
.ICNT)
|
||||
(T
|
||||
1)>>
|
||||
<COND (<AND <NOT .OBJ>
|
||||
<1? .ICNT>>
|
||||
<SET OBJ <GET ,P-PRSI 1>>)>
|
||||
<COND (<==? ,PRSA ,V?WALK>
|
||||
<SET V <PERFORM ,PRSA ,PRSO>>)
|
||||
(<0? .NUM>
|
||||
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
|
||||
<SET V <PERFORM ,PRSA>>
|
||||
<SETG PRSO <>>)
|
||||
(<AND <NOT ,LIT>
|
||||
<NOT ,BLORTED>>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<SETG P-CONT <>>
|
||||
<TOO-DARK>)
|
||||
(<EQUAL? ,HERE ,CHAMBER-OF-LIVING-DEATH
|
||||
,HALL-OF-ETERNAL-PAIN>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<SETG P-CONT <>>
|
||||
<AGONY>)
|
||||
(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 <>>)>)
|
||||
(T
|
||||
<SETG P-NOT-HERE 0>
|
||||
<SETG P-MULT <>>
|
||||
<COND (<G? .NUM 1>
|
||||
<SETG P-MULT T>)>
|
||||
<SET TMP <>>
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> .NUM>
|
||||
<COND (<G? ,P-NOT-HERE 0>
|
||||
<TELL "The ">
|
||||
<COND (<NOT <EQUAL? ,P-NOT-HERE .NUM>>
|
||||
<TELL "other ">)>
|
||||
<TELL "object">
|
||||
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
|
||||
<TELL "s">)>
|
||||
<TELL " that you mentioned ">
|
||||
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
|
||||
<TELL "are">)
|
||||
(T
|
||||
<TELL "is">)>
|
||||
<TELL "n't here." CR>)
|
||||
(<NOT .TMP>
|
||||
<REFERRING>)>
|
||||
<RETURN>)
|
||||
(T
|
||||
<COND (.PTBL
|
||||
<SET OBJ1 <GET ,P-PRSO .CNT>>)
|
||||
(T
|
||||
<SET OBJ1 <GET ,P-PRSI .CNT>>)>
|
||||
<SETG PRSO <COND (.PTBL
|
||||
.OBJ1)
|
||||
(T
|
||||
.OBJ)>>
|
||||
<SETG PRSI <COND (.PTBL
|
||||
.OBJ)
|
||||
(T
|
||||
.OBJ1)>>
|
||||
<COND (<OR <G? .NUM 1>
|
||||
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0>
|
||||
,W?ALL>>
|
||||
<COND (<EQUAL? .OBJ1 ,NOT-HERE-OBJECT>
|
||||
<SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
|
||||
<VERB? TAKE>
|
||||
<OR
|
||||
<AND <NOT <EQUAL? <LOC .OBJ1>
|
||||
,WINNER
|
||||
,HERE>>
|
||||
<NOT <FSET? <LOC .OBJ1>
|
||||
,SURFACEBIT>>
|
||||
<NOT <EQUAL? <LOC .OBJ1>
|
||||
,FIREPLACE>>>
|
||||
<NOT <OR <FSET? .OBJ1 ,TAKEBIT>
|
||||
<FSET? .OBJ1
|
||||
,TRYTAKEBIT>>>>>
|
||||
<AGAIN>)
|
||||
(<AND <VERB? TAKE>
|
||||
,PRSI
|
||||
<EQUAL?
|
||||
<GET <GET ,P-ITBL ,P-NC1> 0>
|
||||
,W?ALL>
|
||||
<NOT <IN? ,PRSO ,PRSI>>
|
||||
<DESK-KLUDGE>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
|
||||
<VERB? DROP>
|
||||
<NOT <IN? .OBJ1 ,WINNER>>
|
||||
<NOT <IN? ,P-IT-OBJECT ,WINNER>>>
|
||||
<AGAIN>)
|
||||
(<NOT <VISIBLE? .OBJ1>>
|
||||
<AGAIN>)
|
||||
(T
|
||||
<COND (<EQUAL? .OBJ1 ,IT>
|
||||
<PRINTD ,P-IT-OBJECT>)
|
||||
(T
|
||||
<PRINTD .OBJ1>)>
|
||||
<TELL ": ">)>)>
|
||||
<SET TMP T>
|
||||
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
|
||||
<SETG LAST-USED-PRSO ,PRSO>
|
||||
<COND (<==? .V ,M-FATAL>
|
||||
<RETURN>)>)>>)>
|
||||
<COND (<NOT <==? .V ,M-FATAL>>
|
||||
;<COND (<==? <LOC ,WINNER> ,PRSO>
|
||||
<SETG PRSO <>>)> ;"removed per Retrofix #17"
|
||||
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE
|
||||
SAVE VERSION RESTORE SCRIPT UNSCRIPT>
|
||||
T)
|
||||
(T
|
||||
<SET V
|
||||
<APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>)>
|
||||
<COND (<VERB? AGAIN SAVE RESTORE SCORE VERSION>
|
||||
T)
|
||||
(T
|
||||
<SETG L-PRSA ,PRSA>
|
||||
<COND (,LAST-USED-PRSO
|
||||
<SETG L-PRSO ,LAST-USED-PRSO>)
|
||||
(T
|
||||
<SETG L-PRSO ,PRSO>)>
|
||||
<SETG L-PRSI ,PRSI>)>
|
||||
<COND (<==? .V ,M-FATAL>
|
||||
<SETG P-CONT <>>)>)
|
||||
(T
|
||||
<SETG P-CONT <>>)>
|
||||
<COND (,P-WON
|
||||
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION
|
||||
TIME QUIT RESTART SCORE SCRIPT UNSCRIPT RESTORE
|
||||
$RANDOM $COMMAND $RECORD $UNRECORD>
|
||||
T)
|
||||
(T
|
||||
<SET V <CLOCKER>>)>)>>>
|
||||
|
||||
<ROUTINE DESK-KLUDGE ()
|
||||
<COND (<AND <EQUAL? ,PRSI ,BELBOZ-DESK>
|
||||
<IN? ,PRSO ,DESK-DRAWER>>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<RTRUE>)>>
|
||||
|
||||
<GLOBAL L-PRSA <>>
|
||||
|
||||
<GLOBAL L-PRSO <>>
|
||||
|
||||
<GLOBAL L-PRSI <>>
|
||||
|
||||
<GLOBAL P-MULT <>>
|
||||
|
||||
<GLOBAL P-NOT-HERE 0>
|
||||
|
||||
|
||||
<ROUTINE FAKE-ORPHAN ("AUX" TMP)
|
||||
<ORPHAN ,P-SYNTAX <>>
|
||||
<TELL "Be specific: what object do you want to ">
|
||||
<SET TMP <GET ,P-OTBL ,P-VERBN>>
|
||||
<COND (<==? .TMP 0> <TELL "tell">)
|
||||
(<0? <GETB ,P-VTBL 2>>
|
||||
<PRINTB <GET .TMP 0>>)
|
||||
(T
|
||||
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>
|
||||
<PUTB ,P-VTBL 2 0>)>
|
||||
<SETG P-OFLAG T>
|
||||
<SETG P-WON <>>
|
||||
<PREP-PRINT
|
||||
<GETB ,P-SYNTAX ,P-SPREP1>>
|
||||
<TELL "?" CR>>
|
||||
|
||||
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
|
||||
;<COND (,DEBUG
|
||||
<TELL "[Perform: ">
|
||||
%<COND (<GASSIGNED? PREDGEN> '<TELL N .A>)
|
||||
(T '<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>)>
|
||||
<COND (<AND .O <NOT <==? .A ,V?WALK>>>
|
||||
<TELL " / PRSO = " D .O>)>
|
||||
<COND (.I <TELL " / PRSI = " D .I>)>
|
||||
<TELL "]" CR>)>
|
||||
<SET OA ,PRSA>
|
||||
<SET OO ,PRSO>
|
||||
<SET OI ,PRSI>
|
||||
<SETG PRSA .A>
|
||||
<COND (<EQUAL? ,IT .I .O>
|
||||
;<AND <EQUAL? ,IT .I .O>
|
||||
<NOT <EQUAL? ,P-IT-LOC ,HERE>>>
|
||||
<COND (<NOT .I> <FAKE-ORPHAN>)
|
||||
(T
|
||||
<REFERRING>)>
|
||||
<RFATAL>)>
|
||||
;<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
|
||||
;<COND (<==? .I ,IT> <SET I ,P-IT-OBJECT>)>
|
||||
<SETG PRSO .O>
|
||||
<COND (<AND ,PRSO
|
||||
<NOT <VERB? WALK>>
|
||||
<NOT <EQUAL? ,PRSO ,NOT-HERE-OBJECT>>>
|
||||
<THIS-IS-IT ,PRSO>)>
|
||||
<SETG PRSI .I>
|
||||
;<COND (<NOT <==? .A ,V?AGAIN>>
|
||||
<SETG L-PRSA .A>
|
||||
<COND (<==? .A ,V?WALK> <SETG L-PRSO <>>)
|
||||
(T <SETG L-PRSO .O>)>
|
||||
<SETG L-PRSI .I>)>
|
||||
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>>
|
||||
<SETG P-WON <>>
|
||||
.V)
|
||||
(T
|
||||
<SET O ,PRSO>
|
||||
<SET I ,PRSI>
|
||||
<COND (<SET V <D-APPLY "Actor"
|
||||
<GETP ,WINNER ,P?ACTION>>> .V)
|
||||
(<SET V <D-APPLY "Room (M-BEG)"
|
||||
<GETP <LOC ,WINNER> ,P?ACTION>
|
||||
,M-BEG>> .V)
|
||||
(<SET V <D-APPLY "Preaction"
|
||||
<GET ,PREACTIONS .A>>> .V)
|
||||
(<AND .I <SET V <D-APPLY "PRSI"
|
||||
<GETP .I ,P?ACTION>>>> .V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<LOC .O>
|
||||
<GETP <LOC .O> ,P?CONTFCN>
|
||||
<SET V <D-APPLY "Container"
|
||||
<GETP <LOC .O> ,P?CONTFCN>>>>
|
||||
.V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<SET V <D-APPLY "PRSO"
|
||||
<GETP .O ,P?ACTION>>>>
|
||||
.V)
|
||||
(<SET V <D-APPLY <>
|
||||
<GET ,ACTIONS .A>>> .V)>)>
|
||||
<SETG PRSA .OA>
|
||||
<SETG PRSO .OO>
|
||||
<SETG PRSI .OI>
|
||||
.V>
|
||||
|
||||
<ROUTINE D-APPLY (STR FCN "OPTIONAL" (FOO <>) "AUX" RES)
|
||||
<COND (<NOT .FCN> <>)
|
||||
(T
|
||||
;<COND (,DEBUG
|
||||
<COND (<NOT .STR>
|
||||
<TELL CR " Default ->" CR>)
|
||||
(T <TELL CR " " .STR " -> ">)>)>
|
||||
<SET RES
|
||||
<COND (.FOO <APPLY .FCN .FOO>)
|
||||
(T <APPLY .FCN>)>>
|
||||
;<COND (<AND ,DEBUG .STR>
|
||||
<COND (<==? .RES ,M-FATAL>
|
||||
<TELL "Fatal" CR>)
|
||||
(<NOT .RES>
|
||||
<TELL "Not handled">)
|
||||
(T <TELL "Handled" CR>)>)>
|
||||
.RES)>>
|
||||
|
||||
;"former CLOCK.ZIL stuff"
|
||||
|
||||
<CONSTANT C-TABLELEN 300>
|
||||
|
||||
<GLOBAL C-TABLE <ITABLE NONE 300>>
|
||||
|
||||
<GLOBAL C-DEMONS 300>
|
||||
|
||||
<GLOBAL C-INTS 300>
|
||||
|
||||
<CONSTANT C-INTLEN 6>
|
||||
|
||||
<CONSTANT C-ENABLED? 0>
|
||||
|
||||
<CONSTANT C-TICK 1>
|
||||
|
||||
<CONSTANT C-RTN 2>
|
||||
|
||||
;<ROUTINE DEMON (RTN TICK "AUX" CINT)
|
||||
<PUT <SET CINT <INT .RTN T>> ,C-TICK .TICK>
|
||||
.CINT>
|
||||
|
||||
<ROUTINE QUEUE (RTN TICK "AUX" CINT)
|
||||
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
|
||||
.CINT>
|
||||
|
||||
<ROUTINE INT (RTN "OPTIONAL" (DEMON <>) E C INT)
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
|
||||
<AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,C-INTLEN>>>
|
||||
<SET INT <REST ,C-TABLE ,C-INTS>>
|
||||
<PUT .INT ,C-RTN .RTN>
|
||||
<RETURN .INT>)
|
||||
(<EQUAL? <GET .C ,C-RTN> .RTN> <RETURN .C>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
||||
|
||||
<GLOBAL CLOCK-WAIT <>>
|
||||
|
||||
<ROUTINE CLOCKER ("AUX" C E TICK (FLG <>))
|
||||
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
|
||||
<SET C <REST ,C-TABLE <COND (,P-WON ,C-INTS) (T ,C-DEMONS)>>>
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<SETG MOVES <+ ,MOVES 1>>
|
||||
<RETURN .FLG>)
|
||||
(<NOT <0? <GET .C ,C-ENABLED?>>>
|
||||
<SET TICK <GET .C ,C-TICK>>
|
||||
<COND (<0? .TICK>)
|
||||
(T
|
||||
<PUT .C ,C-TICK <- .TICK 1>>
|
||||
<COND (<AND <NOT <G? .TICK 1>>
|
||||
<APPLY <GET .C ,C-RTN>>>
|
||||
<SET FLG T>)>)>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
|
@ -0,0 +1,773 @@
|
|||
"PARK.ZIL for
|
||||
SORCERER
|
||||
(c) Copyright 1984 Infocom, Inc. All Rights Reserved"
|
||||
|
||||
<OBJECT BOZBARLAND
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "amusement park")
|
||||
(SYNONYM PARK BOZBAR)
|
||||
(ADJECTIVE AMUSEM ZORKY)
|
||||
(FLAGS NDESCBIT VOWELBIT)
|
||||
(ACTION BOZBARLAND-F)>
|
||||
|
||||
<ROUTINE BOZBARLAND-F ()
|
||||
<COND (<VERB? THROUGH>
|
||||
<COND (<EQUAL? ,HERE ,PARK-ENTRANCE>
|
||||
<DO-WALK ,P?WEST>)
|
||||
(T
|
||||
<LOOK-AROUND-YOU>)>)
|
||||
(<VERB? EXIT DROP>
|
||||
<COND (<EQUAL? ,HERE ,EAST-END-OF-MIDWAY>
|
||||
<DO-WALK ,P?EAST>)
|
||||
(<EQUAL? ,HERE ,PARK-ENTRANCE>
|
||||
<LOOK-AROUND-YOU>)
|
||||
(T
|
||||
<CANT-ENTER ,BOZBARLAND T>)>)
|
||||
(<VERB? RESEARCH>
|
||||
<TELL
|
||||
"Bozbarland was a magical futuristic fantasy amusement park, oft referred
|
||||
to as the entertainment capital of the Great Underground Empire. The lower
|
||||
classes usually called it simply Zorky Park." CR>)>>
|
||||
|
||||
<ROOM PARK-ENTRANCE
|
||||
(IN ROOMS)
|
||||
(DESC "Park Entrance")
|
||||
(LDESC
|
||||
"This looks like the entrance to a run-down amusement park, no longer
|
||||
gaudy with lights and glitter. A sign above the entrance proclaims
|
||||
\"Welcome to Bozbarland - The Entertainment Capital of the Empire.\"
|
||||
The park lies to the west and a tunnel leads northeast.")
|
||||
(NE TO WINDING-TUNNEL)
|
||||
(WEST PER AMUSEMENT-PARK-ENTER-F)
|
||||
(FLAGS INSIDEBIT RLANDBIT)
|
||||
(GLOBAL BOZBARLAND)
|
||||
(PSEUDO "SIGN" PARK-SIGN-PSEUDO)>
|
||||
|
||||
<ROUTINE PARK-SIGN-PSEUDO ()
|
||||
<COND (<VERB? READ>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "|
|
||||
$$$$$ WELCOME TO BOZBARLAND $$$$$|
|
||||
The Entertainment Capital|
|
||||
of the Empire" CR>
|
||||
<FIXED-FONT-OFF>)>>
|
||||
|
||||
<ROUTINE AMUSEMENT-PARK-ENTER-F ()
|
||||
<COND (,PARK-FEE-PAID
|
||||
,EAST-END-OF-MIDWAY)
|
||||
(<IN? ,PARK-GNOME ,HERE>
|
||||
<TELL
|
||||
"As you bounce off the barrier, the gnome admonishes, \"Tsk, tsk ... you
|
||||
can't enter without paying your zorkmid!\"" CR>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<MOVE ,PARK-GNOME ,HERE>
|
||||
<ENABLE <QUEUE I-PARK-GNOME 6>>
|
||||
<TELL
|
||||
"You bounce off an invisible barrier. A moment later a gnome appears,
|
||||
dressed in a gaudy plaid outfit. \"Admission to the park is only one
|
||||
zorkmid. What a bargain, chum, eh?\"" CR>
|
||||
<RFALSE>)>>
|
||||
|
||||
<ROUTINE I-PARK-GNOME ()
|
||||
<MOVE ,PARK-GNOME ,DIAL>
|
||||
<COND (<EQUAL? ,HERE ,PARK-ENTRANCE>
|
||||
<TELL CR
|
||||
"\"Well, I can't wait all day, buddy,\" growls the gnome before
|
||||
vanishing." CR>)>>
|
||||
|
||||
<OBJECT PARK-GNOME
|
||||
(IN DIAL)
|
||||
(DESC "gnome")
|
||||
(LDESC
|
||||
"A gnome, dressed in flashy attire, stands here looking impatient.")
|
||||
(SYNONYM GNOME)
|
||||
(FLAGS ACTORBIT)
|
||||
(ACTION PARK-GNOME-F)>
|
||||
|
||||
<GLOBAL PARK-FEE-PAID <>>
|
||||
|
||||
<ROUTINE PARK-GNOME-F ()
|
||||
<COND (<VERB? TELL>
|
||||
<TELL
|
||||
"\"Listen, fella, I was in the middle of something important and I don't
|
||||
have time to gab. Gonna pay the admission fee, or not?\"" CR>
|
||||
<STOP>)
|
||||
(<VERB? YOMIN>
|
||||
<TELL
|
||||
"The gnome is thinking about the poker game you interrupted." CR>)
|
||||
(<AND <VERB? GIVE>
|
||||
<EQUAL? ,PRSI ,PARK-GNOME>
|
||||
<EQUAL? ,PRSO ,ZORKMID>>
|
||||
<COND (<FSET? ,ZORKMID ,ONBIT>
|
||||
<GNOME-REFUSES>
|
||||
<RTRUE>)>
|
||||
<MOVE ,ZORKMID ,DIAL>
|
||||
<MOVE ,PARK-GNOME ,DIAL>
|
||||
<SETG PARK-FEE-PAID T>
|
||||
<DISABLE <INT I-PARK-GNOME>>
|
||||
<TELL
|
||||
"\"Okay, you can go through now, bub. Enjoy your trip to
|
||||
Bozbarland.\" The gnome vanishes as suddenly as he appeared." CR>)>>
|
||||
|
||||
<ROUTINE MIDWAY-PSEUDO ()
|
||||
<COND (<VERB? THROUGH>
|
||||
<COND (<EQUAL? ,HERE ,FLUME ,ARCADE>
|
||||
<DO-WALK ,P?NORTH>)
|
||||
(<EQUAL? ,HERE ,ROLLER-COASTER ,HAUNTED-HOUSE>
|
||||
<DO-WALK ,P?SOUTH>)
|
||||
(<EQUAL? ,HERE ,CASINO>
|
||||
<DO-WALK ,P?EAST>)
|
||||
(T
|
||||
<LOOK-AROUND-YOU>)>)
|
||||
(<VERB? DROP EXIT>
|
||||
<V-WALK-AROUND>)>>
|
||||
|
||||
<ROOM EAST-END-OF-MIDWAY
|
||||
(IN ROOMS)
|
||||
(DESC "East End of Midway")
|
||||
(LDESC
|
||||
"You are at the eastern end of a long midway. The park entrance lies
|
||||
to the east, and rides lie to the north and south.")
|
||||
(NORTH TO HAUNTED-HOUSE)
|
||||
(SOUTH TO FLUME)
|
||||
(WEST TO WEST-END-OF-MIDWAY)
|
||||
(EAST TO PARK-ENTRANCE)
|
||||
(FLAGS RLANDBIT ONBIT INSIDEBIT)
|
||||
(GLOBAL BOZBARLAND)
|
||||
(PSEUDO "MIDWAY" MIDWAY-PSEUDO)
|
||||
(ACTION EAST-END-OF-MIDWAY-F)>
|
||||
|
||||
<ROUTINE EAST-END-OF-MIDWAY-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-ENTER>
|
||||
<PUT ,VEZZAS 4 0>
|
||||
<RFALSE>)>>
|
||||
|
||||
<ROOM WEST-END-OF-MIDWAY
|
||||
(IN ROOMS)
|
||||
(DESC "West End of Midway")
|
||||
(LDESC
|
||||
"Entrances lead north, west and south, and the rest of the
|
||||
midway lies to the east.")
|
||||
(WEST TO CASINO)
|
||||
(SOUTH TO ARCADE)
|
||||
(NORTH TO ROLLER-COASTER)
|
||||
(EAST TO EAST-END-OF-MIDWAY)
|
||||
(FLAGS RLANDBIT ONBIT INSIDEBIT)
|
||||
(GLOBAL BOZBARLAND)
|
||||
(PSEUDO "MIDWAY" MIDWAY-PSEUDO)>
|
||||
|
||||
<ROOM HAUNTED-HOUSE
|
||||
(IN ROOMS)
|
||||
(DESC "Haunted House")
|
||||
(SOUTH TO EAST-END-OF-MIDWAY)
|
||||
(NORTH TO HAUNTED-HOUSE)
|
||||
(EAST TO HAUNTED-HOUSE)
|
||||
(WEST TO HAUNTED-HOUSE)
|
||||
(NE TO HAUNTED-HOUSE)
|
||||
(NW TO HAUNTED-HOUSE)
|
||||
(SE TO HAUNTED-HOUSE)
|
||||
(SW TO HAUNTED-HOUSE)
|
||||
(UP TO HAUNTED-HOUSE)
|
||||
(DOWN TO HAUNTED-HOUSE)
|
||||
(FLAGS INSIDEBIT RLANDBIT)
|
||||
(GLOBAL BOZBARLAND)
|
||||
(PSEUDO "MIDWAY" MIDWAY-PSEUDO)
|
||||
(ACTION HAUNTED-HOUSE-F)>
|
||||
|
||||
<ROUTINE HAUNTED-HOUSE-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||
<COND (,LIT
|
||||
<TELL
|
||||
"Something about this place seems to soak up all light, so that it">)
|
||||
(,BLORTED
|
||||
<TELL
|
||||
"Despite the effects of the blort potion, this place ">)
|
||||
(T
|
||||
<TELL "It">)>
|
||||
<TELL
|
||||
" is quite dark. You can see vague shapes swaying about in the darkness." CR>)
|
||||
(<EQUAL? .RARG ,M-ENTER>
|
||||
<ENABLE <QUEUE I-HAUNT 1>>
|
||||
<RFALSE>)>>
|
||||
|
||||
<ROUTINE I-HAUNT ()
|
||||
<ENABLE <QUEUE I-HAUNT -1>>
|
||||
<COND (<NOT <EQUAL? ,HERE ,HAUNTED-HOUSE>>
|
||||
<DISABLE <INT I-HAUNT>>
|
||||
<RFALSE>)
|
||||
(<PROB 65>
|
||||
<TELL CR <PICK-ONE ,HAUNT-TABLE> CR>)
|
||||
(T
|
||||
<RFALSE>)>>
|
||||
|
||||
<GLOBAL HAUNT-TABLE
|
||||
<PLTABLE
|
||||
"You feel a cold breath on your shoulder. You whirl around,
|
||||
but there is nothing there."
|
||||
"Something slimy brushes across your face."
|
||||
"An unseen door creaks slowly open."
|
||||
"Something slithers across your foot."
|
||||
"You feel a strange shiver in your chest, almost as though
|
||||
something had passed through your body."
|
||||
"From several directions comes a sound like rattling chains."
|
||||
"A long silence is suddenly broken by a piercing scream!"
|
||||
"A glowing apparition sails by, briefly illuminating
|
||||
a spiral staircase and wooden balcony."
|
||||
"A deep-throated chuckle echoes about the room."
|
||||
"A roller coaster car zooms past, almost knocking you over!">>
|
||||
|
||||
<GLOBAL RIDE-IN-PROGRESS <>>
|
||||
|
||||
<GLOBAL RIDE-COUNTER 0>
|
||||
|
||||
<ROUTINE START-RIDE (LOC "AUX" X N)
|
||||
<SETG RIDE-IN-PROGRESS T>
|
||||
<SET X <FIRST? .LOC>>
|
||||
<REPEAT ()
|
||||
<SET N <NEXT? .X>>
|
||||
<COND (<NOT <EQUAL? .X ,PROTAGONIST ,CAR ,LOG-BOAT>>
|
||||
<FSET .X ,INVISIBLE>)>
|
||||
<COND (<NOT .N>
|
||||
<RETURN>)
|
||||
(T
|
||||
<SET X .N>)>>>
|
||||
|
||||
<ROUTINE END-RIDE ("AUX" X N)
|
||||
<SETG RIDE-IN-PROGRESS <>>
|
||||
<SETG RIDE-COUNTER 0>
|
||||
<DISABLE <INT I-FLUME-TRIP>>
|
||||
<DISABLE <INT I-ROLLER-COASTER-TRIP>>
|
||||
<SET X <FIRST? ,FLUME>>
|
||||
<REPEAT ()
|
||||
<SET N <NEXT? .X>>
|
||||
<FCLEAR .X ,INVISIBLE>
|
||||
<COND (<NOT .N>
|
||||
<RETURN>)
|
||||
(T
|
||||
<SET X .N>)>>
|
||||
<SET X <FIRST? ,ROLLER-COASTER>>
|
||||
<REPEAT ()
|
||||
<SET N <NEXT? .X>>
|
||||
<FCLEAR .X ,INVISIBLE>
|
||||
<COND (<NOT .N>
|
||||
<RETURN>)
|
||||
(T
|
||||
<SET X .N>)>>>
|
||||
|
||||
<ROUTINE SITS-AT-PLATFORM (VEHICLE)
|
||||
<TELL " A " D .VEHICLE " sits at the platform, beckoning
|
||||
you to enter.">>
|
||||
|
||||
<ROUTINE PARK-NYMPH (VEHICLE)
|
||||
<TELL "An amusement park nymph appears for a moment, warning
|
||||
you not to leave the " D .VEHICLE " during the course of the ride." CR>>
|
||||
|
||||
<ROUTINE PLAQUE ()
|
||||
<TELL
|
||||
" A small plaque hangs nearby. The midway is visible to the ">>
|
||||
|
||||
<ROUTINE PLAQUE-PSEUDO ()
|
||||
<COND (<VERB? READ EXAMINE>
|
||||
<TELL "\"Constructed by the Frobozz Magic ">
|
||||
<COND (<EQUAL? ,HERE ,FLUME>
|
||||
<TELL "Flume">)
|
||||
(T
|
||||
<TELL "Roller Coaster">)>
|
||||
<TELL " Company.\"" CR>)>>
|
||||
|
||||
<ROOM FLUME
|
||||
(IN ROOMS)
|
||||
(DESC "Flume")
|
||||
(NORTH TO EAST-END-OF-MIDWAY)
|
||||
(FLAGS RLANDBIT ONBIT INSIDEBIT)
|
||||
(GLOBAL WATER BOZBARLAND)
|
||||
(PSEUDO "MIDWAY" MIDWAY-PSEUDO "PLAQUE" PLAQUE-PSEUDO)
|
||||
(ACTION FLUME-F)>
|
||||
|
||||
<ROUTINE FLUME-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||
<COND (,RIDE-IN-PROGRESS
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL
|
||||
"You are at the boarding platform of a fast-moving flume, flowing
|
||||
off beyond your view.">
|
||||
<PLAQUE>
|
||||
<TELL "north.">
|
||||
<COND (<NOT <IN? ,PROTAGONIST ,LOG-BOAT>>
|
||||
<SITS-AT-PLATFORM ,LOG-BOAT>)>
|
||||
<CRLF>)>)>>
|
||||
|
||||
<OBJECT FLUME-OBJECT
|
||||
(IN FLUME)
|
||||
(DESC "flume")
|
||||
(SYNONYM FLUME FLUMES)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION FLUME-OBJECT-F)>
|
||||
|
||||
<ROUTINE FLUME-OBJECT-F ()
|
||||
<COND (<VERB? PULVER>
|
||||
<TELL
|
||||
"In order to prevent damage to public life and property, flumes are
|
||||
protected against this sort of prank." CR>)
|
||||
(<VERB? BOARD>
|
||||
<PERFORM ,V?BOARD ,LOG-BOAT>
|
||||
<RTRUE>)
|
||||
(<VERB? RESEARCH>
|
||||
<TELL
|
||||
"Flumes are artifical water channels, usually with boat rides. The
|
||||
boat is typically a hollowed-out log. The largest flume of this kind
|
||||
is in Bozbarland." CR>)>>
|
||||
|
||||
<OBJECT LOG-BOAT
|
||||
(IN FLUME)
|
||||
(DESC "log boat")
|
||||
(SYNONYM BOAT)
|
||||
(ADJECTIVE LOG)
|
||||
(FLAGS VEHBIT OPENBIT CONTBIT SEARCHBIT NDESCBIT)
|
||||
(ACTION LOG-BOAT-F)>
|
||||
|
||||
<ROUTINE LOG-BOAT-F ("OPTIONAL" (RARG <>))
|
||||
<COND (<AND <EQUAL? .RARG ,M-BEG>
|
||||
<VERB? WALK>>
|
||||
<NOT-GOING-ANYWHERE ,LOG-BOAT>)
|
||||
(.RARG
|
||||
<RFALSE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<TELL "Huh?" CR>)
|
||||
(<VERB? THROUGH ENTER CLIMB-ON>
|
||||
<PERFORM ,V?BOARD ,PRSO>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? DROP DISEMBARK STAND EXIT>
|
||||
,RIDE-IN-PROGRESS>
|
||||
<END-RIDE>
|
||||
<JIGS-UP
|
||||
"Bad time to leave the log boat. The flume is fast and rough.">)
|
||||
(<AND <VERB? BOARD>
|
||||
<NOT ,RIDE-IN-PROGRESS>>
|
||||
<START-RIDE ,FLUME>
|
||||
<MOVE ,PROTAGONIST ,LOG-BOAT>
|
||||
<ENABLE <QUEUE I-FLUME-TRIP 2>>
|
||||
<TELL
|
||||
"As you enter the log boat, it lurches away from the platform and is
|
||||
carried swiftly away by the current of the flume. ">
|
||||
<PARK-NYMPH ,LOG-BOAT>)>>
|
||||
|
||||
<ROUTINE I-FLUME-TRIP ()
|
||||
<ENABLE <QUEUE I-FLUME-TRIP -1>>
|
||||
<SETG RIDE-COUNTER <+ ,RIDE-COUNTER 1>>
|
||||
<COND (<NOT ,RIDE-IN-PROGRESS>
|
||||
<DISABLE <INT I-FLUME-TRIP>>
|
||||
<SETG RIDE-COUNTER 0>
|
||||
<RFALSE>)>
|
||||
<CRLF>
|
||||
<COND (<EQUAL? ,RIDE-COUNTER 1>
|
||||
<TELL
|
||||
"The flume is wide here, and straight as an arrow.
|
||||
The ride is quite relaxing." CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 2>
|
||||
<TELL
|
||||
"You enter a stretch of sharp, winding curves! Spray dashes your face as you
|
||||
are tossed about the log boat!" CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 3>
|
||||
<TELL
|
||||
"The twists and turns are left behind as you approach the
|
||||
mouth of a dark tunnel." CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 4>
|
||||
<COND (<OR ,LIT ,BLORTED>
|
||||
<TELL
|
||||
"The flume winds through a tunnel whose walls are black as coal.
|
||||
You pass an opening which provides a brief glimpse of troglodytes
|
||||
digging and hauling coal." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"It is pitch black. The roar of the flume's current echoes about the tunnel.
|
||||
A spot of light is visible ahead." CR>)>)
|
||||
(<EQUAL? ,RIDE-COUNTER 5>
|
||||
<TELL
|
||||
"The log boat leaves the tunnel and passes through a series of rapids, shooting
|
||||
straight toward jagged rocks and then veering away at the last moment!" CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 6>
|
||||
<TELL
|
||||
"Magically, the flume flows uphill here! The current slows as the boat
|
||||
climbs and climbs..." CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 7>
|
||||
<TELL
|
||||
"You reach the crest of the flume's final drop. You can see swirling
|
||||
white water below!" CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 8>
|
||||
<TELL
|
||||
"The log boat plunges down into the swirling waters at the base of
|
||||
the slope! Huge splashes of water spray off in every direction, but
|
||||
amazingly you stay dry!" CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 9>
|
||||
<END-RIDE>
|
||||
<DISABLE <INT I-FLUME-TRIP>>
|
||||
<TELL
|
||||
"The boat floats serenely around a final turn and pulls up to the boarding
|
||||
platform." CR>)>>
|
||||
|
||||
<ROOM ROLLER-COASTER
|
||||
(IN ROOMS)
|
||||
(DESC "Roller Coaster")
|
||||
(SOUTH TO WEST-END-OF-MIDWAY)
|
||||
(FLAGS RLANDBIT ONBIT INSIDEBIT)
|
||||
(GLOBAL BOZBARLAND)
|
||||
(PSEUDO "MIDWAY" MIDWAY-PSEUDO "PLAQUE" PLAQUE-PSEUDO)
|
||||
(ACTION ROLLER-COASTER-F)>
|
||||
|
||||
<ROUTINE ROLLER-COASTER-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||
<COND (,RIDE-IN-PROGRESS
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL
|
||||
"You are at the boarding platform of a huge roller coaster, sprawling
|
||||
above and around you in every direction.">
|
||||
<PLAQUE>
|
||||
<TELL "south.">
|
||||
<COND (<NOT <IN? ,PROTAGONIST ,CAR>>
|
||||
<SITS-AT-PLATFORM ,CAR>)>
|
||||
<CRLF>)>)>>
|
||||
|
||||
<OBJECT CAR
|
||||
(IN ROLLER-COASTER)
|
||||
(DESC "car")
|
||||
(SYNONYM CAR)
|
||||
(FLAGS VEHBIT CONTBIT OPENBIT SEARCHBIT NDESCBIT)
|
||||
(ACTION CAR-F)>
|
||||
|
||||
<ROUTINE CAR-F ("OPTIONAL" (RARG <>))
|
||||
<COND (<AND <EQUAL? .RARG ,M-BEG>
|
||||
<VERB? WALK>>
|
||||
<NOT-GOING-ANYWHERE ,CAR>)
|
||||
(.RARG
|
||||
<RFALSE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<TELL "Huh?" CR>)
|
||||
(<VERB? THROUGH ENTER CLIMB-ON>
|
||||
<PERFORM ,V?BOARD ,PRSO>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? DROP DISEMBARK STAND EXIT>
|
||||
,RIDE-IN-PROGRESS>
|
||||
<END-RIDE>
|
||||
<JIGS-UP
|
||||
"Dumb idea. Your body ricochets off several wooden supports as it
|
||||
plummets to the ground.">)
|
||||
(<VERB? DROP EXIT>
|
||||
<PERFORM ,V?DISEMBARK ,PRSO>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? BOARD>
|
||||
<NOT ,RIDE-IN-PROGRESS>>
|
||||
<START-RIDE ,ROLLER-COASTER>
|
||||
<MOVE ,PROTAGONIST ,CAR>
|
||||
<ENABLE <QUEUE I-ROLLER-COASTER-TRIP 2>>
|
||||
<TELL
|
||||
"As you enter the car, it rolls away from the platform in a gentle curve. ">
|
||||
<PARK-NYMPH ,CAR>)>>
|
||||
|
||||
<ROUTINE I-ROLLER-COASTER-TRIP ()
|
||||
<ENABLE <QUEUE I-ROLLER-COASTER-TRIP -1>>
|
||||
<SETG RIDE-COUNTER <+ ,RIDE-COUNTER 1>>
|
||||
<COND (<NOT ,RIDE-IN-PROGRESS>
|
||||
<DISABLE <INT I-ROLLER-COASTER-TRIP>>
|
||||
<END-RIDE>
|
||||
<RFALSE>)>
|
||||
<CRLF>
|
||||
<COND (<EQUAL? ,RIDE-COUNTER 1>
|
||||
<TELL
|
||||
"The car, propelled by some unseen force, rolls up a huge incline. The
|
||||
crest grows tantalizingly closer." CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 2>
|
||||
<TELL
|
||||
"You reach the crest, the highest point of the roller coaster! The park
|
||||
is laid out beneath you like a map; the lights of the midway, the
|
||||
booths of the arcade, the sparkling blue ribbon of water that must be
|
||||
the flume. In the distance is a wide crater. The sounds and smells of
|
||||
the park seem distant, and time feels suspended for a moment." CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 3>
|
||||
<TELL
|
||||
"The breath is swept from your lungs as the car begins diving,
|
||||
seemingly straight downward. You rise from the seat as the ground
|
||||
rushes closer! At the last moment, the car swings upward, and your
|
||||
stomach settles in your ankles." CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 4>
|
||||
<TELL
|
||||
"The car zips through a series of wild turns and sharp drops. Wooden
|
||||
roller coaster supports whiz past, inches from your head!" CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 5>
|
||||
<TELL
|
||||
"This section of track is shaped like a corkscrew, and as the car hurtles
|
||||
forward it turns upside down almost every second. It is impossible to tell
|
||||
up from down, as the ground seems to spin around you." CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 6>
|
||||
<TELL
|
||||
"The car shoots into a rapid climb, which gets progressively slower and
|
||||
steeper. Your heart beats wildly as the track begins to swing back above you,
|
||||
and you realize that you are entering a giant loop!" CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 7>
|
||||
<TELL
|
||||
"As you reach the highest point of the loop, you hang completely upside-down
|
||||
for a brief moment. The blood rushes to your head as the ground suspended
|
||||
\"above\" you like a canopy. Then, you hurtle down the far side of the loop
|
||||
with breakneck speed!" CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 8>
|
||||
<TELL
|
||||
"The roller coaster speeds out of the loop and into a tunnel">
|
||||
<COND (<OR ,LIT ,BLORTED>
|
||||
<TELL
|
||||
", which seems to run through the middle of a haunted house! Wispy ghosts and
|
||||
ghoulish skeletons brush past you">)
|
||||
(T
|
||||
<TELL
|
||||
". You shiver as horrible slimy things brush across your face">)>
|
||||
<TELL "." CR>)
|
||||
(<EQUAL? ,RIDE-COUNTER 9>
|
||||
<END-RIDE>
|
||||
<DISABLE <INT I-ROLLER-COASTER-TRIP>>
|
||||
<TELL
|
||||
"The car zooms out into daylight, and glides to a stop at the
|
||||
boarding platform." CR>)>>
|
||||
|
||||
<ROOM ARCADE
|
||||
(IN ROOMS)
|
||||
(DESC "Arcade")
|
||||
(LDESC
|
||||
"This is a huge tent filled with hectic noise, blinking lights, and the
|
||||
smell of frying food. Near the exit is a game booth lined with prizes.
|
||||
The concept of the game seems to be bashing cute little mechanical bunnies
|
||||
with a rubber ball as they hop around a little artificial meadow.")
|
||||
(NORTH PER ARCADE-EXIT-F)
|
||||
(FLAGS RLANDBIT ONBIT INSIDEBIT)
|
||||
(GLOBAL BOZBARLAND)
|
||||
(PSEUDO "MIDWAY" MIDWAY-PSEUDO "BOOTH" BOOTH-PSEUDO)
|
||||
(ACTION ARCADE-F)>
|
||||
|
||||
<GLOBAL HAWKER-SUBDUED <>>
|
||||
|
||||
<ROUTINE ARCADE-F (RARG)
|
||||
<COND (<AND <EQUAL? .RARG ,M-END>
|
||||
<NOT ,HAWKER-SUBDUED>
|
||||
<IN? ,BALL ,HAWKER>>
|
||||
<TELL
|
||||
"\"C'mon, pal!\" cries the hawker from the game booth. \"Try your luck!\"
|
||||
He holds the ball out toward you." CR>)>>
|
||||
|
||||
<ROUTINE ARCADE-EXIT-F ()
|
||||
<COND (<HELD? ,BALL>
|
||||
<TELL
|
||||
"The hawker yells after you, \"Hey buddy, come back with that ball!\"" CR CR>)>
|
||||
,WEST-END-OF-MIDWAY>
|
||||
|
||||
<ROUTINE BOOTH-PSEUDO ()
|
||||
<COND (<VERB? THROUGH>
|
||||
<TELL "The hawker pushes you away." CR>)>>
|
||||
|
||||
<OBJECT HAWKER
|
||||
(IN ARCADE)
|
||||
(DESC "hawker")
|
||||
(LDESC
|
||||
"A hawker stands within the booth, studying you through half-closed eyes.")
|
||||
(SYNONYM HAWKER)
|
||||
(FLAGS ACTORBIT CONTBIT OPENBIT SEARCHBIT)
|
||||
(ACTION HAWKER-F)>
|
||||
|
||||
<ROUTINE HAWKER-F ()
|
||||
<COND (<EQUAL? ,HAWKER ,WINNER>
|
||||
<COND (<AND <EQUAL? ,PRSO ,BALL>
|
||||
<EQUAL? ,PRSI ,ME>
|
||||
<VERB? GIVE>>
|
||||
<SETG WINNER ,PROTAGONIST>
|
||||
<PERFORM ,V?TAKE ,BALL>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL "\"No time to gab, kid.">
|
||||
<COND (<NOT ,HAWKER-SUBDUED>
|
||||
<TELL
|
||||
" C'mon and give it a try. One hit wins!">)>
|
||||
<TELL "\"" CR>
|
||||
<STOP>)>)
|
||||
(<VERB? YOMIN>
|
||||
<TELL
|
||||
"The hawker is thinking about finding a good stogie, whatever that is." CR>)
|
||||
(<VERB? AIMFIZ>
|
||||
<JIGS-UP
|
||||
"You appear in an amusement park game booth. The point of the game is to
|
||||
pierce balloons with darts. Speaking of points, you are suddenly pierced
|
||||
by 37 flying darts.">)>>
|
||||
|
||||
<OBJECT BALL
|
||||
(IN HAWKER)
|
||||
(DESC "rubber ball")
|
||||
(SYNONYM BALL)
|
||||
(ADJECTIVE RUBBER)
|
||||
(FLAGS TAKEBIT NDESCBIT TRYTAKEBIT)
|
||||
(ACTION BALL-F)>
|
||||
|
||||
<ROUTINE BALL-F ()
|
||||
<COND (<VERB? TAKE>
|
||||
<FCLEAR ,BALL ,NDESCBIT>
|
||||
<FCLEAR ,BALL ,TRYTAKEBIT>
|
||||
<RFALSE>)
|
||||
(<AND <VERB? ATTACK>
|
||||
<EQUAL? ,PRSO ,RABBITS>>
|
||||
<PERFORM ,V?THROW ,BALL ,RABBITS>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? THROW>
|
||||
<EQUAL? ,PRSI ,RABBITS>
|
||||
<HELD? ,BALL>>
|
||||
<COND (,FOOBLED
|
||||
<MOVE ,MALYON-SCROLL ,PROTAGONIST>
|
||||
<SETG SCORE <+ ,SCORE 10>>
|
||||
<SETG HAWKER-SUBDUED T>
|
||||
<MOVE ,BALL ,DIAL>
|
||||
<TELL
|
||||
"A tremendous pitch sends a bunny spinning. \"What an arm, kid, what an
|
||||
arm!\" cries the hawker. He hands you a glittering scroll from the shelf
|
||||
of prizes. \"Here's your prize, now scram.\"" CR>)
|
||||
(T
|
||||
<MOVE ,BALL ,HAWKER>
|
||||
<FSET ,BALL ,NDESCBIT>
|
||||
<FSET ,BALL ,TRYTAKEBIT>
|
||||
<TELL <PICK-ONE ,MISSES> " This game is harder
|
||||
than it looks. The hawker, leering, retrieves the ball." CR>)>)>>
|
||||
|
||||
<GLOBAL MISSES
|
||||
<PLTABLE
|
||||
"You miss the rabbit by a mile!"
|
||||
"Your throw is way off!"
|
||||
"The rabbit hops obliviously as your throw sails far off target!">>
|
||||
|
||||
<OBJECT RABBITS
|
||||
(IN ARCADE)
|
||||
(DESC "hopping bunny")
|
||||
(SYNONYM BUNNY BUNNIE RABBIT)
|
||||
(ADJECTIVE HOPPIN CUTE MECHAN)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION RABBITS-F)>
|
||||
|
||||
<ROUTINE RABBITS-F ()
|
||||
<COND (<VERB? MALYON>
|
||||
<TELL
|
||||
"The bunnies hop away and the startled hawker scrambles after them. He
|
||||
returns a moment later, holding the again inanimate bunnies, and gives
|
||||
you a nasty glare." CR>)>>
|
||||
|
||||
<OBJECT MALYON-SCROLL
|
||||
(IN DIAL)
|
||||
(DESC "glittering scroll")
|
||||
(SYNONYM SCROLL)
|
||||
(ADJECTIVE GLITTE)
|
||||
(FLAGS READBIT SCROLLBIT TAKEBIT CONTBIT TRANSBIT)
|
||||
(SIZE 3)
|
||||
(ACTION SCROLL-F)>
|
||||
|
||||
<OBJECT MALYON-SPELL
|
||||
(IN MALYON-SCROLL)
|
||||
(SYNONYM SPELLS SPELL)
|
||||
(ADJECTIVE MALYON)
|
||||
(DESC "malyon spell")
|
||||
(TEXT "bring life to inanimate objects")
|
||||
(COUNT 0)
|
||||
(SIZE 1)
|
||||
(FLAGS NDESCBIT SPELLBIT TOUCHBIT)
|
||||
(ACTION SPELL-F)>
|
||||
|
||||
<ROOM CASINO
|
||||
(IN ROOMS)
|
||||
(DESC "Casino")
|
||||
(LDESC
|
||||
"This is a large, plush room, slightly neglected.")
|
||||
(EAST TO WEST-END-OF-MIDWAY)
|
||||
(FLAGS RLANDBIT INSIDEBIT)
|
||||
(GLOBAL BOZBARLAND)
|
||||
(PSEUDO "LEVER" LEVER-PSEUDO "MIDWAY" MIDWAY-PSEUDO)
|
||||
(ACTION CASINO-F)>
|
||||
|
||||
<ROUTINE CASINO-F (RARG)
|
||||
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
||||
,JACKPOT-DUMPED>
|
||||
<SETG JACKPOT-DUMPED <>>
|
||||
<TELL
|
||||
"You enter just as a group of casino nymphs finish cleaning up the last
|
||||
of the zorkmid coins." CR CR>)>>
|
||||
|
||||
<OBJECT SLOT-MACHINE
|
||||
(IN CASINO)
|
||||
(DESC "odd machine")
|
||||
(LDESC
|
||||
"Standing on one side of the room is an odd machine, with a
|
||||
three-section display and a large lever on the side.")
|
||||
(SYNONYM MACHIN BANDIT DISPLA)
|
||||
(ADJECTIVE ODD ONE- ARMED THREE SECTIO)
|
||||
(FLAGS VOWELBIT)>
|
||||
|
||||
<GLOBAL JACKPOT-DUMPED <>>
|
||||
|
||||
<GLOBAL SLOT-MACHINE-BROKEN <>>
|
||||
|
||||
<ROUTINE LEVER-PSEUDO ("AUX" A B C)
|
||||
<COND (<VERB? MOVE PUSH>
|
||||
<COND (,FWEEPED
|
||||
<BATTY>)
|
||||
(,SLOT-MACHINE-BROKEN
|
||||
<TELL
|
||||
"The machine rattles loudly and makes a few feeble pings." CR>)
|
||||
(T
|
||||
<COND (<PROB 25>
|
||||
<SET A <GET ,SLOT-MACHINE-TABLE 1>>)
|
||||
(<PROB 33>
|
||||
<SET A <GET ,SLOT-MACHINE-TABLE 2>>)
|
||||
(<PROB 50>
|
||||
<SET A <GET ,SLOT-MACHINE-TABLE 3>>)
|
||||
(T
|
||||
<SET A <GET ,SLOT-MACHINE-TABLE 4>>)>
|
||||
<COND (<PROB 25>
|
||||
<SET B <GET ,SLOT-MACHINE-TABLE 1>>)
|
||||
(<PROB 33>
|
||||
<SET B <GET ,SLOT-MACHINE-TABLE 2>>)
|
||||
(<PROB 50>
|
||||
<SET B <GET ,SLOT-MACHINE-TABLE 3>>)
|
||||
(T
|
||||
<SET B <GET ,SLOT-MACHINE-TABLE 4>>)>
|
||||
<COND (<PROB 25>
|
||||
<SET C <GET ,SLOT-MACHINE-TABLE 1>>)
|
||||
(<PROB 33>
|
||||
<SET C <GET ,SLOT-MACHINE-TABLE 2>>)
|
||||
(<PROB 50>
|
||||
<SET C <GET ,SLOT-MACHINE-TABLE 3>>)
|
||||
(T
|
||||
<SET C <GET ,SLOT-MACHINE-TABLE 4>>)>
|
||||
<TELL
|
||||
"Ping!|
|
||||
A " .A " appears in the first section of the display.|
|
||||
Ping!|
|
||||
A " .B " appears in the second section of the display.|
|
||||
Ping!|
|
||||
A " .C " appears in the third section of the display." CR>
|
||||
<COND (<AND <EQUAL? .A .B>
|
||||
<EQUAL? .A .C>>
|
||||
<COND (<EQUAL? .A <GET ,SLOT-MACHINE-TABLE 1>>
|
||||
<SETG JACKPOT-DUMPED T>
|
||||
<JIGS-UP
|
||||
"Ping! Ping! Ping! Ping! Ping! Ping!|
|
||||
An unbelievable torrent of zorkmid coins pours out of the machine -- far
|
||||
more than the machine could possibly contain! You are buried and crushed
|
||||
under the huge mass of coins.">)
|
||||
(T
|
||||
<MOVE ,ZORKMID ,HERE>
|
||||
<SETG SLOT-MACHINE-BROKEN T>
|
||||
<TELL
|
||||
"Ping! Ping! Ping!|
|
||||
A zorkmid coin drops out of the machine and lands at your feet." CR>)>)
|
||||
(T
|
||||
<RTRUE>)>)>)>>
|
||||
|
||||
<GLOBAL SLOT-MACHINE-TABLE
|
||||
<PTABLE
|
||||
0
|
||||
"pot of gold"
|
||||
"clove of garlic"
|
||||
"noisome stew"
|
||||
"hot pepper sandwich">>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,45 @@
|
|||
"SORCERER for
|
||||
SORCERER
|
||||
(c) Copyright 1984 Infocom, Inc. All Rights Reserved."
|
||||
|
||||
<PRINC "
|
||||
*** SORCERER: Interlogic Fantasy ***
|
||||
|
||||
">
|
||||
|
||||
ON!-INITIAL "for DEBUGR"
|
||||
OFF!-INITIAL
|
||||
ENABLE!-INITIAL
|
||||
DISABLE!-INITIAL
|
||||
|
||||
<COND (<GASSIGNED? MUDDLE>
|
||||
<BLOAT 90000 0 0 3300 0 0 0 0 0 256>)>
|
||||
|
||||
<SNAME "SORCERER">
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
||||
|
||||
<OR <GASSIGNED? INSERT-CRUFTY>
|
||||
<DEFINE INSERT-CRUFTY (STR) <INSERT-FILE .STR T>>>
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<ID 0>)>
|
||||
|
||||
<INSERT-FILE "MISC" T>
|
||||
<INSERT-FILE "PARSER" T>
|
||||
<INSERT-FILE "SYNTAX" T>
|
||||
<INSERT-FILE "VERBS" T>
|
||||
<INSERT-FILE "GLOBALS" T>
|
||||
<INSERT-FILE "GUILD" T>
|
||||
<INSERT-FILE "BELBOZ" T>
|
||||
<INSERT-FILE "FORT" T>
|
||||
<INSERT-FILE "PARK" T>
|
||||
<INSERT-FILE "MAZE" T>
|
||||
<INSERT-FILE "COAL" T>
|
||||
<INSERT-FILE "END" T>
|
||||
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
Binary file not shown.
|
@ -0,0 +1,633 @@
|
|||
"SYNTAX for
|
||||
SORCERER
|
||||
(c) Copyright 1984 Infocom, Inc. All Rights Reserved."
|
||||
|
||||
<BUZZ A AN THE IS ARE AM AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y
|
||||
PRY PLEASE HERE SOME>
|
||||
|
||||
<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>
|
||||
<SYNONYM NW NORTHWEST>
|
||||
<SYNONYM NE NORTHE>
|
||||
<SYNONYM SW SOUTHWEST>
|
||||
<SYNONYM SE SOUTHE>
|
||||
|
||||
\
|
||||
|
||||
;"game commands"
|
||||
|
||||
<SYNTAX VERBOSE = V-VERBOSE>
|
||||
|
||||
<SYNTAX BRIEF = V-BRIEF>
|
||||
|
||||
<SYNTAX SUPER = V-SUPER-BRIEF>
|
||||
<SYNONYM SUPER SUPERBRIEF>
|
||||
|
||||
<SYNTAX DIAGNOSE = V-DIAGNOSE>
|
||||
|
||||
<SYNTAX INVENTORY = V-INVENTORY>
|
||||
<SYNONYM INVENTORY I>
|
||||
|
||||
<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 \#RANDOM OBJECT = V-$RANDOM>
|
||||
|
||||
<SYNTAX \#COMMAND = V-$COMMAND>
|
||||
|
||||
<SYNTAX \#RECORD = V-$RECORD>
|
||||
|
||||
<SYNTAX \#UNRECORD = V-$UNRECORD>
|
||||
|
||||
;"subtitle real verbs"
|
||||
|
||||
<SYNTAX AGAIN = V-AGAIN>
|
||||
<SYNONYM AGAIN G>
|
||||
|
||||
<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 OBJECT (FIND ACTORBIT) FOR OBJECT = V-ASK-FOR>
|
||||
<SYNTAX ASK OBJECT (FIND ACTORBIT) ABOUT OBJECT = V-ASK-ABOUT>
|
||||
<SYNONYM ASK QUERY INTERROGATE QUIZ>
|
||||
|
||||
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
|
||||
<SYNONYM ATTACK ASSAULT FIGHT HURT INJURE HIT>
|
||||
|
||||
<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 KINDLE COMBUST>
|
||||
|
||||
<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>
|
||||
<SYNONYM CLIMB SCALE>
|
||||
|
||||
<SYNTAX DESCEN OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
|
||||
|
||||
<SYNTAX LIE DOWN OBJECT (FIND RLANDBIT) = V-LIE-DOWN>
|
||||
<SYNTAX LIE ON OBJECT (FIND VEHBIT) = V-LIE-DOWN>
|
||||
<SYNONYM LIE RECLINE REPOSE>
|
||||
|
||||
<SYNTAX CLOSE OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-CLOSE>
|
||||
<SYNONYM CLOSE SHUT>
|
||||
|
||||
<SYNTAX COMBIN OBJECT = V-COMBO>
|
||||
<SYNONYM COMBIN COMBO>
|
||||
|
||||
<SYNTAX COMPAR OBJECT TO OBJECT = V-COMPARE>
|
||||
|
||||
<SYNTAX COUNT OBJECT = V-COUNT>
|
||||
<SYNONYM COUNT TALLY>
|
||||
|
||||
<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 GASH SLASH LACERATE CLEAVE SEVER SPLIT>
|
||||
|
||||
<SYNTAX SHIT = V-CURSE>
|
||||
<SYNONYM SHIT DAMN FUCK>
|
||||
|
||||
<SYNTAX DEFLATE OBJECT = V-DEFLATE>
|
||||
|
||||
<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 DAMAGE BREAK SMASH DEMOLISH WRECK>
|
||||
|
||||
<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 OBJECT (FIND VEHBIT) (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 IMBIBE QUAFF GUZZLE SWILL>
|
||||
|
||||
<SYNTAX DROP OBJECT (HELD MANY HAVE) = V-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 DEVOUR INGEST GOBBLE NIBBLE>
|
||||
|
||||
<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 STUDY SURVEY OBSERVE WATCH>
|
||||
|
||||
<SYNTAX EXORCISE OBJECT = V-EXORCISE>
|
||||
<SYNTAX EXORCISE OUT OBJECT (FIND ACTORBIT) = V-EXORCISE>
|
||||
<SYNTAX EXORCISE AWAY OBJECT (FIND ACTORBIT) = V-EXORCISE>
|
||||
<SYNONYM EXORCISE BANISH DRIVE>
|
||||
|
||||
<SYNTAX EXTINGUISH OBJECT (FIND LIGHTBIT)
|
||||
(MANY HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
|
||||
<SYNONYM EXTINGUISH DOUSE QUENCH>
|
||||
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-FILL>
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH OBJECT = V-FILL>
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
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 ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE>
|
||||
<SYNTAX GIVE OBJECT (FIND ACTORBIT) (ON-GROUND) OBJECT (MANY HELD HAVE)
|
||||
= V-SGIVE>
|
||||
<SYNONYM GIVE HAND DONATE OFFER FEED BESTOW PRESENT>
|
||||
|
||||
<SYNTAX HELLO = V-HELLO>
|
||||
<SYNTAX HELLO OBJECT = V-HELLO>
|
||||
<SYNONYM HELLO HI GREETINGS SALUTATIONS>
|
||||
|
||||
<SYNTAX HELP = 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>
|
||||
<SYNONYM HIDE CONCEAL SECRETE STASH ENSCONCE>
|
||||
|
||||
<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 OFF OBJECT = V-LEAP>
|
||||
<SYNONYM JUMP LEAP DIVE BOUND HURDLE VAULT>
|
||||
|
||||
<SYNTAX KICK OBJECT = V-KICK PRE-OPEN>
|
||||
|
||||
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KILL>
|
||||
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-KILL>
|
||||
<SYNONYM KILL MURDER SLAY DISPATCH STAB VANQUISH>
|
||||
|
||||
<SYNTAX KISS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KISS>
|
||||
<SYNONYM KISS SMOOCH>
|
||||
|
||||
<SYNTAX KNOCK AT OBJECT = V-KNOCK>
|
||||
<SYNTAX KNOCK ON OBJECT = V-KNOCK>
|
||||
<SYNTAX KNOCK DOWN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
<SYNONYM KNOCK RAP>
|
||||
|
||||
<SYNTAX LAND = V-LAND>
|
||||
|
||||
<SYNTAX LAUNCH OBJECT (FIND VEHBIT) = V-LAUNCH>
|
||||
|
||||
<SYNTAX LEAN ON OBJECT (HELD HAVE) = V-LEAN-ON>
|
||||
|
||||
<SYNTAX LEAVE = V-LEAVE>
|
||||
<SYNTAX LEAVE OBJECT = V-DROP>
|
||||
|
||||
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-LAMP-ON>
|
||||
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (HELD CARRIED HAVE) = V-BURN>
|
||||
|
||||
<SYNTAX LISTEN TO OBJECT = V-LISTEN>
|
||||
<SYNTAX LISTEN FOR OBJECT = V-LISTEN>
|
||||
<SYNONYM LISTEN HARKEN>
|
||||
|
||||
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT (FIND TOOLBIT)
|
||||
(HELD CARRIED ON-GROUND IN-ROOM TAKE) = 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-EXAMINE PRE-EXAMINE>
|
||||
<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-RESEARCH PRE-RESEARCH>
|
||||
<SYNTAX LOOK UP OBJECT IN OBJECT = V-RESEARCH PRE-RESEARCH>
|
||||
<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 LIQUIFY DISSOLVE THAW>
|
||||
|
||||
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE>
|
||||
<SYNTAX ROLL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE>
|
||||
<SYNONYM MOVE DISLOCATE SHIFT DISPLA>
|
||||
|
||||
<SYNTAX PAY OBJECT (MANY HELD HAVE) = V-PAY>
|
||||
<SYNTAX PAY OBJECT (FIND ACTORBIT) WITH OBJECT (MANY HELD HAVE) = V-PAY>
|
||||
<SYNTAX PAY OBJECT (MANY HELD HAVE) TO OBJECT (FIND ACTORBIT) = V-SPAY>
|
||||
<SYNTAX PAY OBJECT (FIND ACTORBIT) 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 SHOVE YANK>
|
||||
|
||||
<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>
|
||||
|
||||
<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 GLUE PATCH REPAIR FIX CLOG>
|
||||
|
||||
<SYNTAX POINT AT OBJECT = V-POINT>
|
||||
<SYNTAX POINT TO OBJECT = V-POINT>
|
||||
<SYNONYM POINT GESTURE>
|
||||
|
||||
<SYNTAX POKE OBJECT (FIND ACTORBIT) (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 SPILL SPRINKLE>
|
||||
|
||||
<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 THRUST NUDGE>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<SYNTAX RAISE OBJECT = V-RAISE>
|
||||
<SYNTAX RAISE UP OBJECT = V-RAISE>
|
||||
<SYNONYM RAISE LIFT ELEVATE HOIST>
|
||||
|
||||
<SYNTAX RAPE OBJECT (FIND ACTORBIT) = V-RAPE>
|
||||
<SYNONYM RAPE MOLEST DEFILE RAVISH>
|
||||
|
||||
<SYNTAX REACH IN OBJECT (ON-GROUND IN-ROOM) = V-REACH-IN>
|
||||
|
||||
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
= V-READ PRE-READ>
|
||||
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
THROUGH OBJECT = V-READ PRE-READ>
|
||||
<SYNTAX READ ABOUT OBJECT = V-RESEARCH PRE-RESEARCH>
|
||||
<SYNTAX READ ABOUT OBJECT IN OBJECT = V-RESEARCH PRE-RESEARCH>
|
||||
<SYNONYM READ SKIM>
|
||||
|
||||
<SYNTAX REMOVE OBJECT (FIND WEARBIT) (HAVE) = V-TAKE-OFF>
|
||||
<SYNONYM REMOVE DOFF SHED>
|
||||
|
||||
<SYNTAX SAY TO OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
|
||||
<SYNTAX SAY = V-SAY>
|
||||
<SYNONYM SAY TALK CALL UTTER PROCLAIM>
|
||||
|
||||
<SYNTAX SEARCH OBJECT = V-SEARCH>
|
||||
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
|
||||
<SYNTAX SEARCH FOR OBJECT = V-FIND>
|
||||
<SYNONYM SEARCH RUMMAGE FRISK RANSACK>
|
||||
|
||||
<SYNTAX SEND FOR OBJECT = V-SEND>
|
||||
|
||||
<SYNTAX SHAKE OBJECT = V-SHAKE>
|
||||
<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 DISCHARGE>
|
||||
|
||||
<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-CLIMB-ON>
|
||||
<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 SQUAT>
|
||||
|
||||
<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 = V-PUSH>
|
||||
<SYNTAX SLIDE OBJECT UNDER OBJECT = V-PUT-UNDER>
|
||||
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
|
||||
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
|
||||
|
||||
<SYNTAX SMELL OBJECT = V-SMELL>
|
||||
<SYNONYM SMELL SNIFF WHIFF>
|
||||
|
||||
<SYNTAX SPIN OBJECT = V-SPIN>
|
||||
<SYNONYM SPIN WHIRL ROTATE GYRATE>
|
||||
|
||||
<SYNTAX SPRAY OBJECT = V-SPRAY>
|
||||
<SYNTAX SPRAY OBJECT ON OBJECT = V-SPRAY>
|
||||
<SYNTAX SPRAY OBJECT WITH OBJECT = V-SSPRAY>
|
||||
|
||||
<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 STRIKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) WITH OBJECT
|
||||
(FIND WEAPONBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE) = V-ATTACK>
|
||||
<SYNTAX STRIKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-STRIKE>
|
||||
|
||||
<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 ACTORBIT) (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 VEHBIT) (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 (FIND WEARBIT) (HAVE) = V-TAKE-OFF>
|
||||
<SYNONYM TAKE GRAB CATCH GET HOLD CARRY SEIZE CONFISCATE SNATCH>
|
||||
|
||||
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
|
||||
|
||||
<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) 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-PUT PRE-PUT>
|
||||
<SYNTAX THROW OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX THROW OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT PRE-PUT>
|
||||
<SYNONYM THROW HURL CHUCK TOSS FLING PITCH>
|
||||
|
||||
<SYNTAX TIE OBJECT TO OBJECT = V-TIE>
|
||||
<SYNTAX TIE UP OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) WITH OBJECT
|
||||
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
|
||||
<SYNONYM TIE FASTEN SECURE 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>
|
||||
<SYNONYM TOUCH FEEL PAT PET RUB>
|
||||
|
||||
<SYNTAX TURN OBJECT TO OBJECT = V-TURN>
|
||||
<SYNTAX TURN OBJECT FOR OBJECT = V-TURN>
|
||||
<SYNTAX TURN OBJECT = V-TURN>
|
||||
<SYNTAX TURN OBJECT WITH OBJECT (FIND TOOLBIT) (HAVE) = V-TURN>
|
||||
<SYNTAX TURN ON OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-LAMP-ON>
|
||||
<SYNTAX TURN OFF OBJECT (FIND LIGHTBIT)
|
||||
(HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-LAMP-OFF>
|
||||
<SYNONYM TURN FLIP SHUT SET>
|
||||
|
||||
<SYNTAX UNLOCK OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND TOOLBIT) (HAVE) = 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 UNHOOK>
|
||||
|
||||
<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-WALK-AROUND>
|
||||
<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 ADVANCE TRUDGE HIKE TRAMP>
|
||||
|
||||
<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-AT>
|
||||
<SYNONYM WAVE MOTION BRANDISH BECKON>
|
||||
|
||||
<SYNTAX WAX OBJECT = V-WAX>
|
||||
<SYNTAX WAX OBJECT WITH OBJECT = V-WAX>
|
||||
<SYNONYM WAX POLISH SHINE>
|
||||
|
||||
<SYNTAX WEAR OBJECT = V-WEAR>
|
||||
<SYNONYM WEAR DON>
|
||||
|
||||
<SYNTAX WHAT OBJECT = V-WHAT>
|
||||
<SYNONYM WHAT WHATS>
|
||||
|
||||
<SYNTAX WHERE OBJECT = V-WHERE>
|
||||
<SYNONYM WHERE WHERES>
|
||||
|
||||
<SYNTAX WHO OBJECT = V-WHO>
|
||||
<SYNONYM WHO WHOS>
|
||||
|
||||
<SYNTAX YELL = V-YELL>
|
||||
<SYNONYM YELL SCREAM SHOUT HOWL>
|
||||
|
||||
\^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 AIMFIZ OBJECT = V-AIMFIZ PRE-CAST>
|
||||
<SYNTAX AIMFIZ OBJECT TO OBJECT = V-AIMFIZ-TO>
|
||||
|
||||
<SYNTAX FROTZ OBJECT = V-FROTZ PRE-CAST>
|
||||
|
||||
<SYNTAX FWEEP = V-FWEEP PRE-CAST>
|
||||
<SYNTAX FWEEP OBJECT = V-FWEEP PRE-CAST>
|
||||
|
||||
<SYNTAX GASPAR = V-GASPAR PRE-CAST>
|
||||
<SYNTAX GASPAR OBJECT = V-GASPAR PRE-CAST>
|
||||
|
||||
<SYNTAX GNUSTO OBJECT = V-GNUSTO PRE-CAST>
|
||||
|
||||
<SYNTAX GOLMAC OBJECT = V-GOLMAC PRE-CAST>
|
||||
|
||||
<SYNTAX IZYUK OBJECT = V-IZYUK PRE-CAST>
|
||||
|
||||
<SYNTAX MEEF OBJECT = V-MEEF PRE-CAST>
|
||||
|
||||
<SYNTAX MALYON OBJECT = V-MALYON PRE-CAST>
|
||||
|
||||
<SYNTAX PULVER OBJECT = V-PULVER PRE-CAST>
|
||||
|
||||
<SYNTAX REZROV OBJECT = V-REZROV PRE-CAST>
|
||||
|
||||
<SYNTAX SWANZO OBJECT = V-SWANZO PRE-CAST>
|
||||
|
||||
<SYNTAX VARDIK OBJECT (FIND ACTORBIT) = V-VARDIK PRE-CAST>
|
||||
|
||||
<SYNTAX VEZZA = V-VEZZA PRE-CAST>
|
||||
<SYNTAX VEZZA OBJECT = V-VEZZA PRE-CAST>
|
||||
|
||||
<SYNTAX YOMIN OBJECT (FIND ACTORBIT) = V-YOMIN PRE-CAST>
|
||||
|
||||
<SYNTAX YONK OBJECT = V-YONK PRE-CAST>
|
Loading…
Reference in New Issue