inherit "/d/Imperium/std/weapon";

#include "/sys/stdproperties.h"
#include "/sys/macros.h"
#include "/sys/wa_types.h"
#include "/sys/ss_types.h"
#include "/sys/formulas.h"
#include <poison_types.h>
#include "local.h"

#define TO			this_object()
// Korzystamy z w.w. plikow.

int jest_trucizna;
// deklarujemy licznik trucizny.

void
create_weapon()
{
    ustaw_nazwe(({"sztylet","sztyletu","sztyletowi","sztylet","sztyletem","sztylecie"}),
		({"sztylety","sztyletow","sztyletom","sztylety","sztyletami","sztyletach"}),
		PL_MESKI_NOS_NZYW);

    dodaj_przym("dlugi","dludzy");
    dodaj_przym("zakrzywiony","zakrzywieni");

    set_long("@@my_long");

    set_hit(24);
    set_pen(14);

    set_wt(W_KNIFE);
    set_dt(W_SLASH | W_IMPALE);
    set_hands(W_ANYH);

    jest_trucizna = 3;
// Dajemy 3 dawki trucizny.
    add_prop(OBJ_I_WEIGHT, 1100);
    add_prop(OBJ_I_VOLUME, 300);

}

string
my_long()
{
    if (jest_trucizna)
	return "Zakrzykwiony sztylet o dlugim ostrzu, lsniacym od oleistej "+
	       "substancji, ktora jest posmarowane. Rekojesc"+
	       " broni wykonana jest z ciezkiego metalu i starannie owinieta"+
	       " skora inkrustowana srebrem i platyna. Ostrze jest chlodne w "+
	       "dotyku i na pewno bardzo skuteczne.\n";
    else
	return "Zakrzykwiony sztylet o dlugim ostrzu. Rekojesc"+
	       " broni wykonana jest z ciezkiego metalu i starannie owinieta"+
	       " skora inkrustowana srebrem i platyna. Ostrze jest chlodne w "+
	       "dotyku i na pewno bardzo skuteczne.\n";

// Opis rozny w zaleznosci od tego, czy jest trucizna.
}

// Tu wykorzystujemy funkcje did_hit, zeby zatruc przeciwnika.

public varargs int
did_hit(int aid, string hdesc, int phurt, object enemy, int dt, int phit)
{
    object trucizna;
    
    if (function_exists("create_undead",enemy))
       return 0; // Nie da sie zatruc umarlaka
    
    if (!(phurt>0)) return 0; //Jak nie trafilismy to nie zatrujemy chyba...
    
    if(jest_trucizna && !random(5))
    // Jezeli jest trucizna, to istnieje 20% szansy na zatrucie.
    {
	setuid();
	seteuid(getuid());

	trucizna = clone_object(HOME + "bronie/truc1.c");
	if (trucizna)
	{
	    trucizna->move(enemy);
	    trucizna->set_time(500);
	    trucizna->set_interval(20);
	    trucizna->start_poison();
	    jest_trucizna--;
	    query_wielded()->catch_msg("Masz wrazenie, ze trucizna dostala "+
		"sie do krwi przeciwnika.\n");
	    return 0;
	}
	else 
	    query_wielded()->catch_msg("Nie udalo sie zaladowac obiektu " +
		"trucizny, zglos blad w sztylecie na ten temat.\n");
    }
    return 0;
}
