Procházet zdrojové kódy

BETA: Updated Level Modifier formula in calcCancelSuccess.

MELERIX před 12 roky
rodič
revize
80d50fc2b2

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

@@ -2180,6 +2180,7 @@ public final class Formulas
 			{
 				case "buff":
 				{
+					// Resist Modifier.
 					int cancelMagicLvl = skill.getMagicLevel();
 					final double vuln = target.calcStat(Stats.CANCEL_VULN, 0, target, null);
 					final double prof = activeChar.calcStat(Stats.CANCEL_PROF, 0, target, null);
@@ -2189,7 +2190,7 @@ public final class Formulas
 					if (activeChar.isDebug() || Config.DEVELOPER)
 					{
 						final StringBuilder stat = new StringBuilder(100);
-						StringUtil.append(stat, skill.getName(), " Base Rate:", String.valueOf(rate), " Magiclvl:", String.valueOf(cancelMagicLvl), " resMod:", String.format("%1.2f", resMod), "(", String.format("%1.2f", prof), "/", String.format("%1.2f", vuln), ") Rate:", String.valueOf(rate));
+						StringUtil.append(stat, skill.getName(), " Base Rate:", String.valueOf(rate), " Magiclvl:", String.valueOf(cancelMagicLvl), " resMod:", String.format("%1.2f", resMod), " Rate:", String.format("%1.2f", finalRate));
 						final String result = stat.toString();
 						if (activeChar.isDebug())
 						{
@@ -2242,7 +2243,7 @@ public final class Formulas
 	public static boolean calcCancelSuccess(L2Effect eff, int cancelMagicLvl, int rate, L2Skill skill)
 	{
 		// Lvl Bonus Modifier.
-		rate *= (eff.getSkill().getMagicLevel() > 0) ? (cancelMagicLvl / eff.getSkill().getMagicLevel()) : 1;
+		rate *= eff.getSkill().getMagicLevel() > 0 ? 1 + ((cancelMagicLvl - eff.getSkill().getMagicLevel()) / 100.) : 1;
 		return Rnd.get(100) < Math.min(Math.max(rate, skill.getMinChance()), skill.getMaxChance());
 	}