public static Obj_AI_Base GetTarget(Vector3 fromPosition)
{
foreach (var target in EntityManager.Heroes.Enemies.Where(h => h.IsValidTarget(Manager.SpellManager.E.Range)))
{
var pushDistance = Manager.MenuManager.CondemnPushDistance;
var targetPosition = Manager.SpellManager.E2.GetPrediction(target).UnitPosition;
var pushDirection = (targetPosition - Variables._Player.ServerPosition).Normalized();
float checkDistance = pushDistance / 40f;
for (int i = 0; i < 40; i++)
{
Vector3 finalPosition = targetPosition + (pushDirection * checkDistance * i);
var collFlags = NavMesh.GetCollisionFlags(finalPosition);
var j4Flag = Manager.MenuManager.J4Flag && (Variables.IsJ4Flag(finalPosition, target));
if (collFlags.HasFlag(CollisionFlags.Wall) || collFlags.HasFlag(CollisionFlags.Building) || j4Flag) //not sure about building, I think its turrets, nexus etc
{
if (Manager.MenuManager.OnlyStunCurrentTarget && TargetSelector.GetTarget((int)Variables._Player.GetAutoAttackRange(), DamageType.Physical) != null &&
!target.NetworkId.Equals(TargetSelector.GetTarget((int)Variables._Player.GetAutoAttackRange(), DamageType.Physical).NetworkId))
{
return null;
}
if (target.Health + 10 <=
Variables._Player.GetAutoAttackDamage(target) *
Manager.MenuManager.CondemnBlock)
{
return null;
}
return target;
}
}
}
return null;
}