|  |  | @ -1,5 +1,8 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | package engine.gameManager; |  |  |  | package engine.gameManager; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import engine.mobileAI.MobAI; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import engine.mobileAI.utilities.CombatUtilities; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import engine.mobileAI.utilities.MovementUtilities; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.objects.Mob; |  |  |  | import engine.objects.Mob; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.objects.Resists; |  |  |  | import engine.objects.Resists; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.objects.Zone; |  |  |  | import engine.objects.Zone; | 
			
		
	
	
		
		
			
				
					|  |  | @ -118,4 +121,26 @@ public class HellgateManager { | 
			
		
	
		
		
			
				
					
					|  |  |  |         hellgate_boss.setHealth(hellgate_boss.healthMax); |  |  |  |         hellgate_boss.setHealth(hellgate_boss.healthMax); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public static void SpecialMobAIHandler(Mob mob){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(mob.playerAgroMap.isEmpty()) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(!mob.isAlive()) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(mob.combatTarget == null) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             MobAI.NewAggroMechanic(mob); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(MovementUtilities.canMove(mob) &&  mob.combatTarget != null && !CombatUtilities.inRangeToAttack(mob,mob.combatTarget)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             MobAI.chaseTarget(mob); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(mob.combatTarget != null) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             MobAI.CheckForAttack(mob); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(mob.combatTarget == null && mob.loc.distanceSquared(mob.bindLoc) > 100) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             mob.teleport(mob.bindLoc); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |