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;

static object armourer;

void reset(status arg) {
  if(!present("thorin")) {
    armourer = clone_object("room/city/monst/armourer");
    armourer -> set_owner("thorin");
    armourer -> set_name("thorin");
    armourer -> set_alias("armourer");
    armourer -> set_level(15);
    armourer -> add_money(100 + random(1000));
    armourer -> set_hp(1000);
    armourer -> set_wc(20);
    armourer -> set_ac(12);
    armourer -> load_spells(12,({ "cure light wounds", "cure disease",
     "curse", "bless", "poison", "slow poison",
     "resist fire", "resist death", "resist lightning",
    }));
    armourer -> set_magic_resist(20);
    armourer -> set_short("Thorin, the dwarvish armourer");
    armourer -> set_long(
     "Thorin is a typical dwarf, standing in leather apron and \n"+
     "hard black boots. He is most happy working with metal,   \n"+
     "forging weapons and armour for the city garison and for  \n"+
     "the adventurers who stay within the city.\n");
    armourer -> set_race("dwarf");
    armourer -> add_class("cleric");
    armourer -> set_forge(1);
    armourer -> load_chat(20,({ "Thorin bashes some metal.\n",
     "Thorin looks happily into the forge.\n",
     "Thorin stoaks the forge.\n",
     "Thorin happily forges a weapon.\n",
     "Thorin happily forges some armour.\n",
     "Thorin smiles happily.\n",
     "Thorin asks: Is there anything I can do for you today?\n",
    }));
    armourer -> load_a_chat(5,({ "Thorin says: That's not a good idea.\n",
     "Thorin says: If you leave, you will not be harmed.\n",
    }));
    armourer -> set_combat(20);
    armourer -> set_multi_attack(15);
    move_object(armourer, this_object());
  }

  if(arg) return;
  set_short("the armourer");
  set_long(
     "All around the smell of metal and steel, mixed with the sounds \n"+
     "of the forging hammer beating iron fills your senses. A rack   \n"+
     "of fine weapons stands in pride of place against the west wall,\n"+
     "while a mighty forge stands in the middle of the room. There is\n"+
     "a sign beside the door\n");
  set_items(({
     "sign", "Perhaps you should read it?",
     "rack",
          "A rack of fine dwarvish weapons",
     "weapons",
          "There are many sorts; battle axes, war hammers, swords...",
     "forge",
          "An ever burning, firery forge",
  }));
  set_exits(({
     "room/city/dark_rd1", "southeast",
  }));
  set_weather(2,2,0);
}

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

status read(string str) {
  if(str == "sign") {
    write("Thorin's Forge........Usage: make <item>\n");
    return 1;
  }
  return 0;
}