#pragma strict_types
inherit "/std/monster";
inherit "/lib/trade";
#include <money.h>
#include "dir.h"
int nr_fryz;
object *inwen_gracza;
object fryzura;
string *tab_dlu = ({"obciete przy samej skorze","bardzo krotkie","krotkie","sredniej dlugosci",
"niezbyt dlugie","dlugie", "siegajace ramion","siegajace pasa","siegajace kolan","siegajace kostek"});
string *tab_typ = ({"blond","kruczoczarne","czarne","mahoniowe","ciemnobrazowe","brazowe","jasnobrazowe",
"orzechowe","kasztanowe","szare","siwe","biale","snieznobiale","rude","ogniste","czerwone","zlote",
"srebrne","niebieskie","jasnoniebieskie","morskie","zielono","turkusowo","alabastrowo","teczowo"});
string *tab_opi = ({"upiete w konski ogon","upiete w kucyk","upiete w kok","zaplecione w warkocz",
"zaplecione w wakorcze","luzno zwiazane z tylu glowy","zwiazane w kitke","zaczesane do tylu",
"zaczesane na lewa strone","zaczesane na prawa strone","cale w loczkach","loki opadajace na twarz",
"spiete spinka","zmierzwione i brude","lsniace i czyste","postawione na sztorc na czubku glowy",
"przylizane kawalkiem tluszczu","miekkie i puszyste","lekko przerzedzone","mocno przerzedzone",
"przeplecione liscmi","ulozone w fale","calkowicie proste"});

string *tab_opi2 = ({"sa upiete w konski ogon","sa upiete w kucyk","sa upiete w kok","sa zaplecione w warkocz",
"sa zaplecione w wakorcze","sa luzno zwiazane z tylu glowy","sa zwiazane w kitke","sa zaczesane do tylu",
"sa zaczesane na lewa strone","sa zaczesane na prawa strone","sa cale w loczkach","to loki opadajace na twarz",
"sa spiete spinka","sa zmierzwione i brude","sa lsniace i czyste","sa postawione na sztorc na czubku glowy",
"sa przylizane kawalkiem tluszczu","sa miekkie i puszyste","sa lekko przerzedzone","sa mocno przerzedzone",
"sa przeplecione liscmi","sa ulozone w fale","sa calkowicie proste"});
void plac_kase(string str,string reszta);
void
create_monster()
{
ustaw_imie( ({"marthyn","marthyna","marthynowi","marthyna","marthynem","marthynie"}), PL_MESKI_OS);
    dodaj_przym("stary","starzy");
    dodaj_przym("uczesany","uczesani");
set_long("Usmiechniety, wysoki mezczyzna z dlugimi, niezle uczesanymi i zadbanymi wlosami." +
                 " W jednej dloni trzyma male, poreczne nozyczki, w drugiej zdobiony, kosciany " +
                 "grzebyk. Najwidoczniej pelnij funkcje miejscowego fryzjera.\n");
    ustaw_odmiane_rasy(PL_MEZCZYZNA);
    set_gender(G_MALE);
    add_prop(CONT_I_WEIGHT, 85000);
    add_prop(CONT_I_HEIGHT, 190);  
    set_stats(({ 15, 15, 15, 15, 15, 15}));
    set_chat_time(10);
    add_chat("Witaj, Przybyszu!");
    add_chat("Kto cie oszpecil taka brzydka fryzura?");
    add_chat("Czas na male strzyzenie?");
    add_chat("Moze ktos chce zmienic swoj wyglad?");
    add_chat("Jestem najlepszy w swoim fachu!");
    set_cchat_time(5);
    add_cchat("Pomocy!");
    add_cchat("Dlaczego mnie bijesz?");
    add_cchat("Ja tu tylko strzyze!");
    set_act_time(10);
    add_act("emote zbiera sciete wlosy z podlogi.");
    add_act("emote czysci nozyczki.");
    add_act("emote poprawia swoja fryzure.");
    add_act("emote wrzuca kawalki scietych wlosow do " +
            "workow lezacych pod sciana.");
    add_act("emote rozglada sie z roztargnieniem.");
    config_default_trade();
    set_money_give_reduce( ({ 0, 2, 3, 3 }) );
}
void
add_introduced(string imie)
{
    set_alarm(2.0, 0.0, "return_introduce", imie);
}
void
return_introduce(string imie)
{
    object osoba;
    
    osoba = present(imie, environment());
    if (osoba)
        command("przedstaw sie " + OB_NAME(osoba));
}
void 
init_living()
{
    ::init_living();
    add_action("zam_fry", "zamow");
    add_action("usu_fry", "usun");
}
int
zam_fry(string tekst)
{
int i;
int pom1;
int pom2;
string test;
string s1, s2, s3;
    int *arr;
    int num;
    num = sizeof(query_money_types());  
    if (!tekst)
          {
notify_fail("Co chcesz zamowic?\n");
        return 0;
          }
sscanf(tekst, "%s, %s wlosy %s", s1, s2, s3);
      
nr_fryz = 0;
for (i=0;i<sizeof(tab_dlu);i++)
if (nr_fryz == 0 && tab_dlu[i] == s1)
    {
nr_fryz = 1;
    }
for (i=0;i<sizeof(tab_typ);i++)
if (nr_fryz == 1 && tab_typ[i] == s2)
    {
nr_fryz = 2;
    }
for (i=0;i<sizeof(tab_opi);i++)
if (nr_fryz == 2 && tab_opi[i] == s3)
    {
pom1 = i;
nr_fryz = 3;
break;
    }
pom2 = 0;
if (nr_fryz ==3)
    {
pom2 = 1;
    }
else
    {
command("hmm");
command("powiedz Nie znam takiej fryzury.");
return 1;
    }
nr_fryz = 0;
inwen_gracza = all_inventory(this_player());
for (i=0;i<sizeof(inwen_gracza);i++)
if (inwen_gracza[i]->query_short() == "fryzura")
nr_fryz = i + 1;
if (nr_fryz)
    {
command("podrap sie");
command("powiedz Najpierw musisz usunac stara fryzure. " +
        "To nic nie kosztuje!");
return 1;
    } 
arr=pay(1000, this_player(), "", 0, 0, "");
   if (sizeof(arr) == 1)
   return 0;    
plac_kase(
                text(arr[0 .. num - 1], PL_BIE), 
                text(arr[num .. 2 * num - 1], PL_BIE));
fryzura = clone_object(DIR + "fryzura.c");
        fryzura->s_opis(tab_opi2[pom1]);
        fryzura->s_typ(s2);
        fryzura->s_dlugosc(s1);
write(short(this_object()) + " wykonuje kilka szybkich ruchow swoimi nozyczkami i grzebykiem. " +
          "Zanim sie spostrzegles, masz juz nowa fryzure.\n");
saybb(QCIMIE(this_player(), PL_MIA) + " na chwile znika pod " +
    "szybkimi ruchami fryzjera uzbrojonego w nozyczki i grzebyk." +
    " Po chwili sprawca tego zamieszania staje zadowolony ze " +
    "swego dziela.\n");
fryzura->move(this_player());
return 1;
}
int
usu_fry(string tekst)
{
string test;
  
    if (!tekst)
          {
notify_fail("Co chcesz usunac?\n");
        return 0;
          }
if (tekst == "fryzure")
{
int i;
nr_fryz = 0;
inwen_gracza = all_inventory(this_player());
for (i=0;i<sizeof(inwen_gracza);i++)
if (inwen_gracza[i]->query_short() == "fryzura")
nr_fryz = i + 1;
if (!nr_fryz)
{
write("Nie masz zadnej fryzury!\n");
return 1;
}
write("Fryzjer mamrocze pod nosem kilka tajemniczych slow, po czym robi." +
          "szybko znak z nozyczek i grzebyka. Nagly blysk i nie masz juz fryzury.\n");
saybb(" Glowa " + QCIMIE(this_player(), PL_DOP) +
      " zostaje rozswietlona na chwilke blyskiem " +
      "wystrzelonym ze skrzyzowanych nozyczek i grzebyka" +
      " fryzjera. Po chwili nie ma juz sladu po fryzurze.\n");
inwen_gracza[nr_fryz-1]->remove_object();
return 1;
}
}
void
plac_kase(string str, string reszta)
{
    write("Placisz " + str);
    if (reszta)
        write(" i dostajesz " + reszta + " reszty");
    write(".\n");
}
