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/
/************************************************************************
*	File:		kastle.zone					*
*	Author: 	Unknown						*
*	Code by:	Rex (taken from AberIV)				*
*	Notes:		you will need a few extra objects and rooms	*
*			in order to add in this zone. 			*
************************************************************************/

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




Zone		= kastle
Author		= "Unknown"
Quest		= SkiLesson
EndZone		= kastle


Mobile             = blix
Location	= kastle13@kastle
Strength         = 80
Damage           = 10
Armor            = 0
Aggression       = 0
Speed            = 2
Desc	      = "Blix the Goblin looks happy to see you."
EndMobile              = blix

Mobile             = crud
Location	= kastle16@kastle
Strength         = 120
Damage           = 10
Armor            = 0
Aggression       = 10
Speed            = 2
Desc	      = "A Creeping Crud is slushing about trying to get at you."
EndMobile              = crud

Mobile             = knight
Location	= kastle4@kastle
Strength         = 200
Damage           = 10
Armor            = 0
Aggression       = 30
Speed            = 0
Desc	      = "A Skeletal Knight is waiting here for someone to strangle."
EndMobile              = knight

Mobile             = skapti
Location	= kastle19@kastle
Strength         = 100
Damage           = 10
Armor            = 0
Aggression       = 80
Speed            = 0
Desc	      = "
Skapti the Tax Collector wrings his hands at the prospect of new taxes."
EndMobile              = skapti

Mobile             = flosi
Location	= kastle19@kastle
Strength         = 100
Damage           = 10
Armor            = 0
Aggression       = 80
Speed            = 0
Desc	      = "
Flosi the Tax Collector wrings his hands at the prospect of new taxes."
EndMobile              = flosi



Object             = fireplace
Location	= IN_ROOM:kastle4@kastle
OFlags		= Lit, Extinguish, Lightable, NoGet
MaxState         = 1
Desc0          = "
A cheerful fire blazing in the fireplace makes the room feel quite toasty."
Desc1          = "
There is a cold draft coming from the stone cold fireplace."
Examine          = "The flue is open leading up into a large chimney."
EndObject              = fireplace

Object             = rock_wall
Name	= "wall"
Altname	= "rock"
Location	= IN_ROOM:kastle1@kastle
OFlags		= Pushtoggle, NoGet
Linked           = rock_wall@castle
MaxState         = 1
State            = 1
Desc0          = "
An open panel disguised as solid rock allows passage to the north."
Desc1          = "The passage ends to the north in a solid rock wall."
EndObject              = rock_wall

Object             = null_door
Name	= "door"
Altname	= "null"
Location	= IN_ROOM:kastle2@kastle
OFlags		= Lockable, Openable, NoGet
Linked           = heavy_door
MaxState         = 2
State            = 2
Desc0          = "The door is open."
Desc1          = "The door is closed."
Desc2          = "The door is locked."
EndObject              = null_door

Object             = heavy_door
Name	= "door"
Altname	= "heavy"
Location	= IN_ROOM:kastle3@kastle
OFlags		= Lockable, Openable, NoGet
Linked           = null_door
MaxState         = 2
State            = 2
Desc0          = "The heavy door is open."
Desc1          = "The heavy door is closed."
Desc2          = "The heavy door is locked."
EndObject              = heavy_door

Object             = oak_door
Name	= "door"
Altname	= "oakdoor"
Location	= IN_ROOM:kastle3@kastle
OFlags		= Lockable, Openable, NoGet
Linked           = oak_door_1
MaxState         = 1
State            = 1
Desc0          = "The oak door is open."
Desc1          = "The oak door is closed."
EndObject              = oak_door

Object             = oak_door_1
Name	= "door"
Altname	= "oak"
Location	= IN_ROOM:kastle4@kastle
OFlags		= Lockable, Openable, NoGet
Linked           = oak_door
MaxState         = 1
State            = 1
Desc0          = "The door is open."
Desc1          = "The door is closed."
EndObject              = oak_door_1

Object             = door
Location	= IN_ROOM:kastle20@kastle
OFlags		= Lockable, Openable, NoGet
Linked           = door_1
MaxState         = 2
State            = 2
Desc0          = "The door is open."
Desc1          = "The door is closed."
Desc2          = "The door is locked."
EndObject              = door

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

Object             = bar_stone
Name	= "stone"
Altname	= "bar"
Location	= IN_ROOM:kastle18@kastle
OFlags		= Pushable, NoGet
Linked           = wall_stone@castle
MaxState         = 1
State            = 1
Desc0          = "
A block of stone is sitting on the stairs here beside an opening leading up."
Desc1          = "
The stairway is blocked by a large block of stone that is barred in place."
EndObject              = bar_stone

Object             = hole
Location	= IN_ROOM:kastle12@kastle
OFlags		= NoGet
Linked           = hole_1
MaxState         = 1
State            = 1
Desc0          = "A hole has been dug through the snow leading down."
Trap		= all
@
  catch_dig
  {   bprintf("You dig through the thick snow to form a passage leading down.\n");
      setobjstate(OBJ_KASTLE_HOLE,0);
      setobjstate(OBJ_KASTLE_HOLE_1,0);
      fail(-1);
  }
@
EndTrap
EndObject              = hole

Object             = hole_1
Name	= "hole"
Location	= IN_ROOM:kastle13@kastle
OFlags		= NoGet
Linked           = hole
MaxState         = 1
State            = 1
Desc0          = "A hole has been dug through the thick crusty snow."
EndObject              = hole_1

Object             = snow_ice
Name	= "ice"
Altname	= "snow"
Location	= IN_ROOM:kastle14@kastle
OFlags		= NoGet
Linked           = snow_ice@blizzard
MaxState         = 1
State            = 1
Desc0          = "A hole has been chipped through the ice."
Trap		= all
@
   catch_dig
   {  bprintf("You dig a passage up through the snow and ice.\n");
      setobjstate(OBJ_KASTLE_SNOW_ICE,0);
      setobjstate(OBJ_BLIZZARD_SNOW_ICE,0);
      fail(-1);
   }
@
EndTrap
EndObject              = snow_ice

Object             = gold_chain
Name	= "chain"
Altname	= "gold"
Location	= IN_ROOM:kastle1@kastle
OFlags		= Pushtoggle, NoGet
Desc0          = "
A very valuable looking gold chain lies here half buried in the dirt."
Trap		= all
@
   switch(event) {
   case E_ONPUSH: 
      bprintf("As you tug on the chain a trap door opens beneath your feet.\n");
      bprintf("You fall with a loud thud to the room below as the trap door closes above you.\n");
      teletrap(LOC_KASTLE_KASTLE15);
      param_s.ret = -1;
      break;
  default:
      break;
   }
@
EndTrap
EndObject              = gold_chain

Object             = skis
Location	= IN_ROOM:kastle5@kastle
OFlags		= GetFlips, WearOnFeet, Wearable
BaseValue           = 50
Size             = 20
Weight           = 10
MaxState         = 1
State            = 1
Desc0          = "A pair of wooden skis have been left here."
Desc1          = "A pair of wooden skis stand in the corner gathering dust."
EndObject              = skis

Object             = sword_Cuthbert
Name	= "Cuthbert"
Altname	= "sword"
Location	= IN_ROOM:kastle4@kastle
OFlags		= Weapon
BaseValue           = 200
Damage           = 13
Size             = 20
Weight           = 10
MaxState         = 1
State            = 1
Desc0          = "Cuthbert is lying here complaining about being left alone."
Desc1          = "
A magnificent looking sword is displayed above the fireplace."
Examine          = "
The sword is finely engraved with the words 'Cuthbert the Scared'."
EndObject              = sword_Cuthbert

Object             = chair_lazyboy
Name	= "lazyboy"
Altname	= "chair"
Location	= IN_ROOM:kastle4@kastle
OFlags		= Container, Pushtoggle, Openable, NoGet
MaxState         = 1
State            = 1
Desc0          = "The lazyboy is reclining."
Desc1          = "The lazyboy looks inviting."
EndObject              = chair_lazyboy

Object             = old_coins
Name	= "coins"
Altname	= "old"
Location	= IN_CONTAINER:chair_lazyboy@kastle
BaseValue           = 60
Size             = 3
Weight           = 3
Desc0          = "A few old coins are scattered about here."
EndObject              = old_coins

Object             = armor_suit
Name	= "suit"
Altname	= "armor"
Location	= IN_ROOM:kastle2@kastle
OFlags		= Container, NoGet
Size             = 1
Weight           = 1
Desc0          = "
A suit of armor bearing the royal seal is standing here beside the door."
EndObject              = armor_suit

Object             = fancy_key
Name	= "key"
Altname	= "fancy"
Location	= IN_CONTAINER:armor_suit@kastle
OFlags		= Key
Size             = 1
Weight           = 1
Desc0          = "A fancy looking key has been left here."
EndObject              = fancy_key

Object             = chamber_pot
Name	= "pot"
Altname	= "chamber"
Location	= IN_ROOM:kastle6@kastle
OFlags		= Container
BaseValue           = 160
Size             = 5
Weight           = 5
Desc0          = "A splendid solid gold chamber pot is sitting here."
EndObject              = chamber_pot

Object             = ledge
Location	= IN_ROOM:kastle7@kastle
OFlags		= NoGet
Trap		= all
@
   if (event == E_ONEXAMINE)
   {  if (find_stuff (OBJ_KASTLE_LEDGE, OBJ_KASTLE_NEST_EGG,
		      "Feeling along the ledge you find a small nest with an egg in it.\n"))
      param_s.ret = -1;
   }
@
EndTrap
EndObject              = ledge

Object             = nest_egg
Name	= "egg"
Altname	= "nest"
Location	= IN_ROOM:kastle7@kastle
OFlags		= Destroyed
BaseValue           = 160
Size             = 5
Weight           = 5
Desc0          = "A small silver egg has been left here."
EndObject              = nest_egg

Object             = bread
Location	= IN_ROOM:kastle5@kastle
OFlags		= GetFlips, Food
BaseValue           = 10
Size             = 2
Weight           = 2
MaxState         = 1
State            = 1
Desc0          = "Some stale bread has been left here."
Desc1          = "The only thing left on the shelves is some stale bread."
EndObject              = bread

Object             = ball
Location	= IN_ROOM:kastle17@kastle
BaseValue           = 160
Size             = 20
Weight           = 10
Desc0          = "Someone has left their bowling ball here."
Examine          = "
This is actually a very large black pearl with some holes drilled in it.
"
EndObject              = ball

Object             = chest
Location	= IN_ROOM:kastle19@kastle
OFlags		= Container, Lockable, Openable, NoGet
MaxState         = 2
State            = 2
Desc0          = "The chest is open."
Desc1          = "The chest is closed."
Desc2          = "The chest is locked."
EndObject              = chest

Object             = check
Location	= IN_CONTAINER:chest@kastle
BaseValue           = 150
Size             = 1
Weight           = 1
Desc0          = "There is check here made out to his royal highness for $50."
EndObject              = check

Object             = tapestry
Location	= IN_ROOM:kastle4@kastle
OFlags		= NoGet
Examine          = "Behind the tapestry you find a doorway.
"
EndObject              = tapestry



Location	= "kastle1"
North		= ^rock_wall@kastle
South		= kastle2@kastle
Title		= "&+WEscape Passage South&*"
Desc		= ^
   The Passage opens up here allowing you to stand. There are lit torches
spaced evenly along both walls providing plenty of light to see by. Much
further to the south the torches end, and it appears that someone is standing
there by a door. The floor here is dirt, but oddly enough your footsteps sound
hollow.
^
EndLocation	= "kastle1"

Location	= "kastle2"
North		= kastle1@kastle
South		= kastle8@kastle
West		= ^null_door@kastle
Title		= "&+WEntrance to the Royal Hideaway&*"
Desc		= ^
   The tunnel continues south here into darkness and you feel a cold draft
coming from that direction. To the north you can feel the warmth of the
many torches lining the passageway. A heavy wooden door, banded with iron,
is set in the west wall.
^
EndLocation	= "kastle2"

Location	= "kastle3"
East		= ^heavy_door@kastle
South		= ^oak_door@kastle
Title		= "&+WSide Hallway&*"
Desc		= ^
   This is a small alcove off the main passageway. The walls are paneled with
wood finely painted and inlaid with gold. This place looks fit for a king.
There is a heavy wooden door banded with iron on the eastern wall.
There is a stout oak door on the southern wall.
^
EndLocation	= "kastle3"

Location	= "kastle4"
North		= ^oak_door_1@kastle
South		= kastle6@kastle
West		= kastle5@kastle
Up		= kastle7@kastle
Title		= "&+WCozy Room&*"
Desc		= ^
   You are in a cozy little room inside the royal hideout. The west wall is
hung with a large colorful tapestry meant to depict the heroic deeds of the
royal family. Oddly enough, however, it is completely blank.
The east wall is occupied by a huge fireplace in front of which sits the
royal Lazy-boy, a chair fit for a king.
^
EndLocation	= "kastle4"

Location	= "kastle5"
East		= kastle4@kastle
LFlags		= Dark
Title		= "&+WStore Room&*"
Desc		= ^
   This room is where emergency stores were kept. It is larger than it appears
and the walls are lined with tall shelves. The shelves are now virtually empty.
^
EndLocation	= "kastle5"

Location	= "kastle6"
North		= kastle4@kastle
LFlags		= Peaceful
Title		= "&+WRoyal Bedroom&*"
Desc		= ^
   A sense of awe briefly overcomes you at the splendor of the royal bedroom.
Gold seems to guild everything here. Even the ceiling is inlaid with gold
patterns surrounding the splendid royal seal. The bed, perhaps the largest you
have ever seen, is covered with sheets of luxurious gold silk. You get the
impression that this king was a little obsessed with his gold.
^
EndLocation	= "kastle6"

Location	= "kastle7"
Down		= kastle4@kastle
LFlags		= Dark, OnePerson
Title		= "&+WChimney&*"
Desc		= ^
   Though this is a large chimney, it is still a tight squeeze. The bricks are
coated with soot that rubs off on you and makes you sneeze. You can't climb
any higher than this because of a small ledge constricting the chimney.
^
EndLocation	= "kastle7"

Location	= "kastle8"
North		= kastle2@kastle
South		= kastle9@kastle
LFlags		= Dark, Cold
Title		= "&+WLong Cold Passageway&*"
Desc		= ^
   This passageway is filled with cold air that goes right through your clothes
and makes you shiver uncomfortably. The heavy frost that has collected on the
walls reminds you of an icebox that hasn't been cleaned out in years.
To the north you can just make out the light of the many torches that line the
walls there, and to the south there is a small light at the end of the tunnel.
^
EndLocation	= "kastle8"

Location	= "kastle9"
North		= kastle8@kastle
Up		= kastle10@kastle
LFlags		= Outdoors, Cold
Title		= "&+WThe Fells&*"
Desc		= ^
   The escape passage emerges here high on the side of a steep rocky fell.
The footing here is treacherous. Small avalanches of scree are set off by your
footsteps as you scramble along the fell. Any descent would be impossible.
The only other way out is up to the top of the fell which is covered in snow.
^
EndLocation	= "kastle9"

Location	= "kastle10"
South		= kastle11@kastle
West		= kastle9@kastle
Down		= kastle11@kastle
Trap		= all
@
   switch (event) {
   case E_ONMOVE:
      if (param_s.misc == LOC_KASTLE_KASTLE11 && ploc(param_s.plx) == LOC_KASTLE_KASTLE10)
	if (!iswornby(OBJ_KASTLE_SKIS, param_s.plx)) 
        {
	    teletrap (LOC_KASTLE_KASTLE24);
	    param_s.ret = 0;
        }
	else 
	{
           bprintf("You shuss down the glacier like an expert on your skis.\n");
           set_quest(Q_SKI,param_s.plx);
        }
        break;
   default: break;
   }
@
EndTrap
LFlags		= Outdoors, Cold
Title		= "&+WTop of the Glacier&*"
Desc		= ^
   This is the top of a large glacier that extends down the steep mountainside.
The fresh snow here looks good for skiing. Of course you'd best be careful or
you might set of an avalanche. To the south you can barely make out the bottom
of the glacier through the glare from the snow. West of here lies the fells.
^
EndLocation	= "kastle10"

Location	= "kastle11"
South		= kastle12@kastle
LFlags		= Outdoors, Cold
Title		= "&+WBottom of the Glacier&*"
Desc		= ^
   You are at the bottom of the glacier. The top of the glacier is far above
you, impossible to reach from here. The only exit appears to be through a snow
bank to the south.
^
EndLocation	= "kastle11"

Location	= "kastle12"
North		= kastle11@kastle
Down		= ^hole@kastle
LFlags		= Outdoors, Cold
Title		= "&+WSnow Drift&*"
Desc		= ^
   The snow here is heaped up into a large drift, and the wind whips through
here on its way to parts unknown. The only way out would seem to be back the
way you came.
^
EndLocation	= "kastle12"

Location	= "kastle13"
North		= kastle14@kastle
Up		= ^hole_1@kastle
LFlags		= Dark, Cold, Soundproof, NoMagic
Title		= "&+WUnder the Snow Temple&*"
Desc		= ^
   You are in a secret chamber beneath an old temple. It looks as though the
place is ready to fall in. The walls are leaning precariously and there are
cracks in the ceiling. There are some stairs at the north end of the chamber.
^
EndLocation	= "kastle13"

Location	= "kastle14"
South		= kastle13@kastle
Up		= ^snow_ice@kastle
LFlags		= Cold, NoMobiles
Title		= "&+WSnowy Stairs&*"
Desc		= ^
   The stairs here are blocked by snow that has hardened into an icy crust.
Perhaps you could dig through the ice if you had something to dig with.
^
EndLocation	= "kastle14"

Location	= "kastle15"
North		= kastle18@kastle
South		= kastle16@kastle
LFlags		= Dark
Title		= "&+WUnder the Trap Door&*"
Desc		= ^
   You are in the lower reaches of the castle, directly beneath a trap door.
An open sewer runs to the south and a terrible odor is coming from that
direction. The tunnel continues to the north.
^
EndLocation	= "kastle15"

Location	= "kastle16"
North		= kastle15@kastle
Down		= kastle23@kastle
Trap		= all
@
    switch(event) {
    case E_ONJUMP:
      if (ploc(mynum) == LOC_KASTLE_KASTLE16)
      {  char ms[128];
         sprintf(ms, "You hear a loud flush come from somewhere.\n");
         broad(ms);
         bprintf("You leap upwards and grab ahold of the chain.  Your weight pulls the chain.\n");
         bprintf("........There is a great flushing sound as the pit empties.\n");
         teletrap(LOC_KASTLE_KASTLE22);
      }
      break; 
    default:
      break;
    }
@
EndTrap
LFlags		= Dark
Title		= "&+WSmelly Room&*"
Desc		= ^
   The sewer empties into a large pit here creating an unbearable odor. A chain
hangs from the ceiling directly over the pit and just out of your reach.
^
EndLocation	= "kastle16"

Location	= "kastle17"
Up		= kastle16@kastle
LFlags		= Dark, OnePerson
Title		= "&+WSewage Pit&*"
Desc		= ^
   The walls of this pit are still coated with sewage and the stench here is
overpowering. Sewage is still spilling in so you better not take too long.
^
EndLocation	= "kastle17"

Location	= "kastle18"
North		= kastle19@kastle
East		= kastle20@kastle
South		= kastle15@kastle
Up		= ^bar_stone@kastle
LFlags		= Dark
Title		= "&+WDamp Tunnel&*"
Desc		= ^
   It is dank and musty here and slime coats the walls. To one side there is a
a set of stairs leading up. To the north the tunnel opens up and to the east
can be seen rows of cells.
^
EndLocation	= "kastle18"

Location	= "kastle19"
South		= kastle18@kastle
Title		= "&+WTax Collectors&*"
Desc		= ^
   This must be where the taxes are normally kept. However there is only one
chest left and there is not much else to see.
^
EndLocation	= "kastle19"

Location	= "kastle20"
East		= ^door@kastle
West		= kastle18@kastle
LFlags		= Dark
Title		= "&+WCastle Dungeons&*"
Desc		= ^
   Rows of cells line the the walls of this place, however they are all empty
now. A heavy iron door has been set in the eastern wall.
^
EndLocation	= "kastle20"

Location	= "kastle21"
West		= ^door_1@kastle
LFlags		= Dark
Title		= "&+WSolitary&*"
Desc		= ^
   This must be where they put prisoners they didn't want to see anymore.
There are several skeletons here and the floor is covered with soiled straw.
^
EndLocation	= "kastle21"

Location	= "kastle22"
Down		= kastle17@kastle
LFlags		= Dark, OnePerson, Soundproof, NoMobiles, NoSummon
Title		= "&+WOn the Chain&*"
Desc		= ^
   You are hanging from the chain over the sewage pit. You could climb down
from here into the pit before it fills again or you could just hang here for
the rest of your mortal life. Well?.. get going.
^
EndLocation	= "kastle22"

Location	= "kastle23"
LFlags		= NoMobiles, NoSummon, Death
Title		= "&+WAn Unpleasant Death&*"
Desc		= ^
   You dive headlong into the sewage.
Oh dear, you seemed to have drowned in.. er, well you know.
^
EndLocation	= "kastle23"

Location	= "kastle24"
LFlags		= NoMobiles, NoSummon, Death
Title		= "&+WBuried Alive&*"
Desc		= ^
   Your clumsy attempt to climb down the glacier has set off an avalanche
burying you alive... well dead actually.
^
EndLocation	= "kastle24"