# Makefile for the open-source release of adventure 2.5
LIBS=-lrt
-OBJS=main.o init.o actions1.o actions2.o score.o misc.o database/database.o
+OBJS=main.o init.o actions1.o actions2.o score.o misc.o database.o
SOURCES=$(OBJS:.o=.c) COPYING NEWS README TODO advent.text control
.c.o:
gcc -O $(DBX) -c $<
-advent: $(OBJS) database
+advent: $(OBJS)
gcc -Wall -std=c99 -O $(DBX) -o advent $(OBJS) $(LIBS)
-main.o: main.h misc.h funcs.h database/database.h
+main.o: main.h misc.h funcs.h database.h
-init.o: misc.h main.h share.h funcs.h database/database.h
+init.o: misc.h main.h share.h funcs.h database.h
-actions1.o: misc.h main.h share.h funcs.h database/database.h
+actions1.o: misc.h main.h share.h funcs.h database.h
actions2.o: misc.h main.h share.h funcs.h
-score.o: misc.h main.h share.h database/database.h
+score.o: misc.h main.h share.h database.h
-misc.o: misc.h main.h database/database.h
+misc.o: misc.h main.h database.h
+
+database.c database.h: compile
+ ./compile
+ gcc $(OPTIONS) -O $(DBX) -c database.c
clean:
- rm -f *.o advent advent.html advent.6 adventure.data
+ rm -f *.o advent advent.html advent.6 database.[ch]
cd tests; $(MAKE) --quiet clean
- cd database; $(MAKE) clean
check: advent
cd tests; $(MAKE) --quiet
#include "main.h"
#include "share.h"
#include "funcs.h"
-#include "database/database.h"
+#include "database.h"
/* This stuff was broken off as part of an effort to get the main program
* to compile without running out of memory. We're called with a number
--- /dev/null
+1
+1 You are standing at the end of a road before a small brick building.
+1 Around you is a forest. A small stream flows out of the building and
+1 down a gully.
+2 You have walked up a hill, still in the forest. The road slopes back
+2 down the other side of the hill. There is a building in the distance.
+3 You are inside a building, a well house for a large spring.
+4 You are in a valley in the forest beside a stream tumbling along a
+4 rocky bed.
+5 The road, which approaches from the east, ends here amid the trees.
+6 The forest thins out here to reveal a steep cliff. There is no way
+6 down, but a small ledge can be seen to the west across the chasm.
+7 At your feet all the water of the stream splashes into a 2-inch slit
+7 in the rock. Downstream the streambed is bare rock.
+8 You are in a 20-foot depression floored with bare dirt. Set into the
+8 dirt is a strong steel grate mounted in concrete. A dry streambed
+8 leads into the depression.
+9 You are in a small chamber beneath a 3x3 steel grate to the surface.
+9 A low crawl over cobbles leads inward to the west.
+10 You are crawling over cobbles in a low passage. There is a dim light
+10 at the east end of the passage.
+11 You are in a debris room filled with stuff washed in from the surface.
+11 A low wide passage with cobbles becomes plugged with mud and debris
+11 here, but an awkward canyon leads upward and west. In the mud someone
+11 has scrawled, "MAGIC WORD XYZZY".
+12 You are in an awkward sloping east/west canyon.
+13 You are in a splendid chamber thirty feet high. The walls are frozen
+13 rivers of orange stone. An awkward canyon and a good passage exit
+13 from east and west sides of the chamber.
+14 At your feet is a small pit breathing traces of white mist. An east
+14 passage ends here except for a small crack leading on.
+15 You are at one end of a vast hall stretching forward out of sight to
+15 the west. There are openings to either side. Nearby, a wide stone
+15 staircase leads downward. The hall is filled with wisps of white mist
+15 swaying to and fro almost as if alive. A cold wind blows up the
+15 staircase. There is a passage at the top of a dome behind you.
+16 The crack is far too small for you to follow. At its widest it is
+16 barely wide enough to admit your foot.
+17 You are on the east bank of a fissure slicing clear across the hall.
+17 The mist is quite thick here, and the fissure is too wide to jump.
+18 This is a low room with a crude note on the wall. The note says,
+18 "You won't get it up the steps".
+19 You are in the Hall of the Mountain King, with passages off in all
+19 directions.
+20 You are at the bottom of the pit with a broken neck.
+21 You didn't make it.
+22 The dome is unclimbable.
+23 You are at the west end of the Twopit Room. There is a large hole in
+23 the wall above the pit at this end of the room.
+24 You are at the bottom of the eastern pit in the Twopit Room. There is
+24 a small pool of oil in one corner of the pit.
+25 You are at the bottom of the western pit in the Twopit Room. There is
+25 a large hole in the wall about 25 feet above you.
+26 You clamber up the plant and scurry through the hole at the top.
+27 You are on the west side of the fissure in the Hall of Mists.
+28 You are in a low n/s passage at a hole in the floor. The hole goes
+28 down to an e/w passage.
+29 You are in the south side chamber.
+30 You are in the west side chamber of the Hall of the Mountain King.
+30 A passage continues west and up here.
+31 %!
+32 You can't get by the snake.
+33 You are in a large room, with a passage to the south, a passage to the
+33 west, and a wall of broken rock to the east. There is a large "Y2" on
+33 a rock in the room's center.
+34 You are in a jumble of rock, with cracks everywhere.
+35 You're at a low window overlooking a huge pit, which extends up out of
+35 sight. A floor is indistinctly visible over 50 feet below. Traces of
+35 white mist cover the floor of the pit, becoming thicker to the right.
+35 Marks in the dust around the window would seem to indicate that
+35 someone has been here recently. Directly across the pit from you and
+35 25 feet away there is a similar window looking into a lighted room. A
+35 shadowy figure can be seen there peering back at you.
+36 You are in a dirty broken passage. To the east is a crawl. To the
+36 west is a large passage. Above you is a hole to another passage.
+37 You are on the brink of a small clean climbable pit. A crawl leads
+37 west.
+38 You are in the bottom of a small pit with a little stream, which
+38 enters and exits through tiny slits.
+39 You are in a large room full of dusty rocks. There is a big hole in
+39 the floor. There are cracks everywhere, and a passage leading east.
+40 You have crawled through a very low wide passage parallel to and north
+40 of the Hall of Mists.
+41 You are at the west end of the Hall of Mists. A low wide crawl
+41 continues west and another goes north. To the south is a little
+41 passage 6 feet off the floor.
+42 You are in a maze of twisty little passages, all alike.
+43 You are in a maze of twisty little passages, all alike.
+44 You are in a maze of twisty little passages, all alike.
+45 You are in a maze of twisty little passages, all alike.
+46 Dead end
+47 Dead end
+48 Dead end
+49 You are in a maze of twisty little passages, all alike.
+50 You are in a maze of twisty little passages, all alike.
+51 You are in a maze of twisty little passages, all alike.
+52 You are in a maze of twisty little passages, all alike.
+53 You are in a maze of twisty little passages, all alike.
+54 Dead end
+55 You are in a maze of twisty little passages, all alike.
+56 Dead end
+57 You are on the brink of a thirty foot pit with a massive orange column
+57 down one wall. You could climb down here but you could not get back
+57 up. The maze continues at this level.
+58 Dead end
+59 You have crawled through a very low wide passage parallel to and north
+59 of the Hall of Mists.
+60 You are at the east end of a very long hall apparently without side
+60 chambers. To the east a low wide crawl slants up. To the north a
+60 round two foot hole slants down.
+61 You are at the west end of a very long featureless hall. The hall
+61 joins up with a narrow north/south passage.
+62 You are at a crossover of a high n/s passage and a low e/w one.
+63 Dead end
+64 You are at a complex junction. A low hands and knees passage from the
+64 north joins a higher crawl from the east to make a walking passage
+64 going west. There is also a large room above. The air is damp here.
+65 You are in Bedquilt, a long east/west passage with holes everywhere.
+65 To explore at random select north, south, up, or down.
+66 You are in a room whose walls resemble swiss cheese. Obvious passages
+66 go west, east, ne, and nw. Part of the room is occupied by a large
+66 bedrock block.
+67 You are at the east end of the Twopit Room. The floor here is
+67 littered with thin rock slabs, which make it easy to descend the pits.
+67 There is a path here bypassing the pits to connect passages from east
+67 and west. There are holes all over, but the only big one is on the
+67 wall directly over the west pit where you can't get to it.
+68 You are in a large low circular chamber whose floor is an immense slab
+68 fallen from the ceiling (Slab Room). East and west there once were
+68 large passages, but they are now filled with boulders. Low small
+68 passages go north and south, and the south one quickly bends west
+68 around the boulders.
+69 You are in a secret n/s canyon above a large room.
+70 You are in a secret n/s canyon above a sizable passage.
+71 You are in a secret canyon at a junction of three canyons, bearing
+71 north, south, and se. The north one is as tall as the other two
+71 combined.
+72 You are in a large low room. Crawls lead north, se, and sw.
+73 Dead end crawl.
+74 You are in a secret canyon which here runs e/w. It crosses over a
+74 very tight canyon 15 feet below. If you go down you may not be able
+74 to get back up.
+75 You are at a wide place in a very tight n/s canyon.
+76 The canyon here becomes too tight to go further south.
+77 You are in a tall e/w canyon. A low tight crawl goes 3 feet north and
+77 seems to open up.
+78 The canyon runs into a mass of boulders -- dead end.
+79 The stream flows out through a pair of 1 foot diameter sewer pipes.
+79 It would be advisable to use the exit.
+80 You are in a maze of twisty little passages, all alike.
+81 Dead end
+82 Dead end
+83 You are in a maze of twisty little passages, all alike.
+84 You are in a maze of twisty little passages, all alike.
+85 Dead end
+86 Dead end
+87 You are in a maze of twisty little passages, all alike.
+88 You are in a long, narrow corridor stretching out of sight to the
+88 west. At the eastern end is a hole through which you can see a
+88 profusion of leaves.
+89 There is nothing here to climb. Use "up" or "out" to leave the pit.
+90 You have climbed up the plant and out of the pit.
+91 You are at the top of a steep incline above a large room. You could
+91 climb down here, but you would not be able to climb up. There is a
+91 passage leading back to the north.
+92 You are in the Giant Room. The ceiling here is too high up for your
+92 lamp to show it. Cavernous passages lead east, north, and south. On
+92 the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+93 The passage here is blocked by a recent cave-in.
+94 You are at one end of an immense north/south passage.
+95 You are in a magnificent cavern with a rushing stream, which cascades
+95 over a sparkling waterfall into a roaring whirlpool which disappears
+95 through a hole in the floor. Passages exit to the south and west.
+96 You are in the Soft Room. The walls are covered with heavy curtains,
+96 the floor with a thick pile carpet. Moss covers the ceiling.
+97 This is the Oriental Room. Ancient oriental cave drawings cover the
+97 walls. A gently sloping passage leads upward to the north, another
+97 passage leads se, and a hands and knees crawl leads west.
+98 You are following a wide path around the outer edge of a large cavern.
+98 Far below, through a heavy white mist, strange splashing noises can be
+98 heard. The mist rises up through a fissure in the ceiling. The path
+98 exits to the south and west.
+99 You are in an alcove. A small nw path seems to widen after a short
+99 distance. An extremely tight tunnel leads east. It looks like a very
+99 tight squeeze. An eerie light can be seen at the other end.
+100 You're in a small chamber lit by an eerie green light. An extremely
+100 narrow tunnel exits to the west. A dark corridor leads ne.
+101 You're in the dark-room. A corridor leading south is the only exit.
+102 You are in an arched hall. A coral passage once continued up and east
+102 from here, but is now blocked by debris. The air smells of sea water.
+103 You're in a large room carved out of sedimentary rock. The floor and
+103 walls are littered with bits of shells imbedded in the stone. A
+103 shallow passage proceeds downward, and a somewhat steeper one leads
+103 up. A low hands and knees passage enters from the south.
+104 You are in a long sloping corridor with ragged sharp walls.
+105 You are in a cul-de-sac about eight feet across.
+106 You are in an anteroom leading to a large passage to the east. Small
+106 passages go west and up. The remnants of recent digging are evident.
+106 A sign in midair here says "Cave under construction beyond this point.
+106 Proceed at own risk. [Witt Construction Company]"
+107 You are in a maze of twisty little passages, all different.
+108 You are at Witt's End. Passages lead off in *ALL* directions.
+109 You are in a north/south canyon about 25 feet across. The floor is
+109 covered by white mist seeping in from the north. The walls extend
+109 upward for well over 100 feet. Suspended from some unseen point far
+109 above you, an enormous two-sided mirror is hanging parallel to and
+109 midway between the canyon walls. (The mirror is obviously provided
+109 for the use of the dwarves who, as you know, are extremely vain.) A
+109 small window can be seen in either wall, some fifty feet up.
+110 You're at a low window overlooking a huge pit, which extends up out of
+110 sight. A floor is indistinctly visible over 50 feet below. Traces of
+110 white mist cover the floor of the pit, becoming thicker to the left.
+110 Marks in the dust around the window would seem to indicate that
+110 someone has been here recently. Directly across the pit from you and
+110 25 feet away there is a similar window looking into a lighted room. A
+110 shadowy figure can be seen there peering back at you.
+111 A large stalactite extends from the roof and almost reaches the floor
+111 below. You could climb down it, and jump from it to the floor, but
+111 having done so you would be unable to reach it to climb back up.
+112 You are in a little maze of twisting passages, all different.
+113 You are at the edge of a large underground reservoir. An opaque cloud
+113 of white mist fills the room and rises rapidly upward. The lake is
+113 fed by a stream, which tumbles out of a hole in the wall about 10 feet
+113 overhead and splashes noisily into the water somewhere within the
+113 mist. There is a passage going back toward the south.
+114 Dead end
+115 You are at the northeast end of an immense room, even larger than the
+115 Giant Room. It appears to be a repository for the "Adventure"
+115 program. Massive torches far overhead bathe the room with smoky
+115 yellow light. Scattered about you can be seen a pile of bottles (all
+115 of them empty), a nursery of young beanstalks murmuring quietly, a bed
+115 of oysters, a bundle of black rods with rusty stars on their ends, and
+115 a collection of brass lanterns. Off to one side a great many dwarves
+115 are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+115 not disturb the dwarves!" An immense mirror is hanging against one
+115 wall, and stretches to the other end of the room, where various other
+115 sundry objects can be glimpsed dimly in the distance.
+116 You are at the southwest end of the repository. To one side is a pit
+116 full of fierce green snakes. On the other side is a row of small
+116 wicker cages, each of which contains a little sulking bird. In one
+116 corner is a bundle of black rods with rusty marks on their ends. A
+116 large number of velvet pillows are scattered about on the floor. A
+116 vast mirror stretches off to the northeast. At your feet is a large
+116 steel grate, next to which is a sign that reads, "Treasure Vault.
+116 Keys in main office."
+117 You are on one side of a large, deep chasm. A heavy white mist rising
+117 up from below obscures all view of the far side. A sw path leads away
+117 from the chasm into a winding corridor.
+118 You are in a long winding corridor sloping out of sight in both
+118 directions.
+119 You are in a secret canyon which exits to the north and east.
+120 You are in a secret canyon which exits to the north and east.
+121 You are in a secret canyon which exits to the north and east.
+122 You are on the far side of the chasm. A ne path leads away from the
+122 chasm on this side.
+123 You're in a long east/west corridor. A faint rumbling noise can be
+123 heard in the distance.
+124 The path forks here. The left fork leads northeast. A dull rumbling
+124 seems to get louder in that direction. The right fork leads southeast
+124 down a gentle slope. The main corridor enters from the west.
+125 The walls are quite warm here. From the north can be heard a steady
+125 roar, so loud that the entire cave seems to be trembling. Another
+125 passage leads south, and a low crawl goes east.
+126 You are on the edge of a breath-taking view. Far below you is an
+126 active volcano, from which great gouts of molten lava come surging
+126 out, cascading back down into the depths. The glowing rock fills the
+126 farthest reaches of the cavern with a blood-red glare, giving every-
+126 thing an eerie, macabre appearance. The air is filled with flickering
+126 sparks of ash and a heavy smell of brimstone. The walls are hot to
+126 the touch, and the thundering of the volcano drowns out all other
+126 sounds. Embedded in the jagged roof far overhead are myriad twisted
+126 formations composed of pure white alabaster, which scatter the murky
+126 light into sinister apparitions upon the walls. To one side is a deep
+126 gorge, filled with a bizarre chaos of tortured rock which seems to
+126 have been crafted by the devil himself. An immense river of fire
+126 crashes out from the depths of the volcano, burns its way through the
+126 gorge, and plummets into a bottomless pit far off to your left. To
+126 the right, an immense geyser of blistering steam erupts continuously
+126 from a barren island in the center of a sulfurous lake, which bubbles
+126 ominously. The far right wall is aflame with an incandescence of its
+126 own, which lends an additional infernal splendor to the already
+126 hellish scene. A dark, foreboding passage exits to the south.
+127 You are in a small chamber filled with large boulders. The walls are
+127 very warm, causing the air in the room to be almost stifling from the
+127 heat. The only exit is a crawl heading west, through which is coming
+127 a low rumbling.
+128 You are walking along a gently sloping north/south passage lined with
+128 oddly shaped limestone formations.
+129 You are standing at the entrance to a large, barren room. A notice
+129 above the entrance reads: "Caution! Bear in room!"
+130 You are inside a barren room. The center of the room is completely
+130 empty except for some dust. Marks in the dust lead away toward the
+130 far end of the room. The only exit is the way you came in.
+131 You are in a maze of twisting little passages, all different.
+132 You are in a little maze of twisty passages, all different.
+133 You are in a twisting maze of little passages, all different.
+134 You are in a twisting little maze of passages, all different.
+135 You are in a twisty little maze of passages, all different.
+136 You are in a twisty maze of little passages, all different.
+137 You are in a little twisty maze of passages, all different.
+138 You are in a maze of little twisting passages, all different.
+139 You are in a maze of little twisty passages, all different.
+140 Dead end
+141 You are in a long, rough-hewn, north/south corridor.
+142 There is no way to go that direction.
+143 You are in a large chamber with passages to the west and north.
+144 You are in the ogre's storeroom. The only exit is to the south.
+145 You are wandering aimlessly through the forest.
+146 You are wandering aimlessly through the forest.
+147 You are wandering aimlessly through the forest.
+148 You are wandering aimlessly through the forest.
+149 You are wandering aimlessly through the forest.
+150 You are wandering aimlessly through the forest.
+151 You are wandering aimlessly through the forest.
+152 You are wandering aimlessly through the forest.
+153 You are wandering aimlessly through the forest.
+154 You are wandering aimlessly through the forest.
+155 You are wandering aimlessly through the forest.
+156 You are wandering aimlessly through the forest.
+157 You are wandering aimlessly through the forest.
+158 You are wandering aimlessly through the forest.
+159 You are wandering aimlessly through the forest.
+160 You are wandering aimlessly through the forest.
+161 You are wandering aimlessly through the forest.
+162 You are wandering aimlessly through the forest.
+163 You are wandering aimlessly through the forest.
+164 You are wandering aimlessly through the forest.
+165 You are wandering aimlessly through the forest.
+166 You are wandering aimlessly through the forest.
+167 You are on a small ledge on one face of a sheer cliff. There are no
+167 paths away from the ledge. Across the chasm is a small clearing
+167 surrounded by forest.
+168 You are walking across the bottom of the reservoir. Walls of water
+168 rear up on either side. The roar of the water cascading past is
+168 nearly deafening, and the mist is so thick you can barely see.
+169 You are at the northern edge of the reservoir. A northwest passage
+169 leads sharply up from here.
+170 You are scrambling along a treacherously steep, rocky passage.
+171 You are on a very steep incline, which widens at it goes upward.
+172 You are at the base of a nearly vertical cliff. There are some
+172 slim footholds which would enable you to climb up, but it looks
+172 extremely dangerous. Here at the base of the cliff lie the remains
+172 of several earlier adventurers who apparently failed to make it.
+173 You are climbing along a nearly vertical cliff.
+174 Just as you reach the top, your foot slips on a loose rock and you
+174 tumble several hundred feet to join the other unlucky adventurers.
+175 Just as you reach the top, your foot slips on a loose rock and you
+175 make one last desperate grab. Your luck holds, as does your grip.
+175 With an enormous heave, you lift yourself to the ledge above.
+176 You are on a small ledge at the top of a nearly vertical cliff.
+176 There is a low crawl leading off to the northeast.
+177 You have reached a dead end.
+178 There is now one more gruesome aspect to the spectacular vista.
+179 >>Foof!<<
+180 >>Foof!<<
+181 >>Foof!<<
+182 >>Foof!<<
+183 >>Foof!<<
+184 >>Foof!<<
+-1
+2
+1 You're in front of building.
+2 You're at hill in road.
+3 You're inside building.
+4 You're in valley.
+5 You're at end of road.
+6 You're at cliff.
+7 You're at slit in streambed.
+8 You're outside grate.
+9 You're below the grate.
+10 You're in cobble crawl.
+11 You're in debris room.
+13 You're in bird chamber.
+14 You're at top of small pit.
+15 You're in Hall of Mists.
+17 You're on east bank of fissure.
+18 You're in nugget-of-gold room.
+19 You're in Hall of Mt King.
+23 You're at west end of Twopit Room.
+24 You're in east pit.
+25 You're in west pit.
+27 You're on west bank of fissure.
+28 You're in n/s passage above e/w passage.
+30 You're in the west side chamber.
+33 You're at "Y2".
+35 You're at window on pit.
+36 You're in dirty passage.
+37 You're at brink of small pit.
+38 You're at bottom of pit with stream.
+39 You're in dusty rock room.
+41 You're at west end of Hall of Mists.
+57 You're at brink of pit.
+60 You're at east end of long hall.
+61 You're at west end of long hall.
+64 You're at complex junction.
+65 You're in Bedquilt.
+66 You're in Swiss Cheese Room.
+67 You're at east end of Twopit Room.
+68 You're in Slab Room.
+71 You're at junction of three secret canyons.
+72 You're in large low room.
+74 You're in secret e/w canyon above tight canyon.
+88 You're in narrow corridor.
+91 You're at steep incline above large room.
+92 You're in Giant Room.
+95 You're in cavern with waterfall.
+96 You're in Soft Room.
+97 You're in Oriental Room.
+98 You're in misty cavern.
+99 You're in alcove.
+100 You're in Plover Room.
+101 You're in dark-room.
+102 You're in arched hall.
+103 You're in Shell Room.
+106 You're in anteroom.
+108 You're at Witt's End.
+109 You're in Mirror Canyon.
+110 You're at window on pit.
+111 You're at top of stalactite.
+113 You're at reservoir.
+115 You're at ne end.
+116 You're at sw end.
+117 You're on sw side of chasm.
+118 You're in sloping corridor.
+122 You're on ne side of chasm.
+123 You're in corridor.
+124 You're at fork in path.
+125 You're at junction with warm walls.
+126 You're at breath-taking view.
+127 You're in Chamber of Boulders.
+128 You're in limestone passage.
+129 You're in front of Barren Room.
+130 You're in Barren Room.
+167 You're on ledge.
+168 You're at bottom of reservoir.
+169 You're north of reservoir.
+172 You're at base of cliff.
+176 You're at top of cliff.
+-1
+3
+1 2 2 44 29
+1 3 3 12 19 43
+1 4 5 13 14 46 30
+1 145 6 45
+1 8 63
+2 1 12 43
+2 5 44
+2 164 45
+2 157 46 6
+2 580 30
+3 1 11 32 44
+3 179 62
+3 181 65
+3 79 5 14
+4 1 4 12 45
+4 150 43 6
+4 156 44
+4 7 5 46 30
+4 8 63
+4 745 14
+5 2 2 43 29
+5 1 12
+5 158 46 6
+5 159 44
+5 165 45
+6 161 46 6
+6 163 43
+6 21 39
+7 1 12
+7 4 4 45
+7 150 43 6
+7 154 44
+7 8 5 16 46 63
+7 595 60 14 30 19 3
+8 151 43 6
+8 154 46
+8 153 44
+8 1 12
+8 7 4 13 45
+8 303009 3 19 30
+8 593 3
+9 303008 11 29
+9 593 11
+9 10 17 18 19 44
+9 14 31
+9 11 51
+10 9 11 20 21 43
+10 11 19 22 44 51
+10 14 31
+11 303008 63
+11 9 64
+11 10 17 18 23 24 43
+11 12 25 19 29 44
+11 180 62
+11 14 31
+12 303008 63
+12 9 64
+12 11 30 43 51
+12 13 19 29 44
+12 14 31
+13 303008 63
+13 9 64
+13 11 51
+13 12 25 43
+13 14 23 31 44
+14 303008 63
+14 9 64
+14 11 51
+14 13 23 43
+14 150020 30 31 34
+14 15 30
+14 16 33 44
+15 18 36 46
+15 17 7 38 44
+15 19 10 30 45
+15 150022 29 31 34 35 23 43
+15 14 29
+15 34 55
+16 14 1
+17 15 38 43
+17 312596 39
+17 412021 7
+17 412597 41 42 44 69
+17 27 41
+18 15 38 11 45
+19 15 10 29 43
+19 311028 45 37
+19 311029 46 36
+19 311030 44 7
+19 32 45
+19 35074 49
+19 211032 49
+19 74 66
+20 0 1
+21 0 1
+22 15 1
+23 67 43 42
+23 68 44 61
+23 25 30 31
+23 648 52
+24 67 29 11
+25 23 29 11
+25 524031 56
+25 26 56
+26 88 1
+27 312596 39
+27 412021 7
+27 412597 41 42 43 69
+27 17 41
+27 40 45
+27 41 44
+28 19 38 11 46
+28 33 45 55
+28 36 30 52
+29 19 38 11 45
+30 19 38 11 43
+30 62 44 29
+31 424089 1
+31 90 1
+32 19 1
+33 182 65
+33 28 46
+33 34 43 53 54
+33 35 44
+33 159302 71
+33 183 71
+34 33 30 55
+34 15 29
+35 33 43 55
+35 20 39
+36 37 43 17
+36 28 29 52
+36 39 44
+36 65 70
+37 36 44 17
+37 38 30 31 56
+38 37 56 29 11
+38 595 60 14 30 4 5 3 19
+39 36 43 23
+39 64 30 52 58
+39 65 70
+40 41 1
+41 42 46 29 23 56
+41 27 43
+41 59 45
+41 60 44 17
+42 41 29
+42 42 45
+42 43 43
+42 45 46
+42 80 44
+43 42 44
+43 44 46
+43 45 43
+44 43 43
+44 48 30
+44 50 46
+44 82 45
+45 42 44
+45 43 45
+45 46 43
+45 47 46
+45 87 29 30
+46 45 44 11
+47 45 43 11
+48 44 29 11
+49 50 43
+49 51 44
+50 44 43
+50 49 44
+50 51 30
+50 52 46
+51 49 44
+51 50 29
+51 52 43
+51 53 46
+52 50 44
+52 51 43
+52 52 46
+52 53 29
+52 55 45
+52 86 30
+53 51 44
+53 52 45
+53 54 46
+54 53 44 11
+55 52 44
+55 55 45
+55 56 30
+55 57 43
+56 55 29 11
+57 13 30 56
+57 55 44
+57 58 46
+57 83 45
+57 84 43
+58 57 43 11
+59 27 1
+60 41 43 29 17
+60 61 44
+60 62 45 30 52
+61 60 43
+61 62 45
+61 100107 46
+62 60 44
+62 63 45
+62 30 43
+62 61 46
+63 62 46 11
+64 39 29 56 59
+64 65 44 70
+64 103 45 74
+64 106 43
+65 64 43
+65 66 44
+65 65556 46
+65 68 61
+65 60556 29
+65 70070 29
+65 39 29
+65 50556 45
+65 75072 45
+65 71 45
+65 65556 30
+65 106 30
+66 65 47
+66 67 44
+66 80556 46
+66 77 25
+66 96 43
+66 50556 50
+66 97 72
+67 66 43
+67 23 44 42
+67 24 30 31
+68 23 46
+68 69 29 56
+68 65 45
+69 68 30 61
+69 331120 46
+69 119 46
+69 109 45
+69 113 75
+70 71 45
+70 65 30 23
+70 111 46
+71 65 48
+71 70 46
+71 110 45
+72 65 70
+72 118 49
+72 73 45
+72 97 48 72
+73 72 46 17 11
+74 19 43
+74 331120 44
+74 121 44
+74 75 30
+75 76 46
+75 77 45
+76 75 45
+77 75 43
+77 78 44
+77 66 45 17
+78 77 46
+79 3 1
+80 42 45
+80 80 44
+80 80 46
+80 81 43
+81 80 44 11
+82 44 46 11
+83 57 46
+83 84 43
+83 85 44
+84 57 45
+84 83 44
+84 114 50
+85 83 43 11
+86 52 29 11
+87 45 29 30
+88 25 30 56 43
+88 20 39
+88 92 44 27
+89 25 1
+90 23 1
+91 95 45 73 23
+91 72 30 56
+92 88 46
+92 93 43
+92 94 45
+93 92 46 27 11
+94 92 46 27 23
+94 309095 45 3 73
+94 611 45
+95 94 46 11
+95 92 27
+95 91 44
+96 66 44 11
+97 66 48
+97 72 44 17
+97 98 29 45 73
+98 97 46 72
+98 99 44
+99 98 50 73
+99 301 43 23
+99 100 43
+100 301 44 23 11
+100 99 44
+100 159302 71
+100 184 71
+100 101 47 22
+101 100 46 71 11
+102 103 30 74 11
+103 102 29 38
+103 104 30
+103 114618 46
+103 115619 46
+103 64 46
+104 103 29 74
+104 105 30
+105 104 29 11
+105 103 74
+106 64 29
+106 65 44
+106 108 43
+107 131 46
+107 132 49
+107 133 47
+107 134 48
+107 135 29
+107 136 50
+107 137 43
+107 138 44
+107 139 45
+107 61 30
+108 95556 43 45 46 47 48 49 50 29 30
+108 106 43
+108 626 44
+109 69 46
+109 113 45 75
+110 71 44
+110 20 39
+111 70 45
+111 40050 30 39 56
+111 50053 30
+111 45 30
+112 131 49
+112 132 45
+112 133 43
+112 134 50
+112 135 48
+112 136 47
+112 137 44
+112 138 30
+112 139 29
+112 140 46
+113 109 46 11
+113 445552 45 42 69
+113 168 45
+114 84 48
+115 116 49
+116 115 47
+116 593 30
+117 118 49
+117 233660 41 42 69 47
+117 332661 41
+117 303 41
+117 332021 39
+117 596 39
+118 72 30
+118 117 29
+119 69 45 11
+119 653 43 7
+120 69 45
+120 74 43
+121 74 43 11
+121 653 45 7
+122 123 47
+122 233660 41 42 69 49
+122 303 41
+122 596 39
+122 124 15
+122 126 28
+122 129 40
+123 122 44
+123 124 43 15
+123 126 28
+123 129 40
+124 123 44
+124 125 47 36
+124 128 48 37 30
+124 126 28
+124 129 40
+125 124 46 15
+125 126 45 28
+125 127 43 17
+126 125 46 23 11
+126 124 15
+126 610 30
+126 178 39
+127 125 44 11 17
+127 124 15
+127 126 28
+128 124 45 29 15
+128 129 46 30 40
+128 126 28
+129 128 44 29
+129 124 15
+129 130 43 19 40 3
+129 126 28
+130 129 44 11
+130 124 15
+130 126 28
+131 107 44
+131 132 48
+131 133 50
+131 134 49
+131 135 47
+131 136 29
+131 137 30
+131 138 45
+131 139 46
+131 112 43
+132 107 50
+132 131 29
+132 133 45
+132 134 46
+132 135 44
+132 136 49
+132 137 47
+132 138 43
+132 139 30
+132 112 48
+133 107 29
+133 131 30
+133 132 44
+133 134 47
+133 135 49
+133 136 43
+133 137 45
+133 138 50
+133 139 48
+133 112 46
+134 107 47
+134 131 45
+134 132 50
+134 133 48
+134 135 43
+134 136 30
+134 137 46
+134 138 29
+134 139 44
+134 112 49
+135 107 45
+135 131 48
+135 132 30
+135 133 46
+135 134 43
+135 136 44
+135 137 49
+135 138 47
+135 139 50
+135 112 29
+136 107 43
+136 131 44
+136 132 29
+136 133 49
+136 134 30
+136 135 46
+136 137 50
+136 138 48
+136 139 47
+136 112 45
+137 107 48
+137 131 47
+137 132 46
+137 133 30
+137 134 29
+137 135 50
+137 136 45
+137 138 49
+137 139 43
+137 112 44
+138 107 30
+138 131 43
+138 132 47
+138 133 29
+138 134 44
+138 135 45
+138 136 46
+138 137 48
+138 139 49
+138 112 50
+139 107 49
+139 131 50
+139 132 43
+139 133 44
+139 134 45
+139 135 30
+139 136 48
+139 137 29
+139 138 46
+139 112 47
+140 112 45 11
+140 338141 46
+140 142 46
+141 140 45
+141 143 46
+142 140 1
+143 141 44
+143 241560 45
+143 144 45
+144 143 46 11
+145 1 43
+145 157 44
+145 146 45
+145 147 46
+146 145 43
+146 163 44
+146 147 45
+146 162 46
+147 148 43 44
+147 146 45
+147 145 46
+148 147 43 45
+148 149 44 46
+149 148 43 45
+149 151 44
+149 150 46
+150 149 43
+150 151 44
+150 4 45
+150 7 46
+151 149 43
+151 150 44
+151 8 45
+151 152 46
+152 153 43
+152 155 44
+152 166 45
+152 151 46
+153 155 43
+153 152 44
+153 154 45
+153 8 46
+154 7 43
+154 155 44
+154 153 45
+154 8 46
+155 154 43
+155 152 44
+155 166 45
+155 153 46
+156 157 43
+156 158 44
+156 166 45
+156 4 46
+157 145 43
+157 156 44
+157 164 45
+157 2 46
+158 5 43
+158 160 44
+158 159 45
+158 156 46
+159 160 43
+159 166 44
+159 5 45
+159 158 46
+160 161 43 45
+160 158 44
+160 159 46
+161 162 43
+161 160 44 46
+161 6 45
+162 163 43
+162 161 44
+162 146 45
+162 165 46
+163 146 43
+163 162 44
+163 6 45
+163 164 46
+164 2 43
+164 165 44
+164 163 45
+164 157 46
+165 164 43
+165 5 44
+165 162 45
+165 165 46
+166 152 43
+166 155 44
+166 159 45
+166 156 46
+167 21 39
+168 169 45
+168 113 46
+169 445552 46 42 69
+169 168 46
+169 170 50 29 11
+170 171 29 50
+170 169 30 48
+171 170 30 48
+171 172 29 50
+172 171 30 48
+172 173 29 56
+173 172 30
+173 146175 29
+173 174 29
+174 0 1
+175 176 1
+176 173 56 30
+176 177 47 17
+177 176 49 11 17
+178 0 1
+179 11 1
+180 3 1
+181 33 1
+182 3 1
+183 100 1
+184 33 1
+-1
+4
+2 ROAD
+2 HILL
+3 ENTER
+4 UPSTR
+5 DOWNS
+6 FORES
+7 FORWA
+7 CONTI
+7 ONWAR
+8 BACK
+8 RETUR
+8 RETRE
+9 VALLE
+10 STAIR
+11 OUT
+11 OUTSI
+11 EXIT
+11 LEAVE
+12 BUILD
+12 HOUSE
+13 GULLY
+14 STREA
+15 FORK
+16 BED
+17 CRAWL
+18 COBBL
+19 INWAR
+19 INSID
+19 IN
+20 SURFA
+21 NULL
+21 NOWHE
+22 DARK
+23 PASSA
+23 TUNNE
+24 LOW
+25 CANYO
+26 AWKWA
+27 GIANT
+28 VIEW
+29 UPWAR
+29 UP
+29 U
+29 ABOVE
+29 ASCEN
+30 D
+30 DOWNW
+30 DOWN
+30 DESCE
+31 PIT
+32 OUTDO
+33 CRACK
+34 STEPS
+35 DOME
+36 LEFT
+37 RIGHT
+38 HALL
+39 JUMP
+40 BARRE
+41 OVER
+42 ACROS
+43 EAST
+43 E
+44 WEST
+44 W
+45 NORTH
+45 N
+46 SOUTH
+46 S
+47 NE
+48 SE
+49 SW
+50 NW
+51 DEBRI
+52 HOLE
+53 WALL
+54 BROKE
+55 Y2
+56 CLIMB
+57 LOOK
+57 EXAMI
+57 TOUCH
+57 DESCR
+58 FLOOR
+59 ROOM
+60 SLIT
+61 SLAB
+61 SLABR
+62 XYZZY
+63 DEPRE
+64 ENTRA
+65 PLUGH
+66 SECRE
+67 CAVE
+69 CROSS
+70 BEDQU
+71 PLOVE
+72 ORIEN
+73 CAVER
+74 SHELL
+75 RESER
+76 MAIN
+76 OFFIC
+1001 KEYS
+1001 KEY
+1002 LAMP
+1002 LANTE
+1003 GRATE
+1004 CAGE
+1005 ROD
+1006 ROD (MUST BE NEXT OBJECT AFTER "REAL" ROD)
+1007 STEPS
+1008 BIRD
+1009 DOOR
+1010 PILLO
+1010 VELVE
+1011 SNAKE
+1012 FISSU
+1013 TABLE
+1014 CLAM
+1015 OYSTE
+1016 MAGAZ
+1016 ISSUE
+1016 SPELU
+1016 "SPEL
+1017 DWARF
+1017 DWARV
+1018 KNIFE
+1018 KNIVE
+1019 FOOD
+1019 RATIO
+1020 BOTTL
+1020 JAR
+1021 WATER
+1021 H2O
+1022 OIL
+1023 MIRRO
+1024 PLANT
+1024 BEANS
+1025 PLANT (MUST BE NEXT OBJECT AFTER "REAL" PLANT)
+1026 STALA
+1027 SHADO
+1027 FIGUR
+1027 WINDO (SAME AS FIGURE)
+1028 AXE
+1029 DRAWI
+1030 PIRAT
+1030 GENIE
+1030 DJINN
+1031 DRAGO
+1032 CHASM
+1033 TROLL
+1034 TROLL (MUST BE NEXT OBJECT AFTER "REAL" TROLL)
+1035 BEAR
+1036 MESSA
+1037 VOLCA
+1037 GEYSE (SAME AS VOLCANO)
+1038 MACHI
+1038 VENDI
+1039 BATTE
+1040 CARPE
+1040 MOSS
+1040 CURTA (SAME AS CARPET)
+1041 OGRE
+1042 URN
+1043 CAVIT
+1044 BLOOD
+1045 RESER (VERB OVERRIDES)
+1046 APPEN
+1046 LEPOR
+1047 MUD
+1048 NOTE
+1049 SIGN
+1050 GOLD
+1050 NUGGE
+1051 DIAMO
+1052 SILVE
+1052 BARS
+1053 JEWEL
+1054 COINS
+1055 CHEST
+1055 BOX
+1055 TREAS
+1056 EGGS
+1056 EGG
+1056 NEST
+1057 TRIDE
+1058 VASE
+1058 MING
+1058 SHARD
+1058 POTTE
+1059 EMERA
+1060 PLATI
+1060 PYRAM
+1061 PEARL
+1062 RUG
+1062 PERSI
+1063 SPICE
+1064 CHAIN
+1065 RUBY
+1066 JADE
+1066 NECKL
+1067 AMBER
+1067 GEMST
+1068 SAPPH
+1069 EBONY
+1069 STATU
+2001 CARRY
+2001 TAKE
+2001 KEEP
+2001 CATCH
+2001 STEAL
+2001 CAPTU
+2001 GET
+2001 TOTE
+2001 SNARF
+2002 DROP
+2002 RELEA
+2002 FREE
+2002 DISCA
+2002 DUMP
+2003 SAY
+2003 CHANT
+2003 SING
+2003 UTTER
+2003 MUMBL
+2004 UNLOC
+2004 OPEN
+2005 NOTHI
+2006 LOCK
+2006 CLOSE
+2007 LIGHT
+2007 ON
+2008 EXTIN
+2008 OFF
+2009 WAVE
+2009 SHAKE
+2009 SWING
+2010 CALM
+2010 PLACA
+2010 TAME
+2011 WALK
+2011 RUN
+2011 TRAVE
+2011 GO
+2011 PROCE
+2011 CONTI
+2011 EXPLO
+2011 FOLLO
+2011 TURN
+2012 ATTAC
+2012 KILL
+2012 FIGHT
+2012 HIT
+2012 STRIK
+2012 SLAY
+2013 POUR
+2014 EAT
+2014 DEVOU
+2015 DRINK
+2016 RUB
+2017 THROW
+2017 TOSS
+2018 QUIT
+2019 FIND
+2019 WHERE
+2020 INVEN
+2021 FEED
+2022 FILL
+2023 BLAST
+2023 DETON
+2023 IGNIT
+2023 BLOWU
+2024 SCORE
+2025 FEE
+2025 FIE
+2025 FOE
+2025 FOO
+2025 FUM
+2026 BRIEF
+2027 READ
+2027 PERUS
+2028 BREAK
+2028 SHATT
+2028 SMASH
+2029 WAKE
+2029 DISTU
+2030 SUSPE
+2030 PAUSE
+2030 SAVE
+2031 RESUM
+2031 RESTA
+2032 FLY
+2033 LISTE
+2034 Z'ZZZ (GETS REPLACED)
+3001 FEE
+3002 FIE
+3003 FOE
+3004 FOO
+3005 FUM
+3013 THANK
+3050 SESAM
+3050 OPENS
+3050 ABRA
+3050 ABRAC
+3050 SHAZA
+3050 HOCUS
+3050 POCUS
+3051 HELP
+3051 ?
+3054 NO
+3064 TREE
+3064 TREES
+3066 DIG
+3066 EXCAV
+3068 LOST
+3069 MIST
+3079 FUCK
+3139 STOP
+3142 INFO
+3142 INFOR
+3147 SWIM
+3246 WIZAR
+3271 YES
+3275 NEWS
+-1
+5
+1 Set of keys
+000 There are some keys on the ground here.
+2 Brass lantern
+000 There is a shiny brass lamp nearby.
+100 There is a lamp shining nearby.
+3 *grate
+000 The grate is locked.
+100 The grate is open.
+4 Wicker cage
+000 There is a small wicker cage discarded nearby.
+5 Black rod
+000 A three foot black rod with a rusty star on an end lies nearby.
+6 Black rod
+000 A three foot black rod with a rusty mark on an end lies nearby.
+7 *steps
+000 Rough stone steps lead down the pit.
+100 Rough stone steps lead up the dome.
+8 Little bird in cage
+000 A cheerful little bird is sitting here singing.
+100 There is a little bird in the cage.
+200 A cheerful little bird is sitting here singing.
+300 The bird's singing is quite melodious.
+400 The bird does not seem inclined to sing while in the cage.
+500 It almost seems as though the bird is trying to tell you something.
+600 To your surprise, you can understand the bird's chirping; it is
+600 singing about the joys of its forest home.
+700 The bird does not seem inclined to sing while in the cage.
+800 The bird is singing to you in gratitude for your having returned it to
+800 its home. In return, it informs you of a magic word which it thinks
+800 you may find useful somewhere near the Hall of Mists. The magic word
+800 changes frequently, but for now the bird believes it is "%W". You
+800 thank the bird for this information, and it flies off into the forest.
+9 *rusty door
+000 The way north is barred by a massive, rusty, iron door.
+100 The way north leads through a massive, rusty, iron door.
+10 Velvet pillow
+000 A small velvet pillow lies on the floor.
+11 *snake
+000 A huge green fierce snake bars the way!
+100 %! (chased away)
+200 The snake is hissing venomously.
+12 *fissure
+000 %!
+100 A crystal bridge now spans the fissure.
+200 The crystal bridge has vanished!
+13 *stone tablet
+000 A massive stone tablet imbedded in the wall reads:
+000 "Congratulations on bringing light into the dark-room!"
+100 "Congratulations on bringing light into the dark-room!"
+14 Giant clam >GRUNT!<
+000 There is an enormous clam here with its shell tightly closed.
+100 The clam is as tight-mouthed as a, er, clam.
+15 Giant oyster >GROAN!<
+000 There is an enormous oyster here with its shell tightly closed.
+100 Interesting. There seems to be something written on the underside of
+100 the oyster.
+200 Even though it's an oyster, the critter's as tight-mouthed as a clam.
+300 It says the same thing it did before. Hm, maybe it's a pun?
+16 "Spelunker Today"
+000 There are a few recent issues of "Spelunker Today" magazine here.
+100 I'm afraid the magazine is written in dwarvish. But pencilled on one
+100 cover you see, "Please leave the magazines at the construction site."
+19 Tasty food
+000 There is food here.
+20 Small bottle
+000 There is a bottle of water here.
+100 There is an empty bottle here.
+200 There is a bottle of oil here.
+21 Water in the bottle
+22 Oil in the bottle
+23 *mirror
+000 %!
+24 *plant
+000 There is a tiny little plant in the pit, murmuring "water, water, ..."
+100 There is a 12-foot-tall beanstalk stretching up out of the pit,
+100 bellowing "WATER!! WATER!!"
+200 There is a gigantic beanstalk stretching all the way up to the hole.
+300 The plant spurts into furious growth for a few seconds.
+400 The plant grows explosively, almost filling the bottom of the pit.
+500 You've over-watered the plant! It's shriveling up! And now . . .
+600 The plant continues to ask plaintively for water.
+700 The plant continues to demand water.
+800 The plant now maintains a contented silence.
+25 *phony plant (seen in Twopit Room only when tall enough)
+000 %!
+100 The top of a 12-foot-tall beanstalk is poking out of the west pit.
+200 There is a huge beanstalk growing out of the west pit up to the hole.
+26 *stalactite
+000 %!
+27 *shadowy figure and/or window
+000 The shadowy figure seems to be trying to attract your attention.
+28 Dwarf's axe
+000 There is a little axe here.
+100 There is a little axe lying beside the bear.
+29 *cave drawings
+000 %!
+30 *pirate/genie
+000 %! (never present)
+31 *dragon
+000 A huge green fierce dragon bars the way!
+100 The blood-specked body of a huge green dead dragon lies to one side.
+200 The body of a huge green dead dragon is lying off to one side.
+300 Congratulations! You have just vanquished a dragon with your bare
+300 hands! (Unbelievable, isn't it?)
+400 The dragon's ominous hissing does not bode well for you.
+500 The dragon is, not surprisingly, silent.
+600 The dragon is, not surprisingly, silent.
+32 *chasm
+000 A rickety wooden bridge extends across the chasm, vanishing into the
+000 mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+100 The wreckage of a bridge (and a dead bear) can be seen at the bottom
+100 of the chasm.
+33 *troll
+000 A burly troll stands by the bridge and insists you throw him a
+000 treasure before you may cross.
+100 The troll steps out from beneath the bridge and blocks your way.
+200 %! (chased away)
+300 The troll sounds quite adamant in his demand for a treasure.
+34 *phony troll
+000 The troll is nowhere to be seen.
+35 %! (bear uses rtext 141)
+000 There is a ferocious cave bear eying you from the far end of the room!
+100 There is a gentle cave bear sitting placidly in one corner.
+200 There is a contented-looking bear wandering about nearby.
+300 %! (dead)
+36 *message in second maze
+000 There is a message scrawled in the dust in a flowery script, reading:
+000 "This is not the maze where the pirate leaves his treasure chest."
+100 "This is not the maze where the pirate leaves his treasure chest."
+37 *volcano and/or geyser
+000 %!
+38 *vending machine
+000 There is a massive and somewhat battered vending machine here. The
+000 instructions on it read: "Drop coins here to receive fresh batteries."
+100 "Drop coins here to receive fresh batteries."
+200 As you strike the vending machine, it pivots backward along with a
+200 section of wall, revealing a dark passage leading south.
+300 There is a massive vending machine here, swung back to reveal a
+300 southward passage.
+400 "Drop coins here to receive fresh batteries."
+500 The vending machine swings back to block the passage.
+39 Batteries
+000 There are fresh batteries here.
+100 Some worn-out batteries have been discarded nearby.
+40 *carpet and/or moss and/or curtains
+000 %!
+41 *ogre
+000 A formidable ogre bars the northern exit.
+100 The ogre is apparently the strong, silent type.
+42 *urn
+000 A small urn is embedded in the rock.
+100 A small urn full of oil is embedded in the rock.
+200 A small oil flame extrudes from an urn embedded in the rock.
+43 *cavity
+000 %! (something in it)
+100 There is a small urn-shaped cavity in the rock.
+44 *blood
+000 %! (described with dragon)
+45 *reservoir
+000 %!
+100 The waters have parted to form a narrow path across the reservoir.
+200 The waters crash together again.
+46 Leporine appendage
+000 Your keen eye spots a severed leporine appendage lying on the ground.
+47 *mud
+000 %!
+100 "MAGIC WORD XYZZY"
+48 *note
+000 %!
+100 "You won't get it up the steps"
+49 *sign
+000 %!
+100 Cave under construction beyond this point.
+100 Proceed at own risk.
+100 [Witt Construction Company]
+200 "Treasure Vault. Keys in main office."
+50 Large gold nugget
+000 There is a large sparkling nugget of gold here!
+51 Several diamonds
+000 There are diamonds here!
+52 Bars of silver
+000 There are bars of silver here!
+53 Precious jewelry
+000 There is precious jewelry here!
+54 Rare coins
+000 There are many coins here!
+55 Treasure chest
+000 The pirate's treasure chest is here!
+56 Golden eggs
+000 There is a large nest here, full of golden eggs!
+100 The nest of golden eggs has vanished!
+200 Done!
+57 Jeweled trident
+000 There is a jewel-encrusted trident here!
+58 Ming vase
+000 There is a delicate, precious, ming vase here!
+100 The vase is now resting, delicately, on a velvet pillow.
+200 The floor is littered with worthless shards of pottery.
+300 The ming vase drops with a delicate crash.
+59 Egg-sized emerald
+000 There is an emerald here the size of a plover's egg!
+100 There is an emerald resting in a small cavity in the rock!
+60 Platinum pyramid
+000 There is a platinum pyramid here, 8 inches on a side!
+61 Glistening pearl
+000 Off to one side lies a glistening pearl!
+62 Persian rug
+000 There is a persian rug spread out on the floor!
+100 The dragon is sprawled out on a persian rug!!
+200 There is a persian rug here, hovering in mid-air!
+63 Rare spices
+000 There are rare spices here!
+64 Golden chain
+000 There is a golden chain lying in a heap on the floor!
+100 The bear is locked to the wall with a golden chain!
+200 There is a golden chain locked to the wall!
+65 Giant ruby
+000 There is an enormous ruby here!
+100 There is a ruby resting in a small cavity in the rock!
+66 Jade necklace
+000 A precious jade necklace has been dropped here!
+67 Amber gemstone
+000 There is a rare amber gemstone here!
+100 There is an amber gemstone resting in a small cavity in the rock!
+68 Star sapphire
+000 A brilliant blue star sapphire is here!
+100 There is a star sapphire resting in a small cavity in the rock!
+69 Ebony statuette
+000 There is a richly-carved ebony statuette here!
+-1
+6
+1 Somewhere nearby is Colossal Cave, where others have found fortunes in
+1 treasure and gold, though it is rumored that some who enter are never
+1 seen again. Magic is said to work in the cave. I will be your eyes
+1 and hands. Direct me with commands of 1 or 2 words. I should warn
+1 you that I look at only the first five letters of each word, so you'll
+1 have to enter "northeast" as "ne" to distinguish it from "north".
+1 You can type "help" for some general hints. For information on how
+1 to end your adventure, scoring, etc., type "info".
+1 - - -
+1 This program was originally developed by Willie Crowther. Most of the
+1 features of the current program were added by Don Woods. Contact Don
+1 if you have any questions, comments, etc.
+2 A little dwarf with a big knife blocks your way.
+3 A little dwarf just walked around a corner, saw you, threw a little
+3 axe at you which missed, cursed, and ran away.
+4 There are %1 threatening little dwarves in the room with you.
+5 There is a threatening little dwarf in the room with you!
+6 One sharp nasty knife is thrown at you!
+7 A hollow voice says "PLUGH".
+8 It gets you!
+9 It misses!
+10 I am unsure how you are facing. Use compass points or nearby objects.
+11 I don't know in from out here. Use compass points or name something
+11 in the general direction you want to go.
+12 I don't know how to apply that word here.
+13 You're quite welcome.
+14 I'm game. Would you care to explain how?
+15 Sorry, but I am not allowed to give more detail. I will repeat the
+15 long description of your location.
+16 It is now pitch dark. If you proceed you will likely fall into a pit.
+17 If you prefer, simply type w rather than west.
+18 Are you trying to catch the bird?
+19 Something about you seems to be frightening the bird. Perhaps you
+19 might figure out what it is.
+20 Are you trying to somehow deal with the snake?
+21 You can't kill the snake, or drive it away, or avoid it, or anything
+21 like that. There is a way to get by, but you don't have the necessary
+21 resources right now.
+22 Do you really want to quit now?
+23 You fell into a pit and broke every bone in your body!
+24 You are already carrying it!
+25 You can't be serious!
+26 The bird seemed unafraid at first, but as you approach it becomes
+26 disturbed and you cannot catch it.
+27 You can catch the bird, but you cannot carry it.
+28 There is nothing here with a lock!
+29 You aren't carrying it!
+30 The little bird attacks the green snake, and in an astounding flurry
+30 drives the snake away.
+31 You have no keys!
+32 It has no lock.
+33 I don't know how to lock or unlock such a thing.
+34 It was already locked.
+35 The grate is now locked.
+36 The grate is now unlocked.
+37 It was already unlocked.
+38 The urn is empty and will not light.
+39 Your lamp is now on.
+40 Your lamp is now off.
+41 There is no way to get past the bear to unlock the chain, which is
+41 probably just as well.
+42 Nothing happens.
+43 Where?
+44 There is nothing here to attack.
+45 The little bird is now dead. Its body disappears.
+46 Attacking the snake both doesn't work and is very dangerous.
+47 You killed a little dwarf.
+48 You attack a little dwarf, but he dodges out of the way.
+49 With what? Your bare hands?
+50 Good try, but that is an old worn-out magic word.
+51 I know of places, actions, and things. Most of my vocabulary
+51 describes places and is used to move you there. To move, try words
+51 like forest, building, downstream, enter, east, west, north, south,
+51 up, or down. I know about a few special objects, like a black rod
+51 hidden in the cave. These objects can be manipulated using some of
+51 the action words that I know. Usually you will need to give both the
+51 object and action words (in either order), but sometimes I can infer
+51 the object from the verb alone. Some objects also imply verbs; in
+51 particular, "inventory" implies "take inventory", which causes me to
+51 give you a list of what you're carrying. Some objects have unexpected
+51 effects; the effects are not always desirable! Usually people having
+51 trouble moving just need to try a few more words. Usually people
+51 trying unsuccessfully to manipulate an object are attempting something
+51 beyond their (or my!) capabilities and should try a completely
+51 different tack. One point often confusing to beginners is that, when
+51 there are several ways to go in a certain direction (e.g., if there
+51 are several holes in a wall), choosing that direction in effect
+51 chooses one of the ways at random; often, though, by specifying the
+51 place you want to reach you can guarantee choosing the right path.
+51 Also, to speed the game you can sometimes move long distances with a
+51 single word. For example, "building" usually gets you to the building
+51 from anywhere above ground except when lost in the forest. Also, note
+51 that cave passages and forest paths turn a lot, so leaving one place
+51 heading north doesn't guarantee entering the next from the south.
+51 However (another important point), except when you've used a "long
+51 distance" word such as "building", there is always a way to go back
+51 where you just came from unless I warn you to the contrary, even
+51 though the direction that takes you back might not be the reverse of
+51 what got you here. Good luck, and have fun!
+52 There is no way to go that direction.
+53 Please stick to 1- and 2-word commands.
+54 OK
+55 You can't unlock the keys.
+56 You have crawled around in some little holes and wound up back in the
+56 main passage.
+57 I don't know where the cave is, but hereabouts no stream can run on
+57 the surface for long. I would try the stream.
+58 I need more detailed instructions to do that.
+59 I can only tell you what you see as you move about and manipulate
+59 things. I cannot tell you where remote things are.
+60 The ogre snarls and shoves you back.
+61 Huh?
+62 Are you trying to get into the cave?
+63 The grate is very solid and has a hardened steel lock. You cannot
+63 enter without a key, and there are no keys nearby. I would recommend
+63 looking elsewhere for the keys.
+64 The trees of the forest are large hardwood oak and maple, with an
+64 occasional grove of pine or spruce. There is quite a bit of under-
+64 growth, largely birch and ash saplings plus nondescript bushes of
+64 various sorts. This time of year visibility is quite restricted by
+64 all the leaves, but travel is quite easy if you detour around the
+64 spruce and berry bushes.
+65 Welcome to Adventure!! Would you like instructions?
+66 Digging without a shovel is quite impractical. Even with a shovel
+66 progress is unlikely.
+67 Blasting requires dynamite.
+68 I'm as confused as you are.
+69 Mist is a white vapor, usually water, seen from time to time in
+69 caverns. It can be found anywhere but is frequently a sign of a deep
+69 pit leading down to water.
+70 Your feet are now wet.
+71 I think I just lost my appetite.
+72 Thank you, it was delicious!
+73 You have taken a drink from the stream. The water tastes strongly of
+73 minerals, but is not unpleasant. It is extremely cold.
+74 The bottle of water is now empty.
+75 Rubbing the electric lamp is not particularly rewarding. Anyway,
+75 nothing exciting happens.
+76 Peculiar. Nothing unexpected happens.
+77 Your bottle is empty and the ground is wet.
+78 You can't pour that.
+79 Watch it!
+80 Which way?
+81 Oh dear, you seem to have gotten yourself killed. I might be able to
+81 help you out, but I've never really done this before. Do you want me
+81 to try to reincarnate you?
+82 All right. But don't blame me if something goes wr......
+82 --- POOF!! ---
+82 You are engulfed in a cloud of orange smoke. Coughing and gasping,
+82 you emerge from the smoke and find....
+83 You clumsy oaf, you've done it again! I don't know how long I can
+83 keep this up. Do you want me to try reincarnating you again?
+84 Okay, now where did I put my orange smoke?.... >POOF!<
+84 Everything disappears in a dense cloud of orange smoke.
+85 Now you've really done it! I'm out of orange smoke! You don't expect
+85 me to do a decent reincarnation without any orange smoke, do you?
+86 Okay, if you're so smart, do it yourself! I'm leaving!
+90 >>> messages 81 thru 90 are reserved for "obituaries". <<<
+91 Sorry, but I no longer seem to remember how it was you got here.
+92 You can't carry anything more. You'll have to drop something first.
+93 You can't go through a locked steel grate!
+94 I believe what you want is right here with you.
+95 You don't fit through a two-inch slit!
+96 I respectfully suggest you go across the bridge instead of jumping.
+97 There is no way across the fissure.
+98 You're not carrying anything.
+99 You are currently holding the following:
+100 It's not hungry (it's merely pinin' for the fjords). Besides, you
+100 have no bird seed.
+101 The snake has now devoured your bird.
+102 There's nothing here it wants to eat (except perhaps you).
+103 You fool, dwarves eat only coal! Now you've made him *REALLY* mad!!
+104 You have nothing in which to carry it.
+105 Your bottle is already full.
+106 There is nothing here with which to fill the bottle.
+107 Your bottle is now full of water.
+108 Your bottle is now full of oil.
+109 You can't fill that.
+110 Don't be ridiculous!
+111 The door is extremely rusty and refuses to open.
+112 The plant indignantly shakes the oil off its leaves and asks, "Water?"
+113 The hinges are quite thoroughly rusted now and won't budge.
+114 The oil has freed up the hinges so that the door will now move,
+114 although it requires some effort.
+115 The plant has exceptionally deep roots and cannot be pulled free.
+116 The dwarves' knives vanish as they strike the walls of the cave.
+117 Something you're carrying won't fit through the tunnel with you.
+117 You'd best take inventory and drop something.
+118 You can't fit this five-foot clam through that little passage!
+119 You can't fit this five-foot oyster through that little passage!
+120 I advise you to put down the clam before opening it. >STRAIN!<
+121 I advise you to put down the oyster before opening it. >WRENCH!<
+122 You don't have anything strong enough to open the clam.
+123 You don't have anything strong enough to open the oyster.
+124 A glistening pearl falls out of the clam and rolls away. Goodness,
+124 this must really be an oyster. (I never was very good at identifying
+124 bivalves.) Whatever it is, it has now snapped shut again.
+125 The oyster creaks open, revealing nothing but oyster inside. It
+125 promptly snaps shut again.
+126 You have crawled around in some little holes and found your way
+126 blocked by a recent cave-in. You are now back in the main passage.
+127 There are faint rustling noises from the darkness behind you.
+128 Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+128 he chortles, "I'll just take all this booty and hide it away with me
+128 chest deep in the maze!" He snatches your treasure and vanishes into
+128 the gloom.
+129 A sepulchral voice reverberating through the cave, says, "Cave closing
+129 soon. All adventurers exit immediately through main office."
+130 A mysterious recorded voice groans into life and announces:
+130 "This exit is closed. Please leave via main office."
+131 It looks as though you're dead. Well, seeing as how it's so close to
+131 closing time anyway, I think we'll just call it a day.
+132 The sepulchral voice intones, "The cave is now closed." As the echoes
+132 fade, there is a blinding flash of light (and a small puff of orange
+132 smoke). . . . As your eyes refocus, you look around and find...
+133 There is a loud explosion, and a twenty-foot hole appears in the far
+133 wall, burying the dwarves in the rubble. You march through the hole
+133 and find yourself in the main office, where a cheering band of
+133 friendly elves carry the conquering adventurer off into the sunset.
+134 There is a loud explosion, and a twenty-foot hole appears in the far
+134 wall, burying the snakes in the rubble. A river of molten lava pours
+134 in through the hole, destroying everything in its path, including you!
+135 There is a loud explosion, and you are suddenly splashed across the
+135 walls of the room.
+136 The resulting ruckus has awakened the dwarves. There are now several
+136 threatening little dwarves in the room with you! Most of them throw
+136 knives at you! All of them get you!
+137 Oh, leave the poor unhappy bird alone.
+138 I daresay whatever you want is around here somewhere.
+139 I don't know the word "stop". Use "quit" if you want to give up.
+140 You can't get there from here.
+141 You are being followed by a very large, tame bear.
+142 For a summary of the most recent changes to the game, say "news".
+142 If you want to end your adventure early, say "quit". To suspend your
+142 adventure such that you can continue later, say "suspend" (or "pause"
+142 or "save"). To see how well you're doing, say "score". To get full
+142 credit for a treasure, you must have left it safely in the building,
+142 though you get partial credit just for locating it. You lose points
+142 for getting killed, or for quitting, though the former costs you more.
+142 There are also points based on how much (if any) of the cave you've
+142 managed to explore; in particular, there is a large bonus just for
+142 getting in (to distinguish the beginners from the rest of the pack),
+142 and there are other ways to determine whether you've been through some
+142 of the more harrowing sections. If you think you've found all the
+142 treasures, just keep exploring for a while. If nothing interesting
+142 happens, you haven't found them all yet. If something interesting
+142 *DOES* happen (incidentally, there *ARE* ways to hasten things along),
+142 it means you're getting a bonus and have an opportunity to garner many
+142 more points in the Master's section. I may occasionally offer hints
+142 if you seem to be having trouble. If I do, I'll warn you in advance
+142 how much it will affect your score to accept the hints. Finally, to
+142 save time, you may specify "brief", which tells me never to repeat the
+142 full description of a place unless you explicitly ask me to.
+143 Now let's see you do it without suspending in mid-Adventure.
+144 There is nothing here with which to fill it.
+145 The sudden change in temperature has delicately shattered the vase.
+146 It is beyond your power to do that.
+147 I don't know how.
+148 It is too far up for you to reach.
+149 You killed a little dwarf. The body vanishes in a cloud of greasy
+149 black smoke.
+150 The shell is very strong and is impervious to attack.
+151 What's the matter, can't you read? Now you'd best start over.
+152 The axe bounces harmlessly off the dragon's thick scales.
+153 The dragon looks rather nasty. You'd best not try to get by.
+154 The little bird attacks the green dragon, and in an astounding flurry
+154 gets burnt to a cinder. The ashes blow away.
+155 On what?
+156 Okay, from now on I'll only describe a place in full the first time
+156 you come to it. To get the full description, say "look".
+157 Trolls are close relatives with the rocks and have skin as tough as
+157 that of a rhinoceros. The troll fends off your blows effortlessly.
+158 The troll deftly catches the axe, examines it carefully, and tosses it
+158 back, declaring, "Good workmanship, but it's not valuable enough."
+159 The troll catches your treasure and scurries away out of sight.
+160 The troll refuses to let you cross.
+161 There is no longer any way across the chasm.
+162 Just as you reach the other side, the bridge buckles beneath the
+162 weight of the bear, which was still following you around. You
+162 scrabble desperately for support, but as the bridge collapses you
+162 stumble back and fall into the chasm.
+163 The bear lumbers toward the troll, who lets out a startled shriek and
+163 scurries away. The bear soon gives up the pursuit and wanders back.
+164 The axe misses and lands near the bear where you can't get at it.
+165 With what? Your bare hands? Against *HIS* bear hands??
+166 The bear is confused; he only wants to be your friend.
+167 For crying out loud, the poor thing is already dead!
+168 The bear eagerly wolfs down your food, after which he seems to calm
+168 down considerably and even becomes rather friendly.
+169 The bear is still chained to the wall.
+170 The chain is still locked.
+171 The chain is now unlocked.
+172 The chain is now locked.
+173 There is nothing here to which the chain can be locked.
+174 There is nothing here to eat.
+175 Do you want the hint?
+176 Do you need help getting out of the maze?
+177 You can make the passages look less alike by dropping things.
+178 Are you trying to explore beyond the plover room?
+179 There is a way to explore that region without having to worry about
+179 falling into a pit. None of the objects available is immediately
+179 useful in discovering the secret.
+180 Do you need help getting out of here?
+181 Don't go west.
+182 Gluttony is not one of the troll's vices. Avarice, however, is.
+183 Your lamp is getting dim. You'd best start wrapping this up, unless
+183 you can find some fresh batteries. I seem to recall there's a vending
+183 machine in the maze. Bring some coins with you.
+184 Your lamp has run out of power.
+185 Please answer the question.
+186 There are faint rustling noises from the darkness behind you. As you
+186 turn toward them, the beam of your lamp falls across a bearded pirate.
+186 He is carrying a large chest. "Shiver me timbers!" he cries, "I've
+186 been spotted! I'd best hie meself off to the maze to hide me chest!"
+186 With that, he vanishes into the gloom.
+187 Your lamp is getting dim. You'd best go back for those batteries.
+188 Your lamp is getting dim. I'm taking the liberty of replacing the
+188 batteries.
+189 Your lamp is getting dim, and you're out of spare batteries. You'd
+189 best start wrapping this up.
+190 You sift your fingers through the dust, but succeed only in
+190 obliterating the cryptic message.
+191 Do you need help dealing with the ogre?
+192 Hmmm, this looks like a clue, which means it'll cost you 10 points to
+192 read it. Should I go ahead and read it anyway?
+193 It says, "There is a way out of this place. Do you need any more
+193 information to escape? Sorry, but this initial hint is all you get."
+194 There is nothing the presence of which will prevent you from defeating
+194 him; thus it can't hurt to fetch everything you possibly can.
+195 I'm afraid I don't understand.
+196 Your hand passes through it as though it weren't there.
+197 You strike the mirror a resounding blow, whereupon it shatters into a
+197 myriad tiny fragments.
+198 You have taken the vase and hurled it delicately to the ground.
+199 You prod the nearest dwarf, who wakes up grumpily, takes one look at
+199 you, curses, and grabs for his axe.
+200 Is this acceptable?
+201 This adventure is already over. To start a new adventure, or to
+201 resume an earlier adventure, please run a fresh copy of the program.
+202 The ogre doesn't appear to be hungry.
+203 The ogre, who despite his bulk is quite agile, easily dodges your
+203 attack. He seems almost amused by your puny effort.
+204 The ogre, distracted by your rush, is struck by the knife. With a
+204 blood-curdling yell he turns and bounds after the dwarves, who flee
+204 in panic. You are left alone in the room.
+205 The ogre, distracted by your rush, is struck by the knife. With a
+205 blood-curdling yell he turns and bounds after the dwarf, who flees
+205 in panic. You are left alone in the room.
+206 The bird flies about agitatedly for a moment.
+207 The bird flies agitatedly about the cage.
+208 The bird flies about agitatedly for a moment, then disappears through
+208 the crack. It reappears shortly, carrying in its beak a jade
+208 necklace, which it drops at your feet.
+209 The urn is now lit.
+210 The urn is now dark.
+211 You empty the bottle into the urn, which promptly ejects the water
+211 with uncanny accuracy, squirting you directly between the eyes.
+212 Your bottle is now empty and the urn is full of oil.
+213 The urn is already full of oil.
+214 There's no way to get the oil out of the urn.
+215 The urn is far too firmly embedded for your puny strength to budge it.
+216 As you rub the urn, there is a flash of light and a genie appears.
+216 His aspect is stern as he advises: "One who wouldst traffic in
+216 precious stones must first learn to recognize the signals thereof."
+216 He wrests the urn from the stone, leaving a small cavity. Turning to
+216 face you again, he fixes you with a steely eye and intones: "Caution!"
+216 Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+216 to form a rare amber gemstone, resting in the cavity in the rock.
+217 I suppose you collect doughnut holes, too?
+218 The gem fits easily into the cavity.
+219 The persian rug stiffens and rises a foot or so off the ground.
+220 The persian rug draped over your shoulder seems to wriggle for a
+220 moment, but then subsides.
+221 The persian rug settles gently to the ground.
+222 The rug hovers stubbornly where it is.
+223 The rug does not appear inclined to cooperate.
+224 If you mean to use the persian rug, it does not appear inclined to
+224 cooperate.
+225 Though you flap your arms furiously, it is to no avail.
+226 You board the persian rug, which promptly whisks you across the chasm.
+226 You have time for a fleeting glimpse of a two thousand foot drop to a
+226 mighty river; then you find yourself on the other side.
+227 The rug ferries you back across the chasm.
+228 All is silent.
+229 The stream is gurgling placidly.
+230 The wind whistles coldly past your ears.
+231 The stream splashes loudly into the pool.
+232 You are unable to make anything of the splashing noise.
+233 You can hear the murmuring of the beanstalks and the snoring of the
+233 dwarves.
+234 A loud hissing emanates from the snake pit.
+235 The air is filled with a dull rumbling sound.
+236 The roar is quite loud here.
+237 The roaring is so loud that it drowns out all other sound.
+238 The bird eyes you suspiciously and flutters away. A moment later you
+238 feel something wet land on your head, but upon looking up you can see
+238 no sign of the culprit.
+239 There are only a few drops--not enough to carry.
+240 Your head buzzes strangely for a moment.
+241 (Uh, y'know, that wasn't very bright.)
+242 It's a pity you took so long about it.
+243 Are you wondering what to do here?
+244 This section is quite advanced. Find the cave first.
+245 Upstream or downstream?
+246 Wizards are not to be disturbed by such as you.
+247 Would you like to be shown out of the forest?
+248 Go east ten times. If that doesn't get you out, then go south, then
+248 west twice, then south.
+249 The waters are crashing loudly against the shore.
+250 %1 of them throw knives at you!
+251 %1 of them get you!
+252 One of them gets you!
+253 None of them hits you!
+254 Sorry, I don't know the word "%W".
+255 What do you want to do with the %L?
+256 I see no %L here.
+257 %C what?
+258 Okay, "%W".
+259 You have garnered %3 out of a possible %3 points, using %5 turn%S.
+260 I can suspend your Adventure for you so that you can resume later, but
+260 it will cost you 5 points.
+261 I am prepared to give you a hint, but it will cost you %1 point%S.
+262 You scored %3 out of a possible %3, using%5 turn%S.
+263 To achieve the next higher rating, you need %2 more point%S.
+264 To achieve the next higher rating would be a neat trick!
+264 Congratulations!!
+265 You just went off my scale!!
+266 To resume your Adventure, start a new game and then say "RESUME".
+267 Table space used:
+267 %6 of %6 words of messages %6 of %6 travel options
+267 %6 of %6 vocabulary words %6 of %6 locations
+267 %6 of %6 objects %6 of %6 action verbs
+267 %6 of %6 "random" messages %6 of %6 "class" messages
+267 %6 of %6 hints %6 of %6 turn threshholds
+268 To resume an earlier Adventure, you must abandon the current one.
+269 I'm sorry, but that Adventure was begun using Version%2.%1 of the
+269 program, and this is Version%2.%1. You must find the other version
+269 in order to resume that Adventure.
+270 A dark fog creeps in to surround you. From somewhere in the fog you
+270 hear a stern voice. "This Adventure has been tampered with! You have
+270 been dabbling in magic, knowing not the havoc you might cause thereby.
+270 Leave at once, before you do irrevocable harm!" The fog thickens,
+270 until at last you can see nothing at all. Your vision then clears,
+270 and you find yourself back in The Real World.
+271 Guess again.
+272 You're missing only one other treasure. Do you need help finding it?
+273 Once you've found all the other treasures, it is no longer possible to
+273 locate the one you're now missing.
+274 Sorry, but the path twisted and turned so much that I can't figure
+274 out which way to go to get back.
+275 Version 2.5 is essentially the same as Version II; the cave and the
+275 hazards therein are unchanged, and top score is still 430 points.
+275 There are a few more hints, especially for some of the more obscure
+275 puzzles. There are a few minor bugfixes and cosmetic changes. You
+275 can now save a game and resume it at once (formerly you had to wait a
+275 while first), but it now costs you a few points each time you save the
+275 game. Saved games are now stored in much smaller files than before.
+276 You don't have to say "go" every time; just specify a direction or, if
+276 it's nearby, name the place to which you wish to move.
+-1
+7
+1 3
+2 3
+3 8 9
+4 10
+5 11
+6 0
+7 14 15
+8 13
+9 94 -1
+10 96
+11 19 -1
+12 17 27
+13 101 -1
+14 103
+15 0
+16 106
+17 0 -1
+18 0
+19 3
+20 3
+21 0
+22 0
+23 109 -1
+24 25 -1
+25 23 67
+26 111 -1
+27 35 110
+28 0
+29 97 -1
+30 0 -1
+31 119 121
+32 117 122
+33 117 122
+34 0 0
+35 130 -1
+36 0 -1
+37 126 -1
+38 140 -1
+39 0
+40 96 -1
+41 143 -1
+42 6 -1
+43 0 -1
+44 0 -1
+45 113 169
+46 166
+47 11 -1
+48 18 -1
+49 106 -1
+50 18
+51 27
+52 28
+53 29
+54 30
+55 0
+56 92
+57 95
+58 97
+59 100
+60 101
+61 0
+62 119 121
+63 127
+64 130 -1
+65 144
+66 0
+67 0
+68 167
+69 177
+-1
+8
+1 24
+2 29
+3 0
+4 33
+5 0
+6 33
+7 195
+8 195
+9 42
+10 14
+11 43
+12 110
+13 29
+14 110
+15 73
+16 75
+17 29
+18 61
+19 59
+20 59
+21 174
+22 109
+23 67
+24 61
+25 147
+26 155
+27 195
+28 146
+29 110
+30 61
+31 61
+32 14
+33 195
+34 42
+35 61
+-1
+9
+0 1 2 3 4 5 6 7 8 9 10
+0 100 115 116 126 145 146 147 148 149 150
+0 151 152 153 154 155 156 157 158 159 160
+0 161 162 163 164 165 166 167
+2 1 3 4 7 38 95 113 24 168 169
+1 24
+3 46 47 48 54 56 58 82 85 86
+3 122 123 124 125 126 127 128 129 130
+4 6 145 146 147 148 149 150 151 152
+4 153 154 155 156 157 158 159 160 161
+4 162 163 164 165 166 42 43 44 45
+4 49 50 51 52 53 55 57 80 83
+4 84 87 107 112 131 132 133 134 135
+4 136 137 138 139 108
+11 8
+12 13
+13 19
+14 42 43 44 45 46 47 48 49 50 51
+14 52 53 54 55 56 80 81 82 86 87
+15 99 100 101
+16 108
+17 6
+18 145 146 147 148 149 150 151 152 153 154
+18 155 156 157 158 159 160 161 162 163 164
+18 165 166
+19 143
+20 8 15 64 109 126
+-1
+10
+45 You are obviously a rank amateur. Better luck next time.
+120 Your score qualifies you as a novice class adventurer.
+170 You have achieved the rating: "Experienced Adventurer".
+250 You may now consider yourself a "Seasoned Adventurer".
+320 You have reached "Junior Master" status.
+375 Your score puts you in Master Adventurer Class C.
+410 Your score puts you in Master Adventurer Class B.
+426 Your score puts you in Master Adventurer Class A.
+429 All of Adventuredom gives tribute to you, Adventurer Grandmaster!
+9999 Adventuredom stands in awe -- you have now joined the ranks of the
+9999 W O R L D C H A M P I O N A D V E N T U R E R S !
+9999 It may interest you to know that the Dungeon-Master himself has, to
+9999 my knowledge, never achieved this threshhold in fewer than 330 turns.
+-1
+11
+1 4 2 62 63
+2 5 2 18 19
+3 8 2 20 21
+4 75 4 176 177
+5 25 5 178 179
+6 20 3 180 181
+7 8 2 243 244
+8 25 2 247 248
+9 10 4 191 194
+10 1 4 272 273
+-1
+13
+8 3 -1
+11 2 -1
+13 -1 1
+14 1 -1
+15 2 -1
+16 -1 1
+24 6 -1
+31 4 -1
+33 3 -1
+36 -1 1
+38 -1 1
+41 1 -1
+47 -1 1
+48 -1 1
+49 -1 1
+1 229
+3 229
+4 229
+7 229
+15 230
+38 229
+64 230
+94 230
+95 231
+98 232
+109 230
+113 231
+115 233
+116 234
+123 235
+124 235
+125 236
+126 -237
+127 235
+168 -237
+169 249
+-1
+14
+200350 Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+200350 you a couple of points.
+300500 500 turns? That's another few points you've lost.
+501000 Are you still at it? Five points off for exceeding 1000 turns!
+1002500 Good grief, don't you *EVER* give up? Do you realize you've spent
+1002500 over 2500 turns at this? That's another ten points off, a total of
+1002500 twenty points lost for taking so long.
+-1
+0
--- /dev/null
+#define LINESIZE 100
+#define RTXSIZ 277
+#define CLSMAX 12
+#define LOCSIZ 185
+#define LINSIZ 12500
+#define TRNSIZ 5
+#define TABSIZ 330
+#define VRBSIZ 35
+#define HNTSIZ 20
+#define TRVSIZ 885
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <unistd.h>
+
+const char advent_to_ascii[] = {0, 32, 33, 34, 39, 40, 41, 42, 43, 44, 45, 46, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 37, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 35, 36, 38, 47, 58, 59, 60, 61, 62, 63, 64, 91, 92, 93, 94, 95, 96, 123, 124, 125, 126, 0};
+/* Rendered from the now-gone MPINIT() function */
+const char ascii_to_advent[] = {0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 0, 1, 2, 106, 107, 63, 108, 3, 4, 5, 6, 7, 8, 9, 10, 109, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 110, 111, 112, 113, 114, 115, 116, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 117, 118, 119, 120, 121, 122, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 123, 124, 125, 126, 83};
+
+// Global variables for use in functions below that can gradually disappear as code is cleaned up
+long LNLENG;
+long LNPOSN;
+signed char INLINE[LINESIZE+1];
+long I;
+long K;
+long KK;
+long L;
+long LOC;
+long NEWLOC;
+long OBJ;
+long OLDLOC;
+long SECT;
+long VERB;
+
+// Storage for what comes out of the database
+long LINUSE;
+long TRVS;
+long CLSSES;
+long TRNVLS;
+long TABNDX;
+long HNTMAX;
+long PTEXT[101];
+long RTEXT[RTXSIZ + 1];
+long CTEXT[CLSMAX + 1];
+long OBJSND[101];
+long OBJTXT[101];
+long STEXT[LOCSIZ + 1];
+long LTEXT[LOCSIZ + 1];
+long COND[LOCSIZ + 1];
+long KEY[LOCSIZ + 1];
+long LOCSND[LOCSIZ + 1];
+long LINES[LINSIZ + 1];
+long CVAL[CLSMAX + 1];
+long TTEXT[TRNSIZ + 1];
+long TRNVAL[TRNSIZ + 1];
+long TRAVEL[TRVSIZ + 1];
+long KTAB[TABSIZ + 1];
+long ATAB[TABSIZ + 1];
+long PLAC[101];
+long FIXD[101];
+long ACTSPK[VRBSIZ + 1];
+long HINTS[HNTSIZ + 1][5];
+
+bool is_set(long, long);
+long GETTXT(long, long, long);
+void BUG(long);
+void MAPLIN(FILE*);
+long GETNUM(FILE*);
+int read_database(FILE*);
+void write_0d(FILE*, FILE*, long, char*);
+void write_1d(FILE*, FILE*, long[], long, char*);
+void write_hints(FILE*, FILE*, long[][5], long, long, char*);
+void write_files(FILE*, FILE*);
+
+bool is_set(long var, long position)
+{
+ long mask = 1l << position;
+ bool result = (var & mask) == mask;
+ return(result);
+}
+
+long GETTXT(long SKIP,long ONEWRD, long UPPER) {
+/* Take characters from an input line and pack them into 30-bit words.
+ * Skip says to skip leading blanks. ONEWRD says stop if we come to a
+ * blank. UPPER says to map all letters to uppercase. If we reach the
+ * end of the line, the word is filled up with blanks (which encode as 0's).
+ * If we're already at end of line when GETTXT is called, we return -1. */
+
+ long CHAR;
+ long GETTXT;
+ static long SPLITTING = -1;
+
+ if(LNPOSN != SPLITTING)
+ SPLITTING = -1;
+ GETTXT= -1;
+ L10:
+ if(LNPOSN > LNLENG)
+ return(GETTXT);
+ if((!SKIP) || INLINE[LNPOSN] != 0)
+ goto L11;
+ LNPOSN=LNPOSN+1;
+ goto L10;
+
+ L11:
+ GETTXT=0;
+ for (int I=1; I<=5; I++) {
+ GETTXT=GETTXT*64;
+ if(LNPOSN > LNLENG || (ONEWRD && INLINE[LNPOSN] == 0))
+ continue;
+ CHAR=INLINE[LNPOSN];
+ if(CHAR >= 63)
+ goto L12;
+ SPLITTING = -1;
+ if(UPPER && CHAR >= 37)
+ CHAR=CHAR-26;
+ GETTXT=GETTXT+CHAR;
+ goto L14;
+
+ L12:
+ if(SPLITTING == LNPOSN)
+ goto L13;
+ GETTXT=GETTXT+63;
+ SPLITTING = LNPOSN;
+ continue;
+
+ L13:
+ GETTXT=GETTXT+CHAR-63;
+ SPLITTING = -1;
+ L14:
+ LNPOSN=LNPOSN+1;
+ }
+
+ return(GETTXT);
+}
+
+void BUG(long NUM) {
+
+/* The following conditions are currently considered fatal bugs. Numbers < 20
+ * are detected while reading the database; the others occur at "run time".
+ * 0 Message line > 70 characters
+ * 1 Null line in message
+ * 2 Too many words of messages
+ * 3 Too many travel options
+ * 4 Too many vocabulary words
+ * 5 Required vocabulary word not found
+ * 6 Too many RTEXT messages
+ * 7 Too many hints
+ * 8 Location has cond bit being set twice
+ * 9 Invalid section number in database
+ * 10 Too many locations
+ * 11 Too many class or turn messages
+ * 20 Special travel (500>L>300) exceeds goto list
+ * 21 Ran off end of vocabulary table
+ * 22 Vocabulary type (N/1000) not between 0 and 3
+ * 23 Intransitive action verb exceeds goto list
+ * 24 Transitive action verb exceeds goto list
+ * 25 Conditional travel entry with no alternative
+ * 26 Location has no travel entries
+ * 27 Hint number exceeds goto list
+ * 28 Invalid month returned by date function
+ * 29 Too many parameters given to SETPRM */
+
+ fprintf(stderr, "Fatal error %ld. See source code for interpretation.\n", NUM);
+ exit(EXIT_FAILURE);
+}
+
+void MAPLIN(FILE *OPENED) {
+/* Read a line of input, from the specified input source,
+ * translate the chars to integers in the range 0-126 and store
+ * them in the common array "INLINE". Integer values are as follows:
+ * 0 = space [ASCII CODE 40 octal, 32 decimal]
+ * 1-2 = !" [ASCII 41-42 octal, 33-34 decimal]
+ * 3-10 = '()*+,-. [ASCII 47-56 octal, 39-46 decimal]
+ * 11-36 = upper-case letters
+ * 37-62 = lower-case letters
+ * 63 = percent (%) [ASCII 45 octal, 37 decimal]
+ * 64-73 = digits, 0 through 9
+ * Remaining characters can be translated any way that is convenient;
+ * The "TYPE" routine below is used to map them back to characters when
+ * necessary. The above mappings are required so that certain special
+ * characters are known to fit in 6 bits and/or can be easily spotted.
+ * Array elements beyond the end of the line should be filled with 0,
+ * and LNLENG should be set to the index of the last character.
+ *
+ * If the data file uses a character other than space (e.g., tab) to
+ * separate numbers, that character should also translate to 0.
+ *
+ * This procedure may use the map1,map2 arrays to maintain static data for
+ * the mapping. MAP2(1) is set to 0 when the program starts
+ * and is not changed thereafter unless the routines on this page choose
+ * to do so. */
+
+ do {
+ fgets(INLINE + 1, sizeof(INLINE) - 1, OPENED);
+ }
+ while (!feof(OPENED) && INLINE[1] == '#');
+
+ LNLENG = 0;
+ for (int i = 1; i <= sizeof(INLINE) && INLINE[i] != 0; ++i)
+ {
+ char val = INLINE[i] + 1;
+ INLINE[i] = ascii_to_advent[val];
+ if (INLINE[i] != 0)
+ LNLENG = i;
+ }
+ LNPOSN = 1;
+}
+
+long GETNUM(FILE *source) {
+/* Obtain the next integer from an input line. If K>0, we first read a
+ * new input line from a file; if K<0, we read a line from the keyboard;
+ * if K=0 we use a line that has already been read (and perhaps partially
+ * scanned). If we're at the end of the line or encounter an illegal
+ * character (not a digit, hyphen, or blank), we return 0. */
+
+ long DIGIT, GETNUM, SIGN;
+
+ if(source != NULL) MAPLIN(source);
+ GETNUM = 0;
+
+ while (INLINE[LNPOSN] == 0)
+ {
+ if (LNPOSN > LNLENG) return(GETNUM);
+ ++LNPOSN;
+ }
+
+ SIGN=1;
+ if(INLINE[LNPOSN] != 9) goto L32;
+ SIGN= -1;
+L30: LNPOSN=LNPOSN+1;
+L32: if(LNPOSN > LNLENG || INLINE[LNPOSN] == 0) goto L42;
+ DIGIT=INLINE[LNPOSN]-64;
+ if(DIGIT < 0 || DIGIT > 9) goto L40;
+ GETNUM=GETNUM*10+DIGIT;
+ goto L30;
+
+L40: GETNUM=0;
+L42: GETNUM=GETNUM*SIGN;
+ LNPOSN=LNPOSN+1;
+ return(GETNUM);
+}
+
+int read_database(FILE* database) {
+
+/* Clear out the various text-pointer arrays. All text is stored in array
+ * lines; each line is preceded by a word pointing to the next pointer (i.e.
+ * the word following the end of the line). The pointer is negative if this is
+ * first line of a message. The text-pointer arrays contain indices of
+ * pointer-words in lines. STEXT(N) is short description of location N.
+ * LTEXT(N) is long description. PTEXT(N) points to message for PROP(N)=0.
+ * Successive prop messages are found by chasing pointers. RTEXT contains
+ * section 6's stuff. CTEXT(N) points to a player-class message. TTEXT is for
+ * section 14. We also clear COND (see description of section 9 for details). */
+
+ for (int I=1; I<=300; I++) {
+ if(I <= 100) PTEXT[I] = 0;
+ if(I <= RTXSIZ) RTEXT[I] = 0;
+ if(I <= CLSMAX) CTEXT[I] = 0;
+ if(I <= 100) OBJSND[I] = 0;
+ if(I <= 100) OBJTXT[I] = 0;
+ if(I > LOCSIZ) break;
+ STEXT[I] = 0;
+ LTEXT[I] = 0;
+ COND[I] = 0;
+ KEY[I] = 0;
+ LOCSND[I] = 0;
+ }
+
+ LINUSE = 1;
+ TRVS = 1;
+ CLSSES = 0;
+ TRNVLS = 0;
+
+/* Start new data section. Sect is the section number. */
+
+ L1002: SECT=GETNUM(database);
+ OLDLOC= -1;
+ switch (SECT) {
+ case 0: return(0);
+ case 1: goto L1004;
+ case 2: goto L1004;
+ case 3: goto L1030;
+ case 4: goto L1040;
+ case 5: goto L1004;
+ case 6: goto L1004;
+ case 7: goto L1050;
+ case 8: goto L1060;
+ case 9: goto L1070;
+ case 10: goto L1004;
+ case 11: goto L1080;
+ case 12: break;
+ case 13: goto L1090;
+ case 14: goto L1004;
+ default: BUG(9);
+ }
+
+/* Sections 1, 2, 5, 6, 10, 14. Read messages and set up pointers. */
+
+L1004: KK=LINUSE;
+L1005: LINUSE=KK;
+ LOC=GETNUM(database);
+ if(LNLENG >= LNPOSN+70)BUG(0);
+ if(LOC == -1) goto L1002;
+ if(LNLENG < LNPOSN)BUG(1);
+L1006: KK=KK+1;
+ if(KK >= LINSIZ)BUG(2);
+ LINES[KK]=GETTXT(false,false,false);
+ if(LINES[KK] != -1) goto L1006;
+ LINES[LINUSE]=KK;
+ if(LOC == OLDLOC) goto L1005;
+ OLDLOC=LOC;
+ LINES[LINUSE]= -KK;
+ if(SECT == 14) goto L1014;
+ if(SECT == 10) goto L1012;
+ if(SECT == 6) goto L1011;
+ if(SECT == 5) goto L1010;
+ if(LOC > LOCSIZ)BUG(10);
+ if(SECT == 1) goto L1008;
+
+ STEXT[LOC]=LINUSE;
+ goto L1005;
+
+L1008: LTEXT[LOC]=LINUSE;
+ goto L1005;
+
+L1010: if(LOC > 0 && LOC <= 100)PTEXT[LOC]=LINUSE;
+ goto L1005;
+
+L1011: if(LOC > RTXSIZ)BUG(6);
+ RTEXT[LOC]=LINUSE;
+ goto L1005;
+
+L1012: CLSSES=CLSSES+1;
+ if(CLSSES > CLSMAX)BUG(11);
+ CTEXT[CLSSES]=LINUSE;
+ CVAL[CLSSES]=LOC;
+ goto L1005;
+
+L1014: TRNVLS=TRNVLS+1;
+ if(TRNVLS > TRNSIZ)BUG(11);
+ TTEXT[TRNVLS]=LINUSE;
+ TRNVAL[TRNVLS]=LOC;
+ goto L1005;
+
+/* The stuff for section 3 is encoded here. Each "from-location" gets a
+ * contiguous section of the "TRAVEL" array. Each entry in travel is
+ * NEWLOC*1000 + KEYWORD (from section 4, motion verbs), and is negated if
+ * this is the last entry for this location. KEY(N) is the index in travel
+ * of the first option at location N. */
+
+L1030: LOC=GETNUM(database);
+ if(LOC == -1) goto L1002;
+ NEWLOC=GETNUM(NULL);
+ if(KEY[LOC] != 0) goto L1033;
+ KEY[LOC]=TRVS;
+ goto L1035;
+L1033: TRVS--; TRAVEL[TRVS]= -TRAVEL[TRVS]; TRVS++;
+L1035: L=GETNUM(NULL);
+ if(L == 0) goto L1039;
+ TRAVEL[TRVS]=NEWLOC*1000+L;
+ TRVS=TRVS+1;
+ if(TRVS == TRVSIZ)BUG(3);
+ goto L1035;
+L1039: TRVS--; TRAVEL[TRVS]= -TRAVEL[TRVS]; TRVS++;
+ goto L1030;
+
+/* Here we read in the vocabulary. KTAB(N) is the word number, ATAB(N) is
+ * the corresponding word. The -1 at the end of section 4 is left in KTAB
+ * as an end-marker. */
+
+L1040:
+ for (TABNDX=1; TABNDX<=TABSIZ; TABNDX++) {
+ KTAB[TABNDX]=GETNUM(database);
+ if(KTAB[TABNDX] == -1) goto L1002;
+ ATAB[TABNDX]=GETTXT(true,true,true);
+ } /* end loop */
+ BUG(4);
+
+/* Read in the initial locations for each object. Also the immovability info.
+ * plac contains initial locations of objects. FIXD is -1 for immovable
+ * objects (including the snake), or = second loc for two-placed objects. */
+
+L1050: OBJ=GETNUM(database);
+ if(OBJ == -1) goto L1002;
+ PLAC[OBJ]=GETNUM(NULL);
+ FIXD[OBJ]=GETNUM(NULL);
+ goto L1050;
+
+/* Read default message numbers for action verbs, store in ACTSPK. */
+
+L1060: VERB=GETNUM(database);
+ if(VERB == -1) goto L1002;
+ ACTSPK[VERB]=GETNUM(NULL);
+ goto L1060;
+
+/* Read info about available liquids and other conditions, store in COND. */
+
+L1070: K=GETNUM(database);
+ if(K == -1) goto L1002;
+L1071: LOC=GETNUM(NULL);
+ if(LOC == 0) goto L1070;
+ if(is_set(COND[LOC],K)) BUG(8);
+ COND[LOC]=COND[LOC] + (1l << K);
+ goto L1071;
+
+/* Read data for hints. */
+
+L1080: HNTMAX=0;
+L1081: K=GETNUM(database);
+ if(K == -1) goto L1002;
+ if(K <= 0 || K > HNTSIZ)BUG(7);
+ for (int I=1; I<=4; I++) {
+ HINTS[K][I] =GETNUM(NULL);
+ } /* end loop */
+ HNTMAX=(HNTMAX>K ? HNTMAX : K);
+ goto L1081;
+
+/* Read the sound/text info, store in OBJSND, OBJTXT, LOCSND. */
+
+L1090: K=GETNUM(database);
+ if(K == -1) goto L1002;
+ KK=GETNUM(NULL);
+ I=GETNUM(NULL);
+ if(I == 0) goto L1092;
+ OBJSND[K]=(KK>0 ? KK : 0);
+ OBJTXT[K]=(I>0 ? I : 0);
+ goto L1090;
+
+L1092: LOCSND[K]=KK;
+ goto L1090;
+}
+
+/* Finish constructing internal data format */
+
+/* Having read in the database, certain things are now constructed. PROPS are
+ * set to zero. We finish setting up COND by checking for forced-motion travel
+ * entries. The PLAC and FIXD arrays are used to set up ATLOC(N) as the first
+ * object at location N, and LINK(OBJ) as the next object at the same location
+ * as OBJ. (OBJ>100 indicates that FIXED(OBJ-100)=LOC; LINK(OBJ) is still the
+ * correct link to use.) ABB is zeroed; it controls whether the abbreviated
+ * description is printed. Counts modulo 5 unless "LOOK" is used. */
+
+void write_0d(FILE* c_file, FILE* header_file, long single, char* varname)
+{
+ fprintf(c_file, "long %s = %ld;\n", varname, single);
+ fprintf(header_file, "extern long %s;\n", varname);
+}
+
+void write_1d(FILE* c_file, FILE* header_file, long array[], long dim, char* varname)
+{
+ fprintf(c_file, "long %s[] = {\n", varname);
+ for (int i = 0; i < dim; ++i)
+ {
+ if (i % 10 == 0)
+ {
+ if (i > 0)
+ fprintf(c_file, "\n");
+ fprintf(c_file, " ");
+ }
+ fprintf(c_file, "%ld, ", array[i]);
+ }
+ fprintf(c_file, "\n};\n");
+ fprintf(header_file, "extern long %s[%ld];\n", varname, dim);
+}
+
+void write_hints(FILE* c_file, FILE* header_file, long matrix[][5], long dim1, long dim2, char* varname)
+{
+ fprintf(c_file, "long %s[][%ld] = {\n", varname, dim2);
+ for (int i = 0; i < dim1; ++i)
+ {
+ fprintf(c_file, " {");
+ for (int j = 0; j < dim2; ++j)
+ {
+ fprintf(c_file, "%ld, ", matrix[i][j]);
+ }
+ fprintf(c_file, "},\n");
+ }
+ fprintf(c_file, "};\n");
+ fprintf(header_file, "extern long %s[%ld][%ld];\n", varname, dim1, dim2);
+}
+
+void write_files(FILE* c_file, FILE* header_file)
+{
+ // preprocessor defines for the header
+ fprintf(header_file, "#define RTXSIZ 277\n");
+ fprintf(header_file, "#define CLSMAX 12\n");
+ fprintf(header_file, "#define LOCSIZ 185\n");
+ fprintf(header_file, "#define LINSIZ 12500\n");
+ fprintf(header_file, "#define TRNSIZ 5\n");
+ fprintf(header_file, "#define TABSIZ 330\n");
+ fprintf(header_file, "#define VRBSIZ 35\n");
+ fprintf(header_file, "#define HNTSIZ 20\n");
+ fprintf(header_file, "#define TRVSIZ 885\n");
+ fprintf(header_file, "\n");
+
+ // include the header in the C file
+ fprintf(c_file, "#include \"database.h\"\n");
+ fprintf(c_file, "\n");
+
+ // content variables
+ write_0d(c_file, header_file, LINUSE, "LINUSE");
+ write_0d(c_file, header_file, TRVS, "TRVS");
+ write_0d(c_file, header_file, CLSSES, "CLSSES");
+ write_0d(c_file, header_file, TRNVLS, "TRNVLS");
+ write_0d(c_file, header_file, TABNDX, "TABNDX");
+ write_0d(c_file, header_file, HNTMAX, "HNTMAX");
+ write_1d(c_file, header_file, PTEXT, 100 + 1, "PTEXT");
+ write_1d(c_file, header_file, RTEXT, RTXSIZ + 1, "RTEXT");
+ write_1d(c_file, header_file, CTEXT, CLSMAX + 1, "CTEXT");
+ write_1d(c_file, header_file, OBJSND, 100 + 1, "OBJSND");
+ write_1d(c_file, header_file, OBJTXT, 100 + 1, "OBJTXT");
+ write_1d(c_file, header_file, STEXT, LOCSIZ + 1, "STEXT");
+ write_1d(c_file, header_file, LTEXT, LOCSIZ + 1, "LTEXT");
+ write_1d(c_file, header_file, COND, LOCSIZ + 1, "COND");
+ write_1d(c_file, header_file, KEY, LOCSIZ + 1, "KEY");
+ write_1d(c_file, header_file, LOCSND, LOCSIZ + 1, "LOCSND");
+ write_1d(c_file, header_file, LINES, LINSIZ + 1, "LINES");
+ write_1d(c_file, header_file, CVAL, CLSMAX + 1, "CVAL");
+ write_1d(c_file, header_file, TTEXT, TRNSIZ + 1, "TTEXT");
+ write_1d(c_file, header_file, TRNVAL, TRNSIZ + 1, "TRNVAL");
+ write_1d(c_file, header_file, TRAVEL, TRVSIZ + 1, "TRAVEL");
+ write_1d(c_file, header_file, KTAB, TABSIZ + 1, "KTAB");
+ write_1d(c_file, header_file, ATAB, TABSIZ + 1, "ATAB");
+ write_1d(c_file, header_file, PLAC, 100 + 1, "PLAC");
+ write_1d(c_file, header_file, FIXD, 100 + 1, "FIXD");
+ write_1d(c_file, header_file, ACTSPK, VRBSIZ + 1, "ACTSPK");
+ write_hints(c_file, header_file, HINTS, HNTSIZ + 1, 5, "HINTS");
+}
+
+int main(int argc, char** argv)
+{
+ argc = argc;
+ argv = argv;
+
+ FILE* database = fopen("adventure.text", "r");
+ read_database(database);
+ fclose(database);
+
+ FILE* c_file = fopen("database.c", "w");
+ FILE* header_file = fopen("database.h", "w");
+ write_files(c_file, header_file);
+ fclose(c_file);
+ fclose(header_file);
+
+ return(EXIT_SUCCESS);
+}
+++ /dev/null
-# Makefile for the open-adventure database
-
-OBJS=compile.o
-SOURCES=$(OBJS:.o=.c) adventure.text
-OPTIONS=-ggdb -Wall -std=c99
-
-.c.o:
- gcc $(OPTIONS) -O $(DBX) -c $<
-
-database: compile
- ./compile
- gcc $(OPTIONS) -O $(DBX) -c database.c
-
-compile: $(OBJS)
-
-clean:
- rm -f $(OBJS) compile database.c database.h
+++ /dev/null
-1
-1 You are standing at the end of a road before a small brick building.
-1 Around you is a forest. A small stream flows out of the building and
-1 down a gully.
-2 You have walked up a hill, still in the forest. The road slopes back
-2 down the other side of the hill. There is a building in the distance.
-3 You are inside a building, a well house for a large spring.
-4 You are in a valley in the forest beside a stream tumbling along a
-4 rocky bed.
-5 The road, which approaches from the east, ends here amid the trees.
-6 The forest thins out here to reveal a steep cliff. There is no way
-6 down, but a small ledge can be seen to the west across the chasm.
-7 At your feet all the water of the stream splashes into a 2-inch slit
-7 in the rock. Downstream the streambed is bare rock.
-8 You are in a 20-foot depression floored with bare dirt. Set into the
-8 dirt is a strong steel grate mounted in concrete. A dry streambed
-8 leads into the depression.
-9 You are in a small chamber beneath a 3x3 steel grate to the surface.
-9 A low crawl over cobbles leads inward to the west.
-10 You are crawling over cobbles in a low passage. There is a dim light
-10 at the east end of the passage.
-11 You are in a debris room filled with stuff washed in from the surface.
-11 A low wide passage with cobbles becomes plugged with mud and debris
-11 here, but an awkward canyon leads upward and west. In the mud someone
-11 has scrawled, "MAGIC WORD XYZZY".
-12 You are in an awkward sloping east/west canyon.
-13 You are in a splendid chamber thirty feet high. The walls are frozen
-13 rivers of orange stone. An awkward canyon and a good passage exit
-13 from east and west sides of the chamber.
-14 At your feet is a small pit breathing traces of white mist. An east
-14 passage ends here except for a small crack leading on.
-15 You are at one end of a vast hall stretching forward out of sight to
-15 the west. There are openings to either side. Nearby, a wide stone
-15 staircase leads downward. The hall is filled with wisps of white mist
-15 swaying to and fro almost as if alive. A cold wind blows up the
-15 staircase. There is a passage at the top of a dome behind you.
-16 The crack is far too small for you to follow. At its widest it is
-16 barely wide enough to admit your foot.
-17 You are on the east bank of a fissure slicing clear across the hall.
-17 The mist is quite thick here, and the fissure is too wide to jump.
-18 This is a low room with a crude note on the wall. The note says,
-18 "You won't get it up the steps".
-19 You are in the Hall of the Mountain King, with passages off in all
-19 directions.
-20 You are at the bottom of the pit with a broken neck.
-21 You didn't make it.
-22 The dome is unclimbable.
-23 You are at the west end of the Twopit Room. There is a large hole in
-23 the wall above the pit at this end of the room.
-24 You are at the bottom of the eastern pit in the Twopit Room. There is
-24 a small pool of oil in one corner of the pit.
-25 You are at the bottom of the western pit in the Twopit Room. There is
-25 a large hole in the wall about 25 feet above you.
-26 You clamber up the plant and scurry through the hole at the top.
-27 You are on the west side of the fissure in the Hall of Mists.
-28 You are in a low n/s passage at a hole in the floor. The hole goes
-28 down to an e/w passage.
-29 You are in the south side chamber.
-30 You are in the west side chamber of the Hall of the Mountain King.
-30 A passage continues west and up here.
-31 %!
-32 You can't get by the snake.
-33 You are in a large room, with a passage to the south, a passage to the
-33 west, and a wall of broken rock to the east. There is a large "Y2" on
-33 a rock in the room's center.
-34 You are in a jumble of rock, with cracks everywhere.
-35 You're at a low window overlooking a huge pit, which extends up out of
-35 sight. A floor is indistinctly visible over 50 feet below. Traces of
-35 white mist cover the floor of the pit, becoming thicker to the right.
-35 Marks in the dust around the window would seem to indicate that
-35 someone has been here recently. Directly across the pit from you and
-35 25 feet away there is a similar window looking into a lighted room. A
-35 shadowy figure can be seen there peering back at you.
-36 You are in a dirty broken passage. To the east is a crawl. To the
-36 west is a large passage. Above you is a hole to another passage.
-37 You are on the brink of a small clean climbable pit. A crawl leads
-37 west.
-38 You are in the bottom of a small pit with a little stream, which
-38 enters and exits through tiny slits.
-39 You are in a large room full of dusty rocks. There is a big hole in
-39 the floor. There are cracks everywhere, and a passage leading east.
-40 You have crawled through a very low wide passage parallel to and north
-40 of the Hall of Mists.
-41 You are at the west end of the Hall of Mists. A low wide crawl
-41 continues west and another goes north. To the south is a little
-41 passage 6 feet off the floor.
-42 You are in a maze of twisty little passages, all alike.
-43 You are in a maze of twisty little passages, all alike.
-44 You are in a maze of twisty little passages, all alike.
-45 You are in a maze of twisty little passages, all alike.
-46 Dead end
-47 Dead end
-48 Dead end
-49 You are in a maze of twisty little passages, all alike.
-50 You are in a maze of twisty little passages, all alike.
-51 You are in a maze of twisty little passages, all alike.
-52 You are in a maze of twisty little passages, all alike.
-53 You are in a maze of twisty little passages, all alike.
-54 Dead end
-55 You are in a maze of twisty little passages, all alike.
-56 Dead end
-57 You are on the brink of a thirty foot pit with a massive orange column
-57 down one wall. You could climb down here but you could not get back
-57 up. The maze continues at this level.
-58 Dead end
-59 You have crawled through a very low wide passage parallel to and north
-59 of the Hall of Mists.
-60 You are at the east end of a very long hall apparently without side
-60 chambers. To the east a low wide crawl slants up. To the north a
-60 round two foot hole slants down.
-61 You are at the west end of a very long featureless hall. The hall
-61 joins up with a narrow north/south passage.
-62 You are at a crossover of a high n/s passage and a low e/w one.
-63 Dead end
-64 You are at a complex junction. A low hands and knees passage from the
-64 north joins a higher crawl from the east to make a walking passage
-64 going west. There is also a large room above. The air is damp here.
-65 You are in Bedquilt, a long east/west passage with holes everywhere.
-65 To explore at random select north, south, up, or down.
-66 You are in a room whose walls resemble swiss cheese. Obvious passages
-66 go west, east, ne, and nw. Part of the room is occupied by a large
-66 bedrock block.
-67 You are at the east end of the Twopit Room. The floor here is
-67 littered with thin rock slabs, which make it easy to descend the pits.
-67 There is a path here bypassing the pits to connect passages from east
-67 and west. There are holes all over, but the only big one is on the
-67 wall directly over the west pit where you can't get to it.
-68 You are in a large low circular chamber whose floor is an immense slab
-68 fallen from the ceiling (Slab Room). East and west there once were
-68 large passages, but they are now filled with boulders. Low small
-68 passages go north and south, and the south one quickly bends west
-68 around the boulders.
-69 You are in a secret n/s canyon above a large room.
-70 You are in a secret n/s canyon above a sizable passage.
-71 You are in a secret canyon at a junction of three canyons, bearing
-71 north, south, and se. The north one is as tall as the other two
-71 combined.
-72 You are in a large low room. Crawls lead north, se, and sw.
-73 Dead end crawl.
-74 You are in a secret canyon which here runs e/w. It crosses over a
-74 very tight canyon 15 feet below. If you go down you may not be able
-74 to get back up.
-75 You are at a wide place in a very tight n/s canyon.
-76 The canyon here becomes too tight to go further south.
-77 You are in a tall e/w canyon. A low tight crawl goes 3 feet north and
-77 seems to open up.
-78 The canyon runs into a mass of boulders -- dead end.
-79 The stream flows out through a pair of 1 foot diameter sewer pipes.
-79 It would be advisable to use the exit.
-80 You are in a maze of twisty little passages, all alike.
-81 Dead end
-82 Dead end
-83 You are in a maze of twisty little passages, all alike.
-84 You are in a maze of twisty little passages, all alike.
-85 Dead end
-86 Dead end
-87 You are in a maze of twisty little passages, all alike.
-88 You are in a long, narrow corridor stretching out of sight to the
-88 west. At the eastern end is a hole through which you can see a
-88 profusion of leaves.
-89 There is nothing here to climb. Use "up" or "out" to leave the pit.
-90 You have climbed up the plant and out of the pit.
-91 You are at the top of a steep incline above a large room. You could
-91 climb down here, but you would not be able to climb up. There is a
-91 passage leading back to the north.
-92 You are in the Giant Room. The ceiling here is too high up for your
-92 lamp to show it. Cavernous passages lead east, north, and south. On
-92 the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
-93 The passage here is blocked by a recent cave-in.
-94 You are at one end of an immense north/south passage.
-95 You are in a magnificent cavern with a rushing stream, which cascades
-95 over a sparkling waterfall into a roaring whirlpool which disappears
-95 through a hole in the floor. Passages exit to the south and west.
-96 You are in the Soft Room. The walls are covered with heavy curtains,
-96 the floor with a thick pile carpet. Moss covers the ceiling.
-97 This is the Oriental Room. Ancient oriental cave drawings cover the
-97 walls. A gently sloping passage leads upward to the north, another
-97 passage leads se, and a hands and knees crawl leads west.
-98 You are following a wide path around the outer edge of a large cavern.
-98 Far below, through a heavy white mist, strange splashing noises can be
-98 heard. The mist rises up through a fissure in the ceiling. The path
-98 exits to the south and west.
-99 You are in an alcove. A small nw path seems to widen after a short
-99 distance. An extremely tight tunnel leads east. It looks like a very
-99 tight squeeze. An eerie light can be seen at the other end.
-100 You're in a small chamber lit by an eerie green light. An extremely
-100 narrow tunnel exits to the west. A dark corridor leads ne.
-101 You're in the dark-room. A corridor leading south is the only exit.
-102 You are in an arched hall. A coral passage once continued up and east
-102 from here, but is now blocked by debris. The air smells of sea water.
-103 You're in a large room carved out of sedimentary rock. The floor and
-103 walls are littered with bits of shells imbedded in the stone. A
-103 shallow passage proceeds downward, and a somewhat steeper one leads
-103 up. A low hands and knees passage enters from the south.
-104 You are in a long sloping corridor with ragged sharp walls.
-105 You are in a cul-de-sac about eight feet across.
-106 You are in an anteroom leading to a large passage to the east. Small
-106 passages go west and up. The remnants of recent digging are evident.
-106 A sign in midair here says "Cave under construction beyond this point.
-106 Proceed at own risk. [Witt Construction Company]"
-107 You are in a maze of twisty little passages, all different.
-108 You are at Witt's End. Passages lead off in *ALL* directions.
-109 You are in a north/south canyon about 25 feet across. The floor is
-109 covered by white mist seeping in from the north. The walls extend
-109 upward for well over 100 feet. Suspended from some unseen point far
-109 above you, an enormous two-sided mirror is hanging parallel to and
-109 midway between the canyon walls. (The mirror is obviously provided
-109 for the use of the dwarves who, as you know, are extremely vain.) A
-109 small window can be seen in either wall, some fifty feet up.
-110 You're at a low window overlooking a huge pit, which extends up out of
-110 sight. A floor is indistinctly visible over 50 feet below. Traces of
-110 white mist cover the floor of the pit, becoming thicker to the left.
-110 Marks in the dust around the window would seem to indicate that
-110 someone has been here recently. Directly across the pit from you and
-110 25 feet away there is a similar window looking into a lighted room. A
-110 shadowy figure can be seen there peering back at you.
-111 A large stalactite extends from the roof and almost reaches the floor
-111 below. You could climb down it, and jump from it to the floor, but
-111 having done so you would be unable to reach it to climb back up.
-112 You are in a little maze of twisting passages, all different.
-113 You are at the edge of a large underground reservoir. An opaque cloud
-113 of white mist fills the room and rises rapidly upward. The lake is
-113 fed by a stream, which tumbles out of a hole in the wall about 10 feet
-113 overhead and splashes noisily into the water somewhere within the
-113 mist. There is a passage going back toward the south.
-114 Dead end
-115 You are at the northeast end of an immense room, even larger than the
-115 Giant Room. It appears to be a repository for the "Adventure"
-115 program. Massive torches far overhead bathe the room with smoky
-115 yellow light. Scattered about you can be seen a pile of bottles (all
-115 of them empty), a nursery of young beanstalks murmuring quietly, a bed
-115 of oysters, a bundle of black rods with rusty stars on their ends, and
-115 a collection of brass lanterns. Off to one side a great many dwarves
-115 are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
-115 not disturb the dwarves!" An immense mirror is hanging against one
-115 wall, and stretches to the other end of the room, where various other
-115 sundry objects can be glimpsed dimly in the distance.
-116 You are at the southwest end of the repository. To one side is a pit
-116 full of fierce green snakes. On the other side is a row of small
-116 wicker cages, each of which contains a little sulking bird. In one
-116 corner is a bundle of black rods with rusty marks on their ends. A
-116 large number of velvet pillows are scattered about on the floor. A
-116 vast mirror stretches off to the northeast. At your feet is a large
-116 steel grate, next to which is a sign that reads, "Treasure Vault.
-116 Keys in main office."
-117 You are on one side of a large, deep chasm. A heavy white mist rising
-117 up from below obscures all view of the far side. A sw path leads away
-117 from the chasm into a winding corridor.
-118 You are in a long winding corridor sloping out of sight in both
-118 directions.
-119 You are in a secret canyon which exits to the north and east.
-120 You are in a secret canyon which exits to the north and east.
-121 You are in a secret canyon which exits to the north and east.
-122 You are on the far side of the chasm. A ne path leads away from the
-122 chasm on this side.
-123 You're in a long east/west corridor. A faint rumbling noise can be
-123 heard in the distance.
-124 The path forks here. The left fork leads northeast. A dull rumbling
-124 seems to get louder in that direction. The right fork leads southeast
-124 down a gentle slope. The main corridor enters from the west.
-125 The walls are quite warm here. From the north can be heard a steady
-125 roar, so loud that the entire cave seems to be trembling. Another
-125 passage leads south, and a low crawl goes east.
-126 You are on the edge of a breath-taking view. Far below you is an
-126 active volcano, from which great gouts of molten lava come surging
-126 out, cascading back down into the depths. The glowing rock fills the
-126 farthest reaches of the cavern with a blood-red glare, giving every-
-126 thing an eerie, macabre appearance. The air is filled with flickering
-126 sparks of ash and a heavy smell of brimstone. The walls are hot to
-126 the touch, and the thundering of the volcano drowns out all other
-126 sounds. Embedded in the jagged roof far overhead are myriad twisted
-126 formations composed of pure white alabaster, which scatter the murky
-126 light into sinister apparitions upon the walls. To one side is a deep
-126 gorge, filled with a bizarre chaos of tortured rock which seems to
-126 have been crafted by the devil himself. An immense river of fire
-126 crashes out from the depths of the volcano, burns its way through the
-126 gorge, and plummets into a bottomless pit far off to your left. To
-126 the right, an immense geyser of blistering steam erupts continuously
-126 from a barren island in the center of a sulfurous lake, which bubbles
-126 ominously. The far right wall is aflame with an incandescence of its
-126 own, which lends an additional infernal splendor to the already
-126 hellish scene. A dark, foreboding passage exits to the south.
-127 You are in a small chamber filled with large boulders. The walls are
-127 very warm, causing the air in the room to be almost stifling from the
-127 heat. The only exit is a crawl heading west, through which is coming
-127 a low rumbling.
-128 You are walking along a gently sloping north/south passage lined with
-128 oddly shaped limestone formations.
-129 You are standing at the entrance to a large, barren room. A notice
-129 above the entrance reads: "Caution! Bear in room!"
-130 You are inside a barren room. The center of the room is completely
-130 empty except for some dust. Marks in the dust lead away toward the
-130 far end of the room. The only exit is the way you came in.
-131 You are in a maze of twisting little passages, all different.
-132 You are in a little maze of twisty passages, all different.
-133 You are in a twisting maze of little passages, all different.
-134 You are in a twisting little maze of passages, all different.
-135 You are in a twisty little maze of passages, all different.
-136 You are in a twisty maze of little passages, all different.
-137 You are in a little twisty maze of passages, all different.
-138 You are in a maze of little twisting passages, all different.
-139 You are in a maze of little twisty passages, all different.
-140 Dead end
-141 You are in a long, rough-hewn, north/south corridor.
-142 There is no way to go that direction.
-143 You are in a large chamber with passages to the west and north.
-144 You are in the ogre's storeroom. The only exit is to the south.
-145 You are wandering aimlessly through the forest.
-146 You are wandering aimlessly through the forest.
-147 You are wandering aimlessly through the forest.
-148 You are wandering aimlessly through the forest.
-149 You are wandering aimlessly through the forest.
-150 You are wandering aimlessly through the forest.
-151 You are wandering aimlessly through the forest.
-152 You are wandering aimlessly through the forest.
-153 You are wandering aimlessly through the forest.
-154 You are wandering aimlessly through the forest.
-155 You are wandering aimlessly through the forest.
-156 You are wandering aimlessly through the forest.
-157 You are wandering aimlessly through the forest.
-158 You are wandering aimlessly through the forest.
-159 You are wandering aimlessly through the forest.
-160 You are wandering aimlessly through the forest.
-161 You are wandering aimlessly through the forest.
-162 You are wandering aimlessly through the forest.
-163 You are wandering aimlessly through the forest.
-164 You are wandering aimlessly through the forest.
-165 You are wandering aimlessly through the forest.
-166 You are wandering aimlessly through the forest.
-167 You are on a small ledge on one face of a sheer cliff. There are no
-167 paths away from the ledge. Across the chasm is a small clearing
-167 surrounded by forest.
-168 You are walking across the bottom of the reservoir. Walls of water
-168 rear up on either side. The roar of the water cascading past is
-168 nearly deafening, and the mist is so thick you can barely see.
-169 You are at the northern edge of the reservoir. A northwest passage
-169 leads sharply up from here.
-170 You are scrambling along a treacherously steep, rocky passage.
-171 You are on a very steep incline, which widens at it goes upward.
-172 You are at the base of a nearly vertical cliff. There are some
-172 slim footholds which would enable you to climb up, but it looks
-172 extremely dangerous. Here at the base of the cliff lie the remains
-172 of several earlier adventurers who apparently failed to make it.
-173 You are climbing along a nearly vertical cliff.
-174 Just as you reach the top, your foot slips on a loose rock and you
-174 tumble several hundred feet to join the other unlucky adventurers.
-175 Just as you reach the top, your foot slips on a loose rock and you
-175 make one last desperate grab. Your luck holds, as does your grip.
-175 With an enormous heave, you lift yourself to the ledge above.
-176 You are on a small ledge at the top of a nearly vertical cliff.
-176 There is a low crawl leading off to the northeast.
-177 You have reached a dead end.
-178 There is now one more gruesome aspect to the spectacular vista.
-179 >>Foof!<<
-180 >>Foof!<<
-181 >>Foof!<<
-182 >>Foof!<<
-183 >>Foof!<<
-184 >>Foof!<<
--1
-2
-1 You're in front of building.
-2 You're at hill in road.
-3 You're inside building.
-4 You're in valley.
-5 You're at end of road.
-6 You're at cliff.
-7 You're at slit in streambed.
-8 You're outside grate.
-9 You're below the grate.
-10 You're in cobble crawl.
-11 You're in debris room.
-13 You're in bird chamber.
-14 You're at top of small pit.
-15 You're in Hall of Mists.
-17 You're on east bank of fissure.
-18 You're in nugget-of-gold room.
-19 You're in Hall of Mt King.
-23 You're at west end of Twopit Room.
-24 You're in east pit.
-25 You're in west pit.
-27 You're on west bank of fissure.
-28 You're in n/s passage above e/w passage.
-30 You're in the west side chamber.
-33 You're at "Y2".
-35 You're at window on pit.
-36 You're in dirty passage.
-37 You're at brink of small pit.
-38 You're at bottom of pit with stream.
-39 You're in dusty rock room.
-41 You're at west end of Hall of Mists.
-57 You're at brink of pit.
-60 You're at east end of long hall.
-61 You're at west end of long hall.
-64 You're at complex junction.
-65 You're in Bedquilt.
-66 You're in Swiss Cheese Room.
-67 You're at east end of Twopit Room.
-68 You're in Slab Room.
-71 You're at junction of three secret canyons.
-72 You're in large low room.
-74 You're in secret e/w canyon above tight canyon.
-88 You're in narrow corridor.
-91 You're at steep incline above large room.
-92 You're in Giant Room.
-95 You're in cavern with waterfall.
-96 You're in Soft Room.
-97 You're in Oriental Room.
-98 You're in misty cavern.
-99 You're in alcove.
-100 You're in Plover Room.
-101 You're in dark-room.
-102 You're in arched hall.
-103 You're in Shell Room.
-106 You're in anteroom.
-108 You're at Witt's End.
-109 You're in Mirror Canyon.
-110 You're at window on pit.
-111 You're at top of stalactite.
-113 You're at reservoir.
-115 You're at ne end.
-116 You're at sw end.
-117 You're on sw side of chasm.
-118 You're in sloping corridor.
-122 You're on ne side of chasm.
-123 You're in corridor.
-124 You're at fork in path.
-125 You're at junction with warm walls.
-126 You're at breath-taking view.
-127 You're in Chamber of Boulders.
-128 You're in limestone passage.
-129 You're in front of Barren Room.
-130 You're in Barren Room.
-167 You're on ledge.
-168 You're at bottom of reservoir.
-169 You're north of reservoir.
-172 You're at base of cliff.
-176 You're at top of cliff.
--1
-3
-1 2 2 44 29
-1 3 3 12 19 43
-1 4 5 13 14 46 30
-1 145 6 45
-1 8 63
-2 1 12 43
-2 5 44
-2 164 45
-2 157 46 6
-2 580 30
-3 1 11 32 44
-3 179 62
-3 181 65
-3 79 5 14
-4 1 4 12 45
-4 150 43 6
-4 156 44
-4 7 5 46 30
-4 8 63
-4 745 14
-5 2 2 43 29
-5 1 12
-5 158 46 6
-5 159 44
-5 165 45
-6 161 46 6
-6 163 43
-6 21 39
-7 1 12
-7 4 4 45
-7 150 43 6
-7 154 44
-7 8 5 16 46 63
-7 595 60 14 30 19 3
-8 151 43 6
-8 154 46
-8 153 44
-8 1 12
-8 7 4 13 45
-8 303009 3 19 30
-8 593 3
-9 303008 11 29
-9 593 11
-9 10 17 18 19 44
-9 14 31
-9 11 51
-10 9 11 20 21 43
-10 11 19 22 44 51
-10 14 31
-11 303008 63
-11 9 64
-11 10 17 18 23 24 43
-11 12 25 19 29 44
-11 180 62
-11 14 31
-12 303008 63
-12 9 64
-12 11 30 43 51
-12 13 19 29 44
-12 14 31
-13 303008 63
-13 9 64
-13 11 51
-13 12 25 43
-13 14 23 31 44
-14 303008 63
-14 9 64
-14 11 51
-14 13 23 43
-14 150020 30 31 34
-14 15 30
-14 16 33 44
-15 18 36 46
-15 17 7 38 44
-15 19 10 30 45
-15 150022 29 31 34 35 23 43
-15 14 29
-15 34 55
-16 14 1
-17 15 38 43
-17 312596 39
-17 412021 7
-17 412597 41 42 44 69
-17 27 41
-18 15 38 11 45
-19 15 10 29 43
-19 311028 45 37
-19 311029 46 36
-19 311030 44 7
-19 32 45
-19 35074 49
-19 211032 49
-19 74 66
-20 0 1
-21 0 1
-22 15 1
-23 67 43 42
-23 68 44 61
-23 25 30 31
-23 648 52
-24 67 29 11
-25 23 29 11
-25 524031 56
-25 26 56
-26 88 1
-27 312596 39
-27 412021 7
-27 412597 41 42 43 69
-27 17 41
-27 40 45
-27 41 44
-28 19 38 11 46
-28 33 45 55
-28 36 30 52
-29 19 38 11 45
-30 19 38 11 43
-30 62 44 29
-31 424089 1
-31 90 1
-32 19 1
-33 182 65
-33 28 46
-33 34 43 53 54
-33 35 44
-33 159302 71
-33 183 71
-34 33 30 55
-34 15 29
-35 33 43 55
-35 20 39
-36 37 43 17
-36 28 29 52
-36 39 44
-36 65 70
-37 36 44 17
-37 38 30 31 56
-38 37 56 29 11
-38 595 60 14 30 4 5 3 19
-39 36 43 23
-39 64 30 52 58
-39 65 70
-40 41 1
-41 42 46 29 23 56
-41 27 43
-41 59 45
-41 60 44 17
-42 41 29
-42 42 45
-42 43 43
-42 45 46
-42 80 44
-43 42 44
-43 44 46
-43 45 43
-44 43 43
-44 48 30
-44 50 46
-44 82 45
-45 42 44
-45 43 45
-45 46 43
-45 47 46
-45 87 29 30
-46 45 44 11
-47 45 43 11
-48 44 29 11
-49 50 43
-49 51 44
-50 44 43
-50 49 44
-50 51 30
-50 52 46
-51 49 44
-51 50 29
-51 52 43
-51 53 46
-52 50 44
-52 51 43
-52 52 46
-52 53 29
-52 55 45
-52 86 30
-53 51 44
-53 52 45
-53 54 46
-54 53 44 11
-55 52 44
-55 55 45
-55 56 30
-55 57 43
-56 55 29 11
-57 13 30 56
-57 55 44
-57 58 46
-57 83 45
-57 84 43
-58 57 43 11
-59 27 1
-60 41 43 29 17
-60 61 44
-60 62 45 30 52
-61 60 43
-61 62 45
-61 100107 46
-62 60 44
-62 63 45
-62 30 43
-62 61 46
-63 62 46 11
-64 39 29 56 59
-64 65 44 70
-64 103 45 74
-64 106 43
-65 64 43
-65 66 44
-65 65556 46
-65 68 61
-65 60556 29
-65 70070 29
-65 39 29
-65 50556 45
-65 75072 45
-65 71 45
-65 65556 30
-65 106 30
-66 65 47
-66 67 44
-66 80556 46
-66 77 25
-66 96 43
-66 50556 50
-66 97 72
-67 66 43
-67 23 44 42
-67 24 30 31
-68 23 46
-68 69 29 56
-68 65 45
-69 68 30 61
-69 331120 46
-69 119 46
-69 109 45
-69 113 75
-70 71 45
-70 65 30 23
-70 111 46
-71 65 48
-71 70 46
-71 110 45
-72 65 70
-72 118 49
-72 73 45
-72 97 48 72
-73 72 46 17 11
-74 19 43
-74 331120 44
-74 121 44
-74 75 30
-75 76 46
-75 77 45
-76 75 45
-77 75 43
-77 78 44
-77 66 45 17
-78 77 46
-79 3 1
-80 42 45
-80 80 44
-80 80 46
-80 81 43
-81 80 44 11
-82 44 46 11
-83 57 46
-83 84 43
-83 85 44
-84 57 45
-84 83 44
-84 114 50
-85 83 43 11
-86 52 29 11
-87 45 29 30
-88 25 30 56 43
-88 20 39
-88 92 44 27
-89 25 1
-90 23 1
-91 95 45 73 23
-91 72 30 56
-92 88 46
-92 93 43
-92 94 45
-93 92 46 27 11
-94 92 46 27 23
-94 309095 45 3 73
-94 611 45
-95 94 46 11
-95 92 27
-95 91 44
-96 66 44 11
-97 66 48
-97 72 44 17
-97 98 29 45 73
-98 97 46 72
-98 99 44
-99 98 50 73
-99 301 43 23
-99 100 43
-100 301 44 23 11
-100 99 44
-100 159302 71
-100 184 71
-100 101 47 22
-101 100 46 71 11
-102 103 30 74 11
-103 102 29 38
-103 104 30
-103 114618 46
-103 115619 46
-103 64 46
-104 103 29 74
-104 105 30
-105 104 29 11
-105 103 74
-106 64 29
-106 65 44
-106 108 43
-107 131 46
-107 132 49
-107 133 47
-107 134 48
-107 135 29
-107 136 50
-107 137 43
-107 138 44
-107 139 45
-107 61 30
-108 95556 43 45 46 47 48 49 50 29 30
-108 106 43
-108 626 44
-109 69 46
-109 113 45 75
-110 71 44
-110 20 39
-111 70 45
-111 40050 30 39 56
-111 50053 30
-111 45 30
-112 131 49
-112 132 45
-112 133 43
-112 134 50
-112 135 48
-112 136 47
-112 137 44
-112 138 30
-112 139 29
-112 140 46
-113 109 46 11
-113 445552 45 42 69
-113 168 45
-114 84 48
-115 116 49
-116 115 47
-116 593 30
-117 118 49
-117 233660 41 42 69 47
-117 332661 41
-117 303 41
-117 332021 39
-117 596 39
-118 72 30
-118 117 29
-119 69 45 11
-119 653 43 7
-120 69 45
-120 74 43
-121 74 43 11
-121 653 45 7
-122 123 47
-122 233660 41 42 69 49
-122 303 41
-122 596 39
-122 124 15
-122 126 28
-122 129 40
-123 122 44
-123 124 43 15
-123 126 28
-123 129 40
-124 123 44
-124 125 47 36
-124 128 48 37 30
-124 126 28
-124 129 40
-125 124 46 15
-125 126 45 28
-125 127 43 17
-126 125 46 23 11
-126 124 15
-126 610 30
-126 178 39
-127 125 44 11 17
-127 124 15
-127 126 28
-128 124 45 29 15
-128 129 46 30 40
-128 126 28
-129 128 44 29
-129 124 15
-129 130 43 19 40 3
-129 126 28
-130 129 44 11
-130 124 15
-130 126 28
-131 107 44
-131 132 48
-131 133 50
-131 134 49
-131 135 47
-131 136 29
-131 137 30
-131 138 45
-131 139 46
-131 112 43
-132 107 50
-132 131 29
-132 133 45
-132 134 46
-132 135 44
-132 136 49
-132 137 47
-132 138 43
-132 139 30
-132 112 48
-133 107 29
-133 131 30
-133 132 44
-133 134 47
-133 135 49
-133 136 43
-133 137 45
-133 138 50
-133 139 48
-133 112 46
-134 107 47
-134 131 45
-134 132 50
-134 133 48
-134 135 43
-134 136 30
-134 137 46
-134 138 29
-134 139 44
-134 112 49
-135 107 45
-135 131 48
-135 132 30
-135 133 46
-135 134 43
-135 136 44
-135 137 49
-135 138 47
-135 139 50
-135 112 29
-136 107 43
-136 131 44
-136 132 29
-136 133 49
-136 134 30
-136 135 46
-136 137 50
-136 138 48
-136 139 47
-136 112 45
-137 107 48
-137 131 47
-137 132 46
-137 133 30
-137 134 29
-137 135 50
-137 136 45
-137 138 49
-137 139 43
-137 112 44
-138 107 30
-138 131 43
-138 132 47
-138 133 29
-138 134 44
-138 135 45
-138 136 46
-138 137 48
-138 139 49
-138 112 50
-139 107 49
-139 131 50
-139 132 43
-139 133 44
-139 134 45
-139 135 30
-139 136 48
-139 137 29
-139 138 46
-139 112 47
-140 112 45 11
-140 338141 46
-140 142 46
-141 140 45
-141 143 46
-142 140 1
-143 141 44
-143 241560 45
-143 144 45
-144 143 46 11
-145 1 43
-145 157 44
-145 146 45
-145 147 46
-146 145 43
-146 163 44
-146 147 45
-146 162 46
-147 148 43 44
-147 146 45
-147 145 46
-148 147 43 45
-148 149 44 46
-149 148 43 45
-149 151 44
-149 150 46
-150 149 43
-150 151 44
-150 4 45
-150 7 46
-151 149 43
-151 150 44
-151 8 45
-151 152 46
-152 153 43
-152 155 44
-152 166 45
-152 151 46
-153 155 43
-153 152 44
-153 154 45
-153 8 46
-154 7 43
-154 155 44
-154 153 45
-154 8 46
-155 154 43
-155 152 44
-155 166 45
-155 153 46
-156 157 43
-156 158 44
-156 166 45
-156 4 46
-157 145 43
-157 156 44
-157 164 45
-157 2 46
-158 5 43
-158 160 44
-158 159 45
-158 156 46
-159 160 43
-159 166 44
-159 5 45
-159 158 46
-160 161 43 45
-160 158 44
-160 159 46
-161 162 43
-161 160 44 46
-161 6 45
-162 163 43
-162 161 44
-162 146 45
-162 165 46
-163 146 43
-163 162 44
-163 6 45
-163 164 46
-164 2 43
-164 165 44
-164 163 45
-164 157 46
-165 164 43
-165 5 44
-165 162 45
-165 165 46
-166 152 43
-166 155 44
-166 159 45
-166 156 46
-167 21 39
-168 169 45
-168 113 46
-169 445552 46 42 69
-169 168 46
-169 170 50 29 11
-170 171 29 50
-170 169 30 48
-171 170 30 48
-171 172 29 50
-172 171 30 48
-172 173 29 56
-173 172 30
-173 146175 29
-173 174 29
-174 0 1
-175 176 1
-176 173 56 30
-176 177 47 17
-177 176 49 11 17
-178 0 1
-179 11 1
-180 3 1
-181 33 1
-182 3 1
-183 100 1
-184 33 1
--1
-4
-2 ROAD
-2 HILL
-3 ENTER
-4 UPSTR
-5 DOWNS
-6 FORES
-7 FORWA
-7 CONTI
-7 ONWAR
-8 BACK
-8 RETUR
-8 RETRE
-9 VALLE
-10 STAIR
-11 OUT
-11 OUTSI
-11 EXIT
-11 LEAVE
-12 BUILD
-12 HOUSE
-13 GULLY
-14 STREA
-15 FORK
-16 BED
-17 CRAWL
-18 COBBL
-19 INWAR
-19 INSID
-19 IN
-20 SURFA
-21 NULL
-21 NOWHE
-22 DARK
-23 PASSA
-23 TUNNE
-24 LOW
-25 CANYO
-26 AWKWA
-27 GIANT
-28 VIEW
-29 UPWAR
-29 UP
-29 U
-29 ABOVE
-29 ASCEN
-30 D
-30 DOWNW
-30 DOWN
-30 DESCE
-31 PIT
-32 OUTDO
-33 CRACK
-34 STEPS
-35 DOME
-36 LEFT
-37 RIGHT
-38 HALL
-39 JUMP
-40 BARRE
-41 OVER
-42 ACROS
-43 EAST
-43 E
-44 WEST
-44 W
-45 NORTH
-45 N
-46 SOUTH
-46 S
-47 NE
-48 SE
-49 SW
-50 NW
-51 DEBRI
-52 HOLE
-53 WALL
-54 BROKE
-55 Y2
-56 CLIMB
-57 LOOK
-57 EXAMI
-57 TOUCH
-57 DESCR
-58 FLOOR
-59 ROOM
-60 SLIT
-61 SLAB
-61 SLABR
-62 XYZZY
-63 DEPRE
-64 ENTRA
-65 PLUGH
-66 SECRE
-67 CAVE
-69 CROSS
-70 BEDQU
-71 PLOVE
-72 ORIEN
-73 CAVER
-74 SHELL
-75 RESER
-76 MAIN
-76 OFFIC
-1001 KEYS
-1001 KEY
-1002 LAMP
-1002 LANTE
-1003 GRATE
-1004 CAGE
-1005 ROD
-1006 ROD (MUST BE NEXT OBJECT AFTER "REAL" ROD)
-1007 STEPS
-1008 BIRD
-1009 DOOR
-1010 PILLO
-1010 VELVE
-1011 SNAKE
-1012 FISSU
-1013 TABLE
-1014 CLAM
-1015 OYSTE
-1016 MAGAZ
-1016 ISSUE
-1016 SPELU
-1016 "SPEL
-1017 DWARF
-1017 DWARV
-1018 KNIFE
-1018 KNIVE
-1019 FOOD
-1019 RATIO
-1020 BOTTL
-1020 JAR
-1021 WATER
-1021 H2O
-1022 OIL
-1023 MIRRO
-1024 PLANT
-1024 BEANS
-1025 PLANT (MUST BE NEXT OBJECT AFTER "REAL" PLANT)
-1026 STALA
-1027 SHADO
-1027 FIGUR
-1027 WINDO (SAME AS FIGURE)
-1028 AXE
-1029 DRAWI
-1030 PIRAT
-1030 GENIE
-1030 DJINN
-1031 DRAGO
-1032 CHASM
-1033 TROLL
-1034 TROLL (MUST BE NEXT OBJECT AFTER "REAL" TROLL)
-1035 BEAR
-1036 MESSA
-1037 VOLCA
-1037 GEYSE (SAME AS VOLCANO)
-1038 MACHI
-1038 VENDI
-1039 BATTE
-1040 CARPE
-1040 MOSS
-1040 CURTA (SAME AS CARPET)
-1041 OGRE
-1042 URN
-1043 CAVIT
-1044 BLOOD
-1045 RESER (VERB OVERRIDES)
-1046 APPEN
-1046 LEPOR
-1047 MUD
-1048 NOTE
-1049 SIGN
-1050 GOLD
-1050 NUGGE
-1051 DIAMO
-1052 SILVE
-1052 BARS
-1053 JEWEL
-1054 COINS
-1055 CHEST
-1055 BOX
-1055 TREAS
-1056 EGGS
-1056 EGG
-1056 NEST
-1057 TRIDE
-1058 VASE
-1058 MING
-1058 SHARD
-1058 POTTE
-1059 EMERA
-1060 PLATI
-1060 PYRAM
-1061 PEARL
-1062 RUG
-1062 PERSI
-1063 SPICE
-1064 CHAIN
-1065 RUBY
-1066 JADE
-1066 NECKL
-1067 AMBER
-1067 GEMST
-1068 SAPPH
-1069 EBONY
-1069 STATU
-2001 CARRY
-2001 TAKE
-2001 KEEP
-2001 CATCH
-2001 STEAL
-2001 CAPTU
-2001 GET
-2001 TOTE
-2001 SNARF
-2002 DROP
-2002 RELEA
-2002 FREE
-2002 DISCA
-2002 DUMP
-2003 SAY
-2003 CHANT
-2003 SING
-2003 UTTER
-2003 MUMBL
-2004 UNLOC
-2004 OPEN
-2005 NOTHI
-2006 LOCK
-2006 CLOSE
-2007 LIGHT
-2007 ON
-2008 EXTIN
-2008 OFF
-2009 WAVE
-2009 SHAKE
-2009 SWING
-2010 CALM
-2010 PLACA
-2010 TAME
-2011 WALK
-2011 RUN
-2011 TRAVE
-2011 GO
-2011 PROCE
-2011 CONTI
-2011 EXPLO
-2011 FOLLO
-2011 TURN
-2012 ATTAC
-2012 KILL
-2012 FIGHT
-2012 HIT
-2012 STRIK
-2012 SLAY
-2013 POUR
-2014 EAT
-2014 DEVOU
-2015 DRINK
-2016 RUB
-2017 THROW
-2017 TOSS
-2018 QUIT
-2019 FIND
-2019 WHERE
-2020 INVEN
-2021 FEED
-2022 FILL
-2023 BLAST
-2023 DETON
-2023 IGNIT
-2023 BLOWU
-2024 SCORE
-2025 FEE
-2025 FIE
-2025 FOE
-2025 FOO
-2025 FUM
-2026 BRIEF
-2027 READ
-2027 PERUS
-2028 BREAK
-2028 SHATT
-2028 SMASH
-2029 WAKE
-2029 DISTU
-2030 SUSPE
-2030 PAUSE
-2030 SAVE
-2031 RESUM
-2031 RESTA
-2032 FLY
-2033 LISTE
-2034 Z'ZZZ (GETS REPLACED)
-3001 FEE
-3002 FIE
-3003 FOE
-3004 FOO
-3005 FUM
-3013 THANK
-3050 SESAM
-3050 OPENS
-3050 ABRA
-3050 ABRAC
-3050 SHAZA
-3050 HOCUS
-3050 POCUS
-3051 HELP
-3051 ?
-3054 NO
-3064 TREE
-3064 TREES
-3066 DIG
-3066 EXCAV
-3068 LOST
-3069 MIST
-3079 FUCK
-3139 STOP
-3142 INFO
-3142 INFOR
-3147 SWIM
-3246 WIZAR
-3271 YES
-3275 NEWS
--1
-5
-1 Set of keys
-000 There are some keys on the ground here.
-2 Brass lantern
-000 There is a shiny brass lamp nearby.
-100 There is a lamp shining nearby.
-3 *grate
-000 The grate is locked.
-100 The grate is open.
-4 Wicker cage
-000 There is a small wicker cage discarded nearby.
-5 Black rod
-000 A three foot black rod with a rusty star on an end lies nearby.
-6 Black rod
-000 A three foot black rod with a rusty mark on an end lies nearby.
-7 *steps
-000 Rough stone steps lead down the pit.
-100 Rough stone steps lead up the dome.
-8 Little bird in cage
-000 A cheerful little bird is sitting here singing.
-100 There is a little bird in the cage.
-200 A cheerful little bird is sitting here singing.
-300 The bird's singing is quite melodious.
-400 The bird does not seem inclined to sing while in the cage.
-500 It almost seems as though the bird is trying to tell you something.
-600 To your surprise, you can understand the bird's chirping; it is
-600 singing about the joys of its forest home.
-700 The bird does not seem inclined to sing while in the cage.
-800 The bird is singing to you in gratitude for your having returned it to
-800 its home. In return, it informs you of a magic word which it thinks
-800 you may find useful somewhere near the Hall of Mists. The magic word
-800 changes frequently, but for now the bird believes it is "%W". You
-800 thank the bird for this information, and it flies off into the forest.
-9 *rusty door
-000 The way north is barred by a massive, rusty, iron door.
-100 The way north leads through a massive, rusty, iron door.
-10 Velvet pillow
-000 A small velvet pillow lies on the floor.
-11 *snake
-000 A huge green fierce snake bars the way!
-100 %! (chased away)
-200 The snake is hissing venomously.
-12 *fissure
-000 %!
-100 A crystal bridge now spans the fissure.
-200 The crystal bridge has vanished!
-13 *stone tablet
-000 A massive stone tablet imbedded in the wall reads:
-000 "Congratulations on bringing light into the dark-room!"
-100 "Congratulations on bringing light into the dark-room!"
-14 Giant clam >GRUNT!<
-000 There is an enormous clam here with its shell tightly closed.
-100 The clam is as tight-mouthed as a, er, clam.
-15 Giant oyster >GROAN!<
-000 There is an enormous oyster here with its shell tightly closed.
-100 Interesting. There seems to be something written on the underside of
-100 the oyster.
-200 Even though it's an oyster, the critter's as tight-mouthed as a clam.
-300 It says the same thing it did before. Hm, maybe it's a pun?
-16 "Spelunker Today"
-000 There are a few recent issues of "Spelunker Today" magazine here.
-100 I'm afraid the magazine is written in dwarvish. But pencilled on one
-100 cover you see, "Please leave the magazines at the construction site."
-19 Tasty food
-000 There is food here.
-20 Small bottle
-000 There is a bottle of water here.
-100 There is an empty bottle here.
-200 There is a bottle of oil here.
-21 Water in the bottle
-22 Oil in the bottle
-23 *mirror
-000 %!
-24 *plant
-000 There is a tiny little plant in the pit, murmuring "water, water, ..."
-100 There is a 12-foot-tall beanstalk stretching up out of the pit,
-100 bellowing "WATER!! WATER!!"
-200 There is a gigantic beanstalk stretching all the way up to the hole.
-300 The plant spurts into furious growth for a few seconds.
-400 The plant grows explosively, almost filling the bottom of the pit.
-500 You've over-watered the plant! It's shriveling up! And now . . .
-600 The plant continues to ask plaintively for water.
-700 The plant continues to demand water.
-800 The plant now maintains a contented silence.
-25 *phony plant (seen in Twopit Room only when tall enough)
-000 %!
-100 The top of a 12-foot-tall beanstalk is poking out of the west pit.
-200 There is a huge beanstalk growing out of the west pit up to the hole.
-26 *stalactite
-000 %!
-27 *shadowy figure and/or window
-000 The shadowy figure seems to be trying to attract your attention.
-28 Dwarf's axe
-000 There is a little axe here.
-100 There is a little axe lying beside the bear.
-29 *cave drawings
-000 %!
-30 *pirate/genie
-000 %! (never present)
-31 *dragon
-000 A huge green fierce dragon bars the way!
-100 The blood-specked body of a huge green dead dragon lies to one side.
-200 The body of a huge green dead dragon is lying off to one side.
-300 Congratulations! You have just vanquished a dragon with your bare
-300 hands! (Unbelievable, isn't it?)
-400 The dragon's ominous hissing does not bode well for you.
-500 The dragon is, not surprisingly, silent.
-600 The dragon is, not surprisingly, silent.
-32 *chasm
-000 A rickety wooden bridge extends across the chasm, vanishing into the
-000 mist. A notice posted on the bridge reads, "Stop! Pay troll!"
-100 The wreckage of a bridge (and a dead bear) can be seen at the bottom
-100 of the chasm.
-33 *troll
-000 A burly troll stands by the bridge and insists you throw him a
-000 treasure before you may cross.
-100 The troll steps out from beneath the bridge and blocks your way.
-200 %! (chased away)
-300 The troll sounds quite adamant in his demand for a treasure.
-34 *phony troll
-000 The troll is nowhere to be seen.
-35 %! (bear uses rtext 141)
-000 There is a ferocious cave bear eying you from the far end of the room!
-100 There is a gentle cave bear sitting placidly in one corner.
-200 There is a contented-looking bear wandering about nearby.
-300 %! (dead)
-36 *message in second maze
-000 There is a message scrawled in the dust in a flowery script, reading:
-000 "This is not the maze where the pirate leaves his treasure chest."
-100 "This is not the maze where the pirate leaves his treasure chest."
-37 *volcano and/or geyser
-000 %!
-38 *vending machine
-000 There is a massive and somewhat battered vending machine here. The
-000 instructions on it read: "Drop coins here to receive fresh batteries."
-100 "Drop coins here to receive fresh batteries."
-200 As you strike the vending machine, it pivots backward along with a
-200 section of wall, revealing a dark passage leading south.
-300 There is a massive vending machine here, swung back to reveal a
-300 southward passage.
-400 "Drop coins here to receive fresh batteries."
-500 The vending machine swings back to block the passage.
-39 Batteries
-000 There are fresh batteries here.
-100 Some worn-out batteries have been discarded nearby.
-40 *carpet and/or moss and/or curtains
-000 %!
-41 *ogre
-000 A formidable ogre bars the northern exit.
-100 The ogre is apparently the strong, silent type.
-42 *urn
-000 A small urn is embedded in the rock.
-100 A small urn full of oil is embedded in the rock.
-200 A small oil flame extrudes from an urn embedded in the rock.
-43 *cavity
-000 %! (something in it)
-100 There is a small urn-shaped cavity in the rock.
-44 *blood
-000 %! (described with dragon)
-45 *reservoir
-000 %!
-100 The waters have parted to form a narrow path across the reservoir.
-200 The waters crash together again.
-46 Leporine appendage
-000 Your keen eye spots a severed leporine appendage lying on the ground.
-47 *mud
-000 %!
-100 "MAGIC WORD XYZZY"
-48 *note
-000 %!
-100 "You won't get it up the steps"
-49 *sign
-000 %!
-100 Cave under construction beyond this point.
-100 Proceed at own risk.
-100 [Witt Construction Company]
-200 "Treasure Vault. Keys in main office."
-50 Large gold nugget
-000 There is a large sparkling nugget of gold here!
-51 Several diamonds
-000 There are diamonds here!
-52 Bars of silver
-000 There are bars of silver here!
-53 Precious jewelry
-000 There is precious jewelry here!
-54 Rare coins
-000 There are many coins here!
-55 Treasure chest
-000 The pirate's treasure chest is here!
-56 Golden eggs
-000 There is a large nest here, full of golden eggs!
-100 The nest of golden eggs has vanished!
-200 Done!
-57 Jeweled trident
-000 There is a jewel-encrusted trident here!
-58 Ming vase
-000 There is a delicate, precious, ming vase here!
-100 The vase is now resting, delicately, on a velvet pillow.
-200 The floor is littered with worthless shards of pottery.
-300 The ming vase drops with a delicate crash.
-59 Egg-sized emerald
-000 There is an emerald here the size of a plover's egg!
-100 There is an emerald resting in a small cavity in the rock!
-60 Platinum pyramid
-000 There is a platinum pyramid here, 8 inches on a side!
-61 Glistening pearl
-000 Off to one side lies a glistening pearl!
-62 Persian rug
-000 There is a persian rug spread out on the floor!
-100 The dragon is sprawled out on a persian rug!!
-200 There is a persian rug here, hovering in mid-air!
-63 Rare spices
-000 There are rare spices here!
-64 Golden chain
-000 There is a golden chain lying in a heap on the floor!
-100 The bear is locked to the wall with a golden chain!
-200 There is a golden chain locked to the wall!
-65 Giant ruby
-000 There is an enormous ruby here!
-100 There is a ruby resting in a small cavity in the rock!
-66 Jade necklace
-000 A precious jade necklace has been dropped here!
-67 Amber gemstone
-000 There is a rare amber gemstone here!
-100 There is an amber gemstone resting in a small cavity in the rock!
-68 Star sapphire
-000 A brilliant blue star sapphire is here!
-100 There is a star sapphire resting in a small cavity in the rock!
-69 Ebony statuette
-000 There is a richly-carved ebony statuette here!
--1
-6
-1 Somewhere nearby is Colossal Cave, where others have found fortunes in
-1 treasure and gold, though it is rumored that some who enter are never
-1 seen again. Magic is said to work in the cave. I will be your eyes
-1 and hands. Direct me with commands of 1 or 2 words. I should warn
-1 you that I look at only the first five letters of each word, so you'll
-1 have to enter "northeast" as "ne" to distinguish it from "north".
-1 You can type "help" for some general hints. For information on how
-1 to end your adventure, scoring, etc., type "info".
-1 - - -
-1 This program was originally developed by Willie Crowther. Most of the
-1 features of the current program were added by Don Woods. Contact Don
-1 if you have any questions, comments, etc.
-2 A little dwarf with a big knife blocks your way.
-3 A little dwarf just walked around a corner, saw you, threw a little
-3 axe at you which missed, cursed, and ran away.
-4 There are %1 threatening little dwarves in the room with you.
-5 There is a threatening little dwarf in the room with you!
-6 One sharp nasty knife is thrown at you!
-7 A hollow voice says "PLUGH".
-8 It gets you!
-9 It misses!
-10 I am unsure how you are facing. Use compass points or nearby objects.
-11 I don't know in from out here. Use compass points or name something
-11 in the general direction you want to go.
-12 I don't know how to apply that word here.
-13 You're quite welcome.
-14 I'm game. Would you care to explain how?
-15 Sorry, but I am not allowed to give more detail. I will repeat the
-15 long description of your location.
-16 It is now pitch dark. If you proceed you will likely fall into a pit.
-17 If you prefer, simply type w rather than west.
-18 Are you trying to catch the bird?
-19 Something about you seems to be frightening the bird. Perhaps you
-19 might figure out what it is.
-20 Are you trying to somehow deal with the snake?
-21 You can't kill the snake, or drive it away, or avoid it, or anything
-21 like that. There is a way to get by, but you don't have the necessary
-21 resources right now.
-22 Do you really want to quit now?
-23 You fell into a pit and broke every bone in your body!
-24 You are already carrying it!
-25 You can't be serious!
-26 The bird seemed unafraid at first, but as you approach it becomes
-26 disturbed and you cannot catch it.
-27 You can catch the bird, but you cannot carry it.
-28 There is nothing here with a lock!
-29 You aren't carrying it!
-30 The little bird attacks the green snake, and in an astounding flurry
-30 drives the snake away.
-31 You have no keys!
-32 It has no lock.
-33 I don't know how to lock or unlock such a thing.
-34 It was already locked.
-35 The grate is now locked.
-36 The grate is now unlocked.
-37 It was already unlocked.
-38 The urn is empty and will not light.
-39 Your lamp is now on.
-40 Your lamp is now off.
-41 There is no way to get past the bear to unlock the chain, which is
-41 probably just as well.
-42 Nothing happens.
-43 Where?
-44 There is nothing here to attack.
-45 The little bird is now dead. Its body disappears.
-46 Attacking the snake both doesn't work and is very dangerous.
-47 You killed a little dwarf.
-48 You attack a little dwarf, but he dodges out of the way.
-49 With what? Your bare hands?
-50 Good try, but that is an old worn-out magic word.
-51 I know of places, actions, and things. Most of my vocabulary
-51 describes places and is used to move you there. To move, try words
-51 like forest, building, downstream, enter, east, west, north, south,
-51 up, or down. I know about a few special objects, like a black rod
-51 hidden in the cave. These objects can be manipulated using some of
-51 the action words that I know. Usually you will need to give both the
-51 object and action words (in either order), but sometimes I can infer
-51 the object from the verb alone. Some objects also imply verbs; in
-51 particular, "inventory" implies "take inventory", which causes me to
-51 give you a list of what you're carrying. Some objects have unexpected
-51 effects; the effects are not always desirable! Usually people having
-51 trouble moving just need to try a few more words. Usually people
-51 trying unsuccessfully to manipulate an object are attempting something
-51 beyond their (or my!) capabilities and should try a completely
-51 different tack. One point often confusing to beginners is that, when
-51 there are several ways to go in a certain direction (e.g., if there
-51 are several holes in a wall), choosing that direction in effect
-51 chooses one of the ways at random; often, though, by specifying the
-51 place you want to reach you can guarantee choosing the right path.
-51 Also, to speed the game you can sometimes move long distances with a
-51 single word. For example, "building" usually gets you to the building
-51 from anywhere above ground except when lost in the forest. Also, note
-51 that cave passages and forest paths turn a lot, so leaving one place
-51 heading north doesn't guarantee entering the next from the south.
-51 However (another important point), except when you've used a "long
-51 distance" word such as "building", there is always a way to go back
-51 where you just came from unless I warn you to the contrary, even
-51 though the direction that takes you back might not be the reverse of
-51 what got you here. Good luck, and have fun!
-52 There is no way to go that direction.
-53 Please stick to 1- and 2-word commands.
-54 OK
-55 You can't unlock the keys.
-56 You have crawled around in some little holes and wound up back in the
-56 main passage.
-57 I don't know where the cave is, but hereabouts no stream can run on
-57 the surface for long. I would try the stream.
-58 I need more detailed instructions to do that.
-59 I can only tell you what you see as you move about and manipulate
-59 things. I cannot tell you where remote things are.
-60 The ogre snarls and shoves you back.
-61 Huh?
-62 Are you trying to get into the cave?
-63 The grate is very solid and has a hardened steel lock. You cannot
-63 enter without a key, and there are no keys nearby. I would recommend
-63 looking elsewhere for the keys.
-64 The trees of the forest are large hardwood oak and maple, with an
-64 occasional grove of pine or spruce. There is quite a bit of under-
-64 growth, largely birch and ash saplings plus nondescript bushes of
-64 various sorts. This time of year visibility is quite restricted by
-64 all the leaves, but travel is quite easy if you detour around the
-64 spruce and berry bushes.
-65 Welcome to Adventure!! Would you like instructions?
-66 Digging without a shovel is quite impractical. Even with a shovel
-66 progress is unlikely.
-67 Blasting requires dynamite.
-68 I'm as confused as you are.
-69 Mist is a white vapor, usually water, seen from time to time in
-69 caverns. It can be found anywhere but is frequently a sign of a deep
-69 pit leading down to water.
-70 Your feet are now wet.
-71 I think I just lost my appetite.
-72 Thank you, it was delicious!
-73 You have taken a drink from the stream. The water tastes strongly of
-73 minerals, but is not unpleasant. It is extremely cold.
-74 The bottle of water is now empty.
-75 Rubbing the electric lamp is not particularly rewarding. Anyway,
-75 nothing exciting happens.
-76 Peculiar. Nothing unexpected happens.
-77 Your bottle is empty and the ground is wet.
-78 You can't pour that.
-79 Watch it!
-80 Which way?
-81 Oh dear, you seem to have gotten yourself killed. I might be able to
-81 help you out, but I've never really done this before. Do you want me
-81 to try to reincarnate you?
-82 All right. But don't blame me if something goes wr......
-82 --- POOF!! ---
-82 You are engulfed in a cloud of orange smoke. Coughing and gasping,
-82 you emerge from the smoke and find....
-83 You clumsy oaf, you've done it again! I don't know how long I can
-83 keep this up. Do you want me to try reincarnating you again?
-84 Okay, now where did I put my orange smoke?.... >POOF!<
-84 Everything disappears in a dense cloud of orange smoke.
-85 Now you've really done it! I'm out of orange smoke! You don't expect
-85 me to do a decent reincarnation without any orange smoke, do you?
-86 Okay, if you're so smart, do it yourself! I'm leaving!
-90 >>> messages 81 thru 90 are reserved for "obituaries". <<<
-91 Sorry, but I no longer seem to remember how it was you got here.
-92 You can't carry anything more. You'll have to drop something first.
-93 You can't go through a locked steel grate!
-94 I believe what you want is right here with you.
-95 You don't fit through a two-inch slit!
-96 I respectfully suggest you go across the bridge instead of jumping.
-97 There is no way across the fissure.
-98 You're not carrying anything.
-99 You are currently holding the following:
-100 It's not hungry (it's merely pinin' for the fjords). Besides, you
-100 have no bird seed.
-101 The snake has now devoured your bird.
-102 There's nothing here it wants to eat (except perhaps you).
-103 You fool, dwarves eat only coal! Now you've made him *REALLY* mad!!
-104 You have nothing in which to carry it.
-105 Your bottle is already full.
-106 There is nothing here with which to fill the bottle.
-107 Your bottle is now full of water.
-108 Your bottle is now full of oil.
-109 You can't fill that.
-110 Don't be ridiculous!
-111 The door is extremely rusty and refuses to open.
-112 The plant indignantly shakes the oil off its leaves and asks, "Water?"
-113 The hinges are quite thoroughly rusted now and won't budge.
-114 The oil has freed up the hinges so that the door will now move,
-114 although it requires some effort.
-115 The plant has exceptionally deep roots and cannot be pulled free.
-116 The dwarves' knives vanish as they strike the walls of the cave.
-117 Something you're carrying won't fit through the tunnel with you.
-117 You'd best take inventory and drop something.
-118 You can't fit this five-foot clam through that little passage!
-119 You can't fit this five-foot oyster through that little passage!
-120 I advise you to put down the clam before opening it. >STRAIN!<
-121 I advise you to put down the oyster before opening it. >WRENCH!<
-122 You don't have anything strong enough to open the clam.
-123 You don't have anything strong enough to open the oyster.
-124 A glistening pearl falls out of the clam and rolls away. Goodness,
-124 this must really be an oyster. (I never was very good at identifying
-124 bivalves.) Whatever it is, it has now snapped shut again.
-125 The oyster creaks open, revealing nothing but oyster inside. It
-125 promptly snaps shut again.
-126 You have crawled around in some little holes and found your way
-126 blocked by a recent cave-in. You are now back in the main passage.
-127 There are faint rustling noises from the darkness behind you.
-128 Out from the shadows behind you pounces a bearded pirate! "Har, har,"
-128 he chortles, "I'll just take all this booty and hide it away with me
-128 chest deep in the maze!" He snatches your treasure and vanishes into
-128 the gloom.
-129 A sepulchral voice reverberating through the cave, says, "Cave closing
-129 soon. All adventurers exit immediately through main office."
-130 A mysterious recorded voice groans into life and announces:
-130 "This exit is closed. Please leave via main office."
-131 It looks as though you're dead. Well, seeing as how it's so close to
-131 closing time anyway, I think we'll just call it a day.
-132 The sepulchral voice intones, "The cave is now closed." As the echoes
-132 fade, there is a blinding flash of light (and a small puff of orange
-132 smoke). . . . As your eyes refocus, you look around and find...
-133 There is a loud explosion, and a twenty-foot hole appears in the far
-133 wall, burying the dwarves in the rubble. You march through the hole
-133 and find yourself in the main office, where a cheering band of
-133 friendly elves carry the conquering adventurer off into the sunset.
-134 There is a loud explosion, and a twenty-foot hole appears in the far
-134 wall, burying the snakes in the rubble. A river of molten lava pours
-134 in through the hole, destroying everything in its path, including you!
-135 There is a loud explosion, and you are suddenly splashed across the
-135 walls of the room.
-136 The resulting ruckus has awakened the dwarves. There are now several
-136 threatening little dwarves in the room with you! Most of them throw
-136 knives at you! All of them get you!
-137 Oh, leave the poor unhappy bird alone.
-138 I daresay whatever you want is around here somewhere.
-139 I don't know the word "stop". Use "quit" if you want to give up.
-140 You can't get there from here.
-141 You are being followed by a very large, tame bear.
-142 For a summary of the most recent changes to the game, say "news".
-142 If you want to end your adventure early, say "quit". To suspend your
-142 adventure such that you can continue later, say "suspend" (or "pause"
-142 or "save"). To see how well you're doing, say "score". To get full
-142 credit for a treasure, you must have left it safely in the building,
-142 though you get partial credit just for locating it. You lose points
-142 for getting killed, or for quitting, though the former costs you more.
-142 There are also points based on how much (if any) of the cave you've
-142 managed to explore; in particular, there is a large bonus just for
-142 getting in (to distinguish the beginners from the rest of the pack),
-142 and there are other ways to determine whether you've been through some
-142 of the more harrowing sections. If you think you've found all the
-142 treasures, just keep exploring for a while. If nothing interesting
-142 happens, you haven't found them all yet. If something interesting
-142 *DOES* happen (incidentally, there *ARE* ways to hasten things along),
-142 it means you're getting a bonus and have an opportunity to garner many
-142 more points in the Master's section. I may occasionally offer hints
-142 if you seem to be having trouble. If I do, I'll warn you in advance
-142 how much it will affect your score to accept the hints. Finally, to
-142 save time, you may specify "brief", which tells me never to repeat the
-142 full description of a place unless you explicitly ask me to.
-143 Now let's see you do it without suspending in mid-Adventure.
-144 There is nothing here with which to fill it.
-145 The sudden change in temperature has delicately shattered the vase.
-146 It is beyond your power to do that.
-147 I don't know how.
-148 It is too far up for you to reach.
-149 You killed a little dwarf. The body vanishes in a cloud of greasy
-149 black smoke.
-150 The shell is very strong and is impervious to attack.
-151 What's the matter, can't you read? Now you'd best start over.
-152 The axe bounces harmlessly off the dragon's thick scales.
-153 The dragon looks rather nasty. You'd best not try to get by.
-154 The little bird attacks the green dragon, and in an astounding flurry
-154 gets burnt to a cinder. The ashes blow away.
-155 On what?
-156 Okay, from now on I'll only describe a place in full the first time
-156 you come to it. To get the full description, say "look".
-157 Trolls are close relatives with the rocks and have skin as tough as
-157 that of a rhinoceros. The troll fends off your blows effortlessly.
-158 The troll deftly catches the axe, examines it carefully, and tosses it
-158 back, declaring, "Good workmanship, but it's not valuable enough."
-159 The troll catches your treasure and scurries away out of sight.
-160 The troll refuses to let you cross.
-161 There is no longer any way across the chasm.
-162 Just as you reach the other side, the bridge buckles beneath the
-162 weight of the bear, which was still following you around. You
-162 scrabble desperately for support, but as the bridge collapses you
-162 stumble back and fall into the chasm.
-163 The bear lumbers toward the troll, who lets out a startled shriek and
-163 scurries away. The bear soon gives up the pursuit and wanders back.
-164 The axe misses and lands near the bear where you can't get at it.
-165 With what? Your bare hands? Against *HIS* bear hands??
-166 The bear is confused; he only wants to be your friend.
-167 For crying out loud, the poor thing is already dead!
-168 The bear eagerly wolfs down your food, after which he seems to calm
-168 down considerably and even becomes rather friendly.
-169 The bear is still chained to the wall.
-170 The chain is still locked.
-171 The chain is now unlocked.
-172 The chain is now locked.
-173 There is nothing here to which the chain can be locked.
-174 There is nothing here to eat.
-175 Do you want the hint?
-176 Do you need help getting out of the maze?
-177 You can make the passages look less alike by dropping things.
-178 Are you trying to explore beyond the plover room?
-179 There is a way to explore that region without having to worry about
-179 falling into a pit. None of the objects available is immediately
-179 useful in discovering the secret.
-180 Do you need help getting out of here?
-181 Don't go west.
-182 Gluttony is not one of the troll's vices. Avarice, however, is.
-183 Your lamp is getting dim. You'd best start wrapping this up, unless
-183 you can find some fresh batteries. I seem to recall there's a vending
-183 machine in the maze. Bring some coins with you.
-184 Your lamp has run out of power.
-185 Please answer the question.
-186 There are faint rustling noises from the darkness behind you. As you
-186 turn toward them, the beam of your lamp falls across a bearded pirate.
-186 He is carrying a large chest. "Shiver me timbers!" he cries, "I've
-186 been spotted! I'd best hie meself off to the maze to hide me chest!"
-186 With that, he vanishes into the gloom.
-187 Your lamp is getting dim. You'd best go back for those batteries.
-188 Your lamp is getting dim. I'm taking the liberty of replacing the
-188 batteries.
-189 Your lamp is getting dim, and you're out of spare batteries. You'd
-189 best start wrapping this up.
-190 You sift your fingers through the dust, but succeed only in
-190 obliterating the cryptic message.
-191 Do you need help dealing with the ogre?
-192 Hmmm, this looks like a clue, which means it'll cost you 10 points to
-192 read it. Should I go ahead and read it anyway?
-193 It says, "There is a way out of this place. Do you need any more
-193 information to escape? Sorry, but this initial hint is all you get."
-194 There is nothing the presence of which will prevent you from defeating
-194 him; thus it can't hurt to fetch everything you possibly can.
-195 I'm afraid I don't understand.
-196 Your hand passes through it as though it weren't there.
-197 You strike the mirror a resounding blow, whereupon it shatters into a
-197 myriad tiny fragments.
-198 You have taken the vase and hurled it delicately to the ground.
-199 You prod the nearest dwarf, who wakes up grumpily, takes one look at
-199 you, curses, and grabs for his axe.
-200 Is this acceptable?
-201 This adventure is already over. To start a new adventure, or to
-201 resume an earlier adventure, please run a fresh copy of the program.
-202 The ogre doesn't appear to be hungry.
-203 The ogre, who despite his bulk is quite agile, easily dodges your
-203 attack. He seems almost amused by your puny effort.
-204 The ogre, distracted by your rush, is struck by the knife. With a
-204 blood-curdling yell he turns and bounds after the dwarves, who flee
-204 in panic. You are left alone in the room.
-205 The ogre, distracted by your rush, is struck by the knife. With a
-205 blood-curdling yell he turns and bounds after the dwarf, who flees
-205 in panic. You are left alone in the room.
-206 The bird flies about agitatedly for a moment.
-207 The bird flies agitatedly about the cage.
-208 The bird flies about agitatedly for a moment, then disappears through
-208 the crack. It reappears shortly, carrying in its beak a jade
-208 necklace, which it drops at your feet.
-209 The urn is now lit.
-210 The urn is now dark.
-211 You empty the bottle into the urn, which promptly ejects the water
-211 with uncanny accuracy, squirting you directly between the eyes.
-212 Your bottle is now empty and the urn is full of oil.
-213 The urn is already full of oil.
-214 There's no way to get the oil out of the urn.
-215 The urn is far too firmly embedded for your puny strength to budge it.
-216 As you rub the urn, there is a flash of light and a genie appears.
-216 His aspect is stern as he advises: "One who wouldst traffic in
-216 precious stones must first learn to recognize the signals thereof."
-216 He wrests the urn from the stone, leaving a small cavity. Turning to
-216 face you again, he fixes you with a steely eye and intones: "Caution!"
-216 Genie and urn vanish in a cloud of amber smoke. The smoke condenses
-216 to form a rare amber gemstone, resting in the cavity in the rock.
-217 I suppose you collect doughnut holes, too?
-218 The gem fits easily into the cavity.
-219 The persian rug stiffens and rises a foot or so off the ground.
-220 The persian rug draped over your shoulder seems to wriggle for a
-220 moment, but then subsides.
-221 The persian rug settles gently to the ground.
-222 The rug hovers stubbornly where it is.
-223 The rug does not appear inclined to cooperate.
-224 If you mean to use the persian rug, it does not appear inclined to
-224 cooperate.
-225 Though you flap your arms furiously, it is to no avail.
-226 You board the persian rug, which promptly whisks you across the chasm.
-226 You have time for a fleeting glimpse of a two thousand foot drop to a
-226 mighty river; then you find yourself on the other side.
-227 The rug ferries you back across the chasm.
-228 All is silent.
-229 The stream is gurgling placidly.
-230 The wind whistles coldly past your ears.
-231 The stream splashes loudly into the pool.
-232 You are unable to make anything of the splashing noise.
-233 You can hear the murmuring of the beanstalks and the snoring of the
-233 dwarves.
-234 A loud hissing emanates from the snake pit.
-235 The air is filled with a dull rumbling sound.
-236 The roar is quite loud here.
-237 The roaring is so loud that it drowns out all other sound.
-238 The bird eyes you suspiciously and flutters away. A moment later you
-238 feel something wet land on your head, but upon looking up you can see
-238 no sign of the culprit.
-239 There are only a few drops--not enough to carry.
-240 Your head buzzes strangely for a moment.
-241 (Uh, y'know, that wasn't very bright.)
-242 It's a pity you took so long about it.
-243 Are you wondering what to do here?
-244 This section is quite advanced. Find the cave first.
-245 Upstream or downstream?
-246 Wizards are not to be disturbed by such as you.
-247 Would you like to be shown out of the forest?
-248 Go east ten times. If that doesn't get you out, then go south, then
-248 west twice, then south.
-249 The waters are crashing loudly against the shore.
-250 %1 of them throw knives at you!
-251 %1 of them get you!
-252 One of them gets you!
-253 None of them hits you!
-254 Sorry, I don't know the word "%W".
-255 What do you want to do with the %L?
-256 I see no %L here.
-257 %C what?
-258 Okay, "%W".
-259 You have garnered %3 out of a possible %3 points, using %5 turn%S.
-260 I can suspend your Adventure for you so that you can resume later, but
-260 it will cost you 5 points.
-261 I am prepared to give you a hint, but it will cost you %1 point%S.
-262 You scored %3 out of a possible %3, using%5 turn%S.
-263 To achieve the next higher rating, you need %2 more point%S.
-264 To achieve the next higher rating would be a neat trick!
-264 Congratulations!!
-265 You just went off my scale!!
-266 To resume your Adventure, start a new game and then say "RESUME".
-267 Table space used:
-267 %6 of %6 words of messages %6 of %6 travel options
-267 %6 of %6 vocabulary words %6 of %6 locations
-267 %6 of %6 objects %6 of %6 action verbs
-267 %6 of %6 "random" messages %6 of %6 "class" messages
-267 %6 of %6 hints %6 of %6 turn threshholds
-268 To resume an earlier Adventure, you must abandon the current one.
-269 I'm sorry, but that Adventure was begun using Version%2.%1 of the
-269 program, and this is Version%2.%1. You must find the other version
-269 in order to resume that Adventure.
-270 A dark fog creeps in to surround you. From somewhere in the fog you
-270 hear a stern voice. "This Adventure has been tampered with! You have
-270 been dabbling in magic, knowing not the havoc you might cause thereby.
-270 Leave at once, before you do irrevocable harm!" The fog thickens,
-270 until at last you can see nothing at all. Your vision then clears,
-270 and you find yourself back in The Real World.
-271 Guess again.
-272 You're missing only one other treasure. Do you need help finding it?
-273 Once you've found all the other treasures, it is no longer possible to
-273 locate the one you're now missing.
-274 Sorry, but the path twisted and turned so much that I can't figure
-274 out which way to go to get back.
-275 Version 2.5 is essentially the same as Version II; the cave and the
-275 hazards therein are unchanged, and top score is still 430 points.
-275 There are a few more hints, especially for some of the more obscure
-275 puzzles. There are a few minor bugfixes and cosmetic changes. You
-275 can now save a game and resume it at once (formerly you had to wait a
-275 while first), but it now costs you a few points each time you save the
-275 game. Saved games are now stored in much smaller files than before.
-276 You don't have to say "go" every time; just specify a direction or, if
-276 it's nearby, name the place to which you wish to move.
--1
-7
-1 3
-2 3
-3 8 9
-4 10
-5 11
-6 0
-7 14 15
-8 13
-9 94 -1
-10 96
-11 19 -1
-12 17 27
-13 101 -1
-14 103
-15 0
-16 106
-17 0 -1
-18 0
-19 3
-20 3
-21 0
-22 0
-23 109 -1
-24 25 -1
-25 23 67
-26 111 -1
-27 35 110
-28 0
-29 97 -1
-30 0 -1
-31 119 121
-32 117 122
-33 117 122
-34 0 0
-35 130 -1
-36 0 -1
-37 126 -1
-38 140 -1
-39 0
-40 96 -1
-41 143 -1
-42 6 -1
-43 0 -1
-44 0 -1
-45 113 169
-46 166
-47 11 -1
-48 18 -1
-49 106 -1
-50 18
-51 27
-52 28
-53 29
-54 30
-55 0
-56 92
-57 95
-58 97
-59 100
-60 101
-61 0
-62 119 121
-63 127
-64 130 -1
-65 144
-66 0
-67 0
-68 167
-69 177
--1
-8
-1 24
-2 29
-3 0
-4 33
-5 0
-6 33
-7 195
-8 195
-9 42
-10 14
-11 43
-12 110
-13 29
-14 110
-15 73
-16 75
-17 29
-18 61
-19 59
-20 59
-21 174
-22 109
-23 67
-24 61
-25 147
-26 155
-27 195
-28 146
-29 110
-30 61
-31 61
-32 14
-33 195
-34 42
-35 61
--1
-9
-0 1 2 3 4 5 6 7 8 9 10
-0 100 115 116 126 145 146 147 148 149 150
-0 151 152 153 154 155 156 157 158 159 160
-0 161 162 163 164 165 166 167
-2 1 3 4 7 38 95 113 24 168 169
-1 24
-3 46 47 48 54 56 58 82 85 86
-3 122 123 124 125 126 127 128 129 130
-4 6 145 146 147 148 149 150 151 152
-4 153 154 155 156 157 158 159 160 161
-4 162 163 164 165 166 42 43 44 45
-4 49 50 51 52 53 55 57 80 83
-4 84 87 107 112 131 132 133 134 135
-4 136 137 138 139 108
-11 8
-12 13
-13 19
-14 42 43 44 45 46 47 48 49 50 51
-14 52 53 54 55 56 80 81 82 86 87
-15 99 100 101
-16 108
-17 6
-18 145 146 147 148 149 150 151 152 153 154
-18 155 156 157 158 159 160 161 162 163 164
-18 165 166
-19 143
-20 8 15 64 109 126
--1
-10
-45 You are obviously a rank amateur. Better luck next time.
-120 Your score qualifies you as a novice class adventurer.
-170 You have achieved the rating: "Experienced Adventurer".
-250 You may now consider yourself a "Seasoned Adventurer".
-320 You have reached "Junior Master" status.
-375 Your score puts you in Master Adventurer Class C.
-410 Your score puts you in Master Adventurer Class B.
-426 Your score puts you in Master Adventurer Class A.
-429 All of Adventuredom gives tribute to you, Adventurer Grandmaster!
-9999 Adventuredom stands in awe -- you have now joined the ranks of the
-9999 W O R L D C H A M P I O N A D V E N T U R E R S !
-9999 It may interest you to know that the Dungeon-Master himself has, to
-9999 my knowledge, never achieved this threshhold in fewer than 330 turns.
--1
-11
-1 4 2 62 63
-2 5 2 18 19
-3 8 2 20 21
-4 75 4 176 177
-5 25 5 178 179
-6 20 3 180 181
-7 8 2 243 244
-8 25 2 247 248
-9 10 4 191 194
-10 1 4 272 273
--1
-13
-8 3 -1
-11 2 -1
-13 -1 1
-14 1 -1
-15 2 -1
-16 -1 1
-24 6 -1
-31 4 -1
-33 3 -1
-36 -1 1
-38 -1 1
-41 1 -1
-47 -1 1
-48 -1 1
-49 -1 1
-1 229
-3 229
-4 229
-7 229
-15 230
-38 229
-64 230
-94 230
-95 231
-98 232
-109 230
-113 231
-115 233
-116 234
-123 235
-124 235
-125 236
-126 -237
-127 235
-168 -237
-169 249
--1
-14
-200350 Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
-200350 you a couple of points.
-300500 500 turns? That's another few points you've lost.
-501000 Are you still at it? Five points off for exceeding 1000 turns!
-1002500 Good grief, don't you *EVER* give up? Do you realize you've spent
-1002500 over 2500 turns at this? That's another ten points off, a total of
-1002500 twenty points lost for taking so long.
--1
-0
+++ /dev/null
-#define LINESIZE 100
-#define RTXSIZ 277
-#define CLSMAX 12
-#define LOCSIZ 185
-#define LINSIZ 12500
-#define TRNSIZ 5
-#define TABSIZ 330
-#define VRBSIZ 35
-#define HNTSIZ 20
-#define TRVSIZ 885
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdbool.h>
-#include <unistd.h>
-
-const char advent_to_ascii[] = {0, 32, 33, 34, 39, 40, 41, 42, 43, 44, 45, 46, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 37, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 35, 36, 38, 47, 58, 59, 60, 61, 62, 63, 64, 91, 92, 93, 94, 95, 96, 123, 124, 125, 126, 0};
-/* Rendered from the now-gone MPINIT() function */
-const char ascii_to_advent[] = {0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 0, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 0, 1, 2, 106, 107, 63, 108, 3, 4, 5, 6, 7, 8, 9, 10, 109, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 110, 111, 112, 113, 114, 115, 116, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 117, 118, 119, 120, 121, 122, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 123, 124, 125, 126, 83};
-
-// Global variables for use in functions below that can gradually disappear as code is cleaned up
-long LNLENG;
-long LNPOSN;
-signed char INLINE[LINESIZE+1];
-long I;
-long K;
-long KK;
-long L;
-long LOC;
-long NEWLOC;
-long OBJ;
-long OLDLOC;
-long SECT;
-long VERB;
-
-// Storage for what comes out of the database
-long LINUSE;
-long TRVS;
-long CLSSES;
-long TRNVLS;
-long TABNDX;
-long HNTMAX;
-long PTEXT[101];
-long RTEXT[RTXSIZ + 1];
-long CTEXT[CLSMAX + 1];
-long OBJSND[101];
-long OBJTXT[101];
-long STEXT[LOCSIZ + 1];
-long LTEXT[LOCSIZ + 1];
-long COND[LOCSIZ + 1];
-long KEY[LOCSIZ + 1];
-long LOCSND[LOCSIZ + 1];
-long LINES[LINSIZ + 1];
-long CVAL[CLSMAX + 1];
-long TTEXT[TRNSIZ + 1];
-long TRNVAL[TRNSIZ + 1];
-long TRAVEL[TRVSIZ + 1];
-long KTAB[TABSIZ + 1];
-long ATAB[TABSIZ + 1];
-long PLAC[101];
-long FIXD[101];
-long ACTSPK[VRBSIZ + 1];
-long HINTS[HNTSIZ + 1][5];
-
-bool is_set(long, long);
-long GETTXT(long, long, long);
-void BUG(long);
-void MAPLIN(FILE*);
-long GETNUM(FILE*);
-int read_database(FILE*);
-void write_0d(FILE*, FILE*, long, char*);
-void write_1d(FILE*, FILE*, long[], long, char*);
-void write_hints(FILE*, FILE*, long[][5], long, long, char*);
-void write_files(FILE*, FILE*);
-
-bool is_set(long var, long position)
-{
- long mask = 1l << position;
- bool result = (var & mask) == mask;
- return(result);
-}
-
-long GETTXT(long SKIP,long ONEWRD, long UPPER) {
-/* Take characters from an input line and pack them into 30-bit words.
- * Skip says to skip leading blanks. ONEWRD says stop if we come to a
- * blank. UPPER says to map all letters to uppercase. If we reach the
- * end of the line, the word is filled up with blanks (which encode as 0's).
- * If we're already at end of line when GETTXT is called, we return -1. */
-
- long CHAR;
- long GETTXT;
- static long SPLITTING = -1;
-
- if(LNPOSN != SPLITTING)
- SPLITTING = -1;
- GETTXT= -1;
- L10:
- if(LNPOSN > LNLENG)
- return(GETTXT);
- if((!SKIP) || INLINE[LNPOSN] != 0)
- goto L11;
- LNPOSN=LNPOSN+1;
- goto L10;
-
- L11:
- GETTXT=0;
- for (int I=1; I<=5; I++) {
- GETTXT=GETTXT*64;
- if(LNPOSN > LNLENG || (ONEWRD && INLINE[LNPOSN] == 0))
- continue;
- CHAR=INLINE[LNPOSN];
- if(CHAR >= 63)
- goto L12;
- SPLITTING = -1;
- if(UPPER && CHAR >= 37)
- CHAR=CHAR-26;
- GETTXT=GETTXT+CHAR;
- goto L14;
-
- L12:
- if(SPLITTING == LNPOSN)
- goto L13;
- GETTXT=GETTXT+63;
- SPLITTING = LNPOSN;
- continue;
-
- L13:
- GETTXT=GETTXT+CHAR-63;
- SPLITTING = -1;
- L14:
- LNPOSN=LNPOSN+1;
- }
-
- return(GETTXT);
-}
-
-void BUG(long NUM) {
-
-/* The following conditions are currently considered fatal bugs. Numbers < 20
- * are detected while reading the database; the others occur at "run time".
- * 0 Message line > 70 characters
- * 1 Null line in message
- * 2 Too many words of messages
- * 3 Too many travel options
- * 4 Too many vocabulary words
- * 5 Required vocabulary word not found
- * 6 Too many RTEXT messages
- * 7 Too many hints
- * 8 Location has cond bit being set twice
- * 9 Invalid section number in database
- * 10 Too many locations
- * 11 Too many class or turn messages
- * 20 Special travel (500>L>300) exceeds goto list
- * 21 Ran off end of vocabulary table
- * 22 Vocabulary type (N/1000) not between 0 and 3
- * 23 Intransitive action verb exceeds goto list
- * 24 Transitive action verb exceeds goto list
- * 25 Conditional travel entry with no alternative
- * 26 Location has no travel entries
- * 27 Hint number exceeds goto list
- * 28 Invalid month returned by date function
- * 29 Too many parameters given to SETPRM */
-
- fprintf(stderr, "Fatal error %ld. See source code for interpretation.\n", NUM);
- exit(EXIT_FAILURE);
-}
-
-void MAPLIN(FILE *OPENED) {
-/* Read a line of input, from the specified input source,
- * translate the chars to integers in the range 0-126 and store
- * them in the common array "INLINE". Integer values are as follows:
- * 0 = space [ASCII CODE 40 octal, 32 decimal]
- * 1-2 = !" [ASCII 41-42 octal, 33-34 decimal]
- * 3-10 = '()*+,-. [ASCII 47-56 octal, 39-46 decimal]
- * 11-36 = upper-case letters
- * 37-62 = lower-case letters
- * 63 = percent (%) [ASCII 45 octal, 37 decimal]
- * 64-73 = digits, 0 through 9
- * Remaining characters can be translated any way that is convenient;
- * The "TYPE" routine below is used to map them back to characters when
- * necessary. The above mappings are required so that certain special
- * characters are known to fit in 6 bits and/or can be easily spotted.
- * Array elements beyond the end of the line should be filled with 0,
- * and LNLENG should be set to the index of the last character.
- *
- * If the data file uses a character other than space (e.g., tab) to
- * separate numbers, that character should also translate to 0.
- *
- * This procedure may use the map1,map2 arrays to maintain static data for
- * the mapping. MAP2(1) is set to 0 when the program starts
- * and is not changed thereafter unless the routines on this page choose
- * to do so. */
-
- do {
- fgets(INLINE + 1, sizeof(INLINE) - 1, OPENED);
- }
- while (!feof(OPENED) && INLINE[1] == '#');
-
- LNLENG = 0;
- for (int i = 1; i <= sizeof(INLINE) && INLINE[i] != 0; ++i)
- {
- char val = INLINE[i] + 1;
- INLINE[i] = ascii_to_advent[val];
- if (INLINE[i] != 0)
- LNLENG = i;
- }
- LNPOSN = 1;
-}
-
-long GETNUM(FILE *source) {
-/* Obtain the next integer from an input line. If K>0, we first read a
- * new input line from a file; if K<0, we read a line from the keyboard;
- * if K=0 we use a line that has already been read (and perhaps partially
- * scanned). If we're at the end of the line or encounter an illegal
- * character (not a digit, hyphen, or blank), we return 0. */
-
- long DIGIT, GETNUM, SIGN;
-
- if(source != NULL) MAPLIN(source);
- GETNUM = 0;
-
- while (INLINE[LNPOSN] == 0)
- {
- if (LNPOSN > LNLENG) return(GETNUM);
- ++LNPOSN;
- }
-
- SIGN=1;
- if(INLINE[LNPOSN] != 9) goto L32;
- SIGN= -1;
-L30: LNPOSN=LNPOSN+1;
-L32: if(LNPOSN > LNLENG || INLINE[LNPOSN] == 0) goto L42;
- DIGIT=INLINE[LNPOSN]-64;
- if(DIGIT < 0 || DIGIT > 9) goto L40;
- GETNUM=GETNUM*10+DIGIT;
- goto L30;
-
-L40: GETNUM=0;
-L42: GETNUM=GETNUM*SIGN;
- LNPOSN=LNPOSN+1;
- return(GETNUM);
-}
-
-int read_database(FILE* database) {
-
-/* Clear out the various text-pointer arrays. All text is stored in array
- * lines; each line is preceded by a word pointing to the next pointer (i.e.
- * the word following the end of the line). The pointer is negative if this is
- * first line of a message. The text-pointer arrays contain indices of
- * pointer-words in lines. STEXT(N) is short description of location N.
- * LTEXT(N) is long description. PTEXT(N) points to message for PROP(N)=0.
- * Successive prop messages are found by chasing pointers. RTEXT contains
- * section 6's stuff. CTEXT(N) points to a player-class message. TTEXT is for
- * section 14. We also clear COND (see description of section 9 for details). */
-
- for (int I=1; I<=300; I++) {
- if(I <= 100) PTEXT[I] = 0;
- if(I <= RTXSIZ) RTEXT[I] = 0;
- if(I <= CLSMAX) CTEXT[I] = 0;
- if(I <= 100) OBJSND[I] = 0;
- if(I <= 100) OBJTXT[I] = 0;
- if(I > LOCSIZ) break;
- STEXT[I] = 0;
- LTEXT[I] = 0;
- COND[I] = 0;
- KEY[I] = 0;
- LOCSND[I] = 0;
- }
-
- LINUSE = 1;
- TRVS = 1;
- CLSSES = 0;
- TRNVLS = 0;
-
-/* Start new data section. Sect is the section number. */
-
- L1002: SECT=GETNUM(database);
- OLDLOC= -1;
- switch (SECT) {
- case 0: return(0);
- case 1: goto L1004;
- case 2: goto L1004;
- case 3: goto L1030;
- case 4: goto L1040;
- case 5: goto L1004;
- case 6: goto L1004;
- case 7: goto L1050;
- case 8: goto L1060;
- case 9: goto L1070;
- case 10: goto L1004;
- case 11: goto L1080;
- case 12: break;
- case 13: goto L1090;
- case 14: goto L1004;
- default: BUG(9);
- }
-
-/* Sections 1, 2, 5, 6, 10, 14. Read messages and set up pointers. */
-
-L1004: KK=LINUSE;
-L1005: LINUSE=KK;
- LOC=GETNUM(database);
- if(LNLENG >= LNPOSN+70)BUG(0);
- if(LOC == -1) goto L1002;
- if(LNLENG < LNPOSN)BUG(1);
-L1006: KK=KK+1;
- if(KK >= LINSIZ)BUG(2);
- LINES[KK]=GETTXT(false,false,false);
- if(LINES[KK] != -1) goto L1006;
- LINES[LINUSE]=KK;
- if(LOC == OLDLOC) goto L1005;
- OLDLOC=LOC;
- LINES[LINUSE]= -KK;
- if(SECT == 14) goto L1014;
- if(SECT == 10) goto L1012;
- if(SECT == 6) goto L1011;
- if(SECT == 5) goto L1010;
- if(LOC > LOCSIZ)BUG(10);
- if(SECT == 1) goto L1008;
-
- STEXT[LOC]=LINUSE;
- goto L1005;
-
-L1008: LTEXT[LOC]=LINUSE;
- goto L1005;
-
-L1010: if(LOC > 0 && LOC <= 100)PTEXT[LOC]=LINUSE;
- goto L1005;
-
-L1011: if(LOC > RTXSIZ)BUG(6);
- RTEXT[LOC]=LINUSE;
- goto L1005;
-
-L1012: CLSSES=CLSSES+1;
- if(CLSSES > CLSMAX)BUG(11);
- CTEXT[CLSSES]=LINUSE;
- CVAL[CLSSES]=LOC;
- goto L1005;
-
-L1014: TRNVLS=TRNVLS+1;
- if(TRNVLS > TRNSIZ)BUG(11);
- TTEXT[TRNVLS]=LINUSE;
- TRNVAL[TRNVLS]=LOC;
- goto L1005;
-
-/* The stuff for section 3 is encoded here. Each "from-location" gets a
- * contiguous section of the "TRAVEL" array. Each entry in travel is
- * NEWLOC*1000 + KEYWORD (from section 4, motion verbs), and is negated if
- * this is the last entry for this location. KEY(N) is the index in travel
- * of the first option at location N. */
-
-L1030: LOC=GETNUM(database);
- if(LOC == -1) goto L1002;
- NEWLOC=GETNUM(NULL);
- if(KEY[LOC] != 0) goto L1033;
- KEY[LOC]=TRVS;
- goto L1035;
-L1033: TRVS--; TRAVEL[TRVS]= -TRAVEL[TRVS]; TRVS++;
-L1035: L=GETNUM(NULL);
- if(L == 0) goto L1039;
- TRAVEL[TRVS]=NEWLOC*1000+L;
- TRVS=TRVS+1;
- if(TRVS == TRVSIZ)BUG(3);
- goto L1035;
-L1039: TRVS--; TRAVEL[TRVS]= -TRAVEL[TRVS]; TRVS++;
- goto L1030;
-
-/* Here we read in the vocabulary. KTAB(N) is the word number, ATAB(N) is
- * the corresponding word. The -1 at the end of section 4 is left in KTAB
- * as an end-marker. */
-
-L1040:
- for (TABNDX=1; TABNDX<=TABSIZ; TABNDX++) {
- KTAB[TABNDX]=GETNUM(database);
- if(KTAB[TABNDX] == -1) goto L1002;
- ATAB[TABNDX]=GETTXT(true,true,true);
- } /* end loop */
- BUG(4);
-
-/* Read in the initial locations for each object. Also the immovability info.
- * plac contains initial locations of objects. FIXD is -1 for immovable
- * objects (including the snake), or = second loc for two-placed objects. */
-
-L1050: OBJ=GETNUM(database);
- if(OBJ == -1) goto L1002;
- PLAC[OBJ]=GETNUM(NULL);
- FIXD[OBJ]=GETNUM(NULL);
- goto L1050;
-
-/* Read default message numbers for action verbs, store in ACTSPK. */
-
-L1060: VERB=GETNUM(database);
- if(VERB == -1) goto L1002;
- ACTSPK[VERB]=GETNUM(NULL);
- goto L1060;
-
-/* Read info about available liquids and other conditions, store in COND. */
-
-L1070: K=GETNUM(database);
- if(K == -1) goto L1002;
-L1071: LOC=GETNUM(NULL);
- if(LOC == 0) goto L1070;
- if(is_set(COND[LOC],K)) BUG(8);
- COND[LOC]=COND[LOC] + (1l << K);
- goto L1071;
-
-/* Read data for hints. */
-
-L1080: HNTMAX=0;
-L1081: K=GETNUM(database);
- if(K == -1) goto L1002;
- if(K <= 0 || K > HNTSIZ)BUG(7);
- for (int I=1; I<=4; I++) {
- HINTS[K][I] =GETNUM(NULL);
- } /* end loop */
- HNTMAX=(HNTMAX>K ? HNTMAX : K);
- goto L1081;
-
-/* Read the sound/text info, store in OBJSND, OBJTXT, LOCSND. */
-
-L1090: K=GETNUM(database);
- if(K == -1) goto L1002;
- KK=GETNUM(NULL);
- I=GETNUM(NULL);
- if(I == 0) goto L1092;
- OBJSND[K]=(KK>0 ? KK : 0);
- OBJTXT[K]=(I>0 ? I : 0);
- goto L1090;
-
-L1092: LOCSND[K]=KK;
- goto L1090;
-}
-
-/* Finish constructing internal data format */
-
-/* Having read in the database, certain things are now constructed. PROPS are
- * set to zero. We finish setting up COND by checking for forced-motion travel
- * entries. The PLAC and FIXD arrays are used to set up ATLOC(N) as the first
- * object at location N, and LINK(OBJ) as the next object at the same location
- * as OBJ. (OBJ>100 indicates that FIXED(OBJ-100)=LOC; LINK(OBJ) is still the
- * correct link to use.) ABB is zeroed; it controls whether the abbreviated
- * description is printed. Counts modulo 5 unless "LOOK" is used. */
-
-void write_0d(FILE* c_file, FILE* header_file, long single, char* varname)
-{
- fprintf(c_file, "long %s = %ld;\n", varname, single);
- fprintf(header_file, "extern long %s;\n", varname);
-}
-
-void write_1d(FILE* c_file, FILE* header_file, long array[], long dim, char* varname)
-{
- fprintf(c_file, "long %s[] = {\n", varname);
- for (int i = 0; i < dim; ++i)
- {
- if (i % 10 == 0)
- {
- if (i > 0)
- fprintf(c_file, "\n");
- fprintf(c_file, " ");
- }
- fprintf(c_file, "%ld, ", array[i]);
- }
- fprintf(c_file, "\n};\n");
- fprintf(header_file, "extern long %s[%ld];\n", varname, dim);
-}
-
-void write_hints(FILE* c_file, FILE* header_file, long matrix[][5], long dim1, long dim2, char* varname)
-{
- fprintf(c_file, "long %s[][%ld] = {\n", varname, dim2);
- for (int i = 0; i < dim1; ++i)
- {
- fprintf(c_file, " {");
- for (int j = 0; j < dim2; ++j)
- {
- fprintf(c_file, "%ld, ", matrix[i][j]);
- }
- fprintf(c_file, "},\n");
- }
- fprintf(c_file, "};\n");
- fprintf(header_file, "extern long %s[%ld][%ld];\n", varname, dim1, dim2);
-}
-
-void write_files(FILE* c_file, FILE* header_file)
-{
- // preprocessor defines for the header
- fprintf(header_file, "#define RTXSIZ 277\n");
- fprintf(header_file, "#define CLSMAX 12\n");
- fprintf(header_file, "#define LOCSIZ 185\n");
- fprintf(header_file, "#define LINSIZ 12500\n");
- fprintf(header_file, "#define TRNSIZ 5\n");
- fprintf(header_file, "#define TABSIZ 330\n");
- fprintf(header_file, "#define VRBSIZ 35\n");
- fprintf(header_file, "#define HNTSIZ 20\n");
- fprintf(header_file, "#define TRVSIZ 885\n");
- fprintf(header_file, "\n");
-
- // include the header in the C file
- fprintf(c_file, "#include \"database.h\"\n");
- fprintf(c_file, "\n");
-
- // content variables
- write_0d(c_file, header_file, LINUSE, "LINUSE");
- write_0d(c_file, header_file, TRVS, "TRVS");
- write_0d(c_file, header_file, CLSSES, "CLSSES");
- write_0d(c_file, header_file, TRNVLS, "TRNVLS");
- write_0d(c_file, header_file, TABNDX, "TABNDX");
- write_0d(c_file, header_file, HNTMAX, "HNTMAX");
- write_1d(c_file, header_file, PTEXT, 100 + 1, "PTEXT");
- write_1d(c_file, header_file, RTEXT, RTXSIZ + 1, "RTEXT");
- write_1d(c_file, header_file, CTEXT, CLSMAX + 1, "CTEXT");
- write_1d(c_file, header_file, OBJSND, 100 + 1, "OBJSND");
- write_1d(c_file, header_file, OBJTXT, 100 + 1, "OBJTXT");
- write_1d(c_file, header_file, STEXT, LOCSIZ + 1, "STEXT");
- write_1d(c_file, header_file, LTEXT, LOCSIZ + 1, "LTEXT");
- write_1d(c_file, header_file, COND, LOCSIZ + 1, "COND");
- write_1d(c_file, header_file, KEY, LOCSIZ + 1, "KEY");
- write_1d(c_file, header_file, LOCSND, LOCSIZ + 1, "LOCSND");
- write_1d(c_file, header_file, LINES, LINSIZ + 1, "LINES");
- write_1d(c_file, header_file, CVAL, CLSMAX + 1, "CVAL");
- write_1d(c_file, header_file, TTEXT, TRNSIZ + 1, "TTEXT");
- write_1d(c_file, header_file, TRNVAL, TRNSIZ + 1, "TRNVAL");
- write_1d(c_file, header_file, TRAVEL, TRVSIZ + 1, "TRAVEL");
- write_1d(c_file, header_file, KTAB, TABSIZ + 1, "KTAB");
- write_1d(c_file, header_file, ATAB, TABSIZ + 1, "ATAB");
- write_1d(c_file, header_file, PLAC, 100 + 1, "PLAC");
- write_1d(c_file, header_file, FIXD, 100 + 1, "FIXD");
- write_1d(c_file, header_file, ACTSPK, VRBSIZ + 1, "ACTSPK");
- write_hints(c_file, header_file, HINTS, HNTSIZ + 1, 5, "HINTS");
-}
-
-int main(int argc, char** argv)
-{
- argc = argc;
- argv = argv;
-
- FILE* database = fopen("adventure.text", "r");
- read_database(database);
- fclose(database);
-
- FILE* c_file = fopen("database.c", "w");
- FILE* header_file = fopen("database.h", "w");
- write_files(c_file, header_file);
- fclose(c_file);
- fclose(header_file);
-
- return(EXIT_SUCCESS);
-}
#include <stdbool.h>
-#include "database/database.h"
+#include "database.h"
/* Statement functions
*
#include "main.h"
#include "share.h"
#include "funcs.h"
-#include "database/database.h"
+#include "database.h"
/*
* Initialisation
#include <getopt.h>
#include <signal.h>
#include "main.h"
-#include "database/database.h"
+#include "database.h"
#include "misc.h"
long ABB[186], ATLOC[186], BLKLIN = true, DFLAG,
#include "share.h" /* for SETUP */
#include "misc.h"
#include "funcs.h"
-#include "database/database.h"
+#include "database.h"
/* hack to ignore GCC Unused Result */
#define IGNORE(r) do{if(r){}}while(0)
#include "misc.h"
#include "main.h"
#include "share.h"
-#include "database/database.h"
+#include "database.h"
/*
* scoring and wrap-up