Exemple #1
0
        private void FlashQ()
        {
            Player.IssueOrder(OrderType.MoveTo, Game.CursorPos);
            if (Q.Ready)
            {
                if (Flash.Ready && Flash != null)
                {
                    if (!Player.HasBuff("ViQ"))
                    {
                        var qtarget = TargetSelector.GetTarget(Q.ChargedMaxRange + 500);

                        if (qtarget != null)
                        {
                            Q2.StartCharging(Game.CursorPos);
                        }
                    }
                    if (Player.HasBuff("ViQ"))
                    {
                        var qtarget = TargetSelector.GetTarget(Q2.Range);
                        var pred    = Q2.GetPrediction(qtarget);
                        if (qtarget != null)
                        {
                            if (qtarget.IsValidTarget(Q2.Range))
                            {
                                if (Flash.Cast(qtarget.ServerPosition))
                                {
                                    Q2.Cast(pred.CastPosition);
                                }
                            }
                        }
                    }
                }
            }
        }
Exemple #2
0
        protected override void Interrupter_OnPosibleToInterrupt(Obj_AI_Hero unit, Interrupter2.InterruptableTargetEventArgs spell)
        {
            if (!menu.Item("UseInt", true).GetValue <bool>())
            {
                return;
            }

            if (unit != null && Player.Distance(unit) < Q2.Range + unit.BoundingRadius && _hamQcd == 0 && _hamEcd == 0)
            {
                if (!_hammerTime && R.IsReady())
                {
                    R.Cast();
                }

                if (Q2.IsReady())
                {
                    Q2.Cast(unit, packets());
                }
            }

            if (unit != null && (Player.Distance(unit) < E2.Range + unit.BoundingRadius && _hamEcd == 0))
            {
                if (!_hammerTime && R.IsReady())
                {
                    R.Cast();
                }

                if (E2.IsReady())
                {
                    E2.Cast(unit, packets());
                }
            }
        }
Exemple #3
0
        public static void Execute()
        {
            var target = TargetSelector.GetTarget(Q2.Range, DamageType.Mixed);

            if (target == null)
            {
                return;
            }

            var targetW  = TargetSelector.GetTarget(Player.Instance.BoundingRadius + 175, DamageType.Physical);
            var targetQ2 = TargetSelector.GetTarget(850, DamageType.Magical);
            var predq2   = Q2.GetPrediction(targetQ2).HitChance >= Hitch.hitchance(Q2, FirstMenu);
            var targetE  = TargetSelector.GetTarget(550, DamageType.Physical);
            var targetE2 = TargetSelector.GetTarget(E2.Range, DamageType.Physical);

            if (HarassMenu.GetCheckBoxValue("qUse") && Q.IsReady() && targetE.IsValidTarget(100))
            {
                Q.Cast();
            }

            if (HarassMenu.GetCheckBoxValue("eUse") && E.IsReady())
            {
                E.Cast(targetE);
            }

            if (HarassMenu.GetCheckBoxValue("q2Use") && Q2.IsReady() && predq2)
            {
                var predQ2 = SpellsManager.Q2.GetPrediction(targetQ2);
                Q2.Cast(predQ2.CastPosition);
            }
        }
Exemple #4
0
 private void Killsteal()
 {
     if (R.Ready && Menu["killsteal"]["user"].Enabled)
     {
         var besttarget = GetBestKillableHero(R, DamageType.Magical, false);
         if (besttarget != null && Player.GetSpellDamage(besttarget, SpellSlot.R) >= besttarget.Health && besttarget.IsValidTarget(R.Range))
         {
             R.Cast(besttarget);
         }
     }
     if (Q.Ready && Menu["killsteal"]["useq"].Enabled)
     {
         var besttarget = GetBestKillableHero(Q, DamageType.Physical, false);
         if (besttarget != null && Player.GetSpellDamage(besttarget, SpellSlot.Q) >= besttarget.Health && besttarget.IsValidTarget(Q2.Range))
         {
             Q2.Cast(besttarget);
         }
     }
     if (E.Ready && Menu["killsteal"]["usee"].Enabled)
     {
         var besttarget = GetBestKillableHero(E, DamageType.Physical, false);
         if (besttarget != null && Player.GetSpellDamage(besttarget, SpellSlot.E) >= besttarget.Health && besttarget.IsValidTarget(E.Range))
         {
             E.Cast(besttarget);
         }
     }
     if (Menu["killsteal"]["ignite"].Enabled && Ignite != null)
     {
         var besttarget = GetBestKillableHero(Ignite, DamageType.True, false);
         if (besttarget != null && IgniteDamages - 100 >= besttarget.Health && besttarget.IsValidTarget(Ignite.Range))
         {
             Ignite.CastOnUnit(besttarget);
         }
     }
 }
Exemple #5
0
        private static void LastHit()
        {
            foreach (Obj_AI_Base minion in LeagueSharp.Common.MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q3.Range, LeagueSharp.Common.MinionTypes.All, LeagueSharp.Common.MinionTeam.Enemy).OrderByDescending(m => m.Health))
            {
                if (minion != null)
                {
                    if (!minion.IsDead && minion != null && getCheckBoxItem(lhMenu, "Q") && Q.IsReady() && minion.LSIsValidTarget(500) && !haveQ3 && Q.IsInRange(minion) && !IsDashing)
                    {
                        if (minion.Health <= GetQDmg(minion))
                        {
                            Q.Cast(minion);
                        }
                    }
                    if (!minion.IsDead && minion != null && getCheckBoxItem(lhMenu, "Q3") && Q.IsReady() && minion.LSIsValidTarget(1100) && haveQ3 && Q3.IsInRange(minion) && !IsDashing)
                    {
                        if (minion.Health <= GetQDmg(minion))
                        {
                            Q2.Cast(minion);
                        }
                    }

                    if (getCheckBoxItem(lhMenu, "E") && E.IsReady() && minion.LSIsValidTarget(475))
                    {
                        if (!UnderTower(PosAfterE(minion)) && CanCastE(minion))
                        {
                            if (minion.Health <= GetEDmg(minion) && !isDangerous(minion, 600))
                            {
                                E.CastOnUnit(minion);
                            }
                        }
                    }
                }
            }
        }
Exemple #6
0
        private void Jungle()
        {
            if (Program.LaneClear && Player.Mana > RMANA + WMANA + WMANA)
            {
                var mobs = Cache.GetMinions(Player.ServerPosition, 700, MinionTeam.Neutral);
                if (mobs.Count > 0)
                {
                    var mob = mobs[0];
                    if (Range)
                    {
                        if (Q.IsReady() && Config.Item("jungleQ", true).GetValue <bool>())
                        {
                            Q.Cast(mob.ServerPosition);
                            return;
                        }
                        if (W.IsReady() && Config.Item("jungleE", true).GetValue <bool>())
                        {
                            if (SebbyLib.Orbwalking.InAutoAttackRange(mob))
                            {
                                W.Cast();
                            }
                            return;
                        }
                        if (Config.Item("jungleR", true).GetValue <bool>())
                        {
                            R.Cast();
                        }
                    }
                    else
                    {
                        if (Q2.IsReady() && Config.Item("jungleQm", true).GetValue <bool>() && mob.IsValidTarget(Q2.Range))
                        {
                            Q2.Cast(mob);
                            return;
                        }

                        if (W2.IsReady() && Config.Item("jungleWm", true).GetValue <bool>())
                        {
                            if (mob.IsValidTarget(300))
                            {
                                W.Cast();
                            }
                            return;
                        }
                        if (E2.IsReady() && Config.Item("jungleEm", true).GetValue <bool>() && mob.IsValidTarget(E2.Range))
                        {
                            if (mob.IsValidTarget(E2.Range))
                            {
                                E2.Cast(mob);
                            }
                            return;
                        }
                        if (Config.Item("jungleR", true).GetValue <bool>())
                        {
                            R.Cast();
                        }
                    }
                }
            }
        }
Exemple #7
0
        public override void Execute()
        {
            if (EventManager.QBarrel != null && Q.IsReady())
            {
                var escapeQ =
                    EntityManager.Heroes.Enemies.Any(
                        x =>
                        x.Distance(EventManager.QBarrel.Position) > Q.Width - 75 &&
                        x.Distance(EventManager.QBarrel.Position) < Q.Width &&
                        !x.IsFacing(EventManager.QBarrel.Position.To2D()));

                var ksQ =
                    EntityManager.Heroes.Enemies.Any(
                        x => x.Distance(EventManager.QBarrel.Position) < Q.Width && Q.GetRealDamage(x) > x.Health);

                //Chat.Print(enemies.First().Distance(ModeManager.QBarrel.Position));
                //Chat.Print(Q.Width);

                if ((escapeQ && Settings.Misc.AutoQ2Enemy) || (ksQ && Settings.KillSteal.UseQ))
                {
                    Q2.Cast();
                }
            }
            foreach (var enemy in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(R.Range + R.Width)))
            {
                if (E.IsReady() && Settings.KillSteal.UseE && E.GetRealDamage(enemy) > enemy.Health)
                {
                    CastE(enemy);
                }
                else if (R.IsReady() && Settings.KillSteal.UseR && R.GetRealDamage(enemy) > enemy.Health)
                {
                    R.Cast(enemy);
                }
            }
        }
Exemple #8
0
        private void CastQe(Obj_AI_Hero target, string source)
        {
            if (target == null)
            {
                return;
            }

            if (W.IsReady())
            {
                var wVec = Player.ServerPosition + Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * W.Range;

                var qPred = xSaliceResurrected_Rework.Prediction.CommonPredEx.GetP(wVec, Q, target, W.Delay + Q.Delay, true);

                if ((Q.IsReady() || QSpell.State == SpellState.Surpressed) && (E.IsReady() || ESpell.State == SpellState.Surpressed) &&
                    Player.Distance(target.Position) < Q.Range - 75 && qPred.Hitchance >= HitChance.VeryHigh)
                {
                    var vec        = target.ServerPosition - Player.ServerPosition;
                    var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;

                    W.Cast(wVec);
                    Utility.DelayAction.Add((int)W.Delay + 100, () => Q2.Cast(castBehind));
                    Utility.DelayAction.Add((int)(W.Delay + Q.Delay) + 100, () => E.Cast(castBehind));
                }
            }
        }
Exemple #9
0
        private void OnHarass()
        {
            bool useQ = Menu["harass"]["useq"].Enabled;

            if (Q.Ready && useQ && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "YasuoQW" && !Player.IsDashing())
            {
                var qtarget = GetBestEnemyHeroTargetInRange(Q.Range);
                if (qtarget.IsValidTarget(Q.Range) && qtarget != null)
                {
                    Q.Cast(qtarget);
                }
            }
            if (Q.Ready && useQ && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "YasuoQ2W" && !Player.IsDashing())
            {
                var qtarget = GetBestEnemyHeroTargetInRange(Q2.Range);
                if (qtarget.IsValidTarget(Q2.Range) && qtarget != null)
                {
                    Q2.Cast(qtarget);
                }
            }

            bool useQ2 = Menu["harass"]["useq2"].Enabled;

            if (Q.Ready && useQ2 && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "YasuoQ3W" && !Player.IsDashing())
            {
                var qtarget = GetBestEnemyHeroTargetInRange(Q3.Range);
                if (qtarget.IsValidTarget(Q3.Range) && qtarget != null)
                {
                    Q3.Cast(qtarget);
                }
            }
        }
Exemple #10
0
        private static void KillSteal()
        {
            if (ksMenu["useQ"].Cast <CheckBox>().CurrentValue&& Q.IsReady())
            {
                var target = Q.GetTarget();
                if (target != null && target.Health < Qdamage(target))
                {
                    Q2.Cast(target);
                    return;
                }
            }

            if (ksMenu["useE"].Cast <CheckBox>().CurrentValue&& E.IsReady())
            {
                var target = E.GetTarget();
                if (target != null && target.Health < Edamage(target))
                {
                    E.CastMinimumHitchance(target, HitChance.Medium);
                    return;
                }
            }

            if (ksMenu["useR"].Cast <CheckBox>().CurrentValue&& E.IsReady())
            {
                var target = R.GetTarget();
                if (target != null && target.Health < Rdamage(target))
                {
                    R.Cast();
                    return;
                }
            }
        }
Exemple #11
0
        public override void KillSteal()
        {
            if (Orbwalker.IsAutoAttacking || user.Spellbook.IsCastingSpell || user.Spellbook.IsCharging || user.Spellbook.IsChanneling)
            {
                return;
            }

            if (Q2.IsReady() && Config.useQks)
            {
                var qtarget = Q2.GetKillStealTarget(SpellManager.QDamage(null), DamageType.Physical);
                if (qtarget != null && !qtarget.HasBuff("PoppyWZone") && !SkillshotDetector.SkillshotsDetected.Any(s => s.WillHit(Q2.GetPrediction(qtarget).CastPosition.To2D())))
                {
                    if (!useQ(false, Config.useQShortVital, Config.useQLongvital, false, qtarget))
                    {
                        Q2.Cast(qtarget);
                    }
                }
            }

            if (W.IsReady() && Config.useWks)
            {
                var wtarget = W.GetKillStealTarget(SpellManager.WDamage(null), DamageType.Magical);
                if (wtarget != null)
                {
                    W.Cast(wtarget, 75);
                }
            }
        }
Exemple #12
0
        private static void HarassLogic()
        {
            var target = TargetSelector.GetTarget(W.Range, DamageType.Mixed);
            var inputW = W.GetPrediction(target);

            if (mainMenu["Harass"].GetValue <MenuSlider>("mana%").Value <= GameObjects.Player.ManaPercent && !Ismelee())
            {
                var targetQ2  = Q2.GetTarget();
                var targetQ3  = Q3.GetTarget();
                var PlayerPos = GameObjects.Player.Position;

                var inputQ2 = Q2.GetPrediction(targetQ2);
                var inputQ3 = Q3.GetPrediction(targetQ2);


                if (mainMenu["Harass"].GetValue <MenuBool>("Q3use").Enabled&& Q.IsReady() && targetQ3.IsValidTarget() && inputQ3.Hitchance >= HitChance.VeryHigh && E2.IsReady())
                {
                    Q3.Cast(inputQ3.CastPosition);
                    E2.Cast(PlayerPos);
                }

                if (mainMenu["Harass"].GetValue <MenuBool>("Q2use").Enabled&& Q.IsReady() && targetQ2.IsValidTarget() && inputQ2.Hitchance >= HitChance.VeryHigh)
                {
                    Q2.Cast(inputQ2.CastPosition);
                }
            }
        }
Exemple #13
0
        private static void ComboLogic()
        {
            var targetQ2  = Q2.GetTarget();
            var targetQ3  = Q3.GetTarget();
            var targetQ4  = Q4.GetTarget();
            var PlayerPos = GameObjects.Player.Position;

            var inputQ2 = Q2.GetPrediction(targetQ2);
            var inputQ3 = Q3.GetPrediction(targetQ3);
            var inputQ4 = Q4.GetPrediction(targetQ4);

            if (mainMenu["Combo"].GetValue <MenuBool>("Q2use").Enabled&& Q.IsReady() && !E2.IsReady() && targetQ2.IsValidTarget() && inputQ2.Hitchance >= HitChance.VeryHigh)
            {
                Q2.Cast(inputQ2.CastPosition);
            }
            if (mainMenu["Combo"].GetValue <MenuBool>("Q4use").Enabled&& Q.IsReady() && targetQ4.IsValidTarget() && inputQ4.Hitchance >= HitChance.VeryHigh && E2.IsReady())
            {
                E2.Cast(inputQ4.CastPosition);
                Q4.Cast(inputQ4.CastPosition);
            }
            if (mainMenu["Combo"].GetValue <MenuBool>("Q3use").Enabled&& Q.IsReady() && targetQ3.IsValidTarget() && inputQ3.Hitchance >= HitChance.VeryHigh && E2.IsReady())
            {
                Q3.Cast(inputQ3.CastPosition);
                E2.Cast(PlayerPos);
            }
        }
Exemple #14
0
        //c
        public static void Combo()
        {
            var Target = TargetSelector.GetTarget(Q1.Range, DamageType.Physical);

            if (Target == null)
            {
                return;
            }
            var useQ  = ModesMenu1["ComboQ"].Cast <CheckBox>().CurrentValue;
            var useQ2 = ModesMenu1["ComboQ2"].Cast <CheckBox>().CurrentValue;
            var Qp    = Q1.GetPrediction(Target);

            if (!Target.IsValid())
            {
                return;
            }
            if (Q1.IsReady() && useQ && !Target.IsInvulnerable && Q1.Name.Equals("BlindMonkQOne", StringComparison.InvariantCultureIgnoreCase))
            {
                if (Qp.HitChance >= HitChance.High)
                {
                    Q1.Cast(Qp.CastPosition);
                }
            }

            if (Q2.IsReady() && useQ2 && !Target.IsInvulnerable && Q2.Name.Equals("blindmonkqtwo", StringComparison.InvariantCultureIgnoreCase))
            {
                Q2.Cast();
            }
        }
Exemple #15
0
        private static void LogicQ()
        {
            if (Program.Combo || Program.Farm)
            {
                foreach (
                    var enemy in
                    Program.Enemies.Where(
                        enemy => enemy.IsValidTarget(Q2.Range) && enemy.HasBuff("urgotcorrosivedebuff")))
                {
                    if (W.IsReady() && (Player.Mana > WMANA + QMANA * 4 || Q.GetDamage(enemy) * 3 > enemy.Health) &&
                        getCheckBoxItem(w, "autoW"))
                    {
                        W.Cast();
                        Program.debug("W");
                    }
                    Program.debug("E");
                    Q2.Cast(enemy.ServerPosition);
                    return;
                }
            }

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

            if (Player.CountEnemiesInRange(Q.Range - 200) > 0)
            {
                t = TargetSelector.GetTarget(Q.Range - 200, DamageType.Physical);
            }

            if (t.IsValidTarget())
            {
                if (Program.Combo && Player.Mana > RMANA + QMANA)
                {
                    Program.CastSpell(Q, t);
                }
                else if (Program.Farm && Player.Mana > RMANA + EMANA + QMANA + WMANA && OktwCommon.CanHarras())
                {
                    foreach (
                        var enemy in
                        Program.Enemies.Where(
                            enemy =>
                            enemy.IsValidTarget(Q.Range) && getCheckBoxItem(harass, "harras" + t.NetworkId)))
                    {
                        Program.CastSpell(Q, enemy);
                    }
                }
                else if (OktwCommon.GetKsDamage(t, Q) * 2 > t.Health)
                {
                    Program.CastSpell(Q, t);
                }
                if (!Program.None && Player.Mana > RMANA + QMANA)
                {
                    foreach (
                        var enemy in
                        Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy)))
                    {
                        Q.Cast(enemy, true);
                    }
                }
            }
        }
Exemple #16
0
        private void OnLastHit()
        {
            foreach (var minion in GetEnemyLaneMinionsTargetsInRange(Q3.Range))
            {
                if (!minion.IsValidTarget())
                {
                    return;
                }
                if (Q.Ready)
                {
                    bool useQ  = Menu["lasthit"]["useq"].Enabled;
                    bool useQ2 = Menu["lasthit"]["useq2"].Enabled;
                    if (useQ && minion.IsValidTarget(Q.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "YasuoQW" && Player.GetSpellDamage(minion, SpellSlot.Q) >= minion.Health && !Player.IsDashing())
                    {
                        Q.Cast(minion);
                    }
                    if (useQ && minion.IsValidTarget(Q.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "YasuoQ2W" && Player.GetSpellDamage(minion, SpellSlot.Q) >= minion.Health && !Player.IsDashing())
                    {
                        Q2.Cast(minion);
                    }
                    else if (useQ2 && minion.IsValidTarget(Q3.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "YasuoQ3W" && !Player.IsDashing() && Player.GetSpellDamage(minion, SpellSlot.Q) >= minion.Health)
                    {
                        Q3.Cast(minion);
                    }
                }

                bool useE = Menu["lasthit"]["usee"].Enabled;
                if (E.Ready && useE && minion.IsValidTarget(E.Range) && Player.GetSpellDamage(minion, SpellSlot.E) >= minion.Health)
                {
                    E.Cast(minion);
                }
            }
        }
Exemple #17
0
        public static void Execute()
        {
            var target = EntityManager.MinionsAndMonsters.GetJungleMonsters().OrderByDescending(a => a.MaxHealth).FirstOrDefault(a => a.IsValidTarget(900));

            if (target == null)
            {
                return;
            }

            if (!Program.burrowed)
            {
                if (JungleClearMenu.GetCheckBoxValue("qUse") && Q.IsReady())
                {
                    Q.Cast();
                }

                if (JungleClearMenu.GetCheckBoxValue("eUse") && E.IsReady())
                {
                    E.Cast(target);
                }
            }

            else if (Program.burrowed)
            {
                if (JungleClearMenu.GetCheckBoxValue("qUse") && Q2.IsReady())
                {
                    var predQ2 = Q2.GetPrediction(target);
                    Q2.Cast(predQ2.CastPosition);
                }
            }
        }
Exemple #18
0
        private void OnHarass()
        {
            var target = GetBestEnemyHeroTargetInRange(E2.Range);

            if (!target.IsValidTarget())
            {
                return;
            }

            bool  useQ  = Menu["harass"]["useq"].Enabled;
            float manaQ = Menu["harass"]["manaq"].As <MenuSlider>().Value;

            if (Q.Ready && useQ && Player.ManaPercent() >= manaQ)
            {
                if (target.IsValidTarget(Q.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "KhazixQ")
                {
                    Q.Cast(target);
                }
                else if (target.IsValidTarget(Q2.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "KhazixQLong")
                {
                    Q2.Cast(target);
                }
            }

            bool  useW  = Menu["harass"]["usew"].Enabled;
            float manaW = Menu["harass"]["manaw"].As <MenuSlider>().Value;

            if (W.Ready && target.IsValidTarget(W.Range) && useW && Player.ManaPercent() >= manaW)
            {
                W.Cast(target);
            }
        }
Exemple #19
0
        private void Clearing()
        {
            bool useQ  = Menu["farming"]["lane"]["useq"].Enabled;
            bool useQk = Menu["farming"]["lane"]["useqk"].Enabled;

            if (useQk)
            {
                foreach (var minion in GetEnemyLaneMinionsTargetsInRange(Q.Range))
                {
                    if (Player.SpellBook.GetSpell(SpellSlot.Q).Name == "KledRiderQ")
                    {
                        if (minion.IsValidTarget(Q2.Range) && minion != null)
                        {
                            Q2.Cast(minion);
                        }
                    }
                }
            }
            if (useQ)
            {
                foreach (var minion in GetEnemyLaneMinionsTargetsInRange(Q.Range))
                {
                    if (Player.SpellBook.GetSpell(SpellSlot.Q).Name == "KledQ")
                    {
                        if (minion.IsValidTarget(Q.Range) && minion != null)
                        {
                            Q.Cast(minion);
                        }
                    }
                }
            }
        }
Exemple #20
0
        private void KillSteal()
        {
            foreach (AIHeroClient target in EntityManager.Heroes.Enemies.OrderBy(x => x.Health).Where(x => x.IsValidTarget(Qcharge.Range) && x.Health < Hero.Level * 150 && IsValidTarget(x)))
            {
                if ((QcannonDMG(target) * 1.4f) > target.Health && CD[3] == 0 && CD[5] == 0 &&
                    ((Spell.Skillshot)Qcharge).GetPrediction(target).HitChance >= HitChance.High &&
                    (!isMelee || ((isMelee && R.IsReady() && R.Cast()))))
                {
                    CastQE(target);
                    return;
                }

                if ((QcannonDMG(target)) > target.Health && CD[3] == 0 && CD[5] != 0 &&
                    ((Spell.Skillshot)Q2).GetPrediction(target).HitChance >= HitChance.High &&
                    (!isMelee || ((isMelee && R.IsReady() && R.Cast()))))
                {
                    Q2.Cast(target);
                    return;
                }

                if ((EhammerDMG(target)) > target.Health && CD[2] == 0 && E.IsInRange(target) &&
                    (isMelee || ((!isMelee && R.IsReady() && R.Cast()))))
                {
                    E.Cast(target);
                    return;
                }
            }
        }
Exemple #21
0
        private void LastHitQ()
        {
            if (!Q.IsReady())
            {
                return;
            }

            List <Obj_AI_Base> allMinionsQ = MinionManager.GetMinions(ObjectManager.Player.ServerPosition,
                                                                      Q.Range + QWidth, MinionTypes.All, MinionTeam.NotAlly);

            if (allMinionsQ.Count > 0)
            {
                foreach (var minion in allMinionsQ)
                {
                    var health = HealthPrediction.GetHealthPrediction(minion, 700);

                    var qPred = Q2.GetCircularFarmLocation(allMinionsQ);

                    if (qPred.MinionsHit == 1)
                    {
                        if (Player.GetSpellDamage(minion, SpellSlot.Q) - 15 > health)
                        {
                            Q2.Cast(minion, packets());
                        }
                    }
                    else
                    {
                        if (Player.GetSpellDamage(minion, SpellSlot.Q, 1) - 15 > health)
                        {
                            Q2.Cast(minion, packets());
                        }
                    }
                }
            }
        }
Exemple #22
0
 public override void Killsteal()
 {
     foreach (AIHeroClient target in EntityManager.Heroes.Enemies.OrderByDescending(x => x.Health)
              .Where(x => x.IsValidTarget(QE.Range) && x.Health < hero.Level * 150 && IsKillable(x)))
     {
         // QE cannon
         if (MiscMenu["jayce.killsteal.qe"].Cast <CheckBox>().CurrentValue&& (Q2dmg(target) * 1.4f) > target.Health &&
             CD[3] == 0 && CD[5] == 0 && ((Spell.Skillshot)QE).GetPrediction(target).HitChance >= HitChance.High &&
             (!isMelee || ((isMelee && R.IsReady() && R.Cast()))))
         {
             CastQE(target);
             return;
         }
         // Q cannon
         if (MiscMenu["jayce.killsteal.q2"].Cast <CheckBox>().CurrentValue&& (Q2dmg(target)) > target.Health &&
             CD[3] == 0 && CD[5] != 0 && (!isMelee || ((isMelee && R.IsReady() && R.Cast()))))
         {
             Q2.Cast(target);
             return;
         }
         // E hammer
         if (MiscMenu["jayce.killsteal.e"].Cast <CheckBox>().CurrentValue&& (Edmg(target)) > target.Health &&
             CD[2] == 0 && E.IsInRange(target) && (isMelee || ((!isMelee && R.IsReady() && R.Cast()))))
         {
             E.Cast(target);
             return;
         }
     }
 }
Exemple #23
0
        private static void LaneClear()
        {
            if (GetMenuBool("Laneclear", "Q"))
            {
                var targetMinionEBuffed =
                    ObjectManager.Get <Obj_AI_Minion>()
                    .FirstOrDefault(
                        minion =>
                        minion.IsEnemy && minion.IsValid && minion.Distance(Me) <= Q.Range &&
                        minion.Health < Q.GetDamage(minion) && minion.HasBuff(UrgotEBuffName));

                if (!Equals(targetMinionEBuffed, null))
                {
                    Q2.Cast(targetMinionEBuffed);
                }

                var targetMinion =
                    ObjectManager.Get <Obj_AI_Minion>()
                    .FirstOrDefault(
                        minion =>
                        minion.IsEnemy && minion.IsValid && minion.Distance(Me) <= Q.Range &&
                        minion.Health < Q.GetDamage(minion));

                if (!Equals(targetMinion, null))
                {
                    Q.Cast(targetMinion);
                }
            }
        }
Exemple #24
0
 protected override void Killsteal()
 {
     if (RootMenu["killsteal"]["useQ"].Enabled)
     {
         var bestTarget = Bases.Extensions.GetBestKillableHero(Q2, DamageType.Magical, false);
         if (bestTarget != null &&
             Player.GetSpellDamage(bestTarget, SpellSlot.Q, DamageStage.SecondForm) >= bestTarget.Health &&
             bestTarget.IsValidTarget(Q2.Range))
         {
             if (Player.HasBuff("RekSaiW"))
             {
                 Q2.Cast(bestTarget);
             }
         }
     }
     if (RootMenu["killsteal"]["useE"].Enabled)
     {
         var bestTarget = Bases.Extensions.GetBestKillableHero(E, DamageType.Magical, false);
         if (bestTarget != null &&
             Player.GetSpellDamage(bestTarget, SpellSlot.E) >= bestTarget.Health &&
             bestTarget.IsValidTarget(E.Range))
         {
             if (Player.HasBuff("RekSaiW"))
             {
                 E.Cast(bestTarget);
             }
         }
     }
 }
Exemple #25
0
        protected override void Interrupter_OnPosibleToInterrupt(Obj_AI_Hero unit, Interrupter2.InterruptableTargetEventArgs spell)
        {
            if (!Menu.Item("UseInt", true).GetValue <bool>())
            {
                return;
            }

            if (unit != null && Player.Distance(unit.Position) < Q2.Range + unit.BoundingRadius && Q1Cd == 0 && E1Cd == 0)
            {
                if (!IsMelee && R.IsReady())
                {
                    R.Cast();
                }

                if (Q2.IsReady())
                {
                    Q2.Cast(unit);
                }
            }

            if (unit != null && Player.Distance(unit.Position) < E2.Range + unit.BoundingRadius && E1Cd == 0)
            {
                if (!IsMelee && R.IsReady())
                {
                    R.Cast();
                }

                if (E2.IsReady())
                {
                    E2.Cast(unit);
                }
            }
        }
Exemple #26
0
        static void Laneclear()
        {
            if (!(AIO_Func.getManaPercent(Player) > AIO_Menu.Champion.Laneclear.IfMana))
            {
                return;
            }

            var Minions = MinionManager.GetMinions(Q2.Range, MinionTypes.All, MinionTeam.Enemy);

            if (Minions.Count <= 0)
            {
                return;
            }

            if (AIO_Menu.Champion.Laneclear.UseQ && Q.IsReady())
            {
                var Q2t = MinionManager.GetMinions(Q2.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth).FirstOrDefault(x => x.HasBuff("urgotcorrosivedebuff"));
                if (Q2t != null)
                {
                    Q2.Cast(Q2t);
                }
                else
                {
                    var qTarget = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth).FirstOrDefault(x => AIO_Func.isKillable(x, Q, 0) && AIO_Func.PredHealth(x, Q) > 0);

                    if (qTarget != null && Q.GetPrediction(qTarget).Hitchance >= AIO_Menu.Champion.Misc.SelectedHitchance)
                    {
                        Q.Cast(qTarget);
                    }
                }
            }
        }
Exemple #27
0
        static void Harass()
        {
            if (!(AIO_Func.getManaPercent(Player) > AIO_Menu.Champion.Harass.IfMana))
            {
                return;
            }

            if (AIO_Menu.Champion.Harass.UseQ && Q.IsReady())
            {
                var Q2target = TargetSelector.GetTarget(Q2.Range, TargetSelector.DamageType.Physical);

                if (Q2target != null && Q2target.HasBuff("urgotcorrosivedebuff"))
                {
                    Q2.Cast(Q2target);
                }
                else
                {
                    var qTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

                    if (qTarget != null && Q.GetPrediction(qTarget).Hitchance >= AIO_Menu.Champion.Misc.SelectedHitchance)
                    {
                        Q.Cast(qTarget);
                    }
                }
            }
        }
Exemple #28
0
        private static void Jungle()
        {
            if (Program.LaneClear && Player.Mana > RMANA + WMANA + WMANA)
            {
                var mobs = Cache.GetMinions(Player.ServerPosition, 700, MinionTeam.Neutral);
                if (mobs.Count > 0)
                {
                    var mob = mobs[0];
                    if (Range)
                    {
                        if (Q.IsReady() && getCheckBoxItem(farmMenu, "jungleQ"))
                        {
                            Q.Cast(mob.ServerPosition);
                            return;
                        }
                        if (W.IsReady() && getCheckBoxItem(farmMenu, "jungleE"))
                        {
                            if (Orbwalking.InAutoAttackRange(mob))
                            {
                                W.Cast();
                            }
                            return;
                        }
                        if (getCheckBoxItem(farmMenu, "jungleR"))
                        {
                            R.Cast();
                        }
                    }
                    else
                    {
                        if (Q2.IsReady() && getCheckBoxItem(farmMenu, "jungleQm") && mob.LSIsValidTarget(Q2.Range))
                        {
                            Q2.Cast(mob);
                            return;
                        }

                        if (W2.IsReady() && getCheckBoxItem(farmMenu, "jungleWm"))
                        {
                            if (mob.LSIsValidTarget(300))
                            {
                                W.Cast();
                            }
                            return;
                        }
                        if (E2.IsReady() && getCheckBoxItem(farmMenu, "jungleEm") && mob.LSIsValidTarget(E2.Range))
                        {
                            if (mob.LSIsValidTarget(E2.Range))
                            {
                                E2.Cast(mob);
                            }
                            return;
                        }
                        if (getCheckBoxItem(farmMenu, "jungleR"))
                        {
                            R.Cast();
                        }
                    }
                }
            }
        }
Exemple #29
0
        private void AutoQ()
        {
            if (!Q.IsReady() || !menu.Item("Q_Auto", true).GetValue <KeyBind>().Active || Environment.TickCount - E.LastCastAttemptT < 250 + Game.Ping)
            {
                return;
            }

            if (!ThirdQ())
            {
                var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                if (!target.IsValidTarget(Q.Range))
                {
                    return;
                }

                if (menu.Item("Q_UnderTower", true).GetValue <bool>() && target.UnderTurret(true))
                {
                    return;
                }

                if (!menu.Item("predMode", true).GetValue <bool>())
                {
                    if (Player.Distance(target) < 150)
                    {
                        Q.Cast(target.ServerPosition, packets());
                    }
                    else
                    {
                        Q.Cast(target, packets());
                    }
                }
                else
                {
                    CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Physical, GetHitchance("Combo"), menu.Item("Q_UnderTower", true).GetValue <bool>());
                }
            }
            else if (ThirdQ())
            {
                var target = TargetSelector.GetTarget(Q2.Range, TargetSelector.DamageType.Physical);
                if (!target.IsValidTarget(Q2.Range))
                {
                    return;
                }

                if (!menu.Item("predMode", true).GetValue <bool>())
                {
                    if (menu.Item("Q_UnderTower", true).GetValue <bool>() && target.UnderTurret(true))
                    {
                        return;
                    }

                    Q2.Cast(target, packets());
                }
                else
                {
                    CastBasicSkillShot(Q2, Q2.Range, TargetSelector.DamageType.Physical, GetHitchance("Combo"), menu.Item("Q_UnderTower", true).GetValue <bool>());
                }
            }
        }
Exemple #30
0
        private void CastQe(AIHeroClient target, string source)
        {
            if (target == null)
            {
                return;
            }

            if (W.IsReady())
            {
                Vector3 wVec = Player.Position + Vector3.Normalize(target.Position - Player.Position) * W.Range;

                var qPred = Util.GetP(wVec, Q, target, W.Delay + Q.Delay, true);

                if ((Q.IsReady()) && (E.IsReady()) && Player.Distance(target.Position) < Q.Range - 75 && qPred.Hitchance >= Q.MinHitChance)
                {
                    var vec        = target.Position - Player.Position;
                    var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;

                    W.Cast(wVec);
                    Utility.DelayAction.Add((int)W.Delay + 100, () => Q2.Cast(castBehind));
                    Utility.DelayAction.Add((int)(W.Delay + Q.Delay) + 100, () => E.Cast(castBehind));
                }
            }

            if (source == "insec")
            {
                if (!target.IsValidTarget(R.Range))
                {
                    return;
                }
                var turret        = GameObjects.AllyTurrets.Where(t => t.Distance(target) <= t.GetRealAutoAttackRange() + 150 + 450).FirstOrDefault();
                var allys         = GameObjects.AllyHeroes.Where(a => a.DistanceToPlayer() > a.Distance(target)).OrderByDescending(a => a.Health);
                var allyHealthTop = allys.FirstOrDefault();

                if (allyHealthTop != null)
                {
                    if (turret == null)
                    {
                        R.Cast(allyHealthTop.Position);
                    }
                    else
                    {
                        var allyUnderTurret = allys.Where(a => a.UnderAllyTurret()).OrderByDescending(a => a.Health).FirstOrDefault();
                        if (allyUnderTurret != null)
                        {
                            R.Cast(allyUnderTurret.Position);
                        }
                        else
                        {
                            R.Cast(turret.Position);
                        }
                    }
                }
                else if (turret != null)
                {
                    R.Cast(turret.Position);
                }
            }
        }