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		= window
Author		= "Unknown"
Quest		= Rod

EndZone		= window


Mobile            = giant
Name	= "The Giant"
Location	= glittering@window
Speed		= 0
Strength        = 140
Damage          = 11
Armor		= 0
Aggression      = 0
Desc	     = "A giant snores loudly in one corner."
EndMobile             = giant

Mobile            = hermit
Name	= "The Hermit"
Location	= hut@window
Strength        = 60
Armor		 = 0
Damage          = 10
Aggression      = 0
PFlags		= NoSummon, NoSteal
MFlags		= CanMissile, QFood
Desc	     = "A hungry, unwashed hermit sits here."
EndMobile             = hermit

Mobile            = ghoul
Name	= "The Ghoul"
Location	= crypt@window
Strength        = 40
Armor		 = 0
Damage          = 10
Aggression      = 30
MFlags		= Cross
Desc	     = "An evil looking ghoul skulks in the shadows."
EndMobile             = ghoul

Mobile            = figure
Name	= "The Figure"
Location	= entrance@window
Strength        = 90
Armor		 = 0
Damage          = 14
Aggression      = 0
Speed		= 0
MFlags		= BarDown
Desc	     = "A huge magical figure stands on guard."
Trap		= all
@
   switch(event) {
   case E_ONMOVE:
      if (ploc (param_s.pl) == ploc (param_s.plx) && 
          !iswornby (OBJ_WINDOW_BLACKROBE, param_s.plx) && param_s.ob == EX_SOUTH)
	{
	  send_player("\001pThe Figure\003 holds you back!\n");
	  send_player("\001pThe Figure\003 says 'Only true sorcerors may pass.'\n");
	  do_not_continue;
	}
	break;
   default: break;
   }
@
EndTrap
EndMobile             = figure

Mobile            = ogre
Name	= "The Ogre"
Location	= guard@window
Strength        = 40
Armor		 = 0
Damage          = 14
Aggression      = 30
Desc	     = "A large ogre wanders past, looking for heads to break."
EndMobile             = ogre

Mobile            = riatha
Location	= temple@window
Strength        = 50
Armor		 = 0
Damage          = 15
Aggression      = 31
Desc	     = "Riatha The Acolyte stands arrogantly before you."
EndMobile             = riatha



Object      = ball
Location	= IN_CONTAINER:bag@window
MaxState  = 3
BaseValue    = 20
Size      = 15
Weight    = 15
Desc0   = "A crystal ball has been placed here."
Desc1   = "A crystal ball has been placed here, glowing a pale red."
Desc2   = "A crystal ball has been placed here, glowing a pale blue."
Desc3   = "A crystal ball has been placed here, glowing a pale green."
Trap		= all
@
   switch (event) {
   case E_ONEXAMINE:
      setobjstate (param_s.ob, randperc () % 3 + 1);
      switch (state (param_s.ob))
	{
	case 1:
	  send_player("It glows red.\n");
	  break;
	case 2:
	  send_player("It glows blue.\n");
	  break;
	case 3:
	  send_player("It glows green.\n");
	  break;
	}
      do_not_continue;
      break;
   default: break;
   }
@
EndTrap
EndObject       = ball

Object      = garlic
Altname	= "food"
Location	= IN_ROOM:window@window
OFlags		= Food
BaseValue    = 10
Size      = 2
Weight    = 2
Desc0   = "Some garlic lies at your feet, its smell wafting upwards."
Examine   = "
The garlic seems quite fresh, since it still smells strongly. Because of this,
it might be very good for exorcizing vampires.  What do you think the other
players will think of you if you eat it?"
EndObject       = garlic

Object      = BlackRobe
Name	= "robe"
Altname	= "black"
Location	= IN_ROOM:robing@window
OFlags		= WearOnBack
BaseValue    = 10
Size      = 6
Weight    = 1
Desc0    = "
A black robe with two silver lightning bolts down the back has been put here."
Examine   = "
The robe has two silver lightning bolts inscribed on the back... do you think
it belonged to Captain Marvel?"
Trap		= all
@
   switch (event) {
   case E_ONEXAMINE:
        if (oarmor (param_s.ob) == 0)
	{
	  int obj = clone_object (OBJ_WINDOW_KEY, -1, NULL);
	  if (obj >= 0)
	    {
	      bprintf ("You take a key from one pocket.\n");
	      osetarmor (param_s.ob, 1);
	      setoloc (obj, param_s.plx, CARRIED_BY);
	      param_s.ret = -1;
	    }
	}
      break;
   default:
     break;
   }
@
EndTrap
EndObject       = BlackRobe

Object      = rations
Altname	= "food"
Location	= IN_ROOM:gloomy@window
OFlags		= Food
BaseValue    = 10
Size      = 2
Weight    = 2
Desc0    = "Some rations have been left here, old but edible."
EndObject       = rations

Object      = rations1
Name	= "rations"
Altname	= "food"
Location	= IN_ROOM:gloomy@window
OFlags		= Food
BaseValue    = 10
Size      = 2
Weight    = 2
Desc0    = "Some old rations have been left here."
EndObject       = rations1

Object      = statue_up
Name	= "statue"
Location	= IN_ROOM:stonewalled@window
OFlags		= PushToggle, NoGet
Linked    = statue_down
State     = 1
MaxState  = 1
Desc0    = "
A huge stone statue of a sorcerer stands here, beside a hole leading down."
Desc1    = "
A huge stone statue of a sorcerer stands proudly against the north wall."
Examine   = "
You see a large marble statue of a mighty sorcerer, though its features have
been disfigured by passing adventurers."
EndObject       = statue_up

Object      = statue_down
Name	= "statue"
Location	= IN_ROOM:secret@window
OFlags		= NoGet
Linked    = statue_up
State     = 1
MaxState  = 1
Desc0    = "There is a hole in the roof above you."
Desc1    = "
There is a hole in the roof above you,but it is blocked by the statue's base."
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      if (ptothlp (param_s.plx) == -1)
	{
	  bprintf ("You can't shift it alone, maybe you need help.\n");
	  param_s.ret = -1;
	  break;
	}
      sillytp (ptothlp (param_s.plx), "pushes the statue with your help.");
      break;
   default: break;
   }
@
EndTrap
EndObject       = statue_down

Object      = scarlet
Name	= "robe"
Altname	= "scarlet"
Location	= IN_ROOM:robing@window
OFlags		= WearOnBack
BaseValue    = 10
Size      = 6
Weight    = 2
Desc0    = "A scarlet robe has been neatly folded and left here."
EndObject       = scarlet

Object      = key
Location	= IN_ROOM:robing@window
OFlags		= Key, Destroyed
BaseValue    = 50
Size      = 1
Weight    = 1
Desc0   = "A small silver key has been dropped here."
EndObject       = key

Object      = soap
Location	= IN_ROOM:store@window
BaseValue    = 20
Size      = 1
Weight    = 1
Desc0   = "Some soap has been dropped here."
Examine   = 'Stamped in the soap are the strange runes "Neutrogena"'
EndObject       = soap

Object      = broom
Location	= IN_ROOM:store@window
OFlags		= Weapon
Damage    = 8
BaseValue    = 20
Size      = 25
Weight    = 2
Desc0   = "An old broom has been left here."
Examine   = "
It has a Mark IV Super-Demon engine, unfortunately out of order, and looks as
if its been kick started once too often.."
EndObject       = broom

Object      = coffin
Location	= IN_ROOM:crypt@window
OFlags		= Openable, Container, NoGet
State     = 1
MaxState  = 1
Size      = 120
Weight    = 200
Desc0   = "
An ornate coffin is set in the centre of the room.  The coffin is open."
Desc1   = "An ornate coffin is set in the centre of the room."
Examine   = "The coffin has 'MIST' scratched onto the lid."
EndObject       = coffin

Object      = powerstone
Location	= IN_CONTAINER:coffin@window
OFlags		= EnhanceMagic
BaseValue    = 100
Size      = 1
Weight    = 1
Desc0   = "A magical powerstone has been put here by someone."
EndObject       = powerstone

Object      = shield
Location	= IN_ROOM:pillared@window
OFlags		= NoGet
Trap		= all
@
   switch (event) {
   case E_ONGET:
    if (param_s.misc != BEFORE_GET)
       break;

    if (oloc(OBJ_WINDOW_SHIELD1) == oloc(THIS_OBJECT) && otstbit(OBJ_WINDOW_SHIELD1,OFL_DESTROYED)) 
        param_s.ob = OBJ_WINDOW_SHIELD1;
    else if (oloc(OBJ_WINDOW_SHIELD2) == oloc(THIS_OBJECT) && otstbit(OBJ_WINDOW_SHIELD2,OFL_DESTROYED)) 
        param_s.ob = OBJ_WINDOW_SHIELD2;
    else
        param_s.ob = -1;

    if (param_s.ob == OBJ_WINDOW_SHIELD1 || param_s.ob == OBJ_WINDOW_SHIELD2)
    {   create(param_s.ob);
        bprintf("You remove the shield from the wall.\n");
        setoloc(param_s.ob,THIS_PLAYER,CARRIED_BY);
        param_s.ret = 0;
        return;
    }

    bprintf("The shields are too firmly secured to the walls.\n");
    param_s.ret = 0;
    break;
   default: break;
   }
@
EndTrap
EndObject       = shield

Object      = shield1
Name	= "shield"
Altname	= "painted"
Location	= IN_ROOM:pillared@window
OFlags		= Destroyed, Armor, WearOnArms, ExcludeWear
Armor     = 10
BaseValue    = 30/* 0 because of bug.. should be set back to 30 ***********/
Size      = 10
Weight    = 8
Desc0   = "A heavy painted shield has been dropped here."
EndObject       = shield1

Object      = shield2
Name	= "shield"
Altname	= "wooden"
Location	= IN_ROOM:pillared@window
OFlags		= Destroyed, Armor, WearOnArms, ExcludeWear
Armor     = 10
BaseValue    = 30/*Same as above....*******************/
Size      = 10
Weight    = 4
Desc0   = "A small wooden shield has been left here."
EndObject       = shield2

Object      = RunesMagic
Name	= "runes"
Altname	= "writing"
Location	= IN_ROOM:rune_cave@window
OFlags		= NoGet
Examine   = "
The runes are apparently part of an educational guide to spell casting and
list several basic pieces of magic.  These are:

                DEAFEN, DUMB, CRIPPLE, BLIND and CURE

The runes also allude to a spell for summoning people, SUMMON, but
note that several amulets and talismans can protect the victim from
its effects.
        A spell for finding the exact locations of players, objects
and mobiles, WHERE, is also mentioned."
EndObject       = RunesMagic

Object      = obsidian
Location	= IN_ROOM:lava_path2@window
BaseValue    = 100
Size      = 1
Weight    = 1
Desc0   = "A large, gleaming piece of obsidian lies on the ground."
EndObject       = obsidian

Object      = pumice
Location	= IN_ROOM:lava_path2@window
BaseValue    = 100
Size      = 1
Weight    = 1
Desc0   = "A piece of pumice has been discarded here."
EndObject       = pumice

Object      = CoinPlat
Name	= "coins"
Location	= IN_ROOM:well@window
BaseValue    = 150
Size      = 1
Weight    = 1
Desc0   = "A few small platinum coins has been dropped here."
EndObject       = CoinPlat

Object      = hat
Location	= IN_ROOM:slime@window
OFlags		= WearOnHead
BaseValue    = 40
Size      = 60
Weight    = 3
Desc0   = "A tall pointed hat of some form has been placed here."
EndObject       = hat

Object      = powerstone1
Name	= "powerstone"
OFlags		= EnhanceMagic
Location	= IN_ROOM:slime@window
BaseValue    = 100
Size      = 1
Weight    = 1
Desc0   = "A magical powerstone has been placed here."
EndObject       = powerstone1

Object      = pillar_west
Name	= "pillar"
Location	= IN_ROOM:shattered@window
OFlags		= PushToggle, NoGet
Linked    = pillar_east
State     = 1
MaxState  = 1
Desc0   = "A huge stone pillar bridges the gap and allows you to go east."
Desc1   = "A huge stone pillar lies fallen on the floor."
EndObject       = pillar_west

Object      = pillar_east
Name	= "pillar"
Location	= IN_ROOM:narrow@window
OFlags		= PushToggle, NoGet
Linked    = pillar_west
State     = 1
MaxState  = 1
Desc0   = "A huge stone pillar bridges the gap to the west."
EndObject       = pillar_east

Object      = door_shadowy
Name	= "door"
Location	= IN_ROOM:shadowy@window
OFlags		= Openable, Lockable, NoGet
Linked    = door_laboratory
State     = 2
MaxState  = 2
Desc0   = "The door is open."
Desc1   = "The door is closed."
Desc2   = "The door is locked."
EndObject       = door_shadowy

Object      = door_laboratory
Name	= "door"
Location	= IN_ROOM:laboratory@window
OFlags		= Openable, Lockable, NoGet
Linked    = door_shadowy
State     = 2
MaxState  = 2
Desc0   = "The door is open."
Desc1   = "The door is closed."
Desc2   = "The door is locked."
EndObject       = door_laboratory

Object      = tripwire
Altname	= "wire"
Location	= IN_ROOM:moldy@window
OFlags		= NoGet
Desc0   = "There is a tripwire stretched out across the passage."
Examine   = "
You see a highly coloured, multi dimensional trip wire, though it is obviously
harmless to those that have seen it."
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      bprintf ("The tripwire moves and a huge stone crashes down from above!\n");
      broad ("\001dYou hear a thud and a squelch in the distance.\n\003");
      crapup ("             S   P    L      A         T           !", SAVE_ME);
      break;
   default:
      break;
   }
@
EndTrap
EndObject       = tripwire

Object      = knife
Location	= IN_ROOM:dark_chmb@window
OFlags		= Weapon
Damage    = 3
BaseValue    = 20
Size      = 1
Weight    = 1
Desc0   = "A small, curved surgeon's knife has been dropped here."
EndObject       = knife

Object      = door_dungeon
Name	= "door"
Location	= IN_ROOM:dungeon@window
OFlags		= Openable, Lockable, NoGet
Linked    = door_cell
State     = 2
MaxState  = 2
Desc0   = "The door is open."
Desc1   = "The door is closed."
Desc2   = "The door is locked."
EndObject       = door_dungeon

Object      = door_cell
Name	= "door"
Location	= IN_ROOM:stone_cell@window
OFlags		= Openable, Lockable, NoGet
Linked    = door_dungeon
State     = 2
MaxState  = 2
Desc0   = "The door is open."
Desc1   = "The door is closed."
Desc2   = "The door is locked."
EndObject       = door_cell

Object      = IronBar
Name	= "bar"
Location	= IN_ROOM:stone_cell@window
OFlags		= NoGet
Desc0   = "An iron bar is set into the wall."
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      if (state (OBJ_WINDOW_PASS_STONE) == 1)
	{
	  setobjstate (OBJ_WINDOW_PASS_FISSURE, 0);
	  bprintf ("A secret panel opens in the east wall!\n");
	  param_s.ret = -1;
	  break;
	}
      bprintf ("Nothing happens.\n");
      param_s.ret = -1;
      break;
   default: break;
   }
@
EndTrap
EndObject       = IronBar

Object      = boulder
Location	= IN_ROOM:crack@window
OFlags		= NoGet
Desc0   = "A huge boulder rests against one of the walls."
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      bprintf ("With a mighty heave you manage to move the boulder a few feet\n");
      if (state (OBJ_WINDOW_HOLE_CRACK) == 1)
	{
	  bprintf ("uncovering a hole behind it.\n");
	  setobjstate (OBJ_WINDOW_HOLE_CRACK, 0);
	}
      else
	{
	  bprintf ("covering a hole behind it.\n");
	  setobjstate (OBJ_WINDOW_HOLE_CRACK, 1);
	}
      param_s.ret = -1;
      break;
   default: break;
   }
@
EndTrap
EndObject       = boulder

Object      = Pass_Stone
Name	= "passage"
Location	= IN_ROOM:stone_cell@window
OFlags		= NoGet
Linked    = Pass_Fissure
State     = 1
MaxState  = 1
Desc0   = "A secret passage leads eastwards."
EndObject       = Pass_Stone

Object      = Pass_Fissure
Name	= "passage"
Location	= IN_ROOM:fissure@window
OFlags		= NoGet
Linked    = Pass_Stone
State     = 1
MaxState  = 1
Desc0   = "A secret passage leads westwards."
EndObject       = Pass_Fissure

Object      = Hole_Crack
Name	= "hole"
Location	= IN_ROOM:crack@window
OFlags		= NoGet
Linked    = Hole_Gallery
State     = 1
MaxState  = 1
Desc0   = "A hole allows you to clamber eastwards."
Examine   = "How can you examine a hole, there's nothing there to examine!"
EndObject       = Hole_Crack

Object      = Hole_Gallery
Name	= "hole"
Location	= IN_ROOM:gallery@window
OFlags		= NoGet
Linked    = Hole_Crack
State     = 1
MaxState  = 1
Desc0   = "A hole allows you to go west."
Examine   = "How can you examine a hole, there's nothing there to examine!"
EndObject       = Hole_Gallery

Object      = Bridge_Wand
Name	= "wand"
Location	= IN_ROOM:laboratory@window
BaseValue    = 100
Size      = 15
Weight    = 4
Desc0   = "A long red wand has been placed here."
Examine   = "
It has a fiery bridge etched upon one side, apparently a fiery drawbridge
half opened."
Trap		= all
@
   switch (event) {
   case E_ONMISC:
      if (param_s.misc == VERB_WAVE)
      { 
        if ((state (OBJ_WINDOW_BRIDGE_FIRE) == 1)
	  && (oloc (OBJ_WINDOW_BRIDGE_FIRE) == param_s.loc))
	{
	  setobjstate (OBJ_WINDOW_BRIDGE_HALL, 0);
	  sendf (param_s.loc, "The drawbridge is lowered!\n");
	  param_s.ret = -1;
	}
      }
      break;
   default:
     break;
   }

@
EndTrap
EndObject       = Bridge_Wand

Object      = slime_pit
Name	= "pit"
Altname	= "slime"
Location	= IN_ROOM:damp@window
OFlags		= NoGet
State     = 1
MaxState  = 1
Desc0   = "There is a pit in the floor."
Desc1   = "There is a pit of slime in the floor."
Trap		= all
@
  if (event == E_ONPUT)
  {
     if (param_s.ob == OBJ_WINDOW_SLIME_PIT) 
     {
        if (state(param_s.ob) == 0) 
        {
            setoloc(param_s.misc, LOC_WINDOW_SLIME, IN_ROOM);
            bprintf("Ok\n");
            return;
        }
        destroy(param_s.misc);
        bprintf("It dissappears with a fizzle into the slime.\n");
        if (onum(param_s.misc) == OBJ_WINDOW_SOAP) 
        {
           bprintf("The soap dissolves the slime away!\n");
           setobjstate(OBJ_WINDOW_SLIME_PIT, 0);
        }
        param_s.ret = -1;
     }
  }
@
EndTrap
EndObject       = slime_pit

Object      = lever
Location	= IN_ROOM:pillared2@window
OFlags		= NoGet
Desc0   = "A heavy iron lever is set into the south wall."
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      if (ptothlp (param_s.plx) == -1)
	{
	  bprintf ("It's too stiff.  Maybe you need help.\n");
	  fail(-1);
	}
      bprintf ("Ok\n");
      if (state (OBJ_WINDOW_SLIME_PIT) != 0)
	{
	  sillycom ("\001s%s\002%s pulls the lever.\n\003");
	  sendf (oloc (OBJ_WINDOW_LEVER),
		 "\001dYou hear a gurgling noise and then silence.\n\003");
	  setobjstate (OBJ_WINDOW_SLIME_PIT, 0);
	  sendf (oloc (OBJ_WINDOW_SLIME_PIT),
		 "\001cThere is a muffled click and the slime drains away.\n\003");
	}
      param_s.ret = -1;
      break;
   default: break;
   }
@
EndTrap
EndObject       = lever

Object      = grille
Location	= IN_ROOM:stonew_room@window
OFlags		= Openable, NoGet
Linked    = Grille_Treasure
State     = 1
MaxState  = 1
Desc0    = "The grille is open."
Desc1    = "The grille is closed."
EndObject       = grille

Object      = Grille_Treasure
Name	= "grille"
Location	= IN_ROOM:treasure@window
OFlags		= NoGet
Linked    = grille
State     = 1
MaxState  = 1
Desc0   = "The grille is open."
Desc1   = "The grille is closed."
EndObject       = Grille_Treasure

Object      = coins
Altname	= "copper"
Location	= IN_ROOM:treasure@window
BaseValue    = 20
Size      = 2
Weight    = 1
Desc0   = "A few copper coins lie scattered on the ground."
EndObject       = coins

Object      = necklace
Location	= IN_ROOM:treasure@window
OFlags		= WearOnNeck
BaseValue    = 200
Size      = 5
Weight    = 1
Desc0   = "A beautiful necklace has been left here."
EndObject       = necklace

Object      = tube
Altname	= "ivory"
Location	= IN_ROOM:rocky_can@window
BaseValue    = 50
Size      = 5
Weight    = 1
Desc0   = "A long ivory scroll tube has been dropped here."
Trap		= all
@
   if (event == E_ONEXAMINE)
   {    if (oarmor (param_s.ob) == 0)
	{
	  int obj = clone_object (OBJ_WINDOW_SCROLL, -1, NULL);
	  
	  if (obj >= 0)
	    {
	      osetarmor (param_s.ob, 1);
	      bprintf ("You take a scroll from the tube.\n");
	      setoloc (obj, mynum, CARRIED_BY);
	      param_s.ret = -1;
	    }
	}
   }
@
EndTrap
EndObject       = tube

Object      = scroll
Location	= IN_ROOM:rocky_can@window
OFlags		= Destroyed
BaseValue    = 100
Size      = 12
Weight    = 1
Desc0   = "A battered papyrus scroll has been dropped here."
Trap		= all
@
   if (event == E_ONEXAMINE)
   {  if (iscarrby (OBJ_CATACOMB_CUPSERAPH, param_s.plx))
	{
	  bprintf ("Funny, I thought this was a teleport scroll, but "
		   "nothing happened.\n");
          param_s.ret = -1;
	  return;
	}
      bprintf ("As you read the scroll you are teleported!\n");
      destroy (param_s.ob);
      setoloc(param_s.ob,LOC_DEAD_DESTROYED,IN_ROOM);
      teletrap (LOC_WINDOW_PENTACLE);
      fail(-1);
   }
@
EndTrap
EndObject       = scroll

Object      = Throne_Curtains
Name	= "curtains"
Location	= IN_ROOM:throne@window
OFlags		= Openable, NoGet
Linked    = Rough_Curtains
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      setobjstate (OBJ_WINDOW_THRONE_CURTAINS,
		   1 - state (OBJ_WINDOW_THRONE_CURTAINS));
      bprintf ("Ok\n");
      param_s.ret = -1;
      break;
   default: break;
   }
@
EndTrap
State     = 1
MaxState  = 1
Desc0   = "A narrow passage leads north, through a gap in the curtains."
Desc1   = "The curtains are closed."
Examine   = "
These are made of the best quality velvet, but are so large and heavy that
only immortals may carry them out of the chamber."
EndObject       = Throne_Curtains

Object      = Rough_Curtains
Name	= "curtains"
Location	= IN_ROOM:rough@window
OFlags		= Openable, NoGet
Linked    = Throne_Curtains
State     = 1
MaxState  = 1
Desc0   = "To the south the passage leads into a curtained hall."
Desc1   = "To the south the passage passes through some curtains."
Examine   = "They aren't the sort you'd expect to find a peeping Tom behind."
UseTrap		= all:Throne_Curtains
EndObject       = Rough_Curtains

Object      = harp
Location	= IN_ROOM:glittering@window
BaseValue    = 300
Size      = 70
Weight    = 20
Desc0   = "A beautiful golden harp has been placed here."
Trap		= all
@
   switch(event) {
   case E_ONMISC:
     if (param_s.misc == VERB_PLAY)
     {  broad("A beautiful harp melody &+Cfloats&* to you on a gentle breeze.\n");
        param_s.ret = -1;
     }
     break;
  default: break;
  }
@
EndTrap
EndObject       = harp

Object      = Bridge_Lever
Name	= "lever"
Location	= IN_ROOM:hall@window
OFlags		= NoGet
Examine   = "This lever would seem to operate the drawbridge."
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      setobjstate (OBJ_WINDOW_BRIDGE_HALL, 1 - state (OBJ_WINDOW_BRIDGE_HALL));
      if (state (OBJ_WINDOW_BRIDGE_HALL))
	{
	  sendf (oloc (OBJ_WINDOW_BRIDGE_HALL), "\001cThe drawbridge rises.\n\003");
	  sendf (oloc (OBJ_WINDOW_BRIDGE_FIRE), "\001cThe drawbridge rises.\n\003");
	}
      else
	{
	  sendf (oloc (OBJ_WINDOW_BRIDGE_HALL),
		 "\001cThe drawbridge is lowered.\n\003");
	  sendf (oloc (OBJ_WINDOW_BRIDGE_FIRE),
		 "\001cThe drawbridge is lowered.\n\003");
	}
      param_s.ret = -1;
      break;
   default: break;
   }
@
EndTrap
EndObject       = Bridge_Lever

Object      = Bridge_Fire
Name	= "bridge"
Altname	= "drawbridge"
Location	= IN_ROOM:fire_gate@window
OFlags		= NoGet
Linked    = Bridge_Hall
State     = 1
Desc0   = "A huge iron drawbridge crosses the lava to the east."
Examine   = "It's just a bridge over VERY troubled waters!"
EndObject       = Bridge_Fire

Object      = Bridge_Hall
Name	= "bridge"
Altname	= "drawbridge"
Location	= IN_ROOM:hall@window
OFlags		= NoGet
Linked    = Bridge_Fire
State     = 1
Desc0   = "A huge iron drawbridge crosses the lava to the west."
Examine   = "It's just a bridge over troubled waters...."
EndObject       = Bridge_Hall

Object      = Riatha_Fire
Name	= "fire"
Altname	= "flames"
Location	= IN_ROOM:temple@window
OFlags		= Extinguish, Lit, NoGet
Examine   = "It looks a trifle hot for any mortal to handle."
EndObject       = Riatha_Fire

Object      = orb
Location	= IN_ROOM:workroom@window
BaseValue    = 300
Size      = 1
Weight    = 1
Desc0   = "A glowing white orb pulsates before you."
EndObject       = orb

Object      = moonstone
Location	= IN_ROOM:workroom@window
BaseValue    = 200
Size      = 10
Weight    = 3
Desc0   = "A huge moonstone lies in front of you."
EndObject       = moonstone

Object      = rod
Location	= IN_ROOM:workroom@window
BaseValue    = 150
Size      = 20
Weight    = 2
Desc0   = "A black rod marked with a red pentacle has been placed here."
Trap		= all
@
   switch (event) {
   case E_ONMISC:
    if (param_s.misc == VERB_WAVE)
      if (iscarrby (OBJ_CATACOMB_CUPSERAPH, param_s.plx))
	{
	  bprintf ("Something prevents the rod's functioning.\n");
	  return;
	}
      if (oarmor (param_s.ob) >= 3)
	{
	  bprintf ("The rod crumbles to dust!\n");
	  destroy (param_s.ob);
	  param_s.ret = -1;
	  return;
	}
      oarmor (param_s.ob)++;
      bprintf ("You are teleported!\n");
      teletrap (LOC_WINDOW_PENTACLE);
      param_s.ret = -1;
      break;
   case E_ONGET:
      if (param_s.loc == LOC_WINDOW_WORKROOM && param_s.misc == BEFORE_GET)
         set_quest(Q_ROD,param_s.plx);
      break;
   default:
     break;
   }
@
EndTrap
EndObject       = rod

Object      = worn
Name	= "robe"
Altname	= "worn"
Location	= IN_ROOM:robing@window
OFlags		= WearOnBack
BaseValue    = 10
Size      = 6
Weight    = 2
Desc0   = "A rather worn robe lies here tatty and fraying."
EndObject       = worn

Object      = bookcase
Altname	= "case"
Location	= IN_ROOM:library@window
OFlags		= NoGet
Examine   = "You see shelves of books.  What else did you expect, a secret passage?"
Trap		= all
@
   switch( event) {
   case E_ONPUSH:
      bprintf ("A trapdoor opens at your feet and you plumment downwards!\n");
      sillycom ("\001p%s\003 disappears through a trapdoor!\n");
      teletrap (LOC_WINDOW_FISSURE);
      param_s.ret = -1;
      break;
   default:
     break;
   }
@
EndTrap
EndObject       = bookcase

Object      = powerstone2
OFlags		= EnhanceMagic
Name	= "powerstone"
Location	= IN_ROOM:library@window
BaseValue    = 100
Size      = 1
Weight    = 1
Desc0   = "A magical powerstone has been placed here."
EndObject       = powerstone2

Object      = book
Location	= IN_ROOM:library@window
BaseValue    = 200
Size      = 10
Weight    = 12
Desc0   = "A heavy iron bound book has been left here."
Examine   = ^
The book details many arcane and powerful magic, mostly to cause
 severe pain to other beings.  In a flowing hand is written:

Fireball
        A potent piece of magic much dependent upon the power of the caster
        as to the damage it does, although sulphur enhances this.
Missile
        A similar magic, much popular amongst mages.  It is said that magical
        talismans may be created to aid this spell.
Shock
        A spell of touch, which can pass through metal armors with great ease.
        A decent caster never uses this as a party trick.
        Lodestones help with its casting.
Frost
        A spell similar to a fireball in power. A direct hit will slow
        your opponent down and make his aim less sure.  It is said that
        wintergreen will enhance this spell.

Any mage should beware that casting magic, though potent, will drain the
Strength of the caster.^
EndObject       = book

Object      = well
Location	= IN_ROOM:large_cav@window
OFlags		= NoGet
Examine   = "'Yes thanks, and you...?'"
EndObject       = well

Object      = bag
Location	= CARRIED_BY:hermit@window
OFlags		= Container
BaseValue    = 20
Size      = 25
Weight    = 20
Desc0   = "A small bag has been dumped in one corner."
EndObject       = bag

Object      = Orange_Gem
Name	= "gem"
Altname	= "orange"
Location	= IN_ROOM:secret@window
BaseValue    = 20
Size      = 1
Weight    = 1
Desc0   = "A small orange gem has been dropped here."
EndObject       = Orange_Gem

Object      = effigy
Location	= IN_ROOM:secret@window
BaseValue    = 75
Size      = 20
Weight    = 30
Desc0   = "A small stone effigy has been left here."
EndObject       = effigy

Object      = statuette
Location	= IN_ROOM:secret@window
BaseValue    = 75
Size      = 10
Weight    = 15
Desc0    = "A small gold statuette stands here, glittering in the light."
EndObject       = statuette


Location	= "window"
West		= chamber@window
Up		= treravine@window
Down		= pass@blizzard
LFlags		= Outdoors, Realtime, cold, NoMobiles
Title		= "&+WCliff Window&*"
Desc		= ^
   You are hanging onto a fairly precipitous cliff, beside a rocky window.  Far
below you can see the pass which seems to sway backwards and forwards as the
icy wind tries to tear you away from the cliff and lashes you with huge clouds
of blinding snow.
   The window is west.
^
EndLocation	= "window"

Location	= "chamber"
North		= gloomy@window
East		= window@window
South		= passage@window
Title		= "&+WStonewalled Chamber&*"
Desc		= ^
   You are in a small stonewalled chamber.  Light streams in through a somewhat
vandalized window east of you, to the north is a darker chamber only partially
lit, while to the south through a doorway veiled in deep shadow you can see a
dark passage.
^
EndLocation	= "chamber"

Location	= "gloomy"
South		= chamber@window
Title		= "&+WGloomy Room&*"
Desc		= ^
   You are in a dark gloomy room, light from the window to the south dimly
illuminates one wall.  To the south is another much brighter chamber.
^
EndLocation	= "gloomy"

Location	= "passage"
North		= chamber@window
East		= crypt@window
West		= stonewalled@window
Title		= "&+WDark Passage&*"
Desc		= ^
   You are following a dark passage which leads north into a brightly lit room
and east-west at a T junction.  The thick dust on the floor shows that you are
the only person to have come this way for a long time.
^
EndLocation	= "passage"

Location	= "stonewalled"
North		= robing@window
East		= passage@window
West		= dark@window
Down		= ^statue_up@window
Title		= "&+WStonewalled Passage&*"
Desc		= ^
   You are walking along a long and fairly wide stonewalled passage leading
east and west through the mountain.  To the north through a doorway there is
a small room.
^
EndLocation	= "stonewalled"

Location	= "secret"
South		= ruined@window
Up		= ^statue_down@window
Title		= "&+WLow Secret Passage&*"
Desc		= ^
   You are in a low secret passage that leads southward to some kind of dark
pillared room.  The north wall has niches cut into it to allow you to climb
through a hole in the roof above.
^
EndLocation	= "secret"

Location	= "ruined"
North		= secret@window
Title		= "&+WRuined Temple Hall&*"
Desc		= ^
   You are in a dark rather gloomy temple.  Huge pillars hold up the roof of
this vast chamber and cast strange shadows that seem to dance around you as you
move around.  The center of the temple is a flat platform with a now broken
altar as its centerpiece.
^
EndLocation	= "ruined"

Location	= "dark"
East		= stonewalled@window
West		= corridor@window
Down		= landing@window
Title		= "&+WDark Room&*"
Desc		= ^
   You are in a large dark room, passages lead east and west.  A set of
crumbling stone steps leads steeply downwards plunging into the shadows
^
EndLocation	= "dark"

Location	= "corridor"
North		= store@window
East		= dark@window
West		= pentacle@window
Title		= "&+WCorridor&*"
Desc		= ^
   You are in a short section of east-west corridor.  To the west, the corridor
leads to a huge hall, while to the north is a small, dimly lit room.
^
EndLocation	= "corridor"

Location	= "store"
South		= corridor@window
Title		= "&+WStore Room&*"
Desc		= ^
   You are in a small rather dirty room which appears to have been a store room
of some kind.  Through a doorway to the south is a corridor.
^
EndLocation	= "store"

Location	= "pentacle"
East		= corridor@window
Title		= "&+WPentacle Hall&*"
Desc		= ^
   You are in a huge pillared hall deep within the mountain.  Huge, ornately
carved pillars support the millions of tons of rock above you.  Sinister and
rather ugly gargoyles protrude from the pillars gazing centrally towards a mass
of mystical symbols engraved on the floor.
^
EndLocation	= "pentacle"

Location	= "landing"
East		= shattered@window
Up		= dark@window
Down		= guard2@window
Title		= "&+WLanding&*"
Desc		= ^
   You are on a landing with steep stairs leading both upwards and down.
Below, at the foot of the descending stairs you can see a dark hall and in the
faint light from the rock you can just make out several zombie guards.
A doorway leads east.
^
EndLocation	= "landing"

Location	= "shattered"
East		= ^pillar_west@window
West		= landing@window
Title		= "&+WShattered Hall&*"
Desc		= ^
   You are in a shattered hall, scorch marks and strange burns indicate a
tremendous amount of powerful sorcery was used here.  Indeed, sufficient to
blow huge chunks out of the wall.  The passage to the east is now unreachable,
as a huge fissure has opened up in the floor.
^
EndLocation	= "shattered"

Location	= "narrow"
East		= dark_cave@window
South		= restch@window
West		= ^pillar_east@window
Title		= "&+WNarrow Corridor&*"
Desc		= ^
   You are in a low narrow corridor.  To the south is a small chamber while to
the east the passage opens up into a large cave.
^
EndLocation	= "narrow"

Location	= "restch"
North		= narrow@window
Title		= "&+WRest Chamber&*"
Desc		= ^
   You are in what appears to have been a large rest chamber of some sort.
There is a great deal of dried blood on the floor here, and several more marks
that seem to indicate the use of sorcery.  A narrow corridor leads north.
^
EndLocation	= "restch"

Location	= "dark_cave"
East		= shadowy@window
West		= narrow@window
Title		= "&+WDark Cave&*"
Desc		= ^
   You are in a dark cave with earth walls and a rather low ceiling.  The
earth gives way to stone in the passages leading out of the cave to the east
and west.
^
EndLocation	= "dark_cave"

Location	= "shadowy"
East		= limestone@window
South		= ^door_shadowy@window
West		= dark_cave@window
Title		= "&+WShadowy Corridor&*"
Desc		= ^
   You are in a shadowy east-west corridor that links two caves.  There is a
door to the south.
^
EndLocation	= "shadowy"

Location	= "limestone"
South		= moldy@window
West		= shadowy@window
Title		= "&+WLimestone Grotto&*"
Desc		= ^
   You are in a beautiful limestone cave.  Multi colored stalactites hang from
the roof forming amazing patterns of brilliant color.  The floor is similarly
decorated with a huge variety of stalagmites.  A man-made corridor leads west,
and a dim and moldy passageway winds southward.
^
EndLocation	= "limestone"

Location	= "laboratory"
North		= ^door_laboratory@window
Title		= "&+WLaboratory&*"
Desc		= ^
   You are in an old laboratory for sorcerous experiments.  Almost everything
to indicate this has been removed, however, leaving only marks in the dust.
There is a door to the north.
^
EndLocation	= "laboratory"

Location	= "moldy"
North		= limestone@window
South		= dungeon@window
Title		= "&+WMoldy Passage&*"
Desc		= ^
   You are in a low passageway.  Mold covers the walls and floor, making it
slippery and quite treacherous.  To the north is a beautiful cave while to the
south the mold gets even thicker.
^
EndLocation	= "moldy"

Location	= "dark_chmb"
East		= dungeon@window
Title		= "&+WDark Chamber&*"
Desc		= ^
   You are in a dark chamber, which smells of old blood and rotting flesh.
Marks on the floor reveal where old torture equipment one stood.  A single
doorway leads east.
^
EndLocation	= "dark_chmb"

Location	= "dungeon"
North		= moldy@window
East		= ^door_dungeon@window
South		= messy@window
West		= dark_chmb@window
Title		= "&+WDungeon Corridor&*"
Desc		= ^
   You are in a low arched dungeon corridor.  The air is dank and musty and an
air of gloom and evil hangs around it.  Rooms to the south and west appear
equally unpleasant and sinister.  A dark passageway leads northwards.
   There is a door to the east.
^
EndLocation	= "dungeon"

Location	= "messy"
North		= dungeon@window
Title		= "&+WMessy Chamber&*"
Desc		= ^
   You are in a large messy chamber.  Several wooden gallows are set across
the damp ceiling and beneath them pools of blood indicate they were not merely
decorations.  A low archway leads north into an unpleasant looking corridor.
^
EndLocation	= "messy"

Location	= "stone_cell"
East		= ^pass_stone@window
West		= ^door_cell@window
Title		= "&+WStone Cell&*"
Desc		= ^
   You are in a cold and bare stone cell, scratches on the walls mark where
prisoners have left their last futile marks on the walls.  There is a door to
the west.
^
EndLocation	= "stone_cell"

Location	= "robing"
South		= stonewalled@window
Title		= "&+WRobing Room&*"
Desc		= ^
   You are in a small robing room which appears to have been unused for quite
some time.  To the south a dark corridor leads east and west into darkness.
^
EndLocation	= "robing"

Location	= "crypt"
East		= large_cav@window
South		= entrance@window
West		= passage@window
Title		= "&+WThe Crypt&*"
Desc		= ^
   You are in a charnel smelling crypt.  Dark drapes hang between the pillars
that make up the walls.  The whole room has an atmosphere of waiting malignant
evil and an oppressive silence that makes you jump at the slightest draught in
the still, cold air.
^
EndLocation	= "crypt"

Location	= "entrance"
North		= crypt@window
South		= library@window
Title		= "&+WLibrary Entrance&*"
Desc		= ^
   You are in a small chamber with two high-arched exits leading north and
south.
^
EndLocation	= "entrance"

Location	= "library"
North		= entrance@window
Title		= "&+WThe Library&*"
Desc		= ^
   You are in a dusty, bare library.  Hundreds of worm eaten bookcases stand
devoid of all books, their shelves laden only with dust.  An archway leads
north.
^
EndLocation	= "library"

Location	= "large_cav"
South		= pillared@window
West		= crypt@window
Down		= well@window
Title		= "&+WLarge Cavern&*"
Desc		= ^
   You are in a large cavern.  Huge stalagmites have grown up almost to the
ceiling, in places actually merging with the multicolored stalactites above.
To the south you perceive a great hall, and a fetid odor comes from the west.
A small, low-walled well occupies the center of the cave.
^
EndLocation	= "large_cav"

Location	= "well"
Up		= large_cav@window
Title		= "&+WDried Up Well&*"
Desc		= ^
   You are standing at the bottom of a small dried up well.  The walls are
(fortunately) rough enough to make climbing out only slightly harder than
falling in.
^
EndLocation	= "well"

Location	= "pillared"
North		= large_cav@window
East		= rune_cave@window
South		= lava_cav@window
Title		= "&+WPillared Hall&*"
Desc		= ^
   You are in a massive pillared hall decorated with the shields of ancient and
long forgotten heroes.  Exits between the pillars lead into several different
caves.
^
EndLocation	= "pillared"

Location	= "lava_cav"
North		= pillared@window
Down		= lava_path@window
Title		= "&+WLava Cavern&*"
Desc		= ^
   You are in a huge cavern.  The walls glow and pulse with an intense red
light, reflected up from a river of lava which flows sluggishly westwards at
the south end of the cavern.  Huge explosions of lava regularly light up the
cavern to an extent that the light is almost blinding, accompanied by almost
deafening explosions.  A path leads down almost suicidally close to the lava
river.
^
EndLocation	= "lava_cav"

Location	= "secret_chmb"
West		= well@window
Title		= "&+WSecret Chamber&*"
Desc		= ^
   You are in low musty chamber concealed down the well.  The chamber is cold
and damp, perhaps as a result of this.
^
EndLocation	= "secret_chmb"

Location	= "rune_cave"
West		= pillared@window
Title		= "&+WRune Cave&*"
Desc		= ^
   You are in a large cave.  The rough rocky walls are inscribed with deep
angular runic writings, which appear totally incomprehensible to you.  A
pillared hall stretches off to the west.
^
EndLocation	= "rune_cave"

Location	= "lava_path"
East		= lava_path2@window
Up		= lava_cav@window
Title		= "&+WLava Path&*"
Desc		= ^
   You are on a narrow sloping path running uncomfortably close to the lava.
Huge explosions of lava send blasts of intense scorching heat across the path.
The path leads eastwards but the intense red glow and heat haze prevents you
from seeing where to.  A steep climb heads up.
^
EndLocation	= "lava_path"

Location	= "lava_path2"
West		= lava_path@window
Trap		= all
@
   switch(event) {
   case E_ONENTRY:
        if (!iswornby(OBJ_WINDOW_SHIELD1, param_s.plx)
	  && !iswornby (OBJ_WINDOW_SHIELD2, param_s.plx)
	  && !iswornby (OBJ_TREEHOUSE_SHIELD, param_s.plx)
	  && !iswornby (OBJ_CATACOMB_SHIELD, param_s.plx)
	  && !iswornby (OBJ_EFOREST_SHIELD, param_s.plx))
	{
	  bprintf ("The intense heat drives you back.\n");
	  param_s.ret = -1;
	  break;
	}
      bprintf ("The shield protects you from the worst of the lava's heat.\n");
      break;
   default: break;
   }
@
EndTrap
Title		= "&+WLava Path&*"
Desc		= ^
   You are at the end of an east-west path. The lava is some distance away from
you here but even so the intense red glow still lights up the chamber and the
heat is scarcely bearable.
^
EndLocation	= "lava_path2"

Location	= "fissure"
West		= ^pass_fissure@window
Down		= fis_bottom@window
Title		= "&+WFissure&*"
Desc		= ^
   You are on a ledge in a huge fissure.  The fissure is so wide that the far
wall is hidden in darkness.  Looking down (a rather bad idea) you can see that
it is just about possible to climb the horrendous distance down to the floor of
the fissure.
^
EndLocation	= "fissure"

Location	= "fis_bottom"
South		= crack@window
Title		= "&+WFissure Bottom&*"
Desc		= ^
   You are at the bottom of the fissure.  Precipitous rocky walls reach upwards
hanging over you as if about to crush you.  To the south, the walls vanish
beyond your light without any sign of a break.
^
EndLocation	= "fis_bottom"

Location	= "crack"
North		= fis_bottom@window
East		= ^hole_crack@window
Title		= "&+WNarrow Crack&*"
Desc		= ^
   You are in a narrow crack, off one side of the fissure.  The walls lean in
at crazy angles making it hard to get through.  A passage leads back north.
^
EndLocation	= "crack"

Location	= "gallery"
West		= ^hole_gallery@window
Down		= guard@window
Title		= "&+WGallery&*"
Desc		= ^
   You are in an ornate gallery which overlooks a wide stone guardroom.  A set
of steps curve steeply down into the guardroom.
^
EndLocation	= "gallery"

Location	= "guard"
East		= flickering@window
West		= guard2@window
Up		= gallery@window
Title		= "&+WGuard Room&*"
Desc		= ^
   You are in a large guardroom lit by a red glow to the east.  A set of stone
steps curve steeply up to a gallery above.  To the west is another guardroom,
although the dim light reveals the presence of many zombie warriors.
^
EndLocation	= "guard"

Location	= "guard2"
East		= guard@window
West		= pass@blizzard
Up		= landing@window
LFlags		= death
Title		= "&+WGuard Room&*"
Desc		= ^
   You are in a large guardroom.  A set of stairs leads up and down.
A number of zombie guardsmen swarm around you, tearing you mercilessly into
shreds...  In your dying moments you notice another guardroom to the east.
^
EndLocation	= "guard2"

Location	= "flickering"
North		= huge_cav@window
East		= fire_gate@window
West		= guard@window
Title		= "&+WFlickering Passageway&*"
Desc		= ^
   You are in a wide passageway.  To the east is a cave lit by a flickering red
glow.  To the north is a large cave, to the west is a guardroom.
^
EndLocation	= "flickering"

Location	= "narrow_ledge"
West		= stone_cell@window
Title		= "&+WNarrow Ledge&*"
Desc		= ^
   You are in a fissure standing on a terrifyingly narrow ledge.  Above you on
the opposite side is another ledge.  A passage leads back west.
^
EndLocation	= "narrow_ledge"

Location	= "huge_cav"
East		= rocky@window
South		= flickering@window
Down		= canyon@window
Title		= "&+WHuge Cavern&*"
Desc		= ^
   You are in a huge cavern, at the western end.  Some steep rough-hewn steps
lead down into a canyon at one end of the cave and at the bottom faint light
flickers off water.
^
EndLocation	= "huge_cav"

Location	= "fire_gate"
West		= flickering@window
East		= ^bridge_fire@window
Title		= "&+WFire Gate&*"
Desc		= ^
   You are in a large rocky and very uneven cave.  A smooth path has been cut
across the floor permitting easy walking.  The whole cave is filled with a
thundering roar which reaches deep into your mind.  A huge, deep and steep-
walled channel full of lava prevents you from going east through a huge
gateway.
^
EndLocation	= "fire_gate"

Location	= "rocky"
West		= huge_cav@window
Title		= "&+WRocky Cavern&*"
Desc		= ^
   You are in a large rocky cavern.  From this vantage point at the eastern end
you can gaze almost the full length of the cave, although the far wall fades
into shadows.
^
EndLocation	= "rocky"

Location	= "hall"
East		= lava_ledge@window
West		= ^bridge_hall@window
Title		= "&+WThe Hall Of Fire&*"
Desc		= ^
   You are in the hall of fire.  The very walls are tinged with a fiery
radiance, as if the rock itself is burning.  A red pentacle is near one wall
beside a picture carved in the wall.  A lever on one wall is beside a huge
metal drawbridge.  A passage leads east.
^
EndLocation	= "hall"

Location	= "canyon"
East		= rocky_can@window
Up		= huge_cav@window
Title		= "&+WCanyon&*"
Desc		= ^
   You are at the bottom of a narrow canyon looking across a stream to the far
bank.  Narrow steps wind steeply upwards behind you.  You can easily wade east
across the stream.
^
EndLocation	= "canyon"

Location	= "rocky_can"
East		= damp@window
West		= canyon@window
Title		= "&+WRocky Canyon&*"
Desc		= ^
   You are in a rocky canyon beside a deep blue stream.  A narrow crack leads
eastwards into a gloomy, shadowed cave.  You can easily wade west across the
stream.
^
EndLocation	= "rocky_can"

Location	= "lava_ledge"
South		= lava_led2@window
West		= hall@window
Title		= "&+WLava Ledge&*"
Desc		= ^
   You are on a wide ledge looking down on a pool of bubbling lava below. There
is another ledge on the other side.  A crystal bridge spans the pool to the
south.
^
EndLocation	= "lava_ledge"

Location	= "damp"
East		= pillared2@window
West		= rocky_can@window
Down		= #EX_DOWN_SLIME
Trap            = special_exit
@
if (state(OBJ_WINDOW_SLIME_PIT) == 0)
   param_s.loc     = LOC_WINDOW_SLIME;
@
EndTrap
Title		= "&+WLarge Damp Cave&*"
Desc		= ^
   You are in a large cave.  The cave echoes to the dripping of water from its
cold damp roof, thickly coated in algae and mosses.  A pillared hall stretches
off the the east, and a rocky canyon goes west.
^
EndLocation	= "damp"

Location	= "pillared2"
North		= throne@window
East		= stonew_room@window
West		= damp@window
Title		= "&+WPillared Hall&*"
Desc		= ^
   You are in a ornate pillared hall.  The stunning fan vaulted roof would
decorate any cathedral as would the huge pillars that support it.  Exits lead
off in many directions.
^
EndLocation	= "pillared2"

Location	= "throne"
North		= ^throne_curtains@window
South		= pillared2@window
Title		= "&+WThrone Hall&*"
Desc		= ^
   You are in a magnificent throne hall.  The walls and roof are carved and
painted into stunning otherworldly scenes of mystical beasts and magical forms.
Dark curtains cover the walls.
^
EndLocation	= "throne"

Location	= "stonew_room"
West		= pillared2@window
Down		= ^grille@window
Title		= "&+WStonewalled Room&*"
Desc		= ^
   You are in a small stonewalled room with a grille in the floor.  A pillared
hall stretches off to the west.
^
EndLocation	= "stonew_room"

Location	= "treasure"
Title		= "&+WTreasure Chamber&*"
Desc		= ^
   You are in a treasure storage room.   The high ceiling ensures that no thief
will ever escape without help.  There is a grille in the ceiling, far beyond
your despairing reach.
^
EndLocation	= "treasure"

Location	= "rough"
North		= glittering@window
South		= ^rough_curtains@window
Title		= "&+WLow, Rough Passage&*"
Desc		= ^
   You are in a low rough passage which winds around and is clearly only an
escape route of some form.  A sign hanging on the wall reads in a rather crude
and untidy hand 'DANGER: STORM GIANTS CAN SERIOUSLY DAMAGE YOUR ELF'
^
EndLocation	= "rough"

Location	= "glittering"
South		= rough@window
Title		= "&+WGlittering Cave&*"
Desc		= ^
   You are in a huge glittering cave.  Millions of tiny crystals on the wall
scintilate with rainbows of colors baffling your eyes and mind with a stunning
mass of changing color.  A set of huge steps lead upwards out of the cave, but
only a giant could hope to climb them.
^
EndLocation	= "glittering"

Location	= "slime"
Up		= damp@window
Trap		= all
@
catch_special_exit
{  if (state(OBJ_WINDOW_SLIME_PIT) != 0)
   {  bprintf("That doesn't look like a very good idea!\n");
      fail(-1);
   }
   THIS_LOCATION = LOC_WINDOW_SLIME;
}
@
EndTrap
Title		= "&+WSlime Pit&*"
Desc		= ^
   You are in the smelly pit which once contained the slime.  The horrible
charnel rotting smell is so strong that you can scarcely keep your stomach
under control.
^
EndLocation	= "slime"

Location	= "lava_led2"
North		= lava_ledge@window
South		= temple@window
Title		= "&+WLava Ledge&*"
Desc		= ^
   You are on a ledge looking across a huge pit of flaming lava to another
ledge on the other side.  A passage leads south.  A crystal bridge spans the
pool to the north.
^
EndLocation	= "lava_led2"

Location	= "temple"
North		= lava_led2@window
East		= workroom@window
Title		= "&+WThe Temple&*"
Desc		= ^
   You are in a sinister temple.  Hideous shapes seem to reach out of nothing-
ness towards you and vanish as immaterial shadows.  The whole room radiates a
crushing sense of power filling you with awe and dread.  A huge fire burns at
an end of the temple, seemingly without a source.  Doorways lead lead north
and east.
^
EndLocation	= "temple"

Location	= "workroom"
West		= temple@window
Title		= "&+WSorceror's Workroom&*"
Desc		= ^
   You are standing in a circular workroom. The only exit is a western doorway,
through which the temple fire casts its flickering glow across the room.
^
EndLocation	= "workroom"

Location	= "treravine"
East		= pasture@window
Down		= window@window
LFlags		= Outdoors, Realtime
Title		= "&+WTreacherous Ravine&*"
Desc		= ^
   You are crawling along a narrow treacherous ravine which runs eastwards into
some kind of level area.  Below you could scramble back down to the cliff
window.
^
EndLocation	= "treravine"

Location	= "pasture"
North		= hut@window
West		= treravine@window
LFlags		= Outdoors, Realtime
Title		= "&+WHidden Pasture&*"
Desc		= ^
   You are standing in a small hidden field, its lush grass coated with snow.
The pasture is enclosed on all sides by steep cliffs, save for a small gap to
the west which leads into a narrow ravine.  To the north is an old crumbling
hut of some sort.
^
EndLocation	= "pasture"

Location	= "hut"
South		= pasture@window
Title		= "&+WThe Hermit's Hut&*"
Desc		= ^
   This small dank hut appears to have once been the home of a hermit or maybe
even a sorceror of some form, as the rotting junk which litters the floor
contains bits of things you have never seen before.  A narrow doorway leads
south into fresh air.
^
EndLocation	= "hut"