inherit "/std/object";
inherit "/cmd/std/command_driver.c";
#include "wampiry.h"
#include "/d/Imperium/std/reload.h"
#include "spece.h"
#include "emoty.h"
#include "/d/Imperium/Rangerzy/obj/prowokacja.h"

#define A "szata_wampirow"

int zalozony;
int wear();
int remove();

void
create_object()

{
        ustaw_nazwe (({"szata","szaty","szacie","szate","szata","szacie"}),
                ({"szaty","szat","szatom","szaty","szatami","szatach"}),
                PL_ZENSKI);

   dodaj_przym("czarny","czarni");
   dodaj_przym("runiczny","runiczni");

   add_prop("szata_wampirow",1);
   add_name("szata_wampirow");   
   set_long("Ta szata wykonana z czarnego materialu pokryta jest kunsztownymi runami "
        +   "zapewniajacymi ci przetrwanie w promieniach slonecznych.\n");

   add_prop(OBJ_I_WEIGHT,   5000);
   add_prop(OBJ_I_VOLUME,    500);
   add_prop(OBJ_I_VALUE,   24000);
}

dodaj_propy()
{
    add_prop(OBJ_M_NO_SELL, "Nie sprzedaz.");
    add_prop(OBJ_M_NO_DROP, "Nie odlozysz tego.");
    add_prop(OBJ_M_NO_GIVE,"ni");
    add_prop(OBJ_M_NO_STEAL, 1);
    add_prop(OBJ_M_NO_GET, "hyhyyh");


}

usun_propy()
{
    remove_prop(OBJ_M_NO_SELL);
    remove_prop(OBJ_M_NO_DROP);
    remove_prop(OBJ_M_NO_GIVE);
    remove_prop(OBJ_M_NO_STEAL);
    remove_prop(OBJ_M_NO_GET);
}


int
wear()
{
    if (this_player()->query_subloc_obj(A))
        { remove_object(); return 1;}
    this_player()->add_subloc(A, this_object());
    move(this_player(), A);
    zalozony=1;
    this_player()->add_prop("wampir",1);
    this_player()->add_prop(LIVE_I_SEE_INVIS,1);
    this_player()->add_prop(LIVE_I_SEE_DARK, (this_player()->query_stat(7)/1));
    return 1;
}

int
remove()
{
    this_player()->remove_subloc(A);
    zalozony=0;
    move(this_player());
    return 1;
}

void
 





enter_env(object ob, object from)
{
    ::enter_env(ob, from);
    dodaj_propy();
    wear();
}

string
show_subloc(string subloc, object on_obj, object for_obj)
{
    if (on_obj == for_obj)
    return "Twa szata symbolizuje przynaleznosc do szlachetnego rodu von Carnsteinow.\n";
    return "Jego "+short(PL_BIE)+" wyglada naprawde pieknie.\n";
}

string
query_auto_load()
{
        return MASTER_OB(this_object());
}
 


int no_way(string what)
{
   if (what=="szate")
       {
             write("Chesz sprowadzic na siebie gniew nieumarlych?\n");
             say(QCIMIE(this_player(),PL_MIA)+" spoglada na swa " 
                 +"szate.\n");
             return 1;
       }
  return 0;
}


void init()
{
   ::init();
   add_action(no_way, "zdejmij");
   add_action("prowokacja", "prowokuj");
   add_action("usun", "usun");
   add_action("wzadza", "wzadza");
   add_action("wciemnosc", "wciemnosc");
   add_action("wzniknij", "wzniknij");
   add_action("wzlap", "wzlap");
   add_action("wtnij", "wtnij");
   add_action("woczaruj", "woczaruj");
   add_action("nawoluj","wrycz");
   add_action("usmiech","wusmiech");
   add_action("wybuch","wmaniak");   
   add_action("grymas","wgrymas"); 
   add_action("krew","wkrew");     
   add_action("przypatrz","wprzypatrz");
   add_action("pogarda","wpogardz");
   add_action("pomoc2","wkomendy");
   init_emoty();

}



int
wywal(object kto)
{
kto->remove_autoshadow(OBJ+"shadow:0");
this_object()->remove_object();
kto->command("zakoncz");
return 1;
}


int
usun(string str)
{
    object *kogo;
     if (!TP->query_prop("szef_wampirow"));
            return 0;
     if (!str)
        return notify_fail("Kogo wyrzucic?\n");
    kogo=parse_this(str, "%l:"+PL_DOP);
    if (!sizeof(kogo))
        return notify_fail("Kogo usunac z gildii?\n");

    if (sizeof(kogo)>1)
        return notify_fail("Usuwac mozesz tylko pojedynczo.\n");

    if (kogo[0]->query_guild_name_race()!=GUILD_NAME)
        return notify_fail(QCIMIE(kogo[0], PL_MIA) +" nie jest Wampirem.\n");
    if (!interactive(kogo[0]))
       return notify_fail("Nie mozesz go usunac!\n");
    wywal(kogo[0]);
    return 1;
}
