pdirt/data/
pdirt/data/HELP/
pdirt/data/HELP/0/
pdirt/data/HELP/F/
pdirt/data/HELP/G/
pdirt/data/HELP/H/
pdirt/data/HELP/J/
pdirt/data/HELP/K/
pdirt/data/HELP/O/
pdirt/data/HELP/Q/
pdirt/data/HELP/R/
pdirt/data/HELP/U/
pdirt/data/HELP/V/
pdirt/data/HELP/Y/
pdirt/data/HELP/Z/
pdirt/data/MESSAGES/
pdirt/data/POWERINFO/
pdirt/data/WIZ_ZONES/
pdirt/drv/
pdirt/drv/bin/
pdirt/drv/compiler/converter/
pdirt/drv/compiler/libs/
pdirt/drv/compiler/scripts/
pdirt/drv/include/AberChat/
pdirt/drv/include/InterMud/
pdirt/drv/include/machine/
pdirt/drv/src/InterMud/
pdirt/drv/src/Players/
pdirt/drv/utils/UAFPort/
pdirt/drv/utils/dnsresolv/
pdirt/drv/utils/gdbm/
#include "undef.h"
#include "exits.h"
#include "special.h"




Zone		= catacomb
Author		= "Rassilon/Daz"
Quest		= FindGrail
EndZone		= catacomb



Mobile		= shadow
Name	= "The Shadow"
Location	= catacomb_19
Strength	= 100
Armor		 = 0
Damage		= 12
Aggression      = 50
MFlags		= Cross
Desc		= "
A spooky black shadow, human in shape, slides across the wall."
EndMobile             = shadow

Mobile		= ghost
Name	= "The Ghost"
Location	= catacomb_8
Strength       	= 80
Armor		 = 0
Damage		= 6
Aggression      = 10
MFlags		= Cross
Desc		= "A ghostly apparition hovers about you, preparing to strike."
Trap		= all
@
   switch (event) {
   case E_ONTIMER:
     if (alive(param_s.plx) != -1 && randperc() < 12)
       sendf(ploc(param_s.plx),"The Ghost moans, sending chills down your spine.\n");
     break;
   default: break;
   }
@
EndTrap
EndMobile             = ghost

Mobile		= skeleton
Name	= "The Skeleton"
Location	= Closet@catacomb
Strength       	= 50
Armor		 = 0
Damage		= 8
Aggression      = 70
MFlags		= Cross
Desc		= "A human skeleton stands upright before you."
EndMobile             = skeleton

Mobile		= defender
Name	= "The Defender"
Location	= hall@catacomb
Strength	= 200
Armor		= 0
Damage		= 15
Aggression      = 0
Speed		= 0
MFlags		= BarN, NoSteal
Desc		= "An ancient knight stands here, readying himself for battle."
Trap		= all
@
   switch(event) {
   case E_ONMISC:
      if (param_s.misc == VERB_STEAL)
      {  
            sendf(ploc(param_s.plx), "%s says 'How dare you steal from me, %s!'\n",
	          pname(param_s.pl), pname(param_s.pl));
            hit_player(param_s.pl, param_s.plx, -1);
            param_s.ret = -1;
      }
      break;
   default: break;
   }
@
EndTrap
EndMobile             = defender

Mobile		= seraph
Name	= "The Seraph"
Location	= resting_place@catacomb
Strength	= 1500
Armor		= 0
Damage		= 10
Aggression      = 0
Speed		= 0
PFlags		= NoSummon
Desc		= "
An enormous six-winged seraph stands over you in solemn judgment."
Trap		= all
@
   switch(event) {
   case E_ONCOMM:
        if (strchr (param_s.buf, '?'))
        {
          switch (MY_RANDOM () % 4)
            {
            case 0:
              sprintf (param_s.buf, "Charity");
              break;
            case 1:
              sprintf (param_s.buf, "Faith");
              break;
            case 2:
              sprintf (param_s.buf, "Wisdom");
              break;
            case 3:
              sprintf (param_s.buf, "Courage");
              break;
            }
        }
      else
        sprintf (param_s.buf, "A blessing be upon your house.");
      param_s.ret = 0;
      break;
   case E_WHILEFIGHT:
      sendf (param_s.plx,
	 "The Seraph is amused by your foolhardiness.  For your "
	 "impudence, he draws his\nflaming sword and slays you with a "
	 "single blow.\n");
      send_msg (ploc (param_s.plx), 0,
         pvis (param_s.plx) > 0 ? pvis (param_s.plx) : LVL_MIN, LVL_MAX,
         param_s.plx, NOBODY,
         "%s is sliced in half by the Seraph!\n\003",
         pname (param_s.plx));
      p_crapup (param_s.plx, "\t\tNever pick a fight with an angel..",
			    CRAP_SAVE | CRAP_RETURN);
      param_s.ret = -1;
      break;
   case E_ONMOVE:
       if (iscarrby (OBJ_CATACOMB_CUPSERAPH, param_s.plx)
           && ploc (param_s.pl) == ploc (param_s.plx))
       {  bprintf ("The Seraph says 'I cannot allow you to leave this place "
	       "with the Holy Relic.'\n");
          param_s.ret = -1;
       }
       break;
   default: break;
   }
@
EndTrap
EndMobile             = seraph

Mobile		= beggar
Name	= "The Beggar"
Location	= beggar@catacomb
Strength       	= 1
Armor		= 0
Damage		= 10
Aggression      = 0
Speed		= 0
Desc		= "
An aged and emaciated beggar sits cross-legged on a mat on the floor."
Trap		= all
@
   extern const int pits[];
   int o = 0;
   int i,j;

   switch(event) {
   case E_ONGIVE:
      if (otstbit(param_s.ob, OFL_FOOD)) 
      { sendf(param_s.plx,"The Beggar thanks you and greedily devours the %s.\n",
	     oname(param_s.ob));
        setpscore(param_s.plx, pscore(param_s.plx) + 50);
        eat(param_s.ob);
        bprintf("After finishing his meal, the beggar stares at you and says '");
        switch (MY_RANDOM() % 4) {
        case 0: bprintf("Charity");
          o = OBJ_CATACOMB_PIT_NORTH;
        break;
        case 1: bprintf("Faith");
          o = OBJ_CATACOMB_PIT_EAST;
          break;
        case 2: bprintf("Wisdom");
          o = OBJ_CATACOMB_PIT_SOUTH;
          break;
        case 3: bprintf("Courage");
          o = OBJ_CATACOMB_PIT_WEST;
          break;
        }
      bprintf("'\n");
      for (i = 0; (j = pits[i++]) != -1;)
         setobjstate(j, 0);
         setobjstate(o, 1);
      sendf(oloc(o), "A faint glow emanates from the pit.\n");
      param_s.ret = -1;
      } else param_s.ret = 1;
      break;
   case E_ONTIMER:
      if (randperc() < 5)
        sendf(ploc(param_s.pl),"The Beggar says: &+C'I could sure use some food.'&*\n");
      break;
   case E_WHILEFIGHT:
      sendf (param_s.plx,
	 "You drop everything as you are summoned by The Seraph.\n"
	 "The Seraph scowls at you contemptuously.  For your lack of "
	 "compassion, he\n"
	 "draws his flaming sword and slays you with a single "
	 "blow.\n");
      send_msg (ploc (param_s.plx), 0,
         pvis (param_s.plx) > 0 ? pvis (param_s.plx) : LVL_MIN, LVL_MAX,
         param_s.plx, NOBODY,
         "%s is sliced in half by the Seraph!\n\003",
         pname (param_s.plx));
      p_crapup (param_s.plx,
	    "\tRemember the ten commandments: Thou Shalt Not Kill",
	    CRAP_SAVE | CRAP_RETURN);
      param_s.ret = -1;
      break;         
   default:
     break;
   }
@
EndTrap
EndMobile             = beggar



Object      = dust
Location	= IN_ROOM:crypt@catacomb
OFlags		= NoGet
Desc0   = "
A thick layer of dust covers everything, and swirls around as you move."
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      bprintf ("Great clouds of dust billow up, causing you to sneeze "
	       "horribly.\nWhen you're finished sneezing, you notice "
	       "a message carved into one wall.\n");
      
      broad ("\001dA loud sneeze echoes through the land.\n\003");
      destroy (OBJ_CATACOMB_DUST);
      create (OBJ_CATACOMB_KOAN);
      param_s.ret = -1;
      break;
   default: break;
   }
@
EndTrap
EndObject       = dust

Object      = koan
Altname	= "message"
Location	= IN_ROOM:crypt@catacomb
OFlags		= Destroyed, NoGet
Desc0   = "A koan has been carved into the eastern wall."
Examine   = ^
The koan reads:
        One day, Cedric and Ged found themselves standing at the
        entrance to the Catacombs.
        Said Ced, "How are we ever to traverse this maze of catacombs?"
        Said Ged, "I do not know, for the interconnections of its
                   chambers are most intricate.  Perhaps we should ask
                   Tedd, the Zen Master of Aber."
        So they did.
        Said Ged, "Oh wise and most learned Tedd, how can one find one's
                   way through the treacherous maze of the catacombs?"
        Said Tedd, "One can't.  Send Ned."
        And suddenly Cedric and Ged were most pleased, for Tedd had
        shown them the path to enlightenment.
^
EndObject       = koan

Object      = umbrellas
Altname	= "umbrella"
Location	= IN_ROOM:cavern@catacomb
OFlags		= NoGet
Desc0   = "A pile of discarded umbrellas does nothing to lift your spirits."
EndObject       = umbrellas

Object      = CupSeraph
Name	= "cup"
Altname	= "stone"
Location	= IN_ROOM:resting_place@catacomb
OFlags		= GetFlips, NoDonate
State     = 1
MaxState  = 1
BaseValue    = 1600
Size      = 5
Weight    = 5
Desc0   = "A simple stone cup lies before you."
Desc1   = "A stone cup rests upon the pedestal."
Examine   = "
It looks very old, and inspires a strange sense of awe and wonder."
Trap		= all
@
   switch(event) {
   case E_ONDROP:
   	if (ploc(mobile(MOB_CATACOMB_SERAPH)) == LOC_START_CHURCH)
            setplev(mobile(MOB_CATACOMB_SERAPH),-2);
        break;
   case E_ONGET:
    if (param_s.misc == DURING_GET)
    {  int l;
       if ((l = alive((max_players + MOB_CATACOMB_SERAPH))) != -1 &&
           ploc(l) == ploc(param_s.plx)) 
       {
          bprintf("\001pThe Seraph\003 says 'Well done, my %s.  "
                  "Truly you are a %s of virtue.'\n",
	       psex(param_s.plx) ? "daughter" : "son", psex(param_s.plx) ? "woman" : "man");
       }
    } 
    else if (param_s.misc == AFTER_GET)
    { int l;
      if ((l = alive(max_players + MOB_CATACOMB_SERAPH)) != -1 &&
          ploc(l) == ploc(param_s.plx)) 
      {
          bprintf("The Seraph gestures and you are transported to ...\n");
          send_msg( ploc(param_s.plx), 0, LVL_MIN, LVL_MAX, param_s.plx, NOBODY,
             "%s vanishes, taking \001p%s\003 with him!\n",
             pname(l), pname(param_s.plx));
          sendf(LOC_START_CHURCH,"\001p%s\003 appears, accompanied by an angel!\n", 
             pname(param_s.plx));
          setploc((max_players + MOB_CATACOMB_SERAPH), LOC_START_CHURCH);
          set_quest(Q_GRAIL,param_s.plx);
          trapch(LOC_START_CHURCH);
          param_s.ret = 0;
      } 
    } 
    break;
   default: break;
   }
@
EndTrap
EndObject       = CupSeraph

Object      = notebook
Altname	= "diary"
Location	= CARRIED_BY:skeleton@catacomb
BaseValue    = 50
Size      = 3
Weight    = 5
Desc0   = "
An old notebook, its pages and binding in decay, has been left here."
Examine   = "
Most of the writing is too faint to read.  It appears to have been a diary.
The only legible parts remaining are individual phrases scattered throughout
its pages:

        long quest ... nearly ended
        who is Ned?
        lost in Catacombs
        torch exhausted
        last of my rations
        dark...  lonely...  hungry...
        a locked door ... my quest is over!
"
EndObject       = notebook

Object      = mace
Location	= CARRIED_BY:defender@catacomb
OFlags		= Weapon
Damage    = 15
BaseValue    = 150
Size      = 10
Weight    = 25
Desc0   = "A heavy iron mace has been dropped here."
Examine   = "
The mace consists of an iron ball, covered with deadly spikes, chained to a
wooden handle.  What else were you expecting?"
EndObject       = mace

Object      = shield
Altname	= "silver"
Location	= WORN_BY:defender@catacomb
OFlags		= Armor, WearOnArms, ExcludeWear, WearBlMagic
Armor     = 10
BaseValue    = 300
Size      = 10
Weight    = 15
Desc0   = "
A silver shield, bearing a striking coat of arms, lies at your feet."
Examine   = "
It's rather heavy, and, being made of silver, looks quite valuable.  The coat
of arms includes the sigil of Camelot, suggesting that the original owner was
among those few honored with a seat at the Round Table."
EndObject       = shield

Object      = Pit_North
Name	= "pit"
Location	= IN_ROOM:catacomb_north
OFlags		= NoGet
MaxState  = 1
Desc0   = "
There is a sacrificial pit in the floor.  Within it you see only darkness."
Desc1   = "
There is a sacrificial pit in the floor.  A faint glow emanates from deep
within it."
EndObject       = Pit_North

Object      = Pit_East
Name	= "pit"
Location	= IN_ROOM:catacomb_east
OFlags		= NoGet
MaxState  = 1
Desc0   = "
There is a sacrificial pit in the floor.  Within it you see only darkness."
Desc1   = "
There is a sacrificial pit in the floor.  A faint glow emanates from deep
within it."
EndObject       = Pit_East

Object      = Pit_South
Name	= "pit"
Location	= IN_ROOM:catacomb_south
OFlags		= NoGet
MaxState  = 1
Desc0   = "
There is a sacrificial pit in the floor.  Within it you see only darkness."
Desc1   = "
There is a sacrificial pit in the floor.  A faint glow emanates from deep
within it."
EndObject       = Pit_South

Object      = Pit_West
Name	= "pit"
Location	= IN_ROOM:catacomb_west
OFlags		= NoGet
MaxState  = 1
Desc0   = "
There is a sacrificial pit in the floor.  Within it you see only darkness."
Desc1   = "
There is a sacrificial pit in the floor.  A faint glow emanates from deep
within it."
EndObject       = Pit_West

Object      = Door1Skeleton
Name	= "door"
Location	= IN_ROOM:catacomb_17
OFlags		= Openable, NoGet, Lockable
Linked    = Door2Skeleton
State     = 2
MaxState  = 2
Desc0   = "A massive iron door lies open to the south."
Desc1   = "A massive iron door blocks your passage south."
Desc2   = "A massive iron door with a mighty lock bars the south passage."
EndObject       = Door1Skeleton

Object      = Door2Skeleton
Name	= "door"
Location	= IN_ROOM:Closet@catacomb
OFlags		= Openable, Lockable, NoGet
Linked    = Door1Skeleton
State     = 2
MaxState  = 2
Desc0   = "The door is open."
Desc1   = "The door is closed."
Desc2   = "The door is locked."
EndObject       = Door2Skeleton

Object      = Door1Seraph
Name	= "door"
Location	= IN_ROOM:Hall@catacomb
OFlags		= Openable, Lockable, NoGet
Linked	  = Door2Seraph
State     = 2
MaxState  = 2
Desc0   = "The door is open."
Desc1   = "The door is closed."
Desc2   = "The door is locked."
EndObject       = Door1Seraph

Object      = Door2Seraph
Name	= "door"
Location	= IN_ROOM:resting_place@catacomb
OFlags		= Openable, Lockable, NoGet
Linked    = Door1Seraph
State     = 2
MaxState  = 2
Desc0   = "The door is open."
Desc1   = "The door is closed."
Desc2   = "The door is locked."
EndObject       = Door2Seraph


Location	= "Crypt"
South		= catacomb_2
Up		= Stairs1@Church
LFlags		= NoMobiles
Title		= "&+WThe Crypt&*"
Desc		= ^
   You are in a small room, standing before the entrance to a vast and ancient
crypt.  Low moaning sounds echo from within the catacombs before you, sending
chills up your spine.
   An archway, its keystone carved in the shape of a human skull, leads south
into darkness, while cool air blows in from the relative safety of the church
above.
^
EndLocation	= "Crypt"

Location	= "catacomb_1"
North		= catacomb_1
East		= catacomb_2
South		= catacomb_4
West		= catacomb_1
Down		= catacomb_19
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are standing in a small, subterranean chamber.  Set into the walls at
regular intervals are deep recesses, within which lie the stone tombs of a
generation long since departed.  A gentle breeze blows in from the passage to
the north, while dark hallways lead south, east, and west.
   A spiral staircase fills one corner of the room.
^
EndLocation	= "catacomb_1"

Location	= "catacomb_2"
North		= Crypt@catacomb
East		= catacomb_3
South		= catacomb_5
West		= catacomb_1
Down		= catacomb_20
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_2"

Location	= "catacomb_3"
North		= catacomb_9
East		= catacomb_6
South		= catacomb_6
West		= catacomb_2
Down		= catacomb_21
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_3"

Location	= "catacomb_4"
North		= catacomb_1
East		= catacomb_5
South		= catacomb_7
West		= catacomb_7
Down		= catacomb_22
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_4"

Location	= "catacomb_5"
North		= catacomb_2
East		= catacomb_6
South		= catacomb_8
West		= catacomb_4
Down		= catacomb_21
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_5"

Location	= "catacomb_6"
North		= catacomb_3
East		= catacomb_3
South		= catacomb_8
West		= catacomb_5
Down		= catacomb_21
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_6"

Location	= "catacomb_7"
North		= catacomb_4
East		= catacomb_8
South		= catacomb_8
West		= catacomb_4
Down		= catacomb_25
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_7"

Location	= "catacomb_8"
North		= catacomb_5
East		= catacomb_6
South		= catacomb_7
West		= catacomb_7
Down		= catacomb_26
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_8"

Location	= "catacomb_9"
North		= catacomb_6
East		= catacomb_3
South		= catacomb_8
West		= catacomb_8
Down		= catacomb_17
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_9"

Location	= "catacomb_10"
North		= catacomb_10
East		= catacomb_11
South		= catacomb_16
West		= catacomb_10
Up		= catacomb_4
Down		= catacomb_19
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_10"

Location	= "catacomb_11"
North		= catacomb_15
East		= catacomb_12
South		= catacomb_17
West		= catacomb_10
Up		= catacomb_15
Down		= catacomb_15
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_11"

Location	= "catacomb_12"
North		= catacomb_12
East		= catacomb_12
South		= catacomb_15
West		= catacomb_11
Up		= catacomb_5
Down		= catacomb_21
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_12"

Location	= "catacomb_13"
North		= catacomb_10
East		= catacomb_14
South		= catacomb_16
West		= catacomb_22
Up		= catacomb_5
Down		= catacomb_22
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_13"

Location	= "catacomb_14"
North		= catacomb_11
East		= catacomb_15
South		= catacomb_17
West		= catacomb_13
Up		= catacomb_5
Down		= catacomb_23
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_14"

Location	= "catacomb_15"
North		= catacomb_12
East		= catacomb_11
South		= catacomb_18
West		= catacomb_17
Up		= catacomb_11
Down		= catacomb_11
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_15"

Location	= "catacomb_16"
North		= catacomb_10
East		= catacomb_17
South		= catacomb_16
West		= catacomb_16
Up		= catacomb_4
Down		= catacomb_18
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_16"

Location	= "catacomb_17"
North		= catacomb_13
East		= catacomb_18
South		= ^Door1Skeleton@catacomb
West		= catacomb_16
Up		= catacomb_9
Down		= catacomb_17
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_17"

Location	= "catacomb_18"
North		= catacomb_15
East		= catacomb_18
South		= catacomb_18
West		= catacomb_17
Up		= catacomb_16
Down		= catacomb_27
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_18"

Location	= "catacomb_19"
North		= catacomb_19
East		= catacomb_20
South		= catacomb_22
West		= catacomb_19
Up		= catacomb_1
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_19"

Location	= "catacomb_20"
North		= catacomb_22
East		= catacomb_21
South		= catacomb_24
West		= catacomb_19
Up		= catacomb_2
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_20"

Location	= "catacomb_21"
North		= catacomb_21
East		= catacomb_21
South		= catacomb_24
West		= catacomb_20
Up		= catacomb_3
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_21"

Location	= "catacomb_22"
North		= catacomb_19
East		= catacomb_20
South		= catacomb_25
West		= catacomb_20
Up		= catacomb_22
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_22"

Location	= "catacomb_23"
North		= catacomb_20
East		= catacomb_24
South		= catacomb_26
West		= catacomb_22
Up		= catacomb_14
Down		= Beggar@catacomb
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.  However, you notice a faint light by the
spiral stairs, apparently emanating from the room below.
^
EndLocation	= "catacomb_23"

Location	= "catacomb_24"
North		= catacomb_21
East		= catacomb_26
South		= catacomb_27
West		= catacomb_26
Up		= catacomb_6
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_24"

Location	= "catacomb_25"
North		= catacomb_22
East		= catacomb_26
South		= catacomb_25
West		= catacomb_25
Up		= catacomb_7
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_25"

Location	= "catacomb_26"
North		= catacomb_22
East		= catacomb_27
South		= catacomb_24
West		= catacomb_25
Up		= catacomb_8
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_26"

Location	= "catacomb_27"
North		= catacomb_24
East		= catacomb_27
South		= catacomb_27
West		= catacomb_26
Up		= catacomb_18
LFlags		= Dark, Maze
Title		= "&+WThe Catacombs&*"
Desc		= ^
   You are lost in the catacombs.
^
EndLocation	= "catacomb_27"

Location	= "Closet"
North		= ^Door2Skeleton@catacomb
LFlags		= Dark, Maze
Title		= "&+WThe Closet&*"
Desc		= ^
   You are in a small closet.  Discarded rags on the floor suggest that it may
once have been used as a storage area for burial clothes.  The only exit is
through the door to the north.
^
EndLocation	= "Closet"

Location	= "Rips"
LFlags		= Death
Title		= "&+WYour umbrella rips and ...&*"
Desc		= ^
   ... you plummet into a small spherical chamber which has somehow been carved
out of the living stone.  Many objects litter the ground, including your
unpleasant remains ...
^
EndLocation	= "Rips"

Location	= "Beggar"
North		= catacomb_North
East		= catacomb_East
South		= catacomb_South
West		= catacomb_West
Up		= catacomb_23
Down		= Stairs@catacomb
Trap		= all
@
   switch (event) {
   case E_ONMOVE:
      if (gotanything(param_s.plx) && param_s.ob == EX_DOWN)
      {  bprintf ("A mysterious force blocks your passage.\n");
         if (ploc ((max_players + MOB_CATACOMB_BEGGAR)) == ploc (param_s.plx))
            sendf (ploc (param_s.plx),
		     "%s says 'To continue on, you must forego all worldly "
		     "possessions.'\n", pname (max_players + MOB_CATACOMB_BEGGAR));
         param_s.ret = -1;
      }
      break;
   default: break;
   }
@
EndTrap
Title		= "&+WThe Beggar's Room&*"
Desc		= ^
   You are in a large, rectangular room.  There is a feeling of anticipation to
this place.  Doorways lead in all directions, above each is an inscription. The
northern inscription reads "Charity", the eastern says "Faith", to the south
lies "Wisdom", and "Courage" can be found to the west.  It seems there is no
"Hope" ...
   A spiral staircase runs up and down in the north-east corner of the room.
^
EndLocation	= "Beggar"

Location	= "catacomb_North"
South		= Beggar@catacomb
Title		= "&+WThe North Cave&*"
Desc		= ^
   You are in a small, unadorned cave.
^
EndLocation	= "catacomb_North"

Location	= "catacomb_East"
West		= Beggar@catacomb
Title		= "&+WThe East Cave&*"
Desc		= ^
   You are in a small, unadorned cave.
^
EndLocation	= "catacomb_East"

Location	= "catacomb_South"
North		= Beggar@catacomb
Title		= "&+WThe South Cave&*"
Desc		= ^
   You are in a small, unadorned cave.
^
EndLocation	= "catacomb_South"

Location	= "catacomb_West"
East		= Beggar@catacomb
Title		= "&+WThe West Cave&*"
Desc		= ^
   You are in a small, unadorned cave.
^
EndLocation	= "catacomb_West"

Location	= "Stairs"
North		= Foot@catacomb
Up		= Beggar@catacomb
Down		= Foot@catacomb
Title		= "&+WThe Stone-Carved Stairs&*"
Desc		= ^
   Here, the spiral staircase straightens out.  You may climb the stairs, or
descend to the north.
^
EndLocation	= "Stairs"

Location	= "Foot"
North		= SLedge1@catacomb
South		= Stairs@catacomb
Up		= Stairs@catacomb
Title		= "&+WThe Foot of the Stairs&*"
Desc		= ^
   You are standing in an underground cave at the foot of a set of stone
stairs which ascend to the south.  The front of the first step is decorated
with a carving of a human skull.
   To the north, an archway has been carved out of the rock wall.
^
EndLocation	= "Foot"

Location	= "SLedge1"
North		= NLedge1@catacomb
South		= Foot@catacomb
Trap		= all
@
   switch(event) {
   case E_ONJUMP:
       bprintf("You step off the ledge, but instead of plummeting into the darkness below,\n"
	       "your motion is stopped and you find yourself ...\n");
       trapch( (param_s.loc==LOC_CATACOMB_SLEDGE2)?
	       LOC_CATACOMB_CHASM1:LOC_CATACOMB_CHASM2);
       param_s.ret = -1;
       break;
   default:
      break;
   }
@
EndTrap
Title		= "&+WSouthern End of the Ledge&*"
Desc		= ^
   You find yourself at the southern end of a narrow ledge overlooking a deep,
seemingly bottomless chasm.
An archway has been carved into the stone here.
^
EndLocation	= "SLedge1"

Location	= "NLedge1"
South		= SLedge1@catacomb
UseTrap	= all:SLedge1
Title		= "&+WNorthern End of the Ledge&*"
Desc		= ^
   You find yourself at the northern end of a narrow ledge overlooking a deep,
seemingly bottomless chasm.
An archway has been carved into the stone here.
^
EndLocation	= "NLedge1"

Location	= "Chasm1"
East		= SLedge2@catacomb
Title		= "&+WSuspended Above The Chasm&*"
Desc		= ^
   You are borne up by a mysterious force. Below your feet, the chasm continues
down into darkness.  Above you, the heights of the chasm also disappear into
blackness.  To the east is solid ground: a narrow ledge.
^
EndLocation	= "Chasm1"

Location	= "Chasm2"
East		= NLedge2@catacomb
Title		= "&+WSuspended Above The Chasm&*"
Desc		= ^
   You are borne up by a mysterious force. Below your feet, the chasm continues
down into darkness.  Above you, the heights of the chasm also disappear into
blackness.  To the east is solid ground: a narrow ledge.
^
EndLocation	= "Chasm2"

Location	= "SLedge2"
North		= NLedge2@catacomb
South		= #EX_GET_STUFF
Trap            = special_exit
@
param_s.loc = LOC_CATACOMB_CHAMBER;
@
EndTrap
West		= Chasm1@catacomb
Trap		= jump
@
   switch(event) {
   case E_ONJUMP:        /* param_s.plx = mynum, so no setup_globals needed */
      if(oloc(OBJ_START_UMBRELLA)==param_s.plx &&
         ocarrf(OBJ_START_UMBRELLA)==CARRIED_BY)
      {
	  bprintf(
		  "You grab hold of the umbrella and step off the ledge.\n"
		  "\n"
		  "You are drifting slowly through the darkness of the chasm, falling towards an\n"
		  "uncertain fate.  The rocky walls slide past you, as does another ledge, just\n"
		  "beyond your reach.  After several minutes, your descent comes to an end and\n"
		  "you alight in ...\n");
	  trapch(param_s.to);
      }
      else
      {
	  bprintf(
		  "You step off the ledge, but instead of plummeting into the darkness below,\n"
		  "your motion is stopped and you find yourself ...\n");
	  trapch((ploc(param_s.plx)==LOC_CATACOMB_SLEDGE2)?
	       LOC_CATACOMB_CHASM1 : LOC_CATACOMB_CHASM2);
      }
      param_s.ret = -1;
      break;   
   default:
      break;
   }
@
EndTrap
Title		= "&+WSouthern End of the Ledge&*"
Desc		= ^
   You find yourself at the southern end of a narrow north-south ledge
overlooking a deep, seemingly bottomless chasm.
The outline of an archway has been carved into the stone.
^
EndLocation	= "SLedge2"

Location	= "NLedge2"
Trap            = special_exit
@
param_s.loc = LOC_CATACOMB_HALL;
@
EndTrap
North		= #EX_DEFENDER
South		= SLedge2@catacomb
West		= Chasm2@catacomb
/*UseTrap	        = jump:SLedge2*/
Title		= "&+WNorthern End of the Ledge&*"
Desc		= ^
   You find yourself at the northern end of a narrow north-south ledge
overlooking a deep, seemingly bottomless chasm.
The outline of an archway has been carved into the stone.
^
EndLocation	= "NLedge2"

Location	= "Cavern"
Title		= "&+WThe Cavern of the Faithless&*"
Desc		= ^
   You are standing at the bottom of a very deep chasm.  The rock walls which
which surround you on all sides vanish up into the darkness overhead.  You feel
quite daunted by the sheer weight of earth and stone which lies between you and
the surface above.
^
EndLocation	= "Cavern"

Location	= "Chamber"
North		= SLedge2@catacomb
Title		= "&+WThe Rough-Walled Chamber&*"
Desc		= ^
   You are in a small spherical chamber, which has somehow been carved out of
the living stone.  Although you can see no exits, the room is lit and there is
an updraft...
^
EndLocation	= "Chamber"

Location	= "Hall"
North		= ^Door1Seraph@catacomb
South		= NLedge2@catacomb
LFlags		= NoMagic
Title		= "&+WThe Hall of Challenging&*"
Desc		= ^
   You are in a large, oval-shaped chamber.  Tapestries, depicting scenes of
single combat, hang from the roof of the chamber, which is high overhead.  A
vast array of weapons and armor, from various ages, adorn the walls all about
you.  The arena is ringed with torches, burning silently.
There is an archway leading south.
There is a heavy wooden door, made of cedar and overlayed with gold, at the
northern end of the Hall.
^
EndLocation	= "Hall"

Location	= "Resting_place"
South		= ^Door2Seraph@catacomb
Title		= "&+WThe Final Resting Place&*"
Desc		= ^
   You are in a rectangular hall, with smooth stone walls, and a marble floor.
An overwhelming sense of satisfaction fills the air in this room.  Twelve
marble pillars line the eastern and western walls of the chamber.
   At the northern end of the hall is a dais, made from a single round slab of
pure gold.  There is a crystal pedestal in the center of the dais.  To the
south is a heavy wooden door, made of cedar and overlayed with gold.
^
EndLocation	= "Resting_place"