All pastes #38289 Raw Edit

Gnipi

public text v1 · immutable
#38289 ·published 2006-01-24 01:45 UTC
rendered paste body
Index: 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);
     }