private static void Laneclearrange() { if (getSliderItem(MenuConfig.laneclear, "minmana") > Player.ManaPercent) { return; } var min = ObjectManager.Get <Obj_AI_Minion>() .Where(x => x.LSDistance(Player) < Q.Range - 200 && !x.IsDead && x.IsEnemy && x.IsTargetable); var objAiMinions = min as IList <Obj_AI_Minion> ?? min.ToList(); foreach (var minions in objAiMinions) { minionscircle = new LeagueSharp.Common.Geometry.Polygon.Circle(minions.Position, 250); } var count = objAiMinions.Where(x => minionscircle.IsInside(x)); if (count.Count() < getSliderItem(MenuConfig.laneclear, "minhitwq")) { return; } if (!Ismelee() && Q.IsReady() && getCheckBoxItem(MenuConfig.laneclear, "useqlr")) { Q.Cast(minionscircle.Center); } }
private static void Laneclearmelee() { if (getSliderItem(MenuConfig.laneclear, "minmana") > Player.ManaPercent) { return; } if (!Ismelee()) { return; } var min = ObjectManager.Get <Obj_AI_Minion>() .Where(x => x.LSDistance(Player) < 300 && !x.IsDead && x.IsEnemy).ToList(); if (min.FirstOrDefault() == null) { minionscirclemelee = null; return; } foreach (var minions in min) { minionscirclemelee = new LeagueSharp.Common.Geometry.Polygon.Circle(minions.Position, 300); if (E.IsReady() && getCheckBoxItem(MenuConfig.laneclear, "useelm")) { if (minions.Health < EMeleeDamage(minions)) { Em.Cast(minions); } } } var count = min.Where(x => minionscirclemelee.IsInside(x)); var objAiMinions = count as IList <Obj_AI_Minion> ?? count.ToList(); if (objAiMinions.Count() >= getSliderItem(MenuConfig.laneclear, "minhitwq")) { if (W.IsReady() && getCheckBoxItem(MenuConfig.laneclear, "usewlm")) { W.Cast(); } if (Q.IsReady() && getCheckBoxItem(MenuConfig.laneclear, "useqlm")) { Qm.Cast(objAiMinions.FirstOrDefault()); } } }
private Tuple <int, List <AIHeroClient> > GetHits(Vector3 fromCheck) { var hits = new List <AIHeroClient>(); var positions = new List <xSaliceResurrected_Rework.Utilities.Geometry.Position>(); foreach (var t in HeroManager.Enemies.Where(x => x.Distance(fromCheck) <= 1500)) { var prediction = xSaliceResurrected_Rework.Prediction.CommonPredEx.GetP(fromCheck, R, t, true); if (prediction.Hitchance >= HitChance.High) { if (Util.IsStunned(t) || !Util.CanMove(t) || t.Distance(fromCheck) < R.Width * 0.75 || t.Distance(fromCheck) < R.Width && (fromCheck.Distance(_currentBallPosition) > 100)) { positions.Add(new xSaliceResurrected_Rework.Utilities.Geometry.Position(t, prediction.UnitPosition)); } } } if (positions.Any()) { var circle = new LeagueSharp.Common.Geometry.Polygon.Circle(fromCheck, R.Width); hits.AddRange( from position in positions where !position.Hero.IsDashing() || (position.Hero.Distance(fromCheck) >= 100f && position.Hero.Position.Distance(fromCheck) > position.Hero.GetDashInfo().EndPos.Distance(fromCheck) - 50f) where circle.IsInside(position.UnitPosition) select position.Hero); return(new Tuple <int, List <AIHeroClient> >(hits.Count, hits)); } return(new Tuple <int, List <AIHeroClient> >(0, new List <AIHeroClient>())); }
private static int GetWHits(Obj_AI_Base target, List <Obj_AI_Base> targets = null) { if (targets != null && ComboMode == ComboMode.Mode2xW) { targets = targets.Where(t => t.LSIsValidTarget((W.Range + W.Width))).ToList(); var pred = W.GetPrediction(target); if (pred.HitChance >= EloBuddy.SDK.Enumerations.HitChance.Medium) { var circle = new LeagueSharp.Common.Geometry.Polygon.Circle(pred.UnitPosition, target.BoundingRadius + W.Width); circle.Draw(System.Drawing.Color.Aqua, 5); return(1 + (from t in targets.Where(x => x.NetworkId != target.NetworkId) let pred2 = W.GetPrediction(t) where pred2.HitChance >= EloBuddy.SDK.Enumerations.HitChance.Medium select new LeagueSharp.Common.Geometry.Polygon.Circle(pred2.UnitPosition, t.BoundingRadius * 0.9f)).Count( circle2 => circle2.Points.Any(p => circle.IsInside(p)))); } } if (W.IsInRange(target)) { return(1); } return(0); }
private static int GetWHits(Obj_AI_Base target, List<Obj_AI_Base> targets = null) { if (targets != null && ComboMode == ComboMode.Mode2xW) { targets = targets.Where(t => t.LSIsValidTarget((W.Range + W.Width))).ToList(); var pred = W.GetPrediction(target); if (pred.Hitchance >= HitChance.Medium) { var circle = new LeagueSharp.Common.Geometry.Polygon.Circle(pred.UnitPosition, target.BoundingRadius + W.Width); circle.Draw(System.Drawing.Color.Aqua, 5); return 1 + (from t in targets.Where(x => x.NetworkId != target.NetworkId) let pred2 = W.GetPrediction(t) where pred2.Hitchance >= HitChance.Medium select new LeagueSharp.Common.Geometry.Polygon.Circle(pred2.UnitPosition, t.BoundingRadius * 0.9f)).Count( circle2 => circle2.Points.Any(p => circle.IsInside(p))); } } if (W.IsInRange(target)) { return 1; } return 0; }
private static void Laneclearrange() { if (getSliderItem(MenuConfig.laneclear, "minmana") > Player.ManaPercent) return; var min = ObjectManager.Get<Obj_AI_Minion>() .Where(x => x.LSDistance(Player) < Q.Range - 200 && !x.IsDead && x.IsEnemy && x.IsTargetable); var objAiMinions = min as IList<Obj_AI_Minion> ?? min.ToList(); foreach (var minions in objAiMinions) { minionscircle = new LeagueSharp.Common.Geometry.Polygon.Circle(minions.Position, 250); } var count = objAiMinions.Where(x => minionscircle.IsInside(x)); if (count.Count() < getSliderItem(MenuConfig.laneclear, "minhitwq")) return; if (!Ismelee() && Q.IsReady() && getCheckBoxItem(MenuConfig.laneclear, "useqlr")) Q.Cast(minionscircle.Center); }
private static void Laneclearmelee() { if (getSliderItem(MenuConfig.laneclear, "minmana") > Player.ManaPercent) return; if (!Ismelee()) return; var min = ObjectManager.Get<Obj_AI_Minion>() .Where(x => x.LSDistance(Player) < 300 && !x.IsDead && x.IsEnemy).ToList(); if (min.FirstOrDefault() == null) { minionscirclemelee = null; return; } foreach (var minions in min) { minionscirclemelee = new LeagueSharp.Common.Geometry.Polygon.Circle(minions.Position, 300); if (E.IsReady() && getCheckBoxItem(MenuConfig.laneclear, "useelm")) { if (minions.Health < EMeleeDamage(minions)) { Em.Cast(minions); } } } var count = min.Where(x => minionscirclemelee.IsInside(x)); var objAiMinions = count as IList<Obj_AI_Minion> ?? count.ToList(); if (objAiMinions.Count() >= getSliderItem(MenuConfig.laneclear, "minhitwq")) { if (W.IsReady() && getCheckBoxItem(MenuConfig.laneclear, "usewlm")) W.Cast(); if (Q.IsReady() && getCheckBoxItem(MenuConfig.laneclear, "useqlm")) Qm.Cast(objAiMinions.FirstOrDefault()); } }
private void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { PredictionInput input = null; if (sender.IsMe || sender.IsEnemy || !(sender is Obj_AI_Hero)) { return; } if (!Spells.Contains(args.SData.Name) || Config.SubMenu("AutoCombo_Spells").Item(args.SData.Name).GetValue <bool>() == false) { return; } var targetable = false; var line = false; var aoe = false; drawTime = Game.Time; var result = SpellDatabase.GetByName(args.SData.Name); if (result != null) { switch (result.Type) { case SkillShotType.SkillshotLine: _skillshot = new Geometry.Polygon.Rectangle(sender.Position, sender.Position.Extend(args.End, result.Range), result.Radius); line = true; break; case SkillShotType.SkillshotMissileLine: _skillshot = new Geometry.Polygon.Rectangle(sender.Position, sender.Position.Extend(args.End, result.Range), result.Radius); line = true; break; case SkillShotType.SkillshotCircle: _skillshotAoe = new Geometry.Polygon.Circle(args.End, result.Radius); aoe = true; break; case SkillShotType.SkillshotRing: _skillshotAoe = new Geometry.Polygon.Circle(args.End, result.Radius); aoe = true; break; } } foreach ( var enemy in ObjectManager.Get <Obj_AI_Hero>() .Where(enemy => enemy.IsEnemy && enemy.Distance(Player) <= Config.SubMenu("AutoCombo").Item("Range").GetValue <Slider>().Value)) { if (!aoe && !line && args.Target.Position == enemy.Position) { targetable = true; } if (!aoe && !line && !targetable) { continue; } //Game.PrintChat(sender.BaseSkinName + " Ultimate Damage is : " + Allydamage.CalculatedDamage); //Game.PrintChat("My Ultimate Damage is : " + Mydamage.CalculatedDamage); //Game.PrintChat("Total damage is : " + (Allydamage.CalculatedDamage + Mydamage.CalculatedDamage)); if (Config.Item("Killable").GetValue <bool>()) { Allydamage = sender.GetDamageSpell(enemy, args.SData.Name); Mydamage = Player.GetDamageSpell(enemy, SpellSlot.R); if ((Allydamage.CalculatedDamage + Mydamage.CalculatedDamage) < enemy.Health && Allydamage.CalculatedDamage > enemy.Health) { return; } } if (line) { input = new PredictionInput { Unit = enemy, Type = SkillshotType.SkillshotLine, Speed = result.MissileSpeed, From = sender.Position, Delay = result.Delay, Aoe = false, Radius = result.Radius, Range = result.Range, Collision = false }; } else { if (aoe) { input = new PredictionInput { Unit = enemy, Type = SkillshotType.SkillshotCircle, Speed = result.MissileSpeed, From = sender.Position, Delay = result.Delay, Aoe = true, Radius = result.Radius, Range = result.Range, Collision = false }; } } if (!targetable) { var output = Prediction.GetPrediction(input); var unit = output.CastPosition; if (line) { if (!_skillshot.IsInside(unit) && !_skillshot.IsInside(enemy)) { continue; } } else { if (!_skillshotAoe.IsInside(unit) && !_skillshotAoe.IsInside(enemy)) { continue; } } } R.Cast(enemy.Position); if (enemy.Distance(Player.Position) <= Config.SubMenu("AutoCombo").Item("Range").GetValue <Slider>().Value) { R.Cast(enemy); R.CastOnUnit(enemy); } } }