#pragma strict_types
#pragma no_clone
inherit "/d/Faerun/std/room";
#include <stdproperties.h>
#include <macros.h>
#include "definicje.h"
string *ksiazki=({});
object bibliotekarz;
void dodaj_ksiazke(string ks);
int znajdz_ksiazke(object who);
int sprawdz();
void
create_room()
{
    set_short("Biblioteka");
    set_long("Znajdujesz sie w ogromnej sali, przy kazdej ze scian stoja szafy "+
    "z poukladanymi ksiazkami na ich polkach, siegaja one az do sufitu. Przy "+
    "wejsciu do tego pomieszczenia stoi biurko, a na nim lezy jakas kartka. "+
    "Pomieszczenie jest oswietlone magia, poniewaz nie posiada okien a i "+
    "tak jest tu jasno. Niektore polki z ksiegami sa pokryte gruba warstwa "+
    "kurzu, co oznacza ze dawno juz ich nikt nie uzywal.\n");
    add_item("kartke", "Jest to biala kartka na ktorej jest cos napisane.\n");
    add_cmd_item("kartke", "przeczytaj", "@@tablica");
    add_prop(ROOM_I_INSIDE,1);
    add_exit("biblioteka2","poludnie",sprawdz,0);
    bibliotekarz=clone_object(NPC_PATH+"bibliotekarz");
    bibliotekarz->move(this_object());
    dodaj_ksiazke(NPC_PATH+"ksiazki/marysia.c");
    clone_object(NPC_PATH+"kaplan")->move(this_object());
    clone_object(NPC_PATH+"kaplan")->move(this_object());
    clone_object(NPC_PATH+"kaplan")->move(this_object());
    clone_object(NPC_PATH+"skryba2")->move(this_object());
}
int
tablica()
{
    write("Lista dostepnych tytulow dla zwyklych ludzi:\n"+
	  "1. Marysia Lodziara. \n");
    return 1;
}
int 
wypozycz(string str)
{
    string ktora;
    if (!strlen(str))
    {
	bibliotekarz->command("powiedz Ktora ksiazke chcesz wypozyczyc.");
	return 1;
    }
    if(!parse_command(str,environment(this_player()),
    "%s 'ksiazke'",ktora))
    {
	bibliotekarz->command("powiedz Ktora ksiazke chcesz wypozyczyc.");
	return 1;
    }
    switch(ktora)
    {
    case "pierwsza":
    clone_object(ksiazki[0])->move(this_player());
    break;
    }
    return 1;
    
}
int 
oddaj(string co)
{
    object item;
    if (!strlen(co))
    {
	write("Co chcesz oddac ?\n");	
	return 1;
    }
    if (!parse_command(co, environment(this_player()), 
	"%o:" + PL_BIE, item))
	{
       bibliotekarz->command("powiedz Co chcesz mi oddac.");         
       return 1;
       }
   if(function_exists("create_object", item) != "/std/scroll")
   {
        bibliotekarz->command("powiedz Przyjmuje tylko ksiazki.");
	return 1;
   }
   bibliotekarz->command("powiedz O dziekuje ci.");
   item->remove_object();
   return 1;
}
void
init()
{
    ::init();
    add_action(wypozycz,"wypozycz");
    add_action(oddaj,"oddaj");
}
void
dodaj_ksiazke(string ks)
{
    ksiazki+=({ks});
}
int
znajdz_ksiazke(object who)
{
    if(present("ksiazka",who))
    return 1;
    else 
    return 0;
}
int 
sprawdz()
{
    int r;
    r=znajdz_ksiazke(this_player());
    if(r==1)
    {
    bibliotekarz->command("powiedz A moze synku bys mi tak oddal wszystkie "+
    "ksiazki.");
    return 1;
    }
    else
    return 0;
}
