diff --git a/db/pre-re/skill_tree.txt b/db/pre-re/skill_tree.txt index f6e596a675..88459b282d 100644 --- a/db/pre-re/skill_tree.txt +++ b/db/pre-re/skill_tree.txt @@ -830,7 +830,7 @@ 4008,356,10,3,10,6,5,60,3,0,0,0,0 //LK_PARRYING#Parrying# 4008,357,5,4,5,55,5,63,1,0,0,0,0 //LK_CONCENTRATION#Concentration# 4008,358,1,4,10,6,5,8,3,0,0,0,0 //LK_TENSIONRELAX#Relax# -4008,359,1,50,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //It has an extra column after "MaxLevel" for Job Level 50 requirement +4008,359,1,0,50,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //It has 2 extra columns after "MaxLevel" for Job Level 50 requirement 4008,397,5,55,10,56,5,58,5,63,1,0,0 //LK_SPIRALPIERCE#Spiral Pierce# 4008,398,5,55,9,63,1,0,0,0,0,0,0 //LK_HEADCRUSH#Traumatic Blow# 4008,399,10,55,9,64,3,398,3,0,0,0,0 //LK_JOINTBEAT#Vital Strike# @@ -1057,7 +1057,7 @@ 4014,356,10,3,10,6,5,60,3,0,0,0,0 //LK_PARRYING#Parrying# 4014,357,5,4,5,55,5,63,1,0,0,0,0 //LK_CONCENTRATION#Concentration# 4014,358,1,4,10,6,5,8,3,0,0,0,0 //LK_TENSIONRELAX#Relax# -4014,359,1,50,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //It has an extra column after "MaxLevel" for Job Level 50 requirement +4014,359,1,0,50,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //It has 2 extra columns after "MaxLevel" for Job Level 50 requirement 4014,397,5,55,10,56,5,58,5,63,1,0,0 //LK_SPIRALPIERCE#Spiral Pierce# 4014,398,5,55,9,63,1,0,0,0,0,0,0 //LK_HEADCRUSH#Traumatic Blow# 4014,399,10,55,9,64,3,398,3,0,0,0,0 //LK_JOINTBEAT#Vital Strike# @@ -2731,7 +2731,7 @@ 4060,356,10,3,10,6,5,60,3,0,0,0,0 //LK_PARRYING#Parrying# 4060,357,5,4,5,55,5,63,1,0,0,0,0 //LK_CONCENTRATION#Concentration# 4060,358,1,4,10,6,5,8,3,0,0,0,0 //LK_TENSIONRELAX#Relax# -4060,359,1,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //Extra column removed. Rune Knights dont require job level 50 to use Berserk. +4060,359,1,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //Extra columns removed. Rune Knights dont require job level 50 to use Berserk. 4060,397,5,55,10,56,5,58,5,63,1,0,0 //LK_SPIRALPIERCE#Spiral Pierce# 4060,398,5,55,9,63,1,0,0,0,0,0,0 //LK_HEADCRUSH#Traumatic Blow# 4060,399,10,55,9,64,3,398,3,0,0,0,0 //LK_JOINTBEAT#Vital Strike# @@ -3987,7 +3987,7 @@ 4081,356,10,3,10,6,5,60,3,0,0,0,0 //LK_PARRYING#Parrying# 4081,357,5,4,5,55,5,63,1,0,0,0,0 //LK_CONCENTRATION#Concentration# 4081,358,1,4,10,6,5,8,3,0,0,0,0 //LK_TENSIONRELAX#Relax# -4081,359,1,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //Extra column removed. Rune Knights dont require job level 50 to use Berserk. +4081,359,1,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //Extra columns removed. Rune Knights dont require job level 50 to use Berserk. 4081,397,5,55,10,56,5,58,5,63,1,0,0 //LK_SPIRALPIERCE#Spiral Pierce# 4081,398,5,55,9,63,1,0,0,0,0,0,0 //LK_HEADCRUSH#Traumatic Blow# 4081,399,10,55,9,64,3,398,3,0,0,0,0 //LK_JOINTBEAT#Vital Strike# diff --git a/db/re/skill_tree.txt b/db/re/skill_tree.txt index 4eeb74eb9c..12595becc8 100644 --- a/db/re/skill_tree.txt +++ b/db/re/skill_tree.txt @@ -832,7 +832,7 @@ 4008,356,10,3,10,6,5,60,3,0,0,0,0 //LK_PARRYING#Parrying# 4008,357,5,4,5,55,5,63,1,0,0,0,0 //LK_CONCENTRATION#Concentration# 4008,358,1,4,10,6,5,8,3,0,0,0,0 //LK_TENSIONRELAX#Relax# -4008,359,1,50,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //It has an extra column after "MaxLevel" for Job Level 50 requirement +4008,359,1,0,50,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //It has 2 extra columns after "MaxLevel" for Job Level 50 requirement 4008,397,5,55,5,56,5,58,5,63,1,0,0 //LK_SPIRALPIERCE#Spiral Pierce# 4008,398,5,55,9,63,1,0,0,0,0,0,0 //LK_HEADCRUSH#Traumatic Blow# 4008,399,10,64,3,398,3,0,0,0,0,0,0 //LK_JOINTBEAT#Vital Strike# @@ -1059,7 +1059,7 @@ 4014,356,10,3,10,6,5,60,3,0,0,0,0 //LK_PARRYING#Parrying# 4014,357,5,4,5,55,5,63,1,0,0,0,0 //LK_CONCENTRATION#Concentration# 4014,358,1,4,10,6,5,8,3,0,0,0,0 //LK_TENSIONRELAX#Relax# -4014,359,1,50,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //It has an extra column after "MaxLevel" for Job Level 50 requirement +4014,359,1,0,50,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //It has 2 extra columns after "MaxLevel" for Job Level 50 requirement 4014,397,5,55,5,56,5,58,5,63,1,0,0 //LK_SPIRALPIERCE#Spiral Pierce# 4014,398,5,55,9,63,1,0,0,0,0,0,0 //LK_HEADCRUSH#Traumatic Blow# 4014,399,10,64,3,398,3,0,0,0,0,0,0 //LK_JOINTBEAT#Vital Strike# @@ -2756,7 +2756,7 @@ 4060,356,10,3,10,6,5,60,3,0,0,0,0 //LK_PARRYING#Parrying# 4060,357,5,4,5,55,5,63,1,0,0,0,0 //LK_CONCENTRATION#Concentration# 4060,358,1,4,10,6,5,8,3,0,0,0,0 //LK_TENSIONRELAX#Relax# -4060,359,1,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //Extra column removed. Rune Knights dont require job level 50 to use Berserk. +4060,359,1,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //Extra columns removed. Rune Knights dont require job level 50 to use Berserk. 4060,397,5,55,5,56,5,58,5,63,1,0,0 //LK_SPIRALPIERCE#Spiral Pierce# 4060,398,5,55,9,63,1,0,0,0,0,0,0 //LK_HEADCRUSH#Traumatic Blow# 4060,399,10,64,3,398,3,0,0,0,0,0,0 //LK_JOINTBEAT#Vital Strike# @@ -4012,7 +4012,7 @@ 4081,356,10,3,10,6,5,60,3,0,0,0,0 //LK_PARRYING#Parrying# 4081,357,5,4,5,55,5,63,1,0,0,0,0 //LK_CONCENTRATION#Concentration# 4081,358,1,4,10,6,5,8,3,0,0,0,0 //LK_TENSIONRELAX#Relax# -4081,359,1,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //Extra column removed. Rune Knights dont require job level 50 to use Berserk. +4081,359,1,0,0,0,0,0,0,0,0,0,0 //LK_BERSERK#Frenzy# //Extra columns removed. Rune Knights dont require job level 50 to use Berserk. 4081,397,5,55,5,56,5,58,5,63,1,0,0 //LK_SPIRALPIERCE#Spiral Pierce# 4081,398,5,55,9,63,1,0,0,0,0,0,0 //LK_HEADCRUSH#Traumatic Blow# 4081,399,10,64,3,398,3,0,0,0,0,0,0 //LK_JOINTBEAT#Vital Strike# diff --git a/src/map/pc.cpp b/src/map/pc.cpp index 7fd38ffe97..666e456935 100755 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -10875,10 +10875,15 @@ static bool pc_readdb_skilltree(char* fields[], int columns, int current) baselv = (uint32)atoi(fields[3]); joblv = (uint32)atoi(fields[4]); offset = 5; - } else { + } + else if (columns == 3 + MAX_PC_SKILL_REQUIRE * 2) { baselv = joblv = 0; offset = 3; } + else { + ShowWarning("pc_readdb_skilltree: Invalid number of colums in skill %hu of job %d's tree.\n", skill_id, class_); + return false; + } if(!pcdb_checkid(class_)) {