
/* losowe reptilioniki */
/* Elve */

inherit "/d/Imperium/std/monster";

#include "defs.h"
#include <stdproperties.h>
#include <macros.h>
#include <ss_types.h>
#include <wa_types.h>

#define PRZYMIOTNIKI ({({"cherlawy", "cherlawi"}), ({"umiesniony", "umiesnieni"}), \
            ({"niski", "niscy"}), ({"krepy", "krepi"}), \
        ({"oslizgly", "oslizgli"}), ({"plaskoglowy", "plaskoglowi"}), ({"barczysty","barczysci"})})
#define PRZYMIOTNIKI2 ({({"smierdzacy", "smierdzacy"}), ({"bladoskory", "bladoskorzy"}), \
        ({"zlotooki", "zlotoocy"}), ({"skosnooki", "skosnoocy"}), \
        ({"strachliwy", "strachliwi"}), ({"zwinny", "zwinni"}), ({"syczacy", "syczacy"})})

#define IZBROJE ({"repkolcz.c","reptarcz.c","rephelm.c","ikkolcza.c"})
#define IBRONIE ({"repmiecz.c","repszabla.c","pika.c","repnoz.c"})
#define LICZBA_KOMBINACJI_ZBROI 4
#define LICZBA_KOMBINACJI_BRONI 4
#define LICZBA_PRZYMIOTNIKOW 7

#define PEN_SPECJALA 50
#include "/d/Imperium/funkcje/specjal1.c"

void
create_monster()
{
     int i, j, x, y;
     string opis1, opis2, bron, zbroja;

     string *zbr = IZBROJE;
     string *bro = IBRONIE;
     
         i = random(LICZBA_PRZYMIOTNIKOW);
         j = random(LICZBA_PRZYMIOTNIKOW);
         y = random(LICZBA_KOMBINACJI_ZBROI);
         x = random(LICZBA_KOMBINACJI_BRONI);

     set_aggressive(1);
     
     bron = BRONIE + bro[x];
     zbroja = ZBROJE + zbr[y];
     
     opis1 = PRZYMIOTNIKI2[i][0];
     opis2 = PRZYMIOTNIKI[j][0];

         dodaj_przym(PRZYMIOTNIKI2[i][0], PRZYMIOTNIKI2[i][1]);
         dodaj_przym(PRZYMIOTNIKI[j][0], PRZYMIOTNIKI[j][1]);

         set_long("Przed toba stoi " + opis1 + " " + opis2 + " reptilion. " +
                "Pokraczna kreatura wzrostu pokaznego krasnoluda gorskiego " +
                "stoi na krzywych, gadzich nogach pokrytych zielonkawa luska. " +
                "W plaskiej glowie tkwia wypukle, zimne, blyszczace oczy obserwujace " +
                "otoczenie. Krotkie konczyny przednie z palcami polaczonymi blona zwisaja " +
                "niezgrabnie z mizernego pasa barkowego. Cala postac sprawia zdecydowanie nieprzyjemne wrazenie" +
                ".\n");

         ustaw_odmiane_rasy(({"reptilion", "reptiliona", "reptilionowi", "reptiliona",
                "reptilionem", "reptilionie"}), ({"reptiliony", "reptilionow",
                "reptilionom", "reptiliony", "reptilionami", "reptilionach"}), PL_MESKI_NOS_ZYW); 
         set_gender(G_MALE);
          
     set_skill(SS_DEFENCE, random(25));
     set_skill(W_KNIFE, 30 + random(20));    
     set_skill(W_CLUB, 30 + random(20));
     set_skill(W_POLEARM, 30 + random(20));
     set_skill(SS_PARRY, random(25));
     set_skill(W_SWORD, 30 + random(20));
     set_skill(SS_SHIELD_PARRY, 20+random(30));
     set_skill(SS_AWARENESS, 40 + random(40));

     set_all_hitloc_unarmed(2);
     set_alignment(-125);
     add_prop(CONT_I_HEIGHT, 120 + random(30));
     add_prop(CONT_I_WEIGHT, 5000 + random(1000));
     add_prop(LIVE_I_NEVERKNOWN,1);
     
     add_armour(zbroja);
     add_weapon(bron);    
     
      set_default_answer(VBFC_ME("odpowiedz_zazwyczaj"));
      add_prop(LIVE_I_NEVERKNOWN, 1);   

      set_stats(({40 + random(15), 30 + random(10), 45 + random(15), 30, 30, 65 + random(10) }));
        
        set_chat_time(30 + random(40));
        set_act_time(20 + random(20));
        set_cchat_time(5 + random(5));
        set_cact_time(9 + random(5));


        add_chat("Te krasssnoludy dzialaja mi na nerrwy!");
        add_chat("Tssszeba znalessssc cossss do jeccccenia.");
        add_chat("Weeeze! Wssssszedzie weze! Jak najwiecssej wezzzy!");
        add_chat("Juz niedlugo nassssza armia zaleje te kopalnie.");
        add_chat("Moj wodzsss bedzie ze mnie dumny.");

        add_act("emote wysuwa rozwidlony jezyk i porusza nim przez chwile badajac powietrze.");
        add_act("rozejrzyj sie podejrzliwie");
        add_act("emote wciaga powietrze przez waskie nozdrza z syczacym dzwiekiem.");
        add_act("emote przyglada ci sie z nieukrywana niechecia.");
        add_act("emote drapie sie po plaskiej glowie zeskrobujac szara narosl.");

        add_cchat("Zginiessssz marnie!");
        add_cchat("Gady zapanuja nad tym nedznym swiatem!");
        add_cchat("Takkkie bezlusssskie lajzy trzsszeba wyplenic razsss na zawsssssze!");
        add_cchat("Zarasss zawolam ressssszte moich wsssspolbraci!");
      add_cact("emote wlepia w ciebie swoje gadzie oczy. Dreszcz obrzydzenia przemyka wzdluz twojego kregoslupa.");
      add_cact("emote wydobywa z gardla przeciagly, glosny syk drazniacy twoje uszy.");
      add_cact("emote rozdziawia paszcze pokazujac dwie pary ostrych klow.");

}

string
odpowiedz_zazwyczaj()
{
   command("powiedz A co tobie do tego, bezluska pokrako?!");
   return"";
}

public void
wesprzyj_rep(object ob)
{
    if (query_attack())
    {
        return ;
    }
    
    command("wesprzyj " + OB_NAME(ob));
    
    if (query_attack())
    {
        switch(random(5))
        {
            case 0: command("krzyknij Napssszod!"); break;
            case 1: command("krzyknij Do broni!"); break;
            case 2: command("krzyknij Khkkkkkkkkk!"); break;
            case 3: command("krzyknij Sssssssss!"); break;
            case 4: command("krzyknij Na smierc!"); break;
        }
        return ;
    }

    switch(random(5))
    {
        case 0: command("powiedz do "+OB_NAME(ob)+" Czego chcesssssz?!"); break;
        case 1: command("powiedz do "+OB_NAME(ob)+" Odwal ssssie!"); break;
        case 2: command("powiedz do "+OB_NAME(ob)+" Przesssstan!"); break;
        case 3: command("powiedz do "+OB_NAME(ob)+" Zabiccc!");
                                        break;
        case 4: command("powiedz do "+OB_NAME(ob)+" Ratunku!");
    }
}

public void
pomocy()
{
    (all_inventory(environment(this_object())) - ({ this_object() }))->wesprzyj_rep(this_object());
}

void
attacked_by(object wrog)
{
    command("krzyknij Na pomoccss!");
    set_alarm(0.1, 0.0, "pomocy");
    return ::attacked_by(wrog);
}

void
notify_you_killed_me()
{
    set_alarm(0.2,0.0,"ograbiamy");  
}    

void
ograbiamy()
{
    command("wez wszystko z ciala");
}
