|  |  |  | @ -1391,35 +1391,37 @@ public class MobAI {@@ -1391,35 +1391,37 @@ public class MobAI { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public static AbstractWorldObject ChangeTargetFromHateValue(Mob mob) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         try { | 
			
		
	
		
			
				
					|  |  |  |  |         if(mob.combatTarget != null) | 
			
		
	
		
			
				
					|  |  |  |  |             return mob.combatTarget; | 
			
		
	
		
			
				
					|  |  |  |  |         //try {
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             float CurrentHateValue = 0; | 
			
		
	
		
			
				
					|  |  |  |  |             if (mob.getCombatTarget() != null && mob.getCombatTarget().getObjectType().equals(Enum.GameObjectType.Mob)){ | 
			
		
	
		
			
				
					|  |  |  |  |                 return mob.getCombatTarget(); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         //    float CurrentHateValue = 0;
 | 
			
		
	
		
			
				
					|  |  |  |  |         //    if (mob.getCombatTarget() != null && mob.getCombatTarget().getObjectType().equals(Enum.GameObjectType.Mob)){
 | 
			
		
	
		
			
				
					|  |  |  |  |         //        return mob.getCombatTarget();
 | 
			
		
	
		
			
				
					|  |  |  |  |        //     }
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             if (mob.getCombatTarget() != null && mob.getCombatTarget().getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) | 
			
		
	
		
			
				
					|  |  |  |  |                 CurrentHateValue = mob.playerAgroMap.get(mob.combatTarget.getObjectUUID()).floatValue(); | 
			
		
	
		
			
				
					|  |  |  |  |         //    if (mob.getCombatTarget() != null && mob.getCombatTarget().getObjectType().equals(Enum.GameObjectType.PlayerCharacter))
 | 
			
		
	
		
			
				
					|  |  |  |  |         //        CurrentHateValue = mob.playerAgroMap.get(mob.combatTarget.getObjectUUID()).floatValue();
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             AbstractWorldObject mostHatedTarget = null; | 
			
		
	
		
			
				
					|  |  |  |  |         //    AbstractWorldObject mostHatedTarget = null;
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             for (Entry playerEntry : mob.playerAgroMap.entrySet()) { | 
			
		
	
		
			
				
					|  |  |  |  |         //    for (Entry playerEntry : mob.playerAgroMap.entrySet()) {
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 PlayerCharacter potentialTarget = PlayerCharacter.getFromCache((int) playerEntry.getKey()); | 
			
		
	
		
			
				
					|  |  |  |  |         //        PlayerCharacter potentialTarget = PlayerCharacter.getFromCache((int) playerEntry.getKey());
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 if (potentialTarget.equals(mob.getCombatTarget())) | 
			
		
	
		
			
				
					|  |  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |  |         //        if (potentialTarget.equals(mob.getCombatTarget()))
 | 
			
		
	
		
			
				
					|  |  |  |  |         //            continue;
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 if (potentialTarget != null && mob.playerAgroMap.get(potentialTarget.getObjectUUID()).floatValue() > CurrentHateValue && MovementUtilities.inRangeToAggro(mob, potentialTarget)) { | 
			
		
	
		
			
				
					|  |  |  |  |                     CurrentHateValue = mob.playerAgroMap.get(potentialTarget.getObjectUUID()).floatValue(); | 
			
		
	
		
			
				
					|  |  |  |  |                     mostHatedTarget = potentialTarget; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |         //        if (potentialTarget != null && mob.playerAgroMap.get(potentialTarget.getObjectUUID()).floatValue() > CurrentHateValue && MovementUtilities.inRangeToAggro(mob, potentialTarget)) {
 | 
			
		
	
		
			
				
					|  |  |  |  |         //            CurrentHateValue = mob.playerAgroMap.get(potentialTarget.getObjectUUID()).floatValue();
 | 
			
		
	
		
			
				
					|  |  |  |  |         //            mostHatedTarget = potentialTarget;
 | 
			
		
	
		
			
				
					|  |  |  |  |         //        }
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             return mostHatedTarget; | 
			
		
	
		
			
				
					|  |  |  |  |         } catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  |  |             Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: ChangeTargetFromMostHated" + " " + e.getMessage()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         //    }
 | 
			
		
	
		
			
				
					|  |  |  |  |         //    return mostHatedTarget;
 | 
			
		
	
		
			
				
					|  |  |  |  |         //} catch (Exception e) {
 | 
			
		
	
		
			
				
					|  |  |  |  |         //    Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: ChangeTargetFromMostHated" + " " + e.getMessage());
 | 
			
		
	
		
			
				
					|  |  |  |  |         //}
 | 
			
		
	
		
			
				
					|  |  |  |  |         return null; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | } |