sorcerer/guild.zil
historicalsource 9be53d703b Final Revision
2019-04-13 21:15:11 -04:00

1185 lines
32 KiB
Plaintext

"GUILD for
SORCERER
(c) Copyright 1984 by Infocom Inc. All Rights Reserved."
<ROOM YOUR-QUARTERS
(IN ROOMS)
(SYNONYM CHEVAU)
(DESC "Your Quarters")
(LDESC
"This is your chamber in the Hall of the Guild of Enchanters, with a
doorway to the west. A private chamber is a great privilege, especially
for an Enchanter as young as yourself, but how many Enchanters can say
they defeated the infamous Krill?")
(OUT TO HALLWAY-1)
(WEST TO HALLWAY-1)
(FLAGS RLANDBIT INSIDEBIT)
(GLOBAL ARCHWAY GLOBAL-BED)>
<OBJECT BED
(IN YOUR-QUARTERS)
(DESC "bed")
(LDESC
"Your bed occupies the far corner of the room.")
(SYNONYM BED)
(FLAGS VEHBIT SURFACEBIT OPENBIT CONTBIT SEARCHBIT)
(CAPACITY 60)
(ACTION BED-F)>
<OBJECT GLOBAL-BED
(IN LOCAL-GLOBALS)
(DESC "bed")
(SYNONYM BED)
(FLAGS VEHBIT SURFACEBIT OPENBIT CONTBIT SEARCHBIT)
(ACTION GLOBAL-BED-F)>
<ROUTINE BED-F ("OPTIONAL" (RARG <>))
<COND (<EQUAL? .RARG ,M-BEG>
<COND (<VERB? WALK>
<NOT-GOING-ANYWHERE ,BED>)
(<AND <VERB? TAKE>
<NOT <HELD? ,PRSO>>
<NOT <EQUAL? ,PRSO ,GLOBAL-SLEEP>>>
<COND (<AND <NOT <EQUAL? ,PRSO ,GRUE ,ME ,BED>>
<NOT <IN? ,PRSO ,BED>>>
<TELL "You can't reach it from the bed." CR>)>)>)
(.RARG
<RFALSE>)
(<VERB? OPEN CLOSE>
<TELL "Huh?" CR>)
(<VERB? WALK-TO>
<PERFORM ,V?WALK-TO ,GLOBAL-SLEEP>
<RTRUE>)
(<VERB? CLIMB-ON LIE-DOWN>
<PERFORM ,V?BOARD ,PRSO>
<RTRUE>)>>
<ROUTINE GLOBAL-BED-F ()
<COND (<EQUAL? ,GLOBAL-BED ,PRSO>
<SETG PERFORMING-SPELL T>
<PERFORM ,PRSA ,BED ,PRSI>
<RTRUE>)
(T
<SETG PERFORMING-SPELL T>
<PERFORM ,PRSA ,PRSO ,BED>
<RTRUE>)>>
<ROOM BELBOZ-QUARTERS
(IN ROOMS)
(DESC "Belboz's Quarters")
(OUT TO HALLWAY-1)
(EAST TO HALLWAY-1)
(FLAGS INSIDEBIT RLANDBIT)
(PSEUDO "PERCH" PERCH-PSEUDO)
(ACTION BELBOZ-QUARTERS-F)>
<ROUTINE BELBOZ-QUARTERS-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The personal chamber of Belboz, who presides over the Circle of Enchanters,
is appointed with a beautiful woven wall hanging">
<COND (<IN? ,MORGIA-PLANT ,HERE>
<TELL ", an exotic morgia plant,">)>
<TELL
" and a wide darkwood desk crafted by the artisans of Gurth. The hallway
lies to the east." CR>)>>
<ROUTINE PERCH-PSEUDO ()
<COND (<VERB? CLIMB-ON>
<TELL
"I'd recommend a good doctor, but we need the eggs." CR>)>>
<OBJECT PARROT
(IN BELBOZ-QUARTERS)
(DESC "parrot")
(FDESC
"Pacing back and forth on a perch in the corner is Belboz's prized pet
parrot, native to the jungles of Miznia.")
(SYNONYM PARROT BIRD POLLIB POLLY)
(ADJECTIVE PRIZED PET)
(FLAGS TRYTAKEBIT)
(ACTION PARROT-F)>
<ROUTINE PARROT-F ()
<COND (<VERB? TAKE>
<TELL "The parrot hops to the other end of the perch." CR>)>>
<ROUTINE I-PARROT ()
<COND (<AND <IN? ,PARROT ,HERE>
<PROB 40>>
<TELL CR "\"Squawk! " <PICK-ONE ,PARROTISMS> " Squawk!\"" CR>)>>
<GLOBAL PARROTISMS
<PLTABLE
"Pollibar want a cracker!"
"Now where can I hide this key?"
"You should never have let down your mindshield, you
doddering old Enchanter."
"This tea is cold! Get me another cup."
"Where did I leave my spectacles?"
"Belboz, the Circle is waiting for you.">>
<OBJECT BELBOZ-DESK
(IN BELBOZ-QUARTERS)
(DESC "darkwood desk")
(SYNONYM DESK)
(ADJECTIVE WOOD WIDE CRAFTE DARK DARKWO)
(FLAGS SURFACEBIT NDESCBIT OPENBIT CONTBIT SEARCHBIT)
(CAPACITY 60)
(ACTION BELBOZ-DESK-F)>
<ROUTINE BELBOZ-DESK-F ()
<COND (<VERB? EXAMINE>
<TELL "The desk has one drawer which is ">
<COND (<FSET? ,DESK-DRAWER ,OPENBIT>
<TELL "open">)
(T
<TELL "closed">)>
<TELL "." CR>
<COND (<FIRST? ,PRSO>
<RFALSE>)
(T
<RTRUE>)>)
(<AND <VERB? SEARCH>
<NOT <FSET? ,DESK-DRAWER ,OPENBIT>>
<FIRST? ,DESK-DRAWER>>
<TELL "You open the desk drawer and find ">
<PRINT-CONTENTS ,DESK-DRAWER>
<FSET ,DESK-DRAWER ,OPENBIT>
<TELL "." CR>)
(<VERB? CLOSE OPEN REZROV REACH-IN LOOK-INSIDE>
<SETG PERFORMING-SPELL T>
<PERFORM ,PRSA ,DESK-DRAWER>
<RTRUE>)
(<AND <VERB? TAKE>
<EQUAL? ,BELBOZ-DESK ,PRSI>
<FIRST? ,DESK-DRAWER>>
<PERFORM ,V?TAKE ,PRSO ,DESK-DRAWER>
<COND (<FIRST? ,BELBOZ-DESK>
<RFALSE>)
(T
<RTRUE>)>)
(<AND <VERB? PUT>
<EQUAL? ,PRSI ,BELBOZ-DESK>>
<PERFORM ,V?PUT ,PRSO ,DESK-DRAWER>
<RTRUE>)>>
<OBJECT DESK-DRAWER
(IN BELBOZ-QUARTERS)
(DESC "desk drawer")
(SYNONYM DRAWER)
(ADJECTIVE DESK)
(CAPACITY 40)
(FLAGS NDESCBIT CONTBIT SEARCHBIT)>
<OBJECT TINY-BOX
(IN DESK-DRAWER)
(DESC "tiny box")
(SYNONYM BOX LID WRITIN)
(ADJECTIVE TINY)
(FLAGS CONTBIT SEARCHBIT TAKEBIT READBIT)
(CAPACITY 3)
(SIZE 4)
(ACTION TINY-BOX-F)>
<ROUTINE TINY-BOX-F ()
<COND (<VERB? EXAMINE>
<TELL "There is writing on the lid of the box." CR>
<PERFORM ,V?READ ,PRSO>
<RTRUE>)
(<VERB? READ>
<FIXED-FONT-ON>
<TELL
"|
\" MAGIC AMULET|
|
The closer this amulet is to|
its owner, the brighter it may|
glow. Ideal for leaving with|
your loved ones if you go on|
a long and hazardous journey.|
|
This amulet is sensitized to|
-> BELBOZ THE NECROMANCER|
|
Another fine product of the|
Frobozz Magic Amulet Company.\"" CR>
<FIXED-FONT-OFF>)>>
<OBJECT MAGIC-AMULET
(IN TINY-BOX)
(DESC "magic amulet")
(SYNONYM AMULET JEWEL AGGTHORA)
(ADJECTIVE MAGIC BLUE)
(SIZE 3)
(FLAGS TAKEBIT WEARBIT)
(DESCFCN AMULET-DESCFCN)
(ACTION MAGIC-AMULET-F)>
<ROUTINE MAGIC-AMULET-F ()
<COND (<VERB? EXAMINE>
<TELL
"A blue jewel hangs from a long golden chain. The jewel is ">
<AMULET-GLOWS>
<TELL "." CR>)
(<VERB? RESEARCH>
<TELL
"The Amulet of Aggthora was a legendary jewel renowned for
its powers of augury." CR>)>>
<ROUTINE AMULET-DESCFCN (RARG)
<TELL "There is an amulet here. The amulet's jewel is ">
<AMULET-GLOWS>
<TELL "." CR>>
<ROUTINE AMULET-GLOWS ()
<COND (<IN-GUILD-HALL?>
<TELL "dark">)
(<IN-MAZE-AREA?>
<TELL "glowing">)
(<IN-CRATER-AREA?>
<TELL "glowing brightly">)
(<IN-COAL-MINE?>
<TELL "glowing very brightly">)
(<IN-END-GAME?>
<TELL "pulsing with flashes of brilliant light">)
(T
<TELL "glowing dimly">)>>
<ROUTINE IN-GUILD-HALL? ("OPTIONAL" (X <>))
<COND (<NOT .X>
<SET X ,HERE>)>
<COND (<OR <EQUAL? .X ,HALLWAY-1 ,HALLWAY-2 ,CHAMBER-OF-THE-CIRCLE>
<EQUAL? .X ,YOUR-QUARTERS ,BELBOZ-QUARTERS ,LOBBY>
<EQUAL? .X ,FROBAR-QUARTERS ,HELISTAR-QUARTERS>
<EQUAL? .X ,STORE-ROOM ,LIBRARY ,CELLAR>
<EQUAL? .X ,APPRENTICE-QUARTERS ,SERVANT-QUARTERS>>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE IN-COAL-MINE? ()
<COND (<OR <EQUAL? ,HERE ,COAL-BIN-ROOM ,DIAL-ROOM ,SHAFT-BOTTOM>
<EQUAL? ,HERE ,SHAFT-TOP ,TOP-OF-CHUTE ,SLANTED-ROOM>
<EQUAL? ,HERE ,COAL-MINE-1 ,COAL-MINE-2 ,COAL-MINE-3>>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE IN-MAZE-AREA? ()
<COND (<OR <EQUAL? ,HERE ,TOLL-GATE ,END-OF-HIGHWAY ,HOLLOW>
<EQUAL? ,HERE ,OUTSIDE-GLASS-DOOR ,GLASS-MAZE ,STORE>
<EQUAL? ,HERE ,ENTRANCE-HALL ,STONE-HUT ,OUTSIDE-STORE>>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE IN-CRATER-AREA? ()
<COND (<OR <EQUAL? ,HERE ,HIGHWAY ,BEND ,EDGE-OF-CRATER>
<EQUAL? ,HERE ,CRATER ,WINDING-TUNNEL ,HALL-OF-CARVINGS>
<EQUAL? ,HERE ,EDGE-OF-CHASM ,BARE-PASSAGE ,SOOTY-ROOM>
<EQUAL? ,HERE ,ELBOW-ROOM ,TREE-ROOM ,PARK-ENTRANCE>
<EQUAL? ,HERE ,EAST-END-OF-MIDWAY ,FLUME ,HAUNTED-HOUSE>
<EQUAL? ,HERE ,WEST-END-OF-MIDWAY ,ROLLER-COASTER ,ARCADE>
<EQUAL? ,HERE ,CASINO>>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE IN-END-GAME? ()
<COND (<OR <EQUAL? ,HERE ,OCEAN-NORTH ,OCEAN-SOUTH ,BELBOZ-HIDEOUT>
<EQUAL? ,HERE ,MOUTH-OF-RIVER ,GRUE-LAIR ,MAMMOTH-CAVERN>
<EQUAL? ,HERE ,CHAMBER-OF-LIVING-DEATH ,COVE ,LAGOON-FLOOR>
<EQUAL? ,HERE ,HALL-OF-ETERNAL-PAIN ,LAGOON>>
<RTRUE>)
(T
<RFALSE>)>>
<OBJECT JOURNAL
(IN DESK-DRAWER)
(DESC "journal")
(LDESC
"The personal journal of Belboz the Necromancer is lying here.")
(SYNONYM DIARY NOTEBO ENTRIE JOURNA)
(ADJECTIVE PERSON NOTE LAST THREE)
(FLAGS TAKEBIT READBIT)
(SIZE 10)
(ACTION JOURNAL-F)>
<ROUTINE JOURNAL-F ()
<COND (<VERB? READ EXAMINE LOOK-INSIDE>
<COND (<FSET? ,JOURNAL ,OPENBIT>
<TELL
"You skim through the pages of the journal, a combination diary and notebook.
Most of the notations, written in Belboz's familiar flowing script, deal with
meetings of the Circle and business of the Guild.|
|
There is one interesting entry toward the end of the book. Belboz refers
to an ancient and evil force known simply as Jeearr, a demon whose powers
could endanger the Circle and possibly the entire kingdom. He has decided
to conduct some dangerous exploratory experiments, operating alone to
shield the Circle from the perils involved.|
|
The last three entries are strange and frightening -- written in a hand quite
different from that of Belboz, and in a language totally unfamiliar to you.|
|
On the inside cover is an inscription, written in a light script,
which reads \"Current code: " <GET ,CODE-TABLE ,CODE-NUMBER> "\"." CR>)
(T
<TELL "It's closed and sealed with a lock." CR>)>)
(<VERB? OPEN UNLOCK REZROV>
<COND (<FSET? ,JOURNAL ,OPENBIT>
<TELL "The journal is already open!" CR>)
(<VERB? REZROV>
<TELL
"The journal seems to bear a spell protecting it against
the simple rezrov spell." CR>)
(ELSE
<COND (<NOT ,PRSI>
<COND (<IN? ,KEY ,PROTAGONIST>
<SETG PRSI ,KEY>
<TELL "(with the key)" CR>)
(T
<SETG PRSI ,HANDS>)>)>
<COND (<EQUAL? ,PRSI ,KEY>
<FSET ,JOURNAL ,OPENBIT>
<TELL "The journal springs open." CR>)
(T
<TELL "You can't unlock it with">
<ARTICLE ,PRSI>
<TELL "." CR>)>)>)>>
<OBJECT WHEEL
(IN DESK-DRAWER)
(DESC "infotater")
(SYNONYM INFOTA WHEEL)
(ADJECTIVE LEATHE BOUND DATA)
(FLAGS READBIT TAKEBIT VOWELBIT)
(SIZE 10)
(ACTION WHEEL-F)>
<ROUTINE WHEEL-F ()
<COND (<VERB? EXAMINE>
<TELL
"Like most infotaters, this one has several windows and a rotating data
wheel. It is leather-bound and beautifully illustrated. ">
<INFOTATER-NOTE>)
(<VERB? READ>
<TELL
"The infotater has entries on a dozen native beasts. ">
<INFOTATER-NOTE>)
(<VERB? TURN SPIN>
<TELL "Refer to the infotater in your SORCERER package." CR>)
(<VERB? RESEARCH>
<TELL
"The infotater, which popular legends say was invented by Entharion the
Wise, is the best way to store data ever discovered." CR>)>>
<ROUTINE INFOTATER-NOTE ()
<TELL
"(NOTE: This is the infotater included in your game package.)" CR>>
<OBJECT WALL-HANGING
(IN BELBOZ-QUARTERS)
(DESC "wall hanging")
(SYNONYM HANGIN TAPEST)
(ADJECTIVE WALL BEAUTI WOVEN)
(FLAGS NDESCBIT TRYTAKEBIT)
(ACTION WALL-HANGING-F)>
<ROUTINE WALL-HANGING-F ()
<COND (<VERB? MOVE LOOK-BEHIND LOOK-UNDER RUB SHAKE RAISE>
<COND (<NOT <FSET? ,KEY ,TOUCHBIT>>
<MOVE ,KEY ,HERE>
<THIS-IS-IT ,KEY>
<FSET ,KEY ,TOUCHBIT>
<SETG SCORE <+ ,SCORE 15>>
<TELL
"As you move the tapestry, a key falls out from behind it
and lands on the floor." CR>)
(T
<TELL "Nope, no more keys." CR>)>)
(<VERB? TAKE UNTIE>
<TELL
"It looks too well fastened to remove from the wall." CR>)
(<VERB? EXAMINE>
<TELL
"It is a beautiful piece of local handiwork, given to Belboz by the
grateful townspeople after his (admittedly showy) pyrotechnical
destruction of the evil giant Amathradonis. The hanging is affixed to
the wall at its upper corners." CR>)>>
<OBJECT KEY
(IN DIAL)
(DESC "small key")
(SYNONYM KEY)
(ADJECTIVE TINY SMALL)
(FLAGS TAKEBIT TOOLBIT)
(SIZE 3)>
<OBJECT MORGIA-PLANT
(IN BELBOZ-QUARTERS)
(DESC "morgia plant")
(SYNONYM PLANT PLANTS)
(ADJECTIVE MORGIA EXOTIC)
(FLAGS NDESCBIT TRYTAKEBIT)
(ACTION MORGIA-PLANT-F)>
<ROUTINE MORGIA-PLANT-F ()
<COND (<VERB? MEEF>
<MOVE ,MORGIA-PLANT ,DIAL>
<TELL
"The morgia plant, particularly susceptible to the meef spell, shrivels
up and vanishes." CR>)
(<VERB? TAKE>
<TELL
"The plant is so heavy you succeed only in budging it a few inches." CR>)
(<VERB? EAT>
<TELL
"Morgias taste terrible; besides, Belboz wouldn't like someone munching
on his favorite plant." CR>)
(<VERB? RESEARCH>
<TELL
"A beautiful and exotic plant, the morgia is well-known for
its susceptibility to magic spells." CR>)>>
<ROOM FROBAR-QUARTERS
(IN ROOMS)
(SYNONYM BARBEL ORKAN)
(DESC "Frobar's Quarters")
(LDESC
"This is the room of Frobar the Enchanter. There isn't much here in the way
of furnishings, Frobar being a pretty dull kind of guy.")
(OUT TO HALLWAY-2)
(WEST TO HALLWAY-2)
(FLAGS RLANDBIT INSIDEBIT)>
<ROOM HELISTAR-QUARTERS
(IN ROOMS)
(SYNONYM THRIFF)
(DESC "Helistar's Quarters")
(LDESC
"Helistar is one of the foremost members of the Circle, and
this is her private chamber.")
(OUT TO HALLWAY-2)
(EAST TO HALLWAY-2)
(FLAGS INSIDEBIT RLANDBIT)>
<OBJECT GASPAR-SCROLL
(IN HELISTAR-QUARTERS)
(DESC "shiny scroll")
(FDESC
"Among Helistar's possessions is a scroll, new and shiny.")
(SYNONYM SCROLL)
(ADJECTIVE NEW SHINY)
(FLAGS TAKEBIT READBIT SCROLLBIT CONTBIT TRANSBIT)
(SIZE 3)
(ACTION SCROLL-F)>
<OBJECT GASPAR-SPELL
(IN GASPAR-SCROLL)
(SYNONYM SPELLS SPELL)
(ADJECTIVE GASPAR)
(DESC "gaspar spell")
(TEXT "provide for your own resurrection")
(COUNT 0)
(SIZE 1)
(FLAGS NDESCBIT SPELLBIT)
(ACTION SPELL-F)>
<GLOBAL RESURRECTION-ROOM <>>
<ROOM SERVANT-QUARTERS
(IN ROOMS)
(SYNONYM SORCER)
(DESC "Servants' Quarters")
(LDESC
"This is a sparsely furnished living area for the servants of the Guild.
None are in sight; presumably they are out doing their daily errands.
You can leave to the southwest.")
(OUT TO LOBBY)
(SW TO LOBBY)
(FLAGS INSIDEBIT RLANDBIT)>
<ROOM APPRENTICE-QUARTERS
(IN ROOMS)
(SYNONYM GORGE)
(ADJECTIVE RAZOR)
(DESC "Apprentice Quarters")
(LDESC
"This is a large hall where the Guild's young apprentices live and study
as they strive to achieve a seat on the Circle. You think back to the days
when you occupied these quarters. The apprentices are gone, having
accompanied Frobar into town to shop. You can leave to the southeast.")
(OUT TO LOBBY)
(SE TO LOBBY)
(FLAGS INSIDEBIT RLANDBIT)>
<OBJECT FROBAR-NOTE
(IN HALLWAY-1)
(DESC "scribbled note")
(FDESC
"Tacked to the doorframe of your room is a note, hurriedly scribbled on
parchment.")
(SYNONYM NOTE MESSAG)
(ADJECTIVE SCRIBB PARCHM)
(FLAGS READBIT TAKEBIT)
(SIZE 3)
(TEXT
"\"I have taken the apprentices into town to shop for the Guild picnic. I
tried rousing you, but you seemed deep asleep. By the way, have you seen
Belboz anywhere? It's not like him to leave without telling someone -- but
then, he's been acting pretty odd of late.|
|
-- Frobar\"")>
<ROOM HALLWAY-1
(IN ROOMS)
(DESC "Hallway")
(WEST TO BELBOZ-QUARTERS)
(EAST TO YOUR-QUARTERS)
(SOUTH TO HALLWAY-2)
(NORTH TO CHAMBER-OF-THE-CIRCLE IF CHAMBER-DOOR IS OPEN)
(FLAGS RLANDBIT ONBIT INSIDEBIT)
(GLOBAL CHAMBER-DOOR)
(ACTION HALLWAY-1-F)>
<ROUTINE HALLWAY-1-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<HALLWAY-DESC>
<TELL "A heavy wooden door, currently ">
<COND (<FSET? ,CHAMBER-DOOR ,OPENBIT>
<TELL "open">)
(T
<TELL "closed">)>
<TELL ", leads north." CR>)>>
<ROOM HALLWAY-2
(IN ROOMS)
(SYNONYM ZORK)
(DESC "Hallway")
(EAST TO FROBAR-QUARTERS)
(WEST TO HELISTAR-QUARTERS)
(NORTH TO HALLWAY-1)
(SOUTH TO LOBBY)
(FLAGS RLANDBIT ONBIT INSIDEBIT)
(GLOBAL ARCHWAY)
(ACTION HALLWAY-2-F)>
<ROUTINE HALLWAY-2-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<HALLWAY-DESC>
<TELL
"A large marble archway to the south leads into an open area." CR>)>>
<ROUTINE HALLWAY-DESC ()
<TELL
"Rooms lie to the east and west from this north-south corridor. ">>
<OBJECT CHAMBER-DOOR
(IN LOCAL-GLOBALS)
(DESC "heavy wooden door")
(SYNONYM DOOR DOORS)
(ADJECTIVE HEAVY WOODEN)
(FLAGS DOORBIT)>
<ROOM CHAMBER-OF-THE-CIRCLE
(IN ROOMS)
(DESC "Chamber of the Circle")
(SOUTH TO HALLWAY-1 IF CHAMBER-DOOR IS OPEN)
(FLAGS RLANDBIT INSIDEBIT)
(GLOBAL CHAMBER-DOOR)
(PSEUDO "TABLE" TABLE-PSEUDO)
(ACTION CHAMBER-OF-THE-CIRCLE-F)>
<ROUTINE CHAMBER-OF-THE-CIRCLE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The meeting place of the Circle of Enchanters is a large, round room with
a high domed ceiling. A table occupies the center of the room. Engraved on
the wall is a list of tenets, the Guild's code of honor. The only door, at
the southernmost point of the perimeter, is ">
<COND (<FSET? ,CHAMBER-DOOR ,OPENBIT>
<TELL "open">)
(T
<TELL "closed">)>
<TELL "." CR>)>>
<GLOBAL TABLE-WARNING <>>
<ROUTINE TABLE-PSEUDO ()
<COND (<VERB? PUT-ON CLIMB-ON>
<SETG TABLE-WARNING T>
<TELL
"A warning nymph appears, floating over the table. \"The servants just
finished waxing the table, and it's still wet.\" With a sly grin, the
nymph vanishes." CR>)
(<AND ,TABLE-WARNING
<VERB? PULVER>>
<TELL
"That would cause the wax to dry dull and yellowish!" CR>)>>
<OBJECT TENETS
(IN CHAMBER-OF-THE-CIRCLE)
(DESC "list of tenets")
(SYNONYM ENGRAV LIST TENETS TENET)
(ADJECTIVE ANCIEN FLOWER)
(FLAGS READBIT NDESCBIT)
(TEXT
"The first tenet states that Enchanters may never use their talents to aid
evil. The second points out that an Enchanter's duty is to the Guild and to
the Kingdom, not to the individual. Lesser tenets include rules for
conducting votes at meetings, guidelines for passing dishes at Guild
banquets, and penalties for revealing the Guild's secret handshake.")>
<ROOM LOBBY
(SYNONYM ORC ORCS YIPPLE NABIZ)
(IN ROOMS)
(DESC "Lobby")
(LDESC
"This is the entrance lobby of the Guild Hall. Befitting the status and
wealth of the Guild, the lobby is finished with polished Antharian marble,
inlaid with intricate patterns of silver leaf. To the north is a wide arch,
and smaller openings flank the area on the eastern and western sides, as
well as the northeastern and northwestern corners. A narrow stair leads
downward. Through another arch to the south, you can see the entrance steps
and the main road into town.")
(NORTH TO HALLWAY-2)
(EAST TO LIBRARY)
(WEST TO STORE-ROOM)
(DOWN TO CELLAR)
(NE TO SERVANT-QUARTERS)
(NW TO APPRENTICE-QUARTERS)
(SOUTH "A tiny warning nymph appears, floating in the air next to your
ear. \"There's no one else here,\" it reminds you, \"so you'd better not leave
just now. Bye!\" It winks at you before vanishing.")
(FLAGS RLANDBIT INSIDEBIT ONBIT)
(PSEUDO "MARBLE" MARBLE-PSEUDO)
(GLOBAL HOLE ROAD STAIRS ARCHWAY)>
<ROUTINE MARBLE-PSEUDO ()
<RFALSE>>
<OBJECT MAILBOX
(IN LOBBY)
(DESC "receptacle")
(LDESC
"Affixed to the southern arch is an ornate brass receptacle, intended
for use by messengers.")
(SYNONYM MAILBO RECEPT)
(ADJECTIVE ORNATE BRASS)
(FLAGS CONTBIT SEARCHBIT)
(CAPACITY 20)>
<ROUTINE I-MAILMAN ()
<MOVE ,MAGAZINE ,MAILBOX>
<FCLEAR ,MAILBOX ,OPENBIT>
<COND (<IN? ,MATCHBOOK ,MAILBOX>
<MOVE ,VILSTU-VIAL ,MAILBOX>
<MOVE ,MATCHBOOK ,DIAL>)>
<COND (<EQUAL? ,HERE ,LOBBY>
<SETG MAILMAN-FOLLOW T>
<ENABLE <QUEUE I-MAILMAN-FOLLOW 1>>
<TELL CR
"A member of the Messengers Guild walks up and puts something in the
receptacle. He closes it, and rings the doorbell. Noticing you, he gives
a friendly wave before departing." CR>)
(<IN-GUILD-HALL?>
<TELL CR "The Guild Hall doorbell chimes." CR>)>>
<GLOBAL MAILMAN-FOLLOW <>>
<ROUTINE I-MAILMAN-FOLLOW ()
<SETG MAILMAN-FOLLOW <>>
<RFALSE>>
<OBJECT MAGAZINE
(IN DIAL)
(DESC "issue of Popular Enchanting")
(SYNONYM MAGAZI ISSUE ENCHAN LABEL)
(ADJECTIVE POPULA)
(FLAGS READBIT TAKEBIT VOWELBIT)
(SIZE 7)
(ACTION MAGAZINE-F)>
<ROUTINE MAGAZINE-F ()
<COND (<VERB? OPEN LOOK-INSIDE READ>
<TELL
"This month's cover story is about Belboz! Other stories relate the
explosion of spell scroll manufacturers, and the coming shakedown in
the magic potion industry. The address label on the cover reads:||">
<FIXED-FONT-ON>
<TELL"
\"Z5 ACCAR256 4-964|
Hall of the Guild of Enchanters|
Village of Accardi-By-The-Sea|
Land of Frobozz\"" CR>
<FIXED-FONT-OFF>)>>
<OBJECT VILSTU-VIAL
(IN DIAL)
(DESC "orange vial")
(LDESC
"An orange vial, labelled in tiny letters, is lying here.")
(SYNONYM VIAL VIALS LABEL LETTER)
(ADJECTIVE VIVID ORANGE VILSTU TINY)
(FLAGS CONTBIT SEARCHBIT READBIT TAKEBIT VOWELBIT VIALBIT)
(SIZE 3)
(CAPACITY 1)
(ACTION VILSTU-VIAL-F)>
<ROUTINE VILSTU-VIAL-F ()
<COND (<VERB? READ>
<FIXED-FONT-ON>
<TELL
"|
\"VILSTU POTION|
(obviate need for breathing)\"" CR>
<FIXED-FONT-OFF>)>>
<OBJECT VILSTU-POTION
(IN VILSTU-VIAL)
(DESC "orange potion")
(SYNONYM POTION)
(ADJECTIVE ORANGE VILSTU)
(FLAGS NARTICLEBIT VOWELBIT)
(ACTION VILSTU-POTION-F)>
<ROUTINE VILSTU-POTION-F ()
<COND (<AND <VERB? EAT DRINK>
<NOT <IN? ,VILSTU-VIAL ,PROTAGONIST>>>
<POTION-POUR ,VILSTU-VIAL>)
(<VERB? RESEARCH>
<READ-ABOUT-POTIONS 3>)
(<VERB? EAT DRINK>
<MOVE ,VILSTU-POTION ,DIAL>
<COND (,UNDER-INFLUENCE
<TWO-POTIONS>
<RTRUE>)>
<SETG UNDER-INFLUENCE ,VILSTU-POTION>
<ENABLE <QUEUE I-BREATHE 19>>
<SETG VILSTUED T>
<COND (<EQUAL? ,HERE ,COAL-BIN-ROOM ,DIAL-ROOM>
<DISABLE <INT I-SUFFOCATE>>
<ENABLE <QUEUE I-OLDER-SELF 1>>)>
<TELL
"The orange potion tasted like pepper, and made your nose tingle." CR>)
(<VERB? DROP>
<PERFORM ,V?POUR ,PRSO ,PRSI>
<RTRUE>)
(<AND <VERB? POUR>
<EQUAL? ,PRSO ,VILSTU-POTION>>
<POTION-POUR ,VILSTU-VIAL>)>>
<GLOBAL VILSTUED <>>
<GLOBAL BREATH-SHORTAGE 0>
<ROUTINE I-BREATHE ()
<SETG BREATH-SHORTAGE <+ ,BREATH-SHORTAGE 1>>
<COND (<EQUAL? ,UNDER-INFLUENCE ,VILSTU-POTION>
<SETG UNDER-INFLUENCE <>>)>
<COND (<EQUAL? ,BREATH-SHORTAGE 1>
<ENABLE <QUEUE I-BREATHE 4>>
<TELL CR
"You feel the vilstu potion beginning to wear off">
<COND (<IN-COAL-MINE?>
<TELL ", and the air here seems pretty unbreathable">)>
<TELL "." CR>)
(<EQUAL? ,BREATH-SHORTAGE 2>
<ENABLE <QUEUE I-BREATHE 6>>
<TELL CR
"The vilstu potion has almost completely worn off now">
<COND (<IN-COAL-MINE?>
<TELL
", and I doubt you could survive here without it">)>
<TELL "." CR>)
(T
<SETG VILSTUED <>>
<COND (<EQUAL? ,HERE ,LAGOON-FLOOR>
<ENABLE <QUEUE I-DROWN -1>>)>
<TELL CR
"You feel the final effects of the vilstu potion vanish">
<COND (<IN-COAL-MINE?>
<JIGS-UP
". Unfortunately, coal gas is a poor substitute for oxygen.">)
(T
<SETG AWAKE 8>
<SETG LOAD-ALLOWED 20>
<SETG FUMBLE-NUMBER 1>
<ENABLE <QUEUE I-TIRED 8>>
<TELL
", leaving you totally exhausted (an unfortunate side effect)." CR>)>)>>
<ROOM LIBRARY
(IN ROOMS)
(DESC "Library")
(LDESC
"This is a study chamber for members of the Guild. Usually, there would
be several elder Enchanters patiently training novices, but no one is here
at the moment. The only exit is west.|
Lying open on a stand in one corner is a heavy volume, probably
a copy of the Encyclopedia Frobizzica.")
(WEST TO LOBBY)
(FLAGS RLANDBIT INSIDEBIT)
(PSEUDO "STAND" STAND-PSEUDO)>
<ROUTINE STAND-PSEUDO ()
<COND (<VERB? EXAMINE>
<TELL "A volume lies open on the stand." CR>)>>
<OBJECT ENCYCLOPEDIA
(IN LIBRARY)
(DESC "copy of Encyclopedia Frobizzica")
(SYNONYM ENCYCL COPY VOLUME FROBIZ)
(ADJECTIVE HEAVY ENCYCL)
(FLAGS READBIT TRYTAKEBIT NDESCBIT)
(TEXT
"It would take days to read the entire encyclopedia. A better idea
would be to read about specific persons or things.")
(ACTION ENCYCLOPEDIA-F)>
<ROUTINE ENCYCLOPEDIA-F ()
<COND (<VERB? EXAMINE>
<TELL "The volume lies open to ">
<COND (,VOLUME-USED
<TELL "a random entry." CR>)
(T
<TELL
"an entry about the Glass Maze of King Duncanthrax. ">
<PERFORM ,V?RESEARCH ,MAZE>
<CRLF>
<TELL
"You could probably read about all sorts of other interesting people,
places, and things by looking them up in the encyclopedia." CR>)>)
(<VERB? OPEN>
<TELL "It is." CR>)
(<VERB? CLOSE>
<TELL "Why bother?" CR>)
(<VERB? TAKE>
<TELL
"A library nymph appears, sitting on your wrist. \"Sorry, but the
encyclopedia is never to be removed from the stand.\" Kicking you gently
in the thumb, the nymph vanishes." CR>)
(<VERB? LOOK-INSIDE>
<PERFORM ,V?READ ,PRSO>
<RTRUE>)>>
<GLOBAL VOLUME-USED <>>
<OBJECT MEEF-SCROLL
(IN LIBRARY)
(DESC "dusty scroll")
(FDESC
"The servants have been lax lately, for a scroll is lying among the dust
in the corner.")
(SYNONYM SCROLL)
(ADJECTIVE DUSTY)
(SIZE 3)
(FLAGS TAKEBIT READBIT SCROLLBIT CONTBIT TRANSBIT)
(ACTION SCROLL-F)>
<OBJECT MEEF-SPELL
(IN MEEF-SCROLL)
(SYNONYM SPELLS SPELL)
(ADJECTIVE MEEF)
(DESC "meef spell")
(TEXT "cause plants to wilt")
(SIZE 1)
(COUNT 0)
(FLAGS NDESCBIT SPELLBIT)
(ACTION SPELL-F)>
<ROOM STORE-ROOM
(SYNONYM DRYAD DRYADS KOBOLD SURMIN)
(IN ROOMS)
(DESC "Store Room")
(LDESC
"This is a closet for storage. The only exit is east.")
(EAST TO LOBBY)
(OUT TO LOBBY)
(FLAGS RLANDBIT INSIDEBIT)>
<OBJECT BERZIO-VIAL
(IN STORE-ROOM)
(DESC "ochre vial")
(FDESC "Among the provisions here is a small ochre-colored vial,
closed and labelled with tiny lettering.")
(SYNONYM VIAL VIALS LABEL LETTER)
(ADJECTIVE BERZIO OCHRE SMALL TINY)
(SIZE 3)
(CAPACITY 1)
(FLAGS CONTBIT SEARCHBIT TAKEBIT VOWELBIT READBIT VIALBIT)
(ACTION BERZIO-VIAL-F)>
<ROUTINE BERZIO-VIAL-F ()
<COND (<VERB? READ>
<FIXED-FONT-ON>
<TELL
"|
\"BERZIO POTION|
(obviate need for food or drink)\"" CR>
<FIXED-FONT-OFF>)>>
<OBJECT BERZIO-POTION
(IN BERZIO-VIAL)
(DESC "ochre potion")
(SYNONYM POTION)
(ADJECTIVE OCHRE BERZIO)
(FLAGS NARTICLEBIT VOWELBIT)
(ACTION BERZIO-POTION-F)>
<GLOBAL BERZIOED <>>
<ROUTINE BERZIO-POTION-F ()
<COND (<AND <VERB? EAT DRINK>
<NOT <IN? ,BERZIO-VIAL ,PROTAGONIST>>>
<POTION-POUR ,BERZIO-VIAL>)
(<VERB? RESEARCH>
<READ-ABOUT-POTIONS 1>)
(<VERB? EAT DRINK>
<MOVE ,BERZIO-POTION ,DIAL>
<SETG BERZIOED T>
<ENABLE <QUEUE I-UNBERZIO 100>>
<SETG SCORE <+ ,SCORE 10>>
<TELL "The potion was completely tasteless.">
<COND (<OR <G? ,HUNGER-LEVEL 0>
<G? ,THIRST-LEVEL 0>>
<TELL
" You no longer feel hungry and thirsty, though.">)>
<SETG HUNGER-LEVEL 0>
<SETG THIRST-LEVEL 0>
<CRLF>)
(<VERB? DROP>
<PERFORM ,V?POUR ,PRSO ,PRSI>
<RTRUE>)
(<AND <VERB? POUR>
<EQUAL? ,PRSO ,BERZIO-POTION>>
<POTION-POUR ,BERZIO-VIAL>)>>
<ROUTINE I-UNBERZIO ()
<SETG BERZIOED <>>
<RFALSE>>
<OBJECT MATCHBOOK
(IN STORE-ROOM)
(DESC "depleted matchbook")
(SYNONYM MATCHE MATCHB COVER PRINTI)
(ADJECTIVE MATCH DEPLET INNER)
(FLAGS READBIT TAKEBIT)
(SIZE 3)
(ACTION MATCHBOOK-F)>
<ROUTINE MATCHBOOK-F ()
<COND (<VERB? CLOSE>
<TELL "Why bother?" CR>)
(<VERB? OPEN EXAMINE COUNT STRIKE>
<TELL
"The matches are all gone, but there is some printing on the
inner cover." CR>)
(<VERB? READ>
<FIXED-FONT-ON>
<TELL
"\"Amazing Vilstu Potion!||
Get by without breathing! Amaze your|
friends! Be the first person on the|
block to own some!||
Order today by dropping this in any|
mailbox. Our shipping department will|
use the latest in temporal travel|
techniques to insure that your potion|
arrives the same day you order it!|
(Orders received before noon will|
arrive the day before you order).\"" CR>
<FIXED-FONT-OFF>)>>
<OBJECT CALENDAR
(IN STORE-ROOM)
(DESC "calendar")
(SYNONYM CALEND LEGEND)
(SIZE 8)
(FLAGS READBIT TAKEBIT ONBIT)
(TEXT
"The calendar is for the current year, 957 GUE, and bears many stunning
pictures: the marble mines of Antharia, the sand dunes of the Kovalli
Desert, ancient Fort Griffspotter, and the giant infotater factories of
Borphee. A legend reads \"Best wishes for a leak-less year, from the
Accardi Plumbers Guild.\"")
(ACTION CALENDAR-F)>
<ROUTINE CALENDAR-F ()
<COND (<VERB? OPEN LOOK-INSIDE>
<PERFORM ,V?READ ,CALENDAR>
<RTRUE>)>>
<ROOM CELLAR
(SYNONYM ROTGRU BLOODW BROGMO)
(IN ROOMS)
(DESC "Cellar")
(LDESC
"You are in the basement of the Guild Hall. A steep, narrow stair
leads upward from the southwest corner.")
(UP TO LOBBY)
(OUT TO LOBBY)
(SW TO LOBBY)
(FLAGS INSIDEBIT RLANDBIT)
(PSEUDO "COBWEB" COBWEB-PSEUDO)
(GLOBAL STAIRS)>
<ROUTINE COBWEB-PSEUDO ()
<RFALSE>>
<GLOBAL CODE-NUMBER 0> ;"set when you wake up from opening dream"
<GLOBAL CODE-TABLE
<PTABLE
0
"bloodworm"
"brogmoid"
"dorn"
"dryad"
"grue"
"hellhound"
"kobold"
"nabiz"
"orc"
"rotgrub"
"surmin"
"yipple">>
<GLOBAL CURRENT-TLOC 0> ;"set when you wake up from opening dream"
<GLOBAL NEXT-NUMBER 0> ;"set when you wake up from opening dream"
<GLOBAL NEXT-CODE-TABLE
<PTABLE ;"1=black, 2=gray, 3=red, 4=purple, 5=white"
0 0 0 0 0 0
5 2 1 3 1 0 ;bloodworm
3 4 3 1 4 0 ;brogmoid
2 4 1 2 5 0 ;dorn
1 2 5 3 3 0 ;dryad
1 1 3 1 4 0 ;grue
4 5 2 3 2 0 ;hellhound
3 4 1 4 3 0 ;kobold
4 1 1 1 3 0 ;nabiz
3 2 4 2 3 0 ;orc
2 3 2 4 3 0 ;rotgrub
1 1 4 3 1 0 ;surmin
2 4 5 4 1 0 ;yipple>>
<OBJECT TRUNK
(IN CELLAR)
(DESC "sturdy trunk")
(LDESC
"At the far end of the cellar, draped in cobwebs, is a large trunk. At
each corner of its lid is a button: a black button with a picture of a
star, a gray button depicting the moon, a red button illustrated with
a bloody knife, and a purple button engraved with a royal crown. In the
center of the lid is a white button picturing a dove in flight.")
(SYNONYM TRUNK LID CHEST)
(ADJECTIVE LARGE STURDY)
(FLAGS CONTBIT SEARCHBIT TRYTAKEBIT)
(CAPACITY 60)
(ACTION TRUNK-F)>
<ROUTINE TRUNK-F ()
<COND (<AND <VERB? TAKE>
<EQUAL? ,PRSO ,TRUNK>>
<TELL "It's too heavy to even budge." CR>)
(<NOT <FSET? ,TRUNK ,OPENBIT>>
<COND (<VERB? OPEN>
<TELL "The lid won't budge." CR>)
(<VERB? UNLOCK>
<TELL "Perhaps the buttons..." CR>)
(<VERB? REZROV>
<TELL "The lid bulges outward for a moment." CR>)>)>>
<OBJECT BLACK-BUTTON
(IN CELLAR)
(DESC "black button")
(SYNONYM BUTTON STAR)
(ADJECTIVE BLACK)
(FLAGS NDESCBIT)
(ACTION BUTTON-F)>
<OBJECT GRAY-BUTTON
(IN CELLAR)
(DESC "gray button")
(SYNONYM BUTTON MOON)
(ADJECTIVE GRAY GREY)
(FLAGS NDESCBIT)
(ACTION BUTTON-F)>
<OBJECT RED-BUTTON
(IN CELLAR)
(DESC "red button")
(SYNONYM BUTTON KNIFE)
(ADJECTIVE BLOODY RED)
(FLAGS NDESCBIT)
(ACTION BUTTON-F)>
<OBJECT PURPLE-BUTTON
(IN CELLAR)
(DESC "purple button")
(SYNONYM BUTTON CROWN)
(ADJECTIVE PURPLE ROYAL)
(FLAGS NDESCBIT)
(ACTION BUTTON-F)>
<OBJECT WHITE-BUTTON
(IN CELLAR)
(DESC "white button")
(SYNONYM BUTTON DOVE)
(ADJECTIVE WHITE)
(FLAGS NDESCBIT)
(ACTION BUTTON-F)>
<GLOBAL TRUNK-SCREWED <>>
<ROUTINE BUTTON-F ()
<COND (<VERB? LOOK-UNDER>
<TELL <PICK-ONE ,YUKS> CR>)
(<VERB? PUSH>
<TELL "There is a click from the lid of the trunk">
<COND (<OR <AND <EQUAL? ,PRSO ,BLACK-BUTTON>
<EQUAL? ,NEXT-NUMBER 1>>
<AND <EQUAL? ,PRSO ,GRAY-BUTTON>
<EQUAL? ,NEXT-NUMBER 2>>
<AND <EQUAL? ,PRSO ,RED-BUTTON>
<EQUAL? ,NEXT-NUMBER 3>>
<AND <EQUAL? ,PRSO ,PURPLE-BUTTON>
<EQUAL? ,NEXT-NUMBER 4>>
<AND <EQUAL? ,PRSO ,WHITE-BUTTON>
<EQUAL? ,NEXT-NUMBER 5>>>
<SETG CURRENT-TLOC <+ ,CURRENT-TLOC 1>>
<SETG NEXT-NUMBER <GET ,NEXT-CODE-TABLE ,CURRENT-TLOC>>
<COND (<AND <EQUAL? ,NEXT-NUMBER 0>
<NOT ,TRUNK-SCREWED>>
<FSET ,TRUNK ,OPENBIT>
<SETG SCORE <+ ,SCORE 25>>
<TELL
". A moment later, the lid of the trunk swings slowly open, revealing ">
<PRINT-CONTENTS ,TRUNK>)>)
(T
<SETG TRUNK-SCREWED T>)>
<TELL "." CR>)>>
<OBJECT AIMFIZ-SCROLL
(IN TRUNK)
(DESC "moldy scroll")
(SYNONYM SCROLL)
(ADJECTIVE MOLDY)
(SIZE 3)
(FLAGS TAKEBIT TRANSBIT CONTBIT READBIT SCROLLBIT)
(ACTION SCROLL-F)>
<OBJECT AIMFIZ-SPELL
(IN AIMFIZ-SCROLL)
(SYNONYM SPELLS SPELL)
(ADJECTIVE AIMFIZ)
(DESC "aimfiz spell")
(TEXT "transport caster to someone else's location")
(SIZE 1)
(COUNT 0)
(FLAGS NDESCBIT SPELLBIT VOWELBIT)
(ACTION SPELL-F)>