mirror of
https://github.com/historicalsource/plunderedhearts
synced 2024-05-04 09:58:33 +03:00
3502 lines
103 KiB
Plaintext
3502 lines
103 KiB
Plaintext
"ISLAND for
|
|
PLUNDERED HEARTS
|
|
(c) Copyright 1987 Infocom, Inc. All Rights Reserved."
|
|
|
|
<OBJECT ISLAND
|
|
(IN GLOBAL-OBJECTS)
|
|
(DESC "St. Sinistra")
|
|
(SYNONYM ISLAND SINISTRA CLIFF BEACH)
|
|
(ADJECTIVE ST)
|
|
(FLAGS NARTICLEBIT)
|
|
(ACTION ISLAND-F)>
|
|
|
|
<ROUTINE ISLAND-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<COND (<EQUAL? ,HERE ,LIBRARY>
|
|
<PERFORM ,V?EXAMINE ,GLOBE>)
|
|
(<INNER-DECK ,HERE>
|
|
<TELL ,YOU-CANT "see it from here" ,PCR>)
|
|
(<OR <SHIP-BOARD ,HERE>
|
|
<EQUAL? ,HERE ,SHALLOWS
|
|
,LAGOON ,BY-SHIP ,ON-LADDER>>
|
|
<TELL
|
|
"St. Sinistra is blessed with lush tropical beauty,
|
|
jungle besieging the mansion atop the southern cliffs" ,PCR>)
|
|
(T
|
|
<PERFORM ,V?LOOK>
|
|
<RTRUE>)>)>>
|
|
|
|
<ROUTINE BELOW-GROUND (RM)
|
|
<COND (<OR <EQUAL? .RM ,STAIRWELL ,BOTTOM-STAIRS>
|
|
<EQUAL? .RM ,ANTEROOM ,DUNGEON>
|
|
<EQUAL? .RM ,PASSAGE-1 ,PASSAGE-2 ,PASSAGE-4>
|
|
<EQUAL? .RM ,CELL-1 ,CELL-2 ,CELL-4>>
|
|
<RTRUE>)
|
|
(T <RFALSE>)>>
|
|
|
|
<OBJECT BUSHES
|
|
(IN BEACH)
|
|
(DESC "bushes")
|
|
(SYNONYM BUSHES DRAGOO SOLDIERS)
|
|
(FLAGS PLURALBIT NDESCBIT)>
|
|
|
|
<ROOM BEACH
|
|
(IN ROOMS)
|
|
(DESC "Beach")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(UP PER BEACH-EXIT)
|
|
(NORTH PER BEACH-EXIT)
|
|
(NW PER BEACH-EXIT)
|
|
(EAST TO SHALLOWS)
|
|
(GLOBAL STAIRS SEA VINE PSEUD-SKIFF DEBRIS)
|
|
(ACTION BEACH-F)>
|
|
|
|
<ROUTINE BEACH-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"This is a tiny beach, at the base of vine-covered cliffs.
|
|
To the east,">
|
|
<COND (<FSET? ,SHIP ,MUNGBIT>
|
|
<TELL
|
|
" across the debris-ridden lagoon, black
|
|
reefs speckle the blue endless sea">)
|
|
(T
|
|
<TELL T ,SHIP " floats serenely on the lagoon">)>
|
|
<COND (,ENDGAME
|
|
<TELL
|
|
". Halfway out to the ship is a skiff crowded
|
|
with men; another skiff sits on the sand">)>
|
|
<TELL ,PCR ,INDENT
|
|
"Immediately north of you, a rocky staircase is hewn into the cliff. ">
|
|
<COND (<RUNNING? ,I-ENDGAME>
|
|
<TELL
|
|
"A sizable number of dragoons huddle at the top.">)
|
|
(T
|
|
<RTRUE>)>
|
|
;<COND (,ENDGAME
|
|
<TELL
|
|
" The wind has picked up, pushing the surf farther up the beach.">)
|
|
>)
|
|
(<AND <EQUAL? .RARG ,M-END>
|
|
,ENDGAME
|
|
<NOT <FSET? ,STONE ,TOUCHBIT>>
|
|
<QUEUED? ,I-ENDGAME>>
|
|
<MOVE ,STONE ,BEACH>
|
|
<FSET ,STONE ,TOUCHBIT>
|
|
<TELL ,INDENT
|
|
"You splash into the rising surf and pain needles up your leg. Blood swirls
|
|
out from your shoe in the shallow water, flowing over a small pointed stone"
|
|
,PCR>)
|
|
(<AND <EQUAL? .RARG ,M-BEG>
|
|
<VERB? ENTER>
|
|
<PRSO? ,SHALLOWS>>
|
|
<DO-WALK ,P?EAST>
|
|
<RTRUE>)
|
|
(<AND <EQUAL? .RARG ,M-ENTER>
|
|
<IN? ,COOKIE ,LAWN>>
|
|
<TELL "\"I know 'e ain't down there!\" Cookie cries." CR>)>>
|
|
|
|
<ROUTINE BEACH-EXIT ()
|
|
<COND (<RUNNING? ,I-ENDGAME>
|
|
<TELL "You would be safer aboard" TR ,SHIP>
|
|
<RFALSE>)
|
|
(T
|
|
<RETURN ,LAWN>)>>
|
|
|
|
<OBJECT PSEUD-SKIFF
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "skiff")
|
|
(SYNONYM SKIFF BOAT)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION P-SKIFF-F)>
|
|
|
|
<ROUTINE P-SKIFF-F ()
|
|
<COND (<EQUAL? ,HERE ,BEACH>
|
|
<TELL
|
|
CTHE ,SKIFF " is out of reach. Wade into the shallows" ,PCR>)
|
|
(<EQUAL? ,HERE ,ON-LADDER>
|
|
<COND (<NOT ,SKIFF-TIED>
|
|
<TELL ,YOU-CANT-SEE-ANY D ,SKIFF " here." CR>
|
|
<RFATAL>)
|
|
(<VERB? ENTER BOARD>
|
|
<DO-WALK ,P?DOWN>)
|
|
(T
|
|
<RFALSE>)>)>>
|
|
|
|
<ROOM LAWN
|
|
(IN ROOMS)
|
|
(DESC "Lawn")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(WEST TO FOREST)
|
|
(NORTH TO VERANDA)
|
|
(UP TO VERANDA)
|
|
(IN TO FOLLY)
|
|
(EAST TO FOLLY)
|
|
(DOWN TO BEACH)
|
|
(SE TO BEACH)
|
|
(SOUTH TO BEACH)
|
|
(GLOBAL VEROBJ FOLLY-OBJECT HEDGE)
|
|
(ACTION LAWN-F)>
|
|
|
|
<ROUTINE LAWN-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"Jungle looms around this clipped lawn, a path meandering westward into the
|
|
dense undergrowth. To the east is a folly entangled in blooming jasmine.
|
|
The way to the beach is obscure, but visible to the southeast.
|
|
Behind the folly a thorny hedge blocks the cliff view of the sea.">
|
|
<COND (<NOT ,ENDGAME>
|
|
<TELL CR ,INDENT
|
|
"Music and voices float from the veranda to the north.">)
|
|
(T
|
|
<RTRUE>)>)
|
|
(<EQUAL? .RARG ,M-END>
|
|
<COND (<NOT <FSET? ,HERE ,ACTORBIT>>
|
|
<FSET ,HERE ,ACTORBIT>
|
|
<TELL ,INDENT
|
|
"Two men stand whispering in the shadows. You catch an occasional word,
|
|
\"Davis dead... girl... Falcon on Sinistra.\" The men separate, the
|
|
well-dressed one going into the ballroom as the other slinks into the bushes.
|
|
You see his face. Crulley!" CR>)
|
|
(,COOKIE-LOOKING
|
|
<I-COOKIE T>)
|
|
(T
|
|
<RTRUE>)>)>>
|
|
|
|
<ROUTINE GEN-FLOWER ()
|
|
<COND (<EQUAL? ,HERE ,FOLLY>
|
|
,FLOWER)>>
|
|
|
|
<OBJECT FLOWER
|
|
(IN FOLLY)
|
|
(DESC "flower")
|
|
(SYNONYM FLOWER JASMINE)
|
|
(ADJECTIVE LOVELY)
|
|
(FLAGS NDESCBIT)
|
|
(GENERIC GEN-FLOWER)
|
|
(ACTION FLOWER-F)>
|
|
|
|
<ROUTINE FLOWER-F ()
|
|
<COND (<AND <VERB? TAKE PICK>
|
|
<NOT <FSET? ,FLOWER ,TAKEBIT>>>
|
|
<TELL "You can't bear to pick" TR ,FLOWER>)
|
|
(<VERB? SMELL>
|
|
<TELL "Ah, jasmine! Mama grew this in her garden" ,PCR>)>>
|
|
|
|
|
|
<ROOM FOLLY
|
|
(IN ROOMS)
|
|
(DESC "Folly")
|
|
(LDESC
|
|
"Perfumed by the heady odor of the night-blooming jasmine
|
|
entwined in the bamboo latticework, this folly is a cool, dark haven.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT INDOORSBIT)
|
|
(SYNONYM FOLLY)
|
|
(EAST PER FOLLY-EXIT)
|
|
(IN PER FOLLY-EXIT)
|
|
(WEST TO LAWN)
|
|
(OUT TO LAWN)
|
|
(GLOBAL FOLLY-OBJECT)
|
|
(ACTION FOLLY-F)>
|
|
|
|
<ROUTINE FOLLY-F (RARG)
|
|
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
|
<NOT <FSET? ,FOLLY ,TOUCHBIT>>
|
|
<NOT <FSET? ,LAFS-ROOM ,TOUCHBIT>>
|
|
<IN? ,DAD ,CELL-4>>
|
|
<SETG HERO-CTR 1>
|
|
<QUEUE I-HFOLLY 2>)>>
|
|
|
|
<OBJECT FOLLY-OBJECT
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "folly")
|
|
(SYNONYM FOLLY GAZEBO JASMINE)
|
|
(GENERIC GEN-FLOWER)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION FOLLY-OBJ-F)>
|
|
|
|
<ROUTINE FOLLY-OBJ-F ()
|
|
<COND (<VERB? ENTER>
|
|
<COND (<EQUAL? ,HERE ,IN-HEDGE>
|
|
<DO-WALK ,P?WEST>)
|
|
(<EQUAL? ,HERE ,LAWN>
|
|
<DO-WALK ,P?EAST>)
|
|
(T
|
|
<TELL ,LOOK-AROUND>)>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<EQUAL? ,HERE ,IN-HEDGE>
|
|
<TELL
|
|
CTHE ,FOLLY-OBJECT " is invisible beyond the leaves to the west" ,PCR>)
|
|
(<EQUAL? ,HERE ,FOLLY>
|
|
<V-LOOK>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
CTHE ,FOLLY-OBJECT " is obscured by tangled vines" ,PCR>)>)>>
|
|
|
|
<OBJECT BENCH
|
|
(IN FOLLY)
|
|
(DESC "bench")
|
|
(LDESC "A bench is built into the wall, circling the folly.")
|
|
(SYNONYM BENCH)
|
|
(FLAGS CONTBIT SURFACEBIT VEHBIT SEARCHBIT OPENBIT)>
|
|
|
|
<GLOBAL SLAT-OPEN <>>
|
|
|
|
<OBJECT SLAT
|
|
(IN FOLLY)
|
|
(DESC "loose slat")
|
|
(LDESC "One bamboo slat at the back seems to be loose.")
|
|
(SYNONYM SLAT) ;"HOLE"
|
|
(ADJECTIVE BAMBOO LOOSE)
|
|
(FLAGS TRYTAKEBIT)
|
|
(ACTION SLAT-F)>
|
|
|
|
<ROUTINE SLAT-F ()
|
|
<COND (<AND <VERB? TAKE>
|
|
<NOT ,SLAT-OPEN>>
|
|
<TELL
|
|
"Only the bottom of the slat is loose. The rest is
|
|
tightly woven into the frame of the folly" ,PCR>)
|
|
(<VERB? UNTIE REMOVE>
|
|
<IMPOSSIBLES>)
|
|
(<VERB? MOVE FIDDLE PUSH>
|
|
<COND (,SLAT-OPEN
|
|
<TELL ,YOU-HAVE-ALREADY " done that." CR>)
|
|
(T
|
|
<SETG SLAT-OPEN T>
|
|
<FCLEAR ,HOLE ,INVISIBLE>
|
|
<FSET ,SLAT ,NDESCBIT>
|
|
<TELL
|
|
"You twist aside the " D ,SLAT ", wedging the
|
|
end into the woven wall. The remaining hole, just above the
|
|
bench, looks big enough to snake " D ,ME " through" ,PCR>)>)
|
|
(<VERB? EXAMINE>
|
|
<TELL "The bamboo slat at the back of the folly ">
|
|
<COND (<FSET? ,SLAT ,NDESCBIT>
|
|
<TELL
|
|
"has been pulled aside, making a hole in the wall" ,PCR>)
|
|
(T
|
|
<TELL "appears to be loose" ,PCR>)>)>>
|
|
|
|
<OBJECT HOLE
|
|
(IN FOLLY)
|
|
(DESC "hole")
|
|
(SYNONYM HOLE)
|
|
(FLAGS INVISIBLE OPENBIT)
|
|
(ACTION HOLE-F)>
|
|
|
|
<ROUTINE HOLE-F ()
|
|
<COND (<VERB? ENTER>
|
|
<DO-WALK ,P?EAST>)
|
|
(<VERB? THROW PUT-THROUGH PUT>
|
|
<COND (<PRSO? ,HANDS>
|
|
<TELL ,HUH>)
|
|
(<PRSO? ,RETICULE>
|
|
<RFALSE>)
|
|
;(<PRSO? ,HOOPS>
|
|
<RFALSE>)
|
|
(T
|
|
<PRONOUN>
|
|
<TELL " fall">
|
|
<COND (<NOT <FSET? ,PRSO ,PLURALBIT>>
|
|
<TELL "s">)>
|
|
<TELL " through the hole">
|
|
<MOVE ,PRSO ,IN-HEDGE>
|
|
<TELL ,PCR>)>)
|
|
(<VERB? LOOK-INSIDE>
|
|
<TELL ,YOU-SEE
|
|
" a few leaves near to you, more fading into green obscurity" ,PCR>)>>
|
|
|
|
<ROUTINE FOLLY-EXIT ()
|
|
<COND (,SLAT-OPEN
|
|
<COND (<FSET? ,GOWN ,WORNBIT>
|
|
<TELL "You might rip" TR ,GOWN>
|
|
<RFALSE>)
|
|
(T
|
|
;<COND ;(<IN? ,HOOPS ,PROTAGONIST>
|
|
<MOVE ,HOOPS ,FOLLY>
|
|
<TELL
|
|
"The hoops won't fit through" T ,HOLE ", so you ">
|
|
<COND (<FSET? ,HOOPS ,WORNBIT>
|
|
<FCLEAR ,HOOPS ,WORNBIT>
|
|
<TELL "remove them, and ">)>
|
|
<TELL
|
|
"leave them on the floor of" T ,FOLLY-OBJECT ", crawling through" ,PCR CR>)>
|
|
;<COND (<EQUAL? <LOC ,HERO> ,FOLLY>
|
|
<REMOVE ,HERO>)>
|
|
<RETURN ,IN-HEDGE>)>)
|
|
(T
|
|
<TELL ,CANT-GO>
|
|
<RETURN ,FALSE>)>>
|
|
|
|
<ROOM IN-HEDGE
|
|
(IN ROOMS)
|
|
(DESC "In the Hedge")
|
|
(LDESC
|
|
"You crouch in the green rustlings of the hedge. Not far east, wind keens up
|
|
the cliff, high above swells breaking against a rocky shore. You know the
|
|
folly is somewhere to the west. North, the hedge is somewhat less dense.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(NORTH TO BY-HOUSE)
|
|
(SOUTH
|
|
"You might fight your way a few feet into the thorns
|
|
but you'd only tear your clothes.")
|
|
(WEST TO FOLLY IF SLAT-OPEN
|
|
ELSE "You can't see any way to get past into the folly.")
|
|
(EAST "Death lies that way, my lady.")
|
|
(GLOBAL FOLLY-OBJECT HEDGE)>
|
|
|
|
<ROOM BY-HOUSE
|
|
(IN ROOMS)
|
|
(DESC "By the House")
|
|
(SOUTH TO IN-HEDGE)
|
|
(NORTH
|
|
"You might fight your way a few feet into the thorns
|
|
but you'd only tear your clothes.")
|
|
;(WEST PER LWINDOW-EXIT)
|
|
(WEST TO LIBRARY IF LIB-WINDOW IS OPEN)
|
|
(EAST "Death lies that way, my lady.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(GLOBAL LIB-WINDOW HEDGE)
|
|
(ACTION BY-HOUSE-F)>
|
|
|
|
<ROUTINE BY-HOUSE-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You crouch in" T ,HEDGE " by the house, twigs poking into you, the cliff
|
|
crumbling away to the east. " CTHE ,HEDGE " seems less dense to the south. A">
|
|
<TELL-OPEN/CLOSED ,LIB-WINDOW T>
|
|
<TELL " window is directly west of you.">)>>
|
|
|
|
<OBJECT LIB-WINDOW ;"in BY-HOUSE and LIBRARY"
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "window")
|
|
(SYNONYM GLASS WINDOW)
|
|
(ADJECTIVE LARGE GLASS SMALL PANE PANES)
|
|
(ACTION WINDOW-F)>
|
|
|
|
<OBJECT VER-DOOR
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "french door")
|
|
(SYNONYM DOOR DOORS)
|
|
(FLAGS NDESCBIT DOORBIT)
|
|
(ACTION DOOR-F)>
|
|
|
|
<ROOM VERANDA
|
|
(IN ROOMS)
|
|
(DESC "Veranda")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(NORTH PER BALLROOM-ENTRANCE)
|
|
(DOWN TO LAWN)
|
|
(SOUTH TO LAWN)
|
|
(EAST "The steps lead south.")
|
|
(WEST "The steps lead south.")
|
|
(GLOBAL STAIRS VEROBJ VER-DOOR)
|
|
(ACTION VERANDA-F)>
|
|
|
|
<ROUTINE VERANDA-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"Steps lead south from this white marble veranda to a clipped lawn.
|
|
To the north">
|
|
<COND (<QUEUED? ,I-ENDGAME>
|
|
<TELL
|
|
" the wreckage left by the duel is visible in the ballroom.">
|
|
<RTRUE>)
|
|
(<NOT <FSET? ,VER-DOOR ,OPENBIT>>
|
|
<TELL ", beyond a closed glass door,">)>
|
|
<COND (,ENDGAME
|
|
<TELL " is">)
|
|
(T
|
|
<TELL " a line of people blocks your view of">)>
|
|
<TELL " the ballroom.">)
|
|
(<AND <EQUAL? .RARG ,M-END>
|
|
,COOKIE-LOOKING>
|
|
<I-COOKIE T>)>>
|
|
|
|
<OBJECT VEROBJ ;"VERANDA-OBJECT"
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "veranda")
|
|
(SYNONYM VERANDA PORCH)
|
|
(FLAGS NDESCBIT)>
|
|
|
|
<ROOM TRADE-ENTRANCE
|
|
(IN ROOMS)
|
|
(DESC "Trade Entrance")
|
|
(LDESC
|
|
"You are on a well-trampled lawn at the side of the house, one low doorway
|
|
leading in to the east. Gravelled paths lead north and south into the
|
|
undergrowth.")
|
|
;("Obviously this is where carts from the village unload supplies into
|
|
the kitchen, through a low doorway to the east.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(SOUTH TO FOREST)
|
|
(NORTH PER AROUND-HOUSE)
|
|
(IN TO KITCHEN)
|
|
(EAST TO KITCHEN)
|
|
(WEST "The undergrowth is much too thick to enter.")>
|
|
|
|
<ROUTINE AROUND-HOUSE ()
|
|
<TELL "The gravel path is just wide enough for a cart to pass.
|
|
It bends around the west wing of the house, leading you to" ,ELLIPSIS>
|
|
<COND (<EQUAL? ,HERE ,MAIN-ENTRANCE>
|
|
<RETURN ,TRADE-ENTRANCE>)
|
|
(T
|
|
<RETURN ,MAIN-ENTRANCE>)>>
|
|
|
|
<ROOM FOREST
|
|
(IN ROOMS)
|
|
(DESC "Forest")
|
|
(LDESC "Buried in the subtropical undergrowth, you lose all
|
|
sense of being on someone's private estate; jungle seems to extend for
|
|
miles on all sides of you. A footworn path curves from east to north here,
|
|
and the vegetation lessens to the northeast.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(NORTH TO TRADE-ENTRANCE)
|
|
(NE TO CLEARING)
|
|
(EAST TO LAWN)
|
|
(ACTION FOREST-F)>
|
|
|
|
<ROUTINE FOREST-F (RARG)
|
|
<COND (<AND <EQUAL? .RARG ,M-END>
|
|
<FSET? ,FOREST ,EVERYBIT>>
|
|
<DEQUEUE I-CATCH-KISS>
|
|
<FCLEAR ,FOREST ,EVERYBIT>
|
|
<TELL ,INDENT
|
|
"Two whispered voices come from the path ahead, one reassuring, the other
|
|
desperate -- they sound like" T ,DAD " and Lucy. Peering over a bush, you see
|
|
the couple share a fond embrace before they meander off into the jungle." CR>)>>
|
|
|
|
<ROOM CLEARING
|
|
(IN ROOMS)
|
|
(DESC "Clearing")
|
|
(LDESC
|
|
"You are in a small clearing under the western side of the house.
|
|
Heavy vines creep up the wall past a second floor window, open
|
|
to the night air. Southwest is an opening in the bushes.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
;(UP PER CLIMBING-VINE)
|
|
(UP PER CLIMBING)
|
|
(EAST "The west wall of the house is that way.")
|
|
(OUT TO FOREST)
|
|
(SW TO FOREST)
|
|
(WEST TO FOREST)
|
|
(GLOBAL WINDOW TREE VINE)
|
|
(ACTION CLEARING-F)>
|
|
|
|
<ROUTINE CLEARING-F (RARG)
|
|
<COND (<AND <EQUAL? .RARG ,M-BEG>
|
|
<OR <PRSO? ,WINDOW>
|
|
<PRSI? ,WINDOW>>>
|
|
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
|
<TELL ,YOU-SEE " only an embossed ceiling." CR>)
|
|
(<VERB? ENTER>
|
|
<DO-WALK ,P?UP>
|
|
<RTRUE>)
|
|
(T
|
|
<CANT-REACH ,WINDOW>)>)>>
|
|
|
|
<OBJECT VINE
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "vine")
|
|
(SYNONYM VINE VINES)
|
|
(ADJECTIVE HEAVY)
|
|
(FLAGS PLURALBIT NDESCBIT TRYTAKEBIT)
|
|
(ACTION VINE-F)>
|
|
|
|
<ROUTINE VINE-F ()
|
|
<COND (<AND <EQUAL? ,HERE ,BEACH>
|
|
<NOT <VERB? EXAMINE>>>
|
|
<CANT-REACH ,VINE>)
|
|
(<VERB? TAKE>
|
|
<TELL
|
|
"You tug, but are unable to get any substantial length of vine" ,PCR>)
|
|
;(<AND <VERB? CUT>
|
|
<HELD? ,DAGGER>>
|
|
<TELL "The vines are too fibrous to admit cutting" ,PCR>)
|
|
(<AND <VERB? CLIMB ;CLIMB-UP>
|
|
<EQUAL? ,HERE ,CLEARING>>
|
|
<DO-WALK ,P?UP>
|
|
<RTRUE>)
|
|
(<AND <VERB? CLIMB CLIMB-DOWN>
|
|
<EQUAL? ,HERE ,BEDROOM>>
|
|
<DO-WALK ,P?DOWN>
|
|
<RTRUE>)>>
|
|
|
|
;<ROUTINE ;CLIMBING-VINE ()
|
|
<COND (,BOY-DRESS?
|
|
<COND (<EQUAL? ,HERE ,CLEARING>
|
|
<TELL "You take a firm grasp on a particularly
|
|
thick tendril, jerk once to secure it, and scamper up the wall like some
|
|
huge tropical spider. It is easy to climb into the window" ,PCR CR>
|
|
<RETURN ,BEDROOM>)
|
|
(T
|
|
<TELL "Almost without thinking you slide down the
|
|
jasmine vine. You're getting quite adept at clambering about in boy's
|
|
clothes" ,PCR>
|
|
<RETURN ,CLEARING>)>)
|
|
(T
|
|
<TELL "In these clothes? You jest" ,PCR>
|
|
<RFALSE>)>>
|
|
|
|
<ROOM MAIN-ENTRANCE
|
|
(IN ROOMS)
|
|
(DESC "Main Entrance")
|
|
(LDESC
|
|
"The front door stands open to the south, light splayed out onto a drive
|
|
stretching north into the jungle. A path leads around the western wing of
|
|
the house; jutting out from the east wing is a tall hedge.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(SOUTH TO FOYER)
|
|
(IN TO FOYER)
|
|
(EAST
|
|
"A tall hedge prevents you from going around the east wing of the house.")
|
|
(WEST PER AROUND-HOUSE)
|
|
(NORTH TO FRONT-DRIVE)
|
|
(GLOBAL HEDGE)>
|
|
|
|
<ROOM FRONT-DRIVE
|
|
(IN ROOMS)
|
|
(DESC "Front Drive")
|
|
(LDESC
|
|
"A rutted drive runs north-south here, from a high spiked gate through the
|
|
jungle to Lafond's mansion. You hide in the bushes nearby.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(NORTH "Dragoons guard the gate.")
|
|
(SOUTH TO MAIN-ENTRANCE)
|
|
(EAST "The underbrush is much too thick to enter.")
|
|
(WEST "The underbrush is much too thick to enter.")
|
|
;(ACTION FRONT-DRIVE-F)>
|
|
|
|
;<ROUTINE FRONT-DRIVE-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER>
|
|
<QUEUE I-PATROL -1>)
|
|
(<AND <EQUAL? .RARG ,M-BEG>
|
|
<VERB? YELL>>
|
|
<SETG PATROL-CTR 4>
|
|
<DEQUEUE I-PATROL>
|
|
<I-PATROL T>)>>
|
|
|
|
<OBJECT HEDGE
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "hedge")
|
|
(SYNONYM HEDGE)>
|
|
|
|
<OBJECT FRONT-GATE
|
|
(IN FRONT-DRIVE)
|
|
(DESC "gate")
|
|
(SYNONYM GATE FENCE)
|
|
(FLAGS NDESCBIT DOORBIT LOCKEDBIT)>
|
|
|
|
;<GLOBAL PATROL-CTR 0>
|
|
|
|
;<ROUTINE I-PATROL ("OPTIONAL" (CALLED-BY-PATROL-F <>))
|
|
<COND (<NOT <EQUAL? ,HERE ,FRONT-DRIVE>>
|
|
<DEQUEUE I-PATROL>
|
|
<RFALSE>)>
|
|
<COND (<NOT .CALLED-BY-PATROL-F>
|
|
<TELL ,INDENT>)>
|
|
<COND (<EQUAL? ,PATROL-CTR 4>
|
|
<TELL
|
|
"\"Ho, who goes there?\" a dragoon calls, turning towards you. ">
|
|
<COND (,BOY-DRESS?
|
|
<FWTD
|
|
"\"A boy -- out after curfew? I wonder what Lafond will say about this.\"
|
|
They rush through the gate, grabbing you to throw you off the grounds.
|
|
Unfortunately, in that close contact, they discover your gender.">)
|
|
(<FSET? ,GOWN ,WORNBIT>
|
|
<TELL
|
|
"\"Miss,\" he bows respectfully, \"Governor Lafond would prefer it if you
|
|
remained indoors. It is not safe to be out alone in the night.\" He comes
|
|
through the gate and ushers you into the front door" ,PCR CR>
|
|
<GOTO ,FOYER>)
|
|
(T
|
|
<JIGS-UP
|
|
"\"Lafond does not tolerate beggars!\" They throw you off the cliff.">)>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"Joking quietly among themselves, a small patrol paces back and forth on the
|
|
other side of the gate. The dragoons have not yet noticed you, hiding in the
|
|
darkness of the bushes." CR>)>
|
|
<SETG PATROL-CTR <+ ,PATROL-CTR 1>>>
|
|
|
|
;<ROOM ROAD
|
|
(IN ROOMS)
|
|
(DESC "Village Road")
|
|
(LDESC "A rutted, overgrown dirt road leads north, the only route to
|
|
the village. Far south of you, dragoons pace in front of a high spiked gate.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT)
|
|
(NORTH
|
|
"You can barely walk on your sore ankle, and have no wish to crawl.")
|
|
(EAST "The underbrush is much too thick to enter.")
|
|
(WEST "The underbrush is much too thick to enter.")
|
|
(SOUTH "The dragoons are unlikely to be sympathetic.")>
|
|
|
|
<ROOM KITCHEN
|
|
(IN ROOMS)
|
|
(DESC "Kitchen")
|
|
(LDESC
|
|
"A firepit in the floor smokes badly, fogging up the depths of this large
|
|
kitchen, somehow not escaping through either the south or west doors.")
|
|
;(SYNONYM KITCHEN)
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT INDOORSBIT)
|
|
(SOUTH PER KITCHEN-EXIT)
|
|
(WEST PER KITCHEN-EXIT)
|
|
(GLOBAL FIRE)
|
|
(ACTION KITCHEN-F)>
|
|
|
|
;"IF LUCY IS THERE: Can't enter kitchen except as boy."
|
|
<ROUTINE KITCHEN-F (RARG)
|
|
<COND (<AND <EQUAL? .RARG ,M-END>
|
|
<IN? ,LUCY ,KITCHEN>>
|
|
<COND (,BOY-DRESS?
|
|
<COND (<NOT <FSET? ,LUCY ,TOUCHBIT>>
|
|
<FSET ,LUCY ,TOUCHBIT>
|
|
<QUEUE I-LUCY 2>
|
|
<TELL ,INDENT
|
|
"The woman smiles uncertainly, then rushes over. \"Are you come from the
|
|
village, boy? Dost know Lord Dimsford?\" She sighs at your surprise.
|
|
\"So he sent you -- I am his Lucy. It's been so long since I've seen him.
|
|
Lafond caught me eavesdropping and now I can't leave the grounds.\"" CR>)>)
|
|
(<FSET? ,GOWN ,WORNBIT>
|
|
<TELL ,INDENT
|
|
"\"Milady,\" exclaims the woman. \"Lafond's guests are wisest not to stray.
|
|
Maybe you should stay at the ball.\" You find " D ,ME " ushered into
|
|
a hallway" ,PCR CR>
|
|
<GOTO ,HALL-W>)
|
|
(T
|
|
<TELL ,INDENT
|
|
"The woman shrieks, pushing you out the door. \"Has not the governor made
|
|
clear his position on light-skirts? Out, slattern, before I report you!\"
|
|
Her voice drops to a whisper, \"Sorry, but it's not safe around here.
|
|
Stay in the village.\" You find yourself outside" ,PCR CR>
|
|
<GOTO ,TRADE-ENTRANCE>)>)>>
|
|
|
|
<ROUTINE KITCHEN-EXIT ()
|
|
<COND (<AND <EQUAL? <META-LOC ,GARTER> ,HERE>
|
|
<NOT <HELD? ,GARTER>>
|
|
<IN? ,LUCY ,HERE>
|
|
<NOT <IN? ,DAD ,HERE>>>
|
|
<REMOVE ,GARTER>
|
|
;<REMOVE ,LUCY>
|
|
<DEQUEUE I-LUCY>
|
|
<TELL
|
|
"Lucy spits at you, \"Yes, desert a helpless woman. Tell Lafond
|
|
I'm a spy. Dimsford will avenge me, runt!\" She comes after you
|
|
with a rolling pin, pushing you out the door" ,PCR CR>
|
|
<RETURN ,TRADE-ENTRANCE>)
|
|
(T
|
|
<COND (<AND <IN? ,LUCY ,HERE>
|
|
<NOT <IN? ,DAD ,HERE>>
|
|
<FSET? ,GARTER ,TOUCHBIT>>
|
|
<TELL
|
|
"\"Don't forget -- tell Dimsford,\"" T ,LUCY ,CALLS-AFTER>)>
|
|
<COND (<EQUAL? ,P-WALK-DIR ,P?SOUTH>
|
|
<RETURN ,HALL-W>)
|
|
(T
|
|
<RETURN ,TRADE-ENTRANCE>)>)>>
|
|
|
|
<ROOM HALL-W
|
|
(IN ROOMS)
|
|
(DESC "Hall")
|
|
(LDESC
|
|
"No expense has been spared to make this long dim hallway anything but a
|
|
servant's corridor. The foyer is east, a kitchen north of you."
|
|
;"Music drifts into this narrow hallway through the south wall
|
|
and from a brightly lit area to the east. The kitchen is north of you.")
|
|
(FLAGS ONBIT INDOORSBIT RLANDBIT NARTICLEBIT)
|
|
(GLOBAL DOOR)
|
|
(EAST TO FOYER)
|
|
(NORTH TO KITCHEN)>
|
|
|
|
<ROUTINE BALLROOM-ENTRANCE ()
|
|
<COND (<AND <EQUAL? ,HERE ,VERANDA>
|
|
<NOT <FSET? ,VER-DOOR ,OPENBIT>>>
|
|
<TELL CTHE ,DOOR ,IS-CLOSED ,PCR>
|
|
<RFALSE>)
|
|
(,ENDGAME
|
|
<COND (<RUNNING? ,I-DUEL>
|
|
<TELL ,YOU-CANT
|
|
"force " D ,ME " between the amazed spectators of the duel" ,PCR>
|
|
<RETURN ,FALSE>)
|
|
(T
|
|
<RETURN ,BALLROOM>)>)
|
|
(<NOT <FSET? ,GOWN ,WORNBIT>>
|
|
<TELL
|
|
"Though you glimpse whirling bodies beyond,
|
|
the spectators fail to admit such a ">
|
|
<COND (,BOY-DRESS?
|
|
<TELL "grubby youth">)
|
|
(T
|
|
<TELL "poorly dressed female">)>
|
|
<TELL ".|">
|
|
<RETURN ,FALSE>)
|
|
(T
|
|
;<COND (<AND <HELD? ,HAT>
|
|
<NOT <EQUAL? ,HERE ,FOYER>>>
|
|
<WEARING-HAT>)>
|
|
<TELL
|
|
"The sea of spectators parts to admit you, murmuring approval" ,PCR CR>
|
|
<RETURN ,BALLROOM>)>>
|
|
|
|
;<CONSTANT FOLDS " in the folds of your skirts">
|
|
|
|
;<ROUTINE WEARING-HAT ()
|
|
<FCLEAR ,HAT ,WORNBIT>
|
|
<TELL "Remembering Lafond's hat, you ">
|
|
<COND (<FSET? ,HAT ,WORNBIT>
|
|
<TELL "whip it off" T ,HEAD " and">)>
|
|
<TELL "hide it" ,FOLDS ". ">>
|
|
|
|
<ROOM FOYER ;"EVERYBIT: the butler missed you in I-SUMMONS"
|
|
(IN ROOMS)
|
|
(DESC "Foyer")
|
|
(LDESC "A grandiose staircase splits and twists up to the next
|
|
floor here, framing the entrance south to the ballroom. Long hallways
|
|
lead east and west; cool night air drifts in through the front door,
|
|
north of you.")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT INDOORSBIT)
|
|
(SOUTH PER FOYER-EXIT)
|
|
(NORTH TO MAIN-ENTRANCE)
|
|
(WEST PER FOYER-EXIT)
|
|
(EAST PER FOYER-EXIT)
|
|
(UP PER FOYER-EXIT)
|
|
(ACTION FOYER-F)>
|
|
|
|
<GLOBAL BUTLER-POINTS "\" The butler points up the stairs.|">
|
|
|
|
<ROUTINE FOYER-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-END>
|
|
<COND (<AND <NOT <FSET? ,BUTLER ,DEADBIT>>
|
|
<IN? ,BUTLER ,HERE>>
|
|
<COND (<FSET? ,GOWN ,WORNBIT>
|
|
<COND (<FSET? ,FOYER ,EVERYBIT>
|
|
<FCLEAR ,FOYER ,EVERYBIT>
|
|
<REMOVE ,BUTLER>
|
|
<TELL ,INDENT
|
|
"\"Miss, the master has been expecting you, up in his room.
|
|
I did look for you.\" " CTHE ,BUTLER " bows and leaves." CR>)
|
|
(<FSET? ,BUTLER ,MUNGBIT>
|
|
<TELL
|
|
,INDENT "\"" ,NO-LOITERING ,PUSHING-YOU-OUT CR>
|
|
<GOTO ,MAIN-ENTRANCE>)
|
|
(T
|
|
<RFALSE>)>)
|
|
(,BOY-DRESS?
|
|
<KICKED-OUT>)
|
|
(T
|
|
;<OR <FSET? ,DRESS ,WORNBIT>
|
|
<NOT <FSET? ,CHEMISE ,EVERYBIT>>>
|
|
<TELL ,INDENT
|
|
"\"You may not ply your wares here, Paphian. Leave before I have you
|
|
thrown off the cliff!\" You contemplate this pleasant prospect as you
|
|
are tossed onto the gravel drive." CR CR>
|
|
<GOTO ,MAIN-ENTRANCE>)>)
|
|
(,COOKIE-LOOKING
|
|
<I-COOKIE T>)
|
|
(T
|
|
<RTRUE>)>)
|
|
;(<AND <EQUAL? .RARG ,M-BEG>
|
|
<NOT <FSET? ,BUTLER ,DEADBIT>>
|
|
<VERB? WEAR>
|
|
<PRSO? ,HAT>>
|
|
<TELL "That mayn't be wise." CR>)
|
|
(<AND <EQUAL? .RARG ,M-ENTER>
|
|
<NOT <FSET? ,BUTLER ,DEADBIT>>
|
|
<NOT <FSET? ,BUTLER ,INDOORSBIT>>>
|
|
<QUEUE I-BUTLER 3>)>>
|
|
|
|
<ROUTINE FOYER-EXIT ()
|
|
<COND (<FSET? ,BUTLER ,INDOORSBIT>
|
|
<COND (<EQUAL? ,P-WALK-DIR ,P?SOUTH>
|
|
<BALLROOM-ENTRANCE>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?WEST>
|
|
<RETURN ,HALL-W>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?UP>
|
|
<RETURN ,STAIRTOP>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?EAST ,P?UP>
|
|
<COND (<IN? ,BUTLER ,HERE>
|
|
<TELL
|
|
"\"No, ma'am, that way's private.\" The butler stops you" ,PCR>
|
|
<RFALSE>)
|
|
(T
|
|
<RETURN ,HALL-E>)>)>)
|
|
(<RUNNING? ,I-BUTLER>
|
|
<QUEUE I-BUTLER 2>
|
|
<TELL
|
|
"\"Excuse me!\" The " D ,BUTLER " pushes you
|
|
back. \"Your invitation, please!\"" CR>
|
|
<RFALSE>)
|
|
(T
|
|
<QUEUE I-BUTLER 2>
|
|
<SETG AWAITING-FAKE-ORPHAN T>
|
|
<TELL
|
|
"The butler prevents you. \"Miss... your invitation?\"" CR>
|
|
<RFALSE>)>>
|
|
|
|
|
|
<ROOM BALLROOM ;"EVERYBIT = crew is rounding up dancers"
|
|
(IN ROOMS)
|
|
(DESC "Ballroom")
|
|
(SYNONYM FLOOR DANCE BALLRO)
|
|
(ADJECTIVE DANCE)
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT INDOORSBIT)
|
|
(NORTH PER BALLROOM-EXIT)
|
|
(SOUTH PER BALLROOM-EXIT)
|
|
(WEST PER BALLROOM-EXIT)
|
|
(EAST PER BALLROOM-EXIT)
|
|
(GLOBAL CHANDELIER VER-DOOR CREW DANCERS)
|
|
(ACTION BALLROOM-F)>
|
|
|
|
<GLOBAL DANCED-WITH <>> ;"Keeps track of your dances, with Nick, with Lafond"
|
|
|
|
<ROUTINE BALLROOM-F ("OPTIONAL" (RARG <>))
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<COND (,ENDGAME
|
|
<COND (<QUEUED? ,I-ENDGAME>
|
|
<TELL
|
|
CTHE ,DANCERS "s stare amazed at Lafond's limp body,
|
|
some disbelieving, some hopeful, all stock still.
|
|
The pirates have fled to the darkness of the lawn">)
|
|
(T
|
|
<TELL
|
|
"All is chaos, screaming women fainting on terrified men.
|
|
Several of Jamison's scruffiest men round the dancers
|
|
into a huddle in the center of" ,DANCE-FLOOR>)>)
|
|
(T
|
|
<TELL
|
|
"Lafond's party is well attended: you can hardly move for the crush.
|
|
However, the room is oddly silent, no talk interrupting the musical
|
|
efforts of" T ,MUSICIANS " to the west. Despite the heat, no one ventures
|
|
south to the veranda, nor through the opening east.
|
|
The foyer is north of you">)>
|
|
<TELL ".">)
|
|
(<EQUAL? .RARG ,M-ENTER>
|
|
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
|
<SETG HERO-CTR 1>
|
|
<QUEUE I-HDANCE -1>)
|
|
(<AND <NOT ,PARTNER>
|
|
<EQUAL? ,DANCED-WITH ,HERO>
|
|
<NOT ,ENDGAME>>
|
|
<SETG LAFOND-CTR 1>
|
|
<QUEUE I-LDANCE 1>
|
|
<RFALSE>)
|
|
(T
|
|
<RFALSE>)>)
|
|
(<EQUAL? .RARG ,M-BEG>
|
|
<COND (<AND <EQUAL? ,CREW ,PRSO ,PRSI>
|
|
<NOT <NOUN-USED ,W?MAN ,CREW>>
|
|
<NOT <VERB? ASK-ABOUT>>
|
|
<NOT <PRSO? ,HERO ,LAFOND>>
|
|
<NOT <FSET? ,BALLROOM ,EVERYBIT>>>
|
|
<TELL ,YOU-CANT-SEE-ANY "of Jamison's crew here" ,PCR>
|
|
<STOP>)
|
|
(<AND <VERB? ASK-FOR>
|
|
<IN? ,PRSO ,HERE>
|
|
<PRSI? ,BALLROOM>>
|
|
<PERFORM ,V?DANCE ,PRSO>
|
|
<RTRUE>)
|
|
(<AND <VERB? PUT>
|
|
<PRSI? ,BALLROOM>>
|
|
<PERFORM ,V?DROP ,PRSO>
|
|
<RTRUE>)
|
|
(<AND <EQUAL? ,PARTNER ,HERO ,LAFOND>
|
|
<TOUCHING? ,VER-DOOR>>
|
|
<TELL D ,PARTNER " sweeps you past." CR>)
|
|
(T
|
|
<RFALSE>)>)
|
|
(<AND <EQUAL? .RARG ,M-END>
|
|
,COOKIE-LOOKING>
|
|
<I-COOKIE T>)>>
|
|
|
|
<ROUTINE BALLROOM-EXIT ()
|
|
<COND (<EQUAL? ,PARTNER ,HERO>
|
|
<TELL "\"Would you rather not dance? ">
|
|
<COND (<EQUAL? ,P-WALK-DIR ,P?SOUTH>
|
|
<TELL
|
|
"Apparently the guests have orders not to go outside.\" Instead" T ,HERO
|
|
" whirls and twirls you towards" TR ,MUSICIANS CR>
|
|
<RETURN ,ORCHESTRA>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?EAST>
|
|
<TELL
|
|
"Hungry?\" He guides you into the supper room, then tsks in dismay.
|
|
\"They've cleared the food away already!\"" CR CR>
|
|
<RETURN ,SUPPER-ROOM>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?WEST>
|
|
<TELL
|
|
"Let's listen to the music while we talk.\" He walks
|
|
you towards" TR ,MUSICIANS CR>
|
|
<RETURN ,ORCHESTRA>)
|
|
(T
|
|
<TELL
|
|
"It wouldn't be wise to put ourselves into the butler's sight, though.\"
|
|
He escorts you into the supper-room instead" ,PCR CR>
|
|
<RETURN ,SUPPER-ROOM>)>)
|
|
(<QUEUED? ,I-CKILLS-DAD>
|
|
<TELL D ,LAFOND
|
|
" stops you. \"Stay until we hear the sad news.\"" CR>
|
|
<RFALSE>)
|
|
(<EQUAL? ,LAFOND ,PARTNER>
|
|
;<SETG PARTNER <>>
|
|
;<SETG DANCED-WITH ,BLOWN>
|
|
;<DEQUEUE I-SUMMONS>
|
|
;<REMOVE ,LAFOND>
|
|
<TELL
|
|
"\"How dare you walk away!\" Lafond grips your arm,
|
|
so you may not leave the floor" ,PCR>
|
|
<RFALSE>)
|
|
(<AND <RUNNING? ,I-LDANCE>
|
|
<EQUAL? <LOC ,LAFOND> ,HERE>
|
|
;<NOT <EQUAL? ,PARTNER ,LAFOND>>>
|
|
<SETG QUESTIONER ,LAFOND>
|
|
<TELL
|
|
"\"Your answer, cherie?\" His twists your wrist mercilessly" ,PCR>
|
|
<RFALSE>)>
|
|
<COND (<EQUAL? ,P-WALK-DIR ,P?NORTH>
|
|
<RETURN ,FOYER>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?SOUTH>
|
|
<COND (<FSET? ,VER-DOOR ,OPENBIT>
|
|
<RETURN ,VERANDA>)
|
|
(T
|
|
<TELL CTHE ,DOOR ,IS-CLOSED ,PCR>
|
|
<RFALSE>)>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?WEST>
|
|
<RETURN ,ORCHESTRA>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?EAST>
|
|
<RETURN ,SUPPER-ROOM>)>>
|
|
|
|
<OBJECT MUSICIANS
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "musicians")
|
|
(SYNONYM MUSICIANS ORCHESTRA)
|
|
(FLAGS ACTORBIT)
|
|
(ACTION MUSICIANS-F)>
|
|
|
|
<ROUTINE MUSICIANS-F ()
|
|
<COND (<VERB? EXAMINE LISTEN>
|
|
<COND (,ENDGAME
|
|
<TELL
|
|
"The musicians are with" T ,DANCERS "s in the ballroom." CR>)
|
|
(T
|
|
<TELL "The small band is made up of a virginal,
|
|
bass and treble viols, and several recorders. They are playing \"I Want
|
|
to Kiss Your Hand,\" by J.S. Beatle." CR>)>)
|
|
(T
|
|
<UNIMPORTANT-THING>
|
|
<STOP>)>>
|
|
|
|
<ROOM ORCHESTRA
|
|
(IN ROOMS)
|
|
(DESC "Orchestra")
|
|
(FLAGS ONBIT RLANDBIT NARTICLEBIT INDOORSBIT)
|
|
(EAST TO BALLROOM)
|
|
(SOUTH "The windows overlooking the veranda do not open.")
|
|
(GLOBAL WINDOW DANCERS MUSICIANS)
|
|
(ACTION ORCHESTRA-F)>
|
|
|
|
<ROUTINE ORCHESTRA-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<COND (<AND ,ENDGAME
|
|
<NOT <QUEUED? ,I-ENDGAME>>>
|
|
<TELL "This end of the ballroom is empty of people.">)
|
|
(T
|
|
<TELL
|
|
"A few older women and young girls sit near the small orchestra
|
|
assembled at this end of the ballroom.">)>)
|
|
(<AND <EQUAL? .RARG ,M-END>
|
|
,COOKIE-LOOKING>
|
|
<I-COOKIE T>)>>
|
|
|
|
<ROOM SUPPER-ROOM
|
|
(IN ROOMS)
|
|
(DESC "Supper Room")
|
|
(LDESC
|
|
"One long table set across the north entrance indicates that
|
|
supper was served here earlier. West of you is the ballroom.")
|
|
(FLAGS INDOORSBIT ONBIT RLANDBIT NARTICLEBIT)
|
|
(NORTH PER UNDER-TABLE)
|
|
(WEST PER BALLROOM-ENTRANCE)
|
|
(SOUTH "The windows overlooking the veranda do not open.")
|
|
(GLOBAL LONG-TABLE WINDOW)
|
|
(ACTION SUPPER-ROOM-F)>
|
|
|
|
<ROUTINE SUPPER-ROOM-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER>
|
|
<MOVE ,LONG-TABLE ,HERE>)
|
|
(<AND <EQUAL? .RARG ,M-END>
|
|
,COOKIE-LOOKING>
|
|
<I-COOKIE T>)>>
|
|
|
|
<ROUTINE UNDER-TABLE ()
|
|
<TELL
|
|
"You scuttle underneath" TR ,LONG-TABLE CR>
|
|
<COND (<EQUAL? ,HERE ,HALL-E>
|
|
<RETURN ,SUPPER-ROOM>)
|
|
(T
|
|
<RETURN ,HALL-E>)>>
|
|
|
|
<OBJECT LONG-TABLE
|
|
(DESC "long table")
|
|
(SYNONYM TABLE)
|
|
(ADJECTIVE LONG)
|
|
(CAPACITY 50)
|
|
(FLAGS SURFACEBIT CONTBIT SEARCHBIT OPENBIT NDESCBIT)
|
|
;(ACTION LONG-TABLE-F)>
|
|
|
|
;<ROUTINE LONG-TABLE-F ()
|
|
<COND (<>)>>
|
|
|
|
<ROOM HALL-E
|
|
(IN ROOMS)
|
|
(DESC "East Hallway")
|
|
(LDESC
|
|
"The carpeted hallway turns from west to north here, extending into the
|
|
east wing. A long table blocks the way south.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(NORTH TO LIBRARY)
|
|
(SOUTH PER UNDER-TABLE)
|
|
(WEST TO FOYER)
|
|
(GLOBAL LONG-TABLE)
|
|
(ACTION HALL-E-F)>
|
|
|
|
<ROUTINE HALL-E-F (RARG)
|
|
<COND (<AND <EQUAL? .RARG ,M-END>
|
|
<NOT <FSET? ,BUTLER ,DEADBIT>>
|
|
<IN? ,BUTLER ,FOYER>>
|
|
<COND (<NOT <FSET? ,GOWN ,WORNBIT>>
|
|
<KICKED-OUT>)
|
|
(<NOT <FSET? ,BUTLER ,INDOORSBIT>>
|
|
<TELL ,INDENT
|
|
"A " D ,BUTLER " takes your arm, pulling you
|
|
into the foyer. \"I have not seen your " D ,INVITE ", Miss.\"" CR CR>
|
|
<GOTO ,FOYER>)
|
|
(T
|
|
<RFALSE>)>)
|
|
(<EQUAL? .RARG ,M-ENTER>
|
|
<MOVE ,LONG-TABLE ,HALL-E>)>>
|
|
|
|
|
|
<ROOM LIBRARY ;"EVERYBIT = Butler has seen open portrait."
|
|
(IN ROOMS)
|
|
(DESC "Library")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(SYNONYM LIBRARY)
|
|
;(EAST PER LWINDOW-EXIT)
|
|
(EAST TO BY-HOUSE IF LIB-WINDOW IS OPEN)
|
|
(SOUTH TO HALL-E)
|
|
(IN PER PORTRAIT-EXIT)
|
|
(NORTH PER PORTRAIT-EXIT)
|
|
(GLOBAL PORTRAIT WINDOW DESK DRAPES)
|
|
(ACTION LIBRARY-F)>
|
|
|
|
<ROUTINE LIBRARY-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"Everything in this private office is larger than life. A huge " D ,PORTRAIT>
|
|
<COND (<FSET? ,PORTRAIT ,OPENBIT>
|
|
<TELL ", slightly awry from the wall,">)>
|
|
<TELL
|
|
" decorates the north side, and black drapes mask the east wall. Bookshelves
|
|
tower over a cherry desk, and a massive wooden globe squats in a corner.">
|
|
<COND (<NOT ,ENDGAME>
|
|
<TELL
|
|
" Music wafts distantly from the ballroom across the hall to the south.">)>
|
|
<COND (<NOT <FSET? ,KNOB ,DEADBIT>>
|
|
<TELL CR ,INDENT "A knob juts out of the wall.">)
|
|
(T
|
|
<RTRUE>)>)
|
|
(<AND <EQUAL? .RARG ,M-ENTER>
|
|
<IN? ,COOKIE ,HERE>
|
|
<NOT <FSET? ,COOKIE ,EVERYBIT>>>
|
|
<FSET ,COOKIE ,EVERYBIT>
|
|
<TELL
|
|
,SURPRISE D ,COOKIE " is here, studying the walls.
|
|
\"Cap'n said somethin' about a secret door, mebbe.\"" CR CR>)
|
|
(<EQUAL? .RARG ,M-END>
|
|
<COND ;(<AND <FSET? ,LIBRARY ,EVERYBIT> ;"can't get anymore"
|
|
<NOT <FSET? ,BUTLER ,DEADBIT>>>
|
|
<TELL
|
|
"The butler stands nearby, \"I've been waiting for you">
|
|
<COND (<EQUAL? <LOC ,DAD> ,HERE>
|
|
<TELL " and the old man">)>
|
|
<TELL ", ">
|
|
<COND (,BOY-DRESS?
|
|
<TELL "brat">)
|
|
(<FSET? ,GOWN ,WORNBIT>
|
|
<TELL "trollop">)
|
|
(T
|
|
<TELL "wench">)>
|
|
<TELL "!\" ">
|
|
<FWTD ,SOMETHING-HITS-YOU>)
|
|
(<IN? ,DAD ,HERE>
|
|
<COND (<AND <EQUAL? ,DANCED-WITH ,LAFOND>
|
|
<NOT ,HERO-ARRESTED>>
|
|
<QUEUE I-HARRESTED 2>)>
|
|
<QUEUE I-CATCH-KISS 25>
|
|
<FSET ,FOREST ,EVERYBIT>
|
|
<FSET ,LIB-WINDOW ,OPENBIT>
|
|
<SETG SLAT-OPEN T>
|
|
<FCLEAR ,HOLE ,INVISIBLE>
|
|
<FSET ,SLAT ,NDESCBIT>
|
|
<REMOVE ,DAD>
|
|
<REMOVE ,LUCY>
|
|
<TELL ,INDENT
|
|
"\"A " D ,WINDOW "!\" your father exclaims. \"I shall creep out to the
|
|
kitchen. Get the Falcon.\" He climbs out" TR ,WINDOW>)
|
|
(<AND <IN? ,COOKIE ,HERE>
|
|
<RUNNING? ,I-DUEL>>
|
|
<MOVE ,COOKIE ,GALLERY>
|
|
<REMOVE ,CREW> ;"get them out of ballroom"
|
|
<TELL ,INDENT
|
|
D ,COOKIE " cocks his head. \"What is that noise? Is Cap'n duelling
|
|
Lafond? There's no chance he could win as beaten as he is!\" Cookie races
|
|
out towards the ballroom" ,PCR>)
|
|
(T
|
|
<RFALSE>)>)>>
|
|
|
|
;<ROUTINE LWINDOW-EXIT ()
|
|
<COND (<NOT <FSET? ,LIB-WINDOW ,OPENBIT>>
|
|
<TELL CTHE ,WINDOW ,IS-CLOSED ,PCR>
|
|
<RETURN ,FALSE>)
|
|
(T
|
|
;<COND (<HELD? ,HAT>
|
|
<MOVE ,HAT ,LIBRARY>
|
|
<FCLEAR ,HAT ,WORNBIT>
|
|
<FSET ,HAT ,EVERYBIT>
|
|
<FCLEAR ,KNOB ,EVERYBIT>
|
|
<FSET ,KNOB ,DEADBIT>
|
|
<TELL
|
|
"For safety's sake, you leave" T ,HAT " on its knob.
|
|
Best not to show that you've been wandering" ,PCR CR>)>
|
|
<COND (<EQUAL? ,P-DIRECTION ,P?EAST>
|
|
<RETURN ,BY-HOUSE>)
|
|
(T
|
|
<RETURN ,LIBRARY>)>)>>
|
|
|
|
<ROUTINE PORTRAIT-EXIT () ; "EXIT-FCN"
|
|
<COND (<NOT <FSET? ,PORTRAIT ,MUNGBIT>>
|
|
<TELL ,CANT-GO>
|
|
<RFALSE>)
|
|
(<NOT <FSET? ,PORTRAIT ,OPENBIT>>
|
|
<TELL CTHE ,PORTRAIT ,IS-CLOSED ,PCR>
|
|
<RFALSE>)
|
|
(T
|
|
<COND (<HELD? ,HAT>
|
|
<SAFETY-SAKE>
|
|
<TELL ,INDENT>)>
|
|
<TELL "You move beyond" T ,PORTRAIT " into the ">
|
|
<COND (<EQUAL? ,HERE ,STAIRWELL>
|
|
<TELL "library" ,PCR CR>
|
|
;<COND (<HELD? ,CANDLE>
|
|
<MOVE ,CANDLE ,STAIRWELL>
|
|
<TELL
|
|
"deposit the candle back in its sconce and move">)>
|
|
<RETURN ,LIBRARY>)
|
|
(<EQUAL? ,HERE ,LIBRARY>
|
|
<TELL "flickering torchlight" ,PCR CR>
|
|
<RETURN ,STAIRWELL>)>)>>
|
|
|
|
<OBJECT DRAPES
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "drapes")
|
|
(SYNONYM DRAPES CURTAIN)
|
|
(ADJECTIVE BLACK VELVET PURPLE GOLD)
|
|
(FLAGS PLURALBIT NDESCBIT DOORBIT BURNBIT)
|
|
(ACTION DRAPES-F)>
|
|
|
|
<ROUTINE DRAPES-F ()
|
|
<COND (<VERB? LOOK-BEHIND>
|
|
<COND (<EQUAL? ,HERE ,LAFS-ROOM>
|
|
<TELL ,THERES-NOTHING "interesting behind" TR ,DRAPES>)
|
|
(T
|
|
<TELL "In the dark behind" T ,DRAPES " is" AR ,WINDOW>)>)
|
|
(<VERB? OPEN PUSH MOVE>
|
|
<TELL ,PULL-FABRIC CR>
|
|
;<TELL "You pull" T ,DRAPES " aside momentarily" ,PCR>)
|
|
(<VERB? CLOSE>
|
|
<COND (<EQUAL? ,HERE ,LIBRARY>
|
|
<TELL ,ALREADY-ARE>)
|
|
(T
|
|
<TELL ,BEAUTIFUL-NIGHT>)>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<EQUAL? ,HERE ,LIBRARY>
|
|
<TELL
|
|
"Dark drapes cover an entire wall of the room" ,PCR>)
|
|
(T
|
|
<TELL
|
|
"The purple hangings are densely embroidered with gold" ,PCR>)>)>>
|
|
|
|
;<OBJECT CANDLE
|
|
(IN STAIRWELL)
|
|
(DESC "candle")
|
|
(FDESC "A candle burns brightly from a sconce on the wall.")
|
|
(SYNONYM CANDLE)
|
|
(ADJECTIVE BURNING)
|
|
(FLAGS TAKEBIT ONBIT LIGHTBIT)
|
|
(ACTION CANDLE-F)>
|
|
|
|
;<ROUTINE CANDLE-F ()
|
|
<COND (<AND <VERB? ON BURN>
|
|
<PRSO? ,CANDLE>>
|
|
<COND (<NOT ,PRSI>
|
|
<COND ;(<FSET? ,MATCH ,ONBIT>
|
|
<TELL "[with the match]" CR>
|
|
<PERFORM ,V?ON ,CANDLE ,MATCH>
|
|
<RTRUE>)
|
|
(<IN? ,FIRE ,HERE>
|
|
<TELL "[in the fire]" CR>
|
|
<PERFORM ,V?ON ,CANDLE ,FIRE>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"Please say what to light it with." CR>)>)
|
|
;(<AND <EQUAL? ,PRSI ,MATCH>
|
|
<FSET? ,MATCH ,ONBIT>>
|
|
<TELL "The candle is ">
|
|
<COND (<FSET? ,CANDLE ,ONBIT>
|
|
<TELL "already ">)
|
|
(T
|
|
<FSET ,CANDLE ,ONBIT>)>
|
|
<TELL "lit" ,PCR>)
|
|
(T
|
|
<TELL
|
|
,YOULL-HAVE-TO "light it with something that's burning, you know." CR>)>)
|
|
(<AND <VERB? OFF>
|
|
<PRSO? ,CANDLE>>
|
|
<COND (<FSET? ,CANDLE ,ONBIT>
|
|
<TELL "The flame is extinguished.">
|
|
<FCLEAR ,CANDLE ,ONBIT>
|
|
<SETG LIT <LIT? ,HERE>>
|
|
<COND (<NOT ,LIT>
|
|
<TELL " It's rather dark in here...">)>
|
|
<CRLF>
|
|
<RTRUE>)
|
|
(T <TELL "But" T ,CANDLE " isn't lit!" CR>)>)
|
|
(<AND <VERB? PUT WAVE POINT>
|
|
<PRSI? ,SHIP ,SHUTTERS>
|
|
<EQUAL? ,HERE ,LAFS-ROOM>>
|
|
<COND (<AND <FSET? ,CANDLE ,ONBIT>
|
|
<FSET? ,SHUTTERS ,OPENBIT>>
|
|
<FCLEAR ,CANDLE ,ONBIT>
|
|
<TELL
|
|
"As you hold the candle up to the window a puff of breeze blows it out" ,PCR>)
|
|
(T
|
|
<TELL "You wave" T ,CANDLE>
|
|
<COND (<FSET? ,SHUTTERS ,OPENBIT>
|
|
<TELL " in the open window" ,PCR>)
|
|
(T
|
|
<TELL
|
|
" behind the closed " D ,SHUTTERS ,PCR>)>)>)
|
|
(<VERB? EXAMINE>
|
|
<TELL "The candle is ">
|
|
<COND (<FSET? ,CANDLE ,ONBIT>
|
|
<TELL "burning.">)
|
|
(T <TELL "out.">)>
|
|
<CRLF>)>>
|
|
|
|
<OBJECT TORCH
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "torch")
|
|
(SYNONYM TORCH FLAME)
|
|
(ADJECTIVE BURNING)
|
|
(FLAGS TRYTAKEBIT ONBIT LIGHTBIT)
|
|
(ACTION TORCH-F)>
|
|
|
|
<ROUTINE TORCH-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL CTHE ,TORCH " is flickering madly in the breeze." CR>)
|
|
(<AND <VERB? PUT PUT-ON>
|
|
<FSET? ,PRSI ,BURNBIT>>
|
|
<TELL "Mama disapproved of pyromaniacs." CR>)
|
|
(<TOUCHING? ,TORCH>
|
|
<TELL
|
|
,YOU-CANT "reach" T ,TORCH ". Ladies don't carry them anyway." CR>
|
|
;<CANT-REACH ,TORCH>)>>
|
|
|
|
<GLOBAL COOKIE-HARRUMPHS " Cookie harrumphs, surprised.">
|
|
|
|
<OBJECT PORTRAIT ;"MUNGBIT = Portrait has been opened once."
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "portrait")
|
|
(SYNONYM PORTRAIT PICTUR PAINTING DOOR)
|
|
(ADJECTIVE OPENING SECRET)
|
|
(FLAGS NDESCBIT DOORBIT)
|
|
(ACTION PORTRAIT-F)>
|
|
|
|
<ROUTINE PORTRAIT-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<COND (<EQUAL? ,HERE ,LIBRARY>
|
|
<COND (<FSET? ,PORTRAIT ,OPENBIT>
|
|
<TELL "Cool air seeps out from" TR ,PORTRAIT>)
|
|
(T
|
|
<TELL
|
|
CTHE ,PORTRAIT " seems familiar, and you realize it is exactly the
|
|
picture on the front of" T ,BANKNOTE T ,LAFOND " sent you, same clothes,
|
|
same surroundings, same pose." CR>)>)
|
|
(T
|
|
<TELL ,YOU-SEE ,THE-BACK TR ,PORTRAIT>)>)
|
|
(<VERB? LOOK-BEHIND>
|
|
<COND (<FSET? ,PORTRAIT ,OPENBIT>
|
|
<PERFORM ,V?EXAMINE ,PORTRAIT>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
CTHE ,PORTRAIT " is firmly fastened to the wall" ,PCR>)>)
|
|
;(<VERB? READ>
|
|
<TELL
|
|
"The scroll in the " D ,PORTRAIT " reads, \"Jean Lafond, King
|
|
of the West Indies.\"" CR>)
|
|
(<VERB? ENTER HIDE WALK>
|
|
<COND (<NOT <FSET? ,PORTRAIT ,MUNGBIT>>
|
|
<TELL
|
|
"This is a " D ,PORTRAIT ", not a looking glass" ,PCR>)
|
|
(T
|
|
<DO-WALK ,P?IN>)>)
|
|
(<VERB? OPEN>
|
|
<COND (<FSET? ,PORTRAIT ,OPENBIT>
|
|
<TELL ,ALREADY-IS>)
|
|
(<FSET? ,PORTRAIT ,MUNGBIT>
|
|
<FSET ,PORTRAIT ,OPENBIT>
|
|
<COND (<EQUAL? ,HERE ,LIBRARY>
|
|
<TELL
|
|
"Quickly you pull the book, joggle" T ,KNOB
|
|
" and touch" T ,GLOBE ", and" T ,PORTRAIT " pops open.">
|
|
<COND (<IN? ,COOKIE ,HERE>
|
|
<TELL ,COOKIE-HARRUMPHS>)>
|
|
<CRLF>)
|
|
(T
|
|
<TELL
|
|
"You push outwards on the wall, opening" TR ,PORTRAIT>)>)
|
|
(T
|
|
<TELL "Open a " D ,PORTRAIT "?!" CR>)>)
|
|
(<VERB? CLOSE>
|
|
<COND (<NOT <FSET? ,PORTRAIT ,MUNGBIT>>
|
|
<TELL ,HUH>)
|
|
(<FSET? ,PORTRAIT ,OPENBIT>
|
|
<FCLEAR ,PORTRAIT ,OPENBIT>
|
|
<FCLEAR ,POWER ,EVERYBIT>
|
|
<FCLEAR ,KNOB ,EVERYBIT>
|
|
<TELL
|
|
CTHE ,PORTRAIT " swings shut with a tiny snap." CR>)>)>>
|
|
|
|
<OBJECT GLOBE
|
|
(IN LIBRARY)
|
|
(DESC "globe")
|
|
(SYNONYM GLOBE SINISTRA ISLAND)
|
|
(ADJECTIVE WORLD ST WOODEN)
|
|
(FLAGS TRYTAKEBIT NDESCBIT)
|
|
(ACTION GLOBE-F)>
|
|
|
|
<ROUTINE GLOBE-F ()
|
|
<COND (<OR <VERB? TOUCH PUSH>
|
|
<AND <VERB? PUT-ON>
|
|
<PRSO? ,HANDS>>>
|
|
<TELL "You press the ">
|
|
<COND (<OR <NOUN-USED ,W?SINISTRA ,GLOBE>
|
|
<NOUN-USED ,W?ISLAND ,GLOBE>
|
|
<ADJ-USED ,A?ST>>
|
|
<TELL
|
|
"painted island, and it sinks into the wooden sea.">
|
|
<COND (<AND <FSET? ,KNOB ,EVERYBIT>
|
|
<FSET? ,POWER ,EVERYBIT>
|
|
<NOT <FSET? ,PORTRAIT ,OPENBIT>>>
|
|
<FSET ,PORTRAIT ,OPENBIT>
|
|
<COND (<NOT <FSET? ,PORTRAIT ,MUNGBIT>>
|
|
<FSET ,PORTRAIT ,MUNGBIT>
|
|
<SETG SCORE <+ ,SCORE 1>>)>
|
|
<TELL
|
|
" You hear a whirr and a click and" T ,PORTRAIT " pops open. A draft of
|
|
sea-scented air flows in from behind it.">
|
|
<COND (<IN? ,COOKIE ,HERE>
|
|
<TELL ,COOKIE-HARRUMPHS>)>)>)
|
|
(T
|
|
<TELL "globe at random.">)>
|
|
<CRLF>)
|
|
(<VERB? TAKE SET>
|
|
<TELL CTHE ,GLOBE " is solidly fastened to the floor." CR>)
|
|
(<AND <VERB? FIND>
|
|
<PRSI? ,GLOBE>
|
|
<OR <NOUN-USED ,W?SINISTRA ,GLOBE>
|
|
<NOUN-USED ,W?ISLAND ,GLOBE>
|
|
<ADJ-USED ,A?ST>>>
|
|
<TELL "It is in the West Indies, surrounded by blue." CR>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<OR <NOUN-USED ,W?SINISTRA ,GLOBE>
|
|
<NOUN-USED ,W?ISLAND ,GLOBE>
|
|
<ADJ-USED ,A?ST>>
|
|
<TELL
|
|
"A tiny replica of " D ,ISLAND " is painted on" T ,GLOBE " in greater detail
|
|
than any other country, showing even the road from Santa Ananas to Lafond's
|
|
mansion" ,PCR>)
|
|
(T
|
|
<TELL
|
|
"The massive wooden globe, painted in greens and blues and white,
|
|
describes the world as presently known" ,PCR>)>)>>
|
|
|
|
<OBJECT BOOKS-GLOBAL
|
|
(IN LIBRARY)
|
|
(DESC "books")
|
|
(SYNONYM BOOK BOOKS)
|
|
(GENERIC GENERIC-BOOK)
|
|
(FLAGS TRYTAKEBIT NDESCBIT PLURALBIT)
|
|
(ACTION BOOKS-GLOBAL-F)>
|
|
|
|
<ROUTINE BOOKS-GLOBAL-F ()
|
|
<COND (<VERB? LOOK-INSIDE READ TAKE OPEN>
|
|
<TELL
|
|
"You pick one at random. You always preferred horses to
|
|
reading, so you put it back" ,PCR>)
|
|
(<VERB? EXAMINE SEARCH>
|
|
<TELL
|
|
"Most of the books appear unread, their pages uncut, the spines not yet
|
|
creased. All except one, \"Treatise of Power\" by Sir Michael Villiers" ,PCR>)
|
|
(<VERB? MOVE PUSH>
|
|
<TELL ,HUH>)>>
|
|
|
|
<OBJECT BOOKCASE
|
|
(IN LIBRARY)
|
|
(DESC "bookcase")
|
|
(SYNONYM BOOKCASE BOOKSHELF SHELF SHELVES)
|
|
(ADJECTIVE BOOK CASE)
|
|
(FLAGS NDESCBIT CONTBIT OPENBIT SEARCHBIT)
|
|
(CAPACITY 99)
|
|
(ACTION BOOKCASE-F)>
|
|
|
|
<ROUTINE BOOKCASE-F ()
|
|
<COND (<VERB? EXAMINE LOOK-INSIDE SEARCH>
|
|
<PERFORM ,V?EXAMINE ,BOOKS-GLOBAL>
|
|
<RTRUE>)
|
|
(<VERB? MOVE PUSH SET>
|
|
<SETG AWAITING-REPLY 3>
|
|
<QUEUE I-REPLY 2>
|
|
<TELL
|
|
"Why tamper with a " D ,BOOKCASE "? Searching for a
|
|
secret door or some such?" CR>)
|
|
(<VERB? OPEN CLOSE>
|
|
<WASTES>)>>
|
|
|
|
<OBJECT POWER ;"EVERYBIT = Book is queued to open portrait."
|
|
(IN BOOKCASE) ;"MUNGBIT = point given for this move."
|
|
(DESC "book")
|
|
(SYNONYM BOOK POWER)
|
|
(ADJECTIVE TREATISE WELL-READ)
|
|
(FLAGS NDESCBIT TRYTAKEBIT)
|
|
(GENERIC GENERIC-BOOK)
|
|
(ACTION POWER-F)>
|
|
|
|
<ROUTINE POWER-F ()
|
|
<COND (<VERB? READ TAKE OPEN MOVE FIDDLE>
|
|
<TELL
|
|
"You half tip" T ,POWER " out of the shelf when
|
|
it snaps surprisingly back into place">
|
|
<COND (<NOT <FSET? ,POWER ,MUNGBIT>>
|
|
<FSET ,POWER ,MUNGBIT>
|
|
<SETG SCORE <+ ,SCORE 1>>)>
|
|
<COND (<NOT <FSET? ,POWER ,EVERYBIT>>
|
|
<FSET ,POWER ,EVERYBIT>
|
|
<TELL
|
|
". There is a mysterious scraping sound from inside the wall">)>
|
|
<TELL ,PCR>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"You gaze at \"Treatise of Power\" without taking it.
|
|
It seems to be the only book that has been read in the library,
|
|
the leather creased and dull with use." CR>)>>
|
|
|
|
|
|
<ROUTINE GENERIC-BOOK (X "OPTIONAL" Y)
|
|
<COND (<EQUAL? ,HERE ,LIBRARY>
|
|
,BOOKS-GLOBAL)>>
|
|
|
|
<OBJECT KNOB ;"EVERYBIT = knob is queued to open portrait."
|
|
(IN LIBRARY) ;"DEADBIT = knob unseeable/NDESCBIT by another name"
|
|
(DESC "knob")
|
|
(SYNONYM KNOB)
|
|
(FLAGS NDESCBIT SURFACEBIT CONTBIT ;OPENBIT SEARCHBIT DEADBIT)
|
|
(ACTION KNOB-F)>
|
|
|
|
<ROUTINE KNOB-F ()
|
|
<COND (<VERB? PUSH MOVE SET LOWER FIDDLE>
|
|
<COND (<FSET? ,KNOB ,EVERYBIT>
|
|
<HACK-HACK "Fiddling with">)
|
|
(T
|
|
<FSET ,KNOB ,EVERYBIT>
|
|
<KNOB-CAUSES-TINGLE "As you fiddle with the">)>)
|
|
(<AND <VERB? PUT-ON PUT>
|
|
<PRSO? ,HAT>>
|
|
<COND (<FSET? ,KNOB ,DEADBIT>
|
|
<TELL ,ALREADY-IS>)
|
|
(<NOT <HELD? ,HAT>>
|
|
<TELL ,YNH TR ,HAT>)
|
|
(T
|
|
<FSET ,HAT ,EVERYBIT>
|
|
<FSET ,KNOB ,DEADBIT>
|
|
<MOVE ,HAT ,LIBRARY>
|
|
<TELL "You prop" T ,HAT " back on" TR ,KNOB>)>)
|
|
(<AND <VERB? EXAMINE>
|
|
<FSET? ,KNOB ,DEADBIT>>
|
|
<TELL CTHE ,HAT " is on" TR ,KNOB>)>>
|
|
|
|
<ROOM BEDROOM
|
|
(IN ROOMS)
|
|
(DESC "Bedroom")
|
|
(LDESC
|
|
"Lit only with moonlight through the open window, tonight this room
|
|
is serving as a ladies' dressing room. An exit lies to the north.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
;(DOWN PER CLIMBING-VINE)
|
|
(DOWN PER CLIMBING)
|
|
(NORTH TO UPPER-HALL-W)
|
|
(GLOBAL WINDOW VINE)>
|
|
|
|
<OBJECT GUEST-BED
|
|
(IN BEDROOM)
|
|
(DESC "bed")
|
|
(SYNONYM BED)
|
|
(FLAGS VEHBIT NDESCBIT CONTBIT SEARCHBIT SURFACEBIT OPENBIT)
|
|
(CAPACITY 100)
|
|
(ACTION BED-F)>
|
|
|
|
<ROOM UPPER-HALL-W
|
|
(IN ROOMS)
|
|
(DESC "Upstairs Hall")
|
|
(LDESC "You stand in a carpeted hallway, leading east
|
|
to a stair landing. Rooms lie north and south of you.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(NORTH TO X-ROOM)
|
|
(EAST TO STAIRTOP)
|
|
(SOUTH TO BEDROOM)>
|
|
|
|
<ROOM STAIRTOP
|
|
(IN ROOMS)
|
|
(DESC "Stair Landing")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(DOWN TO FOYER)
|
|
(WEST TO UPPER-HALL-W)
|
|
(EAST TO UPPER-HALL-E)
|
|
(GLOBAL CHANDELIER RAILING)
|
|
(ACTION STAIRTOP-F)>
|
|
|
|
<ROUTINE STAIRTOP-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"The east-west hallway opens here to curve into a grand staircase sweeping
|
|
down to the foyer.">)>>
|
|
|
|
;<ROUTINE old-STAIRTOP-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"The east-west hallway opens here to curve into a grand staircase sweeping
|
|
down to the foyer. A railing to the south overlooks the ballroom.">
|
|
<DANCEFLOOR-DESC>)>>
|
|
|
|
<ROOM X-ROOM
|
|
(IN ROOMS)
|
|
(DESC "Parlour")
|
|
(LDESC
|
|
"This room is exotically furnished with a Turkey divan and chairs.
|
|
The exit is south.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(SOUTH TO UPPER-HALL-W)>
|
|
|
|
<OBJECT DIVAN
|
|
(IN X-ROOM)
|
|
(DESC "divan")
|
|
(SYNONYM COUCH DIVAN)
|
|
(ADJECTIVE TURKEY)
|
|
(FLAGS NDESCBIT CONTBIT SEARCHBIT SURFACEBIT)
|
|
(ACTION DIVAN-F)>
|
|
|
|
<ROUTINE DIVAN-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"Backless, upholstered in Oriental silk,"
|
|
T ,DIVAN " looks exotic and comfortable" ,PCR>)
|
|
(<VERB? BOARD CLIMB-ON ENTER>
|
|
<TELL "You haven't time to relax now." CR>)
|
|
(T
|
|
<UNIMPORTANT-THING>)
|
|
;(<VERB? LOOK-INSIDE>
|
|
<CANT-VERB-A-PRSO "look inside">
|
|
;<TELL ,YOU-CANT "look inside" AR ,DIVAN>)>>
|
|
|
|
<OBJECT PAIR
|
|
(IN X-ROOM)
|
|
(DESC "pair of duelling pistols")
|
|
(LDESC "A pair of duelling pistols is mounted high on one wall.")
|
|
(SYNONYM PISTOL GUN)
|
|
(ADJECTIVE DUELLI)
|
|
(FLAGS PLURALBIT)
|
|
(ACTION PAIR-F)>
|
|
|
|
<ROUTINE PAIR-F ()
|
|
<COND (<TOUCHING? ,PAIR>
|
|
<TELL ,YOU-CANT
|
|
"reach them. Ladies don't carry " D ,PISTOL "s, anyway." CR>)>>
|
|
|
|
<ROOM UPPER-HALL-E
|
|
(IN ROOMS)
|
|
(DESC "Upstairs Hall")
|
|
(LDESC "You stand in a carpeted hallway, leading west
|
|
to a stair landing. To the north is an ornately carved door. From the
|
|
south comes the impression of light and air.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(SOUTH TO GALLERY)
|
|
(NORTH TO LAFS-ROOM IF LDOOR IS OPEN)
|
|
(WEST TO STAIRTOP)
|
|
(GLOBAL LDOOR)>
|
|
|
|
<OBJECT LDOOR
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "ornate door")
|
|
(SYNONYM DOOR LOCK)
|
|
(ADJECTIVE ORNATE)
|
|
(FLAGS NDESCBIT LOCKEDBIT DOORBIT)
|
|
(ACTION DOOR-F)>
|
|
|
|
<ROOM LAFS-ROOM
|
|
(IN ROOMS)
|
|
(DESC "Lafond's Bedroom")
|
|
(FLAGS NARTICLEBIT ONBIT RLANDBIT INDOORSBIT)
|
|
(SOUTH PER LAFS-EXIT)
|
|
(GLOBAL LDOOR TABLE DRAPES SEA)
|
|
(ACTION LAFS-ROOM-F)>
|
|
|
|
<ROUTINE LAFS-ROOM-F (RARG "AUX" THING)
|
|
<COND (<AND <EQUAL? .RARG ,M-BEG>
|
|
,LAFOND-LOOKING>
|
|
<COND (<AND <G? ,LAFOND-CTR <- ,HORNY 1>> ;"(9)"
|
|
<NOT <PRSO? ,PINCH ,SPICES>>
|
|
<VERB? TAKE WEAR ;DROP>>
|
|
<COND (<VERB? TAKE WEAR>
|
|
<TELL D ,LAFOND " stops you" ,PCR>)
|
|
;(<VERB? DROP>
|
|
<TELL ,THERES-NOTHING "to drop!" CR>
|
|
<STOP>)>
|
|
<RTRUE>)
|
|
(<OR <PRSI? ,BOTTLE ,LAUD>
|
|
<PRSO? ,BOTTLE ,LAUD>>
|
|
<SET THING ,BOTTLE>)
|
|
(<VERB? PUT WAVE POINT>
|
|
<COND (<EQUAL? ,MIRROR ,PRSO ,PRSI>
|
|
<SET THING ,MIRROR>)
|
|
(<EQUAL? ,TRAY ,PRSO ,PRSI>
|
|
<SET THING ,TRAY>)
|
|
(T
|
|
<RFALSE>)>)
|
|
(T
|
|
<RFALSE>)>
|
|
<REMOVE .THING>
|
|
<TELL
|
|
"Lafond bounds to your side, grabbing" T .THING " out of " D ,HANDS " before
|
|
you can use it. \"What have we here? Trying to ">
|
|
<COND (<EQUAL? .THING ,BOTTLE>
|
|
<TELL "poison " D ,ME "? Or me?">)
|
|
(<EQUAL? .THING ,MIRROR ,TRAY>
|
|
<TELL "signal for help? You are beyond help.">)>
|
|
<TELL "\" He throws it out" TR ,SHUTTERS>)
|
|
(<AND <EQUAL? .RARG ,M-ENTER>
|
|
<NOT <FSET? ,LAFS-ROOM ,TOUCHBIT>>>
|
|
<FSET ,LAFS-ROOM ,TOUCHBIT>
|
|
<SETG SCORE <+ ,SCORE 1>>
|
|
<SETG LAFOND-CTR 1>
|
|
<QUEUE I-LSED 1>
|
|
<TELL "\"Welcome, ma petite">
|
|
<COND (<NOT <FSET? ,GOWN ,WORNBIT>>
|
|
<TELL
|
|
" -- but where is your " D ,GOWN "? Ah, chacun a son gout">)>
|
|
<TELL ".\" Lafond bows you in" ,PCR CR>)
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
D ,LAFOND "'s bedroom shows all the outpourings of his megalomania. Royal
|
|
hues of purple and gold weigh down the hangings on the bed and the eastward
|
|
window, as if trying to smother the moonbeam shining in.">)>>
|
|
|
|
<OBJECT CHAIR
|
|
(IN LAFS-ROOM)
|
|
(DESC "chair")
|
|
(SYNONYM CHAIR)
|
|
(FLAGS NDESCBIT VEHBIT CONTBIT SEARCHBIT SURFACEBIT OPENBIT)>
|
|
|
|
<ROUTINE LAFS-EXIT ()
|
|
<COND (,LAFOND-LOOKING
|
|
<TELL
|
|
"Lafond whirls you around. \"My pretty, you came here freely,
|
|
but you may not leave freely.\"" CR>
|
|
<RFALSE>)
|
|
(<AND <IN? ,BUTLER ,HERE>
|
|
<NOT <FSET? ,BUTLER ,DEADBIT>>>
|
|
<TELL CTHE ,BUTLER " stops you easily" ,PCR>
|
|
<RFALSE>)
|
|
(T
|
|
<TELL "You ">
|
|
<COND (<NOT <FSET? ,LDOOR ,OPENBIT>>
|
|
<FSET ,LDOOR ,OPENBIT>
|
|
<TELL "open the door and ">)>
|
|
<COND (<AND <FSET? ,BUTLER ,DEADBIT>
|
|
<NOT <EQUAL? <LOC ,LAFOND> ,HERE>>>
|
|
<TELL "creep over the prostrate butler" ,PCR CR>
|
|
<RETURN ,UPPER-HALL-E>)
|
|
(T
|
|
<TELL
|
|
"run out -- into" T ,BUTLER "'s barrel chest and leering grin.
|
|
You return to the bedroom">
|
|
<COND (<IN? ,LAFOND ,HERE>
|
|
<TELL
|
|
"." T ,LAFOND " acts as if nothing has happened" ,PCR>)
|
|
(T
|
|
<MOVE ,BUTLER ,LAFS-ROOM>
|
|
<TELL
|
|
"," T ,BUTLER " following. \"The governor said you
|
|
were not to leave this room.\"" CR>)>
|
|
<RFALSE>)>)>>
|
|
|
|
<OBJECT LAFS-BED
|
|
(IN LAFS-ROOM)
|
|
(DESC "bed")
|
|
(SYNONYM BED)
|
|
(FLAGS VEHBIT CONTBIT SEARCHBIT SURFACEBIT OPENBIT NDESCBIT)
|
|
(CAPACITY 100)
|
|
(ACTION BED-F)>
|
|
|
|
;<GLOBAL LAF-WINDOW-SEEN <>>
|
|
|
|
;<GLOBAL LAFOND-SEES-WINDOW "Lafond joins you at the window. \"Is it not
|
|
a beautiful view? I could not bear to glass it over
|
|
-- hurricanes are a natural occurence in this kingdom, and as king, I
|
|
must learn to conquer them.\"">
|
|
|
|
<OBJECT SHUTTERS
|
|
(IN LAFS-ROOM)
|
|
(DESC "shutters")
|
|
(SYNONYM SHUTTERS SILL WINDOW)
|
|
(ADJECTIVE WOODEN)
|
|
(FLAGS NDESCBIT DOORBIT PLURALBIT OPENBIT)
|
|
(ACTION SHUTTERS-F)>
|
|
|
|
<ROUTINE SHUTTERS-F ()
|
|
<COND (<VERB? ENTER EXIT DISEMBARK LEAP-OFF BOARD>
|
|
<TELL
|
|
"One look at the sheer drop, from sill to hedge to
|
|
jagged rocks far below, is enough to dissuade you." CR>)
|
|
(<VERB? LOOK-INSIDE>
|
|
<TELL
|
|
"The full moon is high in the night sky.
|
|
Some distance out from the shallow curve of the island, ">
|
|
<COND ;(<G? ,SHIP-LOC 8>
|
|
<TELL
|
|
"a black empty hulk rests near black, sharp silhouetted reefs">)
|
|
(<FSET? ,SHIP ,MUNGBIT>
|
|
<TELL
|
|
"black reefs catch the full force of the sea">)
|
|
(T
|
|
<TELL
|
|
"you see the slow swelling of sails,
|
|
grey turning black turning grey, on" T ,SHIP>)>
|
|
<TELL ".">
|
|
;<COND (<AND <IN? ,LAFOND ,HERE>
|
|
<NOT ,LAF-WINDOW-SEEN>>
|
|
<SETG LAF-WINDOW-SEEN T>
|
|
<TELL CR ,INDENT ,LAFOND-SEES-WINDOW>)>
|
|
<CRLF>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"Old fashioned wooden " D ,SHUTTERS ", not glass, fill" T ,WINDOW " frame.
|
|
A dusty " D ,MOONBEAM " swirls in, setting alight threads of gold embroidered
|
|
in" TR ,DRAPES>
|
|
;<COND (<FSET? ,SHUTTERS ,OPENBIT>
|
|
<TELL
|
|
"A dusty " D ,MOONBEAM " swirls through" T ,SHUTTERS ", setting alight
|
|
threads of gold embroidered in" TR ,DRAPES>)
|
|
(T
|
|
<TELL CTHE ,SHUTTERS " are closed" ,PCR>)>
|
|
;<COND (<AND <IN? ,LAFOND ,HERE>
|
|
<NOT ,LAF-WINDOW-SEEN>>
|
|
<SETG LAF-WINDOW-SEEN T>
|
|
<TELL ,INDENT ,LAFOND-SEES-WINDOW CR>)
|
|
(T
|
|
<RTRUE>)>)
|
|
(<AND <VERB? SPOINT>
|
|
<PRSO? ,SHIP>>
|
|
<PROPOSE>)
|
|
(<VERB? CLOSE>
|
|
<TELL ,BEAUTIFUL-NIGHT>)
|
|
(<VERB? PUT-THROUGH>
|
|
<COND (<PRSO? ,HANDS>
|
|
<TELL ,HUH>)
|
|
(<AND <PRSO? ,FLAGON ,BLUE-GLASS ,GREEN-GLASS>
|
|
<IN? ,LAFOND ,HERE>>
|
|
<TELL D ,LAFOND " stops you." CR>)
|
|
(T
|
|
<PUT-OBJ-THRU-WINDOW>)>)
|
|
;(<VERB? OPEN CLOSE>
|
|
<OPEN-CLOSE ,SHUTTERS <> "You close the shutters, blocking
|
|
out the night, moonlight, and fresh air. The room gets darker and closer">)>>
|
|
|
|
<OBJECT TABLE
|
|
(IN LAFS-ROOM)
|
|
(DESC "table")
|
|
(LDESC
|
|
"A lace-covered table crouches beside a wing-backed chair in one corner.")
|
|
(SYNONYM TABLE)
|
|
(ADJECTIVE LACE-COVERED LACE COVERED WOODEN)
|
|
(FLAGS OPENBIT SURFACEBIT CONTBIT SEARCHBIT)
|
|
(CAPACITY 14)
|
|
;(ACTION TABLE-F)>
|
|
|
|
;<ROUTINE TABLE-F ("OPTIONAL" (OARG <>)) T>
|
|
|
|
<GLOBAL HOLDING-PINCH <>>
|
|
|
|
<OBJECT PINCH
|
|
(IN SPICES)
|
|
(DESC "pinch of spices")
|
|
(SYNONYM PINCH SPICE SPICES PEPPER)
|
|
(FLAGS TRYTAKEBIT TAKEBIT)
|
|
(GENERIC GEN-SPICES)
|
|
(SIZE 1)
|
|
(ACTION SPICES-F)>
|
|
|
|
<ROUTINE GEN-SPICES ()
|
|
<COND (<HELD? ,PINCH>
|
|
<RETURN ,PINCH>)
|
|
(T
|
|
<RETURN ,SPICES>)>>
|
|
|
|
<OBJECT SPICES
|
|
(IN WELL)
|
|
(DESC "spices")
|
|
(SYNONYM SPICE SPICES PEPPER)
|
|
(ADJECTIVE PINCH)
|
|
(FLAGS TAKEBIT NDESCBIT PLURALBIT ;NARTICLEBIT)
|
|
(GENERIC GEN-SPICES)
|
|
(SIZE 2)
|
|
(ACTION SPICES-F)>
|
|
|
|
<ROUTINE SPICES-F ()
|
|
<COND (<VERB? TAKE>
|
|
<COND (<IN? ,PINCH ,PROTAGONIST>
|
|
<TELL ,YOU-HAVE-ALREADY AR ,PINCH>)
|
|
(T
|
|
<MOVE ,PINCH ,PROTAGONIST>
|
|
<FSET ,PINCH ,TOUCHBIT>
|
|
<SETG HOLDING-PINCH T>
|
|
<QUEUE I-SPICE-DROP 3>
|
|
<TELL
|
|
"You take" A ,PINCH " between your thumb and forefinger" ,PCR>)>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<IN? ,PINCH ,PROTAGONIST>
|
|
<TELL
|
|
"You are holding" A ,PINCH ". ">
|
|
<COND (<AND <HELD? ,TRAY ,HERE>
|
|
<EQUAL? <LOC ,SPICES> ,WELL>>
|
|
<TELL "More is in" T ,WELL " of" TR ,TRAY>)>
|
|
<CRLF>)
|
|
(T
|
|
<PERFORM ,V?EXAMINE ,WELL>
|
|
<RTRUE>)>)
|
|
(<VERB? EAT>
|
|
<MOVE ,PINCH ,SPICES>
|
|
<TELL "Your eyes start to water" ,PCR>)
|
|
(<VERB? SMELL>
|
|
<MOVE ,PINCH ,SPICES>
|
|
<TELL
|
|
"You take a sharp sniff of" T ,SPICES " and sneeze, until "
|
|
D ,EYES " fill with tears" ,PCR>)
|
|
;(<AND <VERB? PUT PUT-ON>
|
|
<PRSI? ,LAFOND>
|
|
<NOT <FSET? ,LAFOND ,DEADBIT>>>
|
|
<TELL "He brushes himself off" ,PCR>)
|
|
(<AND <VERB? THROW>
|
|
,PRSI
|
|
<NOT <PRSI? ,SPICES>>>
|
|
<PERFORM ,V?THROW-AT ,PRSO ,PRSI>
|
|
<RTRUE>)
|
|
(<VERB? BLOW PUT-ON THROW-AT>
|
|
<COND (<IN? ,PINCH ,PROTAGONIST>
|
|
<COND (<AND <PRSI? ,BUTLER>
|
|
;<EQUAL? <LOC ,BUTLER> ,HERE>
|
|
<NOT <FSET? ,BUTLER ,DEADBIT>>>
|
|
<TELL
|
|
"You try to get close enough to" T ,BUTLER ", but
|
|
he backs off. \"That wouldn't be seemly, Miss.\"" CR>
|
|
<RTRUE>)
|
|
(<PRSI? ,ME>
|
|
<IMPOSSIBLES>
|
|
<RTRUE>)
|
|
(<PRSI? ,LUCY ,COOKIE ,DAD>
|
|
<TELL ,UNLADY>
|
|
<RTRUE>)
|
|
(<AND <PRSI? ,CRULLEY>
|
|
<EQUAL? <LOC ,CRULLEY> ,DUNGEON>>
|
|
<TELL
|
|
D ,CRULLEY " snaps the whip at your elbow. \"Keep away from me!\"" CR>
|
|
<RTRUE>)>
|
|
<TELL
|
|
"You blow" T ,SPICES " off your fingertips">
|
|
<MOVE ,PINCH ,SPICES>
|
|
<COND (<OR <NOT ,PRSI>
|
|
<FSET? ,PRSI ,DEADBIT>>
|
|
<TELL ,PCR>)
|
|
(<AND <EQUAL? ,PRSI ,LAFOND>
|
|
<EQUAL? ,HERE ,LAFS-ROOM>
|
|
;<IN? ,LAFOND ,HERE>>
|
|
<SETG SCORE <+ ,SCORE 1>>
|
|
<MOVE ,PINCH ,SPICES>
|
|
<REMOVE ,LAFOND>
|
|
<SET LAFOND-LOOKING <>>
|
|
<DEQUEUE I-LSED>
|
|
<DEQUEUE I-WONT-DRINK>
|
|
<QUEUE I-LRETURNS 15>
|
|
<FSET ,LDOOR ,OPENBIT>
|
|
<REMOVE ,LAF-GLASS>
|
|
;<COND (<HELD? ,BLUE-GLASS>
|
|
<REMOVE ,GREEN-GLASS>)
|
|
(T
|
|
<REMOVE ,BLUE-GLASS>)>
|
|
<TELL
|
|
", directly into Lafond's face. He sneezes, his eyes watering from the heat
|
|
of the peppers. Reaching blindly for some wine, he instead upsets the table,
|
|
shattering a glass. Lafond stumbles cursing out of the room, in search of
|
|
relief">
|
|
<COND (<G? ,LAFOND-CTR ,HORNY>
|
|
<MOVE ,PROTAGONIST ,HERE>
|
|
<MOVE ,RETICULE ,PROTAGONIST>
|
|
<MOVE ,CHEMISE ,PROTAGONIST>
|
|
<FCLEAR ,CHEMISE ,EVERYBIT>
|
|
<FSET ,CHEMISE ,WORNBIT>
|
|
<MOVE ,SHOES ,PROTAGONIST>
|
|
<FSET ,SHOES ,WORNBIT>
|
|
<TELL
|
|
". You stand up, quickly pulling on" T ,CHEMISE>)>
|
|
<TELL ,PCR>)
|
|
(T
|
|
<TELL " at" T ,PRSI ". " ,NOTHING-HAPPENS>)>)
|
|
(T
|
|
<TELL ,YNH " any " D ,SPICES ,PCR>)>)>>
|
|
|
|
<ROUTINE I-LRETURNS ()
|
|
<COND (<AND <OR <EQUAL? ,HERE ,UPPER-HALL-E ,LAFS-ROOM>
|
|
<FSET? ,SHIP ,MUNGBIT>>
|
|
<NOT <IN? ,COOKIE ,HERE>>>
|
|
<JIGS-UP
|
|
" Roaring anger and revenge, Lafond runs in, pouncing upon you.
|
|
Your death, when it comes, is wished for.">)
|
|
(T
|
|
<RFALSE>)>>
|
|
|
|
<ROUTINE I-SPICE-DROP ()
|
|
<COND (<IN? ,PINCH ,PROTAGONIST>
|
|
<MOVE ,PINCH ,SPICES>
|
|
<TELL ,INDENT
|
|
"The spices dribble out from between your fingers" ,PCR>)
|
|
(T
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT TRAY
|
|
(DESC "silver tray")
|
|
(SYNONYM TRAY)
|
|
(FLAGS TAKEBIT OPENBIT SURFACEBIT SEARCHBIT TRANSBIT)
|
|
(ACTION TRAY-F)>
|
|
|
|
<ROUTINE TRAY-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"Cabbage leaves are etched onto the mirror-bright " D ,TRAY ", forming
|
|
a well in the center where the metallic stalks meet.">
|
|
<COND (<EQUAL? <LOC ,CHICKEN> ,TRAY>
|
|
<TELL
|
|
" Some " D ,CHICKEN " is heaped around the dry spices filling" TR ,WELL>)
|
|
(T
|
|
<CRLF>)>)
|
|
(<AND <VERB? PUT POINT>
|
|
<PRSI? ,SHIP ,SHUTTERS ,MOONBEAM>>
|
|
<SIGNAL-SHIP ,TRAY>)
|
|
(<VERB? EMPTY>
|
|
<TELL "You have no other way of carrying" TR ,CHICKEN>)
|
|
(<AND <VERB? PUT PUT-ON>
|
|
<PRSI? ,TRAY>>
|
|
<TELL
|
|
"Because of the metal work, nothing sits flat on" TR ,TRAY>)>>
|
|
|
|
<OBJECT WELL
|
|
(IN TRAY)
|
|
(DESC "well")
|
|
(SYNONYM WELL)
|
|
(ADJECTIVE SPICE SILVER)
|
|
(GENERIC GEN-WELL)
|
|
(FLAGS OPENBIT NDESCBIT CONTBIT SEARCHBIT)
|
|
(ACTION WELL-F)>
|
|
|
|
<ROUTINE WELL-F ()
|
|
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
|
<COND (<IN? ,SPICES ,WELL>
|
|
<TELL
|
|
CTHE ,WELL " in" T ,TRAY " is filled with a mixture of
|
|
salt and other spices, predominantly red and black pepper" ,PCR>)
|
|
(T
|
|
<TELL "It is empty." CR>)>)
|
|
(<VERB? TAKE>
|
|
<TELL CTHE ,WELL " is part of the tray!" CR>)>>
|
|
|
|
<OBJECT CHICKEN
|
|
(IN TRAY)
|
|
(DESC "cold chicken")
|
|
(SYNONYM FOOD CHICKEN VIANDS FOWL)
|
|
(ADJECTIVE COLD PIECES)
|
|
(FLAGS TRYTAKEBIT)
|
|
(SIZE 3)
|
|
(ACTION CHICKEN-F)>
|
|
|
|
<ROUTINE CHICKEN-F ()
|
|
<COND (<VERB? EAT TAKE>
|
|
<TELL
|
|
"You sprinkle some " D ,SPICES " on a wing and nibble at it. The peppery heat
|
|
hits you like a wave, leaving you gasping, eyes watering" ,PCR>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<IN? ,CHICKEN ,TRAY>
|
|
;<TELL
|
|
"Mounds of " D ,CHICKEN " are heaped upon" TR ,TRAY>
|
|
<PERFORM ,V?EXAMINE ,TRAY>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL CTHE ,CHICKEN " looks tasty" ,PCR>)>)
|
|
(<AND <VERB? PUT-ON>
|
|
<PRSO? ,SPICES ,PINCH>>
|
|
<PERFORM ,V?EAT ,CHICKEN>
|
|
<RTRUE>)
|
|
(<AND <VERB? PUT>
|
|
<PRSO? ,CHICKEN>>
|
|
<PERFORM ,V?EAT ,CHICKEN>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT FLAGON
|
|
(IN TABLE)
|
|
(DESC "flagon")
|
|
(SYNONYM FLAGON)
|
|
;(ADJECTIVE SILVER)
|
|
(FLAGS TRYTAKEBIT TAKEBIT CONTBIT SEARCHBIT OPENBIT)
|
|
(CONTENTS 1)
|
|
(SIZE 3)
|
|
(ACTION FLAGON-F)>
|
|
|
|
<ROUTINE FLAGON-F () ;"Formerly CANTEEN-FCN"
|
|
<COND (<VERB? SHAKE LOOK-INSIDE EXAMINE>
|
|
<TELL "Some wine sloshes around inside." CR>
|
|
;<COND (<AND <IN? ,WINE ,FLAGON>
|
|
<G? ,WINE-LEFT 0>>
|
|
<TELL "Some wine sloshes around inside." CR>)
|
|
(T
|
|
<TELL CTHE ,FLAGON " is empty." CR>)>)
|
|
(<AND <VERB? TAKE>
|
|
<FSET? ,FLAGON ,TRYTAKEBIT>>
|
|
<TELL
|
|
"Lafond takes it from you, setting it on" TR ,TABLE>)
|
|
(<AND <VERB? DROP>
|
|
<EQUAL? ,HERE ,LAFS-ROOM>>
|
|
<MOVE ,FLAGON ,TABLE>
|
|
<TELL "You set" T ,FLAGON " on" TR ,TABLE>)
|
|
(<AND <VERB? EMPTY THROW>
|
|
<EQUAL? ,HERE ,LAFS-ROOM>
|
|
<IN? ,LAFOND ,HERE>>
|
|
<FWTD ,SMACK-YOUR-FACE>)
|
|
(<VERB? DRINK-FROM>
|
|
;<SETG AWAITING-REPLY 2>
|
|
;<QUEUE I-REPLY 2>
|
|
<TELL ,UNLADY>)>>
|
|
|
|
<OBJECT WINE
|
|
(IN FLAGON)
|
|
(DESC "quantity of wine")
|
|
(SYNONYM WINE)
|
|
(FLAGS TRYTAKEBIT NDESCBIT)
|
|
(SIZE 1)
|
|
(ACTION WINE-F)>
|
|
|
|
;<GLOBAL WINE-LEFT 10>
|
|
|
|
<ROUTINE WINE-F ()
|
|
<COND (<VERB? EAT DRINK GIVE SHOW>
|
|
<COND (<HELD? ,BLUE-GLASS>
|
|
<IMBIBE-WINE ,BLUE-GLASS>)
|
|
(<HELD? ,GREEN-GLASS>
|
|
<IMBIBE-WINE ,GREEN-GLASS>)
|
|
(T
|
|
<TELL ,YNH " a goblet of wine!" CR>)>)
|
|
(<AND <PRSO? ,WINE>
|
|
<VERB? POUR>>
|
|
<COND ;(<L? ,WINE-LEFT 1>
|
|
<TELL "There's no wine left" ,PCR>)
|
|
(<NOT ,PRSI>
|
|
<COND (<AND <EQUAL? ,P-PRSA-WORD ,W?SPILL>
|
|
<EQUAL? ,HERE ,LAFS-ROOM>
|
|
<IN? ,LAFOND ,HERE>>
|
|
<FWTD ,SMACK-YOUR-FACE>)
|
|
(T
|
|
<SPECIFY-WHAT "pour" ,PRSO>)>)
|
|
(<PRSI? ,FLAGON>
|
|
<TELL
|
|
"It's not sanitary to pour wine back into" TR ,FLAGON>)
|
|
(<PRSI? ,BLUE-GLASS ,GREEN-GLASS>
|
|
<COND (<EQUAL? <GETP ,PRSI ,P?CONTENTS>
|
|
,WINED ,W-P>
|
|
<TELL "It is already full!" CR>
|
|
<RTRUE>)
|
|
(T
|
|
<POUR-WINE ,PRSI>)>)
|
|
(T
|
|
<TELL ,POLITE-SOCIETY>)>)
|
|
(<AND <VERB? POUR-FROM WRING>
|
|
<PRSO? ,WINE>>
|
|
<SPECIFY-WHAT "pour" ,PRSO>)
|
|
(<VERB? DROP THROW>
|
|
<COND (<AND <EQUAL? ,HERE ,LAFS-ROOM>
|
|
<IN? ,LAFOND ,HERE>>
|
|
<LAFS-DROP>)
|
|
(<AND <HELD? ,BLUE-GLASS>
|
|
<G? <GETP ,BLUE-GLASS ,P?CONTENTS> 0>>
|
|
<PERFORM ,V?DROP ,BLUE-GLASS>
|
|
<RTRUE>)
|
|
(<AND <HELD? ,GREEN-GLASS>
|
|
<G? <GETP ,GREEN-GLASS ,P?CONTENTS> 0>>
|
|
<PERFORM ,V?DROP ,GREEN-GLASS>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL ,YNH " any wine!" CR>)>)>>
|
|
|
|
<ROUTINE IMBIBE-WINE (VESSEL)
|
|
<COND (<EQUAL? <GETP .VESSEL ,P?CONTENTS> 0 ,POISONED>
|
|
<TELL "There is no wine in" TR .VESSEL>
|
|
<RTRUE>)
|
|
(<VERB? GIVE SHOW>
|
|
<PERFORM ,V?GIVE .VESSEL ,PRSI>
|
|
<RTRUE>)
|
|
(<AND <EQUAL? <GETP .VESSEL ,P?CONTENTS> ,W-P>
|
|
<NOT <QUEUED? ,I-SLEEP>>>
|
|
<QUEUE I-SLEEP 2>)>
|
|
<SETG REACTION ,REACTION-POSITIVE>
|
|
<PUTP .VESSEL ,P?CONTENTS 0>
|
|
<TELL "You empty" T .VESSEL " of wine" ,PCR>>
|
|
|
|
<ROUTINE POUR-WINE (VESSEL "OPTIONAL" (LAFOND-POURS <>))
|
|
<COND (<EQUAL? <GETP ,FLAGON ,P?CONTENTS> ,POISONED>
|
|
<PUTP .VESSEL ,P?CONTENTS ,W-P>)
|
|
(T
|
|
<PUTP .VESSEL ,P?CONTENTS <+ <GETP .VESSEL ,P?CONTENTS> 1>>)>
|
|
<COND (<NOT .LAFOND-POURS>
|
|
<TELL "You fill" T .VESSEL " with wine" ,PCR>)
|
|
(T
|
|
<RTRUE>)>>
|
|
|
|
|
|
<GLOBAL DRUGGEE <>> ;"set to person who gets drugged"
|
|
<GLOBAL SLEEP-CTR 0> ;"following you falling asleep"
|
|
<GLOBAL WATCH-CTR 0> ;"watching someone else fall asleep"
|
|
|
|
<ROUTINE I-WATCH-SLEEP ()
|
|
<COND (<NOT ,DRUGGEE>
|
|
<RFALSE>)
|
|
(<AND <EQUAL? ,DRUGGEE ,BUTLER>
|
|
<EQUAL? ,WATCH-CTR 2>>
|
|
<SETG SCORE <+ ,SCORE 1>>
|
|
<FSET ,BUTLER ,DEADBIT>
|
|
<COND (<NOT <IN? ,BUTLER ,HERE>>
|
|
<TELL ,INDENT
|
|
"You hear a \"thump-phoosh,\" like someone slumping against a wall" ,PCR>)
|
|
(<EQUAL? ,HERE ,LAFS-ROOM>
|
|
<COND (<HELD? ,BOTTLE ,HERE>
|
|
<REMOVE ,BOTTLE>
|
|
<TELL ,INDENT
|
|
"With a grunt of anger, the butler realizes he has been drugged.
|
|
He grabs" T ,BOTTLE " and throws it out" TR ,SHUTTERS>)>
|
|
<TELL ,INDENT CTHE ,DRUGGEE
|
|
<GET ,WATCHING-SLEEPY ,WATCH-CTR> ,PCR>)>
|
|
<SETG DRUGGEE <>>
|
|
<RTRUE>)
|
|
(<IN? ,DRUGGEE ,HERE>
|
|
<TELL ,INDENT CTHE ,DRUGGEE
|
|
<GET ,WATCHING-SLEEPY ,WATCH-CTR> ,PCR>)>
|
|
<QUEUE I-WATCH-SLEEP 1>
|
|
<SETG WATCH-CTR <+ ,WATCH-CTR 1>>>
|
|
|
|
<ROUTINE I-CROC-SLEEPS ()
|
|
<COND (<EQUAL? ,HERE ,ANTEROOM>
|
|
<TELL
|
|
,INDENT "Without warning," T ,CROC " relaxes, eyes closed, asleep." CR>)>
|
|
<SETG SCORE <+ ,SCORE 1>>
|
|
<SETG CROC-SLEEP T>
|
|
<SETG MOUTH-SHUT T>
|
|
<RFALSE>>
|
|
|
|
<GLOBAL WATCHING-SLEEPY
|
|
<TABLE
|
|
" seems to be having some problems stifling a yawn"
|
|
"'s eyes are getting heavier"
|
|
" collapses, head back, snoring loudly">>
|
|
|
|
<ROUTINE I-SLEEP ()
|
|
<TELL ,INDENT <GET ,GETTING-SLEEPY
|
|
<SETG SLEEP-CTR <+ ,SLEEP-CTR 1>>> CR>
|
|
<COND (<L? ,SLEEP-CTR 4>
|
|
<QUEUE I-SLEEP 2>)
|
|
(<EQUAL? ,SLEEP-CTR 4>
|
|
<TELL ,INDENT>
|
|
<COND (<EQUAL? ,HERE ,ON-LADDER ,RIGGING-ROOM>
|
|
<JIGS-UP
|
|
"Too drugged to keep your grip on the ropes, you slip into the sea.">)
|
|
(<AND <SHIP-BOARD ,HERE>
|
|
<OR <QUEUED? ,I-LOOK-SEA>
|
|
<QUEUED? ,I-SHIP-EXPLODES>>>
|
|
<JIGS-UP
|
|
"You awake too late to save the ship -- or rather, you never wake at all.">)
|
|
(T
|
|
<TELL "You wake at sunrise">
|
|
<COND (<NOT <FSET? ,LAFS-ROOM ,TOUCHBIT>>
|
|
<TELL
|
|
", too late to save your father or his friend Jamison">)>
|
|
<FWTD
|
|
". The governor of St. Sinistra provides you with food and shelter;
|
|
at least, until he grows tired of your body and your presence.">)>)
|
|
(T
|
|
<RFALSE>)>>
|
|
|
|
<GLOBAL GETTING-SLEEPY
|
|
<TABLE
|
|
0
|
|
"Your face convulses in a prodigious yawn."
|
|
"You stare into space for a long, thoughtless moment. It seems
|
|
very hard to think, you think, but you aren't sure."
|
|
"Your eyes are extraordinarily dry. You blink to moisten them,
|
|
and snort awake a minute later, drool dripping down your chin."
|
|
"Sleep overtakes you and you slump into unconsiousness.">>
|
|
|
|
<GLOBAL USED-LAUD <>>
|
|
;<GLOBAL FLAGON-POISONED <>>
|
|
|
|
<CONSTANT WINED 1>
|
|
<CONSTANT POISONED 2>
|
|
<CONSTANT W-P 3>
|
|
|
|
<GLOBAL LAF-GLASS GREEN-GLASS>
|
|
<GLOBAL YOUR-GLASS BLUE-GLASS>
|
|
|
|
<GLOBAL SPICED-WINE <>>
|
|
|
|
<OBJECT BLUE-GLASS
|
|
(IN TABLE)
|
|
(DESC "blue goblet")
|
|
(SYNONYM CUP GLASS GOBLET)
|
|
(ADJECTIVE BLUE MY)
|
|
(CONTENTS 0)
|
|
(FLAGS TAKEBIT CONTBIT OPENBIT)
|
|
(SIZE 2)
|
|
(CAPACITY 2)
|
|
(ACTION GLASS-F)>
|
|
|
|
<OBJECT GREEN-GLASS
|
|
(IN TABLE)
|
|
(DESC "green goblet")
|
|
(SYNONYM CUP GLASS GOBLET)
|
|
(ADJECTIVE GREEN HIS)
|
|
(CONTENTS 0)
|
|
(FLAGS TAKEBIT CONTBIT OPENBIT)
|
|
(SIZE 2)
|
|
(CAPACITY 2)
|
|
(ACTION GLASS-F)>
|
|
|
|
<ROUTINE GLASS-F ()
|
|
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
|
<TELL
|
|
CTHE ,PRSO <GET ,GLASS-DESC <GETP ,PRSO ,P?CONTENTS>> ,PCR>)
|
|
(<VERB? OPEN CLOSE>
|
|
<IMPOSSIBLES>)
|
|
(<VERB? DRINK-FROM>
|
|
<COND (,PRSI
|
|
<IMBIBE-WINE ,PRSI>)
|
|
(T
|
|
<IMBIBE-WINE ,PRSO>)>)
|
|
(<VERB? FILL>
|
|
<PERFORM ,V?POUR ,WINE ,PRSO>
|
|
<RTRUE>)
|
|
(<AND <VERB? DROP>
|
|
<EQUAL? ,HERE ,LAFS-ROOM>>
|
|
<MOVE ,PRSO ,TABLE>
|
|
<TELL "You set" T ,PRSO " on" TR ,TABLE>)
|
|
(<VERB? THROW MUNG THROW-AT>
|
|
<LAFS-DROP>)
|
|
(<VERB? TAKE>
|
|
<COND (<PRSO? ,LAUD>
|
|
<IMPOSSIBLES>)
|
|
(<AND <PRSO? ,GREEN-GLASS>
|
|
<L? ,LAFOND-CTR 3>
|
|
<EQUAL? ,HERE ,LAFS-ROOM>>
|
|
<TELL D ,LAFOND " stops you. \"That is mine.\"" CR>)
|
|
(<OR <HELD? ,BLUE-GLASS>
|
|
<HELD? ,GREEN-GLASS>>
|
|
<TELL ,YOU-HAVE-ALREADY " a goblet" ,PCR>)
|
|
(T <RFALSE>)>)>>
|
|
|
|
<GLOBAL GLASS-DESC
|
|
<TABLE
|
|
" is ornate and expensive"
|
|
" is brimming with wine"
|
|
" has a small pool of liquid at the bottom"
|
|
" is brimming with wine">>
|
|
|
|
<ROUTINE LAFS-DROP ()
|
|
<COND (<PRSO? ,GREEN-GLASS ,BLUE-GLASS>
|
|
<REMOVE ,PRSO>
|
|
<PUTP ,PRSO ,P?CONTENTS 0>
|
|
<TELL
|
|
"The delicate glass of" T ,PRSO " shatters into pieces." CR>)
|
|
(<PRSO? ,WINE>
|
|
<TELL "You dash" T ,WINE " into Lafond's face." CR>)
|
|
(T
|
|
<WASTES>)>
|
|
<COND (<AND <EQUAL? ,HERE ,LAFS-ROOM>
|
|
<IN? ,LAFOND ,HERE>>
|
|
<FWTD ,SMACK-YOUR-FACE>)
|
|
(T
|
|
<RTRUE>)>>
|
|
|
|
<ROOM GALLERY
|
|
(IN ROOMS)
|
|
(DESC "Gallery")
|
|
;(SYNONYM BALCONY GALLERY)
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(NORTH TO UPPER-HALL-E)
|
|
(GLOBAL CHANDELIER RAILING)
|
|
(ACTION GALLERY-F)>
|
|
|
|
<ROUTINE GALLERY-F (RARG "AUX" (GUY <>))
|
|
<COND (<EQUAL? .RARG ,M-BEG>
|
|
<COND (<OR <TOUCHING? <SET GUY ,HERO>>
|
|
<TOUCHING? <SET GUY ,LAFOND>>
|
|
<TOUCHING? <SET GUY ,DAD>>
|
|
<TOUCHING? <SET GUY ,LUCY>>
|
|
<TOUCHING? <SET GUY ,COOKIE>>
|
|
<TOUCHING? <SET GUY ,RAPIER>>>
|
|
;<OR <TOUCHING? ,HERO>
|
|
<TOUCHING? ,LAFOND>
|
|
<TOUCHING? ,DAD>
|
|
<TOUCHING? ,LUCY>
|
|
<TOUCHING? ,COOKIE>
|
|
<TOUCHING? ,RAPIER>>
|
|
<CANT-REACH .GUY>)
|
|
(<VERB? THROW-AT>
|
|
<TELL "You missed." CR>)
|
|
(<AND <PRSO? ,GALLERY>
|
|
<VERB? EXAMINE LOOK>>
|
|
<V-LOOK>)
|
|
(<PRSO? ,BALLROOM>
|
|
<COND (<VERB? EXAMINE>
|
|
<V-LOOK>)
|
|
(<VERB? ENTER LEAP>
|
|
<PERFORM ,V?SWING ,ROPE>
|
|
<RTRUE>)
|
|
(T
|
|
<RFALSE>)>)
|
|
(<VERB? LEAP-OFF>
|
|
<PERFORM ,V?SWING ,ROPE>
|
|
<RTRUE>)
|
|
(<AND <VERB? SWING>
|
|
<PRSO? ,ROOMS>>
|
|
<PERFORM ,V?SWING ,ROPE>
|
|
<RTRUE>)
|
|
(<AND <VERB? ASK-ABOUT TELL TELL-ABOUT>
|
|
<RUNNING? ,I-DUEL>>
|
|
<TELL "No one is listening to you." CR>
|
|
<STOP>
|
|
<RTRUE>
|
|
;<RFATAL>)
|
|
(T
|
|
<RFALSE>)>)
|
|
(<AND <EQUAL? .RARG ,M-ENTER>
|
|
<RUNNING? ,I-DUEL>>
|
|
<FSET ,HERO ,NDESCBIT>
|
|
<FSET ,LAFOND ,NDESCBIT>
|
|
<FSET ,COOKIE ,NDESCBIT>)
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are on a wide balcony overlooking the ballroom.
|
|
A hallway lies to the north.|
|
|
Down on" ,DANCE-FLOOR>
|
|
<COND (<RUNNING? ,I-DUEL>
|
|
<TELL T ,DANCERS "s are pressed in a wide circle
|
|
around Nicholas and Lafond. Cookie stands anxiously in the door to
|
|
the veranda, near" T ,DAD " and Lucy">)
|
|
(<FSET? ,BALLROOM ,EVERYBIT>
|
|
<TELL
|
|
" a small number of Jamison's scruffiest men are corralling" T ,DANCERS
|
|
" into a screaming huddle in the center of the room">)
|
|
(T
|
|
<TELL
|
|
" you see myriad colors as the guests weave
|
|
the intricate steps of their dances">)>
|
|
<TELL ".">
|
|
;<DANCEFLOOR-DESC>)>>
|
|
|
|
;"Used by the Gallery and Stairtop."
|
|
|
|
;<ROUTINE old-DANCEFLOOR-DESC ()
|
|
<TELL CR ,INDENT "Down on the dance floor">
|
|
<COND (<RUNNING? ,I-DUEL>
|
|
<TELL T ,DANCERS "s are pressed in a wide circle
|
|
around Nicholas and Lafond. Cookie stands anxiously in the door to
|
|
the veranda, near" T ,DAD " and Lucy">)
|
|
(<FSET? ,BALLROOM ,EVERYBIT>
|
|
<TELL
|
|
" a small number of Jamison's scruffiest men are corralling" T ,DANCERS
|
|
" into a screaming huddle in the center of the room">)
|
|
(T
|
|
<TELL
|
|
" you see myriad colors as the guests weave
|
|
the intricate steps of their dances">)>
|
|
<TELL ".">>
|
|
|
|
<OBJECT RAILING
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "railing")
|
|
(SYNONYM RAILING)>
|
|
|
|
|
|
<OBJECT ROPE
|
|
(IN GALLERY) ;"EVERYBIT = rope is tied"
|
|
(DESC "rope") ;"MUNGBIT = tried to cut it once"
|
|
(DESCFCN ROPE-F)
|
|
(SYNONYM ROPE)
|
|
(ADJECTIVE HEAVY)
|
|
(FLAGS TRYTAKEBIT EVERYBIT BURNBIT)
|
|
(ACTION ROPE-F)>
|
|
|
|
<ROUTINE ROPE-F ("OPTIONAL" (OARG <>))
|
|
<COND (.OARG
|
|
<COND (<EQUAL? .OARG ,M-DESC?>
|
|
<RTRUE>)>
|
|
<TELL ,INDENT>
|
|
<DESC-ROPE>)
|
|
(<VERB? EXAMINE>
|
|
<DESC-ROPE>)
|
|
(<VERB? SWING CLIMB-DOWN CLIMB-ON>
|
|
<COND (<FSET? ,ROPE ,EVERYBIT>
|
|
<TELL CTHE ,ROPE
|
|
" is looped over the railing -- you'd hang " D ,ME ,PCR>)
|
|
(<AND <IN? ,COOKIE ,HERE>
|
|
<NOT <RUNNING? ,I-DUEL>>>
|
|
<TELL
|
|
D ,COOKIE " grabs hold of you, \"Ye lost yer mind, lass!\"" CR>)
|
|
(T
|
|
<TELL
|
|
"\"Aaieeee!\" The cry comes uncalled to your lips
|
|
as you swoop down from the balcony">
|
|
<COND (<NOT ,BOY-DRESS?>
|
|
<TELL ", petticoats flying,">)>
|
|
<TELL " on the end of" TR ,ROPE ,INDENT>
|
|
<COND (<RUNNING? ,I-DUEL>
|
|
<COND (<L? ,HERO-CTR 15>
|
|
<DEQUEUE I-DUEL>
|
|
<FCLEAR ,RAPIER ,NDESCBIT>
|
|
<MOVE ,HERO ,BEACH>
|
|
<FCLEAR ,HERO ,NDESCBIT>
|
|
<MOVE ,LAFOND ,BALLROOM>
|
|
<FCLEAR ,LAFOND ,NDESCBIT>
|
|
<MOVE ,DAD ,BEACH>
|
|
<MOVE ,LUCY ,BEACH>
|
|
<MOVE ,COOKIE ,BEACH>
|
|
<FCLEAR ,COOKIE ,NDESCBIT>
|
|
<FCLEAR ,BALLROOM ,EVERYBIT>
|
|
<FSET ,VER-DOOR ,OPENBIT>
|
|
<FSET ,LAFOND ,MUNGBIT>
|
|
<SETG SCORE <+ ,SCORE 1>>
|
|
<COND (<IN? ,BLUE-GLASS ,PROTAGONIST>
|
|
<REMOVE ,BLUE-GLASS>)
|
|
(<IN? ,GREEN-GLASS ,PROTAGONIST>
|
|
<REMOVE ,GREEN-GLASS>)>
|
|
<COND (<IN? ,PINCH ,PROTAGONIST>
|
|
<MOVE ,PINCH ,SPICES>)>
|
|
<ROB ,PROTAGONIST ,BALLROOM>
|
|
<SETG LAFOND-CTR 1>
|
|
<QUEUE I-ENDGAME 6>
|
|
<TELL
|
|
"Your timing is perfect: you slam into Lafond just as he steps into his
|
|
lunge. His rapier stabs wildly, piercing Nicholas's shoulder, missing his
|
|
heart. You and Lafond roll into a snowball of ">
|
|
<COND (<NOT ,BOY-DRESS?>
|
|
<TELL "petticoats">)
|
|
(T
|
|
<TELL "breeches">)>
|
|
<TELL
|
|
" and brocade, dropping everything between you.">
|
|
<CLEAR-SCREEN 15>
|
|
;<QUEUE I-MOVE-GROUP -1>
|
|
<TELL ,INDENT
|
|
"Nicholas shouts, from far away, \"Let me go! Let me deliver Lafond
|
|
to a 'better' world.\"|
|
|
\"A gentleman can't kill an unconscious man!\" That is Papa's voice.
|
|
\"And you're in no shape to continue, Nicholas. Rodney -- help my daughter.
|
|
I'll take Nick.\"|
|
|
Cookie leans over you. \"We must get back to the ship, Miss. Dragoons
|
|
surround the house.\" Nicholas, injured but still arguing, is already on the
|
|
veranda, half-forced, half-supported by your father, shadowed by Lucy.
|
|
Cookie helps you to your feet and rushes after them, expecting you to
|
|
follow. Lafond lies nearby, apparently unconscious" ,PCR CR>
|
|
;<TELL ,INDENT
|
|
"Cookie shakes you awake, \"We must speed away, Miss. Dragoons are surrounding
|
|
the house.\" Nicholas, supported by your father and Lucy, is already on the
|
|
veranda. Cookie helps you to your feet and rushes after them, expecting you
|
|
to follow. Lafond lies nearby, apparently unconscious" ,PCR CR>
|
|
<GOTO ,BALLROOM>)
|
|
(T
|
|
;<CRLF>
|
|
<JIGS-UP
|
|
"Startled, Lafond raises his sword and you fly onto
|
|
the blade. You fall over your lover's body and expire, your
|
|
lips on his in a kiss outlasting death.">)>)
|
|
(<FSET? ,BALLROOM ,EVERYBIT>
|
|
<JIGS-UP
|
|
"You sweep down into the ballroom, felling dancer and pirate alike.
|
|
Unfortunately, one of Jamison's crew, mistaking your shortcut for an
|
|
attack, greets you with a sharpened dagger.">)
|
|
(T
|
|
;<CRLF>
|
|
<FWTD
|
|
"Other cries rise to match yours as you sweep down the center of the
|
|
ballroom in an avalanche of dancers, knocking yourself unconscious
|
|
against the far wall. You awaken the next morning, in the village,
|
|
embarrassed and alone.">)>)>)
|
|
;(<VERB? CUT>
|
|
<COND (<AND <EQUAL? ,PRSI ,ROOMS>
|
|
<HELD? ,DAGGER>>
|
|
<TELL "[with the dagger]" CR>
|
|
<PERFORM ,V?CUT ,ROPE ,DAGGER>
|
|
<RTRUE>)
|
|
(<PRSI? ,DAGGER>
|
|
<TELL
|
|
CTHE ,DAGGER " is too dull to cut through" TR ,ROPE>
|
|
;<COND (<FSET? ,ROPE ,EVERYBIT>
|
|
<COND (<NOT <FSET? ,ROPE ,MUNGBIT>>
|
|
<FSET ,ROPE ,MUNGBIT>
|
|
<TELL
|
|
"The dagger is very dull, so you saw away
|
|
at" T ,ROPE ". It frays a bit, after a time" ,PCR>)
|
|
(T
|
|
<FCLEAR ,ROPE ,TAKEBIT>
|
|
<FSET ,ROPE ,DEADBIT>
|
|
<FCLEAR ,ROPE ,EVERYBIT>
|
|
<FSET ,ROPE ,NDESCBIT>
|
|
<CHANDELIER-DROPS "cut">
|
|
<TELL ,INDENT
|
|
"The rest of the rope comes unknotted and
|
|
slips off the railing into the crowd below" ,PCR>)>)
|
|
(<FSET? ,ROPE ,DEADBIT>
|
|
<TELL
|
|
"What little rope remains is swinging from the
|
|
pulley on the ceiling over the ballroom, and out of reach" ,PCR>)>)>)
|
|
(<AND <VERB? TIE>
|
|
<PRSI? ,RAILING>>
|
|
<COND (<FSET? ,ROPE ,EVERYBIT>
|
|
<TELL ,ALREADY-IS>)
|
|
(T
|
|
<FSET ,ROPE ,EVERYBIT>
|
|
<TELL "Tied." CR>)>)
|
|
(<VERB? UNTIE REMOVE>
|
|
<COND (<FSET? ,ROPE ,EVERYBIT>
|
|
<FCLEAR ,ROPE ,EVERYBIT>
|
|
<TELL
|
|
"Untied. " CTHE ,CHANDELIER " swings slightly,
|
|
dribs of hot wax spilling to the floor." CR>
|
|
;<CHANDELIER-DROPS>
|
|
;<TELL ,INDENT
|
|
"A knot blocks the rest of the rope from passing through the pulley" ,PCR>)
|
|
(T
|
|
<WASTES>)>)
|
|
(<VERB? TAKE>
|
|
<COND (<FSET? ,ROPE ,EVERYBIT>
|
|
<DO-FIRST "untie it">)
|
|
(<FSET? ,ROPE ,DEADBIT>
|
|
<CANT-REACH ,ROPE>)
|
|
(T
|
|
<TELL
|
|
"Pray describe what you intend to do with" TR ,ROPE>
|
|
;<TELL
|
|
"If you want to pull on the rope, just say so. If you want to swing on the
|
|
rope, just say so. If you want to turn the rope into a cobra, just say so
|
|
(but it won't work)" ,PCR>)>)
|
|
(<VERB? MOVE RAISE FIDDLE>
|
|
<TELL
|
|
CTHE ,CHANDELIER " swings, but is too heavy for you to pull up" ,PCR>)>>
|
|
|
|
<ROUTINE DESC-ROPE ()
|
|
<TELL
|
|
"A " D ,CHANDELIER " is held above" ,DANCE-FLOOR " by a rope and pulley
|
|
system, so that the servants can lower it to light and snuff its candles.
|
|
Several feet of " D ,ROPE " hang down from the pulley, the ">
|
|
<COND (<FSET? ,ROPE ,EVERYBIT>
|
|
<TELL "excess tied around">)
|
|
(T
|
|
<TELL "end resting on">)>
|
|
<TELL T ,RAILING ".">
|
|
<COND (<VERB? EXAMINE>
|
|
<CRLF>)
|
|
(T
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT CHANDELIER
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "chandelier")
|
|
(SYNONYM CHANDELIER PULLEY CANDLE)
|
|
(FLAGS LIGHTBIT ONBIT)
|
|
(ACTION CHAND-F)>
|
|
|
|
<ROUTINE CHAND-F ()
|
|
<COND (<VERB? OFF>
|
|
<CANT-REACH ,CHANDELIER>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"Held in place by a rope running through a pulley," T ,CHANDELIER
|
|
" gently swings its one hundred candles over" ,DANCE-FLOOR ,PCR>)
|
|
(<VERB? UNTIE SWING>
|
|
<PERFORM-PRSA ,ROPE>)>>
|
|
|
|
;<ROUTINE CHANDELIER-DROPS ()
|
|
<TELL "You untie" T ,ROPE ". A loud squeal erupts from
|
|
the pulley above" T ,CHANDELIER " as the huge ring of candles plummets down,
|
|
whipping" T ,ROPE " up after. Suddenly the whole contraption jerks to a stop,
|
|
and" T ,CHANDELIER " swings, spilling hot wax, about ten feet above the floor
|
|
of the ballroom.">
|
|
<COND (<FSET? ,BALLROOM ,EVERYBIT>
|
|
<TELL " In the general melee below, no one notices" ,PCR>
|
|
<RTRUE>)>
|
|
<CRLF>
|
|
<COND (<NOT <RUNNING? ,I-DUEL>>
|
|
<TELL ,INDENT
|
|
CTHE ,DANCERS "s try to stampede out of the way, a woman starts to scream,
|
|
a man curses loudly, once">
|
|
<COND (<AND <NOT <QUEUED? ,I-SUMMONS>>
|
|
<NOT <FSET? ,LDOOR ,LOCKEDBIT>>>
|
|
<TELL
|
|
". Then a bewigged man appears in a doorway, surveying the crowd, and
|
|
immediately everything returns to normal, silent but for the music and
|
|
the frightened hush of" T ,DANCERS "s spinning over the floor">)>
|
|
<TELL ,PCR>)
|
|
(<L? ,HERO-CTR 15>
|
|
<TELL ,INDENT
|
|
"Neither duellist, concentrating on his opponent, takes any notice." CR>)
|
|
(T
|
|
<RTRUE>)>>
|
|
|
|
<ROOM STAIRWELL
|
|
(IN ROOMS)
|
|
(DESC "Stairwell")
|
|
(LDESC
|
|
"Cool salt air, blowing past a torch on a spiral staircase below you,
|
|
ruffles your hair and circles south into the library.")
|
|
(FLAGS RLANDBIT INDOORSBIT ONBIT NARTICLEBIT)
|
|
(OUT PER PORTRAIT-EXIT)
|
|
(SOUTH PER PORTRAIT-EXIT)
|
|
(DOWN TO BOTTOM-STAIRS)
|
|
(GLOBAL STAIRS PORTRAIT TORCH)
|
|
;(ACTION STAIRWELL-F)>
|
|
|
|
;<ROUTINE STAIRWELL-F (RARG)
|
|
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
|
<FSET? ,DAD ,DEADBIT>
|
|
<QUEUED? I-CKILLS-DAD>>
|
|
<JIGS-UP
|
|
" Just inside the portrait stands Crulley, knife at
|
|
the ready. You don't even have time to scream.">)>>
|
|
|
|
<ROOM BOTTOM-STAIRS
|
|
(IN ROOMS)
|
|
(DESC "Bottom of Stairwell")
|
|
(LDESC
|
|
"Flickering torchlight lights the bottom of a spiral staircase. A
|
|
draft blows from the east; a passage leads south.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(UP TO STAIRWELL)
|
|
(EAST TO PASSAGE-1)
|
|
(SOUTH TO ANTEROOM)
|
|
(GLOBAL STAIRS TORCH)>
|
|
|
|
<ROOM PASSAGE-1
|
|
(IN ROOMS)
|
|
(DESC "North Passage")
|
|
(LDESC
|
|
"A strong wet breeze blows from a low doorway to the east. A circle of
|
|
light leads west. The passageway continues south.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(EAST TO CELL-1)
|
|
(WEST TO BOTTOM-STAIRS)
|
|
(SOUTH TO PASSAGE-2)
|
|
(GLOBAL CELL-OBJ)>
|
|
|
|
<OBJECT COT
|
|
(IN CELL-1)
|
|
(DESC "cot")
|
|
(LDESC "A canvas cot is shoved against a wall.")
|
|
(SYNONYM COT BED)
|
|
(ADJECTIVE CANVAS)
|
|
(FLAGS VEHBIT CONTBIT SEARCHBIT SURFACEBIT OPENBIT TRANSBIT)
|
|
(CAPACITY 20)
|
|
(ACTION BED-F)>
|
|
|
|
<OBJECT CRACK
|
|
(IN CELL-1)
|
|
(DESC "crack")
|
|
(SYNONYM CRACK)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION CRACK-F)>
|
|
|
|
<ROUTINE CRACK-F ()
|
|
<COND (<VERB? LOOK-INSIDE>
|
|
<PERFORM ,V?EXAMINE ,SHIP>
|
|
<RTRUE>)
|
|
(<VERB? ENTER CLIMB-ON BOARD>
|
|
<TELL CTHE ,CRACK " is too narrow." CR>)>>
|
|
|
|
<ROOM CELL-1
|
|
(IN ROOMS)
|
|
(DESC "Guard's Bunkroom")
|
|
(LDESC
|
|
"Once a cell, now, with the door missing, made into a guard's bunkroom,
|
|
this room is distinctly uncomfortable. Gasps of air are forced through a
|
|
crack in the seaward wall of the room. The way out is west of you.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(WEST TO PASSAGE-1)
|
|
(GLOBAL CELL-OBJ)>
|
|
|
|
<GLOBAL PRIMED <>>
|
|
|
|
<OBJECT HORN
|
|
(IN CELL-1)
|
|
(DESC "powder horn")
|
|
(FDESC "A powder horn hangs on a long strap from the wall.")
|
|
(SYNONYM HORN STRAP)
|
|
(ADJECTIVE POWDER)
|
|
(FLAGS TAKEBIT CONTBIT OPENBIT SEARCHBIT)
|
|
(ACTION HORN-F)>
|
|
|
|
<ROUTINE HORN-F ()
|
|
<COND (<VERB? EMPTY>
|
|
<TELL "You start to empty it, but reconsider." CR>)
|
|
(<AND <VERB? EMPTY-FROM>
|
|
<PRSI? ,HORN>>
|
|
<PERFORM ,V?EMPTY ,HORN>
|
|
<RTRUE>)
|
|
(<AND <VERB? TAKE>
|
|
<NOT <EQUAL? <ITAKE <>> ,M-FATAL <>>>
|
|
<NOT <FSET? ,HORN ,TOUCHBIT>>>
|
|
<FCLEAR ,POWDER ,INVISIBLE>
|
|
<TELL "Taken." CR>)
|
|
(<AND <VERB? FILL>
|
|
<PRSO? ,HORN>>
|
|
<CANT-VERB-A-PRSO "put anything into">
|
|
;<TELL ,YOU-CANT "put anything into" TR ,HORN>
|
|
;<COND (<PRSI? ,HORN>
|
|
<PERFORM ,V?POUR ,PRSI ,PRSO>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL ,YOU-CANT "put anything into" TR ,HORN>)>)
|
|
(<AND <VERB? POUR PUT>
|
|
<PRSI? ,HORN>>
|
|
<PERFORM ,V?FILL ,PRSI ,PRSO>
|
|
<RTRUE>)
|
|
(<VERB? OPEN CLOSE>
|
|
<TELL ,YOU-CANT-SEE-ANY ,WAY-TO-DO-THAT>)
|
|
(<VERB? EXAMINE LOOK-INSIDE>
|
|
<TELL
|
|
"Almost triangular, with a little spout on top," T ,HORN
|
|
" is similar to the one your father used to carry when hunting.
|
|
It is filled with a mixture of " D ,POWDER " and shot" ,PCR>)
|
|
(<AND <VERB? TAKE>
|
|
<NOUN-USED ,W?POWDER ,HORN>
|
|
<HELD? ,HORN>>
|
|
<TELL
|
|
"You pour out some " D ,POWDER ". It blows away." CR>)>>
|
|
|
|
<OBJECT POWDER
|
|
(IN HORN)
|
|
(DESC "gunpowder")
|
|
(SYNONYM POWDER GUNPOW SHOT)
|
|
(FLAGS NARTICLEBIT NDESCBIT)>
|
|
|
|
<ROOM PASSAGE-2
|
|
(IN ROOMS)
|
|
(DESC "South Passage")
|
|
(LDESC
|
|
"You are at the far end of a dank passageway heading north.
|
|
A wooden door leads east.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(NORTH TO PASSAGE-1)
|
|
(EAST TO CELL-2 IF WOOD-CELL-DOOR IS OPEN)
|
|
(GLOBAL WOOD-CELL-DOOR CELL-OBJ)>
|
|
|
|
<OBJECT WOOD-CELL-DOOR
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "wooden door")
|
|
(SYNONYM DOOR)
|
|
(ADJECTIVE WOOD WOODEN)
|
|
(FLAGS NDESCBIT DOORBIT)
|
|
(ACTION DOOR-F)>
|
|
|
|
; "Mud is splashed ankle deep, filling a deep pit in the floor."
|
|
|
|
<ROOM CELL-2
|
|
(IN ROOMS)
|
|
(DESC "Cell")
|
|
(LDESC
|
|
"This tiny cell is airless and shivering cold, entirely empty of
|
|
anything but darkness. A wooden door leads west.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(WEST TO PASSAGE-2 IF WOOD-CELL-DOOR IS OPEN)
|
|
(GLOBAL WOOD-CELL-DOOR CELL-OBJ)>
|
|
|
|
;<OBJECT MUDPIT
|
|
(IN CELL-2)
|
|
(DESC "muddy pit")
|
|
(SYNONYM PIT HOLE)
|
|
(ADJECTIVE MUD MUDDY)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION MUDPIT-F)>
|
|
|
|
;<ROUTINE MUDPIT-F ()
|
|
<COND (<VERB? ENTER BOARD>
|
|
<TELL "You'd get far too dirty" ,PCR>)
|
|
(T
|
|
<UNIMPORTANT-THING>)>>
|
|
|
|
<ROOM ANTEROOM
|
|
(IN ROOMS)
|
|
(DESC "Anteroom")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(NORTH TO BOTTOM-STAIRS)
|
|
(SOUTH PER CROC-EXIT)
|
|
(GLOBAL CHAIN)
|
|
(ACTION ANTEROOM-F)>
|
|
|
|
<ROUTINE ANTEROOM-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"Two exits lead from this cavernous room, north and south.
|
|
The walls drip with wet, forming a huge pool on the floor.">)
|
|
(<EQUAL? .RARG ,M-END>
|
|
<COND (<AND <NOT ,CROC-FREE>
|
|
<IN? ,DAD ,HERE>>
|
|
<TELL ,INDENT
|
|
"Your father stops, smiling at" T ,CROC
|
|
", \"Hello, chum, how are you?\" He bends over the creature, and ">
|
|
<COND (,MUZZLED
|
|
<SETG AWAITING-REPLY 6>
|
|
<QUEUE I-REPLY 2>
|
|
<MOVE ,GARTER ,DAD>
|
|
<FCLEAR ,GARTER ,NDESCBIT>
|
|
<TELL
|
|
"laughs. \"That's my Lucy! Never one to shirk belling the cat. What a
|
|
woman! Have you been to the kitchen, dear?\" He slips off" T ,GARTER " and">)
|
|
(,CROC-SLEEP
|
|
<TELL
|
|
"scratches its bumpy snout, muttering, \"Never seen you
|
|
sleep like this before.\" It stirs to life as " D ,DAD>)>
|
|
<TELL
|
|
" walks over to you by the north entrance. The reptile">
|
|
<COND (,CROC-SLEEP
|
|
<TELL ", waking,">)> ;"in MUZZLED case"
|
|
<SETG CROC-FREE T>
|
|
<SETG MOUTH-SHUT <>>
|
|
<SETG MUZZLED <>>
|
|
<SETG CROC-SLEEP <>>
|
|
<FCLEAR ,GARTER ,TRYTAKEBIT> ;"stop implicit take"
|
|
<FSET ,GARTER ,TAKEBIT>
|
|
<TELL " lunges after him, choking on its chain." CR>)
|
|
(<AND <NOT ,COOKIE-FIGHTING-CROC>
|
|
<IN? ,COOKIE ,HERE>>
|
|
<SETG COOKIE-FIGHTING-CROC T>
|
|
<FSET ,CROC ,NDESCBIT>
|
|
<TELL ,INDENT
|
|
"Cookie rushes at" T ,CROC ", crying, \"I'll take care of this monster,
|
|
sweetheart. You run by and do what you must do.\" He dives headlong into"
|
|
T ,POOL>
|
|
<COND (<IN? ,RAPIER ,COOKIE>
|
|
<MOVE ,RAPIER ,HERE>
|
|
<TELL ", throwing free" T ,RAPIER>)>
|
|
<TELL ,PCR>)>)>>
|
|
|
|
<GLOBAL WHIPPING-SPEECH T>
|
|
|
|
<ROUTINE CROC-EXIT ()
|
|
<COND (,COOKIE-FIGHTING-CROC
|
|
<DUNGEON-ENTRANCE>)
|
|
(<OR ,MUZZLED
|
|
,CROC-SLEEP>
|
|
<TELL "You edge past the reptile" ,PCR CR>
|
|
<RETURN ,DUNGEON>)
|
|
(T
|
|
<COND (<RUNNING? ,I-CROC-OPENS-MOUTH>
|
|
<DEQUEUE I-CROC-OPENS-MOUTH>)>
|
|
<TELL
|
|
CTHE ,CROC " roars at you. You retreat to the north entrance
|
|
and the monster stills, waiting, chops open, almost smiling" ,PCR>
|
|
<RFALSE>)>>
|
|
|
|
<ROUTINE DUNGEON-ENTRANCE () ;"EXIT-FCN"
|
|
<COND (,COOKIE-FIGHTING-CROC
|
|
<FCLEAR ,DUNGEON ,TOUCHBIT> ;"So there's a new room desc."
|
|
<SETG VERBOSITY 1>
|
|
<COND (<AND <NOT <FSET? ,CRULLEY ,MUNGBIT>>
|
|
<NOT ,CRULLEY-BACK>> ;"before he goes down or"
|
|
<SETG CRULLEY-CTR 1> ;"comes back up well"
|
|
<QUEUE I-CDUNG -1>
|
|
<TELL "A whip cracks ">
|
|
<COND (,WHIPPING-SPEECH
|
|
<SETG WHIPPING-SPEECH <>>
|
|
<TELL
|
|
"the air. \"Flogs me, will ye, Cap'n? Taste it "
|
|
D ,ME ", har.\" Jamison groans, half conscious">)
|
|
(T
|
|
<TELL "against flesh">)>
|
|
<TELL ". You rush in" ,PCR CR>)>)>
|
|
<RETURN ,DUNGEON>>
|
|
|
|
|
|
<GLOBAL MUZZLED <>>
|
|
<GLOBAL MOUTH-SHUT <>>
|
|
<GLOBAL CROC-FREE <>> ;"<> until Dad takes either the garter or wakes it"
|
|
<GLOBAL CROC-SLEEP <>>
|
|
|
|
<GLOBAL CROC-LUNGES
|
|
"The monster lunges at you, chain rattling, roaring and angry. ">
|
|
|
|
<GLOBAL SNORTS-IN-SLEEP ". The monster snorts in its sleep">
|
|
|
|
<OBJECT CROC
|
|
(IN ANTEROOM)
|
|
(DESC "crocodile")
|
|
(DESCFCN CROC-F)
|
|
(SYNONYM CROC CROCOD LEBS MOUTH)
|
|
(ADJECTIVE CROC\'S JAWS REPTILE GATOR)
|
|
(FLAGS CONTBIT OPENBIT ACTORBIT ;TRANSBIT SEARCHBIT)
|
|
(ACTION CROC-F)>
|
|
|
|
<ROUTINE CROC-F ("OPTIONAL" (OARG <>))
|
|
<COND (.OARG
|
|
<COND (<EQUAL? .OARG ,M-DESC?>
|
|
<RTRUE>)>
|
|
<COND (<FSET? ,CROC ,TOUCHBIT>
|
|
<TELL ,INDENT CTHE ,CROC>)
|
|
(T
|
|
<FSET ,CROC ,TOUCHBIT>
|
|
<TELL ,INDENT "A " D ,CROC>)>
|
|
<TELL " lies half in the pool, ">
|
|
<COND (,CROC-SLEEP
|
|
<TELL "sleeping.">
|
|
<RTRUE>)>
|
|
<TELL "gazing at you,">
|
|
<COND (,MUZZLED
|
|
<TELL A ,GARTER " around its snout.">)
|
|
(,MOUTH-SHUT
|
|
<TELL " mouth closed.">)
|
|
(T
|
|
<TELL
|
|
" with baleful eyes, jaws wide open.
|
|
Dagger-sharp teeth glint in" T ,TORCH "light.">)>)
|
|
(<AND <VERB? PUT-ON>
|
|
<PRSO? ,GARTER>>
|
|
<COND (,CROC-FREE
|
|
<REMOVE ,PRSO>
|
|
<TELL ,CROC-LUNGES
|
|
"Screaming, you dash back, dropping" T ,GARTER " into" TR ,POOL>)
|
|
(,MOUTH-SHUT
|
|
<MOVE ,GARTER ,CROC>
|
|
<FSET ,GARTER ,NDESCBIT>
|
|
<SETG MUZZLED T>
|
|
<FSET ,GARTER ,TRYTAKEBIT> ;"stop implicit take"
|
|
<FCLEAR ,GARTER ,TAKEBIT>
|
|
<COND (<NOT ,CROC-SLEEP>
|
|
<COND (<NOT <QUEUED? ,I-CROC-SLEEPS>>
|
|
<SETG SCORE <+ ,SCORE 1>>)>
|
|
<TELL
|
|
"With great daring and greater speed, you slip" T ,GARTER " around" T ,CROC
|
|
"'s snout. " CTHE ,CROC " thrashes about, unable to remove it." CR>)
|
|
(T
|
|
<TELL
|
|
CTHE ,GARTER " fits on its snout like a ring on a wedding finger" ,PCR>)>)
|
|
(T
|
|
<TELL
|
|
CTHE ,GARTER " won't fit around that open maw" ,PCR>)>)
|
|
(<AND ,CROC-SLEEP
|
|
<VERB? ALARM>>
|
|
<TELL "That is the last thing you want to do!" CR>)
|
|
(<VERB? KISS EMBRACE>
|
|
<TELL "The very thought makes you shiver." CR>)
|
|
(<VERB? PUT PUT-ON TOUCH ENTER>
|
|
<TELL
|
|
"It would be safer to stay distant and throw things at" TR ,CROC>)
|
|
(<AND <NOUN-USED ,W?MOUTH ,CROC>
|
|
<ZERO? <GET ,P-ADJW 0>>
|
|
<ZERO? <GET ,P-ADJW 1>>>
|
|
<RFALSE>) ;"OPEN/L AT/etc. MOUTH"
|
|
(<AND <VERB? MUZZLE>
|
|
<PRSI? ,GARTER>>
|
|
<PERFORM ,V?PUT-ON ,GARTER ,CROC>
|
|
<RTRUE>)
|
|
(<VERB? THROW GIVE THROW-TO THROW-AT>
|
|
<COND (,COOKIE-FIGHTING-CROC
|
|
<TELL
|
|
CTHE ,CROC " is too busy fighting Cookie to notice." CR>)
|
|
(<PRSO? ,BOTTLE>
|
|
<TELL "You might need that later." CR>)
|
|
(<PRSO? ,RETICULE>
|
|
<RFALSE>)
|
|
(,CROC-SLEEP
|
|
<COND (<AND <PRSO? ,SALTS>
|
|
<VERB? GIVE>>
|
|
<PERFORM ,V?ALARM ,CROC ,SALTS>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL "But" T ,CROC " is asleep." CR>)>)
|
|
(<AND <PRSO? ,SPICES ,PINCH>
|
|
<IN? ,PINCH ,PROTAGONIST>>
|
|
<MOVE ,PINCH ,SPICES>
|
|
<TELL
|
|
CTHE ,CROC " blinks its eyes once, but takes no other notice of" TR ,SPICES>)
|
|
(,CROC-FREE
|
|
<REMOVE ,PRSO>
|
|
<TELL
|
|
,CROC-LUNGES CTHE ,PRSO " drops ignored into" TR ,POOL>
|
|
<RTRUE>)
|
|
(,MUZZLED
|
|
<TELL CTHE ,CROC " is helpless! " ,MOTHER>)
|
|
(T
|
|
<REMOVE ,PRSO>
|
|
<SETG MOUTH-SHUT T>
|
|
<QUEUE I-CROC-OPENS-MOUTH 2>
|
|
<TELL CTHE ,CROC " snaps its jaws shut as" T ,PRSO>
|
|
<COND (<PRSO? ,SALTS ;,HOOPS ;,DAGGER>
|
|
<TELL " bounce">
|
|
;<COND (<PRSO? ,DAGGER>
|
|
<TELL "s">)>
|
|
<TELL " off its hide, sinking into" TR ,POOL>)
|
|
(T
|
|
<TELL " disappear">
|
|
<COND (<NOT <PRSO? ,PANTS>>
|
|
<TELL "s">)>
|
|
<TELL " into">
|
|
<COND (<PRSO? ,PORK>
|
|
<COND (,PORK-DOPED
|
|
<QUEUE I-CROC-SLEEPS 3>)>
|
|
<TELL " its maw." CR>)
|
|
(T
|
|
<TELL TR ,POOL>)>)>)>)
|
|
(<VERB? LEAP>
|
|
<TELL "You can't jump that far." CR>)
|
|
(<VERB? SGIVE STHROW THROW-AT>
|
|
<PERFORM ,V?THROW-TO ,PRSI ,CROC>
|
|
<RTRUE>)
|
|
(<VERB? EXAMINE>
|
|
<COND (,COOKIE-FIGHTING-CROC
|
|
<TELL CTHE ,POOL
|
|
" boils with the bodies of" T ,CROC " and" TR ,COOKIE>)
|
|
(,MUZZLED
|
|
<TELL CTHE ,CROC
|
|
"'s snout is pinned closed by" A ,GARTER>
|
|
<COND (,CROC-SLEEP
|
|
<TELL ,SNORTS-IN-SLEEP>)>
|
|
<TELL ,PCR>)
|
|
(,MOUTH-SHUT
|
|
<TELL
|
|
"Two gleaming teeth poke out of" T ,CROC "'s closed mouth">
|
|
<COND (,CROC-SLEEP
|
|
<TELL ,SNORTS-IN-SLEEP>)>
|
|
<TELL ,PCR>)
|
|
(T
|
|
<TELL
|
|
CTHE ,CROC " smiles at you invitingly, white
|
|
teeth shining in" T ,TORCH "light." CR>)>)
|
|
(<VERB? KILL MUNG KICK>
|
|
<COND (,COOKIE-FIGHTING-CROC
|
|
<TELL D ,COOKIE " is seeing to" TR ,CROC>)
|
|
(,CROC-SLEEP
|
|
<TELL "Harm a sleeping animal! " ,MOTHER>)
|
|
(,MUZZLED
|
|
<TELL
|
|
"The tear welling up in" T ,CROC "'s eye is rather poignant.
|
|
You can't bear to hurt the beast in this state" ,PCR>)
|
|
(T
|
|
<TELL "You have no wish to get any closer to" TR ,CROC>
|
|
;<TELL
|
|
"While the sight of " D ,CROC " teeth and " D ,CROC " tonsils at the back
|
|
of a " D ,CROC "'s open maw may not deter you, the thought of spending the
|
|
rest of your life in one-armed dresses does. You daren't go near the
|
|
open-mouthed reptile" ,PCR>)>)>>
|
|
|
|
<ROUTINE I-CROC-OPENS-MOUTH ()
|
|
<COND (<AND <NOT ,MUZZLED>
|
|
<IN? ,CROC ,HERE>>
|
|
<SETG MOUTH-SHUT <>>
|
|
<TELL ,INDENT
|
|
"With an inaudible creak," T ,CROC "'s mouth opens again" ,PCR>)
|
|
(T
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT POOL
|
|
(IN ANTEROOM)
|
|
(DESC "pool")
|
|
(SYNONYM POOL WATER)
|
|
(ADJECTIVE BLACK)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION POOL-F)>
|
|
|
|
<ROUTINE POOL-F ()
|
|
<COND (<VERB? ENTER CRAWL-UNDER SWIM>
|
|
<TELL
|
|
"You splash around at the outskirts of" TR ,POOL>)
|
|
(<VERB? THROW THROW-TO THROW-AT>
|
|
<COND (<AND <PRSO? ,PORK>
|
|
<NOT ,MOUTH-SHUT>
|
|
<NOT ,CROC-SLEEP>>
|
|
<TELL
|
|
"With a terrific splash," T ,CROC " throws itself after" T ,PRSO ". ">
|
|
<PERFORM ,V?THROW ,PORK ,CROC>
|
|
<RTRUE>)
|
|
(<PRSO? ,BOTTLE>
|
|
<PERFORM ,V?THROW ,BOTTLE ,CROC>
|
|
<RTRUE>)
|
|
(T
|
|
<REMOVE ,PRSO>
|
|
<TELL CTHE ,PRSO " splashes into" TR ,POOL>)>)
|
|
(<VERB? LOOK-INSIDE>
|
|
<TELL "It's too murky to see anything" ,PCR>)
|
|
(<VERB? PUT>
|
|
<REMOVE ,PRSO>
|
|
<TELL CTHE ,PRSO " sinks from sight." CR>)
|
|
(<VERB? DRINK DRINK-FROM>
|
|
<TELL "Yechh!" CR>)>>
|
|
|
|
<ROOM DUNGEON
|
|
(IN ROOMS)
|
|
(DESC "Dungeon")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(SYNONYM DUNGEON)
|
|
(GLOBAL TORCH)
|
|
(WEST PER DUNGEON-EXIT)
|
|
(NORTH PER DUNGEON-EXIT)
|
|
(ACTION DUNGEON-F)>
|
|
|
|
<ROUTINE DUNGEON-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You sense, rather than see, the rusty skeletons of old cages and torture
|
|
devices that line the walls of this cavernous room. One flaming torch,
|
|
high on a wall, casts mad licks of light into the darkness. Passages lead
|
|
north and west. Set deep in the rocky floor is a">
|
|
<TELL-OPEN/CLOSED ,TRAP T>
|
|
<TELL " " D ,TRAP ,PCR ,INDENT>
|
|
;<COND (<FSET? ,DAD ,DEADBIT>
|
|
<TELL " with signs of a struggle around it">)>
|
|
;<TELL ,PCR ,INDENT>
|
|
<DESC-MANACLES>)
|
|
(<AND <EQUAL? .RARG ,M-BEG>
|
|
,ENDGAME
|
|
<IN? ,CRULLEY ,HERE>
|
|
<NOT <FSET? ,CRULLEY ,MUNGBIT>>>
|
|
<COND (<OR <AND <EQUAL? ,HERO ,PRSO ,PRSI>
|
|
<AFFIRMATIVE-ANSWER>>
|
|
<TOUCHING? ,HERO>
|
|
<TOUCHING? ,MANACLES>
|
|
;<VERB? PUT>>
|
|
<TELL
|
|
D ,CRULLEY " growls, \"Keep away from 'im.\"" CR>)
|
|
(<AND <TOUCHING? ,TRAP>
|
|
<NOT <VERB? ENTER BOARD>>>
|
|
;<AND <VERB? CLOSE>
|
|
<PRSO? ,TRAP>>
|
|
<TELL D ,CRULLEY " barks, \"Leave that alone.\"" CR>)
|
|
(T
|
|
<RFALSE>)>)
|
|
(<EQUAL? .RARG ,M-END>
|
|
<COND (,CRULLEY-BACK
|
|
<TELL
|
|
,INDENT D ,CRULLEY " jumps out of the shadows at you.">
|
|
<JIGS-UP ,FALL-TO-BOTTOM>)
|
|
(T
|
|
<RFALSE>)>)>>
|
|
|
|
<ROUTINE DUNGEON-EXIT ()
|
|
<COND (<RUNNING? ,I-CDUNG>
|
|
<DEQUEUE I-CDUNG>
|
|
<FCLEAR ,CRULLEY ,EVERYBIT>
|
|
<TELL
|
|
"\"Come back 'ere, wench!\"" T ,CRULLEY ,CALLS-AFTER>)>
|
|
<COND (<EQUAL? ,P-WALK-DIR ,P?WEST>
|
|
<RETURN ,PASSAGE-4>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?NORTH>
|
|
<RETURN ,ANTEROOM>)>
|
|
;<COND (<FSET? ,MANACLES ,MUNGBIT>
|
|
<TELL
|
|
"You are brought up short by" T ,MANACLES " locked on your wrists" ,PCR>
|
|
<RFALSE>)
|
|
(T
|
|
<COND (<RUNNING? ,I-CDUNG>
|
|
<DEQUEUE I-CDUNG>
|
|
<TELL
|
|
"\"Come back 'ere, wench!\"" T ,CRULLEY ,CALLS-AFTER>)>
|
|
<COND (<EQUAL? ,P-WALK-DIR ,P?WEST>
|
|
<RETURN ,PASSAGE-4>)
|
|
(<EQUAL? ,P-WALK-DIR ,P?NORTH>
|
|
<RETURN ,ANTEROOM>)>)>>
|
|
|
|
<OBJECT MANACLES ;"MUNGBIT -- they're locked on you."
|
|
(IN DUNGEON)
|
|
(DESC "pair of manacles")
|
|
(SYNONYM MANACLE CHAINS LOCK CHAIN)
|
|
(ADJECTIVE IRON PAIR LOCKS FETTER)
|
|
(FLAGS CONTBIT OPENBIT PLURALBIT TRANSBIT WEARBIT NDESCBIT SEARCHBIT)
|
|
(ACTION MANACLES-F)>
|
|
|
|
<ROUTINE MANACLES-F ()
|
|
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
|
<DESC-MANACLES>)
|
|
(<VERB? CLOSE>
|
|
<COND (,PRSI
|
|
<PERFORM ,V?PUT-ON ,MANACLES ,PRSI>
|
|
<RTRUE>)
|
|
(T
|
|
<OPEN-CLOSE ,PRSO <> "They clamp shut">)>)
|
|
(<VERB? OPEN>
|
|
<COND ;(<AND <EQUAL? ,P-PRSA-WORD ,W?PRY>
|
|
<NOT ,PRSI>>
|
|
<TELL ,YOULL-HAVE-TO "specify how" ,PCR>)
|
|
(<FSET? ,MANACLES ,OPENBIT>
|
|
<TELL "They are already open!" CR>)
|
|
(<PRSI? ,JEWEL>
|
|
<PROPOSE>)
|
|
(T
|
|
<TELL "It isn't that easy" ,PCR>)>)
|
|
(<AND <VERB? PICK UNLOCK>
|
|
<PRSI? ,JEWEL>>
|
|
<TELL "You twist the pin of" T ,JEWEL " in the ">
|
|
<COND ;(<FSET? ,MANACLES ,MUNGBIT>
|
|
<MOVE ,JEWEL ,HERE>
|
|
<QUEUE I-JIGS-UP-MANACLES 3>
|
|
<TELL
|
|
"As you scratch in one cuff with the pin of" T ,JEWEL ", it slips from
|
|
your fingers and skitters just out of reach" ,PCR>)
|
|
(<IN? ,HERO ,MANACLES>
|
|
<MOVE ,HERO ,HERE>
|
|
<SETG SCORE <+ ,SCORE 1>>
|
|
<FSET ,MANACLES ,OPENBIT>
|
|
<TELL "locks, quickly freeing Nicholas. ">
|
|
<COND (<FSET? ,HERO ,DEADBIT>
|
|
<TELL "He falls in a faint at your feet" ,PCR>)
|
|
(T
|
|
<CRLF>
|
|
<NICK-RUNS-OFF>)>)
|
|
(T
|
|
<FSET ,MANACLES ,OPENBIT>
|
|
<FCLEAR ,MANACLES ,LOCKEDBIT>
|
|
<TELL "manacles until they pop open" ,PCR>)>)
|
|
(<VERB? UNLOCK>
|
|
<TELL "That key is much too large to fit in" TR ,MANACLES>
|
|
;<COND (<PRSI? ,LARGE-KEY>
|
|
<TELL "large">)
|
|
;(<PRSI? ,BENT-KEY>
|
|
<TELL "crooked">)>
|
|
;<TELL " to fit in" TR ,MANACLES>)
|
|
(<VERB? REACH-IN WEAR>
|
|
<PERFORM ,V?PUT-ON ,MANACLES ,ME>
|
|
<RTRUE>)
|
|
(<VERB? PUT>
|
|
<COND (<PRSO? ,ME>
|
|
<PERFORM ,V?PUT-ON ,MANACLES ,ME>
|
|
<RTRUE>)
|
|
(<PRSO? ;,BENT-KEY ,LARGE-KEY>
|
|
<PERFORM ,V?UNLOCK ,MANACLES>
|
|
<RTRUE>)
|
|
(T
|
|
<MOVE ,PRSO ,HERE>
|
|
<TELL CTHE ,PRSO " drops to the floor." CR>)>)
|
|
(<OR <VERB? PUT-ON WEAR>
|
|
<AND <VERB? TIE>
|
|
<EQUAL? ,P-PRSA-WORD ,W?FASTEN ,W?SECURE ,W?ATTACH>>>
|
|
<COND (<PRSI? ,ME>
|
|
<TELL
|
|
"Mama would not have praised your intelligence" ,PCR>)
|
|
;(<PRSI? ,ME>
|
|
<FCLEAR ,MANACLES ,OPENBIT>
|
|
<FSET ,MANACLES ,MUNGBIT>
|
|
<QUEUE I-JIGS-UP-MANACLES 10>
|
|
<TELL
|
|
"You snap the cuffs onto your wrists.
|
|
Mama would not have praised your intelligence" ,PCR>)
|
|
(<PRSI? ,DAD>
|
|
<SETG AWAITING-REPLY 1>
|
|
<QUEUE I-REPLY 2>
|
|
<TELL
|
|
"He wanders off before you can get them on him. \"Oh dear, you have learned
|
|
atrocious manners these last few year in London!\"" CR>)
|
|
(<PRSI? ,HERO>
|
|
<TELL ,YOU-CANT "lift him high enough." CR>)
|
|
(T
|
|
<TELL ,YOU-CANT "put that in " D ,MANACLES "!" CR>)>)>>
|
|
|
|
;<ROUTINE I-JIGS-UP-MANACLES ()
|
|
<JIGS-UP
|
|
"When, some hours later, dragoons drag in the battered body of Jamison, you
|
|
are unable to help either him or yourself. Crulley quite enjoys the sight
|
|
of you pinned to the wall.">>
|
|
|
|
<ROUTINE DESC-MANACLES ()
|
|
<COND (<IN? ,HERO ,MANACLES>
|
|
<TELL
|
|
"Nicholas is spread-eagled against
|
|
the wall, shackled in the " D ,MANACLES ".">)
|
|
(<IN? ,PROTAGONIST ,MANACLES>
|
|
<TELL
|
|
"You lean against the wall, one arm
|
|
raised above " D ,HEAD ", cuffed in a manacle.">)
|
|
(T
|
|
<TELL
|
|
"A " D ,MANACLES " hangs from iron chains attached high on the wall.">)>
|
|
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
|
<CRLF>)
|
|
(T
|
|
<RTRUE>)>>
|
|
|
|
<ROUTINE GEN-WELL ()
|
|
<COND (<EQUAL? ,HERE ,DUNGEON>
|
|
,TRAP)>>
|
|
|
|
<OBJECT TRAP
|
|
(IN DUNGEON)
|
|
(DESC "trapdoor")
|
|
(SYNONYM DOOR WELL TRAPDO)
|
|
(ADJECTIVE TRAP)
|
|
(GENERIC GEN-WELL)
|
|
(FLAGS DOORBIT NDESCBIT VEHBIT CONTBIT SEARCHBIT TRANSBIT)
|
|
(ACTION TRAP-F)>
|
|
|
|
<ROUTINE TRAP-F ()
|
|
<COND (<OR <VERB? OPEN RAISE MOVE>
|
|
<VERB? CLOSE LOWER>>
|
|
<OPEN-CLOSE ,TRAP
|
|
"The door creaks open to reveal a black well, water hushing deep within" <>>)
|
|
(<VERB? LOOK-UNDER LOOK-INSIDE>
|
|
<COND (<FSET? ,TRAP ,OPENBIT>
|
|
<COND (<IN? ,CRULLEY ,TRAP>
|
|
<TELL
|
|
D ,CRULLEY " is slowly climbing up the well." CR>)
|
|
(T
|
|
<TELL
|
|
"You smell salt water and mold, but you can see nothing" ,PCR>)>)
|
|
(T <TELL "It" ,IS-CLOSED ,PCR>)>)
|
|
(<VERB? ENTER BOARD STAND-ON>
|
|
<COND (<FSET? ,TRAP ,OPENBIT>
|
|
<TELL
|
|
"You start to climb down the well,
|
|
but lose your footing on the slimy rock.">
|
|
<COND (<FSET? ,CRULLEY ,MUNGBIT>
|
|
<TELL
|
|
" At least you take" T ,CRULLEY " with you as you fall.">)>)
|
|
(T
|
|
<TELL
|
|
"As you stand on" T ,TRAP ", the rotted wood tears away.">)>
|
|
<JIGS-UP ,FALL-TO-BOTTOM>)
|
|
(<AND <VERB? PUT-ON>
|
|
<FSET? ,TRAP ,OPENBIT>>
|
|
<PERFORM ,V?THROW ,PRSO ,TRAP>
|
|
<RTRUE>)
|
|
(<VERB? THROW PUT PUT-THROUGH THROW-AT>
|
|
<COND (<PRSO? ,RAPIER>
|
|
<TELL
|
|
D ,HERO " would not thank you for doing that." CR>)
|
|
(<PRSO? ,RETICULE>
|
|
<RFALSE>)
|
|
(<FSET? ,CRULLEY ,MUNGBIT>
|
|
<PERFORM ,V?THROW ,PRSO ,CRULLEY>
|
|
<RTRUE>)
|
|
(T
|
|
<REMOVE ,PRSO>
|
|
<TELL
|
|
"You drop" T ,PRSO " into the well.
|
|
Several seconds later you hear a tiny splash" ,PCR>)>)>>
|
|
|
|
<ROOM PASSAGE-4
|
|
(IN ROOMS)
|
|
(DESC "Corner")
|
|
(LDESC
|
|
"This short passage turns from east to north to
|
|
stop abruptly at an iron door.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(NORTH TO CELL-4 IF IRON-CELL-DOOR IS OPEN)
|
|
(EAST PER DUNGEON-ENTRANCE)
|
|
(GLOBAL IRON-CELL-DOOR CELL-OBJ)
|
|
;(ACTION PASSAGE-4-F)>
|
|
|
|
<OBJECT IRON-CELL-DOOR
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "iron door")
|
|
(SYNONYM DOOR)
|
|
(ADJECTIVE IRON CELL)
|
|
(FLAGS NDESCBIT DOORBIT LOCKEDBIT)
|
|
(ACTION DOOR-F)>
|
|
|
|
<ROOM CELL-4
|
|
(IN ROOMS)
|
|
(DESC "Cell")
|
|
(LDESC
|
|
"Hewn from dense rock, the cell is a stagnant burrow. Except for the tiniest
|
|
glow of light from the torch two rooms away, it is pitch black.")
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
|
|
(SOUTH TO PASSAGE-4 IF IRON-CELL-DOOR IS OPEN)
|
|
(GLOBAL IRON-CELL-DOOR CELL-OBJ)
|
|
(ACTION CELL-4-F)>
|
|
|
|
<ROUTINE CELL-4-F (RARG)
|
|
<COND (<AND <EQUAL? .RARG ,M-END>
|
|
<NOT <FSET? ,DAD ,TOUCHBIT>>>
|
|
<FSET ,DAD ,TOUCHBIT>
|
|
<FCLEAR ,DAD ,NDESCBIT>
|
|
<SETG SCORE <+ ,SCORE 1>>
|
|
<COND (<EQUAL? ,DANCED-WITH ,LAFOND>
|
|
<QUEUE I-SUMMONS 15>)>
|
|
<QUEUE I-DAD 2>
|
|
<TELL ,INDENT
|
|
"As you enter, a tall bony man moves out of the darkness. \"Papa,\" you cry,
|
|
rushing into his arms.|
|
|
\"Why, hullo, my dear.\" He hugs you tightly. \"Nick certainly took his
|
|
time about fetching you.">
|
|
<COND (<OR ,BOY-DRESS?
|
|
<NOT <FSET? ,CHEMISE ,EVERYBIT>>>
|
|
<TELL
|
|
"\" He squints in horror at your clothes.
|
|
\"I have always found the London fashions quite abominable.">
|
|
<COND (<NOT <FSET? ,CHEMISE ,EVERYBIT>>
|
|
<SETG AWAITING-REPLY 2>
|
|
<QUEUE I-REPLY 2>
|
|
<TELL " Aren't you a trifle cold?">)>)>
|
|
<TELL "\"" CR>)
|
|
(.RARG
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT CELL-OBJ
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "cell")
|
|
(SYNONYM CELL)
|
|
(ACTION CELL-OBJ-F)>
|
|
|
|
<ROUTINE CELL-OBJ-F ()
|
|
<COND (<VERB? ENTER BOARD>
|
|
<COND (<EQUAL? ,HERE ,CELL-1 ,CELL-2 ,CELL-4>
|
|
<TELL ,LOOK-AROUND>)
|
|
(<EQUAL? ,HERE ,PASSAGE-1 ,PASSAGE-2>
|
|
<DO-WALK ,P?EAST>)
|
|
(<EQUAL? ,HERE ,PASSAGE-4>
|
|
<DO-WALK ,P?NORTH>)>)
|
|
(<VERB? LOOK EXAMINE>
|
|
<COND (<EQUAL? ,HERE ,CELL-1 ,CELL-2 ,CELL-4>
|
|
<V-LOOK>)
|
|
(T
|
|
<TELL "You would do better to enter it" ,PCR>)>)>>
|