|  |  | @ -1600,11 +1600,26 @@ public abstract class AbstractCharacter extends AbstractWorldObject { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	//Call to apply any new effects to player
 |  |  |  | 	//Call to apply any new effects to player
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	public synchronized void applyBonuses() { |  |  |  | 	public synchronized void applyBonuses() { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		PlayerCharacter player; | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//tell the player to applyBonuses because something has changed
 |  |  |  | 		//tell the player to applyBonuses because something has changed
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//start running the bonus calculations
 |  |  |  | 		//start running the bonus calculations
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		try{ |  |  |  | 		try{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		runBonuses(); |  |  |  | 		runBonuses(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		// Check if calculations affected flight.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			if (this.getGridObjectType().equals(GameObjectType.PlayerCharacter)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				player = (PlayerCharacter) this; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				// Ground players who cannot fly but are currently flying
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				if (CanFly(player) == false && | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 						player.getMovementState().equals(MovementState.FLYING)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 					PlayerCharacter.GroundPlayer(player); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		}catch(Exception e){ |  |  |  | 		}catch(Exception e){ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			Logger.error("Error in run bonuses for object UUID " + this.getObjectUUID()); |  |  |  | 			Logger.error("Error in run bonuses for object UUID " + this.getObjectUUID()); | 
			
		
	
		
		
			
				
					
					|  |  |  | 			Logger.error(e); |  |  |  | 			Logger.error(e); | 
			
		
	
	
		
		
			
				
					|  |  | 
 |