rendered paste bodyIndex: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2MonsterInstance.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2MonsterInstance.java (revision 2178)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2MonsterInstance.java (working copy)
@@ -28,7 +28,7 @@
import net.sf.l2j.gameserver.model.actor.monster.MonsterKnownList;
import net.sf.l2j.gameserver.templates.L2NpcTemplate;
import net.sf.l2j.gameserver.util.MinionList;
/**
* This class manages all Monsters.
*
@@ -43,10 +43,20 @@
//private static Logger _log = Logger.getLogger(L2MonsterInstance.class.getName());
protected final MinionList minionList;
@SuppressWarnings("unused")
private ScheduledFuture minionMaintainTask;
+ public void unscheduleMaintainTask()
+ {
+ if (minionMaintainTask != null)
+ {
+ minionMaintainTask.cancel(true);
+ minionMaintainTask=null; // only now, this instance can be cleaned up (when task is canceled)
+ }
+ }
+
private static final int MONSTER_MAINTENANCE_INTERVAL = 1000;
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2NpcInstance.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2NpcInstance.java (revision 2178)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2NpcInstance.java (working copy)
@@ -1457,7 +1457,7 @@
//_decayTask = ClientScheduler.getInstance().scheduleLow(new DecayTask(), 8500);
//SpawnTable.getInstance().addDecayTask(this);
DecayTask.getInstance().addDecayTask(this);
-
+ if(this instanceof L2MonsterInstance) ((L2MonsterInstance)this).unscheduleMaintainTask();
super.doDie(killer);
}