/// <summary> /// Gets the best candidate target. /// </summary> /// <param name="spell"> /// The Spell instance /// </param> /// <param name="champsToIgnore"> /// Champions to ignore. /// </param> /// <param name="rangeCheckFrom"> /// The range Check From. /// </param> /// <returns> /// The <see cref="Obj_AI_Hero" /> target. /// </returns> public static Obj_AI_Hero GetTargetNoCollision( Spell spell, IEnumerable<Obj_AI_Hero> champsToIgnore, Vector3? rangeCheckFrom = null) { var t = GetTarget(spell.Range, spell.DamageType, champsToIgnore, rangeCheckFrom); if (spell.Collision && spell.GetPrediction(t).Hitchance != HitChance.Collision) { return t; } return null; }