inherit "/d/Imperium/std/room.c";

/*#include "mezon.h" nie wiem czy to potrzebne a nie mam */

int kluczyk = 0;

#include <stdproperties.h>
#include <macros.h>

#define TP this_player()
#define KC TP->koncowka("y","a")

void
create_imperium_room()
{
 set_short("Sypialnia Czarodziejki Arveny, Slodkiej Przytulanki.");
 set_long("Przebywasz wlasnie w sypialni slodkiej czarodziejki Arveny. "+
          "Panuje tu dziwnie uroczy nastroj, a unoszacy sie w powietrzu "+
          "delikatny zapach fiolkow i dzikiej rozy wywoluje w Tobie uczucie "+
          "niczym niezmaconego, beztroskiego szczescia. W sypialni nie ma "+
          "zadnego loza. Zamiast tego caly pokoj wypelniaja najrozmaitsze "+
          "kolorowe poduszki i pluszowe maskotki. Na polnocnej scianie, "+
          "znajduje sie malutkie, blekitne okienko, przez ktore do srodka "+
          "wpadaja cieniutkie pasemka lekko rozowego swiatla. Na parapecie "+
          "stoi blekitny wazonik pelen roznych pachnacych kwiatow, o ladnych "+
          "pastelowych barwach. We wschodniej czesci pokoju, na scianie powieszona "+
          "jest waska drewniana poleczka, na ktorej starannie poustawiane sa "+
          "sloiczki pelne wielobarwnych i nieznanych Ci ziol. Slychac tu jakas "+
          "piekna, bardzo delikatna i ogromnie tajemnicza muzyke, wydobywajaca sie "+
          "jakby z duszy tego miejsca. Z duszy malutkiej czarodziejki...\n");

  add_item(({"poduszki"}),
          "Gdziekolwiek sie nie obejrzysz tam je spostrzegasz. Poduszek "+
          "jest tu ogromnie duzo, a wszystkie sa bardzo miekkie, sliczne "+
          "i wygodne. Zapewne pelnia tu role loza, na ktorym Arvena bardzo "+
          "czesto odpoczywa, rozmysla i marzy... Poduchy, poduszki i poduszeczki "+
          "uszyte sa z niezwykle miekkiego i delikatnego materialu, glownie "+
          "aksamitu, w kazdym kolorze teczy. Cos dziwnego sprawia, iz masz "+
          "wielka ochote rzucic sie w ich gaszcz i choc na chwilke utonac "+
          "w tym cudownym lekkim puchu, zniknac w otchlani niezmaconego niczym "+
          "szczerego szczescia, oddalic sie od rzeczywistosci na te malenka chwilke "+
          "zapomnienia...\n");

  add_item(({"maskotki"}),
          "Miedzy bardzo wielkim stosem aksamitnych poduszek, znaduje sie ogrom "+
          "najrozniejszych kolorowych maskotek. Pluszowe misie, pieski, delfiny, jednorozce "+
          "i mnostwo innych, porozrzucane sa w kazdej czesci sypialni. Arvena bardzo czesto "+
          "usypia, przytulajac sie do nich. Musi wtedy slodko wygladac. "+
          "Wydaje Ci sie, ze niektore z pluszakow lekko sie usmiechaja...\n");
  add_item(({"okno"}),
          "Na polnocnej scianie znajduje sie malutkie blekitne okienko. "+
          "Jest ono w ksztalcie niezgrabnej, piecioramiennej gwiazdki. "+
          "Przenikajace przez nie cieple swiatlo w kolorze lekko rozowym, "+
          "nadaje sypialni bardzo uroczej atmosfery. Wygladajac za okno zauwazasz "+
          "czarna przestrzen, delikatnie rozswietlona blaskiem gwiazd i odleglych "+
          "planet. Masz wrazenie, iz Arvenka bardzo czesto patrzy w gwiazdy marzac, "+
          "rozmyslajac i czasem szukajac pocieszenia oraz odpowiedzi na rozne dziwne pytania. \n");
  add_item(({"wazonik"}),
          "Pod oknem, na parapecie stoi sobie nieduzy, okragly wazonik pelen przeroznych "+
          "kwiatow. Wykonany zostal z blekitnej jak gleboki ocean porcelany zdobionej "+
          "srebrnymi ornamentami. Ten malutki, ozdobny flakonik bardzo ladnie komponuje sie "+
          "z wystrojem pokoju.\n");
  add_item(({"kwiaty"}),
          "W blekitnym wazonie zauwazasz caly bukiet slicznych pachnacych kwiatow. "+
          "Sa to delikatne purpurowe fiolki, blado niebieskie niezapominajki, niesmiale "+
          "i skromne stokrotki, a takze biale dzikie roze, ktore rozsiewaja wokol bardzo "+
          "charakterystyczny i intensywny zapach... \n");
  add_item(({"polke", "poleczke"}),
          "Na wschodniej scianie powieszona jest drewniana, waska polka, cala "+
          "zapelniona roznorodnymi sloikami.\n");
  add_item(({"sloiki"}),
          "Na powieszonej na wschodniej scianie polce zauwazasz kilka roznych sloikow, "+
          "wypelnionych po brzegi jakimis nieznanymi Ci ziolami. Kazdy sloik ma inny "+
          "ksztalt i zabarwienie. Jeden wyglada jak przezroczysty, krysztalowy szescian, "+
          "drugi zas przypomina zloscista kule, emanuujaca niewielkim jasnym swiatelkiem. "+
          "Trzeci podobna jest do czerwonego serca, a jeszcze inny ma ksztalt jablka.\n");
  add_item(({"parapet"}),
          " \n");
  add_item(({"drzwi"}),
          "Drzwi nie sa chyba godne uwagi. Nie posiadaja nawet klamki. "+
          "Wygryzione przez jakies szkodniki dziury, wpuszczaja do srodka nieco "+
          "swiatla, dzieki czemu jestes w stanie zobaczyc tu cokolwiek.\n");
  add_item(({"podloge"}),
         "Stoisz wlasnie na gesto pokrytej pajeczynami i kurzem podlodze. "+
          "Zostala ona wykonana z jakiegos drewna, ktore teraz wyglada na zgnile "+
          "i sprochniale.\n");
	  
  add_exit( "workroom.c","pracownia",0,1,0);
}
/* takie wstawki do poprawienia przez Arvene {8-) */

void
init()
{
    ::init();
    add_action("poloz", "poloz");
    add_action("usiadz", "usiadz");
    add_action("wstan", "wstan");
    add_action("rzuc","rzuc");
    add_action("zamek","zamek");
    add_action("emote","emote");
}

int
poloz(string gdzie)
{
    if (!gdzie || gdzie != "sie na poduszkach")
    {
        notify_fail("Chyba sie chcesz polozyc na poduszkach?\n");
	return 0;
    }
    write("Rzucasz sie w gaszcz miekkich, aksamitnych poduch.\n");
    say(QCIMIE(TP,PL_MIA) + " rzuca sie w gaszcz miekkich, aksamitnych poduch.\n");
    TP->add_prop(LIVE_S_EXTRA_SHORT, " lezac" + KC + " na poduszkach");
    return 1;
}

int
usiadz(string gdzie)
{
    if (!gdzie || gdzie != "na poduszkach")
    {
        notify_fail("Chyba chcesz usiasc na poduszkach?\n");
	return 0;
    }	
    write("Siadasz wygodnie posrod miekkich poduch. \n");
    say(QCIMIE(TP,PL_MIA) + " siada posrod miekkich poduch.\n");
    TP->add_prop(LIVE_S_EXTRA_SHORT, " siedzac" + KC + " na lozku");
    return 1;
}

int
wstan(string skad)
{
    if (skad && skad != "z poduszek")
    {
        notify_fail("Skad chcesz wstac ?\n");
	return 0;
    }
    if (!TP->query_prop(LIVE_S_EXTRA_SHORT))
    {
        notify_fail("Przeciez nie ma Cie na poduszkach ?\n");
	return 0;
    }
    TP->remove_prop(LIVE_S_EXTRA_SHORT);
    write("z ogromnym ociaganiem podnosisz sie i wstajesz z tej gestwiny miekkosci. \n");
    say(QCIMIE(TP,PL_MIA) + "z wielkim zalem wstaje z poduszek. w\n");
    return 1;
}

int
stan_lozka()
{
    if (!TP->query_prop(LIVE_S_EXTRA_SHORT))
    {
	return 0;
    }
    write("Nie tak predko. Moze bys wstal najpierw ?\n");
    return 1;
}

int
rzuc(string czym)
{
    if (czym && czym != "poduszka")
    {
        notify_fail("Chyba chcesz rzucic poduszka?\n");
	return 0;
    }
    write("Rzucasz we wszystkich poduchami.\n");
    saybb(QCIMIE(TP,PL_MIA) + " rzuca w ciebie miekka poduszka chichoczac cicho.\n");
    return 1;
}

int
zamek(string co)
{
	if (kluczyk == 0)
	{
		write("Zamykasz pokoj.\n");
		saybb(QCIMIE(TP,PL_MIA) + " zamyka pokoj.\n");
		kluczyk = 1;
	}
	else
	{
		write("Otwierasz pokoj.\n");
		saybb(QCIMIE(TP,PL_MIA) + " otwiera pokoj.\n");
		kluczyk = 0;
	}
	return 1;
}
		
int
emote(string co)
{
    if (!co)
    {
	notify_fail("emote co?");
	return 0;
    }
    write(this_player()->query_name() + " " + co + "\n");
    say(QCIMIE(this_player(),PL_MIA) + " " + co + "\n");
    
    return 1;
}

int
prevent_enter(object kto)
{

    if (kluczyk == 0)
    {
	return 0;	
    }    
    if (kluczyk == 1)
    {
    	if (METNAME == "Arvena" || METNAME == "Yarps") 
    	{
    	    return 0;
    	}
    	else
    	{
	     tell_object(kto, "W tej chwili pokoj Arveny jest zamkniety i nie wolno jej tam przeszkadzac.\n");
	     return 1;
	}
    }
}
