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

            if (t.IsValidTarget())
            {
                if (OktwCommon.GetKsDamage(t, Q) + AaDamage(t) > t.Health)
                {
                    Q.Cast(t);
                }
                else if (Combo && Player.Mana > QMANA + RMANA)
                {
                    Q.Cast(t);
                }
                else if (Harass && HarassList.Any(e => e.Enabled && e.Name == "harass" + t.CharacterName) && Player.Mana > QMANA + WMANA + EMANA + RMANA)
                {
                    Q.Cast(t);
                }
            }
            else if ((Combo || Harass) && harassQ.Enabled && t1.IsValidTarget() && HarassList.Any(e => e.Enabled && e.Name == "harass" + t1.CharacterName) && Player.Distance(t1.PreviousPosition) > Q.Range + 100)
            {
                if (Combo && Player.Mana < QMANA + RMANA)
                {
                    return;
                }

                if (Harass && Player.Mana < QMANA + WMANA + EMANA + RMANA)
                {
                    return;
                }

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

                var prepos = Prediction.GetPrediction(t1, Q1.Delay);

                if (prepos.Hitchance < HitChance.VeryHigh)
                {
                    return;
                }

                var distance = Player.Distance(prepos.CastPosition);
                var minions  = GameObjects.EnemyMinions.Where(e => e.IsValidTarget(Q.Range));

                foreach (var minion in minions)
                {
                    if (prepos.CastPosition.Distance(Player.Position.Extend(minion.Position, distance)) < 25)
                    {
                        Q.Cast(minion);
                        return;
                    }
                }
            }
        }
Пример #2
0
        private void LogicQ()
        {
            if (Combo && Player.IsWindingUp)
            {
                return;
            }
            var t = TargetSelector.GetTarget(Q.Range);

            if (t.IsValidTarget())
            {
                var q = Config[Player.CharacterName]["QConfig"];
                if (GetRealDistance(t) > bonusRange() + 250 && !t.InAutoAttackRange() && OktwCommon.GetKsDamage(t, Q) > t.Health && Player.CountEnemyHeroesInRange(400) == 0)
                {
                    CastSpell(Q, t);
                }
                else if (Combo && Player.Mana > RMANA + QMANA + EMANA + 10 && Player.CountEnemyHeroesInRange(bonusRange() + 100 + t.BoundingRadius) == 0 && !q.GetValue <MenuBool>("autoQ").Enabled)
                {
                    CastSpell(Q, t);
                }
                if ((Combo || Harass) && Player.Mana > RMANA + QMANA && Player.CountEnemyHeroesInRange(400) == 0)
                {
                    foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(Q.Range) && (!OktwCommon.CanMove(enemy) || enemy.HasBuff("caitlynyordletrapinternal"))))
                    {
                        Q.Cast(enemy, true);
                    }
                    if (Player.CountEnemyHeroesInRange(bonusRange()) == 0 && OktwCommon.CanHarass())
                    {
                        if (t.HasBuffOfType(BuffType.Slow) && q.GetValue <MenuBool>("Qslow").Enabled)
                        {
                            Q.Cast(t);
                        }
                        if (q.GetValue <MenuBool>("Qaoe").Enabled)
                        {
                            Q.CastIfWillHit(t, 2, true);
                        }
                    }
                }
            }
            else if (LaneClear && Player.Mana > RMANA + QMANA)
            {
                var farm = Config[Player.CharacterName]["farm"] as Menu;
                if (farm.GetValue <MenuBool>("farmQ").Enabled&& Player.ManaPercent > farm.GetValue <MenuSlider>("LCMana").Value)
                {
                    var minionList   = Cache.GetMinions(Player.PreviousPosition, Q.Range);
                    var farmLocation = Q.GetLineFarmLocation(minionList, Q.Width);
                    if (farmLocation.MinionsHit > farm.GetValue <MenuSlider>("LCMinions").Value)
                    {
                        Q.Cast(farmLocation.Position);
                    }
                }
            }
        }
Пример #3
0
        private void LogicQ()
        {
            var t  = TargetSelector.GetTarget(Q.Range);
            var t1 = TargetSelector.GetTarget(Q1.Range);

            if (t.IsValidTarget(Q.Range))
            {
                if (OktwCommon.GetKsDamage(t, Q) + AaDamage(t) > t.Health)
                {
                    Q.Cast(t);
                }
                else if (Combo && Player.Mana > RMANA + QMANA)
                {
                    Q.Cast(t);
                }
                else if (Harass && Config[Player.CharacterName]["Harras" + t.CharacterName].GetValue <MenuBool>().Enabled&& Player.Mana > RMANA + QMANA + EMANA + WMANA)
                {
                    Q.Cast(t);
                }
            }
            else if ((Harass || Combo) && Config[Player.CharacterName]["QConfig"].GetValue <MenuBool>("harassQ").Enabled&& t1.IsValidTarget(Q1.Range) && Config[Player.CharacterName]["Harras" + t.CharacterName].GetValue <MenuBool>().Enabled&& Player.Distance(t1.PreviousPosition) > Q.Range + 100)
            {
                if (Combo && Player.Mana < RMANA + QMANA)
                {
                    return;
                }
                if (Harass && Player.Mana < RMANA + QMANA + EMANA + WMANA)
                {
                    return;
                }
                if (!OktwCommon.CanHarass())
                {
                    return;
                }
                var prepos = SpellPrediction.GetPrediction(t1, Q1.Delay);
                if ((int)prepos.Hitchance < 5)
                {
                    return;
                }
                var distance = Player.Distance(prepos.CastPosition);
                var minions  = Cache.GetMinions(Player.PreviousPosition, Q.Range);

                foreach (var minion in minions.Where(minion => minion.IsValidTarget(Q.Range)))
                {
                    if (prepos.CastPosition.Distance(Player.Position.Extend(minion.Position, distance)) < 25)
                    {
                        Q.Cast(minion);
                        return;
                    }
                }
            }
        }
Пример #4
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range);

            if (t.IsValidTarget())
            {
                foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(W.Range) && enemy.DistanceToPlayer() > bonusRange()))
                {
                    var comboDmg = OktwCommon.GetKsDamage(enemy, W);
                    if (R.IsReady() && Player.Mana > RMANA + WMANA + QMANA + QMANA)
                    {
                        comboDmg += R.GetDamage(enemy);
                    }
                    if (comboDmg > enemy.Health && OktwCommon.ValidUlt(enemy))
                    {
                        CastSpell(W, enemy);
                        return;
                    }
                }

                if (Player.CountEnemyHeroesInRange(bonusRange()) == 0)
                {
                    if (Combo && Player.Mana > RMANA + WMANA + QMANA)
                    {
                        foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(W.Range) && GetRealDistance(enemy) > bonusRange()).OrderBy(enemy => enemy.Health))
                        {
                            CastSpell(W, enemy);
                        }
                    }
                    else if (Harass && Player.Mana > RMANA + EMANA + WMANA + WMANA + QMANA * 4 && OktwCommon.CanHarass() && Config[Player.CharacterName]["WConfig"].GetValue <MenuBool>("Wharass").Enabled)
                    {
                        foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(W.Range) && Config["harass"].GetValue <MenuBool>("harass" + enemy.CharacterName).Enabled))
                        {
                            CastSpell(W, enemy);
                        }
                    }
                }

                if (!None && Player.Mana > RMANA + WMANA && Player.CountEnemyHeroesInRange(GetRealPowPowRange(t)) == 0)
                {
                    foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        W.Cast(enemy, true);
                    }
                }
            }
        }
Пример #5
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range);

            if (t.IsValidTarget())
            {
                var qDmg = Q.GetDamage(t);
                var wDmg = OktwCommon.GetKsDamage(t, W) + BonusDmg(t);
                if (wDmg > t.Health)
                {
                    W.Cast(Player.Position.Extend(t.Position, 450));
                }
                else if (wDmg + qDmg > t.Health && Player.Mana > QMANA + EMANA)
                {
                    W.Cast(Player.Position.Extend(t.Position, 450));
                }
                else if (Combo && Player.Mana > RMANA + WMANA)
                {
                    W.Cast(Player.Position.Extend(t.Position, 450));
                }
                else if (Harass && Config[Player.CharacterName]["WConfig"].GetValue <MenuBool>("harassW").Enabled&&  !Player.IsUnderEnemyTurret() && Player.Mana > RMANA + WMANA + EMANA + QMANA + WMANA && OktwCommon.CanHarass())
                {
                    W.Cast(Player.Position.Extend(t.Position, 450));
                }
            }
            else if (LaneClear && Config[Player.CharacterName]["farm"].GetValue <MenuBool>("farmW").Enabled)
            {
                var allMinions = Cache.GetMinions(Player.PreviousPosition, W.Range);
                var farmPos    = W.GetCircularFarmLocation(allMinions, W.Width);
                if (farmPos.MinionsHit >= 2)
                {
                    W.Cast(farmPos.Position);
                }
            }
        }
Пример #6
0
        private void LogicE()
        {
            if (Player.HasBuff("LuxLightStrikeKugel") && !None)
            {
                int eBig = Epos.CountEnemyHeroesInRange(350);
                if (Config[Player.CharacterName]["EConfig"].GetValue <MenuBool>("autoEslow").Enabled)
                {
                    int detonate = eBig - Epos.CountEnemyHeroesInRange(160);

                    if (detonate > 0 || eBig > 1)
                    {
                        E.Cast();
                    }
                }
                else if (Config[Player.CharacterName]["EConfig"].GetValue <MenuBool>("autoEdet").Enabled)
                {
                    if (eBig > 0)
                    {
                        E.Cast();
                    }
                }
                else
                {
                    E.Cast();
                }
            }
            else
            {
                var t = TargetSelector.GetTarget(E.Range);
                if (t.IsValidTarget())
                {
                    if (!Config[Player.CharacterName]["EConfig"].GetValue <MenuBool>("autoEcc").Enabled)
                    {
                        if (Combo && Player.Mana > RMANA + EMANA)
                        {
                            CastSpell(E, t);
                        }
                        else if (Harass && OktwCommon.CanHarass() && Config[Player.CharacterName]["EConfig"].GetValue <MenuBool>("harassE").Enabled&& Player.Mana > RMANA + EMANA + EMANA + RMANA)
                        {
                            CastSpell(E, t);
                        }
                        else if (OktwCommon.GetKsDamage(t, E) > t.Health)
                        {
                            CastSpell(E, t);
                        }
                    }

                    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&& Player.Mana > RMANA + WMANA)
                {
                    var minionList   = Cache.GetMinions(Player.PreviousPosition, E.Range);
                    var farmPosition = E.GetCircularFarmLocation(minionList, E.Width);

                    if (farmPosition.MinionsHit >= 3)
                    {
                        E.Cast(farmPosition.Position);
                    }
                }
            }
        }
Пример #7
0
 private void Orbwalker_OnAction(object sender, OrbwalkerActionArgs args)
 {
     if (E.IsReady() && Sheen() && args.Target.IsValidTarget())
     {
         if (Combo && Config[Player.CharacterName]["EConfig"].GetValue <MenuBool>("autoE").Enabled&& Player.Mana > EMANA + RMANA)
         {
             E.Cast(args.Target.Position);
         }
         if (Harass && Config[Player.CharacterName]["EConfig"].GetValue <MenuBool>("harassE").Enabled&& Player.Mana > EMANA + RMANA + QMANA && OktwCommon.CanHarass())
         {
             E.Cast(args.Target.Position);
         }
         if (!Q.IsReady() && !R.IsReady() && args.Target.Health < Player.FlatPhysicalDamageMod * 2)
         {
             E.Cast();
         }
     }
 }
Пример #8
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range);

            if (t.IsValidTarget())
            {
                if (Combo && Config[Player.CharacterName]["QConfig"].GetValue <MenuBool>("autoQ").Enabled&& Player.Mana > RMANA + QMANA)
                {
                    CastSpell(Q, t);
                }
                else if (Harass && Config[Player.CharacterName]["QConfig"].GetValue <MenuBool>("harassQ").Enabled&& Config["harass"].GetValue <MenuBool>("harass" + t.CharacterName).Enabled&& Player.Mana > RMANA + EMANA + WMANA + RMANA && OktwCommon.CanHarass())
                {
                    CastSpell(Q, t);
                }
                else
                {
                    var qDmg = OktwCommon.GetKsDamage(t, Q);
                    var rDmg = R.GetDamage(t);
                    if (qDmg > t.Health)
                    {
                        Q.Cast(t);
                    }
                    else if (rDmg + qDmg > t.Health && Player.Mana > RMANA + QMANA)
                    {
                        CastSpell(Q, t);
                    }
                    else if (rDmg + 2 * qDmg > t.Health && Player.Mana > QMANA + RMANA * 2)
                    {
                        CastSpell(Q, t);
                    }
                }

                if (!None && Player.Mana > RMANA + WMANA + EMANA)
                {
                    foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true, true);
                    }
                }
            }
        }
Пример #9
0
        private void LogicR()
        {
            float rSplash = 150;

            if (bonusR)
            {
                rSplash = 300;
            }

            var t = TargetSelector.GetTarget(R.Range);

            if (t.IsValidTarget())
            {
                var rDmg = OktwCommon.GetKsDamage(t, R);
                var qDmg = Q.GetDamage(t);
                var r    = Config[Player.CharacterName]["RConfig"] as Menu;
                if (rDmg * 2 > t.Health)
                {
                    CastR(R, t);
                }
                else if (t.IsValidTarget(Q.Range) && qDmg + rDmg > t.Health)
                {
                    CastR(R, t);
                }
                if (ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo > 1)
                {
                    foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(R.Range) && enemy.CountEnemyHeroesInRange(rSplash) > 1))
                    {
                        t = enemy;
                    }

                    if (Combo && Player.Mana > RMANA * 3)
                    {
                        CastR(R, t);
                    }
                    else if (Harass && Player.Mana > RMANA + EMANA + QMANA + WMANA && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo >= r.GetValue <MenuSlider>("Rammo").Value&& OktwCommon.CanHarass())
                    {
                        foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(R.Range) && Config["harass"].GetValue <MenuBool>("harass" + t.CharacterName).Enabled))///////////
                        {
                            CastR(R, enemy);
                        }
                    }

                    if (!None && Player.Mana > RMANA + QMANA + EMANA)
                    {
                        foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(R.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            CastR(R, t);
                        }
                    }
                }
            }
        }
Пример #10
0
        private void Orbwalker_OnAction(object sender, OrbwalkerActionArgs args)
        {
            if (args.Type == OrbwalkerType.BeforeAttack && Config[Player.CharacterName]["MiscConfig"].GetValue <MenuBool>("focusP").Enabled&& args.Target.HealthPercent > 40)
            {
                var orbTarget = args.Target as AIHeroClient;

                if (!orbTarget.HasBuff("quinnw"))
                {
                    var best = GameObjects.EnemyHeroes.FirstOrDefault(enemy => enemy.IsValidTarget() && enemy.InAutoAttackRange() && enemy.HasBuff("quinnw"));
                    if (best != null)
                    {
                        Orbwalker.ForceTarget = best;
                    }
                }
            }



            var t = TargetSelector.GetTarget(E.Range);

            if (E.IsReady() && Config[Player.CharacterName]["EConfig"].GetValue <MenuBool>("autoE").Enabled&& t.IsValidTarget(E.Range) && t.CountEnemyHeroesInRange(800) < 3)
            {
                if (Combo && Player.Mana > RMANA + EMANA)
                {
                    E.Cast(t);
                }
                else if (Harass && Player.Mana > RMANA + EMANA + QMANA + WMANA && Config[Player.CharacterName]["EConfig"].GetValue <MenuBool>("harassE").Enabled&& OktwCommon.CanHarass())
                {
                    E.Cast(t);
                }
                else if (OktwCommon.GetKsDamage(t, E) > t.Health)
                {
                    E.Cast(t);
                }
            }
            if (Q.IsReady() && t.IsValidTarget(Q.Range))
            {
                if (Combo && Player.Mana > RMANA + QMANA)
                {
                    CastSpell(Q, t);
                }
                else if (Harass && Player.Mana > RMANA + EMANA + QMANA + WMANA && Config[Player.CharacterName]["QConfig"].GetValue <MenuBool>("harassQ").Enabled&& OktwCommon.CanHarass())
                {
                    CastSpell(Q, t);
                }
                else if (OktwCommon.GetKsDamage(t, Q) > t.Health)
                {
                    CastSpell(Q, t);
                }

                if (!None && Player.Mana > RMANA + QMANA + EMANA)
                {
                    foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy);
                    }
                }
            }

            Jungle();
        }
Пример #11
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range);

            if (t.IsValidTarget())
            {
                if (t.InAutoAttackRange() && t.HasBuff("quinnw"))
                {
                    return;
                }
                if (Combo && Player.Mana > RMANA + QMANA)
                {
                    CastSpell(Q, t);
                }
                else if (Harass && Player.Mana > RMANA + EMANA + QMANA + WMANA && Config[Player.CharacterName]["QConfig"].GetValue <MenuBool>("harassQ").Enabled&& OktwCommon.CanHarass())
                {
                    CastSpell(Q, t);
                }
                else if (OktwCommon.GetKsDamage(t, Q) > t.Health)
                {
                    CastSpell(Q, t);
                }

                if (!None && Player.Mana > RMANA + QMANA + EMANA)
                {
                    foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy);
                    }
                }
            }
            else if (LaneClear && Config[Player.CharacterName]["farm"].GetValue <MenuBool>("farmQ").Enabled)
            {
                var minionList   = Cache.GetMinions(Player.PreviousPosition, Q.Range - 150);
                var farmPosition = Q.GetCircularFarmLocation(minionList, 150);
                if (farmPosition.MinionsHit >= 2)
                {
                    Q.Cast(farmPosition.Position);
                }
            }
        }