/* plik  : tunika*.c
 * autor : Dhor
 * data  : ???
 * opis  : dla szkielecikow
 */


inherit "/std/object";
#include <dhor.h>

#define TUNIKA "_tunika_to_"

int worn = 0;

void
create_object()
{

    ustaw_nazwe(__tunika__);

    dodaj_przym("dluga","dludzy");
    dodaj_przym("czarny","czarni");

    set_long("Jest to wykonana z lnu czarna tunika rycerska. Jest bardzo "+
    "dluga, rozcieta wzdluz od pasa w dol na cztery czesci, siega niemal "+
    "kostek, zakrywajac prawie calkowicie korpus i nogi, niemniej wcale "+
    "nie krepuje ruchow. Wykonana jest bardzo starannie i nie posiada "+
    "zadnych zdobien, oprocz wyszytego na przodzie lekko juz zatartego znaku. \n"); 

    add_prop(OBJ_I_VOLUME, 1000);
    add_prop(OBJ_I_WEIGHT, 1000);
    add_prop(OBJ_I_VALUE, 220);
  

}

void
wear(object tp)
{
    move(TP,TUNIKA); /*do not display in inventory */

    TP->add_subloc(TUNIKA, TO); 
    worn = 1;
    // move(TP,TUNIKA); /*do not display in inventory */
}

int
zaloz(string str)
{ 
    if (str != "tunike")
    {
        notify_fail("Co chcesz zalozyc? \n");
        return 0;
    }

    if (!present(TO, TP))
    {
        notify_fail("Przeciez nie masz " + query_nazwa(PL_DOP) + " !\n");
        return 0;
    }

    if (worn)
    {
        notify_fail("Masz juz na sobie tunike.\n");
        return 0;
    }

    if (member_array(TUNIKA, this_player()->query_sublocs()) > -1)
    {
       notify_fail("Masz juz inna tunike na sobie.\n");
       return 0;
    }
    wear(TP);
    write("Zakladasz "+short(PL_BIE)+" na tulow, nogi i ramiona.\n");
    say(QCIMIE(TP,PL_MIA)+" zaklada "+QSHORT(TO,PL_BIE)+". \n");
    return 1;
}

int
zdejmij(string str)
{ 
    if (str!="tunike")
    {
        notify_fail("Co chcesz zdjac?\n");
        return 0;
    }

    if (!present(this_object(), this_player()))
    {
        notify_fail("Przeciez nie masz " + query_nazwa(PL_DOP) + " !\n");
        return 0;
    }
    if (!worn)
    {
        notify_fail("Nie masz nic takiego na sobie. \n");
        return 0;
    }
    write("Zdejmujesz "+short(PL_BIE)+".\n");
    say(QCIMIE(TP,PL_MIA)+" zdejmuje "+QSHORT(TO,PL_BIE)+".\n");
    TP->remove_subloc(TUNIKA);
    worn = 0;
    move(this_player());
    return 1;
}

void
leave_env(object dest, object old)
{
    old->remove_subloc(TUNIKA);
    if (worn)
    {
    write("Zdejmujesz "+short(PL_BIE)+".\n");
    say(QCIMIE(TP,PL_MIA)+" zdejmuje "+QSHORT(TO,PL_BIE)+".\n");
    TP->remove_subloc(TUNIKA);
    worn = 0;
    }
    ::leave_env(dest, old);

}

public string
show_subloc(string subloc, object on, object for_obj)
{ 
    string data;
    
    // if (subloc == TUNIKA)
    // {
        if (on == for_obj )
            data = "Nosi na sobie czarna tunike";
        else
            data = "Nosisz na sobie czarna tunike";

        return data+".\n";
    // }
}

void
init()
{
    ::init();
    add_action(zaloz, "zaloz");
    add_action(zdejmij, "zdejmij");
}


