/* Zwykly mieszkaniec Kreutzhofen */

#include "tanis.h"

inherit "/d/Imperium/std/monster.c";

#define PRZYMIOTNIKI ({ ({"podstarzaly","podstarzali"}), ({"mlody","mlodzi"}), ({"sedziwy","sedziwi"}), \
                        ({"gruby","grubi"}), ({"chudy","chudzi"}), ({"wychudzony","wychudzeni"}), \
                        ({"umiesniony","umiesnieni"}), ({"muskularny","muskularni"}), ({"cherlawy","cherlawi"}), \
                        ({"wysoki","wysocy"}), ({"niski","niscy"}), ({"niewysoki","niewysocy"}), \
                        ({"przystojny","przystojni"}), ({"brzydki","brzydcy"}), ({"przystojny","przystojni"}), \
                        ({"dlugoreki","dlugorecy"}), ({"dlugonogi","dlugonodzy"}), ({"przygarbiony","przygarbieni"}), \
                        ({"blady","bladzi"}), ({"opalony","opaleni"}), ({"opalony","opaleni"}), \
                        ({"jasnowlosy","jasnowlosi"}), ({"ciemnowlosy","ciemnowlosi"}), ({"lysy","lysi"}), \
                        ({"smutny","smutni"}), ({"wesoly","weseli"}), ({"roztargniony","roztargnieni"}) })

#define LICZBA_PRZYMIOTNIKOW 27

void
create_monster()
{
    int i,j;
    
    jak_pojawiac_sie(" nadchodzi.");
    jak_znikac(" odchodzi spokojnie.");
    jak_znikac_podczas_walki(" ucieka.");

        ustaw_nazwe(({"mieszkaniec", "mieszkanca", "mieszkancowi", "mieszkanca", "mieszkancem", "mieszkancu"}),
                       ({"mieszkancy", "mieszkancow", "mieszkancom", "mieszkancow", "mieszkancami",
                       "mieszkancach"}), PL_MESKI_OS);

    ustaw_odmiane_rasy(PL_CZLOWIEK);
    set_gender(G_MALE);

    add_prop(LIVE_I_NEVERKNOWN,1);

    i = random(LICZBA_PRZYMIOTNIKOW);
    j = random(LICZBA_PRZYMIOTNIKOW);
    while(!(j>(i+2) || j<(i-2)) ) j = random(LICZBA_PRZYMIOTNIKOW);
   
    dodaj_przym(PRZYMIOTNIKI[i][0], PRZYMIOTNIKI[i][1]);
    dodaj_przym(PRZYMIOTNIKI[j][0], PRZYMIOTNIKI[j][1]);
    
    set_random_move(250,0); 

    set_long("Czlowiek ten wyglada na typowego mieszkanca miasteczka. Nosi zwykle, "
           + "skorzane spodnie, buty i takowa kamizele. Ma na sobie pas, do ktorego przypieta jest "
           + "niewielka, skorzana sakiewka na pieniadze. Sprawia raczej sympatyczne "
           + "wrazenie.\n");

        set_stats(({40,40,40,40,40,40}));

        set_skill(SS_PARRY,10);
        set_skill(SS_WEP_KNIFE, 10 + random(20));
        set_skill(SS_DEFENCE, 15 + random(5));

        add_prop(IMPERIUM_LIVE_I_KREUTZ_CITIZEN, 1);

        add_prop(CONT_I_WEIGHT, 95000);
        add_prop(CONT_I_HEIGHT, 165);
        

        set_cact_time(4);
        add_cact("emote mowi: Dlaczego mnie bijesz ??");
        add_cact("emote sapie: I tak sobie z toba poradze !");
        add_cact("emote krzyczy: Straz !! Straz !!");
        add_cact("emote warczy: Nie poddam sie bez walki !");

        set_act_time(21 + random(20));
        add_act("emote patrzy uwaznie na swe nogi.");
        add_act("emote rozglada sie wokolo.");        
        add_act("emote przyglada ci sie ciekawie.");
        add_act("emote mowi: Czy my sie nie znamy ?");
        add_act("emote grzebie w kieszeni.");

    set_alignment(350);
    set_whimpy(50);  

    add_weapon(BRPATH + "noz.c");
 
   dodaj_srebro(10+random(10));
   dodaj_miedz(10+random(25));
}

void
emote_hook(string emote, object wykonujacy, string przyslowek)
{
    switch (emote)
    {
        case "kopnij": 
        case "spoliczkuj" :
        case "szturchnij":
        case "opluj" : set_alarm(2.0, 0.0, "zly", wykonujacy);
        	    break;
        	    
        case "zasmiej": set_alarm(2.0, 0.0, "return_laugh", wykonujacy);
        	      break;
        case "pocaluj":
        case "przytul": set_alarm(2.0, 0.0, "dobry", wykonujacy);
    }
}

void
return_laugh(object kto) 
{
    switch (random(5)) 
    {
      case 0 : command("zasmiej"); break;
      case 1 : command("emote usmiecha sie."); break;
      case 2 : command("powiedz Co cie tak rozsmieszylo ?"); break;
      default:
        command("hmm");
    }
}

void
zly(object kto)
{
    command("powiedz Nie zadaje sie z takimi jak ty !");

    command("opluj " + OB_NAME(kto));
}

void
dobry(object kto) 
{
    int los;
    
    if(kto->koncowka("chlop","baba")=="chlop") zly(kto);
    else
      {
        los = random(4);
    
        switch (los) 
        {
          case 0 : command("emote wola: Alez ja jestem zonaty !"); break;
          case 1 : command("emote czerwieni sie."); break;
          case 2 : command("emote mowi: Nie chcialabys sie ze mna umowic ?"); break;
          case 3 : zly(kto);
        }
      }
}