inherit "/std/object";
inherit "/cmd/std/command_driver.c";
#include "/d/Imperium/MC/mag.h"
#include "/d/Imperium/MC/obj/czary.h"
#include "/d/Imperium/MC/obj/emoty.h"
#define A "szata mc"
int zalozony;
int wear();
int remove();
void
create_object()
{
        ustaw_nazwe (({"amulet","amuletu","amuletowi","amulet","amuletem","amulecie"}),
                PL_ZENSKI);
dodaj_przym("mroczny","mroczni");
   add_prop("item_mc",1);
    add_name("item_mc");   
   set_long("Pikny amulecik pokazuje ze ty mag chaosu. Pisze na nim " +
"mcpomoc.\n");
   add_prop(OBJ_I_WEIGHT,   2000);
   add_prop(OBJ_I_VOLUME,    500);
   add_prop(OBJ_I_VALUE,   24000);
}
dodaj_propy()
{
    add_prop(OBJ_M_NO_SELL, "Nikt nie kupi od ciebie amuletu!\n");
    add_prop(OBJ_M_NO_DROP, "Nie mozesz wyrzucic swojego amuletu!\n");
    add_prop(OBJ_M_NO_GIVE, "Nie mozesz nikomu dac amuletu\n");
    add_prop(OBJ_M_NO_STEAL, 1);
    add_prop(OBJ_M_NO_GET,"Nie jestes w stanie podniesc amuletu.\n");
}
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(TP, A);
    zalozony=1;
    this_player()->add_prop("mc",1);
    this_player()->add_prop(LIVE_I_SEE_DARK, 4);
 return 1;
}
int
remove()
{
    this_player()->remove_subloc(A);
    zalozony=0;
    move(TP);
    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 "Na piersiach masz zawieszony mroczny amulet
symbolizujacy czlonkowstwo w Magach Chaosu.\n";
    return "Na piersiach ma zawieszony mroczny amulet symbolizujacy
czlonkowstwo w Magach Chaosu.";
}
string
query_auto_load ()
{
        return MASTER_OB(this_object());
}
int no_way(string what)
{
   if (what=="laske")
       {
             write("Chyba nie chcesz zniszczyc znaku przynaleznosci do "+
                    "magow?\n");
 say(QCIMIE(this_player(),PL_MIA)+" spoglada na swoj "+
                 "amulet.\n");
             return 1;
       }
  return 0;
}
void init()
{
   ::init();
   add_action(no_way, "zdejmij");
   add_action("usun", "usun");
   CZARY
}
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_mc")) return 0;
    if (!str)
        return notify_fail("Kogo wyrzucic?\n");
    kogo=parse_this(str, "%l:"+PL_BIE);
    if (!sizeof(kogo))
        return notify_fail("Kogo usunac z gildii?\n");
    if (sizeof(kogo)>1)
        return notify_fail("Masowo usuwa sie tylko zydow.\n");
 if (kogo[0]->query_guild_name_race()!=GUILD_NAME)
        return notify_fail(QCIMIE(kogo[0], PL_MIA) +" nie jest Magiem " +
"Chaosu.\n");
    if (!interactive(kogo[0]))
       return notify_fail("Nie mozesz go usunac!\n");
    wywal(kogo[0]);
    return 1;
}
