From a83b8aa3278db97deaf68119dc83839421a82f99 Mon Sep 17 00:00:00 2001
From: St3eT <St3eT@users.noreply.github.com>
Date: Sat, 21 Jun 2014 15:44:04 +0000
Subject: [PATCH] BETA: Fixed typo from [10363]. * Reported by: !UnAfraid

---
 .../data/scripts/handlers/effecthandlers/SoulEating.java   | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

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 441a277222..b6f6a377bd 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
@@ -25,7 +25,8 @@ 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.events.EventType;
-import com.l2jserver.gameserver.model.events.listeners.AbstractEventListener;
+import com.l2jserver.gameserver.model.events.impl.character.playable.OnPlayableExpChanged;
+import com.l2jserver.gameserver.model.events.listeners.ConsumerEventListener;
 import com.l2jserver.gameserver.model.skills.BuffInfo;
 import com.l2jserver.gameserver.model.stats.Stats;
 import com.l2jserver.gameserver.network.SystemMessageId;
@@ -50,7 +51,7 @@ public final class SoulEating extends AbstractEffect
 	{
 		if (info.getEffected().isPlayer())
 		{
-			info.getEffected().getListeners(EventType.ON_PLAYABLE_EXP_CHANGED).stream().filter(listener -> listener.getOwner() == this).forEach(AbstractEventListener::unregisterMe);
+			info.getEffected().removeListenerIf(EventType.ON_PLAYABLE_EXP_CHANGED, listener -> listener.getOwner() == this);
 		}
 	}
 	
@@ -82,7 +83,7 @@ public final class SoulEating extends AbstractEffect
 	{
 		if (info.getEffected().isPlayer())
 		{
-			info.getEffected().removeListenerIf(EventType.ON_PLAYABLE_EXP_CHANGED, listener -> listener.getOwner() == this);
+			info.getEffected().addListener(new ConsumerEventListener(info.getEffected(), EventType.ON_PLAYABLE_EXP_CHANGED, (OnPlayableExpChanged event) -> onExperienceReceived(event.getActiveChar(), (event.getNewExp() - event.getOldExp())), this));
 		}
 	}
 }
-- 
GitLab