inherit "/std/weapon";
object wielder;
#include "/sys/stdproperties.h"
#include "/sys/macros.h"
#include "/sys/wa_types.h"
#include "/sys/ss_types.h"
#include "/sys/formulas.h"
#define TP              this_player()
#define TO              this_object()
#include <poison_types.h>
int jest_trucizna;
void
create_weapon()
{
   ustaw_nazwe( ({ "kolec", "kolca", "kolcowi", "kolec", "kolcem",
                   "kolcu" }), ({ "kolce", "kolcow", "kolcom",
                   "kolce", "kolcami", "kolcach" }), PL_MESKI_NOS_NZYW);
    dodaj_przym("zakrzywiony","zakrzywieni");
    dodaj_przym("czarny","czarni");
    
    set_long("Dlugi kolec wyciety z ciala nagi. Moze byc uzywany w walce jako dobrej jakosci sztylet.");
    
    set_likely_dull(0);
    add_prop(OBJ_M_NO_BUY, 1);
    
    add_prop(OBJ_I_IS_MAGIC_WEAPON, 1);
    
    add_prop(OBJ_I_LIGHT, 10);
    
    add_prop(MAGIC_AM_MAGIC, ({ 70, "enchantment"}));
    set_hit(47);
    set_pen(44);
    set_wt(W_KNIFE);
    set_dt(W_IMPALE);
    set_hands(W_ANYH);
    add_prop(OBJ_I_WEIGHT, 1500);
    add_prop(OBJ_I_VOLUME, 2000);
    add_prop(OBJ_I_VALUE, 850);
    jest_trucizna = 20;
}
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;
    if (!(phurt>0)) return 0;
    if(jest_trucizna && !random(3))
    {
        setuid();
        seteuid(getuid());
        trucizna = clone_object("/d/Imperium/Altdorf/bronie/trucizna.c");
        if (trucizna)
        {
            trucizna->move(enemy);
            trucizna->set_time(500);
            trucizna->set_interval(10);
            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;
}
mixed
wield(object what)
{
   set_alarm(0.1,0.0,"add_wielder");
   write("Gdy zaciskasz reke na kolcu w glowie czujesz syczacy glos: Pomscij
moja pania !!!\n");
   say("Gdy "+ QCIMIE(this_player(),PL_MIA) +" zaciska reke dostrzegasz
splywajaca po nim krew.\n");
   return 1;
}
void
add_wielder()
{
    wielder = environment(this_object());
}
object
query_wielder()
{
    return wielder;
}    
mixed
unwield(object what)
{
   set_this_player(wielder);
   if(environment(this_object())!=wielder) 
   return 1;
   write("Glos w twej glowie krzyczy: Jeszcze nie dopelnilismy zemsty !!!\n");
   say("Gdy "+ (QCIMIE(this_player(),PL_MIA)+" puszcza kolec jest wyraznie spokojniejszy.\n"));     
   return 1;
}
