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 alchemist;
void reset(status arg) {

  if(!present("alchemist")) {
    alchemist = clone_object("room/city/monst/alchemist");
    alchemist -> set_name("garion");
    alchemist -> set_short("Garion the alchemist");
    alchemist -> set_long(
     "Garion, although an old man, used to be a famous adventurer, and \n"+
     "a powerful fighter and wizard. He now puts his knowledge into    \n"+
     "brewing potions for young adventurers.\n");
    alchemist -> set_gender(1);
    alchemist -> set_race("human");
    alchemist -> set_owner("garion");
    alchemist -> set_alias("alchemist");
    alchemist -> load_chat(10,({ "Garion collects a few bottles.\n",
     "Garion labels a few potions.\n",
     "Garion sips a potion to test its strength.\n",
     "Garion cleans up the workshop.\n",
    }));
    alchemist -> load_a_chat(10,({ "Garion exclaims: Leave me alone!\n",
     "Garion cries out for help!\n",
     "Garion pleads with you.\n",
     "Garion bursts out crying.\n",
    }));
    alchemist -> set_brew(1);    
    alchemist -> set_potion_array(({ "cure light wounds",
          "cure serious wounds", "slow poison", "cure disease",
          "resist fire", "resist lightning",
    }));

    alchemist -> set_level(15);
    alchemist -> set_wc(20);
    alchemist -> set_ac(12);
    alchemist -> set_hp(1000);
    alchemist -> add_money(100 + random(1000));
    move_object(alchemist, this_object());
  }       


  reset_doors(arg);
  load_door(({
     "file", "room/city/market2",
     "direction", "east door",
     "key id", "city key",
     "long",
          "A tall red door with a tiny peek hole in the center.\n",
  }));

  if(arg) return;
  set_short("The Alchemist's Shop");
  set_long(
     "This small room feels stuffy and cramped. There are thousands \n"+
     "of bottles, jars and potions with strange colourful liquids   \n"+
     "stacked in rows along tall shelves which cover the four walls \n"+
     "of this tiny room, making it feel even smaller. There is a    \n"+
     "small gold plaque on a counter at the far end of the room.    \n");

  set_items(({
     "plaque#sign",
          "Perhaps you could read it?",
     "bottle#bottles",
          "Some are tall and thin, and some are coloured",
     "jar#jars",
          "Most of the glassware on the shelves are jars of many \n"+
          "different sizes and colours, containing strange and   \n"+
          "bubbling liquids",
     "potion#potions",
          "They are obviously the alchemists specialty, as some have \n"+
          "prices and labels on them",
     "prices#price#label#labels",
          "Perhaps you should read the plaque to get an idea of what\n"+
          "the alchemist sells?",
  }));

  set_smell("The room is full of strange and exotic smells.\n");
  set_weather(2,1,0);
  set_exits(({
     "room/city/main_st3", "north",
     "room/city/market3",  "south",
  }));
}

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

status read(string str) {
  string tmp1, tmp2;
  if(sscanf(str, "%splaque%s", tmp1, tmp2)) {
    write(
     "Potions for Sale          Cost    \n"+
     "----------------        --------  \n"+
     "Cure Light Wounds.......8 silver  \n"+
     "Cure Serious Wounds.....2 gold    \n"+
     "Cure Disease...........14 silver  \n"+
     "Slow Poison.............6 silver  \n"+
     "Resist Fire............18 silver  \n"+
     "Resist Lightning.......18 silver  \n"+
     "\nUsage: brew <potion name >\n");

    say(this_player()->query_name()+" reads the plaque on the counter.\n",
          this_player());
    return 1;
  }
  return 0;
}