/*
 * Fryzjer w Athel Loren by Tanis
 */

inherit "/d/Imperium/std/room";


#include "ogolne.h"
#include "spis_fryzur.h"

void
create_imperium_room()
{
        set_short("Fryzjer");

        set_long("@@dlugi_opis");

        add_prop(ROOM_I_INSIDE,1);

        add_item(({"chate","izbe","gabinet"}),"@@dlugi_opis");

        add_item(({"wzory","wzory fryzur"}),"@@oglada_wzory");
        add_item(({"wzory kolorow","wzory kolorow wlosow"}),"@@oglada_wzory_kolorow");
        add_item(({"wzory dlugosci","wzory dlugosci wlosow"}),"@@oglada_wzory_dlugosci");
        add_item(({"wzory typow","wzory typow wlosow"}),"@@oglada_wzory_typow");
        
        add_cmd_item(({"cennik","tabliczke"}),"przeczytaj","@@czyta_cennik");
        add_item(({"tabliczke","cennik"}),"Cennik z pewnoscia da sie przeczytac !\n");

        add_item(({"drzewo","pien"}),"Drzewo, o ktorego pien oparta jest chata jest bardzo grube, stare i wyglada na bardzo mocne.\n");
        add_item(({"lustro","zwierciadlo"}),"@@opis_lustra");
        add_item(({"sciany","sciane"}),"Sciany wykonano z debowego drewna.\n");
        add_item("narzedzia","Kolo lustra wisza brzytwy, nozyce, grzebienie. Tak ... Na pewno tutaj pracuje fryzjer.\n");

        add_exit(APATH + "ulica35.c", "poludniowy-zachod","@@czy_jest_strzyzony",1);

        dodaj_npca(PATH + "fryzjer/fryzjer_npc.c");
}

int
czy_jest_strzyzony()
{
  if(this_player()->query_prop(PLAYER_JEST_WLASNIE_STRZYZONY))
    {
        write("Przeciez nie mozesz wyjsc w trakcie strzyzenia !\n");
        return 1;
    }
  else return 0;
}
  
string
jaka_ma_fryzure()
{
  object *tablica;
  object ob;
  int a,czy_jest=0;

  tablica=deep_inventory(this_player());

  for(a=0;a<sizeof(tablica);a++)
     {
      if(tablica[a]->id("fryzura"))
         {
            ob=tablica[a];
            return ob->jak_ostrzyzony();
         }
     }  

  return(", ktore" + this_player()->koncowka("go","j") + " wlosy sa w nieladzie");
}

string
opis_lustra()
{
    tell_room(find_object(PATH + "sklepy/fryzjer.c"), QCIMIE(this_player(),PL_MIA) + " przeglada sie w lustrze.\n",this_player());

    return ("Lustro jest naprawde duze. W srebrnej ramie obsadzono gladki krysztal, w ktorym odbija sie postac " + 
        this_player()->query_nonmet_name(PL_DOP) + jaka_ma_fryzure()+". Zwierciadlo wyglada na bardzo cenne i wlasciciel na pewno nie chcialby, aby sie stluklo !\n");
}

string
dlugi_opis()
{
 return("Jestes w duzej, przestronnej chacie. Zbudowana jest z drewna, a jedna ze scian tworzy "
    + "pien grubego, wiekowego drzewa. Na jednej z pozostalych scian wisi lustro. Izba sprawia wrazenie, "
    + "jakby nikt w niej nie mieszkal, tylko byla wykorzystywana jako miejsce pracy. Po narzedziach "
    + "zawieszonych kolo lustra widac, ze jest to prawdopodobnie gabinet fryzjera. Na scianie wisza wzory "
    + "pokazujace, w jaki sposob mozna sie ostrzyc. Oprocz tego, na malej tabliczce znajduje sie cennik uslug.\n");
}

int
przeglada(string str)
{
    notify_fail("Chyba chcesz przejrzec <sie> <w czyms> ?\n");

    if (str != "sie w lustrze" && str != "sie w zwierciadle")
       {
          return 0;
       }

     write("Zagladasz w glab krysztalowego lustra i widzisz postac " +
      this_player()->query_nonmet_name(PL_DOP) + jaka_ma_fryzure()+".\n");

    tell_room(find_object(PATH + "sklepy/fryzjer.c"), QCIMIE(this_player(),PL_MIA) + " przeglada sie w lustrze.\n",this_player());

    return 1;
}

string
oglada_wzory()
{
     return("Ktore wzory chcesz obejrzec ? Wzory kolorow, dlugosci czy typow wlosow ?\n");    

}

string
oglada_wzory_kolorow()
{
    return("  Wzory zakladu fryzjerskiego w Athel Loren : \n" + zwroc_kolory_wlosow());
}

string
oglada_wzory_dlugosci()
{
    return("  Wzory zakladu fryzjerskiego w Athel Loren : \n" + zwroc_dlugosci_wlosow());
}

string
oglada_wzory_typow()
{
   this_player()->more("  Wzory zakladu fryzjerskiego w Athel Loren : \n" + zwroc_typy_wlosow());
   
   return "";
}

string
czyta_cennik()
{
 return("\n          Zaklad Fryzjerski w Athel Loren\n\n"
     + " Juz teraz <zamow> fryzure !\n"
     + "   Wzory dlugosci, kolorow i typow fryzur znajdziesz na scianie. \n"
     + "   Postac komendy : \n      <zamow dlugosc, kolor typ>\n"
     + "     np. : zamow bardzo dlugie, kruczoczarne wlosy upiete w konski ogon\n"
     + "     lub : zamow bardzo dlugie, kruczoczarne 11\n"
     + "   Mozesz tez zamowic wlosy normalne, co spowoduje usuniecie fryzury.\n"
     + "   Usuwanie fryzury jest bezplatne !\n\n"
     + "  Cena pozostalych fryzur to tylko 10 zlotych monet !\n"
     + "  Uwaga : Dla Lesnych Elfow znizka - strzyzenie kosztuje tylko 1000 miedziakow!\n");
}

int
oglada_log(string str)
{
  write(read_file(PATH + "fryzjer/ostrzyzeni"));
  return 1;
}

int
konczy_strzyzenia(string str)
{
  object *tablica;
  int a;

  tablica=deep_inventory(this_object());

        for(a=0;a<sizeof(tablica);a++)
           {
             if(tablica[a]->query_prop(PLAYER_JEST_WLASNIE_STRZYZONY))
               {
                 tablica[a]->remove_prop(PLAYER_JEST_WLASNIE_STRZYZONY);
               }
           }
 return 1;
}

void
init()
{
  ::init();
  add_action(przeglada,"przejrzyj");
  if(this_player()->query_wiz_level())
    {
      add_action(konczy_strzyzenia,"zakoncz_strzyzenia");
      add_action(oglada_log,"sprawdz_strzyzenia");
    }
}
