From 7f68c6bf40f9947b004d87cf6f2cb6b8c41d866d Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Sat, 1 Mar 2014 16:32:44 +0000 Subject: [PATCH] BETA: Effects implementation review. * Fixed minor typo in `CallPc`. * Added missing !JavaDocs. * Minor cleanup. --- .../handlers/effecthandlers/AttackTrait.java | 2 +- .../handlers/effecthandlers/Betray.java | 4 +- .../handlers/effecthandlers/BlockAction.java | 4 +- .../handlers/effecthandlers/CallPc.java | 5 +- .../handlers/effecthandlers/CallSkill.java | 4 +- .../handlers/effecthandlers/ChangeFace.java | 1 + .../effecthandlers/ChangeFishingMastery.java | 1 - .../effecthandlers/ChangeHairColor.java | 1 + .../handlers/effecthandlers/Confuse.java | 1 + .../handlers/effecthandlers/CpDamPercent.java | 48 +++++++++-------- .../handlers/effecthandlers/CpHeal.java | 2 +- .../effecthandlers/CpHealPercent.java | 2 +- .../effecthandlers/CrystalGradeModify.java | 1 + .../handlers/effecthandlers/DamOverTime.java | 1 + .../effecthandlers/DamOverTimePercent.java | 3 +- .../handlers/effecthandlers/DeleteHate.java | 1 + .../effecthandlers/DeleteHateOfMe.java | 1 + .../effecthandlers/DetectHiddenObjects.java | 4 +- .../handlers/effecthandlers/Detection.java | 5 +- .../handlers/effecthandlers/DispelBySlot.java | 1 + .../DispelBySlotProbability.java | 1 + .../handlers/effecthandlers/EnemyCharge.java | 3 ++ .../handlers/effecthandlers/EnergyAttack.java | 1 + .../handlers/effecthandlers/Escape.java | 1 + .../handlers/effecthandlers/Fishing.java | 8 +-- .../effecthandlers/GiveRecommendation.java | 4 +- .../handlers/effecthandlers/GiveSp.java | 1 + .../handlers/effecthandlers/Harvesting.java | 54 +++++++++---------- .../effecthandlers/HeadquarterCreate.java | 1 + .../handlers/effecthandlers/Lethal.java | 1 + .../effecthandlers/ManaDamOverTime.java | 2 +- .../handlers/effecthandlers/OpenDoor.java | 1 + .../handlers/effecthandlers/Pumping.java | 5 +- .../effecthandlers/RandomizeHate.java | 1 + .../handlers/effecthandlers/Reeling.java | 5 +- .../effecthandlers/RefuelAirship.java | 1 + .../handlers/effecthandlers/ResistSkill.java | 6 +-- .../handlers/effecthandlers/Restoration.java | 1 + .../handlers/effecthandlers/Resurrection.java | 1 + .../handlers/effecthandlers/SetSkill.java | 1 + .../handlers/effecthandlers/SkillTurning.java | 1 + .../handlers/effecthandlers/SoulEating.java | 1 + .../scripts/handlers/effecthandlers/Sow.java | 4 +- .../handlers/effecthandlers/StaticDamage.java | 1 + .../effecthandlers/StealAbnormal.java | 1 + .../handlers/effecthandlers/Summon.java | 7 +-- .../effecthandlers/SummonAgathion.java | 1 + .../handlers/effecthandlers/SummonNpc.java | 1 + .../handlers/effecthandlers/SummonTrap.java | 1 + .../effecthandlers/TakeFortStart.java | 4 +- .../effecthandlers/TakeTerritoryFlag.java | 2 +- .../handlers/effecthandlers/TargetCancel.java | 1 + .../effecthandlers/TargetMeProbability.java | 1 + .../handlers/effecthandlers/Teleport.java | 1 + .../handlers/effecthandlers/TransferHate.java | 1 + .../handlers/effecthandlers/TrapDetect.java | 17 ++---- .../handlers/effecthandlers/TrapRemove.java | 6 +-- .../effecthandlers/TriggerSkillByDamage.java | 1 + .../handlers/effecthandlers/Unsummon.java | 1 + .../effecthandlers/VitalityPointUp.java | 1 + 60 files changed, 140 insertions(+), 105 deletions(-) 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 cd9eea1eb9..88ed2a651d 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 684cd52f71..2a86c0228c 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 5f7ee19edd..0c0764c9ed 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 3f4dee6d00..2cdd221b71 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 badb602abc..0d8262c3e1 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 d6e7de1a46..60eca17d60 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 8f588187cc..e3f2c923ac 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 581e34d3ba..cd08fc8bc9 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 2a6e6eb8f6..3072fc32d2 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 fba1a8b309..b892068ae8 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 c0d9032425..cb3517d54d 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 c37342e25a..25f0c5b28f 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 7b5135190d..fcc539d581 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 4544254dbc..6978ee8df0 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 1e3d96c8d7..b87022051d 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 af050a8d66..87611e49ad 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 6b2a39dca1..3ffbeb88b3 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 445c7077e3..6bc2e4bbb7 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 230158afdc..9a8f8fbd24 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 7b37c95bc8..e56ba310d9 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 bbc8670cd5..8106742d1c 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 dc645cb63b..68c8ad46d3 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 bdffe788b0..d1a86bf00b 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 ed1b30fdcd..131fe986ac 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 6e93ec80bc..02f5bee84c 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 966951f07b..8c1eda3cb2 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 bcebc5daf1..1b15a32eaa 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 1eed9f1ad5..0aaf6483c9 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 3695e6bcac..73c8db5390 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 35114c5daa..8dbc121c07 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 760c404d77..1f08e3c5aa 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 55ba897829..ebf1ca17f1 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 9d35689598..eb1a4b0654 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 1fa9f56b7b..5ac6823db1 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 c2e9936faa..810fba5a2f 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 b8d746ffa3..890d1688eb 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 88be1278e1..b99693fae3 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 e69e7094c0..c99f8e4070 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 7ae0ee611d..9fbb24a2cf 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 c6c6408b76..ed28c83c95 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 f9da12b549..cc162733f4 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 60ba068c57..38ba7f0bc3 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 c173c8d15f..14e12ff1d5 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 0e80fe1a47..477a5be0f1 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 70205106ad..5ad4c41166 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 615a1dd4d9..9f4df8304e 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 975684a9cf..06ce126c05 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 4e7d50a18b..ea3d668778 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 949cb2c87a..ba3e60844b 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 e95f45e3c7..08f2fbe6da 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 569bdb0497..459d8b9a82 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 6c1cedea14..4e69a41b4f 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 15b319e1ca..0d860abe68 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 38743de7f4..18aef1d4fc 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 cb4b8d96e0..b35c769f61 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 1474f8a77c..da9ba1ef9c 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 4c48da758c..996036bb31 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 91da3541ba..f19085d3ab 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 c447d05397..04454cf8f4 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 624816e769..b55bb9fca3 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; } -- GitLab