#pragma no_clone
#pragma strict_types
inherit "/d/Faerun/std/room";
#include <macros.h>
#include <stdproperties.h>
#include <mudtime.h>
#include <cmdparse.h>
#include "definicje.h"
public int no_command();
string dlugi_opis();
void
create_room()
{
    set_short("Ogrod");
    set_long(dlugi_opis());
    add_exit("ogrod11","zachod");
    add_item("tabliczke","Jest na niej napisane ze jest to najstarsze drzewo "+
    "w Wybrzerzu Mieczy i ze liczy sobie grubo ponad tysiac lat.\n");
    add_item("lawke","Jest to drewniana lawka, z oparciem pomalowana na bialo.\n");
    clone_object(NPC_PATH+"straznik")->move(this_object());
    clone_object(NPC_PATH+"straznik")->move(this_object());
    clone_object(NPC_PATH+"kaplan")->move(this_object());
    clone_object(NPC_PATH+"kaplan")->move(this_object());
}
void
init()
{
    ::init();
    add_action("sit_down","usiadz");
    add_action("stand_up","wstan");  
    add_action("do_all_commands", "", 1);    
}
string
opis_pory()
{
    switch(pora_roku())
    {
    case MT_ZIMA:
    return "Wszedzie jest bialo, a z nieba sypia sie biale platki sniegu. "+
	   "Ludzie idacy droga sa ubrani cieplej, a przy otwieraniu "+
	   "ust pojawia sie para. "+
	   "Dachy budynkow przysypal snieg.";
    break;			   
    case MT_WCZESNA_WIOSNA:
    return "Snieg powoli topnieje, tworzac blotnista hlape, ludzie idacy "+
	   "droga  sa troche "+
	   "luzniej ubraniy. Na drzewach pojawiaja sie pierwsze paki, "+
	   "zwiastujace nadejscie wiosny.";
    break;			   
    case MT_WIOSNA:
    return "Wszedzie jest zielono, ptaki siedzace na drzewach cwierkaja wesolo."+
	   "W powietrzu unosi sie zapach wiosennych kwiatow i ziol. "+
	   "Ludzie idacy droga, sa lekko ubrani, i sa jakby "+
    	   "bardziej usmiechnieci.";
    break;			   
    case MT_WCZESNE_LATO:
    return "Jest cieplo co oznacza nadejscie lata. "+
	   "Ludzie idacy ulica sa bardzo luzno ubrani. "+
	   "W gniazdach na drzewach piszcza mlode ptaki domagajace "+
	   "sie jedzenia. Droge w niektorych miejscach porasta trawa."; 	
    break;			   
    case MT_LATO:
    return "Jest bardzo goraco co oznacza ze lato jest w pelni. Twarze "+
	   "ludzi idacych ulica sa pokryte potem. W powietrzu unosi sie "+
	   "zapach owocow. Drzwi od domow sa pootwierane na osciez.";
    break;			   
    case MT_WCZESNA_JESIEN:
    return "Robi sie troche zimniej, pojawilo sie babie lato co oznacza "+
           "niechybny koniec lata. Na drzewach liscie robia sie powoli "+
    	   "zolte.";
    break;			   
    case MT_JESIEN:
    return "Jest chlodno, drzewa sa kompletnie lyse. Wieje porwisty wiatr "+
	   "ktory roznosi wolne liscie po calym miescie. Niebo jest pochmurne, "+
	   "niedlugo nadejdzie zima.";
    break;			   
	    }
}
string
dlugi_opis()
{
string oswietlenie;
    switch(pora_dnia())
    {
    case MT_SWIT:
    oswietlenie="Okolica jest coraz jasniejsza, ksiezyc juz zachodzi za "+
		"horyzont, zbliza sie niechybnie nowy dzien. ";
    break;				
    case MT_WCZESNY_RANEK:
    oswietlenie="Slonce znajduje sie tuz nad horyzontem. "+    
		"Jego jasne promienie raza cie w oczy. ";
    break;				    
    case MT_RANEK:
    oswietlenie="Slonce niedawno wstalo, jego jasne promienie "+
		"zaczynaja mozolnie zalewac caly swiat. ";
    break;				    
    case MT_POLUDNIE:
    oswietlenie="Slonca znajduje sie w zenicie, gdzieniegdzie "+
	        "jego tarcza jest przeslonieta chmurami. ";
    break;				
    case MT_POPOLUDNIE:
    oswietlenie="Slonce leniwie schodzi coraz blizej choryzontu. Jego "+
		"promienie sa troche slabsze i tak bardzo nie raza w oczy. ";
    break;				
    case MT_WIECZOR:
    oswietlenie="Slonce znajduje sie tuz nad horyzontem, a jego tarcza "+
	    "przybrala nieco ciemniejsza barwe, niechybnie zbliza sie noc. ";
    break;		
    case MT_POZNY_WIECZOR:
    oswietlenie="Slonce sie schowalo, pozostala tylko po nim czerwona "+
		"poswiata tuz nad horyzontem. Mieszkancy zdazaja do swoich"+
		"domow. ";
    break;				
    case MT_NOC:
    oswietlenie="Jest noc, jedyne zrodlo swiatla stanowi ksiezyc. Na drodze "+
	        "kreci sie kilku straznikow, pilnujacych pozadku w miescie. ";
    break;				
    }
    return "Znajdujesz sie w przestronnym miejscu w ogrodzie palacowym. "+
    "Na srodku stoi wielkie drzewo, a przy nim wbita jest jakas tabliczka. "+
    "Wokolo poustawiane sa lawki, na ktorych mozna usiasc. W powietrzu panuje "+
    "dziwna energia, ktora odczuwasz na calym ciele, wplywa ona uspakajajaco "+
    "na ciebie. "+
    oswietlenie+""+opis_pory()+"\n";
}
public int
do_all_commands(string str)
{
    string verb;
    string *nie_dozwolone;

    nie_dozwolone=({"n","polnoc","s","poludnie","w","zachod","e","wschod","nw",
        "polnocny-zachod","sw","poludniowy-zachod","se","poludniowy-wschod",
        "polnocny-wschod","ne","teleport",
        "u","gora","d","dol","goto","home"});

    verb = query_verb();
    if (this_player()->query_prop(SIEDZACY)==1)
    {
    if (member_array(verb,nie_dozwolone)==-1)
        return 0;
    else 
        return no_command();
    }
    return 0; 
}
public int
no_command()
{
    write("Moze bys tak najpierw wstal.\n");
    return 1;
}
int
sit_down(string str)
{
    object who,*list;
    string check;
  
    if (!str)
        return 0;

    if (sscanf(str,"na %s",check)==1)
        str = check;
    
    
    notify_fail("Na czym chcesz usiasc?\n");
    if(str!="lawce")return 0;
    if(this_player()->query_prop(SIEDZACY)==1)
    {
    write("Ale ty juz siedzisz.\n");
    return 1;
    }
    this_player()->add_prop(SIEDZACY,1);
    this_player()->add_prop(LIVE_S_EXTRA_SHORT," siedzac"+
    this_player()->koncowka("y","a")+" na lawce");
    write("Rozsiadasz sie wygodnie na lawce.\n");
    say(QCTNAME(this_player())+" siada na lawce.\n");
    return 1;
}
int
stand_up(string str)
{
    object who,*list;
    string check;

    notify_fail("Nie siedzisz nigdzie.\n");
    if (this_player()->query_prop(SIEDZACY)==0)
        return 0;

    this_player()->change_prop(SIEDZACY,0);
    this_player()->change_prop(LIVE_S_EXTRA_SHORT,"");
    write("Wstajesz z lawki.\n");
    say(QCTNAME(this_player())+" wstaje z lawki.\n");
    return 1;
}

