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()); } } }
void Drawing_OnEndScene(EventArgs args) { if (_skillshot != null && Game.Time - drawTime <= 2) { _skillshot.Draw(Color.Blue, 2); } if (_skillshotAoe != null && Game.Time - drawTime <= 2) { _skillshotAoe.Draw(Color.Blue, 2); } if (Game.Time - drawTime > 2) { _skillshot = null; _skillshotAoe = null; } if (Config.SubMenu("AutoCombo").Item("Draw").GetValue <bool>()) { Render.Circle.DrawCircle(Player.Position, Config.SubMenu("AutoCombo").Item("Range").GetValue <Slider>().Value, Color.Red); } }
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 Drawing_OnDraw(EventArgs args) { if (!MenuLocal.Item("Draw.Enable").GetValue <bool>()) { return; } if (MenuLocal.Item(GetPcModeStringValue + "DrawBuffs").GetValue <bool>()) { var passiveBuffs = (from b in ObjectManager.Player.Buffs join b1 in CommonBuffManager.BuffDatabase on b.Name equals b1.BuffName select new { b, b1 }).Distinct(); var i = 0; foreach (var buffName in passiveBuffs) { if (buffName.b.EndTime >= Game.Time) { CommonGeometry.DrawBox( new Vector2(ObjectManager.Player.HPBarPosition.X + 10, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 32), 130, 6, Color.FromArgb(100, 255, 200, 37), 1, Color.Black); var buffTime = buffName.b.EndTime - buffName.b.StartTime; CommonGeometry.DrawBox( new Vector2(ObjectManager.Player.HPBarPosition.X + 11, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 33), (130 / buffTime) * (buffName.b.EndTime - Game.Time), 4, buffName.b1.Color, 1, buffName.b1.Color); TimeSpan timeSpan = TimeSpan.FromSeconds(buffName.b.EndTime - Game.Time); var timer = $"{timeSpan.Minutes:D2}:{timeSpan.Seconds:D2}"; CommonGeometry.DrawText(CommonGeometry.TextPassive, timer, ObjectManager.Player.HPBarPosition.X + 142, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 29, SharpDX.Color.Wheat); CommonGeometry.TextPassive.DrawTextLeft(buffName.b1.Caption, (int)ObjectManager.Player.HPBarPosition.X + 8, (int)((i * 8) + ObjectManager.Player.HPBarPosition.Y + 35), SharpDX.Color.Wheat); } i += 1; } } DrawSpells(); DrawMinionLastHit(); //KillableEnemy(); DrawBuffs(); //Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, System.Drawing.Color.Red); return; var t = TargetSelector.GetTarget(W.Range * 3, TargetSelector.DamageType.Magical); if (t == null) { return; } if (t.IsValidTarget(W.Range)) { return; } List <Vector2> xList = new List <Vector2>(); var nLocation = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()) * W.Range; //if (CommonGeometry.IsWallBetween(nEvadePoint.To3D(), location.To3D())) //{ // Chat.Print("Wall"); //} //else //{ // Chat.Print("Not Wall"); //} Vector2 wCastPosition = nLocation; //Render.Circle.DrawCircle(wCastPosition.To3D(), 105f, System.Drawing.Color.Red); if (!wCastPosition.IsWall()) { xList.Add(wCastPosition); } if (wCastPosition.IsWall()) { for (int j = 20; j < 80; j += 20) { Vector2 wcPositive = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(j * (float)Math.PI / 180) * W.Range; if (!wcPositive.IsWall()) { xList.Add(wcPositive); } Vector2 wcNegative = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(-j * (float)Math.PI / 180) * W.Range; if (!wcNegative.IsWall()) { xList.Add(wcNegative); } } float xDiff = ObjectManager.Player.Position.X - t.Position.X; float yDiff = ObjectManager.Player.Position.Y - t.Position.Y; int angle = (int)(Math.Atan2(yDiff, xDiff) * 180.0 / Math.PI); } //foreach (var aa in xList) //{ // Render.Circle.DrawCircle(aa.To3D2(), 105f, System.Drawing.Color.White); //} var nJumpPoint = xList.OrderBy(al => al.Distance(t.Position)).First(); var color = System.Drawing.Color.DarkRed; var width = 4; var startpos = ObjectManager.Player.Position; var endpos = nJumpPoint.To3D(); if (startpos.Distance(endpos) > 100) { var endpos1 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * 75; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x1.Draw(color, width - 2); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y1.Draw(color, width - 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z1.Draw(color, width - 2); Geometry.Polygon.Circle x2 = new LeagueSharp.Common.Geometry.Polygon.Circle(endpos, W.Width / 2); if (CommonGeometry.IsWallBetween(ObjectManager.Player.Position, endpos)) { x2.Draw(Color.Red, width - 2); } else { x2.Draw(Color.Wheat, width - 2); } } if (!t.IsValidTarget(W.Range + Q.Range - 60)) { return; } if (t.IsValidTarget(W.Range)) { return; } var canJump = false; if (Modes.ModeCombo.ComboMode == ComboMode.Mode2xQ) { if ((t.Health < ModeCombo.GetComboDamage(t) - W.GetDamage(t) && Q.IsReady() && R.IsReady()) || (t.Health < Q.GetDamage(t) && Q.IsReady())) { canJump = true; } } var nPoint = nJumpPoint.Extend(ObjectManager.Player.Position.To2D(), +ObjectManager.Player.BoundingRadius * 3); Render.Circle.DrawCircle(nPoint.To3D(), 50f, Color.GreenYellow); if (CommonGeometry.IsWallBetween(nPoint.To3D(), nJumpPoint.To3D())) { canJump = false; } if (canJump && W.IsReady() && !W.StillJumped()) { if (Modes.ModeConfig.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { W.Cast(nJumpPoint); } return; } }
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 static void Drawing_OnDraw(EventArgs args) { if (!MenuLocal.Item("Draw.Enable").GetValue <bool>()) { return; } DrawSpells(); DrawMinionLastHit(); //KillableEnemy(); DrawBuffs(); //Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, System.Drawing.Color.Red); return; var t = TargetSelector.GetTarget(W.Range * 3, TargetSelector.DamageType.Magical); if (t == null) { return; } if (t.IsValidTarget(W.Range)) { return; } List <Vector2> xList = new List <Vector2>(); var nLocation = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()) * W.Range; //if (CommonGeometry.IsWallBetween(nEvadePoint.To3D(), location.To3D())) //{ // Game.PrintChat("Wall"); //} //else //{ // Game.PrintChat("Not Wall"); //} Vector2 wCastPosition = nLocation; //Render.Circle.DrawCircle(wCastPosition.To3D(), 105f, System.Drawing.Color.Red); if (!wCastPosition.IsWall()) { xList.Add(wCastPosition); } if (wCastPosition.IsWall()) { for (int j = 20; j < 80; j += 20) { Vector2 wcPositive = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(j * (float)Math.PI / 180) * W.Range; if (!wcPositive.IsWall()) { xList.Add(wcPositive); } Vector2 wcNegative = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(-j * (float)Math.PI / 180) * W.Range; if (!wcNegative.IsWall()) { xList.Add(wcNegative); } } float xDiff = ObjectManager.Player.Position.X - t.Position.X; float yDiff = ObjectManager.Player.Position.Y - t.Position.Y; int angle = (int)(Math.Atan2(yDiff, xDiff) * 180.0 / Math.PI); } //foreach (var aa in xList) //{ // Render.Circle.DrawCircle(aa.To3D2(), 105f, System.Drawing.Color.White); //} var nJumpPoint = xList.OrderBy(al => al.Distance(t.Position)).First(); var color = System.Drawing.Color.DarkRed; var width = 4; var startpos = ObjectManager.Player.Position; var endpos = nJumpPoint.To3D(); if (startpos.Distance(endpos) > 100) { var endpos1 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * 75; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x1.Draw(color, width - 2); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y1.Draw(color, width - 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z1.Draw(color, width - 2); Geometry.Polygon.Circle x2 = new LeagueSharp.Common.Geometry.Polygon.Circle(endpos, W.Width / 2); if (CommonGeometry.IsWallBetween(ObjectManager.Player.Position, endpos)) { x2.Draw(Color.Red, width - 2); } else { x2.Draw(Color.Wheat, width - 2); } } if (!t.IsValidTarget(W.Range + Q.Range - 60)) { return; } if (t.IsValidTarget(W.Range)) { return; } var canJump = false; if (Modes.ModeCombo.ComboMode == ComboMode.Mode2xQ) { if ((t.Health < ModeCombo.GetComboDamage(t) - W.GetDamage(t) && Q.IsReady() && R.IsReady()) || (t.Health < Q.GetDamage(t) && Q.IsReady())) { canJump = true; } } var nPoint = nJumpPoint.Extend(ObjectManager.Player.Position.To2D(), +ObjectManager.Player.BoundingRadius * 3); Render.Circle.DrawCircle(nPoint.To3D(), 50f, Color.GreenYellow); if (CommonGeometry.IsWallBetween(nPoint.To3D(), nJumpPoint.To3D())) { canJump = false; } if (canJump && W.IsReady() && !W.StillJumped()) { if (Modes.ModeConfig.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { W.Cast(nJumpPoint); } return; } }
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); } } }