#include <ss_types.h>
#include <wa_types.h>
#include <macros.h>
#include <stdproperties.h>
#include <special.h>
/*
opisy:
pudlo
lekko rani 0
ani	   1
iezko rani 2
asakruje 3
abija 4
*/

int czekaj=0;

void
laduj( object ob )
{
czekaj=0;
ob->catch_msg("Mozesz ponownie zaatakowac.\n");
}

void
attack( object attacker, object enemy, object bron, string *opisy=({}), int type=0 )
{
mixed result;
int pen;
	pen=return_pen( attacker, enemy, type );
	result=enemy->hit_me(pen, bron->query_dt(), 
		attacker->query_skill(bron->query_wt()), 
		attacker, -1, A_BODY);

    if (result[0] < 0)
	{
	attacker->catch_msg(""+opisy[0]+"");
	tell_room(environment(attacker),""+opisy[1]+"",({attacker,enemy}));
	enemy->catch_msg(""+opisy[2]+"");
	return ;
	}


    if (enemy->query_hp() > 0 )
	{
	attacker->catch_msg(""+opisy[3]+"");
	tell_room(environment(attacker),""+opisy[4]+"",({attacker,enemy}));
	enemy->catch_msg(""+opisy[5]+"");
	} else {
	attacker->catch_msg(""+opisy[6]+"");
	tell_room(environment(attacker),""+opisy[7]+"",({attacker,enemy}));
	enemy->catch_msg(""+opisy[8]+"");
	enemy->do_die(attacker);
	}

}

int
odpal_speciala( object attacker, object enemy, string *opisy=({}), int typ=0,
	int *wt=({}), float time=0.0, float wait=0.0 )
{
int check=0;
int i;
object bron;

bron = attacker->query_weapon(W_RIGHT | W_LEFT | W_BOTH );

if (interactive(attacker))
if (!bron)
{
attacker->catch_msg("Wpierw dobadz broni.n");
return 0;
}
	for ( i = 0; i < sizeof(wt); i++ )
	if (bron->query_wt() == wt[i])
		check=1;

if (interactive(attacker))		
if (!check)
   {
   attacker->catch_msg("Dobywasz nieodpowiedniej broni.\n");
   return 0;
   }
	if (czekaj)
   {
   attacker->catch_msg("Musisz troche odpoczac.\n");
   return 0;
   }
if (enemy->query_prop(OBJ_M_NO_ATTACK))
   {
   attacker->catch_msg("Nie mozesz zaatakowac "+QIMIE(enemy,PL_DOP)+".\n");
   return 0;
   }
	if (enemy->query_prop(ENCHANT_MONSTER))
	   {
	   attacker->catch_msg("Nie mozesz zaatakowac "+QIMIE(enemy,PL_DOP)+"./n");
	   return 0;
	   }
	czekaj=1;
attacker->catch_msg("Przygotowujesz sie do zadania ciosu.\n");
set_alarm(time, 0.0, "attack",attacker,enemy,bron,opisy,typ);
set_alarm(wait, 0.0,"laduj",attacker);

return 1;
}
