diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/AttackTrait.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/AttackTrait.java index cd9eea1eb957f757bfdfce9e2e9aa2eb7234ca0b..88ed2a651dfe1b7e5a476993817d961bbbdc8e67 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/AttackTrait.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/AttackTrait.java @@ -30,7 +30,7 @@ import com.l2jserver.gameserver.model.skills.BuffInfo; import com.l2jserver.gameserver.model.stats.TraitType; /** - * Attack Trait effect implementation + * Attack Trait effect implementation. * @author Nos */ public final class AttackTrait extends AbstractEffect diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Betray.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Betray.java index 684cd52f715cfaa37464c4be69f8503c662db8e1..2a86c0228cbefe72ed56b4ccef8e1f374e8ef4df 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Betray.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Betray.java @@ -20,7 +20,6 @@ package handlers.effecthandlers; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.model.StatsSet; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.conditions.Condition; import com.l2jserver.gameserver.model.effects.AbstractEffect; import com.l2jserver.gameserver.model.effects.EffectFlag; @@ -65,7 +64,6 @@ public final class Betray extends AbstractEffect @Override public void onStart(BuffInfo info) { - L2PcInstance targetOwner = info.getEffected().getActingPlayer(); - info.getEffected().getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, targetOwner); + info.getEffected().getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, info.getEffected().getActingPlayer()); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BlockAction.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BlockAction.java index 5f7ee19edd4e64f3ad42daef5d324d23040ed627..0c0764c9ed0da227faa5afb2652fde2dfdbd8c55 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BlockAction.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BlockAction.java @@ -47,11 +47,9 @@ public final class BlockAction extends AbstractEffect _blockedActions = new ArrayList<>(rawActions.length); for (String act : rawActions) { - int id = -1; try { - id = Integer.parseInt(act); - _blockedActions.add(id); + _blockedActions.add(Integer.parseInt(act)); } catch (Exception e) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallPc.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallPc.java index 3f4dee6d00dc886fc6256ea14a8d6cf15b217e90..2cdd221b7171381a2502420b6c5ed3ab3b6ad944 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallPc.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallPc.java @@ -40,12 +40,13 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage; */ public final class CallPc extends AbstractEffect { - private static int _itemId; - private static int _itemCount; + private final int _itemId; + private final int _itemCount; public CallPc(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _itemId = params.getInt("itemId", 0); _itemCount = params.getInt("itemCount", 0); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java index badb602abc3c5b04a834392152b3a89a80b3c02c..0d8262c3e1633c7c692dde1e29b2f4f31d2fd4c5 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java @@ -25,15 +25,17 @@ import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.skills.BuffInfo; /** + * Call Skill effect implementation. * @author Nos */ -public class CallSkill extends AbstractEffect +public final class CallSkill extends AbstractEffect { private final SkillHolder _skill; public CallSkill(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeFace.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeFace.java index d6e7de1a46d00187d8c3a1028eb5a8d320c237fd..60eca17d60c2329ed5479868cfdf2ceb73abd925 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeFace.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeFace.java @@ -35,6 +35,7 @@ public final class ChangeFace extends AbstractEffect public ChangeFace(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _value = params != null ? params.getInt("value", 0) : 0; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeFishingMastery.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeFishingMastery.java index 8f588187cce77ad5e22566a1d14a9fafab263f5d..e3f2c923ac40d219bd91ee814d938c50fb854630 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeFishingMastery.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeFishingMastery.java @@ -10,7 +10,6 @@ import com.l2jserver.gameserver.model.effects.AbstractEffect; */ public final class ChangeFishingMastery extends AbstractEffect { - public ChangeFishingMastery(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeHairColor.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeHairColor.java index 581e34d3ba69a4c3dfecdbdda11e5c2a9442c4ea..cd08fc8bc9ab0a1b58cf0501db0ce4fe42c2db2d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeHairColor.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeHairColor.java @@ -35,6 +35,7 @@ public final class ChangeHairColor extends AbstractEffect public ChangeHairColor(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _value = params != null ? params.getInt("value", 0) : 0; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Confuse.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Confuse.java index 2a6e6eb8f6afed18244c8595a9d92d920f4998b1..3072fc32d2186a1763a42ae780514d818e6e0340 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Confuse.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Confuse.java @@ -44,6 +44,7 @@ public final class Confuse extends AbstractEffect public Confuse(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 100) : 100; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java index fba1a8b3094a5cda7b597a0bcc3c33ab3f8b10bc..b892068ae81dd22e25ebc2464cd8e482cfc80597 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java @@ -51,32 +51,34 @@ public final class CpDamPercent extends AbstractEffect @Override public void onStart(BuffInfo info) { - if (info.getEffected().isPlayer()) + if (!info.getEffected().isPlayer()) { - if (info.getEffected().isPlayer() && info.getEffected().getActingPlayer().isFakeDeath()) - { - info.getEffected().stopFakeDeath(true); - } - - int damage = (int) ((info.getEffected().getCurrentCp() * getValue()) / 100); - // Manage attack or cast break of the target (calculating rate, sending message) - if (!info.getEffected().isRaid() && Formulas.calcAtkBreak(info.getEffected(), damage)) - { - info.getEffected().breakAttack(); - info.getEffected().breakCast(); - } - - if (damage > 0) + return; + } + + if (info.getEffected().isPlayer() && info.getEffected().getActingPlayer().isFakeDeath()) + { + info.getEffected().stopFakeDeath(true); + } + + int damage = (int) ((info.getEffected().getCurrentCp() * getValue()) / 100); + // Manage attack or cast break of the target (calculating rate, sending message) + if (!info.getEffected().isRaid() && Formulas.calcAtkBreak(info.getEffected(), damage)) + { + info.getEffected().breakAttack(); + info.getEffected().breakCast(); + } + + if (damage > 0) + { + info.getEffected().setCurrentCp(info.getEffected().getCurrentCp() - damage); + if (info.getEffected() != info.getEffector()) { - info.getEffected().setCurrentCp(info.getEffected().getCurrentCp() - damage); - if (info.getEffected() != info.getEffector()) - { - info.getEffector().sendDamageMessage(info.getEffected(), damage, false, false, false); - info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false, false); - } + info.getEffector().sendDamageMessage(info.getEffected(), damage, false, false, false); + info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false, false); } - // Check if damage should be reflected - Formulas.calcDamageReflected(info.getEffector(), info.getEffected(), info.getSkill(), false); } + // Check if damage should be reflected + Formulas.calcDamageReflected(info.getEffector(), info.getEffected(), info.getSkill(), false); } } \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java index c0d90324253887b833d693b5791da10a20670ef0..cb3517d54d4570e62b814f914831b949bf1e450c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java @@ -53,7 +53,7 @@ public final class CpHeal extends AbstractEffect @Override public void onStart(BuffInfo info) { - L2Character target = info.getEffected(); + final L2Character target = info.getEffected(); if ((target == null) || target.isDead() || target.isDoor()) { return; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java index c37342e25a66a435d33a575b2418d426c6815972..25f0c5b28f76c4340f58989ac2a5b692692e6dda 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java @@ -53,7 +53,7 @@ public final class CpHealPercent extends AbstractEffect @Override public void onStart(BuffInfo info) { - L2Character target = info.getEffected(); + final L2Character target = info.getEffected(); if ((target == null) || target.isDead() || target.isDoor()) { return; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CrystalGradeModify.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CrystalGradeModify.java index 7b5135190da68b247ed366e0ba1f98d66dea988f..fcc539d581d75eb601f8b794205814890259823b 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CrystalGradeModify.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CrystalGradeModify.java @@ -35,6 +35,7 @@ public final class CrystalGradeModify extends AbstractEffect public CrystalGradeModify(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _grade = params != null ? params.getInt("grade", 0) : 0; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java index 4544254dbcbfa3543b4920db084584c2addbb2e1..6978ee8df01586fcd4d82f47af9dc52d14275f92 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java @@ -35,6 +35,7 @@ public final class DamOverTime extends AbstractEffect public DamOverTime(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _canKill = (params != null) && params.getBoolean("canKill", false); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java index 1e3d96c8d7d615259d46283b004597c48c1b5296..b87022051d1a112664b4ce4977ff4669729dc546 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java @@ -26,7 +26,7 @@ import com.l2jserver.gameserver.model.skills.BuffInfo; import com.l2jserver.gameserver.network.SystemMessageId; /** - * Dam Over Time Percent effect implementation. + * Damage Over Time Percent effect implementation. * @author Adry_85 */ public final class DamOverTimePercent extends AbstractEffect @@ -36,6 +36,7 @@ public final class DamOverTimePercent extends AbstractEffect public DamOverTimePercent(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _canKill = (params != null) && params.getBoolean("canKill", false); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeleteHate.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeleteHate.java index af050a8d6696cd02575130d3f726855026b406da..87611e49ad932bf10464a08808b3b2f781b3ae0c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeleteHate.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeleteHate.java @@ -38,6 +38,7 @@ public final class DeleteHate extends AbstractEffect public DeleteHate(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 100) : 100; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeleteHateOfMe.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeleteHateOfMe.java index 6b2a39dca1ea864d625ec4cdf51bcb3c7148ff6b..3ffbeb88b3ef644f3fa2ff9d171d30340ddafaec 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeleteHateOfMe.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DeleteHateOfMe.java @@ -38,6 +38,7 @@ public final class DeleteHateOfMe extends AbstractEffect public DeleteHateOfMe(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 100) : 100; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DetectHiddenObjects.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DetectHiddenObjects.java index 445c7077e39e256cdb447d755bdc9d082823b5b2..6bc2e4bbb731f125ec598466576fa976ad52248e 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DetectHiddenObjects.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DetectHiddenObjects.java @@ -25,9 +25,10 @@ import com.l2jserver.gameserver.model.effects.AbstractEffect; import com.l2jserver.gameserver.model.skills.BuffInfo; /** + * Detect Hidden Objects effect implementation. * @author UnAfraid */ -public class DetectHiddenObjects extends AbstractEffect +public final class DetectHiddenObjects extends AbstractEffect { public DetectHiddenObjects(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { @@ -43,7 +44,6 @@ public class DetectHiddenObjects extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); if (!info.getEffected().isDoor()) { return; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Detection.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Detection.java index 230158afdc783af86a772b4fcc4c43a0b915433e..9a8f8fbd244f2c4f0a3b613816708801a3606431 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Detection.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Detection.java @@ -26,9 +26,10 @@ import com.l2jserver.gameserver.model.skills.AbnormalType; import com.l2jserver.gameserver.model.skills.BuffInfo; /** + * Detection effect implementation. * @author UnAfraid */ -public class Detection extends AbstractEffect +public final class Detection extends AbstractEffect { public Detection(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { @@ -44,11 +45,11 @@ public class Detection extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); if (!info.getEffector().isPlayer() || !info.getEffected().isPlayer()) { return; } + final L2PcInstance player = info.getEffector().getActingPlayer(); final L2PcInstance target = info.getEffected().getActingPlayer(); final boolean hasParty = player.isInParty(); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java index 7b37c95bc86120372ebb6dcc17bd44f7b8fd74a5..e56ba310d9cb94372ed965850a37703fb0a52090 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java @@ -44,6 +44,7 @@ public final class DispelBySlot extends AbstractEffect public DispelBySlot(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _dispel = params.getString("dispel", null); if ((_dispel != null) && !_dispel.isEmpty()) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlotProbability.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlotProbability.java index bbc8670cd5f453594c315cdc07b997260f256ac8..8106742d1ca15fc8f252dc6115e0ee21f319d734 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlotProbability.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/DispelBySlotProbability.java @@ -46,6 +46,7 @@ public final class DispelBySlotProbability extends AbstractEffect public DispelBySlotProbability(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _dispel = params.getString("dispel", null); _rate = params.getInt("rate", 0); if ((_dispel != null) && !_dispel.isEmpty()) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java index dc645cb63be9dd5d8b16c8d8a971252ca587d067..68c8ad46d31d090f3800c89f350c6f2c41a4bd4f 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java @@ -29,6 +29,9 @@ import com.l2jserver.gameserver.network.serverpackets.FlyToLocation; import com.l2jserver.gameserver.network.serverpackets.FlyToLocation.FlyType; import com.l2jserver.gameserver.network.serverpackets.ValidateLocation; +/** + * Enemy Charge effect implementation. + */ public final class EnemyCharge extends AbstractEffect { public EnemyCharge(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java index bdffe788b0b0af710991c129ff9c8c05e6ff1b83..d1a86bf00bbf5586036aa139714a5296e6b56639 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java @@ -47,6 +47,7 @@ public final class EnergyAttack extends AbstractEffect public EnergyAttack(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _power = params.getDouble("power", 0); _criticalChance = params.getInt("criticalChance", 0); _ignoreShieldDefence = params.getBoolean("ignoreShieldDefence", false); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Escape.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Escape.java index ed1b30fdcdfc2d0a830865a9b9c994b54f49cead..131fe986ac422506e0611f4bb1d77842b7fea650 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Escape.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Escape.java @@ -37,6 +37,7 @@ public final class Escape extends AbstractEffect public Escape(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _escapeType = params.getEnum("escapeType", TeleportWhereType.class, null); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fishing.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fishing.java index 6e93ec80bc1af615af8b51ecb9dd222b3a4040ad..02f5bee84cfecc2768c4408215e6351b1e6abd28 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fishing.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fishing.java @@ -43,9 +43,10 @@ import com.l2jserver.gameserver.util.Util; import com.l2jserver.util.Rnd; /** + * Fishing effect implementation. * @author UnAfraid */ -public class Fishing extends AbstractEffect +public final class Fishing extends AbstractEffect { private static final int MIN_BAIT_DISTANCE = 90; private static final int MAX_BAIT_DISTANCE = 250; @@ -70,7 +71,6 @@ public class Fishing extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); final L2Character activeChar = info.getEffector(); if (!activeChar.isPlayer()) { @@ -215,7 +215,7 @@ public class Fishing extends AbstractEffect } } - if (!player.destroyItem("FishingSkillHandler", equipedLeftHand, 1, null, false)) + if (!player.destroyItem("Fishing", equipedLeftHand, 1, null, false)) { player.sendPacket(SystemMessageId.NOT_ENOUGH_BAIT); return; @@ -234,7 +234,7 @@ public class Fishing extends AbstractEffect * @param waterZone the water zone * @return the bait z or {@link Integer#MIN_VALUE} when you cannot fish here */ - private int computeBaitZ(final L2PcInstance player, final int baitX, final int baitY, final L2FishingZone fishingZone, final L2WaterZone waterZone) + private static int computeBaitZ(final L2PcInstance player, final int baitX, final int baitY, final L2FishingZone fishingZone, final L2WaterZone waterZone) { if ((fishingZone == null)) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveRecommendation.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveRecommendation.java index 966951f07ba632dfb769db2260e6758e22229271..8c1eda3cb2ce0f48d02887e3bf072fe863b60ff4 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveRecommendation.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveRecommendation.java @@ -29,15 +29,17 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.gameserver.network.serverpackets.UserInfo; /** + * Give Recommendation effect implementation. * @author Nos */ -public class GiveRecommendation extends AbstractEffect +public final class GiveRecommendation extends AbstractEffect { private final int _amount; public GiveRecommendation(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _amount = params.getInt("amount", 0); if (_amount == 0) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java index bcebc5daf1a226efddd50c26da0563939fe60968..1b15a32eaacf2d6340188dcaf2ccaa1d66e27722 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java @@ -34,6 +34,7 @@ public final class GiveSp extends AbstractEffect public GiveSp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _sp = params != null ? params.getInt("sp", 0) : 0; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Harvesting.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Harvesting.java index 1eed9f1ad50ca7dbbe9963b2020b98c8f22253c0..0aaf6483c94a395da6cd0bd0bb4b8c83621719bf 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Harvesting.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Harvesting.java @@ -44,33 +44,6 @@ public final class Harvesting extends AbstractEffect super(attachCond, applyCond, set, params); } - private boolean calcSuccess(L2PcInstance activeChar, L2MonsterInstance target) - { - int basicSuccess = 100; - final int levelPlayer = activeChar.getLevel(); - final int levelTarget = target.getLevel(); - - int diff = (levelPlayer - levelTarget); - if (diff < 0) - { - diff = -diff; - } - - // apply penalty, target <=> player levels - // 5% penalty for each level - if (diff > 5) - { - basicSuccess -= (diff - 5) * 5; - } - - // success rate can't be less than 1% - if (basicSuccess < 1) - { - basicSuccess = 1; - } - return Rnd.nextInt(99) < basicSuccess; - } - @Override public boolean isInstant() { @@ -176,4 +149,31 @@ public final class Harvesting extends AbstractEffect } } } + + private static boolean calcSuccess(L2PcInstance activeChar, L2MonsterInstance target) + { + int basicSuccess = 100; + final int levelPlayer = activeChar.getLevel(); + final int levelTarget = target.getLevel(); + + int diff = (levelPlayer - levelTarget); + if (diff < 0) + { + diff = -diff; + } + + // apply penalty, target <=> player levels + // 5% penalty for each level + if (diff > 5) + { + basicSuccess -= (diff - 5) * 5; + } + + // success rate can't be less than 1% + if (basicSuccess < 1) + { + basicSuccess = 1; + } + return Rnd.nextInt(99) < basicSuccess; + } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HeadquarterCreate.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HeadquarterCreate.java index 3695e6bcac1481ed5390061053fdf7b97878bd77..73c8db5390d4edf1694b262d8db459c328222088 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HeadquarterCreate.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HeadquarterCreate.java @@ -45,6 +45,7 @@ public class HeadquarterCreate extends AbstractEffect public HeadquarterCreate(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _isAdvanced = params != null ? params.getBoolean("isAdvanced", false) : false; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Lethal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Lethal.java index 35114c5daaa8a9d9908dbfcb3ae38546f718890e..8dbc121c07de460bb857f50009e8fba34e89021c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Lethal.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Lethal.java @@ -40,6 +40,7 @@ public final class Lethal extends AbstractEffect public Lethal(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _fullLethal = params.getInt("fullLethal", 0); _halfLethal = params.getInt("halfLethal", 0); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java index 760c404d778fc93199db691701d77c4b6993dfea..1f08e3c5aa4588bb67b5a3a17add08c7e4edf23f 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java @@ -26,7 +26,7 @@ import com.l2jserver.gameserver.model.skills.BuffInfo; import com.l2jserver.gameserver.network.SystemMessageId; /** - * Mana Dam Over Time effect implementation. + * Mana Damage Over Time effect implementation. */ public final class ManaDamOverTime extends AbstractEffect { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/OpenDoor.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/OpenDoor.java index 55ba897829cf591b43ff1256efafa2f48c37fd57..ebf1ca17f1953d7a93d61c19c359d9515434fd7f 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/OpenDoor.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/OpenDoor.java @@ -41,6 +41,7 @@ public final class OpenDoor extends AbstractEffect public OpenDoor(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 0) : 0; _isItem = params != null ? params.getBoolean("isItem", false) : false; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Pumping.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Pumping.java index 9d35689598f1b578fc2b1371209e8aa126bd397d..eb1a4b06545fb829bdb1c648e708d48e6c8af988 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Pumping.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Pumping.java @@ -36,15 +36,17 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.ActionFailed; /** + * Pumping effect implementation. * @author UnAfraid */ -public class Pumping extends AbstractEffect +public final class Pumping extends AbstractEffect { private final double _power; public Pumping(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + if ((params == null) || (params.getString("power", null) == null)) { throw new IllegalArgumentException(getClass().getSimpleName() + ": effect without power!"); @@ -67,7 +69,6 @@ public class Pumping extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); final L2Character activeChar = info.getEffector(); if (!activeChar.isPlayer()) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java index 1fa9f56b7bbd8bfcd13519a8ee378a2224ab11cf..5ac6823db18d65316c436be3e210a4b47c4c63cd 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java @@ -40,6 +40,7 @@ public final class RandomizeHate extends AbstractEffect public RandomizeHate(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 100) : 100; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Reeling.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Reeling.java index c2e9936faac61e758e0fdfe5662a71dadde3e5a6..810fba5a2fe607a7a2ffd6f154916cc33464a133 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Reeling.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Reeling.java @@ -36,15 +36,17 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.ActionFailed; /** + * Reeling effect implementation. * @author UnAfraid */ -public class Reeling extends AbstractEffect +public final class Reeling extends AbstractEffect { private final double _power; public Reeling(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + if ((params == null) || (params.getString("power", null) == null)) { throw new IllegalArgumentException(getClass().getSimpleName() + ": effect without power!"); @@ -67,7 +69,6 @@ public class Reeling extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); final L2Character activeChar = info.getEffector(); if (!activeChar.isPlayer()) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RefuelAirship.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RefuelAirship.java index b8d746ffa3e2502c2ede84233d3719a93a3c58aa..890d1688ebd6c14e67caa69d31052bb48724d698 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RefuelAirship.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RefuelAirship.java @@ -36,6 +36,7 @@ public final class RefuelAirship extends AbstractEffect public RefuelAirship(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _value = params != null ? params.getInt("value", 0) : 0; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ResistSkill.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ResistSkill.java index 88be1278e1a2666eddbe545522f3d49701cbcd3e..b99693fae38d6c1546c96d2eacf7c114ecdd0d7b 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ResistSkill.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ResistSkill.java @@ -30,15 +30,17 @@ import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.skills.BuffInfo; /** + * Resist Skill effect implementaion. * @author UnAfraid */ -public class ResistSkill extends AbstractEffect +public final class ResistSkill extends AbstractEffect { private final List<SkillHolder> _skills = new ArrayList<>(); public ResistSkill(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + if (params != null) { for (int i = 1;; i++) @@ -61,7 +63,6 @@ public class ResistSkill extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); final L2Character effected = info.getEffected(); for (SkillHolder holder : _skills) { @@ -79,7 +80,6 @@ public class ResistSkill extends AbstractEffect info.getEffected().removeInvulAgainst(holder); effected.sendDebugMessage("Removing invul against " + holder.getSkill()); } - super.onExit(info); } @Override diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Restoration.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Restoration.java index e69e7094c0f08af13dd40d497b3a94f3c3e22d15..c99f8e40707546a22e1f1364bde9a5cd4196675b 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Restoration.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Restoration.java @@ -37,6 +37,7 @@ public final class Restoration extends AbstractEffect public Restoration(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _itemId = params.getInt("itemId", 0); _itemCount = params.getInt("itemCount", 0); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Resurrection.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Resurrection.java index 7ae0ee611dd35d6f37647b239b68cbb4e69b3fd0..9fbb24a2cf256f2a59cbabe5a4b8276db61f4854 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Resurrection.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Resurrection.java @@ -38,6 +38,7 @@ public final class Resurrection extends AbstractEffect public Resurrection(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _power = params != null ? params.getInt("power", 0) : 0; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SetSkill.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SetSkill.java index c6c6408b76f953c88c85f6a6e29ca6b4ba1277c4..ed28c83c95681e8981fb029f5ea28498f700fa78 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SetSkill.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SetSkill.java @@ -37,6 +37,7 @@ public final class SetSkill extends AbstractEffect public SetSkill(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _skillId = params.getInt("skillId", 0); _skillLvl = params.getInt("skillLvl", 1); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SkillTurning.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SkillTurning.java index f9da12b54989bcb5942f52f417687cf99ac0b1f3..cc162733f4d22289b8e543716146b0c34ee6556a 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SkillTurning.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SkillTurning.java @@ -34,6 +34,7 @@ public final class SkillTurning extends AbstractEffect public SkillTurning(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 100) : 100; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SoulEating.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SoulEating.java index 60ba068c57fff637c5ff49e37fb1611700faf7e5..38ba7f0bc3e8a8391adf5aa507f1f984a7a33f67 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SoulEating.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SoulEating.java @@ -41,6 +41,7 @@ public final class SoulEating extends AbstractEffect implements IExperienceRecei public SoulEating(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _expNeeded = params.getInt("expNeeded"); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Sow.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Sow.java index c173c8d15f8512a0ac7202ab32e87ed1c9af893f..14e12ff1d55a1b5e02f1f8b8ac6cf7b484515e65 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Sow.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Sow.java @@ -36,7 +36,7 @@ import com.l2jserver.util.Rnd; * Sow effect implementation. * @author Adry_85, l3x */ -public class Sow extends AbstractEffect +public final class Sow extends AbstractEffect { public Sow(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { @@ -102,7 +102,7 @@ public class Sow extends AbstractEffect target.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); } - private boolean calcSuccess(L2Character activeChar, L2Character target, int seedId) + private static boolean calcSuccess(L2Character activeChar, L2Character target, int seedId) { // TODO: check all the chances int basicSuccess = (ManorData.getInstance().isAlternative(seedId) ? 20 : 90); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java index 0e80fe1a477b54b2f836ff99cf3b951ff2fb20e2..477a5be0f1d6dddbf0021861a5abc5537437718c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java @@ -35,6 +35,7 @@ public final class StaticDamage extends AbstractEffect public StaticDamage(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _power = params != null ? params.getInt("power", 0) : 0; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java index 70205106ad5aa2a3f123b0015a30537109df1599..5ad4c4116618c38cff6038781dc6c6ffe00387b4 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java @@ -42,6 +42,7 @@ public final class StealAbnormal extends AbstractEffect public StealAbnormal(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _slot = params.getString("slot", null); _rate = params.getInt("rate", 0); _max = params.getInt("max", 0); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Summon.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Summon.java index 615a1dd4d9d648f5980366a6b0bd9821bed72212..9f4df8304e5d49551cd1a92cb5cb8d448729a4cd 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Summon.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Summon.java @@ -32,9 +32,10 @@ import com.l2jserver.gameserver.model.holders.ItemHolder; import com.l2jserver.gameserver.model.skills.BuffInfo; /** + * Summon effect implementation. * @author UnAfraid */ -public class Summon extends AbstractEffect +public final class Summon extends AbstractEffect { private final int _npcId; private final float _expMultiplier; @@ -45,10 +46,12 @@ public class Summon extends AbstractEffect public Summon(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + if (params == null) { throw new IllegalArgumentException("Summon effect without parameters!"); } + _npcId = params.getInt("npcId"); _expMultiplier = params.getFloat("expMultiplier", 1); _consumeItem = new ItemHolder(params.getInt("consumeItemId", 0), params.getInt("consumeItemCount", 1)); @@ -65,8 +68,6 @@ public class Summon extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); - if (!info.getEffected().isPlayer() || info.getEffected().hasSummon()) { return; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonAgathion.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonAgathion.java index 975684a9cf664531494a8d01acae506e78530be6..06ce126c05b67121dc4f1642f1f04fee0141706c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonAgathion.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonAgathion.java @@ -36,6 +36,7 @@ public final class SummonAgathion extends AbstractEffect public SummonAgathion(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + if (params != null) { _npcId = params.getInt("npcId", 0); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonNpc.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonNpc.java index 4e7d50a18b660b2162bf67b40158fb5b093e8b45..ea3d66877845b1c9ea2ca09132dc9ccc803aba18 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonNpc.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonNpc.java @@ -49,6 +49,7 @@ public final class SummonNpc extends AbstractEffect public SummonNpc(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _despawnDelay = params.getInt("despawnDelay", 20000); _npcId = params.getInt("npcId", 0); _npcCount = params.getInt("npcCount", 1); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonTrap.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonTrap.java index 949cb2c87a5ef6f3bc659b32f4f6d429361a8525..ba3e60844b7549a6e52e6be416356dfe3f6dce0b 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonTrap.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SummonTrap.java @@ -40,6 +40,7 @@ public final class SummonTrap extends AbstractEffect public SummonTrap(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _despawnTime = params.getInt("despawnTime", 0); _npcId = params.getInt("npcId", 0); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TakeFortStart.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TakeFortStart.java index e95f45e3c740a4da5cc4206b2f836cf21c56bfe7..08f2fbe6da9e891aa8bb9a692aa91852442371ab 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TakeFortStart.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TakeFortStart.java @@ -33,7 +33,7 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage; * Take Fort Start effect implementation. * @author UnAfraid */ -public class TakeFortStart extends AbstractEffect +public final class TakeFortStart extends AbstractEffect { public TakeFortStart(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { @@ -49,8 +49,6 @@ public class TakeFortStart extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); - if (info.getEffector().isPlayer()) { final L2PcInstance player = info.getEffector().getActingPlayer(); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TakeTerritoryFlag.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TakeTerritoryFlag.java index 569bdb0497043427d61bee62db6cd11a6b37bb3d..459d8b9a82dbbfbac44b8180757b191a0591c17d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TakeTerritoryFlag.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TakeTerritoryFlag.java @@ -32,7 +32,7 @@ import com.l2jserver.gameserver.model.skills.BuffInfo; * Take Territory Flag effect implementation. * @author UnAfraid */ -public class TakeTerritoryFlag extends AbstractEffect +public final class TakeTerritoryFlag extends AbstractEffect { private static final int FLAG_NPC_ID = 35062; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetCancel.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetCancel.java index 6c1cedea14481f8f137eba5ac918f055a03a8570..4e69a41b4f9cd9b169116a6946d9dcdf12531985 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetCancel.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetCancel.java @@ -36,6 +36,7 @@ public final class TargetCancel extends AbstractEffect public TargetCancel(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 100) : 100; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetMeProbability.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetMeProbability.java index 15b319e1ca8aaed1662af8caf4a50d81034f4c43..0d860abe68cc1a4aef54cf7f373f137d6ed9137e 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetMeProbability.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TargetMeProbability.java @@ -36,6 +36,7 @@ public final class TargetMeProbability extends AbstractEffect public TargetMeProbability(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 100) : 100; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Teleport.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Teleport.java index 38743de7f43db4d16920b5aeb08e6bb9e8082542..18aef1d4fc7cc188aa2266f213003f4e19e50d54 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Teleport.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Teleport.java @@ -36,6 +36,7 @@ public final class Teleport extends AbstractEffect public Teleport(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _loc = new Location(params.getInt("x", 0), params.getInt("y", 0), params.getInt("z", 0)); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java index cb4b8d96e0b5cd104360114dd0a9c46fcb898d87..b35c769f61c330a7b86fc533203690aca3c4641a 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java @@ -38,6 +38,7 @@ public final class TransferHate extends AbstractEffect public TransferHate(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 100) : 100; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TrapDetect.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TrapDetect.java index 1474f8a77c8caeb9f180c4148c6a8c37374193a0..da9ba1ef9c78b77405c481142037616a4c52a75f 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TrapDetect.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TrapDetect.java @@ -19,22 +19,23 @@ package handlers.effecthandlers; import com.l2jserver.gameserver.model.StatsSet; -import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.instance.L2TrapInstance; import com.l2jserver.gameserver.model.conditions.Condition; import com.l2jserver.gameserver.model.effects.AbstractEffect; import com.l2jserver.gameserver.model.skills.BuffInfo; /** + * Trap Detect effect implementation. * @author UnAfraid */ -public class TrapDetect extends AbstractEffect +public final class TrapDetect extends AbstractEffect { private final int _power; public TrapDetect(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + if (params == null) { throw new IllegalArgumentException(getClass().getSimpleName() + ": effect without power!"); @@ -51,20 +52,12 @@ public class TrapDetect extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); - - final L2Character target = info.getEffected(); - if (!target.isTrap()) - { - return; - } - - if (target.isAlikeDead()) + if (!info.getEffected().isTrap() || info.getEffected().isAlikeDead()) { return; } - final L2TrapInstance trap = (L2TrapInstance) target; + final L2TrapInstance trap = (L2TrapInstance) info.getEffected(); if (trap.getLevel() <= _power) { trap.setDetected(info.getEffector()); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TrapRemove.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TrapRemove.java index 4c48da758c4ccb8acbdeeade8e4a7d4d49ba79cf..996036bb31123a6debc641d2b33d9017a2a3b1e9 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TrapRemove.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TrapRemove.java @@ -30,15 +30,17 @@ import com.l2jserver.gameserver.model.skills.BuffInfo; import com.l2jserver.gameserver.network.SystemMessageId; /** + * Trap Remove effect implementation. * @author UnAfraid */ -public class TrapRemove extends AbstractEffect +public final class TrapRemove extends AbstractEffect { private final int _power; public TrapRemove(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + if (params == null) { throw new IllegalArgumentException(getClass().getSimpleName() + ": effect without power!"); @@ -55,8 +57,6 @@ public class TrapRemove extends AbstractEffect @Override public void onStart(BuffInfo info) { - super.onStart(info); - final L2Character target = info.getEffected(); if (!target.isTrap()) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 91da3541ba554ee547145d99bec4f104af7065c0..f19085d3ab4e5774b6bd42de9083fff3fed9077d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -50,6 +50,7 @@ public class TriggerSkillByDamage extends AbstractEffect implements IDamageRecei public TriggerSkillByDamage(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _minAttackerLevel = params.getInt("minAttackerLevel", 1); _maxAttackerLevel = params.getInt("maxAttackerLevel", 100); _minDamage = params.getInt("minDamage", 1); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java index c447d053974061068589fdad5a200c0981790de6..04454cf8f4caae4e80de373e43d88cb3e532eac7 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java @@ -40,6 +40,7 @@ public final class Unsummon extends AbstractEffect public Unsummon(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _chance = params != null ? params.getInt("chance", 100) : 100; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java index 624816e769f3ea2ec390d1422b1b88d1cfbd1c0c..b55bb9fca36387048d4b6457599bb869aa56bd31 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java @@ -35,6 +35,7 @@ public final class VitalityPointUp extends AbstractEffect public VitalityPointUp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + _value = params != null ? params.getFloat("value", 0) : 0; }