/* Plik:     dziecko.c
 * Autor:    Borzoj
 * Data:     5.3.98
 * Opis:     wiejskie dziecko,Dimenau
 * Poprawki: Tigr
 * Update:   21.06.98
 */

inherit "/d/Imperium/std/monster.c";
#include "tigr.h"

string dlugi_opis(int zadowolone,int postawa);
      
create_monster()
{
  mixed wyglad=({({"brudny","brudni"}),({"obszarpany","obszarpani"}),
  ({"halasliwy","halasliwi"}),({"pocieszny","pocieszni"}),
    ({"usmiechniety","usmiechnieci"})});
  int postawa,k;
  
  ustaw_nazwe(({"dziecko","dziecka","dziecku","dziecko","dzieckiem",
    "dziecku"}),({"dzieci","dzieci","dzieciom","dzieci","dzieciach",
    "dziecmi"}),PL_NIJAKI_OS);
  
  ustaw_odmiane_rasy(({"dziecko","dziecka","dziecku","dziecko","dzieckiem",
    "dziecku"}),({"dzieci","dzieci","dzieciom","dzieci","dzieciach",
    "dziecmi"}),PL_NIJAKI_OS);
  
  set_gender((random(2)>0)?G_MALE:G_FEMALE);
  
  k=random(5);
  
  postawa=random(5);
  
  dodaj_przym(wyglad[k][0],wyglad[k][1]);  
  dodaj_przym("wiejski","wiejscy");
  
  set_long((k>1) ? dlugi_opis(1,postawa) : dlugi_opis(0,postawa));
  
  add_prop(LIVE_I_NEVERKNOWN,1); //nigdy nie jestes mu przedstawiony
  add_prop(CONT_I_WEIGHT,25000+postawa*3000); //waga
  add_prop(CONT_I_HEIGHT,100+postawa*5); //wzrost
  
  set_alignment(150+random(4)*10);
  set_stats(({12+postawa*2,12+postawa*2,12+postawa*2,12+random(5),
    12+random(5),12+postawa*2})); //str,dex,con,int,wis,dis
  
  set_skill(SS_DEFENCE, 20 + postawa*2);
  set_skill(SS_UNARM_COMBAT, 10);
  set_skill(SS_WEP_KNIFE, 10 + random(2) * 2);
  set_skill(SS_HIDE, 53 + random(5));//Po konsultacji z Tati;-)
  
  ustaw_whimpy(80,3,1);
  
  if (random(2))
     add_weapon(TPATH + "/bronie/noz_wie.c");
  
  dodaj_miedz(1 + random(4));
  
  set_act_time(10+random(5)); //czestosc zachowan
  
  set_random_move(20+random(10));
  
  if (k>1) {
    add_act("usmiechnij sie wesolo");
    add_act("zagwizdz zawadiacko");
    add_act("podskocz beztrosko");
  } else {
    add_act("zachlip smutno");
    add_act("zajecz bolsnie");
    add_act("popatrz lagodnie");
  }

jak_pojawiac_sie(" przybywa.");
jak_znikac(" kieruje sie do domu.");
jak_znikac_podczas_walki(" wybiega w przerazeniu.");  
  
} //create_monster

string dlugi_opis(int zadowolone,int postawa)
{
  string opis;
  string konc=koncowka("ego","a");
  mixed postura=({ ({"malego chlopczyka, majacego jakies trzy latka",
                     "mala dziewczynke, wieku najwyzej czterech lat"}),
                   ({"nieduzego piecioletniego chlopaka",
                     "niewielka szescioletnia dziewczynke"}),
                   ({"dziewieciolatka","dziesiecioletnia dziewczynke"}),
                   ({"doroslejacego trzynastolatka",
                     "doroslejaca czternastolatke"}),
                   ({"pietnastoletniego wyrostka, ktory juz wkrotce bedzie " +
                     "mezczyzna",
                     "szestastoletnia dziewczyne, co wkracza w dorosle zycie"}) });
  
  opis = "Widzisz " + (zadowolone?("zyw"+konc):
  				  ("powazn"+konc)) +
  	 " " + koncowka(postura[postawa][0],postura[postawa][1]) + ", " +
  	 (zadowolone?("radosnie bawiac" + konc + " sie z innymi dziecmi"):
  	 	     ("smetnie przygladajac" + konc +" sie zabawom innych dzieci")) +
  	 ".\n";
  
  
  if (zadowolone)
    return opis + "Wyglada na zadowolon" + konc + " i radosn" + konc + ".\n";
  else
    return opis + "Jest czyms zmartwion" + koncowka("y","a") + ".\n";
} //dlugi_opis

int
query_dziecko()
{
   return 1;
}

int
czy_wiesniak(object kto)
{
   return kto->query_wiesniak();
}

int
czy_wiesniaczka(object kto)
{
   return kto->query_wiesniaczka();
}

popros_o_pomoc(mixed tych)
{
   int ile,i;
   
   ile = sizeof(tych);
   for (i=0;i<ile;i++)
       tych[i]->wspieraj(this_object());
}

attacked_by(object wrog)
{
   mixed pomoc;
   
   command("krzyknij Mamo! Tato!");
   
   pomoc = filter(all_inventory(environment(this_object())),czy_wiesniak);
   pomoc += filter(all_inventory(environment(this_object())),czy_wiesniaczka);
   
   set_alarm(1.0,0.0,&popros_o_pomoc(pomoc));
   
   ::attacked_by(wrog);
}
