/// <summary> /// Returns a list of predicted minion positions. /// </summary> /// <param name="minions"> /// Given Minion List /// </param> /// <param name="delay"> /// Skill-shot Delay /// </param> /// <param name="width"> /// Skill-shot Width /// </param> /// <param name="speed"> /// Skill-shot Speed /// </param> /// <param name="from"> /// The From /// </param> /// <param name="range"> /// Skill-shot Range /// </param> /// <param name="collision"> /// Has Collision Flag /// </param> /// <param name="stype"> /// Skill-shot Type /// </param> /// <param name="rangeCheckFrom"> /// Range check from Vector3 source /// </param> /// <returns> /// List of Points in <see cref="Vector2" /> type /// </returns> public static List<Vector2> GetMinionsPredictedPositions( List<Obj_AI_Base> minions, float delay, float width, float speed, Vector3 from, float range, bool collision, SkillshotType stype, Vector3 rangeCheckFrom = default(Vector3)) { from = from.ToVector2().IsValid() ? from : ObjectManager.Player.ServerPosition; return (from minion in minions select Movement.GetPrediction( new PredictionInput { Unit = minion, Delay = delay, Radius = width, Speed = speed, From = @from, Range = range, Collision = collision, Type = stype, RangeCheckFrom = rangeCheckFrom }) into pos where pos.Hitchance >= HitChance.High select pos.UnitPosition.ToVector2()).ToList(); }