ADL Scenario Source Code

    /*** ROOM DESCRIPTIONS ***/
    Sayer = Proc(str, flag)
    {
        If (!flag) {
    	$say(str, "\n");
        }
        Return str;
    }
    DARK_STR = "Dark";

    mrm1(LDESC) = Proc()
    {
        "You are standing outside the north entrance of a large "
        "brick building.  Inscribed above the doorway, appear the "
        "text: 'AARDVARK'S MUSEUM -- GATEWAY TO ADVENTURELAND'.\n";
    }
    mrm1(SDESC) = Proc()
    {
        Return Sayer("Museum entrance", $arg(0));
    }

    mrm2(LDESC) = Proc()
    {
        "You are in a large rotunda of an old museum.  Doors lead "
        "to the north, south, east, and west, and a narrow stairway "
        "in the north-east corner of the room leads down.\n";
    }
    mrm2(SDESC) = Proc()
    {
        Return Sayer("Museum rotunda", $arg(0));
    }

    mrm3(LDESC) = Proc()
    {
        "You are in a dimly lit room containing an empty display case. "
        "A portion of a vandalized sign above the case reads: "
        "'ARTIFACTS OF ANCIENT INDIA -- Several of these items, "
        "including the sacred rhinoceros horn, the deadly ...'. "
        "The rest of the sign is unreadable.  ";
        If (paper.signed) {
            "Through the door to the west, you can see part of the rotunda "
            "of the museum.  To the east, there is a stone archway.\n";
        }
        Else {
            "To the west, you can look through a large door into the rotunda "
            "of the museum. On the east wall of the hall there is an outline "
            "of an arch.\n";
        }
    }
    mrm3(SDESC) = Proc()
    {
        Return Sayer("East wing of the museum", $arg(0));
    }

    mrm4(LDESC) = Proc()
    {
        "You are in a non-descript room with absolutely nothing in it. "
        "A hollow voice says \"This room is unavailable for use at this "
        "time.  Please leave through the doorway to your north.\"\n";
    }
    mrm4(SDESC) = Proc()
    {
        Return Sayer("Closed room", $arg(0));
    }

    mrm5(LDESC) = Proc()
    {
        "You are standing before a large empty display case in a poorly lit "
        "basement-like room.  Encircling the room high on the walls appear the "
        "text \"HALL OF PREHISTORY.\"  A stairway leads up, and in the south "
        "wall, there is ";
        $move(hole, $loc($ME));
        If (!paper.signed) {
    	"a small hole covered by a grate.\n";
        }
        Else {
    	"a small hole.\n";
        }
    }
    mrm5(SDESC) = Proc()
    {
        $move(hole, $loc($ME));
        Return Sayer("Hall of Prehistory", $arg(0));
    }

    mrm6(LDESC) = Proc()
    {
        "You are wandering through a dense forest past twisted birch trees "
        "rising toward the sky in contorted agony.  Enormous skeletons of burned "
        "out sycamores are scattered throughout the area, and gnarled stumps of "
        "once proud oak trees make the appearance of the forest even more "
        "disturbing.  Nothing is stirring, a pall of death seems to hang over the "
        "forest like a blanket, and you can't seem to figure out which direction "
        "is which.\n";
    }
    mrm6(SDESC) = Proc()
    {
        Return Sayer("You are lost in the forest", $arg(0));
    }

    irm1(LDESC) = Proc()
    {
        "You  are at the top of a highly ornate spiral stairway. "
        "A wing of the museum can be seen to the west.  The room is moist "
        "and damp, and the scent of cumin and saffron fills the air.\n";
    }
    irm1(SDESC) = Proc()
    {
        Return Sayer("Top of spiral stairway", $arg(0));
    }

    irm2(LDESC) = Proc()
    {
        "You are in an east-west passage at the bottom of a spiral "
        "stairway.  A slight breeze blows from east to west.\n";
    }
    irm2(SDESC) = Proc()
    {
        Return Sayer("Bottom of spiral stairway", $arg(0));
    }

    irm3(LDESC) = Proc()
    {
        "You are standing in a deserted Indian marketplace. "
        "Although it seems to have once been a bustling area, "
        "there is very little left here.  Most of the vacant "
        "booths form an alley running north, and a small path "
        "goes east.\n";
    }
    irm3(SDESC) = Proc()
    {
        Return Sayer("Marketplace", $arg(0));
    }

    irm4(LDESC) = Proc()
    {
        "You are in a small kitchen adjoining the marketplace. "
        "Most of the furniture in the room has been broken, and all "
        "of the pottery once used for cooking has been stolen. In the "
        "north-west corner, there is a tandoori oven.  A door to the "
        "south leads back out to the marketplace, and a trap-door "
        "leads down to what appears to be a murky basement.\n";
    }
    irm4(SDESC) = Proc()
    {
        Return Sayer("Kitchen", $arg(0));
    }

    irm5(LDESC) = Proc()
    {
        "You are in a cellar which apparently has been used to "
        "store spices.  Empty racks line all the walls of the room, "
        "and everything in the room seems to be blanketed in a thin "
        "layer of dust.  An unreachable hole appears in the ceiling "
        "and exits lead to the north, south, and east.\n";
        $move(hole, $loc($ME));
    }
    irm5(SDESC) = Proc()
    {
        $move(hole, $loc($ME));
        Return Sayer("Spice cellar", $arg(0));
    }

    irm6(LDESC) = Proc()
    {
        "You are in a small cave-like room apparently once used "
        "for the cultivation of mushrooms.  You find the smell of "
        "this room slightly displeasing.  There are exits to the "
        "south and west, and there is a small hole in the "
        "north wall, through which you can see a long vertical "
        "shaft with jagged sides.\n";
        $move(shaft, $loc($ME));
        $move(hole, $loc($ME));
    }
    irm6(SDESC) = Proc()
    {
        $move(shaft, $loc($ME));
        $move(hole, $loc($ME));
        Return Sayer("Mushroom room", $arg(0));
    }

    irm7(LDESC) = Proc()
    {
        "You are in an abandoned warehouse-like room which, "
        "though once used for storage, is now predominantly full of "
        "rubble.  Exits lead to the north and east.\n";
    }
    irm7(SDESC) = Proc()
    {
        Return Sayer("Warehouse", $arg(0));
    }

    irm8(LDESC) = Proc()
    {
        "You are standing on a rocky beach on the west bank "
        "of a slow-moving subterranean river. Several large "
        "crocodiles are lazily sleeping at the north end of the river. "
        "A path leads to the west.\n";
        $move(river, irm8);
        $move(crocodiles, irm8);
    }
    irm8(SDESC) = Proc()
    {
        $move(river, irm8);
        $move(crocodiles, irm8);
        Return Sayer("West bank of river", $arg(0));
    }

    irm9(LDESC) = Proc()
    {
        "You are on a sandy beach on the east bank of a crocodile "
        "infested river.  A roughly hewn stairway in the rock leads up "
        "far beyond your range of vision.\n";
        $move(river, irm9);
        $move(crocodiles, irm9);
    }
    irm9(SDESC) = Proc()
    {
        $move(river, irm9);
        $move(crocodiles, irm9);
        Return Sayer("East bank of river", $arg(0));
    }

    irm10(LDESC) = Proc()
    {
        "You are in a room containing an enormous statue of "
        "Mara, Hindu goddess and consort to Vishnu.  Passages lead "
        "to the east, west, and south, and a roughly hewn stairway "
        "seems to go down to an area further underground.\n";
        $move(statue, $loc($ME));
    }
    irm10(SDESC) = Proc()
    {
        $move(statue, $loc($ME));
        Return Sayer("In front of Mara's statue", $arg(0));
    }

    irm11(LDESC) = Proc()
    {
        "You are standing in front of a gigantic statue of the "
        "Hindu god Vishnu.  Passages lead north and south, and it appears "
        "that you can squeeze through a narrow crack in the western wall.\n";
        $move(crack, $loc($ME));
        $move(statue, $loc($ME));
    }
    irm11(SDESC) = Proc()
    {
        $move(crack, $loc($ME));
        $move(statue, $loc($ME));
        Return Sayer("In front of Vishnu's statue", $arg(0));
    }

    irm12(LDESC) = Proc()
    {
        "You are in a room containing an enormous statue of "
        "Lakshmi, Hindu goddess and consort to Vishnu.  ";
        $move(statue, $loc($ME));
        If (statue.tlakst) {
            "Passages lead to the east and north, and on the west wall "
            "there is a hole large enough to crawl through.\n";
    	$move(hole, $loc($ME));
        }
        Else {
    	"Passages lead to the north and east.\n";
        }
    }
    irm12(SDESC) = Proc()
    {
        If (statue.tlakst) {
    	$move(hole, $loc($ME));
        }
        $move(statue, $loc($ME));
        Return Sayer("In front of Lakshmi's statue", $arg(0));
    }

    irm13(LDESC) = Proc()
    {
        "You are in what would appear to be a totally man-made "
        "cave.  The walls are covered with bamboo shafts cut and "
        "tied together to form a very complex lattice pattern. "
        "An extremely narrow passage leads east, and there is a "
        "large door to the south.\n";
    }
    irm13(SDESC) = Proc()
    {
        Return Sayer("Bamboo Room", $arg(0));
    }

    irm14(LDESC) = Proc()
    {
        "You are in a small room with a very low ceiling. The "
        "only exit is to the east.\n";
    }
    irm14(SDESC) = Proc()
    {
        Return Sayer("Flat Room", $arg(0));
    }

    irm15(LDESC) = Proc()
    {
        "You are standing in the center of a large dome-like room.  Exits "
        "lead to the north, east, and west, and around the perimeter of "
        "the room appear the words 'ABRACADABRA -- VARUNA SUCKS COCONUTS.'\n";
    }
    irm15(SDESC) = Proc()
    {
        Return Sayer("Inside Dome", $arg(0));
    }

    irm16(LDESC) = Proc()
    {
        "You are at the base of a tall naturally formed shaft. "
        "On all sides, you are surrounded by gigantic basalt columns "
        "towering above you in a serpentine manner, like great "
        "likenesses of Vasuki himself.  Passages lead to the north, "
        "east, and west, and above you appears a small ledge.\n";
        $move(shaft, $loc($ME));
    }
    irm16(SDESC) = Proc()
    {
        $move(shaft, $loc($ME));
        Return Sayer("Vertical Shaft", $arg(0));
    }

    irm17(LDESC) = Proc()
    {
        "You are on a small ledge high above the base of a large "
        "shaft.  There is a rope seemingly standing rigid allowing you to "
        "climb down, but the climb above you seems quite dificult.\n";
        $move(shaft, $loc($ME));
    }
    irm17(SDESC) = Proc()
    {
        $move(shaft, $loc($ME));
        Return Sayer("On small ledge", $arg(0));
    }

    irm18(LDESC) = Proc()
    {
        "You are in a small room which smells strongly of "
        "incense.  Stone archways lead to the south, and east, and "
        "a smaller passage leads to the west.  You also hear some "
        "chanting and Sitar music in the background.\n";
    }
    irm18(SDESC) = Proc()
    {
        Return Sayer("Incense room", $arg(0));
    }

    irm19(LDESC) = Proc()
    {
        "You are at the holy well of Varuna, the water god.  The well is in the "
        "middle of the room, leading straight down into some water far below. "
        "Legend has it that those who climb down into the well suffer a fate "
        "worse than death, so it is advisable not to go down.  In the "
        "ceiling, there is a round hole";
        $move(hole, $loc($ME));
        If (rupees.wellbt) {
            " and the water in the well appears to have been disturbed recently.\n";
        }
        Else {
    	".\n";
        }
    }
    irm19(SDESC) = Proc()
    {
        $move(hole, $loc($ME));
        Return Sayer("Varuna's well", $arg(0));
    }

    irm20(LDESC) = Proc()
    {
        "You are at the entrance to Siva's temple.  A passage leads back to "
        "the west, ";
        If (monkey.fedmky) {
            "and a crack in a huge stone slab allows one to proceed east.\n";
    	$move(crack, $loc($ME));
        }
        Else {
            "but the entrance to the temple is blocked by a huge stone slab.\n";
        }
    }
    irm20(SDESC) = Proc()
    {
        If (monkey.fedmky) {
    	$move(crack, $loc($ME));
        }
        Return Sayer("Entrance to Siva's temple", $arg(0));
    }

    irm21(LDESC) = Proc()
    {
        "You are standing in front of Siva's altar, a small stone slab in front of "
        "a large monolith.  The exit is to the west.\n";
    }
    irm21(SDESC) = Proc()
    {
        Return Sayer("Siva's Altar", $arg(0));
    }

    irm22(LDESC) = Proc()
    {
        "You are standing at the top of a six-foot deep snake pit.  The walls of "
        "the room are covered with bas relief figures of cobras, kraits, and other "
        "miscellaneous elapids.  Exits lead to the west and south, through "
        "archways ringed by pythons carved into the rock.\n";
    }
    irm22(SDESC) = Proc()
    {
        Return Sayer("Top of Snake pit", $arg(0));
    }

    irm23(LDESC) = Proc()
    {
        "You are at the bottom of a snake pit.  The only direction it appears you "
        "can go is back out.\n";
    }
    irm23(SDESC) = Proc()
    {
        Return Sayer("Bottom of snake pit", $arg(0));
    }

    prm1(LDESC) = Proc()
    {
        darkq();
        "You are in the north-south corridor of an ancient paleolithic cave.  Its "
        "low ceiling is covered with paintings of wild game which have faded due "
        "to the passing of time.\n";
    }
    prm1(SDESC) = Proc()
    {
        If (($arg(0) != 0) & darkq(1)) {
    	Return DARK_STR;
        }
        darkq();
        Return Sayer("North-south corridor.", $arg(0));
    }

    prm2(LDESC) = Proc()
    {
        "You are standing on a ledge above the floor of a subterranean canyon "
        "running east-west.  Shafts of sunlight penetrate through cracks in the "
        "ceiling high above, washing the room with an alabaster murkiness; "
        "casting shadows on the weathered rocks which have lain undisturbed "
        "for countless centuries. A small crawlway leads north, and there is a "
        "short, stout pole sticking out of the ground.";
        If (!rope.rtied) {
    	"\n";
        }
        Else {
    	$move(rope, $loc($ME));
            "  A section of rope is tied around the pole, with the "
            "other end hanging down into the canyon.\n";
        }
    }
    prm2(SDESC) = Proc()
    {
        If (rope.rtied) {
    	$move(rope, $loc($ME));
        }
        Return Sayer("Above East-west canyon.", $arg(0));
    }

    prm3(LDESC) = Proc()
    {
        "You are at the bottom of a canyon running east-west.  The passage to the "
        "east is blocked by rubble, so it appears that the only direction you can "
        "go is west.  A rope dangles down from above.\n";
        $move(rope, $loc($ME));
    }
    prm3(SDESC) = Proc()
    {
        $move(rope, $loc($ME));
        Return Sayer("East end of canyon.", $arg(0));
    }

    prm4(LDESC) = Proc()
    {
        "You are standing in front of a limestone cavern, the entrance of which "
        "looks like a gaping mouth of a grotesque monster.  It appears that you "
        "can enter the cave to your south, or go either direction in the "
        "east-west canyon in which you are standing.\n";
    }
    prm4(SDESC) = Proc()
    {
        Return Sayer("Entrance to limestone cavern.", $arg(0));
    }

    prm5(LDESC) = Proc()
    {
        darkq();
        "You are in a very narrow room which probably was once much larger. "
        "However, it appears that a recent cave-in has closed off much of the "
        "room to the east.  To your north, there is a corridor which apparently "
        "leads back out, and in the eastern wall, there is a hole which you can "
        "probably crawl through.\n";
        $move(hole, $loc($ME));
    }
    prm5(SDESC) = Proc()
    {
        $move(hole, $loc($ME));
        If (($arg(0) != 0) & darkq(1)) {
    	Return DARK_STR;
        }
        darkq();
        Return Sayer("Narrow room in cave.", $arg(0));
    }

    prm6(LDESC) = Proc()
    {
        darkq();
        If (smilo.stond) {
            "You are standing above an empty shallow pit.  There is a small hole "
            "in the west wall of the room you are in.\n";
        }
        Else {
            "You are standing above a shallow pit which is empty except for a "
            "large smilodon (sabre-tooth tiger) which is growling at you "
            "menacingly.  The only other direction it looks like you can go is "
            "back out through a small hole in the rubble forming the west wall "
            "of the room you are in.\n";
        }
        $move(hole, $loc($ME));
    }
    prm6(SDESC) = Proc()
    {
        $move(hole, $loc($ME));
        If (($arg(0) != 0) & darkq(1)) {
    	Return DARK_STR;
        }
        darkq();
        Return Sayer("Above shallow pit", $arg(0));
    }

    prm7(LDESC) = Proc()
    {
        darkq();
        "You are standing on the loose gravel of a shallow pit.  An exit leads "
        "south, and above you, there is a small ledge which you can climb up to.\n";
    }
    prm7(SDESC) = Proc()
    {
        If (($arg(0) != 0) & darkq(1)) {
    	Return DARK_STR;
        }
        darkq();
        Return Sayer("In shallow pit", $arg(0));
    }

    prm8(LDESC) = Proc()
    {
        darkq();
        "You are standing near the west rim of sheer cliff which drops down into "
        "a deep almost bottomless abyss. A passage leads north";
        If (trogl.killd) {
    	".\n";
        }
        Else {
            " and there is an angry troglodyte here holding a large gold "
            "nugget under his arm.\n";
        }
    }
    prm8(SDESC) = Proc()
    {
        Var foo;

        If (($arg(0) != 0) & darkq(1)) {
    	Return DARK_STR;
        }
        darkq();
        foo = Sayer("West rim of canyon", $arg(0));
        If ((!trogl.killd) & ($arg(0) != 0)) {
    	"There is an angry troglodyte holding a gold nugget here.\n";
        }
        Return foo;
    }

    prm9(LDESC) = Proc()
    {
        "You are at the junction of two canyons.  The larger one runs east-west "
        "and the smaller one runs north.\n";
    }
    prm9(SDESC) = Proc()
    {
        Return Sayer("Canyon junction", $arg(0));
    }

    prm10(LDESC) = Proc()
    {
        "You are standing on a shale slab tilted from west to east at about a "
        "forty-five degree angle.  At the east end of the slab, there is a short "
        "drop into what appears to be a lake.  Above you and to the west, it "
        "appears that there is some more explorable terrain, and the canyon leads "
        "back to to the south.  The air is quite warm, and there is a slight "
        "scent similar to asphalt in the air.\n";
    }
    prm10(SDESC) = Proc()
    {
        Return Sayer("On shale slab", $arg(0));
    }

    prm11(LDESC) = Proc()
    {
        "You are standing in the south end of a short canyon running north-south. "
        "The ground below your feet is littered with flakes of a dark rock, which "
        "seems to comprise most of the surrounding canyon walls.  There is a path "
        "to your north, and a steep slope down and to the east.\n";
    }
    prm11(SDESC) = Proc()
    {
        Return Sayer("Canyon full of rubble", $arg(0));
    }

    prm12(LDESC) = Proc()
    {
        "You are standing in the north end of a short canyon.  The ground is "
        "covered with a thin film of oil which apppears to be seeping out of "
        "a crack in the earth.  The only apparent direction you can go is south.\n";
        $move(crack, $loc($ME));
    }
    prm12(SDESC) = Proc()
    {
        $move(crack, $loc($ME));
        Return Sayer("Oily end of canyon", $arg(0));
    }

    prm13(LDESC) = Proc()
    {
        "You are standing in what was once a tributary into the now-extinct river "
        "which formed the large canyon in this area.  There is a streambed running "
        "to the south, and you can also go east and west.\n";
    }
    prm13(SDESC) = Proc()
    {
        Return Sayer("End of dry river bed", $arg(0));
    }

    prm14(LDESC) = Proc()
    {
        "You are standing in a narrow north-south canyon with a river bed running "
        "down the middle of it.  There is a semicirular shaped hole at the base of "
        "the eastern wall.\n";
        $move(hole, $loc($ME));
    }
    prm14(SDESC) = Proc()
    {
        $move(hole, $loc($ME));
        Return Sayer("In narrow part of river bed", $arg(0));
    }

    prm15(LDESC) = Proc()
    {
        "You are at the base of three water-eroded cliffs to your south, east "
        "and west.  It appears that a U-shaped waterfall once flowed into this "
        "area, and exited out to the north.\n";
    }
    prm15(SDESC) = Proc()
    {
        Return Sayer("Below dried waterfall", $arg(0));
    }

    prm16(LDESC) = Proc()
    {
        "You are in a section of the canyon where much of the rock appears to be "
        "primarily sandstone.  Water has apparently flowed out of a cave to your "
        "north into three-foot wide crack in the ground.  A substantial amount of "
        "rubble blocks your way west, and the rest of the canyon winds east.\n";
        $move(crack, $loc($ME));
    }
    prm16(SDESC) = Proc()
    {
        $move(crack, $loc($ME));
        Return Sayer("Sandstone area", $arg(0));
    }

    prm17(LDESC) = Proc()
    {
        darkq();
        "You are standing in front of the freshly dug gravesite of a Nearderthal "
        "hunter.  There is an exit to your south, and it seems that more of the "
        "cave can be explored to the north.  ";
        If (spear.tooky & !spear.abrad) {
    	"However, a large amount of rubble blocks that path.\n";
        }
        Else {
    	"\n";
        }
    }
    prm17(SDESC) = Proc()
    {
        If (($arg(0) != 0) & darkq(1)) {
    	Return DARK_STR;
        }
        darkq();
        Return Sayer("Neanderthal's gravesite", $arg(0));
    }

    prm18(LDESC) = Proc()
    {
        darkq();
        "You are in a narrow room of a north-south running cave.  A large cairn "
        "of prehistoric cave bear skulls is piled high in one corner of the room. "
        "There are exits to the north and south.\n";
    }
    prm18(SDESC) = Proc()
    {
        If (($arg(0) != 0) & darkq(1)) {
    	Return DARK_STR;
        }
        darkq();
        Return Sayer("In front of cave bear cairn", $arg(0));
    }

    prm19(LDESC) = Proc()
    {
        darkq();
        "You are in a large cavern room with a high ceiling.  Cracks in the walls "
        "lead in all directions but none of them seem to lead anywhere.  There are "
        "however, two major paths to the north and the south.\n";
    }
    prm19(SDESC) = Proc()
    {
        If (($arg(0) != 0) & darkq(1)) {
    	Return DARK_STR;
        }
        darkq();
        Return Sayer("Large Cavern room", $arg(0));
    }

    prm20(LDESC) = Proc()
    {
        darkq();
        "You are in a room which was the site of a recent cave-in.  It appears to "
        "be futile to go any other direction except south.\n";
    }
    prm20(SDESC) = Proc()
    {
        If (($arg(0) != 0) & darkq(1)) {
    	Return DARK_STR;
        }
        darkq();
        Return Sayer("Cave-in site", $arg(0));
    }

    prm21(LDESC) = Proc()
    {
        "You are in a crack in the earth which seems to have been formed by an "
        "ancient earthquake.  Various strata in the rock of different darkness "
        "seem to indicate that much time has passed since the formation of the "
        "rock at the lower end of this crack.  It seems that you can chimney up "
        "back out of the crack, or climb further down into it.\n";
        $move(crack, $loc($ME));
    }
    prm21(SDESC) = Proc()
    {
        $move(crack, $loc($ME));
        Return Sayer("In large crack", $arg(0));
    }

    prm22(LDESC) = Proc()
    {
        "You are standing on a narrow ledge about twenty-five feet above the "
        "ground.  Aside from going back up, the only other direction you can "
        "go is to step off the ledge to the west into the mouth of the large "
        "Tyrannosaurus Rex waiting to swallow you whole.\n";
    }
    prm22(SDESC) = Proc()
    {
        Return Sayer("On ledge in front of Tyrannosaurus Rex", $arg(0));
    }

    prm23(LDESC) = Proc()
    {
        "You are standing inside the mouth of a Tyrannosaurus Rex, whose jaws "
        "are being held open by a spear wedged length-wise in his mouth.  Various "
        "pieces of former adventurers can be found among the six-inch long teeth "
        "here.  You can step back out of the Tyrannosaurus onto the small ledge, "
        "or go further down into the Tyrannosaurus and get digested.\n";
    }
    prm23(SDESC) = Proc()
    {
        Return Sayer("Inside mouth of Tyrannosaurus", $arg(0));
    }

    /*** EOF locales.adl ***/