inherit "/d/Imperium/std/room";
inherit "/lib/skill_raise";
inherit "/lib/guild_support";
#include "defs.h"
mapping skille=([]);
void set_up_skills();
object skrzynia;
void
create_imperium_room()
{
  set_short("Sala treningowa Najemnikow");
  set_long("Sala treningowa Najemnikow.\n");
   add_prop(ROOM_I_INSIDE,1);
   add_prop(ROOM_I_LIGHT,1);
   add_prop(ROOM_M_NO_ATTACK,1);
   add_exit(MERC_LOK + "sypialnia", "wschod");
   set_up_skills();
   skrzynia = clone_object(RACKI);
   skrzynia->move(TO);
}
void
reset_imperium_room()
{
    ::reset_imperium_room();
    if (!skrzynia) { skrzynia = clone_object(RACKI); skrzynia->move(TO); }
}
void
init()
{
   ::init();
   init_skill_raise();
}
dodaj_trening(int skill, int *poziomy)
{
        skille[skill]=poziomy;
}
int
sk_hook_improved_max(int sum, int poziom)
{
        string str= (poziom==skille[sum][0]) ?
                "Niestety, nie zdolasz juz tutaj udoskonalic tej umiejetnosci.\n":
                "Wyuczyles sie tej umiejetnosci najlepiej jak mogles przy twojej randze.\n";
        notify_fail(str);
        return 0;
}
int
sk_hook_no_more_improve()
{
        string str;
        if (TP->query_guild_name_occ()==GUILD_NAME)
        {
                str= (NAJEMNICY->query_ranga(TP)==3) ?
                        "Nie zdolasz juz tutaj udoskonalic swych umiejetnosci.\n":
                        "Wyzsze poziomy umiejetnosci dostepne sa tylko dla wyzszych rang.\n";
        }
        else str="Szkolic sie tutaj moga tylko Najemnicy.\n";
        notify_fail(str);
        return 0;
}

void
set_up_skills()
{

    dodaj_trening(SS_WEP_SWORD,         ({ 60, 90, 90 }));
    dodaj_trening(SS_DEFENCE,           ({ 60, 90, 60 }));
    dodaj_trening(SS_PARRY,             ({ 60, 90, 60 }));
    dodaj_trening(SS_AWARENESS,         ({ 40, 60, 85 }));
    dodaj_trening(M_UDERZ,              ({ 60, 90, 100 }));
    dodaj_trening(M_BLOK,               ({ 60, 90, 100 }));
    sk_add_skills(MERC_SKILLS);
    sk_add_train(SS_WEP_SWORD, 90);
    sk_add_train(SS_DEFENCE, 60);
    sk_add_train(SS_PARRY, 60);
    sk_add_train(SS_AWARENESS, 85);
    sk_add_train(M_UDERZ, 100);
    sk_add_train(M_BLOK, 100);
}
public int
sk_query_max(int snum)
{
    int ranga=NAJEMNICY->query_ranga(TP);
    if (!skille[snum]) return 0;
    switch(ranga)
    {
        case 1: return skille[snum][0];
        case 2: return skille[snum][1];
        case 3: return skille[snum][2];
    }
    return skille[snum][2];
}
