@ -5182,49 +5182,18 @@ public class PlayerCharacter extends AbstractCharacter {
				@@ -5182,49 +5182,18 @@ public class PlayerCharacter extends AbstractCharacter {
					 
			
		
	
		
			
				
					                    this . safeZone  =  this . isInSafeZone ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                    if ( this . isActive  & &  this . enteredWorld )  {   
			
		
	
		
			
				
					                        if  ( ! this . timestamps . containsKey ( "nextBoxCheck" ) )   
			
		
	
		
			
				
					                            this . timestamps . put ( "nextBoxCheck" ,  System . currentTimeMillis ( )  +  3000 ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                        if ( this . timestamps . get ( "nextBoxCheck" )  <  System . currentTimeMillis ( ) )  {   
			
		
	
		
			
				
					                            if  ( ! this . isBoxed )  {   
			
		
	
		
			
				
					                                this . isBoxed  =  checkIfBoxed ( this ) ;   
			
		
	
		
			
				
					                            }   
			
		
	
		
			
				
					                            this . timestamps . put ( "nextBoxCheck" ,  System . currentTimeMillis ( )  +  3000 ) ;   
			
		
	
		
			
				
					                        }   
			
		
	
		
			
				
					                        if  ( this . level  <  10  & &  this . enteredWorld )  {   
			
		
	
		
			
				
					                            while  ( this . level  <  10 )  {   
			
		
	
		
			
				
					                                grantXP ( Experience . getBaseExperience ( this . level  +  1 )  -  this . exp ) ;   
			
		
	
		
			
				
					                            }   
			
		
	
		
			
				
					                        }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                        if  ( this . isBoxed  & &  ! this . containsEffect ( - 654906771 ) )  {   
			
		
	
		
			
				
					                            PowersManager . applyPower ( this ,  this ,  Vector3fImmutable . ZERO ,  - 935138707 ,  40 ,  false ) ;   
			
		
	
		
			
				
					                        } else  if ( ! this . isBoxed  & &  this . containsEffect ( - 654906771 ) ) {   
			
		
	
		
			
				
					                            this . effects . remove ( "PvE-Flagged" ) ;   
			
		
	
		
			
				
					                            this . effects . remove ( "1258" ) ;   
			
		
	
		
			
				
					                            WorldGrid . updateObject ( this ) ;   
			
		
	
		
			
				
					                        }   
			
		
	
		
			
				
					                    }   
			
		
	
		
			
				
					                    if  ( this . isFlying ( ) )  {   
			
		
	
		
			
				
					                        if  ( this . effects . containsKey ( "MoveBuff" ) )  {   
			
		
	
		
			
				
					                            GroundPlayer ( this ) ;   
			
		
	
		
			
				
					                        }   
			
		
	
		
			
				
					                        if  ( ! this . timestamps . containsKey ( "StunGrounded" ) )   
			
		
	
		
			
				
					                            this . timestamps . put ( "StunGrounded" ,  System . currentTimeMillis ( )  -  1000L ) ;   
			
		
	
		
			
				
					                        if  ( this . bonuses . getBool ( ModType . Stunned ,  SourceType . None )  & &  this . timestamps . get ( "StunGrounded" )  <  System . currentTimeMillis ( ) )  {   
			
		
	
		
			
				
					                            boolean  isFlyMoving  =  this . getDesiredAltitude ( )  ! =  this . altitude ;   
			
		
	
		
			
				
					                            if  ( ! isFlyMoving  & &  this . bonuses . getBool ( ModType . Stunned ,  SourceType . None ) )  {   
			
		
	
		
			
				
					                                this . setDesiredAltitude ( this . altitude  -  10 ) ;   
			
		
	
		
			
				
					                                this . setTakeOffTime ( System . currentTimeMillis ( ) ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                                ChangeAltitudeMsg  msg  =  new  ChangeAltitudeMsg ( this . getObjectType ( ) . ordinal ( ) ,  this . getObjectUUID ( ) ,  false ,  this . getAltitude ( ) ,  this . getDesiredAltitude ( ) ,  this . getAltitude ( ) ) ;   
			
		
	
		
			
				
					                                // force a landing
   
			
		
	
		
			
				
					                                DispatchMessage . dispatchMsgToInterestArea ( this ,  msg ,  DispatchChannel . PRIMARY ,  MBServerStatics . CHARACTER_LOAD_RANGE ,  true ,  false ) ;   
			
		
	
		
			
				
					                                this . timestamps . put ( "StunGrounded" ,  System . currentTimeMillis ( )  +  1500L ) ;   
			
		
	
		
			
				
					                                ChatManager . chatSystemInfo ( this ,  "Applying 1 Tier Ground" ) ;   
			
		
	
		
			
				
					                            }   
			
		
	
		
			
				
					                        }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                    this . auditBoxedStatus ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                    if  ( this . isFlying ( ) )  {   
			
		
	
		
			
				
					                        this . auditFlightStatus ( ) ;   
			
		
	
		
			
				
					                    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                }  catch  ( Exception  e )  {   
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -5237,6 +5206,56 @@ public class PlayerCharacter extends AbstractCharacter {
				@@ -5237,6 +5206,56 @@ public class PlayerCharacter extends AbstractCharacter {
					 
			
		
	
		
			
				
					            Logger . error ( "UPDATE ISSUE: "  +  e ) ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    public  void  auditBoxedStatus ( ) {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        if  ( ! this . timestamps . containsKey ( "nextBoxCheck" ) )   
			
		
	
		
			
				
					            this . timestamps . put ( "nextBoxCheck" ,  System . currentTimeMillis ( )  +  3000 ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        if ( this . timestamps . get ( "nextBoxCheck" )  <  System . currentTimeMillis ( ) )  {   
			
		
	
		
			
				
					            if  ( ! this . isBoxed )  {   
			
		
	
		
			
				
					                this . isBoxed  =  checkIfBoxed ( this ) ;   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					            this . timestamps . put ( "nextBoxCheck" ,  System . currentTimeMillis ( )  +  3000 ) ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        if  ( this . isBoxed  & &  ! this . containsEffect ( - 654906771 ) )  {   
			
		
	
		
			
				
					            PowersManager . applyPower ( this ,  this ,  Vector3fImmutable . ZERO ,  - 935138707 ,  40 ,  false ) ;   
			
		
	
		
			
				
					        } else  if ( ! this . isBoxed  & &  this . containsEffect ( - 654906771 ) ) {   
			
		
	
		
			
				
					            try  {   
			
		
	
		
			
				
					                this . effects . get ( "PvE-Flagged" ) . endEffect ( ) ;   
			
		
	
		
			
				
					                //this.effects.remove("PvE-Flagged");
   
			
		
	
		
			
				
					            } catch ( Exception  ignored ) {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					            try {   
			
		
	
		
			
				
					                this . effects . get ( "1258" ) . endEffect ( ) ;   
			
		
	
		
			
				
					                //this.effects.remove("1258");
   
			
		
	
		
			
				
					            } catch ( Exception  ignored ) {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					    public  void  auditFlightStatus ( ) {   
			
		
	
		
			
				
					        if  ( this . effects . containsKey ( "MoveBuff" ) )  {   
			
		
	
		
			
				
					            GroundPlayer ( this ) ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					        if  ( ! this . timestamps . containsKey ( "StunGrounded" ) )   
			
		
	
		
			
				
					            this . timestamps . put ( "StunGrounded" ,  System . currentTimeMillis ( )  -  1000L ) ;   
			
		
	
		
			
				
					        if  ( this . bonuses . getBool ( ModType . Stunned ,  SourceType . None )  & &  this . timestamps . get ( "StunGrounded" )  <  System . currentTimeMillis ( ) )  {   
			
		
	
		
			
				
					            boolean  isFlyMoving  =  this . getDesiredAltitude ( )  ! =  this . altitude ;   
			
		
	
		
			
				
					            if  ( ! isFlyMoving  & &  this . bonuses . getBool ( ModType . Stunned ,  SourceType . None ) )  {   
			
		
	
		
			
				
					                this . setDesiredAltitude ( this . altitude  -  10 ) ;   
			
		
	
		
			
				
					                this . setTakeOffTime ( System . currentTimeMillis ( ) ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                ChangeAltitudeMsg  msg  =  new  ChangeAltitudeMsg ( this . getObjectType ( ) . ordinal ( ) ,  this . getObjectUUID ( ) ,  false ,  this . getAltitude ( ) ,  this . getDesiredAltitude ( ) ,  this . getAltitude ( ) ) ;   
			
		
	
		
			
				
					                // force a landing
   
			
		
	
		
			
				
					                DispatchMessage . dispatchMsgToInterestArea ( this ,  msg ,  DispatchChannel . PRIMARY ,  MBServerStatics . CHARACTER_LOAD_RANGE ,  true ,  false ) ;   
			
		
	
		
			
				
					                this . timestamps . put ( "StunGrounded" ,  System . currentTimeMillis ( )  +  1500L ) ;   
			
		
	
		
			
				
					                ChatManager . chatSystemInfo ( this ,  "Applying 1 Tier Ground" ) ;   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					    public  static  void  unboxPlayer ( PlayerCharacter  player ) {   
			
		
	
		
			
				
					        String  machineID  =  player . getClientConnection ( ) . machineID ;   
			
		
	
		
			
				
					        ArrayList < PlayerCharacter >  sameMachine  =  new  ArrayList < > ( ) ;