Beispiel #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 Combo(EventArgs args)
        {
            if (Orianna.BallPosition == null)
            {
                return;
            }

            /// <summary>
            ///     The W Combo Logic.
            /// </summary>
            if (Vars.W.IsReady() &&
                GameObjects.EnemyHeroes.Any(
                    t =>
                    t.Distance((Vector2)Orianna.BallPosition) < Vars.W.Range) &&
                Vars.Menu["spells"]["w"]["combo"].GetValue <MenuBool>().Value)
            {
                Vars.W.Cast();
                return;
            }

            /// <summary>
            ///     The E Combo Logic.
            /// </summary>
            if (Vars.E.IsReady() &&
                GameObjects.Player.Mana - Vars.E.Instance.ManaCost
                > Vars.Q.Instance.ManaCost + Vars.W.Instance.ManaCost &&
                Vars.Menu["spells"]["e"]["combo"].GetValue <MenuBool>().Value)
            {
                foreach (
                    var ally in
                    GameObjects.AllyHeroes.OrderBy(o => o.Health).Where(t => t.IsValidTarget(Vars.E.Range, false)))
                {
                    var polygon = new Geometry.Rectangle(
                        ally.ServerPosition,
                        ally.ServerPosition.Extend(
                            (Vector2)Orianna.BallPosition,
                            ally.Distance((Vector2)Orianna.BallPosition)),
                        Vars.Q.Width);

                    var objAiHero =
                        GameObjects.EnemyHeroes.FirstOrDefault(
                            t =>
                            t.IsValidTarget() && !Invulnerable.Check(t, DamageType.Magical) &&
                            !polygon.IsOutside((Vector2)t.ServerPosition));
                    if (objAiHero != null)
                    {
                        Vars.E.CastOnUnit(ally);
                        return;
                    }
                }
            }

            /// <summary>
            ///     The Combo R Logic.
            /// </summary>
            if (Vars.R.IsReady() &&
                GameObjects.EnemyHeroes.Any(
                    t =>
                    t.Distance((Vector2)Orianna.BallPosition) < Vars.R.Range - 25f &&
                    Vars.GetRealHealth(t)
                    < (float)GameObjects.Player.GetSpellDamage(t, SpellSlot.R)
                    + (float)GameObjects.Player.GetSpellDamage(t, SpellSlot.Q) * 2 &&
                    Vars.Menu["spells"]["r"]["whitelist"][t.ChampionName.ToLower()].GetValue <MenuBool>().Value) &&
                Vars.Menu["spells"]["r"]["combo"].GetValue <MenuBool>().Value)
            {
                Vars.R.Cast();
            }

            if (Bools.HasSheenBuff() && Targets.Target.IsValidTarget(Vars.AaRange) || !Targets.Target.IsValidTarget() ||
                Invulnerable.Check(Targets.Target, DamageType.Magical))
            {
                return;
            }

            /// <summary>
            ///     The Combo Q Logic.
            /// </summary>
            if (Vars.Q.IsReady() && Targets.Target.IsValidTarget(Vars.Q.Range) &&
                Vars.Menu["spells"]["q"]["combo"].GetValue <MenuBool>().Value)
            {
                if (Vars.E.IsReady() &&
                    Vars.Menu["spells"]["e"]["logical"].GetValue <MenuBool>().Value &&
                    ((Vector2)Orianna.BallPosition).Distance((Vector2)GameObjects.Player.ServerPosition)
                    > Vars.AaRange &&
                    ((Vector2)Orianna.BallPosition).Distance((Vector2)Targets.Target.ServerPosition)
                    > ((Vector2)Orianna.BallPosition).Distance((Vector2)GameObjects.Player.ServerPosition))
                {
                    Vars.E.Cast(GameObjects.Player);
                }
                Vars.Q.Cast(Vars.Q.GetPrediction(Targets.Target).CastPosition);
            }
        }
Beispiel #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 Combo(EventArgs args)
        {
            /// <summary>
            ///     The W Combo Logic.
            /// </summary>
            if (Vars.W.IsReady() &&
                GameObjects.EnemyHeroes.Any(
                    t => t.IsValidTarget() && t.Distance((Vector2)Orianna.GetBallPosition) < Vars.W.Range) &&
                Vars.Menu["spells"]["w"]["combo"].GetValue <MenuBool>().Value)
            {
                Vars.W.Cast();
            }

            /// <summary>
            ///     The E Combo Logic.
            /// </summary>
            if (Vars.E.IsReady() &&
                GameObjects.Player.Mana - Vars.E.Instance.ManaCost
                > Vars.Q.Instance.ManaCost + Vars.W.Instance.ManaCost &&
                Vars.Menu["spells"]["e"]["combo"].GetValue <MenuBool>().Value)
            {
                foreach (var ally in
                         GameObjects.AllyHeroes.OrderBy(o => o.Health).Where(t => t.IsValidTarget(Vars.E.Range, false)))
                {
                    var polygon = new Geometry.Rectangle(
                        ally.ServerPosition,
                        ally.ServerPosition.Extend(
                            (Vector2)Orianna.GetBallPosition,
                            ally.Distance((Vector2)Orianna.GetBallPosition)),
                        Vars.E.Width);

                    if (
                        GameObjects.EnemyHeroes.Any(
                            t =>
                            t.IsValidTarget() && !Invulnerable.Check(t, DamageType.Magical, false) &&
                            !polygon.IsOutside((Vector2)t.ServerPosition)))
                    {
                        Vars.E.CastOnUnit(ally);
                    }
                }
            }

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

            /// <summary>
            ///     The Combo Q Logic.
            /// </summary>
            if (Vars.Q.IsReady() && Targets.Target.IsValidTarget(Vars.Q.Range) &&
                Vars.Menu["spells"]["q"]["combo"].GetValue <MenuBool>().Value)
            {
                if ((Vector2)Orianna.GetBallPosition != (Vector2)GameObjects.Player.ServerPosition &&
                    ((Vector2)Orianna.GetBallPosition).Distance((Vector2)Targets.Target.ServerPosition)
                    > ((Vector2)Orianna.GetBallPosition).Distance((Vector2)GameObjects.Player.ServerPosition))
                {
                    if (Vars.E.IsReady() && Vars.Menu["spells"]["e"]["logical"].GetValue <MenuBool>().Value)
                    {
                        Vars.E.Cast(GameObjects.Player);
                    }
                }
                else
                {
                    Vars.Q.Cast(Vars.Q.GetPrediction(Targets.Target).CastPosition);
                }
            }
        }
Beispiel #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 Combo(EventArgs args)
        {
            /// <summary>
            ///     The W Combo Logic.
            /// </summary>
            if (Variables.W.IsReady()
                && HeroManager.Enemies.Any(
                    t => t.IsValidTarget() && t.Distance((Vector2)Orianna.GetBallPosition) < Variables.W.Range)
                && Variables.WMenu.Item("combo").IsActive())
            {
                Variables.W.Cast();
            }

            /// <summary>
            ///     The E Combo Logic.
            /// </summary>
            if (Variables.E.IsReady()
                && ObjectManager.Player.Mana - Variables.E.Instance.ManaCost
                > Variables.Q.Instance.ManaCost + Variables.W.Instance.ManaCost
                && Variables.EMenu.Item("combo").IsActive())
            {
                foreach (var ally in
                    HeroManager.Allies.OrderBy(o => o.Health).Where(t => t.IsValidTarget(Variables.E.Range, false)))
                {
                    var polygon = new Geometry.Rectangle(
                        ally.ServerPosition,
                        ally.ServerPosition.Extend(
                            Orianna.GetBallPosition,
                            ally.Distance((Vector2)Orianna.GetBallPosition)),
                        Variables.E.Width);

                    if (
                        HeroManager.Enemies.Any(
                            t =>
                            t.IsValidTarget()
                            && !TargetSelector.IsInvulnerable(t, TargetSelector.DamageType.Magical, false)
                            && !polygon.IsOutside((Vector2)t.ServerPosition)))
                    {
                        Variables.E.CastOnUnit(ally);
                    }
                }
            }

            if (Bools.HasSheenBuff() && Targets.Target.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Targets.Target))
                || !Targets.Target.IsValidTarget()
                || TargetSelector.IsInvulnerable(Targets.Target, TargetSelector.DamageType.Magical, false))
            {
                return;
            }

            /// <summary>
            ///     The Combo Q Logic.
            /// </summary>
            if (Variables.Q.IsReady() && Targets.Target.IsValidTarget(Variables.Q.Range)
                && Variables.QMenu.Item("combo").IsActive())
            {
                if ((Vector2)Orianna.GetBallPosition != (Vector2)ObjectManager.Player.ServerPosition
                    && ((Vector2)Orianna.GetBallPosition).Distance((Vector2)Targets.Target.ServerPosition)
                    > ((Vector2)Orianna.GetBallPosition).Distance((Vector2)ObjectManager.Player.ServerPosition))
                {
                    if (Variables.E.IsReady() && Variables.EMenu.Item("logical").IsActive())
                    {
                        Variables.E.Cast(ObjectManager.Player);
                    }
                }
                else
                {
                    Variables.Q.Cast(Variables.Q.GetPrediction(Targets.Target).CastPosition);
                }
            }
        }