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/Alderazzi/engine/engine.c";

void set_up_skills();
mapping skille;


void
create_monster()
{
    ustaw_imie(({"lucjusz","lucjusza","lucjuszowi","lucjusza","lucjuszem","lucjuszu"}),
                PL_MESKI_OS);

    ustaw_odmiane_rasy(PL_CZLOWIEK);
    dodaj_przym("wesoly","weseli");
    dodaj_przym("lekki","lekcy");

     set_long("Lucjusz z Famili Alderazzi - najwiekszy w swiecie mocarz.\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 "Lucjusz di Alderazzi Familia, mezczyzna";
}

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,95});
  skille[SS_LOC_SENSE]=({60,60,80,100,97});
  skille[SS_TRACKING]=({20,30,50,80,80});
  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,65,85});
  skille[SS_APPR_MON]=({30,40,60,80,98});
  skille[SS_APPR_OBJ]=({30,40,60,80,100});
  skille[SS_APPR_VAL]=({30,40,60,80,100});
  skille[SS_MAFIA_CIOS]=({60,80,90,100,100});
  skille[SS_TRADING]=({34,40,45,60,70});
  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,80);
 sk_add_train(SS_DEFENCE, 50);
  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_CIOS,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() || this_player()->query_stat(7)>640)
     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);
}




