#include <pl.h>
#include <wa_types.h>
#include <stdproperties.h>
#include <macros.h>
#include <ss_types.h>
#include </d/Imperium/std/reload.h>

#define TP this_player()
#define TO this_object()



int uderz( string str );
int czeka=0;

#define REL query_reload(TP->query_stat(4))



 
int
czekaj()
{
czeka=0;
TP->catch_msg("Wracaja ci sily.\n");
}


int
uderz( string str )
{
mixed result;
mixed hp,hp_po;
int rana=0;
object bron;
object *kogo = parse_this(str,"%l:"+PL_BIE);

bron = TP->query_weapon(W_BOTH);
    if (bron==0)
	{
	bron=TP->query_weapon(W_RIGHT);
	if ( bron==0 )
	    {
	    bron=TP->query_weapon(W_LEFT);
	    }
	}

    if (!str)
	{
	if ( TP->query_attack() )
	    kogo = ({TP->query_attack()});
	}

    if (!sizeof(kogo))
	{
	write("Uderz kogo?\n");
	return 1;
	}

    if ( bron == 0 )
	{
	write("Dobadz maczugi!\n");
	return 1;
	}

	if ( bron->query_wt() != 4 )
		{
		write("To ne jest macuga!\n");
		return 1;
		}

    if ( czeka==1 )
	{
	write("Odsapnij chwile!\n");
	return 1;
	}
	
rana = (TP->query_stat(0)*4+bron->query_pen()*4)*2;
result = kogo[0]->hit_me(rana,W_BLUDGEON,50,TP,-1);
	
      if ( result[0] < 0 )
          {
	  TP->catch_msg("Probujesz uderzyc "+QIMIE(kogo[0],PL_BIE)+", "+
	      "lecz nie trafiasz.\n"); 
	  tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" probuje "+
	      "uderzyc "+QIMIE(kogo[0],PL_BIE)+" "+bron->short(PL_NAR)+", "+
	      "lecz pudluje.\n",({TP,kogo[0]}));
	  kogo[0]->catch_msg(""+QCIMIE(TP,PL_MIA)+" wykonuje potezny "+
	      "zamach "+bron->short(PL_NAR)+", lecz pudluje.\n");
	return 1;  
	  }


TP->set_fatigue(TP->query_fatigue()+40);
switch(result[0])
{

	case 1..25:
	    TP->catch_msg("Bierzesz szeroki zamach "+bron->short(PL_NAR)+" "+
		"lekko ogluszajac "+QIMIE(kogo[0],PL_BIE)+".\n");

	    tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" bierze "+
		"szeroki zamach "+bron->short(PL_NAR)+" lekko "+
		"ogluszajac "+QIMIE(kogo[0],PL_BIE)+".\n",({TP,kogo[0]}));

	    kogo[0]->catch_msg(""+QCIMIE(TP,PL_MIA)+" bierze "+
		"szeroki zamach "+bron->short(PL_NAR)+" i trafia "+
		"cie w leb! Przez moment slyszales bicie dzwonow, ale po chwili "+
		"doszedles do siebie.\n");
			
	break;
	
	case 26..50:
	    TP->catch_msg("W momencie kiedy "+QIMIE(kogo[0],PL_MIA)+" "+
		"bral zamach, ty zdazyles uderzyc z calej sily "+bron->short(PL_NAR)+" i "+
		"trafic "+kogo[0]->koncowka("go","ja","je")+" prosto w podbrzusze "+
		"zginajac swojego przeciwnika w bolu!\n");
		
	   tell_room(environment(TP),"W momencie kiedy "+QIMIE(kogo[0],PL_MIA)+" "+
		"probowal zadac cios "+QIMIE(TP,PL_MIA)+" zdazyl zebrac cale swe sily "+
		"i z potwornym impetem uderzyc w podbrzusze przeciwnika "+bron->short(PL_NAR)+", "+
		"ktore"+bron->koncowka("go","j")+" obuch zmiazdzyl zarazem kilka "+
		"kosci.\n",({TP,kogo[0]}));

	   kogo[0]->catch_msg("Probujesz trafic "+QCIMIE(TP,PL_BIE)+", "+
	       "lecz ten nagle ku twojemu zdumieniu uderza cie z potwornym impetem "+
		"w podbrzusze! Czujesz jak obuch "+bron->short(PL_DOP)+" miazdzy ci kilka "+
		"kosci, a wnetrznosci ugniataja sie pod sila tego uderzenia.\n"+
		"Spluwasz krwia.\n");
	       	
	break;
	     
	case 51..75:
	    TP->catch_msg("Napinasz swe potezne muskuly, wznosisz swa "+bron->short(PL_BIE)+", "+
		"po czym z calej sily uderzasz w "+QIMIE(kogo[0],PL_BIE)+" prosto w "+
		"zebra, ktore potwornie miazdzysz i lamiesz!");

	    tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" napina swe potezne "+
		"muskuly, wznosi "+bron->short(PL_BIE)+", po czym z calej sily "+
		"uderza "+QIMIE(kogo[0],PL_BIE)+" prosto w zebra, ktore "+
		"pekaja pod naporem tak ogromnej sily!\n",({TP,kogo[0]}));

	    kogo[0]->catch_msg(""+QCIMIE(TP,PL_MIA)+" napina swe potezne muskuly, wznosi "+
			""+bron->short(PL_BIE)+", po czym z calej sily uderza trafiajac "+
			"cie z zebra! Czujesz jak potezny impet uderzenia miazdzy twe "+
			"kosci, a mgla zaslania ci oczy... Po chwili jednak znowu widzisz.\n");
		
	break;

	default:
	    TP->catch_msg("Bez zadnego trudu trafiasz "+QIMIE(kogo[0],PL_BIE)+" w glowe, "+
		"a impet uderzenia jest tak mocny, ze ta eksploduje krwia i mozgiem pod "+
		"naporem twojej olbrzymiej sily!\n");
	   tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" bez zadnego trudu "+
	       "trafia "+QIMIE(kogo[0],PL_BIE)+" "+bron->short(PL_NAR)+" w glowe, a impet uderzenia "+
		"jest tak mocny, ze ta eksploduje krwia niczym wulkan! Cialo pada "+
		"martwe na ziemie.\n",({TP,kogo[0]}));
	   kogo[0]->catch_msg(""+QCIMIE(TP,PL_MIA)+" bez zadnego trudu trafia cie w glowe "+
		""+bron->short(PL_NAR)+"... Ostatnie co czules to miazdzacy ci czaszke obuch.\n");
	   kogo[0]->set_hp(0);
	   break; 

    
}//switch

if (kogo[0]->query_hp() <= 0 )
kogo[0]->do_die(TP);
czeka=1;
set_alarm(REL,0.0,"czekaj");

return 1;
}

