JIV 15 lat temu
rodzic
commit
284e473709

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2SepulcherNpcInstance.java

@@ -342,7 +342,7 @@ public class L2SepulcherNpcInstance extends L2Npc
 						{
 							for (L2PcInstance mem : player.getParty().getPartyMembers())
 							{
-								if (mem.getInventory().getItemByItemId(HALLS_KEY) != null)
+								if (mem != null && mem.getInventory().getItemByItemId(HALLS_KEY) != null)
 									mem.destroyItemByItemId("Quest", HALLS_KEY, mem.getInventory().getItemByItemId(HALLS_KEY).getCount(), mem, true);
 							}
 						}

+ 19 - 13
L2_GameServer/java/com/l2jserver/gameserver/taskmanager/DecayTaskManager.java

@@ -14,8 +14,10 @@
  */
 package com.l2jserver.gameserver.taskmanager;
 
+import java.util.Iterator;
 import java.util.Map;
 import java.util.NoSuchElementException;
+import java.util.Map.Entry;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -76,24 +78,28 @@ public class DecayTaskManager
 		
 		public void run()
 		{
-			Long current = System.currentTimeMillis();
+			long current = System.currentTimeMillis();
 			int delay;
 			try
 			{
-				if (_decayTasks != null)
-					for (L2Character actor : _decayTasks.keySet())
+				Iterator<Entry<L2Character, Long>> it = _decayTasks.entrySet().iterator();
+				while (it.hasNext())
+				{
+					Entry<L2Character, Long> e = it.next();
+					L2Character actor = e.getKey();
+					Long next = e.getValue();
+					if (next == null)
+						 continue;
+					if (actor.isRaid() && !actor.isRaidMinion())
+						delay = RAID_BOSS_DECAY_TIME;
+					else
+						delay = ATTACKABLE_DECAY_TIME;
+					if ((current - next) > delay)
 					{
-						if (actor.isRaid() && !actor.isRaidMinion())
-							delay = RAID_BOSS_DECAY_TIME;
-						else
-							delay = ATTACKABLE_DECAY_TIME;
-						
-						if ((current - _decayTasks.get(actor)) > delay)
-						{
-							actor.onDecay();
-							_decayTasks.remove(actor);
-						}
+						actor.onDecay();
+						it.remove();
 					}
+				}
 			}
 			catch (Exception e)
 			{