Ejemplo n.º 1
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            //Program.debug(""+BallPos.Distance(Player.Position));
            if (Player.HasBuff("Recall") || Player.IsDead)
            {
                return;
            }

            if (R.IsReady())
            {
                LogicR();
            }

            bool hadrCC = true, poison = true;

            if (Program.LagFree(0))
            {
                SetMana();
                hadrCC = Config.Item("hadrCC", true).GetValue <bool>();
                poison = Config.Item("poison", true).GetValue <bool>();
            }

            best = Player;

            foreach (var ally in HeroManager.Allies.Where(ally => ally.IsValid && !ally.IsDead))
            {
                if (ally.HasBuff("orianaghostself") || ally.HasBuff("orianaghost"))
                {
                    BallPos = ally.ServerPosition;
                }

                if (Program.LagFree(3))
                {
                    if (E.IsReady() && Player.Mana > RMANA + EMANA && ally.Distance(Player.Position) < E.Range)
                    {
                        var countEnemy = ally.CountEnemiesInRange(800);
                        if (ally.Health < countEnemy * ally.Level * 25)
                        {
                            E.CastOnUnit(ally);
                        }
                        else if (HardCC(ally) && hadrCC && countEnemy > 0)
                        {
                            E.CastOnUnit(ally);
                        }
                        else if (ally.HasBuffOfType(BuffType.Poison))
                        {
                            E.CastOnUnit(ally);
                        }
                    }
                    if (W.IsReady() && Player.Mana > RMANA + WMANA && BallPos.Distance(ally.ServerPosition) < 240 && ally.Health < ally.CountEnemiesInRange(600) * ally.Level * 20)
                    {
                        W.Cast();
                    }

                    if ((ally.Health < best.Health || ally.CountEnemiesInRange(300) > 0) && ally.Distance(Player.Position) < E.Range && ally.CountEnemiesInRange(700) > 0)
                    {
                        best = ally;
                    }
                }
                if (Program.LagFree(1) && E.IsReady() && Player.Mana > RMANA + EMANA && ally.Distance(Player.Position) < E.Range && ally.CountEnemiesInRange(R.Width) >= Config.Item("rCount", true).GetValue <Slider>().Value&& 0 != Config.Item("rCount", true).GetValue <Slider>().Value)
                {
                    E.CastOnUnit(ally);
                }
            }

            /*
             * foreach (var ally in HeroManager.Allies.Where(ally => ally.IsValid && ally.Distance(Player.Position) < 1000))
             * {
             *  foreach (var buff in ally.Buffs)
             *  {
             *          Program.debug(buff.Name);
             *  }
             *
             * }
             */
            if ((Config.Item("smartR", true).GetValue <KeyBind>().Active || Rsmart) && R.IsReady())
            {
                Rsmart = true;
                var target = TargetSelector.GetTarget(Q.Range + 100, TargetSelector.DamageType.Magical);
                if (target.IsValidTarget())
                {
                    if (CountEnemiesInRangeDeley(BallPos, R.Width, R.Delay) > 1)
                    {
                        R.Cast();
                    }
                    else if (Q.IsReady())
                    {
                        QR.Cast(target, true, true);
                    }
                    else if (CountEnemiesInRangeDeley(BallPos, R.Width, R.Delay) > 0)
                    {
                        R.Cast();
                    }
                }
                else
                {
                    Rsmart = false;
                }
            }
            else
            {
                Rsmart = false;
            }

            if (Program.LagFree(1))
            {
                LogicQ();
                LogicFarm();
            }

            if (Program.LagFree(2) && W.IsReady())
            {
                LogicW();
            }

            if (Program.LagFree(4) && E.IsReady())
            {
                LogicE(best);
            }
        }
Ejemplo n.º 2
0
 private static void Combo()
 {
     if (IgniteSlot != SpellSlot.Unknown && IgniteSlot.IsReady() && Menu.Item("UseIgniteC").GetValue <bool>())
     {
         var t = TargetSelector.GetTarget(600, TargetSelector.DamageType.True);
         if (t != null)
         {
             if (t.Health < ComboDmg(t))
             {
                 Player.Spellbook.CastSpell(IgniteSlot, t);
             }
         }
     }
     if (Q.IsReady() && Menu.Item("UseQC").GetValue <bool>())
     {
         var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
         if (t != null)
         {
             if (EloBuddy.Player.Instance.IsInAutoAttackRange(t))
             {
                 Q.Cast(t);
             }
             else if (!Menu.Item("UseQinAA").GetValue <bool>())
             {
                 Q.Cast(t);
             }
         }
     }
     if (W.IsReady() && Menu.Item("UseWC").GetValue <bool>())
     {
         var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);
         if (t != null)
         {
             if (t.Path.Count() < 2)
             {
                 if (t.HasBuffOfType(BuffType.Slow))
                 {
                     if (W.GetPrediction(t).Hitchance >= HitChance.VeryHigh)
                     {
                         if (W.Cast(t) == Spell.CastStates.SuccessfullyCasted)
                         {
                             return;
                         }
                     }
                 }
                 if (t.CountEnemiesInRange(250) > 2)
                 {
                     if (W.GetPrediction(t).Hitchance >= HitChance.VeryHigh)
                     {
                         if (W.Cast(t) == Spell.CastStates.SuccessfullyCasted)
                         {
                             return;
                         }
                     }
                 }
                 if (Player.Position.Distance(t.ServerPosition) < Player.Position.Distance(t.Position))
                 {
                     if (W.Cast(t) == Spell.CastStates.SuccessfullyCasted)
                     {
                         return;
                     }
                 }
                 else
                 {
                     if (W.Cast(t) == Spell.CastStates.SuccessfullyCasted)
                     {
                         return;
                     }
                 }
             }
         }
     }
     if (E.IsReady() && Menu.Item("UseEC").GetValue <bool>())
     {
         var hitchance = (HitChance)(Menu.Item("PredEC").GetValue <StringList>().SelectedIndex + 3);
         var t         = TargetSelector.GetTarget(ECastRange + E.Range, TargetSelector.DamageType.Magical);
         if (t != null)
         {
             CastE(t, hitchance);
         }
     }
     if (R.IsReady() && Menu.Item("UseRC").GetValue <bool>() && R.Instance.Name == "ViktorChaosStorm")
     {
         var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);
         if (t != null)
         {
             if (t.Health < ComboDmg(t) && t.HealthPercent > 5)
             {
                 LeagueSharp.Common.Utility.DelayAction.Add(100, () => R.Cast(t, false, true));
             }
         }
         foreach (var unit in HeroManager.Enemies.Where(h => h.IsValidTargetLS(R.Range)))
         {
             R.CastIfWillHit(unit, Menu.Item("HitRC").GetValue <Slider>().Value);
         }
     }
 }
Ejemplo n.º 3
0
        private void LogicE()
        {
            if (Config.Item("autoE", true).GetValue <bool>())
            {
                var trapPos = OktwCommon.GetTrapPos(E.Range);
                if (!trapPos.IsZero)
                {
                    E.Cast(trapPos);
                }

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

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

            if (t.IsValidTarget() && Config.Item("EmodeCombo", true).GetValue <StringList>().SelectedIndex != 2)
            {
                if (Program.Combo && !Player.Spellbook.IsAutoAttacking)
                {
                    if (Config.Item("EmodeCombo", true).GetValue <StringList>().SelectedIndex == 1)
                    {
                        if (E.GetPrediction(t).CastPosition.Distance(t.Position) > 100)
                        {
                            if (Player.Position.Distance(t.ServerPosition) > Player.Position.Distance(t.Position))
                            {
                                if (t.Position.Distance(Player.ServerPosition) < t.Position.Distance(Player.Position))
                                {
                                    Program.CastSpell(E, t);
                                }
                            }
                            else
                            {
                                if (t.Position.Distance(Player.ServerPosition) > t.Position.Distance(Player.Position))
                                {
                                    Program.CastSpell(E, t);
                                }
                            }
                        }
                    }
                    else
                    {
                        Program.CastSpell(E, t);
                    }
                }

                E.CastIfWillHit(t, Config.Item("Eaoe", true).GetValue <Slider>().Value);
            }
            else if (Program.LaneClear && Player.ManaPercent > Config.Item("Mana", true).GetValue <Slider>().Value&& Config.Item("farmE", true).GetValue <bool>())
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, E.Range);
                var farmPosition = E.GetCircularFarmLocation(minionList, E.Width);

                if (farmPosition.MinionsHit >= Config.Item("LCminions", true).GetValue <Slider>().Value)
                {
                    E.Cast(farmPosition.Position);
                }
            }
        }
Ejemplo n.º 4
0
        private void LogicQ()
        {
            var t  = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
            var t1 = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTargetLS())
            {
                missileManager.Target = t;
                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && Config.Item("haras" + 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.IsValidTargetLS(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true, true);
                    }
                }
            }
            else if (t1.IsValidTargetLS())
            {
                missileManager.Target = t1;
                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q1, t1);
                }
                else if (Program.Farm && Config.Item("haras" + 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.IsValidTargetLS(Q1.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q1.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 + WMANA)
            {
                var allMinionsQ = Cache.GetMinions(Player.ServerPosition, Q1.Range);
                var Qfarm       = Q.GetLineFarmLocation(allMinionsQ, 100);
                if (Qfarm.MinionsHit >= Config.Item("LCminions", true).GetValue <Slider>().Value)
                {
                    Q.Cast(Qfarm.Position);
                }
            }
        }
Ejemplo n.º 5
0
        private static void OnUpdate(EventArgs args)
        {
            if (Program.E.IsReady())
            {
                //KS
                if (
                    HeroManager.Enemies.Any(
                        en => Program.E.IsInRange(en) && en.IsRendKillable() && en.Health > 0))
                {
                    Program.E.Cast();
                }
                //worm/drake stealer
                if (
                    ObjectManager.Get <Obj_AI_Minion>()
                    .Any(
                        m =>
                        m.Distance(ObjectManager.Player) < 1000 && m.IsRendKillable() &&
                        (m.Name == "SRU_Dragon6.1.1" || m.Name == "SRU_Baron12.1.1" || m.Name == "SRU_Red10.1.1" ||
                         m.Name == "SRU_Red10.1.1" || m.Name == "SRU_Red4.1.1")))
                {
                    Program.E.Cast();
                }
            }

            switch (Program.Orbwalker.ActiveMode)
            {
            case MyOrbwalker.OrbwalkingMode.Combo:
            {
                if (Program.E.IsReady())
                {
                    //Minion Resets
                    if (Program.ComboMenu.Item("EComboMinionReset").GetValue <bool>() &&
                        MinionManager.GetMinions(Program.E.Range).Any(m => m.IsRendKillable()))
                    {
                        if (
                            HeroManager.Enemies.Where(e => !e.HasUndyingBuff() && !e.HasSpellShield())
                            .Select(en => en.GetRendBuff())
                            .Any(buf => buf != null &&
                                 buf.Count >=
                                 Program.ComboMenu.Item("EComboMinionResetStacks")
                                 .GetValue <Slider>()
                                 .Value))
                        {
                            Program.E.Cast();
                            return;
                        }
                    }
                }
                if (Program.ComboMenu.Item("QCombo").GetValue <bool>() && ObjectManager.Player.ManaPercent > Program.ComboMenu.Item("QMinMana").GetValue <Slider>().Value&& Program.Q.IsReady())
                {
                    var target = TargetSelector.GetTarget(Program.Q.Range, TargetSelector.DamageType.Physical);
                    if (target.IsValidTarget())
                    {
                        Program.Q.Cast(target);
                        return;
                    }
                }
            }
            break;

            case MyOrbwalker.OrbwalkingMode.LaneClear:
                //E Laneclear
                if (Program.LaneClearMenu.Item("LaneclearE").GetValue <bool>() &&
                    (ObjectManager.Player.ManaPercent <
                     Program.LaneClearMenu.Item("LaneclearEMinMana").GetValue <Slider>().Value&&
                     MinionManager.GetMinions(1000f).Count(m => m.IsRendKillable()) >
                     Program.LaneClearMenu.Item("LaneclearEMinions").GetValue <Slider>().Value) ||
                    MinionManager.GetMinions(1000f, MinionTypes.All, MinionTeam.Neutral)
                    .Any(m => m.IsRendKillable()))
                {
                    Program.E.Cast();
                }
                //E poke, slow
                if ((from enemy in HeroManager.Enemies.Where(e => Program.E.IsInRange(e))
                     let buff = enemy.GetRendBuff()
                                where Program.E.IsReady() && buff != null && Program.E.IsInRange(enemy)
                                where buff.Count >= Program.ComboMenu.Item("EComboMinStacks").GetValue <Slider>().Value
                                where (enemy.Distance(ObjectManager.Player, true) > Math.Pow(Program.E.Range * 0.80, 2) ||
                                       buff.EndTime - Game.Time < 0.3)
                                select enemy).Any())
                {
                    Program.E.Cast();
                }
                break;

            default:

                //E poke, slow
                if ((from enemy in HeroManager.Enemies.Where(e => Program.E.IsInRange(e))
                     let buff = enemy.GetRendBuff()
                                where Program.E.IsReady() && buff != null && Program.E.IsInRange(enemy)
                                where buff.Count >= Program.ComboMenu.Item("EComboMinStacks").GetValue <Slider>().Value
                                where (enemy.Distance(ObjectManager.Player, true) > Math.Pow(Program.E.Range * 0.80, 2) ||
                                       buff.EndTime - Game.Time < 0.3)
                                select enemy).Any())
                {
                    Program.E.Cast();
                }
                break;
            }
        }
Ejemplo n.º 6
0
        private void Drawing_OnDraw(EventArgs args)
        {
            if (Config.Item("qRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (Q.IsReady())
                    {
                        LeagueSharp.Common.Utility.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Cyan, 1, 1);
                    }
                }
                else
                {
                    LeagueSharp.Common.Utility.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Cyan, 1, 1);
                }
            }

            if (Config.Item("wRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (W.IsReady())
                    {
                        LeagueSharp.Common.Utility.DrawCircle(Player.Position, W.Range, System.Drawing.Color.Orange, 1, 1);
                    }
                }
                else
                {
                    LeagueSharp.Common.Utility.DrawCircle(Player.Position, W.Range, System.Drawing.Color.Orange, 1, 1);
                }
            }

            if (Config.Item("eRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (E.IsReady())
                    {
                        LeagueSharp.Common.Utility.DrawCircle(Player.Position, E.Range, System.Drawing.Color.Yellow, 1, 1);
                    }
                }
                else
                {
                    LeagueSharp.Common.Utility.DrawCircle(Player.Position, E.Range, System.Drawing.Color.Yellow, 1, 1);
                }
            }

            if (Config.Item("noti", true).GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(1500, TargetSelector.DamageType.Physical);

                if (t.IsValidTarget())
                {
                    var comboDmg = 0f;
                    if (R.IsReady())
                    {
                        comboDmg += R.GetDamage(t) * 3;
                    }
                    if (Q.IsReady())
                    {
                        comboDmg += Q.GetDamage(t) * 2;
                    }
                    if (W.IsReady())
                    {
                        comboDmg += W.GetDamage(t) + W.GetDamage(t, 1);
                    }
                    if (comboDmg > t.Health)
                    {
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.5f, System.Drawing.Color.Red, "COMBO KILL " + t.ChampionName + " have: " + t.Health + "hp");
                        drawLine(t.Position, Player.Position, 10, System.Drawing.Color.Yellow);
                    }
                }
            }
        }
Ejemplo n.º 7
0
        private void LogicQ()
        {
            var t = TargetSelector.GetTarget(Q.Range - 50, TargetSelector.DamageType.Physical);

            if (t.IsValidTargetLS())
            {
                var step = t.Distance(Player) / 20;
                for (var i = 0; i < 20; i++)
                {
                    var p = Player.Position.Extend(t.Position, step * i);
                    if (p.IsWall())
                    {
                        return;
                    }
                }

                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && Config.Item("haras" + t.ChampionName).GetValue <bool>() && Player.Mana > RMANA + EMANA + WMANA + QMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else
                {
                    var qDmg = OktwCommon.GetKsDamage(t, Q);
                    var rDmg = R.GetDamage(t);
                    if (qDmg > t.Health)
                    {
                        Q.Cast(t, true);
                        OverKill = Game.Time;
                        Program.debug("Q ks");
                    }
                    else if (qDmg + rDmg > t.Health && R.IsReady() && Player.Mana > RMANA + QMANA)
                    {
                        Program.CastSpell(Q, t);
                        if (Config.Item("fastR", true).GetValue <bool>() && rDmg < t.Health)
                        {
                            Program.CastSpell(R, t);
                        }
                        Program.debug("Q + R ks");
                    }
                }

                if (!Program.None && Player.Mana > RMANA + QMANA + EMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTargetLS(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>() && Player.Mana > RMANA + QMANA)
            {
                var allMinionsQ = Cache.GetMinions(Player.ServerPosition, Q.Range);
                var Qfarm       = Q.GetLineFarmLocation(allMinionsQ, Q.Width);
                if (Qfarm.MinionsHit > 2)
                {
                    Q.Cast(Qfarm.Position);
                }
            }
        }
Ejemplo n.º 8
0
        private static void UseSpells(bool useQ, bool useW, bool useE, bool useR, bool useQe,
                                      bool useIgnite, bool isHarass)
        {
            var qTarget     = TargetSelector.GetTarget(Q.Range + (isHarass ? Q.Width / 3 : Q.Width), TargetSelector.DamageType.Magical);
            var wTarget     = TargetSelector.GetTarget(W.Range + W.Width, TargetSelector.DamageType.Magical);
            var rTarget     = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);
            var qeTarget    = TargetSelector.GetTarget(Eq.Range, TargetSelector.DamageType.Magical);
            var comboDamage = rTarget != null?GetComboDamage(rTarget) : 0;

            //Q
            if (qTarget != null && useQ)
            {
                Q.Cast(qTarget, false, true);
            }

            //E
            if (Utils.TickCount - W.LastCastAttemptT > Game.Ping + 150 && E.IsReady() && useE)
            {
                foreach (var enemy in HeroManager.Enemies)
                {
                    if (enemy.IsValidTargetLS(Eq.Range))
                    {
                        UseE(enemy);
                    }
                }
            }


            //W
            if (useW)
            {
                if (Player.Spellbook.GetSpell(SpellSlot.W).ToggleState == 1 && W.IsReady() && qeTarget != null)
                {
                    var gObjectPos = GetGrabableObjectPos(wTarget == null);

                    if (gObjectPos.To2D().IsValid() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 300 &&
                        Utils.TickCount - E.LastCastAttemptT > Game.Ping + 600)
                    {
                        W.Cast(gObjectPos);
                        W.LastCastAttemptT = Utils.TickCount;
                    }
                }
                else if (wTarget != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() &&
                         Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100)
                {
                    if (OrbManager.WObject(false) != null)
                    {
                        W.From = OrbManager.WObject(false).ServerPosition;
                        W.Cast(wTarget, false, true);
                    }
                }
            }


            if (rTarget != null && useR)
            {
                useR = (Config.Item("DontUlt" + rTarget.CharData.BaseSkinName) != null &&
                        Config.Item("DontUlt" + rTarget.CharData.BaseSkinName).GetValue <bool>() == false);
            }


            if (rTarget != null && useR && R.IsReady() && comboDamage > rTarget.Health && !rTarget.IsZombie && !Q.IsReady())
            {
                R.Cast(rTarget);
            }

            //Ignite
            if (rTarget != null && useIgnite && IgniteSlot != SpellSlot.Unknown &&
                Player.Spellbook.CanUseSpell(IgniteSlot) == SpellState.Ready)
            {
                if (comboDamage > rTarget.Health)
                {
                    Player.Spellbook.CastSpell(IgniteSlot, rTarget);
                }
            }

            //QE
            if (wTarget == null && qeTarget != null && Q.IsReady() && E.IsReady() && useQe)
            {
                UseQe(qeTarget);
            }

            //WE
            if (wTarget == null && qeTarget != null && E.IsReady() && useE && OrbManager.WObject(true) != null)
            {
                Eq.Delay = E.Delay + Q.Range / W.Speed;
                Eq.From  = Player.ServerPosition.To2D().Extend(qeTarget.ServerPosition.To2D(), Q.Range).To3D();
                var prediction = Eq.GetPrediction(qeTarget);
                if (prediction.Hitchance >= HitChance.High)
                {
                    W.Cast(Player.ServerPosition.To2D().Extend(prediction.CastPosition.To2D(), Q.Range - 100));
                    weComboT = Utils.TickCount;
                }
            }
        }
Ejemplo n.º 9
0
        private void Drawing_OnDraw(EventArgs args)
        {
            if (Config.Item("qRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (Q.IsReady())
                    {
                        Render.Circle.DrawCircle(ObjectManager.Player.Position, Q.Range, System.Drawing.Color.Cyan, 1);
                    }
                }
                else
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, Q.Range, System.Drawing.Color.Cyan, 1);
                }
            }
            if (Config.Item("wRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (W.IsReady())
                    {
                        Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, System.Drawing.Color.Orange, 1);
                    }
                }
                else
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, System.Drawing.Color.Orange, 1);
                }
            }
            if (Config.Item("eRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (E.IsReady())
                    {
                        Render.Circle.DrawCircle(ObjectManager.Player.Position, E.Range, System.Drawing.Color.Yellow, 1);
                    }
                }
                else
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, E.Range, System.Drawing.Color.Yellow, 1);
                }
            }
            if (Config.Item("rRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (R.IsReady())
                    {
                        Render.Circle.DrawCircle(ObjectManager.Player.Position, R.Range, System.Drawing.Color.Gray, 1);
                    }
                }
                else
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, R.Range, System.Drawing.Color.Gray, 1);
                }
            }
            if (Config.Item("noti", true).GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical);

                if (t.IsValidTargetLS() && R.IsReady())
                {
                    var rDamage = R.GetDamage(t);
                    if (rDamage > t.Health)
                    {
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.5f, System.Drawing.Color.Red, "Ult can kill: " + t.ChampionName + " have: " + t.Health + "hp");
                        drawLine(t.Position, Player.Position, 10, System.Drawing.Color.Yellow);
                    }
                }

                var tw = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                if (tw.IsValidTargetLS())
                {
                    if (Q.GetDamage(tw) > tw.Health)
                    {
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.4f, System.Drawing.Color.Red, "Q can kill: " + t.ChampionName + " have: " + t.Health + "hp");
                    }
                }
            }
        }
Ejemplo n.º 10
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(1100, TargetSelector.DamageType.Magical);

            if (!Player.HasBuff("pickacard_tracker"))
            {
                if (Utils.TickCount - W.LastCastAttemptT > 150)
                {
                    if (R.IsReady() && (Player.HasBuff("destiny_marker") || Player.HasBuff("gate")))
                    {
                        W.Cast();
                    }
                    else if (t.IsValidTarget() && Program.Combo)
                    {
                        W.Cast();
                    }
                    else if (Orbwalker.GetTarget() != null)
                    {
                        if (Program.Farm && Orbwalker.GetTarget().Type == GameObjectType.AIHeroClient && Config.Item("harasW", true).GetValue <bool>())
                        {
                            W.Cast();
                        }
                        else if (Program.LaneClear && (Orbwalker.GetTarget().Type == GameObjectType.obj_AI_Minion || Orbwalker.GetTarget().Type == GameObjectType.obj_AI_Turret) && Config.Item("farmW", true).GetValue <bool>())
                        {
                            W.Cast();
                        }
                    }
                }
            }
            else
            {
                if (temp == null)
                {
                    temp = wName;
                }
                else if (temp != wName)
                {
                    cardok = true;
                }

                if (cardok)
                {
                    AIHeroClient orbTarget = null;

                    var getTarget = Orbwalker.GetTarget();
                    if (getTarget != null && getTarget.Type == GameObjectType.AIHeroClient)
                    {
                        orbTarget = (AIHeroClient)getTarget;
                    }

                    if (R.IsReady() && (Player.HasBuff("destiny_marker") || Player.HasBuff("gate")))
                    {
                        FindCard = 1;
                        if (wName == "TwistedFate_Base_W_GoldCard.troy")
                        {
                            W.Cast();
                        }
                    }
                    else if (Program.Combo && orbTarget.IsValidTarget() && W.GetDamage(orbTarget) + Player.GetAutoAttackDamage(orbTarget) > orbTarget.Health)
                    {
                        W.Cast();
                        Program.debug("1" + wName);
                    }
                    else if (Player.Mana < RMANA + QMANA + WMANA)
                    {
                        FindCard = 2;
                        if (wName == "TwistedFate_Base_W_BlueCard.troy")
                        {
                            W.Cast();
                        }
                    }
                    else if (Program.Farm && orbTarget.IsValidTarget())
                    {
                        FindCard = 1;
                        if (wName == "TwistedFate_Base_W_BlueCard.troy")
                        {
                            W.Cast();
                        }
                    }
                    else if (Player.ManaPercent > Config.Item("WredFarm", true).GetValue <Slider>().Value&& Program.LaneClear && Config.Item("farmW", true).GetValue <bool>())
                    {
                        FindCard = 3;
                        if (wName == "TwistedFate_Base_W_RedCard.troy")
                        {
                            W.Cast();
                        }
                    }
                    else if ((Program.LaneClear || Player.Mana < RMANA + QMANA) && Config.Item("farmW", true).GetValue <bool>())
                    {
                        FindCard = 2;
                        if (wName == "TwistedFate_Base_W_BlueCard.troy")
                        {
                            W.Cast();
                        }
                    }
                    else if (Program.Combo)
                    {
                        FindCard = 1;
                        if (wName == "TwistedFate_Base_W_GoldCard.troy")
                        {
                            W.Cast();
                        }
                    }
                }
            }
        }
Ejemplo n.º 11
0
        private void LogicE()
        {
            if (Player.HasBuff("LuxLightStrikeKugel") && !Program.None)
            {
                int eBig = Epos.CountEnemiesInRange(350);
                if (Config.Item("autoEslow", true).GetValue <bool>())
                {
                    int detonate = eBig - Epos.CountEnemiesInRange(160);

                    if (detonate > 0 || eBig > 1)
                    {
                        E.Cast();
                    }
                }
                else if (Config.Item("autoEdet", true).GetValue <bool>())
                {
                    if (eBig > 0)
                    {
                        E.Cast();
                    }
                }
                else
                {
                    E.Cast();
                }
            }
            else
            {
                var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (!Config.Item("autoEcc", true).GetValue <bool>())
                    {
                        if (Program.Combo && Player.Mana > RMANA + EMANA)
                        {
                            Program.CastSpell(E, t);
                        }
                        else if (Program.Farm && OktwCommon.CanHarras() && Config.Item("harrasE", true).GetValue <bool>() && Player.Mana > RMANA + EMANA + EMANA + RMANA)
                        {
                            Program.CastSpell(E, t);
                        }
                        else if (OktwCommon.GetKsDamage(t, E) > t.Health)
                        {
                            Program.CastSpell(E, t);
                        }
                    }

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

                    if (farmPosition.MinionsHit > Config.Item("LCminions", true).GetValue <Slider>().Value)
                    {
                        E.Cast(farmPosition.Position);
                    }
                }
            }
        }
Ejemplo n.º 12
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            foreach (var buf in Player.Buffs.Where(x => x.Name != "secondsight"))
            {
            }
            if (!Config.Item("ignoreW", true).GetValue <bool>())
            {
                cardok = true;
            }

            if (W.IsReady())
            {
                if (Config.Item("Wmode", true).GetValue <StringList>().SelectedIndex == 0)
                {
                    LogicW();
                }
                else
                {
                    LogicWmaunal();
                }
            }
            else if (W.Instance.Name == "PickACard")
            {
                temp   = null;
                cardok = false;
            }

            if (Program.LagFree(2) && Q.IsReady() && Config.Item("autoQ", true).GetValue <bool>())
            {
                LogicQ();
            }

            if (Program.LagFree(4) && Q.IsReady())
            {
                Jungle();
            }

            if (R.IsReady())
            {
                if (Program.LagFree(3) && W.IsReady() && Config.Item("autoR", true).GetValue <bool>())
                {
                    LogicR();
                }

                if (Config.Item("useR", true).GetValue <KeyBind>().Active)
                {
                    if (Player.HasBuff("destiny_marker"))
                    {
                        var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);
                        if (t.IsValidTarget())
                        {
                            R.Cast(t);
                        }
                    }
                    else
                    {
                        R.Cast();
                    }
                }
            }
            //Program.debug("" + (W.Instance.CooldownExpires - Game.Time));
        }
            public virtual AttackableUnit GetTarget()
            {
                AttackableUnit result = null;

                if ((ActiveMode == OrbwalkingMode.Mixed || ActiveMode == OrbwalkingMode.LaneClear) &&
                    !_config.Item("PriorizeFarm").GetValue <bool>())
                {
                    var target = TargetSelector.GetTarget(-1, TargetSelector.DamageType.Physical);
                    if (target != null)
                    {
                        return(target);
                    }
                }

                /*Killable Minion*/
                if (ActiveMode == OrbwalkingMode.LaneClear || ActiveMode == OrbwalkingMode.Mixed ||
                    ActiveMode == OrbwalkingMode.LastHit)
                {
                    foreach (var minion in
                             ObjectManager.Get <Obj_AI_Minion>()
                             .Where(
                                 minion =>
                                 minion.IsValidTarget() && InAutoAttackRange(minion) &&
                                 minion.Health <
                                 2 *
                                 (ObjectManager.Player.BaseAttackDamage + ObjectManager.Player.FlatPhysicalDamageMod))
                             )
                    {
                        var t = (int)(Player.AttackCastDelay * 1000) - 100 + Game.Ping / 2 +
                                1000 * (int)Player.Distance(minion) / (int)GetMyProjectileSpeed();
                        var predHealth = HealthPrediction.GetHealthPrediction(minion, t, FarmDelay);

                        if (minion.Team != GameObjectTeam.Neutral && MinionManager.IsMinion(minion, true))
                        {
                            if (predHealth <= 0)
                            {
                                FireOnNonKillableMinion(minion);
                            }

                            if (predHealth > 0 && predHealth <= Player.GetAutoAttackDamage(minion, true))
                            {
                                return(minion);
                            }
                        }
                    }
                }

                //Forced target
                if (_forcedTarget.IsValidTarget() && InAutoAttackRange(_forcedTarget))
                {
                    return(_forcedTarget);
                }

                /* turrets / inhibitors / nexus */
                if (ActiveMode == OrbwalkingMode.LaneClear)
                {
                    /* turrets */
                    foreach (var turret in
                             ObjectManager.Get <Obj_AI_Turret>().Where(t => t.IsValidTarget() && InAutoAttackRange(t)))
                    {
                        return(turret);
                    }

                    /* inhibitor */
                    foreach (var turret in
                             ObjectManager.Get <Obj_BarracksDampener>().Where(t => t.IsValidTarget() && InAutoAttackRange(t)))
                    {
                        return(turret);
                    }

                    /* nexus */
                    foreach (var nexus in
                             ObjectManager.Get <Obj_HQ>().Where(t => t.IsValidTarget() && InAutoAttackRange(t)))
                    {
                        return(nexus);
                    }
                }

                /*Champions*/
                if (ActiveMode != OrbwalkingMode.LastHit)
                {
                    var target = TargetSelector.GetTarget(-1, TargetSelector.DamageType.Physical);
                    if (target.IsValidTarget())
                    {
                        return(target);
                    }
                }

                /*Jungle minions*/
                if (ActiveMode == OrbwalkingMode.LaneClear || ActiveMode == OrbwalkingMode.Mixed)
                {
                    result =
                        ObjectManager.Get <Obj_AI_Minion>()
                        .Where(
                            mob =>
                            mob.IsValidTarget() && InAutoAttackRange(mob) && mob.Team == GameObjectTeam.Neutral)
                        .MaxOrDefault(mob => mob.MaxHealth);
                    if (result != null)
                    {
                        return(result);
                    }
                }

                /*Lane Clear minions*/
                if (ActiveMode == OrbwalkingMode.LaneClear)
                {
                    if (!ShouldWait())
                    {
                        if (_prevMinion.IsValidTarget() && InAutoAttackRange(_prevMinion))
                        {
                            var predHealth = HealthPrediction.LaneClearHealthPrediction(
                                _prevMinion, (int)((Player.AttackDelay * 1000) * LaneClearWaitTimeMod), FarmDelay);
                            if (predHealth >= 2 * Player.GetAutoAttackDamage(_prevMinion) ||
                                Math.Abs(predHealth - _prevMinion.Health) < float.Epsilon)
                            {
                                return(_prevMinion);
                            }
                        }

                        result = (from minion in
                                  ObjectManager.Get <Obj_AI_Minion>()
                                  .Where(minion => minion.IsValidTarget() && InAutoAttackRange(minion))
                                  let predHealth =
                                      HealthPrediction.LaneClearHealthPrediction(
                                          minion, (int)((Player.AttackDelay * 1000) * LaneClearWaitTimeMod), FarmDelay)
                                      where
                                      predHealth >= 2 * Player.GetAutoAttackDamage(minion) ||
                                      Math.Abs(predHealth - minion.Health) < float.Epsilon
                                      select minion).MaxOrDefault(m => m.Health);

                        if (result != null)
                        {
                            _prevMinion = (Obj_AI_Minion)result;
                        }
                    }
                }

                return(result);
            }
Ejemplo n.º 14
0
 /// <summary>
 ///     Returns the best target found using the current TargetSelector mode.
 ///     Please make sure to set the Spell.DamageType Property to the type of damage this spell does (if not done on
 ///     initialization).
 /// </summary>
 public Obj_AI_Hero GetTarget(float extraRange = 0, IEnumerable <Obj_AI_Hero> champsToIgnore = null)
 {
     return(TargetSelector.GetTarget(Range + extraRange, DamageType, true, champsToIgnore, From));
 }
Ejemplo n.º 15
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTargetLS())
            {
                if (Config.Item("ignoreCol", true).GetValue <bool>() && EloBuddy.Player.Instance.IsInAutoAttackRange(t))
                {
                    W.Collision = false;
                }
                else
                {
                    W.Collision = true;
                }

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

                if (EloBuddy.Player.Instance.IsInAutoAttackRange(t))
                {
                    qDmg += (float)AaDamage(t);
                    wDmg += (float)AaDamage(t);
                }

                if (wDmg > t.Health)
                {
                    Program.CastSpell(W, t);
                }
                else if (wDmg + qDmg > t.Health && Q.IsReady() && Player.Mana > RMANA + WMANA + QMANA)
                {
                    Program.CastSpell(W, t);
                }

                var orbT = Orbwalker.GetTarget() as AIHeroClient;
                if (orbT == null)
                {
                    if (Config.Item("wInAaRange", true).GetValue <bool>())
                    {
                        return;
                    }
                }
                else if (orbT.IsValidTargetLS())
                {
                    t = orbT;
                }


                if (Orbwalker.ActiveMode == LeagueSharp.Common.Orbwalking.OrbwalkingMode.Combo && Player.Mana > RMANA + WMANA + EMANA + QMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if (Program.Farm && Config.Item("harras" + t.ChampionName).GetValue <bool>() && !Player.UnderTurret(true) && Player.Mana > Player.MaxMana * 0.8 && Player.Mana > RMANA + WMANA + EMANA + QMANA + WMANA)
                {
                    Program.CastSpell(W, t);
                }
                else if ((Program.Combo || Program.Farm) && Player.Mana > RMANA + WMANA + EMANA)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTargetLS(W.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        W.Cast(enemy, true);
                    }
                }
            }
        }
Ejemplo n.º 16
0
        private void Drawing_OnDraw(EventArgs args)
        {
            if (Config.Item("qRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (Q.IsReady())
                    {
                        LeagueSharp.Common.Utility.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Cyan, 1, 1);
                    }
                }
                else
                {
                    LeagueSharp.Common.Utility.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Cyan, 1, 1);
                }
            }

            if (Config.Item("wRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (W.IsReady())
                    {
                        LeagueSharp.Common.Utility.DrawCircle(Player.Position, W.Range, System.Drawing.Color.Orange, 1, 1);
                    }
                }
                else
                {
                    LeagueSharp.Common.Utility.DrawCircle(Player.Position, W.Range, System.Drawing.Color.Orange, 1, 1);
                }
            }

            if (Config.Item("eRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (E.IsReady())
                    {
                        LeagueSharp.Common.Utility.DrawCircle(Player.Position, E.Range, System.Drawing.Color.Yellow, 1, 1);
                    }
                }
                else
                {
                    LeagueSharp.Common.Utility.DrawCircle(Player.Position, E.Range, System.Drawing.Color.Yellow, 1, 1);
                }
            }

            if (Config.Item("rRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (R.IsReady())
                    {
                        LeagueSharp.Common.Utility.DrawCircle(Player.Position, R.Range, System.Drawing.Color.Gray, 1, 1);
                    }
                }
                else
                {
                    LeagueSharp.Common.Utility.DrawCircle(Player.Position, R.Range, System.Drawing.Color.Gray, 1, 1);
                }
            }

            if (Config.Item("noti", true).GetValue <bool>() && R.IsReady())
            {
                var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical);

                if (t.IsValidTarget())
                {
                    var rDamage = R.GetDamage(t);
                    if (rDamage * 3 > t.Health)
                    {
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.5f, System.Drawing.Color.Red, "3 x Ult can kill: " + t.ChampionName + " have: " + t.Health + "hp");
                        drawLine(t.Position, Player.Position, 10, System.Drawing.Color.Yellow);
                    }
                    else if (rDamage * 2 > t.Health)
                    {
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.5f, System.Drawing.Color.Red, "2 x Ult can kill: " + t.ChampionName + " have: " + t.Health + "hp");
                        drawLine(t.Position, Player.Position, 10, System.Drawing.Color.Yellow);
                    }
                    else if (rDamage > t.Health)
                    {
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.5f, System.Drawing.Color.Red, "1 x Ult can kill: " + t.ChampionName + " have: " + t.Health + "hp");
                        drawLine(t.Position, Player.Position, 10, System.Drawing.Color.Yellow);
                    }
                }
            }
        }
Ejemplo n.º 17
0
        private void LogicR()
        {
            var dashPosition = Player.Position.Extend(Game.CursorPos, 450);

            if (Player.Distance(Game.CursorPos) < 450)
            {
                dashPosition = Game.CursorPos;
            }

            if (dashPosition.CountEnemiesInRange(800) > 2)
            {
                return;
            }

            if (Config.Item("autoR2", true).GetValue <bool>())
            {
                if (Player.HasBuff("AhriTumble"))
                {
                    var BuffTime = OktwCommon.GetPassiveTime(Player, "AhriTumble");
                    if (BuffTime < 3)
                    {
                        R.Cast(dashPosition);
                    }

                    var posPred = missileManager.CalculateReturnPos();
                    if (posPred != Vector3.Zero)
                    {
                        if (missileManager.Missile.SData.Name == "AhriOrbReturn" && Player.Distance(posPred) > 200)
                        {
                            R.Cast(posPred);
                            Program.debug("AIMMMM");
                        }
                    }
                }
            }

            if (Config.Item("autoR", true).GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(450 + R.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    var comboDmg = R.GetDamage(t) * 3;
                    if (Q.IsReady())
                    {
                        comboDmg += Q.GetDamage(t) * 2;
                    }
                    if (W.IsReady())
                    {
                        comboDmg += W.GetDamage(t) + W.GetDamage(t, 1);
                    }
                    if (t.CountAlliesInRange(600) < 2 && comboDmg > t.Health && t.Position.Distance(Game.CursorPos) < t.Position.Distance(Player.Position) && dashPosition.Distance(t.ServerPosition) < 500)
                    {
                        R.Cast(dashPosition);
                    }

                    foreach (var target in HeroManager.Enemies.Where(target => target.IsMelee && target.IsValidTarget(300)))
                    {
                        R.Cast(dashPosition);
                    }
                }
            }
        }
Ejemplo n.º 18
0
        private void LogicQ()
        {
            foreach (var enemy in HeroManager.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 AIHeroClient;

            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 HeroManager.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 = Cache.GetMinions(Player.ServerPosition, Q.Range);
                var Qfarm       = Q.GetLineFarmLocation(allMinionsQ, Q.Width);
                if (Qfarm.MinionsHit > 3 || (Q.IsCharging && Qfarm.MinionsHit > 0))
                {
                    Q.Cast(Qfarm.Position);
                }
            }
        }
Ejemplo n.º 19
0
        private void Drawing_OnDraw(EventArgs args)
        {
            if (Config.Item("showcd", true).GetValue <bool>())
            {
                string msg = " ";

                if (Range)
                {
                    msg = "Q " + (int)Q2cd + "   W " + (int)W2cd + "   E " + (int)E2cd;
                    Drawing.DrawText(Drawing.Width * 0.5f - 50, Drawing.Height * 0.3f, System.Drawing.Color.Orange, msg);
                }
                else
                {
                    msg = "Q " + (int)Qcd + "   W " + (int)Wcd + "   E " + (int)Ecd;
                    Drawing.DrawText(Drawing.Width * 0.5f - 50, Drawing.Height * 0.3f, System.Drawing.Color.Aqua, msg);
                }
            }


            if (Config.Item("qRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (Q.IsReady())
                    {
                        if (Range)
                        {
                            if (CanUseQE())
                            {
                                Render.Circle.DrawCircle(Player.Position, Qext.Range, System.Drawing.Color.Cyan, 1);
                            }
                            else
                            {
                                Render.Circle.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Cyan, 1);
                            }
                        }
                        else
                        {
                            Render.Circle.DrawCircle(Player.Position, Q2.Range, System.Drawing.Color.Orange, 1);
                        }
                    }
                }
                else
                {
                    if (Range)
                    {
                        if (CanUseQE())
                        {
                            Render.Circle.DrawCircle(Player.Position, Qext.Range, System.Drawing.Color.Cyan, 1);
                        }
                        else
                        {
                            Render.Circle.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Cyan, 1);
                        }
                    }
                    else
                    {
                        Render.Circle.DrawCircle(Player.Position, Q2.Range, System.Drawing.Color.Orange, 1);
                    }
                }
            }

            if (Config.Item("noti", true).GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(1600, TargetSelector.DamageType.Physical);

                if (t.IsValidTargetLS())
                {
                    var damageCombo = GetComboDMG(t);
                    if (damageCombo > t.Health)
                    {
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.5f, System.Drawing.Color.Red, "Combo deal  " + damageCombo + " to " + t.ChampionName);
                        drawLine(t.Position, Player.Position, 10, System.Drawing.Color.Yellow);
                    }
                }
            }
        }
Ejemplo n.º 20
0
        internal static void Game_OnUpdate(EventArgs args)
        {
            Target = TargetSelector.GetTarget(KL.Spells["Javelin"].Range, TargetSelector.DamageType.Magical);

            #region Active Modes

            if (Root.Item("usecombo2").GetValue <KeyBind>().Active)
            {
                Combo2();
            }

            if (Root.Item("usecombo").GetValue <KeyBind>().Active)
            {
                Combo();
            }

            if (Root.Item("useharass").GetValue <KeyBind>().Active)
            {
                Harass();
            }

            if (Root.Item("usefarm").GetValue <KeyBind>().Active)
            {
                Clear();
            }

            if (Root.Item("flee").GetValue <KeyBind>().Active)
            {
                Flee();
            }

            #endregion

            #region Auto Heal

            // auto heal on ally hero
            if (KL.CanUse(KL.Spells["Primalsurge"], true, "on"))
            {
                if (!Player.Spellbook.IsChanneling && !Player.IsRecalling())
                {
                    if (Root.Item("flee").GetValue <KeyBind>().Active&& KL.CatForm())
                    {
                        return;
                    }

                    foreach (
                        var hero in
                        Allies().Where(
                            h => Root.Item("xx" + h.ChampionName).GetValue <bool>() &&
                            h.IsValidTargetLS(KL.Spells["Primalsurge"].Range, false) &&
                            h.Health / h.MaxHealth * 100 <
                            Root.Item("zz" + h.ChampionName).GetValue <Slider>().Value))
                    {
                        if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None ||
                            hero.Health / hero.MaxHealth * 100 <= 20 || !KL.CatForm())
                        {
                            if (Player.Mana / Player.MaxMana * 100 < Root.Item("ndhemana").GetValue <Slider>().Value&&
                                !(hero.Health / hero.MaxHealth * 100 <= 20))
                            {
                                return;
                            }

                            if (KL.CatForm() == false)
                            {
                                KL.Spells["Primalsurge"].CastOnUnit(hero);
                            }

                            if (KL.CatForm() && Root.Item("ndhesw").GetValue <bool>() &&
                                KL.SpellTimer["Primalsurge"].IsReady() &&
                                KL.Spells["Aspect"].IsReady())
                            {
                                KL.Spells["Aspect"].Cast();
                            }
                        }
                    }
                }
            }

            #endregion
        }
Ejemplo n.º 21
0
 private void LogicR()
 {
     if (RMissile == null)
     {
         var t = TargetSelector.GetTarget(R.Range + 400, TargetSelector.DamageType.Magical);
         if (t.IsValidTargetLS())
         {
             if (R.GetDamage(t) > t.Health)
             {
                 R.Cast(t, true, true);
             }
             else if (Player.Mana > RMANA + EMANA && E.GetDamage(t) * 2 + R.GetDamage(t) > t.Health)
             {
                 R.Cast(t, true, true);
             }
             if (Player.Mana > RMANA + EMANA + QMANA + WMANA && Program.Combo)
             {
                 R.Cast(t, true, true);
             }
         }
         if (Program.LaneClear && Player.ManaPercent > Config.Item("Mana", true).GetValue <Slider>().Value&& Config.Item("farmR", true).GetValue <bool>())
         {
             var allMinions = Cache.GetMinions(Player.ServerPosition, R.Range);
             var farmPos    = R.GetCircularFarmLocation(allMinions, Rwidth);
             if (farmPos.MinionsHit >= Config.Item("LCminions", true).GetValue <Slider>().Value)
             {
                 R.Cast(farmPos.Position);
             }
         }
     }
     else
     {
         if (Program.LaneClear && Config.Item("farmR", true).GetValue <bool>())
         {
             var allMinions = Cache.GetMinions(RMissile.Position, Rwidth);
             var mobs       = Cache.GetMinions(RMissile.Position, Rwidth, MinionTeam.Neutral);
             if (mobs.Count > 0)
             {
                 if (!Config.Item("jungleR", true).GetValue <bool>())
                 {
                     R.Cast();
                 }
             }
             else if (allMinions.Count > 0)
             {
                 if (allMinions.Count < 2 || Player.ManaPercent < Config.Item("Mana", true).GetValue <Slider>().Value)
                 {
                     R.Cast();
                 }
                 else if (Player.ManaPercent < Config.Item("Mana", true).GetValue <Slider>().Value)
                 {
                     R.Cast();
                 }
             }
             else
             {
                 R.Cast();
             }
         }
         else if (!Program.None && (RMissile.Position.CountEnemiesInRange(470) == 0 || Player.Mana < EMANA + QMANA))
         {
             R.Cast();
         }
     }
 }
Ejemplo n.º 22
0
        private static void OnGameUpdate(EventArgs args)
        {
            try
            {
                if (!wasStream && Config.Item("streamMouse").GetValue <bool>())
                {
//                        SmoothMouse.start();
                    wasStream = true;
                }
                else if (!Config.Item("streamMouse").GetValue <bool>())
                {
                    wasStream = false;
                }


                Yasuo.Q.SetSkillshot(Yasuo.getNewQSpeed(), 50f, float.MaxValue, false, SkillshotType.SkillshotLine);

                if (Yasuo.startDash + 470000 / ((700 + Yasuo.Player.MoveSpeed)) < Environment.TickCount && Yasuo.isDashigPro)
                {
                    Yasuo.isDashigPro = false;
                }

                //updateSkillshots();
                //Remove the detected skillshots that have expired.
                DetectedSkillshots.RemoveAll(skillshot => !skillshot.IsActive());

                AIHeroClient target = TargetSelector.GetTarget((Yasuo.E.IsReady()) ? 1500 : 475, TargetSelector.DamageType.Physical);
                if (Orbwalker.ActiveMode.ToString() == "Combo")
                {
                    Yasuo.doCombo(target);
                }

                if (Orbwalker.ActiveMode.ToString() == "LastHit")
                {
                    Yasuo.doLastHit(target);
                    Yasuo.useQSmart(target);
                }

                if (Orbwalker.ActiveMode.ToString() == "Mixed")
                {
                    Yasuo.doLastHit(target);
                    Yasuo.useQSmart(target);
                }

                if (Orbwalker.ActiveMode.ToString() == "LaneClear")
                {
                    Yasuo.doLaneClear(target);
                }

                if (Config.Item("flee").GetValue <KeyBind>().Active)
                {
                    Yasuo.fleeToMouse();
                    Yasuo.stackQ();
                }

                if (Config.Item("harassOn").GetValue <bool>() && Orbwalker.ActiveMode.ToString() == "None")
                {
                    if (target != null)
                    {
                        Yasuo.useQSmart(target, Config.Item("harQ3Only").GetValue <bool>());
                    }
                }

                foreach (var mis in DetectedSkillshots)
                {
                    Yasuo.useWSmart(mis);

                    if (Config.Item("smartEDogue").GetValue <bool>() && !Yasuo.isSafePoint(Yasuo.Player.Position.To2D(), true).IsSafe)
                    {
                        Yasuo.useEtoSafe(mis);
                    }
                }

                if (Config.Item("smartR").GetValue <bool>() && Yasuo.R.IsReady())
                {
                    Yasuo.useRSmart();
                }

                Yasuo.processTargetedSpells();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Ejemplo n.º 23
0
        private void Offensive()
        {
            if (Botrk.IsReady() && Config.Item("Botrk").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Botrk.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("BotrkKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Physical, t.MaxHealth * 0.1) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkLS").GetValue <bool>() && Player.Health < Player.MaxHealth * 0.5 - OktwCommon.GetIncomingDamage(Player))
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkCombo").GetValue <bool>() && Program.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (GLP800.IsReady() && Config.Item("GLP800").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(GLP800.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("GLP800KS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 200 + Player.FlatMagicDamageMod * 0.35) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        GLP800.Cast(LeagueSharp.Common.Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                    if (Config.Item("GLP800Combo").GetValue <bool>() && Program.Combo)
                    {
                        Program.debug("PRO");
                        GLP800.Cast(LeagueSharp.Common.Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                }
            }

            if (Protobelt.IsReady() && Config.Item("Protobelt").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Protobelt.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("ProtobeltKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.35) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Protobelt.Cast(LeagueSharp.Common.Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                    if (Config.Item("ProtobeltCombo").GetValue <bool>() && Program.Combo)
                    {
                        Program.debug("PRO");
                        Protobelt.Cast(LeagueSharp.Common.Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                }
            }

            if (Hextech.IsReady() && Config.Item("Hextech").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Hextech.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("HextechKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.4) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Hextech.Cast(t);
                    }
                    if (Config.Item("HextechCombo").GetValue <bool>() && Program.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            if (Program.Combo && FrostQueen.IsReady() && Config.Item("FrostQueen").GetValue <bool>() && Player.CountEnemiesInRange(800) > 0)
            {
                FrostQueen.Cast();
            }

            if (Cutlass.IsReady() && Config.Item("Cutlass").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Cutlass.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("CutlassKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 100) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Cutlass.Cast(t);
                    }
                    if (Config.Item("CutlassCombo").GetValue <bool>() && Program.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && Config.Item("Youmuus").GetValue <bool>() && Program.Combo)
            {
                var t = Orbwalker.GetTarget();

                if (t.IsValidTarget() && t is AIHeroClient)
                {
                    if (Config.Item("YoumuusKS").GetValue <bool>() && t.Health < Player.MaxHealth)
                    {
                        Youmuus.Cast();
                    }
                    if (Config.Item("YoumuusCombo").GetValue <bool>())
                    {
                        Youmuus.Cast();
                    }
                }
            }

            if (Config.Item("Hydra").GetValue <bool>())
            {
                if (Hydra.IsReady() && Player.CountEnemiesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Hydra2.IsReady() && Player.CountEnemiesInRange(Hydra2.Range) > 0)
                {
                    Hydra2.Cast();
                }
            }
        }
Ejemplo n.º 24
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            if (Player.HasBuff("Recall"))
            {
                return;
            }

            HaveStun = Player.HasBuff("pyromania_particle");

            SetMana();

            if (R.IsReady() && (Program.LagFree(1) || Program.LagFree(3)) && !HaveTibers)
            {
                var realRange = R.Range;

                if (flash.IsReady())
                {
                    realRange = FR.Range;
                }

                foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(realRange) && OktwCommon.ValidUlt(enemy)))
                {
                    if (enemy.IsValidTarget(R.Range))
                    {
                        int Rmode = Config.Item("UM" + enemy.ChampionName, true).GetValue <StringList>().SelectedIndex;

                        if (Rmode == 2)
                        {
                            continue;
                        }

                        var poutput  = R.GetPrediction(enemy, true);
                        var aoeCount = poutput.AoeTargetsHitCount;

                        if (Rmode == 1)
                        {
                            R.Cast(poutput.CastPosition);
                        }

                        if (Rmode == 3 && HaveStun)
                        {
                            R.Cast(poutput.CastPosition);
                        }

                        if (aoeCount >= Config.Item("rCount", true).GetValue <Slider>().Value&& Config.Item("rCount", true).GetValue <Slider>().Value > 0)
                        {
                            R.Cast(poutput.CastPosition);
                        }
                        else if (Program.Combo && HaveStun && Config.Item("autoRcombo", true).GetValue <bool>())
                        {
                            R.Cast(poutput.CastPosition);
                        }
                        else if (Config.Item("autoRks", true).GetValue <bool>())
                        {
                            var comboDmg = OktwCommon.GetKsDamage(enemy, R);

                            if (W.IsReady() && RMANA + WMANA < Player.Mana)
                            {
                                comboDmg += W.GetDamage(enemy);
                            }

                            if (Q.IsReady() && RMANA + WMANA + QMANA < Player.Mana)
                            {
                                comboDmg += Q.GetDamage(enemy);
                            }

                            if (enemy.Health < comboDmg)
                            {
                                R.Cast(poutput.CastPosition);
                            }
                        }
                    }
                    else if (HaveStun && flash.IsReady())
                    {
                        var poutputFlas   = FR.GetPrediction(enemy, true);
                        var aoeCountFlash = poutputFlas.AoeTargetsHitCount;
                        if (HaveStun && aoeCountFlash >= Config.Item("rCountFlash", true).GetValue <Slider>().Value&& Config.Item("rCountFlash", true).GetValue <Slider>().Value > 0)
                        {
                            Player.Spellbook.CastSpell(flash, poutputFlas.CastPosition);
                            R.Cast(poutputFlas.CastPosition);
                        }
                    }
                }
            }

            var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (t.IsValidTarget() && Program.LagFree(2))
            {
                if (Q.IsReady() && Config.Item("autoQ", true).GetValue <bool>())
                {
                    if (Program.Combo && RMANA + WMANA < Player.Mana)
                    {
                        Q.Cast(t);
                    }
                    else if (Program.Farm && RMANA + WMANA + QMANA < Player.Mana && Config.Item("harrasQ", true).GetValue <bool>())
                    {
                        Q.Cast(t);
                    }
                    else
                    {
                        var qDmg = OktwCommon.GetKsDamage(t, Q);
                        var wDmg = W.GetDamage(t);
                        if (qDmg > t.Health)
                        {
                            Q.Cast(t);
                        }
                        else if (qDmg + wDmg > t.Health && Player.Mana > QMANA + WMANA)
                        {
                            Q.Cast(t);
                        }
                    }
                }
                if (W.IsReady() && Config.Item("autoW", true).GetValue <bool>() && t.IsValidTarget(W.Range))
                {
                    var poutput  = W.GetPrediction(t, true);
                    var aoeCount = poutput.AoeTargetsHitCount;

                    if (Program.Combo && RMANA + WMANA < Player.Mana)
                    {
                        W.Cast(poutput.CastPosition);
                    }
                    else if (Program.Farm && RMANA + WMANA + QMANA < Player.Mana && Config.Item("harrasW", true).GetValue <bool>())
                    {
                        W.Cast(poutput.CastPosition);
                    }
                    else
                    {
                        var wDmg = OktwCommon.GetKsDamage(t, W);
                        var qDmg = Q.GetDamage(t);
                        if (wDmg > t.Health)
                        {
                            W.Cast(poutput.CastPosition);
                        }
                        else if (qDmg + wDmg > t.Health && Player.Mana > QMANA + WMANA)
                        {
                            W.Cast(poutput.CastPosition);
                        }
                    }
                }
            }
            else if (Q.IsReady() || W.IsReady())
            {
                if (Config.Item("farmQ", true).GetValue <bool>())
                {
                    if (Config.Item("supportMode", true).GetValue <bool>())
                    {
                        if (Program.LaneClear && Player.Mana > RMANA + QMANA)
                        {
                            farm();
                        }
                    }
                    else
                    {
                        if ((!HaveStun || Program.LaneClear) && Program.Farm)
                        {
                            farm();
                        }
                    }
                }
            }

            if (Program.LagFree(3))
            {
                if (!HaveStun)
                {
                    if (E.IsReady() && !Program.LaneClear && Config.Item("autoE", true).GetValue <bool>() && Player.Mana > RMANA + EMANA + QMANA + WMANA)
                    {
                        E.Cast();
                    }
                    else if (W.IsReady() && Player.InFountain())
                    {
                        W.Cast(Player.Position);
                    }
                }
                if (R.IsReady())
                {
                    if (Config.Item("tibers", true).GetValue <bool>() && HaveTibers && Tibbers != null && Tibbers.IsValid)
                    {
                        var enemy = HeroManager.Enemies.Where(x => x.IsValidTarget() && Tibbers.Distance(x.Position) < 1000 && !x.UnderTurret(true)).OrderBy(x => x.Distance(Tibbers)).FirstOrDefault();
                        if (enemy != null)
                        {
                            if (Tibbers.Distance(enemy.Position) > 200)
                            {
                                EloBuddy.Player.IssueOrder(GameObjectOrder.MovePet, enemy);
                            }
                            else
                            {
                                EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, enemy);
                            }
                        }
                        else
                        {
                            var annieTarget = Orbwalker.GetTarget() as Obj_AI_Base;
                            if (annieTarget != null)
                            {
                                if (Tibbers.Distance(annieTarget.Position) > 200)
                                {
                                    EloBuddy.Player.IssueOrder(GameObjectOrder.MovePet, annieTarget);
                                }
                                else
                                {
                                    EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, annieTarget);
                                }
                            }
                            else if (Tibbers.UnderTurret(true))
                            {
                                EloBuddy.Player.IssueOrder(GameObjectOrder.MovePet, Player);
                            }
                        }
                    }
                    else
                    {
                        Tibbers = null;
                    }
                }
            }
        }
Ejemplo n.º 25
0
        private static void OnDraw(EventArgs args)
        {
            var myPos = Drawing.WorldToScreen(Player.Position);

            if (Config.Item("drawEnable").GetValue <bool>())
            {
                if (Config.Item("drawQ").GetValue <bool>())
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, Q.Range, Color.Aqua, 1);
                }

                if (Config.Item("drawW").GetValue <bool>())
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, Color.Aqua, 1);
                }
                if (Config.Item("drawE").GetValue <bool>())
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, E.Range, Color.Aqua, 1);
                }
                if (Config.Item("drawR").GetValue <bool>())
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, R.Range, Color.Aqua, 1);
                }
            }
            var            enemy     = TargetSelector.GetTarget(1500, TargetSelector.DamageType.Magical);
            List <Vector2> waypoints = enemy.GetWaypointsLS();

            for (int i = 0; i < waypoints.Count - 1; i++)
            {
                oWp = Drawing.WorldToScreen(waypoints[i].To3D());
                nWp = Drawing.WorldToScreen(waypoints[i + 1].To3D());
                if (!waypoints[i].IsOnScreen() && !waypoints[i + 1].IsOnScreen())
                {
                    continue;
                }
                //Drawing.DrawLine(oWp[0], oWp[1], nWp[0], nWp[1], 3, System.Drawing.Color.Red);


                //var pos = Player.Position + Vector3.Normalize(enemy.Position - Player.Position) * 100;
                //pos = Player.Position + Vector3.Normalize(enemy.Position - Player.Position) * Player.Distance3D(enemy);
                //var ePos = Drawing.WorldToScreen(pos);


                if (Config.Item("drawQpred").GetValue <bool>())
                {
                    Drawing.DrawLine(myPos.X - 25, myPos.Y - 25, nWp[0] - 10, nWp[1] - 25, 1, Color.Red);
                    Drawing.DrawLine(myPos.X + 25, myPos.Y + 25, nWp[0] + 10, nWp[1] + 25, 1, Color.Red);
                }

                if (Config.Item("debugFlash").GetValue <bool>())
                {
                    Q2.UpdateSourcePosition(V2E(ObjectManager.Player.Position, enemy.Position, 400).To3D());
                    var predPos = Q2.GetPrediction(enemy);
                    Render.Circle.DrawCircle(V2E(ObjectManager.Player.Position, enemy.Position, 400).To3D(), 100, Color.Aqua, 1);
                    Drawing.DrawLine(Drawing.WorldToScreen(V2E(ObjectManager.Player.Position, enemy.Position, 400).To3D()), Drawing.WorldToScreen(predPos.CastPosition), 2, Color.Aqua);
                    var toScreen = Drawing.WorldToScreen(enemy.Position);
                    Drawing.DrawText(toScreen.X + 70, toScreen.Y, Color.Aqua, predPos.Hitchance.ToString());
                }

                if (Config.Item("debugE").GetValue <bool>())
                {
                    var target2 = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
                    if (!Config.Item("EPush").GetValue <bool>())
                    {
                        Render.Circle.DrawCircle(V2E(target2.Position, Player.Position, Player.Distance(target2.Position) + 400).To3D(), 100, Color.Red, 1);
                    }
                    else
                    {
                        Render.Circle.DrawCircle(target2.Position, 100, Color.Red, 1);
                    }
                }
            }
        }
Ejemplo n.º 26
0
        private void Drawing_OnDraw(EventArgs args)
        {
            if (Config.Item("notif", true).GetValue <bool>())
            {
                if (Player.HasBuff("sivirwmarker"))
                {
                    var color    = System.Drawing.Color.Yellow;
                    var buffTime = OktwCommon.GetPassiveTime(Player, "sivirwmarker");
                    if (buffTime < 1)
                    {
                        color = System.Drawing.Color.Red;
                    }
                    drawText2("W:  " + String.Format("{0:0.0}", buffTime), Player.Position, 175, color);
                }
                if (Player.HasBuff("SivirE"))
                {
                    var color    = System.Drawing.Color.Aqua;
                    var buffTime = OktwCommon.GetPassiveTime(Player, "SivirE");
                    if (buffTime < 1)
                    {
                        color = System.Drawing.Color.Red;
                    }
                    drawText2("E:  " + String.Format("{0:0.0}", buffTime), Player.Position, 200, color);
                }
                if (Player.HasBuff("SivirR"))
                {
                    var color    = System.Drawing.Color.GreenYellow;
                    var buffTime = OktwCommon.GetPassiveTime(Player, "SivirR");
                    if (buffTime < 1)
                    {
                        color = System.Drawing.Color.Red;
                    }
                    drawText2("R:  " + String.Format("{0:0.0}", buffTime), Player.Position, 225, color);
                }
            }

            if (Config.Item("qRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (Q.IsReady())
                    {
                        Render.Circle.DrawCircle(ObjectManager.Player.Position, Q.Range, System.Drawing.Color.Cyan, 1);
                    }
                }
                else
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, Q.Range, System.Drawing.Color.Cyan, 1);
                }
            }

            if (Config.Item("noti", true).GetValue <bool>())
            {
                var target = TargetSelector.GetTarget(1500, TargetSelector.DamageType.Physical);
                if (target.IsValidTargetLS())
                {
                    if (Q.GetDamage(target) * 2 > target.Health)
                    {
                        Render.Circle.DrawCircle(target.ServerPosition, 200, System.Drawing.Color.Red);
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.4f, System.Drawing.Color.Red, "Q kill: " + target.ChampionName + " have: " + target.Health + "hp");
                    }
                }
            }
        }
Ejemplo n.º 27
0
        private void LogicW()
        {
            var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);

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

                if (Config.Item("autoWcombo", true).GetValue <bool>() && !Program.Combo)
                {
                    return;
                }

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

                if (t.HasBuff("jhinespotteddebuff") || !Config.Item("Wmark", true).GetValue <bool>())
                {
                    if (Player.Distance(t) < Config.Item("MaxRangeW", true).GetValue <Slider>().Value)
                    {
                        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.Mana > RMANA + WMANA + QMANA + WMANA && OktwCommon.CanHarras())
                        {
                            Program.CastSpell(W, t);
                        }
                    }
                }

                if (!Program.None && Player.Mana > RMANA + WMANA)
                {
                    if (Config.Item("Waoe", true).GetValue <bool>())
                    {
                        W.CastIfWillHit(t, 2);
                    }

                    if (Config.Item("autoWcc", true).GetValue <bool>())
                    {
                        foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && !OktwCommon.CanMove(enemy)))
                        {
                            Program.CastSpell(W, enemy);
                        }
                    }
                    if (Config.Item("Wmarkall", true).GetValue <bool>())
                    {
                        foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(W.Range) && enemy.HasBuff("jhinespotteddebuff")))
                        {
                            Program.CastSpell(W, enemy);
                        }
                    }
                }
            }
            if (Program.LaneClear && Player.ManaPercent > Config.Item("Mana", true).GetValue <Slider>().Value&& Config.Item("farmW", true).GetValue <bool>() && Player.Mana > RMANA + WMANA)
            {
                var minionList   = Cache.GetMinions(Player.ServerPosition, W.Range);
                var farmPosition = W.GetLineFarmLocation(minionList, W.Width);

                if (farmPosition.MinionsHit >= Config.Item("LCminions", true).GetValue <Slider>().Value)
                {
                    W.Cast(farmPosition.Position);
                }
            }
        }
Ejemplo n.º 28
0
        protected override void AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            var myRange = Orbwalking.GetRealAutoAttackRange(null);

            if (unit != Player)
            {
                return;
            }
            var possibleHeroTarget = TargetSelector.GetTarget(myRange,
                                                              TargetSelector.DamageType.Physical);

            if (target is Obj_AI_Minion && target.Health > Player.GetAutoAttackDamage((Obj_AI_Minion)target) && possibleHeroTarget != null)
            {
                Orbwalker.ForceTarget(possibleHeroTarget);
                return;
            }

            if (Q.IsReady() && Player.CountEnemiesInRange(1400) == 0 && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && !Orbwalker.ShouldWait() && Player.ManaPercent > 70 && LaneClearMenu.Item("QFarm").GetValue <bool>() && MinionManager.GetMinions(Game.CursorPos, myRange).Any())
            {
                if (Game.CursorPos.UnderTurret(Player.Team == GameObjectTeam.Order
                                  ? GameObjectTeam.Chaos
                                  : GameObjectTeam.Order) && !Player.UnderTurret(true))
                {
                    return;
                }
                Q.Cast(Game.CursorPos);
            }

            var AArange = myRange + 15;

            if (target == null)
            {
                return;
            }
            var tg         = (Obj_AI_Hero)target;
            var realTarget = Utils.TargetSelector.GetTarget(AArange, TargetSelector.DamageType.Physical);

            if (target is Obj_AI_Hero && tg != realTarget && realTarget.IsValidTarget(AArange))
            {
                Orbwalker.ForceTarget(realTarget);
            }



            if (E.IsReady() && tg.VayneWStacks() == 2 && tg.Health < Player.GetSpellDamage(tg, SpellSlot.W))
            {
                E.Cast(tg);
            }

            if (!Q.IsReady())
            {
                if (_tumbleToKillSecondMinion)
                {
                    _tumbleToKillSecondMinion = false;
                }
                return;
            }

            if (Player.ManaPercent > 70 && target is Obj_AI_Hero && unit.IsMe && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                var t = (Obj_AI_Hero)target;
                if (Player.CountAlliesInRange(1000) >= Player.CountEnemiesInRange(1000) && t.Distance(Player) < 850)
                {
                    if (t.IsKillable())
                    {
                        Orbwalker.ForceTarget(t);
                    }
                    if (Player.CountEnemiesInRange(1000) <= Player.CountAlliesInRange(1000) &&
                        Player.CountEnemiesInRange(1000) <= 2 && Player.CountEnemiesInRange(1000) != 0)
                    {
                        var tumblePos = Player.ServerPosition.Extend(t.ServerPosition,
                                                                     Player.Distance(t.ServerPosition) - myRange + 15);
                        if (tumblePos.UnderTurret(Player.Team == GameObjectTeam.Order
                                ? GameObjectTeam.Chaos
                                : GameObjectTeam.Order) && !Player.UnderTurret(true))
                        {
                            return;
                        }
                        if (!tumblePos.IsShroom() && t.Distance(Player) > myRange && t.CountEnemiesInRange(myRange) == 0 &&
                            Player.Level >= t.Level)
                        {
                            if (tumblePos.CountEnemiesInRange(300) < 2 && Q.IsReady())
                            {
                                Q.Cast(tumblePos);
                            }
                            Orbwalker.ForceTarget(t);
                        }
                    }
                }
            }

            if (ComboMenu.Item("QChecks").GetValue <bool>() && Game.CursorPos.IsShroom())
            {
                return;
            }

            if (HasUltiBuff() && ComboMenu.Item("QUltSpam").GetValue <bool>())
            {
                Q.Cast(Game.CursorPos);
            }
            if (LaneClearMenu.Item("QFarm").GetValue <bool>() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear &&
                _tumbleToKillSecondMinion && MinionManager.GetMinions(Game.CursorPos, myRange).Any(m => m.IsValidTarget()) && Q.IsReady())
            {
                if (Game.CursorPos.UnderTurret(Player.Team == GameObjectTeam.Order
                               ? GameObjectTeam.Chaos
                               : GameObjectTeam.Order) && !Player.UnderTurret(true))
                {
                    return;
                }
                Q.Cast(Game.CursorPos);
                _tumbleToKillSecondMinion = false;
                return;
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear ||
                Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
                if (ComboMenu.Item("QHarass").GetValue <bool>() && Game.CursorPos.Distance(target.Position) < myRange && Q.IsReady() && Player.CountEnemiesInRange(1000) <= 2 && Player.Level < 11)
                {
                    var pos = Player.Position.Extend(Game.CursorPos,
                                                     Player.Distance(target.Position) - myRange + 15);
                    if (
                        pos.UnderTurret(Player.Team == GameObjectTeam.Order
                            ? GameObjectTeam.Chaos
                            : GameObjectTeam.Order) && !Player.UnderTurret(true))
                    {
                        return;
                    }
                    Q.Cast(pos);
                }
            }

            if (!ComboMenu.Item("QCombo").GetValue <bool>())
            {
                return;
            }
            if (Player.ManaPercent > 25)
            {
                if (unit.IsMe &&
                    Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && !HasUltiBuff() && Q.IsReady())
                {
                    Q.Cast(Game.CursorPos);
                }
            }
            if (Player.CountEnemiesInRange(1000) > 0 || Player.ManaPercent < 70)
            {
                _tumbleToKillSecondMinion = false;
            }
        }
Ejemplo n.º 29
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (Program.LagFree(0))
            {
                SetMana();
            }
            if (R.IsReady() && Config.Item("Rjungle", true).GetValue <bool>())
            {
                KsJungle();
            }
            else
            {
                DragonTime = 0;
            }

            if (E.IsReady())
            {
                if (Program.LagFree(0))
                {
                    LogicE();
                }

                if (Config.Item("smartE", true).GetValue <KeyBind>().Active)
                {
                    Esmart = true;
                }
                if (Config.Item("smartEW", true).GetValue <KeyBind>().Active&& W.IsReady())
                {
                    CursorPosition = Game.CursorPos;
                    W.Cast(CursorPosition);
                }
                if (Esmart && Player.Position.Extend(Game.CursorPos, E.Range).CountEnemiesInRange(500) < 4)
                {
                    E.Cast(Player.Position.Extend(Game.CursorPos, E.Range), true);
                }

                if (!CursorPosition.IsZero)
                {
                    E.Cast(Player.Position.Extend(CursorPosition, E.Range), true);
                }
            }
            else
            {
                CursorPosition = Vector3.Zero;
                Esmart         = false;
            }

            if (Q.IsReady())
            {
                LogicQ();
            }

            if (Program.LagFree(3) && W.IsReady() && Config.Item("autoW", true).GetValue <bool>())
            {
                LogicW();
            }

            if (R.IsReady())
            {
                if (Config.Item("useR", true).GetValue <KeyBind>().Active)
                {
                    var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical);
                    if (t.IsValidTargetLS())
                    {
                        R.Cast(t, true, true);
                    }
                }

                if (Program.LagFree(4))
                {
                    LogicR();
                }
            }
        }
Ejemplo n.º 30
0
        private void Drawing_OnDraw(EventArgs args)
        {
            if (Config.Item("qRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (Q.IsReady())
                    {
                        Render.Circle.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Cyan, 1);
                    }
                }
                else
                {
                    Render.Circle.DrawCircle(Player.Position, Q.Range, System.Drawing.Color.Cyan, 1);
                }
            }
            if (Config.Item("wRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (W.IsReady())
                    {
                        Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, System.Drawing.Color.Orange, 1);
                    }
                }
                else
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, System.Drawing.Color.Orange, 1);
                }
            }
            if (Config.Item("eRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (E.IsReady())
                    {
                        Render.Circle.DrawCircle(Player.Position, E.Range, System.Drawing.Color.Yellow, 1);
                    }
                }
                else
                {
                    Render.Circle.DrawCircle(Player.Position, E.Range, System.Drawing.Color.Yellow, 1);
                }
            }
            if (Config.Item("rRange", true).GetValue <bool>())
            {
                if (Config.Item("onlyRdy", true).GetValue <bool>())
                {
                    if (R.IsReady())
                    {
                        Render.Circle.DrawCircle(Player.Position, R.Range, System.Drawing.Color.Gray, 1);
                    }
                }
                else
                {
                    Render.Circle.DrawCircle(Player.Position, R.Range, System.Drawing.Color.Gray, 1);
                }
            }


            if (Config.Item("noti", true).GetValue <bool>())
            {
                var target = TargetSelector.GetTarget(1500, TargetSelector.DamageType.Physical);
                if (target.IsValidTargetLS())
                {
                    var poutput = Q.GetPrediction(target);
                    if ((int)poutput.Hitchance == 5)
                    {
                        Render.Circle.DrawCircle(poutput.CastPosition, 50, System.Drawing.Color.YellowGreen);
                    }
                    if (Q.GetDamage(target) > target.Health)
                    {
                        Render.Circle.DrawCircle(target.ServerPosition, 200, System.Drawing.Color.Red);
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.4f, System.Drawing.Color.Red, "Q kill: " + target.ChampionName + " have: " + target.Health + "hp");
                    }
                    else if (Q.GetDamage(target) + W.GetDamage(target) > target.Health)
                    {
                        Render.Circle.DrawCircle(target.ServerPosition, 200, System.Drawing.Color.Red);
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.4f, System.Drawing.Color.Red, "Q + W kill: " + target.ChampionName + " have: " + target.Health + "hp");
                    }
                    else if (Q.GetDamage(target) + W.GetDamage(target) + E.GetDamage(target) > target.Health)
                    {
                        Render.Circle.DrawCircle(target.ServerPosition, 200, System.Drawing.Color.Red);
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.4f, System.Drawing.Color.Red, "Q + W + E kill: " + target.ChampionName + " have: " + target.Health + "hp");
                    }
                }
            }
        }