Addition of PhysicalSkillCriticalRate effect.

Contributed by nasseka.
This commit is contained in:
MobiusDevelopment
2022-02-13 10:11:44 +00:00
parent 711dca327a
commit a1fd559b39
433 changed files with 1580 additions and 1183 deletions

View File

@@ -251,6 +251,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PhysicalEvasion", PhysicalEvasion::new);
EffectHandler.getInstance().registerHandler("PhysicalMute", PhysicalMute::new);
EffectHandler.getInstance().registerHandler("PhysicalShieldAngleAll", PhysicalShieldAngleAll::new);
EffectHandler.getInstance().registerHandler("PhysicalSkillCriticalRate", PhysicalSkillCriticalRate::new);
EffectHandler.getInstance().registerHandler("PhysicalSkillPower", PhysicalSkillPower::new);
EffectHandler.getInstance().registerHandler("PhysicalSoulAttack", PhysicalSoulAttack::new);
EffectHandler.getInstance().registerHandler("PkCount", PkCount::new);

View File

@@ -47,7 +47,7 @@ public class EnergyAttack extends AbstractEffect
public EnergyAttack(StatSet params)
{
_power = params.getDouble("power", 0);
_criticalChance = params.getInt("criticalChance", 0);
_criticalChance = params.getInt("criticalChance", 10);
_ignoreShieldDefence = params.getBoolean("ignoreShieldDefence", false);
_overHit = params.getBoolean("overHit", false);
_chargeConsume = params.getInt("chargeConsume", 0);

View File

@@ -57,7 +57,7 @@ public class PhysicalAttack extends AbstractEffect
_power = params.getDouble("power", 0);
_pAtkMod = params.getDouble("pAtkMod", 1.0);
_pDefMod = params.getDouble("pDefMod", 1.0);
_criticalChance = params.getDouble("criticalChance", 0);
_criticalChance = params.getDouble("criticalChance", 10);
_ignoreShieldDefence = params.getBoolean("ignoreShieldDefence", false);
_overHit = params.getBoolean("overHit", false);
final String abnormals = params.getString("abnormalType", null);
@@ -134,7 +134,7 @@ public class PhysicalAttack extends AbstractEffect
}
double damage = 1;
final boolean critical = Formulas.calcCrit(_criticalChance, effected, effector, skill);
final boolean critical = Formulas.calcCrit(_criticalChance, effector, effected, skill);
if (defence != -1)
{

View File

@@ -50,7 +50,7 @@ public class PhysicalAttackWeaponBonus extends AbstractEffect
public PhysicalAttackWeaponBonus(StatSet params)
{
_power = params.getDouble("power", 0);
_criticalChance = params.getDouble("criticalChance", 0);
_criticalChance = params.getDouble("criticalChance", 10);
_ignoreShieldDefence = params.getBoolean("ignoreShieldDefence", false);
_overHit = params.getBoolean("overHit", false);
_pDefMod = params.getDouble("pDefMod", 1.0);

View File

@@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author NasSeKa
*/
public class PhysicalSkillCriticalRate extends AbstractStatPercentEffect
{
public PhysicalSkillCriticalRate(StatSet params)
{
super(params, Stat.CRITICAL_RATE_SKILL);
}
}

View File

@@ -25,7 +25,7 @@
<amount>100</amount>
<mode>DIFF</mode>
</effect>
<effect name="SkillMasteryRate">
<effect name="PhysicalSkillCriticalRate">
<amount>30</amount>
<mode>PER</mode>
</effect>
@@ -75,7 +75,7 @@
<amount>500</amount>
<mode>DIFF</mode>
</effect>
<effect name="SkillMasteryRate">
<effect name="PhysicalSkillCriticalRate">
<amount>50</amount>
<mode>PER</mode>
</effect>

View File

@@ -645,7 +645,6 @@
<value fromLevel="7" toLevel="11" fromSubLevel="1001" toSubLevel="1030">{base + (base / 100 * subIndex)}</value>
</power>
<overHit>true</overHit>
<criticalChance>5</criticalChance>
</effect>
<effect name="Speed">
<amount>-70</amount>
@@ -749,7 +748,6 @@
<value fromLevel="7" toLevel="11" fromSubLevel="1001" toSubLevel="1030">{base + (base / 100 * subIndex)}</value>
</power>
<overHit>true</overHit>
<criticalChance>5</criticalChance>
</effect>
<effect name="BlockSkill">
<magicTypes>1</magicTypes>
@@ -844,7 +842,6 @@
<value level="8">20253</value>
<value fromLevel="4" toLevel="8" fromSubLevel="1001" toSubLevel="1030">{base + (base / 100 * subIndex)}</value>
</power>
<criticalChance>5</criticalChance>
</effect>
<effect name="BlockActions">
<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912</allowedSkills>
@@ -940,7 +937,6 @@
<value level="10">16349</value>
<value fromLevel="6" toLevel="10" fromSubLevel="1001" toSubLevel="1030">{base + (base / 100 * subIndex)}</value>
</power>
<criticalChance>5</criticalChance>
</effect>
<effect name="BlockActions">
<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912</allowedSkills>
@@ -1039,7 +1035,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="11">5</value>
<value fromLevel="1" toLevel="11">10</value>
<value fromLevel="7" toLevel="11" fromSubLevel="2001" toSubLevel="2030">{base + (base / 100 * subIndex)}</value>
</criticalChance>
<pDefMod>
@@ -1129,7 +1125,6 @@
<value level="11">25756</value>
<value fromLevel="7" toLevel="11" fromSubLevel="1001" toSubLevel="1030">{base + (base / 100 * subIndex)}</value>
</power>
<criticalChance>5</criticalChance>
</effect>
<effect name="HealEffect">
<amount>-90</amount>
@@ -5157,7 +5152,7 @@
<value level="6">21799</value>
</power>
<criticalChance>
<value fromLevel="1" toLevel="6">15</value>
<value fromLevel="1" toLevel="6">10</value>
</criticalChance>
<overHit>true</overHit>
</effect>

View File

@@ -718,7 +718,6 @@
<value level="11">22603</value>
<value fromLevel="7" toLevel="11" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</power>
<criticalChance>5</criticalChance>
<overHit>true</overHit>
</effect>
<effect name="PhysicalDefence">
@@ -820,7 +819,7 @@
<ignoreShieldDefence>true</ignoreShieldDefence>
<chargeConsume>3</chargeConsume>
<criticalChance>
<value fromLevel="1" toLevel="11">3</value>
<value fromLevel="1" toLevel="11">10</value>
<value fromLevel="7" toLevel="11" fromSubLevel="2001" toSubLevel="2030">{base + base / 100 * subIndex}</value>
</criticalChance>
<pDefMod>
@@ -915,7 +914,6 @@
</power>
<ignoreShieldDefence>true</ignoreShieldDefence>
<chargeConsume>3</chargeConsume>
<criticalChance>3</criticalChance>
<overHit>true</overHit>
</effect>
<effect name="KnockBack">
@@ -1133,7 +1131,6 @@
<value fromLevel="7" toLevel="11" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</power>
<overHit>true</overHit>
<criticalChance>5</criticalChance>
<BLUNT>0.9</BLUNT>
<SWORD>0.9</SWORD>
<POLE>1.5</POLE>
@@ -1471,7 +1468,6 @@
<value level="10">17055</value>
</power>
<overHit>true</overHit>
<criticalChance>3</criticalChance>
<chargeConsume>3</chargeConsume>
</effect>
<effect name="Speed">
@@ -1834,7 +1830,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="4">5</value>
<value fromLevel="1" toLevel="4">10</value>
<value fromLevel="1" toLevel="4" fromSubLevel="2001" toSubLevel="2030">{base + base / 100 * subIndex}</value>
</criticalChance>
<pDefMod>
@@ -2205,7 +2201,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="5">5</value>
<value fromLevel="1" toLevel="5">10</value>
<value fromLevel="1" toLevel="5" fromSubLevel="2001" toSubLevel="2030">{base + base / 100 * subIndex}</value>
</criticalChance>
</effect>
@@ -2561,7 +2557,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="11">5</value>
<value fromLevel="1" toLevel="11">10</value>
<value fromLevel="7" toLevel="11" fromSubLevel="2001" toSubLevel="2030">{base + base / 100 * subIndex}</value>
</criticalChance>
<pDefMod>

View File

@@ -785,7 +785,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="7">15</value>
<value fromLevel="1" toLevel="7">10</value>
</criticalChance>
<chargeConsume>3</chargeConsume>
</effect>
@@ -938,7 +938,6 @@
<value level="7">39060</value>
</power>
<ignoreShieldDefence>true</ignoreShieldDefence>
<criticalChance>15</criticalChance>
<overHit>true</overHit>
</effect>
<effect name="BlockActions">
@@ -1182,7 +1181,6 @@
<value level="7">29911</value>
</power>
<overHit>true</overHit>
<criticalChance>5</criticalChance>
</effect>
</effects>
</skill>
@@ -1324,7 +1322,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="7">15</value>
<value fromLevel="1" toLevel="7">10</value>
</criticalChance>
<pDefMod>0.7</pDefMod>
</effect>
@@ -1371,7 +1369,7 @@
<item>DUAL</item>
</weaponType>
</effect>
<effect name="CriticalRate">
<effect name="PhysicalSkillCriticalRate">
<amount>20</amount>
<mode>PER</mode>
</effect>

View File

@@ -400,7 +400,7 @@
<amount>100</amount>
<mode>PER</mode>
</effect>
<effect name="SkillMasteryRate">
<effect name="PhysicalSkillCriticalRate">
<amount>10</amount>
<mode>PER</mode>
</effect>

View File

@@ -76,7 +76,7 @@
<amount>30</amount>
<mode>PER</mode>
</effect>
<effect name="SkillMasteryRate">
<effect name="PhysicalSkillCriticalRate">
<amount>
<value level="1">10</value>
<value level="2">11</value>
@@ -1077,7 +1077,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="11">5</value>
<value fromLevel="1" toLevel="11">10</value>
<value fromLevel="7" toLevel="11" fromSubLevel="2001" toSubLevel="2030">{base + base / 100 * subIndex}</value>
</criticalChance>
<pDefMod>
@@ -1177,7 +1177,6 @@
<value fromLevel="7" toLevel="11" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</power>
<overHit>true</overHit>
<criticalChance>5</criticalChance>
</effect>
<effect name="KnockBack">
<speed>500</speed>
@@ -1271,7 +1270,7 @@
<value fromLevel="7" toLevel="11" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</power>
<criticalChance>
<value fromLevel="1" toLevel="11">5</value>
<value fromLevel="1" toLevel="11">10</value>
<value fromLevel="7" toLevel="11" fromSubLevel="2001" toSubLevel="2030">{base + base / 100 * subIndex}</value>
</criticalChance>
<pDefMod>
@@ -1587,7 +1586,7 @@
<value fromLevel="4" toLevel="9" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</power>
<criticalChance>
<value fromLevel="1" toLevel="9">5</value>
<value fromLevel="1" toLevel="9">10</value>
<value fromLevel="4" toLevel="9" fromSubLevel="3001" toSubLevel="3030">{base + base / 100 * subIndex}</value>
</criticalChance>
<overHit>true</overHit>
@@ -1688,7 +1687,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="11">5</value>
<value fromLevel="1" toLevel="11">10</value>
<value fromLevel="7" toLevel="11" fromSubLevel="3001" toSubLevel="3030">{base + base / 100 * subIndex}</value>
</criticalChance>
</effect>
@@ -1784,7 +1783,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="11">5</value>
<value fromLevel="1" toLevel="11">10</value>
<value fromLevel="7" toLevel="11" fromSubLevel="2001" toSubLevel="2030">{base + base / 100 * subIndex}</value>
</criticalChance>
<pDefMod>
@@ -1876,7 +1875,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="11">5</value>
<value fromLevel="1" toLevel="11">10</value>
<value fromLevel="7" toLevel="11" fromSubLevel="2001" toSubLevel="2030">{base + base / 100 * subIndex}</value>
</criticalChance>
<pDefMod>
@@ -2325,7 +2324,7 @@
<value fromLevel="5" toLevel="9" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</power>
<criticalChance>
<value fromLevel="1" toLevel="11">5</value>
<value fromLevel="1" toLevel="11">10</value>
<value fromLevel="7" toLevel="11" fromSubLevel="3001" toSubLevel="3030">{base + base / 100 * subIndex}</value>
</criticalChance>
</effect>
@@ -2379,7 +2378,7 @@
<value fromLevel="1" toLevel="4" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</power>
<criticalChance>
<value fromLevel="1" toLevel="4">5</value>
<value fromLevel="1" toLevel="4">10</value>
</criticalChance>
</effect>
</effects>

View File

@@ -557,7 +557,6 @@
<value fromLevel="7" toLevel="11" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</power>
<overHit>true</overHit>
<criticalChance>5</criticalChance>
<pDefMod>
<value fromLevel="1" toLevel="11">1</value>
<value fromLevel="7" toLevel="11" fromSubLevel="3001" toSubLevel="3030">{0.99 - 0.006 * (subIndex - 1)}</value>
@@ -665,7 +664,6 @@
<value fromLevel="7" toLevel="11" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</power>
<overHit>true</overHit>
<criticalChance>5</criticalChance>
<pDefMod>
<value fromLevel="1" toLevel="11">1</value>
<value fromLevel="7" toLevel="11" fromSubLevel="3001" toSubLevel="3030">{0.99 - 0.006 * (subIndex - 1)}</value>
@@ -2982,7 +2980,7 @@
</power>
<overHit>true</overHit>
<criticalChance>
<value fromLevel="1" toLevel="4">5</value>
<value fromLevel="1" toLevel="4">10</value>
<value fromLevel="1" toLevel="4" fromSubLevel="3001" toSubLevel="3030">{base + base / 100 * subIndex}</value>
</criticalChance>
</effect>

View File

@@ -540,7 +540,7 @@
<icon>icon.skill0193</icon>
<operateType>P</operateType>
<effects>
<effect name="SkillMasteryRate">
<effect name="PhysicalSkillCriticalRate">
<amount>
<value level="1">5</value>
<value level="2">10</value>

View File

@@ -1104,7 +1104,7 @@
</amount>
<mode>PER</mode>
</effect>
<effect name="SkillMasteryRate">
<effect name="PhysicalSkillCriticalRate">
<amount>
<value level="1">15</value>
<value level="2">16</value>

View File

@@ -115,7 +115,6 @@
<value level="27">49514</value>
<value level="28">51032</value>
</power>
<criticalChance>15</criticalChance> <!-- Unconfirmed -->
<abnormalType>STUN</abnormalType>
<damageModifier>1.2</damageModifier>
<overHit>true</overHit>
@@ -246,7 +245,6 @@
</power>
<pDefMod>0.7</pDefMod>
<overHit>true</overHit>
<criticalChance>15</criticalChance>
</effect>
<effect name="BlockActions">
<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912</allowedSkills>
@@ -403,7 +401,6 @@
<value level="11">94517</value>
</power>
<ignoreShieldDefence>true</ignoreShieldDefence>
<criticalChance>15</criticalChance> <!-- Unconfirmed -->
<overHit>true</overHit>
</effect>
</effects>
@@ -485,7 +482,6 @@
<value level="16">94517</value>
</power>
<pDefMod>0.5</pDefMod>
<criticalChance>15</criticalChance>
<overHit>true</overHit>
</effect>
</effects>
@@ -554,7 +550,6 @@
<value level="9">41083</value>
<value level="10">42343</value>
</power>
<criticalChance>15</criticalChance>
</effect>
<effect name="PullBack">
<type>THROW_UP</type>
@@ -646,7 +641,6 @@
<value level="13">51343</value>
<value level="14">52917</value>
</power>
<criticalChance>15</criticalChance> <!-- Unconfirmed -->
</effect>
<effect name="KnockBack">
<speed>400</speed>
@@ -1568,7 +1562,7 @@
</amount>
<mode>DIFF</mode>
</effect>
<effect name="SkillMasteryRate">
<effect name="PhysicalSkillCriticalRate">
<amount>
<value level="1">10</value>
<value level="2">20</value>

View File

@@ -52,7 +52,7 @@
<effectPoint>2</effectPoint>
<isMagic>3</isMagic>
<effects>
<effect name="SkillMasteryRate">
<effect name="PhysicalSkillCriticalRate">
<amount>1</amount>
<mode>PER</mode>
</effect>

View File

@@ -221,6 +221,7 @@ PhysicalDefence: P. Def stat.
PhysicalEvasion: P. Evasion stat.
PhysicalMute: Prevents the usage of physical skills. Shield Slam.
PhysicalShieldAngleAll: Causes the shield to block at 360 degree angle.
PhysicalSkillCriticalRate: Physical skill critical rate stat. (l2jmobius)
PhysicalSkillPower: Physical Skill Power stat (use only MUL).
PhysicalSoulAttack: Physical attack depending on souls.
PkCount: Increases PK kills.
@@ -287,7 +288,7 @@ SilentMove: Prevents aggressive mobs from attacking you when entering aggression
SkillCriticalDamage: Skill critical damage stat.
SkillEvasion: Skill evasion stat.
SkillMastery: Activates double debuff or cooldown reset critical based on the specified stat.
SkillMasteryRate: Skill critical rate stat.
SkillMasteryRate: Bonus chance for skill mastery stat.
SkillPowerAdd: Adds set ammount of power to skills (use only DIFF). (l2jmobius)
SkillTurning: Stops target's casting.
SkillTurningOverTime: Stops target's casting at a fixed rate.