inherit "/std/monster";
inherit "/std/act/add_things";
inherit "/cmd/std/command_driver";
inherit "/lib/skill_raise.c";

#include "../mafia.h"
object ENG = "/d/Imperium/Rodzina_Ragazzi/engine/engine.c";
#define TO this_object()
void set_up_skills();
mapping skille;


void
create_monster()
{
    ustaw_imie(({"gerrzo","gerrza","gerrzowi","gerrza","gerrzem","gerrzie"}),
                PL_MESKI_OS);

    ustaw_odmiane_rasy(PL_CZLOWIEK);
    dodaj_przym("szybki","szybcy");
    dodaj_przym("muskularni", "muskluarny");

     set_long("Jego nienahalny ubior oraz wredny usmieszek "+ 
              "swiadcza o wysokiej pozycji w statusie spolecznym "+ 
              "oraz o jego bogactwie. Jego nikle miesnie nie swiadcza "+
              "moze tyle o sile co o zwinnosci. Mezczyzna co jakis czas "+
              "spoglada na ciebie, a mimo, ze jest twoim przyjacielem "+
              "przechodza cie dreszcze.\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, 100);
    set_skill(SS_DEFENCE, 100);
    set_skill(SS_PARRY, 100);
    set_skill(SS_BLIND_COMBAT, 100);
    set_skill(SS_WEP_KNIFE, 100);
    set_stats(({300, 500, 200, 200, 200, 200, 200}));
    set_up_skills();
    
}

void
add_introduced(string name)
{
   set_alarm(1.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 "Gerzzo Mistrz Walki Sztyletem, Czlonek Rodziny Ragazzi";
}

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_KNIFE]=({50,78,83,90,100});
  skille[SS_LOC_SENSE]=({60,60,80,100,100});
  skille[SS_TRACKING]=({20,30,50,80,90});
  skille[SS_AWARENESS]=({45,55,70,75,95});
  skille[SS_DEFENCE]=({30,50,50,80,90});
  skille[SS_PARRY]=({30,40,44,45,75});
  skille[SS_HIDE]=({25,50,55,100,90});
  skille[SS_SNEAK]=({25,50,55,100,90});
  skille[SS_2H_COMBAT]=({50,60,62,85,95});
  skille[SS_APPR_MON]=({30,40,60,80,100});
  skille[SS_APPR_OBJ]=({30,40,60,80,100});
  skille[SS_APPR_VAL]=({30,40,60,80,100});
  skille[SS_MAFIA_SERIA]=({60,80,90,100,100});
  skille[SS_TRADING]=({34,40,45,60,85});
  sk_add_skills(MAFIA_SKILLS);
  sk_add_train(SS_WEP_KNIFE,90);
  sk_add_train(SS_2H_COMBAT,65);
  sk_add_train(SS_LOC_SENSE,100);
  sk_add_train(SS_TRACKING,90);
 sk_add_train(SS_DEFENCE, 90);
  sk_add_train(SS_PARRY,50);
  sk_add_train(SS_AWARENESS,75);
  sk_add_train(SS_SNEAK,100);
  sk_add_train(SS_HIDE,100);
  sk_add_train(SS_APPR_MON,80);
  sk_add_train(SS_APPR_OBJ,80);
  sk_add_train(SS_APPR_VAL,80);
  sk_add_train(SS_MAFIA_SERIA,100);
    sk_add_train(SS_TRADING,85);
  

}

public varargs int
sk_query_max(int snum)
{
  int statg,zm;

  if (!skille)
    set_up_skills();


  if (ENG->query_szef()==TP->query_real_name() || ENG->query_ojciec()==TP->query_real_name())
     zm = 4;
  else
     {
       statg=this_player()->query_stat(7);
       if (statg>=400)
        zm=3;
       else if (statg>=251)
        zm=2;
       else if (statg>=51)
        zm=1;
       else zm=0;
     }
  if(skille[snum]) return skille[snum][zm];
  else ::sk_query_max(snum);
}




