inherit "/std/monster";
inherit "/std/act/add_things";
inherit "/cmd/std/command_driver";
inherit "/lib/skill_raise.c";

#include "wampiry.h"


void set_up_skills();
mapping skille;


void
create_monster()
{
    ustaw_imie(({"saladin","saladina","saladinowi","saladina","saladinem","saladinie"}),
                PL_MESKI_OS);- 

    ustaw_odmiane_rasy(PL_CZLOWIEK);
    dodaj_przym("arystokratyczny","arystokratyczni");
    dodaj_przym("delikatny", "delikatni");

    set_long("Pozornie slaby czlowiek jednak jego sily sa niewyobrazalne.\n");

    set_gender(G_MALE);

    add_prop(CONT_I_HEIGHT,175);
    add_prop(CONT_I_WEIGHT,80000);
    add_prop(NPC_M_NO_ACCEPT_GIVE,1);


    set_skill(SS_UNARM_COMBAT, 80);
    set_skill(SS_DEFENCE, 70);
    set_skill(SS_PARRY, 70);
    set_skill(SS_BLIND_COMBAT, 70);
    set_skill(SS_WEP_CLUB, 80);
    set_stats(({200, 200, 200, 200, 200, 200, 200}));
    set_up_skills();
    
}

void
add_introduced(string name)
{
   set_alarm(2.0,0.0,"return_info", name);
}

varargs void
return_info(string kto)
{
  command("przedstaw sie "+find_player(kto)->query_real_name(PL_CEL));
}

string

query_presentation()
{
  return "Saladin, Protektor rodu von Carnsteinow";
}

void
init_living()
{
    init_skill_raise();
    ::init_living();
}

int
non_member_train(string str)
{
    command("powiedz do "+OB_NAME(this_player())+" Odejdz! Nie mozesz tu "+
         "cwiczyc!");
    return 1;
}


void
set_up_skills()
{
  skille = ([]);
  skille[SS_WEP_SWORD]=({30,50,58,65});
  skille[SS_LOC_SENSE]=({20,35,45,60});
  skille[SS_TRACKING]=({20,30,40,50});
  skille[SS_AWARENESS]=({25,55,70,100});
  skille[SS_DEFENCE]=({30,55,80,100});
  skille[SS_PARRY]=({30,55,80,100});
  skille[SS_HIDE]=({25,50,75,100});
  skille[SS_SNEAK]=({25,50,75,100});
  skille[SS_UNARM_COMBAT]=({30,60,90,100});

  sk_add_train(SS_WEP_SWORD,65);
  sk_add_train(SS_LOC_SENSE,80);
  sk_add_train(SS_TRACKING,100);
  sk_add_train(SS_DEFENCE,100);
  sk_add_train(SS_PARRY,100);
  sk_add_train(SS_UNARM_COMBAT,100);
  sk_add_train(SS_AWARENESS,100);
  sk_add_train(SS_SNEAK,100);
  sk_add_train(SS_HIDE,100);
}
public varargs int
sk_query_max(int snum)
{
  int statg,zm;

  if (!skille)
    set_up_skills();

  if (TP->query_prop("szef_wampirow"))
     zm = 3;
  else
     {
       statg=this_player()->query_stat(7);
       if (statg>=80)
        zm=3;
       else if (statg>=30)
        zm=2;
       else if (statg>=15)
        zm=1;
       else zm=0;
     }
  if(skille[snum]) return skille[snum][zm];
  else ::sk_query_max(snum);
}



