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/
/****************************************************************************
*                             TREEHOUSE.ZONE                                *
*                        Core Zone:  Author Unknown                         *
*               Distribute with full Dyrt distribution only                 *
*                     Edited by Rex on 5 December 1995                      *
****************************************************************************/

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

Zone		= treehouse
Author		= "Unknown"

EndZone		= treehouse


Mobile		= elf
Name	= "The Elf"
Location	= treehouse_1
Strength	= 60
Damage		= 10
Aggression	= 20
Armor		= 0
Desc		= "A tall, lean elf steps quietly amid the shadows."
Examine		= "This is no cutesy Santa's Workshop-type elf."
EndMobile		= elf



Object		= amulet
Location	= IN_ROOM:treehouse_4
OFlags		= Destroyed, WearOnNeck, WearBlMagic, MagicLit, Lightable
BaseValue		= 70
Size		= 1
Weight		= 1
Desc0		= "An unadorned gold amulet has been put here."
Examine		= "The amulet is polished gold on a leather strap."
EndObject		= amulet

Object		= shield
Altname	= "small"
Location	= WORN_BY:elf@treehouse
OFlags		= Armor, WearOnArms, ExcludeWear
Armor		= 10
BaseValue		= 50
Size		= 10
Weight		= 6
Desc0		= "A small shield has been left here."
Examine		= "This is a small shield, but it might help you in a fight."
EndObject		= shield

Object		= waybread
Altname	= "food"
Location	= IN_ROOM:treehouse_2
OFlags		= Food
BaseValue		= 50
Size		= 1
Weight		= 1
Desc0		= "Some waybread has been put here."
Examine		= "
The waybread is the traditional feed of elves when traveling.  They call it
lembas.  It is said to refresh the weary traveler greatly."
Trap		= all
@
catch_eat
{  if (plev(THIS_PLAYER) < LVL_APPREN && cur_player->pretend < 0) 
   {
      pl1 = (MY_RANDOM() >> 3) % (numchars - 1);
      if (ststflg(pl1, SFL_OCCUPIED) || pl1 < max_players) 
      {
        bprintf("There is a sudden feeling of failure...\n");
        fail(-1);
      }
      polymorph(pl1,25);        /* aliased for 25 moves */
   }
   setpstr(THIS_PLAYER, pstr(THIS_PLAYER) + 16);
   eat(THIS_OBJECT);
   fail(-1);
}
@
EndTrap
EndObject		= waybread

Object		= way1
Name	= "waybread"
Altname	= "food"
Location	= IN_ROOM:treehouse_2
OFlags		= Food
BaseValue		= 50
Size		= 1
Weight		= 1
Desc0		= "Some waybread has been put here."
Examine		= "
The waybread is the traditional feed of elves when traveling. They call it 
lembas.  It is said to refresh the weary traveler greatly."
EndObject		= way1

Object		= bedding
Altname	= "bed"
Location	= IN_ROOM:treehouse_4
OFlags		= NoGet
Examine		= "
Although it's nice, thick, warm bedding, it's hardly the ideal thing in which
to practice honeymoon tactics!"
Trap		= all
@
   if (event == E_ONEXAMINE)
   {   if (!odamage (OBJ_TREEHOUSE_AMULET))
       {
	  create (OBJ_TREEHOUSE_AMULET);
	  bprintf ("You pull an amulet from the bedding.\n");
	  osetdamage (OBJ_TREEHOUSE_AMULET, 1);
	  param_s.ret = -1;
        }
   }
@
EndTrap
EndObject		= bedding

Object		= ladder
Altname	= "rope"
Location	= IN_ROOM:treehouse_1
OFlags		= NoGet
Linked		= ladder2elf@valley
MaxState	= 1
Desc0		= "A rope ladder leads down the tree."
Desc1		= "A coiled rope is lying here."
Trap		= all
@
  catch_untie
  {   int ob; 
      if(pstr(mobile(MOB_TREEHOUSE_ELF)) >= 0) 
      {
         bprintf("The Elf shouts 'Hey, leave my rope alone!'\n");
         fail(-1);
      }
      ob = clone_object(OBJ_LIMBO_ROPE, -1, NULL);
      if(ob >= 0) 
      {
         bprintf("You untie the rope.\n");
         setobjstate(OBJ_VALLEY_LADDER2ELF, 1);
         osetbit(OBJ_VALLEY_LADDER2ELF,OFL_DESTROYED);
         osetbit(OBJ_TREEHOUSE_LADDER,OFL_DESTROYED);
         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);
         fail(-1);
      }
      succeed();
  }
@
EndTrap
EndObject		= ladder


Location	= "treehouse_1"
West		= treehouse_2
Down		= ^ladder@treehouse
LFlags		= RealTime
Title		= "On The Treehouse Porch"
Desc		= ^
   You stand on the porch of a treehouse.  The tree is surrounded by seemingly
hundreds of others like it which form a thick forest around you.  To the west
you can walk between two of the main branches into the center of the house.
^
EndLocation	= "treehouse_1"

Location	= "treehouse_2"
North		= treehouse_3
East		= treehouse_1
South		= treehouse_4
LFlags		= RealTime
Title		= "Inside the Treehouse"
Desc		= ^
   You are standing in the center of an elven treehouse.  Arched doorways 
between the branches lead north, east, and south.
^
EndLocation	= "treehouse_2"

Location	= "treehouse_3"
South		= treehouse_2
LFlags		= RealTime
Title		= "Treehouse North"
Desc		= ^
   You stand at the northern end of the treehouse, looking out across the
forest.  A single doorway carved into the tree trunk allows access back south.
^
EndLocation	= "treehouse_3"

Location	= "treehouse_4"
North		= treehouse_2
LFlags		= RealTime
Title		= "Treehouse South"
Desc		= ^
   You are at the southern end of the treehouse, which appears to be used
by its occupant as a sleeping area.  Large amounts of thick bedding ensure
that the occupant will be comfortable even in bad weather.  A path to the
north has been cut between the branches.
^
EndLocation	= "treehouse_4"