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(SOLK_LOK + "sypialnia", "wschod");
   set_up_skills();
}
void
reset_imperium_room()
{
    ::reset_imperium_room();
}
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= (SOLKAN->query_ranga(TP)==3) ?
                        "Nie zdolasz juz tutaj udoskonalic swych umiejetnosci.\n":
                        "Wyzsze poziomy umiejetnosci dostepne sa tylko dla wyzszych rang.\n";
        }
        else str="Tylko Wyznawcom Solkana jest dane cwiczyc tutaj swe umiejetnosci.\n";
        notify_fail(str);
        return 0;
}

void
set_up_skills()
{
    dodaj_trening(SS_WEP_POLEARM, ({30,40,50,60,70,85,100}));
    dodaj_trening(SS_DEFENCE,     ({25,45,55,65,75,80, 85}));
    dodaj_trening(SS_PARRY,       ({25,50,50,50,65,75, 80}));
    dodaj_trening(SS_AWARENESS,   ({40,49,58,67,75,89,100}));
    dodaj_trening(SS_SPELLCRAFT,  ({40,50,60,65,70,85, 90}));
    dodaj_trening(S_DZGNIJ,       ({20,30,40,50,70,89,100}));
    dodaj_trening(S_BMAGIA,       ({20,30,40,50,70,89,100}));
    dodaj_trening(S_WINVIS,       ({20,30,40,50,70,89,100}));
    dodaj_trening(S_ZATRZYMAJ,    ({20,30,40,50,70,89,100}));
	dodaj_trening(S_SWIATLO,      ({20,30,40,50,70,89,100}));
    sk_add_skills(S_SKILLS);
    sk_add_train(SS_WEP_POLEARM, 100);
    sk_add_train(SS_DEFENCE,      85);
    sk_add_train(SS_PARRY,        80);
    sk_add_train(SS_AWARENESS,   100);
    sk_add_train(SS_SPELLCRAFT,   90);
    sk_add_train(S_DZGNIJ ,      100);
    sk_add_train(S_BMAGIA,       100);
    sk_add_train(S_WINVIS,       100);
    sk_add_train(S_ZATRZYMAJ,    100);
    sk_add_train(S_SWIATLO,      100);
}

public int
sk_query_max(int snum)
{
    int ranga=TP->query_stat(7);
    if (!skille[snum])
    return 0;
    switch(ranga)
    {
        case 1..15:
        	return skille[snum][0];
        case 16..32:
        	return skille[snum][1];
        case 33..49:
        	return skille[snum][2];
        case 50..65:
        	return skille[snum][3];
        case 66..90:
        	return skille[snum][4];
        case 91..105:
        	return skille[snum][5];
        default:
        	return skille[snum][6];
    }
    return skille[snum][6];
}
