/*
 * Plik  : dzgniecie.h
 * Autor : Torg
 * Opis  : Specjalny atak bronia drzewcowa Wyznawcow Solkana
 * Data  : 21 sierpnia 2002
 *
 * Copyright (C)
 *
 */

#include "/d/Imperium/std/reload.h"
#include "defs.h"

#define REL TP->query_stat(SS_WIS)
#define MAX_PEN 950
int czy_mozna_atak = 1;

void
reatak()
{
    czy_mozna_atak = 1;
    write("Bron w twych rekach drzy, a ty czujesz ze mozesz ponownie "
        + "zaatakowac.\n");
}

int
dzgniecie(string str)
{
    object bron;
    object drzewiec;
    mixed *result;
    object *kogo;

    bron = TP->query_weapon();
    drzewiec = TP->(query_weapon()->query_wt(W_POLEARM));

    float PEN;

    PEN = (itof(TP->query_skill(0) + TP->Q0)/200.0);
    PEN = itof(MAX_PEN) * PEN;

    notify_fail("Nie potrafisz dostrzec dogonej sytuacji\n");
    if(czy_mozna_atak)
    return 0;

    notify_fail("Musisz miec dobyta bron by zaatakowac.\n");
    if (!bron)
    return 0;

    notify_fail("Nie mozesz dgnac wroga ta bronia.\n");
    if(!drzewiec);
    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 dzgnac?\n");
    if(!sizeof(kogo))
    return 0;

    result = kogo[0]->hit_me(ftoi(PEN), W_SLASH, 40, TP, -1);

    set_alarm(query_reload(REL), 0.0, "reatak");
    czy_mozna_atak=0;

    TP->reveal_me(1);
    switch(result[0])
    {
        case -1:
        {
            TP->catch_msg("Zbyt wolno obracasz "
                + drzewiec->query_short() + " w swych rekach i gdy "
                + "wyprowadzasz dzgniecie w " + QIMIE(kogo[0], PL_BIE)
                + kogo[0]->koncowka(" on ", " ona ")
                + "bez problemu unika ciosu..\n");
            kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " zbyt wolno "
                + "obraca " + drzewiec->query_short(PL_BIE)
                + ", a gdy po chwili wyprowadza dzgniecie "
                + "bez problemu unikasz tego ciosu.\n");
            tell_room(E(TP),QCIMIE(TP, PL_MIA) + " powolnie obraca "
                + drzewiec->query_short(PL_BIE) +
                + " w rekach i wyprowadza dzgniecie mierzac w "
                + QIMIE(kogo[0], PL_BIE) + " jednakze "
                + kogo[0]->koncowka("on", "ona")
                + " plynnie unika ciosu.\n",({TP,kogo[0]}));
            break;
        }

        case 0:
        {
            TP->catch_msg("Niezgrabnie obracasz w rekach bron, po czym "
                + "wolnym ruchem uderzasz nia " + QIMIE(kogo[0], PL_BIE)
                + " nie czyniac " + kogo[0]->koncowka("mu", "jej")
                + " zadnej krzywdy.\n");
            kogo[0]->catch_msg("Widzisz jak " + QIMIE(TP,PL_MIA) + " "
                + "wolno obraca w rekach " + drzewiec->query_short(PL_BIE)
                + " po czym zadaje ci " + drzewiec->koncowka("nim", "nia")
                + " cios trafiajacy dokladnie w korpus, a po ktorym nie "
                + "pozostanie ci nawet siniak.\n");
            tell_room(E(TP),QCIMIE(TP, PL_MIA) + " niezgrabnie obraca "
                + "w rekach " + drzewiec->query_short(PL_BIE) + " "
                + "po czym wolno uderza " + QIMIE(kogo[0], PL_BIE) + " "
                + "w korpus nie czyniac " + kogo[0]->koncowka("mu", "jej")
                + " zadnej krzywdy.\n",({TP,kogo[0]}));
            kogo[0]->command("parsknij kpiaco");
            break;
        }

        case 1..20:
        {
            TP->catch_msg("Z trudem okrecasz "
                + drzewiec->query_short(PL_BIE) + " w dloniach by zaraz "
                + "potem wyprowadzic cios dosiegajacy "
                + QIMIE(kogo[0],PL_BIE) + " zadajac nieznaczne obrazenia.\n");
            kogo[0]->catch_msg(QCIMIE(TP,PL_MIA) + " z trudem okreca "
                + drzewiec->query_short(PL_BIE) + " w dloniach, a ty pewn"
                + kogo[0]->koncowka("y", "a") + " siebie lekcewazysz wolne "
                + "dzgniecie, ktorego efekt czujesz zaraz potem na swoim "
                + "ciele. Rana nie jest duza, lecz czujesz ja wyraznie.\n");
            tell_room(E(TP), QCIMIE(TP,PL_MIA) + " z trudem okreca "
                + drzewiec->query_short(PL_BIE) + " w dloniach, aby po "
                + "niedokladnym przymierzeniu wyprowadzic wolne dzgniecie "
                + "w " + QIMIE(kogo[0],PL_BIE) + " tworzac na je"
                + kogo[0]->koncowka("go", "j") + " ciele nieznaczny "
                + "slad po trafieniu.\n",({TP,kogo[0]}));
            break;
        }

        case 11..20:
        {
        }

        case 21..30:
        {
        }

        case 31..40:
        {
        }

        case 41..50:
        {
        }

        case 51..60:
        {
        }

        case 61..70:
        {
        }

        case 71..80:
        {
        }

        case 81..90:
        {
        }

        case 91..99:
        {
        }

        default:
        {
            TP->catch_msg("W mgnieniu oka obracasz "
                + drzewiec->query_short(PL_BIE)
                + " ostrzem do siebie, po czym parujesz cios "
                + QIMIE(kogo[0], PL_BIE) + " tepa strona broni. "
                + "W jednej chwili obracasz sie wokol wlasnej osi "
                + "by poteznym uderzeniem drzewca sciac "
                + QIMIE(kogo{0}, PL_BIE) + " z nog. Slyszysz chrzest "
                + "lamanych kosci, po czym na sztorc, z ogromna predkoscia "
                + "opuszczasz bron na lezac" + kogo[0]->koncowka("ego", "a")
                + " u twych stop " QIMIE(kogo[0], PL_BIE)
                + " wbijajac ostrze dokladnie w twarz wroga. "
                + QCIMIE(kogo[0], PL_MIA) + " wypuszcza wszystko z rak "
                + "starajac sie zachowac zycie, ktore nieuchronnie "
                + "opuszcza " + kogo[0]->koncowka("jego", "jej")
                + "cialo. Wyciagasz bron z ciala, a ono powoli "
                + "zeslizguje sie z ostrza by po chwili z loskotem "
                + "upasc na ziemie.\n");
            kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " nagle paruje twoj "
                + "cios drzewcem swej broni, po czym w niesamowitym "
                + "tempie robi obrot i uderza cie nim tuz pod kolanami. "
                + "Bezwladnie padasz na ziemie, a ostatnia rzecza ktora "
                + "widzisz jest zmierzajace w kierunku twych oczu "
                + "ostrze " + drzewiec->query_short(PL_DOP) + " "
                + "ktore wbija ci sie w twarz z lekkim dla ciebie "
                + "ukluciem. Wszystko gasnie, a ty czujesz jak ulatuje "
                + "z ciebie zycie. Widzisz ciemny tunel, na ktorego "
                + "koncu pali sie nikle swiatlo. Wstajesz na nogi "
                + "i rozpoczynasz marsz ku wiecznosci.\n");
            tell_room(E(TP),"Doskonale uplasowany cios "
                + QIMIE(kogo[0], PL_BIE) + " zostaje zgrabnie sparowany "
                + "przez " QIMIE(TP, PL_DOP) + ", ktorego "
                + drzewiec->query_short(PL_BIE) + " nagle "
                + "skierowan" drzewiec->koncowka("y", "a") + " "
                + "jest ostrzem w je" TP->koncowka("go", "j") + " "
                + "strone. " + QCIMIE(TP,PL_MIA) + " w jednej chwili "
                + "obraca sie wokol wlasnej osi, i tepa strona broni "
                + "uderza " + QIMIE(kogo[0], PL_BIE) + " "
                + "od tylu w kolana. " + QCIMIE(kogo[0], PL_MIA) + " "
                + "bezwladnie pada na ziemie, a tuz po zetknieciu sie "
                + "z nia, w je" + kogo[0]->koncowka("go", "j") + " "
                + "twarzy zagaszcza ostrze " + drzewiec->query_short(PL_DOP)
                + "dzierzonej mocno przez " + QIMIE(TP,PL_BIE)
                + ", ktor" + TP->koncowka("y", "a") + " "
                + "dopiero po dluzszej chwili wyciaga je z martwego juz "
                + "ciala.\n",({TP,kogo[0]}));
            kogo[0]->do_die(TP);
            TP->command("sapnij ciezko");
        }

        /*
        {
            TP->catch_msg("Uderzasz " + QIMIE(kogo[0], PL_BIE) + " " + drzewiec->koncowka("swoim", "swoja") +
                          " " + drzewiec->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 " + drzewiec->koncowka("swym", "swoja") +
                          " " + drzewiec->query_short(PL_MIE) + " zostawiajac ci mala rane na ciele.\n");
            tell_room(E(TP),QCIMIE(TP, PL_MIA) + " uderza " + QIMIE(kogo[0], PL_BIE) + " " +
                          drzewiec->koncowka("swoim", "swoja") + " " + drzewiec->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) + " " + drzewiec->koncowka("swoim", "swoja") +
                          " " + drzewiec->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 " + drzewiec->koncowka("swym", "swoja") +
                          " " + drzewiec->query_short(PL_MIE) + " zostawiajac ci mala spora na ciele.\n");
            tell_room(E(TP),QCIMIE(TP, PL_MIA) + " uderza " + QIMIE(kogo[0], PL_BIE) + " " +
                          drzewiec->koncowka("swoim", "swoja") + " " + drzewiec->query_short(PL_MIE) +
                          " zostawiajac " + kogo[0]->koncowka("mu","jej") + " spora rane na ciele.\n",({TP,kogo[0]}));
            break;
        }
        case 51..99:
        {
            TP->catch_msg("Uderzasz " + QIMIE(kogo[0], PL_BIE) + " " + drzewiec->koncowka("swoim", "swoja") +
                          " " + drzewiec->query_short(PL_MIE) + " niemalze masakrujac " + kogo[0]->koncowka("jego", "jej") +
                          " cialo!\n");
            kogo[0]->catch_msg(QCIMIE(TP, PL_MIA) + " uderza cie " + drzewiec->koncowka("swym", "swoja") +
                          " " + drzewiec->query_short(PL_MIE) + " niemalze masakrujac cie!\n");
            tell_room(E(TP),QCIMIE(TP, PL_MIA) + " uderza " + QIMIE(kogo[0], PL_BIE) + " " +
                          drzewiec->koncowka("swoim", "swoja") + " " + drzewiec->query_short(PL_MIE) +
                          " niemalze masakrujac " + kogo[0]->koncowka("jego","jej") + " cielo!\n",({TP,kogo[0]}));
            break;
        }
        */
    }
    return 1;
}

