Sync with L2jOrg and various adjustments.
This commit is contained in:
@@ -87,7 +87,7 @@ public class HennaTreeTable
|
||||
|
||||
list.add(temp);
|
||||
}
|
||||
_hennaTrees.put(ClassId.values()[classId], list);
|
||||
_hennaTrees.put(ClassId.getClassId(classId), list);
|
||||
|
||||
hennatree.close();
|
||||
statement2.close();
|
||||
|
@@ -220,7 +220,7 @@ public class NpcTable
|
||||
while (learndata.next())
|
||||
{
|
||||
final int npcId = learndata.getInt("npc_id");
|
||||
final int classId = learndata.getInt("class_id");
|
||||
final int cId = learndata.getInt("class_id");
|
||||
|
||||
final NpcTemplate npc = getTemplate(npcId);
|
||||
if (npc == null)
|
||||
@@ -229,13 +229,14 @@ public class NpcTable
|
||||
continue;
|
||||
}
|
||||
|
||||
if (classId >= ClassId.values().length)
|
||||
final ClassId classId = ClassId.getClassId(cId);
|
||||
if (classId == null)
|
||||
{
|
||||
LOGGER.warning("NPCTable: Error defining learning data for NPC " + npcId + ": specified classId " + classId + " is higher then max one " + (ClassId.values().length - 1) + " specified into ClassID Enum --> check your Database to be complient with it");
|
||||
LOGGER.warning("NPCTable: Error defining learning data for NPC " + npcId + ": specified classId " + classId + " is not specified into ClassID Enum --> check your Database to be complient with it.");
|
||||
continue;
|
||||
}
|
||||
|
||||
npc.addTeachInfo(ClassId.values()[classId]);
|
||||
npc.addTeachInfo(classId);
|
||||
}
|
||||
|
||||
learndata.close();
|
||||
|
@@ -76,7 +76,7 @@ public class SkillTreeTable
|
||||
|
||||
if (parentClassId != -1)
|
||||
{
|
||||
final Map<Integer, SkillLearn> parentMap = getSkillTrees().get(ClassId.values()[parentClassId]);
|
||||
final Map<Integer, SkillLearn> parentMap = getSkillTrees().get(ClassId.getClassId(parentClassId));
|
||||
map.putAll(parentMap);
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ public class SkillTreeTable
|
||||
map.put(SkillTable.getSkillHashCode(id, lvl), skillLearn);
|
||||
}
|
||||
|
||||
getSkillTrees().put(ClassId.values()[classId], map);
|
||||
getSkillTrees().put(ClassId.getClassId(classId), map);
|
||||
skilltree.close();
|
||||
statement2.close();
|
||||
|
||||
|
@@ -390,7 +390,7 @@ public class CustomNpcInstance
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
_classId = ClassId.values()[Rnd.get(ClassId.values().length)];
|
||||
_classId = ClassId.getClassId(Rnd.get(ClassId.values().length));
|
||||
if (_classId == null)
|
||||
{
|
||||
continue;
|
||||
|
@@ -243,8 +243,8 @@ public class FolkInstance extends NpcInstance
|
||||
|
||||
if (id.length() != 0)
|
||||
{
|
||||
player.setSkillLearningClassId(ClassId.values()[Integer.parseInt(id)]);
|
||||
showSkillList(player, ClassId.values()[Integer.parseInt(id)]);
|
||||
player.setSkillLearningClassId(ClassId.getClassId(Integer.parseInt(id)));
|
||||
showSkillList(player, ClassId.getClassId(Integer.parseInt(id)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -1378,7 +1378,7 @@ public class PlayerInstance extends Playable
|
||||
*/
|
||||
public void setBaseClass(ClassId classId)
|
||||
{
|
||||
_baseClass = classId.ordinal();
|
||||
_baseClass = classId.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -13259,7 +13259,7 @@ public class PlayerInstance extends Playable
|
||||
// Commit after database INSERT incase exception is thrown.
|
||||
getSubClasses().put(newClass.getClassIndex(), newClass);
|
||||
|
||||
ClassId subTemplate = ClassId.values()[classId];
|
||||
ClassId subTemplate = ClassId.getClassId(classId);
|
||||
Collection<SkillLearn> skillTree = SkillTreeTable.getInstance().getAllowedSkills(subTemplate);
|
||||
|
||||
if (skillTree == null)
|
||||
|
@@ -989,7 +989,7 @@ public class VillageMasterInstance extends FolkInstance
|
||||
int subClassId = prevSubClass.getClassId();
|
||||
if (subClassId >= 88)
|
||||
{
|
||||
subClassId = ClassId.values()[subClassId].getParent().getId();
|
||||
subClassId = ClassId.getClassId(subClassId).getParent().getId();
|
||||
}
|
||||
|
||||
if ((availSub.ordinal() == subClassId) || (availSub.ordinal() == player.getBaseClass()))
|
||||
|
@@ -55,7 +55,7 @@ public class PlayerTemplate extends CreatureTemplate
|
||||
public PlayerTemplate(StatsSet set)
|
||||
{
|
||||
super(set);
|
||||
classId = ClassId.values()[set.getInt("classId")];
|
||||
classId = ClassId.getClassId(set.getInt("classId"));
|
||||
race = Race.values()[set.getInt("raceId")];
|
||||
className = set.getString("className");
|
||||
_currentCollisionRadius = set.getInt("collision_radius");
|
||||
|
@@ -16,7 +16,9 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.base;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
@@ -102,37 +104,6 @@ public enum ClassId
|
||||
ARTISAN(56, false, Race.DWARF, DWARVEN_FIGHTER),
|
||||
WARSMITH(57, false, Race.DWARF, ARTISAN),
|
||||
|
||||
DUMMY_ENTRY_1(58, false, null, null),
|
||||
DUMMY_ENTRY_2(59, false, null, null),
|
||||
DUMMY_ENTRY_3(60, false, null, null),
|
||||
DUMMY_ENTRY_4(61, false, null, null),
|
||||
DUMMY_ENTRY_5(62, false, null, null),
|
||||
DUMMY_ENTRY_6(63, false, null, null),
|
||||
DUMMY_ENTRY_7(64, false, null, null),
|
||||
DUMMY_ENTRY_8(65, false, null, null),
|
||||
DUMMY_ENTRY_9(66, false, null, null),
|
||||
DUMMY_ENTRY_10(67, false, null, null),
|
||||
DUMMY_ENTRY_11(68, false, null, null),
|
||||
DUMMY_ENTRY_12(69, false, null, null),
|
||||
DUMMY_ENTRY_13(70, false, null, null),
|
||||
DUMMY_ENTRY_14(71, false, null, null),
|
||||
DUMMY_ENTRY_15(72, false, null, null),
|
||||
DUMMY_ENTRY_16(73, false, null, null),
|
||||
DUMMY_ENTRY_17(74, false, null, null),
|
||||
DUMMY_ENTRY_18(75, false, null, null),
|
||||
DUMMY_ENTRY_19(76, false, null, null),
|
||||
DUMMY_ENTRY_20(77, false, null, null),
|
||||
DUMMY_ENTRY_21(78, false, null, null),
|
||||
DUMMY_ENTRY_22(79, false, null, null),
|
||||
DUMMY_ENTRY_23(80, false, null, null),
|
||||
DUMMY_ENTRY_24(81, false, null, null),
|
||||
DUMMY_ENTRY_25(82, false, null, null),
|
||||
DUMMY_ENTRY_26(83, false, null, null),
|
||||
DUMMY_ENTRY_27(84, false, null, null),
|
||||
DUMMY_ENTRY_28(85, false, null, null),
|
||||
DUMMY_ENTRY_29(86, false, null, null),
|
||||
DUMMY_ENTRY_30(87, false, null, null),
|
||||
|
||||
DUELIST(88, false, Race.HUMAN, GLADIATOR),
|
||||
DREADNOUGHT(89, false, Race.HUMAN, WARLORD),
|
||||
PHOENIX_KNIGHT(90, false, Race.HUMAN, PALADIN),
|
||||
@@ -187,6 +158,20 @@ public enum ClassId
|
||||
/** List of available Class for next transfer **/
|
||||
private final Set<ClassId> _nextClassIds = new HashSet<>(1);
|
||||
|
||||
private static Map<Integer, ClassId> _classIdMap = new HashMap<>(ClassId.values().length);
|
||||
static
|
||||
{
|
||||
for (ClassId classId : ClassId.values())
|
||||
{
|
||||
_classIdMap.put(classId.getId(), classId);
|
||||
}
|
||||
}
|
||||
|
||||
public static ClassId getClassId(int cId)
|
||||
{
|
||||
return _classIdMap.get(cId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
* @param pId the class Id.
|
||||
@@ -329,18 +314,6 @@ public enum ClassId
|
||||
return _nextClassIds;
|
||||
}
|
||||
|
||||
public static ClassId getClassId(int cId)
|
||||
{
|
||||
try
|
||||
{
|
||||
return ClassId.values()[cId];
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private final void addNextClassId(ClassId cId)
|
||||
{
|
||||
_nextClassIds.add(cId);
|
||||
|
Reference in New Issue
Block a user