private static void Game_OnUpdate(EventArgs args) { if (BadaoGravesVariables.AutoSmite.GetValue <bool>() && BadaoMainVariables.Smite != SpellSlot.Unknown && BadaoMainVariables.Smite.IsReady()) { var creep = MinionManager.GetMinions(800, MinionTypes.All, MinionTeam.Neutral) .Where(x => x.CharacterData.SkinName.Contains("SRU_Dragon") || x.CharacterData.SkinName.Contains("SRU_Baron")); foreach (var x in creep.Where(y => Player.Distance(y.Position) <= Player.BoundingRadius + 500 + y.BoundingRadius)) { if (x != null && x.Health <= BadaoChecker.BadaoGetSmiteDamage()) { Player.Spellbook.CastSpell(BadaoMainVariables.Smite, x); } } } if (BadaoMainVariables.R.IsReady() && BadaoGravesVariables.AutoRKS.GetValue <bool>()) { foreach (var hero in HeroManager.Enemies.Where(x => x.BadaoIsValidTarget(BadaoMainVariables.R.Range))) { if (BadaoMainVariables.R.GetDamage(hero) >= hero.Health) { BadaoMainVariables.R.Cast(hero); } } } }
private static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target) { if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Mixed || !unit.IsMe || !(target is Obj_AI_Hero)) { return; } if (target.Position.Distance(ObjectManager.Player.Position) <= 200 + 125 + 140) { BadaoChecker.BadaoUseTiamat(); } }
private static void Orbwalking_AfterAttack(AttackableUnit target, EventArgs args) { if (!BadaoPoppyHelper.AssasinateActive()) { return; } if (target.Position.LSDistance(ObjectManager.Player.Position) <= 200 + 125 + 140) { BadaoChecker.BadaoUseTiamat(); } }
private static void Orbwalking_AfterAttack(AttackableUnit target, EventArgs args) { if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass) || !(target is AIHeroClient)) { return; } if (target.Position.Distance(ObjectManager.Player.Position) <= 200 + 125 + 140) { BadaoChecker.BadaoUseTiamat(); } }
private static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target) { if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.LaneClear) { return; } if (target.Team != GameObjectTeam.Neutral) { return; } if (target.Position.Distance(ObjectManager.Player.Position) <= 200 + 125 + 140) { BadaoChecker.BadaoUseTiamat(); } }
private static void Orbwalking_AfterAttack(AttackableUnit target, EventArgs args) { if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { return; } if (target.Team != GameObjectTeam.Neutral) { return; } if (target.Position.LSDistance(ObjectManager.Player.Position) <= 200 + 125 + 140) { BadaoChecker.BadaoUseTiamat(); } }
private static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target) { if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo) { return; } if (!unit.IsMe) { return; } if (BadaoChecker.BadaoHasTiamat()) { BadaoChecker.BadaoUseTiamat(); } }
public static void RPrediction(Vector2 CastPos, Obj_AI_Base TargetToCheck, out Vector2 CenterPolar, out Vector2 CenterEnd, out Vector2 x1, out Vector2 x2) { //changeable float goc = 36f; //process float goc1rad = (float)Math.PI * (90f - goc / 2f) / 180f; float backward = TargetToCheck.BoundingRadius / (float)Math.Cos(goc1rad); CenterPolar = ObjectManager.Player.Position.To2D().Extend(CastPos, -backward); CenterEnd = ObjectManager.Player.Position.To2D().Extend(CastPos, 1400); Vector2 Rangestraight = ObjectManager.Player.Position.To2D().Extend(CastPos, ObjectManager.Player.BoundingRadius + ObjectManager.Player.AttackRange + TargetToCheck.BoundingRadius); float goc2rad = (float)Math.PI * (goc / 2f + 90f) / 180f - (float)Math.Acos(TargetToCheck.BoundingRadius / (ObjectManager.Player.BoundingRadius + ObjectManager.Player.AttackRange + TargetToCheck.BoundingRadius)); x1 = BadaoChecker.BadaoRotateAround(Rangestraight, ObjectManager.Player.Position.To2D(), goc2rad); x2 = BadaoChecker.BadaoRotateAround(Rangestraight, ObjectManager.Player.Position.To2D(), -goc2rad); }
public static void CastETarget(AIHeroClient target, int extraDistance = 50) { var pred = Prediction.GetPrediction(target, 1.25f + (float)Game.Ping / 1000f); Vector2 UnitPredPos = pred.UnitPosition.To2D(); if (target.IsChannelingImportantSpell() && pred.UnitPosition.Distance(target.Position) <= 50) { UnitPredPos = target.Position.To2D(); } else if (pred.UnitPosition.Distance(target.Position) <= 20) { return; } else { UnitPredPos = pred.UnitPosition.To2D().Extend(target.Position.To2D(), 0); } List <Vector2> extraPoses = new List <Vector2>(); List <Vector2> CastPoses = new List <Vector2>(); Vector2 direction = UnitPredPos.Extend(target.Direction.To2D(), extraDistance); for (int i = 0; i < 360; i = i + 5) { extraPoses.Add(BadaoChecker.BadaoRotateAround(direction, UnitPredPos, BadaoChecker.AngleToRadian(i))); } foreach (var pos in extraPoses) { CastPoses.Add(pos.Extend(UnitPredPos, 300)); } Vector2 CastPos = CastPoses.Where(x => BadaoMainVariables.E.IsInRange(x)).OrderByDescending(x => x.Distance(target.Position) <= 300) .ThenByDescending(x => LeagueSharp.Common.Utility.CountEnemiesInRange(x.To3D(), 300)).FirstOrDefault(); if (CastPos != null && CastPos.IsValid()) { BadaoMainVariables.E.Cast(CastPos); } }
private static void Game_OnUpdate(EventArgs args) { if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.LaneClear) { return; } if (Utils.GameTimeTickCount - BadaoMissFortuneVariables.Rcount <= 500) { return; } if (ObjectManager.Player.IsChannelingImportantSpell()) { return; } if (!BadaoMissFortuneHelper.CanLaneClearMana()) { return; } // Q logic if (BadaoMissFortuneHelper.UseQLaneClear() && Orbwalking.CanMove(80)) { foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range).OrderBy(x => x.Health)) { if (minion.BadaoIsValidTarget()) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); Vector2 endpos1 = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); Vector2 endpos2 = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 150); if (MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.BadaoIsValidTarget() && x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos1, 110)) || MinionManager.GetMinions(BadaoMainVariables.Q.Range + 150).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos2, 160))) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto xyz; } } } } var minionQ1 = MinionManager.GetMinions(BadaoMainVariables.Q.Range).FirstOrDefault(); { if (minionQ1.BadaoIsValidTarget() && BadaoMainVariables.Q.Cast(minionQ1) == Spell.CastStates.SuccessfullyCasted) { goto xyz; } } xyz :; } // E logic if (BadaoMissFortuneHelper.UseELaneClear() && Orbwalking.CanMove(80)) { var minion = MinionManager.GetMinions(BadaoMainVariables.E.Range).OrderByDescending (x => MinionManager.GetMinions(x.Position, 250).Count()).FirstOrDefault(); if (minion.BadaoIsValidTarget()) { BadaoMainVariables.E.Cast(minion); } } }
private static void Game_OnUpdate(EventArgs args) { if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo) { return; } // cancle R if (Utils.GameTimeTickCount - BadaoMissFortuneVariables.Rcount <= 500) { return; } if (ObjectManager.Player.IsChannelingImportantSpell()) { if (!HeroManager.Enemies.Any(x => x.BadaoIsValidTarget() && BadaoChecker.BadaoInTheCone(x.Position.To2D(), BadaoMissFortuneVariables.CenterPolar, BadaoMissFortuneVariables.CenterEnd, 36))) { EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); } else { return; } } // Q logic if (BadaoMissFortuneHelper.UseQ2Combo() && Orbwalking.CanMove(80)) { // Q2 logic var targetQ = TargetSelector.GetTarget(BadaoMainVariables.Q.Range + 600, TargetSelector.DamageType.Physical); if (targetQ.BadaoIsValidTarget()) { if (BadaoMissFortuneVariables.TapTarget.BadaoIsValidTarget() && targetQ.NetworkId == BadaoMissFortuneVariables.TapTarget.NetworkId) { foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(hero) >= hero.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40)) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(minion) >= minion.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40)) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40)) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40)) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } } else if (!BadaoMissFortuneVariables.TapTarget.IsValidTarget() || targetQ.NetworkId != BadaoMissFortuneVariables.TapTarget.NetworkId) { //40 foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(hero) >= hero.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40))) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(minion) >= minion.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40))) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40))) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40))) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } //20 foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(hero) >= hero.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20))) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(minion) >= minion.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20))) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20))) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20))) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } } } abc :; } // Q1 logic if (BadaoMissFortuneHelper.UseQ1Combo() && Orbwalking.CanMove(80)) { var targetQ1 = TargetSelector.GetTarget(BadaoMainVariables.Q.Range, TargetSelector.DamageType.Physical); if (targetQ1.BadaoIsValidTarget()) { if (BadaoMainVariables.Q.Cast(targetQ1) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } abc :; } // E logic if (BadaoMissFortuneHelper.UseECombo() && Orbwalking.CanMove(80)) { var targetE = TargetSelector.GetTarget(BadaoMainVariables.E.Range + 200, TargetSelector.DamageType.Physical); if (targetE.BadaoIsValidTarget()) { var PredTargetE = Prediction.GetPrediction(targetE, 0.25f); if (PredTargetE.UnitPosition.To2D().Distance(ObjectManager.Player.Position.To2D()) <= BadaoMainVariables.E.Range) { if (BadaoMainVariables.E.Cast(PredTargetE.UnitPosition) == true) { goto xyz; } } } xyz :; } // R logic if (BadaoMainVariables.R.IsReady() && Orbwalking.CanMove(80) && BadaoMissFortuneVariables.ComboRifhit.GetValue <bool>()) { foreach (AIHeroClient hero in HeroManager.Enemies) { List <AIHeroClient> a = new List <AIHeroClient>(); if (hero.BadaoIsValidTarget()) { var PredTarget = Prediction.GetPrediction(hero as Obj_AI_Base, 0.25f + Game.Ping / 1000f); Vector2 x1 = new Vector2(); Vector2 x2 = new Vector2(); Vector2 CenterPolar = new Vector2(); Vector2 CenterEnd = new Vector2(); BadaoMissFortuneHelper.RPrediction(PredTarget.UnitPosition.To2D(), hero as Obj_AI_Base, out CenterPolar, out CenterEnd, out x1, out x2); foreach (AIHeroClient hero2 in HeroManager.Enemies) { if (hero2.BadaoIsValidTarget() && BadaoChecker.BadaoInTheCone(hero2.Position.To2D(), CenterPolar, CenterEnd, 36)) { a.Add(hero2); } } if (a.Count() >= BadaoMissFortuneVariables.ComboRifwillhit.GetValue <Slider>().Value) { BadaoMainVariables.R.Cast(PredTarget.UnitPosition.To2D()); BadaoMissFortuneVariables.TargetRChanneling = hero as AIHeroClient; BadaoMissFortuneVariables.CenterPolar = CenterPolar; BadaoMissFortuneVariables.CenterEnd = CenterEnd; BadaoMissFortuneVariables.Rcount = Utils.GameTimeTickCount; } } } } }
private static void Game_OnUpdate(EventArgs args) { if (BadaoMainVariables.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { return; } if (Utils.GameTimeTickCount - BadaoMissFortuneVariables.Rcount <= 500) { return; } if (ObjectManager.Player.IsChannelingImportantSpell()) { return; } if (!BadaoMissFortuneHelper.CanAutoMana()) { return; } foreach (AIHeroClient heroX in HeroManager.Enemies.Where(x => x.BadaoIsValidTarget() && x.Position.To2D().Distance(ObjectManager.Player.Position.To2D()) <= BadaoMainVariables.Q.Range + 500)) { if (heroX.BadaoIsValidTarget() && BadaoMissFortuneHelper.UseQ2Auto(heroX)) { if (Orbwalking.CanMove(80)) { List <Obj_AI_Base> a = new List <Obj_AI_Base>(); if (BadaoMissFortuneVariables.TapTarget.BadaoIsValidTarget() && heroX.NetworkId == BadaoMissFortuneVariables.TapTarget.NetworkId) { foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.NetworkId != heroX.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredheroX = Prediction.GetPrediction(heroX, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredheroX.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40) && BadaoChecker.BadaoInTheCone(heroX.Position.To2D(), PredHero.UnitPosition.To2D(), endpos - 100, 40 - 5)) { a.Add(hero); } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredheroX = Prediction.GetPrediction(heroX, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredheroX.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40) && BadaoChecker.BadaoInTheCone(heroX.Position.To2D(), PredMinion.UnitPosition.To2D(), endpos - 100, 40 - 5)) { a.Add(minion); } } var targetQ = a.OrderBy(x => (float)(180f - BadaoChecker.BadaoAngleBetween(heroX.Position.To2D(), Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(BadaoMainVariables.Q.GetPrediction(x).UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), ObjectManager.Player.Position.To2D())) / 40f + Math.Abs(x.Position.To2D().Distance(heroX.Position.To2D()) - 300) / 100f).FirstOrDefault(); if (targetQ.BadaoIsValidTarget()) { BadaoMainVariables.Q.Cast(targetQ); } } else if (!BadaoMissFortuneVariables.TapTarget.IsValidTarget() || heroX.NetworkId != BadaoMissFortuneVariables.TapTarget.NetworkId) { //40 foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.NetworkId != heroX.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredheroX = Prediction.GetPrediction(heroX, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredheroX.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40) && BadaoChecker.BadaoInTheCone(heroX.Position.To2D(), PredHero.UnitPosition.To2D(), endpos - 100, 40 - 5) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40 + 5))) { BadaoMainVariables.Q.Cast(hero); goto abc; } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredheroX = Prediction.GetPrediction(heroX, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredheroX.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40) && BadaoChecker.BadaoInTheCone(heroX.Position.To2D(), PredMinion.UnitPosition.To2D(), endpos - 100, 40 - 5) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40 + 5))) { BadaoMainVariables.Q.Cast(minion); goto abc; } } //20 foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.NetworkId != heroX.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredheroX = Prediction.GetPrediction(heroX, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredheroX.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20) && BadaoChecker.BadaoInTheCone(heroX.Position.To2D(), PredHero.UnitPosition.To2D(), endpos - 100, 20 - 3) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20 + 3))) { BadaoMainVariables.Q.Cast(hero); goto abc; } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredheroX = Prediction.GetPrediction(heroX, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredheroX.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20) && BadaoChecker.BadaoInTheCone(heroX.Position.To2D(), PredMinion.UnitPosition.To2D(), endpos - 100, 20 - 3) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20 + 3))) { BadaoMainVariables.Q.Cast(minion); } } abc :; } } } } }
private static void Game_OnUpdate(EventArgs args) { if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Mixed) { return; } if (Utils.GameTimeTickCount - BadaoMissFortuneVariables.Rcount <= 500) { return; } if (ObjectManager.Player.IsChannelingImportantSpell()) { return; } if (!BadaoMissFortuneHelper.CanHarassMana()) { return; } if (BadaoMissFortuneHelper.UseQ2Harass() && Orbwalking.CanMove(80)) { // Q2 logic var targetQ = TargetSelector.GetTarget(BadaoMainVariables.Q.Range + 600, TargetSelector.DamageType.Physical); if (targetQ.BadaoIsValidTarget()) { if (BadaoMissFortuneVariables.TapTarget.BadaoIsValidTarget() && targetQ.NetworkId == BadaoMissFortuneVariables.TapTarget.NetworkId) { foreach (Obj_AI_Hero hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(hero) >= hero.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40)) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(minion) >= minion.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40)) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Hero hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40)) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40)) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } } else if (!BadaoMissFortuneVariables.TapTarget.IsValidTarget() || targetQ.NetworkId != BadaoMissFortuneVariables.TapTarget.NetworkId) { //40 foreach (Obj_AI_Hero hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(hero) >= hero.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40))) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(minion) >= minion.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40))) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Hero hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 40))) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 40))) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } //20 foreach (Obj_AI_Hero hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(hero) >= hero.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20))) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoMissFortuneHelper.Q1Damage(minion) >= minion.Health && BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20))) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Hero hero in HeroManager.Enemies.Where(x => x.NetworkId != targetQ.NetworkId && x.BadaoIsValidTarget(BadaoMainVariables.Q.Range))) { var Qpred = BadaoMainVariables.Q.GetPrediction(hero); var PredHero = Prediction.GetPrediction(hero, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredHero.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredHero.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 600).Any(x => BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredHero.UnitPosition.To2D(), endpos, 20))) { if (BadaoMainVariables.Q.Cast(hero) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } foreach (Obj_AI_Minion minion in MinionManager.GetMinions(BadaoMainVariables.Q.Range)) { var Qpred = BadaoMainVariables.Q.GetPrediction(minion); var PredMinion = Prediction.GetPrediction(minion, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)); var PredTargetQ = Prediction.GetPrediction(targetQ, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D()) / 1400 + Game.Ping / 1000); Vector2 endpos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredMinion.UnitPosition.To2D(), ObjectManager.Player.Position.To2D().Distance(PredMinion.UnitPosition.To2D()) + 500); if (BadaoChecker.BadaoInTheCone(PredTargetQ.UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20) && !MinionManager.GetMinions(BadaoMainVariables.Q.Range + 500).Any(x => x.NetworkId != minion.NetworkId && BadaoChecker.BadaoInTheCone(Prediction.GetPrediction(x, 0.25f + ObjectManager.Player.Position.To2D().Distance(Qpred.UnitPosition.To2D() / 1400 + Game.Ping / 1000)).UnitPosition.To2D(), PredMinion.UnitPosition.To2D(), endpos, 20))) { if (BadaoMainVariables.Q.Cast(minion) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } } } } abc :; } // Q1 logic if (BadaoMissFortuneHelper.UseQ1Harass() && Orbwalking.CanMove(80)) { var targetQ1 = TargetSelector.GetTarget(BadaoMainVariables.Q.Range, TargetSelector.DamageType.Physical); if (targetQ1.BadaoIsValidTarget()) { if (BadaoMainVariables.Q.Cast(targetQ1) == Spell.CastStates.SuccessfullyCasted) { goto abc; } } abc :; } // E logic if (BadaoMissFortuneHelper.UseEHarass() && Orbwalking.CanMove(80)) { var targetE = TargetSelector.GetTarget(BadaoMainVariables.E.Range + 200, TargetSelector.DamageType.Physical); if (targetE.BadaoIsValidTarget()) { var PredTargetE = Prediction.GetPrediction(targetE, 0.25f); if (PredTargetE.UnitPosition.To2D().Distance(ObjectManager.Player.Position.To2D()) <= BadaoMainVariables.E.Range) { if (BadaoMainVariables.E.Cast(PredTargetE.UnitPosition) == true) { goto xyz; } } } xyz :; } }
public static bool CanCastSpell() { return (!(HeroManager.Enemies.Any(x => x.IsValidTarget() && Orbwalking.InAutoAttackRange(x)) && (Orbwalking.CanAttack() || BadaoChecker.BadaoHasTiamat())) && Orbwalking.CanMove(0)); }
public static bool CanCastSpell(AIHeroClient target) { return (!(target.IsValidTarget() && Orbwalking.InAutoAttackRange(target) && (Orbwalking.CanAttack() || BadaoChecker.BadaoHasTiamat())) && Orbwalking.CanMove(0)); }
private static void Game_OnUpdate(EventArgs args) { if (Environment.TickCount - RAutoTick >= 200 && BadaoJhinHelper.UseRAuto() && BadaoMainVariables.R.Instance.SData.Name == "JhinRShot") { RAutoTick = Environment.TickCount; if (BadaoJhinHelper.AutoRTargetAuto()) { var target = TargetSelector.GetTarget(BadaoMainVariables.R.Range, TargetSelector.DamageType.Physical, true, HeroManager.Enemies.Where(x => x.IsValid && !BadaoChecker.BadaoInTheCone( x.Position.To2D(), ObjectManager.Player.Position.To2D(), ObjectManager.Player.Position.To2D() + ObjectManager.Player.Direction.To2D().Normalized().Perpendicular() * BadaoMainVariables.R.Range, 60))); if (target.BadaoIsValidTarget()) { RAutoTarget = target; } } else if (BadaoJhinHelper.AutoRTargetNearMouse()) { var target = HeroManager.Enemies.Where(x => x.BadaoIsValidTarget(BadaoMainVariables.R.Range) && BadaoChecker.BadaoInTheCone( x.Position.To2D(), ObjectManager.Player.Position.To2D(), ObjectManager.Player.Position.To2D() + ObjectManager.Player.Direction.To2D().Normalized().Perpendicular() * BadaoMainVariables.R.Range, 60)) .OrderBy(x => x.Distance(Game.CursorPos)).FirstOrDefault(); if (target.BadaoIsValidTarget()) { RAutoTarget = target; } } else if (BadaoJhinHelper.AutoRTargetSelected()) { var target = TargetSelector.GetSelectedTarget(); if (target.BadaoIsValidTarget(BadaoMainVariables.R.Range) && BadaoChecker.BadaoInTheCone( target.Position.To2D(), ObjectManager.Player.Position.To2D(), ObjectManager.Player.Position.To2D() + ObjectManager.Player.Direction.To2D().Normalized().Perpendicular() * BadaoMainVariables.R.Range, 60)) { RAutoTarget = target; } } } // auto ping if (BadaoJhinHelper.UseAutoPingKillable()) { if (BadaoMainVariables.R.IsReady() && BadaoMainVariables.R.Instance.SData.Name != "JhinRShot") { foreach (var hero in HeroManager.Enemies .Where(x => x.BadaoIsValidTarget(BadaoMainVariables.R.Range) && BadaoJhinHelper.GetRdamage(x) >= x.Health)) { BadaoJhinPing.Ping(hero.Position.To2D()); break; } } } //JhinR if (BadaoJhinHelper.UseRAuto() && BadaoMainVariables.R.Instance.SData.Name == "JhinRShot") { if (BadaoJhinHelper.AutoRModeAuto()) { if (RAutoTarget.BadaoIsValidTarget()) { BadaoMainVariables.R.Cast(RAutoTarget); } } } if (BadaoMainVariables.R.Instance.SData.Name == "JhinRShot") { return; } if (BadaoJhinHelper.UseAutoKS()) { foreach (var hero in HeroManager.Enemies.Where(x => x.BadaoIsValidTarget(BadaoMainVariables.W.Range))) { if (BadaoMainVariables.W.IsReady() && BadaoJhinHelper.GetWDamage(hero) >= hero.Health) { var x = BadaoMainVariables.W.GetPrediction(hero).CastPosition; var y = BadaoMainVariables.W.GetPrediction(hero).CollisionObjects; if (!y.Any(z => z.IsChampion()) && ObjectManager.Player.Distance(x) <= BadaoMainVariables.W.Range) { if (BadaoMainVariables.W.Cast(x)) { break; } } } if (BadaoMainVariables.Q.IsReady() && BadaoJhinHelper.GetQDamage(hero) >= hero.Health && hero.BadaoIsValidTarget(BadaoMainVariables.Q.Range)) { BadaoMainVariables.Q.Cast(hero); } } } if (!BadaoJhinHelper.CanAutoMana()) { return; } if (BadaoJhinHelper.UseWAutoTrap()) { foreach (var hero in HeroManager.Enemies.Where(x => x.BadaoIsValidTarget(BadaoMainVariables.W.Range))) { var x = BadaoMainVariables.W.GetPrediction(hero).CastPosition; var y = BadaoMainVariables.W.GetPrediction(hero).CollisionObjects; if (!y.Any(z => z.IsChampion()) && ObjectManager.Player.Distance(x) <= BadaoMainVariables.W.Range && BadaoJhinPassive.JhinTrap.Any(i => i.Distance(x) <= 100)) { if (BadaoMainVariables.W.Cast(x)) { break; } } } } if (BadaoJhinHelper.UseWAuto()) { foreach (var hero in HeroManager.Enemies.Where(x => x.BadaoIsValidTarget(BadaoMainVariables.W.Range))) { if ((hero.HasBuffOfType(BuffType.Slow) || hero.HasBuffOfType(BuffType.Charm) || hero.HasBuffOfType(BuffType.Snare)) && BadaoJhinHelper.HasJhinPassive(hero)) { var x = BadaoMainVariables.W.GetPrediction(hero).CastPosition; var y = BadaoMainVariables.W.GetPrediction(hero).CollisionObjects; if (!y.Any(z => z.IsChampion()) && ObjectManager.Player.Distance(x) <= BadaoMainVariables.W.Range) { if (BadaoMainVariables.W.Cast(x)) { break; } } } } } }