-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:
@@ -200,6 +200,7 @@ public final class Skill implements IIdentifiable
|
||||
private final String _attribute;
|
||||
|
||||
private final boolean _ignoreShield;
|
||||
private final int _ignorePhysDefPercent;
|
||||
|
||||
private final boolean _isSuicideAttack;
|
||||
private final boolean _canBeDispeled;
|
||||
@@ -335,6 +336,7 @@ public final class Skill implements IIdentifiable
|
||||
_minChance = set.getInt("minChance", Config.MIN_ABNORMAL_STATE_SUCCESS_RATE);
|
||||
_maxChance = set.getInt("maxChance", Config.MAX_ABNORMAL_STATE_SUCCESS_RATE);
|
||||
_ignoreShield = set.getBoolean("ignoreShld", false);
|
||||
_ignorePhysDefPercent = set.getInt("ignorePhysDefPercent", 0);
|
||||
|
||||
_nextActionIsAttack = set.getBoolean("nextActionAttack", false);
|
||||
|
||||
@@ -1365,7 +1367,7 @@ public final class Skill implements IIdentifiable
|
||||
}
|
||||
|
||||
// Check bad skills against target.
|
||||
if ((effector != effected) && isBad() && (effected.isInvul() || (effector.isGM() && !effector.getAccessLevel().canGiveDamage())))
|
||||
if ((effector != effected) && isBad() && ((effected.isInvul() && (!effected.isVulnerableFor(effector))) || (effector.isGM() && !effector.getAccessLevel().canGiveDamage())))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -1477,7 +1479,7 @@ public final class Skill implements IIdentifiable
|
||||
{
|
||||
switch (getId())
|
||||
{
|
||||
// TODO: replace with AI
|
||||
// TODO: replace with AI
|
||||
case 5852:
|
||||
case 5853:
|
||||
{
|
||||
@@ -1652,6 +1654,14 @@ public final class Skill implements IIdentifiable
|
||||
return _ignoreShield;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the percent of ignore defense of this skill
|
||||
*/
|
||||
public int getIgnorePhysDefPercent()
|
||||
{
|
||||
return _ignorePhysDefPercent;
|
||||
}
|
||||
|
||||
public boolean canBeDispeled()
|
||||
{
|
||||
return _canBeDispeled;
|
||||
|
Reference in New Issue
Block a user