Esempio n. 1
0
        /// <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());
            }
        }
Esempio n. 2
0
        /// <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);
                }
            }
        }