/* podstawowy chaotyk
 * napisane przez Alfena
 */
#include "local.h"
#include "atrybuty.h"
#include <stdproperties.h>
#include <macros.h>
#include <const.h>
#include <pl.h>
#include <ss_types.h>
#include <wa_types.h>
inherit "/std/npc";
inherit "/std/act/add_things";
inherit LPATH + "combat/cmutant";
inherit "/std/act/chat";
inherit "/std/act/action";
inherit TPATH + "ialfen";
#include "./combat/cmutant.h"
string opis="";
mixed *tab = ({ ({ LPOGOLNE, LPWIEK, LPBUDOWA, LPSKORA, LPOCZY,
		   LPWLOSY, LPBRODA }),
		({ OGOLNE, WIEK, BUDOWA, SKORA, OCZY, WLOSY, BRODA }) });
void
wylosuj_przymiotniki()
{
	int a1, k1;
	
	a1 = random(7);
	
	
	k1 = random(tab[0][a1]);
	
	dodaj_przym(tab[1][a1][k1][0], tab[1][a1][k1][1]);
}
void
create_mutant()
{
	set_long("Prawdopodobnie byl to niegdys krasnolud, jednakze dzis "+
		"nikt nie jest w stanie stwierdzic tego z cala pewnoscia. "+
		opis+"\n");
	wylosuj_przymiotniki();
	ustaw_nazwe(({"mutant","mutanta","mutantowi","mutanta",
		"mutantem","mutancie"}),
		({"mutanci","mutantow","mutantom","mutantow",
		"mutantami","mutantach"}), PL_MESKI_NOS_ZYW);
	ustaw_krotki_opis();
}
void
mutacje(int pr)
{
	int pom;
	
	// glowa
	if (random(100)<pr)
	{
		pom = random(sizeof(OPIS_HL_GLOWA));
		set_attack_unarmed(W_GLOWA+pom, DANE_GLOWA[pom][2],
			DANE_GLOWA[pom][3], DANE_GLOWA[pom][4], 
			DANE_GLOWA[pom][5],"");
		set_hitloc_unarmed(A_GLOWA+pom, DANE_GLOWA[pom][0], 
			DANE_GLOWA[pom][1], OPIS_HL_GLOWA[pom]);
		opis += " Gdy spogladasz na "+OPIS_HL_GLOWA[pom]+" zdobiaca cialo tego ";
		opis += "stwora, chlodne dreszcze przebiegaja po twym krzyzu.";
	}
	
	//rece,nogi
	set_all_attack_unarmed(40,40);
	set_hitloc_unarmed(A_LEGS, 10, 20, "nogi");
	set_hitloc_unarmed(A_R_ARM, 10, 10, "prawe ramie");
	set_hitloc_unarmed(A_L_ARM, 10, 10, "lewe ramie");
	
	//tulow
	if (random(100)<pr)
	{
		pom = random(sizeof(OPIS_HL_TULOW));
		set_attack_unarmed(W_TULOW+pom, DANE_TULOW[pom][2],
			DANE_TULOW[pom][3], DANE_TULOW[pom][4], 
			DANE_TULOW[pom][5], "");
		set_hitloc_unarmed(A_TULOW+pom, DANE_TULOW[pom][0], 
			DANE_TULOW[pom][1], OPIS_HL_TULOW[pom]);
		opis  += " ";
		opis  +=  capitalize(OPIS_HL_TULOW[pom]) + " jest na";
		opis +="stepna niesamowita rzecza, jaka widzisz.";
	}
	
	//macki
	if (random(100)<pr)
	{
		pom = random(sizeof(OPIS_HL_MACKA)-1)+1;
		while  (--pom>=0)
		{
		set_attack_unarmed(W_MACKA+pom, DANE_MACKA[pom][2],
			DANE_MACKA[pom][3], DANE_MACKA[pom][4], 
			DANE_MACKA[pom][5], "");
		set_hitloc_unarmed(A_MACKA+pom, DANE_MACKA[pom][0], 
			DANE_MACKA[pom][1], OPIS_HL_MACKA[pom]);
		}
		opis  += " ";
		opis  +=  "Wspaniale macki wylaniaja sie z roznych czesci";
		opis  += " ciala mutanta.";
	}
	
	// nozki
	if (random(100)<pr)
	{
		pom = random(sizeof(OPIS_HL_NOGA)-1)+1;
		while  (--pom>=0)
		{
		set_attack_unarmed(W_NOGA+pom, DANE_NOGA[pom][2],
			DANE_NOGA[pom][3], DANE_NOGA[pom][4], 
			DANE_NOGA[pom][5], "");
		set_hitloc_unarmed(A_NOGA+pom, DANE_NOGA[pom][0], 
			DANE_NOGA[pom][1], OPIS_HL_NOGA[pom]);
		}
		opis  += " ";
		opis  +=  "Niesamowite jakiez rozne zwierzece czesci moga ";
		opis  += "wspaniale komponowac z reszta prawie czlekoksztaltnego";
		opis  += " czegos.";
	}
}
void
create_npc()
{
	int i;
	int *s = allocate(6);
	::create_npc();
	
	set_alignment(-500-random(100));
	mutacje(101);
#if 0
	set_aggressive(1);
#endif
	ustaw_odmiane_rasy(({"mutant","mutanta","mutantowi","mutanta",
		"mutantem","mutancie"}),
		({"mutanci","mutantow","mutantom","mutantow",
		"mutantami","mutantach"}), PL_MESKI_OS);
		
	set_stats( ({ 140, 100, 150, 40, 50, 50 }) ); 
	
	set_skill(SS_UNARM_COMBAT, 80);
	set_skill(SS_2H_COMBAT, 80);
	set_skill(SS_PARRY, 50);
	set_skill(SS_SHIELD_PARRY, 50);
	set_skill(SS_DEFENCE, 50);
	set_skill(SS_HIDE, 50);
	set_skill(SS_SNEAK, 50);
	set_skill(SS_AWARENESS, 50);
	
	add_prop(NPC_I_NO_FEAR, 1);
//	add_prop(NPC_I_NO_LOOKS, 1);
	add_prop(NPC_I_NO_RUN_AWAY, 1);
	add_prop(NPC_M_NO_ACCEPT_GIVE, "nie przyjmuje zadnych podarunkow.\n");
	add_prop(LIVE_I_SEE_DARK, 5);
	add_prop(LIVE_I_NEVERKNOWN, 1);
	
	add_prop(CONT_I_HEIGHT, 130);
	add_prop(CONT_I_WEIGHT, 80000);
	add_prop(CONT_I_VOLUME, 520);
        set_gender(G_MALE);
	
	set_chat_time(15);
	
	add_chat("Ci rycerze Sigmara sa naprawde glupi, jak dotad sadza, ze "+
		"to Sigmar zwyciezyl.");
	add_chat("Mam ochote zjesc jakas wiewiorke, moze sama przyjdzie sie "+
		"pokazac i swoim rudym ogonkiem mile polechcze me "+
		"podniebienie ?");
	add_chat("Pan Zmian osadzil juz Twa dusze.... Nalezysz do niego.");
	add_chat("Kupcy - tluste, spasnione prosiaki, tylko czekaz az "+
		"odwiedzimy ta spizarnie.");
	add_chat("Uwielbiam delikatne elfi paluszki maczane w ogrzych "+
		"zoladkach.");
	add_chat("Elfy te dziewice, nadaja sie tylko do jednego......");
	add_chat("Ogr to dobry kompan, starcza go dla wszystkich, "+
		"niezaleznie od apetytu.");
	add_chat("Ktos moze widzial halflinga, ostatnio minal mnie deser.");
	add_chat("Zaladeczki, paluszeczki, takze elfie zrem dzieweczki.");
	add_chat("Z czlowieka niewiel jest pozytku, male toto, glupie toto, "+
		"zylaste toto, tylko mile podskakuje, gdy wyrywa mu sie "+
		"szyneczke.");
	add_chat("Zatancze se poleczke, poleczke, poleczke i zzrem "+
		"elfia .... szyneczke, szyneczke...Hej !");
	add_chat("Chodz ludziku moj malutki, a oleje twoje butki.");
	add_chat("Nie mam czasu, zjem cos po drodze.");
		
	set_cchat_time(15);
	
	add_cchat("Ten cios mnie rozbawil.");
	add_cchat("Nie mam czasu, polej kwasu.");
	add_cchat("Przyszedl czas na kwas.");
	add_cchat("Macka tu, macka tam to zabawa mowie wam.");
	add_cchat("Bedzie przekaska.");
	add_cchat("Lepiej sie nie poddaj, bo nienawidze sie dzielic.");
	add_cchat("Slyszles o tym krasnoludku - Dhorze ? Podobno "+
		"podzielil sie nozkami z moja przyjaciolka.");
	add_cchat("Uwazaj bede cial....");
	add_cchat("To naprawde glupie z twej strony, tak narazac Swoje "+
		"smakowite miesko na szatkowanie.");
	add_cchat("No prosze, obiado-sniadanko mi sie szykuje.");
	add_cchat("Mam nadzieje, ze lubisz szpinak..... Uwielbiam "+
		"troche perwersji.");
	add_cchat("Marsz do piachu.");
	add_cchat("Gleba, gleba....");
	add_cchat("Rachu, ciachu plum.");
	add_cchat("Daj mi cos do picia, Krwi, krwi.....");
	add_cchat("Moi przyjaciele Cie dopadna.");
	add_cchat("Demonie przybadz, mam napitek i jadlo dla Cie.");
		
	set_act_time(15);
	
	add_act("emote popatrzyl wokol zglodnialym wzrokiem.");
	add_act("beknij grub");
	add_act("zachichocz demonicznie");
	add_act("ziewnij");
	add_act("czknij");
	add_act("usmiech diab");
	add_act("obliz sie");
	add_act("zarechocz para");
	add_act("emote z ulga na twarzy olewa podloze.");
	add_act("podlub");
	add_act("pierdnij");
	add_act("emote drapie sie po pachami.");
	add_act("emote dlubie paznokciem miedzy zebami.");
	add_act("emote bawi sie glutem wyciagnietym z nosa.");
	add_act("emote drapie sie po tylku.");
	add_act("podrap sie po dupie");
	add_act("podrap sie po jajach");
	add_act("zarechocz szata");
	
	set_cact_time(15);
	
	add_cact("zarechocz para");
	add_cact("warknij");
	add_cact("beknij");
	add_cact("zachichocz para");
	add_cact("zachichocz diab");
	add_cact("usmiech para");
	add_cact("zagwizdz");
	add_cact("obliz sie");
	add_cact("beknij");
	add_cact("splun");
	add_cact("pierdnij");
	add_cact("parsknij");
	add_cact("jeknij podd");
	add_cact("zarechocz szata");
	
		
	
	set_long("To wspaniale polaczenie krasnoluda ze zwierzeciem "+
		"stanowi nie lada wyzwanie dla oczu kazdego konesera. "+
		"Zadziwiajaca mocne szczeki, dlugie kly, sterczace uszy "+
		"oraz wspaniale owlosione wezlaste miesnie przecza czajacej "+
		"sie malenkiej glowce inteligencji. "+opis+"\n");
	wylosuj_przymiotniki();
	ustaw_odmiane_rasy( ({"krasnozwierz","krasnozwierza","krasnozwierzowi",
		"krasnozwierza","krasnozwierzem","krasnozwierzu"}),
		({"krasnozwierzami","krasnozwierzy","krasnozwierzom",
		"krasnozwierze","krasnozwierzami","krasnozwierzach"}),
		PL_MESKI_NOS_ZYW);
	for (i=0; i < 6; i++)
		s[i] = query_stat(i);
	set_stats(({ s[0] + random(50), s[1] + random(30), s[2] + random(55),
		s[3], s[4], s[5] + random(30)}) );
	for (i=0; i < 100; i++)
		if (query_skill(i) > 0)
			set_skill(i, query_skill(i) + random(20));
	ustaw_krotki_opis();
	create_mutant();
}
void
attacked_by(object ob)
{
	string *tab = ({
		"krzyknij Miesko !",
		"zazgrzytaj",
		"zachochocz para",
		"krzyknij Obiadek przyszedl !",
		"warknij diabolicz",
		"zagwizdz",
		"obliz sie wolno",
		"zalkaj",
		"westchnij",
		"powiedz Rachu ciachu i do piachu.",
		"popatrz przec",
		"emote wyprostowal sie z trzaskiem kosci.",
		"emote strzelil kostkami.",
		"emote wypiol bezceremonialnie zadek w strone "+
		check_call(QIMIE(this_player(),PL_BIE))+" mowiac: "+
		"Tu mnie mozesz pocalowac.",
		"zasmiej sie" });
		 
	::attacked_by(ob);
	set_alarm(itof(random(5))+2.0, 0.0, "command", 
		tab[random(sizeof(tab))]);
	set_alarm(itof(random(5))+2.0, 0.0, "command", 
		"krzyknij Tak, tak !!!");
}
void
notify_you_killed_my(object ob)
{
	string *tab = ({
		"powiedz Koniec rozrywki ?!",
		"emote spiewa: Mam trzy latka, trzy i pol, "+
		"a przecialem go na pol.",
		"parsknij",
		"emote zalamuje rece nad cialem.",
		"emote zapytal: Bolalo ?",
		"zachichocz szata",
		"zarechocz szata",
		"potrzasnij glowa z niedow",
		"usmiech zlos",
		"zachichocz zlos",
		"zasmiej sie zlowieszczo",
		"zarechocz diaboli",
		"tupnij boh",
		"emote uklonil sie kipiaca przed cialem.",
		"powiedz Raz, dwa, trzy..... o mial wszy",
		"powiedz Mieczaki.....",
		"powiedz Rachu ciachu i po strachu....",
		"czknij zwyc",
		"beknij zwyc" }); 
	set_alarm(itof(random(5))+2.0, 0.0, "command", 
		tab[random(sizeof(tab))]);
}
void
do_die(object ob)
{
	string *tab = allocate(16);
	if (!ob)
		ob = previous_object();
	tab [0] = "szepnij "+ob->query_nazwa(PL_CEL) + " Pan zmian Cie "+
		"naznaczyl.";
	tab[1] = "splun pod nogi " + ob->query_nazwa(PL_CEL);
	tab[2] = "zbeltaj sie";
	tab[3] = "wybalusz oczy na " + ob->query_nazwa(PL_BIE);
	tab[4] = "szepnij "+ob->query_nazwa(PL_CEL)+" To jeszcze nie "+
		"koniec, "+ob->query_wolacz();
	tab[5] = "emote zacharczal glosem zarzynanej swini.";
	tab[6] = "zachlip";
	tab[7] = "krzyknij Na Slaanesha !!";
	tab[8] = "opluj "+ob->query_nazwa(PL_BIE);
	tab[9] = "jezyk "+ob->query_nazwa(PL_CEL);
	tab[10] = "spoliczkuj "+ob->query_nazwa(PL_BIE);
	tab[11] = "emote bluzgnal potokami zolto-czerwonej krwi.";
	tab[12] = "machnij";
	tab[13] = "zazgrzytaj";
	tab[14] = "emote wsrod wyplywajacej krwi, charczac mowi: Jeszcze "+
		" Cie dopadne.....";
	tab[15] = "szepnij "+ob->query_nazwa(PL_CEL) + " Krwi, krwi, krw.....";
	
	command(tab[random(sizeof(tab))]);
	::do_die(ob);
}
string
query_combat_file()
{
	return LPATH + "combat/cwalka";
}
void
aggressive_attack(object ob)
{
	if (!ob->query_prop(IMPERIUM_I_STWOR_CHAOSU))
		aggressive_attack(ob);
}
