From d5c9889b68d0125710b0fec7acf41199c8d5c309 Mon Sep 17 00:00:00 2001 From: Rumen Nikiforov <unafraid89@gmail.com> Date: Tue, 11 Sep 2012 01:37:08 +0000 Subject: [PATCH] BETA: Fixing little NPE since [9154] seems like we missed to set summoner in some places. * Reported by: valdaron --- .../game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java | 5 +++-- .../data/scripts/handlers/itemhandlers/ChristmasTree.java | 4 +++- .../game/data/scripts/handlers/itemhandlers/SummonItems.java | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java index ddbecd6ea9..d899446cd3 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java @@ -79,13 +79,14 @@ public class ChristmasTree extends AbstractNpcAI { L2Skill skill = _holder.getSkill(); - final L2PcInstance player = _npc.getSummoner().getActingPlayer(); - if (player == null) + if (_npc.getSummoner() == null || !_npc.getSummoner().isPlayer()) { ThreadPoolManager.getInstance().scheduleGeneral(this, 1000); return; } + final L2PcInstance player = _npc.getSummoner().getActingPlayer(); + if (!player.isInParty()) { if (player.isInsideRadius(_npc, skill.getSkillRadius(), true, true)) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ChristmasTree.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ChristmasTree.java index a7e51dfd56..87be8d9ac2 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ChristmasTree.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/ChristmasTree.java @@ -18,6 +18,7 @@ import com.l2jserver.gameserver.datatables.NpcTable; import com.l2jserver.gameserver.handler.IItemHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Spawn; +import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Playable; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate; @@ -62,7 +63,8 @@ public class ChristmasTree implements IItemHandler spawn.setLocy(target.getY()); spawn.setLocz(target.getZ()); spawn.setInstanceId(activeChar.getInstanceId()); - spawn.spawnOne(false); + L2Npc npc = spawn.spawnOne(false); + npc.setSummoner(activeChar); activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/SummonItems.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/SummonItems.java index 50bb715c5c..9aa08875ff 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/SummonItems.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/SummonItems.java @@ -122,6 +122,7 @@ public class SummonItems implements IItemHandler spawn.setInstanceId(activeChar.getInstanceId()); spawn.stopRespawn(); final L2Npc npc = spawn.spawnOne(true); + npc.setSummoner(activeChar); npc.setTitle(activeChar.getName()); npc.setIsRunning(false); // broadcast info if (sitem.getDespawnDelay() > 0) -- GitLab