
/* snotking */

inherit "/d/Imperium/std/monster";

#include <stdproperties.h>
#include <macros.h>
#include <pl.h>
#include <ss_types.h>
#include <wa_types.h>
#include <formulas.h>
#include "local.h"

void
create_monster()
{
         ustaw_nazwe(({"snotling", "snotlinga", "snotlingowi", "snotlinga",
		"snotlingiem", "snotlingu"}), ({"snotlingi", "snotlingow",
		"snotlingom", "snotlingi", "snotlingami", "snotlingach"}), PL_MESKI_NOS_ZYW); 

    ustaw_imie(({"buldo","bulda","buldowi","bulda","buldem","buldzie"}),
        PL_MESKI_OS);
	
	 dodaj_przym("duzy", "duzi");
	 dodaj_przym("smierdzacy", "smierdzacy");
	

	 set_long("Przed toba stoi snotling, jeden z najwiekszych " +
	      "jakiego widziales, bo z pewnoscia najbardziej " +
	      "smierdzacy. Smrod tworzy wokol niego, prawie namacalna " +
	      "aure. Nie odwazysz sie podejsc blizej by obejrzec go " +
              "dokladnie. Z ust wystaje mu ogon, najprawdopodobniej szczura, "+
              "badz jakiegos innego plugastwa.\n");

         ustaw_odmiane_rasy(({"snotling", "snotlinga", "snotlingowi", "snotlinga",
		"snotlingiem", "snotlingu"}), ({"snotlingi", "snotlingow",
		"snotlingom", "snotlingi", "snotlingami", "snotlingach"}), PL_MESKI_NOS_ZYW); 
	 set_gender(G_MALE);
          
     set_skill(SS_DEFENCE, 70);
     set_skill(W_CLUB, 90);    
     set_skill(SS_AWARENESS, 90);
     set_skill(SS_PARRY, 80);
     set_skill(SS_BLIND_COMBAT, 100);
         
     set_all_hitloc_unarmed(3); /* skora */     
     set_alignment(-10);    
     add_prop(CONT_I_HEIGHT, 70);
     add_prop(CONT_I_WEIGHT, 38000);
     
      set_default_answer(VBFC_ME("odpowiedz_zazwyczaj"));
      set_act_time(5);

      set_stats(({150, 230, 130, 15, 15, 50 }));
	
	set_act_time(5 + random(10));
	set_cchat_time(6);
	

	add_act("emote mowi: Twoja, duza!! Szukac tu co??");
	add_act("emote krzyczy: Pieniedze albo kuku!!!");
	add_act("emote podskakuje, krzyczac: KUKU!!!!");
	add_act("emote mowi: Twoja duza wojownika ale moja byc Krol.");
	add_act("emote wola: Twoja wyjsc przyniesc moja duza grzybka. ");
	add_act("emote marudzi: Twoja, duza, nie zaslaniac moja slonce.");
	add_act("emote wola: Twoja, wychodzimy!!");
	add_act("emote cmoka: No ladne cacko! Fiu, fiu!!");
	add_act("emote oburza sie: Moja widziec tu niezla burdel!!!");
	add_act("emote spiewa: BUM TRALALALA bum TRALALLA"); 
	add_act("emote imituje przez moment twoje ruchy.");
	add_act("emote zjada kulke sluzu wydobyta z nosa.");
	add_act("emote wyciera palce oblepione jakas mazia w twoja noge.");
	add_act("emote spoglada na ciebie z rozbawieniem.");
	add_act("emote dlubie palcem w uchu, w nosie a potem go oblizuje.");
	
	add_cchat("GIN GIN GIN GIN GIN");
	add_cchat("Twoja idz zabic inna, moja polecac Fritz...");
	add_cchat("Fritza dobrze walczyc twoja isc zabic jego.");
	add_cchat("Czas!!! Moja prosic o czas!!!!");
	add_cchat("Moja byc krol moja pokazac twoja jak walczyc.");
	add_cchat("Moja zjesc twoja noga na sniadanie!!");

	add_weapon(BRPATH + "bulawa.c");
	add_armour(ZBRPATH + "chochla.c");
	add_armour(ZBRPATH + "kolczuga1.c");


}

string
odpowiedz_zazwyczaj()
   {
   command("'Moja nie wiedziec nic o to.");
   return"";
   }
   
int
czy_ork(object ob)
{
  return  (ob->query_rasa()=="snotling");
}


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)
{
    if (query_attack())
    {
        switch(random(3))
        {
            case 0: command("krzyknij Ojojoj!"); break;
            case 1: command("krzyknij Rany!"); break;
            case 2: command("krzyknij AAAAAAAAAAA!"); break;
        }
        
        return ;
    }
    
    command("wesprzyj " + OB_NAME(ob));
    
    if (query_attack())
    {
        switch(random(5))
        {
            case 0: command("krzyknij AIAAAIIIA!"); break;
            case 1: command("krzyknij Waaaaaa!"); break;
            case 2: command("krzyknij Iiiiiiiii!"); break;
            case 3: command("krzyknij Hurrrrrra!"); break;
            case 4: command("krzyknij Lubu dubu!!"); break;
        }
        return ;
    }

    switch(random(5))
    {
        case 0: command("powiedz Ze niby ja??"); break;
        case 1: command("powiedz do " + OB_NAME(ob) + "A kto ty byc dla mnie?."); break;
        case 2: command("powiedz do " + OB_NAME(ob) + " No no no!"); break;
        case 3: command("powiedz do " + OB_NAME(ob) + " Ja? Nie, ja nie!");
        				break;
        case 4: command("powiedz Ratunku!");
    }
}

public void
pomocy()
{
    (all_inventory(environment(this_object())) - ({ this_object() }))->wesprzyj(this_object());
}

void
attacked_by(object wrog)
{
    command("krzyknij Pomocy, Bija!!");
    set_alarm(2.0, 0.0, "pomocy");
    return ::attacked_by(wrog);
}


string
query_presentation()
{
    return "Buldo, Krol Wielki Wielki, snotling";
}    

void
add_introduced(string imie)
{
    set_alarm(2.0,0.0,"return_intro", imie);
}

varargs void 
return_intro(string kto)
{
    /* Przedstawia sie tylko graczom - w ten sposob unikamy zapetlenia. */

    command("przedstaw sie " + find_player(kto)->query_real_name(PL_CEL));
}
