/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> public static void Automatic(EventArgs args) { if (GameObjects.Player.IsRecalling()) { return; } /// <summary> /// The Automatic W Logic. /// </summary> if (Vars.W.IsReady() && Vars.Menu["spells"]["w"]["logical"].GetValue <MenuBool>().Value) { foreach (var target in GameObjects.EnemyHeroes.Where( t => Bools.IsImmobile(t) && t.IsValidTarget(Vars.W.Range) && !t.HasBuff("caitlynyordletrapinternal")) ) { if (Vars.GetImmobileBuffEndTime(target) >= Vars.W.Delay + Game.Ping) { Vars.W.Cast( ((Vector2)GameObjects.Player.ServerPosition).Extend( (Vector2)target.ServerPosition, (float)(GameObjects.Player.Distance(target) + Vars.W.Width / 1.5))); } } } /// <summary> /// The Automatic Q Logic. /// </summary> if (Vars.Q.IsReady() && GameObjects.Player.CountEnemyHeroesInRange(GameObjects.Player.GetRealAutoAttackRange()) < 3 && Vars.Menu["spells"]["q"]["logical"].GetValue <MenuBool>().Value) { foreach (var target in GameObjects.EnemyHeroes.Where( t => Bools.IsImmobile(t) && !Invulnerable.Check(t) && t.IsValidTarget(Vars.Q.Range) && t.HasBuff("caitlynyordletrapsight"))) { Vars.Q.Cast(target.ServerPosition); } } /// <summary> /// The Semi-Automatic R Management. /// </summary> if (Vars.R.IsReady() && Vars.Menu["spells"]["r"]["bool"].GetValue <MenuBool>().Value && Vars.Menu["spells"]["r"]["key"].GetValue <MenuKeyBind>().Active) { Vars.R.CastOnUnit( GameObjects.EnemyHeroes.Where( t => t != null && !Invulnerable.Check(t) && t.IsValidTarget(Vars.R.Range) && Vars.Menu["spells"]["r"]["whitelist"][t.ChampionName.ToLower()].GetValue <MenuBool>().Value) .OrderBy(o => o.Health) .First()); } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> public static void Automatic(EventArgs args) { if (GameObjects.Player.IsRecalling()) { return; } /// <summary> /// The Automatic E Logic. /// </summary> if (Vars.E.IsReady() && Vars.Menu["spells"]["e"]["logical"].GetValue <MenuBool>().Value) { foreach (var target in GameObjects.EnemyHeroes.Where( t => Bools.IsImmobile(t) && t.IsValidTarget(Vars.E.Range) && !Invulnerable.Check(t, DamageType.Magical, false))) { if (Vars.GetImmobileBuffEndTime(target) >= Vars.E.Delay + Game.Ping) { Vars.E.Cast( GameObjects.Player.ServerPosition.Extend( target.ServerPosition, GameObjects.Player.Distance(target) + Vars.E.Width)); } } } /// <summary> /// The Automatic W Logic. /// </summary> if (Vars.W.IsReady() && !GameObjects.Player.IsUnderEnemyTurret() && GameObjects.Player.CountEnemyHeroesInRange(Vars.Q.Range) < 3 && Vars.Menu["spells"]["w"]["logical"].GetValue <MenuBool>().Value) { foreach (var target in GameObjects.EnemyHeroes.Where( t => Bools.IsImmobile(t) && !Invulnerable.Check(t) && t.IsValidTarget(Vars.W.Range - 100f))) { if (!Vars.W.GetPrediction(target).CollisionObjects.Any()) { Vars.W.Cast(target.ServerPosition); } } } /// <summary> /// The Semi-Automatic R Logic. /// </summary> if (Vars.R.IsReady() && Vars.Menu["spells"]["r"]["bool"].GetValue <MenuBool>().Value && Vars.Menu["spells"]["r"]["key"].GetValue <MenuKeyBind>().Active) { var target = GameObjects.EnemyHeroes.Where( t => !Invulnerable.Check(t) && t.IsValidTarget(Vars.R.Range) && Vars.Menu["spells"]["r"]["whitelist"][t.ChampionName.ToLower()].GetValue <MenuBool>().Value) .OrderBy(o => o.Health) .FirstOrDefault(); if (target != null) { Vars.R.Cast(Vars.R.GetPrediction(target).UnitPosition); } } }