static void CastR(Obj_AI_Hero currenttarget) { var Check = HeroManager.Enemies .Where( h => h.IsValidTarget(Spells["R"].Range) && h.CountEnemiesInRange(Spells["R"].Range) >= LissUtils.GetSlider("Combo.Rcount") && !LissUtils.Active("Blacklist." + h.ChampionName)).ToList(); if (Player.CountEnemiesInRange(Spells["R"].Range) >= LissUtils.GetSlider("Combo.Rcount")) { Check.Add(Player); } if (Check != null) { if (Check.Contains(Player) && !LissUtils.isHealthy()) { Spells["R"].CastOnUnit(Player); return; } var target = Check.FirstOrDefault(); if (target != null) { Spells["R"].Cast(target); return; } } if (LissUtils.Active("Blacklist." + currenttarget.ChampionName)) { return; } if (currenttarget.IsKillableFromPoint(Player.ServerPosition)) { Spells["R"].Cast(currenttarget); return; } if (LissUtils.PointUnderAllyTurret(currenttarget.ServerPosition)) { Spells["R"].Cast(currenttarget); return; } var dmgto = Player.GetSpellDamage(currenttarget, SpellSlot.R); if (dmgto > currenttarget.Health && currenttarget.Health >= 0.40 * dmgto) { Spells["R"].Cast(currenttarget); return; } var enemycount = LissUtils.GetSlider("Combo.Rcount"); if (!LissUtils.isHealthy() && Player.CountEnemiesInRange(Spells["R"].Range - 100) >= enemycount) { Spells["R"].CastOnUnit(Player); return; } var possibilities = HeroManager.Enemies.Where(h => (h.IsValidTarget() && Vector3.Distance(h.ServerPosition, Player.ServerPosition) <= Spells["R"].Range || (h.IsKillableFromPoint(Player.ServerPosition) && h.IsValidTarget() && !h.IsInvulnerable)) && !LissUtils.Active("Blacklist." + h.ChampionName)).ToList(); var arranged = possibilities.OrderByDescending(h => h.CountEnemiesInRange(Spells["R"].Range)); if (LissUtils.Active("Misc.PrioritizeUnderTurret")) { var EnemyUnderTurret = arranged.Where(h => LissUtils.PointUnderAllyTurret(h.ServerPosition) && !h.IsInvulnerable); if (EnemyUnderTurret != null) { var Enemytofocus = EnemyUnderTurret.MaxOrDefault(h => h.CountEnemiesInRange(Spells["R"].Range)); if (Enemytofocus != null) { Spells["R"].Cast(Enemytofocus); return; } } } var UltTarget = arranged.FirstOrDefault(); if (UltTarget != null) { if (!LissUtils.isHealthy() && Player.CountEnemiesInRange(Spells["R"].Range) > UltTarget.CountEnemiesInRange(Spells["R"].Range) + 1) { Spells["R"].CastOnUnit(Player); return; } Spells["R"].Cast(UltTarget); } }