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

static object elemental, apprentice;
void reset(status arg) {

  if(!present("elemental")) {
    elemental = clone_object(MONSTER);
    elemental -> set_name("fire elemental");
    elemental -> set_alias("elemental");
    elemental -> set_race("elemental");
    elemental -> set_short("A huge fire elemental");
    elemental -> set_long(
     "A large column of flame with almost human-like features, this \n"+
     "powerful being has been summoned by powersful magics. He does \n"+
     "not appear pleased to be here.\n");
    elemental -> set_gender(1);
    elemental -> set_level(15);
    elemental -> add_spell_immunity("fire");
    elemental -> add_class("fighter");
    elemental -> add_class("mage");
    elemental -> load_spells(40, ({ "fire ball", "bbb", }));
    elemental -> load_chat(10, ({ "Elemental says: Free me mortal.\n",
          "Elemental moves around the circle of protection.\n",
          "Elemental glares at you menacingly.\n",
          "Elemental makes the room seem very warm.\n",
    }));
    elemental -> load_a_chat(10, ({ "Elemental says: I will burn you.\n",
          "Elemental says: I will burn you to a crisp.\n",
          "Elemental says: You will soon be ash under my feet.\n",
          "Elemental says: I will boil your blood.\n",
    }));
    elemental -> set_wc(20);
    elemental -> set_ac(12);
    elemental -> add_money(200 + random(100));
    elemental -> set_dead_ob(this_object());
    move_object(elemental, this_object());
  }

  if(!present("apprentice")) {
    apprentice = clone_object(MONSTER);
    apprentice -> set_name("apprentice");
    apprentice -> set_race("half elf");
    apprentice -> set_gender(2);
    apprentice -> set_short("An apprentice");
    apprentice -> set_level(10);
    apprentice -> set_long(
          "This little apprentice is fearful and frightened! The look \n"+
          "on her face is one of dread. \n");
    apprentice -> load_chat(20,({ "Apprentice asks: Please help me?\n",
          "Apprentice exclaims: Please help me!\n",
          "Apprentice says: I've summoned this elemental by mistake.\n",
          "Apprentice says: Do you know what to do?\n",
          "Apprentice says: Can you make the elemental go away?\n",
          "Apprentice says: Please make the elemental go away.\n",
    }));
    apprentice -> add_class("mage");
    apprentice -> load_spells(15,({
          "burning hands", "web", "monster summon 1", "rope trick",
          "chill touch", "stone skin", "fire shield",
    }));
    apprentice -> set_heart_ob(this_object());
    move_object(apprentice,this_object());
    move_object(clone_object("room/city/obj/s_book"),apprentice);
  }

  if(arg) return;
  set_short("the basement of the council of high magic");
  set_long(
     "A large circle of white marble lined with white candles sits in \n"+
     "the middle of the room. The walls are scortched and marked with \n"+
     "blood. Apparently something terrible has happened here. A cold  \n"+
     "iron staircase winds its way upward into the darkness.\n");

  set_items(({
     "stairs#staircase",
          "A stairwell of cold black iron, descending downward",
     "walls#wall",
          "The walls are of a cold grey stone, possibly made by magical \n"+
          "magical means. They are covered with spots of blood and burn \n"+
          "marks from some intense fire or explosion",
     "candle#candle",
          "They surround the circle in the center of the room",
     "circle#marble",
          "A marble circle has been placed in the centre of the room.\n"+
          "Your knowledge of magic tells you it is a circle of protection",
     "stone",
          "No dwarf chiselled this stone",
  }));
  set_listen("You hear the crackling of fire...somewhere close by.\n");
  set_smell("The air here smells of burnt flesh.\n");
  set_exits(({
     "room/city/mage/bfloor1", "up",
     "room/city/mage/bfloor3", "east",
  }));
  set_weather(2,1,0);    
}

void monster_died() {
  object corpse;
  corpse = present("corpse", this_object());
  tell_room(this_object(), "Elemental explodes....then vanishes...\n");
  if(corpse) destruct(corpse);
}

void monster_heart_beat() {
  if(present("rope", this_object())) {
    if(apprentice)
      command("climb rope", apprentice);
  }
}