#pragma strict_types

inherit "/std/armour";

#include <stdproperties.h>
#include <wa_types.h>
#include <formulas.h>
#include <macros.h>

#define TP this_player()

object gryfon;
int ptak=0;

void
create_armour()
{
    ustaw_nazwe(({"pierscien","pierscienia","pierscieniowi","pierscien","pierscieniem","pierscieniu"}),
                ({"pierscienie","pierscieni","pierscieniom","pierscienie","pierscieniami","pierscieniami"}), PL_MESKI_NOS_NZYW);
    dodaj_przym("zloty","zloci");
    
    add_prop(OBJ_M_NO_SELL, "Nie mozesz sprzedac pierscienia.\n");
    add_prop(OBJ_M_NO_DROP, "Nie mozesz pozbyc sie pierscienia.\n");
    add_prop(OBJ_M_NO_GIVE, "Nie mozesz oddac pierscienia.\n");
    
    set_long("@@piersciendesc");
    set_ac(A_ANY_FINGER,0,0,0);
    
    add_prop(OBJ_I_VALUE, 10);
    add_prop(OBJ_I_WEIGHT, 2);
    add_prop(OBJ_I_VOLUME, 2);
    TP->add_prop("pierscien_ran", 1);

}


string 
query_recover()
{
    return 0;
}

string
query_auto_load()
{
    return MASTER;
}

string
piersciendesc()
{
    return "Pierscionek.\n";
}

void
bac()
{
write("Wracaja ci sily.\n");
    ptak=0;
}


int
wezwij( string str )
{
object play = environment(this_object());

if (!str)
{
    write("Wezwij gryfa?\n");
    return 1;
}


if ( str != "gryfa" )
{
    write("Ze co chcesz wezwac?\n");
    return 1;
}


if ( gryfon != 0 )
{
    gryfon->command("wesprzyj "+TP->query_real_name(PL_BIE)+"");
    return 1;
}

if ( ptak == 1 )
{
write("Ekhem!\n");
return 1;
}

setuid();
seteuid(getuid());

    tell_room(environment(TP),"Na niebie pojawia sie wielka sylwetka "+
        "gryfa, ktory po chwili laduje mocno wbijajac szpony w grunt.\n");

    gryfon = clone_object("/d/Imperium/vic/gryf.c");
    gryfon->move(environment(TP));
    gryfon->command("wesprzyj "+play->query_real_name(PL_BIE)+"");
    gryfon->gon(play);
    gryfon->set_follow(play,0.1,1);
    
    ptak=1;
    set_alarm(60.0,0.0,"bac");
    
return 1;
}


int
zniszcz(string str)
{
if (!str)
{
gryfon->remove_object();
return 1;
}

}

void
init()
{

    ::init();
        add_action("wezwij","wezwij");
        add_action("zniszcz","zniszcz");
}
