Beispiel #1
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (!ObjectManager.Player.IsDead)
            {
                switch (MenuProvider.Orbwalker.ActiveMode)
                {
                case Orbwalking.OrbwalkingMode.Combo:
                {
                    if (MenuProvider.Champion.Combo.UseQ)
                    {
                        if (Q.isReadyPerfectly())
                        {
                            if (!ObjectManager.Player.IsDashing())
                            {
                                if (!ObjectManager.Player.IsWindingUp)
                                {
                                    var Target = TargetSelector.GetTargetNoCollision(Q);
                                    if (Target != null)
                                    {
                                        if (!E.isReadyPerfectly())
                                        {
                                            Q.Cast(Target);
                                        }
                                        else
                                        if (ObjectManager.Player.Mana - Q.ManaCost >= E.ManaCost)
                                        {
                                            Q.Cast(Target);
                                        }
                                    }
                                }
                            }
                        }
                    }

                    if (MenuProvider.Champion.Combo.UseE)
                    {
                        if (E.isReadyPerfectly())
                        {
                            if (HeroManager.Enemies.Any(x => x.isKillableAndValidTarget(E.GetDamage(x))))
                            {
                                E.Cast();
                            }
                        }
                    }

                    break;
                }

                case Orbwalking.OrbwalkingMode.Mixed:
                {
                    if (MenuProvider.Champion.Harass.UseQ)
                    {
                        if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Harass.IfMana))
                        {
                            if (!ObjectManager.Player.IsDashing())
                            {
                                if (!ObjectManager.Player.IsWindingUp)
                                {
                                    if (Q.isReadyPerfectly())
                                    {
                                        Q.CastOnBestTarget();
                                    }
                                }
                            }
                        }
                    }

                    break;
                }

                case Orbwalking.OrbwalkingMode.LaneClear:
                {
                    //Lane
                    if (MenuProvider.Champion.Laneclear.UseQ)
                    {
                        if (Q.isReadyPerfectly())
                        {
                            if (!ObjectManager.Player.IsDashing())
                            {
                                if (!ObjectManager.Player.IsWindingUp)
                                {
                                    if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Laneclear.IfMana))
                                    {
                                        foreach (var KillableMinion in MinionManager.GetMinions(Q.Range).Where(x => Q.GetPrediction(x).Hitchance >= Q.MinHitChance && x.isKillableAndValidTarget(Damage.GetSpellDamage(ObjectManager.Player, x, SpellSlot.Q), Q.Range)))
                                        {
                                            int killableNumber = 0;

                                            var CollisionMinions =
                                                LeagueSharp.Common.Collision.GetCollision(new List <Vector3> {
                                                    ObjectManager.Player.ServerPosition.Extend(KillableMinion.ServerPosition, Q.Range)
                                                },
                                                                                          new PredictionInput
                                                {
                                                    Unit              = ObjectManager.Player,
                                                    Delay             = Q.Delay,
                                                    Speed             = Q.Speed,
                                                    Radius            = Q.Width,
                                                    Range             = Q.Range,
                                                    CollisionObjects  = new CollisionableObjects[] { CollisionableObjects.Minions },
                                                    UseBoundingRadius = false
                                                }
                                                                                          ).OrderBy(x => x.Distance(ObjectManager.Player));

                                            foreach (Obj_AI_Minion CollisionMinion in CollisionMinions)
                                            {
                                                if (CollisionMinion.isKillableAndValidTarget(Damage.GetSpellDamage(ObjectManager.Player, CollisionMinion, SpellSlot.Q), Q.Range))
                                                {
                                                    killableNumber++;
                                                }
                                                else
                                                {
                                                    break;
                                                }
                                            }

                                            if (killableNumber >= MenuProvider.Champion.Laneclear.getSliderValue("Cast Q if Killable Minion Number >=").Value)
                                            {
                                                if (!ObjectManager.Player.IsWindingUp)
                                                {
                                                    Q.Cast(KillableMinion.ServerPosition);
                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }

                    if (MenuProvider.Champion.Laneclear.UseE)
                    {
                        if (E.isReadyPerfectly())
                        {
                            if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Laneclear.IfMana))
                            {
                                if (MinionManager.GetMinions(float.MaxValue).Count(x => x.isKillableAndValidTarget(E.GetDamage(x))) >= MenuProvider.Champion.Laneclear.getSliderValue("Cast E if Killable Minion Number >=").Value)
                                {
                                    E.Cast();
                                }
                            }
                        }
                    }

                    //Jugnle
                    if (MenuProvider.Champion.Jungleclear.UseQ)
                    {
                        if (Q.isReadyPerfectly())
                        {
                            if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                            {
                                var QTarget = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).FirstOrDefault(x => x.IsValidTarget(Q.Range) && Q.GetPrediction(x).Hitchance >= HitChance.High);

                                if (QTarget != null)
                                {
                                    Q.Cast(QTarget);
                                }
                            }
                        }
                    }

                    if (MenuProvider.Champion.Jungleclear.UseE)
                    {
                        if (E.isReadyPerfectly())
                        {
                            if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                            {
                                if (MinionManager.GetMinions(float.MaxValue, MinionTypes.All, MinionTeam.Neutral).Any(x => x.isKillableAndValidTarget(E.GetDamage(x))))
                                {
                                    E.Cast();
                                }
                            }
                        }
                    }

                    break;
                }
                }

                if (MenuProvider.Champion.Misc.UseKillsteal)
                {
                    if (E.isReadyPerfectly())
                    {
                        if (HeroManager.Enemies.Any(x => x.isKillableAndValidTarget(E.GetDamage(x))))
                        {
                            E.Cast();
                        }
                    }
                }

                if (MenuProvider.Champion.Misc.getBoolValue("Use Mobsteal (With E)"))
                {
                    if (E.isReadyPerfectly())
                    {
                        if (MinionManager.GetMinions(float.MaxValue, MinionTypes.All, MinionTeam.Neutral).Any(x => x.isKillableAndValidTarget(E.GetDamage(x))))
                        {
                            E.Cast();
                        }
                    }
                }
            }
        }
Beispiel #2
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (!ObjectManager.Player.IsDead)
            {
                if (Orbwalking.CanMove(100))
                {
                    switch (MenuProvider.Orbwalker.ActiveMode)
                    {
                    case Orbwalking.OrbwalkingMode.Combo:
                    {
                        if (MenuProvider.Champion.Combo.getBoolValue("Attack Minion For Chasing"))
                        {
                            if (MenuProvider.Orbwalker.GetTarget() == null)
                            {
                                if (!HeroManager.Enemies.Any(x => x.IsValidTarget() && Orbwalking.InAutoAttackRange(x)))
                                {
                                    var Minion = MinionManager.GetMinions(Orbwalking.GetRealAutoAttackRange(null) + 65, MinionTypes.All, MinionTeam.NotAlly).OrderBy(x => x.Distance(ObjectManager.Player)).FirstOrDefault();
                                    if (Minion != null)
                                    {
                                        Orbwalking.Orbwalk(Minion, Game.CursorPos, 0f);
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Combo.UseQ)
                        {
                            if (Q.isReadyPerfectly())
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    if (!ObjectManager.Player.IsWindingUp)
                                    {
                                        var Target = TargetSelector.GetTargetNoCollision(Q);
                                        if (Target != null)
                                        {
                                            if (ObjectManager.Player.Mana - QManaCost[Q.Level] >= 40)
                                            {
                                                Q.Cast(Target);
                                            }
                                            else
                                            {
                                                var killableTarget = HeroManager.Enemies.FirstOrDefault(x => !Orbwalking.InAutoAttackRange(x) && x.isKillableAndValidTarget(Q.GetDamage(x), TargetSelector.DamageType.Physical, Q.Range) && Q.GetPrediction(x).Hitchance >= Q.MinHitChance);
                                                if (killableTarget != null)
                                                {
                                                    Q.Cast(killableTarget);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Combo.UseE)
                        {
                            if (E.isReadyPerfectly())
                            {
                                if (HeroManager.Enemies.Any(x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.isKillableAndValidTarget(E.GetDamage(x), TargetSelector.DamageType.Physical, E.Range)))
                                {
                                    E.Cast();
                                }
                            }
                        }

                        break;
                    }

                    case Orbwalking.OrbwalkingMode.Mixed:
                    {
                        if (MenuProvider.Champion.Harass.UseQ)
                        {
                            if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Harass.IfMana))
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    if (!ObjectManager.Player.IsWindingUp)
                                    {
                                        if (Q.isReadyPerfectly())
                                        {
                                            var Target = TargetSelector.GetTargetNoCollision(Q);
                                            if (Target != null)
                                            {
                                                Q.Cast(Target);
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        break;
                    }

                    case Orbwalking.OrbwalkingMode.LaneClear:
                    {
                        //Lane
                        if (MenuProvider.Champion.Laneclear.UseQ)
                        {
                            if (Q.isReadyPerfectly())
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    if (!ObjectManager.Player.IsWindingUp)
                                    {
                                        if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Laneclear.IfMana))
                                        {
                                            foreach (var KillableMinion in MinionManager.GetMinions(Q.Range).Where(x => Q.GetPrediction(x).Hitchance >= Q.MinHitChance && x.isKillableAndValidTarget(Q.GetDamage(x), TargetSelector.DamageType.Physical, Q.Range)))
                                            {
                                                int killableNumber = 0;

                                                var CollisionMinions =
                                                    LeagueSharp.Common.Collision.GetCollision(new List <Vector3> {
                                                        ObjectManager.Player.ServerPosition.Extend(KillableMinion.ServerPosition, Q.Range)
                                                    },
                                                                                              new PredictionInput
                                                    {
                                                        Unit              = ObjectManager.Player,
                                                        Delay             = Q.Delay,
                                                        Speed             = Q.Speed,
                                                        Radius            = Q.Width,
                                                        Range             = Q.Range,
                                                        CollisionObjects  = new CollisionableObjects[] { CollisionableObjects.Minions },
                                                        UseBoundingRadius = false
                                                    }
                                                                                              ).OrderBy(x => x.Distance(ObjectManager.Player));

                                                foreach (Obj_AI_Minion CollisionMinion in CollisionMinions)
                                                {
                                                    if (CollisionMinion.isKillableAndValidTarget(Damage.GetSpellDamage(ObjectManager.Player, CollisionMinion, SpellSlot.Q), TargetSelector.DamageType.Physical, Q.Range))
                                                    {
                                                        killableNumber++;
                                                    }
                                                    else
                                                    {
                                                        break;
                                                    }
                                                }

                                                if (killableNumber >= MenuProvider.Champion.Laneclear.getSliderValue("Cast Q if Killable Minion Number >=").Value)
                                                {
                                                    if (!ObjectManager.Player.IsWindingUp)
                                                    {
                                                        Q.Cast(KillableMinion.ServerPosition);
                                                        break;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Laneclear.UseE)
                        {
                            if (E.isReadyPerfectly())
                            {
                                if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Laneclear.IfMana))
                                {
                                    if (MinionManager.GetMinions(E.Range).Count(x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.isKillableAndValidTarget(E.GetDamage(x), TargetSelector.DamageType.Physical)) >= MenuProvider.Champion.Laneclear.getSliderValue("Cast E if Killable Minion Number >=").Value)
                                    {
                                        E.Cast();
                                    }
                                }
                            }
                        }

                        //Jugnle
                        if (MenuProvider.Champion.Jungleclear.UseQ)
                        {
                            if (Q.isReadyPerfectly())
                            {
                                if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                                {
                                    var QTarget = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault(x => x.IsValidTarget(Q.Range) && Q.GetPrediction(x).Hitchance >= HitChance.High);

                                    if (QTarget != null)
                                    {
                                        Q.Cast(QTarget);
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Jungleclear.UseE)
                        {
                            if (E.isReadyPerfectly())
                            {
                                if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                                {
                                    if (MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).Any(x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.isKillableAndValidTarget(E.GetDamage(x), TargetSelector.DamageType.Physical)))
                                    {
                                        E.Cast();
                                    }
                                }
                            }
                        }

                        break;
                    }
                    }
                }

                if (MenuProvider.Champion.Misc.getBoolValue("Use Killsteal (With E)"))
                {
                    if (E.isReadyPerfectly())
                    {
                        if (HeroManager.Enemies.Any(x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.isKillableAndValidTarget(E.GetDamage(x), TargetSelector.DamageType.Physical, E.Range)))
                        {
                            E.Cast();
                        }
                    }
                }

                if (MenuProvider.Champion.Misc.getBoolValue("Use Mobsteal (With E)"))
                {
                    if (E.isReadyPerfectly())
                    {
                        if (MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).Any(x => HealthPrediction.GetHealthPrediction(x, 500) > 0 && x.isKillableAndValidTarget(E.GetDamage(x), TargetSelector.DamageType.Physical)))
                        {
                            E.Cast();
                        }
                    }
                }

                if (MenuProvider.Champion.Misc.getBoolValue("Auto Steal Siege minion & Super minion (With E)"))
                {
                    if (E.isReadyPerfectly())
                    {
                        if (MinionManager.GetMinions(E.Range).Any(x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.isKillableAndValidTarget(E.GetDamage(x), TargetSelector.DamageType.Physical) && (x.CharData.BaseSkinName.ToLower().Contains("siege") || x.CharData.BaseSkinName.ToLower().Contains("super"))))
                        {
                            E.Cast();
                        }
                    }
                }

                if (MenuProvider.Champion.Misc.getBoolValue("Auto Balista Combo (With R)"))
                {
                    if (R.isReadyPerfectly())
                    {
                        var MyBlitzcrank = HeroManager.Allies.FirstOrDefault(x => !x.IsDead && x.HasBuff("kalistacoopstrikeally") && x.ChampionName == "Blitzcrank");
                        if (MyBlitzcrank != null)
                        {
                            var GrabTarget = HeroManager.Enemies.FirstOrDefault(x => !x.IsDead && x.HasBuff("rocketgrab2"));
                            if (GrabTarget != null)
                            {
                                if (ObjectManager.Player.Distance(GrabTarget) > MyBlitzcrank.Distance(GrabTarget))
                                {
                                    R.Cast();
                                }
                            }
                        }
                    }
                }

                if (MenuProvider.Champion.Misc.getBoolValue("Auto E Harass (With E)"))
                {
                    if (E.isReadyPerfectly())
                    {
                        if (!(MenuProvider.Champion.Misc.getBoolValue("^ Don't do this in ComboMode") && MenuProvider.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo))
                        {
                            if (ObjectManager.Player.Mana - E.ManaCost >= E.ManaCost)
                            {
                                if (HeroManager.Enemies.Any(x => x.IsValidTarget(E.Range) && E.GetDamage(x) > 10))
                                {
                                    if (MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly).Any(x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.isKillableAndValidTarget(E.GetDamage(x), TargetSelector.DamageType.Physical, E.Range)))
                                    {
                                        E.Cast();
                                    }
                                }
                            }
                        }
                    }
                }

                if (MenuProvider.Champion.Misc.getBoolValue("Auto W on Dragon or Baron (With W)"))
                {
                    if (ObjectManager.Player.isManaPercentOkay(50))
                    {
                        if (!ObjectManager.Player.IsRecalling())
                        {
                            if (ObjectManager.Player.Position.CountEnemiesInRange(1500f) <= 0)
                            {
                                if (MenuProvider.Orbwalker.GetTarget() == null)
                                {
                                    if (W.isReadyPerfectly())
                                    {
                                        if (ObjectManager.Player.Distance(BaronLocation) <= W.Range)
                                        {
                                            W.Cast(BaronLocation);
                                        }
                                    }

                                    if (W.isReadyPerfectly())
                                    {
                                        if (ObjectManager.Player.Distance(DragonLocation) <= W.Range)
                                        {
                                            W.Cast(DragonLocation);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                if (MenuProvider.Champion.Misc.getKeyBindValue("Cast W on Dragon").Active)
                {
                    if (W.isReadyPerfectly())
                    {
                        if (ObjectManager.Player.Distance(DragonLocation) <= W.Range)
                        {
                            W.Cast(DragonLocation);
                        }
                    }
                }

                if (MenuProvider.Champion.Misc.getKeyBindValue("Cast W on Baron").Active)
                {
                    if (W.isReadyPerfectly())
                    {
                        if (ObjectManager.Player.Distance(BaronLocation) <= W.Range)
                        {
                            W.Cast(BaronLocation);
                        }
                    }
                }
            }
        }