diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Blow.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Blow.java index 906720391ffbd0487194613417fdeebd237f0d2a..821a4119b17af7e6e32c13c342c79654b1246090 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Blow.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Blow.java @@ -34,7 +34,7 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** - * @author Steuf + * @author Steuf */ public class Blow implements ISkillHandler { @@ -44,22 +44,25 @@ public class Blow implements ISkillHandler { L2SkillType.BLOW }; - @Override public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets) { if (activeChar.isAlikeDead()) + { return; + } boolean ss = skill.useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS); boolean sps = skill.useSpiritShot() && activeChar.isChargedShot(ShotType.SPIRITSHOTS); boolean bss = skill.useSpiritShot() && activeChar.isChargedShot(ShotType.BLESSED_SPIRITSHOTS); - for (L2Character target: (L2Character[]) targets) + for (L2Character target : (L2Character[]) targets) { if (target.isAlikeDead()) + { continue; + } // Check firstly if target dodges skill final boolean skillIsEvaded = Formulas.calcPhysicalSkillEvasion(target, skill); @@ -102,40 +105,30 @@ public class Blow implements ISkillHandler byte shld = Formulas.calcShldUse(activeChar, target, skill); double damage = skill.isStaticDamage() ? skill.getPower() : (int) Formulas.calcBlowDamage(activeChar, target, skill, shld, ss); - if (!skill.isStaticDamage() && skill.getMaxSoulConsumeCount() > 0 && activeChar.isPlayer()) + if (!skill.isStaticDamage() && (skill.getMaxSoulConsumeCount() > 0) && activeChar.isPlayer()) { - switch (activeChar.getActingPlayer().getSouls()) - { - case 0: - break; - case 1: - damage *= 1.10; - break; - case 2: - damage *= 1.12; - break; - case 3: - damage *= 1.15; - break; - case 4: - damage *= 1.18; - break; - default: - damage *= 1.20; - break; - } + // Souls Formula (each soul increase +4%) + damage *= ((activeChar.getActingPlayer().getSouls() * 0.04) + 1); } // Crit rate base crit rate for skill, modified with STR bonus if (!skill.isStaticDamage() && Formulas.calcCrit(skill.getBaseCritRate() * 10 * BaseStats.STR.calcBonus(activeChar), true, target)) + { damage *= 2; + } - if (Config.LOG_GAME_DAMAGE - && activeChar.isPlayable() - && damage > Config.LOG_GAME_DAMAGE_THRESHOLD) + if (Config.LOG_GAME_DAMAGE && activeChar.isPlayable() && (damage > Config.LOG_GAME_DAMAGE_THRESHOLD)) { LogRecord record = new LogRecord(Level.INFO, ""); - record.setParameters(new Object[]{activeChar, " did damage ", (int)damage, skill, " to ", target}); + record.setParameters(new Object[] + { + activeChar, + " did damage ", + (int) damage, + skill, + " to ", + target + }); record.setLoggerName("pdam"); _logDamage.log(record); } @@ -159,7 +152,7 @@ public class Blow implements ISkillHandler } // Formula from Diego Vargas post: http://www.l2guru.com/forum/showthread.php?p=3122630 // 1189 x Your PATK / PDEF of target - double vegdamage = (1189 * target.getPAtk(activeChar) / activeChar.getPDef(target)); + double vegdamage = ((1189 * target.getPAtk(activeChar)) / activeChar.getPDef(target)); activeChar.reduceCurrentHp(vegdamage, target, skill); } @@ -169,12 +162,12 @@ public class Blow implements ISkillHandler target.breakAttack(); target.breakCast(); } - - if(activeChar.isPlayer()) + + if (activeChar.isPlayer()) { L2PcInstance activePlayer = activeChar.getActingPlayer(); - activePlayer.sendDamageMessage(target, (int)damage, false, true, false); + activePlayer.sendDamageMessage(target, (int) damage, false, true, false); } } @@ -195,15 +188,17 @@ public class Blow implements ISkillHandler } } - //Possibility of a lethal strike + // Possibility of a lethal strike Formulas.calcLethalHit(activeChar, target, skill); - //Self Effect + // Self Effect if (skill.hasSelfEffects()) { final L2Effect effect = activeChar.getFirstEffect(skill.getId()); - if (effect != null && effect.isSelfEffect()) + if ((effect != null) && effect.isSelfEffect()) + { effect.exit(); + } skill.getEffectsSelf(activeChar); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Mdam.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Mdam.java index 26024965cd5ed2e3726e3cac549b7017c7efdb70..0705a2f70242030b5eaa3240c52d3d0b010985f5 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Mdam.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Mdam.java @@ -77,28 +77,10 @@ public class Mdam implements ISkillHandler damage *= (((target.getBuffCount() * 0.3) + 1.3) / 4); } - if (!skill.isStaticDamage() && skill.getMaxSoulConsumeCount() > 0 && activeChar.isPlayer()) + if (!skill.isStaticDamage() && (skill.getMaxSoulConsumeCount() > 0) && activeChar.isPlayer()) { - switch (activeChar.getActingPlayer().getSouls()) - { - case 0: - break; - case 1: - damage *= 1.10; - break; - case 2: - damage *= 1.12; - break; - case 3: - damage *= 1.15; - break; - case 4: - damage *= 1.18; - break; - default: - damage *= 1.20; - break; - } + // Souls Formula (each soul increase +4%) + damage *= ((activeChar.getActingPlayer().getSouls() * 0.04) + 1); } // Possibility of a lethal strike @@ -155,7 +137,7 @@ public class Mdam implements ISkillHandler } // Logging damage - if (Config.LOG_GAME_DAMAGE && activeChar.isPlayable() && damage > Config.LOG_GAME_DAMAGE_THRESHOLD) + if (Config.LOG_GAME_DAMAGE && activeChar.isPlayable() && (damage > Config.LOG_GAME_DAMAGE_THRESHOLD)) { LogRecord record = new LogRecord(Level.INFO, ""); record.setParameters(new Object[] @@ -177,7 +159,7 @@ public class Mdam implements ISkillHandler if (skill.hasSelfEffects()) { final L2Effect effect = activeChar.getFirstEffect(skill.getId()); - if (effect != null && effect.isSelfEffect()) + if ((effect != null) && effect.isSelfEffect()) { // Replace old effect with new one. effect.exit(); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Pdam.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Pdam.java index 6ef30eacc7ec999af105100cbaee123c7f74a597..856028dba7065729ffefe6b351c0abb7860cfecb 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Pdam.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Pdam.java @@ -39,16 +39,19 @@ public class Pdam implements ISkillHandler private static final L2SkillType[] SKILL_IDS = { - L2SkillType.PDAM, L2SkillType.FATAL + L2SkillType.PDAM, + L2SkillType.FATAL }; @Override public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets) { if (activeChar.isAlikeDead()) + { return; + } - if ((skill.getFlyRadius() > 0 || skill.getFlyType() != null) && activeChar.isMovementDisabled()) + if (((skill.getFlyRadius() > 0) || (skill.getFlyType() != null)) && activeChar.isMovementDisabled()) { SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED); sm.addSkillName(skill); @@ -60,7 +63,7 @@ public class Pdam implements ISkillHandler boolean ss = skill.useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS); - for (L2Character target: (L2Character[]) targets) + for (L2Character target : (L2Character[]) targets) { if (activeChar.isPlayer() && target.isPlayer() && target.getActingPlayer().isFakeDeath()) @@ -68,46 +71,36 @@ public class Pdam implements ISkillHandler target.stopFakeDeath(true); } else if (target.isDead()) + { continue; + } final boolean dual = activeChar.isUsingDualWeapon(); final byte shld = Formulas.calcShldUse(activeChar, target, skill); // PDAM critical chance not affected by buffs, only by STR. Only some skills are meant to crit. boolean crit = false; - if (!skill.isStaticDamage() && skill.getBaseCritRate() > 0) + if (!skill.isStaticDamage() && (skill.getBaseCritRate() > 0)) + { crit = Formulas.calcCrit(skill.getBaseCritRate() * 10 * BaseStats.STR.calcBonus(activeChar), true, target); + } - - if (!crit && (skill.getCondition() & L2Skill.COND_CRIT) != 0) + if (!crit && ((skill.getCondition() & L2Skill.COND_CRIT) != 0)) + { damage = 0; + } else - damage = skill.isStaticDamage() ? (int)skill.getPower() : (int) Formulas.calcPhysDam(activeChar, target, skill, shld, false, dual, ss); - if (!skill.isStaticDamage() && skill.getMaxSoulConsumeCount() > 0 && activeChar.isPlayer()) { - switch (activeChar.getActingPlayer().getSouls()) - { - case 0: - break; - case 1: - damage *= 1.10; - break; - case 2: - damage *= 1.12; - break; - case 3: - damage *= 1.15; - break; - case 4: - damage *= 1.18; - break; - default: - damage *= 1.20; - break; - } + damage = skill.isStaticDamage() ? (int) skill.getPower() : (int) Formulas.calcPhysDam(activeChar, target, skill, shld, false, dual, ss); + } + if (!skill.isStaticDamage() && (skill.getMaxSoulConsumeCount() > 0) && activeChar.isPlayer()) + { + // Souls Formula (each soul increase +4%) + damage *= ((activeChar.getActingPlayer().getSouls() * 0.04) + 1); } if (crit) + { damage *= 2; // PDAM Critical damage always 2x and not affected by buffs - + } final boolean skillIsEvaded = Formulas.calcPhysicalSkillEvasion(target, skill); final byte reflect = Formulas.calcSkillReflect(target, skill); @@ -121,7 +114,7 @@ public class Pdam implements ISkillHandler { activeChar.stopSkillEffects(skill.getId()); effects = skill.getEffects(target, activeChar); - if (effects != null && effects.length > 0) + if ((effects != null) && (effects.length > 0)) { SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT); sm.addSkillName(skill); @@ -133,7 +126,7 @@ public class Pdam implements ISkillHandler // activate attacked effects, if any target.stopSkillEffects(skill.getId()); effects = skill.getEffects(activeChar, target, new Env(shld, false, false, false)); - if (effects != null && effects.length > 0) + if ((effects != null) && (effects.length > 0)) { SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT); sm.addSkillName(skill); @@ -141,26 +134,32 @@ public class Pdam implements ISkillHandler } } } - + if (damage > 0) { activeChar.sendDamageMessage(target, damage, false, crit, false); - if (Config.LOG_GAME_DAMAGE - && activeChar.isPlayable() - && damage > Config.LOG_GAME_DAMAGE_THRESHOLD) + if (Config.LOG_GAME_DAMAGE && activeChar.isPlayable() && (damage > Config.LOG_GAME_DAMAGE_THRESHOLD)) { LogRecord record = new LogRecord(Level.INFO, ""); - record.setParameters(new Object[]{activeChar, " did damage ", damage, skill, " to ", target}); + record.setParameters(new Object[] + { + activeChar, + " did damage ", + damage, + skill, + " to ", + target + }); record.setLoggerName("pdam"); _logDamage.log(record); } - + // Possibility of a lethal strike Formulas.calcLethalHit(activeChar, target, skill); - + target.reduceCurrentHp(damage, activeChar, skill); - + // vengeance reflected damage if ((reflect & Formulas.SKILL_REFLECT_VENGEANCE) != 0) { @@ -178,12 +177,15 @@ public class Pdam implements ISkillHandler } // Formula from Diego Vargas post: http://www.l2guru.com/forum/showthread.php?p=3122630 // 1189 x Your PATK / PDEF of target - double vegdamage = (1189 * target.getPAtk(activeChar) / activeChar.getPDef(target)); + double vegdamage = ((1189 * target.getPAtk(activeChar)) / activeChar.getPDef(target)); activeChar.reduceCurrentHp(vegdamage, target, skill); } } - else // No damage + else + { + // No damage activeChar.sendPacket(SystemMessageId.ATTACK_FAILED); + } } else { @@ -216,10 +218,14 @@ public class Pdam implements ISkillHandler { int count = 0; - if (activeChar.getActingPlayer().getSouls() + skill.getNumSouls() <= soulmastery.getNumSouls()) + if ((activeChar.getActingPlayer().getSouls() + skill.getNumSouls()) <= soulmastery.getNumSouls()) + { count = skill.getNumSouls(); + } else + { count = soulmastery.getNumSouls() - activeChar.getActingPlayer().getSouls(); + } activeChar.getActingPlayer().increaseSouls(count); } else @@ -232,13 +238,13 @@ public class Pdam implements ISkillHandler } } - //self Effect :] + // self Effect :] if (skill.hasSelfEffects()) { final L2Effect effect = activeChar.getFirstEffect(skill.getId()); - if (effect != null && effect.isSelfEffect()) + if ((effect != null) && effect.isSelfEffect()) { - //Replace old effect with new one. + // Replace old effect with new one. effect.exit(); } skill.getEffectsSelf(activeChar); @@ -247,7 +253,9 @@ public class Pdam implements ISkillHandler activeChar.setChargedShot(ShotType.SOULSHOTS, false); if (skill.isSuicideAttack()) + { activeChar.doDie(activeChar); + } } @Override