/*
 *  Plik:         sierz.c
 *  Autor:        Aleksy
 *  Data:         06.12.1998
 *  Last Update:  07.12.1998
 *  Opis:         Kratz - sierzant zamkowej strazy.
 */

inherit "/d/Imperium/std/monster.c";
#include "zamek.h"
#include <pl.h>
#include <ss_types.h>
#include <stdproperties.h>

void
create_monster()
{
    ustaw_nazwe(({"kratz", "kratzego", "kratzowi",
			      "kratzego", "kratzem", "kratzcie"}),
			    ({"", "", "", "", "", ""}), PL_MESKI_OS);

	dodaj_nazwy(({"sierzant", "sierzanta", "sierzantowi",
				  "sierzanta", "sierzantem", "sierzancie"}),
				({"", "", "", "", "", ""}),	PL_MESKI_OS);

	ustaw_shorty(({"czarny sierzant", "czarnego sierzanta",
		"czarnemu sierzantowi", "czarnego sierzanta",
		"czarnym sierzantem", "czarnym sierzancie"}),
		({"", "", "", "", "", ""}),	PL_MESKI_OS);

	dodaj_przym("czarny", "czarni");

	set_long("Stoi przed toba sierzant strazy z "
	    + "zamku Wittgenstein. Jest to wysoki i "
		+ "dobrze zbudowany mezczyzna. Jego postura "
		+ "budzi u ciebie respekt pomieszany z "
		+ "przerazeniem. Jego "
		+ "twarz jest do tego stopnia zgnila, ze sierzant "
		+ "nigdy nie podnosi przylbicy swego helmu.\n");

	ustaw_odmiane_rasy(PL_CZLOWIEK);
	set_gender(G_MALE);

	set_stats(({50, 45, 50, 20, 20, 50}));

	set_skill(SS_SHIELD_PARRY, 25);
	set_skill(SS_DEFENCE, 40);
    set_skill(SS_AWARENESS, 50);
	set_skill(SS_WEP_CLUB, 70);
	set_skill(SS_PARRY, 30);

	set_act_time(12 + random(20));
	add_act("emote mowi: Co tu tak stoisz? Nie masz czym sie zajac?\n");
    add_act("emote krzyczy: Idz stad, tylko mi przeszkadzasz!\n");
	add_act("emote mowi: Lepiej odejdz stad jezeli chcesz zyc!\n");
	add_act(({"usmiech bojowo", "wzdrygnij sie"}));

	set_cact_time(4 + random(3));
    add_cact("emote mowi: Odwazyles sie mnie zaatakowac? Wiec zgieniesz!\n");
    add_cact("emote krzyczy: Zaatakowales mnie ... nawet "
		+ "sobie nie wyobrazasz jaki to blad!\n");
	add_cact("emote krzyczy: Nie odejdziesz stad zywy ...\n");
	add_cact("emote mowi: Juz po tobie!\n");

	add_weapon(BRONIE + "korb_m.c");
	add_armour(ZBROJE + "kolcz_m.c");
	add_armour(ZBROJE + "helm_m.c");
	add_armour(ZBROJE + "tarcza_m.c");
	add_armour(ZBROJE + "nogawice.c");

	dodaj_srebro(10);
	dodaj_zloto(random(2));
}

void
add_introduced(string imie)
{
	set_alarm(2.0, 0.0, "return_introduce", imie);
}

string
query_presentation()
{
	return("Kratz, Sierzant Zamkowej Strazy, czlowiek");
}

void
return_introduce(string kto)
{
    command("przedstaw sie " + OB_NAME(find_living(kto, 0)));
}

public void
wesprzyj_gw(object ob)
{
    if (query_attack())
    {
        return ;
    }
    command("wesprzyj " + OB_NAME(ob));
    if (query_attack())
    {
        switch(random(3))
        {
            case 0: command("krzyknij Napssszod!"); break;
            case 1: command("krzyknij Do broni!"); break;
			case 2: command("krzyknij Na smierc!"); break;
        }
        return ;
    }
}

public void
pomocy()
{
    (all_inventory(environment(this_object())) - ({ this_object() }))->wesprzyj_gw(this_object());
}

void
attacked_by(object wrog)
{
	command("krzyknij Na pomoc!");
    set_alarm(0.1, 0.0, "pomocy");
    return ::attacked_by(wrog);
}
