// gargoyle.c

#include <ansi.h>
#include <login.h>

inherit NPC;

string *death_msg = ({
	HIW "յL`DRޡTsӪMAsWrS\n\n" NOR,
	HIW "յL`Ω_nۧAMnnݬA@C\n\n" NOR,
	HIW "յL`uv@nMqSǥX@bUF½ݵۡC\n\n" NOR,
	HIW "յL`פWUlMDRxSإɡSiS\n\n" NOR,
	HIW "յL`kFkYM۹DR}F}FMAaC\n\n"
		"@ѳN@MX{Mܧ֦a]FAC\n\n" NOR,
});

void create()
{
	set_name("յL`", ({ "white gargoyle", "gargoyle" }) );
	set("long",
		"յL`۪YۧAMժyWݤX߫s֡C\n");
	set("attitude", "peaceful");
	set("chat_chance", 15);
	set("chat_msg", ({
		(: this_object(), "random_move" :),
		"յL`oX@}DunMLo{A`ۥLɭԡMFA@C\n",
		"յL`YXӡMwwaQFQۤvSդSC\n"
	}) );
	set("age", 217);
	set("combat_exp", 20000);
	set("max_gin", 900);
	set("max_kee", 900);
	set("max_sen", 200);
	set_skill("dodge", 40);
	set_skill("unarmed", 40);
	setup();
}

void init()
{
	::init();
	if( !previous_object()
	||	!userp(previous_object())
	||	wizardp(previous_object()) ) return;
	call_out( "death_stage", 5, previous_object(), 0 );
}

void death_stage(object ob, int stage)
{
	if( !ob || !present(ob) ) return;

	tell_object(ob, death_msg[stage]);
	if( ++stage < sizeof(death_msg) ) {
		call_out( "death_stage", 5, ob, stage );
		return;
	} else
		ob->reincarnate();

	ob->move(REVIVE_ROOM);
	message("vision",
		"AMo{ehF@ӤHvMLHvSnwgb\n"
		"ܤ[FMuOA@SoıC\n", environment(ob), ob);
}


