/*
 * File		: zwierzeStd.c 
 * Autor	: Hastur
 * Data		: 7.1.98
 * Last update	: 7.1.98
 * Description	: Standardowy plik zwierzaka, w ktorego cielem, po smierci,
                  pozostaja rozne wartosciowe rzeczy, ktore mozna sprzedac.
                  Dziedziczy po "/std/creature" i w potomku nalezy pokryc
                  funkcje create_zwierze(). Dziki inheritom mozna uzywac 
                  random move, actionowm, autoataku. Przyklad jak tego uzywac 
                  jest w lis.c.
 */
 
inherit "/std/creature";
inherit "/std/combat/unarmed";
inherit "/std/act/attack";
inherit "/std/act/action";
inherit "/std/act/domove";


#include <stdproperties.h>
#include <macros.h>
#include <pl.h>

#define TO  this_object()
#define TP  this_player()

void
create_zwierze()
{

}

void
create_creature()
{
    dodaj_nazwy( ({"zwierze","zwierzecia","zwierzeciu","zwierze",
                   "zwierzeciem","zwierzeciu"}), 
                 ({"zwierzecia","zwierzeci","zwierzeciom","zwierzecia",
                   "zwierzeciami","zwierzeciach"}),
                 PL_NIJAKI_NOS);
    
    set_gender(G_MALE);

    add_prop(LIVE_I_NEVERKNOWN,1);
    add_prop(OBJ_I_WEIGHT,10000+random(5000));
    add_prop(CONT_I_WEIGHT,10000+random(5000));

    add_prop(NPC_M_NO_ACCEPT_GIVE, 1);

    // Zwierzaki sa dla pieniedzy, a nie doswiadczenia, wiec:
    set_exp_factor(50);
   
    set_random_move(20,0);
    set_restrain_path("/d/Ishtar/std/");

// Szczegoly add_leftovera przez <sman /std/living add_leftover>

    add_leftover("/d/Ishtar/std/zwierze/skora.c",({"skora","skory","skorze","skore","skora","skorze"}),
               ({"skory","skor","skorom","skory","skorami","skorach"}),
               PL_ZENSKI,1,0,1,1);

    add_leftover("/std/leftover.c",({"oko","oka","oku","oko","okiem","oku"}),
               ({"oczy","oczu","oczom","oczy","oczami","oczach"}),
               PL_NIJAKI_OS,2,"@@check_oko",0,0);

    add_leftover("/std/leftover.c",({"serce","serca","sercu","serce","sercem","sercu"}),
               ({"serca","serc","sercom","serca","sercami","sercach"}),
               PL_NIJAKI_NOS,1,0,0,0);

    add_leftover("/std/leftover.c",({"kosc","kosci","kosci","kosc","koscia","kosci"}),
               ({"kosci","kosci","kosciom","kosci","koscmi","kosciach"}),
               PL_ZENSKI,3+random(3),0,1,0);

    add_leftover("/d/Ishtar/std/meat.c",
    	({"mieso", "miesa", "miesu", "mieso", "miesem", "miesie"}),
    	({"miesa", "mies", "miesom", "miesa", "miesami", "miesach"}),
    		PL_NIJAKI_NOS, 1, "", 1, 1);

    create_zwierze();
}

string
check_oko()
{
    if (this_player()->query_alignment()>0)
        return "Z obrzydzeniem zmuszasz swoje palce do tej odrazajacej czynnosci!\n";
}

/* 
 * Function name: add_thing
 * Description	: dodaje rzecz zwierzakowi. Funkcja ma budowe podobna do
                  funkcji add_drink, add_food z /lib/pub.c i podobnie sie
                  jej uzywa.
 * Arguments	: nazwy  - odmiana nazw przedmiotu w lp
 *                pnazwy - odmiana nazw przedmiotu w lmn
 *                adj    - tablica z przymiotnikami
 *                weight - ciezar przedmiotu
 *                volume - objetosc przedmiotu
 *                value   - cena
 *                long   - opis long
 *                rodzaj - rodzaj gramatyczny
 */  
/*
void
add_thing(string *nazwy, mixed *pnazwy, mixed *adj, int weight, int volume,
          int value, string long, int rodzaj)
{
    object thing;
    int i;
    
    setuid();
    seteuid(getuid());

    if (sizeof(nazwy)%6 != 0) return ;
    if (sizeof(pnazwy)%6 != 0) return ;
    
    (thing = clone_object("/d/Ishtar/std/zwierze/skora.c")) -> move(TO);
    
    if (pointerp(pnazwy))
     thing->ustaw_nazwe(nazwy,pnazwy,rodzaj);
    else
     thing->ustaw_nazwe(nazwy,rodzaj);
    
    if (adj)
    {
        i = sizeof(adj[0]);
        
        while(i-- > 0)
            thing->dodaj_przym(adj[0][i], adj[1][i]);    
    }    
    
    thing->set_long(long);
    thing->add_prop(OBJ_I_WEIGHT,weight);
    thing->add_prop(OBJ_I_VOLUME,volume);
    thing->set_skora_value(value);
}
*/
