static void LaneClear_Cougar() { var lane_Q2 = Config.Item("lane.Q2").GetValue <bool>(); var lane_W2 = Config.Item("lane.W2").GetValue <bool>(); var lane_E2 = Config.Item("lane.E2").GetValue <bool>(); var ELocation = MinionManager.GetMinions(E2.Range, MinionTypes.All, MinionTeam.Enemy).Where(m => m.IsEnemy && !m.IsDead && m.IsMinion && m.Distance(ObjectManager.Player.Position) < E2.Range); var EfarmPred = E2.GetLineFarmLocation(new List <Obj_AI_Base>(ELocation), E2.Width); var WLocation = MinionManager.GetMinions(W2.Range, MinionTypes.All, MinionTeam.Enemy).Where(m => m.IsEnemy && !m.IsDead && m.IsMinion && ObjectManager.Player.Distance(m.Position) > 100 && m.IsValidTarget(W3.Range)); var WfarmPred = W2.GetLineFarmLocation(new List <Obj_AI_Base>(WLocation), W3.Width); var Minions = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Enemy).Where(m => m.IsMinion && !m.IsDead && m.IsEnemy); var GetKillableMinions = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Enemy).Where(m => m.IsMinion && m.IsEnemy && !m.IsDead && m.Distance(ObjectManager.Player.Position) < ObjectManager.Player.AttackRange + m.BoundingRadius && m.Health < ObjectManager.Player.GetAutoAttackDamage(m)); if (Q2.IsReady() && lane_Q2) { foreach (var min in Minions.Where(m => m.Distance(ObjectManager.Player.Position) <= ObjectManager.Player.AttackRange + m.BoundingRadius)) { if (min.Health < Damages.Cougar_Q_Damage(min) && min.Health > ObjectManager.Player.GetAutoAttackDamage(min)) { Q2.Cast(); EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, min); } } } if (W3.IsReady() && lane_W2) { if (WfarmPred.MinionsHit >= 2) { W3.Cast(WfarmPred.Position); } } if (E2.IsReady() && lane_E2) { if (ELocation.Count() >= 1) { E.Cast(EfarmPred.Position); } } }
static void Combo_Cougar() { //Main Target Selector, Use Spell with Highest Range for Range. var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (target == null || !target.IsValid) { return; //Important! Without checking if target is null it will spamm console errors. } var combo_Q = Config.Item("combat.Q2").GetValue <bool>(); var combo_W = Config.Item("combat.W2").GetValue <bool>(); var combo_E = Config.Item("combat.E2").GetValue <bool>(); var combo_R = Config.Item("combat.R2").GetValue <bool>(); if (Q2.IsReady() && target.IsValidTarget(ObjectManager.Player.AttackRange + 50) && combo_Q && !W.IsReady() && !E.IsReady()) { if (W.IsReady() && target.IsValidTarget(W2.Range / 2) && ObjectManager.Player.Distance(target) > 70 && Damages.Cougar_W_Damage(target) > target.Health && combo_W) { return; } if (E.IsReady() && target.IsValidTarget(E2.Range - 25) && combo_E && target.Health < Damages.Cougar_E_Damage(target)) { return; } if (Q2.IsReady() && target.Health < Damages.Cougar_Q_Damage(target)) { Q2.Cast(); Printconsole("Casted Takedown! - Reason: Targets gonna die yo"); } if (Q2.IsReady() && !W.IsReady() && !E.IsReady()) { Q2.Cast(); Printconsole("Casted Takedown! - Reason: No Spells CD's left"); } } if (target.IsValidTarget(W2.Range) && combo_W) { if (Q2.IsReady() && target.Health < Damages.Cougar_Q_Damage(target) && target.IsValidTarget(ObjectManager.Player.AttackRange)) { return; } if (R_Manager.IsHunted(target) && target.IsValidTarget(W2.Range)) { W2.Cast(target); Printconsole("Casted Pounce! - Reason: Target is Hunted and in Pounce [W] Range"); } if (target.IsValidTarget(W2.Range / 2) && !R_Manager.IsHunted(target) && ObjectManager.Player.Distance(target) > 150) { W2.Cast(target); Printconsole("Casted Pounce! - Reason: in Pounce [W] Range"); } if (target.Health > Damages.Cougar_W_Damage(target) && target.Health < Damages.Cougar_W_Damage(target) + Damages.Cougar_Q_Damage(target) && R_Manager.IsHunted(target) && Q.IsReady() && W.IsReady() && combo_Q && combo_W && ObjectManager.Player.Distance(target) > 150) { W2.Cast(target); Printconsole("Casted Pounce! - Reason: in Pounce [W+Q Combo]"); } } if (E2.IsReady() && target.IsValidTarget(E2.Range - 25) && combo_E) { if (E2.IsReady() && !W.IsReady()) { E2.Cast(target); Printconsole("Casted Swipe! - Reason: Target is Valid and in [E] Range"); } if (target.Health > Damages.Cougar_E_Damage(target) && target.Health < Damages.Cougar_E_Damage(target) + Damages.Cougar_Q_Damage(target) && Q.IsReady() && E.IsReady() && combo_Q && combo_E) { E2.Cast(target); Printconsole("Casted Swipe! Reason: [E/Q] Combo"); } } if (R.IsReady() && target.IsValidTarget(R.Range) && combo_R) { var qprediction = Q.GetPrediction(target); if (R_Manager.QhumanReady && qprediction.Hitchance >= QPrediction()) { if (W.IsReady() && R_Manager.IsHunted(target) && target.IsValidTarget(W2.Range) || Q.IsReady() && ObjectManager.Player.HasBuff("Takedown") && target.IsValidTarget(ObjectManager.Player.AttackRange + 20) || E2.IsReady() && target.Health < Damages.Cougar_E_Damage(target) && target.IsValidTarget(E2.Range - 25)) { return; } R.Cast(); Printconsole("Switched to Human Form! - Reason: Q is Ready && Prediction equals hitchance"); if (!W.IsReady() && !Q.IsReady() && !E.IsReady() && ObjectManager.Player.HealthPercent < 35) { R.Cast(); } } } }
static void JungleClear_Cougar() { var jungle_Q2 = Config.Item("Jungle.Q2").GetValue <bool>(); var jungle_W2 = Config.Item("Jungle.W2").GetValue <bool>(); var jungle_E2 = Config.Item("Jungle.E2").GetValue <bool>(); var Jungle_R = Config.Item("Jungle.R").GetValue <bool>(); var Qminion = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => !m.IsDead && m.Distance(ObjectManager.Player.Position) < W2.Range).OrderBy(m => m.MaxHealth).LastOrDefault(); var Minions = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => !m.IsDead); var GetKillableMinions = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => !m.IsDead && m != null && m.Distance(ObjectManager.Player.Position) < ObjectManager.Player.AttackRange + m.BoundingRadius && m.Health < ObjectManager.Player.GetAutoAttackDamage(m)); if (Q2.IsReady() && jungle_Q2) { foreach (var min in Minions.Where(m => m.Distance(ObjectManager.Player.Position) <= ObjectManager.Player.AttackRange + m.BoundingRadius && m != null)) { if (min == null) { return; } if (min.Health < Damages.Cougar_Q_Damage(min) && min.Health > ObjectManager.Player.GetAutoAttackDamage(min)) { Q2.Cast(); EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, min); } if (!W.IsReady() && !E.IsReady()) { Q2.Cast(); EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, min); } } } if (W2.IsReady() && jungle_W2) { if (Qminion.IsValidTarget(W2.Range / 2)) { W2.Cast(Qminion); } if (R_Manager.IsHunted(Qminion) && Qminion.IsValidTarget(W2.Range)) { W2.Cast(Qminion); } } if (E2.IsReady() && jungle_E2) { if (E2.IsReady() && Qminion.IsValidTarget(E2.Range)) { E2.Cast(Qminion); } } if (R.IsReady() && Jungle_R) { if (W2.IsReady() && Qminion.IsValidTarget(W2.Range / 2) || E2.IsReady() && Qminion.IsValidTarget(E2.Range) || Q.IsReady() && Qminion.IsValidTarget(ObjectManager.Player.AttackRange) || R_Manager.IsHunted(Qminion) && Qminion.IsValidTarget(W2.Range) && W.IsReady()) { return; } var qpred = Q.GetPrediction(Qminion); if (R_Manager.QhumanReady && Qminion.IsValidTarget(Q.Range)) { R.Cast(); } } }