/* 
 * Tools
 *
 * Copyright(C):    Khazzar (jedrekz@pascom.pl)
 * Data:            08.09.2003
 *
 */

inherit "/std/object";
inherit "/cmd/std/command_driver.c";

#include "/d/Imperium/khazzar/khazzar.h"
#include "pierscien.h"

#include <filter_funs.h>
#include <ss_types.h>
#include <stdproperties.h>
#include <wa_types.h>
#include <cmdparse.h>
#include <macros.h>

#define PIERSCIEN "pierscien_khazzara"

int zalozony;
int wear(string co);
int remove(string co);

void
create_object()
{
   ustaw_nazwe( ({ "pierscien",   "pierscienia",   "pierscieniowi", 
                   "pierscien",   "pierscieniem",  "pierscieniu"    }),
        ({ "pierscienie", "pierscieniow",  "pierscieniom", 
                   "pierscienie", "pierscieniami", "pierscieniach"  }),
                PL_MESKI_NOS_NZYW);

   dodaj_przym("niewielki", "niewielcy");
   dodaj_przym("platynowy", "platynowi");

   set_long("Jest to niewielki, platynowy pierscien. Na spodzie " +
            "dostrzegasz jakis misterny napis.\n");
            
   add_cmd_item ("napis","przeczytaj",
                 "Wlasnosc Khazzara.  Jesli nie chcesz sprowadzic na siebie " +
                 "mojego gniewu, 'zwroc pierscien' jak najszybciej, smiertelniku.\n"); 
   add_item     ("napis",
                 "Rzadek niewielkich, zlotych runow tworzacy misterny napis.\n");

   add_prop(OBJ_M_NO_SELL, 1);
   add_prop(OBJ_M_NO_DROP, 1);
   add_prop(OBJ_M_NO_STEAL,1);

   add_prop(OBJ_I_WEIGHT,  1);
   add_prop(OBJ_I_VOLUME,  1);
   add_prop(OBJ_I_VALUE,   1);

}

void init()
{
   ::init();
   setuid();
   seteuid(getuid());
   zalozony ? add_action ("remove","zdejmij") : add_action("wear","zaloz");
   zalozony ? add_action ("wypowiedz","wypowiedz");
}

int
czy_zalozony()
{
    return zalozony;
}

string
query_recover()
{
    return 0;
}

int
wear(string co)
{
    notify_fail("Co chcesz zalozyc?\n");
    if ( co!="pierscien" ) return 0;

    TP->add_subloc(PIERSCIEN, this_object());
    move(TP, PIERSCIEN);

    TP->catch_msg("Zakladasz niewielki, platynowy pierscien.\n");
    tell_room(environment(TP),QCIMIE(TP,PL_MIA) + " zaklada niewielki, " +
              "platynowy pierscien.\n",({TP}));

    zalozony=1;
    update_actions();
    return 1;
}

int
remove(string co)
{
    notify_fail("Co chcesz zdjac?\n");
    if ( co!="pierscien" ) return 0;

    TP->remove_subloc(PIERSCIEN);
    move(TP);

    TP->catch_msg("Zdejmujesz niewielki, platynowy pierscien.\n");
    tell_room(environment(TP),QCIMIE(TP,PL_MIA) + " zdejmuje niewielki, " +
              "platynowy pierscien.\n",({TP}));

    zalozony=0;
    update_actions();
    return 1;
}

string
show_subloc(string subloc, object on_obj, object for_obj)
{
    string opis="", koncowka="";

    if (on_obj == for_obj) koncowka += "sz";

    opis += "Ma" + koncowka + " na serdecznym palcu niewielki, platynowy " +
            "pierscien.\n";

    return opis;
}
