Bläddra i källkod

BETA: Fixing buffDebuffMod formula.
* Reported by: St3eT
* Patch by: Nos

Rumen Nikiforov 11 år sedan
förälder
incheckning
5a15fecba9

+ 6 - 6
L2J_Server_BETA/java/com/l2jserver/gameserver/model/stats/Formulas.java

@@ -1356,10 +1356,10 @@ public final class Formulas
 				break;
 		}
 		
-		double baseMod = ((((((magicLevel - target.getLevel()) + 3) * skill.getLvlBonusRate()) + activateRate) + 30.0) - targetBaseStat);
-		double elementMod = calcAttributeBonus(attacker, target, skill);
-		double traitMod = calcGeneralTraitBonus(attacker, target, skill.getTraitType(), false);
-		double buffDebuffMod = target.calcStat(skill.isDebuff() ? Stats.DEBUFF_VULN : Stats.BUFF_VULN, 1, null, null);
+		final double baseMod = ((((((magicLevel - target.getLevel()) + 3) * skill.getLvlBonusRate()) + activateRate) + 30.0) - targetBaseStat);
+		final double elementMod = calcAttributeBonus(attacker, target, skill);
+		final double traitMod = calcGeneralTraitBonus(attacker, target, skill.getTraitType(), false);
+		final double buffDebuffMod = 1 + (target.calcStat(skill.isDebuff() ? Stats.DEBUFF_VULN : Stats.BUFF_VULN, 1, null, null) / 100);
 		double mAtkMod = 1;
 		
 		if (skill.isMagic())
@@ -1375,8 +1375,8 @@ public final class Formulas
 			mAtkMod = val;
 		}
 		
-		double rate = baseMod * elementMod * traitMod * mAtkMod * buffDebuffMod;
-		double finalRate = Math.min(Math.max(rate, skill.getMinChance()), skill.getMaxChance());
+		final double rate = baseMod * elementMod * traitMod * mAtkMod * buffDebuffMod;
+		final double finalRate = Math.min(Math.max(rate, skill.getMinChance()), skill.getMaxChance());
 		
 		if (attacker.isDebug())
 		{