/*
 * Standardzik dla sarkofagow
 * by Mored alias Argezo
 * Data: Hmm nie wiem:)
 */
inherit "/std/object";
#include "../local.h"
int nazwa=0;
int wymagana_sila;
int czy_zawartosc=1;
int czy_otwarty=0;
string jaki="Otwierasz";
string jakii="otwiera";
string co_w_srodku="/doc/examples/npce/krowa.c";
object potworencje;
float co_ile=1421.0;
// Tutaj robione pod Biala Cerkiev. Jezeli nazwa==0 to bedzie to sarkofag jesli ==1 to trumna
int
ustaw_typ(int a)
{
nazwa=a;
return 1;
}
// Opisy do otwierania - zamyslasz sie i otwierasz, zamysla sie i otwiera
int
ustaw_jak_otwierac(string bla,string blas)
{
jaki=bla;
jakii=blas;
return 1;
}
// Wymagana sila
int
ustaw_sile(int a)
{
wymagana_sila=a;
return 1;
}
// Co wylazi ze srodka
int
ustaw_co_w_srodku(string str)
{
co_w_srodku=str;
return 1;
}
// Co ile bedzie sie odnawiac
int
co_ile_sekund(float a)
{
co_ile=a;
return 1;
}


public void
create_sarkofag()
{
}

public nomask void
create_object()
{
if(nazwa==0)
	{
    ustaw_nazwe(({"sarkofag","sarkofagu","sarkofagowi","sarkofag","sarkofagiem","sarkofagu"}),
                ({"sarkofagi","sarkofagow","sarkofagom","sarkofagi","sarkofagami","sarkofagach"}),
                  PL_MESKI_NZYW); 
	}
else if(nazwa==1)
	{
    ustaw_nazwe(({"trumna","trumny","trumnie","trumne","trumna","trumnie"}),
                ({"trumny","trumien","trumnom","trumny","trumnami","trumnach"}),
                  PL_ZENSKI); 
	}
add_prop(OBJ_M_NO_GET,"Hmm.. przeliczasz sie ze swoimi mozliwosciami.\n");
add_prop(OBJ_M_NO_SELL,1);
add_prop(OBJ_M_NO_BUY,1);
add_prop(OBJ_M_NO_GIVE,1);
add_prop(OBJ_M_NO_DROP,1);
set_long("standardowy sarkofag");




create_sarkofag();
}

// odnawianie sie zawartosci
int
recorwer()
{
if(czy_otwarty==0)
	{
	czy_zawartosc=1;
	return 1;
	}
set_alarm(2.0,0.0,"recorwer",TO);
return 0;
}


	
// zamykanie
int
do_close()
{
czy_otwarty=0;
return 1;
}
// otwieranie
int
do_open()
{
czy_otwarty=1;
return 1;
}

// Opisowe :)
int
otwieranie(string ob)
{
notify_fail("Co chcesz otworzyc?\n");
if(ob==TO->query_nazwa(PL_BIE))
	{
	if(czy_otwarty==0)
	{
		if(TP->query_stat(0)<wymagana_sila)
			{
			notify_fail("Nie udaje ci sie otworzyc sarkofagu.\n");
			return 0;
			}
		TP->catch_msg(jaki+" "+short(PL_BIE)+".\n");
		tell_room(environment(TO),QCIMIE(TP,PL_MIA)+" "+jakii+" "+short(PL_BIE)+".\n",({TP}));
		czy_otwarty=1;
		if(czy_zawartosc==1)
			{
			potworencje=clone_object(co_w_srodku);
			potworencje->move(environment(TO));
			tell_room(environment(TO),"Cos co wyglada jak "+potworencje->query_rasa()+" wylazi z "+short(PL_DOP)+".\n");
			set_alarm(co_ile,0.0,"recorwer",TO);
			czy_zawartosc=0;
			}
		return 1;
	}
	notify_fail("Przeciez "+short(PL_MIA)+" jest juz otwarty!\n");
	return 0;
	}
return 0;
}
// Jak wyzej - zamykanie;]

int
zamykanie(string ob)
{
notify_fail("Co chcesz zamknac?\n");
if(ob==TO->query_nazwa(PL_BIE))
	{
	if(czy_otwarty==1)
	{
		TP->catch_msg("Zamykasz "+short(PL_BIE)+".\n");
		tell_room(environment(TO),QCIMIE(TP,PL_MIA)+" zamyka "+short(PL_BIE)+".\n",({TP}));
		czy_otwarty=0;
		return 1;
	}
	notify_fail("Przeciez "+short(PL_MIA)+" jest juz zamkniety!\n");
	return 0;
	}
return 0;
}


void
init()
{
::init();
add_action("otwieranie","otworz");
add_action("zamykanie","zamknij");
}


