PDA

View Full Version : Skill Caps & Item Skill Mods (snippet + SQL)


Wiz
07-12-2003, 11:39 PM
Here's some code for a new CheckIncreaseSkill, GetSkill with support for skill mod items, and a database of class skill mods. NOTE that the entries are modified on personal preference basis, and WILL NOT be identic to EQLive ones, although very similar and in most cases identic.

New functions needed, for client.cpp:


bool Client::CheckIncreaseSkill(int16 skillid, sint16 chancemod)
{
if (GetSkill(skillid, false) < GetSkillCap(skillid))
{
if (rand()%100 < (5+chancemod))
{
SetSkill(skillid,GetSkill(skillid)+1);
return true;
}
}
return false;
}

int16 Client::GetSkillCap(int8 skillid)
{
int8 skill_class, skill_level, skill_formula;
int16 base_cap, skill_cap, skill_cap2;
char errbuf[MYSQL_ERRMSG_SIZE];
char *query = 0;
MYSQL_RES *result;
MYSQL_ROW row;
//Fetch the data from DB.
if (database.RunQuery(query, MakeAnyLenString(&query, "SELECT class, skill, level, formula, pre50cap, post50cap from skillcaps where skill = %i", skillid), errbuf, &result))
{
row = mysql_fetch_row(result);
skill_class = atoi(row[0]);
skill_level = atoi(row[1]);
skill_formula = atoi(row[2]);
skill_cap = atoi(row[3]);
if (atoi(row[4]) > skill_cap)
skill_cap2 = (atoi(row[4])-skill_cap)/10; //Split the post-50 skill cap into difference between pre-50 cap and post-50 cap / 10 to determine amount of points per level.
delete[] query;
mysql_free_result(result);
}
else
return 0;
//Too low level for this skill?
if (GetLevel() < skill_level)
return 0;
//Determine pre-51 level-based cap
base_cap = GetLevel()*skill_formula+skill_formula;
if (base_cap > skill_cap)
base_cap = skill_cap;
//If post 50, add post 50 cap to base cap.
if (GetLevel() > 50 && skill_cap2 > 0)
base_cap += skill_cap2*(GetLevel()-50);
//Base cap is now the max value at the person's level, return it!
return base_cap;
}


(Don't forget to declare the functions in the .h file.)

Here is the client.h code for the GetSkill that supports item skill mods, note that this is needed for the above code, or you must change GetSkill(skillid, false) to remove the boolean.


inline int16 GetSkill(int skill_id, bool skill_mod = false) { assert(skill_id >= 0 && skill_id < 74); if (pp.skills[skill_id + 1] > 250) pp.skills[skill_id + 1] = 0; if (skill_mod) return pp.skills[skill_id + 1] + GetItemSkillMod(skill_id); else return pp.skills[skill_id + 1]; }

int8 Client::GetItemSkillMod(int8 skillid)
{
const Item_Struct* TempItem;
int8 Total = 0;

for(int x=1; x<=20; x++)
{
TempItem = database.GetItem(pp.inventory[x]);
if (TempItem && TempItem->common.skillModId == skillid)
{
Total += TempItem->common.skillModPercent;
}
}
return Total;
}


Finally, here is the SQL code for caps, simply source it into the DB:


CREATE TABLE skillcaps (
class tinyint(2) NOT NULL default '',
skill smallint(4) NOT NULL default '',
level tinyint(2) NOT NULL default '',
formula tinyint(2) NOT NULL default '',
pre50cap smallint(4) NOT NULL default '',
post50cap smallint(4) NOT NULL default ''
) TYPE=MyISAM;

INSERT INTO skillcaps VALUES (1, 0, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 1, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 2, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 3, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 7, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (1, 15, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 28, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 30, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 33, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 36, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 73, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 51, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (1, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (1, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (1, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (1, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (1, 10, 6, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 19, 6, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 34, 10, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 22, 13, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 20, 15, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 37, 35, 5, 200, 250);
INSERT INTO skillcaps VALUES (1, 16, 35, 5, 200, 200);


INSERT INTO skillcaps VALUES (2, 0, 1, 4, 140, 190);
INSERT INTO skillcaps VALUES (2, 2, 1, 4, 140, 190);
INSERT INTO skillcaps VALUES (2, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (2, 15, 1, 4, 140, 190);
INSERT INTO skillcaps VALUES (2, 28, 1, 4, 110, 150);
INSERT INTO skillcaps VALUES (2, 33, 1, 4, 150, 190);
INSERT INTO skillcaps VALUES (2, 4, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (2, 5, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (2, 14, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (2, 18, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (2, 24, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (2, 13, 4, 5, 200, 250);
INSERT INTO skillcaps VALUES (2, 31, 8, 5, 200, 250);
INSERT INTO skillcaps VALUES (2, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (2, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (2, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (2, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (2, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (2, 10, 25, 4, 150, 200);
INSERT INTO skillcaps VALUES (2, 19, 10, 4, 120, 180);
INSERT INTO skillcaps VALUES (2, 43, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (2, 44, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (2, 45, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (2, 46, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (2, 47, 30, 4, 150, 200);

INSERT INTO skillcaps VALUES (3, 0, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 1, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 2, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 3, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 5, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 7, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (3, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (3, 15, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 28, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 30, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 33, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (3, 36, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 73, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (3, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (3, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (3, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (3, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (3, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (3, 10, 6, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 19, 10, 5, 175, 225);
INSERT INTO skillcaps VALUES (3, 34, 17, 5, 175, 225);
INSERT INTO skillcaps VALUES (3, 20, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 37, 30, 5, 175, 225);
INSERT INTO skillcaps VALUES (3, 16, 40, 5, 80, 80);
INSERT INTO skillcaps VALUES (3, 4, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 5, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 14, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 18, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 24, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 13, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (3, 31, 12, 5, 200, 250);

INSERT INTO skillcaps VALUES (4, 0, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 1, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 2, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 3, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 7, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (4, 15, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (4, 28, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 30, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 33, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 36, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 73, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (4, 53, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (4, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (4, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (4, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (4, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (4, 27, 3, 5, 200, 200);
INSERT INTO skillcaps VALUES (4, 10, 6, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 19, 10, 5, 175, 225);
INSERT INTO skillcaps VALUES (4, 42, 10, 5, 75, 75);
INSERT INTO skillcaps VALUES (4, 34, 17, 5, 175, 225);
INSERT INTO skillcaps VALUES (4, 22, 17, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 20, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 29, 25, 5, 75, 75);
INSERT INTO skillcaps VALUES (4, 37, 30, 5, 175, 225);
INSERT INTO skillcaps VALUES (4, 16, 40, 5, 120, 120);
INSERT INTO skillcaps VALUES (4, 4, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 5, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 14, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 18, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 24, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 13, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (4, 31, 12, 5, 200, 250);

INSERT INTO skillcaps VALUES (5, 0, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 1, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 2, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 3, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 5, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 7, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (5, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (5, 15, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 28, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 30, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 33, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (5, 36, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 73, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (5, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (5, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (5, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (5, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (5, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (5, 10, 6, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 19, 10, 5, 175, 225);
INSERT INTO skillcaps VALUES (5, 34, 17, 5, 175, 225);
INSERT INTO skillcaps VALUES (5, 20, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 37, 30, 5, 175, 225);
INSERT INTO skillcaps VALUES (5, 16, 40, 5, 80, 80);
INSERT INTO skillcaps VALUES (5, 4, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 5, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 14, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 18, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 24, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 13, 9, 5, 200, 250);
INSERT INTO skillcaps VALUES (5, 31, 12, 5, 200, 250);

INSERT INTO skillcaps VALUES (6, 0, 1, 4, 140, 190);
INSERT INTO skillcaps VALUES (6, 2, 1, 4, 140, 190);
INSERT INTO skillcaps VALUES (6, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (6, 15, 1, 4, 140, 190);
INSERT INTO skillcaps VALUES (6, 28, 1, 4, 110, 150);
INSERT INTO skillcaps VALUES (6, 33, 1, 4, 150, 190);
INSERT INTO skillcaps VALUES (6, 4, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (6, 5, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (6, 14, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (6, 18, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (6, 24, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (6, 13, 4, 5, 200, 250);
INSERT INTO skillcaps VALUES (6, 31, 8, 5, 200, 250);
INSERT INTO skillcaps VALUES (6, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (6, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (6, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (6, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (6, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (6, 27, 15, 4, 150, 200);
INSERT INTO skillcaps VALUES (6, 53, 20, 4, 150, 200);
INSERT INTO skillcaps VALUES (6, 19, 10, 4, 120, 180);
INSERT INTO skillcaps VALUES (6, 43, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (6, 44, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (6, 45, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (6, 46, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (6, 47, 30, 4, 150, 200);

INSERT INTO skillcaps VALUES (7, 0, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 2, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 9, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 15, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 19, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 22, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 28, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 30, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 32, 1, 5, 100, 100);
INSERT INTO skillcaps VALUES (7, 33, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 51, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (7, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (7, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (7, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (7, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (7, 39, 3, 5, 200, 200);
INSERT INTO skillcaps VALUES (7, 38, 5, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 42, 8, 5, 75, 75);
INSERT INTO skillcaps VALUES (7, 52, 10, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 11, 12, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 20, 15, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 25, 17, 5, 200, 200);
INSERT INTO skillcaps VALUES (7, 71, 18, 5, 200, 200);
INSERT INTO skillcaps VALUES (7, 23, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 21, 25, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 16, 25, 5, 200, 200);
INSERT INTO skillcaps VALUES (7, 26, 30, 5, 200, 250);
INSERT INTO skillcaps VALUES (7, 37, 35, 5, 175, 225);
INSERT INTO skillcaps VALUES (7, 27, 12, 5, 50, 50);

INSERT INTO skillcaps VALUES (8, 0, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (8, 1, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (8, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (8, 15, 1, 4, 150, 200);
INSERT INTO skillcaps VALUES (8, 28, 1, 4, 150, 200);
INSERT INTO skillcaps VALUES (8, 33, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (8, 36, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (8, 51, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (8, 41, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (8, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (8, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (8, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (8, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (8, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (8, 70, 5, 5, 200, 250);
INSERT INTO skillcaps VALUES (8, 49, 49, 8, 200, 250);
INSERT INTO skillcaps VALUES (8, 19, 10, 5, 175, 225);
INSERT INTO skillcaps VALUES (8, 31, 10, 3, 100, 130);
INSERT INTO skillcaps VALUES (8, 12, 11, 5, 200, 250);
INSERT INTO skillcaps VALUES (8, 27, 12, 5, 50, 50);
INSERT INTO skillcaps VALUES (8, 54, 14, 5, 200, 250);
INSERT INTO skillcaps VALUES (8, 22, 17, 5, 200, 250);
INSERT INTO skillcaps VALUES (8, 42, 17, 5, 75, 75);
INSERT INTO skillcaps VALUES (8, 62, 20, 5, 70, 120);
INSERT INTO skillcaps VALUES (8, 39, 24, 5, 50, 50);
INSERT INTO skillcaps VALUES (8, 29, 25, 5, 75, 75);
INSERT INTO skillcaps VALUES (8, 71, 26, 5, 75, 75);
INSERT INTO skillcaps VALUES (8, 17, 30, 5, 70, 120);
INSERT INTO skillcaps VALUES (8, 53, 35, 5, 70, 120);
INSERT INTO skillcaps VALUES (8, 35, 40, 5, 70, 120);
INSERT INTO skillcaps VALUES (8, 34, 53, 5, 175, 175);
INSERT INTO skillcaps VALUES (8, 37, 53, 5, 150, 150);

INSERT INTO skillcaps VALUES (9, 0, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 1, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 7, 1, 5, 150, 200);
INSERT INTO skillcaps VALUES (9, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (9, 15, 1, 5, 175, 225);
INSERT INTO skillcaps VALUES (9, 28, 1, 5, 150, 200);
INSERT INTO skillcaps VALUES (9, 33, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 36, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 51, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 42, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (9, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (9, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (9, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (9, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (9, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (9, 29, 3, 5, 200, 200);
INSERT INTO skillcaps VALUES (9, 19, 4, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 35, 6, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 62, 6, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 8, 10, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 34, 12, 5, 175, 225);
INSERT INTO skillcaps VALUES (9, 39, 12, 5, 75, 75);
INSERT INTO skillcaps VALUES (9, 22, 13, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 20, 15, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 6, 18, 0, 250, 250);
INSERT INTO skillcaps VALUES (9, 56, 20, 0, 250, 250);
INSERT INTO skillcaps VALUES (9, 17, 21, 5, 200, 250);
INSERT INTO skillcaps VALUES (9, 71, 22, 5, 200, 200);
INSERT INTO skillcaps VALUES (9, 16, 27, 5, 200, 200);
INSERT INTO skillcaps VALUES (9, 37, 30, 5, 175, 225);

INSERT INTO skillcaps VALUES (10, 0, 1, 4, 140, 190);
INSERT INTO skillcaps VALUES (10, 2, 1, 4, 140, 190);
INSERT INTO skillcaps VALUES (10, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (10, 15, 1, 4, 140, 190);
INSERT INTO skillcaps VALUES (10, 28, 1, 4, 110, 150);
INSERT INTO skillcaps VALUES (10, 33, 1, 4, 150, 190);
INSERT INTO skillcaps VALUES (10, 4, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (10, 5, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (10, 14, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (10, 18, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (10, 24, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (10, 13, 4, 5, 200, 250);
INSERT INTO skillcaps VALUES (10, 31, 8, 5, 200, 250);
INSERT INTO skillcaps VALUES (10, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (10, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (10, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (10, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (10, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (10, 59, 25, 0, 250, 250);
INSERT INTO skillcaps VALUES (10, 19, 10, 4, 140, 190);
INSERT INTO skillcaps VALUES (10, 43, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (10, 44, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (10, 45, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (10, 46, 30, 4, 150, 200);
INSERT INTO skillcaps VALUES (10, 47, 30, 4, 150, 200);

INSERT INTO skillcaps VALUES (11, 0, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (11, 2, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (11, 36, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (11, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (11, 15, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (11, 28, 1, 3, 90, 120);
INSERT INTO skillcaps VALUES (11, 33, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (11, 4, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 5, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 14, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 18, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 24, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 13, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 31, 4, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (11, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (11, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (11, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (11, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (11, 19, 22, 3, 120, 150);
INSERT INTO skillcaps VALUES (11, 43, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 44, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 45, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 46, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 47, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (11, 58, 16, 0, 250, 250);

INSERT INTO skillcaps VALUES (12, 0, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (12, 2, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (12, 36, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (12, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (12, 15, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (12, 28, 1, 3, 90, 120);
INSERT INTO skillcaps VALUES (12, 33, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (12, 4, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 5, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 14, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 18, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 24, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 13, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 31, 4, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (12, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (12, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (12, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (12, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (12, 19, 22, 3, 120, 150);
INSERT INTO skillcaps VALUES (12, 43, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 44, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 45, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 46, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 47, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (12, 58, 16, 0, 250, 250);

INSERT INTO skillcaps VALUES (13, 0, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (13, 2, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (13, 36, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (13, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (13, 15, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (13, 28, 1, 3, 90, 120);
INSERT INTO skillcaps VALUES (13, 33, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (13, 4, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 5, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 14, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 18, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 24, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 13, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 31, 4, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (13, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (13, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (13, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (13, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (13, 19, 22, 3, 120, 150);
INSERT INTO skillcaps VALUES (13, 43, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 44, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 45, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 46, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 47, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (13, 58, 16, 0, 250, 250);

INSERT INTO skillcaps VALUES (14, 0, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (14, 2, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (14, 36, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (14, 9, 1, 5, 100, 150);
INSERT INTO skillcaps VALUES (14, 15, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (14, 28, 1, 3, 90, 120);
INSERT INTO skillcaps VALUES (14, 33, 1, 3, 120, 150);
INSERT INTO skillcaps VALUES (14, 4, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 5, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 14, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 18, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 24, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 13, 1, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 31, 4, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 67, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (14, 66, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (14, 55, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (14, 50, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (14, 40, 1, 5, 200, 200);
INSERT INTO skillcaps VALUES (14, 19, 22, 3, 120, 150);
INSERT INTO skillcaps VALUES (14, 43, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 44, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 45, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 46, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 47, 20, 5, 200, 250);
INSERT INTO skillcaps VALUES (14, 58, 16, 0, 250, 250);

# Trade skills;
INSERT INTO skillcaps VALUES (1, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (1, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (1, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (1, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (1, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (1, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (1, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (2, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (2, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (2, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (2, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (2, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (2, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (2, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (3, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (3, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (3, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (3, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (3, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (3, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (3, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (4, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (4, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (4, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (4, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (4, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (4, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (4, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (5, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (5, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (5, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (5, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (5, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (5, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (5, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (6, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (6, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (6, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (6, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (6, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (6, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (6, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (7, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (7, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (7, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (7, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (7, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (7, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (7, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (8, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (8, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (8, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (8, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (8, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (8, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (8, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (9, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (9, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (9, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (9, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (9, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (9, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (9, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (10, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (10, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (10, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (10, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (10, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (10, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (10, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (11, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (11, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (11, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (11, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (11, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (11, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (11, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (12, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (12, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (12, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (12, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (12, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (12, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (12, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (13, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (13, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (13, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (13, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (13, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (13, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (13, 61, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (14, 60, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (14, 63, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (14, 65, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (14, 64, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (14, 68, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (14, 69, 1, 0, 250, 250);
INSERT INTO skillcaps VALUES (14, 61, 1, 0, 250, 250);


Enjoy!