inherit "/std/weapon";

#include "mith.h"
#include "ryc_zak.h"

int oddaj(string str);
int oprzyj(string str);



void
create_weapon()
{
   ustaw_nazwe( ({ "mlot", "mlota", "mlotu", "mlot", "mlotem",
                   "mlocie" }), ({ "mloty", "mlotow", "mlotom",
                   "mloty", "mlotami", "mlotach" }), PL_MESKI_NOS_NZYW );

   dodaj_przym("ceremonialny","ceremonialni");

   ustaw_shorty( ({ "mlot bojowy", "mlota bojowego", "mlotu bojowemu",
                    "mlot bojowy", "mlotem bojowym", "mlocie bojowym"}),
                  ({"mloty bojowe", "mlotow bojowych", "mlotom bojowym",
                    "mloty bojowe", "mlotami bojowymi", "mlotach bojowych"}), 
				PL_MESKI_NOS_NZYW );
   set_long(" Jest to mlot wykonany przez krasnoludy na prosbe Wielkiego "
   		+"Teogonisty, stanowiacy wierna replike Lamacza Czaszek, legendarnego "
   		+"mlota Sigmara. Mlot jest caly wykonany z ciemnego metal."
   		+" Wyryto na nim jakies krasnoludzkie runy. Glownia z jednej"
   		+" strony zakonczona jest tepo, z drugiej zas ostro, do przebijania "
   		+"zbroji. Jednak ten mlot nie stanowil by zbyt dobrej broni, ze "
   		+"wzgledu na swoj ciezar. Tylko mezczyzna poteznej postury i wprost "
   		+"nieludzkiej sily moglby nim efektywnie walczyc.\n");
            
            set_hit(5);
            set_pen(30);
            
            set_wt(W_WARHAMMER);
            set_dt(W_BLUDGEON);
            set_hands(W_BOTH);
             
            add_prop(OBJ_I_WEIGHT, 25000);
            add_prop(OBJ_I_VOLUME, 6000);
            add_prop(OBJ_I_VALUE, 1);
			add_prop(OBJ_M_NO_SELL, "Cos powstrzymuje cie, kiedy probujesz"
				+" sprzedac ten mlot.\n");          
		// Ten mlot wogole nie powinien sie znalezc poza kaplica. Ale np: w
		// czasie apokalipsy albo resetu systemu... takie rzeczy sie zdazaja.                         
}
                           
init()
{
	::init();
	add_action("oddaj","oddaj");
	add_action("oprzyj","oprzyj");
	add_action("wstan","wstan");
}

int oprzyj(string str)
{
	if (str != "sie na mlocie")
	{
		notify_fail("Na czym sie chcesz oprzec?\n");
		return 0;
	}
	TP->catch_msg("Stawiasz mlot glownia na ziemi, i klekasz opierajac sie "
		+"obiema rekoma na rekojesci.\n");
	tell_room(environment(TP), QCIMIE(TP,PL_MIA)+" stawia mlot glownia na ziemi, i kleka opierajac sie "
		+"obiema rekoma na rekojesci.\n",({TP}));
	TP->add_prop(LIVE_S_SOULEXTRA,"kleczy na podlodze, opierajac sie na mlocie bojowym");
	TP->add_prop(LIVE_S_EXTRA_SHORT,OPIS_KLEKANIA);
	return 1;
}

int
oddaj(string str)
{
	object co,komu;
	if (!str) str="";
	parse_command(str,environment(TP),"%o:"+PL_BIE+" %o:"+PL_CEL,co,komu);
	if (!co)
	{
		notify_fail("Co chcesz oddac?\n");
		return 0;
	}
	
	if (!(co==this_object()))
	{
		notify_fail("Ta komenda mozesz przekazac tylko rytualny mlot Zakonu Sigmara.\n");
		return 0;
	}

	
	if (!komu)
	{
		notify_fail("Komu chcesz oddac mlot?\n");
		return 0;
	}
	
	
	if (TP->query_prop(LIVE_S_EXTRA_SHORT)==OPIS_KLEKANIA)
	{
		notify_fail("Musisz najpierw wstac.\n");
		return 0;
	}
	move(komu);
	komu->catch_msg( QCIMIE(TP,PL_MIA)+" podaje ci z szacunkiem mlot bojowy.\n");
	TP->catch_msg("Oddajesz mlot "+komu->query_real_name(PL_CEL)+".\n");
	tell_room (environment(TP), QCIMIE(TP,PL_MIA)+" podaje z szacunkiem mlot "+QCIMIE(komu,PL_CEL)+".\n",({TP,komu}));
	return 1;
}

int
wstan(string str)
{
	if (!(TP->query_prop(LIVE_S_EXTRA_SHORT)==OPIS_KLEKANIA))
	{
		notify_fail("Przeciez nie kleczysz.\n");
		return 0;
	}			
	TP->catch_msg("Podnosisz sie z kleczek.\n");
	tell_room(environment(TP), QCIMIE(TP,PL_MIA)+" podnosi sie z kleczek.\n",({TP}));
	TP->remove_prop(LIVE_S_EXTRA_SHORT);
	TP->remove_prop(LIVE_S_SOULEXTRA);
	return 1;
}


string
query_recover()
{
    return 0;
}    
