/* Plik:          gornik.c
 * Autor:         by Tarkin :)
 * Data:          26.10.97
 * Last update:   26.10.97
 * Opis:          Standardowy gornik w Karak-Varn
 */

inherit "/d/Imperium/std/monster";

#include "local.h"

#define PRZYMIOTNIKI ({({"niski","niscy"}), ({"rudobrody","rudobrodzi"}), \
               ({"zmeczony","zmeczeni"}), ({"zasepiony","zasepieni"}),({"przygarbiony","przygarbieni"})})
#define LICZBA_PRZYMIOTNIKOW 5

void
create_monster()
{

        int i, j;

    ustaw_nazwe(({"gornik", "gornika", "gornikowi", "gornika", "gornikiem",
        "gorniku"}), ({"gornicy", "gornikow", "gornikom", "gornikow", "gornikami", "gornikach"}), PL_MESKI_OS);

    set_gender(G_MALE);
        add_prop(LIVE_I_NEVERKNOWN,1);
    
    set_random_move(10);
    set_restrain_path(PATH);
    
    ustaw_odmiane_rasy(PL_KRASNOLUD); 

    set_alignment(50);

    set_long("Zgarbiony od ciaglej pracy w niskich tunelach kopalni gornik. Twarz ma cala pomarszczona. "+
        "Dluga praca w ciemnych podziemiach nie pozostala bez wplywu na jego zdrowie. " +
             "Ubrany jest w stary i pobrudzony kubrak.\n"); 
   
        i = random(LICZBA_PRZYMIOTNIKOW);
        j = random(LICZBA_PRZYMIOTNIKOW - 1);
        if(j >= i)
          ++j;

        dodaj_przym(PRZYMIOTNIKI[i][0], PRZYMIOTNIKI[i][1]);
        dodaj_przym(PRZYMIOTNIKI[j][0], PRZYMIOTNIKI[j][1]);

    set_stats(({ 40+random(30), 20+random(30), 40+random(20), 35, 40, 50 }));

    set_skill(SS_CLIMB, 20);
    set_skill(SS_WEP_WARHAMMER,31);
     
    set_chat_time(20+random(10));
    add_chat("Jestem zmeczony praca.");
    add_chat("Daj mi odpoczac.");
 
    set_act_time(random(11));
    add_act(({"westchnij", "usmiechnij sie"}));
    add_act("emote ociera pot z czola.");

    set_cchat_time(3 + random(5));
    add_cchat("Dlaczego mnie bijesz? Przeciez nic ci nie zrobilem.");
    add_cchat("Pozalujesz swego czynu.");
    
    set_cact_time(5);
    add_cact(({"krzyknij", "popukaj sie"}));
    add_cact("emote potyka sie o kamien.");
    add_cact("emote krzyczy STRAZE NA POMOC.");
    add_cact("emote krzyczy RATUNKU !!!");
    
    add_weapon(MPATH + "kilof.c");
    
    dodaj_miedz(30);
}

public void
wesprzyj(object ob)
{
    if (query_attack())
    {
/*
        switch(random(3))
        {
            case 0: command("emote syczy glosno."); break;
            case 1: command("krzyknij Besssstio!"); break;
            case 2: command("krzyknij Ku chwale gadow!"); break;
        }
*/        
        return ;
    }
    
    command("wesprzyj " + OB_NAME(ob));
    
    if (query_attack())
    {
        switch(random(5))
        {
            case 0: command("krzyknij Zgin Bestio!"); break;
            case 1: command("krzyknij Do broni!"); break;
            case 2: command("krzyknij Krasnoludow sie bic zachcialo, A?"); break;
            case 3: command("krzyknij Zgin pomiocie Chaosu!"); break;
            case 4: command("krzyknij Na smierc!"); break;
        }
        return ;
    }

}

public void
pomocy()
{
    (all_inventory(environment(this_object())) - ({ this_object() }))->wesprzyj(this_object());
}

void
attacked_by(object wrog)
{
    command("krzyknij Do boju!");
    set_alarm(0.1, 0.0, "pomocy");
    return ::attacked_by(wrog);
}

void
notify_you_killed_me()
{
    set_alarm(0.2,0.0,"ograbiamy");  
}    

void
ograbiamy()
{
    command("wez wszystko z ciala");
}
