/*
 *  Plik:         grimla.c
 *  Autor:        Aleksy
 *  Data:         26.10.1998
 *  Last Update:  26.10.1998
 *  Opis:         Grimla - wymyslony potworek.
 */

inherit "/std/combat/humunarmed.c";
inherit "/std/npc.c";
inherit "/d/Imperium/std/zwierze";
inherit "/std/act/action";
inherit "/std/monster";

#include <wa_types.h>
#include <ss_types.h>
#include <macros.h>
#include <filter_funs.h>
#include <stdproperties.h>

#define TO    this_object()
#define MIECZ "/doc/examples/bronie/miecz.c"
#define BUTY  "/doc/examples/zbroje/buty.c"
#define ZBRO "/doc/examples/zbroje/kolczuga.c"
#define PLASZ "/doc/examples/zbroje/plaszcz.c"

void
create_creature()
{
    ustaw_odmiane_rasy(({"grimla", "grimli", "grimli", 
	"grimli", "grimli", "grimli"}),
	({"grimle", "griml", "grimlom",
	"griml", "grimlami", "grimlach"}), PL_ZENSKI);

    add_prop(LIVE_I_NEVERKNOWN, 1);

    set_long("Jest to dziwne niewielkie zwierzatko. Odrazu widzisz "
           + "ze nie pasuje do tego swiata. Patrzysz na to cos "
           + "i probujesz zgadnac jakiej plci jest to zwierzatko. "
           + "A moze ono w ogole czegos takiego nie ma? Hmmm. "
           + "Musisz nad tym kiedys "
           + "sie zastanowic. Narazie tylko widzisz jak to cos "
           + "chmyczy, bryczy i gmyczy do wszystkich i wszystkiego. "
           + "Gdy przygladasz sie uwazniej zauwazasz dwa kly, "
           + "ktore wystaja z czegos, czego nikt by nie nazwal paszcza. "
           + "Czyli widzisz przed soba cos odrazajacego, ale jednoczescie "
           + "przyciagajacego, bo nigdy czegos takiego nie widziales. "
           + "I nie wiadomo czy kiedys jeszcze sie z tym spotkasz.\n");

    set_gender(G_FEMALE);
    add_prop(CONT_I_WEIGHT, 85000);
    add_prop(CONT_I_HEIGHT, 105);

    set_stats(({25, 25, 22, 30, 30, 40}));
    set_skill(SS_DEFENCE, 35 + random(5));
    set_skill(SS_WEP_SWORD, 25 + random(10));
    set_skill(SS_UNARM_COMBAT, 15 + random(5));
    set_skill(SS_PARRY, 15 + random(10));

    set_act_time(20);
    add_act("emote zuje.");
    set_hp(query_max_hp());
    add_act("emote ryczy gggmmmyyyyyyyy....");

    set_chat_time(40);
    add_chat("Ccchhhhhhhmmmmmmm!");
    add_chat("Bbrrrrrrrrrrrrrr!");
    add_chat("Gggggmmmmmmmmmmmm!");

    add_act(({"mrugnij", "westchnij gleboko", "usmiechnij sie demonicznie."}));
    add_act("emote sapie niezdarnie i spluwa ci przed samym nosem.");
    add_act("emote usmiecha sie do ciebie krwpionco.");

    set_cchat_time(5);
    add_cchat("Ggggggmmmmmmm, A masz!");
    add_cchat("Cchhhmmmmm, Jak smiales mnie zaatakowac?");

    add_weapon(MIECZ);
    add_armour(ZBRO);
    add_armour(BUTY);
    add_armour(PLASZ);
}

void
add_introduced(string imie)
{
    set_alarm(2.0, 0.0, "return_introduce", imie);
}

void
emote_hook(string emote, object wykonujacy, string przyslowek)
{
    switch (emote)
    {
        case "uklon":
            set_alarm(2.0, 0.0, "command", "uklon sie "
                                         + OB_NAME(wykonujacy));
            break;
        case "pocaluj":
        case "przytul":
            command("powiedz Co ty sobie wyobrazasz?!");
            command("kopnij " + OB_NAME(wykonujacy));
            break;
        case "kopnij":
        case "opluj":

            set_alarm(2.0, 0.0, "wkop_mu", wykonujacy);
            break;
        case "zasmiej":
            set_alarm(2.0, 0.0, "return_laugh", wykonujacy);
            break;
    }
}

void
wkop_mu(object kto)
{
    switch (random(3))
    {
        case 0:
            command("powiedz Jak smiales to zrobic, chamie?!");
            command("spoliczkuj " + OB_NAME(kto));
            command("kopnij " + OB_NAME(kto));
            break;
        case 1:
            command("powiedz Zrob to jeszcze raz a pozalujesz!");
            command("kopnij " + OB_NAME(kto));
            break;
        case 2:
            command("powiedz Dosc tego! Teraz dostaniesz za swoje!");
            command("zabij " + OB_NAME(kto));
    }
}


void
return_introduce(string imie)
{
    object osoba;

    osoba = present(imie, environment());

    if (osoba)
        command("powiedz Milo cie poznac, " + osoba->query_wolacz() + ".");
}


void
return_laugh(object kto)
{
    switch(random(2))
    {
        case 0:
            command("powiedz Tak, tak, smiierc to zdrowie. Hi hi !!!");

            break;
        case 1:
            command("powiedz Nie smiej sie tak glosno.");
            command("powiedz Zaklocasz porzadek publiczny.");
    }
}