#pragma strict_types
inherit "/d/std/room";
inherit "lib/pub";
#include <stdproperties.h>
#include <macros.h>
public int no_command();
public int no_command2();
void
create_room()
{       
    set_short("Karczma");
    set_long("Wchodzisz do szerokiego pomieszczenia oswietlonego "+
             "przez blask zapalonych lamp oraz ognia rozpalonego w kominku. "+
             "W karczmie znajduja sie dluga lawa przy barze oraz kilka stolikow "+      

        "stojacych przy scianach. W rogu dostrzegasz tajemnicza "+
             "zakapturzona postac.\n"); 
    add_prop(ROOM_I_INSIDE,1);
    add_cmd_item(({"tabliczke","menu"}),({"czytaj","przeczytaj"}),
                   "@@menu");
    add_item("stolik","Jest to kwadratowy stolik wykonany z drewna okutego metalem, "+
             "stoi przy nim kilka krzesel na ktorych mozna usiasc.\n");
    add_drink("piwa","piwo","kufel pysznego krasnoludzkiego piwa slodowego",
              "",({({"pyszne","krasnoludzki"}),({"pyszne",
              "krasnoludzki"})}),8,20,0,1000,PL_NIJAKI_NOS);
    add_drink("wina","wino","kieliszek dobrego, elfiego wina",
              "",({({"dobry","elfi"}),({"dobrzy",
              "elfi"})}),12,70,0,700,PL_NIJAKI_NOS); 
    add_drink("wina","wino","kieliszek wytrawnego, gorzkiego wina",
              "",({({"wytrawny","gorzki"}),({"wytrawni",
              "gorzkie"})}),15,100,0,1000,PL_NIJAKI_NOS);   
    
    add_food("hobbicki stek",0,600,180,PL_MESKI_NOS_ZYW,
             "wysmienicie doprawionego, smacznego steka");
    
    add_food("zapiekanke miejscowa",0,300,140,PL_ZENSKI,
             "zwykla, lekko przysmazona zapiekanke");

    set_event_time(65,this_object());
    add_event("Jeden z krasnoludow lapie sie za glowe i zalamanym glosem "+
              "rzecze : Na mlot Moradina.\n");
    add_event("Zakapturzona postac przypala sobje fajke.\n");
    add_event("Czujesz zapachy smarzongo jadla.\n");
    add_event("Jakis pijak przewrocil kilka krzesel.\n");    
    
    
    add_exit("uszeroka6","wschod");

}
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
    "\nCennik:\n\n"+
    "***************************************************\n"+
    "Napitek:\n"+
    " Krasnoludzkie piwo:           20 miedziakow\n"+
    " Elfie wino:                   70 miedziakow\n"+
    " Wytrawne, gorzkie wino       100 miedziakow\n"+
        
    "Jadlo:\n"+
    " Hobbicki stek:               180 miedziakow\n"+
    " Zapiekanka miejscowa         140 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("Zeby cos zamowic musisz najpierw siedziec "+
    "przy swoim stoliku.\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 stoliku?\n");
    if(str!="stoliku")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 stoliku");
    write("Rozsiadasz sie wygodnie na krzesle sojacym przy stoliku.\n");
    say(QCTNAME(this_player())+" siada przy stoliku.\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 od stolika.\n");
    say(QCTNAME(this_player())+" wstaje od stolika.\n");
    return 1;
}
