
/* skaven */
/* Vaktoth 1997 */

inherit "/d/Imperium/std/chaos";

#include "defs.h"
#include <stdproperties.h>
#include <macros.h>
#include <ss_types.h>
#include <wa_types.h>

#define PRZYMIOTNIKI ({({"szalony", "szaleni"}), ({"odrazajacy", "odrazajacy"}), \
            ({"okrutny", "okrutni"}), ({"barbarzynski", "barbarzynscy"}), \
        ({"bezlitosny", "bezlitosni"}), ({"zdradziecki", "zdradzieccy"}), ({"niebezpieczny", "niebezpieczni"})})
#define PRZYMIOTNIKI2 ({({"ostronosy", "ostronosi"}), ({"ciemnoskory", "ciemnoskorzy"}), \
        ({"zoltooki", "zoltoocy"}), ({"czerwonooki", "czerwonoocy"}), \
        ({"teponosy", "teponosi"}), ({"zwinny", "zwinni"}), ({"ciemnooki","ciemnoocy"})})

#define LICZBA_PRZYMIOTNIKOW 7

#define BRON      BRONIE + miecz()
#define ZBROJA    ZBROJE + "skavzbr.c"

#define PEN_SPECJALA 3*random(query_stat(SS_STR))
#include "/d/Imperium/funkcje/specjal1.c"

string
miecz()
{
    if(!random(10)) return "skavmie3.c";
    switch(random(2))
    {
        case 0:
        return "skavmie1.c";
        case 1:
        return "skavmie2.c";
    }
}        

void
create_chaos()
{
        int i, j;       

         i = random(LICZBA_PRZYMIOTNIKOW);
         j = random(LICZBA_PRZYMIOTNIKOW);
        
         dodaj_przym(PRZYMIOTNIKI2[i][0], PRZYMIOTNIKI2[i][1]);
         dodaj_przym(PRZYMIOTNIKI[j][0], PRZYMIOTNIKI[j][1]);
         set_long("Przed toba stoi jedna z obrzydliwszych kreatur Starego Swiata" +
             " - skaven. Szczurza morda, dlugie i zwinne lapy zakonczone ostrymi" +
                 " pazurami, wlochate cialo - oto jak wyglada ten sluga chaosu." +
                 " Smiertelni w boju, zdradzieccy i podstepni sa plaga kanalow" +
         " wszelkich miast, siejac tam choroby, smierc i zniszczenie.\n");

         ustaw_odmiane_rasy(({"skaven", "skavena", "skavenowi", "skavena",
                "skavenem", "skavenie"}), ({"skaveni", "skavenow",
                "skavenom", "skavenow", "skavenami", "skavenach"}), PL_MESKI_OS); 
         set_gender(G_MALE);
          
     set_skill(SS_DEFENCE, 20 + random(20));
     set_skill(W_SWORD, 20 + random(20));
     set_skill(W_KNIFE, 30 + random(20));    
     set_skill(SS_PARRY, 15 + random(15));
     set_skill(SS_BLIND_COMBAT, random(30));
     set_skill(SS_AWARENESS, 40 + random(20));
    
     set_all_hitloc_unarmed(10); /* gruboskorny skubaniec */     
     set_alignment(-100);    
     add_prop(CONT_I_HEIGHT, 150 + random(30));
     add_prop(CONT_I_WEIGHT, 55000 + random(20000));
     add_prop(LIVE_I_NEVERKNOWN,1);     
     add_prop(IMPERIUM_I_STWOR_CHAOSU, 1);

     add_armour(ZBROJA);
     add_weapon(BRON);     
     
     set_default_answer(VBFC_ME("odpowiedz_zazwyczaj"));
     set_act_time(5);

     add_prop(LIVE_I_NEVERKNOWN, 1);    

     set_stats(({130 + random(10), 130 + random(20), 130 + random(15), 130, 135, 130 }));
        
        set_chat_time(15 + random(15));
        set_act_time(20 + random(10));
        set_cchat_time(6);
        

        add_chat("Czego tu szukasz ? Zjezdzaj stad ty wiesniaku !!");
        add_chat("Jak tys tu trafil? Niewazne - umarli nie mowia.");
        add_chat("Nooo, podejdz blizej, zapchlona pokrako!");
        add_chat("Dzis na obiad bede jadl swieze mieso - ciebie!");

        
        add_act("emote poprawia swa zbroje.");
        add_act("emote patrzy sie na ciebie wyglodnialym wzrokiem.");
        add_act("emote mamrocze cos w nieznanym tobie jezyku.");
        add_act("emote ziewnal, ukazujac swe zolte kly w pelnej krasie.");
        add_act("emote patrzy w twoja strone, usmiechajac sie okrutnie.");
        add_act("emote opiera sie leniwie o sciane kanalu.");

        add_cchat("HARRRAGHH!!! WYBILA TWOJA OSTATNIA GODZINA CHLYSTKU!");
        add_cchat("Czy ty naprawde myslisz, ze zdolasz mnie pokonac?");
        add_cchat("Tylko sobie nie zrob krzywdy ta bronia. Lepiej mi ja oddaj.");
        add_cchat("Uczta dla naszego Pana! Krwi! Krwi! Wiecej krwi!");

    set_aggressive(1);
}


string
odpowiedz_zazwyczaj()
   {
   command("'Nic o tym nie wiem, kundlu. Zabieraj sie stad!");
   command("'Jeszcze tu jestes??");
   return"";
   }

int
czy_ork(object ob)
{
  return  (ob->query_rasa()=="skaven");
}


object*
query_orki()
{
  object ob=environment(this_object());
  object *lista;
  
  if (!ob)
    return 0;
  lista = all_inventory(ob);
  lista -= ({this_object()});
  lista = filter(lista, czy_ork);
  return lista;
}

void
rob(object ob, string co)
{
  ob->command(co);
}

public void
wesprzyj(object ob)
{
    command("wesprzyj " + OB_NAME(ob));
    
    if (query_attack())
    {
        switch(random(5))
        {
            case 0: command("krzyknij Sam tego chciales!"); break;
            case 1: command("krzyknij Waaaaaa!"); break;
            case 2: command("krzyknij Arghhhhh!"); break;
            case 3: command("krzyknij Krwiiiii!"); break;
            case 4: command("krzyknij Smierci!!"); break;
        }
        return ;
    }

    switch(random(2))
    {
        case 0: command("powiedz do "+OB_NAME(ob)+" Hmmmmm ..."); break;
        case 1: command("powiedz do "+OB_NAME(ob)+" Nie moge ci pomoc, bracie."); break;
    }
}

public void
pomocy()
{
    (all_inventory(environment(this_object())) - ({ this_object() }))->wesprzyj(this_object());
}

void
attacked_by(object wrog)
{
    command("krzyknij Bracia Skaveni! Na pomoc !!");
    set_alarm(2.0, 0.0, "pomocy");
    return ::attacked_by(wrog);
}


