static List <Vector2> GetEnemyPoints(bool dynamic = true) { var staticRange = 360f; var polygonsList = Variables.EnemiesClose.Select(enemy => new AJSGeometry.Circle(enemy.ServerPosition.To2D(), (dynamic ? (enemy.IsMelee ? enemy.AttackRange * 1.5f : enemy.AttackRange) : staticRange) + enemy.BoundingRadius + 20).ToPolygon()).ToList(); var pathList = AJSGeometry.ClipPolygons(polygonsList); var pointList = pathList.SelectMany(path => path, (path, point) => new Vector2(point.X, point.Y)).Where(currentPoint => !currentPoint.IsWall()).ToList(); return(pointList); }