Ejemplo 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() || Vars.R.Instance.Name.Equals("JhinRShot"))
            {
                return;
            }

            /// <summary>
            ///     The Automatic Q LastHit Logic.
            /// </summary>
            if (Vars.Q.IsReady() && GameObjects.Player.HasBuff("JhinPassiveReload") &&
                Variables.Orbwalker.ActiveMode != OrbwalkingMode.Combo &&
                GameObjects.Player.ManaPercent
                > ManaManager.GetNeededMana(Vars.Q.Slot, Vars.Menu["spells"]["q"]["lasthit"]) &&
                Vars.Menu["spells"]["q"]["lasthit"].GetValue <MenuSliderButton>().BValue)
            {
                foreach (var minion in
                         Targets.Minions.Where(
                             m =>
                             m.IsValidTarget(Vars.Q.Range) &&
                             Vars.GetRealHealth(m) < (float)GameObjects.Player.GetSpellDamage(m, SpellSlot.Q)))
                {
                    Vars.Q.CastOnUnit(minion);
                }
            }

            /// <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) && !Invulnerable.Check(t) && t.IsValidTarget(Vars.E.Range)))
                {
                    Vars.E.Cast(
                        GameObjects.Player.ServerPosition.Extend(
                            target.ServerPosition,
                            GameObjects.Player.Distance(target) + target.BoundingRadius * 2));
                }
            }

            /// <summary>
            ///     The Automatic W Logic.
            /// </summary>
            if (Vars.W.IsReady() && !GameObjects.Player.IsUnderEnemyTurret() &&
                Vars.Menu["spells"]["w"]["logical"].GetValue <MenuBool>().Value)
            {
                foreach (var target in
                         GameObjects.EnemyHeroes.Where(
                             t =>
                             Bools.IsImmobile(t) && !Invulnerable.Check(t) && t.HasBuff("jhinespotteddebuff") &&
                             t.IsValidTarget(Vars.W.Range - 150f) &&
                             Vars.Menu["spells"]["w"]["whitelist"][t.ChampionName.ToLower()].GetValue <MenuBool>().Value))
                {
                    Vars.W.Cast(target.ServerPosition);
                }
            }
        }
Ejemplo 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 ExecuteAuto(EventArgs args)
        {
            /// <summary>
            /// The Q KillSteal Logic,
            /// The Q Immobile Harass Logic.
            /// </summary>
            if (Variables.Q.IsReady() &&
                Targets.Target.IsValidTarget(Variables.Q.Range) &&

                ((Targets.Target.Health < Variables.Q.GetDamage(Targets.Target) &&
                  Variables.Menu.Item($"{Variables.MainMenuName}.qspell.ks").IsActive()) ||

                 (Bools.IsImmobile(Targets.Target) &&
                  Variables.Menu.Item($"{Variables.MainMenuName}.qspell.immobile").IsActive())))
            {
                Variables.Q.SPredictionCast(Targets.Target, HitChance.High);
            }

            /// <summary>
            /// The W Combo Logic.
            /// </summary>
            if (Variables.W.IsReady() &&
                Targets.Target.IsValidTarget(Variables.W.Range) &&
                Variables.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo &&
                Variables.Menu.Item($"{Variables.MainMenuName}.wspell.combo").IsActive())
            {
                Variables.W.Cast();
            }

            /// <summary>
            /// The E KillSteal Logic,
            /// The E Immobile Harass Logic.
            /// </summary>
            if (Variables.E.IsReady() &&
                Targets.Target.IsValidTarget(Variables.E.Range) &&

                ((Targets.Target.Health < Variables.E.GetDamage(Targets.Target) &&
                  Variables.Menu.Item($"{Variables.MainMenuName}.espell.ks").IsActive()) ||

                 (Bools.IsImmobile(Targets.Target) &&
                  Variables.Menu.Item($"{Variables.MainMenuName}.espell.immobile").IsActive())))
            {
                Variables.E.SPredictionCast(Targets.Target, HitChance.High);
            }

            /// <summary>
            /// The R Combo Logic.
            /// </summary>
            if (Variables.R.IsReady() &&
                Targets.Target.HealthPercent < 50 &&
                !Targets.Target.IsValidTarget(Variables.W.Range) &&
                Variables.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo &&
                Variables.Menu.Item($"{Variables.MainMenuName}.rspell.stacks").GetValue <Slider>().Value
                > ObjectManager.Player.GetBuffCount("kogmawlivingartillerycost") &&
                Variables.Menu.Item($"{Variables.MainMenuName}.rspell.combo").IsActive())
            {
                Variables.R.SPredictionCast(Targets.Target, HitChance.High);
            }
        }
Ejemplo n.º 3
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 ExecuteAuto(EventArgs args)
        {
            /// <summary>
            /// The W Immobile Harass Logic,
            /// The W KillSteal Logic.
            /// </summary>
            if (Variables.W.IsReady() &&
                Targets.Target.IsValidTarget(Variables.W.Range) &&

                ((Bools.IsImmobile(Targets.Target) &&
                  Variables.Menu.Item($"{Variables.MainMenuName}.wspell.immobile").IsActive()) ||

                 (Targets.Target.Health < Variables.W.GetDamage(Targets.Target) &&
                  Variables.Menu.Item($"{Variables.MainMenuName}.wspell.ks").IsActive())))
            {
                Variables.W.SPredictionCast(Targets.Target, HitChance.High);
            }

            /// <summary>
            /// The E Logic.
            /// </summary>
            if (Variables.E.IsReady() &&
                !ObjectManager.Player.IsWindingUp &&
                !ObjectManager.Player.IsRecalling() &&
                ObjectManager.Player.CountEnemiesInRange(1500) == 0 &&
                ObjectManager.Player.ManaPercent > ManaManager.NeededEMana &&
                Variables.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None &&
                Variables.Menu.Item($"{Variables.MainMenuName}.espell.auto").IsActive())
            {
                Variables.E.Cast(
                    Variables.Locations
                    .OrderBy(d => ObjectManager.Player.Distance(d))
                    .FirstOrDefault()
                    );
            }

            /// <summary>
            /// The R Doublelift Mechanic Logic,
            /// The R Normal Combo Logic.
            /// </summary>
            if (Variables.R.IsReady() &&
                Targets.Target.IsValidTarget(Variables.R.Range) &&
                Variables.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo &&
                Variables.Menu.Item($"{Variables.MainMenuName}.rspell.combo").IsActive() &&
                Variables.Menu.Item($"{Variables.MainMenuName}.rspell.whitelist.{Targets.Target.ChampionName.ToLower()}").IsActive())
            {
                if (Variables.E.IsReady() &&
                    Targets.Target.Health > Variables.R.GetDamage(Targets.Target) &&
                    !Targets.Target.IsValidTarget(ObjectManager.Player.AttackRange) &&
                    Variables.Menu.Item($"{Variables.MainMenuName}.espell.auto").IsActive())
                {
                    Variables.E.SPredictionCast(Targets.Target, HitChance.High);
                    Variables.R.SPredictionCast(Targets.Target, HitChance.High);
                    return;
                }

                Variables.R.SPredictionCast(Targets.Target, HitChance.High);
            }
        }
Ejemplo n.º 4
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 Combo(EventArgs args)
        {
            /// <summary>
            ///     The R Combo Logic.
            /// </summary>
            if (Vars.R.IsReady() &&
                Vars.R.Instance.Name.Equals("JhinRShot") &&
                Vars.getCheckBoxItem(Vars.RMenu, "combo"))
            {
                if (GameObjects.EnemyHeroes.Any(
                        t =>
                        t.LSIsValidTarget(Vars.R.Range) &&
                        !Vars.Cone.IsOutside((Vector2)t.ServerPosition)))
                {
                    foreach (var target in GameObjects.EnemyHeroes.Where(
                                 t =>
                                 t.LSIsValidTarget(Vars.R.Range) &&
                                 !Vars.Cone.IsOutside((Vector2)t.ServerPosition)))
                    {
                        if (Vars.getCheckBoxItem(Vars.RMenu, "nearmouse"))
                        {
                            Vars.R.Cast(Vars.R.GetPrediction(GameObjects.EnemyHeroes.Where(
                                                                 t =>
                                                                 !Vars.Cone.IsOutside((Vector2)t.ServerPosition) &&
                                                                 t.LSIsValidTarget(Vars.R.Range)).OrderBy(
                                                                 o =>
                                                                 o.Distance(Game.CursorPos)).FirstOrDefault()).UnitPosition);
                        }
                        else
                        {
                            Vars.R.Cast(Vars.R.GetPrediction(target).UnitPosition);
                        }
                    }
                }
                else
                {
                    Vars.R.Cast(Game.CursorPos);
                }
            }

            if (Bools.HasSheenBuff() ||
                !Targets.Target.LSIsValidTarget() ||
                Invulnerable.Check(Targets.Target) ||
                Vars.R.Instance.Name.Equals("JhinRShot"))
            {
                return;
            }

            /// <summary>
            ///     The Q Combo Logic.
            /// </summary>
            if (Vars.Q.IsReady() &&
                Targets.Target.LSIsValidTarget(Vars.Q.Range) &&
                GameObjects.Player.HasBuff("JhinPassiveReload") &&
                Vars.getCheckBoxItem(Vars.QMenu, "combo"))
            {
                Vars.Q.CastOnUnit(Targets.Target);
            }
        }
Ejemplo n.º 5
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.LSIsRecalling())
            {
                return;
            }

            /// <summary>
            ///     The Tear Stacking Logic.
            /// </summary>
            if (Vars.Q.IsReady() &&
                Bools.HasTear(GameObjects.Player) &&
                !GameObjects.Player.LSIsRecalling() &&
                Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.None) &&
                GameObjects.Player.CountEnemyHeroesInRange(1500) == 0 &&
                GameObjects.Player.ManaPercent >
                ManaManager.GetNeededMana(Vars.Q.Slot, Vars.getSliderItem(Vars.MiscMenu, "tear")) &&
                Vars.getSliderItem(Vars.MiscMenu, "tear") != 101)
            {
                Vars.Q.Cast(GameObjects.Player.ServerPosition.LSExtend(Game.CursorPos, Vars.Q.Range - 5f));
            }

            /// <summary>
            ///     The Automatic Q Logic.
            /// </summary>
            if (Vars.Q.IsReady() &&
                Vars.getCheckBoxItem(Vars.QMenu, "logical"))
            {
                foreach (var target in GameObjects.EnemyHeroes.Where(
                             t =>
                             Bools.IsImmobile(t) &&
                             !Invulnerable.Check(t) &&
                             t.LSIsValidTarget(Vars.Q.Range)))
                {
                    Vars.Q.Cast(target.ServerPosition);
                    return;
                }
            }

            /// <summary>
            ///     The Automatic W Logic.
            /// </summary>
            DelayAction.Add(1000, () =>
            {
                if (Vars.W.IsReady() &&
                    !Vars.Q.IsReady() &&
                    Vars.getCheckBoxItem(Vars.WMenu, "logical"))
                {
                    foreach (var target in GameObjects.EnemyHeroes.Where(
                                 t =>
                                 Bools.IsImmobile(t) &&
                                 !Invulnerable.Check(t) &&
                                 t.LSIsValidTarget(Vars.W.Range)))
                    {
                        Vars.W.Cast(target.ServerPosition);
                    }
                }
            });
        }
Ejemplo n.º 6
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 Combo(EventArgs args)
        {
            if (Bools.HasSheenBuff() ||
                !Targets.Target.LSIsValidTarget())
            {
                return;
            }

            /// <summary>
            ///     The Q Combo Logic.
            /// </summary>
            if (Vars.Q.IsReady() &&
                Targets.Target.LSIsValidTarget(Vars.AARange) &&
                GameObjects.Player.HasBuff("asheqcastready") &&
                Vars.getCheckBoxItem(Vars.QMenu, "combo"))
            {
                Vars.Q.Cast();
            }

            if (Targets.Target.LSIsValidTarget(Vars.AARange + 20))
            {
                return;
            }

            /// <summary>
            ///     The W Combo Logic.
            /// </summary>
            if (Vars.W.IsReady() &&
                !Invulnerable.Check(Targets.Target) &&
                Targets.Target.LSIsValidTarget(Vars.W.Range) &&
                Vars.getCheckBoxItem(Vars.WMenu, "combo"))
            {
                if (!Vars.W.GetPrediction(Targets.Target).CollisionObjects.Any())
                {
                    Vars.W.Cast(Vars.W.GetPrediction(Targets.Target).UnitPosition);
                }
            }


            /// <summary>
            ///     The E -> R Combo Logics.
            /// </summary>
            if (Vars.R.IsReady() &&
                !Invulnerable.Check(Targets.Target, DamageType.Magical, false) &&
                Vars.getCheckBoxItem(Vars.RMenu, "combo") &&
                Vars.getCheckBoxItem(Vars.WhiteListMenu, Targets.Target.ChampionName.ToLower()))
            {
                if (!Vars.R.GetPrediction(Targets.Target).CollisionObjects.Any())
                {
                    if (Vars.E.IsReady() &&
                        Vars.getCheckBoxItem(Vars.EMenu, "logical"))
                    {
                        Vars.E.Cast(Vars.E.GetPrediction(Targets.Target).UnitPosition);
                    }

                    Vars.R.Cast(Vars.R.GetPrediction(Targets.Target).UnitPosition);
                }
            }
        }
Ejemplo n.º 7
0
 /// <summary>
 ///     Called on do-cast.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The args.</param>
 public static void Weaving(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (!args.Target.IsValid <AIHeroClient>() ||
         Bools.IsSpellShielded(args.Target as AIHeroClient))
     {
         return;
     }
 }
Ejemplo n.º 8
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 Harass(EventArgs args)
 {
     if (!Targets.Target.LSIsValidTarget() ||
         Bools.IsSpellShielded(Targets.Target))
     {
         return;
     }
 }
Ejemplo n.º 9
0
        /// <summary>
        ///     Fired when the game is updated.
        /// </summary>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        public static void Clear(EventArgs args)
        {
            if (Bools.HasSheenBuff())
            {
                return;
            }

            /// <summary>
            ///     The Clear Q Logics.
            /// </summary>
            if (Variables.Q.IsReady() &&
                ObjectManager.Player.ManaPercent > ManaManager.NeededQMana && Menus.getCheckBoxItem(Variables.QMenu, "qspell.farm"))
            {
                /// <summary>
                ///     The JungleClear Q Logic.
                /// </summary>
                if (Targets.JungleMinions.Any())
                {
                    Variables.Q.Cast(Targets.JungleMinions[0].Position);
                }

                /// <summary>
                ///     The LaneClear Q Logics.
                /// </summary>
                else
                {
                    /// <summary>
                    ///     The Aggressive LaneClear Q Logic.
                    /// </summary>
                    if (HeroManager.Enemies.Any(
                            t =>
                            !Bools.IsSpellShielded(t) &&
                            t.LSIsValidTarget(Variables.Q2.Range)))
                    {
                        if (Variables.Q2.GetLineFarmLocation(Targets.Minions, Variables.Q2.Width).MinionsHit >= 3 &&
                            new Geometry.Polygon.Rectangle(
                                ObjectManager.Player.ServerPosition,
                                ObjectManager.Player.ServerPosition.LSExtend(
                                    Targets.Minions[0].ServerPosition,
                                    Variables.Q2.Range), Variables.Q2.Width).IsInside(Variables.Q2.GetPrediction(HeroManager.Enemies.FirstOrDefault(t => !Bools.IsSpellShielded(t) && t.LSIsValidTarget(Variables.Q2.Range))).CastPosition))
                        {
                            Variables.Q.Cast(Variables.Q2.GetLineFarmLocation(Targets.Minions, Variables.Q2.Width).Position);
                        }
                    }

                    /// <summary>
                    ///     The LaneClear Q Logic.
                    /// </summary>
                    else if (!HeroManager.Enemies.Any(t => !Bools.IsSpellShielded(t) && t.LSIsValidTarget(Variables.Q2.Range + 100f)))
                    {
                        if (Variables.Q2.GetLineFarmLocation(Targets.Minions, Variables.Q2.Width).MinionsHit >= 3)
                        {
                            Variables.Q.Cast(Variables.Q2.GetLineFarmLocation(Targets.Minions, Variables.Q2.Width).Position);
                        }
                    }
                }
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        ///     Fired when the game is updated.
        /// </summary>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        public static void Clear(EventArgs args)
        {
            if (Bools.HasSheenBuff())
            {
                return;
            }

            /// <summary>
            ///     The Q LaneClear Logic.
            /// </summary>
            if (Vars.Q.IsReady() && Targets.Minions.Any() &&
                Vars.Menu["spells"]["q"]["laneclear"].GetValue <MenuSliderButton>().BValue)
            {
                if (GameObjects.Player.ManaPercent
                    < ManaManager.GetNeededMana(Vars.Q.Slot, Vars.Menu["spells"]["q"]["laneclear"]) &&
                    !GameObjects.Player.Buffs.Any(b => b.Name.Equals("visionary")))
                {
                    return;
                }

                Vars.Q.CastOnUnit(
                    Targets.Minions.FirstOrDefault(
                        m => Vars.GetRealHealth(m) < (float)GameObjects.Player.GetSpellDamage(m, SpellSlot.Q)));
            }

            /// <summary>
            ///     The E Clear Logics.
            /// </summary>
            if (Vars.E.IsReady() && Vars.Menu["spells"]["e"]["clear"].GetValue <MenuSliderButton>().BValue)
            {
                if (GameObjects.Player.ManaPercent
                    < ManaManager.GetNeededMana(Vars.E.Slot, Vars.Menu["spells"]["e"]["clear"]) &&
                    !GameObjects.Player.Buffs.Any(b => b.Name.Equals("visionary")))
                {
                    return;
                }

                /// <summary>
                ///     The E LaneClear Logic.
                /// </summary>
                foreach (var minion in
                         Targets.Minions.Where(
                             m =>
                             m.IsValidTarget(Vars.E.Range) &&
                             Vars.GetRealHealth(m) < (float)GameObjects.Player.GetSpellDamage(m, SpellSlot.E)))
                {
                    Vars.E.CastOnUnit(minion);
                }

                /// <summary>
                ///     The E JungleClear Logic.
                /// </summary>
                if (Targets.JungleMinions.Any())
                {
                    Vars.E.CastOnUnit(Targets.JungleMinions[0]);
                }
            }
        }
Ejemplo n.º 11
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 Combo(EventArgs args)
        {
            if (Bools.HasSheenBuff() && Targets.Target.IsValidTarget(GameObjects.Player.GetRealAutoAttackRange()) ||
                Invulnerable.Check(Targets.Target))
            {
                return;
            }

            /// <summary>
            ///     The W Combo Logic.
            /// </summary>
            if (Vars.W.IsReady() && GameObjects.Player.Spellbook.IsAutoAttacking &&
                Vars.Menu["spells"]["w"]["combo"].GetValue <MenuBool>().Value)
            {
                if (!Vars.Menu["miscellaneous"]["keeprmana"] ||
                    GameObjects.Player.Mana > Vars.W.Instance.SData.Mana + Vars.R.Instance.SData.Mana)
                {
                    Vars.W.Cast();
                }
            }

            if (GameObjects.Player.Spellbook.IsAutoAttacking)
            {
                return;
            }

            /// <summary>
            ///     The Q Combo Logic.
            /// </summary>
            if (Vars.Q.IsReady() && Targets.Target.IsValidTarget(Vars.Q.Range) &&
                Vars.Menu["spells"]["q"]["combo"].GetValue <MenuSliderButton>().BValue &&
                Vars.Menu["spells"]["q"]["combo"].GetValue <MenuSliderButton>().SValue
                > GameObjects.Player.HealthPercent)
            {
                if (!Vars.Menu["miscellaneous"]["keeprmana"] ||
                    GameObjects.Player.Mana > Vars.Q.Instance.SData.Mana + Vars.R.Instance.SData.Mana)
                {
                    Vars.Q.CastOnUnit(Targets.Target);
                }
            }

            /// <summary>
            ///     The R Combo Logic.
            /// </summary>
            if (Vars.R.IsReady())
            {
                foreach (var target in
                         GameObjects.EnemyHeroes.Where(
                             t =>
                             !t.IsUnderEnemyTurret() && t.IsValidTarget(Vars.R.Range) &&
                             !t.IsValidTarget(GameObjects.Player.GetRealAutoAttackRange()) &&
                             Vars.Menu["spells"]["r"]["combo"].GetValue <MenuBool>().Value &&
                             Vars.Menu["spells"]["r"]["whitelist"][t.ChampionName.ToLower()].GetValue <MenuBool>().Value))
                {
                    Vars.R.CastOnUnit(target);
                }
            }
        }
Ejemplo n.º 12
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 Combo(EventArgs args)
        {
            if (Bools.HasSheenBuff() ||
                !Targets.Target.LSIsValidTarget())
            {
                return;
            }

            /// <summary>
            ///     The E Combo Logic.
            /// </summary>
            if (Vars.E.IsReady() &&
                !Targets.Target.LSIsValidTarget(Vars.W.Range) &&
                Targets.Target.LSIsValidTarget(Vars.W.Range + 200f) &&
                !Invulnerable.Check(Targets.Target, DamageType.Magical, false) &&
                Vars.getCheckBoxItem(Vars.EMenu, "engager"))
            {
                Vars.E.CastOnUnit(GameObjects.Player);
            }

            /// <summary>
            ///     The W Combo Logic.
            /// </summary>
            if (Vars.W.IsReady() &&
                Targets.Target.LSIsValidTarget(Vars.W.Range) &&
                !Invulnerable.Check(Targets.Target, DamageType.Magical, false) &&
                Vars.getCheckBoxItem(Vars.WMenu, "combo"))
            {
                if (Vars.R.IsReady() &&
                    Vars.getSliderItem(Vars.WMenu, "lifesaver") > GameObjects.Player.HealthPercent)
                {
                    Vars.R.Cast();
                }

                Vars.W.CastOnUnit(Targets.Target);
            }

            /// <summary>
            ///     The Q Combo Logic.
            /// </summary>
            if (Vars.Q.IsReady() &&
                Targets.Target.LSIsValidTarget(Vars.Q.Range - 100f) &&
                !Invulnerable.Check(Targets.Target, DamageType.Magical) &&
                Vars.getCheckBoxItem(Vars.QMenu, "combo"))
            {
                if (!Vars.Q.GetPrediction(Targets.Target).CollisionObjects.Any(c => Targets.Minions.Contains(c)))
                {
                    if (Vars.R.IsReady() &&
                        Vars.getCheckBoxItem(Vars.RMenu, "empq"))
                    {
                        Vars.R.Cast();
                    }

                    Vars.Q.Cast(Vars.Q.GetPrediction(Targets.Target).UnitPosition);
                }
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        ///     Fired when the game is updated.
        /// </summary>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        public static void Clear(EventArgs args)
        {
            if (Bools.HasSheenBuff())
            {
                return;
            }

            /// <summary>
            ///     The Q Clear Logic.
            /// </summary>
            if (Vars.Q.IsReady() &&
                GameObjects.Player.ManaPercent
                > ManaManager.GetNeededMana(Vars.Q.Slot, Vars.Menu["spells"]["q"]["clear"]) &&
                Vars.Menu["spells"]["q"]["clear"].GetValue <MenuSliderButton>().BValue)
            {
                /// <summary>
                ///     The Q JungleClear Logic.
                /// </summary>
                if (Targets.JungleMinions.Any())
                {
                    if (Vars.R.IsReady() && Vars.Menu["spells"]["r"]["empq"].GetValue <MenuBool>().Value)
                    {
                        Vars.R.Cast();
                    }
                    Vars.Q.Cast(Targets.JungleMinions[0].ServerPosition);
                }

                /// <summary>
                ///     The LaneClear Q Logic.
                /// </summary>
                else if (Vars.Q.GetCircularFarmLocation(Targets.Minions, 125f).MinionsHit >= 3)
                {
                    if (Vars.R.IsReady() && Vars.Menu["spells"]["r"]["empq"].GetValue <MenuBool>().Value)
                    {
                        Vars.R.Cast();
                    }
                    Vars.Q.Cast(Vars.Q.GetCircularFarmLocation(Targets.Minions, 125f).Position);
                }
            }

            /// <summary>
            ///     The W JungleClear Logic.
            /// </summary>
            if (Vars.W.IsReady() && Targets.JungleMinions.Any() &&
                GameObjects.Player.ManaPercent
                > ManaManager.GetNeededMana(Vars.W.Slot, Vars.Menu["spells"]["w"]["jungleclear"]) &&
                Vars.Menu["spells"]["w"]["jungleclear"].GetValue <MenuSliderButton>().BValue)
            {
                if (Vars.R.IsReady() && Vars.Menu["spells"]["w"]["lifesaver"].GetValue <MenuSliderButton>().BValue &&
                    Vars.Menu["spells"]["w"]["lifesaver"].GetValue <MenuSliderButton>().SValue
                    > GameObjects.Player.HealthPercent)
                {
                    Vars.R.Cast();
                }
                Vars.W.CastOnUnit(Targets.JungleMinions[0]);
            }
        }
Ejemplo n.º 14
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 Tear Stacking Logic.
            /// </summary>
            if (Vars.Q.IsReady() && Bools.HasTear(GameObjects.Player) &&
                Variables.Orbwalker.ActiveMode == OrbwalkingMode.None &&
                GameObjects.Player.CountEnemyHeroesInRange(1500) == 0 &&
                GameObjects.Player.ManaPercent
                > ManaManager.GetNeededMana(Vars.Q.Slot, Vars.Menu["miscellaneous"]["tear"]) &&
                Vars.Menu["miscellaneous"]["tear"].GetValue <MenuSliderButton>().BValue)
            {
                Vars.Q.Cast(GameObjects.Player.ServerPosition.Extend(Game.CursorPos, Vars.Q.Range - 5f));
            }

            /// <summary>
            ///     The Automatic Logics.
            /// </summary>
            foreach (var target in
                     GameObjects.EnemyHeroes.Where(
                         t => Bools.IsImmobile(t) && !Invulnerable.Check(t, DamageType.Magical, false)))
            {
                /// <summary>
                ///     The Automatic W Logic.
                /// </summary>
                if (Vars.W.IsReady() && target.IsValidTarget(Vars.W.Range) && !target.IsValidTarget(500f) &&
                    Vars.Menu["spells"]["w"]["logical"].GetValue <MenuBool>().Value)
                {
                    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 =>
                        t.IsValidTarget(Vars.R.Range - 100f) && t.IsFacing(GameObjects.Player) &&
                        !Invulnerable.Check(t, DamageType.Magical, false) &&
                        Vars.Menu["spells"]["r"]["whitelist"][t.ChampionName.ToLower()].GetValue <MenuBool>().Value)
                    .OrderBy(o => o.Health)
                    .FirstOrDefault();
                if (target != null)
                {
                    Vars.R.Cast(target.ServerPosition);
                }
            }
        }
Ejemplo n.º 15
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 (Bools.HasSheenBuff())
            {
                return;
            }

            /// <summary>
            ///     The Automatic Q Logic.
            /// </summary>
            if (Vars.Q.IsReady() &&
                Vars.getCheckBoxItem(Vars.QMenu, "logical"))
            {
                foreach (var target in GameObjects.EnemyHeroes.Where(
                             t =>
                             Bools.IsImmobile(t) &&
                             !Invulnerable.Check(t) &&
                             t.LSIsValidTarget(Vars.Q.Range)))
                {
                    Vars.Q.Cast(target.ServerPosition);
                }
            }

            /// <summary>
            ///     Block Special AoE.
            /// </summary>
            foreach (var target in GameObjects.EnemyHeroes)
            {
                switch (target.ChampionName)
                {
                case "Jax":
                    if (target.HasBuff("jaxcounterstrike") &&
                        target.LSIsValidTarget(355 + GameObjects.Player.BoundingRadius) &&
                        target.GetBuff("jaxcounterstrike").EndTime - Game.Time >
                        target.GetBuff("jaxcounterstrike").EndTime - target.GetBuff("jaxcounterstrike").StartTime - (1000 - Game.Ping) / 1000 &&
                        Vars.getCheckBoxItem(Vars.WhiteListMenu, $"{target.ChampionName.ToLower()}.jaxcounterstrike"))
                    {
                        Vars.E.Cast();
                    }
                    break;

                case "KogMaw":
                    if (target.HasBuff("kogmawicathiansurprise") &&
                        target.LSIsValidTarget(355 + GameObjects.Player.BoundingRadius) &&
                        target.GetBuff("kogmawicathiansurprise").EndTime - Game.Time >
                        target.GetBuff("kogmawicathiansurprise").EndTime - target.GetBuff("kogmawicathiansurprise").StartTime - (4000 - Game.Ping) / 1000 &&
                        Vars.getCheckBoxItem(Vars.WhiteListMenu, $"{target.ChampionName.ToLower()}.kogmawicathiansurprise"))
                    {
                        Vars.E.Cast();
                    }
                    break;

                default:
                    break;
                }
            }
        }
Ejemplo n.º 16
0
 [Show, Category(Single)] void ClearSingles()
 {
     Ints.Clear();
     Strings.Clear();
     Floats.Clear();
     Bools.Clear();
     Vector3s.Clear();
     Colors.Clear();
 }
Ejemplo n.º 17
0
 public void LazyOnlineToShadow()
 {
     One.Shadow                = One.LastValue;
     Two.Shadow                = Two.LastValue;
     Another.Shadow            = Another.LastValue;
     ThisOne.Shadow            = ThisOne.LastValue;
     ANumberWouldBeCool.Shadow = ANumberWouldBeCool.LastValue;
     Bools.LazyOnlineToShadow();
 }
Ejemplo n.º 18
0
        /// <summary>
        ///     Fired when the game is updated.
        /// </summary>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        public static void Clear(EventArgs args)
        {
            if (Bools.HasSheenBuff())
            {
                return;
            }

            /// <summary>
            ///     The Q Clear Logics.
            /// </summary>
            if (Vars.Q.IsReady() &&
                GameObjects.Player.ManaPercent >
                ManaManager.GetNeededMana(Vars.Q.Slot, Vars.getSliderItem(Vars.QMenu, "clear")) &&
                Vars.getSliderItem(Vars.QMenu, "clear") != 101)
            {
                /// <summary>
                ///     The Q LaneClear Logic.
                /// </summary>
                if (Vars.Q.GetLineFarmLocation(Targets.Minions.Where(
                                                   m =>
                                                   m.Health <
                                                   (float)GameObjects.Player.LSGetSpellDamage(m, SpellSlot.Q)).ToList(), Vars.Q.Width).MinionsHit >= 3)
                {
                    Vars.Q.Cast(Vars.Q.GetLineFarmLocation(Targets.Minions.Where(
                                                               m =>
                                                               m.Health <
                                                               (float)GameObjects.Player.LSGetSpellDamage(m, SpellSlot.Q)).ToList(), Vars.Q.Width).Position);
                }

                /// <summary>
                ///     The Q JungleClear Logic.
                /// </summary>
                else if (Targets.JungleMinions.Any())
                {
                    Vars.Q.Cast(Targets.JungleMinions[0].ServerPosition);
                }
            }

            /// <summary>
            ///     The E LaneClear Logics.
            /// </summary>
            if (Vars.E.IsReady() &&
                GameObjects.Player.ManaPercent >
                ManaManager.GetNeededMana(Vars.E.Slot, Vars.getSliderItem(Vars.EMenu, "laneclear")) &&
                Vars.getSliderItem(Vars.EMenu, "laneclear") != 101)
            {
                if (Targets.Minions.Count(
                        m =>
                        Bools.IsPerfectRendTarget(m) &&
                        Vars.GetRealHealth(m) <
                        (float)GameObjects.Player.LSGetSpellDamage(m, SpellSlot.E) +
                        (float)GameObjects.Player.LSGetSpellDamage(m, SpellSlot.E, DamageStage.Buff)) >= 2)
                {
                    Vars.E.Cast();
                }
            }
        }
Ejemplo n.º 19
0
 public string Save()
 {
     return(JsonUtility.ToJson(new SaveData {
         strings = Strings.Save(),
         bools = Bools.Save(),
         ints = Ints.Save(),
         floats = Floats.Save(),
     }));
 }
Ejemplo n.º 20
0
 public void LazyShadowToOnline()
 {
     One.Cyclic                = One.Shadow;
     Two.Cyclic                = Two.Shadow;
     Another.Cyclic            = Another.Shadow;
     ThisOne.Cyclic            = ThisOne.Shadow;
     ANumberWouldBeCool.Cyclic = ANumberWouldBeCool.Shadow;
     Bools.LazyShadowToOnline();
 }
Ejemplo n.º 21
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 Combo(EventArgs args)
        {
            if (Bools.HasSheenBuff() &&
                GameObjects.EnemyHeroes.Any(t => t.IsValidTarget(GameObjects.Player.GetRealAutoAttackRange())))
            {
                return;
            }

            /// <summary>
            ///     The W Combo Logic.
            /// </summary>
            if (Vars.W.IsReady() && GameObjects.EnemyHeroes.Any(t => t.IsValidTarget(Vars.W.Range)) &&
                Vars.Menu["spells"]["w"]["combo"].GetValue <MenuBool>().Value)
            {
                Vars.W.Cast();
            }
            if (!Targets.Target.IsValidTarget() || Invulnerable.Check(Targets.Target))
            {
                return;
            }

            /// <summary>
            ///     The Q Combo Logic.
            /// </summary>
            if (Vars.Q.IsReady() && Targets.Target.IsValidTarget(Vars.Q.Range) &&
                GameObjects.Player.Mana > Vars.Q.Instance.ManaCost + Vars.W.Instance.ManaCost &&
                Vars.Menu["spells"]["q"]["combo"].GetValue <MenuBool>().Value)
            {
                if (!Vars.Q.GetPrediction(Targets.Target).CollisionObjects.Any())
                {
                    Vars.Q.Cast(Vars.Q.GetPrediction(Targets.Target).UnitPosition);
                }
            }

            /// <summary>
            ///     The E Combo Logic.
            /// </summary>
            if (Vars.E.IsReady() && Targets.Target.IsValidTarget(Vars.E.Range - 100f) &&
                GameObjects.Player.Mana > Vars.E.Instance.ManaCost + Vars.W.Instance.ManaCost &&
                Vars.Menu["spells"]["e"]["combo"].GetValue <MenuBool>().Value)
            {
                Vars.E.Cast(Vars.E.GetPrediction(Targets.Target).UnitPosition);
            }

            /// <summary>
            ///     The R Combo Logic.
            /// </summary>
            if (Vars.R.IsReady() && Targets.Target.HealthPercent < 50 && Targets.Target.IsValidTarget(Vars.R.Range) &&
                GameObjects.Player.Mana
                > Vars.W.Instance.ManaCost + 50 * (GameObjects.Player.GetBuffCount("kogmawlivingartillerycost") + 1) &&
                Vars.Menu["spells"]["r"]["combo"].GetValue <MenuSliderButton>().BValue &&
                Vars.Menu["spells"]["r"]["combo"].GetValue <MenuSliderButton>().SValue
                > GameObjects.Player.GetBuffCount("kogmawlivingartillerycost"))
            {
                Vars.R.Cast(Vars.R.GetPrediction(Targets.Target).CastPosition);
            }
        }
Ejemplo n.º 22
0
        public void Load(string save)
        {
            var data = JsonUtility.FromJson <SaveData>(save);

            Strings.Load(data.strings);
            Bools.Load(data.bools);
            Ints.Load(data.ints);
            Floats.Load(data.floats);
        }
Ejemplo n.º 23
0
    public static bool GetBool(string key)
    {
        if (Bools == null)
        {
            Bools = new Dictionary <string, bool>();
        }

        return((Bools.ContainsKey(key)) ? Bools[key] : false);
    }
Ejemplo n.º 24
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.LSIsRecalling())
            {
                return;
            }

            /// <summary>
            ///     The E Missile Manager.
            /// </summary>
            if (Vars.E.IsReady() &&
                Lux.EMissile != null &&
                GameObjects.Player.Spellbook.GetSpell(SpellSlot.E).ToggleState != 1)
            {
                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    foreach (var target in GameObjects.EnemyHeroes.Where(
                                 t =>
                                 !Bools.IsImmobile(t) &&
                                 !t.HasBuff("luxilluminatingfraulein") &&
                                 t.Distance(Lux.EMissile.Position) < Vars.E.Width - 10f))
                    {
                        Vars.E.Cast();
                        break;
                    }
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
                {
                    if (Targets.EMinions.Any() &&
                        Targets.EMinions.Count() >= 3)
                    {
                        Vars.E.Cast();
                    }
                }
            }

            /// <summary>
            ///     The Automatic Q Logic.
            /// </summary>
            if (Vars.Q.IsReady() &&
                Vars.getCheckBoxItem(Vars.QMenu, "logical"))
            {
                foreach (var target in GameObjects.EnemyHeroes.Where(
                             t =>
                             Bools.IsImmobile(t) &&
                             !Invulnerable.Check(t) &&
                             t.LSIsValidTarget(Vars.Q.Range)))
                {
                    if (!Vars.Q.GetPrediction(target).CollisionObjects.Any())
                    {
                        Vars.Q.Cast(target.ServerPosition);
                    }
                }
            }
        }
Ejemplo n.º 25
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 Q Logic.
            /// </summary>
            if (Vars.Q.IsReady() && 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)))
                {
                    if (!Vars.Q.GetPrediction(Targets.Target).CollisionObjects.Any(c => Targets.Minions.Contains(c)))
                    {
                        Vars.Q.Cast(target.ServerPosition);
                    }
                }
            }

            /// <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) && !Invulnerable.Check(t) && t.IsValidTarget(Vars.E.Range)))
                {
                    Vars.E.Cast(target.ServerPosition);
                }
            }

            /// <summary>
            ///     The Automatic R Logic.
            /// </summary>
            if (Vars.R.IsReady() &&
                GameObjects.Player.ManaPercent
                > ManaManager.GetNeededMana(Vars.R.Slot, Vars.Menu["spells"]["r"]["logical"]) &&
                Vars.Menu["spells"]["r"]["logical"].GetValue <MenuSliderButton>().BValue &&
                Vars.Menu["spells"]["r"]["logical"].GetValue <MenuSliderButton>().SValue
                > GameObjects.Player.GetBuffCount("kogmawlivingartillerycost"))
            {
                foreach (var target in
                         GameObjects.EnemyHeroes.Where(
                             t =>
                             Bools.IsImmobile(t) && t.HealthPercent < 50 && !Invulnerable.Check(t) &&
                             t.IsValidTarget(Vars.R.Range)))
                {
                    Vars.R.Cast(target.ServerPosition);
                }
            }
        }
Ejemplo n.º 26
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 Combo(EventArgs args)
        {
            if (!Bools.HasSheenBuff() &&
                Targets.Target.LSIsValidTarget() &&
                !Invulnerable.Check(Targets.Target))
            {
                /// <summary>
                ///     The E AoE Logic.
                /// </summary>
                if (Vars.E.IsReady() &&
                    Targets.Target.LSIsValidTarget(Vars.E.Range) &&
                    Targets.Target.CountEnemyHeroesInRange(Vars.E.Width) >=
                    Vars.getSliderItem(Vars.RMenu, "aoe") &&
                    Vars.getSliderItem(Vars.EMenu, "aoe") != 6)
                {
                    Vars.E.Cast(GameObjects.Player.ServerPosition.LSExtend(
                                    Targets.Target.ServerPosition, GameObjects.Player.Distance(Targets.Target) + Targets.Target.BoundingRadius * 2));
                }

                if (GameObjects.EnemyHeroes.Any(t => t.LSIsValidTarget(Vars.PowPow.Range)))
                {
                    return;
                }

                /// <summary>
                ///     The W Combo Logic.
                /// </summary>
                if (Vars.W.IsReady() &&
                    !GameObjects.Player.IsUnderEnemyTurret() &&
                    Targets.Target.LSIsValidTarget(Vars.W.Range) &&
                    GameObjects.Player.CountEnemyHeroesInRange(Vars.Q.Range) < 3 &&
                    Vars.getCheckBoxItem(Vars.WMenu, "combo"))
                {
                    if (!Vars.W.GetPrediction(Targets.Target).CollisionObjects.Any())
                    {
                        Vars.W.Cast(Vars.W.GetPrediction(Targets.Target).UnitPosition);
                    }
                }
            }

            /// <summary>
            ///     The R AoE Logic.
            /// </summary>
            if (Vars.R.IsReady() &&
                Vars.getSliderItem(Vars.RMenu, "aoe") != 6)
            {
                foreach (var target in GameObjects.EnemyHeroes.Where(
                             t =>
                             t.LSIsValidTarget(Vars.W.Range) &&
                             t.CountEnemyHeroesInRange(225f) >=
                             Vars.getSliderItem(Vars.RMenu, "aoe")))
                {
                    Vars.R.Cast(target.ServerPosition);
                }
            }
        }
Ejemplo n.º 27
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 Q Logic.
            /// </summary>
            if (Vars.Q.IsReady() && 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) &&
                             !Vars.AnyWall(GameObjects.Player.ServerPosition, t.ServerPosition)))
                {
                    Vars.Q.Cast(target.ServerPosition);
                    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) &&
                             !Invulnerable.Check(t, DamageType.Magical, false)))
                {
                    Vars.W.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)
            {
                var target =
                    GameObjects.EnemyHeroes.Where(
                        t =>
                        !Invulnerable.Check(t) && t.IsValidTarget(Vars.R.Range) &&
                        Vars.Menu["spells"]["r"]["whitelist"][Targets.Target.ChampionName.ToLower()]
                        .GetValue <MenuBool>().Value).OrderBy(o => o.Health).FirstOrDefault();
                if (target != null)
                {
                    Vars.R.Cast(Vars.R.GetPrediction(target).UnitPosition);
                }
            }
        }
Ejemplo n.º 28
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 Killsteal(EventArgs args)
        {
            /// <summary>
            ///     The KillSteal E Logic.
            /// </summary>
            if (Vars.E.IsReady() && GameObjects.Player.Spellbook.GetSpell(SpellSlot.E).ToggleState == 1 &&
                Vars.Menu["spells"]["e"]["killsteal"].GetValue <MenuBool>().Value)
            {
                foreach (var target in
                         GameObjects.EnemyHeroes.Where(
                             t =>
                             t.IsValidTarget(Vars.E.Range) && !Invulnerable.Check(t, DamageType.Magical) &&
                             Vars.GetRealHealth(t) < (float)GameObjects.Player.GetSpellDamage(t, SpellSlot.E)))
                {
                    Vars.E.Cast(Vars.E.GetPrediction(target).CastPosition);
                    return;
                }
            }

            /// <summary>
            ///     The KillSteal Q Logic.
            /// </summary>
            if (Vars.Q.IsReady() && Vars.Menu["spells"]["q"]["killsteal"].GetValue <MenuBool>().Value)
            {
                foreach (var target in
                         GameObjects.EnemyHeroes.Where(
                             t =>
                             t.IsValidTarget(Vars.Q.Range) && !Invulnerable.Check(t, DamageType.Magical) &&
                             Vars.GetRealHealth(t) < (float)GameObjects.Player.GetSpellDamage(t, SpellSlot.Q)))
                {
                    if (!Vars.Q.GetPrediction(target).CollisionObjects.Any())
                    {
                        Vars.Q.Cast(Vars.Q.GetPrediction(target).UnitPosition);
                        return;
                    }
                }
            }

            /// <summary>
            ///     The KillSteal R Logic.
            /// </summary>
            if (Vars.R.IsReady() && Vars.Menu["spells"]["r"]["killsteal"].GetValue <MenuBool>().Value)
            {
                foreach (var target in
                         GameObjects.EnemyHeroes.Where(
                             t =>
                             t.IsValidTarget(Vars.R.Range) && !Invulnerable.Check(t, DamageType.Magical) &&
                             Vars.GetRealHealth(t) < (float)GameObjects.Player.GetSpellDamage(t, SpellSlot.R)))
                {
                    if (Bools.IsImmobile(target) || !target.IsValidTarget(GameObjects.Player.GetRealAutoAttackRange()))
                    {
                        Vars.R.Cast(Vars.R.GetPrediction(target).UnitPosition);
                    }
                }
            }
        }
Ejemplo n.º 29
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 Combo(EventArgs args)
        {
            /// <summary>
            ///     The W Combo Logic.
            /// </summary>
            if (Vars.W.IsReady() && Targets.Target.IsValidTarget(Vars.W.Range) &&
                Vars.Menu["spells"]["w"]["combo"].GetValue <MenuBool>().Value)
            {
                if (Vars.R.IsReady() && GameObjects.Player.HealthPercent
                    <= Vars.Menu["spells"]["w"]["lifesaver"].GetValue <MenuSliderButton>().SValue &&
                    Vars.Menu["spells"]["w"]["lifesaver"].GetValue <MenuSliderButton>().BValue)
                {
                    Vars.R.Cast();
                }
                Vars.W.CastOnUnit(Targets.Target);
            }

            if (GameObjects.Player.HasBuff("KarmaMantra") && GameObjects.Player.HealthPercent
                <= Vars.Menu["spells"]["w"]["lifesaver"].GetValue <MenuSliderButton>().SValue &&
                Vars.Menu["spells"]["w"]["lifesaver"].GetValue <MenuSliderButton>().BValue)
            {
                return;
            }
            /// <summary>
            ///     The E Combo Logic.
            /// </summary>
            if (Vars.E.IsReady() &&
                GameObjects.EnemyHeroes.Any(t => t.IsValidTarget(GameObjects.Player.GetRealAutoAttackRange())) &&
                !GameObjects.EnemyHeroes.Any(t => t.IsValidTarget(GameObjects.Player.GetRealAutoAttackRange())) &&
                Vars.Menu["spells"]["e"]["engager"].GetValue <MenuBool>().Value)
            {
                Vars.E.CastOnUnit(GameObjects.Player);
            }

            if ((Bools.HasSheenBuff() && Targets.Target.IsValidTarget(GameObjects.Player.GetRealAutoAttackRange())) ||
                !Targets.Target.IsValidTarget() || Invulnerable.Check(Targets.Target, DamageType.Magical, false))
            {
                return;
            }

            /// <summary>
            ///     The Q Combo Logic.
            /// </summary>
            if (Vars.Q.IsReady() && Targets.Target.IsValidTarget(Vars.Q.Range - 100f) &&
                Vars.Menu["spells"]["q"]["combo"].GetValue <MenuBool>().Value)
            {
                if (!Vars.Q.GetPrediction(Targets.Target).CollisionObjects.Any(c => Targets.Minions.Contains(c)))
                {
                    if (Vars.R.IsReady() && Vars.Menu["spells"]["r"]["empq"].GetValue <MenuBool>().Value)
                    {
                        Vars.R.Cast();
                    }
                    Vars.Q.Cast(Vars.Q.GetPrediction(Targets.Target).UnitPosition);
                }
            }
        }
Ejemplo n.º 30
0
 /// <summary>
 /// Called on gapclosing spell.
 /// </summary>
 /// <param name="gapcloser">The <see cref="ActiveGapcloser"/> instance containing the event data.</param>
 public static void OnEnemyGapcloser(ActiveGapcloser gapcloser)
 {
     if (Variables.E.IsReady() &&
         !Bools.IsSpellShielded(gapcloser.Sender) &&
         ObjectManager.Player.Distance(gapcloser.End) < Variables.E.Range &&
         Variables.Menu.Item($"{Variables.MainMenuName}.espell.gp").IsActive())
     {
         Variables.E.Cast(gapcloser.End);
     }
 }