diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java index d49dbae496..b32762f485 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.gameserver.ThreadPoolManager; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.effects.AbstractEffect; import com.l2jmobius.gameserver.model.skills.BuffInfo; @@ -38,9 +39,12 @@ public final class RewardItemOnExit extends AbstractEffect @Override public void onExit(BuffInfo info) { - if (!info.isRemoved() && info.getEffected().isPlayer() && !info.getEffected().getActingPlayer().isDead()) + if (!info.isRemoved() && (info.getEffected() != null) && info.getEffected().isPlayer() && !info.getEffected().isDead()) { - info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected().getActingPlayer(), true); + ThreadPoolManager.execute(() -> // Make sure item is saved. + { + info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected(), true); + }); } } } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java index d49dbae496..b32762f485 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.gameserver.ThreadPoolManager; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.effects.AbstractEffect; import com.l2jmobius.gameserver.model.skills.BuffInfo; @@ -38,9 +39,12 @@ public final class RewardItemOnExit extends AbstractEffect @Override public void onExit(BuffInfo info) { - if (!info.isRemoved() && info.getEffected().isPlayer() && !info.getEffected().getActingPlayer().isDead()) + if (!info.isRemoved() && (info.getEffected() != null) && info.getEffected().isPlayer() && !info.getEffected().isDead()) { - info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected().getActingPlayer(), true); + ThreadPoolManager.execute(() -> // Make sure item is saved. + { + info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected(), true); + }); } } } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java index d49dbae496..b32762f485 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.gameserver.ThreadPoolManager; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.effects.AbstractEffect; import com.l2jmobius.gameserver.model.skills.BuffInfo; @@ -38,9 +39,12 @@ public final class RewardItemOnExit extends AbstractEffect @Override public void onExit(BuffInfo info) { - if (!info.isRemoved() && info.getEffected().isPlayer() && !info.getEffected().getActingPlayer().isDead()) + if (!info.isRemoved() && (info.getEffected() != null) && info.getEffected().isPlayer() && !info.getEffected().isDead()) { - info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected().getActingPlayer(), true); + ThreadPoolManager.execute(() -> // Make sure item is saved. + { + info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected(), true); + }); } } } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java index d49dbae496..b32762f485 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.gameserver.ThreadPoolManager; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.effects.AbstractEffect; import com.l2jmobius.gameserver.model.skills.BuffInfo; @@ -38,9 +39,12 @@ public final class RewardItemOnExit extends AbstractEffect @Override public void onExit(BuffInfo info) { - if (!info.isRemoved() && info.getEffected().isPlayer() && !info.getEffected().getActingPlayer().isDead()) + if (!info.isRemoved() && (info.getEffected() != null) && info.getEffected().isPlayer() && !info.getEffected().isDead()) { - info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected().getActingPlayer(), true); + ThreadPoolManager.execute(() -> // Make sure item is saved. + { + info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected(), true); + }); } } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java index d49dbae496..b32762f485 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RewardItemOnExit.java @@ -16,6 +16,7 @@ */ package handlers.effecthandlers; +import com.l2jmobius.gameserver.ThreadPoolManager; import com.l2jmobius.gameserver.model.StatsSet; import com.l2jmobius.gameserver.model.effects.AbstractEffect; import com.l2jmobius.gameserver.model.skills.BuffInfo; @@ -38,9 +39,12 @@ public final class RewardItemOnExit extends AbstractEffect @Override public void onExit(BuffInfo info) { - if (!info.isRemoved() && info.getEffected().isPlayer() && !info.getEffected().getActingPlayer().isDead()) + if (!info.isRemoved() && (info.getEffected() != null) && info.getEffected().isPlayer() && !info.getEffected().isDead()) { - info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected().getActingPlayer(), true); + ThreadPoolManager.execute(() -> // Make sure item is saved. + { + info.getEffected().getActingPlayer().addItem("RewardItemOnExitEffect", _itemId, _itemCount, info.getEffected(), true); + }); } } }