|  |  | @ -347,7 +347,6 @@ public class MobileFSM { | 
			
		
	
		
		
			
				
					
					|  |  |  |             respawnQue.remove(0); |  |  |  |             respawnQue.remove(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |             lastRespawn = System.currentTimeMillis(); |  |  |  |             lastRespawn = System.currentTimeMillis(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mob == null) |  |  |  |         if (mob == null) | 
			
		
	
		
		
			
				
					
					|  |  |  |             return; |  |  |  |             return; | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mob.despawned && mob.getMobBase().getLoadID() == 13171) { |  |  |  |         if (mob.despawned && mob.getMobBase().getLoadID() == 13171) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -390,8 +389,22 @@ public class MobileFSM { | 
			
		
	
		
		
			
				
					
					|  |  |  |         if(mob.BehaviourType.ordinal() != Enum.MobBehaviourType.Pet1.ordinal()) { |  |  |  |         if(mob.BehaviourType.ordinal() != Enum.MobBehaviourType.Pet1.ordinal()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             CheckToSendMobHome(mob); |  |  |  |             CheckToSendMobHome(mob); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mob.combatTarget != null && mob.combatTarget.isAlive() == false) { |  |  |  |         if (mob.combatTarget != null) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if(mob.getCombatTarget().isAlive() == false){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 mob.setCombatTarget(null); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if(mob.getCombatTarget().getObjectTypeMask() == MBServerStatics.MASK_PLAYER){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if(mob.playerAgroMap.containsKey(mob.getCombatTarget().getObjectUUID()) == false){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     mob.setCombatTarget(null); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if(mob.canSee((PlayerCharacter)mob.getCombatTarget()) == false) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     mob.setCombatTarget(null); |  |  |  |                     mob.setCombatTarget(null); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         switch (mob.BehaviourType) { |  |  |  |         switch (mob.BehaviourType) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             case GuardCaptain: |  |  |  |             case GuardCaptain: | 
			
		
	
	
		
		
			
				
					|  |  | @ -716,10 +729,10 @@ public class MobileFSM { | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private static void DefaultLogic(Mob mob) { |  |  |  |     private static void DefaultLogic(Mob mob) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mob.getObjectUUID() == 40548) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             int thing = 0; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         //check for players that can be aggroed if mob is agressive and has no target
 |  |  |  |         //check for players that can be aggroed if mob is agressive and has no target
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(mob.getCombatTarget() != null && mob.playerAgroMap.containsKey(mob.getCombatTarget().getObjectUUID()) == false){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             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) { | 
			
		
	
	
		
		
			
				
					|  |  | 
 |