you could just build a complete table with a format like:
Code: Select all
local skillDevTable =
{
[CLASS_WARRIOR] = {
WARRIOR_SLASH= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70}
WARRIOR_THUNDER= {0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65}
}
}
where each class has all skills listed and what the level of that skill should be developed to at every level. In the example above, WARRIOR_SLASH should be at 5 when the warrior is level 5 and WARRIOR_THUNDER should be at 0. WARRIOR_THUNDER gets developed to 1 when they reach level 6 and WARRIOR_SLASH will be developed to 6. So the characters class is the index into the first part part of the table and the level is the index into the sub-table. You could even do it so you then had another section for elites. e.g.:
Code: Select all
local skillDevTable =
{
[CLASS_WARRIOR] = {
WARRIOR_SLASH= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70}
WARRIOR_THUNDER= {0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65}
}
[CLASS_PRIEST] = {
....
}
[CLASS_WARRIOR.CLASS_PRIEST] =
{
ELITE_DEFENDERS_ROAR= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,12...}
ELITE_OPPORTUNITY= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11...}
}
}
The advantage of this format is you can easily generate it from a spreadsheet or the like - making it easier to build and maintain