Пример #1
0
        private static void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (t.LSIsValidTarget())
            {
                if (Program.Combo && Player.Mana > EMANA + QMANA - 10)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && getCheckBoxItem(QMenu, "harrasQ") && getCheckBoxItem(QMenu, "haras" + t.NetworkId) && Player.Mana > RMANA + EMANA + QMANA + WMANA && OktwCommon.CanHarras())
                {
                    Program.CastSpell(Q, t);
                }
                else
                {
                    var qDmg = OktwCommon.GetKsDamage(t, Q);
                    var eDmg = E.GetDamage(t);
                    if (qDmg > t.Health)
                    {
                        Program.CastSpell(Q, t);
                    }
                    else if (qDmg + eDmg > t.Health && Player.Mana > QMANA + WMANA)
                    {
                        Program.CastSpell(Q, t);
                    }
                }
                if (!Program.None && Player.Mana > RMANA + EMANA)
                {
                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.LSIsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true);
                    }
                }
            }
        }
Пример #2
0
        private void LogicQ()
        {
            foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(1600) && Q.GetDamage(enemy) + GetWDmg(enemy) > enemy.Health))
            {
                if (enemy.IsValidTarget(R.Range))
                {
                    CastQ(enemy);
                }
                return;
            }

            if (Config.Item("maxQ", true).GetValue <bool>() && (Q.Range < 1500) && Player.CountEnemiesInRange(AArange) == 0)
            {
                return;
            }

            var t = Orbwalker.GetTarget() as Obj_AI_Hero;

            if (!t.IsValidTarget())
            {
                t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
            }

            if (t.IsValidTarget())
            {
                if (Q.IsCharging)
                {
                    if (Config.Item("fastQ", true).GetValue <bool>())
                    {
                        Q.Cast(Q.GetPrediction(t).CastPosition);
                    }

                    if (GetQEndTime() > 2)
                    {
                        Program.CastSpell(Q, t);
                    }
                    else
                    {
                        Q.Cast(Q.GetPrediction(t).CastPosition);
                    }
                    return;
                }

                if ((OktwCommon.GetBuffCount(t, "varuswdebuff") == 3 && CanCast && !E.IsReady()) || !Orbwalking.InAutoAttackRange(t))
                {
                    if ((Program.Combo || (OktwCommon.GetBuffCount(t, "varuswdebuff") == 3 && Program.Farm)) && Player.Mana > RMANA + QMANA)
                    {
                        CastQ(t);
                    }
                    else if (Program.Farm && Player.Mana > RMANA + EMANA + QMANA + QMANA && Config.Item("harras" + t.ChampionName).GetValue <bool>() && !Player.UnderTurret(true) && OktwCommon.CanHarras())
                    {
                        CastQ(t);
                    }
                    else if (!Program.None && Player.Mana > RMANA + WMANA)
                    {
                        foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            CastQ(enemy);
                        }
                    }
                }
            }
            else if (Program.LaneClear && Config.Item("farmQ", true).GetValue <bool>() && Player.Mana > RMANA + QMANA + WMANA && Q.Range > 1500 && Player.CountEnemiesInRange(1450) == 0 && (Q.IsCharging || (Player.ManaPercentage() > Config.Item("Mana", true).GetValue <Slider>().Value)))
            {
                var allMinionsQ = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All);
                var Qfarm       = Q.GetLineFarmLocation(allMinionsQ, Q.Width);
                if (Qfarm.MinionsHit > 3 || (Q.IsCharging && Qfarm.MinionsHit > 0))
                {
                    Q.Cast(Qfarm.Position);
                }
            }
        }
Пример #3
0
        private static void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (t.LSIsValidTarget() && getCheckBoxItem(qMenu, "Qon" + t.NetworkId))
            {
                if (Program.Combo && Player.Mana > RMANA + QMANA + WMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && OktwCommon.CanHarras() && getCheckBoxItem(qMenu, "harrasQ") &&
                         getCheckBoxItem(harassMenu, "harras" + t.NetworkId) &&
                         Player.ManaPercent > getSliderItem(qMenu, "QHarassMana"))
                {
                    Program.CastSpell(Q, t);
                }
                else if (OktwCommon.GetKsDamage(t, Q) > t.Health)
                {
                    Program.CastSpell(Q, t);
                }

                foreach (
                    var enemy in
                    Program.Enemies.Where(enemy => enemy.LSIsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                {
                    Program.CastSpell(Q, t);
                }
            }

            if (!OktwCommon.CanHarras())
            {
                return;
            }

            if (!Program.None && !Program.Combo && Player.Mana > RMANA + QMANA * 2)
            {
                var allMinions = Cache.GetMinions(Player.ServerPosition, Q.Range);

                if (getCheckBoxItem(farmMenu, "farmQout"))
                {
                    foreach (
                        var minion in
                        allMinions.Where(
                            minion =>
                            minion.LSIsValidTarget(Q.Range) &&
                            (!InAutoAttackRange(minion) || (!minion.UnderTurret(true) && minion.UnderTurret())))
                        )
                    {
                        var hpPred = HealthPrediction.GetHealthPrediction(minion, 1100);
                        if (hpPred < GetQDamage(minion) * 0.9 && hpPred > minion.Health - hpPred * 2)
                        {
                            Q.Cast(minion);
                            return;
                        }
                    }
                }

                if (Program.LaneClear && getCheckBoxItem(farmMenu, "farmQ") &&
                    Player.ManaPercent > getSliderItem(farmMenu, "Mana"))
                {
                    foreach (var minion in allMinions.Where(minion => minion.LSIsValidTarget(Q.Range) && InAutoAttackRange(minion)))
                    {
                        var hpPred = HealthPrediction.GetHealthPrediction(minion, 1100);
                        if (hpPred < GetQDamage(minion) * 0.9 && hpPred > minion.Health - hpPred * 2)
                        {
                            Q.Cast(minion);
                            return;
                        }
                    }
                }

                if (Program.LaneClear && Player.ManaPercent > getSliderItem(farmMenu, "Mana") &&
                    getCheckBoxItem(farmMenu, "farmQ"))
                {
                    var farmPos = Q.GetCircularFarmLocation(allMinions, Q.Width);
                    if (farmPos.MinionsHit >= getSliderItem(farmMenu, "QLCminions"))
                    {
                        Q.Cast(farmPos.Position);
                    }
                }
            }
        }
Пример #4
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(QDummy.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (Q.Instance.Name == "VelkozQ" && Utils.TickCount - Q.LastCastAttemptT > 150)
                {
                    if (Program.LagFree(1) || Program.LagFree(2))
                    {
                        QSplit.Collision = true;
                        if (Program.Combo && Player.Mana > RMANA + QMANA)
                        {
                            CastQ(t);
                        }
                        else if (Program.Harass && OktwCommon.CanHarras() && Config.Item("harassQ", true).GetValue <bool>() && Config.Item("Harass" + t.ChampionName).GetValue <bool>() && Player.ManaPercent > Config.Item("QHarassMana", true).GetValue <Slider>().Value)
                        {
                            CastQ(t);
                        }
                        else
                        {
                            var qDmg = OktwCommon.GetKsDamage(t, Q);
                            var wDmg = W.GetDamage(t);
                            if (qDmg > t.Health)
                            {
                                CastQ(t);
                            }
                            else if (qDmg + wDmg > t.Health && Player.Mana > QMANA + WMANA)
                            {
                                CastQ(t);
                            }
                        }
                        if (!Program.None && Player.Mana > RMANA + QMANA)
                        {
                            foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(QDummy.Range) && !OktwCommon.CanMove(enemy)))
                            {
                                CastQ(t);
                            }
                        }
                    }
                }
                else
                {
                    DetonateQ(t);
                }
            }
        }
Пример #5
0
        private void LogicR()
        {
            if (Player.UnderTurret(true) && Config.Item("Rturrent", true).GetValue <bool>())
            {
                return;
            }

            if (Config.Item("autoR", true).GetValue <bool>() && Player.CountEnemiesInRange(800) == 0 && Game.Time - OverKill > 0.6)
            {
                R.Range = Config.Item("MaxRangeR", true).GetValue <Slider>().Value;
                foreach (var target in HeroManager.Enemies.Where(target => target.IsValidTarget(R.Range) && OktwCommon.ValidUlt(target)))
                {
                    double predictedHealth = target.Health - OktwCommon.GetIncomingDamage(target);

                    if (Config.Item("Rcc", true).GetValue <bool>() && target.IsValidTarget(Q.Range + E.Range) && target.Health < Player.MaxHealth && !OktwCommon.CanMove(target))
                    {
                        R.Cast(target, true, true);
                    }

                    double Rdmg = R.GetDamage(target);

                    if (Rdmg > predictedHealth)
                    {
                        Rdmg = getRdmg(target);
                    }

                    if (Rdmg > predictedHealth && target.CountAlliesInRange(500) == 0 && Player.Distance(target) > Config.Item("MinRangeR", true).GetValue <Slider>().Value)
                    {
                        Program.CastSpell(R, target);
                        Program.debug("R normal");
                    }
                    if (Program.Combo && Player.CountEnemiesInRange(1200) == 0)
                    {
                        R.CastIfWillHit(target, Config.Item("Raoe", true).GetValue <Slider>().Value, true);
                    }
                }
            }
        }
Пример #6
0
        private void LogicQ()
        {
            var t  = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
            var t2 = TargetSelector.GetTarget(1500, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget() && t2.IsValidTarget() && t == t2 && !(Config.Item("separate", true).GetValue <bool>() && Program.LaneClear))
            {
                if (Q.IsCharging)
                {
                    if (OktwCommon.GetPassiveTime(Player, "XerathArcanopulseChargeUp") < 2 || t.IsValidTarget(W.Range))
                    {
                        Q.Cast(Q.GetPrediction(t).CastPosition);
                    }
                    else
                    {
                        Program.CastSpell(Q, t);
                    }
                    return;
                }
                else if (t.IsValidTarget(Q.Range - 300))
                {
                    if (t.Health < OktwCommon.GetKsDamage(t, Q))
                    {
                        Q.StartCharging();
                    }
                    else if (Program.Combo && Player.Mana > EMANA + QMANA)
                    {
                        Q.StartCharging();
                    }
                    else if (t.IsValidTarget(1200) && Program.Farm && Player.Mana > RMANA + EMANA + QMANA + QMANA && Config.Item("harras" + t.ChampionName).GetValue <bool>() && !Player.UnderTurret(true) && OktwCommon.CanHarras())
                    {
                        Q.StartCharging();
                    }
                    else if ((Program.Combo || Program.Farm) && Player.Mana > RMANA + WMANA)
                    {
                        foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            Q.StartCharging();
                        }
                    }
                }
            }
            else if (Program.LaneClear && Q.Range > 1000 && Player.CountEnemiesInRange(1450) == 0 && (Q.IsCharging || (Player.ManaPercent > Config.Item("Mana", true).GetValue <Slider>().Value&& Config.Item("farmQ", true).GetValue <bool>() && Player.Mana > RMANA + QMANA + WMANA)))
            {
                var allMinionsQ = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All);
                var Qfarm       = Q.GetLineFarmLocation(allMinionsQ, Q.Width);
                if (Qfarm.MinionsHit > Config.Item("LCminions", true).GetValue <Slider>().Value || (Q.IsCharging && Qfarm.MinionsHit > 0))
                {
                    Q.Cast(Qfarm.Position);
                }
            }
        }
Пример #7
0
Файл: Jayce.cs Проект: koyvn/hay
        private void LogicQ()
        {
            var Qtype = Q;

            if (CanUseQE())
            {
                Qtype = Qext;

                if (Config.Item("useQE", true).GetValue <KeyBind>().Active)
                {
                    var mouseTarget = HeroManager.Enemies.Where(enemy =>
                                                                enemy.IsValidTarget(Qtype.Range)).OrderBy(enemy => enemy.Distance(Game.CursorPos)).FirstOrDefault();

                    if (mouseTarget != null)
                    {
                        CastQ(mouseTarget);
                        return;
                    }
                }
            }

            var t = TargetSelector.GetTarget(Qtype.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                var qDmg = OktwCommon.GetKsDamage(t, Qtype);

                if (CanUseQE())
                {
                    qDmg = qDmg * 1.4f;
                }

                if (qDmg > t.Health)
                {
                    CastQ(t);
                }
                else if (Program.Combo && Player.Mana > EMANA + QMANA)
                {
                    CastQ(t);
                }
                else if (Program.Farm && Player.ManaPercent > Config.Item("harassMana", true).GetValue <Slider>().Value&& OktwCommon.CanHarras())
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Qtype.Range) && Config.Item("Harass" + enemy.ChampionName).GetValue <bool>()))
                    {
                        CastQ(t);
                    }
                }
                else if ((Program.Combo || Program.Farm) && Player.Mana > RMANA + QMANA + EMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Qtype.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        CastQ(t);
                    }
                }
            }
        }
Пример #8
0
        private void LogicE()
        {
            var t = TargetSelector.GetTarget(E.Range);

            if (t.IsValidTarget())
            {
                var qDmg = Q.GetDamage(t);
                var eDmg = OktwCommon.GetKsDamage(t, E);
                if (eDmg > t.Health)
                {
                    CastSpell(E, t);
                }
                else if (eDmg + qDmg > t.Health && Q.IsReady())
                {
                    CastSpell(E, t);
                }
                else if (Combo && ObjectManager.Player.Mana > RMANA + WMANA + EMANA + QMANA)
                {
                    CastSpell(E, t);
                }
                else if (Harass && Config[Player.CharacterName]["EConfig"].GetValue <MenuBool>("harrassE").Enabled&& Player.Mana > RMANA + WMANA + EMANA + QMANA + EMANA)
                {
                    CastSpell(E, t);
                }
                else if ((Combo || Harass) && ObjectManager.Player.Mana > RMANA + WMANA + EMANA)
                {
                    foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(E.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        E.Cast(enemy, true);
                    }
                }
            }
            else if (LaneClear && Config[Player.CharacterName]["Farm"].GetValue <MenuBool>("farmE").Enabled)
            {
                var minionList   = Cache.GetMinions(Player.PreviousPosition, E.Range);
                var farmPosition = E.GetLineFarmLocation(minionList, E.Width);

                if (farmPosition.MinionsHit >= 3)
                {
                    E.Cast(farmPosition.Position);
                }
            }
        }
Пример #9
0
        private void LogicQ()
        {
            var t  = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
            var t1 = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                missileManager.Target = t;
                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && Config.Item("Harass" + t.ChampionName).GetValue <bool>() && Player.Mana > RMANA + WMANA + QMANA + QMANA && OktwCommon.CanHarras())
                {
                    Program.CastSpell(Q, t);
                }
                else if (OktwCommon.GetKsDamage(t, Q) * 2 > t.Health)
                {
                    Program.CastSpell(Q, t);
                }
                if (Player.Mana > RMANA + QMANA + WMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true, true);
                    }
                }
            }
            else if (t1.IsValidTarget())
            {
                missileManager.Target = t1;
                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q1, t1);
                }
                else if (Program.Farm && Config.Item("Harass" + t1.ChampionName).GetValue <bool>() && Player.Mana > RMANA + WMANA + QMANA + QMANA && OktwCommon.CanHarras())
                {
                    Program.CastSpell(Q1, t1);
                }
                else if (OktwCommon.GetKsDamage(t1, Q1) * 2 > t1.Health)
                {
                    Program.CastSpell(Q1, t1);
                }
                if (Player.Mana > RMANA + QMANA + WMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q1.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q1.Cast(enemy, true, true);
                    }
                }
            }
            else if (FarmSpells && Config.Item("farmQ", true).GetValue <bool>())
            {
                var allMinionsQ = Cache.GetMinions(Player.ServerPosition, Q1.Range);
                var Qfarm       = Q.GetLineFarmLocation(allMinionsQ, 100);
                if (Qfarm.MinionsHit >= FarmMinions)
                {
                    Q.Cast(Qfarm.Position);
                }
            }
        }
Пример #10
0
        private void LogicR()
        {
            var r = Config[Player.CharacterName]["RConfig"];

            if (Config[Player.CharacterName]["RConfig"].GetValue <MenuBool>("autoR").Enabled)
            {
                var target = TargetSelector.GetTarget(R.Range);

                if (target.IsValidTarget(R.Range) && target.HealthPercent < r.GetValue <MenuSlider>("RmaxHp").Value&& OktwCommon.ValidUlt(target))
                {
                    if (Config[Player.CharacterName]["RConfig"].GetValue <MenuBool>("Raa").Enabled&& target.InAutoAttackRange())
                    {
                        return;
                    }


                    var countR = GetRStacks();

                    var Rdmg = R.GetDamage(target);
                    Rdmg = Rdmg + target.CountAllyHeroesInRange(500) * Rdmg;

                    if (R.GetDamage(target) > target.Health - OktwCommon.GetIncomingDamage(target))
                    {
                        CastSpell(R, target);
                    }
                    else if (Combo && Rdmg * 2 > target.Health && Player.Mana > RMANA * 3)
                    {
                        CastSpell(R, target);
                    }
                    else if (countR < r.GetValue <MenuSlider>("comboStack").Value + 2 && Player.Mana > RMANA * 3)
                    {
                        foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(R.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            R.Cast(enemy, true);
                        }
                    }

                    if (target.HasBuffOfType(BuffType.Slow) && Config[Player.CharacterName]["RConfig"].GetValue <MenuBool>("Rslow").Enabled&& countR <r.GetValue <MenuSlider>("comboStack").Value + 1 && Player.Mana> RMANA + WMANA + EMANA + QMANA)
                    {
                        CastSpell(R, target);
                    }
                    else if (Combo && countR < r.GetValue <MenuSlider>("comboStack").Value&& Player.Mana > RMANA + WMANA + EMANA + QMANA)
                    {
                        CastSpell(R, target);
                    }
                    else if (Harass && countR < r.GetValue <MenuSlider>("harasStack").Value&& Player.Mana > RMANA + WMANA + EMANA + QMANA)
                    {
                        CastSpell(R, target);
                    }
                }
            }
        }
Пример #11
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range);

            if (t.IsValidTarget())
            {
                var qDmg = OktwCommon.GetKsDamage(t, Q);
                var eDmg = E.GetDamage(t);
                if (t.IsValidTarget(W.Range) && qDmg + eDmg > t.Health)
                {
                    CastSpell(Q, t);
                }
                else if (Combo && Player.Mana > RMANA + QMANA * 2 + EMANA)
                {
                    CastSpell(Q, t);
                }
                else if ((Harass && Player.Mana > RMANA + EMANA + QMANA * 2 + WMANA) && Config[Player.CharacterName]["QConfig"].GetValue <MenuBool>("harrassQ").Enabled&& !Player.IsUnderEnemyTurret())
                {
                    CastSpell(Q, t);
                }
                else if ((Combo || Harass) && Player.Mana > RMANA + QMANA + EMANA)
                {
                    foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true);
                    }
                }
            }
        }
Пример #12
0
        private void LogicE()
        {
            foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(E.Range) && OktwCommon.GetKsDamage(enemy, E) + Q.GetDamage(enemy) + W.GetDamage(enemy) > enemy.Health))
            {
                Program.CastSpell(E, enemy);
            }

            var t = Orbwalker.GetTarget() as Obj_AI_Hero;

            if (!t.IsValidTarget())
            {
                t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
            }
            if (t.IsValidTarget())
            {
                if (Program.Combo && Player.Mana > RMANA + EMANA && MainMenu.Item("Eon" + t.ChampionName, true).GetValue <bool>())
                {
                    Program.CastSpell(E, t);
                }
                else if (Program.Harass && Player.Mana > RMANA + EMANA + WMANA + EMANA && MainMenu.Item("harassE", true).GetValue <bool>() && MainMenu.Item("Harass" + t.ChampionName).GetValue <bool>())
                {
                    Program.CastSpell(E, t);
                }
                if (!Program.None && Player.Mana > RMANA + EMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(E.Range) && !OktwCommon.CanMove(enemy) && MainMenu.Item("Eon" + enemy.ChampionName, true).GetValue <bool>()))
                    {
                        E.Cast(enemy);
                    }
                }
            }
        }
Пример #13
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                missileManager.Target = t;
                if (EMissile == null || !EMissile.IsValid)
                {
                    if (Program.Combo && Player.Mana > RMANA + QMANA)
                    {
                        Program.CastSpell(Q, t);
                    }
                    else if (Program.Harass && Player.Mana > RMANA + WMANA + QMANA + QMANA && MainMenu.Item("harassQ", true).GetValue <bool>() && MainMenu.Item("Harass" + t.ChampionName).GetValue <bool>() && OktwCommon.CanHarras())
                    {
                        Program.CastSpell(Q, t);
                    }
                    else if (Q.GetDamage(t) * 2 + OktwCommon.GetEchoLudenDamage(t) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Q.Cast(t, true);
                    }
                }
                if (!Program.None && Player.Mana > RMANA + WMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true);
                    }
                }
            }
            else if (FarmSpells && MainMenu.Item("farmQ", true).GetValue <bool>())
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, Q.Range);
                var farmPosition = Q.GetLineFarmLocation(minionList, Q.Width);
                if (farmPosition.MinionsHit >= FarmMinions)
                {
                    Q.Cast(farmPosition.Position);
                }
            }
        }
Пример #14
0
        private static void LogicQ()
        {
            var t  = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
            var t2 = TargetSelector.GetTarget(1500, DamageType.Magical);

            if (t.IsValidTarget() && t2.IsValidTarget() && t == t2 &&
                !(getCheckBoxItem(farmMenu, "separate") && Program.LaneClear))
            {
                if (Q.IsCharging)
                {
                    Program.CastSpell(Q, t);
                    if (OktwCommon.GetPassiveTime(Player, "XerathArcanopulseChargeUp") < 1 || (Player.CountEnemiesInRange(800) > 0) || Player.LSDistance(t) > 1450)
                    {
                        Q.Cast(t);
                    }
                    else if (OktwCommon.GetPassiveTime(Player, "XerathArcanopulseChargeUp") < 2 || (Player.CountEnemiesInRange(1000) > 0))
                    {
                        Q.CastIfHitchanceEquals(t, HitChance.VeryHigh);
                    }
                }
                else if (t.IsValidTarget(Q.Range - 300))
                {
                    if (t.Health < OktwCommon.GetKsDamage(t, Q))
                    {
                        Q.StartCharging();
                    }
                    else if (Program.Combo && Player.Mana > EMANA + QMANA)
                    {
                        Q.StartCharging();
                    }
                    else if (t.IsValidTarget(1200) && Program.Farm && Player.Mana > RMANA + EMANA + QMANA + QMANA &&
                             getCheckBoxItem(harassMenu, "harras" + t.NetworkId) && !Player.UnderTurret(true) &&
                             OktwCommon.CanHarras())
                    {
                        Q.StartCharging();
                    }
                    else if ((Program.Combo || Program.Farm) && Player.Mana > RMANA + WMANA)
                    {
                        foreach (
                            var enemy in
                            Program.Enemies.Where(
                                enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            Q.StartCharging();
                        }
                    }
                }
            }
            else if (Program.LaneClear && Q.Range > 1000 && Player.CountEnemiesInRange(1450) == 0 &&
                     (Q.IsCharging ||
                      (Player.ManaPercent > getSliderItem(farmMenu, "Mana") && getCheckBoxItem(farmMenu, "farmQ") &&
                       Player.Mana > RMANA + QMANA + WMANA)))
            {
                var allMinionsQ = Cache.GetMinions(Player.ServerPosition, Q.Range);
                var Qfarm       = Q.GetLineFarmLocation(allMinionsQ, Q.Width);
                if (Qfarm.MinionsHit > getSliderItem(farmMenu, "LCminions") ||
                    (Q.IsCharging && Qfarm.MinionsHit > 0))
                {
                    Q.Cast(Qfarm.Position);
                }
            }
        }
Пример #15
0
        private void LogicE()
        {
            if (Player.Mana > RMANA + EMANA && Config.Item("autoE", true).GetValue <bool>())
            {
                var close = HeroManager.Enemies.FirstOrDefault(x => x.IsMelee && x.IsValidTarget(400) && x.IsFacing(Player));
                if (close != null)
                {
                    E.Cast(close);
                }

                foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(E.Range + 50) && !OktwCommon.CanMove(enemy)))
                {
                    E.Cast(enemy);
                    return;
                }

                if (Config.Item("telE", true).GetValue <bool>())
                {
                    var trapPos = OktwCommon.GetTrapPos(E.Range);
                    if (!trapPos.IsZero)
                    {
                        E.Cast(trapPos);
                    }
                }

                if (Program.Combo && Player.IsMoving && Config.Item("comboE", true).GetValue <bool>() && Player.Mana > RMANA + EMANA + WMANA)
                {
                    var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                    if (t.IsValidTarget(E.Range))
                    {
                        E.CastIfWillHit(t, 2);
                        if (t.HasBuffOfType(BuffType.Slow))
                        {
                            Program.CastSpell(E, t);
                        }

                        if (OktwCommon.IsMovingInSameDirection(Player, t))
                        {
                            Program.CastSpell(E, t);
                        }
                    }
                }
                else if (FarmSpells && Config.Item("farmE", true).GetValue <bool>())
                {
                    var allMinions = Cache.GetMinions(Player.ServerPosition, E.Range);
                    var farmPos    = E.GetCircularFarmLocation(allMinions, E.Width);
                    if (farmPos.MinionsHit >= FarmMinions + 1)
                    {
                        E.Cast(farmPos.Position);
                    }
                }
            }
        }
Пример #16
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                if (Config.Item("Waoe", true).GetValue <bool>())
                {
                    W.CastIfWillHit(t, 2, true);
                    if (t.CountEnemiesInRange(250) > 1)
                    {
                        Program.CastSpell(W, t);
                    }
                }

                if (Program.Combo && W.GetPrediction(t).CastPosition.Distance(t.Position) > 200)
                {
                    Program.CastSpell(W, t);
                }
            }
            if (!Program.None)
            {
                foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                {
                    W.Cast(enemy, true, true);
                }
            }
        }
Пример #17
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                var qDmg = Q.GetDamage(t);
                var wDmg = OktwCommon.GetKsDamage(t, W);

                if (wDmg > t.Health)
                {
                    Program.CastSpell(W, t);
                }
                else if (wDmg + qDmg > t.Health && Player.Mana > WMANA + QMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if (Program.Combo && Player.Mana > RMANA + WMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if (Program.Farm && OktwCommon.CanHarras() && Config.Item("harrasW", true).GetValue <bool>() && Config.Item("harras" + t.ChampionName).GetValue <bool>() && Player.Mana > RMANA + WMANA + EMANA + QMANA + WMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if ((Program.Combo || Program.Farm))
                {
                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        W.Cast(enemy, true);
                    }
                }
            }
            else if (Program.LaneClear && Player.ManaPercent > Config.Item("Mana", true).GetValue <Slider>().Value&& Config.Item("farmW", true).GetValue <bool>() && Player.Mana > RMANA + WMANA)
            {
                var minionList   = MinionManager.GetMinions(Player.ServerPosition, W.Range, MinionTypes.All);
                var farmPosition = W.GetLineFarmLocation(minionList, W.Width);

                if (farmPosition.MinionsHit > Config.Item("LCminions", true).GetValue <Slider>().Value)
                {
                    W.Cast(farmPosition.Position);
                }
            }
        }
Пример #18
0
        private void LogicW()
        {
            if (W.Instance.ToggleState == 1)
            {
                var t = TargetSelector.GetTarget(W.Range - 150, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Program.Combo && Player.Mana > RMANA + QMANA + WMANA)
                    {
                        CatchW(t);
                    }
                    else if (Program.Farm && Config.Item("harassW", true).GetValue <bool>() && Config.Item("Harass" + t.ChampionName).GetValue <bool>() &&
                             Player.ManaPercent > Config.Item("QHarassMana", true).GetValue <Slider>().Value&& OktwCommon.CanHarras())
                    {
                        CatchW(t);
                    }
                    else if (OktwCommon.GetKsDamage(t, W) > t.Health)
                    {
                        CatchW(t);
                    }
                    else if (Player.Mana > RMANA + WMANA)
                    {
                        foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            CatchW(t);
                        }
                    }
                }
                else if (Program.LaneClear && !Q.IsReady() && FarmSpells && Config.Item("farmW", true).GetValue <bool>())
                {
                    var allMinions = Cache.GetMinions(Player.ServerPosition, W.Range);
                    var farmPos    = W.GetCircularFarmLocation(allMinions, W.Width);

                    if (farmPos.MinionsHit >= FarmMinions)
                    {
                        CatchW(allMinions.FirstOrDefault());
                    }
                }
            }
            else
            {
                var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    Program.CastSpell(W, t);
                }
                else if (FarmSpells && Config.Item("farmW", true).GetValue <bool>())
                {
                    var allMinions = Cache.GetMinions(Player.ServerPosition, W.Range);
                    var farmPos    = W.GetCircularFarmLocation(allMinions, W.Width);

                    if (farmPos.MinionsHit > 1)
                    {
                        W.Cast(farmPos.Position);
                    }
                }
            }
        }
Пример #19
0
        private void LogicE()
        {
            foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(E.Range) && E.GetDamage(enemy) + OktwCommon.GetKsDamage(enemy, Q) + W.GetDamage(enemy) + OktwCommon.GetEchoLudenDamage(enemy) > enemy.Health))
            {
                Program.CastSpell(E, enemy);
            }
            var t = Orbwalker.GetTarget() as Obj_AI_Hero;

            if (!t.IsValidTarget())
            {
                t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
            }
            if (t.IsValidTarget())
            {
                if (Program.Combo && Player.Mana > RMANA + EMANA)
                {
                    Program.CastSpell(E, t);
                }
                if (Program.Farm && OktwCommon.CanHarras() && Config.Item("harrasE", true).GetValue <bool>() && Player.Mana > RMANA + EMANA + WMANA + EMANA)
                {
                    Program.CastSpell(E, t);
                }
                foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(E.Range) && !OktwCommon.CanMove(enemy)))
                {
                    E.Cast(enemy);
                }
            }
        }
Пример #20
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                if (!Config.Item("autoWcc", true).GetValue <bool>() && !Q.IsReady())
                {
                    if (W.GetDamage(t) > t.Health)
                    {
                        Program.CastSpell(W, t);
                    }
                    else if (Program.Combo && Player.Mana > RMANA + WMANA + EMANA + QMANA)
                    {
                        Program.CastSpell(W, t);
                    }
                }

                foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                {
                    W.Cast(enemy, true);
                }
            }
            else if (Program.LaneClear && Player.ManaPercent > Config.Item("Mana", true).GetValue <Slider>().Value&& Config.Item("farmW", true).GetValue <bool>() && Player.Mana > RMANA + WMANA)
            {
                var minionList   = MinionManager.GetMinions(Player.ServerPosition, W.Range, MinionTypes.All);
                var farmPosition = W.GetCircularFarmLocation(minionList, W.Width);

                if (farmPosition.MinionsHit > Config.Item("LCminions", true).GetValue <Slider>().Value)
                {
                    W.Cast(farmPosition.Position);
                }
            }
        }
Пример #21
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (Program.Combo && Player.Mana > RMANA + WMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if (Program.Harass && Config.Item("harassW", true).GetValue <bool>() && Config.Item("Harass" + t.ChampionName).GetValue <bool>() &&
                         Player.Mana > RMANA + WMANA + EMANA + QMANA + WMANA && OktwCommon.CanHarras())
                {
                    Program.CastSpell(W, t);
                }
                else
                {
                    var wDmg = OktwCommon.GetKsDamage(t, W);
                    var qDmg = Q.GetDamage(t);
                    if (wDmg > t.Health)
                    {
                        Program.CastSpell(W, t);
                    }
                    else if (qDmg + wDmg > t.Health && Player.Mana > QMANA + WMANA)
                    {
                        Program.CastSpell(W, t);
                    }
                }
                if (!Program.None && Player.Mana > RMANA + WMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        W.Cast(enemy, true);
                    }
                }
            }
            else if (FarmSpells && Config.Item("farmW", true).GetValue <bool>())
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, W.Range);
                var farmPosition = W.GetLineFarmLocation(minionList, W.Width);

                if (farmPosition.MinionsHit >= FarmMinions)
                {
                    W.Cast(farmPosition.Position);
                }
            }
        }
Пример #22
0
        private void LogicR()
        {
            float rSplash = 150;

            if (bonusR)
            {
                rSplash = 300;
            }

            var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                var rDmg = OktwCommon.GetKsDamage(t, R);
                var qDmg = Q.GetDamage(t);
                if (rDmg * 2 > t.Health)
                {
                    CastR(R, t);
                }
                else if (t.IsValidTarget(Q.Range) && qDmg + rDmg > t.Health)
                {
                    CastR(R, t);
                }
                if (Player.Spellbook.GetSpell(SpellSlot.R).Ammo > 1)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(R.Range) && enemy.CountEnemiesInRange(rSplash) > 1))
                    {
                        t = enemy;
                    }

                    if (Program.Combo && Player.Mana > RMANA * 3)
                    {
                        CastR(R, t);
                    }
                    else if (Program.Harass && Player.Mana > RMANA + EMANA + QMANA + WMANA && Player.Spellbook.GetSpell(SpellSlot.R).Ammo >= MainMenu.Item("Rammo", true).GetValue <Slider>().Value&& OktwCommon.CanHarras())
                    {
                        foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(R.Range) && MainMenu.Item("Harass" + enemy.ChampionName).GetValue <bool>()))
                        {
                            CastR(R, enemy);
                        }
                    }

                    if (!Program.None && Player.Mana > RMANA + QMANA + EMANA)
                    {
                        foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(R.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            CastR(R, t);
                        }
                    }
                }
            }
        }
Пример #23
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (Program.Combo && Player.Mana > RMANA + WMANA + EMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if (Program.Harass && Config.Item("harassW", true).GetValue <bool>() && Config.Item("Harass" + t.ChampionName).GetValue <bool>() && (Player.Mana > Player.MaxMana * 0.8 || Config.Item("apEz", true).GetValue <bool>()) && Player.ManaPercent > Config.Item("HarassMana", true).GetValue <Slider>().Value&& OktwCommon.CanHarras())
                {
                    Program.CastSpell(W, t);
                }
                else
                {
                    var qDmg = Q.GetDamage(t);
                    var wDmg = OktwCommon.GetKsDamage(t, W);
                    if (wDmg > t.Health)
                    {
                        Program.CastSpell(W, t);
                        OverKill = Game.Time;
                    }
                    else if (wDmg + qDmg > t.Health && Q.IsReady())
                    {
                        Program.CastSpell(W, t);
                    }
                }

                if (!Program.None && Player.Mana > RMANA + WMANA + EMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        W.Cast(enemy, true);
                    }
                }
            }
        }
Пример #24
0
        private static void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, DamageType.Physical);

            if (t.LSIsValidTarget())
            {
                var wDmg = GetWdmg(t);
                if (wDmg > t.Health - OktwCommon.GetIncomingDamage(t))
                {
                    Program.CastSpell(W, t);
                }

                if (getCheckBoxItem(wMenu, "autoWcombo") && !Program.Combo)
                {
                    return;
                }

                if (Player.LSCountEnemiesInRange(400) > 1 || Player.LSCountEnemiesInRange(250) > 0)
                {
                    return;
                }

                if (t.HasBuff("jhinespotteddebuff") || !getCheckBoxItem(wMenu, "Wstun"))
                {
                    if (Player.LSDistance(t) < getSliderItem(wMenu, "MaxRangeW"))
                    {
                        if (Program.Combo && Player.Mana > RMANA + WMANA)
                        {
                            Program.CastSpell(W, t);
                        }
                        else if (Program.Farm && getCheckBoxItem(wMenu, "harrasW") && getCheckBoxItem(harassMenu, "harras" + t.ChampionName) &&
                                 Player.Mana > RMANA + WMANA + QMANA + WMANA && OktwCommon.CanHarras())
                        {
                            Program.CastSpell(W, t);
                        }
                    }
                }


                if (!Program.None && Player.Mana > RMANA + WMANA)
                {
                    if (getCheckBoxItem(wMenu, "Waoe"))
                    {
                        W.CastIfWillHit(t, 2);
                    }
                    if (getCheckBoxItem(wMenu, "autoWcc") && !Program.Combo)
                    {
                        foreach (var enemy in Program.Enemies.Where(enemy => enemy.LSIsValidTarget(W.Range) && (!OktwCommon.CanMove(enemy) || enemy.HasBuff("jhinespotteddebuff"))))
                        {
                            if (!OktwCommon.CanMove(enemy) && !enemy.CanMove)
                            {
                                W.Cast(enemy);
                            }
                            if (enemy.HasBuff("jhinespotteddebuff"))
                            {
                                Program.CastSpell(W, enemy);
                            }
                        }
                    }
                }
            }
            if (Program.LaneClear && Player.ManaPercent > getSliderItem(farmMenu, "Mana") && getCheckBoxItem(farmMenu, "farmW") && Player.Mana > RMANA + WMANA)
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, W.Range);
                var farmPosition = W.GetLineFarmLocation(minionList, W.Width);

                if (farmPosition.MinionsHit >= getSliderItem(farmMenu, "LCminions"))
                {
                    W.Cast(farmPosition.Position);
                }
            }
        }
Пример #25
0
        private static void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (Program.Combo && Player.Mana > RMANA + WMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if (Program.Farm && getCheckBoxItem(wMenu, "harrasW") &&
                         getCheckBoxItem(harassMenu, "harras" + t.NetworkId) &&
                         Player.Mana > RMANA + WMANA + EMANA + QMANA + WMANA && OktwCommon.CanHarras())
                {
                    Program.CastSpell(W, t);
                }
                else
                {
                    var wDmg = OktwCommon.GetKsDamage(t, W);
                    var qDmg = Q.GetDamage(t);
                    if (wDmg > t.Health)
                    {
                        Program.CastSpell(W, t);
                    }
                    else if (qDmg + wDmg > t.Health && Player.Mana > QMANA + WMANA)
                    {
                        Program.CastSpell(W, t);
                    }
                }
                if (!Program.None && Player.Mana > RMANA + WMANA)
                {
                    foreach (
                        var enemy in
                        Program.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        W.Cast(enemy, true);
                    }
                }
            }
            else if (Program.LaneClear && Player.ManaPercent > getSliderItem(farmMenu, "Mana") &&
                     getCheckBoxItem(farmMenu, "farmW") && Player.Mana > RMANA + WMANA)
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, W.Range);
                var farmPosition = W.GetLineFarmLocation(minionList, W.Width);

                if (farmPosition.MinionsHit >= getSliderItem(farmMenu, "LCminions"))
                {
                    W.Cast(farmPosition.Position);
                }
            }
        }
Пример #26
0
        private static void LogicE()
        {
            if (getCheckBoxItem(eMenu, "autoE"))
            {
                var trapPos = OktwCommon.GetTrapPos(E.Range);
                if (!trapPos.IsZero)
                {
                    E.Cast(trapPos);
                }

                foreach (var enemy in Program.Enemies.Where(enemy => enemy.LSIsValidTarget(E.Range) && !OktwCommon.CanMove(enemy)))
                {
                    E.Cast(enemy.ServerPosition);
                }
            }

            var t = TargetSelector.GetTarget(E.Range, DamageType.Physical);

            if (t.LSIsValidTarget() && getBoxItem(eMenu, "EmodeCombo") != 2)
            {
                if (Program.Combo && !Player.Spellbook.IsAutoAttacking)
                {
                    if (getBoxItem(eMenu, "EmodeCombo") == 1)
                    {
                        if (E.GetPrediction(t).CastPosition.LSDistance(t.Position) > 100)
                        {
                            if (Player.Position.LSDistance(t.ServerPosition) > Player.Position.LSDistance(t.Position))
                            {
                                if (t.Position.LSDistance(Player.ServerPosition) < t.Position.LSDistance(Player.Position))
                                {
                                    Program.CastSpell(E, t);
                                }
                            }
                            else
                            {
                                if (t.Position.LSDistance(Player.ServerPosition) > t.Position.LSDistance(Player.Position))
                                {
                                    Program.CastSpell(E, t);
                                }
                            }
                        }
                    }
                    else
                    {
                        Program.CastSpell(E, t);
                    }
                }

                E.CastIfWillHit(t, getSliderItem(eMenu, "Eaoe"));
            }
            else if (Program.LaneClear && Player.ManaPercent > getSliderItem(farmMenu, "Mana") && getCheckBoxItem(farmMenu, "farmE"))
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, E.Range);
                var farmPosition = E.GetCircularFarmLocation(minionList, E.Width);

                if (farmPosition.MinionsHit >= getSliderItem(farmMenu, "LCminions"))
                {
                    E.Cast(farmPosition.Position);
                }
            }
        }
Пример #27
0
        private void LogicE()
        {
            foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(E.Range) && E.GetDamage(enemy) + GetWDmg(enemy) > enemy.Health))
            {
                Program.CastSpell(E, enemy);
            }
            var t = Orbwalker.GetTarget() as Obj_AI_Hero;

            if (!t.IsValidTarget())
            {
                t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
            }
            if (t.IsValidTarget())
            {
                if ((OktwCommon.GetBuffCount(t, "varuswdebuff") == 3 && CanCast) || !Orbwalking.InAutoAttackRange(t))
                {
                    if (Program.Combo && Player.Mana > RMANA + QMANA)
                    {
                        Program.CastSpell(E, t);
                    }
                    else if ((Program.Combo || Program.Farm) && Player.Mana > RMANA + WMANA)
                    {
                        foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(E.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            E.Cast(enemy);
                        }
                    }
                }
            }
        }
Пример #28
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q3.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (Program.Combo && Player.Mana > RMANA + QMANA + EMANA)
                {
                    CastQ(t);
                }
                else if (Program.Harass && Config.Item("harassQ", true).GetValue <bool>() && Config.Item("Harass" + t.ChampionName).GetValue <bool>() && Player.ManaPercent > Config.Item("QHarassMana", true).GetValue <Slider>().Value&& OktwCommon.CanHarras())
                {
                    CastQ(t);
                }
                else if (OktwCommon.GetKsDamage(t, Q1) > t.Health)
                {
                    CastQ(t);
                }
                else if (Player.Mana > RMANA + QMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q3.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        CastQ(t);
                    }
                }
            }

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

            if (!Program.None && !Program.Combo)
            {
                var allMinions = Cache.GetMinions(Player.ServerPosition, Q1.Range);

                if (Config.Item("farmQout", true).GetValue <bool>() && Player.Mana > RMANA + QMANA + EMANA + WMANA)
                {
                    foreach (var minion in allMinions.Where(minion => minion.IsValidTarget(Q1.Range) && (!Orbwalker.InAutoAttackRange(minion) || (!minion.UnderTurret(true) && minion.UnderTurret()))))
                    {
                        var hpPred = SebbyLib.HealthPrediction.GetHealthPrediction(minion, 600);
                        if (hpPred < Q1.GetDamage(minion) && hpPred > minion.Health - hpPred * 2)
                        {
                            Q1.Cast(minion);
                            return;
                        }
                    }
                }
                if (FarmSpells && Config.Item("farmQ", true).GetValue <bool>())
                {
                    var farmPos = Q1.GetCircularFarmLocation(allMinions, Q1.Width);
                    if (farmPos.MinionsHit >= FarmMinions)
                    {
                        Q1.Cast(farmPos.Position);
                    }
                }
            }
        }
Пример #29
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (Program.Combo && Player.Mana > EMANA + QMANA - 10)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Harass && Config.Item("harassQ", true).GetValue <bool>() && Config.Item("Harass" + t.ChampionName).GetValue <bool>() && Player.Mana > RMANA + EMANA + QMANA + WMANA && OktwCommon.CanHarras())
                {
                    Program.CastSpell(Q, t);
                }
                else
                {
                    var qDmg = OktwCommon.GetKsDamage(t, Q);
                    var eDmg = E.GetDamage(t);
                    if (qDmg > t.Health)
                    {
                        Program.CastSpell(Q, t);
                    }
                    else if (qDmg + eDmg > t.Health && Player.Mana > QMANA + WMANA)
                    {
                        Program.CastSpell(Q, t);
                    }
                }
                if (!Program.None && Player.Mana > RMANA + EMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true);
                    }
                }
            }
        }
Пример #30
0
        private void LogicR()
        {
            if (Player.UnderTurret(true) && Config.Item("Rturrent", true).GetValue <bool>())
            {
                return;
            }

            var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget(R.Range) && OktwCommon.ValidUlt(t))
            {
                var rDmg = R.GetDamage(t) * new double[] { 0.5, 0.75, 1 }[R.Level - 1];

                if (Player.CountEnemiesInRange(700) == 0 && t.CountAlliesInRange(400) == 0)
                {
                    var tDis = Player.Distance(t.ServerPosition);
                    if (rDmg * 7 > t.Health && tDis < 800)
                    {
                        R.Cast(t, true, true);
                        RCastTime = Game.Time;
                    }
                    else if (rDmg * 6 > t.Health && tDis < 900)
                    {
                        R.Cast(t, true, true);
                        RCastTime = Game.Time;
                    }
                    else if (rDmg * 5 > t.Health && tDis < 1000)
                    {
                        R.Cast(t, true, true);
                        RCastTime = Game.Time;
                    }
                    else if (rDmg * 4 > t.Health && tDis < 1100)
                    {
                        R.Cast(t, true, true);
                        RCastTime = Game.Time;
                    }
                    else if (rDmg * 3 > t.Health && tDis < 1200)
                    {
                        R.Cast(t, true, true);
                        RCastTime = Game.Time;
                    }
                    else if (rDmg > t.Health && tDis < 1300)
                    {
                        R.Cast(t, true, true);
                        RCastTime = Game.Time;
                    }
                    return;
                }
                if (rDmg * 8 > t.Health - OktwCommon.GetIncomingDamage(t) && rDmg * 2 < t.Health && Player.CountEnemiesInRange(300) == 0 && !OktwCommon.CanMove(t))
                {
                    R.Cast(t, true, true);
                    RCastTime = Game.Time;
                    return;
                }
            }
        }