public static AIHeroClient GetBestKSHero(SpellSlot slot) { var spell = SpellList.FirstOrDefault(s => s.Slot == slot); if (spell == null) { return(null); } var hero = EntityManager.Heroes.Enemies.OrderBy(x => x.Health).ThenBy(TargetSelector.GetPriority) .FirstOrDefault( e => e.IsValidTarget(spell.Range) && Prediction.Health.GetPrediction(e, spell.CastDelay) + e.TotalShield() <= GetRKSDamage(e) && Prediction.Health.GetPrediction(e, spell.CastDelay) > 20); return(hero); }
public static Obj_AI_Base GetJungleMinionToKS(SpellSlot slot) { var spell = SpellList.FirstOrDefault(s => s.Slot == slot); if (spell == null) { return(null); } var minion = EntityManager.MinionsAndMonsters.GetJungleMonsters() .OrderBy(m => m.Health) .FirstOrDefault( mi => mi.IsValidTarget(spell.Range) && Prediction.Health.GetPrediction(mi, spell.CastDelay) <= GetDamage(slot, mi) && Prediction.Health.GetPrediction(mi, spell.CastDelay) > 20); return(minion); }