inherit "/d/Imperium/std/weapon";

#include <wa_types.h>
#include <macros.h>
#include <stdproperties.h>

#define TP              this_player()
#define TO              this_object()

void
create_weapon()
{
   ustaw_nazwe( ({ "sztylet", "sztyletu", "sztyletowi", "sztylet", "sztyletem",
                   "sztylecie" }), ({ "sztylety", "sztyletow", "sztyletom",
                   "sztylety", "sztyletami", "sztyletach" }), PL_MESKI_NOS_NZYW);

     
    dodaj_przym("matowy","matowi");
    
    
 
   set_long("Jest to dlugi sztylet wykonany z jakiegos matowego typu metalu. "+
            "Gdy na moment zapominasz sie i wpatrujesz sie w glab klingi dostrzegasz "+
            "jakby refleksy niebia i... piekla...\n");

            set_hit(55);
            set_pen(55);
            
              likely_dull = 0;
              likely_corr = 0;
            
            set_wt(W_KNIFE);
            set_dt(W_IMPALE);
            set_hands(W_ANYH);             
            add_prop(OBJ_I_WEIGHT, 800);
            add_prop(OBJ_I_VOLUME, 500);
            add_prop(OBJ_I_VALUE, 601);
            add_prop(MAGIC_AM_MAGIC, ({33, "enchantment"}));
            add_prop(OBJ_I_IS_MAGIC_WEAPON, 1);  
            set_wf(this_object());                                 

}

  
 mixed
wield(object ob)
{
    
    if(TP->query_alignment() > 500)
    {

        setuid();
        seteuid(getuid());

         ob->remove_adj("matowy");          
         ob->dodaj_przym("bialy","biali");
         ob->dodaj_przym("swiety","swieci");
        
         ob->set_long("Dzieki czyjemus czystemu sercu ten sztylet stal sie "+
                "niesamowicie bialy, polyskujacy boskim swiatlem. "+
                "dy mu sie tak przypatrujesz powoli pojmujesz sile dobra "+
                "zakleta w nim.\n");
         
         TP->update_weapon(ob); 

            write("Dobywasz bialego swietego sztyletu a przez twe cialo "+
                  "przeplywa fala boskiej woli.\n");
            say("Nagle przez cialo "+QCIMIE(TP,PL_DOP)+" przeplywa boska furia.\n");
           ob->add_prop("zmieniony",1);
        
        }
    if(TP->query_alignment() < -500)
   
    {

       
           ob->remove_adj("matowy");  
           ob->dodaj_przym("czarny","czarni");
           ob->dodaj_przym("przeklety","przekleci");
              
             ob->set_long("Ta bron wcholnela czesc wykletej duszy jakiegos "+
                "nsmiertelnika zamianajac sie w narzedzie smierci. Czarne ostrze "+
                "pochlania swiatlo a z calosci da sie slyszec odglosy potepionych "+
                "dusz.\n");
                
            TP->update_weapon(TO);
                
           write("Dobywajac czarnego przekletego sztyletu doznajesz szoku a jednoczesnie "+
                "w twym ciele wybucha nieopisana zadza smierci!\n");
            say("Nagle z oczu "+QCIMIE(TP,PL_DOP)+" wybucha agresja i zadza krwi!\n");
           ob->add_prop("zmieniony",1);
        }
    TP->add_prop(LIVE_I_QUICKNESS, TP->query_prop(LIVE_I_QUICKNESS) + 50);
    
    ob->odmien_short();
    ob->odmien_plural_short();
        return 0;
}

mixed
unwield(object ob)
{

  
         if   (TO->query_prop("zmieniony"))

        {
                write("Opuszczajac swoja potezna bron czujesz wielka strate...\n");
                say("Gdy "+QCIMIE(TP,PL_MIA)+" opuszcza swa bron w jego oczach maluje sie zagubienie.\n");
                 TO->remove_prop("zmieniony",1);
        }
  
                 write("Opuszczasz matowy sztylet.\n");
                say(""+QCIMIE(TP,PL_MIA)+" opuszcza matowy sztylet.\n");
  
    
    TP->add_prop(LIVE_I_QUICKNESS, TP->query_prop(LIVE_I_QUICKNESS) - 50);


    TO->remove_adj("bialy","biali");
    TO->remove_adj("czarny","czarni");
    TO->remove_adj("swiety","swieci");
    TO->remove_adj("przeklety","przekleci");
    TO->dodaj_przym("matowy","matowi");
    

    TO->set_long("Jest to dlugi sztylet wykonany z jakiegos matowego typu metalu. "+
            "Gdy na moment zapominasz sie i wpatrujesz sie w glab klingi dostrzegasz "+
            "jakby refleksy niebia i... piekla...\n");

    TO->odmien_short();
    TO->odmien_plural_short();
        return 1;
}



public int
did_hit( int aid, string hdesc, int phurt, object enemy, int dt, int phit, int dam, int tohit, mixed def_ob, object armour)
{
	int pen;
	int r = random(80);
	

        if ( r < 20 )
	
	{
		
	pen = ((TP->query_stat(3) + (TP->query_stat(5))) /20);
        
        if(TP->query_alignment() > 500 && enemy->query_alignment() < 0)
	
	{
	         enemy->hit_me(pen, W_SLASH, 50, TP);
	
               TP->catch_msg("Czujesz boski gniew przechadzacy przez twe cialo ku rekojesci sztyletu, by "+
			"uderzyc bialym swiatlem prosto w "+QIMIE(enemy,PL_DOP)+" "+
			"raniac go dotkliwie.\n");
			
		 enemy->catch_msg(""+QCIMIE(TP,PL_MIA)+" zamyka swe oczy po chwili widzisz "+
		        "blysk bialej jasnosci "+
		        "przenikajacy przez "+TP->koncowka("jego","jej")+" cialo, "+
			"po chwili kumuluje sie w sztylecie i uderza w ciebie!\n");
			
		tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" zamyka oczy poczym nagly blysk "+
		"przenika przez "+TP->koncowka("jego","jej")+" cialo i uderza w "+QIMIE(enemy,PL_DOP)+" boska moca!\n",({TP,enemy}));
	
	}
	
	if(TP->query_alignment() < -500 && enemy->query_alignment() > 0)
	
	{
		enemy->hit_me(pen, W_SLASH, 50, TP);
		
		TP->catch_msg("Nagle czujesz przekleta moc popychajaca cie w kierunku "+QIMIE(enemy,PL_DOP)+" by "+
		"po chwili dostrzec czarna wstege wydobywajaca sie z sztyletu "+
		"i trafaiajaca twego przeciwnka prosto w piers!\n");
		
		enemy->catch_msg(""+QCIMIE(TP,PL_DOP)+"oczy otwieraja sie szeroko a w nich "+
		"widzisz juz tylko smierc. Czarna wstega tej przekletej mocy "+
			"uderza cie w piers!\n");
			
		tell_room(environment(TP),""+QCIMIE(TP,PL_DOP)+"oczy otwieraja sie szeroko a w nich "+
		       "widzisz juz tylko smierc. Czarna wstega tej przekletej mocy "+
			"uderza w piers "+QIMIE(enemy,PL_DOP)+"!\n",({TP,enemy}));
			
	}
 
 	::did_hit(aid,hdesc,phurt,enemy,dt,phit,dam,tohit,def_ob,armour);
        }
	


}

