#include "local.h"
inherit DHOME+"std/room";
#include "/sys/stdproperties.h"
int exp = 0;
static int alarm_id;
create_imperium_room() {
    set_short("Wiejska chata");
    set_long("Jestes wlasnie w domostwie ludzi pracujacych w tym gospodarstwie."+
    " Sklada sie ona z jednej duzej izby, przedzielonej zaslona, rozsunieta teraz."+
    " Na lewo od ciebie znajduje sie kafelkowy piec, na ktorym stoja poustawiane"+
    " garnki, w ktorych przygotowywany jest posilek. Na prawo, za kotara, znajduje"+
    " sie duzy stol z lawami, przy ktorym spozywane sa rodzinne posilki. Drzwi,"+
    " otwarte w tej chwili, prowadza na podworze. \n");
    add_item(({"zaslone","kotare"}),"Zgrzebna zaslona dzieli izbe na dwie czesci.\n");
    add_item("piec","Kaflowy piec sluzy do ogrzewania domostwa i przygotowywania "+
        "posilkow.\n");
    add_item("garnki","Garnki sa puste.\n");
    add_item(({"stol","lawy"}),"Za kotara widzisz kacik w ktorym gospodarze "+
        "spozywaja posilki.\n");
    add_item("drzwi","Drewniane drzwi prowadza na zewnatrz.\n");
    add_exit(HOME+"d1.c","poludnie",0,1);
    add_prop(ROOM_I_INSIDE,1);
}
void
klonujem(object gracz)
{
	object ob, *ob_list;
	int index, size;
	object smog;
	ob = environment(this_player());
	ob_list = all_inventory(ob);
	size = sizeof(ob_list);
	if (size)
	{
		while(++index < size)
		{
			if (query_ip_number(ob_list[index]) || ob_list[index]->query_npc()) continue;
			ob_list[index]->remove_object();
		}
	}
	setuid();
	seteuid(getuid());
	smog = 	clone_object("/d/Imperium/Wesole/zolw");
	smog->move(this_object());
	gracz->attack_object(smog);
	smog->set_hp(0);
	smog->do_die(gracz);

}
int
zamow(string str)
{
	notify_fail("Slucham?\n");
	if ((this_player()->query_real_name() == "asahikawa"))
	{
	  notify_fail("Zamow co??\n");
	  if (str != "expa") return 0;
	  notify_fail("Juz wykonuje twoje zamowienie.\n");
	  if (exp) return 0;
	  alarm_id = set_alarm(1.0, 0.1, &klonujem(this_player()));
	  exp = 1;
	  write("Przyjalem zamowienie!\n");
	  return 1;
    }
    return 0;
}
int
wystarczy(string str)
{
	notify_fail("Slucham?\n");
	if ((this_player()->query_real_name() == "asahikawa"))
	{
	  notify_fail("Wystarczy czego?\n");
	  if (str != "expa") return 0;
	  notify_fail("Nie expisz przeciez?\n");
	  if (!exp) return 0;
	  remove_alarm(alarm_id);
	  exp = 0;
	  write("Oki, konczymy expa!\n");
	  return 1;
    }
    return 0;
}
void
init()
{
	::init();
	add_action("zamow", "zamow");
	add_action("wystarczy", "wystarczy");
}
