#include <stdproperties.h>
#include <ss_types.h>
#include <wa_types.h>
#include <macros.h>
#include <tasks.h>

#include "morley.h"

inherit "/d/Imperium/std/chaos.c";

#define HELMY ({ ARM_PATH + "helmo.c", \
                 ARM_PATH + "helmg.c" })

#define BRONIE ({ WEP_PATH + "gizarma.c",\
		  WEP_PATH + "topor3.c",\
		  WEP_PATH + "miecz3.c" })

#define PRZYMIOTNIKI1 ({ ({ "potezny", "potezni" }),\
			 ({ "silny", "silni" }),\
			 ({ "wielki", "wielcy" }),\
			 ({ "olbrzymi", "olbrzymi" }),\
			 ({ "wysoki", "wysocy" }), })

#define PRZYMIOTNIKI2 ({ ({ "okrutny", "okrutni" }),\
			 ({ "zabojczy", "zabojczy" }),\
			 ({ "zlowrogi", "zlowrodzy" }),\
			 ({ "ponury", "ponurzy" }),\
			 ({ "grozny", "grozni" }),\
			 ({ "morderczy", "morderczy" }), })

int gr;
int grupa(int g)
{
	gr = g;
}
void
dodaj_nazwy_m(string *a, string *b, int c, int d);
int q_att();

void
create_chaos()
{
    int tmp;
    
    gr = 0;

    ustaw_odmiane_rasy(({"rycerz chaosu", "rycerza chaosu", "rycerzowi chaosu",
		      "rycerza chaosu", "rycerzem chaosu", "rycerzu chaosu"}),
		({"rycerze chaosu", "rycerzy chaosu", "rycerzom chaosu",
		      "rycerzy chaosu", "rycerzem chaosu", "rycerzach chaosu"}),
		PL_MESKI_OS);

    dodaj_nazwy(({"rycerz", "rycerza", "rycerzowi", "rycerza", "rycerzem", "rycerzu"}),
		({"rycerze", "rycerzy", "rycerzom", "rycerzy", "rycerzami", "rycerzach"}),
		PL_MESKI_OS);

    dodaj_nazwy_m(PL_CZLOWIEK);
    dodaj_nazwy(PL_MEZCZYZNA);

    set_long("Trudno wlasciwie powiedziec, kto kryje sie pod zbroja okrywajaca cialo " +
	     "rycerza. Jedyne co widac to, ze jest to ktos wysokiej postury i poteznej " +
	     "budowy, czym zupelnie nie rozni sie od innych rycerzy chaosu. Z oczywistych " +
	     "wiec wzgledow, interesujaca jest jedynie pokrywajaca go zbroja. A ta budzi " +
	     "groze pomieszana z podziwem dla jej wysmienitego wykonania. Czarna jak " +
	     "najciemniejsza noc i inkrustowana srebrem z doskonale widocznym nawet z " +
	     "daleka symbolem Slaanesha na piersi.\n");

    tmp = random(sizeof(PRZYMIOTNIKI1));
    dodaj_przym(PRZYMIOTNIKI1[tmp][0], PRZYMIOTNIKI1[tmp][1]);
    tmp = random(sizeof(PRZYMIOTNIKI2));
    dodaj_przym(PRZYMIOTNIKI2[tmp][0], PRZYMIOTNIKI2[tmp][1]);
    
    set_gender(G_MALE);

    set_stats(({160, 110, 150, 50, 50, 150}));

    set_skill(SS_DEFENCE, 45);
    set_skill(SS_WEP_AXE, 55);
    set_skill(SS_WEP_SWORD, 55);
    set_skill(SS_WEP_POLEARM, 55);
    set_skill(SS_PARRY, 65);
    set_skill(SS_UNARM_COMBAT, 55);
    set_skill(SS_AWARENESS, 65);
    set_skill(SS_BLIND_COMBAT, 80);

    add_prop(OBJ_S_WIZINFO, "by Morley '99\n");
    add_prop(NPC_M_NO_ACCEPT_GIVE, " nie zdradza zadnego zainteresowania tym, co mu oferujesz.\n");
    add_prop(CONT_I_HEIGHT, 210);
    add_prop(CONT_I_VOLUME, 130000);
    add_prop(CONT_I_WEIGHT, 110000);
    add_prop(NPC_I_NO_FEAR, 1);
    add_prop(NPC_I_NO_RUN_AWAY, 1);
    add_prop(LIVE_I_NEVERKNOWN, 1);
    add_prop(LIVE_I_SEE_DARK, 4);

    tmp = random(sizeof(BRONIE));
    add_weapon(BRONIE[tmp]);

    tmp = random(sizeof(HELMY));
    add_armour(HELMY[tmp]);
    
    add_armour(ARM_PATH + "nagolen.c");
    add_armour(ARM_PATH + "kirys.c");
    add_armour(ARM_PATH + "lnaram.c");
    add_armour(ARM_PATH + "pnaram.c");

    set_act_time(20 + random(10));
    set_cact_time(5);

    add_act("emote poleruje szmatka swoja czarna zbroje.");
    add_act("emote rozglada sie uwaznie dookola.");
    add_act("emote smieje sie do rozpuku nie wiadomo z czego.");
    add_act("emote z miloscia spoglada na swoja bron.");

    add_cact("usmiech spokojnie");
    add_cact("emote smieje sie donosnie.");
    add_cact(({"'I po co ci to bylo? No po co?", "zarechocz szyderczo"}));
    add_cact(({"'Nie boj sie... Slaanesh bedzie dla ciebie laskawy...", "emote wybucha " +
		   "szalenczym smiechem."}) );
    add_cact("emote patrzy na ciebie z politowaniem.");
    add_cact("'To byl twoj ostatni blad.");
    add_cact("'Zarabie cie jak psa!");
    add_cact("warknij potepienczo");
    add_cact("'Taaaak. Tylko takiego gnojka jak ty nam tutaj brakowalo.");
	
    set_aggressive(q_att);
    set_random_move(30, 0);

}

dodaj_nazwy_m(string *a, string *b, int c, int d)
{
    dodaj_nazwy(a, b, c);
}

int
q_att()
{
    if (this_player()->query_prop(IMPERIUM_STWOR_CHAOSU) == 1)
	return 0;

	if (!gr)
    set_follow(this_player(), 1.0, 1);
    return 1;
}

void
attacked_by(object ob)
{
	if (!gr)
    set_follow(ob, 1.0, 1);
    ::attacked_by(ob);
}
