/
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 mas;

   if(!arg) {
      set_short("Hideout");
      set_long(
"You stand before the elven thieves hideout.  It is just a hole in the\n"+
"ground.  There is a wierd glow over the hole, that acts as the security\n"+
"system.  It is accurate 90 percent of the time, but sometimes it may make\n"+
"a mistake, and allow people to sneak by.\n");
      set_exits(({
        "room/newbie/new14", "south",
      }));
      set_weather(1,4,3);
      set_items(({
          "hole",  "A hole in the ground used as a hideout",
          "glow",  "A glowing circle of light",
      }));
   }

  if(!elves) elves = allocate(ELF);
  for(i = 0; i < ELF; i++) {
    if(!elves[i]) {
      mas = clone_object(MONSTER);
      mas->set_name("elf");
      mas->set_alias("master");
      mas->set_short("a master elf");
      mas->set_long(
"This is one of the master thief elves.  He is shorter than normal,\n"+
"skinnier than normal, and a lot quicker than normal guard your\n"+
"equipment well.\n");
      mas->add_class("thief");
      mas->set_level(4);
      mas->set_ac(4);
      mas->set_wc(8);
      mas->set_gender(1);
      mas->set_race("wood elf");
      mas->set_al(-50);
      move_object(mas, this_object());
      elves[i] = mas;
    }
  }
}


void init() {
  ::init();
   add_action("enter", "enter");
   add_action("sneak", "sneak");
}

status enter(string arg) {
  string tmp1, tmp2;
  string race;
   
  race = (string)this_player()->query_race();
  if(arg != "hideout") {
     notify_fail("Enter what??");
     return 0;
  }
  if((arg == "hideout") && 
     (!sscanf(race, "%self%s", tmp1,tmp2))) {
      write("You try to enter the hole, but you are trapped by light.\n");
      say(this_player()->query_name()+" fails to enter the hideout.\n",
          this_player());
      return 1;
  }
  write("You enter into the hideout.\n");
  this_player()->move_player("into the hideout#/room/newbie/hide1");
  return 1;
}

status sneak() {
  string tmp1, tmp2;
  string race;

  race = this_player()->query_race();
  if(sscanf(race, "%self%s", tmp1, tmp2)) {
    write("Theres no need to sneak, just enter the hideout.\n");
    return 1;
  }
  else if (random(25) < 5) {
    write("You successfully sneak into the hideout.\n");
    this_player()->move_player("into the hideout#/room/newbie/hide1");
    return 1;
  }
  else {
     write("You fail to sneak into the hideout.\n");
     say(this_player()->query_name()+" fails to sneak into the hideout.\n",
          this_player());
     return 1;
  }
}