Exemplo n.º 1
0
        private static void Combo()
        {
            Orbwalker.SetAttacks(true);
            var target = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Magical);

            if (target == null)
            {
                return;
            }

            if (DamageLib.IsKillable(target, new[] { DamageLib.SpellType.Q, DamageLib.SpellType.W, DamageLib.SpellType.E, DamageLib.SpellType.R, DamageLib.SpellType.DFG }))
            {
                if (ObjectManager.Player.Distance(target) < E.Range && DFG.IsReady())
                {
                    DFG.Cast(target);
                }

                if (ObjectManager.Player.Distance(target) < Q.Range && Q.IsReady())
                {
                    Q.CastOnUnit(target, Config.Item("QNFE").GetValue <bool>());
                }

                if (ObjectManager.Player.Distance(target) < E.Range && E.IsReady() && !Q.IsReady())
                {
                    E.CastOnUnit(target);
                }

                if (ObjectManager.Player.Distance(target) < W.Range && W.IsReady() && !Q.IsReady())
                {
                    W.Cast();
                }

                if (ObjectManager.Player.Distance(target) < R.Range && R.IsReady() && !Q.IsReady())
                {
                    R.Cast();
                }
            }
            else
            {
                if (ObjectManager.Player.Distance(target) < Q.Range && Q.IsReady())
                {
                    Q.CastOnUnit(target, true);
                }

                if (Config.Item("ComboActive").GetValue <KeyBind>().Active&&
                    ObjectManager.Player.Distance(target) < E.Range && E.IsReady())
                {
                    E.CastOnUnit(target);
                }

                if (ObjectManager.Player.Distance(target) < W.Range && W.IsReady())
                {
                    W.Cast();
                }
            }
        }
Exemplo n.º 2
0
        private static void LaneClear()
        {
            if (!Q.IsReady() || !Player.CanCast)
            {
                return;
            }
            var unit =
                ObjectManager.Get <Obj_AI_Minion>()
                .First(
                    minion =>
                    minion.IsValid && minion.IsVisible && !minion.IsDead &&
                    minion.IsValidTarget(Q.Range, true, Player.ServerPosition) &&
                    DamageLib.IsKillable(minion, new[] { DamageLib.SpellType.Q }));

            CastQ(unit, "LaneClear");
        }
Exemplo n.º 3
0
        private static void ExecuteCombo()
        {
            var target = SimpleTs.GetTarget(_q.Range, SimpleTs.DamageType.Magical);

            if (target == null)
            {
                return;
            }

            if (_q.IsReady(2000) && _e.IsReady(2000) && _r.IsReady() &&
                DamageLib.IsKillable(
                    target,
                    new[]
            {
                DamageLib.SpellType.Q, DamageLib.SpellType.W, DamageLib.SpellType.E, DamageLib.SpellType.E,
                DamageLib.SpellType.R, DamageLib.SpellType.R, DamageLib.SpellType.IGNITE
            }))
            {
                if (_igniteSlot != SpellSlot.Unknown &&
                    ObjectManager.Player.SummonerSpellbook.CanUseSpell(_igniteSlot) == SpellState.Ready)
                {
                    ObjectManager.Player.SummonerSpellbook.CastSpell(_igniteSlot, target);
                }

                if (ObjectManager.Player.Distance(target) <= _r.Range + _r.Width)
                {
                    _r.Cast(target, true, true);
                }

                if (ObjectManager.Player.Distance(target) <= _w.Range + _w.Width)
                {
                    _w.Cast(target, true, true);
                }

                if (ObjectManager.Player.Distance(target) <= _q.Range + _q.Width)
                {
                    _q.Cast(target, true, true);
                }

                if (ObjectManager.Player.Distance(target) <= _e.Range + target.BoundingRadius && IsPoisoned(target) ||
                    DamageLib.IsKillable(target, new[] { DamageLib.SpellType.E }))
                {
                    _e.CastOnUnit(target, true);
                }
            }
            else
            {
                if (_w.IsReady() && ObjectManager.Player.Distance(target) <= _w.Range + _w.Width)
                {
                    _w.Cast(target, true, true);
                }

                if (_q.IsReady() && ObjectManager.Player.Distance(target) <= _q.Range + _q.Width)
                {
                    _q.Cast(target, true, true);
                }

                if (_e.IsReady() && ObjectManager.Player.Distance(target) <= _e.Range + target.BoundingRadius &&
                    IsPoisoned(target) || DamageLib.IsKillable(target, new[] { DamageLib.SpellType.E }))
                {
                    _e.CastOnUnit(target, true);
                }
            }
        }
Exemplo n.º 4
0
        private static void Combo()
        {
            Orbwalker.SetAttacks(true);

            var qTarget = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Magical);
            var eTarget = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Magical);
            var rTarget = SimpleTs.GetTarget(R.Range, SimpleTs.DamageType.Magical);

            bool useQ = Config.Item("UseQCombo").GetValue <bool>();
            bool useW = Config.Item("UseWCombo").GetValue <bool>();
            bool useE = Config.Item("UseECombo").GetValue <bool>();
            bool useR = Config.Item("UseRCombo").GetValue <bool>();

            if (Config.Item("UseItems").GetValue <bool>())
            {
                BKR.Cast(qTarget);
                YOU.Cast();
                BWC.Cast(qTarget);
                if (Player.Distance(qTarget) <= HDR.Range)
                {
                    HDR.Cast(qTarget);
                }
                if (Player.Distance(qTarget) <= TMT.Range)
                {
                    TMT.Cast(qTarget);
                }
            }

            if (Q.IsReady() && E.IsReady() && R.IsReady() &&
                DamageLib.IsKillable(
                    qTarget,
                    new[]
            {
                DamageLib.SpellType.Q, DamageLib.SpellType.E, DamageLib.SpellType.R,
                DamageLib.SpellType.AD, DamageLib.SpellType.AD
            }))
            {
                if (qTarget != null && useQ && Q.IsReady())
                {
                    if ((Config.Item("NoQNear").GetValue <bool>() && Player.Distance(qTarget) < Player.AttackRange + 50) ||
                        (Config.Item("EbeforeQ").GetValue <bool>() && E.IsReady()))
                    {
                        return;
                    }
                }
                Q.Cast(qTarget, true, true);

                if (rTarget != null && useR && R.IsReady())
                {
                    R.Cast(rTarget, true);
                }

                if (useW && W.IsReady())
                {
                    if (Player.Health < (Player.MaxHealth * (Config.Item("SwitchLife").GetValue <Slider>().Value) * 0.01) && !WHealing)
                    {
                        W.Cast();
                    }
                    else
                    if (Player.Health > (Player.MaxHealth * (Config.Item("SwitchPower").GetValue <Slider>().Value) * 0.01) && WHealing)
                    {
                        W.Cast();
                    }
                }

                if (eTarget != null && useE && E.IsReady())
                {
                    E.Cast(eTarget, true);
                }
            }
            else
            {
                if (qTarget != null && useQ && Q.IsReady())
                {
                    if ((Config.Item("NoQNear").GetValue <bool>() && Player.Distance(qTarget) < Player.AttackRange + 50) ||
                        (Config.Item("EbeforeQ").GetValue <bool>() && E.IsReady()))
                    {
                        return;
                    }
                }
                Q.Cast(qTarget, true, true);

                if (useW && W.IsReady())
                {
                    if (Player.Health < (Player.MaxHealth * 0.4) && !WHealing)
                    {
                        W.Cast();
                    }
                    else
                    if (Player.Health > (Player.MaxHealth * 0.55) && WHealing)
                    {
                        W.Cast();
                    }
                }

                if (eTarget != null && useE && E.IsReady())
                {
                    E.Cast(eTarget, true);
                }
            }
        }
Exemplo n.º 5
0
        private static void ExecuteKillsteal()
        {
            var target = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Magical);

            if (target == null)
            {
                return;
            }

            if (E.IsReady() && DamageLib.IsKillable(target, new[] { DamageLib.SpellType.E }) &&
                ObjectManager.Player.Distance(target) < E.Range + target.BoundingRadius)
            {
                E.CastOnUnit(target, true);
            }

            if (Q.IsReady() &&
                DamageLib.IsKillable(target,
                                     new[] { Tuple.Create(DamageLib.SpellType.Q, DamageLib.StageType.FirstDamage) }) &&
                ObjectManager.Player.Distance(target) < Q.Range + target.BoundingRadius)
            {
                Q.CastOnUnit(target, true);
            }

            if (W.IsReady() && DamageLib.IsKillable(target, new[] { DamageLib.SpellType.W }) &&
                ObjectManager.Player.Distance(target) < W.Range)
            {
                W.Cast();
            }

            if (Q.IsReady() && E.IsReady() &&
                DamageLib.IsKillable(target,
                                     new[]
            {
                Tuple.Create(DamageLib.SpellType.Q, DamageLib.StageType.FirstDamage),
                Tuple.Create(DamageLib.SpellType.E, DamageLib.StageType.Default)
            }) &&
                ObjectManager.Player.Distance(target) < Q.Range + target.BoundingRadius)
            {
                Q.CastOnUnit(target, true);
                E.CastOnUnit(target, true);
            }

            if (Q.IsReady() && E.IsReady() && W.IsReady() &&
                DamageLib.IsKillable(target, new[] { DamageLib.SpellType.Q, DamageLib.SpellType.W, DamageLib.SpellType.E }) &&
                ObjectManager.Player.Distance(target) < Q.Range + target.BoundingRadius)
            {
                Q.Cast(target);
                E.Cast(target);
                if (ObjectManager.Player.Distance(target) < W.Range)
                {
                    W.Cast();
                }
            }

            if (IgniteSlot != SpellSlot.Unknown &&
                ObjectManager.Player.SummonerSpellbook.CanUseSpell(IgniteSlot) == SpellState.Ready &&
                ObjectManager.Player.Distance(target) < 600 &&
                DamageLib.IsKillable(target, new[] { DamageLib.SpellType.IGNITE }))
            {
                ObjectManager.Player.SummonerSpellbook.CastSpell(IgniteSlot, target);
            }
        }
Exemplo n.º 6
0
        private static void ExecuteCombo()
        {
            var target = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Magical);

            if (target == null)
            {
                return;
            }

            if (Q.IsReady(2000) && E.IsReady(2000) && R.IsReady() && DamageLib.IsKillable(target,
                                                                                          new[]
            {
                DamageLib.SpellType.Q, DamageLib.SpellType.W, DamageLib.SpellType.E, DamageLib.SpellType.E,
                DamageLib.SpellType.R, DamageLib.SpellType.R, DamageLib.SpellType.IGNITE
            }))
            {
                if (IgniteSlot != SpellSlot.Unknown &&
                    ObjectManager.Player.SummonerSpellbook.CanUseSpell(IgniteSlot) == SpellState.Ready)
                {
                    ObjectManager.Player.SummonerSpellbook.CastSpell(IgniteSlot, target);
                }

                if (ObjectManager.Player.Distance(target) <= R.Range + R.Width)
                {
                    R.Cast(target, true, true);
                }

                if (ObjectManager.Player.Distance(target) <= W.Range + W.Width)
                {
                    W.Cast(target, true, true);
                }

                if (ObjectManager.Player.Distance(target) <= Q.Range + Q.Width)
                {
                    Q.Cast(target, true, true);
                }

                if (ObjectManager.Player.Distance(target) <= E.Range + target.BoundingRadius && IsPoisoned(target) ||
                    DamageLib.IsKillable(target, new[] { DamageLib.SpellType.E }))
                {
                    E.CastOnUnit(target, true);
                }
            }
            else
            {
                if (W.IsReady() && ObjectManager.Player.Distance(target) <= W.Range + W.Width)
                {
                    W.Cast(target, true, true);
                }

                if (Q.IsReady() && ObjectManager.Player.Distance(target) <= Q.Range + Q.Width)
                {
                    Q.Cast(target, true, true);
                }

                if (E.IsReady() && ObjectManager.Player.Distance(target) <= E.Range + target.BoundingRadius &&
                    IsPoisoned(target) || DamageLib.IsKillable(target, new[] { DamageLib.SpellType.E }))
                {
                    E.CastOnUnit(target, true);
                }
            }
        }