inherit "/std/monster.c";
#include <macros.h>
#include <stdproperties.h>
#include <ss_types.h>
#include <wa_types.h>
#include <../local.h>
#include "zjawas.h"
object GEM="/d/Standard/gems/mobs";
void
create_monster()
{
int a;
ustaw_odmiane_rasy(({"zjawa","zjawy","zjawie","zjawe","zjawa","zjawie"}),({"zjawy","zjaw","zjawom","zjawy","zjawami","zjawach"}),PL_ZENSKI);

    dodaj_przym("ogromny","ogromni");

    set_long("Zjawa, czyli bardzo niebezpieczny stwor, demon. Popiskuje "
	+"lekko ubolewajac, ze zamknieta jest w tym ciemnym, kurhanie.\n");

    add_prop(LIVE_I_NEVERKNOWN,1);
    add_prop(CONT_I_WEIGHT,90000);
    add_prop(CONT_I_HEIGHT,180);
    add_prop(LIVE_I_SEE_DARK,100);
    add_prop(MAGIC_I_RES_DEATH,100);
    
    set_stats(({600,600,600,1,1,700}));
set_aggressive(1);
    set_skill(SS_DEFENCE,150);
    set_skill(SS_WEP_SWORD,150);
setuid();
seteuid(getuid());
clone_object(GEM->losujkamien("undeadweak"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object())
;clone_object(GEM->losujkamien("undeadweak"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadweak"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadweak"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadweak"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadweak"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadweak"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadweak"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object(GEM->losujkamien("undeadstrong"))->move(this_object());
clone_object("/d/Standard/gems/szmaragd")->move(this_object());
clone_object("/d/Standard/gems/szafir")->move(this_object());
    set_restrain_path(ROOM);
    set_combat_speed(1000000);
    add_armour(OBJ+"plaszcz3.c");
    add_weapon(OBJ+"katana.c");
}

mixed
hit_me( int wcpen, int dt, int hitsuc, object attacker,
	    int attack_id, int target_hitloc = -1)
{
object bron = attacker->query_weapon(W_BOTH);

    if (!bron)
	bron=attacker->query_weapon(W_LEFT);
    if (!bron)
	bron=attacker->query_weapon(W_RIGHT);
	
    if (!bron || !bron->query_prop(OBJ_I_IS_MAGIC_WEAPON))
	{
	attacker->catch_msg("Trafiasz "+QIMIE(TO,PL_BIE)+", lecz twoj "+
		"cios przenika przez jego cialo nie pozostawiajac "+
		"po sobie ani sladu.\n");
	tell_room(environment(TO),""+QCIMIE(attacker,PL_MIA)+" trafia "+
		""+QIMIE(TO,PL_BIE)+", lecz cios przenika przez "+
		"jego cialo nie czyniac zadnej szkody.\n",({attacker,TO}));	
	
	}
	
	return ::hit_me(wcpen,dt,hitsuc,attacker,attack_id,target_hitloc);	

}
void
attacked_by(object ob)
{
    if (ob != this_object()->query_follow())
    {
        if(ob->query_prop("_live_i_is"))
        {
            set_alarm(0.05, 0.0, &set_follow(ob, 0.05));
            ::attacked_by(ob);
            return;
        }
        else        
           set_alarm(0.05, 0.0, &set_follow(ob, 0.05));
    }
    ::attacked_by(ob);
}

void
attack_object(object ob)
{
    if (ob != this_object()->query_follow())
    {
        if(ob->query_prop("_live_i_is"))
        {
            set_follow(ob, 0.05);
            ::attack_object(ob);
            return;
        }
        set_follow(ob, 0.04);
    }

    ::attack_object(ob);
}
void
notify_you_killed_me( object kto )
{
kto->heal_hp(-1000);
kto->catch_msg("Zjawa konajac wysysa z ciebie sily witalne.\n");
}
