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 @@
-
+
+
@@ -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