|  |  |  | @ -28,6 +28,7 @@ public class MobAIThread implements Runnable{@@ -28,6 +28,7 @@ public class MobAIThread implements Runnable{ | 
			
		
	
		
			
				
					|  |  |  |  |         AI_CAST_FREQUENCY = Float.parseFloat(ConfigManager.MB_AI_CAST_FREQUENCY.getValue()); | 
			
		
	
		
			
				
					|  |  |  |  |         AI_BASE_AGGRO_RANGE = (int)(60 * Float.parseFloat(ConfigManager.MB_AI_AGGRO_RANGE.getValue())); | 
			
		
	
		
			
				
					|  |  |  |  |         while (true) { | 
			
		
	
		
			
				
					|  |  |  |  |             try { | 
			
		
	
		
			
				
					|  |  |  |  |                 for (Zone zone : ZoneManager.getAllZones()) { | 
			
		
	
		
			
				
					|  |  |  |  |                     if (zone != null && zone.zoneMobSet != null) { | 
			
		
	
		
			
				
					|  |  |  |  |                         synchronized (zone.zoneMobSet) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -43,11 +44,9 @@ public class MobAIThread implements Runnable{@@ -43,11 +44,9 @@ public class MobAIThread implements Runnable{ | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             try { | 
			
		
	
		
			
				
					|  |  |  |  |                 Thread.sleep(100); | 
			
		
	
		
			
				
					|  |  |  |  |             } catch (InterruptedException e) { | 
			
		
	
		
			
				
					|  |  |  |  |                 Logger.error("AI Thread interrupted", e); | 
			
		
	
		
			
				
					|  |  |  |  |                 Thread.currentThread().interrupt(); | 
			
		
	
		
			
				
					|  |  |  |  |             }catch(Exception e){ | 
			
		
	
		
			
				
					|  |  |  |  |                 Logger.error(e.getMessage()); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |