private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!args.SData.IsAutoAttack()) { return; } if (!(sender is AIHeroClient) || !(args.Target is AIHeroClient)) { return; } var target = args.Target as AIHeroClient; var unit = sender as AIHeroClient; if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo) { return; } if (!target.BadaoIsValidTarget(float.MaxValue, false)) { return; } if (!(target.IsAlly)) { return; } if (unit is AIHeroClient && unit.IsEnemy && target is AIHeroClient && target.Position.To2D().Distance(BadaoShenVariables.SwordPos) <= BadaoMainVariables.W.Range && BadaoShenHelper.UseWCombo(target as AIHeroClient)) { BadaoMainVariables.W.Cast(); } }
private static void Game_OnUpdate(EventArgs args) { foreach (AIHeroClient hero in HeroManager.Allies.Where(x => !x.IsMe && x.BadaoIsValidTarget(float.MaxValue, false))) { if (BadaoShenHelper.UseRAuto(hero)) { BadaoMainVariables.R.Cast(hero); } } }
private static void Orbwalking_BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo) { return; } if (BadaoShenHelper.UseQCombo()) { BadaoMainVariables.Q.Cast(); } }
private static void Orbwalking_BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.LaneClear) { return; } if (args.Target.Team != GameObjectTeam.Neutral) { return; } if (BadaoShenHelper.UseQLaneClear()) { BadaoMainVariables.Q.Cast(); } }
private static void Game_OnUpdate(EventArgs args) { if (BadaoMainVariables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo) { return; } if (BadaoMainVariables.E.IsReady() && Orbwalking.CanMove(80) && BadaoShenVariables.ComboEIfHit.GetValue <bool>()) { foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.BadaoIsValidTarget() && x.Position.To2D().Distance(ObjectManager.Player.Position.To2D()) <= BadaoMainVariables.E.Range)) { List <AIHeroClient> a = new List <AIHeroClient>(); var EPred = BadaoMainVariables.E.GetPrediction(hero); var EndPos = Geometry.Extend(ObjectManager.Player.Position.To2D(), EPred.CastPosition.To2D(), 650); foreach (AIHeroClient hero2 in HeroManager.Enemies.Where(x => x.BadaoIsValidTarget() && x.NetworkId != hero.NetworkId && x.Position.To2D().Distance(ObjectManager.Player.Position.To2D()) <= BadaoMainVariables.E.Range)) { var PredHero2 = Prediction.GetPrediction(hero2, (hero2.Position.To2D().Distance(ObjectManager.Player.Position.To2D()) / BadaoMainVariables.E.Range) * 0.3f); if (hero2.Position.To2D().Distance(ObjectManager.Player.Position.To2D(), EndPos, true) <= 50 + hero.BoundingRadius && PredHero2.UnitPosition.To2D().Distance(ObjectManager.Player.Position.To2D(), EndPos, true) <= 50 + hero.BoundingRadius) { a.Add(hero2); } } if (a.Count() >= BadaoShenVariables.ComboEIfWillHit.GetValue <Slider>().Value + 1) { BadaoMainVariables.E.Cast(EndPos); } } } foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.BadaoIsValidTarget() && x.Position.To2D().Distance(ObjectManager.Player.Position.To2D()) <= BadaoMainVariables.E.Range)) { if (BadaoShenHelper.UseEComboToTarget(hero) && Orbwalking.CanMove(80)) { var PredPos = BadaoMainVariables.E.GetPrediction(hero).CastPosition.To2D(); Vector2 CastPos = new Vector2(); if (PredPos.Distance(ObjectManager.Player.Position.To2D()) <= 450) { CastPos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredPos, PredPos.Distance(ObjectManager.Player.Position.To2D()) + 200); } else { CastPos = Geometry.Extend(ObjectManager.Player.Position.To2D(), PredPos, 650); } if (PredPos.Distance(ObjectManager.Player.Position.To2D()) <= 650) { BadaoMainVariables.E.Cast(CastPos); break; } } } if (BadaoShenHelper.UseQCombo()) { foreach (AIHeroClient hero in HeroManager.Enemies.Where(x => x.BadaoIsValidTarget())) { var Castpos = BadaoMainVariables.Q.GetPrediction(hero).CastPosition.To2D(); if (Castpos.Distance(ObjectManager.Player.Position.To2D(), BadaoShenVariables.SwordPos, true) <= 50 + hero.BoundingRadius) { BadaoMainVariables.Q.Cast(); } } } }