/* 
 * Kompania Krogulca
 *
 * Copyright(C):    Khazzar (jedrekz@pascom.pl)
 * Data:            26.08.2003
 * 
 */

#include "def.h"
#include "../balans.h"

#define MAX_PEN 2000

int czy_mozna_atak = 0;

void
reatak()
{
    czy_mozna_atak = 0;
    write("Mozesz ponownie zaatakowac.\n");
}

int
bij(string str)
{
    object bron;
    mixed *result;
    object *kogo;
    float PEN;
    PEN = (itof(TP->query_skill(0))/100.0);
    PEN = itof(MAX_PEN) * PEN;
    if(czy_mozna_atak == 1)
    {
        write("Musisz odpoczac po swoim poprzednim ataku.\n");
        return 1;
    }
    notify_fail("Musisz miec dobyta bron by zaatakowac.\n");
    bron = TP->query_weapon(W_BOTH);
    if (!bron) return 0;
    if (!str)
    {
      if ( TP->query_attack()) kogo = ({TP->query_attack()});
    }
    else if(str) kogo = parse_this(str,"%l:"+PL_BIE);
    notify_fail("Kogo chcesz zaatakowac?\n");
    if(!sizeof(kogo)) return 0;
    result = kogo[0]->hit_me(ftoi(PEN), W_SLASH,160000, TP, -1);

    if ( TP->query_stat(7)>200 ) set_alarm(10.0, 0.0, "reatak");
    else set_alarm(15.0, 0.0, "reatak");
    czy_mozna_atak=1;
    TP->reveal_me(1);
    switch(result[0])
    {
        case -1:
        {
            TP->catch_msg("Bierzesz szeroki zamach " + bron->query_short(PL_MIE)
                          + " mierzac w " + QIMIE(kogo[0], PL_BIE) + " lecz " +
                          kogo[0]->koncowka("on", "ona") + " z gracja unika " +
                          "twojego ciosu.\n");
            kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " bierze szeroki zamach " +                           bron->query_short(PL_MIE) +
                          "lecz ty z gracja unikasz zbyt wolno zadanego " +
                          "ciosu.\n");
            tell_room(environment(TP),QCIMIE(TP, PL_MIA) + " bierze szeroki " +
                          "zamach " + bron->query_short(PL_MIE) + " mierzac " +
                          "w " + QIMIE(kogo[0], PL_BIE) + " lecz " + 
                          kogo[0]->koncowka("on", "ona") + " z gracja unika " +
                          "tego ciosu.\n",({TP,kogo[0]}));
            break;
        }
        case 0:
        {
            TP->catch_msg("Uderzasz lekko " + QIMIE(kogo[0], PL_BIE) + " " +
                          bron->query_short(PL_MIE) + " lecz nie czynisz " +
                          kogo[0]->koncowka("jemu", "jej") + " zadnej szkody.\n");
            kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " uderza cie lekko " + 
                          bron->query_short(PL_MIE) + " lecz cios nie czyni " +
                          "ci zadnej szkody.\n");
            tell_room(environment(TP),QCIMIE(TP, PL_MIA) + " uderza lekko " + 
                          bron->koncowka("swoim", "swoja") + " " +
                          bron->query_short(PL_MIE) + " w " + 
                          QIMIE(kogo[0], PL_BIE) + " lecz cios ten nie nie " +
                          "czyni " + kogo[0]->koncowka("mu","jej") + 
                          " zadnej szkody.\n",({TP,kogo[0]}));
            break;
        }
        case 1..20:
        {
            TP->catch_msg("Uderzasz " + QIMIE(kogo[0], PL_BIE) + " " + 
                          bron->koncowka("swoim", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " zostawiajac " + 
                          kogo[0]->koncowka("mu", "jej") + " mala rane na " +
                          "ciele.\n");
            kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " uderza cie " + 
                          bron->koncowka("swym", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " zostawiajac ci mala " +
                          "rane na ciele.\n");
            tell_room(environment(TP),QCIMIE(TP, PL_MIA) + " uderza " + 
                          QIMIE(kogo[0], PL_BIE) + " " +
                          bron->koncowka("swoim", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " zostawiajac " + 
                          kogo[0]->koncowka("mu","jej") + " mala rane na " +
                          "ciele.\n",({TP,kogo[0]}));
            break;
        }
        case 21..50:
        {
            TP->catch_msg("Uderzasz " + QIMIE(kogo[0], PL_BIE) + " " + 
                          bron->koncowka("swoim", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " zostawiajac " + 
                          kogo[0]->koncowka("mu", "jej") + " spora rane na " +
                          "ciele.\n");
            kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " uderza cie " + 
                          bron->koncowka("swym", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " zostawiajac ci spora " +
                          "rane na ciele.\n");
            tell_room(environment(TP),QCIMIE(TP, PL_MIA) + " uderza " + 
                          QIMIE(kogo[0], PL_BIE) + " " + 
                          bron->koncowka("swoim", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " zostawiajac " + 
                          kogo[0]->koncowka("mu","jej") + " spora rane na " +
                          "ciele.\n",({TP,kogo[0]}));
            break;
        }
        case 51..80:
        {
            TP->catch_msg("Uderzasz " + QIMIE(kogo[0], PL_BIE) + " " + 
                          bron->koncowka("swoim", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " bardzo ciezko " + 
                          kogo[0]->koncowka("go", "ja") + " raniac.\n");
            kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " uderza cie " + 
                          bron->koncowka("swym", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " bardzo ciezko cie " +
                          "raniac.\n");
            tell_room(environment(TP),QCIMIE(TP, PL_MIA) + " uderza " + 
                          QIMIE(kogo[0], PL_BIE) + " " + 
                          bron->koncowka("swoim", "swoja") + " " + 
                          bron->query_short(PL_MIE) +  " bardzo ciezko " + 
                          kogo[0]->koncowka("go","ja") + " raniac.\n",
                          ({TP,kogo[0]}));
            break;
        }
        case 81..99:
        {
            TP->catch_msg("Uderzasz " + QIMIE(kogo[0], PL_BIE) + " " + 
                          bron->koncowka("swoim", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " niemalze masakrujac " + 
                          kogo[0]->koncowka("jego", "jej") + " cialo!\n");
             kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " uderza cie " + 
                          bron->koncowka("swym", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " niemalze masakrujac " +
                          "twe cialo! Krew obficie plynaca z rany zalewa ci " +
                          "twarz. Czujesz jak nogi uginaja sie pod toba." +
                          "Widok zasnowa ci ciemnosc.\nPo chwili udaje ci sie " +
                          "otrzasnac, lecz zdajesz sobie sprawe, ze " +
                          kogo[0]->koncowka("byles","bylas") + " o krok od " +
                          "smierci.\n");
            tell_room(environment(TP),QCIMIE(TP, PL_MIA) + " uderza " + 
                          QIMIE(kogo[0], PL_BIE) + " " + 
                          bron->koncowka("swoim", "swoja") + " " + 
                          bron->query_short(PL_MIE) +  " niemalze masakrujac " +                           kogo[0]->koncowka("jego","jej") +
                          kogo[0]->koncowka("jego","jej") + " cialo!\n",
                          ({TP,kogo[0]}));
            break;
        }
        default:
        {
            TP->catch_msg("Unosisz " + bron->query_short(PL_BIE) + " wysoko " +
                          "ponad glowe by chwile pozniej z zabojcza " +
                          "szybkoscia uderzyc na " + QIMIE(kogo[0], PL_BIE) + 
                          ". Dzwiek lamanych kosci towarzyszy twej broni gdy " +
                          "ta zaglebia sie w ciele przeciwnika a fontanna " +
                          "krwi stara sie dogonic uciekajace zycie " +
                          QIMIE(kogo[0], PL_DOP) + ". Iskra w twych oczach " +
                          "rozblyska gdy cialo twego przeciwnika opada " +
                          "bezwladnie na ziemie, a na " +
                          bron->koncowka("twym", "twej") + 
                          bron->query_short(PL_MIE) + " zostaja strugi " +
                          "krwii.\n");
            kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " wyprowadza w ciebie " +
                          "potezny cios " + bron->koncowka("swoim", "swoja") +
                          " " + bron->query_short(PL_MIE) + ". Czujesz " +
                          "potworny bol gdy bron ta rozrywa twe cialo a " +
                          "nitka zycia trzymajaca cie przy tym swiecie zdaje " +
                          "sie pekac. Krew zaslania ci oczy a bol po chwili " +
                          "ustaje... Umarl" + kogo[0]->koncowka("es","as") + 
                          ".\n");
            tell_room(environment(TP),QCIMIE(TP,PL_MIA) + " bierze ogromny " +
                          "zamach " + bron->koncowka("swoim", "swoja") + " " + 
                          bron->query_short(PL_MIE) + " i masakruje " + 
                          QIMIE(kogo[0],PL_BIE) + " rozcinajac jego cialo " +
                          "niemalze na dwie polowy. Krew tryska na " +
                          "wszystkich wokol a na twarzy " + QIMIE(TP, PL_DOP) +
                          " pojawia sie bestialski usmiech.\n",({TP,kogo[0]}));
            kogo[0]->do_die(TP);
        }
    }
    return 1;
}
