Ejemplo n.º 1
0
        private void LogicQ()
        {
            var Qtype = Q;

            if (CanUseQE())
            {
                Qtype = Qext;
            }

            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 Program.Enemies.Where(enemy => enemy.IsValidTarget(Qtype.Range) && Config.Item("haras" + enemy.ChampionName).GetValue <bool>()))
                    {
                        CastQ(t);
                    }
                }
                else if ((Program.Combo || Program.Farm) && Player.Mana > RMANA + QMANA + EMANA)
                {
                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Qtype.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        CastQ(t);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private static void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (t.IsValidTarget())
            {
                var qDmg = OktwCommon.GetKsDamage(t, Q) + BonusDmg(t);

                if (qDmg > t.Health)
                {
                    Program.CastSpell(Q, t);
                }

                if (R.IsReady() && t.IsValidTarget(R.Range))
                {
                    return;
                }
                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && getCheckBoxItem(qMenu, "harrasQ") && Player.Mana > RMANA + EMANA + WMANA + EMANA)
                {
                    Program.CastSpell(Q, t);
                }

                if (Player.Mana > RMANA + QMANA)
                {
                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy);
                    }
                }
            }
            else if (Program.LaneClear && Player.ManaPercent > getSliderItem(farmMenu, "Mana") && getCheckBoxItem(farmMenu, "farmQ"))
            {
                var allMinions = Cache.GetMinions(Player.ServerPosition, Q.Range);
                var farmPos    = Q.GetCircularFarmLocation(allMinions, 150);
                if (farmPos.MinionsHit > getSliderItem(farmMenu, "LCminions"))
                {
                    Q.Cast(farmPos.Position);
                }
            }
        }
Ejemplo n.º 3
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("harassW", true).GetValue <bool>() && Config.Item("Harass" + 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 HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        W.Cast(enemy, true);
                    }
                }
            }
            else if (FarmSpells && Config.Item("farmW", true).GetValue <bool>() && Player.Mana > RMANA + WMANA)
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, W.Range);
                var farmPosition = W.GetCircularFarmLocation(minionList, W.Width);

                if (farmPosition.MinionsHit >= FarmMinions)
                {
                    W.Cast(farmPosition.Position);
                }
            }
        }
Ejemplo n.º 4
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                var qDmg = OktwCommon.GetKsDamage(t, Q) + BonusDmg(t);

                if (qDmg > t.Health)
                {
                    Program.CastSpell(Q, t);
                }

                if (R.IsReady() && t.IsValidTarget(R.Range))
                {
                    return;
                }
                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Harass && MainMenu.Item("harassQ", true).GetValue <bool>() && Player.Mana > RMANA + EMANA + WMANA + EMANA && MainMenu.Item("Harass" + t.ChampionName).GetValue <bool>())
                {
                    Program.CastSpell(Q, t);
                }

                if (Player.Mana > RMANA + QMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy);
                    }
                }
            }
            else if (FarmSpells && MainMenu.Item("farmQ", true).GetValue <bool>())
            {
                var allMinions = Cache.GetMinions(Player.ServerPosition, Q.Range);
                var farmPos    = Q.GetCircularFarmLocation(allMinions, 150);
                if (farmPos.MinionsHit >= FarmMinions)
                {
                    Q.Cast(farmPos.Position);
                }
            }
        }
Ejemplo n.º 5
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                if (OktwCommon.GetKsDamage(t, Q) + BonusDmg(t) + OktwCommon.GetEchoLudenDamage(t) > t.Health)
                {
                    Program.CastSpell(Q, t);
                }

                if (!t.HasBuff("brandablaze") && Config.Item("QAblazed", true).GetValue <bool>())
                {
                    var otherEnemy = t;

                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && enemy.HasBuff("brandablaze")))
                    {
                        t = enemy;
                    }

                    if (otherEnemy == t && !LogicQuse(t))
                    {
                        return;
                    }
                }

                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && Config.Item("harrasQ", true).GetValue <bool>() && Player.Mana > RMANA + EMANA + WMANA + EMANA)
                {
                    Program.CastSpell(Q, t);
                }

                if (Player.Mana > RMANA + QMANA)
                {
                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy);
                    }
                }
            }
        }
Ejemplo n.º 6
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);
                }
            }
        }
Ejemplo n.º 7
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                var qDmg = OktwCommon.GetKsDamage(t, Q) + BonusDmg(t);

                if (qDmg > t.Health)
                {
                    Program.CastSpell(Q, t);
                }

                if (R.IsReady() && t.IsValidTarget(R.Range))
                {
                    return;
                }
                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && Config.Item("harrasQ", true).GetValue <bool>() && Player.Mana > RMANA + EMANA + WMANA + EMANA)
                {
                    Program.CastSpell(Q, t);
                }

                if (Player.Mana > RMANA + QMANA)
                {
                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy);
                    }
                }
            }
            else if (Program.LaneClear && Player.ManaPercent > Config.Item("Mana", true).GetValue <Slider>().Value&& Config.Item("farmQ", true).GetValue <bool>())
            {
                var allMinions = MinionManager.GetMinions(Player.ServerPosition, Q.Range);
                var farmPos    = Q.GetCircularFarmLocation(allMinions, 150);
                if (farmPos.MinionsHit > Config.Item("LCminions", true).GetValue <Slider>().Value)
                {
                    Q.Cast(farmPos.Position);
                }
            }
        }
Ejemplo n.º 8
0
        private void LogicW()
        {
            if (Config.Item("Wks", true).GetValue <bool>() && Player.Mana > RMANA + WMANA)
            {
                foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && OktwCommon.ValidUlt(enemy) && enemy.CountEnemiesInRange(800) < 2 && enemy.CountAlliesInRange(400) == 0 && enemy.Health > enemy.Level * 2))
                {
                    var playerAaDmg = Player.GetAutoAttackDamage(enemy);
                    var dmgCombo    = playerAaDmg + OktwCommon.GetKsDamage(enemy, W) + GetEDmg(enemy);

                    if (dmgCombo > enemy.Health)
                    {
                        if (Orbwalking.InAutoAttackRange(enemy))
                        {
                            if (playerAaDmg * 2 + GetEDmg(enemy) < HealthPrediction.GetHealthPrediction(enemy, 700))
                            {
                                Program.CastSpell(W, enemy);
                            }
                        }
                        else
                        {
                            if (playerAaDmg + GetEDmg(enemy) < HealthPrediction.GetHealthPrediction(enemy, 700))
                            {
                                Program.CastSpell(W, enemy);
                            }
                        }
                    }
                    else if (R.IsReady() && R.GetDamage(enemy) + dmgCombo > enemy.Health && Player.Mana > RMANA + WMANA)
                    {
                        Program.CastSpell(W, enemy);
                    }
                }
            }

            if (Program.Combo && Config.Item("nktdE", true).GetValue <bool>())
            {
                var dashPosition = Player.Position.Extend(Game.CursorPos, W.Range);

                if (Game.CursorPos.Distance(Player.Position) > Player.AttackRange + Player.BoundingRadius * 2 && Player.Mana > RMANA + WMANA)
                {
                    W.Cast(dashPosition);
                }
            }
        }
Ejemplo n.º 9
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);
                }
            }
        }
Ejemplo n.º 10
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                var qDmg = Q.GetDamage(t);
                var wDmg = OktwCommon.GetKsDamage(t, W) + BonusDmg(t);
                if (wDmg > t.Health)
                {
                    Program.CastSpell(W, t);
                }
                else if (wDmg + qDmg > t.Health && Player.Mana > QMANA + EMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if (Program.Combo && Player.Mana > RMANA + WMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if (Program.Farm && Config.Item("harrasW", true).GetValue <bool>() && Config.Item("harras" + t.ChampionName).GetValue <bool>() && !Player.UnderTurret(true) && (Player.Mana > Player.MaxMana * 0.8 || W.Level > Q.Level) && Player.Mana > RMANA + WMANA + EMANA + QMANA + WMANA && OktwCommon.CanHarras())
                {
                    Program.CastSpell(W, t);
                }

                if (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 > Config.Item("Mana", true).GetValue <Slider>().Value&& Config.Item("farmW", true).GetValue <bool>())
            {
                var allMinions = Cache.GetMinions(Player.ServerPosition, W.Range);
                var farmPos    = W.GetCircularFarmLocation(allMinions, W.Width);
                if (farmPos.MinionsHit >= Config.Item("LCminions", true).GetValue <Slider>().Value)
                {
                    W.Cast(farmPos.Position);
                }
            }
        }
Ejemplo n.º 11
0
        private static void LogicE()
        {
            var t = TargetSelector.GetTarget(E.Range, DamageType.Magical);

            if (t.IsValidTarget())
            {
                var qCd = Q.Instance.CooldownExpires - Game.Time;
                var rCd = R.Instance.CooldownExpires - Game.Time;
                if (Player.Level < 7)
                {
                    rCd = 10;
                }
                //debug("Q " + qCd + "R " + rCd + "E now " + E.Instance.Cooldown);
                var eDmg = OktwCommon.GetKsDamage(t, E);

                if (eDmg > t.Health)
                {
                    E.Cast(t, true);
                }

                if (t.HasBuff("chilled") || qCd > E.Instance.Cooldown - 1 && rCd > E.Instance.Cooldown - 1)
                {
                    if (eDmg * 3 > t.Health)
                    {
                        E.Cast(t, true);
                    }
                    else if (SebbyLib.Program.Combo && (t.HasBuff("chilled") || Player.Mana > RMANA + EMANA))
                    {
                        E.Cast(t, true);
                    }
                    else if (SebbyLib.Program.Farm && Player.Mana > RMANA + EMANA + QMANA + WMANA &&
                             !Player.UnderTurret(true) && QMissile == null)
                    {
                        E.Cast(t, true);
                    }
                }
                else if (SebbyLib.Program.Combo && R.IsReady() && Player.Mana > RMANA + EMANA && QMissile == null)
                {
                    R.Cast(t, true, true);
                }
            }
            farmE();
        }
Ejemplo n.º 12
0
        private void LogicR()
        {
            foreach (var target in GameObjects.EnemyHeroes.Where(e => e.IsValidTarget(R1.Range) && OktwCommon.ValidUlt(e)))
            {
                var rDmg = OktwCommon.GetKsDamage(target, R);

                if (rDmg < target.Health)
                {
                    continue;
                }

                if (overkillR.Enabled && target.Health < Player.Health)
                {
                    if (target.InAutoAttackRange())
                    {
                        continue;
                    }

                    if (target.CountAllyHeroesInRange(400) > 0)
                    {
                        continue;
                    }
                }

                var rDmg2 = rDmg * 0.8;

                if (target.IsValidTarget(R.Range) && !OktwCommon.IsSpellHeroCollision(target, R) && rDmg > target.Health)
                {
                    CastSpell(R, target);
                }
                else if (rDmg2 > target.Health)
                {
                    if (!OktwCommon.IsSpellHeroCollision(target, R1))
                    {
                        CastSpell(R1, target);
                    }
                    else if (target.IsValidTarget(1200))
                    {
                        CastSpell(R1, target);
                    }
                }
            }
        }
Ejemplo n.º 13
0
        private void EUsage()
        {
            // E Usage
            var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                if ((Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) && (Player.Mana > RManaC + E.ManaCost))
                {
                    var enemystunned =
                        HeroManager.Enemies.Find(
                            enemy =>
                            (enemy.IsValidTarget(E.Range) && enemy.HasBuff("stun")) ||
                            (enemy.IsStunned && Config.PrioritizeStunned.GetValue <bool>()));
                    if (enemystunned != null)
                    {
                        Orbwalker.ForceTarget(enemystunned);
                        E.CastOnUnit(enemystunned);
                    }
                    else
                    {
                        Orbwalker.ForceTarget(t);
                        E.CastOnUnit(t);
                    }
                }
                else
                {
                    // If there's a chance to KS/Get :kappa: a kill.
                    var eDmg = OktwCommon.GetKsDamage(t, E) + BonusDmg(t) + OktwCommon.GetEchoLudenDamage(t);
                    var wDmg = W.GetDamage(t);
                    if (eDmg > t.Health)
                    {
                        E.CastOnUnit(t);
                    }
                    else if ((wDmg + eDmg > t.Health) && (Player.Mana > W.ManaCost + E.ManaCost))
                    {
                        E.CastOnUnit(t);
                        SpellCast.SebbySpellMain(W, t);
                    }
                }
            }
        }
Ejemplo n.º 14
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                var  poutput = Q.GetPrediction(t);
                var  col     = poutput.CollisionObjects;
                bool cast    = true;
                foreach (var colobj in col)
                {
                    if (Q.GetDamage(colobj) < colobj.Health)
                    {
                        cast = false;
                    }
                }

                var qDmg = OktwCommon.GetKsDamage(t, Q) + Player.GetAutoAttackDamage(t);
                var eDmg = GetEdmg(t);

                if (qDmg > t.Health && eDmg < t.Health && Player.Mana > QMANA + EMANA)      // Q 데미지만으로 죽일 수 있다면...
                {
                    castQ(cast, t);
                }
                else if ((qDmg * 1.1) + eDmg > t.Health && eDmg < t.Health && Player.Mana > QMANA + EMANA && SebbyLib.Orbwalking.InAutoAttackRange(t))
                {
                    castQ(cast, t);
                }
                else if ((Orbwalker.ActiveMode == SebbyLib.Orbwalking.OrbwalkingMode.Combo) && Player.Mana > RMANA + QMANA + EMANA)
                {
                    if (!SebbyLib.Orbwalking.InAutoAttackRange(t) || CountMeleeInRange(400) > 0)
                    {
                        castQ(cast, t);
                    }
                }
                else if ((Orbwalker.ActiveMode == SebbyLib.Orbwalking.OrbwalkingMode.Combo) && Player.Mana > QMANA && !OktwCommon.CanMove(t))        // 움직일 수 없는 상황이면
                {
                    Entry.OKTWCast_SebbyLib(Q, t, false);
                    Orbwalker.ForceTarget(t);
                }
            }
        }
Ejemplo n.º 15
0
        private static void QUsage()
        {
            var m = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (!m.IsValidTarget())
            {
                return;
            }
            // Q Improvement + KS Below
            if (OktwCommon.GetKsDamage(m, Q) + BonusDmg(m) + OktwCommon.GetEchoLudenDamage(m) > m.Health)
            {
                Q.CastIfHitchanceEquals(m, HitChance.High);
            }

            if (m.HasBuff("brandablaze") && Menu.Item("QAblazedEnemy").GetValue <bool>())
            {
                var spreadTarget = m;

                foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && enemy.HasBuff("brandablaze")))
                {
                    m = enemy;
                }

                if (spreadTarget == m && !LogQUse(m))
                {
                    return;
                }
            }

            if (Orbwalker.ActiveMode == SebbyLib.Orbwalking.OrbwalkingMode.Combo && !W.IsReady() && Player.ManaPercentage() > RManaC + Q.ManaCost)
            {
                Q.CastIfHitchanceEquals(m, HitChance.High);
            }

            if (Player.Mana > RManaC + Q.ManaCost)
            {
                foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range)))
                {
                    Q.CastIfHitchanceEquals(m, HitChance.High);
                }
            }
        }
Ejemplo n.º 16
0
        private void LogicE()
        {
            var t = TargetSelector.GetTarget(Eany.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (OktwCommon.GetKsDamage(t, E) + Q.GetDamage(t) > t.Health)
                {
                    TryBallE(t);
                }
                if (Program.Combo && Player.Mana > RMANA + EMANA + QMANA && Config.Item("Eon" + t.ChampionName, true).GetValue <bool>())
                {
                    TryBallE(t);
                }
                if (Program.Farm && Player.Mana > RMANA + EMANA + QMANA + WMANA && Config.Item("harrasE", true).GetValue <bool>() && Config.Item("harras" + t.ChampionName).GetValue <bool>())
                {
                    TryBallE(t);
                }
            }
        }
Ejemplo n.º 17
0
        private static void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

            if (t.LSIsValidTarget())
            {
                if (Program.Combo && getCheckBoxItem(qMenu, "autoQ") && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && getCheckBoxItem(qMenu, "harassQ") && getCheckBoxItem(harassMenu, "harras" + t.ChampionName) && Player.Mana > RMANA + EMANA + WMANA + RMANA && OktwCommon.CanHarras())
                {
                    Program.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)
                    {
                        Program.CastSpell(Q, t);
                    }
                    else if (rDmg + 2 * qDmg > t.Health && Player.Mana > QMANA + RMANA * 2)
                    {
                        Program.CastSpell(Q, t);
                    }
                }

                if (!Program.None && Player.Mana > RMANA + WMANA + EMANA)
                {
                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.LSIsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true, true);
                    }
                }
            }
        }
Ejemplo n.º 18
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);
                }
            }
        }
Ejemplo n.º 19
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);
                    }
                }
            }
        }
Ejemplo n.º 20
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                if (Program.Combo && Config.Item("autoQ", true).GetValue <bool>() && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && Config.Item("harassQ", true).GetValue <bool>() && Config.Item("harras" + t.ChampionName).GetValue <bool>() && Player.Mana > RMANA + EMANA + WMANA + RMANA)
                {
                    Program.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)
                    {
                        Program.CastSpell(Q, t);
                    }
                    else if (rDmg + 2 * qDmg > t.Health && Player.Mana > QMANA + RMANA * 2)
                    {
                        Program.CastSpell(Q, t);
                    }
                }

                if (!Program.None && Player.Mana > RMANA + WMANA + EMANA)
                {
                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true, true);
                    }
                }
            }
        }
Ejemplo n.º 21
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                if (SebbyLib.Orbwalking.InAutoAttackRange(t) && t.HasBuff("quinnw"))
                {
                    return;
                }
                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && Player.Mana > RMANA + EMANA + QMANA + WMANA && Config.Item("harassQ", true).GetValue <bool>() && Config.Item("Harass" + t.ChampionName).GetValue <bool>() && OktwCommon.CanHarras())
                {
                    Program.CastSpell(Q, t);
                }
                else if (OktwCommon.GetKsDamage(t, Q) > t.Health)
                {
                    Program.CastSpell(Q, t);
                }

                if (!Program.None && Player.Mana > RMANA + QMANA + EMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy);
                    }
                }
            }
            else if (FarmSpells && Config.Item("farmQ", true).GetValue <bool>())
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, Q.Range - 150);
                var farmPosition = Q.GetCircularFarmLocation(minionList, 150);
                if (farmPosition.MinionsHit >= FarmMinions)
                {
                    Q.Cast(farmPosition.Position);
                }
            }
        }
Ejemplo n.º 22
0
        private static void LogicR()
        {
            if (getCheckBoxItem(RMenu, "autoR"))
            {
                foreach (
                    var target in
                    SebbyLib.Program.Enemies.Where(
                        target => target.LSIsValidTarget(2000) && OktwCommon.ValidUlt(target) && target.IsHPBarRendered && target.IsVisible))
                {
                    var rDmg = OktwCommon.GetKsDamage(target, R);
                    if (SebbyLib.Program.Combo && target.LSCountEnemiesInRange(250) > 2 &&
                        getCheckBoxItem(RMenu, "autoRaoe"))
                    {
                        SebbyLib.Program.CastSpell(R, target);
                    }
                    if (SebbyLib.Program.Combo && target.LSIsValidTarget(W.Range) && getCheckBoxItem(RMenu, "Rkscombo") &&
                        Player.LSGetAutoAttackDamage(target) * 5 + rDmg + W.GetDamage(target) > target.Health &&
                        target.HasBuffOfType(BuffType.Slow) && !OktwCommon.IsSpellHeroCollision(target, R))
                    {
                        SebbyLib.Program.CastSpell(R, target);
                    }
                    if (rDmg > target.Health && target.CountAlliesInRange(600) == 0 &&
                        target.LSDistance(Player.Position) > 1000)
                    {
                        if (!OktwCommon.IsSpellHeroCollision(target, R))
                        {
                            SebbyLib.Program.CastSpell(R, target);
                        }
                    }
                }
            }

            if (Player.HealthPercent < 50)
            {
                foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(300) && enemy.IsMelee && getCheckBoxItem(RMenu, "GapCloser" + enemy.NetworkId) && !OktwCommon.ValidUlt(enemy)))
                {
                    R.Cast(enemy);
                    SebbyLib.Program.debug("R Meele");
                }
            }
        }
Ejemplo n.º 23
0
        private static void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (SebbyLib.Program.Combo && Player.Mana > EMANA + QMANA - 10)
                {
                    SebbyLib.Program.CastSpell(Q, t);
                }
                else if (SebbyLib.Program.Farm && getCheckBoxItem(QMenu, "harrasQ") &&
                         getCheckBoxItem(QMenu, "haras" + t.ChampionName) && Player.Mana > RMANA + EMANA + QMANA + WMANA &&
                         OktwCommon.CanHarras())
                {
                    SebbyLib.Program.CastSpell(Q, t);
                }
                else
                {
                    var qDmg = OktwCommon.GetKsDamage(t, Q);
                    var eDmg = E.GetDamage(t);
                    if (qDmg > t.Health)
                    {
                        SebbyLib.Program.CastSpell(Q, t);
                    }
                    else if (qDmg + eDmg > t.Health && Player.Mana > QMANA + WMANA)
                    {
                        SebbyLib.Program.CastSpell(Q, t);
                    }
                }
                if (!SebbyLib.Program.None && Player.Mana > RMANA + EMANA)
                {
                    foreach (
                        var enemy in
                        SebbyLib.Program.Enemies.Where(
                            enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true);
                    }
                }
            }
        }
Ejemplo n.º 24
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (OktwCommon.GetKsDamage(t, Q) > t.Health && !Orbwalking.InAutoAttackRange(t))
                {
                    Program.CastSpell(Q, t);
                }

                if (Player.Mana > RMANA + QMANA)
                {
                    if (W.Instance.CooldownExpires - Game.Time < W.Instance.Cooldown - 1.3 && W.Instance.Name == "PickACard" && (W.Instance.CooldownExpires - Game.Time > 3 || Player.CountEnemiesInRange(950) == 0))
                    {
                        if (Program.Combo)
                        {
                            Program.CastSpell(Q, t);
                        }
                        if (Program.Farm && !Player.UnderTurret(true) && OktwCommon.CanHarras() && Config.Item("harasW", true).GetValue <bool>())
                        {
                            Program.CastSpell(Q, t);
                        }
                    }

                    foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true, true);
                    }
                }
            }
            else if (Program.LaneClear && Player.ManaPercent > Config.Item("Mana", true).GetValue <Slider>().Value&& Config.Item("farmQ", true).GetValue <bool>() && Player.Mana > RMANA + QMANA)
            {
                var minionList   = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All);
                var farmPosition = Q.GetLineFarmLocation(minionList, Q.Width);
                if (farmPosition.MinionsHit > Config.Item("LCminions", true).GetValue <Slider>().Value)
                {
                    Q.Cast(farmPosition.Position);
                }
            }
        }
Ejemplo n.º 25
0
        private void OnUpdate(EventArgs args)
        {
            if (!CheckGuardians() ||
                Target == null ||
                Target.Health > OktwCommon.GetKsDamage(Target, spell.Spell) ||
                (Menu.Item("Xerath.Killsteal.Q.Mana").GetValue <Slider>().Value > ObjectManager.Player.ManaPercent && !spell.Charging))
            {
                return;
            }

            if (!spell.Charging)
            {
                spell.Spell.StartCharging();
                return;
            }

            if (spell.SDK(Target).Hitchance >= HitChance.High)
            {
                spell.Spell.Cast(spell.SDK(Target).CastPosition);
            }
        }
Ejemplo n.º 26
0
        private void LogicE()
        {
            var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                var eDmg = OktwCommon.GetKsDamage(t, E);
                if (eDmg > t.Health)
                {
                    Program.CastSpell(E, t);
                }
                else if (eDmg + Q.GetDamage(t) > t.Health && Player.Mana > QMANA + EMANA + RMANA)
                {
                    Program.CastSpell(E, t);
                }
                else if (Program.Combo && Player.Mana > RMANA + WMANA + QMANA + EMANA)
                {
                    if (!SebbyLib.Orbwalking.InAutoAttackRange(t) || Player.CountEnemiesInRange(300) > 0 || t.CountEnemiesInRange(250) > 1)
                    {
                        Program.CastSpell(E, t);
                    }
                    else
                    {
                        foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(E.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            E.Cast(enemy, true, true);
                        }
                    }
                }
            }
            if (FarmSpells && Config.Item("farmE", true).GetValue <bool>())
            {
                var minions = Cache.GetMinions(Player.ServerPosition, E.Range);
                var farmPos = E.GetCircularFarmLocation(minions, E.Width);
                if (farmPos.MinionsHit >= FarmMinions)
                {
                    E.Cast(farmPos.Position);
                }
            }
        }
Ejemplo n.º 27
0
        private void WUsage()
        {
            // W Usage
            var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                var Qdamage = Q.GetDamage(t);
                var Wdamage = OktwCommon.GetKsDamage(t, W) + BonusDmg(t) + OktwCommon.GetEchoLudenDamage(t);
                if (Wdamage > t.Health)
                {
                    SpellCast.SebbySpellMain(W, t);
                }
                else if ((Wdamage + Qdamage > t.Health) && (Player.ManaPercent > Q.ManaCost + E.ManaCost))
                {
                    SpellCast.SebbySpellMain(W, t);
                }

                if (Player.Mana > RManaC + W.ManaCost)
                {
                    var enemystunned =
                        HeroManager.Enemies.Find(
                            enemy =>
                            (enemy.IsValidTarget(W.Range) && enemy.HasBuff("stun")) ||
                            (enemy.IsStunned && Config.PrioritizeStunned.GetValue <bool>()));
                    if (enemystunned != null)
                    {
                        Orbwalker.ForceTarget(enemystunned);
                        SpellCast.SebbySpellMain(W, enemystunned);
                    }
                    else
                    {
                        Orbwalker.ForceTarget(enemystunned);
                        SpellCast.SebbySpellMain(W, t);
                    }
                }
            }
        }
Ejemplo n.º 28
0
        private static void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (OktwCommon.GetKsDamage(t, Q) > t.Health && !SebbyLib.Orbwalking.InAutoAttackRange(t))
                {
                    Program.CastSpell(Q, t);
                }

                if (W.Instance.CooldownExpires - Game.Time < W.Instance.Cooldown - 1.3 && W.Instance.Name == "PickACard" && (W.Instance.CooldownExpires - Game.Time > 3 || Player.CountEnemiesInRange(950) == 0))
                {
                    if (Program.Combo && Player.Mana > RMANA + QMANA)
                    {
                        Program.CastSpell(Q, t);
                    }
                    if (Program.Farm && Player.Mana > RMANA + QMANA + WMANA + EMANA && getCheckBoxItem(qMenu, "harrasQ") && OktwCommon.CanHarras())
                    {
                        Program.CastSpell(Q, t);
                    }
                }

                foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                {
                    Q.Cast(enemy, true, true);
                }
            }
            else if (Program.LaneClear && Player.ManaPercent > getSliderItem(farmMenu, "Mana") && getCheckBoxItem(farmMenu, "farmQ") && Player.Mana > RMANA + QMANA)
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, Q.Range);
                var farmPosition = Q.GetLineFarmLocation(minionList, Q.Width);
                if (farmPosition.MinionsHit > getSliderItem(farmMenu, "LCminions"))
                {
                    Q.Cast(farmPosition.Position);
                }
            }
        }
Ejemplo n.º 29
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget())
            {
                if (OktwCommon.GetKsDamage(t, Q) > t.Health && !SebbyLib.Orbwalking.InAutoAttackRange(t))
                {
                    Program.CastSpell(Q, t);
                }

                if (W.Instance.CooldownExpires - Game.Time < W.Instance.Cooldown - 1.3 && !Player.HasBuff("pickacard_tracker") && (W.Instance.CooldownExpires - Game.Time > 3 || Player.CountEnemiesInRange(950) == 0))
                {
                    if (Program.Combo && Player.Mana > RMANA + QMANA)
                    {
                        Program.CastSpell(Q, t);
                    }
                    if (Program.Harass && Player.Mana > RMANA + QMANA + WMANA + EMANA && Config.Item("harassQ", true).GetValue <bool>() && OktwCommon.CanHarras() && Config.Item("Harass" + t.ChampionName).GetValue <bool>())
                    {
                        Program.CastSpell(Q, t);
                    }
                }

                foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                {
                    Q.Cast(enemy, true, true);
                }
            }
            else if (FarmSpells && Config.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);
                }
            }
        }
Ejemplo n.º 30
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);
                    }
                }
            }
        }