@ -11,22 +11,22 @@ package engine.powers.poweractions;
				@@ -11,22 +11,22 @@ package engine.powers.poweractions;
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.Enum.GameObjectType ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.InterestManagement.WorldGrid ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.gameManager.DbManager ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.gameManager.MovementManager ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.gameManager.ZoneManager ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.math.Vector3fImmutable ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.net.Dispatch ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.net.DispatchMessage ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.net.client.ClientConnection ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.net.client.msg.PromptRecallMsg ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.objects.AbstractCharacter ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.objects.AbstractWorldObject ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.objects.Mob ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.objects.PlayerCharacter ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.objects.* ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.powers.ActionsBase ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.powers.PowersBase ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  engine.server.MBServerStatics ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  java.sql.ResultSet ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  java.sql.SQLException ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					import  java.util.concurrent.ThreadLocalRandom ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					public  class  RecallPowerAction  extends  AbstractPowerAction  {  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -48,8 +48,6 @@ public class RecallPowerAction extends AbstractPowerAction {
				@@ -48,8 +48,6 @@ public class RecallPowerAction extends AbstractPowerAction {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( pc . hasBoon ( ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                return ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ClientConnection  cc  =  pc . getClientConnection ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( source . getObjectUUID ( )  ! =  pc . getObjectUUID ( ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                pc . setTimeStampNow ( "PromptRecall" ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                pc . setTimeStamp ( "LastRecallType" ,  1 ) ;  //recall to bind
   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -58,7 +56,28 @@ public class RecallPowerAction extends AbstractPowerAction {
				@@ -58,7 +56,28 @@ public class RecallPowerAction extends AbstractPowerAction {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                DispatchMessage . dispatchMsgDispatch ( dispatch ,  engine . Enum . DispatchChannel . SECONDARY ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                MovementManager . translocate ( awoac ,  awoac . getBindLoc ( ) ,  null ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                if ( pc . guild . equals ( Guild . getErrantGuild ( ) )  | |  pc . guild . getNation ( ) . equals ( Guild . getErrantGuild ( ) ) ) {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    Vector3fImmutable  loc ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    for  ( AbstractGameObject  cityAgo  :  DbManager . getList ( GameObjectType . City ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        City  city  =  ( City )  cityAgo ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        if  ( city  = =  null )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                            continue ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        if  ( ! city . getCityName ( ) . equalsIgnoreCase ( "sea dog's rest" ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                            continue ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        Zone  zone  =  city . getParent ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        if  ( zone  ! =  null )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                            if  ( zone . isNPCCity ( )  | |  zone . isPlayerCity ( ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                loc  =  Vector3fImmutable . getRandomPointOnCircle ( zone . getLoc ( ) ,  MBServerStatics . TREE_TELEPORT_RADIUS ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                            else   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                loc  =  zone . getLoc ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                            MovementManager . translocate ( awoac ,  loc ,  null ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                break ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                }  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    MovementManager . translocate ( awoac ,  awoac . getBindLoc ( ) ,  null ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            Vector3fImmutable  bindloc  =  awoac . getBindLoc ( ) ;