瀏覽代碼

BETA: Fix for ArrayIndexOutOfBoundsException when MaxSubclass is over 3 (retail value), #5502

Zoey76 14 年之前
父節點
當前提交
fef68d2963
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SkillTreesData.java

+ 3 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SkillTreesData.java

@@ -860,9 +860,11 @@ public final class SkillTreesData
 		{
 			if (player.getLevel() >= temp.getGetLevel())
 			{
+				int[][] subClassConds = null;
 				for (SubClass subClass : player.getSubClasses().values())
 				{
-					if ((temp.getSubClassConditions() != null) && (subClass.getClassIndex() == temp.getSubClassConditions()[subClass.getClassIndex() - 1][1]) && (temp.getSubClassConditions()[subClass.getClassIndex() - 1][0] <= subClass.getLevel()))
+					subClassConds = temp.getSubClassConditions();
+					if ((subClassConds != null) && (subClass.getClassIndex() <= subClassConds.length) && (subClass.getClassIndex() == subClassConds[subClass.getClassIndex() - 1][1]) && (subClassConds[subClass.getClassIndex() - 1][0] <= subClass.getLevel()))
 					{
 						boolean knownSkill = false;