-Implemented maxSkillDamage stat.
-Done skills Final Ultimate Defense (10017) & Party Rescue (10024) - maxSkillDamage & enchant groups. -Small fix on Seed Talisman skill (added missing rEvas stat). Contributed by NviX.
This commit is contained in:
@@ -77,6 +77,13 @@ public final class MagicalAttack extends AbstractEffect
|
||||
|
||||
if (damage > 0)
|
||||
{
|
||||
// reduce damage if target has maxdamage buff
|
||||
double maxDamage = (target.getStat().calcStat(Stats.MAX_SKILL_DAMAGE, 0, null, null));
|
||||
if (maxDamage > 0)
|
||||
{
|
||||
damage = (int) maxDamage;
|
||||
}
|
||||
|
||||
// Manage attack or cast break of the target (calculating rate, sending message...)
|
||||
if (!target.isRaid() && Formulas.calcAtkBreak(target, damage))
|
||||
{
|
||||
|
@@ -79,6 +79,13 @@ public final class MagicalAttackByAbnormal extends AbstractEffect
|
||||
|
||||
if (damage > 0)
|
||||
{
|
||||
// reduce damage if target has maxdamage buff
|
||||
double maxDamage = (target.getStat().calcStat(Stats.MAX_SKILL_DAMAGE, 0, null, null));
|
||||
if (maxDamage > 0)
|
||||
{
|
||||
damage = (int) maxDamage;
|
||||
}
|
||||
|
||||
// Manage attack or cast break of the target (calculating rate, sending message...)
|
||||
if (!target.isRaid() && Formulas.calcAtkBreak(target, damage))
|
||||
{
|
||||
|
@@ -83,6 +83,13 @@ public final class MagicalSoulAttack extends AbstractEffect
|
||||
|
||||
if (damage > 0)
|
||||
{
|
||||
// reduce damage if target has maxdamage buff
|
||||
double maxDamage = (target.getStat().calcStat(Stats.MAX_SKILL_DAMAGE, 0, null, null));
|
||||
if (maxDamage > 0)
|
||||
{
|
||||
damage = (int) maxDamage;
|
||||
}
|
||||
|
||||
// Manage attack or cast break of the target (calculating rate, sending message...)
|
||||
if (!target.isRaid() && Formulas.calcAtkBreak(target, damage))
|
||||
{
|
||||
|
@@ -27,6 +27,7 @@ import com.l2jserver.gameserver.model.effects.L2EffectType;
|
||||
import com.l2jserver.gameserver.model.skills.BuffInfo;
|
||||
import com.l2jserver.gameserver.model.stats.BaseStats;
|
||||
import com.l2jserver.gameserver.model.stats.Formulas;
|
||||
import com.l2jserver.gameserver.model.stats.Stats;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
@@ -102,6 +103,13 @@ public final class PhysicalAttack extends AbstractEffect
|
||||
|
||||
if (damage > 0)
|
||||
{
|
||||
// reduce damage if target has maxdamage buff
|
||||
double maxDamage = (target.getStat().calcStat(Stats.MAX_SKILL_DAMAGE, 0, null, null));
|
||||
if (maxDamage > 0)
|
||||
{
|
||||
damage = (int) maxDamage;
|
||||
}
|
||||
|
||||
activeChar.sendDamageMessage(target, damage, false, crit, false);
|
||||
target.reduceCurrentHp(damage, activeChar, info.getSkill());
|
||||
target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false);
|
||||
|
@@ -27,6 +27,7 @@ import com.l2jserver.gameserver.model.effects.L2EffectType;
|
||||
import com.l2jserver.gameserver.model.skills.BuffInfo;
|
||||
import com.l2jserver.gameserver.model.stats.BaseStats;
|
||||
import com.l2jserver.gameserver.model.stats.Formulas;
|
||||
import com.l2jserver.gameserver.model.stats.Stats;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
@@ -92,6 +93,13 @@ public final class PhysicalAttackHpLink extends AbstractEffect
|
||||
|
||||
if (damage > 0)
|
||||
{
|
||||
// reduce damage if target has maxdamage buff
|
||||
double maxDamage = (target.getStat().calcStat(Stats.MAX_SKILL_DAMAGE, 0, null, null));
|
||||
if (maxDamage > 0)
|
||||
{
|
||||
damage = (int) maxDamage;
|
||||
}
|
||||
|
||||
activeChar.sendDamageMessage(target, damage, false, crit, false);
|
||||
target.reduceCurrentHp(damage, activeChar, info.getSkill());
|
||||
target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false);
|
||||
|
@@ -27,6 +27,7 @@ import com.l2jserver.gameserver.model.effects.L2EffectType;
|
||||
import com.l2jserver.gameserver.model.skills.BuffInfo;
|
||||
import com.l2jserver.gameserver.model.stats.BaseStats;
|
||||
import com.l2jserver.gameserver.model.stats.Formulas;
|
||||
import com.l2jserver.gameserver.model.stats.Stats;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
@@ -108,6 +109,13 @@ public final class PhysicalSoulAttack extends AbstractEffect
|
||||
|
||||
if (damage > 0)
|
||||
{
|
||||
// reduce damage if target has maxdamage buff
|
||||
double maxDamage = (target.getStat().calcStat(Stats.MAX_SKILL_DAMAGE, 0, null, null));
|
||||
if (maxDamage > 0)
|
||||
{
|
||||
damage = (int) maxDamage;
|
||||
}
|
||||
|
||||
activeChar.sendDamageMessage(target, damage, false, crit, false);
|
||||
target.reduceCurrentHp(damage, activeChar, info.getSkill());
|
||||
target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false);
|
||||
|
@@ -498,6 +498,7 @@
|
||||
<add stat="accCombat" val="#addAccEvas" />
|
||||
<add stat="accMagic" val="#addAccEvas" />
|
||||
<add stat="pSkillEvas" val="#addAccEvas" />
|
||||
<add stat="rEvas" val="#addAccEvas" />
|
||||
<add stat="mEvas" val="#addAccEvas" />
|
||||
<add stat="absorbDam" val="#absorbDam" />
|
||||
<add stat="pAtkSpd" val="#atkSpeed" />
|
||||
|
@@ -750,7 +750,7 @@
|
||||
<effect name="PhysicalAttack" />
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="10017" levels="4" name="Final Ultimate Defense">
|
||||
<skill id="10017" levels="4" name="Final Ultimate Defense" enchantGroup1="10" enchantGroup2="10" enchantGroup3="10" enchantGroup4="10" enchantGroup9="10">
|
||||
<table name="#mpConsume">58 63 68 72</table>
|
||||
<table name="#ench1MpConsume">67 63 59 54 50 46 41 37 33 28</table>
|
||||
<table name="#ench2abnormalTime">31 32 33 34 35 36 37 38 39 40</table>
|
||||
@@ -761,6 +761,7 @@
|
||||
<table name="#reflectDam">40 60 80 100</table>
|
||||
<table name="#magicLvl">85 90 95 99</table>
|
||||
<table name="#maxSkillDamage">300 200 150 100</table>
|
||||
<table name="#ench9Reuse"> 890000 880000 870000 860000 850000 840000 830000 820000 810000 800000 </table> <!-- NEED VERIFY -->
|
||||
<set name="abnormalTime" val="30" />
|
||||
<set name="abnormalLvl" val="1" />
|
||||
<set name="hitTime" val="1000" />
|
||||
@@ -769,46 +770,37 @@
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="skillType" val="BUFF" />
|
||||
<set name="targetType" val="SELF" />
|
||||
<enchant1 name="mpConsume" val="#ench1MpConsume" />
|
||||
<enchant2 name="abnormalTime" val="#ench2abnormalTime" />
|
||||
<enchant9 name="reuseDelay" val="#ench9Reuse" />
|
||||
<for>
|
||||
<effect name="Buff" val="0">
|
||||
<effect name="Buff">
|
||||
<add stat="pDef" val="#pDef" />
|
||||
<add stat="mDef" val="#mDef" />
|
||||
<add stat="reflectDam" val="#reflectDam" />
|
||||
<add stat="cancelVuln" val="80" />
|
||||
<!--<add stat="maxSkillDamage" val="#maxSkillDamage" />-->
|
||||
<add stat="maxSkillDamage" val="#maxSkillDamage" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant2for>
|
||||
<effect name="Buff" val="0">
|
||||
<add stat="pDef" val="10000" />
|
||||
<add stat="mDef" val="10000" />
|
||||
<add stat="reflectDam" val="100" />
|
||||
<add stat="cancelVuln" val="80" />
|
||||
<!--<add stat="maxSkillDamage" val="100" />-->
|
||||
</effect>
|
||||
</enchant2for>
|
||||
<enchant3for>
|
||||
<effect name="Buff" val="0">
|
||||
<effect name="Buff">
|
||||
<add stat="pDef" val="10000" />
|
||||
<add stat="mDef" val="10000" />
|
||||
<add stat="reflectDam" val="100" />
|
||||
<add stat="cancelVuln" val="80" />
|
||||
<add stat="runSpd" val="#ench3runSpd" />
|
||||
<!--<add stat="maxSkillDamage" val="100" />-->
|
||||
<add stat="maxSkillDamage" val="100" />
|
||||
</effect>
|
||||
</enchant3for>
|
||||
<enchant4for>
|
||||
<effect name="Buff" val="0">
|
||||
<effect name="Buff">
|
||||
<add stat="pDef" val="10000" />
|
||||
<add stat="mDef" val="10000" />
|
||||
<add stat="reflectDam" val="100" />
|
||||
<add stat="cancelVuln" val="80" />
|
||||
<param SHOCK="#ench4stunRes" />
|
||||
<!--<add stat="maxSkillDamage" val="100" />-->
|
||||
<add stat="maxSkillDamage" val="100" />
|
||||
</effect>
|
||||
</enchant4for>
|
||||
</skill>
|
||||
@@ -1019,7 +1011,7 @@
|
||||
<effect abnormalLvl="1" abnormalTime="1" abnormalVisualEffect="sknockdown" effectPower="85" effectType="KNOCK_DOWN" name="KnockDown" val="0" />
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="10024" levels="1" name="Party Rescue">
|
||||
<skill id="10024" levels="1" name="Party Rescue" enchantGroup1="10" enchantGroup2="10">
|
||||
<table name="#ench1MpConsume">92 88 84 80 76 72 69 65 61 57</table>
|
||||
<table name="#ench2HpHealPercent">1 2 3 4 5 6 7 8 9 10</table>
|
||||
<set name="hitTime" val="3000" />
|
||||
@@ -1038,18 +1030,18 @@
|
||||
<using kind="SHIELD" />
|
||||
</cond>
|
||||
<for>
|
||||
<effect name="TransferDamage" val="0">
|
||||
<effect name="TransferDamage">
|
||||
<add stat="transDamToPlayer" val="90" />
|
||||
<!--<add stat="maxSkillDamage" val="10" />-->
|
||||
<add stat="maxSkillDamage" val="10" />
|
||||
</effect>
|
||||
<effect name="JumpToFriend" noicon="1" val="0" />
|
||||
<effect name="JumpToFriend" noicon="1" />
|
||||
</for>
|
||||
<enchant2for>
|
||||
<effect name="TransferDamage" val="0">
|
||||
<effect name="TransferDamage">
|
||||
<add stat="transDamToPlayer" val="90" />
|
||||
<!--<add stat="maxSkillDamage" val="10" />-->
|
||||
<add stat="maxSkillDamage" val="10" />
|
||||
</effect>
|
||||
<effect name="JumpToFriend" noicon="1" val="0" />
|
||||
<effect name="JumpToFriend" noicon="1" />
|
||||
<effect name="HealPercent" noicon="1" val="#ench2HpHealPercent" />
|
||||
</enchant2for>
|
||||
</skill>
|
||||
|
@@ -206,7 +206,10 @@ public enum Stats
|
||||
BROOCH_JEWELS("broochJewels"),
|
||||
|
||||
// Summon Points
|
||||
MAX_SUMMON_POINTS("summonPoints");
|
||||
MAX_SUMMON_POINTS("summonPoints"),
|
||||
|
||||
// Max Skill Damage Receive
|
||||
MAX_SKILL_DAMAGE("maxSkillDamage");
|
||||
|
||||
public static final int NUM_STATS = values().length;
|
||||
|
||||
|
Reference in New Issue
Block a user