|  |  | @ -735,66 +735,6 @@ public class MobAI { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         try { |  |  |  |         try { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             HashSet<AbstractWorldObject> players = WorldGrid.getObjectsInRangePartial(aiAgent.loc,MobAIThread.AI_BASE_AGGRO_RANGE, MBServerStatics.MASK_PLAYER); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             HashSet<AbstractWorldObject> pets = WorldGrid.getObjectsInRangePartial(aiAgent.loc,MobAIThread.AI_BASE_AGGRO_RANGE, MBServerStatics.MASK_MOB); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             AbstractWorldObject closestTarget = null; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             for(AbstractWorldObject pet : pets){ |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 Mob petMob = (Mob)pet; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if(!petMob.isPet()) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if(closestTarget == null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     closestTarget = pet; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if(aiAgent.loc.distanceSquared(pet.loc) < aiAgent.loc.distanceSquared(closestTarget.loc)){ |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     closestTarget = pet; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             for(AbstractWorldObject player : players){ |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 PlayerCharacter loadedPlayer = (PlayerCharacter) player; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (loadedPlayer == null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 //Player is Dead, Mob no longer needs to attempt to aggro. Remove them from aggro map.
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (!loadedPlayer.isAlive()) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 //Can't see target, skip aggro.
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (!aiAgent.canSee(loadedPlayer)) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 // No aggro for this race type
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (aiAgent.notEnemy.size() > 0 && aiAgent.notEnemy.contains(loadedPlayer.getRace().getRaceType().getMonsterType()) == true) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 //mob has enemies and this player race is not it
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (aiAgent.enemy.size() > 0 && aiAgent.enemy.contains(loadedPlayer.getRace().getRaceType().getMonsterType()) == false) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if(closestTarget == null) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     closestTarget = loadedPlayer; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if(aiAgent.loc.distanceSquared(loadedPlayer.loc) < aiAgent.loc.distanceSquared(closestTarget.loc)){ |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     closestTarget = loadedPlayer; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if(closestTarget != null){ |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 aiAgent.setCombatTarget(closestTarget); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 return; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if(true) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 return; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             //looks for and sets mobs combatTarget
 |  |  |  |             //looks for and sets mobs combatTarget
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (!aiAgent.isAlive()) |  |  |  |             if (!aiAgent.isAlive()) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |