#define REL 15.0

#include "../balans.h"


int czas = 0;
int punch=0;

void
unblok()
{
write("Twoje miesnie rozluzniaja sie po ostatnim wysilku.\n");
czas=0;
}

int
rab( string str )
{
int rana = 0;
int hit  = 0;
mixed result;
object wrog;
object bron;

    if (!str)
    {
        if (!TP->query_attack())
        {
        write("Nie walczysz z nikim!\n");
        return 1;
        }
    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 ( bron == 0 )
            {
                write("Hm nie masz broni.\n");
                return 1;
            }
        }
    if (bron->query_wt() != W_AXE)
        {
        write("Potrzebujesz siekiery!\n");
        return 1;
        }

    if ( czas == 1 )
        {
        write("Nie masz dosc sil.\n");
        return 1;
        }

        wrog=TP->query_attack();

        rana = query_pen(TP, TP);
        hit  = query_hit(TP, TP);
        
        result = wrog->hit_me(rana, W_SLASH, hit, TP, -1 );


        czas=1;
        if ( !TP->query_prop("szef_zabojcow") )
        set_alarm(REL,0.0,"unblok");
        else
        set_alarm(REL,0.0,"unblok");



        if ( wrog->query_hp() < 1 )
        {
        TP->catch_msg("Rozrabujesz "+QIMIE(wrog,PL_CEL)+" "+
            "korpus rozchlapujac wszedzie gesta, czerwona posoke!\n");
        tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" "+
            "rozrabuje "+QIMIE(wrog,PL_CEL)+" korpus rozchlapujac "+
        "wszedzie gesta, czerwona posoke!\n",({TP,wrog}));
        wrog->catch_msg(""+QCIMIE(TP,PL_MIA)+" mocarnym ciosem "+
            ""+bron->short(PL_DOP)+" wbija ci go w korpus... Czujesz "+
            "jak olbrzymie ostrze rozrywa cie od wewnatrz! Umierasz...\n");
            wrog->do_die(TP);
            return 1;
        }

        TP->catch_msg("Wznosisz "+bron->short(PL_BIE)+", po czym "+
        "rabiesz "+QIMIE(wrog,PL_BIE)+" pozostawiajac "+
            "na "+wrog->koncowka("jego","jej")+" ciele krwawa bruzde.\n");
tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" wznosi "+bron->short(PL_BIE)+", "+
    "po czym rabie "+QIMIE(wrog,PL_BIE)+" pozostawiajac "+
    "na "+wrog->koncowka("jego","jej")+" ciele krwawiaca bruzde.\n",({TP,wrog}));
wrog->catch_msg(""+QCIMIE(TP,PL_MIA)+" wznosi "+bron->short(PL_BIE)+", "+
    "po czym z calej sily i z ogromnym impetem trafia cie w korpus! "+
    "Czujesz jak ostrze gladko przecina twoje cialo pozostawiajac "+
    "po sobie krwawiaca bruzde.\n");

    return 1;
    }



write("Rab?\n");
return 1;

}


void
unhit()
{
write("Zaczynasz widziec luke w obronie przeciwnika...\n");
punch=0;
}


void
ustun( object ob )
{
ob->remove_stun();
}

int
walnij( string str )
{
object paral;
int szansa;
object *kogo = parse_this(str,"%l:"+PL_BIE);

    if ( !str )
    {
    if ( TP->query_attack() )
        {
        kogo += ({TP->query_attack()});
        } else {
        write("Walnij kogo?\n");
        return 1;
        }
    }
    if (!sizeof(kogo))
    {
    write("Walnij kogo?\n");
    return 1;
    }

    if ( punch==1 )
    {
    write("Odpocznij.\n");
    return 1;
    }

    szansa = random(100);
    punch=1;

    set_alarm(25.0,0.0,"unhit");

    if ( szansa > 60 )
        {
        write("Wykonujesz cios piescia z zamachu, lecz nie trafiasz "+
        "przeciwnika.\n");
        tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" "+
        "probuje uderzyc "+QIMIE(kogo[0],PL_BIE)+", lecz "+
            "nie udaje mu sie to.\n",({TP,kogo[0]}));
        kogo[0]->catch_msg(""+QCIMIE(TP,PL_MIA)+" wykonuje "+
        "cios piescia z zamachu, lecz udaje ci sie go uniknac!\n");

        return 1;
        }

    TP->catch_msg("Bierzesz potezny zamach piescia i uderzasz "+QIMIE(kogo[0],PL_BIE)+" "+
    "w splot sloneczny! Twoja ofiara zaczyna sie motac i krztusic.\n");
    tell_room(environment(TP),""+QCIMIE(TP,PL_MIA)+" bierze potezny "+
    "zamach piescia i uderza "+QIMIE(kogo[0],PL_BIE)+" "+
    "w splot sloneczny odbierajac "+kogo[0]->koncowka("mu","jej")+" "+
    "dech!\n",({TP,kogo[0]}));
    kogo[0]->catch_msg("Nagle "+QIMIE(TP,PL_MIA)+" uderza cie z calej sily "+
    "w splot sloneczny, a cios jest tak silny, ze zaczynasz sie dusic i "+
    "krztusic.\n");
    setuid();
    seteuid(getuid());

    paral=clone_object("/std/paralyze");
    paral->set_fail_message("Teraz probujesz odzyskac dech!\n");
    paral->set_stop_message("Udaje ci sie zlapac oddech! Uh. Co za ulga.\n");
    paral->set_remove_time(5);
    paral->move(kogo[0]);

    kogo[0]->add_stun();
    set_alarm(10.0,0.0,"ustun",kogo[0]);
    return 1;



write("Walnij kogo?\n");
return 1;

}


int szal = 0;

void
reszal()
{
write("Przed oczami znow widzisz obraz chwili swej hanby...\n");
szal=0;
}

void
staty()
{
write("Wracaja ci zmysly.\n");
TP->set_stat_extra(0,0);
TP->set_stat_extra(2,0);
TP->set_stat_extra(5,0);
szal=2;
set_alarm(60.0,0.0,"reszal");
}

int
szal( string str )
{


if (!str)
    {
    if ( szal==1 )
    {
    write("Jeszcze nie teraz.\n");
    return 1;
    }
    if(szal==2)
    {
        write("Jestes zbyt wyczerpany...\n");
        return 1;
    }
    write("Tracisz zmysly...\n");
    tell_room(environment(TP),"Oczy "+QIMIE(TP,PL_DOP)+" zachodza bielmem.\n",({TP}));
    TP->set_stat_extra(0,80);
    TP->set_stat_extra(2,75);
    TP->set_stat_extra(5,70);
    szal=1;
    set_alarm(60.0,0.0,"staty");
    TP->heal_hp(1000);
    return 1;
    }

    write("Szal?\n");
    return 1;
}
