LPMUD/
LPMUD/BIN/
LPMUD/DOC/
LPMUD/MUDLIB/
LPMUD/MUDLIB/BANISH/
LPMUD/MUDLIB/D/
LPMUD/MUDLIB/DOC/
LPMUD/MUDLIB/DOC/DOMAINS/
LPMUD/MUDLIB/DOC/EFUN/
LPMUD/MUDLIB/DOC/EXAMPLES/
LPMUD/MUDLIB/DOC/EXAMPLES/ARMOUR/
LPMUD/MUDLIB/DOC/EXAMPLES/CONTAIN/
LPMUD/MUDLIB/DOC/EXAMPLES/FOOD/
LPMUD/MUDLIB/DOC/EXAMPLES/MAGIC/
LPMUD/MUDLIB/DOC/EXAMPLES/MONSTER/
LPMUD/MUDLIB/DOC/EXAMPLES/ROOM/
LPMUD/MUDLIB/DOC/EXAMPLES/WEAPONS/
LPMUD/MUDLIB/FUNCTION/
LPMUD/MUDLIB/INCLUDE/
LPMUD/MUDLIB/INCLUDE/FN_SPECS/
LPMUD/MUDLIB/INCLUDE/SKILLS/
LPMUD/MUDLIB/INFO/
LPMUD/MUDLIB/INHERIT/BASE/
LPMUD/MUDLIB/LOG/
LPMUD/MUDLIB/MANUALS/312/
LPMUD/MUDLIB/NEWS/
LPMUD/MUDLIB/OBJ/PARTY/
LPMUD/MUDLIB/OBJ/SHADOWS/
LPMUD/MUDLIB/OBJECTS/COMPONEN/
LPMUD/MUDLIB/OPEN/
LPMUD/MUDLIB/OPEN/LIBRARY/
LPMUD/MUDLIB/OPEN/PARTY/
LPMUD/MUDLIB/PLAYERS/
LPMUD/MUDLIB/PLAYERS/ZIL/
LPMUD/MUDLIB/ROOM/
LPMUD/MUDLIB/ROOM/CITY/ARENA/
LPMUD/MUDLIB/ROOM/CITY/CREATOR/
LPMUD/MUDLIB/ROOM/CITY/GARDEN/MONST/
LPMUD/MUDLIB/ROOM/CITY/OBJ/
LPMUD/MUDLIB/ROOM/CITY/PUB/
LPMUD/MUDLIB/ROOM/CITY/SHOP/
LPMUD/MUDLIB/ROOM/DEATH/
LPMUD/MUDLIB/ROOM/REGISTRY/
LPMUD/MUDLIB/SECURE/
LPMUD/MUDLIB/SECURE/UDP_CMD_/
LPMUD/MUDLIB/SKILLS/
LPMUD/MUDLIB/SKILLS/FIGHTER/
LPMUD/MUDLIB/SKILLS/THIEF/
LPMUD/MUDLIB/USR/
LPMUD/MUDLIB/USR/CREATORS/
LPMUD/MUDLIB/USR/PLAYERS/
#include <mudlib.h>
inherit ROOM;

#define ELF 3

object *elves;


void reset(status arg) {
  int i;
  object glv, telf;
  
  if(!arg) {
    set_short("the elfin forest");
    set_long(
"You are standing before a large oak tree.  Its far larger than     \n"+
"any of the other trees in the forest. Its branches seem to reach   \n"+
"up into the sky for miles. This tree is so big someon or something \n"+
"could live in it.\n");
 
   set_exits(({
        "room/newbie/new4",  "northwest",
    }));
    set_items(({
        "tree",   "A large oak tree. One of the branches seems strange",
        "branch", "An oak branch. The base seems to have a pivot for twisting",
    }));
    set_weather(2,4,3);
  }
  if(!elves) elves = allocate(ELF);
  for(i = 0; i < ELF; i++) {
    if(!elves[i]) {
      telf = clone_object(MONSTER);
      telf->set_name("elf");
      telf->set_short("a wood elf");
      telf->set_long(
          "A small little wood elf. She has pointy ears, and small feet.\n");
      telf->set_level(2);
      telf->set_ac(3);
      telf->set_wc(6);
      telf->set_al(50);
      telf->set_gender(2);
      telf->set_race("wood elf");
      move_object(telf, this_object());
      elves[i] = telf;
    }
    if(!present("gloves", elves[i])) {
        glv = clone_object(ARMOUR);
        glv->set_name("gloves");
        glv->set_short("A pair of bark gloves");
        glv->set_long(
               "A pair of gloves made from the soft bark of a pine tree.\n");
        glv->set_ac(1);
        glv->set_weight(5);
        glv->set_value(60);
        glv->set_type("gloves");
        glv->set_armour_material("leather");
        move_object(glv, elves[i]);
        command("wear gloves", elves[i]);
    } 
  }
}

void init() {
  ::init();
  add_action("twist", "twist");
}

status twist(string arg) {
   if(arg != "branch") return 0;
   write("You twist the branch, and a trapdoor opens under you.\n");
   say(this_player()->query_name()+" twists the branch.\n",this_player());
   this_player()->move_player("through a trapdoor#/room/newbie/tree1");
   return 1;
}