#include <wa_types.h>
#include <pl.h>
#include <stdproperties.h>
#include <ss_types.h>

inherit "/std/weapon.c";

void
create_weapon()
{
    ustaw_nazwe(({"topor", "topora", "toporowi", "topor", "toporem", "toporze"}),
		({"topory", "toporow", "toporom", "topory", "toporami", "toporach"}),
		PL_MESKI_NZYW);

    dodaj_przym("olbrzymi", "olbrzymi");
    dodaj_przym("obosieczny", "obosieczni");

    set_long("Budzacy groze, obosieczny topor o dwoch wielkich, polksiezycowych ostrzach " +
	     "zdaje sie przewyzszac rozmiarem wszystkie widziane przez ciebie do tej pory " +
	     "bronie. Zwazywszy go w dloni, zauwazasz, iz mimo swoich rozmiarow bron zostala " +
	     "wysmienicie wywazona. Niestety by uczynic z wspanialych, pokrytych licznymi " +
	     "runami i zdobieniami, czarnych ostrzy dobry uzytek trzeba miec w rekach " +
	     "niebywala krzepe. Masz jednak pewnosc, ze gdy juz sie rozpedzi ow pieronsko " +
	     "ciezki topor - nie ma zbroi, ktora moglaby go zatrzymac.\n");

    add_item(({"ostrza", "zdobienia", "runy", "ostrze"}), "Na pieknych, czarnych ostrzach " +
             "znajduja sie liczne jakby wytrawione zdobienia. Wsrod nich przewazaja sceny " +
             "jakichs wyuzdanych orgii i innych, budzacych u porzadnych osobnikow obrzydzenie, " +
             "procederow. Wsrod owych scenek, dostrzegasz wplecione liczne znaki Slaanesha.\n");

    set_pen(45);
    set_hit(20);

    set_wt(W_AXE);
    set_dt(W_SLASH);
    set_hands(W_BOTH);

    add_prop(OBJ_I_WEIGHT, 11000);
    add_prop(OBJ_I_VOLUME, 4000);
    add_prop(OBJ_I_VALUE, 2500);
    add_prop(OBJ_S_WIZINFO, "by Morley'98\n");
}

int
query_hit()
{
    /*
     * Ow funkcja zwraca to hit dla tej bardzo ciezkiej broni w zaleznosci
     * od sily dobywajacego jej osobnika to hit przyjmuje wartosci z przedzialu
     * 8 - 30 (8 dla sily <= 60, 30 dla sily >= 140, w srodku przedzialu liniowo)
     */

    int sila, w_hit;

     if (!living(environment()))
	return ::query_hit();
    
    sila = environment()->query_stat(SS_STR);

    if (sila < 60)
	return 8;
    if (sila > 140)
	return 30;

    sila -= 60;
    w_hit = (11 * sila) / 40 + 8;
    
    return w_hit;
}
