-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:
MobiusDev
2015-07-14 20:03:39 +00:00
parent b07f46dc5c
commit d722c7a961
26 changed files with 2227 additions and 1002 deletions

View File

@@ -130,11 +130,27 @@ public final class EnergyAttack extends AbstractEffect
weaponTypeBoost = 77;
}
// charge count should be the count before casting the skill but since its reduced before calling effects
// we add skill consume charges to current charges
double energyChargesBoost = (((attacker.getCharges() + skill.getChargeConsume()) - 1) * 0.2) + 1;
double energyChargesBoost = 1;
if (attacker.getCharges() == 1)
{
energyChargesBoost = 1.1;
attacker.decreaseCharges(1);
}
else if (attacker.getCharges() == 2)
{
energyChargesBoost = 1.2;
attacker.decreaseCharges(2);
}
else if (attacker.getCharges() >= 3)
{
energyChargesBoost = 1.3;
attacker.decreaseCharges(3);
}
double addPower = (attacker.getStat().calcStat(Stats.MOMENTUM_SKILL_POWER, 1, null, null));
attack += _power;
attack *= addPower;
attack *= ssBoost;
attack *= energyChargesBoost;
attack *= weaponTypeBoost;
@@ -157,6 +173,13 @@ public final class EnergyAttack extends AbstractEffect
if (damage > 0)
{
// reduce damage if target has maxdamage buff
double maxDamage = (target.getStat().calcStat(Stats.MAX_SKILL_DAMAGE, 0, null, null));
if (maxDamage > 0)
{
damage = (int) maxDamage;
}
attacker.sendDamageMessage(target, (int) damage, false, critical, false);
target.reduceCurrentHp(damage, attacker, skill);
target.notifyDamageReceived(damage, attacker, skill, critical, false);
@@ -165,4 +188,4 @@ public final class EnergyAttack extends AbstractEffect
Formulas.calcDamageReflected(attacker, target, skill, critical);
}
}
}
}