         ray.direction = node.worldRotation * Vector3 (0, 0, 1);
         
         PhysicsRaycastResult result = 
-            physicsWorld.RaycastSingle (ray, 40.0f);
+            physicsWorld.RaycastSingle (ray, 25.0f);
             
         if (result.body !is null and 
             result.body.node.vars ["ObjectType"].GetInt () ==

        timeFromLastScan_ += timeStep;
        timeFromLastShotRaycasting_ += timeStep;
        
        if (timeFromLastScan_ > 0.4f)
        {
            Array <Node @> @enemies = GetEnemiesNear ();
            float runAwayPoints = CalculateRunAwayDecisionPoints (enemies);

            ray.direction = processingEnemy.worldRotation * Vector3 (0, 0, 1);
            
            PhysicsRaycastResult result = 
                physicsWorld.RaycastSingle (ray, 30.0f);
                
            if (result.body !is null and 
                result.body.node.id == node.id)
            {
                int myExp = node.vars ["Exp"].GetInt ();
                int enemyExp = processingEnemy.vars ["Exp"].GetInt ();
                runAwayDecisionPoints += 20.0f * (10.0f + enemyExp - myExp);
            }
        }
        return runAwayDecisionPoints;
