Fixed blow rate chances.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1840,7 +1840,7 @@
|
||||
<value level="24">977</value>
|
||||
</power>
|
||||
<overHit>true</overHit>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -3423,7 +3423,7 @@
|
||||
<value level="39">15</value>
|
||||
<value level="40">15</value>
|
||||
</criticalChance>
|
||||
<chance>40</chance>
|
||||
<chanceBoost>400</chanceBoost>
|
||||
<overHit>true</overHit>
|
||||
</effect>
|
||||
<effect name="Lethal">
|
||||
|
||||
@@ -4657,9 +4657,10 @@
|
||||
<value level="40">6215</value>
|
||||
</power>
|
||||
<overHit>true</overHit>
|
||||
<chance>30</chance>
|
||||
<chanceBoost>300</chanceBoost>
|
||||
</effect>
|
||||
<effect name="Lethal">
|
||||
<fullLethal>0</fullLethal>
|
||||
<halfLethal>10</halfLethal>
|
||||
</effect>
|
||||
</effects>
|
||||
|
||||
@@ -1099,12 +1099,13 @@
|
||||
<value level="10">3653</value>
|
||||
</power>
|
||||
<overHit>true</overHit>
|
||||
<chance>25</chance>
|
||||
<chanceBoost>250</chanceBoost>
|
||||
</effect>
|
||||
<effect name="Bluff">
|
||||
<chance>80</chance>
|
||||
</effect>
|
||||
<effect name="Lethal">
|
||||
<fullLethal>0</fullLethal>
|
||||
<halfLethal>5</halfLethal>
|
||||
</effect>
|
||||
</effects>
|
||||
@@ -1661,10 +1662,11 @@
|
||||
<effect name="FatalBlow">
|
||||
<power>5773</power>
|
||||
<criticalChance>20</criticalChance>
|
||||
<chance>30</chance>
|
||||
<chanceBoost>300</chanceBoost>
|
||||
<overHit>true</overHit>
|
||||
</effect>
|
||||
<effect name="Lethal">
|
||||
<fullLethal>0</fullLethal>
|
||||
<halfLethal>15</halfLethal>
|
||||
</effect>
|
||||
</effects>
|
||||
|
||||
@@ -1466,9 +1466,10 @@
|
||||
<value level="10">3653</value>
|
||||
</power>
|
||||
<overHit>true</overHit>
|
||||
<chance>25</chance>
|
||||
<chanceBoost>250</chanceBoost>
|
||||
</effect>
|
||||
<effect name="Lethal">
|
||||
<fullLethal>0</fullLethal>
|
||||
<halfLethal>5</halfLethal>
|
||||
</effect>
|
||||
</effects>
|
||||
|
||||
@@ -525,7 +525,7 @@
|
||||
<value level="28">5479</value>
|
||||
</power>
|
||||
<overHit>true</overHit>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -3007,9 +3007,10 @@
|
||||
<value level="4">5199</value>
|
||||
</power>
|
||||
<overHit>true</overHit>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
<effect name="Lethal">
|
||||
<fullLethal>0</fullLethal>
|
||||
<halfLethal>10</halfLethal>
|
||||
</effect>
|
||||
</effects>
|
||||
|
||||
@@ -1765,9 +1765,10 @@
|
||||
<effect name="FatalBlow">
|
||||
<power>6969</power>
|
||||
<overHit>true</overHit>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
<effect name="Lethal">
|
||||
<fullLethal>0</fullLethal>
|
||||
<halfLethal>10</halfLethal>
|
||||
</effect>
|
||||
</effects>
|
||||
|
||||
@@ -1600,7 +1600,7 @@
|
||||
<effect name="FatalBlow">
|
||||
<power>11234</power>
|
||||
<criticalChance>30</criticalChance>
|
||||
<chance>60</chance>
|
||||
<chanceBoost>600</chanceBoost>
|
||||
<overHit>true</overHit>
|
||||
</effect>
|
||||
<effect name="Lethal">
|
||||
|
||||
@@ -3556,7 +3556,7 @@
|
||||
<effect name="FatalBlow">
|
||||
<power>11234</power>
|
||||
<criticalChance>30</criticalChance>
|
||||
<chance>60</chance>
|
||||
<chanceBoost>600</chanceBoost>
|
||||
<overHit>true</overHit>
|
||||
</effect>
|
||||
<effect name="Lethal">
|
||||
|
||||
@@ -2419,7 +2419,7 @@
|
||||
<value level="11">7461</value>
|
||||
<value level="12">7850</value>
|
||||
</power>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
||||
@@ -3379,7 +3379,7 @@
|
||||
<value level="11">44350</value>
|
||||
<value level="12">49193</value>
|
||||
</power>
|
||||
<chance>115</chance>
|
||||
<chanceBoost>1150</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -4008,7 +4008,7 @@
|
||||
<value level="11">73917</value>
|
||||
<value level="12">81989</value>
|
||||
</power>
|
||||
<chance>67</chance>
|
||||
<chanceBoost>670</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
||||
@@ -2546,7 +2546,7 @@
|
||||
<value level="11">7461</value>
|
||||
<value level="12">7850</value>
|
||||
</power>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
<effect name="DamOverTime">
|
||||
<power>
|
||||
|
||||
@@ -892,8 +892,6 @@
|
||||
</skill>
|
||||
<skill id="4708" toLevel="17" name="Cursed Strike">
|
||||
<!-- Confirmed CT2.5 and Updated to Ertheia -->
|
||||
<!-- Guessed -->
|
||||
<!-- Guessed -->
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>9</abnormalTime>
|
||||
<abnormalType>STUN</abnormalType>
|
||||
@@ -997,8 +995,6 @@
|
||||
</skill>
|
||||
<skill id="4709" toLevel="17" name="Cursed Blow">
|
||||
<!-- Confirmed CT2.5 and Updated to Ertheia -->
|
||||
<!-- Guessed -->
|
||||
<!-- Guessed -->
|
||||
<castRange>40</castRange>
|
||||
<effectPoint>
|
||||
<value level="1">-279</value>
|
||||
@@ -1087,7 +1083,7 @@
|
||||
<value level="17">9830</value>
|
||||
</power>
|
||||
<criticalChance>10</criticalChance>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -2309,7 +2305,7 @@
|
||||
<value level="11">44350</value>
|
||||
<value level="12">49193</value>
|
||||
</power>
|
||||
<chance>115</chance>
|
||||
<chanceBoost>1150</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -2369,7 +2365,7 @@
|
||||
<value level="11">38806</value>
|
||||
<value level="12">43290</value>
|
||||
</power>
|
||||
<chance>115</chance>
|
||||
<chanceBoost>1150</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -2429,7 +2425,7 @@
|
||||
<value level="11">20667</value>
|
||||
<value level="12">23023</value>
|
||||
</power>
|
||||
<chance>115</chance>
|
||||
<chanceBoost>1150</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -2489,7 +2485,7 @@
|
||||
<value level="11">19381</value>
|
||||
<value level="12">21645</value>
|
||||
</power>
|
||||
<chance>115</chance>
|
||||
<chanceBoost>1150</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -2549,7 +2545,7 @@
|
||||
<value level="11">18140</value>
|
||||
<value level="12">20268</value>
|
||||
</power>
|
||||
<chance>115</chance>
|
||||
<chanceBoost>1150</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -3604,7 +3600,7 @@
|
||||
<value level="11">73917</value>
|
||||
<value level="12">81989</value>
|
||||
</power>
|
||||
<chance>67</chance>
|
||||
<chanceBoost>670</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -3664,7 +3660,7 @@
|
||||
<value level="11">64677</value>
|
||||
<value level="12">72150</value>
|
||||
</power>
|
||||
<chance>67</chance>
|
||||
<chanceBoost>670</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -3724,7 +3720,7 @@
|
||||
<value level="11">34445</value>
|
||||
<value level="12">38371</value>
|
||||
</power>
|
||||
<chance>67</chance>
|
||||
<chanceBoost>670</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -3784,7 +3780,7 @@
|
||||
<value level="11">32302</value>
|
||||
<value level="12">36075</value>
|
||||
</power>
|
||||
<chance>67</chance>
|
||||
<chanceBoost>670</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
@@ -3844,7 +3840,7 @@
|
||||
<value level="11">30232</value>
|
||||
<value level="12">33780</value>
|
||||
</power>
|
||||
<chance>67</chance>
|
||||
<chanceBoost>670</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
||||
@@ -2658,7 +2658,7 @@
|
||||
<value level="3">7306</value>
|
||||
<value level="4">8602</value>
|
||||
</power>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
<effect name="PhysicalMute" />
|
||||
</effects>
|
||||
@@ -2757,15 +2757,13 @@
|
||||
<effects>
|
||||
<effect name="FatalBlow">
|
||||
<power>6335</power>
|
||||
<chance>15</chance>
|
||||
<chanceBoost>150</chanceBoost>
|
||||
</effect>
|
||||
<effect name="Speed">
|
||||
<amount>40</amount>
|
||||
<mode>DIFF</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
<selfEffects>
|
||||
</selfEffects>
|
||||
</skill>
|
||||
<skill id="5085" toLevel="1" name="Anesthesia">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
|
||||
@@ -1309,7 +1309,7 @@
|
||||
<effects>
|
||||
<effect name="FatalBlow">
|
||||
<power>39544</power>
|
||||
<chance>115</chance>
|
||||
<chanceBoost>1150</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
||||
@@ -1783,7 +1783,7 @@
|
||||
<value level="12">6844</value>
|
||||
<value level="13">6960</value>
|
||||
</power>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<effect name="FatalBlow">
|
||||
<power>3420</power>
|
||||
<overHit>true</overHit>
|
||||
<chance>20</chance>
|
||||
<chanceBoost>200</chanceBoost>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
|
||||
@@ -664,6 +664,7 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="chanceBoost" type="xs:unsignedShort" />
|
||||
<xs:element name="dispel">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
@@ -984,6 +985,21 @@
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="side" type="xs:string" />
|
||||
<xs:element name="fullLethal">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PARALYZE">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
@@ -1279,21 +1295,6 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="fullLethal">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="maxSouls">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@@ -1529,6 +1530,7 @@
|
||||
<xs:element name="hp" type="xs:unsignedByte" />
|
||||
<xs:element name="mp" type="xs:unsignedByte" />
|
||||
<xs:element name="cp" type="xs:unsignedByte" />
|
||||
<xs:element name="pAtkMod" type="xs:unsignedByte" />
|
||||
<xs:element name="reputation" type="xs:unsignedByte" />
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
|
||||
Reference in New Issue
Block a user