/*
 * Plik  : pas.c
 * Autor : Drwal
 * Opis  : Pas - Przedmiot gildiowy Wyznawcow Solkana
 * Data  : 15 sierpnia 2002
 *
 * Copyright (C)
 *
 */

inherit "/std/armour";
inherit "/cmd/std/command_driver.c";

#include "defs.h"

int zalozony;

void
create_armour()
{
    ustaw_nazwe(({"pas","pasa","pasowi","pas","pasem","pasie"}),
                ({"pasy","pasow","pasom","pasy","pasami","pasach"}),
                PL_MESKI_NOS_NZYW);
    dodaj_przym("ciemny", "ciemni");
    set_long("Ten ciemny pas, swiadczy iz swe zycie oddal"
            + TP->koncowka("es","as") + " na sluzbe "
            +"Solkanowi. Pan Praworzadnosci obdarzyl Cie swa laska i "
            +"roztacza nad Toba opieke, a wymaga jedynie podazania "
            +"wyznaczana przez Niego sciezka. Po wewnetrznej stronie "
            +"dostrzegasz swietlisty napis <skpomoc>.\n");
    add_prop(OBJ_I_WEIGHT,    400);
    add_prop(OBJ_I_VOLUME,    600);
    add_prop(OBJ_I_VALUE,  100000);
    add_prop(OBJ_M_NO_SELL, "Nikt nie odkupi twego pasa. Mozesz go jedynie zniszczyc,\n");
    add_prop(OBJ_M_NO_DROP, "Nie godzi sie aby pas dotknal ziemi. Mozesz go jedynie zniszczyc.\n");
    add_prop(OBJ_M_NO_GIVE, "Nikt nie bedzie nosil twego pasa. Mozesz go jedynie zniszczyc.\n");
    add_prop(OBJ_M_NO_STEAL, 1);
    set_slots(A_WAIST);
//    set_ac(A_ARMS, 1, 1, 1);
}

int
czy_pas_solkana()
{
    return 1;
}

int
czy_zalozona()
{
    return zalozony;
}

string
query_recover()
{
  return 0;
}

mixed
wear_me(int i=0)
{
    mixed tmp = ::wear_me(i);
    if (intp(tmp) && tmp)
    {
        if (this_player()->query_subloc_obj(PAS))
        {
            remove_object();
            return 1;
        }
        this_player()->add_subloc(PAS, this_object());
        move(TP, PAS);
        zalozony=1;
    }
    return tmp;
}

int
remove_arm(string s)
{
    int tmp;
    string st;
    tmp = ::remove_arm(s);
    if (tmp)
    {
        this_player()->remove_subloc(PAS);
        zalozony=0;
        move(TP);
    }
    return tmp;
}

void
enter_env(object ob, object from)
{
    ::enter_env(ob, from);
}

string
show_subloc(string subloc, object on_obj, object for_obj)
{
    if (on_obj == for_obj)
    return "Twoj ciemny pas stanowi dowod na sluzbe Solkanowi.\n";
    return "Ciemny pas dowodzi iz jego posiadacz sluzy Solkanowi.\n";
}

string
query_auto_load ()
{
    return MASTER_OB(this_object());
}

void
start()
{
    SOLKAN->logowanie(TP);
}

void
init()
{
    ::init();
    setuid();
    seteuid(getuid());
    set_alarm(1.0, 0.0, "start");
}
