diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini b/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini index c5cd1480c7..d2a9552bfa 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini +++ b/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini @@ -223,6 +223,14 @@ MaxSpBonus = 0 # Default: 300 MaxRunSpeed = 300 +# Maximum character Physical Attack. +# Default: 999999 +MaxPAtk = 999999 + +# Maximum character Magic Attack. +# Default: 999999 +MaxMAtk = 999999 + # Maximum character Physical Critical Rate. (10 = 1%) # Default: 500 MaxPCritRate = 500 diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/07000-07099.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/07000-07099.xml index 99741adf1a..b0f1c3fbb9 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/07000-07099.xml +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/07000-07099.xml @@ -350,7 +350,7 @@ 0 0 999900 - 999900 + 999999 PER @@ -428,6 +428,15 @@ PER 1 + + + 0 + 0 + 999900 + 999999 + + PER + diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java index e9c1baee63..40be605ad7 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java @@ -181,6 +181,8 @@ public final class Config public static double MAX_BONUS_EXP; public static double MAX_BONUS_SP; public static int MAX_RUN_SPEED; + public static int MAX_PATK; + public static int MAX_MATK; public static int MAX_PCRIT_RATE; public static int MAX_MCRIT_RATE; public static int MAX_PATK_SPEED; @@ -1444,6 +1446,8 @@ public final class Config MAX_BONUS_EXP = Character.getDouble("MaxExpBonus", 0); MAX_BONUS_SP = Character.getDouble("MaxSpBonus", 0); MAX_RUN_SPEED = Character.getInt("MaxRunSpeed", 300); + MAX_PATK = Character.getInt("MaxPAtk", 999999); + MAX_MATK = Character.getInt("MaxMAtk", 999999); MAX_PCRIT_RATE = Character.getInt("MaxPCritRate", 500); MAX_MCRIT_RATE = Character.getInt("MaxMCritRate", 200); MAX_PATK_SPEED = Character.getInt("MaxPAtkSpeed", 1500); diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java index cb40d6b170..7abc900f62 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java @@ -56,7 +56,7 @@ public class MAttackFinalizer implements IStatsFunction final double chaMod = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double intBonus = BaseStats.INT.calcBonus(creature); baseValue *= Math.pow(intBonus, 2) * Math.pow(creature.getLevelMod(), 2) * chaMod; - return Stats.defaultValue(creature, stat, baseValue); + return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_MATK); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java index ed386dad83..2ac6265afb 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java @@ -55,7 +55,7 @@ public class PAttackFinalizer implements IStatsFunction final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double strBonus = creature.getSTR() > 0 ? BaseStats.STR.calcBonus(creature) : 1.; baseValue *= strBonus * creature.getLevelMod() * chaBonus; - return Stats.defaultValue(creature, stat, baseValue); + return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_PATK); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/config/Character.ini b/L2J_Mobius_2.5_Underground/dist/game/config/Character.ini index a717d4a259..df966f1f32 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/config/Character.ini +++ b/L2J_Mobius_2.5_Underground/dist/game/config/Character.ini @@ -223,6 +223,14 @@ MaxSpBonus = 0 # Default: 300 MaxRunSpeed = 300 +# Maximum character Physical Attack. +# Default: 999999 +MaxPAtk = 999999 + +# Maximum character Magic Attack. +# Default: 999999 +MaxMAtk = 999999 + # Maximum character Physical Critical Rate. (10 = 1%) # Default: 500 MaxPCritRate = 500 diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/07000-07099.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/07000-07099.xml index 64f15552d5..4135318db3 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/07000-07099.xml +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/07000-07099.xml @@ -350,7 +350,7 @@ 0 0 999900 - 999900 + 999999 PER @@ -428,6 +428,15 @@ PER 1 + + + 0 + 0 + 999900 + 999999 + + PER + diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java index b10eda502a..b0a99b5244 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java @@ -181,6 +181,8 @@ public final class Config public static double MAX_BONUS_EXP; public static double MAX_BONUS_SP; public static int MAX_RUN_SPEED; + public static int MAX_PATK; + public static int MAX_MATK; public static int MAX_PCRIT_RATE; public static int MAX_MCRIT_RATE; public static int MAX_PATK_SPEED; @@ -1446,6 +1448,8 @@ public final class Config MAX_BONUS_EXP = Character.getDouble("MaxExpBonus", 0); MAX_BONUS_SP = Character.getDouble("MaxSpBonus", 0); MAX_RUN_SPEED = Character.getInt("MaxRunSpeed", 300); + MAX_PATK = Character.getInt("MaxPAtk", 999999); + MAX_MATK = Character.getInt("MaxMAtk", 999999); MAX_PCRIT_RATE = Character.getInt("MaxPCritRate", 500); MAX_MCRIT_RATE = Character.getInt("MaxMCritRate", 200); MAX_PATK_SPEED = Character.getInt("MaxPAtkSpeed", 1500); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java index cb40d6b170..7abc900f62 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java @@ -56,7 +56,7 @@ public class MAttackFinalizer implements IStatsFunction final double chaMod = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double intBonus = BaseStats.INT.calcBonus(creature); baseValue *= Math.pow(intBonus, 2) * Math.pow(creature.getLevelMod(), 2) * chaMod; - return Stats.defaultValue(creature, stat, baseValue); + return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_MATK); } @Override diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java index ed386dad83..2ac6265afb 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java @@ -55,7 +55,7 @@ public class PAttackFinalizer implements IStatsFunction final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double strBonus = creature.getSTR() > 0 ? BaseStats.STR.calcBonus(creature) : 1.; baseValue *= strBonus * creature.getLevelMod() * chaBonus; - return Stats.defaultValue(creature, stat, baseValue); + return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_PATK); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/config/Character.ini b/L2J_Mobius_3.0_Helios/dist/game/config/Character.ini index a717d4a259..df966f1f32 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/config/Character.ini +++ b/L2J_Mobius_3.0_Helios/dist/game/config/Character.ini @@ -223,6 +223,14 @@ MaxSpBonus = 0 # Default: 300 MaxRunSpeed = 300 +# Maximum character Physical Attack. +# Default: 999999 +MaxPAtk = 999999 + +# Maximum character Magic Attack. +# Default: 999999 +MaxMAtk = 999999 + # Maximum character Physical Critical Rate. (10 = 1%) # Default: 500 MaxPCritRate = 500 diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/07000-07099.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/07000-07099.xml index 03d7b628a6..8e16a93c8e 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/07000-07099.xml +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/07000-07099.xml @@ -350,7 +350,7 @@ 0 0 999900 - 999900 + 999999 PER @@ -428,6 +428,15 @@ PER 1 + + + 0 + 0 + 999900 + 999999 + + PER + diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java index b10eda502a..b0a99b5244 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java @@ -181,6 +181,8 @@ public final class Config public static double MAX_BONUS_EXP; public static double MAX_BONUS_SP; public static int MAX_RUN_SPEED; + public static int MAX_PATK; + public static int MAX_MATK; public static int MAX_PCRIT_RATE; public static int MAX_MCRIT_RATE; public static int MAX_PATK_SPEED; @@ -1446,6 +1448,8 @@ public final class Config MAX_BONUS_EXP = Character.getDouble("MaxExpBonus", 0); MAX_BONUS_SP = Character.getDouble("MaxSpBonus", 0); MAX_RUN_SPEED = Character.getInt("MaxRunSpeed", 300); + MAX_PATK = Character.getInt("MaxPAtk", 999999); + MAX_MATK = Character.getInt("MaxMAtk", 999999); MAX_PCRIT_RATE = Character.getInt("MaxPCritRate", 500); MAX_MCRIT_RATE = Character.getInt("MaxMCritRate", 200); MAX_PATK_SPEED = Character.getInt("MaxPAtkSpeed", 1500); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java index cb40d6b170..7abc900f62 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java @@ -56,7 +56,7 @@ public class MAttackFinalizer implements IStatsFunction final double chaMod = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double intBonus = BaseStats.INT.calcBonus(creature); baseValue *= Math.pow(intBonus, 2) * Math.pow(creature.getLevelMod(), 2) * chaMod; - return Stats.defaultValue(creature, stat, baseValue); + return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_MATK); } @Override diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java index ed386dad83..2ac6265afb 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java @@ -55,7 +55,7 @@ public class PAttackFinalizer implements IStatsFunction final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double strBonus = creature.getSTR() > 0 ? BaseStats.STR.calcBonus(creature) : 1.; baseValue *= strBonus * creature.getLevelMod() * chaBonus; - return Stats.defaultValue(creature, stat, baseValue); + return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_PATK); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/config/Character.ini b/L2J_Mobius_CT_2.6_HighFive/dist/game/config/Character.ini index 0e8f47c989..95fbb3f517 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/config/Character.ini +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/config/Character.ini @@ -314,6 +314,14 @@ MaxSpBonus = 3.5 # Default: 250 MaxRunSpeed = 250 +# Maximum character Physical Attack. +# Default: 999999 +MaxPAtk = 999999 + +# Maximum character Magic Attack. +# Default: 999999 +MaxMAtk = 999999 + # Maximum character Physical Critical Rate. (10 = 1%) # Default: 500 MaxPCritRate = 500 diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/stats/skills/07000-07099.xml b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/stats/skills/07000-07099.xml index 3f36adbdb3..2301b6f3d0 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/stats/skills/07000-07099.xml +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/stats/skills/07000-07099.xml @@ -262,7 +262,8 @@ 1 1 1 1
2 3 4 5
- 2500 5000 7500 10000
+ 250 500 750 1500
+ 250 500 750 1500
2 3 4 5
0.01 0.01 0.01 0.01
2 3 4 5
@@ -278,6 +279,7 @@ + diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java index cc44c83046..d8f845ff63 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java @@ -155,6 +155,8 @@ public final class Config public static double MAX_BONUS_EXP; public static double MAX_BONUS_SP; public static int MAX_RUN_SPEED; + public static int MAX_PATK; + public static int MAX_MATK; public static int MAX_PCRIT_RATE; public static int MAX_MCRIT_RATE; public static int MAX_PATK_SPEED; @@ -1547,6 +1549,8 @@ public final class Config MAX_BONUS_EXP = character.getDouble("MaxExpBonus", 3.5); MAX_BONUS_SP = character.getDouble("MaxSpBonus", 3.5); MAX_RUN_SPEED = character.getInt("MaxRunSpeed", 250); + MAX_PATK = character.getInt("MaxPAtk", 999999); + MAX_MATK = character.getInt("MaxMAtk", 999999); MAX_PCRIT_RATE = character.getInt("MaxPCritRate", 500); MAX_MCRIT_RATE = character.getInt("MaxMCritRate", 200); MAX_PATK_SPEED = character.getInt("MaxPAtkSpeed", 1500); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/stat/CharStat.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/stat/CharStat.java index ca4706e0f0..be20af4327 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/stat/CharStat.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/stat/CharStat.java @@ -287,7 +287,7 @@ public class CharStat } // Calculate modifiers Magic Attack - return calcStat(Stats.MAGIC_ATTACK, _activeChar.getTemplate().getBaseMAtk() * bonusAtk, target, skill); + return Math.min(calcStat(Stats.MAGIC_ATTACK, _activeChar.getTemplate().getBaseMAtk() * bonusAtk, target, skill), Config.MAX_MATK); } /** @@ -512,7 +512,7 @@ public class CharStat { bonusAtk *= Config.RAID_PATTACK_MULTIPLIER; } - return calcStat(Stats.POWER_ATTACK, _activeChar.getTemplate().getBasePAtk() * bonusAtk, target, null); + return Math.min(calcStat(Stats.POWER_ATTACK, _activeChar.getTemplate().getBasePAtk() * bonusAtk, target, null), Config.MAX_PATK); } /** diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/config/Character.ini b/L2J_Mobius_Classic_2.0_Saviors/dist/game/config/Character.ini index 0100f62c51..9475e14088 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/config/Character.ini +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/config/Character.ini @@ -227,6 +227,14 @@ MaxSpBonus = 0 # Default: 300 MaxRunSpeed = 300 +# Maximum character Physical Attack. +# Default: 999999 +MaxPAtk = 999999 + +# Maximum character Magic Attack. +# Default: 999999 +MaxMAtk = 999999 + # Maximum character Physical Critical Rate. (10 = 1%) # Default: 500 MaxPCritRate = 500 diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/07000-07099.xml b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/07000-07099.xml index 214a214a77..191d9b57c3 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/07000-07099.xml +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/07000-07099.xml @@ -350,7 +350,7 @@ 0 0 999900 - 999900 + 999999 PER @@ -428,6 +428,15 @@ PER 1 + + + 0 + 0 + 999900 + 999999 + + PER +
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java index 7a1670f6e3..6c16d94d40 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java @@ -182,6 +182,8 @@ public final class Config public static double MAX_BONUS_EXP; public static double MAX_BONUS_SP; public static int MAX_RUN_SPEED; + public static int MAX_PATK; + public static int MAX_MATK; public static int MAX_PCRIT_RATE; public static int MAX_MCRIT_RATE; public static int MAX_PATK_SPEED; @@ -1448,6 +1450,8 @@ public final class Config MAX_BONUS_EXP = Character.getDouble("MaxExpBonus", 0); MAX_BONUS_SP = Character.getDouble("MaxSpBonus", 0); MAX_RUN_SPEED = Character.getInt("MaxRunSpeed", 300); + MAX_PATK = Character.getInt("MaxPAtk", 999999); + MAX_MATK = Character.getInt("MaxMAtk", 999999); MAX_PCRIT_RATE = Character.getInt("MaxPCritRate", 500); MAX_MCRIT_RATE = Character.getInt("MaxMCritRate", 200); MAX_PATK_SPEED = Character.getInt("MaxPAtkSpeed", 1500); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java index cb40d6b170..7abc900f62 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java @@ -56,7 +56,7 @@ public class MAttackFinalizer implements IStatsFunction final double chaMod = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double intBonus = BaseStats.INT.calcBonus(creature); baseValue *= Math.pow(intBonus, 2) * Math.pow(creature.getLevelMod(), 2) * chaMod; - return Stats.defaultValue(creature, stat, baseValue); + return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_MATK); } @Override diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java index ed386dad83..2ac6265afb 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/finalizers/PAttackFinalizer.java @@ -55,7 +55,7 @@ public class PAttackFinalizer implements IStatsFunction final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double strBonus = creature.getSTR() > 0 ? BaseStats.STR.calcBonus(creature) : 1.; baseValue *= strBonus * creature.getLevelMod() * chaBonus; - return Stats.defaultValue(creature, stat, baseValue); + return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_PATK); } @Override