@ -9,6 +9,7 @@ import engine.net.client.msg.AttackCmdMsg;
				@@ -9,6 +9,7 @@ import engine.net.client.msg.AttackCmdMsg;
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.net.client.msg.ClientNetMsg ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.net.client.msg.TargetedActionMsg ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.objects.AbstractWorldObject ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.objects.Building ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.objects.Mob ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.objects.PlayerCharacter ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  org.pmw.tinylog.Logger ;  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -39,7 +40,6 @@ public class AttackCmdMsgHandler extends AbstractClientMsgHandler {
				@@ -39,7 +40,6 @@ public class AttackCmdMsgHandler extends AbstractClientMsgHandler {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        msg  =  ( AttackCmdMsg )  baseMsg ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        int  targetType ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        AbstractWorldObject  target ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( TargetedActionMsg . un2cnt  = =  60  | |  TargetedActionMsg . un2cnt  = =  70 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return  true ;   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -54,26 +54,21 @@ public class AttackCmdMsgHandler extends AbstractClientMsgHandler {
				@@ -54,26 +54,21 @@ public class AttackCmdMsgHandler extends AbstractClientMsgHandler {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return  true ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        targetType  =  msg . getTargetType ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( targetType  = =  Enum . GameObjectType . PlayerCharacter . ordinal ( ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            target  =  PlayerCharacter . getFromCache ( msg . getTargetID ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  else  if  ( targetType  = =  Enum . GameObjectType . Building . ordinal ( ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            target  =  BuildingManager . getBuildingFromCache ( msg . getTargetID ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  else  if  ( targetType  = =  Enum . GameObjectType . Mob . ordinal ( ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            target  =  Mob . getFromCache ( msg . getTargetID ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            playerCharacter . setCombatTarget ( null ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return  true ;  //not valid type to attack
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        AbstractWorldObject  target  =  playerCharacter . combatTarget ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ( target  = =  null )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return  true ;  // cannot attack a null target
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        switch ( target . getObjectType ( ) ) {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            case  NPC :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                playerCharacter . setCombatTarget ( null ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                return  true ;  //cannot attack NPCs
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            case  Building :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                Building  targetBuilding  =  ( Building )  target ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                if ( ! targetBuilding . isVulnerable ( )  | |  targetBuilding . getRank ( )  <  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    playerCharacter . setCombatTarget ( null ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    return  true ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // quit of the combat target is already the current combat target
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // or there is no combat target
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( target  = =  null )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return  true ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        //set sources target
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        playerCharacter . setCombatTarget ( target ) ;