1704 lines
45 KiB
Plaintext
1704 lines
45 KiB
Plaintext
"BELBOZ for
|
|
SORCERER
|
|
(c) Copyright 1984 by Infocom Inc. All Rights Reserved."
|
|
|
|
<ROUTINE I-WAKE-UP ()
|
|
<JIGS-UP
|
|
"|
|
|
Suddenly, seemingly from nowhere, a bolt of lightning strikes
|
|
you in the center of your chest...">>
|
|
|
|
<OBJECT TREE
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "gnarled tree")
|
|
(SYNONYM TREE BRANCH)
|
|
(ADJECTIVE LARGE GNARLE OLD TWISTE)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION TREE-F)>
|
|
|
|
<ROUTINE TREE-F ()
|
|
<COND (<VERB? CLIMB-FOO CLIMB-UP>
|
|
<DO-WALK ,P?UP>)
|
|
(<VERB? CLIMB-DOWN>
|
|
<DO-WALK ,P?DOWN>)
|
|
(<VERB? LOOK-UNDER>
|
|
<PERFORM ,V?EXAMINE ,GROUND>
|
|
<RTRUE>)
|
|
(<VERB? MEEF>
|
|
<SETG PERFORMING-SPELL T>
|
|
<PERFORM ,V?MEEF ,FOREST>
|
|
<RTRUE>)>>
|
|
|
|
<ROOM TWISTED-FOREST
|
|
(IN ROOMS)
|
|
(DESC "Twisted Forest")
|
|
(LDESC
|
|
"You are on a path through a blighted forest. The trees are sickly,
|
|
and there is no undergrowth at all. One tree here looks climbable.
|
|
The path, which ends here, continues to the northeast.")
|
|
(UP TO TREE-BRANCH)
|
|
(NE TO FOREST-EDGE)
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(GLOBAL ROAD FOREST TREE)>
|
|
|
|
<OBJECT HELLHOUND
|
|
(IN TWISTED-FOREST)
|
|
(DESC "hellhound")
|
|
(SYNONYM HELLHO HOUND DOG)
|
|
(ADJECTIVE HELL)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION HELLHOUND-F)>
|
|
|
|
<ROUTINE HELLHOUND-F ()
|
|
<COND (<VERB? RESEARCH>
|
|
<PERFORM ,V?RESEARCH ,LOBBY>
|
|
<RTRUE>)>>
|
|
|
|
<GLOBAL HELLHOUND-WARNING <>>
|
|
|
|
<ROUTINE I-HELLHOUND ()
|
|
<COND (<EQUAL? ,HERE ,TWISTED-FOREST>
|
|
<COND (,HELLHOUND-WARNING
|
|
<JIGS-UP
|
|
"|
|
|
The hellhound reaches you and tears you apart with its powerful teeth.">)
|
|
(T
|
|
<SETG HELLHOUND-WARNING T>
|
|
<TELL CR
|
|
"A hellhound is racing straight toward you, its open jaws displaying
|
|
rows of razor-sharp teeth." CR>)>)
|
|
(<EQUAL? ,HERE ,TREE-BRANCH>
|
|
<TELL
|
|
"The hellhound leaps madly about the base of the tree, gnashing its jaws." CR>)
|
|
(T
|
|
<MOVE ,HELLHOUND ,DIAL>
|
|
<DISABLE <INT I-HELLHOUND>>
|
|
<TELL
|
|
"The hellhound stops at the edge of the forest and bellows. After a moment,
|
|
it turns and slinks into the trees." CR>)>>
|
|
|
|
<ROOM TREE-BRANCH
|
|
(IN ROOMS)
|
|
(DESC "Tree Branch")
|
|
(DOWN TO TWISTED-FOREST)
|
|
(UP PER TREE-UP-F)
|
|
(FLAGS NONLANDBIT ONBIT)
|
|
(GLOBAL FOREST TREE)
|
|
(ACTION TREE-BRANCH-F)>
|
|
|
|
<ROUTINE TREE-BRANCH-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL "You are ">
|
|
<COND (,FLYING
|
|
<TELL "flying near">)
|
|
(T
|
|
<TELL "on">)>
|
|
<TELL
|
|
" a large gnarled branch of an old and twisted tree." CR>)
|
|
(<EQUAL? .RARG ,M-ENTER>
|
|
<ENABLE <QUEUE I-BOA -1>>
|
|
<RFALSE>)>>
|
|
|
|
<ROUTINE TREE-UP-F ()
|
|
<TELL "You can't ">
|
|
<COND (,FLYING
|
|
<TELL "fly">)
|
|
(T
|
|
<TELL "climb">)>
|
|
<TELL " any higher." CR>
|
|
<RFALSE>>
|
|
|
|
<OBJECT BOA
|
|
(IN TREE-BRANCH)
|
|
(DESC "boa constrictor")
|
|
(SYNONYM BOA CONSTR SNAKE)
|
|
(ADJECTIVE GIANT BOA)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION BOA-F)>
|
|
|
|
<ROUTINE BOA-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"Your average giant carnivorous snake -- except that this one has
|
|
three heads and an appetite to match." CR>)>>
|
|
|
|
<GLOBAL BOA-WARNING <>>
|
|
|
|
<ROUTINE I-BOA ()
|
|
<COND (<EQUAL? ,HERE ,TREE-BRANCH>
|
|
<COND (,FLYING
|
|
<RFALSE>)
|
|
(,BOA-WARNING
|
|
<JIGS-UP
|
|
"|
|
|
The snake begins wrapping itself around your torso, squeezing
|
|
the life out of you...">)
|
|
(T
|
|
<SETG BOA-WARNING T>
|
|
<TELL CR
|
|
"A giant boa constrictor is slithering along the branch toward you!" CR>)>)
|
|
(T
|
|
<SETG BOA-WARNING <>>
|
|
<DISABLE <INT I-BOA>>
|
|
<RFALSE>)>>
|
|
|
|
<ROOM FOREST-EDGE
|
|
(IN ROOMS)
|
|
(SYNONYM MOUNTA)
|
|
(ADJECTIVE LONELY)
|
|
(DESC "Forest Edge")
|
|
(LDESC
|
|
"To the west, a path enters the blighted woods, which stretch out of sight.
|
|
A signpost stands beside another path leading north, and to the east is a
|
|
wide meadow. At the base of the signpost is a slimy hole leading down.")
|
|
(WEST TO TWISTED-FOREST)
|
|
(NORTH TO MINE-FIELD)
|
|
(DOWN TO SNAKE-PIT)
|
|
(EAST TO MEADOW)
|
|
(SOUTH "A tall fence blocks your way.")
|
|
(PSEUDO "FENCE" FENCE-PSEUDO)
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(GLOBAL HOLE ROAD FOREST MEADOW)>
|
|
|
|
<ROUTINE FENCE-PSEUDO ()
|
|
<COND (<VERB? CLIMB-OVER CLIMB-FOO LEAP>
|
|
<TELL "It's too tall." CR>)>>
|
|
|
|
<OBJECT SIGNPOST
|
|
(IN FOREST-EDGE)
|
|
(DESC "signpost")
|
|
(SYNONYM SIGNPO POST SIGN)
|
|
(ADJECTIVE SIGN)
|
|
(FLAGS READBIT NDESCBIT)
|
|
(ACTION SIGNPOST-F)>
|
|
|
|
<ROUTINE SIGNPOST-F ()
|
|
<COND (<VERB? READ>
|
|
<FIXED-FONT-ON>
|
|
<TELL
|
|
"|
|
|
\" *** !!! >>> WARNING <<< !!! ***|
|
|
This path is protected by a|
|
|
Magic Mine Field|
|
|
installed by the|
|
|
Frobozz Magic Mine Field Company" CR>
|
|
<FIXED-FONT-OFF>)>>
|
|
|
|
<ROOM MINE-FIELD
|
|
(IN ROOMS)
|
|
(DESC "Mine Field")
|
|
(LDESC
|
|
"This is a flat and featureless dirt path leading north and south.")
|
|
(SOUTH PER MINE-FIELD-EXIT-F)
|
|
(NORTH PER MINE-FIELD-EXIT-F)
|
|
(EAST "A tall fence blocks your way.")
|
|
(WEST "The forest is too dense to enter here.")
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(GLOBAL FOREST)
|
|
(PSEUDO "FENCE" FENCE-PSEUDO)>
|
|
|
|
<ROUTINE MINE-FIELD-EXIT-F ()
|
|
<COND (<AND <EQUAL? ,PRSO ,P?SOUTH>
|
|
<PROB 50>>
|
|
,FOREST-EDGE)
|
|
(T
|
|
<COND (,FLYING
|
|
<TELL
|
|
"Unfortunately, one of the properties of magic mine fields is their
|
|
ability to blow you up even if you're floating above them. ">)>
|
|
<JIGS-UP "Kaboom!!!...">
|
|
<RFALSE>)>>
|
|
|
|
<ROOM SNAKE-PIT
|
|
(IN ROOMS)
|
|
(DESC "Snake Pit")
|
|
(LDESC
|
|
"You have entered a shadowy pit full of nooks and crannies. From every
|
|
direction you hear the hissing of vipers and the irregular clicking of
|
|
giant beetles. Light spills down from above, and a small crack leads
|
|
further downward into darkness.")
|
|
(UP TO FOREST-EDGE)
|
|
(OUT TO FOREST-EDGE)
|
|
(DOWN TO SLIMY-ROOM)
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(PSEUDO "PIT" SNAKE-PIT-PSEUDO "CRACK" CRACK-PSEUDO)
|
|
(ACTION SNAKE-PIT-F)>
|
|
|
|
<ROUTINE SNAKE-PIT-PSEUDO ()
|
|
<COND (<VERB? THROUGH>
|
|
<LOOK-AROUND-YOU>)>>
|
|
|
|
<ROUTINE CRACK-PSEUDO ()
|
|
<COND (<VERB? THROUGH>
|
|
<DO-WALK ,P?DOWN>)>>
|
|
|
|
<OBJECT VIPERS
|
|
(IN SNAKE-PIT)
|
|
(DESC "group of unseen creatures")
|
|
(SYNONYM SNAKE SNAKES BEETLE CREATU)
|
|
(ADJECTIVE GIANT VIPER VIPERS UNSEEN GROUP)
|
|
(FLAGS NDESCBIT)>
|
|
|
|
<ROUTINE SNAKE-PIT-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER>
|
|
<ENABLE <QUEUE I-SNAKE-PIT <+ 1 <RANDOM 3>>>>
|
|
<RFALSE>)>>
|
|
|
|
<ROUTINE I-SNAKE-PIT ()
|
|
<COND (<EQUAL? ,HERE ,SNAKE-PIT>
|
|
<JIGS-UP
|
|
"|
|
|
Suddenly, the pit comes alive as dozens of vipers strike and thousands
|
|
of giant beetles pour from their hiding places.">)
|
|
(T
|
|
<DISABLE <INT I-SNAKE-PIT>>)>>
|
|
|
|
<ROOM SLIMY-ROOM
|
|
(IN ROOMS)
|
|
(SYNONYM KRILL)
|
|
(ADJECTIVE EVIL WARLOC)
|
|
(DESC "Slimy Room")
|
|
(LDESC
|
|
"This is a moist room whose walls are thick with moss and lichens. A
|
|
small hole leads up and a rocky passage leads south.")
|
|
(UP TO SNAKE-PIT)
|
|
(SOUTH TO CRATER)
|
|
(DOWN TO CRATER)
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(GLOBAL HOLE)
|
|
(PSEUDO "CRATER" CRATER-PSEUDO)>
|
|
|
|
<OBJECT MOSS
|
|
(IN SLIMY-ROOM)
|
|
(DESC "moss and lichens")
|
|
(SYNONYM MOSS LICHEN SLIME)
|
|
(FLAGS NDESCBIT NARTICLEBIT)
|
|
(ACTION MOSS-F)>
|
|
|
|
<ROUTINE MOSS-F ()
|
|
<COND (<VERB? MEEF>
|
|
<TELL
|
|
"A few patches of the moss and lichens become brown and dry." CR>)
|
|
(<VERB? EAT>
|
|
<JIGS-UP "Uh, oh. They taste poisonous.">)>>
|
|
|
|
<ROOM MEADOW
|
|
(IN ROOMS)
|
|
(DESC "Meadow")
|
|
(NORTH TO RIVER-BANK)
|
|
(NE TO RIVER-BANK)
|
|
(EAST TO DRAWBRIDGE)
|
|
(WEST TO FOREST-EDGE)
|
|
(SOUTH "A tall fence blocks your way.")
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(PSEUDO "FENCE" FENCE-PSEUDO "TURRET" TURRET-PSEUDO)
|
|
(GLOBAL MEADOW-OBJECT CASTLE)
|
|
(ACTION MEADOW-F)>
|
|
|
|
<ROUTINE MEADOW-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER>
|
|
<ENABLE <QUEUE I-LOCUSTS -1>>
|
|
<RFALSE>)
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
<TELL "You are in the center of a ">
|
|
<COND (<IN? ,MEADOW-OBJECT ,HERE>
|
|
<TELL "rolling meadow of tall grass">)
|
|
(T
|
|
<TELL "barren field">)>
|
|
<TELL
|
|
". To the east is the turret of a ruined castle, and from the northeast
|
|
comes the sound of rushing water." CR>)>>
|
|
|
|
<OBJECT MEADOW-OBJECT
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "meadow")
|
|
(SYNONYM MEADOW GRASS FIELD)
|
|
(ADJECTIVE TALL ROLLIN WIDE)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION MEADOW-OBJECT-F)>
|
|
|
|
<ROUTINE MEADOW-OBJECT-F ()
|
|
<COND (<AND <NOT <EQUAL? ,HERE ,MEADOW>>
|
|
<VERB? RUB MEEF>>
|
|
<TELL "The meadow is too far away." CR>)
|
|
(<VERB? MEEF>
|
|
<MOVE ,MEADOW-OBJECT ,DIAL>
|
|
<TELL "The grass vanishes as far as the eye can see." CR>)>>
|
|
|
|
<OBJECT PLAGUE-OF-LOCUSTS
|
|
(IN MEADOW)
|
|
(DESC "plague of locusts")
|
|
(SYNONYM PLAGUE SWARM LOCUSTS)
|
|
(ADJECTIVE BLOOD SUCKIN)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION PLAGUE-OF-LOCUSTS-F)>
|
|
|
|
<ROUTINE PLAGUE-OF-LOCUSTS-F ()
|
|
<COND (<VERB? LOOK-UNDER>
|
|
<PERFORM ,V?EXAMINE ,MEADOW-OBJECT>
|
|
<RTRUE>)>>
|
|
|
|
<GLOBAL LOCUST-WARNING 0>
|
|
|
|
<ROUTINE I-LOCUSTS ()
|
|
<COND (<NOT <EQUAL? ,HERE ,MEADOW>>
|
|
<DISABLE <INT I-LOCUSTS>>
|
|
<SETG LOCUST-WARNING 0>
|
|
<RFALSE>)
|
|
(<EQUAL? ,LOCUST-WARNING 0>
|
|
<SETG LOCUST-WARNING <+ ,LOCUST-WARNING 1>>
|
|
<TELL CR
|
|
"A swarm of bloodsucking locusts appears on the horizon." CR>)
|
|
(<EQUAL? ,LOCUST-WARNING 1>
|
|
<SETG LOCUST-WARNING <+ ,LOCUST-WARNING 1>>
|
|
<TELL CR
|
|
"The locusts are much closer now, blotting out the sun like
|
|
a black storm cloud." CR>)
|
|
(T
|
|
<SETG LOCUST-WARNING 0>
|
|
<JIGS-UP
|
|
"|
|
|
The locusts swarm over you and pick you clean to the bones.">)>>
|
|
|
|
<ROOM RIVER-BANK
|
|
(IN ROOMS)
|
|
(DESC "River Bank")
|
|
(SOUTH TO MEADOW)
|
|
(SW TO MEADOW)
|
|
(NORTH PER RIVER-ENTER-F)
|
|
(EAST PER RIVER-ENTER-F)
|
|
(NE PER RIVER-ENTER-F)
|
|
(DOWN PER RIVER-ENTER-F)
|
|
(NW "Undergrowth prevents travel along the bank.")
|
|
(SE TO FORT-ENTRANCE)
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(GLOBAL WATER RIVER MEADOW-OBJECT BANKS RIVER-BED-OBJECT)
|
|
(PSEUDO "ROCK" ROCK-PSEUDO "ROCKS" ROCK-PSEUDO)
|
|
(ACTION RIVER-BANK-F)>
|
|
|
|
<GLOBAL BANK-COUNTER 0>
|
|
|
|
<ROUTINE RIVER-BANK-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL "You are on a muddy bank ">
|
|
<COND (,RIVER-EVAPORATED
|
|
<TELL "above a dried-up river bed">)
|
|
(T
|
|
<TELL
|
|
"of a fast-moving river, full of sharp rocks and foaming rapids,
|
|
flowing to the southwest. The ground is soft and eroded, and
|
|
continually threatens to dump you into the turbulent waters">)>
|
|
<TELL
|
|
". A field lies to the southwest, and a trail leads southeast
|
|
along the bank." CR>)
|
|
(<EQUAL? .RARG ,M-END>
|
|
<COND (<L? ,BANK-COUNTER 3>
|
|
<SETG BANK-COUNTER <+ ,BANK-COUNTER 1>>
|
|
<RFALSE>)
|
|
(T
|
|
<COND (<AND <NOT ,RIVER-EVAPORATED>
|
|
<NOT ,FLYING>
|
|
<PROB 75>>
|
|
<JIGS-UP
|
|
"Oops! A section of the bank gives way and you tumble into
|
|
the river. The current dashes you against the rocks.">)>)>)>>
|
|
|
|
<ROUTINE ROCK-PSEUDO ()
|
|
<COND (<VERB? CROSS>
|
|
<TELL <PICK-ONE ,YUKS> CR>)>>
|
|
|
|
<GLOBAL RIVER-EVAPORATED <>>
|
|
|
|
<ROUTINE RIVER-ENTER-F ()
|
|
<COND (,RIVER-EVAPORATED
|
|
,RIVER-BED)
|
|
(,FLYING
|
|
<JIGS-UP
|
|
"You fly across the river's surface. Suddenly, a downdraft plunges
|
|
you into the swirling rapids!">
|
|
<RFALSE>)
|
|
(T
|
|
<TELL "You'd never survive the rapids." CR>
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT RIVER
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "river")
|
|
(SYNONYM RIVER WATERS RAPIDS)
|
|
(ADJECTIVE MIGHTY FAST- MOVING TURBUL FOAMIN)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION RIVER-F)>
|
|
|
|
<ROUTINE RIVER-F ()
|
|
<COND (<EQUAL? ,HERE ,GUN-EMPLACEMENT ,TURRET>
|
|
<TELL "The river lies far below." CR>)
|
|
(,RIVER-EVAPORATED
|
|
<TELL "River? What river?" CR>)
|
|
(<VERB? DRINK DRINK-FROM>
|
|
<PERFORM ,V?DRINK ,WATER>
|
|
<RTRUE>)
|
|
(<VERB? PULVER>
|
|
<COND (<EQUAL? ,HERE ,RIVER-BANK>
|
|
<SETG RIVER-EVAPORATED T>
|
|
<ENABLE <QUEUE I-TRICKLE 3>>
|
|
<TELL
|
|
"The river dries up, leaving only a few puddles between the rocks! It's
|
|
now safe to climb down into the river bed." CR>)
|
|
(T
|
|
<TELL
|
|
"The water level drops several feet, but quickly surges back." CR>)>)
|
|
(<VERB? EXAMINE>
|
|
<TELL "The river flows quickly by below you." CR>)
|
|
(<AND <VERB? PUT>
|
|
<EQUAL? ,RIVER ,PRSI>>
|
|
<MOVE ,PRSO ,DIAL>
|
|
<SPLASH>)
|
|
(<VERB? THROUGH>
|
|
<DO-WALK ,P?NORTH>)>>
|
|
|
|
<ROUTINE I-TRICKLE ()
|
|
<ENABLE <QUEUE I-FLOOD 2>>
|
|
<COND (<OR <EQUAL? ,HERE ,RIVER-BANK ,RIVER-BED>
|
|
<EQUAL? ,HERE ,STAGNANT-POOL ,TOP-OF-FALLS>>
|
|
<TELL CR
|
|
"A trickle of water begins flowing down the center of the river bed." CR>)>>
|
|
|
|
<ROUTINE I-FLOOD ()
|
|
<SETG RIVER-EVAPORATED <>>
|
|
<FLOOD-LOOP ,RIVER-BED>
|
|
<FLOOD-LOOP ,STAGNANT-POOL>
|
|
<FLOOD-LOOP ,TOP-OF-FALLS>
|
|
<CRLF>
|
|
<COND (<EQUAL? ,HERE ,STAGNANT-POOL ,RIVER-BED ,TOP-OF-FALLS>
|
|
<JIGS-UP
|
|
"A wall of water comes rushing down the river bed! You are smashed into
|
|
jelly against the rocks.">)
|
|
(<EQUAL? ,HERE ,RIVER-BANK>
|
|
<TELL
|
|
"A wall of water rushes down the river bed as the river returns with
|
|
a vengeance." CR>)
|
|
(<EQUAL? ,HERE ,HIDDEN-CAVE>
|
|
<TELL
|
|
"There is a roar of water from outside the cave. The lower part
|
|
of the cave, near the mouth, fills with a pool of swirling water!" CR>)>>
|
|
|
|
<ROUTINE FLOOD-LOOP (LOC "AUX" X N)
|
|
<SET X <FIRST? .LOC>>
|
|
<COND (<NOT .X>
|
|
<RTRUE>)>
|
|
<REPEAT ()
|
|
<SET N <NEXT? .X>>
|
|
<COND (<NOT <EQUAL? .X ,PROTAGONIST>>
|
|
<MOVE .X ,DIAL>)>
|
|
<COND (<NOT .N>
|
|
<RETURN>)
|
|
(T
|
|
<SET X .N>)>>>
|
|
|
|
<OBJECT UNDERGROWTH
|
|
(IN RIVER-BANK)
|
|
(DESC "undergrowth")
|
|
(SYNONYM UNDERG)
|
|
(FLAGS NDESCBIT VOWELBIT NARTICLEBIT)
|
|
(ACTION UNDERGROWTH-F)>
|
|
|
|
<ROUTINE UNDERGROWTH-F ()
|
|
<COND (<VERB? MEEF>
|
|
<TELL
|
|
"The nearest part of the undergrowth withers away ... revealing
|
|
more undergrowth." CR>)>>
|
|
|
|
<OBJECT BANKS
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "river bank")
|
|
(SYNONYM BANK BANKS)
|
|
(ADJECTIVE RIVER MUDDY TALL STEEP HIGH)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION BANKS-F)>
|
|
|
|
<ROUTINE BANKS-F ()
|
|
<COND (<VERB? CLIMB-UP CLIMB-DOWN CLIMB-FOO>
|
|
<V-WALK-AROUND>)>>
|
|
|
|
<OBJECT RIVER-BED-OBJECT
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "river bed")
|
|
(SYNONYM BED)
|
|
(ADJECTIVE RIVER)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION RIVER-BED-OBJECT-F)>
|
|
|
|
<ROUTINE RIVER-BED-OBJECT-F ()
|
|
<COND (<VERB? THROUGH>
|
|
<COND (<EQUAL? ,HERE ,RIVER-BANK>
|
|
<DO-WALK ,P?DOWN>)
|
|
(T
|
|
<LOOK-AROUND-YOU>)>)
|
|
(<VERB? DROP EXIT>
|
|
<COND (<EQUAL? ,HERE ,RIVER-BANK>
|
|
<LOOK-AROUND-YOU>)
|
|
(T
|
|
<DO-WALK ,P?UP>)>)>>
|
|
|
|
<ROOM RIVER-BED
|
|
(IN ROOMS)
|
|
(SYNONYM SERVAN GUILD)
|
|
(ADJECTIVE SERVAN)
|
|
(DESC "River Bed")
|
|
(LDESC
|
|
"You are on the bed of an evaporated river. Fish splash helplessly in
|
|
tiny puddles. The bed leads northwest and southeast. A climb up the
|
|
southwest bank is possible. To the northeast is a dark cave, hollowed
|
|
out by years of rushing water.")
|
|
(UP TO RIVER-BANK)
|
|
(SW TO RIVER-BANK)
|
|
(NE TO HIDDEN-CAVE)
|
|
(SE TO TOP-OF-FALLS)
|
|
(NW TO STAGNANT-POOL)
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(PSEUDO "PUDDLE" PUDDLE-PSEUDO "FISH" FISH-PSEUDO)
|
|
(GLOBAL WATER CAVE BANKS RIVER-BED-OBJECT)
|
|
(ACTION RIVER-BED-F)>
|
|
|
|
<ROUTINE RIVER-BED-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER>
|
|
<PUT ,VEZZAS 1 0>
|
|
<RFALSE>)>>
|
|
|
|
<ROUTINE PUDDLE-PSEUDO ()
|
|
<COND (<VERB? THROUGH>
|
|
<TELL "The puddles are very shallow." CR>)
|
|
(<VERB? PULVER>
|
|
<SETG PERFORMING-SPELL T>
|
|
<PERFORM ,V?PULVER ,WATER>
|
|
<RTRUE>)>>
|
|
|
|
<ROUTINE FISH-PSEUDO ()
|
|
<COND (<VERB? TAKE>
|
|
<TELL "They squirm from your grasp." CR>)>>
|
|
|
|
<ROOM STAGNANT-POOL
|
|
(IN ROOMS)
|
|
(SYNONYM TUMPER)
|
|
(ADJECTIVE GABBER)
|
|
(DESC "Near Stagnant Pool")
|
|
(LDESC
|
|
"The river bed to the northwest is a pool covered with algae and other
|
|
scum. The bed to the southeast is slightly drier. The banks are too tall
|
|
and steep to climb here.")
|
|
(NW PER TENTACLE-DEATH)
|
|
(SE TO RIVER-BED)
|
|
(UP PER RIVER-EXIT-F)
|
|
(NE PER RIVER-EXIT-F)
|
|
(SW PER RIVER-EXIT-F)
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(GLOBAL WATER BANKS RIVER-BED-OBJECT)>
|
|
|
|
<ROUTINE TENTACLE-DEATH ()
|
|
<COND (,FLYING
|
|
<TELL "You fly over the surface of the pool.">)
|
|
(T
|
|
<TELL "You wade into the stagnant pool.">)>
|
|
<JIGS-UP
|
|
" Suddenly, powerful tentacles lash out and drag you under the surface.">
|
|
<RFALSE>>
|
|
|
|
<ROOM TOP-OF-FALLS
|
|
(IN ROOMS)
|
|
(SYNONYM BORPHE)
|
|
(DESC "Top of Falls")
|
|
(LDESC
|
|
"The river bed ends here at a steep cliff, where the river once plunged
|
|
over a waterfall. Below the falls, in the distance, is a large sea,
|
|
covered with haze. The bed continues northwest, but the banks here are
|
|
unclimbable. Atop the southwestern bank stands a proud fortress.")
|
|
(UP PER RIVER-EXIT-F)
|
|
(NE PER RIVER-EXIT-F)
|
|
(SW PER RIVER-EXIT-F)
|
|
(SE PER WATERFALL-EXIT-F)
|
|
(DOWN PER WATERFALL-EXIT-F)
|
|
(NW TO RIVER-BED)
|
|
(FLAGS ONBIT RLANDBIT)
|
|
(GLOBAL WATER FORT BANKS OCEAN WATERFALL RIVER-BED-OBJECT)
|
|
(PSEUDO "CLIFF" TOP-OF-CLIFF-PSEUDO "HAZE" HAZE-PSEUDO)>
|
|
|
|
<ROUTINE RIVER-EXIT-F ()
|
|
<TELL "The banks are too ">
|
|
<COND (,FLYING
|
|
<TELL "high to fly over." CR>)
|
|
(T
|
|
<TELL "steep to climb." CR>)>
|
|
<RFALSE>>
|
|
|
|
<ROUTINE WATERFALL-EXIT-F ()
|
|
<COND (,FLYING
|
|
<TELL
|
|
"That would be foolhardy, as flying spells are of limited duration." CR>)
|
|
(T
|
|
<TELL "That would involve quite a plunge." CR>)>
|
|
<RFALSE>>
|
|
|
|
<ROUTINE TOP-OF-CLIFF-PSEUDO ()
|
|
<COND (<VERB? CLIMB-DOWN>
|
|
<TELL "Impossible." CR>)
|
|
(<VERB? LEAP>
|
|
<JIGS-UP "Brilliant move.">)>>
|
|
|
|
<ROUTINE HAZE-PSEUDO ()
|
|
<COND (<VERB? RUB>
|
|
<TELL "From here?" CR>)>>
|
|
|
|
<OBJECT WATERFALL
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "waterfall")
|
|
(SYNONYM WATERF FALL FALLS)
|
|
(ADJECTIVE WATER TALL)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION WATERFALL-F)>
|
|
|
|
<ROUTINE WATERFALL-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"It's no Aragain Falls, but it's pretty impressive." CR>)
|
|
(<AND <VERB? LEAP>
|
|
<EQUAL? ,HERE ,TOP-OF-FALLS>>
|
|
<SETG PRSO <>>
|
|
<PERFORM ,V?LEAP>
|
|
<RTRUE>)
|
|
(<AND <EQUAL? ,HERE ,MOUTH-OF-RIVER ,TURRET>
|
|
<VERB? LEAP RUB SMELL LISTEN>>
|
|
<TELL "From here?" CR>)>>
|
|
|
|
<ROOM HIDDEN-CAVE
|
|
(IN ROOMS)
|
|
(DESC "Hidden Cave")
|
|
(SW TO RIVER-BED IF RIVER-EVAPORATED ELSE
|
|
"Entering that swirling, turbulent pool looks very dangerous.")
|
|
(OUT TO RIVER-BED IF RIVER-EVAPORATED ELSE
|
|
"Entering that swirling, turbulent pool looks very dangerous.")
|
|
(DOWN TO PIT-OF-BONES)
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(GLOBAL WATER CAVE HOLE)
|
|
(ACTION HIDDEN-CAVE-F)>
|
|
|
|
<ROUTINE HIDDEN-CAVE-F (RARG)
|
|
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
|
<NOT <FSET? ,HIDDEN-CAVE ,TOUCHBIT>>>
|
|
<SETG SCORE <+ ,SCORE 20>>)
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"This is a hollow area under the northeast bank of the river. The floor
|
|
rises away from the mouth of the cave, which is at its southwest end. ">
|
|
<COND (<NOT ,RIVER-EVAPORATED>
|
|
<TELL
|
|
"The mouth is filled with a pool of swirling water. ">)>
|
|
<TELL
|
|
"A dark hole leads downward at the far end of the cave." CR>)>>
|
|
|
|
<OBJECT BAT-GUANO
|
|
(IN HIDDEN-CAVE)
|
|
(DESC "pile of bat guano")
|
|
(SYNONYM PILE GUANO SHIT)
|
|
(ADJECTIVE BAT FECES TURDS DUNG)
|
|
(FLAGS TRYTAKEBIT TAKEBIT NDESCBIT)
|
|
(SIZE 10)
|
|
(ACTION BAT-GUANO-F)>
|
|
|
|
<ROUTINE BAT-GUANO-F ()
|
|
<COND (<AND <VERB? TAKE>
|
|
<NOT <FSET? ,FWEEP-SCROLL ,TOUCHBIT>>>
|
|
<FSET ,FWEEP-SCROLL ,TOUCHBIT>
|
|
<FSET ,BAT-GUANO ,TOUCHBIT>
|
|
<FCLEAR ,BAT-GUANO ,TRYTAKEBIT>
|
|
<FCLEAR ,BAT-GUANO ,NDESCBIT>
|
|
<MOVE ,BAT-GUANO ,PROTAGONIST>
|
|
<TELL
|
|
"As you take the guano, the soiled scroll falls to the ground." CR>)>>
|
|
|
|
<OBJECT BLORT-VIAL
|
|
(IN HIDDEN-CAVE)
|
|
(DESC "amber vial")
|
|
(SYNONYM VIAL VIALS LABEL)
|
|
(ADJECTIVE AMBER BLORT)
|
|
(FLAGS CONTBIT READBIT TRYTAKEBIT TAKEBIT VOWELBIT VIALBIT SEARCHBIT)
|
|
(SIZE 3)
|
|
(CAPACITY 1)
|
|
(ACTION BLORT-VIAL-F)>
|
|
|
|
<ROUTINE BLORT-VIAL-F ()
|
|
<COND (<VERB? READ>
|
|
<FIXED-FONT-ON>
|
|
<TELL
|
|
"|
|
|
\"BLORT POTION|
|
|
(ability to see in dark places)\"" CR>
|
|
<FIXED-FONT-OFF>)>>
|
|
|
|
<OBJECT BLORT-POTION
|
|
(IN BLORT-VIAL)
|
|
(DESC "amber potion")
|
|
(SYNONYM POTION)
|
|
(ADJECTIVE AMBER BLORT)
|
|
(FLAGS NARTICLEBIT VOWELBIT)
|
|
(ACTION BLORT-POTION-F)>
|
|
|
|
<ROUTINE BLORT-POTION-F ()
|
|
<COND (<AND <VERB? EAT DRINK>
|
|
<NOT <HELD? ,BLORT-VIAL>>>
|
|
<POTION-POUR ,BLORT-VIAL>)
|
|
(<VERB? RESEARCH>
|
|
<READ-ABOUT-POTIONS 1>)
|
|
(<VERB? EAT DRINK>
|
|
<MOVE ,BLORT-POTION ,DIAL>
|
|
<COND (,UNDER-INFLUENCE
|
|
<TWO-POTIONS>
|
|
<RTRUE>)>
|
|
<ENABLE <QUEUE I-UNBLORT 24>>
|
|
<SETG BLORTED T>
|
|
<SETG UNDER-INFLUENCE ,BLORT-POTION>
|
|
<TELL
|
|
"The amber potion tasted like chives, and made your eyes tingle." CR>)
|
|
(<VERB? DROP>
|
|
<PERFORM ,V?POUR ,PRSO ,PRSI>
|
|
<RTRUE>)
|
|
(<AND <VERB? POUR>
|
|
<EQUAL? ,PRSO ,BLORT-POTION>>
|
|
<POTION-POUR ,BLORT-VIAL>)>>
|
|
|
|
<GLOBAL BLORTED <>>
|
|
|
|
<ROUTINE I-UNBLORT ()
|
|
<SETG BLORTED <>>
|
|
<COND (<EQUAL? ,UNDER-INFLUENCE ,BLORT-POTION>
|
|
<SETG UNDER-INFLUENCE <>>)>
|
|
<TELL CR "Your eyes tingle for a moment.">
|
|
<COND (<NOT ,LIT>
|
|
<TELL " You can no longer see anything around you!">)>
|
|
<CRLF>>
|
|
|
|
<OBJECT FWEEP-SCROLL
|
|
(IN HIDDEN-CAVE)
|
|
(DESC "soiled scroll")
|
|
(FDESC
|
|
"Lying in the corner, in a pile of bat guano, is a scroll.")
|
|
(SYNONYM SCROLL)
|
|
(ADJECTIVE SOILED)
|
|
(FLAGS READBIT SCROLLBIT TRYTAKEBIT TAKEBIT CONTBIT TRANSBIT)
|
|
(SIZE 3)
|
|
(ACTION SCROLL-F)>
|
|
|
|
<OBJECT FWEEP-SPELL
|
|
(IN FWEEP-SCROLL)
|
|
(SYNONYM SPELLS SPELL)
|
|
(ADJECTIVE FWEEP)
|
|
(DESC "fweep spell")
|
|
(TEXT "turn caster into a bat")
|
|
(COUNT 0)
|
|
(SIZE 1)
|
|
(FLAGS NDESCBIT SPELLBIT)
|
|
(ACTION SPELL-F)>
|
|
|
|
<GLOBAL FWEEPED <>>
|
|
|
|
<ROUTINE I-UNFWEEP ()
|
|
<SETG FWEEPED <>>
|
|
<SETG FLYING <>>
|
|
<TELL CR
|
|
"After a moment of futilely flapping your arms, you realize that
|
|
the fweep spell has worn off. ">
|
|
<COND (<AND <EQUAL? ,HERE ,GLASS-MAZE>
|
|
<NO-FLOOR?>>
|
|
<JIGS-UP
|
|
"Unfortunately, this room of the maze has no floor.">)
|
|
(<EQUAL? ,HERE ,TREE-BRANCH>
|
|
<SETTLE-ONTO-BRANCH>)
|
|
(<EQUAL? ,HERE ,LAGOON>
|
|
<SPLASH-INTO-WATER>)
|
|
(T
|
|
<TELL
|
|
"You fall several feet to the ground." CR>)>
|
|
<COND (<G? ,AWAKE 8>
|
|
<I-TIRED>)>>
|
|
|
|
;"FORT-ENTRANCE and beyond is in FORT.ZIL"
|
|
|
|
<ROOM DRAWBRIDGE
|
|
(IN ROOMS)
|
|
(DESC "Drawbridge")
|
|
(EAST TO RUINS)
|
|
(WEST TO MEADOW)
|
|
(DOWN PER DRAWBRIDGE-EXIT-F)
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(GLOBAL WATER CASTLE MEADOW-OBJECT)
|
|
(ACTION DRAWBRIDGE-F)>
|
|
|
|
<GLOBAL DRAWBRIDGE-MOVE <>>
|
|
|
|
<ROUTINE DRAWBRIDGE-F (RARG)
|
|
<COND (<AND <EQUAL? .RARG ,M-END>
|
|
<NOT ,FLYING>>
|
|
<COND (,DRAWBRIDGE-MOVE
|
|
<COND (<PROB 40>
|
|
<TELL
|
|
"With a scream of splintering wood, part of the drawbridge collapses and spills
|
|
you into the moat. ">
|
|
<DO-WALK ,P?DOWN>)
|
|
(T
|
|
<TELL "The bridge continues to creak." CR>)>)
|
|
(T
|
|
<SETG DRAWBRIDGE-MOVE T>
|
|
<RFALSE>)>)
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
<TELL "You are ">
|
|
<COND (,FLYING
|
|
<TELL "floating over">)
|
|
(T
|
|
<TELL "standing on">)>
|
|
<TELL
|
|
" the drawbridge of a ruined castle which lies to your east. The wood
|
|
of the bridge looks severely rotted">
|
|
<COND (,FLYING
|
|
<TELL ". The moat is">)
|
|
(T
|
|
<TELL
|
|
" and creaks ominously beneath you. The moat, although an easy dive
|
|
from here, looks dangerous,">)>
|
|
<TELL
|
|
" full of sinister shapes beneath the surface of the water. To
|
|
the west is a wide field." CR>)>>
|
|
|
|
<ROUTINE DRAWBRIDGE-EXIT-F ()
|
|
<JIGS-UP "You are immediately set upon by alligators and piranhas.">
|
|
<RFALSE>>
|
|
|
|
<OBJECT MOAT
|
|
(IN DRAWBRIDGE)
|
|
(DESC "moat")
|
|
(SYNONYM MOAT)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION MOAT-F)>
|
|
|
|
<ROUTINE MOAT-F ()
|
|
<COND (<VERB? PULVER>
|
|
<TELL
|
|
"The moat dries up, leaving vicious-looking creatures flopping around
|
|
in puddles. Immediately, the castle's automatic moat-filler turns on,
|
|
and refills the moat." CR>)
|
|
(<VERB? DRINK DRINK-FROM>
|
|
<PERFORM ,V?DRINK ,WATER>
|
|
<RTRUE>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"The water is murky, and lily pads cover most of the surface. Dark
|
|
shapes swim about below the surface." CR>)
|
|
(<VERB? LEAP THROUGH>
|
|
<DO-WALK ,P?DOWN>)>>
|
|
|
|
<OBJECT BRIDGE
|
|
(IN DRAWBRIDGE)
|
|
(DESC "wooden drawbridge")
|
|
(SYNONYM BRIDGE DRAWBR)
|
|
(ADJECTIVE ROTTED WOODEN DRAW)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION BRIDGE-F)>
|
|
|
|
<ROUTINE BRIDGE-F ()
|
|
<COND (<VERB? LOOK-UNDER>
|
|
<PERFORM ,V?EXAMINE ,MOAT>
|
|
<RTRUE>)
|
|
(<VERB? LISTEN>
|
|
<TELL "Creak, creak." CR>)>>
|
|
|
|
<ROOM RUINS
|
|
(IN ROOMS)
|
|
(SYNONYM FANNUC)
|
|
(ADJECTIVE DOUBLE)
|
|
(DESC "Ruins")
|
|
(LDESC
|
|
"You are amongst the ruins of an ancient castle. A winding stairway leads
|
|
up to a crumbling turret, and a dark passage leads downward. A path heads
|
|
through the rubble to the west.")
|
|
(WEST TO DRAWBRIDGE)
|
|
(UP TO TURRET)
|
|
(DOWN TO DUNGEON)
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(PSEUDO "TURRET" TURRET-PSEUDO)
|
|
(GLOBAL STAIRS CASTLE)>
|
|
|
|
<ROOM TURRET
|
|
(IN ROOMS)
|
|
(SYNONYM MAILMA MESSEN GUILD)
|
|
(ADJECTIVE MESSEN)
|
|
(DESC "Turret")
|
|
(LDESC
|
|
"This is the only turret of the castle still standing. It affords a
|
|
marvelous view of a meadow to the west, and beyond that a twisted forest.
|
|
To the north is a mighty fortress which stands atop a cliff where a
|
|
turbulent river pours into an ocean. The ocean stretches out of sight
|
|
to the east. A spiralling staircase leads downward.")
|
|
(DOWN TO RUINS)
|
|
(FLAGS RLANDBIT ONBIT)
|
|
(PSEUDO "TURRET" TURRET-PSEUDO)
|
|
(GLOBAL FORT OCEAN RIVER MEADOW-OBJECT STAIRS FOREST CASTLE WATERFALL)>
|
|
|
|
<ROUTINE TURRET-PSEUDO ()
|
|
<COND (<VERB? THROUGH>
|
|
<COND (<EQUAL? ,HERE ,RUINS>
|
|
<DO-WALK ,P?UP>)
|
|
(<EQUAL? ,HERE ,MEADOW>
|
|
<CANT-ENTER ,IT>)
|
|
(T
|
|
<LOOK-AROUND-YOU>)>)
|
|
(<VERB? DROP EXIT>
|
|
<COND (<EQUAL? ,HERE ,TURRET>
|
|
<DO-WALK ,P?DOWN>)
|
|
(T
|
|
<LOOK-AROUND-YOU>)>)
|
|
(<AND <VERB? LEAP>
|
|
<EQUAL? ,HERE ,TURRET>>
|
|
<SETG PRSO <>>
|
|
<PERFORM ,V?LEAP>
|
|
<RTRUE>)>>
|
|
|
|
<ROOM TORTURE-CHAMBER
|
|
(IN ROOMS)
|
|
(DESC "Torture Chamber")
|
|
(LDESC
|
|
"This is a large and well-equipped torture chamber. These were very
|
|
popular in castles of several centuries ago, but are somewhat out
|
|
of fashion now. There are exits to the west and north.")
|
|
(WEST TO DUNGEON)
|
|
(NORTH TO PIT-OF-BONES)
|
|
(FLAGS RLANDBIT INSIDEBIT)
|
|
(GLOBAL CASTLE)>
|
|
|
|
<OBJECT TORTURE-DEVICES
|
|
(IN TORTURE-CHAMBER)
|
|
(DESC "torture devices")
|
|
(SYNONYM DEVICE RACK PIT PENDUL)
|
|
(ADJECTIVE TORTUR)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION TORTURE-DEVICES-F)>
|
|
|
|
<ROUTINE TORTURE-DEVICES-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"All the usual torture devices are here, all quite mean and
|
|
deadly looking." CR>)>>
|
|
|
|
<OBJECT FLAXO-VIAL
|
|
(IN TORTURE-CHAMBER)
|
|
(DESC "indigo vial")
|
|
(FDESC
|
|
"Sitting near one of the torture devices is an indigo vial, labelled
|
|
in tiny letters.")
|
|
(SYNONYM VIAL VIALS LETTER LABEL)
|
|
(ADJECTIVE INDIGO FLAXO TINY)
|
|
(FLAGS CONTBIT READBIT TAKEBIT VOWELBIT VIALBIT SEARCHBIT)
|
|
(SIZE 3)
|
|
(CAPACITY 1)
|
|
(ACTION FLAXO-VIAL-F)>
|
|
|
|
<ROUTINE FLAXO-VIAL-F ()
|
|
<COND (<VERB? READ>
|
|
<FIXED-FONT-ON>
|
|
<TELL
|
|
"|
|
|
\"FLAXO POTION|
|
|
(exquisite torture)\"" CR>
|
|
<FIXED-FONT-OFF>)>>
|
|
|
|
<OBJECT FLAXO-POTION
|
|
(IN FLAXO-VIAL)
|
|
(DESC "indigo potion")
|
|
(SYNONYM POTION)
|
|
(ADJECTIVE FLAXO INDIGO)
|
|
(FLAGS NARTICLEBIT VOWELBIT)
|
|
(ACTION FLAXO-POTION-F)>
|
|
|
|
<ROUTINE FLAXO-POTION-F ()
|
|
<COND (<AND <VERB? EAT DRINK>
|
|
<NOT <HELD? ,FLAXO-VIAL>>>
|
|
<POTION-POUR ,FLAXO-VIAL>)
|
|
(<VERB? RESEARCH>
|
|
<READ-ABOUT-POTIONS 2>)
|
|
(<VERB? EAT DRINK>
|
|
<MOVE ,FLAXO-POTION ,DIAL>
|
|
<TELL
|
|
"The potion tastes like a combination of anchovies, prune juice, and
|
|
garlic powder. As you finish swallowing the potion, a well-muscled troll
|
|
saunters in">
|
|
<COND (<EQUAL? ,HERE ,TORTURE-CHAMBER>
|
|
<TELL " and straps you to a torture device">)>
|
|
<TELL
|
|
". He whacks your head with a wooden two-by-four, grunting \"You are
|
|
playing Sorcerer. It was written by S. Eric Meretzky. You will have
|
|
fun and enjoy yourself.\" He repeats this action 999 more times, then
|
|
vanishes without a trace." CR>)
|
|
(<VERB? DROP>
|
|
<PERFORM ,V?POUR ,PRSO ,PRSI>
|
|
<RTRUE>)
|
|
(<AND <VERB? POUR>
|
|
<EQUAL? ,PRSO ,FLAXO-POTION>>
|
|
<POTION-POUR ,FLAXO-VIAL>)>>
|
|
|
|
<ROOM DUNGEON
|
|
(IN ROOMS)
|
|
(SYNONYM TRAVEL)
|
|
(ADJECTIVE TEMPOR TIME)
|
|
(DESC "Dungeon")
|
|
(LDESC
|
|
"This is the dark and dank dungeon of the ruined castle. There's probably
|
|
a torture chamber nearby. You can go east, northeast, or upward. A small
|
|
opening leads down as well.")
|
|
(EAST TO TORTURE-CHAMBER)
|
|
(UP TO RUINS)
|
|
(NE TO PIT-OF-BONES)
|
|
(DOWN TO HIGHWAY)
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(GLOBAL HOLE CASTLE)>
|
|
|
|
<ROOM PIT-OF-BONES
|
|
(IN ROOMS)
|
|
(DESC "Pit of Bones")
|
|
(LDESC
|
|
"In the center of the room is a deep pit filled with countless bones, an
|
|
indication of the brutality of dungeon life. There are exits south and
|
|
southwest. High above you is a small opening in the ceiling.")
|
|
(UP PER PIT-OF-BONES-EXIT-F)
|
|
(SOUTH TO TORTURE-CHAMBER)
|
|
(SW TO DUNGEON)
|
|
(DOWN "Do you really want to add your bones to the others in the pit?")
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(GLOBAL HOLE CASTLE CAVE)
|
|
(PSEUDO "BONES" BONES-PSEUDO "PIT" PIT-PSEUDO)>
|
|
|
|
<ROUTINE PIT-OF-BONES-EXIT-F ()
|
|
<COND (,FLYING
|
|
<TELL "You can't fly high enough to reach the hole." CR>)
|
|
(T
|
|
<TELL "The hole is too high to reach." CR>)>
|
|
<RFALSE>>
|
|
|
|
<ROUTINE BONES-PSEUDO ()
|
|
<COND (<VERB? TAKE SEARCH DIG>
|
|
<TELL "They're at the bottom of the pit." CR>)
|
|
(<VERB? MALYON>
|
|
<JIGS-UP "The results are too hideous to describe.">)>>
|
|
|
|
<ROUTINE PIT-PSEUDO ()
|
|
<COND (<VERB? LEAP THROUGH>
|
|
<DO-WALK ,P?DOWN>)
|
|
(<VERB? LOOK-INSIDE>
|
|
<TELL "Bones. Lots of bones." CR>)>>
|
|
|
|
<ROOM HIGHWAY
|
|
(IN ROOMS)
|
|
(SYNONYM GUILD CIRCLE ENCHAN)
|
|
(ADJECTIVE ENCHAN)
|
|
(DESC "Highway")
|
|
(LDESC
|
|
"This is a wide road winding away to the east and west, perhaps a relic
|
|
of the Great Underground Empire you read about in history class. A passage
|
|
leads up to the north.")
|
|
(UP TO DUNGEON)
|
|
(NORTH TO DUNGEON)
|
|
(EAST TO TOLL-GATE)
|
|
(WEST TO BEND)
|
|
(FLAGS RLANDBIT INSIDEBIT)
|
|
(GLOBAL ROAD)>
|
|
|
|
<ROOM TOLL-GATE
|
|
(IN ROOMS)
|
|
(DESC "Toll Gate")
|
|
(LDESC
|
|
"You have reached a toll gate which spans the highway.")
|
|
(WEST TO HIGHWAY)
|
|
(EAST PER TOLL-GATE-CROSSING-F)
|
|
(FLAGS RLANDBIT INSIDEBIT)
|
|
(GLOBAL ROAD)>
|
|
|
|
<ROUTINE TOLL-GATE-CROSSING-F ()
|
|
<COND (<FSET? ,GATE ,OPENBIT>
|
|
,OUTSIDE-STORE)
|
|
(,FLYING
|
|
<PERFORM ,V?CLIMB-OVER ,GATE>
|
|
<RFALSE>)
|
|
(T
|
|
<TELL "A sturdy toll gate blocks the highway." CR>
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT GATE
|
|
(IN TOLL-GATE)
|
|
(DESC "toll gate")
|
|
(SYNONYM GATE)
|
|
(ADJECTIVE TOLL STURDY)
|
|
(FLAGS NDESCBIT DOORBIT)
|
|
(ACTION GATE-F)>
|
|
|
|
<ROUTINE GATE-F ()
|
|
<COND (<VERB? OPEN CLOSE>
|
|
<COND (<OPEN-CLOSE>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL "Only the gnome can do that." CR>)>)
|
|
(<VERB? REZROV>
|
|
<COND (<FSET? ,GATE ,OPENBIT>
|
|
<RFALSE>)
|
|
(,GNOME-SLEEPING
|
|
<SETG GNOME-SLEEPING <>>
|
|
<ENABLE <QUEUE I-GNOME 2>>
|
|
<TELL
|
|
"The gate flies open, waking the gnome, who leaps up and slams it closed
|
|
again. \"Hey! This is a toll gate! Nobody gets through here without paying
|
|
the one zorkmid toll. Not nobody, not no how.\""CR>)
|
|
(T
|
|
<SETG GNOME-SLEEPING T>
|
|
<JIGS-UP
|
|
"The gate flies open, but the gnome immediately slams it shut again.
|
|
\"Trying to gate crash, huh? We have an answer for scofflaws like you.
|
|
Hey, Tholl!\" A troll lumbers out of the toll booth. \"This is Tholl
|
|
the Toll Troll. Tholl, remove this cheat.\" Tholl approaches and
|
|
slices you neatly in half with his axe.">)>)
|
|
(<VERB? CLIMB-OVER CLIMB-FOO>
|
|
<TELL
|
|
"The gate extends to the roof of the tunnel, and there are pointed
|
|
nasties all over it." CR>)>>
|
|
|
|
<OBJECT BOOTH
|
|
(IN TOLL-GATE)
|
|
(DESC "toll booth")
|
|
(SYNONYM BOOTH)
|
|
(ADJECTIVE TOLL)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION BOOTH-F)>
|
|
|
|
<ROUTINE BOOTH-F ()
|
|
<COND (<VERB? THROUGH>
|
|
<COND (<FSET? ,GATE ,OPENBIT>
|
|
<JIGS-UP
|
|
"As you enter, you stumble over a sleeping troll. With stunning reflexes,
|
|
he grabs a battle axe and minces you.">)
|
|
(T
|
|
<TELL
|
|
"The booth is on the other side of the toll gate." CR>)>)
|
|
(<VERB? LOOK-INSIDE>
|
|
<COND (<FSET? ,GATE ,OPENBIT>
|
|
<TELL "It's dark inside the toll booth." CR>)
|
|
(T
|
|
<PERFORM ,V?THROUGH ,BOOTH>
|
|
<RTRUE>)>)>>
|
|
|
|
<OBJECT GNOME
|
|
(IN TOLL-GATE)
|
|
(DESC "gnome")
|
|
(SYNONYM GNOME BEARD POCKET)
|
|
(ADJECTIVE FAT OLD LONG WHITE GNOME)
|
|
(FLAGS ACTORBIT)
|
|
(DESCFCN GNOME-DESCFCN)
|
|
(ACTION GNOME-F)>
|
|
|
|
<GLOBAL GNOME-SLEEPING T>
|
|
|
|
<ROUTINE GNOME-DESCFCN (RARG)
|
|
<COND (,GNOME-SLEEPING
|
|
<TELL
|
|
"A fat old gnome with a long white beard is sleeping soundly just outside
|
|
the toll booth. His loud snores echo around the caverns." CR>)
|
|
(T
|
|
<TELL
|
|
"A chubby gnome stands behind the toll gate, grinning broadly." CR>)>>
|
|
|
|
<ROUTINE GNOME-F ()
|
|
<COND (<EQUAL? ,GNOME ,WINNER>
|
|
<COND (,GNOME-SLEEPING
|
|
<POOR-LISTENERS>
|
|
<STOP>)
|
|
(<AND <VERB? OPEN>
|
|
<EQUAL? ,PRSO ,GATE>>
|
|
<TELL
|
|
"\"You'll have to pay the toll first,\" explains the gnome cheerfully,
|
|
\"and the toll is one zorkmid.\"" CR>)
|
|
(T
|
|
<TELL
|
|
"\"Conversing with customers is disallowed by union rules.\"" CR>
|
|
<STOP>)>)
|
|
(<AND <VERB? SHAKE KICK>
|
|
,GNOME-SLEEPING>
|
|
<PERFORM ,V?ALARM ,GNOME>
|
|
<RTRUE>)
|
|
(<AND <VERB? LISTEN>
|
|
,GNOME-SLEEPING>
|
|
<TELL "The gnome snores loudly." CR>)
|
|
(<VERB? ALARM>
|
|
<COND (<NOT ,GNOME-SLEEPING>
|
|
<TELL "He's awake!" CR>)
|
|
(<FSET? ,GATE ,OPENBIT>
|
|
<TELL
|
|
"The gnome opens one eye and looks at you. \"You again! Just go through.
|
|
Let me sleep.\" He begins snoring again." CR>)
|
|
(,GNOME-ANNOYED
|
|
<JIGS-UP
|
|
"\"You again! You've interrupted my nap for the last time! THOLL!!\" A
|
|
huge troll lumbers out of the toll booth and tears you into itsy-bitsy
|
|
pieces.">)
|
|
(T
|
|
<SETG GNOME-SLEEPING <>>
|
|
<ENABLE <QUEUE I-GNOME 2>>
|
|
<TELL
|
|
"The gnome stirs a bit and opens one eye, which wanders around until it
|
|
notices you. He jumps to his feet. \"One zorkmid, please,\" he yells
|
|
with a smile." CR>)>)
|
|
(<AND <VERB? GIVE ASK-ABOUT ASK-FOR>
|
|
,GNOME-SLEEPING>
|
|
<TELL "The gnome is asleep, remember?" CR>)
|
|
(<AND <FSET? ,GATE ,OPENBIT>
|
|
<VERB? SEARCH LOOK-INSIDE REACH-IN PICK>
|
|
<NOT ,COIN-STOLEN>
|
|
<NOT ,FWEEPED>>
|
|
<SETG COIN-STOLEN T>
|
|
<MOVE ,ZORKMID ,PROTAGONIST>
|
|
<TELL
|
|
"You carefully search the sleeping gnome, and take the zorkmid coin you
|
|
find in his pocket!" CR>)
|
|
(<AND <VERB? GIVE>
|
|
<EQUAL? ,PRSO ,ZORKMID>>
|
|
<COND (<FSET? ,ZORKMID ,ONBIT>
|
|
<GNOME-REFUSES>
|
|
<RTRUE>)>
|
|
<FSET ,GATE ,OPENBIT>
|
|
<SETG GNOME-SLEEPING T>
|
|
<MOVE ,ZORKMID ,DIAL>
|
|
<DISABLE <INT I-GNOME>>
|
|
<SETG SCORE <+ ,SCORE 20>>
|
|
<TELL
|
|
"The gnome pockets the coin and opens the gate. Before you can take a
|
|
step the gnome falls asleep again." CR>)
|
|
(<VERB? YOMIN>
|
|
<COND (,GNOME-SLEEPING
|
|
<TELL
|
|
"The thoughts of the sleeping gnome are focused on certain activities
|
|
involving female gnomes. Embarrassed, you withdraw." CR>)
|
|
(T
|
|
<TELL
|
|
"The thoughts of the gnome seem evenly divided between getting money from
|
|
you and getting back to sleep." CR>)>)>>
|
|
|
|
<GLOBAL COIN-STOLEN <>>
|
|
|
|
<ROUTINE GNOME-REFUSES ()
|
|
<TELL
|
|
"The gnome refuses, saying \"That coin is giving off light, and is
|
|
therefore not legal tender.\"" CR>>
|
|
|
|
<GLOBAL PATIENCE-COUNTER 0>
|
|
|
|
<GLOBAL GNOME-ANNOYED <>>
|
|
|
|
<ROUTINE I-GNOME ()
|
|
<ENABLE <QUEUE I-GNOME -1>>
|
|
<COND (<EQUAL? ,HERE ,TOLL-GATE>
|
|
<SETG PATIENCE-COUNTER <+ ,PATIENCE-COUNTER 1>>
|
|
<COND (<EQUAL? ,PATIENCE-COUNTER 5>
|
|
<SETG GNOME-SLEEPING T>
|
|
<DISABLE <INT I-GNOME>>
|
|
<SETG GNOME-ANNOYED T>
|
|
<TELL CR
|
|
"\"Thanks for nothing, chum,\" growls the gnome as he resumes his nap." CR>)
|
|
(T
|
|
<TELL CR
|
|
"\"Well?\" asks the gnome, tapping impatiently. \"You've interrupted
|
|
my nap. Are you going to pay the toll, or not?\"" CR>)>)
|
|
(T
|
|
<SETG GNOME-SLEEPING T>
|
|
<SETG PATIENCE-COUNTER 3>
|
|
<DISABLE <INT I-GNOME>>
|
|
<RFALSE>)>>
|
|
|
|
<ROOM OUTSIDE-STORE
|
|
(IN ROOMS)
|
|
(DESC "Outside Store")
|
|
(LDESC
|
|
"A store lies to the south from this section of the east-west road. There is
|
|
a sign over the entrance.")
|
|
(SOUTH TO STORE)
|
|
(IN TO STORE)
|
|
(WEST TO TOLL-GATE)
|
|
(EAST TO END-OF-HIGHWAY)
|
|
(FLAGS RLANDBIT INSIDEBIT)
|
|
(GLOBAL ROAD)
|
|
(PSEUDO "SIGN" SIGN-PSEUDO "STORE" STORE-PSEUDO)>
|
|
|
|
<ROUTINE SIGN-PSEUDO ()
|
|
<COND (<VERB? READ>
|
|
<FIXED-FONT-ON>
|
|
<TELL
|
|
"|
|
|
\"ZEKE'S APPLIANCE STORE|
|
|
|
|
|
Official outlet for all|
|
|
Frobozz Magic Appliances\"" CR>
|
|
<FIXED-FONT-OFF>)>>
|
|
|
|
<ROUTINE STORE-PSEUDO ()
|
|
<COND (<VERB? THROUGH>
|
|
<COND (<EQUAL? ,HERE ,STORE>
|
|
<LOOK-AROUND-YOU>)
|
|
(T
|
|
<DO-WALK ,P?SOUTH>)>)
|
|
(<VERB? EXIT DROP>
|
|
<COND (<EQUAL? ,HERE ,STORE>
|
|
<DO-WALK ,P?NORTH>)
|
|
(T
|
|
<LOOK-AROUND-YOU>)>)
|
|
(<VERB? LOOK-INSIDE>
|
|
<COND (<EQUAL? ,HERE ,STORE>
|
|
<LOOK-AROUND-YOU>)
|
|
(T
|
|
<MAKE-OUT>)>)>>
|
|
|
|
<ROOM STORE
|
|
(IN ROOMS)
|
|
(SYNONYM GNOMES)
|
|
(DESC "Store")
|
|
(LDESC
|
|
"This is an appliance store, apparently abandoned. The entrance
|
|
lies to the north.")
|
|
(NORTH TO OUTSIDE-STORE)
|
|
(OUT TO OUTSIDE-STORE)
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(PSEUDO "STORE" STORE-PSEUDO)>
|
|
|
|
<OBJECT WAXER
|
|
(IN STORE)
|
|
(DESC "floor waxer")
|
|
(SYNONYM WAXER APPLIA)
|
|
(ADJECTIVE FLOOR)
|
|
(FLAGS TAKEBIT)
|
|
(SIZE 50)
|
|
(ACTION WAXER-F)>
|
|
|
|
<ROUTINE WAXER-F ()
|
|
<COND (<VERB? LAMP-ON>
|
|
<COND (<HELD? ,WAXER>
|
|
<TELL "Better put it down, first." CR>)
|
|
(,FWEEPED
|
|
<BATTY>)
|
|
(<EQUAL? ,HERE ,LAGOON ,LAGOON-FLOOR>
|
|
<JIGS-UP
|
|
"The waxer short circuits in the water, electrocuting you and
|
|
several nearby fishies.">)
|
|
(<EQUAL? ,HERE ,MINE-FIELD>
|
|
<SETG FLYING <>>
|
|
<MOVE ,WAXER ,DIAL>
|
|
<DO-WALK ,P?NORTH>)
|
|
(T
|
|
<TELL "The waxer whirrs about the ">
|
|
<COND (<FSET? <LOC ,PROTAGONIST> ,VEHBIT>
|
|
<TELL "vehicle">)
|
|
(T
|
|
<TELL "room">)>
|
|
<TELL " for a minute, polishing the floor." CR>)>)
|
|
(<VERB? LAMP-OFF>
|
|
<TELL "It is." CR>)>>
|
|
|
|
;"END OF HIGHWAY and beyond is in MAZE.ZIL"
|
|
|
|
<ROOM BEND
|
|
(IN ROOMS)
|
|
(SYNONYM DESERT)
|
|
(ADJECTIVE KOVALL)
|
|
(DESC "Bend")
|
|
(LDESC
|
|
"The road curves here, heading east and southwest.")
|
|
(EAST TO HIGHWAY)
|
|
(SW TO EDGE-OF-CRATER)
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(GLOBAL ROAD)>
|
|
|
|
<ROOM EDGE-OF-CRATER
|
|
(IN ROOMS)
|
|
(DESC "Edge of Crater")
|
|
(LDESC
|
|
"You are at the northeastern rim of a gigantic crater, the result of
|
|
some ancient explosion. A wide underground highway, which ends
|
|
at the crater's edge, leads northeast.")
|
|
(NE TO BEND)
|
|
(SW TO CRATER)
|
|
(DOWN TO CRATER)
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(GLOBAL ROAD)
|
|
(PSEUDO "CRATER" CRATER-PSEUDO)>
|
|
|
|
<ROOM CRATER
|
|
(IN ROOMS)
|
|
(SYNONYM SEA)
|
|
(ADJECTIVE OCEAN)
|
|
(DESC "Crater")
|
|
(NE TO EDGE-OF-CRATER)
|
|
(SOUTH TO WINDING-TUNNEL)
|
|
(WEST TO EDGE-OF-CHASM)
|
|
(NORTH TO SLIMY-ROOM)
|
|
(EAST PER CRATER-EXIT-F)
|
|
(NW PER CRATER-EXIT-F)
|
|
(SW PER CRATER-EXIT-F)
|
|
(SE PER CRATER-EXIT-F)
|
|
(OUT PER CRATER-OUT-F)
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(PSEUDO "CRATER" CRATER-PSEUDO)
|
|
(ACTION CRATER-F)>
|
|
|
|
<ROUTINE CRATER-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL "You are ">
|
|
<COND (,FLYING
|
|
<TELL "floating near">)
|
|
(T
|
|
<TELL "standing in">)>
|
|
<TELL
|
|
" the center of an enormous crater, strewn with debris.
|
|
Several points around the perimeter look climbable." CR>)>>
|
|
|
|
<ROUTINE CRATER-OUT-F ()
|
|
<V-WALK-AROUND>
|
|
<RFALSE>>
|
|
|
|
<ROUTINE CRATER-EXIT-F ()
|
|
<COND (,FLYING
|
|
<TELL
|
|
"As you try to fly over the rim here, a heavy gust of wind blows
|
|
you back." CR>
|
|
<RFALSE>)
|
|
(T
|
|
<TELL
|
|
"You attempt to climb the rim here, but the rubble is loose and you
|
|
slide back down." CR>
|
|
<RFALSE>)>>
|
|
|
|
<ROUTINE CRATER-PSEUDO ()
|
|
<COND (<VERB? THROUGH>
|
|
<COND (<EQUAL? ,HERE ,CRATER>
|
|
<TELL "Where do you think you are?" CR>)
|
|
(<EQUAL? ,HERE ,EDGE-OF-CRATER>
|
|
<DO-WALK ,P?SW>)
|
|
(<EQUAL? ,HERE ,EDGE-OF-CHASM>
|
|
<DO-WALK ,P?EAST>)
|
|
(<EQUAL? ,HERE ,SLIMY-ROOM>
|
|
<DO-WALK ,P?SOUTH>)
|
|
(T
|
|
<DO-WALK ,P?NORTH>)>)
|
|
(<VERB? CLIMB-FOO>
|
|
<V-WALK-AROUND>)
|
|
(<VERB? LEAVE EXIT DISEMBARK>
|
|
<COND (<EQUAL? ,HERE ,CRATER>
|
|
<DO-WALK ,P?UP>)
|
|
(T
|
|
<LOOK-AROUND-YOU>)>)>>
|
|
|
|
<ROOM EDGE-OF-CHASM
|
|
(IN ROOMS)
|
|
(SYNONYM VILLAG ACCARD)
|
|
(DESC "Edge of Chasm")
|
|
(LDESC
|
|
"This is a strip of land to the east of a gaping chasm. You might try
|
|
jumping across, but I'd advise against it. A wide crater lies to the east.")
|
|
(EAST TO CRATER)
|
|
(WEST PER CHASM-EXIT-F)
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(PSEUDO "CHASM" CHASM-PSEUDO "CRATER" CRATER-PSEUDO)>
|
|
|
|
<ROUTINE CHASM-EXIT-F ()
|
|
<COND (,FLYING
|
|
<TELL "You fly easily across the chasm..." CR CR>
|
|
<COND (<EQUAL? ,HERE ,BARE-PASSAGE>
|
|
,EDGE-OF-CHASM)
|
|
(T
|
|
,BARE-PASSAGE)>)
|
|
(T
|
|
<TELL
|
|
"If you really want to jump across the chasm, just say so." CR>
|
|
<RFALSE>)>>
|
|
|
|
<ROOM BARE-PASSAGE
|
|
(IN ROOMS)
|
|
(SYNONYM AMATHR)
|
|
(DESC "Bare Passage")
|
|
(LDESC
|
|
"This is a featureless tunnel, narrowing to the west. To the east is
|
|
a deep gorge, probably too wide to jump across.")
|
|
(WEST TO ELBOW-ROOM)
|
|
(EAST PER CHASM-EXIT-F)
|
|
(FLAGS INSIDEBIT RLANDBIT)
|
|
(PSEUDO "CHASM" CHASM-PSEUDO "GORGE" CHASM-PSEUDO)>
|
|
|
|
<ROUTINE CHASM-PSEUDO ()
|
|
<COND (<VERB? LEAP>
|
|
<COND (<PROB 75>
|
|
<JIGS-UP "Too bad. Didn't quite make it.">)
|
|
(T
|
|
<COND (<EQUAL? ,HERE ,EDGE-OF-CHASM>
|
|
<GOTO ,BARE-PASSAGE>)
|
|
(T
|
|
<GOTO ,EDGE-OF-CHASM>)>)>)>>
|
|
|
|
<ROOM ELBOW-ROOM
|
|
(IN ROOMS)
|
|
(SYNONYM NYMPH NYMPHS)
|
|
(DESC "Elbow Room")
|
|
(LDESC
|
|
"The tunnel turns a corner here. You could go either north or east.")
|
|
(NORTH TO TREE-ROOM)
|
|
(EAST TO BARE-PASSAGE)
|
|
(FLAGS INSIDEBIT RLANDBIT)>
|
|
|
|
<ROOM TREE-ROOM
|
|
(IN ROOMS)
|
|
(SYNONYM GURTH MITHIC)
|
|
(DESC "Tree Room")
|
|
(LDESC
|
|
"This is a tall room flooded with light from an unseen source. The only exit
|
|
is south.")
|
|
(SOUTH TO ELBOW-ROOM)
|
|
(FLAGS INSIDEBIT RLANDBIT ONBIT)
|
|
(ACTION TREE-ROOM-F)>
|
|
|
|
<ROUTINE TREE-ROOM-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER>
|
|
<PUT ,VEZZAS 3 0>
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT ZORKMID-TREE
|
|
(IN TREE-ROOM)
|
|
(DESC "zorkmid tree")
|
|
(LDESC
|
|
"Growing in the center of the room is a tree, thick with foliage. As
|
|
though to disprove the ancient adage, every branch, bow, and twig has
|
|
a zorkmid coin growing on it.")
|
|
(SYNONYM TREE BRANCH BOW TWIG)
|
|
(ADJECTIVE ZORKMID)
|
|
(ACTION ZORKMID-TREE-F)>
|
|
|
|
<ROUTINE ZORKMID-TREE-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"It is laden with zorkmids, glinting in the light." CR>)
|
|
(<VERB? REZROV>
|
|
<V-SWANZO>)
|
|
(<VERB? CLIMB-FOO CLIMB-UP>
|
|
<TELL "The branches don't look sturdy enough." CR>)>>
|
|
|
|
<OBJECT ZORKMID
|
|
(IN TREE-ROOM)
|
|
(DESC "zorkmid coin")
|
|
(SYNONYM ZORKMID COIN COINS TOLL)
|
|
(ADJECTIVE ZORKMID)
|
|
(SIZE 3)
|
|
(FLAGS TAKEBIT TRYTAKEBIT NDESCBIT)
|
|
(ACTION ZORKMID-F)>
|
|
|
|
<ROUTINE ZORKMID-F ()
|
|
<COND (<AND <VERB? PICK>
|
|
<FSET? ,PRSO ,TRYTAKEBIT>
|
|
<EQUAL? ,ZORKMID ,PRSO>>
|
|
<PERFORM ,V?TAKE ,PRSO ,PRSI>
|
|
<RTRUE>)
|
|
(<AND <VERB? TAKE>
|
|
<FSET? ,PRSO ,TRYTAKEBIT>>
|
|
<FCLEAR ,PRSO ,TRYTAKEBIT>
|
|
<FCLEAR ,PRSO ,NDESCBIT>
|
|
<MOVE ,ZORKMID-TREE ,DIAL>
|
|
<MOVE ,ZORKMID ,PROTAGONIST>
|
|
<SETG SCORE <+ ,SCORE 15>>
|
|
<TELL
|
|
"As you pluck the first zorkmid, the tree shimmers and vanishes!
|
|
(I guess it was just an illusion.) You are left holding a solitary
|
|
zorkmid coin." CR>)
|
|
(<AND <VERB? COUNT EXAMINE>
|
|
<IN? ,ZORKMID-TREE ,HERE>>
|
|
<TELL
|
|
"There are countless coins, hanging from every branch of the tree." CR>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"The coin pictures a man with an incredibly flat head, wearing a
|
|
gaudy crown." CR>)
|
|
(<VERB? BITE>
|
|
<TELL "Yep, it's real." CR>)
|
|
(<VERB? RESEARCH>
|
|
<TELL
|
|
"An article in the monetary section explains that the zorkmid was the
|
|
unit of currency of the Great Underground Empire, and is still used in
|
|
most parts of the kingdom today. A picture of a zorkmid coin is included. ">
|
|
<PERFORM ,V?EXAMINE ,ZORKMID>
|
|
<RTRUE>)>>
|
|
|
|
<ROOM WINDING-TUNNEL
|
|
(IN ROOMS)
|
|
(SYNONYM INFOCO FIBBSB MAGICL SOFTSP)
|
|
(DESC "Winding Tunnel")
|
|
(LDESC
|
|
"This is a meandering north-south tunnel. A side passage leads
|
|
to the southwest.")
|
|
(NORTH TO CRATER)
|
|
(SOUTH TO HALL-OF-CARVINGS)
|
|
(SW TO PARK-ENTRANCE)
|
|
(FLAGS RLANDBIT INSIDEBIT)
|
|
(PSEUDO "CRATER" CRATER-PSEUDO)>
|
|
|
|
;"PARK-ENTRANCE and beyond is in PARK.ZIL"
|
|
|
|
<ROOM HALL-OF-CARVINGS
|
|
(IN ROOMS)
|
|
(DESC "Hall of Carvings")
|
|
(NORTH TO WINDING-TUNNEL)
|
|
(SOUTH TO SOOTY-ROOM IF DRAGON-MOVED)
|
|
(FLAGS RLANDBIT INSIDEBIT)
|
|
(ACTION HALL-OF-CARVINGS-F)>
|
|
|
|
<ROUTINE HALL-OF-CARVINGS-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You have entered a large room whose walls are covered with intricate
|
|
carvings. ">
|
|
<COND (,DRAGON-MOVED
|
|
<TELL
|
|
"A passage has been recently opened to the south, and is only partially
|
|
blocked by a huge stone dragon, poised in the midst of an attack.">)
|
|
(T
|
|
<TELL
|
|
"The largest and most striking carving, on the southern wall, is
|
|
of a huge sleeping dragon!">)>
|
|
<TELL " A winding tunnel leads north." CR>)>>
|
|
|
|
<GLOBAL DRAGON-MOVED <>>
|
|
|
|
<GLOBAL MALYON-YONKED <>>
|
|
|
|
<OBJECT DRAGON
|
|
(IN HALL-OF-CARVINGS)
|
|
(DESC "carving of a dragon")
|
|
(SYNONYM CARVIN DRAGON)
|
|
(ADJECTIVE HUGE STONE SLEEPI LARGES MOST STRIKI INTRIC)
|
|
(FLAGS NDESCBIT VOWELBIT)
|
|
(ACTION DRAGON-F)>
|
|
|
|
<ROUTINE DRAGON-F ()
|
|
<COND (<VERB? MALYON>
|
|
<COND (,MALYON-YONKED
|
|
<COND (,DRAGON-MOVED
|
|
<JIGS-UP
|
|
"The dragon comes to life again! He spews a tremendous gout of
|
|
flame right at you!">)
|
|
(T
|
|
<SETG DRAGON-MOVED T>
|
|
<TELL
|
|
"The dragon is suddenly imbued with life and begins to move. It shakes
|
|
itself loose from the wall, which crumbles down upon the dragon, revealing
|
|
a southward passage! The dragon howls with pain and anger. Spotting you,
|
|
the dragon rears back its head, smoke billowing from its nostrils. Then,
|
|
just as it seems that you will be barbecued, the dragon reverts to
|
|
stone!" CR>)>)
|
|
(T
|
|
<TELL
|
|
"The dragon seems to shiver for a moment, but that is all." CR>)>)>>
|
|
|
|
;"SOOTY-ROOM and beyond is in COAL.ZIL" |