public static bool IsSafeCheck(this Vector3 position)
{
return IsSafe(position)
&& !(NavMesh.GetCollisionFlags(position).HasFlag(CollisionFlags.Wall)
|| NavMesh.GetCollisionFlags(position).HasFlag(CollisionFlags.Building))
//&& position.IsNotIntoTraps()
&& position.IsNotIntoEnemies()
&& EntityManager.Heroes.Enemies.All(m => m.Distance(position) > 350f)
&& (!Variables.UnderEnemyTower((Vector2)position) || (Variables.UnderEnemyTower((Vector2)Variables._Player.Position) && Variables.UnderEnemyTower((Vector2)position) && ObjectManager.Player.HealthPercent > 10));
//Either it is not under turret or both the player and the position are under turret already and the health percent is greater than 10.
}