zorkzero/prologue.zabstr
historicalsource 8b3579aab4 Release 296
2019-04-16 09:52:54 -04:00

158 lines
7.3 KiB
Plaintext

<GLOBAL DEMO-VERSION? <>>
<BEGIN-SEGMENT STARTUP>
<DEFINE-ROUTINE SETUP-SCREEN>
<DEFINE-ROUTINE GO>
<DEFINE-ROUTINE CLEAR-CRCNT>
<CONSTANT SLIDE-SHOW-TIMEOUT 150>
<CONSTANT DEMO-TIMEOUT 600>
<DEFINE-ROUTINE SLIDE-SHOW-HANDLER>
<DEFINE-ROUTINE SLIDE-SHOW>
<DEFINE-ROUTINE READ-DEMO>
<DEFINE-ROUTINE INPUT-DEMO>
<DEFINE-ROUTINE END-DEMO>
<OBJECT RECIPE (DESC "recipe card") (SYNONYM RECIPE CARD) (ADJECTIVE RECIPE) (
FLAGS TAKEBIT READBIT) (SIZE 1) (TEXT BORPHBELLY-TEXT)>
<END-SEGMENT>
<BEGIN-SEGMENT CASTLE>
<OBJECT BANQUET-FOOD (LOC GLOBAL-OBJECTS) (DESC "banquet meal") (SYNONYM FOOD
WINE) (ACTION BANQUET-FOOD-F)>
<DEFINE-ROUTINE BANQUET-FOOD-F>
<ROOM BANQUET-HALL (LOC ROOMS) (DESC "Banquet Hall") (REGION "Flatheadia") (
WEST TO ENTRANCE-HALL) (SOUTH TO COURTYARD) (EAST TO KITCHEN) (NE TO SCULLERY)
(FLAGS RLANDBIT ONBIT) (SYNONYM HALL) (ADJECTIVE BANQUET) (MAP-LOC <PTABLE
MAIN-MAP-NUM MAP-GEN-Y-3 MAP-GEN-X-6>) (ICON BANQUET-HALL-ICON) (GLOBAL KITCHEN
SCULLERY) (ACTION BANQUET-HALL-F) (THINGS <> SMOKE SMOKE-PS <> VAPOR SMOKE-PS)>
<DEFINE-ROUTINE SMOKE-PS>
<DEFINE-ROUTINE BANQUET-HALL-F>
<ROOM KITCHEN (LOC ROOMS) (DESC "Kitchen") (REGION "Flatheadia") (WEST TO
BANQUET-HALL) (NORTH TO SCULLERY) (DOWN TO ROOT-CELLAR) (FLAGS RLANDBIT ONBIT)
(SYNONYM KITCHEN) (GLOBAL STAIRS BANQUET-HALL SCULLERY) (MAP-LOC <PTABLE
MAIN-MAP-NUM MAP-GEN-Y-3 MAP-GEN-X-7>) (ICON KITCHEN-ICON) (ACTION KITCHEN-F)>
<DEFINE-ROUTINE KITCHEN-F>
<ROOM SCULLERY (LOC ROOMS) (DESC "Scullery") (REGION "Flatheadia") (SOUTH TO
KITCHEN) (SW TO BANQUET-HALL) (DOWN TO WINE-CELLAR) (FLAGS RLANDBIT ONBIT) (
SYNONYM SCULLERY) (GLOBAL STAIRS KITCHEN BANQUET-HALL) (MAP-LOC <PTABLE
MAIN-MAP-NUM MAP-GEN-Y-2 MAP-GEN-X-7>) (ACTION SCULLERY-F)>
<DEFINE-ROUTINE SCULLERY-F>
<BEGIN-SEGMENT 0>
<OBJECT STRAW (DESC "drinking straw") (SYNONYM STRAW) (ADJECTIVE DRINKING) (
FLAGS TAKEBIT) (SIZE 1) (ACTION STRAW-F)>
<DEFINE-ROUTINE STRAW-F>
<END-SEGMENT>
<BEGIN-SEGMENT LAKE>
<DEFINE-ROUTINE TOUCH-ELIXIR>
<END-SEGMENT>
<BEGIN-SEGMENT 0>
<GLOBAL FINGER-ON-STRAW <>>
<GLOBAL ELIXIR-TRAPPED <>>
<DEFINE-ROUTINE I-FINGER-OFF-STRAW>
<END-SEGMENT>
<BEGIN-SEGMENT CASTLE>
<ROOM ROOT-CELLAR (LOC ROOMS) (DESC "Root Cellar") (REGION "Flatheadia") (LDESC
"This is where food is stored. A stair leads up, and another part of
the cellar lies to the north.") (UP TO KITCHEN) (NORTH TO WINE-CELLAR) (FLAGS
RLANDBIT ONBIT) (SYNONYM CELLAR) (ADJECTIVE ROOT) (GLOBAL STAIRS) (MAP-LOC <
PTABLE MAIN-MAP-NUM MAP-GEN-Y-3 MAP-GEN-X-8>)>
<BEGIN-SEGMENT 0>
<OBJECT UNOPENED-NUT (DESC "unopened walnut") (FDESC
"The cellar has been picked clean by the fleeing thousands -- but wait, what's
this in the corner? Ah, an unopened walnut!") (SYNONYM SHELL NUTSHELL WALNUT
NUT) (ADJECTIVE WALNUT UNOPENED) (FLAGS VOWELBIT TAKEBIT CONTBIT SEARCHBIT) (
SIZE 2) (ACTION UNOPENED-NUT-F)>
<DEFINE-ROUTINE UNOPENED-NUT-F>
<OBJECT NUT-SHELL (DESC "walnut shell") (SYNONYM SHELL NUTSHELL) (ADJECTIVE
WALNUT) (FLAGS TAKEBIT SEARCHBIT CONTBIT OPENBIT) (SIZE 1) (ACTION NUT-SHELL-F)
>
<DEFINE-ROUTINE NUT-SHELL-F>
<OBJECT NUT (LOC UNOPENED-NUT) (DESC "walnut") (SYNONYM WALNUT NUT) (FLAGS
TAKEBIT) (SIZE 1) (ACTION NUT-F)>
<DEFINE-ROUTINE NUT-F>
<END-SEGMENT>
<BEGIN-SEGMENT CASTLE>
<ROOM WINE-CELLAR (LOC ROOMS) (DESC "Wine Cellar") (REGION "Flatheadia") (LDESC
"Every keg has been removed, and the floor is mottled with purple stains.
Stone stairs lead upward, and the cellar continues to the south.") (SOUTH TO
ROOT-CELLAR) (UP TO SCULLERY) (FLAGS RLANDBIT ONBIT) (SYNONYM CELLAR) (
ADJECTIVE WINE) (GLOBAL STAIRS) (MAP-LOC <PTABLE MAIN-MAP-NUM MAP-GEN-Y-2
MAP-GEN-X-8>) (ICON WINE-CELLAR-ICON)>
<BEGIN-SEGMENT STARTUP>
<GLOBAL PROLOGUE-COUNTER 0>
<GLOBAL PROLOGUE-NOVICE-COUNTER 1>
<CONSTANT NOVICE-MOVES <PTABLE "wait" "go northeast" "walk south" "go west"
"walk east" "enter the banquet hall" "examine the gaunt man"
"dive under the table" "get out from under the table"
"pick up the scrap of parchment" "north" "southeast">>
<DEFINE-ROUTINE I-PROLOGUE>
<DEFINE-ROUTINE I-TAKE-OBJECT>
<DEFINE-ROUTINE I-GIVE-OBJECT>
<OBJECT HELLHOUND-BONES (OWNER HELLHOUND-BONES) (DESC
"platter of hellhound bones") (SYNONYM BONES PLATTER) (ADJECTIVE HELLHOUND) (
FLAGS TAKEBIT) (ACTION SERVANT-ITEM-F)>
<OBJECT ROC-TERIYAKI (OWNER ROC-TERIYAKI) (DESC "tray of roc teriyaki") (
SYNONYM TERIYAKI TRAY APPETIZER) (ADJECTIVE ROC) (FLAGS TAKEBIT) (ACTION
SERVANT-ITEM-F)>
<OBJECT CAKE (DESC "cake") (SYNONYM CAKE) (FLAGS TAKEBIT) (ACTION
SERVANT-ITEM-F)>
<OBJECT KEG (DESC "wine keg") (SYNONYM KEG WINE) (ADJECTIVE WINE) (FLAGS
TAKEBIT) (ACTION SERVANT-ITEM-F)>
<OBJECT LINEN (DESC "pile of napkins") (OWNER LINEN) (SYNONYM PILE NAPKINS
LINEN) (ADJECTIVE MONOGRAMMED) (FLAGS TAKEBIT READBIT) (TEXT
"The napkin is embroidered with a large, flowery \"F.\"") (ACTION
SERVANT-ITEM-F)>
<DEFINE-ROUTINE SERVANT-ITEM-F>
<END-SEGMENT>
<BEGIN-SEGMENT 0>
<OBJECT PARCHMENT (OWNER PARCHMENT) (DESC "scrap of parchment") (PLURAL
"parchments") (SYNONYM PAPER SCRAP PIECE PARCHMENT) (ADJECTIVE PARCHMENT) (
FLAGS NDESCBIT READBIT TAKEBIT BURNBIT) (SIZE 1) (ACTION PARCHMENT-F)>
<DEFINE-ROUTINE PARCHMENT-F>
<OBJECT DIMWIT (LOC BANQUET-HALL) (DESC "Lord Dimwit Flathead the Excessive") (
LDESC "Dimwit is seated at the dais, surrounded by his most trusted advisors.")
(SYNONYM FLATHEAD DIMWIT) (ADJECTIVE LORD DIMWIT EXCESSIVE) (FLAGS NARTICLEBIT
NDESCBIT ACTORBIT CONTBIT OPENBIT SEARCHBIT) (GENERIC G-DIMWIT-F) (ACTION
DIMWIT-F)>
<DEFINE-ROUTINE DIMWIT-F>
<DEFINE-ROUTINE G-DIMWIT-F>
<END-SEGMENT>
<BEGIN-SEGMENT STARTUP>
<OBJECT TABLES (LOC BANQUET-HALL) (DESC "table") (SYNONYM TABLE TABLES) (FLAGS
NDESCBIT SURFACEBIT CONTBIT OPENBIT) (CAPACITY 100) (ACTION TABLES-F)>
<GLOBAL UNDER-TABLE <>>
<DEFINE-ROUTINE TABLES-F>
<END-SEGMENT>
<BEGIN-SEGMENT CASTLE>
<OBJECT CAULDRON (DESC "cauldron") (SYNONYM CAULDRON KETTLE) (ADJECTIVE
BUBBLING ROILING FUMING) (FLAGS CONTBIT OPENBIT) (ACTION CAULDRON-F)>
<DEFINE-ROUTINE CAULDRON-F>
<DEFINE-ROUTINE PUT-ITEM-IN-CAULDRON>
<GLOBAL CAULDRON-MUNGED <>>
<GLOBAL TIME-STOPPED <>>
<GLOBAL NUMBER-OF-ITEMS 0>
<CONSTANT CAULDRON-DESCS <PTABLE "barely bubbling" "bubbling quietly"
"bubbling actively" "bubbling very actively" "bubbling and churning"
"bubbling, churning, and smoking heavily"
"churning actively and emitting large puffs of smoke"
"violently churning and emitting huge puffs of dark smoke"
"churning very violently and giving off clouds of black smoke"
"churning and roiling beneath a whirlpool of thick black smoke"
"boiling violently beneath a gathering storm of noisome smoke"
"boiling with amazing energy, sending steaming geysers shooting
up into the roiling black clouds which swirl around it"
"almost lost amongst the clouds of dark power and energy which
surround the kettle, glowing and expanding from explosions deep within">>
<DEFINE-ROUTINE I-CAULDRON>
<END-SEGMENT>
<BEGIN-SEGMENT STARTUP>
<OBJECT MEGABOZ (DESC "angry wizard") (DESCFCN MEGABOZ-F) (SYNONYM WIZARD
MEGABOZ MAN) (ADJECTIVE GAUNT OLD ANGRY) (FLAGS VOWELBIT ACTORBIT CONTBIT
OPENBIT SEARCHBIT) (ACTION MEGABOZ-F)>
<DEFINE-ROUTINE MEGABOZ-F>
<BEGIN-SEGMENT CASTLE>
<CONSTANT MEGABOZ-TEXT
"Megaboz was a mysterious wizard who lived a hermit's life in the Fublio
Valley. Some say he cast a Curse which will someday destroy the Empire, but
royal spokesmen have denied all such rumors. Megaboz vanished in 789 GUE;
it is said that the effort of casting the Curse destroyed him.">
<END-SEGMENT>