diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 453bcdea3e..431f7647d9 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 6592cbb5e9..e7d55999fe 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/Config.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/Config.java index eb4e75febe..47555fe10f 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1117,42 +1116,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[190]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[190]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[190]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[190]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2576,8 +2575,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2586,12 +2585,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2600,12 +2599,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2614,12 +2613,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2628,12 +2627,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2642,12 +2641,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2656,12 +2655,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2670,12 +2669,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2684,12 +2683,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2698,12 +2697,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2712,12 +2711,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2726,12 +2725,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2740,12 +2739,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2754,12 +2753,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2768,12 +2767,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2782,12 +2781,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2796,12 +2795,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2810,12 +2809,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2824,12 +2823,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2838,12 +2837,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2852,12 +2851,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2866,12 +2865,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2880,12 +2879,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2894,12 +2893,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2908,12 +2907,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2922,12 +2921,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2936,12 +2935,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2950,12 +2949,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2964,12 +2963,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2978,12 +2977,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -2992,12 +2991,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -3006,12 +3005,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -3020,12 +3019,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -3034,12 +3033,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -3048,12 +3047,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -3062,12 +3061,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -3076,7 +3075,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Attackable.java index db290ddb5a..84c7761f55 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -513,8 +513,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 00a4a71eb9..bca1783fed 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 453bcdea3e..431f7647d9 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 6592cbb5e9..e7d55999fe 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/Config.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/Config.java index 321126099b..54882d9054 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1124,42 +1123,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[190]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[190]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[190]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[190]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2592,8 +2591,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2602,12 +2601,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2616,12 +2615,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2630,12 +2629,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2644,12 +2643,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2658,12 +2657,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2672,12 +2671,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2686,12 +2685,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2700,12 +2699,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2714,12 +2713,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2728,12 +2727,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2742,12 +2741,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2756,12 +2755,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2770,12 +2769,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2784,12 +2783,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2798,12 +2797,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2812,12 +2811,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2826,12 +2825,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2840,12 +2839,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2854,12 +2853,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2868,12 +2867,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2882,12 +2881,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2896,12 +2895,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2910,12 +2909,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2924,12 +2923,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2938,12 +2937,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2952,12 +2951,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2966,12 +2965,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2980,12 +2979,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2994,12 +2993,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -3008,12 +3007,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -3022,12 +3021,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -3036,12 +3035,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -3050,12 +3049,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -3064,12 +3063,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -3078,12 +3077,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -3092,7 +3091,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/Attackable.java index 3292992a5b..907d5dd3fa 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -506,8 +506,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 00a4a71eb9..bca1783fed 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 453bcdea3e..431f7647d9 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 6592cbb5e9..e7d55999fe 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/Config.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/Config.java index e96d3e555a..1991a8eb69 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1137,42 +1136,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[190]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[190]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[190]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[190]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2614,8 +2613,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2624,12 +2623,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2638,12 +2637,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2652,12 +2651,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2666,12 +2665,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2680,12 +2679,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2694,12 +2693,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2708,12 +2707,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2722,12 +2721,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2736,12 +2735,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2750,12 +2749,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2764,12 +2763,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2778,12 +2777,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2792,12 +2791,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2806,12 +2805,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2820,12 +2819,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2834,12 +2833,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2848,12 +2847,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2862,12 +2861,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2876,12 +2875,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2890,12 +2889,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2904,12 +2903,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2918,12 +2917,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2932,12 +2931,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2946,12 +2945,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2960,12 +2959,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2974,12 +2973,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2988,12 +2987,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -3002,12 +3001,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -3016,12 +3015,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -3030,12 +3029,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -3044,12 +3043,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -3058,12 +3057,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -3072,12 +3071,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -3086,12 +3085,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -3100,12 +3099,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -3114,7 +3113,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/Attackable.java index 3292992a5b..907d5dd3fa 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -506,8 +506,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 00a4a71eb9..bca1783fed 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 453bcdea3e..431f7647d9 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 6592cbb5e9..e7d55999fe 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/Config.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/Config.java index 8593cec99a..cb0c00e9fe 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1124,42 +1123,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[190]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[190]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[190]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[190]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2589,8 +2588,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2599,12 +2598,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2613,12 +2612,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2627,12 +2626,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2641,12 +2640,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2655,12 +2654,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2669,12 +2668,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2683,12 +2682,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2697,12 +2696,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2711,12 +2710,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2725,12 +2724,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2739,12 +2738,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2753,12 +2752,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2767,12 +2766,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2781,12 +2780,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2795,12 +2794,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2809,12 +2808,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2823,12 +2822,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2837,12 +2836,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2851,12 +2850,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2865,12 +2864,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2879,12 +2878,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2893,12 +2892,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2907,12 +2906,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2921,12 +2920,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2935,12 +2934,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2949,12 +2948,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2963,12 +2962,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2977,12 +2976,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2991,12 +2990,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -3005,12 +3004,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -3019,12 +3018,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -3033,12 +3032,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -3047,12 +3046,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -3061,12 +3060,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -3075,12 +3074,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -3089,7 +3088,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Attackable.java index 3292992a5b..907d5dd3fa 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -506,8 +506,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 00a4a71eb9..bca1783fed 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 453bcdea3e..431f7647d9 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 6592cbb5e9..e7d55999fe 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/Config.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/Config.java index 239c70ad6a..6f835d3d01 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1119,42 +1118,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[190]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[190]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[190]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[190]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2589,8 +2588,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2599,12 +2598,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2613,12 +2612,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2627,12 +2626,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2641,12 +2640,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2655,12 +2654,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2669,12 +2668,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2683,12 +2682,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2697,12 +2696,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2711,12 +2710,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2725,12 +2724,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2739,12 +2738,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2753,12 +2752,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2767,12 +2766,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2781,12 +2780,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2795,12 +2794,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2809,12 +2808,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2823,12 +2822,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2837,12 +2836,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2851,12 +2850,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2865,12 +2864,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2879,12 +2878,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2893,12 +2892,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2907,12 +2906,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2921,12 +2920,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2935,12 +2934,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2949,12 +2948,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2963,12 +2962,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2977,12 +2976,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2991,12 +2990,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -3005,12 +3004,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -3019,12 +3018,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -3033,12 +3032,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -3047,12 +3046,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -3061,12 +3060,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -3075,12 +3074,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -3089,7 +3088,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/Party.java index c4e65fb6d2..bf9e4eb66a 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/Party.java @@ -892,8 +892,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Attackable.java index 1372c4605b..96e0cf78ce 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -505,8 +505,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 00a4a71eb9..bca1783fed 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 453bcdea3e..431f7647d9 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 6592cbb5e9..e7d55999fe 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/Config.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/Config.java index 8e3ad70fb3..e1e0a540ad 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1126,42 +1125,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[190]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[190]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[190]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[190]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2601,8 +2600,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2611,12 +2610,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2625,12 +2624,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2639,12 +2638,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2653,12 +2652,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2667,12 +2666,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2681,12 +2680,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2695,12 +2694,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2709,12 +2708,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2723,12 +2722,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2737,12 +2736,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2751,12 +2750,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2765,12 +2764,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2779,12 +2778,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2793,12 +2792,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2807,12 +2806,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2821,12 +2820,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2835,12 +2834,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2849,12 +2848,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2863,12 +2862,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2877,12 +2876,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2891,12 +2890,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2905,12 +2904,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2919,12 +2918,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2933,12 +2932,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2947,12 +2946,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2961,12 +2960,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2975,12 +2974,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2989,12 +2988,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -3003,12 +3002,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -3017,12 +3016,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -3031,12 +3030,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -3045,12 +3044,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -3059,12 +3058,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -3073,12 +3072,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -3087,12 +3086,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -3101,7 +3100,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/Party.java index c4e65fb6d2..bf9e4eb66a 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/Party.java @@ -892,8 +892,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Attackable.java index 1372c4605b..96e0cf78ce 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -505,8 +505,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 00a4a71eb9..bca1783fed 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 453bcdea3e..431f7647d9 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 6592cbb5e9..e7d55999fe 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/Config.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/Config.java index c15c48025a..05c2703c12 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1148,42 +1147,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[190]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[190]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[190]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[190]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2644,8 +2643,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2654,12 +2653,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2668,12 +2667,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2682,12 +2681,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2696,12 +2695,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2710,12 +2709,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2724,12 +2723,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2738,12 +2737,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2752,12 +2751,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2766,12 +2765,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2780,12 +2779,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2794,12 +2793,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2808,12 +2807,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2822,12 +2821,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2836,12 +2835,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2850,12 +2849,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2864,12 +2863,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2878,12 +2877,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2892,12 +2891,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2906,12 +2905,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2920,12 +2919,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2934,12 +2933,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2948,12 +2947,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2962,12 +2961,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2976,12 +2975,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2990,12 +2989,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -3004,12 +3003,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -3018,12 +3017,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -3032,12 +3031,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -3046,12 +3045,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -3060,12 +3059,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -3074,12 +3073,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -3088,12 +3087,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -3102,12 +3101,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -3116,12 +3115,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -3130,12 +3129,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -3144,7 +3143,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/Party.java index c4e65fb6d2..bf9e4eb66a 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/Party.java @@ -892,8 +892,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Attackable.java index 1372c4605b..96e0cf78ce 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -505,8 +505,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 00a4a71eb9..bca1783fed 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 453bcdea3e..431f7647d9 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 6592cbb5e9..e7d55999fe 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/Config.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/Config.java index 993ce35023..b60de3c9a5 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1158,42 +1157,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[190]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[190]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[190]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[190]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[190]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[190]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[190]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2666,8 +2665,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2676,12 +2675,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2690,12 +2689,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2704,12 +2703,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2718,12 +2717,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2732,12 +2731,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2746,12 +2745,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2760,12 +2759,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2774,12 +2773,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2788,12 +2787,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2802,12 +2801,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2816,12 +2815,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2830,12 +2829,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2844,12 +2843,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2858,12 +2857,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2872,12 +2871,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2886,12 +2885,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2900,12 +2899,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2914,12 +2913,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2928,12 +2927,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2942,12 +2941,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2956,12 +2955,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2970,12 +2969,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2984,12 +2983,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2998,12 +2997,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -3012,12 +3011,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -3026,12 +3025,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -3040,12 +3039,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -3054,12 +3053,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -3068,12 +3067,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -3082,12 +3081,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -3096,12 +3095,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -3110,12 +3109,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -3124,12 +3123,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -3138,12 +3137,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -3152,12 +3151,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -3166,7 +3165,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/Party.java index 1ff6d77a5e..1540382051 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/Party.java @@ -899,8 +899,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Attackable.java index 91c007bd3b..13617bc3ad 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -505,8 +505,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java index acead34c9d..af5c96dd56 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/Heal.java index f65b682749..b0f0d08e09 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 155e2c6da1..deb08f7502 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/Config.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/Config.java index 70cf99e522..e65c02b1e7 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1061,42 +1060,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[119]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[119]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[119]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[119]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2463,8 +2462,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2473,12 +2472,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2487,12 +2486,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2501,12 +2500,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2515,12 +2514,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2529,12 +2528,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2543,12 +2542,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2557,12 +2556,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2571,12 +2570,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2585,12 +2584,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2599,12 +2598,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2613,12 +2612,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2627,12 +2626,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2641,12 +2640,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2655,12 +2654,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2669,12 +2668,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2683,12 +2682,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2697,12 +2696,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2711,12 +2710,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2725,12 +2724,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2739,12 +2738,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2753,12 +2752,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2767,12 +2766,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2781,12 +2780,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2795,12 +2794,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2809,12 +2808,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2823,12 +2822,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2837,12 +2836,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2851,12 +2850,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2865,12 +2864,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -2879,12 +2878,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -2893,12 +2892,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -2907,12 +2906,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -2921,12 +2920,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -2935,12 +2934,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -2949,12 +2948,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -2963,7 +2962,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Attackable.java index cda69f5dcd..fe6b02119a 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -506,8 +506,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java index acead34c9d..af5c96dd56 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/Heal.java index f65b682749..b0f0d08e09 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 155e2c6da1..deb08f7502 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/Config.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/Config.java index 8ebe33c82b..8c43bbc973 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1065,42 +1064,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[119]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[119]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[119]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[119]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2469,8 +2468,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2479,12 +2478,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2493,12 +2492,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2507,12 +2506,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2521,12 +2520,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2535,12 +2534,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2549,12 +2548,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2563,12 +2562,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2577,12 +2576,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2591,12 +2590,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2605,12 +2604,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2619,12 +2618,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2633,12 +2632,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2647,12 +2646,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2661,12 +2660,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2675,12 +2674,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2689,12 +2688,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2703,12 +2702,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2717,12 +2716,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2731,12 +2730,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2745,12 +2744,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2759,12 +2758,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2773,12 +2772,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2787,12 +2786,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2801,12 +2800,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2815,12 +2814,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2829,12 +2828,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2843,12 +2842,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2857,12 +2856,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2871,12 +2870,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -2885,12 +2884,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -2899,12 +2898,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -2913,12 +2912,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -2927,12 +2926,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -2941,12 +2940,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -2955,12 +2954,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -2969,7 +2968,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Attackable.java index cda69f5dcd..fe6b02119a 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -506,8 +506,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java index acead34c9d..af5c96dd56 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/Heal.java index f65b682749..b0f0d08e09 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 155e2c6da1..deb08f7502 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/Config.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/Config.java index 8ebe33c82b..8c43bbc973 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1065,42 +1064,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[119]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[119]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[119]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[119]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2469,8 +2468,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2479,12 +2478,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2493,12 +2492,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2507,12 +2506,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2521,12 +2520,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2535,12 +2534,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2549,12 +2548,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2563,12 +2562,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2577,12 +2576,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2591,12 +2590,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2605,12 +2604,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2619,12 +2618,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2633,12 +2632,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2647,12 +2646,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2661,12 +2660,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2675,12 +2674,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2689,12 +2688,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2703,12 +2702,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2717,12 +2716,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2731,12 +2730,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2745,12 +2744,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2759,12 +2758,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2773,12 +2772,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2787,12 +2786,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2801,12 +2800,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2815,12 +2814,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2829,12 +2828,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2843,12 +2842,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2857,12 +2856,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2871,12 +2870,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -2885,12 +2884,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -2899,12 +2898,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -2913,12 +2912,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -2927,12 +2926,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -2941,12 +2940,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -2955,12 +2954,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -2969,7 +2968,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Attackable.java index cda69f5dcd..fe6b02119a 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -506,8 +506,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java index acead34c9d..af5c96dd56 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/Heal.java index f65b682749..b0f0d08e09 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 155e2c6da1..deb08f7502 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/Config.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/Config.java index 54752b657b..28de5fab34 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1065,42 +1064,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[119]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[119]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[119]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[119]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2470,8 +2469,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2480,12 +2479,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2494,12 +2493,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2508,12 +2507,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2522,12 +2521,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2536,12 +2535,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2550,12 +2549,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2564,12 +2563,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2578,12 +2577,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2592,12 +2591,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2606,12 +2605,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2620,12 +2619,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2634,12 +2633,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2648,12 +2647,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2662,12 +2661,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2676,12 +2675,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2690,12 +2689,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2704,12 +2703,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2718,12 +2717,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2732,12 +2731,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2746,12 +2745,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2760,12 +2759,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2774,12 +2773,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2788,12 +2787,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2802,12 +2801,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2816,12 +2815,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2830,12 +2829,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2844,12 +2843,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2858,12 +2857,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2872,12 +2871,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -2886,12 +2885,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -2900,12 +2899,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -2914,12 +2913,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -2928,12 +2927,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -2942,12 +2941,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -2956,12 +2955,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -2970,7 +2969,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Attackable.java index ea208758c7..8dc44513f7 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -508,8 +508,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java index a49cc358a9..db6b2dc12d 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -124,11 +124,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -236,7 +236,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -263,7 +263,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -289,7 +289,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -347,7 +347,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -356,7 +356,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -367,7 +367,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -962,7 +962,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1590,21 +1590,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1637,16 +1637,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1654,8 +1654,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/Heal.java index f65b682749..b0f0d08e09 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 155e2c6da1..deb08f7502 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/Config.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/Config.java index 2ed8479e74..3e5e3f9735 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1070,42 +1069,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[119]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[119]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[119]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[119]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2479,8 +2478,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2489,12 +2488,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2503,12 +2502,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2517,12 +2516,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2531,12 +2530,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2545,12 +2544,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2559,12 +2558,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2573,12 +2572,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2587,12 +2586,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2601,12 +2600,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2615,12 +2614,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2629,12 +2628,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2643,12 +2642,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2657,12 +2656,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2671,12 +2670,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2685,12 +2684,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2699,12 +2698,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2713,12 +2712,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2727,12 +2726,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2741,12 +2740,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2755,12 +2754,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2769,12 +2768,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2783,12 +2782,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2797,12 +2796,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2811,12 +2810,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2825,12 +2824,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2839,12 +2838,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2853,12 +2852,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2867,12 +2866,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2881,12 +2880,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -2895,12 +2894,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -2909,12 +2908,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -2923,12 +2922,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -2937,12 +2936,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -2951,12 +2950,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -2965,12 +2964,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -2979,7 +2978,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Attackable.java index ea208758c7..8dc44513f7 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -508,8 +508,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java index a49cc358a9..db6b2dc12d 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -124,11 +124,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -236,7 +236,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -263,7 +263,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -289,7 +289,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -347,7 +347,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -356,7 +356,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -367,7 +367,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -962,7 +962,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1590,21 +1590,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1637,16 +1637,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1654,8 +1654,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Heal.java index b097f05534..80a9b8826f 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -115,7 +115,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 155e2c6da1..deb08f7502 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/Config.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/Config.java index 4d6091f050..2d7dd4df93 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1078,42 +1077,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[196]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[196]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[196]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[196]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[196]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[196]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[196]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[196]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[196]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[196]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[196]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[196]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2496,8 +2495,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2506,12 +2505,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2520,12 +2519,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2534,12 +2533,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2548,12 +2547,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2562,12 +2561,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2576,12 +2575,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2590,12 +2589,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2604,12 +2603,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2618,12 +2617,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2632,12 +2631,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2646,12 +2645,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2660,12 +2659,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2674,12 +2673,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2688,12 +2687,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2702,12 +2701,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2716,12 +2715,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2730,12 +2729,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2744,12 +2743,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2758,12 +2757,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2772,12 +2771,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2786,12 +2785,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2800,12 +2799,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2814,12 +2813,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2828,12 +2827,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2842,12 +2841,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2856,12 +2855,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2870,12 +2869,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2884,12 +2883,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2898,12 +2897,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -2912,12 +2911,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -2926,12 +2925,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -2940,12 +2939,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -2954,12 +2953,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -2968,12 +2967,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -2982,12 +2981,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -2996,7 +2995,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Attackable.java index ea208758c7..8dc44513f7 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -508,8 +508,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java index a49cc358a9..db6b2dc12d 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -124,11 +124,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -236,7 +236,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -263,7 +263,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -289,7 +289,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -347,7 +347,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -356,7 +356,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -367,7 +367,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -962,7 +962,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1590,21 +1590,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1637,16 +1637,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1654,8 +1654,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index 2647319faf..61cab1c03b 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -153,11 +153,11 @@ public class EnergyAttack extends AbstractEffect double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = effected.isPlayable() ? Config.PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (effected.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f) : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(effected.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()] : Config.PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[effected.getActingPlayer().getClassId().getId()]; } damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1)) * balanceMod; diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/Heal.java index f65b682749..b0f0d08e09 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -110,7 +110,7 @@ public class Heal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) { diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java index 155e2c6da1..deb08f7502 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/HpCpHeal.java @@ -106,7 +106,7 @@ public class HpCpHeal extends AbstractEffect amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1); amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0); - amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1; + amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS[effector.getActingPlayer().getClassId().getId()] : 1f; // Heal critic, since CT2.3 Gracia Final if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) { diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/Config.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/Config.java index cb1cbc092c..a6d70ad8db 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/Config.java @@ -43,7 +43,6 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -1079,42 +1078,42 @@ public class Config public static String TITLE_FOR_PVP_AMOUNT4; public static String TITLE_FOR_PVP_AMOUNT5; public static boolean CHAT_ADMIN; - public static Map PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map PLAYER_HEALING_SKILL_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SKILL_MASTERY_CHANCE_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map EXP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); - public static Map SP_AMOUNT_MULTIPLIERS = new ConcurrentHashMap<>(); + public static float[] PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS = new float[119]; + public static float[] PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS = new float[119]; + public static float[] PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS = new float[119]; + public static float[] PLAYER_HEALING_SKILL_MULTIPLIERS = new float[119]; + public static float[] SKILL_MASTERY_CHANCE_MULTIPLIERS = new float[119]; + public static float[] EXP_AMOUNT_MULTIPLIERS = new float[119]; + public static float[] SP_AMOUNT_MULTIPLIERS = new float[119]; public static boolean MULTILANG_ENABLE; public static List MULTILANG_ALLOWED = new ArrayList<>(); public static String MULTILANG_DEFAULT; @@ -2494,8 +2493,8 @@ public class Config // Load ClassBalance config file (if exists) final PropertiesParser ClassBalance = new PropertiesParser(CUSTOM_CLASS_BALANCE_CONFIG_FILE); + Arrays.fill(PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDamageMultipliers = ClassBalance.getString("PveMagicalSkillDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillDamageMultipliers.length > 0) { for (String info : pveMagicalSkillDamageMultipliers) @@ -2504,12 +2503,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDamageMultipliers = ClassBalance.getString("PvpMagicalSkillDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillDamageMultipliers) @@ -2518,12 +2517,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillDefenceMultipliers = ClassBalance.getString("PveMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveMagicalSkillDefenceMultipliers.length > 0) { for (String info : pveMagicalSkillDefenceMultipliers) @@ -2532,12 +2531,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillDefenceMultipliers = ClassBalance.getString("PvpMagicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpMagicalSkillDefenceMultipliers.length > 0) { for (String info : pvpMagicalSkillDefenceMultipliers) @@ -2546,12 +2545,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PveMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalChanceMultipliers) @@ -2560,12 +2559,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalChanceMultipliers) @@ -2574,12 +2573,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pveMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PveMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pveMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pveMagicalSkillCriticalDamageMultipliers) @@ -2588,12 +2587,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpMagicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpMagicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpMagicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpMagicalSkillCriticalDamageMultipliers) @@ -2602,12 +2601,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDamageMultipliers = ClassBalance.getString("PvePhysicalSkillDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillDamageMultipliers) @@ -2616,12 +2615,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillDamageMultipliers) @@ -2630,12 +2629,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillDefenceMultipliers = ClassBalance.getString("PvePhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvePhysicalSkillDefenceMultipliers) @@ -2644,12 +2643,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillDefenceMultipliers = ClassBalance.getString("PvpPhysicalSkillDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillDefenceMultipliers.length > 0) { for (String info : pvpPhysicalSkillDefenceMultipliers) @@ -2658,12 +2657,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalChanceMultipliers) @@ -2672,12 +2671,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalChanceMultipliers) @@ -2686,12 +2685,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalSkillCriticalDamageMultipliers) @@ -2700,12 +2699,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalSkillCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalSkillCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalSkillCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalSkillCriticalDamageMultipliers) @@ -2714,12 +2713,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDamageMultipliers = ClassBalance.getString("PvePhysicalAttackDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackDamageMultipliers) @@ -2728,12 +2727,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackDamageMultipliers) @@ -2742,12 +2741,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackDefenceMultipliers = ClassBalance.getString("PvePhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvePhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvePhysicalAttackDefenceMultipliers) @@ -2756,12 +2755,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackDefenceMultipliers = ClassBalance.getString("PvpPhysicalAttackDefenceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackDefenceMultipliers.length > 0) { for (String info : pvpPhysicalAttackDefenceMultipliers) @@ -2770,12 +2769,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalChanceMultipliers) @@ -2784,12 +2783,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalChanceMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalChanceMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalChanceMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalChanceMultipliers) @@ -2798,12 +2797,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvePhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvePhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvePhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvePhysicalAttackCriticalDamageMultipliers) @@ -2812,12 +2811,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpPhysicalAttackCriticalDamageMultipliers = ClassBalance.getString("PvpPhysicalAttackCriticalDamageMultipliers", "").trim().split(";"); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.clear(); if (pvpPhysicalAttackCriticalDamageMultipliers.length > 0) { for (String info : pvpPhysicalAttackCriticalDamageMultipliers) @@ -2826,12 +2825,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveBlowSkillDamageMultipliers = ClassBalance.getString("PveBlowSkillDamageMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveBlowSkillDamageMultipliers.length > 0) { for (String info : pveBlowSkillDamageMultipliers) @@ -2840,12 +2839,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDamageMultipliers = ClassBalance.getString("PvpBlowSkillDamageMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpBlowSkillDamageMultipliers.length > 0) { for (String info : pvpBlowSkillDamageMultipliers) @@ -2854,12 +2853,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveBlowSkillDefenceMultipliers = ClassBalance.getString("PveBlowSkillDefenceMultipliers", "").trim().split(";"); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveBlowSkillDefenceMultipliers.length > 0) { for (String info : pveBlowSkillDefenceMultipliers) @@ -2868,12 +2867,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpBlowSkillDefenceMultipliers = ClassBalance.getString("PvpBlowSkillDefenceMultipliers", "").trim().split(";"); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpBlowSkillDefenceMultipliers.length > 0) { for (String info : pvpBlowSkillDefenceMultipliers) @@ -2882,12 +2881,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pveEnergySkillDamageMultipliers = ClassBalance.getString("PveEnergySkillDamageMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pveEnergySkillDamageMultipliers.length > 0) { for (String info : pveEnergySkillDamageMultipliers) @@ -2896,12 +2895,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDamageMultipliers = ClassBalance.getString("PvpEnergySkillDamageMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.clear(); if (pvpEnergySkillDamageMultipliers.length > 0) { for (String info : pvpEnergySkillDamageMultipliers) @@ -2910,12 +2909,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DAMAGE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pveEnergySkillDefenceMultipliers = ClassBalance.getString("PveEnergySkillDefenceMultipliers", "").trim().split(";"); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pveEnergySkillDefenceMultipliers.length > 0) { for (String info : pveEnergySkillDefenceMultipliers) @@ -2924,12 +2923,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVE_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS, 1f); final String[] pvpEnergySkillDefenceMultipliers = ClassBalance.getString("PvpEnergySkillDefenceMultipliers", "").trim().split(";"); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.clear(); if (pvpEnergySkillDefenceMultipliers.length > 0) { for (String info : pvpEnergySkillDefenceMultipliers) @@ -2938,12 +2937,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PVP_ENERGY_SKILL_DEFENCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(PLAYER_HEALING_SKILL_MULTIPLIERS, 1f); final String[] playerHealingSkillMultipliers = ClassBalance.getString("PlayerHealingSkillMultipliers", "").trim().split(";"); - PLAYER_HEALING_SKILL_MULTIPLIERS.clear(); if (playerHealingSkillMultipliers.length > 0) { for (String info : playerHealingSkillMultipliers) @@ -2952,12 +2951,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - PLAYER_HEALING_SKILL_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + PLAYER_HEALING_SKILL_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SKILL_MASTERY_CHANCE_MULTIPLIERS, 1f); final String[] skillMasteryChanceMultipliers = ClassBalance.getString("SkillMasteryChanceMultipliers", "").trim().split(";"); - SKILL_MASTERY_CHANCE_MULTIPLIERS.clear(); if (skillMasteryChanceMultipliers.length > 0) { for (String info : skillMasteryChanceMultipliers) @@ -2966,12 +2965,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SKILL_MASTERY_CHANCE_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SKILL_MASTERY_CHANCE_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(EXP_AMOUNT_MULTIPLIERS, 1f); final String[] expAmountMultipliers = ClassBalance.getString("ExpAmountMultipliers", "").trim().split(";"); - EXP_AMOUNT_MULTIPLIERS.clear(); if (expAmountMultipliers.length > 0) { for (String info : expAmountMultipliers) @@ -2980,12 +2979,12 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - EXP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + EXP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } + Arrays.fill(SP_AMOUNT_MULTIPLIERS, 1f); final String[] spAmountMultipliers = ClassBalance.getString("SpAmountMultipliers", "").trim().split(";"); - SP_AMOUNT_MULTIPLIERS.clear(); if (spAmountMultipliers.length > 0) { for (String info : spAmountMultipliers) @@ -2994,7 +2993,7 @@ public class Config if (classInfo.length == 2) { final String id = classInfo[0].trim(); - SP_AMOUNT_MULTIPLIERS.put(Util.isDigit(id) ? ClassId.getClassId(Integer.parseInt(id)) : Enum.valueOf(ClassId.class, id), Float.parseFloat(classInfo[1].trim())); + SP_AMOUNT_MULTIPLIERS[Util.isDigit(id) ? Integer.parseInt(id) : Enum.valueOf(ClassId.class, id).getId()] = Float.parseFloat(classInfo[1].trim()); } } } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/Party.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/Party.java index 238db50f63..1785940060 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/Party.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/Party.java @@ -903,8 +903,8 @@ public class Party extends AbstractPlayerGroup private double calculateExpSpPartyCutoff(PlayerInstance player, int topLvl, double addExpValue, double addSpValue, boolean vit) { - final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); - final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(player.getClassId(), 1f); + final double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; + final double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()]; double xp = addExp; double sp = addSp; if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive")) diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java index cda69f5dcd..fe6b02119a 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -506,8 +506,8 @@ public class Attackable extends Npc // Distribute the Exp and SP between the PlayerInstance and its Summon if (!attacker.isDead()) { - exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); - sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS.getOrDefault(attacker.getClassId(), 1f); + exp = attacker.getStat().getValue(Stat.EXPSP_RATE, exp) * Config.EXP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; + sp = attacker.getStat().getValue(Stat.EXPSP_RATE, sp) * Config.SP_AMOUNT_MULTIPLIERS[attacker.getClassId().getId()]; attacker.addExpAndSp(exp, sp, useVitalityRate()); if (exp > 0) { diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java index acead34c9d..af5c96dd56 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -123,11 +123,11 @@ public class Formulas double balanceMod = 1; if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } if (target.isPlayable()) { - defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f) : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(target.getActingPlayer().getClassId(), 1f); + defence *= attacker.isPlayable() ? Config.PVP_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()] : Config.PVE_BLOW_SKILL_DEFENCE_MULTIPLIERS[target.getActingPlayer().getClassId().getId()]; } // ........................_____________________________Initial Damage____________________________...___________Position Additional Damage___________..._CriticalAdd_ @@ -235,7 +235,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (Math.min(finalRate, 20) * balanceMod) > Rnd.get(100); @@ -262,7 +262,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * statBonus * rateBonus * balanceMod) > Rnd.get(100); @@ -288,7 +288,7 @@ public class Formulas double balanceMod = 1; if (creature.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS.getOrDefault(creature.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_CHANCE_MULTIPLIERS[creature.getActingPlayer().getClassId().getId()]; } return (rate * balanceMod) > Rnd.get(100); @@ -346,7 +346,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_MAGICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } else @@ -355,7 +355,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE_SKILL, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_SKILL_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } } @@ -366,7 +366,7 @@ public class Formulas defenceCriticalDamage = target.getStat().getValue(Stat.DEFENCE_CRITICAL_DAMAGE, 1); if (attacker.isPlayable()) { - balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f) : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS.getOrDefault(attacker.getActingPlayer().getClassId(), 1f); + balanceMod = target.isPlayable() ? Config.PVP_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()] : Config.PVE_PHYSICAL_ATTACK_CRITICAL_DAMAGE_MULTIPLIERS[attacker.getActingPlayer().getClassId().getId()]; } } @@ -961,7 +961,7 @@ public class Formulas final double chance = BaseStat.values()[val].calcBonus(actor) * actor.getStat().getValue(Stat.SKILL_CRITICAL_PROBABILITY, 1); - return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS.getOrDefault(actor.getActingPlayer().getClassId(), 1f))); + return ((Rnd.nextDouble() * 100.) < (chance * Config.SKILL_MASTERY_CHANCE_MULTIPLIERS[actor.getActingPlayer().getClassId().getId()])); } /** @@ -1589,21 +1589,21 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DAMAGE, 1) * Config.PVP_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_MAGICAL_SKILL_DEFENCE, 1) * Config.PVP_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } else { // Physical Skill PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DAMAGE, 1) * Config.PVP_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_SKILL_DEFENCE, 1) * Config.PVP_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } } else { // Autoattack PvP - pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f); - pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f); + pvpAttack = attacker.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DAMAGE, 1) * Config.PVP_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]; + pvpDefense = target.getStat().getValue(Stat.PVP_PHYSICAL_ATTACK_DEFENCE, 1) * Config.PVP_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]; } return Math.max(0.05, 1 + (pvpAttack - pvpDefense)); // Bonus should not be negative. @@ -1636,16 +1636,16 @@ public class Formulas if (skill.isMagic()) { // Magical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else { // Physical Skill PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } @@ -1653,8 +1653,8 @@ public class Formulas else { // Autoattack PvE - pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); - pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS[attackerPlayer.getClassId().getId()]); + pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS[targetPlayer.getClassId().getId()]); pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; }