-Added two new effects (BlockTarget & Duel).
-Added <target hp="n%" /> condition (example - Last Attack skill). -Updated DamOverTime effect - add increase charges count over time. -Updated EnergyAttack effect to new charges system. -Updated FatalBlow effect (able to increase skill power damage if target has affected by selected abnormal type). -Added parameter ignorePhysDefPercent for skills that ignores some % of enemy pDef. -Added function isInvulnerableFor(player) and updated PcCondOverride for this function. -NPC and NPC buffers data updated for Othell Ground skill Poison Zone. -Updated PhysicalAttack effect for skills, that decreases power when using some weapon types, and increases power when using some weapon types. also added isLastAttack parameter (for skill Last Attack atm). -Added stat momentumSkillPower (for Tyrr' passive). Increases power when player have more charges (max 3). -Updated some effect for working with maxSkillDamage parameter. -Updated some old and new skills to 10531. Contributed by NviX.
This commit is contained in:
@@ -746,17 +746,23 @@ public final class Formulas
|
||||
}
|
||||
damage = (skill != null) ? ((damage * ssBoost) + skill.getPower(attacker, target, isPvP, isPvE)) : (damage * ssBoost);
|
||||
|
||||
double reduceDef = 1;
|
||||
if (skill != null)
|
||||
{
|
||||
reduceDef -= (skill.getIgnorePhysDefPercent() / 100.0);
|
||||
}
|
||||
|
||||
if (crit)
|
||||
{
|
||||
// Finally retail like formula
|
||||
damage = 2 * attacker.calcStat(Stats.CRITICAL_DAMAGE, 1, target, skill) * target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE, 1, target, null) * ((70 * damage) / defence);
|
||||
damage = 2 * attacker.calcStat(Stats.CRITICAL_DAMAGE, 1, target, skill) * target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE, 1, target, null) * ((70 * damage) / (defence * reduceDef));
|
||||
// Crit dmg add is almost useless in normal hits...
|
||||
damage += ((attacker.calcStat(Stats.CRITICAL_DAMAGE_ADD, 0, target, skill) * 70) / defence);
|
||||
damage += ((attacker.calcStat(Stats.CRITICAL_DAMAGE_ADD, 0, target, skill) * 70) / (defence * reduceDef));
|
||||
damage += target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE_ADD, 0, target, skill);
|
||||
}
|
||||
else
|
||||
{
|
||||
damage = (70 * damage) / defence;
|
||||
damage = (70 * damage) / (defence * reduceDef);
|
||||
}
|
||||
|
||||
damage *= calcAttackTraitBonus(attacker, target);
|
||||
|
@@ -59,6 +59,7 @@ public enum Stats
|
||||
CRITICAL_DAMAGE_ADD("cAtkAdd"), // this is another type for special critical damage mods - vicious stance, critical power and critical damage SA
|
||||
MAGIC_CRIT_DMG("mCritPower"),
|
||||
MAGIC_CRIT_DMG_ADD("mCritPowerAdd"),
|
||||
MOMENTUM_SKILL_POWER("momentumSkillPower"),
|
||||
|
||||
// PVP BONUS
|
||||
PVP_PHYSICAL_DMG("pvpPhysDmg"),
|
||||
|
Reference in New Issue
Block a user