#pragma strict_types
inherit "/d/Faerun/std/room";
inherit "lib/pub";
#include <stdproperties.h>
#include <macros.h>
#include "definicje.h"
public int no_command();
public int no_command2();
void
create_room()
{	
 set_short("Karczma 'Pod Zapijaczonym Wiesniakiem'");
 set_long("Nieduza karczma, w ktorej zbieraja sie mieszkancy wioski. " +
 "Po srodku sali znajduja sie stoly z przystawionymi do nich krzeslami. " +
 "W lewej czesci, na przeciwko baru znajduje sie mownica, ktora sluzy " +
 "wojtowi wioski do wyglaszania apeli raz informowania mieszkancow o " +
 "wszystkim co zwiazane jest z Kerhad Droga ta prowadzi wglab wioski. " +
 "Obok baru stoi duzo beczek z piwem. Do jednej z nich przybito tabliczke " +
 "pelniaca zapewne role menu.\n");

 add_item("bar", "Drewniany kontuar wyglada jabky ulozono go z galezi, "+
 "lecz w rzeczywistosci jest to wspaniale dzielo wykonane "+
 "przez nieznanego rzezbiarza. Przy ladzie stoi otyly czujny mezczyzna.\n");
 add_item("beczki", "Drewniane beczki wygladaja na pelne piwa   "+
 "lecz nie jestes w stanie tego sprawdzic gdyz sa zamkniete.\n");
 add_item("stol", "maly drewniany stolik z przystawionymi do " +
 "niego krzeslami, lezy na nim menu.\n");

 add_prop(ROOM_I_INSIDE,1);
 add_cmd_item(({"tabliczke","menu"}),({"czytaj","przeczytaj"}),
   "@@menu");

    add_drink("piwa","piwo","kufel ciemnego, miejscowego piwa",
	      "ciemno-bursztynowego, wspaniale pieniacego sie piwa",
	      ({({"ciemny","miejscowy"}),({"ciemni","miejscowi"})}),
	      5,250,5,20,PL_NIJAKI_NOS);
    add_drink("wina","wino","kieliszek czerwonego wytrawnego wina",
	      "",({({"czerwony","wytrawny"}),({"czerwoni",
	      "wytrawni"})}),12,100,0,60,PL_NIJAKI_NOS);
    add_drink("spirytusa","spirytus","szklane bardzo mocnego krasnoludzkiego "+
    "spirytusu","",({"mocny","mocni"}),25,200,0,80,PL_MESKI_NOS_NZYW);	      
    add_food("stek",0,300,30,PL_MESKI_NOS_ZYW,
	     "miske z ryzem i soczystym stekiem");		   
    add_food("baranine",0,500,50,PL_ZENSKI,"obwicie przyprawiana "+
    "rumiana baranine");


    add_exit("droga1","wschod");

    clone_object(NPC_PATH+"karczmarz")->move(this_object());
}
void
init()
{
    ::init();
    init_pub();
    add_action("sit_down","usiadz");
    add_action("stand_up","wstan");  
    add_action("do_all_commands", "", 1);    
}
string
menu()
{
    say(QCIMIE(this_player(),PL_MIA)+ " czyta tabliczke.\n");
    return
    "\nTabliczka wyglada nastepujaco:\n\n"+
    "\t\tMENU:\n"+
    "Jedzenie:\n"+
    " Stek z ryzem:\t\t30 miedziakow\n"+
    " Baranina:\t\t50 miedziakow\n"+
    "Napoje:\n"+
    " Miejscowe, ciemne piwo:\t\t20 miedziakow\n"+
    " Czerwone, wytrawne wino:\t\t60 miedziakow\n"+
    " Mocny, krasnoludzki spirytus:\t\t80 miedziakow\n"+
    "\n";
}
public int
do_all_commands(string str)
{
    string verb;
    string *nie_dozwolone;
    string *nie_dozwolone2;
    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"});
    nie_dozwolone2=({"zamow"});   
    verb = query_verb();
    if (this_player()->query_prop(SIEDZACY)==1)
    {
    if (member_array(verb,nie_dozwolone)==-1)
        return 0;
    else 
        return no_command();
    }
    if(this_player()->query_prop(SIEDZACY)==0)
    {
    if(member_array(verb,nie_dozwolone2)==-1)
	return 0;
	else
	return no_command2();
    }
    return 0; 
}
public int
no_command()
{
    write("Moze bys tak najpierw wstal.\n");
    return 1;
}
public int
no_command2()
{
    write("To co zamowiles podajemy tylko na miejscu, wiec usiadz sobie "+
    "przy stole.\n");
    return 1;
}
int
sit_down(string str)
{
    object who,*list;
    string check;
  
    if (!str)
        return 0;

    if (sscanf(str,"przy %s",check)==1)
        str = check;
    
    
    notify_fail("Gdzie chcesz usiasc, moze przy stole?\n");
    if(str!="stole")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")+" przy stole");
    write("Rozsiadasz sie wygodnie na krzesle stojacym przy stole.\n");
    say(QCTNAME(this_player())+" siada przy stole.\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 krzesla.\n");
    say(QCTNAME(this_player())+" wstaje od stolu.\n");
    return 1;
}
