|  |  | @ -8,6 +8,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | package engine.mobileAI; |  |  |  | package engine.mobileAI; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import engine.InterestManagement.RealmMap; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.InterestManagement.WorldGrid; |  |  |  | import engine.InterestManagement.WorldGrid; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.gameManager.*; |  |  |  | import engine.gameManager.*; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.math.Vector3f; |  |  |  | import engine.math.Vector3f; | 
			
		
	
	
		
		
			
				
					|  |  | @ -972,6 +973,20 @@ public class MobAI { | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private static void hamletGuardAggro(Mob mob) { |  |  |  |     private static void hamletGuardAggro(Mob mob) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         City city = ZoneManager.getCityAtLocation(mob.bindLoc); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(city != null && city.isNoobIsle == 1){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //noob island guards only aggro to mobs
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             HashSet<AbstractWorldObject> loadedMobs = WorldGrid.getObjectsInRangePartial(mob.loc, MobAIThread.AI_BASE_AGGRO_RANGE, MBServerStatics.MASK_MOB); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             for (AbstractWorldObject awo : loadedMobs) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 Mob targetMob = (Mob) awo; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (!targetMob.isAlive() || targetMob.despawned) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     continue; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (targetMob.isPet()) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     continue; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 mob.combatTarget = targetMob; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |             HashSet<AbstractWorldObject> loadedPlayers = WorldGrid.getObjectsInRangePartial(mob.loc, MobAIThread.AI_BASE_AGGRO_RANGE, MBServerStatics.MASK_PLAYER); |  |  |  |             HashSet<AbstractWorldObject> loadedPlayers = WorldGrid.getObjectsInRangePartial(mob.loc, MobAIThread.AI_BASE_AGGRO_RANGE, MBServerStatics.MASK_PLAYER); | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (AbstractWorldObject awo : loadedPlayers) { |  |  |  |             for (AbstractWorldObject awo : loadedPlayers) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 PlayerCharacter pc = (PlayerCharacter) awo; |  |  |  |                 PlayerCharacter pc = (PlayerCharacter) awo; | 
			
		
	
	
		
		
			
				
					|  |  | @ -987,6 +1002,7 @@ public class MobAI { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 return; |  |  |  |                 return; | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private static void defaultLogic(Mob mob) { |  |  |  |     private static void defaultLogic(Mob mob) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |