|  |  | @ -2,6 +2,7 @@ package engine.mobileAI.Threads; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.gameManager.ConfigManager; |  |  |  | import engine.gameManager.ConfigManager; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.gameManager.ZoneManager; |  |  |  | import engine.gameManager.ZoneManager; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import engine.mobileAI.MobAI; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.mobileAI.SuperSimpleMobAI; |  |  |  | import engine.mobileAI.SuperSimpleMobAI; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.objects.Mob; |  |  |  | import engine.objects.Mob; | 
			
		
	
		
		
			
				
					
					|  |  |  | import engine.objects.Zone; |  |  |  | import engine.objects.Zone; | 
			
		
	
	
		
		
			
				
					|  |  | @ -32,35 +33,35 @@ public class MobAIThread implements Runnable{ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         for (Mob mob : zone.zoneMobSet) { |  |  |  |                         for (Mob mob : zone.zoneMobSet) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                             try { |  |  |  |                             try { | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 if (mob != null) { |  |  |  |                                 if (mob != null) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                                     //MobAI.DetermineAction(mob);
 |  |  |  |                                     MobAI.DetermineAction(mob); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                     if(mob.isSiege() || mob.isPet() || mob.isPlayerGuard()){ |  |  |  |                                     //if(mob.isSiege() || mob.isPet() || mob.isPlayerGuard()){
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         SuperSimpleMobAI.run(mob); |  |  |  |                                     //    SuperSimpleMobAI.run(mob);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         return; |  |  |  |                                     //    return;
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                     } |  |  |  |                                     //}
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                     boolean override; |  |  |  |                                     //boolean override;
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                     switch (mob.BehaviourType) { |  |  |  |                                     //switch (mob.BehaviourType) {
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         case GuardCaptain: |  |  |  |                                     //    case GuardCaptain:
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         case GuardMinion: |  |  |  |                                     //    case GuardMinion:
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         case GuardWallArcher: |  |  |  |                                     //    case GuardWallArcher:
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         case Pet1: |  |  |  |                                     //    case Pet1:
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         case HamletGuard: |  |  |  |                                     //    case HamletGuard:
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                             override = false; |  |  |  |                                     //        override = false;
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                             break; |  |  |  |                                     //        break;
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         default: |  |  |  |                                      //   default:
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                             override = true; |  |  |  |                                     //        override = true;
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                             break; |  |  |  |                                     //        break;
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                     } |  |  |  |                                     //}
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                                     if(mob.isSiege()) |  |  |  |                                    // if(mob.isSiege())
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         override = false; |  |  |  |                                     //    override = false;
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                                     if(mob.isPet()) |  |  |  |                                     //if(mob.isPet())
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         override = false; |  |  |  |                                     //    override = false;
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                                     if(override){ |  |  |  |                                     //if(override){
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         SuperSimpleMobAI.run(mob); |  |  |  |                                      //   SuperSimpleMobAI.run(mob);
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                         return; |  |  |  |                                     //    return;
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                     } |  |  |  |                                     //}
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                                 } |  |  |  |                                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |                             } catch (Exception e) { |  |  |  |                             } catch (Exception e) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                                 Logger.error("Error processing Mob [Name: {}, UUID: {}]", mob.getName(), mob.getObjectUUID(), e); |  |  |  |                                 Logger.error("Error processing Mob [Name: {}, UUID: {}]", mob.getName(), mob.getObjectUUID(), e); | 
			
		
	
	
		
		
			
				
					|  |  | @ -68,12 +69,12 @@ public class MobAIThread implements Runnable{ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |                 try { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             try { |  |  |  |                     Thread.sleep(100); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 Thread.sleep(100); |  |  |  |                 } catch (InterruptedException e) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             } catch (InterruptedException e) { |  |  |  |                     Logger.error("AI Thread interrupted", e); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 Logger.error("AI Thread interrupted", e); |  |  |  |                     Thread.currentThread().interrupt(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 Thread.currentThread().interrupt(); |  |  |  |                 } | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |