inherit "/d/Imperium/std/weapon";
#include "ranger.h"
#include <filter_funs.h>
#define CO_ILE 5
void oszukaj_liba();
int staty_broni();
string dlugi_opis();
int ktory_cios;
int query_cios();
void
create_weapon()
{
        int i;
        ustaw_nazwe(({"miecz elfi", "miecza elfiego", "mieczowi elfiemu",
          "miecz elfi", "mieczem elfim",
          "mieczu elfim"}), ({"miecze elfie", "mieczy elfich",
          "mieczom elfim", "miecze elfie",
          "mieczami elfimi", "mieczach elfich"}), PL_MESKI_NZYW);
        dodaj_nazwy(({"miecz", "miecza", "mieczowi", "miecz", "mieczem",
                "mieczu"}), ({"miecze", "mieczy", "mieczom", "miecze",
                "mieczami", "mieczach"}), PL_MESKI_NZYW);
        dodaj_przym("ostry", "ostrzy");
        dodaj_przym("dlugi","ostry");
        set_long("@@dlugi_opis");
        ktory_cios = 0;
        
        set_hit(staty_broni());
        set_pen(staty_broni());
        set_wt(W_SWORD);
        set_dt(W_SLASH);
        set_alarm(0.1, 0.0, "oszukaj_liba");
        set_hands(W_ANYH);
   
}
void
oszukaj_liba()
{
        add_prop(OBJ_I_WEIGHT,           2000);
        add_prop(OBJ_I_VOLUME,           1000);
  this_object()->add_prop(OBJ_I_NO_DROP, "Nie chcesz chyba by miecz przejal ktos obcy\n");
  this_object()->add_prop(OBJ_I_NO_GIVE, "Nie chcesz chyba by miecz ktos inny posiadal niz ty");
}
int
staty_broni()
{
  if (!this_player()->query_prop("ranger")) return 25;
  else
  return ((this_player()->query_stat(SS_OCCUP) / 4) + 1);
}
string
dlugi_opis()
{
  string opis;
  if (!this_player()->query_prop("ranger"))
   return ("Dziwny miecz o niezwykle ostrym ostrzu wykonany najprawdopodobniej "+
           "przez elfich kowali.\n");
  else
  {
   opis = "Jest to jeden ze slawnych mieczy Tancerzy Wojny, kuty przez najlepszego "+
          "elfiego kowala. Ostre jak brzytwa ostrze we wprawnych rekach jest w stanie "+
          "zabic niemalze kazdego przeciwnika. ";
   if (staty_broni() < 25) 
    opis += "Wydaje ci sie iz w twych rekach ta bron nie zdziala zbyt wiele. Jestes jeszcze "+
            "zbyt mlodym Tancerzem Wojny i trza ci praktyki.\n";
   if ((staty_broni() < 35) && (staty_broni() >= 25))
    opis += "Jestes w stanie zrobic dobry uzytek z tego miecza. Jednak mistrzom wciaz do "+
            "piet nie dorastasz.\n";
   if ((staty_broni() >= 35) &&(staty_broni() < 50))
    opis += "Twa wiedza o walce czyni z tego miecza smiertelna bron. Ruszaj ku chwale "+
            "Tancerzy Wojny!\n";
   if (staty_broni() >= 50)
    opis += "Miecz ten w twych rekach posiada legendarna moc. Twe serce rozpalilo w nim "+
            "ukryte moce ktore dodaja ci sil. Ruszaj ku chwale Tancerzu Wojny.\n";
   }
   return opis;
}
int
did_hit(int aid, string hdesc, int phurt, object enemy, int dt, int phit, int dam)
{
        object *ja = FILTER_LIVE(all_inventory(environment(this_player()))) - ({ this_player() });
        int i;
        mixed* rezultat;
        string jak;
        ::did_hit();
        if (ktory_cios < CO_ILE) ktory_cios++;
        if ((this_player()->query_stat(SS_OCCUP) > 200) && (ktory_cios == CO_ILE))
        {
         rezultat=enemy->hit_me(2*((this_player()->query_stat(SS_DEX)+this_player()->query_stat(SS_WIS))), 50, W_SLASH, ja, -1);
         ja-= ({ enemy});
         // opiszemy specjal
         jak = "nieznacznie";
         if (rezultat[0] > 30) jak = "niezle";
         if (rezultat[0] > 40) jak = "powaznie"; // itp
         if (enemy->query_hp() <= 0)
         {
                 this_player()->catch_msg("Magia zakleta w mieczu przejmuje kontrole nad twymi rekami "+
                               "by wprowadzic smiertelny cios dla twego przeciwnika.\n");
                 enemy->catch_msg("Miecze " + QIMIE(this_player(), PL_DOP) + " zdaja sie same poruszac "+
                                  "i prawie niewidoczny cios rozcina ci skron. Bol szybko mija i nastaje ciemnosc.\n");
                 for(i=0; i<sizeof(ja); i++)
                  ja[i]->catch_msg("Widzisz jak elfi miecz dzierzony przez " + QIMIE(this_player(), PL_DOP) +
                                   " staje w plomieniach i z szybkoscia blyskawicy klinga przecina skron "+
                                   QIMIE(enemy, PL_DOP) + ".\n");
enemy->do_die(this_player());
                 return 1;
         }
         enemy->catch_msg(QCIMIE(this_player(), PL_MIA) + " wprowadza potezny cios swoim elfim mieczem "+
                          "raniac cie " + jak + ".\n");
         this_player()->catch_msg("Trafiasz swego przeciwnika elfim mieczem " + jak + " " + enemy->koncowka("go", "ja") +
                       " raniac.\n");
         for(i=0; i<sizeof(ja); i++)
          ja[i]->catch_msg(QCIMIE(this_player(), PL_MIA) + " bierze potezny zamach i trafia "+
                           QIMIE(enemy, PL_DOP) + " raniac go " + jak + ".\n");
         return 2;
       }
       return 0;
}
int
query_cios()
{
        return ktory_cios;
}
