inherit "/std/monster";
inherit "/std/combat/unarmed";   
#include <ss_types.h>
#include <stdproperties.h>
#include <wa_types.h>
#include <macros.h>
#include <pl.h>
#include <formulas.h>

int glowa=3;
int alarmik=0;

void
create_monster()
{

    ustaw_odmiane_rasy( ({"hydra", "hydry", "hydrze", "hydre",
                "hydra", "hydrze"}), ({"hydry", "hydr",
                "hydrom", "hydry", "hydrami", "hydrach"}), PL_ZENSKI);

    dodaj_przym("oslizgly", "oslizgli");
    dodaj_przym("morderczy", "morderczy");


    set_long("Jest to slizgla mordercza hydra, potwor o ktorym dotad slyszales "+
             "tylko w legendach i opowiesciach. Kto by pomyslal, ze dane ci bedzie "+
             "to monstrum kiedys spotkac. Jest ogromna, wydaje sie wielkosci co najmniej "+
             "maszyny oblezniczej, do tego na trzech ohydnych szyjach klapia paszczami "+
             "trzy paskudne glowy. Jej zielona skora pokryta jest luskowatym naskorkiem, "+
             "calym mokrym od wody. Z pyskow dochodzi do ciebie nieprzyjemny odor gnijacego miesa..\n");


    add_prop(LIVE_I_NEVERKNOWN,1);

    set_attack_unarmed(1, 250, 500, W_IMPALE,  40, "klami kolczastej glowy");
    set_attack_unarmed(4, 250, 500, W_BLUDGEON, 30, "klami pokrytej luska glowy");
    set_attack_unarmed(3, 250, 500, W_BLUDGEON, 30, "klami porosnietej brodawkami glowy");

    set_hitloc_unarmed(0, 290, 20, "potworna glowe");    
    set_hitloc_unarmed(1, 290, 30, "pokryty luska tulow");
    set_hitloc_unarmed(2, 290, 10, "bloniasta lape");
    set_hitloc_unarmed(3, 290, 20, "lewe gadzie skrzydlo");
    set_hitloc_unarmed(4, 290, 20, "prawe gadzie skrzydlo");


    set_aggressive(1);  
    set_exp_factor(249);
    set_alignment(-1500);

    add_prop(CONT_I_WEIGHT, 850000); 
    add_prop(CONT_I_HEIGHT, 540);   
    add_prop(NPC_M_NO_ACCEPT_GIVE, 1);
    add_prop(LIVE_I_SEE_INVIS, 1);
    add_prop(LIVE_I_SEE_DARK, 100);
    add_prop(LIVE_I_QUICKNESS, 140);    
    
    set_stats(({700, 700, 700, 700, 700, 700}));
  
    set_skill(SS_DEFENCE, 300);
    set_skill(SS_BLIND_COMBAT, 100);
add_weapon("/d/Imperium/yokoshiwa/Sztolnie/obj/but.c");
add_weapon("/d/Imperium/yokoshiwa/Sztolnie/obj/lustro.c");
    set_skill(SS_UNARM_COMBAT, 300);
    set_skill(SS_AWARENESS, 100);

    set_cchat_time(5);
    add_cchat("SSSSssssssss....");

    set_cact_time(5);
    add_cact("emote macha zwodniczo ogonem");
    add_cact("emote pluje zraca piana z pyska");
    add_cact("emote tupie ogromnymi luskowatymi stopami");
    add_cact("emote zionie smierdzacym oddechem prosto w twoja twarz");
    add_cact("emote syczy wyciagajac w gore trzy mordercze pyski.");
    add_cact("emote skrzeczy przerazliwie.");
    add_cact("emote rozposciera skrzydla i lopoce nimi falujac wode.");
    add_cact("emote zatacza swoim ogromnym ogonem szeroki luk, tuz przed twoja glowa.");
 
}

void
odstunuj( object ob )
  {
   alarmik=0;
   ob->remove_stun();
  }

void
special_attack( object enemy )
{
    object paral;
    if(alarmik==1)
        return; 
    setuid();seteuid(getuid());
    paral = clone_object("/std/paralyze.c");
enemy->reduce_hit_point(1500);
if (enemy->query_hp() < 1)
 enemy->do_die(this_object());
    paral->set_fail_message("Hydra przygniotla cie lapa, nie mzoesz sie ruszyc.\n");
    paral->set_remove_time(15);

paral->set_stop_message("Hydra zwalnia uscisk, udaje ci sie wyczolgac spod jej lapy\n");
paral->move(enemy);
   tell_room(environment(this_player()),"Oslizgla mordercza hydra zaczyna przerazliwie ryczec, podskakujac i miotajac"+
                             "sie nastepuje swa potezna lapa na "+QIMIE(enemy,PL_BIE)+" uniemozliwiajac mu "+ 
                             "wszystkie ruchy.\n",({enemy}));
   enemy->catch_msg("Oslizgla mordercza hydra zaczyna przerazliwie ryczec, podskakujac i miotajac "+
                    "sie nastepuje swa potezna lapa na ciebie uniemozliwiajac ci wszystkie ruchy.\n");

enemy->add_stun();

   alarmik=1;
   set_alarm(30.0, 0.0, "odstunuj", enemy);
}
void
do_die(object killer)
{
glowa-=1;
if(glowa==0)
 ::do_die(killer);
else
{
 this_object()->set_hp(this_object()->query_max_hp());
 this_object()->command("emote ryczy z wscieklosci szarpiac sie i motajac wkolo."+
                        "Nagle w wyniku zadanych ciosow, jedna z glow oslizglej "+
                        "morderczej hydry dyndajac na luskowatej szyji powoli odrywa "+
                        "sie od reszty tulowia i spada do podziemnego jeziorka!\n" +
                        "Woda przez chwile sie zagotowala, a drazniacy zapach siarki " +
                        "dotarl do twych nozdrzy.\n" +
                        "Hydra zdaje sie byc slabsza, jednak szybko odzyskuje pelnie "+
                        "sil, lecz z nieco mniejszym impetem rusza na ciebie szarza!!!\n");
}
}
int
rzeka( string str )
{
    if (str == "skrzynie" || str == "skrzynie")
        {
        
        this_player()->catch_msg("Jestes tak przerazony widokiem tego potwora "+
      "ze nogi same ci sie uginaja. Nie ruszysz sie nigdzie!\n");
        return 1;       
        }


write("Jestes tak przerazony widokiem tego potwora "+
      "ze nogi same ci sie uginaja. Nie ruszysz sie nigdzie!\n");
return 1;
}

void
init_living()
{
::init_living();
    
add_action("rzeka","rzeka");    


}
