/
lib/banish/
lib/d/
lib/doc/
lib/doc/domains/
lib/doc/efun/
lib/doc/examples/
lib/doc/examples/armour/
lib/doc/examples/contain/
lib/doc/examples/food/
lib/doc/examples/magic/
lib/doc/examples/monster/
lib/doc/examples/room/
lib/doc/examples/weapons/
lib/function/
lib/include/
lib/include/fn_specs/
lib/include/skills/
lib/info/
lib/inherit/base/
lib/log/
lib/manuals/312/
lib/news/
lib/obj/party/
lib/objects/components/
lib/open/
lib/open/library/
lib/open/party/
lib/players/
lib/players/zilanthius/
lib/room/
lib/room/city/arena/
lib/room/city/creator/
lib/room/city/garden/monst/
lib/room/city/obj/
lib/room/city/shop/
lib/room/death/
lib/room/registry/
lib/secure/
lib/secure/UDP_CMD_DIR/
lib/skills/
lib/skills/fighter/
lib/skills/thief/
lib/usr/
lib/usr/creators/
lib/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;
}