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()
{
  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.\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
create_monster()
{

    ustaw_shorty(({ "Praktykantka magii", "Praktykantki 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", "praktykantki", "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.
     */
}




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.");
    }
}
