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/
/************************************************************************
*	Author:		Unknown						*
*	Code by:	Ithor (after the AberIV version)		* 
************************************************************************/

#include "undef.h"
#include "exits.h"
#include "special.h"




Zone		= abyss
Author		= "Abaddon"
Quest		= Guxx

EndZone		= abyss


Mobile		= Death
Location	= pain@abyss
Desc		= "The &+RDeath Knight&* stands ready to challenge you."
Strength	= 200
Damage		= 10
Armor		= 0
Aggression	= 0
Speed		= 0
PFlags		= NoSummon
MFlags		= BarW
Examine		= "
The figure before you is wearing a dark hooded robe. In the darkness you 
can not see his face. You are glad of this, as you imagine there is not
much to look at."
EndMobile		= Death

Mobile		= Lolth
Location	= Lolth@abyss
SFlags		= Female
Strength	= 200
Damage		= 18
Aggression      = 80
Armor		= 0
Speed           = 0
Desc		= "
&+GLolth&*, Demon Queen of the Spiders sits here waiting for her next victim."
EndMobile             = Lolth

Mobile		= Jubilex
Location	= Swamp6@abyss
Strength	= 250
Damage		= 15
Aggression      = 30
Armor		= 0
Speed           = 2
Desc		= "&+RJubilex&* the Faceless Lord is here."
EndMobile             = Jubilex

Mobile		= Daemon
Location	= Stairs@abyss
Strength	= 150
Damage		= 8
Aggression      = 1
Armor		= 0
Speed           = 1
Desc		= "&+rShadow Daemon&* is here skulking in the shadows."
EndMobile             = Daemon

Mobile		= Chuck
Location	= Pillars5@abyss
Strength	= 100
Damage		= 10
Aggression      = 99
Armor		= 0
Speed           = 0
Desc		= "&+YChuck Gnoll&* is here."
EndMobile             = Chuck

Mobile		= Widow
Location	= Widow@abyss
SFlags		= Female
Strength	= 120
Damage		= 10
Aggression      = 35
Armor		= 0
Speed           = 0
Desc		= "The &+RBlack Widow&* sits here spinning her web."
EndMobile             = Widow

Mobile		= Pink
Location	= Web@abyss
Strength	= 40
Damage		= 6
Aggression      = 80
Armor		= 0
Speed           = 0
Desc		= "There is a &+Mpink&* spider here."
EndMobile             = Pink

Mobile		= Green
Location	= Web@abyss
Strength	= 40
Damage		= 6
Aggression      = 80
Armor		= 0
Speed           = 0
Desc		= "There is a &+Ggreen&* spider here."
EndMobile             = Green

Mobile		= Brown
Location	= Web@abyss
Strength	= 40
Damage		= 6
Aggression      = 80
Armor		= 0
Speed           = 0
Desc		= "There is a &+ybrown&* spider here."
EndMobile             = Brown

Mobile		= Blue
Location	= Web@abyss
Strength	= 40
Damage		= 6
Aggression      = 80
Armor		= 0
Speed           = 0
Desc		= "There is a &+Bblue&* spider here."
EndMobile             = Blue

Mobile		= White
Location	= Web@abyss
Strength	= 40
Damage		= 6
Aggression      = 80
Armor		= 0
Speed           = 0
Desc		= "There is a &+Wwhite&* spider here."
EndMobile             = White

Mobile		= Ooze
Location	= Swamp7@abyss
Strength	= 80
Damage		= 8
Aggression      = 25
Armor		= 0
Speed           = 2
Desc		= "A gray &+yooze&* slithers across the ground here."
EndMobile             = Ooze

Mobile		= Mush
Location	= Swamp3@abyss
Strength	= 50
Damage		= 8
Aggression      = 5
Armor		= 0
Speed           = 0
Desc		= "The &+ybrown mush&* sits here bubbling."
EndMobile             = Mush

Mobile		= Mucus
Location	= Downstream@abyss
Strength	= 150
Damage		= 15
Aggression      = 15
Armor		= 0
Speed           = 1
Desc		= "The &+ymucus&* monster is here spitting phlegm at you."
EndMobile             = Mucus

Mobile		= Beebop
Location	= Control@abyss
Strength	= 120
Damage		= 12
Aggression      = 98
Armor		= 0
Speed           = 0
Desc		= "
&+GBeebop&* the Mutant Guard is standing here scratching his head."
EndMobile             = Beebop

Mobile		= Rocksteady
Location	= Control@abyss
Strength	= 120
Damage		= 12
Aggression      = 98
Armor		= 0
Speed           = 0
Desc		= "&+RRocksteady&* the Mutant Guard is here slobbering on himself."
EndMobile             = Rocksteady

Mobile		= Guxx
Location	= Cell@abyss
PFlags		= NoSummon, NoExor
Strength	= 750
Damage		= 25
Aggression      = 0
Armor		= 0
Speed           = 0
Desc		= "
The Grand Hoohah &+RGuxx Unfufadoo&* is standing here testing his razor sharp claws."
Trap		= all
@
   switch(event) {
   case E_WHILEFIGHT:
      if (param_s.ob == OBJ_ABYSS_LANCE && (!state (OBJ_ABYSS_LANCE)))
      {	  sendf (param_s.plx, "Guxx says &+C'Guxx will win, this demon knows,\n"
	                      " &+Cfor with every rhyme...Errrk!'\n");
	  sendf (param_s.plx, "Guxx collapses in a heap as you hit him with your "
			   "lance.\n");
	  setpscore (param_s.plx, pscore (param_s.plx) + 750);
          set_quest(Q_GUXX,param_s.plx);
	  wound_player (param_s.plx, param_s.pl, pstr (param_s.pl) + 1, -1);
	  param_s.ret = -1;
      }
      break;
   default:
     break;
   }
@
EndTrap
EndMobile             = Guxx

Mobile		= Braxx
Location	= Road1@abyss
Strength	= 125
Damage		= 10
Aggression      = 0
Armor		= 0
Speed           = 0
Desc		= "
Smilin' &+YBraxx the Salesdemon&* is here selling souvenirs and used weapons."
EndMobile             = Braxx

Mobile		= Qbert
Location	= Secret@abyss
PFlags		= NoSummon
Strength	= 100
Damage		= 20
Aggression      = 80
Armor		= 0
Speed           = 0
Desc		= "
&+GQbert&* the Quasit is sitting at his desk going over the financial records."
EndMobile             = Qbert

Mobile		= Orcus
Location	= Orcus@abyss
Strength	= 300
Damage		= 20
Aggression      = 98
Armor		= 0
Speed           = 0
Desc		= "The Demon Lord &+YOrcus&* is here sizing up your skull."
EndMobile             = Orcus



Object     = bodyarmor
Altname	= "armor"
Location	= IN_ROOM:secret@abyss
OFlags		= GetFlips, WearOnBody, Armor, ExcludeWear
Armor    = 20
BaseValue   = 160
Size     = 35
Weight   = 50
State    = 1
Maxstate = 1
Desc0  = "Abaddon's jet black body-armor is here humming quietly."
Desc1  = "Hanging on the coat rack is Abaddon's body-armor."
Examine  = "
This armor is made of some strange material that absorbs light.  On the left
shoulder is a patch with a white trident on a field of blue.  Each arm has
three yellow chevrons and there are some colorful ribbons on the left breast.
The right breast has been inscribed with the name Stine.
"
EndObject      = bodyarmor

Object     = L663Boulder
Name	= "boulder"
Location	= IN_ROOM:L663@abyss
OFlags		= Pushable, NoGet
Linked   = SlimyBoulder
State    = 1
MaxState = 1
Desc0  = "A huge slimy boulder sits beside the tunnel."
Desc1  = "A huge slimy boulder has been jammed into the tunnel."
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      if (ptothlp (param_s.plx) == -1)
	{
	  bprintf ("You can't seem to get enough leverage to move it.\n");
	  break;
	}
      sillytp (ptothlp (param_s.plx), "pushes the boulder aside with your help.");
      setobjstate (param_s.ob, 1 - state (param_s.ob));
      oplong (param_s.ob);
      param_s.ret = -1;
   default: break;
   }
@
EndTrap
EndObject      = L663Boulder

Object     = SlimyBoulder
Name	= "boulder"
Location	= IN_ROOM:Slimy@abyss
OFlags		= Pushable, Noget
Linked   = L663Boulder
State    = 1
MaxState = 0
Desc0  = "
"
Desc1  = "
A huge boulder blocks the tunnel."
EndObject      = SlimyBoulder

Object     = L662Web
Name	= "web"
Altname	= "webs"
Location	= IN_ROOM:L662@abyss
OFlags		= Lightable, NoGet
Linked   = CityWeb
State    = 1
MaxState = 0
Desc0  = "
A thick mass of webs have been burned away from the tunnel entrance."
Desc1  = "A thick mass of webs are blocking the tunnel entrance."
EndObject      = L662Web

Object     = CityWeb
Name	= "web"
Altname	= "webs"
Location	= IN_ROOM:City@abyss
OFlags		= Lightable, NoGet
Linked   = L662Web
State    = 1
MaxState = 0
Desc0  = "
A thick mass of webs have been burned away from the tunnel entrance."
Desc1  = "A thick mass of webs are blocking the tunnel entrance."
EndObject      = CityWeb

Object     = BonesStairs
Name	= "stairs"
Location	= IN_ROOM:Bones@abyss
OFlags		= NoGet
Linked   = PlainStairs
State    = 1
MaxState = 0
Desc0  = "A stairway leading downward has been cleared of rubble."
Desc1  = "The ceiling has collapsed blocking a stairway leading down."
Trap		= all
@
catch_dig
{
  if (state (OBJ_ABYSS_PLAINSTAIRS) == 1)
  {
      bprintf ("You dig your way through the rockfall, and soon clear "
	       "the passage.\n");
      setobjstate (OBJ_ABYSS_PLAINSTAIRS, 0);
      fail(-1);
  }
}
@
EndTrap
EndObject      = BonesStairs

Object     = PlainStairs
Name	= "stairs"
Location	= IN_ROOM:Plain@abyss
OFlags		= NoGet
Linked   = BonesStairs
State    = 1
MaxState = 0
Desc0  = "A stairway leads upward here."
Desc1  = "A stairway leading up is blocked by rubble."
UseTrap		= all:BonesStairs
EndObject      = PlainStairs

Object     = L664Rope
Name	= "rope"
Location	= IN_ROOM:L664@abyss
OFlags		= NoGet
Linked   = L665Rope
State    = 1
MaxState = 1
Desc0  = "A rope spans the gap allowing you to climb down."
Desc1	 = ""
Trap		= all
@
catch_untie
{   int ob;
    ob = clone_object(OBJ_LIMBO_ROPE, -1, NULL);
    if(ob >= 0) {
      bprintf("You untie the rope.\n");
      setobjstate(param_s.ob, 1);
      send_msg(ploc(mynum), MODE_NSFLAG|MS(SFL_BLIND), LVL_MIN,
	       LVL_MAX, mynum, NOBODY,
	       "\001p%s\003 unties the rope.\n", pname(mynum));
      setoloc(ob, ploc(mynum), IN_ROOM);
      do_not_continue;
      return;
    }
}
@
EndTrap
EndObject      = L664Rope

Object     = L665Rope
Name	= "rope"
Location	= IN_ROOM:L665@abyss
OFlags		= NoGet
Linked   = L664Rope
State    = 1
MaxState = 1
Desc0  = "A rope hangs down here allowing you to climb up."
Desc1	 = ""
UseTrap		= all:L664Rope
EndObject      = L665Rope

Object     = lance
Location	= WIELDED_BY:Death@abyss
OFlags		= Weapon
Damage   = 16
BaseValue   = 160
Size     = 35
Weight   = 50
State    = 1
Maxstate = 1
Desc0  = "The deadly &+BDemon Lance&* is here glowing with a faint blue light."
Desc1  = "A dull iron lance lays here gathering rust."
Examine  = "The lance is made out of iron and appears rather heavy."
EndObject      = lance

Object     = HallElevatorDoor
Name	= "door"
Altname	= "black"
Location	= IN_ROOM:Hall@abyss
OFlags		= NoGet
Linked   = ElevatorDoor
State    = 1
MaxState = 1
Desc0  = "The southern door is open."
Desc1  = "The southern door is closed tightly."
EndObject      = HallElevatorDoor

Object     = ElevatorDoor
Name	= "door"
Location	= IN_ROOM:Elevator@abyss
OFlags		= NoGet
Linked   = HallElevatorDoor
State    = 1
MaxState = 1
Desc0  = "The elevator door is open."
Desc1  = "The elevator door is closed tightly."
EndObject      = ElevatorDoor

Object     = ClosetPanel
Name	= "panel"
Location	= IN_ROOM:Closet@abyss
OFlags		= NoGet
Linked   = SecretPanel
State    = 1
MaxState = 1
Desc0  = "A secret panel has been opened in the southern wall."
EndObject      = ClosetPanel

Object     = SecretPanel
Name	= "panel"
Location	= IN_ROOM:Secret@abyss
OFlags		= NoGet
Linked   = ClosetPanel
State    = 1
MaxState = 1
Desc0  = "A secret panel has been opened in the northern wall."
EndObject      = SecretPanel

Object     = HomeDoor
Name	= "door"
Altname	= "front"
Location	= IN_ROOM:Home@abyss
OFlags		= NoGet
Linked   = HallDoor
State    = 1
MaxState = 0
Desc0  = "The front door is open."
Desc1  = "The front door is closed."
EndObject      = HomeDoor

Object     = HallDoor
Name	= "door"
Altname	= "front"
Location	= IN_ROOM:Hall@abyss
OFlags		= NoGet
Linked   = HomeDoor
State    = 1
MaxState = 0
Desc0  = "The front door is open."
Desc1  = "The front door is closed."
EndObject      = HallDoor

Object     = NetherDoor
Name	= "door"
Altname	= "wood"
Location	= IN_ROOM:Netherhells@abyss
OFlags		= NoGet, Lockable, Openable
Linked   = StoreDoor
State    = 2
MaxState = 2
Desc0  = "The door is open."
Desc1  = "The door is closed."
Desc2  = "The door is locked."
EndObject      = NetherDoor

Object     = StoreDoor
Name	= "door"
Altname	= "wood"
Location	= IN_ROOM:StoreRoom@abyss
OFlags		= NoGet, Lockable, Openable
Linked   = NetherDoor
State    = 2
MaxState = 2
Desc0  = "The door is open."
Desc1  = "The door is closed."
Desc2  = "The door is locked."
EndObject      = StoreDoor

Object     = SnareDoor
Name	= "door"
Altname	= "iron"
Location	= IN_ROOM:Snare7@abyss
OFlags		= NoGet, Lockable, Openable
Linked   = CellDoor
State    = 2
MaxState = 2
Desc0  = "The cell door is open."
Desc1  = "The cell door is closed."
Desc2  = "The cell door is locked."
EndObject      = SnareDoor

Object     = CellDoor
Name	= "door"
Altname	= "iron"
Location	= IN_ROOM:Cell@abyss
OFlags		= NoGet, Lockable, Openable
Linked   = SnareDoor
State    = 2
MaxState = 2
Desc0  = "The cell door is open."
Desc1  = "The cell door is closed."
Desc2  = "The cell door is locked."
EndObject      = CellDoor

Object     = L664Door
Name	= "door"
Location	= IN_ROOM:L664@abyss
OFlags		= NoGet, Lockable, Openable
Linked   = VaultDoor
State    = 2
MaxState = 2
Desc0  = "The door is open."
Desc1  = "The door is closed."
Desc2  = "The door is locked."
EndObject      = L664Door

Object     = VaultDoor
Name	= "door"
Altname	= "iron"
Location	= IN_ROOM:Vault@abyss
OFlags		= NoGet, Lockable, Openable
Linked   = L664Door
State    = 2
MaxState = 2
Desc0  = "The door is open."
Desc1  = "The door is closed."
Desc2  = "The door is locked."
EndObject      = VaultDoor

Object     = Bank1Timber
Name	= "timber"
Location	= IN_ROOM:Bank1@abyss
OFlags		= NoGet
Linked   = Bank2Timber
State    = 1
MaxState = 1
Desc0  = "A timber spans the river allowing you to cross to the east bank."
Trap		= all
@
   switch(event) {
   case E_ONGET:
   if (param_s.misc == BEFORE_GET)
    if (param_s.ob == OBJ_ABYSS_BANK1TIMBER) 
    {
      setobjstate(OBJ_ABYSS_BANK1TIMBER, 1);
      param_s.ob = OBJ_ABYSS_TIMBER;
      create(param_s.ob);
    }
    if (param_s.ob == OBJ_ABYSS_BANK2TIMBER) 
    { setobjstate(OBJ_ABYSS_BANK2TIMBER, 1);
      param_s.ob = OBJ_ABYSS_TIMBER;
      create(param_s.ob);
    }
    break;
  default:break;
  }
@
EndTrap
EndObject      = Bank1Timber

Object     = Bank2Timber
Name	= "timber"
Location	= IN_ROOM:Bank2@abyss
OFlags		= NoGet
Linked   = Bank1Timber
State    = 1
MaxState = 1
Desc0  = "A timber spans the river allowing you to cross to the west bank."
UseTrap		= all:Bank1Timber
EndObject      = Bank2Timber

Object     = NetherWall
Name	= "wall"
Location	= IN_ROOM:Netherhells@abyss
OFlags		= NoGet
Linked   = CellWall
State    = 1
MaxState = 1
Desc0  = "The east wall has been swung back allowing entry to a prison cell."
EndObject      = NetherWall

Object     = CellWall
Name	= "wall"
Location	= IN_ROOM:Cell@abyss
OFlags		= NoGet
Linked   = NetherWall
State    = 1
MaxState = 1
Desc0  = "The west wall has disappeared."
EndObject      = CellWall

Object      = box
Altname	= "slot"
Location	= IN_ROOM:Charon@abyss
OFlags		= Container, NoGet
BaseValue    = 0
Size      = 1
Weight    = 0
Trap		= all
@
   switch (event) {
   case E_ONPUT:
       if ((param_s.misc == OBJ_EFOREST_PURSE_COIN) || 
           (param_s.misc == OBJ_ABYSS_COIN1)) 
       {
           bprintf("An unseen magical force whisks you away...\n");
           destroy(param_s.misc);
           teletrap(LOC_HEAVEN_HEAVEN1);
           param_s.ret = -1;
           break;
       }
       else if ((param_s.misc == OBJ_EFOREST_TRASH_COIN) || 
                (param_s.misc == OBJ_ABYSS_COIN2)) 
       {
           bprintf("An unseen magical force whisks you away...\n");
           destroy(param_s.misc);
           teletrap(LOC_WASTE_BEFORE);
           param_s.ret = -1;
      }
      break;
    default: break;
    }
@
EndTrap
EndObject       = box


Object      = Slot1
Name	= "slot"
Location	= IN_ROOM:Home@abyss
OFlags		= Container, NoGet
BaseValue    = 0
Size      = 1
Weight    = 0
Examine   = "The slot is the size of a small card.
"
Trap		= all
@
   switch (event) {
   case E_ONPUT: 
       if (param_s.misc == OBJ_ABYSS_CARD2) 
       {
           setobjstate(OBJ_ABYSS_HOMEDOOR, 0);
           bprintf("You slide the card into the slot, and the front door opens.\n");
           param_s.ret = -1;
       }
       break;
   default: break;
   }
@
EndTrap
EndObject       = Slot1

Object     = bellows
Location	= IN_ROOM:Forge@abyss
OFlags		= NoGet, PushToggle
Linked   = forge
State    = 2
MaxState = 2
Desc0  = "The bellows is not moving."
Desc1  = "The bellows is pumping air into the forge."
Desc2  = "The bellows is not moving."
Examine  = "
The bellows is a complicated looking device. Apparently it works automatically 
once it is started."
EndObject      = bellows

Object     = forge
Location	= IN_ROOM:Forge@abyss
OFlags		= NoGet, Lightable
Linked   = bellows
State    = 2
MaxState = 2
Desc0  = "The forge is lit."
Desc1  = "The forge is glowing hotly."
Desc2  = "The forge is cold."
Examine  = "
The forge is large enough to create even very large weapons. There is a 
notch in the side of the forge for weapons that are being heated."
Trap		= all
@
/* Param_s.ob   = this object
 * Param_s.misc = object that goes on/in this object 
 */
   switch(event) {
   case E_ONPUT:
     if (state(param_s.ob)==1)
       if (param_s.misc == OBJ_ABYSS_LANCE && state(param_s.misc)) 
       {  setobjstate(param_s.misc, 0);
          bprintf("The lance heats up quickly and begins to glow.\n");
          osetdamage(param_s.misc,26);
          param_s.ret = -1;
       }
     break;
   default: break;
   }
@
EndTrap
EndObject      = forge

Object      = Button1
Name	= "button"
Location	= IN_ROOM:Shelf@abyss
OFlags		= Destroyed, NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
State     = 0
MaxState  = 1
Desc0   = "The dust has been cleared from a square button here."
Desc1   = "The dust has been cleared from a square button here."
Trap		= all
@
   switch (event) {
   case E_ONPUSH:
      switch(param_s.ob) {
      case OBJ_ABYSS_BUTTON1:
        if (!state (OBJ_ABYSS_BUTTON1))
	{
	  setobjstate (OBJ_ABYSS_CLOSETPANEL, 0);
	  setobjstate (OBJ_ABYSS_BUTTON1, 1);
	}
        else
	{
	  setobjstate (OBJ_ABYSS_CLOSETPANEL, 1);
	  setobjstate (OBJ_ABYSS_BUTTON1, 0);
	}
        bprintf ("You hear a soft swish come from below.\n");
        param_s.ret = -1;
        return;
      case OBJ_ABYSS_BUTTON2:
        if (state (OBJ_ABYSS_HALLELEVATORDOOR))
	{
	  setobjstate (OBJ_ABYSS_HALLELEVATORDOOR, 0);
	  bprintf ("The elevator door swishes open.\n");
	}
	param_s.ret =-1;
        return;
      case OBJ_ABYSS_BUTTON3:
        if (!state (OBJ_ABYSS_ELEVATORDOOR))
	{
	  setobjstate (OBJ_ABYSS_HALLELEVATORDOOR, 0);
	  bprintf ("The elevator door swishes closed.\n");
	  bprintf ("The elevator zips upward at an astonishing pace and deposits "
		   "you here.\n");
	  teletrap (LOC_CHURCH_N_BARROW);
	}
	param_s.ret = -1;
        return;
      default: break;
      }
   default: break;
   }
@
EndTrap
EndObject       = Button1

Object      = Button2
Name	= "button"
Altname	= "green"
Location	= IN_ROOM:Hall@abyss
OFlags		= NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
MaxState  = 0
UseTrap		= all:Button1
EndObject       = Button2

Object      = Button3
Name	= "button"
Altname	= "red"
Location	= IN_ROOM:Elevator@abyss
OFlags		= NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
MaxState  = 0
UseTrap		= all:Button1
EndObject       = Button3

Object      = Potion1
Name	= "potion"
Altname	= "milkey"
Location	= IN_ROOM:Treasury@abyss
BaseValue    = 50
Size      = 5
Weight    = 2
MaxState  = 0
Desc0   = "A milky potion has been left here."
Examine   = "
There is a small label on the side that says 'FDA and EPA approved'."
Trap		= all
@
   if (event == E_ONCONSUME)
   {
      osetarmor(OBJ_TOWER_WAND, oarmor(OBJ_TOWER_WAND) - 1);
      cur_player->me_ivct = 60;
      setpvis(param_s.plx, 10);
      bprintf("You seem to &+Cs&+Wh&+ci&+wm&+Cm&+We&+cr and blur.\n");
      setoloc(param_s.ob, LOC_DEAD_EATEN, IN_ROOM);
      eat(param_s.ob);
      param_s.ret = -1;
   }
@
EndTrap
EndObject       = Potion1

Object      = Potion2
Name	= "potion"
Altname	= "clear"
Location	= IN_ROOM:Booth4@abyss
OFlags		= GetFlips
BaseValue    = 50
Size      = 5
Weight    = 2
State     = 1
MaxState  = 0
Desc0   = "A clear potion has been left here."
Desc1   = "A clear potion sits on the shelf."
Examine   = "It's a clear liquid, did you expect a label or something?"
Trap		= all
@
  if (event == E_ONCONSUME)
  {
    if (pstr(MOB_ABYSS_QBERT + max_players) < 0)
    {
   	bprintf("There is a sudden feeling of failure...\n");
	param_s.ret = -1;
        return;
    }
    else 
    {
      polymorph(max_players + MOB_ABYSS_QBERT, 10);
    }
    setpstr(param_s.plx, pstr(param_s.plx) + 16);
    setoloc(param_s.ob, LOC_DEAD_EATEN, IN_ROOM);
    eat (param_s.ob);
    param_s.ret = -1;
  }
@
EndTrap
EndObject       = Potion2

Object      = diadem
Location	= IN_ROOM:Web@abyss
OFlags		= GetFlips, WearOnBody
BaseValue    = 200
Size      = 3
Weight    = 0
State     = 1
MaxState  = 0
Desc0   = "A gold diadem inset with a pearl is here."
Desc1   = "A finely crafted gold diadem inset with a pearl is on the altar."
EndObject       = diadem

Object      = pearls
Altname	= "string"
Location	= IN_ROOM:Web@abyss
OFlags		= GetFlips, WearOnNeck
BaseValue    = 200
Size      = 3
Weight    = 0
State     = 1
MaxState  = 0
Desc0   = "A string of pearls has been cast off here."
Desc1   = "A string of pearls is on the altar."
EndObject       = pearls

Object      = Card1
Name	= "card"
Altname	= "orange"
Location	= IN_ROOM:Treasury@abyss
BaseValue    = 20
Size      = 2
Weight    = 0
MaxState  = 0
Desc0   = "A small orange card has been left here."
Examine   = "The card is inscribed with the words 'Get out of Jail Free'."
EndObject       = Card1

Object      = tooth
Location	= IN_ROOM:Cell@abyss
BaseValue    = 350
Size      = 3
Weight    = 1
MaxState  = 0
Desc0   = "A dragon's tooth has been dropped here."
EndObject       = tooth

Object      = carbuncle
Altname	= "gem"
Location	= IN_ROOM:Cell@abyss
BaseValue    = 350
Size      = 3
Weight    = 1
MaxState  = 0
Desc0   = "A dragon's carbuncle is lying here."
Examine   = "The carbuncle is a large gem with a fiery gleam inside."
EndObject       = carbuncle

Object      = ring
Altname	= "opal"
Location	= IN_ROOM:Pile@abyss
OFlags		= WearOnHands, Destroyed
BaseValue    = 160
Size      = 1
Weight    = 0
MaxState  = 0
Desc0   = "An opal ring is here gathering dust."
Examine   = "The ring is etched in the shape of a feather."
EndObject       = ring

Object      = husks
Location	= IN_ROOM:Pile@abyss
OFlags		= NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
MaxState  = 0
Trap		= all
@
   if (event == E_ONEXAMINE)
   {  if (find_stuff (OBJ_ABYSS_HUSKS, OBJ_ABYSS_RING,
		      "Under one of the husks you find a ring.\n"))
      param_s.ret = -1;
   }
@
EndTrap
EndObject       = husks

Object      = cheese
Altname	= "wheel"
Location	= IN_ROOM:Ledge@abyss
OFlags		= Food
BaseValue    = 20
Size      = 5
Weight    = 2
MaxState  = 0
Desc0   = "A wheel of cheese has been left here."
EndObject       = cheese

Object      = rope
Location	= IN_ROOM:Swamp3@abyss
OFlags		= Rope
BaseValue    = 10
Size      = 10
Weight    = 3
MaxState  = 0
Desc0   = "A rope has been coiled up here."
EndObject       = rope

Object      = flask
Altname	= "wine"
Location	= IN_ROOM:Swamp7@abyss
OFlags		= Food, Booze
BaseValue    = 5
Size      = 5
Weight    = 1
MaxState  = 0
Desc0   = "A flask of wine is here."
EndObject       = flask

Object      = goblet
Altname	= "cup"
Location	= IN_ROOM:Swamp7@abyss
BaseValue    = 160
Size      = 5
Weight    = 1
MaxState  = 0
Desc0   = "A gem encrusted goblet is lying here."
EndObject       = goblet

Object      = oats
Location	= IN_ROOM:StoreRoom@abyss
OFlags		= Food
BaseValue    = 10
Size      = 5
Weight    = 1
MaxState  = 0
Desc0   = "A small bag of oats has been left here."
EndObject       = oats

Object      = rice
Location	= IN_ROOM:StoreRoom@abyss
OFlags		= Food
BaseValue    = 10
Size      = 5
Weight    = 1
MaxState  = 0
Desc0   = "A small bag of rice has been left here."
EndObject       = rice

Object      = Card2
Name	= "card"
Altname	= "plastic"
Location	= IN_ROOM:Home@abyss
OFlags		= Destroyed
BaseValue    = 20
Size      = 1
Weight    = 0
MaxState  = 0
Desc0   = "A small white plastic card is here."
Examine   = "
The card has some strange writing on it and a black strip on the back.
"
EndObject       = Card2

Object      = mat
Location	= IN_ROOM:Home@abyss
OFlags		= NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
State     = 0
MaxState  = 1
Desc0   = "A welcome mat has been placed here."
Desc1   = "A welcome mat has been placed here."
Trap		= all
@
   if (event == E_ONEXAMINE)
   {  if (find_stuff (OBJ_ABYSS_MAT, OBJ_ABYSS_CARD2,
		      "Under the mat you find a plastic card.\n"))
      param_s.ret = -1;
   }
@
EndTrap
EndObject       = mat

Object      = soda
Altname	= "can"
Location	= IN_CONTAINER:icebox@abyss
OFlags		= Food, GetFlips
BaseValue    = 200
Size      = 3
Weight    = 1
State     = 1
MaxState  = 1
Desc0   = "A can of Mountain Dew has been dropped here."
Desc1   = "There is one can of Mountain Dew left."
Trap		= all
@
  if (event == E_ONCONSUME)
  {
    setpstr(param_s.plx, maxstrength(param_s.plx));
    bprintf("As the &+Ysoda&* gurgles down your dry throat you feel invigourated!\n");
    setoloc(param_s.ob, LOC_DEAD_EATEN, IN_ROOM);
    eat(param_s.ob);
  }
@
EndTrap
EndObject       = soda

Object      = dust
Location	= IN_ROOM:Shelf@abyss
OFlags		= NoGet
MaxState  = 1
State	  = 0
BaseValue    = 0
Size      = 0
Weight    = 0
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      if (!state (OBJ_ABYSS_DUST))
	{
	  setobjstate (OBJ_ABYSS_DUST, 1);
	  create (OBJ_ABYSS_BUTTON1);
	  bprintf ("You sweep the dust aside to reveal a square button on the shelf.\n");
	  param_s.ret = -1;
	}
      break;
   default: break;
   }
@
EndTrap
EndObject       = dust

Object      = graffiti
Location	= IN_ROOM:Netherhells@abyss
OFlags		= NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
MaxState  = 0
Examine   = "
In one area it says:   Guxx is a Putz!
Right below that is:   Puff likes it doggie style.
"
EndObject       = graffiti

Object      = timber
Location	= IN_ROOM:Trees@abyss
OFlags		= GetFlips, Lightable, Extinguish
BaseValue    = 10
Size      = 20
Weight    = 5
State     = 1
MaxState  = 0
Desc0   = "A large timber has been left here."
Desc1   = "There is a good sized timber among the fallen trees."
Trap		= all
@
   switch(event) {
   case E_ONDROP:
     if (param_s.misc == D_NORMAL)
     {  if (ploc(param_s.plx) == LOC_ABYSS_BANK1) 
        {  setobjstate(OBJ_ABYSS_BANK1TIMBER, 0);
           setoloc(param_s.ob, ploc(param_s.plx), IN_ROOM);
           destroy(param_s.ob);
           bprintf("You place the timber across the river of slime.\n");
           param_s.ret = -1;
        } 
        else if (ploc(mynum) == LOC_ABYSS_BANK2) 
        { setobjstate(OBJ_ABYSS_BANK2TIMBER, 0);
          setoloc(param_s.ob, ploc(param_s.plx), IN_ROOM);
          destroy(param_s.ob);
          bprintf("You place the timber across the river of slime.\n");
          param_s.ret = -1;
        }
     }
     break;
  default: break;
  }
@
EndTrap
EndObject       = timber

Object      = longsword
Altname	= "sword"
Location	= IN_ROOM:Bones@abyss
OFlags		= Weapon, GetFlips
Damage    = 8
BaseValue    = 60
Size      = 15
Weight    = 7
State     = 1
MaxState  = 0
Desc0   = "A broken longsword is lying here."
Desc1   = "A broken longsword lies half buried in the dust."
Examine   = "
Although eight inches have been broken from the top of the sword it still looks
like it might be serviceable.
"
EndObject       = longsword

Object      = Coin1
Name	= "coin"
Altname	= "golden"
Location	= IN_ROOM:Lolth@abyss
BaseValue    = 50
Size      = 1
Weight    = 0
MaxState  = 0
Desc0   = "A golden coin is lying here."
EndObject       = Coin1

Object      = Coin2
Name	= "coin"
Altname	= "silver"
Location	= IN_ROOM:Lolth@abyss
BaseValue    = 50
Size      = 1
Weight    = 0
MaxState  = 0
Desc0   = "A silver coin is lying here."
EndObject       = Coin2

Object      = stone
Altname	= "large"
Location	= IN_ROOM:Swamp7@abyss
OFlags		= NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
MaxState  = 0
Examine   = "On the stone is written a tale of how the demons were tricked 
into making a powerful lance that could destroy the most powerful demon with 
one blow.But the demons discovered the trickery before the lance was completed
and sent a Death Knight to kill those who had tricked them. When he returned the
Knight was given the lance to guard lest it fall into the wrong hands and be
completely wrought."
EndObject       = stone

Object      = doorbell
Altname	= "bell"
Location	= IN_ROOM:Home@abyss
OFlags		= NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
MaxState  = 0
EndObject       = doorbell

Object      = Slot2
Name	= "slot"
Location	= IN_ROOM:Cell@abyss
OFlags		= Container, NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
MaxState  = 0
Desc0   = "There is a slot on the south wall."
Trap		= all
@
   switch(event) {
   case E_ONPUT:
    if (param_s.misc == OBJ_ABYSS_CARD1) {
      setobjstate(OBJ_ABYSS_CELLWALL, 0);
      bprintf("You slide the card into the slot, and hear a soft click.\n");
      bprintf("The west wall slides back!\n");
      param_s.ret = -1;
    }
    break;
   default: break;
   }
@
EndTrap
EndObject       = Slot2

Object      = icebox
Altname	= "door"
Location	= IN_ROOM:Treasure@abyss
OFlags		= Container, Openable, NoGet
BaseValue    = 0
Size      = 0
Weight    = 0
State     = 1
MaxState  = 1
Desc0   = "The icebox door is open."
Desc1   = "The icebox door is closed."
EndObject       = icebox


Location	= "Bones"
West		= Silent@Church
Down		= ^BonesStairs@abyss
LFlags		= Dark
Title		= "&+WOld Bones&*"
Desc		= ^
   This musty chamber is cluttered with old bones and scraps of clothing.
Your footsteps stir up the thick dust choking you with its dry bitter taste.
No treasures remain, having long ago been looted by barrow robbers.
^
EndLocation	= "Bones"

Location	= "Plain"
West		= River@abyss
Up		= ^PlainStairs@abyss
Title		= "&+WGloomy Plain&*"
Desc		= ^
   You are standing at one end of a vast underground plain. A murky orange glow
dimly illuminates this place. A narrow path has been worn into the gray dust of
the plain, which winds its way westward between scattered clumps of withered
plant life.
^
EndLocation	= "Plain"

Location	= "River"
North		= Rocks@abyss
East		= Plain@abyss
West		= Charon@abyss
Up		= Rocks@abyss
Title		= "&+WBanks of River Styx&*"
Desc		= ^
   You stand on the bank of a river that cuts through the plain. The river is
foul and murky. Behind you to the east a path crosses the barren plain and
above you to the north is a mound of rocks. To the west a boat sits on the
river, waiting patiently.
^
EndLocation	= "River"

Location	= "Rocks"
South		= River@abyss
Down		= River@abyss
Title		= "&+WIn the Rocks&*"
Desc		= ^
   This mound of rocks could have been the ancient remains of a watchtower
that afforded a good view of the river. The far bank looks even more desolate
and forbidding than the near one. It is probably a good thing that the river
separates them. Up river, to the north, the current is much swifter as it
gushes through a rocky narrow canyon. To the south the river winds it way
slowly out of sight.
^
EndLocation	= "Rocks"

Location	= "Charon"
North		= Creek@abyss
East		= River@abyss
South		= Styx@abyss
Title		= "&+WCharon's Boat&*"
Desc		= ^
   You stand on Charon's boat at the edge of the River Styx. The boat is
actually little more than a raft propelled by polling it along the slow
current. From here you could return to the eastern bank, though you get
the feeling that few passengers do. Charon is not here now, but there is
a collection box with a coin slot in it.
^
EndLocation	= "Charon"

Location	= "Creek"
LFlags		= Death
Title		= "&+WUp the Creek&*"
Desc		= ^
   The current is too swift here for safe navigation.
Oh, dear you seem to be up the creek without a paddle...
^
EndLocation	= "Creek"

Location	= "Styx"
South		= Stop@abyss
Title		= "&+WOn the River Styx&*"
Desc		= ^
   You are moving slowly down the River Styx. The water gives off a foul odor
and looks just as bad. It appears to boil in places and its color is a mixture
of grayish brown and yellow. Even though the water moves slowly here, movement
upstream would be impossible without supernatural help.
^
EndLocation	= "Styx"

Location	= "Stop"
West		= Abyss@abyss
Title		= "&+WLast Stop&*"
Desc		= ^
   The boat seems to pull up to the western bank of the river and stops.
On the bank is a sign that reads:

       &+YLast Stop.&*
       &+YEveryone Must Disembark.&*

As you get off the boat, it pulls away, returning whence it came.
^
EndLocation	= "Stop"

Location	= "Abyss"
East		= Stop@abyss
Down		= Stairs@abyss
LFlags		= Dark, NoMobiles
Title		= "&+WThe Abyss&*"
Desc		= ^
   You are at the face of an enormous curved basalt cliff that extends down
out of sight into a dark pit. A small sign, hand painted in blood, tells you: 

     &+RMortals keep out!&*

A black door set into the face of the cliff has a dark arrow above it pointing
down. A sign pasted on the door informs you the elevator is out of order.
For those hearty souls, a large, circular stairway has been carved into the
cliff face, allowing you to make the long descent into the black pit.
^
EndLocation	= "Abyss"

Location	= "Stairs"
Up		= Abyss@abyss
Down		= Stairway@abyss
LFlags		= Dark
Title		= "&+WTop of Stairway&*"
Desc		= ^
   The inky darkness closes in on you here as you wend your way around the
basalt face of this enormous abyssal pit. The stairway seems to go on forever
as it descends to the lowest levels of the Abyss.
   A construction sign here informs you that the first 661 levels are closed
for repairs... looks like you're in for a long walk.
^
EndLocation	= "Stairs"

Location	= "Stairway"
Up		= Stairs@abyss
Down		= L662@abyss
LFlags		= Dark
Title		= "&+WAbyssal Stairway&*"
Desc		= ^
   You seem to be nearing the bottom now, but having lost track of how far
you have come, you can't be sure. It looks like as good a place as any to rest.
^
EndLocation	= "Stairway"

Location	= "L662"
West		= ^L662Web@abyss
Up		= Stairway@abyss
Down		= L663@abyss
LFlags		= Dark
Title		= "&+WLevel 662&*"
Desc		= ^
   You stand at the entrance to the 662nd level of the Abyss. A tunnel has
been bored into the western face of the pit.
^
EndLocation	= "L662"

Location	= "L663"
East		= ^L663Boulder@abyss
Up		= L662@abyss
Down		= L664@abyss
LFlags		= Dark
Title		= "&+WLevel 663&*"
Desc		= ^
   You have reached the entry to the 663rd level of the Abyss. A tunnel has
been bored into the eastern face of the pit. A sickly green goo seeps slowly
from the tunnel, making the stairs here slippery.
^
EndLocation	= "L663"

Location	= "L664"
West		= ^L664Door@abyss
Up		= L663@abyss
Down		= ^L664Rope@abyss
Trap		= all
@
    if (event == E_ONTIE)
    {   setobjstate(OBJ_ABYSS_L664ROPE, 0);
        bprintf("You tie the rope over the gap.\n");
        destroy(param_s.misc);
        send_msg(param_s.loc,0,LVL_MIN,LVL_MAX,param_s.plx,NOBODY,
                 "\001p%s\003 ties the rope over the gap.\n",pname(param_s.plx));
        param_s.ret = -1;
    }
@
EndTrap
LFlags		= Dark
Title		= "&+WLevel 664&*"
Desc		= ^
   Nearly at the bottom now, you have made it to the 664th level of the Abyss.
In the western face of the pit is a heavy iron door with a massive lock.
A sign on the door announces:  None shall pass.
   A large gap in the stairs, where something or someone has smashed through
them, prevents you from going further down.
^
EndLocation	= "L664"

Location	= "L665"
North		= Netherhells@abyss
Up		= ^L665Rope@abyss
Down		= L666@abyss
UseTrap	= all:L664
LFlags		= Dark
Title		= "&+WLevel 665&*"
Desc		= ^
   This is the next to last level of the Abyss. Below you, you can just make
out the floor of the Abyss. To the north a tunnel has been bored into the rock.
Words cut into the rock next to the entry remove all doubt who dwells here:

       I, Guxx Unfufadoo, rule this region
       soon your head I'll be a squeezin'

A gap in the stairs above you prevents you from going up.
^
EndLocation	= "L665"

Location	= "L666"
South		= Bottom@abyss
Up		= L665@abyss
LFlags		= Dark
Title		= "&+WLevel 666&*"
Desc		= ^
  At last, the end of the stairway. This is the 666th and final level of the
Abyss. A deep sense of foreboding comes from an archway to the south.
^
EndLocation	= "L666"

Location	= "City"
East		= ^CityWeb@abyss
Down		= Head@abyss
Title		= "&+WWeb City&*"
Desc		= ^
   You are standing among a cluster of boulders high up on one side of a
large cavern. The other side of the cavern is filled with giant spider webs.
Below you the cavern is split by a gaping chasm. A path winds down from here
toward a bridge, which spans the chasm.
^
EndLocation	= "City"

Location	= "Head"
North		= Wicket@abyss
Up		= City@abyss
Trap		= all
@
   switch (event) {
   case E_ONJUMP:
      if (!iswornby (OBJ_ABYSS_RING, mynum))
      {  crapup ("You rapidly fall to your death.....S P L A T !!\n", 1);
      }
      else
      {  bprintf ("You float slowly downward.  Falling.. falling..\n");
         teletrap (LOC_ABYSS_BANK1);
      }
      param_s.ret = 0;
      break;
   default:
      break;
   }
@
EndTrap
LFlags		= NoSummon
Title		= "&+WBridge Head&*"
Desc		= ^
  This is the southern end of a bridge, which crosses a dark chasm. The bridge
is made of spider webbing, but is far from fragile. The main cables supporting
the bridge are as big as a man's forearm. It's enough to make you wonder what
kind of spider could make such silk.
^
EndLocation	= "Head"

Location	= "Wicket"
North		= Tunnel@abyss
South		= Head@abyss
Up		= Ledge@abyss
UseTrap	= all:Head
LFlags		= NoSummon
Title		= "&+WStickey Wicket&*"
Desc		= ^
   The spider webs cover everything here. If you were a spider, it would be 
easy to get around, otherwise the only way you could go and not get caught in 
the webs is northward, into a dark smelly tunnel. You could also climb up a
single strand of webbing that hangs down directly over the tunnel. Or you could
cross the bridge back to the south.
^
EndLocation	= "Wicket"

Location	= "Tunnel"
North		= Web@abyss
South		= Wicket@abyss
LFlags		= Dark, NoMobiles
Title		= "&+WStinky Tunnel&*"
Desc		= ^
   The tunnel here feels close and uncomfortable. The air is filled with the
stench of filth and decayed remains which wafts from a very narrow shaft in
the side of the tunnel. To the north the tunnel widens into a room and a sense
of great evil comes from that direction.
^
EndLocation	= "Tunnel"

Location	= "Web"
North		= Lolth@abyss
East		= Eastside@abyss
South		= Tunnel@abyss
West		= Westside@abyss
LFlags		= Dark
Title		= "&+WDemon Web&*"
Desc		= ^
   You are in a pocket at the center of a particulary large system of webs.
At the center of the room is a large black altar. Fresh blood drips from the
altar, forming a pool at its base and from there runs toward a large archway
to the north. Smaller archways lead east and west.
^
EndLocation	= "Web"

Location	= "Pile"
Up		= Widow@abyss
LFlags		= Dark
Title		= "&+WHusk Pile&*"
Desc		= ^
   Decayed filth coats the floor here and overpowers you with its odor.
Web enshrouded husks of various creatures, some of which are the remains
of humans, are piled underneath a shaft in the ceiling.  
^
EndLocation	= "Pile"

Location	= "Lolth"
South		= Web@abyss
LFlags		= Dark, NoSummon
Title		= "&+WLolth's Lair&*"
Desc		= ^
   Uh, oh... this isn't Kansas anymore Toto. You have stumbled onto the lair
of the Demon Queen of Spiders. Darkness prevails here. Even the strongest
light source can illuminate only a small portion of this chamber. A touch
of the wall nearest you reveals a sticky substance and you are standing in
a pool of warm liquid.
^
EndLocation	= "Lolth"

Location	= "Eastside"
West		= Web@abyss
LFlags		= Dark
Title		= "&+WEastside Room&*"
Desc		= ^
   This is a small room used by the Demon Queen's attendants to rest between
sacrifices. It is barren, cold and dark.
^
EndLocation	= "Eastside"

Location	= "Westside"
East		= Web@abyss
LFlags		= Dark
Title		= "&+WWestside Room&*"
Desc		= ^
   This is a small room used by the Demon Queen's attendants to rest between
sacrifices. It is barren, cold and dark.
^
EndLocation	= "Westside"

Location	= "Ledge"
North		= Widow@abyss
Down		= Wicket@abyss
LFlags		= OnePerson
Title		= "&+WDusty Ledge&*"
Desc		= ^
   You have reached a small ledge high above the tunnel entrance. A thick
coating of dust covers everything here. A low tunnel leads north.
^
EndLocation	= "Ledge"

Location	= "Widow"
South		= Ledge@abyss
Down		= Pile@abyss
LFlags		= Dark
Title		= "&+WWidow's Lair&*"
Desc		= ^
   This is where the Black Widow makes her home. Her latest conquest hangs
from the ceiling in a cocoon of silk. From a dark shaft at your feet comes
a stomach turning odor.
^
EndLocation	= "Widow"

Location	= "Slimy"
North		= Trees@abyss
West		= ^SlimyBoulder@abyss
Title		= "&+WSlimy Bank&*"
Desc		= ^
   You are standing on the western bank of a river of slime. The slime level
is high here and some of the goo occasionally slops over the bank and runs
down toward a tunnel in the earth to the west.
^
EndLocation	= "Slimy"

Location	= "Trees"
North		= Bank1@abyss
South		= Slimy@abyss
Title		= "&+WBroken Trees&*"
Desc		= ^
   The north-south path you are following runs through a stand of willow
trees that have been blown over and smashed. Fungi of all kinds are growing
on the downed trees and their stumps. The ground is blanketed with moss.
^
EndLocation	= "Trees"

Location	= "Bank1"
East		= ^Bank1Timber@abyss
South		= Trees@abyss
Down		= Goo@abyss
Title		= "&+WWest Bank&*"
Desc		= ^
   You stand on a high bank overlooking a slow moving river of slime.
The opposite bank is too far away to jump across. A path runs south from here
along the river, and a slope has been cut into the bank, leading right down to
the river.
^
EndLocation	= "Bank1"

Location	= "Goo"
South		= Downstream@abyss
Up		= Bank1@abyss
LFlags		= OnWater
Title		= "&+WOn the River of Goo&*"
Desc		= ^
   You are floating down the river of goo. The goo resembles the stuff you
blow from your nose and is very thick.
^
EndLocation	= "Goo"

Location	= "Downstream"
North		= goo@abyss
East		= Boggy@abyss
South		= Whirlpool@abyss
Up		= boggy@abyss
LFlags		= OnWater
Title		= "&+WDownstream&*"
Desc		= ^
   The current is getting swifter as it pushes you up to the east bank of
the river, allowing you to climb out. Further down, the river seems to boil.
^
EndLocation	= "Downstream"

Location	= "Whirlpool"
LFlags		= NoMobiles, Death
Title		= "&+WWhirlpool&*"
Desc		= ^
   The river is moving very fast now and begins to spin in a circle,
sucking you down. You are soon drowning in snot...
^
EndLocation	= "Whirlpool"

Location	= "Bank2"
South		= Boggy@abyss
West		= ^Bank2Timber@abyss
Title		= "&+WEast Bank&*"
Desc		= ^
   You are on the eastern bank of a river of mucus. The ground is soft and
squishy here and someone's or something's footprints can be seen heading south.
^
EndLocation	= "Bank2"

Location	= "Boggy"
North		= Bank2@abyss
South		= Swamp1@abyss
West		= Downstream@abyss
Down		= Downstream@abyss
Title		= "&+WBoggy Bank&*"
Desc		= ^
   The ground gets softer the further south you move along the mucus river.
In that direction you see a stand of trees partially obscured by mist.
The river runs right up to the bank here, allowing easy boat launching.
^
EndLocation	= "Boggy"

Location	= "Swamp1"
North		= Boggy@abyss
East		= Swamp2@abyss
LFlags		= Dark, Peaceful, NoMobiles
Title		= "&+WThe Swamp&*"
Desc		= ^
   You are at the edge of a vast swamp. The tall trees here are laden with
moss hanging all the way to the surface of the swamp. Thick mists obscure
vision, making it hard to find your way. The ground is most firm to the east.
^
EndLocation	= "Swamp1"

Location	= "Swamp2"
North		= swamp1@abyss
East		= swamp4@abyss
South		= swamp5@abyss
West		= swamp3@abyss
LFlags		= Dark
Title		= "&+WThe Swamp&*"
Desc		= ^
   You are in the midst of the swamp. Shadows flit before your eyes as they
move in and out of the thick mists that hang over the swamp. Paths seem to
lead in all directions.
^
EndLocation	= "Swamp2"

Location	= "Swamp3"
North		= Swamp2@abyss
South		= Swamp3@abyss
West		= Swamp3@abyss
LFlags		= Dark
Title		= "&+WThe Swamp&*"
Desc		= ^
   You are in the midst of the swamp. Shadows flit before your eyes as they
move in and out of the thick mists that hang over the swamp. Paths seem to
lead in all directions.
^
EndLocation	= "Swamp3"

Location	= "Swamp4"
East		= Swamp6@abyss
South		= Swamp2@abyss
LFlags		= Dark
Title		= "&+WThe Swamp&*"
Desc		= ^
   You are in the midst of the swamp. Shadows flit before your eyes as they
move in and out of the thick mists that hang over the swamp. Paths seem to
lead in all directions.
^
EndLocation	= "Swamp4"

Location	= "Swamp5"
West		= Swamp2@abyss
LFlags		= Dark
Title		= "&+WThe Swamp&*"
Desc		= ^
   You are in the midst of the swamp. Shadows flit before your eyes as they
move in and out of the thick mists that hang over the swamp. Paths seem to
lead in all directions.
^
EndLocation	= "Swamp5"

Location	= "Swamp6"
South		= Swamp7@abyss
West		= Swamp5@abyss
LFlags		= Dark
Title		= "&+WThe Swamp&*"
Desc		= ^
   You are in the midst of the swamp. Shadows flit before your eyes as they
move in and out of the thick mists that hang over the swamp. Paths seem to
lead in all directions.
^
EndLocation	= "Swamp6"

Location	= "Swamp7"
West		= Swamp5@abyss
LFlags		= Dark
Title		= "&+WThe Swamp&*"
Desc		= ^
   You have reached the end of the swamp. The trees form a small semi circle
here around a little hillock. On top of the mound is a large stone.
^
EndLocation	= "Swamp7"

Location	= "Vault"
East		= ^VaultDoor@abyss
West		= Pillars1@abyss
LFlags		= Dark, Peaceful
Title		= "&+WDemon's Vault&*"
Desc		= ^
   This place has an unnatural, sepulchral quietness to it. The ceiling of the
vast chamber is supported by regularly spaced massive columns. The columns
are carved with the contorted faces of demons. The ground, dry and dusty, is
littered with dead leaves, which flutter slightly in an occasional light
breeze.
^
EndLocation	= "Vault"

Location	= "Pillars1"
North		= Pillars2@abyss
East		= Vault@abyss
South		= Pillars3@abyss
West		= pillars5@abyss
LFlags		= Dark, NoMagic
Title		= "&+WAmong the Pillars&*"
Desc		= ^
   You stand among the massive pillars of this expansive vaulted chamber.
The faces of demons stare down at you as you decide which way to go.
^
EndLocation	= "Pillars1"

Location	= "Pillars2"
South		= Pillars1@abyss
West		= Pillars6@abyss
LFlags		= Dark
Title		= "&+WAmong the Pillars&*"
Desc		= ^
   You stand among the massive pillars of this expansive vaulted chamber.
The faces of demons stare down at you as you decide which way to go.
^
EndLocation	= "Pillars2"

Location	= "Pillars3"
North		= Pillars1@abyss
West		= Pillars4@abyss
LFlags		= Dark
Title		= "&+WAmong the Pillars&*"
Desc		= ^
   You stand among the massive pillars of this expansive vaulted chamber.
The faces of demons stare down at you as you decide which way to go.
^
EndLocation	= "Pillars3"

Location	= "abyss_South"
North		= Pillars4@abyss
LFlags		= Dark, Peaceful
Title		= "&+WSouth Alcove&*"
Desc		= ^
   This is a small round room off the main chamber. The walls here have been
carved with scenes of torture and torment. A bench set into the wall allows
you to sit and contemplate these scenes.
^
EndLocation	= "abyss_South"

Location	= "Pillars4"
North		= Pillars5@abyss
East		= Pillars3@abyss
South		= abyss_South
West		= Pillars9@abyss
LFlags		= Dark
Title		= "&+WAmong the Pillars&*"
Desc		= ^
   You stand among the massive pillars of this expansive vaulted chamber.
The faces of demons stare down at you as you decide which way to go.
^
EndLocation	= "Pillars4"

Location	= "Pillars5"
North		= Pillars6@abyss
East		= Pillars1@abyss
South		= Pillars4@abyss
West		= Pillars8@abyss
LFlags		= Dark
Title		= "&+WAmong the Pillars&*"
Desc		= ^
   You stand among the massive pillars of this expansive vaulted chamber.
The faces of demons stare down at you as you decide which way to go.
^
EndLocation	= "Pillars5"

Location	= "Pillars6"
North		= abyss_North
East		= Pillars2@abyss
South		= Pillars5@abyss
West		= Pillars7@abyss
LFlags		= Dark
Title		= "&+WAmong the Pillars&*"
Desc		= ^
   You stand among the massive pillars of this expansive vaulted chamber.
The faces of demons stare down at you as you decide which way to go.
^
EndLocation	= "Pillars6"

Location	= "abyss_North"
South		= Pillars6@abyss
LFlags		= Dark, Peaceful
Title		= "&+WNorth Alcove&*"
Desc		= ^
   This is a small round room off the main chamber. The walls here have been
carved with scenes of torture and torment. A bench set into the wall allows
you to sit and contemplate these scenes.
^
EndLocation	= "abyss_North"

Location	= "Pillars7"
East		= Pillars6@abyss
South		= Pillars8@abyss
LFlags		= Dark
Title		= "&+WAmong the Pillars&*"
Desc		= ^
   You stand among the massive pillars of this expansive vaulted chamber.
The faces of demons stare down at you as you decide which way to go.
^
EndLocation	= "Pillars7"

Location	= "Pillars8"
North		= Pillars7@abyss
East		= Pillars5@abyss
South		= Pillars9@abyss
West		= Pain@abyss
LFlags		= Dark
Title		= "&+WAmong the Pillars&*"
Desc		= ^
   You stand among the massive pillars of this expansive vaulted chamber.
The faces of demons stare down at you as you decide which way to go.
^
EndLocation	= "Pillars8"

Location	= "Pillars9"
North		= Pillars8@abyss
East		= Pillars4@abyss
LFlags		= Dark
Title		= "&+WAmong the Pillars&*"
Desc		= ^
   You stand among the massive pillars of this expansive vaulted chamber.
The faces of demons stare down at you as you decide which way to go.
^
EndLocation	= "Pillars9"

Location	= "Pain"
East		= Pillars8@abyss
West		= Orcus@abyss
LFlags		= NoSummon
Title		= "&+WArchway of Pain&*"
Desc		= ^
   At the far end of the vault here is a twenty foot high archway. On either
side of the arch is a mound of skulls and set above the keystone is a statue
of a large winged demon, half ram - half human. Through the arch to the west
can be seen a large palatial room.
^
EndLocation	= "Pain"

Location	= "Orcus"
East		= Pain@abyss
West		= Treasury@abyss
Title		= "&+WThrone of Orcus&*"
Desc		= ^
   This is the throne room of Orcus. Ornate tapestries with scenes of warfare
and suffering cover the walls. On either side of the room are rows of benches
guilt with gold and silver. At the far end is his throne, a huge construction
decorated with more skulls. Behind the throne is a low archway.
^
EndLocation	= "Orcus"

Location	= "Treasury"
East		= Orcus@abyss
LFlags		= Dark
Title		= "&+WTreasury&*"
Desc		= ^
   This is where the demons keep those items liberated from their victims and
the fearsome objects they create in the demon's forge. Unfortunately most all
the mounds of treasure are protected by terrible wards and all you can do is
look.
^
EndLocation	= "Treasury"

Location	= "Netherhells"
North		= ^NetherDoor@abyss
East		= ^NetherWall@abyss
South		= L665@abyss
West		= Snare1@abyss
LFlags		= Peaceful, NoMobiles
Title		= "&+WNetherhells Prison&*"
Desc		= ^
   An iron archway dominates the western wall of this small antechamber.
A placard over the archway states:

       Absolutely NO VISITORS Allowed In The Prison Maze

A small wood door covered with graffiti occupies the north wall.
^
EndLocation	= "Netherhells"

Location	= "Snare1"
East		= Snare1@abyss
South		= Snare1@abyss
West		= Snare2@abyss
LFlags		= Maze
Title		= "&+WSnare of Guxx&*"
Desc		= ^
   You are in a labyrinth of steel walls and doors designed to keep prisoners
from escaping this demonic prison. The walls seem to shift as you move around.
^
EndLocation	= "Snare1"

Location	= "Snare2"
North		= Snare3@abyss
East		= Snare2@abyss
South		= Snare1@abyss
West		= Snare2@abyss
LFlags		= Maze
Title		= "&+WSnare of Guxx&*"
Desc		= ^
   You are in a labyrinth of steel walls and doors designed to keep prisoners
from escaping this demonic prison. The walls seem to shift as you move around.
^
EndLocation	= "Snare2"

Location	= "Snare3"
North		= Snare5@abyss
East		= Snare2@abyss
South		= Snare6@abyss
LFlags		= Maze
Title		= "&+WSnare of Guxx&*"
Desc		= ^
   You are in a labyrinth of steel walls and doors designed to keep prisoners
from escaping this demonic prison. The walls seem to shift as you move around.
^
EndLocation	= "Snare3"

Location	= "Snare4"
East		= Snare3@abyss
West		= Snare7@abyss
LFlags		= Peaceful, Maze
Title		= "&+WWell of Souls&*"
Desc		= ^
   You are somewhere in the middle of the Netherhells prison. A chair has been
placed next to a well in the middle of the room. The well, instead of contain-
ing water, contains a fire. The fire gives off no heat as the flames leap from
the well, and from deep within faint cries of pain can be heard.
^
EndLocation	= "Snare4"

Location	= "Snare5"
East		= Snare3@abyss
South		= Snare4@abyss
LFlags		= Maze
Title		= "&+WSnare of Guxx&*"
Desc		= ^
   You are in a labyrinth of steel walls and doors designed to keep prisoners
from escaping this demonic prison. The walls seem to shift as you move around.
^
EndLocation	= "Snare5"

Location	= "Snare6"
North		= Snare4@abyss
East		= Snare3@abyss
LFlags		= Maze
Title		= "&+WSnare of Guxx&*"
Desc		= ^
   You are in a labyrinth of steel walls and doors designed to keep prisoners
from escaping this demonic prison. The walls seem to shift as you move around.
^
EndLocation	= "Snare6"

Location	= "Snare7"
North		= Snare5@abyss
South		= Snare6@abyss
West		= ^SnareDoor@abyss
LFlags		= Maze
Title		= "&+WSnare of Guxx&*"
Desc		= ^
   You are in a labyrinth of steel walls and doors designed to keep prisoners
from escaping this demonic prison. The walls seem to shift as you move around.
^
EndLocation	= "Snare7"

Location	= "Cell"
East		= ^CellDoor@abyss
West		= ^CellWall@abyss
LFlags		= Dark, NoSummon
Title		= "&+WPrison Cell&*"
Desc		= ^
   You are inside a prison cell designed to hold a very large demon. The iron
walls of the cell are deeply scored by claw marks. The floor and ceiling too
are made of iron. There is no furniture here, just an iron bench on one wall.
^
EndLocation	= "Cell"

Location	= "StoreRoom"
South		= ^StoreDoor@abyss
LFlags		= Dark
Title		= "&+WStore Room&*"
Desc		= ^
   This is where the jailors keep spare chains, locks and food for their
prisoners. Most of the shelves are empty now.
^
EndLocation	= "StoreRoom"

Location	= "Bottom"
North		= L666@abyss
East		= Road1@abyss
Title		= "&+WBottom of the Abyss&*"
Desc		= ^
   Amazingly enough, this level resembles a small town. A wide road heads east
from here. Off in that direction can be seen lurid lights and the sounds of
voices shouting.
^
EndLocation	= "Bottom"

Location	= "Road1"
North		= Booth1@abyss
East		= Road2@abyss
South		= Booth2@abyss
West		= Bottom@abyss
Title		= "&+WMerchants Road&*"
Desc		= ^
   You stand at the beginning of rows of what could only be described as
carnival booths. Dark secretive people walk in and out of the booths and
up and down the thoroughfare. Salesmen hawking their wares try to out shout
each other as the people pass by. There are booths to the north and south,
or you can continue east or west.
^
EndLocation	= "Road1"

Location	= "Booth1"
South		= Road1@abyss
Title		= "&+WBooth #1&*"
Desc		= ^
   A small, dilapidated open front shack with rows of shelves in the back
stands here. The small swarthy proprietor is trying to sell kewpi dolls
for a dollar.
^
EndLocation	= "Booth1"

Location	= "Booth2"
North		= Road1@abyss
Title		= "&+WBooth #2&*"
Desc		= ^
   The hawker here is trying to sell miniature busts of Orcus. One customer
is complaining that the dealer cheated him and the two are trying to shout
each other down.
^
EndLocation	= "Booth2"

Location	= "Road2"
North		= Booth3@abyss
East		= Road3@abyss
South		= Booth4@abyss
West		= Road1@abyss
Title		= "&+WMiddle of the Road&*"
Desc		= ^
   You are nearing the end of the merchants road. The booths are becoming
more run down and trash lining the road blows about on little eddies of
wind. There are booths to the north and south.
^
EndLocation	= "Road2"

Location	= "Booth3"
South		= Road2@abyss
Title		= "&+WBooth #3&*"
Desc		= ^
   This is a small roadside bar. The bartender spies you approaching and
says, "Hey! We don't serve your kind here."
^
EndLocation	= "Booth3"

Location	= "Booth4"
North		= Road2@abyss
Title		= "&+WBooth #4&*"
Desc		= ^
   This booth is empty. Most of the shelves in back have collapsed, smashing
the bottles they contained. One lone shelf remains.
^
EndLocation	= "Booth4"

Location	= "Road3"
South		= Area@abyss
West		= Road2@abyss
LFlags		= Dark
Title		= "&+WEnd of the Road&*"
Desc		= ^
   The road ends here, where it meets another street running south.
Back to the west the sounds of street hawkers drones on. A street lamp
that once lit this corner has gone dark.
^
EndLocation	= "Road3"

Location	= "Area"
North		= Road3@abyss
South		= Home@abyss
LFlags		= Dark, NoMobiles
Title		= "&+WResidential Area&* "
Desc		= ^
   You are walking down a dark residential street. A street sign identifies it
as Pleasant Avenue. The street is lined with small brick houses. The only house
that looks occupied however, is to the south at the end of the street.
^
EndLocation	= "Area"

Location	= "Home"
North		= Area@abyss
West		= ^HomeDoor@abyss
Down		= Cellar@abyss
Title		= "&+WSomebody's Home&*"
Desc		= ^
   You stand on the doorstep of someone's private quarters. From a small window
a dim light shines through heavy curtains. On the heavy wooden front door is
carved the number 666. The door has no handle, just a small slot in the middle.
A door bell is mounted on the doorjam. At the side of the porch a set of short
steps leads downward.
^
EndLocation	= "Home"

Location	= "Cellar"
South		= Forge@abyss
Up		= Home@abyss
LFlags		= Dark
Title		= "&+WDemon's Cellar&*"
Desc		= ^
   You stand in a small room at the nadir of the world. There isn't much to
see here, just a barrel filled with water. A low arch leads south.
^
EndLocation	= "Cellar"

Location	= "Forge"
North		= Cellar@abyss
LFlags		= Dark
Title		= "&+WDemon's Forge&*"
Desc		= ^
   Heat scorched bricks line this room and the floor is covered in sand.
Scraps of iron, steel and other metals lie about the room. Tongs, hammers
and various other tools line the walls. A large anvil sits next to a forge
and bellows.
^
EndLocation	= "Forge"

Location	= "Hall"
East		= ^HallDoor@abyss
South		= ^HallElevatorDoor@abyss
West		= Control@abyss
Title		= "&+WFront Hall&*"
Desc		= ^
   This is the front hall of a private residence. A small side table is
piled high with unopened mail. There is an exit to the west and a black
door to the south. The door has a dark arrow above it pointing up and a
small green button beside it.
^
EndLocation	= "Hall"

Location	= "Elevator"
North		= ^ElevatorDoor@abyss
LFlags		= OnePerson
Title		= "&+WThe Elevator&*"
Desc		= ^
   You are in a small enclosure without features save a large red button.
You hear Van Morrison singing in the background.
^
EndLocation	= "Elevator"

Location	= "Control"
North		= Treasure@abyss
East		= Hall@abyss
South		= Closet@abyss
LFlags		= NoSummon
Title		= "&+WControl Room&*"
Desc		= ^
   A large table dominates this room. On the table are charts, maps and
various scraps of vellum that detail the construction of a new world.
A piece of slate has been mounted on the back wall and on the slate are
strange formulae written with colored chalk.
^
EndLocation	= "Control"

Location	= "Treasure"
South		= Control@abyss
LFlags		= NoMobiles
Title		= "&+WAn Angel's Treasure&*"
Desc		= ^
   This room is devoid of anything except a large icebox. There is a note
attached to the icebox door that reminds you to buy more Mountain Dew.
^
EndLocation	= "Treasure"

Location	= "Closet"
North		= Control@abyss
South		= ^ClosetPanel@abyss
Trap		= all
@
   switch (event) {
   case E_ONJUMP:
      bprintf ("You leap upward and grab ahold of the shelf, pulling yourself "
	       "up.\n");
      teletrap (LOC_ABYSS_SHELF);
      break;
   default:
      break;
   }
@
EndTrap
LFlags		= Dark
Title		= "&+WCloset&*"
Desc		= ^
   The faint smell of mothballs can be detected as you look about this rather
spacious closet. A torch here has long since burnt out and the place is totally
empty. Above you and just out of reach is a shelf. There appears to be something 
on the shelf. 
^
EndLocation	= "Closet"

Location	= "Secret"
North		= ^SecretPanel@abyss
Title		= "&+WSecret Room&*"
Desc		= ^
   You have entered a secret storage chamber behind the closet. The walls
are paneled in aromatic cedar and a single torch is mounted on the far wall.
Beneath the torch sits a small high desk cluttered with scraps of paper.
In the back corner is a coat rack.
^
EndLocation	= "Secret"

Location	= "Shelf"
Down		= Closet@abyss
LFlags		= Dark, OnePerson
Title		= "&+WOn the Shelf&*"
Desc		= ^
   You are squatting on a large wooden shelf high up in the closet. It doesn't
seem to get much use as everything is covered with a thick coat of dust that
threatens to make you sneeze.
^
EndLocation	= "Shelf"