// gargoyle.c

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

inherit NPC;

string *death_msg = ({
	HIW "フ礚盽弧笵侈穝ㄓぐ或\n\n" NOR,
	HIW "フ礚盽ノ钵泊╪帝钩璶ち\n\n" NOR,
	HIW "フ礚盽羘眖砈い鼻セ钩眀狥﹁陆帝\n\n" NOR,
	HIW "フ礚盽蛔弧笵玿锭关ゼ荷或\n\n" NOR,
	HIW "フ礚盽穔穔繷价笵絵絵ǐ\n\n"
		"潮緻铭礛瞷е瞅\n\n" NOR,
});

void create()
{
	set_name("フ礚盽", ({ "white gargoyle", "gargoyle" }) );
	set("long",
		"フ礚盽帝︕繷傈帝フ羪ぃヴ︙尺玸贾\n");
	set("attitude", "peaceful");
	set("chat_chance", 15);
	set("chat_msg", ({
		(: this_object(), "random_move" :),
		"フ礚盽祇皚钩〥羘讽祇瞷タ猔跌帝傈泊\n",
		"フ礚盽р︕繷ㄓ絯絯籕籕︑フも\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",
		"┛礛祇瞷玡紇ぃ筁ê紇钩竒ê柑\n"
		"琌⊿祇谋\n", environment(ob), ob);
}


