
/* Plik:        szynkwas.c
 * Autor:       Kylo
 * Data:        24.10.97
 * Last Update: 14.11.97
 * Opis:        szynkwas zajazdu
 */

// Dziedziczenie standartowego pokuju w Imperium
inherit "/d/Imperium/std/room.c";
inherit "/lib/pub";

// Dolaczenie pliku naglowkowego 
#include "szynkwas.h"

// Wystepujace tu obiekty
object drzwi_n;
object drzwi_e;
object albrecht;

/*
 * Nazwa funkcji: ustaw_dlugi_opis()
 * Opis:	  Ustawi dlugi szynkwasu (VBFC)       
 * Argumenty:	  brak
 * Zwraca:	  dlugi opis szynkwasu
 */

string
ustaw_dlugi_opis()
{
    string opis="";
    opis+="Przed toba znajduje sie drewniany szynkwas, podobny do innych " +
	"jakie mozna znalesc w karczmach rozsianych na terenie calego " +
	"Imperium. W tyle stoi regal zawierajacy przerozne trunki i napitki, " +
	"ktorymi racza sie goscie tego zajazdu. U gory, nad szynkwasem " +
	"wisi sporych rozmiarow tablica. W rogu znajduja sie drzwi, " +
	"ktore prowadza na wschod, najprawdopdobniej do kuchni.\n" +
	"";
return opis;
} 
// koniec funkcji ustaw_dlugi_opis()
    
/*
 * Nazwa funkcji: create_imperium_room()
 * Opis:	  Inicjalizacja glownej funkcji pomieszczenia
 *		  W Imperium jest to create_imperium_room() 
 *		  nie zas create_room().
 * Argumenty:	  brak
 * Zwraca:	  nic nie zwraca
 */
 	
void
create_imperium_room()
{
    // Ustalenie natezenia swiatla w tym pomieszczeniu - 0 ciemnosc.       
    // ( domyslnie 1 )
    add_prop(ROOM_I_LIGHT, 1);
    
    // Ustalenie czy pokoj jest 'na zewnatrz' - 1 pomieszczenie.    
    // ( domyslnie 0 )
    add_prop(ROOM_I_INSIDE, 1);
    // Ustalenie 'krotkiego opisu' pomieszczenia 
    // Na koncu _NIE_MA_KROPKI_.
    set_short("Szynkwas");
    
    // Ustawienie dlugiego opisu
    set_long("@@ustaw_dlugi_opis");
    
    // Dodanie wyjsc z pomieszczenia
    add_exit(LOKACJE_PATH + "jadalnia.c","zachod");
    add_exit(LOKACJE_PATH + "magazynek.c","polnoc");
    add_exit(LOKACJE_PATH + "kuchnia.c","wschod");
    
    // Ustawienie opisow przedmiotow 'widzianych' 
    // przez gracza w danym pomieszczeniu.
    // budynek/zajazd,wejscie/drzwi,szyld/tabliczka,brama,mur
    add_item("szynkwas",
	"Szynkwas jak szynkwas, duzy drewniany, jest to nieodzowny mebel " +
	"w kazdej karczmie i w kazdym zajezdzie. " +
	"\n");
    add_item("regal",
	"Znajduje sie na nim duzy wybor trunkow, widzisz kilka rodzajow " +
	"wodek oraz duzy wybor win z calego Imperuim, a takze z poza jego " +
	"granic, w tym rowniez doskonale bretonskie wyroby. " +
	"\n");
    add_item("tablice", "Spelnia ona zapewne funkcje menu. Warto " +
        "by ja przeczytac. " +
	 "\n");
    // Pozwalenie graczowi wykonac komendy 
    // add_cmd_item(({objekt}),({komenda}),funkcja);

    add_cmd_item( ({ "tablice", "menu" }), ({ "czytaj", "przeczytaj" }), 
        "@@menu");  

    add_cmd_item( ({ "wino" }), ({"kup", "zamow"}),"Jakie wino? Biale czy " +
        "czerwone? \n" );
    // Zainicjowanie tzw. events, czyli losowych komunikatow pojawiajacych
    // sie w danym pomieszczeniu. ( pierwszy pojawi sie po 10 sekundach,
    // nastepne co 100 sekund )
    
    set_event_time(10.0, 200.0); 
    // Lista eventow. 
       
    add_event("Jakis pijany krasnolud podszedl do szynkwasu i zazadal " +
	"kolejnego kufla piwa." +
	"\n"); 
    add_event("Poczules na sobie wzrok ponurego osobnika pijacego " +
	"nieopodal piwo i nie wiedziec czemu przeszly Ci ciarki po plecach. " +
	"\n");
    add_event("Drzwi do kuchni otworzyly sie i wyszla przez nie dziewka " +
	"z taca potraw. " +
	"\n");
    add_event("Pracujaca tu dziewka szybko przemknela sie do kuchni. \n");
    	
    // Wlaczenie eventow.
    set_events_on(1);
    
    // Dodanie napitkow
    
    add_drink("piwa", "piwo", "garniec grzanego piwa",
        "", ({({"grzany"}),({"grzani"})}),
        8, 400, 0, 150, PL_NIJAKI_NOS);
	       
    add_drink("piwa","piwo","kufel zimnego piwa",
        "jasno-zlocistego piwa",
         ({ ({ "jasny" }), ({ "jasni" }) }),
         5, 500, 5, 70, PL_NIJAKI_NOS);
	       
    add_drink("wina","wino","szklanice wina porzeczkowego",
        "porzeczkowego wina",
        ({ ({ "porzeczkowy" }), ({ "porzeczkowi" }) }),
	7,150,10,150,PL_NIJAKI_NOS);

    add_drink("wina","wino","szklanke bialego wina",
        "bialego, bretonskiego wina",
        ({ ({ "bialy","bretonski" }), ({ "biali","bretonscy" }) }),
	7,100,10,370,PL_NIJAKI_NOS);
	          
    // Dodanie jedzonka
	       
    add_food("kasze", 0, 200, 45, PL_ZENSKI, 
        "miske kaszy gryczanej, polanej smakowitym sosem");
	      
    add_food("pieczen", 0, 500, 75, PL_ZENSKI,
        "spory kawal pieczeni, sowicie podlanej tluszczem");

    dodaj_npca(NPC_PATH + "albrecht.c");
    reset_imperium_room();    
}
// koniec funkcji create_imperium_room()

/*
 * Nazwa funkcji: init()
 * Opis:	  Pokrywa standarowa funkcje init
 *		  Dodaje komendy kup i zamow
 * Argumenty:	  brak
 * Zwraca:	  nic nie zwraca
 */
		            

void
init()
{
    ::init(); /* Musi byc ZAWSZE wywolane w kazdym inicie. */
    init_pub(); /* dodaje komendy 'kup' i 'zamow' */
}
// koniec funkcji init()

/*
 * Nazwa funkcji: menu()
 * Opis:	  Ustala menu widziane przez gracza
 *		  Opisuje jego zachowanie dla innych
 * Argumenty:	  brak
 * Zwraca:	  zawartosc menu
 */

string
menu()
{
    // Jak to widza inni 
    say(QCIMIE(this_player(), PL_MIA) + " czyta tablice. \n");
    // A oto zwracany opis
    return
    "\n" +
    "Utrudzony wedrowcze jesli chcesz sie posilic dzis podajemy:" +
    "\n" +
    "\t Kasze z miesem za 	45 miedziakow\n" +
    "\t Pieczen za 		70 miedziakow\n" +
    "\n" +
    "Jesli zas chcesz przeplukac swe gardlo z kurzu przebytej drogi " +
    "zapraszam na:" +
    "\n" +
    "\t Piwo grzane za		60  miedziakow\n" +
    "\t Piwo jasne za		35  miedziakow\n" +
    "\t Wino porzeczkowe za	22  miedziaki\n" +
    "\t Wino biale za		37  miedziakow\n" +
    "\n"+
    "\t Dodatkowo mozesz zakupic napoje w beczkach:\n"+
    "\t Piwo jasne - 5 litrow   540 miedziakow\n"+
    "\t Wino porzeczkowe (10l) 1740 miedziakow\n"+
    "\t Wino bretonskie  (10l) 3940 miedziakow\n"+
    "\n";
}

// koniec funkcji menu()


/*
 * Nazwa funkcji: reset_imperium_room()
 * Opis:	  
 * Argumenty:	  brak
 * Zwraca:	  nic nie zwraca
 */

void
reset_imperium_room()
{
    if(!drzwi_n)
    {
        drzwi_n=clone_object(DRZWI_PATH + "szynkwas_magazynek.d.1.c");
        drzwi_n->move(TO);
    }
//    if(!drzwi_e)
//    {
//        drzwi_e=clone_object(DRZWI_PATH + "szynkwas_kuchnia.d.1.c");
//        drzwi_e->move(TO);
//    }

}
// koniec funkcji reset_imperium_room()
