Focus Death/Power formula.
Contributed by Sahar.
This commit is contained in:
parent
151726925f
commit
da9d1a3744
@ -1879,10 +1879,10 @@
|
||||
<effect name="Buff">
|
||||
<mul stat="rCrit" val="0.7" /> <!-- Decreases critical attack rate by 30% -->
|
||||
<mul stat="blowRate" val="1.6" /> <!-- Increases blow land rate by 60% -->
|
||||
<mul stat="cAtk" val="0.7"> <!-- Decreases frontal critical damage by 30% -->
|
||||
<mul stat="cAtkPos" val="0.7"> <!-- Decreases frontal critical damage by 30% -->
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.9"> <!-- Increases rear critical damage by 90% -->
|
||||
<mul stat="cAtkPos" val="1.9"> <!-- Increases rear critical damage by 90% -->
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
@ -1891,10 +1891,10 @@
|
||||
<effect name="Buff">
|
||||
<mul stat="rCrit" val="0.7" />
|
||||
<mul stat="blowRate" val="#ench1blowRate" />
|
||||
<mul stat="cAtk" val="0.7">
|
||||
<mul stat="cAtkPos" val="0.7">
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.9">
|
||||
<mul stat="cAtkPos" val="1.9">
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
@ -1903,10 +1903,10 @@
|
||||
<effect name="Buff">
|
||||
<mul stat="rCrit" val="0.7" />
|
||||
<mul stat="blowRate" val="1.6" />
|
||||
<mul stat="cAtk" val="0.7">
|
||||
<mul stat="cAtkPos" val="0.7">
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="#ench2cAtk">
|
||||
<mul stat="cAtkPos" val="#ench2cAtk">
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
@ -2005,48 +2005,48 @@
|
||||
</cond>
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="cAtk" val="0.7"> <!-- Decreases frontal critical attack damage by 30% -->
|
||||
<mul stat="cAtkPos" val="0.7"> <!-- Decreases frontal critical attack damage by 30% -->
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.3"> <!-- Increases side critical attack damage by 30% -->
|
||||
<mul stat="cAtkPos" val="1.3"> <!-- Increases side critical attack damage by 30% -->
|
||||
<and>
|
||||
<player front="false" />
|
||||
<player behind="false" />
|
||||
</and>
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.6"> <!-- Increases rear critical attack damage by 60% -->
|
||||
<mul stat="cAtkPos" val="1.6"> <!-- Increases rear critical attack damage by 60% -->
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
<effect name="Buff">
|
||||
<mul stat="cAtk" val="0.7"> <!-- Critical Damage from front -30% -->
|
||||
<mul stat="cAtkPos" val="0.7"> <!-- Critical Damage from front -30% -->
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.3"> <!-- Critical Damage from side +30% -->
|
||||
<mul stat="cAtkPos" val="1.3"> <!-- Critical Damage from side +30% -->
|
||||
<and>
|
||||
<player front="false" />
|
||||
<player behind="false" />
|
||||
</and>
|
||||
</mul>
|
||||
<mul stat="cAtk" val="#ench1cAtk"> <!-- Critical Damage from back + enchant % -->
|
||||
<mul stat="cAtkPos" val="#ench1cAtk"> <!-- Critical Damage from back + enchant % -->
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
</enchant1for>
|
||||
<enchant2for>
|
||||
<effect name="Buff">
|
||||
<mul stat="cAtk" val="0.7"> <!-- Critical Damage from front -30% -->
|
||||
<mul stat="cAtkPos" val="0.7"> <!-- Critical Damage from front -30% -->
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="#ench2cAtk"> <!-- Critical Damage from side + enchant % -->
|
||||
<mul stat="cAtkPos" val="#ench2cAtk"> <!-- Critical Damage from side + enchant % -->
|
||||
<and>
|
||||
<player front="false" />
|
||||
<player behind="false" />
|
||||
</and>
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.6"> <!-- Critical Damage from back +60% -->
|
||||
<mul stat="cAtkPos" val="1.6"> <!-- Critical Damage from back +60% -->
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
|
1
trunk/dist/game/data/xsd/skills.xsd
vendored
1
trunk/dist/game/data/xsd/skills.xsd
vendored
@ -292,6 +292,7 @@
|
||||
<xs:enumeration value="mEvas" />
|
||||
<xs:enumeration value="accMagic" />
|
||||
<xs:enumeration value="cAtk" />
|
||||
<xs:enumeration value="cAtkPos" />
|
||||
<xs:enumeration value="runSpd" />
|
||||
<xs:enumeration value="reflectDam" />
|
||||
<xs:enumeration value="defCritRate" />
|
||||
|
@ -1825,10 +1825,10 @@
|
||||
<effect name="Buff">
|
||||
<mul stat="rCrit" val="0.7" /> <!-- Decreases critical attack rate by 30% -->
|
||||
<mul stat="blowRate" val="1.6" /> <!-- Increases blow land rate by 60% -->
|
||||
<mul stat="cAtk" val="0.7"> <!-- Decreases frontal critical damage by 30% -->
|
||||
<mul stat="cAtkPos" val="0.7"> <!-- Decreases frontal critical damage by 30% -->
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.9"> <!-- Increases rear critical damage by 90% -->
|
||||
<mul stat="cAtkPos" val="1.9"> <!-- Increases rear critical damage by 90% -->
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
@ -1837,10 +1837,10 @@
|
||||
<effect name="Buff">
|
||||
<mul stat="rCrit" val="0.7" />
|
||||
<mul stat="blowRate" val="#ench1blowRate" />
|
||||
<mul stat="cAtk" val="0.7">
|
||||
<mul stat="cAtkPos" val="0.7">
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.9">
|
||||
<mul stat="cAtkPos" val="1.9">
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
@ -1849,10 +1849,10 @@
|
||||
<effect name="Buff">
|
||||
<mul stat="rCrit" val="0.7" />
|
||||
<mul stat="blowRate" val="1.6" />
|
||||
<mul stat="cAtk" val="0.7">
|
||||
<mul stat="cAtkPos" val="0.7">
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="#ench2cAtk">
|
||||
<mul stat="cAtkPos" val="#ench2cAtk">
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
@ -1951,48 +1951,48 @@
|
||||
</cond>
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="cAtk" val="0.7"> <!-- Decreases frontal critical attack damage by 30% -->
|
||||
<mul stat="cAtkPos" val="0.7"> <!-- Decreases frontal critical attack damage by 30% -->
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.3"> <!-- Increases side critical attack damage by 30% -->
|
||||
<mul stat="cAtkPos" val="1.3"> <!-- Increases side critical attack damage by 30% -->
|
||||
<and>
|
||||
<player front="false" />
|
||||
<player behind="false" />
|
||||
</and>
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.6"> <!-- Increases rear critical attack damage by 60% -->
|
||||
<mul stat="cAtkPos" val="1.6"> <!-- Increases rear critical attack damage by 60% -->
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
</for>
|
||||
<enchant1for>
|
||||
<effect name="Buff">
|
||||
<mul stat="cAtk" val="0.7"> <!-- Critical Damage from front -30% -->
|
||||
<mul stat="cAtkPos" val="0.7"> <!-- Critical Damage from front -30% -->
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.3"> <!-- Critical Damage from side +30% -->
|
||||
<mul stat="cAtkPos" val="1.3"> <!-- Critical Damage from side +30% -->
|
||||
<and>
|
||||
<player front="false" />
|
||||
<player behind="false" />
|
||||
</and>
|
||||
</mul>
|
||||
<mul stat="cAtk" val="#ench1cAtk"> <!-- Critical Damage from back + enchant % -->
|
||||
<mul stat="cAtkPos" val="#ench1cAtk"> <!-- Critical Damage from back + enchant % -->
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
</enchant1for>
|
||||
<enchant2for>
|
||||
<effect name="Buff">
|
||||
<mul stat="cAtk" val="0.7"> <!-- Critical Damage from front -30% -->
|
||||
<mul stat="cAtkPos" val="0.7"> <!-- Critical Damage from front -30% -->
|
||||
<player front="true" />
|
||||
</mul>
|
||||
<mul stat="cAtk" val="#ench2cAtk"> <!-- Critical Damage from side + enchant % -->
|
||||
<mul stat="cAtkPos" val="#ench2cAtk"> <!-- Critical Damage from side + enchant % -->
|
||||
<and>
|
||||
<player front="false" />
|
||||
<player behind="false" />
|
||||
</and>
|
||||
</mul>
|
||||
<mul stat="cAtk" val="1.6"> <!-- Critical Damage from back +60% -->
|
||||
<mul stat="cAtkPos" val="1.6"> <!-- Critical Damage from back +60% -->
|
||||
<player behind="true" />
|
||||
</mul>
|
||||
</effect>
|
||||
|
1
trunk/dist/game/data_classic/xsd/skills.xsd
vendored
1
trunk/dist/game/data_classic/xsd/skills.xsd
vendored
@ -292,6 +292,7 @@
|
||||
<xs:enumeration value="mEvas" />
|
||||
<xs:enumeration value="accMagic" />
|
||||
<xs:enumeration value="cAtk" />
|
||||
<xs:enumeration value="cAtkPos" />
|
||||
<xs:enumeration value="runSpd" />
|
||||
<xs:enumeration value="reflectDam" />
|
||||
<xs:enumeration value="defCritRate" />
|
||||
|
@ -531,6 +531,7 @@ public final class Formulas
|
||||
double baseMod = ((77 * (power + (attacker.getPAtk(target) * ssboost))) / defence);
|
||||
// Critical
|
||||
double criticalMod = (attacker.calcStat(Stats.CRITICAL_DAMAGE, 1, target, skill));
|
||||
double criticalModPos = 1 + ((attacker.calcStat(Stats.CRITICAL_DAMAGE_POSITION, 1, target, skill) - 1) / 2);
|
||||
double criticalVulnMod = (target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE, 1, target, skill));
|
||||
double criticalAddMod = ((attacker.getStat().calcStat(Stats.CRITICAL_DAMAGE_ADD, 0) * 6.1 * 77) / defence);
|
||||
double criticalAddVuln = target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE_ADD, 0, target, skill);
|
||||
@ -554,7 +555,7 @@ public final class Formulas
|
||||
}
|
||||
}
|
||||
|
||||
damage = (baseMod * criticalMod * criticalVulnMod * proximityBonus * pvpBonus) + criticalAddMod + criticalAddVuln;
|
||||
damage = (baseMod * criticalMod * criticalModPos * criticalVulnMod * proximityBonus * pvpBonus) + criticalAddMod + criticalAddVuln;
|
||||
damage *= weaponTraitMod;
|
||||
damage *= generalTraitMod;
|
||||
damage *= attributeMod;
|
||||
@ -570,6 +571,7 @@ public final class Formulas
|
||||
set.set("pvpBonus", pvpBonus);
|
||||
set.set("baseMod", baseMod);
|
||||
set.set("criticalMod", criticalMod);
|
||||
set.set("criticalModPos", criticalModPos);
|
||||
set.set("criticalVulnMod", criticalVulnMod);
|
||||
set.set("criticalAddMod", criticalAddMod);
|
||||
set.set("criticalAddVuln", criticalAddVuln);
|
||||
@ -621,6 +623,7 @@ public final class Formulas
|
||||
double baseMod = ((77 * (skill.getPower(isPvP, isPvE) + attacker.getPAtk(target))) / defence) * ssboost;
|
||||
// Critical
|
||||
double criticalMod = (attacker.calcStat(Stats.CRITICAL_DAMAGE, 1, target, skill));
|
||||
double criticalModPos = 1 + ((attacker.calcStat(Stats.CRITICAL_DAMAGE_POSITION, 1, target, skill) - 1) / 2);
|
||||
double criticalVulnMod = (target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE, 1, target, skill));
|
||||
double criticalAddMod = ((attacker.calcStat(Stats.CRITICAL_DAMAGE_ADD, 0, target, skill) * 6.1 * 77) / defence);
|
||||
double criticalAddVuln = target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE_ADD, 0, target, skill);
|
||||
@ -644,7 +647,7 @@ public final class Formulas
|
||||
|
||||
}
|
||||
|
||||
damage = (baseMod * criticalMod * criticalVulnMod * proximityBonus * pvpBonus) + criticalAddMod + criticalAddVuln;
|
||||
damage = (baseMod * criticalMod * criticalModPos * criticalVulnMod * proximityBonus * pvpBonus) + criticalAddMod + criticalAddVuln;
|
||||
damage *= generalTraitMod;
|
||||
damage *= attributeMod;
|
||||
damage *= weaponMod;
|
||||
@ -659,6 +662,7 @@ public final class Formulas
|
||||
set.set("pvpBonus", pvpBonus);
|
||||
set.set("baseMod", baseMod);
|
||||
set.set("criticalMod", criticalMod);
|
||||
set.set("criticalModPos", criticalModPos);
|
||||
set.set("criticalVulnMod", criticalVulnMod);
|
||||
set.set("criticalAddMod", criticalAddMod);
|
||||
set.set("criticalAddVuln", criticalAddVuln);
|
||||
@ -755,7 +759,7 @@ public final class Formulas
|
||||
if (crit)
|
||||
{
|
||||
// Finally retail like formula
|
||||
damage = 2 * attacker.calcStat(Stats.CRITICAL_DAMAGE, 1, target, skill) * target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE, 1, target, null) * ((70 * damage) / (defence * reduceDef));
|
||||
damage = 2 * attacker.calcStat(Stats.CRITICAL_DAMAGE, 1, target, skill) * attacker.calcStat(Stats.CRITICAL_DAMAGE_POSITION, 1, target, skill) * target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE, 1, target, null) * ((70 * damage) / (defence * reduceDef));
|
||||
// Crit dmg add is almost useless in normal hits...
|
||||
damage += ((attacker.calcStat(Stats.CRITICAL_DAMAGE_ADD, 0, target, skill) * 70) / (defence * reduceDef));
|
||||
damage += target.calcStat(Stats.DEFENCE_CRITICAL_DAMAGE_ADD, 0, target, skill);
|
||||
|
@ -56,6 +56,7 @@ public enum Stats
|
||||
DANCE_REUSE("dReuse"), // Dance Skill Reuse Rate
|
||||
SHIELD_DEFENCE("sDef"),
|
||||
CRITICAL_DAMAGE("cAtk"),
|
||||
CRITICAL_DAMAGE_POSITION("cAtkPos"),
|
||||
CRITICAL_DAMAGE_ADD("cAtkAdd"), // this is another type for special critical damage mods - vicious stance, critical power and critical damage SA
|
||||
MAGIC_CRIT_DMG("mCritPower"),
|
||||
MAGIC_CRIT_DMG_ADD("mCritPowerAdd"),
|
||||
|
@ -39,12 +39,6 @@ public class FuncMul extends AbstractFunction
|
||||
{
|
||||
if ((getApplayCond() == null) || getApplayCond().test(effector, effected, skill))
|
||||
{
|
||||
// Focus Death/Power fix by Sahar.
|
||||
if ((getStat() == Stats.CRITICAL_DAMAGE) && (skill != null) && ((skill.getId() == 355) || (skill.getId() == 357)))
|
||||
{
|
||||
return initVal * (1 + ((getValue() - 1) / 2));
|
||||
}
|
||||
|
||||
return initVal * getValue();
|
||||
}
|
||||
return initVal;
|
||||
|
Loading…
Reference in New Issue
Block a user