// Amulet dla wyznawcow Tzeentha - Nathaniel 1999 na podst. klubu Rhascostam Mithandira

 
inherit "/std/object.c";
inherit "/cmd/std/command_driver";

#include <cmdparse.h>
#include <macros.h>

#include <stdproperties.h>
#include <wa_types.h>
#include <pl.h>

#define AMU_SUBLOC "czarny_kamienny_amulet"

#include "emoty_tzee.h";

#pragma no_inherit


void dodaj_subloca();
//int naznaczony=1;

create_object()
{
	ustaw_nazwe (({"amulet","amuletu","amuletowi","amulet","amuletem","amulecie"}),
		PL_ZENSKI);

	add_prop (OBJ_I_WEIGHT, 50);
	add_prop (OBJ_I_VALUE, 0);


    set_alarm(0.2,0.0,"sprawdz");
    set_alarm(0.1,0.0,dodaj_subloca);

    add_prop(OBJ_M_NO_DROP,1);
    add_prop(OBJ_M_NO_STEAL,1);
    add_prop(OBJ_M_NO_SELL,1);
    add_prop(OBJ_M_NO_GIVE,1);
}

/*
set_naznaczony(int i=0)
{
	naznaczony=i;
}


int
przyjmij(string str)
{
	if (str!="znak")
		return 0;

    
  if(this_player()->test_bit("imperium",1,0))
  {
    write("Nie mozesz przylaczyc sie do tego klubu, jestes juz bowiem "+
      "w innym.\n");
    return 1;
  }

	przyjety=1;
	write("Zanosisz modly do Rhasnetha, proszac o przyjecie do grona "+
	   "jego czcicieli. Twa modlitwa zostaje wysluchana, jako dowod "+
	   "laski boga otrzymujesz niewielkie znamie na prawej dloni.\n");
	dodaj_subloca();
	update_actions();
	
	this_player()->set_bit(1,0);

	return 1;
}
*/

int
daj(string str)
{
	object *komu, co;
	if (!str) return notify_fail("Komu chcesz dac blogoslawienstwo Tzeentha ?\n");
	komu=parse_this(str, "'blogoslawienstwo'  [Tzeentha] %l:"+PL_CEL);
	if (!sizeof(komu))
		return notify_fail("Kogo chcesz blogoslawic w imie Tzeentha ?\n");
	if (sizeof(komu)>1) 
		return notify_fail("Blogoslawic mozesz tylko jedna osobe naraz.\n");

	actor("Nakladasz rece na glowe ",komu, PL_DOP," blogoslawiac go w imie Tzeentha. ");
	target("naklada tobie rece na glowe i blogoslawi w imie Tzeentha - boga szalenczego chaosu. Czujesz jak przeszywa cie silny skurcz, po chwili wszystko "+
	"wraca do normy. Teraz mozesz isc do najwyzszego kaplana i przyjac ostateczne znamie.", komu);
	all2act("kladzie rece na glowie ",komu, PL_DOP," i szeptem wyglasza jakas modlitwe. Na twarzy ",komu, PL_DOP," pojawia sie na chwile grymas bolu. ");
	
	//setuid();
	//seteuid(getuid());
	co=clone_object(MASTER_OB(this_object()));
	
	co->set_naznaczony();
	co->move(komu[0], "wielded");

	komu->add_prop(NAZN);
	return 1;
}

int
rozbij(string str)
{
	if (str!="amulet")
	return notify_fail("Co rozbij ?\n");
	write("Rozstrzaskujesz amulet o ziemie na znak opuszczenia szeregow wyznawcow Tzeentha. Teraz juz czeka cie tylko smierc !\n");
	say(QCIMIE(this_player(), PL_MIA)+" rozbija amulet o ziemie na znak  wyrzeczenia sie Tzeentha.\n");

  this_player()->clear_bit(1,0);

	this_player()->do_die(this_object());
	return 1;
}


void
init()
{
    ::init ();
    {
    	add_action(daj, "daj");
    	add_action(rozbij,"rozbij");
    	init_emoty();
    }
}

void
sprawdz()
{
	if (!query_player(NAZN)) return;
	if(!(query_player(NAZN)(this_object())->test_bit("imperium",1,0))) 
	  remove_object();
}

void
dodaj_subloca()
{
	if (!query_player(NAZN)) return;
	environment(this_object())->add_subloc(AMU_SUBLOC, this_object());
	move(environment(this_object()), AMU_SUBLOC);
}

void
leave_env(object from, object to)
{
    from->remove_subloc(AMU_SUBLOC);
    ::leave_env(from, to);
}

void
enter_env(object dest, object old)
{
    if (old->query_login_from())
   	remove_object();	
    if (dest->query_login_from())
	dodaj_subloca();
}     

string
show_subloc(string subloc, object on_obj, object for_obj)
{
    if (on_obj == for_obj)
        return "Na piersiach masz zawieszony czarny amulet.\n";
    return "Na piersiach ma zawieszony czarny amulet.";
}

string 
query_auto_load ()
{
        return MASTER_OB(this_object());
}
