inherit "/cmd/std/command_driver";
#include <filter_funs.h>
#include <composite.h>
#include "dhor.h"

init_emoty()
{
	add_action("nawoluj","unawoluj");
	add_action("usmiech","uusmiech");
	add_action("rozgladanie","urozejrzyj");
	add_action("unies","uunies");	
	add_action("celebracja","ucelebruj");
	add_action("grymas","ugrymas");
	add_action("okrzyk","uokrzyk");
	add_action("przypatrz","uprzypatrz");	
	add_action("obejrzyj","uobejrzyj");	
	add_action("modl","umodl");
	add_action("przypatrz","uprzypatrz");
	add_action("zwyciestwo","uzwyciestwo");
	add_action("atak","uatak");
	add_action("pogarda","upogardz");
	add_action("ostrzez","uostrzez");
	add_action("pomoc","uhistoria");
	add_action("pomoc2","ukomendy");
}
int ostrzez(string str)
{
          object *oblist;
          oblist = parse_this(str,"%l:"+PL_DOP);
          if (!str)
	{
	write("Rozgladasz sie na boki ostrzegawczym wzrokiem. \n");
	all("spoglada dookola ostrzegawczym wzrokiem. ");
	}
	else
	{
	actor("Krzyzujac rece na piersi spogladasz na",oblist,PL_DOP," wzrokiem ostrzegajacym "+
	"przed nierozwaznym dzialaniem. \n");
	all2act("krzyzujac rece na piersi spoglada na",oblist,PL_DOP," wzrokiem ostrzegajacym przed "+
	"nierozwaznym dzialaniem.");
	target(" krzyzuje rece na piersi i spoglada na ciebie wzrokiem ostrzegajacym przed nierozwanym "+
	"dzialaniem.",oblist);
	}
	return 1;

}



int pogarda(string str)
{
          object *oblist;
          oblist = parse_this(str,"%l:"+PL_NAR);
          if (!str)
	{
	write("Patrzysz gdzies z pogarda. \n");
	all("spoglada gdzies z pogarda. ");
	}
	else
	{
	actor("Patrzysz na",oblist,PL_DOP," spojrzeniem przepelnionym pogarda.\n");
	all2act("jakby od niechcenia rzuca na",oblist,PL_DOP," przepojone pogarda "+
	"spojrzenie.");
	
	target("wpatruje sie w ciebie przez chwile spojrzeniem przepelnionym pogarda.",oblist);
	}
                return 1;
}



int atak(string str)
{
	object *kogo,miecz,*bronie;
	mixed no_attack;
	miecz=(this_player()->query_weapon(W_RIGHT) || 
	        this_player()->query_weapon(W_LEFT) || this_player()->query_weapon(W_BOTH));
	if (!str)
	{
	if (miecz==0)
	{
		all("zaczyna warczec cicho i krazyc w miejscu wypatrujac szalenczym wzrokiem ofiary.\n");
		write("Czujac zblizajaca sie walke ogarnia cie szalencza wola zwyciestwa. Warczac cicho wypatrujesz pierwszej ofiary.");
		return 1;
	}
	else
	{
		all("zaczyna warczec cicho i krazyc w miejscu wypatrujac szalenczym wzrokiem ofiary, "+
		"blyskajac "+miecz-short(PL_NAR)+" w szybkich ruchach. \n");
		write("Czujac zblizajaca sie walke ogarnia cie szalencza wola zwyciestwa. Warczac cicho wypatrujesz pierwszej ofiary, krecac niespokojnie "+
		"w dloniach swoim "+miecz->short(PL_NAR)+".");
		return 1;
	}
	}
	
	kogo=parse_this(str,"%l:"+PL_BIE);
	if (!sizeof(kogo))
		return notify_fail("Kogo chcesz zaatakowac?\n");
	if (sizeof(kogo)>1)
		return notify_fail("Kogo dokladnie chcesz zaatakowac?\n");
	if (!F_DARE_ATTACK(TP, kogo[0]))
		return notify_fail("Nie odwazysz sie na to.\n");
	no_attack=kogo[0]->query_prop(OBJ_M_NO_ATTACK);
	if (!no_attack) no_attack=environment(TP)->query_prop(ROOM_M_NO_ATTACK);
	if (no_attack)
	{
		if (stringp(no_attack))
			write(no_attack);
		else write("Nie mozesz zaatakowac "+kogo[0]->query_imie(TP, PL_BIE)+"\n");
		return 1;
	}
	all2act("wydobywaja z siebie wycie wilka, nagle w dzikim niepohamowanym "+
	"szalenstwie rzuca sie na",kogo, PL_BIE);
	target("wydobywaja z siebie wycie wilka, nagle w dzikim niepohamowanym "+
	"szalenstwie rzuca sie na ciebie!", kogo);
	actor("Rzucasz sie w szalenczym ataku na ", kogo, PL_BIE);
	TP->attack_object(kogo[0]);
	return 1;
}

int zwyciestwo(string str)
{
	object miecz,*bronie;
	miecz=(this_player()->query_weapon(W_RIGHT) || 
	        this_player()->query_weapon(W_LEFT) || this_player()->query_weapon(W_BOTH));
	if (miecz==0)
	{
	allbb("zaciska dlon w piesc i wznoszac ja w gore wykrzywia w grymasie pogardy dla wrogow. \n");
 	 write("Zaciskasz dlon w piesc i wznoszac ja w gore, wykrzywiasz twarz w grymasie pogardy dla "+
	"wrogow. ");
	}
	else
	{
	allbb("pochyla lekko glowe i podnosi do gory "+miecz->short(PL_MIA)+" skladajac "+ 
	"cichy hold Ulrykowi. ");
	write("Unosisz do gory "+miecz->short(PL_MIA)+" bron skladajac hold Ulrykowi. \n");
	}	

	return 1;
}

int obejrzyj(string str)
{
	object miecz,*bronie;
	miecz=(this_player()->query_weapon(W_RIGHT) || 
	        this_player()->query_weapon(W_LEFT) || this_player()->query_weapon(W_BOTH));
	if (!miecz || (miecz->query_wt() != W_SWORD && miecz->query_wt() != W_AXE))
	return notify_fail("Musisz miec dobyty miecz lub topor, by dokladnie sie mu przyjrzec. \n");

	if (miecz->query_wt()==W_SWORD)
	{
	allbb("obnaza klinge swojego "+miecz->short(PL_DOP)+", dokladnie wodzi "+
	"wzrokiem na calej jej dlugosci mruczac cos niezrozumiale do siebie. "+
	"Widzisz jak blysk ostrza slizga sie po jego skupionej twarzy, obraca "+
	"klinge jeszcze przez chwile w dloniach by po chwili opuscic miecz. ");
 	 write("Obnazasz klinge swojego "+miecz->short(PL_DOP)+" i modlac sie cicho do Ulryka "+
	"szukasz w skupieniu najdrobniejszej na niej skazy. \n");
	}
	else
	{
	allbb("wyciaga przed siebie swoj "+miecz->short(PL_MIA)+" i dokladnie wodzi "+
	"wzrokiem po calym trzonie sprawdzajac jego zuzycie, mruczac cos niezrozumiale do siebie. "+
	"Widzisz blysk ostrza, kiedy "+QIMIE(TP,PL_MIA)+" szybko przerzuca topor w dloniach i przyblizajac do oczu "+
	"zelezce palcem sprawdza jego naostrzenie.  Gorejacym wzrokiem przyglada sie jeszcze "+
	"przez chwile swej broni w poszukiwaniu skaz czy stepien, by po chwili ja opuscic. ");
 	 write("Obracasz w dloniach swoj "+miecz->short(PL_MIA)+" i cicho proszac Ulryka "+
	"o poblogoslawienie tej broni, by nie zawiodla cie w walce ogladasz ja dokladnie. \n");
	}

	return 1;
}

int przypatrz(string str)
{
          object *oblist;
          if (!str) return notify_fail("Przypatrz sie [komu] ?\n");
          oblist = parse_this(str,"'sie' %l:"+PL_CEL);
          if (!sizeof(oblist)) return notify_fail("Komu sie chcesz przypatrzec ? \n");
	actor("Spogladasz na",oblist,PL_DOP," przenikliwie.");
	all2act("spoglada na",oblist,PL_DOP," swoim blyszczacym, nieludzkim wzrokiem, "+
	"widzisz jak ten zaczyna drzec lekko, a reka stara sie dosiegnac "+
	"wlasnego serca.");
	target("wpatruje sie w ciebie swoim blyszczacym, nieludzkim wzrokiem, "+
	"w spojrzeniu tym wyczuwasz mrozny powiew polnocy i gniew Ulryka, "+
	"czujesz jak zimna reka dotyka ciebie, by po chwili zacisnac sie "+
	"bezlitosnie na twym sercu.",oblist);

                return 1;
}

int
modl(string str)
{
    string opis;
    object miecz,*bronie;
    int *i,n;
    if (str!="sie")
    {
        notify_fail("Chyba umodl sie?\n");
        return 0;
    }
    miecz=(this_player()->query_weapon(W_RIGHT) || 
        this_player()->query_weapon(W_LEFT) || this_player()->query_weapon(W_BOTH));
    if (!miecz || (miecz->query_wt() != W_SWORD && miecz->query_wt() != W_AXE)) 
        {
            notify_fail("Musisz miec dobyty miecz lub topor, aby moc to zrobic.\n");
            return 0;
        }
    allbb("opierajac sie na wyciagnietym jedna reka "+miecz->short(PL_NAR)+", przykleka "+
	"na kolano, opuszcza nisko glowe i pograza w bezglosnej modlitwie "+
	"do Ulryka.");

    write("Wyciagasz przed siebie "+miecz->short(PL_MIA)+", przyklekasz na kolano, "+
	"opuszczasz nisko glowe i pograzasz sie w cichej modlitwie "+
	"do Ulryka, proszac go o opieke nad soba. \n");

    TP->add_prop(LIVE_S_EXTRA_SHORT, " kleczacy na kolanie i opierajacy sie o "+miecz->short(PL_MIA)+" modli sie do Ulryka");
    TP->add_prop(LIVE_S_SOULEXTRA, "Wznosi modly do Ulryka, kleczac na kolanie i opierajac sie o "+miecz->short(PL_MIA)+"");
    setuid();
    seteuid(getuid());
    clone_object(LISTA+"paraliz_modlitwa")->move(TP);
    
    return 1;
}




int nawoluj(string str)
{
        if (str) return notify_fail("Ta komenda nie przyjmuje zadnych argumentow.\n");
                write("Unosisz lekko glowe, przymykasz oczy, by po chwili skupienia "+
 	"wydac z siebie nawolywanie wilkow osaczajacych swa ofiare.\n");
                all("podnosi lekko glowe, przymyka oczy, po chwili skupienia zaczyna "+ 
	"wyc nieludzko, przerazliwie, niczym stado wilkow osaczajacych swa ofiare, "+ 
	"odruchowo wtulasz glowe w ramiona, czujesz jak wlosy jeza ci sie na karku.");
                return 1;
}
                                
int usmiech(string str)
{
	if (str) return notify_fail("Ta komenda nie przyjmuje zadnych argumentow.\n");
		write("Mruzysz lekko oczy i wybuchasz chrypiacym smiechem.\n");
		all("mruzac lekko oczy, wybucha przerazliwym, chrypiacym smiechem "+
		"ktory drazni twoje uszy.");                                 
		return 1;
}
int rozgladanie(string str)
{
	if (str) return notify_fail("Ta komenda nie przyjmuje zadnych argumentow.\n");
		write("Krzyzujesz rece na piersi i rozgladasz dookola, przypatrujac sie "+ 
		"ciekawie wszystkim obecnym. \n");
		all("krzyzuje rece na piersi i przyglada sie ciekawie wszystkim "+
		"dookola. Probujesz przyjrzec mu sie dokladnie, po chwili krzyzujecie "+ 
		"spojrzenia, wyczuwasz chlod bijacy z jego oczu, ktory przywodzi ci na "+
		"mysl niedostepne, mrozne odstepy na dalekiej polnocy.");                                 
	return 1;
}

int unies(string str)
{
	if (str) return notify_fail("Ta komenda nie przyjmuje zadnych argumentow.\n");
	write("Unosisz swoj wzrok i mruzac oczy w waskie szpary szybkim spojrzeniem smagasz otoczenie. \n");
	all("podnosi swoj wzrok, w spojrzeniu jego zauwazasz chlod, furie i szalenstwo "+
	"typowe dla Synow Ulryka.");                                 
	return 1;
}

int celebracja(string str)
{
	if (str) return notify_fail("Ta komenda nie przyjmuje zadnych argumentow.\n");
	write("Celebrujesz starodawna tradycje wyczerniania ran odniesionych w boju.\n");
	all("kleka na ziemi, odslania swe rany, wydobywa z sakwy "+
	"buteleczke z czarnym proszkiem. Zamyka oczy i zaczyna modlic sie "+
	"do Ulryka, po chwili otwiera buteleczke i nie przestajac modlitwy "+
	"posypuje rany odniesione w boju czarnym proszkiem, wydaje ci sie iz "+ 
	"przez jego twarz przemknal grymas bolu. Po chwili powstaje z ziemi.");                                 
	return 1;
}

int grymas(string str)
{
	if (str) return notify_fail("Ta komenda nie przyjmuje zadnych argumentow.\n");
	write("Wykrzywiasz twarz w grymasie.\n");
	all("wykrzywia twarz w straszliwym, nieludzkim grymasie, przez mysl "+
	"przemknal ci obraz wilka ktory upatrzyl sobie zwierzyne.");                                 
	return 1;
}

int okrzyk(string str)
{
	if (str) return notify_fail("Ta komenda nie przyjmuje zadnych argumentow.\n");
	write("Wykrzykujesz z calych sil imie Ulryka.\n");
	all("wykrzywia twarz w nieludzkim grymasie wykrzykujac glosno "+
	"imie Ulryka.");                                 
	return 1;
}
		
int pomoc(string str)
{
         write("+========Ulryk, Bog Wojny, Zimy i Wilkow========+\n"+
	" Ulryk jest bogiem bitwy i zniszczenia, patronem wilkow oraz duchem zimy "+
	"Wedlug legend przedstawiany jest jako potezny wojownik w "+
	"srebrnoszarym plaszczu z wilczej skory. Moze takze stawac sie  ogromnym, "+
	"srebrnoszarym wilkiem. Ulryk jest zimnym, szorstkim i bezlitosnym bogiem, "+
	"oczekujacym od swoich wyznawcow, by stali mocno na wlasnych nogach i "+
	"wymagajacym od nich zolnierskiego mestwa. Gardzi slaboscia, tchorzostwem "+
	"i podstepem, wymaga twardych decyzji przy rozwiazywaniu problemow. "+
	"Wyznawcy Ulryka staraja sie byc twardzi i niezalezni, dlatego nie nawiazuja "+
	"blizszych kontaktow z innymi kultami. Wielu ich zyje samotnie, przyjazniac sie "+
	"tylko z niektorymi druidami, szczegolnie tymi ktorym duchem opiekunczym jest "+
	"wilk. \n"+
	"+========Pojdz i glos chwale Ulryka========+\n");
	return 1;
}

int pomoc2(string str)
{
	write("+============================+\n"+
	"Dostepne komendy dla czcicieli Ulryka : \n"+
	"-unawoluj \n"+
	"-uusmiech \n"+
	"-urozejrzyj \n"+
	"-uunies \n"+	
	"-ucelebruj \n"+
	"-ugrymas \n"+
	"-uokrzyk \n"+
	"-uprzypatrz \n"+	
	"-uobejrzyj \n"+	
	"-umodl \n"+
	"-uprzypatrz \n"+
	"-uzwyciestwo \n"+
	"-uatak \n"+
	"-upogardz \n"+
	"-uostrzez \n"+
	"-uhistoria \n"+
	"-ukomendy \n"+
	"+============================+\n");

	return 1;
}
