#include "/d/Imperium/Varn/zabojcy/mith_zabojcy.h"

/* public int typ_wroga()
 *	Funkcja zwracajaca, jakim typem wroga jest nasz milusinski:
 *			0. Trol i podobne
 *			1. Gigant
 *			2. Smok
 *			3. Demon
 * 	Uzywane do generowania naszyjnikow Zabojcow.
 */

int typ_wroga()
{
	return this_object()->query_prop(ZABOJCY_TYP_WROGA);
}

juz_ma(object kto)
{
	object *inv;
	object tmp;
	string master;
	inv=all_inventory(kto);
	while(sizeof(inv))
	{
		tmp=inv[0];
		inv-=inv[0];
		master=MASTER_OB(tmp);
		if (master==NASZYJNIK || master==ZEBY)
			return 1;
	}
	return 0;
}

/*
 * 	Przerabiamy funkcje, zeby zostawaly zeby, ktore moga potem zostac 
 *	uzyte do zrobienia naszyjnika.
 */
do_die(object killer, int czy_to_my=0)
{
	string zeby;

//	if (juz_ma(killer)) return ::do_die(killer);
	
	killer->add_prop(ZABOJCY_ZABIL,1);
	if (this_object()->query_leftover("zeby")) zeby="zeby";
	else zeby="zab";
	this_object()->remove_leftover(zeby);
	
/* Wykorzystujemy pewna sztuczke, zamiast argumentu hard podajemy typ wroga.
 * Argument ten wykorzystywany jest w zwyklych lefoverach do sprawdzenia, czy 
 * leftover przetrzyma rozlozenie ciala. Nas to nie interesuje, wykorzystujemy
 * wlasnego lefovera a nie standard.
 */
	this_object()->add_leftover(ZEBY, ({"zeby","zebow","zebom","zeby","zebami","zebach"}),
		({"zeby","zebow","zebom","zeby","zebami","zebach"}), 
		PL_MESKI_NZYW, 1, 0, typ_wroga(), 0);
	
this_object()->do_die(killer,1);
}
