inherit "/d/Imperium/std/monster";

#include "zamek.h"

void
create_monster()
{
    dodaj_nazwy(({"karczmarz", "karczmarza", "karczmarzowi", "karczmarza", 
    		  "karczmarzem", "karczmarzu"}), 
    		({"karczmarze", "karczmarzy", "karczmarzom", "karczmarzy", 
    		  "karczmarzami", "karczmarzach"}), PL_MESKI_OS);

    ustaw_imie(({"herbert", "herberta", "herbertowi", "herberta",
    		  "herbertem", "herbercie"}), PL_MESKI_OS);
    
    set_long("Karczmarz jest niewysokim, pulchnym mezczyzna o bardzo smutnych oczach. Juz "+
             "na pierwszy rzut oka, widac, ze jest w glebokiej depresji. Nosi zwykle "
           + "spodnie i kamizelke, a elementem wyrozniajacym go z tlumu jest bialy "
           + "fartuch, ktorym owiniety jest w pasie. Wyglada na prawdziwego smakosza i "
           + "wiecznego glodomora.\n");

    ustaw_odmiane_rasy(PL_CZLOWIEK);

    dodaj_przym ("niewysoki","niewysocy");
    dodaj_przym ("smutny","smutni");

    set_gender(G_MALE);
    
    add_prop(CONT_I_WEIGHT, 70000);
    add_prop(CONT_I_HEIGHT, 185);
    
    set_skill(SS_DEFENCE, 15 + random(10));
    set_skill(SS_UNARM_COMBAT, 20 + random(10));
    set_skill(SS_PARRY, 10 + random(10));
    
    set_stats(({45, 38, 70, 41, 35, 60}));
    
    set_chat_time(12);
    add_chat("Czym moge sluzyc ?");
    add_chat("Czy chcesz cos zamowic ?");
    
    set_cchat_time(7);
    add_cchat("Co ja ci takiego zrobilem ?");
    add_cchat("Beze mnie ta karczma podupadnie !");
    add_cchat("Zostaw mnie !");
    add_cchat("Uspokoj sie ! Straz !!!!");
    
    set_act_time(15);
    add_act("emote szacuje cie wzrokiem.");
    add_act("emote wyciera blat scierka.");
    add_act("emote uklada szklanki.");
    add_act("emote przyglada sie twojej sakiewce.");
    add_act("emote oblizuje sie.");
}

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 smieje sie trzesac swym brzuszyskiem."); break;
      case 2 : command("powiedz Co cie tak smieszy? Moze posmiejemy sie razem !"); break;
      default:
        command("hmm");
    }
}

void
zly(object kto)
{
    command("powiedz Nie bedziesz mnie obrazac!");

    tell_room(find_object(PATH + "karczma.c"), "Karczmarz wyrzuca "
	      + QCIMIE(kto,PL_BIE) + " z karczmy.\n",kto);

    write("Karczmarz wyrzuca cie na ulice.\n");

    kto->move_living("M", NPATH + "ulica25.c", 1, 0);
}

void
dobry(object kto) 
{
    int los;
    
    if(kto->koncowka("chlop","baba")=="chlop") zly(kto);
    else
      {
        los = random(4);
    
        switch (los) 
        {
          case 0 : command("emote mowi: Nawet nie masz co liczyc na znizke !"); break;
          case 1 : command("emote czerwieni sie."); break;
          case 2 : command("emote mowi: Chcesz razem ze mna poprowadzic moj biznes ?"); break;
          case 3 : zly(kto);
        }
      }
}

string
query_presentation()
{
    return "Herbetr Marcuse, karczmarz, czlowiek";
}

void
add_introduced(string imie)
{
    set_alarm(2.0,0.0,"return_intro", imie);
}

varargs void 
return_intro(string kto)
{
    /* Przedstawia sie tylko graczom - w ten sposob unikamy zapetlenia. */

    command("przedstaw sie " + find_player(kto)->query_real_name(PL_CEL));
}
