#include <ss_types.h>
#include <wa_types.h>
#include <pl.h>
#include <const.h>
#include <stdproperties.h>

#include "morley.h"

inherit "/d/Imperium/std/chaos";

mixed napiersniki = ({ ARM_PATH + "plytkowa.c",
                       ARM_PATH + "kolczuga.c",});

mixed helmy = ({ ARM_PATH + "helmo.c",
                 ARM_PATH + "helmg.c",
                 ARM_PATH + "lebka.c",});

mixed bronie = ({ WEP_PATH + "bastard.c",
		  WEP_PATH + "buzdygan.c",
		  WEP_PATH + "korseka.c",
		  WEP_PATH + "topor2.c",
		  ({ WEP_PATH + "sztylet.c", WEP_PATH + "sztylet.c" }) });

mixed przymiotniki1 = ({ ({"czarnowlosy", "czarnowlosi"}),
			 ({"bialowlosy", "bialowlosy"}),
			 ({"czarnoskory", "czarnoskorzy"}),
			 ({"muskularny", "muskularni"}),
			 ({"barczysty", "barczysci"}),
			 ({"wysoki", "wysocy"}),
			 ({"potezny", "potezny"}) });

mixed przymiotniki2 = ({ ({"niespokojny", "niespokojni"}),
			 ({"zwinny", "zwinni"}),
			 ({"ociezaly", "ociezali"}),
			 ({"bezwzgledny", "bezwzgledni"}),
			 ({"okrutny", "okrutni"}),
			 ({"szalony", "szaleni"}) });

void wylosuj_bron();
int q_att();

void
create_chaos()
{
    int tmp;
    string *przym1, *przym2;

    tmp = random(sizeof(przymiotniki1));
    przym1 = przymiotniki1[tmp];
    tmp = random(sizeof(przymiotniki2));
    przym2 = przymiotniki2[tmp];
   
    if (random(2))
    {
	ustaw_odmiane_rasy(({"wojownik chaosu", "wojownika chaosu", "wojownikowi chaosu",
			  "wojownika chaosu", "wojownikiem chaosu", "wojowniku chaosu"}),
		    ({"wojownicy chaosu", "wojownikow chaosu", "wojownikom chaosu",
			  "wojownikow chaosu", "wojownikami chaosu", "wojownikach chaosu"}),
		    PL_MESKI_OS);

	dodaj_nazwy(({"wojownik", "wojownika", "wojownikowi",
			  "wojownika", "wojownikiem", "wojowniku"}),
		    ({"wojownicy", "wojownikow", "wojownikom",
			  "wojownikow", "wojownikami", "wojownikach"}),
		    PL_MESKI_OS);

	dodaj_nazwy(PL_MEZCZYZNA);

	dodaj_przym(przym1[0], przym1[1]);
	dodaj_przym(przym2[0], przym2[1]);

	set_gender(G_MALE);

	set_long("Mezczyzna nie odroznia sie specjalnie od innych, no moze poza tym, " +
		 "ze jest bardzo dobrze zbudowany i wysoki. Jednakze jego wyraz twarzy " +
		 "oraz jakas dziwna mroczna aura bijaca od jego osoby mowi ci, ze " +
		 "bezsprzecznie ten czlowiek jest kims w poblizu kogo trzeba sie miec " +
		 "caly czas na bacznosci. Wszelkie watpliwosci rozwiewa jednak emblemat " +
		 "Slaanesha noszony przez niego dumnie na piersi.\n");
    }
    else
    {
	ustaw_odmiane_rasy(({"wojowniczka chaosu", "wojowniczki chaosu", 
				 "wojowniczce chaosu", "wojowniczke chaosu", 
				 "wojowniczka chaosu", "wojowniczce chaosu"}),
			   ({"wojowniczki chaosu", "wojowniczek chaosu", 
				 "wojowniczkom chaosu", "wojowniczki chaosu", 
				 "wojowniczkami chaosu", "wojowniczkach chaosu"}),
		    PL_ZENSKI);

	dodaj_nazwy(({"wojowniczka", "wojowniczki", "wojowniczce",
			  "wojowniczke", "wojowniczka", "wojowniczce"}),
		    ({"wojowniczki", "wojowniczek", "wojowniczkom",
			  "wojowniczki", "wojowniczkami", "wojowniczkach"}),
		    PL_MESKI_OS);

	dodaj_nazwy(PL_KOBIETA);

	dodaj_przym(przym1[0], przym1[1]);
	dodaj_przym(przym2[0], przym2[1]);

	set_gender(G_FEMALE);

	set_long("Kobieta nie odroznia sie specjalnie od innych, no moze poza tym, " +
		 "ze jest bardzo dobrze zbudowana i wysoka. Jednakze jej wyraz twarzy " +
		 "oraz jakas dziwna mroczna aura bijaca od jej osoby mowi ci, ze " +
		 "bezsprzecznie jest ona kims w poblizu kogo trzeba sie miec " +
		 "caly czas na bacznosci. Wszelkie watpliwosci rozwiewa jednak emblemat " +
		 "Slaanesha noszony przez nia dumnie na piersi.\n");
    }

    set_stats(({65 + random(10), 65 + random(10), 65 + random(10),
		    65 + random(10), 65 + random(10), 65 + random(10)}));

    set_alignment(-500 - random(200));

    add_prop(CONT_I_HEIGHT, 155 + random(20));
    add_prop(CONT_I_WEIGHT, 50000 + random(40000));
    add_prop(CONT_I_VOLUME, 50000 + random(40000));
    add_prop(NPC_I_NO_FEAR, 1);
    add_prop(LIVE_I_NEVERKNOWN, 1);
    add_prop(NPC_M_NO_ACCEPT_GIVE, " jest zadowolon" + koncowka("y", "a") + " z tego co ma.\n");
    add_prop(OBJ_S_WIZINFO, "by Morley '99\n");

    set_skill(SS_WEP_SWORD, 60);
    set_skill(SS_WEP_AXE, 60);
    set_skill(SS_WEP_POLEARM, 60);
    set_skill(SS_WEP_KNIFE, 60);
    set_skill(SS_WEP_CLUB, 60);
    set_skill(SS_2H_COMBAT, 60);
    set_skill(SS_BLIND_COMBAT, 80);
    set_skill(SS_DEFENCE, 50);
    set_skill(SS_PARRY, 50);

    wylosuj_bron();

    tmp = random(sizeof(napiersniki));
    add_armour(napiersniki[tmp]);
    tmp = random(sizeof(helmy));
    add_armour(helmy[tmp]);

    set_act_time(30 + random(10));
    set_cact_time(5);

    add_act("emote przeglada swoj ekwipunek.");
    add_act("emote rozglada sie podejrzliwie dookola.");
    add_act("emote wyjmuje kawalek suszonego miesa i zaczyna je jesc.");
    add_act("emote klnie cos pod nosem.");
    add_act("'Zdaje sie ze cos tu slyszal" + koncowka("em", "am") + ".");
    add_act("'Ehh... Zle sie dzisiaj czuje.");
    add_act("'Ehh... Przyjemnie by bylo kogos zabic.");
    add_act("'Wydaje mi sie, ze gdzies tu kreci sie jakis intruz.");
    add_act("emote drapie sie po plecach.");
    add_act("ziewnij");
    
    add_cact("krzyknij No, no no! Nareszcie cos do roboty.");
    add_cact("emote syczy zlowrogo: Pozalujesz tego. Dobrze o tym wiesz.");
    add_cact("jeknij bolesnie");
    add_cact("skrzyw sie");
    add_cact("emote szepcze: Doskonale nadasz sie na oltarz mojego Pana.");
    add_cact("'Szkoda, ze nie przypaletal sie tutaj ktos lepszy.");
    add_cact("krzyknij Chodzcie bracia! Wreszcie ktos nas odwiedzil!");
    add_cact("'Ha, ha! I ty chciales mnie pokonac?");
    add_cact("emote smieje sie z ciebie do rozpuku.");

    set_aggressive(q_att);
}

void
wylosuj_bron()
{
    int tmp = sizeof(bronie);
    int a = random(tmp);

    if (pointerp(bronie[a]))
    {
	add_weapon(bronie[a][0]);
	add_weapon(bronie[a][1]);
    }
    else
	add_weapon(bronie[a]);
}

int
q_att()
{
    if (this_player()->query_prop(IMPERIUM_STWOR_CHAOSU) == 1)
	return 0;
    set_follow(this_player(), 1.0, 1);
    return 1;
    
}

void
attacked_by(object ob)
{
	set_follow(ob, 1.0, 1);
	::attacked_by(ob);
}