Prechádzať zdrojové kódy

BETA: Added missing damage modifier `CRIT_ADD_VULN` in calcPhysDam & calcBlowDamage formulas.
* Removed multiplication of `CRIT_ADD_VULN` from calcBackstabDamage formula.

Reported by: badboy29, kain13, Starter, Tan, Nik, angkor, blacksea, lucan, Tavo22
Reviewed by: UnAfraid

Nos 11 rokov pred
rodič
commit
5c4a0b6a6d

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

@@ -630,7 +630,7 @@ public final class Formulas
 		
 		// Initial damage.
 		damage = (((70. * graciaPhysSkillBonus * (power + (attacker.getPAtk(target) * ssboost))) / defence) * (attacker.calcStat(Stats.CRITICAL_DAMAGE, 1, target, skill)) * (target.calcStat(Stats.CRIT_VULN, 1, target, skill)) * proximityBonus * pvpBonus) + (((attacker.calcStat(Stats.CRITICAL_DAMAGE_ADD, 0, target, skill) * 6.1 * 70) / defence) * graciaPhysSkillBonus);
-		
+		damage += target.calcStat(Stats.CRIT_ADD_VULN, 0, target, skill);
 		// Traits, elements
 		damage *= calcWeaponTraitBonus(attacker, target) * calcGeneralTraitBonus(attacker, target, skill.getTraitType(), false) * calcAttributeBonus(attacker, target, skill);
 		
@@ -687,7 +687,7 @@ public final class Formulas
 		}
 		
 		damage = (((70. * graciaPhysSkillBonus * (skill.getPower(isPvP, isPvE) + attacker.getPAtk(target))) / defence) * ssboost * (attacker.calcStat(Stats.CRITICAL_DAMAGE, 1, target, skill)) * (target.calcStat(Stats.CRIT_VULN, 1, target, skill)) * proximityBonus * pvpBonus) + (((attacker.calcStat(Stats.CRITICAL_DAMAGE_ADD, 0, target, skill) * 6.1 * 70) / defence) * graciaPhysSkillBonus);
-		damage += target.calcStat(Stats.CRIT_ADD_VULN, 0, target, skill) * 6.1;
+		damage += target.calcStat(Stats.CRIT_ADD_VULN, 0, target, skill);
 		// get the vulnerability for the instance due to skills (buffs, passives, toggles, etc)
 		
 		damage *= calcGeneralTraitBonus(attacker, target, skill.getTraitType(), false) * calcAttributeBonus(attacker, target, skill);
@@ -758,6 +758,7 @@ public final class Formulas
 			damage = 2 * attacker.calcStat(Stats.CRITICAL_DAMAGE, 1, target, skill) * target.calcStat(Stats.CRIT_VULN, 1, target, null) * ((70 * damage) / defence);
 			// Crit dmg add is almost useless in normal hits...
 			damage += ((attacker.calcStat(Stats.CRITICAL_DAMAGE_ADD, 0, target, skill) * 70) / defence);
+			damage += target.calcStat(Stats.CRIT_ADD_VULN, 0, target, skill);
 		}
 		else
 		{