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