#define PENET 2500
#define RELOAD 5.0
int tire = 0;
int ciecie = 0;
int jak_widzial = 0;

void
unblock()
{
write("Czujesz ze mozesz ponownie sprobowac zaatakowac.\n");
tire=0;
}

void
free( object kogo )
{
kogo->remove_stun();
kogo->add_prop(LIVE_I_SEE_DARK, jak_widzial);
kogo->set_stat_extra(1,0);
kogo->catch_msg("Zaczynasz widziec!\n");
}

int
oslep( string str )
{
int szansa;
object *kogo = parse_this(str, "%l:"+PL_BIE);

    if (!sizeof(kogo))
        {
            write("Kogo chcesz oslepic?\n");
            return 1;
        }

    if ( tire == 1 )
        {
            write("Musisz troche odsapnac przed kolejnym atakiem.\n");
            return 1;
        }

    //if ( environment(TP)->query_prop(ROOM_I_INSIDE) )
//      {
//          write("Nie ma tu piasku!\n");
//          return 1;
//      }


    szansa = random(100);

//    if ( szansa < 70 && !kogo[0]->query_prop(ENCHANT_MONSTER))
if ( szansa < 70)
        {
TP->catch_msg("Szybkim ruchem zagarniasz z ziemi garsc piasku i z impetem "+
    "ciskasz nia prosto w oczy swojego przeciwnika!\n");
tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" niespodziewanie "+
    "chwyta garsc piasku, po czym z impetem ciska nia prosto "+
    "w oczy "+QIMIE(kogo[0],PL_DOP)+" oslepiajac go!\n",({TP,kogo[0]}));

kogo[0]->catch_msg(""+QCIMIE(TP,PL_MIA)+" niespodziewanie "+
        "chwyta w garsc piasek i ciska nim prosto w twe oczy! "+
        "Zamykasz je natychmiast i uzywajac rak probujesz pozbyc sie "+
        "siejacych bol drobinek.\n");
        
        kogo[0]->add_stun();
	if (kogo[0]->query_prop(LIVE_I_SEE_DARK) > 0)
	jak_widzial = kogo[0]->query_prop(LIVE_I_SEE_DARK);
        kogo[0]->add_prop(LIVE_I_SEE_DARK,-100);
        
        kogo[0]->set_stat_extra(1,(kogo[0]->query_stat(1)+20)*(-1));
        set_alarm(18.0,0.0,"free",kogo[0]);
        set_alarm(40.0,0.0,"unblock");
        tire=1;
        return 1;
        } else {
TP->catch_msg("Szybkim ruchem zagarniasz z ziemi garsc piasku i z "+
    "impetem ciskasz nim w oczy swego przeciwnika, lecz ten zgrabnym "+
    "ruchem unika twego ataku!\n");
tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" niespodziewanie "+
    "chwyta garsc piasku, po czym z impetem ciska nia prosto "+
    "w "+QCIMIE(kogo[0],PL_DOP)+", lecz "+kogo[0]->koncowka("jemu","jej")+" "+
    "udaje sie uniknac tego ataku.\n",({TP,kogo[0]}));
kogo[0]->catch_msg(""+QCIMIE(TP,PL_MIA)+" ciska w ciebie piaskiem, lecz "+
    "pudluje haniebnie.\n");
        return 1;
        set_alarm(18.0,0.0,"unblock");
        }

}




void
cublok()
{
    write("Mozesz znowu uzyc ciecia.\n");
    ciecie=0;
}

int
tnij( string str )
{
mixed result;
object bron,bron2;
object *kogo;
object *przeciwnicy;
object *widownia;
int specjal;
int rana;
int i,y;
    bron=TP->query_weapon(W_RIGHT);
    bron2=TP->query_weapon(W_LEFT);
    specjal = PENET;
        if ( !bron  )
            {
            write("Potrzebujesz dwoch broni!\n");
            return 1;
            }
        if (!bron2)
            {
            write("Potrzebujesz dwoch broni!\n");
            return 1;
            }
    if ( ciecie == 1 )
        {
        write("Odsapnij!\n");
        return 1;
        }            
    if (str == "wszystko")
    {
                TP->reveal_me(1);
                przeciwnicy = FILTER_LIVE(all_inventory(environment(TP))) - ({TP});
                notify_fail("Nie ma nikogo w poblizu.\n");
                if (!sizeof(przeciwnicy)) return 0;
      write("Powoli zaczynasz sie obracac wymachujac klingami swych mieczy, a juz "+
      "po chwili wszystko dookola ciebie wiruje. W swym szalonym Tancu Smierci tniesz "+
      "wszystko i wszystkich naokolo.\n");
      for(i=0; i<sizeof(przeciwnicy); i++)
      przeciwnicy[i]->catch_msg(QIMIE(TP, PL_MIA) +
      " zamyka oczy i zaczyna krecic sie dookola raniac wszystkich swym "+
      "Tancem Smierci.\n");
                
                for(i=0; i<sizeof(przeciwnicy); i++)
                {
                        TP->add_fatigue(-10);
                        if(przeciwnicy[i]->query_prop("ranger"))
                        {
      TP->catch_msg("Wraz ze zblizaniem sie do " +
      QIMIE(przeciwnicy[i], PL_DOP) + " zauwazasz iz "+
      "jest on rangerem "+
      "i szybkim ruchem wznosisz ostrza swych mieczy by odbic sie od niego i nabrac "+
      "jeszcze wiekszej sily ciosu!\n");
      przeciwnicy[i]->catch_msg(QCIMIE(TP, PL_MIA) +
      " zblizajac sie ku tobie w swym Tancu "+
      "smierci wznosi ostrza swych mieczy i odbija sie od ciebie z jeszcze wieksza "+
      "predkoscia!\n");
                                specjal = specjal * 1;
                                widownia = przeciwnicy - ({przeciwnicy[i]});
                                for(y=0; y<sizeof(widownia); y++)
      widownia[y]->catch_msg(QCIMIE(TP, PL_MIA) + " podczas swego Tanca Smierci odbija sie od "+
      QIMIE(przeciwnicy[i],PL_DOP) + "!\n");
      }
      else
      {
      	
przeciwnicy[i]->hit_me(specjal, W_SLASH, 400, TP, -1, A_BODY );
result = przeciwnicy[i]->hit_me(specjal, W_SLASH, 400, TP, -1, A_BODY );
  switch(result[0])
                                {
                                        case 0..5:
                                        {
      TP->catch_msg("Podczas kolejnego piruetu starasz sie trafic " +
      QIMIE(przeciwnicy[i], PL_DOP) +
      " jednak udaje mu sie odskoczyc w ostatniej chwili a miecze przeszywaja "+
      "jedynie powietrze.\n");
      przeciwnicy[i]->catch_msg(QCIMIE
      (TP,PL_MIA) + " leci na ciebie z ogromna predkoscia "+
      "lecz udaje ci sie uniknac ciosu i hego miecze przeszywaja "+
      "na twe szczescie powietrze.\n");
      widownia = przeciwnicy - ({przeciwnicy[i]});
      for(y=0; y<sizeof(widownia); y++)
      widownia[y]->catch_msg(QCIMIE(TP,PL_MIA) + " podczas swego Tanca Smierci stara sie trafic "+
      QIMIE(przeciwnicy[i],PL_DOP) + " lecz on w ostatniej chwili unika tego "+
      "smiertelnego ciosu.\n");
                                                break;
                                        }
                                        case 6..99:
                                        {
      TP->catch_msg("Twoj kolejny piruet potwornie rani " + QIMIE(przeciwnicy[i],PL_BIE) +
      " a na mieczach zostaja strugi krwii.\n");
      przeciwnicy[i]->catch_msg(QCIMIE (TP,PL_MIA) + " potwornie rani cie prawie niewidocznym "+
      "aczkolwiek bolesnym ciosie z Tanca Smierci.\n");
      widownia = przeciwnicy - ({przeciwnicy[i]});
      for(y=0; y<sizeof(widownia); y++)
      widownia[y]->catch_msg(QCIMIE(TP,PL_MIA) + " potwornie rani "+
      QIMIE(przeciwnicy[i], PL_BIE) + " tnac go swymi mieczami przez plecy.\n");
                                                break;
                        }
      default:
      {
      TP->catch_msg("Udaje ci sie idealnie trafic " + QIMIE(przeciwnicy[y],PL_BIE) + " w szyje "+
      "a ostrza twych mieczy zaglebiaja sie z jednej strony by po chwili przeciec powietrze "+
      "z drugiej. Bezwladne cialo "+ QIMIE(przeciwnicy[y], PL_DOP) + " opada powoli na ziemie.\n");
      przeciwnicy[i]->catch_msg(QCIMIE(TP,PL_MIA) + " znika ci z pola widzenia podczas swego "+
     "Tanca Smierci a ciemnosc ogarnia twoj wzrok. Czujesz jak twe cialo rozpada sie na dwie "+
     "czesci rozdarte mieczem twego przeciwnika. Bol po chwili ustepuje.\n");
        widownia = przeciwnicy - ({przeciwnicy[i]});
                                           for(y=0; y<sizeof(widownia);y++)
             widownia[y]->catch_msg(QCIMIE(TP,PL_MIA) + " robiac szybki obrot ucina glowe "+
             QIMIE(przeciwnicy[i], PL_CEL) + " ktora laduje nieopodal ciala.\n");
                                        przeciwnicy[i]->do_die(TP);
                                        }
                                }
                        }
            }
        set_alarm(RELOAD, 0.0,"cublok");
        ciecie = 1;
                return 1;
        }
    if (!str)
        {
        if ( TP->query_attack()) kogo = ({TP->query_attack()});
        }
    else if (str) kogo = parse_this(str,"%l:"+PL_BIE);
    if (!sizeof(kogo))
        {
            write("Tnij kogo?\n");
            return 1;
        }
//kogo[0]->hit_me(TP->query_skill(0)*2+TP->query_stat(3)+TP->query_stat(1)-kogo[0]->query_stat(1);W_SLASH, 90, TP, -1, A_BODY );
rana = TP->query_skill(0)*2+TP->query_stat(3)+TP->query_stat(1)-kogo[0]->query_stat(1);
result=kogo[0]->hit_me(rana,W_SLASH,40,TP,-1,A_BODY);
    set_alarm(RELOAD, 0.0, "cublok");
    TP->reveal_me(1);
    if ( result[0] < 0 )
        {
TP->catch_msg("Uzywajac swojej niezwyklej szybkosci probujesz "+
    "obejsc "+QIMIE(kogo[0],PL_BIE)+", niestety jednak "+
    "udaje sie "+kogo[0]->koncowka("mu","jej")+" zareagowac "+
    "i uniknac twoich ostrzy!\n");
tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" niezwykle szybko "+
    "rzuca sie na "+QIMIE(kogo[0],PL_BIE)+" probujac wprawnym ruchem "+
    ""+kogo[0]->koncowka("go","ja")+" zranic, lecz nie trafia.\n",({TP,kogo[0]}));
kogo[0]->catch_msg(""+QCIMIE(TP,PL_MIA)+" niezwykle zgrabnym i zwinnym ruchem "+
        "probuje zajsc cie i uderzyc w plecy, lecz dzieki czujnemu oku "+
        "reagujesz w pore i parujesz cios!\n");
        ciecie=1;
        return 1;
        }
    if ( kogo[0]->query_hp() > 0 )
        {
TP->catch_msg("Wykorzystujac chwile nieuwagi swojego przeciwnika "+
        "wirujesz w powietrzu niczym huragan i zaskakujesz "+
        ""+QIMIE(kogo[0],PL_BIE)+" od tylu, by po chwili "+
        "poteznym cieciem dwuch ostrzy zranic "+
        ""+kogo[0]->koncowka("go","ja")+" mocno!\n");
tell_room(environment(TP),""+QCIMIE(kogo[0],PL_MIA)+" zgina sie z bolu "+
        "plujac krwia.\n");
tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" wykorzystujac chwile "+
    "nieuwagi swojego przeciwnika wiruje w powietrzu niczym huragan i "+
    "zaskakuje "+QIMIE(kogo[0],PL_BIE)+", by po chwili poteznym "+
    "cieciem swych dwuch ostrzy otworzyc dwie krwawe rany "+
    "na "+kogo[0]->koncowka("jego","jej")+" ciele!\n",({TP,kogo[0]}));
kogo[0]->catch_msg("Nagle! Niczym wirujacy huragan "+QIMIE(TP,PL_MIA)+" "+
        "staje za twymi plecami, po czym wrzyna w ciebie swoje "+
        "dwa ostrza, ktore zasiewaja w twym ciele "+
        "potworne uczucie bolu!\n");
ciecie=1;
return 1;
        }
TP->catch_msg("Zgrabnym, szybkim piruetem zaskakujesz za plecy "+
    ""+QIMIE(kogo[0],PL_DOP)+", po czym ze srogim wyrazem twarzy "+
    "krzyzujesz ostrza na "+kogo[0]->koncowka("jego","jej")+" "+
    "szyji! Nagle krew wytryskuje z rozdartych tetnic, a glowa "+
    "z gluchym odglosem upada tuz obok konajacego w posmiertnych konwulsjach "+
    "ciala.\n");
tell_room(environment(TP), "Widzisz jak "+QIMIE(TP,PL_MIA)+" "+
    "zgrabnym, szybkim piruetem zaskakuje za plecy "+
    ""+QIMIE(kogo[0],PL_DOP)+", po czym ze srogim wyrazem twarzy "+
    "krzyzuje ostrza na "+kogo[0]->koncowka("jego","jej")+" "+
    "szyji! Nagle krew wytryskuje z rozdartych tetnic, a glowa "+
    "z gluchym odglosem upada tuz obok konajacego w posmiertnych "+
    "konwulsjach ciala.\n",({TP,kogo[0]}));
kogo[0]->catch_msg("Nagle "+QIMIE(TP,PL_MIA)+" staje ci za plecami... "+
    "Czujesz jak czas sie spowalnia, widzisz jak zycie przebiega ci "+
    "przed oczami, az nagle nie czujesz juz nic... nic... nic!\n");
kogo[0]->do_die(TP);
ciecie=1;
    return 1;
}
