From b2f21cb7bd0025895bbbc085c4ee5d558c5dfc27 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 21 Jan 2020 10:04:20 +0000 Subject: [PATCH] Bonus should be added, not multiplied. --- .../gameserver/model/stats/finalizers/MAttackFinalizer.java | 2 +- .../gameserver/model/stats/finalizers/MCritRateFinalizer.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java index 70bcb34df4..40b9278961 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/MAttackFinalizer.java @@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatsFunction // Calculate modifiers Magic Attack final double physicalBonus = creature.getStat().getValue(Stats.MAGIC_ATTACK_BY_PHYSICAL_ATTACK, 0) * creature.getPAtk(); baseValue *= Math.pow(BaseStats.INT.calcBonus(creature) * creature.getLevelMod(), 2.2072); - return validateValue(creature, Stats.defaultValue(creature, stat, baseValue * (physicalBonus > 0 ? physicalBonus : 1)), 0, Config.MAX_MATK); + return validateValue(creature, Stats.defaultValue(creature, stat, baseValue + physicalBonus), 0, Config.MAX_MATK); } @Override diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/MCritRateFinalizer.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/MCritRateFinalizer.java index bdb7725f41..9e29ece3ad 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/MCritRateFinalizer.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/MCritRateFinalizer.java @@ -44,7 +44,7 @@ public class MCritRateFinalizer implements IStatsFunction final double physicalBonus = creature.getStat().getValue(Stats.MAGIC_CRITICAL_RATE_BY_CRITICAL_RATE, 0) * creature.getStat().getCriticalHit(); final double witBonus = creature.getWIT() > 0 ? BaseStats.WIT.calcBonus(creature) : 1.; - return validateValue(creature, Stats.defaultValue(creature, stat, baseValue * witBonus * 10 * (physicalBonus > 0 ? physicalBonus : 1)), 0, Config.MAX_MCRIT_RATE); + return validateValue(creature, Stats.defaultValue(creature, stat, (baseValue * witBonus * 10) + physicalBonus), 0, Config.MAX_MCRIT_RATE); } @Override