/*
 *  description : Skrzynia dla Liczy
 */
inherit "std/receptacle.c";
#include <macros.h>
#include <stdproperties.h>
#include <cmdparse.h>
#include <pl.h>
#define PLIK "/d/Imperium/Skrzynie/lich"
#define TO this_object()
#define TP this_player()
string *eq;
static int alarm_id;
void restore_eq(int ktory);
void
create_container()
{
    ustaw_nazwe(({"skrzynia","skrzyni","skrzyni","skrzynie","skrzynia",
                  "skrzyni"}),
                ({"skrzynie","skrzyn","skrzyniom","skrzynie","skrzyniami",
                  "skrzyniach"}), PL_ZENSKI);
    dodaj_przym("zelazny","zelazni");
    set_long("Skrzynia na zlom.\n");
    add_prop(CONT_I_WEIGHT,50000);         // 50kg - waga urny
    add_prop(CONT_I_MAX_WEIGHT,900000);
    add_prop(CONT_I_MAX_VOLUME,900000);
    add_prop(CONT_I_RIGID,1);              // sztywny przedmiot
    add_prop(OBJ_M_NO_GET,"Wara od skrzynki zjebie!\n");
    eq = ({});
    restore_object(PLIK);
    alarm_id = set_alarm(2.0, 0.0, &restore_eq(0));
}
void
odtworz()
{
   restore_object(PLIK);
}
void
nagraj()
{
   save_object(PLIK);
}
void
restore_eq(int ktory)
{
	int i = sizeof(eq);
	string sprzet;
	setuid();
	seteuid(getuid());
	if(ktory > i) { remove_alarm(alarm_id); return; }
	sprzet = eq[ktory];
	eq -= ({ eq[ktory] });
	clone_object(sprzet)->move(TO);
    nagraj();
    alarm_id = set_alarm(0.1, 0.0, &restore_eq(ktory + 1));
}
void
enter_inv( object co, object skad )
{
	eq += ({ MASTER_OB(co) });
	nagraj();
	::enter_inv(co, skad);
}
void
leave_inv( object co, object dokad )
{
	eq -= ({ MASTER_OB(co) });
	nagraj();
	::leave_inv(co, dokad);
}
