inherit "/cmd/std/command_driver.c";
#include "../wieza.h"


int mozna=0;

void
trafienie(object gracz, object cel, string jak);
void
odpoczynek(object gracz); 

 
seria( string str )
{
mixed tmp;
object sztylet1,sztylet2;
object *kogo;




    sztylet1=TP->query_weapon(W_RIGHT);
    sztylet2=TP->query_weapon(W_LEFT);
        if ( !sztylet1 || (sztylet1->query_wt() != W_KNIFE))
            {
            write("Potrzebujesz dwoch sztyletow aby wykonac ten cios!\n");
            return 1;
            }
        if ( !sztylet2 || (sztylet2->query_wt() != W_KNIFE))
            {
            write("Potrzebujesz dwoch sztyletow aby wykonac ten cios!\n");
            return 1;
            }

    if (!str)
         {
        if ( TP->query_attack()) kogo = ({TP->query_attack()});
        }
    else if (str) kogo = parse_this(str,"%l:"+PL_BIE);

    if ( mozna == 1 )
            {
            write("Musisz chwile poczekac by znow zadac swoj cios\n");
            return 1;
            }
    if ( mozna == 2)
            {
            write("Przeciez juz przygotowywujesz sie do wykonania serii morderczych "+
                  "ciosow.\n");
            return 1;
            }

           if (!sizeof(kogo))
        {
            write("Kogo chcialbys zaatakowac??\n");
            return 1;
        }
    if (sizeof (kogo) > 1 )
    {
	notify_fail ("Nie uda ci sie uderzyc kilku przeciwnikow na raz. Musisz " +
		     "zdecydowac sie na jednego.\n");
	return 0;
    }
    
    if (tmp = kogo[0]->query_prop (OBJ_M_NO_ATTACK) )
    {
	if (stringp (tmp))
	    notify_fail (tmp);
	else
	    notify_fail ("Cos mowi ci, ze atakowanie " + kogo[0]->query_imie
			 (this_player(), PL_DOP) + " nie byloby wlasciwe.\n");
	return 0;
    }
	    
    if (tmp = environment(kogo[0])->query_prop(ROOM_M_NO_ATTACK) )
    {
	if (stringp (tmp))
	    notify_fail (tmp);
	else
	    notify_fail ("Cos mowi ci, ze atakowanie kogos w tym miejscu nie " +
			 "byloby wlasciwe.\n");
	return 0;
    }

    write  ("Przygotowujesz sie by zaatakowac " + kogo[0]->query_imie(this_player(),
	    PL_BIE) + " szybka seria ciec swoich sztyletow.\n");
    TP->attack_object(kogo[0]);
    
    set_alarm(0.5,0.0, "trafienie", this_player(), kogo[0]);
    mozna = 2;
	    return 1;
}





void
trafienie (object gracz, object cel, string jak)
{
    object room = environment(gracz);
    int suma = 0;
    int pen = 0;
    suma =(  ((gracz->query_stat(1)*TP->query_skill(20) + gracz->query_stat(0)*gracz->query_skill(3)) /100)
                 *(gracz->query_stat(3)/5));  // DODA SKILLA ZAPAMIETAJ
    pen = suma;
//    if(suma>1500)
//     	pen=1500;
    if(suma<701)
        pen=701;


    if (!present(cel,room))
    {
        write(cel->query_name(PL_MIA)+" uciekl ci wiec nie mozesz zadac mu seri morderczych "+
                                 "ciosow swoimi sztyletami.\n");
        mozna = 0;
        return;
    }


        switch(pen)
        {
            case 0..10:
            jak = "ledwo muskajac";
            break;
                case 11..200:
            jak = "nieznacznie raniac";
            break;
            case 201..400:
            jak = "bardzo lekko raniac";
            break;
                case 401..600:
            jak = "lekko raniac";
            break;
                case 601..1000:
            jak = "raniac";
            break;
                case 1001..1200:
            jak = "ciezko raniac";
            break;
                case 1201..1500:
            jak = "bardzo ciezko raniac";
            break;
                case 1501..1800:
            jak = "masakrujac";
            break;
            default:
            jak = "bardzo masakrujac";
            
        }
//DAMAGE

   cel->hit_me(pen, W_SLASH, 100, gracz, -1 );

//OPIS GDY ZABIL CIOSEM
   if (cel->query_hp()<1)
    {
gracz->catch_msg("Zauwazasz, ze twoj przeciwnik podczas wykonywania swoich ciosow "+
                 "popelnil blad i odslonil sie pozwalajac ci zadac smiertelny cios. "+
                 "Niewiele myslac wyprowadzasz szybka serie ciosowi trafiajac "+
                 QIMIE(cel,PL_NAR)+" swoimi sztyletami w tetnice szyjna. Widzisz jak twoj przeciwnik "+
                 "osuwa sie na ziemie, a obok ciala pojawia sie kaluza krwi.\n");
   tell_room(room,""+QCIMIE(gracz,PL_MIA)+" dostrzegajac blad w obronie swego przeciwnika, wyprowadza szybka "+
                 "serie niebezpiecznych ciosow swoimi sztyletami w kierunku "+
              QIMIE(cel,PL_BIE)+" przecinajac "+cel->koncowka("mu","jej")+" tetnice "+
                "szyjna. "+QCIMIE(cel,PL_MIA)+" ostatkiem sil trzyma sie na nogach, a po "+
              cel->koncowka("jego","jej")+" ciele zaczyna splywac krew. Po chwili "+
              QIMIE(cel,PL_MIA)+" pada bezwladnie na ziemie pozostawiajac wokol siebie kaluza "+
              "krwi.\n",({gracz,cel}));
  cel->catch_msg("Walczac z "+QIMIE(gracz,PL_NAR)+" popelniasz krytyczny blad i odlosniasz "+
                 "sie. Twoj przeciwnik szybko zareagowal na ta sytuacje i wyprowadzil "+
                 "szybka serie ciosow swoimi sztyletami skierowana w ciebie. Nagle uswiadamiasz "+
                 "sobie, ze jego cios przecial ci tetnice szyjna.\n"+
                 "Robi ci sie ciemno przed oczami, padasz na ziemie.\n");
                 
                 cel->set_hp(0);
                 cel->do_die(gracz);
                 mozna = 1;
                 set_alarm(1.0,0.0, "odpoczynek", gracz); 
             return;
    }
    
    
//OPISY GDY NIE ZABIL
gracz->catch_msg("Zauwazasz schematycznosc ruchow swojego przeciwnika i jestes w stanie "+
                 "przewidziec kazde "+cel->koncowka("jego","jej")+" nastepne posuniecie. Wykonujac szybki "+
                 "piruet, ktorego nie spodziewa sie twoj wrog wykonujesz serie bardzo szybkich pchniec "+
                 "swoimi sztyletami "+jak+" "+QIMIE(cel,PL_BIE)+" w tulow.\n");
    cel->catch_msg(QCIMIE(gracz,PL_MIA)+" przypatruje ci sie przez pewien moment, i nagle "+
                 "wykonuje piruet, ktorego ty sie nigdy bys sie nie spodziew"+cel->koncowka("al","ala")+
                 "atakuje ciebie szybka seria swoich sztyletow "+jak+" ciebie w tulow.\n");
    tell_room(room,""+QCIMIE(gracz,PL_MIA)+" przypatruje sie przez chwile "+QIMIE(cel,PL_CEL)+
                   " i nagle swoich szybkim piruetem z szyderczym usmiechem na ustach "+
                   "wykonuje szybka serie swoimi sztyletami "+jak+" "+
                   cel->koncowka("swego","swoja")+" przeciwni"+cel->koncowka("ka","czke")+
                   " w tulow.\n", ({gracz,cel}));
    
  // czas=3.0;
    mozna = 1;
    set_alarm(4.0,0.0, "odpoczynek", gracz); 

}

void
odpoczynek(object gracz)
{
    gracz->catch_msg("Jestes gotowy do zadania kolejnej serii morderczych ciosow.\n");
    mozna = 0;
}
