#pragma strict_types
#pragma no_clone

inherit "/std/workroom";

#include "/d/Krainy/tenser/zamek/definicje.h"
#include "/sys/stdproperties.h"
#include "/sys/macros.h"

#define KRZESLO "sit_on_krzeslo"
#define FOTEL   "sit_on_fotel"

/*
 * 0-krzeslo 1-fotel
 */
int co;

int zajete1, zajete2;

void
create_workroom()
{
  set_short("Biuro Tensera");
  set_long("Stoisz we wnetrzu dosyc obszernej komnaty czarodzieja "+
	   "imieniem Tenser. Na granatowych scianach wisza portrety nieznanych "+
	   "ci osob i obrazy ze scenami z zycia Tensera oprawione w "+ 
	   "platynowe ramy. Caly sufit to mapa gwiazd, ktore zdaja sie naprawde "+
	   "migotac. Podloga  wylozona jest puszystym, czerwonym dywanem. Srodek "+
	   "pomieszczenia zajmuje niewielikie, zlote biurko z fotelem po jednej i "+
	   "mithrylowym krzeslem po drugiej stronie. Za toba znajduja sie, "+
	   "drzwi prowadzace na korytarz zamkowy, a w przeciwleglej scianie "+
	   "dostrzegasz otoczony biala aura owal ktorego wnetrze zdaje sie wirowac. "+
	   "Procz gwiazd jest on jedynym zrodlem swiatla w tej komnacie, dlatego "+
	   "tez panuje tutaj polmrok. Wyczuwasz obecnosc silnej magii.\n");

  /*
   * Arguments of the function wrongly used,
   * int
   * add_exit(string path, string cmd,
   * mixed efun_delay, mixed tired, mixed non_obvious);
   *
   * TODO:
   * rewrite it using VBFC including and include lfun
   * instead of write (tell_room)? 
   */
  
  add_exit("/d/Podziemie/amorion/plac1", ({"portal", "przez portal i pochlania go wirujacy blekit"}), 0, 1);
  write("Wchodzisz w blekitny, wirujacy owal ktory cie wciaga z ogromna sila i nagle "+
    "jestes w innym miejscu...\n");

  add_prop(ROOM_I_INSIDE,1);
  
  clone_object(SCIEZKA2+"drzwib2")->move(this_object());

  add_item(({"owal", "portal"}), "Jest to okolo dwumetrowy owal otoczony biala aura, "+
	   "ktorego wnetrze chaotycznie wiruje ukazujac przy tym "+
	   "miliony odcieni blekitu. Ze srodka owalu co jakis "+
	   "czas wydobywaja sie odlegle grzmoty.\n");
  
add_item(({"biurko"}), "Niewielkie, aczkolwiek pieknie wykonane biurko ze zlota.\n");

add_item(({"fotel"}), "Miekki, obszyty smocza skora i zapewne bardzo wygodny fotel "+
		      "Lorda Tensera.\n");

add_item(({"krzeslo"}), "Piekne, kunsztowne krzeslo wykonane z mithrylu. Jego oparcie "+
			"dodatkowo ozdobione jest kamieniami szlachetnymi. Prawdziwie "+
			"jest to dzielo sztuki.\n");

add_item(({"portrety"}), "Portrety te przedstawiaja wizerunki czarodzeii. Oprawione sa "+
			 "w platynowe ramy.\n");

add_item(({"obrazy"}), "Obrazy te przedstawiaja rozne sceny z zycia Tensera. Oprawione "+
		       "sa w platynowe ramy. Jeden z nich wyroznia sie wielkoscia. "+
		       "Moze warto rzucic na niego okiem?\n");

add_item(({"obraz"}), "Ten obraz przedstawia samego Tensera za mlodu. Studiowal wtedy "+
                "magie. Nigdy jednak nie przyznal sie do omylkowego zniszczenia miasta "+
	           	"ktorego ruiny widnieja w tle...\n");
	           	
add_item(({"mape", "sufit"}), "Stworzona na suficie tego pomieszczenia, za pomoca magii "+
                         "wielka mapa nieba. Widzisz tu wszystkie znane ci gwiazdozbiory a takze takie z "+
                         "ktorymi nigdy dotad sie nie spotkales. Zlociste gwiazdy zdaja sie naprawde "+
                         "migotac.\n");
add_item(({"gwiazdy"}), "Miliony zlocistych gwiazd ulozonych w przerozne gwiazdozbiory. Wszystkie "+
                        "zdaja sie migotac. A moze jednak to nie zludzenie...?\n");
                        
add_item(({"dywan"}), "Gruby, puszysty i meciutki, czerwony dywan. Stapanie po nim na boso napewno jest "+
                "bardzo przyjemne.\n");

add_item(({"sciany"}), "W granatowym kolorze sciany z wywieszonymi nan obrazami i portretami.\n");

/* set_event_time(70.0);
add_event("Wydaje ci sie, ze postacie z portretow poruszyly sie.\n");
add_event("Slyszysz cichutkie szmery, dobiegajace zza drzwi.\n");
add_event("Z wnetrza owalu dobiega cie odlegly grzmot.\n");
add_event("Za drzwiami wyczuwasz czyjas obecnosc.\n");
add_event("Czujesz, ze ktos cie obserwuje.\n"); */

}

int
siadz_w_fotelu(string swf)
{
    notify_fail("Gdzie chcesz siasc? Moze w fotelu?\n");
    if(swf=="w fotelu")
    {
        switch(this_player()->query_prop(SIEDZACY))
        {
           case 1:
            {
                write("Przeciez juz siedzisz!\n");
                break;
            }
            default:
            {
	    if(!this_player()->query_wiz_level())
	    {
	    write(" Probujesz siasc w fotelu, niestety "+
	    "jakas sila cie dopycha.\n");
	    }
	    if(zajete1==0)
	    {
                saybb(QCIMIE(this_player(), PL_MIA) + " siada wygodnie w fotelu.\n");
                write("Rozsiadasz sie wygodnie w fotelu i czujesz jak opuszczaja"+
		      "cie wszelkie troski i zmeczenie.\n");
                this_player()->add_prop(LIVE_S_EXTRA_SHORT," siedzac" +
                    this_player()->koncowka("y","a") + " w fotelu");
                this_player()->add_prop(SIEDZACY,1);
		this_player()->add_prop(FOTEL,1);
		zajete1=1;
	    }
	    else write("Fotel jest juz zajety przez kogos.\n");
	
	
            }
            return 1;
        }
    }
}
int
wstan()
{

    if(this_player()->query_prop(SIEDZACY)==1)
    {
    if(this_player()->query_prop(FOTEL)==1)
    {
        saybb(QCIMIE(this_player(), PL_MIA) + " wstaje niechetnie z fotela.\n");
        write("Wstajesz niechetnie z fotela.\n");
        this_player()->remove_prop(LIVE_S_EXTRA_SHORT);
        this_player()->remove_prop(SIEDZACY);
	this_player()->remove_prop(FOTEL);
	zajete1=0;
        return 1;
    }
    else if(this_player()->query_prop(KRZESLO)==1)
    {
        saybb(QCIMIE(this_player(), PL_MIA) + " wstaje powoli z krzesla.\n");
        write("Wstajesz powoli z krzesla.\n");
        this_player()->remove_prop(LIVE_S_EXTRA_SHORT);
        this_player()->remove_prop(SIEDZACY);
	zajete2=0;
        return 1;
    }
    }
    else
    {
        write("Przeciez nigdzie nie siedzisz!\n");
        return 1;
    }
}
int
usiadz_na_krzesle(string unk)
{
    notify_fail("Gdzie chcesz usiasc? Moze na krzesle?\n");
    if(unk=="na krzesle")
    {
        switch(this_player()->query_prop(SIEDZACY))
        {
           case 1:
            {
                write("Przeciez juz siedzisz!\n");
                break;
            }
            default:
            {
	    if(zajete2==0)
	    {
                saybb(QCIMIE(this_player(), PL_MIA) + " siada ostroznie na krzesle.\n");
                write("Siadasz ostroznie na krzesle pelen podziwu dla"+
		      "tego dziela sztuki.\n");
                this_player()->add_prop(LIVE_S_EXTRA_SHORT," siedzac" +
                    this_player()->koncowka("y","a") + " na krzesle");
                this_player()->add_prop(SIEDZACY,1);
                this_player()->add_prop(KRZESLO,1);
		zajete2=1;
	    }
	    else
	    {
	    write("Krzeslo jest zajete przez kogos.\n");
	    }
            }
            return 1;
        }
    }
}

int
nie_wyjdziesz()
{
    if(this_player()->query_prop(SIEDZACY)==1)
    {
        write("Moze najpierw wstaniesz z krzesla?\n");
        return 1;
    }
    else
    {
        return 0;
    }
}

void
init()
{
    ::init();
    add_action("siadz_w_fotelu", "siadz");
    add_action("usiadz_na_krzesle", "usiadz");
    add_action("wstan", "wstan");
}
