inherit "/std/monster"; /* jest to osobnik humanoidalny */
inherit "/std/act/action";

#include <ss_types.h>
#include <macros.h>
#include <stdproperties.h>
#include <filter_funs.h>

#define TO    this_object()
#define MIECZ "/doc/examples/bronie/miecz.c"
#define BUTY  "/doc/examples/zbroje/buty.c"
#define ZBRO "/doc/examples/zbroje/kolczuga.c"
#define SPOD "/doc/examples/zbroje/spodnie.c"

int pocaluj();

void
create_monster()
{

  ustaw_shorty(({ "Praktykantka magii", "Praktykantke magii",
	"Praktykantce magii", "Praktykantki magii",
	"Praktykantkom magii", "Praktykantko magii"}),
    ({ "Praktykantki magii", "Praktykantek magii",
       "Praktykantkom magii", "Praktykantek magii", 
       "Praktykantkami magii", "Praktykantkach magii" }),
    PL_ZENSKI);


  dodaj_nazwy(({ "praktykantka", "praktykantke", "praktykantce","praktykantki","praktykantkom", "praktykantko" }),        ({"praktykantki","praktykantek", "praktykantkom", "praktykantek","praktykantkami","praktykantkach" }), PL_ZENSKI);

               
  set_long("Jest to praktykantka magii, kobieta niezwyklej urody. "+
	   "Dlugie, czarne wlosy spiete z tylu opadaja jej na plecy. Rownie "+
	   "czarne oczy swieca jakims niezwyklym blaskiem. Jej bujne ksztalty "+
	   "skryte sa lekkim czarnym plaszczem, ale mozesz zauwazyc "+
	   "jej kragle biodra i niezwykle zgrabne nogi "+
	   "Lekkie, podkute buty dodaja jej subtelnego uroku. "+
	   "Jej twarz promienieje radoscia i dziewczeca niewinnoscia. "+
	   "Jej zgrabne rece, sa stworzone do uprawiania magji.\n");

  ustaw_odmiane_rasy(PL_KOBIETA);
  set_gender(G_FEMALE);
  add_prop(LIVE_I_NEVERKNOWN, 1);
  add_prop(CONT_I_WEIGHT, 65000); // ... 65 kilo...
  add_prop(CONT_I_HEIGHT, 175);   // ... i 175 cm wzrostu..

  set_skill(SS_DEFENCE, 35 + random(5));
  set_skill(SS_UNARM_COMBAT, 15 + random(5));
  set_skill(SS_PARRY, 15 + random(10));

  set_stats(({ 25, 25, 22, 30, 30, 40}));

  set_chat_time(10);
  add_chat("Witaj, w czym moge pomoc?");
  add_chat("Jestem teraz zajeta, Lord Falandir zadal mi trudne zadanie..");
  add_chat("Lord Falandir to niezwykly czarodziej, prawda?");

  set_cchat_time(5);
  add_cchat("A masz!");
  add_cchat("Dlaczego mnie bijesz?");
  add_cchat("Lord Falandir cie srogo ukaze!");

  set_act_time(10);
  add_act(({"mrugnij", "westchnij gleboko", "usmiechnij sie"}));
  add_act("emote proboje przypomniec sobje zaklecie.");
  add_act("emote usmiecha sie do ciebie blyskotliwie.");

  add_cmd_item("praktykantke", "pocaluj", pocaluj);

  add_armour(ZBRO);
  add_armour(BUTY);
  add_armour(SPOD);
  /* Funkcje add_weapon() i add_armour() mamy dzieki temu, ze
   * /std/monster.c dziedziczy /std/act/add_things.c.
   */
}

int
pocaluj()
{
  if ( this_player()->query_imie(this_player(), PL_MIA)=="Falandir")
  {
    saybb(QCIMIE(this_player(), PL_MIA) + "Caluje praktykantke czule, "+
          "a ona odwidziecza sie mu namietnym dlugim pocalunkiem.\n");
    write("Calujesz praktykantke czule, a ona odwdziecza ci sie " +
	  "namietnym pocalunkiem.\n");
  }
  else
  {
    saybb(QCIMIE(this_player(), PL_MIA) + "probuje pocalowac " +
	  "praktykantke, lecz ona unika twoich ust brzydzac " +
	  "sie strasznie.\n");
    write("Probojesz pocalowac elfke lecz ona unika twych ust.\n");
  }
  return 1;
}

void
add_introduced(string imie)
{
  set_alarm(2.0, 0.0, "return_introduce", imie);
}

void
emote_hook(string emote, object wykonujacy, string przyslowek)
{
  switch (emote)
    {
    case "uklon":
      set_alarm(2.0, 0.0, "command", "uklon sie "
		+ OB_NAME(wykonujacy));
      break;

    case "przytul":
      command("powiedz Co ty sobie wyobrazasz?!");
      command("kopnij " + OB_NAME(wykonujacy));
      
      break;
    case "kopnij":
    case "opluj":
      set_alarm(2.0, 0.0, "wkop_mu", wykonujacy);
    break;
    case "zasmiej sie":
      set_alarm(2.0, 0.0, "return_laugh", wykonujacy);
      break;
    }
}

void
wkop_mu(object kto)
{
  switch (random(3))
    {
    case 0:
      command("powiedz Jak smiales to zrobic, chamie?!");
      command("spoliczkuj " + OB_NAME(kto));
          
      break;
    case 1:
      command("powiedz Zrob to jeszcze raz a pozalujesz!");
      command("warknij");
      
      break;
    case 2:
      command("powiedz Dosc tego! Teraz dostaniesz za swoje!");
      command("przyzwij falandira pomocy");
      command("zabij " + OB_NAME(kto));
    }
}

void
return_introduce(string imie)
{
  object osoba;
    
  osoba = present(imie, environment());

  if (osoba)
    command("powiedz Milo cie poznac, " + osoba->query_wolacz() + ".");
}

void
return_laugh(object kto) 
{
  switch(random(2))
    {
    case 0:
      command("powiedz Tak, tak, smiech to zdrowie.");
      break;
    case 1:
      command("powiedz Nie smiej sie tak glosno.");
      command("powiedz Bo Lord Falandir uslyszy.");
    }
}
