|  |  | @ -724,8 +724,8 @@ public class MobAI { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     DefaultLogic(mob); |  |  |  |                     DefaultLogic(mob); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     break; |  |  |  |                     break; | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             if(mob.isAlive()) |  |  |  |             //if(mob.isAlive())
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 RecoverHealth(mob); |  |  |  |             //    RecoverHealth(mob);
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         } catch (Exception e) { |  |  |  |         } catch (Exception e) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: DetermineAction" + " " + e.getMessage()); |  |  |  |             Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: DetermineAction" + " " + e.getMessage()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
	
		
		
			
				
					|  |  | @ -1102,17 +1102,17 @@ public class MobAI { | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (mob.getCombatTarget() == null) |  |  |  |             if (mob.getCombatTarget() == null) | 
			
		
	
		
		
			
				
					
					|  |  |  |                 CheckForPlayerGuardAggro(mob); |  |  |  |                 CheckForPlayerGuardAggro(mob); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob); |  |  |  |             //AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob);
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (newTarget != null) { |  |  |  |             //if (newTarget != null) {
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (newTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) { |  |  |  |             //    if (newTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) {
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     if (GuardCanAggro(mob, (PlayerCharacter) newTarget)) |  |  |  |             //        if (GuardCanAggro(mob, (PlayerCharacter) newTarget))
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         mob.setCombatTarget(newTarget); |  |  |  |             //            mob.setCombatTarget(newTarget);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 } else |  |  |  |             //    } else
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     mob.setCombatTarget(newTarget); |  |  |  |             //        mob.setCombatTarget(newTarget);
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             //}
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             CheckMobMovement(mob); |  |  |  |             CheckMobMovement(mob); | 
			
		
	
		
		
			
				
					
					|  |  |  |             CheckForAttack(mob); |  |  |  |             CheckForAttack(mob); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } catch (Exception e) { |  |  |  |         } catch (Exception e) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -1202,21 +1202,21 @@ public class MobAI { | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (mob.getCombatTarget() != null && mob.playerAgroMap.containsKey(mob.getCombatTarget().getObjectUUID()) == false) |  |  |  |             if (mob.getCombatTarget() != null && mob.playerAgroMap.containsKey(mob.getCombatTarget().getObjectUUID()) == false) | 
			
		
	
		
		
			
				
					
					|  |  |  |                 mob.setCombatTarget(null); |  |  |  |                 mob.setCombatTarget(null); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (mob.BehaviourType.isAgressive) { |  |  |  |             //if (mob.BehaviourType.isAgressive) {
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob); |  |  |  |              //   AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob);
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (newTarget != null) |  |  |  |              //   if (newTarget != null)
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     mob.setCombatTarget(newTarget); |  |  |  |              //       mob.setCombatTarget(newTarget);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 else { |  |  |  |             //    else {
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     if (mob.getCombatTarget() == null) { |  |  |  |             //        if (mob.getCombatTarget() == null) {
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         if (mob.BehaviourType == Enum.MobBehaviourType.HamletGuard) |  |  |  |             //            if (mob.BehaviourType == Enum.MobBehaviourType.HamletGuard)
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             SafeGuardAggro(mob);  //safehold guard
 |  |  |  |              //               SafeGuardAggro(mob);  //safehold guard
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         else |  |  |  |             //            else
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             CheckForAggro(mob);   //normal aggro
 |  |  |  |             //                CheckForAggro(mob);   //normal aggro
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |             //        }
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |             //    }
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             //}
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             //check if mob can move for patrol or moving to target
 |  |  |  |             //check if mob can move for patrol or moving to target
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |