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"

Zone		= castle
Author		= "Unknown"

EndZone		= castle


Mobile            = golem
Name	= "The Golem"
Location	= S_Hall@castle
Strength        = 90
Armor		= 0
Damage          = 10
Aggression      = 30
Speed		= 0
Desc	     = "A huge stone golem stands watchfully on guard."
Trap		= all
@
   switch(event) {
   case E_ONMOVE:
     if (iscarrby (OBJ_CASTLE_RUNESWORD, param_s.plx)
         && ploc (param_s.pl) == ploc (param_s.plx))
     {   bprintf ("\001cThe Golem\003 bars the doorway!\n");
         param_s.ret = -1;
     }
     break;
   default: break;
   }
@
EndTrap
EndMobile             = golem

Mobile            = mouse
Name	= "The Mouse"
Location	= Store@castle
Strength        = 20
Armor		 = 0
Damage          = 6
Aggression      = 5
Desc	     = "A giant black mouse runs around on the floor."
EndMobile             = mouse



Object	        = wall_stone
Name	= "stone"
Altname	= "wall"
Location	= IN_ROOM:torture@castle
OFlags		= NoGet
Linked          = bar_stone@kastle
MaxState                = 1
State           = 1
Desc0         = "There is a stairway leading down here."
Desc1         = "A stairway leading down here ends in a wall of stone."
EndObject             = wall_stone

Object            = rock_wall
Name	= "wall"
Altname	= "rock"
Location	= IN_ROOM:Escape@castle
OFlags		= PushToggle, NoGet
Linked          = rock_wall@kastle
State           = 1
MaxState                = 1
Desc0         = "
A panel has been opened in the rock wall allowing passage south."
Desc1         = "The passage ends to the south in a rock wall."
EndObject             = rock_wall

Object      	= torch
Location	= IN_ROOM:S_Hall@castle
OFlags		= NoGet
MaxState  	= 1
Desc0   	= "A battered torch hangs on the south wall."
Examine   	= "It seems unusual, perhaps it has some hidden purpose?"
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      if (state (OBJ_CASTLE_DOOR_GOLEM) == 1)
	{
	  setobjstate (OBJ_CASTLE_DOOR_GOLEM, 0);
	  sendf (oloc (OBJ_CASTLE_DOOR_GOLEM),
		 "A secret door slides quietly open in the south wall!\n");
	}
      else
	bprintf ("It moves but nothing seems to happen.\n");
      param_s.ret = -1;
      break;
   default: break;
   }
@
EndTrap
EndObject       	= torch

Object      	= key
Location	= IN_ROOM:Guard@castle
OFlags		= Key
Size      	= 1
Weight    	= 1
Desc0   	= "A small brass key has been left here."
EndObject       	= key

Object      = Door_Golem
Name	= "door"
Location	= IN_ROOM:S_Hall@castle
OFlags		= NoGet, PushToggle
Linked    = Door_Tower@tower
State     = 1
MaxState  = 1
Desc0   = "There is a small door open in the south wall."
Examine   = "
The door is perfectly smooth and rounded to fit against the wall perfectly.
There appear to be no markings on it, save a single, large blue eye, which
appears to follow you around the chamber.  There is no lock that you can see to
operate the door, at least by mortal means."
EndObject      = Door_Golem

Object      = Port_Inside
Name	= "portcullis"
Location	= IN_ROOM:Port@castle
Linked    = Port_Outside
OFlags		= NoGet
State     = 0
MaxState  = 1
Desc0   = "The portcullis is raised."
Desc1   = "The heavy iron portcullis bars the way north."
Examine   = "
You find yourself examining a hard iron portcullis, which you have absolutely
no chance of lifting or breaking through!"
EndObject       = Port_Inside

Object      = Port_Outside
Name	= "portcullis"
Location	= IN_ROOM:Walls@castle
OFlags		= NoGet
Linked    = Port_Inside
State     = 0
MaxState  = 1
Desc0   = "A raised portcullis allows access south."
Desc1   = "A heavy iron portcullis bars the way south."
Examine   = "
You find yourself examining a hard iron portcullis, which you have no
chance in Hell of lifting or breaking through!"
EndObject       = Port_Outside

Object      = lever
Location	= IN_ROOM:Port@castle
OFlags		= NoGet
Desc0   = "There is a large iron lever on the east wall."
Examine   = "
This is a very solid looking lever, jutting out from the wall, which would
seem to work the portcullis system, but you never know till you try!"
Trap		= all
@
   switch(event) {
   case E_ONPUSH:
      setobjstate (OBJ_CASTLE_PORT_INSIDE, 1 - state (OBJ_CASTLE_PORT_INSIDE));
      if (state (OBJ_CASTLE_PORT_INSIDE))
	{
	  sendf (oloc (OBJ_CASTLE_PORT_INSIDE), "\001cThe portcullis falls.\n\003");
	  sendf (oloc (OBJ_CASTLE_PORT_OUTSIDE), "\001cThe portcullis falls.\n\003");
	}
      else
	{
	  sendf (oloc (OBJ_CASTLE_PORT_INSIDE), "\001cThe portcullis rises.\n\003");
	  sendf (oloc (OBJ_CASTLE_PORT_OUTSIDE), "\001cThe portcullis rises.\n\003");
	}
      param_s.ret = -1;
      break;
   default: break;
   }
@
EndTrap
EndObject       = lever

Object      = horseshoe
Altname	= "shoe"
Location	= IN_ROOM:Stables@castle
Armor     = 3
BaseValue    = 10
Size      = 3
Weight    = 2
Desc0   = "An old horseshoe lies nearby."
Examine   = "
This looks really lucky, though not for the horse whose lower leg is still
attached to it!"
EndObject       = horseshoe

Object      = runesword
Altname	= "sword"
Location	= IN_ROOM:S_Hall@castle
OFlags		= GetFlips, Lit, Weapon, BlockMagic
State     = 1
MaxState  = 1
Damage    = 20
BaseValue    = 500
Size      = 20
Weight    = 30
Desc0   = "
A huge sword has been left here, its black blade strangely pulsing with light."
Desc1   = "
A huge sword stands upright before you, embedded in the solid stone floor."
Examine   = "
The sword is covered with runes which form a curse.  The black,faintly glowing
blade also seems to hum quietly."
Trap		= all
@
    switch (event) {
    case E_ONGIVE:
        if (plev(param_s.plx) < LVL_APPREN)
        {
	  bprintf("The Runesword does not wish to be given away.\n");
	  param_s.ret = -1;
	} else param_s.ret = 1;
	break;
    case E_ONDROP:
        if (plev(param_s.plx) < LVL_APPREN) 
        {
            bprintf("You can't let go of it!\n");
            param_s.ret = -1;
        }
        break;
    case E_ONGET:
        if (param_s.misc == DURING_GET)
        { if (state(param_s.ob) == 1 && ptothlp(param_s.plx) == -1) 
          {
             bprintf("It's too well embedded to shift alone.\n");
             param_s.ret = 0;
          }
        }
    default:
      break;
    }
@
EndTrap
EndObject       = runesword

Object      = shortsword
Altname	= "sword"
Location	= IN_ROOM:Guard@castle
OFlags		= Weapon
Damage    = 10
BaseValue    = 50
Size      = 15
Weight    = 10
Desc0   = "A sharp shortsword has been dropped here."
Examine   = "
The sword, though not up to dwarven standards, still seems pretty sharp."
EndObject       = shortsword

Object      = dagger
Altname	= "sword"
Location	= IN_ROOM:Guard@castle
OFlags		= Weapon
Damage    = 5
BaseValue    = 20
Size      = 10
Weight    = 10
Desc0   = "A small dagger has been dropped here."
Examine   = "
This is no fake stage knife... as the blade is fixed quite firmly.  It would
certainly hurt anyone who was silly enough to get in the way of it, and it
would be advisable to stop playing with it before you cut yourself!"
EndObject       = dagger

Object      = maiden
Location	= IN_ROOM:Torture@castle
OFlags		= NoGet, Openable
Linked    = In_Maiden
MaxState  = 1
Desc0   = "The iron maiden is open."
Desc1   = "The iron maiden is closed."
Examine   = "
It has some names written on it...
   Bruce, Steve, Nicko, Dave, Adrian
      and underneath...
      '12 Wasted Years, So Run To The Hills!'"
EndObject      = maiden

Object      = In_Maiden
Name	= "door"
Altname	= "maiden"
Location	= IN_ROOM:Maiden@castle
OFlags		= NoGet, Openable
Linked    = maiden
MaxState  = 1
Desc0   = "The iron maiden's door is open."
Desc1   = "The iron maiden's door is closed."
Examine   = "
The door has several sharp spikes on it, designed to penetrate certain
delicate parts of anyone inside the maiden when the door is closed."
EndObject       = In_Maiden

Object      = Castle_Throne
Name	= "throne"
Altname	= "tunnel"
Location	= IN_ROOM:Chamber@castle
OFlags		= NoGet, PushToggle
Linked    = Escape_Throne
State     = 1
MaxState  = 1
Desc0   = "
A huge gleaming throne is set against the south wall, beside a narrow escape
tunnel."
Desc1   = "A huge gleaming throne is set against the south wall."
Examine   = "
As you gaze at the throne, you think how great it would look behind a nice
seven piece Sonor Performer drum kit, but unfortunately its stuck in this
dismal castle."
EndObject       = Castle_Throne

Object      = Escape_Throne
Name	= "throne"
Altname	= "tunnel"
Location	= IN_ROOM:Escape@castle
OFlags		= PushToggle, NoGet
Linked    = Castle_Throne
State     = 1
MaxState  = 1
Desc0   = "A small hole leads north into the hall."
Desc1   = "The exit north is blocked by the back of a throne."
Examine   = `
The back of the throne is no less impressive than the front,though it's wooden
surface is now covered with rough graffiti reading:

        "Argh!  Who closed the bloody throne?!?"`
EndObject       = Escape_Throne

Object      = peppers
Altname	= "food"
Location	= IN_ROOM:Store@castle
OFlags		= Food
BaseValue    = 30
Size      = 1
Weight    = 1
Desc0   = "Some peppers have been left here."
Examine   = '
The peppers are about an inch long, red, and wicked looking.  They might give
you a heartburn if you ate them.  Or, remember what happened in "Alien"?'
EndObject       = peppers

Object      = plank
Location	= IN_ROOM:Watch@castle
OFlags		= Lightable, Extinguish, Weapon
State     = 1
MaxState  = 1
Damage    = 6
Size      = 20
Weight    = 12
Desc0   = "A burning plank has been left here."
Desc1   = "An old plank lies here."
Examine   = "It has the word VERYODD, and a picture of a sherman tank on it."
EndObject       = plank


Location	= "Leap"
North		= Npath@Valley
South		= Path@castle
West		= Watch@castle
Title		= "&+WBugiit's Leap&*"
Desc		= ^
   You stand at the top of a tall cliff looking north, down into a deep valley.
Huge rocks at the bottom offer the delights of total oblivion, to become just
another smashed wreck at its base.
   If you are in no hurry, a narrow cliff path also leads down to the north
descending down a fissure in the cliff itself.
   To the south a path runs towards a large castle with a threatening black
tower, while to the west is an old watchtower.
^
EndLocation	= "Leap"

Location	= "Watch"
East		= Leap@castle
Down		= Leap@castle
Title		= "&+WThe Ruined Watchtower&*"
Desc		= ^
   You stand in the burnt out ruins of an old stone watchtower.  Soot and moss
cover the blackened crumbling stones.  A single narrow set of steps wind down
and east back to the path.
^
EndLocation	= "Watch"

Location	= "Path"
North		= Leap@castle
Down		= eastcoast10@eastcoast
South		= Walls@castle
LFlags		= Outdoors, Realtime, NoMobiles
Title		= "&+WLong and Winding Path&*"
Desc		= ^
   You are following a north-south path, which links the cliff edge with a
large stone castle, out of which rises a black tower which glitters with the
light, and from stored magical energy, some of which illuminates the very top
of the tower with a bright, golden light.
^
EndLocation	= "Path"

Location	= "Walls"
North		= Path@castle
South		= ^Port_Outside@castle
LFlags		= Outdoors, Realtime
Title		= "&+WCastle Walls&*"
Desc		= ^
   You stand at the walls of a large castle, out of which looms up a large
tower, crackling with magical energy.  From here the castle looks deserted,
but you can't be sure.
   The path leads back north, and the main archway into the castle is south.
^
EndLocation	= "Walls"

Location	= "Court"
North		= Port@castle
East		= Stables@castle
South		= O_Hall@castle
West		= Guard@castle
Title		= "&+WThe Central Courtyard&*"
Desc		= ^
   You stand in the central courtyard of a huge and ancient castle.  Flickering
torches, set high around the walls, illuminate even the darkest corners with a
reddish flickering glow.  A huge archway leads north, its sides carved with
fantastic images of dragons and fables.  Arched entryways lead south, east and
west.
^
EndLocation	= "Court"

Location	= "O_Hall"
North		= Court@castle
East		= S_Hall@castle
South		= Sanctum@castle
West		= Tax@castle
Title		= "&+WThe Outer Hall&*"
Desc		= ^
   You stand in the shadowy outer hall, lit only by flaming torches high out of
reach on the walls.  The dim flickering light illuminates the many doorways
which lead north, south, east and west.
   A cold draught blows through the hall, from the grand, heavily carved
archway, which looks out northwards across the courtyard, its high thick walls
silhouetted in the torch light.
^
EndLocation	= "O_Hall"

Location	= "S_Hall"
South		= ^Door_Golem@castle
West		= O_Hall@castle
Title		= "&+WSide Hall&*"
Desc		= ^
   You stand in a small gloomy hall, just east of the outer hall.  All around
you the walls seem to glow with magical power.  You sense that maybe all is not
as meets the eye.
   A single exit leads back west.
^
EndLocation	= "S_Hall"

Location	= "Sanctum"
North		= O_Hall@castle
South		= Chamber@castle
Title		= "&+WInner Sanctum&*"
Desc		= ^
   This is the stately room where the Lords and Ladies of court would wait to
be entertained by the King of the Castle, although now the tapestries hang in
shreds on the walls and all the treasures that once stood on pedestals have
been smashed or stolen... it would appear that the castle has been raided and
the King overthrown.
   Archways lead north and south.
^
EndLocation	= "Sanctum"

Location	= "Tax"
East		= O_Hall@castle
Title		= "&+WTax Room&*"
Desc		= ^
   This would appear to be the room where the taxes for the surrounding area
were collected and counted, although not stored here, as you yourself found it
so easy to get in.
^
EndLocation	= "Tax"

Location	= "Chamber"
North		= Sanctum@castle
East		= Torture@castle
South		= ^Castle_Throne@castle
West		= Kitchens@castle
Title		= "&+WKing's Chamber&*"
Desc		= ^
   You find yourself in a large chamber used for the King and his court to be
entertained in all day and feast in at night, although it looks like the last
feast had a main course with more bite than usual!  Splendid archways lead
north, east and west.
^
EndLocation	= "Chamber"

Location	= "Port"
North		= ^Port_Inside@castle
South		= Court@castle
Title		= "&+WPortcullis&*"
Desc		= ^
   You stand in a large archway which leads out onto a path to the north, and
south back into the courtyard of the castle.  Above you lies the complicated
pulley system used to operate the portcullis.
^
EndLocation	= "Port"

Location	= "Stables"
West		= Court@castle
Title		= "&+WStables&*"
Desc		= ^
   You are standing in the stables for the castle, and from the floor you can
tell that they have been in use recently.
   A strong wind gusts through the open doorway to the west.
^
EndLocation	= "Stables"

Location	= "Escape"
North		= ^Escape_Throne@castle
South		= ^rock_wall@castle
Title		= "&+WEscape Passage&*"
Desc		= ^
   This is a passageway which would be used by the King and his court if the
castle defense was ever penetrated, to escape from the attackers, and looking
at the lack of dust and cobwebs it would seem to have been used recently.  The
passage is small and dark, but probably more inviting than the wrong end of a
sword.
^
EndLocation	= "Escape"

Location	= "Kitchens"
East		= Chamber@castle
Down		= Store@castle
Title		= "&+WKitchens&*"
Desc		= ^
   You are standing in the large kitchens for the castle where the daily feasts
were prepared for court.  The place is now in disarray, with tables and cooking
utensils scattered all over the floor.  Exits lead east, or down some stairs
into the cellar.
^
EndLocation	= "Kitchens"

Location	= "Store"
Up		= Kitchens@castle
Title		= "&+WKitchens' Store Room&*"
Desc		= ^
   You are in a large and dry store room for the food and drink needed to keep
the King happy.  It seems to have escaped the attention of the attackers, as
the stores are intact, but out of reach.   A set of narrow steps lead up.
^
EndLocation	= "Store"

Location	= "Torture"
East		= ^Maiden@castle
West		= Chamber@castle
Title		= "&+WTorture Chamber&*"
Desc		= ^
   You are standing in a pleasant torture chamber which would appear to have
been in regular use as not a single implement lies rusted.  Many implements of
torture lie about the room with various pieces of anatomy still attached to
some of them.
   A single doorway leads west.
^
EndLocation	= "Torture"

Location	= "Guard"
East		= Court@castle
Title		= "&+WGuard Room&*"
Desc		= ^
   You find yourself in the guard room for the castle.  Bunks line the walls,
and weapon racks stand in the center of the room, though they are all empty
now.  Judging by the upturned tables and chairs and the dried blood on the
floor you think that the guards may not have left on a Sunday afternoon stroll.
   A single narrow doorway leads east.
^
EndLocation	= "Guard"

Location	= "Maiden"
West		= ^In_Maiden@castle
Trap		= all
@
   switch (event) {
   case E_ONTIMER:
          if (state (OBJ_CASTLE_IN_MAIDEN) == 1)
	  {
	    broad ("\001dThere is a long drawn out scream in the distance\n\003");
	    p_crapup (param_s.plx, "\t\tThe iron maiden closes....... S Q U I S H !",
		      CRAP_SAVE);
	  } else param_s.ret = 1;
	  break;
   default:
          break;
   }
@
EndTrap
LFlags		= NoSummon, OnePerson
Title		= "&+WInside the Iron Maiden&*"
Desc		= ^
   You appear to be inside the Iron Maiden, an ancient form of torture, and you
notice how good the fit is...
^
EndLocation	= "Maiden"