DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T l

⟦917698471⟧ TextFile

    Length: 18212 (0x4724)
    Types: TextFile
    Names: »locales.adl«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/General/Adl/samples/mpu/locales.adl« 

TextFile

Sayer =
    (IF ($not %2) THEN
	($say %1 "\n")
    )
    ($return %1)
;

.ALL(LDESC) =
    ($say "You shouldn't be here at all.  This is THE COSMIC ALL.\n")
;
.ALL(SDESC) =
    ($return (Sayer "THE COSMIC ALL" %0))
;

rdsc = ($return (Sayer "Road" %0));
rldsc = ($say "You are on the road.\n");

road1(SDESC) = rdsc;
road1(LDESC) =
    ($say
"You're on a dirt road going east-west.  Tall stalks of
corn grow on either side of the road.\n"
    )
;

road2(SDESC) = rdsc;		road2(LDESC) = rldsc;

road3(SDESC) =
    ($return (Sayer "Bridge" %0))
;
road3(LDESC) =
    (IF ($prop dragon KILLED) THEN
	($say "You are on a bridge over a swift river.  ")
     ELSE
	($say "You are on a bridge over a dry river bed.  ")
    )
    ($say "The river goes north-south, and the road continues east-west.\n")
;

road4(SDESC) = rdsc;		road4(LDESC) = rldsc;
road5(SDESC) = rdsc;		road5(LDESC) = rldsc;

road6(LDESC) =
    ($say
"A road from the west forks north and south here.  To the east is a
dense-looking forest; cornfields are seen on the west.\n"
    )
;
road6(SDESC) = ($return (Sayer "Fork in road" %0));

road7(SDESC) = rdsc;
road7(LDESC)=
    ($say
"The road stretches a long way east-west.  A short fence divides the
road from the cornfields beyond.  Please don't tresspass.\n"
    )
;


gdsc =
    ($say "You are somewhere in a cornfield.  The cornstalks are ")
    (IF ($prop dragon KILLED) THEN
	($say "green and healthy.\n")
     ELSE
	($say "brown and dry-looking.\n")
    )
;

gsdsc = ($return (Sayer "Cornfield" %0));
fsdsc = ($return (Sayer "Forest" %0));

gard1(SDESC) = gsdsc;            gard1(LDESC) = gdsc;
gard2(SDESC) = gsdsc;            gard2(LDESC) = gdsc;

frst1(SDESC) = fsdsc;            frst1(LDESC) = fdsc;

farm1(SDESC) = ($return (Sayer "Farm Entrance" %0));
farm1 (LDESC) =
    ($say
"You are at the entrance on the south side of a rundown
farmhouse.  Someone has painted 'DIE, HEATHENS' on the
front door, which barely stays on its hinges.  Marks of
smoke and flame are visible.  A road runs to the south,
and you may walk around the farmhouse by going east or west.\n"
    )
;

farm2(LDESC) =
    ($say
"You are in the entry hall of a long-deserted old farmhouse.
The floor is covered with the dust of years of disuse.  The
front door to the south is open, and there is another room
to the north.  A stairway on the east side of the room goes up.\n"
    )
;
farm2(SDESC) =
    ($return (Sayer "Entry hall" %0))
;


farm3(LDESC) =
    ($say
"You are on the east side of the farmhouse.  To the east, a forest
stretches away into the distance.  The entrance to the farmhouse
is to the south.\n"
    )
;
farm3(SDESC) =
    ($return (Sayer "East of Farmhouse" %0))
;

farm4(LDESC) =
    ($say
"You are on the west side of the farmhouse.  The cornfields
stretch away forever to the west.  The entrance to the house
is to the south.\n"
    )
;
farm4(SDESC) =
    ($return (Sayer "West of Farmhouse" %0))
;

farm5(LDESC) =
    ($say
"You are on the north side of the farmhouse.  A high fence
separates you from the cornfields to the north and west. "
    )
    ($move insignia farm5)
;
farm5(SDESC) =
    ($move insignia farm5)
    ($return (Sayer "North of Farmhouse" %0))
;


farm6(LDESC) =
    ($say
"You are in an old, empty farmhouse kitchen.  All the
cupboards and cabinets are bare (unless you can eat the
thick layer of dust which covers everything).\n"
    )
;
farm6(SDESC) =
    ($return (Sayer "Kitchen" %0))
;

farm7(LDESC) =
    ($say
"You are in the upstairs bedroom of the farmhouse.  All the
windows are boarded up, and nobody has slept here for years.
To the east is an exit leading to the entry hall below.  "
    )
    (IF ($prop bed OPENED) THEN
	($say
"In the middle of the room is an old, rickety bed.  The west wall "
	)
	(IF ($prop panel OPENED) THEN
	    ($say "has a panel missing, revealing a secret stairway down.\n")
	 ELSE
	    ($say "seems to have a loose panel.\n")
	)
     ELSE
	($say
"Against the west wall is an old, rickety bed (which may be
why nobody has slept here for years).\n"
	)
    )
;
farm7(SDESC) = ($return (Sayer "Bedroom" %0));

PanL =                  { Try to go through panel }
    (IF ($prop panel OPENED) THEN
	($move .ME cel01)
	($say "You descend into the gloom...\n")
     ELSEIF ($eq ($loc .ME) farm7) THEN
	(cg)
	($exit 1)
    )
;


town1(SDESC) =
    ($return (Sayer "Town" %0))
;
town1(LDESC) = 
    ($say
"You are at the northern end of a one-horse town.  Although the buildings
are in good shape, all seem deserted.  You can't even find one horse.
To the east is an old smithy.  On the west side of the street is an
abandoned hotel.  The street runs north and south.\n"
    )
;

town2(SDESC) =
    ($return (Sayer "Business District" %0))
;
town2(LDESC) =
    ($say
"You are at the southern end of a one-horse town.  This is the
business district.  On the east side of the street is an old
building with a tastefully lettered sign, 'Arpa-Citizen's Savings'.
To the west is the legendary 'Packet Inn'.  The street runs north-south.\n"
    )
;

town3(SDESC) =
    ($return (Sayer "Blacksmith's Shop" %0))
;
town3(LDESC) =
    ($say
"You're in what is left of a once-thriving blacksmith's shop.
Long ago abandoned, nothing much of interest remains.\n"
    )
;

town4(SDESC) =
    ($return (Sayer "Flophouse" %0))
;
town4(LDESC) =
    ($say
"You're in the Flophouse hotel.  Never worth the visit even in
its heyday, a quick search reveals nothing but a lot of dusty rooms.\n"
    )
;

town5(SDESC) =
    ($return (Sayer "Bank" %0))
;
town5(LDESC) =
    ($say
"You are in the ancient and venerable institution of Arpa-Citizen's
Savings (there's a branch in your town).  The lobby is tastefully
decorated in marble.  The only feature is a strange sweet-smelling
well in the center of the room.  A mysterious plaque on the side "
"reads:\n
	'Drop your bits here!'\n"
    )
;
TWN5y =         
    ($setp .ME HAS ($minus ($prop .ME HAS) ($prop @Dobj WEIGH)))
    ($move @Dobj ($loc .ME))
    ($say "A strange glowing network of lights appears, and you can read:\n")
    (IF ($prop ($dobj) POINT) THEN
	($setg SCORE ($plus @SCORE ($prop ($dobj) POINT)))
	($move ($dobj) .ALL)
	($say
"	Your account is now at $" ($str @SCORE) ".\n
	Thank you for letting Arpa-Citizen's be your host.\n"
	)
     ELSE
	($say "	Your deposit is worthless")
	(IF ($pct 25) THEN
	    ($say ", but thanks for the trinket!\n")
	    ($move ($dobj) .ALL)
	 ELSE
	    ($say "!  Keep it!\n")
	)
    )
    ($say "The Arpa network mercifully disappears.\n")
;

town6(SDESC)  =
    ($return (Sayer "Packet Inn" %0))
;
town6(LDESC)  =
    ($say
"You are at that famous old saloon, the Packet Inn.  Thousands
of the local adventurers drank 'till they were totally zorked in
this colorful old haunt.  A little wandering convinces you that
nothing much is to be seen.\n"
    )
;

{*** DUNGEON PROPER ***}
cel01(LDESC) =
    ($say
"You are in a secret cellar below the farmhouse.  In the
corner of one wall is a strange insignia composed of red
and green squares, joined at the corners.  Passages
lead to north and west.  An old stairway leads up and out.\n"
    )
    ($move insignia cel01)
;
cel01(SDESC) =
    ($move insignia cel01)
    ($return (Sayer "Secret Cellar" %0))
;

cel02(LDESC) =
    ($say
"You are in a cool cave, once used for the storage of rare
wines.  A cool breeze from the caves to the north keeps this cave
at an even temperature the year round.  Exits can be seen
to the north, south, and east.\n"
    )
;
cel02(SDESC) = ($return (Sayer "Cool Cave" %0))
;

{ cel03 was moved to after cel08 }


cel04(LDESC) =
    ($say
"This is a small temple to Elbereth, Queen of the Stars.  The walls
glow with a warm iridescence of their own.  They are covered
with murals depicting the kindling of the stars at the Beginning of
Days.  In the corner someone has added an insignia consisting of red
and white squares joined at the corners.  Passages lead east and west,
and a stairway to the north leads down into darkness.\n"
    )
    ($move insignia cel04)
;
cel04(SDESC) =
    ($move insignia cel04)
    ($return (Sayer "Temple" %0))
;
cel04(LIGHT)=TRUE;


cel05(LDESC) =
    (IF ($prop dragon KILLED) THEN
	($say
"You are in a very wet cave.  Puddles of extremely cold water
are everywhere."
	)
     ELSE
	($say
"You are in an icy cave.  All the walls are covered with thick
layers of ice."
	)
	($move ice cel05)
    )
    ($say
"  The cave continues north and south, and there is a side tunnel leading
to the northeast.\n"
    )
;
cel05(SDESC) =
    (IF ($prop dragon KILLED) THEN
	($return (Sayer "Wet Cave" %0))
     ELSE
	($move ice cel05)
	($return (Sayer "Ice Cave" %0))
    )
;

cel06(LDESC) =
    ($say "You have reached a large cavern")
    (IF ($not ($prop dragon KILLED)) THEN
	($say
" of ice.  You cannot see
the roof, but you are sure it is covered with icicles.\n"
	)
	($move ice cel06)
     ELSE
	($say
".  You cannot see the roof,
and it looks like something has melted, covering the floor with puddles.\n"
	)
    )
    ($say "There are exits east and southwest.\n")
;
cel06(SDESC) =
    (IF ($not ($prop dragon KILLED)) THEN
	($move ice cel06)
    )
    ($return (Sayer "Great Cavern" %0))
;


cel07(LDESC) =
    ($say "You are in a tiny side room where the ice dragon ")
    (IF ($prop dragon KILLED) THEN
	($say "kept")
     ELSE
	($say "keeps")
    )
    ($say
" his single prize treasure.  You may leave through a western doorway.\n"
    )
;
cel07(SDESC) =
    ($return (Sayer "Treasure Room" %0))
;

cel08(LDESC) =
    ($say
"You are in an old abandoned room, once the resident of a frustrated
artist.  A huge mural depicting "
    )
    (IF ($prop dragon KILLED) THEN
	($say "a gentle green field ")
     ELSE
	($say "a barren wasteland ")
    )
    ($say
"covers the west wall.  A dim glow comes from the corridor to the east.
Vandals have apparently been here too, for on the painting is drawn a
strange insignia consisting of red and blue squares, joined at the corners.\n"
    )
    ($move insignia cel08)
;
cel08(SDESC) =
    ($move insignia cel08)
    ($return (Sayer "Artist's Retreat" %0))
;

cel03(LDESC) =
    (IF ($prop dragon KILLED) THEN
	($say
"You are standing on the south bank of a turbulent underground
river.  The only way to go is back south.\n"
	)
     ELSE
	($say
"You are standing on a frozen underground river.  The
source of the river seems to have been to the west, and
you can walk that way on the ice.  However, to the
northeast, the river forms a frozen waterfall you can
slide down.\n"
	)
	($move ice cel03)
    )
;
cel03(SDESC) =
    (IF ($prop dragon KILLED) THEN
	($return (Sayer "Bank of Underground River" %0))
     ELSE
	($move ice cel03)
	($return (Sayer "Top of Frozen Fall" %0))
    )
;

cel09(LDESC) =
    ($say
"You are at the southern end of a dry river gorge.  The source
of the river was once a waterfall to the south, but for some reason
it seems frozen solid.  The riverbed continues north.  There is
a large crack in the waterfall to the south.\n"
    )
    ($move ice cel09)
;
cel09(SDESC) =
    ($move ice cel09)
    ($return (Sayer "Southern Gorge" %0))
;

cel10(LDESC) =
    ($say
"You are in a dark cave.  The low-hanging stalactites and tall
stalagmites cast eerily human-like shadows on the craggy walls.
A roughly-hewn stairway to the south is lit by a dim illumination
from above, while a slimy pit in the middle of the room leads
down into even inkier blackness."
    )
    (IF ($prop dragon KILLED) THEN
	($say "  The pit is full of very cold water.")
    )
    ($say "\n")
;
cel10(SDESC) =
    ($return (Sayer "Shadowy Cave" %0))
;

cel11(LDESC) =
    (IF	($and	(See [clear crystal] ($cont ($loc .ME)))
		($prop [clear crystal] LIGHT)
	)
     THEN
	($say
"You are in an impossibly dark cave.  Only the light from your
magic crystal makes it possible to see, even dimly, here.  You
can make out a tunnel leading leading west, and another leading
east.  No other exits are visible.  A large pit lies in the middle
of the cave.\n"
	)
     ELSE
	($say "It's mighty dark in here!")
	(IF (See globe ($cont ($loc .ME))) THEN
	    (IF ($prop globe LIGHT) THEN
		($say "  Even your glowing globe is barely visible!")
	    )
	)
	($say "\n")
	($setg Dark TRUE)
    )
;

cel11(SDESC) =
    (IF	($not ($and	(See [clear crystal] ($cont ($loc .ME)) )
			($prop [clear crystal] LIGHT)
	))
     THEN
	($setg Dark TRUE)
    )
    ($return (Sayer "DARK Cave" %0))
;

cel12(LDESC) =
    ($say
"You are in a small chamber which is not quite as dark as the DARK
cave to the west.  There are no other exits.\n"
    )
;
cel12(SDESC) =
    ($return (Sayer "Small Chamber" %0))
;

VAR
  BSaid;

cel13(LDESC) =
    ($say
"You are on a large underground lake of ice, thick enough
to walk on.  To the west you can dimly make out a cavern
entrance; to the east is an icy river you can walk on.  "
    )
    (IF ($prop cel13 HOLED) THEN
	($say
"In the middle of the lake is a hole; icy water sloshes about
two feet below the ice."
	)
    )
    ($say "\n")
    ($setg BSaid FALSE)
    ($move ice cel13)
;
cel13(SDESC) =
    ($setg BSaid FALSE)
    ($move ice cel13)
    ($return (Sayer "Icy Lake" %0))
;

BDesc =
    (IF ($prop wetsuit WORN) THEN
	($say "Luckily, your wetsuit enables you to breathe down here.\n")
     ELSEIF ($not @BSaid) THEN
	($say "You can't hold your breath for long...\n")
	($setg BSaid TRUE)
    )
;

cel14(LDESC) =
    ($say
"You are under the ice of a frozen lake.  You can barely make out exits
to the east and west.  "
    )
    (IF ($prop cel13 HOLED) THEN
	($say "There is a hole in the ice above you.\n")
     ELSE
	($say "A diffuse light comes through the ice above.\n")
    )
    (BDesc)
    ($move ice cel14)
;
cel14(SDESC) =
    ($move ice cel14)
    ($return (Sayer "Underwater" %0))
;

cel15(LDESC) =
    ($say
"You are on a sandy beach in a small ice cave.  A small pool of water
comes up to the beach from the east, and a quick survey of the place
shows that it is completely covered by the stony roof.  You can walk up
to the back of the cave to the south, but the pool seems to be the only
other exit.\n"
    )
    ($setg BSaid FALSE)
;
cel15(SDESC) =
    ($setg BSaid FALSE)
    ($return (Sayer "Sandy Beach" %0))
;

cel16(LDESC) =
    ($say 
"You are at the back of a small ice cave.  A sandy shore slopes down
to a blue pool of water to the north.  To the east is a small crawlway
leading into inky blackness.\n"
    )
;
cel16(SDESC) =
    ($return (Sayer "Back of Cave" %0))
;

cel17(LDESC) =
    ($say
"You are in a stream under a ceiling of ice.  The stream
leads northeast, and to the west you can see more light.\n"
    )
    (BDesc)
    ($move ice cel17)
;
cel17(SDESC) =
    ($move ice cel17)
    ($return (Sayer "In Stream" %0))
;

cel18(LDESC) =
    ($say
"You are in a hollow spot behind a frozen waterfall to the north.
Above you, a ceiling of ice gradually lowers to meet a dark
body of water to the southwest.  There is a large crack in the
waterfall.\n"
    )
    ($move ice cel18)
    ($setg BSaid FALSE)
;
cel18(SDESC) =
    ($setg BSaid FALSE)
    ($move ice cel18)
    ($return (Sayer "Hollow Spot" %0))
;

cel19(LDESC) =
    ($say
"You are at the source of a frozen stream which flows out of the
rock to the west.  The stream continues to the east.\n"
    )
    ($move ice cel19)
;
cel19(SDESC) =
    ($move ice cel19)
    ($return (Sayer "Source of Frozen Stream" %0))
;

cel20(LDESC) =
    ($say
"You are in what was once a study.  The furniture has
been smashed to splinters, and none of the papers or
books remain intact.  The only exit is to the west.\n"
    )
;
cel20(SDESC) =
    ($return (Sayer "Study" %0))
;

cel21(LDESC) =
    (IF ($eq @RiverLoc GRATELOC) THEN
	($say
"You have reached a point where a bridge crosses the dry river bed.
The river bed is blocked by a large iron grate to the south.\n"
	)
     ELSEIF ($eq @RiverLoc BEND1LOC) THEN
	($say
"You are at a sharp bend where the dry river bed coming from the south
turns to the west.\n"
	)
     ELSEIF ($and ($gt @RiverLoc BEND1LOC) ($lt @RiverLoc BEND2LOC)) THEN
	($say "You are in a dry river bed that runs east-west.\n")
     ELSEIF ($eq @RiverLoc BEND2LOC) THEN
	($say
"You are at a sharp bend where the dry river bed coming from
the east turns to the south.\n"
	)
     ELSE
	($say "You are in a dry river bed that runs north-south.\n")
    )
;
cel21(SDESC) =
    (IF ($eq @RiverLoc GRATELOC) THEN
	($return (Sayer "Under Bridge" %0))
     ELSEIF ($or ($eq @RiverLoc BEND1LOC) ($eq @RiverLoc BEND2LOC)) THEN
	($return (Sayer "Bend in River" %0))
     ELSE
	($return (Sayer "Dry River Bed" %0))
    )
;

desert(LDESC) =
    ($say
"You are lost in the middle of a vast desert.  The terrain
is the same, no matter which way you look.  The heat
is tremendous, and you have no water.  In other words,
you're in trouble!\n"
    )
;
desert(SDESC) =
    ($return (Sayer "Desert" %0))
;

field(LDESC) =
    ($say
"You are in the middle of a grassy field.  Above you is a beautiful
blue sky in which fleecy white clouds make pretty shapes.  The sound
of birds fills the air.  A path leads north to a large building built
of white marble, with hundreds of columns and sculptures about.\n"
    )
;
field(SDESC) =
    ($return (Sayer "Grassy Field" %0))
;

ENDGAME =
    ($say
"As you approach the building, a robed figure emerges from the door of the
building.  He looks at you and says, \"I am the former owner of the farm
and of the cellar below.  You have shown great merit in your struggle
to solve my puzzles.  "
    )
    (IF ($cont .ME) THEN
	($say
"However, you must shun all things wordly before you
can enter here.  Return to your world and come back when you have
attained this.\"\n"
	)
     ELSEIF ($lt @SCORE PMAX) THEN
	($say
"Unfortunately, you have failed to return all misplaced
treasures to their proper location.  Consider this:  a penny saved
is a penny earned!\"\n"
	)
     ELSE
	($say
"You have also wisely shed yourself
of damaging worldly affectations, and have honorably satisfied your
obligations.  Come and join our circle of philosophers!\"
\n\tThe robed figure escorts you into the building.  You have finished
the game!\n"
	)
	($spec 3)
    )
    ($say "The robed figure waves his arms, and you are transported to...\n")
    ($move .ME road1)
    ($setg GO TRUE)
;