#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);
}
}