Fixed blow rate chances.

This commit is contained in:
MobiusDev
2017-12-09 18:47:45 +00:00
parent 247a5bc9f5
commit 683ae0ef52
137 changed files with 808 additions and 637 deletions

View File

@@ -33,14 +33,14 @@ import com.l2jmobius.gameserver.model.stats.Formulas;
public final class Backstab extends AbstractEffect
{
private final double _power;
private final double _chance;
private final double _chanceBoost;
private final double _criticalChance;
private final boolean _overHit;
public Backstab(StatsSet params)
{
_power = params.getDouble("power", 0);
_chance = params.getDouble("chance", 0);
_power = params.getDouble("power");
_chanceBoost = params.getDouble("chanceBoost");
_criticalChance = params.getDouble("criticalChance", 0);
_overHit = params.getBoolean("overHit", false);
}
@@ -48,7 +48,7 @@ public final class Backstab extends AbstractEffect
@Override
public boolean calcSuccess(L2Character effector, L2Character effected, Skill skill)
{
return !effector.isInFrontOf(effected) && !Formulas.calcPhysicalSkillEvasion(effector, effected, skill) && Formulas.calcBlowSuccess(effector, effected, skill, _chance);
return !effector.isInFrontOf(effected) && !Formulas.calcPhysicalSkillEvasion(effector, effected, skill) && Formulas.calcBlowSuccess(effector, effected, skill, _chanceBoost);
}
@Override

View File

@@ -22,7 +22,6 @@ import java.util.Set;
import com.l2jmobius.gameserver.enums.ShotType;
import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Attackable;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
import com.l2jmobius.gameserver.model.effects.L2EffectType;
@@ -38,27 +37,24 @@ import com.l2jmobius.gameserver.model.stats.Formulas;
public final class FatalBlow extends AbstractEffect
{
private final double _power;
private final double _chance;
private final double _chanceBoost;
private final double _criticalChance;
private final boolean _overHit;
private final Set<AbnormalType> _abnormals;
private final double _abnormalPower;
public FatalBlow(StatsSet params)
{
_power = params.getDouble("power", 0);
_chance = params.getDouble("chance", 0);
_power = params.getDouble("power");
_chanceBoost = params.getDouble("chanceBoost");
_criticalChance = params.getDouble("criticalChance", 0);
_overHit = params.getBoolean("overHit", false);
final String abnormals = params.getString("abnormalType", null);
String abnormals = params.getString("abnormalType", null);
if ((abnormals != null) && !abnormals.isEmpty())
{
_abnormals = new HashSet<>();
for (String slot : abnormals.split(";"))
{
_abnormals.add(AbnormalType.getAbnormalType(slot));
_abnormals.add(Enum.valueOf(AbnormalType.class, slot));
}
}
else
@@ -71,7 +67,7 @@ public final class FatalBlow extends AbstractEffect
@Override
public boolean calcSuccess(L2Character effector, L2Character effected, Skill skill)
{
return !Formulas.calcPhysicalSkillEvasion(effector, effected, skill) && Formulas.calcBlowSuccess(effector, effected, skill, _chance);
return !Formulas.calcPhysicalSkillEvasion(effector, effected, skill) && Formulas.calcBlowSuccess(effector, effected, skill, _chanceBoost);
}
@Override
@@ -94,11 +90,6 @@ public final class FatalBlow extends AbstractEffect
return;
}
if (_overHit && effected.isAttackable())
{
((L2Attackable) effected).overhitEnabled(true);
}
double power = _power;
// Check if we apply an abnormal modifier

View File

@@ -33,13 +33,13 @@ import com.l2jmobius.gameserver.model.stats.Formulas;
public final class SoulBlow extends AbstractEffect
{
private final double _power;
private final double _chance;
private final double _chanceBoost;
private final boolean _overHit;
public SoulBlow(StatsSet params)
{
_power = params.getDouble("power", 0);
_chance = params.getDouble("chance", 0);
_power = params.getDouble("power");
_chanceBoost = params.getDouble("chanceBoost");
_overHit = params.getBoolean("overHit", false);
}
@@ -52,7 +52,7 @@ public final class SoulBlow extends AbstractEffect
@Override
public boolean calcSuccess(L2Character effector, L2Character effected, Skill skill)
{
return !Formulas.calcPhysicalSkillEvasion(effector, effected, skill) && Formulas.calcBlowSuccess(effector, effected, skill, _chance);
return !Formulas.calcPhysicalSkillEvasion(effector, effected, skill) && Formulas.calcBlowSuccess(effector, effected, skill, _chanceBoost);
}
@Override