/*
 * Biblioteka w palacu w Athel-Loren
 * by Tanis
 */
 
inherit "/d/Imperium/std/library_std";

// #include "library.h"
#include "lelf.h"

void
create_imperium_room()
{
  string *rada;
  int a;
  
  restore_object(BIBLPATH+"saveob");
  admin=({});
  
  set_short("Biblioteka");
  set_long("Znajdujesz sie w duzym, jasnym pomieszczeniu. Jest ono po brzegi wypelnione "
     + "regalami, uginajacymi sie pod ciezarem zgromadzonych na nich ksiazek. Duze okna "
	 + "zapewniajace swiatlo, oraz cisza panujaca w dalszych rejonach biblioteki pozwalaja "
	 + "na skupienie sie i pograzenie w lekturze. Po sali przechadzaja sie bibliotekarze "
	 + "czuwajacy nad cisza i spokojem oraz co jakis czas przynoszacy zamowione ksiazki. "
	 + "Na najblizszym regale umieszczono tabliczke zawierajaca instrukcje korzystania "
	 + "z biblioteki.\n");

  add_item(({"szafe", "szafy", "polke", "polki", "ksiazki", "regaly"}), 
    "Wysokie az do sufitu szafy sa wykonane z solidnego drewna, jednak " +
    "wydaje sie, jakby w kazdej chwili mialy runac pod ciezarem " +
    "zgromadzonych w nich ksiazek. Szafy ciagna sie rownymi rzedami przez " +
    "cala dlugosc sali. Komus niezorientowanemu trudno byloby znalezc " +
    "tutaj interesujaca go ksiazke. Dlatego pomoca sluza bibliotekarze.\n");
  add_item(({"bibliotekarza", "bibliotekarzy"}), 
    "Bibliotekarze krzataja sie po calym pomieszczeniu zajeci " +
    "inwentaryzacja ksiazek i obslugiwaniem wypozyczajacych.\n");
  add_item(({"tabliczke","tablice"}),"Moze lepiej ja przeczytac?\n");
  add_cmd_item(({"tablice","tabliczke", "zasady"}), "przeczytaj", 
    "Witaj w palacowej bibliotece Athel-Loren.\n" +
    "Korzystac z biblioteki moga wszyscy,\n" +
	"pod warunkiem zachowania ciszy i spokoju.\n" +
	"Ksiazki nalezy czytac na miejscu, wynoszenie ich poza\n" +
	"to pomieszczenie jest surowo wzbronione.\n"+
    "Nie wszystkie ksiazki z tej biblioteki sa obecnie dostepne, "+
	"liste wypozyczanych ksiazek mozna poznac komenda <spis>.\n"+
	"Komendy <wypozycz> i <zwroc> nie wymagaja "+
    "komentarza. Kazdy z korzystajacych z biblioteki moze rowniez " +
    "napisac wlasna ksiazke (z pomoca komendy <napisz>) i przedstawic " +
    "ja administracji biblioteki. Jezeli ksiazka zostanie uznana za " +
    "wartosciowa, zostanie opublikowana i udostepniona w zbiorach " +
    "tutejszej biblioteki.\n");

/* Tutaj znajduja sie wyjscia. wyjdz() nie pozwala graczowi wyjsc bez zwrotu
    wypozyczonych ksiazek  */    

  add_exit(PALPATH + "gali1.c", "zachod", "@@wyjdz");
  add_exit(EBIBLPATH + "biblelfia.c", "poludnie", "@@elfia");

/* Pokoj administratora biblioteki */
  add_exit(BIBLPATH + "admin.c","polnoc","@@wcheck",1);

  add_prop(ROOM_I_LIGHT, 5);
  add_prop(ROOM_I_INSIDE, 1);

  set_event_time(20.0, 130.0);
  add_event("Przez sale przechodzi zamyslony elf.\n");
  add_event("Do jednej z szaf podchodzi usmiechniety elf, aby przejrzec jej zawartosc.\n");
  add_event("Z glebi sali dobiega cie glosny zgrzyt odsuwanego krzesla.\n");
  add_event("Niezmacona cisze tego miejsca rozdziera przerazliwy zgrzyt " +
  	    "gilotyny tnacej papier.\n");
  add_event("Jeden z bibliotekarzy ucisza halasliwego goscia na koncu sali.\n");
  set_events_on(1);
  
  set_katalog_biblioteki(BIBLPATH);
  set_katalog_usunietych(BIBLPATH+"usuniete/");
  set_zarzadca(BIBLZARZADCA);
  set_nazwa_dop("Biblioteki w Athel-Loren");
  
  rada=(GILDIA)->lista_osob(JEST_RADNYM);
  rada+=m_indices(SPECJALNE_PRAWA_DOSTEPU);
  
  for(a=0;a<sizeof(rada);a++)
  {
    if((GILDIA)->query_prawa(rada[a])>=LEV_RADNY) add_admin(rada[a]);
  }
}

void 
init()
{
  ::init(); 
  init_library();
}

int
elfia()
{
   if((GILDIA)->query_prawa(this_player()->query_real_name())<LEV_CZLONEK)
   {
      write("Usilujesz przejsc na poludnie, ale jeden z bibliotekarzy blokuje ci rzejscie. To czesc dostepna jedynie dla Lesnych Elfow!\n");
	  return 1;
   }
   
   return wyjdz();
}
